UNPKG

@freecodecamp/ui

Version:

The freeCodeCamp.org open-source UI components

1 lines 209 kB
import*as e from"react";import t,{useMemo as n,createContext as r,useContext as a,useEffect as o,useLayoutEffect as i,useRef as l,useState as s,forwardRef as c,Fragment as u,isValidElement as d,cloneElement as f,createElement as p,useReducer as m,createRef as g,useCallback as v}from"react";import{createPortal as b}from"react-dom";function h(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n}"function"==typeof SuppressedError&&SuppressedError;const y={success:"text-green-800 bg-green-50 border-green-100",info:"text-blue-800 bg-blue-50 border-blue-100",warning:"text-yellow-800 bg-yellow-50 border-yellow-100",danger:"text-red-900 bg-red-50 border-red-100"},w=e=>{var{children:n,className:r,variant:a}=e,o=h(e,["children","className","variant"]);const i=["p-4 mb-6 border border-solid border-1 break-words",y[a],r].join(" ");return t.createElement("div",Object.assign({className:i,role:"alert"},o),n)},x=["relative","inline-block","mt-[0.5px]","border-solid","border-3","active:before:w-full","active:before:h-full","active:before:absolute","active:before:inset-0","active:before:border-3","active:before:border-transparent","active:before:bg-gray-900","active:before:opacity-20","text-center","cursor-pointer","no-underline"],k=t.forwardRef(((e,n)=>{var{className:r,onClick:a,disabled:o,children:i,type:l="button"}=e,s=h(e,["className","onClick","disabled","children","type"]);return t.createElement("button",Object.assign({className:r,onClick:e=>{o?e.preventDefault():a&&a(e)},"aria-disabled":o,ref:n,type:l},s),i)})),E=t.forwardRef(((e,n)=>{var{className:r,href:a,download:o,target:i,children:l}=e,s=h(e,["className","href","download","target","children"]);return t.createElement("a",Object.assign({className:r,download:o,target:i,ref:n,href:a},s),l)})),O=t.forwardRef(((e,n)=>{var{onClick:r,className:a,children:o,disabled:i,href:l,download:s,target:c}=e,u=h(e,["onClick","className","children","disabled","href","download","target"]);return l&&!i?t.createElement(E,Object.assign({className:a,href:l,download:s,target:c,rel:"_blank"===c?"noopener noreferrer":"",ref:n,onClick:r},u),o):t.createElement(k,Object.assign({className:a,onClick:r,disabled:i,ref:n},u),o)})),S=t.forwardRef(((e,r)=>{var{className:a,size:o="medium",disabled:i,variant:l="primary",block:s}=e,c=h(e,["className","size","disabled","variant","block"]);const u=[a,n((()=>(({size:e,variant:t,disabled:n,block:r})=>{const a=[...x];switch(r&&a.push("block","w-full"),t){case"danger":a.push(...n?["border-gray-450","bg-background-danger-disabled","text-foreground-danger-disabled"]:["border-foreground-danger","bg-background-danger","text-foreground-danger","hover:bg-foreground-danger","hover:text-background-danger","hover:border-foreground-danger","dark:hover:bg-background-danger","dark:hover:text-foreground-danger"]);break;case"info":a.push("border-foreground-info","bg-background-info","text-foreground-info","hover:bg-foreground-info","hover:text-background-info","hover:border-foreground-info","dark:hover:bg-background-info","dark:hover:text-foreground-info");break;default:a.push("bg-background-quaternary","text-foreground-secondary",...n?["border-gray-450"]:["border-foreground-secondary","hover:bg-foreground-primary","hover:text-background-primary","hover:border-foreground-secondary","dark:hover:bg-background-primary","dark:hover:text-foreground-primary"])}switch(n&&a.push("active:before:hidden","aria-disabled:cursor-not-allowed","aria-disabled:opacity-80"),e){case"large":a.push("px-4 py-2.5 text-lg");break;case"small":a.push("px-2.5 py-1 text-sm");break;default:a.push("px-3 py-1.5 text-md")}return a.join(" ")})({size:o,variant:l,disabled:i,block:s})),[o,l,i,s])].join(" ");return t.createElement(O,Object.assign({className:u,ref:r,disabled:i},c))}));S.displayName="Button",O.displayName="HeadlessButton",k.displayName="StylessButton",E.displayName="Link";const N={success:"text-green-800 bg-green-50 border-green-700",info:"text-blue-800 bg-blue-50 border-blue-700",warning:"text-yellow-800 bg-yellow-50 border-yellow-700",danger:"text-red-900 bg-red-50 border-red-700"},A=e=>{var{children:n,className:r,variant:a}=e,o=h(e,["children","className","variant"]);const i=["p-4 mb-6 border border-solid border-1 break-words",N[a],r].join(" ");return t.createElement("div",Object.assign({className:i},o),n)};function P({className:e,label:n,onClick:r}){const a=["bg-transparent","border-none","text-lg","font-bold","text-foreground-primary","focus:opacity-100","focus:text-opacity-100","hover:opacity-100","hover:text-opacity-100","flex","justify-center","items-center","w-[24px]","h-[24px]","opacity-50",e].join(" ");return t.createElement("button",{className:a,onClick:r,type:"button"},t.createElement("span",{className:"sr-only"},n||"Close"),t.createElement("span",{"aria-hidden":!0},"×"))}const F={4:"w-1/3",6:"w-1/2",8:"w-2/3",10:"w-5/6",12:"w-full"},T={1:"ml-[8.3%]",2:"ml-[16.6%]",3:"ml-[25%]"},j={2:"md:w-1/6",4:"md:w-1/3",5:"md:w-5/12",8:"md:w-2/3",6:"md:w-1/2",10:"md:w-5/6",12:"md:w-full"},C={1:"md:ml-[8.3%]",2:"md:ml-[16.6%]",3:"md:ml-[25%]",4:"md:ml-[33.3%]"},R={4:"min-[992px]:w-1/3",6:"min-[992px]:w-1/2",8:"min-[992px]:w-2/3",10:"min-[992px]:w-5/6",12:"min-[992px]:w-full"},I={1:"min-[992px]:ml-[8.3%]",2:"min-[992px]:ml-[16.6%]",3:"min-[992px]:ml-[25%]",4:"min-[992px]:ml-[33.3%]"},D={6:"min-[1200px]:w-1/2",8:"min-[1200px]:w-2/3",10:"min-[1200px]:w-5/6"},L={0:"min-[1200px]:ml-0",1:"min-[1200px]:ml-[8.3%]",2:"min-[1200px]:ml-[16.6%]"},M=e=>{var{className:n,children:r,xs:a,sm:o,md:i,lg:l,xsOffset:s,smOffset:c,mdOffset:u,lgOffset:d}=e,f=h(e,["className","children","xs","sm","md","lg","xsOffset","smOffset","mdOffset","lgOffset"]);const p=a?F[a]:"",m=s?T[s]:"",g=o?j[o]:"",v=c?C[c]:"",b=i?R[i]:"",y=u?I[u]:"",w=l?D[l]:"",x=void 0!==d?L[d]:"";return t.createElement("div",Object.assign({className:`${null!=n?n:""} min-h-[1px] px-[15px] ${p} ${g} ${b} ${w} ${m} ${v} ${y} ${x} `},f),r)},_=({children:e,className:n,fluid:r})=>{const a=r?"":"my-0 md:w-[750px] min-[992px]:w-[970px] min-[1200px]:w-[1170px]";return t.createElement("div",{className:`mx-auto px-[15px] ${a} ${null!=n?n:""}`},e)},$=r({}),z="mb-3.5 relative",B=e=>{var{className:n,validationState:r,controlId:a,as:o}=e,i=h(e,["className","validationState","controlId","as"]);const l={controlId:a,validationState:r},s=o||"div",c=[z,n].join(" ");return t.createElement($.Provider,{value:l},t.createElement(s,Object.assign({className:c,as:o},i,{validationstate:r})))},H={success:"text-background-info",warning:"text-background-warning",error:"text-background-danger"},U=e=>{var{className:n,htmlFor:r,srOnly:o}=e,i=h(e,["className","htmlFor","srOnly"]);const{controlId:l,validationState:s}=a($),c=["font-bold",s?H[s]:"text-foreground-primary",o?"sr-only":void 0,n].join(" ");return t.createElement("label",Object.assign({className:c,htmlFor:r||l},i))};var W=Object.defineProperty,q=(e,t,n)=>(((e,t,n)=>{t in e?W(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n})(e,"symbol"!=typeof t?t+"":t,n),n);let V=new class{constructor(){q(this,"current",this.detect()),q(this,"handoffState","pending"),q(this,"currentId",0)}set(e){this.current!==e&&(this.handoffState="pending",this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return"server"===this.current}get isClient(){return"client"===this.current}detect(){return"undefined"==typeof window||"undefined"==typeof document?"server":"client"}handoff(){"pending"===this.handoffState&&(this.handoffState="complete")}get isHandoffComplete(){return"complete"===this.handoffState}},Y=(e,t)=>{V.isServer?o(e,t):i(e,t)};function G(e){let t=l(e);return Y((()=>{t.current=e}),[e]),t}let K=function(e){let n=G(e);return t.useCallback(((...e)=>n.current(...e)),[n])};function X(e){"function"==typeof queueMicrotask?queueMicrotask(e):Promise.resolve().then(e).catch((e=>setTimeout((()=>{throw e}))))}function J(){let e=[],t={addEventListener:(e,n,r,a)=>(e.addEventListener(n,r,a),t.add((()=>e.removeEventListener(n,r,a)))),requestAnimationFrame(...e){let n=requestAnimationFrame(...e);return t.add((()=>cancelAnimationFrame(n)))},nextFrame:(...e)=>t.requestAnimationFrame((()=>t.requestAnimationFrame(...e))),setTimeout(...e){let n=setTimeout(...e);return t.add((()=>clearTimeout(n)))},microTask(...e){let n={current:!0};return X((()=>{n.current&&e[0]()})),t.add((()=>{n.current=!1}))},style(e,t,n){let r=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:n}),this.add((()=>{Object.assign(e.style,{[t]:r})}))},group(e){let t=J();return e(t),this.add((()=>t.dispose()))},add:t=>(e.push(t),()=>{let n=e.indexOf(t);if(n>=0)for(let t of e.splice(n,1))t()}),dispose(){for(let t of e.splice(0))t()}};return t}function Q(){let[e]=s(J);return o((()=>()=>e.dispose()),[e]),e}function Z(){let t=function(){let t="undefined"==typeof document;return"useSyncExternalStore"in e&&e.useSyncExternalStore((()=>()=>{}),(()=>!1),(()=>!t))}(),[n,r]=e.useState(V.isHandoffComplete);return n&&!1===V.isHandoffComplete&&r(!1),e.useEffect((()=>{!0!==n&&r(!0)}),[n]),e.useEffect((()=>V.handoff()),[]),!t&&n}var ee;let te=null!=(ee=t.useId)?ee:function(){let e=Z(),[n,r]=t.useState(e?()=>V.nextId():null);return Y((()=>{null===n&&r(V.nextId())}),[n]),null!=n?""+n:void 0};function ne(e,t,...n){if(e in t){let r=t[e];return"function"==typeof r?r(...n):r}let r=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((e=>`"${e}"`)).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,ne),r}function re(e){return V.isServer?null:e instanceof Node?e.ownerDocument:null!=e&&e.hasOwnProperty("current")&&e.current instanceof Node?e.current.ownerDocument:document}let ae=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map((e=>`${e}:not([tabindex='-1'])`)).join(",");var oe=(e=>(e[e.First=1]="First",e[e.Previous=2]="Previous",e[e.Next=4]="Next",e[e.Last=8]="Last",e[e.WrapAround=16]="WrapAround",e[e.NoScroll=32]="NoScroll",e))(oe||{}),ie=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(ie||{}),le=(e=>(e[e.Previous=-1]="Previous",e[e.Next=1]="Next",e))(le||{});function se(e=document.body){return null==e?[]:Array.from(e.querySelectorAll(ae)).sort(((e,t)=>Math.sign((e.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER))))}var ce=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(ce||{});function ue(e,t=0){var n;return e!==(null==(n=re(e))?void 0:n.body)&&ne(t,{0:()=>e.matches(ae),1(){let t=e;for(;null!==t;){if(t.matches(ae))return!0;t=t.parentElement}return!1}})}function de(e){let t=re(e);J().nextFrame((()=>{t&&!ue(t.activeElement,0)&&pe(e)}))}var fe=(e=>(e[e.Keyboard=0]="Keyboard",e[e.Mouse=1]="Mouse",e))(fe||{});function pe(e){null==e||e.focus({preventScroll:!0})}"undefined"!=typeof window&&"undefined"!=typeof document&&(document.addEventListener("keydown",(e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible="")}),!0),document.addEventListener("click",(e=>{1===e.detail?delete document.documentElement.dataset.headlessuiFocusVisible:0===e.detail&&(document.documentElement.dataset.headlessuiFocusVisible="")}),!0));let me=["textarea","input"].join(",");function ge(e,t=(e=>e)){return e.slice().sort(((e,n)=>{let r=t(e),a=t(n);if(null===r||null===a)return 0;let o=r.compareDocumentPosition(a);return o&Node.DOCUMENT_POSITION_FOLLOWING?-1:o&Node.DOCUMENT_POSITION_PRECEDING?1:0}))}function ve(e,t,{sorted:n=!0,relativeTo:r=null,skipElements:a=[]}={}){let o=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e.ownerDocument,i=Array.isArray(e)?n?ge(e):e:se(e);a.length>0&&i.length>1&&(i=i.filter((e=>!a.includes(e)))),r=null!=r?r:o.activeElement;let l,s=(()=>{if(5&t)return 1;if(10&t)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),c=(()=>{if(1&t)return 0;if(2&t)return Math.max(0,i.indexOf(r))-1;if(4&t)return Math.max(0,i.indexOf(r))+1;if(8&t)return i.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),u=32&t?{preventScroll:!0}:{},d=0,f=i.length;do{if(d>=f||d+f<=0)return 0;let e=c+d;if(16&t)e=(e+f)%f;else{if(e<0)return 3;if(e>=f)return 1}l=i[e],null==l||l.focus(u),d+=s}while(l!==o.activeElement);return 6&t&&function(e){var t,n;return null!=(n=null==(t=null==e?void 0:e.matches)?void 0:t.call(e,me))&&n}(l)&&l.select(),2}function be(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function he(){return be()||/Android/gi.test(window.navigator.userAgent)}function ye(e,t,n){let r=G(t);o((()=>{function t(e){r.current(e)}return document.addEventListener(e,t,n),()=>document.removeEventListener(e,t,n)}),[e,n])}function we(e,t,n){let r=G(t);o((()=>{function t(e){r.current(e)}return window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)}),[e,n])}function xe(e,t,n=!0){let r=l(!1);function a(n,a){if(!r.current||n.defaultPrevented)return;let o=a(n);if(null===o||!o.getRootNode().contains(o)||!o.isConnected)return;let i=function e(t){return"function"==typeof t?e(t()):Array.isArray(t)||t instanceof Set?t:[t]}(e);for(let e of i){if(null===e)continue;let t=e instanceof HTMLElement?e:e.current;if(null!=t&&t.contains(o)||n.composed&&n.composedPath().includes(t))return}return!ue(o,ce.Loose)&&-1!==o.tabIndex&&n.preventDefault(),t(n,o)}o((()=>{requestAnimationFrame((()=>{r.current=n}))}),[n]);let i=l(null);ye("pointerdown",(e=>{var t,n;r.current&&(i.current=(null==(n=null==(t=e.composedPath)?void 0:t.call(e))?void 0:n[0])||e.target)}),!0),ye("mousedown",(e=>{var t,n;r.current&&(i.current=(null==(n=null==(t=e.composedPath)?void 0:t.call(e))?void 0:n[0])||e.target)}),!0),ye("click",(e=>{he()||i.current&&(a(e,(()=>i.current)),i.current=null)}),!0),ye("touchend",(e=>a(e,(()=>e.target instanceof HTMLElement?e.target:null))),!0),we("blur",(e=>a(e,(()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null))),!0)}function ke(...e){return n((()=>re(...e)),[...e])}function Ee(e){var t;if(e.type)return e.type;let n=null!=(t=e.as)?t:"button";return"string"==typeof n&&"button"===n.toLowerCase()?"button":void 0}function Oe(e,t){let[n,r]=s((()=>Ee(e)));return Y((()=>{r(Ee(e))}),[e.type,e.as]),Y((()=>{n||t.current&&t.current instanceof HTMLButtonElement&&!t.current.hasAttribute("type")&&r("button")}),[n,t]),n}let Se=Symbol();function Ne(...e){let t=l(e);o((()=>{t.current=e}),[e]);let n=K((e=>{for(let n of t.current)null!=n&&("function"==typeof n?n(e):n.current=e)}));return e.every((e=>null==e||(null==e?void 0:e[Se])))?void 0:n}function Ae(e){return[e.screenX,e.screenY]}function Pe({container:e,accept:t,walk:n,enabled:r=!0}){let a=l(t),i=l(n);o((()=>{a.current=t,i.current=n}),[t,n]),Y((()=>{if(!e||!r)return;let t=re(e);if(!t)return;let n=a.current,o=i.current,l=Object.assign((e=>n(e)),{acceptNode:n}),s=t.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,l,!1);for(;s.nextNode();)o(s.currentNode)}),[e,r,a,i])}function Fe(e,t){let n=l([]),r=K(e);o((()=>{let e=[...n.current];for(let[a,o]of t.entries())if(n.current[a]!==o){let a=r(t,e);return n.current=t,a}}),[r,...t])}function Te(...e){return Array.from(new Set(e.flatMap((e=>"string"==typeof e?e.split(" "):[])))).filter(Boolean).join(" ")}var je=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(je||{}),Ce=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(Ce||{});function Re({ourProps:e,theirProps:t,slot:n,defaultTag:r,features:a,visible:o=!0,name:i,mergeRefs:l}){l=null!=l?l:De;let s=Le(t,e);if(o)return Ie(s,n,r,i,l);let c=null!=a?a:0;if(2&c){let{static:e=!1,...t}=s;if(e)return Ie(t,n,r,i,l)}if(1&c){let{unmount:e=!0,...t}=s;return ne(e?0:1,{0:()=>null,1:()=>Ie({...t,hidden:!0,style:{display:"none"}},n,r,i,l)})}return Ie(s,n,r,i,l)}function Ie(e,t={},n,r,a){let{as:o=n,children:i,refName:l="ref",...s}=$e(e,["unmount","static"]),c=void 0!==e.ref?{[l]:e.ref}:{},m="function"==typeof i?i(t):i;"className"in s&&s.className&&"function"==typeof s.className&&(s.className=s.className(t));let g={};if(t){let e=!1,n=[];for(let[r,a]of Object.entries(t))"boolean"==typeof a&&(e=!0),!0===a&&n.push(r);e&&(g["data-headlessui-state"]=n.join(" "))}if(o===u&&Object.keys(_e(s)).length>0){if(!d(m)||Array.isArray(m)&&m.length>1)throw new Error(['Passing props on "Fragment"!',"",`The current component <${r} /> is rendering a "Fragment".`,"However we need to passthrough the following props:",Object.keys(s).map((e=>` - ${e}`)).join("\n"),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".',"Render a single element as the child so that we can forward the props onto that element."].map((e=>` - ${e}`)).join("\n")].join("\n"));let e=m.props,t="function"==typeof(null==e?void 0:e.className)?(...t)=>Te(null==e?void 0:e.className(...t),s.className):Te(null==e?void 0:e.className,s.className),n=t?{className:t}:{};return f(m,Object.assign({},Le(m.props,_e($e(s,["ref"]))),g,c,{ref:a(m.ref,c.ref)},n))}return p(o,Object.assign({},$e(s,["ref"]),o!==u&&c,o!==u&&g),m)}function De(...e){return e.every((e=>null==e))?void 0:t=>{for(let n of e)null!=n&&("function"==typeof n?n(t):n.current=t)}}function Le(...e){if(0===e.length)return{};if(1===e.length)return e[0];let t={},n={};for(let r of e)for(let e in r)e.startsWith("on")&&"function"==typeof r[e]?(null!=n[e]||(n[e]=[]),n[e].push(r[e])):t[e]=r[e];if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(n).map((e=>[e,void 0]))));for(let e in n)Object.assign(t,{[e](t,...r){let a=n[e];for(let e of a){if((t instanceof Event||(null==t?void 0:t.nativeEvent)instanceof Event)&&t.defaultPrevented)return;e(t,...r)}}});return t}function Me(e){var t;return Object.assign(c(e),{displayName:null!=(t=e.displayName)?t:e.name})}function _e(e){let t=Object.assign({},e);for(let e in t)void 0===t[e]&&delete t[e];return t}function $e(e,t=[]){let n=Object.assign({},e);for(let e of t)e in n&&delete n[e];return n}var ze=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(ze||{});let Be=Me((function(e,t){var n;let{features:r=1,...a}=e;return Re({ourProps:{ref:t,"aria-hidden":!(2&~r)||(null!=(n=a["aria-hidden"])?n:void 0),hidden:!(4&~r)||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",...!(4&~r)&&!!(2&~r)&&{display:"none"}}},theirProps:a,slot:{},defaultTag:"div",name:"Hidden"})})),He=r(null);He.displayName="OpenClosedContext";var Ue=(e=>(e[e.Open=1]="Open",e[e.Closed=2]="Closed",e[e.Closing=4]="Closing",e[e.Opening=8]="Opening",e))(Ue||{});function We(){return a(He)}function qe({value:e,children:n}){return t.createElement(He.Provider,{value:e},n)}let Ve=[];function Ye(e){let t=e.parentElement,n=null;for(;t&&!(t instanceof HTMLFieldSetElement);)t instanceof HTMLLegendElement&&(n=t),t=t.parentElement;let r=""===(null==t?void 0:t.getAttribute("disabled"));return(!r||!function(e){if(!e)return!1;let t=e.previousElementSibling;for(;null!==t;){if(t instanceof HTMLLegendElement)return!1;t=t.previousElementSibling}return!0}(n))&&r}!function(e){function t(){"loading"!==document.readyState&&(e(),document.removeEventListener("DOMContentLoaded",t))}"undefined"!=typeof window&&"undefined"!=typeof document&&(document.addEventListener("DOMContentLoaded",t),t())}((()=>{function e(e){e.target instanceof HTMLElement&&e.target!==document.body&&Ve[0]!==e.target&&(Ve.unshift(e.target),Ve=Ve.filter((e=>null!=e&&e.isConnected)),Ve.splice(10))}window.addEventListener("click",e,{capture:!0}),window.addEventListener("mousedown",e,{capture:!0}),window.addEventListener("focus",e,{capture:!0}),document.body.addEventListener("click",e,{capture:!0}),document.body.addEventListener("mousedown",e,{capture:!0}),document.body.addEventListener("focus",e,{capture:!0})}));var Ge=(e=>(e[e.First=0]="First",e[e.Previous=1]="Previous",e[e.Next=2]="Next",e[e.Last=3]="Last",e[e.Specific=4]="Specific",e[e.Nothing=5]="Nothing",e))(Ge||{});function Ke(e,t){let n=t.resolveItems();if(n.length<=0)return null;let r=t.resolveActiveIndex(),a=null!=r?r:-1;switch(e.focus){case 0:for(let e=0;e<n.length;++e)if(!t.resolveDisabled(n[e],e,n))return e;return r;case 1:for(let e=a-1;e>=0;--e)if(!t.resolveDisabled(n[e],e,n))return e;return r;case 2:for(let e=a+1;e<n.length;++e)if(!t.resolveDisabled(n[e],e,n))return e;return r;case 3:for(let e=n.length-1;e>=0;--e)if(!t.resolveDisabled(n[e],e,n))return e;return r;case 4:for(let r=0;r<n.length;++r)if(t.resolveId(n[r],r,n)===e.id)return r;return r;case 5:return null;default:!function(e){throw new Error("Unexpected object: "+e)}(e)}}function Xe(e={},t=null,n=[]){for(let[r,a]of Object.entries(e))Qe(n,Je(t,r),a);return n}function Je(e,t){return e?e+"["+t+"]":t}function Qe(e,t,n){if(Array.isArray(n))for(let[r,a]of n.entries())Qe(e,Je(t,r.toString()),a);else n instanceof Date?e.push([t,n.toISOString()]):"boolean"==typeof n?e.push([t,n?"1":"0"]):"string"==typeof n?e.push([t,n]):"number"==typeof n?e.push([t,`${n}`]):null==n?e.push([t,""]):Xe(n,t,e)}var Ze=(e=>(e.Space=" ",e.Enter="Enter",e.Escape="Escape",e.Backspace="Backspace",e.Delete="Delete",e.ArrowLeft="ArrowLeft",e.ArrowUp="ArrowUp",e.ArrowRight="ArrowRight",e.ArrowDown="ArrowDown",e.Home="Home",e.End="End",e.PageUp="PageUp",e.PageDown="PageDown",e.Tab="Tab",e))(Ze||{});function et(e,t,n,r){let a=G(n);o((()=>{function n(e){a.current(e)}return(e=null!=e?e:window).addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}),[e,t,r])}function tt(){let e=l(!1);return Y((()=>(e.current=!0,()=>{e.current=!1})),[]),e}function nt(e){let t=K(e),n=l(!1);o((()=>(n.current=!1,()=>{n.current=!0,X((()=>{n.current&&t()}))})),[t])}var rt=(e=>(e[e.Forwards=0]="Forwards",e[e.Backwards=1]="Backwards",e))(rt||{});function at(e){if(!e)return new Set;if("function"==typeof e)return new Set(e());let t=new Set;for(let n of e.current)n.current instanceof HTMLElement&&t.add(n.current);return t}var ot=(e=>(e[e.None=1]="None",e[e.InitialFocus=2]="InitialFocus",e[e.TabLock=4]="TabLock",e[e.FocusLock=8]="FocusLock",e[e.RestoreFocus=16]="RestoreFocus",e[e.All=30]="All",e))(ot||{});let it=Me((function(e,n){let r=l(null),a=Ne(r,n),{initialFocus:o,containers:i,features:s=30,...c}=e;Z()||(s=1);let u=ke(r);!function({ownerDocument:e},t){let n=function(e=!0){let t=l(Ve.slice());return Fe((([e],[n])=>{!0===n&&!1===e&&X((()=>{t.current.splice(0)})),!1===n&&!0===e&&(t.current=Ve.slice())}),[e,Ve,t]),K((()=>{var e;return null!=(e=t.current.find((e=>null!=e&&e.isConnected)))?e:null}))}(t);Fe((()=>{t||(null==e?void 0:e.activeElement)===(null==e?void 0:e.body)&&pe(n())}),[t]),nt((()=>{t&&pe(n())}))}({ownerDocument:u},Boolean(16&s));let d=function({ownerDocument:e,container:t,initialFocus:n},r){let a=l(null),o=tt();return Fe((()=>{if(!r)return;let i=t.current;i&&X((()=>{if(!o.current)return;let t=null==e?void 0:e.activeElement;if(null!=n&&n.current){if((null==n?void 0:n.current)===t)return void(a.current=t)}else if(i.contains(t))return void(a.current=t);null!=n&&n.current?pe(n.current):ve(i,oe.First)===ie.Error&&console.warn("There are no focusable elements inside the <FocusTrap />"),a.current=null==e?void 0:e.activeElement}))}),[r]),a}({ownerDocument:u,container:r,initialFocus:o},Boolean(2&s));!function({ownerDocument:e,container:t,containers:n,previousActiveElement:r},a){let o=tt();et(null==e?void 0:e.defaultView,"focus",(e=>{if(!a||!o.current)return;let i=at(n);t.current instanceof HTMLElement&&i.add(t.current);let l=r.current;if(!l)return;let s=e.target;s&&s instanceof HTMLElement?st(i,s)?(r.current=s,pe(s)):(e.preventDefault(),e.stopPropagation(),pe(l)):pe(r.current)}),!0)}({ownerDocument:u,container:r,containers:i,previousActiveElement:d},Boolean(8&s));let f=function(){let e=l(0);return we("keydown",(t=>{"Tab"===t.key&&(e.current=t.shiftKey?1:0)}),!0),e}(),p=K((e=>{let t=r.current;t&&ne(f.current,{[rt.Forwards]:()=>{ve(t,oe.First,{skipElements:[e.relatedTarget]})},[rt.Backwards]:()=>{ve(t,oe.Last,{skipElements:[e.relatedTarget]})}})})),m=Q(),g=l(!1),v={ref:a,onKeyDown(e){"Tab"==e.key&&(g.current=!0,m.requestAnimationFrame((()=>{g.current=!1})))},onBlur(e){let t=at(i);r.current instanceof HTMLElement&&t.add(r.current);let n=e.relatedTarget;n instanceof HTMLElement&&"true"!==n.dataset.headlessuiFocusGuard&&(st(t,n)||(g.current?ve(r.current,ne(f.current,{[rt.Forwards]:()=>oe.Next,[rt.Backwards]:()=>oe.Previous})|oe.WrapAround,{relativeTo:e.target}):e.target instanceof HTMLElement&&pe(e.target)))}};return t.createElement(t.Fragment,null,Boolean(4&s)&&t.createElement(Be,{as:"button",type:"button","data-headlessui-focus-guard":!0,onFocus:p,features:ze.Focusable}),Re({ourProps:v,theirProps:c,defaultTag:"div",name:"FocusTrap"}),Boolean(4&s)&&t.createElement(Be,{as:"button",type:"button","data-headlessui-focus-guard":!0,onFocus:p,features:ze.Focusable}))})),lt=Object.assign(it,{features:ot});function st(e,t){for(let n of e)if(n.contains(t))return!0;return!1}let ct=r(!1);function ut(e){return t.createElement(ct.Provider,{value:e.force},e.children)}function dt(e){let t=a(ct),n=a(mt),r=ke(e),[i,l]=s((()=>{if(!t&&null!==n||V.isServer)return null;let e=null==r?void 0:r.getElementById("headlessui-portal-root");if(e)return e;if(null===r)return null;let a=r.createElement("div");return a.setAttribute("id","headlessui-portal-root"),r.body.appendChild(a)}));return o((()=>{null!==i&&(null!=r&&r.body.contains(i)||null==r||r.body.appendChild(i))}),[i,r]),o((()=>{t||null!==n&&l(n.current)}),[n,l,t]),i}let ft=u;let pt=u,mt=r(null);let gt=r(null);let vt=Me((function(e,t){let n=e,r=l(null),o=Ne(function(e,t=!0){return Object.assign(e,{[Se]:t})}((e=>{r.current=e})),t),i=ke(r),c=dt(r),[u]=s((()=>{var e;return V.isServer?null:null!=(e=null==i?void 0:i.createElement("div"))?e:null})),d=a(gt),f=Z();return Y((()=>{!c||!u||c.contains(u)||(u.setAttribute("data-headlessui-portal",""),c.appendChild(u))}),[c,u]),Y((()=>{if(u&&d)return d.register(u)}),[d,u]),nt((()=>{var e;!c||!u||(u instanceof Node&&c.contains(u)&&c.removeChild(u),c.childNodes.length<=0&&(null==(e=c.parentElement)||e.removeChild(c)))})),f&&c&&u?b(Re({ourProps:{ref:o},theirProps:n,defaultTag:ft,name:"Portal"}),u):null})),bt=Me((function(e,n){let{target:r,...a}=e,o={ref:Ne(n)};return t.createElement(mt.Provider,{value:r},Re({ourProps:o,theirProps:a,defaultTag:pt,name:"Popover.Group"}))})),ht=Object.assign(vt,{Group:bt});const yt="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},{useState:wt,useEffect:xt,useLayoutEffect:kt,useDebugValue:Et}=e;function Ot(e){const t=e.getSnapshot,n=e.value;try{const e=t();return!yt(n,e)}catch{return!0}}const St=!("undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement)?function(e,t,n){return t()}:function(e,t,n){const r=t(),[{inst:a},o]=wt({inst:{value:r,getSnapshot:t}});return kt((()=>{a.value=r,a.getSnapshot=t,Ot(a)&&o({inst:a})}),[e,r,t]),xt((()=>(Ot(a)&&o({inst:a}),e((()=>{Ot(a)&&o({inst:a})})))),[e]),Et(r),r},Nt="useSyncExternalStore"in e?e.useSyncExternalStore:St;function At(){let e;return{before({doc:t}){var n;let r=t.documentElement;e=(null!=(n=t.defaultView)?n:window).innerWidth-r.clientWidth},after({doc:t,d:n}){let r=t.documentElement,a=r.clientWidth-r.offsetWidth,o=e-a;n.style(r,"paddingRight",`${o}px`)}}}function Pt(e){let t={};for(let n of e)Object.assign(t,n(t));return t}let Ft=function(e,t){let n=e(),r=new Set;return{getSnapshot:()=>n,subscribe:e=>(r.add(e),()=>r.delete(e)),dispatch(e,...a){let o=t[e].call(n,...a);o&&(n=o,r.forEach((e=>e())))}}}((()=>new Map),{PUSH(e,t){var n;let r=null!=(n=this.get(e))?n:{doc:e,count:0,d:J(),meta:new Set};return r.count++,r.meta.add(t),this.set(e,r),this},POP(e,t){let n=this.get(e);return n&&(n.count--,n.meta.delete(t)),this},SCROLL_PREVENT({doc:e,d:t,meta:n}){let r={doc:e,d:t,meta:Pt(n)},a=[be()?{before({doc:e,d:t,meta:n}){function r(e){return n.containers.flatMap((e=>e())).some((t=>t.contains(e)))}t.microTask((()=>{var n;if("auto"!==window.getComputedStyle(e.documentElement).scrollBehavior){let n=J();n.style(e.documentElement,"scrollBehavior","auto"),t.add((()=>t.microTask((()=>n.dispose()))))}let a=null!=(n=window.scrollY)?n:window.pageYOffset,o=null;t.addEventListener(e,"click",(t=>{if(t.target instanceof HTMLElement)try{let n=t.target.closest("a");if(!n)return;let{hash:a}=new URL(n.href),i=e.querySelector(a);i&&!r(i)&&(o=i)}catch{}}),!0),t.addEventListener(e,"touchstart",(e=>{if(e.target instanceof HTMLElement)if(r(e.target)){let n=e.target;for(;n.parentElement&&r(n.parentElement);)n=n.parentElement;t.style(n,"overscrollBehavior","contain")}else t.style(e.target,"touchAction","none")})),t.addEventListener(e,"touchmove",(e=>{if(e.target instanceof HTMLElement)if(r(e.target)){let t=e.target;for(;t.parentElement&&""!==t.dataset.headlessuiPortal&&!(t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth);)t=t.parentElement;""===t.dataset.headlessuiPortal&&e.preventDefault()}else e.preventDefault()}),{passive:!1}),t.add((()=>{var e;let t=null!=(e=window.scrollY)?e:window.pageYOffset;a!==t&&window.scrollTo(0,a),o&&o.isConnected&&(o.scrollIntoView({block:"nearest"}),o=null)}))}))}}:{},At(),{before({doc:e,d:t}){t.style(e.documentElement,"overflow","hidden")}}];a.forEach((({before:e})=>null==e?void 0:e(r))),a.forEach((({after:e})=>null==e?void 0:e(r)))},SCROLL_ALLOW({d:e}){e.dispose()},TEARDOWN({doc:e}){this.delete(e)}});function Tt(e,t,n){let r=function(e){return Nt(e.subscribe,e.getSnapshot,e.getSnapshot)}(Ft),a=e?r.get(e):void 0,o=!!a&&a.count>0;return Y((()=>{if(e&&t)return Ft.dispatch("PUSH",e,n),()=>Ft.dispatch("POP",e,n)}),[t,e]),o}Ft.subscribe((()=>{let e=Ft.getSnapshot(),t=new Map;for(let[n]of e)t.set(n,n.documentElement.style.overflow);for(let n of e.values()){let e="hidden"===t.get(n.doc),r=0!==n.count;(r&&!e||!r&&e)&&Ft.dispatch(n.count>0?"SCROLL_PREVENT":"SCROLL_ALLOW",n),0===n.count&&Ft.dispatch("TEARDOWN",n)}}));let jt=new Map,Ct=new Map;function Rt(e,t=!0){Y((()=>{var n;if(!t)return;let r="function"==typeof e?e():e.current;if(!r)return;let a=null!=(n=Ct.get(r))?n:0;return Ct.set(r,a+1),0!==a||(jt.set(r,{"aria-hidden":r.getAttribute("aria-hidden"),inert:r.inert}),r.setAttribute("aria-hidden","true"),r.inert=!0),function(){var e;if(!r)return;let t=null!=(e=Ct.get(r))?e:1;if(1===t?Ct.delete(r):Ct.set(r,t-1),1!==t)return;let n=jt.get(r);n&&(null===n["aria-hidden"]?r.removeAttribute("aria-hidden"):r.setAttribute("aria-hidden",n["aria-hidden"]),r.inert=n.inert,jt.delete(r))}}),[e,t])}let It=r((()=>{}));It.displayName="StackContext";var Dt=(e=>(e[e.Add=0]="Add",e[e.Remove=1]="Remove",e))(Dt||{});function Lt({children:e,onUpdate:n,type:r,element:o,enabled:i}){let l=a(It),s=K(((...e)=>{null==n||n(...e),l(...e)}));return Y((()=>{let e=void 0===i||!0===i;return e&&s(0,r,o),()=>{e&&s(1,r,o)}}),[s,r,o,i]),t.createElement(It.Provider,{value:s},e)}let Mt=r(null);function _t(){let e=a(Mt);if(null===e){let e=new Error("You used a <Description /> component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(e,_t),e}return e}function $t(){let[e,r]=s([]);return[e.length>0?e.join(" "):void 0,n((()=>function(e){let a=K((e=>(r((t=>[...t,e])),()=>r((t=>{let n=t.slice(),r=n.indexOf(e);return-1!==r&&n.splice(r,1),n}))))),o=n((()=>({register:a,slot:e.slot,name:e.name,props:e.props})),[a,e.slot,e.name,e.props]);return t.createElement(Mt.Provider,{value:o},e.children)}),[r])]}let zt=Me((function(e,t){let n=te(),{id:r=`headlessui-description-${n}`,...a}=e,o=_t(),i=Ne(t);return Y((()=>o.register(r)),[r,o.register]),Re({ourProps:{ref:i,...o.props,id:r},theirProps:a,slot:o.slot||{},defaultTag:"p",name:o.name||"Description"})})),Bt=Object.assign(zt,{});var Ht=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(Ht||{}),Ut=(e=>(e[e.SetTitleId=0]="SetTitleId",e))(Ut||{});let Wt={0:(e,t)=>e.titleId===t.id?e:{...e,titleId:t.id}},qt=r(null);function Vt(e){let t=a(qt);if(null===t){let t=new Error(`<${e} /> is missing a parent <Dialog /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,Vt),t}return t}function Yt(e,t){return ne(t.type,Wt,e,t)}qt.displayName="DialogContext";let Gt=je.RenderStrategy|je.Static;let Kt=Me((function(e,r){let i=te(),{id:c=`headlessui-dialog-${i}`,open:u,onClose:d,initialFocus:f,role:p="dialog",__demoMode:b=!1,...h}=e,[y,w]=s(0),x=l(!1);p="dialog"===p||"alertdialog"===p?p:(x.current||(x.current=!0,console.warn(`Invalid role [${p}] passed to <Dialog />. Only \`dialog\` and and \`alertdialog\` are supported. Using \`dialog\` instead.`)),"dialog");let k=We();void 0===u&&null!==k&&(u=(k&Ue.Open)===Ue.Open);let E=l(null),O=Ne(E,r),S=ke(E),N=e.hasOwnProperty("open")||null!==k,A=e.hasOwnProperty("onClose");if(!N&&!A)throw new Error("You have to provide an `open` and an `onClose` prop to the `Dialog` component.");if(!N)throw new Error("You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.");if(!A)throw new Error("You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.");if("boolean"!=typeof u)throw new Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${u}`);if("function"!=typeof d)throw new Error(`You provided an \`onClose\` prop to the \`Dialog\`, but the value is not a function. Received: ${d}`);let P=u?0:1,[F,T]=m(Yt,{titleId:null,descriptionId:null,panelRef:g()}),j=K((()=>d(!1))),C=K((e=>T({type:0,id:e}))),R=!!Z()&&(!b&&0===P),I=y>1,D=null!==a(qt),[L,M]=function(){let e=a(gt),r=l([]),o=K((t=>(r.current.push(t),e&&e.register(t),()=>i(t)))),i=K((t=>{let n=r.current.indexOf(t);-1!==n&&r.current.splice(n,1),e&&e.unregister(t)})),s=n((()=>({register:o,unregister:i,portals:r})),[o,i,r]);return[r,n((()=>function({children:e}){return t.createElement(gt.Provider,{value:s},e)}),[s])]}(),_={get current(){var e;return null!=(e=F.panelRef.current)?e:E.current}},{resolveContainers:$,mainTreeNodeRef:z,MainTreeNode:B}=function({defaultContainers:e=[],portals:r,mainTreeNodeRef:a}={}){var o;let i=l(null!=(o=null==a?void 0:a.current)?o:null),s=ke(i),c=K((()=>{var t,n,a;let o=[];for(let t of e)null!==t&&(t instanceof HTMLElement?o.push(t):"current"in t&&t.current instanceof HTMLElement&&o.push(t.current));if(null!=r&&r.current)for(let e of r.current)o.push(e);for(let e of null!=(t=null==s?void 0:s.querySelectorAll("html > *, body > *"))?t:[])e!==document.body&&e!==document.head&&e instanceof HTMLElement&&"headlessui-portal-root"!==e.id&&(e.contains(i.current)||e.contains(null==(a=null==(n=i.current)?void 0:n.getRootNode())?void 0:a.host)||o.some((t=>e.contains(t)))||o.push(e));return o}));return{resolveContainers:c,contains:K((e=>c().some((t=>t.contains(e))))),mainTreeNodeRef:i,MainTreeNode:n((()=>function(){return null!=a?null:t.createElement(Be,{features:ze.Hidden,ref:i})}),[i,a])}}({portals:L,defaultContainers:[_]}),H=I?"parent":"leaf",U=null!==k&&(k&Ue.Closing)===Ue.Closing,W=!D&&!U&&R,q=v((()=>{var e,t;return null!=(t=Array.from(null!=(e=null==S?void 0:S.querySelectorAll("body > *"))?e:[]).find((e=>"headlessui-portal-root"!==e.id&&(e.contains(z.current)&&e instanceof HTMLElement))))?t:null}),[z]);Rt(q,W);let V=!!I||R,Y=v((()=>{var e,t;return null!=(t=Array.from(null!=(e=null==S?void 0:S.querySelectorAll("[data-headlessui-portal]"))?e:[]).find((e=>e.contains(z.current)&&e instanceof HTMLElement)))?t:null}),[z]);Rt(Y,V),xe($,(e=>{e.preventDefault(),j()}),!(!R||I));let G=!(I||0!==P);et(null==S?void 0:S.defaultView,"keydown",(e=>{G&&(e.defaultPrevented||e.key===Ze.Escape&&(e.preventDefault(),e.stopPropagation(),j()))})),function(e,t,n=(()=>[document.body])){Tt(e,t,(e=>{var t;return{containers:[...null!=(t=e.containers)?t:[],n]}}))}(S,!(U||0!==P||D),$),o((()=>{if(0!==P||!E.current)return;let e=new ResizeObserver((e=>{for(let t of e){let e=t.target.getBoundingClientRect();0===e.x&&0===e.y&&0===e.width&&0===e.height&&j()}}));return e.observe(E.current),()=>e.disconnect()}),[P,E,j]);let[X,J]=$t(),Q=n((()=>[{dialogState:P,close:j,setTitleId:C},F]),[P,F,j,C]),ee=n((()=>({open:0===P})),[P]),re={ref:O,id:c,role:p,"aria-modal":0===P||void 0,"aria-labelledby":F.titleId,"aria-describedby":X};return t.createElement(Lt,{type:"Dialog",enabled:0===P,element:E,onUpdate:K(((e,t)=>{"Dialog"===t&&ne(e,{[Dt.Add]:()=>w((e=>e+1)),[Dt.Remove]:()=>w((e=>e-1))})}))},t.createElement(ut,{force:!0},t.createElement(ht,null,t.createElement(qt.Provider,{value:Q},t.createElement(ht.Group,{target:E},t.createElement(ut,{force:!1},t.createElement(J,{slot:ee,name:"Dialog.Description"},t.createElement(lt,{initialFocus:f,containers:$,features:R?ne(H,{parent:lt.features.RestoreFocus,leaf:lt.features.All&~lt.features.FocusLock}):lt.features.None},t.createElement(M,null,Re({ourProps:re,theirProps:h,slot:ee,defaultTag:"div",features:Gt,visible:0===P,name:"Dialog"}))))))))),t.createElement(B,null))})),Xt=Me((function(e,r){let a=te(),{id:i=`headlessui-dialog-backdrop-${a}`,...l}=e,[{dialogState:s},c]=Vt("Dialog.Backdrop"),u=Ne(r);o((()=>{if(null===c.panelRef.current)throw new Error("A <Dialog.Backdrop /> component is being used, but a <Dialog.Panel /> component is missing.")}),[c.panelRef]);let d=n((()=>({open:0===s})),[s]);return t.createElement(ut,{force:!0},t.createElement(ht,null,Re({ourProps:{ref:u,id:i,"aria-hidden":!0},theirProps:l,slot:d,defaultTag:"div",name:"Dialog.Backdrop"})))})),Jt=Me((function(e,t){let r=te(),{id:a=`headlessui-dialog-panel-${r}`,...o}=e,[{dialogState:i},l]=Vt("Dialog.Panel"),s=Ne(t,l.panelRef),c=n((()=>({open:0===i})),[i]),u=K((e=>{e.stopPropagation()}));return Re({ourProps:{ref:s,id:a,onClick:u},theirProps:o,slot:c,defaultTag:"div",name:"Dialog.Panel"})})),Qt=Me((function(e,t){let r=te(),{id:a=`headlessui-dialog-overlay-${r}`,...o}=e,[{dialogState:i,close:l}]=Vt("Dialog.Overlay"),s=Ne(t),c=K((e=>{if(e.target===e.currentTarget){if(Ye(e.currentTarget))return e.preventDefault();e.preventDefault(),e.stopPropagation(),l()}}));return Re({ourProps:{ref:s,id:a,"aria-hidden":!0,onClick:c},theirProps:o,slot:n((()=>({open:0===i})),[i]),defaultTag:"div",name:"Dialog.Overlay"})})),Zt=Me((function(e,t){let r=te(),{id:a=`headlessui-dialog-title-${r}`,...i}=e,[{dialogState:l,setTitleId:s}]=Vt("Dialog.Title"),c=Ne(t);o((()=>(s(a),()=>s(null))),[a,s]);let u=n((()=>({open:0===l})),[l]);return Re({ourProps:{ref:c,id:a},theirProps:i,slot:u,defaultTag:"h2",name:"Dialog.Title"})})),en=Object.assign(Kt,{Backdrop:Xt,Panel:Jt,Overlay:Qt,Title:Zt,Description:Bt}),tn=/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;function nn(e){var t,n;let r=null!=(t=e.innerText)?t:"",a=e.cloneNode(!0);if(!(a instanceof HTMLElement))return r;let o=!1;for(let e of a.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))e.remove(),o=!0;let i=o?null!=(n=a.innerText)?n:"":r;return tn.test(i)&&(i=i.replace(tn,"")),i}function rn(e){let t=l(""),n=l("");return K((()=>{let r=e.current;if(!r)return"";let a=r.innerText;if(t.current===a)return n.current;let o=function(e){let t=e.getAttribute("aria-label");if("string"==typeof t)return t.trim();let n=e.getAttribute("aria-labelledby");if(n){let e=n.split(" ").map((e=>{let t=document.getElementById(e);if(t){let e=t.getAttribute("aria-label");return"string"==typeof e?e.trim():nn(t).trim()}return null})).filter(Boolean);if(e.length>0)return e.join(", ")}return nn(e).trim()}(r).trim().toLowerCase();return t.current=a,n.current=o,o}))}var an=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(an||{}),on=(e=>(e[e.Pointer=0]="Pointer",e[e.Other=1]="Other",e))(on||{}),ln=(e=>(e[e.OpenMenu=0]="OpenMenu",e[e.CloseMenu=1]="CloseMenu",e[e.GoToItem=2]="GoToItem",e[e.Search=3]="Search",e[e.ClearSearch=4]="ClearSearch",e[e.RegisterItem=5]="RegisterItem",e[e.UnregisterItem=6]="UnregisterItem",e))(ln||{});function sn(e,t=(e=>e)){let n=null!==e.activeItemIndex?e.items[e.activeItemIndex]:null,r=ge(t(e.items.slice()),(e=>e.dataRef.current.domRef.current)),a=n?r.indexOf(n):null;return-1===a&&(a=null),{items:r,activeItemIndex:a}}let cn={1:e=>1===e.menuState?e:{...e,activeItemIndex:null,menuState:1},0:e=>0===e.menuState?e:{...e,__demoMode:!1,menuState:0},2:(e,t)=>{var n;let r=sn(e),a=Ke(t,{resolveItems:()=>r.items,resolveActiveIndex:()=>r.activeItemIndex,resolveId:e=>e.id,resolveDisabled:e=>e.dataRef.current.disabled});return{...e,...r,searchQuery:"",activeItemIndex:a,activationTrigger:null!=(n=t.trigger)?n:1}},3:(e,t)=>{let n=""!==e.searchQuery?0:1,r=e.searchQuery+t.value.toLowerCase(),a=(null!==e.activeItemIndex?e.items.slice(e.activeItemIndex+n).concat(e.items.slice(0,e.activeItemIndex+n)):e.items).find((e=>{var t;return(null==(t=e.dataRef.current.textValue)?void 0:t.startsWith(r))&&!e.dataRef.current.disabled})),o=a?e.items.indexOf(a):-1;return-1===o||o===e.activeItemIndex?{...e,searchQuery:r}:{...e,searchQuery:r,activeItemIndex:o,activationTrigger:1}},4:e=>""===e.searchQuery?e:{...e,searchQuery:"",searchActiveItemIndex:null},5:(e,t)=>{let n=sn(e,(e=>[...e,{id:t.id,dataRef:t.dataRef}]));return{...e,...n}},6:(e,t)=>{let n=sn(e,(e=>{let n=e.findIndex((e=>e.id===t.id));return-1!==n&&e.splice(n,1),e}));return{...e,...n,activationTrigger:1}}},un=r(null);function dn(e){let t=a(un);if(null===t){let t=new Error(`<${e} /> is missing a parent <Menu /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,dn),t}return t}function fn(e,t){return ne(t.type,cn,e,t)}un.displayName="MenuContext";let pn=u;let mn=je.RenderStrategy|je.Static;let gn=u;let vn=Me((function(e,r){let{__demoMode:a=!1,...o}=e,i=m(fn,{__demoMode:a,menuState:a?0:1,buttonRef:g(),itemsRef:g(),items:[],searchQuery:"",activeItemIndex:null,activationTrigger:1}),[{menuState:l,itemsRef:s,buttonRef:c},u]=i,d=Ne(r);xe([c,s],((e,t)=>{var n;u({type:1}),ue(t,ce.Loose)||(e.preventDefault(),null==(n=c.current)||n.focus())}),0===l);let f=K((()=>{u({type:1})})),p=n((()=>({open:0===l,close:f})),[l,f]),v={ref:d};return t.createElement(un.Provider,{value:i},t.createElement(qe,{value:ne(l,{0:Ue.Open,1:Ue.Closed})},Re({ourProps:v,theirProps:o,slot:p,defaultTag:pn,name:"Menu"})))})),bn=Me((function(e,t){var r;let a=te(),{id:o=`headlessui-menu-button-${a}`,...i}=e,[l,s]=dn("Menu.Button"),c=Ne(l.buttonRef,t),u=Q(),d=K((e=>{switch(e.key){case Ze.Space:case Ze.Enter:case Ze.ArrowDown:e.preventDefault(),e.stopPropagation(),s({type:0}),u.nextFrame((()=>s({type:2,focus:Ge.First})));break;case Ze.ArrowUp:e.preventDefault(),e.stopPropagation(),s({type:0}),u.nextFrame((()=>s({type:2,focus:Ge.Last})))}})),f=K((e=>{if(e.key===Ze.Space)e.preventDefault()})),p=K((t=>{if(Ye(t.currentTarget))return t.preventDefault();e.disabled||(0===l.menuState?(s({type:1}),u.nextFrame((()=>{var e;return null==(e=l.buttonRef.current)?void 0:e.focus({preventScroll:!0})}))):(t.preventDefault(),s({type:0})))})),m=n((()=>({open:0===l.menuState})),[l]);return Re({ourProps:{ref:c,id:o,type:Oe(e,l.buttonRef),"aria-haspopup":"menu","aria-controls":null==(r=l.itemsRef.current)?void 0:r.id,"aria-expanded":0===l.menuState,onKeyDown:d,onKeyUp:f,onClick:p},theirProps:i,slot:m,defaultTag:"button",name:"Menu.Button"})})),hn=Me((function(e,t){var r,a;let i=te(),{id:l=`headlessui-menu-items-${i}`,...s}=e,[c,u]=dn("Menu.Items"),d=Ne(c.itemsRef,t),f=ke(c.itemsRef),p=Q(),m=We(),g=null!==m?(m&Ue.Open)===Ue.Open:0===c.menuState;o((()=>{let e=c.itemsRef.current;e&&0===c.menuState&&e!==(null==f?void 0:f.activeElement)&&e.focus({preventScroll:!0})}),[c.menuState,c.itemsRef,f]),Pe({container:c.itemsRef.current,enabled:0===c.menuState,accept:e=>"menuitem"===e.getAttribute("role")?NodeFilter.FILTER_REJECT:e.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT,walk(e){e.setAttribute("role","none")}});let v=K((e=>{var t,n;switch(p.dispose(),e.key){case Ze.Space:if(""!==c.searchQuery)return e.preventDefault(),e.stopPropagation(),u({type:3,value:e.key});case Ze.Enter:if(e.preventDefault(),e.stopPropagation(),u({type:1}),null!==c.activeItemIndex){let{dataRef:e}=c.items[c.activeItemIndex];null==(n=null==(t=e.current)?void 0:t.domRef.current)||n.click()}de(c.buttonRef.current);break;case Ze.ArrowDown:return e.preventDefault(),e.stopPropagation(),u({type:2,focus:Ge.Next});case Ze.ArrowUp:return e.preventDefault(),e.stopPropagation(),u({type:2,focus:Ge.Previous});case Ze.Home:case Ze.PageUp:return e.preventDefault(),e.stopPropagation(),u({type:2,focus:Ge.First});case Ze.End:case Ze.PageDown:return e.preventDefault(),e.stopPropagation(),u({type:2,focus:Ge.Last});case Ze.Escape:e.preventDefault(),e.stopPropagation(),u({type:1}),J().nextFrame((()=>{var e;return null==(e=c.buttonRef.current)?void 0:e.focus({preventScroll:!0})}));break;case Ze.Tab:e.preventDefault(),e.stopPropagation(),u({type:1}),J().nextFrame((()=>{!function(e,t){ve(se(),t,{relativeTo:e})}(c.buttonRef.current,e.shiftKey?oe.Previous:oe.Next)}));break;default:1===e.key.length&&(u({type:3,value:e.key}),p.setTimeout((()=>u({type:4})),350))}})),b=K((e=>{if(e.key===Ze.Space)e.preventDefault()})),h=n((()=>({open:0===c.menuState})),[c]);return Re({ourProps:{"aria-activedescendant":null===c.activeItemIndex||null==(r=c.items[c.activeItemIndex])?void 0:r.id,"aria-labelledby":null==(a=c.buttonRef.current)?void 0:a.id,id:l,onKeyDown:v,onKeyUp:b,role:"menu",tabIndex:0,ref:d},theirProps:s,slot:h,defaultTag:"div",features:mn,visible:g,name:"Menu.Items"})})),yn=Me((function(e,t){let r=te(),{id:a=`headlessui-menu-item-${r}`,disabled:o=!1,...i}=e,[s,c]=dn("Menu.Item"),u=null!==s.activeItemIndex&&s.items[s.activeItemIndex].id===a,d=l(null),f=Ne(t,d);Y((()=>{if(s.__demoMode||0!==s.menuState||!u||0===s.activationTrigger)return;let e=J();return e.requestAnimationFrame((()=>{var e,t;null==(t=null==(e=d.current)?void 0:e.scrollIntoView)||t.call(e,{block:"nearest"})})),e.dispose}),[s.__demoMode,d,u,s.menuState,s.activationTrigger,s.activeItemIndex]);let p=rn(d),m=l({disabled:o,domRef:d,get textValue(){return p()}});Y((()=>{m.current.disabled=o}),[m,o]),Y((()=>(c({type:5,id:a,dataRef:m}),()=>c({type:6,id:a}))),[m,a]);let g=K((()=>{c({type:1})})),v=K((e=>{if(o)return e.preventDefault();c({type:1}),de(s.buttonRef.current)})),b=K((()=>{if(o)return c({type:2,focus:Ge.Nothing});c({type:2,focus:Ge.Specific,id:a})})),h=function(){let e=l([-1,-1]);return{wasMoved(t){let n=Ae(t);return(e.current[0]!==n[0]||e.current[1]!==n[1])&&(e.current=n,!0)},update(t){e.current=Ae(t)}}}(),y=K((e=>h.update(e))),w=K((e=>{h.wasMoved(e)&&(o||u||c({type:2,focus:Ge.Specific,id:a,trigger:0}))})),x=K((e=>{h.wasMoved(e)&&(o||u&&c({type:2,focus:Ge.Nothing}))})),k=n((()=>({active:u,disabled:o,close:g})),[u,o,g]);return Re({ourProps:{id:a,ref:f,role:"menuitem",tabIndex:!0===o?void 0:-1,"aria-disabled":!0===o||void 0,disabled:void 0,onClick:v,onFocus:b,onPointerEnter:y,onMouseEnter:y,onPointerMove:w,onMouseMove:w,onPointerLeave:x,onMouseLeave:x},theirProps:i,slot:k,defaultTag:gn,name:"Menu.Item"})})),wn=Object.assign(vn,{Button:bn,Items:hn,Item:yn}),xn=r(null);function kn(){let e=a(xn);if(null===e){let e=new Error("You used a <Label /> component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(e,kn),e}return e}function En(){let[e,r]=s([]);return[e.length>0?e.join(" "):void 0,n((()=>function(e){let a=K((e=>(r((t=>[...t,e])),()=>r((t=>{let n=t.slice(),r=n.indexOf(e);return-1!==r&&n.splice(r,1),n}))))),o=n((()=>({register:a,slot:e.slot,name:e.name,props:e.props})),[a,e.slot,e.name,e.props]);return t.createElement(xn.Provider,{value:o},e.children)}),[r])]}let On=Me((function(e,t){let n=te(),{id:r=`headlessui-label-${n}`,passive:a=!1,...o}=e,i=kn(),l=Ne(t);Y((()=>i.register(r)),[r,i.register]);let s={ref:l,...i.props,id:r};return a&&("onClick"in s&&(delete s.htmlFor,delete s.onClick),"onClick"in o&&delete o.onClick),Re({ourProps:s,theirProps:o,slot:i.slot||{},defaultTag:"label",name:i.name||"Label"})})),Sn=Object.assign(On,{});function Nn(e=0){let[t,n]=s(e),r=tt(),a=v((e=>{r.current&&n((t=>t|e))}),[t,r]),o=v((e=>Boolean(t&e)),[t]),i=v((e=>{r.current&&n((t=>t&~e))}),[n,r]),l=v((e=>{r.current&&n((t=>t^e))}),[n]);return{flags:t,addFlag:a,hasFlag:o,removeFlag:i,toggleFlag:l}}var An=(e=>(e[e.RegisterOption=0]="RegisterOption",e[e.UnregisterOption=1]="UnregisterOption",e))(An||{});let Pn={0(e,t){let n=[...e.options,{id:t.id,element:t.element,propsRef:t.propsRef}];return{...e,options:ge(n,(e=>e.element.current))}},1(e,t){let n=e.options.slice(),r=e.options.findIndex((e=>e.id===t.id));return-1===r?e:(n.splice(r,1),{...e,options:n})}},Fn=r(null);function Tn(e){let t=a(Fn);if(null===t){let t=new Error(`<${e} /> is missing a parent <RadioGroup /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,Tn),t}return t}Fn.displayName="RadioGroupDataContext";let jn=r(null);function Cn(e){let t=a(jn);if(null===t){let t=new Error(`<${e} /> is missing a parent <RadioGroup /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,Cn),t}return t}function Rn(e,t){return ne(t.type,Pn,e,t)}jn.displayName="RadioGroupActionsContext";var In=(e=>(e[e.Empty=1]="Empty",e[e.Active=2]="Active",e))(In||{});let Dn=Me((function(e,r){let a=te(),{id:i=`headlessui-radiogroup-${a}`,value:c,defaultValue:u,form:d,name:f,onChange:p,by:g=((e,t)=>e===t),disabled:v=!1,...b}=e,h=K("string"==typeof g?(e,t)=>{let n=g;return(null==e?void 0:e[n])===(null==t?void 0:t[n])}:g),[y,w]=m(Rn,{options:[]}),x=y.options,[k,E]=En(),[O,S]=$t(),N=l(null),A=Ne(N,r),[P,F]=function(e,t,n){let[r,a]=s(n),o=void 0!==e,i=l(o),c=l(!1),u=l(!1);return!o||i.current||c.current?!o&&i.current&&!u.current&&(u.current=!0,i.current=o,console.error("A component is changing from c