@vergelijkdirect/comparison-forms 2.0.0-rc.14 → 2.0.0-rc.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/wc-forms/VdInput-BaZx7lM7.js +1 -0
- package/dist/wc-forms/VdPopover-B_0EwmOm.js +1 -0
- package/dist/wc-forms/VdRadioGroup-BAy4077M.js +1 -0
- package/dist/wc-forms/VdSearchableSelect-BYsNA8so.js +9 -0
- package/dist/wc-forms/VdSelect-DS5ijaBw.js +1 -0
- package/dist/wc-forms/bike.js +1 -1647
- package/dist/wc-forms/birthdate.schema-B2IfhcT0.js +1 -0
- package/dist/wc-forms/business-car.js +1 -109
- package/dist/wc-forms/business-liability.js +1 -71
- package/dist/wc-forms/car.js +1 -112
- package/dist/wc-forms/caravan.js +1 -144
- package/dist/wc-forms/company.schema-D_-KvPAl.js +1 -0
- package/dist/wc-forms/date.util-Dn_Fq_ZZ.js +1 -0
- package/dist/wc-forms/familyComposition.schema-BckaOvgV.js +1 -0
- package/dist/wc-forms/floating-ui.dom-CZdxKWz5.js +1 -0
- package/dist/wc-forms/house.js +1 -101
- package/dist/wc-forms/houseOwnedBuilding.model-RQzmveyS.js +1 -0
- package/dist/wc-forms/legal.js +1 -153
- package/dist/wc-forms/liability.js +1 -89
- package/dist/wc-forms/loan.js +1 -173
- package/dist/wc-forms/messages-Da6go1uu.js +1 -0
- package/dist/wc-forms/moped.js +1 -115
- package/dist/wc-forms/motor.js +1 -112
- package/dist/wc-forms/package.js +1 -119
- package/dist/wc-forms/pet.js +1 -158
- package/dist/wc-forms/rolldown-runtime-Bm1jhNxk.js +1 -0
- package/dist/wc-forms/rules-4erM_5MW.js +1 -0
- package/dist/wc-forms/services-D6FlwWWO.js +1 -0
- package/dist/wc-forms/travel.js +1 -99
- package/dist/wc-forms/useAddress-mxYJ2B9-.js +1 -0
- package/dist/wc-forms/useLicensePlate-BK5GSqI6.js +1 -0
- package/dist/wc-forms/useValidator-BXvfnDwv.js +27 -0
- package/dist/wc-forms/yesNo-Dat_jmcx.js +1 -0
- package/package.json +1 -1
- package/dist/wc-forms/VdInput-PLH7DZsc.js +0 -331
- package/dist/wc-forms/VdPopover-CcRVedXS.js +0 -285
- package/dist/wc-forms/VdRadioGroup-BsMaGEuY.js +0 -166
- package/dist/wc-forms/VdSearchableSelect-CY7qBcIO.js +0 -4516
- package/dist/wc-forms/VdSelect-BPB3Jh_f.js +0 -108
- package/dist/wc-forms/birthdate.schema-DGsq2GQR.js +0 -89
- package/dist/wc-forms/company.schema-CUG4hnMP.js +0 -239
- package/dist/wc-forms/date.util-D9xNHiuY.js +0 -474
- package/dist/wc-forms/familyComposition.schema-fY4w6P1J.js +0 -74
- package/dist/wc-forms/floating-ui.dom-B6uyM6oK.js +0 -856
- package/dist/wc-forms/houseOwnedBuilding.model-CPULUrWv.js +0 -14
- package/dist/wc-forms/messages-kbFdNTrA.js +0 -40
- package/dist/wc-forms/rolldown-runtime-Dqa2HsxW.js +0 -20
- package/dist/wc-forms/rules-Cj1sWDmF.js +0 -13
- package/dist/wc-forms/services-CG6XsnRT.js +0 -16
- package/dist/wc-forms/useAddress-LSZ7sQk9.js +0 -243
- package/dist/wc-forms/useLicensePlate-KLwykzxF.js +0 -187
- package/dist/wc-forms/useValidator-DdXn8soU.js +0 -7197
- package/dist/wc-forms/yesNo-BvJlCm7Y.js +0 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{computed,createBaseVNode,createCommentVNode,createElementBlock,createTextVNode,defineComponent,mergeModels,normalizeClass,openBlock,renderSlot,toDisplayString,unref,useId,useModel,useSlots,withDirectives,withModifiers}from"./useValidator-BXvfnDwv.js";var S=Object.defineProperty,x=(n,t,e)=>t in n?S(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,A=(n,t,e)=>x(n,typeof t==`symbol`?t:t+``,e),R={"#":{pattern:/[0-9]/},"@":{pattern:/[a-zA-Z]/},"*":{pattern:/[a-zA-Z0-9]/}},N=(n,t,e)=>n.replaceAll(t,``).replace(e,`.`).replace(`..`,`.`).replace(/[^.\d]/g,``),w=(n,t,e)=>new Intl.NumberFormat(e.number?.locale??`en`,{minimumFractionDigits:n,maximumFractionDigits:t,roundingMode:`trunc`}),P=(n,t=!0,e)=>{let s=e.number?.unsigned!==!0&&n.startsWith(`-`)?`-`:``,r=e.number?.fraction??0,a=w(0,r,e),u=a.formatToParts(1000.12),p=u.find(o=>o.type===`group`)?.value??` `,f=u.find(o=>o.type===`decimal`)?.value??`.`,i=N(n,p,f);if(Number.isNaN(parseFloat(i)))return s;let h=i.split(`.`);h[1]!=null&&h[1].length>=1&&(a=w(h[1].length<=r?h[1].length:r,r,e));let l=a.format(parseFloat(i));return t?r>0&&i.endsWith(`.`)&&!i.slice(0,-1).includes(`.`)&&(l+=f):l=N(l,p,f),s+l},C=n=>JSON.parse(n.replaceAll(`'`,`"`)),F=(n,t={})=>{let e={...t};n.dataset.maska!=null&&n.dataset.maska!==``&&(e.mask=T(n.dataset.maska)),n.dataset.maskaEager!=null&&(e.eager=E(n.dataset.maskaEager)),n.dataset.maskaReversed!=null&&(e.reversed=E(n.dataset.maskaReversed)),n.dataset.maskaTokensReplace!=null&&(e.tokensReplace=E(n.dataset.maskaTokensReplace)),n.dataset.maskaTokens!=null&&(e.tokens=W(n.dataset.maskaTokens));let s={};return n.dataset.maskaNumberLocale!=null&&(s.locale=n.dataset.maskaNumberLocale),n.dataset.maskaNumberFraction!=null&&(s.fraction=parseInt(n.dataset.maskaNumberFraction)),n.dataset.maskaNumberUnsigned!=null&&(s.unsigned=E(n.dataset.maskaNumberUnsigned)),(n.dataset.maskaNumber!=null||Object.values(s).length>0)&&(e.number=s),e},E=n=>n===``||!!JSON.parse(n),T=n=>n.startsWith(`[`)&&n.endsWith(`]`)?C(n):n,W=n=>{if(n.startsWith(`{`)&&n.endsWith(`}`))return C(n);let t={};return n.split(`|`).forEach(e=>{let s=e.split(`:`);t[s[0]]={pattern:I()?new RegExp(s[1],`u`):new RegExp(s[1]),optional:s[2]===`optional`,multiple:s[2]===`multiple`,repeated:s[2]===`repeated`}}),t},I=()=>{try{return!0}catch{return!1}},O=class{constructor(t={}){A(this,`opts`,{}),A(this,`memo`,new Map);let e={...t};if(e.tokens!=null){e.tokens=e.tokensReplace?{...e.tokens}:{...R,...e.tokens};for(let s of Object.values(e.tokens))typeof s.pattern==`string`&&(s.pattern=I()?new RegExp(s.pattern,`u`):new RegExp(s.pattern))}else e.tokens=R;Array.isArray(e.mask)&&(e.mask.length>1?e.mask=[...e.mask].sort((s,r)=>s.length-r.length):e.mask=e.mask[0]??``),e.mask===``&&(e.mask=null),this.opts=e}masked(t){return this.process(String(t),this.findMask(String(t)))}unmasked(t){return this.process(String(t),this.findMask(String(t)),!1)}isEager(){return this.opts.eager===!0}isReversed(){return this.opts.reversed===!0}completed(t){let e=this.findMask(String(t));if(this.opts.mask==null||e==null)return!1;let s=this.process(String(t),e).length;return typeof this.opts.mask==`string`?s>=this.opts.mask.length:s>=e.length}findMask(t){let e=this.opts.mask;if(e==null)return null;if(typeof e==`string`)return e;if(typeof e==`function`)return e(t);let s=this.process(t,e.slice(-1).pop()??``,!1);return e.find(r=>this.process(t,r,!1).length>=s.length)??``}escapeMask(t){let e=[],s=[];return t.split(``).forEach((r,a)=>{r===`!`&&t[a-1]!==`!`?s.push(a-s.length):e.push(r)}),{mask:e.join(``),escaped:s}}process(t,e,s=!0){if(this.opts.number!=null)return P(t,s,this.opts);if(e==null)return t;let r=`v=${t},mr=${e},m=${+!!s}`;if(this.memo.has(r))return this.memo.get(r);let{mask:a,escaped:u}=this.escapeMask(e),p=[],f=this.opts.tokens==null?{}:this.opts.tokens,i=this.isReversed()?-1:1,h=this.isReversed()?`unshift`:`push`,l=this.isReversed()?0:a.length-1,k=this.isReversed()?()=>o>-1&&c>-1:()=>o<a.length&&c<t.length,g=v=>!this.isReversed()&&v<=l||this.isReversed()&&v>=l,b,d=-1,o=this.isReversed()?a.length-1:0,c=this.isReversed()?t.length-1:0,M=!1;for(;k();){let v=a.charAt(o),m=f[v],y=m?.transform==null?t.charAt(c):m.transform(t.charAt(c));if(!u.includes(o)&&m!=null?(y.match(m.pattern)==null?m.multiple?M&&=(o+=i,c-=i,!1):y===b?b=void 0:m.optional&&(o+=i,c-=i):(p[h](y),m.repeated?(d===-1?d=o:o===l&&o!==d&&(o=d-i),l===d&&(o-=i)):m.multiple&&(M=!0,o-=i),o+=i),c+=i):(s&&!this.isEager()&&p[h](v),y===v&&!this.isEager()?c+=i:b=v,this.isEager()||(o+=i)),this.isEager())for(;g(o)&&(f[a.charAt(o)]==null||u.includes(o));){if(s){if(p[h](a.charAt(o)),t.charAt(c)===a.charAt(o)){o+=i,c+=i;continue}}else a.charAt(o)===t.charAt(c)&&(c+=i);o+=i}}return this.memo.set(r,p.join(``)),this.memo.get(r)}},V=class{constructor(t,e={}){A(this,`items`,new Map),A(this,`eventAbortController`),A(this,`onInput`,t=>{if(t instanceof CustomEvent&&t.type===`input`&&!t.isTrusted&&!t.bubbles)return;let e=t.target,s=this.items.get(e);if(s===void 0)return;let r=`inputType`in t&&t.inputType.startsWith(`delete`),a=s.isEager(),u=r&&a&&s.unmasked(e.value)===``?``:e.value;this.fixCursor(e,r,()=>this.setValue(e,u))}),this.options=e,this.eventAbortController=new AbortController,this.init(this.getInputs(t))}update(t={}){this.options={...t},this.init(Array.from(this.items.keys()))}updateValue(t){t.value!==``&&t.value!==this.processInput(t)?.masked&&this.setValue(t,t.value)}destroy(){this.eventAbortController.abort(),this.items.clear()}init(t){let e=this.getOptions(this.options);for(let s of t){if(!this.items.has(s)){let{signal:a}=this.eventAbortController;s.addEventListener(`input`,this.onInput,{capture:!0,signal:a})}let r=new O(F(s,e));this.items.set(s,r),queueMicrotask(()=>this.updateValue(s)),s.selectionStart===null&&r.isEager()&&console.warn("Maska: input of `%s` type is not supported",s.type)}}getInputs(t){return typeof t==`string`?Array.from(document.querySelectorAll(t)):`length`in t?Array.from(t):[t]}getOptions(t){let{onMaska:e,preProcess:s,postProcess:r,...a}=t;return a}fixCursor(t,e,s){let r=t.selectionStart,a=t.value;if(s(),r===null||r===a.length&&!e)return;let u=t.value,p=a.slice(0,r),f=u.slice(0,r),i=this.processInput(t,p)?.unmasked,h=this.processInput(t,f)?.unmasked;if(i===void 0||h===void 0)return;let l=r;p!==f&&(l+=e?u.length-a.length:i.length-h.length),t.setSelectionRange(l,l)}setValue(t,e){let s=this.processInput(t,e);s!==void 0&&(t.value=s.masked,this.options.onMaska!=null&&(Array.isArray(this.options.onMaska)?this.options.onMaska.forEach(r=>r(s)):this.options.onMaska(s)),t.dispatchEvent(new CustomEvent(`maska`,{detail:s})),t.dispatchEvent(new CustomEvent(`input`,{detail:s.masked})))}processInput(t,e){let s=this.items.get(t);if(s===void 0)return;let r=e??t.value;this.options.preProcess!=null&&(r=this.options.preProcess(r));let a=s.masked(r);return this.options.postProcess!=null&&(a=this.options.postProcess(a)),{masked:a,unmasked:s.unmasked(r),completed:s.completed(r)}}},l=new WeakMap,c=(e,s)=>{if(e.arg==null||e.instance==null)return;let a=`setup`in e.instance.$.type;e.arg in e.instance?e.instance[e.arg]=s:a&&console.warn("Maska: please expose `%s` using defineExpose",e.arg)},k=(e,s)=>{var u;let a=e instanceof HTMLInputElement?e:e.querySelector(`input`);if(a==null||a?.type===`file`)return;let t={};if(s.value!=null&&(t=typeof s.value==`string`?{mask:s.value}:{...s.value}),s.arg!=null){let o=r=>{c(s,s.modifiers.unmasked?r.unmasked:s.modifiers.completed?r.completed:r.masked)};t.onMaska=t.onMaska==null?o:Array.isArray(t.onMaska)?[...t.onMaska,o]:[t.onMaska,o]}l.has(a)?(u=l.get(a))==null||u.update(t):l.set(a,new V(a,t))},_hoisted_1={class:`vd-field`},_hoisted_2=[`for`],_hoisted_3={key:0,class:`vd-field__asterisk`},_hoisted_4={key:1,class:`vd-field__popover`},_hoisted_5=[`id`,`value`,`type`,`name`,`inputmode`,`placeholder`,`disabled`,`readonly`,`autocomplete`],_hoisted_6={key:0,class:`vd-field__icon-and-loader`},_hoisted_7={key:0,class:`vd-field__icon vd-field__icon--with-loader`},_hoisted_8={key:1},_hoisted_9={key:0,class:`vd-field__loader-circle`},_hoisted_10={key:0,class:`vd-field__message vd-field__message--error`},_hoisted_11={key:1,class:`vd-field__message vd-field__message--information`},VdInput_default=defineComponent({__name:`VdInput`,props:mergeModels({id:{default:null},name:{},type:{default:`text`},label:{default:``},placeholder:{default:``},errorMessage:{default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!0},verified:{type:Boolean,default:!1},mask:{default:``},autocomplete:{type:Boolean,default:!1},infoMessage:{default:``},icon:{default:``},iconLeft:{type:Boolean,default:!1},capitalize:{type:Boolean,default:!1},hasError:{type:[Boolean,null],default:null},loading:{type:Boolean,default:!1},inputmode:{default:void 0}},{modelValue:{required:!0},modelModifiers:{}}),emits:mergeModels([`blur`,`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let props=__props,model=useModel(__props,`modelValue`),emit=__emit,slots=useSlots(),inputId=props.id??useId(),normalize=value=>props.capitalize?value.toUpperCase():value,showDefaultState=computed(()=>!props.errorMessage&&!props.verified&&!props.hasError),showVerifiedState=computed(()=>!!model.value&&!props.errorMessage&&props.verified&&!props.hasError&&!props.loading),showInvalidState=computed(()=>!!props.errorMessage||!!props.hasError),showValidationErrorMessage=computed(()=>!!props.errorMessage||!!slots.errorMessage),onInput=e=>{model.value=normalize(e.target.value)},onBlur=e=>{emit(`blur`,normalize(e.target.value))},onChange=e=>{emit(`change`,normalize(e.target.value))};return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1,[createBaseVNode(`div`,{class:normalizeClass([`vd-field__label-wrapper`,{"vd-field__label-wrapper--disabled":__props.disabled}]),onClick:_cache[0]||=withModifiers(()=>{},[`prevent`])},[__props.label||unref(slots).label?(openBlock(),createElementBlock(`label`,{key:0,for:__props.name,class:`vd-field__label`},[createBaseVNode(`span`,null,[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.label),1)]),__props.required?(openBlock(),createElementBlock(`span`,_hoisted_3,`*`)):createCommentVNode(``,!0)])],8,_hoisted_2)):createCommentVNode(``,!0),unref(slots).popover?(openBlock(),createElementBlock(`span`,_hoisted_4,[renderSlot(_ctx.$slots,`popover`)])):createCommentVNode(``,!0)],2),createBaseVNode(`div`,{class:normalizeClass([`vd-field__wrapper`,{"vd-field__wrapper-checkmark":showVerifiedState.value&&!(__props.icon||unref(slots).icon)}])},[withDirectives(createBaseVNode(`input`,{id:unref(inputId),value:model.value,type:__props.type,name:__props.name,inputmode:__props.inputmode,placeholder:__props.placeholder,disabled:__props.disabled,readonly:__props.readonly,autocomplete:__props.autocomplete?`off`:`on`,class:normalizeClass([`vd-field__input`,{"vd-field__input--verified":showVerifiedState.value,"vd-field__input--default":showDefaultState.value,"vd-field__input--error":showInvalidState.value,"vd-field__input--icon-left":(__props.icon||unref(slots).icon)&&__props.iconLeft,"vd-field__input--icon-right":(__props.icon||unref(slots).icon)&&!__props.iconLeft,"vd-field__input--loading":__props.loading,"vd-field__input--loading vd-field__input--icon":__props.loading&&!__props.iconLeft&&(__props.icon||unref(slots).icon)}]),onInput,onChange,onBlur},null,42,_hoisted_5),[[unref(k),__props.mask||void 0]]),__props.loading&&__props.icon&&!__props.iconLeft?(openBlock(),createElementBlock(`div`,_hoisted_6,[_cache[1]||=createBaseVNode(`div`,{class:`vd-field__loader-circle vd-field__loader-circle--and-icon`},null,-1),__props.icon||unref(slots).icon?(openBlock(),createElementBlock(`span`,_hoisted_7,[renderSlot(_ctx.$slots,`icon`,{},()=>[createBaseVNode(`i`,{class:normalizeClass(__props.icon)},null,2)])])):createCommentVNode(``,!0)])):(openBlock(),createElementBlock(`div`,_hoisted_8,[__props.loading?(openBlock(),createElementBlock(`div`,_hoisted_9)):createCommentVNode(``,!0),__props.icon||unref(slots).icon?(openBlock(),createElementBlock(`span`,{key:1,class:normalizeClass([`vd-field__icon`,{"vd-field__icon--left":__props.iconLeft,"vd-field__icon--disabled":__props.disabled}])},[renderSlot(_ctx.$slots,`icon`,{},()=>[createBaseVNode(`i`,{class:normalizeClass(__props.icon)},null,2)])],2)):createCommentVNode(``,!0)]))],2),showValidationErrorMessage.value||unref(slots).errorMessage?(openBlock(),createElementBlock(`div`,_hoisted_10,[renderSlot(_ctx.$slots,`errorMessage`,{},()=>[_cache[2]||=createBaseVNode(`i`,{class:`fas fa-exclamation-circle vd-field__message-icon`},null,-1),createTextVNode(` `+toDisplayString(__props.errorMessage),1)])])):createCommentVNode(``,!0),__props.infoMessage||unref(slots).information?(openBlock(),createElementBlock(`div`,_hoisted_11,[renderSlot(_ctx.$slots,`information`,{},()=>[_cache[3]||=createBaseVNode(`i`,{class:`fas fa-info-circle vd-field__message-icon`},null,-1),createTextVNode(` `+toDisplayString(__props.infoMessage),1)])])):createCommentVNode(``,!0)]))}});export{VdInput_default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{computed,createBaseVNode,createBlock,createCommentVNode,createElementBlock,createVNode,defineComponent,getCurrentScope,normalizeClass,normalizeStyle,onScopeDispose,openBlock,ref,renderSlot,shallowReadonly,shallowRef,toDisplayString,toValue,unref,watch,withModifiers}from"./useValidator-BXvfnDwv.js";import{autoUpdate,computePosition,flip,getNodeName,isNode,offset,shift}from"./floating-ui.dom-CZdxKWz5.js";var _hoisted_1$2={class:`vd-popover__title`},_hoisted_2={key:0,class:`vd-popover__title-icon`},_hoisted_3={key:1},VdPopoverHeader_default=defineComponent({__name:`VdPopoverHeader`,props:{title:{default:``},icon:{default:``}},emits:[`close`],setup(__props,{emit:__emit}){let emit=__emit,closePopover=()=>{emit(`close`)};return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`vd-popover__header`,{"vd-popover__header--only-close-icon":!__props.title}])},[__props.title?renderSlot(_ctx.$slots,`default`,{key:0},()=>[createBaseVNode(`div`,_hoisted_1$2,[__props.icon?(openBlock(),createElementBlock(`div`,_hoisted_2,[createBaseVNode(`i`,{class:normalizeClass(__props.icon)},null,2)])):createCommentVNode(``,!0),__props.title?(openBlock(),createElementBlock(`span`,_hoisted_3,toDisplayString(__props.title),1)):createCommentVNode(``,!0)])]):createCommentVNode(``,!0),createBaseVNode(`button`,{class:`vd-popover__close-btn`,onClick:closePopover},[..._cache[0]||=[createBaseVNode(`i`,{class:`far fa-times vd-popover__close-btn-icon`},null,-1)]])],2))}}),_hoisted_1$1=[`innerHTML`],VdPopoverTooltip_default=defineComponent({__name:`VdPopoverTooltip`,props:{content:{default:()=>({title:``,description:``})},variant:{default:void 0},size:{default:void 0},hideHeaderTooltip:{type:Boolean,default:!1},headerIconTooltip:{default:``}},emits:[`close`],setup(__props,{emit:__emit}){let emit=__emit,closePopover=()=>{emit(`close`)};return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`vd-popover__tooltip`,[__props.size?`vd-popover__tooltip--${__props.size}`:``,__props.variant?`vd-popover__tooltip--${__props.variant}`:``]]),onPointerdown:_cache[0]||=withModifiers(()=>{},[`prevent`])},[__props.hideHeaderTooltip?createCommentVNode(``,!0):(openBlock(),createBlock(VdPopoverHeader_default,{key:0,title:__props.content.title,icon:__props.headerIconTooltip,onClose:closePopover},null,8,[`title`,`icon`])),__props.content&&__props.content.description?(openBlock(),createElementBlock(`p`,{key:1,class:`vd-popover__description`,innerHTML:__props.content.description},null,8,_hoisted_1$1)):createCommentVNode(``,!0)],34))}}),_hoisted_1={key:1},VdPopoverReference_default=defineComponent({__name:`VdPopoverReference`,props:{label:{default:``},icon:{default:`fas fa-info-circle`},variant:{default:void 0},iconLeft:{type:Boolean,default:!1}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`span`,{class:normalizeClass([`vd-popover__reference`,[__props.variant?`vd-popover__reference--${__props.variant}`:``]])},[__props.iconLeft?(openBlock(),createElementBlock(`i`,{key:0,class:normalizeClass(__props.icon)},null,2)):createCommentVNode(``,!0),__props.label?(openBlock(),createElementBlock(`span`,_hoisted_1,toDisplayString(__props.label),1)):createCommentVNode(``,!0),__props.iconLeft?createCommentVNode(``,!0):(openBlock(),createElementBlock(`i`,{key:2,class:normalizeClass(__props.icon)},null,2))],2))}});function isComponentPublicInstance(target){return typeof target==`object`&&!!target&&`$el`in target}function unwrapElement(target){if(isComponentPublicInstance(target)){let element=target.$el;return isNode(element)&&getNodeName(element)===`#comment`?null:element}return target}function getDPR(element){return typeof window>`u`?1:(element.ownerDocument.defaultView||window).devicePixelRatio||1}function roundByDPR(element,value){let dpr=getDPR(element);return Math.round(value*dpr)/dpr}function useFloating(reference,floating,options){options===void 0&&(options={});let whileElementsMountedOption=options.whileElementsMounted,openOption=computed(()=>toValue(options.open)??!0),middlewareOption=computed(()=>toValue(options.middleware)),placementOption=computed(()=>toValue(options.placement)??`bottom`),strategyOption=computed(()=>toValue(options.strategy)??`absolute`),transformOption=computed(()=>toValue(options.transform)??!0),referenceElement=computed(()=>unwrapElement(reference.value)),floatingElement=computed(()=>unwrapElement(floating.value)),x=ref(0),y=ref(0),strategy=ref(strategyOption.value),placement=ref(placementOption.value),middlewareData=shallowRef({}),isPositioned=ref(!1),floatingStyles=computed(()=>{let initialStyles={position:strategy.value,left:`0`,top:`0`};if(!floatingElement.value)return initialStyles;let xVal=roundByDPR(floatingElement.value,x.value),yVal=roundByDPR(floatingElement.value,y.value);return transformOption.value?{...initialStyles,transform:`translate(`+xVal+`px, `+yVal+`px)`,...getDPR(floatingElement.value)>=1.5&&{willChange:`transform`}}:{position:strategy.value,left:xVal+`px`,top:yVal+`px`}}),whileElementsMountedCleanup;function update(){if(referenceElement.value==null||floatingElement.value==null)return;let open=openOption.value;computePosition(referenceElement.value,floatingElement.value,{middleware:middlewareOption.value,placement:placementOption.value,strategy:strategyOption.value}).then(position=>{x.value=position.x,y.value=position.y,strategy.value=position.strategy,placement.value=position.placement,middlewareData.value=position.middlewareData,isPositioned.value=open!==!1})}function cleanup(){typeof whileElementsMountedCleanup==`function`&&(whileElementsMountedCleanup(),whileElementsMountedCleanup=void 0)}function attach(){if(cleanup(),whileElementsMountedOption===void 0){update();return}if(referenceElement.value!=null&&floatingElement.value!=null){whileElementsMountedCleanup=whileElementsMountedOption(referenceElement.value,floatingElement.value,update);return}}function reset(){openOption.value||(isPositioned.value=!1)}return watch([middlewareOption,placementOption,strategyOption,openOption],update,{flush:`sync`}),watch([referenceElement,floatingElement],attach,{flush:`sync`}),watch(openOption,reset,{flush:`sync`}),getCurrentScope()&&onScopeDispose(cleanup),{x:shallowReadonly(x),y:shallowReadonly(y),strategy:shallowReadonly(strategy),placement:shallowReadonly(placement),middlewareData:shallowReadonly(middlewareData),isPositioned:shallowReadonly(isPositioned),floatingStyles,update}}var VdPopover_default=defineComponent({__name:`VdPopover`,props:{label:{default:``},iconRef:{default:`fas fa-info-circle`},refVariant:{default:void 0},iconLeftRef:{type:Boolean,default:!1},offSet:{default:8},content:{default:()=>({title:``,description:``})},tooltipVariant:{default:void 0},tooltipSize:{default:void 0},hideHeaderTooltip:{type:Boolean,default:!1},headerIconTooltip:{default:`fas fa-info-circle`},fixed:{type:Boolean,default:!1},display:{default:`inline-block`},position:{default:`top-start`},disableHoverListener:{type:Boolean,default:!1},disableClickListener:{type:Boolean,default:!1},mousedownListener:{type:Boolean,default:!1},fullWidth:{type:Boolean,default:!1}},setup(__props){let props=__props,reference=ref(null),floating=ref(null),{floatingStyles}=useFloating(reference,floating,{placement:props.position,middleware:[offset(props.offSet),flip({mainAxis:!props.fixed}),shift({crossAxis:!1,padding:10})],whileElementsMounted:autoUpdate}),showPopover=ref(!1),showOnClick=ref(!1),show=()=>{showPopover.value=!0,showOnClick.value=!0},close=()=>{showPopover.value=!1,showOnClick.value=!1},toggleOnClick=()=>{props.disableClickListener||props.mousedownListener||(showOnClick.value?close():show())},onMousedown=()=>{props.mousedownListener&&(showPopover.value?close():show())},onHover=()=>{props.disableHoverListener||(showPopover.value=!0)},onLeave=()=>{props.disableHoverListener||showOnClick.value||(showPopover.value=!1)};return(_ctx,_cache)=>(openBlock(),createElementBlock(`span`,{class:normalizeClass([`vd-popover`,`vd-popover--${__props.display}`])},[createBaseVNode(`span`,{ref_key:`reference`,ref:reference,class:`vd-popover__reference-wrapper`,onClick:withModifiers(toggleOnClick,[`stop`]),onMouseover:onHover,onMouseleave:onLeave,onMousedown},[renderSlot(_ctx.$slots,`reference`,{toggleOnClick,onHover,onLeave,onMousedown,isOpen:showPopover.value,close},()=>[createVNode(VdPopoverReference_default,{variant:__props.refVariant,label:__props.label,icon:__props.iconRef,"icon-left":__props.iconLeftRef},null,8,[`variant`,`label`,`icon`,`icon-left`])])],544),showPopover.value?(openBlock(),createElementBlock(`div`,{key:0,ref_key:`floating`,ref:floating,style:normalizeStyle(unref(floatingStyles)),class:normalizeClass([`vd-popover__floating`,props.fullWidth?`vd-popover__floating--full-width`:``]),onPointerdown:_cache[0]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`tooltip`,{close},()=>[createVNode(VdPopoverTooltip_default,{content:__props.content,variant:__props.tooltipVariant,size:__props.tooltipSize,"hide-header-tooltip":__props.hideHeaderTooltip,"header-icon-tooltip":__props.headerIconTooltip,onClose:close},null,8,[`content`,`variant`,`size`,`hide-header-tooltip`,`header-icon-tooltip`])])],38)):createCommentVNode(``,!0)],2))}});export{VdPopover_default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment,computed,createBaseVNode,createBlock,createCommentVNode,createElementBlock,createTextVNode,defineComponent,mergeModels,normalizeClass,openBlock,renderList,renderSlot,toDisplayString,unref,useId,useModel,useSlots,vModelRadio,withCtx,withDirectives}from"./useValidator-BXvfnDwv.js";var _hoisted_1$1={class:`vd-radio-field`},_hoisted_2$1={class:`vd-radio-field__input`},_hoisted_3$1=[`id`,`disabled`,`name`,`value`],_hoisted_4$1=[`for`],VdRadio_default=defineComponent({__name:`VdRadio`,props:mergeModels({name:{},value:{type:[String,Number,Boolean,null],default:null},id:{default:null},label:{default:``},disabled:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},green:{type:Boolean,default:!1}},{modelValue:{type:[String,Number,Boolean,null],default:null},modelModifiers:{}}),emits:mergeModels([`change`,`blur`],[`update:modelValue`]),setup(__props,{emit:__emit}){let props=__props,model=useModel(__props,`modelValue`),emit=__emit,slots=useSlots(),inputId=props.id??useId(),onChange=event=>{emit(`change`,props.value,event.target.value)},onBlur=event=>{emit(`blur`,props.value,event.target.value)};return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$1,[createBaseVNode(`div`,_hoisted_2$1,[withDirectives(createBaseVNode(`input`,{id:unref(inputId),"onUpdate:modelValue":_cache[0]||=$event=>model.value=$event,disabled:__props.disabled,name:__props.name,value:__props.value,class:normalizeClass([`vd-radio`,{"vd-radio--error":__props.invalid,"vd-radio--green":__props.green}]),type:`radio`,onChange,onBlur},null,42,_hoisted_3$1),[[vModelRadio,model.value]])]),__props.label||unref(slots).label?(openBlock(),createElementBlock(`label`,{key:0,class:`vd-radio-field__label`,for:unref(inputId)},[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.label),1)])],8,_hoisted_4$1)):createCommentVNode(``,!0),renderSlot(_ctx.$slots,`popover`)]))}}),_hoisted_1=[`disabled`],_hoisted_2={class:`vd-field__label`},_hoisted_3={key:0,class:`vd-field__asterisk`},_hoisted_4={key:0,class:`vd-field__popover`},_hoisted_5={key:1,class:`vd-field__message vd-field__message--error`},_hoisted_6={key:2,class:`vd-field__message vd-field__message--information`},VdRadioGroup_default=defineComponent({__name:`VdRadioGroup`,props:mergeModels({name:{},options:{},legend:{default:``},errorMessage:{default:null},infoMessage:{default:null},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!0},variant:{default:`default`},groupClass:{default:void 0}},{modelValue:{type:[String,Number,Boolean,null],required:!0},modelModifiers:{}}),emits:mergeModels([`change`,`blur`],[`update:modelValue`]),setup(__props,{emit:__emit}){let props=__props,model=useModel(__props,`modelValue`),emit=__emit,slots=useSlots(),invalid=computed(()=>!!props.errorMessage),variantClass=computed(()=>({"vd-radio-group--horizontal":props.variant===`horizontal`,"vd-radio-group--boxed":props.variant===`boxed`})),onUpdate=value=>{emit(`change`,value)},onBlur=value=>{emit(`blur`,value)};return(_ctx,_cache)=>(openBlock(),createElementBlock(`fieldset`,{class:normalizeClass([`vd-field vd-radio-group`,variantClass.value]),disabled:__props.disabled},[__props.legend||unref(slots).legend?(openBlock(),createElementBlock(`legend`,{key:0,class:normalizeClass([`vd-field__label-wrapper`,{"vd-field__label-wrapper--disabled":__props.disabled}])},[createBaseVNode(`div`,_hoisted_2,[renderSlot(_ctx.$slots,`legend`,{},()=>[createTextVNode(toDisplayString(__props.legend),1)]),__props.required?(openBlock(),createElementBlock(`span`,_hoisted_3,`*`)):createCommentVNode(``,!0)]),unref(slots).popover?(openBlock(),createElementBlock(`span`,_hoisted_4,[renderSlot(_ctx.$slots,`popover`)])):createCommentVNode(``,!0)],2)):createCommentVNode(``,!0),createBaseVNode(`div`,{class:normalizeClass([`vd-radio-group__list`,__props.groupClass])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.options,option=>(openBlock(),createBlock(VdRadio_default,{key:option.value,modelValue:model.value,"onUpdate:modelValue":_cache[0]||=$event=>model.value=$event,value:option.value,label:option.label,name:__props.name,disabled:option.disabled,invalid:invalid.value,onChange:onUpdate,onBlur},{label:withCtx(()=>[renderSlot(_ctx.$slots,`label`,{option})]),popover:withCtx(()=>[renderSlot(_ctx.$slots,`label_popover`,{option})]),_:2},1032,[`modelValue`,`value`,`label`,`name`,`disabled`,`invalid`]))),128))],2),invalid.value?(openBlock(),createElementBlock(`div`,_hoisted_5,[_cache[1]||=createBaseVNode(`i`,{class:`fas fa-exclamation-circle vd-field__message-icon`},null,-1),createTextVNode(` `+toDisplayString(__props.errorMessage),1)])):createCommentVNode(``,!0),__props.infoMessage||unref(slots).information?(openBlock(),createElementBlock(`div`,_hoisted_6,[renderSlot(_ctx.$slots,`information`,{},()=>[_cache[2]||=createBaseVNode(`i`,{class:`fas fa-info-circle vd-field__message-icon`},null,-1),createTextVNode(` `+toDisplayString(__props.infoMessage),1)])])):createCommentVNode(``,!0)],10,_hoisted_1))}});export{VdRadioGroup_default};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import{__exportAll}from"./rolldown-runtime-Bm1jhNxk.js";import{BaseTransition,BaseTransitionPropsValidators,Comment,EffectScope,ErrorCodes,ErrorTypeStrings,Fragment,KeepAlive,ReactiveEffect,Static,Suspense,Teleport,Text,TrackOpTypes,Transition,TransitionGroup,TriggerOpTypes,VueElement,arrayBufferTag,arrayTag,assertNumber,bigInt64ArrayTag,bigUint64ArrayTag,booleanTag,callWithAsyncErrorHandling,callWithErrorHandling,camelize,capitalize,cloneVNode,computed,computedWithControl,createApp,createBaseVNode,createBlock,createCommentVNode,createElementBlock,createEventHook,createGlobalState,createHydrationRenderer,createPropsRestProxy,createRenderer,createSSRApp,createSharedComposable,createSlots,createStaticVNode,createTextVNode,createVNode,customRef,dataViewTag,dateTag,defineAsyncComponent,defineComponent,defineCustomElement,defineEmits,defineExpose,defineModel,defineOptions,defineProps,defineSSRCustomElement,defineSlots,devtools,effect,effectScope,errorTag,float32ArrayTag,float64ArrayTag,functionTag,get,getCurrentInstance,getCurrentScope,getCurrentWatcher,getSymbols,getTag,getTransitionRawChildren,guardReactiveProps,h,handleError,hasInjectionContext,hydrate,hydrateOnIdle,hydrateOnInteraction,hydrateOnMediaQuery,hydrateOnVisible,initCustomFormatter,initDirectivesForSSR,inject,int16ArrayTag,int32ArrayTag,int8ArrayTag,isBuffer,isClient,isDef,isEqualsSameValueZero,isIOS,isMemoSame,isObject,isProxy,isReactive,isReadonly,isRef,isRuntimeOnly,isShallow,isVNode,mapTag,markRaw,mergeDefaults,mergeModels,mergeProps,nextTick,nodeOps,noop as noop$1,normalizeClass,normalizeProps,normalizeStyle,numberTag,objectTag,onActivated,onBeforeMount,onBeforeUnmount,onBeforeUpdate,onDeactivated,onErrorCaptured,onMounted,onRenderTracked,onRenderTriggered,onScopeDispose,onServerPrefetch,onUnmounted,onUpdated,onWatcherCleanup,openBlock,patchProp,popScopeId,promiseTimeout,provide,proxyRefs,pushScopeId,queuePostFlushCb,reactive,reactivePick,readonly,ref,refAutoReset,regexpTag,registerRuntimeCompiler,render,renderList,renderSlot,resolveComponent,resolveDirective,resolveDynamicComponent,resolveTransitionHooks,setBlockTracking,setDevtoolsHook,setTag,setTransitionHooks,shallowReactive,shallowReadonly,shallowRef,ssrContextKey,ssrUtils,stop,stringTag,symbolTag,toArray,toDisplayString,toHandlerKey,toHandlers,toRaw,toRef,toRefs,toValue as toValue$1,transformVNodeArgs,triggerRef,tryOnBeforeUnmount,tryOnMounted,uint16ArrayTag,uint32ArrayTag,uint8ArrayTag,uint8ClampedArrayTag,unref,until,useAttrs,useCssModule,useCssVars,useHost,useId as useId$1,useModel,useSSRContext,useShadowRoot,useSlots,useTemplateRef,useTransitionState,vModelCheckbox,vModelDynamic,vModelRadio,vModelSelect,vModelText,vShow,version,warn,watch,watchEffect,watchImmediate,watchPostEffect,watchSyncEffect,withAsyncContext,withCtx,withDefaults,withDirectives,withKeys,withMemo,withModifiers,withScopeId}from"./useValidator-BXvfnDwv.js";import{arrow as arrow$1,autoUpdate,computePosition,flip,getNodeName,hide,isNode,limitShift,offset,shift,size}from"./floating-ui.dom-CZdxKWz5.js";var vue_runtime_esm_bundler_exports=__exportAll({BaseTransition:()=>BaseTransition,BaseTransitionPropsValidators:()=>BaseTransitionPropsValidators,Comment:()=>Comment,DeprecationTypes:()=>null,EffectScope:()=>EffectScope,ErrorCodes:()=>ErrorCodes,ErrorTypeStrings:()=>ErrorTypeStrings,Fragment:()=>Fragment,KeepAlive:()=>KeepAlive,ReactiveEffect:()=>ReactiveEffect,Static:()=>Static,Suspense:()=>Suspense,Teleport:()=>Teleport,Text:()=>Text,TrackOpTypes:()=>TrackOpTypes,Transition:()=>Transition,TransitionGroup:()=>TransitionGroup,TriggerOpTypes:()=>TriggerOpTypes,VueElement:()=>VueElement,assertNumber:()=>assertNumber,callWithAsyncErrorHandling:()=>callWithAsyncErrorHandling,callWithErrorHandling:()=>callWithErrorHandling,camelize:()=>camelize,capitalize:()=>capitalize,cloneVNode:()=>cloneVNode,compatUtils:()=>null,compile:()=>compile,computed:()=>computed,createApp:()=>createApp,createBlock:()=>createBlock,createCommentVNode:()=>createCommentVNode,createElementBlock:()=>createElementBlock,createElementVNode:()=>createBaseVNode,createHydrationRenderer:()=>createHydrationRenderer,createPropsRestProxy:()=>createPropsRestProxy,createRenderer:()=>createRenderer,createSSRApp:()=>createSSRApp,createSlots:()=>createSlots,createStaticVNode:()=>createStaticVNode,createTextVNode:()=>createTextVNode,createVNode:()=>createVNode,customRef:()=>customRef,defineAsyncComponent:()=>defineAsyncComponent,defineComponent:()=>defineComponent,defineCustomElement:()=>defineCustomElement,defineEmits:()=>defineEmits,defineExpose:()=>defineExpose,defineModel:()=>defineModel,defineOptions:()=>defineOptions,defineProps:()=>defineProps,defineSSRCustomElement:()=>defineSSRCustomElement,defineSlots:()=>defineSlots,devtools:()=>devtools,effect:()=>effect,effectScope:()=>effectScope,getCurrentInstance:()=>getCurrentInstance,getCurrentScope:()=>getCurrentScope,getCurrentWatcher:()=>getCurrentWatcher,getTransitionRawChildren:()=>getTransitionRawChildren,guardReactiveProps:()=>guardReactiveProps,h:()=>h,handleError:()=>handleError,hasInjectionContext:()=>hasInjectionContext,hydrate:()=>hydrate,hydrateOnIdle:()=>hydrateOnIdle,hydrateOnInteraction:()=>hydrateOnInteraction,hydrateOnMediaQuery:()=>hydrateOnMediaQuery,hydrateOnVisible:()=>hydrateOnVisible,initCustomFormatter:()=>initCustomFormatter,initDirectivesForSSR:()=>initDirectivesForSSR,inject:()=>inject,isMemoSame:()=>isMemoSame,isProxy:()=>isProxy,isReactive:()=>isReactive,isReadonly:()=>isReadonly,isRef:()=>isRef,isRuntimeOnly:()=>isRuntimeOnly,isShallow:()=>isShallow,isVNode:()=>isVNode,markRaw:()=>markRaw,mergeDefaults:()=>mergeDefaults,mergeModels:()=>mergeModels,mergeProps:()=>mergeProps,nextTick:()=>nextTick,nodeOps:()=>nodeOps,normalizeClass:()=>normalizeClass,normalizeProps:()=>normalizeProps,normalizeStyle:()=>normalizeStyle,onActivated:()=>onActivated,onBeforeMount:()=>onBeforeMount,onBeforeUnmount:()=>onBeforeUnmount,onBeforeUpdate:()=>onBeforeUpdate,onDeactivated:()=>onDeactivated,onErrorCaptured:()=>onErrorCaptured,onMounted:()=>onMounted,onRenderTracked:()=>onRenderTracked,onRenderTriggered:()=>onRenderTriggered,onScopeDispose:()=>onScopeDispose,onServerPrefetch:()=>onServerPrefetch,onUnmounted:()=>onUnmounted,onUpdated:()=>onUpdated,onWatcherCleanup:()=>onWatcherCleanup,openBlock:()=>openBlock,patchProp:()=>patchProp,popScopeId:()=>popScopeId,provide:()=>provide,proxyRefs:()=>proxyRefs,pushScopeId:()=>pushScopeId,queuePostFlushCb:()=>queuePostFlushCb,reactive:()=>reactive,readonly:()=>readonly,ref:()=>ref,registerRuntimeCompiler:()=>registerRuntimeCompiler,render:()=>render,renderList:()=>renderList,renderSlot:()=>renderSlot,resolveComponent:()=>resolveComponent,resolveDirective:()=>resolveDirective,resolveDynamicComponent:()=>resolveDynamicComponent,resolveFilter:()=>null,resolveTransitionHooks:()=>resolveTransitionHooks,setBlockTracking:()=>setBlockTracking,setDevtoolsHook:()=>setDevtoolsHook,setTransitionHooks:()=>setTransitionHooks,shallowReactive:()=>shallowReactive,shallowReadonly:()=>shallowReadonly,shallowRef:()=>shallowRef,ssrContextKey:()=>ssrContextKey,ssrUtils:()=>ssrUtils,stop:()=>stop,toDisplayString:()=>toDisplayString,toHandlerKey:()=>toHandlerKey,toHandlers:()=>toHandlers,toRaw:()=>toRaw,toRef:()=>toRef,toRefs:()=>toRefs,toValue:()=>toValue$1,transformVNodeArgs:()=>transformVNodeArgs,triggerRef:()=>triggerRef,unref:()=>unref,useAttrs:()=>useAttrs,useCssModule:()=>useCssModule,useCssVars:()=>useCssVars,useHost:()=>useHost,useId:()=>useId$1,useModel:()=>useModel,useSSRContext:()=>useSSRContext,useShadowRoot:()=>useShadowRoot,useSlots:()=>useSlots,useTemplateRef:()=>useTemplateRef,useTransitionState:()=>useTransitionState,vModelCheckbox:()=>vModelCheckbox,vModelDynamic:()=>vModelDynamic,vModelRadio:()=>vModelRadio,vModelSelect:()=>vModelSelect,vModelText:()=>vModelText,vShow:()=>vShow,version:()=>version,warn:()=>warn,watch:()=>watch,watchEffect:()=>watchEffect,watchPostEffect:()=>watchPostEffect,watchSyncEffect:()=>watchSyncEffect,withAsyncContext:()=>withAsyncContext,withCtx:()=>withCtx,withDefaults:()=>withDefaults,withDirectives:()=>withDirectives,withKeys:()=>withKeys,withMemo:()=>withMemo,withModifiers:()=>withModifiers,withScopeId:()=>withScopeId}),compile=()=>{
|
|
2
|
+
/**
|
|
3
|
+
* vue v3.5.39
|
|
4
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
5
|
+
* @license MIT
|
|
6
|
+
**/
|
|
7
|
+
};function noop(){}function isPlainObject$1(value){if(!value||typeof value!=`object`)return!1;let proto=Object.getPrototypeOf(value);return proto===null||proto===Object.prototype||Object.getPrototypeOf(proto)===null?Object.prototype.toString.call(value)===`[object Object]`:!1}function isEqualWith(a,b,areValuesEqual){return isEqualWithImpl(a,b,void 0,void 0,void 0,void 0,areValuesEqual)}function isEqualWithImpl(a,b,property,aParent,bParent,stack,areValuesEqual){let result=areValuesEqual(a,b,property,aParent,bParent,stack);if(result!==void 0)return result;if(typeof a==typeof b)switch(typeof a){case`bigint`:case`string`:case`boolean`:case`symbol`:case`undefined`:return a===b;case`number`:return a===b||Object.is(a,b);case`function`:return a===b;case`object`:return areObjectsEqual(a,b,stack,areValuesEqual)}return areObjectsEqual(a,b,stack,areValuesEqual)}function areObjectsEqual(a,b,stack,areValuesEqual){if(Object.is(a,b))return!0;let aTag=getTag(a),bTag=getTag(b);if(aTag===`[object Arguments]`&&(aTag=objectTag),bTag===`[object Arguments]`&&(bTag=objectTag),aTag!==bTag)return!1;switch(aTag){case stringTag:return a.toString()===b.toString();case numberTag:return isEqualsSameValueZero(a.valueOf(),b.valueOf());case booleanTag:case dateTag:case symbolTag:return Object.is(a.valueOf(),b.valueOf());case regexpTag:return a.source===b.source&&a.flags===b.flags;case functionTag:return a===b}stack??=new Map;let aStack=stack.get(a),bStack=stack.get(b);if(aStack!=null&&bStack!=null)return aStack===b;stack.set(a,b),stack.set(b,a);try{switch(aTag){case mapTag:if(a.size!==b.size)return!1;for(let[key,value]of a.entries())if(!b.has(key)||!isEqualWithImpl(value,b.get(key),key,a,b,stack,areValuesEqual))return!1;return!0;case setTag:{if(a.size!==b.size)return!1;let aValues=Array.from(a.values()),bValues=Array.from(b.values());for(let i=0;i<aValues.length;i++){let aValue=aValues[i],index=bValues.findIndex(bValue=>isEqualWithImpl(aValue,bValue,void 0,a,b,stack,areValuesEqual));if(index===-1)return!1;bValues.splice(index,1)}return!0}case arrayTag:case uint8ArrayTag:case uint8ClampedArrayTag:case uint16ArrayTag:case uint32ArrayTag:case bigUint64ArrayTag:case int8ArrayTag:case int16ArrayTag:case int32ArrayTag:case bigInt64ArrayTag:case float32ArrayTag:case float64ArrayTag:if(isBuffer(a)!==isBuffer(b)||a.length!==b.length)return!1;for(let i=0;i<a.length;i++)if(!isEqualWithImpl(a[i],b[i],i,a,b,stack,areValuesEqual))return!1;return!0;case arrayBufferTag:return a.byteLength===b.byteLength&&areObjectsEqual(new Uint8Array(a),new Uint8Array(b),stack,areValuesEqual);case dataViewTag:return a.byteLength!==b.byteLength||a.byteOffset!==b.byteOffset?!1:areObjectsEqual(new Uint8Array(a),new Uint8Array(b),stack,areValuesEqual);case errorTag:return a.name===b.name&&a.message===b.message;case objectTag:{if(!(areObjectsEqual(a.constructor,b.constructor,stack,areValuesEqual)||isPlainObject$1(a)&&isPlainObject$1(b)))return!1;let aKeys=[...Object.keys(a),...getSymbols(a)],bKeys=[...Object.keys(b),...getSymbols(b)];if(aKeys.length!==bKeys.length)return!1;for(let i=0;i<aKeys.length;i++){let propKey=aKeys[i],aProp=a[propKey];if(!Object.hasOwn(b,propKey))return!1;let bProp=b[propKey];if(!isEqualWithImpl(aProp,bProp,propKey,a,b,stack,areValuesEqual))return!1}return!0}default:return!1}}finally{stack.delete(a),stack.delete(b)}}function isEqual$1(a,b){return isEqualWith(a,b,noop)}var defaultWindow=isClient?window:void 0;isClient&&window.document,isClient&&window.navigator,isClient&&window.location;function unrefElement(elRef){let plain=toValue$1(elRef);return plain?.$el??plain}function useEventListener(...args){let register=(el,event,listener,options)=>(el.addEventListener(event,listener,options),()=>el.removeEventListener(event,listener,options)),firstParamTargets=computed(()=>{let test=toArray(toValue$1(args[0])).filter(e=>e!=null);return test.every(e=>typeof e!=`string`)?test:void 0});return watchImmediate(()=>[firstParamTargets.value?.map(e=>unrefElement(e))??[defaultWindow].filter(e=>e!=null),toArray(toValue$1(firstParamTargets.value?args[1]:args[0])),toArray(unref(firstParamTargets.value?args[2]:args[1])),toValue$1(firstParamTargets.value?args[3]:args[2])],([raw_targets,raw_events,raw_listeners,raw_options],_,onCleanup)=>{if(!raw_targets?.length||!raw_events?.length||!raw_listeners?.length)return;let optionsClone=isObject(raw_options)?{...raw_options}:raw_options,cleanups=raw_targets.flatMap(el=>raw_events.flatMap(event=>raw_listeners.map(listener=>register(el,event,listener,optionsClone))));onCleanup(()=>{cleanups.forEach(fn=>fn())})},{flush:`post`})}function createKeyPredicate(keyFilter){return typeof keyFilter==`function`?keyFilter:typeof keyFilter==`string`?event=>event.key===keyFilter:Array.isArray(keyFilter)?event=>keyFilter.includes(event.key):()=>!0}function onKeyStroke(...args){let key,handler,options={};args.length===3?(key=args[0],handler=args[1],options=args[2]):args.length===2?typeof args[1]==`object`?(key=!0,handler=args[0],options=args[1]):(key=args[0],handler=args[1]):(key=!0,handler=args[0]);let{target=defaultWindow,eventName=`keydown`,passive=!1,dedupe=!1}=options,predicate=createKeyPredicate(key);return useEventListener(target,eventName,e=>{e.repeat&&toValue$1(dedupe)||predicate(e)&&handler(e)},passive)}function useAsyncState(promise,initialState,options){let{immediate=!0,delay=0,onError=globalThis.reportError??noop$1,onSuccess=noop$1,resetOnExecute=!0,shallow=!0,throwError}=options??{},state=shallow?shallowRef(initialState):ref(initialState),isReady=shallowRef(!1),isLoading=shallowRef(!1),error=shallowRef(void 0),executionsCount=0;async function execute(delay=0,...args){let executionId=executionsCount+=1;resetOnExecute&&(state.value=toValue$1(initialState)),error.value=void 0,isReady.value=!1,isLoading.value=!0,delay>0&&await promiseTimeout(delay);let _promise=typeof promise==`function`?promise(...args):promise;try{let data=await _promise;return executionId===executionsCount&&(state.value=data,isReady.value=!0),onSuccess(data),data}catch(e){if(executionId===executionsCount&&(error.value=e),onError(e),throwError)throw e}finally{executionId===executionsCount&&(isLoading.value=!1)}}immediate&&execute(delay);let shell={state,isReady,isLoading,error,execute,executeImmediate:(...args)=>execute(0,...args)};function waitUntilIsLoaded(){return new Promise((resolve,reject)=>{until(isLoading).toBe(!1).then(()=>resolve(shell)).catch(reject)})}return{...shell,then(onFulfilled,onRejected){return waitUntilIsLoaded().then(onFulfilled,onRejected)}}}function cloneFnJSON(source){return JSON.parse(JSON.stringify(source))}function useCurrentElement(rootComponent){let vm=getCurrentInstance(),currentElement=computedWithControl(()=>null,()=>rootComponent?unrefElement(rootComponent):vm.proxy.$el);return onUpdated(currentElement.trigger),onMounted(currentElement.trigger),currentElement}function useParentElement(element=useCurrentElement()){let parentElement=shallowRef(),update=()=>{let el=unrefElement(element);el&&(parentElement.value=el.parentElement)};return tryOnMounted(update),watch(()=>toValue$1(element),update),parentElement}function useVModel(props,key,emit,options={}){var _vm$$emit,_vm$proxy;let{clone=!1,passive=!1,eventName,deep=!1,defaultValue,shouldEmit}=options,vm=getCurrentInstance(),_emit=emit||vm?.emit||(vm==null||(_vm$$emit=vm.$emit)==null?void 0:_vm$$emit.bind(vm))||(vm==null||(_vm$proxy=vm.proxy)==null||(_vm$proxy=_vm$proxy.$emit)==null?void 0:_vm$proxy.bind(vm?.proxy)),event=eventName;key||=`modelValue`,event||=`update:${key.toString()}`;let cloneFn=val=>clone?typeof clone==`function`?clone(val):cloneFnJSON(val):val,getValue=()=>isDef(props[key])?cloneFn(props[key]):defaultValue,triggerEmit=value=>{shouldEmit?shouldEmit(value)&&_emit(event,value):_emit(event,value)};if(passive){let proxy=ref(getValue()),isUpdating=!1;return watch(()=>props[key],v=>{isUpdating||(isUpdating=!0,proxy.value=cloneFn(v),nextTick(()=>isUpdating=!1))}),watch(proxy,v=>{!isUpdating&&(v!==props[key]||deep)&&triggerEmit(v)},{deep}),proxy}else return computed({get(){return getValue()},set(value){triggerEmit(value)}})}function serialize(o){return typeof o==`string`?`'${o}'`:new c().serialize(o)}var c=function(){class o{#t=new Map;compare(t,r){let e=typeof t,n=typeof r;return e===`string`&&n===`string`?t.localeCompare(r):e===`number`&&n===`number`?t-r:String.prototype.localeCompare.call(this.serialize(t,!0),this.serialize(r,!0))}serialize(t,r){if(t===null)return`null`;switch(typeof t){case`string`:return r?t:`'${t}'`;case`bigint`:return`${t}n`;case`object`:return this.$object(t);case`function`:return this.$function(t)}return String(t)}serializeObject(t){let r=Object.prototype.toString.call(t);if(r!==`[object Object]`)return this.serializeBuiltInType(r.length<10?`unknown:${r}`:r.slice(8,-1),t);let e=t.constructor,n=e===Object||e===void 0?``:e.name;if(n!==``&&globalThis[n]===e)return this.serializeBuiltInType(n,t);if(typeof t.toJSON==`function`){let i=t.toJSON();return n+(typeof i==`object`&&i?this.$object(i):`(${this.serialize(i)})`)}return this.serializeObjectEntries(n,Object.entries(t))}serializeBuiltInType(t,r){let e=this[`$`+t];if(e)return e.call(this,r);if(typeof r?.entries==`function`)return this.serializeObjectEntries(t,r.entries());throw Error(`Cannot serialize ${t}`)}serializeObjectEntries(t,r){let e=Array.from(r).sort((i,a)=>this.compare(i[0],a[0])),n=`${t}{`;for(let i=0;i<e.length;i++){let[a,l]=e[i];n+=`${this.serialize(a,!0)}:${this.serialize(l)}`,i<e.length-1&&(n+=`,`)}return n+`}`}$object(t){let r=this.#t.get(t);return r===void 0&&(this.#t.set(t,`#${this.#t.size}`),r=this.serializeObject(t),this.#t.set(t,r)),r}$function(t){let r=Function.prototype.toString.call(t);return r.slice(-15)===`[native code] }`?`${t.name||``}()[native]`:`${t.name}(${t.length})${r.replace(/\s*\n\s*/g,``)}`}$Array(t){let r=`[`;for(let e=0;e<t.length;e++)r+=this.serialize(t[e]),e<t.length-1&&(r+=`,`);return r+`]`}$Date(t){try{return`Date(${t.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(t){return`ArrayBuffer[${new Uint8Array(t).join(`,`)}]`}$Set(t){return`Set${this.$Array(Array.from(t).sort((r,e)=>this.compare(r,e)))}`}$Map(t){return this.serializeObjectEntries(`Map`,t.entries())}}for(let s of[`Error`,`RegExp`,`URL`])o.prototype[`$`+s]=function(t){return`${s}(${t})`};for(let s of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])o.prototype[`$`+s]=function(t){return`${s}[${t.join(`,`)}]`};for(let s of[`BigInt64Array`,`BigUint64Array`])o.prototype[`$`+s]=function(t){return`${s}[${t.join(`n,`)}${t.length>0?`n`:``}]`};return o}();function isEqual(object1,object2){return object1===object2||serialize(object1)===serialize(object2)}function findValuesBetween(array,start,end){let startIndex=array.findIndex(i=>isEqual(i,start)),endIndex=array.findIndex(i=>isEqual(i,end));if(startIndex===-1||endIndex===-1)return[];let[minIndex,maxIndex]=[startIndex,endIndex].sort((a,b)=>a-b);return array.slice(minIndex,maxIndex+1)}function createContext(providerComponentName,contextName){let symbolDescription=typeof providerComponentName==`string`&&!contextName?`${providerComponentName}Context`:contextName,injectionKey=Symbol(symbolDescription);return[fallback=>{let context=inject(injectionKey,fallback);if(context||context===null)return context;throw Error(`Injection \`${injectionKey.toString()}\` not found. Component must be used within ${Array.isArray(providerComponentName)?`one of the following components: ${providerComponentName.join(`, `)}`:`\`${providerComponentName}\``}`)},contextValue=>(provide(injectionKey,contextValue),contextValue)]}function getActiveElement(){let activeElement=document.activeElement;if(activeElement==null)return null;for(;activeElement!=null&&activeElement.shadowRoot!=null&&activeElement.shadowRoot.activeElement!=null;)activeElement=activeElement.shadowRoot.activeElement;return activeElement}function handleAndDispatchCustomEvent(name,handler,detail){let target=detail.originalEvent.target,event=new CustomEvent(name,{bubbles:!1,cancelable:!0,detail});handler&&target.addEventListener(name,handler,{once:!0}),target.dispatchEvent(event)}function isNullish(value){return value==null}function renderSlotFragments(children){return children?children.flatMap(child=>child.type===Fragment?renderSlotFragments(child.children):[child]):[]}var[injectConfigProviderContext,provideConfigProviderContext]=createContext(`ConfigProvider`);function isPlainObject(value){if(typeof value!=`object`||!value)return!1;let prototype=Object.getPrototypeOf(value);return prototype!==null&&prototype!==Object.prototype&&Object.getPrototypeOf(prototype)!==null||Symbol.iterator in value?!1:Symbol.toStringTag in value?Object.prototype.toString.call(value)===`[object Module]`:!0}function _defu(baseObject,defaults,namespace=`.`,merger){if(!isPlainObject(defaults))return _defu(baseObject,{},namespace,merger);let object={...defaults};for(let key of Object.keys(baseObject)){if(key===`__proto__`||key===`constructor`)continue;let value=baseObject[key];value!=null&&(merger&&merger(object,key,value,namespace)||(Array.isArray(value)&&Array.isArray(object[key])?object[key]=[...value,...object[key]]:isPlainObject(value)&&isPlainObject(object[key])?object[key]=_defu(value,object[key],(namespace?`${namespace}.`:``)+key.toString(),merger):object[key]=value))}return object}function createDefu(merger){return(...arguments_)=>arguments_.reduce((p,c)=>_defu(p,c,``,merger),{})}var defu=createDefu(),useBodyLockStackCount=createSharedComposable(()=>{let map=ref(new Map),initialOverflow=ref(),locked=computed(()=>{for(let value of map.value.values())if(value)return!0;return!1}),context=injectConfigProviderContext({scrollBody:ref(!0)}),stopTouchMoveListener=null,resetBodyStyle=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,document.body.style.pointerEvents=``,document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=initialOverflow.value??``,isIOS&&stopTouchMoveListener?.(),initialOverflow.value=void 0};return watch(locked,(val,oldVal)=>{if(!isClient)return;if(!val){oldVal&&resetBodyStyle();return}initialOverflow.value===void 0&&(initialOverflow.value=document.body.style.overflow);let verticalScrollbarWidth=window.innerWidth-document.documentElement.clientWidth,defaultConfig={padding:verticalScrollbarWidth,margin:0},config=context.scrollBody?.value?typeof context.scrollBody.value==`object`?defu({padding:context.scrollBody.value.padding===!0?verticalScrollbarWidth:context.scrollBody.value.padding,margin:context.scrollBody.value.margin===!0?verticalScrollbarWidth:context.scrollBody.value.margin},defaultConfig):defaultConfig:{padding:0,margin:0};verticalScrollbarWidth>0&&(document.body.style.paddingRight=typeof config.padding==`number`?`${config.padding}px`:String(config.padding),document.body.style.marginRight=typeof config.margin==`number`?`${config.margin}px`:String(config.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${verticalScrollbarWidth}px`),document.body.style.overflow=`hidden`),isIOS&&(stopTouchMoveListener=useEventListener(document,`touchmove`,e=>preventDefault(e),{passive:!1})),nextTick(()=>{locked.value&&(document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`)})},{immediate:!0,flush:`sync`}),map});function useBodyScrollLock(initialState){let id=Math.random().toString(36).substring(2,7),map=useBodyLockStackCount();map.value.set(id,initialState??!1);let locked=computed({get:()=>map.value.get(id)??!1,set:value=>map.value.set(id,value)});return tryOnBeforeUnmount(()=>{map.value.delete(id)}),locked}function checkOverflowScroll(ele){let style=window.getComputedStyle(ele);if(style.overflowX===`scroll`||style.overflowY===`scroll`||style.overflowX===`auto`&&ele.clientWidth<ele.scrollWidth||style.overflowY===`auto`&&ele.clientHeight<ele.scrollHeight)return!0;{let parent=ele.parentNode;return!(parent instanceof Element)||parent.tagName===`BODY`?!1:checkOverflowScroll(parent)}}function preventDefault(rawEvent){let e=rawEvent||window.event,_target=e.target;return _target instanceof Element&&checkOverflowScroll(_target)?!1:e.touches.length>1?!0:(e.preventDefault&&e.cancelable&&e.preventDefault(),!1)}function useComposing(onEnd){let isComposing=ref(!1);function handleCompositionStart(){isComposing.value=!0}function handleCompositionEnd(event){nextTick(()=>{isComposing.value=!1,onEnd?.(event)})}return{isComposing,handleCompositionStart,handleCompositionEnd}}function useDirection(dir){let context=injectConfigProviderContext({dir:ref(`ltr`)});return computed(()=>dir?.value||context.dir?.value||`ltr`)}function useEmitAsProps(emit){let vm=getCurrentInstance(),events=vm?.type.emits,result={};return events?.length||console.warn(`No emitted event found. Please check component: ${vm?.type.__name}`),events?.forEach(ev=>{result[toHandlerKey(camelize(ev))]=(...arg)=>emit(ev,...arg)}),result}function useFilter(options){let computedOptions=computed(()=>unref(options)),collator=computed(()=>new Intl.Collator(`en`,{usage:`search`,...computedOptions.value}));return{startsWith:(string,substring)=>substring.length===0?!0:(string=string.normalize(`NFC`),substring=substring.normalize(`NFC`),collator.value.compare(string.slice(0,substring.length),substring)===0),endsWith:(string,substring)=>substring.length===0?!0:(string=string.normalize(`NFC`),substring=substring.normalize(`NFC`),collator.value.compare(string.slice(-substring.length),substring)===0),contains:(string,substring)=>{if(substring.length===0)return!0;string=string.normalize(`NFC`),substring=substring.normalize(`NFC`);let scan=0,sliceLen=substring.length;for(;scan+sliceLen<=string.length;scan++){let slice=string.slice(scan,scan+sliceLen);if(collator.value.compare(substring,slice)===0)return!0}return!1}}}var count$1=0;function useFocusGuards(){watchEffect(cleanupFn=>{if(!isClient)return;let edgeGuards=document.querySelectorAll(`[data-reka-focus-guard]`);document.body.insertAdjacentElement(`afterbegin`,edgeGuards[0]??createFocusGuard()),document.body.insertAdjacentElement(`beforeend`,edgeGuards[1]??createFocusGuard()),count$1++,cleanupFn(()=>{count$1===1&&document.querySelectorAll(`[data-reka-focus-guard]`).forEach(node=>node.remove()),count$1--})})}function createFocusGuard(){let element=document.createElement(`span`);return element.setAttribute(`data-reka-focus-guard`,``),element.tabIndex=0,element.style.outline=`none`,element.style.opacity=`0`,element.style.position=`fixed`,element.style.pointerEvents=`none`,element}function useFormControl(el){return computed(()=>!toValue$1(el)||!!unrefElement(el)?.closest(`form`))}function useForwardExpose(){let instance=getCurrentInstance(),currentRef=ref(),currentElement=computed(()=>resolveCurrentElement());onUpdated(()=>{currentElement.value!==resolveCurrentElement()&&triggerRef(currentRef)});function resolveCurrentElement(){return currentRef.value&&`$el`in currentRef.value&&[`#text`,`#comment`].includes(currentRef.value.$el.nodeName)?currentRef.value.$el.nextElementSibling:unrefElement(currentRef)}let localExpose=Object.assign({},instance.exposed),ret={};for(let key in instance.props)Object.defineProperty(ret,key,{enumerable:!0,configurable:!0,get:()=>instance.props[key]});if(Object.keys(localExpose).length>0)for(let key in localExpose)Object.defineProperty(ret,key,{enumerable:!0,configurable:!0,get:()=>localExpose[key]});Object.defineProperty(ret,"$el",{enumerable:!0,configurable:!0,get:()=>instance.vnode.el}),instance.exposed=ret;function forwardRef(ref$1){if(currentRef.value=ref$1,ref$1&&(Object.defineProperty(ret,"$el",{enumerable:!0,configurable:!0,get:()=>ref$1 instanceof Element?ref$1:ref$1.$el}),!(ref$1 instanceof Element)&&!Object.hasOwn(ref$1,`$el`))){let childExposed=ref$1.$.exposed,merged=Object.assign({},ret);for(let key in childExposed)Object.defineProperty(merged,key,{enumerable:!0,configurable:!0,get:()=>childExposed[key]});instance.exposed=merged}}return{forwardRef,currentRef,currentElement}}function useForwardProps(props){let vm=getCurrentInstance(),defaultProps=Object.keys(vm?.type.props??{}).reduce((prev,curr)=>{let defaultValue=(vm?.type.props[curr]).default;return defaultValue!==void 0&&(prev[curr]=defaultValue),prev},{}),refProps=toRef(props);return computed(()=>{let preservedProps={},assignedProps=vm?.vnode.props??{};return Object.keys(assignedProps).forEach(key=>{preservedProps[camelize(key)]=assignedProps[key]}),Object.keys({...defaultProps,...preservedProps}).reduce((prev,curr)=>(refProps.value[curr]!==void 0&&(prev[curr]=refProps.value[curr]),prev),{})})}function useForwardPropsEmits(props,emit){let parsedProps=useForwardProps(props),emitsAsProps=emit?useEmitAsProps(emit):{};return computed(()=>({...parsedProps.value,...emitsAsProps}))}var getDefaultParent=function(originalTarget){return typeof document>`u`?null:(Array.isArray(originalTarget)?originalTarget[0]:originalTarget).ownerDocument.body},counterMap=new WeakMap,uncontrolledNodes=new WeakMap,markerMap={},lockCount=0,unwrapHost=function(node){return node&&(node.host||unwrapHost(node.parentNode))},correctTargets=function(parent,targets){return targets.map(function(target){if(parent.contains(target))return target;var correctedTarget=unwrapHost(target);return correctedTarget&&parent.contains(correctedTarget)?correctedTarget:(console.error(`aria-hidden`,target,`in not contained inside`,parent,`. Doing nothing`),null)}).filter(function(x){return!!x})},applyAttributeToOthers=function(originalTarget,parentNode,markerName,controlAttribute){var targets=correctTargets(parentNode,Array.isArray(originalTarget)?originalTarget:[originalTarget]);markerMap[markerName]||(markerMap[markerName]=new WeakMap);var markerCounter=markerMap[markerName],hiddenNodes=[],elementsToKeep=new Set,elementsToStop=new Set(targets),keep=function(el){!el||elementsToKeep.has(el)||(elementsToKeep.add(el),keep(el.parentNode))};targets.forEach(keep);var deep=function(parent){!parent||elementsToStop.has(parent)||Array.prototype.forEach.call(parent.children,function(node){if(elementsToKeep.has(node))deep(node);else try{var attr=node.getAttribute(controlAttribute),alreadyHidden=attr!==null&&attr!==`false`,counterValue=(counterMap.get(node)||0)+1,markerValue=(markerCounter.get(node)||0)+1;counterMap.set(node,counterValue),markerCounter.set(node,markerValue),hiddenNodes.push(node),counterValue===1&&alreadyHidden&&uncontrolledNodes.set(node,!0),markerValue===1&&node.setAttribute(markerName,`true`),alreadyHidden||node.setAttribute(controlAttribute,`true`)}catch(e){console.error(`aria-hidden: cannot operate on `,node,e)}})};return deep(parentNode),elementsToKeep.clear(),lockCount++,function(){hiddenNodes.forEach(function(node){var counterValue=counterMap.get(node)-1,markerValue=markerCounter.get(node)-1;counterMap.set(node,counterValue),markerCounter.set(node,markerValue),counterValue||(uncontrolledNodes.has(node)||node.removeAttribute(controlAttribute),uncontrolledNodes.delete(node)),markerValue||node.removeAttribute(markerName)}),lockCount--,lockCount||(counterMap=new WeakMap,counterMap=new WeakMap,uncontrolledNodes=new WeakMap,markerMap={})}},hideOthers=function(originalTarget,parentNode,markerName){markerName===void 0&&(markerName=`data-aria-hidden`);var targets=Array.from(Array.isArray(originalTarget)?originalTarget:[originalTarget]),activeParentNode=parentNode||getDefaultParent(originalTarget);return activeParentNode?(targets.push.apply(targets,Array.from(activeParentNode.querySelectorAll(`[aria-live], script`))),applyAttributeToOthers(targets,activeParentNode,markerName,`aria-hidden`)):function(){return null}};function useHideOthers(target){let undo;watch(()=>unrefElement(target),el=>{let isInsideClosedPopover=!1;try{isInsideClosedPopover=!!el?.closest(`[popover]:not(:popover-open)`)}catch{}el&&!isInsideClosedPopover?undo=hideOthers(el):undo&&undo()}),onUnmounted(()=>{undo&&undo()})}var count=0;function useId(deterministicId,prefix=`reka`){if(deterministicId)return deterministicId;let id,configProviderContext=injectConfigProviderContext({useId:void 0});return id=configProviderContext.useId?configProviderContext.useId():`useId`in vue_runtime_esm_bundler_exports?useId$1?.():`${++count}`,prefix?`${prefix}-${id}`:id}function useKbd(){return{ALT:`Alt`,ARROW_DOWN:`ArrowDown`,ARROW_LEFT:`ArrowLeft`,ARROW_RIGHT:`ArrowRight`,ARROW_UP:`ArrowUp`,BACKSPACE:`Backspace`,CAPS_LOCK:`CapsLock`,CONTROL:`Control`,DELETE:`Delete`,END:`End`,ENTER:`Enter`,ESCAPE:`Escape`,F1:`F1`,F10:`F10`,F11:`F11`,F12:`F12`,F2:`F2`,F3:`F3`,F4:`F4`,F5:`F5`,F6:`F6`,F7:`F7`,F8:`F8`,F9:`F9`,HOME:`Home`,META:`Meta`,PAGE_DOWN:`PageDown`,PAGE_UP:`PageUp`,SHIFT:`Shift`,SPACE:` `,TAB:`Tab`,CTRL:`Control`,ASTERISK:`*`,SPACE_CODE:`Space`}}function useSize(element){let size=ref(),width=computed(()=>size.value?.width??0),height=computed(()=>size.value?.height??0),resizeObserver;return onMounted(()=>{let el=unrefElement(element);el?(size.value={width:el.offsetWidth,height:el.offsetHeight},resizeObserver=new ResizeObserver(entries=>{if(!Array.isArray(entries)||!entries.length)return;let entry=entries[0],width$1,height$1;if(`borderBoxSize`in entry){let borderSizeEntry=entry.borderBoxSize,borderSize=Array.isArray(borderSizeEntry)?borderSizeEntry[0]:borderSizeEntry;width$1=borderSize.inlineSize,height$1=borderSize.blockSize}else width$1=el.offsetWidth,height$1=el.offsetHeight;size.value={width:width$1,height:height$1}}),resizeObserver.observe(el,{box:`border-box`})):size.value=void 0}),onUnmounted(()=>{resizeObserver?.disconnect(),resizeObserver=void 0}),{width,height}}function useStateMachine(initialState,machine){let state=ref(initialState);function reducer(event){return machine[state.value][event]??state.value}return{state,dispatch:event=>{state.value=reducer(event)}}}function useTypeahead(callback){let search=refAutoReset(``,1e3);return{search,handleTypeaheadSearch:(key,items)=>{if(search.value+=key,callback)callback(key);else{let currentItem=getActiveElement(),itemsWithTextValue=items.map(item=>({...item,textValue:item.value?.textValue??item.ref.textContent?.trim()??``})),currentMatch=itemsWithTextValue.find(item=>item.ref===currentItem),nextMatch=getNextMatch(itemsWithTextValue.map(item=>item.textValue),search.value,currentMatch?.textValue),newItem=itemsWithTextValue.find(item=>item.textValue===nextMatch);return newItem&&newItem.ref.focus(),newItem?.ref}},resetTypeahead:()=>{search.value=``}}}function wrapArray(array,startIndex){return array.map((_,index)=>array[(startIndex+index)%array.length])}function getNextMatch(values,search,currentMatch){let normalizedSearch=search.length>1&&Array.from(search).every(char=>char===search[0])?search[0]:search,currentMatchIndex=currentMatch?values.indexOf(currentMatch):-1,wrappedValues=wrapArray(values,Math.max(currentMatchIndex,0));normalizedSearch.length===1&&(wrappedValues=wrappedValues.filter(v=>v!==currentMatch));let nextMatch=wrappedValues.find(value=>value.toLowerCase().startsWith(normalizedSearch.toLowerCase()));return nextMatch===currentMatch?void 0:nextMatch}function usePresence(present,node){let stylesRef=ref({}),prevAnimationNameRef=ref(`none`),prevPresentRef=ref(present),initialState=present.value?`mounted`:`unmounted`,timeoutId,ownerWindow=node.value?.ownerDocument.defaultView??defaultWindow,{state,dispatch}=useStateMachine(initialState,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),dispatchCustomEvent=name=>{if(isClient){let customEvent=new CustomEvent(name,{bubbles:!1,cancelable:!1});node.value?.dispatchEvent(customEvent)}};watch(present,async(currentPresent,prevPresent)=>{let hasPresentChanged=prevPresent!==currentPresent;if(await nextTick(),hasPresentChanged){let prevAnimationName=prevAnimationNameRef.value,currentAnimationName=getAnimationName(node.value);currentPresent?(dispatch(`MOUNT`),dispatchCustomEvent(`enter`),currentAnimationName===`none`&&dispatchCustomEvent(`after-enter`)):currentAnimationName===`none`||currentAnimationName===`undefined`||stylesRef.value?.display===`none`?(dispatch(`UNMOUNT`),dispatchCustomEvent(`leave`),dispatchCustomEvent(`after-leave`)):prevPresent&&prevAnimationName!==currentAnimationName?(dispatch(`ANIMATION_OUT`),dispatchCustomEvent(`leave`)):(dispatch(`UNMOUNT`),dispatchCustomEvent(`after-leave`))}},{immediate:!0});let handleAnimationEnd=event=>{let currentAnimationName=getAnimationName(node.value),isCurrentAnimation=currentAnimationName.includes(CSS.escape(event.animationName)),directionName=state.value===`mounted`?`enter`:`leave`;if(event.target===node.value&&isCurrentAnimation&&(dispatchCustomEvent(`after-${directionName}`),dispatch(`ANIMATION_END`),!prevPresentRef.value)){let currentFillMode=node.value.style.animationFillMode;node.value.style.animationFillMode=`forwards`,timeoutId=ownerWindow?.setTimeout(()=>{node.value?.style.animationFillMode===`forwards`&&(node.value.style.animationFillMode=currentFillMode)})}event.target===node.value&¤tAnimationName===`none`&&dispatch(`ANIMATION_END`)},handleAnimationStart=event=>{event.target===node.value&&(prevAnimationNameRef.value=getAnimationName(node.value))},watcher=watch(node,(newNode,oldNode)=>{newNode?(stylesRef.value=getComputedStyle(newNode),newNode.addEventListener(`animationstart`,handleAnimationStart),newNode.addEventListener(`animationcancel`,handleAnimationEnd),newNode.addEventListener(`animationend`,handleAnimationEnd)):(dispatch(`ANIMATION_END`),timeoutId!==void 0&&ownerWindow?.clearTimeout(timeoutId),oldNode?.removeEventListener(`animationstart`,handleAnimationStart),oldNode?.removeEventListener(`animationcancel`,handleAnimationEnd),oldNode?.removeEventListener(`animationend`,handleAnimationEnd))},{immediate:!0}),stateWatcher=watch(state,()=>{let currentAnimationName=getAnimationName(node.value);prevAnimationNameRef.value=state.value===`mounted`?currentAnimationName:`none`});return onUnmounted(()=>{watcher(),stateWatcher(),node.value&&(node.value.removeEventListener(`animationstart`,handleAnimationStart),node.value.removeEventListener(`animationcancel`,handleAnimationEnd),node.value.removeEventListener(`animationend`,handleAnimationEnd)),timeoutId!==void 0&&ownerWindow?.clearTimeout(timeoutId)}),{isPresent:computed(()=>[`mounted`,`unmountSuspended`].includes(state.value))}}function getAnimationName(node){return node&&getComputedStyle(node).animationName||`none`}var Presence_default=defineComponent({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(props,{slots,expose}){let{present,forceMount}=toRefs(props),node=ref(),{isPresent}=usePresence(present,node);expose({present:isPresent});let children=slots.default({present:isPresent.value});children=renderSlotFragments(children||[]);let instance=getCurrentInstance();if(children&&children?.length>1){let componentName=instance?.parent?.type.name?`<${instance.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${componentName}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(line=>` - ${line}`).join(`
|
|
8
|
+
`)].join(`
|
|
9
|
+
`))}return()=>forceMount.value||present.value||isPresent.value?h(slots.default({present:isPresent.value})[0],{ref:v=>{let el=unrefElement(v);return el?.hasAttribute===void 0||(el?.hasAttribute(`data-reka-popper-content-wrapper`)?node.value=el.firstElementChild:node.value=el),el}}):null}}),Slot=defineComponent({name:`PrimitiveSlot`,inheritAttrs:!1,setup(_,{attrs,slots}){return()=>{if(!slots.default)return null;let children=renderSlotFragments(slots.default()),firstNonCommentChildrenIndex=children.findIndex(child=>child.type!==Comment);if(firstNonCommentChildrenIndex===-1)return children;let firstNonCommentChildren=children[firstNonCommentChildrenIndex];delete firstNonCommentChildren.props?.ref;let mergedProps=firstNonCommentChildren.props?mergeProps(attrs,firstNonCommentChildren.props):attrs,cloned=cloneVNode({...firstNonCommentChildren,props:{}},mergedProps);return children.length===1?cloned:(children[firstNonCommentChildrenIndex]=cloned,children)}}}),SELF_CLOSING_TAGS=[`area`,`img`,`input`],Primitive=defineComponent({name:`Primitive`,inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:`div`}},setup(props,{attrs,slots}){let asTag=props.asChild?`template`:props.as;return typeof asTag==`string`&&SELF_CLOSING_TAGS.includes(asTag)?()=>h(asTag,attrs):asTag===`template`?()=>h(Slot,attrs,{default:slots.default}):()=>h(props.as,attrs,{default:slots.default})}});function usePrimitiveElement(){let primitiveElement=ref();return{primitiveElement,currentElement:computed(()=>[`#text`,`#comment`].includes(primitiveElement.value?.$el.nodeName)?primitiveElement.value?.$el.nextElementSibling:unrefElement(primitiveElement))}}var POINTER_DOWN_OUTSIDE=`dismissableLayer.pointerDownOutside`,FOCUS_OUTSIDE=`dismissableLayer.focusOutside`;function isLayerExist(layerElement,targetElement){if(!(targetElement instanceof Element))return!1;let targetLayer=targetElement.closest(`[data-dismissable-layer]`),mainLayer=layerElement.dataset.dismissableLayer===``?layerElement:layerElement.querySelector(`[data-dismissable-layer]`),nodeList=Array.from(layerElement.ownerDocument.querySelectorAll(`[data-dismissable-layer]`));return!!(targetLayer&&(mainLayer===targetLayer||nodeList.indexOf(mainLayer)<nodeList.indexOf(targetLayer)))}function usePointerDownOutside(onPointerDownOutside,element,enabled=!0){let ownerDocument=element?.value?.ownerDocument??globalThis?.document,isPointerInsideDOMTree=ref(!1),handleClickRef=ref(()=>{});return watchEffect(cleanupFn=>{if(!isClient||!toValue$1(enabled))return;let handlePointerDown=async event=>{let target=event.target;if(!(!element?.value||!target)){if(isLayerExist(element.value,target)){isPointerInsideDOMTree.value=!1;return}if(event.target&&!isPointerInsideDOMTree.value){let eventDetail={originalEvent:event};function handleAndDispatchPointerDownOutsideEvent(){handleAndDispatchCustomEvent(POINTER_DOWN_OUTSIDE,onPointerDownOutside,eventDetail)}event.pointerType===`touch`?(ownerDocument.removeEventListener(`click`,handleClickRef.value),handleClickRef.value=handleAndDispatchPointerDownOutsideEvent,ownerDocument.addEventListener(`click`,handleClickRef.value,{once:!0})):handleAndDispatchPointerDownOutsideEvent()}else ownerDocument.removeEventListener(`click`,handleClickRef.value);isPointerInsideDOMTree.value=!1}},timerId=window.setTimeout(()=>{ownerDocument.addEventListener(`pointerdown`,handlePointerDown)},0);cleanupFn(()=>{window.clearTimeout(timerId),ownerDocument.removeEventListener(`pointerdown`,handlePointerDown),ownerDocument.removeEventListener(`click`,handleClickRef.value)})}),{onPointerDownCapture:()=>{toValue$1(enabled)&&(isPointerInsideDOMTree.value=!0)}}}function useFocusOutside(onFocusOutside,element,enabled=!0){let ownerDocument=element?.value?.ownerDocument??globalThis?.document,isFocusInsideDOMTree=ref(!1);return watchEffect(cleanupFn=>{if(!isClient||!toValue$1(enabled))return;let handleFocus=async event=>{if(!element?.value)return;await nextTick(),await nextTick();let target=event.target;!element.value||!target||isLayerExist(element.value,target)||event.target&&!isFocusInsideDOMTree.value&&handleAndDispatchCustomEvent(FOCUS_OUTSIDE,onFocusOutside,{originalEvent:event})};ownerDocument.addEventListener(`focusin`,handleFocus),cleanupFn(()=>ownerDocument.removeEventListener(`focusin`,handleFocus))}),{onFocusCapture:()=>{toValue$1(enabled)&&(isFocusInsideDOMTree.value=!0)},onBlurCapture:()=>{toValue$1(enabled)&&(isFocusInsideDOMTree.value=!1)}}}var context=reactive({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set}),DismissableLayer_default=defineComponent({__name:`DismissableLayer`,props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`dismiss`],setup(__props,{emit:__emit}){let props=__props,emits=__emit,{forwardRef,currentElement:layerElement}=useForwardExpose(),ownerDocument=computed(()=>layerElement.value?.ownerDocument??globalThis.document),layers=computed(()=>context.layersRoot),index=computed(()=>layerElement.value?Array.from(layers.value).indexOf(layerElement.value):-1),isBodyPointerEventsDisabled=computed(()=>context.layersWithOutsidePointerEventsDisabled.size>0),isPointerEventsEnabled=computed(()=>{let localLayers=Array.from(layers.value),[highestLayerWithOutsidePointerEventsDisabled]=[...context.layersWithOutsidePointerEventsDisabled].slice(-1),highestLayerWithOutsidePointerEventsDisabledIndex=localLayers.indexOf(highestLayerWithOutsidePointerEventsDisabled);return index.value>=highestLayerWithOutsidePointerEventsDisabledIndex}),pointerDownOutside=usePointerDownOutside(async event=>{let isPointerDownOnBranch=[...context.branches].some(branch=>branch?.contains(event.target));!props.present||!isPointerEventsEnabled.value||isPointerDownOnBranch||(emits(`pointerDownOutside`,event),emits(`interactOutside`,event),await nextTick(),event.defaultPrevented||emits(`dismiss`))},layerElement),focusOutside=useFocusOutside(event=>{let isFocusInBranch=[...context.branches].some(branch=>branch?.contains(event.target));!props.present||isFocusInBranch||(emits(`focusOutside`,event),emits(`interactOutside`,event),event.defaultPrevented||emits(`dismiss`))},layerElement);return onKeyStroke(`Escape`,event=>{props.present&&index.value===layers.value.size-1&&(emits(`escapeKeyDown`,event),event.defaultPrevented||emits(`dismiss`))}),watch([layerElement,()=>props.disableOutsidePointerEvents,()=>props.present],([element,disableOutsidePointerEvents,present],_,onCleanup)=>{!element||!present||disableOutsidePointerEvents&&(context.layersWithOutsidePointerEventsDisabled.size===0&&(context.originalBodyPointerEvents=ownerDocument.value.body.style.pointerEvents,ownerDocument.value.body.style.pointerEvents=`none`),context.layersWithOutsidePointerEventsDisabled.add(element),onCleanup(()=>{context.layersWithOutsidePointerEventsDisabled.delete(element),context.layersWithOutsidePointerEventsDisabled.size===0&&!isNullish(context.originalBodyPointerEvents)&&(ownerDocument.value.body.style.pointerEvents=context.originalBodyPointerEvents)}))},{immediate:!0}),watch([layerElement,()=>props.present],([element,present],_,onCleanup)=>{!element||!present||(layers.value.add(element),onCleanup(()=>{layers.value.delete(element)}))},{immediate:!0}),watchEffect(cleanupFn=>{cleanupFn(()=>{layerElement.value&&(layers.value.delete(layerElement.value),context.layersWithOutsidePointerEventsDisabled.delete(layerElement.value))})}),(_ctx,_cache)=>(openBlock(),createBlock(unref(Primitive),{ref:unref(forwardRef),"as-child":_ctx.asChild,as:_ctx.as,"data-dismissable-layer":``,style:normalizeStyle({pointerEvents:isBodyPointerEventsDisabled.value?isPointerEventsEnabled.value?`auto`:`none`:void 0}),onFocusCapture:unref(focusOutside).onFocusCapture,onBlurCapture:unref(focusOutside).onBlurCapture,onPointerdownCapture:unref(pointerDownOutside).onPointerDownCapture},{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),useFocusStackState=createGlobalState(()=>ref([]));function createFocusScopesStack(){let stack=useFocusStackState();return{add(focusScope){let activeFocusScope=stack.value[0];focusScope!==activeFocusScope&&activeFocusScope?.pause(),stack.value=arrayRemove(stack.value,focusScope),stack.value.unshift(focusScope)},remove(focusScope){stack.value=arrayRemove(stack.value,focusScope),stack.value[0]?.resume()}}}function arrayRemove(array,item){let updatedArray=[...array],index=updatedArray.indexOf(item);return index!==-1&&updatedArray.splice(index,1),updatedArray}var AUTOFOCUS_ON_MOUNT=`focusScope.autoFocusOnMount`,AUTOFOCUS_ON_UNMOUNT=`focusScope.autoFocusOnUnmount`,EVENT_OPTIONS={bubbles:!1,cancelable:!0};function focusFirst(candidates,{select=!1}={}){let previouslyFocusedElement=getActiveElement();for(let candidate of candidates)if(focus(candidate,{select}),getActiveElement()!==previouslyFocusedElement)return!0}function getTabbableEdges(container){let candidates=getTabbableCandidates(container);return[findVisible(candidates,container),findVisible(candidates.reverse(),container)]}function getTabbableCandidates(container){let nodes=[],walker=document.createTreeWalker(container,NodeFilter.SHOW_ELEMENT,{acceptNode:node=>{let isHiddenInput=node.tagName===`INPUT`&&node.type===`hidden`;return node.disabled||node.hidden||isHiddenInput?NodeFilter.FILTER_SKIP:node.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;walker.nextNode();)nodes.push(walker.currentNode);return nodes}function findVisible(elements,container){for(let element of elements)if(!isHidden(element,{upTo:container}))return element}function isHidden(node,{upTo}){if(getComputedStyle(node).visibility===`hidden`)return!0;for(;node;){if(upTo!==void 0&&node===upTo)return!1;if(getComputedStyle(node).display===`none`)return!0;node=node.parentElement}return!1}function isSelectableInput(element){return element instanceof HTMLInputElement&&`select`in element}function focus(element,{select=!1}={}){if(element&&element.focus){let previouslyFocusedElement=getActiveElement();element.focus({preventScroll:!0}),element!==previouslyFocusedElement&&isSelectableInput(element)&&select&&element.select()}}var FocusScope_default=defineComponent({__name:`FocusScope`,props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},present:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`mountAutoFocus`,`unmountAutoFocus`],setup(__props,{emit:__emit}){let props=__props,emits=__emit,{currentRef,currentElement}=useForwardExpose(),lastFocusedElementRef=ref(null),focusScopesStack=createFocusScopesStack(),focusScope=reactive({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});watchEffect(cleanupFn=>{if(!isClient)return;let container=currentElement.value;if(!props.trapped)return;function handleFocusIn(event){if(focusScope.paused||!container)return;let target=event.target;container.contains(target)?lastFocusedElementRef.value=target:focus(lastFocusedElementRef.value,{select:!0})}function handleFocusOut(event){if(focusScope.paused||!container)return;let relatedTarget=event.relatedTarget;relatedTarget!==null&&(container.contains(relatedTarget)||focus(lastFocusedElementRef.value,{select:!0}))}function handleMutations(mutations){let lastFocusedElement=lastFocusedElementRef.value;lastFocusedElement!==null&&mutations.some(m=>m.removedNodes.length>0)&&(container.contains(lastFocusedElement)||focus(container))}document.addEventListener(`focusin`,handleFocusIn),document.addEventListener(`focusout`,handleFocusOut);let mutationObserver=new MutationObserver(handleMutations);container&&mutationObserver.observe(container,{childList:!0,subtree:!0}),cleanupFn(()=>{document.removeEventListener(`focusin`,handleFocusIn),document.removeEventListener(`focusout`,handleFocusOut),mutationObserver.disconnect()})});function dispatchMountAutoFocus(container,previouslyFocusedElement){let mountEvent=new CustomEvent(AUTOFOCUS_ON_MOUNT,EVENT_OPTIONS),handleMountAutoFocus=ev=>emits(`mountAutoFocus`,ev);container.addEventListener(AUTOFOCUS_ON_MOUNT,handleMountAutoFocus),container.dispatchEvent(mountEvent),container.removeEventListener(AUTOFOCUS_ON_MOUNT,handleMountAutoFocus),mountEvent.defaultPrevented||(focusFirst(getTabbableCandidates(container),{select:!0}),getActiveElement()===previouslyFocusedElement&&focus(container))}watchEffect(async cleanupFn=>{let container=currentElement.value;if(await nextTick(),!container)return;props.present!==!1&&focusScopesStack.add(focusScope);let previouslyFocusedElement=getActiveElement();!container.contains(previouslyFocusedElement)&&props.present!==!1&&dispatchMountAutoFocus(container,previouslyFocusedElement),cleanupFn(()=>{let unmountEvent=new CustomEvent(AUTOFOCUS_ON_UNMOUNT,EVENT_OPTIONS),unmountEventHandler=ev=>{emits(`unmountAutoFocus`,ev)};container.addEventListener(AUTOFOCUS_ON_UNMOUNT,unmountEventHandler),container.dispatchEvent(unmountEvent),container.setAttribute(`data-focus-scope-unmounting`,``),setTimeout(()=>{unmountEvent.defaultPrevented||focus(previouslyFocusedElement??document.body,{select:!0}),container.removeEventListener(AUTOFOCUS_ON_UNMOUNT,unmountEventHandler),focusScopesStack.remove(focusScope),container.removeAttribute(`data-focus-scope-unmounting`)},0)})}),watch(()=>props.present,async(present,prevPresent)=>{if(!isClient)return;if(present===!1&&prevPresent===!0){focusScopesStack.remove(focusScope);return}if(present!==!0||prevPresent!==!1)return;focusScopesStack.add(focusScope),await nextTick();let container=currentElement.value;if(!container)return;let previouslyFocusedElement=getActiveElement();container.contains(previouslyFocusedElement)||dispatchMountAutoFocus(container,previouslyFocusedElement)});function handleKeyDown(event){if(!props.loop&&!props.trapped||focusScope.paused)return;let isTabKey=event.key===`Tab`&&!event.altKey&&!event.ctrlKey&&!event.metaKey,focusedElement=getActiveElement();if(isTabKey&&focusedElement){let container=event.currentTarget,[first,last]=getTabbableEdges(container);first&&last?!event.shiftKey&&focusedElement===last?(event.preventDefault(),props.loop&&focus(first,{select:!0})):event.shiftKey&&focusedElement===first&&(event.preventDefault(),props.loop&&focus(last,{select:!0})):focusedElement===container&&event.preventDefault()}}return(_ctx,_cache)=>(openBlock(),createBlock(unref(Primitive),{ref_key:`currentRef`,ref:currentRef,tabindex:`-1`,"as-child":_ctx.asChild,as:_ctx.as,onKeydown:handleKeyDown},{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),ITEM_DATA_ATTR=`data-reka-collection-item`;function useCollection(options={}){let{key=``,isProvider=!1}=options,injectionKey=`${key}CollectionProvider`,context;if(isProvider){let itemMap=ref(new Map);context={collectionRef:ref(),itemMap},provide(injectionKey,context)}else context=inject(injectionKey);let getItems=(includeDisabledItem=!1)=>{let collectionNode=context.collectionRef.value;if(!collectionNode)return[];let orderedNodes=Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`)),orderMap=new Map(orderedNodes.map((node,index)=>[node,index])),orderedItems=Array.from(context.itemMap.value.values()).sort((a,b)=>(orderMap.get(a.ref)??-1)-(orderMap.get(b.ref)??-1));return includeDisabledItem?orderedItems:orderedItems.filter(i=>i.ref.dataset.disabled!==``)},CollectionSlot=defineComponent({name:`CollectionSlot`,inheritAttrs:!1,setup(_,{slots,attrs}){let{primitiveElement,currentElement}=usePrimitiveElement();return watch(currentElement,()=>{context.collectionRef.value=currentElement.value}),()=>h(Slot,{ref:primitiveElement,...attrs},slots)}}),CollectionItem=defineComponent({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(props,{slots,attrs}){let{primitiveElement,currentElement}=usePrimitiveElement();return watchEffect(cleanupFn=>{if(currentElement.value){let key$1=markRaw(currentElement.value);context.itemMap.value.set(key$1,{ref:currentElement.value,value:props.value}),cleanupFn(()=>context.itemMap.value.delete(key$1))}}),()=>h(Slot,{...attrs,[ITEM_DATA_ATTR]:``,ref:primitiveElement},slots)}});return{getItems,reactiveItems:computed(()=>Array.from(context.itemMap.value.values())),itemMapSize:computed(()=>context.itemMap.value.size),CollectionSlot,CollectionItem}}var VisuallyHidden_default=defineComponent({__name:`VisuallyHidden`,props:{feature:{type:String,required:!1,default:`focusable`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(__props){return(_ctx,_cache)=>(openBlock(),createBlock(unref(Primitive),{as:_ctx.as,"as-child":_ctx.asChild,"aria-hidden":_ctx.feature===`focusable`||_ctx.feature===`fully-hidden`?`true`:void 0,"data-hidden":_ctx.feature===`fully-hidden`?``:void 0,tabindex:_ctx.feature===`fully-hidden`?`-1`:void 0,style:{position:`absolute`,border:0,width:`1px`,height:`1px`,padding:0,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`,wordWrap:`normal`,top:`-1px`,left:`-1px`}},{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}}),VisuallyHiddenInputBubble_default=defineComponent({inheritAttrs:!1,__name:`VisuallyHiddenInputBubble`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(__props){let props=__props,{primitiveElement,currentElement}=usePrimitiveElement();return watch(computed(()=>props.checked??props.value),(cur,prev)=>{if(!currentElement.value)return;let input=currentElement.value,inputProto=window.HTMLInputElement.prototype,setValue=Object.getOwnPropertyDescriptor(inputProto,`value`).set;if(setValue&&cur!==prev){let inputEvent=new Event(`input`,{bubbles:!0}),changeEvent=new Event(`change`,{bubbles:!0});setValue.call(input,cur),input.dispatchEvent(inputEvent),input.dispatchEvent(changeEvent)}}),(_ctx,_cache)=>(openBlock(),createBlock(VisuallyHidden_default,mergeProps({ref_key:`primitiveElement`,ref:primitiveElement},{...props,..._ctx.$attrs},{as:`input`}),null,16))}}),VisuallyHiddenInput_default=defineComponent({inheritAttrs:!1,__name:`VisuallyHiddenInput`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(__props){let props=__props,isFormArrayEmptyAndRequired=computed(()=>typeof props.value==`object`&&Array.isArray(props.value)&&props.value.length===0&&props.required),parsedValue=computed(()=>typeof props.value==`string`||typeof props.value==`number`||typeof props.value==`boolean`||props.value===null||props.value===void 0?[{name:props.name,value:props.value}]:typeof props.value==`object`&&Array.isArray(props.value)?props.value.flatMap((obj,index)=>typeof obj==`object`?Object.entries(obj).map(([key,value])=>({name:`${props.name}[${index}][${key}]`,value})):{name:`${props.name}[${index}]`,value:obj}):props.value!==null&&typeof props.value==`object`&&!Array.isArray(props.value)?Object.entries(props.value).map(([key,value])=>({name:`${props.name}[${key}]`,value})):[]);return(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[createCommentVNode(` We render single input if it's required `),isFormArrayEmptyAndRequired.value?(openBlock(),createBlock(VisuallyHiddenInputBubble_default,mergeProps({key:_ctx.name},{...props,..._ctx.$attrs},{name:_ctx.name,value:_ctx.value}),null,16,[`name`,`value`])):(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(parsedValue.value,parsed=>(openBlock(),createBlock(VisuallyHiddenInputBubble_default,mergeProps({key:parsed.name},{ref_for:!0},{...props,..._ctx.$attrs},{name:parsed.name,value:parsed.value}),null,16,[`name`,`value`]))),128))],2112))}});function queryCheckedElement(parentEl){return parentEl?.querySelector(`[data-state=checked]`)}function valueComparator(value,currentValue,comparator){return value===void 0?!1:Array.isArray(value)?value.some(val=>compare(val,currentValue,comparator)):compare(value,currentValue,comparator)}function compare(value,currentValue,comparator){return value===void 0||currentValue===void 0?!1:typeof value==`string`?value===currentValue:typeof comparator==`function`?comparator(value,currentValue):typeof comparator==`string`?value?.[comparator]===currentValue?.[comparator]:isEqual(value,currentValue)}var MAP_KEY_TO_FOCUS_INTENT={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function getDirectionAwareKey(key,dir){return dir===`rtl`?key===`ArrowLeft`?`ArrowRight`:key===`ArrowRight`?`ArrowLeft`:key:key}function getFocusIntent(event,orientation,dir){let key=getDirectionAwareKey(event.key,dir);if(!(orientation===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(key))&&!(orientation===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(key)))return MAP_KEY_TO_FOCUS_INTENT[key]}var[injectListboxRootContext,provideListboxRootContext]=createContext(`ListboxRoot`),ListboxRoot_default=defineComponent({__name:`ListboxRoot`,props:{modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},multiple:{type:Boolean,required:!1},orientation:{type:String,required:!1,default:`vertical`},dir:{type:String,required:!1},disabled:{type:Boolean,required:!1},selectionBehavior:{type:String,required:!1,default:`toggle`},highlightOnHover:{type:Boolean,required:!1},by:{type:[String,Function],required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`highlight`,`entryFocus`,`leave`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emits=__emit,{multiple,highlightOnHover,orientation,disabled,selectionBehavior,dir:propDir}=toRefs(props),{getItems}=useCollection({isProvider:!0}),{handleTypeaheadSearch}=useTypeahead(),{primitiveElement,currentElement}=usePrimitiveElement(),kbd=useKbd(),dir=useDirection(propDir),isFormControl=useFormControl(currentElement),firstValue=ref(),isUserAction=ref(!1),focusable=ref(!0),modelValue=useVModel(props,`modelValue`,emits,{defaultValue:props.defaultValue??(multiple.value?[]:void 0),passive:props.modelValue===void 0,deep:!0});function onValueChange(val){if(isUserAction.value=!0,props.multiple){let modelArray=Array.isArray(modelValue.value)?[...modelValue.value]:[],index=modelArray.findIndex(i=>compare(i,val,props.by));props.selectionBehavior===`toggle`?(index===-1?modelArray.push(val):modelArray.splice(index,1),modelValue.value=modelArray):(modelValue.value=[val],firstValue.value=val)}else props.selectionBehavior===`toggle`&&compare(modelValue.value,val,props.by)?modelValue.value=void 0:modelValue.value=val;setTimeout(()=>{isUserAction.value=!1},1)}let highlightedElement=ref(null),previousElement=ref(null),isVirtual=ref(!1),isComposing=ref(!1),virtualFocusHook=createEventHook(),virtualKeydownHook=createEventHook(),virtualHighlightHook=createEventHook();function getCollectionItem(){return getItems().map(i=>i.ref).filter(i=>i.dataset.disabled!==``)}function changeHighlight(el,scrollIntoView=!0,focus){if(!el)return;highlightedElement.value=el,(focus??focusable.value)&&highlightedElement.value.focus(),scrollIntoView&&highlightedElement.value.scrollIntoView({block:`nearest`});let highlightedItem=getItems().find(i=>i.ref===el);emits(`highlight`,highlightedItem)}function highlightItem(value){if(isVirtual.value)virtualHighlightHook.trigger(value);else{let item=getItems().find(i=>compare(i.value,value,props.by));item&&(highlightedElement.value=item.ref,changeHighlight(item.ref))}}function onKeydownEnter(event){if(highlightedElement.value&&highlightedElement.value.isConnected){if(event.ctrlKey||event.metaKey||event.altKey)return;event.preventDefault(),event.stopPropagation(),isComposing.value||highlightedElement.value.click()}}function onKeydownTypeAhead(event){if(focusable.value){if(isUserAction.value=!0,isVirtual.value)virtualKeydownHook.trigger(event);else{let isMetaKey=event.altKey||event.ctrlKey||event.metaKey;if(isMetaKey&&event.key===`a`&&multiple.value){let collection=getItems(),values=collection.map(i=>i.value);modelValue.value=[...values],event.preventDefault();let lastItem=collection.at(-1);lastItem&&changeHighlight(lastItem.ref)}else if(!isMetaKey){let el=handleTypeaheadSearch(event.key,getItems());el&&changeHighlight(el)}}setTimeout(()=>{isUserAction.value=!1},1)}}function onCompositionStart(){isComposing.value=!0}function onCompositionEnd(){nextTick(()=>{isComposing.value=!1})}function highlightFirstItem(){nextTick(()=>{onKeydownNavigation(new KeyboardEvent(`keydown`,{key:`PageUp`}))})}function onLeave(event){let el=highlightedElement.value;el?.isConnected&&(previousElement.value=el),highlightedElement.value=null,emits(`leave`,event)}function onEnter(event){let entryFocusEvent=new CustomEvent(`listbox.entryFocus`,{bubbles:!1,cancelable:!0});if(event.currentTarget?.dispatchEvent(entryFocusEvent),emits(`entryFocus`,entryFocusEvent),!entryFocusEvent.defaultPrevented)if(previousElement.value)changeHighlight(previousElement.value);else{let el=getCollectionItem()?.[0];changeHighlight(el)}}function onKeydownNavigation(event){let intent=getFocusIntent(event,orientation.value,dir.value);if(!intent)return;let collection=getCollectionItem();if(highlightedElement.value){if(intent===`last`)collection.reverse();else if(intent===`prev`||intent===`next`){intent===`prev`&&collection.reverse();let currentIndex=collection.indexOf(highlightedElement.value);collection=collection.slice(currentIndex+1)}handleMultipleReplace(event,collection[0])}if(collection.length){let index=!highlightedElement.value&&intent===`prev`?collection.length-1:0;changeHighlight(collection[index])}if(isVirtual.value)return virtualKeydownHook.trigger(event)}function handleMultipleReplace(event,targetEl){if(!(isVirtual.value||props.selectionBehavior!==`replace`||!multiple.value||!Array.isArray(modelValue.value))&&!((event.altKey||event.ctrlKey||event.metaKey)&&!event.shiftKey)&&event.shiftKey){let collection=getItems().filter(i=>i.ref.dataset.disabled!==``),lastValue=collection.find(i=>i.ref===targetEl)?.value;if(event.key===kbd.END?lastValue=collection.at(-1)?.value:event.key===kbd.HOME&&(lastValue=collection[0]?.value),!lastValue||!firstValue.value)return;let values=findValuesBetween(collection.map(i=>i.value),firstValue.value,lastValue);modelValue.value=values}}async function highlightSelected(event,scroll=!0){if(isClient)if(await nextTick(),isVirtual.value)virtualFocusHook.trigger({event,scroll});else{let collection=getCollectionItem(),item=collection.find(i=>i.dataset.state===`checked`),focus=scroll?void 0:!1;item?changeHighlight(item,scroll,focus):collection.length&&changeHighlight(collection[0],scroll,focus)}}let hasHighlightedOnMount=!1;return watch(modelValue,()=>{if(!isUserAction.value){let scroll=hasHighlightedOnMount;hasHighlightedOnMount=!0,nextTick(()=>{highlightSelected(void 0,scroll)})}},{immediate:!0,deep:!0}),__expose({highlightedElement,highlightItem,highlightFirstItem,highlightSelected,getItems}),provideListboxRootContext({modelValue,onValueChange,multiple,orientation,dir,disabled,highlightOnHover,highlightedElement,isVirtual,virtualFocusHook,virtualKeydownHook,virtualHighlightHook,by:props.by,firstValue,selectionBehavior,focusable,onLeave,onEnter,changeHighlight,onKeydownEnter,onKeydownNavigation,onKeydownTypeAhead,onCompositionStart,onCompositionEnd,highlightFirstItem}),(_ctx,_cache)=>(openBlock(),createBlock(unref(Primitive),{ref_key:`primitiveElement`,ref:primitiveElement,as:_ctx.as,"as-child":_ctx.asChild,dir:unref(dir),"data-disabled":unref(disabled)?``:void 0,onPointerleave:onLeave,onFocusout:_cache[0]||=async event=>{let target=event.relatedTarget||event.target;await nextTick(),highlightedElement.value&&unref(currentElement)&&!unref(currentElement).contains(target)&&onLeave(event)}},{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{modelValue:unref(modelValue)}),unref(isFormControl)&&_ctx.name?(openBlock(),createBlock(unref(VisuallyHiddenInput_default),{key:0,name:_ctx.name,value:unref(modelValue),disabled:unref(disabled),required:_ctx.required},null,8,[`name`,`value`,`disabled`,`required`])):createCommentVNode(`v-if`,!0)]),_:3},8,[`as`,`as-child`,`dir`,`data-disabled`]))}}),ListboxContent_default=defineComponent({__name:`ListboxContent`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(__props){let{CollectionSlot}=useCollection(),rootContext=injectListboxRootContext(),isClickFocus=refAutoReset(!1,10);return(_ctx,_cache)=>(openBlock(),createBlock(unref(CollectionSlot),null,{default:withCtx(()=>[createVNode(unref(Primitive),{role:`listbox`,as:_ctx.as,"as-child":_ctx.asChild,tabindex:unref(rootContext).focusable.value?unref(rootContext).highlightedElement.value?`-1`:`0`:`-1`,"aria-orientation":unref(rootContext).orientation.value,"aria-multiselectable":!!unref(rootContext).multiple.value,"data-orientation":unref(rootContext).orientation.value,onMousedown:_cache[0]||=withModifiers($event=>isClickFocus.value=!0,[`left`]),onFocus:_cache[1]||=ev=>{unref(isClickFocus)||unref(rootContext).onEnter(ev)},onKeydown:[_cache[2]||=withKeys(event=>{unref(rootContext).orientation.value===`vertical`&&(event.key===`ArrowLeft`||event.key===`ArrowRight`)||unref(rootContext).orientation.value===`horizontal`&&(event.key===`ArrowUp`||event.key===`ArrowDown`)||(event.preventDefault(),unref(rootContext).focusable.value&&unref(rootContext).onKeydownNavigation(event))},[`down`,`up`,`left`,`right`,`home`,`end`]),withKeys(unref(rootContext).onKeydownEnter,[`enter`]),unref(rootContext).onKeydownTypeAhead]},{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`)]),_:3},8,[`as`,`as-child`,`tabindex`,`aria-orientation`,`aria-multiselectable`,`data-orientation`,`onKeydown`])]),_:3}))}}),ListboxFilter_default=defineComponent({__name:`ListboxFilter`,props:{modelValue:{type:String,required:!1},autoFocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`input`}},emits:[`update:modelValue`],setup(__props,{emit:__emit}){let props=__props,modelValue=useVModel(props,`modelValue`,__emit,{defaultValue:``,passive:props.modelValue===void 0}),rootContext=injectListboxRootContext(),{primitiveElement,currentElement}=usePrimitiveElement(),disabled=computed(()=>props.disabled||rootContext.disabled.value||!1),activedescendant=ref();watchSyncEffect(()=>activedescendant.value=rootContext.highlightedElement.value?.id),onMounted(()=>{rootContext.focusable.value=!1,setTimeout(()=>{props.autoFocus&¤tElement.value?.focus()},1)}),onUnmounted(()=>{rootContext.focusable.value=!0});let{isComposing,handleCompositionStart,handleCompositionEnd}=useComposing(event=>{modelValue.value=event.target.value,rootContext.onCompositionEnd(),rootContext.highlightFirstItem()});function onCompositionStart(){rootContext.onCompositionStart(),handleCompositionStart()}function handleInput(event){isComposing.value||(modelValue.value=event.target.value,rootContext.highlightFirstItem())}function handleKeydownNavigation(event){isComposing.value||(event.preventDefault(),rootContext.onKeydownNavigation(event))}function handleKeydownEnter(event){isComposing.value||rootContext.onKeydownEnter(event)}return(_ctx,_cache)=>(openBlock(),createBlock(unref(Primitive),{ref_key:`primitiveElement`,ref:primitiveElement,as:_ctx.as,"as-child":_ctx.asChild,value:unref(modelValue),disabled:disabled.value?``:void 0,"data-disabled":disabled.value?``:void 0,"aria-disabled":disabled.value??void 0,"aria-activedescendant":activedescendant.value,type:`text`,onKeydown:[withKeys(handleKeydownNavigation,[`down`,`up`,`home`,`end`]),withKeys(handleKeydownEnter,[`enter`])],onInput:handleInput,onCompositionstart:onCompositionStart,onCompositionend:unref(handleCompositionEnd)},{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{modelValue:unref(modelValue)})]),_:3},8,[`as`,`as-child`,`value`,`disabled`,`data-disabled`,`aria-disabled`,`aria-activedescendant`,`onCompositionend`]))}}),LISTBOX_SELECT=`listbox.select`,[injectListboxItemContext,provideListboxItemContext]=createContext(`ListboxItem`),ListboxItem_default=defineComponent({__name:`ListboxItem`,props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`div`}},emits:[`select`],setup(__props,{emit:__emit}){let props=__props,emits=__emit,id=useId(void 0,`reka-listbox-item`),{CollectionItem}=useCollection(),{forwardRef,currentElement}=useForwardExpose(),rootContext=injectListboxRootContext(),isHighlighted=computed(()=>currentElement.value!=null&¤tElement.value===rootContext.highlightedElement.value),isSelected=computed(()=>valueComparator(rootContext.modelValue.value,props.value,rootContext.by)),disabled=computed(()=>rootContext.disabled.value||props.disabled);async function handleSelect(ev){emits(`select`,ev),!ev?.defaultPrevented&&!disabled.value&&ev&&(rootContext.onValueChange(props.value),rootContext.changeHighlight(currentElement.value))}function handleSelectCustomEvent(ev){handleAndDispatchCustomEvent(LISTBOX_SELECT,handleSelect,{originalEvent:ev,value:props.value})}return provideListboxItemContext({isSelected}),(_ctx,_cache)=>(openBlock(),createBlock(unref(CollectionItem),{value:_ctx.value},{default:withCtx(()=>[withMemo([isHighlighted.value,isSelected.value,disabled.value,unref(rootContext).focusable.value],()=>createVNode(unref(Primitive),mergeProps({id:unref(id)},_ctx.$attrs,{ref:unref(forwardRef),role:`option`,tabindex:unref(rootContext).focusable.value?isHighlighted.value?`0`:`-1`:-1,"aria-selected":isSelected.value,as:_ctx.as,"as-child":_ctx.asChild,disabled:disabled.value?``:void 0,"data-disabled":disabled.value?``:void 0,"data-highlighted":isHighlighted.value?``:void 0,"data-state":isSelected.value?`checked`:`unchecked`,onClick:handleSelectCustomEvent,onKeydown:withKeys(withModifiers(handleSelectCustomEvent,[`prevent`]),[`space`]),onPointermove:_cache[0]||=()=>{unref(rootContext).highlightedElement.value!==unref(currentElement)&&unref(rootContext).highlightOnHover.value&&unref(rootContext).changeHighlight(unref(currentElement),!1,!1)}}),{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`)]),_:3},16,[`id`,`tabindex`,`aria-selected`,`as`,`as-child`,`disabled`,`data-disabled`,`data-highlighted`,`data-state`,`onKeydown`]),_cache,1)]),_:3},8,[`value`]))}}),ListboxItemIndicator_default=defineComponent({__name:`ListboxItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(__props){let props=__props;useForwardExpose();let itemContext=injectListboxItemContext();return(_ctx,_cache)=>unref(itemContext).isSelected.value?(openBlock(),createBlock(unref(Primitive),mergeProps({key:0,"aria-hidden":`true`},props),{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`)]),_:3},16)):createCommentVNode(`v-if`,!0)}});function createLazyMeasurementsView(count,flat,getItemKey){let cache=Array(count);return new Proxy(cache,{get(target,prop,receiver){if(typeof prop==`string`){let c=prop.charCodeAt(0);if(c>=48&&c<=57){let i=+prop;if(Number.isInteger(i)&&i>=0&&i<count){let v=target[i];if(!v){let s=flat[i*2];v=target[i]={index:i,key:getItemKey(i),start:s,size:flat[i*2+1],end:s+flat[i*2+1],lane:0}}return v}}if(prop===`length`)return count}return Reflect.get(target,prop,receiver)}})}function memo(getDeps,fn,opts){let deps=opts.initialDeps??[],result,isInitial=!0;function memoizedFunction(){let newDeps=getDeps();return newDeps.length!==deps.length||newDeps.some((dep,index)=>deps[index]!==dep)?(deps=newDeps,result=fn(...newDeps),opts?.onChange&&!(isInitial&&opts.skipInitialOnChange)&&opts.onChange(result),isInitial=!1,result):result}return memoizedFunction.updateDeps=newDeps=>{deps=newDeps},memoizedFunction}function notUndefined(value,msg){if(value===void 0)throw Error(`Unexpected undefined${msg?`: ${msg}`:``}`);return value}var approxEqual=(a,b)=>Math.abs(a-b)<1.01,debounce=(targetWindow,fn,ms)=>{let timeoutId;return function(...args){targetWindow.clearTimeout(timeoutId),timeoutId=targetWindow.setTimeout(()=>fn.apply(this,args),ms)}},_isIOSResult,isIOSWebKit=()=>{if(_isIOSResult!==void 0)return _isIOSResult;if(typeof navigator>`u`)return _isIOSResult=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return _isIOSResult=!0;let mtp=navigator.maxTouchPoints;return _isIOSResult=navigator.platform===`MacIntel`&&mtp!==void 0&&mtp>0},getRect=element=>{let{offsetWidth,offsetHeight}=element;return{width:offsetWidth,height:offsetHeight}},defaultKeyExtractor=index=>index,defaultRangeExtractor=range=>{let start=Math.max(range.startIndex-range.overscan,0),len=Math.min(range.endIndex+range.overscan,range.count-1)-start+1,arr=Array(len);for(let i=0;i<len;i++)arr[i]=start+i;return arr},observeElementRect=(instance,cb)=>{let element=instance.scrollElement;if(!element)return;let targetWindow=instance.targetWindow;if(!targetWindow)return;let handler=rect=>{let{width,height}=rect;cb({width:Math.round(width),height:Math.round(height)})};if(handler(getRect(element)),!targetWindow.ResizeObserver)return()=>{};let observer=new targetWindow.ResizeObserver(entries=>{let run=()=>{let entry=entries[0];if(entry?.borderBoxSize){let box=entry.borderBoxSize[0];if(box){handler({width:box.inlineSize,height:box.blockSize});return}}handler(getRect(element))};instance.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(run):run()});return observer.observe(element,{box:`border-box`}),()=>{observer.unobserve(element)}},addEventListenerOptions={passive:!0},supportsScrollend=typeof window>`u`||`onscrollend`in window,observeOffset=(instance,cb,readOffset)=>{let element=instance.scrollElement;if(!element)return;let targetWindow=instance.targetWindow;if(!targetWindow)return;let registerScrollendEvent=instance.options.useScrollendEvent&&supportsScrollend,offset=0,fallback=registerScrollendEvent?null:debounce(targetWindow,()=>cb(offset,!1),instance.options.isScrollingResetDelay),createHandler=isScrolling=>()=>{offset=readOffset(element),fallback?.(),cb(offset,isScrolling)},handler=createHandler(!0),endHandler=createHandler(!1);return element.addEventListener(`scroll`,handler,addEventListenerOptions),registerScrollendEvent&&element.addEventListener(`scrollend`,endHandler,addEventListenerOptions),()=>{element.removeEventListener(`scroll`,handler),registerScrollendEvent&&element.removeEventListener(`scrollend`,endHandler)}},observeElementOffset=(instance,cb)=>observeOffset(instance,cb,el=>{let{horizontal,isRtl}=instance.options;return horizontal?el.scrollLeft*(isRtl&&-1||1):el.scrollTop}),measureElement=(element,entry,instance)=>{if(instance.options.useCachedMeasurements){let index=instance.indexFromElement(element),key=instance.options.getItemKey(index);return instance.itemSizeCache.get(key)??instance.options.estimateSize(index)}if(entry?.borderBoxSize){let box=entry.borderBoxSize[0];if(box)return Math.round(box[instance.options.horizontal?`inlineSize`:`blockSize`])}if(!entry){let index=instance.indexFromElement(element),key=instance.options.getItemKey(index),cachedSize=instance.itemSizeCache.get(key);if(cachedSize!==void 0)return cachedSize}return element[instance.options.horizontal?`offsetWidth`:`offsetHeight`]},elementScroll=(offset,{adjustments=0,behavior},instance)=>{var _a,_b;(_b=(_a=instance.scrollElement)?.scrollTo)==null||_b.call(_a,{[instance.options.horizontal?`left`:`top`]:offset+adjustments,behavior})},Virtualizer=class{constructor(opts){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var _b;return((_b=this.targetWindow?.performance)?.now)?.call(_b)??Date.now()},this.observer=(()=>{let _ro=null,get=()=>_ro||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:_ro=new this.targetWindow.ResizeObserver(entries=>{entries.forEach(entry=>{let run=()=>{let node=entry.target,index=this.indexFromElement(node);if(!node.isConnected){this.observer.unobserve(node);for(let[cacheKey,cachedNode]of this.elementsCache)if(cachedNode===node){this.elementsCache.delete(cacheKey);break}return}this.shouldMeasureDuringScroll(index)&&this.resizeItem(index,this.options.measureElement(node,entry,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(run):run()})}));return{disconnect:()=>{var _a;(_a=get())==null||_a.disconnect(),_ro=null},observe:target=>get()?.observe(target,{box:`border-box`}),unobserve:target=>get()?.unobserve(target)}})(),this.range=null,this.setOptions=opts2=>{let merged={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:defaultKeyExtractor,rangeExtractor:defaultRangeExtractor,onChange:()=>{},measureElement,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let key in opts2){let v=opts2[key];v!==void 0&&(merged[key]=v)}let prevOptions=this.options,anchor=null,followOnAppend=null,edgeKeysChanged=!1;if(prevOptions!==void 0&&prevOptions.enabled&&merged.enabled&&merged.anchorTo===`end`&&this.scrollElement!==null){let prevCount=prevOptions.count,nextCount=merged.count,measurements=this.getMeasurements(),prevFirstKey=prevCount>0?measurements[0]?.key??prevOptions.getItemKey(0):null,prevLastKey=prevCount>0?measurements[prevCount-1]?.key??prevOptions.getItemKey(prevCount-1):null;if(nextCount!==prevCount||prevCount>0&&nextCount>0&&(merged.getItemKey(0)!==prevFirstKey||merged.getItemKey(nextCount-1)!==prevLastKey)){edgeKeysChanged=!0;let item=prevCount>0?this.getVirtualItemForOffset(this.getScrollOffset())??measurements[0]:null;item&&(anchor=[item.key,this.getScrollOffset()-item.start]);let behavior=merged.followOnAppend===!0?`auto`:merged.followOnAppend||null;behavior&&nextCount>prevCount&&this.isAtEnd(prevOptions.scrollEndThreshold)&&(prevCount===0||merged.getItemKey(nextCount-1)!==prevLastKey)&&(followOnAppend=behavior)}}this.options=merged,edgeKeysChanged&&(this.pendingMin=0,this.itemSizeCacheVersion++);let anchorResolved=!1,anchorDelta=0;if(anchor&&this.scrollOffset!==null){let[anchorKey,anchorOffset]=anchor,newMeasurements=this.getMeasurements(),{count,getItemKey}=this.options,idx=0;for(;idx<count&&getItemKey(idx)!==anchorKey;)idx++;if(idx<count){let anchorItem=newMeasurements[idx];if(anchorItem){let newOffset=anchorItem.start+anchorOffset;newOffset!==this.scrollOffset&&(anchorDelta=newOffset-this.scrollOffset,this.scrollOffset=newOffset,anchorResolved=!0)}}}(anchorResolved||followOnAppend)&&(this.pendingScrollAnchor=[anchorResolved?anchor[0]:null,anchorResolved?anchor[1]:0,followOnAppend,anchorDelta])},this.notify=sync=>{var _a,_b;(_b=(_a=this.options).onChange)==null||_b.call(_a,this,sync)},this.maybeNotify=memo(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),isScrolling=>{this.notify(isScrolling)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(d=>d()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let scrollElement=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==scrollElement){if(this.cleanup(),!scrollElement){this.maybeNotify();return}if(this.scrollElement=scrollElement,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(cached=>{this.observer.observe(cached)}),this.unsubs.push(this.options.observeElementRect(this,rect=>{this.scrollRect=rect,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(offset,isScrolling)=>{if(isScrolling&&this._intendedScrollOffset===null&&offset===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(offset-this._intendedScrollOffset)<1.5&&(offset=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;let prevOffset=this.getScrollOffset();this.scrollDirection=isScrolling?prevOffset===offset?this.scrollDirection:prevOffset<offset?`forward`:`backward`:null,this.scrollOffset=offset,this.isScrolling=isScrolling,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let scrollEl=this.scrollElement,onTouchStart=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},onTouchEnd=()=>{this._iosTouching=!1,!(!isIOSWebKit()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};scrollEl.addEventListener(`touchstart`,onTouchStart,addEventListenerOptions),scrollEl.addEventListener(`touchend`,onTouchEnd,addEventListenerOptions),this.unsubs.push(()=>{scrollEl.removeEventListener(`touchstart`,onTouchStart),scrollEl.removeEventListener(`touchend`,onTouchEnd),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let anchor=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,anchor&&this.scrollElement&&this.options.enabled){let[key,_offset,followOnAppend,anchorDelta]=anchor;key!==null&&!followOnAppend&&(isIOSWebKit()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?anchorDelta!==0&&(this._iosDeferredAdjustment+=anchorDelta):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),followOnAppend&&this.scrollToEnd({behavior:followOnAppend})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let cur=this.getScrollOffset(),max=this.getMaxScrollOffset();if(cur<0||cur>max)return;let delta=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(cur,{adjustments:this.scrollAdjustments+=delta,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=memo(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(count,paddingStart,scrollMargin,getItemKey,enabled,lanes,laneAssignmentMode,gap)=>(this.prevLanes!==void 0&&this.prevLanes!==lanes&&(this.lanesChangedFlag=!0),this.prevLanes=lanes,this.pendingMin=null,{count,paddingStart,scrollMargin,getItemKey,enabled,lanes,laneAssignmentMode,gap}),{key:!1}),this.getMeasurements=memo(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count,paddingStart,scrollMargin,getItemKey,enabled,lanes,laneAssignmentMode,gap},_itemSizeCacheVersion)=>{let itemSizeCache=this.itemSizeCache;if(!enabled)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>count)for(let index of this.laneAssignments.keys())index>=count&&this.laneAssignments.delete(index);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(item=>{this.itemSizeCache.set(item.key,item.size)}));let min=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===count&&(this.lanesSettling=!1),lanes===1){let need=count*2,flat=this._flatMeasurements;if(!flat||flat.length<need){let next=new Float64Array(need);flat&&min>0&&next.set(flat.subarray(0,min*2)),flat=next,this._flatMeasurements=flat}let runningStart;if(min===0)runningStart=paddingStart+scrollMargin;else{let prevIdx=min-1;runningStart=flat[prevIdx*2]+flat[prevIdx*2+1]+gap}for(let i=min;i<count;i++){let key=getItemKey(i),measuredSize=itemSizeCache.get(key),size=typeof measuredSize==`number`?measuredSize:this.options.estimateSize(i);flat[i*2]=runningStart,flat[i*2+1]=size,runningStart+=size+gap}let view=createLazyMeasurementsView(count,flat,getItemKey);return this.measurementsCache=view,view}let measurements=this.measurementsCache.slice(0,min),laneLastIndex=Array(lanes).fill(void 0),laneEnds=new Float64Array(lanes),filledLanes=0;for(let m=0;m<min;m++){let item=measurements[m];item&&(laneLastIndex[item.lane]===void 0&&filledLanes++,laneLastIndex[item.lane]=m,laneEnds[item.lane]=item.end)}for(let i=min;i<count;i++){let key=getItemKey(i),cachedLane=this.laneAssignments.get(i),lane,start,shouldCacheLane=laneAssignmentMode===`estimate`||itemSizeCache.has(key);if(cachedLane!==void 0&&this.options.lanes>1){lane=cachedLane;let prevIndex=laneLastIndex[lane],prevInLane=prevIndex===void 0?void 0:measurements[prevIndex];start=prevInLane?prevInLane.end+gap:paddingStart+scrollMargin}else if(filledLanes===lanes){let bestLane=0,bestEnd=laneEnds[0],bestIdx=laneLastIndex[0];for(let l=1;l<lanes;l++){let e=laneEnds[l];(e<bestEnd||e===bestEnd&&laneLastIndex[l]<bestIdx)&&(bestLane=l,bestEnd=e,bestIdx=laneLastIndex[l])}lane=bestLane,start=bestEnd+gap,shouldCacheLane&&this.laneAssignments.set(i,lane)}else lane=i%this.options.lanes,start=paddingStart+scrollMargin,shouldCacheLane&&this.laneAssignments.set(i,lane);let measuredSize=itemSizeCache.get(key),size=typeof measuredSize==`number`?measuredSize:this.options.estimateSize(i),end=start+size;measurements[i]={index:i,start,size,end,key,lane},laneLastIndex[lane]===void 0&&filledLanes++,laneLastIndex[lane]=i,laneEnds[lane]=end}return this.measurementsCache=measurements,measurements},{key:!1,debug:()=>this.options.debug}),this.calculateRange=memo(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(measurements,outerSize,scrollOffset,lanes)=>measurements.length===0||outerSize===0?(this.range=null,null):(this.range=calculateRangeImpl(measurements,outerSize,scrollOffset,lanes,lanes===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=memo(()=>{let startIndex=null,endIndex=null,range=this.calculateRange();return range&&(startIndex=range.startIndex,endIndex=range.endIndex),this.maybeNotify.updateDeps([this.isScrolling,startIndex,endIndex]),[this.options.rangeExtractor,this.options.overscan,this.options.count,startIndex,endIndex]},(rangeExtractor,overscan,count,startIndex,endIndex)=>startIndex===null||endIndex===null?[]:rangeExtractor({startIndex,endIndex,overscan,count}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=node=>{let attributeName=this.options.indexAttribute,indexStr=node.getAttribute(attributeName);return indexStr?parseInt(indexStr,10):(console.warn(`Missing attribute name '${attributeName}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=index=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let scrollIndex=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(scrollIndex!==void 0&&this.range){let bufferSize=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),minIndex=Math.max(0,scrollIndex-bufferSize),maxIndex=Math.min(this.options.count-1,scrollIndex+bufferSize);return index>=minIndex&&index<=maxIndex}return!0},this.measureElement=node=>{if(!node){this.elementsCache.forEach((cached,key2)=>{cached.isConnected||(this.observer.unobserve(cached),this.elementsCache.delete(key2))});return}let index=this.indexFromElement(node),key=this.options.getItemKey(index),prevNode=this.elementsCache.get(key);prevNode!==node&&(prevNode&&this.observer.unobserve(prevNode),this.observer.observe(node),this.elementsCache.set(key,node)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(index)&&this.resizeItem(index,this.options.measureElement(node,void 0,this))},this.resizeItem=(index,size)=>{if(index<0||index>=this.options.count)return;let cachedSize,itemStart,key,flat=this._flatMeasurements;if(this.options.lanes===1&&flat!==null)key=this.options.getItemKey(index),itemStart=flat[index*2],cachedSize=flat[index*2+1];else{let item=this.measurementsCache[index];if(!item)return;key=item.key,itemStart=item.start,cachedSize=item.size}let delta=size-(this.itemSizeCache.get(key)??cachedSize);if(delta!==0){let wasAtEnd=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,prevTotalSize=wasAtEnd?this.getTotalSize():0,shouldAdjustScroll=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?itemStart<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(key)||this.scrollDirection!==`backward`):this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[index]??{index,key,start:itemStart,size:cachedSize,end:itemStart+cachedSize,lane:0},delta,this));(this.pendingMin===null||index<this.pendingMin)&&(this.pendingMin=index),this.itemSizeCache.set(key,size),this.itemSizeCacheVersion++,wasAtEnd?this.applyScrollAdjustment(this.getTotalSize()-prevTotalSize):shouldAdjustScroll&&this.applyScrollAdjustment(delta),this.notify(!1)}},this.getVirtualItems=memo(()=>[this.getVirtualIndexes(),this.getMeasurements()],(indexes,measurements)=>{let virtualItems=[];for(let k=0,len=indexes.length;k<len;k++){let measurement=measurements[indexes[k]];virtualItems.push(measurement)}return virtualItems},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=offset=>{let measurements=this.getMeasurements();if(measurements.length===0)return;let flat=this._flatMeasurements,useFlat=this.options.lanes===1&&flat!=null;return notUndefined(measurements[findNearestBinarySearch(0,measurements.length-1,useFlat?i=>flat[i*2]:i=>notUndefined(measurements[i]).start,offset)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let doc=this.scrollElement.document.documentElement;return this.options.horizontal?doc.scrollWidth-this.scrollElement.innerWidth:doc.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(threshold=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=threshold,this.getOffsetForAlignment=(toOffset,align,itemSize=0)=>{if(!this.scrollElement)return 0;let size=this.getSize(),scrollOffset=this.getScrollOffset();align===`auto`&&(align=toOffset>=scrollOffset+size?`end`:`start`),align===`center`?toOffset+=(itemSize-size)/2:align===`end`&&(toOffset-=size);let maxOffset=this.getMaxScrollOffset();return Math.max(Math.min(maxOffset,toOffset),0)},this.getOffsetForIndex=(index,align=`auto`)=>{index=Math.max(0,Math.min(index,this.options.count-1));let size=this.getSize(),scrollOffset=this.getScrollOffset(),item=this.measurementsCache[index];if(!item)return;if(align===`auto`)if(item.end>=scrollOffset+size-this.options.scrollPaddingEnd)align=`end`;else if(item.start<=scrollOffset+this.options.scrollPaddingStart)align=`start`;else return[scrollOffset,align];if(align===`end`&&index===this.options.count-1)return[this.getMaxScrollOffset(),align];let toOffset=align===`end`?item.end+this.options.scrollPaddingEnd:item.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(toOffset,align,item.size),align]},this.scrollToOffset=(toOffset,{align=`start`,behavior=`auto`}={})=>{let offset=this.getOffsetForAlignment(toOffset,align),now=this.now();this.scrollState={index:null,align,behavior,startedAt:now,lastTargetOffset:offset,stableFrames:0},this._scrollToOffset(offset,{adjustments:void 0,behavior}),this.scheduleScrollReconcile()},this.scrollToIndex=(index,{align:initialAlign=`auto`,behavior=`auto`}={})=>{index=Math.max(0,Math.min(index,this.options.count-1));let offsetInfo=this.getOffsetForIndex(index,initialAlign);if(!offsetInfo)return;let[offset,align]=offsetInfo,now=this.now();this.scrollState={index,align,behavior,startedAt:now,lastTargetOffset:offset,stableFrames:0},this._scrollToOffset(offset,{adjustments:void 0,behavior}),this.scheduleScrollReconcile()},this.scrollBy=(delta,{behavior=`auto`}={})=>{let offset=this.getScrollOffset()+delta,now=this.now();this.scrollState={index:null,align:`start`,behavior,startedAt:now,lastTargetOffset:offset,stableFrames:0},this._scrollToOffset(offset,{adjustments:void 0,behavior}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior})},this.getTotalSize=()=>{let measurements=this.getMeasurements(),end;if(measurements.length===0)end=this.options.paddingStart;else if(this.options.lanes===1){let lastIdx=measurements.length-1,flat=this._flatMeasurements;end=flat==null?measurements[lastIdx]?.end??0:flat[lastIdx*2]+flat[lastIdx*2+1]}else{let endByLane=Array(this.options.lanes).fill(null),endIndex=measurements.length-1;for(;endIndex>=0&&endByLane.some(val=>val===null);){let item=measurements[endIndex];endByLane[item.lane]===null&&(endByLane[item.lane]=item.end),endIndex--}end=Math.max(...endByLane.filter(val=>val!==null))}return Math.max(end-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let snapshot=[];if(this.itemSizeCache.size===0)return snapshot;let m=this.getMeasurements();for(let item of m)item&&this.itemSizeCache.has(item.key)&&snapshot.push({index:item.index,key:item.key,start:item.start,size:item.size,end:item.end,lane:item.lane});return snapshot},this._scrollToOffset=(offset,{adjustments,behavior})=>{this._intendedScrollOffset=offset+(adjustments??0),this.options.scrollToFn(offset,{behavior,adjustments},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(opts)}applyScrollAdjustment(delta,behavior){delta!==0&&(isIOSWebKit()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=delta:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=delta,behavior}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let offsetInfo=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),targetOffset=offsetInfo?offsetInfo[0]:this.scrollState.lastTargetOffset,targetChanged=targetOffset!==this.scrollState.lastTargetOffset;if(!targetChanged&&approxEqual(targetOffset,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==targetOffset&&this._scrollToOffset(targetOffset,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,targetChanged){let viewport=this.getSize()||600,distance=Math.abs(targetOffset-this.getScrollOffset()),keepSmooth=this.scrollState.behavior===`smooth`&&distance>viewport;this.scrollState.lastTargetOffset=targetOffset,keepSmooth||(this.scrollState.behavior=`auto`),this._scrollToOffset(targetOffset,{adjustments:void 0,behavior:keepSmooth?`smooth`:`auto`})}this.scheduleScrollReconcile()}},findNearestBinarySearch=(low,high,getCurrentValue,value)=>{for(;low<=high;){let middle=(low+high)/2|0,currentValue=getCurrentValue(middle);if(currentValue<value)low=middle+1;else if(currentValue>value)high=middle-1;else return middle}return low>0?low-1:0};function findNearestBinarySearchFlat(flat,high,value){let low=0;for(;low<=high;){let middle=(low+high)/2|0,currentValue=flat[middle*2];if(currentValue<value)low=middle+1;else if(currentValue>value)high=middle-1;else return middle}return low>0?low-1:0}function calculateRangeImpl(measurements,outerSize,scrollOffset,lanes,flat){let lastIndex=measurements.length-1;if(measurements.length<=lanes)return{startIndex:0,endIndex:lastIndex};if(lanes===1&&flat!==null){let startIndex2=findNearestBinarySearchFlat(flat,lastIndex,scrollOffset),endIndex2=startIndex2,limit=scrollOffset+outerSize;for(;endIndex2<lastIndex&&flat[endIndex2*2]+flat[endIndex2*2+1]<limit;)endIndex2++;return{startIndex:startIndex2,endIndex:endIndex2}}let startIndex=findNearestBinarySearch(0,lastIndex,index=>measurements[index].start,scrollOffset),endIndex=startIndex;if(lanes===1)for(;endIndex<lastIndex&&measurements[endIndex].end<scrollOffset+outerSize;)endIndex++;else if(lanes>1){let endPerLane=Array(lanes).fill(0);for(;endIndex<lastIndex&&endPerLane.some(pos=>pos<scrollOffset+outerSize);){let item=measurements[endIndex];endPerLane[item.lane]=item.end,endIndex++}let startPerLane=Array(lanes).fill(scrollOffset+outerSize);for(;startIndex>=0&&startPerLane.some(pos=>pos>=scrollOffset);){let item=measurements[startIndex];startPerLane[item.lane]=item.start,startIndex--}startIndex=Math.max(0,startIndex-startIndex%lanes),endIndex=Math.min(lastIndex,endIndex+(lanes-1-endIndex%lanes))}return{startIndex,endIndex}}function useVirtualizerBase(options){let virtualizer=new Virtualizer(unref(options)),state=shallowRef(virtualizer),cleanup=virtualizer._didMount();return watch(()=>unref(options).getScrollElement(),el=>{el&&virtualizer._willUpdate()},{immediate:!0}),watch(()=>unref(options),options2=>{virtualizer.setOptions({...options2,onChange:(instance,sync)=>{var _a;triggerRef(state),(_a=options2.onChange)==null||_a.call(options2,instance,sync)}}),virtualizer._willUpdate(),triggerRef(state)},{immediate:!0}),onScopeDispose(cleanup),state}function useVirtualizer(options){return useVirtualizerBase(computed(()=>({observeElementRect,observeElementOffset,scrollToFn:elementScroll,...unref(options)})))}var ListboxVirtualizer_default=defineComponent({__name:`ListboxVirtualizer`,props:{options:{type:Array,required:!0},overscan:{type:Number,required:!1},estimateSize:{type:[Number,Function],required:!1},textContent:{type:Function,required:!1}},setup(__props){let props=__props,slots=useSlots(),rootContext=injectListboxRootContext(),parentEl=useParentElement(),{getItems}=useCollection();rootContext.isVirtual.value=!0;let padding=computed(()=>{let el=parentEl.value;if(el){let styles=window.getComputedStyle(el);return{start:Number.parseFloat(styles.paddingBlockStart||styles.paddingTop),end:Number.parseFloat(styles.paddingBlockEnd||styles.paddingBottom)}}else return{start:0,end:0}}),virtualizer=useVirtualizer({get scrollPaddingStart(){return padding.value.start},get scrollPaddingEnd(){return padding.value.end},get count(){return props.options.length},get horizontal(){return rootContext.orientation.value===`horizontal`},estimateSize(index){return typeof props.estimateSize==`function`?props.estimateSize(index):props.estimateSize??28},getScrollElement(){return parentEl.value},overscan:props.overscan??12}),virtualizedItems=computed(()=>virtualizer.value.getVirtualItems().map(item=>{let defaultNode=slots.default({option:props.options[item.index],virtualizer:virtualizer.value,virtualItem:item})[0];return{item,is:cloneVNode(defaultNode.type===Fragment&&Array.isArray(defaultNode.children)?defaultNode.children.find(child=>typeof child.type!=`symbol`):defaultNode,{key:`${item.key}`,"data-index":item.index,"aria-setsize":props.options.length,"aria-posinset":item.index+1,style:{position:`absolute`,top:0,left:0,transform:`translateY(${item.start}px)`,overflowAnchor:`none`}})}}));rootContext.virtualFocusHook.on(({event,scroll})=>{let index=props.options.findIndex(option=>Array.isArray(rootContext.modelValue.value)?compare(option,rootContext.modelValue.value[0],rootContext.by):compare(option,rootContext.modelValue.value,rootContext.by));index===-1?scroll?rootContext.highlightFirstItem():requestAnimationFrame(()=>{let item=getItems().find(i=>i.ref.dataset.disabled!==``)?.ref;item&&rootContext.changeHighlight(item,!1,!1)}):(event?.preventDefault(),virtualizer.value.scrollToIndex(index,{align:`start`}),requestAnimationFrame(()=>{let item=queryCheckedElement(parentEl.value);item&&(rootContext.changeHighlight(item,scroll,scroll?void 0:!1),event&&item?.focus())}))}),rootContext.virtualHighlightHook.on(value=>{let index=props.options.findIndex(option=>compare(option,value,rootContext.by));virtualizer.value.scrollToIndex(index,{align:`start`}),requestAnimationFrame(()=>{let item=queryCheckedElement(parentEl.value);item&&rootContext.changeHighlight(item)})});let search=refAutoReset(``,1e3),optionsWithMetadata=computed(()=>{let parseTextContent=option=>props.textContent?props.textContent(option):option?.toString().toLowerCase();return props.options.map((option,index)=>({index,textContent:parseTextContent(option)}))});function handleMultipleReplace(event,intent){if(!rootContext.firstValue?.value||!rootContext.multiple.value||!Array.isArray(rootContext.modelValue.value))return;let lastValue=getItems().filter(i=>i.ref.dataset.disabled!==``).find(i=>i.ref===rootContext.highlightedElement.value)?.value;if(!lastValue)return;let value=null;switch(intent){case`prev`:case`next`:value=findValuesBetween(props.options,rootContext.firstValue.value,lastValue);break;case`first`:value=findValuesBetween(props.options,rootContext.firstValue.value,props.options?.[0]);break;case`last`:value=findValuesBetween(props.options,rootContext.firstValue.value,props.options.at(-1));break}rootContext.modelValue.value=value}return rootContext.virtualKeydownHook.on(event=>{let isMetaKey=event.altKey||event.ctrlKey||event.metaKey;if(event.key===`Tab`&&!isMetaKey)return;let intent=MAP_KEY_TO_FOCUS_INTENT[event.key];if(isMetaKey&&event.key===`a`&&rootContext.multiple.value?(event.preventDefault(),rootContext.modelValue.value=[...props.options],intent=`last`):event.shiftKey&&intent&&handleMultipleReplace(event,intent),[`first`,`last`].includes(intent)){event.preventDefault();let index=intent===`first`?0:props.options.length-1;virtualizer.value.scrollToIndex(index),requestAnimationFrame(()=>{let items=getItems(),item=intent===`first`?items[0]:items.at(-1);item&&rootContext.changeHighlight(item.ref)})}else if(!intent&&!isMetaKey){search.value+=event.key;let currentIndex=Number(getActiveElement()?.getAttribute(`data-index`)),currentMatch=optionsWithMetadata.value[currentIndex].textContent,next=getNextMatch(optionsWithMetadata.value.map(i=>i.textContent??``),search.value,currentMatch),nextMatch=optionsWithMetadata.value.find(option=>option.textContent===next);nextMatch&&(virtualizer.value.scrollToIndex(nextMatch.index,{align:`start`}),requestAnimationFrame(()=>{let item=parentEl.value.querySelector(`[data-index="${nextMatch.index}"]`);item instanceof HTMLElement&&rootContext.changeHighlight(item)}))}}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{"data-reka-virtualizer":``,style:normalizeStyle({position:`relative`,width:`100%`,height:`${unref(virtualizer).getTotalSize()}px`})},[(openBlock(!0),createElementBlock(Fragment,null,renderList(virtualizedItems.value,({is,item})=>(openBlock(),createBlock(resolveDynamicComponent(is),{key:item.index}))),128))],4))}}),[injectPopperRootContext,providePopperRootContext]=createContext(`PopperRoot`),PopperRoot_default=defineComponent({inheritAttrs:!1,__name:`PopperRoot`,setup(__props){let anchor=ref();return providePopperRootContext({anchor,onAnchorChange:element=>anchor.value=element}),(_ctx,_cache)=>renderSlot(_ctx.$slots,`default`)}});function isNotNull(value){return value!==null}function transformOrigin(options){return{name:`transformOrigin`,options,fn(data){let{placement,rects,middlewareData}=data,isArrowHidden=middlewareData.arrow?.centerOffset!==0,arrowWidth=isArrowHidden?0:options.arrowWidth,arrowHeight=isArrowHidden?0:options.arrowHeight,[placedSide,placedAlign]=getSideAndAlignFromPlacement(placement),noArrowAlignX={start:options.dir===`rtl`?`100%`:`0%`,center:`50%`,end:options.dir===`rtl`?`0%`:`100%`}[placedAlign],noArrowAlignY={start:`0%`,center:`50%`,end:`100%`}[placedAlign],arrowXCenter=(middlewareData.arrow?.x??0)+arrowWidth/2,arrowYCenter=(middlewareData.arrow?.y??0)+arrowHeight/2,x=``,y=``;return placedSide===`bottom`?(x=isArrowHidden?noArrowAlignX:`${arrowXCenter}px`,y=`${-arrowHeight}px`):placedSide===`top`?(x=isArrowHidden?noArrowAlignX:`${arrowXCenter}px`,y=`${rects.floating.height+arrowHeight}px`):placedSide===`right`?(x=`${-arrowHeight}px`,y=isArrowHidden?noArrowAlignY:`${arrowYCenter}px`):placedSide===`left`&&(x=`${rects.floating.width+arrowHeight}px`,y=isArrowHidden?noArrowAlignY:`${arrowYCenter}px`),{data:{x,y}}}}}function getSideAndAlignFromPlacement(placement){let[side,align=`center`]=placement.split(`-`);return[side,align]}function isComponentPublicInstance(target){return typeof target==`object`&&!!target&&`$el`in target}function unwrapElement(target){if(isComponentPublicInstance(target)){let element=target.$el;return isNode(element)&&getNodeName(element)===`#comment`?null:element}return target}function toValue(source){return typeof source==`function`?source():unref(source)}function arrow(options){return{name:`arrow`,options,fn(args){let element=unwrapElement(toValue(options.element));return element==null?{}:arrow$1({element,padding:options.padding}).fn(args)}}}function getDPR(element){return typeof window>`u`?1:(element.ownerDocument.defaultView||window).devicePixelRatio||1}function roundByDPR(element,value){let dpr=getDPR(element);return Math.round(value*dpr)/dpr}function useFloating(reference,floating,options){options===void 0&&(options={});let whileElementsMountedOption=options.whileElementsMounted,openOption=computed(()=>toValue(options.open)??!0),middlewareOption=computed(()=>toValue(options.middleware)),placementOption=computed(()=>toValue(options.placement)??`bottom`),strategyOption=computed(()=>toValue(options.strategy)??`absolute`),transformOption=computed(()=>toValue(options.transform)??!0),referenceElement=computed(()=>unwrapElement(reference.value)),floatingElement=computed(()=>unwrapElement(floating.value)),x=ref(0),y=ref(0),strategy=ref(strategyOption.value),placement=ref(placementOption.value),middlewareData=shallowRef({}),isPositioned=ref(!1),floatingStyles=computed(()=>{let initialStyles={position:strategy.value,left:`0`,top:`0`};if(!floatingElement.value)return initialStyles;let xVal=roundByDPR(floatingElement.value,x.value),yVal=roundByDPR(floatingElement.value,y.value);return transformOption.value?{...initialStyles,transform:`translate(`+xVal+`px, `+yVal+`px)`,...getDPR(floatingElement.value)>=1.5&&{willChange:`transform`}}:{position:strategy.value,left:xVal+`px`,top:yVal+`px`}}),whileElementsMountedCleanup;function update(){if(referenceElement.value==null||floatingElement.value==null)return;let open=openOption.value;computePosition(referenceElement.value,floatingElement.value,{middleware:middlewareOption.value,placement:placementOption.value,strategy:strategyOption.value}).then(position=>{x.value=position.x,y.value=position.y,strategy.value=position.strategy,placement.value=position.placement,middlewareData.value=position.middlewareData,isPositioned.value=open!==!1})}function cleanup(){typeof whileElementsMountedCleanup==`function`&&(whileElementsMountedCleanup(),whileElementsMountedCleanup=void 0)}function attach(){if(cleanup(),whileElementsMountedOption===void 0){update();return}if(referenceElement.value!=null&&floatingElement.value!=null){whileElementsMountedCleanup=whileElementsMountedOption(referenceElement.value,floatingElement.value,update);return}}function reset(){openOption.value||(isPositioned.value=!1)}return watch([middlewareOption,placementOption,strategyOption,openOption],update,{flush:`sync`}),watch([referenceElement,floatingElement],attach,{flush:`sync`}),watch(openOption,reset,{flush:`sync`}),getCurrentScope()&&onScopeDispose(cleanup),{x:shallowReadonly(x),y:shallowReadonly(y),strategy:shallowReadonly(strategy),placement:shallowReadonly(placement),middlewareData:shallowReadonly(middlewareData),isPositioned:shallowReadonly(isPositioned),floatingStyles,update}}var _hoisted_1$1=[`dir`],PopperContentPropsDefaultValue={side:`bottom`,sideOffset:0,sideFlip:!0,align:`center`,alignOffset:0,alignFlip:!0,arrowPadding:0,hideShiftedArrow:!0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:`partial`,hideWhenDetached:!1,positionStrategy:`fixed`,updatePositionStrategy:`optimized`,prioritizePosition:!1},[injectPopperContentContext,providePopperContentContext]=createContext(`PopperContent`),PopperContent_default=defineComponent({inheritAttrs:!1,__name:`PopperContent`,props:mergeDefaults({memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...PopperContentPropsDefaultValue}),emits:[`placed`],setup(__props,{emit:__emit}){let props=__props,emits=__emit,rootContext=injectPopperRootContext(),{forwardRef,currentElement:contentElement}=useForwardExpose(),dir=useDirection(computed(()=>props.dir)),floatingRef=ref(),arrow$1=ref(),{width:arrowWidth,height:arrowHeight}=useSize(arrow$1),desiredPlacement=computed(()=>props.side+(props.align===`center`?``:`-${props.align}`)),collisionPadding=computed(()=>typeof props.collisionPadding==`number`?props.collisionPadding:{top:0,right:0,bottom:0,left:0,...props.collisionPadding}),boundary=computed(()=>Array.isArray(props.collisionBoundary)?props.collisionBoundary:[props.collisionBoundary]),detectOverflowOptions=computed(()=>({padding:collisionPadding.value,boundary:boundary.value.filter(isNotNull),altBoundary:boundary.value.length>0})),flipOptions=computed(()=>({mainAxis:props.sideFlip,crossAxis:props.alignFlip})),computedMiddleware=computed(()=>[offset({mainAxis:props.sideOffset+arrowHeight.value,alignmentAxis:props.alignOffset}),props.prioritizePosition&&props.avoidCollisions&&flip({...detectOverflowOptions.value,...flipOptions.value}),props.avoidCollisions&&shift({mainAxis:!0,crossAxis:!!props.prioritizePosition,limiter:props.sticky===`partial`?limitShift():void 0,...detectOverflowOptions.value}),!props.prioritizePosition&&props.avoidCollisions&&flip({...detectOverflowOptions.value,...flipOptions.value}),size({...detectOverflowOptions.value,apply:({elements,rects,availableWidth,availableHeight})=>{let{width:anchorWidth,height:anchorHeight}=rects.reference,contentStyle=elements.floating.style;contentStyle.setProperty(`--reka-popper-available-width`,`${availableWidth}px`),contentStyle.setProperty(`--reka-popper-available-height`,`${availableHeight}px`),contentStyle.setProperty(`--reka-popper-anchor-width`,`${anchorWidth}px`),contentStyle.setProperty(`--reka-popper-anchor-height`,`${anchorHeight}px`)}}),arrow$1.value&&arrow({element:arrow$1.value,padding:props.arrowPadding}),transformOrigin({arrowWidth:arrowWidth.value,arrowHeight:arrowHeight.value,dir:dir.value}),props.hideWhenDetached&&hide({strategy:`referenceHidden`,...detectOverflowOptions.value})]),{floatingStyles,placement,isPositioned,middlewareData,update}=useFloating(computed(()=>props.reference??rootContext.anchor.value),floatingRef,{strategy:props.positionStrategy,placement:desiredPlacement,whileElementsMounted:(...args)=>autoUpdate(...args,{layoutShift:!props.disableUpdateOnLayoutShift,animationFrame:props.updatePositionStrategy===`always`}),middleware:computedMiddleware}),placedSide=computed(()=>getSideAndAlignFromPlacement(placement.value)[0]),placedAlign=computed(()=>getSideAndAlignFromPlacement(placement.value)[1]);watchPostEffect(()=>{isPositioned.value&&emits(`placed`)});let shouldHideArrow=computed(()=>{let cannotCenterArrow=middlewareData.value.arrow?.centerOffset!==0;return props.hideShiftedArrow&&cannotCenterArrow}),contentZIndex=ref(``);return watchEffect(()=>{contentElement.value&&(contentZIndex.value=window.getComputedStyle(contentElement.value).zIndex)}),providePopperContentContext({placedSide,onArrowChange:element=>arrow$1.value=element,arrowX:computed(()=>middlewareData.value.arrow?.x??0),arrowY:computed(()=>middlewareData.value.arrow?.y??0),shouldHideArrow}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`floatingRef`,ref:floatingRef,"data-reka-popper-content-wrapper":``,dir:unref(dir),style:normalizeStyle({...unref(floatingStyles),transform:unref(isPositioned)?unref(floatingStyles).transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:contentZIndex.value,"--reka-popper-transform-origin":[unref(middlewareData).transformOrigin?.x,unref(middlewareData).transformOrigin?.y].join(` `),...unref(middlewareData).hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}})},[props.memoDependencies?withMemo([props.asChild,props.as,placedSide.value,placedAlign.value,unref(isPositioned),...Object.values(_ctx.$attrs),...props.memoDependencies],()=>(openBlock(),createBlock(unref(Primitive),mergeProps({key:0,ref:unref(forwardRef)},_ctx.$attrs,{"as-child":props.asChild,as:props.as,"data-side":placedSide.value,"data-align":placedAlign.value,style:{animation:unref(isPositioned)?void 0:`none`}}),{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`style`])),_cache,0):(openBlock(),createBlock(unref(Primitive),mergeProps({key:1,ref:unref(forwardRef)},_ctx.$attrs,{"as-child":props.asChild,as:props.as,"data-side":placedSide.value,"data-align":placedAlign.value,dir:unref(dir),style:{animation:unref(isPositioned)?void 0:`none`}}),{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`dir`,`style`]))],12,_hoisted_1$1))}}),[injectComboboxRootContext,provideComboboxRootContext]=createContext(`ComboboxRoot`),ComboboxRoot_default=defineComponent({__name:`ComboboxRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},resetSearchTermOnBlur:{type:Boolean,required:!1,default:!0},resetSearchTermOnSelect:{type:Boolean,required:!1,default:!0},openOnFocus:{type:Boolean,required:!1,default:!1},openOnClick:{type:Boolean,required:!1,default:!1},ignoreFilter:{type:Boolean,required:!1},resetModelValueOnClear:{type:Boolean,required:!1,default:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},multiple:{type:Boolean,required:!1},dir:{type:String,required:!1},disabled:{type:Boolean,required:!1},highlightOnHover:{type:Boolean,required:!1,default:!0},by:{type:[String,Function],required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`highlight`,`update:open`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emits=__emit,{primitiveElement,currentElement:parentElement}=usePrimitiveElement(),{multiple,disabled,ignoreFilter,resetSearchTermOnSelect,openOnFocus,openOnClick,dir:propDir,resetModelValueOnClear,highlightOnHover}=toRefs(props),dir=useDirection(propDir),modelValue=useVModel(props,`modelValue`,emits,{defaultValue:props.defaultValue??(multiple.value?[]:void 0),passive:props.modelValue===void 0,deep:!0}),open=useVModel(props,`open`,emits,{defaultValue:props.defaultOpen,passive:props.open===void 0});async function onOpenChange(val){open.value=val,filterSearch.value=``,val?(await nextTick(),primitiveElement.value?.highlightSelected(),isUserInputted.value=!0,inputElement.value?.focus()):(isUserInputted.value=!1,setTimeout(()=>{!val&&props.resetSearchTermOnBlur&&resetSearchTerm.trigger()},1))}let resetSearchTerm=createEventHook(),isUserInputted=ref(!1),isVirtual=ref(!1),inputElement=ref(),triggerElement=ref(),highlightedElement=computed(()=>primitiveElement.value?.highlightedElement??void 0),allItems=ref(new Map),allGroups=ref(new Map),{contains}=useFilter({sensitivity:`base`}),filterSearch=ref(``),filterState=computed(oldValue=>{if(!filterSearch.value||props.ignoreFilter||isVirtual.value)return{count:allItems.value.size,items:oldValue?.items??new Map,groups:oldValue?.groups??new Set(allGroups.value.keys())};let itemCount=0,filteredItems=new Map,filteredGroups=new Set;for(let[id,value]of allItems.value){let score=contains(value,filterSearch.value);filteredItems.set(id,+!!score),score&&itemCount++}for(let[groupId,group]of allGroups.value)for(let itemId of group)if(filteredItems.get(itemId)>0){filteredGroups.add(groupId);break}return{count:itemCount,items:filteredItems,groups:filteredGroups}}),inst=getCurrentInstance();return onMounted(()=>{inst?.exposed&&(inst.exposed.highlightItem=primitiveElement.value?.highlightItem,inst.exposed.highlightFirstItem=primitiveElement.value?.highlightFirstItem,inst.exposed.highlightSelected=primitiveElement.value?.highlightSelected)}),__expose({filtered:filterState,highlightedElement,highlightItem:primitiveElement.value?.highlightItem,highlightFirstItem:primitiveElement.value?.highlightFirstItem,highlightSelected:primitiveElement.value?.highlightSelected}),provideComboboxRootContext({modelValue,multiple,disabled,open,onOpenChange,contentId:``,isUserInputted,isVirtual,inputElement,highlightedElement,onInputElementChange:val=>inputElement.value=val,triggerElement,onTriggerElementChange:val=>triggerElement.value=val,parentElement,resetSearchTermOnSelect,onResetSearchTerm:resetSearchTerm.on,allItems,allGroups,filterSearch,filterState,ignoreFilter,openOnFocus,openOnClick,resetModelValueOnClear}),(_ctx,_cache)=>(openBlock(),createBlock(unref(PopperRoot_default),null,{default:withCtx(()=>[createVNode(unref(ListboxRoot_default),mergeProps({ref_key:`primitiveElement`,ref:primitiveElement},_ctx.$attrs,{modelValue:unref(modelValue),"onUpdate:modelValue":_cache[0]||=$event=>isRef(modelValue)?modelValue.value=$event:null,style:{pointerEvents:unref(open)?`auto`:void 0},as:_ctx.as,"as-child":_ctx.asChild,dir:unref(dir),multiple:unref(multiple),name:_ctx.name,required:_ctx.required,disabled:unref(disabled),"highlight-on-hover":unref(highlightOnHover),by:props.by,onHighlight:_cache[1]||=$event=>emits(`highlight`,$event)}),{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{open:unref(open),modelValue:unref(modelValue)})]),_:3},16,[`modelValue`,`style`,`as`,`as-child`,`dir`,`multiple`,`name`,`required`,`disabled`,`highlight-on-hover`,`by`])]),_:3}))}}),[injectComboboxContentContext,provideComboboxContentContext]=createContext(`ComboboxContent`),ComboboxContentImpl_default=defineComponent({__name:`ComboboxContentImpl`,props:{position:{type:String,required:!1,default:`inline`},bodyLock:{type:Boolean,required:!1},hideWhenEmpty:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`],setup(__props,{emit:__emit}){let props=__props,emits=__emit,{position}=toRefs(props),rootContext=injectComboboxRootContext(),isEmpty=computed(()=>rootContext.ignoreFilter.value?rootContext.allItems.value.size===0:rootContext.filterState.value.count===0),{forwardRef,currentElement}=useForwardExpose();useBodyScrollLock(props.bodyLock),useFocusGuards(),useHideOthers(rootContext.parentElement);let forwardedProps=useForwardProps(computed(()=>props.position===`popper`?props:{}).value),popperStyle={boxSizing:`border-box`,"--reka-combobox-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-combobox-content-available-width":`var(--reka-popper-available-width)`,"--reka-combobox-content-available-height":`var(--reka-popper-available-height)`,"--reka-combobox-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-combobox-trigger-height":`var(--reka-popper-anchor-height)`};provideComboboxContentContext({position});let isInputWithinContent=ref(!1);onMounted(()=>{rootContext.inputElement.value&&(isInputWithinContent.value=currentElement.value.contains(rootContext.inputElement.value),isInputWithinContent.value&&rootContext.inputElement.value.focus())}),onUnmounted(()=>{let activeElement=getActiveElement();isInputWithinContent.value&&(!activeElement||activeElement===document.body)&&rootContext.triggerElement.value?.focus()});function isEventTargetWithinCombobox(target){if(rootContext.parentElement.value?.contains(target))return!0;let control=(target instanceof Element?target.closest(`label`):null)?.control;return!!control&&!!rootContext.parentElement.value?.contains(control)}return(_ctx,_cache)=>(openBlock(),createBlock(unref(ListboxContent_default),{"as-child":``},{default:withCtx(()=>[createVNode(unref(FocusScope_default),{"as-child":``,onMountAutoFocus:_cache[5]||=withModifiers(()=>{},[`prevent`]),onUnmountAutoFocus:_cache[6]||=withModifiers(()=>{},[`prevent`])},{default:withCtx(()=>[createVNode(unref(DismissableLayer_default),{"as-child":``,"disable-outside-pointer-events":_ctx.disableOutsidePointerEvents,onDismiss:_cache[0]||=$event=>unref(rootContext).onOpenChange(!1),onFocusOutside:_cache[1]||=ev=>{isEventTargetWithinCombobox(ev.target)&&ev.preventDefault(),emits(`focusOutside`,ev)},onInteractOutside:_cache[2]||=$event=>emits(`interactOutside`,$event),onEscapeKeyDown:_cache[3]||=$event=>emits(`escapeKeyDown`,$event),onPointerDownOutside:_cache[4]||=ev=>{isEventTargetWithinCombobox(ev.target)&&ev.preventDefault(),emits(`pointerDownOutside`,ev)}},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(position)===`popper`?unref(PopperContent_default):unref(Primitive)),mergeProps({..._ctx.$attrs,...unref(forwardedProps)},{id:unref(rootContext).contentId,ref:unref(forwardRef),"memo-dependencies":unref(position)===`popper`?[unref(rootContext).filterSearch.value,unref(rootContext).filterState.value]:void 0,"data-state":unref(rootContext).open.value?`open`:`closed`,"data-empty":isEmpty.value?``:void 0,style:{display:props.hideWhenEmpty&&isEmpty.value?`none`:`flex`,flexDirection:`column`,outline:`none`,...unref(position)===`popper`?popperStyle:{}}}),{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`)]),_:3},16,[`id`,`memo-dependencies`,`data-state`,`data-empty`,`style`]))]),_:3},8,[`disable-outside-pointer-events`])]),_:3})]),_:3}))}}),ComboboxCancel_default=defineComponent({__name:`ComboboxCancel`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(__props){let props=__props;useForwardExpose();let rootContext=injectComboboxRootContext();function handleClick(){rootContext.filterSearch.value=``,rootContext.inputElement.value&&(rootContext.inputElement.value.value=``,rootContext.inputElement.value.focus()),rootContext.resetModelValueOnClear?.value&&(rootContext.modelValue.value=rootContext.multiple.value?[]:null)}return(_ctx,_cache)=>(openBlock(),createBlock(unref(Primitive),mergeProps({type:_ctx.as===`button`?`button`:void 0},props,{tabindex:`-1`,onClick:handleClick}),{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`)]),_:3},16,[`type`]))}}),ComboboxContent_default=defineComponent({__name:`ComboboxContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},hideWhenEmpty:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`],setup(__props,{emit:__emit}){let forwarded=useForwardPropsEmits(__props,__emit),{forwardRef}=useForwardExpose(),rootContext=injectComboboxRootContext();return rootContext.contentId||=useId(void 0,`reka-combobox-content`),(_ctx,_cache)=>(openBlock(),createBlock(unref(Presence_default),{present:_ctx.forceMount||unref(rootContext).open.value},{default:withCtx(()=>[createVNode(ComboboxContentImpl_default,mergeProps({...unref(forwarded),..._ctx.$attrs},{ref:unref(forwardRef)}),{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`)]),_:3},16)]),_:3},8,[`present`]))}}),ComboboxEmpty_default=defineComponent({__name:`ComboboxEmpty`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(__props){let props=__props,rootContext=injectComboboxRootContext(),isRender=computed(()=>rootContext.ignoreFilter.value?rootContext.allItems.value.size===0:rootContext.filterState.value.count===0);return(_ctx,_cache)=>isRender.value?(openBlock(),createBlock(unref(Primitive),normalizeProps(mergeProps({key:0},props)),{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[0]||=createTextVNode(`No options`)])]),_:3},16)):createCommentVNode(`v-if`,!0)}}),[injectComboboxGroupContext,provideComboboxGroupContext]=createContext(`ComboboxGroup`),ComboboxInput_default=defineComponent({__name:`ComboboxInput`,props:{displayValue:{type:Function,required:!1},modelValue:{type:String,required:!1},autoFocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`input`}},emits:[`update:modelValue`],setup(__props,{emit:__emit}){let props=__props,emits=__emit,rootContext=injectComboboxRootContext(),listboxContext=injectListboxRootContext(),{primitiveElement,currentElement}=usePrimitiveElement(),modelValue=useVModel(props,`modelValue`,emits,{passive:props.modelValue===void 0});onMounted(()=>{currentElement.value&&rootContext.onInputElementChange(currentElement.value)});let{isComposing,handleCompositionStart,handleCompositionEnd}=useComposing(event=>{let el=event.target;el&&processInputValue(el.value)});function handleKeyDown(ev){isComposing.value||(ev.preventDefault(),rootContext.open.value||rootContext.onOpenChange(!0))}function processInputValue(value){rootContext.open.value?rootContext.filterSearch.value=value:(rootContext.onOpenChange(!0),nextTick(()=>{value&&(rootContext.filterSearch.value=value,listboxContext.highlightFirstItem())}))}function handleInput(event){isComposing.value||processInputValue(event.target.value)}function handleFocus(){rootContext.openOnFocus.value&&!rootContext.open.value&&rootContext.onOpenChange(!0)}function handleBlur(ev){if(!rootContext.open.value)return;let nextFocus=ev.relatedTarget;if(!nextFocus)return;let isInsideRoot=rootContext.parentElement.value?.contains(nextFocus),isInsideContent=document.getElementById(rootContext.contentId)?.contains(nextFocus);!isInsideRoot&&!isInsideContent&&requestAnimationFrame(()=>{if(!rootContext.open.value)return;let active=document.activeElement;!rootContext.parentElement.value?.contains(active)&&!document.getElementById(rootContext.contentId)?.contains(active)&&rootContext.onOpenChange(!1)})}function handleClick(){rootContext.openOnClick.value&&!rootContext.open.value&&rootContext.onOpenChange(!0)}function resetSearchTerm(){let rootModelValue=rootContext.modelValue.value;props.displayValue?modelValue.value=props.displayValue(rootModelValue):!rootContext.multiple.value&&rootModelValue&&!Array.isArray(rootModelValue)?typeof rootModelValue==`object`?modelValue.value=``:modelValue.value=rootModelValue.toString():modelValue.value=``,nextTick(()=>{modelValue.value=modelValue.value})}return rootContext.onResetSearchTerm(()=>{resetSearchTerm()}),watch(rootContext.modelValue,async()=>{!rootContext.isUserInputted.value&&rootContext.resetSearchTermOnSelect.value&&resetSearchTerm()},{immediate:!0,deep:!0}),watch(rootContext.filterState,(_newValue,oldValue)=>{!rootContext.isVirtual.value&&oldValue.count===0&&listboxContext.highlightFirstItem()}),(_ctx,_cache)=>(openBlock(),createBlock(unref(ListboxFilter_default),{ref_key:`primitiveElement`,ref:primitiveElement,modelValue:unref(modelValue),"onUpdate:modelValue":_cache[0]||=$event=>isRef(modelValue)?modelValue.value=$event:null,as:_ctx.as,"as-child":_ctx.asChild,"auto-focus":_ctx.autoFocus,disabled:_ctx.disabled,"aria-expanded":unref(rootContext).open.value,"aria-controls":unref(rootContext).contentId,"aria-autocomplete":`list`,role:`combobox`,autocomplete:`off`,onClick:handleClick,onInput:handleInput,onKeydown:withKeys(handleKeyDown,[`down`,`up`]),onFocus:handleFocus,onBlur:handleBlur,onCompositionstart:unref(handleCompositionStart),onCompositionend:unref(handleCompositionEnd)},{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`)]),_:3},8,[`modelValue`,`as`,`as-child`,`auto-focus`,`disabled`,`aria-expanded`,`aria-controls`,`onCompositionstart`,`onCompositionend`]))}}),ComboboxItem_default=defineComponent({__name:`ComboboxItem`,props:{textValue:{type:String,required:!1},value:{type:null,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(__props,{emit:__emit}){let props=__props,emits=__emit,id=useId(void 0,`reka-combobox-item`),rootContext=injectComboboxRootContext(),groupContext=injectComboboxGroupContext(null),{primitiveElement,currentElement}=usePrimitiveElement();if(props.value===``)throw Error(`A <ComboboxItem /> must have a value prop that is not an empty string. This is because the Combobox value can be set to an empty string to clear the selection and show the placeholder.`);let isRender=computed(()=>{if(rootContext.isVirtual.value||rootContext.ignoreFilter.value||!rootContext.filterSearch.value)return!0;{let filteredCurrentItem=rootContext.filterState.value.items.get(id);return filteredCurrentItem===void 0||filteredCurrentItem>0}});return onMounted(()=>{rootContext.allItems.value.set(id,props.textValue||currentElement.value.textContent||currentElement.value.innerText);let groupId=groupContext?.id;groupId&&(rootContext.allGroups.value.has(groupId)?rootContext.allGroups.value.get(groupId)?.add(id):rootContext.allGroups.value.set(groupId,new Set([id])))}),onUnmounted(()=>{rootContext.allItems.value.delete(id)}),(_ctx,_cache)=>isRender.value?withMemo([isRender.value,unref(rootContext).filterSearch.value,unref(rootContext).disabled.value,_ctx.disabled,props.value,props.as,props.asChild,...Object.values(_ctx.$attrs)],()=>(openBlock(),createBlock(unref(ListboxItem_default),mergeProps({key:0},props,{id:unref(id),ref_key:`primitiveElement`,ref:primitiveElement,disabled:unref(rootContext).disabled.value||_ctx.disabled,onSelect:_cache[0]||=event=>{emits(`select`,event),!event.defaultPrevented&&(!unref(rootContext).multiple.value&&!_ctx.disabled&&!unref(rootContext).disabled.value?(event.preventDefault(),unref(rootContext).onOpenChange(!1),unref(rootContext).modelValue.value=props.value):unref(rootContext).multiple.value&&unref(rootContext).inputElement.value?.focus())}}),{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},()=>[createTextVNode(toDisplayString(_ctx.value),1)])]),_:3},16,[`id`,`disabled`])),_cache,1):createCommentVNode(`v-if`,!0)}}),ComboboxItemIndicator_default=defineComponent({__name:`ComboboxItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(__props){let props=__props;return(_ctx,_cache)=>(openBlock(),createBlock(unref(ListboxItemIndicator_default),normalizeProps(guardReactiveProps(props)),{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`)]),_:3},16))}}),ComboboxTrigger_default=defineComponent({__name:`ComboboxTrigger`,props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(__props){let props=__props,{forwardRef,currentElement}=useForwardExpose(),rootContext=injectComboboxRootContext(),disabled=computed(()=>props.disabled||rootContext.disabled.value||!1);return onMounted(()=>{currentElement.value&&rootContext.onTriggerElementChange(currentElement.value)}),(_ctx,_cache)=>(openBlock(),createBlock(unref(Primitive),mergeProps(props,{ref:unref(forwardRef),type:_ctx.as===`button`?`button`:void 0,tabindex:`-1`,"aria-label":`Show popup`,"aria-haspopup":`listbox`,"aria-expanded":unref(rootContext).open.value,"aria-controls":unref(rootContext).contentId,"data-state":unref(rootContext).open.value?`open`:`closed`,disabled:disabled.value,"data-disabled":disabled.value?``:void 0,"aria-disabled":disabled.value??void 0,onClick:_cache[0]||=$event=>unref(rootContext).onOpenChange(!unref(rootContext).open.value)}),{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`)]),_:3},16,[`type`,`aria-expanded`,`aria-controls`,`data-state`,`disabled`,`data-disabled`,`aria-disabled`]))}});function useNonce(nonce){let context=injectConfigProviderContext({nonce:ref()});return computed(()=>nonce?.value||context.nonce?.value)}var ComboboxViewport_default=defineComponent({__name:`ComboboxViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(__props){let props=__props,{forwardRef}=useForwardExpose(),{nonce:propNonce}=toRefs(props),nonce=useNonce(propNonce),rootContext=injectComboboxRootContext();return(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[createVNode(unref(Primitive),mergeProps({..._ctx.$attrs,...props},{ref:unref(forwardRef),"data-reka-combobox-viewport":``,role:`presentation`,style:{position:`relative`,flex:unref(rootContext).isVirtual.value?void 0:1,overflow:`auto`}}),{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`)]),_:3},16,[`style`]),createVNode(unref(Primitive),{as:`style`,nonce:unref(nonce)},{default:withCtx(()=>_cache[0]||=[createTextVNode(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-combobox-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-combobox-viewport]::-webkit-scrollbar { display: none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),ComboboxVirtualizer_default=defineComponent({__name:`ComboboxVirtualizer`,props:{options:{type:Array,required:!0},overscan:{type:Number,required:!1},estimateSize:{type:[Number,Function],required:!1},textContent:{type:Function,required:!1}},setup(__props){let props=__props,rootContext=injectComboboxRootContext();return rootContext.isVirtual.value=!0,(_ctx,_cache)=>(openBlock(),createBlock(ListboxVirtualizer_default,normalizeProps(guardReactiveProps(props)),{default:withCtx(slotProps=>[renderSlot(_ctx.$slots,`default`,normalizeProps(guardReactiveProps(slotProps)))]),_:3},16))}}),Label_default=defineComponent({__name:`Label`,props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`label`}},setup(__props){let props=__props;return useForwardExpose(),(_ctx,_cache)=>(openBlock(),createBlock(unref(Primitive),mergeProps(props,{onMousedown:_cache[0]||=event=>{!event.defaultPrevented&&event.detail>1&&event.preventDefault()}}),{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`)]),_:3},16))}}),_hoisted_1={key:0,class:`vd-field__asterisk`},_hoisted_2={key:1,class:`vd-field__popover`},_hoisted_3={class:`vd-field__wrapper`},_hoisted_4={key:1,class:`vd-field__loader-circle`},_hoisted_5={key:0,class:`vd-field__message vd-field__message--error`},_hoisted_6={key:1,class:`vd-field__message vd-field__message--information`},VdSearchableSelect_default=defineComponent({__name:`VdSearchableSelect`,props:mergeModels({id:{},name:{},label:{},placeholder:{default:`Typ of selecteer`},options:{},labelKey:{default:`title`},valueKey:{default:`value`},by:{},errorMessage:{},disabled:{type:Boolean},required:{type:Boolean},verified:{type:Boolean},infoMessage:{},loading:{type:Boolean,default:!1},noResultsText:{default:`We hebben geen resultaten gevonden. Controleer de spelling of kies een optie uit de lijst.`},ignoreFilter:{type:Boolean},displayValue:{},clearable:{type:Boolean,default:!1},icon:{},virtual:{type:Boolean,default:!1},estimateSize:{default:40},overscan:{default:10}},{modelValue:{},modelModifiers:{},open:{type:Boolean,default:!1},openModifiers:{},searchTerm:{default:``},searchTermModifiers:{}}),emits:mergeModels([`blur`,`select`,`clear`,`search`],[`update:modelValue`,`update:open`,`update:searchTerm`]),setup(__props,{emit:__emit}){let props=__props,forwardedRootProps=useForwardProps(reactivePick(props,`name`,`disabled`,`by`,`ignoreFilter`)),model=useModel(__props,`modelValue`),open=useModel(__props,`open`),searchTerm=useModel(__props,`searchTerm`),emit=__emit,slots=useSlots(),inputId=props.id??useId$1(),hasIcon=computed(()=>!!props.icon||!!slots.icon),isObject=value=>typeof value==`object`&&!!value,optionLabel=option=>isObject(option)?get(option,props.labelKey)??option.title??``:String(option),optionValue=option=>isObject(option)?props.valueKey===null?option:get(option,props.valueKey):option,optionDisabled=option=>isObject(option)?option.disabled:void 0,compare=(a,b)=>a===void 0||b===void 0?!1:!isObject(a)||!isObject(b)?a===b:typeof props.by==`function`?props.by(a,b):typeof props.by==`string`?get(a,props.by)===get(b,props.by):isEqual$1(a,b),isEmptyValue=value=>value==null||value===``,hasValue=computed(()=>!isEmptyValue(model.value)),fieldState=computed(()=>props.errorMessage?`error`:hasValue.value&&props.verified&&!props.loading?`verified`:`default`),resolveDisplayValue=value=>{if(isEmptyValue(value))return``;if(props.displayValue)return props.displayValue(value);let match=props.options.find(option=>compare(optionValue(option),value));return optionLabel(match??value)},onSelect=value=>{emit(`select`,value)},clear=()=>{model.value=void 0,emit(`clear`)};return(_ctx,_cache)=>(openBlock(),createBlock(unref(ComboboxRoot_default),mergeProps({modelValue:model.value,"onUpdate:modelValue":_cache[3]||=$event=>model.value=$event,open:open.value,"onUpdate:open":_cache[4]||=$event=>open.value=$event,class:`vd-field`,"open-on-click":``,"open-on-focus":``},unref(forwardedRootProps)),{default:withCtx(()=>[createBaseVNode(`div`,{class:normalizeClass([`vd-field__label-wrapper`,{"vd-field__label-wrapper--disabled":__props.disabled}])},[__props.label||slots.label?(openBlock(),createBlock(unref(Label_default),{key:0,for:unref(inputId),class:`vd-field__label`},{default:withCtx(()=>[createBaseVNode(`span`,null,[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.label),1)]),__props.required?(openBlock(),createElementBlock(`span`,_hoisted_1,`*`)):createCommentVNode(``,!0)])]),_:3},8,[`for`])):createCommentVNode(``,!0),slots.popover?(openBlock(),createElementBlock(`span`,_hoisted_2,[renderSlot(_ctx.$slots,`popover`)])):createCommentVNode(``,!0)],2),createBaseVNode(`div`,_hoisted_3,[createVNode(unref(ComboboxInput_default),{id:unref(inputId),modelValue:searchTerm.value,"onUpdate:modelValue":_cache[0]||=$event=>searchTerm.value=$event,"display-value":resolveDisplayValue,placeholder:__props.placeholder,class:normalizeClass([`vd-field__input vd-field__input--icon-right`,[`vd-field__input--${fieldState.value}`,{"vd-field__input--icon-left":hasIcon.value}]]),onInput:_cache[1]||=$event=>emit(`search`,$event.target.value),onBlur:_cache[2]||=$event=>emit(`blur`,$event)},null,8,[`id`,`modelValue`,`placeholder`,`class`]),hasIcon.value?(openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`vd-field__icon vd-field__icon--left`,{"vd-field__icon--disabled":__props.disabled}])},[renderSlot(_ctx.$slots,`icon`,{},()=>[createBaseVNode(`i`,{class:normalizeClass(__props.icon)},null,2)])],2)):createCommentVNode(``,!0),__props.loading?(openBlock(),createElementBlock(`div`,_hoisted_4)):__props.clearable&&hasValue.value?(openBlock(),createBlock(unref(ComboboxCancel_default),{key:2,as:`span`,class:`vd-field__icon`,onClick:clear},{default:withCtx(()=>[..._cache[5]||=[createBaseVNode(`i`,{class:`far fa-times vd-field__icon--clickable`},null,-1)]]),_:1})):(openBlock(),createBlock(unref(ComboboxTrigger_default),{key:3,as:`span`,class:`vd-field__icon`},{default:withCtx(()=>[createBaseVNode(`i`,{class:normalizeClass(open.value?`far fa-chevron-up`:`far fa-chevron-down`)},null,2)]),_:1})),createVNode(unref(ComboboxContent_default),{class:`vd-combobox`},{default:withCtx(()=>[createVNode(unref(ComboboxViewport_default),{class:`vd-combobox__list`},{default:withCtx(()=>[__props.virtual?(openBlock(),createBlock(unref(ComboboxVirtualizer_default),{key:0,options:__props.options,"estimate-size":__props.estimateSize,overscan:__props.overscan,"text-content":optionLabel},{default:withCtx(({option})=>[createVNode(unref(ComboboxItem_default),{value:optionValue(option),"text-value":optionLabel(option),disabled:optionDisabled(option),class:`vd-combobox__item`,onSelect:$event=>onSelect(optionValue(option))},{default:withCtx(()=>[renderSlot(_ctx.$slots,`item`,{option},()=>[createTextVNode(toDisplayString(optionLabel(option)),1)]),createVNode(unref(ComboboxItemIndicator_default),{class:`vd-combobox__check`},{default:withCtx(()=>[..._cache[6]||=[createBaseVNode(`i`,{class:`far fa-check`},null,-1)]]),_:1})]),_:2},1032,[`value`,`text-value`,`disabled`,`onSelect`])]),_:3},8,[`options`,`estimate-size`,`overscan`])):(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(__props.options,(option,index)=>(openBlock(),createBlock(unref(ComboboxItem_default),{key:index,value:optionValue(option),"text-value":optionLabel(option),disabled:optionDisabled(option),class:`vd-combobox__item`,onSelect:$event=>onSelect(optionValue(option))},{default:withCtx(()=>[renderSlot(_ctx.$slots,`item`,{option},()=>[createTextVNode(toDisplayString(optionLabel(option)),1)]),createVNode(unref(ComboboxItemIndicator_default),{class:`vd-combobox__check`},{default:withCtx(()=>[..._cache[7]||=[createBaseVNode(`i`,{class:`far fa-check`},null,-1)]]),_:1})]),_:2},1032,[`value`,`text-value`,`disabled`,`onSelect`]))),128)),createVNode(unref(ComboboxEmpty_default),{class:`vd-combobox__empty`},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.noResultsText),1)]),_:1})]),_:3})]),_:3})]),fieldState.value===`error`||slots.errorMessage?(openBlock(),createElementBlock(`div`,_hoisted_5,[renderSlot(_ctx.$slots,`errorMessage`,{},()=>[_cache[8]||=createBaseVNode(`i`,{class:`fas fa-exclamation-circle vd-field__message-icon`},null,-1),createTextVNode(` `+toDisplayString(__props.errorMessage),1)])])):createCommentVNode(``,!0),__props.infoMessage||slots.information?(openBlock(),createElementBlock(`div`,_hoisted_6,[renderSlot(_ctx.$slots,`information`,{},()=>[_cache[9]||=createBaseVNode(`i`,{class:`fas fa-info-circle vd-field__message-icon`},null,-1),createTextVNode(` `+toDisplayString(__props.infoMessage),1)])])):createCommentVNode(``,!0)]),_:3},16,[`modelValue`,`open`]))}});export{VdSearchableSelect_default,useAsyncState};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment,computed,createBaseVNode,createCommentVNode,createElementBlock,createTextVNode,defineComponent,mergeModels,normalizeClass,openBlock,ref,renderList,renderSlot,toDisplayString,unref,useId,useModel,useSlots,vModelSelect,withDirectives}from"./useValidator-BXvfnDwv.js";var _hoisted_1={class:`vd-field`},_hoisted_2=[`for`],_hoisted_3={key:0,class:`vd-field__asterisk`},_hoisted_4={key:1,class:`vd-field__popover`},_hoisted_5={class:`vd-field__wrapper`},_hoisted_6=[`id`,`name`,`disabled`],_hoisted_7={key:0,value:``,disabled:``,selected:``},_hoisted_8=[`value`,`selected`,`disabled`],_hoisted_9={key:0,class:`vd-field__icon-and-loader`},_hoisted_10=[`for`],_hoisted_11={key:0,class:`vd-field__message vd-field__message--error`},_hoisted_12={key:1,class:`vd-field__message vd-field__message--information`},VdSelect_default=defineComponent({__name:`VdSelect`,props:mergeModels({id:{default:null},name:{},label:{default:``},placeholder:{default:`Maak je keuze`},options:{},errorMessage:{default:null},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!0},verified:{type:Boolean,default:!1},infoMessage:{default:``},loading:{type:Boolean,default:!1}},{modelValue:{required:!0},modelModifiers:{}}),emits:mergeModels([`blur`,`select`],[`update:modelValue`]),setup(__props,{emit:__emit}){let props=__props,model=useModel(__props,`modelValue`),emit=__emit,slots=useSlots(),inputId=props.id??useId(),selectModel=computed({get:()=>model.value??``,set:value=>{model.value=value===``?null:value}}),showPlaceholder=ref(!0),showVerifiedState=computed(()=>!props.errorMessage&&props.verified&&!props.disabled&&!props.loading),showDefaultState=computed(()=>!props.errorMessage&&!showVerifiedState.value),showInvalidState=computed(()=>!!props.errorMessage),setPlaceholderClass=()=>`vd-field__select--placeholder-${!model.value&&showPlaceholder.value?`shown`:`hidden`}`,changeValue=e=>{emit(`select`,e.target.value),showPlaceholder.value=!1},onBlur=e=>{emit(`blur`,e.target.value)};return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1,[createBaseVNode(`div`,{class:normalizeClass([`vd-field__label-wrapper`,{"vd-field__label-wrapper--disabled":__props.disabled}])},[__props.label||unref(slots).label?(openBlock(),createElementBlock(`label`,{key:0,for:__props.name,class:`vd-field__label`},[createBaseVNode(`span`,null,[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.label),1)]),__props.required?(openBlock(),createElementBlock(`span`,_hoisted_3,`*`)):createCommentVNode(``,!0)])],8,_hoisted_2)):createCommentVNode(``,!0),unref(slots).popover?(openBlock(),createElementBlock(`span`,_hoisted_4,[renderSlot(_ctx.$slots,`popover`)])):createCommentVNode(``,!0)],2),createBaseVNode(`div`,_hoisted_5,[withDirectives(createBaseVNode(`select`,{id:unref(inputId),"onUpdate:modelValue":_cache[0]||=$event=>selectModel.value=$event,name:__props.name,disabled:__props.disabled,class:normalizeClass([`vd-field__input vd-field__select`,[setPlaceholderClass(),{"vd-field__input--error":showInvalidState.value,"vd-field__input--verified":showVerifiedState.value,"vd-field__input--default":showDefaultState.value,"vd-field__select--placeholder-with-loader-and-icon-shown":__props.loading}]]),onChange:changeValue,onBlur},[__props.placeholder?(openBlock(),createElementBlock(`option`,_hoisted_7,toDisplayString(__props.placeholder),1)):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.options,(item,index)=>(openBlock(),createElementBlock(`option`,{key:item.value+`_`+index,value:item.value,selected:item.selected||!1,disabled:item.disabled||!1},toDisplayString(item.title),9,_hoisted_8))),128))],42,_hoisted_6),[[vModelSelect,selectModel.value]]),__props.loading?(openBlock(),createElementBlock(`div`,_hoisted_9,[..._cache[1]||=[createBaseVNode(`div`,{class:`vd-field__loader-circle vd-field__loader-circle--and-icon`},null,-1),createBaseVNode(`span`,{class:`vd-field__icon vd-field__icon--with-loader`},[createBaseVNode(`i`,{class:`fas vd-field__select-icon--with-loader`})],-1)]])):(openBlock(),createElementBlock(`label`,{key:1,for:unref(inputId),class:`vd-field__select-icon`},null,8,_hoisted_10))]),showInvalidState.value||unref(slots).errorMessage?(openBlock(),createElementBlock(`div`,_hoisted_11,[renderSlot(_ctx.$slots,`errorMessage`,{},()=>[_cache[2]||=createBaseVNode(`i`,{class:`fas fa-exclamation-circle vd-field__message-icon`},null,-1),createTextVNode(` `+toDisplayString(__props.errorMessage),1)])])):createCommentVNode(``,!0),__props.infoMessage||unref(slots).information?(openBlock(),createElementBlock(`div`,_hoisted_12,[renderSlot(_ctx.$slots,`information`,{},()=>[_cache[3]||=createBaseVNode(`i`,{class:`fas fa-info-circle vd-field__message-icon`},null,-1),createTextVNode(` `+toDisplayString(__props.infoMessage),1)])])):createCommentVNode(``,!0)]))}});export{VdSelect_default};
|