@forsyteco/product-ui 0.0.12 → 0.0.13

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 (68) hide show
  1. package/dist/{active-element-history-8WTtMKxs.mjs → active-element-history-B7wA4w4L.mjs} +3 -3
  2. package/dist/autocomplete/autocomplete.d.ts +87 -0
  3. package/dist/autocomplete/autocomplete.d.ts.map +1 -0
  4. package/dist/autocomplete/index.cjs +1 -0
  5. package/dist/autocomplete/index.d.ts +4 -0
  6. package/dist/autocomplete/index.d.ts.map +1 -0
  7. package/dist/autocomplete/index.mjs +4 -0
  8. package/dist/autocomplete/types.d.ts +7 -0
  9. package/dist/autocomplete/types.d.ts.map +1 -0
  10. package/dist/autocomplete-DqDP76nV.mjs +318 -0
  11. package/dist/autocomplete-DuGKfbQn.js +1 -0
  12. package/dist/{bugs-DYmg9WKH.mjs → bugs-g7aYPtcD.mjs} +1 -1
  13. package/dist/combobox/combobox.d.ts +72 -17
  14. package/dist/combobox/combobox.d.ts.map +1 -1
  15. package/dist/combobox/index.cjs +1 -1
  16. package/dist/combobox/index.d.ts +2 -1
  17. package/dist/combobox/index.d.ts.map +1 -1
  18. package/dist/combobox/index.mjs +1 -1
  19. package/dist/combobox/types.d.ts +7 -0
  20. package/dist/combobox/types.d.ts.map +1 -0
  21. package/dist/combobox-B1h2hn6a.js +4 -0
  22. package/dist/combobox-BHLjk9D9.mjs +293 -0
  23. package/dist/combobox-DxpuSWuM.js +1 -0
  24. package/dist/{combobox-DRZ8sxGR.mjs → combobox-Umb1ZW9S.mjs} +280 -344
  25. package/dist/data-table/components/table-body.d.ts.map +1 -1
  26. package/dist/{description-C6b-ESwE.mjs → description-hiFZ303Y.mjs} +2 -2
  27. package/dist/dialog/index.mjs +1 -1
  28. package/dist/{dialog-C-6Pi5T-.mjs → dialog-Cs7TMa7R.mjs} +51 -51
  29. package/dist/disclosure/index.mjs +1 -1
  30. package/dist/{disclosure-CgiX8lB0.mjs → disclosure-DOWglOHy.mjs} +8 -8
  31. package/dist/dropdown-menu/index.mjs +1 -1
  32. package/dist/{dropdown-menu-DwpPCDrX.mjs → dropdown-menu--aGYYbJi.mjs} +24 -24
  33. package/dist/{element-movement-CAOreyRd.mjs → element-movement-Bad2OqSj.mjs} +4 -4
  34. package/dist/{floating-mb7hjYae.mjs → floating-DQ2M2ViQ.mjs} +2 -2
  35. package/dist/{focus-management-C0X5l1DK.mjs → focus-management-BGuC9pKE.mjs} +2 -2
  36. package/dist/{form-fields-D0rFVvuD.mjs → form-fields-Bpp9kTvo.mjs} +2 -2
  37. package/dist/{hidden-WUbl4ULb.mjs → hidden-H5tOTsXH.mjs} +1 -1
  38. package/dist/index.cjs +1 -1
  39. package/dist/index.d.ts +3 -1
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.mjs +693 -712
  42. package/dist/{keyboard-CuA6q7Q4.mjs → keyboard-BzaAKRwG.mjs} +1 -1
  43. package/dist/{label-tilvLwqq.mjs → label--pGndX3z.mjs} +3 -3
  44. package/dist/listbox/index.mjs +1 -1
  45. package/dist/{listbox-CWLREu9B.mjs → listbox-3DAgC6_y.mjs} +25 -25
  46. package/dist/{open-closed-BIyqHUgx.mjs → open-closed-Be5nD5U2.mjs} +1 -1
  47. package/dist/popover/index.mjs +1 -1
  48. package/dist/{popover-BE9Wt1QE.mjs → popover-CZO6Afya.mjs} +14 -14
  49. package/dist/{portal-B4KDdDdR.mjs → portal-D-TZOwvF.mjs} +5 -5
  50. package/dist/radio-group/index.mjs +1 -1
  51. package/dist/{radio-group-Wd_4Fv9f.mjs → radio-group-BIQWXrVI.mjs} +10 -10
  52. package/dist/switch/index.mjs +1 -1
  53. package/dist/{switch-D_8fywrd.mjs → switch-Eoi1pTsi.mjs} +7 -7
  54. package/dist/tabs/index.mjs +1 -1
  55. package/dist/{tabs-jaKWMEjk.mjs → tabs-Cufnu60W.mjs} +6 -6
  56. package/dist/transition/index.mjs +1 -1
  57. package/dist/{transition-clsf4Zu7.mjs → transition-B4KhhkrB.mjs} +11 -11
  58. package/dist/{transition-D-ro8ipV.mjs → transition-Dfxdl8Si.mjs} +1 -1
  59. package/dist/{use-event-listener-ziBr1pYn.mjs → use-event-listener-BUA2xXRr.mjs} +1 -1
  60. package/dist/{use-inert-others-lrQ-YgM1.mjs → use-inert-others-CgSXXC-d.mjs} +3 -3
  61. package/dist/{use-is-mounted-B89CBjWK.mjs → use-is-mounted-DJc35WXO.mjs} +1 -1
  62. package/dist/{use-resolve-button-type-DgCA3-Su.mjs → use-resolve-button-type-BhmWA6Dl.mjs} +2 -2
  63. package/dist/{use-sync-refs-c_ZhZnhc.mjs → use-sync-refs-CDCE8QtA.mjs} +5 -5
  64. package/dist/{use-tab-direction-B4nIQtc0.mjs → use-tab-direction-tJsn3ckX.mjs} +7 -7
  65. package/dist/{use-text-value-OsSX5lNO.mjs → use-text-value-BKEvykNe.mjs} +2 -2
  66. package/dist/{use-tree-walker-eiJXwY3U.mjs → use-tree-walker-CHC6ccbq.mjs} +2 -2
  67. package/package.json +11 -1
  68. package/dist/combobox-D_EuLvG4.js +0 -4
@@ -1,4 +0,0 @@
1
- "use strict";const G=require("react/jsx-runtime"),m=require("react"),fe=require("./tailwind-D2U2F80P.js"),pe=require("./useFocusRing-BM96K_1O.js"),te=require("react-dom"),xe=require("./use-resolve-button-type-DDyWUJvM.js"),Ae=require("./use-by-comparator-BeV-GNRZ.js"),me=require("./form-fields-BV3kP6dg.js"),h=require("./use-sync-refs-DoZFQ57o.js"),ee=require("./floating-C1n3e5u7.js"),x=require("./element-movement-BjoSY4_c.js"),ze=require("./use-inert-others-CfJSV8X0.js"),E=require("./portal-BBLniC-d.js"),T=require("./keyboard-DFJ4Xn4Y.js"),De=require("./use-event-listener-EEU-ysaN.js"),X=require("./open-closed-Blps4pTz.js"),_e=require("./use-tree-walker-FWwHzDNC.js"),de=require("./active-element-history-BkCdrE-X.js"),we=require("./description-DhdnQHiq.js"),ge=require("./frozen-DelF1VWc.js"),ie=require("./label-BZhmBT_0.js"),Ne=require("./focus-management-DDD7qKjm.js");function Ve(t){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(s,e,o.get?o:{enumerable:!0,get:()=>t[e]})}}return s.default=t,Object.freeze(s)}const he=Ve(m);function oe(t,s,e){let o=e.initialDeps??[],n,i=!0;function l(){var r,u,a;let c;e.key&&((r=e.debug)!=null&&r.call(e))&&(c=Date.now());const S=t();if(!(S.length!==o.length||S.some((p,v)=>o[v]!==p)))return n;o=S;let f;if(e.key&&((u=e.debug)!=null&&u.call(e))&&(f=Date.now()),n=s(...S),e.key&&((a=e.debug)!=null&&a.call(e))){const p=Math.round((Date.now()-c)*100)/100,v=Math.round((Date.now()-f)*100)/100,O=v/16,P=(k,F)=>{for(k=String(k);k.length<F;)k=" "+k;return k};console.info(`%c⏱ ${P(v,5)} /${P(p,5)} ms`,`
2
- font-size: .6rem;
3
- font-weight: bold;
4
- color: hsl(${Math.max(0,Math.min(120-120*O,120))}deg 100% 31%);`,e?.key)}return e?.onChange&&!(i&&e.skipInitialOnChange)&&e.onChange(n),i=!1,n}return l.updateDeps=r=>{o=r},l}function Se(t,s){if(t===void 0)throw new Error("Unexpected undefined");return t}const Le=(t,s)=>Math.abs(t-s)<1.01,je=(t,s,e)=>{let o;return function(...n){t.clearTimeout(o),o=t.setTimeout(()=>s.apply(this,n),e)}},Oe=t=>{const{offsetWidth:s,offsetHeight:e}=t;return{width:s,height:e}},qe=t=>t,We=t=>{const s=Math.max(t.startIndex-t.overscan,0),e=Math.min(t.endIndex+t.overscan,t.count-1),o=[];for(let n=s;n<=e;n++)o.push(n);return o},Be=(t,s)=>{const e=t.scrollElement;if(!e)return;const o=t.targetWindow;if(!o)return;const n=l=>{const{width:r,height:u}=l;s({width:Math.round(r),height:Math.round(u)})};if(n(Oe(e)),!o.ResizeObserver)return()=>{};const i=new o.ResizeObserver(l=>{const r=()=>{const u=l[0];if(u?.borderBoxSize){const a=u.borderBoxSize[0];if(a){n({width:a.inlineSize,height:a.blockSize});return}}n(Oe(e))};t.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return i.observe(e,{box:"border-box"}),()=>{i.unobserve(e)}},Ee={passive:!0},ye=typeof window>"u"?!0:"onscrollend"in window,Ke=(t,s)=>{const e=t.scrollElement;if(!e)return;const o=t.targetWindow;if(!o)return;let n=0;const i=t.options.useScrollendEvent&&ye?()=>{}:je(o,()=>{s(n,!1)},t.options.isScrollingResetDelay),l=c=>()=>{const{horizontal:S,isRtl:d}=t.options;n=S?e.scrollLeft*(d&&-1||1):e.scrollTop,i(),s(n,c)},r=l(!0),u=l(!1);e.addEventListener("scroll",r,Ee);const a=t.options.useScrollendEvent&&ye;return a&&e.addEventListener("scrollend",u,Ee),()=>{e.removeEventListener("scroll",r),a&&e.removeEventListener("scrollend",u)}},Ue=(t,s,e)=>{if(s?.borderBoxSize){const o=s.borderBoxSize[0];if(o)return Math.round(o[e.options.horizontal?"inlineSize":"blockSize"])}return t[e.options.horizontal?"offsetWidth":"offsetHeight"]},He=(t,{adjustments:s=0,behavior:e},o)=>{var n,i;const l=t+s;(i=(n=o.scrollElement)==null?void 0:n.scrollTo)==null||i.call(n,{[o.options.horizontal?"left":"top"]:l,behavior:e})};class Ye{constructor(s){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.currentScrollToIndex=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let e=null;const o=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(n=>{n.forEach(i=>{const l=()=>{this._measureElement(i.target,i)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(l):l()})}));return{disconnect:()=>{var n;(n=o())==null||n.disconnect(),e=null},observe:n=>{var i;return(i=o())==null?void 0:i.observe(n,{box:"border-box"})},unobserve:n=>{var i;return(i=o())==null?void 0:i.unobserve(n)}}})(),this.range=null,this.setOptions=e=>{Object.entries(e).forEach(([o,n])=>{typeof n>"u"&&delete e[o]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:qe,rangeExtractor:We,onChange:()=>{},measureElement:Ue,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,...e}},this.notify=e=>{var o,n;(n=(o=this.options).onChange)==null||n.call(o,this,e)},this.maybeNotify=oe(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:process.env.NODE_ENV!=="production"&&"maybeNotify",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(e=>e()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var e;const o=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==o){if(this.cleanup(),!o){this.maybeNotify();return}this.scrollElement=o,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((e=this.scrollElement)==null?void 0:e.window)??null,this.elementsCache.forEach(n=>{this.observer.observe(n)}),this.unsubs.push(this.options.observeElementRect(this,n=>{this.scrollRect=n,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(n,i)=>{this.scrollAdjustments=0,this.scrollDirection=i?this.getScrollOffset()<n?"forward":"backward":null,this.scrollOffset=n,this.isScrolling=i,this.maybeNotify()})),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,o)=>{const n=new Map,i=new Map;for(let l=o-1;l>=0;l--){const r=e[l];if(n.has(r.lane))continue;const u=i.get(r.lane);if(u==null||r.end>u.end?i.set(r.lane,r):r.end<u.end&&n.set(r.lane,!0),n.size===this.options.lanes)break}return i.size===this.options.lanes?Array.from(i.values()).sort((l,r)=>l.end===r.end?l.index-r.index:l.end-r.end)[0]:void 0},this.getMeasurementOptions=oe(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(e,o,n,i,l,r)=>(this.prevLanes!==void 0&&this.prevLanes!==r&&(this.lanesChangedFlag=!0),this.prevLanes=r,this.pendingMeasuredCacheIndexes=[],{count:e,paddingStart:o,scrollMargin:n,getItemKey:i,enabled:l,lanes:r}),{key:!1}),this.getMeasurements=oe(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:e,paddingStart:o,scrollMargin:n,getItemKey:i,enabled:l,lanes:r},u)=>{if(!l)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(const d of this.laneAssignments.keys())d>=e&&this.laneAssignments.delete(d);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(d=>{this.itemSizeCache.set(d.key,d.size)}));const a=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1);const c=this.measurementsCache.slice(0,a),S=new Array(r).fill(void 0);for(let d=0;d<a;d++){const f=c[d];f&&(S[f.lane]=d)}for(let d=a;d<e;d++){const f=i(d),p=this.laneAssignments.get(d);let v,O;if(p!==void 0&&this.options.lanes>1){v=p;const I=S[v],D=I!==void 0?c[I]:void 0;O=D?D.end+this.options.gap:o+n}else{const I=this.options.lanes===1?c[d-1]:this.getFurthestMeasurement(c,d);O=I?I.end+this.options.gap:o+n,v=I?I.lane:d%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(d,v)}const P=u.get(f),k=typeof P=="number"?P:this.options.estimateSize(d),F=O+k;c[d]={index:d,start:O,size:k,end:F,key:f,lane:v},S[v]=d}return this.measurementsCache=c,c},{key:process.env.NODE_ENV!=="production"&&"getMeasurements",debug:()=>this.options.debug}),this.calculateRange=oe(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,o,n,i)=>this.range=e.length>0&&o>0?Ge({measurements:e,outerSize:o,scrollOffset:n,lanes:i}):null,{key:process.env.NODE_ENV!=="production"&&"calculateRange",debug:()=>this.options.debug}),this.getVirtualIndexes=oe(()=>{let e=null,o=null;const n=this.calculateRange();return n&&(e=n.startIndex,o=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,o]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,o]},(e,o,n,i,l)=>i===null||l===null?[]:e({startIndex:i,endIndex:l,overscan:o,count:n}),{key:process.env.NODE_ENV!=="production"&&"getVirtualIndexes",debug:()=>this.options.debug}),this.indexFromElement=e=>{const o=this.options.indexAttribute,n=e.getAttribute(o);return n?parseInt(n,10):(console.warn(`Missing attribute name '${o}={index}' on measured element.`),-1)},this._measureElement=(e,o)=>{const n=this.indexFromElement(e),i=this.measurementsCache[n];if(!i)return;const l=i.key,r=this.elementsCache.get(l);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(l,e)),e.isConnected&&this.resizeItem(n,this.options.measureElement(e,o,this))},this.resizeItem=(e,o)=>{const n=this.measurementsCache[e];if(!n)return;const i=this.itemSizeCache.get(n.key)??n.size,l=o-i;l!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(n,l,this):n.start<this.getScrollOffset()+this.scrollAdjustments)&&(process.env.NODE_ENV!=="production"&&this.options.debug&&console.info("correction",l),this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=l,behavior:void 0})),this.pendingMeasuredCacheIndexes.push(n.index),this.itemSizeCache=new Map(this.itemSizeCache.set(n.key,o)),this.notify(!1))},this.measureElement=e=>{if(!e){this.elementsCache.forEach((o,n)=>{o.isConnected||(this.observer.unobserve(o),this.elementsCache.delete(n))});return}this._measureElement(e,void 0)},this.getVirtualItems=oe(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,o)=>{const n=[];for(let i=0,l=e.length;i<l;i++){const r=e[i],u=o[r];n.push(u)}return n},{key:process.env.NODE_ENV!=="production"&&"getVirtualItems",debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{const o=this.getMeasurements();if(o.length!==0)return Se(o[Me(0,o.length-1,n=>Se(o[n]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(e,o,n=0)=>{if(!this.scrollElement)return 0;const i=this.getSize(),l=this.getScrollOffset();o==="auto"&&(o=e>=l+i?"end":"start"),o==="center"?e+=(n-i)/2:o==="end"&&(e-=i);const r=this.getMaxScrollOffset();return Math.max(Math.min(r,e),0)},this.getOffsetForIndex=(e,o="auto")=>{e=Math.max(0,Math.min(e,this.options.count-1));const n=this.measurementsCache[e];if(!n)return;const i=this.getSize(),l=this.getScrollOffset();if(o==="auto")if(n.end>=l+i-this.options.scrollPaddingEnd)o="end";else if(n.start<=l+this.options.scrollPaddingStart)o="start";else return[l,o];if(o==="end"&&e===this.options.count-1)return[this.getMaxScrollOffset(),o];const r=o==="end"?n.end+this.options.scrollPaddingEnd:n.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(r,o,n.size),o]},this.isDynamicMode=()=>this.elementsCache.size>0,this.scrollToOffset=(e,{align:o="start",behavior:n}={})=>{n==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(e,o),{adjustments:void 0,behavior:n})},this.scrollToIndex=(e,{align:o="auto",behavior:n}={})=>{n==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),e=Math.max(0,Math.min(e,this.options.count-1)),this.currentScrollToIndex=e;let i=0;const l=10,r=a=>{if(!this.targetWindow)return;const c=this.getOffsetForIndex(e,a);if(!c){console.warn("Failed to get offset for index:",e);return}const[S,d]=c;this._scrollToOffset(S,{adjustments:void 0,behavior:n}),this.targetWindow.requestAnimationFrame(()=>{const f=()=>{if(this.currentScrollToIndex!==e)return;const p=this.getScrollOffset(),v=this.getOffsetForIndex(e,d);if(!v){console.warn("Failed to get offset for index:",e);return}Le(v[0],p)||u(d)};this.isDynamicMode()?this.targetWindow.requestAnimationFrame(f):f()})},u=a=>{this.targetWindow&&this.currentScrollToIndex===e&&(i++,i<l?(process.env.NODE_ENV!=="production"&&this.options.debug&&console.info("Schedule retry",i,l),this.targetWindow.requestAnimationFrame(()=>r(a))):console.warn(`Failed to scroll to index ${e} after ${l} attempts.`))};r(o)},this.scrollBy=(e,{behavior:o}={})=>{o==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+e,{adjustments:void 0,behavior:o})},this.getTotalSize=()=>{var e;const o=this.getMeasurements();let n;if(o.length===0)n=this.options.paddingStart;else if(this.options.lanes===1)n=((e=o[o.length-1])==null?void 0:e.end)??0;else{const i=Array(this.options.lanes).fill(null);let l=o.length-1;for(;l>=0&&i.some(r=>r===null);){const r=o[l];i[r.lane]===null&&(i[r.lane]=r.end),l--}n=Math.max(...i.filter(r=>r!==null))}return Math.max(n-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(e,{adjustments:o,behavior:n})=>{this.options.scrollToFn(e,{behavior:n,adjustments:o},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(s)}}const Me=(t,s,e,o)=>{for(;t<=s;){const n=(t+s)/2|0,i=e(n);if(i<o)t=n+1;else if(i>o)s=n-1;else return n}return t>0?t-1:0};function Ge({measurements:t,outerSize:s,scrollOffset:e,lanes:o}){const n=t.length-1,i=u=>t[u].start;if(t.length<=o)return{startIndex:0,endIndex:n};let l=Me(0,n,i,e),r=l;if(o===1)for(;r<n&&t[r].end<e+s;)r++;else if(o>1){const u=Array(o).fill(0);for(;r<n&&u.some(c=>c<e+s);){const c=t[r];u[c.lane]=c.end,r++}const a=Array(o).fill(e+s);for(;l>=0&&a.some(c=>c>=e);){const c=t[l];a[c.lane]=c.start,l--}l=Math.max(0,l-l%o),r=Math.min(n,r+(o-1-r%o))}return{startIndex:l,endIndex:r}}const Ce=typeof document<"u"?he.useLayoutEffect:he.useEffect;function Xe({useFlushSync:t=!0,...s}){const e=he.useReducer(()=>({}),{})[1],o={...s,onChange:(i,l)=>{var r;t&&l?te.flushSync(e):e(),(r=s.onChange)==null||r.call(s,i,l)}},[n]=he.useState(()=>new Ye(o));return n.setOptions(o),Ce(()=>n._didMount(),[]),Ce(()=>n._willUpdate()),n}function Je(t){return Xe({observeElementRect:Be,observeElementOffset:Ke,scrollToFn:He,...t})}function Te(t){let s=m.useRef({value:"",selectionStart:null,selectionEnd:null});return De.E(t,"blur",e=>{let o=e.target;T.l$1(o)&&(s.current={value:o.value,selectionStart:o.selectionStart,selectionEnd:o.selectionEnd})}),h.o$1(()=>{if(!T.d(t)&&T.l$1(t)&&t.isConnected){if(t.focus({preventScroll:!0}),t.value!==s.current.value)t.setSelectionRange(t.value.length,t.value.length);else{let{selectionStart:e,selectionEnd:o}=s.current;e!==null&&o!==null&&t.setSelectionRange(e,o)}s.current={value:"",selectionStart:null,selectionEnd:null}}})}var Qe=Object.defineProperty,Ze=(t,s,e)=>s in t?Qe(t,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[s]=e,Ie=(t,s,e)=>(Ze(t,typeof s!="symbol"?s+"":s,e),e),b=(t=>(t[t.Open=0]="Open",t[t.Closed=1]="Closed",t))(b||{}),B=(t=>(t[t.Single=0]="Single",t[t.Multi=1]="Multi",t))(B||{}),Y=(t=>(t[t.Pointer=0]="Pointer",t[t.Focus=1]="Focus",t[t.Other=2]="Other",t))(Y||{}),Re=(t=>(t[t.OpenCombobox=0]="OpenCombobox",t[t.CloseCombobox=1]="CloseCombobox",t[t.GoToOption=2]="GoToOption",t[t.SetTyping=3]="SetTyping",t[t.RegisterOption=4]="RegisterOption",t[t.UnregisterOption=5]="UnregisterOption",t[t.DefaultToFirstOption=6]="DefaultToFirstOption",t[t.SetActivationTrigger=7]="SetActivationTrigger",t[t.UpdateVirtualConfiguration=8]="UpdateVirtualConfiguration",t[t.SetInputElement=9]="SetInputElement",t[t.SetButtonElement=10]="SetButtonElement",t[t.SetOptionsElement=11]="SetOptionsElement",t[t.MarkInputAsMoved=12]="MarkInputAsMoved",t))(Re||{});function ve(t,s=e=>e){let e=t.activeOptionIndex!==null?t.options[t.activeOptionIndex]:null,o=s(t.options.slice()),n=o.length>0&&o[0].dataRef.current.order!==null?o.sort((l,r)=>l.dataRef.current.order-r.dataRef.current.order):Ne.G(o,l=>l.dataRef.current.domRef.current),i=e?n.indexOf(e):null;return i===-1&&(i=null),{options:n,activeOptionIndex:i}}let et={1(t){var s;if((s=t.dataRef.current)!=null&&s.disabled||t.comboboxState===1)return t;let e=t.inputElement?x.c.Tracked(x.a(t.inputElement)):t.inputPositionState;return{...t,activeOptionIndex:null,comboboxState:1,isTyping:!1,activationTrigger:2,inputPositionState:e,__demoMode:!1}},0(t){var s,e;if((s=t.dataRef.current)!=null&&s.disabled||t.comboboxState===0)return t;if((e=t.dataRef.current)!=null&&e.value){let o=t.dataRef.current.calculateIndex(t.dataRef.current.value);if(o!==-1)return{...t,activeOptionIndex:o,comboboxState:0,__demoMode:!1,inputPositionState:x.c.Idle}}return{...t,comboboxState:0,inputPositionState:x.c.Idle,__demoMode:!1}},3(t,s){return t.isTyping===s.isTyping?t:{...t,isTyping:s.isTyping}},2(t,s){var e,o,n,i;if((e=t.dataRef.current)!=null&&e.disabled||t.optionsElement&&!((o=t.dataRef.current)!=null&&o.optionsPropsRef.current.static)&&t.comboboxState===1)return t;if(t.virtual){let{options:a,disabled:c}=t.virtual,S=s.focus===x.c$1.Specific?s.idx:x.f(s,{resolveItems:()=>a,resolveActiveIndex:()=>{var f,p;return(p=(f=t.activeOptionIndex)!=null?f:a.findIndex(v=>!c(v)))!=null?p:null},resolveDisabled:c,resolveId(){throw new Error("Function not implemented.")}}),d=(n=s.trigger)!=null?n:2;return t.activeOptionIndex===S&&t.activationTrigger===d?t:{...t,activeOptionIndex:S,activationTrigger:d,isTyping:!1,__demoMode:!1}}let l=ve(t);if(l.activeOptionIndex===null){let a=l.options.findIndex(c=>!c.dataRef.current.disabled);a!==-1&&(l.activeOptionIndex=a)}let r=s.focus===x.c$1.Specific?s.idx:x.f(s,{resolveItems:()=>l.options,resolveActiveIndex:()=>l.activeOptionIndex,resolveId:a=>a.id,resolveDisabled:a=>a.dataRef.current.disabled}),u=(i=s.trigger)!=null?i:2;return t.activeOptionIndex===r&&t.activationTrigger===u?t:{...t,...l,isTyping:!1,activeOptionIndex:r,activationTrigger:u,__demoMode:!1}},4:(t,s)=>{var e,o,n,i;if((e=t.dataRef.current)!=null&&e.virtual)return{...t,options:[...t.options,s.payload]};let l=s.payload,r=ve(t,a=>(a.push(l),a));t.activeOptionIndex===null&&(n=(o=t.dataRef.current).isSelected)!=null&&n.call(o,s.payload.dataRef.current.value)&&(r.activeOptionIndex=r.options.indexOf(l));let u={...t,...r,activationTrigger:2};return(i=t.dataRef.current)!=null&&i.__demoMode&&t.dataRef.current.value===void 0&&(u.activeOptionIndex=0),u},5:(t,s)=>{var e;if((e=t.dataRef.current)!=null&&e.virtual)return{...t,options:t.options.filter(n=>n.id!==s.id)};let o=ve(t,n=>{let i=n.findIndex(l=>l.id===s.id);return i!==-1&&n.splice(i,1),n});return{...t,...o,activationTrigger:2}},6:(t,s)=>t.defaultToFirstOption===s.value?t:{...t,defaultToFirstOption:s.value},7:(t,s)=>t.activationTrigger===s.trigger?t:{...t,activationTrigger:s.trigger},8:(t,s)=>{var e,o;if(t.virtual===null)return{...t,virtual:{options:s.options,disabled:(e=s.disabled)!=null?e:()=>!1}};if(t.virtual.options===s.options&&t.virtual.disabled===s.disabled)return t;let n=t.activeOptionIndex;if(t.activeOptionIndex!==null){let i=s.options.indexOf(t.virtual.options[t.activeOptionIndex]);i!==-1?n=i:n=null}return{...t,activeOptionIndex:n,virtual:{options:s.options,disabled:(o=s.disabled)!=null?o:()=>!1}}},9:(t,s)=>t.inputElement===s.element?t:{...t,inputElement:s.element},10:(t,s)=>t.buttonElement===s.element?t:{...t,buttonElement:s.element},11:(t,s)=>t.optionsElement===s.element?t:{...t,optionsElement:s.element},12(t){return t.inputPositionState.kind!=="Tracked"?t:{...t,inputPositionState:x.c.Moved}}};class be extends E.T{constructor(s){super(s),Ie(this,"actions",{onChange:e=>{let{onChange:o,compare:n,mode:i,value:l}=this.state.dataRef.current;return h.u(i,{0:()=>o?.(e),1:()=>{let r=l.slice(),u=r.findIndex(a=>n(a,e));return u===-1?r.push(e):r.splice(u,1),o?.(r)}})},registerOption:(e,o)=>(this.send({type:4,payload:{id:e,dataRef:o}}),()=>{this.state.activeOptionIndex===this.state.dataRef.current.calculateIndex(o.current.value)&&this.send({type:6,value:!0}),this.send({type:5,id:e})}),goToOption:(e,o)=>(this.send({type:6,value:!1}),this.send({type:2,...e,trigger:o})),setIsTyping:e=>{this.send({type:3,isTyping:e})},closeCombobox:()=>{var e,o;this.send({type:1}),this.send({type:6,value:!1}),(o=(e=this.state.dataRef.current).onClose)==null||o.call(e)},openCombobox:()=>{this.send({type:0}),this.send({type:6,value:!0})},setActivationTrigger:e=>{this.send({type:7,trigger:e})},selectActiveOption:()=>{let e=this.selectors.activeOptionIndex(this.state);if(e!==null){if(this.actions.setIsTyping(!1),this.state.virtual)this.actions.onChange(this.state.virtual.options[e]);else{let{dataRef:o}=this.state.options[e];this.actions.onChange(o.current.value)}this.actions.goToOption({focus:x.c$1.Specific,idx:e})}},setInputElement:e=>{this.send({type:9,element:e})},setButtonElement:e=>{this.send({type:10,element:e})},setOptionsElement:e=>{this.send({type:11,element:e})}}),Ie(this,"selectors",{activeDescendantId:e=>{var o,n;let i=this.selectors.activeOptionIndex(e);if(i!==null)return e.virtual?(n=e.options.find(l=>!l.dataRef.current.disabled&&e.dataRef.current.compare(l.dataRef.current.value,e.virtual.options[i])))==null?void 0:n.id:(o=e.options[i])==null?void 0:o.id},activeOptionIndex:e=>{if(e.defaultToFirstOption&&e.activeOptionIndex===null&&(e.virtual?e.virtual.options.length>0:e.options.length>0)){if(e.virtual){let{options:n,disabled:i}=e.virtual,l=n.findIndex(r=>{var u;return!((u=i?.(r))!=null&&u)});if(l!==-1)return l}let o=e.options.findIndex(n=>!n.dataRef.current.disabled);if(o!==-1)return o}return e.activeOptionIndex},activeOption:e=>{var o,n;let i=this.selectors.activeOptionIndex(e);return i===null?null:e.virtual?e.virtual.options[i??0]:(n=(o=e.options[i])==null?void 0:o.dataRef.current.value)!=null?n:null},isActive:(e,o,n)=>{var i;let l=this.selectors.activeOptionIndex(e);return l===null?!1:e.virtual?l===e.dataRef.current.calculateIndex(o):((i=e.options[l])==null?void 0:i.id)===n},shouldScrollIntoView:(e,o,n)=>!(e.virtual||e.__demoMode||e.comboboxState!==0||e.activationTrigger===0||!this.selectors.isActive(e,o,n)),didInputMove(e){return e.inputPositionState.kind==="Moved"}});{let e=this.state.id,o=E.x.get(null);this.disposables.add(o.on(E.k$1.Push,n=>{!o.selectors.isTop(n,e)&&this.state.comboboxState===0&&this.actions.closeCombobox()})),this.on(0,()=>o.actions.push(e)),this.on(1,()=>o.actions.pop(e))}this.disposables.group(e=>{this.on(1,o=>{o.inputElement&&(e.dispose(),e.add(x.p(o.inputElement,o.inputPositionState,()=>{this.send({type:12})})))})})}static new({id:s,virtual:e=null,__demoMode:o=!1}){var n;return new be({id:s,dataRef:{current:{}},comboboxState:o?0:1,isTyping:!1,options:[],virtual:e?{options:e.options,disabled:(n=e.disabled)!=null?n:()=>!1}:null,activeOptionIndex:null,activationTrigger:2,inputElement:null,buttonElement:null,optionsElement:null,__demoMode:o,inputPositionState:x.c.Idle})}reduce(s,e){return h.u(e.type,et,s,e)}}const $e=m.createContext(null);function ce(t){let s=m.useContext($e);if(s===null){let e=new Error(`<${t} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(e,Pe),e}return s}function Pe({id:t,virtual:s=null,__demoMode:e=!1}){let o=m.useMemo(()=>be.new({id:t,virtual:s,__demoMode:e}),[]);return E.c(()=>o.dispose()),o}let ue=m.createContext(null);ue.displayName="ComboboxDataContext";function se(t){let s=m.useContext(ue);if(s===null){let e=new Error(`<${t} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(e,se),e}return s}let ke=m.createContext(null);function tt(t){let s=ce("VirtualProvider"),e=se("VirtualProvider"),{options:o}=e.virtual,n=E.S(s,f=>f.optionsElement),[i,l]=m.useMemo(()=>{let f=n;if(!f)return[0,0];let p=window.getComputedStyle(f);return[parseFloat(p.paddingBlockStart||p.paddingTop),parseFloat(p.paddingBlockEnd||p.paddingBottom)]},[n]),r=Je({enabled:o.length!==0,scrollPaddingStart:i,scrollPaddingEnd:l,count:o.length,estimateSize(){return 40},getScrollElement(){return s.state.optionsElement},overscan:12}),[u,a]=m.useState(0);h.n(()=>{a(f=>f+1)},[o]);let c=r.getVirtualItems(),S=E.S(s,f=>f.activationTrigger===Y.Pointer),d=E.S(s,s.selectors.activeOptionIndex);return c.length===0?null:m.createElement(ke.Provider,{value:r},m.createElement("div",{style:{position:"relative",width:"100%",height:`${r.getTotalSize()}px`},ref:f=>{f&&(S||d!==null&&o.length>d&&r.scrollToIndex(d))}},c.map(f=>{var p;return m.createElement(m.Fragment,{key:f.key},m.cloneElement((p=t.children)==null?void 0:p.call(t,{...t.slot,option:o[f.index]}),{key:`${u}-${f.key}`,"data-index":f.index,"aria-setsize":o.length,"aria-posinset":f.index+1,style:{position:"absolute",top:0,left:0,transform:`translateY(${f.start}px)`,overflowAnchor:"none"}}))})))}let nt=m.Fragment;function ot(t,s){let e=m.useId(),o=we.a(),{value:n,defaultValue:i,onChange:l,form:r,name:u,by:a,invalid:c=!1,disabled:S=o||!1,onClose:d,__demoMode:f=!1,multiple:p=!1,immediate:v=!1,virtual:O=null,nullable:P,...k}=t,F=me.l(i),[I=p?[]:void 0,D]=me.b(n,l,F),C=Pe({id:e,virtual:O,__demoMode:f}),L=m.useRef({static:!1,hold:!1}),A=Ae.u(a),N=h.o$1(M=>O?a===null?O.options.indexOf(M):O.options.findIndex(Z=>A(Z,M)):C.state.options.findIndex(Z=>A(Z.dataRef.current.value,M))),U=m.useCallback(M=>h.u(j.mode,{[B.Multi]:()=>I.some(Z=>A(Z,M)),[B.Single]:()=>A(I,M)}),[I]),H=E.S(C,M=>M.virtual),y=h.o$1(()=>d?.()),j=m.useMemo(()=>({__demoMode:f,immediate:v,optionsPropsRef:L,value:I,defaultValue:F,disabled:S,invalid:c,mode:p?B.Multi:B.Single,virtual:O?H:null,onChange:D,isSelected:U,calculateIndex:N,compare:A,onClose:y}),[f,v,L,I,F,S,c,p,O,H,D,U,N,A,y]);h.n(()=>{var M;O&&C.send({type:Re.UpdateVirtualConfiguration,options:O.options,disabled:(M=O.disabled)!=null?M:null})},[O,O?.options,O?.disabled]),h.n(()=>{C.state.dataRef.current=j},[j]);let[q,w,K,le]=E.S(C,M=>[M.comboboxState,M.buttonElement,M.inputElement,M.optionsElement]),J=E.x.get(null),ne=E.S(J,m.useCallback(M=>J.selectors.isTop(M,e),[J,e]));E.k$2(ne,[w,K,le],()=>C.actions.closeCombobox());let Q=E.S(C,C.selectors.activeOptionIndex),re=E.S(C,C.selectors.activeOption),g=T.n$1({open:q===b.Open,disabled:S,invalid:c,activeIndex:Q,activeOption:re,value:I}),[W,$]=ie.V(),_=s===null?{}:{ref:s},R=m.useCallback(()=>{if(F!==void 0)return D?.(F)},[D,F]),V=h.K();return m.createElement($,{value:W,props:{htmlFor:K?.id},slot:{open:q===b.Open,disabled:S}},m.createElement(ee.Ae,null,m.createElement(ue.Provider,{value:j},m.createElement($e.Provider,{value:C},m.createElement(X.c,{value:h.u(q,{[b.Open]:X.i.Open,[b.Closed]:X.i.Closed})},u!=null&&m.createElement(me.j,{disabled:S,data:I!=null?{[u]:I}:{},form:r,onReset:R}),V({ourProps:_,theirProps:k,slot:g,defaultTag:nt,name:"Combobox"}))))))}let it="input";function st(t,s){var e,o;let n=ce("Combobox.Input"),i=se("Combobox.Input"),l=m.useId(),r=ie.u(),{id:u=r||`headlessui-combobox-input-${l}`,onChange:a,displayValue:c,disabled:S=i.disabled||!1,autoFocus:d=!1,type:f="text",...p}=t,v=m.useRef(null),O=h.y(v,s,ee.Fe(),n.actions.setInputElement),[P,k]=E.S(n,g=>[g.comboboxState,g.isTyping]),F=h.p(),I=h.o$1(()=>{n.actions.onChange(null),n.state.optionsElement&&(n.state.optionsElement.scrollTop=0),n.actions.goToOption({focus:x.c$1.Nothing})}),D=m.useMemo(()=>{var g;return typeof c=="function"&&i.value!==void 0?(g=c(i.value))!=null?g:"":typeof i.value=="string"?i.value:""},[i.value,c]);de.m(([g,W],[$,_])=>{if(n.state.isTyping)return;let R=v.current;R&&((_===b.Open&&W===b.Closed||g!==$)&&(R.value=g),requestAnimationFrame(()=>{if(n.state.isTyping||!R||T.d(R))return;let{selectionStart:V,selectionEnd:M}=R;Math.abs((M??0)-(V??0))===0&&V===0&&R.setSelectionRange(R.value.length,R.value.length)}))},[D,P,k]),de.m(([g],[W])=>{if(g===b.Open&&W===b.Closed){if(n.state.isTyping)return;let $=v.current;if(!$)return;let _=$.value,{selectionStart:R,selectionEnd:V,selectionDirection:M}=$;$.value="",$.value=_,M!==null?$.setSelectionRange(R,V,M):$.setSelectionRange(R,V)}},[P]);let C=m.useRef(!1),L=h.o$1(()=>{C.current=!0}),A=h.o$1(()=>{F.nextFrame(()=>{C.current=!1})}),N=h.o$1(g=>{switch(n.actions.setIsTyping(!0),g.key){case T.o.Enter:if(n.state.comboboxState!==b.Open||C.current)return;if(g.preventDefault(),g.stopPropagation(),n.selectors.activeOptionIndex(n.state)===null){n.actions.closeCombobox();return}n.actions.selectActiveOption(),i.mode===B.Single&&n.actions.closeCombobox();break;case T.o.ArrowDown:return g.preventDefault(),g.stopPropagation(),h.u(n.state.comboboxState,{[b.Open]:()=>n.actions.goToOption({focus:x.c$1.Next}),[b.Closed]:()=>n.actions.openCombobox()});case T.o.ArrowUp:return g.preventDefault(),g.stopPropagation(),h.u(n.state.comboboxState,{[b.Open]:()=>n.actions.goToOption({focus:x.c$1.Previous}),[b.Closed]:()=>{te.flushSync(()=>n.actions.openCombobox()),i.value||n.actions.goToOption({focus:x.c$1.Last})}});case T.o.Home:if(n.state.comboboxState===b.Closed||g.shiftKey)break;return g.preventDefault(),g.stopPropagation(),n.actions.goToOption({focus:x.c$1.First});case T.o.PageUp:return g.preventDefault(),g.stopPropagation(),n.actions.goToOption({focus:x.c$1.First});case T.o.End:if(n.state.comboboxState===b.Closed||g.shiftKey)break;return g.preventDefault(),g.stopPropagation(),n.actions.goToOption({focus:x.c$1.Last});case T.o.PageDown:return g.preventDefault(),g.stopPropagation(),n.actions.goToOption({focus:x.c$1.Last});case T.o.Escape:return n.state.comboboxState!==b.Open?void 0:(g.preventDefault(),n.state.optionsElement&&!i.optionsPropsRef.current.static&&g.stopPropagation(),i.mode===B.Single&&i.value===null&&I(),n.actions.closeCombobox());case T.o.Tab:if(n.actions.setIsTyping(!1),n.state.comboboxState!==b.Open)return;i.mode===B.Single&&n.state.activationTrigger!==Y.Focus&&n.actions.selectActiveOption(),n.actions.closeCombobox();break}}),U=h.o$1(g=>{a?.(g),i.mode===B.Single&&g.target.value===""&&I(),n.actions.openCombobox()}),H=h.o$1(g=>{var W,$,_;let R=(W=g.relatedTarget)!=null?W:de.n.find(V=>V!==g.currentTarget);if(!(($=n.state.optionsElement)!=null&&$.contains(R))&&!((_=n.state.buttonElement)!=null&&_.contains(R))&&n.state.comboboxState===b.Open)return g.preventDefault(),i.mode===B.Single&&i.value===null&&I(),n.actions.closeCombobox()}),y=h.o$1(g=>{var W,$,_;let R=(W=g.relatedTarget)!=null?W:de.n.find(V=>V!==g.currentTarget);($=n.state.buttonElement)!=null&&$.contains(R)||(_=n.state.optionsElement)!=null&&_.contains(R)||i.disabled||i.immediate&&n.state.comboboxState!==b.Open&&F.microTask(()=>{te.flushSync(()=>n.actions.openCombobox()),n.actions.setActivationTrigger(Y.Focus)})}),j=ie.N(),q=we.w(),{isFocused:w,focusProps:K}=pe.$f7dceffc5ad7768b$export$4e328f61c538687f({autoFocus:d}),{isHovered:le,hoverProps:J}=pe.$6179b936705e76d3$export$ae780daf29e6d456({isDisabled:S}),ne=E.S(n,g=>g.optionsElement),Q=T.n$1({open:P===b.Open,disabled:S,invalid:i.invalid,hover:le,focus:w,autofocus:d}),re=h.V({ref:O,id:u,role:"combobox",type:f,"aria-controls":ne?.id,"aria-expanded":P===b.Open,"aria-activedescendant":E.S(n,n.selectors.activeDescendantId),"aria-labelledby":j,"aria-describedby":q,"aria-autocomplete":"list",defaultValue:(o=(e=t.defaultValue)!=null?e:i.defaultValue!==void 0?c?.(i.defaultValue):null)!=null?o:i.defaultValue,disabled:S||void 0,autoFocus:d,onCompositionStart:L,onCompositionEnd:A,onKeyDown:N,onChange:U,onFocus:y,onBlur:H},K,J);return h.K()({ourProps:re,theirProps:p,slot:Q,defaultTag:it,name:"Combobox.Input"})}let lt="button";function rt(t,s){let e=ce("Combobox.Button"),o=se("Combobox.Button"),[n,i]=m.useState(null),l=h.y(s,i,e.actions.setButtonElement),r=m.useId(),{id:u=`headlessui-combobox-button-${r}`,disabled:a=o.disabled||!1,autoFocus:c=!1,...S}=t,[d,f,p]=E.S(e,y=>[y.comboboxState,y.inputElement,y.optionsElement]),v=Te(f),O=d===b.Open;x.L(O,{trigger:n,action:m.useCallback(y=>{if(n!=null&&n.contains(y.target)||f!=null&&f.contains(y.target))return x.S.Ignore;let j=y.target.closest('[role="option"]:not([data-disabled])');return T.n(j)?x.S.Select(j):p!=null&&p.contains(y.target)?x.S.Ignore:x.S.Close},[n,f,p]),close:e.actions.closeCombobox,select:e.actions.selectActiveOption});let P=h.o$1(y=>{switch(y.key){case T.o.Space:case T.o.Enter:y.preventDefault(),y.stopPropagation(),e.state.comboboxState===b.Closed&&te.flushSync(()=>e.actions.openCombobox()),v();return;case T.o.ArrowDown:y.preventDefault(),y.stopPropagation(),e.state.comboboxState===b.Closed&&(te.flushSync(()=>e.actions.openCombobox()),e.state.dataRef.current.value||e.actions.goToOption({focus:x.c$1.First})),v();return;case T.o.ArrowUp:y.preventDefault(),y.stopPropagation(),e.state.comboboxState===b.Closed&&(te.flushSync(()=>e.actions.openCombobox()),e.state.dataRef.current.value||e.actions.goToOption({focus:x.c$1.Last})),v();return;case T.o.Escape:if(e.state.comboboxState!==b.Open)return;y.preventDefault(),e.state.optionsElement&&!o.optionsPropsRef.current.static&&y.stopPropagation(),te.flushSync(()=>e.actions.closeCombobox()),v();return;default:return}}),k=x.s(()=>{e.state.comboboxState===b.Open?e.actions.closeCombobox():e.actions.openCombobox(),v()}),F=ie.N([u]),{isFocusVisible:I,focusProps:D}=pe.$f7dceffc5ad7768b$export$4e328f61c538687f({autoFocus:c}),{isHovered:C,hoverProps:L}=pe.$6179b936705e76d3$export$ae780daf29e6d456({isDisabled:a}),{pressed:A,pressProps:N}=xe.w({disabled:a}),U=T.n$1({open:d===b.Open,active:A||d===b.Open,disabled:a,invalid:o.invalid,value:o.value,hover:C,focus:I}),H=h.V({ref:l,id:u,type:xe.e(t,n),tabIndex:-1,"aria-haspopup":"listbox","aria-controls":p?.id,"aria-expanded":d===b.Open,"aria-labelledby":F,disabled:a||void 0,autoFocus:c,onKeyDown:P},k,D,L,N);return h.K()({ourProps:H,theirProps:S,slot:U,defaultTag:lt,name:"Combobox.Button"})}let at="div",ut=h.A.RenderStrategy|h.A.Static;function ct(t,s){var e,o,n;let i=m.useId(),{id:l=`headlessui-combobox-options-${i}`,hold:r=!1,anchor:u,portal:a=!1,modal:c=!0,transition:S=!1,...d}=t,f=ce("Combobox.Options"),p=se("Combobox.Options"),v=ee.ye(u);v&&(a=!0);let[O,P]=ee.Re(v),[k,F]=m.useState(null),I=ee.Te(),D=h.y(s,v?O:null,f.actions.setOptionsElement,F),[C,L,A,N,U]=E.S(f,z=>[z.comboboxState,z.inputElement,z.buttonElement,z.optionsElement,z.activationTrigger]),H=E.u(L||A),y=E.u(N),j=X.u(),[q,w]=X.N(S,k,j!==null?(j&X.i.Open)===X.i.Open:C===b.Open);E.p(q,L,f.actions.closeCombobox);let K=p.__demoMode?!1:c&&C===b.Open;E.f(K,y);let le=p.__demoMode?!1:c&&C===b.Open;ze.y(le,{allowed:m.useCallback(()=>[L,A,N],[L,A,N])});let J=E.S(f,f.selectors.didInputMove)?!1:q;h.n(()=>{var z;p.optionsPropsRef.current.static=(z=t.static)!=null?z:!1},[p.optionsPropsRef,t.static]),h.n(()=>{p.optionsPropsRef.current.hold=r},[p.optionsPropsRef,r]),_e.F(C===b.Open,{container:N,accept(z){return z.getAttribute("role")==="option"?NodeFilter.FILTER_REJECT:z.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(z){z.setAttribute("role","none")}});let ne=ie.N([A?.id]),Q=T.n$1({open:C===b.Open,option:void 0}),re=h.o$1(()=>{f.actions.setActivationTrigger(Y.Pointer)}),g=h.o$1(z=>{z.preventDefault(),f.actions.setActivationTrigger(Y.Pointer)}),W=h.V(v?I():{},{"aria-labelledby":ne,role:"listbox","aria-multiselectable":p.mode===B.Multi?!0:void 0,id:l,ref:D,style:{...d.style,...P,"--input-width":ee.w(q,L,!0).width,"--button-width":ee.w(q,A,!0).width},onWheel:U===Y.Pointer?void 0:re,onMouseDown:g,...X.x(w)}),$=q&&C===b.Closed&&!t.static,_=ge.u($,(e=p.virtual)==null?void 0:e.options),R=ge.u($,p.value),V=m.useCallback(z=>p.compare(R,z),[p.compare,R]),M=m.useMemo(()=>{if(!p.virtual)return p;if(_===void 0)throw new Error("Missing `options` in virtual mode");return _!==p.virtual.options?{...p,virtual:{...p.virtual,options:_}}:p},[p,_,(o=p.virtual)==null?void 0:o.options]);p.virtual&&Object.assign(d,{children:m.createElement(ue.Provider,{value:M},m.createElement(tt,{slot:Q},d.children))});let Z=h.K(),Fe=m.useMemo(()=>p.mode===B.Multi?p:{...p,isSelected:V},[p,V]);return m.createElement(E.te,{enabled:a?t.static||q:!1,ownerDocument:H},m.createElement(ue.Provider,{value:Fe},Z({ourProps:W,theirProps:{...d,children:m.createElement(ge.s,{freeze:$},typeof d.children=="function"?(n=d.children)==null?void 0:n.call(d,Q):d.children)},slot:Q,defaultTag:at,features:ut,visible:J,name:"Combobox.Options"})))}let dt="div";function pt(t,s){var e,o,n;let i=se("Combobox.Option"),l=ce("Combobox.Option"),r=m.useId(),{id:u=`headlessui-combobox-option-${r}`,value:a,disabled:c=(n=(o=(e=i.virtual)==null?void 0:e.disabled)==null?void 0:o.call(e,a))!=null?n:!1,order:S=null,...d}=t,[f]=E.S(l,w=>[w.inputElement]),p=Te(f),v=E.S(l,m.useCallback(w=>l.selectors.isActive(w,a,u),[a,u])),O=i.isSelected(a),P=m.useRef(null),k=h.s({disabled:c,value:a,domRef:P,order:S}),F=m.useContext(ke),I=h.y(s,P,F?F.measureElement:null),D=h.o$1(()=>{l.actions.setIsTyping(!1),l.actions.onChange(a)});h.n(()=>l.actions.registerOption(u,k),[k,u]);let C=E.S(l,m.useCallback(w=>l.selectors.shouldScrollIntoView(w,a,u),[a,u]));h.n(()=>{if(C)return h.o().requestAnimationFrame(()=>{var w,K;(K=(w=P.current)==null?void 0:w.scrollIntoView)==null||K.call(w,{block:"nearest"})})},[C,P]);let L=h.o$1(w=>{w.preventDefault(),w.button===x.g.Left&&(c||(D(),E.n()||requestAnimationFrame(()=>p()),i.mode===B.Single&&l.actions.closeCombobox()))}),A=h.o$1(()=>{if(c)return l.actions.goToOption({focus:x.c$1.Nothing});let w=i.calculateIndex(a);l.actions.goToOption({focus:x.c$1.Specific,idx:w})}),N=x.u(),U=h.o$1(w=>N.update(w)),H=h.o$1(w=>{if(!N.wasMoved(w)||c||v&&l.state.activationTrigger===Y.Pointer)return;let K=i.calculateIndex(a);l.actions.goToOption({focus:x.c$1.Specific,idx:K},Y.Pointer)}),y=h.o$1(w=>{N.wasMoved(w)&&(c||v&&(i.optionsPropsRef.current.hold||l.state.activationTrigger===Y.Pointer&&l.actions.goToOption({focus:x.c$1.Nothing})))}),j=T.n$1({active:v,focus:v,selected:O,disabled:c}),q={id:u,ref:I,role:"option",tabIndex:c===!0?void 0:-1,"aria-disabled":c===!0?!0:void 0,"aria-selected":O,disabled:void 0,onMouseDown:L,onFocus:A,onPointerEnter:U,onMouseEnter:U,onPointerMove:H,onMouseMove:H,onPointerLeave:y,onMouseLeave:y};return h.K()({ourProps:q,theirProps:d,slot:j,defaultTag:dt,name:"Combobox.Option"})}let ht=h.Y(ot),ft=h.Y(rt),mt=h.Y(st),gt=ie.Z,vt=h.Y(ct),bt=h.Y(pt),ae=Object.assign(ht,{Input:mt,Button:ft,Label:gt,Options:vt,Option:bt});function xt({options:t,value:s,onChange:e,placeholder:o="Select an option...",className:n,disabled:i=!1}){const[l,r]=m.useState(""),u=l===""?t:t.filter(a=>a.label.toLowerCase().includes(l.toLowerCase()));return G.jsx("div",{className:fe.cn("relative",n),children:G.jsxs(ae,{value:s,onChange:a=>{a&&e?.(a)},disabled:i,children:[G.jsx(ae.Input,{className:fe.cn("w-full rounded-md border border-input bg-background py-2 pl-3 pr-10 text-base leading-5 text-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:ring-offset-background",i&&"cursor-not-allowed opacity-50"),displayValue:a=>a?.label||"",onChange:a=>r(a.target.value),placeholder:o}),G.jsx(ae.Button,{className:"absolute inset-y-0 right-0 flex items-center pr-2",children:G.jsx("svg",{className:"h-5 w-5 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:G.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})}),G.jsx(ae.Options,{className:"absolute z-10 mt-1 max-h-60 w-full overflow-auto rounded-md bg-background py-1 text-base shadow-lg ring-1 ring-border focus:outline-none",children:u.length===0&&l!==""?G.jsx("div",{className:"relative cursor-default select-none px-4 py-2 text-muted-foreground",children:"Nothing found."}):u.map(a=>G.jsx(ae.Option,{value:a,className:({active:c})=>fe.cn("relative cursor-default select-none py-2 pl-10 pr-4",c?"bg-accent text-accent-foreground":"text-foreground"),children:a.label},a.id))})]})})}exports.Combobox=xt;