Files
monisuo/monisuo-admin/dist/assets/SelectValue-CPTo3Tck.js
2026-03-23 22:47:44 +08:00

1 line
29 KiB
JavaScript

import{A as e,C as t,Ct as n,I as r,J as i,M as a,N as o,P as s,Q as c,R as l,St as u,V as d,Y as f,_ as p,b as m,d as h,g,gt as _,h as v,j as y,l as b,m as x,s as S,ut as C,v as w,wt as T,x as E,xt as D,y as O,yt as k,z as A}from"./vue.runtime.esm-bundler-DS0mm12S.js";import{t as j}from"./createLucideIcon-BHlxd6NP.js";import{t as M}from"./utils-u71wZLxr.js";import{J as N,V as ee,X as P,rt as F}from"./index-aDrlI3dP.js";import{n as te,r as ne,t as re}from"./VisuallyHidden-nGm_7oL3.js";import{D as I,E as ie,O as L,S as ae,T as R,_ as z,b as B,c as V,g as oe,h as se,m as ce,t as le,v as ue,w as de,y as H}from"./Teleport-CHY6zPT-.js";import{i as U}from"./button-DQxx5HZh.js";import{a as fe,c as W,i as pe,l as me,n as he,o as G,u as ge}from"./PopperContent-uFA7BIqu.js";import{t as K}from"./useForwardExpose-DNY3s-e3.js";var q=j(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),J=j(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),_e=j(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]);function ve(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}function ye(e){let t=de({nonce:C()});return x(()=>e?.value||t.nonce?.value)}var be=[` `,`Enter`,`ArrowUp`,`ArrowDown`],xe=[` `,`Enter`];function Y(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>X(e,t,n)):X(e,t,n)}function X(e,t,n){return e===void 0||t===void 0?!1:typeof e==`string`?e===t:typeof n==`function`?n(e,t):typeof n==`string`?e?.[n]===t?.[n]:ne(e,t)}function Se(e){return e==null||e===``||Array.isArray(e)&&e.length===0}var Ce={key:0,value:``},[Z,we]=L(`SelectRoot`),Te=E({inheritAttrs:!1,__name:`SelectRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`update:open`],setup(t,{emit:n}){let i=t,a=n,{required:o,disabled:s,multiple:u,dir:d}=_(i),f=P(i,`modelValue`,a,{defaultValue:i.defaultValue??(u.value?[]:void 0),passive:i.modelValue===void 0,deep:!0}),m=P(i,`open`,a,{defaultValue:i.defaultOpen,passive:i.open===void 0}),h=C(),v=C(),y=C({x:0,y:0}),S=x(()=>u.value&&Array.isArray(f.value)?f.value?.length===0:R(f.value));G({isProvider:!0});let T=ge(d),E=te(h),D=C(new Set),O=x(()=>Array.from(D.value).map(e=>e.value).join(`;`));function j(e){if(u.value){let t=Array.isArray(f.value)?[...f.value]:[],n=t.findIndex(t=>X(t,e,i.by));n===-1?t.push(e):t.splice(n,1),f.value=[...t]}else f.value=e}function M(e){return Array.from(D.value).find(t=>Y(e,t.value,i.by))}return we({triggerElement:h,onTriggerChange:e=>{h.value=e},valueElement:v,onValueElementChange:e=>{v.value=e},contentId:``,modelValue:f,onValueChange:j,by:i.by,open:m,multiple:u,required:o,onOpenChange:e=>{m.value=e},dir:T,triggerPointerDownPosRef:y,disabled:s,isEmptyModelValue:S,optionsSet:D,onOptionAdd:e=>{let t=M(e.value);t&&D.value.delete(t),D.value.add(e)},onOptionRemove:e=>{let t=M(e.value);t&&D.value.delete(t)}}),(t,n)=>(r(),g(k(fe),null,{default:c(()=>[A(t.$slots,`default`,{modelValue:k(f),open:k(m)}),k(E)?(r(),g(Ee,{key:O.value,"aria-hidden":`true`,tabindex:`-1`,multiple:k(u),required:k(o),name:t.name,autocomplete:t.autocomplete,disabled:k(s),value:k(f)},{default:c(()=>[k(R)(k(f))?(r(),w(`option`,Ce)):p(`v-if`,!0),(r(!0),w(b,null,l(Array.from(D.value),t=>(r(),w(`option`,e({key:t.value??``},{ref_for:!0},t),null,16))),128))]),_:1},8,[`multiple`,`required`,`name`,`autocomplete`,`disabled`,`value`])):p(`v-if`,!0)]),_:3}))}}),Ee=E({__name:`BubbleSelect`,props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(t){let n=t,a=C(),o=Z();i(()=>n.value,(e,t)=>{let n=window.HTMLSelectElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`).set;if(e!==t&&r&&a.value){let t=new Event(`change`,{bubbles:!0});r.call(a.value,e),a.value.dispatchEvent(t)}});function s(e){o.onValueChange(e.target.value)}return(t,i)=>(r(),g(k(re),{"as-child":``},{default:c(()=>[v(`select`,e({ref_key:`selectElement`,ref:a},n,{onInput:s}),[A(t.$slots,`default`)],16)]),_:3}))}}),De=E({__name:`SelectPopperPosition`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},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,default:10},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},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let n=B(t);return(t,i)=>(r(),g(k(he),e(k(n),{style:{boxSizing:`border-box`,"--reka-select-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-select-content-available-width":`var(--reka-popper-available-width)`,"--reka-select-content-available-height":`var(--reka-popper-available-height)`,"--reka-select-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-select-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:c(()=>[A(t.$slots,`default`)]),_:3},16))}}),Oe={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[Q,ke]=L(`SelectContent`),Ae=E({__name:`SelectContentImpl`,props:{position:{type:String,required:!1,default:`item-aligned`},bodyLock:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},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},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(t,{emit:n}){let a=t,o=n,s=Z();me(),ae(a.bodyLock);let{CollectionSlot:l,getItems:u}=G(),p=C();ue(p);let{search:h,handleTypeaheadSearch:_}=W(),v=C(),y=C(),b=C(),w=C(!1),T=C(!1),E=C(!1);function D(){y.value&&p.value&&V([y.value,p.value])}i(w,()=>{D()});let{onOpenChange:O,triggerPointerDownPosRef:j}=s;f(e=>{if(!p.value)return;let t={x:0,y:0},n=e=>{t={x:Math.abs(Math.round(e.pageX)-(j.value?.x??0)),y:Math.abs(Math.round(e.pageY)-(j.value?.y??0))}},r=e=>{e.pointerType!==`touch`&&(t.x<=10&&t.y<=10?e.preventDefault():p.value?.contains(e.target)||O(!1),document.removeEventListener(`pointermove`,n),j.value=null)};j.value!==null&&(document.addEventListener(`pointermove`,n),document.addEventListener(`pointerup`,r,{capture:!0,once:!0})),e(()=>{document.removeEventListener(`pointermove`,n),document.removeEventListener(`pointerup`,r,{capture:!0})})});function M(e){let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&_(e.key,u()),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=[...u().map(e=>e.ref)];if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>V(t)),e.preventDefault()}}let N=B(x(()=>a.position===`popper`?a:{}).value);return ke({content:p,viewport:v,onViewportChange:e=>{v.value=e},itemRefCallback:(e,t,n)=>{let r=!T.value&&!n,i=Y(s.modelValue.value,t,s.by);if(s.multiple.value){if(E.value)return;(i||r)&&(y.value=e,i&&(E.value=!0))}else (i||r)&&(y.value=e);r&&(T.value=!0)},selectedItem:y,selectedItemText:b,onItemLeave:()=>{p.value?.focus()},itemTextRefCallback:(e,t,n)=>{let r=!T.value&&!n;(Y(s.modelValue.value,t,s.by)||r)&&(b.value=e)},focusSelectedItem:D,position:a.position,isPositioned:w,searchRef:h}),(t,n)=>(r(),g(k(l),null,{default:c(()=>[m(k(ce),{"as-child":``,onMountAutoFocus:n[6]||=S(()=>{},[`prevent`]),onUnmountAutoFocus:n[7]||=e=>{o(`closeAutoFocus`,e),!e.defaultPrevented&&(k(s).triggerElement.value?.focus({preventScroll:!0}),e.preventDefault())}},{default:c(()=>[m(k(se),{"as-child":``,"disable-outside-pointer-events":t.disableOutsidePointerEvents,onFocusOutside:n[2]||=S(()=>{},[`prevent`]),onDismiss:n[3]||=e=>k(s).onOpenChange(!1),onEscapeKeyDown:n[4]||=e=>o(`escapeKeyDown`,e),onPointerDownOutside:n[5]||=e=>o(`pointerDownOutside`,e)},{default:c(()=>[(r(),g(d(t.position===`popper`?De:Me),e({...t.$attrs,...k(N)},{id:k(s).contentId,ref:e=>{let t=k(ee)(e);t?.hasAttribute(`data-reka-popper-content-wrapper`)?p.value=t.firstElementChild:p.value=t},role:`listbox`,"data-state":k(s).open.value?`open`:`closed`,dir:k(s).dir.value,style:{display:`flex`,flexDirection:`column`,outline:`none`},onContextmenu:n[0]||=S(()=>{},[`prevent`]),onPlaced:n[1]||=e=>w.value=!0,onKeydown:M}),{default:c(()=>[A(t.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`onKeydown`]))]),_:3},8,[`disable-outside-pointer-events`])]),_:3})]),_:3}))}}),[$,je]=L(`SelectItemAlignedPosition`),Me=E({inheritAttrs:!1,__name:`SelectItemAlignedPosition`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`placed`],setup(t,{emit:i}){let a=t,s=i,{getItems:l}=G(),u=Z(),d=Q(),f=C(!1),p=C(!0),h=C(),{forwardRef:g,currentElement:_}=K(),{viewport:v,selectedItem:b,selectedItemText:x,focusSelectedItem:S}=d;function T(){if(u.triggerElement.value&&u.valueElement.value&&h.value&&_.value&&v?.value&&b?.value&&x?.value){let e=u.triggerElement.value.getBoundingClientRect(),t=_.value.getBoundingClientRect(),n=u.valueElement.value.getBoundingClientRect(),r=x.value.getBoundingClientRect();if(u.dir.value!==`rtl`){let i=r.left-t.left,a=n.left-i,o=e.left-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=ve(a,10,Math.max(10,l-c));h.value.style.minWidth=`${s}px`,h.value.style.left=`${u}px`}else{let i=t.right-r.right,a=window.innerWidth-n.right-i,o=window.innerWidth-e.right-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=ve(a,10,Math.max(10,l-c));h.value.style.minWidth=`${s}px`,h.value.style.right=`${u}px`}let i=l().map(e=>e.ref),a=window.innerHeight-20,o=v.value.scrollHeight,c=window.getComputedStyle(_.value),d=Number.parseInt(c.borderTopWidth,10),p=Number.parseInt(c.paddingTop,10),m=Number.parseInt(c.borderBottomWidth,10),g=Number.parseInt(c.paddingBottom,10),y=d+p+o+g+m,S=Math.min(b.value.offsetHeight*5,y),C=window.getComputedStyle(v.value),w=Number.parseInt(C.paddingTop,10),T=Number.parseInt(C.paddingBottom,10),E=e.top+e.height/2-10,D=a-E,O=b.value.offsetHeight/2,k=b.value.offsetTop+O,A=d+p+k,j=y-A;if(A<=E){let e=b.value===i[i.length-1];h.value.style.bottom=`0px`;let t=_.value.clientHeight-v.value.offsetTop-v.value.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+m);h.value.style.height=`${n}px`}else{let e=b.value===i[0];h.value.style.top=`0px`;let t=Math.max(E,d+v.value.offsetTop+(e?w:0)+O)+j;h.value.style.height=`${t}px`,v.value.scrollTop=A-E+v.value.offsetTop}h.value.style.margin=`10px 0`,h.value.style.minHeight=`${S}px`,h.value.style.maxHeight=`${a}px`,s(`placed`),requestAnimationFrame(()=>f.value=!0)}}let E=C(``);o(async()=>{await y(),T(),_.value&&(E.value=window.getComputedStyle(_.value).zIndex)});function D(e){e&&p.value===!0&&(T(),S?.(),p.value=!1)}return N(u.triggerElement,()=>{T()}),je({contentWrapper:h,shouldExpandOnScrollRef:f,onScrollButtonChange:D}),(t,i)=>(r(),w(`div`,{ref_key:`contentWrapperElement`,ref:h,style:n({display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:E.value})},[m(k(U),e({ref:k(g),style:{boxSizing:`border-box`,maxHeight:`100%`}},{...t.$attrs,...a}),{default:c(()=>[A(t.$slots,`default`)]),_:3},16)],4))}}),Ne=E({inheritAttrs:!1,__name:`SelectProvider`,props:{context:{type:Object,required:!0}},setup(e){return we(e.context),ke(Oe),(e,t)=>A(e.$slots,`default`)}}),Pe={key:1},Fe=E({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,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},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let a=e,s=H(a,n),l=Z(),d=C();o(()=>{d.value=new DocumentFragment});let f=C(),_=x(()=>a.forceMount||l.open.value),v=C(_.value);return i(_,()=>{setTimeout(()=>v.value=_.value)}),(e,n)=>_.value||v.value||f.value?.present?(r(),g(k(oe),{key:0,ref_key:`presenceRef`,ref:f,present:_.value},{default:c(()=>[m(Ae,u(t({...k(s),...e.$attrs})),{default:c(()=>[A(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`])):d.value?(r(),w(`div`,Pe,[(r(),g(h,{to:d.value},[m(Ne,{context:k(l)},{default:c(()=>[A(e.$slots,`default`)]),_:3},8,[`context`])],8,[`to`]))])):p(`v-if`,!0)}}),Ie=E({__name:`SelectIcon`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(r(),g(k(U),{"aria-hidden":`true`,as:e.as,"as-child":e.asChild},{default:c(()=>[A(e.$slots,`default`,{},()=>[t[0]||=O(``)])]),_:3},8,[`as`,`as-child`]))}}),[Le,Re]=L(`SelectItem`),ze=E({__name:`SelectItem`,props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:t}){let n=e,i=t,{disabled:a}=_(n),s=Z(),l=Q(),{forwardRef:u,currentElement:d}=K(),{CollectionItem:f}=G(),p=x(()=>Y(s.modelValue?.value,n.value,s.by)),h=C(!1),v=C(n.textValue??``),b=z(void 0,`reka-select-item-text`);async function w(e){e.defaultPrevented||ie(`select.select`,T,{originalEvent:e,value:n.value})}async function T(e){await y(),i(`select`,e),!e.defaultPrevented&&(a.value||(s.onValueChange(n.value),s.multiple.value||s.onOpenChange(!1)))}async function E(e){await y(),!e.defaultPrevented&&(a.value?l.onItemLeave?.():e.currentTarget?.focus({preventScroll:!0}))}async function D(e){await y(),!e.defaultPrevented&&e.currentTarget===I()&&l.onItemLeave?.()}async function O(e){await y(),!e.defaultPrevented&&(l.searchRef?.value!==``&&e.key===` `||(xe.includes(e.key)&&w(e),e.key===` `&&e.preventDefault()))}if(n.value===``)throw Error(`A <SelectItem /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return o(()=>{d.value&&l.itemRefCallback(d.value,n.value,n.disabled)}),Re({value:n.value,disabled:a,textId:b,isSelected:p,onItemTextChange:e=>{v.value=((v.value||e?.textContent)??``).trim()}}),(e,t)=>(r(),g(k(f),{value:{textValue:v.value}},{default:c(()=>[m(k(U),{ref:k(u),role:`option`,"aria-labelledby":k(b),"data-highlighted":h.value?``:void 0,"aria-selected":p.value,"data-state":p.value?`checked`:`unchecked`,"aria-disabled":k(a)||void 0,"data-disabled":k(a)?``:void 0,tabindex:k(a)?void 0:-1,as:e.as,"as-child":e.asChild,onFocus:t[0]||=e=>h.value=!0,onBlur:t[1]||=e=>h.value=!1,onPointerup:w,onPointerdown:t[2]||=e=>{e.currentTarget.focus({preventScroll:!0})},onTouchend:t[3]||=S(()=>{},[`prevent`,`stop`]),onPointermove:E,onPointerleave:D,onKeydown:O},{default:c(()=>[A(e.$slots,`default`)]),_:3},8,[`aria-labelledby`,`data-highlighted`,`aria-selected`,`data-state`,`aria-disabled`,`data-disabled`,`tabindex`,`as`,`as-child`])]),_:3},8,[`value`]))}}),Be=E({__name:`SelectItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(t){let n=t,i=Le();return(t,a)=>k(i).isSelected.value?(r(),g(k(U),e({key:0,"aria-hidden":`true`},n),{default:c(()=>[A(t.$slots,`default`)]),_:3},16)):p(`v-if`,!0)}}),Ve=E({inheritAttrs:!1,__name:`SelectItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(t){let n=t,i=Z(),a=Q(),l=Le(),{forwardRef:u,currentElement:d}=K(),f=x(()=>({value:l.value,disabled:l.disabled.value,textContent:d.value?.textContent??l.value?.toString()??``}));return o(()=>{d.value&&(l.onItemTextChange(d.value),a.itemTextRefCallback(d.value,l.value,l.disabled.value),i.onOptionAdd(f.value))}),s(()=>{i.onOptionRemove(f.value)}),(t,i)=>(r(),g(k(U),e({id:k(l).textId,ref:k(u)},{...n,...t.$attrs}),{default:c(()=>[A(t.$slots,`default`)]),_:3},16,[`id`]))}}),He=E({__name:`SelectPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let n=e;return(e,i)=>(r(),g(k(le),u(t(n)),{default:c(()=>[A(e.$slots,`default`)]),_:3},16))}}),Ue=E({__name:`SelectScrollButtonImpl`,emits:[`autoScroll`],setup(t,{emit:n}){let i=n,{getItems:o}=G(),s=Q(),l=C(null);function u(){l.value!==null&&(window.clearInterval(l.value),l.value=null)}f(()=>{o().map(e=>e.ref).find(e=>e===I())?.scrollIntoView({block:`nearest`})});function d(){l.value===null&&(l.value=window.setInterval(()=>{i(`autoScroll`)},50))}function p(){s.onItemLeave?.(),l.value===null&&(l.value=window.setInterval(()=>{i(`autoScroll`)},50))}return a(()=>u()),(t,n)=>(r(),g(k(U),e({"aria-hidden":`true`,style:{flexShrink:0}},t.$parent?.$props,{onPointerdown:d,onPointermove:p,onPointerleave:n[0]||=()=>{u()}}),{default:c(()=>[A(t.$slots,`default`)]),_:3},16))}}),We=E({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Q(),n=t.position===`item-aligned`?$():void 0,{forwardRef:a,currentElement:o}=K(),s=C(!1);return f(e=>{if(t.viewport?.value&&t.isPositioned?.value){let n=t.viewport.value;function r(){let e=n.scrollHeight-n.clientHeight;s.value=Math.ceil(n.scrollTop)<e}r(),n.addEventListener(`scroll`,r),e(()=>n.removeEventListener(`scroll`,r))}}),i(o,()=>{o.value&&n?.onScrollButtonChange(o.value)}),(e,n)=>s.value?(r(),g(Ue,{key:0,ref:k(a),onAutoScroll:n[0]||=()=>{let{viewport:e,selectedItem:n}=k(t);e?.value&&n?.value&&(e.value.scrollTop=e.value.scrollTop+n.value.offsetHeight)}},{default:c(()=>[A(e.$slots,`default`)]),_:3},512)):p(`v-if`,!0)}}),Ge=E({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Q(),n=t.position===`item-aligned`?$():void 0,{forwardRef:a,currentElement:o}=K(),s=C(!1);return f(e=>{if(t.viewport?.value&&t.isPositioned?.value){let n=t.viewport.value;function r(){s.value=n.scrollTop>0}r(),n.addEventListener(`scroll`,r),e(()=>n.removeEventListener(`scroll`,r))}}),i(o,()=>{o.value&&n?.onScrollButtonChange(o.value)}),(e,n)=>s.value?(r(),g(Ue,{key:0,ref:k(a),onAutoScroll:n[0]||=()=>{let{viewport:e,selectedItem:n}=k(t);e?.value&&n?.value&&(e.value.scrollTop=e.value.scrollTop-n.value.offsetHeight)}},{default:c(()=>[A(e.$slots,`default`)]),_:3},512)):p(`v-if`,!0)}}),Ke=E({__name:`SelectTrigger`,props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Z(),{forwardRef:i,currentElement:a}=K(),s=x(()=>n.disabled?.value||t.disabled);n.contentId||=z(void 0,`reka-select-content`),o(()=>{n.onTriggerChange(a.value)});let{getItems:l}=G(),{search:u,handleTypeaheadSearch:d,resetTypeahead:f}=W();function p(){s.value||(n.onOpenChange(!0),f())}function h(e){p(),n.triggerPointerDownPosRef.value={x:Math.round(e.pageX),y:Math.round(e.pageY)}}return(e,t)=>(r(),g(k(pe),{"as-child":``,reference:e.reference},{default:c(()=>[m(k(U),{ref:k(i),role:`combobox`,type:e.as===`button`?`button`:void 0,"aria-controls":k(n).contentId,"aria-expanded":k(n).open.value||!1,"aria-required":k(n).required?.value,"aria-autocomplete":`none`,disabled:s.value,dir:k(n)?.dir.value,"data-state":k(n)?.open.value?`open`:`closed`,"data-disabled":s.value?``:void 0,"data-placeholder":k(Se)(k(n).modelValue?.value)?``:void 0,"as-child":e.asChild,as:e.as,onClick:t[0]||=e=>{(e?.currentTarget)?.focus()},onPointerdown:t[1]||=e=>{if(e.pointerType===`touch`)return e.preventDefault();let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&(h(e),e.preventDefault())},onPointerup:t[2]||=S(e=>{e.pointerType===`touch`&&h(e)},[`prevent`]),onKeydown:t[3]||=e=>{let t=k(u)!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&t&&e.key===` `||(k(d)(e.key,k(l)()),k(be).includes(e.key)&&(p(),e.preventDefault()))}},{default:c(()=>[A(e.$slots,`default`)]),_:3},8,[`type`,`aria-controls`,`aria-expanded`,`aria-required`,`disabled`,`dir`,`data-state`,`data-disabled`,`data-placeholder`,`as-child`,`as`])]),_:3},8,[`reference`]))}}),qe=E({__name:`SelectValue`,props:{placeholder:{type:String,required:!1,default:``},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,{forwardRef:n,currentElement:i}=K(),a=Z();o(()=>{a.valueElement=i});let s=x(()=>{let e=[],t=Array.from(a.optionsSet.value),n=e=>t.find(t=>Y(e,t.value,a.by));return e=Array.isArray(a.modelValue.value)?a.modelValue.value.map(e=>n(e)?.textContent??``):[n(a.modelValue.value)?.textContent??``],e.filter(Boolean)}),l=x(()=>s.value.length?s.value.join(`, `):t.placeholder);return(e,i)=>(r(),g(k(U),{ref:k(n),as:e.as,"as-child":e.asChild,style:{pointerEvents:`none`},"data-placeholder":s.value.length?void 0:t.placeholder},{default:c(()=>[A(e.$slots,`default`,{selectedLabel:s.value,modelValue:k(a).modelValue.value},()=>[O(T(l.value),1)])]),_:3},8,[`as`,`as-child`,`data-placeholder`]))}}),Je=E({__name:`SelectViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let n=t,{nonce:i}=_(n),a=ye(i),s=Q(),l=s.position===`item-aligned`?$():void 0,{forwardRef:u,currentElement:d}=K();o(()=>{s?.onViewportChange(d.value)});let f=C(0);function p(e){let t=e.currentTarget,{shouldExpandOnScrollRef:n,contentWrapper:r}=l??{};if(n?.value&&r?.value){let e=Math.abs(f.value-t.scrollTop);if(e>0){let n=window.innerHeight-20,i=Number.parseFloat(r.value.style.minHeight),a=Number.parseFloat(r.value.style.height),o=Math.max(i,a);if(o<n){let i=o+e,a=Math.min(n,i),s=i-a;r.value.style.height=`${a}px`,r.value.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,r.value.style.justifyContent=`flex-end`)}}}f.value=t.scrollTop}return(t,i)=>(r(),w(b,null,[m(k(U),e({ref:k(u),"data-reka-select-viewport":``,role:`presentation`},{...t.$attrs,...n},{style:{position:`relative`,flex:1,overflow:`hidden auto`},onScroll:p}),{default:c(()=>[A(t.$slots,`default`)]),_:3},16),m(k(U),{as:`style`,nonce:k(a)},{default:c(()=>i[0]||=[O(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),Ye=E({__name:`Select`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},defaultValue:{},modelValue:{},by:{type:[String,Function]},dir:{},multiple:{type:Boolean},autocomplete:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`],setup(n,{emit:i}){let a=H(n,i);return(n,i)=>(r(),g(k(Te),e({"data-slot":`select`},k(a)),{default:c(e=>[A(n.$slots,`default`,u(t(e)))]),_:3},16))}}),Xe=E({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean},position:{default:`popper`},bodyLock:{type:Boolean},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(t,{emit:n}){let i=t,a=n,o=H(F(i,`class`),a);return(n,a)=>(r(),g(k(He),null,{default:c(()=>[m(k(Fe),e({"data-slot":`select-content`},{...n.$attrs,...k(o)},{class:k(M)(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--reka-select-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border shadow-md`,t.position===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,i.class)}),{default:c(()=>[m(k(et)),m(k(Je),{class:D(k(M)(`p-1`,t.position===`popper`&&`h-[var(--reka-select-trigger-height)] w-full min-w-[var(--reka-select-trigger-width)] scroll-my-1`))},{default:c(()=>[A(n.$slots,`default`)]),_:3},8,[`class`]),m(k($e))]),_:3},16,[`class`])]),_:3}))}}),Ze={class:`absolute right-2 flex size-3.5 items-center justify-center`},Qe=E({__name:`SelectItem`,props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,i=B(F(n,`class`));return(t,a)=>(r(),g(k(ze),e({"data-slot":`select-item`},k(i),{class:k(M)(`focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,n.class)}),{default:c(()=>[v(`span`,Ze,[m(k(Be),null,{default:c(()=>[A(t.$slots,`indicator-icon`,{},()=>[m(k(q),{class:`size-4`})])]),_:3})]),m(k(Ve),null,{default:c(()=>[A(t.$slots,`default`)]),_:3})]),_:3},16,[`class`]))}}),$e=E({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,i=B(F(n,`class`));return(t,a)=>(r(),g(k(We),e({"data-slot":`select-scroll-down-button`},k(i),{class:k(M)(`flex cursor-default items-center justify-center py-1`,n.class)}),{default:c(()=>[A(t.$slots,`default`,{},()=>[m(k(J),{class:`size-4`})])]),_:3},16,[`class`]))}}),et=E({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,i=B(F(n,`class`));return(t,a)=>(r(),g(k(Ge),e({"data-slot":`select-scroll-up-button`},k(i),{class:k(M)(`flex cursor-default items-center justify-center py-1`,n.class)}),{default:c(()=>[A(t.$slots,`default`,{},()=>[m(k(_e),{class:`size-4`})])]),_:3},16,[`class`]))}}),tt=E({__name:`SelectTrigger`,props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},size:{default:`default`}},setup(t){let n=t,i=B(F(n,`class`,`size`));return(a,o)=>(r(),g(k(Ke),e({"data-slot":`select-trigger`,"data-size":t.size},k(i),{class:k(M)(`border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,n.class)}),{default:c(()=>[A(a.$slots,`default`),m(k(Ie),{"as-child":``},{default:c(()=>[m(k(J),{class:`size-4 opacity-50`})]),_:1})]),_:3},16,[`data-size`,`class`]))}}),nt=E({__name:`SelectValue`,props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(t){let n=t;return(t,i)=>(r(),g(k(qe),e({"data-slot":`select-value`},n),{default:c(()=>[A(t.$slots,`default`)]),_:3},16))}});export{Ye as a,Xe as i,tt as n,q as o,Qe as r,nt as t};