@kingsy/headlessui-vue 1.7.23-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +36 -0
  3. package/dist/components/combobox/combobox.d.ts +323 -0
  4. package/dist/components/combobox/combobox.js +1 -0
  5. package/dist/components/description/description.d.ts +32 -0
  6. package/dist/components/description/description.js +1 -0
  7. package/dist/components/dialog/dialog.d.ts +202 -0
  8. package/dist/components/dialog/dialog.js +1 -0
  9. package/dist/components/disclosure/disclosure.d.ts +105 -0
  10. package/dist/components/disclosure/disclosure.js +1 -0
  11. package/dist/components/focus-trap/focus-trap.d.ts +151 -0
  12. package/dist/components/focus-trap/focus-trap.js +1 -0
  13. package/dist/components/label/label.d.ts +41 -0
  14. package/dist/components/label/label.js +1 -0
  15. package/dist/components/listbox/listbox.d.ts +229 -0
  16. package/dist/components/listbox/listbox.js +1 -0
  17. package/dist/components/menu/menu.d.ts +131 -0
  18. package/dist/components/menu/menu.js +1 -0
  19. package/dist/components/popover/popover.d.ts +151 -0
  20. package/dist/components/popover/popover.js +1 -0
  21. package/dist/components/portal/portal.d.ts +45 -0
  22. package/dist/components/portal/portal.js +1 -0
  23. package/dist/components/radio-group/radio-group.d.ts +184 -0
  24. package/dist/components/radio-group/radio-group.js +1 -0
  25. package/dist/components/switch/switch.d.ts +166 -0
  26. package/dist/components/switch/switch.js +1 -0
  27. package/dist/components/tabs/tabs.d.ts +177 -0
  28. package/dist/components/tabs/tabs.js +1 -0
  29. package/dist/components/transitions/transition.d.ts +234 -0
  30. package/dist/components/transitions/transition.js +1 -0
  31. package/dist/components/transitions/utils/transition.d.ts +5 -0
  32. package/dist/components/transitions/utils/transition.js +1 -0
  33. package/dist/headlessui.dev.cjs +8042 -0
  34. package/dist/headlessui.esm.js +1 -0
  35. package/dist/headlessui.esm.js.map +7 -0
  36. package/dist/headlessui.prod.cjs +7 -0
  37. package/dist/hooks/__mocks__/use-id.d.ts +1 -0
  38. package/dist/hooks/document-overflow/adjust-scrollbar-padding.d.ts +2 -0
  39. package/dist/hooks/document-overflow/adjust-scrollbar-padding.js +1 -0
  40. package/dist/hooks/document-overflow/handle-ios-locking.d.ts +6 -0
  41. package/dist/hooks/document-overflow/handle-ios-locking.js +1 -0
  42. package/dist/hooks/document-overflow/overflow-store.d.ts +19 -0
  43. package/dist/hooks/document-overflow/overflow-store.js +1 -0
  44. package/dist/hooks/document-overflow/prevent-scroll.d.ts +2 -0
  45. package/dist/hooks/document-overflow/prevent-scroll.js +1 -0
  46. package/dist/hooks/document-overflow/use-document-overflow.d.ts +3 -0
  47. package/dist/hooks/document-overflow/use-document-overflow.js +1 -0
  48. package/dist/hooks/use-controllable.d.ts +2 -0
  49. package/dist/hooks/use-controllable.js +1 -0
  50. package/dist/hooks/use-disposables.d.ts +25 -0
  51. package/dist/hooks/use-disposables.js +1 -0
  52. package/dist/hooks/use-document-event.d.ts +2 -0
  53. package/dist/hooks/use-document-event.js +1 -0
  54. package/dist/hooks/use-event-listener.d.ts +1 -0
  55. package/dist/hooks/use-event-listener.js +1 -0
  56. package/dist/hooks/use-frame-debounce.d.ts +8 -0
  57. package/dist/hooks/use-frame-debounce.js +1 -0
  58. package/dist/hooks/use-id.d.ts +1 -0
  59. package/dist/hooks/use-id.js +1 -0
  60. package/dist/hooks/use-inert.d.ts +2 -0
  61. package/dist/hooks/use-inert.js +1 -0
  62. package/dist/hooks/use-outside-click.d.ts +6 -0
  63. package/dist/hooks/use-outside-click.js +1 -0
  64. package/dist/hooks/use-resolve-button-type.d.ts +5 -0
  65. package/dist/hooks/use-resolve-button-type.js +1 -0
  66. package/dist/hooks/use-root-containers.d.ts +19 -0
  67. package/dist/hooks/use-root-containers.js +1 -0
  68. package/dist/hooks/use-store.d.ts +2 -0
  69. package/dist/hooks/use-store.js +1 -0
  70. package/dist/hooks/use-tab-direction.d.ts +5 -0
  71. package/dist/hooks/use-tab-direction.js +1 -0
  72. package/dist/hooks/use-text-value.d.ts +2 -0
  73. package/dist/hooks/use-text-value.js +1 -0
  74. package/dist/hooks/use-tracked-pointer.d.ts +4 -0
  75. package/dist/hooks/use-tracked-pointer.js +1 -0
  76. package/dist/hooks/use-tree-walker.d.ts +9 -0
  77. package/dist/hooks/use-tree-walker.js +1 -0
  78. package/dist/hooks/use-window-event.d.ts +2 -0
  79. package/dist/hooks/use-window-event.js +1 -0
  80. package/dist/index.cjs +7 -0
  81. package/dist/index.d.cts +12 -0
  82. package/dist/index.d.ts +12 -0
  83. package/dist/index.js +1 -0
  84. package/dist/internal/dom-containers.d.ts +1 -0
  85. package/dist/internal/dom-containers.js +1 -0
  86. package/dist/internal/focus-sentinel.d.ts +13 -0
  87. package/dist/internal/focus-sentinel.js +1 -0
  88. package/dist/internal/hidden.d.ts +32 -0
  89. package/dist/internal/hidden.js +1 -0
  90. package/dist/internal/open-closed.d.ts +10 -0
  91. package/dist/internal/open-closed.js +1 -0
  92. package/dist/internal/portal-force-root.d.ts +27 -0
  93. package/dist/internal/portal-force-root.js +1 -0
  94. package/dist/internal/stack-context.d.ts +14 -0
  95. package/dist/internal/stack-context.js +1 -0
  96. package/dist/keyboard.d.ts +16 -0
  97. package/dist/keyboard.js +1 -0
  98. package/dist/mouse.d.ts +4 -0
  99. package/dist/mouse.js +1 -0
  100. package/dist/utils/active-element-history.d.ts +1 -0
  101. package/dist/utils/active-element-history.js +1 -0
  102. package/dist/utils/calculate-active-index.d.ts +25 -0
  103. package/dist/utils/calculate-active-index.js +1 -0
  104. package/dist/utils/disposables.d.ts +12 -0
  105. package/dist/utils/disposables.js +1 -0
  106. package/dist/utils/document-ready.d.ts +1 -0
  107. package/dist/utils/document-ready.js +1 -0
  108. package/dist/utils/dom.d.ts +4 -0
  109. package/dist/utils/dom.js +1 -0
  110. package/dist/utils/env.d.ts +13 -0
  111. package/dist/utils/env.js +1 -0
  112. package/dist/utils/focus-management.d.ts +38 -0
  113. package/dist/utils/focus-management.js +1 -0
  114. package/dist/utils/form.d.ts +4 -0
  115. package/dist/utils/form.js +1 -0
  116. package/dist/utils/get-text-value.d.ts +1 -0
  117. package/dist/utils/get-text-value.js +1 -0
  118. package/dist/utils/match.d.ts +1 -0
  119. package/dist/utils/match.js +1 -0
  120. package/dist/utils/micro-task.d.ts +1 -0
  121. package/dist/utils/micro-task.js +1 -0
  122. package/dist/utils/once.d.ts +1 -0
  123. package/dist/utils/once.js +1 -0
  124. package/dist/utils/owner.d.ts +2 -0
  125. package/dist/utils/owner.js +1 -0
  126. package/dist/utils/pipeline.d.ts +4 -0
  127. package/dist/utils/pipeline.js +1 -0
  128. package/dist/utils/platform.d.ts +3 -0
  129. package/dist/utils/platform.js +1 -0
  130. package/dist/utils/render.d.ts +39 -0
  131. package/dist/utils/render.js +4 -0
  132. package/dist/utils/resolve-prop-value.d.ts +1 -0
  133. package/dist/utils/resolve-prop-value.js +1 -0
  134. package/dist/utils/store.d.ts +11 -0
  135. package/dist/utils/store.js +1 -0
  136. package/package.json +55 -0
@@ -0,0 +1,7 @@
1
+ "use strict";var nt=Object.defineProperty;var co=Object.getOwnPropertyDescriptor;var po=Object.getOwnPropertyNames;var mo=Object.prototype.hasOwnProperty;var vo=(t,l,n)=>l in t?nt(t,l,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[l]=n;var bo=(t,l)=>{for(var n in l)nt(t,n,{get:l[n],enumerable:!0})},ho=(t,l,n,r)=>{if(l&&typeof l=="object"||typeof l=="function")for(let e of po(l))!mo.call(t,e)&&e!==n&&nt(t,e,{get:()=>l[e],enumerable:!(r=co(l,e))||r.enumerable});return t};var go=t=>ho(nt({},"__esModule",{value:!0}),t);var wt=(t,l,n)=>(vo(t,typeof l!="symbol"?l+"":l,n),n);var Bl={};bo(Bl,{Combobox:()=>Fo,ComboboxButton:()=>Ho,ComboboxInput:()=>Ao,ComboboxLabel:()=>ko,ComboboxOption:()=>No,ComboboxOptions:()=>jo,Dialog:()=>Go,DialogBackdrop:()=>Yo,DialogDescription:()=>Jo,DialogOverlay:()=>qo,DialogPanel:()=>Qo,DialogTitle:()=>Xo,Disclosure:()=>el,DisclosureButton:()=>tl,DisclosurePanel:()=>nl,FocusTrap:()=>Ie,Listbox:()=>rl,ListboxButton:()=>al,ListboxLabel:()=>il,ListboxOption:()=>sl,ListboxOptions:()=>ul,Menu:()=>fl,MenuButton:()=>cl,MenuItem:()=>ml,MenuItems:()=>pl,Popover:()=>Jn,PopoverButton:()=>bl,PopoverGroup:()=>yl,PopoverOverlay:()=>hl,PopoverPanel:()=>gl,Portal:()=>Xe,PortalGroup:()=>gt,RadioGroup:()=>xl,RadioGroupDescription:()=>Rl,RadioGroupLabel:()=>El,RadioGroupOption:()=>Tl,Switch:()=>wl,SwitchDescription:()=>Pl,SwitchGroup:()=>Ol,SwitchLabel:()=>Cl,Tab:()=>Dl,TabGroup:()=>Il,TabList:()=>Ml,TabPanel:()=>Fl,TabPanels:()=>Ll,TransitionChild:()=>so,TransitionRoot:()=>fo});module.exports=go(Bl);function Te(t,l,n){var i;let r=(i=n.initialDeps)!=null?i:[],e;function o(){var a,s,d,u;let h;n.key&&((a=n.debug)!=null&&a.call(n))&&(h=Date.now());let b=t();if(!(b.length!==r.length||b.some((m,c)=>r[c]!==m)))return e;r=b;let p;if(n.key&&((s=n.debug)!=null&&s.call(n))&&(p=Date.now()),e=l(...b),n.key&&((d=n.debug)!=null&&d.call(n))){let m=Math.round((Date.now()-h)*100)/100,c=Math.round((Date.now()-p)*100)/100,g=c/16,y=(f,T)=>{for(f=String(f);f.length<T;)f=" "+f;return f};console.info(`%c\u23F1 ${y(c,5)} /${y(m,5)} ms`,`
2
+ font-size: .6rem;
3
+ font-weight: bold;
4
+ color: hsl(${Math.max(0,Math.min(120-120*g,120))}deg 100% 31%);`,n==null?void 0:n.key)}return(u=n==null?void 0:n.onChange)==null||u.call(n,e),e}return o.updateDeps=a=>{r=a},o}function ot(t,l){if(t===void 0)throw new Error(`Unexpected undefined${l?`: ${l}`:""}`);return t}var Wt=(t,l)=>Math.abs(t-l)<1,Ut=(t,l,n)=>{let r;return function(...e){t.clearTimeout(r),r=t.setTimeout(()=>l.apply(this,e),n)}};var yo=t=>t,So=t=>{let l=Math.max(t.startIndex-t.overscan,0),n=Math.min(t.endIndex+t.overscan,t.count-1),r=[];for(let e=l;e<=n;e++)r.push(e);return r},qt=(t,l)=>{let n=t.scrollElement;if(!n)return;let r=t.targetWindow;if(!r)return;let e=i=>{let{width:a,height:s}=i;l({width:Math.round(a),height:Math.round(s)})};if(e(n.getBoundingClientRect()),!r.ResizeObserver)return()=>{};let o=new r.ResizeObserver(i=>{let a=()=>{let s=i[0];if(s!=null&&s.borderBoxSize){let d=s.borderBoxSize[0];if(d){e({width:d.inlineSize,height:d.blockSize});return}}e(n.getBoundingClientRect())};t.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(a):a()});return o.observe(n,{box:"border-box"}),()=>{o.unobserve(n)}},zt={passive:!0};var Gt=typeof window=="undefined"?!0:"onscrollend"in window,Yt=(t,l)=>{let n=t.scrollElement;if(!n)return;let r=t.targetWindow;if(!r)return;let e=0,o=t.options.useScrollendEvent&&Gt?()=>{}:Ut(r,()=>{l(e,!1)},t.options.isScrollingResetDelay),i=u=>()=>{let{horizontal:h,isRtl:b}=t.options;e=h?n.scrollLeft*(b&&-1||1):n.scrollTop,o(),l(e,u)},a=i(!0),s=i(!1);s(),n.addEventListener("scroll",a,zt);let d=t.options.useScrollendEvent&&Gt;return d&&n.addEventListener("scrollend",s,zt),()=>{n.removeEventListener("scroll",a),d&&n.removeEventListener("scrollend",s)}};var xo=(t,l,n)=>{if(l!=null&&l.borderBoxSize){let r=l.borderBoxSize[0];if(r)return Math.round(r[n.options.horizontal?"inlineSize":"blockSize"])}return Math.round(t.getBoundingClientRect()[n.options.horizontal?"width":"height"])};var Qt=(t,{adjustments:l=0,behavior:n},r)=>{var e,o;let i=t+l;(o=(e=r.scrollElement)==null?void 0:e.scrollTo)==null||o.call(e,{[r.options.horizontal?"left":"top"]:i,behavior:n})},lt=class{constructor(l){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollToIndexTimeoutId=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.pendingMeasuredCacheIndexes=[],this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let n=null,r=()=>n||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:n=new this.targetWindow.ResizeObserver(e=>{e.forEach(o=>{let i=()=>{this._measureElement(o.target,o)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(i):i()})}));return{disconnect:()=>{var e;(e=r())==null||e.disconnect(),n=null},observe:e=>{var o;return(o=r())==null?void 0:o.observe(e,{box:"border-box"})},unobserve:e=>{var o;return(o=r())==null?void 0:o.unobserve(e)}}})(),this.range=null,this.setOptions=n=>{Object.entries(n).forEach(([r,e])=>{typeof e=="undefined"&&delete n[r]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:yo,rangeExtractor:So,onChange:()=>{},measureElement:xo,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...n}},this.notify=n=>{var r,e;(e=(r=this.options).onChange)==null||e.call(r,this,n)},this.maybeNotify=Te(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),n=>{this.notify(n)},{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(n=>n()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var e;var n;let r=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==r){if(this.cleanup(),!r){this.maybeNotify();return}this.scrollElement=r,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=(e=(n=this.scrollElement)==null?void 0:n.window)!=null?e:null,this.elementsCache.forEach(o=>{this.observer.observe(o)}),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0}),this.unsubs.push(this.options.observeElementRect(this,o=>{this.scrollRect=o,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(o,i)=>{this.scrollAdjustments=0,this.scrollDirection=i?this.getScrollOffset()<o?"forward":"backward":null,this.scrollOffset=o,this.isScrolling=i,this.maybeNotify()}))}},this.getSize=()=>{var n;return this.options.enabled?(this.scrollRect=(n=this.scrollRect)!=null?n:this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0)},this.getScrollOffset=()=>{var n;return this.options.enabled?(this.scrollOffset=(n=this.scrollOffset)!=null?n:typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset,this.scrollOffset):(this.scrollOffset=null,0)},this.getFurthestMeasurement=(n,r)=>{let e=new Map,o=new Map;for(let i=r-1;i>=0;i--){let a=n[i];if(e.has(a.lane))continue;let s=o.get(a.lane);if(s==null||a.end>s.end?o.set(a.lane,a):a.end<s.end&&e.set(a.lane,!0),e.size===this.options.lanes)break}return o.size===this.options.lanes?Array.from(o.values()).sort((i,a)=>i.end===a.end?i.index-a.index:i.end-a.end)[0]:void 0},this.getMeasurementOptions=Te(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled],(n,r,e,o,i)=>(this.pendingMeasuredCacheIndexes=[],{count:n,paddingStart:r,scrollMargin:e,getItemKey:o,enabled:i}),{key:!1}),this.getMeasurements=Te(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:n,paddingStart:r,scrollMargin:e,getItemKey:o,enabled:i},a)=>{if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),[];this.measurementsCache.length===0&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(u=>{this.itemSizeCache.set(u.key,u.size)}));let s=this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[];let d=this.measurementsCache.slice(0,s);for(let u=s;u<n;u++){let h=o(u),b=this.options.lanes===1?d[u-1]:this.getFurthestMeasurement(d,u),S=b?b.end+this.options.gap:r+e,p=a.get(h),m=typeof p=="number"?p:this.options.estimateSize(u),c=S+m,g=b?b.lane:u%this.options.lanes;d[u]={index:u,start:S,size:m,end:c,key:h,lane:g}}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=Te(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(n,r,e,o)=>this.range=n.length>0&&r>0?To({measurements:n,outerSize:r,scrollOffset:e,lanes:o}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Te(()=>{let n=null,r=null,e=this.calculateRange();return e&&(n=e.startIndex,r=e.endIndex),this.maybeNotify.updateDeps([this.isScrolling,n,r]),[this.options.rangeExtractor,this.options.overscan,this.options.count,n,r]},(n,r,e,o,i)=>o===null||i===null?[]:n({startIndex:o,endIndex:i,overscan:r,count:e}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=n=>{let r=this.options.indexAttribute,e=n.getAttribute(r);return e?parseInt(e,10):(console.warn(`Missing attribute name '${r}={index}' on measured element.`),-1)},this._measureElement=(n,r)=>{let e=this.indexFromElement(n),o=this.measurementsCache[e];if(!o)return;let i=o.key,a=this.elementsCache.get(i);a!==n&&(a&&this.observer.unobserve(a),this.observer.observe(n),this.elementsCache.set(i,n)),n.isConnected&&this.resizeItem(e,this.options.measureElement(n,r,this))},this.resizeItem=(n,r)=>{var a;let e=this.measurementsCache[n];if(!e)return;let o=(a=this.itemSizeCache.get(e.key))!=null?a:e.size,i=r-o;i!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(e,i,this):e.start<this.getScrollOffset()+this.scrollAdjustments)&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=i,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(e.index),this.itemSizeCache=new Map(this.itemSizeCache.set(e.key,r)),this.notify(!1))},this.measureElement=n=>{if(!n){this.elementsCache.forEach((r,e)=>{r.isConnected||(this.observer.unobserve(r),this.elementsCache.delete(e))});return}this._measureElement(n,void 0)},this.getVirtualItems=Te(()=>[this.getVirtualIndexes(),this.getMeasurements()],(n,r)=>{let e=[];for(let o=0,i=n.length;o<i;o++){let a=n[o],s=r[a];e.push(s)}return e},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=n=>{let r=this.getMeasurements();if(r.length!==0)return ot(r[Xt(0,r.length-1,e=>ot(r[e]).start,n)])},this.getOffsetForAlignment=(n,r,e=0)=>{let o=this.getSize(),i=this.getScrollOffset();r==="auto"&&(r=n>=i+o?"end":"start"),r==="center"?n+=(e-o)/2:r==="end"&&(n-=o);let a=this.options.horizontal?"scrollWidth":"scrollHeight",d=(this.scrollElement?"document"in this.scrollElement?this.scrollElement.document.documentElement[a]:this.scrollElement[a]:0)-o;return Math.max(Math.min(d,n),0)},this.getOffsetForIndex=(n,r="auto")=>{n=Math.max(0,Math.min(n,this.options.count-1));let e=this.measurementsCache[n];if(!e)return;let o=this.getSize(),i=this.getScrollOffset();if(r==="auto")if(e.end>=i+o-this.options.scrollPaddingEnd)r="end";else if(e.start<=i+this.options.scrollPaddingStart)r="start";else return[i,r];let a=r==="end"?e.end+this.options.scrollPaddingEnd:e.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,r,e.size),r]},this.isDynamicMode=()=>this.elementsCache.size>0,this.cancelScrollToIndex=()=>{this.scrollToIndexTimeoutId!==null&&this.targetWindow&&(this.targetWindow.clearTimeout(this.scrollToIndexTimeoutId),this.scrollToIndexTimeoutId=null)},this.scrollToOffset=(n,{align:r="start",behavior:e}={})=>{this.cancelScrollToIndex(),e==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(n,r),{adjustments:void 0,behavior:e})},this.scrollToIndex=(n,{align:r="auto",behavior:e}={})=>{n=Math.max(0,Math.min(n,this.options.count-1)),this.cancelScrollToIndex(),e==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size.");let o=this.getOffsetForIndex(n,r);if(!o)return;let[i,a]=o;this._scrollToOffset(i,{adjustments:void 0,behavior:e}),e!=="smooth"&&this.isDynamicMode()&&this.targetWindow&&(this.scrollToIndexTimeoutId=this.targetWindow.setTimeout(()=>{if(this.scrollToIndexTimeoutId=null,this.elementsCache.has(this.options.getItemKey(n))){let[d]=ot(this.getOffsetForIndex(n,a));Wt(d,this.getScrollOffset())||this.scrollToIndex(n,{align:a,behavior:e})}else this.scrollToIndex(n,{align:a,behavior:e})}))},this.scrollBy=(n,{behavior:r}={})=>{this.cancelScrollToIndex(),r==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+n,{adjustments:void 0,behavior:r})},this.getTotalSize=()=>{var o;var n;let r=this.getMeasurements(),e;if(r.length===0)e=this.options.paddingStart;else if(this.options.lanes===1)e=(o=(n=r[r.length-1])==null?void 0:n.end)!=null?o:0;else{let i=Array(this.options.lanes).fill(null),a=r.length-1;for(;a>=0&&i.some(s=>s===null);){let s=r[a];i[s.lane]===null&&(i[s.lane]=s.end),a--}e=Math.max(...i.filter(s=>s!==null))}return Math.max(e-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(n,{adjustments:r,behavior:e})=>{this.options.scrollToFn(n,{behavior:e,adjustments:r},this)},this.measure=()=>{this.itemSizeCache=new Map,this.notify(!1)},this.setOptions(l)}},Xt=(t,l,n,r)=>{for(;t<=l;){let e=(t+l)/2|0,o=n(e);if(o<r)t=e+1;else if(o>r)l=e-1;else return e}return t>0?t-1:0};function To({measurements:t,outerSize:l,scrollOffset:n,lanes:r}){let e=t.length-1,o=s=>t[s].start;if(t.length<=r)return{startIndex:0,endIndex:e};let i=Xt(0,e,o,n),a=i;if(r===1)for(;a<e&&t[a].end<n+l;)a++;else if(r>1){let s=Array(r).fill(0);for(;a<e&&s.some(u=>u<n+l);){let u=t[a];s[u.lane]=u.end,a++}let d=Array(r).fill(n+l);for(;i>=0&&d.some(u=>u>=n);){let u=t[i];d[u.lane]=u.start,i--}i=Math.max(0,i-i%r),a=Math.min(e,a+(r-1-a%r))}return{startIndex:i,endIndex:a}}var te=require("vue");function Eo(t){let l=new lt((0,te.unref)(t)),n=(0,te.shallowRef)(l),r=l._didMount();return(0,te.watch)(()=>(0,te.unref)(t).getScrollElement(),e=>{e&&l._willUpdate()},{immediate:!0}),(0,te.watch)(()=>(0,te.unref)(t),e=>{l.setOptions({...e,onChange:(o,i)=>{var a;(0,te.triggerRef)(n),(a=e.onChange)==null||a.call(e,o,i)}}),l._willUpdate(),(0,te.triggerRef)(n)},{immediate:!0}),(0,te.onScopeDispose)(r),n}function Jt(t){return Eo((0,te.computed)(()=>({observeElementRect:qt,observeElementOffset:Yt,scrollToFn:Qt,...(0,te.unref)(t)})))}var E=require("vue");var Ge=require("vue");function ge(t,l,n){let r=(0,Ge.ref)(n==null?void 0:n.value),e=(0,Ge.computed)(()=>t.value!==void 0);return[(0,Ge.computed)(()=>e.value?t.value:r.value),function(o){return e.value||(r.value=o),l==null?void 0:l(o)}]}var Zt=require("vue");function Ee(t){typeof queueMicrotask=="function"?queueMicrotask(t):Promise.resolve().then(t).catch(l=>setTimeout(()=>{throw l}))}function ue(){let t=[],l={addEventListener(n,r,e,o){return n.addEventListener(r,e,o),l.add(()=>n.removeEventListener(r,e,o))},requestAnimationFrame(...n){let r=requestAnimationFrame(...n);l.add(()=>cancelAnimationFrame(r))},nextFrame(...n){l.requestAnimationFrame(()=>{l.requestAnimationFrame(...n)})},setTimeout(...n){let r=setTimeout(...n);l.add(()=>clearTimeout(r))},microTask(...n){let r={current:!0};return Ee(()=>{r.current&&n[0]()}),l.add(()=>{r.current=!1})},style(n,r,e){let o=n.style.getPropertyValue(r);return Object.assign(n.style,{[r]:e}),this.add(()=>{Object.assign(n.style,{[r]:o})})},group(n){let r=ue();return n(r),this.add(()=>r.dispose())},add(n){return t.push(n),()=>{let r=t.indexOf(n);if(r>=0)for(let e of t.splice(r,1))e()}},dispose(){for(let n of t.splice(0))n()}};return l}function en(){let t=ue();return(0,Zt.onUnmounted)(()=>t.dispose()),t}function tn(){let t=en();return l=>{t.dispose(),t.nextFrame(l)}}var Ro=0;function Oo(){return++Ro}function j(){return Oo()}var at=require("vue");function v(t){var n;if(t==null||t.value==null)return null;let l=(n=t.value.$el)!=null?n:t.value;return l instanceof Node?l:null}var nn=require("vue");function H(t,l,...n){if(t in l){let e=l[t];return typeof e=="function"?e(...n):e}let r=new Error(`Tried to handle "${t}" but there is no handler defined. Only defined handlers are: ${Object.keys(l).map(e=>`"${e}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,H),r}var Ct=class{constructor(){wt(this,"current",this.detect());wt(this,"currentId",0)}set(l){this.current!==l&&(this.currentId=0,this.current=l)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current==="server"}get isClient(){return this.current==="client"}detect(){return typeof window=="undefined"||typeof document=="undefined"?"server":"client"}},ce=new Ct;function q(t){var l,n;return ce.isServer?null:t?"ownerDocument"in t?t.ownerDocument:"value"in t?(n=(l=v(t))==null?void 0:l.ownerDocument)!=null?n:document:null:document}var qe=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(t=>`${t}:not([tabindex='-1'])`).join(",");function Fe(t=document.body){return t==null?[]:Array.from(t.querySelectorAll(qe)).sort((l,n)=>Math.sign((l.tabIndex||Number.MAX_SAFE_INTEGER)-(n.tabIndex||Number.MAX_SAFE_INTEGER)))}function ve(t,l=0){var n;return t===((n=q(t))==null?void 0:n.body)?!1:H(l,{[0](){return t.matches(qe)},[1](){let r=t;for(;r!==null;){if(r.matches(qe))return!0;r=r.parentElement}return!1}})}function Pt(t){let l=q(t);(0,nn.nextTick)(()=>{l&&!ve(l.activeElement,0)&&be(t)})}typeof window!="undefined"&&typeof document!="undefined"&&(document.addEventListener("keydown",t=>{t.metaKey||t.altKey||t.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible="")},!0),document.addEventListener("click",t=>{t.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:t.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible="")},!0));function be(t){t==null||t.focus({preventScroll:!0})}var wo=["textarea","input"].join(",");function Co(t){var l,n;return(n=(l=t==null?void 0:t.matches)==null?void 0:l.call(t,wo))!=null?n:!1}function le(t,l=n=>n){return t.slice().sort((n,r)=>{let e=l(n),o=l(r);if(e===null||o===null)return 0;let i=e.compareDocumentPosition(o);return i&Node.DOCUMENT_POSITION_FOLLOWING?-1:i&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function on(t,l){return Q(Fe(),l,{relativeTo:t})}function Q(t,l,{sorted:n=!0,relativeTo:r=null,skipElements:e=[]}={}){var S;let o=(S=Array.isArray(t)?t.length>0?t[0].ownerDocument:document:t==null?void 0:t.ownerDocument)!=null?S:document,i=Array.isArray(t)?n?le(t):t:Fe(t);e.length>0&&i.length>1&&(i=i.filter(p=>!e.includes(p))),r=r!=null?r:o.activeElement;let a=(()=>{if(l&5)return 1;if(l&10)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),s=(()=>{if(l&1)return 0;if(l&2)return Math.max(0,i.indexOf(r))-1;if(l&4)return Math.max(0,i.indexOf(r))+1;if(l&8)return i.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),d=l&32?{preventScroll:!0}:{},u=0,h=i.length,b;do{if(u>=h||u+h<=0)return 0;let p=s+u;if(l&16)p=(p+h)%h;else{if(p<0)return 3;if(p>=h)return 1}b=i[p],b==null||b.focus(d),u+=a}while(b!==o.activeElement);return l&6&&Co(b)&&b.select(),2}function It(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function Po(){return/Android/gi.test(window.navigator.userAgent)}function rt(){return It()||Po()}var ln=require("vue");function ke(t,l,n,r){ce.isServer||(0,ln.watchEffect)(e=>{t.value&&(document.addEventListener(l,n,r),e(()=>document.removeEventListener(l,n,r)))})}var rn=require("vue");function it(t,l,n,r){ce.isServer||(0,rn.watchEffect)(e=>{t.value&&(window.addEventListener(l,n,r),e(()=>window.removeEventListener(l,n,r)))})}var an=30;function pe(t,l,n=(0,at.computed)(()=>!0)){function r(i,a){if(i.defaultPrevented)return;let s=a(i);if(s===null||!s.getRootNode().contains(s))return;let d=function u(h){return typeof h=="function"?u(h()):Array.isArray(h)||h instanceof Set?h:[h]}(t);for(let u of d){if(u===null)continue;let h=u instanceof HTMLElement?u:v(u);if(h!=null&&h.contains(s)||i.composed&&i.composedPath().includes(h))return}return!ve(s,1)&&s.tabIndex!==-1&&i.preventDefault(),l(i,s)}let e=(0,at.ref)(null);ke(n,"pointerdown",i=>{var a,s;e.value=((s=(a=i.composedPath)==null?void 0:a.call(i))==null?void 0:s[0])||i.target},!0),ke(n,"mousedown",i=>{var a,s;e.value=((s=(a=i.composedPath)==null?void 0:a.call(i))==null?void 0:s[0])||i.target},!0),ke(n,"click",i=>{rt()||e.value&&(r(i,()=>e.value),e.value=null)},!0);let o={x:0,y:0};ke(n,"touchstart",i=>{o.x=i.touches[0].clientX,o.y=i.touches[0].clientY},!0),ke(n,"touchend",i=>{let a={x:i.changedTouches[0].clientX,y:i.changedTouches[0].clientY};if(!(Math.abs(a.x-o.x)>=an||Math.abs(a.y-o.y)>=an))return r(i,()=>i.target instanceof HTMLElement?i.target:null)},!0),it(n,"blur",i=>r(i,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}var He=require("vue");function un(t,l){if(t)return t;let n=l!=null?l:"button";if(typeof n=="string"&&n.toLowerCase()==="button")return"button"}function ie(t,l){let n=(0,He.ref)(un(t.value.type,t.value.as));return(0,He.onMounted)(()=>{n.value=un(t.value.type,t.value.as)}),(0,He.watchEffect)(()=>{var r;n.value||v(l)&&v(l)instanceof HTMLButtonElement&&!((r=v(l))!=null&&r.hasAttribute("type"))&&(n.value="button")}),n}var dn=require("vue");function sn(t){return[t.screenX,t.screenY]}function Ae(){let t=(0,dn.ref)([-1,-1]);return{wasMoved(l){let n=sn(l);return t.value[0]===n[0]&&t.value[1]===n[1]?!1:(t.value=n,!0)},update(l){t.value=sn(l)}}}var fn=require("vue");function je({container:t,accept:l,walk:n,enabled:r}){(0,fn.watchEffect)(()=>{let e=t.value;if(!e||r!==void 0&&!r.value)return;let o=q(t);if(!o)return;let i=Object.assign(s=>l(s),{acceptNode:l}),a=o.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,i,!1);for(;a.nextNode();)n(a.currentNode)})}var mn=require("vue");var Ne=require("vue");function M({visible:t=!0,features:l=0,ourProps:n,theirProps:r,...e}){var a;let o=pn(r,n),i=Object.assign(e,{props:o});if(t||l&2&&o.static)return ut(i);if(l&1){let s=(a=o.unmount)==null||a?0:1;return H(s,{[0](){return null},[1](){return ut({...e,props:{...o,hidden:!0,style:{display:"none"}}})}})}return ut(i)}function ut({props:t,attrs:l,slots:n,slot:r,name:e}){var d,u;let{as:o,...i}=re(t,["unmount","static"]),a=(d=n.default)==null?void 0:d.call(n,r),s={};if(r){let h=!1,b=[];for(let[S,p]of Object.entries(r))typeof p=="boolean"&&(h=!0),p===!0&&b.push(S);h&&(s["data-headlessui-state"]=b.join(" "))}if(o==="template"){if(a=cn(a!=null?a:[]),Object.keys(i).length>0||Object.keys(l).length>0){let[h,...b]=a!=null?a:[];if(!Io(h)||b.length>0)throw new Error(['Passing props on "template"!',"",`The current component <${e} /> is rendering a "template".`,"However we need to passthrough the following props:",Object.keys(i).concat(Object.keys(l)).map(m=>m.trim()).filter((m,c,g)=>g.indexOf(m)===c).sort((m,c)=>m.localeCompare(c)).map(m=>` - ${m}`).join(`
5
+ `),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".',"Render a single element as the child so that we can forward the props onto that element."].map(m=>` - ${m}`).join(`
6
+ `)].join(`
7
+ `));let S=pn((u=h.props)!=null?u:{},i,s),p=(0,Ne.cloneVNode)(h,S,!0);for(let m in S)m.startsWith("on")&&(p.props||(p.props={}),p.props[m]=S[m]);return p}return Array.isArray(a)&&a.length===1?a[0]:a}return(0,Ne.h)(o,Object.assign({},i,s),{default:()=>a})}function cn(t){return t.flatMap(l=>l.type===Ne.Fragment?cn(l.children):[l])}function pn(...t){var r;if(t.length===0)return{};if(t.length===1)return t[0];let l={},n={};for(let e of t)for(let o in e)o.startsWith("on")&&typeof e[o]=="function"?((r=n[o])!=null||(n[o]=[]),n[o].push(e[o])):l[o]=e[o];if(l.disabled||l["aria-disabled"])return Object.assign(l,Object.fromEntries(Object.keys(n).map(e=>[e,void 0])));for(let e in n)Object.assign(l,{[e](o,...i){let a=n[e];for(let s of a){if(o instanceof Event&&o.defaultPrevented)return;s(o,...i)}}});return l}function ye(t){let l=Object.assign({},t);for(let n in l)l[n]===void 0&&delete l[n];return l}function re(t,l=[]){let n=Object.assign({},t);for(let r of l)r in n&&delete n[r];return n}function Io(t){return t==null?!1:typeof t.type=="string"||typeof t.type=="object"||typeof t.type=="function"}var X=(0,mn.defineComponent)({name:"Hidden",props:{as:{type:[Object,String],default:"div"},features:{type:Number,default:1}},setup(t,{slots:l,attrs:n}){return()=>{var i;let{features:r,...e}=t,o={"aria-hidden":(r&2)===2?!0:(i=e["aria-hidden"])!=null?i:void 0,hidden:(r&4)===4?!0:void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(r&4)===4&&(r&2)!==2&&{display:"none"}}};return M({ourProps:o,theirProps:e,slot:{},attrs:n,slots:l,name:"Hidden"})}}});var st=require("vue"),vn=Symbol("Context");function bn(){return ne()!==null}function ne(){return(0,st.inject)(vn,null)}function de(t){(0,st.provide)(vn,t)}function hn(t){function l(){document.readyState!=="loading"&&(t(),document.removeEventListener("DOMContentLoaded",l))}typeof window!="undefined"&&typeof document!="undefined"&&(document.addEventListener("DOMContentLoaded",l),l())}var fe=[];hn(()=>{function t(l){if(!(l.target instanceof HTMLElement)||l.target===document.body||fe[0]===l.target)return;let n=l.target;n=n.closest(qe),fe.unshift(n!=null?n:l.target),fe=fe.filter(r=>r!=null&&r.isConnected),fe.splice(10)}window.addEventListener("click",t,{capture:!0}),window.addEventListener("mousedown",t,{capture:!0}),window.addEventListener("focus",t,{capture:!0}),document.body.addEventListener("click",t,{capture:!0}),document.body.addEventListener("mousedown",t,{capture:!0}),document.body.addEventListener("focus",t,{capture:!0})});function Mo(t){throw new Error("Unexpected object: "+t)}function Re(t,l){let n=l.resolveItems();if(n.length<=0)return null;let r=l.resolveActiveIndex(),e=r!=null?r:-1;switch(t.focus){case 0:{for(let o=0;o<n.length;++o)if(!l.resolveDisabled(n[o],o,n))return o;return r}case 1:{e===-1&&(e=n.length);for(let o=e-1;o>=0;--o)if(!l.resolveDisabled(n[o],o,n))return o;return r}case 2:{for(let o=e+1;o<n.length;++o)if(!l.resolveDisabled(n[o],o,n))return o;return r}case 3:{for(let o=n.length-1;o>=0;--o)if(!l.resolveDisabled(n[o],o,n))return o;return r}case 4:{for(let o=0;o<n.length;++o)if(l.resolveId(n[o],o,n)===t.id)return o;return r}case 5:return null;default:Mo(t)}}function Oe(t={},l=null,n=[]){for(let[r,e]of Object.entries(t))yn(n,gn(l,r),e);return n}function gn(t,l){return t?t+"["+l+"]":l}function yn(t,l,n){if(Array.isArray(n))for(let[r,e]of n.entries())yn(t,gn(l,r.toString()),e);else n instanceof Date?t.push([l,n.toISOString()]):typeof n=="boolean"?t.push([l,n?"1":"0"]):typeof n=="string"?t.push([l,n]):typeof n=="number"?t.push([l,`${n}`]):n==null?t.push([l,""]):Oe(n,l,t)}function dt(t){var n,r;let l=(n=t==null?void 0:t.form)!=null?n:t.closest("form");if(l){for(let e of l.elements)if(e!==t&&(e.tagName==="INPUT"&&e.type==="submit"||e.tagName==="BUTTON"&&e.type==="submit"||e.nodeName==="INPUT"&&e.type==="image")){e.click();return}(r=l.requestSubmit)==null||r.call(l)}}function Do(t,l){return t===l}var xn=Symbol("ComboboxContext");function Pe(t){let l=(0,E.inject)(xn,null);if(l===null){let n=new Error(`<${t} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,Pe),n}return l}var Tn=Symbol("VirtualContext"),Lo=(0,E.defineComponent)({name:"VirtualProvider",setup(t,{slots:l}){let n=Pe("VirtualProvider"),r=(0,E.computed)(()=>{let a=v(n.optionsRef);if(!a)return{start:0,end:0};let s=window.getComputedStyle(a);return{start:parseFloat(s.paddingBlockStart||s.paddingTop),end:parseFloat(s.paddingBlockEnd||s.paddingBottom)}}),e=Jt((0,E.computed)(()=>({scrollPaddingStart:r.value.start,scrollPaddingEnd:r.value.end,count:n.virtual.value.options.length,estimateSize(){return 40},getScrollElement(){return v(n.optionsRef)},overscan:12}))),o=(0,E.computed)(()=>{var a;return(a=n.virtual.value)==null?void 0:a.options}),i=(0,E.ref)(0);return(0,E.watch)([o],()=>{i.value+=1}),(0,E.provide)(Tn,n.virtual.value?e:null),()=>[(0,E.h)("div",{style:{position:"relative",width:"100%",height:`${e.value.getTotalSize()}px`},ref:a=>{a&&n.activationTrigger.value!==0&&n.activeOptionIndex.value!==null&&n.virtual.value.options.length>n.activeOptionIndex.value&&e.value.scrollToIndex(n.activeOptionIndex.value)}},e.value.getVirtualItems().map(a=>(0,E.cloneVNode)(l.default({option:n.virtual.value.options[a.index],open:n.comboboxState.value===0})[0],{key:`${i.value}-${a.index}`,"data-index":a.index,"aria-setsize":n.virtual.value.options.length,"aria-posinset":a.index+1,style:{position:"absolute",top:0,left:0,transform:`translateY(${a.start}px)`,overflowAnchor:"none"}})))]}}),Fo=(0,E.defineComponent)({name:"Combobox",emits:{"update:modelValue":t=>!0},props:{as:{type:[Object,String],default:"template"},disabled:{type:[Boolean],default:!1},by:{type:[String,Function],nullable:!0,default:null},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{type:[Object,String,Number,Boolean],default:void 0},form:{type:String,optional:!0},name:{type:String,optional:!0},nullable:{type:Boolean,default:!1},multiple:{type:[Boolean],default:!1},immediate:{type:[Boolean],default:!1},virtual:{type:Object,default:null}},inheritAttrs:!1,setup(t,{slots:l,attrs:n,emit:r}){let e=(0,E.ref)(1),o=(0,E.ref)(null),i=(0,E.ref)(null),a=(0,E.ref)(null),s=(0,E.ref)(null),d=(0,E.ref)({static:!1,hold:!1}),u=(0,E.ref)([]),h=(0,E.ref)(null),b=(0,E.ref)(2),S=(0,E.ref)(!1);function p(w=L=>L){let L=h.value!==null?u.value[h.value]:null,B=w(u.value.slice()),k=B.length>0&&B[0].dataRef.order.value!==null?B.sort((K,J)=>K.dataRef.order.value-J.dataRef.order.value):le(B,K=>v(K.dataRef.domRef)),$=L?k.indexOf(L):null;return $===-1&&($=null),{options:k,activeOptionIndex:$}}let m=(0,E.computed)(()=>t.multiple?1:0),c=(0,E.computed)(()=>t.nullable),[g,y]=ge((0,E.computed)(()=>t.modelValue),w=>r("update:modelValue",w),(0,E.computed)(()=>t.defaultValue)),f=(0,E.computed)(()=>g.value===void 0?H(m.value,{[1]:[],[0]:void 0}):g.value),T=null,x=null;function O(w){return H(m.value,{[0](){return y==null?void 0:y(w)},[1]:()=>{let L=(0,E.toRaw)(R.value.value).slice(),B=(0,E.toRaw)(w),k=L.findIndex($=>R.compare(B,(0,E.toRaw)($)));return k===-1?L.push(B):L.splice(k,1),y==null?void 0:y(L)}})}let P=(0,E.computed)(()=>{var w;return(w=t.virtual)==null?void 0:w.options});(0,E.watch)([P],([w],[L])=>{if(R.virtual.value&&w&&L&&h.value!==null){let B=w.indexOf(L[h.value]);B!==-1?h.value=B:h.value=null}});let R={comboboxState:e,value:f,mode:m,compare(w,L){if(typeof t.by=="string"){let B=t.by;return(w==null?void 0:w[B])===(L==null?void 0:L[B])}return t.by===null?Do(w,L):t.by(w,L)},calculateIndex(w){return R.virtual.value?t.by===null?R.virtual.value.options.indexOf(w):R.virtual.value.options.findIndex(L=>R.compare(L,w)):u.value.findIndex(L=>R.compare(L.dataRef.value,w))},defaultValue:(0,E.computed)(()=>t.defaultValue),nullable:c,immediate:(0,E.computed)(()=>t.immediate),virtual:(0,E.computed)(()=>{var w;return t.virtual?{options:t.virtual.options,disabled:(w=t.virtual.disabled)!=null?w:()=>!1}:null}),inputRef:i,labelRef:o,buttonRef:a,optionsRef:s,disabled:(0,E.computed)(()=>t.disabled),options:u,change(w){y(w)},activeOptionIndex:(0,E.computed)(()=>{if(S.value&&h.value===null&&(R.virtual.value?R.virtual.value.options.length>0:u.value.length>0)){if(R.virtual.value){let L=R.virtual.value.options.findIndex(B=>{var k;return!((k=R.virtual.value)!=null&&k.disabled(B))});if(L!==-1)return L}let w=u.value.findIndex(L=>!L.dataRef.disabled);if(w!==-1)return w}return h.value}),activationTrigger:b,optionsPropsRef:d,closeCombobox(){S.value=!1,!t.disabled&&e.value!==1&&(e.value=1,h.value=null)},openCombobox(){if(S.value=!0,!t.disabled&&e.value!==0){if(R.value.value){let w=R.calculateIndex(R.value.value);w!==-1&&(h.value=w)}e.value=0}},setActivationTrigger(w){b.value=w},goToOption(w,L,B){S.value=!1,T!==null&&cancelAnimationFrame(T),T=requestAnimationFrame(()=>{if(t.disabled||s.value&&!d.value.static&&e.value===1)return;if(R.virtual.value){h.value=w===4?L:Re({focus:w},{resolveItems:()=>R.virtual.value.options,resolveActiveIndex:()=>{var K,J;return(J=(K=R.activeOptionIndex.value)!=null?K:R.virtual.value.options.findIndex(xe=>{var he;return!((he=R.virtual.value)!=null&&he.disabled(xe))}))!=null?J:null},resolveDisabled:K=>R.virtual.value.disabled(K),resolveId(){throw new Error("Function not implemented.")}}),b.value=B!=null?B:2;return}let k=p();if(k.activeOptionIndex===null){let K=k.options.findIndex(J=>!J.dataRef.disabled);K!==-1&&(k.activeOptionIndex=K)}let $=w===4?L:Re({focus:w},{resolveItems:()=>k.options,resolveActiveIndex:()=>k.activeOptionIndex,resolveId:K=>K.id,resolveDisabled:K=>K.dataRef.disabled});h.value=$,b.value=B!=null?B:2,u.value=k.options})},selectOption(w){let L=u.value.find(k=>k.id===w);if(!L)return;let{dataRef:B}=L;O(B.value)},selectActiveOption(){if(R.activeOptionIndex.value!==null){if(R.virtual.value)O(R.virtual.value.options[R.activeOptionIndex.value]);else{let{dataRef:w}=u.value[R.activeOptionIndex.value];O(w.value)}R.goToOption(4,R.activeOptionIndex.value)}},registerOption(w,L){let B=(0,E.reactive)({id:w,dataRef:L});if(R.virtual.value){u.value.push(B);return}x&&cancelAnimationFrame(x);let k=p($=>($.push(B),$));h.value===null&&R.isSelected(L.value.value)&&(k.activeOptionIndex=k.options.indexOf(B)),u.value=k.options,h.value=k.activeOptionIndex,b.value=2,k.options.some($=>!v($.dataRef.domRef))&&(x=requestAnimationFrame(()=>{let $=p();u.value=$.options,h.value=$.activeOptionIndex}))},unregisterOption(w,L){if(T!==null&&cancelAnimationFrame(T),L&&(S.value=!0),R.virtual.value){u.value=u.value.filter(k=>k.id!==w);return}let B=p(k=>{let $=k.findIndex(K=>K.id===w);return $!==-1&&k.splice($,1),k});u.value=B.options,h.value=B.activeOptionIndex,b.value=2},isSelected(w){return H(m.value,{[0]:()=>R.compare((0,E.toRaw)(R.value.value),(0,E.toRaw)(w)),[1]:()=>(0,E.toRaw)(R.value.value).some(L=>R.compare((0,E.toRaw)(L),(0,E.toRaw)(w)))})},isActive(w){return h.value===R.calculateIndex(w)}};pe([i,a,s],()=>R.closeCombobox(),(0,E.computed)(()=>e.value===0)),(0,E.provide)(xn,R),de((0,E.computed)(()=>H(e.value,{[0]:1,[1]:2})));let U=(0,E.computed)(()=>{var w;return(w=v(i))==null?void 0:w.closest("form")});return(0,E.onMounted)(()=>{(0,E.watch)([U],()=>{if(!U.value||t.defaultValue===void 0)return;function w(){R.change(t.defaultValue)}return U.value.addEventListener("reset",w),()=>{var L;(L=U.value)==null||L.removeEventListener("reset",w)}},{immediate:!0})}),()=>{var K,J,xe;let{name:w,disabled:L,form:B,...k}=t,$={open:e.value===0,disabled:L,activeIndex:R.activeOptionIndex.value,activeOption:R.activeOptionIndex.value===null?null:R.virtual.value?R.virtual.value.options[(K=R.activeOptionIndex.value)!=null?K:0]:(xe=(J=R.options.value[R.activeOptionIndex.value])==null?void 0:J.dataRef.value)!=null?xe:null,value:f.value};return(0,E.h)(E.Fragment,[...w!=null&&f.value!=null?Oe({[w]:f.value}).map(([he,Ue])=>(0,E.h)(X,ye({features:4,key:he,as:"input",type:"hidden",hidden:!0,readOnly:!0,form:B,disabled:L,name:he,value:Ue}))):[],M({theirProps:{...n,...re(k,["by","defaultValue","immediate","modelValue","multiple","nullable","onUpdate:modelValue","virtual"])},ourProps:{},slot:$,slots:l,attrs:n,name:"Combobox"})])}}}),ko=(0,E.defineComponent)({name:"ComboboxLabel",props:{as:{type:[Object,String],default:"label"},id:{type:String,default:()=>`headlessui-combobox-label-${j()}`}},setup(t,{attrs:l,slots:n}){let r=Pe("ComboboxLabel");function e(){var o;(o=v(r.inputRef))==null||o.focus({preventScroll:!0})}return()=>{let o={open:r.comboboxState.value===0,disabled:r.disabled.value},{id:i,...a}=t,s={id:i,ref:r.labelRef,onClick:e};return M({ourProps:s,theirProps:a,slot:o,attrs:l,slots:n,name:"ComboboxLabel"})}}}),Ho=(0,E.defineComponent)({name:"ComboboxButton",props:{as:{type:[Object,String],default:"button"},id:{type:String,default:()=>`headlessui-combobox-button-${j()}`}},setup(t,{attrs:l,slots:n,expose:r}){let e=Pe("ComboboxButton");r({el:e.buttonRef,$el:e.buttonRef});function o(s){e.disabled.value||(e.comboboxState.value===0?e.closeCombobox():(s.preventDefault(),e.openCombobox()),(0,E.nextTick)(()=>{var d;return(d=v(e.inputRef))==null?void 0:d.focus({preventScroll:!0})}))}function i(s){switch(s.key){case"ArrowDown":s.preventDefault(),s.stopPropagation(),e.comboboxState.value===1&&e.openCombobox(),(0,E.nextTick)(()=>{var d;return(d=e.inputRef.value)==null?void 0:d.focus({preventScroll:!0})});return;case"ArrowUp":s.preventDefault(),s.stopPropagation(),e.comboboxState.value===1&&(e.openCombobox(),(0,E.nextTick)(()=>{e.value.value||e.goToOption(3)})),(0,E.nextTick)(()=>{var d;return(d=e.inputRef.value)==null?void 0:d.focus({preventScroll:!0})});return;case"Escape":if(e.comboboxState.value!==0)return;s.preventDefault(),e.optionsRef.value&&!e.optionsPropsRef.value.static&&s.stopPropagation(),e.closeCombobox(),(0,E.nextTick)(()=>{var d;return(d=e.inputRef.value)==null?void 0:d.focus({preventScroll:!0})});return}}let a=ie((0,E.computed)(()=>({as:t.as,type:l.type})),e.buttonRef);return()=>{var b,S;let s={open:e.comboboxState.value===0,disabled:e.disabled.value,value:e.value.value},{id:d,...u}=t,h={ref:e.buttonRef,id:d,type:a.value,tabindex:"-1","aria-haspopup":"listbox","aria-controls":(b=v(e.optionsRef))==null?void 0:b.id,"aria-expanded":e.comboboxState.value===0,"aria-labelledby":e.labelRef.value?[(S=v(e.labelRef))==null?void 0:S.id,d].join(" "):void 0,disabled:e.disabled.value===!0?!0:void 0,onKeydown:i,onClick:o};return M({ourProps:h,theirProps:u,slot:s,attrs:l,slots:n,name:"ComboboxButton"})}}}),Ao=(0,E.defineComponent)({name:"ComboboxInput",props:{as:{type:[Object,String],default:"input"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},displayValue:{type:Function},defaultValue:{type:String,default:void 0},id:{type:String,default:()=>`headlessui-combobox-input-${j()}`}},emits:{change:t=>!0},setup(t,{emit:l,attrs:n,slots:r,expose:e}){let o=Pe("ComboboxInput"),i=(0,E.computed)(()=>q(v(o.inputRef))),a={value:!1};e({el:o.inputRef,$el:o.inputRef});function s(){o.change(null);let f=v(o.optionsRef);f&&(f.scrollTop=0),o.goToOption(5)}let d=(0,E.computed)(()=>{var T;let f=o.value.value;return v(o.inputRef)?typeof t.displayValue!="undefined"&&f!==void 0?(T=t.displayValue(f))!=null?T:"":typeof f=="string"?f:"":""});(0,E.onMounted)(()=>{(0,E.watch)([d,o.comboboxState,i],([f,T],[x,O])=>{if(a.value)return;let P=v(o.inputRef);P&&((O===0&&T===1||f!==x)&&(P.value=f),requestAnimationFrame(()=>{var w;if(a.value||!P||((w=i.value)==null?void 0:w.activeElement)!==P)return;let{selectionStart:R,selectionEnd:U}=P;Math.abs((U!=null?U:0)-(R!=null?R:0))===0&&R===0&&P.setSelectionRange(P.value.length,P.value.length)}))},{immediate:!0}),(0,E.watch)([o.comboboxState],([f],[T])=>{if(f===0&&T===1){if(a.value)return;let x=v(o.inputRef);if(!x)return;let O=x.value,{selectionStart:P,selectionEnd:R,selectionDirection:U}=x;x.value="",x.value=O,U!==null?x.setSelectionRange(P,R,U):x.setSelectionRange(P,R)}})});let u=(0,E.ref)(!1);function h(){u.value=!0}function b(){ue().nextFrame(()=>{u.value=!1})}let S=tn();function p(f){switch(a.value=!0,S(()=>{u.value||(a.value=!1)}),f.key){case"Enter":if(a.value=!1,o.comboboxState.value!==0||u.value)return;if(f.preventDefault(),f.stopPropagation(),o.activeOptionIndex.value===null){o.closeCombobox();return}o.selectActiveOption(),o.mode.value===0&&o.closeCombobox();break;case"ArrowDown":return a.value=!1,f.preventDefault(),f.stopPropagation(),H(o.comboboxState.value,{[0]:()=>o.goToOption(2),[1]:()=>o.openCombobox()});case"ArrowUp":return a.value=!1,f.preventDefault(),f.stopPropagation(),H(o.comboboxState.value,{[0]:()=>o.goToOption(1),[1]:()=>{o.openCombobox(),(0,E.nextTick)(()=>{o.value.value||o.goToOption(3)})}});case"Home":if(f.shiftKey)break;return a.value=!1,f.preventDefault(),f.stopPropagation(),o.goToOption(0);case"PageUp":return a.value=!1,f.preventDefault(),f.stopPropagation(),o.goToOption(0);case"End":if(f.shiftKey)break;return a.value=!1,f.preventDefault(),f.stopPropagation(),o.goToOption(3);case"PageDown":return a.value=!1,f.preventDefault(),f.stopPropagation(),o.goToOption(3);case"Escape":if(a.value=!1,o.comboboxState.value!==0)return;f.preventDefault(),o.optionsRef.value&&!o.optionsPropsRef.value.static&&f.stopPropagation(),o.nullable.value&&o.mode.value===0&&o.value.value===null&&s(),o.closeCombobox();break;case"Tab":if(a.value=!1,o.comboboxState.value!==0)return;o.mode.value===0&&o.activationTrigger.value!==1&&o.selectActiveOption(),o.closeCombobox();break}}function m(f){l("change",f),o.nullable.value&&o.mode.value===0&&f.target.value===""&&s(),o.openCombobox()}function c(f){var x,O,P;let T=(x=f.relatedTarget)!=null?x:fe.find(R=>R!==f.currentTarget);if(a.value=!1,!((O=v(o.optionsRef))!=null&&O.contains(T))&&!((P=v(o.buttonRef))!=null&&P.contains(T))&&o.comboboxState.value===0)return f.preventDefault(),o.mode.value===0&&(o.nullable.value&&o.value.value===null?s():o.activationTrigger.value!==1&&o.selectActiveOption()),o.closeCombobox()}function g(f){var x,O,P;let T=(x=f.relatedTarget)!=null?x:fe.find(R=>R!==f.currentTarget);(O=v(o.buttonRef))!=null&&O.contains(T)||(P=v(o.optionsRef))!=null&&P.contains(T)||o.disabled.value||o.immediate.value&&o.comboboxState.value!==0&&(o.openCombobox(),ue().nextFrame(()=>{o.setActivationTrigger(1)}))}let y=(0,E.computed)(()=>{var f,T,x,O;return(O=(x=(T=t.defaultValue)!=null?T:o.defaultValue.value!==void 0?(f=t.displayValue)==null?void 0:f.call(t,o.defaultValue.value):null)!=null?x:o.defaultValue.value)!=null?O:""});return()=>{var U,w,L,B,k,$,K;let f={open:o.comboboxState.value===0},{id:T,displayValue:x,onChange:O,...P}=t,R={"aria-controls":(U=o.optionsRef.value)==null?void 0:U.id,"aria-expanded":o.comboboxState.value===0,"aria-activedescendant":o.activeOptionIndex.value===null?void 0:o.virtual.value?(w=o.options.value.find(J=>!o.virtual.value.disabled(J.dataRef.value)&&o.compare(J.dataRef.value,o.virtual.value.options[o.activeOptionIndex.value])))==null?void 0:w.id:(L=o.options.value[o.activeOptionIndex.value])==null?void 0:L.id,"aria-labelledby":($=(B=v(o.labelRef))==null?void 0:B.id)!=null?$:(k=v(o.buttonRef))==null?void 0:k.id,"aria-autocomplete":"list",id:T,onCompositionstart:h,onCompositionend:b,onKeydown:p,onInput:m,onFocus:g,onBlur:c,role:"combobox",type:(K=n.type)!=null?K:"text",tabIndex:0,ref:o.inputRef,defaultValue:y.value,disabled:o.disabled.value===!0?!0:void 0};return M({ourProps:R,theirProps:P,slot:f,attrs:n,slots:r,features:3,name:"ComboboxInput"})}}}),jo=(0,E.defineComponent)({name:"ComboboxOptions",props:{as:{type:[Object,String],default:"ul"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},hold:{type:[Boolean],default:!1}},setup(t,{attrs:l,slots:n,expose:r}){let e=Pe("ComboboxOptions"),o=`headlessui-combobox-options-${j()}`;r({el:e.optionsRef,$el:e.optionsRef}),(0,E.watchEffect)(()=>{e.optionsPropsRef.value.static=t.static}),(0,E.watchEffect)(()=>{e.optionsPropsRef.value.hold=t.hold});let i=ne(),a=(0,E.computed)(()=>i!==null?(i.value&1)===1:e.comboboxState.value===0);je({container:(0,E.computed)(()=>v(e.optionsRef)),enabled:(0,E.computed)(()=>e.comboboxState.value===0),accept(d){return d.getAttribute("role")==="option"?NodeFilter.FILTER_REJECT:d.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(d){d.setAttribute("role","none")}});function s(d){d.preventDefault()}return()=>{var b,S,p;let d={open:e.comboboxState.value===0},u={"aria-labelledby":(p=(b=v(e.labelRef))==null?void 0:b.id)!=null?p:(S=v(e.buttonRef))==null?void 0:S.id,id:o,ref:e.optionsRef,role:"listbox","aria-multiselectable":e.mode.value===1?!0:void 0,onMousedown:s},h=re(t,["hold"]);return M({ourProps:u,theirProps:h,slot:d,attrs:l,slots:e.virtual.value&&e.comboboxState.value===0?{...n,default:()=>[(0,E.h)(Lo,{},n.default)]}:n,features:3,visible:a.value,name:"ComboboxOptions"})}}}),No=(0,E.defineComponent)({name:"ComboboxOption",props:{as:{type:[Object,String],default:"li"},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1},order:{type:[Number],default:null}},setup(t,{slots:l,attrs:n,expose:r}){let e=Pe("ComboboxOption"),o=`headlessui-combobox-option-${j()}`,i=(0,E.ref)(null),a=(0,E.computed)(()=>{var y;return t.disabled||((y=e.virtual.value)==null?void 0:y.disabled(t.value))});r({el:i,$el:i});let s=(0,E.computed)(()=>{var y;return e.virtual.value?e.activeOptionIndex.value===e.calculateIndex(t.value):e.activeOptionIndex.value===null?!1:((y=e.options.value[e.activeOptionIndex.value])==null?void 0:y.id)===o}),d=(0,E.computed)(()=>e.isSelected(t.value)),u=(0,E.inject)(Tn,null),h=(0,E.computed)(()=>({disabled:t.disabled,value:t.value,domRef:i,order:(0,E.computed)(()=>t.order)}));(0,E.onMounted)(()=>e.registerOption(o,h)),(0,E.onUnmounted)(()=>e.unregisterOption(o,s.value)),(0,E.watchEffect)(()=>{let y=v(i);y&&(u==null||u.value.measureElement(y))}),(0,E.watchEffect)(()=>{e.comboboxState.value===0&&s.value&&(e.virtual.value||e.activationTrigger.value!==0&&(0,E.nextTick)(()=>{var y,f;return(f=(y=v(i))==null?void 0:y.scrollIntoView)==null?void 0:f.call(y,{block:"nearest"})}))});function b(y){y.preventDefault(),y.button===0&&(a.value||(e.selectOption(o),rt()||requestAnimationFrame(()=>{var f;return(f=v(e.inputRef))==null?void 0:f.focus({preventScroll:!0})}),e.mode.value===0&&e.closeCombobox()))}function S(){var f;if(t.disabled||(f=e.virtual.value)!=null&&f.disabled(t.value))return e.goToOption(5);let y=e.calculateIndex(t.value);e.goToOption(4,y)}let p=Ae();function m(y){p.update(y)}function c(y){var T;if(!p.wasMoved(y)||t.disabled||(T=e.virtual.value)!=null&&T.disabled(t.value)||s.value)return;let f=e.calculateIndex(t.value);e.goToOption(4,f,0)}function g(y){var f;p.wasMoved(y)&&(t.disabled||(f=e.virtual.value)!=null&&f.disabled(t.value)||s.value&&(e.optionsPropsRef.value.hold||e.goToOption(5)))}return()=>{let{disabled:y}=t,f={active:s.value,selected:d.value,disabled:y},T={id:o,ref:i,role:"option",tabIndex:y===!0?void 0:-1,"aria-disabled":y===!0?!0:void 0,"aria-selected":d.value,disabled:void 0,onMousedown:b,onFocus:S,onPointerenter:m,onMouseenter:m,onPointermove:c,onMousemove:c,onPointerleave:g,onMouseleave:g},x=re(t,["order","value"]);return M({ourProps:T,theirProps:x,slot:f,attrs:n,slots:l,name:"ComboboxOption"})}}});var D=require("vue");var _=require("vue");var En=require("vue");function Ve(t,l,n,r){ce.isServer||(0,En.watchEffect)(e=>{t=t!=null?t:window,t.addEventListener(l,n,r),e(()=>t.removeEventListener(l,n,r))})}var Dt=require("vue");function Ye(){let t=(0,Dt.ref)(0),l=(0,Dt.ref)(!0);return it(l,"keydown",n=>{n.key==="Tab"&&(t.value=n.shiftKey?1:0)}),t}function Rn(t){if(!t)return new Set;if(typeof t=="function")return new Set(t());let l=new Set;for(let n of t.value){let r=v(n);r instanceof HTMLElement&&l.add(r)}return l}var On=(i=>(i[i.None=1]="None",i[i.InitialFocus=2]="InitialFocus",i[i.TabLock=4]="TabLock",i[i.FocusLock=8]="FocusLock",i[i.RestoreFocus=16]="RestoreFocus",i[i.All=30]="All",i))(On||{}),Ie=Object.assign((0,_.defineComponent)({name:"FocusTrap",props:{as:{type:[Object,String],default:"div"},initialFocus:{type:Object,default:null},features:{type:Number,default:30},containers:{type:[Object,Function],default:(0,_.ref)(new Set)}},inheritAttrs:!1,setup(t,{attrs:l,slots:n,expose:r}){let e=(0,_.ref)(null);r({el:e,$el:e});let o=(0,_.computed)(()=>q(e)),i=(0,_.ref)(!1);(0,_.onMounted)(()=>i.value=!0),(0,_.onUnmounted)(()=>i.value=!1),Ko({ownerDocument:o},(0,_.computed)(()=>i.value&&!!(t.features&16)));let a=_o({ownerDocument:o,container:e,initialFocus:(0,_.computed)(()=>t.initialFocus)},(0,_.computed)(()=>i.value&&!!(t.features&2)));$o({ownerDocument:o,container:e,containers:t.containers,previousActiveElement:a},(0,_.computed)(()=>i.value&&!!(t.features&8)));let s=Ye();function d(S){let p=v(e);if(!p)return;(c=>c())(()=>{H(s.value,{[0]:()=>{Q(p,1,{skipElements:[S.relatedTarget]})},[1]:()=>{Q(p,8,{skipElements:[S.relatedTarget]})}})})}let u=(0,_.ref)(!1);function h(S){S.key==="Tab"&&(u.value=!0,requestAnimationFrame(()=>{u.value=!1}))}function b(S){if(!i.value)return;let p=Rn(t.containers);v(e)instanceof HTMLElement&&p.add(v(e));let m=S.relatedTarget;m instanceof HTMLElement&&m.dataset.headlessuiFocusGuard!=="true"&&(wn(p,m)||(u.value?Q(v(e),H(s.value,{[0]:()=>4,[1]:()=>2})|16,{relativeTo:S.target}):S.target instanceof HTMLElement&&be(S.target)))}return()=>{let S={},p={ref:e,onKeydown:h,onFocusout:b},{features:m,initialFocus:c,containers:g,...y}=t;return(0,_.h)(_.Fragment,[!!(m&4)&&(0,_.h)(X,{as:"button",type:"button","data-headlessui-focus-guard":!0,onFocus:d,features:2}),M({ourProps:p,theirProps:{...l,...y},slot:S,attrs:l,slots:n,name:"FocusTrap"}),!!(m&4)&&(0,_.h)(X,{as:"button",type:"button","data-headlessui-focus-guard":!0,onFocus:d,features:2})])}}}),{features:On});function Vo(t){let l=(0,_.ref)(fe.slice());return(0,_.watch)([t],([n],[r])=>{r===!0&&n===!1?Ee(()=>{l.value.splice(0)}):r===!1&&n===!0&&(l.value=fe.slice())},{flush:"post"}),()=>{var n;return(n=l.value.find(r=>r!=null&&r.isConnected))!=null?n:null}}function Ko({ownerDocument:t},l){let n=Vo(l);(0,_.onMounted)(()=>{(0,_.watchEffect)(()=>{var r,e;l.value||((r=t.value)==null?void 0:r.activeElement)===((e=t.value)==null?void 0:e.body)&&be(n())},{flush:"post"})}),(0,_.onUnmounted)(()=>{l.value&&be(n())})}function _o({ownerDocument:t,container:l,initialFocus:n},r){let e=(0,_.ref)(null),o=(0,_.ref)(!1);return(0,_.onMounted)(()=>o.value=!0),(0,_.onUnmounted)(()=>o.value=!1),(0,_.onMounted)(()=>{(0,_.watch)([l,n,r],(i,a)=>{if(i.every((d,u)=>(a==null?void 0:a[u])===d)||!r.value)return;let s=v(l);s&&Ee(()=>{var h,b;if(!o.value)return;let d=v(n),u=(h=t.value)==null?void 0:h.activeElement;if(d){if(d===u){e.value=u;return}}else if(s.contains(u)){e.value=u;return}d?be(d):Q(s,33)===0&&console.warn("There are no focusable elements inside the <FocusTrap />"),e.value=(b=t.value)==null?void 0:b.activeElement})},{immediate:!0,flush:"post"})}),e}function $o({ownerDocument:t,container:l,containers:n,previousActiveElement:r},e){var o;Ve((o=t.value)==null?void 0:o.defaultView,"focus",i=>{if(!e.value)return;let a=Rn(n);v(l)instanceof HTMLElement&&a.add(v(l));let s=r.value;if(!s)return;let d=i.target;d&&d instanceof HTMLElement?wn(a,d)?(r.value=d,be(d)):(i.preventDefault(),i.stopPropagation(),be(s)):be(r.value)},!0)}function wn(t,l){for(let n of t)if(n.contains(l))return!0;return!1}var pt=require("vue");var ct=require("vue");function Cn(t){let l=(0,ct.shallowRef)(t.getSnapshot());return(0,ct.onUnmounted)(t.subscribe(()=>{l.value=t.getSnapshot()})),l}function Pn(t,l){let n=t(),r=new Set;return{getSnapshot(){return n},subscribe(e){return r.add(e),()=>r.delete(e)},dispatch(e,...o){let i=l[e].call(n,...o);i&&(n=i,r.forEach(a=>a()))}}}function In(){let t;return{before({doc:l}){var e;let n=l.documentElement,r=(e=l.defaultView)!=null?e:window;t=Math.max(0,r.innerWidth-n.clientWidth)},after({doc:l,d:n}){let r=l.documentElement,e=Math.max(0,r.clientWidth-r.offsetWidth),o=Math.max(0,t-e);n.style(r,"paddingRight",`${o}px`)}}}function Mn(){return It()?{before({doc:t,d:l,meta:n}){function r(e){return n.containers.flatMap(o=>o()).some(o=>o.contains(e))}l.microTask(()=>{var i;if(window.getComputedStyle(t.documentElement).scrollBehavior!=="auto"){let a=ue();a.style(t.documentElement,"scrollBehavior","auto"),l.add(()=>l.microTask(()=>a.dispose()))}let e=(i=window.scrollY)!=null?i:window.pageYOffset,o=null;l.addEventListener(t,"click",a=>{if(a.target instanceof HTMLElement)try{let s=a.target.closest("a");if(!s)return;let{hash:d}=new URL(s.href),u=t.querySelector(d);u&&!r(u)&&(o=u)}catch{}},!0),l.addEventListener(t,"touchstart",a=>{if(a.target instanceof HTMLElement)if(r(a.target)){let s=a.target;for(;s.parentElement&&r(s.parentElement);)s=s.parentElement;l.style(s,"overscrollBehavior","contain")}else l.style(a.target,"touchAction","none")}),l.addEventListener(t,"touchmove",a=>{if(a.target instanceof HTMLElement){if(a.target.tagName==="INPUT")return;if(r(a.target)){let s=a.target;for(;s.parentElement&&s.dataset.headlessuiPortal!==""&&!(s.scrollHeight>s.clientHeight||s.scrollWidth>s.clientWidth);)s=s.parentElement;s.dataset.headlessuiPortal===""&&a.preventDefault()}else a.preventDefault()}},{passive:!1}),l.add(()=>{var s;let a=(s=window.scrollY)!=null?s:window.pageYOffset;e!==a&&window.scrollTo(0,e),o&&o.isConnected&&(o.scrollIntoView({block:"nearest"}),o=null)})})}}:{}}function Dn(){return{before({doc:t,d:l}){l.style(t.documentElement,"overflow","hidden")}}}function Wo(t){let l={};for(let n of t)Object.assign(l,n(l));return l}var Se=Pn(()=>new Map,{PUSH(t,l){var r;let n=(r=this.get(t))!=null?r:{doc:t,count:0,d:ue(),meta:new Set};return n.count++,n.meta.add(l),this.set(t,n),this},POP(t,l){let n=this.get(t);return n&&(n.count--,n.meta.delete(l)),this},SCROLL_PREVENT({doc:t,d:l,meta:n}){let r={doc:t,d:l,meta:Wo(n)},e=[Mn(),In(),Dn()];e.forEach(({before:o})=>o==null?void 0:o(r)),e.forEach(({after:o})=>o==null?void 0:o(r))},SCROLL_ALLOW({d:t}){t.dispose()},TEARDOWN({doc:t}){this.delete(t)}});Se.subscribe(()=>{let t=Se.getSnapshot(),l=new Map;for(let[n]of t)l.set(n,n.documentElement.style.overflow);for(let n of t.values()){let r=l.get(n.doc)==="hidden",e=n.count!==0;(e&&!r||!e&&r)&&Se.dispatch(n.count>0?"SCROLL_PREVENT":"SCROLL_ALLOW",n),n.count===0&&Se.dispatch("TEARDOWN",n)}});function Ln(t,l,n){let r=Cn(Se),e=(0,pt.computed)(()=>{let o=t.value?r.value.get(t.value):void 0;return o?o.count>0:!1});return(0,pt.watch)([t,l],([o,i],[a],s)=>{if(!o||!i)return;Se.dispatch("PUSH",o,n);let d=!1;s(()=>{d||(Se.dispatch("POP",a!=null?a:o,n),d=!0)})},{immediate:!0}),e}var mt=require("vue");var Ft=new Map,Qe=new Map;function kt(t,l=(0,mt.ref)(!0)){(0,mt.watchEffect)(n=>{var o;if(!l.value)return;let r=v(t);if(!r)return;n(function(){var d;if(!r)return;let a=(d=Qe.get(r))!=null?d:1;if(a===1?Qe.delete(r):Qe.set(r,a-1),a!==1)return;let s=Ft.get(r);s&&(s["aria-hidden"]===null?r.removeAttribute("aria-hidden"):r.setAttribute("aria-hidden",s["aria-hidden"]),r.inert=s.inert,Ft.delete(r))});let e=(o=Qe.get(r))!=null?o:0;Qe.set(r,e+1),e===0&&(Ft.set(r,{"aria-hidden":r.getAttribute("aria-hidden"),inert:r.inert}),r.setAttribute("aria-hidden","true"),r.inert=!0)})}var Ke=require("vue");function vt({defaultContainers:t=[],portals:l,mainTreeNodeRef:n}={}){let r=(0,Ke.ref)(null),e=q(r);function o(){var a,s,d;let i=[];for(let u of t)u!==null&&(u instanceof HTMLElement?i.push(u):"value"in u&&u.value instanceof HTMLElement&&i.push(u.value));if(l!=null&&l.value)for(let u of l.value)i.push(u);for(let u of(a=e==null?void 0:e.querySelectorAll("html > *, body > *"))!=null?a:[])u!==document.body&&u!==document.head&&u instanceof HTMLElement&&u.id!=="headlessui-portal-root"&&(u.contains(v(r))||u.contains((d=(s=v(r))==null?void 0:s.getRootNode())==null?void 0:d.host)||i.some(h=>u.contains(h))||i.push(u));return i}return{resolveContainers:o,contains(i){return o().some(a=>a.contains(i))},mainTreeNodeRef:r,MainTreeNode(){return n!=null?null:(0,Ke.h)(X,{features:4,ref:r})}}}function Fn(){let t=(0,Ke.ref)(null);return{mainTreeNodeRef:t,MainTreeNode(){return(0,Ke.h)(X,{features:4,ref:t})}}}var _e=require("vue");var kn=Symbol("ForcePortalRootContext");function Hn(){return(0,_e.inject)(kn,!1)}var bt=(0,_e.defineComponent)({name:"ForcePortalRoot",props:{as:{type:[Object,String],default:"template"},force:{type:Boolean,default:!1}},setup(t,{slots:l,attrs:n}){return(0,_e.provide)(kn,t.force),()=>{let{force:r,...e}=t;return M({theirProps:e,ourProps:{},slot:{},slots:l,attrs:n,name:"ForcePortalRoot"})}}});var me=require("vue"),An=Symbol("StackContext");function Uo(){return(0,me.inject)(An,()=>{})}function jn({type:t,enabled:l,element:n,onUpdate:r}){let e=Uo();function o(...i){r==null||r(...i),e(...i)}(0,me.onMounted)(()=>{(0,me.watch)(l,(i,a)=>{i?o(0,t,n):a===!0&&o(1,t,n)},{immediate:!0,flush:"sync"})}),(0,me.onUnmounted)(()=>{l.value&&o(1,t,n)}),(0,me.provide)(An,o)}var ee=require("vue");var Nn=Symbol("DescriptionContext");function zo(){let t=(0,ee.inject)(Nn,null);if(t===null)throw new Error("Missing parent");return t}function Me({slot:t=(0,ee.ref)({}),name:l="Description",props:n={}}={}){let r=(0,ee.ref)([]);function e(o){return r.value.push(o),()=>{let i=r.value.indexOf(o);i!==-1&&r.value.splice(i,1)}}return(0,ee.provide)(Nn,{register:e,slot:t,name:l,props:n}),(0,ee.computed)(()=>r.value.length>0?r.value.join(" "):void 0)}var $e=(0,ee.defineComponent)({name:"Description",props:{as:{type:[Object,String],default:"p"},id:{type:String,default:()=>`headlessui-description-${j()}`}},setup(t,{attrs:l,slots:n}){let r=zo();return(0,ee.onMounted)(()=>(0,ee.onUnmounted)(r.register(t.id))),()=>{let{name:e="Description",slot:o=(0,ee.ref)({}),props:i={}}=r,{id:a,...s}=t,d={...Object.entries(i).reduce((u,[h,b])=>Object.assign(u,{[h]:(0,ee.unref)(b)}),{}),id:a};return M({ourProps:d,theirProps:s,slot:o.value,attrs:l,slots:n,name:e})}}});var W=require("vue");function Bn(t){let l=q(t);if(!l){if(t===null)return null;throw new Error(`[Headless UI]: Cannot find ownerDocument for contextElement: ${t}`)}let n=l.getElementById("headlessui-portal-root");if(n)return n;let r=l.createElement("div");return r.setAttribute("id","headlessui-portal-root"),l.body.appendChild(r)}var Xe=(0,W.defineComponent)({name:"Portal",props:{as:{type:[Object,String],default:"div"}},setup(t,{slots:l,attrs:n}){let r=(0,W.ref)(null),e=Hn(),o=(0,W.inject)(Vn,null),i=(0,W.ref)(e===!0||o==null?Bn(r.value):o.resolveTarget()),a=(0,W.ref)(!1);(0,W.onMounted)(()=>{a.value=!0}),(0,W.watchEffect)(()=>{e||o!=null&&(i.value=o.resolveTarget())});let s=(0,W.inject)(Ht,null),d=!1,u=(0,W.getCurrentInstance)();return(0,W.watch)(r,()=>{if(d||!s)return;let h=v(r);h&&((0,W.onUnmounted)(s.register(h),u),d=!0)}),()=>{if(!a.value||i.value===null)return null;let h={ref:r,"data-headlessui-portal":""};return(0,W.h)(W.Teleport,{to:i.value},M({ourProps:h,theirProps:t,slot:{},attrs:n,slots:l,name:"Portal"}))}}}),Ht=Symbol("PortalParentContext");function ht(){let t=(0,W.inject)(Ht,null),l=(0,W.ref)([]);function n(o){return l.value.push(o),t&&t.register(o),()=>r(o)}function r(o){let i=l.value.indexOf(o);i!==-1&&l.value.splice(i,1),t&&t.unregister(o)}let e={register:n,unregister:r,portals:l};return[l,(0,W.defineComponent)({name:"PortalWrapper",setup(o,{slots:i}){return(0,W.provide)(Ht,e),()=>{var a;return(a=i.default)==null?void 0:a.call(i)}}})]}var Vn=Symbol("PortalGroupContext"),gt=(0,W.defineComponent)({name:"PortalGroup",props:{as:{type:[Object,String],default:"template"},target:{type:Object,default:null}},setup(t,{attrs:l,slots:n}){let r=(0,W.reactive)({resolveTarget(){return t.target}});return(0,W.provide)(Vn,r),()=>{let{target:e,...o}=t;return M({theirProps:o,ourProps:{},slot:{},attrs:l,slots:n,name:"PortalGroup"})}}});var At=Symbol("DialogContext");function Je(t){let l=(0,D.inject)(At,null);if(l===null){let n=new Error(`<${t} /> is missing a parent <Dialog /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,Je),n}return l}var yt="DC8F892D-2EBD-447C-A4C8-A03058436FF4",Go=(0,D.defineComponent)({name:"Dialog",inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},open:{type:[Boolean,String],default:yt},initialFocus:{type:Object,default:null},id:{type:String,default:()=>`headlessui-dialog-${j()}`},role:{type:String,default:"dialog"}},emits:{close:t=>!0},setup(t,{emit:l,attrs:n,slots:r,expose:e}){var Ue;let o=(0,D.ref)(!1);(0,D.onMounted)(()=>{o.value=!0});let i=!1,a=(0,D.computed)(()=>t.role==="dialog"||t.role==="alertdialog"?t.role:(i||(i=!0,console.warn(`Invalid role [${a}] passed to <Dialog />. Only \`dialog\` and and \`alertdialog\` are supported. Using \`dialog\` instead.`)),"dialog")),s=(0,D.ref)(0),d=ne(),u=(0,D.computed)(()=>t.open===yt&&d!==null?(d.value&1)===1:t.open),h=(0,D.ref)(null),b=(0,D.computed)(()=>q(h));if(e({el:h,$el:h}),!(t.open!==yt||d!==null))throw new Error("You forgot to provide an `open` prop to the `Dialog`.");if(typeof u.value!="boolean")throw new Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${u.value===yt?void 0:t.open}`);let p=(0,D.computed)(()=>o.value&&u.value?0:1),m=(0,D.computed)(()=>p.value===0),c=(0,D.computed)(()=>s.value>1),g=(0,D.inject)(At,null)!==null,[y,f]=ht(),{resolveContainers:T,mainTreeNodeRef:x,MainTreeNode:O}=vt({portals:y,defaultContainers:[(0,D.computed)(()=>{var G;return(G=K.panelRef.value)!=null?G:h.value})]}),P=(0,D.computed)(()=>c.value?"parent":"leaf"),R=(0,D.computed)(()=>d!==null?(d.value&4)===4:!1),U=(0,D.computed)(()=>g||R.value?!1:m.value),w=(0,D.computed)(()=>{var G,Z,ae;return(ae=Array.from((Z=(G=b.value)==null?void 0:G.querySelectorAll("body > *"))!=null?Z:[]).find(se=>se.id==="headlessui-portal-root"?!1:se.contains(v(x))&&se instanceof HTMLElement))!=null?ae:null});kt(w,U);let L=(0,D.computed)(()=>c.value?!0:m.value),B=(0,D.computed)(()=>{var G,Z,ae;return(ae=Array.from((Z=(G=b.value)==null?void 0:G.querySelectorAll("[data-headlessui-portal]"))!=null?Z:[]).find(se=>se.contains(v(x))&&se instanceof HTMLElement))!=null?ae:null});kt(B,L),jn({type:"Dialog",enabled:(0,D.computed)(()=>p.value===0),element:h,onUpdate:(G,Z)=>{if(Z==="Dialog")return H(G,{[0]:()=>s.value+=1,[1]:()=>s.value-=1})}});let k=Me({name:"DialogDescription",slot:(0,D.computed)(()=>({open:u.value}))}),$=(0,D.ref)(null),K={titleId:$,panelRef:(0,D.ref)(null),dialogState:p,setTitleId(G){$.value!==G&&($.value=G)},close(){l("close",!1)}};(0,D.provide)(At,K);let J=(0,D.computed)(()=>!(!m.value||c.value));pe(T,(G,Z)=>{G.preventDefault(),K.close(),(0,D.nextTick)(()=>Z==null?void 0:Z.focus())},J);let xe=(0,D.computed)(()=>!(c.value||p.value!==0));Ve((Ue=b.value)==null?void 0:Ue.defaultView,"keydown",G=>{xe.value&&(G.defaultPrevented||G.key==="Escape"&&(G.preventDefault(),G.stopPropagation(),K.close()))});let he=(0,D.computed)(()=>!(R.value||p.value!==0||g));return Ln(b,he,G=>{var Z;return{containers:[...(Z=G.containers)!=null?Z:[],T]}}),(0,D.watchEffect)(G=>{if(p.value!==0)return;let Z=v(h);if(!Z)return;let ae=new ResizeObserver(se=>{for(let ze of se){let Le=ze.target.getBoundingClientRect();Le.x===0&&Le.y===0&&Le.width===0&&Le.height===0&&K.close()}});ae.observe(Z),G(()=>ae.disconnect())}),()=>{let{id:G,open:Z,initialFocus:ae,...se}=t,ze={...n,ref:h,id:G,role:a.value,"aria-modal":p.value===0?!0:void 0,"aria-labelledby":$.value,"aria-describedby":k.value},Le={open:p.value===0};return(0,D.h)(bt,{force:!0},()=>[(0,D.h)(Xe,()=>(0,D.h)(gt,{target:h.value},()=>(0,D.h)(bt,{force:!1},()=>(0,D.h)(Ie,{initialFocus:ae,containers:T,features:m.value?H(P.value,{parent:Ie.features.RestoreFocus,leaf:Ie.features.All&~Ie.features.FocusLock}):Ie.features.None},()=>(0,D.h)(f,{},()=>M({ourProps:ze,theirProps:{...se,...n},slot:Le,attrs:n,slots:r,visible:p.value===0,features:3,name:"Dialog"})))))),(0,D.h)(O)])}}}),qo=(0,D.defineComponent)({name:"DialogOverlay",props:{as:{type:[Object,String],default:"div"},id:{type:String,default:()=>`headlessui-dialog-overlay-${j()}`}},setup(t,{attrs:l,slots:n}){let r=Je("DialogOverlay");function e(o){o.target===o.currentTarget&&(o.preventDefault(),o.stopPropagation(),r.close())}return()=>{let{id:o,...i}=t;return M({ourProps:{id:o,"aria-hidden":!0,onClick:e},theirProps:i,slot:{open:r.dialogState.value===0},attrs:l,slots:n,name:"DialogOverlay"})}}}),Yo=(0,D.defineComponent)({name:"DialogBackdrop",props:{as:{type:[Object,String],default:"div"},id:{type:String,default:()=>`headlessui-dialog-backdrop-${j()}`}},inheritAttrs:!1,setup(t,{attrs:l,slots:n,expose:r}){let e=Je("DialogBackdrop"),o=(0,D.ref)(null);return r({el:o,$el:o}),(0,D.onMounted)(()=>{if(e.panelRef.value===null)throw new Error("A <DialogBackdrop /> component is being used, but a <DialogPanel /> component is missing.")}),()=>{let{id:i,...a}=t,s={id:i,ref:o,"aria-hidden":!0};return(0,D.h)(bt,{force:!0},()=>(0,D.h)(Xe,()=>M({ourProps:s,theirProps:{...l,...a},slot:{open:e.dialogState.value===0},attrs:l,slots:n,name:"DialogBackdrop"})))}}}),Qo=(0,D.defineComponent)({name:"DialogPanel",props:{as:{type:[Object,String],default:"div"},id:{type:String,default:()=>`headlessui-dialog-panel-${j()}`}},setup(t,{attrs:l,slots:n,expose:r}){let e=Je("DialogPanel");r({el:e.panelRef,$el:e.panelRef});function o(i){i.stopPropagation()}return()=>{let{id:i,...a}=t,s={id:i,ref:e.panelRef,onClick:o};return M({ourProps:s,theirProps:a,slot:{open:e.dialogState.value===0},attrs:l,slots:n,name:"DialogPanel"})}}}),Xo=(0,D.defineComponent)({name:"DialogTitle",props:{as:{type:[Object,String],default:"h2"},id:{type:String,default:()=>`headlessui-dialog-title-${j()}`}},setup(t,{attrs:l,slots:n}){let r=Je("DialogTitle");return(0,D.onMounted)(()=>{r.setTitleId(t.id),(0,D.onUnmounted)(()=>r.setTitleId(null))}),()=>{let{id:e,...o}=t;return M({ourProps:{id:e},theirProps:o,slot:{open:r.dialogState.value===0},attrs:l,slots:n,name:"DialogTitle"})}}}),Jo=$e;var z=require("vue");var Kn=Symbol("DisclosureContext");function jt(t){let l=(0,z.inject)(Kn,null);if(l===null){let n=new Error(`<${t} /> is missing a parent <Disclosure /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,jt),n}return l}var _n=Symbol("DisclosurePanelContext");function Zo(){return(0,z.inject)(_n,null)}var el=(0,z.defineComponent)({name:"Disclosure",props:{as:{type:[Object,String],default:"template"},defaultOpen:{type:[Boolean],default:!1}},setup(t,{slots:l,attrs:n}){let r=(0,z.ref)(t.defaultOpen?0:1),e=(0,z.ref)(null),o=(0,z.ref)(null),i={buttonId:(0,z.ref)(`headlessui-disclosure-button-${j()}`),panelId:(0,z.ref)(`headlessui-disclosure-panel-${j()}`),disclosureState:r,panel:e,button:o,toggleDisclosure(){r.value=H(r.value,{[0]:1,[1]:0})},closeDisclosure(){r.value!==1&&(r.value=1)},close(a){i.closeDisclosure();let s=(()=>a?a instanceof HTMLElement?a:a.value instanceof HTMLElement?v(a):v(i.button):v(i.button))();s==null||s.focus()}};return(0,z.provide)(Kn,i),de((0,z.computed)(()=>H(r.value,{[0]:1,[1]:2}))),()=>{let{defaultOpen:a,...s}=t,d={open:r.value===0,close:i.close};return M({theirProps:s,ourProps:{},slot:d,slots:l,attrs:n,name:"Disclosure"})}}}),tl=(0,z.defineComponent)({name:"DisclosureButton",props:{as:{type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String,default:null}},setup(t,{attrs:l,slots:n,expose:r}){let e=jt("DisclosureButton"),o=Zo(),i=(0,z.computed)(()=>o===null?!1:o.value===e.panelId.value);(0,z.onMounted)(()=>{i.value||t.id!==null&&(e.buttonId.value=t.id)}),(0,z.onUnmounted)(()=>{i.value||(e.buttonId.value=null)});let a=(0,z.ref)(null);r({el:a,$el:a}),i.value||(0,z.watchEffect)(()=>{e.button.value=a.value});let s=ie((0,z.computed)(()=>({as:t.as,type:l.type})),a);function d(){var b;t.disabled||(i.value?(e.toggleDisclosure(),(b=v(e.button))==null||b.focus()):e.toggleDisclosure())}function u(b){var S;if(!t.disabled)if(i.value)switch(b.key){case" ":case"Enter":b.preventDefault(),b.stopPropagation(),e.toggleDisclosure(),(S=v(e.button))==null||S.focus();break}else switch(b.key){case" ":case"Enter":b.preventDefault(),b.stopPropagation(),e.toggleDisclosure();break}}function h(b){switch(b.key){case" ":b.preventDefault();break}}return()=>{var c;let b={open:e.disclosureState.value===0},{id:S,...p}=t,m=i.value?{ref:a,type:s.value,onClick:d,onKeydown:u}:{id:(c=e.buttonId.value)!=null?c:S,ref:a,type:s.value,"aria-expanded":e.disclosureState.value===0,"aria-controls":e.disclosureState.value===0||v(e.panel)?e.panelId.value:void 0,disabled:t.disabled?!0:void 0,onClick:d,onKeydown:u,onKeyup:h};return M({ourProps:m,theirProps:p,slot:b,attrs:l,slots:n,name:"DisclosureButton"})}}}),nl=(0,z.defineComponent)({name:"DisclosurePanel",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null}},setup(t,{attrs:l,slots:n,expose:r}){let e=jt("DisclosurePanel");(0,z.onMounted)(()=>{t.id!==null&&(e.panelId.value=t.id)}),(0,z.onUnmounted)(()=>{e.panelId.value=null}),r({el:e.panel,$el:e.panel}),(0,z.provide)(_n,e.panelId);let o=ne(),i=(0,z.computed)(()=>o!==null?(o.value&1)===1:e.disclosureState.value===0);return()=>{var h;let a={open:e.disclosureState.value===0,close:e.close},{id:s,...d}=t,u={id:(h=e.panelId.value)!=null?h:s,ref:e.panel};return M({ourProps:u,theirProps:d,slot:a,attrs:l,slots:n,features:3,visible:i.value,name:"DisclosurePanel"})}}});var C=require("vue");var Nt=require("vue");var $n=/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;function Wn(t){var o,i;let l=(o=t.innerText)!=null?o:"",n=t.cloneNode(!0);if(!(n instanceof HTMLElement))return l;let r=!1;for(let a of n.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))a.remove(),r=!0;let e=r?(i=n.innerText)!=null?i:"":l;return $n.test(e)&&(e=e.replace($n,"")),e}function Un(t){let l=t.getAttribute("aria-label");if(typeof l=="string")return l.trim();let n=t.getAttribute("aria-labelledby");if(n){let r=n.split(" ").map(e=>{let o=document.getElementById(e);if(o){let i=o.getAttribute("aria-label");return typeof i=="string"?i.trim():Wn(o).trim()}return null}).filter(Boolean);if(r.length>0)return r.join(", ")}return Wn(t).trim()}function St(t){let l=(0,Nt.ref)(""),n=(0,Nt.ref)("");return()=>{let r=v(t);if(!r)return"";let e=r.innerText;if(l.value===e)return n.value;let o=Un(r).trim().toLowerCase();return l.value=e,n.value=o,o}}function ol(t,l){return t===l}function ll(t){requestAnimationFrame(()=>requestAnimationFrame(t))}var zn=Symbol("ListboxContext");function Ze(t){let l=(0,C.inject)(zn,null);if(l===null){let n=new Error(`<${t} /> is missing a parent <Listbox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,Ze),n}return l}var rl=(0,C.defineComponent)({name:"Listbox",emits:{"update:modelValue":t=>!0},props:{as:{type:[Object,String],default:"template"},disabled:{type:[Boolean],default:!1},by:{type:[String,Function],default:()=>ol},horizontal:{type:[Boolean],default:!1},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{type:[Object,String,Number,Boolean],default:void 0},form:{type:String,optional:!0},name:{type:String,optional:!0},multiple:{type:[Boolean],default:!1}},inheritAttrs:!1,setup(t,{slots:l,attrs:n,emit:r}){let e=(0,C.ref)(1),o=(0,C.ref)(null),i=(0,C.ref)(null),a=(0,C.ref)(null),s=(0,C.ref)([]),d=(0,C.ref)(""),u=(0,C.ref)(null),h=(0,C.ref)(1);function b(f=T=>T){let T=u.value!==null?s.value[u.value]:null,x=le(f(s.value.slice()),P=>v(P.dataRef.domRef)),O=T?x.indexOf(T):null;return O===-1&&(O=null),{options:x,activeOptionIndex:O}}let S=(0,C.computed)(()=>t.multiple?1:0),[p,m]=ge((0,C.computed)(()=>t.modelValue),f=>r("update:modelValue",f),(0,C.computed)(()=>t.defaultValue)),c=(0,C.computed)(()=>p.value===void 0?H(S.value,{[1]:[],[0]:void 0}):p.value),g={listboxState:e,value:c,mode:S,compare(f,T){if(typeof t.by=="string"){let x=t.by;return(f==null?void 0:f[x])===(T==null?void 0:T[x])}return t.by(f,T)},orientation:(0,C.computed)(()=>t.horizontal?"horizontal":"vertical"),labelRef:o,buttonRef:i,optionsRef:a,disabled:(0,C.computed)(()=>t.disabled),options:s,searchQuery:d,activeOptionIndex:u,activationTrigger:h,closeListbox(){t.disabled||e.value!==1&&(e.value=1,u.value=null)},openListbox(){t.disabled||e.value!==0&&(e.value=0)},goToOption(f,T,x){if(t.disabled||e.value===1)return;let O=b(),P=Re(f===4?{focus:4,id:T}:{focus:f},{resolveItems:()=>O.options,resolveActiveIndex:()=>O.activeOptionIndex,resolveId:R=>R.id,resolveDisabled:R=>R.dataRef.disabled});d.value="",u.value=P,h.value=x!=null?x:1,s.value=O.options},search(f){if(t.disabled||e.value===1)return;let x=d.value!==""?0:1;d.value+=f.toLowerCase();let P=(u.value!==null?s.value.slice(u.value+x).concat(s.value.slice(0,u.value+x)):s.value).find(U=>U.dataRef.textValue.startsWith(d.value)&&!U.dataRef.disabled),R=P?s.value.indexOf(P):-1;R===-1||R===u.value||(u.value=R,h.value=1)},clearSearch(){t.disabled||e.value!==1&&d.value!==""&&(d.value="")},registerOption(f,T){let x=b(O=>[...O,{id:f,dataRef:T}]);s.value=x.options,u.value=x.activeOptionIndex},unregisterOption(f){let T=b(x=>{let O=x.findIndex(P=>P.id===f);return O!==-1&&x.splice(O,1),x});s.value=T.options,u.value=T.activeOptionIndex,h.value=1},theirOnChange(f){t.disabled||m(f)},select(f){t.disabled||m(H(S.value,{[0]:()=>f,[1]:()=>{let T=(0,C.toRaw)(g.value.value).slice(),x=(0,C.toRaw)(f),O=T.findIndex(P=>g.compare(x,(0,C.toRaw)(P)));return O===-1?T.push(x):T.splice(O,1),T}}))}};pe([i,a],(f,T)=>{var x;g.closeListbox(),ve(T,1)||(f.preventDefault(),(x=v(i))==null||x.focus())},(0,C.computed)(()=>e.value===0)),(0,C.provide)(zn,g),de((0,C.computed)(()=>H(e.value,{[0]:1,[1]:2})));let y=(0,C.computed)(()=>{var f;return(f=v(i))==null?void 0:f.closest("form")});return(0,C.onMounted)(()=>{(0,C.watch)([y],()=>{if(!y.value||t.defaultValue===void 0)return;function f(){g.theirOnChange(t.defaultValue)}return y.value.addEventListener("reset",f),()=>{var T;(T=y.value)==null||T.removeEventListener("reset",f)}},{immediate:!0})}),()=>{let{name:f,modelValue:T,disabled:x,form:O,...P}=t,R={open:e.value===0,disabled:x,value:c.value};return(0,C.h)(C.Fragment,[...f!=null&&c.value!=null?Oe({[f]:c.value}).map(([U,w])=>(0,C.h)(X,ye({features:4,key:U,as:"input",type:"hidden",hidden:!0,readOnly:!0,form:O,disabled:x,name:U,value:w}))):[],M({ourProps:{},theirProps:{...n,...re(P,["defaultValue","onUpdate:modelValue","horizontal","multiple","by"])},slot:R,slots:l,attrs:n,name:"Listbox"})])}}}),il=(0,C.defineComponent)({name:"ListboxLabel",props:{as:{type:[Object,String],default:"label"},id:{type:String,default:()=>`headlessui-listbox-label-${j()}`}},setup(t,{attrs:l,slots:n}){let r=Ze("ListboxLabel");function e(){var o;(o=v(r.buttonRef))==null||o.focus({preventScroll:!0})}return()=>{let o={open:r.listboxState.value===0,disabled:r.disabled.value},{id:i,...a}=t,s={id:i,ref:r.labelRef,onClick:e};return M({ourProps:s,theirProps:a,slot:o,attrs:l,slots:n,name:"ListboxLabel"})}}}),al=(0,C.defineComponent)({name:"ListboxButton",props:{as:{type:[Object,String],default:"button"},id:{type:String,default:()=>`headlessui-listbox-button-${j()}`}},setup(t,{attrs:l,slots:n,expose:r}){let e=Ze("ListboxButton");r({el:e.buttonRef,$el:e.buttonRef});function o(d){switch(d.key){case" ":case"Enter":case"ArrowDown":d.preventDefault(),e.openListbox(),(0,C.nextTick)(()=>{var u;(u=v(e.optionsRef))==null||u.focus({preventScroll:!0}),e.value.value||e.goToOption(0)});break;case"ArrowUp":d.preventDefault(),e.openListbox(),(0,C.nextTick)(()=>{var u;(u=v(e.optionsRef))==null||u.focus({preventScroll:!0}),e.value.value||e.goToOption(3)});break}}function i(d){switch(d.key){case" ":d.preventDefault();break}}function a(d){e.disabled.value||(e.listboxState.value===0?(e.closeListbox(),(0,C.nextTick)(()=>{var u;return(u=v(e.buttonRef))==null?void 0:u.focus({preventScroll:!0})})):(d.preventDefault(),e.openListbox(),ll(()=>{var u;return(u=v(e.optionsRef))==null?void 0:u.focus({preventScroll:!0})})))}let s=ie((0,C.computed)(()=>({as:t.as,type:l.type})),e.buttonRef);return()=>{var S,p;let d={open:e.listboxState.value===0,disabled:e.disabled.value,value:e.value.value},{id:u,...h}=t,b={ref:e.buttonRef,id:u,type:s.value,"aria-haspopup":"listbox","aria-controls":(S=v(e.optionsRef))==null?void 0:S.id,"aria-expanded":e.listboxState.value===0,"aria-labelledby":e.labelRef.value?[(p=v(e.labelRef))==null?void 0:p.id,u].join(" "):void 0,disabled:e.disabled.value===!0?!0:void 0,onKeydown:o,onKeyup:i,onClick:a};return M({ourProps:b,theirProps:h,slot:d,attrs:l,slots:n,name:"ListboxButton"})}}}),ul=(0,C.defineComponent)({name:"ListboxOptions",props:{as:{type:[Object,String],default:"ul"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:()=>`headlessui-listbox-options-${j()}`}},setup(t,{attrs:l,slots:n,expose:r}){let e=Ze("ListboxOptions"),o=(0,C.ref)(null);r({el:e.optionsRef,$el:e.optionsRef});function i(d){switch(o.value&&clearTimeout(o.value),d.key){case" ":if(e.searchQuery.value!=="")return d.preventDefault(),d.stopPropagation(),e.search(d.key);case"Enter":if(d.preventDefault(),d.stopPropagation(),e.activeOptionIndex.value!==null){let u=e.options.value[e.activeOptionIndex.value];e.select(u.dataRef.value)}e.mode.value===0&&(e.closeListbox(),(0,C.nextTick)(()=>{var u;return(u=v(e.buttonRef))==null?void 0:u.focus({preventScroll:!0})}));break;case H(e.orientation.value,{vertical:"ArrowDown",horizontal:"ArrowRight"}):return d.preventDefault(),d.stopPropagation(),e.goToOption(2);case H(e.orientation.value,{vertical:"ArrowUp",horizontal:"ArrowLeft"}):return d.preventDefault(),d.stopPropagation(),e.goToOption(1);case"Home":case"PageUp":return d.preventDefault(),d.stopPropagation(),e.goToOption(0);case"End":case"PageDown":return d.preventDefault(),d.stopPropagation(),e.goToOption(3);case"Escape":d.preventDefault(),d.stopPropagation(),e.closeListbox(),(0,C.nextTick)(()=>{var u;return(u=v(e.buttonRef))==null?void 0:u.focus({preventScroll:!0})});break;case"Tab":d.preventDefault(),d.stopPropagation();break;default:d.key.length===1&&(e.search(d.key),o.value=setTimeout(()=>e.clearSearch(),350));break}}let a=ne(),s=(0,C.computed)(()=>a!==null?(a.value&1)===1:e.listboxState.value===0);return()=>{var S,p;let d={open:e.listboxState.value===0},{id:u,...h}=t,b={"aria-activedescendant":e.activeOptionIndex.value===null||(S=e.options.value[e.activeOptionIndex.value])==null?void 0:S.id,"aria-multiselectable":e.mode.value===1?!0:void 0,"aria-labelledby":(p=v(e.buttonRef))==null?void 0:p.id,"aria-orientation":e.orientation.value,id:u,onKeydown:i,role:"listbox",tabIndex:0,ref:e.optionsRef};return M({ourProps:b,theirProps:h,slot:d,attrs:l,slots:n,features:3,visible:s.value,name:"ListboxOptions"})}}}),sl=(0,C.defineComponent)({name:"ListboxOption",props:{as:{type:[Object,String],default:"li"},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1},id:{type:String,default:()=>`headlessui-listbox.option-${j()}`}},setup(t,{slots:l,attrs:n,expose:r}){let e=Ze("ListboxOption"),o=(0,C.ref)(null);r({el:o,$el:o});let i=(0,C.computed)(()=>e.activeOptionIndex.value!==null?e.options.value[e.activeOptionIndex.value].id===t.id:!1),a=(0,C.computed)(()=>H(e.mode.value,{[0]:()=>e.compare((0,C.toRaw)(e.value.value),(0,C.toRaw)(t.value)),[1]:()=>(0,C.toRaw)(e.value.value).some(g=>e.compare((0,C.toRaw)(g),(0,C.toRaw)(t.value)))})),s=(0,C.computed)(()=>H(e.mode.value,{[1]:()=>{var y;let g=(0,C.toRaw)(e.value.value);return((y=e.options.value.find(f=>g.some(T=>e.compare((0,C.toRaw)(T),(0,C.toRaw)(f.dataRef.value)))))==null?void 0:y.id)===t.id},[0]:()=>a.value})),d=St(o),u=(0,C.computed)(()=>({disabled:t.disabled,value:t.value,get textValue(){return d()},domRef:o}));(0,C.onMounted)(()=>e.registerOption(t.id,u)),(0,C.onUnmounted)(()=>e.unregisterOption(t.id)),(0,C.onMounted)(()=>{(0,C.watch)([e.listboxState,a],()=>{e.listboxState.value===0&&a.value&&H(e.mode.value,{[1]:()=>{s.value&&e.goToOption(4,t.id)},[0]:()=>{e.goToOption(4,t.id)}})},{immediate:!0})}),(0,C.watchEffect)(()=>{e.listboxState.value===0&&i.value&&e.activationTrigger.value!==0&&(0,C.nextTick)(()=>{var g,y;return(y=(g=v(o))==null?void 0:g.scrollIntoView)==null?void 0:y.call(g,{block:"nearest"})})});function h(g){if(t.disabled)return g.preventDefault();e.select(t.value),e.mode.value===0&&(e.closeListbox(),(0,C.nextTick)(()=>{var y;return(y=v(e.buttonRef))==null?void 0:y.focus({preventScroll:!0})}))}function b(){if(t.disabled)return e.goToOption(5);e.goToOption(4,t.id)}let S=Ae();function p(g){S.update(g)}function m(g){S.wasMoved(g)&&(t.disabled||i.value||e.goToOption(4,t.id,0))}function c(g){S.wasMoved(g)&&(t.disabled||i.value&&e.goToOption(5))}return()=>{let{disabled:g}=t,y={active:i.value,selected:a.value,disabled:g},{id:f,value:T,disabled:x,...O}=t,P={id:f,ref:o,role:"option",tabIndex:g===!0?void 0:-1,"aria-disabled":g===!0?!0:void 0,"aria-selected":a.value,disabled:void 0,onClick:h,onFocus:b,onPointerenter:p,onMouseenter:p,onPointermove:m,onMousemove:m,onPointerleave:c,onMouseleave:c};return M({ourProps:P,theirProps:O,slot:y,attrs:n,slots:l,name:"ListboxOption"})}}});var V=require("vue");function dl(t){requestAnimationFrame(()=>requestAnimationFrame(t))}var Gn=Symbol("MenuContext");function xt(t){let l=(0,V.inject)(Gn,null);if(l===null){let n=new Error(`<${t} /> is missing a parent <Menu /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,xt),n}return l}var fl=(0,V.defineComponent)({name:"Menu",props:{as:{type:[Object,String],default:"template"}},setup(t,{slots:l,attrs:n}){let r=(0,V.ref)(1),e=(0,V.ref)(null),o=(0,V.ref)(null),i=(0,V.ref)([]),a=(0,V.ref)(""),s=(0,V.ref)(null),d=(0,V.ref)(1);function u(b=S=>S){let S=s.value!==null?i.value[s.value]:null,p=le(b(i.value.slice()),c=>v(c.dataRef.domRef)),m=S?p.indexOf(S):null;return m===-1&&(m=null),{items:p,activeItemIndex:m}}let h={menuState:r,buttonRef:e,itemsRef:o,items:i,searchQuery:a,activeItemIndex:s,activationTrigger:d,closeMenu:()=>{r.value=1,s.value=null},openMenu:()=>r.value=0,goToItem(b,S,p){let m=u(),c=Re(b===4?{focus:4,id:S}:{focus:b},{resolveItems:()=>m.items,resolveActiveIndex:()=>m.activeItemIndex,resolveId:g=>g.id,resolveDisabled:g=>g.dataRef.disabled});a.value="",s.value=c,d.value=p!=null?p:1,i.value=m.items},search(b){let p=a.value!==""?0:1;a.value+=b.toLowerCase();let c=(s.value!==null?i.value.slice(s.value+p).concat(i.value.slice(0,s.value+p)):i.value).find(y=>y.dataRef.textValue.startsWith(a.value)&&!y.dataRef.disabled),g=c?i.value.indexOf(c):-1;g===-1||g===s.value||(s.value=g,d.value=1)},clearSearch(){a.value=""},registerItem(b,S){let p=u(m=>[...m,{id:b,dataRef:S}]);i.value=p.items,s.value=p.activeItemIndex,d.value=1},unregisterItem(b){let S=u(p=>{let m=p.findIndex(c=>c.id===b);return m!==-1&&p.splice(m,1),p});i.value=S.items,s.value=S.activeItemIndex,d.value=1}};return pe([e,o],(b,S)=>{var p;h.closeMenu(),ve(S,1)||(b.preventDefault(),(p=v(e))==null||p.focus())},(0,V.computed)(()=>r.value===0)),(0,V.provide)(Gn,h),de((0,V.computed)(()=>H(r.value,{[0]:1,[1]:2}))),()=>{let b={open:r.value===0,close:h.closeMenu};return M({ourProps:{},theirProps:t,slot:b,slots:l,attrs:n,name:"Menu"})}}}),cl=(0,V.defineComponent)({name:"MenuButton",props:{disabled:{type:Boolean,default:!1},as:{type:[Object,String],default:"button"},id:{type:String,default:()=>`headlessui-menu-button-${j()}`}},setup(t,{attrs:l,slots:n,expose:r}){let e=xt("MenuButton");r({el:e.buttonRef,$el:e.buttonRef});function o(d){switch(d.key){case" ":case"Enter":case"ArrowDown":d.preventDefault(),d.stopPropagation(),e.openMenu(),(0,V.nextTick)(()=>{var u;(u=v(e.itemsRef))==null||u.focus({preventScroll:!0}),e.goToItem(0)});break;case"ArrowUp":d.preventDefault(),d.stopPropagation(),e.openMenu(),(0,V.nextTick)(()=>{var u;(u=v(e.itemsRef))==null||u.focus({preventScroll:!0}),e.goToItem(3)});break}}function i(d){switch(d.key){case" ":d.preventDefault();break}}function a(d){t.disabled||(e.menuState.value===0?(e.closeMenu(),(0,V.nextTick)(()=>{var u;return(u=v(e.buttonRef))==null?void 0:u.focus({preventScroll:!0})})):(d.preventDefault(),e.openMenu(),dl(()=>{var u;return(u=v(e.itemsRef))==null?void 0:u.focus({preventScroll:!0})})))}let s=ie((0,V.computed)(()=>({as:t.as,type:l.type})),e.buttonRef);return()=>{var S;let d={open:e.menuState.value===0},{id:u,...h}=t,b={ref:e.buttonRef,id:u,type:s.value,"aria-haspopup":"menu","aria-controls":(S=v(e.itemsRef))==null?void 0:S.id,"aria-expanded":e.menuState.value===0,onKeydown:o,onKeyup:i,onClick:a};return M({ourProps:b,theirProps:h,slot:d,attrs:l,slots:n,name:"MenuButton"})}}}),pl=(0,V.defineComponent)({name:"MenuItems",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:()=>`headlessui-menu-items-${j()}`}},setup(t,{attrs:l,slots:n,expose:r}){let e=xt("MenuItems"),o=(0,V.ref)(null);r({el:e.itemsRef,$el:e.itemsRef}),je({container:(0,V.computed)(()=>v(e.itemsRef)),enabled:(0,V.computed)(()=>e.menuState.value===0),accept(u){return u.getAttribute("role")==="menuitem"?NodeFilter.FILTER_REJECT:u.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(u){u.setAttribute("role","none")}});function i(u){var h;switch(o.value&&clearTimeout(o.value),u.key){case" ":if(e.searchQuery.value!=="")return u.preventDefault(),u.stopPropagation(),e.search(u.key);case"Enter":if(u.preventDefault(),u.stopPropagation(),e.activeItemIndex.value!==null){let S=e.items.value[e.activeItemIndex.value];(h=v(S.dataRef.domRef))==null||h.click()}e.closeMenu(),Pt(v(e.buttonRef));break;case"ArrowDown":return u.preventDefault(),u.stopPropagation(),e.goToItem(2);case"ArrowUp":return u.preventDefault(),u.stopPropagation(),e.goToItem(1);case"Home":case"PageUp":return u.preventDefault(),u.stopPropagation(),e.goToItem(0);case"End":case"PageDown":return u.preventDefault(),u.stopPropagation(),e.goToItem(3);case"Escape":u.preventDefault(),u.stopPropagation(),e.closeMenu(),(0,V.nextTick)(()=>{var b;return(b=v(e.buttonRef))==null?void 0:b.focus({preventScroll:!0})});break;case"Tab":u.preventDefault(),u.stopPropagation(),e.closeMenu(),(0,V.nextTick)(()=>on(v(e.buttonRef),u.shiftKey?2:4));break;default:u.key.length===1&&(e.search(u.key),o.value=setTimeout(()=>e.clearSearch(),350));break}}function a(u){switch(u.key){case" ":u.preventDefault();break}}let s=ne(),d=(0,V.computed)(()=>s!==null?(s.value&1)===1:e.menuState.value===0);return()=>{var p,m;let u={open:e.menuState.value===0},{id:h,...b}=t,S={"aria-activedescendant":e.activeItemIndex.value===null||(p=e.items.value[e.activeItemIndex.value])==null?void 0:p.id,"aria-labelledby":(m=v(e.buttonRef))==null?void 0:m.id,id:h,onKeydown:i,onKeyup:a,role:"menu",tabIndex:0,ref:e.itemsRef};return M({ourProps:S,theirProps:b,slot:u,attrs:l,slots:n,features:3,visible:d.value,name:"MenuItems"})}}}),ml=(0,V.defineComponent)({name:"MenuItem",inheritAttrs:!1,props:{as:{type:[Object,String],default:"template"},disabled:{type:Boolean,default:!1},id:{type:String,default:()=>`headlessui-menu-item-${j()}`}},setup(t,{slots:l,attrs:n,expose:r}){let e=xt("MenuItem"),o=(0,V.ref)(null);r({el:o,$el:o});let i=(0,V.computed)(()=>e.activeItemIndex.value!==null?e.items.value[e.activeItemIndex.value].id===t.id:!1),a=St(o),s=(0,V.computed)(()=>({disabled:t.disabled,get textValue(){return a()},domRef:o}));(0,V.onMounted)(()=>e.registerItem(t.id,s)),(0,V.onUnmounted)(()=>e.unregisterItem(t.id)),(0,V.watchEffect)(()=>{e.menuState.value===0&&i.value&&e.activationTrigger.value!==0&&(0,V.nextTick)(()=>{var m,c;return(c=(m=v(o))==null?void 0:m.scrollIntoView)==null?void 0:c.call(m,{block:"nearest"})})});function d(m){if(t.disabled)return m.preventDefault();e.closeMenu(),Pt(v(e.buttonRef))}function u(){if(t.disabled)return e.goToItem(5);e.goToItem(4,t.id)}let h=Ae();function b(m){h.update(m)}function S(m){h.wasMoved(m)&&(t.disabled||i.value||e.goToItem(4,t.id,0))}function p(m){h.wasMoved(m)&&(t.disabled||i.value&&e.goToItem(5))}return()=>{let{id:m,disabled:c,...g}=t,y={active:i.value,disabled:c,close:e.closeMenu};return M({ourProps:{id:m,ref:o,role:"menuitem",tabIndex:c===!0?void 0:-1,"aria-disabled":c===!0?!0:void 0,onClick:d,onFocus:u,onPointerenter:b,onMouseenter:b,onPointermove:S,onMousemove:S,onPointerleave:p,onMouseleave:p},theirProps:{...n,...g},slot:y,attrs:n,slots:l,name:"MenuItem"})}}});var I=require("vue");var qn=Symbol("PopoverContext");function Tt(t){let l=(0,I.inject)(qn,null);if(l===null){let n=new Error(`<${t} /> is missing a parent <${Jn.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,Tt),n}return l}var Yn=Symbol("PopoverGroupContext");function Qn(){return(0,I.inject)(Yn,null)}var Xn=Symbol("PopoverPanelContext");function vl(){return(0,I.inject)(Xn,null)}var Jn=(0,I.defineComponent)({name:"Popover",inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"}},setup(t,{slots:l,attrs:n,expose:r}){var T;let e=(0,I.ref)(null);r({el:e,$el:e});let o=(0,I.ref)(1),i=(0,I.ref)(null),a=(0,I.ref)(null),s=(0,I.ref)(null),d=(0,I.ref)(null),u=(0,I.computed)(()=>q(e)),h=(0,I.computed)(()=>{var L,B;if(!v(i)||!v(d))return!1;for(let k of document.querySelectorAll("body > *"))if(Number(k==null?void 0:k.contains(v(i)))^Number(k==null?void 0:k.contains(v(d))))return!0;let x=Fe(),O=x.indexOf(v(i)),P=(O+x.length-1)%x.length,R=(O+1)%x.length,U=x[P],w=x[R];return!((L=v(d))!=null&&L.contains(U))&&!((B=v(d))!=null&&B.contains(w))}),b={popoverState:o,buttonId:(0,I.ref)(null),panelId:(0,I.ref)(null),panel:d,button:i,isPortalled:h,beforePanelSentinel:a,afterPanelSentinel:s,togglePopover(){o.value=H(o.value,{[0]:1,[1]:0})},closePopover(){o.value!==1&&(o.value=1)},close(x){b.closePopover();let O=(()=>x?x instanceof HTMLElement?x:x.value instanceof HTMLElement?v(x):v(b.button):v(b.button))();O==null||O.focus()}};(0,I.provide)(qn,b),de((0,I.computed)(()=>H(o.value,{[0]:1,[1]:2})));let S={buttonId:b.buttonId,panelId:b.panelId,close(){b.closePopover()}},p=Qn(),m=p==null?void 0:p.registerPopover,[c,g]=ht(),y=vt({mainTreeNodeRef:p==null?void 0:p.mainTreeNodeRef,portals:c,defaultContainers:[i,d]});function f(){var x,O,P,R;return(R=p==null?void 0:p.isFocusWithinPopoverGroup())!=null?R:((x=u.value)==null?void 0:x.activeElement)&&(((O=v(i))==null?void 0:O.contains(u.value.activeElement))||((P=v(d))==null?void 0:P.contains(u.value.activeElement)))}return(0,I.watchEffect)(()=>m==null?void 0:m(S)),Ve((T=u.value)==null?void 0:T.defaultView,"focus",x=>{var O,P;x.target!==window&&x.target instanceof HTMLElement&&o.value===0&&(f()||i&&d&&(y.contains(x.target)||(O=v(b.beforePanelSentinel))!=null&&O.contains(x.target)||(P=v(b.afterPanelSentinel))!=null&&P.contains(x.target)||b.closePopover()))},!0),pe(y.resolveContainers,(x,O)=>{var P;b.closePopover(),ve(O,1)||(x.preventDefault(),(P=v(i))==null||P.focus())},(0,I.computed)(()=>o.value===0)),()=>{let x={open:o.value===0,close:b.close};return(0,I.h)(I.Fragment,[(0,I.h)(g,{},()=>M({theirProps:{...t,...n},ourProps:{ref:e},slot:x,slots:l,attrs:n,name:"Popover"})),(0,I.h)(y.MainTreeNode)])}}}),bl=(0,I.defineComponent)({name:"PopoverButton",props:{as:{type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String,default:()=>`headlessui-popover-button-${j()}`}},inheritAttrs:!1,setup(t,{attrs:l,slots:n,expose:r}){let e=Tt("PopoverButton"),o=(0,I.computed)(()=>q(e.button));r({el:e.button,$el:e.button}),(0,I.onMounted)(()=>{e.buttonId.value=t.id}),(0,I.onUnmounted)(()=>{e.buttonId.value=null});let i=Qn(),a=i==null?void 0:i.closeOthers,s=vl(),d=(0,I.computed)(()=>s===null?!1:s.value===e.panelId.value),u=(0,I.ref)(null),h=`headlessui-focus-sentinel-${j()}`;d.value||(0,I.watchEffect)(()=>{e.button.value=v(u)});let b=ie((0,I.computed)(()=>({as:t.as,type:l.type})),u);function S(f){var T,x,O,P,R;if(d.value){if(e.popoverState.value===1)return;switch(f.key){case" ":case"Enter":f.preventDefault(),(x=(T=f.target).click)==null||x.call(T),e.closePopover(),(O=v(e.button))==null||O.focus();break}}else switch(f.key){case" ":case"Enter":f.preventDefault(),f.stopPropagation(),e.popoverState.value===1&&(a==null||a(e.buttonId.value)),e.togglePopover();break;case"Escape":if(e.popoverState.value!==0)return a==null?void 0:a(e.buttonId.value);if(!v(e.button)||(P=o.value)!=null&&P.activeElement&&!((R=v(e.button))!=null&&R.contains(o.value.activeElement)))return;f.preventDefault(),f.stopPropagation(),e.closePopover();break}}function p(f){d.value||f.key===" "&&f.preventDefault()}function m(f){var T,x;t.disabled||(d.value?(e.closePopover(),(T=v(e.button))==null||T.focus()):(f.preventDefault(),f.stopPropagation(),e.popoverState.value===1&&(a==null||a(e.buttonId.value)),e.togglePopover(),(x=v(e.button))==null||x.focus()))}function c(f){f.preventDefault(),f.stopPropagation()}let g=Ye();function y(){let f=v(e.panel);if(!f)return;function T(){H(g.value,{[0]:()=>Q(f,1),[1]:()=>Q(f,8)})===0&&Q(Fe().filter(O=>O.dataset.headlessuiFocusGuard!=="true"),H(g.value,{[0]:4,[1]:2}),{relativeTo:v(e.button)})}T()}return()=>{let f=e.popoverState.value===0,T={open:f},{id:x,...O}=t,P=d.value?{ref:u,type:b.value,onKeydown:S,onClick:m}:{ref:u,id:x,type:b.value,"aria-expanded":e.popoverState.value===0,"aria-controls":v(e.panel)?e.panelId.value:void 0,disabled:t.disabled?!0:void 0,onKeydown:S,onKeyup:p,onClick:m,onMousedown:c};return(0,I.h)(I.Fragment,[M({ourProps:P,theirProps:{...l,...O},slot:T,attrs:l,slots:n,name:"PopoverButton"}),f&&!d.value&&e.isPortalled.value&&(0,I.h)(X,{id:h,features:2,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:y})])}}}),hl=(0,I.defineComponent)({name:"PopoverOverlay",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0}},setup(t,{attrs:l,slots:n}){let r=Tt("PopoverOverlay"),e=`headlessui-popover-overlay-${j()}`,o=ne(),i=(0,I.computed)(()=>o!==null?(o.value&1)===1:r.popoverState.value===0);function a(){r.closePopover()}return()=>{let s={open:r.popoverState.value===0};return M({ourProps:{id:e,"aria-hidden":!0,onClick:a},theirProps:t,slot:s,attrs:l,slots:n,features:3,visible:i.value,name:"PopoverOverlay"})}}}),gl=(0,I.defineComponent)({name:"PopoverPanel",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},focus:{type:Boolean,default:!1},id:{type:String,default:()=>`headlessui-popover-panel-${j()}`}},inheritAttrs:!1,setup(t,{attrs:l,slots:n,expose:r}){let{focus:e}=t,o=Tt("PopoverPanel"),i=(0,I.computed)(()=>q(o.panel)),a=`headlessui-focus-sentinel-before-${j()}`,s=`headlessui-focus-sentinel-after-${j()}`;r({el:o.panel,$el:o.panel}),(0,I.onMounted)(()=>{o.panelId.value=t.id}),(0,I.onUnmounted)(()=>{o.panelId.value=null}),(0,I.provide)(Xn,o.panelId),(0,I.watchEffect)(()=>{var g,y;if(!e||o.popoverState.value!==0||!o.panel)return;let c=(g=i.value)==null?void 0:g.activeElement;(y=v(o.panel))!=null&&y.contains(c)||Q(v(o.panel),1)});let d=ne(),u=(0,I.computed)(()=>d!==null?(d.value&1)===1:o.popoverState.value===0);function h(c){var g,y;switch(c.key){case"Escape":if(o.popoverState.value!==0||!v(o.panel)||i.value&&!((g=v(o.panel))!=null&&g.contains(i.value.activeElement)))return;c.preventDefault(),c.stopPropagation(),o.closePopover(),(y=v(o.button))==null||y.focus();break}}function b(c){var y,f,T,x,O;let g=c.relatedTarget;g&&v(o.panel)&&((y=v(o.panel))!=null&&y.contains(g)||(o.closePopover(),((T=(f=v(o.beforePanelSentinel))==null?void 0:f.contains)!=null&&T.call(f,g)||(O=(x=v(o.afterPanelSentinel))==null?void 0:x.contains)!=null&&O.call(x,g))&&g.focus({preventScroll:!0})))}let S=Ye();function p(){let c=v(o.panel);if(!c)return;function g(){H(S.value,{[0]:()=>{var f;Q(c,1)===0&&((f=v(o.afterPanelSentinel))==null||f.focus())},[1]:()=>{var y;(y=v(o.button))==null||y.focus({preventScroll:!0})}})}g()}function m(){let c=v(o.panel);if(!c)return;function g(){H(S.value,{[0]:()=>{let y=v(o.button),f=v(o.panel);if(!y)return;let T=Fe(),x=T.indexOf(y),O=T.slice(0,x+1),R=[...T.slice(x+1),...O];for(let U of R.slice())if(U.dataset.headlessuiFocusGuard==="true"||f!=null&&f.contains(U)){let w=R.indexOf(U);w!==-1&&R.splice(w,1)}Q(R,1,{sorted:!1})},[1]:()=>{var f;Q(c,2)===0&&((f=v(o.button))==null||f.focus())}})}g()}return()=>{let c={open:o.popoverState.value===0,close:o.close},{id:g,focus:y,...f}=t,T={ref:o.panel,id:g,onKeydown:h,onFocusout:e&&o.popoverState.value===0?b:void 0,tabIndex:-1};return M({ourProps:T,theirProps:{...l,...f},attrs:l,slot:c,slots:{...n,default:(...x)=>{var O;return[(0,I.h)(I.Fragment,[u.value&&o.isPortalled.value&&(0,I.h)(X,{id:a,ref:o.beforePanelSentinel,features:2,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:p}),(O=n.default)==null?void 0:O.call(n,...x),u.value&&o.isPortalled.value&&(0,I.h)(X,{id:s,ref:o.afterPanelSentinel,features:2,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:m})])]}},features:3,visible:u.value,name:"PopoverPanel"})}}}),yl=(0,I.defineComponent)({name:"PopoverGroup",inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"}},setup(t,{attrs:l,slots:n,expose:r}){let e=(0,I.ref)(null),o=(0,I.shallowRef)([]),i=(0,I.computed)(()=>q(e)),a=Fn();r({el:e,$el:e});function s(b){let S=o.value.indexOf(b);S!==-1&&o.value.splice(S,1)}function d(b){return o.value.push(b),()=>{s(b)}}function u(){var p;let b=i.value;if(!b)return!1;let S=b.activeElement;return(p=v(e))!=null&&p.contains(S)?!0:o.value.some(m=>{var c,g;return((c=b.getElementById(m.buttonId.value))==null?void 0:c.contains(S))||((g=b.getElementById(m.panelId.value))==null?void 0:g.contains(S))})}function h(b){for(let S of o.value)S.buttonId.value!==b&&S.close()}return(0,I.provide)(Yn,{registerPopover:d,unregisterPopover:s,isFocusWithinPopoverGroup:u,closeOthers:h,mainTreeNodeRef:a.mainTreeNodeRef}),()=>(0,I.h)(I.Fragment,[M({ourProps:{ref:e},theirProps:{...t,...l},slot:{},attrs:l,slots:n,name:"PopoverGroup"}),(0,I.h)(a.MainTreeNode)])}});var A=require("vue");var oe=require("vue");var Zn=Symbol("LabelContext");function eo(){let t=(0,oe.inject)(Zn,null);if(t===null){let l=new Error("You used a <Label /> component, but it is not inside a parent.");throw Error.captureStackTrace&&Error.captureStackTrace(l,eo),l}return t}function et({slot:t={},name:l="Label",props:n={}}={}){let r=(0,oe.ref)([]);function e(o){return r.value.push(o),()=>{let i=r.value.indexOf(o);i!==-1&&r.value.splice(i,1)}}return(0,oe.provide)(Zn,{register:e,slot:t,name:l,props:n}),(0,oe.computed)(()=>r.value.length>0?r.value.join(" "):void 0)}var Et=(0,oe.defineComponent)({name:"Label",props:{as:{type:[Object,String],default:"label"},passive:{type:[Boolean],default:!1},id:{type:String,default:()=>`headlessui-label-${j()}`}},setup(t,{slots:l,attrs:n}){let r=eo();return(0,oe.onMounted)(()=>(0,oe.onUnmounted)(r.register(t.id))),()=>{let{name:e="Label",slot:o={},props:i={}}=r,{id:a,passive:s,...d}=t,u={...Object.entries(i).reduce((h,[b,S])=>Object.assign(h,{[b]:(0,oe.unref)(S)}),{}),id:a};return s&&(delete u.onClick,delete u.htmlFor,delete d.onClick),M({ourProps:u,theirProps:d,slot:o,attrs:n,slots:l,name:e})}}});function Sl(t,l){return t===l}var to=Symbol("RadioGroupContext");function no(t){let l=(0,A.inject)(to,null);if(l===null){let n=new Error(`<${t} /> is missing a parent <RadioGroup /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,no),n}return l}var xl=(0,A.defineComponent)({name:"RadioGroup",emits:{"update:modelValue":t=>!0},props:{as:{type:[Object,String],default:"div"},disabled:{type:[Boolean],default:!1},by:{type:[String,Function],default:()=>Sl},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{type:[Object,String,Number,Boolean],default:void 0},form:{type:String,optional:!0},name:{type:String,optional:!0},id:{type:String,default:()=>`headlessui-radiogroup-${j()}`}},inheritAttrs:!1,setup(t,{emit:l,attrs:n,slots:r,expose:e}){let o=(0,A.ref)(null),i=(0,A.ref)([]),a=et({name:"RadioGroupLabel"}),s=Me({name:"RadioGroupDescription"});e({el:o,$el:o});let[d,u]=ge((0,A.computed)(()=>t.modelValue),p=>l("update:modelValue",p),(0,A.computed)(()=>t.defaultValue)),h={options:i,value:d,disabled:(0,A.computed)(()=>t.disabled),firstOption:(0,A.computed)(()=>i.value.find(p=>!p.propsRef.disabled)),containsCheckedOption:(0,A.computed)(()=>i.value.some(p=>h.compare((0,A.toRaw)(p.propsRef.value),(0,A.toRaw)(t.modelValue)))),compare(p,m){if(typeof t.by=="string"){let c=t.by;return(p==null?void 0:p[c])===(m==null?void 0:m[c])}return t.by(p,m)},change(p){var c;if(t.disabled||h.compare((0,A.toRaw)(d.value),(0,A.toRaw)(p)))return!1;let m=(c=i.value.find(g=>h.compare((0,A.toRaw)(g.propsRef.value),(0,A.toRaw)(p))))==null?void 0:c.propsRef;return m!=null&&m.disabled?!1:(u(p),!0)},registerOption(p){i.value.push(p),i.value=le(i.value,m=>m.element)},unregisterOption(p){let m=i.value.findIndex(c=>c.id===p);m!==-1&&i.value.splice(m,1)}};(0,A.provide)(to,h),je({container:(0,A.computed)(()=>v(o)),accept(p){return p.getAttribute("role")==="radio"?NodeFilter.FILTER_REJECT:p.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(p){p.setAttribute("role","none")}});function b(p){if(!o.value||!o.value.contains(p.target))return;let m=i.value.filter(c=>c.propsRef.disabled===!1).map(c=>c.element);switch(p.key){case"Enter":dt(p.currentTarget);break;case"ArrowLeft":case"ArrowUp":if(p.preventDefault(),p.stopPropagation(),Q(m,18)===2){let g=i.value.find(y=>{var f;return y.element===((f=q(o))==null?void 0:f.activeElement)});g&&h.change(g.propsRef.value)}break;case"ArrowRight":case"ArrowDown":if(p.preventDefault(),p.stopPropagation(),Q(m,20)===2){let g=i.value.find(y=>{var f;return y.element===((f=q(y.element))==null?void 0:f.activeElement)});g&&h.change(g.propsRef.value)}break;case" ":{p.preventDefault(),p.stopPropagation();let c=i.value.find(g=>{var y;return g.element===((y=q(g.element))==null?void 0:y.activeElement)});c&&h.change(c.propsRef.value)}break}}let S=(0,A.computed)(()=>{var p;return(p=v(o))==null?void 0:p.closest("form")});return(0,A.onMounted)(()=>{(0,A.watch)([S],()=>{if(!S.value||t.defaultValue===void 0)return;function p(){h.change(t.defaultValue)}return S.value.addEventListener("reset",p),()=>{var m;(m=S.value)==null||m.removeEventListener("reset",p)}},{immediate:!0})}),()=>{let{disabled:p,name:m,id:c,form:g,...y}=t,f={ref:o,id:c,role:"radiogroup","aria-labelledby":a.value,"aria-describedby":s.value,onKeydown:b};return(0,A.h)(A.Fragment,[...m!=null&&d.value!=null?Oe({[m]:d.value}).map(([T,x])=>(0,A.h)(X,ye({features:4,key:T,as:"input",type:"hidden",hidden:!0,readOnly:!0,form:g,disabled:p,name:T,value:x}))):[],M({ourProps:f,theirProps:{...n,...re(y,["modelValue","defaultValue","by"])},slot:{},attrs:n,slots:r,name:"RadioGroup"})])}}});var Tl=(0,A.defineComponent)({name:"RadioGroupOption",props:{as:{type:[Object,String],default:"div"},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1},id:{type:String,default:()=>`headlessui-radiogroup-option-${j()}`}},setup(t,{attrs:l,slots:n,expose:r}){let e=no("RadioGroupOption"),o=et({name:"RadioGroupLabel"}),i=Me({name:"RadioGroupDescription"}),a=(0,A.ref)(null),s=(0,A.computed)(()=>({value:t.value,disabled:t.disabled})),d=(0,A.ref)(1);r({el:a,$el:a});let u=(0,A.computed)(()=>v(a));(0,A.onMounted)(()=>e.registerOption({id:t.id,element:u,propsRef:s})),(0,A.onUnmounted)(()=>e.unregisterOption(t.id));let h=(0,A.computed)(()=>{var y;return((y=e.firstOption.value)==null?void 0:y.id)===t.id}),b=(0,A.computed)(()=>e.disabled.value||t.disabled),S=(0,A.computed)(()=>e.compare((0,A.toRaw)(e.value.value),(0,A.toRaw)(t.value))),p=(0,A.computed)(()=>b.value?-1:S.value||!e.containsCheckedOption.value&&h.value?0:-1);function m(){var y;e.change(t.value)&&(d.value|=2,(y=v(a))==null||y.focus())}function c(){d.value|=2}function g(){d.value&=-3}return()=>{let{id:y,value:f,disabled:T,...x}=t,O={checked:S.value,disabled:b.value,active:!!(d.value&2)},P={id:y,ref:a,role:"radio","aria-checked":S.value?"true":"false","aria-labelledby":o.value,"aria-describedby":i.value,"aria-disabled":b.value?!0:void 0,tabIndex:p.value,onClick:b.value?void 0:m,onFocus:b.value?void 0:c,onBlur:b.value?void 0:g};return M({ourProps:P,theirProps:x,slot:O,attrs:l,slots:n,name:"RadioGroupOption"})}}}),El=Et,Rl=$e;var Y=require("vue");var oo=Symbol("GroupContext"),Ol=(0,Y.defineComponent)({name:"SwitchGroup",props:{as:{type:[Object,String],default:"template"}},setup(t,{slots:l,attrs:n}){let r=(0,Y.ref)(null),e=et({name:"SwitchLabel",props:{htmlFor:(0,Y.computed)(()=>{var a;return(a=r.value)==null?void 0:a.id}),onClick(a){r.value&&(a.currentTarget.tagName==="LABEL"&&a.preventDefault(),r.value.click(),r.value.focus({preventScroll:!0}))}}}),o=Me({name:"SwitchDescription"});return(0,Y.provide)(oo,{switchRef:r,labelledby:e,describedby:o}),()=>M({theirProps:t,ourProps:{},slot:{},slots:l,attrs:n,name:"SwitchGroup"})}}),wl=(0,Y.defineComponent)({name:"Switch",emits:{"update:modelValue":t=>!0},props:{as:{type:[Object,String],default:"button"},modelValue:{type:Boolean,default:void 0},defaultChecked:{type:Boolean,optional:!0},form:{type:String,optional:!0},name:{type:String,optional:!0},value:{type:String,optional:!0},id:{type:String,default:()=>`headlessui-switch-${j()}`},disabled:{type:Boolean,default:!1},tabIndex:{type:Number,default:0}},inheritAttrs:!1,setup(t,{emit:l,attrs:n,slots:r,expose:e}){let o=(0,Y.inject)(oo,null),[i,a]=ge((0,Y.computed)(()=>t.modelValue),c=>l("update:modelValue",c),(0,Y.computed)(()=>t.defaultChecked));function s(){a(!i.value)}let d=(0,Y.ref)(null),u=o===null?d:o.switchRef,h=ie((0,Y.computed)(()=>({as:t.as,type:n.type})),u);e({el:u,$el:u});function b(c){c.preventDefault(),s()}function S(c){c.key===" "?(c.preventDefault(),s()):c.key==="Enter"&&dt(c.currentTarget)}function p(c){c.preventDefault()}let m=(0,Y.computed)(()=>{var c,g;return(g=(c=v(u))==null?void 0:c.closest)==null?void 0:g.call(c,"form")});return(0,Y.onMounted)(()=>{(0,Y.watch)([m],()=>{if(!m.value||t.defaultChecked===void 0)return;function c(){a(t.defaultChecked)}return m.value.addEventListener("reset",c),()=>{var g;(g=m.value)==null||g.removeEventListener("reset",c)}},{immediate:!0})}),()=>{let{id:c,name:g,value:y,form:f,tabIndex:T,...x}=t,O={checked:i.value},P={id:c,ref:u,role:"switch",type:h.value,tabIndex:T===-1?0:T,"aria-checked":i.value,"aria-labelledby":o==null?void 0:o.labelledby.value,"aria-describedby":o==null?void 0:o.describedby.value,onClick:b,onKeyup:S,onKeypress:p};return(0,Y.h)(Y.Fragment,[g!=null&&i.value!=null?(0,Y.h)(X,ye({features:4,as:"input",type:"checkbox",hidden:!0,readOnly:!0,checked:i.value,form:f,disabled:x.disabled,name:g,value:y})):null,M({ourProps:P,theirProps:{...n,...re(x,["modelValue","defaultChecked"])},slot:O,attrs:n,slots:r,name:"Switch"})])}}}),Cl=Et,Pl=$e;var F=require("vue");var We=require("vue");var lo=(0,We.defineComponent)({props:{onFocus:{type:Function,required:!0}},setup(t){let l=(0,We.ref)(!0);return()=>l.value?(0,We.h)(X,{as:"button",type:"button",features:2,onFocus(n){n.preventDefault();let r,e=50;function o(){var i;if(e--<=0){r&&cancelAnimationFrame(r);return}if((i=t.onFocus)!=null&&i.call(t)){l.value=!1,cancelAnimationFrame(r);return}r=requestAnimationFrame(o)}r=requestAnimationFrame(o)}}):null}});var ro=Symbol("TabsContext");function tt(t){let l=(0,F.inject)(ro,null);if(l===null){let n=new Error(`<${t} /> is missing a parent <TabGroup /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,tt),n}return l}var Bt=Symbol("TabsSSRContext"),Il=(0,F.defineComponent)({name:"TabGroup",emits:{change:t=>!0},props:{as:{type:[Object,String],default:"template"},selectedIndex:{type:[Number],default:null},defaultIndex:{type:[Number],default:0},vertical:{type:[Boolean],default:!1},manual:{type:[Boolean],default:!1}},inheritAttrs:!1,setup(t,{slots:l,attrs:n,emit:r}){var p;let e=(0,F.ref)((p=t.selectedIndex)!=null?p:t.defaultIndex),o=(0,F.ref)([]),i=(0,F.ref)([]),a=(0,F.computed)(()=>t.selectedIndex!==null),s=(0,F.computed)(()=>a.value?t.selectedIndex:e.value);function d(m){var f;let c=le(u.tabs.value,v),g=le(u.panels.value,v),y=c.filter(T=>{var x;return!((x=v(T))!=null&&x.hasAttribute("disabled"))});if(m<0||m>c.length-1){let T=H(e.value===null?0:Math.sign(m-e.value),{[-1]:()=>1,[0]:()=>H(Math.sign(m),{[-1]:()=>0,[0]:()=>0,[1]:()=>1}),[1]:()=>0}),x=H(T,{[0]:()=>c.indexOf(y[0]),[1]:()=>c.indexOf(y[y.length-1])});x!==-1&&(e.value=x),u.tabs.value=c,u.panels.value=g}else{let T=c.slice(0,m),O=[...c.slice(m),...T].find(R=>y.includes(R));if(!O)return;let P=(f=c.indexOf(O))!=null?f:u.selectedIndex.value;P===-1&&(P=u.selectedIndex.value),e.value=P,u.tabs.value=c,u.panels.value=g}}let u={selectedIndex:(0,F.computed)(()=>{var m,c;return(c=(m=e.value)!=null?m:t.defaultIndex)!=null?c:null}),orientation:(0,F.computed)(()=>t.vertical?"vertical":"horizontal"),activation:(0,F.computed)(()=>t.manual?"manual":"auto"),tabs:o,panels:i,setSelectedIndex(m){s.value!==m&&r("change",m),a.value||d(m)},registerTab(m){var g;if(o.value.includes(m))return;let c=o.value[e.value];if(o.value.push(m),o.value=le(o.value,v),!a.value){let y=(g=o.value.indexOf(c))!=null?g:e.value;y!==-1&&(e.value=y)}},unregisterTab(m){let c=o.value.indexOf(m);c!==-1&&o.value.splice(c,1)},registerPanel(m){i.value.includes(m)||(i.value.push(m),i.value=le(i.value,v))},unregisterPanel(m){let c=i.value.indexOf(m);c!==-1&&i.value.splice(c,1)}};(0,F.provide)(ro,u);let h=(0,F.ref)({tabs:[],panels:[]}),b=(0,F.ref)(!1);(0,F.onMounted)(()=>{b.value=!0}),(0,F.provide)(Bt,(0,F.computed)(()=>b.value?null:h.value));let S=(0,F.computed)(()=>t.selectedIndex);return(0,F.onMounted)(()=>{(0,F.watch)([S],()=>{var m;return d((m=t.selectedIndex)!=null?m:t.defaultIndex)},{immediate:!0})}),(0,F.watchEffect)(()=>{if(!a.value||s.value==null||u.tabs.value.length<=0)return;let m=le(u.tabs.value,v);m.some((g,y)=>v(u.tabs.value[y])!==v(g))&&u.setSelectedIndex(m.findIndex(g=>v(g)===v(u.tabs.value[s.value])))}),()=>{let m={selectedIndex:e.value};return(0,F.h)(F.Fragment,[o.value.length<=0&&(0,F.h)(lo,{onFocus:()=>{for(let c of o.value){let g=v(c);if((g==null?void 0:g.tabIndex)===0)return g.focus(),!0}return!1}}),M({theirProps:{...n,...re(t,["selectedIndex","defaultIndex","manual","vertical","onChange"])},ourProps:{},slot:m,slots:l,attrs:n,name:"TabGroup"})])}}}),Ml=(0,F.defineComponent)({name:"TabList",props:{as:{type:[Object,String],default:"div"}},setup(t,{attrs:l,slots:n}){let r=tt("TabList");return()=>{let e={selectedIndex:r.selectedIndex.value},o={role:"tablist","aria-orientation":r.orientation.value};return M({ourProps:o,theirProps:t,slot:e,attrs:l,slots:n,name:"TabList"})}}}),Dl=(0,F.defineComponent)({name:"Tab",props:{as:{type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String,default:()=>`headlessui-tabs-tab-${j()}`}},setup(t,{attrs:l,slots:n,expose:r}){let e=tt("Tab"),o=(0,F.ref)(null);r({el:o,$el:o}),(0,F.onMounted)(()=>e.registerTab(o)),(0,F.onUnmounted)(()=>e.unregisterTab(o));let i=(0,F.inject)(Bt),a=(0,F.computed)(()=>{if(i.value){let c=i.value.tabs.indexOf(t.id);return c===-1?i.value.tabs.push(t.id)-1:c}return-1}),s=(0,F.computed)(()=>{let c=e.tabs.value.indexOf(o);return c===-1?a.value:c}),d=(0,F.computed)(()=>s.value===e.selectedIndex.value);function u(c){var y;let g=c();if(g===2&&e.activation.value==="auto"){let f=(y=q(o))==null?void 0:y.activeElement,T=e.tabs.value.findIndex(x=>v(x)===f);T!==-1&&e.setSelectedIndex(T)}return g}function h(c){let g=e.tabs.value.map(f=>v(f)).filter(Boolean);if(c.key===" "||c.key==="Enter"){c.preventDefault(),c.stopPropagation(),e.setSelectedIndex(s.value);return}switch(c.key){case"Home":case"PageUp":return c.preventDefault(),c.stopPropagation(),u(()=>Q(g,1));case"End":case"PageDown":return c.preventDefault(),c.stopPropagation(),u(()=>Q(g,8))}if(u(()=>H(e.orientation.value,{vertical(){return c.key==="ArrowUp"?Q(g,18):c.key==="ArrowDown"?Q(g,20):0},horizontal(){return c.key==="ArrowLeft"?Q(g,18):c.key==="ArrowRight"?Q(g,20):0}}))===2)return c.preventDefault()}let b=(0,F.ref)(!1);function S(){var c;b.value||(b.value=!0,!t.disabled&&((c=v(o))==null||c.focus({preventScroll:!0}),e.setSelectedIndex(s.value),Ee(()=>{b.value=!1})))}function p(c){c.preventDefault()}let m=ie((0,F.computed)(()=>({as:t.as,type:l.type})),o);return()=>{var T,x;let c={selected:d.value,disabled:(T=t.disabled)!=null?T:!1},{id:g,...y}=t,f={ref:o,onKeydown:h,onMousedown:p,onClick:S,id:g,role:"tab",type:m.value,"aria-controls":(x=v(e.panels.value[s.value]))==null?void 0:x.id,"aria-selected":d.value,tabIndex:d.value?0:-1,disabled:t.disabled?!0:void 0};return M({ourProps:f,theirProps:y,slot:c,attrs:l,slots:n,name:"Tab"})}}}),Ll=(0,F.defineComponent)({name:"TabPanels",props:{as:{type:[Object,String],default:"div"}},setup(t,{slots:l,attrs:n}){let r=tt("TabPanels");return()=>{let e={selectedIndex:r.selectedIndex.value};return M({theirProps:t,ourProps:{},slot:e,attrs:n,slots:l,name:"TabPanels"})}}}),Fl=(0,F.defineComponent)({name:"TabPanel",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:()=>`headlessui-tabs-panel-${j()}`},tabIndex:{type:Number,default:0}},setup(t,{attrs:l,slots:n,expose:r}){let e=tt("TabPanel"),o=(0,F.ref)(null);r({el:o,$el:o}),(0,F.onMounted)(()=>e.registerPanel(o)),(0,F.onUnmounted)(()=>e.unregisterPanel(o));let i=(0,F.inject)(Bt),a=(0,F.computed)(()=>{if(i.value){let u=i.value.panels.indexOf(t.id);return u===-1?i.value.panels.push(t.id)-1:u}return-1}),s=(0,F.computed)(()=>{let u=e.panels.value.indexOf(o);return u===-1?a.value:u}),d=(0,F.computed)(()=>s.value===e.selectedIndex.value);return()=>{var m;let u={selected:d.value},{id:h,tabIndex:b,...S}=t,p={ref:o,id:h,role:"tabpanel","aria-labelledby":(m=v(e.tabs.value[s.value]))==null?void 0:m.id,tabIndex:d.value?b:-1};return!d.value&&t.unmount&&!t.static?(0,F.h)(X,{as:"span","aria-hidden":!0,...p}):M({ourProps:p,theirProps:S,slot:u,attrs:l,slots:n,features:3,visible:d.value,name:"TabPanel"})}}});var N=require("vue");function io(t){let l={called:!1};return(...n)=>{if(!l.called)return l.called=!0,t(...n)}}function Vt(t,...l){t&&l.length>0&&t.classList.add(...l)}function Rt(t,...l){t&&l.length>0&&t.classList.remove(...l)}function kl(t,l){let n=ue();if(!t)return n.dispose;let{transitionDuration:r,transitionDelay:e}=getComputedStyle(t),[o,i]=[r,e].map(a=>{let[s=0]=a.split(",").filter(Boolean).map(d=>d.includes("ms")?parseFloat(d):parseFloat(d)*1e3).sort((d,u)=>u-d);return s});return o!==0?n.setTimeout(()=>l("finished"),o+i):l("finished"),n.add(()=>l("cancelled")),n.dispose}function Kt(t,l,n,r,e,o){let i=ue(),a=o!==void 0?io(o):()=>{};return Rt(t,...e),Vt(t,...l,...n),i.nextFrame(()=>{Rt(t,...n),Vt(t,...r),i.add(kl(t,s=>(Rt(t,...r,...l),Vt(t,...e),a(s))))}),i.add(()=>Rt(t,...l,...n,...r,...e)),i.add(()=>a("cancelled")),i.dispose}function De(t=""){return t.split(/\s+/).filter(l=>l.length>1)}var _t=Symbol("TransitionContext");function Hl(){return(0,N.inject)(_t,null)!==null}function Al(){let t=(0,N.inject)(_t,null);if(t===null)throw new Error("A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.");return t}function jl(){let t=(0,N.inject)($t,null);if(t===null)throw new Error("A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.");return t}var $t=Symbol("NestingContext");function Ot(t){return"children"in t?Ot(t.children):t.value.filter(({state:l})=>l==="visible").length>0}function ao(t){let l=(0,N.ref)([]),n=(0,N.ref)(!1);(0,N.onMounted)(()=>n.value=!0),(0,N.onUnmounted)(()=>n.value=!1);function r(o,i=1){let a=l.value.findIndex(({id:s})=>s===o);a!==-1&&(H(i,{[0](){l.value.splice(a,1)},[1](){l.value[a].state="hidden"}}),!Ot(l)&&n.value&&(t==null||t()))}function e(o){let i=l.value.find(({id:a})=>a===o);return i?i.state!=="visible"&&(i.state="visible"):l.value.push({id:o,state:"visible"}),()=>r(o,0)}return{children:l,register:e,unregister:r}}var uo=1,so=(0,N.defineComponent)({props:{as:{type:[Object,String],default:"div"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:""},enterFrom:{type:[String],default:""},enterTo:{type:[String],default:""},entered:{type:[String],default:""},leave:{type:[String],default:""},leaveFrom:{type:[String],default:""},leaveTo:{type:[String],default:""}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(t,{emit:l,attrs:n,slots:r,expose:e}){let o=(0,N.ref)(0);function i(){o.value|=8,l("beforeEnter")}function a(){o.value&=-9,l("afterEnter")}function s(){o.value|=4,l("beforeLeave")}function d(){o.value&=-5,l("afterLeave")}if(!Hl()&&bn())return()=>(0,N.h)(fo,{...t,onBeforeEnter:i,onAfterEnter:a,onBeforeLeave:s,onAfterLeave:d},r);let u=(0,N.ref)(null),h=(0,N.computed)(()=>t.unmount?0:1);e({el:u,$el:u});let{show:b,appear:S}=Al(),{register:p,unregister:m}=jl(),c=(0,N.ref)(b.value?"visible":"hidden"),g={value:!0},y=j(),f={value:!1},T=ao(()=>{!f.value&&c.value!=="hidden"&&(c.value="hidden",m(y),d())});(0,N.onMounted)(()=>{let k=p(y);(0,N.onUnmounted)(k)}),(0,N.watchEffect)(()=>{if(h.value===1&&y){if(b.value&&c.value!=="visible"){c.value="visible";return}H(c.value,{["hidden"]:()=>m(y),["visible"]:()=>p(y)})}});let x=De(t.enter),O=De(t.enterFrom),P=De(t.enterTo),R=De(t.entered),U=De(t.leave),w=De(t.leaveFrom),L=De(t.leaveTo);(0,N.onMounted)(()=>{(0,N.watchEffect)(()=>{if(c.value==="visible"){let k=v(u);if(k instanceof Comment&&k.data==="")throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?")}})});function B(k){let $=g.value&&!S.value,K=v(u);!K||!(K instanceof HTMLElement)||$||(f.value=!0,b.value&&i(),b.value||s(),k(b.value?Kt(K,x,O,P,R,J=>{f.value=!1,J==="finished"&&a()}):Kt(K,U,w,L,R,J=>{f.value=!1,J==="finished"&&(Ot(T)||(c.value="hidden",m(y),d()))})))}return(0,N.onMounted)(()=>{(0,N.watch)([b],(k,$,K)=>{B(K),g.value=!1},{immediate:!0})}),(0,N.provide)($t,T),de((0,N.computed)(()=>H(c.value,{["visible"]:1,["hidden"]:2})|o.value)),()=>{let{appear:k,show:$,enter:K,enterFrom:J,enterTo:xe,entered:he,leave:Ue,leaveFrom:G,leaveTo:Z,...ae}=t,se={ref:u},ze={...ae,...S.value&&b.value&&ce.isServer?{class:(0,N.normalizeClass)([n.class,ae.class,...x,...O])}:{}};return M({theirProps:ze,ourProps:se,slot:{},slots:r,attrs:n,features:uo,visible:c.value==="visible",name:"TransitionChild"})}}}),Nl=so,fo=(0,N.defineComponent)({inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:""},enterFrom:{type:[String],default:""},enterTo:{type:[String],default:""},entered:{type:[String],default:""},leave:{type:[String],default:""},leaveFrom:{type:[String],default:""},leaveTo:{type:[String],default:""}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(t,{emit:l,attrs:n,slots:r}){let e=ne(),o=(0,N.computed)(()=>t.show===null&&e!==null?(e.value&1)===1:t.show);(0,N.watchEffect)(()=>{if(![!0,!1].includes(o.value))throw new Error('A <Transition /> is used but it is missing a `:show="true | false"` prop.')});let i=(0,N.ref)(o.value?"visible":"hidden"),a=ao(()=>{i.value="hidden"}),s=(0,N.ref)(!0),d={show:o,appear:(0,N.computed)(()=>t.appear||!s.value)};return(0,N.onMounted)(()=>{(0,N.watchEffect)(()=>{s.value=!1,o.value?i.value="visible":Ot(a)||(i.value="hidden")})}),(0,N.provide)($t,a),(0,N.provide)(_t,d),()=>{let u=re(t,["show","appear","unmount","onBeforeEnter","onBeforeLeave","onAfterEnter","onAfterLeave"]),h={unmount:t.unmount};return M({ourProps:{...h,as:"template"},theirProps:{},slot:{},slots:{...r,default:()=>[(0,N.h)(Nl,{onBeforeEnter:()=>l("beforeEnter"),onAfterEnter:()=>l("afterEnter"),onBeforeLeave:()=>l("beforeLeave"),onAfterLeave:()=>l("afterLeave"),...n,...h,...u},r.default)]},attrs:{},features:uo,visible:i.value==="visible",name:"Transition"})}}});
@@ -0,0 +1 @@
1
+ export declare function useId(): number;
@@ -0,0 +1,2 @@
1
+ import type { ScrollLockStep } from './overflow-store.js';
2
+ export declare function adjustScrollbarPadding(): ScrollLockStep;
@@ -0,0 +1 @@
1
+ function d(){let r;return{before({doc:e}){var l;let o=e.documentElement,t=(l=e.defaultView)!=null?l:window;r=Math.max(0,t.innerWidth-o.clientWidth)},after({doc:e,d:o}){let t=e.documentElement,l=Math.max(0,t.clientWidth-t.offsetWidth),n=Math.max(0,r-l);o.style(t,"paddingRight",`${n}px`)}}}export{d as adjustScrollbarPadding};
@@ -0,0 +1,6 @@
1
+ import type { ScrollLockStep } from './overflow-store.js';
2
+ interface ContainerMetadata {
3
+ containers: (() => HTMLElement[])[];
4
+ }
5
+ export declare function handleIOSLocking(): ScrollLockStep<ContainerMetadata>;
6
+ export {};
@@ -0,0 +1 @@
1
+ import{disposables as m}from'../../utils/disposables.js';import{isIOS as u}from'../../utils/platform.js';function d(){return u()?{before({doc:r,d:n,meta:c}){function o(a){return c.containers.flatMap(l=>l()).some(l=>l.contains(a))}n.microTask(()=>{var s;if(window.getComputedStyle(r.documentElement).scrollBehavior!=="auto"){let t=m();t.style(r.documentElement,"scrollBehavior","auto"),n.add(()=>n.microTask(()=>t.dispose()))}let a=(s=window.scrollY)!=null?s:window.pageYOffset,l=null;n.addEventListener(r,"click",t=>{if(t.target instanceof HTMLElement)try{let e=t.target.closest("a");if(!e)return;let{hash:f}=new URL(e.href),i=r.querySelector(f);i&&!o(i)&&(l=i)}catch{}},!0),n.addEventListener(r,"touchstart",t=>{if(t.target instanceof HTMLElement)if(o(t.target)){let e=t.target;for(;e.parentElement&&o(e.parentElement);)e=e.parentElement;n.style(e,"overscrollBehavior","contain")}else n.style(t.target,"touchAction","none")}),n.addEventListener(r,"touchmove",t=>{if(t.target instanceof HTMLElement){if(t.target.tagName==="INPUT")return;if(o(t.target)){let e=t.target;for(;e.parentElement&&e.dataset.headlessuiPortal!==""&&!(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth);)e=e.parentElement;e.dataset.headlessuiPortal===""&&t.preventDefault()}else t.preventDefault()}},{passive:!1}),n.add(()=>{var e;let t=(e=window.scrollY)!=null?e:window.pageYOffset;a!==t&&window.scrollTo(0,a),l&&l.isConnected&&(l.scrollIntoView({block:"nearest"}),l=null)})})}}:{}}export{d as handleIOSLocking};
@@ -0,0 +1,19 @@
1
+ import { type Disposables } from '../../utils/disposables.js';
2
+ interface DocEntry {
3
+ doc: Document;
4
+ count: number;
5
+ d: Disposables;
6
+ meta: Set<MetaFn>;
7
+ }
8
+ export type MetaFn = (meta: Record<string, any>) => Record<string, any>;
9
+ export interface Context<MetaType extends Record<string, any> = any> {
10
+ doc: Document;
11
+ d: Disposables;
12
+ meta: MetaType;
13
+ }
14
+ export interface ScrollLockStep<MetaType extends Record<string, any> = any> {
15
+ before?(ctx: Context<MetaType>): void;
16
+ after?(ctx: Context<MetaType>): void;
17
+ }
18
+ export declare let overflows: import('../../utils/store.js').Store<Map<Document, DocEntry>, "PUSH" | "POP" | "SCROLL_PREVENT" | "SCROLL_ALLOW" | "TEARDOWN">;
19
+ export {};
@@ -0,0 +1 @@
1
+ import{disposables as s}from'../../utils/disposables.js';import{createStore as i}from'../../utils/store.js';import{adjustScrollbarPadding as l}from'./adjust-scrollbar-padding.js';import{handleIOSLocking as d}from'./handle-ios-locking.js';import{preventScroll as p}from'./prevent-scroll.js';function m(e){let n={};for(let t of e)Object.assign(n,t(n));return n}let a=i(()=>new Map,{PUSH(e,n){var o;let t=(o=this.get(e))!=null?o:{doc:e,count:0,d:s(),meta:new Set};return t.count++,t.meta.add(n),this.set(e,t),this},POP(e,n){let t=this.get(e);return t&&(t.count--,t.meta.delete(n)),this},SCROLL_PREVENT({doc:e,d:n,meta:t}){let o={doc:e,d:n,meta:m(t)},c=[d(),l(),p()];c.forEach(({before:r})=>r==null?void 0:r(o)),c.forEach(({after:r})=>r==null?void 0:r(o))},SCROLL_ALLOW({d:e}){e.dispose()},TEARDOWN({doc:e}){this.delete(e)}});a.subscribe(()=>{let e=a.getSnapshot(),n=new Map;for(let[t]of e)n.set(t,t.documentElement.style.overflow);for(let t of e.values()){let o=n.get(t.doc)==="hidden",c=t.count!==0;(c&&!o||!c&&o)&&a.dispatch(t.count>0?"SCROLL_PREVENT":"SCROLL_ALLOW",t),t.count===0&&a.dispatch("TEARDOWN",t)}});export{a as overflows};
@@ -0,0 +1,2 @@
1
+ import type { ScrollLockStep } from './overflow-store.js';
2
+ export declare function preventScroll(): ScrollLockStep;
@@ -0,0 +1 @@
1
+ function r(){return{before({doc:e,d:o}){o.style(e.documentElement,"overflow","hidden")}}}export{r as preventScroll};
@@ -0,0 +1,3 @@
1
+ import { type Ref } from 'vue';
2
+ import { type MetaFn } from './overflow-store.js';
3
+ export declare function useDocumentOverflowLockedEffect(doc: Ref<Document | null>, shouldBeLocked: Ref<boolean>, meta: MetaFn): import("vue").ComputedRef<boolean>;
@@ -0,0 +1 @@
1
+ import{computed as o,watch as s}from"vue";import{useStore as v}from'../../hooks/use-store.js';import{overflows as u}from'./overflow-store.js';function w(t,a,n){let i=v(u),l=o(()=>{let e=t.value?i.value.get(t.value):void 0;return e?e.count>0:!1});return s([t,a],([e,m],[r],p)=>{if(!e||!m)return;u.dispatch("PUSH",e,n);let f=!1;p(()=>{f||(u.dispatch("POP",r!=null?r:e,n),f=!0)})},{immediate:!0}),l}export{w as useDocumentOverflowLockedEffect};
@@ -0,0 +1,2 @@
1
+ import { type ComputedRef, type UnwrapRef } from 'vue';
2
+ export declare function useControllable<T>(controlledValue: ComputedRef<T | undefined>, onChange?: (value: T) => void, defaultValue?: ComputedRef<T>): readonly [ComputedRef<T | UnwrapRef<T> | undefined>, (value: unknown) => void | undefined];
@@ -0,0 +1 @@
1
+ import{computed as f,ref as s}from"vue";function T(u,e,r){let p=s(r==null?void 0:r.value),i=f(()=>u.value!==void 0);return[f(()=>i.value?u.value:p.value),function(t){return i.value||(p.value=t),e==null?void 0:e(t)}]}export{T as useControllable};
@@ -0,0 +1,25 @@
1
+ /**
2
+ * The `useDisposables` hook returns a `disposables` object that is disposed
3
+ * when the component is unmounted.
4
+ */
5
+ export declare function useDisposables(): {
6
+ addEventListener<TEventName extends keyof WindowEventMap>(element: Window | HTMLElement | Document, name: TEventName, listener: (event: WindowEventMap[TEventName]) => any, options?: boolean | AddEventListenerOptions | undefined): () => void;
7
+ requestAnimationFrame(callback: FrameRequestCallback): void;
8
+ nextFrame(callback: FrameRequestCallback): void;
9
+ setTimeout(callback: (...args: any[]) => void, ms?: number | undefined, ...args: any[]): void;
10
+ microTask(cb: () => void): () => void;
11
+ style(node: HTMLElement, property: string, value: string): () => void;
12
+ group(cb: (d: {
13
+ addEventListener<TEventName extends keyof WindowEventMap>(element: Window | HTMLElement | Document, name: TEventName, listener: (event: WindowEventMap[TEventName]) => any, options?: boolean | AddEventListenerOptions | undefined): () => void;
14
+ requestAnimationFrame(callback: FrameRequestCallback): void;
15
+ nextFrame(callback: FrameRequestCallback): void;
16
+ setTimeout(callback: (...args: any[]) => void, ms?: number | undefined, ...args: any[]): void;
17
+ microTask(cb: () => void): () => void;
18
+ style(node: HTMLElement, property: string, value: string): () => void;
19
+ group(cb: any): () => void;
20
+ add(cb: () => void): () => void;
21
+ dispose(): void;
22
+ }) => void): () => void;
23
+ add(cb: () => void): () => void;
24
+ dispose(): void;
25
+ };
@@ -0,0 +1 @@
1
+ import{onUnmounted as s}from"vue";import{disposables as e}from'../utils/disposables.js';function i(){let o=e();return s(()=>o.dispose()),o}export{i as useDisposables};
@@ -0,0 +1,2 @@
1
+ import { type Ref } from 'vue';
2
+ export declare function useDocumentEvent<TType extends keyof DocumentEventMap>(enabled: Ref<boolean>, type: TType, listener: (this: Document, ev: DocumentEventMap[TType]) => any, options?: boolean | AddEventListenerOptions): void;
@@ -0,0 +1 @@
1
+ import{watchEffect as m}from"vue";import{env as u}from'../utils/env.js';function c(o,e,t,n){u.isServer||m(r=>{o.value&&(document.addEventListener(e,t,n),r(()=>document.removeEventListener(e,t,n)))})}export{c as useDocumentEvent};
@@ -0,0 +1 @@
1
+ export declare function useEventListener<TType extends keyof WindowEventMap>(element: HTMLElement | Document | Window | EventTarget | null | undefined, type: TType, listener: (event: WindowEventMap[TType]) => any, options?: boolean | AddEventListenerOptions): void;
@@ -0,0 +1 @@
1
+ import{watchEffect as i}from"vue";import{env as a}from'../utils/env.js';function E(n,e,o,r){a.isServer||i(t=>{n=n!=null?n:window,n.addEventListener(e,o,r),t(()=>n.removeEventListener(e,o,r))})}export{E as useEventListener};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Schedule some task in the next frame.
3
+ *
4
+ * - If you call the returned function multiple times, only the last task will
5
+ * be executed.
6
+ * - If the component is unmounted, the task will be cancelled.
7
+ */
8
+ export declare function useFrameDebounce(): (cb: () => void) => void;
@@ -0,0 +1 @@
1
+ import{useDisposables as r}from'./use-disposables.js';function t(){let e=r();return o=>{e.dispose(),e.nextFrame(o)}}export{t as useFrameDebounce};
@@ -0,0 +1 @@
1
+ export declare function useId(): number;
@@ -0,0 +1 @@
1
+ let e=0;function n(){return++e}function t(){return n()}export{t as useId};
@@ -0,0 +1,2 @@
1
+ import { type Ref } from 'vue';
2
+ export declare function useInert<TElement extends HTMLElement>(node: Ref<TElement | null>, enabled?: Ref<boolean>): void;
@@ -0,0 +1 @@
1
+ import{ref as m,watchEffect as s}from"vue";import{dom as h}from'../utils/dom.js';let i=new Map,t=new Map;function p(d,f=m(!0)){s(o=>{var a;if(!f.value)return;let e=h(d);if(!e)return;o(function(){var u;if(!e)return;let r=(u=t.get(e))!=null?u:1;if(r===1?t.delete(e):t.set(e,r-1),r!==1)return;let n=i.get(e);n&&(n["aria-hidden"]===null?e.removeAttribute("aria-hidden"):e.setAttribute("aria-hidden",n["aria-hidden"]),e.inert=n.inert,i.delete(e))});let l=(a=t.get(e))!=null?a:0;t.set(e,l+1),l===0&&(i.set(e,{"aria-hidden":e.getAttribute("aria-hidden"),inert:e.inert}),e.setAttribute("aria-hidden","true"),e.inert=!0)})}export{p as useInert};
@@ -0,0 +1,6 @@
1
+ import { type ComputedRef, type Ref } from 'vue';
2
+ type Container = Ref<HTMLElement | null> | HTMLElement | null;
3
+ type ContainerCollection = Container[] | Set<Container>;
4
+ type ContainerInput = Container | ContainerCollection;
5
+ export declare function useOutsideClick(containers: ContainerInput | (() => ContainerInput), cb: (event: MouseEvent | PointerEvent | FocusEvent | TouchEvent, target: HTMLElement) => void, enabled?: ComputedRef<boolean>): void;
6
+ export {};
@@ -0,0 +1 @@
1
+ import{computed as p,ref as d}from"vue";import{dom as C}from'../utils/dom.js';import{FocusableMode as h,isFocusableElement as T}from'../utils/focus-management.js';import{isMobile as M}from'../utils/platform.js';import{useDocumentEvent as l}from'./use-document-event.js';import{useWindowEvent as y}from'./use-window-event.js';const f=30;function R(s,m,r=p(()=>!0)){function c(t,o){if(t.defaultPrevented)return;let e=o(t);if(e===null||!e.getRootNode().contains(e))return;let E=function u(n){return typeof n=="function"?u(n()):Array.isArray(n)||n instanceof Set?n:[n]}(s);for(let u of E){if(u===null)continue;let n=u instanceof HTMLElement?u:C(u);if(n!=null&&n.contains(e)||t.composed&&t.composedPath().includes(n))return}return!T(e,h.Loose)&&e.tabIndex!==-1&&t.preventDefault(),m(t,e)}let i=d(null);l(r,"pointerdown",t=>{var o,e;i.value=((e=(o=t.composedPath)==null?void 0:o.call(t))==null?void 0:e[0])||t.target},!0),l(r,"mousedown",t=>{var o,e;i.value=((e=(o=t.composedPath)==null?void 0:o.call(t))==null?void 0:e[0])||t.target},!0),l(r,"click",t=>{M()||i.value&&(c(t,()=>i.value),i.value=null)},!0);let a={x:0,y:0};l(r,"touchstart",t=>{a.x=t.touches[0].clientX,a.y=t.touches[0].clientY},!0),l(r,"touchend",t=>{let o={x:t.changedTouches[0].clientX,y:t.changedTouches[0].clientY};if(!(Math.abs(o.x-a.x)>=f||Math.abs(o.y-a.y)>=f))return c(t,()=>t.target instanceof HTMLElement?t.target:null)},!0),y(r,"blur",t=>c(t,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}export{R as useOutsideClick};
@@ -0,0 +1,5 @@
1
+ import { type ComponentPublicInstance, type Ref } from 'vue';
2
+ export declare function useResolveButtonType(data: Ref<{
3
+ as: string | object;
4
+ type?: unknown;
5
+ }>, refElement: Ref<HTMLElement | ComponentPublicInstance | null>): Ref<{} | undefined>;
@@ -0,0 +1 @@
1
+ import{onMounted as i,ref as f,watchEffect as l}from"vue";import{dom as o}from'../utils/dom.js';function r(t,e){if(t)return t;let n=e!=null?e:"button";if(typeof n=="string"&&n.toLowerCase()==="button")return"button"}function s(t,e){let n=f(r(t.value.type,t.value.as));return i(()=>{n.value=r(t.value.type,t.value.as)}),l(()=>{var u;n.value||o(e)&&o(e)instanceof HTMLButtonElement&&!((u=o(e))!=null&&u.hasAttribute("type"))&&(n.value="button")}),n}export{s as useResolveButtonType};
@@ -0,0 +1,19 @@
1
+ import { type Ref } from 'vue';
2
+ export declare function useRootContainers({ defaultContainers, portals, mainTreeNodeRef: _mainTreeNodeRef, }?: {
3
+ defaultContainers?: (HTMLElement | null | Ref<HTMLElement | null>)[];
4
+ portals?: Ref<HTMLElement[]>;
5
+ mainTreeNodeRef?: Ref<HTMLElement | null>;
6
+ }): {
7
+ resolveContainers: () => HTMLElement[];
8
+ contains(element: HTMLElement): boolean;
9
+ mainTreeNodeRef: Ref<HTMLElement | null>;
10
+ MainTreeNode(): import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
11
+ [key: string]: any;
12
+ }> | null;
13
+ };
14
+ export declare function useMainTreeNode(): {
15
+ mainTreeNodeRef: Ref<HTMLElement | null>;
16
+ MainTreeNode(): import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
17
+ [key: string]: any;
18
+ }>;
19
+ };
@@ -0,0 +1 @@
1
+ import{h as m,ref as s}from"vue";import{Hidden as d,Features as c}from'../internal/hidden.js';import{dom as T}from'../utils/dom.js';import{getOwnerDocument as E}from'../utils/owner.js';function N({defaultContainers:o=[],portals:i,mainTreeNodeRef:H}={}){let t=s(null),r=E(t);function u(){var l,f,a;let n=[];for(let e of o)e!==null&&(e instanceof HTMLElement?n.push(e):"value"in e&&e.value instanceof HTMLElement&&n.push(e.value));if(i!=null&&i.value)for(let e of i.value)n.push(e);for(let e of(l=r==null?void 0:r.querySelectorAll("html > *, body > *"))!=null?l:[])e!==document.body&&e!==document.head&&e instanceof HTMLElement&&e.id!=="headlessui-portal-root"&&(e.contains(T(t))||e.contains((a=(f=T(t))==null?void 0:f.getRootNode())==null?void 0:a.host)||n.some(M=>e.contains(M))||n.push(e));return n}return{resolveContainers:u,contains(n){return u().some(l=>l.contains(n))},mainTreeNodeRef:t,MainTreeNode(){return H!=null?null:m(d,{features:c.Hidden,ref:t})}}}function v(){let o=s(null);return{mainTreeNodeRef:o,MainTreeNode(){return m(d,{features:c.Hidden,ref:o})}}}export{v as useMainTreeNode,N as useRootContainers};
@@ -0,0 +1,2 @@
1
+ import type { Store } from '../utils/store.js';
2
+ export declare function useStore<T>(store: Store<T, any>): import("vue").ShallowRef<T>;
@@ -0,0 +1 @@
1
+ import{onUnmounted as o,shallowRef as r}from"vue";function s(t){let e=r(t.getSnapshot());return o(t.subscribe(()=>{e.value=t.getSnapshot()})),e}export{s as useStore};
@@ -0,0 +1,5 @@
1
+ export declare enum Direction {
2
+ Forwards = 0,
3
+ Backwards = 1
4
+ }
5
+ export declare function useTabDirection(): import("vue").Ref<Direction>;
@@ -0,0 +1 @@
1
+ import{ref as o}from"vue";import{useWindowEvent as t}from'./use-window-event.js';var d=(r=>(r[r.Forwards=0]="Forwards",r[r.Backwards=1]="Backwards",r))(d||{});function s(){let e=o(0),a=o(!0);return t(a,"keydown",r=>{r.key==="Tab"&&(e.value=r.shiftKey?1:0)}),e}export{d as Direction,s as useTabDirection};
@@ -0,0 +1,2 @@
1
+ import { type Ref } from 'vue';
2
+ export declare function useTextValue(element: Ref<HTMLElement | null>): () => string;
@@ -0,0 +1 @@
1
+ import{ref as n}from"vue";import{dom as o}from'../utils/dom.js';import{getTextValue as i}from'../utils/get-text-value.js';function p(a){let t=n(""),r=n("");return()=>{let e=o(a);if(!e)return"";let l=e.innerText;if(t.value===l)return r.value;let u=i(e).trim().toLowerCase();return t.value=l,r.value=u,u}}export{p as useTextValue};
@@ -0,0 +1,4 @@
1
+ export declare function useTrackedPointer(): {
2
+ wasMoved(evt: PointerEvent): boolean;
3
+ update(evt: PointerEvent): void;
4
+ };
@@ -0,0 +1 @@
1
+ import{ref as o}from"vue";function r(e){return[e.screenX,e.screenY]}function u(){let e=o([-1,-1]);return{wasMoved(n){let t=r(n);return e.value[0]===t[0]&&e.value[1]===t[1]?!1:(e.value=t,!0)},update(n){e.value=r(n)}}}export{u as useTrackedPointer};
@@ -0,0 +1,9 @@
1
+ import { type ComputedRef } from 'vue';
2
+ type AcceptNode = (node: HTMLElement) => typeof NodeFilter.FILTER_ACCEPT | typeof NodeFilter.FILTER_SKIP | typeof NodeFilter.FILTER_REJECT;
3
+ export declare function useTreeWalker({ container, accept, walk, enabled, }: {
4
+ container: ComputedRef<HTMLElement | null>;
5
+ accept: AcceptNode;
6
+ walk(node: HTMLElement): void;
7
+ enabled?: ComputedRef<boolean>;
8
+ }): void;
9
+ export {};
@@ -0,0 +1 @@
1
+ import{watchEffect as p}from"vue";import{getOwnerDocument as u}from'../utils/owner.js';function i({container:e,accept:t,walk:d,enabled:o}){p(()=>{let r=e.value;if(!r||o!==void 0&&!o.value)return;let l=u(e);if(!l)return;let c=Object.assign(f=>t(f),{acceptNode:t}),n=l.createTreeWalker(r,NodeFilter.SHOW_ELEMENT,c,!1);for(;n.nextNode();)d(n.currentNode)})}export{i as useTreeWalker};
@@ -0,0 +1,2 @@
1
+ import { type Ref } from 'vue';
2
+ export declare function useWindowEvent<TType extends keyof WindowEventMap>(enabled: Ref<boolean>, type: TType, listener: (this: Window, ev: WindowEventMap[TType]) => any, options?: boolean | AddEventListenerOptions): void;
@@ -0,0 +1 @@
1
+ import{watchEffect as r}from"vue";import{env as d}from'../utils/env.js';function w(o,e,n,t){d.isServer||r(i=>{o.value&&(window.addEventListener(e,n,t),i(()=>window.removeEventListener(e,n,t)))})}export{w as useWindowEvent};
package/dist/index.cjs ADDED
@@ -0,0 +1,7 @@
1
+ 'use strict'
2
+
3
+ if (process.env.NODE_ENV === 'production') {
4
+ module.exports = require('./headlessui.prod.cjs')
5
+ } else {
6
+ module.exports = require('./headlessui.dev.cjs')
7
+ }