({classGroupId:e,validator:n}),s2=(e=new Map,n=null,a)=>({nextPart:e,validators:n,classGroupId:a}),bu="-",Jx=[],E8="arbitrary..",N8=e=>{const n=T8(e),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:d=>{if(d.startsWith("[")&&d.endsWith("]"))return k8(d);const m=d.split(bu),p=m[0]===""&&m.length>1?1:0;return i2(m,p,n)},getConflictingClassGroupIds:(d,m)=>{if(m){const p=o[d],h=a[d];return p?h?C8(h,p):p:h||Jx}return a[d]||Jx}}},i2=(e,n,a)=>{if(e.length-n===0)return a.classGroupId;const i=e[n],c=a.nextPart.get(i);if(c){const h=i2(e,n+1,c);if(h)return h}const d=a.validators;if(d===null)return;const m=n===0?e.join(bu):e.slice(n).join(bu),p=d.length;for(let h=0;he.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=e.slice(1,-1),a=n.indexOf(":"),o=n.slice(0,a);return o?E8+o:void 0})(),T8=e=>{const{theme:n,classGroups:a}=e;return R8(a,n)},R8=(e,n)=>{const a=s2();for(const o in e){const i=e[o];Uh(i,a,o,n)}return a},Uh=(e,n,a,o)=>{const i=e.length;for(let c=0;c{if(typeof e=="string"){M8(e,n,a);return}if(typeof e=="function"){_8(e,n,a,o);return}O8(e,n,a,o)},M8=(e,n,a)=>{const o=e===""?n:l2(n,e);o.classGroupId=a},_8=(e,n,a,o)=>{if(D8(e)){Uh(e(o),n,a,o);return}n.validators===null&&(n.validators=[]),n.validators.push(j8(a,e))},O8=(e,n,a,o)=>{const i=Object.entries(e),c=i.length;for(let d=0;d{let a=e;const o=n.split(bu),i=o.length;for(let c=0;c"isThemeGetter"in e&&e.isThemeGetter===!0,L8=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,a=Object.create(null),o=Object.create(null);const i=(c,d)=>{a[c]=d,n++,n>e&&(n=0,o=a,a=Object.create(null))};return{get(c){let d=a[c];if(d!==void 0)return d;if((d=o[c])!==void 0)return i(c,d),d},set(c,d){c in a?a[c]=d:i(c,d)}}},$p="!",e1=":",z8=[],t1=(e,n,a,o,i)=>({modifiers:e,hasImportantModifier:n,baseClassName:a,maybePostfixModifierPosition:o,isExternal:i}),P8=e=>{const{prefix:n,experimentalParseClassName:a}=e;let o=i=>{const c=[];let d=0,m=0,p=0,h;const y=i.length;for(let C=0;Cp?h-p:void 0;return t1(c,S,x,j)};if(n){const i=n+e1,c=o;o=d=>d.startsWith(i)?c(d.slice(i.length)):t1(z8,!1,d,void 0,!0)}if(a){const i=o;o=c=>a({className:c,parseClassName:i})}return o},I8=e=>{const n=new Map;return e.orderSensitiveModifiers.forEach((a,o)=>{n.set(a,1e6+o)}),a=>{const o=[];let i=[];for(let c=0;c0&&(i.sort(),o.push(...i),i=[]),o.push(d)):i.push(d)}return i.length>0&&(i.sort(),o.push(...i)),o}},$8=e=>({cache:L8(e.cacheSize),parseClassName:P8(e),sortModifiers:I8(e),postfixLookupClassGroupIds:B8(e),...N8(e)}),B8=e=>{const n=Object.create(null),a=e.postfixLookupClassGroups;if(a)for(let o=0;o{const{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:i,sortModifiers:c,postfixLookupClassGroupIds:d}=n,m=[],p=e.trim().split(U8);let h="";for(let y=p.length-1;y>=0;y-=1){const v=p[y],{isExternal:x,modifiers:S,hasImportantModifier:j,baseClassName:C,maybePostfixModifierPosition:N}=a(v);if(x){h=v+(h.length>0?" "+h:h);continue}let E=!!N,k;if(E){const z=C.substring(0,N);k=o(z);const B=k&&d[k]?o(C):void 0;B&&B!==k&&(k=B,E=!1)}else k=o(C);if(!k){if(!E){h=v+(h.length>0?" "+h:h);continue}if(k=o(C),!k){h=v+(h.length>0?" "+h:h);continue}E=!1}const T=S.length===0?"":S.length===1?S[0]:c(S).join(":"),R=j?T+$p:T,D=R+k;if(m.indexOf(D)>-1)continue;m.push(D);const P=i(k,E);for(let z=0;z0?" "+h:h)}return h},V8=(...e)=>{let n=0,a,o,i="";for(;n{if(typeof e=="string")return e;let n,a="";for(let o=0;o{let a,o,i,c;const d=p=>{const h=n.reduce((y,v)=>v(y),e());return a=$8(h),o=a.cache.get,i=a.cache.set,c=m,m(p)},m=p=>{const h=o(p);if(h)return h;const y=H8(p,a);return i(p,y),y};return c=d,(...p)=>c(V8(...p))},F8=[],Nt=e=>{const n=a=>a[e]||F8;return n.isThemeGetter=!0,n},u2=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,d2=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Y8=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,W8=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,q8=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,K8=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,X8=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Z8=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ga=e=>Y8.test(e),Le=e=>!!e&&!Number.isNaN(Number(e)),ar=e=>!!e&&Number.isInteger(Number(e)),np=e=>e.endsWith("%")&&Le(e.slice(0,-1)),_r=e=>W8.test(e),f2=()=>!0,Q8=e=>q8.test(e)&&!K8.test(e),Hh=()=>!1,J8=e=>X8.test(e),ek=e=>Z8.test(e),tk=e=>!xe(e)&&!Se(e),nk=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),rk=e=>ja(e,h2,Hh),xe=e=>u2.test(e),Qa=e=>ja(e,g2,Q8),n1=e=>ja(e,dk,Le),ak=e=>ja(e,b2,f2),ok=e=>ja(e,v2,Hh),r1=e=>ja(e,m2,Hh),sk=e=>ja(e,p2,ek),Vc=e=>ja(e,y2,J8),Se=e=>d2.test(e),Ii=e=>ho(e,g2),ik=e=>ho(e,v2),a1=e=>ho(e,m2),lk=e=>ho(e,h2),ck=e=>ho(e,p2),Gc=e=>ho(e,y2,!0),uk=e=>ho(e,b2,!0),ja=(e,n,a)=>{const o=u2.exec(e);return o?o[1]?n(o[1]):a(o[2]):!1},ho=(e,n,a=!1)=>{const o=d2.exec(e);return o?o[1]?n(o[1]):a:!1},m2=e=>e==="position"||e==="percentage",p2=e=>e==="image"||e==="url",h2=e=>e==="length"||e==="size"||e==="bg-size",g2=e=>e==="length",dk=e=>e==="number",v2=e=>e==="family-name",b2=e=>e==="number"||e==="weight",y2=e=>e==="shadow",fk=()=>{const e=Nt("color"),n=Nt("font"),a=Nt("text"),o=Nt("font-weight"),i=Nt("tracking"),c=Nt("leading"),d=Nt("breakpoint"),m=Nt("container"),p=Nt("spacing"),h=Nt("radius"),y=Nt("shadow"),v=Nt("inset-shadow"),x=Nt("text-shadow"),S=Nt("drop-shadow"),j=Nt("blur"),C=Nt("perspective"),N=Nt("aspect"),E=Nt("ease"),k=Nt("animate"),T=()=>["auto","avoid","all","avoid-page","page","left","right","column"],R=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],D=()=>[...R(),Se,xe],P=()=>["auto","hidden","clip","visible","scroll"],z=()=>["auto","contain","none"],B=()=>[Se,xe,p],H=()=>[ga,"full","auto",...B()],Y=()=>[ar,"none","subgrid",Se,xe],Q=()=>["auto",{span:["full",ar,Se,xe]},ar,Se,xe],fe=()=>[ar,"auto",Se,xe],de=()=>["auto","min","max","fr",Se,xe],he=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],se=()=>["start","end","center","stretch","center-safe","end-safe"],O=()=>["auto",...B()],$=()=>[ga,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...B()],Z=()=>[ga,"screen","full","dvw","lvw","svw","min","max","fit",...B()],J=()=>[ga,"screen","full","lh","dvh","lvh","svh","min","max","fit",...B()],te=()=>[e,Se,xe],M=()=>[...R(),a1,r1,{position:[Se,xe]}],_=()=>["no-repeat",{repeat:["","x","y","space","round"]}],U=()=>["auto","cover","contain",lk,rk,{size:[Se,xe]}],V=()=>[np,Ii,Qa],F=()=>["","none","full",h,Se,xe],ae=()=>["",Le,Ii,Qa],ne=()=>["solid","dashed","dotted","double"],me=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],pe=()=>[Le,np,a1,r1],W=()=>["","none",j,Se,xe],ie=()=>["none",Le,Se,xe],ge=()=>["none",Le,Se,xe],je=()=>[Le,Se,xe],Ae=()=>[ga,"full",...B()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[_r],breakpoint:[_r],color:[f2],container:[_r],"drop-shadow":[_r],ease:["in","out","in-out"],font:[tk],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[_r],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[_r],shadow:[_r],spacing:["px",Le],text:[_r],"text-shadow":[_r],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ga,xe,Se,N]}],container:["container"],"container-type":[{"@container":["","normal","size",Se,xe]}],"container-named":[nk],columns:[{columns:[Le,xe,Se,m]}],"break-after":[{"break-after":T()}],"break-before":[{"break-before":T()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:D()}],overflow:[{overflow:P()}],"overflow-x":[{"overflow-x":P()}],"overflow-y":[{"overflow-y":P()}],overscroll:[{overscroll:z()}],"overscroll-x":[{"overscroll-x":z()}],"overscroll-y":[{"overscroll-y":z()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:H()}],"inset-x":[{"inset-x":H()}],"inset-y":[{"inset-y":H()}],start:[{"inset-s":H(),start:H()}],end:[{"inset-e":H(),end:H()}],"inset-bs":[{"inset-bs":H()}],"inset-be":[{"inset-be":H()}],top:[{top:H()}],right:[{right:H()}],bottom:[{bottom:H()}],left:[{left:H()}],visibility:["visible","invisible","collapse"],z:[{z:[ar,"auto",Se,xe]}],basis:[{basis:[ga,"full","auto",m,...B()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Le,ga,"auto","initial","none",xe]}],grow:[{grow:["",Le,Se,xe]}],shrink:[{shrink:["",Le,Se,xe]}],order:[{order:[ar,"first","last","none",Se,xe]}],"grid-cols":[{"grid-cols":Y()}],"col-start-end":[{col:Q()}],"col-start":[{"col-start":fe()}],"col-end":[{"col-end":fe()}],"grid-rows":[{"grid-rows":Y()}],"row-start-end":[{row:Q()}],"row-start":[{"row-start":fe()}],"row-end":[{"row-end":fe()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":de()}],"auto-rows":[{"auto-rows":de()}],gap:[{gap:B()}],"gap-x":[{"gap-x":B()}],"gap-y":[{"gap-y":B()}],"justify-content":[{justify:[...he(),"normal"]}],"justify-items":[{"justify-items":[...se(),"normal"]}],"justify-self":[{"justify-self":["auto",...se()]}],"align-content":[{content:["normal",...he()]}],"align-items":[{items:[...se(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...se(),{baseline:["","last"]}]}],"place-content":[{"place-content":he()}],"place-items":[{"place-items":[...se(),"baseline"]}],"place-self":[{"place-self":["auto",...se()]}],p:[{p:B()}],px:[{px:B()}],py:[{py:B()}],ps:[{ps:B()}],pe:[{pe:B()}],pbs:[{pbs:B()}],pbe:[{pbe:B()}],pt:[{pt:B()}],pr:[{pr:B()}],pb:[{pb:B()}],pl:[{pl:B()}],m:[{m:O()}],mx:[{mx:O()}],my:[{my:O()}],ms:[{ms:O()}],me:[{me:O()}],mbs:[{mbs:O()}],mbe:[{mbe:O()}],mt:[{mt:O()}],mr:[{mr:O()}],mb:[{mb:O()}],ml:[{ml:O()}],"space-x":[{"space-x":B()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":B()}],"space-y-reverse":["space-y-reverse"],size:[{size:$()}],"inline-size":[{inline:["auto",...Z()]}],"min-inline-size":[{"min-inline":["auto",...Z()]}],"max-inline-size":[{"max-inline":["none",...Z()]}],"block-size":[{block:["auto",...J()]}],"min-block-size":[{"min-block":["auto",...J()]}],"max-block-size":[{"max-block":["none",...J()]}],w:[{w:[m,"screen",...$()]}],"min-w":[{"min-w":[m,"screen","none",...$()]}],"max-w":[{"max-w":[m,"screen","none","prose",{screen:[d]},...$()]}],h:[{h:["screen","lh",...$()]}],"min-h":[{"min-h":["screen","lh","none",...$()]}],"max-h":[{"max-h":["screen","lh",...$()]}],"font-size":[{text:["base",a,Ii,Qa]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,uk,ak]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",np,xe]}],"font-family":[{font:[ik,ok,n]}],"font-features":[{"font-features":[xe]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[i,Se,xe]}],"line-clamp":[{"line-clamp":[Le,"none",Se,n1]}],leading:[{leading:[c,...B()]}],"list-image":[{"list-image":["none",Se,xe]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Se,xe]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:te()}],"text-color":[{text:te()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ne(),"wavy"]}],"text-decoration-thickness":[{decoration:[Le,"from-font","auto",Se,Qa]}],"text-decoration-color":[{decoration:te()}],"underline-offset":[{"underline-offset":[Le,"auto",Se,xe]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:B()}],"tab-size":[{tab:[ar,Se,xe]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Se,xe]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Se,xe]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:M()}],"bg-repeat":[{bg:_()}],"bg-size":[{bg:U()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ar,Se,xe],radial:["",Se,xe],conic:[ar,Se,xe]},ck,sk]}],"bg-color":[{bg:te()}],"gradient-from-pos":[{from:V()}],"gradient-via-pos":[{via:V()}],"gradient-to-pos":[{to:V()}],"gradient-from":[{from:te()}],"gradient-via":[{via:te()}],"gradient-to":[{to:te()}],rounded:[{rounded:F()}],"rounded-s":[{"rounded-s":F()}],"rounded-e":[{"rounded-e":F()}],"rounded-t":[{"rounded-t":F()}],"rounded-r":[{"rounded-r":F()}],"rounded-b":[{"rounded-b":F()}],"rounded-l":[{"rounded-l":F()}],"rounded-ss":[{"rounded-ss":F()}],"rounded-se":[{"rounded-se":F()}],"rounded-ee":[{"rounded-ee":F()}],"rounded-es":[{"rounded-es":F()}],"rounded-tl":[{"rounded-tl":F()}],"rounded-tr":[{"rounded-tr":F()}],"rounded-br":[{"rounded-br":F()}],"rounded-bl":[{"rounded-bl":F()}],"border-w":[{border:ae()}],"border-w-x":[{"border-x":ae()}],"border-w-y":[{"border-y":ae()}],"border-w-s":[{"border-s":ae()}],"border-w-e":[{"border-e":ae()}],"border-w-bs":[{"border-bs":ae()}],"border-w-be":[{"border-be":ae()}],"border-w-t":[{"border-t":ae()}],"border-w-r":[{"border-r":ae()}],"border-w-b":[{"border-b":ae()}],"border-w-l":[{"border-l":ae()}],"divide-x":[{"divide-x":ae()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ae()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ne(),"hidden","none"]}],"divide-style":[{divide:[...ne(),"hidden","none"]}],"border-color":[{border:te()}],"border-color-x":[{"border-x":te()}],"border-color-y":[{"border-y":te()}],"border-color-s":[{"border-s":te()}],"border-color-e":[{"border-e":te()}],"border-color-bs":[{"border-bs":te()}],"border-color-be":[{"border-be":te()}],"border-color-t":[{"border-t":te()}],"border-color-r":[{"border-r":te()}],"border-color-b":[{"border-b":te()}],"border-color-l":[{"border-l":te()}],"divide-color":[{divide:te()}],"outline-style":[{outline:[...ne(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Le,Se,xe]}],"outline-w":[{outline:["",Le,Ii,Qa]}],"outline-color":[{outline:te()}],shadow:[{shadow:["","none",y,Gc,Vc]}],"shadow-color":[{shadow:te()}],"inset-shadow":[{"inset-shadow":["none",v,Gc,Vc]}],"inset-shadow-color":[{"inset-shadow":te()}],"ring-w":[{ring:ae()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:te()}],"ring-offset-w":[{"ring-offset":[Le,Qa]}],"ring-offset-color":[{"ring-offset":te()}],"inset-ring-w":[{"inset-ring":ae()}],"inset-ring-color":[{"inset-ring":te()}],"text-shadow":[{"text-shadow":["none",x,Gc,Vc]}],"text-shadow-color":[{"text-shadow":te()}],opacity:[{opacity:[Le,Se,xe]}],"mix-blend":[{"mix-blend":[...me(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":me()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Le]}],"mask-image-linear-from-pos":[{"mask-linear-from":pe()}],"mask-image-linear-to-pos":[{"mask-linear-to":pe()}],"mask-image-linear-from-color":[{"mask-linear-from":te()}],"mask-image-linear-to-color":[{"mask-linear-to":te()}],"mask-image-t-from-pos":[{"mask-t-from":pe()}],"mask-image-t-to-pos":[{"mask-t-to":pe()}],"mask-image-t-from-color":[{"mask-t-from":te()}],"mask-image-t-to-color":[{"mask-t-to":te()}],"mask-image-r-from-pos":[{"mask-r-from":pe()}],"mask-image-r-to-pos":[{"mask-r-to":pe()}],"mask-image-r-from-color":[{"mask-r-from":te()}],"mask-image-r-to-color":[{"mask-r-to":te()}],"mask-image-b-from-pos":[{"mask-b-from":pe()}],"mask-image-b-to-pos":[{"mask-b-to":pe()}],"mask-image-b-from-color":[{"mask-b-from":te()}],"mask-image-b-to-color":[{"mask-b-to":te()}],"mask-image-l-from-pos":[{"mask-l-from":pe()}],"mask-image-l-to-pos":[{"mask-l-to":pe()}],"mask-image-l-from-color":[{"mask-l-from":te()}],"mask-image-l-to-color":[{"mask-l-to":te()}],"mask-image-x-from-pos":[{"mask-x-from":pe()}],"mask-image-x-to-pos":[{"mask-x-to":pe()}],"mask-image-x-from-color":[{"mask-x-from":te()}],"mask-image-x-to-color":[{"mask-x-to":te()}],"mask-image-y-from-pos":[{"mask-y-from":pe()}],"mask-image-y-to-pos":[{"mask-y-to":pe()}],"mask-image-y-from-color":[{"mask-y-from":te()}],"mask-image-y-to-color":[{"mask-y-to":te()}],"mask-image-radial":[{"mask-radial":[Se,xe]}],"mask-image-radial-from-pos":[{"mask-radial-from":pe()}],"mask-image-radial-to-pos":[{"mask-radial-to":pe()}],"mask-image-radial-from-color":[{"mask-radial-from":te()}],"mask-image-radial-to-color":[{"mask-radial-to":te()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":R()}],"mask-image-conic-pos":[{"mask-conic":[Le]}],"mask-image-conic-from-pos":[{"mask-conic-from":pe()}],"mask-image-conic-to-pos":[{"mask-conic-to":pe()}],"mask-image-conic-from-color":[{"mask-conic-from":te()}],"mask-image-conic-to-color":[{"mask-conic-to":te()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:M()}],"mask-repeat":[{mask:_()}],"mask-size":[{mask:U()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Se,xe]}],filter:[{filter:["","none",Se,xe]}],blur:[{blur:W()}],brightness:[{brightness:[Le,Se,xe]}],contrast:[{contrast:[Le,Se,xe]}],"drop-shadow":[{"drop-shadow":["","none",S,Gc,Vc]}],"drop-shadow-color":[{"drop-shadow":te()}],grayscale:[{grayscale:["",Le,Se,xe]}],"hue-rotate":[{"hue-rotate":[Le,Se,xe]}],invert:[{invert:["",Le,Se,xe]}],saturate:[{saturate:[Le,Se,xe]}],sepia:[{sepia:["",Le,Se,xe]}],"backdrop-filter":[{"backdrop-filter":["","none",Se,xe]}],"backdrop-blur":[{"backdrop-blur":W()}],"backdrop-brightness":[{"backdrop-brightness":[Le,Se,xe]}],"backdrop-contrast":[{"backdrop-contrast":[Le,Se,xe]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Le,Se,xe]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Le,Se,xe]}],"backdrop-invert":[{"backdrop-invert":["",Le,Se,xe]}],"backdrop-opacity":[{"backdrop-opacity":[Le,Se,xe]}],"backdrop-saturate":[{"backdrop-saturate":[Le,Se,xe]}],"backdrop-sepia":[{"backdrop-sepia":["",Le,Se,xe]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":B()}],"border-spacing-x":[{"border-spacing-x":B()}],"border-spacing-y":[{"border-spacing-y":B()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Se,xe]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Le,"initial",Se,xe]}],ease:[{ease:["linear","initial",E,Se,xe]}],delay:[{delay:[Le,Se,xe]}],animate:[{animate:["none",k,Se,xe]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[C,Se,xe]}],"perspective-origin":[{"perspective-origin":D()}],rotate:[{rotate:ie()}],"rotate-x":[{"rotate-x":ie()}],"rotate-y":[{"rotate-y":ie()}],"rotate-z":[{"rotate-z":ie()}],scale:[{scale:ge()}],"scale-x":[{"scale-x":ge()}],"scale-y":[{"scale-y":ge()}],"scale-z":[{"scale-z":ge()}],"scale-3d":["scale-3d"],skew:[{skew:je()}],"skew-x":[{"skew-x":je()}],"skew-y":[{"skew-y":je()}],transform:[{transform:[Se,xe,"","none","gpu","cpu"]}],"transform-origin":[{origin:D()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ae()}],"translate-x":[{"translate-x":Ae()}],"translate-y":[{"translate-y":Ae()}],"translate-z":[{"translate-z":Ae()}],"translate-none":["translate-none"],zoom:[{zoom:[ar,Se,xe]}],accent:[{accent:te()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:te()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Se,xe]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":te()}],"scrollbar-track-color":[{"scrollbar-track":te()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":B()}],"scroll-mx":[{"scroll-mx":B()}],"scroll-my":[{"scroll-my":B()}],"scroll-ms":[{"scroll-ms":B()}],"scroll-me":[{"scroll-me":B()}],"scroll-mbs":[{"scroll-mbs":B()}],"scroll-mbe":[{"scroll-mbe":B()}],"scroll-mt":[{"scroll-mt":B()}],"scroll-mr":[{"scroll-mr":B()}],"scroll-mb":[{"scroll-mb":B()}],"scroll-ml":[{"scroll-ml":B()}],"scroll-p":[{"scroll-p":B()}],"scroll-px":[{"scroll-px":B()}],"scroll-py":[{"scroll-py":B()}],"scroll-ps":[{"scroll-ps":B()}],"scroll-pe":[{"scroll-pe":B()}],"scroll-pbs":[{"scroll-pbs":B()}],"scroll-pbe":[{"scroll-pbe":B()}],"scroll-pt":[{"scroll-pt":B()}],"scroll-pr":[{"scroll-pr":B()}],"scroll-pb":[{"scroll-pb":B()}],"scroll-pl":[{"scroll-pl":B()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Se,xe]}],fill:[{fill:["none",...te()]}],"stroke-w":[{stroke:[Le,Ii,Qa,n1]}],stroke:[{stroke:["none",...te()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},mk=G8(fk);function ce(...e){return mk(o2(e))}function ye({icon:e,className:n,size:a=18,strokeWidth:o=1.75}){return l.jsx(r2,{icon:e,size:a,className:ce("shrink-0",n),strokeWidth:o})}function o1(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function st(...e){return n=>{let a=!1;const o=e.map(i=>{const c=o1(i,n);return!a&&typeof c=="function"&&(a=!0),c});if(a)return()=>{for(let i=0;i{let{children:c,...d}=o;x2(c)&&typeof yu=="function"&&(c=yu(c._payload));const m=f.Children.toArray(c),p=m.find(bk);if(p){const h=p.props.children,y=m.map(v=>v===p?f.Children.count(h)>1?f.Children.only(null):f.isValidElement(h)?h.props.children:null:v);return l.jsx(n,{...d,ref:i,children:f.isValidElement(h)?f.cloneElement(h,void 0,y):null})}return l.jsx(n,{...d,ref:i,children:c})});return a.displayName=`${e}.Slot`,a}var Os=S2("Slot");function gk(e){const n=f.forwardRef((a,o)=>{let{children:i,...c}=a;if(x2(i)&&typeof yu=="function"&&(i=yu(i._payload)),f.isValidElement(i)){const d=xk(i),m=yk(c,i.props);return i.type!==f.Fragment&&(m.ref=o?st(o,d):d),f.cloneElement(i,m)}return f.Children.count(i)>1?f.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var vk=Symbol("radix.slottable");function bk(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===vk}function yk(e,n){const a={...n};for(const o in n){const i=e[o],c=n[o];/^on[A-Z]/.test(o)?i&&c?a[o]=(...m)=>{const p=c(...m);return i(...m),p}:i&&(a[o]=i):o==="style"?a[o]={...i,...c}:o==="className"&&(a[o]=[i,c].filter(Boolean).join(" "))}return{...e,...a}}function xk(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}const s1=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,i1=o2,Ds=(e,n)=>a=>{var o;if((n==null?void 0:n.variants)==null)return i1(e,a==null?void 0:a.class,a==null?void 0:a.className);const{variants:i,defaultVariants:c}=n,d=Object.keys(i).map(h=>{const y=a==null?void 0:a[h],v=c==null?void 0:c[h];if(y===null)return null;const x=s1(y)||s1(v);return i[h][x]}),m=a&&Object.entries(a).reduce((h,y)=>{let[v,x]=y;return x===void 0||(h[v]=x),h},{}),p=n==null||(o=n.compoundVariants)===null||o===void 0?void 0:o.reduce((h,y)=>{let{class:v,className:x,...S}=y;return Object.entries(S).every(j=>{let[C,N]=j;return Array.isArray(N)?N.includes({...c,...m}[C]):{...c,...m}[C]===N})?[...h,v,x]:h},[]);return i1(e,d,p,a==null?void 0:a.class,a==null?void 0:a.className)},Sk=Ds("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),ve=f.forwardRef(({className:e,variant:n,size:a,asChild:o=!1,...i},c)=>{const d=o?Os:"button";return l.jsx(d,{className:ce(Sk({variant:n,size:a,className:e})),ref:c,...i})});ve.displayName="Button";function be(e,n,{checkForDefaultPrevented:a=!0}={}){return function(i){if(e==null||e(i),a===!1||!i.defaultPrevented)return n==null?void 0:n(i)}}function wk(e,n=[]){let a=[];function o(c,d){const m=f.createContext(d),p=a.length;a=[...a,d];const h=v=>{var E;const{scope:x,children:S,...j}=v,C=((E=x==null?void 0:x[e])==null?void 0:E[p])||m,N=f.useMemo(()=>j,Object.values(j));return l.jsx(C.Provider,{value:N,children:S})};h.displayName=c+"Provider";function y(v,x){var C;const S=((C=x==null?void 0:x[e])==null?void 0:C[p])||m,j=f.useContext(S);if(j)return j;if(d!==void 0)return d;throw new Error(`\`${v}\` must be used within \`${c}\``)}return[h,y]}const i=()=>{const c=a.map(d=>f.createContext(d));return function(m){const p=(m==null?void 0:m[e])||c;return f.useMemo(()=>({[`__scope${e}`]:{...m,[e]:p}}),[m,p])}};return i.scopeName=e,[o,Ck(i,...n)]}function Ck(...e){const n=e[0];if(e.length===1)return n;const a=()=>{const o=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(c){const d=o.reduce((m,{useScope:p,scopeName:h})=>{const v=p(c)[`__scope${h}`];return{...m,...v}},{});return f.useMemo(()=>({[`__scope${n.scopeName}`]:d}),[d])}};return a.scopeName=n.scopeName,a}var jt=globalThis!=null&&globalThis.document?f.useLayoutEffect:()=>{},jk=wh[" useInsertionEffect ".trim().toString()]||jt;function Pr({prop:e,defaultProp:n,onChange:a=()=>{},caller:o}){const[i,c,d]=Ek({defaultProp:n,onChange:a}),m=e!==void 0,p=m?e:i;{const y=f.useRef(e!==void 0);f.useEffect(()=>{const v=y.current;v!==m&&console.warn(`${o} is changing from ${v?"controlled":"uncontrolled"} to ${m?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),y.current=m},[m,o])}const h=f.useCallback(y=>{var v;if(m){const x=Nk(y)?y(e):y;x!==e&&((v=d.current)==null||v.call(d,x))}else c(y)},[m,e,c,d]);return[p,h]}function Ek({defaultProp:e,onChange:n}){const[a,o]=f.useState(e),i=f.useRef(a),c=f.useRef(n);return jk(()=>{c.current=n},[n]),f.useEffect(()=>{var d;i.current!==a&&((d=c.current)==null||d.call(c,a),i.current=a)},[a,i]),[a,o,c]}function Nk(e){return typeof e=="function"}function kk(e){const n=Tk(e),a=f.forwardRef((o,i)=>{const{children:c,...d}=o,m=f.Children.toArray(c),p=m.find(Ak);if(p){const h=p.props.children,y=m.map(v=>v===p?f.Children.count(h)>1?f.Children.only(null):f.isValidElement(h)?h.props.children:null:v);return l.jsx(n,{...d,ref:i,children:f.isValidElement(h)?f.cloneElement(h,void 0,y):null})}return l.jsx(n,{...d,ref:i,children:c})});return a.displayName=`${e}.Slot`,a}function Tk(e){const n=f.forwardRef((a,o)=>{const{children:i,...c}=a;if(f.isValidElement(i)){const d=_k(i),m=Mk(c,i.props);return i.type!==f.Fragment&&(m.ref=o?st(o,d):d),f.cloneElement(i,m)}return f.Children.count(i)>1?f.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var Rk=Symbol("radix.slottable");function Ak(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Rk}function Mk(e,n){const a={...n};for(const o in n){const i=e[o],c=n[o];/^on[A-Z]/.test(o)?i&&c?a[o]=(...m)=>{const p=c(...m);return i(...m),p}:i&&(a[o]=i):o==="style"?a[o]={...i,...c}:o==="className"&&(a[o]=[i,c].filter(Boolean).join(" "))}return{...e,...a}}function _k(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var Ok=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Dk=Ok.reduce((e,n)=>{const a=kk(`Primitive.${n}`),o=f.forwardRef((i,c)=>{const{asChild:d,...m}=i,p=d?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(p,{...m,ref:c})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{});function Lk(e,n=[]){let a=[];function o(c,d){const m=f.createContext(d),p=a.length;a=[...a,d];const h=v=>{var E;const{scope:x,children:S,...j}=v,C=((E=x==null?void 0:x[e])==null?void 0:E[p])||m,N=f.useMemo(()=>j,Object.values(j));return l.jsx(C.Provider,{value:N,children:S})};h.displayName=c+"Provider";function y(v,x){var C;const S=((C=x==null?void 0:x[e])==null?void 0:C[p])||m,j=f.useContext(S);if(j)return j;if(d!==void 0)return d;throw new Error(`\`${v}\` must be used within \`${c}\``)}return[h,y]}const i=()=>{const c=a.map(d=>f.createContext(d));return function(m){const p=(m==null?void 0:m[e])||c;return f.useMemo(()=>({[`__scope${e}`]:{...m,[e]:p}}),[m,p])}};return i.scopeName=e,[o,zk(i,...n)]}function zk(...e){const n=e[0];if(e.length===1)return n;const a=()=>{const o=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(c){const d=o.reduce((m,{useScope:p,scopeName:h})=>{const v=p(c)[`__scope${h}`];return{...m,...v}},{});return f.useMemo(()=>({[`__scope${n.scopeName}`]:d}),[d])}};return a.scopeName=n.scopeName,a}function l1(e){const n=Pk(e),a=f.forwardRef((o,i)=>{const{children:c,...d}=o,m=f.Children.toArray(c),p=m.find($k);if(p){const h=p.props.children,y=m.map(v=>v===p?f.Children.count(h)>1?f.Children.only(null):f.isValidElement(h)?h.props.children:null:v);return l.jsx(n,{...d,ref:i,children:f.isValidElement(h)?f.cloneElement(h,void 0,y):null})}return l.jsx(n,{...d,ref:i,children:c})});return a.displayName=`${e}.Slot`,a}function Pk(e){const n=f.forwardRef((a,o)=>{const{children:i,...c}=a;if(f.isValidElement(i)){const d=Uk(i),m=Bk(c,i.props);return i.type!==f.Fragment&&(m.ref=o?st(o,d):d),f.cloneElement(i,m)}return f.Children.count(i)>1?f.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var Ik=Symbol("radix.slottable");function $k(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Ik}function Bk(e,n){const a={...n};for(const o in n){const i=e[o],c=n[o];/^on[A-Z]/.test(o)?i&&c?a[o]=(...m)=>{const p=c(...m);return i(...m),p}:i&&(a[o]=i):o==="style"?a[o]={...i,...c}:o==="className"&&(a[o]=[i,c].filter(Boolean).join(" "))}return{...e,...a}}function Uk(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}function Vh(e){const n=e+"CollectionProvider",[a,o]=Lk(n),[i,c]=a(n,{collectionRef:{current:null},itemMap:new Map}),d=C=>{const{scope:N,children:E}=C,k=ue.useRef(null),T=ue.useRef(new Map).current;return l.jsx(i,{scope:N,itemMap:T,collectionRef:k,children:E})};d.displayName=n;const m=e+"CollectionSlot",p=l1(m),h=ue.forwardRef((C,N)=>{const{scope:E,children:k}=C,T=c(m,E),R=ze(N,T.collectionRef);return l.jsx(p,{ref:R,children:k})});h.displayName=m;const y=e+"CollectionItemSlot",v="data-radix-collection-item",x=l1(y),S=ue.forwardRef((C,N)=>{const{scope:E,children:k,...T}=C,R=ue.useRef(null),D=ze(N,R),P=c(y,E);return ue.useEffect(()=>(P.itemMap.set(R,{ref:R,...T}),()=>void P.itemMap.delete(R))),l.jsx(x,{[v]:"",ref:D,children:k})});S.displayName=y;function j(C){const N=c(e+"CollectionConsumer",C);return ue.useCallback(()=>{const k=N.collectionRef.current;if(!k)return[];const T=Array.from(k.querySelectorAll(`[${v}]`));return Array.from(N.itemMap.values()).sort((P,z)=>T.indexOf(P.ref.current)-T.indexOf(z.ref.current))},[N.collectionRef,N.itemMap])}return[{Provider:d,Slot:h,ItemSlot:S},j,o]}function Hk(e,n=[]){let a=[];function o(c,d){const m=f.createContext(d),p=a.length;a=[...a,d];const h=v=>{var E;const{scope:x,children:S,...j}=v,C=((E=x==null?void 0:x[e])==null?void 0:E[p])||m,N=f.useMemo(()=>j,Object.values(j));return l.jsx(C.Provider,{value:N,children:S})};h.displayName=c+"Provider";function y(v,x){var C;const S=((C=x==null?void 0:x[e])==null?void 0:C[p])||m,j=f.useContext(S);if(j)return j;if(d!==void 0)return d;throw new Error(`\`${v}\` must be used within \`${c}\``)}return[h,y]}const i=()=>{const c=a.map(d=>f.createContext(d));return function(m){const p=(m==null?void 0:m[e])||c;return f.useMemo(()=>({[`__scope${e}`]:{...m,[e]:p}}),[m,p])}};return i.scopeName=e,[o,Vk(i,...n)]}function Vk(...e){const n=e[0];if(e.length===1)return n;const a=()=>{const o=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(c){const d=o.reduce((m,{useScope:p,scopeName:h})=>{const v=p(c)[`__scope${h}`];return{...m,...v}},{});return f.useMemo(()=>({[`__scope${n.scopeName}`]:d}),[d])}};return a.scopeName=n.scopeName,a}var Gk=f.createContext(void 0);function dl(e){const n=f.useContext(Gk);return e||n||"ltr"}function Fk(e){const n=Yk(e),a=f.forwardRef((o,i)=>{const{children:c,...d}=o,m=f.Children.toArray(c),p=m.find(qk);if(p){const h=p.props.children,y=m.map(v=>v===p?f.Children.count(h)>1?f.Children.only(null):f.isValidElement(h)?h.props.children:null:v);return l.jsx(n,{...d,ref:i,children:f.isValidElement(h)?f.cloneElement(h,void 0,y):null})}return l.jsx(n,{...d,ref:i,children:c})});return a.displayName=`${e}.Slot`,a}function Yk(e){const n=f.forwardRef((a,o)=>{const{children:i,...c}=a;if(f.isValidElement(i)){const d=Xk(i),m=Kk(c,i.props);return i.type!==f.Fragment&&(m.ref=o?st(o,d):d),f.cloneElement(i,m)}return f.Children.count(i)>1?f.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var Wk=Symbol("radix.slottable");function qk(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Wk}function Kk(e,n){const a={...n};for(const o in n){const i=e[o],c=n[o];/^on[A-Z]/.test(o)?i&&c?a[o]=(...m)=>{const p=c(...m);return i(...m),p}:i&&(a[o]=i):o==="style"?a[o]={...i,...c}:o==="className"&&(a[o]=[i,c].filter(Boolean).join(" "))}return{...e,...a}}function Xk(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var Zk=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],w2=Zk.reduce((e,n)=>{const a=Fk(`Primitive.${n}`),o=f.forwardRef((i,c)=>{const{asChild:d,...m}=i,p=d?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(p,{...m,ref:c})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{});function Qk(e,n){e&&po.flushSync(()=>e.dispatchEvent(n))}function Ot(e){const n=f.useRef(e);return f.useEffect(()=>{n.current=e}),f.useMemo(()=>(...a)=>{var o;return(o=n.current)==null?void 0:o.call(n,...a)},[])}function Jk(e,n=globalThis==null?void 0:globalThis.document){const a=Ot(e);f.useEffect(()=>{const o=i=>{i.key==="Escape"&&a(i)};return n.addEventListener("keydown",o,{capture:!0}),()=>n.removeEventListener("keydown",o,{capture:!0})},[a,n])}var eT="DismissableLayer",Bp="dismissableLayer.update",tT="dismissableLayer.pointerDownOutside",nT="dismissableLayer.focusOutside",c1,C2=f.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Ls=f.forwardRef((e,n)=>{const{disableOutsidePointerEvents:a=!1,onEscapeKeyDown:o,onPointerDownOutside:i,onFocusOutside:c,onInteractOutside:d,onDismiss:m,...p}=e,h=f.useContext(C2),[y,v]=f.useState(null),x=(y==null?void 0:y.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,S]=f.useState({}),j=ze(n,z=>v(z)),C=Array.from(h.layers),[N]=[...h.layersWithOutsidePointerEventsDisabled].slice(-1),E=C.indexOf(N),k=y?C.indexOf(y):-1,T=h.layersWithOutsidePointerEventsDisabled.size>0,R=k>=E,D=oT(z=>{const B=z.target,H=[...h.branches].some(Y=>Y.contains(B));!R||H||(i==null||i(z),d==null||d(z),z.defaultPrevented||m==null||m())},x),P=sT(z=>{const B=z.target;[...h.branches].some(Y=>Y.contains(B))||(c==null||c(z),d==null||d(z),z.defaultPrevented||m==null||m())},x);return Jk(z=>{k===h.layers.size-1&&(o==null||o(z),!z.defaultPrevented&&m&&(z.preventDefault(),m()))},x),f.useEffect(()=>{if(y)return a&&(h.layersWithOutsidePointerEventsDisabled.size===0&&(c1=x.body.style.pointerEvents,x.body.style.pointerEvents="none"),h.layersWithOutsidePointerEventsDisabled.add(y)),h.layers.add(y),u1(),()=>{a&&h.layersWithOutsidePointerEventsDisabled.size===1&&(x.body.style.pointerEvents=c1)}},[y,x,a,h]),f.useEffect(()=>()=>{y&&(h.layers.delete(y),h.layersWithOutsidePointerEventsDisabled.delete(y),u1())},[y,h]),f.useEffect(()=>{const z=()=>S({});return document.addEventListener(Bp,z),()=>document.removeEventListener(Bp,z)},[]),l.jsx(w2.div,{...p,ref:j,style:{pointerEvents:T?R?"auto":"none":void 0,...e.style},onFocusCapture:be(e.onFocusCapture,P.onFocusCapture),onBlurCapture:be(e.onBlurCapture,P.onBlurCapture),onPointerDownCapture:be(e.onPointerDownCapture,D.onPointerDownCapture)})});Ls.displayName=eT;var rT="DismissableLayerBranch",aT=f.forwardRef((e,n)=>{const a=f.useContext(C2),o=f.useRef(null),i=ze(n,o);return f.useEffect(()=>{const c=o.current;if(c)return a.branches.add(c),()=>{a.branches.delete(c)}},[a.branches]),l.jsx(w2.div,{...e,ref:i})});aT.displayName=rT;function oT(e,n=globalThis==null?void 0:globalThis.document){const a=Ot(e),o=f.useRef(!1),i=f.useRef(()=>{});return f.useEffect(()=>{const c=m=>{if(m.target&&!o.current){let p=function(){j2(tT,a,h,{discrete:!0})};const h={originalEvent:m};m.pointerType==="touch"?(n.removeEventListener("click",i.current),i.current=p,n.addEventListener("click",i.current,{once:!0})):p()}else n.removeEventListener("click",i.current);o.current=!1},d=window.setTimeout(()=>{n.addEventListener("pointerdown",c)},0);return()=>{window.clearTimeout(d),n.removeEventListener("pointerdown",c),n.removeEventListener("click",i.current)}},[n,a]),{onPointerDownCapture:()=>o.current=!0}}function sT(e,n=globalThis==null?void 0:globalThis.document){const a=Ot(e),o=f.useRef(!1);return f.useEffect(()=>{const i=c=>{c.target&&!o.current&&j2(nT,a,{originalEvent:c},{discrete:!1})};return n.addEventListener("focusin",i),()=>n.removeEventListener("focusin",i)},[n,a]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function u1(){const e=new CustomEvent(Bp);document.dispatchEvent(e)}function j2(e,n,a,{discrete:o}){const i=a.originalEvent.target,c=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:a});n&&i.addEventListener(e,n,{once:!0}),o?Qk(i,c):i.dispatchEvent(c)}var rp=0;function Wu(){f.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??d1()),document.body.insertAdjacentElement("beforeend",e[1]??d1()),rp++,()=>{rp===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(n=>n.remove()),rp--}},[])}function d1(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}function iT(e){const n=lT(e),a=f.forwardRef((o,i)=>{const{children:c,...d}=o,m=f.Children.toArray(c),p=m.find(uT);if(p){const h=p.props.children,y=m.map(v=>v===p?f.Children.count(h)>1?f.Children.only(null):f.isValidElement(h)?h.props.children:null:v);return l.jsx(n,{...d,ref:i,children:f.isValidElement(h)?f.cloneElement(h,void 0,y):null})}return l.jsx(n,{...d,ref:i,children:c})});return a.displayName=`${e}.Slot`,a}function lT(e){const n=f.forwardRef((a,o)=>{const{children:i,...c}=a;if(f.isValidElement(i)){const d=fT(i),m=dT(c,i.props);return i.type!==f.Fragment&&(m.ref=o?st(o,d):d),f.cloneElement(i,m)}return f.Children.count(i)>1?f.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var cT=Symbol("radix.slottable");function uT(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===cT}function dT(e,n){const a={...n};for(const o in n){const i=e[o],c=n[o];/^on[A-Z]/.test(o)?i&&c?a[o]=(...m)=>{const p=c(...m);return i(...m),p}:i&&(a[o]=i):o==="style"?a[o]={...i,...c}:o==="className"&&(a[o]=[i,c].filter(Boolean).join(" "))}return{...e,...a}}function fT(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var mT=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],pT=mT.reduce((e,n)=>{const a=iT(`Primitive.${n}`),o=f.forwardRef((i,c)=>{const{asChild:d,...m}=i,p=d?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(p,{...m,ref:c})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{}),ap="focusScope.autoFocusOnMount",op="focusScope.autoFocusOnUnmount",f1={bubbles:!1,cancelable:!0},hT="FocusScope",fl=f.forwardRef((e,n)=>{const{loop:a=!1,trapped:o=!1,onMountAutoFocus:i,onUnmountAutoFocus:c,...d}=e,[m,p]=f.useState(null),h=Ot(i),y=Ot(c),v=f.useRef(null),x=ze(n,C=>p(C)),S=f.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;f.useEffect(()=>{if(o){let C=function(T){if(S.paused||!m)return;const R=T.target;m.contains(R)?v.current=R:ba(v.current,{select:!0})},N=function(T){if(S.paused||!m)return;const R=T.relatedTarget;R!==null&&(m.contains(R)||ba(v.current,{select:!0}))},E=function(T){if(document.activeElement===document.body)for(const D of T)D.removedNodes.length>0&&ba(m)};document.addEventListener("focusin",C),document.addEventListener("focusout",N);const k=new MutationObserver(E);return m&&k.observe(m,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",C),document.removeEventListener("focusout",N),k.disconnect()}}},[o,m,S.paused]),f.useEffect(()=>{if(m){p1.add(S);const C=document.activeElement;if(!m.contains(C)){const E=new CustomEvent(ap,f1);m.addEventListener(ap,h),m.dispatchEvent(E),E.defaultPrevented||(gT(ST(E2(m)),{select:!0}),document.activeElement===C&&ba(m))}return()=>{m.removeEventListener(ap,h),setTimeout(()=>{const E=new CustomEvent(op,f1);m.addEventListener(op,y),m.dispatchEvent(E),E.defaultPrevented||ba(C??document.body,{select:!0}),m.removeEventListener(op,y),p1.remove(S)},0)}}},[m,h,y,S]);const j=f.useCallback(C=>{if(!a&&!o||S.paused)return;const N=C.key==="Tab"&&!C.altKey&&!C.ctrlKey&&!C.metaKey,E=document.activeElement;if(N&&E){const k=C.currentTarget,[T,R]=vT(k);T&&R?!C.shiftKey&&E===R?(C.preventDefault(),a&&ba(T,{select:!0})):C.shiftKey&&E===T&&(C.preventDefault(),a&&ba(R,{select:!0})):E===k&&C.preventDefault()}},[a,o,S.paused]);return l.jsx(pT.div,{tabIndex:-1,...d,ref:x,onKeyDown:j})});fl.displayName=hT;function gT(e,{select:n=!1}={}){const a=document.activeElement;for(const o of e)if(ba(o,{select:n}),document.activeElement!==a)return}function vT(e){const n=E2(e),a=m1(n,e),o=m1(n.reverse(),e);return[a,o]}function E2(e){const n=[],a=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const i=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||i?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;a.nextNode();)n.push(a.currentNode);return n}function m1(e,n){for(const a of e)if(!bT(a,{upTo:n}))return a}function bT(e,{upTo:n}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(n!==void 0&&e===n)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function yT(e){return e instanceof HTMLInputElement&&"select"in e}function ba(e,{select:n=!1}={}){if(e&&e.focus){const a=document.activeElement;e.focus({preventScroll:!0}),e!==a&&yT(e)&&n&&e.select()}}var p1=xT();function xT(){let e=[];return{add(n){const a=e[0];n!==a&&(a==null||a.pause()),e=h1(e,n),e.unshift(n)},remove(n){var a;e=h1(e,n),(a=e[0])==null||a.resume()}}}function h1(e,n){const a=[...e],o=a.indexOf(n);return o!==-1&&a.splice(o,1),a}function ST(e){return e.filter(n=>n.tagName!=="A")}var wT=wh[" useId ".trim().toString()]||(()=>{}),CT=0;function Dt(e){const[n,a]=f.useState(wT());return jt(()=>{a(o=>o??String(CT++))},[e]),n?`radix-${n}`:""}const jT=["top","right","bottom","left"],Sa=Math.min,Sn=Math.max,xu=Math.round,Fc=Math.floor,ur=e=>({x:e,y:e}),ET={left:"right",right:"left",bottom:"top",top:"bottom"};function Up(e,n,a){return Sn(e,Sa(n,a))}function Ir(e,n){return typeof e=="function"?e(n):e}function $r(e){return e.split("-")[0]}function zs(e){return e.split("-")[1]}function Gh(e){return e==="x"?"y":"x"}function Fh(e){return e==="y"?"height":"width"}function lr(e){const n=e[0];return n==="t"||n==="b"?"y":"x"}function Yh(e){return Gh(lr(e))}function NT(e,n,a){a===void 0&&(a=!1);const o=zs(e),i=Yh(e),c=Fh(i);let d=i==="x"?o===(a?"end":"start")?"right":"left":o==="start"?"bottom":"top";return n.reference[c]>n.floating[c]&&(d=Su(d)),[d,Su(d)]}function kT(e){const n=Su(e);return[Hp(e),n,Hp(n)]}function Hp(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const g1=["left","right"],v1=["right","left"],TT=["top","bottom"],RT=["bottom","top"];function AT(e,n,a){switch(e){case"top":case"bottom":return a?n?v1:g1:n?g1:v1;case"left":case"right":return n?TT:RT;default:return[]}}function MT(e,n,a,o){const i=zs(e);let c=AT($r(e),a==="start",o);return i&&(c=c.map(d=>d+"-"+i),n&&(c=c.concat(c.map(Hp)))),c}function Su(e){const n=$r(e);return ET[n]+e.slice(n.length)}function _T(e){return{top:0,right:0,bottom:0,left:0,...e}}function N2(e){return typeof e!="number"?_T(e):{top:e,right:e,bottom:e,left:e}}function wu(e){const{x:n,y:a,width:o,height:i}=e;return{width:o,height:i,top:a,left:n,right:n+o,bottom:a+i,x:n,y:a}}function b1(e,n,a){let{reference:o,floating:i}=e;const c=lr(n),d=Yh(n),m=Fh(d),p=$r(n),h=c==="y",y=o.x+o.width/2-i.width/2,v=o.y+o.height/2-i.height/2,x=o[m]/2-i[m]/2;let S;switch(p){case"top":S={x:y,y:o.y-i.height};break;case"bottom":S={x:y,y:o.y+o.height};break;case"right":S={x:o.x+o.width,y:v};break;case"left":S={x:o.x-i.width,y:v};break;default:S={x:o.x,y:o.y}}switch(zs(n)){case"start":S[d]-=x*(a&&h?-1:1);break;case"end":S[d]+=x*(a&&h?-1:1);break}return S}async function OT(e,n){var a;n===void 0&&(n={});const{x:o,y:i,platform:c,rects:d,elements:m,strategy:p}=e,{boundary:h="clippingAncestors",rootBoundary:y="viewport",elementContext:v="floating",altBoundary:x=!1,padding:S=0}=Ir(n,e),j=N2(S),N=m[x?v==="floating"?"reference":"floating":v],E=wu(await c.getClippingRect({element:(a=await(c.isElement==null?void 0:c.isElement(N)))==null||a?N:N.contextElement||await(c.getDocumentElement==null?void 0:c.getDocumentElement(m.floating)),boundary:h,rootBoundary:y,strategy:p})),k=v==="floating"?{x:o,y:i,width:d.floating.width,height:d.floating.height}:d.reference,T=await(c.getOffsetParent==null?void 0:c.getOffsetParent(m.floating)),R=await(c.isElement==null?void 0:c.isElement(T))?await(c.getScale==null?void 0:c.getScale(T))||{x:1,y:1}:{x:1,y:1},D=wu(c.convertOffsetParentRelativeRectToViewportRelativeRect?await c.convertOffsetParentRelativeRectToViewportRelativeRect({elements:m,rect:k,offsetParent:T,strategy:p}):k);return{top:(E.top-D.top+j.top)/R.y,bottom:(D.bottom-E.bottom+j.bottom)/R.y,left:(E.left-D.left+j.left)/R.x,right:(D.right-E.right+j.right)/R.x}}const DT=50,LT=async(e,n,a)=>{const{placement:o="bottom",strategy:i="absolute",middleware:c=[],platform:d}=a,m=d.detectOverflow?d:{...d,detectOverflow:OT},p=await(d.isRTL==null?void 0:d.isRTL(n));let h=await d.getElementRects({reference:e,floating:n,strategy:i}),{x:y,y:v}=b1(h,o,p),x=o,S=0;const j={};for(let C=0;C({name:"arrow",options:e,async fn(n){const{x:a,y:o,placement:i,rects:c,platform:d,elements:m,middlewareData:p}=n,{element:h,padding:y=0}=Ir(e,n)||{};if(h==null)return{};const v=N2(y),x={x:a,y:o},S=Yh(i),j=Fh(S),C=await d.getDimensions(h),N=S==="y",E=N?"top":"left",k=N?"bottom":"right",T=N?"clientHeight":"clientWidth",R=c.reference[j]+c.reference[S]-x[S]-c.floating[j],D=x[S]-c.reference[S],P=await(d.getOffsetParent==null?void 0:d.getOffsetParent(h));let z=P?P[T]:0;(!z||!await(d.isElement==null?void 0:d.isElement(P)))&&(z=m.floating[T]||c.floating[j]);const B=R/2-D/2,H=z/2-C[j]/2-1,Y=Sa(v[E],H),Q=Sa(v[k],H),fe=Y,de=z-C[j]-Q,he=z/2-C[j]/2+B,se=Up(fe,he,de),O=!p.arrow&&zs(i)!=null&&he!==se&&c.reference[j]/2-(hehe<=0)){var Q,fe;const he=(((Q=c.flip)==null?void 0:Q.index)||0)+1,se=z[he];if(se&&(!(v==="alignment"?k!==lr(se):!1)||Y.every(Z=>lr(Z.placement)===k?Z.overflows[0]>0:!0)))return{data:{index:he,overflows:Y},reset:{placement:se}};let O=(fe=Y.filter($=>$.overflows[0]<=0).sort(($,Z)=>$.overflows[1]-Z.overflows[1])[0])==null?void 0:fe.placement;if(!O)switch(S){case"bestFit":{var de;const $=(de=Y.filter(Z=>{if(P){const J=lr(Z.placement);return J===k||J==="y"}return!0}).map(Z=>[Z.placement,Z.overflows.filter(J=>J>0).reduce((J,te)=>J+te,0)]).sort((Z,J)=>Z[1]-J[1])[0])==null?void 0:de[0];$&&(O=$);break}case"initialPlacement":O=m;break}if(i!==O)return{reset:{placement:O}}}return{}}}};function y1(e,n){return{top:e.top-n.height,right:e.right-n.width,bottom:e.bottom-n.height,left:e.left-n.width}}function x1(e){return jT.some(n=>e[n]>=0)}const IT=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(n){const{rects:a,platform:o}=n,{strategy:i="referenceHidden",...c}=Ir(e,n);switch(i){case"referenceHidden":{const d=await o.detectOverflow(n,{...c,elementContext:"reference"}),m=y1(d,a.reference);return{data:{referenceHiddenOffsets:m,referenceHidden:x1(m)}}}case"escaped":{const d=await o.detectOverflow(n,{...c,altBoundary:!0}),m=y1(d,a.floating);return{data:{escapedOffsets:m,escaped:x1(m)}}}default:return{}}}}},k2=new Set(["left","top"]);async function $T(e,n){const{placement:a,platform:o,elements:i}=e,c=await(o.isRTL==null?void 0:o.isRTL(i.floating)),d=$r(a),m=zs(a),p=lr(a)==="y",h=k2.has(d)?-1:1,y=c&&p?-1:1,v=Ir(n,e);let{mainAxis:x,crossAxis:S,alignmentAxis:j}=typeof v=="number"?{mainAxis:v,crossAxis:0,alignmentAxis:null}:{mainAxis:v.mainAxis||0,crossAxis:v.crossAxis||0,alignmentAxis:v.alignmentAxis};return m&&typeof j=="number"&&(S=m==="end"?j*-1:j),p?{x:S*y,y:x*h}:{x:x*h,y:S*y}}const BT=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(n){var a,o;const{x:i,y:c,placement:d,middlewareData:m}=n,p=await $T(n,e);return d===((a=m.offset)==null?void 0:a.placement)&&(o=m.arrow)!=null&&o.alignmentOffset?{}:{x:i+p.x,y:c+p.y,data:{...p,placement:d}}}}},UT=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(n){const{x:a,y:o,placement:i,platform:c}=n,{mainAxis:d=!0,crossAxis:m=!1,limiter:p={fn:E=>{let{x:k,y:T}=E;return{x:k,y:T}}},...h}=Ir(e,n),y={x:a,y:o},v=await c.detectOverflow(n,h),x=lr($r(i)),S=Gh(x);let j=y[S],C=y[x];if(d){const E=S==="y"?"top":"left",k=S==="y"?"bottom":"right",T=j+v[E],R=j-v[k];j=Up(T,j,R)}if(m){const E=x==="y"?"top":"left",k=x==="y"?"bottom":"right",T=C+v[E],R=C-v[k];C=Up(T,C,R)}const N=p.fn({...n,[S]:j,[x]:C});return{...N,data:{x:N.x-a,y:N.y-o,enabled:{[S]:d,[x]:m}}}}}},HT=function(e){return e===void 0&&(e={}),{options:e,fn(n){const{x:a,y:o,placement:i,rects:c,middlewareData:d}=n,{offset:m=0,mainAxis:p=!0,crossAxis:h=!0}=Ir(e,n),y={x:a,y:o},v=lr(i),x=Gh(v);let S=y[x],j=y[v];const C=Ir(m,n),N=typeof C=="number"?{mainAxis:C,crossAxis:0}:{mainAxis:0,crossAxis:0,...C};if(p){const T=x==="y"?"height":"width",R=c.reference[x]-c.floating[T]+N.mainAxis,D=c.reference[x]+c.reference[T]-N.mainAxis;SD&&(S=D)}if(h){var E,k;const T=x==="y"?"width":"height",R=k2.has($r(i)),D=c.reference[v]-c.floating[T]+(R&&((E=d.offset)==null?void 0:E[v])||0)+(R?0:N.crossAxis),P=c.reference[v]+c.reference[T]+(R?0:((k=d.offset)==null?void 0:k[v])||0)-(R?N.crossAxis:0);jP&&(j=P)}return{[x]:S,[v]:j}}}},VT=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(n){var a,o;const{placement:i,rects:c,platform:d,elements:m}=n,{apply:p=()=>{},...h}=Ir(e,n),y=await d.detectOverflow(n,h),v=$r(i),x=zs(i),S=lr(i)==="y",{width:j,height:C}=c.floating;let N,E;v==="top"||v==="bottom"?(N=v,E=x===(await(d.isRTL==null?void 0:d.isRTL(m.floating))?"start":"end")?"left":"right"):(E=v,N=x==="end"?"top":"bottom");const k=C-y.top-y.bottom,T=j-y.left-y.right,R=Sa(C-y[N],k),D=Sa(j-y[E],T),P=!n.middlewareData.shift;let z=R,B=D;if((a=n.middlewareData.shift)!=null&&a.enabled.x&&(B=T),(o=n.middlewareData.shift)!=null&&o.enabled.y&&(z=k),P&&!x){const Y=Sn(y.left,0),Q=Sn(y.right,0),fe=Sn(y.top,0),de=Sn(y.bottom,0);S?B=j-2*(Y!==0||Q!==0?Y+Q:Sn(y.left,y.right)):z=C-2*(fe!==0||de!==0?fe+de:Sn(y.top,y.bottom))}await p({...n,availableWidth:B,availableHeight:z});const H=await d.getDimensions(m.floating);return j!==H.width||C!==H.height?{reset:{rects:!0}}:{}}}};function qu(){return typeof window<"u"}function Ps(e){return T2(e)?(e.nodeName||"").toLowerCase():"#document"}function wn(e){var n;return(e==null||(n=e.ownerDocument)==null?void 0:n.defaultView)||window}function dr(e){var n;return(n=(T2(e)?e.ownerDocument:e.document)||window.document)==null?void 0:n.documentElement}function T2(e){return qu()?e instanceof Node||e instanceof wn(e).Node:!1}function qn(e){return qu()?e instanceof Element||e instanceof wn(e).Element:!1}function Br(e){return qu()?e instanceof HTMLElement||e instanceof wn(e).HTMLElement:!1}function S1(e){return!qu()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof wn(e).ShadowRoot}function ml(e){const{overflow:n,overflowX:a,overflowY:o,display:i}=Kn(e);return/auto|scroll|overlay|hidden|clip/.test(n+o+a)&&i!=="inline"&&i!=="contents"}function GT(e){return/^(table|td|th)$/.test(Ps(e))}function Ku(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const FT=/transform|translate|scale|rotate|perspective|filter/,YT=/paint|layout|strict|content/,Ja=e=>!!e&&e!=="none";let sp;function Wh(e){const n=qn(e)?Kn(e):e;return Ja(n.transform)||Ja(n.translate)||Ja(n.scale)||Ja(n.rotate)||Ja(n.perspective)||!qh()&&(Ja(n.backdropFilter)||Ja(n.filter))||FT.test(n.willChange||"")||YT.test(n.contain||"")}function WT(e){let n=wa(e);for(;Br(n)&&!ys(n);){if(Wh(n))return n;if(Ku(n))return null;n=wa(n)}return null}function qh(){return sp==null&&(sp=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),sp}function ys(e){return/^(html|body|#document)$/.test(Ps(e))}function Kn(e){return wn(e).getComputedStyle(e)}function Xu(e){return qn(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function wa(e){if(Ps(e)==="html")return e;const n=e.assignedSlot||e.parentNode||S1(e)&&e.host||dr(e);return S1(n)?n.host:n}function R2(e){const n=wa(e);return ys(n)?e.ownerDocument?e.ownerDocument.body:e.body:Br(n)&&ml(n)?n:R2(n)}function el(e,n,a){var o;n===void 0&&(n=[]),a===void 0&&(a=!0);const i=R2(e),c=i===((o=e.ownerDocument)==null?void 0:o.body),d=wn(i);if(c){const m=Vp(d);return n.concat(d,d.visualViewport||[],ml(i)?i:[],m&&a?el(m):[])}else return n.concat(i,el(i,[],a))}function Vp(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function A2(e){const n=Kn(e);let a=parseFloat(n.width)||0,o=parseFloat(n.height)||0;const i=Br(e),c=i?e.offsetWidth:a,d=i?e.offsetHeight:o,m=xu(a)!==c||xu(o)!==d;return m&&(a=c,o=d),{width:a,height:o,$:m}}function Kh(e){return qn(e)?e:e.contextElement}function ps(e){const n=Kh(e);if(!Br(n))return ur(1);const a=n.getBoundingClientRect(),{width:o,height:i,$:c}=A2(n);let d=(c?xu(a.width):a.width)/o,m=(c?xu(a.height):a.height)/i;return(!d||!Number.isFinite(d))&&(d=1),(!m||!Number.isFinite(m))&&(m=1),{x:d,y:m}}const qT=ur(0);function M2(e){const n=wn(e);return!qh()||!n.visualViewport?qT:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function KT(e,n,a){return n===void 0&&(n=!1),!a||n&&a!==wn(e)?!1:n}function ro(e,n,a,o){n===void 0&&(n=!1),a===void 0&&(a=!1);const i=e.getBoundingClientRect(),c=Kh(e);let d=ur(1);n&&(o?qn(o)&&(d=ps(o)):d=ps(e));const m=KT(c,a,o)?M2(c):ur(0);let p=(i.left+m.x)/d.x,h=(i.top+m.y)/d.y,y=i.width/d.x,v=i.height/d.y;if(c){const x=wn(c),S=o&&qn(o)?wn(o):o;let j=x,C=Vp(j);for(;C&&o&&S!==j;){const N=ps(C),E=C.getBoundingClientRect(),k=Kn(C),T=E.left+(C.clientLeft+parseFloat(k.paddingLeft))*N.x,R=E.top+(C.clientTop+parseFloat(k.paddingTop))*N.y;p*=N.x,h*=N.y,y*=N.x,v*=N.y,p+=T,h+=R,j=wn(C),C=Vp(j)}}return wu({width:y,height:v,x:p,y:h})}function Zu(e,n){const a=Xu(e).scrollLeft;return n?n.left+a:ro(dr(e)).left+a}function _2(e,n){const a=e.getBoundingClientRect(),o=a.left+n.scrollLeft-Zu(e,a),i=a.top+n.scrollTop;return{x:o,y:i}}function XT(e){let{elements:n,rect:a,offsetParent:o,strategy:i}=e;const c=i==="fixed",d=dr(o),m=n?Ku(n.floating):!1;if(o===d||m&&c)return a;let p={scrollLeft:0,scrollTop:0},h=ur(1);const y=ur(0),v=Br(o);if((v||!v&&!c)&&((Ps(o)!=="body"||ml(d))&&(p=Xu(o)),v)){const S=ro(o);h=ps(o),y.x=S.x+o.clientLeft,y.y=S.y+o.clientTop}const x=d&&!v&&!c?_2(d,p):ur(0);return{width:a.width*h.x,height:a.height*h.y,x:a.x*h.x-p.scrollLeft*h.x+y.x+x.x,y:a.y*h.y-p.scrollTop*h.y+y.y+x.y}}function ZT(e){return Array.from(e.getClientRects())}function QT(e){const n=dr(e),a=Xu(e),o=e.ownerDocument.body,i=Sn(n.scrollWidth,n.clientWidth,o.scrollWidth,o.clientWidth),c=Sn(n.scrollHeight,n.clientHeight,o.scrollHeight,o.clientHeight);let d=-a.scrollLeft+Zu(e);const m=-a.scrollTop;return Kn(o).direction==="rtl"&&(d+=Sn(n.clientWidth,o.clientWidth)-i),{width:i,height:c,x:d,y:m}}const w1=25;function JT(e,n){const a=wn(e),o=dr(e),i=a.visualViewport;let c=o.clientWidth,d=o.clientHeight,m=0,p=0;if(i){c=i.width,d=i.height;const y=qh();(!y||y&&n==="fixed")&&(m=i.offsetLeft,p=i.offsetTop)}const h=Zu(o);if(h<=0){const y=o.ownerDocument,v=y.body,x=getComputedStyle(v),S=y.compatMode==="CSS1Compat"&&parseFloat(x.marginLeft)+parseFloat(x.marginRight)||0,j=Math.abs(o.clientWidth-v.clientWidth-S);j<=w1&&(c-=j)}else h<=w1&&(c+=h);return{width:c,height:d,x:m,y:p}}function e6(e,n){const a=ro(e,!0,n==="fixed"),o=a.top+e.clientTop,i=a.left+e.clientLeft,c=Br(e)?ps(e):ur(1),d=e.clientWidth*c.x,m=e.clientHeight*c.y,p=i*c.x,h=o*c.y;return{width:d,height:m,x:p,y:h}}function C1(e,n,a){let o;if(n==="viewport")o=JT(e,a);else if(n==="document")o=QT(dr(e));else if(qn(n))o=e6(n,a);else{const i=M2(e);o={x:n.x-i.x,y:n.y-i.y,width:n.width,height:n.height}}return wu(o)}function O2(e,n){const a=wa(e);return a===n||!qn(a)||ys(a)?!1:Kn(a).position==="fixed"||O2(a,n)}function t6(e,n){const a=n.get(e);if(a)return a;let o=el(e,[],!1).filter(m=>qn(m)&&Ps(m)!=="body"),i=null;const c=Kn(e).position==="fixed";let d=c?wa(e):e;for(;qn(d)&&!ys(d);){const m=Kn(d),p=Wh(d);!p&&m.position==="fixed"&&(i=null),(c?!p&&!i:!p&&m.position==="static"&&!!i&&(i.position==="absolute"||i.position==="fixed")||ml(d)&&!p&&O2(e,d))?o=o.filter(y=>y!==d):i=m,d=wa(d)}return n.set(e,o),o}function n6(e){let{element:n,boundary:a,rootBoundary:o,strategy:i}=e;const d=[...a==="clippingAncestors"?Ku(n)?[]:t6(n,this._c):[].concat(a),o],m=C1(n,d[0],i);let p=m.top,h=m.right,y=m.bottom,v=m.left;for(let x=1;x{d(!1,1e-7)},1e3)}z===1&&!L2(h,e.getBoundingClientRect())&&d(),R=!1}try{a=new IntersectionObserver(D,{...T,root:i.ownerDocument})}catch{a=new IntersectionObserver(D,T)}a.observe(e)}return d(!0),c}function c6(e,n,a,o){o===void 0&&(o={});const{ancestorScroll:i=!0,ancestorResize:c=!0,elementResize:d=typeof ResizeObserver=="function",layoutShift:m=typeof IntersectionObserver=="function",animationFrame:p=!1}=o,h=Kh(e),y=i||c?[...h?el(h):[],...n?el(n):[]]:[];y.forEach(E=>{i&&E.addEventListener("scroll",a,{passive:!0}),c&&E.addEventListener("resize",a)});const v=h&&m?l6(h,a):null;let x=-1,S=null;d&&(S=new ResizeObserver(E=>{let[k]=E;k&&k.target===h&&S&&n&&(S.unobserve(n),cancelAnimationFrame(x),x=requestAnimationFrame(()=>{var T;(T=S)==null||T.observe(n)})),a()}),h&&!p&&S.observe(h),n&&S.observe(n));let j,C=p?ro(e):null;p&&N();function N(){const E=ro(e);C&&!L2(C,E)&&a(),C=E,j=requestAnimationFrame(N)}return a(),()=>{var E;y.forEach(k=>{i&&k.removeEventListener("scroll",a),c&&k.removeEventListener("resize",a)}),v==null||v(),(E=S)==null||E.disconnect(),S=null,p&&cancelAnimationFrame(j)}}const u6=BT,d6=UT,f6=PT,m6=VT,p6=IT,E1=zT,h6=HT,g6=(e,n,a)=>{const o=new Map,i={platform:i6,...a},c={...i.platform,_c:o};return LT(e,n,{...i,platform:c})};var v6=typeof document<"u",b6=function(){},iu=v6?f.useLayoutEffect:b6;function Cu(e,n){if(e===n)return!0;if(typeof e!=typeof n)return!1;if(typeof e=="function"&&e.toString()===n.toString())return!0;let a,o,i;if(e&&n&&typeof e=="object"){if(Array.isArray(e)){if(a=e.length,a!==n.length)return!1;for(o=a;o--!==0;)if(!Cu(e[o],n[o]))return!1;return!0}if(i=Object.keys(e),a=i.length,a!==Object.keys(n).length)return!1;for(o=a;o--!==0;)if(!{}.hasOwnProperty.call(n,i[o]))return!1;for(o=a;o--!==0;){const c=i[o];if(!(c==="_owner"&&e.$$typeof)&&!Cu(e[c],n[c]))return!1}return!0}return e!==e&&n!==n}function z2(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function N1(e,n){const a=z2(e);return Math.round(n*a)/a}function lp(e){const n=f.useRef(e);return iu(()=>{n.current=e}),n}function y6(e){e===void 0&&(e={});const{placement:n="bottom",strategy:a="absolute",middleware:o=[],platform:i,elements:{reference:c,floating:d}={},transform:m=!0,whileElementsMounted:p,open:h}=e,[y,v]=f.useState({x:0,y:0,strategy:a,placement:n,middlewareData:{},isPositioned:!1}),[x,S]=f.useState(o);Cu(x,o)||S(o);const[j,C]=f.useState(null),[N,E]=f.useState(null),k=f.useCallback(Z=>{Z!==P.current&&(P.current=Z,C(Z))},[]),T=f.useCallback(Z=>{Z!==z.current&&(z.current=Z,E(Z))},[]),R=c||j,D=d||N,P=f.useRef(null),z=f.useRef(null),B=f.useRef(y),H=p!=null,Y=lp(p),Q=lp(i),fe=lp(h),de=f.useCallback(()=>{if(!P.current||!z.current)return;const Z={placement:n,strategy:a,middleware:x};Q.current&&(Z.platform=Q.current),g6(P.current,z.current,Z).then(J=>{const te={...J,isPositioned:fe.current!==!1};he.current&&!Cu(B.current,te)&&(B.current=te,po.flushSync(()=>{v(te)}))})},[x,n,a,Q,fe]);iu(()=>{h===!1&&B.current.isPositioned&&(B.current.isPositioned=!1,v(Z=>({...Z,isPositioned:!1})))},[h]);const he=f.useRef(!1);iu(()=>(he.current=!0,()=>{he.current=!1}),[]),iu(()=>{if(R&&(P.current=R),D&&(z.current=D),R&&D){if(Y.current)return Y.current(R,D,de);de()}},[R,D,de,Y,H]);const se=f.useMemo(()=>({reference:P,floating:z,setReference:k,setFloating:T}),[k,T]),O=f.useMemo(()=>({reference:R,floating:D}),[R,D]),$=f.useMemo(()=>{const Z={position:a,left:0,top:0};if(!O.floating)return Z;const J=N1(O.floating,y.x),te=N1(O.floating,y.y);return m?{...Z,transform:"translate("+J+"px, "+te+"px)",...z2(O.floating)>=1.5&&{willChange:"transform"}}:{position:a,left:J,top:te}},[a,m,O.floating,y.x,y.y]);return f.useMemo(()=>({...y,update:de,refs:se,elements:O,floatingStyles:$}),[y,de,se,O,$])}const x6=e=>{function n(a){return{}.hasOwnProperty.call(a,"current")}return{name:"arrow",options:e,fn(a){const{element:o,padding:i}=typeof e=="function"?e(a):e;return o&&n(o)?o.current!=null?E1({element:o.current,padding:i}).fn(a):{}:o?E1({element:o,padding:i}).fn(a):{}}}},S6=(e,n)=>{const a=u6(e);return{name:a.name,fn:a.fn,options:[e,n]}},w6=(e,n)=>{const a=d6(e);return{name:a.name,fn:a.fn,options:[e,n]}},C6=(e,n)=>({fn:h6(e).fn,options:[e,n]}),j6=(e,n)=>{const a=f6(e);return{name:a.name,fn:a.fn,options:[e,n]}},E6=(e,n)=>{const a=m6(e);return{name:a.name,fn:a.fn,options:[e,n]}},N6=(e,n)=>{const a=p6(e);return{name:a.name,fn:a.fn,options:[e,n]}},k6=(e,n)=>{const a=x6(e);return{name:a.name,fn:a.fn,options:[e,n]}};function T6(e){const n=R6(e),a=f.forwardRef((o,i)=>{const{children:c,...d}=o,m=f.Children.toArray(c),p=m.find(M6);if(p){const h=p.props.children,y=m.map(v=>v===p?f.Children.count(h)>1?f.Children.only(null):f.isValidElement(h)?h.props.children:null:v);return l.jsx(n,{...d,ref:i,children:f.isValidElement(h)?f.cloneElement(h,void 0,y):null})}return l.jsx(n,{...d,ref:i,children:c})});return a.displayName=`${e}.Slot`,a}function R6(e){const n=f.forwardRef((a,o)=>{const{children:i,...c}=a;if(f.isValidElement(i)){const d=O6(i),m=_6(c,i.props);return i.type!==f.Fragment&&(m.ref=o?st(o,d):d),f.cloneElement(i,m)}return f.Children.count(i)>1?f.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var A6=Symbol("radix.slottable");function M6(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===A6}function _6(e,n){const a={...n};for(const o in n){const i=e[o],c=n[o];/^on[A-Z]/.test(o)?i&&c?a[o]=(...m)=>{const p=c(...m);return i(...m),p}:i&&(a[o]=i):o==="style"?a[o]={...i,...c}:o==="className"&&(a[o]=[i,c].filter(Boolean).join(" "))}return{...e,...a}}function O6(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var D6=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],L6=D6.reduce((e,n)=>{const a=T6(`Primitive.${n}`),o=f.forwardRef((i,c)=>{const{asChild:d,...m}=i,p=d?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(p,{...m,ref:c})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{}),z6="Arrow",P2=f.forwardRef((e,n)=>{const{children:a,width:o=10,height:i=5,...c}=e;return l.jsx(L6.svg,{...c,ref:n,width:o,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?a:l.jsx("polygon",{points:"0,0 30,0 15,10"})})});P2.displayName=z6;var P6=P2;function I6(e,n=[]){let a=[];function o(c,d){const m=f.createContext(d),p=a.length;a=[...a,d];const h=v=>{var E;const{scope:x,children:S,...j}=v,C=((E=x==null?void 0:x[e])==null?void 0:E[p])||m,N=f.useMemo(()=>j,Object.values(j));return l.jsx(C.Provider,{value:N,children:S})};h.displayName=c+"Provider";function y(v,x){var C;const S=((C=x==null?void 0:x[e])==null?void 0:C[p])||m,j=f.useContext(S);if(j)return j;if(d!==void 0)return d;throw new Error(`\`${v}\` must be used within \`${c}\``)}return[h,y]}const i=()=>{const c=a.map(d=>f.createContext(d));return function(m){const p=(m==null?void 0:m[e])||c;return f.useMemo(()=>({[`__scope${e}`]:{...m,[e]:p}}),[m,p])}};return i.scopeName=e,[o,$6(i,...n)]}function $6(...e){const n=e[0];if(e.length===1)return n;const a=()=>{const o=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(c){const d=o.reduce((m,{useScope:p,scopeName:h})=>{const v=p(c)[`__scope${h}`];return{...m,...v}},{});return f.useMemo(()=>({[`__scope${n.scopeName}`]:d}),[d])}};return a.scopeName=n.scopeName,a}function B6(e){const n=U6(e),a=f.forwardRef((o,i)=>{const{children:c,...d}=o,m=f.Children.toArray(c),p=m.find(V6);if(p){const h=p.props.children,y=m.map(v=>v===p?f.Children.count(h)>1?f.Children.only(null):f.isValidElement(h)?h.props.children:null:v);return l.jsx(n,{...d,ref:i,children:f.isValidElement(h)?f.cloneElement(h,void 0,y):null})}return l.jsx(n,{...d,ref:i,children:c})});return a.displayName=`${e}.Slot`,a}function U6(e){const n=f.forwardRef((a,o)=>{const{children:i,...c}=a;if(f.isValidElement(i)){const d=F6(i),m=G6(c,i.props);return i.type!==f.Fragment&&(m.ref=o?st(o,d):d),f.cloneElement(i,m)}return f.Children.count(i)>1?f.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var H6=Symbol("radix.slottable");function V6(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===H6}function G6(e,n){const a={...n};for(const o in n){const i=e[o],c=n[o];/^on[A-Z]/.test(o)?i&&c?a[o]=(...m)=>{const p=c(...m);return i(...m),p}:i&&(a[o]=i):o==="style"?a[o]={...i,...c}:o==="className"&&(a[o]=[i,c].filter(Boolean).join(" "))}return{...e,...a}}function F6(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var Y6=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],I2=Y6.reduce((e,n)=>{const a=B6(`Primitive.${n}`),o=f.forwardRef((i,c)=>{const{asChild:d,...m}=i,p=d?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(p,{...m,ref:c})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{});function $2(e){const[n,a]=f.useState(void 0);return jt(()=>{if(e){a({width:e.offsetWidth,height:e.offsetHeight});const o=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const c=i[0];let d,m;if("borderBoxSize"in c){const p=c.borderBoxSize,h=Array.isArray(p)?p[0]:p;d=h.inlineSize,m=h.blockSize}else d=e.offsetWidth,m=e.offsetHeight;a({width:d,height:m})});return o.observe(e,{box:"border-box"}),()=>o.unobserve(e)}else a(void 0)},[e]),n}var Xh="Popper",[B2,Ea]=I6(Xh),[W6,U2]=B2(Xh),H2=e=>{const{__scopePopper:n,children:a}=e,[o,i]=f.useState(null);return l.jsx(W6,{scope:n,anchor:o,onAnchorChange:i,children:a})};H2.displayName=Xh;var V2="PopperAnchor",G2=f.forwardRef((e,n)=>{const{__scopePopper:a,virtualRef:o,...i}=e,c=U2(V2,a),d=f.useRef(null),m=ze(n,d),p=f.useRef(null);return f.useEffect(()=>{const h=p.current;p.current=(o==null?void 0:o.current)||d.current,h!==p.current&&c.onAnchorChange(p.current)}),o?null:l.jsx(I2.div,{...i,ref:m})});G2.displayName=V2;var Zh="PopperContent",[q6,K6]=B2(Zh),F2=f.forwardRef((e,n)=>{var ne,me,pe,W,ie,ge;const{__scopePopper:a,side:o="bottom",sideOffset:i=0,align:c="center",alignOffset:d=0,arrowPadding:m=0,avoidCollisions:p=!0,collisionBoundary:h=[],collisionPadding:y=0,sticky:v="partial",hideWhenDetached:x=!1,updatePositionStrategy:S="optimized",onPlaced:j,...C}=e,N=U2(Zh,a),[E,k]=f.useState(null),T=ze(n,je=>k(je)),[R,D]=f.useState(null),P=$2(R),z=(P==null?void 0:P.width)??0,B=(P==null?void 0:P.height)??0,H=o+(c!=="center"?"-"+c:""),Y=typeof y=="number"?y:{top:0,right:0,bottom:0,left:0,...y},Q=Array.isArray(h)?h:[h],fe=Q.length>0,de={padding:Y,boundary:Q.filter(Z6),altBoundary:fe},{refs:he,floatingStyles:se,placement:O,isPositioned:$,middlewareData:Z}=y6({strategy:"fixed",placement:H,whileElementsMounted:(...je)=>c6(...je,{animationFrame:S==="always"}),elements:{reference:N.anchor},middleware:[S6({mainAxis:i+B,alignmentAxis:d}),p&&w6({mainAxis:!0,crossAxis:!1,limiter:v==="partial"?C6():void 0,...de}),p&&j6({...de}),E6({...de,apply:({elements:je,rects:Ae,availableWidth:tt,availableHeight:ct})=>{const{width:kt,height:Ra}=Ae.reference,Tt=je.floating.style;Tt.setProperty("--radix-popper-available-width",`${tt}px`),Tt.setProperty("--radix-popper-available-height",`${ct}px`),Tt.setProperty("--radix-popper-anchor-width",`${kt}px`),Tt.setProperty("--radix-popper-anchor-height",`${Ra}px`)}}),R&&k6({element:R,padding:m}),Q6({arrowWidth:z,arrowHeight:B}),x&&N6({strategy:"referenceHidden",...de})]}),[J,te]=q2(O),M=Ot(j);jt(()=>{$&&(M==null||M())},[$,M]);const _=(ne=Z.arrow)==null?void 0:ne.x,U=(me=Z.arrow)==null?void 0:me.y,V=((pe=Z.arrow)==null?void 0:pe.centerOffset)!==0,[F,ae]=f.useState();return jt(()=>{E&&ae(window.getComputedStyle(E).zIndex)},[E]),l.jsx("div",{ref:he.setFloating,"data-radix-popper-content-wrapper":"",style:{...se,transform:$?se.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:F,"--radix-popper-transform-origin":[(W=Z.transformOrigin)==null?void 0:W.x,(ie=Z.transformOrigin)==null?void 0:ie.y].join(" "),...((ge=Z.hide)==null?void 0:ge.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:l.jsx(q6,{scope:a,placedSide:J,onArrowChange:D,arrowX:_,arrowY:U,shouldHideArrow:V,children:l.jsx(I2.div,{"data-side":J,"data-align":te,...C,ref:T,style:{...C.style,animation:$?void 0:"none"}})})})});F2.displayName=Zh;var Y2="PopperArrow",X6={top:"bottom",right:"left",bottom:"top",left:"right"},W2=f.forwardRef(function(n,a){const{__scopePopper:o,...i}=n,c=K6(Y2,o),d=X6[c.placedSide];return l.jsx("span",{ref:c.onArrowChange,style:{position:"absolute",left:c.arrowX,top:c.arrowY,[d]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[c.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[c.placedSide],visibility:c.shouldHideArrow?"hidden":void 0},children:l.jsx(P6,{...i,ref:a,style:{...i.style,display:"block"}})})});W2.displayName=Y2;function Z6(e){return e!==null}var Q6=e=>({name:"transformOrigin",options:e,fn(n){var N,E,k;const{placement:a,rects:o,middlewareData:i}=n,d=((N=i.arrow)==null?void 0:N.centerOffset)!==0,m=d?0:e.arrowWidth,p=d?0:e.arrowHeight,[h,y]=q2(a),v={start:"0%",center:"50%",end:"100%"}[y],x=(((E=i.arrow)==null?void 0:E.x)??0)+m/2,S=(((k=i.arrow)==null?void 0:k.y)??0)+p/2;let j="",C="";return h==="bottom"?(j=d?v:`${x}px`,C=`${-p}px`):h==="top"?(j=d?v:`${x}px`,C=`${o.floating.height+p}px`):h==="right"?(j=`${-p}px`,C=d?v:`${S}px`):h==="left"&&(j=`${o.floating.width+p}px`,C=d?v:`${S}px`),{data:{x:j,y:C}}}});function q2(e){const[n,a="center"]=e.split("-");return[n,a]}var Qu=H2,pl=G2,Ju=F2,ed=W2;function J6(e){const n=e9(e),a=f.forwardRef((o,i)=>{const{children:c,...d}=o,m=f.Children.toArray(c),p=m.find(n9);if(p){const h=p.props.children,y=m.map(v=>v===p?f.Children.count(h)>1?f.Children.only(null):f.isValidElement(h)?h.props.children:null:v);return l.jsx(n,{...d,ref:i,children:f.isValidElement(h)?f.cloneElement(h,void 0,y):null})}return l.jsx(n,{...d,ref:i,children:c})});return a.displayName=`${e}.Slot`,a}function e9(e){const n=f.forwardRef((a,o)=>{const{children:i,...c}=a;if(f.isValidElement(i)){const d=a9(i),m=r9(c,i.props);return i.type!==f.Fragment&&(m.ref=o?st(o,d):d),f.cloneElement(i,m)}return f.Children.count(i)>1?f.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var t9=Symbol("radix.slottable");function n9(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===t9}function r9(e,n){const a={...n};for(const o in n){const i=e[o],c=n[o];/^on[A-Z]/.test(o)?i&&c?a[o]=(...m)=>{const p=c(...m);return i(...m),p}:i&&(a[o]=i):o==="style"?a[o]={...i,...c}:o==="className"&&(a[o]=[i,c].filter(Boolean).join(" "))}return{...e,...a}}function a9(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var o9=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],s9=o9.reduce((e,n)=>{const a=J6(`Primitive.${n}`),o=f.forwardRef((i,c)=>{const{asChild:d,...m}=i,p=d?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(p,{...m,ref:c})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{}),i9="Portal",Is=f.forwardRef((e,n)=>{var m;const{container:a,...o}=e,[i,c]=f.useState(!1);jt(()=>c(!0),[]);const d=a||i&&((m=globalThis==null?void 0:globalThis.document)==null?void 0:m.body);return d?H0.createPortal(l.jsx(s9.div,{...o,ref:n}),d):null});Is.displayName=i9;function l9(e,n){return f.useReducer((a,o)=>n[a][o]??a,e)}var Ht=e=>{const{present:n,children:a}=e,o=c9(n),i=typeof a=="function"?a({present:o.isPresent}):f.Children.only(a),c=ze(o.ref,u9(i));return typeof a=="function"||o.isPresent?f.cloneElement(i,{ref:c}):null};Ht.displayName="Presence";function c9(e){const[n,a]=f.useState(),o=f.useRef(null),i=f.useRef(e),c=f.useRef("none"),d=e?"mounted":"unmounted",[m,p]=l9(d,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{const h=Yc(o.current);c.current=m==="mounted"?h:"none"},[m]),jt(()=>{const h=o.current,y=i.current;if(y!==e){const x=c.current,S=Yc(h);e?p("MOUNT"):S==="none"||(h==null?void 0:h.display)==="none"?p("UNMOUNT"):p(y&&x!==S?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,p]),jt(()=>{if(n){let h;const y=n.ownerDocument.defaultView??window,v=S=>{const C=Yc(o.current).includes(CSS.escape(S.animationName));if(S.target===n&&C&&(p("ANIMATION_END"),!i.current)){const N=n.style.animationFillMode;n.style.animationFillMode="forwards",h=y.setTimeout(()=>{n.style.animationFillMode==="forwards"&&(n.style.animationFillMode=N)})}},x=S=>{S.target===n&&(c.current=Yc(o.current))};return n.addEventListener("animationstart",x),n.addEventListener("animationcancel",v),n.addEventListener("animationend",v),()=>{y.clearTimeout(h),n.removeEventListener("animationstart",x),n.removeEventListener("animationcancel",v),n.removeEventListener("animationend",v)}}else p("ANIMATION_END")},[n,p]),{isPresent:["mounted","unmountSuspended"].includes(m),ref:f.useCallback(h=>{o.current=h?getComputedStyle(h):null,a(h)},[])}}function Yc(e){return(e==null?void 0:e.animationName)||"none"}function u9(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}function K2(e){const n=d9(e),a=f.forwardRef((o,i)=>{const{children:c,...d}=o,m=f.Children.toArray(c),p=m.find(m9);if(p){const h=p.props.children,y=m.map(v=>v===p?f.Children.count(h)>1?f.Children.only(null):f.isValidElement(h)?h.props.children:null:v);return l.jsx(n,{...d,ref:i,children:f.isValidElement(h)?f.cloneElement(h,void 0,y):null})}return l.jsx(n,{...d,ref:i,children:c})});return a.displayName=`${e}.Slot`,a}function d9(e){const n=f.forwardRef((a,o)=>{const{children:i,...c}=a;if(f.isValidElement(i)){const d=h9(i),m=p9(c,i.props);return i.type!==f.Fragment&&(m.ref=o?st(o,d):d),f.cloneElement(i,m)}return f.Children.count(i)>1?f.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var f9=Symbol("radix.slottable");function m9(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===f9}function p9(e,n){const a={...n};for(const o in n){const i=e[o],c=n[o];/^on[A-Z]/.test(o)?i&&c?a[o]=(...m)=>{const p=c(...m);return i(...m),p}:i&&(a[o]=i):o==="style"?a[o]={...i,...c}:o==="className"&&(a[o]=[i,c].filter(Boolean).join(" "))}return{...e,...a}}function h9(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var g9=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],hl=g9.reduce((e,n)=>{const a=K2(`Primitive.${n}`),o=f.forwardRef((i,c)=>{const{asChild:d,...m}=i,p=d?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(p,{...m,ref:c})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{});function v9(e,n){e&&po.flushSync(()=>e.dispatchEvent(n))}function b9(e,n=[]){let a=[];function o(c,d){const m=f.createContext(d),p=a.length;a=[...a,d];const h=v=>{var E;const{scope:x,children:S,...j}=v,C=((E=x==null?void 0:x[e])==null?void 0:E[p])||m,N=f.useMemo(()=>j,Object.values(j));return l.jsx(C.Provider,{value:N,children:S})};h.displayName=c+"Provider";function y(v,x){var C;const S=((C=x==null?void 0:x[e])==null?void 0:C[p])||m,j=f.useContext(S);if(j)return j;if(d!==void 0)return d;throw new Error(`\`${v}\` must be used within \`${c}\``)}return[h,y]}const i=()=>{const c=a.map(d=>f.createContext(d));return function(m){const p=(m==null?void 0:m[e])||c;return f.useMemo(()=>({[`__scope${e}`]:{...m,[e]:p}}),[m,p])}};return i.scopeName=e,[o,y9(i,...n)]}function y9(...e){const n=e[0];if(e.length===1)return n;const a=()=>{const o=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(c){const d=o.reduce((m,{useScope:p,scopeName:h})=>{const v=p(c)[`__scope${h}`];return{...m,...v}},{});return f.useMemo(()=>({[`__scope${n.scopeName}`]:d}),[d])}};return a.scopeName=n.scopeName,a}function x9(e){const n=S9(e),a=f.forwardRef((o,i)=>{const{children:c,...d}=o,m=f.Children.toArray(c),p=m.find(C9);if(p){const h=p.props.children,y=m.map(v=>v===p?f.Children.count(h)>1?f.Children.only(null):f.isValidElement(h)?h.props.children:null:v);return l.jsx(n,{...d,ref:i,children:f.isValidElement(h)?f.cloneElement(h,void 0,y):null})}return l.jsx(n,{...d,ref:i,children:c})});return a.displayName=`${e}.Slot`,a}function S9(e){const n=f.forwardRef((a,o)=>{const{children:i,...c}=a;if(f.isValidElement(i)){const d=E9(i),m=j9(c,i.props);return i.type!==f.Fragment&&(m.ref=o?st(o,d):d),f.cloneElement(i,m)}return f.Children.count(i)>1?f.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var w9=Symbol("radix.slottable");function C9(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===w9}function j9(e,n){const a={...n};for(const o in n){const i=e[o],c=n[o];/^on[A-Z]/.test(o)?i&&c?a[o]=(...m)=>{const p=c(...m);return i(...m),p}:i&&(a[o]=i):o==="style"?a[o]={...i,...c}:o==="className"&&(a[o]=[i,c].filter(Boolean).join(" "))}return{...e,...a}}function E9(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var N9=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],X2=N9.reduce((e,n)=>{const a=x9(`Primitive.${n}`),o=f.forwardRef((i,c)=>{const{asChild:d,...m}=i,p=d?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(p,{...m,ref:c})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{}),cp="rovingFocusGroup.onEntryFocus",k9={bubbles:!1,cancelable:!0},gl="RovingFocusGroup",[Gp,Z2,T9]=Vh(gl),[R9,td]=b9(gl,[T9]),[A9,M9]=R9(gl),Q2=f.forwardRef((e,n)=>l.jsx(Gp.Provider,{scope:e.__scopeRovingFocusGroup,children:l.jsx(Gp.Slot,{scope:e.__scopeRovingFocusGroup,children:l.jsx(_9,{...e,ref:n})})}));Q2.displayName=gl;var _9=f.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:a,orientation:o,loop:i=!1,dir:c,currentTabStopId:d,defaultCurrentTabStopId:m,onCurrentTabStopIdChange:p,onEntryFocus:h,preventScrollOnEntryFocus:y=!1,...v}=e,x=f.useRef(null),S=ze(n,x),j=dl(c),[C,N]=Pr({prop:d,defaultProp:m??null,onChange:p,caller:gl}),[E,k]=f.useState(!1),T=Ot(h),R=Z2(a),D=f.useRef(!1),[P,z]=f.useState(0);return f.useEffect(()=>{const B=x.current;if(B)return B.addEventListener(cp,T),()=>B.removeEventListener(cp,T)},[T]),l.jsx(A9,{scope:a,orientation:o,dir:j,loop:i,currentTabStopId:C,onItemFocus:f.useCallback(B=>N(B),[N]),onItemShiftTab:f.useCallback(()=>k(!0),[]),onFocusableItemAdd:f.useCallback(()=>z(B=>B+1),[]),onFocusableItemRemove:f.useCallback(()=>z(B=>B-1),[]),children:l.jsx(X2.div,{tabIndex:E||P===0?-1:0,"data-orientation":o,...v,ref:S,style:{outline:"none",...e.style},onMouseDown:be(e.onMouseDown,()=>{D.current=!0}),onFocus:be(e.onFocus,B=>{const H=!D.current;if(B.target===B.currentTarget&&H&&!E){const Y=new CustomEvent(cp,k9);if(B.currentTarget.dispatchEvent(Y),!Y.defaultPrevented){const Q=R().filter(O=>O.focusable),fe=Q.find(O=>O.active),de=Q.find(O=>O.id===C),se=[fe,de,...Q].filter(Boolean).map(O=>O.ref.current);tS(se,y)}}D.current=!1}),onBlur:be(e.onBlur,()=>k(!1))})})}),J2="RovingFocusGroupItem",eS=f.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:a,focusable:o=!0,active:i=!1,tabStopId:c,children:d,...m}=e,p=Dt(),h=c||p,y=M9(J2,a),v=y.currentTabStopId===h,x=Z2(a),{onFocusableItemAdd:S,onFocusableItemRemove:j,currentTabStopId:C}=y;return f.useEffect(()=>{if(o)return S(),()=>j()},[o,S,j]),l.jsx(Gp.ItemSlot,{scope:a,id:h,focusable:o,active:i,children:l.jsx(X2.span,{tabIndex:v?0:-1,"data-orientation":y.orientation,...m,ref:n,onMouseDown:be(e.onMouseDown,N=>{o?y.onItemFocus(h):N.preventDefault()}),onFocus:be(e.onFocus,()=>y.onItemFocus(h)),onKeyDown:be(e.onKeyDown,N=>{if(N.key==="Tab"&&N.shiftKey){y.onItemShiftTab();return}if(N.target!==N.currentTarget)return;const E=L9(N,y.orientation,y.dir);if(E!==void 0){if(N.metaKey||N.ctrlKey||N.altKey||N.shiftKey)return;N.preventDefault();let T=x().filter(R=>R.focusable).map(R=>R.ref.current);if(E==="last")T.reverse();else if(E==="prev"||E==="next"){E==="prev"&&T.reverse();const R=T.indexOf(N.currentTarget);T=y.loop?z9(T,R+1):T.slice(R+1)}setTimeout(()=>tS(T))}}),children:typeof d=="function"?d({isCurrentTabStop:v,hasTabStop:C!=null}):d})})});eS.displayName=J2;var O9={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function D9(e,n){return n!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function L9(e,n,a){const o=D9(e.key,a);if(!(n==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(n==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return O9[o]}function tS(e,n=!1){const a=document.activeElement;for(const o of e)if(o===a||(o.focus({preventScroll:n}),document.activeElement!==a))return}function z9(e,n){return e.map((a,o)=>e[(n+o)%e.length])}var nS=Q2,rS=eS,P9=function(e){if(typeof document>"u")return null;var n=Array.isArray(e)?e[0]:e;return n.ownerDocument.body},ss=new WeakMap,Wc=new WeakMap,qc={},up=0,aS=function(e){return e&&(e.host||aS(e.parentNode))},I9=function(e,n){return n.map(function(a){if(e.contains(a))return a;var o=aS(a);return o&&e.contains(o)?o:(console.error("aria-hidden",a,"in not contained inside",e,". Doing nothing"),null)}).filter(function(a){return!!a})},$9=function(e,n,a,o){var i=I9(n,Array.isArray(e)?e:[e]);qc[a]||(qc[a]=new WeakMap);var c=qc[a],d=[],m=new Set,p=new Set(i),h=function(v){!v||m.has(v)||(m.add(v),h(v.parentNode))};i.forEach(h);var y=function(v){!v||p.has(v)||Array.prototype.forEach.call(v.children,function(x){if(m.has(x))y(x);else try{var S=x.getAttribute(o),j=S!==null&&S!=="false",C=(ss.get(x)||0)+1,N=(c.get(x)||0)+1;ss.set(x,C),c.set(x,N),d.push(x),C===1&&j&&Wc.set(x,!0),N===1&&x.setAttribute(a,"true"),j||x.setAttribute(o,"true")}catch(E){console.error("aria-hidden: cannot operate on ",x,E)}})};return y(n),m.clear(),up++,function(){d.forEach(function(v){var x=ss.get(v)-1,S=c.get(v)-1;ss.set(v,x),c.set(v,S),x||(Wc.has(v)||v.removeAttribute(o),Wc.delete(v)),S||v.removeAttribute(a)}),up--,up||(ss=new WeakMap,ss=new WeakMap,Wc=new WeakMap,qc={})}},nd=function(e,n,a){a===void 0&&(a="data-aria-hidden");var o=Array.from(Array.isArray(e)?e:[e]),i=P9(e);return i?(o.push.apply(o,Array.from(i.querySelectorAll("[aria-live], script"))),$9(o,i,a,"aria-hidden")):function(){return null}},ir=function(){return ir=Object.assign||function(n){for(var a,o=1,i=arguments.length;o"u")return nR;var n=rR(e),a=document.documentElement.clientWidth,o=window.innerWidth;return{left:n[0],top:n[1],right:n[2],gap:Math.max(0,o-a+n[2]-n[0])}},oR=lS(),hs="data-scroll-locked",sR=function(e,n,a,o){var i=e.left,c=e.top,d=e.right,m=e.gap;return a===void 0&&(a="margin"),`
+ .`.concat(U9,` {
+ overflow: hidden `).concat(o,`;
+ padding-right: `).concat(m,"px ").concat(o,`;
+ }
+ body[`).concat(hs,`] {
+ overflow: hidden `).concat(o,`;
+ overscroll-behavior: contain;
+ `).concat([n&&"position: relative ".concat(o,";"),a==="margin"&&`
+ padding-left: `.concat(i,`px;
+ padding-top: `).concat(c,`px;
+ padding-right: `).concat(d,`px;
+ margin-left:0;
+ margin-top:0;
+ margin-right: `).concat(m,"px ").concat(o,`;
+ `),a==="padding"&&"padding-right: ".concat(m,"px ").concat(o,";")].filter(Boolean).join(""),`
+ }
+
+ .`).concat(lu,` {
+ right: `).concat(m,"px ").concat(o,`;
+ }
+
+ .`).concat(cu,` {
+ margin-right: `).concat(m,"px ").concat(o,`;
+ }
+
+ .`).concat(lu," .").concat(lu,` {
+ right: 0 `).concat(o,`;
+ }
+
+ .`).concat(cu," .").concat(cu,` {
+ margin-right: 0 `).concat(o,`;
+ }
+
+ body[`).concat(hs,`] {
+ `).concat(H9,": ").concat(m,`px;
+ }
+`)},T1=function(){var e=parseInt(document.body.getAttribute(hs)||"0",10);return isFinite(e)?e:0},iR=function(){f.useEffect(function(){return document.body.setAttribute(hs,(T1()+1).toString()),function(){var e=T1()-1;e<=0?document.body.removeAttribute(hs):document.body.setAttribute(hs,e.toString())}},[])},lR=function(e){var n=e.noRelative,a=e.noImportant,o=e.gapMode,i=o===void 0?"margin":o;iR();var c=f.useMemo(function(){return aR(i)},[i]);return f.createElement(oR,{styles:sR(c,!n,i,a?"":"!important")})},Fp=!1;if(typeof window<"u")try{var Kc=Object.defineProperty({},"passive",{get:function(){return Fp=!0,!0}});window.addEventListener("test",Kc,Kc),window.removeEventListener("test",Kc,Kc)}catch{Fp=!1}var is=Fp?{passive:!1}:!1,cR=function(e){return e.tagName==="TEXTAREA"},cS=function(e,n){if(!(e instanceof Element))return!1;var a=window.getComputedStyle(e);return a[n]!=="hidden"&&!(a.overflowY===a.overflowX&&!cR(e)&&a[n]==="visible")},uR=function(e){return cS(e,"overflowY")},dR=function(e){return cS(e,"overflowX")},R1=function(e,n){var a=n.ownerDocument,o=n;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var i=uS(e,o);if(i){var c=dS(e,o),d=c[1],m=c[2];if(d>m)return!0}o=o.parentNode}while(o&&o!==a.body);return!1},fR=function(e){var n=e.scrollTop,a=e.scrollHeight,o=e.clientHeight;return[n,a,o]},mR=function(e){var n=e.scrollLeft,a=e.scrollWidth,o=e.clientWidth;return[n,a,o]},uS=function(e,n){return e==="v"?uR(n):dR(n)},dS=function(e,n){return e==="v"?fR(n):mR(n)},pR=function(e,n){return e==="h"&&n==="rtl"?-1:1},hR=function(e,n,a,o,i){var c=pR(e,window.getComputedStyle(n).direction),d=c*o,m=a.target,p=n.contains(m),h=!1,y=d>0,v=0,x=0;do{if(!m)break;var S=dS(e,m),j=S[0],C=S[1],N=S[2],E=C-N-c*j;(j||E)&&uS(e,m)&&(v+=E,x+=j);var k=m.parentNode;m=k&&k.nodeType===Node.DOCUMENT_FRAGMENT_NODE?k.host:k}while(!p&&m!==document.body||p&&(n.contains(m)||n===m));return(y&&Math.abs(v)<1||!y&&Math.abs(x)<1)&&(h=!0),h},Xc=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},A1=function(e){return[e.deltaX,e.deltaY]},M1=function(e){return e&&"current"in e?e.current:e},gR=function(e,n){return e[0]===n[0]&&e[1]===n[1]},vR=function(e){return`
+ .block-interactivity-`.concat(e,` {pointer-events: none;}
+ .allow-interactivity-`).concat(e,` {pointer-events: all;}
+`)},bR=0,ls=[];function yR(e){var n=f.useRef([]),a=f.useRef([0,0]),o=f.useRef(),i=f.useState(bR++)[0],c=f.useState(lS)[0],d=f.useRef(e);f.useEffect(function(){d.current=e},[e]),f.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var C=B9([e.lockRef.current],(e.shards||[]).map(M1),!0).filter(Boolean);return C.forEach(function(N){return N.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),C.forEach(function(N){return N.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var m=f.useCallback(function(C,N){if("touches"in C&&C.touches.length===2||C.type==="wheel"&&C.ctrlKey)return!d.current.allowPinchZoom;var E=Xc(C),k=a.current,T="deltaX"in C?C.deltaX:k[0]-E[0],R="deltaY"in C?C.deltaY:k[1]-E[1],D,P=C.target,z=Math.abs(T)>Math.abs(R)?"h":"v";if("touches"in C&&z==="h"&&P.type==="range")return!1;var B=window.getSelection(),H=B&&B.anchorNode,Y=H?H===P||H.contains(P):!1;if(Y)return!1;var Q=R1(z,P);if(!Q)return!0;if(Q?D=z:(D=z==="v"?"h":"v",Q=R1(z,P)),!Q)return!1;if(!o.current&&"changedTouches"in C&&(T||R)&&(o.current=D),!D)return!0;var fe=o.current||D;return hR(fe,N,C,fe==="h"?T:R)},[]),p=f.useCallback(function(C){var N=C;if(!(!ls.length||ls[ls.length-1]!==c)){var E="deltaY"in N?A1(N):Xc(N),k=n.current.filter(function(D){return D.name===N.type&&(D.target===N.target||N.target===D.shadowParent)&&gR(D.delta,E)})[0];if(k&&k.should){N.cancelable&&N.preventDefault();return}if(!k){var T=(d.current.shards||[]).map(M1).filter(Boolean).filter(function(D){return D.contains(N.target)}),R=T.length>0?m(N,T[0]):!d.current.noIsolation;R&&N.cancelable&&N.preventDefault()}}},[]),h=f.useCallback(function(C,N,E,k){var T={name:C,delta:N,target:E,should:k,shadowParent:xR(E)};n.current.push(T),setTimeout(function(){n.current=n.current.filter(function(R){return R!==T})},1)},[]),y=f.useCallback(function(C){a.current=Xc(C),o.current=void 0},[]),v=f.useCallback(function(C){h(C.type,A1(C),C.target,m(C,e.lockRef.current))},[]),x=f.useCallback(function(C){h(C.type,Xc(C),C.target,m(C,e.lockRef.current))},[]);f.useEffect(function(){return ls.push(c),e.setCallbacks({onScrollCapture:v,onWheelCapture:v,onTouchMoveCapture:x}),document.addEventListener("wheel",p,is),document.addEventListener("touchmove",p,is),document.addEventListener("touchstart",y,is),function(){ls=ls.filter(function(C){return C!==c}),document.removeEventListener("wheel",p,is),document.removeEventListener("touchmove",p,is),document.removeEventListener("touchstart",y,is)}},[]);var S=e.removeScrollBar,j=e.inert;return f.createElement(f.Fragment,null,j?f.createElement(c,{styles:vR(i)}):null,S?f.createElement(lR,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function xR(e){for(var n=null;e!==null;)e instanceof ShadowRoot&&(n=e.host,e=e.host),e=e.parentNode;return n}const SR=K9(iS,yR);var vl=f.forwardRef(function(e,n){return f.createElement(rd,ir({},e,{ref:n,sideCar:SR}))});vl.classNames=rd.classNames;var Yp=["Enter"," "],wR=["ArrowDown","PageUp","Home"],fS=["ArrowUp","PageDown","End"],CR=[...wR,...fS],jR={ltr:[...Yp,"ArrowRight"],rtl:[...Yp,"ArrowLeft"]},ER={ltr:["ArrowLeft"],rtl:["ArrowRight"]},bl="Menu",[tl,NR,kR]=Vh(bl),[go,mS]=Hk(bl,[kR,Ea,td]),ad=Ea(),pS=td(),[TR,vo]=go(bl),[RR,yl]=go(bl),hS=e=>{const{__scopeMenu:n,open:a=!1,children:o,dir:i,onOpenChange:c,modal:d=!0}=e,m=ad(n),[p,h]=f.useState(null),y=f.useRef(!1),v=Ot(c),x=dl(i);return f.useEffect(()=>{const S=()=>{y.current=!0,document.addEventListener("pointerdown",j,{capture:!0,once:!0}),document.addEventListener("pointermove",j,{capture:!0,once:!0})},j=()=>y.current=!1;return document.addEventListener("keydown",S,{capture:!0}),()=>{document.removeEventListener("keydown",S,{capture:!0}),document.removeEventListener("pointerdown",j,{capture:!0}),document.removeEventListener("pointermove",j,{capture:!0})}},[]),l.jsx(Qu,{...m,children:l.jsx(TR,{scope:n,open:a,onOpenChange:v,content:p,onContentChange:h,children:l.jsx(RR,{scope:n,onClose:f.useCallback(()=>v(!1),[v]),isUsingKeyboardRef:y,dir:x,modal:d,children:o})})})};hS.displayName=bl;var AR="MenuAnchor",Qh=f.forwardRef((e,n)=>{const{__scopeMenu:a,...o}=e,i=ad(a);return l.jsx(pl,{...i,...o,ref:n})});Qh.displayName=AR;var Jh="MenuPortal",[MR,gS]=go(Jh,{forceMount:void 0}),vS=e=>{const{__scopeMenu:n,forceMount:a,children:o,container:i}=e,c=vo(Jh,n);return l.jsx(MR,{scope:n,forceMount:a,children:l.jsx(Ht,{present:a||c.open,children:l.jsx(Is,{asChild:!0,container:i,children:o})})})};vS.displayName=Jh;var In="MenuContent",[_R,eg]=go(In),bS=f.forwardRef((e,n)=>{const a=gS(In,e.__scopeMenu),{forceMount:o=a.forceMount,...i}=e,c=vo(In,e.__scopeMenu),d=yl(In,e.__scopeMenu);return l.jsx(tl.Provider,{scope:e.__scopeMenu,children:l.jsx(Ht,{present:o||c.open,children:l.jsx(tl.Slot,{scope:e.__scopeMenu,children:d.modal?l.jsx(OR,{...i,ref:n}):l.jsx(DR,{...i,ref:n})})})})}),OR=f.forwardRef((e,n)=>{const a=vo(In,e.__scopeMenu),o=f.useRef(null),i=ze(n,o);return f.useEffect(()=>{const c=o.current;if(c)return nd(c)},[]),l.jsx(tg,{...e,ref:i,trapFocus:a.open,disableOutsidePointerEvents:a.open,disableOutsideScroll:!0,onFocusOutside:be(e.onFocusOutside,c=>c.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>a.onOpenChange(!1)})}),DR=f.forwardRef((e,n)=>{const a=vo(In,e.__scopeMenu);return l.jsx(tg,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>a.onOpenChange(!1)})}),LR=K2("MenuContent.ScrollLock"),tg=f.forwardRef((e,n)=>{const{__scopeMenu:a,loop:o=!1,trapFocus:i,onOpenAutoFocus:c,onCloseAutoFocus:d,disableOutsidePointerEvents:m,onEntryFocus:p,onEscapeKeyDown:h,onPointerDownOutside:y,onFocusOutside:v,onInteractOutside:x,onDismiss:S,disableOutsideScroll:j,...C}=e,N=vo(In,a),E=yl(In,a),k=ad(a),T=pS(a),R=NR(a),[D,P]=f.useState(null),z=f.useRef(null),B=ze(n,z,N.onContentChange),H=f.useRef(0),Y=f.useRef(""),Q=f.useRef(0),fe=f.useRef(null),de=f.useRef("right"),he=f.useRef(0),se=j?vl:f.Fragment,O=j?{as:LR,allowPinchZoom:!0}:void 0,$=J=>{var ne,me;const te=Y.current+J,M=R().filter(pe=>!pe.disabled),_=document.activeElement,U=(ne=M.find(pe=>pe.ref.current===_))==null?void 0:ne.textValue,V=M.map(pe=>pe.textValue),F=WR(V,te,U),ae=(me=M.find(pe=>pe.textValue===F))==null?void 0:me.ref.current;(function pe(W){Y.current=W,window.clearTimeout(H.current),W!==""&&(H.current=window.setTimeout(()=>pe(""),1e3))})(te),ae&&setTimeout(()=>ae.focus())};f.useEffect(()=>()=>window.clearTimeout(H.current),[]),Wu();const Z=f.useCallback(J=>{var M,_;return de.current===((M=fe.current)==null?void 0:M.side)&&KR(J,(_=fe.current)==null?void 0:_.area)},[]);return l.jsx(_R,{scope:a,searchRef:Y,onItemEnter:f.useCallback(J=>{Z(J)&&J.preventDefault()},[Z]),onItemLeave:f.useCallback(J=>{var te;Z(J)||((te=z.current)==null||te.focus(),P(null))},[Z]),onTriggerLeave:f.useCallback(J=>{Z(J)&&J.preventDefault()},[Z]),pointerGraceTimerRef:Q,onPointerGraceIntentChange:f.useCallback(J=>{fe.current=J},[]),children:l.jsx(se,{...O,children:l.jsx(fl,{asChild:!0,trapped:i,onMountAutoFocus:be(c,J=>{var te;J.preventDefault(),(te=z.current)==null||te.focus({preventScroll:!0})}),onUnmountAutoFocus:d,children:l.jsx(Ls,{asChild:!0,disableOutsidePointerEvents:m,onEscapeKeyDown:h,onPointerDownOutside:y,onFocusOutside:v,onInteractOutside:x,onDismiss:S,children:l.jsx(nS,{asChild:!0,...T,dir:E.dir,orientation:"vertical",loop:o,currentTabStopId:D,onCurrentTabStopIdChange:P,onEntryFocus:be(p,J=>{E.isUsingKeyboardRef.current||J.preventDefault()}),preventScrollOnEntryFocus:!0,children:l.jsx(Ju,{role:"menu","aria-orientation":"vertical","data-state":DS(N.open),"data-radix-menu-content":"",dir:E.dir,...k,...C,ref:B,style:{outline:"none",...C.style},onKeyDown:be(C.onKeyDown,J=>{const M=J.target.closest("[data-radix-menu-content]")===J.currentTarget,_=J.ctrlKey||J.altKey||J.metaKey,U=J.key.length===1;M&&(J.key==="Tab"&&J.preventDefault(),!_&&U&&$(J.key));const V=z.current;if(J.target!==V||!CR.includes(J.key))return;J.preventDefault();const ae=R().filter(ne=>!ne.disabled).map(ne=>ne.ref.current);fS.includes(J.key)&&ae.reverse(),FR(ae)}),onBlur:be(e.onBlur,J=>{J.currentTarget.contains(J.target)||(window.clearTimeout(H.current),Y.current="")}),onPointerMove:be(e.onPointerMove,nl(J=>{const te=J.target,M=he.current!==J.clientX;if(J.currentTarget.contains(te)&&M){const _=J.clientX>he.current?"right":"left";de.current=_,he.current=J.clientX}}))})})})})})})});bS.displayName=In;var zR="MenuGroup",ng=f.forwardRef((e,n)=>{const{__scopeMenu:a,...o}=e;return l.jsx(hl.div,{role:"group",...o,ref:n})});ng.displayName=zR;var PR="MenuLabel",yS=f.forwardRef((e,n)=>{const{__scopeMenu:a,...o}=e;return l.jsx(hl.div,{...o,ref:n})});yS.displayName=PR;var ju="MenuItem",_1="menu.itemSelect",od=f.forwardRef((e,n)=>{const{disabled:a=!1,onSelect:o,...i}=e,c=f.useRef(null),d=yl(ju,e.__scopeMenu),m=eg(ju,e.__scopeMenu),p=ze(n,c),h=f.useRef(!1),y=()=>{const v=c.current;if(!a&&v){const x=new CustomEvent(_1,{bubbles:!0,cancelable:!0});v.addEventListener(_1,S=>o==null?void 0:o(S),{once:!0}),v9(v,x),x.defaultPrevented?h.current=!1:d.onClose()}};return l.jsx(xS,{...i,ref:p,disabled:a,onClick:be(e.onClick,y),onPointerDown:v=>{var x;(x=e.onPointerDown)==null||x.call(e,v),h.current=!0},onPointerUp:be(e.onPointerUp,v=>{var x;h.current||(x=v.currentTarget)==null||x.click()}),onKeyDown:be(e.onKeyDown,v=>{const x=m.searchRef.current!=="";a||x&&v.key===" "||Yp.includes(v.key)&&(v.currentTarget.click(),v.preventDefault())})})});od.displayName=ju;var xS=f.forwardRef((e,n)=>{const{__scopeMenu:a,disabled:o=!1,textValue:i,...c}=e,d=eg(ju,a),m=pS(a),p=f.useRef(null),h=ze(n,p),[y,v]=f.useState(!1),[x,S]=f.useState("");return f.useEffect(()=>{const j=p.current;j&&S((j.textContent??"").trim())},[c.children]),l.jsx(tl.ItemSlot,{scope:a,disabled:o,textValue:i??x,children:l.jsx(rS,{asChild:!0,...m,focusable:!o,children:l.jsx(hl.div,{role:"menuitem","data-highlighted":y?"":void 0,"aria-disabled":o||void 0,"data-disabled":o?"":void 0,...c,ref:h,onPointerMove:be(e.onPointerMove,nl(j=>{o?d.onItemLeave(j):(d.onItemEnter(j),j.defaultPrevented||j.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:be(e.onPointerLeave,nl(j=>d.onItemLeave(j))),onFocus:be(e.onFocus,()=>v(!0)),onBlur:be(e.onBlur,()=>v(!1))})})})}),IR="MenuCheckboxItem",SS=f.forwardRef((e,n)=>{const{checked:a=!1,onCheckedChange:o,...i}=e;return l.jsx(NS,{scope:e.__scopeMenu,checked:a,children:l.jsx(od,{role:"menuitemcheckbox","aria-checked":Eu(a)?"mixed":a,...i,ref:n,"data-state":ag(a),onSelect:be(i.onSelect,()=>o==null?void 0:o(Eu(a)?!0:!a),{checkForDefaultPrevented:!1})})})});SS.displayName=IR;var wS="MenuRadioGroup",[$R,BR]=go(wS,{value:void 0,onValueChange:()=>{}}),CS=f.forwardRef((e,n)=>{const{value:a,onValueChange:o,...i}=e,c=Ot(o);return l.jsx($R,{scope:e.__scopeMenu,value:a,onValueChange:c,children:l.jsx(ng,{...i,ref:n})})});CS.displayName=wS;var jS="MenuRadioItem",ES=f.forwardRef((e,n)=>{const{value:a,...o}=e,i=BR(jS,e.__scopeMenu),c=a===i.value;return l.jsx(NS,{scope:e.__scopeMenu,checked:c,children:l.jsx(od,{role:"menuitemradio","aria-checked":c,...o,ref:n,"data-state":ag(c),onSelect:be(o.onSelect,()=>{var d;return(d=i.onValueChange)==null?void 0:d.call(i,a)},{checkForDefaultPrevented:!1})})})});ES.displayName=jS;var rg="MenuItemIndicator",[NS,UR]=go(rg,{checked:!1}),kS=f.forwardRef((e,n)=>{const{__scopeMenu:a,forceMount:o,...i}=e,c=UR(rg,a);return l.jsx(Ht,{present:o||Eu(c.checked)||c.checked===!0,children:l.jsx(hl.span,{...i,ref:n,"data-state":ag(c.checked)})})});kS.displayName=rg;var HR="MenuSeparator",TS=f.forwardRef((e,n)=>{const{__scopeMenu:a,...o}=e;return l.jsx(hl.div,{role:"separator","aria-orientation":"horizontal",...o,ref:n})});TS.displayName=HR;var VR="MenuArrow",RS=f.forwardRef((e,n)=>{const{__scopeMenu:a,...o}=e,i=ad(a);return l.jsx(ed,{...i,...o,ref:n})});RS.displayName=VR;var GR="MenuSub",[AB,AS]=go(GR),Ui="MenuSubTrigger",MS=f.forwardRef((e,n)=>{const a=vo(Ui,e.__scopeMenu),o=yl(Ui,e.__scopeMenu),i=AS(Ui,e.__scopeMenu),c=eg(Ui,e.__scopeMenu),d=f.useRef(null),{pointerGraceTimerRef:m,onPointerGraceIntentChange:p}=c,h={__scopeMenu:e.__scopeMenu},y=f.useCallback(()=>{d.current&&window.clearTimeout(d.current),d.current=null},[]);return f.useEffect(()=>y,[y]),f.useEffect(()=>{const v=m.current;return()=>{window.clearTimeout(v),p(null)}},[m,p]),l.jsx(Qh,{asChild:!0,...h,children:l.jsx(xS,{id:i.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":i.contentId,"data-state":DS(a.open),...e,ref:st(n,i.onTriggerChange),onClick:v=>{var x;(x=e.onClick)==null||x.call(e,v),!(e.disabled||v.defaultPrevented)&&(v.currentTarget.focus(),a.open||a.onOpenChange(!0))},onPointerMove:be(e.onPointerMove,nl(v=>{c.onItemEnter(v),!v.defaultPrevented&&!e.disabled&&!a.open&&!d.current&&(c.onPointerGraceIntentChange(null),d.current=window.setTimeout(()=>{a.onOpenChange(!0),y()},100))})),onPointerLeave:be(e.onPointerLeave,nl(v=>{var S,j;y();const x=(S=a.content)==null?void 0:S.getBoundingClientRect();if(x){const C=(j=a.content)==null?void 0:j.dataset.side,N=C==="right",E=N?-5:5,k=x[N?"left":"right"],T=x[N?"right":"left"];c.onPointerGraceIntentChange({area:[{x:v.clientX+E,y:v.clientY},{x:k,y:x.top},{x:T,y:x.top},{x:T,y:x.bottom},{x:k,y:x.bottom}],side:C}),window.clearTimeout(m.current),m.current=window.setTimeout(()=>c.onPointerGraceIntentChange(null),300)}else{if(c.onTriggerLeave(v),v.defaultPrevented)return;c.onPointerGraceIntentChange(null)}})),onKeyDown:be(e.onKeyDown,v=>{var S;const x=c.searchRef.current!=="";e.disabled||x&&v.key===" "||jR[o.dir].includes(v.key)&&(a.onOpenChange(!0),(S=a.content)==null||S.focus(),v.preventDefault())})})})});MS.displayName=Ui;var _S="MenuSubContent",OS=f.forwardRef((e,n)=>{const a=gS(In,e.__scopeMenu),{forceMount:o=a.forceMount,...i}=e,c=vo(In,e.__scopeMenu),d=yl(In,e.__scopeMenu),m=AS(_S,e.__scopeMenu),p=f.useRef(null),h=ze(n,p);return l.jsx(tl.Provider,{scope:e.__scopeMenu,children:l.jsx(Ht,{present:o||c.open,children:l.jsx(tl.Slot,{scope:e.__scopeMenu,children:l.jsx(tg,{id:m.contentId,"aria-labelledby":m.triggerId,...i,ref:h,align:"start",side:d.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:y=>{var v;d.isUsingKeyboardRef.current&&((v=p.current)==null||v.focus()),y.preventDefault()},onCloseAutoFocus:y=>y.preventDefault(),onFocusOutside:be(e.onFocusOutside,y=>{y.target!==m.trigger&&c.onOpenChange(!1)}),onEscapeKeyDown:be(e.onEscapeKeyDown,y=>{d.onClose(),y.preventDefault()}),onKeyDown:be(e.onKeyDown,y=>{var S;const v=y.currentTarget.contains(y.target),x=ER[d.dir].includes(y.key);v&&x&&(c.onOpenChange(!1),(S=m.trigger)==null||S.focus(),y.preventDefault())})})})})})});OS.displayName=_S;function DS(e){return e?"open":"closed"}function Eu(e){return e==="indeterminate"}function ag(e){return Eu(e)?"indeterminate":e?"checked":"unchecked"}function FR(e){const n=document.activeElement;for(const a of e)if(a===n||(a.focus(),document.activeElement!==n))return}function YR(e,n){return e.map((a,o)=>e[(n+o)%e.length])}function WR(e,n,a){const i=n.length>1&&Array.from(n).every(h=>h===n[0])?n[0]:n,c=a?e.indexOf(a):-1;let d=YR(e,Math.max(c,0));i.length===1&&(d=d.filter(h=>h!==a));const p=d.find(h=>h.toLowerCase().startsWith(i.toLowerCase()));return p!==a?p:void 0}function qR(e,n){const{x:a,y:o}=e;let i=!1;for(let c=0,d=n.length-1;co!=x>o&&a<(v-h)*(o-y)/(x-y)+h&&(i=!i)}return i}function KR(e,n){if(!n)return!1;const a={x:e.clientX,y:e.clientY};return qR(a,n)}function nl(e){return n=>n.pointerType==="mouse"?e(n):void 0}var XR=hS,ZR=Qh,QR=vS,JR=bS,eA=ng,tA=yS,nA=od,rA=SS,aA=CS,oA=ES,sA=kS,iA=TS,lA=RS,cA=MS,uA=OS,sd="DropdownMenu",[dA]=wk(sd,[mS]),Qt=mS(),[fA,LS]=dA(sd),zS=e=>{const{__scopeDropdownMenu:n,children:a,dir:o,open:i,defaultOpen:c,onOpenChange:d,modal:m=!0}=e,p=Qt(n),h=f.useRef(null),[y,v]=Pr({prop:i,defaultProp:c??!1,onChange:d,caller:sd});return l.jsx(fA,{scope:n,triggerId:Dt(),triggerRef:h,contentId:Dt(),open:y,onOpenChange:v,onOpenToggle:f.useCallback(()=>v(x=>!x),[v]),modal:m,children:l.jsx(XR,{...p,open:y,onOpenChange:v,dir:o,modal:m,children:a})})};zS.displayName=sd;var PS="DropdownMenuTrigger",IS=f.forwardRef((e,n)=>{const{__scopeDropdownMenu:a,disabled:o=!1,...i}=e,c=LS(PS,a),d=Qt(a);return l.jsx(ZR,{asChild:!0,...d,children:l.jsx(Dk.button,{type:"button",id:c.triggerId,"aria-haspopup":"menu","aria-expanded":c.open,"aria-controls":c.open?c.contentId:void 0,"data-state":c.open?"open":"closed","data-disabled":o?"":void 0,disabled:o,...i,ref:st(n,c.triggerRef),onPointerDown:be(e.onPointerDown,m=>{!o&&m.button===0&&m.ctrlKey===!1&&(c.onOpenToggle(),c.open||m.preventDefault())}),onKeyDown:be(e.onKeyDown,m=>{o||(["Enter"," "].includes(m.key)&&c.onOpenToggle(),m.key==="ArrowDown"&&c.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(m.key)&&m.preventDefault())})})})});IS.displayName=PS;var mA="DropdownMenuPortal",$S=e=>{const{__scopeDropdownMenu:n,...a}=e,o=Qt(n);return l.jsx(QR,{...o,...a})};$S.displayName=mA;var BS="DropdownMenuContent",US=f.forwardRef((e,n)=>{const{__scopeDropdownMenu:a,...o}=e,i=LS(BS,a),c=Qt(a),d=f.useRef(!1);return l.jsx(JR,{id:i.contentId,"aria-labelledby":i.triggerId,...c,...o,ref:n,onCloseAutoFocus:be(e.onCloseAutoFocus,m=>{var p;d.current||(p=i.triggerRef.current)==null||p.focus(),d.current=!1,m.preventDefault()}),onInteractOutside:be(e.onInteractOutside,m=>{const p=m.detail.originalEvent,h=p.button===0&&p.ctrlKey===!0,y=p.button===2||h;(!i.modal||y)&&(d.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});US.displayName=BS;var pA="DropdownMenuGroup",hA=f.forwardRef((e,n)=>{const{__scopeDropdownMenu:a,...o}=e,i=Qt(a);return l.jsx(eA,{...i,...o,ref:n})});hA.displayName=pA;var gA="DropdownMenuLabel",HS=f.forwardRef((e,n)=>{const{__scopeDropdownMenu:a,...o}=e,i=Qt(a);return l.jsx(tA,{...i,...o,ref:n})});HS.displayName=gA;var vA="DropdownMenuItem",VS=f.forwardRef((e,n)=>{const{__scopeDropdownMenu:a,...o}=e,i=Qt(a);return l.jsx(nA,{...i,...o,ref:n})});VS.displayName=vA;var bA="DropdownMenuCheckboxItem",GS=f.forwardRef((e,n)=>{const{__scopeDropdownMenu:a,...o}=e,i=Qt(a);return l.jsx(rA,{...i,...o,ref:n})});GS.displayName=bA;var yA="DropdownMenuRadioGroup",xA=f.forwardRef((e,n)=>{const{__scopeDropdownMenu:a,...o}=e,i=Qt(a);return l.jsx(aA,{...i,...o,ref:n})});xA.displayName=yA;var SA="DropdownMenuRadioItem",FS=f.forwardRef((e,n)=>{const{__scopeDropdownMenu:a,...o}=e,i=Qt(a);return l.jsx(oA,{...i,...o,ref:n})});FS.displayName=SA;var wA="DropdownMenuItemIndicator",YS=f.forwardRef((e,n)=>{const{__scopeDropdownMenu:a,...o}=e,i=Qt(a);return l.jsx(sA,{...i,...o,ref:n})});YS.displayName=wA;var CA="DropdownMenuSeparator",WS=f.forwardRef((e,n)=>{const{__scopeDropdownMenu:a,...o}=e,i=Qt(a);return l.jsx(iA,{...i,...o,ref:n})});WS.displayName=CA;var jA="DropdownMenuArrow",EA=f.forwardRef((e,n)=>{const{__scopeDropdownMenu:a,...o}=e,i=Qt(a);return l.jsx(lA,{...i,...o,ref:n})});EA.displayName=jA;var NA="DropdownMenuSubTrigger",qS=f.forwardRef((e,n)=>{const{__scopeDropdownMenu:a,...o}=e,i=Qt(a);return l.jsx(cA,{...i,...o,ref:n})});qS.displayName=NA;var kA="DropdownMenuSubContent",KS=f.forwardRef((e,n)=>{const{__scopeDropdownMenu:a,...o}=e,i=Qt(a);return l.jsx(uA,{...i,...o,ref:n,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});KS.displayName=kA;var TA=zS,RA=IS,AA=$S,XS=US,ZS=HS,QS=VS,JS=GS,ew=FS,tw=YS,nw=WS,rw=qS,aw=KS;/**
+ * @license lucide-react v1.16.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */const ow=(...e)=>e.filter((n,a,o)=>!!n&&n.trim()!==""&&o.indexOf(n)===a).join(" ").trim();/**
+ * @license lucide-react v1.16.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */const MA=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/**
+ * @license lucide-react v1.16.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */const _A=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,a,o)=>o?o.toUpperCase():a.toLowerCase());/**
+ * @license lucide-react v1.16.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */const O1=e=>{const n=_A(e);return n.charAt(0).toUpperCase()+n.slice(1)};/**
+ * @license lucide-react v1.16.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */var pp={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
+ * @license lucide-react v1.16.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */const OA=e=>{for(const n in e)if(n.startsWith("aria-")||n==="role"||n==="title")return!0;return!1},DA=f.createContext({}),LA=()=>f.useContext(DA),zA=f.forwardRef(({color:e,size:n,strokeWidth:a,absoluteStrokeWidth:o,className:i="",children:c,iconNode:d,...m},p)=>{const{size:h=24,strokeWidth:y=2,absoluteStrokeWidth:v=!1,color:x="currentColor",className:S=""}=LA()??{},j=o??v?Number(a??y)*24/Number(n??h):a??y;return f.createElement("svg",{ref:p,...pp,width:n??h??pp.width,height:n??h??pp.height,stroke:e??x,strokeWidth:j,className:ow("lucide",S,i),...!c&&!OA(m)&&{"aria-hidden":"true"},...m},[...d.map(([C,N])=>f.createElement(C,N)),...Array.isArray(c)?c:[c]])});/**
+ * @license lucide-react v1.16.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */const Ur=(e,n)=>{const a=f.forwardRef(({className:o,...i},c)=>f.createElement(zA,{ref:c,iconNode:n,className:ow(`lucide-${MA(O1(e))}`,`lucide-${e}`,o),...i}));return a.displayName=O1(e),a};/**
+ * @license lucide-react v1.16.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */const PA=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],sw=Ur("check",PA);/**
+ * @license lucide-react v1.16.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */const IA=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],iw=Ur("chevron-down",IA);/**
+ * @license lucide-react v1.16.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */const $A=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],BA=Ur("chevron-right",$A);/**
+ * @license lucide-react v1.16.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */const UA=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],HA=Ur("chevron-up",UA);/**
+ * @license lucide-react v1.16.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */const VA=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],D1=Ur("circle-check",VA);/**
+ * @license lucide-react v1.16.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */const GA=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],FA=Ur("circle",GA);/**
+ * @license lucide-react v1.16.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */const YA=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]],WA=Ur("panel-left",YA);/**
+ * @license lucide-react v1.16.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */const qA=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],KA=Ur("search",qA);/**
+ * @license lucide-react v1.16.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */const XA=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],lw=Ur("x",XA),og=TA,sg=RA,ZA=f.forwardRef(({className:e,inset:n,children:a,...o},i)=>l.jsxs(rw,{ref:i,className:ce("flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",n&&"pl-8",e),...o,children:[a,l.jsx(BA,{className:"ml-auto"})]}));ZA.displayName=rw.displayName;const QA=f.forwardRef(({className:e,...n},a)=>l.jsx(aw,{ref:a,className:ce("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",e),...n}));QA.displayName=aw.displayName;const id=f.forwardRef(({className:e,sideOffset:n=4,...a},o)=>l.jsx(AA,{children:l.jsx(XS,{ref:o,sideOffset:n,className:ce("z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",e),...a})}));id.displayName=XS.displayName;const rl=f.forwardRef(({className:e,inset:n,...a},o)=>l.jsx(QS,{ref:o,className:ce("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",n&&"pl-8",e),...a}));rl.displayName=QS.displayName;const JA=f.forwardRef(({className:e,children:n,checked:a,...o},i)=>l.jsxs(JS,{ref:i,className:ce("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:a,...o,children:[l.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:l.jsx(tw,{children:l.jsx(sw,{className:"h-4 w-4"})})}),n]}));JA.displayName=JS.displayName;const e7=f.forwardRef(({className:e,children:n,...a},o)=>l.jsxs(ew,{ref:o,className:ce("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...a,children:[l.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:l.jsx(tw,{children:l.jsx(FA,{className:"h-2 w-2 fill-current"})})}),n]}));e7.displayName=ew.displayName;const ig=f.forwardRef(({className:e,inset:n,...a},o)=>l.jsx(ZS,{ref:o,className:ce("px-2 py-1.5 text-sm font-semibold",n&&"pl-8",e),...a}));ig.displayName=ZS.displayName;const Nu=f.forwardRef(({className:e,...n},a)=>l.jsx(nw,{ref:a,className:ce("-mx-1 my-1 h-px bg-muted",e),...n}));Nu.displayName=nw.displayName;const hp=768;function t7(){const[e,n]=f.useState(void 0);return f.useEffect(()=>{const a=window.matchMedia(`(max-width: ${hp-1}px)`),o=()=>{n(window.innerWidtha.removeEventListener("change",o)},[]),!!e}const Ue=f.forwardRef(({className:e,type:n,...a},o)=>l.jsx("input",{type:n,className:ce("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:o,...a}));Ue.displayName="Input";var n7=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],En=n7.reduce((e,n)=>{const a=S2(`Primitive.${n}`),o=f.forwardRef((i,c)=>{const{asChild:d,...m}=i,p=d?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(p,{...m,ref:c})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{}),r7="Separator",L1="horizontal",a7=["horizontal","vertical"],cw=f.forwardRef((e,n)=>{const{decorative:a,orientation:o=L1,...i}=e,c=o7(o)?o:L1,m=a?{role:"none"}:{"aria-orientation":c==="vertical"?c:void 0,role:"separator"};return l.jsx(En.div,{"data-orientation":c,...m,...i,ref:n})});cw.displayName=r7;function o7(e){return a7.includes(e)}var uw=cw;const dw=f.forwardRef(({className:e,orientation:n="horizontal",decorative:a=!0,...o},i)=>l.jsx(uw,{ref:i,decorative:a,orientation:n,className:ce("shrink-0 bg-border",n==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...o}));dw.displayName=uw.displayName;function s7(e,n){const a=f.createContext(n),o=c=>{const{children:d,...m}=c,p=f.useMemo(()=>m,Object.values(m));return l.jsx(a.Provider,{value:p,children:d})};o.displayName=e+"Provider";function i(c){const d=f.useContext(a);if(d)return d;if(n!==void 0)return n;throw new Error(`\`${c}\` must be used within \`${e}\``)}return[o,i]}function i7(e,n=[]){let a=[];function o(c,d){const m=f.createContext(d),p=a.length;a=[...a,d];const h=v=>{var E;const{scope:x,children:S,...j}=v,C=((E=x==null?void 0:x[e])==null?void 0:E[p])||m,N=f.useMemo(()=>j,Object.values(j));return l.jsx(C.Provider,{value:N,children:S})};h.displayName=c+"Provider";function y(v,x){var C;const S=((C=x==null?void 0:x[e])==null?void 0:C[p])||m,j=f.useContext(S);if(j)return j;if(d!==void 0)return d;throw new Error(`\`${v}\` must be used within \`${c}\``)}return[h,y]}const i=()=>{const c=a.map(d=>f.createContext(d));return function(m){const p=(m==null?void 0:m[e])||c;return f.useMemo(()=>({[`__scope${e}`]:{...m,[e]:p}}),[m,p])}};return i.scopeName=e,[o,l7(i,...n)]}function l7(...e){const n=e[0];if(e.length===1)return n;const a=()=>{const o=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(c){const d=o.reduce((m,{useScope:p,scopeName:h})=>{const v=p(c)[`__scope${h}`];return{...m,...v}},{});return f.useMemo(()=>({[`__scope${n.scopeName}`]:d}),[d])}};return a.scopeName=n.scopeName,a}function fw(e){const n=c7(e),a=f.forwardRef((o,i)=>{const{children:c,...d}=o,m=f.Children.toArray(c),p=m.find(d7);if(p){const h=p.props.children,y=m.map(v=>v===p?f.Children.count(h)>1?f.Children.only(null):f.isValidElement(h)?h.props.children:null:v);return l.jsx(n,{...d,ref:i,children:f.isValidElement(h)?f.cloneElement(h,void 0,y):null})}return l.jsx(n,{...d,ref:i,children:c})});return a.displayName=`${e}.Slot`,a}function c7(e){const n=f.forwardRef((a,o)=>{const{children:i,...c}=a;if(f.isValidElement(i)){const d=m7(i),m=f7(c,i.props);return i.type!==f.Fragment&&(m.ref=o?st(o,d):d),f.cloneElement(i,m)}return f.Children.count(i)>1?f.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var u7=Symbol("radix.slottable");function d7(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===u7}function f7(e,n){const a={...n};for(const o in n){const i=e[o],c=n[o];/^on[A-Z]/.test(o)?i&&c?a[o]=(...m)=>{const p=c(...m);return i(...m),p}:i&&(a[o]=i):o==="style"?a[o]={...i,...c}:o==="className"&&(a[o]=[i,c].filter(Boolean).join(" "))}return{...e,...a}}function m7(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var p7=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],xl=p7.reduce((e,n)=>{const a=fw(`Primitive.${n}`),o=f.forwardRef((i,c)=>{const{asChild:d,...m}=i,p=d?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(p,{...m,ref:c})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{}),ld="Dialog",[mw]=i7(ld),[h7,Zn]=mw(ld),pw=e=>{const{__scopeDialog:n,children:a,open:o,defaultOpen:i,onOpenChange:c,modal:d=!0}=e,m=f.useRef(null),p=f.useRef(null),[h,y]=Pr({prop:o,defaultProp:i??!1,onChange:c,caller:ld});return l.jsx(h7,{scope:n,triggerRef:m,contentRef:p,contentId:Dt(),titleId:Dt(),descriptionId:Dt(),open:h,onOpenChange:y,onOpenToggle:f.useCallback(()=>y(v=>!v),[y]),modal:d,children:a})};pw.displayName=ld;var hw="DialogTrigger",gw=f.forwardRef((e,n)=>{const{__scopeDialog:a,...o}=e,i=Zn(hw,a),c=ze(n,i.triggerRef);return l.jsx(xl.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":ug(i.open),...o,ref:c,onClick:be(e.onClick,i.onOpenToggle)})});gw.displayName=hw;var lg="DialogPortal",[g7,vw]=mw(lg,{forceMount:void 0}),bw=e=>{const{__scopeDialog:n,forceMount:a,children:o,container:i}=e,c=Zn(lg,n);return l.jsx(g7,{scope:n,forceMount:a,children:f.Children.map(o,d=>l.jsx(Ht,{present:a||c.open,children:l.jsx(Is,{asChild:!0,container:i,children:d})}))})};bw.displayName=lg;var ku="DialogOverlay",yw=f.forwardRef((e,n)=>{const a=vw(ku,e.__scopeDialog),{forceMount:o=a.forceMount,...i}=e,c=Zn(ku,e.__scopeDialog);return c.modal?l.jsx(Ht,{present:o||c.open,children:l.jsx(b7,{...i,ref:n})}):null});yw.displayName=ku;var v7=fw("DialogOverlay.RemoveScroll"),b7=f.forwardRef((e,n)=>{const{__scopeDialog:a,...o}=e,i=Zn(ku,a);return l.jsx(vl,{as:v7,allowPinchZoom:!0,shards:[i.contentRef],children:l.jsx(xl.div,{"data-state":ug(i.open),...o,ref:n,style:{pointerEvents:"auto",...o.style}})})}),ao="DialogContent",xw=f.forwardRef((e,n)=>{const a=vw(ao,e.__scopeDialog),{forceMount:o=a.forceMount,...i}=e,c=Zn(ao,e.__scopeDialog);return l.jsx(Ht,{present:o||c.open,children:c.modal?l.jsx(y7,{...i,ref:n}):l.jsx(x7,{...i,ref:n})})});xw.displayName=ao;var y7=f.forwardRef((e,n)=>{const a=Zn(ao,e.__scopeDialog),o=f.useRef(null),i=ze(n,a.contentRef,o);return f.useEffect(()=>{const c=o.current;if(c)return nd(c)},[]),l.jsx(Sw,{...e,ref:i,trapFocus:a.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:be(e.onCloseAutoFocus,c=>{var d;c.preventDefault(),(d=a.triggerRef.current)==null||d.focus()}),onPointerDownOutside:be(e.onPointerDownOutside,c=>{const d=c.detail.originalEvent,m=d.button===0&&d.ctrlKey===!0;(d.button===2||m)&&c.preventDefault()}),onFocusOutside:be(e.onFocusOutside,c=>c.preventDefault())})}),x7=f.forwardRef((e,n)=>{const a=Zn(ao,e.__scopeDialog),o=f.useRef(!1),i=f.useRef(!1);return l.jsx(Sw,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:c=>{var d,m;(d=e.onCloseAutoFocus)==null||d.call(e,c),c.defaultPrevented||(o.current||(m=a.triggerRef.current)==null||m.focus(),c.preventDefault()),o.current=!1,i.current=!1},onInteractOutside:c=>{var p,h;(p=e.onInteractOutside)==null||p.call(e,c),c.defaultPrevented||(o.current=!0,c.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const d=c.target;((h=a.triggerRef.current)==null?void 0:h.contains(d))&&c.preventDefault(),c.detail.originalEvent.type==="focusin"&&i.current&&c.preventDefault()}})}),Sw=f.forwardRef((e,n)=>{const{__scopeDialog:a,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:c,...d}=e,m=Zn(ao,a),p=f.useRef(null),h=ze(n,p);return Wu(),l.jsxs(l.Fragment,{children:[l.jsx(fl,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:i,onUnmountAutoFocus:c,children:l.jsx(Ls,{role:"dialog",id:m.contentId,"aria-describedby":m.descriptionId,"aria-labelledby":m.titleId,"data-state":ug(m.open),...d,ref:h,onDismiss:()=>m.onOpenChange(!1)})}),l.jsxs(l.Fragment,{children:[l.jsx(S7,{titleId:m.titleId}),l.jsx(C7,{contentRef:p,descriptionId:m.descriptionId})]})]})}),cg="DialogTitle",ww=f.forwardRef((e,n)=>{const{__scopeDialog:a,...o}=e,i=Zn(cg,a);return l.jsx(xl.h2,{id:i.titleId,...o,ref:n})});ww.displayName=cg;var Cw="DialogDescription",jw=f.forwardRef((e,n)=>{const{__scopeDialog:a,...o}=e,i=Zn(Cw,a);return l.jsx(xl.p,{id:i.descriptionId,...o,ref:n})});jw.displayName=Cw;var Ew="DialogClose",Nw=f.forwardRef((e,n)=>{const{__scopeDialog:a,...o}=e,i=Zn(Ew,a);return l.jsx(xl.button,{type:"button",...o,ref:n,onClick:be(e.onClick,()=>i.onOpenChange(!1))})});Nw.displayName=Ew;function ug(e){return e?"open":"closed"}var kw="DialogTitleWarning",[MB,Tw]=s7(kw,{contentName:ao,titleName:cg,docsSlug:"dialog"}),S7=({titleId:e})=>{const n=Tw(kw),a=`\`${n.contentName}\` requires a \`${n.titleName}\` for the component to be accessible for screen reader users.
+
+If you want to hide the \`${n.titleName}\`, you can wrap it with our VisuallyHidden component.
+
+For more information, see https://radix-ui.com/primitives/docs/components/${n.docsSlug}`;return f.useEffect(()=>{e&&(document.getElementById(e)||console.error(a))},[a,e]),null},w7="DialogDescriptionWarning",C7=({contentRef:e,descriptionId:n})=>{const o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Tw(w7).contentName}}.`;return f.useEffect(()=>{var c;const i=(c=e.current)==null?void 0:c.getAttribute("aria-describedby");n&&i&&(document.getElementById(n)||console.warn(o))},[o,e,n]),null},dg=pw,j7=gw,fg=bw,Sl=yw,wl=xw,cd=ww,ud=jw,Rw=Nw;const E7=dg,N7=fg,Aw=f.forwardRef(({className:e,...n},a)=>l.jsx(Sl,{className:ce("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...n,ref:a}));Aw.displayName=Sl.displayName;const k7=Ds("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),Mw=f.forwardRef(({side:e="right",className:n,children:a,...o},i)=>l.jsxs(N7,{children:[l.jsx(Aw,{}),l.jsxs(wl,{ref:i,className:ce(k7({side:e}),n),...o,children:[l.jsxs(Rw,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[l.jsx(lw,{className:"h-4 w-4"}),l.jsx("span",{className:"sr-only",children:"Close"})]}),a]})]}));Mw.displayName=wl.displayName;const _w=({className:e,...n})=>l.jsx("div",{className:ce("flex flex-col space-y-2 text-center sm:text-left",e),...n});_w.displayName="SheetHeader";const Ow=f.forwardRef(({className:e,...n},a)=>l.jsx(cd,{ref:a,className:ce("text-lg font-semibold text-foreground",e),...n}));Ow.displayName=cd.displayName;const Dw=f.forwardRef(({className:e,...n},a)=>l.jsx(ud,{ref:a,className:ce("text-sm text-muted-foreground",e),...n}));Dw.displayName=ud.displayName;function Ve({className:e,...n}){return l.jsx("div",{className:ce("animate-pulse rounded-md bg-primary/10",e),...n})}function T7(e,n=[]){let a=[];function o(c,d){const m=f.createContext(d),p=a.length;a=[...a,d];const h=v=>{var E;const{scope:x,children:S,...j}=v,C=((E=x==null?void 0:x[e])==null?void 0:E[p])||m,N=f.useMemo(()=>j,Object.values(j));return l.jsx(C.Provider,{value:N,children:S})};h.displayName=c+"Provider";function y(v,x){var C;const S=((C=x==null?void 0:x[e])==null?void 0:C[p])||m,j=f.useContext(S);if(j)return j;if(d!==void 0)return d;throw new Error(`\`${v}\` must be used within \`${c}\``)}return[h,y]}const i=()=>{const c=a.map(d=>f.createContext(d));return function(m){const p=(m==null?void 0:m[e])||c;return f.useMemo(()=>({[`__scope${e}`]:{...m,[e]:p}}),[m,p])}};return i.scopeName=e,[o,R7(i,...n)]}function R7(...e){const n=e[0];if(e.length===1)return n;const a=()=>{const o=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(c){const d=o.reduce((m,{useScope:p,scopeName:h})=>{const v=p(c)[`__scope${h}`];return{...m,...v}},{});return f.useMemo(()=>({[`__scope${n.scopeName}`]:d}),[d])}};return a.scopeName=n.scopeName,a}function A7(e){const n=M7(e),a=f.forwardRef((o,i)=>{const{children:c,...d}=o,m=f.Children.toArray(c),p=m.find(O7);if(p){const h=p.props.children,y=m.map(v=>v===p?f.Children.count(h)>1?f.Children.only(null):f.isValidElement(h)?h.props.children:null:v);return l.jsx(n,{...d,ref:i,children:f.isValidElement(h)?f.cloneElement(h,void 0,y):null})}return l.jsx(n,{...d,ref:i,children:c})});return a.displayName=`${e}.Slot`,a}function M7(e){const n=f.forwardRef((a,o)=>{const{children:i,...c}=a;if(f.isValidElement(i)){const d=L7(i),m=D7(c,i.props);return i.type!==f.Fragment&&(m.ref=o?st(o,d):d),f.cloneElement(i,m)}return f.Children.count(i)>1?f.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var Lw=Symbol("radix.slottable");function _7(e){const n=({children:a})=>l.jsx(l.Fragment,{children:a});return n.displayName=`${e}.Slottable`,n.__radixId=Lw,n}function O7(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Lw}function D7(e,n){const a={...n};for(const o in n){const i=e[o],c=n[o];/^on[A-Z]/.test(o)?i&&c?a[o]=(...m)=>{const p=c(...m);return i(...m),p}:i&&(a[o]=i):o==="style"?a[o]={...i,...c}:o==="className"&&(a[o]=[i,c].filter(Boolean).join(" "))}return{...e,...a}}function L7(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var z7=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],P7=z7.reduce((e,n)=>{const a=A7(`Primitive.${n}`),o=f.forwardRef((i,c)=>{const{asChild:d,...m}=i,p=d?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(p,{...m,ref:c})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{});function I7(e){const n=$7(e),a=f.forwardRef((o,i)=>{const{children:c,...d}=o,m=f.Children.toArray(c),p=m.find(U7);if(p){const h=p.props.children,y=m.map(v=>v===p?f.Children.count(h)>1?f.Children.only(null):f.isValidElement(h)?h.props.children:null:v);return l.jsx(n,{...d,ref:i,children:f.isValidElement(h)?f.cloneElement(h,void 0,y):null})}return l.jsx(n,{...d,ref:i,children:c})});return a.displayName=`${e}.Slot`,a}function $7(e){const n=f.forwardRef((a,o)=>{const{children:i,...c}=a;if(f.isValidElement(i)){const d=V7(i),m=H7(c,i.props);return i.type!==f.Fragment&&(m.ref=o?st(o,d):d),f.cloneElement(i,m)}return f.Children.count(i)>1?f.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var B7=Symbol("radix.slottable");function U7(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===B7}function H7(e,n){const a={...n};for(const o in n){const i=e[o],c=n[o];/^on[A-Z]/.test(o)?i&&c?a[o]=(...m)=>{const p=c(...m);return i(...m),p}:i&&(a[o]=i):o==="style"?a[o]={...i,...c}:o==="className"&&(a[o]=[i,c].filter(Boolean).join(" "))}return{...e,...a}}function V7(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var G7=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],F7=G7.reduce((e,n)=>{const a=I7(`Primitive.${n}`),o=f.forwardRef((i,c)=>{const{asChild:d,...m}=i,p=d?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(p,{...m,ref:c})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{}),zw=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Y7="VisuallyHidden",Pw=f.forwardRef((e,n)=>l.jsx(F7.span,{...e,ref:n,style:{...zw,...e.style}}));Pw.displayName=Y7;var W7=Pw,[dd]=T7("Tooltip",[Ea]),fd=Ea(),Iw="TooltipProvider",q7=700,Wp="tooltip.open",[K7,mg]=dd(Iw),$w=e=>{const{__scopeTooltip:n,delayDuration:a=q7,skipDelayDuration:o=300,disableHoverableContent:i=!1,children:c}=e,d=f.useRef(!0),m=f.useRef(!1),p=f.useRef(0);return f.useEffect(()=>{const h=p.current;return()=>window.clearTimeout(h)},[]),l.jsx(K7,{scope:n,isOpenDelayedRef:d,delayDuration:a,onOpen:f.useCallback(()=>{window.clearTimeout(p.current),d.current=!1},[]),onClose:f.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>d.current=!0,o)},[o]),isPointerInTransitRef:m,onPointerInTransitChange:f.useCallback(h=>{m.current=h},[]),disableHoverableContent:i,children:c})};$w.displayName=Iw;var al="Tooltip",[X7,Cl]=dd(al),Bw=e=>{const{__scopeTooltip:n,children:a,open:o,defaultOpen:i,onOpenChange:c,disableHoverableContent:d,delayDuration:m}=e,p=mg(al,e.__scopeTooltip),h=fd(n),[y,v]=f.useState(null),x=Dt(),S=f.useRef(0),j=d??p.disableHoverableContent,C=m??p.delayDuration,N=f.useRef(!1),[E,k]=Pr({prop:o,defaultProp:i??!1,onChange:z=>{z?(p.onOpen(),document.dispatchEvent(new CustomEvent(Wp))):p.onClose(),c==null||c(z)},caller:al}),T=f.useMemo(()=>E?N.current?"delayed-open":"instant-open":"closed",[E]),R=f.useCallback(()=>{window.clearTimeout(S.current),S.current=0,N.current=!1,k(!0)},[k]),D=f.useCallback(()=>{window.clearTimeout(S.current),S.current=0,k(!1)},[k]),P=f.useCallback(()=>{window.clearTimeout(S.current),S.current=window.setTimeout(()=>{N.current=!0,k(!0),S.current=0},C)},[C,k]);return f.useEffect(()=>()=>{S.current&&(window.clearTimeout(S.current),S.current=0)},[]),l.jsx(Qu,{...h,children:l.jsx(X7,{scope:n,contentId:x,open:E,stateAttribute:T,trigger:y,onTriggerChange:v,onTriggerEnter:f.useCallback(()=>{p.isOpenDelayedRef.current?P():R()},[p.isOpenDelayedRef,P,R]),onTriggerLeave:f.useCallback(()=>{j?D():(window.clearTimeout(S.current),S.current=0)},[D,j]),onOpen:R,onClose:D,disableHoverableContent:j,children:a})})};Bw.displayName=al;var qp="TooltipTrigger",Uw=f.forwardRef((e,n)=>{const{__scopeTooltip:a,...o}=e,i=Cl(qp,a),c=mg(qp,a),d=fd(a),m=f.useRef(null),p=ze(n,m,i.onTriggerChange),h=f.useRef(!1),y=f.useRef(!1),v=f.useCallback(()=>h.current=!1,[]);return f.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),l.jsx(pl,{asChild:!0,...d,children:l.jsx(P7.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...o,ref:p,onPointerMove:be(e.onPointerMove,x=>{x.pointerType!=="touch"&&!y.current&&!c.isPointerInTransitRef.current&&(i.onTriggerEnter(),y.current=!0)}),onPointerLeave:be(e.onPointerLeave,()=>{i.onTriggerLeave(),y.current=!1}),onPointerDown:be(e.onPointerDown,()=>{i.open&&i.onClose(),h.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:be(e.onFocus,()=>{h.current||i.onOpen()}),onBlur:be(e.onBlur,i.onClose),onClick:be(e.onClick,i.onClose)})})});Uw.displayName=qp;var pg="TooltipPortal",[Z7,Q7]=dd(pg,{forceMount:void 0}),Hw=e=>{const{__scopeTooltip:n,forceMount:a,children:o,container:i}=e,c=Cl(pg,n);return l.jsx(Z7,{scope:n,forceMount:a,children:l.jsx(Ht,{present:a||c.open,children:l.jsx(Is,{asChild:!0,container:i,children:o})})})};Hw.displayName=pg;var xs="TooltipContent",Vw=f.forwardRef((e,n)=>{const a=Q7(xs,e.__scopeTooltip),{forceMount:o=a.forceMount,side:i="top",...c}=e,d=Cl(xs,e.__scopeTooltip);return l.jsx(Ht,{present:o||d.open,children:d.disableHoverableContent?l.jsx(Gw,{side:i,...c,ref:n}):l.jsx(J7,{side:i,...c,ref:n})})}),J7=f.forwardRef((e,n)=>{const a=Cl(xs,e.__scopeTooltip),o=mg(xs,e.__scopeTooltip),i=f.useRef(null),c=ze(n,i),[d,m]=f.useState(null),{trigger:p,onClose:h}=a,y=i.current,{onPointerInTransitChange:v}=o,x=f.useCallback(()=>{m(null),v(!1)},[v]),S=f.useCallback((j,C)=>{const N=j.currentTarget,E={x:j.clientX,y:j.clientY},k=aM(E,N.getBoundingClientRect()),T=oM(E,k),R=sM(C.getBoundingClientRect()),D=lM([...T,...R]);m(D),v(!0)},[v]);return f.useEffect(()=>()=>x(),[x]),f.useEffect(()=>{if(p&&y){const j=N=>S(N,y),C=N=>S(N,p);return p.addEventListener("pointerleave",j),y.addEventListener("pointerleave",C),()=>{p.removeEventListener("pointerleave",j),y.removeEventListener("pointerleave",C)}}},[p,y,S,x]),f.useEffect(()=>{if(d){const j=C=>{const N=C.target,E={x:C.clientX,y:C.clientY},k=(p==null?void 0:p.contains(N))||(y==null?void 0:y.contains(N)),T=!iM(E,d);k?x():T&&(x(),h())};return document.addEventListener("pointermove",j),()=>document.removeEventListener("pointermove",j)}},[p,y,d,h,x]),l.jsx(Gw,{...e,ref:c})}),[eM,tM]=dd(al,{isInside:!1}),nM=_7("TooltipContent"),Gw=f.forwardRef((e,n)=>{const{__scopeTooltip:a,children:o,"aria-label":i,onEscapeKeyDown:c,onPointerDownOutside:d,...m}=e,p=Cl(xs,a),h=fd(a),{onClose:y}=p;return f.useEffect(()=>(document.addEventListener(Wp,y),()=>document.removeEventListener(Wp,y)),[y]),f.useEffect(()=>{if(p.trigger){const v=x=>{const S=x.target;S!=null&&S.contains(p.trigger)&&y()};return window.addEventListener("scroll",v,{capture:!0}),()=>window.removeEventListener("scroll",v,{capture:!0})}},[p.trigger,y]),l.jsx(Ls,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:v=>v.preventDefault(),onDismiss:y,children:l.jsxs(Ju,{"data-state":p.stateAttribute,...h,...m,ref:n,style:{...m.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[l.jsx(nM,{children:o}),l.jsx(eM,{scope:a,isInside:!0,children:l.jsx(W7,{id:p.contentId,role:"tooltip",children:i||o})})]})})});Vw.displayName=xs;var Fw="TooltipArrow",rM=f.forwardRef((e,n)=>{const{__scopeTooltip:a,...o}=e,i=fd(a);return tM(Fw,a).isInside?null:l.jsx(ed,{...i,...o,ref:n})});rM.displayName=Fw;function aM(e,n){const a=Math.abs(n.top-e.y),o=Math.abs(n.bottom-e.y),i=Math.abs(n.right-e.x),c=Math.abs(n.left-e.x);switch(Math.min(a,o,i,c)){case c:return"left";case i:return"right";case a:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function oM(e,n,a=5){const o=[];switch(n){case"top":o.push({x:e.x-a,y:e.y+a},{x:e.x+a,y:e.y+a});break;case"bottom":o.push({x:e.x-a,y:e.y-a},{x:e.x+a,y:e.y-a});break;case"left":o.push({x:e.x+a,y:e.y-a},{x:e.x+a,y:e.y+a});break;case"right":o.push({x:e.x-a,y:e.y-a},{x:e.x-a,y:e.y+a});break}return o}function sM(e){const{top:n,right:a,bottom:o,left:i}=e;return[{x:i,y:n},{x:a,y:n},{x:a,y:o},{x:i,y:o}]}function iM(e,n){const{x:a,y:o}=e;let i=!1;for(let c=0,d=n.length-1;co!=x>o&&a<(v-h)*(o-y)/(x-y)+h&&(i=!i)}return i}function lM(e){const n=e.slice();return n.sort((a,o)=>a.xo.x?1:a.yo.y?1:0),cM(n)}function cM(e){if(e.length<=1)return e.slice();const n=[];for(let o=0;o=2;){const c=n[n.length-1],d=n[n.length-2];if((c.x-d.x)*(i.y-d.y)>=(c.y-d.y)*(i.x-d.x))n.pop();else break}n.push(i)}n.pop();const a=[];for(let o=e.length-1;o>=0;o--){const i=e[o];for(;a.length>=2;){const c=a[a.length-1],d=a[a.length-2];if((c.x-d.x)*(i.y-d.y)>=(c.y-d.y)*(i.x-d.x))a.pop();else break}a.push(i)}return a.pop(),n.length===1&&a.length===1&&n[0].x===a[0].x&&n[0].y===a[0].y?n:n.concat(a)}var uM=$w,dM=Bw,fM=Uw,mM=Hw,Yw=Vw;const Ww=uM,pM=dM,hM=fM,qw=f.forwardRef(({className:e,sideOffset:n=4,...a},o)=>l.jsx(mM,{children:l.jsx(Yw,{ref:o,sideOffset:n,className:ce("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",e),...a})}));qw.displayName=Yw.displayName;const gM="sidebar_state",vM=3600*24*7,bM="16rem",yM="18rem",xM="3rem",SM="b",Kw=f.createContext(null);function md(){const e=f.useContext(Kw);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const Xw=f.forwardRef(({defaultOpen:e=!0,open:n,onOpenChange:a,className:o,style:i,children:c,...d},m)=>{const p=t7(),[h,y]=f.useState(!1),[v,x]=f.useState(e),S=n??v,j=f.useCallback(k=>{const T=typeof k=="function"?k(S):k;a?a(T):x(T),document.cookie=`${gM}=${T}; path=/; max-age=${vM}`},[a,S]),C=f.useCallback(()=>p?y(k=>!k):j(k=>!k),[p,j,y]);f.useEffect(()=>{const k=T=>{T.key===SM&&(T.metaKey||T.ctrlKey)&&(T.preventDefault(),C())};return window.addEventListener("keydown",k),()=>window.removeEventListener("keydown",k)},[C]);const N=S?"expanded":"collapsed",E=f.useMemo(()=>({state:N,open:S,setOpen:j,isMobile:p,openMobile:h,setOpenMobile:y,toggleSidebar:C}),[N,S,j,p,h,y,C]);return l.jsx(Kw.Provider,{value:E,children:l.jsx(Ww,{delayDuration:0,children:l.jsx("div",{style:{"--sidebar-width":bM,"--sidebar-width-icon":xM,...i},className:ce("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",o),ref:m,...d,children:c})})})});Xw.displayName="SidebarProvider";const Zw=f.forwardRef(({side:e="left",variant:n="sidebar",collapsible:a="offcanvas",className:o,children:i,...c},d)=>{const{isMobile:m,state:p,openMobile:h,setOpenMobile:y}=md();return a==="none"?l.jsx("div",{className:ce("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",o),ref:d,...c,children:i}):m?l.jsx(E7,{open:h,onOpenChange:y,...c,children:l.jsxs(Mw,{"data-sidebar":"sidebar","data-mobile":"true",className:"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":yM},side:e,children:[l.jsxs(_w,{className:"sr-only",children:[l.jsx(Ow,{children:"Sidebar"}),l.jsx(Dw,{children:"Displays the mobile sidebar."})]}),l.jsx("div",{className:"flex h-full w-full flex-col",children:i})]})}):l.jsxs("div",{ref:d,className:"group peer hidden text-sidebar-foreground md:block","data-state":p,"data-collapsible":p==="collapsed"?a:"","data-variant":n,"data-side":e,children:[l.jsx("div",{className:ce("relative w-[--sidebar-width] bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",n==="floating"||n==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),l.jsx("div",{className:ce("fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] duration-200 ease-linear md:flex",e==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",n==="floating"||n==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",o),...c,children:l.jsx("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow",children:i})})]})});Zw.displayName="Sidebar";const Qw=f.forwardRef(({className:e,onClick:n,...a},o)=>{const{toggleSidebar:i}=md();return l.jsxs(ve,{ref:o,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:ce("h-7 w-7",e),onClick:c=>{n==null||n(c),i()},...a,children:[l.jsx(WA,{}),l.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});Qw.displayName="SidebarTrigger";const Jw=f.forwardRef(({className:e,...n},a)=>{const{toggleSidebar:o}=md();return l.jsx("button",{ref:a,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:o,title:"Toggle Sidebar",className:ce("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...n})});Jw.displayName="SidebarRail";const eC=f.forwardRef(({className:e,...n},a)=>l.jsx("main",{ref:a,className:ce("relative flex w-full flex-1 flex-col bg-background","md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",e),...n}));eC.displayName="SidebarInset";const wM=f.forwardRef(({className:e,...n},a)=>l.jsx(Ue,{ref:a,"data-sidebar":"input",className:ce("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...n}));wM.displayName="SidebarInput";const tC=f.forwardRef(({className:e,...n},a)=>l.jsx("div",{ref:a,"data-sidebar":"header",className:ce("flex flex-col gap-2 p-2",e),...n}));tC.displayName="SidebarHeader";const CM=f.forwardRef(({className:e,...n},a)=>l.jsx("div",{ref:a,"data-sidebar":"footer",className:ce("flex flex-col gap-2 p-2",e),...n}));CM.displayName="SidebarFooter";const jM=f.forwardRef(({className:e,...n},a)=>l.jsx(dw,{ref:a,"data-sidebar":"separator",className:ce("mx-2 w-auto bg-sidebar-border",e),...n}));jM.displayName="SidebarSeparator";const nC=f.forwardRef(({className:e,...n},a)=>l.jsx("div",{ref:a,"data-sidebar":"content",className:ce("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...n}));nC.displayName="SidebarContent";const Kp=f.forwardRef(({className:e,...n},a)=>l.jsx("div",{ref:a,"data-sidebar":"group",className:ce("relative flex w-full min-w-0 flex-col p-2",e),...n}));Kp.displayName="SidebarGroup";const rC=f.forwardRef(({className:e,asChild:n=!1,...a},o)=>{const i=n?Os:"div";return l.jsx(i,{ref:o,"data-sidebar":"group-label",className:ce("flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...a})});rC.displayName="SidebarGroupLabel";const EM=f.forwardRef(({className:e,asChild:n=!1,...a},o)=>{const i=n?Os:"button";return l.jsx(i,{ref:o,"data-sidebar":"group-action",className:ce("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",e),...a})});EM.displayName="SidebarGroupAction";const Xp=f.forwardRef(({className:e,...n},a)=>l.jsx("div",{ref:a,"data-sidebar":"group-content",className:ce("w-full text-sm",e),...n}));Xp.displayName="SidebarGroupContent";const Zp=f.forwardRef(({className:e,...n},a)=>l.jsx("ul",{ref:a,"data-sidebar":"menu",className:ce("flex w-full min-w-0 flex-col gap-1",e),...n}));Zp.displayName="SidebarMenu";const Qp=f.forwardRef(({className:e,...n},a)=>l.jsx("li",{ref:a,"data-sidebar":"menu-item",className:ce("group/menu-item relative",e),...n}));Qp.displayName="SidebarMenuItem";const NM=Ds("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),Jp=f.forwardRef(({asChild:e=!1,isActive:n=!1,variant:a="default",size:o="default",tooltip:i,className:c,...d},m)=>{const p=e?Os:"button",{isMobile:h,state:y}=md(),v=l.jsx(p,{ref:m,"data-sidebar":"menu-button","data-size":o,"data-active":n,className:ce(NM({variant:a,size:o}),c),...d});return i?(typeof i=="string"&&(i={children:i}),l.jsxs(pM,{children:[l.jsx(hM,{asChild:!0,children:v}),l.jsx(qw,{side:"right",align:"center",hidden:y!=="collapsed"||h,...i})]})):v});Jp.displayName="SidebarMenuButton";const kM=f.forwardRef(({className:e,asChild:n=!1,showOnHover:a=!1,...o},i)=>{const c=n?Os:"button";return l.jsx(c,{ref:i,"data-sidebar":"menu-action",className:ce("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",a&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",e),...o})});kM.displayName="SidebarMenuAction";const TM=f.forwardRef(({className:e,...n},a)=>l.jsx("div",{ref:a,"data-sidebar":"menu-badge",className:ce("pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e),...n}));TM.displayName="SidebarMenuBadge";const RM=f.forwardRef(({className:e,showIcon:n=!1,...a},o)=>{const i=f.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return l.jsxs("div",{ref:o,"data-sidebar":"menu-skeleton",className:ce("flex h-8 items-center gap-2 rounded-md px-2",e),...a,children:[n&&l.jsx(Ve,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),l.jsx(Ve,{className:"h-4 max-w-[--skeleton-width] flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":i}})]})});RM.displayName="SidebarMenuSkeleton";const AM=f.forwardRef(({className:e,...n},a)=>l.jsx("ul",{ref:a,"data-sidebar":"menu-sub",className:ce("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",e),...n}));AM.displayName="SidebarMenuSub";const MM=f.forwardRef(({...e},n)=>l.jsx("li",{ref:n,...e}));MM.displayName="SidebarMenuSubItem";const _M=f.forwardRef(({asChild:e=!1,size:n="md",isActive:a,className:o,...i},c)=>{const d=e?Os:"a";return l.jsx(d,{ref:c,"data-sidebar":"menu-sub-button","data-size":n,"data-active":a,className:ce("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",n==="sm"&&"text-xs",n==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",o),...i})});_M.displayName="SidebarMenuSubButton";const OM=[],DM=[{label:"Overview",items:[{title:"Dashboard",url:"/",icon:W0,end:!0,permission:"overview"},{title:"Console",url:"/logs",icon:F0,permission:"logs"}]},{label:"Access & Logs",items:[{title:"Users",url:"/users",icon:Pp,permission:"users.view"},{title:"Tickets",url:"/tickets",icon:Qi,permission:"transcripts"},{title:"Transcripts",url:"/transcripts",icon:Zi,permission:"transcripts"}]},{label:"Configuration",items:[{title:"Bot Settings",url:"/configs?file=supportbot",icon:Dh},{title:"Ticket Panel",url:"/configs?file=ticket-panel",icon:Qi},{title:"AI Assistant",url:"/configs?file=supportbot-ai",icon:Mh},{title:"Messages",url:"/configs?file=messages",icon:zh},{title:"Staff Roles",url:"/configs?file=supportbot&tab=Roles",icon:Pp},{title:"Commands",url:"/configs?file=commands",icon:xa}]},{label:"System",items:[{title:"Addons",url:"/addons",icon:Ph,permission:"settings.view"},{title:"Addon Builder",url:"/addons/builder",icon:xa,permission:"settings.update"},{title:"Dashboard Settings",url:"/settings",icon:no,permission:"settings.view"}]}];function z1(e){return new URL(e,"http://x").searchParams.get("file")}function LM(){const{branding:e}=Fu(),{permissions:n}=Lt(),{stats:a}=Yu(),{files:o}=t2(),[i]=$u(),c=i.get("file"),d=vu(n,"supportbot")&&o.length>0?{label:"Addons",items:o.map(v=>({title:n2(v),url:`/configs?file=${Gi(v)}`,icon:Ph,end:!1}))}:null,m=OM.filter(v=>!v.permission||Pn(n,v.permission)),p=DM.map(v=>({...v,items:v.items.filter(x=>{if(x.permission)return Pn(n,x.permission);const S=z1(x.url);return S&&x.url.includes("/configs")?vu(n,S):!0})})).filter(v=>v.items.length>0),h=d?[...p,d]:p,y=a?`${a.servers} server${a.servers===1?"":"s"}`:"Your server";return l.jsxs(Zw,{collapsible:"icon",className:"border-r border-sidebar-border",children:[l.jsxs(tC,{className:"gap-3 p-4",children:[l.jsxs("div",{className:"flex items-center gap-2 px-1",children:[e.hasFavicon&&e.faviconUrl?l.jsx("img",{src:`${e.faviconUrl}${e.updatedAt?`?v=${e.updatedAt}`:""}`,alt:"",className:"size-7 shrink-0 rounded-md object-contain"}):null,l.jsx("span",{className:"truncate text-lg font-bold tracking-tight",children:e.title})]}),l.jsxs(og,{children:[l.jsx(sg,{asChild:!0,children:l.jsxs(ve,{variant:"outline",className:"h-10 w-full justify-between border-border bg-secondary/40 px-3 font-normal hover:bg-secondary/60",children:[l.jsxs("span",{className:"flex items-center gap-2 truncate",children:[l.jsx(ye,{icon:gu,size:16,className:"text-muted-foreground"}),l.jsx("span",{className:"truncate",children:y})]}),l.jsx(ye,{icon:V0,size:16,className:"text-muted-foreground"})]})}),l.jsxs(id,{className:"w-[--radix-dropdown-menu-trigger-width]",children:[l.jsx(rl,{disabled:!0,children:"Connected via API"}),a?l.jsxs(rl,{disabled:!0,children:[a.users.toLocaleString()," members tracked"]}):null]})]})]}),l.jsxs(nC,{className:"px-2",children:[l.jsx(Kp,{children:l.jsx(Xp,{children:l.jsx(Zp,{children:m.map(v=>l.jsx(Qp,{children:l.jsx(Jp,{asChild:!0,tooltip:v.title,children:l.jsxs(zp,{to:v.url,end:v.end,className:({isActive:x})=>ce(x&&"bg-sidebar-accent font-medium"),children:[l.jsx(ye,{icon:v.icon,size:18}),l.jsx("span",{children:v.title})]})})},v.title))})})}),h.map(v=>l.jsxs(Kp,{children:[l.jsx(rC,{className:"text-[10px] font-semibold uppercase tracking-widest text-muted-foreground/80",children:v.label}),l.jsx(Xp,{children:l.jsx(Zp,{children:v.items.map(x=>{const S=z1(x.url),j=!!S&&c===S&&x.url.includes("/configs");return l.jsx(Qp,{children:l.jsx(Jp,{asChild:!0,tooltip:x.title,children:l.jsxs(zp,{to:x.url,end:x.end,className:({isActive:C})=>ce((C||j)&&"bg-sidebar-accent font-medium"),children:[l.jsx(ye,{icon:x.icon,size:18}),l.jsx("span",{children:x.title})]})})},`${v.label}-${x.title}`)})})})]},v.label))]}),l.jsx(Jw,{})]})}var P1=1,zM=.9,PM=.8,IM=.17,gp=.1,vp=.999,$M=.9999,BM=.99,UM=/[\\\/_+.#"@\[\(\{&]/,HM=/[\\\/_+.#"@\[\(\{&]/g,VM=/[\s-]/,aC=/[\s-]/g;function eh(e,n,a,o,i,c,d){if(c===n.length)return i===e.length?P1:BM;var m=`${i},${c}`;if(d[m]!==void 0)return d[m];for(var p=o.charAt(c),h=a.indexOf(p,i),y=0,v,x,S,j;h>=0;)v=eh(e,n,a,o,h+1,c+1,d),v>y&&(h===i?v*=P1:UM.test(e.charAt(h-1))?(v*=PM,S=e.slice(i,h-1).match(HM),S&&i>0&&(v*=Math.pow(vp,S.length))):VM.test(e.charAt(h-1))?(v*=zM,j=e.slice(i,h-1).match(aC),j&&i>0&&(v*=Math.pow(vp,j.length))):(v*=IM,i>0&&(v*=Math.pow(vp,h-i))),e.charAt(h)!==n.charAt(c)&&(v*=$M)),(vv&&(v=x*gp)),v>y&&(y=v),h=a.indexOf(p,h+1);return d[m]=y,y}function I1(e){return e.toLowerCase().replace(aC," ")}function GM(e,n,a){return e=a&&a.length>0?`${e+" "+a.join(" ")}`:e,eh(e,n,I1(e),I1(n),0,0,{})}var $i='[cmdk-group=""]',bp='[cmdk-group-items=""]',FM='[cmdk-group-heading=""]',oC='[cmdk-item=""]',$1=`${oC}:not([aria-disabled="true"])`,th="cmdk-item-select",us="data-value",YM=(e,n,a)=>GM(e,n,a),sC=f.createContext(void 0),jl=()=>f.useContext(sC),iC=f.createContext(void 0),hg=()=>f.useContext(iC),lC=f.createContext(void 0),cC=f.forwardRef((e,n)=>{let a=ds(()=>{var _,U;return{search:"",value:(U=(_=e.value)!=null?_:e.defaultValue)!=null?U:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),o=ds(()=>new Set),i=ds(()=>new Map),c=ds(()=>new Map),d=ds(()=>new Set),m=uC(e),{label:p,children:h,value:y,onValueChange:v,filter:x,shouldFilter:S,loop:j,disablePointerSelection:C=!1,vimBindings:N=!0,...E}=e,k=Dt(),T=Dt(),R=Dt(),D=f.useRef(null),P=r_();oo(()=>{if(y!==void 0){let _=y.trim();a.current.value=_,z.emit()}},[y]),oo(()=>{P(6,de)},[]);let z=f.useMemo(()=>({subscribe:_=>(d.current.add(_),()=>d.current.delete(_)),snapshot:()=>a.current,setState:(_,U,V)=>{var F,ae,ne,me;if(!Object.is(a.current[_],U)){if(a.current[_]=U,_==="search")fe(),Y(),P(1,Q);else if(_==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let pe=document.getElementById(R);pe?pe.focus():(F=document.getElementById(k))==null||F.focus()}if(P(7,()=>{var pe;a.current.selectedItemId=(pe=he())==null?void 0:pe.id,z.emit()}),V||P(5,de),((ae=m.current)==null?void 0:ae.value)!==void 0){let pe=U??"";(me=(ne=m.current).onValueChange)==null||me.call(ne,pe);return}}z.emit()}},emit:()=>{d.current.forEach(_=>_())}}),[]),B=f.useMemo(()=>({value:(_,U,V)=>{var F;U!==((F=c.current.get(_))==null?void 0:F.value)&&(c.current.set(_,{value:U,keywords:V}),a.current.filtered.items.set(_,H(U,V)),P(2,()=>{Y(),z.emit()}))},item:(_,U)=>(o.current.add(_),U&&(i.current.has(U)?i.current.get(U).add(_):i.current.set(U,new Set([_]))),P(3,()=>{fe(),Y(),a.current.value||Q(),z.emit()}),()=>{c.current.delete(_),o.current.delete(_),a.current.filtered.items.delete(_);let V=he();P(4,()=>{fe(),(V==null?void 0:V.getAttribute("id"))===_&&Q(),z.emit()})}),group:_=>(i.current.has(_)||i.current.set(_,new Set),()=>{c.current.delete(_),i.current.delete(_)}),filter:()=>m.current.shouldFilter,label:p||e["aria-label"],getDisablePointerSelection:()=>m.current.disablePointerSelection,listId:k,inputId:R,labelId:T,listInnerRef:D}),[]);function H(_,U){var V,F;let ae=(F=(V=m.current)==null?void 0:V.filter)!=null?F:YM;return _?ae(_,a.current.search,U):0}function Y(){if(!a.current.search||m.current.shouldFilter===!1)return;let _=a.current.filtered.items,U=[];a.current.filtered.groups.forEach(F=>{let ae=i.current.get(F),ne=0;ae.forEach(me=>{let pe=_.get(me);ne=Math.max(pe,ne)}),U.push([F,ne])});let V=D.current;se().sort((F,ae)=>{var ne,me;let pe=F.getAttribute("id"),W=ae.getAttribute("id");return((ne=_.get(W))!=null?ne:0)-((me=_.get(pe))!=null?me:0)}).forEach(F=>{let ae=F.closest(bp);ae?ae.appendChild(F.parentElement===ae?F:F.closest(`${bp} > *`)):V.appendChild(F.parentElement===V?F:F.closest(`${bp} > *`))}),U.sort((F,ae)=>ae[1]-F[1]).forEach(F=>{var ae;let ne=(ae=D.current)==null?void 0:ae.querySelector(`${$i}[${us}="${encodeURIComponent(F[0])}"]`);ne==null||ne.parentElement.appendChild(ne)})}function Q(){let _=se().find(V=>V.getAttribute("aria-disabled")!=="true"),U=_==null?void 0:_.getAttribute(us);z.setState("value",U||void 0)}function fe(){var _,U,V,F;if(!a.current.search||m.current.shouldFilter===!1){a.current.filtered.count=o.current.size;return}a.current.filtered.groups=new Set;let ae=0;for(let ne of o.current){let me=(U=(_=c.current.get(ne))==null?void 0:_.value)!=null?U:"",pe=(F=(V=c.current.get(ne))==null?void 0:V.keywords)!=null?F:[],W=H(me,pe);a.current.filtered.items.set(ne,W),W>0&&ae++}for(let[ne,me]of i.current)for(let pe of me)if(a.current.filtered.items.get(pe)>0){a.current.filtered.groups.add(ne);break}a.current.filtered.count=ae}function de(){var _,U,V;let F=he();F&&(((_=F.parentElement)==null?void 0:_.firstChild)===F&&((V=(U=F.closest($i))==null?void 0:U.querySelector(FM))==null||V.scrollIntoView({block:"nearest"})),F.scrollIntoView({block:"nearest"}))}function he(){var _;return(_=D.current)==null?void 0:_.querySelector(`${oC}[aria-selected="true"]`)}function se(){var _;return Array.from(((_=D.current)==null?void 0:_.querySelectorAll($1))||[])}function O(_){let U=se()[_];U&&z.setState("value",U.getAttribute(us))}function $(_){var U;let V=he(),F=se(),ae=F.findIndex(me=>me===V),ne=F[ae+_];(U=m.current)!=null&&U.loop&&(ne=ae+_<0?F[F.length-1]:ae+_===F.length?F[0]:F[ae+_]),ne&&z.setState("value",ne.getAttribute(us))}function Z(_){let U=he(),V=U==null?void 0:U.closest($i),F;for(;V&&!F;)V=_>0?t_(V,$i):n_(V,$i),F=V==null?void 0:V.querySelector($1);F?z.setState("value",F.getAttribute(us)):$(_)}let J=()=>O(se().length-1),te=_=>{_.preventDefault(),_.metaKey?J():_.altKey?Z(1):$(1)},M=_=>{_.preventDefault(),_.metaKey?O(0):_.altKey?Z(-1):$(-1)};return f.createElement(En.div,{ref:n,tabIndex:-1,...E,"cmdk-root":"",onKeyDown:_=>{var U;(U=E.onKeyDown)==null||U.call(E,_);let V=_.nativeEvent.isComposing||_.keyCode===229;if(!(_.defaultPrevented||V))switch(_.key){case"n":case"j":{N&&_.ctrlKey&&te(_);break}case"ArrowDown":{te(_);break}case"p":case"k":{N&&_.ctrlKey&&M(_);break}case"ArrowUp":{M(_);break}case"Home":{_.preventDefault(),O(0);break}case"End":{_.preventDefault(),J();break}case"Enter":{_.preventDefault();let F=he();if(F){let ae=new Event(th);F.dispatchEvent(ae)}}}}},f.createElement("label",{"cmdk-label":"",htmlFor:B.inputId,id:B.labelId,style:o_},p),pd(e,_=>f.createElement(iC.Provider,{value:z},f.createElement(sC.Provider,{value:B},_))))}),WM=f.forwardRef((e,n)=>{var a,o;let i=Dt(),c=f.useRef(null),d=f.useContext(lC),m=jl(),p=uC(e),h=(o=(a=p.current)==null?void 0:a.forceMount)!=null?o:d==null?void 0:d.forceMount;oo(()=>{if(!h)return m.item(i,d==null?void 0:d.id)},[h]);let y=dC(i,c,[e.value,e.children,c],e.keywords),v=hg(),x=Ca(P=>P.value&&P.value===y.current),S=Ca(P=>h||m.filter()===!1?!0:P.search?P.filtered.items.get(i)>0:!0);f.useEffect(()=>{let P=c.current;if(!(!P||e.disabled))return P.addEventListener(th,j),()=>P.removeEventListener(th,j)},[S,e.onSelect,e.disabled]);function j(){var P,z;C(),(z=(P=p.current).onSelect)==null||z.call(P,y.current)}function C(){v.setState("value",y.current,!0)}if(!S)return null;let{disabled:N,value:E,onSelect:k,forceMount:T,keywords:R,...D}=e;return f.createElement(En.div,{ref:st(c,n),...D,id:i,"cmdk-item":"",role:"option","aria-disabled":!!N,"aria-selected":!!x,"data-disabled":!!N,"data-selected":!!x,onPointerMove:N||m.getDisablePointerSelection()?void 0:C,onClick:N?void 0:j},e.children)}),qM=f.forwardRef((e,n)=>{let{heading:a,children:o,forceMount:i,...c}=e,d=Dt(),m=f.useRef(null),p=f.useRef(null),h=Dt(),y=jl(),v=Ca(S=>i||y.filter()===!1?!0:S.search?S.filtered.groups.has(d):!0);oo(()=>y.group(d),[]),dC(d,m,[e.value,e.heading,p]);let x=f.useMemo(()=>({id:d,forceMount:i}),[i]);return f.createElement(En.div,{ref:st(m,n),...c,"cmdk-group":"",role:"presentation",hidden:v?void 0:!0},a&&f.createElement("div",{ref:p,"cmdk-group-heading":"","aria-hidden":!0,id:h},a),pd(e,S=>f.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":a?h:void 0},f.createElement(lC.Provider,{value:x},S))))}),KM=f.forwardRef((e,n)=>{let{alwaysRender:a,...o}=e,i=f.useRef(null),c=Ca(d=>!d.search);return!a&&!c?null:f.createElement(En.div,{ref:st(i,n),...o,"cmdk-separator":"",role:"separator"})}),XM=f.forwardRef((e,n)=>{let{onValueChange:a,...o}=e,i=e.value!=null,c=hg(),d=Ca(h=>h.search),m=Ca(h=>h.selectedItemId),p=jl();return f.useEffect(()=>{e.value!=null&&c.setState("search",e.value)},[e.value]),f.createElement(En.input,{ref:n,...o,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":p.listId,"aria-labelledby":p.labelId,"aria-activedescendant":m,id:p.inputId,type:"text",value:i?e.value:d,onChange:h=>{i||c.setState("search",h.target.value),a==null||a(h.target.value)}})}),ZM=f.forwardRef((e,n)=>{let{children:a,label:o="Suggestions",...i}=e,c=f.useRef(null),d=f.useRef(null),m=Ca(h=>h.selectedItemId),p=jl();return f.useEffect(()=>{if(d.current&&c.current){let h=d.current,y=c.current,v,x=new ResizeObserver(()=>{v=requestAnimationFrame(()=>{let S=h.offsetHeight;y.style.setProperty("--cmdk-list-height",S.toFixed(1)+"px")})});return x.observe(h),()=>{cancelAnimationFrame(v),x.unobserve(h)}}},[]),f.createElement(En.div,{ref:st(c,n),...i,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":m,"aria-label":o,id:p.listId},pd(e,h=>f.createElement("div",{ref:st(d,p.listInnerRef),"cmdk-list-sizer":""},h)))}),QM=f.forwardRef((e,n)=>{let{open:a,onOpenChange:o,overlayClassName:i,contentClassName:c,container:d,...m}=e;return f.createElement(dg,{open:a,onOpenChange:o},f.createElement(fg,{container:d},f.createElement(Sl,{"cmdk-overlay":"",className:i}),f.createElement(wl,{"aria-label":e.label,"cmdk-dialog":"",className:c},f.createElement(cC,{ref:n,...m}))))}),JM=f.forwardRef((e,n)=>Ca(a=>a.filtered.count===0)?f.createElement(En.div,{ref:n,...e,"cmdk-empty":"",role:"presentation"}):null),e_=f.forwardRef((e,n)=>{let{progress:a,children:o,label:i="Loading...",...c}=e;return f.createElement(En.div,{ref:n,...c,"cmdk-loading":"",role:"progressbar","aria-valuenow":a,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},pd(e,d=>f.createElement("div",{"aria-hidden":!0},d)))}),fn=Object.assign(cC,{List:ZM,Item:WM,Input:XM,Group:qM,Separator:KM,Dialog:QM,Empty:JM,Loading:e_});function t_(e,n){let a=e.nextElementSibling;for(;a;){if(a.matches(n))return a;a=a.nextElementSibling}}function n_(e,n){let a=e.previousElementSibling;for(;a;){if(a.matches(n))return a;a=a.previousElementSibling}}function uC(e){let n=f.useRef(e);return oo(()=>{n.current=e}),n}var oo=typeof window>"u"?f.useEffect:f.useLayoutEffect;function ds(e){let n=f.useRef();return n.current===void 0&&(n.current=e()),n}function Ca(e){let n=hg(),a=()=>e(n.snapshot());return f.useSyncExternalStore(n.subscribe,a,a)}function dC(e,n,a,o=[]){let i=f.useRef(),c=jl();return oo(()=>{var d;let m=(()=>{var h;for(let y of a){if(typeof y=="string")return y.trim();if(typeof y=="object"&&"current"in y)return y.current?(h=y.current.textContent)==null?void 0:h.trim():i.current}})(),p=o.map(h=>h.trim());c.value(e,m,p),(d=n.current)==null||d.setAttribute(us,m),i.current=m}),i}var r_=()=>{let[e,n]=f.useState(),a=ds(()=>new Map);return oo(()=>{a.current.forEach(o=>o()),a.current=new Map},[e]),(o,i)=>{a.current.set(o,i),n({})}};function a_(e){let n=e.type;return typeof n=="function"?n(e.props):"render"in n?n.render(e.props):e}function pd({asChild:e,children:n},a){return e&&f.isValidElement(n)?f.cloneElement(a_(n),{ref:n.ref},a(n.props.children)):a(n)}var o_={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const gg=dg,s_=j7,i_=fg,fC=f.forwardRef(({className:e,...n},a)=>l.jsx(Sl,{ref:a,className:ce("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...n}));fC.displayName=Sl.displayName;const hd=f.forwardRef(({className:e,children:n,...a},o)=>l.jsxs(i_,{children:[l.jsx(fC,{}),l.jsxs(wl,{ref:o,className:ce("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...a,children:[n,l.jsxs(Rw,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[l.jsx(lw,{className:"h-4 w-4"}),l.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));hd.displayName=wl.displayName;const gd=({className:e,...n})=>l.jsx("div",{className:ce("flex flex-col space-y-1.5 text-center sm:text-left",e),...n});gd.displayName="DialogHeader";const vg=({className:e,...n})=>l.jsx("div",{className:ce("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...n});vg.displayName="DialogFooter";const vd=f.forwardRef(({className:e,...n},a)=>l.jsx(cd,{ref:a,className:ce("text-lg font-semibold leading-none tracking-tight",e),...n}));vd.displayName=cd.displayName;const bd=f.forwardRef(({className:e,...n},a)=>l.jsx(ud,{ref:a,className:ce("text-sm text-muted-foreground",e),...n}));bd.displayName=ud.displayName;const mC=f.forwardRef(({className:e,...n},a)=>l.jsx(fn,{ref:a,className:ce("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...n}));mC.displayName=fn.displayName;const l_=f.forwardRef(({className:e,...n},a)=>l.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[l.jsx(KA,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),l.jsx(fn.Input,{ref:a,className:ce("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...n})]}));l_.displayName=fn.Input.displayName;const pC=f.forwardRef(({className:e,...n},a)=>l.jsx(fn.List,{ref:a,className:ce("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...n}));pC.displayName=fn.List.displayName;const hC=f.forwardRef((e,n)=>l.jsx(fn.Empty,{ref:n,className:"py-6 text-center text-sm",...e}));hC.displayName=fn.Empty.displayName;const gC=f.forwardRef(({className:e,...n},a)=>l.jsx(fn.Group,{ref:a,className:ce("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...n}));gC.displayName=fn.Group.displayName;const c_=f.forwardRef(({className:e,...n},a)=>l.jsx(fn.Separator,{ref:a,className:ce("-mx-1 h-px bg-border",e),...n}));c_.displayName=fn.Separator.displayName;const vC=f.forwardRef(({className:e,...n},a)=>l.jsx(fn.Item,{ref:a,className:ce("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...n}));vC.displayName=fn.Item.displayName;const u_=[{title:"Info command",fields:[{path:"Info.Title",label:"Title",type:"text"},{path:"Info.Description",label:"Description",type:"textarea"},{path:"Info.Button",label:"Button label",type:"text"},{path:"Info.URL",label:"Button URL",type:"text"},{path:"Info.Colour",label:"Colour",type:"color"}]},{title:"Welcome message",fields:[{path:"Welcome.Enabled",label:"Enabled",type:"boolean"},{path:"Welcome.LayoutStyle",label:"Layout style",type:"select",options:[{value:"modern",label:"Modern (components)"},{value:"classic",label:"Classic embed"}]},{path:"Welcome.Embed.Colour",label:"Embed colour",type:"color"},{path:"Welcome.Embed.Title",label:"Embed title",type:"text"},{path:"Welcome.Embed.Message",label:"Embed message",type:"textarea"}]},{title:"Leave message",fields:[{path:"Leave.Enabled",label:"Enabled",type:"boolean"},{path:"Leave.Embed.Colour",label:"Embed colour",type:"color"},{path:"Leave.Embed.Title",label:"Embed title",type:"text"},{path:"Leave.Embed.Message",label:"Embed message",type:"textarea"}]}],d_=[{value:"Playing",label:"Playing"},{value:"Watching",label:"Watching"},{value:"Listening",label:"Listening"},{value:"Competing",label:"Competing"},{value:"Streaming",label:"Streaming"}],f_=[{value:"Channel",label:"Channel"},{value:"Forum",label:"Forum"}],m_=[{value:"channels",label:"Channels"},{value:"threads",label:"Threads"}],p_=[{value:"description",label:"Channel description"},{value:"embed",label:"Embed"}],cs=[{value:"1",label:"Blurple"},{value:"2",label:"Grey"},{value:"3",label:"Green"},{value:"4",label:"Red"}],h_=[{title:"General",fields:[{path:"General.Name",label:"Bot name",type:"text"},{path:"General.Token",label:"Bot token",type:"secret",description:"Masked in the dashboard. Your real token is preserved on save."},{path:"General.GuildId",label:"Server (guild) ID",type:"discordId",description:"Right-click your Discord server icon → Copy Server ID. The bot should only stay in this server.",placeholder:"Discord server snowflake ID"},{path:"General.Addons.Enabled",label:"Addons enabled",type:"boolean"}]},{title:"Activity",fields:[{path:"Activity.Status",label:"Status text",type:"text"},{path:"Activity.Type",label:"Activity type",type:"select",options:d_},{path:"Activity.StreamingURL",label:"Streaming URL",type:"text",description:"Required when type is Streaming."}]},{title:"Embeds",fields:[{path:"Embed.Colours.General",label:"General colour",type:"color"},{path:"Embed.Colours.Success",label:"Success colour",type:"color"},{path:"Embed.Colours.Error",label:"Error colour",type:"color"},{path:"Embed.Colours.Warn",label:"Warn colour",type:"color"},{path:"Embed.Footer",label:"Footer text",type:"text"}]},{title:"Roles",fields:[{path:"Roles.AutoRole.Enabled",label:"Auto role enabled",type:"boolean"},{path:"Roles.AutoRole.Role",label:"Auto role",type:"discordRole"},{path:"Roles.StaffMember.Staff",label:"Staff role",type:"discordRole"},{path:"Roles.StaffMember.Admin",label:"Admin role",type:"discordRole"},{path:"Roles.StaffMember.Moderator",label:"Moderator role",type:"discordRole"},{path:"Roles.Mod.AllowSupportStaff",label:"Allow support staff /mod",type:"boolean"}]},{title:"Welcome & leave",fields:[{path:"Welcome.Enabled",label:"Welcome enabled",type:"boolean"},{path:"Welcome.Channel",label:"Welcome channel",type:"discordChannel"},{path:"Leave.Enabled",label:"Leave enabled",type:"boolean"},{path:"Leave.Channel",label:"Leave channel",type:"discordChannel"}]},{title:"Suggestions",fields:[{path:"Suggestions.Mode",label:"Mode",type:"select",options:f_},{path:"Suggestions.Channel",label:"Suggestions channel",type:"discordChannel"},{path:"Suggestions.ForumChannel",label:"Forum channel",type:"discordChannel"},{path:"Suggestions.UpvoteEmoji",label:"Upvote emoji",type:"emoji"},{path:"Suggestions.DownvoteEmoji",label:"Downvote emoji",type:"emoji"},{path:"Suggestions.OwnSuggestion",label:"Own suggestion votes",type:"boolean"},{path:"Suggestions.ShowUsers",label:"Show users",type:"boolean"},{path:"Suggestions.UpvoteTitle",label:"Upvote button title",type:"text"},{path:"Suggestions.DownvoteTitle",label:"Downvote button title",type:"text"},{path:"Suggestions.Threads.Enabled",label:"Suggestion threads",type:"boolean"},{path:"Suggestions.Threads.Title",label:"Thread title",type:"text"},{path:"Suggestions.Threads.Reason",label:"Thread reason",type:"text"},{path:"Suggestions.Buttons.Upvote",label:"Upvote button style",type:"select",options:cs},{path:"Suggestions.Buttons.Downvote",label:"Downvote button style",type:"select",options:cs},{path:"Suggestions.Buttons.RemoveVote",label:"Remove vote button style",type:"select",options:cs},{path:"Suggestions.Buttons.RemoveVote_Title",label:"Remove vote title",type:"text"},{path:"Suggestions.Tags.Created",label:"Tag: created",type:"text"},{path:"Suggestions.Tags.Considering",label:"Tag: considering",type:"text"},{path:"Suggestions.Tags.Solved",label:"Tag: solved",type:"text"},{path:"Suggestions.Tags.Denied",label:"Tag: denied",type:"text"}]},{title:"Tickets",fields:[{path:"Ticket.TicketType",label:"Ticket type",type:"select",options:m_},{path:"Ticket.UserManagement.DMOnAdd",label:"DM when added to ticket",type:"boolean"},{path:"Ticket.UserManagement.DMOnRemove",label:"DM when removed from ticket",type:"boolean"},{path:"Ticket.UserManagement.DMTranscript",label:"DM transcript on close",type:"boolean"},{path:"Ticket.TicketHome",label:"Ticket home channel",type:"discordChannel"},{path:"Ticket.TicketChannelsCategory",label:"Ticket category",type:"discordCategory"},{path:"Ticket.TicketChannelsCategory2",label:"Overflow ticket category",type:"discordCategory",description:"Used when the first category is full."},{path:"Ticket.TicketArchiveCategory",label:"Archive category",type:"discordCategory"},{path:"Ticket.Channel",label:"Channel prefix",type:"text"},{path:"Ticket.TicketSubject",label:"Ticket subject display",type:"select",options:p_},{path:"Ticket.Timeout",label:"Close timeout (minutes)",type:"number"},{path:"Ticket.TicketsPerUser",label:"Tickets per user",type:"number"},{path:"Ticket.TicketReason",label:"Require reason",type:"boolean"},{path:"Ticket.Close.StaffOnly",label:"Close staff only",type:"boolean"},{path:"Ticket.Invites.StaffOnly",label:"Ticket invites staff only",type:"boolean"},{path:"Ticket.ClaimTickets.Enabled",label:"Claim tickets",type:"boolean"},{path:"Ticket.ClaimTickets.Channel",label:"Claim log channel",type:"discordChannel"},{path:"Ticket.ClaimTickets.ClaimAcceptTime",label:"Claim accept time (ms)",type:"number"},{path:"Ticket.ClaimTickets.ButtonTitle",label:"Claim button title",type:"text"},{path:"Ticket.ClaimTickets.ButtonEmoji",label:"Claim button emoji",type:"emoji"},{path:"Ticket.ClaimTickets.Button",label:"Claim button style",type:"select",options:cs},{path:"Ticket.ReviewSystem.Enabled",label:"Review system",type:"boolean"},{path:"Ticket.ReviewSystem.Channel",label:"Review channel",type:"discordChannel"},{path:"Ticket.ReviewSystem.UseModal",label:"Review uses modal",type:"boolean"},{path:"Ticket.Log.TicketDataLog",label:"Ticket data log channel",type:"discordChannel"},{path:"Ticket.Log.TickeDataTitle",label:"Ticket data log title",type:"text"},{path:"Ticket.Log.TicketBlacklistLog",label:"Blacklist log channel",type:"discordChannel"},{path:"Ticket.AIMode.Enabled",label:"AI mode in tickets",type:"boolean"},{path:"Ticket.AIMode.ThreadName",label:"AI thread name",type:"text"},{path:"Ticket.AIMode.WelcomeMessage",label:"AI welcome message",type:"textarea"},{path:"Ticket.DepartmentSystem.Enabled",label:"Departments enabled",type:"boolean"},{path:"Ticket.DepartmentSystem.Placeholder",label:"Department placeholder",type:"text"},{path:"Ticket.DepartmentSystem.DefaultDepartment",label:"Default department key",type:"text"},{path:"Ticket.PrioritySystem.Enabled",label:"Priority system",type:"boolean"},{path:"Ticket.PrioritySystem.DefaultPriority",label:"Default priority",type:"text"},{path:"Ticket.PrioritySystem.AllowUsersToChooseOnOpen",label:"User picks priority on open",type:"boolean"},{path:"Ticket.Questions.Enabled",label:"Ticket questions",type:"boolean"},{path:"Ticket.Questions.List",label:"Default questions",type:"stringList"}]},{title:"Voice tickets",fields:[{path:"VoiceTickets.Name",label:"VC name format",type:"text"},{path:"VoiceTickets.Category",label:"VC category",type:"discordCategory"}]},{title:"Logging",fields:[{path:"MessageDelete.Channel",label:"Message delete log channel",type:"discordChannel"},{path:"MessageDelete.Colour",label:"Message delete embed colour",type:"color"},{path:"MessageUpdate.Channel",label:"Message update log channel",type:"discordChannel"},{path:"MessageUpdate.Colour",label:"Message update embed colour",type:"color"},{path:"Translate.TranslateLog",label:"Translate log channel",type:"discordChannel"}]},{title:"Buttons & menus",description:"Ticket panel and control button labels and styles.",fields:[{path:"Buttons.General.Delete",label:"Delete emoji",type:"emoji"},{path:"Buttons.General.DeleteStyle",label:"Delete button style",type:"select",options:cs},{path:"Buttons.Voice.TicketDeleteText",label:"Voice delete label",type:"text"},{path:"Buttons.Tickets.ClaimEmoji",label:"Ticket claim emoji",type:"emoji"},{path:"Buttons.Tickets.ClaimStyle",label:"Ticket claim style",type:"select",options:cs},{path:"SelectMenus.Tickets.PanelEmoji",label:"Panel menu emoji",type:"emoji"},{path:"SelectMenus.Tickets.CloseEmoji",label:"Close menu emoji",type:"emoji"}]}],g_=[{value:"openai",label:"OpenAI"},{value:"groq",label:"Groq"},{value:"claude",label:"Claude"}],v_=[{value:"text",label:"Plain text"},{value:"embed",label:"Embed"},{value:"components_v2",label:"Components v2"}],b_=[{value:"channel",label:"Per channel"},{value:"guild",label:"Per server"}],y_=[{title:"General",fields:[{path:"Enabled",label:"AI enabled",type:"boolean"},{path:"General.Provider",label:"Provider",type:"select",options:g_},{path:"General.Model",label:"Model",type:"text"},{path:"General.Model_API_Key",label:"API key",type:"secret",placeholder:"MODEL_API_KEY"},{path:"General.Tokens",label:"Max tokens",type:"number"},{path:"General.Temperature",label:"Temperature",type:"number"},{path:"General.Name",label:"Display name",type:"text"},{path:"General.PastebinAPI_Key",label:"Pastebin API key",type:"secret",placeholder:"PASTEBIN_API_KEY"},{path:"General.PastebinAPI_URL",label:"Pastebin API URL",type:"text"}]},{title:"Style & channel",fields:[{path:"Style.MessageType",label:"Message type",type:"select",options:v_},{path:"Features.SuggestTickets",label:"Suggest tickets",type:"boolean"},{path:"Channels.AIChannel",label:"AI channel ID",type:"discordId"},{path:"Embed.Color",label:"Embed colour",type:"color"},{path:"Embed.Footer",label:"Embed footer",type:"text"}]},{title:"Memory",fields:[{path:"Memory.Enabled",label:"Memory enabled",type:"boolean"},{path:"Memory.StoreFacts",label:"Store facts",type:"boolean"},{path:"Memory.StoreSummaries",label:"Store summaries",type:"boolean"},{path:"Memory.MaxRecentMessages",label:"Max recent messages",type:"number"},{path:"Memory.Scope",label:"Memory scope",type:"select",options:b_}]},{title:"Custom instructions",fields:[{path:"CustomInstructions",label:"Instruction lines",type:"stringList",description:"One instruction per line sent to the AI."}]},{title:"Messages",fields:[{path:"Messages.ErrorResponse",label:"Error response",type:"text"},{path:"Messages.AIError",label:"AI error",type:"text"},{path:"Messages.AIDisabled",label:"AI disabled",type:"text"},{path:"Messages.MessageTooLong",label:"Message too long",type:"text"},{path:"Messages.SuggestTicketText",label:"Suggest ticket text",type:"text"},{path:"Messages.SuggestTicketReaction",label:"Suggest ticket emoji",type:"emoji"}]}],x_=[{value:"1",label:"Blurple"},{value:"2",label:"Grey"},{value:"3",label:"Green"},{value:"4",label:"Red"}],S_=[{value:"1",label:"Style 1"},{value:"2",label:"Style 2"},{value:"3",label:"Style 3"},{value:"4",label:"Style 4 (classic embed)"}],w_=[{title:"Panel",fields:[{path:"Panel",label:"Panel enabled",type:"boolean"}]},{title:"Embed style",fields:[{path:"Style.Title",label:"Title",type:"text"},{path:"Style.Description",label:"Description",type:"textarea"},{path:"Style.Image",label:"Image URL",type:"text"},{path:"Style.Color",label:"Embed colour",type:"color"},{path:"Style.Layout",label:"Layout",type:"select",options:S_}]},{title:"Create button",fields:[{path:"Button.Text",label:"Button text",type:"text"},{path:"Button.Emoji",label:"Button emoji",type:"emoji"},{path:"Button.Color",label:"Button style",type:"select",options:x_},{path:"Button.CustomId",label:"Custom ID",type:"text"}]},{title:"Department menu",fields:[{path:"DepartmentMenu.CustomId",label:"Custom ID",type:"text"},{path:"DepartmentMenu.Placeholder",label:"Placeholder",type:"text"},{path:"DepartmentMenu.DefaultDescription",label:"Default description",type:"text"},{path:"DepartmentMenu.DefaultEmoji",label:"Default emoji",type:"emoji"}]},{title:"Panel settings",fields:[{path:"Settings.Image",label:"Show image",type:"boolean"},{path:"Settings.TopTitle",label:"Top title",type:"boolean"},{path:"Settings.TopDivider",label:"Top divider",type:"boolean"},{path:"Settings.BottomTitle",label:"Bottom title",type:"boolean"},{path:"Settings.BottomDivider",label:"Bottom divider",type:"boolean"}]},{title:"Messages",description:"Bot messages when using the ticket panel command.",fields:[{path:"Messages.NotConfigured",label:"Not configured",type:"textarea"},{path:"Messages.InvalidChannel",label:"Invalid channel",type:"textarea"},{path:"Messages.PanelSent",label:"Panel sent",type:"text"},{path:"Messages.PanelSentWithDepartments",label:"Panel sent (departments)",type:"text"},{path:"Messages.SendError",label:"Send error",type:"text"}]}],nh={supportbot:h_,"ticket-panel":w_,commands:"commands",messages:u_,"supportbot-ai":y_};function C_(e){return e in nh?nh[e]:null}const fs=[{id:"tickets",title:"Ticket panel",description:"Create and manage support tickets with departments, priorities, and AI assistance.",icon:Qi,href:"/configs?file=ticket-panel",category:"tickets"},{id:"supportbot",title:"Core bot settings",description:"General bot options, activity status, embed colours, roles, and welcome messages.",icon:no,href:"/configs?file=supportbot",category:"server"},{id:"transcripts",title:"Ticket transcripts",description:"Browse and preview HTML transcripts saved when tickets are closed.",icon:Zi,href:"/transcripts",category:"tickets"},{id:"suggestions",title:"Suggestions",description:"Configure suggestion channels, voting emojis, and forum thread behaviour.",icon:zh,href:"/configs?file=messages",category:"community"},{id:"ai",title:"AI assistant",description:"SupportBot AI mode settings for in-ticket conversational help.",icon:Mh,href:"/configs?file=supportbot-ai",category:"community"},{id:"commands",title:"Commands",description:"Enable or disable slash commands and customise command permissions.",icon:xa,href:"/configs?file=commands",category:"server"}],j_=[{id:"all",label:"All modules"},{id:"tickets",label:"Tickets"},{id:"community",label:"Community"},{id:"server",label:"Server"}],E_={supportbot:"Bot config","ticket-panel":"Ticket panel",commands:"Commands",messages:"Messages","supportbot-ai":"AI assistant"},N_=[{key:"Help",label:"Help",description:"List all slash commands"},{key:"Info",label:"Info",description:"Server information"},{key:"TicketPanel",label:"Ticket panel",description:"Create ticket panel"},{key:"OpenTicket",label:"Open ticket",description:"Open a support ticket"},{key:"CloseTicket",label:"Close ticket",description:"Close a ticket"},{key:"TicketManage",label:"Manage ticket",description:"Manage an existing ticket"},{key:"Suggestion",label:"Suggestion",description:"Submit a suggestion"},{key:"Embed",label:"Embed",description:"Send an embed message"},{key:"Translate",label:"Translate",description:"Translate text"},{key:"Ping",label:"Ping",description:"Check bot latency"},{key:"AI",label:"AI",description:"AI assistant command"},{key:"Settings",label:"Settings command",description:"Bot settings via Discord"},{key:"Mod",label:"Moderation",description:"Moderation tools"}];function k_(e,n,a){const o=E_[e];for(const i of n)for(const c of i.fields)a.push({id:`setting:${e}:${c.path}`,title:c.label,subtitle:`${o} · ${i.title}`,href:`/configs?file=${e}`,category:"setting",icon:T_(e),keywords:[c.path,c.label,i.title,o,e,c.description??"",c.type].map(d=>d.toLowerCase())})}function T_(e){switch(e){case"supportbot":return no;case"ticket-panel":return Qi;case"messages":return zh;case"supportbot-ai":return Mh;case"commands":return xa;default:return no}}function R_(){const e=[{id:"page:dashboard",title:"Dashboard",subtitle:"Overview and module status",href:"/",category:"page",icon:W0,keywords:["home","overview","stats"]},{id:"page:logs",title:"Logs",subtitle:"Live bot console output",href:"/logs",category:"page",icon:F0,keywords:["console","output","errors","warn"]},{id:"page:settings",title:"Settings",subtitle:"Updates and maintenance",href:"/settings",category:"page",icon:no,keywords:["update","version","software"]},{id:"page:transcripts",title:"Transcripts",subtitle:"Closed ticket transcripts",href:"/transcripts",category:"page",icon:Zi,keywords:["tickets","archive","html"]}];for(const n of fs)e.push({id:`module:${n.id}`,title:n.title,subtitle:n.description,href:n.href,category:"module",icon:n.icon,keywords:[n.id,n.title,n.description,n.category].map(a=>a.toLowerCase())});for(const[n,a]of Object.entries(nh))a!=="commands"&&k_(n,a,e);for(const n of N_)e.push({id:`command:${n.key}`,title:n.label,subtitle:`Command · ${n.description}`,href:"/configs?file=commands",category:"command",icon:xa,keywords:[n.key,n.label,n.description,"slash","commands"].map(a=>a.toLowerCase())});return e.push({id:"setting:commands:all",title:"Slash commands",subtitle:"Commands · Enable and configure all commands",href:"/configs?file=commands",category:"setting",icon:xa,keywords:["commands","slash","enable","permissions"]}),e}const A_=R_(),M_={page:"Pages",module:"Modules",setting:"Settings",command:"Commands"};function __(e,n=12){const a=e.trim().toLowerCase();return a?A_.map(i=>{let c=0;const d=i.title.toLowerCase(),m=(i.subtitle??"").toLowerCase();d===a?c+=100:d.startsWith(a)?c+=40:d.includes(a)&&(c+=20),m.includes(a)&&(c+=10);for(const p of i.keywords)p===a?c+=15:p.startsWith(a)?c+=8:p.includes(a)&&(c+=4);return{item:i,score:c}}).filter(i=>i.score>0).sort((i,c)=>c.score-i.score).slice(0,n).map(i=>i.item):[]}function O_(e){const n=[],a=["page","module","setting","command"];for(const o of a){const i=e.filter(c=>c.category===o);i.length&&n.push({category:o,label:M_[o],items:i})}return n}function D_({className:e}){const n=mo(),[a,o]=f.useState(""),[i,c]=f.useState(!1),d=f.useRef(null),m=f.useRef(null),p=f.useRef(null),[h,y]=f.useState(null),v=f.useMemo(()=>__(a,14),[a]),x=f.useMemo(()=>O_(v),[v]),S=i&&a.trim().length>0,j=()=>{const N=p.current;if(!N)return;const E=N.getBoundingClientRect();y({top:E.bottom+6,left:E.left,width:E.width})};f.useLayoutEffect(()=>{if(!S){y(null);return}return j(),window.addEventListener("resize",j),window.addEventListener("scroll",j,!0),()=>{window.removeEventListener("resize",j),window.removeEventListener("scroll",j,!0)}},[S,a]),f.useEffect(()=>{function N(E){var T,R;const k=E.target;(T=d.current)!=null&&T.contains(k)||(R=m.current)!=null&&R.contains(k)||c(!1)}return document.addEventListener("mousedown",N),()=>document.removeEventListener("mousedown",N)},[]),f.useEffect(()=>{function N(E){var k;E.key==="k"&&(E.metaKey||E.ctrlKey)&&(E.preventDefault(),(k=p.current)==null||k.focus(),c(!0))}return document.addEventListener("keydown",N),()=>document.removeEventListener("keydown",N)},[]);function C(N){var E;n(N.href),o(""),c(!1),(E=p.current)==null||E.blur()}return l.jsxs("div",{ref:d,className:ce("relative w-full max-w-sm",e),children:[l.jsx(ye,{icon:Gu,size:16,className:"pointer-events-none absolute left-3 top-1/2 z-10 -translate-y-1/2 text-muted-foreground"}),l.jsx(Ue,{ref:p,value:a,onChange:N=>{o(N.target.value),c(!0)},onFocus:()=>c(!0),onKeyDown:N=>{var E;N.key==="Escape"&&(c(!1),o(""),(E=p.current)==null||E.blur())},placeholder:"Search modules, configs…",className:"h-9 border-border bg-secondary/50 pl-9",role:"combobox","aria-expanded":S,"aria-controls":"dashboard-search-results","aria-autocomplete":"list"}),l.jsxs("kbd",{className:"pointer-events-none absolute right-2 top-2 hidden h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground opacity-100 sm:flex",children:[l.jsx("span",{className:"text-xs",children:"⌘"}),"K"]}),S&&h?po.createPortal(l.jsx("div",{ref:m,id:"dashboard-search-results",className:"overflow-hidden rounded-xl border border-border bg-popover shadow-lg shadow-black/20",style:{position:"fixed",top:h.top,left:h.left,width:h.width,zIndex:9999},role:"listbox",children:l.jsx(mC,{shouldFilter:!1,className:"bg-transparent",children:l.jsx(pC,{className:"max-h-[min(360px,50vh)]",children:v.length===0?l.jsxs(hC,{className:"py-8 text-muted-foreground",children:["No results for “",a.trim(),"”"]}):x.map(N=>l.jsx(gC,{heading:N.label,children:N.items.map(E=>l.jsxs(vC,{value:E.id,onSelect:()=>C(E),className:"cursor-pointer gap-3 rounded-lg py-2.5 aria-selected:bg-accent",children:[E.icon?l.jsx("span",{className:"flex size-8 shrink-0 items-center justify-center rounded-lg bg-primary/15 text-primary",children:l.jsx(ye,{icon:E.icon,size:16})}):null,l.jsxs("span",{className:"min-w-0 flex-1",children:[l.jsx("span",{className:"block truncate font-medium",children:E.title}),E.subtitle?l.jsx("span",{className:"block truncate text-xs text-muted-foreground",children:E.subtitle}):null]})]},E.id))},N.category))})})}),document.body):null]})}function L_(e,n=[]){let a=[];function o(c,d){const m=f.createContext(d);m.displayName=c+"Context";const p=a.length;a=[...a,d];const h=v=>{var E;const{scope:x,children:S,...j}=v,C=((E=x==null?void 0:x[e])==null?void 0:E[p])||m,N=f.useMemo(()=>j,Object.values(j));return l.jsx(C.Provider,{value:N,children:S})};h.displayName=c+"Provider";function y(v,x){var C;const S=((C=x==null?void 0:x[e])==null?void 0:C[p])||m,j=f.useContext(S);if(j)return j;if(d!==void 0)return d;throw new Error(`\`${v}\` must be used within \`${c}\``)}return[h,y]}const i=()=>{const c=a.map(d=>f.createContext(d));return function(m){const p=(m==null?void 0:m[e])||c;return f.useMemo(()=>({[`__scope${e}`]:{...m,[e]:p}}),[m,p])}};return i.scopeName=e,[o,z_(i,...n)]}function z_(...e){const n=e[0];if(e.length===1)return n;const a=()=>{const o=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(c){const d=o.reduce((m,{useScope:p,scopeName:h})=>{const v=p(c)[`__scope${h}`];return{...m,...v}},{});return f.useMemo(()=>({[`__scope${n.scopeName}`]:d}),[d])}};return a.scopeName=n.scopeName,a}var yp={exports:{}},xp={};/**
+ * @license React
+ * use-sync-external-store-shim.production.js
+ *
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */var B1;function P_(){if(B1)return xp;B1=1;var e=Lu();function n(v,x){return v===x&&(v!==0||1/v===1/x)||v!==v&&x!==x}var a=typeof Object.is=="function"?Object.is:n,o=e.useState,i=e.useEffect,c=e.useLayoutEffect,d=e.useDebugValue;function m(v,x){var S=x(),j=o({inst:{value:S,getSnapshot:x}}),C=j[0].inst,N=j[1];return c(function(){C.value=S,C.getSnapshot=x,p(C)&&N({inst:C})},[v,S,x]),i(function(){return p(C)&&N({inst:C}),v(function(){p(C)&&N({inst:C})})},[v]),d(S),S}function p(v){var x=v.getSnapshot;v=v.value;try{var S=x();return!a(v,S)}catch{return!0}}function h(v,x){return x()}var y=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:m;return xp.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:y,xp}var U1;function I_(){return U1||(U1=1,yp.exports=P_()),yp.exports}var $_=I_();function B_(){return $_.useSyncExternalStore(U_,()=>!0,()=>!1)}function U_(){return()=>{}}var bg="Avatar",[H_]=L_(bg),[V_,bC]=H_(bg),yC=f.forwardRef((e,n)=>{const{__scopeAvatar:a,...o}=e,[i,c]=f.useState("idle");return l.jsx(V_,{scope:a,imageLoadingStatus:i,onImageLoadingStatusChange:c,children:l.jsx(En.span,{...o,ref:n})})});yC.displayName=bg;var xC="AvatarImage",SC=f.forwardRef((e,n)=>{const{__scopeAvatar:a,src:o,onLoadingStatusChange:i=()=>{},...c}=e,d=bC(xC,a),m=G_(o,c),p=Ot(h=>{i(h),d.onImageLoadingStatusChange(h)});return jt(()=>{m!=="idle"&&p(m)},[m,p]),m==="loaded"?l.jsx(En.img,{...c,ref:n,src:o}):null});SC.displayName=xC;var wC="AvatarFallback",CC=f.forwardRef((e,n)=>{const{__scopeAvatar:a,delayMs:o,...i}=e,c=bC(wC,a),[d,m]=f.useState(o===void 0);return f.useEffect(()=>{if(o!==void 0){const p=window.setTimeout(()=>m(!0),o);return()=>window.clearTimeout(p)}},[o]),d&&c.imageLoadingStatus!=="loaded"?l.jsx(En.span,{...i,ref:n}):null});CC.displayName=wC;function H1(e,n){return e?n?(e.src!==n&&(e.src=n),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}function G_(e,{referrerPolicy:n,crossOrigin:a}){const o=B_(),i=f.useRef(null),c=o?(i.current||(i.current=new window.Image),i.current):null,[d,m]=f.useState(()=>H1(c,e));return jt(()=>{m(H1(c,e))},[c,e]),jt(()=>{const p=v=>()=>{m(v)};if(!c)return;const h=p("loaded"),y=p("error");return c.addEventListener("load",h),c.addEventListener("error",y),n&&(c.referrerPolicy=n),typeof a=="string"&&(c.crossOrigin=a),()=>{c.removeEventListener("load",h),c.removeEventListener("error",y)}},[c,a,n]),d}var jC=yC,EC=SC,NC=CC;const Ss=f.forwardRef(({className:e,...n},a)=>l.jsx(jC,{ref:a,className:ce("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...n}));Ss.displayName=jC.displayName;const ws=f.forwardRef(({className:e,...n},a)=>l.jsx(EC,{ref:a,className:ce("aspect-square h-full w-full",e),...n}));ws.displayName=EC.displayName;const Cs=f.forwardRef(({className:e,...n},a)=>l.jsx(NC,{ref:a,className:ce("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...n}));Cs.displayName=NC.displayName;const kC=f.createContext(null);function F_({children:e}){const[n,a]=f.useState([]),[o,i]=f.useState(0),[c,d]=f.useState(!0),m=f.useCallback(async()=>{try{const v=await Ne.getNotifications();v.data&&(a(v.data.items),i(v.data.unreadCount))}catch{}finally{d(!1)}},[]),p=f.useCallback(async()=>{var v;try{const x=await Ne.markNotificationsRead("all");a(S=>S.map(j=>({...j,read:!0}))),i(((v=x.data)==null?void 0:v.unreadCount)??0)}catch{}},[]),h=f.useCallback(async v=>{var x;try{const S=await Ne.dismissNotification(v);a(j=>j.filter(C=>C.id!==v)),i(((x=S.data)==null?void 0:x.unreadCount)??0)}catch{}},[]);f.useEffect(()=>{m();const v=setInterval(m,3e4);return()=>clearInterval(v)},[m]);const y=f.useMemo(()=>({items:n,unreadCount:o,loading:c,refresh:m,markAllRead:p,dismiss:h}),[n,o,c,m,p,h]);return l.jsx(kC.Provider,{value:y,children:e})}function Y_(){const e=f.useContext(kC);if(!e)throw new Error("useNotifications must be used within NotificationsProvider");return e}const W_=Ds("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function gs({className:e,variant:n,...a}){return l.jsx("div",{className:ce(W_({variant:n}),e),...a})}function q_(e){const n=K_(e),a=f.forwardRef((o,i)=>{const{children:c,...d}=o,m=f.Children.toArray(c),p=m.find(Z_);if(p){const h=p.props.children,y=m.map(v=>v===p?f.Children.count(h)>1?f.Children.only(null):f.isValidElement(h)?h.props.children:null:v);return l.jsx(n,{...d,ref:i,children:f.isValidElement(h)?f.cloneElement(h,void 0,y):null})}return l.jsx(n,{...d,ref:i,children:c})});return a.displayName=`${e}.Slot`,a}function K_(e){const n=f.forwardRef((a,o)=>{const{children:i,...c}=a;if(f.isValidElement(i)){const d=J_(i),m=Q_(c,i.props);return i.type!==f.Fragment&&(m.ref=o?st(o,d):d),f.cloneElement(i,m)}return f.Children.count(i)>1?f.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var X_=Symbol("radix.slottable");function Z_(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===X_}function Q_(e,n){const a={...n};for(const o in n){const i=e[o],c=n[o];/^on[A-Z]/.test(o)?i&&c?a[o]=(...m)=>{const p=c(...m);return i(...m),p}:i&&(a[o]=i):o==="style"?a[o]={...i,...c}:o==="className"&&(a[o]=[i,c].filter(Boolean).join(" "))}return{...e,...a}}function J_(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var eO=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],El=eO.reduce((e,n)=>{const a=q_(`Primitive.${n}`),o=f.forwardRef((i,c)=>{const{asChild:d,...m}=i,p=d?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(p,{...m,ref:c})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{});function tO(e,n=[]){let a=[];function o(c,d){const m=f.createContext(d),p=a.length;a=[...a,d];const h=v=>{var E;const{scope:x,children:S,...j}=v,C=((E=x==null?void 0:x[e])==null?void 0:E[p])||m,N=f.useMemo(()=>j,Object.values(j));return l.jsx(C.Provider,{value:N,children:S})};h.displayName=c+"Provider";function y(v,x){var C;const S=((C=x==null?void 0:x[e])==null?void 0:C[p])||m,j=f.useContext(S);if(j)return j;if(d!==void 0)return d;throw new Error(`\`${v}\` must be used within \`${c}\``)}return[h,y]}const i=()=>{const c=a.map(d=>f.createContext(d));return function(m){const p=(m==null?void 0:m[e])||c;return f.useMemo(()=>({[`__scope${e}`]:{...m,[e]:p}}),[m,p])}};return i.scopeName=e,[o,nO(i,...n)]}function nO(...e){const n=e[0];if(e.length===1)return n;const a=()=>{const o=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(c){const d=o.reduce((m,{useScope:p,scopeName:h})=>{const v=p(c)[`__scope${h}`];return{...m,...v}},{});return f.useMemo(()=>({[`__scope${n.scopeName}`]:d}),[d])}};return a.scopeName=n.scopeName,a}function rh(e,[n,a]){return Math.min(a,Math.max(n,e))}function rO(e,n){return f.useReducer((a,o)=>n[a][o]??a,e)}var yg="ScrollArea",[TC]=tO(yg),[aO,Bn]=TC(yg),RC=f.forwardRef((e,n)=>{const{__scopeScrollArea:a,type:o="hover",dir:i,scrollHideDelay:c=600,...d}=e,[m,p]=f.useState(null),[h,y]=f.useState(null),[v,x]=f.useState(null),[S,j]=f.useState(null),[C,N]=f.useState(null),[E,k]=f.useState(0),[T,R]=f.useState(0),[D,P]=f.useState(!1),[z,B]=f.useState(!1),H=ze(n,Q=>p(Q)),Y=dl(i);return l.jsx(aO,{scope:a,type:o,dir:Y,scrollHideDelay:c,scrollArea:m,viewport:h,onViewportChange:y,content:v,onContentChange:x,scrollbarX:S,onScrollbarXChange:j,scrollbarXEnabled:D,onScrollbarXEnabledChange:P,scrollbarY:C,onScrollbarYChange:N,scrollbarYEnabled:z,onScrollbarYEnabledChange:B,onCornerWidthChange:k,onCornerHeightChange:R,children:l.jsx(El.div,{dir:Y,...d,ref:H,style:{position:"relative","--radix-scroll-area-corner-width":E+"px","--radix-scroll-area-corner-height":T+"px",...e.style}})})});RC.displayName=yg;var AC="ScrollAreaViewport",MC=f.forwardRef((e,n)=>{const{__scopeScrollArea:a,children:o,nonce:i,...c}=e,d=Bn(AC,a),m=f.useRef(null),p=ze(n,m,d.onViewportChange);return l.jsxs(l.Fragment,{children:[l.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),l.jsx(El.div,{"data-radix-scroll-area-viewport":"",...c,ref:p,style:{overflowX:d.scrollbarXEnabled?"scroll":"hidden",overflowY:d.scrollbarYEnabled?"scroll":"hidden",...e.style},children:l.jsx("div",{ref:d.onContentChange,style:{minWidth:"100%",display:"table"},children:o})})]})});MC.displayName=AC;var fr="ScrollAreaScrollbar",xg=f.forwardRef((e,n)=>{const{forceMount:a,...o}=e,i=Bn(fr,e.__scopeScrollArea),{onScrollbarXEnabledChange:c,onScrollbarYEnabledChange:d}=i,m=e.orientation==="horizontal";return f.useEffect(()=>(m?c(!0):d(!0),()=>{m?c(!1):d(!1)}),[m,c,d]),i.type==="hover"?l.jsx(oO,{...o,ref:n,forceMount:a}):i.type==="scroll"?l.jsx(sO,{...o,ref:n,forceMount:a}):i.type==="auto"?l.jsx(_C,{...o,ref:n,forceMount:a}):i.type==="always"?l.jsx(Sg,{...o,ref:n}):null});xg.displayName=fr;var oO=f.forwardRef((e,n)=>{const{forceMount:a,...o}=e,i=Bn(fr,e.__scopeScrollArea),[c,d]=f.useState(!1);return f.useEffect(()=>{const m=i.scrollArea;let p=0;if(m){const h=()=>{window.clearTimeout(p),d(!0)},y=()=>{p=window.setTimeout(()=>d(!1),i.scrollHideDelay)};return m.addEventListener("pointerenter",h),m.addEventListener("pointerleave",y),()=>{window.clearTimeout(p),m.removeEventListener("pointerenter",h),m.removeEventListener("pointerleave",y)}}},[i.scrollArea,i.scrollHideDelay]),l.jsx(Ht,{present:a||c,children:l.jsx(_C,{"data-state":c?"visible":"hidden",...o,ref:n})})}),sO=f.forwardRef((e,n)=>{const{forceMount:a,...o}=e,i=Bn(fr,e.__scopeScrollArea),c=e.orientation==="horizontal",d=xd(()=>p("SCROLL_END"),100),[m,p]=rO("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return f.useEffect(()=>{if(m==="idle"){const h=window.setTimeout(()=>p("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(h)}},[m,i.scrollHideDelay,p]),f.useEffect(()=>{const h=i.viewport,y=c?"scrollLeft":"scrollTop";if(h){let v=h[y];const x=()=>{const S=h[y];v!==S&&(p("SCROLL"),d()),v=S};return h.addEventListener("scroll",x),()=>h.removeEventListener("scroll",x)}},[i.viewport,c,p,d]),l.jsx(Ht,{present:a||m!=="hidden",children:l.jsx(Sg,{"data-state":m==="hidden"?"hidden":"visible",...o,ref:n,onPointerEnter:be(e.onPointerEnter,()=>p("POINTER_ENTER")),onPointerLeave:be(e.onPointerLeave,()=>p("POINTER_LEAVE"))})})}),_C=f.forwardRef((e,n)=>{const a=Bn(fr,e.__scopeScrollArea),{forceMount:o,...i}=e,[c,d]=f.useState(!1),m=e.orientation==="horizontal",p=xd(()=>{if(a.viewport){const h=a.viewport.offsetWidth{const{orientation:a="vertical",...o}=e,i=Bn(fr,e.__scopeScrollArea),c=f.useRef(null),d=f.useRef(0),[m,p]=f.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),h=PC(m.viewport,m.content),y={...o,sizes:m,onSizesChange:p,hasThumb:h>0&&h<1,onThumbChange:x=>c.current=x,onThumbPointerUp:()=>d.current=0,onThumbPointerDown:x=>d.current=x};function v(x,S){return fO(x,d.current,m,S)}return a==="horizontal"?l.jsx(iO,{...y,ref:n,onThumbPositionChange:()=>{if(i.viewport&&c.current){const x=i.viewport.scrollLeft,S=V1(x,m,i.dir);c.current.style.transform=`translate3d(${S}px, 0, 0)`}},onWheelScroll:x=>{i.viewport&&(i.viewport.scrollLeft=x)},onDragScroll:x=>{i.viewport&&(i.viewport.scrollLeft=v(x,i.dir))}}):a==="vertical"?l.jsx(lO,{...y,ref:n,onThumbPositionChange:()=>{if(i.viewport&&c.current){const x=i.viewport.scrollTop,S=V1(x,m);c.current.style.transform=`translate3d(0, ${S}px, 0)`}},onWheelScroll:x=>{i.viewport&&(i.viewport.scrollTop=x)},onDragScroll:x=>{i.viewport&&(i.viewport.scrollTop=v(x))}}):null}),iO=f.forwardRef((e,n)=>{const{sizes:a,onSizesChange:o,...i}=e,c=Bn(fr,e.__scopeScrollArea),[d,m]=f.useState(),p=f.useRef(null),h=ze(n,p,c.onScrollbarXChange);return f.useEffect(()=>{p.current&&m(getComputedStyle(p.current))},[p]),l.jsx(DC,{"data-orientation":"horizontal",...i,ref:h,sizes:a,style:{bottom:0,left:c.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:c.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":yd(a)+"px",...e.style},onThumbPointerDown:y=>e.onThumbPointerDown(y.x),onDragScroll:y=>e.onDragScroll(y.x),onWheelScroll:(y,v)=>{if(c.viewport){const x=c.viewport.scrollLeft+y.deltaX;e.onWheelScroll(x),$C(x,v)&&y.preventDefault()}},onResize:()=>{p.current&&c.viewport&&d&&o({content:c.viewport.scrollWidth,viewport:c.viewport.offsetWidth,scrollbar:{size:p.current.clientWidth,paddingStart:Ru(d.paddingLeft),paddingEnd:Ru(d.paddingRight)}})}})}),lO=f.forwardRef((e,n)=>{const{sizes:a,onSizesChange:o,...i}=e,c=Bn(fr,e.__scopeScrollArea),[d,m]=f.useState(),p=f.useRef(null),h=ze(n,p,c.onScrollbarYChange);return f.useEffect(()=>{p.current&&m(getComputedStyle(p.current))},[p]),l.jsx(DC,{"data-orientation":"vertical",...i,ref:h,sizes:a,style:{top:0,right:c.dir==="ltr"?0:void 0,left:c.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":yd(a)+"px",...e.style},onThumbPointerDown:y=>e.onThumbPointerDown(y.y),onDragScroll:y=>e.onDragScroll(y.y),onWheelScroll:(y,v)=>{if(c.viewport){const x=c.viewport.scrollTop+y.deltaY;e.onWheelScroll(x),$C(x,v)&&y.preventDefault()}},onResize:()=>{p.current&&c.viewport&&d&&o({content:c.viewport.scrollHeight,viewport:c.viewport.offsetHeight,scrollbar:{size:p.current.clientHeight,paddingStart:Ru(d.paddingTop),paddingEnd:Ru(d.paddingBottom)}})}})}),[cO,OC]=TC(fr),DC=f.forwardRef((e,n)=>{const{__scopeScrollArea:a,sizes:o,hasThumb:i,onThumbChange:c,onThumbPointerUp:d,onThumbPointerDown:m,onThumbPositionChange:p,onDragScroll:h,onWheelScroll:y,onResize:v,...x}=e,S=Bn(fr,a),[j,C]=f.useState(null),N=ze(n,H=>C(H)),E=f.useRef(null),k=f.useRef(""),T=S.viewport,R=o.content-o.viewport,D=Ot(y),P=Ot(p),z=xd(v,10);function B(H){if(E.current){const Y=H.clientX-E.current.left,Q=H.clientY-E.current.top;h({x:Y,y:Q})}}return f.useEffect(()=>{const H=Y=>{const Q=Y.target;(j==null?void 0:j.contains(Q))&&D(Y,R)};return document.addEventListener("wheel",H,{passive:!1}),()=>document.removeEventListener("wheel",H,{passive:!1})},[T,j,R,D]),f.useEffect(P,[o,P]),js(j,z),js(S.content,z),l.jsx(cO,{scope:a,scrollbar:j,hasThumb:i,onThumbChange:Ot(c),onThumbPointerUp:Ot(d),onThumbPositionChange:P,onThumbPointerDown:Ot(m),children:l.jsx(El.div,{...x,ref:N,style:{position:"absolute",...x.style},onPointerDown:be(e.onPointerDown,H=>{H.button===0&&(H.target.setPointerCapture(H.pointerId),E.current=j.getBoundingClientRect(),k.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",S.viewport&&(S.viewport.style.scrollBehavior="auto"),B(H))}),onPointerMove:be(e.onPointerMove,B),onPointerUp:be(e.onPointerUp,H=>{const Y=H.target;Y.hasPointerCapture(H.pointerId)&&Y.releasePointerCapture(H.pointerId),document.body.style.webkitUserSelect=k.current,S.viewport&&(S.viewport.style.scrollBehavior=""),E.current=null})})})}),Tu="ScrollAreaThumb",LC=f.forwardRef((e,n)=>{const{forceMount:a,...o}=e,i=OC(Tu,e.__scopeScrollArea);return l.jsx(Ht,{present:a||i.hasThumb,children:l.jsx(uO,{ref:n,...o})})}),uO=f.forwardRef((e,n)=>{const{__scopeScrollArea:a,style:o,...i}=e,c=Bn(Tu,a),d=OC(Tu,a),{onThumbPositionChange:m}=d,p=ze(n,v=>d.onThumbChange(v)),h=f.useRef(void 0),y=xd(()=>{h.current&&(h.current(),h.current=void 0)},100);return f.useEffect(()=>{const v=c.viewport;if(v){const x=()=>{if(y(),!h.current){const S=mO(v,m);h.current=S,m()}};return m(),v.addEventListener("scroll",x),()=>v.removeEventListener("scroll",x)}},[c.viewport,y,m]),l.jsx(El.div,{"data-state":d.hasThumb?"visible":"hidden",...i,ref:p,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...o},onPointerDownCapture:be(e.onPointerDownCapture,v=>{const S=v.target.getBoundingClientRect(),j=v.clientX-S.left,C=v.clientY-S.top;d.onThumbPointerDown({x:j,y:C})}),onPointerUp:be(e.onPointerUp,d.onThumbPointerUp)})});LC.displayName=Tu;var wg="ScrollAreaCorner",zC=f.forwardRef((e,n)=>{const a=Bn(wg,e.__scopeScrollArea),o=!!(a.scrollbarX&&a.scrollbarY);return a.type!=="scroll"&&o?l.jsx(dO,{...e,ref:n}):null});zC.displayName=wg;var dO=f.forwardRef((e,n)=>{const{__scopeScrollArea:a,...o}=e,i=Bn(wg,a),[c,d]=f.useState(0),[m,p]=f.useState(0),h=!!(c&&m);return js(i.scrollbarX,()=>{var v;const y=((v=i.scrollbarX)==null?void 0:v.offsetHeight)||0;i.onCornerHeightChange(y),p(y)}),js(i.scrollbarY,()=>{var v;const y=((v=i.scrollbarY)==null?void 0:v.offsetWidth)||0;i.onCornerWidthChange(y),d(y)}),h?l.jsx(El.div,{...o,ref:n,style:{width:c,height:m,position:"absolute",right:i.dir==="ltr"?0:void 0,left:i.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function Ru(e){return e?parseInt(e,10):0}function PC(e,n){const a=e/n;return isNaN(a)?0:a}function yd(e){const n=PC(e.viewport,e.content),a=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,o=(e.scrollbar.size-a)*n;return Math.max(o,18)}function fO(e,n,a,o="ltr"){const i=yd(a),c=i/2,d=n||c,m=i-d,p=a.scrollbar.paddingStart+d,h=a.scrollbar.size-a.scrollbar.paddingEnd-m,y=a.content-a.viewport,v=o==="ltr"?[0,y]:[y*-1,0];return IC([p,h],v)(e)}function V1(e,n,a="ltr"){const o=yd(n),i=n.scrollbar.paddingStart+n.scrollbar.paddingEnd,c=n.scrollbar.size-i,d=n.content-n.viewport,m=c-o,p=a==="ltr"?[0,d]:[d*-1,0],h=rh(e,p);return IC([0,d],[0,m])(h)}function IC(e,n){return a=>{if(e[0]===e[1]||n[0]===n[1])return n[0];const o=(n[1]-n[0])/(e[1]-e[0]);return n[0]+o*(a-e[0])}}function $C(e,n){return e>0&&e{})=>{let a={left:e.scrollLeft,top:e.scrollTop},o=0;return(function i(){const c={left:e.scrollLeft,top:e.scrollTop},d=a.left!==c.left,m=a.top!==c.top;(d||m)&&n(),a=c,o=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(o)};function xd(e,n){const a=Ot(e),o=f.useRef(0);return f.useEffect(()=>()=>window.clearTimeout(o.current),[]),f.useCallback(()=>{window.clearTimeout(o.current),o.current=window.setTimeout(a,n)},[a,n])}function js(e,n){const a=Ot(n);jt(()=>{let o=0;if(e){const i=new ResizeObserver(()=>{cancelAnimationFrame(o),o=window.requestAnimationFrame(a)});return i.observe(e),()=>{window.cancelAnimationFrame(o),i.unobserve(e)}}},[e,a])}var BC=RC,pO=MC,hO=zC;const Sd=f.forwardRef(({className:e,children:n,...a},o)=>l.jsxs(BC,{ref:o,className:ce("relative overflow-hidden",e),...a,children:[l.jsx(pO,{className:"h-full w-full rounded-[inherit]",children:n}),l.jsx(UC,{}),l.jsx(hO,{})]}));Sd.displayName=BC.displayName;const UC=f.forwardRef(({className:e,orientation:n="vertical",...a},o)=>l.jsx(xg,{ref:o,orientation:n,className:ce("flex touch-none select-none transition-colors",n==="vertical"&&"h-full w-2 border-l border-l-transparent p-px",n==="horizontal"&&"h-2 flex-col border-t border-t-transparent p-px",e),...a,children:l.jsx(LC,{className:"relative flex-1 rounded-full bg-[hsl(240_4%_32%)] transition-colors hover:bg-[hsl(240_4%_44%)]"})}));UC.displayName=xg.displayName;function gO(e){const n=Math.floor((Date.now()-e)/1e3);if(n<60)return"Just now";const a=Math.floor(n/60);if(a<60)return`${a}m ago`;const o=Math.floor(a/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`}function vO(e){switch(e){case"error":return"bg-destructive";case"update":return"bg-amber-500";case"bot":return"bg-emerald-500";default:return"bg-primary"}}function bO(){const e=mo(),{items:n,unreadCount:a,loading:o,markAllRead:i,dismiss:c,refresh:d}=Y_(),[m,p]=f.useState(!1),h=v=>{p(v),v&&(d(),a>0&&i())},y=v=>{p(!1),v.href&&e(v.href)};return l.jsxs(og,{open:m,onOpenChange:h,children:[l.jsx(sg,{asChild:!0,children:l.jsxs(ve,{variant:"ghost",size:"icon",className:"relative size-9 text-muted-foreground","aria-label":"Notifications",children:[l.jsx(ye,{icon:s8,size:18}),a>0&&l.jsx(gs,{className:"absolute -right-0.5 -top-0.5 flex size-4 min-w-4 items-center justify-center rounded-full bg-destructive p-0 text-[10px] text-destructive-foreground",children:a>9?"9+":a})]})}),l.jsxs(id,{align:"end",className:"w-80 p-0",children:[l.jsxs("div",{className:"flex items-center justify-between px-3 py-2",children:[l.jsx(ig,{className:"p-0 text-sm font-semibold",children:"Notifications"}),n.length>0&&l.jsx(ve,{variant:"ghost",size:"sm",className:"h-7 text-xs text-muted-foreground",onClick:()=>void i(),children:"Mark all read"})]}),l.jsx(Nu,{className:"m-0"}),l.jsx(Sd,{className:"max-h-[min(360px,50vh)]",children:o&&n.length===0?l.jsx("p",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"Loading…"}):n.length===0?l.jsx("p",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"No notifications yet. Bot restarts and update checks will appear here."}):l.jsx("ul",{className:"py-1",children:n.map(v=>l.jsxs("li",{className:ce("group flex gap-2 border-b border-border/40 px-3 py-2.5 last:border-0",!v.read&&"bg-primary/5"),children:[l.jsx("span",{className:ce("mt-1.5 size-2 shrink-0 rounded-full",vO(v.type))}),l.jsxs("button",{type:"button",className:"min-w-0 flex-1 text-left",onClick:()=>y(v),children:[l.jsx("p",{className:"text-sm font-medium leading-tight",children:v.title}),l.jsx("p",{className:"mt-0.5 text-xs text-muted-foreground line-clamp-2",children:v.message}),l.jsx("p",{className:"mt-1 text-[10px] text-muted-foreground/80",children:gO(v.createdAt)})]}),l.jsx(ve,{variant:"ghost",size:"icon",className:"size-7 shrink-0 opacity-0 group-hover:opacity-100","aria-label":"Dismiss",onClick:x=>{x.stopPropagation(),c(v.id)},children:l.jsx(ye,{icon:e8,size:14})})]},v.id))})}),l.jsx(Nu,{className:"m-0"}),l.jsx("div",{className:"p-2",children:l.jsx(ve,{variant:"ghost",size:"sm",className:"w-full text-xs",asChild:!0,children:l.jsx(_t,{to:"/settings",onClick:()=>p(!1),children:"Open settings (updates)"})})})]})]})}function yO(){const{stats:e}=Yu(),{user:n,logout:a}=Lt(),o=(e==null?void 0:e.bot.username)??"SupportBot",i=n?Z0(n):o,c=(n==null?void 0:n.avatar)??(e==null?void 0:e.bot.avatar),d=e==null?void 0:e.bot.inviteUrl,m=new Intl.DateTimeFormat("en-US",{weekday:"short",month:"short",day:"numeric",year:"numeric"}).format(new Date);return l.jsxs("header",{className:"relative z-40 flex h-14 shrink-0 items-center gap-3 border-b border-border bg-card px-4 md:px-6",children:[l.jsx(Qw,{className:"-ml-1 text-muted-foreground hover:text-foreground md:hidden"}),l.jsx("p",{className:"hidden shrink-0 text-sm font-medium text-muted-foreground lg:block",children:m}),l.jsx(D_,{className:"min-w-0 flex-1"}),l.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[d?l.jsx(ve,{variant:"ghost",size:"icon",className:"hidden size-9 text-muted-foreground sm:inline-flex",asChild:!0,children:l.jsx("a",{href:d,target:"_blank",rel:"noopener noreferrer","aria-label":"Invite bot to a server",title:"Invite bot to a server",children:l.jsx(ye,{icon:gu,size:18})})}):l.jsx(ve,{variant:"ghost",size:"icon",className:"hidden size-9 text-muted-foreground sm:inline-flex",disabled:!0,"aria-label":"Invite bot to a server",title:"Invite link available when the bot is online",children:l.jsx(ye,{icon:gu,size:18})}),l.jsx(bO,{}),l.jsxs(og,{children:[l.jsx(sg,{asChild:!0,children:l.jsxs(ve,{variant:"ghost",className:"h-9 gap-2 rounded-full px-2 hover:bg-secondary",children:[l.jsxs(Ss,{className:"size-7",children:[l.jsx(ws,{src:c,alt:i}),l.jsx(Cs,{className:"bg-primary/20 text-xs text-primary",children:i.slice(0,2).toUpperCase()})]}),l.jsx("span",{className:"hidden max-w-[100px] truncate text-sm font-medium sm:inline",children:i}),l.jsx(ye,{icon:V0,size:16,className:"text-muted-foreground"})]})}),l.jsxs(id,{align:"end",className:"w-48",children:[l.jsx(ig,{children:"Account"}),l.jsx(Nu,{}),n?l.jsxs(rl,{disabled:!0,className:"text-xs text-muted-foreground",children:[n.username,n.id?` · ${n.id}`:""]}):null,l.jsx(rl,{onClick:()=>{a()},children:"Sign out"})]})]})]})]})}const G1={error:0,warning:1,info:2};function xO(e){return[...e].sort((n,a)=>{const o=G1[n.severity]??9,i=G1[a.severity]??9;return o!==i?o-i:n.title.localeCompare(a.title)})}function SO(e){const n=new Set;return e.filter(a=>n.has(a.id)?!1:(n.add(a.id),!0))}class wO{constructor(){Mx(this,"clientProviders",new Map)}register(n){return this.clientProviders.set(n.id,n),this}unregister(n){this.clientProviders.delete(n)}async evaluateClientProviders(){const n=[];for(const a of this.clientProviders.values()){const o=await a.evaluate();Array.isArray(o)&&o.length&&n.push(...o)}return n}async loadAll(){const[n,a]=await Promise.all([Ne.getAlerts().catch(()=>({data:[]})),this.evaluateClientProviders()]),o=n.data??[];return xO(SO([...o,...a]))}}const CO=new wO,jO={error:{border:"border-destructive/40",bg:"bg-destructive/10",icon:"text-destructive",title:"text-destructive"},warning:{border:"border-amber-500/40",bg:"bg-amber-500/10",icon:"text-amber-500",title:"text-amber-200"},info:{border:"border-sky-500/40",bg:"bg-sky-500/10",icon:"text-sky-400",title:"text-sky-100"}},EO=Ds("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),Ye=f.forwardRef(({className:e,variant:n,...a},o)=>l.jsx("div",{ref:o,role:"alert",className:ce(EO({variant:n}),e),...a}));Ye.displayName="Alert";const HC=f.forwardRef(({className:e,...n},a)=>l.jsx("h5",{ref:a,className:ce("mb-1 font-medium leading-none tracking-tight",e),...n}));HC.displayName="AlertTitle";const We=f.forwardRef(({className:e,...n},a)=>l.jsx("div",{ref:a,className:ce("text-sm [&_p]:leading-relaxed",e),...n}));We.displayName="AlertDescription";function NO(e){return e==="info"?a8:_h}function kO({alert:e,context:n}){var d,m,p;const a=jO[e.severity],o=((d=e.meta)==null?void 0:d.extraGuilds)??[],i=(m=e.meta)==null?void 0:m.status,c=(p=e.meta)==null?void 0:p.progress;return l.jsxs(Ye,{variant:"destructive",className:`${a.border} ${a.bg} text-foreground`,children:[l.jsx(ye,{icon:NO(e.severity),size:18,className:a.icon}),l.jsx(HC,{className:a.title,children:e.title}),l.jsxs(We,{className:"space-y-3 text-sm text-muted-foreground",children:[l.jsx("p",{children:e.message}),e.category==="guild"&&i==="missing_config"?l.jsxs("p",{children:["Open"," ",l.jsx(_t,{to:"/configs?file=supportbot",className:"font-medium text-primary underline-offset-4 hover:underline",children:"Bot config"})," ","and set ",l.jsx("strong",{className:"text-foreground",children:"Server (guild) ID"})," ","(enable Developer Mode in Discord, then right-click your server → Copy Server ID)."]}):null,e.category==="modules"&&c?l.jsxs("p",{className:"text-xs",children:["Progress: ",l.jsx("span",{className:"text-foreground",children:c})]}):null,o.length>0?l.jsx("ul",{className:"space-y-2",children:o.map(h=>l.jsxs("li",{className:"flex flex-wrap items-center justify-between gap-2 rounded-lg border border-border bg-background/40 px-3 py-2",children:[l.jsxs("span",{children:[l.jsx("span",{className:"font-medium text-foreground",children:h.name}),l.jsx("span",{className:"ml-2 font-mono text-xs",children:h.id})]}),n.canLeaveGuild?l.jsxs(ve,{type:"button",size:"sm",variant:"outline",disabled:n.leavingGuildId===h.id,onClick:()=>void n.onLeaveGuild(h.id),children:[l.jsx(ye,{icon:o8,size:14,className:"mr-1.5"}),n.leavingGuildId===h.id?"Leaving…":"Leave server"]}):null]},h.id))}):null,n.actionError?l.jsx("p",{className:"text-destructive",children:n.actionError}):null,l.jsxs("div",{className:"flex flex-wrap items-center gap-2 pt-1",children:[e.action?l.jsx(ve,{asChild:!0,size:"sm",variant:"secondary",children:l.jsx(_t,{to:e.action.href,children:e.action.label})}):null,e.category==="guild"?l.jsx("p",{className:"text-xs",children:"The dashboard stays online while you fix this. Some features may be limited until setup is complete."}):null]})]})]})}const TO=15e3;function RO(){const{hasPermission:e}=Lt(),n=e("settings.update"),[a,o]=f.useState([]),[i,c]=f.useState(null),[d,m]=f.useState(""),p=f.useCallback(async()=>{try{const v=await CO.loadAll();o(v),m("")}catch{}},[]);f.useEffect(()=>{p();const v=window.setInterval(()=>void p(),TO);return()=>window.clearInterval(v)},[p]);async function h(v){if(n){c(v),m("");try{await Ne.leaveGuild(v),await p()}catch(x){m(x instanceof Error?x.message:"Could not leave server")}finally{c(null)}}}if(a.length===0)return null;const y={canLeaveGuild:n,onLeaveGuild:h,leavingGuildId:i,actionError:d};return l.jsx("div",{className:"space-y-3",children:a.map(v=>l.jsx(kO,{alert:v,context:y},v.id))})}function AO(){return l.jsx(x8,{children:l.jsx(F_,{children:l.jsxs(Xw,{children:[l.jsx(LM,{}),l.jsxs(eC,{className:"min-h-svh bg-background",children:[l.jsx(yO,{}),l.jsxs("div",{className:"flex flex-1 flex-col gap-6 p-4 md:p-6 lg:p-8",children:[l.jsx(RO,{}),l.jsx(v4,{})]})]})]})})})}const VC=f.createContext(null);function MO({children:e}){const[n,a]=f.useState(null),[o,i]=f.useState(!0),[c,d]=f.useState(""),m=f.useCallback(async()=>{d("");try{const h=await Ne.getSetupStatus();a(h.data??null)}catch(h){d(h instanceof Error?h.message:"Could not load setup status"),a(null)}},[]);f.useEffect(()=>{m().finally(()=>i(!1))},[m]);const p=f.useMemo(()=>({status:n,loading:o,error:c,complete:!!(n!=null&&n.complete),refresh:m}),[n,o,c,m]);return l.jsx(VC.Provider,{value:p,children:e})}function GC(){const e=f.useContext(VC);if(!e)throw new Error("useSetup must be used within SetupProvider");return e}var _O="Label",FC=f.forwardRef((e,n)=>l.jsx(En.label,{...e,ref:n,onMouseDown:a=>{var i;a.target.closest("button, input, select, textarea")||((i=e.onMouseDown)==null||i.call(e,a),!a.defaultPrevented&&a.detail>1&&a.preventDefault())}}));FC.displayName=_O;var YC=FC;const OO=Ds("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),De=f.forwardRef(({className:e,...n},a)=>l.jsx(YC,{ref:a,className:ce(OO(),e),...n}));De.displayName=YC.displayName;function DO(e,n=[]){let a=[];function o(c,d){const m=f.createContext(d),p=a.length;a=[...a,d];const h=v=>{var E;const{scope:x,children:S,...j}=v,C=((E=x==null?void 0:x[e])==null?void 0:E[p])||m,N=f.useMemo(()=>j,Object.values(j));return l.jsx(C.Provider,{value:N,children:S})};h.displayName=c+"Provider";function y(v,x){var C;const S=((C=x==null?void 0:x[e])==null?void 0:C[p])||m,j=f.useContext(S);if(j)return j;if(d!==void 0)return d;throw new Error(`\`${v}\` must be used within \`${c}\``)}return[h,y]}const i=()=>{const c=a.map(d=>f.createContext(d));return function(m){const p=(m==null?void 0:m[e])||c;return f.useMemo(()=>({[`__scope${e}`]:{...m,[e]:p}}),[m,p])}};return i.scopeName=e,[o,LO(i,...n)]}function LO(...e){const n=e[0];if(e.length===1)return n;const a=()=>{const o=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(c){const d=o.reduce((m,{useScope:p,scopeName:h})=>{const v=p(c)[`__scope${h}`];return{...m,...v}},{});return f.useMemo(()=>({[`__scope${n.scopeName}`]:d}),[d])}};return a.scopeName=n.scopeName,a}function WC(e){const n=f.useRef({value:e,previous:e});return f.useMemo(()=>(n.current.value!==e&&(n.current.previous=n.current.value,n.current.value=e),n.current.previous),[e])}function zO(e){const n=PO(e),a=f.forwardRef((o,i)=>{const{children:c,...d}=o,m=f.Children.toArray(c),p=m.find($O);if(p){const h=p.props.children,y=m.map(v=>v===p?f.Children.count(h)>1?f.Children.only(null):f.isValidElement(h)?h.props.children:null:v);return l.jsx(n,{...d,ref:i,children:f.isValidElement(h)?f.cloneElement(h,void 0,y):null})}return l.jsx(n,{...d,ref:i,children:c})});return a.displayName=`${e}.Slot`,a}function PO(e){const n=f.forwardRef((a,o)=>{const{children:i,...c}=a;if(f.isValidElement(i)){const d=UO(i),m=BO(c,i.props);return i.type!==f.Fragment&&(m.ref=o?st(o,d):d),f.cloneElement(i,m)}return f.Children.count(i)>1?f.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var IO=Symbol("radix.slottable");function $O(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===IO}function BO(e,n){const a={...n};for(const o in n){const i=e[o],c=n[o];/^on[A-Z]/.test(o)?i&&c?a[o]=(...m)=>{const p=c(...m);return i(...m),p}:i&&(a[o]=i):o==="style"?a[o]={...i,...c}:o==="className"&&(a[o]=[i,c].filter(Boolean).join(" "))}return{...e,...a}}function UO(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var HO=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],qC=HO.reduce((e,n)=>{const a=zO(`Primitive.${n}`),o=f.forwardRef((i,c)=>{const{asChild:d,...m}=i,p=d?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(p,{...m,ref:c})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{}),wd="Switch",[VO]=DO(wd),[GO,FO]=VO(wd),KC=f.forwardRef((e,n)=>{const{__scopeSwitch:a,name:o,checked:i,defaultChecked:c,required:d,disabled:m,value:p="on",onCheckedChange:h,form:y,...v}=e,[x,S]=f.useState(null),j=ze(n,T=>S(T)),C=f.useRef(!1),N=x?y||!!x.closest("form"):!0,[E,k]=Pr({prop:i,defaultProp:c??!1,onChange:h,caller:wd});return l.jsxs(GO,{scope:a,checked:E,disabled:m,children:[l.jsx(qC.button,{type:"button",role:"switch","aria-checked":E,"aria-required":d,"data-state":JC(E),"data-disabled":m?"":void 0,disabled:m,value:p,...v,ref:j,onClick:be(e.onClick,T=>{k(R=>!R),N&&(C.current=T.isPropagationStopped(),C.current||T.stopPropagation())})}),N&&l.jsx(QC,{control:x,bubbles:!C.current,name:o,value:p,checked:E,required:d,disabled:m,form:y,style:{transform:"translateX(-100%)"}})]})});KC.displayName=wd;var XC="SwitchThumb",ZC=f.forwardRef((e,n)=>{const{__scopeSwitch:a,...o}=e,i=FO(XC,a);return l.jsx(qC.span,{"data-state":JC(i.checked),"data-disabled":i.disabled?"":void 0,...o,ref:n})});ZC.displayName=XC;var YO="SwitchBubbleInput",QC=f.forwardRef(({__scopeSwitch:e,control:n,checked:a,bubbles:o=!0,...i},c)=>{const d=f.useRef(null),m=ze(d,c),p=WC(a),h=$2(n);return f.useEffect(()=>{const y=d.current;if(!y)return;const v=window.HTMLInputElement.prototype,S=Object.getOwnPropertyDescriptor(v,"checked").set;if(p!==a&&S){const j=new Event("click",{bubbles:o});S.call(y,a),y.dispatchEvent(j)}},[p,a,o]),l.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:a,...i,tabIndex:-1,ref:m,style:{...i.style,...h,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});QC.displayName=YO;function JC(e){return e?"checked":"unchecked"}var ej=KC,WO=ZC;const dn=f.forwardRef(({className:e,...n},a)=>l.jsx(ej,{className:ce("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...n,ref:a,children:l.jsx(WO,{className:ce("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));dn.displayName=ej.displayName;const Cd=f.forwardRef(({className:e,...n},a)=>l.jsx("textarea",{className:ce("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:a,...n}));Cd.displayName="Textarea";function qO(e,n=[]){let a=[];function o(c,d){const m=f.createContext(d),p=a.length;a=[...a,d];const h=v=>{var E;const{scope:x,children:S,...j}=v,C=((E=x==null?void 0:x[e])==null?void 0:E[p])||m,N=f.useMemo(()=>j,Object.values(j));return l.jsx(C.Provider,{value:N,children:S})};h.displayName=c+"Provider";function y(v,x){var C;const S=((C=x==null?void 0:x[e])==null?void 0:C[p])||m,j=f.useContext(S);if(j)return j;if(d!==void 0)return d;throw new Error(`\`${v}\` must be used within \`${c}\``)}return[h,y]}const i=()=>{const c=a.map(d=>f.createContext(d));return function(m){const p=(m==null?void 0:m[e])||c;return f.useMemo(()=>({[`__scope${e}`]:{...m,[e]:p}}),[m,p])}};return i.scopeName=e,[o,KO(i,...n)]}function KO(...e){const n=e[0];if(e.length===1)return n;const a=()=>{const o=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(c){const d=o.reduce((m,{useScope:p,scopeName:h})=>{const v=p(c)[`__scope${h}`];return{...m,...v}},{});return f.useMemo(()=>({[`__scope${n.scopeName}`]:d}),[d])}};return a.scopeName=n.scopeName,a}function tj(e){const n=XO(e),a=f.forwardRef((o,i)=>{const{children:c,...d}=o,m=f.Children.toArray(c),p=m.find(QO);if(p){const h=p.props.children,y=m.map(v=>v===p?f.Children.count(h)>1?f.Children.only(null):f.isValidElement(h)?h.props.children:null:v);return l.jsx(n,{...d,ref:i,children:f.isValidElement(h)?f.cloneElement(h,void 0,y):null})}return l.jsx(n,{...d,ref:i,children:c})});return a.displayName=`${e}.Slot`,a}function XO(e){const n=f.forwardRef((a,o)=>{const{children:i,...c}=a;if(f.isValidElement(i)){const d=eD(i),m=JO(c,i.props);return i.type!==f.Fragment&&(m.ref=o?st(o,d):d),f.cloneElement(i,m)}return f.Children.count(i)>1?f.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var ZO=Symbol("radix.slottable");function QO(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===ZO}function JO(e,n){const a={...n};for(const o in n){const i=e[o],c=n[o];/^on[A-Z]/.test(o)?i&&c?a[o]=(...m)=>{const p=c(...m);return i(...m),p}:i&&(a[o]=i):o==="style"?a[o]={...i,...c}:o==="className"&&(a[o]=[i,c].filter(Boolean).join(" "))}return{...e,...a}}function eD(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var tD=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Nn=tD.reduce((e,n)=>{const a=tj(`Primitive.${n}`),o=f.forwardRef((i,c)=>{const{asChild:d,...m}=i,p=d?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(p,{...m,ref:c})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{}),nD=[" ","Enter","ArrowUp","ArrowDown"],rD=[" ","Enter"],so="Select",[jd,Ed,aD]=Vh(so),[$s]=qO(so,[aD,Ea]),Nd=Ea(),[oD,Na]=$s(so),[sD,iD]=$s(so),nj=e=>{const{__scopeSelect:n,children:a,open:o,defaultOpen:i,onOpenChange:c,value:d,defaultValue:m,onValueChange:p,dir:h,name:y,autoComplete:v,disabled:x,required:S,form:j}=e,C=Nd(n),[N,E]=f.useState(null),[k,T]=f.useState(null),[R,D]=f.useState(!1),P=dl(h),[z,B]=Pr({prop:o,defaultProp:i??!1,onChange:c,caller:so}),[H,Y]=Pr({prop:d,defaultProp:m,onChange:p,caller:so}),Q=f.useRef(null),fe=N?j||!!N.closest("form"):!0,[de,he]=f.useState(new Set),se=Array.from(de).map(O=>O.props.value).join(";");return l.jsx(Qu,{...C,children:l.jsxs(oD,{required:S,scope:n,trigger:N,onTriggerChange:E,valueNode:k,onValueNodeChange:T,valueNodeHasChildren:R,onValueNodeHasChildrenChange:D,contentId:Dt(),value:H,onValueChange:Y,open:z,onOpenChange:B,dir:P,triggerPointerDownPosRef:Q,disabled:x,children:[l.jsx(jd.Provider,{scope:n,children:l.jsx(sD,{scope:e.__scopeSelect,onNativeOptionAdd:f.useCallback(O=>{he($=>new Set($).add(O))},[]),onNativeOptionRemove:f.useCallback(O=>{he($=>{const Z=new Set($);return Z.delete(O),Z})},[]),children:a})}),fe?l.jsxs(Nj,{"aria-hidden":!0,required:S,tabIndex:-1,name:y,autoComplete:v,value:H,onChange:O=>Y(O.target.value),disabled:x,form:j,children:[H===void 0?l.jsx("option",{value:""}):null,Array.from(de)]},se):null]})})};nj.displayName=so;var rj="SelectTrigger",aj=f.forwardRef((e,n)=>{const{__scopeSelect:a,disabled:o=!1,...i}=e,c=Nd(a),d=Na(rj,a),m=d.disabled||o,p=ze(n,d.onTriggerChange),h=Ed(a),y=f.useRef("touch"),[v,x,S]=Tj(C=>{const N=h().filter(T=>!T.disabled),E=N.find(T=>T.value===d.value),k=Rj(N,C,E);k!==void 0&&d.onValueChange(k.value)}),j=C=>{m||(d.onOpenChange(!0),S()),C&&(d.triggerPointerDownPosRef.current={x:Math.round(C.pageX),y:Math.round(C.pageY)})};return l.jsx(pl,{asChild:!0,...c,children:l.jsx(Nn.button,{type:"button",role:"combobox","aria-controls":d.contentId,"aria-expanded":d.open,"aria-required":d.required,"aria-autocomplete":"none",dir:d.dir,"data-state":d.open?"open":"closed",disabled:m,"data-disabled":m?"":void 0,"data-placeholder":kj(d.value)?"":void 0,...i,ref:p,onClick:be(i.onClick,C=>{C.currentTarget.focus(),y.current!=="mouse"&&j(C)}),onPointerDown:be(i.onPointerDown,C=>{y.current=C.pointerType;const N=C.target;N.hasPointerCapture(C.pointerId)&&N.releasePointerCapture(C.pointerId),C.button===0&&C.ctrlKey===!1&&C.pointerType==="mouse"&&(j(C),C.preventDefault())}),onKeyDown:be(i.onKeyDown,C=>{const N=v.current!=="";!(C.ctrlKey||C.altKey||C.metaKey)&&C.key.length===1&&x(C.key),!(N&&C.key===" ")&&nD.includes(C.key)&&(j(),C.preventDefault())})})})});aj.displayName=rj;var oj="SelectValue",sj=f.forwardRef((e,n)=>{const{__scopeSelect:a,className:o,style:i,children:c,placeholder:d="",...m}=e,p=Na(oj,a),{onValueNodeHasChildrenChange:h}=p,y=c!==void 0,v=ze(n,p.onValueNodeChange);return jt(()=>{h(y)},[h,y]),l.jsx(Nn.span,{...m,ref:v,style:{pointerEvents:"none"},children:kj(p.value)?l.jsx(l.Fragment,{children:d}):c})});sj.displayName=oj;var lD="SelectIcon",ij=f.forwardRef((e,n)=>{const{__scopeSelect:a,children:o,...i}=e;return l.jsx(Nn.span,{"aria-hidden":!0,...i,ref:n,children:o||"▼"})});ij.displayName=lD;var cD="SelectPortal",lj=e=>l.jsx(Is,{asChild:!0,...e});lj.displayName=cD;var io="SelectContent",cj=f.forwardRef((e,n)=>{const a=Na(io,e.__scopeSelect),[o,i]=f.useState();if(jt(()=>{i(new DocumentFragment)},[]),!a.open){const c=o;return c?po.createPortal(l.jsx(uj,{scope:e.__scopeSelect,children:l.jsx(jd.Slot,{scope:e.__scopeSelect,children:l.jsx("div",{children:e.children})})}),c):null}return l.jsx(dj,{...e,ref:n})});cj.displayName=io;var Yn=10,[uj,ka]=$s(io),uD="SelectContentImpl",dD=tj("SelectContent.RemoveScroll"),dj=f.forwardRef((e,n)=>{const{__scopeSelect:a,position:o="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:c,onPointerDownOutside:d,side:m,sideOffset:p,align:h,alignOffset:y,arrowPadding:v,collisionBoundary:x,collisionPadding:S,sticky:j,hideWhenDetached:C,avoidCollisions:N,...E}=e,k=Na(io,a),[T,R]=f.useState(null),[D,P]=f.useState(null),z=ze(n,ne=>R(ne)),[B,H]=f.useState(null),[Y,Q]=f.useState(null),fe=Ed(a),[de,he]=f.useState(!1),se=f.useRef(!1);f.useEffect(()=>{if(T)return nd(T)},[T]),Wu();const O=f.useCallback(ne=>{const[me,...pe]=fe().map(ge=>ge.ref.current),[W]=pe.slice(-1),ie=document.activeElement;for(const ge of ne)if(ge===ie||(ge==null||ge.scrollIntoView({block:"nearest"}),ge===me&&D&&(D.scrollTop=0),ge===W&&D&&(D.scrollTop=D.scrollHeight),ge==null||ge.focus(),document.activeElement!==ie))return},[fe,D]),$=f.useCallback(()=>O([B,T]),[O,B,T]);f.useEffect(()=>{de&&$()},[de,$]);const{onOpenChange:Z,triggerPointerDownPosRef:J}=k;f.useEffect(()=>{if(T){let ne={x:0,y:0};const me=W=>{var ie,ge;ne={x:Math.abs(Math.round(W.pageX)-(((ie=J.current)==null?void 0:ie.x)??0)),y:Math.abs(Math.round(W.pageY)-(((ge=J.current)==null?void 0:ge.y)??0))}},pe=W=>{ne.x<=10&&ne.y<=10?W.preventDefault():T.contains(W.target)||Z(!1),document.removeEventListener("pointermove",me),J.current=null};return J.current!==null&&(document.addEventListener("pointermove",me),document.addEventListener("pointerup",pe,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",me),document.removeEventListener("pointerup",pe,{capture:!0})}}},[T,Z,J]),f.useEffect(()=>{const ne=()=>Z(!1);return window.addEventListener("blur",ne),window.addEventListener("resize",ne),()=>{window.removeEventListener("blur",ne),window.removeEventListener("resize",ne)}},[Z]);const[te,M]=Tj(ne=>{const me=fe().filter(ie=>!ie.disabled),pe=me.find(ie=>ie.ref.current===document.activeElement),W=Rj(me,ne,pe);W&&setTimeout(()=>W.ref.current.focus())}),_=f.useCallback((ne,me,pe)=>{const W=!se.current&&!pe;(k.value!==void 0&&k.value===me||W)&&(H(ne),W&&(se.current=!0))},[k.value]),U=f.useCallback(()=>T==null?void 0:T.focus(),[T]),V=f.useCallback((ne,me,pe)=>{const W=!se.current&&!pe;(k.value!==void 0&&k.value===me||W)&&Q(ne)},[k.value]),F=o==="popper"?ah:fj,ae=F===ah?{side:m,sideOffset:p,align:h,alignOffset:y,arrowPadding:v,collisionBoundary:x,collisionPadding:S,sticky:j,hideWhenDetached:C,avoidCollisions:N}:{};return l.jsx(uj,{scope:a,content:T,viewport:D,onViewportChange:P,itemRefCallback:_,selectedItem:B,onItemLeave:U,itemTextRefCallback:V,focusSelectedItem:$,selectedItemText:Y,position:o,isPositioned:de,searchRef:te,children:l.jsx(vl,{as:dD,allowPinchZoom:!0,children:l.jsx(fl,{asChild:!0,trapped:k.open,onMountAutoFocus:ne=>{ne.preventDefault()},onUnmountAutoFocus:be(i,ne=>{var me;(me=k.trigger)==null||me.focus({preventScroll:!0}),ne.preventDefault()}),children:l.jsx(Ls,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:ne=>ne.preventDefault(),onDismiss:()=>k.onOpenChange(!1),children:l.jsx(F,{role:"listbox",id:k.contentId,"data-state":k.open?"open":"closed",dir:k.dir,onContextMenu:ne=>ne.preventDefault(),...E,...ae,onPlaced:()=>he(!0),ref:z,style:{display:"flex",flexDirection:"column",outline:"none",...E.style},onKeyDown:be(E.onKeyDown,ne=>{const me=ne.ctrlKey||ne.altKey||ne.metaKey;if(ne.key==="Tab"&&ne.preventDefault(),!me&&ne.key.length===1&&M(ne.key),["ArrowUp","ArrowDown","Home","End"].includes(ne.key)){let W=fe().filter(ie=>!ie.disabled).map(ie=>ie.ref.current);if(["ArrowUp","End"].includes(ne.key)&&(W=W.slice().reverse()),["ArrowUp","ArrowDown"].includes(ne.key)){const ie=ne.target,ge=W.indexOf(ie);W=W.slice(ge+1)}setTimeout(()=>O(W)),ne.preventDefault()}})})})})})})});dj.displayName=uD;var fD="SelectItemAlignedPosition",fj=f.forwardRef((e,n)=>{const{__scopeSelect:a,onPlaced:o,...i}=e,c=Na(io,a),d=ka(io,a),[m,p]=f.useState(null),[h,y]=f.useState(null),v=ze(n,z=>y(z)),x=Ed(a),S=f.useRef(!1),j=f.useRef(!0),{viewport:C,selectedItem:N,selectedItemText:E,focusSelectedItem:k}=d,T=f.useCallback(()=>{if(c.trigger&&c.valueNode&&m&&h&&C&&N&&E){const z=c.trigger.getBoundingClientRect(),B=h.getBoundingClientRect(),H=c.valueNode.getBoundingClientRect(),Y=E.getBoundingClientRect();if(c.dir!=="rtl"){const ie=Y.left-B.left,ge=H.left-ie,je=z.left-ge,Ae=z.width+je,tt=Math.max(Ae,B.width),ct=window.innerWidth-Yn,kt=rh(ge,[Yn,Math.max(Yn,ct-tt)]);m.style.minWidth=Ae+"px",m.style.left=kt+"px"}else{const ie=B.right-Y.right,ge=window.innerWidth-H.right-ie,je=window.innerWidth-z.right-ge,Ae=z.width+je,tt=Math.max(Ae,B.width),ct=window.innerWidth-Yn,kt=rh(ge,[Yn,Math.max(Yn,ct-tt)]);m.style.minWidth=Ae+"px",m.style.right=kt+"px"}const Q=x(),fe=window.innerHeight-Yn*2,de=C.scrollHeight,he=window.getComputedStyle(h),se=parseInt(he.borderTopWidth,10),O=parseInt(he.paddingTop,10),$=parseInt(he.borderBottomWidth,10),Z=parseInt(he.paddingBottom,10),J=se+O+de+Z+$,te=Math.min(N.offsetHeight*5,J),M=window.getComputedStyle(C),_=parseInt(M.paddingTop,10),U=parseInt(M.paddingBottom,10),V=z.top+z.height/2-Yn,F=fe-V,ae=N.offsetHeight/2,ne=N.offsetTop+ae,me=se+O+ne,pe=J-me;if(me<=V){const ie=Q.length>0&&N===Q[Q.length-1].ref.current;m.style.bottom="0px";const ge=h.clientHeight-C.offsetTop-C.offsetHeight,je=Math.max(F,ae+(ie?U:0)+ge+$),Ae=me+je;m.style.height=Ae+"px"}else{const ie=Q.length>0&&N===Q[0].ref.current;m.style.top="0px";const je=Math.max(V,se+C.offsetTop+(ie?_:0)+ae)+pe;m.style.height=je+"px",C.scrollTop=me-V+C.offsetTop}m.style.margin=`${Yn}px 0`,m.style.minHeight=te+"px",m.style.maxHeight=fe+"px",o==null||o(),requestAnimationFrame(()=>S.current=!0)}},[x,c.trigger,c.valueNode,m,h,C,N,E,c.dir,o]);jt(()=>T(),[T]);const[R,D]=f.useState();jt(()=>{h&&D(window.getComputedStyle(h).zIndex)},[h]);const P=f.useCallback(z=>{z&&j.current===!0&&(T(),k==null||k(),j.current=!1)},[T,k]);return l.jsx(pD,{scope:a,contentWrapper:m,shouldExpandOnScrollRef:S,onScrollButtonChange:P,children:l.jsx("div",{ref:p,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:R},children:l.jsx(Nn.div,{...i,ref:v,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})});fj.displayName=fD;var mD="SelectPopperPosition",ah=f.forwardRef((e,n)=>{const{__scopeSelect:a,align:o="start",collisionPadding:i=Yn,...c}=e,d=Nd(a);return l.jsx(Ju,{...d,...c,ref:n,align:o,collisionPadding:i,style:{boxSizing:"border-box",...c.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ah.displayName=mD;var[pD,Cg]=$s(io,{}),oh="SelectViewport",mj=f.forwardRef((e,n)=>{const{__scopeSelect:a,nonce:o,...i}=e,c=ka(oh,a),d=Cg(oh,a),m=ze(n,c.onViewportChange),p=f.useRef(0);return l.jsxs(l.Fragment,{children:[l.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),l.jsx(jd.Slot,{scope:a,children:l.jsx(Nn.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:m,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:be(i.onScroll,h=>{const y=h.currentTarget,{contentWrapper:v,shouldExpandOnScrollRef:x}=d;if(x!=null&&x.current&&v){const S=Math.abs(p.current-y.scrollTop);if(S>0){const j=window.innerHeight-Yn*2,C=parseFloat(v.style.minHeight),N=parseFloat(v.style.height),E=Math.max(C,N);if(E0?R:0,v.style.justifyContent="flex-end")}}}p.current=y.scrollTop})})})]})});mj.displayName=oh;var pj="SelectGroup",[hD,gD]=$s(pj),vD=f.forwardRef((e,n)=>{const{__scopeSelect:a,...o}=e,i=Dt();return l.jsx(hD,{scope:a,id:i,children:l.jsx(Nn.div,{role:"group","aria-labelledby":i,...o,ref:n})})});vD.displayName=pj;var hj="SelectLabel",gj=f.forwardRef((e,n)=>{const{__scopeSelect:a,...o}=e,i=gD(hj,a);return l.jsx(Nn.div,{id:i.id,...o,ref:n})});gj.displayName=hj;var Au="SelectItem",[bD,vj]=$s(Au),bj=f.forwardRef((e,n)=>{const{__scopeSelect:a,value:o,disabled:i=!1,textValue:c,...d}=e,m=Na(Au,a),p=ka(Au,a),h=m.value===o,[y,v]=f.useState(c??""),[x,S]=f.useState(!1),j=ze(n,k=>{var T;return(T=p.itemRefCallback)==null?void 0:T.call(p,k,o,i)}),C=Dt(),N=f.useRef("touch"),E=()=>{i||(m.onValueChange(o),m.onOpenChange(!1))};if(o==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return l.jsx(bD,{scope:a,value:o,disabled:i,textId:C,isSelected:h,onItemTextChange:f.useCallback(k=>{v(T=>T||((k==null?void 0:k.textContent)??"").trim())},[]),children:l.jsx(jd.ItemSlot,{scope:a,value:o,disabled:i,textValue:y,children:l.jsx(Nn.div,{role:"option","aria-labelledby":C,"data-highlighted":x?"":void 0,"aria-selected":h&&x,"data-state":h?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...d,ref:j,onFocus:be(d.onFocus,()=>S(!0)),onBlur:be(d.onBlur,()=>S(!1)),onClick:be(d.onClick,()=>{N.current!=="mouse"&&E()}),onPointerUp:be(d.onPointerUp,()=>{N.current==="mouse"&&E()}),onPointerDown:be(d.onPointerDown,k=>{N.current=k.pointerType}),onPointerMove:be(d.onPointerMove,k=>{var T;N.current=k.pointerType,i?(T=p.onItemLeave)==null||T.call(p):N.current==="mouse"&&k.currentTarget.focus({preventScroll:!0})}),onPointerLeave:be(d.onPointerLeave,k=>{var T;k.currentTarget===document.activeElement&&((T=p.onItemLeave)==null||T.call(p))}),onKeyDown:be(d.onKeyDown,k=>{var R;((R=p.searchRef)==null?void 0:R.current)!==""&&k.key===" "||(rD.includes(k.key)&&E(),k.key===" "&&k.preventDefault())})})})})});bj.displayName=Au;var Hi="SelectItemText",yj=f.forwardRef((e,n)=>{const{__scopeSelect:a,className:o,style:i,...c}=e,d=Na(Hi,a),m=ka(Hi,a),p=vj(Hi,a),h=iD(Hi,a),[y,v]=f.useState(null),x=ze(n,E=>v(E),p.onItemTextChange,E=>{var k;return(k=m.itemTextRefCallback)==null?void 0:k.call(m,E,p.value,p.disabled)}),S=y==null?void 0:y.textContent,j=f.useMemo(()=>l.jsx("option",{value:p.value,disabled:p.disabled,children:S},p.value),[p.disabled,p.value,S]),{onNativeOptionAdd:C,onNativeOptionRemove:N}=h;return jt(()=>(C(j),()=>N(j)),[C,N,j]),l.jsxs(l.Fragment,{children:[l.jsx(Nn.span,{id:p.textId,...c,ref:x}),p.isSelected&&d.valueNode&&!d.valueNodeHasChildren?po.createPortal(c.children,d.valueNode):null]})});yj.displayName=Hi;var xj="SelectItemIndicator",Sj=f.forwardRef((e,n)=>{const{__scopeSelect:a,...o}=e;return vj(xj,a).isSelected?l.jsx(Nn.span,{"aria-hidden":!0,...o,ref:n}):null});Sj.displayName=xj;var sh="SelectScrollUpButton",wj=f.forwardRef((e,n)=>{const a=ka(sh,e.__scopeSelect),o=Cg(sh,e.__scopeSelect),[i,c]=f.useState(!1),d=ze(n,o.onScrollButtonChange);return jt(()=>{if(a.viewport&&a.isPositioned){let m=function(){const h=p.scrollTop>0;c(h)};const p=a.viewport;return m(),p.addEventListener("scroll",m),()=>p.removeEventListener("scroll",m)}},[a.viewport,a.isPositioned]),i?l.jsx(jj,{...e,ref:d,onAutoScroll:()=>{const{viewport:m,selectedItem:p}=a;m&&p&&(m.scrollTop=m.scrollTop-p.offsetHeight)}}):null});wj.displayName=sh;var ih="SelectScrollDownButton",Cj=f.forwardRef((e,n)=>{const a=ka(ih,e.__scopeSelect),o=Cg(ih,e.__scopeSelect),[i,c]=f.useState(!1),d=ze(n,o.onScrollButtonChange);return jt(()=>{if(a.viewport&&a.isPositioned){let m=function(){const h=p.scrollHeight-p.clientHeight,y=Math.ceil(p.scrollTop)p.removeEventListener("scroll",m)}},[a.viewport,a.isPositioned]),i?l.jsx(jj,{...e,ref:d,onAutoScroll:()=>{const{viewport:m,selectedItem:p}=a;m&&p&&(m.scrollTop=m.scrollTop+p.offsetHeight)}}):null});Cj.displayName=ih;var jj=f.forwardRef((e,n)=>{const{__scopeSelect:a,onAutoScroll:o,...i}=e,c=ka("SelectScrollButton",a),d=f.useRef(null),m=Ed(a),p=f.useCallback(()=>{d.current!==null&&(window.clearInterval(d.current),d.current=null)},[]);return f.useEffect(()=>()=>p(),[p]),jt(()=>{var y;const h=m().find(v=>v.ref.current===document.activeElement);(y=h==null?void 0:h.ref.current)==null||y.scrollIntoView({block:"nearest"})},[m]),l.jsx(Nn.div,{"aria-hidden":!0,...i,ref:n,style:{flexShrink:0,...i.style},onPointerDown:be(i.onPointerDown,()=>{d.current===null&&(d.current=window.setInterval(o,50))}),onPointerMove:be(i.onPointerMove,()=>{var h;(h=c.onItemLeave)==null||h.call(c),d.current===null&&(d.current=window.setInterval(o,50))}),onPointerLeave:be(i.onPointerLeave,()=>{p()})})}),yD="SelectSeparator",Ej=f.forwardRef((e,n)=>{const{__scopeSelect:a,...o}=e;return l.jsx(Nn.div,{"aria-hidden":!0,...o,ref:n})});Ej.displayName=yD;var lh="SelectArrow",xD=f.forwardRef((e,n)=>{const{__scopeSelect:a,...o}=e,i=Nd(a),c=Na(lh,a),d=ka(lh,a);return c.open&&d.position==="popper"?l.jsx(ed,{...i,...o,ref:n}):null});xD.displayName=lh;var SD="SelectBubbleInput",Nj=f.forwardRef(({__scopeSelect:e,value:n,...a},o)=>{const i=f.useRef(null),c=ze(o,i),d=WC(n);return f.useEffect(()=>{const m=i.current;if(!m)return;const p=window.HTMLSelectElement.prototype,y=Object.getOwnPropertyDescriptor(p,"value").set;if(d!==n&&y){const v=new Event("change",{bubbles:!0});y.call(m,n),m.dispatchEvent(v)}},[d,n]),l.jsx(Nn.select,{...a,style:{...zw,...a.style},ref:c,defaultValue:n})});Nj.displayName=SD;function kj(e){return e===""||e===void 0}function Tj(e){const n=Ot(e),a=f.useRef(""),o=f.useRef(0),i=f.useCallback(d=>{const m=a.current+d;n(m),(function p(h){a.current=h,window.clearTimeout(o.current),h!==""&&(o.current=window.setTimeout(()=>p(""),1e3))})(m)},[n]),c=f.useCallback(()=>{a.current="",window.clearTimeout(o.current)},[]);return f.useEffect(()=>()=>window.clearTimeout(o.current),[]),[a,i,c]}function Rj(e,n,a){const i=n.length>1&&Array.from(n).every(h=>h===n[0])?n[0]:n,c=a?e.indexOf(a):-1;let d=wD(e,Math.max(c,0));i.length===1&&(d=d.filter(h=>h!==a));const p=d.find(h=>h.textValue.toLowerCase().startsWith(i.toLowerCase()));return p!==a?p:void 0}function wD(e,n){return e.map((a,o)=>e[(n+o)%e.length])}var CD=nj,Aj=aj,jD=sj,ED=ij,ND=lj,Mj=cj,kD=mj,_j=gj,Oj=bj,TD=yj,RD=Sj,Dj=wj,Lj=Cj,zj=Ej;const Es=CD,Ns=jD,lo=f.forwardRef(({className:e,children:n,...a},o)=>l.jsxs(Aj,{ref:o,className:ce("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...a,children:[n,l.jsx(ED,{asChild:!0,children:l.jsx(iw,{className:"h-4 w-4 opacity-50"})})]}));lo.displayName=Aj.displayName;const Pj=f.forwardRef(({className:e,...n},a)=>l.jsx(Dj,{ref:a,className:ce("flex cursor-default items-center justify-center py-1",e),...n,children:l.jsx(HA,{className:"h-4 w-4"})}));Pj.displayName=Dj.displayName;const Ij=f.forwardRef(({className:e,...n},a)=>l.jsx(Lj,{ref:a,className:ce("flex cursor-default items-center justify-center py-1",e),...n,children:l.jsx(iw,{className:"h-4 w-4"})}));Ij.displayName=Lj.displayName;const co=f.forwardRef(({className:e,children:n,position:a="popper",...o},i)=>l.jsx(ND,{children:l.jsxs(Mj,{ref:i,className:ce("relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",a==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:a,...o,children:[l.jsx(Pj,{}),l.jsx(kD,{className:ce("p-1",a==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:n}),l.jsx(Ij,{})]})}));co.displayName=Mj.displayName;const AD=f.forwardRef(({className:e,...n},a)=>l.jsx(_j,{ref:a,className:ce("px-2 py-1.5 text-sm font-semibold",e),...n}));AD.displayName=_j.displayName;const Zt=f.forwardRef(({className:e,children:n,...a},o)=>l.jsxs(Oj,{ref:o,className:ce("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...a,children:[l.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:l.jsx(RD,{children:l.jsx(sw,{className:"h-4 w-4"})})}),l.jsx(TD,{children:n})]}));Zt.displayName=Oj.displayName;const MD=f.forwardRef(({className:e,...n},a)=>l.jsx(zj,{ref:a,className:ce("-mx-1 my-1 h-px bg-muted",e),...n}));MD.displayName=zj.displayName;function kd(){return(kd=Object.assign||function(e){for(var n=1;n=0||(i[a]=e[a]);return i}function Fi(e){var n=f.useRef(e),a=f.useRef(function(o){n.current&&n.current(o)});return n.current=e,a.current}var ol=function(e,n,a){return n===void 0&&(n=0),a===void 0&&(a=1),e>a?a:e0:T.buttons>0)&&c.current?d(F1(c.current,T,h.current)):(k(!1),p())},E=function(){k(!1),p()};function k(T){var R=y.current,D=ch(c.current),P=T?D.addEventListener:D.removeEventListener;P(R?"touchmove":"mousemove",N),P(R?"touchend":"mouseup",E)}return[function(T){var R=T.nativeEvent,D=c.current;if(D&&(Y1(R),!(function(z,B){return B&&!Yi(z)})(R,y.current)&&D)){if(Yi(R)){y.current=!0;var P=R.changedTouches||[];P.length&&(h.current=P[0].identifier)}D.focus(),d(F1(D,R,h.current)),k(!0)}},function(T){var R=T.which||T.keyCode;R<37||R>40||(T.preventDefault(),m({left:R===39?.05:R===37?-.05:0,top:R===40?.05:R===38?-.05:0}))},function(T){var R=T.which||T.keyCode;R>=37&&R<=40&&p()},k]},[m,d,p]),x=v[0],S=v[1],j=v[2],C=v[3];return f.useEffect(function(){return C},[C]),ue.createElement("div",kd({},i,{onTouchStart:x,onMouseDown:x,className:"react-colorful__interactive",ref:c,onKeyDown:S,onKeyUp:j,tabIndex:0,role:"slider"}))}),jg=function(e){return e.filter(Boolean).join(" ")},Uj=function(e){var n=e.color,a=e.left,o=e.top,i=o===void 0?.5:o,c=jg(["react-colorful__pointer",e.className]);return ue.createElement("div",{className:c,style:{top:100*i+"%",left:100*a+"%"}},ue.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:n}}))},Ut=function(e,n,a){return n===void 0&&(n=0),a===void 0&&(a=Math.pow(10,n)),Math.round(a*e)/a},_D=function(e){return PD(uh(e))},uh=function(e){return e[0]==="#"&&(e=e.substring(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?Ut(parseInt(e[3]+e[3],16)/255,2):1}:{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16),a:e.length===8?Ut(parseInt(e.substring(6,8),16)/255,2):1}},OD=function(e){return zD(LD(e))},DD=function(e){var n=e.s,a=e.v,o=e.a,i=(200-n)*a/100;return{h:Ut(e.h),s:Ut(i>0&&i<200?n*a/100/(i<=100?i:200-i)*100:0),l:Ut(i/2),a:Ut(o,2)}},dh=function(e){var n=DD(e);return"hsl("+n.h+", "+n.s+"%, "+n.l+"%)"},LD=function(e){var n=e.h,a=e.s,o=e.v,i=e.a;n=n/360*6,a/=100,o/=100;var c=Math.floor(n),d=o*(1-a),m=o*(1-(n-c)*a),p=o*(1-(1-n+c)*a),h=c%6;return{r:Ut(255*[o,m,d,d,p,o][h]),g:Ut(255*[p,o,o,m,d,d][h]),b:Ut(255*[d,d,p,o,o,m][h]),a:Ut(i,2)}},Zc=function(e){var n=e.toString(16);return n.length<2?"0"+n:n},zD=function(e){var n=e.r,a=e.g,o=e.b,i=e.a,c=i<1?Zc(Ut(255*i)):"";return"#"+Zc(n)+Zc(a)+Zc(o)+c},PD=function(e){var n=e.r,a=e.g,o=e.b,i=e.a,c=Math.max(n,a,o),d=c-Math.min(n,a,o),m=d?c===n?(a-o)/d:c===a?2+(o-n)/d:4+(n-a)/d:0;return{h:Ut(60*(m<0?m+6:m)),s:Ut(c?d/c*100:0),v:Ut(c/255*100),a:i}},ID=ue.memo(function(e){var n=e.hue,a=e.onChange,o=e.onChangeEnd,i=jg(["react-colorful__hue",e.className]);return ue.createElement("div",{className:i},ue.createElement(Bj,{onMove:function(c){a({h:360*c.left})},onKey:function(c){a({h:ol(n+360*c.left,0,360)})},onEnd:o,"aria-label":"Hue","aria-valuenow":Ut(n),"aria-valuemax":"360","aria-valuemin":"0"},ue.createElement(Uj,{className:"react-colorful__hue-pointer",left:n/360,color:dh({h:n,s:100,v:100,a:1})})))}),$D=ue.memo(function(e){var n=e.hsva,a=e.onChange,o=e.onChangeEnd,i={backgroundColor:dh({h:n.h,s:100,v:100,a:1})};return ue.createElement("div",{className:"react-colorful__saturation",style:i},ue.createElement(Bj,{onMove:function(c){a({s:100*c.left,v:100-100*c.top})},onKey:function(c){a({s:ol(n.s+100*c.left,0,100),v:ol(n.v-100*c.top,0,100)})},onEnd:o,"aria-label":"Color","aria-valuetext":"Saturation "+Ut(n.s)+"%, Brightness "+Ut(n.v)+"%"},ue.createElement(Uj,{className:"react-colorful__saturation-pointer",top:1-n.v/100,left:n.s/100,color:dh(n)})))}),Hj=function(e,n){if(e===n)return!0;for(var a in e)if(e[a]!==n[a])return!1;return!0},BD=function(e,n){return e.toLowerCase()===n.toLowerCase()||Hj(uh(e),uh(n))};function UD(e,n,a,o){var i=Fi(a),c=Fi(o),d=f.useState(function(){return e.toHsva(n)}),m=d[0],p=d[1],h=f.useRef({color:n,hsva:m}),y=f.useRef(!1);f.useEffect(function(){if(!e.equal(n,h.current.color)){var S=e.toHsva(n);h.current={hsva:S,color:n},p(S),y.current=!1}},[n,e]),f.useEffect(function(){var S;Hj(m,h.current.hsva)||e.equal(S=e.fromHsva(m),h.current.color)||(h.current={hsva:m,color:S},i(S),y.current=!0)},[m,e,i]);var v=f.useCallback(function(S){p(function(j){return Object.assign({},j,S)})},[]),x=f.useCallback(function(){y.current&&(y.current=!1,c(h.current.color))},[c]);return[m,v,x]}var HD=typeof window<"u"?f.useLayoutEffect:f.useEffect,VD=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},W1=new Map,GD=function(e){HD(function(){var n=e.current?e.current.ownerDocument:document;if(n!==void 0&&!W1.has(n)){var a=n.createElement("style");a.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,W1.set(n,a);var o=VD();o&&a.setAttribute("nonce",o),n.head.appendChild(a)}},[])},FD=function(e){var n=e.className,a=e.colorModel,o=e.color,i=o===void 0?a.defaultColor:o,c=e.onChange,d=e.onChangeEnd,m=$j(e,["className","colorModel","color","onChange","onChangeEnd"]),p=f.useRef(null);GD(p);var h=UD(a,i,c,d),y=h[0],v=h[1],x=h[2],S=jg(["react-colorful",n]);return ue.createElement("div",kd({},m,{ref:p,className:S}),ue.createElement($D,{hsva:y,onChange:v,onChangeEnd:x}),ue.createElement(ID,{hue:y.h,onChange:v,onChangeEnd:x,className:"react-colorful__last-control"}))},YD={defaultColor:"000",toHsva:_D,fromHsva:function(e){return OD({h:e.h,s:e.s,v:e.v,a:1})},equal:BD},WD=function(e){return ue.createElement(FD,kd({},e,{colorModel:YD}))};function cr(e,n="#000000"){let a=String(e??"").trim();if(!a)return n;a.startsWith("#")||(a=`#${a}`);const o=a.slice(1);return/^[0-9a-fA-F]{3}$/.test(o)?`#${o.split("").map(i=>i+i).join("").toLowerCase()}`:/^[0-9a-fA-F]{6}$/.test(o)?`#${o.toLowerCase()}`:n}function fh(e){const n=String(e??"").trim();return/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/.test(n)||/^[0-9a-fA-F]{6}$/.test(n)}function qD(e){const n=f.useRef(null);return f.useEffect(()=>{e&&(typeof e=="function"?e(n.current):e.current=n.current)}),n}function KD(e,n=[]){let a=[];function o(c,d){const m=f.createContext(d),p=a.length;a=[...a,d];const h=v=>{var E;const{scope:x,children:S,...j}=v,C=((E=x==null?void 0:x[e])==null?void 0:E[p])||m,N=f.useMemo(()=>j,Object.values(j));return l.jsx(C.Provider,{value:N,children:S})};h.displayName=c+"Provider";function y(v,x){var C;const S=((C=x==null?void 0:x[e])==null?void 0:C[p])||m,j=f.useContext(S);if(j)return j;if(d!==void 0)return d;throw new Error(`\`${v}\` must be used within \`${c}\``)}return[h,y]}const i=()=>{const c=a.map(d=>f.createContext(d));return function(m){const p=(m==null?void 0:m[e])||c;return f.useMemo(()=>({[`__scope${e}`]:{...m,[e]:p}}),[m,p])}};return i.scopeName=e,[o,XD(i,...n)]}function XD(...e){const n=e[0];if(e.length===1)return n;const a=()=>{const o=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(c){const d=o.reduce((m,{useScope:p,scopeName:h})=>{const v=p(c)[`__scope${h}`];return{...m,...v}},{});return f.useMemo(()=>({[`__scope${n.scopeName}`]:d}),[d])}};return a.scopeName=n.scopeName,a}function Vj(e){const n=ZD(e),a=f.forwardRef((o,i)=>{const{children:c,...d}=o,m=f.Children.toArray(c),p=m.find(JD);if(p){const h=p.props.children,y=m.map(v=>v===p?f.Children.count(h)>1?f.Children.only(null):f.isValidElement(h)?h.props.children:null:v);return l.jsx(n,{...d,ref:i,children:f.isValidElement(h)?f.cloneElement(h,void 0,y):null})}return l.jsx(n,{...d,ref:i,children:c})});return a.displayName=`${e}.Slot`,a}function ZD(e){const n=f.forwardRef((a,o)=>{const{children:i,...c}=a;if(f.isValidElement(i)){const d=tL(i),m=eL(c,i.props);return i.type!==f.Fragment&&(m.ref=o?st(o,d):d),f.cloneElement(i,m)}return f.Children.count(i)>1?f.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var QD=Symbol("radix.slottable");function JD(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===QD}function eL(e,n){const a={...n};for(const o in n){const i=e[o],c=n[o];/^on[A-Z]/.test(o)?i&&c?a[o]=(...m)=>{const p=c(...m);return i(...m),p}:i&&(a[o]=i):o==="style"?a[o]={...i,...c}:o==="className"&&(a[o]=[i,c].filter(Boolean).join(" "))}return{...e,...a}}function tL(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var nL=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Gj=nL.reduce((e,n)=>{const a=Vj(`Primitive.${n}`),o=f.forwardRef((i,c)=>{const{asChild:d,...m}=i,p=d?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(p,{...m,ref:c})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{}),Td="Popover",[Fj]=KD(Td,[Ea]),Nl=Ea(),[rL,Ta]=Fj(Td),Yj=e=>{const{__scopePopover:n,children:a,open:o,defaultOpen:i,onOpenChange:c,modal:d=!1}=e,m=Nl(n),p=f.useRef(null),[h,y]=f.useState(!1),[v,x]=Pr({prop:o,defaultProp:i??!1,onChange:c,caller:Td});return l.jsx(Qu,{...m,children:l.jsx(rL,{scope:n,contentId:Dt(),triggerRef:p,open:v,onOpenChange:x,onOpenToggle:f.useCallback(()=>x(S=>!S),[x]),hasCustomAnchor:h,onCustomAnchorAdd:f.useCallback(()=>y(!0),[]),onCustomAnchorRemove:f.useCallback(()=>y(!1),[]),modal:d,children:a})})};Yj.displayName=Td;var Wj="PopoverAnchor",aL=f.forwardRef((e,n)=>{const{__scopePopover:a,...o}=e,i=Ta(Wj,a),c=Nl(a),{onCustomAnchorAdd:d,onCustomAnchorRemove:m}=i;return f.useEffect(()=>(d(),()=>m()),[d,m]),l.jsx(pl,{...c,...o,ref:n})});aL.displayName=Wj;var qj="PopoverTrigger",Kj=f.forwardRef((e,n)=>{const{__scopePopover:a,...o}=e,i=Ta(qj,a),c=Nl(a),d=ze(n,i.triggerRef),m=l.jsx(Gj.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":e5(i.open),...o,ref:d,onClick:be(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?m:l.jsx(pl,{asChild:!0,...c,children:m})});Kj.displayName=qj;var Eg="PopoverPortal",[oL,sL]=Fj(Eg,{forceMount:void 0}),Xj=e=>{const{__scopePopover:n,forceMount:a,children:o,container:i}=e,c=Ta(Eg,n);return l.jsx(oL,{scope:n,forceMount:a,children:l.jsx(Ht,{present:a||c.open,children:l.jsx(Is,{asChild:!0,container:i,children:o})})})};Xj.displayName=Eg;var ks="PopoverContent",Zj=f.forwardRef((e,n)=>{const a=sL(ks,e.__scopePopover),{forceMount:o=a.forceMount,...i}=e,c=Ta(ks,e.__scopePopover);return l.jsx(Ht,{present:o||c.open,children:c.modal?l.jsx(lL,{...i,ref:n}):l.jsx(cL,{...i,ref:n})})});Zj.displayName=ks;var iL=Vj("PopoverContent.RemoveScroll"),lL=f.forwardRef((e,n)=>{const a=Ta(ks,e.__scopePopover),o=f.useRef(null),i=ze(n,o),c=f.useRef(!1);return f.useEffect(()=>{const d=o.current;if(d)return nd(d)},[]),l.jsx(vl,{as:iL,allowPinchZoom:!0,children:l.jsx(Qj,{...e,ref:i,trapFocus:a.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:be(e.onCloseAutoFocus,d=>{var m;d.preventDefault(),c.current||(m=a.triggerRef.current)==null||m.focus()}),onPointerDownOutside:be(e.onPointerDownOutside,d=>{const m=d.detail.originalEvent,p=m.button===0&&m.ctrlKey===!0,h=m.button===2||p;c.current=h},{checkForDefaultPrevented:!1}),onFocusOutside:be(e.onFocusOutside,d=>d.preventDefault(),{checkForDefaultPrevented:!1})})})}),cL=f.forwardRef((e,n)=>{const a=Ta(ks,e.__scopePopover),o=f.useRef(!1),i=f.useRef(!1);return l.jsx(Qj,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:c=>{var d,m;(d=e.onCloseAutoFocus)==null||d.call(e,c),c.defaultPrevented||(o.current||(m=a.triggerRef.current)==null||m.focus(),c.preventDefault()),o.current=!1,i.current=!1},onInteractOutside:c=>{var p,h;(p=e.onInteractOutside)==null||p.call(e,c),c.defaultPrevented||(o.current=!0,c.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const d=c.target;((h=a.triggerRef.current)==null?void 0:h.contains(d))&&c.preventDefault(),c.detail.originalEvent.type==="focusin"&&i.current&&c.preventDefault()}})}),Qj=f.forwardRef((e,n)=>{const{__scopePopover:a,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:c,disableOutsidePointerEvents:d,onEscapeKeyDown:m,onPointerDownOutside:p,onFocusOutside:h,onInteractOutside:y,...v}=e,x=Ta(ks,a),S=Nl(a);return Wu(),l.jsx(fl,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:i,onUnmountAutoFocus:c,children:l.jsx(Ls,{asChild:!0,disableOutsidePointerEvents:d,onInteractOutside:y,onEscapeKeyDown:m,onPointerDownOutside:p,onFocusOutside:h,onDismiss:()=>x.onOpenChange(!1),children:l.jsx(Ju,{"data-state":e5(x.open),role:"dialog",id:x.contentId,...S,...v,ref:n,style:{...v.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),Jj="PopoverClose",uL=f.forwardRef((e,n)=>{const{__scopePopover:a,...o}=e,i=Ta(Jj,a);return l.jsx(Gj.button,{type:"button",...o,ref:n,onClick:be(e.onClick,()=>i.onOpenChange(!1))})});uL.displayName=Jj;var dL="PopoverArrow",fL=f.forwardRef((e,n)=>{const{__scopePopover:a,...o}=e,i=Nl(a);return l.jsx(ed,{...i,...o,ref:n})});fL.displayName=dL;function e5(e){return e?"open":"closed"}var mL=Yj,pL=Kj,hL=Xj,t5=Zj;const gL=mL,vL=pL,n5=f.forwardRef(({className:e,align:n="center",sideOffset:a=4,...o},i)=>l.jsx(hL,{children:l.jsx(t5,{ref:i,align:n,sideOffset:a,className:ce("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]",e),...o})}));n5.displayName=t5.displayName;const Ng=f.forwardRef(({disabled:e,value:n,onChange:a,onBlur:o,name:i,className:c,size:d,...m},p)=>{const h=qD(p),[y,v]=f.useState(!1),[x,S]=f.useState(""),j=f.useMemo(()=>cr(n,"#ffffff"),[n]),C=y&&x?x:j;function N(E){fh(E)&&a(cr(E)),S("")}return l.jsxs(gL,{open:y,onOpenChange:E=>{E||N(x||j),v(E)},children:[l.jsx(vL,{asChild:!0,disabled:e,onBlur:o,children:l.jsx(ve,{...m,type:"button",className:ce("size-10 shrink-0 overflow-hidden rounded-md border border-border p-0 shadow-sm",c),name:i,onClick:()=>v(!0),size:d??"icon",style:{backgroundColor:j},variant:"outline","aria-label":"Pick colour",children:l.jsx("span",{className:"sr-only",children:j})})}),l.jsxs(n5,{className:"w-auto border-border bg-card p-3",align:"start",children:[l.jsx(WD,{className:"color-picker-swatch",color:j,onChange:E=>{S(""),a(cr(E))}}),l.jsx(Ue,{ref:h,maxLength:7,value:C,onChange:E=>{const k=E.currentTarget.value;S(k),fh(k)&&a(cr(k))},onBlur:()=>N(x||j),onKeyDown:E=>{E.key==="Enter"&&(N(x||j),v(!1))},className:"mt-3 border-border bg-secondary/30 font-mono text-sm uppercase",placeholder:"#000000"})]})]})});Ng.displayName="ColorPicker";function bL({value:e,onChange:n,placeholder:a="Add item…"}){const o=Array.isArray(e)?e:[];return l.jsxs("div",{className:"space-y-2",children:[o.map((i,c)=>l.jsxs("div",{className:"flex gap-2",children:[l.jsx(Ue,{value:i,onChange:d=>{const m=[...o];m[c]=d.target.value,n(m)},placeholder:a,className:"border-border bg-secondary/30"}),l.jsx(ve,{type:"button",variant:"ghost",size:"icon",className:"shrink-0 text-destructive hover:bg-destructive/10",onClick:()=>n(o.filter((d,m)=>m!==c)),children:l.jsx(ye,{icon:Lh,size:16})})]},c)),l.jsxs(ve,{type:"button",variant:"outline",size:"sm",className:"w-full border-dashed border-border",onClick:()=>n([...o,""]),children:[l.jsx(ye,{icon:gu,size:16,className:"mr-2"}),"Add line"]})]})}const sl="system",kg=[{id:"Inter",label:"Inter"},{id:"Roboto",label:"Roboto"},{id:"Open Sans",label:"Open Sans"},{id:"Lato",label:"Lato"},{id:"Montserrat",label:"Montserrat"},{id:"Poppins",label:"Poppins"},{id:"Nunito",label:"Nunito"},{id:"Raleway",label:"Raleway"},{id:"Work Sans",label:"Work Sans"},{id:"Source Sans 3",label:"Source Sans 3"},{id:"DM Sans",label:"DM Sans"},{id:"Manrope",label:"Manrope"},{id:"Outfit",label:"Outfit"},{id:"Rubik",label:"Rubik"},{id:"Ubuntu",label:"Ubuntu"},{id:"Fira Sans",label:"Fira Sans"},{id:"PT Sans",label:"PT Sans"},{id:"Noto Sans",label:"Noto Sans"},{id:"Oswald",label:"Oswald"},{id:"Merriweather",label:"Merriweather"},{id:"Playfair Display",label:"Playfair Display"},{id:"Libre Baskerville",label:"Libre Baskerville"},{id:"JetBrains Mono",label:"JetBrains Mono"},{id:"Fira Code",label:"Fira Code"}],q1=new Set(kg.map(e=>e.id));function yL(e){return`https://fonts.googleapis.com/css2?${e.map(a=>`family=${encodeURIComponent(a).replace(/%20/g,"+")}:wght@400;600;700;800`).join("&")}&display=swap`}function xL(){const e="supportbot-google-fonts";if(document.getElementById(e))return;const n=document.createElement("link");n.id=e,n.rel="stylesheet",n.href=yL(kg.map(a=>a.id)),document.head.appendChild(n)}function r5(e){var i;if(!e||typeof e!="string")return"Inter";const n=e.trim();if(n===sl)return sl;if(!n.includes(","))return q1.has(n)?n:"Inter";const a=n.match(/^["']?([^"',]+)["']?/),o=(i=a==null?void 0:a[1])==null?void 0:i.trim();return o&&q1.has(o)?o:"Inter"}function Sp(e){return e===sl?'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif':`"${e}", ui-sans-serif, system-ui, sans-serif`}function SL({field:e,value:n,onChange:a,readOnly:o}){const i=e.path.replace(/\./g,"-"),c=r5(n);return f.useEffect(()=>{xL()},[]),l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{htmlFor:i,children:e.label}),e.description?l.jsx("p",{className:"text-xs text-muted-foreground",children:e.description}):null,l.jsxs(Es,{value:c,disabled:o,onValueChange:a,children:[l.jsx(lo,{id:i,className:"border-border bg-secondary/30",style:{fontFamily:Sp(c)},children:l.jsx(Ns,{placeholder:"Choose a font…"})}),l.jsxs(co,{className:"max-h-[min(320px,50vh)]",children:[l.jsx(Zt,{value:sl,style:{fontFamily:Sp(sl)},children:"System default"}),kg.map(d=>l.jsx(Zt,{value:d.id,style:{fontFamily:Sp(d.id)},children:d.label},d.id))]})]})]})}function wL({id:e,label:n,description:a,kind:o,value:i,onChange:c,readOnly:d}){const[m,p]=f.useState(null),[h,y]=f.useState(""),[v,x]=f.useState(!0);f.useEffect(()=>{let N=!1;return x(!0),Ne.getGuildResources().then(E=>{N||E.data&&(p(E.data),y(""))}).catch(E=>{N||y(E instanceof Error?E.message:"Could not load server list")}).finally(()=>{N||x(!1)}),()=>{N=!0}},[]);const S=f.useMemo(()=>m?o==="role"?m.roles:o==="category"?m.categories:m.channels:[],[m,o]),j=String(i??""),C=S.find(N=>N.id===j);return l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{htmlFor:e,children:n}),a?l.jsx("p",{className:"text-xs text-muted-foreground",children:a}):null,m?l.jsxs(Es,{value:C?j:"",disabled:d||v,onValueChange:N=>c(N),children:[l.jsx(lo,{id:e,className:"border-border bg-secondary/30",children:l.jsx(Ns,{placeholder:v?"Loading…":`Select ${o} from ${m.guildName}…`})}),l.jsx(co,{className:"max-h-64",children:S.map(N=>l.jsxs(Zt,{value:N.id,children:[N.name,l.jsx("span",{className:"ml-2 font-mono text-xs text-muted-foreground",children:N.id})]},N.id))})]}):null,l.jsx(Ue,{value:j,disabled:d,onChange:N=>c(N.target.value),placeholder:o==="role"?"Role ID (ROLE_ID)":o==="category"?"Category ID":"Channel ID",className:"border-border bg-secondary/30 font-mono text-sm"}),h?l.jsx("p",{className:"text-xs text-amber-500",children:h}):null,!h&&!m&&!v?l.jsx("p",{className:"text-xs text-muted-foreground",children:"Set General.GuildId and invite the bot to pick from a list."}):null]})}function CL(e,n=[]){let a=[];function o(c,d){const m=f.createContext(d),p=a.length;a=[...a,d];const h=v=>{var E;const{scope:x,children:S,...j}=v,C=((E=x==null?void 0:x[e])==null?void 0:E[p])||m,N=f.useMemo(()=>j,Object.values(j));return l.jsx(C.Provider,{value:N,children:S})};h.displayName=c+"Provider";function y(v,x){var C;const S=((C=x==null?void 0:x[e])==null?void 0:C[p])||m,j=f.useContext(S);if(j)return j;if(d!==void 0)return d;throw new Error(`\`${v}\` must be used within \`${c}\``)}return[h,y]}const i=()=>{const c=a.map(d=>f.createContext(d));return function(m){const p=(m==null?void 0:m[e])||c;return f.useMemo(()=>({[`__scope${e}`]:{...m,[e]:p}}),[m,p])}};return i.scopeName=e,[o,jL(i,...n)]}function jL(...e){const n=e[0];if(e.length===1)return n;const a=()=>{const o=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(c){const d=o.reduce((m,{useScope:p,scopeName:h})=>{const v=p(c)[`__scope${h}`];return{...m,...v}},{});return f.useMemo(()=>({[`__scope${n.scopeName}`]:d}),[d])}};return a.scopeName=n.scopeName,a}function EL(e){const n=NL(e),a=f.forwardRef((o,i)=>{const{children:c,...d}=o,m=f.Children.toArray(c),p=m.find(TL);if(p){const h=p.props.children,y=m.map(v=>v===p?f.Children.count(h)>1?f.Children.only(null):f.isValidElement(h)?h.props.children:null:v);return l.jsx(n,{...d,ref:i,children:f.isValidElement(h)?f.cloneElement(h,void 0,y):null})}return l.jsx(n,{...d,ref:i,children:c})});return a.displayName=`${e}.Slot`,a}function NL(e){const n=f.forwardRef((a,o)=>{const{children:i,...c}=a;if(f.isValidElement(i)){const d=AL(i),m=RL(c,i.props);return i.type!==f.Fragment&&(m.ref=o?st(o,d):d),f.cloneElement(i,m)}return f.Children.count(i)>1?f.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var kL=Symbol("radix.slottable");function TL(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===kL}function RL(e,n){const a={...n};for(const o in n){const i=e[o],c=n[o];/^on[A-Z]/.test(o)?i&&c?a[o]=(...m)=>{const p=c(...m);return i(...m),p}:i&&(a[o]=i):o==="style"?a[o]={...i,...c}:o==="className"&&(a[o]=[i,c].filter(Boolean).join(" "))}return{...e,...a}}function AL(e){var o,i;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?e.ref:(n=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var ML=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Rd=ML.reduce((e,n)=>{const a=EL(`Primitive.${n}`),o=f.forwardRef((i,c)=>{const{asChild:d,...m}=i,p=d?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(p,{...m,ref:c})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{}),Ad="Tabs",[_L]=CL(Ad,[td]),a5=td(),[OL,Tg]=_L(Ad),o5=f.forwardRef((e,n)=>{const{__scopeTabs:a,value:o,onValueChange:i,defaultValue:c,orientation:d="horizontal",dir:m,activationMode:p="automatic",...h}=e,y=dl(m),[v,x]=Pr({prop:o,onChange:i,defaultProp:c??"",caller:Ad});return l.jsx(OL,{scope:a,baseId:Dt(),value:v,onValueChange:x,orientation:d,dir:y,activationMode:p,children:l.jsx(Rd.div,{dir:y,"data-orientation":d,...h,ref:n})})});o5.displayName=Ad;var s5="TabsList",i5=f.forwardRef((e,n)=>{const{__scopeTabs:a,loop:o=!0,...i}=e,c=Tg(s5,a),d=a5(a);return l.jsx(nS,{asChild:!0,...d,orientation:c.orientation,dir:c.dir,loop:o,children:l.jsx(Rd.div,{role:"tablist","aria-orientation":c.orientation,...i,ref:n})})});i5.displayName=s5;var l5="TabsTrigger",c5=f.forwardRef((e,n)=>{const{__scopeTabs:a,value:o,disabled:i=!1,...c}=e,d=Tg(l5,a),m=a5(a),p=f5(d.baseId,o),h=m5(d.baseId,o),y=o===d.value;return l.jsx(rS,{asChild:!0,...m,focusable:!i,active:y,children:l.jsx(Rd.button,{type:"button",role:"tab","aria-selected":y,"aria-controls":h,"data-state":y?"active":"inactive","data-disabled":i?"":void 0,disabled:i,id:p,...c,ref:n,onMouseDown:be(e.onMouseDown,v=>{!i&&v.button===0&&v.ctrlKey===!1?d.onValueChange(o):v.preventDefault()}),onKeyDown:be(e.onKeyDown,v=>{[" ","Enter"].includes(v.key)&&d.onValueChange(o)}),onFocus:be(e.onFocus,()=>{const v=d.activationMode!=="manual";!y&&!i&&v&&d.onValueChange(o)})})})});c5.displayName=l5;var u5="TabsContent",d5=f.forwardRef((e,n)=>{const{__scopeTabs:a,value:o,forceMount:i,children:c,...d}=e,m=Tg(u5,a),p=f5(m.baseId,o),h=m5(m.baseId,o),y=o===m.value,v=f.useRef(y);return f.useEffect(()=>{const x=requestAnimationFrame(()=>v.current=!1);return()=>cancelAnimationFrame(x)},[]),l.jsx(Ht,{present:i||y,children:({present:x})=>l.jsx(Rd.div,{"data-state":y?"active":"inactive","data-orientation":m.orientation,role:"tabpanel","aria-labelledby":p,hidden:!x,id:h,tabIndex:0,...d,ref:n,style:{...e.style,animationDuration:v.current?"0s":void 0},children:x&&c})})});d5.displayName=u5;function f5(e,n){return`${e}-trigger-${n}`}function m5(e,n){return`${e}-content-${n}`}var DL=o5,p5=i5,h5=c5,g5=d5;const v5=DL,Rg=f.forwardRef(({className:e,...n},a)=>l.jsx(p5,{ref:a,className:ce("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...n}));Rg.displayName=p5.displayName;const to=f.forwardRef(({className:e,...n},a)=>l.jsx(h5,{ref:a,className:ce("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",e),...n}));to.displayName=h5.displayName;const mh=f.forwardRef(({className:e,...n},a)=>l.jsx(g5,{ref:a,className:ce("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...n}));mh.displayName=g5.displayName;function Qc(e){if(typeof e!="string"||!e)throw new Error("expected a non-empty string, got: "+e)}function wp(e){if(typeof e!="number")throw new Error("expected a number, got: "+e)}const LL=1,zL=1,bo="emoji",Ts="keyvalue",Ag="favorites",PL="tokens",b5="tokens",IL="unicode",y5="count",$L="group",BL="order",x5="group-order",ph="eTag",Mu="url",K1="skinTone",Bs="readonly",Mg="readwrite",S5="skinUnicodes",UL="skinUnicodes",HL="https://cdn.jsdelivr.net/npm/emoji-picker-element-data@^1/en/emojibase/data.json",VL="en";function GL(e,n){const a=new Set,o=[];for(const i of e){const c=n(i);a.has(c)||(a.add(c),o.push(i))}return o}function X1(e){return GL(e,n=>n.unicode)}function FL(e){function n(a,o,i){const c=o?e.createObjectStore(a,{keyPath:o}):e.createObjectStore(a);if(i)for(const[d,[m,p]]of Object.entries(i))c.createIndex(d,m,{multiEntry:p});return c}n(Ts),n(bo,IL,{[b5]:[PL,!0],[x5]:[[$L,BL]],[S5]:[UL,!0]}),n(Ag,void 0,{[y5]:[""]})}const hh={},uu={},_u={};function w5(e,n,a){a.onerror=()=>n(a.error),a.onblocked=()=>n(new Error("IDB blocked")),a.onsuccess=()=>e(a.result)}async function YL(e){const n=await new Promise((a,o)=>{const i=indexedDB.open(e,LL);hh[e]=i,i.onupgradeneeded=c=>{c.oldVersion_g(e),n}function WL(e){return uu[e]||(uu[e]=YL(e)),uu[e]}function Hr(e,n,a,o){return new Promise((i,c)=>{const d=e.transaction(n,a,{durability:"relaxed"}),m=typeof n=="string"?d.objectStore(n):n.map(h=>d.objectStore(h));let p;o(m,d,h=>{p=h}),d.oncomplete=()=>i(p),d.onerror=()=>c(d.error)})}function _g(e){const n=hh[e],a=n&&n.result;if(a){a.close();const o=_u[e];if(o)for(const i of o)i()}delete hh[e],delete uu[e],delete _u[e]}function qL(e){return new Promise((n,a)=>{_g(e);const o=indexedDB.deleteDatabase(e);w5(n,a,o)})}function KL(e,n){let a=_u[e];a||(a=_u[e]=[]),a.push(n)}const XL=new Set([":D","XD",":'D","O:)",":X",":P",";P","XP",":L",":Z",":j","8D","XO","8)",":B",":O",":S",":'o","Dx","X(","D:",":C",">0)",":3","3","<3","\\M/",":E","8#"]);function vs(e){return e.split(/[\s_]+/).map(n=>!n.match(/\w/)||XL.has(n)?n.toLowerCase():n.replace(/[)(:,]/g,"").replace(/’/g,"'").toLowerCase()).filter(Boolean)}const ZL=2;function C5(e){return e.filter(Boolean).map(n=>n.toLowerCase()).filter(n=>n.length>=ZL)}function QL(e){return e.map(({annotation:a,emoticon:o,group:i,order:c,shortcodes:d,skins:m,tags:p,emoji:h,version:y})=>{const v=[...new Set(C5([...(d||[]).map(vs).flat(),...(p||[]).map(vs).flat(),...vs(a),o]))].sort(),x={annotation:a,group:i,order:c,tags:p,tokens:v,unicode:h,version:y};if(o&&(x.emoticon=o),d&&(x.shortcodes=d),m){x.skinTones=[],x.skinUnicodes=[],x.skinVersions=[];for(const{tone:S,emoji:j,version:C}of m)x.skinTones.push(S),x.skinUnicodes.push(j),x.skinVersions.push(C)}return x})}function j5(e,n,a,o){e[n](a).onsuccess=i=>o&&o(i.target.result)}function uo(e,n,a){j5(e,"get",n,a)}function E5(e,n,a){j5(e,"getAll",n,a)}function Og(e){e.commit&&e.commit()}function JL(e,n){let a=e[0];for(let o=1;on(i)&&(a=i)}return a}function N5(e,n){const a=JL(e,i=>i.length),o=[];for(const i of a)e.some(c=>c.findIndex(d=>n(d)===n(i))===-1)||o.push(i);return o}async function ez(e){return!await Dg(e,Ts,Mu)}async function tz(e,n,a){const[o,i]=await Promise.all([ph,Mu].map(c=>Dg(e,Ts,c)));return o===a&&i===n}async function nz(e,n){return Hr(e,bo,Bs,(o,i,c)=>{let d;const m=()=>{o.getAll(d&&IDBKeyRange.lowerBound(d,!0),50).onsuccess=p=>{const h=p.target.result;for(const y of h)if(d=y.unicode,n(y))return c(y);if(h.length<50)return c();m()}};m()})}async function k5(e,n,a,o){try{const i=QL(n);await Hr(e,[bo,Ts],Mg,([c,d],m)=>{let p,h,y=0;function v(){++y===2&&x()}function x(){if(!(p===o&&h===a)){c.clear();for(const S of i)c.put(S);d.put(o,ph),d.put(a,Mu),Og(m)}}uo(d,ph,S=>{p=S,v()}),uo(d,Mu,S=>{h=S,v()})})}finally{}}async function rz(e,n){return Hr(e,bo,Bs,(a,o,i)=>{const c=IDBKeyRange.bound([n,0],[n+1,0],!1,!0);E5(a.index(x5),c,i)})}async function T5(e,n){const a=C5(vs(n));return a.length?Hr(e,bo,Bs,(o,i,c)=>{const d=[],m=()=>{d.length===a.length&&p()},p=()=>{const h=N5(d,y=>y.unicode);c(h.sort((y,v)=>y.order{d.push(x),m()})}}):[]}async function az(e,n){const a=await T5(e,n);return a.length?a.filter(o=>(o.shortcodes||[]).map(c=>c.toLowerCase()).includes(n.toLowerCase()))[0]||null:await nz(e,i=>(i.shortcodes||[]).includes(n.toLowerCase()))||null}async function oz(e,n){return Hr(e,bo,Bs,(a,o,i)=>uo(a,n,c=>{if(c)return i(c);uo(a.index(S5),n,d=>i(d||null))}))}function Dg(e,n,a){return Hr(e,n,Bs,(o,i,c)=>uo(o,a,c))}function sz(e,n,a,o){return Hr(e,n,Mg,(i,c)=>{i.put(o,a),Og(c)})}function iz(e,n){return Hr(e,Ag,Mg,(a,o)=>uo(a,n,i=>{a.put((i||0)+1,n),Og(o)}))}function lz(e,n,a){return a===0?[]:Hr(e,[Ag,bo],Bs,([o,i],c,d)=>{const m=[];o.index(y5).openCursor(void 0,"prev").onsuccess=p=>{const h=p.target.result;if(!h)return d(m);function y(S){if(m.push(S),m.length===a)return d(m);h.continue()}const v=h.primaryKey,x=n.byName(v);if(x)return y(x);uo(i,v,S=>{if(S)return y(S);h.continue()})}})}const Jc="";function cz(e,n){const a=new Map;for(const i of e){const c=n(i);for(const d of c){let m=a;for(let h=0;h{let d=a;for(let h=0;hv[0]!(o in e[0])));if(!n||a)throw new Error("Custom emojis are in the wrong format")}function Z1(e){dz(e);const n=(x,S)=>x.name.toLowerCase(){const S=new Set;if(x.shortcodes)for(const j of x.shortcodes)for(const C of vs(j))S.add(C);return S}),c=x=>i(x,!0),d=x=>i(x,!1),m=x=>{const S=vs(x),j=S.map((C,N)=>(NC.name).sort(n)},p=new Map,h=new Map;for(const x of e){h.set(x.name.toLowerCase(),x);for(const S of x.shortcodes||[])p.set(S.toLowerCase(),x)}return{all:a,search:m,byShortcode:x=>p.get(x.toLowerCase()),byName:x=>h.get(x.toLowerCase())}}const fz=typeof wrappedJSObject<"u";function Bi(e){if(!e)return e;if(fz&&(e=structuredClone(e)),delete e.tokens,e.skinTones){const n=e.skinTones.length;e.skins=Array(n);for(let a=0;a!(n in e[0])))throw new Error("Emoji data is in the wrong format")}function A5(e,n){if(Math.floor(e.status/100)!==2)throw new Error("Failed to fetch: "+n+": "+e.status)}async function hz(e){const n=await fetch(e,{method:"HEAD"});A5(n,e);const a=n.headers.get("etag");return R5(a),a}async function gh(e){const n=await fetch(e);A5(n,e);const a=n.headers.get("etag");R5(a);const o=await n.json();return pz(o),[a,o]}function gz(e){for(var n="",a=new Uint8Array(e),o=a.byteLength,i=-1;++i(this._ready||(this._ready=this._init()),this._ready);await n(),this._db||await n()}async getEmojiByGroup(n){return wp(n),await this.ready(),X1(await rz(this._db,n)).map(Bi)}async getEmojiBySearchQuery(n){Qc(n),await this.ready();const a=this._custom.search(n),o=X1(await T5(this._db,n)).map(Bi);return[...a,...o]}async getEmojiByShortcode(n){Qc(n),await this.ready();const a=this._custom.byShortcode(n);return a||Bi(await az(this._db,n))}async getEmojiByUnicodeOrName(n){Qc(n),await this.ready();const a=this._custom.byName(n);return a||Bi(await oz(this._db,n))}async getPreferredSkinTone(){return await this.ready(),await Dg(this._db,Ts,K1)||0}async setPreferredSkinTone(n){return wp(n),await this.ready(),sz(this._db,Ts,K1,n)}async incrementFavoriteEmojiCount(n){return Qc(n),await this.ready(),iz(this._db,n)}async getTopFavoriteEmoji(n){return wp(n),await this.ready(),(await lz(this._db,this._custom,n)).map(Bi)}set customEmoji(n){this._custom=Z1(n)}get customEmoji(){return this._custom.all}async _shutdown(){await this.ready();try{await this._lazyUpdate}catch{}}_clear(){this._db=this._ready=this._lazyUpdate=void 0}async close(){await this._shutdown(),await _g(this._dbName)}async delete(){await this._shutdown(),await qL(this._dbName)}}const vh=[[-1,"✨","custom"],[0,"😀","smileys-emotion"],[1,"👋","people-body"],[3,"🐱","animals-nature"],[4,"🍎","food-drink"],[5,"🏠️","travel-places"],[6,"⚽","activities"],[7,"📝","objects"],[8,"⛔️","symbols"],[9,"🏁","flags"]].map(([e,n,a])=>({id:e,emoji:n,name:a})),Cp=vh.slice(1),wz=2,Q1=6,_5=typeof requestIdleCallback=="function"?requestIdleCallback:setTimeout;function J1(e){return e.unicode.includes("")}const Cz={"":17,"":16,"🫨":15.1,"🫠":14,"🥲":13.1,"🥻":12.1,"🥰":11,"🤩":5,"👱♀️":4,"🤣":3,"👁️🗨️":2,"😀":1,"😐️":.7,"😃":.6},jz=1e3,Ez="🖐️",Nz=8,kz=["😊","😒","❤️","👍️","😍","😂","😭","☺️","😔","😩","😏","💕","🙌","😘"],O5='"Twemoji Mozilla","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji","EmojiOne Color","Android Emoji",sans-serif',Tz=(e,n)=>en?1:0,e0=(e,n)=>{const a=document.createElement("canvas");a.width=a.height=1;const o=a.getContext("2d",{willReadFrequently:!0});return o.textBaseline="top",o.font=`100px ${O5}`,o.fillStyle=n,o.scale(.01,.01),o.fillText(e,0,0),o.getImageData(0,0,1,1).data},Rz=(e,n)=>{const a=[...e].join(","),o=[...n].join(",");return a===o&&!a.startsWith("0,0,0,")};function Az(e){const n=e0(e,"#000"),a=e0(e,"#fff");return n&&a&&Rz(n,a)}function Mz(){const e=Object.entries(Cz);try{for(const[n,a]of e)if(Az(n))return a}catch{}finally{}return e[0][1]}let jp;const Ep=()=>(jp||(jp=new Promise(e=>_5(()=>e(Mz())))),jp),bh=new Map,_z="️",Oz="\uD83C",Dz="",Lz=127995,zz=57339;function Pz(e,n){if(n===0)return e;const a=e.indexOf(Dz);return a!==-1?e.substring(0,a)+String.fromCodePoint(Lz+n-1)+e.substring(a):(e.endsWith(_z)&&(e=e.substring(0,e.length-1)),e+Oz+String.fromCodePoint(zz+n-1))}function or(e){e.preventDefault(),e.stopPropagation()}function Np(e,n,a){return n+=e?-1:1,n<0?n=a.length-1:n>=a.length&&(n=0),n}function D5(e,n){const a=new Set,o=[];for(const i of e){const c=n(i);a.has(c)||(a.add(c),o.push(i))}return o}function Iz(e,n){const a=o=>{const i={};for(const c of o)typeof c.tone=="number"&&c.version<=n&&(i[c.tone]=c.unicode);return i};return e.map(({unicode:o,skins:i,shortcodes:c,url:d,name:m,category:p,annotation:h})=>({unicode:o,name:m,shortcodes:c,url:d,category:p,annotation:h,id:o||m,skins:i&&a(i)}))}const du=requestAnimationFrame;let $z=typeof ResizeObserver=="function";function Bz(e,n,a){let o;$z?(o=new ResizeObserver(a),o.observe(e)):du(a),n.addEventListener("abort",()=>{o&&o.disconnect()})}function t0(e){{const n=document.createRange();return n.selectNode(e.firstChild),n.getBoundingClientRect().width}}const Uz="😀";let kp,eo;function n0(e,n,a){const o=t0(n);if(!o){if(!eo){eo=a.cloneNode(!0);const i=getComputedStyle(a);for(const c of["font-family","line-height","width","height","font-size","display","align-items","justify-content"])eo.style.setProperty(c,i.getPropertyValue(c),"important")}try{return document.body.appendChild(eo),eo.firstChild.nodeValue=e,t0(eo)}finally{eo.remove()}}return o}function Hz(e,n,a){let o=!0;for(const i of e){const c=a(i);if(!c)continue;typeof kp>"u"&&(kp=n0(Uz,n,n));const m=n0(i.unicode,c,n)/1.8n)}function Gz(e){e&&(e.scrollTop=0)}function Wi(e,n,a){let o=e.get(n);return o||(o=a(),e.set(n,o)),o}function r0(e){return""+e}function Fz(e){const n=document.createElement("template");return n.innerHTML=e,n}const Yz=new WeakMap,Wz=new WeakMap,qz=Symbol("un-keyed"),Kz="replaceChildren"in Element.prototype;function Xz(e,n){Kz?e.replaceChildren(...n):(e.innerHTML="",e.append(...n))}function Zz(e,n){let a=e.firstChild,o=0;for(;a;){if(n[o]!==a)return!0;a=a.nextSibling,o++}return o!==n.length}function Qz(e,n){const{targetNode:a}=n;let{targetParentNode:o}=n,i=!1;o?i=Zz(o,e):(i=!0,n.targetNode=void 0,n.targetParentNode=o=a.parentNode),i&&Xz(o,e)}function Jz(e,n){for(const a of n){const{targetNode:o,currentExpression:i,binding:{expressionIndex:c,attributeName:d,attributeValuePre:m,attributeValuePost:p}}=a,h=e[c];if(i!==h)if(a.currentExpression=h,d)if(h===null)o.removeAttribute(d);else{const y=m+r0(h)+p;o.setAttribute(d,y)}else{let y;Array.isArray(h)?Qz(h,a):h instanceof Element?(y=h,o.replaceWith(y)):o.nodeValue=r0(h),y&&(a.targetNode=y)}}}function eP(e){let n="",a=!1,o=!1,i=-1;const c=new Map,d=[];let m=0;for(let h=0,y=e.length;h":{a=!1,o=!1;break}case"=":{o=!0;break}}const x=d[d.length-1],S=Wi(c,x,()=>[]);let j,C,N;if(o){const k=/(\S+)="?([^"=]*)$/.exec(v);j=k[1],C=k[2];const T=/^([^">]*)("?)/.exec(e[h+1]);N=T[1],n=n.slice(0,-1*k[0].length),m=T[0].length}else m=0;const E={attributeName:j,attributeValuePre:C,attributeValuePost:N,expressionIndex:h};S.push(E),!a&&!o&&(n+=" ")}return{template:Fz(n),elementsToBindings:c}}function a0(e,n,a){for(let o=0;oeP(e)),o=n.cloneNode(!0).content.firstElementChild,i=tP(o,a);return function(d){return Jz(d,i),o}}function rP(e){const n=Wi(Wz,e,()=>new Map);let a=qz;function o(c,...d){const m=Wi(n,c,()=>new Map);return Wi(m,a,()=>nP(c))(d)}function i(c,d,m){return c.map((p,h)=>{const y=a;a=m(p);try{return d(p,h)}finally{a=y}})}return{map:i,html:o}}function aP(e,n,a,o,i,c,d,m,p){const{labelWithSkin:h,titleForEmoji:y,unicodeWithSkin:v}=a,{html:x,map:S}=rP(n);function j(k,T,R){return S(k,(D,P)=>x``,D=>`${R}-${D.id}`)}const N=x` ${n.i18n.searchDescription}
${n.i18n.skinToneDescription}${S(n.skinTones,(k,T)=>x`
${k}
`,k=>k)}
${S(n.groups,k=>x`
`,k=>k.id)}
${n.message||""}
${S(n.currentEmojisWithCategories,(k,T)=>x`
`,k=>k.category)}
`,E=(k,T)=>{for(const R of e.querySelectorAll(`[${k}]`))T(R,R.getAttribute(k))};if(p){e.appendChild(N);for(const k of["click","focusout","input","keydown","keyup"])E(`data-on-${k}`,(T,R)=>{T.addEventListener(k,o[R])});E("data-ref",(k,T)=>{c[T]=k}),d.addEventListener("abort",()=>{e.removeChild(N)})}E("data-action",(k,T)=>{let R=m.get(T);R||m.set(T,R=new WeakSet),R.has(k)||(R.add(k),i[T](k))})}const Ou=typeof queueMicrotask=="function"?queueMicrotask:e=>Promise.resolve().then(e);function oP(e){let n=!1,a;const o=new Map,i=new Set;let c;const d=()=>{if(n)return;const h=[...i];i.clear();try{for(const y of h)y()}finally{c=!1,i.size&&(c=!0,Ou(d))}},m=new Proxy({},{get(h,y){if(a){let v=o.get(y);v||(v=new Set,o.set(y,v)),v.add(a)}return h[y]},set(h,y,v){if(h[y]!==v){h[y]=v;const x=o.get(y);if(x){for(const S of x)i.add(S);c||(c=!0,Ou(d))}}return!0}}),p=h=>{const y=()=>{const v=a;a=y;try{return h()}finally{a=v}};return y()};return e.addEventListener("abort",()=>{n=!0}),{state:m,createEffect:p}}function Tp(e,n,a){if(e.length!==n.length)return!1;for(let o=0;o{i.disconnect()})),i.observe(e)}}const Rp=[],{assign:eu}=Object;function iP(e,n){const a={},o=new AbortController,i=o.signal,{state:c,createEffect:d}=oP(i),m=new Map;eu(c,{skinToneEmoji:void 0,i18n:void 0,database:void 0,customEmoji:void 0,customCategorySorting:void 0,emojiVersion:void 0}),eu(c,n),eu(c,{initialLoad:!0,currentEmojis:[],currentEmojisWithCategories:[],rawSearchText:"",searchText:"",searchMode:!1,activeSearchItem:-1,message:void 0,skinTonePickerExpanded:!1,skinTonePickerExpandedAfterAnimation:!1,currentSkinTone:0,activeSkinTone:0,skinToneButtonText:void 0,pickerStyle:void 0,skinToneButtonLabel:"",skinTones:[],currentFavorites:[],defaultFavoriteEmojis:void 0,numColumns:Nz,isRtl:!1,currentGroupIndex:0,groups:Cp,databaseLoaded:!1,activeSearchItemId:void 0}),d(()=>{c.currentGroup!==c.groups[c.currentGroupIndex]&&(c.currentGroup=c.groups[c.currentGroupIndex])});const p=W=>{e.getElementById(W).focus()},h=W=>e.getElementById(`emo-${W.id}`),y=(W,ie)=>{a.rootElement.dispatchEvent(new CustomEvent(W,{detail:ie,bubbles:!0,composed:!0}))},v=(W,ie)=>W.id===ie.id,x=(W,ie)=>{const{category:ge,emojis:je}=W,{category:Ae,emojis:tt}=ie;return ge!==Ae?!1:Tp(je,tt,v)},S=W=>{Tp(c.currentEmojis,W,v)||(c.currentEmojis=W)},j=W=>{c.searchMode!==W&&(c.searchMode=W)},C=W=>{Tp(c.currentEmojisWithCategories,W,x)||(c.currentEmojisWithCategories=W)},N=(W,ie)=>ie&&W.skins&&W.skins[ie]||W.unicode,T={labelWithSkin:(W,ie)=>Vz([W.name||N(W,ie),W.annotation,...W.shortcodes||Rp].filter(Boolean)).join(", "),titleForEmoji:W=>W.annotation||(W.shortcodes||Rp).join(", "),unicodeWithSkin:N},R={onClickSkinToneButton:F,onEmojiClick:_,onNavClick:Z,onNavKeydown:J,onSearchKeydown:$,onSkinToneOptionsClick:V,onSkinToneOptionsFocusOut:me,onSkinToneOptionsKeydown:ae,onSkinToneOptionsKeyup:ne,onSearchInput:pe},D={calculateEmojiGridStyle:B,updateOnIntersection:H};let P=!0;d(()=>{aP(e,c,T,R,D,a,i,m,P),P=!1}),c.emojiVersion||Ep().then(W=>{W||(c.message=c.i18n.emojiUnsupportedMessage)}),d(()=>{async function W(){let ie=!1;const ge=setTimeout(()=>{ie=!0,c.message=c.i18n.loadingMessage},jz);try{await c.database.ready(),c.databaseLoaded=!0}catch(je){console.error(je),c.message=c.i18n.networkErrorMessage}finally{clearTimeout(ge),ie&&(ie=!1,c.message="")}}c.database&&W()}),d(()=>{c.pickerStyle=`
+ --num-groups: ${c.groups.length};
+ --indicator-opacity: ${c.searchMode?0:1};
+ --num-skintones: ${Q1};`}),d(()=>{c.customEmoji&&c.database&&z()}),d(()=>{c.customEmoji&&c.customEmoji.length?c.groups!==vh&&(c.groups=vh):c.groups!==Cp&&(c.currentGroupIndex&&c.currentGroupIndex--,c.groups=Cp)}),d(()=>{async function W(){c.databaseLoaded&&(c.currentSkinTone=await c.database.getPreferredSkinTone())}W()}),d(()=>{c.skinTones=Array(Q1).fill().map((W,ie)=>Pz(c.skinToneEmoji,ie))}),d(()=>{c.skinToneButtonText=c.skinTones[c.currentSkinTone]}),d(()=>{c.skinToneButtonLabel=c.i18n.skinToneLabel.replace("{skinTone}",c.i18n.skinTones[c.currentSkinTone])}),d(()=>{async function W(){const{database:ie}=c,ge=(await Promise.all(kz.map(je=>ie.getEmojiByUnicodeOrName(je)))).filter(Boolean);c.defaultFavoriteEmojis=ge}c.databaseLoaded&&W()});function z(){const{customEmoji:W,database:ie}=c,ge=W||Rp;ie.customEmoji!==ge&&(ie.customEmoji=ge)}d(()=>{async function W(){z();const{database:ie,defaultFavoriteEmojis:ge,numColumns:je}=c,Ae=await ie.getTopFavoriteEmoji(je),tt=await he(D5([...Ae,...ge],ct=>ct.unicode||ct.name).slice(0,je));c.currentFavorites=tt}c.databaseLoaded&&c.defaultFavoriteEmojis&&W()});function B(W){Bz(W,i,()=>{{const ie=getComputedStyle(a.rootElement),ge=parseInt(ie.getPropertyValue("--num-columns"),10),je=ie.getPropertyValue("direction")==="rtl";c.numColumns=ge,c.isRtl=je}})}function H(W){sP(W,i,ie=>{for(const{target:ge,isIntersecting:je}of ie)ge.classList.toggle("onscreen",je)})}d(()=>{async function W(){const{searchText:ie,currentGroup:ge,databaseLoaded:je,customEmoji:Ae}=c;if(!je)c.currentEmojis=[],c.searchMode=!1;else if(ie.length>=wz){const tt=await O(ie);c.searchText===ie&&(S(tt),j(!0))}else{const{id:tt}=ge;if(tt!==-1||Ae&&Ae.length){const ct=await se(tt);c.currentGroup.id===tt&&(S(ct),j(!1))}}}W()});const Y=()=>{du(()=>Gz(a.tabpanelElement))};d(()=>{const{currentEmojis:W,emojiVersion:ie}=c,ge=W.filter(je=>je.unicode).filter(je=>J1(je)&&!bh.has(je.unicode));if(!ie&&ge.length)S(W),du(()=>Q(ge));else{const je=ie?W:W.filter(fe);S(je),Y()}});function Q(W){Hz(W,a.baselineEmoji,h)?Y():c.currentEmojis=[...c.currentEmojis]}function fe(W){return!W.unicode||!J1(W)||bh.get(W.unicode)}async function de(W){const ie=c.emojiVersion||await Ep();return W.filter(({version:ge})=>!ge||ge<=ie)}async function he(W){return Iz(W,c.emojiVersion||await Ep())}async function se(W){const ie=W===-1?c.customEmoji:await c.database.getEmojiByGroup(W);return he(await de(ie))}async function O(W){return he(await de(await c.database.getEmojiBySearchQuery(W)))}d(()=>{}),d(()=>{function W(){const{searchMode:ge,currentEmojis:je}=c;if(ge)return[{category:"",emojis:je}];const Ae=new Map;for(const tt of je){const ct=tt.category||"";let kt=Ae.get(ct);kt||(kt=[],Ae.set(ct,kt)),kt.push(tt)}return[...Ae.entries()].map(([tt,ct])=>({category:tt,emojis:ct})).sort((tt,ct)=>c.customCategorySorting(tt.category,ct.category))}const ie=W();C(ie)}),d(()=>{c.activeSearchItemId=c.activeSearchItem!==-1&&c.currentEmojis[c.activeSearchItem].id}),d(()=>{const{rawSearchText:W}=c;_5(()=>{c.searchText=(W||"").trim(),c.activeSearchItem=-1})});function $(W){if(!c.searchMode||!c.currentEmojis.length)return;const ie=ge=>{or(W),c.activeSearchItem=Np(ge,c.activeSearchItem,c.currentEmojis)};switch(W.key){case"ArrowDown":return ie(!1);case"ArrowUp":return ie(!0);case"Enter":if(c.activeSearchItem===-1)c.activeSearchItem=0;else return or(W),M(c.currentEmojis[c.activeSearchItem].id)}}function Z(W){const{target:ie}=W,ge=ie.closest(".nav-button");if(!ge)return;const je=parseInt(ge.dataset.groupId,10);a.searchElement.value="",c.rawSearchText="",c.searchText="",c.activeSearchItem=-1,c.currentGroupIndex=c.groups.findIndex(Ae=>Ae.id===je)}function J(W){const{target:ie,key:ge}=W,je=Ae=>{Ae&&(or(W),Ae.focus())};switch(ge){case"ArrowLeft":return je(ie.previousElementSibling);case"ArrowRight":return je(ie.nextElementSibling);case"Home":return je(ie.parentElement.firstElementChild);case"End":return je(ie.parentElement.lastElementChild)}}async function te(W){const ie=await c.database.getEmojiByUnicodeOrName(W),ge=[...c.currentEmojis,...c.currentFavorites].find(Ae=>Ae.id===W),je=ge.unicode&&N(ge,c.currentSkinTone);return await c.database.incrementFavoriteEmojiCount(W),{emoji:ie,skinTone:c.currentSkinTone,...je&&{unicode:je},...ge.name&&{name:ge.name}}}async function M(W){const ie=te(W);y("emoji-click-sync",ie),y("emoji-click",await ie)}function _(W){const{target:ie}=W;if(!ie.classList.contains("emoji"))return;or(W);const ge=ie.id.substring(4);M(ge)}function U(W){c.currentSkinTone=W,c.skinTonePickerExpanded=!1,p("skintone-button"),y("skin-tone-change",{skinTone:W}),c.database.setPreferredSkinTone(W)}function V(W){const{target:{id:ie}}=W,ge=ie&&ie.match(/^skintone-(\d)/);if(!ge)return;or(W);const je=parseInt(ge[1],10);U(je)}function F(W){c.skinTonePickerExpanded=!c.skinTonePickerExpanded,c.activeSkinTone=c.currentSkinTone,c.skinTonePickerExpanded&&(or(W),du(()=>p("skintone-list")))}d(()=>{c.skinTonePickerExpanded?a.skinToneDropdown.addEventListener("transitionend",()=>{c.skinTonePickerExpandedAfterAnimation=!0},{once:!0}):c.skinTonePickerExpandedAfterAnimation=!1});function ae(W){if(!c.skinTonePickerExpanded)return;const ie=async ge=>{or(W),c.activeSkinTone=ge};switch(W.key){case"ArrowUp":return ie(Np(!0,c.activeSkinTone,c.skinTones));case"ArrowDown":return ie(Np(!1,c.activeSkinTone,c.skinTones));case"Home":return ie(0);case"End":return ie(c.skinTones.length-1);case"Enter":return or(W),U(c.activeSkinTone);case"Escape":return or(W),c.skinTonePickerExpanded=!1,p("skintone-button")}}function ne(W){if(c.skinTonePickerExpanded)switch(W.key){case" ":return or(W),U(c.activeSkinTone)}}async function me(W){const{relatedTarget:ie}=W;(!ie||ie.id!=="skintone-list")&&(c.skinTonePickerExpanded=!1)}function pe(W){c.rawSearchText=W.target.value}return{$set(W){eu(c,W)},$destroy(){o.abort()}}}const lP="https://cdn.jsdelivr.net/npm/emoji-picker-element-data@^1/en/emojibase/data.json",cP="en";var uP={categoriesLabel:"Categories",emojiUnsupportedMessage:"Your browser does not support color emoji.",favoritesLabel:"Favorites",loadingMessage:"Loading…",networkErrorMessage:"Could not load emoji.",regionLabel:"Emoji picker",searchDescription:"When search results are available, press up or down to select and enter to choose.",searchLabel:"Search",searchResultsLabel:"Search results",skinToneDescription:"When expanded, press up or down to select and enter to choose.",skinToneLabel:"Choose a skin tone (currently {skinTone})",skinTonesLabel:"Skin tones",skinTones:["Default","Light","Medium-Light","Medium","Medium-Dark","Dark"],categories:{custom:"Custom","smileys-emotion":"Smileys and emoticons","people-body":"People and body","animals-nature":"Animals and nature","food-drink":"Food and drink","travel-places":"Travel and places",activities:"Activities",objects:"Objects",symbols:"Symbols",flags:"Flags"}},dP=':host{--emoji-size:1.375rem;--emoji-padding:0.5rem;--category-emoji-size:var(--emoji-size);--category-emoji-padding:var(--emoji-padding);--indicator-height:3px;--input-border-radius:0.5rem;--input-border-size:1px;--input-font-size:1rem;--input-line-height:1.5;--input-padding:0.25rem;--num-columns:8;--outline-size:2px;--border-size:1px;--border-radius:0;--skintone-border-radius:1rem;--category-font-size:1rem;display:flex;width:min-content;height:400px}:host,:host(.light){color-scheme:light;--background:#fff;--border-color:#e0e0e0;--indicator-color:#385ac1;--input-border-color:#999;--input-font-color:#111;--input-placeholder-color:#999;--outline-color:#999;--category-font-color:#111;--button-active-background:#e6e6e6;--button-hover-background:#d9d9d9}:host(.dark){color-scheme:dark;--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}@media (prefers-color-scheme:dark){:host{color-scheme:dark;--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}}:host([hidden]){display:none}button{margin:0;padding:0;border:0;background:0 0;box-shadow:none;-webkit-tap-highlight-color:transparent}button::-moz-focus-inner{border:0}input{padding:0;margin:0;line-height:1.15;font-family:inherit}input[type=search]{-webkit-appearance:none}:focus{outline:var(--outline-color) solid var(--outline-size);outline-offset:calc(-1*var(--outline-size))}:host([data-js-focus-visible]) :focus:not([data-focus-visible-added]){outline:0}:focus:not(:focus-visible){outline:0}.hide-focus{outline:0}*{box-sizing:border-box}.picker{contain:content;display:flex;flex-direction:column;background:var(--background);border:var(--border-size) solid var(--border-color);border-radius:var(--border-radius);width:100%;height:100%;overflow:hidden;--total-emoji-size:calc(var(--emoji-size) + (2 * var(--emoji-padding)));--total-category-emoji-size:calc(var(--category-emoji-size) + (2 * var(--category-emoji-padding)))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.hidden{opacity:0;pointer-events:none}.abs-pos{position:absolute;left:0;top:0}.gone{display:none!important}.skintone-button-wrapper,.skintone-list{background:var(--background);z-index:3}.skintone-button-wrapper.expanded{z-index:1}.skintone-list{position:absolute;inset-inline-end:0;top:0;z-index:2;overflow:visible;border-bottom:var(--border-size) solid var(--border-color);border-radius:0 0 var(--skintone-border-radius) var(--skintone-border-radius);will-change:transform;transition:transform .2s ease-in-out;transform-origin:center 0}@media (prefers-reduced-motion:reduce){.skintone-list{transition-duration:.001s}}@supports not (inset-inline-end:0){.skintone-list{right:0}}.skintone-list.no-animate{transition:none}.tabpanel{overflow-y:auto;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;will-change:transform;min-height:0;flex:1;contain:content}.emoji-menu{display:grid;grid-template-columns:repeat(var(--num-columns),var(--total-emoji-size));justify-content:space-around;align-items:flex-start;width:100%}.emoji-menu.visibility-auto{content-visibility:auto;contain-intrinsic-size:calc(var(--num-columns)*var(--total-emoji-size)) calc(var(--num-rows)*var(--total-emoji-size))}.category{padding:var(--emoji-padding);font-size:var(--category-font-size);color:var(--category-font-color)}.emoji,button.emoji{font-size:var(--emoji-size);display:flex;align-items:center;justify-content:center;border-radius:100%;height:var(--total-emoji-size);width:var(--total-emoji-size);line-height:1;overflow:hidden;font-family:var(--emoji-font-family);cursor:pointer}@media (hover:hover) and (pointer:fine){.emoji:hover,button.emoji:hover{background:var(--button-hover-background)}}.emoji.active,.emoji:active,button.emoji.active,button.emoji:active{background:var(--button-active-background)}.onscreen .custom-emoji::after{content:"";width:var(--emoji-size);height:var(--emoji-size);background-repeat:no-repeat;background-position:center center;background-size:contain;background-image:var(--custom-emoji-background)}.nav,.nav-button{align-items:center}.nav{display:grid;justify-content:space-between;contain:content}.nav-button{display:flex;justify-content:center}.nav-emoji{font-size:var(--category-emoji-size);width:var(--total-category-emoji-size);height:var(--total-category-emoji-size)}.indicator-wrapper{display:flex;border-bottom:1px solid var(--border-color)}.indicator{width:calc(100%/var(--num-groups));height:var(--indicator-height);opacity:var(--indicator-opacity);background-color:var(--indicator-color);will-change:transform,opacity;transition:opacity .1s linear,transform .25s ease-in-out}@media (prefers-reduced-motion:reduce){.indicator{will-change:opacity;transition:opacity .1s linear}}.pad-top,input.search{background:var(--background);width:100%}.pad-top{height:var(--emoji-padding);z-index:3}.search-row{display:flex;align-items:center;position:relative;padding-inline-start:var(--emoji-padding);padding-bottom:var(--emoji-padding)}.search-wrapper{flex:1;min-width:0}input.search{padding:var(--input-padding);border-radius:var(--input-border-radius);border:var(--input-border-size) solid var(--input-border-color);color:var(--input-font-color);font-size:var(--input-font-size);line-height:var(--input-line-height)}input.search::placeholder{color:var(--input-placeholder-color)}.favorites{overflow-y:auto;scrollbar-gutter:stable;display:flex;flex-direction:row;border-top:var(--border-size) solid var(--border-color);contain:content}.message{padding:var(--emoji-padding)}';const L5=["customEmoji","customCategorySorting","database","dataSource","i18n","locale","skinToneEmoji","emojiVersion"],fP=`:host{--emoji-font-family:${O5}}`;class Lg extends HTMLElement{constructor(n){super(),this.attachShadow({mode:"open"});const a=document.createElement("style");a.textContent=dP+fP,this.shadowRoot.appendChild(a),this._ctx={locale:cP,dataSource:lP,skinToneEmoji:Ez,customCategorySorting:Tz,customEmoji:null,i18n:uP,emojiVersion:null,...n};for(const o of L5)o!=="database"&&Object.prototype.hasOwnProperty.call(this,o)&&(this._ctx[o]=this[o],delete this[o]);this._dbFlush()}connectedCallback(){s0(this),this._cmp||(this._cmp=iP(this.shadowRoot,this._ctx))}disconnectedCallback(){s0(this),Ou(()=>{if(!this.isConnected&&this._cmp){this._cmp.$destroy(),this._cmp=void 0;const{database:n}=this._ctx;n.close().catch(a=>console.error(a))}})}static get observedAttributes(){return["locale","data-source","skin-tone-emoji","emoji-version"]}attributeChangedCallback(n,a,o){this._set(n.replace(/-([a-z])/g,(i,c)=>c.toUpperCase()),n==="emoji-version"?parseFloat(o):o)}_set(n,a){this._ctx[n]=a,this._cmp&&this._cmp.$set({[n]:a}),["locale","dataSource"].includes(n)&&this._dbFlush()}_dbCreate(){const{locale:n,dataSource:a,database:o}=this._ctx;(!o||o.locale!==n||o.dataSource!==a)&&this._set("database",new Sz({locale:n,dataSource:a}))}_dbFlush(){Ou(()=>this._dbCreate())}}const z5={};for(const e of L5)z5[e]={get(){return e==="database"&&this._dbCreate(),this._ctx[e]},set(n){if(e==="database")throw new Error("database is read-only");this._set(e,n)}};Object.defineProperties(Lg.prototype,z5);function s0(e){e instanceof Lg||Object.setPrototypeOf(e,customElements.get(e.tagName.toLowerCase()).prototype)}customElements.get("emoji-picker")||customElements.define("emoji-picker",Lg);function mP({onPick:e}){const n=f.useRef(null);return f.useEffect(()=>{const a=n.current;if(!a)return;const o=document.createElement("emoji-picker");o.className="unicode-emoji-picker-el",o.setAttribute("data-theme","dark");const i=c=>{var p;const d=c.detail,m=(d==null?void 0:d.unicode)??((p=d==null?void 0:d.emoji)==null?void 0:p.unicode);m&&e(m)};return o.addEventListener("emoji-click",i),a.appendChild(o),()=>{o.removeEventListener("emoji-click",i),o.remove()}},[e]),l.jsx("div",{ref:n,className:"unicode-emoji-panel-host overflow-hidden rounded-lg border border-border/50"})}const pP=/^<(a?):([^:>]+):(\d{17,20})>$/;function fu(e,n,a=!1){return`${a?"`}function P5(e){const n=String(e??"").trim();if(!n)return{kind:"empty",value:""};const a=n.match(pP);return a?{kind:"custom",value:n,animated:a[1]==="a",name:a[2],id:a[3]}:{kind:"unicode",value:n}}function I5(e,n=!1){return`https://cdn.discordapp.com/emojis/${e}.${n?"gif":"png"}?size=64`}function hP(e,n=[]){const a=P5(e);if(a.kind==="custom"&&a.id&&!a.name){const o=n.find(i=>i.id===a.id);if(o)return{kind:"custom",value:fu(o.name,o.id,o.animated),name:o.name,id:o.id,animated:o.animated}}if(a.kind==="custom"&&a.id){const o=n.find(i=>i.id===a.id);if(o&&a.value!==fu(o.name,o.id,o.animated))return{kind:"custom",value:fu(o.name,o.id,o.animated),name:o.name,id:o.id,animated:o.animated}}return a}function gP({value:e,guildEmojis:n,size:a="md"}){const o=hP(e,n),i=a==="lg"?"size-10":"size-7",c=a==="lg"?"text-3xl":"text-2xl";return o.kind==="empty"?l.jsx("span",{className:"text-sm text-muted-foreground",children:"No emoji selected"}):o.kind==="custom"&&o.id?l.jsxs("span",{className:"inline-flex items-center gap-3",children:[l.jsx("img",{src:I5(o.id,o.animated),alt:o.name??"custom emoji",className:ce(i,"shrink-0 rounded-md"),loading:"lazy"}),l.jsxs("span",{className:"flex flex-col items-start gap-0.5",children:[l.jsxs("span",{className:"text-sm font-medium",children:[":",o.name,":"]}),l.jsx("span",{className:"font-mono text-xs text-muted-foreground",children:o.value})]})]}):l.jsx("span",{className:ce(c,"leading-none"),title:o.value,children:o.value})}function vP({id:e,label:n,description:a,value:o,onChange:i,readOnly:c}){const[d,m]=f.useState(!1),[p,h]=f.useState("server"),[y,v]=f.useState(null),[x,S]=f.useState(""),[j,C]=f.useState(!1),[N,E]=f.useState(""),k=f.useCallback(async(Y=!1)=>{C(!0),S("");try{const Q=await Ne.getGuildResources(Y);Q.data?(v(Q.data),Array.isArray(Q.data.emojis)||S("Server response is missing emojis. Restart the bot after updating.")):S("No guild data returned.")}catch(Q){S(Q instanceof Error?Q.message:"Could not load server emojis")}finally{C(!1)}},[]);f.useEffect(()=>{d&&k(!0)},[d,k]);const T=f.useMemo(()=>Array.isArray(y==null?void 0:y.emojis)?y.emojis:[],[y]),R=f.useMemo(()=>{const Y=N.trim().toLowerCase();return Y?T.filter(Q=>Q.name.toLowerCase().includes(Y)):T},[T,N]),D=String(o??""),P=P5(D);function z(Y){i(Y),m(!1)}function B(Y){i(fu(Y.name,Y.id,Y.animated)),m(!1)}function H(){i("")}return l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{htmlFor:e,children:n}),a?l.jsx("p",{className:"text-xs text-muted-foreground",children:a}):null,l.jsxs("div",{className:"flex flex-col gap-3 rounded-xl border border-border bg-card p-3 sm:flex-row sm:items-center sm:justify-between",children:[l.jsx("div",{className:"min-w-0 flex-1",children:l.jsx(gP,{value:o,guildEmojis:T,size:"lg"})}),l.jsxs("div",{className:"flex shrink-0 gap-2",children:[l.jsx(ve,{type:"button",variant:"secondary",size:"sm",disabled:c,onClick:()=>m(!0),children:"Choose emoji"}),D?l.jsx(ve,{type:"button",variant:"ghost",size:"sm",disabled:c,onClick:H,children:"Clear"}):null]})]}),l.jsx(gg,{open:d,onOpenChange:m,children:l.jsxs(hd,{className:"max-h-[min(90vh,720px)] max-w-lg gap-0 overflow-hidden p-0 sm:max-w-xl",children:[l.jsxs(gd,{className:"space-y-1 border-b border-border px-5 py-4",children:[l.jsx(vd,{children:"Choose emoji"}),l.jsxs(bd,{children:["Server emojis save as"," ",l.jsx("code",{className:"rounded bg-muted px-1 text-xs",children:"<:name:id>"}),". Standard emojis save as Unicode characters."]})]}),l.jsxs(v5,{value:p,onValueChange:Y=>h(Y),className:"flex min-h-0 flex-1 flex-col",children:[l.jsxs(Rg,{className:"mx-5 mt-3 grid h-9 w-auto grid-cols-2",children:[l.jsx(to,{value:"server",children:"Server"}),l.jsx(to,{value:"unicode",children:"All emojis"})]}),l.jsxs(mh,{value:"server",className:"mt-0 flex-1 px-5 pb-4 pt-3",children:[l.jsxs("div",{className:"relative mb-3",children:[l.jsx(ye,{icon:Gu,size:16,className:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),l.jsx(Ue,{placeholder:"Search by name…",value:N,onChange:Y=>E(Y.target.value),className:"h-9 border-border bg-secondary/30 pl-9"})]}),y?l.jsxs("p",{className:"mb-2 text-xs text-muted-foreground",children:[y.guildName," · ",T.length," custom emoji",T.length===1?"":"s"]}):null,l.jsx(Sd,{className:"h-[min(50vh,320px)] rounded-lg border border-border/50 bg-secondary/20",children:j?l.jsx("div",{className:"grid grid-cols-6 gap-2 p-3 sm:grid-cols-8",children:Array.from({length:24}).map((Y,Q)=>l.jsx(Ve,{className:"aspect-square rounded-lg"},Q))}):x?l.jsxs("div",{className:"space-y-3 p-4 text-center",children:[l.jsx("p",{className:"text-sm text-destructive",children:x}),l.jsx(ve,{type:"button",variant:"outline",size:"sm",onClick:()=>void k(!0),children:"Retry"})]}):R.length===0?l.jsx("p",{className:"p-6 text-center text-sm text-muted-foreground",children:T.length===0?"No custom emojis in this server, or the bot needs the Guild Emojis intent (restart after update).":"No emojis match your search."}):l.jsx("div",{className:"grid grid-cols-6 gap-1.5 p-2 sm:grid-cols-8",children:R.map(Y=>{const Q=P.kind==="custom"&&P.id===Y.id;return l.jsx("button",{type:"button",title:`:${Y.name}:`,className:ce("flex aspect-square items-center justify-center rounded-lg border border-transparent bg-background/50 transition-colors hover:border-primary/30 hover:bg-accent",Q&&"border-primary/50 bg-primary/15 ring-2 ring-primary/30"),onClick:()=>B(Y),children:l.jsx("img",{src:Y.url??I5(Y.id,Y.animated),alt:Y.name,className:"size-8 object-contain",loading:"lazy"})},Y.id)})})})]}),l.jsx(mh,{value:"unicode",className:"mt-0 px-5 pb-4 pt-3",children:l.jsx(mP,{onPick:z})})]})]})}),l.jsx(Ue,{value:D,disabled:c,onChange:Y=>i(Y.target.value),placeholder:"Unicode or <:name:id>",className:"border-border bg-secondary/30 font-mono text-xs"})]})}const i0="BOT_TOKEN",bP="MODEL_API_KEY";function zg({field:e,value:n,onChange:a,readOnly:o}){const i=e.path.replace(/\./g,"-");if(e.type==="googleFont")return l.jsx(SL,{field:e,value:n,onChange:a,readOnly:o});if(e.type==="boolean")return l.jsxs("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-border bg-secondary/20 px-3 py-2.5",children:[l.jsxs("div",{children:[l.jsx(De,{htmlFor:i,className:"font-medium",children:e.label}),e.description?l.jsx("p",{className:"text-xs text-muted-foreground",children:e.description}):null]}),l.jsx(dn,{id:i,checked:!!n,disabled:o,onCheckedChange:a})]});if(e.type==="stringList")return l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{children:e.label}),e.description?l.jsx("p",{className:"text-xs text-muted-foreground",children:e.description}):null,l.jsx(bL,{value:Array.isArray(n)?n:[],onChange:a})]});if(e.type==="select"&&e.options)return l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{htmlFor:i,children:e.label}),l.jsxs(Es,{value:String(n??""),disabled:o,onValueChange:a,children:[l.jsx(lo,{id:i,className:"border-border bg-secondary/30",children:l.jsx(Ns,{placeholder:"Select…"})}),l.jsx(co,{children:e.options.map(d=>l.jsx(Zt,{value:d.value,children:d.label},d.value))})]})]});if(e.type==="color"){const d=cr(String(n??"#000000"));return l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{htmlFor:i,children:e.label}),e.description?l.jsx("p",{className:"text-xs text-muted-foreground",children:e.description}):null,l.jsxs("div",{className:"flex gap-2",children:[l.jsx(Ng,{value:d,onChange:a}),l.jsx(Ue,{id:i,value:d,disabled:o,onChange:m=>a(m.target.value),onBlur:m=>a(cr(m.target.value,d)),className:"border-border bg-secondary/30 font-mono uppercase",placeholder:"#000000",maxLength:7})]})]})}if(e.type==="emoji")return l.jsx(vP,{id:i,label:e.label,description:e.description,value:n,onChange:a,readOnly:o});if(e.type==="discordChannel"||e.type==="discordRole"||e.type==="discordCategory"){const d=e.type==="discordRole"?"role":e.type==="discordCategory"?"category":"channel";return l.jsx(wL,{id:i,label:e.label,description:e.description,kind:d,value:n,onChange:a,readOnly:o})}if(e.type==="secret"){const d=n===i0||n===bP||!n?"":"••••••••••••";return l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{htmlFor:i,children:e.label}),e.description?l.jsx("p",{className:"text-xs text-muted-foreground",children:e.description}):null,l.jsx(Ue,{id:i,type:"password",value:d,disabled:o,placeholder:e.placeholder??"Unchanged if empty",onChange:m=>{const p=m.target.value;a(p||(e.placeholder??i0))},className:"border-border bg-secondary/30"})]})}const c="border-border bg-secondary/30";return e.type==="textarea"?l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{htmlFor:i,children:e.label}),l.jsx(Cd,{id:i,value:String(n??""),disabled:o,onChange:d=>a(d.target.value),className:`min-h-[88px] ${c}`})]}):l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{htmlFor:i,children:e.label}),e.description?l.jsx("p",{className:"text-xs text-muted-foreground",children:e.description}):null,l.jsx(Ue,{id:i,type:e.type==="number"?"number":"text",value:n==null?"":String(n),disabled:o,onChange:d=>a(e.type==="number"?Number(d.target.value):d.target.value),placeholder:e.placeholder??(e.type==="discordId"?"Discord snowflake ID":void 0),className:c})]})}const Ge=f.forwardRef(({className:e,...n},a)=>l.jsx("div",{ref:a,className:ce("rounded-xl border border-border bg-card text-card-foreground shadow-none",e),...n}));Ge.displayName="Card";const Ze=f.forwardRef(({className:e,...n},a)=>l.jsx("div",{ref:a,className:ce("flex flex-col space-y-1.5 p-6",e),...n}));Ze.displayName="CardHeader";const Qe=f.forwardRef(({className:e,...n},a)=>l.jsx("div",{ref:a,className:ce("font-semibold leading-none tracking-tight",e),...n}));Qe.displayName="CardTitle";const ht=f.forwardRef(({className:e,...n},a)=>l.jsx("div",{ref:a,className:ce("text-sm text-muted-foreground",e),...n}));ht.displayName="CardDescription";const Fe=f.forwardRef(({className:e,...n},a)=>l.jsx("div",{ref:a,className:ce("p-6 pt-0",e),...n}));Fe.displayName="CardContent";const Pg=f.forwardRef(({className:e,...n},a)=>l.jsx("div",{ref:a,className:ce("flex items-center p-6 pt-0",e),...n}));Pg.displayName="CardFooter";function l0(e){return e.replace(/_/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/\b\w/g,n=>n.toUpperCase())}function yP(e,n){if(typeof n=="boolean")return"boolean";if(typeof n=="number")return"number";if(Array.isArray(n))return"stringList";if(typeof n=="string"){const a=e.toLowerCase();return/emoji/.test(a)?"emoji":/guild.?id|guild_id/.test(a)?"discordId":/category/.test(a)?"discordCategory":/channel|forum/.test(a)?"discordChannel":/role|staff|admin|moderator/.test(a)?"discordRole":n.length>100?"textarea":"text"}return"text"}function Ig(e,n=""){const a=[];for(const[o,i]of Object.entries(e)){const c=n?`${n}.${o}`:o;if(Array.isArray(i)){if(i.length>0&&typeof i[0]=="object"&&i[0]!==null&&!Array.isArray(i[0]))continue;a.push({path:c,label:l0(o),type:"stringList"});continue}if(i&&typeof i=="object"&&Object.keys(i).length>0){a.push(...Ig(i,c));continue}a.push({path:c,label:l0(o),type:yP(o,i)})}return a}function xP(e){const n=Ig(e);return n.length===0?[{title:"Configuration",fields:[]}]:[{title:"Settings",description:"Values from this addon’s config file.",fields:n}]}function fo(e,n){const a=n.split(".");let o=e;for(const i of a){if(o==null||typeof o!="object")return;o=o[i]}return o}function il(e,n,a){const o=n.split("."),i=structuredClone(e);let c=i;for(let d=0;d"u")return;let n=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",n.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}const wP=e=>{switch(e){case"success":return EP;case"info":return kP;case"warning":return NP;case"error":return TP;default:return null}},CP=Array(12).fill(0),jP=({visible:e,className:n})=>ue.createElement("div",{className:["sonner-loading-wrapper",n].filter(Boolean).join(" "),"data-visible":e},ue.createElement("div",{className:"sonner-spinner"},CP.map((a,o)=>ue.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${o}`})))),EP=ue.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},ue.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),NP=ue.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},ue.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),kP=ue.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},ue.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),TP=ue.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},ue.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),RP=ue.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},ue.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),ue.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),AP=()=>{const[e,n]=ue.useState(document.hidden);return ue.useEffect(()=>{const a=()=>{n(document.hidden)};return document.addEventListener("visibilitychange",a),()=>window.removeEventListener("visibilitychange",a)},[]),e};let yh=1;class MP{constructor(){this.subscribe=n=>(this.subscribers.push(n),()=>{const a=this.subscribers.indexOf(n);this.subscribers.splice(a,1)}),this.publish=n=>{this.subscribers.forEach(a=>a(n))},this.addToast=n=>{this.publish(n),this.toasts=[...this.toasts,n]},this.create=n=>{var a;const{message:o,...i}=n,c=typeof(n==null?void 0:n.id)=="number"||((a=n.id)==null?void 0:a.length)>0?n.id:yh++,d=this.toasts.find(p=>p.id===c),m=n.dismissible===void 0?!0:n.dismissible;return this.dismissedToasts.has(c)&&this.dismissedToasts.delete(c),d?this.toasts=this.toasts.map(p=>p.id===c?(this.publish({...p,...n,id:c,title:o}),{...p,...n,id:c,dismissible:m,title:o}):p):this.addToast({title:o,...i,dismissible:m,id:c}),c},this.dismiss=n=>(n?(this.dismissedToasts.add(n),requestAnimationFrame(()=>this.subscribers.forEach(a=>a({id:n,dismiss:!0})))):this.toasts.forEach(a=>{this.subscribers.forEach(o=>o({id:a.id,dismiss:!0}))}),n),this.message=(n,a)=>this.create({...a,message:n}),this.error=(n,a)=>this.create({...a,message:n,type:"error"}),this.success=(n,a)=>this.create({...a,type:"success",message:n}),this.info=(n,a)=>this.create({...a,type:"info",message:n}),this.warning=(n,a)=>this.create({...a,type:"warning",message:n}),this.loading=(n,a)=>this.create({...a,type:"loading",message:n}),this.promise=(n,a)=>{if(!a)return;let o;a.loading!==void 0&&(o=this.create({...a,promise:n,type:"loading",message:a.loading,description:typeof a.description!="function"?a.description:void 0}));const i=Promise.resolve(n instanceof Function?n():n);let c=o!==void 0,d;const m=i.then(async h=>{if(d=["resolve",h],ue.isValidElement(h))c=!1,this.create({id:o,type:"default",message:h});else if(OP(h)&&!h.ok){c=!1;const v=typeof a.error=="function"?await a.error(`HTTP error! status: ${h.status}`):a.error,x=typeof a.description=="function"?await a.description(`HTTP error! status: ${h.status}`):a.description,j=typeof v=="object"&&!ue.isValidElement(v)?v:{message:v};this.create({id:o,type:"error",description:x,...j})}else if(h instanceof Error){c=!1;const v=typeof a.error=="function"?await a.error(h):a.error,x=typeof a.description=="function"?await a.description(h):a.description,j=typeof v=="object"&&!ue.isValidElement(v)?v:{message:v};this.create({id:o,type:"error",description:x,...j})}else if(a.success!==void 0){c=!1;const v=typeof a.success=="function"?await a.success(h):a.success,x=typeof a.description=="function"?await a.description(h):a.description,j=typeof v=="object"&&!ue.isValidElement(v)?v:{message:v};this.create({id:o,type:"success",description:x,...j})}}).catch(async h=>{if(d=["reject",h],a.error!==void 0){c=!1;const y=typeof a.error=="function"?await a.error(h):a.error,v=typeof a.description=="function"?await a.description(h):a.description,S=typeof y=="object"&&!ue.isValidElement(y)?y:{message:y};this.create({id:o,type:"error",description:v,...S})}}).finally(()=>{c&&(this.dismiss(o),o=void 0),a.finally==null||a.finally.call(a)}),p=()=>new Promise((h,y)=>m.then(()=>d[0]==="reject"?y(d[1]):h(d[1])).catch(y));return typeof o!="string"&&typeof o!="number"?{unwrap:p}:Object.assign(o,{unwrap:p})},this.custom=(n,a)=>{const o=(a==null?void 0:a.id)||yh++;return this.create({jsx:n(o),id:o,...a}),o},this.getActiveToasts=()=>this.toasts.filter(n=>!this.dismissedToasts.has(n.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const un=new MP,_P=(e,n)=>{const a=(n==null?void 0:n.id)||yh++;return un.addToast({title:e,...n,id:a}),a},OP=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",DP=_P,LP=()=>un.toasts,zP=()=>un.getActiveToasts(),Dr=Object.assign(DP,{success:un.success,info:un.info,warning:un.warning,error:un.error,custom:un.custom,message:un.message,promise:un.promise,dismiss:un.dismiss,loading:un.loading},{getHistory:LP,getToasts:zP});SP("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function tu(e){return e.label!==void 0}const PP=3,IP="24px",$P="16px",c0=4e3,BP=356,UP=14,HP=45,VP=200;function sr(...e){return e.filter(Boolean).join(" ")}function GP(e){const[n,a]=e.split("-"),o=[];return n&&o.push(n),a&&o.push(a),o}const FP=e=>{var n,a,o,i,c,d,m,p,h;const{invert:y,toast:v,unstyled:x,interacting:S,setHeights:j,visibleToasts:C,heights:N,index:E,toasts:k,expanded:T,removeToast:R,defaultRichColors:D,closeButton:P,style:z,cancelButtonStyle:B,actionButtonStyle:H,className:Y="",descriptionClassName:Q="",duration:fe,position:de,gap:he,expandByDefault:se,classNames:O,icons:$,closeButtonAriaLabel:Z="Close toast"}=e,[J,te]=ue.useState(null),[M,_]=ue.useState(null),[U,V]=ue.useState(!1),[F,ae]=ue.useState(!1),[ne,me]=ue.useState(!1),[pe,W]=ue.useState(!1),[ie,ge]=ue.useState(!1),[je,Ae]=ue.useState(0),[tt,ct]=ue.useState(0),kt=ue.useRef(v.duration||fe||c0),Ra=ue.useRef(null),Tt=ue.useRef(null),Hs=E===0,Vs=E+1<=C,Wt=v.type,Vr=v.dismissible!==!1,qt=v.className||"",_d=v.descriptionClassName||"",Aa=ue.useMemo(()=>N.findIndex(Re=>Re.toastId===v.id)||0,[N,v.id]),Tl=ue.useMemo(()=>{var Re;return(Re=v.closeButton)!=null?Re:P},[v.closeButton,P]),Ma=ue.useMemo(()=>v.duration||fe||c0,[v.duration,fe]),Gs=ue.useRef(0),mr=ue.useRef(0),Rl=ue.useRef(0),Gr=ue.useRef(null),[_a,Kt]=de.split("-"),Un=ue.useMemo(()=>N.reduce((Re,ut,Rt)=>Rt>=Aa?Re:Re+ut.height,0),[N,Aa]),Vt=AP(),Od=v.invert||y,Fs=Wt==="loading";mr.current=ue.useMemo(()=>Aa*he+Un,[Aa,Un]),ue.useEffect(()=>{kt.current=Ma},[Ma]),ue.useEffect(()=>{V(!0)},[]),ue.useEffect(()=>{const Re=Tt.current;if(Re){const ut=Re.getBoundingClientRect().height;return ct(ut),j(Rt=>[{toastId:v.id,height:ut,position:v.position},...Rt]),()=>j(Rt=>Rt.filter(Gt=>Gt.toastId!==v.id))}},[j,v.id]),ue.useLayoutEffect(()=>{if(!U)return;const Re=Tt.current,ut=Re.style.height;Re.style.height="auto";const Rt=Re.getBoundingClientRect().height;Re.style.height=ut,ct(Rt),j(Gt=>Gt.find(mt=>mt.toastId===v.id)?Gt.map(mt=>mt.toastId===v.id?{...mt,height:Rt}:mt):[{toastId:v.id,height:Rt,position:v.position},...Gt])},[U,v.title,v.description,j,v.id,v.jsx,v.action,v.cancel]);const Qn=ue.useCallback(()=>{ae(!0),Ae(mr.current),j(Re=>Re.filter(ut=>ut.toastId!==v.id)),setTimeout(()=>{R(v)},VP)},[v,R,j,mr]);ue.useEffect(()=>{if(v.promise&&Wt==="loading"||v.duration===1/0||v.type==="loading")return;let Re;return T||S||Vt?(()=>{if(Rl.current{kt.current!==1/0&&(Gs.current=new Date().getTime(),Re=setTimeout(()=>{v.onAutoClose==null||v.onAutoClose.call(v,v),Qn()},kt.current))})(),()=>clearTimeout(Re)},[T,S,v,Wt,Vt,Qn]),ue.useEffect(()=>{v.delete&&(Qn(),v.onDismiss==null||v.onDismiss.call(v,v))},[Qn,v.delete]);function yo(){var Re;if($!=null&&$.loading){var ut;return ue.createElement("div",{className:sr(O==null?void 0:O.loader,v==null||(ut=v.classNames)==null?void 0:ut.loader,"sonner-loader"),"data-visible":Wt==="loading"},$.loading)}return ue.createElement(jP,{className:sr(O==null?void 0:O.loader,v==null||(Re=v.classNames)==null?void 0:Re.loader),visible:Wt==="loading"})}const xo=v.icon||($==null?void 0:$[Wt])||wP(Wt);var Oa,Jn;return ue.createElement("li",{tabIndex:0,ref:Tt,className:sr(Y,qt,O==null?void 0:O.toast,v==null||(n=v.classNames)==null?void 0:n.toast,O==null?void 0:O.default,O==null?void 0:O[Wt],v==null||(a=v.classNames)==null?void 0:a[Wt]),"data-sonner-toast":"","data-rich-colors":(Oa=v.richColors)!=null?Oa:D,"data-styled":!(v.jsx||v.unstyled||x),"data-mounted":U,"data-promise":!!v.promise,"data-swiped":ie,"data-removed":F,"data-visible":Vs,"data-y-position":_a,"data-x-position":Kt,"data-index":E,"data-front":Hs,"data-swiping":ne,"data-dismissible":Vr,"data-type":Wt,"data-invert":Od,"data-swipe-out":pe,"data-swipe-direction":M,"data-expanded":!!(T||se&&U),"data-testid":v.testId,style:{"--index":E,"--toasts-before":E,"--z-index":k.length-E,"--offset":`${F?je:mr.current}px`,"--initial-height":se?"auto":`${tt}px`,...z,...v.style},onDragEnd:()=>{me(!1),te(null),Gr.current=null},onPointerDown:Re=>{Re.button!==2&&(Fs||!Vr||(Ra.current=new Date,Ae(mr.current),Re.target.setPointerCapture(Re.pointerId),Re.target.tagName!=="BUTTON"&&(me(!0),Gr.current={x:Re.clientX,y:Re.clientY})))},onPointerUp:()=>{var Re,ut,Rt;if(pe||!Vr)return;Gr.current=null;const Gt=Number(((Re=Tt.current)==null?void 0:Re.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),Fr=Number(((ut=Tt.current)==null?void 0:ut.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),mt=new Date().getTime()-((Rt=Ra.current)==null?void 0:Rt.getTime()),Jt=J==="x"?Gt:Fr,Da=Math.abs(Jt)/mt;if(Math.abs(Jt)>=HP||Da>.11){Ae(mr.current),v.onDismiss==null||v.onDismiss.call(v,v),_(J==="x"?Gt>0?"right":"left":Fr>0?"down":"up"),Qn(),W(!0);return}else{var en,tn;(en=Tt.current)==null||en.style.setProperty("--swipe-amount-x","0px"),(tn=Tt.current)==null||tn.style.setProperty("--swipe-amount-y","0px")}ge(!1),me(!1),te(null)},onPointerMove:Re=>{var ut,Rt,Gt;if(!Gr.current||!Vr||((ut=window.getSelection())==null?void 0:ut.toString().length)>0)return;const mt=Re.clientY-Gr.current.y,Jt=Re.clientX-Gr.current.x;var Da;const en=(Da=e.swipeDirections)!=null?Da:GP(de);!J&&(Math.abs(Jt)>1||Math.abs(mt)>1)&&te(Math.abs(Jt)>Math.abs(mt)?"x":"y");let tn={x:0,y:0};const So=Hn=>1/(1.5+Math.abs(Hn)/20);if(J==="y"){if(en.includes("top")||en.includes("bottom"))if(en.includes("top")&&mt<0||en.includes("bottom")&&mt>0)tn.y=mt;else{const Hn=mt*So(mt);tn.y=Math.abs(Hn)0)tn.x=Jt;else{const Hn=Jt*So(Jt);tn.x=Math.abs(Hn)0||Math.abs(tn.y)>0)&&ge(!0),(Rt=Tt.current)==null||Rt.style.setProperty("--swipe-amount-x",`${tn.x}px`),(Gt=Tt.current)==null||Gt.style.setProperty("--swipe-amount-y",`${tn.y}px`)}},Tl&&!v.jsx&&Wt!=="loading"?ue.createElement("button",{"aria-label":Z,"data-disabled":Fs,"data-close-button":!0,onClick:Fs||!Vr?()=>{}:()=>{Qn(),v.onDismiss==null||v.onDismiss.call(v,v)},className:sr(O==null?void 0:O.closeButton,v==null||(o=v.classNames)==null?void 0:o.closeButton)},(Jn=$==null?void 0:$.close)!=null?Jn:RP):null,(Wt||v.icon||v.promise)&&v.icon!==null&&(($==null?void 0:$[Wt])!==null||v.icon)?ue.createElement("div",{"data-icon":"",className:sr(O==null?void 0:O.icon,v==null||(i=v.classNames)==null?void 0:i.icon)},v.promise||v.type==="loading"&&!v.icon?v.icon||yo():null,v.type!=="loading"?xo:null):null,ue.createElement("div",{"data-content":"",className:sr(O==null?void 0:O.content,v==null||(c=v.classNames)==null?void 0:c.content)},ue.createElement("div",{"data-title":"",className:sr(O==null?void 0:O.title,v==null||(d=v.classNames)==null?void 0:d.title)},v.jsx?v.jsx:typeof v.title=="function"?v.title():v.title),v.description?ue.createElement("div",{"data-description":"",className:sr(Q,_d,O==null?void 0:O.description,v==null||(m=v.classNames)==null?void 0:m.description)},typeof v.description=="function"?v.description():v.description):null),ue.isValidElement(v.cancel)?v.cancel:v.cancel&&tu(v.cancel)?ue.createElement("button",{"data-button":!0,"data-cancel":!0,style:v.cancelButtonStyle||B,onClick:Re=>{tu(v.cancel)&&Vr&&(v.cancel.onClick==null||v.cancel.onClick.call(v.cancel,Re),Qn())},className:sr(O==null?void 0:O.cancelButton,v==null||(p=v.classNames)==null?void 0:p.cancelButton)},v.cancel.label):null,ue.isValidElement(v.action)?v.action:v.action&&tu(v.action)?ue.createElement("button",{"data-button":!0,"data-action":!0,style:v.actionButtonStyle||H,onClick:Re=>{tu(v.action)&&(v.action.onClick==null||v.action.onClick.call(v.action,Re),!Re.defaultPrevented&&Qn())},className:sr(O==null?void 0:O.actionButton,v==null||(h=v.classNames)==null?void 0:h.actionButton)},v.action.label):null)};function u0(){if(typeof window>"u"||typeof document>"u")return"ltr";const e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function YP(e,n){const a={};return[e,n].forEach((o,i)=>{const c=i===1,d=c?"--mobile-offset":"--offset",m=c?$P:IP;function p(h){["top","right","bottom","left"].forEach(y=>{a[`${d}-${y}`]=typeof h=="number"?`${h}px`:h})}typeof o=="number"||typeof o=="string"?p(o):typeof o=="object"?["top","right","bottom","left"].forEach(h=>{o[h]===void 0?a[`${d}-${h}`]=m:a[`${d}-${h}`]=typeof o[h]=="number"?`${o[h]}px`:o[h]}):p(m)}),a}const WP=ue.forwardRef(function(n,a){const{id:o,invert:i,position:c="bottom-right",hotkey:d=["altKey","KeyT"],expand:m,closeButton:p,className:h,offset:y,mobileOffset:v,theme:x="light",richColors:S,duration:j,style:C,visibleToasts:N=PP,toastOptions:E,dir:k=u0(),gap:T=UP,icons:R,containerAriaLabel:D="Notifications"}=n,[P,z]=ue.useState([]),B=ue.useMemo(()=>o?P.filter(U=>U.toasterId===o):P.filter(U=>!U.toasterId),[P,o]),H=ue.useMemo(()=>Array.from(new Set([c].concat(B.filter(U=>U.position).map(U=>U.position)))),[B,c]),[Y,Q]=ue.useState([]),[fe,de]=ue.useState(!1),[he,se]=ue.useState(!1),[O,$]=ue.useState(x!=="system"?x:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),Z=ue.useRef(null),J=d.join("+").replace(/Key/g,"").replace(/Digit/g,""),te=ue.useRef(null),M=ue.useRef(!1),_=ue.useCallback(U=>{z(V=>{var F;return(F=V.find(ae=>ae.id===U.id))!=null&&F.delete||un.dismiss(U.id),V.filter(({id:ae})=>ae!==U.id)})},[]);return ue.useEffect(()=>un.subscribe(U=>{if(U.dismiss){requestAnimationFrame(()=>{z(V=>V.map(F=>F.id===U.id?{...F,delete:!0}:F))});return}setTimeout(()=>{H0.flushSync(()=>{z(V=>{const F=V.findIndex(ae=>ae.id===U.id);return F!==-1?[...V.slice(0,F),{...V[F],...U},...V.slice(F+1)]:[U,...V]})})})}),[P]),ue.useEffect(()=>{if(x!=="system"){$(x);return}if(x==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?$("dark"):$("light")),typeof window>"u")return;const U=window.matchMedia("(prefers-color-scheme: dark)");try{U.addEventListener("change",({matches:V})=>{$(V?"dark":"light")})}catch{U.addListener(({matches:F})=>{try{$(F?"dark":"light")}catch(ae){console.error(ae)}})}},[x]),ue.useEffect(()=>{P.length<=1&&de(!1)},[P]),ue.useEffect(()=>{const U=V=>{var F;if(d.every(me=>V[me]||V.code===me)){var ne;de(!0),(ne=Z.current)==null||ne.focus()}V.code==="Escape"&&(document.activeElement===Z.current||(F=Z.current)!=null&&F.contains(document.activeElement))&&de(!1)};return document.addEventListener("keydown",U),()=>document.removeEventListener("keydown",U)},[d]),ue.useEffect(()=>{if(Z.current)return()=>{te.current&&(te.current.focus({preventScroll:!0}),te.current=null,M.current=!1)}},[Z.current]),ue.createElement("section",{ref:a,"aria-label":`${D} ${J}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},H.map((U,V)=>{var F;const[ae,ne]=U.split("-");return B.length?ue.createElement("ol",{key:U,dir:k==="auto"?u0():k,tabIndex:-1,ref:Z,className:h,"data-sonner-toaster":!0,"data-sonner-theme":O,"data-y-position":ae,"data-x-position":ne,style:{"--front-toast-height":`${((F=Y[0])==null?void 0:F.height)||0}px`,"--width":`${BP}px`,"--gap":`${T}px`,...C,...YP(y,v)},onBlur:me=>{M.current&&!me.currentTarget.contains(me.relatedTarget)&&(M.current=!1,te.current&&(te.current.focus({preventScroll:!0}),te.current=null))},onFocus:me=>{me.target instanceof HTMLElement&&me.target.dataset.dismissible==="false"||M.current||(M.current=!0,te.current=me.relatedTarget)},onMouseEnter:()=>de(!0),onMouseMove:()=>de(!0),onMouseLeave:()=>{he||de(!1)},onDragEnd:()=>de(!1),onPointerDown:me=>{me.target instanceof HTMLElement&&me.target.dataset.dismissible==="false"||se(!0)},onPointerUp:()=>se(!1)},B.filter(me=>!me.position&&V===0||me.position===U).map((me,pe)=>{var W,ie;return ue.createElement(FP,{key:me.id,icons:R,index:pe,toast:me,defaultRichColors:S,duration:(W=E==null?void 0:E.duration)!=null?W:j,className:E==null?void 0:E.className,descriptionClassName:E==null?void 0:E.descriptionClassName,invert:i,visibleToasts:N,closeButton:(ie=E==null?void 0:E.closeButton)!=null?ie:p,interacting:he,position:U,style:E==null?void 0:E.style,unstyled:E==null?void 0:E.unstyled,classNames:E==null?void 0:E.classNames,cancelButtonStyle:E==null?void 0:E.cancelButtonStyle,actionButtonStyle:E==null?void 0:E.actionButtonStyle,closeButtonAriaLabel:E==null?void 0:E.closeButtonAriaLabel,removeToast:_,toasts:B.filter(ge=>ge.position==me.position),heights:Y.filter(ge=>ge.position==me.position),setHeights:Q,expandByDefault:m,gap:T,expanded:fe,swipeDirections:n.swipeDirections})})):null}))});async function mu(e){const n=Dr.loading("Saving changes…");try{const a=await e();if(Dr.success("Changes saved",{id:n}),a.botRestart){const o=Dr.loading("Restarting bot…");a.botRestart.success?Dr.success("Bot started",{id:o}):Dr.error(a.botRestart.error??"Could not start bot",{id:o})}return a}catch(a){throw Dr.error(a instanceof Error?a.message:"Save failed",{id:n}),a}}function qP({filename:e}){const{canEditConfig:n}=Lt(),a=!n("supportbot"),[o,i]=f.useState(null),[c,d]=f.useState(null),[m,p]=f.useState(!0),[h,y]=f.useState(!1),[v,x]=f.useState(""),[S,j]=f.useState(""),C=f.useCallback(async()=>{p(!0),x(""),j("");try{const D=(await Ne.getAddonConfigJson(e)).data??{};i(D),d(structuredClone(D))}catch(R){x(R instanceof Error?R.message:"Failed to load config")}finally{p(!1)}},[e]);f.useEffect(()=>{C()},[C]);const N=o?xP(o):null;function E(R,D){i(P=>P&&il(P,R,D))}async function k(){if(!(a||!o)){y(!0),x(""),j("");try{const R=await mu(()=>Ne.saveAddonConfig(e,o));j(R.message||"Saved."),await C()}catch(R){x(R instanceof Error?R.message:"Save failed")}finally{y(!1)}}}if(m)return l.jsxs("div",{className:"space-y-4",children:[l.jsx(Ve,{className:"h-24 w-full rounded-xl"}),l.jsx(Ve,{className:"h-48 w-full rounded-xl"})]});if(!o||!N)return l.jsx(Ye,{variant:"destructive",children:l.jsx(We,{children:v||"Failed to load"})});const T=c&&JSON.stringify(o)!==JSON.stringify(c);return l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[T?l.jsx("span",{className:"text-xs text-amber-500",children:"Unsaved changes"}):null,l.jsx(ve,{variant:"outline",size:"sm",onClick:C,disabled:m||h,children:"Reload"}),a?l.jsx("span",{className:"text-xs text-muted-foreground",children:"View only"}):l.jsxs(ve,{size:"sm",onClick:k,disabled:h||!T,children:[l.jsx(ye,{icon:Hu,size:16,className:"mr-1.5"}),h?"Saving…":"Save"]})]}),v?l.jsxs(Ye,{variant:"destructive",children:[l.jsx(ye,{icon:_h,size:18}),l.jsx(We,{children:v})]}):null,S?l.jsx(Ye,{className:"border-primary/30 bg-primary/10 text-primary",children:l.jsx(We,{children:S})}):null,N.map(R=>l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{className:"pb-3",children:[l.jsx(Qe,{className:"text-base",children:R.title}),R.description?l.jsx(ht,{children:R.description}):null]}),l.jsx(Fe,{className:"grid gap-4 sm:grid-cols-2",children:R.fields.map(D=>l.jsx("div",{className:D.type==="textarea"||D.type==="stringList"?"sm:col-span-2":"",children:l.jsx(zg,{field:D,value:fo(o,D.path),readOnly:a,onChange:P=>E(D.path,P)})},D.path))})]},R.title))]})}function KP(e){return e.replace(/_/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/\b\w/g,n=>n.toUpperCase())}function XP(e,n){const a=new Set(e.flatMap(d=>d.fields.map(m=>m.path))),o=Ig(n).filter(d=>!a.has(d.path));if(o.length===0)return e;const i=new Map;for(const d of o){const m=d.path.split(".")[0]??"Other",p=i.get(m)??[];p.push(d),i.set(m,p)}const c=[...i.entries()].sort(([d],[m])=>d.localeCompare(m)).map(([d,m])=>({title:KP(d),description:"These options exist in your config file but are not in the main editor sections.",fields:m.sort((p,h)=>p.path.localeCompare(h.path))}));return[...e,...c]}function d0(e,n){(n==null||n>e.length)&&(n=e.length);for(var a=0,o=Array(n);a=e.length?e.apply(this,i):function(){for(var d=arguments.length,m=new Array(d),p=0;p1&&arguments[1]!==void 0?arguments[1]:{};nu.initial(e),nu.handler(n);var a={current:e},o=Vi(xI)(a,n),i=Vi(yI)(a),c=Vi(nu.changes)(e),d=Vi(bI)(a);function m(){var h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(y){return y};return nu.selector(h),h(a.current)}function p(h){lI(o,i,c,d)(h)}return[m,p]}function bI(e,n){return ll(n)?n(e.current):n}function yI(e,n){return e.current=h0(h0({},e.current),n),n}function xI(e,n,a){return ll(n)?n(e.current):Object.keys(a).forEach(function(o){var i;return(i=n[o])===null||i===void 0?void 0:i.call(n,e.current[o])}),a}var SI={create:vI},wI={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs"}};function CI(e){return function n(){for(var a=this,o=arguments.length,i=new Array(o),c=0;c=e.length?e.apply(this,i):function(){for(var d=arguments.length,m=new Array(d),p=0;p{o.current=!1}:e,n)}var xn=KI;function qi(){}function ms(e,n,a,o){return XI(e,o)||ZI(e,n,a,o)}function XI(e,n){return e.editor.getModel(Y5(e,n))}function ZI(e,n,a,o){return e.editor.createModel(n,a,o?Y5(e,o):void 0)}function Y5(e,n){return e.Uri.parse(n)}function QI({original:e,modified:n,language:a,originalLanguage:o,modifiedLanguage:i,originalModelPath:c,modifiedModelPath:d,keepCurrentOriginalModel:m=!1,keepCurrentModifiedModel:p=!1,theme:h="light",loading:y="Loading...",options:v={},height:x="100%",width:S="100%",className:j,wrapperProps:C={},beforeMount:N=qi,onMount:E=qi}){let[k,T]=f.useState(!1),[R,D]=f.useState(!0),P=f.useRef(null),z=f.useRef(null),B=f.useRef(null),H=f.useRef(E),Y=f.useRef(N),Q=f.useRef(!1);F5(()=>{let se=V5.init();return se.then(O=>(z.current=O)&&D(!1)).catch(O=>(O==null?void 0:O.type)!=="cancelation"&&console.error("Monaco initialization: error:",O)),()=>P.current?he():se.cancel()}),xn(()=>{if(P.current&&z.current){let se=P.current.getOriginalEditor(),O=ms(z.current,e||"",o||a||"text",c||"");O!==se.getModel()&&se.setModel(O)}},[c],k),xn(()=>{if(P.current&&z.current){let se=P.current.getModifiedEditor(),O=ms(z.current,n||"",i||a||"text",d||"");O!==se.getModel()&&se.setModel(O)}},[d],k),xn(()=>{let se=P.current.getModifiedEditor();se.getOption(z.current.editor.EditorOption.readOnly)?se.setValue(n||""):n!==se.getValue()&&(se.executeEdits("",[{range:se.getModel().getFullModelRange(),text:n||"",forceMoveMarkers:!0}]),se.pushUndoStop())},[n],k),xn(()=>{var se,O;(O=(se=P.current)==null?void 0:se.getModel())==null||O.original.setValue(e||"")},[e],k),xn(()=>{let{original:se,modified:O}=P.current.getModel();z.current.editor.setModelLanguage(se,o||a||"text"),z.current.editor.setModelLanguage(O,i||a||"text")},[a,o,i],k),xn(()=>{var se;(se=z.current)==null||se.editor.setTheme(h)},[h],k),xn(()=>{var se;(se=P.current)==null||se.updateOptions(v)},[v],k);let fe=f.useCallback(()=>{var $;if(!z.current)return;Y.current(z.current);let se=ms(z.current,e||"",o||a||"text",c||""),O=ms(z.current,n||"",i||a||"text",d||"");($=P.current)==null||$.setModel({original:se,modified:O})},[a,n,i,e,o,c,d]),de=f.useCallback(()=>{var se;!Q.current&&B.current&&(P.current=z.current.editor.createDiffEditor(B.current,{automaticLayout:!0,...v}),fe(),(se=z.current)==null||se.editor.setTheme(h),T(!0),Q.current=!0)},[v,h,fe]);f.useEffect(()=>{k&&H.current(P.current,z.current)},[k]),f.useEffect(()=>{!R&&!k&&de()},[R,k,de]);function he(){var O,$,Z,J;let se=(O=P.current)==null?void 0:O.getModel();m||(($=se==null?void 0:se.original)==null||$.dispose()),p||((Z=se==null?void 0:se.modified)==null||Z.dispose()),(J=P.current)==null||J.dispose()}return ue.createElement(G5,{width:S,height:x,isEditorReady:k,loading:y,_ref:B,className:j,wrapperProps:C})}var JI=QI;f.memo(JI);function e$(e){let n=f.useRef();return f.useEffect(()=>{n.current=e},[e]),n.current}var t$=e$,ru=new Map;function n$({defaultValue:e,defaultLanguage:n,defaultPath:a,value:o,language:i,path:c,theme:d="light",line:m,loading:p="Loading...",options:h={},overrideServices:y={},saveViewState:v=!0,keepCurrentModel:x=!1,width:S="100%",height:j="100%",className:C,wrapperProps:N={},beforeMount:E=qi,onMount:k=qi,onChange:T,onValidate:R=qi}){let[D,P]=f.useState(!1),[z,B]=f.useState(!0),H=f.useRef(null),Y=f.useRef(null),Q=f.useRef(null),fe=f.useRef(k),de=f.useRef(E),he=f.useRef(),se=f.useRef(o),O=t$(c),$=f.useRef(!1),Z=f.useRef(!1);F5(()=>{let M=V5.init();return M.then(_=>(H.current=_)&&B(!1)).catch(_=>(_==null?void 0:_.type)!=="cancelation"&&console.error("Monaco initialization: error:",_)),()=>Y.current?te():M.cancel()}),xn(()=>{var _,U,V,F;let M=ms(H.current,e||o||"",n||i||"",c||a||"");M!==((_=Y.current)==null?void 0:_.getModel())&&(v&&ru.set(O,(U=Y.current)==null?void 0:U.saveViewState()),(V=Y.current)==null||V.setModel(M),v&&((F=Y.current)==null||F.restoreViewState(ru.get(c))))},[c],D),xn(()=>{var M;(M=Y.current)==null||M.updateOptions(h)},[h],D),xn(()=>{!Y.current||o===void 0||(Y.current.getOption(H.current.editor.EditorOption.readOnly)?Y.current.setValue(o):o!==Y.current.getValue()&&(Z.current=!0,Y.current.executeEdits("",[{range:Y.current.getModel().getFullModelRange(),text:o,forceMoveMarkers:!0}]),Y.current.pushUndoStop(),Z.current=!1))},[o],D),xn(()=>{var _,U;let M=(_=Y.current)==null?void 0:_.getModel();M&&i&&((U=H.current)==null||U.editor.setModelLanguage(M,i))},[i],D),xn(()=>{var M;m!==void 0&&((M=Y.current)==null||M.revealLine(m))},[m],D),xn(()=>{var M;(M=H.current)==null||M.editor.setTheme(d)},[d],D);let J=f.useCallback(()=>{var M;if(!(!Q.current||!H.current)&&!$.current){de.current(H.current);let _=c||a,U=ms(H.current,o||e||"",n||i||"",_||"");Y.current=(M=H.current)==null?void 0:M.editor.create(Q.current,{model:U,automaticLayout:!0,...h},y),v&&Y.current.restoreViewState(ru.get(_)),H.current.editor.setTheme(d),m!==void 0&&Y.current.revealLine(m),P(!0),$.current=!0}},[e,n,a,o,i,c,h,y,v,d,m]);f.useEffect(()=>{D&&fe.current(Y.current,H.current)},[D]),f.useEffect(()=>{!z&&!D&&J()},[z,D,J]),se.current=o,f.useEffect(()=>{var M,_;D&&T&&((M=he.current)==null||M.dispose(),he.current=(_=Y.current)==null?void 0:_.onDidChangeModelContent(U=>{Z.current||T(Y.current.getValue(),U)}))},[D,T]),f.useEffect(()=>{if(D){let M=H.current.editor.onDidChangeMarkers(_=>{var V;let U=(V=Y.current.getModel())==null?void 0:V.uri;if(U&&_.find(F=>F.path===U.path)){let F=H.current.editor.getModelMarkers({resource:U});R==null||R(F)}});return()=>{M==null||M.dispose()}}return()=>{}},[D,R]);function te(){var M,_;(M=he.current)==null||M.dispose(),x?v&&ru.set(c,Y.current.saveViewState()):(_=Y.current.getModel())==null||_.dispose(),Y.current.dispose()}return ue.createElement(G5,{width:S,height:j,isEditorReady:D,loading:p,_ref:Q,className:C,wrapperProps:N})}var r$=n$,a$=f.memo(r$),o$=a$;function s$(e){return e!==null&&typeof e=="object"&&"Command"in e}function i$(e){return Object.entries(e).filter(([,n])=>s$(n)).map(([n,a])=>({key:n,...a}))}function l$({data:e,onChange:n}){const a=i$(e);function o(i,c){const d=e[i];n({...e,[i]:{...d,...c}})}return a.length===0?l.jsx("p",{className:"text-sm text-muted-foreground",children:"No commands found in this config."}):l.jsx("div",{className:"grid gap-3 sm:grid-cols-2",children:a.map(i=>l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{className:"flex flex-row items-center gap-2 space-y-0 pb-2",children:[l.jsx("div",{className:"flex size-9 items-center justify-center rounded-lg bg-primary/15 text-primary",children:l.jsx(ye,{icon:xa,size:18})}),l.jsx(Qe,{className:"text-base",children:i.key})]}),l.jsxs(Fe,{className:"space-y-3",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx(De,{htmlFor:`${i.key}-enabled`,children:"Enabled"}),l.jsx(dn,{id:`${i.key}-enabled`,checked:i.Enabled!==!1,onCheckedChange:c=>o(i.key,{Enabled:c})})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsx(De,{children:"Slash command"}),l.jsx(Ue,{value:i.Command??"",onChange:c=>o(i.key,{Command:c.target.value}),className:"border-border bg-secondary/30 font-mono"})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsx(De,{children:"Description"}),l.jsx(Ue,{value:i.Description??"",onChange:c=>o(i.key,{Description:c.target.value}),className:"border-border bg-secondary/30"})]})]})]},i.key))})}function c$(e,n){let a=structuredClone(n);if(e==="supportbot"){const o=fo(a,"General.Token");o&&o!=="BOT_TOKEN"&&(a=il(a,"General.Token","BOT_TOKEN"))}if(e==="supportbot-ai"){const o=fo(a,"General.Model_API_Key");o&&o!=="MODEL_API_KEY"&&(a=il(a,"General.Model_API_Key","MODEL_API_KEY"))}return a}function u$(e,n,a,o){const i={};for(const c of n)for(const d of c.fields){const m=fo(a,d.path),p=fo(o,d.path);d.type==="secret"&&(m==="BOT_TOKEN"||m==="MODEL_API_KEY"||m===""||m===void 0)||JSON.stringify(m)!==JSON.stringify(p)&&(i[`${e}:${d.path}`]=m)}return i}function d$({configFile:e}){const{canEditConfig:n}=Lt(),a=!n(e),[o,i]=f.useState(null),[c,d]=f.useState(null),[m,p]=f.useState(!0),[h,y]=f.useState(!1),[v,x]=f.useState(""),[S,j]=f.useState(""),[C,N]=f.useState("visual"),[E,k]=f.useState(""),[T,R]=f.useState(""),[D]=$u(),[P,z]=f.useState(()=>D.get("tab")||null),B=C_(e),H=f.useMemo(()=>!B||B==="commands"||!o?B:XP(B,o),[B,o]);f.useEffect(()=>{var $;if(H&&H!=="commands"){const Z=D.get("tab");if(Z&&H.find(J=>J.title.toLowerCase()===Z.toLowerCase())){const J=H.find(te=>te.title.toLowerCase()===Z.toLowerCase());J&&J.title!==P&&z(J.title)}else(!P||!H.find(J=>J.title===P))&&z((($=H[0])==null?void 0:$.title)||null)}},[H,P,D]);const Y=f.useCallback(async()=>{p(!0),x(""),j("");try{const Z=(await Ne.getConfigJson(e)).data??{},J=c$(e,Z);i(J),d(J);const M=(await Ne.getConfigRaw(e)).data??"",_=m8(M,e);k(_),R(_)}catch($){x($ instanceof Error?$.message:"Failed to load config")}finally{p(!1)}},[e]);f.useEffect(()=>{Y()},[Y]);function Q($,Z){i(J=>J&&il(J,$,Z))}async function fe(){if(!(a||E===T)){y(!0),x(""),j("");try{const $=await mu(()=>Ne.saveConfigRaw(e,E));j($.message||"Config saved."),await Y()}catch($){x($ instanceof Error?$.message:"Save failed")}finally{y(!1)}}}async function de(){if(!(a||!o||!c)){if(C==="yaml"){await fe();return}y(!0),x(""),j("");try{if(B==="commands"){const $={};for(const J of Object.keys(o))JSON.stringify(o[J])!==JSON.stringify(c[J])&&($[`${e}:${J}`]=o[J]);if(Object.keys($).length===0){j("No changes to save.");return}const Z=await mu(()=>Ne.updateConfigFields($));j(Z.message||"")}else if(H&&H!=="commands"){const $=u$(e,H,o,c);if(Object.keys($).length===0){j("No changes to save.");return}const Z=await mu(()=>Ne.updateConfigFields($));j(Z.message||"")}await Y()}catch($){x($ instanceof Error?$.message:"Save failed")}finally{y(!1)}}}if(B===null)return l.jsx(Ye,{children:l.jsx(We,{children:"No visual editor available for this file."})});if(m)return l.jsxs("div",{className:"space-y-4",children:[l.jsx(Ve,{className:"h-24 w-full rounded-xl"}),l.jsx(Ve,{className:"h-48 w-full rounded-xl"})]});if(!o)return l.jsx(Ye,{variant:"destructive",children:l.jsx(We,{children:v||"Failed to load"})});const he=c&&JSON.stringify(o)!==JSON.stringify(c),O=C==="yaml"?E!==T:he;return l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[l.jsxs("div",{className:"flex rounded-lg border border-border p-0.5",children:[l.jsx(ve,{type:"button",variant:C==="visual"?"secondary":"ghost",size:"sm",className:"h-8",onClick:()=>N("visual"),children:"Visual"}),l.jsx(ve,{type:"button",variant:C==="yaml"?"secondary":"ghost",size:"sm",className:"h-8",onClick:()=>N("yaml"),children:"YAML"})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[O?l.jsx("span",{className:"text-xs text-amber-500",children:"Unsaved changes"}):null,l.jsx(ve,{variant:"outline",size:"sm",onClick:Y,disabled:m||h,children:"Reload"}),a?l.jsx("span",{className:"text-xs text-muted-foreground",children:"View only"}):l.jsxs(ve,{size:"sm",onClick:de,disabled:h||!O,children:[l.jsx(ye,{icon:Hu,size:16,className:"mr-1.5"}),h?"Saving…":"Save"]})]})]}),v?l.jsxs(Ye,{variant:"destructive",children:[l.jsx(ye,{icon:_h,size:18}),l.jsx(We,{children:v})]}):null,S?l.jsx(Ye,{className:"border-primary/30 bg-primary/10 text-primary",children:l.jsx(We,{children:S})}):null,C==="yaml"?l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{className:"pb-3",children:[l.jsx(Qe,{className:"text-base",children:"Raw YAML"}),l.jsx(ht,{children:"Edit the full file. Use this for nested lists (e.g. welcome buttons) or any option not in Visual mode."})]}),l.jsx(Fe,{className:"h-[min(520px,60vh)] overflow-hidden rounded-b-xl border-t border-border p-0",children:l.jsx(o$,{height:"100%",language:"yaml",theme:"vs-dark",value:E,onChange:$=>k($||""),options:{readOnly:a,minimap:{enabled:!1},fontSize:13,wordWrap:"on",scrollBeyondLastLine:!1,padding:{top:16},tabSize:2}})})]}):B==="commands"?l.jsx(l$,{data:o,onChange:$=>i($)}):H&&H!=="commands"?l.jsxs("div",{className:"grid gap-6 lg:grid-cols-[200px_1fr]",children:[l.jsx("nav",{className:"flex flex-col gap-1",children:H.map($=>l.jsx("button",{onClick:()=>z($.title),className:ce("text-left px-3 py-2 text-sm rounded-md transition-colors",P===$.title?"bg-primary text-primary-foreground font-medium":"text-muted-foreground hover:bg-secondary hover:text-foreground"),children:$.title},$.title))}),l.jsx("div",{className:"min-w-0",children:H.filter($=>$.title===P).map($=>l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{className:"pb-3",children:[l.jsx(Qe,{className:"text-base",children:$.title}),$.description?l.jsx(ht,{children:$.description}):null]}),l.jsx(Fe,{className:"grid gap-4 sm:grid-cols-2",children:$.fields.map(Z=>l.jsx("div",{className:Z.type==="textarea"||Z.type==="stringList"?"sm:col-span-2":"",children:l.jsx(zg,{field:Z,value:fo(o,Z.path),readOnly:a,onChange:J=>Q(Z.path,J)})},Z.path))})]},$.title))})]}):null]})}const f$=Ne.listConfigs(),m$={supportbot:"Bot config","ticket-panel":"Ticket panel",commands:"Commands",messages:"Messages","supportbot-ai":"AI assistant"};function p$(){var T,R;const{permissions:e,canViewConfig:n}=Lt(),{files:a}=t2(),[o,i]=$u(),c=o.get("file"),d=n("supportbot"),m=f.useMemo(()=>f$.filter(D=>n(D)),[n]),p=f.useMemo(()=>d?a:[],[d,a]),h=f.useMemo(()=>[...m,...p.map(D=>Gi(D))],[m,p]),y=h[0]??"",[v,x]=f.useState(()=>c&&h.includes(c)?c:y);if(f.useEffect(()=>{c&&h.includes(c)?x(c):h.includes(v)||(x(y),y&&i({file:y}))},[c,h,v,y,i]),h.length===0)return l.jsx(Lr,{to:Bh(e),replace:!0});const S=S8(v),j=(S==null?void 0:S.type)==="addon",C=j?S.file:null,N=j?n2(C):m$[v]??"Configuration",E=j?!!((T=e==null?void 0:e.configs.supportbot)!=null&&T.edit):e?!!((R=e.configs[v])!=null&&R.edit):!1,k=j?C:`${v}.yml`;return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-bold tracking-tight",children:N}),l.jsx("p",{className:"text-muted-foreground",children:E?`Edit ${k} — changes apply to the running bot without restarting the dashboard.`:`Viewing ${k} — you do not have permission to save changes.`})]}),l.jsx("div",{className:"mt-6",children:j&&C?l.jsx(qP,{filename:C},C):l.jsx(d$,{configFile:v},v)})]})}const h$={oauth_not_configured:"Discord OAuth is not configured. Complete setup at /setup first.",not_allowed:"Your Discord account is not allowed. Ask an owner to add you under Users, or add your ID to OwnerUserIds in Configs/api.yml.",invalid_state:"Login session expired. Please try again.",missing_code:"Discord did not return an authorization code. Please try again.",oauth_failed:"Could not complete Discord sign-in. Check your OAuth settings.",access_denied:"You cancelled Discord sign-in."};function g$(e){return e?h$[e]||"Sign-in failed. Please try again.":""}function v$(){const{branding:e}=Fu(),{isAuthenticated:n,loading:a,loginWithDiscord:o}=Lt(),[i]=$u(),c=f.useMemo(()=>g$(i.get("error")),[i]);return!a&&n?l.jsx(Lr,{to:"/",replace:!0}):l.jsx("div",{className:"relative flex min-h-svh items-center justify-center bg-[#0c0c10] p-4 overflow-hidden",children:l.jsxs(Ge,{className:"relative z-10 w-full max-w-md overflow-hidden rounded-3xl border border-white/10 bg-card/30 p-2 shadow-2xl backdrop-blur-2xl",children:[l.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-white/5 to-transparent pointer-events-none"}),l.jsxs(Ze,{className:"space-y-6 pt-10 pb-4 text-center",children:[l.jsx("div",{className:"mx-auto flex size-28 items-center justify-center overflow-hidden rounded-3xl bg-white/5 p-4 shadow-inner ring-1 ring-white/10 transition-transform duration-500 hover:scale-105",children:l.jsx("img",{src:"/logo.png",alt:"SupportBot Logo",className:"h-full w-full object-contain drop-shadow-xl"})}),l.jsxs("div",{children:[l.jsx(Qe,{className:"bg-gradient-to-br from-white to-white/50 bg-clip-text text-3xl font-extrabold tracking-tight text-transparent",children:e.title||"SupportBot"}),l.jsx(ht,{className:"mt-2 text-base font-medium text-white/50",children:"Sign in to your dashboard"})]})]}),l.jsxs(Fe,{className:"space-y-6 pb-10",children:[l.jsxs("div",{className:"text-center space-y-1",children:[l.jsx("p",{className:"text-sm font-medium text-white/50",children:"Securely authenticate using your Discord account."}),l.jsxs("p",{className:"text-xs text-white/30",children:["Credentials are configured in ",l.jsx("code",{className:"rounded bg-white/5 px-1 py-0.5 text-white/40",children:"Configs/api.yml"})]})]}),c?l.jsx(Ye,{variant:"destructive",className:"border-red-500/50 bg-red-500/10 text-red-200 backdrop-blur-md",children:l.jsx(We,{className:"font-medium",children:c})}):null,l.jsxs(ve,{type:"button",className:"group relative w-full overflow-hidden rounded-2xl bg-primary px-8 py-6 text-base font-bold text-primary-foreground shadow-[0_0_20px_rgba(var(--primary),0.3)] transition-all duration-300 hover:scale-[1.02] hover:shadow-[0_0_30px_rgba(var(--primary),0.5)] active:scale-95",disabled:a,onClick:o,children:[l.jsx("div",{className:"absolute inset-0 translate-x-[-100%] bg-gradient-to-r from-transparent via-white/20 to-transparent transition-transform duration-1000 group-hover:translate-x-[100%]"}),l.jsxs("span",{className:"relative flex items-center justify-center gap-2",children:[l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"22",height:"22",viewBox:"0 0 127.14 96.36",fill:"currentColor",children:l.jsx("path",{d:"M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1,105.25,105.25,0,0,0,32.19-16.14c2.64-27.38-4.51-51.11-19.32-72.15ZM42.68,68.22c-5.28,0-9.66-4.9-9.66-10.89s4.29-10.89,9.66-10.89c5.41,0,9.75,4.9,9.66,10.89C52.34,63.32,48.09,68.22,42.68,68.22Zm41.76,0c-5.28,0-9.66-4.9-9.66-10.89s4.29-10.89,9.66-10.89c5.41,0,9.75,4.9,9.66,10.89C84.44,63.32,80.19,68.22,84.44,68.22Z"})}),a?"Authenticating...":"Continue with Discord"]})]})]})]})})}const bs=[{id:"botToken",title:"Bot token",subtitle:"Connect your Discord bot",icon:Dh},{id:"secretKey",title:"Session secret",subtitle:"Secure dashboard logins",icon:u8},{id:"oauth",title:"Discord OAuth",subtitle:"Sign in with Discord",icon:Xx},{id:"redirectUri",title:"Redirect URL",subtitle:"OAuth callback address",icon:Vu},{id:"owners",title:"Dashboard owners",subtitle:"Who can access this panel",icon:Pp},{id:"emeraldApi",title:"Emerald API",subtitle:"One-click addons",icon:Xx}];function b$(e){return e==="oauth"?"oauth":e==="owners"?"owners":e}function y$({brandingTitle:e,faviconUrl:n,faviconVersion:a,hasFavicon:o,children:i}){return l.jsx("div",{className:"min-h-svh bg-background",children:l.jsxs("div",{className:"mx-auto flex min-h-svh max-w-6xl flex-col px-4 py-6 md:px-8 md:py-10",children:[l.jsxs("header",{className:"mb-8 flex items-center gap-4",children:[o&&n?l.jsx("img",{src:`${n}${a?`?v=${a}`:""}`,alt:"",className:"size-12 rounded-2xl border border-border object-contain"}):l.jsx("div",{className:"flex size-12 items-center justify-center rounded-2xl border border-border bg-primary text-primary-foreground",children:l.jsx(ye,{icon:Dh,size:24})}),l.jsxs("div",{children:[l.jsx("p",{className:"text-xs font-medium uppercase tracking-wider text-muted-foreground",children:"First-time setup"}),l.jsx("h1",{className:"text-2xl font-semibold tracking-tight md:text-3xl",children:e})]})]}),i]})})}function x$({currentIndex:e,validation:n}){const a=(e+1)/bs.length*100;return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex items-center justify-between text-xs text-muted-foreground",children:[l.jsxs("span",{children:["Step ",e+1," of ",bs.length]}),l.jsxs("span",{children:[Math.round(a),"%"]})]}),l.jsx("div",{className:"h-2 overflow-hidden rounded-full bg-secondary",children:l.jsx("div",{className:"h-full rounded-full bg-primary transition-all duration-300 ease-out",style:{width:`${a}%`}})})]}),l.jsx("nav",{className:"hidden space-y-1 md:block","aria-label":"Setup steps",children:bs.map((o,i)=>{var h;const c=b$(o.id),d=(h=n[c])==null?void 0:h.ok,m=i===e,p=il.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(ye,{icon:Bu,size:14}),o.globalName||o.username,l.jsx("span",{className:"font-mono text-xs opacity-80",children:o.id})]},o.id))}):null,!e.bot&&!((a=e.users)!=null&&a.length)?l.jsx("p",{children:e.warning||"Verified successfully."}):null]})}):l.jsx(Ye,{variant:"destructive",children:l.jsx(We,{children:e.error})}):null}function w$({values:e,setValues:n,validation:a,validating:o,onValidate:i}){return l.jsxs("div",{className:"flex flex-1 flex-col gap-5",children:[l.jsxs("p",{className:"text-sm leading-relaxed text-muted-foreground",children:["Open the"," ",l.jsx("a",{href:"https://discord.com/developers/applications",target:"_blank",rel:"noreferrer",className:"font-medium text-primary hover:underline",children:"Discord Developer Portal"}),", select your application, go to ",l.jsx("strong",{children:"Bot"}),", and reset or copy the token."]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{htmlFor:"botToken",children:"Bot token"}),l.jsx(Ue,{id:"botToken",type:"password",autoComplete:"off",value:e.botToken,onChange:c=>n({...e,botToken:c.target.value}),placeholder:"MTI…",className:"h-11 font-mono text-sm"})]}),l.jsx(Us,{result:a.botToken}),l.jsx("div",{className:"mt-auto",children:l.jsx(ve,{type:"button",variant:"secondary",disabled:o||!e.botToken,onClick:i,children:o?"Checking with Discord…":"Verify bot token"})})]})}function C$({values:e,setValues:n,validation:a,validating:o,onValidate:i,onGenerate:c}){return l.jsxs("div",{className:"flex flex-1 flex-col gap-5",children:[l.jsx("p",{className:"text-sm leading-relaxed text-muted-foreground",children:"This random string signs your login cookies. Store it like a password — do not commit it to public repos."}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{htmlFor:"secretKey",children:"Session secret"}),l.jsx(Ue,{id:"secretKey",type:"password",autoComplete:"off",value:e.secretKey,onChange:d=>n({...e,secretKey:d.target.value}),className:"h-11 font-mono text-sm"})]}),l.jsx(Us,{result:a.secretKey}),l.jsxs("div",{className:"mt-auto flex flex-wrap gap-2",children:[l.jsx(ve,{type:"button",variant:"outline",onClick:c,children:"Generate secure secret"}),l.jsx(ve,{type:"button",variant:"secondary",disabled:o||!e.secretKey,onClick:i,children:o?"Checking…":"Validate"})]})]})}function j$({values:e,setValues:n,validation:a,validating:o,onValidate:i}){return l.jsxs("div",{className:"flex flex-1 flex-col gap-5",children:[l.jsxs("p",{className:"text-sm leading-relaxed text-muted-foreground",children:["Use the ",l.jsx("strong",{children:"same application"})," as your bot. Under OAuth2, copy the Client ID and Client Secret."]}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[l.jsxs("div",{className:"space-y-2 sm:col-span-2",children:[l.jsx(De,{htmlFor:"clientId",children:"Client ID"}),l.jsx(Ue,{id:"clientId",value:e.clientId,onChange:c=>n({...e,clientId:c.target.value}),className:"h-11 font-mono text-sm"})]}),l.jsxs("div",{className:"space-y-2 sm:col-span-2",children:[l.jsx(De,{htmlFor:"clientSecret",children:"Client Secret"}),l.jsx(Ue,{id:"clientSecret",type:"password",autoComplete:"off",value:e.clientSecret,onChange:c=>n({...e,clientSecret:c.target.value}),className:"h-11 font-mono text-sm"})]})]}),l.jsx(Us,{result:a.oauth}),l.jsx("div",{className:"mt-auto",children:l.jsx(ve,{type:"button",variant:"secondary",disabled:o||!e.clientId||!e.clientSecret,onClick:i,children:o?"Checking with Discord…":"Verify OAuth credentials"})})]})}function E$({values:e,setValues:n,validation:a}){async function o(){if(e.redirectUri)try{await navigator.clipboard.writeText(e.redirectUri)}catch{}}return l.jsxs("div",{className:"flex flex-1 flex-col gap-5",children:[l.jsxs("p",{className:"text-sm leading-relaxed text-muted-foreground",children:["Add this exact URL under ",l.jsx("strong",{children:"OAuth2 → Redirects"})," in the Developer Portal. It must match character-for-character."]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{htmlFor:"redirectUri",children:"Redirect URI"}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx(Ue,{id:"redirectUri",value:e.redirectUri,onChange:i=>n({...e,redirectUri:i.target.value}),className:"h-11 flex-1 font-mono text-xs"}),l.jsx(ve,{type:"button",variant:"outline",size:"icon",className:"size-11 shrink-0",onClick:()=>void o(),title:"Copy URL",children:l.jsx(ye,{icon:Y0,size:18})})]})]}),a.redirectUri&&!a.redirectUri.ok?l.jsx(Us,{result:a.redirectUri}):l.jsx(Ye,{className:"border-border bg-secondary",children:l.jsx(We,{className:"text-sm text-muted-foreground",children:"We pre-filled this from your current dashboard URL. If you access the panel from a different domain later, update this and add the new URL in Discord too."})})]})}function N$({values:e,setValues:n,validation:a,validating:o,onValidate:i}){return l.jsxs("div",{className:"flex flex-1 flex-col gap-5",children:[l.jsxs("p",{className:"text-sm leading-relaxed text-muted-foreground",children:["Enable ",l.jsx("strong",{children:"Developer Mode"})," in Discord (Settings → Advanced), then right-click your profile and ",l.jsx("strong",{children:"Copy User ID"}),". Add one ID per line."]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{htmlFor:"owners",children:"Owner user IDs"}),l.jsx(Cd,{id:"owners",value:e.ownerUserIds,onChange:c=>n({...e,ownerUserIds:c.target.value}),placeholder:`829112572816130058
+987654321098765432`,className:"min-h-[120px] font-mono text-sm"})]}),l.jsx(Us,{result:a.owners}),l.jsx("div",{className:"mt-auto",children:l.jsx(ve,{type:"button",variant:"secondary",disabled:o||!e.ownerUserIds.trim(),onClick:i,children:o?"Checking with Discord…":"Verify owner IDs"})})]})}function k$({onContinue:e}){return l.jsx("div",{className:"mx-auto flex w-full max-w-lg flex-1 flex-col justify-center py-8",children:l.jsxs("div",{className:"rounded-2xl border border-border bg-card px-6 py-10 text-center md:px-10",children:[l.jsx("div",{className:"mx-auto mb-6 flex size-16 items-center justify-center rounded-2xl bg-primary/10 text-primary",children:l.jsx(ye,{icon:Bu,size:40})}),l.jsx("h2",{className:"text-2xl font-semibold tracking-tight",children:"Setup complete"}),l.jsxs("p",{className:"mx-auto mt-3 max-w-sm text-sm leading-relaxed text-muted-foreground",children:["Your configuration has been saved. Restart the server for changes to take effect — stop the running process, then start it again (for example"," ",l.jsx("code",{className:"rounded-md bg-muted px-1.5 py-0.5 font-mono text-xs",children:"npm start"}),")."]}),l.jsx(Ye,{className:"mt-6 text-left",children:l.jsx(We,{children:"After restarting, sign in with Discord to open the dashboard."})}),l.jsx(ve,{type:"button",size:"lg",className:"mt-8 min-w-[220px]",onClick:e,children:"Continue to sign in"})]})})}function T$({currentIndex:e,validating:n,saving:a,onBack:o,onNext:i,onFinish:c}){const d=e===bs.length-1;return l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs(ve,{type:"button",variant:"ghost",disabled:e===0||a,onClick:o,children:[l.jsx(ye,{icon:G0,size:18,className:"mr-1"}),"Back"]}),l.jsx("div",{className:"flex flex-1 justify-end gap-2",children:d?l.jsx(ve,{type:"button",size:"lg",disabled:a||n,onClick:c,className:"min-w-[200px]",children:a?"Saving…":"Finish setup"}):l.jsxs(ve,{type:"button",size:"lg",disabled:n||a,onClick:i,children:["Continue",l.jsx(ye,{icon:Oh,size:18,className:"ml-1"})]})})]})}function R$({values:e,setValues:n,validation:a,validating:o,onValidate:i}){return l.jsxs("div",{className:"flex flex-1 flex-col gap-5",children:[l.jsxs("p",{className:"text-sm leading-relaxed text-muted-foreground",children:["An Emerald Services API key is optional, but required to use the one-click addon installer in the dashboard. You can get yours from the"," ",l.jsx("a",{href:"https://emeraldsrv.dev",target:"_blank",rel:"noreferrer",className:"font-medium text-primary hover:underline",children:"Emerald Services Marketplace"}),"."]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{htmlFor:"emeraldApiKey",children:"Emerald API key (Optional)"}),l.jsx(Ue,{id:"emeraldApiKey",type:"password",autoComplete:"off",value:e.emeraldApiKey,onChange:c=>n({...e,emeraldApiKey:c.target.value}),placeholder:"em_...",className:"h-11 font-mono text-sm"})]}),l.jsx(Us,{result:a.emeraldApi}),l.jsx("div",{className:"mt-auto",children:l.jsx(ve,{type:"button",variant:"secondary",disabled:o,onClick:i,children:o?"Checking…":e.emeraldApiKey?"Verify key":"Skip step"})})]})}function A$(){const e=crypto.randomUUID().replace(/-/g,""),n=crypto.randomUUID().replace(/-/g,"");return e+n}function M$(e){return e.split(/[\s,]+/).map(n=>n.trim()).filter(Boolean)}function v0(e){return e==="oauth"?"oauth":e==="owners"?"owners":e==="emeraldApi"?"emeraldApi":e}function _$(){const e=mo(),{branding:n}=Fu(),{loading:a,error:o,refresh:i,status:c}=GC(),[d,m]=f.useState(0),[p,h]=f.useState({botToken:"",secretKey:"",clientId:"",clientSecret:"",redirectUri:"",ownerUserIds:"",emeraldApiKey:""}),[y,v]=f.useState({}),[x,S]=f.useState(!1),[j,C]=f.useState(!1),[N,E]=f.useState(""),[k,T]=f.useState(!1),R=bs[d];f.useEffect(()=>{c!=null&&c.suggestedRedirectUri&&!p.redirectUri&&h(Q=>({...Q,redirectUri:c.suggestedRedirectUri}))},[c==null?void 0:c.suggestedRedirectUri,p.redirectUri]);const D=f.useMemo(()=>({botToken:p.botToken,secretKey:p.secretKey,clientId:p.clientId,clientSecret:p.clientSecret,redirectUri:p.redirectUri,ownerUserIds:M$(p.ownerUserIds),emeraldApiKey:p.emeraldApiKey}),[p]);async function P(){S(!0),E("");try{const Q=await Ne.validateSetup(D);return v(fe=>{var de;return{...fe,...(de=Q.data)==null?void 0:de.results}}),Q.data}catch(Q){return E(Q instanceof Error?Q.message:"Validation failed"),null}finally{S(!1)}}async function z(){var de,he;const Q=v0(R.id),fe=await P();return!!((he=(de=fe==null?void 0:fe.results)==null?void 0:de[Q])!=null&&he.ok)}async function B(){const Q=v0(R.id),fe=y[Q];!(fe!=null&&fe.ok)&&!await z()||m(de=>Math.min(de+1,bs.length-1))}async function H(){C(!0),E("");try{const Q=await P();if(!(Q!=null&&Q.ok)){E("Fix the steps marked with errors before finishing.");return}await Ne.completeSetup(D),T(!0)}catch(Q){E(Q instanceof Error?Q.message:"Could not save setup")}finally{C(!1)}}function Y(){const Q={values:p,setValues:h,validation:y,validating:x};switch(R.id){case"botToken":return l.jsx(w$,{...Q,onValidate:()=>void z()});case"secretKey":return l.jsx(C$,{...Q,onGenerate:()=>h(fe=>({...fe,secretKey:A$()})),onValidate:()=>void z()});case"oauth":return l.jsx(j$,{...Q,onValidate:()=>void z()});case"redirectUri":return l.jsx(E$,{values:p,setValues:h,validation:y});case"owners":return l.jsx(N$,{...Q,onValidate:()=>void z()});case"emeraldApi":return l.jsx(R$,{...Q,onValidate:()=>void z()})}}return a?l.jsx("div",{className:"min-h-svh bg-background px-4 py-10",children:l.jsxs("div",{className:"mx-auto max-w-6xl space-y-8",children:[l.jsx(Ve,{className:"h-14 w-64"}),l.jsxs("div",{className:"grid gap-8 lg:grid-cols-[280px_1fr]",children:[l.jsx(Ve,{className:"hidden h-80 lg:block"}),l.jsx(Ve,{className:"h-[520px] rounded-2xl"})]})]})}):l.jsxs(y$,{brandingTitle:n.title,faviconUrl:n.faviconUrl,faviconVersion:n.updatedAt??void 0,hasFavicon:n.hasFavicon,children:[o?l.jsx(Ye,{variant:"destructive",className:"mb-6",children:l.jsx(We,{children:o})}):null,N?l.jsx(Ye,{variant:"destructive",className:"mb-6",children:l.jsx(We,{children:N})}):null,k?l.jsx(k$,{onContinue:async()=>{await i(),e("/login",{replace:!0})}}):l.jsxs("div",{className:"grid flex-1 gap-8 lg:grid-cols-[minmax(0,280px)_1fr]",children:[l.jsx(x$,{currentIndex:d,validation:y}),l.jsx(S$,{step:R,footer:l.jsx(T$,{currentIndex:d,validating:x,saving:j,onBack:()=>m(Q=>Math.max(0,Q-1)),onNext:()=>void B(),onFinish:()=>void H()}),children:Y()})]})]})}const O$={todo:"bg-rose-500/15 text-rose-400",progress:"bg-amber-500/15 text-amber-400",done:"bg-emerald-500/15 text-emerald-400"};function D$({title:e,icon:n,href:a,badge:o="Configured",status:i="done"}){return l.jsxs(_t,{to:a,className:ce("flex items-center gap-3 rounded-2xl border border-border bg-card p-4 transition-colors","hover:border-primary hover:bg-secondary"),children:[l.jsx("div",{className:"flex size-11 shrink-0 items-center justify-center rounded-full bg-secondary text-primary",children:l.jsx(ye,{icon:n,size:20})}),l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsx("p",{className:"truncate font-semibold",children:e}),l.jsx("span",{className:ce("mt-1 inline-flex rounded-md px-2 py-0.5 text-[10px] font-semibold",O$[i]),children:o})]})]})}function L$({percent:e,size:n=128,className:a,trackClassName:o="stroke-white/20",strokeClassName:i="stroke-white"}){const d=2*Math.PI*42,m=Math.min(100,Math.max(0,e)),p=d-m/100*d;return l.jsxs("div",{className:ce("relative inline-flex",a),children:[l.jsxs("svg",{width:n,height:n,viewBox:"0 0 100 100",className:"-rotate-90","aria-hidden":!0,children:[l.jsx("circle",{cx:"50",cy:"50",r:42,fill:"none",strokeWidth:"9",className:o}),l.jsx("circle",{cx:"50",cy:"50",r:42,fill:"none",strokeWidth:"9",strokeLinecap:"round",strokeDasharray:d,strokeDashoffset:p,className:i})]}),l.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center text-center",children:[l.jsxs("span",{className:"text-2xl font-bold tabular-nums leading-none",children:[Math.round(m),"%"]}),l.jsx("span",{className:"mt-0.5 text-[10px] font-medium uppercase tracking-wide opacity-80",children:"Complete"})]})]})}const z$={todo:{dot:"bg-rose-500",badge:"bg-rose-500/15 text-rose-400",label:"Needs setup"},progress:{dot:"bg-amber-400",badge:"bg-amber-500/15 text-amber-400",label:"In progress"},done:{dot:"bg-sky-400",badge:"bg-sky-500/15 text-sky-400",label:"Active"}};function P$({title:e,subtitle:n,icon:a,href:o,status:i,meta:c="Open in dashboard"}){const d=z$[i];return l.jsxs(_t,{to:o,className:ce("group flex min-w-[280px] flex-1 flex-col gap-4 rounded-2xl border border-border bg-card p-4 transition-colors","hover:border-primary hover:bg-secondary","sm:min-w-[300px] lg:min-w-0"),children:[l.jsxs("div",{className:"flex items-start justify-between gap-2",children:[l.jsx("span",{className:ce("mt-1.5 size-2 shrink-0 rounded-full",d.dot)}),l.jsx("span",{className:"text-xs text-muted-foreground",children:n})]}),l.jsxs("div",{children:[l.jsx("h3",{className:"font-semibold leading-snug tracking-tight",children:e}),l.jsx("span",{className:ce("mt-2 inline-flex rounded-md px-2 py-0.5 text-[11px] font-semibold",d.badge),children:d.label})]}),l.jsxs("div",{className:"mt-auto flex items-center justify-between border-t border-border pt-3",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:"flex size-8 items-center justify-center rounded-lg bg-secondary text-primary",children:l.jsx(ye,{icon:a,size:16})}),l.jsx("span",{className:"text-xs text-muted-foreground",children:c})]}),l.jsxs("div",{className:"flex items-center gap-3 text-muted-foreground",children:[l.jsx(ye,{icon:Vu,size:14,className:"opacity-60"}),l.jsx(ye,{icon:no,size:14,className:"opacity-60 group-hover:text-primary"}),l.jsx(ye,{icon:Oh,size:14,className:"text-primary opacity-0 transition-opacity group-hover:opacity-100"})]})]})]})}function I$({stats:e}){const n=[{id:"ping",label:"Gateway latency",detail:`${e.bot.ping}ms`,badge:e.bot.ping<200?"Good":"High",badgeClass:e.bot.ping<200?"bg-emerald-500/15 text-emerald-400":"bg-amber-500/15 text-amber-400"},{id:"uptime",label:"Bot uptime",detail:Ih(e.bot.uptime),badge:"Live",badgeClass:"bg-primary/20 text-primary"},{id:"ram",label:"Memory usage",detail:`${e.hosting.ram_used} / ${e.hosting.ram_total}`,badge:`${e.hosting.ram_percent}%`,badgeClass:"bg-sky-500/15 text-sky-400"}];return l.jsxs("aside",{className:"hidden w-[min(100%,320px)] shrink-0 space-y-4 xl:block",children:[l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{className:"flex flex-row items-center justify-between space-y-0 pb-3",children:[l.jsxs(Qe,{className:"text-sm font-semibold",children:["Connected servers (",e.servers,")"]}),l.jsx(ve,{variant:"ghost",size:"icon",className:"size-7 text-muted-foreground",children:l.jsx("span",{className:"text-lg leading-none",children:"+"})})]}),l.jsxs(Fe,{className:"pt-0",children:[l.jsxs("div",{className:"flex -space-x-2",children:[Array.from({length:Math.min(6,e.servers)}).map((a,o)=>l.jsxs(Ss,{className:"size-9 border-2 border-card ring-0",children:[l.jsx(ws,{src:e.bot.avatar,alt:""}),l.jsx(Cs,{className:"bg-primary/25 text-[10px] text-primary",children:String(o+1)})]},o)),e.servers>6?l.jsxs("div",{className:"flex size-9 items-center justify-center rounded-full border-2 border-card bg-secondary text-xs font-medium text-muted-foreground",children:["+",e.servers-6]}):null]}),l.jsxs("p",{className:"mt-3 text-xs text-muted-foreground",children:[e.users.toLocaleString()," members across your guilds"]})]})]}),l.jsx(Ge,{className:"overflow-hidden border-border bg-secondary",children:l.jsx(Fe,{className:"p-5",children:l.jsxs("div",{className:"space-y-3",children:[l.jsx("div",{className:"flex size-10 items-center justify-center rounded-xl bg-primary text-primary-foreground",children:l.jsx(ye,{icon:c8,size:22})}),l.jsxs("div",{children:[l.jsx("p",{className:"font-semibold",children:"Keep SupportBot up to date"}),l.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"Check for releases and install updates from settings."})]}),l.jsx(ve,{asChild:!0,size:"sm",className:"w-full",children:l.jsxs(_t,{to:"/settings",children:[l.jsx(ye,{icon:Uu,size:16,className:"mr-2"}),"Open settings"]})})]})})}),l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[l.jsx(Qe,{className:"text-sm font-semibold",children:"System activity"}),l.jsx(ve,{variant:"ghost",size:"icon",className:"size-7 text-muted-foreground",children:l.jsx("span",{className:"text-base leading-none",children:"⋯"})})]}),l.jsxs(Fe,{className:"space-y-1 p-0 pb-2",children:[n.map(a=>l.jsxs("div",{className:"flex items-center gap-3 px-4 py-2.5 transition-colors hover:bg-secondary/40",children:[l.jsxs(Ss,{className:"size-9",children:[l.jsx(ws,{src:e.bot.avatar,alt:e.bot.username}),l.jsx(Cs,{className:"bg-secondary text-xs",children:"SB"})]}),l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsx("p",{className:"truncate text-sm font-medium",children:a.label}),l.jsx("p",{className:"truncate text-xs text-muted-foreground",children:a.detail})]}),l.jsx("span",{className:`shrink-0 rounded-full px-2 py-0.5 text-[10px] font-semibold ${a.badgeClass}`,children:a.badge})]},a.id)),l.jsx(ve,{asChild:!0,variant:"ghost",className:"mx-2 mt-1 w-[calc(100%-1rem)] justify-between text-xs text-muted-foreground",children:l.jsxs(_t,{to:"/system",children:["All system details",l.jsx(ye,{icon:Oh,size:14})]})})]})]}),l.jsx(Ge,{className:"border-border bg-card",children:l.jsxs(Fe,{className:"flex items-center gap-3 p-4",children:[l.jsx("div",{className:"flex size-9 items-center justify-center rounded-lg bg-secondary text-primary",children:l.jsx(ye,{icon:no,size:18})}),l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsxs("p",{className:"text-sm font-medium",children:["v",e.bot.version]}),l.jsxs("p",{className:"text-xs text-muted-foreground",children:["CPU ",e.hosting.cpu_load]})]})]})})]})}const W5={todo:"Needs setup",progress:"In progress",done:"Active"};function xh(e,n,a="Configure module"){const o=n==null?void 0:n[e];return o||{status:"todo",subtitle:a}}function $$(){return l.jsxs("div",{className:"flex gap-6",children:[l.jsxs("div",{className:"min-w-0 flex-1 space-y-6",children:[l.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[l.jsx(Ve,{className:"h-44 rounded-2xl"}),l.jsx(Ve,{className:"h-44 rounded-2xl"})]}),l.jsx(Ve,{className:"h-8 w-48"}),l.jsx("div",{className:"flex gap-4 overflow-hidden",children:Array.from({length:3}).map((e,n)=>l.jsx(Ve,{className:"h-40 min-w-[280px] rounded-2xl"},n))}),l.jsx(Ve,{className:"h-8 w-56"}),l.jsx("div",{className:"grid gap-3 sm:grid-cols-2",children:Array.from({length:4}).map((e,n)=>l.jsx(Ve,{className:"h-20 rounded-2xl"},n))})]}),l.jsx(Ve,{className:"hidden h-[520px] w-80 shrink-0 rounded-2xl xl:block"})]})}function B$(){const{stats:e,loading:n,error:a}=Yu(),[o,i]=f.useState("all"),c=f.useMemo(()=>{if(!e)return 0;const y=e.tickets.total||0;return y===0?100:Math.round(e.tickets.closed/y*100)},[e]),d=f.useMemo(()=>o==="open"||o==="closed"?fs.filter(y=>y.category==="tickets"):o==="all"?fs:fs.filter(y=>y.category===o),[o]);if(n)return l.jsx($$,{});if(a||!e)return l.jsx(Ye,{variant:"destructive",children:l.jsx(We,{children:a||"No stats available"})});const m=e.tickets.open,p=e.tickets.closed,h=e.tickets.total;return l.jsxs("div",{className:"flex flex-col gap-6 xl:flex-row xl:items-start",children:[l.jsxs("div",{className:"min-w-0 flex-1 space-y-6",children:[l.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[l.jsx(Ge,{className:"overflow-hidden border-border bg-card",children:l.jsxs(Fe,{className:"flex flex-col gap-4 p-5 sm:flex-row sm:items-center sm:justify-between sm:p-6",children:[l.jsxs("div",{className:"space-y-3",children:[l.jsxs("p",{className:"text-lg font-semibold leading-snug",children:["You have"," ",l.jsx("span",{className:"text-primary",children:m})," open ticket",m===1?"":"s"]}),l.jsx("p",{className:"max-w-xs text-sm text-muted-foreground",children:"Review transcripts or tune your ticket panel so new requests are handled smoothly."}),l.jsx(ve,{asChild:!0,size:"sm",className:"rounded-lg px-5",children:l.jsx(_t,{to:"/transcripts",children:"Review"})})]}),l.jsxs("div",{className:"relative mx-auto flex size-28 shrink-0 items-end justify-center sm:mx-0 sm:size-32","aria-hidden":!0,children:[l.jsx("div",{className:"absolute inset-0 rounded-2xl bg-secondary"}),l.jsx("span",{className:"relative text-6xl",children:"🎫"})]})]})}),l.jsx(Ge,{className:"overflow-hidden border-border bg-primary text-primary-foreground",children:l.jsxs(Fe,{className:"flex flex-col gap-4 p-5 sm:flex-row sm:items-center sm:justify-between sm:p-6",children:[l.jsxs("div",{className:"space-y-3",children:[l.jsx("p",{className:"text-sm font-medium text-white/80",children:"Ticket summary"}),l.jsxs("ul",{className:"space-y-1.5 text-sm",children:[l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"size-1.5 rounded-full bg-white/70"}),l.jsxs("span",{className:"text-white/90",children:[h," total"]})]}),l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"size-1.5 rounded-full bg-white/70"}),l.jsxs("span",{className:"text-white/90",children:[p," closed"]})]}),l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"size-1.5 rounded-full bg-white/70"}),l.jsxs("span",{className:"text-white/90",children:[m," open"]})]})]})]}),l.jsx(L$,{percent:c,size:120})]})})]}),l.jsxs("section",{className:"space-y-4",children:[l.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[l.jsx("h2",{className:"text-xl font-bold tracking-tight",children:"Module overview"}),l.jsx(v5,{value:o,onValueChange:y=>i(y),children:l.jsxs(Rg,{className:"h-auto flex-wrap rounded-xl bg-secondary/60 p-1",children:[l.jsx(to,{value:"all",className:"rounded-lg text-xs data-[state=active]:bg-background data-[state=active]:shadow-sm",children:"All"}),l.jsx(to,{value:"open",className:"rounded-lg text-xs data-[state=active]:bg-background",children:"Open"}),l.jsx(to,{value:"closed",className:"rounded-lg text-xs data-[state=active]:bg-background",children:"Closed"}),j_.filter(y=>y.id!=="all").map(y=>l.jsx(to,{value:y.id,className:"rounded-lg text-xs data-[state=active]:bg-background",children:y.label},y.id))]})})]}),l.jsx("div",{className:"-mx-1 flex gap-4 overflow-x-auto px-1 pb-2 lg:grid lg:grid-cols-3 lg:overflow-visible",children:(o==="open"?[{id:"open-queue",title:"Open ticket queue",subtitle:`${m} waiting`,icon:Qi,href:"/tickets",status:"done",meta:"View live tickets"}]:o==="closed"?[{id:"closed-archive",title:"Closed tickets",subtitle:`${p} resolved`,icon:Bu,href:"/transcripts",status:"done",meta:"Browse archive"}]:d.map(y=>{const v=xh(y.id,e.modules,y.description);return{id:y.id,title:y.title,subtitle:v.subtitle,icon:y.icon,href:y.href,status:v.status,meta:v.status==="done"?"View settings":"Configure"}})).map(y=>l.jsx(P$,{title:y.title,subtitle:y.subtitle,icon:y.icon,href:y.href,status:y.status,meta:y.meta},y.id))})]}),l.jsxs("section",{className:"space-y-4",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx("h2",{className:"text-xl font-bold tracking-tight",children:"Active modules"}),l.jsx(_t,{to:"/configs",className:"text-sm font-medium text-primary hover:underline",children:"See all"})]}),l.jsx("div",{className:"grid gap-3 sm:grid-cols-2",children:fs.slice(0,4).map(y=>{const v=xh(y.id,e.modules);return l.jsx(D$,{title:y.title,icon:y.icon,href:y.href,badge:W5[v.status],status:v.status},y.id)})})]})]}),l.jsx(I$,{stats:e})]})}function U$(){const{permissions:e}=Lt();return Pn(e,"overview")?l.jsx(B$,{}):l.jsx(Lr,{to:Bh(e),replace:!0})}function va({permission:e,children:n}){const{loading:a,isAuthenticated:o,permissions:i}=Lt();return a?l.jsx("div",{className:"flex flex-1 items-center justify-center py-16 text-sm text-muted-foreground",children:"Loading…"}):o?Pn(i,e)?l.jsx(l.Fragment,{children:n}):l.jsx(Lr,{to:Bh(i),replace:!0}):l.jsx(Lr,{to:"/login",replace:!0})}function H$(){const{hasPermission:e}=Lt(),n=e("settings.update"),a=mo(),[o,i]=f.useState([]),[c,d]=f.useState(""),[m,p]=f.useState(!0),[h,y]=f.useState(""),[v,x]=f.useState(""),[S,j]=f.useState(null),C=f.useCallback(async()=>{p(!0),y("");try{const E=await Ne.getAddonsCatalog();E.data&&(i(E.data.addons),d(E.data.repository))}catch(E){y(E instanceof Error?E.message:"Failed to load addons")}finally{p(!1)}},[]);f.useEffect(()=>{C()},[C]);async function N(E){if(n){j(E.id),x(""),y("");try{const k=await Ne.installAddon(E.id);x(k.message||`${E.name} installed.`),await C();const T=E.configFiles[0];T&&a(`/configs?file=${Gi(T)}`)}catch(k){y(k instanceof Error?k.message:"Install failed")}finally{j(null)}}}return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-bold tracking-tight",children:"Addons"}),l.jsxs("p",{className:"text-muted-foreground",children:["Requires an API key from"," ",l.jsx("a",{href:"https://emeraldsrv.dev",target:"_blank",rel:"noreferrer",className:"text-primary underline-offset-4 hover:underline",children:"emeraldsrv.dev"})," ","to browse and install addons. Configs will appear in the sidebar once installed."]})]}),l.jsxs(ve,{variant:"outline",size:"sm",onClick:C,disabled:m,children:[l.jsx(ye,{icon:q0,size:16,className:ce("mr-1.5",m&&"animate-spin")}),"Refresh"]})]}),h?l.jsx(Ye,{variant:"destructive",children:l.jsx(We,{children:h})}):null,v?l.jsx(Ye,{className:"border-primary/30 bg-primary/10 text-primary",children:l.jsx(We,{children:v})}):null,l.jsxs("section",{className:"space-y-4",children:[l.jsx("h2",{className:"text-sm font-semibold uppercase tracking-widest text-muted-foreground",children:"Marketplace"}),m?l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:[l.jsx(Ve,{className:"h-40 rounded-xl"}),l.jsx(Ve,{className:"h-40 rounded-xl"}),l.jsx(Ve,{className:"h-40 rounded-xl"})]}):l.jsx("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:o.map(E=>l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{className:"pb-2",children:[l.jsxs("div",{className:"flex items-start justify-between gap-2",children:[l.jsxs(Qe,{className:"flex items-center gap-2 text-lg",children:[l.jsx(ye,{icon:Ph,size:20,className:"text-primary"}),E.name]}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx(gs,{variant:"outline",className:"shrink-0 uppercase tracking-widest text-[10px]",children:E.price===0||!E.price?"Free":`$${E.price}`}),E.installed?l.jsxs(gs,{variant:"secondary",className:"shrink-0 gap-1",children:[l.jsx(ye,{icon:f8,size:14}),"Installed"]}):null]})]}),l.jsx(ht,{children:E.description})]}),l.jsxs(Fe,{className:"space-y-2 text-xs text-muted-foreground",children:[E.is_external?l.jsxs("p",{children:["Available on: ",l.jsx("span",{className:"font-medium text-foreground",children:E.external_store||"External Store"})]}):null,E.configFiles&&E.configFiles.length>0?l.jsxs("p",{children:["Config:"," ",E.configFiles.map((k,T)=>l.jsxs("span",{children:[T>0?", ":null,l.jsx(_t,{to:`/configs?file=${Gi(k)}`,className:"font-mono text-primary hover:underline",children:k})]},k))]}):null]}),l.jsxs(Pg,{className:"flex flex-wrap gap-2",children:[E.is_external?l.jsx(ve,{variant:"outline",size:"sm",asChild:!0,children:l.jsx("a",{href:E.repositoryUrl,target:"_blank",rel:"noreferrer",children:"View Store"})}):null,E.installed&&E.configFiles&&E.configFiles[0]?l.jsx(ve,{size:"sm",variant:"secondary",asChild:!0,children:l.jsx(_t,{to:`/configs?file=${Gi(E.configFiles[0])}`,children:"Edit config"})}):null,E.installed?l.jsx(ve,{size:"sm",disabled:!0,variant:"secondary",children:"Installed"}):E.is_external?null:l.jsxs(ve,{size:"sm",disabled:!n||S===E.id,onClick:()=>N(E),children:[l.jsx(ye,{icon:Uu,size:14,className:"mr-1"}),S===E.id?"Installing…":"Install"]})]})]},E.id))})]})]})}function V$(){const{permissions:e}=Lt(),[n,a]=f.useState(!1),[o,i]=f.useState(!1),[c,d]=f.useState(""),[m,p]=f.useState(""),[h,y]=f.useState(""),[v,x]=f.useState("Administrator"),[S,j]=f.useState(""),[C,N]=f.useState(""),[E,k]=f.useState("General"),T=X0(e,"supportbot"),R=async()=>{if(!m.match(/^[a-z0-9_-]+$/i)){Dr.error("Command name can only contain letters, numbers, underscores and dashes.");return}a(!0),i(!1);try{const D=await Ne.buildAddon({name:m.toLowerCase(),description:h||"A custom command",permission:v,embed:{title:S,description:C||"Hello from your custom command!",color:E}});i(!0),d(D.message||"Restart required."),Dr.success(`Addon ${m}.js created successfully!`)}catch(D){Dr.error(D instanceof Error?D.message:"Failed to build addon")}finally{a(!1)}};return T?l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-bold tracking-tight",children:"Addon Builder"}),l.jsx("p",{className:"text-muted-foreground",children:"Visually scaffold a custom slash command addon for your bot."})]}),o?l.jsxs(Ye,{className:"border-green-500/20 bg-green-500/10 text-green-600 dark:text-green-400",children:[l.jsx(D1,{className:"h-4 w-4"}),l.jsxs(We,{className:"ml-2",children:["Successfully built ",l.jsxs("strong",{children:[m,".js"]}),"! ",c]})]}):null,l.jsxs("div",{className:"grid gap-6 md:grid-cols-2",children:[l.jsxs("div",{className:"space-y-6",children:[l.jsxs(Ge,{children:[l.jsxs(Ze,{children:[l.jsx(Qe,{className:"text-lg",children:"Command Details"}),l.jsx(ht,{children:"Configure how users trigger the command."})]}),l.jsxs(Fe,{className:"space-y-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{children:"Command Name"}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"text-muted-foreground",children:"/"}),l.jsx(Ue,{placeholder:"ping",value:m,onChange:D=>p(D.target.value.replace(/[^a-z0-9_-]/gi,"").toLowerCase())})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{children:"Description"}),l.jsx(Ue,{placeholder:"Replies with a custom embed",value:h,onChange:D=>y(D.target.value)})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{children:"Required Permission"}),l.jsxs(Es,{value:v,onValueChange:x,children:[l.jsx(lo,{children:l.jsx(Ns,{})}),l.jsxs(co,{children:[l.jsx(Zt,{value:"none",children:"@everyone"}),l.jsx(Zt,{value:"Administrator",children:"Administrator"}),l.jsx(Zt,{value:"ManageMessages",children:"Manage Messages"}),l.jsx(Zt,{value:"ManageGuild",children:"Manage Server"})]})]})]})]})]}),l.jsxs(Ge,{children:[l.jsxs(Ze,{children:[l.jsx(Qe,{className:"text-lg",children:"Response Embed"}),l.jsx(ht,{children:"What the bot will reply with."})]}),l.jsxs(Fe,{className:"space-y-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{children:"Embed Title (Optional)"}),l.jsx(Ue,{placeholder:"Hello!",value:S,onChange:D=>j(D.target.value)})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{children:"Embed Description"}),l.jsx(Cd,{placeholder:"Type your message here...",className:"resize-none",rows:4,value:C,onChange:D=>N(D.target.value)})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{children:"Embed Color"}),l.jsxs(Es,{value:E,onValueChange:k,children:[l.jsx(lo,{children:l.jsx(Ns,{})}),l.jsxs(co,{children:[l.jsx(Zt,{value:"General",children:"Theme General"}),l.jsx(Zt,{value:"Success",children:"Theme Success"}),l.jsx(Zt,{value:"Warning",children:"Theme Warning"}),l.jsx(Zt,{value:"Error",children:"Theme Error"})]})]})]})]})]})]}),l.jsx("div",{className:"space-y-6",children:l.jsxs(Ge,{className:"sticky top-6 border-primary/20",children:[l.jsx(Ze,{children:l.jsxs(Qe,{className:"text-sm font-medium flex items-center gap-2",children:[l.jsx(ye,{icon:d8,size:16,className:"text-primary"}),"Live Preview"]})}),l.jsx(Fe,{children:l.jsx("div",{className:"rounded-md border bg-[#313338] p-4 font-sans text-sm text-[#dbdee1]",children:l.jsxs("div",{className:"flex gap-4",children:[l.jsx("div",{className:"size-10 shrink-0 rounded-full bg-indigo-500 flex items-center justify-center font-bold text-white",children:"B"}),l.jsxs("div",{className:"flex-1 space-y-1",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"font-medium text-white",children:"SupportBot"}),l.jsxs("span",{className:"text-[10px] text-white font-medium uppercase px-1.5 py-0.5 rounded bg-[#5865F2] flex items-center gap-1",children:[l.jsx(D1,{size:10})," BOT"]}),l.jsx("span",{className:"text-xs text-[#949ba4]",children:"Today at 12:00 PM"})]}),l.jsxs("div",{className:"mt-2 rounded bg-[#2b2d31] border-l-4 border-l-[#5865F2] px-4 py-3 max-w-[432px]",children:[S&&l.jsx("div",{className:"mb-1 font-semibold text-white",children:S}),l.jsx("div",{className:"whitespace-pre-wrap",children:C||"Hello from your custom command!"})]})]})]})})}),l.jsx(Pg,{children:l.jsxs(ve,{className:"w-full gap-2",size:"lg",disabled:!m||n,onClick:R,children:[l.jsx(ye,{icon:xa,size:18}),n?"Building...":"Generate Addon"]})})]})})]})]}):l.jsx("div",{className:"flex h-[50vh] items-center justify-center text-muted-foreground",children:"You don't have permission to build addons."})}const $g="supportbot-dashboard-accent",Ki="#45b46c",G$=["--primary","--ring","--chart-1","--sidebar-primary","--sidebar-ring","--accent","--accent-foreground","--sidebar-accent","--sidebar-accent-foreground"];function F$(e){const n=cr(e,Ki),a=parseInt(n.slice(1,3),16)/255,o=parseInt(n.slice(3,5),16)/255,i=parseInt(n.slice(5,7),16)/255,c=Math.max(a,o,i),d=Math.min(a,o,i),m=(c+d)/2;let p=0,h=0;if(c!==d){const y=c-d;switch(h=m>.5?y/(2-c-d):y/(c+d),c){case a:p=((o-i)/y+(o{const o=new FileReader;o.onload=()=>n(String(o.result)),o.onerror=()=>a(new Error("Could not read file")),o.readAsDataURL(e)})}function X$({canEdit:e}){const[n,a]=f.useState(!1),[o,i]=f.useState(""),[c,d]=f.useState(!1);async function m(){if(e){a(!0),i("");try{const p=await Ne.resetDashboard();i(p.message||"Dashboard reset successfully."),setTimeout(()=>{window.location.href="/setup"},1500)}catch(p){i(p instanceof Error?p.message:"Reset failed"),a(!1)}}}return e?l.jsxs("div",{className:"space-y-4",children:[l.jsx("p",{className:"text-sm text-muted-foreground",children:"Reset the dashboard to factory settings. This clears the configuration and returns you to the initial setup screen."}),l.jsxs(gg,{open:c,onOpenChange:d,children:[l.jsx(s_,{asChild:!0,children:l.jsx(ve,{type:"button",variant:"destructive",children:"Reset Dashboard"})}),l.jsxs(hd,{children:[l.jsxs(gd,{children:[l.jsx(vd,{children:"Are you absolutely sure?"}),l.jsx(bd,{children:"This action cannot be undone. This will reset the dashboard to setup mode. You will need to reconnect the Discord OAuth and reconfigure the dashboard owners."})]}),o&&l.jsx("p",{className:"text-sm font-medium text-destructive",children:o}),l.jsxs(vg,{children:[l.jsx(ve,{variant:"outline",onClick:()=>d(!1),disabled:n,children:"Cancel"}),l.jsx(ve,{variant:"destructive",onClick:()=>void m(),disabled:n,children:n?"Resetting...":"Yes, reset dashboard"})]})]})]})]}):null}function Z$({canEdit:e}){const{branding:n,setBrandingLocal:a}=Fu(),o=f.useRef(null),[i,c]=f.useState(n.title),[d,m]=f.useState(n.pageTitle),[p,h]=f.useState(!1),[y,v]=f.useState(!1),[x,S]=f.useState("");f.useEffect(()=>{c(n.title),m(n.pageTitle)},[n.title,n.pageTitle]);const j=n.hasFavicon&&n.faviconUrl?`${n.faviconUrl}${n.updatedAt?`?v=${n.updatedAt}`:""}`:null;async function C(){if(e){h(!0),S("");try{const T=await Ne.updateBranding({title:i,pageTitle:d});T.data&&a(T.data),S(T.message||"Branding saved.")}catch(T){S(T instanceof Error?T.message:"Save failed")}finally{h(!1)}}}async function N(T){if(!(!e||!T)){v(!0),S("");try{const R=await K$(T),D=await Ne.uploadBrandingFavicon(R);D.data&&a(D.data),S(D.message||"Favicon uploaded.")}catch(R){S(R instanceof Error?R.message:"Upload failed")}finally{v(!1),o.current&&(o.current.value="")}}}async function E(){if(e){v(!0),S("");try{const T=await Ne.removeBrandingFavicon();T.data&&a(T.data),S(T.message||"Favicon removed.")}catch(T){S(T instanceof Error?T.message:"Remove failed")}finally{v(!1)}}}const k=i.trim()!==n.title||d.trim()!==n.pageTitle;return l.jsxs("div",{className:"space-y-8",children:[l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium",children:"Branding Text"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"Sidebar title and browser tab title — saved on the server for everyone using this dashboard."})]}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{htmlFor:"brand-title",children:"Sidebar title"}),l.jsx(Ue,{id:"brand-title",value:i,disabled:!e,maxLength:64,onChange:T=>c(T.target.value),className:"border-border bg-secondary/30",placeholder:"SupportBot"})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{htmlFor:"brand-page-title",children:"Browser tab title"}),l.jsx(Ue,{id:"brand-page-title",value:d,disabled:!e,maxLength:80,onChange:T=>m(T.target.value),className:"border-border bg-secondary/30",placeholder:"SupportBot Dashboard"})]})]}),e?l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(ve,{type:"button",disabled:p||!k,onClick:()=>void C(),children:p?"Saving…":"Save titles"}),x&&k?l.jsx("span",{className:"text-xs text-muted-foreground",children:x}):null]}):null]}),l.jsxs("div",{className:"space-y-4 border-t border-border pt-6",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium",children:"Favicon"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"PNG, ICO, SVG, JPEG, or WebP — max 512 KB. Shown in the browser tab and beside the sidebar title."})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-4",children:[l.jsx("div",{className:"flex size-16 items-center justify-center overflow-hidden rounded-lg border border-border bg-secondary/30",children:j?l.jsx("img",{src:j,alt:"Favicon preview",className:"size-full object-contain p-2"}):l.jsx(ye,{icon:r8,size:24,className:"text-muted-foreground/50"})}),l.jsx("input",{ref:o,type:"file",accept:"image/png,image/jpeg,image/x-icon,image/vnd.microsoft.icon,image/svg+xml,image/webp,.ico",className:"hidden",disabled:!e||y,onChange:T=>{var R;return void N(((R=T.target.files)==null?void 0:R[0])??null)}}),l.jsxs("div",{className:"flex flex-col gap-2",children:[e?l.jsxs("div",{className:"flex gap-2",children:[l.jsx(ve,{type:"button",variant:"secondary",disabled:y,onClick:()=>{var T;return(T=o.current)==null?void 0:T.click()},children:y?"Uploading…":"Upload Favicon"}),n.hasFavicon?l.jsx(ve,{type:"button",variant:"destructive",disabled:y,onClick:()=>void E(),children:"Remove"}):null]}):l.jsx("span",{className:"text-xs text-muted-foreground",children:"View only"}),!k&&x?l.jsx("span",{className:"text-xs text-muted-foreground",children:x}):null]})]})]})]})}function Q$(){var v,x,S,j,C,N,E,k,T,R,D;const{hasPermission:e}=Lt(),n=e("settings.update"),[a,o]=f.useState(!0),[i,c]=f.useState(!1),[d,m]=f.useState(""),[p,h]=f.useState(null);f.useEffect(()=>{Ne.getConfigJson("api").then(P=>{P.data&&h(P.data)}).catch(()=>m("Failed to load API config")).finally(()=>o(!1))},[]);async function y(){var P,z,B,H,Y,Q,fe,de,he,se,O;if(!(!n||!p)){c(!0),m("");try{const $={"api:API.Port":(P=p.API)==null?void 0:P.Port,"api:API.EmeraldAPIKey":(z=p.API)==null?void 0:z.EmeraldAPIKey,"api:API.TrustProxy":(B=p.API)==null?void 0:B.TrustProxy,"api:API.OAuth.Enabled":(Y=(H=p.API)==null?void 0:H.OAuth)==null?void 0:Y.Enabled,"api:API.OAuth.ClientId":(fe=(Q=p.API)==null?void 0:Q.OAuth)==null?void 0:fe.ClientId,"api:API.OAuth.ClientSecret":(he=(de=p.API)==null?void 0:de.OAuth)==null?void 0:he.ClientSecret,"api:API.OAuth.RedirectUri":(O=(se=p.API)==null?void 0:se.OAuth)==null?void 0:O.RedirectUri};await Ne.updateConfigFields($),m("API settings saved and backend restarted.")}catch($){m($ instanceof Error?$.message:"Save failed")}finally{c(!1)}}}return a?l.jsx("div",{className:"animate-pulse h-32 bg-secondary/20 rounded-md"}):p?l.jsxs("div",{className:"space-y-8",children:[l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium",children:"Core API Settings"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"Configure the internal API that powers this dashboard."})]}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{children:"API Port"}),l.jsx(Ue,{type:"number",value:((v=p.API)==null?void 0:v.Port)||"",disabled:!n,onChange:P=>h({...p,API:{...p.API,Port:parseInt(P.target.value)||3e3}}),className:"border-border bg-secondary/30"})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{children:"Emerald API Key"}),l.jsx(Ue,{type:"password",value:((x=p.API)==null?void 0:x.EmeraldAPIKey)||"",disabled:!n,onChange:P=>h({...p,API:{...p.API,EmeraldAPIKey:P.target.value}}),className:"border-border bg-secondary/30"})]})]}),l.jsxs("div",{className:"flex items-center gap-2 pt-2",children:[l.jsx(dn,{checked:((S=p.API)==null?void 0:S.TrustProxy)||!1,disabled:!n,onCheckedChange:P=>h({...p,API:{...p.API,TrustProxy:P}})}),l.jsx(De,{className:"text-sm",children:"Trust Proxy (Enable if using Cloudflare/Nginx)"})]})]}),l.jsxs("div",{className:"space-y-4 border-t border-border pt-6",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium",children:"OAuth Authentication"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"Discord application credentials for dashboard login."})]}),l.jsxs("div",{className:"flex items-center gap-2 pb-2",children:[l.jsx(dn,{checked:((C=(j=p.API)==null?void 0:j.OAuth)==null?void 0:C.Enabled)||!1,disabled:!n,onCheckedChange:P=>{var z;return h({...p,API:{...p.API,OAuth:{...(z=p.API)==null?void 0:z.OAuth,Enabled:P}}})}}),l.jsx(De,{className:"text-sm",children:"Enable OAuth"})]}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{children:"Client ID"}),l.jsx(Ue,{value:((E=(N=p.API)==null?void 0:N.OAuth)==null?void 0:E.ClientId)||"",disabled:!n,onChange:P=>{var z;return h({...p,API:{...p.API,OAuth:{...(z=p.API)==null?void 0:z.OAuth,ClientId:P.target.value}}})},className:"border-border bg-secondary/30"})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{children:"Client Secret"}),l.jsx(Ue,{type:"password",value:((T=(k=p.API)==null?void 0:k.OAuth)==null?void 0:T.ClientSecret)||"",disabled:!n,onChange:P=>{var z;return h({...p,API:{...p.API,OAuth:{...(z=p.API)==null?void 0:z.OAuth,ClientSecret:P.target.value}}})},className:"border-border bg-secondary/30"})]}),l.jsxs("div",{className:"space-y-2 sm:col-span-2",children:[l.jsx(De,{children:"Redirect URI"}),l.jsx(Ue,{value:((D=(R=p.API)==null?void 0:R.OAuth)==null?void 0:D.RedirectUri)||"",disabled:!n,onChange:P=>{var z;return h({...p,API:{...p.API,OAuth:{...(z=p.API)==null?void 0:z.OAuth,RedirectUri:P.target.value}}})},className:"border-border bg-secondary/30"}),l.jsx("p",{className:"text-[10px] text-muted-foreground mt-1",children:"Must match the OAuth2 callback URL registered in the Discord Developer Portal exactly."})]})]})]}),n?l.jsxs("div",{className:"flex items-center gap-2 border-t border-border pt-6",children:[l.jsx(ve,{type:"button",disabled:i,onClick:()=>void y(),children:i?"Saving…":"Save API Config"}),d?l.jsx("span",{className:"text-xs text-muted-foreground",children:d}):null]}):null]}):null}function J$(){const{hasPermission:e}=Lt(),n=e("settings.update"),[a,o]=f.useState(null),[i,c]=f.useState(!0),[d,m]=f.useState(!1),[p,h]=f.useState(""),[y,v]=f.useState(""),[x,S]=f.useState(()=>K5()??Ki),[j,C]=f.useState(""),[N,E]=f.useState("appearance"),k=f.useCallback(async()=>{c(!0),h("");try{const R=await Ne.checkForUpdates();R.data&&o(R.data)}catch(R){h(R instanceof Error?R.message:"Could not check for updates")}finally{c(!1)}},[]);f.useEffect(()=>{k()},[k]);async function T(R){if(R.updateAvailable){m(!0),h(""),v("");try{const D=await Ne.runUpdate(R.id,R.latest,R.zipUrl);v(D.message||"Update installed. Restart your server (stop and run npm start again) to finish applying changes."),await k()}catch(D){h(D instanceof Error?D.message:"Update failed")}finally{m(!1)}}}return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-bold tracking-tight",children:"Settings"}),l.jsx("p",{className:"text-muted-foreground",children:"Application updates and maintenance — config files are edited under each module in the sidebar."})]}),l.jsxs("div",{className:"flex flex-col md:flex-row gap-8 items-start",children:[l.jsx("aside",{className:"w-full md:w-56 shrink-0 sticky top-6",children:l.jsxs("nav",{className:"flex flex-row md:flex-col overflow-x-auto space-x-2 md:space-x-0 md:space-y-1 pb-2 md:pb-0",children:[l.jsx(ve,{variant:N==="appearance"?"secondary":"ghost",className:"justify-start w-full",onClick:()=>E("appearance"),children:"Appearance"}),l.jsx(ve,{variant:N==="api"?"secondary":"ghost",className:"justify-start w-full",onClick:()=>E("api"),children:"API Config"}),l.jsx(ve,{variant:N==="updates"?"secondary":"ghost",className:"justify-start w-full",onClick:()=>E("updates"),children:"Update Checker"}),n&&l.jsx(ve,{variant:"ghost",className:`justify-start w-full text-destructive hover:bg-destructive/10 hover:text-destructive ${N==="danger"?"bg-destructive/10 border-l-2 border-destructive rounded-l-none":""}`,onClick:()=>E("danger"),children:"Danger Zone"})]})}),l.jsxs("main",{className:"flex-1 w-full max-w-4xl space-y-6",children:[N==="appearance"&&l.jsx("div",{className:"space-y-6",children:l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{children:[l.jsx(Qe,{className:"text-lg",children:"Dashboard appearance"}),l.jsx(ht,{children:"Customise branding for all users, and pick an accent colour for this browser only."})]}),l.jsxs(Fe,{className:"space-y-4",children:[l.jsx(Z$,{canEdit:n}),l.jsxs("div",{className:"border-t border-border pt-4",children:[l.jsx("p",{className:"mb-1 text-sm font-medium",children:"Accent colour"}),l.jsx("p",{className:"mb-4 text-xs text-muted-foreground",children:"Buttons, links, and highlights — saved in this browser only."}),l.jsxs("div",{className:"flex flex-wrap items-center gap-4",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Ng,{value:x,onChange:R=>{S(R),b0(R),C("Accent updated.")}}),l.jsx(Ue,{id:"accent-colour",value:x,onChange:R=>S(R.target.value),onBlur:()=>{const R=cr(x,Ki);S(R),b0(R),C("Accent updated.")},className:"w-32 border-border bg-secondary/30 font-mono uppercase",maxLength:7})]}),l.jsx(ve,{type:"button",variant:"outline",onClick:()=>{W$(),S(Ki),C("Reset to default purple.")},children:"Reset to default"})]}),l.jsxs("div",{className:"flex flex-wrap gap-2 text-sm mt-5",children:[l.jsx("span",{className:"rounded-md bg-primary px-3 py-1.5 font-medium text-primary-foreground",children:"Primary button"}),l.jsx("span",{className:"rounded-md bg-primary/15 px-3 py-1.5 text-primary",children:"Highlight"}),l.jsx("span",{className:"rounded-md bg-accent px-3 py-1.5 text-accent-foreground",children:"Accent surface"})]}),j?l.jsx("p",{className:"text-xs text-muted-foreground",children:j}):null]})]})]})}),N==="danger"&&n&&l.jsxs(Ge,{className:"border-destructive/50 bg-destructive/5",children:[l.jsxs(Ze,{children:[l.jsx(Qe,{className:"text-lg text-destructive",children:"Danger Zone"}),l.jsx(ht,{className:"text-destructive/80",children:"Destructive actions that reset or permanently alter your dashboard."})]}),l.jsx(Fe,{children:l.jsx(X$,{canEdit:n})})]}),N==="api"&&l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{children:[l.jsx(Qe,{className:"text-lg",children:"API Configuration"}),l.jsx(ht,{children:"Configure the internal API settings, Emerald API key, and OAuth."})]}),l.jsx(Fe,{children:l.jsx(Q$,{})})]}),N==="updates"&&l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{children:[l.jsx(Qe,{className:"text-lg",children:"Software updates"}),l.jsx(ht,{children:"Manage updates for the bot and dashboard."})]}),l.jsxs(Fe,{className:"space-y-4",children:[i?l.jsx(Ve,{className:"h-24 w-full"}):a&&a.length>0?l.jsx("div",{className:"space-y-4",children:a.map(R=>l.jsxs("div",{className:"space-y-3 rounded-lg border border-border bg-secondary/20 p-4",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("p",{className:"font-medium text-sm",children:[l.jsx("a",{href:R.repository,target:"_blank",rel:"noreferrer",className:"text-primary underline-offset-4 hover:underline",children:R.name})," ","(",R.branch," branch)"]}),l.jsxs("div",{className:"flex gap-x-4 text-sm",children:[l.jsxs("p",{children:[l.jsx("span",{className:"text-muted-foreground",children:"Installed: "}),l.jsxs("span",{className:"font-mono font-medium",children:["v",R.current]})]}),l.jsxs("p",{children:[l.jsx("span",{className:"text-muted-foreground",children:"Latest: "}),l.jsxs("span",{className:"font-mono font-medium",children:["v",R.latest]})]})]})]}),l.jsxs("div",{className:"flex items-center justify-between",children:[R.updateAvailable?l.jsx("p",{className:"text-sm text-amber-500",children:"A newer version is available. Update downloads files while keeping your Configs and Data."}):l.jsx("p",{className:"text-sm text-emerald-500",children:"You are on the latest release."}),R.updateAvailable&&n?l.jsxs(ve,{type:"button",size:"sm",onClick:()=>void T(R),disabled:d,children:[d?l.jsx(ye,{icon:q0,size:16,className:"mr-2 animate-spin"}):l.jsx(ye,{icon:Uu,size:16,className:"mr-2"}),d?"Installing…":"Update now"]}):null,R.updateAvailable&&!n?l.jsx("p",{className:"text-xs text-muted-foreground",children:"You cannot install updates with your role."}):null]})]},R.id))}):null,p?l.jsx(Ye,{variant:"destructive",children:l.jsx(We,{children:p})}):null,y?l.jsx(Ye,{children:l.jsx(We,{children:y})}):null,l.jsx("div",{className:"flex flex-wrap gap-2 pt-2",children:l.jsxs(ve,{type:"button",variant:"outline",onClick:k,disabled:i||d,children:[l.jsx(ye,{icon:_s,size:16,className:"mr-2"}),"Check again"]})})]})]})]})]})]})}function pt({label:e,value:n,mono:a=!1}){return l.jsxs("div",{className:"flex flex-col gap-1 border-b border-border py-3 last:border-0 sm:flex-row sm:items-center sm:justify-between",children:[l.jsx("dt",{className:"text-sm text-muted-foreground",children:e}),l.jsx("dd",{className:`text-sm font-medium text-foreground ${a?"font-mono text-xs sm:text-sm":""}`,children:n})]})}const eB={ok:"Healthy",missing_config:"Guild ID not set",not_in_guild:"Not in configured server",extra_guilds:"Extra servers joined",offline:"Bot offline"};function tB(e){return e==="ok"?"text-emerald-500":e==="offline"?"text-destructive":"text-amber-500"}function nB(){var S;const{stats:e,loading:n,error:a,refresh:o}=Yu(),[i,c]=f.useState(null),[d,m]=f.useState(null),[p,h]=f.useState(!1),y=f.useCallback(async()=>{const[j,C]=await Promise.all([Ne.getGuildStatus().catch(()=>null),Ne.health().catch(()=>null)]);j!=null&&j.data&&c(j.data),C!=null&&C.success&&m({dashboard:C.dashboard,botReady:C.botReady,oauthEnabled:C.oauthEnabled,setupComplete:C.setupComplete})},[]);f.useEffect(()=>{y()},[y]);async function v(){h(!0);try{await Promise.all([o(),y()])}finally{h(!1)}}if(n&&!e)return l.jsxs("div",{className:"space-y-6",children:[l.jsx(Ve,{className:"h-10 w-64"}),l.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[l.jsx(Ve,{className:"h-56 rounded-2xl"}),l.jsx(Ve,{className:"h-56 rounded-2xl"})]})]});if(a||!e)return l.jsx(Ye,{variant:"destructive",children:l.jsx(We,{children:a||"Could not load system details."})});const x=e.bot.ping<200;return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(ve,{asChild:!0,variant:"ghost",size:"sm",className:"-ml-2 h-8 px-2 text-muted-foreground",children:l.jsxs(_t,{to:"/",children:[l.jsx(ye,{icon:G0,size:16,className:"mr-1.5"}),"Back to dashboard"]})}),l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-bold tracking-tight",children:"System details"}),l.jsx("p",{className:"text-muted-foreground",children:"Live bot, host, and dashboard status — refreshed every 30 seconds."})]})]}),l.jsxs(ve,{type:"button",variant:"outline",disabled:p,onClick:()=>void v(),children:[l.jsx(ye,{icon:_s,size:16,className:"mr-2"}),p?"Refreshing…":"Refresh now"]})]}),l.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{children:[l.jsx(Qe,{className:"text-lg",children:"Discord bot"}),l.jsx(ht,{children:"Connection and identity"})]}),l.jsxs(Fe,{children:[l.jsxs("div",{className:"mb-4 flex items-center gap-3",children:[l.jsxs(Ss,{className:"size-12",children:[l.jsx(ws,{src:e.bot.avatar,alt:e.bot.username}),l.jsx(Cs,{children:"SB"})]}),l.jsxs("div",{children:[l.jsx("p",{className:"font-semibold",children:e.bot.username}),l.jsx("p",{className:"font-mono text-xs text-muted-foreground",children:e.bot.id})]})]}),l.jsxs("dl",{children:[l.jsx(pt,{label:"Version",value:`v${e.bot.version}`,mono:!0}),l.jsx(pt,{label:"Gateway latency",value:l.jsxs("span",{className:x?"text-emerald-500":"text-amber-500",children:[e.bot.ping," ms"]})}),l.jsx(pt,{label:"Process uptime",value:Ih(e.bot.uptime)}),l.jsx(pt,{label:"Connected servers",value:e.servers.toLocaleString()}),l.jsx(pt,{label:"Members tracked",value:e.users.toLocaleString()}),e.bot.inviteUrl?l.jsx(pt,{label:"Invite link",value:l.jsx("a",{href:e.bot.inviteUrl,target:"_blank",rel:"noreferrer",className:"text-primary underline-offset-4 hover:underline",children:"Open in Discord"})}):null]})]})]}),l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{children:[l.jsx(Qe,{className:"text-lg",children:"Host machine"}),l.jsx(ht,{children:"Server resources running this instance"})]}),l.jsx(Fe,{children:l.jsxs("dl",{children:[l.jsx(pt,{label:"Memory used",value:`${e.hosting.ram_used} / ${e.hosting.ram_total}`}),l.jsx(pt,{label:"Memory usage",value:l.jsxs("span",{className:e.hosting.ram_percent>85?"text-amber-500":"text-foreground",children:[e.hosting.ram_percent,"%"]})}),l.jsx(pt,{label:"CPU load (1 min avg)",value:e.hosting.cpu_load,mono:!0}),l.jsx(pt,{label:"Host uptime",value:e.hosting.uptime})]})})]}),l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{children:[l.jsx(Qe,{className:"text-lg",children:"Tickets"}),l.jsx(ht,{children:"Database snapshot"})]}),l.jsx(Fe,{children:l.jsxs("dl",{children:[l.jsx(pt,{label:"Total tickets",value:e.tickets.total}),l.jsx(pt,{label:"Open",value:l.jsx("span",{className:"text-primary",children:e.tickets.open})}),l.jsx(pt,{label:"Closed",value:e.tickets.closed}),l.jsx(pt,{label:"Transcripts",value:l.jsx(_t,{to:"/transcripts",className:"text-primary underline-offset-4 hover:underline",children:"Browse archive"})})]})})]}),l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{children:[l.jsx(Qe,{className:"text-lg",children:"Guild health"}),l.jsx(ht,{children:"Configured server and membership"})]}),l.jsx(Fe,{children:i?l.jsxs("dl",{children:[l.jsx(pt,{label:"Status",value:l.jsx("span",{className:tB(i.status),children:eB[i.status]})}),l.jsx(pt,{label:"Configured guild ID",value:i.configuredGuildId||"Not set",mono:!0}),i.configuredGuild?l.jsx(pt,{label:"Configured server",value:`${i.configuredGuild.name} (${((S=i.configuredGuild.memberCount)==null?void 0:S.toLocaleString())??"?"} members)`}):null,i.message?l.jsx("div",{className:"mt-3 rounded-lg border border-border bg-secondary/30 px-3 py-2 text-sm text-muted-foreground",children:i.message}):null,i.extraGuilds.length>0?l.jsxs("div",{className:"mt-3 space-y-2",children:[l.jsx("p",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Extra servers"}),l.jsx("ul",{className:"space-y-1 text-sm",children:i.extraGuilds.map(j=>l.jsxs("li",{className:"font-mono text-xs",children:[j.name," · ",j.id]},j.id))})]}):null]}):l.jsx(Ve,{className:"h-24 w-full"})})]})]}),l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{children:[l.jsx(Qe,{className:"text-lg",children:"Dashboard services"}),l.jsx(ht,{children:"API and authentication"})]}),l.jsx(Fe,{children:d?l.jsxs("dl",{className:"max-w-xl",children:[l.jsx(pt,{label:"Dashboard UI",value:d.dashboard?"Available":"Missing build"}),l.jsx(pt,{label:"Bot connection",value:d.botReady?"Online":"Starting or offline"}),l.jsx(pt,{label:"Discord OAuth",value:d.oauthEnabled?"Configured":"Not configured"}),l.jsx(pt,{label:"Initial setup",value:d.setupComplete?"Complete":"Incomplete"}),l.jsx(pt,{label:"Software updates",value:l.jsx(_t,{to:"/settings",className:"text-primary underline-offset-4 hover:underline",children:"Open settings"})}),l.jsx(pt,{label:"Logs",value:l.jsx(_t,{to:"/logs",className:"text-primary underline-offset-4 hover:underline",children:"View log files"})})]}):l.jsx(Ve,{className:"h-32 w-full max-w-xl"})})]}),e.modules?l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{children:[l.jsx(Qe,{className:"text-lg",children:"Module setup status"}),l.jsx(ht,{children:"Which features are configured and active"})]}),l.jsx(Fe,{children:l.jsx("div",{className:"grid gap-3 sm:grid-cols-2",children:fs.map(j=>{const C=xh(j.id,e.modules);return l.jsxs(_t,{to:j.href,className:"flex items-start justify-between gap-3 rounded-xl border border-border bg-secondary/20 px-4 py-3 transition-colors hover:bg-secondary/40",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"text-sm font-medium",children:j.title}),l.jsx("p",{className:"mt-0.5 truncate text-xs text-muted-foreground",children:C.subtitle})]}),l.jsx("span",{className:"shrink-0 rounded-full bg-secondary px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:W5[C.status]})]},j.id)})})})]}):null]})}function rB(e){if(!e)return"—";const n=new Date(e);return Number.isNaN(n.getTime())?e:n.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}const aB=[{id:"all",label:"All"},{id:"Output",label:"Output"},{id:"Warn",label:"Warn"},{id:"Error",label:"Error"}],oB=["Output","Warn","Error"],sB={Output:"text-foreground/90",Warn:"text-amber-400",Error:"text-rose-400"},iB={Output:"bg-muted text-muted-foreground",Warn:"bg-amber-500/15 text-amber-400",Error:"bg-rose-500/15 text-rose-400"},y0=2e3,lB=2e3;function Sh(e,n){return`${e.type}-${e.timestamp??"na"}-${n}-${e.message.slice(0,32)}`}function cB(e,n,a){const o=a?[]:e,i=new Set(o.map((m,p)=>Sh(m,p))),c=[];for(let m=0;my0?d.slice(d.length-y0):d}function uB(){const[e,n]=f.useState([]),[a,o]=f.useState(!0),[i,c]=f.useState(""),[d,m]=f.useState(!1),[p,h]=f.useState(!0),[y,v]=f.useState("all"),[x,S]=f.useState(""),[j,C]=f.useState(!0),[N,E]=f.useState(""),k=f.useRef(null),T=f.useRef(null),R=f.useRef(d);R.current=d;const D=f.useMemo(()=>y==="all"?oB:[y],[y]),P=f.useCallback(async H=>{var fe,de;const Y=await Ne.getLogs({types:D,cursor:H?void 0:k.current??void 0,tail:H?500:0}),Q=((fe=Y.data)==null?void 0:fe.entries)??[];return k.current=((de=Y.data)==null?void 0:de.cursor)??{},n(he=>cB(he,Q,H)),Q.length},[D]),z=f.useCallback(async()=>{var H;o(!0),c(""),k.current=null;try{const fe=(((H=(await Ne.getLogsMeta()).data)==null?void 0:H.files)??[]).filter(de=>de.file).map(de=>`${de.type}: ${de.file}`).join(" · ");E(fe||"No log files yet — output appears when the bot runs."),await P(!0),C(!0)}catch(Y){c(Y instanceof Error?Y.message:"Failed to load logs"),C(!1)}finally{o(!1)}},[P]);f.useEffect(()=>{z()},[z]),f.useEffect(()=>{if(d||a)return;const H=window.setInterval(async()=>{if(!R.current)try{await P(!1),C(!0),c("")}catch(Y){C(!1),c(Y instanceof Error?Y.message:"Live update failed")}},lB);return()=>window.clearInterval(H)},[d,a,P]),f.useEffect(()=>{if(!p||d)return;const H=T.current;H&&(H.scrollTop=H.scrollHeight)},[e,p,d]);const B=f.useMemo(()=>e.filter(H=>{var Q;if(y!=="all"&&H.type!==y)return!1;if(!x.trim())return!0;const Y=x.toLowerCase();return H.message.toLowerCase().includes(Y)||(((Q=H.timestamp)==null?void 0:Q.toLowerCase().includes(Y))??!1)}),[e,y,x]);return l.jsxs("div",{className:"flex h-[calc(100svh-8rem)] min-h-[480px] flex-col gap-4",children:[l.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-bold tracking-tight",children:"Logs"}),l.jsx("p",{className:"text-muted-foreground",children:"Live bot output — updates every 2 seconds"}),N?l.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:N}):null]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:ce("size-2 rounded-full",j&&!d?"animate-pulse bg-emerald-500":"bg-muted-foreground")}),l.jsx("span",{className:"text-xs text-muted-foreground",children:d?"Paused":j?"Live":"Disconnected"})]})]}),i?l.jsx(Ye,{variant:"destructive",children:l.jsx(We,{children:i})}):null,l.jsxs(Ge,{className:"flex min-h-0 flex-1 flex-col border-border bg-card",children:[l.jsxs(Ze,{className:"shrink-0 space-y-4 border-b border-border pb-4",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[l.jsxs(Qe,{className:"text-base font-medium",children:["Console",a?null:l.jsxs("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:[B.length," line",B.length===1?"":"s"]})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-border px-2 py-1",children:[l.jsx(dn,{id:"auto-scroll",checked:p,onCheckedChange:h}),l.jsx(De,{htmlFor:"auto-scroll",className:"text-xs font-normal",children:"Auto-scroll"})]}),l.jsxs(ve,{type:"button",variant:"outline",size:"sm",onClick:()=>m(H=>!H),children:[l.jsx(ye,{icon:d?l8:i8,size:16,className:"mr-1.5"}),d?"Resume":"Pause"]}),l.jsxs(ve,{type:"button",variant:"outline",size:"sm",onClick:()=>{n([]),z()},disabled:a,children:[l.jsx(ye,{icon:_s,size:16,className:"mr-1.5"}),"Refresh"]})]})]}),l.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center",children:[l.jsx("div",{className:"flex flex-wrap gap-1 rounded-xl bg-secondary/50 p-1",children:aB.map(H=>l.jsx(ve,{type:"button",variant:y===H.id?"secondary":"ghost",size:"sm",className:"h-8 rounded-lg text-xs",onClick:()=>v(H.id),children:H.label},H.id))}),l.jsxs("div",{className:"relative flex-1 sm:max-w-xs",children:[l.jsx(ye,{icon:Gu,size:16,className:"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),l.jsx(Ue,{placeholder:"Filter lines…",value:x,onChange:H=>S(H.target.value),className:"h-9 pl-9"})]})]})]}),l.jsx(Fe,{className:"min-h-0 flex-1 p-0",children:a?l.jsx("div",{className:"space-y-2 p-4",children:Array.from({length:8}).map((H,Y)=>l.jsx(Ve,{className:"h-4 w-full"},Y))}):l.jsx("div",{ref:T,className:"h-full max-h-[calc(100svh-18rem)] overflow-y-auto bg-[#0d0d12] p-4 font-mono text-[13px] leading-relaxed",children:B.length===0?l.jsx("p",{className:"text-muted-foreground",children:"No log lines yet. Start the bot and activity will appear here (also written to the Logs folder on disk)."}):l.jsx("ul",{className:"space-y-1",children:B.map((H,Y)=>l.jsxs("li",{className:"flex gap-2 rounded px-1 py-0.5 hover:bg-white/[0.03]",children:[l.jsx("span",{className:"shrink-0 tabular-nums text-muted-foreground",children:rB(H.timestamp)}),l.jsx("span",{className:ce("shrink-0 rounded px-1.5 py-0 text-[10px] font-semibold uppercase",iB[H.type]),children:H.type}),l.jsx("span",{className:ce("min-w-0 flex-1 whitespace-pre-wrap break-words",sB[H.type]),children:H.message||" "})]},Sh(H,Y)))})})})]})]})}const dB=[{title:"Colors",description:"Theme colors used across the transcript page.",fields:[{path:"Theme.Background",label:"Page background",type:"color"},{path:"Theme.Panel",label:"Panel background",type:"color"},{path:"Theme.PanelSecondary",label:"Secondary panel",type:"color"},{path:"Theme.Border",label:"Borders",type:"color"},{path:"Theme.Text",label:"Main text",type:"color"},{path:"Theme.Muted",label:"Muted text",type:"color"},{path:"Theme.Accent",label:"Accent",type:"color"},{path:"Theme.Link",label:"Links",type:"color"},{path:"Theme.AttachmentLink",label:"Attachment links",type:"color"},{path:"Theme.CodeBackground",label:"Code blocks",type:"color"}]},{title:"Typography",fields:[{path:"Typography.FontFamily",label:"Font family",type:"googleFont",description:"Google Fonts are loaded automatically in saved transcripts."}]},{title:"Header",fields:[{path:"Header.Title",label:"Title",type:"text"},{path:"Header.Subtitle",label:"Subtitle",type:"textarea",description:"Placeholders: {{ticketName}} {{ticketId}} {{messageCount}} {{reason}}. Use **text** for bold."},{path:"Header.Badge",label:"Badge label",type:"text"},{path:"Header.ShowMetaCards",label:"Show info cards",type:"boolean"}]},{title:"Info card labels",fields:[{path:"Meta.ChannelLabel",label:"Channel label",type:"text"},{path:"Meta.TicketIdLabel",label:"Ticket ID label",type:"text"},{path:"Meta.MessageCountLabel",label:"Message count label",type:"text"},{path:"Meta.CloseReasonLabel",label:"Close reason label",type:"text"},{path:"Meta.DefaultCloseReason",label:"Default close reason",type:"text"}]},{title:"Messages section",fields:[{path:"Messages.SectionTitle",label:"Section heading",type:"text"},{path:"Messages.EmptyState",label:"Empty state text",type:"text"}]},{title:"Advanced CSS",description:"Optional extra CSS appended to the transcript stylesheet.",fields:[{path:"Advanced.CustomCss",label:"Custom CSS",type:"textarea",description:"Example: .badge { font-size: 1rem; }"}]}],fB=450;function mB(e,n){return n&&e!=="viewer"}function pB(){const{user:e,hasPermission:n}=Lt(),a=!mB(e==null?void 0:e.role,n("transcripts")),[o,i]=f.useState(null),[c,d]=f.useState(null),[m,p]=f.useState(!0),[h,y]=f.useState(!1),[v,x]=f.useState(""),[S,j]=f.useState(""),[C,N]=f.useState(""),[E,k]=f.useState(!1),T=f.useRef(null),R=f.useCallback(async()=>{var H;p(!0),x(""),j("");try{const Q=(await Ne.getTranscriptTemplate()).data??null;if(Q){const fe={...Q,Typography:{...Q.Typography,FontFamily:r5((H=Q.Typography)==null?void 0:H.FontFamily)}};i(fe),d(structuredClone(fe))}}catch(Y){x(Y instanceof Error?Y.message:"Failed to load template")}finally{p(!1)}},[]);f.useEffect(()=>{R()},[R]);const D=f.useCallback(async H=>{k(!0);try{const Y=await Ne.previewTranscriptTemplate(H);N(Y)}catch{N("Preview failed to load.
")}finally{k(!1)}},[]);f.useEffect(()=>{if(o)return T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{D(o)},fB),()=>{T.current&&clearTimeout(T.current)}},[o,D]);function P(H,Y){i(Q=>Q&&il(Q,H,Y))}async function z(){if(!(a||!o)){y(!0),x(""),j("");try{const H=await Ne.saveTranscriptTemplate(o);j(H.message||"Saved."),d(structuredClone(o))}catch(H){x(H instanceof Error?H.message:"Save failed")}finally{y(!1)}}}const B=o&&c&&JSON.stringify(o)!==JSON.stringify(c);return m?l.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[l.jsx(Ve,{className:"h-96 rounded-xl"}),l.jsx(Ve,{className:"h-96 rounded-xl"})]}):o?l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[l.jsx("p",{className:"text-sm text-muted-foreground",children:"Customize how new ticket transcripts look. Existing saved transcripts are not changed."}),l.jsxs("div",{className:"flex items-center gap-2",children:[B?l.jsx("span",{className:"text-xs text-amber-500",children:"Unsaved changes"}):null,a?l.jsx("span",{className:"text-xs text-muted-foreground",children:"View only"}):l.jsxs(ve,{size:"sm",onClick:z,disabled:h||!B,children:[l.jsx(ye,{icon:Hu,size:16,className:"mr-1.5"}),h?"Saving…":"Save appearance"]})]})]}),v?l.jsx(Ye,{variant:"destructive",children:l.jsx(We,{children:v})}):null,S?l.jsx(Ye,{className:"border-primary/30 bg-primary/10 text-primary",children:l.jsx(We,{children:S})}):null,l.jsxs("div",{className:"grid min-h-0 gap-4 xl:grid-cols-[minmax(320px,420px)_1fr]",children:[l.jsx(hB,{data:o,readOnly:a,onPatch:P}),l.jsxs(Ge,{className:"flex min-h-[520px] flex-col overflow-hidden border-border bg-card",children:[l.jsxs(Ze,{className:"pb-2",children:[l.jsx(Qe,{className:"text-base",children:"Live preview"}),l.jsxs(ht,{children:["Sample ticket with your current settings",E?" · updating…":""]})]}),l.jsx(Fe,{className:"min-h-0 flex-1 p-4 pt-0",children:l.jsx("iframe",{title:"Transcript template preview",srcDoc:C,className:ce("h-[min(640px,calc(100svh-14rem))] w-full rounded-lg border border-border bg-background",E&&"opacity-60"),sandbox:"allow-same-origin"})})]})]})]}):l.jsx(Ye,{variant:"destructive",children:l.jsx(We,{children:v||"Failed to load template"})})}function hB({data:e,readOnly:n,onPatch:a}){return l.jsx("div",{className:"max-h-[min(720px,calc(100svh-12rem))] space-y-4 overflow-y-auto pr-1",children:dB.map(o=>l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{className:"pb-3",children:[l.jsx(Qe,{className:"text-base",children:o.title}),o.description?l.jsx(ht,{children:o.description}):null]}),l.jsx(Fe,{className:"grid gap-4 sm:grid-cols-2",children:o.fields.map(i=>l.jsx("div",{className:i.type==="textarea"?"sm:col-span-2":"",children:l.jsx(zg,{field:i,value:fo(e,i.path),readOnly:n,onChange:c=>a(i.path,c)})},i.path))})]},o.title))})}function gB(e,n){return n&&e!=="viewer"}function vB(){const{user:e,hasPermission:n}=Lt(),a=!gB(e==null?void 0:e.role,n("transcripts")),[o,i]=f.useState(null),[c,d]=f.useState(!0),[m,p]=f.useState(!1),[h,y]=f.useState(!1),[v,x]=f.useState(""),[S,j]=f.useState(""),C=f.useCallback(async()=>{var k,T,R;d(!0),x(""),j("");try{const P=(await Ne.getTranscriptSettings()).data;P&&i({autoDelete:{enabled:!!((k=P.autoDelete)!=null&&k.enabled),afterDays:((T=P.autoDelete)==null?void 0:T.afterDays)??30},publicAccess:{enabled:!!((R=P.publicAccess)!=null&&R.enabled)}})}catch(D){x(D instanceof Error?D.message:"Failed to load settings")}finally{d(!1)}},[]);f.useEffect(()=>{C()},[C]);async function N(){if(!(!o||a)){p(!0),x(""),j("");try{const k=await Ne.updateTranscriptSettings(o);k.data&&i({autoDelete:{enabled:k.data.autoDelete.enabled,afterDays:k.data.autoDelete.afterDays},publicAccess:{enabled:k.data.publicAccess.enabled}}),j(k.message??"Settings saved.")}catch(k){x(k instanceof Error?k.message:"Failed to save settings")}finally{p(!1)}}}async function E(){var k,T;if(!a){y(!0),x(""),j("");try{const R=await Ne.purgeTranscripts();j(R.message??((k=R.data)!=null&&k.skipped?"Auto-delete is disabled.":`Removed ${((T=R.data)==null?void 0:T.deleted)??0} transcript(s).`))}catch(R){x(R instanceof Error?R.message:"Purge failed")}finally{y(!1)}}}return c?l.jsxs("div",{className:"space-y-4",children:[l.jsx(Ve,{className:"h-40 w-full rounded-xl"}),l.jsx(Ve,{className:"h-40 w-full rounded-xl"})]}):o?l.jsxs("div",{className:"mx-auto max-w-2xl space-y-4",children:[a?l.jsx(Ye,{children:l.jsx(We,{children:"You have view-only access. An admin or editor can change these settings."})}):null,v?l.jsx(Ye,{variant:"destructive",children:l.jsx(We,{children:v})}):null,S?l.jsx(Ye,{children:l.jsx(We,{children:S})}):null,l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{children:[l.jsx(Qe,{className:"text-base",children:"Auto-delete"}),l.jsx(ht,{children:"Remove transcript files automatically after they reach a certain age. The server checks hourly and whenever you open the library."})]}),l.jsxs(Fe,{className:"space-y-4",children:[l.jsxs("label",{className:"flex cursor-pointer items-start gap-3",children:[l.jsx("input",{type:"checkbox",className:"mt-1 size-4 rounded border-border accent-primary",checked:o.autoDelete.enabled,disabled:a,onChange:k=>i(T=>T&&{...T,autoDelete:{...T.autoDelete,enabled:k.target.checked}})}),l.jsxs("span",{className:"text-sm",children:[l.jsx("span",{className:"font-medium",children:"Enable auto-delete"}),l.jsx("span",{className:"mt-0.5 block text-muted-foreground",children:"Deletes HTML files in Data/Transcripts based on last modified time."})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx("label",{className:"text-sm font-medium",htmlFor:"transcript-after-days",children:"Delete after (days)"}),l.jsx(Ue,{id:"transcript-after-days",type:"number",min:1,max:3650,disabled:a||!o.autoDelete.enabled,value:o.autoDelete.afterDays,onChange:k=>i(T=>T&&{...T,autoDelete:{...T.autoDelete,afterDays:Math.min(3650,Math.max(1,parseInt(k.target.value,10)||1))}}),className:"max-w-[8rem]"})]}),l.jsxs(ve,{type:"button",variant:"outline",size:"sm",disabled:a||h,onClick:()=>void E(),children:[l.jsx(ye,{icon:_s,size:16,className:ce(h&&"animate-spin")}),"Run cleanup now"]})]})]}),l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{children:[l.jsx(Qe,{className:"text-base",children:"Public transcripts"}),l.jsxs(ht,{children:["When enabled, anyone with the link can view a transcript at"," ",l.jsx("code",{className:"rounded bg-muted px-1 py-0.5 text-xs",children:typeof window<"u"?`${window.location.origin}/transcripts/:id`:"/transcripts/:id"})," ","without signing in. Channel IDs are numeric but not secret—only enable if you are comfortable sharing links."]})]}),l.jsx(Fe,{children:l.jsxs("label",{className:"flex cursor-pointer items-start gap-3",children:[l.jsx("input",{type:"checkbox",className:"mt-1 size-4 rounded border-border accent-primary",checked:o.publicAccess.enabled,disabled:a,onChange:k=>i(T=>T&&{...T,publicAccess:{enabled:k.target.checked}})}),l.jsxs("span",{className:"text-sm",children:[l.jsx("span",{className:"font-medium",children:"Allow public transcript URLs"}),l.jsx("span",{className:"mt-0.5 block text-muted-foreground",children:"Dashboard preview and download still require login."})]})]})})]}),a?null:l.jsxs(ve,{type:"button",disabled:m,onClick:()=>void N(),children:[l.jsx(ye,{icon:Hu,size:16}),m?"Saving…":"Save settings"]})]}):l.jsx(Ye,{variant:"destructive",children:l.jsx(We,{children:"Could not load transcript settings."})})}function bB(e,n){return n&&e!=="viewer"}function x0(e){return e==null?"":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function S0(e){const n=new Date(e);return Number.isNaN(n.getTime())?e:n.toLocaleString(void 0,{dateStyle:"medium",timeStyle:"short"})}function yB(){var U;const{user:e,hasPermission:n}=Lt(),a=bB(e==null?void 0:e.role,n("transcripts")),[o,i]=f.useState("browse"),[c,d]=f.useState([]),[m,p]=f.useState(null),[h,y]=f.useState(!0),[v,x]=f.useState(""),[S,j]=f.useState(""),[C,N]=f.useState(""),[E,k]=f.useState(0),[T,R]=f.useState(!1),[D,P]=f.useState(!1),[z,B]=f.useState(!1),[H,Y]=f.useState(!1),Q=f.useCallback(async()=>{y(!0),j("");try{const F=(await Ne.listTranscripts()).data??[];d(F),p(ae=>{var ne;return ae&&F.some(me=>me.id===ae)?ae:((ne=F[0])==null?void 0:ne.id)??null})}catch(V){j(V instanceof Error?V.message:"Failed to load transcripts")}finally{y(!1)}},[]);f.useEffect(()=>{Q()},[Q]),f.useEffect(()=>{o==="browse"&&Ne.getTranscriptSettings().then(V=>{var F,ae;B(!!((ae=(F=V.data)==null?void 0:F.publicAccess)!=null&&ae.enabled))}).catch(()=>B(!1))},[o]);const fe=f.useMemo(()=>{if(!C.trim())return c;const V=C.toLowerCase();return c.filter(F=>F.id.includes(V)||F.filename.toLowerCase().includes(V)||F.ticketName&&F.ticketName.toLowerCase().includes(V))},[c,C]),de=f.useMemo(()=>c.find(V=>V.id===m)??null,[c,m]),he=m?`/api/system/transcripts/${encodeURIComponent(m)}/view`:null,se=m?`/api/system/transcripts/${encodeURIComponent(m)}/download`:null,O=m&&z?`${window.location.origin}/transcripts/${encodeURIComponent(m)}`:null;function $(V){x(""),p(V),k(F=>F+1)}function Z(){he&&window.open(he,"_blank","noopener,noreferrer")}function J(){O&&window.open(O,"_blank","noopener,noreferrer")}async function te(){if(O)try{await navigator.clipboard.writeText(O),Y(!0),window.setTimeout(()=>Y(!1),2e3)}catch{x("Could not copy link to clipboard.")}}async function M(){var F;if(!m||!a)return;const V=((F=de==null?void 0:de.ticketName)==null?void 0:F.trim())||`channel ${m}`;if(window.confirm(`Delete the transcript for ${V}? This cannot be undone.`)){P(!0),x("");try{await Ne.deleteTranscript(m),await Q()}catch(ae){x(ae instanceof Error?ae.message:"Failed to delete transcript")}finally{P(!1)}}}async function _(){if(!(!se||!de)){R(!0),x("");try{const V=await fetch(se,{credentials:"include"});if(!V.ok){const me=await V.json().catch(()=>({}));throw new Error(me.error||`Download failed (${V.status})`)}const F=await V.blob(),ae=URL.createObjectURL(F),ne=document.createElement("a");ne.href=ae,ne.download=de.filename,ne.click(),URL.revokeObjectURL(ae)}catch(V){x(V instanceof Error?V.message:"Failed to download transcript")}finally{R(!1)}}}return l.jsxs("div",{className:"flex min-h-0 flex-1 flex-col gap-4",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-semibold tracking-tight",children:"Transcripts"}),l.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:"Browse saved transcripts or customize how new ones look when tickets close."})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsxs("div",{className:"flex rounded-lg border border-border p-0.5",children:[l.jsx(ve,{type:"button",variant:o==="browse"?"secondary":"ghost",size:"sm",className:"h-8",onClick:()=>i("browse"),children:"Library"}),l.jsx(ve,{type:"button",variant:o==="appearance"?"secondary":"ghost",size:"sm",className:"h-8",onClick:()=>i("appearance"),children:"Appearance"}),l.jsx(ve,{type:"button",variant:o==="settings"?"secondary":"ghost",size:"sm",className:"h-8",onClick:()=>i("settings"),children:"Settings"})]}),o==="browse"?l.jsxs(ve,{variant:"outline",size:"sm",onClick:()=>Q(),disabled:h,children:[l.jsx(ye,{icon:_s,size:16,className:ce(h&&"animate-spin")}),"Refresh"]}):null]})]}),o==="appearance"?l.jsx(pB,{}):o==="settings"?l.jsx(vB,{}):l.jsxs(l.Fragment,{children:[S?l.jsx(Ye,{variant:"destructive",children:l.jsx(We,{children:S})}):null,l.jsxs("div",{className:"grid min-h-0 flex-1 gap-4 lg:grid-cols-[minmax(240px,320px)_1fr]",children:[l.jsxs(Ge,{className:"flex min-h-[420px] flex-col border-border bg-card",children:[l.jsxs(Ze,{className:"space-y-3 pb-3",children:[l.jsxs(Qe,{className:"text-base font-medium",children:["Saved transcripts",!h&&c.length>0?l.jsxs("span",{className:"ml-2 font-normal text-muted-foreground",children:["(",c.length,")"]}):null]}),l.jsxs("div",{className:"relative",children:[l.jsx(ye,{icon:Gu,size:16,className:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),l.jsx(Ue,{placeholder:"Search by ticket name or channel ID…",value:C,onChange:V=>N(V.target.value),className:"pl-9"})]})]}),l.jsx(Fe,{className:"min-h-0 flex-1 p-0 pb-4",children:l.jsx(Sd,{className:"h-[min(520px,calc(100svh-16rem))] px-4",children:h?l.jsx("div",{className:"space-y-2",children:Array.from({length:6}).map((V,F)=>l.jsx(Ve,{className:"h-16 w-full rounded-lg"},F))}):fe.length===0?l.jsxs("div",{className:"flex flex-col items-center justify-center gap-2 py-12 text-center text-sm text-muted-foreground",children:[l.jsx(ye,{icon:Zi,size:32,className:"opacity-40"}),l.jsx("p",{children:c.length===0?"No transcripts yet. They appear when tickets are closed.":"No transcripts match your search."})]}):l.jsx("ul",{className:"space-y-1.5",children:fe.map(V=>{var ne;const F=V.id===m,ae=((ne=V.ticketName)==null?void 0:ne.trim())||`Channel ${V.id}`;return l.jsx("li",{children:l.jsxs("button",{type:"button",onClick:()=>$(V.id),className:ce("w-full rounded-lg border px-3 py-2.5 text-left transition-colors",F?"border-primary/50 bg-primary/10":"border-transparent bg-secondary/30 hover:bg-secondary/50"),children:[l.jsx("p",{className:"truncate text-sm font-medium",children:ae}),l.jsxs("p",{className:"mt-0.5 text-xs text-muted-foreground",children:[S0(V.createdAt),V.size!=null?` · ${x0(V.size)}`:""]})]})},V.id)})})})})]}),l.jsxs(Ge,{className:"flex min-h-[420px] flex-col overflow-hidden border-border bg-card",children:[l.jsxs(Ze,{className:"flex flex-row flex-wrap items-center justify-between gap-2 space-y-0 pb-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx(Qe,{className:"truncate text-base font-medium",children:de?((U=de.ticketName)==null?void 0:U.trim())||`Channel ${de.id}`:"Preview"}),de?l.jsxs("p",{className:"mt-0.5 truncate text-xs text-muted-foreground",children:[S0(de.createdAt),de.size!=null?` · ${x0(de.size)}`:""]}):null]}),l.jsxs("div",{className:"flex shrink-0 flex-wrap gap-2",children:[O?l.jsxs(l.Fragment,{children:[l.jsxs(ve,{variant:"outline",size:"sm",onClick:()=>void te(),children:[l.jsx(ye,{icon:Y0,size:16}),H?"Copied":"Copy link"]}),l.jsxs(ve,{variant:"outline",size:"sm",onClick:J,children:[l.jsx(ye,{icon:Vu,size:16}),"Public page"]})]}):null,l.jsxs(ve,{variant:"outline",size:"sm",disabled:!he,onClick:Z,children:[l.jsx(ye,{icon:J4,size:16}),"Open tab"]}),l.jsxs(ve,{variant:"outline",size:"sm",disabled:!se||T,onClick:()=>void _(),children:[l.jsx(ye,{icon:Uu,size:16}),T?"Saving…":"Download"]}),a?l.jsxs(ve,{variant:"outline",size:"sm",disabled:!m||D,className:"text-destructive hover:text-destructive",onClick:()=>void M(),children:[l.jsx(ye,{icon:Lh,size:16}),D?"Deleting…":"Delete"]}):null]})]}),l.jsxs(Fe,{className:"flex min-h-0 flex-1 flex-col gap-2 p-4 pt-0",children:[v?l.jsx(Ye,{variant:"destructive",children:l.jsx(We,{children:v})}):null,de&&he?l.jsx("iframe",{title:`Transcript ${de.id}`,src:he,className:"min-h-[min(560px,calc(100svh-18rem))] w-full flex-1 rounded-lg border border-border bg-background",sandbox:"allow-same-origin"},E):l.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center gap-2 rounded-lg border border-dashed border-border py-16 text-center text-sm text-muted-foreground",children:[l.jsx(ye,{icon:Zi,size:40,className:"opacity-30"}),l.jsx("p",{children:"Select a transcript from the list to preview it here."})]})]})]})]})]})]})}function xB(){const[e,n]=f.useState([]),[a,o]=f.useState(""),[i,c]=f.useState(!0),[d,m]=f.useState(""),p=f.useCallback(async()=>{c(!0),m("");try{const y=await Ne.listOpenTickets();y.data&&(o(y.data.guildId),n(y.data.tickets.sort((v,x)=>x.created_at-v.created_at)))}catch(y){m(y instanceof Error?y.message:"Failed to load open tickets")}finally{c(!1)}},[]);f.useEffect(()=>{p()},[p]);const h=y=>{const v=Math.floor((Date.now()-y)/1e3);return Ih(v)};return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-bold tracking-tight",children:"Open Tickets"}),l.jsx("p",{className:"text-muted-foreground",children:"View live tickets currently active in Discord."})]}),l.jsxs(ve,{onClick:()=>void p(),disabled:i,variant:"outline",size:"sm",children:[l.jsx(ye,{icon:_s,size:16,className:i?"animate-spin mr-2":"mr-2"}),"Refresh"]})]}),l.jsx(Ge,{className:"border-border bg-card",children:l.jsx(Fe,{className:"p-0",children:i?l.jsxs("div",{className:"space-y-4 p-6",children:[l.jsx(Ve,{className:"h-12 w-full"}),l.jsx(Ve,{className:"h-12 w-full"}),l.jsx(Ve,{className:"h-12 w-full"})]}):d?l.jsx("div",{className:"p-6",children:l.jsx(Ye,{variant:"destructive",children:l.jsx(We,{children:d})})}):e.length===0?l.jsx("div",{className:"p-12 text-center text-muted-foreground",children:"No open tickets at the moment!"}):l.jsx("div",{className:"divide-y divide-border",children:e.map(y=>l.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between p-4 hover:bg-secondary/10 transition-colors gap-4",children:[l.jsxs("div",{className:"space-y-1",children:[l.jsxs("p",{className:"font-medium text-primary",children:[y.subject||"Untitled Ticket",l.jsxs("span",{className:"ml-2 text-xs font-mono text-muted-foreground",children:["#",y.ticket_id]})]}),l.jsxs("p",{className:"text-sm text-muted-foreground",children:["User ID: ",y.user_id," • Dept: ",y.department," • Priority: ",y.priority]})]}),l.jsxs("div",{className:"flex items-center gap-4",children:[l.jsxs("div",{className:"text-sm text-muted-foreground flex items-center whitespace-nowrap",children:[l.jsx(ye,{icon:t8,size:14,className:"mr-1.5"}),h(y.created_at)]}),a&&l.jsx(ve,{variant:"secondary",size:"sm",asChild:!0,children:l.jsxs("a",{href:`https://discord.com/channels/${a}/${y.ticket_id}`,target:"_blank",rel:"noreferrer",children:[l.jsx(ye,{icon:Vu,size:16,className:"mr-2"}),"View"]})})]})]},y.ticket_id))})})})]})}const SB=["admin","moderator","editor","viewer","custom"];function wB(){return{mode:"add",id:"",username:"",globalName:"",role:"viewer",enabled:!0,permissions:Ji("viewer"),yamlOwner:!1}}function CB({permissions:e,onChange:n,disabled:a}){const o=i=>n({...e,...i});return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[[["Dashboard overview","overview"],["Logs","logs"],["Transcripts","transcripts"]].map(([i,c])=>l.jsxs("label",{className:"flex items-center justify-between gap-3 rounded-lg border border-border px-3 py-2",children:[l.jsx("span",{className:"text-sm",children:i}),l.jsx(dn,{checked:e[c],disabled:a,onCheckedChange:d=>o({[c]:d})})]},c)),l.jsxs("label",{className:"flex items-center justify-between gap-3 rounded-lg border border-border px-3 py-2",children:[l.jsx("span",{className:"text-sm",children:"Settings — view"}),l.jsx(dn,{checked:e.settings.view,disabled:a,onCheckedChange:i=>o({settings:{...e.settings,view:i}})})]}),l.jsxs("label",{className:"flex items-center justify-between gap-3 rounded-lg border border-border px-3 py-2",children:[l.jsx("span",{className:"text-sm",children:"Settings — install updates"}),l.jsx(dn,{checked:e.settings.update,disabled:a,onCheckedChange:i=>o({settings:{...e.settings,update:i}})})]}),l.jsxs("label",{className:"flex items-center justify-between gap-3 rounded-lg border border-border px-3 py-2",children:[l.jsx("span",{className:"text-sm",children:"Users — view"}),l.jsx(dn,{checked:e.users.view,disabled:a,onCheckedChange:i=>o({users:{...e.users,view:i}})})]}),l.jsxs("label",{className:"flex items-center justify-between gap-3 rounded-lg border border-border px-3 py-2",children:[l.jsx("span",{className:"text-sm",children:"Users — manage"}),l.jsx(dn,{checked:e.users.manage,disabled:a,onCheckedChange:i=>o({users:{...e.users,manage:i}})})]})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsx("p",{className:"text-sm font-medium",children:"Configuration files"}),l.jsx("div",{className:"space-y-2",children:$h.map(i=>l.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 rounded-lg border border-border px-3 py-2",children:[l.jsx("span",{className:"text-sm",children:h8[i]}),l.jsxs("div",{className:"flex items-center gap-4",children:[l.jsxs("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:["View",l.jsx(dn,{checked:e.configs[i].view,disabled:a,onCheckedChange:c=>n({...e,configs:{...e.configs,[i]:{...e.configs[i],view:c}}})})]}),l.jsxs("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:["Edit",l.jsx(dn,{checked:e.configs[i].edit,disabled:a,onCheckedChange:c=>n({...e,configs:{...e.configs,[i]:{...e.configs[i],edit:c,view:c?!0:e.configs[i].view}}})})]})]})]},i))})]})]})}function jB(e){return e.permissions.users.manage?"Full + user management":e.permissions.settings.update?"Configs + settings updates":Object.values(e.permissions.configs).some(n=>n.edit)?"Can edit configs":"View only"}function EB(){const{user:e,hasPermission:n}=Lt(),a=n("users.manage"),[o,i]=f.useState([]),[c,d]=f.useState(!0),[m,p]=f.useState(""),[h,y]=f.useState(null),[v,x]=f.useState(!1),S=f.useCallback(async()=>{d(!0),p("");try{const R=await Ne.listDashboardUsers();R.data&&i(R.data.users)}catch(R){p(R instanceof Error?R.message:"Failed to load users")}finally{d(!1)}},[]);f.useEffect(()=>{S()},[S]);const j=f.useMemo(()=>[...o].sort((R,D)=>R.yamlOwner!==D.yamlOwner?R.yamlOwner?-1:1:(R.username||R.id).localeCompare(D.username||D.id)),[o]);function C(){y(wB())}function N(R){y({mode:"edit",id:R.id,username:R.username||"",globalName:R.globalName||"",role:R.yamlOwner?"owner":R.role,enabled:R.enabled,permissions:R.role==="custom"?R.permissions:Ji(R.role),yamlOwner:R.yamlOwner})}function E(R){h&&y({...h,role:R,permissions:Ji(R,h.permissions)})}async function k(){if(!(!h||!a)){x(!0),p("");try{h.mode==="add"?await Ne.addDashboardUser({id:h.id.trim(),role:h.role,username:h.username||void 0,globalName:h.globalName||void 0,enabled:h.enabled,permissions:h.role==="custom"?h.permissions:void 0}):await Ne.updateDashboardUser(h.id,{role:h.yamlOwner?void 0:h.role,enabled:h.enabled,username:h.username||void 0,globalName:h.globalName||void 0,permissions:h.role==="custom"?h.permissions:void 0}),y(null),await S()}catch(R){p(R instanceof Error?R.message:"Could not save user")}finally{x(!1)}}}async function T(R){if(a&&window.confirm("Remove this user from the dashboard?")){p("");try{await Ne.removeDashboardUser(R),await S()}catch(D){p(D instanceof Error?D.message:"Could not remove user")}}}return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-bold tracking-tight",children:"Users"}),l.jsxs("p",{className:"text-muted-foreground",children:["Control who can sign in and what they can view or edit. Owners in"," ",l.jsx("code",{className:"rounded bg-primary/10 px-1 text-xs text-primary",children:"api.yml"})," ","always have full access."]})]}),a?l.jsxs(ve,{onClick:C,children:[l.jsx(ye,{icon:Q4,size:16,className:"mr-2"}),"Add user"]}):null]}),m?l.jsx(Ye,{variant:"destructive",children:l.jsx(We,{children:m})}):null,l.jsxs(Ge,{className:"border-border bg-card",children:[l.jsxs(Ze,{children:[l.jsx(Qe,{className:"text-base",children:"Dashboard access"}),l.jsxs(ht,{children:[j.length," user",j.length===1?"":"s",a?" — use edit to change permissions":""]})]}),l.jsx(Fe,{children:c?l.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading users…"}):l.jsx("div",{className:"divide-y divide-border/60",children:j.map(R=>l.jsxs("div",{className:"flex flex-wrap items-center gap-4 py-4 first:pt-0 last:pb-0",children:[l.jsxs("div",{className:"flex min-w-[200px] flex-1 items-center gap-3",children:[l.jsxs(Ss,{className:"size-9",children:[l.jsx(ws,{src:R.avatar,alt:R.username}),l.jsx(Cs,{children:(R.username||R.id).slice(0,2).toUpperCase()})]}),l.jsxs("div",{className:"min-w-0",children:[l.jsxs("p",{className:"truncate font-medium",children:[Z0(R),R.id===(e==null?void 0:e.id)?" (you)":""]}),l.jsx("p",{className:"truncate text-xs text-muted-foreground",children:R.id})]})]}),l.jsx(gs,{variant:"secondary",children:Zx[R.yamlOwner?"owner":R.role]}),l.jsx("p",{className:"max-w-[200px] text-xs text-muted-foreground",children:jB(R)}),R.enabled?l.jsx(gs,{className:"bg-emerald-500/15 text-emerald-400 hover:bg-emerald-500/15",children:"Active"}):l.jsx(gs,{variant:"outline",children:"Disabled"}),a?l.jsxs("div",{className:"ml-auto flex gap-1",children:[l.jsx(ve,{variant:"ghost",size:"icon",onClick:()=>N(R),"aria-label":"Edit user",children:l.jsx(ye,{icon:n8,size:16})}),R.yamlOwner?null:l.jsx(ve,{variant:"ghost",size:"icon",className:"text-destructive",onClick:()=>T(R.id),"aria-label":"Remove user",children:l.jsx(ye,{icon:Lh,size:16})})]}):null]},R.id))})})]}),l.jsx(gg,{open:!!h,onOpenChange:R=>!R&&y(null),children:l.jsxs(hd,{className:"max-h-[90vh] max-w-lg overflow-y-auto",children:[l.jsxs(gd,{children:[l.jsx(vd,{children:(h==null?void 0:h.mode)==="add"?"Add dashboard user":"Edit user"}),l.jsx(bd,{children:h!=null&&h.yamlOwner?"This user is an owner in api.yml. Role and removal are managed in the config file.":p8[(h==null?void 0:h.role)??"viewer"]})]}),h?l.jsxs("div",{className:"space-y-4",children:[h.mode==="add"?l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{htmlFor:"discord-id",children:"Discord user ID"}),l.jsx(Ue,{id:"discord-id",value:h.id,onChange:R=>y({...h,id:R.target.value}),placeholder:"829112572816130058"})]}):null,l.jsxs("div",{className:"grid gap-3 sm:grid-cols-2",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{children:"Display name (optional)"}),l.jsx(Ue,{value:h.globalName,onChange:R=>y({...h,globalName:R.target.value})})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{children:"Username (optional)"}),l.jsx(Ue,{value:h.username,onChange:R=>y({...h,username:R.target.value})})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(De,{children:"Role"}),l.jsxs(Es,{value:h.role,disabled:h.yamlOwner,onValueChange:R=>E(R),children:[l.jsx(lo,{children:l.jsx(Ns,{})}),l.jsx(co,{children:h.yamlOwner?l.jsx(Zt,{value:"owner",children:"Owner"}):SB.map(R=>l.jsx(Zt,{value:R,children:Zx[R]},R))})]})]}),l.jsxs("label",{className:"flex items-center justify-between rounded-lg border border-border px-3 py-2",children:[l.jsx("span",{className:"text-sm",children:"Account enabled"}),l.jsx(dn,{checked:h.enabled,disabled:h.yamlOwner,onCheckedChange:R=>y({...h,enabled:R})})]}),h.role==="custom"&&!h.yamlOwner?l.jsx(CB,{permissions:h.permissions,onChange:R=>y({...h,permissions:R})}):null]}):null,l.jsxs(vg,{children:[l.jsx(ve,{variant:"outline",onClick:()=>y(null),children:"Cancel"}),l.jsx(ve,{disabled:v||!a||(h==null?void 0:h.mode)==="add"&&!/^\d{17,20}$/.test(h.id.trim()),onClick:()=>void k(),children:v?"Saving…":"Save"})]})]})})]})}function NB({children:e}){const{isAuthenticated:n,loading:a}=Lt();return a?l.jsx("div",{className:"flex min-h-svh items-center justify-center bg-background text-sm text-muted-foreground",children:"Loading…"}):n?l.jsx(l.Fragment,{children:e}):l.jsx(Lr,{to:"/login",replace:!0})}function kB(){const{complete:e,loading:n}=GC(),a=jn();return n?l.jsx("div",{className:"flex min-h-svh items-center justify-center bg-background text-sm text-muted-foreground",children:"Loading…"}):e?a.pathname==="/setup"?l.jsx(Lr,{to:"/login",replace:!0}):l.jsxs(qx,{children:[l.jsx(Yt,{path:"/login",element:l.jsx(v$,{})}),l.jsxs(Yt,{element:l.jsx(NB,{children:l.jsx(AO,{})}),children:[l.jsx(Yt,{index:!0,element:l.jsx(U$,{})}),l.jsx(Yt,{path:"system",element:l.jsx(va,{permission:"overview",children:l.jsx(nB,{})})}),l.jsx(Yt,{path:"settings",element:l.jsx(va,{permission:"settings.view",children:l.jsx(J$,{})})}),l.jsx(Yt,{path:"configs",element:l.jsx(p$,{})}),l.jsx(Yt,{path:"logs",element:l.jsx(va,{permission:"logs",children:l.jsx(uB,{})})}),l.jsx(Yt,{path:"tickets",element:l.jsx(va,{permission:"transcripts",children:l.jsx(xB,{})})}),l.jsx(Yt,{path:"transcripts",element:l.jsx(va,{permission:"transcripts",children:l.jsx(yB,{})})}),l.jsx(Yt,{path:"users",element:l.jsx(va,{permission:"users.view",children:l.jsx(EB,{})})}),l.jsx(Yt,{path:"addons",element:l.jsx(va,{permission:"settings.view",children:l.jsx(H$,{})})}),l.jsx(Yt,{path:"addons/builder",element:l.jsx(va,{permission:"settings.update",children:l.jsx(V$,{})})})]}),l.jsx(Yt,{path:"*",element:l.jsx(Lr,{to:"/",replace:!0})})]}):l.jsxs(qx,{children:[l.jsx(Yt,{path:"/setup",element:l.jsx(_$,{})}),l.jsx(Yt,{path:"*",element:l.jsx(Lr,{to:"/setup",replace:!0})})]})}function TB({...e}){return l.jsx(WP,{theme:"dark",position:"bottom-right",richColors:!0,closeButton:!0,style:{fontFamily:'"Poppins", system-ui, sans-serif'},toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-card group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground"}},...e})}q$();b3.createRoot(document.getElementById("root")).render(l.jsx(f.StrictMode,{children:l.jsx(V4,{children:l.jsx(Ww,{children:l.jsx(y8,{children:l.jsx(MO,{children:l.jsxs(b8,{children:[l.jsx(kB,{}),l.jsx(TB,{})]})})})})})}));
diff --git a/public/dashboard/assets/index-C_d968Vp.css b/public/dashboard/assets/index-C_d968Vp.css
deleted file mode 100644
index b69d5a9..0000000
--- a/public/dashboard/assets/index-C_d968Vp.css
+++ /dev/null
@@ -1 +0,0 @@
-*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Poppins,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 240 10% 4%;--foreground: 0 0% 98%;--card: 240 7% 11%;--card-foreground: 0 0% 98%;--popover: 240 8% 10%;--popover-foreground: 0 0% 98%;--primary: 141 45% 49%;--primary-foreground: 0 0% 100%;--secondary: 240 6% 14%;--secondary-foreground: 0 0% 90%;--muted: 240 6% 14%;--muted-foreground: 240 5% 55%;--accent: 141 29% 18%;--accent-foreground: 141 52% 78%;--destructive: 0 72% 55%;--destructive-foreground: 0 0% 100%;--border: 240 6% 18%;--input: 240 6% 14%;--ring: 141 45% 49%;--radius: .75rem;--chart-1: 141 45% 49%;--chart-2: 199 89% 48%;--chart-3: 38 92% 50%;--chart-4: 280 65% 60%;--chart-5: 0 72% 55%;--sidebar-background: 240 10% 5%;--sidebar-foreground: 240 5% 90%;--sidebar-primary: 141 45% 49%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 141 26% 14%;--sidebar-accent-foreground: 141 48% 82%;--sidebar-border: 240 6% 14%;--sidebar-ring: 141 45% 49%;--scrollbar-size: 6px;--scrollbar-thumb: 240 4% 32%;--scrollbar-thumb-hover: 240 4% 44%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));font-family:Poppins,system-ui,sans-serif;color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{color-scheme:dark}html,body,*{scrollbar-width:thin;scrollbar-color:hsl(var(--scrollbar-thumb)) transparent}*::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}*::-webkit-scrollbar-button{display:none;width:0;height:0}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:hsl(var(--scrollbar-thumb));border-radius:9999px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--scrollbar-thumb-hover))}*::-webkit-scrollbar-thumb:active{background-color:hsl(var(--scrollbar-thumb-hover))}*::-webkit-scrollbar-corner{background:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-right-0\.5{right:-.125rem}.-top-0\.5{top:-.125rem}.bottom-0{bottom:0}.left-0{left:0}.left-2{left:.5rem}.left-3{left:.75rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-ml-1{margin-left:-.25rem}.-ml-2{margin-left:-.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.size-1\.5{width:.375rem;height:.375rem}.size-10{width:2.5rem;height:2.5rem}.size-11{width:2.75rem;height:2.75rem}.size-12{width:3rem;height:3rem}.size-14{width:3.5rem;height:3.5rem}.size-16{width:4rem;height:4rem}.size-2{width:.5rem;height:.5rem}.size-28{width:7rem;height:7rem}.size-36{width:9rem;height:9rem}.size-4{width:1rem;height:1rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-full{width:100%;height:100%}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-44{height:11rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[1px\]{height:1px}.h-\[520px\]{height:520px}.h-\[calc\(100svh-8rem\)\]{height:calc(100svh - 8rem)}.h-\[min\(400px\,50vh\)\]{height:min(400px,50vh)}.h-\[min\(50vh\,320px\)\]{height:min(50vh,320px)}.h-\[min\(520px\,calc\(100svh-16rem\)\)\]{height:min(520px,calc(100svh - 16rem))}.h-\[min\(640px\,calc\(100svh-14rem\)\)\]{height:min(640px,calc(100svh - 14rem))}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-64{max-height:16rem}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(100svh-18rem\)\]{max-height:calc(100svh - 18rem)}.max-h-\[min\(320px\,50vh\)\]{max-height:min(320px,50vh)}.max-h-\[min\(360px\,50vh\)\]{max-height:min(360px,50vh)}.max-h-\[min\(720px\,calc\(100svh-12rem\)\)\]{max-height:min(720px,calc(100svh - 12rem))}.max-h-\[min\(90vh\,720px\)\]{max-height:min(90vh,720px)}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.min-h-0{min-height:0px}.min-h-\[120px\]{min-height:120px}.min-h-\[420px\]{min-height:420px}.min-h-\[480px\]{min-height:480px}.min-h-\[520px\]{min-height:520px}.min-h-\[60px\]{min-height:60px}.min-h-\[88px\]{min-height:88px}.min-h-\[min\(520px\,60vh\)\]{min-height:min(520px,60vh)}.min-h-\[min\(520px\,70vh\)\]{min-height:min(520px,70vh)}.min-h-\[min\(560px\,calc\(100svh-18rem\)\)\]{min-height:min(560px,calc(100svh - 18rem))}.min-h-svh{min-height:100svh}.w-10{width:2.5rem}.w-2{width:.5rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[--radix-dropdown-menu-trigger-width\]{width:var(--radix-dropdown-menu-trigger-width)}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[1px\]{width:1px}.w-\[calc\(100\%-1rem\)\]{width:calc(100% - 1rem)}.w-\[min\(100\%\,320px\)\]{width:min(100%,320px)}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-4{min-width:1rem}.min-w-5{min-width:1.25rem}.min-w-\[200px\]{min-width:200px}.min-w-\[220px\]{min-width:220px}.min-w-\[280px\]{min-width:280px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-6xl{max-width:72rem}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-\[100px\]{max-width:100px}.max-w-\[200px\]{max-width:200px}.max-w-\[8rem\]{max-width:8rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-2{row-gap:.5rem}.-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.5rem * var(--tw-space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border\/60>:not([hidden])~:not([hidden]){border-color:hsl(var(--border) / .6)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-amber-500\/40{border-color:#f59e0b66}.border-border{border-color:hsl(var(--border))}.border-border\/40{border-color:hsl(var(--border) / .4)}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-card{border-color:hsl(var(--card))}.border-destructive\/40{border-color:hsl(var(--destructive) / .4)}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-emerald-500\/30{border-color:#10b9814d}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/30{border-color:hsl(var(--primary) / .3)}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-sidebar-border{border-color:hsl(var(--sidebar-border))}.border-sky-500\/40{border-color:#0ea5e966}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[\#0d0d12\]{--tw-bg-opacity: 1;background-color:rgb(13 13 18 / var(--tw-bg-opacity, 1))}.bg-\[hsl\(240_4\%_32\%\)\]{--tw-bg-opacity: 1;background-color:hsl(240 4% 32% / var(--tw-bg-opacity, 1))}.bg-accent{background-color:hsl(var(--accent))}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/15{background-color:#f59e0b26}.bg-background{background-color:hsl(var(--background))}.bg-background\/40{background-color:hsl(var(--background) / .4)}.bg-background\/50{background-color:hsl(var(--background) / .5)}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/15{background-color:#10b98126}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground{background-color:hsl(var(--muted-foreground))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/15{background-color:hsl(var(--primary) / .15)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\/25{background-color:hsl(var(--primary) / .25)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-rose-500{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity, 1))}.bg-rose-500\/15{background-color:#f43f5e26}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\/20{background-color:hsl(var(--secondary) / .2)}.bg-secondary\/30{background-color:hsl(var(--secondary) / .3)}.bg-secondary\/40{background-color:hsl(var(--secondary) / .4)}.bg-secondary\/50{background-color:hsl(var(--secondary) / .5)}.bg-secondary\/60{background-color:hsl(var(--secondary) / .6)}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-sidebar-accent{background-color:hsl(var(--sidebar-accent))}.bg-sidebar-border{background-color:hsl(var(--sidebar-border))}.bg-sky-400{--tw-bg-opacity: 1;background-color:rgb(56 189 248 / var(--tw-bg-opacity, 1))}.bg-sky-500\/10{background-color:#0ea5e91a}.bg-sky-500\/15{background-color:#0ea5e926}.bg-transparent{background-color:transparent}.bg-white\/70{background-color:#ffffffb3}.fill-current{fill:currentColor}.stroke-white{stroke:#fff}.stroke-white\/20{stroke:#fff3}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-px{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-6xl{font-size:3.75rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-600\/80{color:#059669cc}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/90{color:hsl(var(--foreground) / .9)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/80{color:hsl(var(--muted-foreground) / .8)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-rose-400{--tw-text-opacity: 1;color:rgb(251 113 133 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.text-sky-100{--tw-text-opacity: 1;color:rgb(224 242 254 / var(--tw-text-opacity, 1))}.text-sky-400{--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.underline-offset-4{text-underline-offset:4px}.accent-primary{accent-color:hsl(var(--primary))}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/20{--tw-shadow-color: rgb(0 0 0 / .2);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-primary\/30{--tw-ring-color: hsl(var(--primary) / .3)}.ring-sidebar-ring{--tw-ring-color: hsl(var(--sidebar-ring))}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.\!paused{animation-play-state:paused!important}.paused{animation-play-state:paused}.color-picker-swatch.react-colorful{width:220px;height:140px}.color-picker-swatch .react-colorful__saturation{border-radius:calc(var(--radius) - 2px) calc(var(--radius) - 2px) 0 0}.color-picker-swatch .react-colorful__hue{height:12px;border-radius:0 0 calc(var(--radius) - 2px) calc(var(--radius) - 2px);margin-top:10px}.color-picker-swatch .react-colorful__pointer{width:16px;height:16px}.unicode-emoji-panel-host emoji-picker.unicode-emoji-picker-el{width:100%;height:min(50vh,380px);--background: hsl(var(--card));--border-color: hsl(var(--border));--button-active-background: hsl(var(--primary) / .25);--button-hover-background: hsl(var(--accent));--input-border-color: hsl(var(--border));--input-font-color: hsl(var(--foreground));--input-placeholder-color: hsl(var(--muted-foreground));--outline-color: hsl(var(--ring));--category-font-color: hsl(var(--muted-foreground));--indicator-color: hsl(var(--primary))}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.first\:pt-0:first-child{padding-top:0}.last\:border-0:last-child{border-width:0px}.last\:pb-0:last-child{padding-bottom:0}.hover\:border-primary:hover{border-color:hsl(var(--primary))}.hover\:border-primary\/30:hover{border-color:hsl(var(--primary) / .3)}.hover\:bg-\[hsl\(240_4\%_44\%\)\]:hover{--tw-bg-opacity: 1;background-color:hsl(240 4% 44% / var(--tw-bg-opacity, 1))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/10:hover{background-color:hsl(var(--destructive) / .1)}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-emerald-500\/15:hover{background-color:#10b98126}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/40:hover{background-color:hsl(var(--secondary) / .4)}.hover\:bg-secondary\/50:hover{background-color:hsl(var(--secondary) / .5)}.hover\:bg-secondary\/60:hover{background-color:hsl(var(--secondary) / .6)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.hover\:bg-white\/\[0\.03\]:hover{background-color:#ffffff08}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-sidebar-ring:focus-visible{--tw-ring-color: hsl(var(--sidebar-ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.active\:bg-sidebar-accent:active{background-color:hsl(var(--sidebar-accent))}.active\:text-sidebar-accent-foreground:active{color:hsl(var(--sidebar-accent-foreground))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group:hover .group-hover\:text-primary{color:hsl(var(--primary))}.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toaster .group-\[\.toaster\]\:bg-card{background-color:hsl(var(--card))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){background-color:hsl(var(--sidebar-background))}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:hsl(var(--sidebar-accent))}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--sidebar-accent-foreground))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:hsl(var(--muted-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0px}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{border-color:hsl(var(--sidebar-border))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover{background-color:hsl(var(--sidebar-background))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\:text-emerald-400\/80:is(.dark *){color:#34d399cc}@media(min-width:640px){.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:size-32{width:8rem;height:8rem}.sm\:min-w-\[300px\]{min-width:300px}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-xl{max-width:36rem}.sm\:max-w-xs{max-width:20rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:p-6{padding:1.5rem}.sm\:text-left{text-align:left}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media(min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:opacity-0{opacity:0}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@media(min-width:1024px){.lg\:block{display:block}.lg\:grid{display:grid}.lg\:min-w-0{min-width:0px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[220px_1fr\]{grid-template-columns:220px 1fr}.lg\:grid-cols-\[280px_1fr\]{grid-template-columns:280px 1fr}.lg\:grid-cols-\[minmax\(0\,280px\)_1fr\]{grid-template-columns:minmax(0,280px) 1fr}.lg\:grid-cols-\[minmax\(240px\,320px\)_1fr\]{grid-template-columns:minmax(240px,320px) 1fr}.lg\:overflow-visible{overflow:visible}.lg\:p-8{padding:2rem}}@media(min-width:1280px){.xl\:block{display:block}.xl\:grid-cols-\[minmax\(320px\,420px\)_1fr\]{grid-template-columns:minmax(320px,420px) 1fr}.xl\:flex-row{flex-direction:row}.xl\:items-start{align-items:flex-start}}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y: -3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:hsl(var(--sidebar-accent-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}
diff --git a/public/dashboard/assets/index-D6vuEh1I.js b/public/dashboard/assets/index-D6vuEh1I.js
deleted file mode 100644
index aae1802..0000000
--- a/public/dashboard/assets/index-D6vuEh1I.js
+++ /dev/null
@@ -1,191 +0,0 @@
-var RN=Object.defineProperty;var AN=(e,n,a)=>n in e?RN(e,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[n]=a;var m1=(e,n,a)=>AN(e,typeof n!="symbol"?n+"":n,a);function _N(e,n){for(var a=0;ao[l]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))o(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const d of i.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&o(d)}).observe(document,{childList:!0,subtree:!0});function a(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function o(l){if(l.ep)return;l.ep=!0;const i=a(l);fetch(l.href,i)}})();function Xx(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Rm={exports:{}},Nl={};/**
- * @license React
- * react-jsx-runtime.production.js
- *
- * Copyright (c) Meta Platforms, Inc. and affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */var p1;function MN(){if(p1)return Nl;p1=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function a(o,l,i){var d=null;if(i!==void 0&&(d=""+i),l.key!==void 0&&(d=""+l.key),"key"in l){i={};for(var m in l)m!=="key"&&(i[m]=l[m])}else i=l;return l=i.ref,{$$typeof:e,type:o,key:d,ref:l!==void 0?l:null,props:i}}return Nl.Fragment=n,Nl.jsx=a,Nl.jsxs=a,Nl}var h1;function ON(){return h1||(h1=1,Rm.exports=MN()),Rm.exports}var c=ON(),Am={exports:{}},_e={};/**
- * @license React
- * react.production.js
- *
- * Copyright (c) Meta Platforms, Inc. and affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */var g1;function DN(){if(g1)return _e;g1=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),i=Symbol.for("react.consumer"),d=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),v=Symbol.for("react.activity"),x=Symbol.iterator;function S(_){return _===null||typeof _!="object"?null:(_=x&&_[x]||_["@@iterator"],typeof _=="function"?_:null)}var j={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,N={};function E(_,O,H){this.props=_,this.context=O,this.refs=N,this.updater=H||j}E.prototype.isReactComponent={},E.prototype.setState=function(_,O){if(typeof _!="object"&&typeof _!="function"&&_!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,_,O,"setState")},E.prototype.forceUpdate=function(_){this.updater.enqueueForceUpdate(this,_,"forceUpdate")};function k(){}k.prototype=E.prototype;function A(_,O,H){this.props=_,this.context=O,this.refs=N,this.updater=H||j}var R=A.prototype=new k;R.constructor=A,C(R,E.prototype),R.isPureReactComponent=!0;var L=Array.isArray;function z(){}var B={H:null,A:null,T:null,S:null},U=Object.prototype.hasOwnProperty;function q(_,O,H){var I=H.ref;return{$$typeof:e,type:_,key:O,ref:I!==void 0?I:null,props:H}}function Z(_,O){return q(_.type,O,_.props)}function Q(_){return typeof _=="object"&&_!==null&&_.$$typeof===e}function fe(_){var O={"=":"=0",":":"=2"};return"$"+_.replace(/[=:]/g,function(H){return O[H]})}var de=/\/+/g;function ce(_,O){return typeof _=="object"&&_!==null&&_.key!=null?fe(""+_.key):O.toString(36)}function he(_){switch(_.status){case"fulfilled":return _.value;case"rejected":throw _.reason;default:switch(typeof _.status=="string"?_.then(z,z):(_.status="pending",_.then(function(O){_.status==="pending"&&(_.status="fulfilled",_.value=O)},function(O){_.status==="pending"&&(_.status="rejected",_.reason=O)})),_.status){case"fulfilled":return _.value;case"rejected":throw _.reason}}throw _}function M(_,O,H,I,V){var ne=typeof _;(ne==="undefined"||ne==="boolean")&&(_=null);var J=!1;if(_===null)J=!0;else switch(ne){case"bigint":case"string":case"number":J=!0;break;case"object":switch(_.$$typeof){case e:case n:J=!0;break;case y:return J=_._init,M(J(_._payload),O,H,I,V)}}if(J)return V=V(_),J=I===""?"."+ce(_,0):I,L(V)?(H="",J!=null&&(H=J.replace(de,"$&/")+"/"),M(V,O,H,"",function(G){return G})):V!=null&&(Q(V)&&(V=Z(V,H+(V.key==null||_&&_.key===V.key?"":(""+V.key).replace(de,"$&/")+"/")+J)),O.push(V)),1;J=0;var me=I===""?".":I+":";if(L(_))for(var pe=0;pe<_.length;pe++)I=_[pe],ne=me+ce(I,pe),J+=M(I,O,H,ne,V);else if(pe=S(_),typeof pe=="function")for(_=pe.call(_),pe=0;!(I=_.next()).done;)I=I.value,ne=me+ce(I,pe++),J+=M(I,O,H,ne,V);else if(ne==="object"){if(typeof _.then=="function")return M(he(_),O,H,I,V);throw O=String(_),Error("Objects are not valid as a React child (found: "+(O==="[object Object]"?"object with keys {"+Object.keys(_).join(", ")+"}":O)+"). If you meant to render a collection of children, use an array instead.")}return J}function K(_,O,H){if(_==null)return _;var I=[],V=0;return M(_,I,"","",function(ne){return O.call(H,ne,V++)}),I}function re(_){if(_._status===-1){var O=_._result;O=O(),O.then(function(H){(_._status===0||_._status===-1)&&(_._status=1,_._result=H)},function(H){(_._status===0||_._status===-1)&&(_._status=2,_._result=H)}),_._status===-1&&(_._status=0,_._result=O)}if(_._status===1)return _._result.default;throw _._result}var oe=typeof reportError=="function"?reportError:function(_){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var O=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof _=="object"&&_!==null&&typeof _.message=="string"?String(_.message):String(_),error:_});if(!window.dispatchEvent(O))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",_);return}console.error(_)},ee={map:K,forEach:function(_,O,H){K(_,function(){O.apply(this,arguments)},H)},count:function(_){var O=0;return K(_,function(){O++}),O},toArray:function(_){return K(_,function(O){return O})||[]},only:function(_){if(!Q(_))throw Error("React.Children.only expected to receive a single React element child.");return _}};return _e.Activity=v,_e.Children=ee,_e.Component=E,_e.Fragment=a,_e.Profiler=l,_e.PureComponent=A,_e.StrictMode=o,_e.Suspense=h,_e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=B,_e.__COMPILER_RUNTIME={__proto__:null,c:function(_){return B.H.useMemoCache(_)}},_e.cache=function(_){return function(){return _.apply(null,arguments)}},_e.cacheSignal=function(){return null},_e.cloneElement=function(_,O,H){if(_==null)throw Error("The argument must be a React element, but you passed "+_+".");var I=C({},_.props),V=_.key;if(O!=null)for(ne in O.key!==void 0&&(V=""+O.key),O)!U.call(O,ne)||ne==="key"||ne==="__self"||ne==="__source"||ne==="ref"&&O.ref===void 0||(I[ne]=O[ne]);var ne=arguments.length-2;if(ne===1)I.children=H;else if(1>>1,ee=M[oe];if(0>>1;oe<_;){var O=2*(oe+1)-1,H=M[O],I=O+1,V=M[I];if(0>l(H,re))Il(V,H)?(M[oe]=V,M[I]=re,oe=I):(M[oe]=H,M[O]=re,oe=O);else if(Il(V,re))M[oe]=V,M[I]=re,oe=I;else break e}}return K}function l(M,K){var re=M.sortIndex-K.sortIndex;return re!==0?re:M.id-K.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var d=Date,m=d.now();e.unstable_now=function(){return d.now()-m}}var h=[],p=[],y=1,v=null,x=3,S=!1,j=!1,C=!1,N=!1,E=typeof setTimeout=="function"?setTimeout:null,k=typeof clearTimeout=="function"?clearTimeout:null,A=typeof setImmediate<"u"?setImmediate:null;function R(M){for(var K=a(p);K!==null;){if(K.callback===null)o(p);else if(K.startTime<=M)o(p),K.sortIndex=K.expirationTime,n(h,K);else break;K=a(p)}}function L(M){if(C=!1,R(M),!j)if(a(h)!==null)j=!0,z||(z=!0,fe());else{var K=a(p);K!==null&&he(L,K.startTime-M)}}var z=!1,B=-1,U=5,q=-1;function Z(){return N?!0:!(e.unstable_now()-qM&&Z());){var oe=v.callback;if(typeof oe=="function"){v.callback=null,x=v.priorityLevel;var ee=oe(v.expirationTime<=M);if(M=e.unstable_now(),typeof ee=="function"){v.callback=ee,R(M),K=!0;break t}v===a(h)&&o(h),R(M)}else o(h);v=a(h)}if(v!==null)K=!0;else{var _=a(p);_!==null&&he(L,_.startTime-M),K=!1}}break e}finally{v=null,x=re,S=!1}K=void 0}}finally{K?fe():z=!1}}}var fe;if(typeof A=="function")fe=function(){A(Q)};else if(typeof MessageChannel<"u"){var de=new MessageChannel,ce=de.port2;de.port1.onmessage=Q,fe=function(){ce.postMessage(null)}}else fe=function(){E(Q,0)};function he(M,K){B=E(function(){M(e.unstable_now())},K)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(M){M.callback=null},e.unstable_forceFrameRate=function(M){0>M||125oe?(M.sortIndex=re,n(p,M),a(h)===null&&M===a(p)&&(C?(k(B),B=-1):C=!0,he(L,re-oe))):(M.sortIndex=ee,n(h,M),j||S||(j=!0,z||(z=!0,fe()))),M},e.unstable_shouldYield=Z,e.unstable_wrapCallback=function(M){var K=x;return function(){var re=x;x=K;try{return M.apply(this,arguments)}finally{x=re}}}})(Om)),Om}var y1;function zN(){return y1||(y1=1,Mm.exports=LN()),Mm.exports}var Dm={exports:{}},Gt={};/**
- * @license React
- * react-dom.production.js
- *
- * Copyright (c) Meta Platforms, Inc. and affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */var x1;function PN(){if(x1)return Gt;x1=1;var e=Cu();function n(h){var p="https://react.dev/errors/"+h;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Dm.exports=PN(),Dm.exports}/**
- * @license React
- * react-dom-client.production.js
- *
- * Copyright (c) Meta Platforms, Inc. and affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */var w1;function BN(){if(w1)return kl;w1=1;var e=zN(),n=Cu(),a=Zx();function o(t){var r="https://react.dev/errors/"+t;if(1ee||(t.current=oe[ee],oe[ee]=null,ee--)}function H(t,r){ee++,oe[ee]=t.current,t.current=r}var I=_(null),V=_(null),ne=_(null),J=_(null);function me(t,r){switch(H(ne,r),H(V,t),H(I,null),r.nodeType){case 9:case 11:t=(t=r.documentElement)&&(t=t.namespaceURI)?zy(t):0;break;default:if(t=r.tagName,r=r.namespaceURI)r=zy(r),t=Py(r,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}O(I),H(I,t)}function pe(){O(I),O(V),O(ne)}function G(t){t.memoizedState!==null&&H(J,t);var r=I.current,s=Py(r,t.type);r!==s&&(H(V,t),H(I,s))}function se(t){V.current===t&&(O(I),O(V)),J.current===t&&(O(J),wl._currentValue=re)}var ge,je;function Ae(t){if(ge===void 0)try{throw Error()}catch(s){var r=s.stack.trim().match(/\n( *(at )?)/);ge=r&&r[1]||"",je=-1)":-1g||D[u]!==Y[g]){var te=`
-`+D[u].replace(" at new "," at ");return t.displayName&&te.includes("")&&(te=te.replace("",t.displayName)),te}while(1<=u&&0<=g);break}}}finally{Qe=!1,Error.prepareStackTrace=s}return(s=t?t.displayName||t.name:"")?Ae(s):""}function Tt(t,r){switch(t.tag){case 26:case 27:case 5:return Ae(t.type);case 16:return Ae("Lazy");case 13:return t.child!==r&&r!==null?Ae("Suspense Fallback"):Ae("Suspense");case 19:return Ae("SuspenseList");case 0:case 15:return ct(t.type,!1);case 11:return ct(t.type.render,!1);case 1:return ct(t.type,!0);case 31:return Ae("Activity");default:return""}}function Ca(t){try{var r="",s=null;do r+=Tt(t,s),s=t,t=t.return;while(t);return r}catch(u){return`
-Error generating stack: `+u.message+`
-`+u.stack}}var Rt=Object.prototype.hasOwnProperty,Os=e.unstable_scheduleCallback,Ds=e.unstable_cancelCallback,Yt=e.unstable_shouldYield,$r=e.unstable_requestPaint,Wt=e.unstable_now,gd=e.unstable_getCurrentPriorityLevel,ja=e.unstable_ImmediatePriority,xi=e.unstable_UserBlockingPriority,Ea=e.unstable_NormalPriority,Ls=e.unstable_LowPriority,dr=e.unstable_IdlePriority,Si=e.log,Ir=e.unstable_setDisableYieldValue,Na=null,qt=null;function $n(t){if(typeof Si=="function"&&Ir(t),qt&&typeof qt.setStrictMode=="function")try{qt.setStrictMode(Na,t)}catch{}}var Ht=Math.clz32?Math.clz32:Xn,vd=Math.log,zs=Math.LN2;function Xn(t){return t>>>=0,t===0?32:31-(vd(t)/zs|0)|0}var fo=256,mo=262144,ka=4194304;function Zn(t){var r=t&42;if(r!==0)return r;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Te(t,r,s){var u=t.pendingLanes;if(u===0)return 0;var g=0,b=t.suspendedLanes,w=t.pingedLanes;t=t.warmLanes;var T=u&134217727;return T!==0?(u=T&~b,u!==0?g=Zn(u):(w&=T,w!==0?g=Zn(w):s||(s=T&~t,s!==0&&(g=Zn(s))))):(T=u&~b,T!==0?g=Zn(T):w!==0?g=Zn(w):s||(s=u&~t,s!==0&&(g=Zn(s)))),g===0?0:r!==0&&r!==g&&(r&b)===0&&(b=g&-g,s=r&-r,b>=s||b===32&&(s&4194048)!==0)?r:g}function ut(t,r){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&r)===0}function At(t,r){switch(t){case 1:case 2:case 4:case 8:case 64:return r+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Vt(){var t=ka;return ka<<=1,(ka&62914560)===0&&(ka=4194304),t}function Ur(t){for(var r=[],s=0;31>s;s++)r.push(t);return r}function mt(t,r){t.pendingLanes|=r,r!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Zt(t,r,s,u,g,b){var w=t.pendingLanes;t.pendingLanes=s,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=s,t.entangledLanes&=s,t.errorRecoveryDisabledLanes&=s,t.shellSuspendCounter=0;var T=t.entanglements,D=t.expirationTimes,Y=t.hiddenUpdates;for(s=w&~s;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var C5=/[\n"\\]/g;function En(t){return t.replace(C5,function(r){return"\\"+r.charCodeAt(0).toString(16)+" "})}function wd(t,r,s,u,g,b,w,T){t.name="",w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"?t.type=w:t.removeAttribute("type"),r!=null?w==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+jn(r)):t.value!==""+jn(r)&&(t.value=""+jn(r)):w!=="submit"&&w!=="reset"||t.removeAttribute("value"),r!=null?Cd(t,w,jn(r)):s!=null?Cd(t,w,jn(s)):u!=null&&t.removeAttribute("value"),g==null&&b!=null&&(t.defaultChecked=!!b),g!=null&&(t.checked=g&&typeof g!="function"&&typeof g!="symbol"),T!=null&&typeof T!="function"&&typeof T!="symbol"&&typeof T!="boolean"?t.name=""+jn(T):t.removeAttribute("name")}function Ag(t,r,s,u,g,b,w,T){if(b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"&&(t.type=b),r!=null||s!=null){if(!(b!=="submit"&&b!=="reset"||r!=null)){Sd(t);return}s=s!=null?""+jn(s):"",r=r!=null?""+jn(r):s,T||r===t.value||(t.value=r),t.defaultValue=r}u=u??g,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=T?t.checked:!!u,t.defaultChecked=!!u,w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"&&(t.name=w),Sd(t)}function Cd(t,r,s){r==="number"&&ji(t.ownerDocument)===t||t.defaultValue===""+s||(t.defaultValue=""+s)}function xo(t,r,s,u){if(t=t.options,r){r={};for(var g=0;g"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Td=!1;if(pr)try{var Is={};Object.defineProperty(Is,"passive",{get:function(){Td=!0}}),window.addEventListener("test",Is,Is),window.removeEventListener("test",Is,Is)}catch{Td=!1}var Vr=null,Rd=null,Ni=null;function Pg(){if(Ni)return Ni;var t,r=Rd,s=r.length,u,g="value"in Vr?Vr.value:Vr.textContent,b=g.length;for(t=0;t=Vs),Vg=" ",Gg=!1;function Fg(t,r){switch(t){case"keyup":return Z5.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Yg(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var jo=!1;function J5(t,r){switch(t){case"compositionend":return Yg(r);case"keypress":return r.which!==32?null:(Gg=!0,Vg);case"textInput":return t=r.data,t===Vg&&Gg?null:t;default:return null}}function eE(t,r){if(jo)return t==="compositionend"||!Dd&&Fg(t,r)?(t=Pg(),Ni=Rd=Vr=null,jo=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(r.ctrlKey||r.altKey||r.metaKey)||r.ctrlKey&&r.altKey){if(r.char&&1=r)return{node:s,offset:r-t};t=u}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=ev(s)}}function nv(t,r){return t&&r?t===r?!0:t&&t.nodeType===3?!1:r&&r.nodeType===3?nv(t,r.parentNode):"contains"in t?t.contains(r):t.compareDocumentPosition?!!(t.compareDocumentPosition(r)&16):!1:!1}function rv(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var r=ji(t.document);r instanceof t.HTMLIFrameElement;){try{var s=typeof r.contentWindow.location.href=="string"}catch{s=!1}if(s)t=r.contentWindow;else break;r=ji(t.document)}return r}function Pd(t){var r=t&&t.nodeName&&t.nodeName.toLowerCase();return r&&(r==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||r==="textarea"||t.contentEditable==="true")}var iE=pr&&"documentMode"in document&&11>=document.documentMode,Eo=null,Bd=null,Ws=null,$d=!1;function av(t,r,s){var u=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;$d||Eo==null||Eo!==ji(u)||(u=Eo,"selectionStart"in u&&Pd(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),Ws&&Ys(Ws,u)||(Ws=u,u=yc(Bd,"onSelect"),0>=w,g-=w,Qn=1<<32-Ht(r)+g|s<Oe?($e=Ce,Ce=null):$e=Ce.sibling;var Ge=W($,Ce,F[Oe],ae);if(Ge===null){Ce===null&&(Ce=$e);break}t&&Ce&&Ge.alternate===null&&r($,Ce),P=b(Ge,P,Oe),Ve===null?Ee=Ge:Ve.sibling=Ge,Ve=Ge,Ce=$e}if(Oe===F.length)return s($,Ce),Ie&&gr($,Oe),Ee;if(Ce===null){for(;OeOe?($e=Ce,Ce=null):$e=Ce.sibling;var da=W($,Ce,Ge.value,ae);if(da===null){Ce===null&&(Ce=$e);break}t&&Ce&&da.alternate===null&&r($,Ce),P=b(da,P,Oe),Ve===null?Ee=da:Ve.sibling=da,Ve=da,Ce=$e}if(Ge.done)return s($,Ce),Ie&&gr($,Oe),Ee;if(Ce===null){for(;!Ge.done;Oe++,Ge=F.next())Ge=le($,Ge.value,ae),Ge!==null&&(P=b(Ge,P,Oe),Ve===null?Ee=Ge:Ve.sibling=Ge,Ve=Ge);return Ie&&gr($,Oe),Ee}for(Ce=u(Ce);!Ge.done;Oe++,Ge=F.next())Ge=X(Ce,$,Oe,Ge.value,ae),Ge!==null&&(t&&Ge.alternate!==null&&Ce.delete(Ge.key===null?Oe:Ge.key),P=b(Ge,P,Oe),Ve===null?Ee=Ge:Ve.sibling=Ge,Ve=Ge);return t&&Ce.forEach(function(TN){return r($,TN)}),Ie&&gr($,Oe),Ee}function tt($,P,F,ae){if(typeof F=="object"&&F!==null&&F.type===C&&F.key===null&&(F=F.props.children),typeof F=="object"&&F!==null){switch(F.$$typeof){case S:e:{for(var Ee=F.key;P!==null;){if(P.key===Ee){if(Ee=F.type,Ee===C){if(P.tag===7){s($,P.sibling),ae=g(P,F.props.children),ae.return=$,$=ae;break e}}else if(P.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===U&&$a(Ee)===P.type){s($,P.sibling),ae=g(P,F.props),Js(ae,F),ae.return=$,$=ae;break e}s($,P);break}else r($,P);P=P.sibling}F.type===C?(ae=Da(F.props.children,$.mode,ae,F.key),ae.return=$,$=ae):(ae=zi(F.type,F.key,F.props,null,$.mode,ae),Js(ae,F),ae.return=$,$=ae)}return w($);case j:e:{for(Ee=F.key;P!==null;){if(P.key===Ee)if(P.tag===4&&P.stateNode.containerInfo===F.containerInfo&&P.stateNode.implementation===F.implementation){s($,P.sibling),ae=g(P,F.children||[]),ae.return=$,$=ae;break e}else{s($,P);break}else r($,P);P=P.sibling}ae=Yd(F,$.mode,ae),ae.return=$,$=ae}return w($);case U:return F=$a(F),tt($,P,F,ae)}if(he(F))return we($,P,F,ae);if(fe(F)){if(Ee=fe(F),typeof Ee!="function")throw Error(o(150));return F=Ee.call(F),Ne($,P,F,ae)}if(typeof F.then=="function")return tt($,P,Vi(F),ae);if(F.$$typeof===A)return tt($,P,$i($,F),ae);Gi($,F)}return typeof F=="string"&&F!==""||typeof F=="number"||typeof F=="bigint"?(F=""+F,P!==null&&P.tag===6?(s($,P.sibling),ae=g(P,F),ae.return=$,$=ae):(s($,P),ae=Fd(F,$.mode,ae),ae.return=$,$=ae),w($)):s($,P)}return function($,P,F,ae){try{Qs=0;var Ee=tt($,P,F,ae);return zo=null,Ee}catch(Ce){if(Ce===Lo||Ce===Ui)throw Ce;var Ve=fn(29,Ce,null,$.mode);return Ve.lanes=ae,Ve.return=$,Ve}finally{}}}var Ua=kv(!0),Tv=kv(!1),qr=!1;function af(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function of(t,r){t=t.updateQueue,r.updateQueue===t&&(r.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Kr(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Xr(t,r,s){var u=t.updateQueue;if(u===null)return null;if(u=u.shared,(Ye&2)!==0){var g=u.pending;return g===null?r.next=r:(r.next=g.next,g.next=r),u.pending=r,r=Li(t),dv(t,null,s),r}return Di(t,u,r,s),Li(t)}function el(t,r,s){if(r=r.updateQueue,r!==null&&(r=r.shared,(s&4194048)!==0)){var u=r.lanes;u&=t.pendingLanes,s|=u,r.lanes=s,Qt(t,s)}}function sf(t,r){var s=t.updateQueue,u=t.alternate;if(u!==null&&(u=u.updateQueue,s===u)){var g=null,b=null;if(s=s.firstBaseUpdate,s!==null){do{var w={lane:s.lane,tag:s.tag,payload:s.payload,callback:null,next:null};b===null?g=b=w:b=b.next=w,s=s.next}while(s!==null);b===null?g=b=r:b=b.next=r}else g=b=r;s={baseState:u.baseState,firstBaseUpdate:g,lastBaseUpdate:b,shared:u.shared,callbacks:u.callbacks},t.updateQueue=s;return}t=s.lastBaseUpdate,t===null?s.firstBaseUpdate=r:t.next=r,s.lastBaseUpdate=r}var lf=!1;function tl(){if(lf){var t=Do;if(t!==null)throw t}}function nl(t,r,s,u){lf=!1;var g=t.updateQueue;qr=!1;var b=g.firstBaseUpdate,w=g.lastBaseUpdate,T=g.shared.pending;if(T!==null){g.shared.pending=null;var D=T,Y=D.next;D.next=null,w===null?b=Y:w.next=Y,w=D;var te=t.alternate;te!==null&&(te=te.updateQueue,T=te.lastBaseUpdate,T!==w&&(T===null?te.firstBaseUpdate=Y:T.next=Y,te.lastBaseUpdate=D))}if(b!==null){var le=g.baseState;w=0,te=Y=D=null,T=b;do{var W=T.lane&-536870913,X=W!==T.lane;if(X?(Be&W)===W:(u&W)===W){W!==0&&W===Oo&&(lf=!0),te!==null&&(te=te.next={lane:0,tag:T.tag,payload:T.payload,callback:null,next:null});e:{var we=t,Ne=T;W=r;var tt=s;switch(Ne.tag){case 1:if(we=Ne.payload,typeof we=="function"){le=we.call(tt,le,W);break e}le=we;break e;case 3:we.flags=we.flags&-65537|128;case 0:if(we=Ne.payload,W=typeof we=="function"?we.call(tt,le,W):we,W==null)break e;le=v({},le,W);break e;case 2:qr=!0}}W=T.callback,W!==null&&(t.flags|=64,X&&(t.flags|=8192),X=g.callbacks,X===null?g.callbacks=[W]:X.push(W))}else X={lane:W,tag:T.tag,payload:T.payload,callback:T.callback,next:null},te===null?(Y=te=X,D=le):te=te.next=X,w|=W;if(T=T.next,T===null){if(T=g.shared.pending,T===null)break;X=T,T=X.next,X.next=null,g.lastBaseUpdate=X,g.shared.pending=null}}while(!0);te===null&&(D=le),g.baseState=D,g.firstBaseUpdate=Y,g.lastBaseUpdate=te,b===null&&(g.shared.lanes=0),ta|=w,t.lanes=w,t.memoizedState=le}}function Rv(t,r){if(typeof t!="function")throw Error(o(191,t));t.call(r)}function Av(t,r){var s=t.callbacks;if(s!==null)for(t.callbacks=null,t=0;tb?b:8;var w=M.T,T={};M.T=T,kf(t,!1,r,s);try{var D=g(),Y=M.S;if(Y!==null&&Y(T,D),D!==null&&typeof D=="object"&&typeof D.then=="function"){var te=vE(D,u);ol(t,r,te,vn(t))}else ol(t,r,u,vn(t))}catch(le){ol(t,r,{then:function(){},status:"rejected",reason:le},vn())}finally{K.p=b,w!==null&&T.types!==null&&(w.types=T.types),M.T=w}}function CE(){}function Ef(t,r,s,u){if(t.tag!==5)throw Error(o(476));var g=ib(t).queue;lb(t,g,r,re,s===null?CE:function(){return cb(t),s(u)})}function ib(t){var r=t.memoizedState;if(r!==null)return r;r={memoizedState:re,baseState:re,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:xr,lastRenderedState:re},next:null};var s={};return r.next={memoizedState:s,baseState:s,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:xr,lastRenderedState:s},next:null},t.memoizedState=r,t=t.alternate,t!==null&&(t.memoizedState=r),r}function cb(t){var r=ib(t);r.next===null&&(r=t.alternate.memoizedState),ol(t,r.next.queue,{},vn())}function Nf(){return Pt(wl)}function ub(){return bt().memoizedState}function db(){return bt().memoizedState}function jE(t){for(var r=t.return;r!==null;){switch(r.tag){case 24:case 3:var s=vn();t=Kr(s);var u=Xr(r,t,s);u!==null&&(sn(u,r,s),el(u,r,s)),r={cache:ef()},t.payload=r;return}r=r.return}}function EE(t,r,s){var u=vn();s={lane:u,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},ec(t)?mb(r,s):(s=Vd(t,r,s,u),s!==null&&(sn(s,t,u),pb(s,r,u)))}function fb(t,r,s){var u=vn();ol(t,r,s,u)}function ol(t,r,s,u){var g={lane:u,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null};if(ec(t))mb(r,g);else{var b=t.alternate;if(t.lanes===0&&(b===null||b.lanes===0)&&(b=r.lastRenderedReducer,b!==null))try{var w=r.lastRenderedState,T=b(w,s);if(g.hasEagerState=!0,g.eagerState=T,dn(T,w))return Di(t,r,g,0),nt===null&&Oi(),!1}catch{}finally{}if(s=Vd(t,r,g,u),s!==null)return sn(s,t,u),pb(s,r,u),!0}return!1}function kf(t,r,s,u){if(u={lane:2,revertLane:om(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},ec(t)){if(r)throw Error(o(479))}else r=Vd(t,s,u,2),r!==null&&sn(r,t,2)}function ec(t){var r=t.alternate;return t===Me||r!==null&&r===Me}function mb(t,r){Bo=Wi=!0;var s=t.pending;s===null?r.next=r:(r.next=s.next,s.next=r),t.pending=r}function pb(t,r,s){if((s&4194048)!==0){var u=r.lanes;u&=t.pendingLanes,s|=u,r.lanes=s,Qt(t,s)}}var sl={readContext:Pt,use:Xi,useCallback:ht,useContext:ht,useEffect:ht,useImperativeHandle:ht,useLayoutEffect:ht,useInsertionEffect:ht,useMemo:ht,useReducer:ht,useRef:ht,useState:ht,useDebugValue:ht,useDeferredValue:ht,useTransition:ht,useSyncExternalStore:ht,useId:ht,useHostTransitionStatus:ht,useFormState:ht,useActionState:ht,useOptimistic:ht,useMemoCache:ht,useCacheRefresh:ht};sl.useEffectEvent=ht;var hb={readContext:Pt,use:Xi,useCallback:function(t,r){return Kt().memoizedState=[t,r===void 0?null:r],t},useContext:Pt,useEffect:Qv,useImperativeHandle:function(t,r,s){s=s!=null?s.concat([t]):null,Qi(4194308,4,nb.bind(null,r,t),s)},useLayoutEffect:function(t,r){return Qi(4194308,4,t,r)},useInsertionEffect:function(t,r){Qi(4,2,t,r)},useMemo:function(t,r){var s=Kt();r=r===void 0?null:r;var u=t();if(Ha){$n(!0);try{t()}finally{$n(!1)}}return s.memoizedState=[u,r],u},useReducer:function(t,r,s){var u=Kt();if(s!==void 0){var g=s(r);if(Ha){$n(!0);try{s(r)}finally{$n(!1)}}}else g=r;return u.memoizedState=u.baseState=g,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:g},u.queue=t,t=t.dispatch=EE.bind(null,Me,t),[u.memoizedState,t]},useRef:function(t){var r=Kt();return t={current:t},r.memoizedState=t},useState:function(t){t=xf(t);var r=t.queue,s=fb.bind(null,Me,r);return r.dispatch=s,[t.memoizedState,s]},useDebugValue:Cf,useDeferredValue:function(t,r){var s=Kt();return jf(s,t,r)},useTransition:function(){var t=xf(!1);return t=lb.bind(null,Me,t.queue,!0,!1),Kt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,r,s){var u=Me,g=Kt();if(Ie){if(s===void 0)throw Error(o(407));s=s()}else{if(s=r(),nt===null)throw Error(o(349));(Be&127)!==0||zv(u,r,s)}g.memoizedState=s;var b={value:s,getSnapshot:r};return g.queue=b,Qv(Bv.bind(null,u,b,t),[t]),u.flags|=2048,Io(9,{destroy:void 0},Pv.bind(null,u,b,s,r),null),s},useId:function(){var t=Kt(),r=nt.identifierPrefix;if(Ie){var s=Jn,u=Qn;s=(u&~(1<<32-Ht(u)-1)).toString(32)+s,r="_"+r+"R_"+s,s=qi++,0<\/script>",b=b.removeChild(b.firstChild);break;case"select":b=typeof u.is=="string"?w.createElement("select",{is:u.is}):w.createElement("select"),u.multiple?b.multiple=!0:u.size&&(b.size=u.size);break;default:b=typeof u.is=="string"?w.createElement(g,{is:u.is}):w.createElement(g)}}b[Lt]=r,b[en]=u;e:for(w=r.child;w!==null;){if(w.tag===5||w.tag===6)b.appendChild(w.stateNode);else if(w.tag!==4&&w.tag!==27&&w.child!==null){w.child.return=w,w=w.child;continue}if(w===r)break e;for(;w.sibling===null;){if(w.return===null||w.return===r)break e;w=w.return}w.sibling.return=w.return,w=w.sibling}r.stateNode=b;e:switch($t(b,g,u),g){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break e;case"img":u=!0;break e;default:u=!1}u&&wr(r)}}return it(r),Uf(r,r.type,t===null?null:t.memoizedProps,r.pendingProps,s),null;case 6:if(t&&r.stateNode!=null)t.memoizedProps!==u&&wr(r);else{if(typeof u!="string"&&r.stateNode===null)throw Error(o(166));if(t=ne.current,_o(r)){if(t=r.stateNode,s=r.memoizedProps,u=null,g=zt,g!==null)switch(g.tag){case 27:case 5:u=g.memoizedProps}t[Lt]=r,t=!!(t.nodeValue===s||u!==null&&u.suppressHydrationWarning===!0||Dy(t.nodeValue,s)),t||Yr(r,!0)}else t=xc(t).createTextNode(u),t[Lt]=r,r.stateNode=t}return it(r),null;case 31:if(s=r.memoizedState,t===null||t.memoizedState!==null){if(u=_o(r),s!==null){if(t===null){if(!u)throw Error(o(318));if(t=r.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(o(557));t[Lt]=r}else La(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;it(r),t=!1}else s=Xd(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=s),t=!0;if(!t)return r.flags&256?(pn(r),r):(pn(r),null);if((r.flags&128)!==0)throw Error(o(558))}return it(r),null;case 13:if(u=r.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(g=_o(r),u!==null&&u.dehydrated!==null){if(t===null){if(!g)throw Error(o(318));if(g=r.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(o(317));g[Lt]=r}else La(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;it(r),g=!1}else g=Xd(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=g),g=!0;if(!g)return r.flags&256?(pn(r),r):(pn(r),null)}return pn(r),(r.flags&128)!==0?(r.lanes=s,r):(s=u!==null,t=t!==null&&t.memoizedState!==null,s&&(u=r.child,g=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(g=u.alternate.memoizedState.cachePool.pool),b=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(b=u.memoizedState.cachePool.pool),b!==g&&(u.flags|=2048)),s!==t&&s&&(r.child.flags|=8192),oc(r,r.updateQueue),it(r),null);case 4:return pe(),t===null&&cm(r.stateNode.containerInfo),it(r),null;case 10:return br(r.type),it(r),null;case 19:if(O(vt),u=r.memoizedState,u===null)return it(r),null;if(g=(r.flags&128)!==0,b=u.rendering,b===null)if(g)il(u,!1);else{if(gt!==0||t!==null&&(t.flags&128)!==0)for(t=r.child;t!==null;){if(b=Yi(t),b!==null){for(r.flags|=128,il(u,!1),t=b.updateQueue,r.updateQueue=t,oc(r,t),r.subtreeFlags=0,t=s,s=r.child;s!==null;)fv(s,t),s=s.sibling;return H(vt,vt.current&1|2),Ie&&gr(r,u.treeForkCount),r.child}t=t.sibling}u.tail!==null&&Wt()>uc&&(r.flags|=128,g=!0,il(u,!1),r.lanes=4194304)}else{if(!g)if(t=Yi(b),t!==null){if(r.flags|=128,g=!0,t=t.updateQueue,r.updateQueue=t,oc(r,t),il(u,!0),u.tail===null&&u.tailMode==="hidden"&&!b.alternate&&!Ie)return it(r),null}else 2*Wt()-u.renderingStartTime>uc&&s!==536870912&&(r.flags|=128,g=!0,il(u,!1),r.lanes=4194304);u.isBackwards?(b.sibling=r.child,r.child=b):(t=u.last,t!==null?t.sibling=b:r.child=b,u.last=b)}return u.tail!==null?(t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=Wt(),t.sibling=null,s=vt.current,H(vt,g?s&1|2:s&1),Ie&&gr(r,u.treeForkCount),t):(it(r),null);case 22:case 23:return pn(r),uf(),u=r.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(r.flags|=8192):u&&(r.flags|=8192),u?(s&536870912)!==0&&(r.flags&128)===0&&(it(r),r.subtreeFlags&6&&(r.flags|=8192)):it(r),s=r.updateQueue,s!==null&&oc(r,s.retryQueue),s=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),u=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(u=r.memoizedState.cachePool.pool),u!==s&&(r.flags|=2048),t!==null&&O(Ba),null;case 24:return s=null,t!==null&&(s=t.memoizedState.cache),r.memoizedState.cache!==s&&(r.flags|=2048),br(yt),it(r),null;case 25:return null;case 30:return null}throw Error(o(156,r.tag))}function AE(t,r){switch(qd(r),r.tag){case 1:return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 3:return br(yt),pe(),t=r.flags,(t&65536)!==0&&(t&128)===0?(r.flags=t&-65537|128,r):null;case 26:case 27:case 5:return se(r),null;case 31:if(r.memoizedState!==null){if(pn(r),r.alternate===null)throw Error(o(340));La()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 13:if(pn(r),t=r.memoizedState,t!==null&&t.dehydrated!==null){if(r.alternate===null)throw Error(o(340));La()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 19:return O(vt),null;case 4:return pe(),null;case 10:return br(r.type),null;case 22:case 23:return pn(r),uf(),t!==null&&O(Ba),t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 24:return br(yt),null;case 25:return null;default:return null}}function $b(t,r){switch(qd(r),r.tag){case 3:br(yt),pe();break;case 26:case 27:case 5:se(r);break;case 4:pe();break;case 31:r.memoizedState!==null&&pn(r);break;case 13:pn(r);break;case 19:O(vt);break;case 10:br(r.type);break;case 22:case 23:pn(r),uf(),t!==null&&O(Ba);break;case 24:br(yt)}}function cl(t,r){try{var s=r.updateQueue,u=s!==null?s.lastEffect:null;if(u!==null){var g=u.next;s=g;do{if((s.tag&t)===t){u=void 0;var b=s.create,w=s.inst;u=b(),w.destroy=u}s=s.next}while(s!==g)}}catch(T){Xe(r,r.return,T)}}function Jr(t,r,s){try{var u=r.updateQueue,g=u!==null?u.lastEffect:null;if(g!==null){var b=g.next;u=b;do{if((u.tag&t)===t){var w=u.inst,T=w.destroy;if(T!==void 0){w.destroy=void 0,g=r;var D=s,Y=T;try{Y()}catch(te){Xe(g,D,te)}}}u=u.next}while(u!==b)}}catch(te){Xe(r,r.return,te)}}function Ib(t){var r=t.updateQueue;if(r!==null){var s=t.stateNode;try{Av(r,s)}catch(u){Xe(t,t.return,u)}}}function Ub(t,r,s){s.props=Va(t.type,t.memoizedProps),s.state=t.memoizedState;try{s.componentWillUnmount()}catch(u){Xe(t,r,u)}}function ul(t,r){try{var s=t.ref;if(s!==null){switch(t.tag){case 26:case 27:case 5:var u=t.stateNode;break;case 30:u=t.stateNode;break;default:u=t.stateNode}typeof s=="function"?t.refCleanup=s(u):s.current=u}}catch(g){Xe(t,r,g)}}function er(t,r){var s=t.ref,u=t.refCleanup;if(s!==null)if(typeof u=="function")try{u()}catch(g){Xe(t,r,g)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof s=="function")try{s(null)}catch(g){Xe(t,r,g)}else s.current=null}function Hb(t){var r=t.type,s=t.memoizedProps,u=t.stateNode;try{e:switch(r){case"button":case"input":case"select":case"textarea":s.autoFocus&&u.focus();break e;case"img":s.src?u.src=s.src:s.srcSet&&(u.srcset=s.srcSet)}}catch(g){Xe(t,t.return,g)}}function Hf(t,r,s){try{var u=t.stateNode;QE(u,t.type,s,r),u[en]=r}catch(g){Xe(t,t.return,g)}}function Vb(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&sa(t.type)||t.tag===4}function Vf(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Vb(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&sa(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Gf(t,r,s){var u=t.tag;if(u===5||u===6)t=t.stateNode,r?(s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s).insertBefore(t,r):(r=s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s,r.appendChild(t),s=s._reactRootContainer,s!=null||r.onclick!==null||(r.onclick=mr));else if(u!==4&&(u===27&&sa(t.type)&&(s=t.stateNode,r=null),t=t.child,t!==null))for(Gf(t,r,s),t=t.sibling;t!==null;)Gf(t,r,s),t=t.sibling}function sc(t,r,s){var u=t.tag;if(u===5||u===6)t=t.stateNode,r?s.insertBefore(t,r):s.appendChild(t);else if(u!==4&&(u===27&&sa(t.type)&&(s=t.stateNode),t=t.child,t!==null))for(sc(t,r,s),t=t.sibling;t!==null;)sc(t,r,s),t=t.sibling}function Gb(t){var r=t.stateNode,s=t.memoizedProps;try{for(var u=t.type,g=r.attributes;g.length;)r.removeAttributeNode(g[0]);$t(r,u,s),r[Lt]=t,r[en]=s}catch(b){Xe(t,t.return,b)}}var Cr=!1,wt=!1,Ff=!1,Fb=typeof WeakSet=="function"?WeakSet:Set,Mt=null;function _E(t,r){if(t=t.containerInfo,fm=kc,t=rv(t),Pd(t)){if("selectionStart"in t)var s={start:t.selectionStart,end:t.selectionEnd};else e:{s=(s=t.ownerDocument)&&s.defaultView||window;var u=s.getSelection&&s.getSelection();if(u&&u.rangeCount!==0){s=u.anchorNode;var g=u.anchorOffset,b=u.focusNode;u=u.focusOffset;try{s.nodeType,b.nodeType}catch{s=null;break e}var w=0,T=-1,D=-1,Y=0,te=0,le=t,W=null;t:for(;;){for(var X;le!==s||g!==0&&le.nodeType!==3||(T=w+g),le!==b||u!==0&&le.nodeType!==3||(D=w+u),le.nodeType===3&&(w+=le.nodeValue.length),(X=le.firstChild)!==null;)W=le,le=X;for(;;){if(le===t)break t;if(W===s&&++Y===g&&(T=w),W===b&&++te===u&&(D=w),(X=le.nextSibling)!==null)break;le=W,W=le.parentNode}le=X}s=T===-1||D===-1?null:{start:T,end:D}}else s=null}s=s||{start:0,end:0}}else s=null;for(mm={focusedElem:t,selectionRange:s},kc=!1,Mt=r;Mt!==null;)if(r=Mt,t=r.child,(r.subtreeFlags&1028)!==0&&t!==null)t.return=r,Mt=t;else for(;Mt!==null;){switch(r=Mt,b=r.alternate,t=r.flags,r.tag){case 0:if((t&4)!==0&&(t=r.updateQueue,t=t!==null?t.events:null,t!==null))for(s=0;s title"))),$t(b,u,s),b[Lt]=t,_t(b),u=b;break e;case"link":var w=Zy("link","href",g).get(u+(s.href||""));if(w){for(var T=0;Ttt&&(w=tt,tt=Ne,Ne=w);var $=tv(T,Ne),P=tv(T,tt);if($&&P&&(X.rangeCount!==1||X.anchorNode!==$.node||X.anchorOffset!==$.offset||X.focusNode!==P.node||X.focusOffset!==P.offset)){var F=le.createRange();F.setStart($.node,$.offset),X.removeAllRanges(),Ne>tt?(X.addRange(F),X.extend(P.node,P.offset)):(F.setEnd(P.node,P.offset),X.addRange(F))}}}}for(le=[],X=T;X=X.parentNode;)X.nodeType===1&&le.push({element:X,left:X.scrollLeft,top:X.scrollTop});for(typeof T.focus=="function"&&T.focus(),T=0;Ts?32:s,M.T=null,s=Qf,Qf=null;var b=ra,w=Tr;if(jt=0,Fo=ra=null,Tr=0,(Ye&6)!==0)throw Error(o(331));var T=Ye;if(Ye|=4,ny(b.current),Jb(b,b.current,w,s),Ye=T,gl(0,!1),qt&&typeof qt.onPostCommitFiberRoot=="function")try{qt.onPostCommitFiberRoot(Na,b)}catch{}return!0}finally{K.p=g,M.T=u,xy(t,r)}}function wy(t,r,s){r=kn(s,r),r=_f(t.stateNode,r,2),t=Xr(t,r,2),t!==null&&(mt(t,2),tr(t))}function Xe(t,r,s){if(t.tag===3)wy(t,t,s);else for(;r!==null;){if(r.tag===3){wy(r,t,s);break}else if(r.tag===1){var u=r.stateNode;if(typeof r.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(na===null||!na.has(u))){t=kn(s,t),s=Cb(2),u=Xr(r,s,2),u!==null&&(jb(s,u,r,t),mt(u,2),tr(u));break}}r=r.return}}function nm(t,r,s){var u=t.pingCache;if(u===null){u=t.pingCache=new DE;var g=new Set;u.set(r,g)}else g=u.get(r),g===void 0&&(g=new Set,u.set(r,g));g.has(s)||(qf=!0,g.add(s),t=$E.bind(null,t,r,s),r.then(t,t))}function $E(t,r,s){var u=t.pingCache;u!==null&&u.delete(r),t.pingedLanes|=t.suspendedLanes&s,t.warmLanes&=~s,nt===t&&(Be&s)===s&&(gt===4||gt===3&&(Be&62914560)===Be&&300>Wt()-cc?(Ye&2)===0&&Yo(t,0):Kf|=s,Go===Be&&(Go=0)),tr(t)}function Cy(t,r){r===0&&(r=Vt()),t=Oa(t,r),t!==null&&(mt(t,r),tr(t))}function IE(t){var r=t.memoizedState,s=0;r!==null&&(s=r.retryLane),Cy(t,s)}function UE(t,r){var s=0;switch(t.tag){case 31:case 13:var u=t.stateNode,g=t.memoizedState;g!==null&&(s=g.retryLane);break;case 19:u=t.stateNode;break;case 22:u=t.stateNode._retryCache;break;default:throw Error(o(314))}u!==null&&u.delete(r),Cy(t,s)}function HE(t,r){return Os(t,r)}var gc=null,qo=null,rm=!1,vc=!1,am=!1,oa=0;function tr(t){t!==qo&&t.next===null&&(qo===null?gc=qo=t:qo=qo.next=t),vc=!0,rm||(rm=!0,GE())}function gl(t,r){if(!am&&vc){am=!0;do for(var s=!1,u=gc;u!==null;){if(t!==0){var g=u.pendingLanes;if(g===0)var b=0;else{var w=u.suspendedLanes,T=u.pingedLanes;b=(1<<31-Ht(42|t)+1)-1,b&=g&~(w&~T),b=b&201326741?b&201326741|1:b?b|2:0}b!==0&&(s=!0,ky(u,b))}else b=Be,b=Te(u,u===nt?b:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),(b&3)===0||ut(u,b)||(s=!0,ky(u,b));u=u.next}while(s);am=!1}}function VE(){jy()}function jy(){vc=rm=!1;var t=0;oa!==0&&eN()&&(t=oa);for(var r=Wt(),s=null,u=gc;u!==null;){var g=u.next,b=Ey(u,r);b===0?(u.next=null,s===null?gc=g:s.next=g,g===null&&(qo=s)):(s=u,(t!==0||(b&3)!==0)&&(vc=!0)),u=g}jt!==0&&jt!==5||gl(t),oa!==0&&(oa=0)}function Ey(t,r){for(var s=t.suspendedLanes,u=t.pingedLanes,g=t.expirationTimes,b=t.pendingLanes&-62914561;0T)break;var te=D.transferSize,le=D.initiatorType;te&&Ly(le)&&(D=D.responseEnd,w+=te*(D"u"?null:document;function Wy(t,r,s){var u=Ko;if(u&&typeof r=="string"&&r){var g=En(r);g='link[rel="'+t+'"][href="'+g+'"]',typeof s=="string"&&(g+='[crossorigin="'+s+'"]'),Yy.has(g)||(Yy.add(g),t={rel:t,crossOrigin:s,href:r},u.querySelector(g)===null&&(r=u.createElement("link"),$t(r,"link",t),_t(r),u.head.appendChild(r)))}}function cN(t){Rr.D(t),Wy("dns-prefetch",t,null)}function uN(t,r){Rr.C(t,r),Wy("preconnect",t,r)}function dN(t,r,s){Rr.L(t,r,s);var u=Ko;if(u&&t&&r){var g='link[rel="preload"][as="'+En(r)+'"]';r==="image"&&s&&s.imageSrcSet?(g+='[imagesrcset="'+En(s.imageSrcSet)+'"]',typeof s.imageSizes=="string"&&(g+='[imagesizes="'+En(s.imageSizes)+'"]')):g+='[href="'+En(t)+'"]';var b=g;switch(r){case"style":b=Xo(t);break;case"script":b=Zo(t)}On.has(b)||(t=v({rel:"preload",href:r==="image"&&s&&s.imageSrcSet?void 0:t,as:r},s),On.set(b,t),u.querySelector(g)!==null||r==="style"&&u.querySelector(xl(b))||r==="script"&&u.querySelector(Sl(b))||(r=u.createElement("link"),$t(r,"link",t),_t(r),u.head.appendChild(r)))}}function fN(t,r){Rr.m(t,r);var s=Ko;if(s&&t){var u=r&&typeof r.as=="string"?r.as:"script",g='link[rel="modulepreload"][as="'+En(u)+'"][href="'+En(t)+'"]',b=g;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":b=Zo(t)}if(!On.has(b)&&(t=v({rel:"modulepreload",href:t},r),On.set(b,t),s.querySelector(g)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(s.querySelector(Sl(b)))return}u=s.createElement("link"),$t(u,"link",t),_t(u),s.head.appendChild(u)}}}function mN(t,r,s){Rr.S(t,r,s);var u=Ko;if(u&&t){var g=bo(u).hoistableStyles,b=Xo(t);r=r||"default";var w=g.get(b);if(!w){var T={loading:0,preload:null};if(w=u.querySelector(xl(b)))T.loading=5;else{t=v({rel:"stylesheet",href:t,"data-precedence":r},s),(s=On.get(b))&&xm(t,s);var D=w=u.createElement("link");_t(D),$t(D,"link",t),D._p=new Promise(function(Y,te){D.onload=Y,D.onerror=te}),D.addEventListener("load",function(){T.loading|=1}),D.addEventListener("error",function(){T.loading|=2}),T.loading|=4,wc(w,r,u)}w={type:"stylesheet",instance:w,count:1,state:T},g.set(b,w)}}}function pN(t,r){Rr.X(t,r);var s=Ko;if(s&&t){var u=bo(s).hoistableScripts,g=Zo(t),b=u.get(g);b||(b=s.querySelector(Sl(g)),b||(t=v({src:t,async:!0},r),(r=On.get(g))&&Sm(t,r),b=s.createElement("script"),_t(b),$t(b,"link",t),s.head.appendChild(b)),b={type:"script",instance:b,count:1,state:null},u.set(g,b))}}function hN(t,r){Rr.M(t,r);var s=Ko;if(s&&t){var u=bo(s).hoistableScripts,g=Zo(t),b=u.get(g);b||(b=s.querySelector(Sl(g)),b||(t=v({src:t,async:!0,type:"module"},r),(r=On.get(g))&&Sm(t,r),b=s.createElement("script"),_t(b),$t(b,"link",t),s.head.appendChild(b)),b={type:"script",instance:b,count:1,state:null},u.set(g,b))}}function qy(t,r,s,u){var g=(g=ne.current)?Sc(g):null;if(!g)throw Error(o(446));switch(t){case"meta":case"title":return null;case"style":return typeof s.precedence=="string"&&typeof s.href=="string"?(r=Xo(s.href),s=bo(g).hoistableStyles,u=s.get(r),u||(u={type:"style",instance:null,count:0,state:null},s.set(r,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(s.rel==="stylesheet"&&typeof s.href=="string"&&typeof s.precedence=="string"){t=Xo(s.href);var b=bo(g).hoistableStyles,w=b.get(t);if(w||(g=g.ownerDocument||g,w={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},b.set(t,w),(b=g.querySelector(xl(t)))&&!b._p&&(w.instance=b,w.state.loading=5),On.has(t)||(s={rel:"preload",as:"style",href:s.href,crossOrigin:s.crossOrigin,integrity:s.integrity,media:s.media,hrefLang:s.hrefLang,referrerPolicy:s.referrerPolicy},On.set(t,s),b||gN(g,t,s,w.state))),r&&u===null)throw Error(o(528,""));return w}if(r&&u!==null)throw Error(o(529,""));return null;case"script":return r=s.async,s=s.src,typeof s=="string"&&r&&typeof r!="function"&&typeof r!="symbol"?(r=Zo(s),s=bo(g).hoistableScripts,u=s.get(r),u||(u={type:"script",instance:null,count:0,state:null},s.set(r,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,t))}}function Xo(t){return'href="'+En(t)+'"'}function xl(t){return'link[rel="stylesheet"]['+t+"]"}function Ky(t){return v({},t,{"data-precedence":t.precedence,precedence:null})}function gN(t,r,s,u){t.querySelector('link[rel="preload"][as="style"]['+r+"]")?u.loading=1:(r=t.createElement("link"),u.preload=r,r.addEventListener("load",function(){return u.loading|=1}),r.addEventListener("error",function(){return u.loading|=2}),$t(r,"link",s),_t(r),t.head.appendChild(r))}function Zo(t){return'[src="'+En(t)+'"]'}function Sl(t){return"script[async]"+t}function Xy(t,r,s){if(r.count++,r.instance===null)switch(r.type){case"style":var u=t.querySelector('style[data-href~="'+En(s.href)+'"]');if(u)return r.instance=u,_t(u),u;var g=v({},s,{"data-href":s.href,"data-precedence":s.precedence,href:null,precedence:null});return u=(t.ownerDocument||t).createElement("style"),_t(u),$t(u,"style",g),wc(u,s.precedence,t),r.instance=u;case"stylesheet":g=Xo(s.href);var b=t.querySelector(xl(g));if(b)return r.state.loading|=4,r.instance=b,_t(b),b;u=Ky(s),(g=On.get(g))&&xm(u,g),b=(t.ownerDocument||t).createElement("link"),_t(b);var w=b;return w._p=new Promise(function(T,D){w.onload=T,w.onerror=D}),$t(b,"link",u),r.state.loading|=4,wc(b,s.precedence,t),r.instance=b;case"script":return b=Zo(s.src),(g=t.querySelector(Sl(b)))?(r.instance=g,_t(g),g):(u=s,(g=On.get(b))&&(u=v({},s),Sm(u,g)),t=t.ownerDocument||t,g=t.createElement("script"),_t(g),$t(g,"link",u),t.head.appendChild(g),r.instance=g);case"void":return null;default:throw Error(o(443,r.type))}else r.type==="stylesheet"&&(r.state.loading&4)===0&&(u=r.instance,r.state.loading|=4,wc(u,s.precedence,t));return r.instance}function wc(t,r,s){for(var u=s.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),g=u.length?u[u.length-1]:null,b=g,w=0;w title"):null)}function vN(t,r,s){if(s===1||r.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof r.precedence!="string"||typeof r.href!="string"||r.href==="")break;return!0;case"link":if(typeof r.rel!="string"||typeof r.href!="string"||r.href===""||r.onLoad||r.onError)break;switch(r.rel){case"stylesheet":return t=r.disabled,typeof r.precedence=="string"&&t==null;default:return!0}case"script":if(r.async&&typeof r.async!="function"&&typeof r.async!="symbol"&&!r.onLoad&&!r.onError&&r.src&&typeof r.src=="string")return!0}return!1}function Jy(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function bN(t,r,s,u){if(s.type==="stylesheet"&&(typeof u.media!="string"||matchMedia(u.media).matches!==!1)&&(s.state.loading&4)===0){if(s.instance===null){var g=Xo(u.href),b=r.querySelector(xl(g));if(b){r=b._p,r!==null&&typeof r=="object"&&typeof r.then=="function"&&(t.count++,t=jc.bind(t),r.then(t,t)),s.state.loading|=4,s.instance=b,_t(b);return}b=r.ownerDocument||r,u=Ky(u),(g=On.get(g))&&xm(u,g),b=b.createElement("link"),_t(b);var w=b;w._p=new Promise(function(T,D){w.onload=T,w.onerror=D}),$t(b,"link",u),s.instance=b}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(s,r),(r=s.state.preload)&&(s.state.loading&3)===0&&(t.count++,s=jc.bind(t),r.addEventListener("load",s),r.addEventListener("error",s))}}var wm=0;function yN(t,r){return t.stylesheets&&t.count===0&&Nc(t,t.stylesheets),0wm?50:800)+r);return t.unsuspend=s,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(g)}}:null}function jc(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Nc(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Ec=null;function Nc(t,r){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Ec=new Map,r.forEach(xN,t),Ec=null,jc.call(t))}function xN(t,r){if(!(r.state.loading&4)){var s=Ec.get(t);if(s)var u=s.get(null);else{s=new Map,Ec.set(t,s);for(var g=t.querySelectorAll("link[data-precedence],style[data-precedence]"),b=0;b"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),_m.exports=BN(),_m.exports}var IN=$N();/**
- * react-router v7.15.1
- *
- * Copyright (c) Remix Software Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE.md file in the root directory of this source tree.
- *
- * @license MIT
- */var j1="popstate";function E1(e){return typeof e=="object"&&e!=null&&"pathname"in e&&"search"in e&&"hash"in e&&"state"in e&&"key"in e}function UN(e={}){function n(o,l){var p;let i=(p=l.state)==null?void 0:p.masked,{pathname:d,search:m,hash:h}=i||o.location;return pp("",{pathname:d,search:m,hash:h},l.state&&l.state.usr||null,l.state&&l.state.key||"default",i?{pathname:o.location.pathname,search:o.location.search,hash:o.location.hash}:void 0)}function a(o,l){return typeof l=="string"?l:Il(l)}return VN(n,a,null,e)}function ft(e,n){if(e===!1||e===null||typeof e>"u")throw new Error(n)}function Pn(e,n){if(!e){typeof console<"u"&&console.warn(n);try{throw new Error(n)}catch{}}}function HN(){return Math.random().toString(36).substring(2,10)}function N1(e,n){return{usr:e.state,key:e.key,idx:n,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function pp(e,n,a=null,o,l){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof n=="string"?ws(n):n,state:a,key:n&&n.key||o||HN(),mask:l}}function Il({pathname:e="/",search:n="",hash:a=""}){return n&&n!=="?"&&(e+=n.charAt(0)==="?"?n:"?"+n),a&&a!=="#"&&(e+=a.charAt(0)==="#"?a:"#"+a),e}function ws(e){let n={};if(e){let a=e.indexOf("#");a>=0&&(n.hash=e.substring(a),e=e.substring(0,a));let o=e.indexOf("?");o>=0&&(n.search=e.substring(o),e=e.substring(0,o)),e&&(n.pathname=e)}return n}function VN(e,n,a,o={}){let{window:l=document.defaultView,v5Compat:i=!1}=o,d=l.history,m="POP",h=null,p=y();p==null&&(p=0,d.replaceState({...d.state,idx:p},""));function y(){return(d.state||{idx:null}).idx}function v(){m="POP";let N=y(),E=N==null?null:N-p;p=N,h&&h({action:m,location:C.location,delta:E})}function x(N,E){m="PUSH";let k=E1(N)?N:pp(C.location,N,E);p=y()+1;let A=N1(k,p),R=C.createHref(k.mask||k);try{d.pushState(A,"",R)}catch(L){if(L instanceof DOMException&&L.name==="DataCloneError")throw L;l.location.assign(R)}i&&h&&h({action:m,location:C.location,delta:1})}function S(N,E){m="REPLACE";let k=E1(N)?N:pp(C.location,N,E);p=y();let A=N1(k,p),R=C.createHref(k.mask||k);d.replaceState(A,"",R),i&&h&&h({action:m,location:C.location,delta:0})}function j(N){return GN(N)}let C={get action(){return m},get location(){return e(l,d)},listen(N){if(h)throw new Error("A history only accepts one active listener");return l.addEventListener(j1,v),h=N,()=>{l.removeEventListener(j1,v),h=null}},createHref(N){return n(l,N)},createURL:j,encodeLocation(N){let E=j(N);return{pathname:E.pathname,search:E.search,hash:E.hash}},push:x,replace:S,go(N){return d.go(N)}};return C}function GN(e,n=!1){let a="http://localhost";typeof window<"u"&&(a=window.location.origin!=="null"?window.location.origin:window.location.href),ft(a,"No window.location.(origin|href) available to create URL");let o=typeof e=="string"?e:Il(e);return o=o.replace(/ $/,"%20"),!n&&o.startsWith("//")&&(o=a+o),new URL(o,a)}function Qx(e,n,a="/"){return FN(e,n,a,!1)}function FN(e,n,a,o,l){let i=typeof n=="string"?ws(n):n,d=Or(i.pathname||"/",a);if(d==null)return null;let m=YN(e),h=null,p=a3(d);for(let y=0;h==null&&y{let y={relativePath:p===void 0?d.path||"":p,caseSensitive:d.caseSensitive===!0,childrenIndex:m,route:d};if(y.relativePath.startsWith("/")){if(!y.relativePath.startsWith(o)&&h)return;ft(y.relativePath.startsWith(o),`Absolute route path "${y.relativePath}" nested under path "${o}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),y.relativePath=y.relativePath.slice(o.length)}let v=Fn([o,y.relativePath]),x=a.concat(y);d.children&&d.children.length>0&&(ft(d.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${v}".`),Jx(d.children,n,x,v,h)),!(d.path==null&&!d.index)&&n.push({path:v,score:e3(v,d.index),routesMeta:x})};return e.forEach((d,m)=>{var h;if(d.path===""||!((h=d.path)!=null&&h.includes("?")))i(d,m);else for(let p of e0(d.path))i(d,m,!0,p)}),n}function e0(e){let n=e.split("/");if(n.length===0)return[];let[a,...o]=n,l=a.endsWith("?"),i=a.replace(/\?$/,"");if(o.length===0)return l?[i,""]:[i];let d=e0(o.join("/")),m=[];return m.push(...d.map(h=>h===""?i:[i,h].join("/"))),l&&m.push(...d),m.map(h=>e.startsWith("/")&&h===""?"/":h)}function WN(e){e.sort((n,a)=>n.score!==a.score?a.score-n.score:t3(n.routesMeta.map(o=>o.childrenIndex),a.routesMeta.map(o=>o.childrenIndex)))}var qN=/^:[\w-]+$/,KN=3,XN=2,ZN=1,QN=10,JN=-2,k1=e=>e==="*";function e3(e,n){let a=e.split("/"),o=a.length;return a.some(k1)&&(o+=JN),n&&(o+=XN),a.filter(l=>!k1(l)).reduce((l,i)=>l+(qN.test(i)?KN:i===""?ZN:QN),o)}function t3(e,n){return e.length===n.length&&e.slice(0,-1).every((o,l)=>o===n[l])?e[e.length-1]-n[n.length-1]:0}function n3(e,n,a=!1){let{routesMeta:o}=e,l={},i="/",d=[];for(let m=0;m{if(y==="*"){let j=m[x]||"";d=i.slice(0,i.length-j.length).replace(/(.)\/+$/,"$1")}const S=m[x];return v&&!S?p[y]=void 0:p[y]=(S||"").replace(/%2F/g,"/"),p},{}),pathname:i,pathnameBase:d,pattern:e}}function r3(e,n=!1,a=!0){Pn(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let o=[],l="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(d,m,h,p,y)=>{if(o.push({paramName:m,isOptional:h!=null}),h){let v=y.charAt(p+d.length);return v&&v!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(o.push({paramName:"*"}),l+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?l+="\\/*$":e!==""&&e!=="/"&&(l+="(?:(?=\\/|$))"),[new RegExp(l,n?void 0:"i"),o]}function a3(e){try{return e.split("/").map(n=>decodeURIComponent(n).replace(/\//g,"%2F")).join("/")}catch(n){return Pn(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${n}).`),e}}function Or(e,n){if(n==="/")return e;if(!e.toLowerCase().startsWith(n.toLowerCase()))return null;let a=n.endsWith("/")?n.length-1:n.length,o=e.charAt(a);return o&&o!=="/"?null:e.slice(a)||"/"}var o3=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function s3(e,n="/"){let{pathname:a,search:o="",hash:l=""}=typeof e=="string"?ws(e):e,i;return a?(a=t0(a),a.startsWith("/")?i=T1(a.substring(1),"/"):i=T1(a,n)):i=n,{pathname:i,search:c3(o),hash:u3(l)}}function T1(e,n){let a=ou(n).split("/");return e.split("/").forEach(l=>{l===".."?a.length>1&&a.pop():l!=="."&&a.push(l)}),a.length>1?a.join("/"):"/"}function Lm(e,n,a,o){return`Cannot include a '${e}' character in a manually specified \`to.${n}\` field [${JSON.stringify(o)}]. Please separate it out to the \`to.${a}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function l3(e){return e.filter((n,a)=>a===0||n.route.path&&n.route.path.length>0)}function rh(e){let n=l3(e);return n.map((a,o)=>o===n.length-1?a.pathname:a.pathnameBase)}function ju(e,n,a,o=!1){let l;typeof e=="string"?l=ws(e):(l={...e},ft(!l.pathname||!l.pathname.includes("?"),Lm("?","pathname","search",l)),ft(!l.pathname||!l.pathname.includes("#"),Lm("#","pathname","hash",l)),ft(!l.search||!l.search.includes("#"),Lm("#","search","hash",l)));let i=e===""||l.pathname==="",d=i?"/":l.pathname,m;if(d==null)m=a;else{let v=n.length-1;if(!o&&d.startsWith("..")){let x=d.split("/");for(;x[0]==="..";)x.shift(),v-=1;l.pathname=x.join("/")}m=v>=0?n[v]:"/"}let h=s3(l,m),p=d&&d!=="/"&&d.endsWith("/"),y=(i||d===".")&&a.endsWith("/");return!h.pathname.endsWith("/")&&(p||y)&&(h.pathname+="/"),h}var t0=e=>e.replace(/\/\/+/g,"/"),Fn=e=>t0(e.join("/")),ou=e=>e.replace(/\/+$/,""),i3=e=>ou(e).replace(/^\/*/,"/"),c3=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,u3=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,d3=class{constructor(e,n,a,o=!1){this.status=e,this.statusText=n||"",this.internal=o,a instanceof Error?(this.data=a.toString(),this.error=a):this.data=a}};function f3(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function m3(e){let n=e.map(a=>a.route.path).filter(Boolean);return Fn(n)||"/"}var n0=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function r0(e,n){let a=e;if(typeof a!="string"||!o3.test(a))return{absoluteURL:void 0,isExternal:!1,to:a};let o=a,l=!1;if(n0)try{let i=new URL(window.location.href),d=a.startsWith("//")?new URL(i.protocol+a):new URL(a),m=Or(d.pathname,n);d.origin===i.origin&&m!=null?a=m+d.search+d.hash:l=!0}catch{Pn(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:o,isExternal:l,to:a}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var a0=["POST","PUT","PATCH","DELETE"];new Set(a0);var p3=["GET",...a0];new Set(p3);var Cs=f.createContext(null);Cs.displayName="DataRouter";var Eu=f.createContext(null);Eu.displayName="DataRouterState";var o0=f.createContext(!1);function h3(){return f.useContext(o0)}var s0=f.createContext({isTransitioning:!1});s0.displayName="ViewTransition";var g3=f.createContext(new Map);g3.displayName="Fetchers";var v3=f.createContext(null);v3.displayName="Await";var xn=f.createContext(null);xn.displayName="Navigation";var Zl=f.createContext(null);Zl.displayName="Location";var qn=f.createContext({outlet:null,matches:[],isDataRoute:!1});qn.displayName="Route";var ah=f.createContext(null);ah.displayName="RouteError";var l0="REACT_ROUTER_ERROR",b3="REDIRECT",y3="ROUTE_ERROR_RESPONSE";function x3(e){if(e.startsWith(`${l0}:${b3}:{`))try{let n=JSON.parse(e.slice(28));if(typeof n=="object"&&n&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.location=="string"&&typeof n.reloadDocument=="boolean"&&typeof n.replace=="boolean")return n}catch{}}function S3(e){if(e.startsWith(`${l0}:${y3}:{`))try{let n=JSON.parse(e.slice(40));if(typeof n=="object"&&n&&typeof n.status=="number"&&typeof n.statusText=="string")return new d3(n.status,n.statusText,n.data)}catch{}}function w3(e,{relative:n}={}){ft(js(),"useHref() may be used only in the context of a component.");let{basename:a,navigator:o}=f.useContext(xn),{hash:l,pathname:i,search:d}=Ql(e,{relative:n}),m=i;return a!=="/"&&(m=i==="/"?a:Fn([a,i])),o.createHref({pathname:m,search:d,hash:l})}function js(){return f.useContext(Zl)!=null}function Sn(){return ft(js(),"useLocation() may be used only in the context of a component."),f.useContext(Zl).location}var i0="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function c0(e){f.useContext(xn).static||f.useLayoutEffect(e)}function oo(){let{isDataRoute:e}=f.useContext(qn);return e?P3():C3()}function C3(){ft(js(),"useNavigate() may be used only in the context of a component.");let e=f.useContext(Cs),{basename:n,navigator:a}=f.useContext(xn),{matches:o}=f.useContext(qn),{pathname:l}=Sn(),i=JSON.stringify(rh(o)),d=f.useRef(!1);return c0(()=>{d.current=!0}),f.useCallback((h,p={})=>{if(Pn(d.current,i0),!d.current)return;if(typeof h=="number"){a.go(h);return}let y=ju(h,JSON.parse(i),l,p.relative==="path");e==null&&n!=="/"&&(y.pathname=y.pathname==="/"?n:Fn([n,y.pathname])),(p.replace?a.replace:a.push)(y,p.state,p)},[n,a,i,l,e])}var j3=f.createContext(null);function E3(e){let n=f.useContext(qn).outlet;return f.useMemo(()=>n&&f.createElement(j3.Provider,{value:e},n),[n,e])}function Ql(e,{relative:n}={}){let{matches:a}=f.useContext(qn),{pathname:o}=Sn(),l=JSON.stringify(rh(a));return f.useMemo(()=>ju(e,JSON.parse(l),o,n==="path"),[e,l,o,n])}function N3(e,n){return u0(e,n)}function u0(e,n,a){var N;ft(js(),"useRoutes() may be used only in the context of a component.");let{navigator:o}=f.useContext(xn),{matches:l}=f.useContext(qn),i=l[l.length-1],d=i?i.params:{},m=i?i.pathname:"/",h=i?i.pathnameBase:"/",p=i&&i.route;{let E=p&&p.path||"";f0(m,!p||E.endsWith("*")||E.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${m}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
-
-Please change the parent to .`)}let y=Sn(),v;if(n){let E=typeof n=="string"?ws(n):n;ft(h==="/"||((N=E.pathname)==null?void 0:N.startsWith(h)),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${h}" but pathname "${E.pathname}" was given in the \`location\` prop.`),v=E}else v=y;let x=v.pathname||"/",S=x;if(h!=="/"){let E=h.replace(/^\//,"").split("/");S="/"+x.replace(/^\//,"").split("/").slice(E.length).join("/")}let j=a&&a.state.matches.length?a.state.matches.map(E=>Object.assign(E,{route:a.manifest[E.route.id]||E.route})):Qx(e,{pathname:S});Pn(p||j!=null,`No routes matched location "${v.pathname}${v.search}${v.hash}" `),Pn(j==null||j[j.length-1].route.element!==void 0||j[j.length-1].route.Component!==void 0||j[j.length-1].route.lazy!==void 0,`Matched leaf route at location "${v.pathname}${v.search}${v.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let C=_3(j&&j.map(E=>Object.assign({},E,{params:Object.assign({},d,E.params),pathname:Fn([h,o.encodeLocation?o.encodeLocation(E.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:E.pathname]),pathnameBase:E.pathnameBase==="/"?h:Fn([h,o.encodeLocation?o.encodeLocation(E.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:E.pathnameBase])})),l,a);return n&&C?f.createElement(Zl.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...v},navigationType:"POP"}},C):C}function k3(){let e=z3(),n=f3(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),a=e instanceof Error?e.stack:null,o="rgba(200,200,200, 0.5)",l={padding:"0.5rem",backgroundColor:o},i={padding:"2px 4px",backgroundColor:o},d=null;return console.error("Error handled by React Router default ErrorBoundary:",e),d=f.createElement(f.Fragment,null,f.createElement("p",null,"💿 Hey developer 👋"),f.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",f.createElement("code",{style:i},"ErrorBoundary")," or"," ",f.createElement("code",{style:i},"errorElement")," prop on your route.")),f.createElement(f.Fragment,null,f.createElement("h2",null,"Unexpected Application Error!"),f.createElement("h3",{style:{fontStyle:"italic"}},n),a?f.createElement("pre",{style:l},a):null,d)}var T3=f.createElement(k3,null),d0=class extends f.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,n){return n.location!==e.location||n.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:n.error,location:n.location,revalidation:e.revalidation||n.revalidation}}componentDidCatch(e,n){this.props.onError?this.props.onError(e,n):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const a=S3(e.digest);a&&(e=a)}let n=e!==void 0?f.createElement(qn.Provider,{value:this.props.routeContext},f.createElement(ah.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?f.createElement(R3,{error:e},n):n}};d0.contextType=o0;var zm=new WeakMap;function R3({children:e,error:n}){let{basename:a}=f.useContext(xn);if(typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){let o=x3(n.digest);if(o){let l=zm.get(n);if(l)throw l;let i=r0(o.location,a);if(n0&&!zm.get(n))if(i.isExternal||o.reloadDocument)window.location.href=i.absoluteURL||i.to;else{const d=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:o.replace}));throw zm.set(n,d),d}return f.createElement("meta",{httpEquiv:"refresh",content:`0;url=${i.absoluteURL||i.to}`})}}return e}function A3({routeContext:e,match:n,children:a}){let o=f.useContext(Cs);return o&&o.static&&o.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=n.route.id),f.createElement(qn.Provider,{value:e},a)}function _3(e,n=[],a){let o=a==null?void 0:a.state;if(e==null){if(!o)return null;if(o.errors)e=o.matches;else if(n.length===0&&!o.initialized&&o.matches.length>0)e=o.matches;else return null}let l=e,i=o==null?void 0:o.errors;if(i!=null){let y=l.findIndex(v=>v.route.id&&(i==null?void 0:i[v.route.id])!==void 0);ft(y>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(i).join(",")}`),l=l.slice(0,Math.min(l.length,y+1))}let d=!1,m=-1;if(a&&o){d=o.renderFallback;for(let y=0;y=0?l=l.slice(0,m+1):l=[l[0]];break}}}}let h=a==null?void 0:a.onError,p=o&&h?(y,v)=>{var x,S;h(y,{location:o.location,params:((S=(x=o.matches)==null?void 0:x[0])==null?void 0:S.params)??{},pattern:m3(o.matches),errorInfo:v})}:void 0;return l.reduceRight((y,v,x)=>{let S,j=!1,C=null,N=null;o&&(S=i&&v.route.id?i[v.route.id]:void 0,C=v.route.errorElement||T3,d&&(m<0&&x===0?(f0("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),j=!0,N=null):m===x&&(j=!0,N=v.route.hydrateFallbackElement||null)));let E=n.concat(l.slice(0,x+1)),k=()=>{let A;return S?A=C:j?A=N:v.route.Component?A=f.createElement(v.route.Component,null):v.route.element?A=v.route.element:A=y,f.createElement(A3,{match:v,routeContext:{outlet:y,matches:E,isDataRoute:o!=null},children:A})};return o&&(v.route.ErrorBoundary||v.route.errorElement||x===0)?f.createElement(d0,{location:o.location,revalidation:o.revalidation,component:C,error:S,children:k(),routeContext:{outlet:null,matches:E,isDataRoute:!0},onError:p}):k()},null)}function oh(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function M3(e){let n=f.useContext(Cs);return ft(n,oh(e)),n}function O3(e){let n=f.useContext(Eu);return ft(n,oh(e)),n}function D3(e){let n=f.useContext(qn);return ft(n,oh(e)),n}function sh(e){let n=D3(e),a=n.matches[n.matches.length-1];return ft(a.route.id,`${e} can only be used on routes that contain a unique "id"`),a.route.id}function L3(){return sh("useRouteId")}function z3(){var o;let e=f.useContext(ah),n=O3("useRouteError"),a=sh("useRouteError");return e!==void 0?e:(o=n.errors)==null?void 0:o[a]}function P3(){let{router:e}=M3("useNavigate"),n=sh("useNavigate"),a=f.useRef(!1);return c0(()=>{a.current=!0}),f.useCallback(async(l,i={})=>{Pn(a.current,i0),a.current&&(typeof l=="number"?await e.navigate(l):await e.navigate(l,{fromRouteId:n,...i}))},[e,n])}var R1={};function f0(e,n,a){!n&&!R1[e]&&(R1[e]=!0,Pn(!1,a))}f.memo(B3);function B3({routes:e,manifest:n,future:a,state:o,isStatic:l,onError:i}){return u0(e,void 0,{manifest:n,state:o,isStatic:l,onError:i})}function Mr({to:e,replace:n,state:a,relative:o}){ft(js()," may be used only in the context of a component.");let{static:l}=f.useContext(xn);Pn(!l," must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.");let{matches:i}=f.useContext(qn),{pathname:d}=Sn(),m=oo(),h=ju(e,rh(i),d,o==="path"),p=JSON.stringify(h);return f.useEffect(()=>{m(JSON.parse(p),{replace:n,state:a,relative:o})},[m,p,o,n,a]),null}function $3(e){return E3(e.context)}function ln(e){ft(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function I3({basename:e="/",children:n=null,location:a,navigationType:o="POP",navigator:l,static:i=!1,useTransitions:d}){ft(!js(),"You cannot render a inside another . You should never have more than one in your app.");let m=e.replace(/^\/*/,"/"),h=f.useMemo(()=>({basename:m,navigator:l,static:i,useTransitions:d,future:{}}),[m,l,i,d]);typeof a=="string"&&(a=ws(a));let{pathname:p="/",search:y="",hash:v="",state:x=null,key:S="default",mask:j}=a,C=f.useMemo(()=>{let N=Or(p,m);return N==null?null:{location:{pathname:N,search:y,hash:v,state:x,key:S,mask:j},navigationType:o}},[m,p,y,v,x,S,o,j]);return Pn(C!=null,` is not able to match the URL "${p}${y}${v}" because it does not start with the basename, so the won't render anything.`),C==null?null:f.createElement(xn.Provider,{value:h},f.createElement(Zl.Provider,{children:n,value:C}))}function A1({children:e,location:n}){return N3(hp(e),n)}function hp(e,n=[]){let a=[];return f.Children.forEach(e,(o,l)=>{if(!f.isValidElement(o))return;let i=[...n,l];if(o.type===f.Fragment){a.push.apply(a,hp(o.props.children,i));return}ft(o.type===ln,`[${typeof o.type=="string"?o.type:o.type.name}] is not a component. All component children of must be a or `),ft(!o.props.index||!o.props.children,"An index route cannot have child routes.");let d={id:o.props.id||i.join("-"),caseSensitive:o.props.caseSensitive,element:o.props.element,Component:o.props.Component,index:o.props.index,path:o.props.path,middleware:o.props.middleware,loader:o.props.loader,action:o.props.action,hydrateFallbackElement:o.props.hydrateFallbackElement,HydrateFallback:o.props.HydrateFallback,errorElement:o.props.errorElement,ErrorBoundary:o.props.ErrorBoundary,hasErrorBoundary:o.props.hasErrorBoundary===!0||o.props.ErrorBoundary!=null||o.props.errorElement!=null,shouldRevalidate:o.props.shouldRevalidate,handle:o.props.handle,lazy:o.props.lazy};o.props.children&&(d.children=hp(o.props.children,i)),a.push(d)}),a}var qc="get",Kc="application/x-www-form-urlencoded";function Nu(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function U3(e){return Nu(e)&&e.tagName.toLowerCase()==="button"}function H3(e){return Nu(e)&&e.tagName.toLowerCase()==="form"}function V3(e){return Nu(e)&&e.tagName.toLowerCase()==="input"}function G3(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function F3(e,n){return e.button===0&&(!n||n==="_self")&&!G3(e)}function gp(e=""){return new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((n,a)=>{let o=e[a];return n.concat(Array.isArray(o)?o.map(l=>[a,l]):[[a,o]])},[]))}function Y3(e,n){let a=gp(e);return n&&n.forEach((o,l)=>{a.has(l)||n.getAll(l).forEach(i=>{a.append(l,i)})}),a}var Dc=null;function W3(){if(Dc===null)try{new FormData(document.createElement("form"),0),Dc=!1}catch{Dc=!0}return Dc}var q3=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Pm(e){return e!=null&&!q3.has(e)?(Pn(!1,`"${e}" is not a valid \`encType\` for \`