@freecodecamp/ui
Version:
The freeCodeCamp.org open-source UI components
1 lines • 210 kB
JavaScript
"use strict";var e=require("react"),t=require("react-dom");function n(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var r=n(e);function a(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 o={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"},i=["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"],l=e.forwardRef(((t,n)=>{var{className:r,onClick:o,disabled:i,children:l,type:s="button"}=t,c=a(t,["className","onClick","disabled","children","type"]);return e.createElement("button",Object.assign({className:r,onClick:e=>{i?e.preventDefault():o&&o(e)},"aria-disabled":i,ref:n,type:s},c),l)})),s=e.forwardRef(((t,n)=>{var{className:r,href:o,download:i,target:l,children:s}=t,c=a(t,["className","href","download","target","children"]);return e.createElement("a",Object.assign({className:r,download:i,target:l,ref:n,href:o},c),s)})),c=e.forwardRef(((t,n)=>{var{onClick:r,className:o,children:i,disabled:c,href:u,download:d,target:f}=t,p=a(t,["onClick","className","children","disabled","href","download","target"]);return u&&!c?e.createElement(s,Object.assign({className:o,href:u,download:d,target:f,rel:"_blank"===f?"noopener noreferrer":"",ref:n,onClick:r},p),i):e.createElement(l,Object.assign({className:o,onClick:r,disabled:c,ref:n},p),i)})),u=e.forwardRef(((t,n)=>{var{className:r,size:o="medium",disabled:l,variant:s="primary",block:u}=t,d=a(t,["className","size","disabled","variant","block"]);const f=[r,e.useMemo((()=>(({size:e,variant:t,disabled:n,block:r})=>{const a=[...i];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:s,disabled:l,block:u})),[o,s,l,u])].join(" ");return e.createElement(c,Object.assign({className:f,ref:n,disabled:l},d))}));u.displayName="Button",c.displayName="HeadlessButton",l.displayName="StylessButton",s.displayName="Link";const d={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"};function f({className:t,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",t].join(" ");return e.createElement("button",{className:a,onClick:r,type:"button"},e.createElement("span",{className:"sr-only"},n||"Close"),e.createElement("span",{"aria-hidden":!0},"×"))}const p={4:"w-1/3",6:"w-1/2",8:"w-2/3",10:"w-5/6",12:"w-full"},m={1:"ml-[8.3%]",2:"ml-[16.6%]",3:"ml-[25%]"},g={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"},v={1:"md:ml-[8.3%]",2:"md:ml-[16.6%]",3:"md:ml-[25%]",4:"md:ml-[33.3%]"},b={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"},h={1:"min-[992px]:ml-[8.3%]",2:"min-[992px]:ml-[16.6%]",3:"min-[992px]:ml-[25%]",4:"min-[992px]:ml-[33.3%]"},y={6:"min-[1200px]:w-1/2",8:"min-[1200px]:w-2/3",10:"min-[1200px]:w-5/6"},x={0:"min-[1200px]:ml-0",1:"min-[1200px]:ml-[8.3%]",2:"min-[1200px]:ml-[16.6%]"},w=e.createContext({}),k="mb-3.5 relative",E={success:"text-background-info",warning:"text-background-warning",error:"text-background-danger"};var S=Object.defineProperty,O=(e,t,n)=>(((e,t,n)=>{t in e?S(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n})(e,"symbol"!=typeof t?t+"":t,n),n);let N=new class{constructor(){O(this,"current",this.detect()),O(this,"handoffState","pending"),O(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}},A=(t,n)=>{N.isServer?e.useEffect(t,n):e.useLayoutEffect(t,n)};function C(t){let n=e.useRef(t);return A((()=>{n.current=t}),[t]),n}let P=function(t){let n=C(t);return e.useCallback(((...e)=>n.current(...e)),[n])};function F(e){"function"==typeof queueMicrotask?queueMicrotask(e):Promise.resolve().then(e).catch((e=>setTimeout((()=>{throw e}))))}function R(){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 F((()=>{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=R();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 T(){let[t]=e.useState(R);return e.useEffect((()=>()=>t.dispose()),[t]),t}function j(){let e=function(){let e="undefined"==typeof document;return"useSyncExternalStore"in r&&r.useSyncExternalStore((()=>()=>{}),(()=>!1),(()=>!e))}(),[t,n]=r.useState(N.isHandoffComplete);return t&&!1===N.isHandoffComplete&&n(!1),r.useEffect((()=>{!0!==t&&n(!0)}),[t]),r.useEffect((()=>N.handoff()),[]),!e&&t}var I;let M=null!=(I=e.useId)?I:function(){let t=j(),[n,r]=e.useState(t?()=>N.nextId():null);return A((()=>{null===n&&r(N.nextId())}),[n]),null!=n?""+n:void 0};function D(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,D),r}function L(e){return N.isServer?null:e instanceof Node?e.ownerDocument:null!=e&&e.hasOwnProperty("current")&&e.current instanceof Node?e.current.ownerDocument:document}let _=["[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 $=(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))($||{}),z=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(z||{}),B=(e=>(e[e.Previous=-1]="Previous",e[e.Next=1]="Next",e))(B||{});function H(e=document.body){return null==e?[]:Array.from(e.querySelectorAll(_)).sort(((e,t)=>Math.sign((e.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER))))}var U=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(U||{});function q(e,t=0){var n;return e!==(null==(n=L(e))?void 0:n.body)&&D(t,{0:()=>e.matches(_),1(){let t=e;for(;null!==t;){if(t.matches(_))return!0;t=t.parentElement}return!1}})}function W(e){let t=L(e);R().nextFrame((()=>{t&&!q(t.activeElement,0)&&Y(e)}))}var V=(e=>(e[e.Keyboard=0]="Keyboard",e[e.Mouse=1]="Mouse",e))(V||{});function Y(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 G=["textarea","input"].join(",");function K(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 X(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?K(e):e:H(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,G))&&n}(l)&&l.select(),2}function Q(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function J(){return Q()||/Android/gi.test(window.navigator.userAgent)}function Z(t,n,r){let a=C(n);e.useEffect((()=>{function e(e){a.current(e)}return document.addEventListener(t,e,r),()=>document.removeEventListener(t,e,r)}),[t,r])}function ee(t,n,r){let a=C(n);e.useEffect((()=>{function e(e){a.current(e)}return window.addEventListener(t,e,r),()=>window.removeEventListener(t,e,r)}),[t,r])}function te(t,n,r=!0){let a=e.useRef(!1);function o(e,r){if(!a.current||e.defaultPrevented)return;let o=r(e);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]}(t);for(let t of i){if(null===t)continue;let n=t instanceof HTMLElement?t:t.current;if(null!=n&&n.contains(o)||e.composed&&e.composedPath().includes(n))return}return!q(o,U.Loose)&&-1!==o.tabIndex&&e.preventDefault(),n(e,o)}e.useEffect((()=>{requestAnimationFrame((()=>{a.current=r}))}),[r]);let i=e.useRef(null);Z("pointerdown",(e=>{var t,n;a.current&&(i.current=(null==(n=null==(t=e.composedPath)?void 0:t.call(e))?void 0:n[0])||e.target)}),!0),Z("mousedown",(e=>{var t,n;a.current&&(i.current=(null==(n=null==(t=e.composedPath)?void 0:t.call(e))?void 0:n[0])||e.target)}),!0),Z("click",(e=>{J()||i.current&&(o(e,(()=>i.current)),i.current=null)}),!0),Z("touchend",(e=>o(e,(()=>e.target instanceof HTMLElement?e.target:null))),!0),ee("blur",(e=>o(e,(()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null))),!0)}function ne(...t){return e.useMemo((()=>L(...t)),[...t])}function re(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 ae(t,n){let[r,a]=e.useState((()=>re(t)));return A((()=>{a(re(t))}),[t.type,t.as]),A((()=>{r||n.current&&n.current instanceof HTMLButtonElement&&!n.current.hasAttribute("type")&&a("button")}),[r,n]),r}let oe=Symbol();function ie(...t){let n=e.useRef(t);e.useEffect((()=>{n.current=t}),[t]);let r=P((e=>{for(let t of n.current)null!=t&&("function"==typeof t?t(e):t.current=e)}));return t.every((e=>null==e||(null==e?void 0:e[oe])))?void 0:r}function le(e){return[e.screenX,e.screenY]}function se({container:t,accept:n,walk:r,enabled:a=!0}){let o=e.useRef(n),i=e.useRef(r);e.useEffect((()=>{o.current=n,i.current=r}),[n,r]),A((()=>{if(!t||!a)return;let e=L(t);if(!e)return;let n=o.current,r=i.current,l=Object.assign((e=>n(e)),{acceptNode:n}),s=e.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,l,!1);for(;s.nextNode();)r(s.currentNode)}),[t,a,o,i])}function ce(t,n){let r=e.useRef([]),a=P(t);e.useEffect((()=>{let e=[...r.current];for(let[t,o]of n.entries())if(r.current[t]!==o){let t=a(n,e);return r.current=n,t}}),[a,...n])}function ue(...e){return Array.from(new Set(e.flatMap((e=>"string"==typeof e?e.split(" "):[])))).filter(Boolean).join(" ")}var de=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(de||{}),fe=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(fe||{});function pe({ourProps:e,theirProps:t,slot:n,defaultTag:r,features:a,visible:o=!0,name:i,mergeRefs:l}){l=null!=l?l:ge;let s=ve(t,e);if(o)return me(s,n,r,i,l);let c=null!=a?a:0;if(2&c){let{static:e=!1,...t}=s;if(e)return me(t,n,r,i,l)}if(1&c){let{unmount:e=!0,...t}=s;return D(e?0:1,{0:()=>null,1:()=>me({...t,hidden:!0,style:{display:"none"}},n,r,i,l)})}return me(s,n,r,i,l)}function me(t,n={},r,a,o){let{as:i=r,children:l,refName:s="ref",...c}=ye(t,["unmount","static"]),u=void 0!==t.ref?{[s]:t.ref}:{},d="function"==typeof l?l(n):l;"className"in c&&c.className&&"function"==typeof c.className&&(c.className=c.className(n));let f={};if(n){let e=!1,t=[];for(let[r,a]of Object.entries(n))"boolean"==typeof a&&(e=!0),!0===a&&t.push(r);e&&(f["data-headlessui-state"]=t.join(" "))}if(i===e.Fragment&&Object.keys(he(c)).length>0){if(!e.isValidElement(d)||Array.isArray(d)&&d.length>1)throw new Error(['Passing props on "Fragment"!',"",`The current component <${a} /> is rendering a "Fragment".`,"However we need to passthrough the following props:",Object.keys(c).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 t=d.props,n="function"==typeof(null==t?void 0:t.className)?(...e)=>ue(null==t?void 0:t.className(...e),c.className):ue(null==t?void 0:t.className,c.className),r=n?{className:n}:{};return e.cloneElement(d,Object.assign({},ve(d.props,he(ye(c,["ref"]))),f,u,{ref:o(d.ref,u.ref)},r))}return e.createElement(i,Object.assign({},ye(c,["ref"]),i!==e.Fragment&&u,i!==e.Fragment&&f),d)}function ge(...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 ve(...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 be(t){var n;return Object.assign(e.forwardRef(t),{displayName:null!=(n=t.displayName)?n:t.name})}function he(e){let t=Object.assign({},e);for(let e in t)void 0===t[e]&&delete t[e];return t}function ye(e,t=[]){let n=Object.assign({},e);for(let e of t)e in n&&delete n[e];return n}var xe=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(xe||{});let we=be((function(e,t){var n;let{features:r=1,...a}=e;return pe({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"})})),ke=e.createContext(null);ke.displayName="OpenClosedContext";var Ee=(e=>(e[e.Open=1]="Open",e[e.Closed=2]="Closed",e[e.Closing=4]="Closing",e[e.Opening=8]="Opening",e))(Ee||{});function Se(){return e.useContext(ke)}function Oe({value:t,children:n}){return e.createElement(ke.Provider,{value:t},n)}let Ne=[];function Ae(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&&Ne[0]!==e.target&&(Ne.unshift(e.target),Ne=Ne.filter((e=>null!=e&&e.isConnected)),Ne.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 Ce=(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))(Ce||{});function Pe(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 Fe(e={},t=null,n=[]){for(let[r,a]of Object.entries(e))Te(n,Re(t,r),a);return n}function Re(e,t){return e?e+"["+t+"]":t}function Te(e,t,n){if(Array.isArray(n))for(let[r,a]of n.entries())Te(e,Re(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,""]):Fe(n,t,e)}var je=(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))(je||{});function Ie(t,n,r,a){let o=C(r);e.useEffect((()=>{function e(e){o.current(e)}return(t=null!=t?t:window).addEventListener(n,e,a),()=>t.removeEventListener(n,e,a)}),[t,n,a])}function Me(){let t=e.useRef(!1);return A((()=>(t.current=!0,()=>{t.current=!1})),[]),t}function De(t){let n=P(t),r=e.useRef(!1);e.useEffect((()=>(r.current=!1,()=>{r.current=!0,F((()=>{r.current&&n()}))})),[n])}var Le=(e=>(e[e.Forwards=0]="Forwards",e[e.Backwards=1]="Backwards",e))(Le||{});function _e(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 $e=(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))($e||{});let ze=be((function(t,n){let r=e.useRef(null),a=ie(r,n),{initialFocus:o,containers:i,features:l=30,...s}=t;j()||(l=1);let c=ne(r);!function({ownerDocument:t},n){let r=function(t=!0){let n=e.useRef(Ne.slice());return ce((([e],[t])=>{!0===t&&!1===e&&F((()=>{n.current.splice(0)})),!1===t&&!0===e&&(n.current=Ne.slice())}),[t,Ne,n]),P((()=>{var e;return null!=(e=n.current.find((e=>null!=e&&e.isConnected)))?e:null}))}(n);ce((()=>{n||(null==t?void 0:t.activeElement)===(null==t?void 0:t.body)&&Y(r())}),[n]),De((()=>{n&&Y(r())}))}({ownerDocument:c},Boolean(16&l));let u=function({ownerDocument:t,container:n,initialFocus:r},a){let o=e.useRef(null),i=Me();return ce((()=>{if(!a)return;let e=n.current;e&&F((()=>{if(!i.current)return;let n=null==t?void 0:t.activeElement;if(null!=r&&r.current){if((null==r?void 0:r.current)===n)return void(o.current=n)}else if(e.contains(n))return void(o.current=n);null!=r&&r.current?Y(r.current):X(e,$.First)===z.Error&&console.warn("There are no focusable elements inside the <FocusTrap />"),o.current=null==t?void 0:t.activeElement}))}),[a]),o}({ownerDocument:c,container:r,initialFocus:o},Boolean(2&l));!function({ownerDocument:e,container:t,containers:n,previousActiveElement:r},a){let o=Me();Ie(null==e?void 0:e.defaultView,"focus",(e=>{if(!a||!o.current)return;let i=_e(n);t.current instanceof HTMLElement&&i.add(t.current);let l=r.current;if(!l)return;let s=e.target;s&&s instanceof HTMLElement?He(i,s)?(r.current=s,Y(s)):(e.preventDefault(),e.stopPropagation(),Y(l)):Y(r.current)}),!0)}({ownerDocument:c,container:r,containers:i,previousActiveElement:u},Boolean(8&l));let d=function(){let t=e.useRef(0);return ee("keydown",(e=>{"Tab"===e.key&&(t.current=e.shiftKey?1:0)}),!0),t}(),f=P((e=>{let t=r.current;t&&D(d.current,{[Le.Forwards]:()=>{X(t,$.First,{skipElements:[e.relatedTarget]})},[Le.Backwards]:()=>{X(t,$.Last,{skipElements:[e.relatedTarget]})}})})),p=T(),m=e.useRef(!1),g={ref:a,onKeyDown(e){"Tab"==e.key&&(m.current=!0,p.requestAnimationFrame((()=>{m.current=!1})))},onBlur(e){let t=_e(i);r.current instanceof HTMLElement&&t.add(r.current);let n=e.relatedTarget;n instanceof HTMLElement&&"true"!==n.dataset.headlessuiFocusGuard&&(He(t,n)||(m.current?X(r.current,D(d.current,{[Le.Forwards]:()=>$.Next,[Le.Backwards]:()=>$.Previous})|$.WrapAround,{relativeTo:e.target}):e.target instanceof HTMLElement&&Y(e.target)))}};return e.createElement(e.Fragment,null,Boolean(4&l)&&e.createElement(we,{as:"button",type:"button","data-headlessui-focus-guard":!0,onFocus:f,features:xe.Focusable}),pe({ourProps:g,theirProps:s,defaultTag:"div",name:"FocusTrap"}),Boolean(4&l)&&e.createElement(we,{as:"button",type:"button","data-headlessui-focus-guard":!0,onFocus:f,features:xe.Focusable}))})),Be=Object.assign(ze,{features:$e});function He(e,t){for(let n of e)if(n.contains(t))return!0;return!1}let Ue=e.createContext(!1);function qe(t){return e.createElement(Ue.Provider,{value:t.force},t.children)}function We(t){let n=e.useContext(Ue),r=e.useContext(Ge),a=ne(t),[o,i]=e.useState((()=>{if(!n&&null!==r||N.isServer)return null;let e=null==a?void 0:a.getElementById("headlessui-portal-root");if(e)return e;if(null===a)return null;let t=a.createElement("div");return t.setAttribute("id","headlessui-portal-root"),a.body.appendChild(t)}));return e.useEffect((()=>{null!==o&&(null!=a&&a.body.contains(o)||null==a||a.body.appendChild(o))}),[o,a]),e.useEffect((()=>{n||null!==r&&i(r.current)}),[r,i,n]),o}let Ve=e.Fragment;let Ye=e.Fragment,Ge=e.createContext(null);let Ke=e.createContext(null);let Xe=be((function(n,r){let a=n,o=e.useRef(null),i=ie(function(e,t=!0){return Object.assign(e,{[oe]:t})}((e=>{o.current=e})),r),l=ne(o),s=We(o),[c]=e.useState((()=>{var e;return N.isServer?null:null!=(e=null==l?void 0:l.createElement("div"))?e:null})),u=e.useContext(Ke),d=j();return A((()=>{!s||!c||s.contains(c)||(c.setAttribute("data-headlessui-portal",""),s.appendChild(c))}),[s,c]),A((()=>{if(c&&u)return u.register(c)}),[u,c]),De((()=>{var e;!s||!c||(c instanceof Node&&s.contains(c)&&s.removeChild(c),s.childNodes.length<=0&&(null==(e=s.parentElement)||e.removeChild(s)))})),d&&s&&c?t.createPortal(pe({ourProps:{ref:i},theirProps:a,defaultTag:Ve,name:"Portal"}),c):null})),Qe=be((function(t,n){let{target:r,...a}=t,o={ref:ie(n)};return e.createElement(Ge.Provider,{value:r},pe({ourProps:o,theirProps:a,defaultTag:Ye,name:"Popover.Group"}))})),Je=Object.assign(Xe,{Group:Qe});const Ze="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},{useState:et,useEffect:tt,useLayoutEffect:nt,useDebugValue:rt}=r;function at(e){const t=e.getSnapshot,n=e.value;try{const e=t();return!Ze(n,e)}catch{return!0}}const ot=!("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]=et({inst:{value:r,getSnapshot:t}});return nt((()=>{a.value=r,a.getSnapshot=t,at(a)&&o({inst:a})}),[e,r,t]),tt((()=>(at(a)&&o({inst:a}),e((()=>{at(a)&&o({inst:a})})))),[e]),rt(r),r},it="useSyncExternalStore"in r?r.useSyncExternalStore:ot;function lt(){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 st(e){let t={};for(let n of e)Object.assign(t,n(t));return t}let ct=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:R(),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:st(n)},a=[Q()?{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=R();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)}))}))}}:{},lt(),{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 ut(e,t,n){let r=function(e){return it(e.subscribe,e.getSnapshot,e.getSnapshot)}(ct),a=e?r.get(e):void 0,o=!!a&&a.count>0;return A((()=>{if(e&&t)return ct.dispatch("PUSH",e,n),()=>ct.dispatch("POP",e,n)}),[t,e]),o}ct.subscribe((()=>{let e=ct.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)&&ct.dispatch(n.count>0?"SCROLL_PREVENT":"SCROLL_ALLOW",n),0===n.count&&ct.dispatch("TEARDOWN",n)}}));let dt=new Map,ft=new Map;function pt(e,t=!0){A((()=>{var n;if(!t)return;let r="function"==typeof e?e():e.current;if(!r)return;let a=null!=(n=ft.get(r))?n:0;return ft.set(r,a+1),0!==a||(dt.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=ft.get(r))?e:1;if(1===t?ft.delete(r):ft.set(r,t-1),1!==t)return;let n=dt.get(r);n&&(null===n["aria-hidden"]?r.removeAttribute("aria-hidden"):r.setAttribute("aria-hidden",n["aria-hidden"]),r.inert=n.inert,dt.delete(r))}}),[e,t])}let mt=e.createContext((()=>{}));mt.displayName="StackContext";var gt=(e=>(e[e.Add=0]="Add",e[e.Remove=1]="Remove",e))(gt||{});function vt({children:t,onUpdate:n,type:r,element:a,enabled:o}){let i=e.useContext(mt),l=P(((...e)=>{null==n||n(...e),i(...e)}));return A((()=>{let e=void 0===o||!0===o;return e&&l(0,r,a),()=>{e&&l(1,r,a)}}),[l,r,a,o]),e.createElement(mt.Provider,{value:l},t)}let bt=e.createContext(null);function ht(){let t=e.useContext(bt);if(null===t){let e=new Error("You used a <Description /> component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(e,ht),e}return t}function yt(){let[t,n]=e.useState([]);return[t.length>0?t.join(" "):void 0,e.useMemo((()=>function(t){let r=P((e=>(n((t=>[...t,e])),()=>n((t=>{let n=t.slice(),r=n.indexOf(e);return-1!==r&&n.splice(r,1),n}))))),a=e.useMemo((()=>({register:r,slot:t.slot,name:t.name,props:t.props})),[r,t.slot,t.name,t.props]);return e.createElement(bt.Provider,{value:a},t.children)}),[n])]}let xt=be((function(e,t){let n=M(),{id:r=`headlessui-description-${n}`,...a}=e,o=ht(),i=ie(t);return A((()=>o.register(r)),[r,o.register]),pe({ourProps:{ref:i,...o.props,id:r},theirProps:a,slot:o.slot||{},defaultTag:"p",name:o.name||"Description"})})),wt=Object.assign(xt,{});var kt=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(kt||{}),Et=(e=>(e[e.SetTitleId=0]="SetTitleId",e))(Et||{});let St={0:(e,t)=>e.titleId===t.id?e:{...e,titleId:t.id}},Ot=e.createContext(null);function Nt(t){let n=e.useContext(Ot);if(null===n){let e=new Error(`<${t} /> is missing a parent <Dialog /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(e,Nt),e}return n}function At(e,t){return D(t.type,St,e,t)}Ot.displayName="DialogContext";let Ct=de.RenderStrategy|de.Static;let Pt=be((function(t,n){let r=M(),{id:a=`headlessui-dialog-${r}`,open:o,onClose:i,initialFocus:l,role:s="dialog",__demoMode:c=!1,...u}=t,[d,f]=e.useState(0),p=e.useRef(!1);s="dialog"===s||"alertdialog"===s?s:(p.current||(p.current=!0,console.warn(`Invalid role [${s}] passed to <Dialog />. Only \`dialog\` and and \`alertdialog\` are supported. Using \`dialog\` instead.`)),"dialog");let m=Se();void 0===o&&null!==m&&(o=(m&Ee.Open)===Ee.Open);let g=e.useRef(null),v=ie(g,n),b=ne(g),h=t.hasOwnProperty("open")||null!==m,y=t.hasOwnProperty("onClose");if(!h&&!y)throw new Error("You have to provide an `open` and an `onClose` prop to the `Dialog` component.");if(!h)throw new Error("You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.");if(!y)throw new Error("You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.");if("boolean"!=typeof o)throw new Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${o}`);if("function"!=typeof i)throw new Error(`You provided an \`onClose\` prop to the \`Dialog\`, but the value is not a function. Received: ${i}`);let x=o?0:1,[w,k]=e.useReducer(At,{titleId:null,descriptionId:null,panelRef:e.createRef()}),E=P((()=>i(!1))),S=P((e=>k({type:0,id:e}))),O=!!j()&&(!c&&0===x),N=d>1,A=null!==e.useContext(Ot),[C,F]=function(){let t=e.useContext(Ke),n=e.useRef([]),r=P((e=>(n.current.push(e),t&&t.register(e),()=>a(e)))),a=P((e=>{let r=n.current.indexOf(e);-1!==r&&n.current.splice(r,1),t&&t.unregister(e)})),o=e.useMemo((()=>({register:r,unregister:a,portals:n})),[r,a,n]);return[n,e.useMemo((()=>function({children:t}){return e.createElement(Ke.Provider,{value:o},t)}),[o])]}(),R={get current(){var e;return null!=(e=w.panelRef.current)?e:g.current}},{resolveContainers:T,mainTreeNodeRef:I,MainTreeNode:L}=function({defaultContainers:t=[],portals:n,mainTreeNodeRef:r}={}){var a;let o=e.useRef(null!=(a=null==r?void 0:r.current)?a:null),i=ne(o),l=P((()=>{var e,r,a;let l=[];for(let e of t)null!==e&&(e instanceof HTMLElement?l.push(e):"current"in e&&e.current instanceof HTMLElement&&l.push(e.current));if(null!=n&&n.current)for(let e of n.current)l.push(e);for(let t of null!=(e=null==i?void 0:i.querySelectorAll("html > *, body > *"))?e:[])t!==document.body&&t!==document.head&&t instanceof HTMLElement&&"headlessui-portal-root"!==t.id&&(t.contains(o.current)||t.contains(null==(a=null==(r=o.current)?void 0:r.getRootNode())?void 0:a.host)||l.some((e=>t.contains(e)))||l.push(t));return l}));return{resolveContainers:l,contains:P((e=>l().some((t=>t.contains(e))))),mainTreeNodeRef:o,MainTreeNode:e.useMemo((()=>function(){return null!=r?null:e.createElement(we,{features:xe.Hidden,ref:o})}),[o,r])}}({portals:C,defaultContainers:[R]}),_=N?"parent":"leaf",$=null!==m&&(m&Ee.Closing)===Ee.Closing,z=!A&&!$&&O,B=e.useCallback((()=>{var e,t;return null!=(t=Array.from(null!=(e=null==b?void 0:b.querySelectorAll("body > *"))?e:[]).find((e=>"headlessui-portal-root"!==e.id&&(e.contains(I.current)&&e instanceof HTMLElement))))?t:null}),[I]);pt(B,z);let H=!!N||O,U=e.useCallback((()=>{var e,t;return null!=(t=Array.from(null!=(e=null==b?void 0:b.querySelectorAll("[data-headlessui-portal]"))?e:[]).find((e=>e.contains(I.current)&&e instanceof HTMLElement)))?t:null}),[I]);pt(U,H),te(T,(e=>{e.preventDefault(),E()}),!(!O||N));let q=!(N||0!==x);Ie(null==b?void 0:b.defaultView,"keydown",(e=>{q&&(e.defaultPrevented||e.key===je.Escape&&(e.preventDefault(),e.stopPropagation(),E()))})),function(e,t,n=(()=>[document.body])){ut(e,t,(e=>{var t;return{containers:[...null!=(t=e.containers)?t:[],n]}}))}(b,!($||0!==x||A),T),e.useEffect((()=>{if(0!==x||!g.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&&E()}}));return e.observe(g.current),()=>e.disconnect()}),[x,g,E]);let[W,V]=yt(),Y=e.useMemo((()=>[{dialogState:x,close:E,setTitleId:S},w]),[x,w,E,S]),G=e.useMemo((()=>({open:0===x})),[x]),K={ref:v,id:a,role:s,"aria-modal":0===x||void 0,"aria-labelledby":w.titleId,"aria-describedby":W};return e.createElement(vt,{type:"Dialog",enabled:0===x,element:g,onUpdate:P(((e,t)=>{"Dialog"===t&&D(e,{[gt.Add]:()=>f((e=>e+1)),[gt.Remove]:()=>f((e=>e-1))})}))},e.createElement(qe,{force:!0},e.createElement(Je,null,e.createElement(Ot.Provider,{value:Y},e.createElement(Je.Group,{target:g},e.createElement(qe,{force:!1},e.createElement(V,{slot:G,name:"Dialog.Description"},e.createElement(Be,{initialFocus:l,containers:T,features:O?D(_,{parent:Be.features.RestoreFocus,leaf:Be.features.All&~Be.features.FocusLock}):Be.features.None},e.createElement(F,null,pe({ourProps:K,theirProps:u,slot:G,defaultTag:"div",features:Ct,visible:0===x,name:"Dialog"}))))))))),e.createElement(L,null))})),Ft=be((function(t,n){let r=M(),{id:a=`headlessui-dialog-backdrop-${r}`,...o}=t,[{dialogState:i},l]=Nt("Dialog.Backdrop"),s=ie(n);e.useEffect((()=>{if(null===l.panelRef.current)throw new Error("A <Dialog.Backdrop /> component is being used, but a <Dialog.Panel /> component is missing.")}),[l.panelRef]);let c=e.useMemo((()=>({open:0===i})),[i]);return e.createElement(qe,{force:!0},e.createElement(Je,null,pe({ourProps:{ref:s,id:a,"aria-hidden":!0},theirProps:o,slot:c,defaultTag:"div",name:"Dialog.Backdrop"})))})),Rt=be((function(t,n){let r=M(),{id:a=`headlessui-dialog-panel-${r}`,...o}=t,[{dialogState:i},l]=Nt("Dialog.Panel"),s=ie(n,l.panelRef),c=e.useMemo((()=>({open:0===i})),[i]),u=P((e=>{e.stopPropagation()}));return pe({ourProps:{ref:s,id:a,onClick:u},theirProps:o,slot:c,defaultTag:"div",name:"Dialog.Panel"})})),Tt=be((function(t,n){let r=M(),{id:a=`headlessui-dialog-overlay-${r}`,...o}=t,[{dialogState:i,close:l}]=Nt("Dialog.Overlay"),s=ie(n),c=P((e=>{if(e.target===e.currentTarget){if(Ae(e.currentTarget))return e.preventDefault();e.preventDefault(),e.stopPropagation(),l()}}));return pe({ourProps:{ref:s,id:a,"aria-hidden":!0,onClick:c},theirProps:o,slot:e.useMemo((()=>({open:0===i})),[i]),defaultTag:"div",name:"Dialog.Overlay"})})),jt=be((function(t,n){let r=M(),{id:a=`headlessui-dialog-title-${r}`,...o}=t,[{dialogState:i,setTitleId:l}]=Nt("Dialog.Title"),s=ie(n);e.useEffect((()=>(l(a),()=>l(null))),[a,l]);let c=e.useMemo((()=>({open:0===i})),[i]);return pe({ourProps:{ref:s,id:a},theirProps:o,slot:c,defaultTag:"h2",name:"Dialog.Title"})})),It=Object.assign(Pt,{Backdrop:Ft,Panel:Rt,Overlay:Tt,Title:jt,Description:wt}),Mt=/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;function Dt(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 Mt.test(i)&&(i=i.replace(Mt,"")),i}function Lt(t){let n=e.useRef(""),r=e.useRef("");return P((()=>{let e=t.current;if(!e)return"";let a=e.innerText;if(n.current===a)return r.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():Dt(t).trim()}return null})).filter(Boolean);if(e.length>0)return e.join(", ")}return Dt(e).trim()}(e).trim().toLowerCase();return n.current=a,r.current=o,o}))}var _t=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(_t||{}),$t=(e=>(e[e.Pointer=0]="Pointer",e[e.Other=1]="Other",e))($t||{}),zt=(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))(zt||{});function Bt(e,t=(e=>e)){let n=null!==e.activeItemIndex?e.items[e.activeItemIndex]:null,r=K(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 Ht={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=Bt(e),a=Pe(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=Bt(e,(e=>[...e,{id:t.id,dataRef:t.dataRef}]));return{...e,...n}},6:(e,t)=>{let n=Bt(e,(e=>{let n=e.findIndex((e=>e.id===t.id));return-1!==n&&e.splice(n,1),e}));return{...e,...n,activationTrigger:1}}},Ut=e.createContext(null);function qt(t){let n=e.useContext(Ut);if(null===n){let e=new Error(`<${t} /> is missing a parent <Menu /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(e,qt),e}return n}function Wt(e,t){return D(t.type,Ht,e,t)}Ut.displayName="MenuContext";let Vt=e.Fragment;let Yt=de.RenderStrategy|de.Static;let Gt=e.Fragment;let Kt=be((function(t,n){let{__demoMode:r=!1,...a}=t,o=e.useReducer(Wt,{__demoMode:r,menuState:r?0:1,buttonRef:e.createRef(),itemsRef:e.createRef(),items:[],searchQuery:"",activeItemIndex:null,activationTrigger:1}),[{menuState:i,itemsRef:l,buttonRef:s},c]=o,u=ie(n);te([s,l],((e,t)=>{var n;c({type:1}),q(t,U.Loose)||(e.preventDefault(),null==(n=s.current)||n.focus())}),0===i);let d=P((()=>{c({type:1})})),f=e.useMemo((()=>({open:0===i,close:d})),[i,d]),p={ref:u};return e.createElement(Ut.Provider,{value:o},e.createElement(Oe,{value:D(i,{0:Ee.Open,1:Ee.Closed})},pe({ourProps:p,theirProps:a,slot:f,defaultTag:Vt,name:"Menu"})))})),Xt=be((function(t,n){var r;let a=M(),{id:o=`headlessui-menu-button-${a}`,...i}=t,[l,s]=qt("Menu.Button"),c=ie(l.buttonRef,n),u=T(),d=P((e=>{switch(e.key){case je.Space:case je.Enter:case je.ArrowDown:e.preventDefault(),e.stopPropagation(),s({type:0}),u.nextFrame((()=>s({type:2,focus:Ce.First})));break;case je.ArrowUp:e.preventDefault(),e.stopPropagation(),s({type:0}),u.nextFrame((()=>s({type:2,focus:Ce.Last})))}})),f=P((e=>{if(e.key===je.Space)e.preventDefault()})),p=P((e=>{if(Ae(e.currentTarget))return e.preventDefault();t.disabled||(0===l.menuState?(s({type:1}),u.nextFrame((()=>{var e;return null==(e=l.buttonRef.current)?void 0:e.focus({preventScroll:!0})}))):(e.preventDefault(),s({type:0})))})),m=e.useMemo((()=>({open:0===l.menuState})),[l]);return pe({ourProps:{ref:c,id:o,type:ae(t,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"})})),Qt=be((function(t,n){var r,a;let o=M(),{id:i=`headlessui-menu-items-${o}`,...l}=t,[s,c]=qt("Menu.Items"),u=ie(s.itemsRef,n),d=ne(s.itemsRef),f=T(),p=Se(),m=null!==p?(p&Ee.Open)===Ee.Open:0===s.menuState;e.useEffect((()=>{let e=s.itemsRef.current;e&&0===s.menuState&&e!==(null==d?void 0:d.activeElement)&&e.focus({preventScroll:!0})}),[s.menuState,s.itemsRef,d]),se({container:s.itemsRef.current,enabled:0===s.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 g=P((e=>{var t,n;switch(f.dispose(),e.key){case je.Space:if(""!==s.searchQuery)return e.preventDefault(),e.stopPropagation(),c({type:3,value:e.key});case je.Enter:if(e.preventDefault(),e.stopPropagation(),c({type:1}),null!==s.activeItemIndex){let{dataRef:e}=s.items[s.activeItemIndex];null==(n=null==(t=e.current)?void 0:t.domRef.current)||n.click()}W(s.buttonRef.current);break;case je.ArrowDown:return e.preventDefault(),e.stopPropagation(),c({type:2,focus:Ce.Next});case je.ArrowUp:return e.preventDefault(),e.stopPropagation(),c({type:2,focus:Ce.Previous});case je.Home:case je.PageUp:return e.preventDefault(),e.stopPropagation(),c({type:2,focus:Ce.First});case je.End:case je.PageDown:return e.preventDefault(),e.stopPropagation(),c({type:2,focus:Ce.Last});case je.Escape:e.preventDefault(),e.stopPropagation(),c({type:1}),R().nextFrame((()=>{var e;return null==(e=s.buttonRef.current)?void 0:e.focus({preventScroll:!0})}));break;case je.Tab:e.preventDefault(),e.stopPropagation(),c({type:1}),R().nextFrame((()=>{!function(e,t){X(H(),t,{relativeTo:e})}(s.buttonRef.current,e.shiftKey?$.Previous:$.Next)}));break;default:1===e.key.length&&(c({type:3,value:e.key}),f.setTimeout((()=>c({type:4})),350))}})),v=P((e=>{if(e.key===je.Space)e.preventDefault()})),b=e.useMemo((()=>({open:0===s.menuState})),[s]);return pe({ourProps:{"aria-activedescendant":null===s.activeItemIndex||null==(r=s.items[s.activeItemIndex])?void 0:r.id,"aria-labelledby":null==(a=s.buttonRef.current)?void 0:a.id,id:i,onKeyDown:g,onKeyUp:v,role:"menu",tabIndex:0,ref:u},theirProps:l,slot:b,defaultTag:"div",features:Yt,visible:m,name:"Menu.Items"})})),Jt=be((function(t,n){let r=M(),{id:a=`headlessui-menu-item-${r}`,disabled:o=!1,...i}=t,[l,s]=qt("Menu.Item"),c=null!==l.activeItemIndex&&l.items[l.activeItemIndex].id===a,u=e.useRef(null),d=ie(n,u);A((()=>{if(l.__demoMode||0!==l.menuState||!c||0===l.activationTrigger)return;let e=R();return e.requestAnimationFrame((()=>{var e,t;null==(t=null==(e=u.current)?void 0:e.scrollIntoView)||t.call(e,{block:"nearest"})})),e.dispose}),[l.__demoMode,u,c,l.menuState,l.activationTrigger,l.activeItemIndex]);let f=Lt(u),p=e.useRef({disabled:o,domRef:u,get textValue(){return f()}});A((()=>{p.current.disabled=o}),[p,o]),A((()=>(s({type:5,id:a,dataRef:p}),()=>s({type:6,id:a}))),[p,a]);let m=P((()=>{s({type:1})})),g=P((e=>{if(o)return e.preventDefault();s({type:1}),W(l.buttonRef.current)})),v=P((()=>{if(o)return s({type:2,focus:Ce.Nothing});s({type:2,focus:Ce.Specific,id:a})})),b=function(){let t=e.useRef([-1,-1]);return{wasMoved(e){let n=le(e);return(t.current[0]!==n[0]||t.current[1]!==n[1])&&(t.current=n,!0)},update(e){t.current=le(e)}}}(),h=P((e=>b.update(e))),y=P((e=>{b.wasMoved(e)&&(o||c||s({type:2,focus:Ce.Specific,id:a,trigger:0}))})),x=P((e=>{b.wasMoved(e)&&(o||c&&s({type:2,focus:Ce.Nothing}))})),w=e.useMemo((()=>({active:c,disabled:o,close:m})),[c,o,m]);return pe({ourProps:{id:a,ref:d,role:"menuitem",tabIndex:!0===o?void 0:-1,"aria-disabled":!0===o||void 0,disabled:void 0,onClick:g,onFocus:v,onPointerEnter:h,onMouseEnter:h,onPointerMove:y,onMouseMove:y,onPointerLeave:x,onMouseLeave:x},theirProps:i,slot:w,defaultTag:Gt,name:"Menu.Item"})})),Zt=Object.assign(Kt,{Button:Xt,Items:Qt,Item:Jt}),en=e.createContext(null);function tn(){let t=e.useContext(en);if(null===t){let e=new Error("You used a <Label /> component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(e,tn),e}return t}function nn(){let[t,n]=e.useState([]);return[t.length>0?t.join(" "):void 0,e.useMemo((()=>function(t){let r=P((e=>(n((t=>[...t,e])),()=>n((t=>{let n=t.slice(),r=n.indexOf(e);return-1!==r&&n.splice(r,1),n}))))),a=e.useMemo((()=>({register:r,slot:t.slot,name:t.name,props:t.props})),[r,t.slot,t.name,t.props]);return e.createElement(en.Provider,{value:a},t.children)}),[n])]}let rn=be((function(e,t){let n=M(),{id:r=`headlessui-label-${n}`,passive:a=!1,...o}=e,i=tn(),l=ie(t);A((()=>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),pe({ourProps:s,theirProps:o,slot:i.slot||{},defaultTag:"label",name:i.name||"Label"})})),an=Object.assign(rn,{});function on(t=0){let[n,r]=e.useState(t),a=Me(),o=e.useCallback((e=>{a.current&&r((t=>t|e))}),[n,a]),i=e.useCallback((e=>Boolean(n&e)),[n]),l=e.useCallback((e=>{a.current&&r((t=>t&~e))}),[r,a]),s=e.useCallback((e=>{a.current&&r((t=>t^e))}),[r]);return{flags:n,addFlag:o,hasFlag:i,removeFlag:l,toggleFlag:s}}var ln=(e=>(e[e.RegisterOption=0]="RegisterOption",e[e.UnregisterOption=1]="UnregisterOption",e))(ln||{});let sn={0(e,t){let n=[...e.options,{id:t.id,element:t.element,propsRef:t.propsRef}];return{...e,options:K(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})}},cn=e.createContext(null);function un(t){let n=e.useContext(cn);if(null===n){let e=new Error(`<${t} /> is missing a parent <RadioGroup /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(e,un),e}return n}cn.displayName="RadioGroupDataContext";let dn=e.createContext(null);function fn(t){let n=e.useContext(dn);if(null===n){let e=new Error(`<${t} /> is missing a parent <RadioGroup /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(e,fn),e}return n}function pn(e,t){return D(t.type,sn,e,t)}dn.displayName="RadioGroupActionsContext";var mn=(e=>(e[e.Empty=1]="Empty",e[e.Active=2]="Active",e))(mn||{});let gn=be((function(t,n){let r=M(),{id:a=`headlessui-radiogroup-${r}`,value:o,defaultValue:i,form:l,name:s,onChange:c,by:u=((e,t)=>e===t),disabled:d=!1,...f}=t,p=P("string"==typeof u?(e,t)=>{let n=u;return(null==e?void 0:e[n])===(null==t?void 0:t[n])}:u),[m,g]=e.useReducer(pn,{options:[]}),v=m.options,[b,h]=nn(),[y,x]=yt(),w=e.useRef(null),k=ie(w,n),[E,S]=function(t,n,r){let[a,o]=e.useState(r),i=void 0!==t,l=e.useRef(i),s=e.useRef(!1),c=e.useRef(!1);return!i||l.current||s.current?!i&&l.current&&!c.current&&(c.current=!0,l.current=i,console.error("A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.")):(s.current=!0,l.current=i,console.error("A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.")),[i?t:a,P((e=>(i||o(e),null==n?void 0:n(e))))]}(o,c,i),O=e.useMemo((()=>v.find((e=>!e.propsRef.current.disabled))),[v]),N=e.useMemo((()=>v.some((e=>p(e.propsRef.current.value,E)))),[v,E]),A=P((e=>{var t;if(d||p(e,E))return!1;let n=null==(t=v.find((t=>p(t.propsRef.current.value,e))))?void 0:t.propsRef.current;re