nexus-shell 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,7 +8,8 @@ Nexus-Shell is a professional-grade, library-first frontend framework for buildi
8
8
  - **Modular Registry System:** Decouple commands, menus, and plugins from the core UI.
9
9
  - **Persistence:** Automatic workspace restoration via `localStorage`.
10
10
  - **Command Palette:** `Ctrl+Shift+P` searchable command interface.
11
- - **Theming:** First-class support for Light, Dark, and custom themes (includes a Georgia Tech theme).
11
+ - **Theming:** First-class support for Light, Dark, and custom themes (includes a Georgia Tech theme), optimized for high accessibility and reduced eye strain.
12
+ - **Accessible Components:** Input fields and buttons follow strict UI/UX guidelines for contrast, sizing, and focus states.
12
13
  - **Library Ready:** ESM and UMD bundles with full TypeScript type definitions.
13
14
 
14
15
  ---
@@ -6874,14 +6874,14 @@ const sc = () => {
6874
6874
  onChange: (u) => s(u.target.value),
6875
6875
  onKeyDown: g,
6876
6876
  placeholder: "Ask Nexus... (Type / for commands)",
6877
- className: "w-full bg-background border rounded-md p-2 text-sm focus:ring-1 focus:ring-primary outline-none resize-none min-h-[80px]"
6877
+ className: "w-full bg-secondary/50 border border-border rounded-md p-3 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent transition-all resize-none min-h-[80px]"
6878
6878
  }
6879
6879
  ),
6880
6880
  /* @__PURE__ */ E.jsx(
6881
6881
  "button",
6882
6882
  {
6883
6883
  onClick: d,
6884
- className: "absolute right-2 bottom-2 p-1.5 bg-primary text-primary-foreground rounded-md hover:bg-primary/90 transition-colors",
6884
+ className: "absolute right-3 bottom-3 inline-flex items-center justify-center p-2 rounded-md bg-primary text-primary-foreground hover:bg-primary/90 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:ring-offset-background transition-colors",
6885
6885
  children: /* @__PURE__ */ E.jsx(ad, { size: 14 })
6886
6886
  }
6887
6887
  )
@@ -7073,7 +7073,7 @@ const dc = new lc(), Vu = ({ panels: n, slashCommands: e, menuConfig: t, statusB
7073
7073
  "button",
7074
7074
  {
7075
7075
  onClick: () => c(p, !_),
7076
- className: `px-3 py-1 text-xs rounded border ${_ ? "bg-destructive text-destructive-foreground" : "bg-secondary text-secondary-foreground"}`,
7076
+ className: `inline-flex items-center justify-center px-4 py-2 text-sm font-medium transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:ring-offset-background ${_ ? "bg-destructive text-destructive-foreground hover:bg-destructive/90" : "bg-secondary text-secondary-foreground hover:bg-secondary/80"}`,
7077
7077
  children: _ ? "Mark as Saved (Clear Dirty)" : "Mark as Dirty (Unsaved Changes)"
7078
7078
  }
7079
7079
  ),
@@ -10517,7 +10517,7 @@ const $u = ({
10517
10517
  "input",
10518
10518
  {
10519
10519
  type: "text",
10520
- className: "w-full bg-muted/50 border rounded-md pl-9 pr-8 py-1.5 text-xs outline-none focus:ring-1 focus:ring-primary focus:border-primary transition-all",
10520
+ className: "w-full bg-secondary/50 border border-border rounded-md pl-9 pr-8 py-2 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent transition-all",
10521
10521
  placeholder: n,
10522
10522
  value: a,
10523
10523
  onChange: (u) => {
@@ -10614,7 +10614,7 @@ const Ju = ({ commands: n, forcedOpen: e = !1 }) => {
10614
10614
  ref: c,
10615
10615
  type: "text",
10616
10616
  placeholder: "Type a command to run...",
10617
- className: "flex-1 h-12 bg-transparent outline-none text-sm",
10617
+ className: "flex-1 h-14 bg-transparent outline-none text-base text-foreground placeholder:text-muted-foreground",
10618
10618
  value: i,
10619
10619
  onChange: (b) => {
10620
10620
  r(b.target.value), a(0);
@@ -206,5 +206,5 @@ React keys must be passed directly to JSX without using spread:
206
206
  */var zr;function md(){return zr||(zr=1,process.env.NODE_ENV!=="production"&&function(){function n(f,m){return f===m&&(f!==0||1/f===1/m)||f!==f&&m!==m}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var e=A,t=Mr(),o=typeof Object.is=="function"?Object.is:n,i=t.useSyncExternalStore,r=e.useRef,s=e.useEffect,a=e.useMemo,c=e.useDebugValue;ui.useSyncExternalStoreWithSelector=function(f,m,h,b,d){var l=r(null);if(l.current===null){var g={hasValue:!1,value:null};l.current=g}else g=l.current;l=a(function(){function p(E){if(!_){if(_=!0,v=E,E=b(E),d!==void 0&&g.hasValue){var T=g.value;if(d(T,E))return S=T}return S=E}if(T=S,o(v,E))return T;var w=b(E);return d!==void 0&&d(T,w)?(v=E,T):(v=E,S=w)}var _=!1,v,S,x=h===void 0?null:h;return[function(){return p(m())},x===null?void 0:function(){return p(x())}]},[m,h,b,d]);var u=i(f,l[0],l[1]);return s(function(){g.hasValue=!0,g.value=u},[u]),c(u),u},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),ui}process.env.NODE_ENV==="production"?ai.exports=pd():ai.exports=md();var _d=ai.exports;const bd=ga(_d),Fr={},{useDebugValue:Td}=A,{useSyncExternalStoreWithSelector:vd}=bd;let Ur=!1;const yd=n=>n;function xd(n,e=yd,t){(Fr?"production":void 0)!=="production"&&t&&!Ur&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),Ur=!0);const o=vd(n.subscribe,n.getState,n.getServerState||n.getInitialState,e,t);return Td(o),o}const Pr=n=>{(Fr?"production":void 0)!=="production"&&typeof n!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const e=typeof n=="function"?hd(n):n,t=(o,i)=>xd(e,o,i);return Object.assign(t,e),t},Zt=n=>n?Pr(n):Pr,vo=Zt(n=>({widgets:[],setWidgets:e=>n({widgets:e}),addWidget:e=>n(t=>({widgets:[...t.widgets,e].sort((o,i)=>(i.priority||0)-(o.priority||0))})),removeWidget:e=>n(t=>({widgets:t.widgets.filter(o=>o.id!==e)})),updateWidget:(e,t)=>n(o=>({widgets:o.widgets.map(i=>i.id===e?{...i,...t}:i)}))}));function jr(n){var e,t,o="";if(typeof n=="string"||typeof n=="number")o+=n;else if(typeof n=="object")if(Array.isArray(n)){var i=n.length;for(e=0;e<i;e++)n[e]&&(t=jr(n[e]))&&(o&&(o+=" "),o+=t)}else for(t in n)n[t]&&(o&&(o+=" "),o+=t);return o}function qt(){for(var n,e,t=0,o="",i=arguments.length;t<i;t++)(n=arguments[t])&&(e=jr(n))&&(o&&(o+=" "),o+=e);return o}const hi="-",Ed=n=>{const e=wd(n),{conflictingClassGroups:t,conflictingClassGroupModifiers:o}=n;return{getClassGroupId:s=>{const a=s.split(hi);return a[0]===""&&a.length!==1&&a.shift(),Hr(a,e)||Sd(s)},getConflictingClassGroupIds:(s,a)=>{const c=t[s]||[];return a&&o[s]?[...c,...o[s]]:c}}},Hr=(n,e)=>{var s;if(n.length===0)return e.classGroupId;const t=n[0],o=e.nextPart.get(t),i=o?Hr(n.slice(1),o):void 0;if(i)return i;if(e.validators.length===0)return;const r=n.join(hi);return(s=e.validators.find(({validator:a})=>a(r)))==null?void 0:s.classGroupId},Wr=/^\[(.+)\]$/,Sd=n=>{if(Wr.test(n)){const e=Wr.exec(n)[1],t=e==null?void 0:e.substring(0,e.indexOf(":"));if(t)return"arbitrary.."+t}},wd=n=>{const{theme:e,prefix:t}=n,o={nextPart:new Map,validators:[]};return Ad(Object.entries(n.classGroups),t).forEach(([r,s])=>{fi(s,o,r,e)}),o},fi=(n,e,t,o)=>{n.forEach(i=>{if(typeof i=="string"){const r=i===""?e:Yr(e,i);r.classGroupId=t;return}if(typeof i=="function"){if(Rd(i)){fi(i(o),e,t,o);return}e.validators.push({validator:i,classGroupId:t});return}Object.entries(i).forEach(([r,s])=>{fi(s,Yr(e,r),t,o)})})},Yr=(n,e)=>{let t=n;return e.split(hi).forEach(o=>{t.nextPart.has(o)||t.nextPart.set(o,{nextPart:new Map,validators:[]}),t=t.nextPart.get(o)}),t},Rd=n=>n.isThemeGetter,Ad=(n,e)=>e?n.map(([t,o])=>{const i=o.map(r=>typeof r=="string"?e+r:typeof r=="object"?Object.fromEntries(Object.entries(r).map(([s,a])=>[e+s,a])):r);return[t,i]}):n,Od=n=>{if(n<1)return{get:()=>{},set:()=>{}};let e=0,t=new Map,o=new Map;const i=(r,s)=>{t.set(r,s),e++,e>n&&(e=0,o=t,t=new Map)};return{get(r){let s=t.get(r);if(s!==void 0)return s;if((s=o.get(r))!==void 0)return i(r,s),s},set(r,s){t.has(r)?t.set(r,s):i(r,s)}}},Xr="!",Nd=n=>{const{separator:e,experimentalParseClassName:t}=n,o=e.length===1,i=e[0],r=e.length,s=a=>{const c=[];let f=0,m=0,h;for(let u=0;u<a.length;u++){let p=a[u];if(f===0){if(p===i&&(o||a.slice(u,u+r)===e)){c.push(a.slice(m,u)),m=u+r;continue}if(p==="/"){h=u;continue}}p==="["?f++:p==="]"&&f--}const b=c.length===0?a:a.substring(m),d=b.startsWith(Xr),l=d?b.substring(1):b,g=h&&h>m?h-m:void 0;return{modifiers:c,hasImportantModifier:d,baseClassName:l,maybePostfixModifierPosition:g}};return t?a=>t({className:a,parseClassName:s}):s},Cd=n=>{if(n.length<=1)return n;const e=[];let t=[];return n.forEach(o=>{o[0]==="["?(e.push(...t.sort(),o),t=[]):t.push(o)}),e.push(...t.sort()),e},Ld=n=>({cache:Od(n.cacheSize),parseClassName:Nd(n),...Ed(n)}),Dd=/\s+/,Id=(n,e)=>{const{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:i}=e,r=[],s=n.trim().split(Dd);let a="";for(let c=s.length-1;c>=0;c-=1){const f=s[c],{modifiers:m,hasImportantModifier:h,baseClassName:b,maybePostfixModifierPosition:d}=t(f);let l=!!d,g=o(l?b.substring(0,d):b);if(!g){if(!l){a=f+(a.length>0?" "+a:a);continue}if(g=o(b),!g){a=f+(a.length>0?" "+a:a);continue}l=!1}const u=Cd(m).join(":"),p=h?u+Xr:u,_=p+g;if(r.includes(_))continue;r.push(_);const v=i(g,l);for(let S=0;S<v.length;++S){const x=v[S];r.push(p+x)}a=f+(a.length>0?" "+a:a)}return a};function Bd(){let n=0,e,t,o="";for(;n<arguments.length;)(e=arguments[n++])&&(t=Gr(e))&&(o&&(o+=" "),o+=t);return o}const Gr=n=>{if(typeof n=="string")return n;let e,t="";for(let o=0;o<n.length;o++)n[o]&&(e=Gr(n[o]))&&(t&&(t+=" "),t+=e);return t};function Md(n,...e){let t,o,i,r=s;function s(c){const f=e.reduce((m,h)=>h(m),n());return t=Ld(f),o=t.cache.get,i=t.cache.set,r=a,a(c)}function a(c){const f=o(c);if(f)return f;const m=Id(c,t);return i(c,m),m}return function(){return r(Bd.apply(null,arguments))}}const ve=n=>{const e=t=>t[n]||[];return e.isThemeGetter=!0,e},Vr=/^\[(?:([a-z-]+):)?(.+)\]$/i,kd=/^\d+\/\d+$/,zd=new Set(["px","full","screen"]),Fd=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ud=/\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$/,Pd=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,jd=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Hd=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Et=n=>dn(n)||zd.has(n)||kd.test(n),Ft=n=>cn(n,"length",Zd),dn=n=>!!n&&!Number.isNaN(Number(n)),gi=n=>cn(n,"number",dn),Mn=n=>!!n&&Number.isInteger(Number(n)),Wd=n=>n.endsWith("%")&&dn(n.slice(0,-1)),K=n=>Vr.test(n),Ut=n=>Fd.test(n),Yd=new Set(["length","size","percentage"]),Xd=n=>cn(n,Yd,$r),Gd=n=>cn(n,"position",$r),Vd=new Set(["image","url"]),$d=n=>cn(n,Vd,Kd),Jd=n=>cn(n,"",qd),kn=()=>!0,cn=(n,e,t)=>{const o=Vr.exec(n);return o?o[1]?typeof e=="string"?o[1]===e:e.has(o[1]):t(o[2]):!1},Zd=n=>Ud.test(n)&&!Pd.test(n),$r=()=>!1,qd=n=>jd.test(n),Kd=n=>Hd.test(n),Kt=Md(()=>{const n=ve("colors"),e=ve("spacing"),t=ve("blur"),o=ve("brightness"),i=ve("borderColor"),r=ve("borderRadius"),s=ve("borderSpacing"),a=ve("borderWidth"),c=ve("contrast"),f=ve("grayscale"),m=ve("hueRotate"),h=ve("invert"),b=ve("gap"),d=ve("gradientColorStops"),l=ve("gradientColorStopPositions"),g=ve("inset"),u=ve("margin"),p=ve("opacity"),_=ve("padding"),v=ve("saturate"),S=ve("scale"),x=ve("sepia"),E=ve("skew"),T=ve("space"),w=ve("translate"),C=()=>["auto","contain","none"],O=()=>["auto","hidden","clip","visible","scroll"],L=()=>["auto",K,e],R=()=>[K,e],F=()=>["",Et,Ft],k=()=>["auto",dn,K],B=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],Y=()=>["solid","dashed","dotted","double","none"],j=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],z=()=>["start","end","center","between","around","evenly","stretch"],V=()=>["","0",K],ae=()=>["auto","avoid","all","avoid-page","page","left","right","column"],N=()=>[dn,K];return{cacheSize:500,separator:":",theme:{colors:[kn],spacing:[Et,Ft],blur:["none","",Ut,K],brightness:N(),borderColor:[n],borderRadius:["none","","full",Ut,K],borderSpacing:R(),borderWidth:F(),contrast:N(),grayscale:V(),hueRotate:N(),invert:V(),gap:R(),gradientColorStops:[n],gradientColorStopPositions:[Wd,Ft],inset:L(),margin:L(),opacity:N(),padding:R(),saturate:N(),scale:N(),sepia:V(),skew:N(),space:R(),translate:R()},classGroups:{aspect:[{aspect:["auto","square","video",K]}],container:["container"],columns:[{columns:[Ut]}],"break-after":[{"break-after":ae()}],"break-before":[{"break-before":ae()}],"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"],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:[...B(),K]}],overflow:[{overflow:O()}],"overflow-x":[{"overflow-x":O()}],"overflow-y":[{"overflow-y":O()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[g]}],"inset-x":[{"inset-x":[g]}],"inset-y":[{"inset-y":[g]}],start:[{start:[g]}],end:[{end:[g]}],top:[{top:[g]}],right:[{right:[g]}],bottom:[{bottom:[g]}],left:[{left:[g]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Mn,K]}],basis:[{basis:L()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",K]}],grow:[{grow:V()}],shrink:[{shrink:V()}],order:[{order:["first","last","none",Mn,K]}],"grid-cols":[{"grid-cols":[kn]}],"col-start-end":[{col:["auto",{span:["full",Mn,K]},K]}],"col-start":[{"col-start":k()}],"col-end":[{"col-end":k()}],"grid-rows":[{"grid-rows":[kn]}],"row-start-end":[{row:["auto",{span:[Mn,K]},K]}],"row-start":[{"row-start":k()}],"row-end":[{"row-end":k()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",K]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",K]}],gap:[{gap:[b]}],"gap-x":[{"gap-x":[b]}],"gap-y":[{"gap-y":[b]}],"justify-content":[{justify:["normal",...z()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...z(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...z(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[_]}],px:[{px:[_]}],py:[{py:[_]}],ps:[{ps:[_]}],pe:[{pe:[_]}],pt:[{pt:[_]}],pr:[{pr:[_]}],pb:[{pb:[_]}],pl:[{pl:[_]}],m:[{m:[u]}],mx:[{mx:[u]}],my:[{my:[u]}],ms:[{ms:[u]}],me:[{me:[u]}],mt:[{mt:[u]}],mr:[{mr:[u]}],mb:[{mb:[u]}],ml:[{ml:[u]}],"space-x":[{"space-x":[T]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[T]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",K,e]}],"min-w":[{"min-w":[K,e,"min","max","fit"]}],"max-w":[{"max-w":[K,e,"none","full","min","max","fit","prose",{screen:[Ut]},Ut]}],h:[{h:[K,e,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[K,e,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[K,e,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[K,e,"auto","min","max","fit"]}],"font-size":[{text:["base",Ut,Ft]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",gi]}],"font-family":[{font:[kn]}],"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:["tighter","tight","normal","wide","wider","widest",K]}],"line-clamp":[{"line-clamp":["none",dn,gi]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Et,K]}],"list-image":[{"list-image":["none",K]}],"list-style-type":[{list:["none","disc","decimal",K]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[n]}],"placeholder-opacity":[{"placeholder-opacity":[p]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[n]}],"text-opacity":[{"text-opacity":[p]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Y(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Et,Ft]}],"underline-offset":[{"underline-offset":["auto",Et,K]}],"text-decoration-color":[{decoration:[n]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:R()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",K]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",K]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[p]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...B(),Gd]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",Xd]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},$d]}],"bg-color":[{bg:[n]}],"gradient-from-pos":[{from:[l]}],"gradient-via-pos":[{via:[l]}],"gradient-to-pos":[{to:[l]}],"gradient-from":[{from:[d]}],"gradient-via":[{via:[d]}],"gradient-to":[{to:[d]}],rounded:[{rounded:[r]}],"rounded-s":[{"rounded-s":[r]}],"rounded-e":[{"rounded-e":[r]}],"rounded-t":[{"rounded-t":[r]}],"rounded-r":[{"rounded-r":[r]}],"rounded-b":[{"rounded-b":[r]}],"rounded-l":[{"rounded-l":[r]}],"rounded-ss":[{"rounded-ss":[r]}],"rounded-se":[{"rounded-se":[r]}],"rounded-ee":[{"rounded-ee":[r]}],"rounded-es":[{"rounded-es":[r]}],"rounded-tl":[{"rounded-tl":[r]}],"rounded-tr":[{"rounded-tr":[r]}],"rounded-br":[{"rounded-br":[r]}],"rounded-bl":[{"rounded-bl":[r]}],"border-w":[{border:[a]}],"border-w-x":[{"border-x":[a]}],"border-w-y":[{"border-y":[a]}],"border-w-s":[{"border-s":[a]}],"border-w-e":[{"border-e":[a]}],"border-w-t":[{"border-t":[a]}],"border-w-r":[{"border-r":[a]}],"border-w-b":[{"border-b":[a]}],"border-w-l":[{"border-l":[a]}],"border-opacity":[{"border-opacity":[p]}],"border-style":[{border:[...Y(),"hidden"]}],"divide-x":[{"divide-x":[a]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[a]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[p]}],"divide-style":[{divide:Y()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:["",...Y()]}],"outline-offset":[{"outline-offset":[Et,K]}],"outline-w":[{outline:[Et,Ft]}],"outline-color":[{outline:[n]}],"ring-w":[{ring:F()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[n]}],"ring-opacity":[{"ring-opacity":[p]}],"ring-offset-w":[{"ring-offset":[Et,Ft]}],"ring-offset-color":[{"ring-offset":[n]}],shadow:[{shadow:["","inner","none",Ut,Jd]}],"shadow-color":[{shadow:[kn]}],opacity:[{opacity:[p]}],"mix-blend":[{"mix-blend":[...j(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":j()}],filter:[{filter:["","none"]}],blur:[{blur:[t]}],brightness:[{brightness:[o]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":["","none",Ut,K]}],grayscale:[{grayscale:[f]}],"hue-rotate":[{"hue-rotate":[m]}],invert:[{invert:[h]}],saturate:[{saturate:[v]}],sepia:[{sepia:[x]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[t]}],"backdrop-brightness":[{"backdrop-brightness":[o]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[f]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[m]}],"backdrop-invert":[{"backdrop-invert":[h]}],"backdrop-opacity":[{"backdrop-opacity":[p]}],"backdrop-saturate":[{"backdrop-saturate":[v]}],"backdrop-sepia":[{"backdrop-sepia":[x]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[s]}],"border-spacing-x":[{"border-spacing-x":[s]}],"border-spacing-y":[{"border-spacing-y":[s]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",K]}],duration:[{duration:N()}],ease:[{ease:["linear","in","out","in-out",K]}],delay:[{delay:N()}],animate:[{animate:["none","spin","ping","pulse","bounce",K]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[S]}],"scale-x":[{"scale-x":[S]}],"scale-y":[{"scale-y":[S]}],rotate:[{rotate:[Mn,K]}],"translate-x":[{"translate-x":[w]}],"translate-y":[{"translate-y":[w]}],"skew-x":[{"skew-x":[E]}],"skew-y":[{"skew-y":[E]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",K]}],accent:[{accent:["auto",n]}],appearance:[{appearance:["none","auto"]}],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",K]}],"caret-color":[{caret:[n]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":R()}],"scroll-mx":[{"scroll-mx":R()}],"scroll-my":[{"scroll-my":R()}],"scroll-ms":[{"scroll-ms":R()}],"scroll-me":[{"scroll-me":R()}],"scroll-mt":[{"scroll-mt":R()}],"scroll-mr":[{"scroll-mr":R()}],"scroll-mb":[{"scroll-mb":R()}],"scroll-ml":[{"scroll-ml":R()}],"scroll-p":[{"scroll-p":R()}],"scroll-px":[{"scroll-px":R()}],"scroll-py":[{"scroll-py":R()}],"scroll-ps":[{"scroll-ps":R()}],"scroll-pe":[{"scroll-pe":R()}],"scroll-pt":[{"scroll-pt":R()}],"scroll-pr":[{"scroll-pr":R()}],"scroll-pb":[{"scroll-pb":R()}],"scroll-pl":[{"scroll-pl":R()}],"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",K]}],fill:[{fill:[n,"none"]}],"stroke-w":[{stroke:[Et,Ft,gi]}],stroke:[{stroke:[n,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","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","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","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-s","border-w-e","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-s","border-color-e","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"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","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-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"]}}});function Qd(...n){return Kt(qt(n))}const Jr=()=>{const{widgets:n}=vo(),e=n.filter(r=>r.alignment==="left"),t=n.filter(r=>r.alignment==="center"),o=n.filter(r=>r.alignment==="right"),i=r=>{const s=r.icon,a=!!(r.commandId||r.onClick),c=()=>{r.onClick?r.onClick():r.commandId&&ht.executeCommand(r.commandId)};return y.jsxs("div",{onClick:a?c:void 0,className:Qd("flex items-center space-x-1.5 px-2 py-0.5 rounded transition-colors h-full",a?"cursor-pointer hover:bg-white/10":"cursor-default",r.className),children:[s&&y.jsx(s,{size:12}),r.label&&y.jsx("span",{children:r.label})]},r.id)};return y.jsxs("div",{className:"h-6 bg-primary text-primary-foreground text-[11px] flex items-center justify-between px-1 select-none shrink-0 border-t border-white/5",children:[y.jsx("div",{className:"flex items-center space-x-1 h-full",children:e.map(i)}),y.jsx("div",{className:"flex items-center space-x-1 h-full",children:t.map(i)}),y.jsx("div",{className:"flex items-center space-x-1 h-full",children:o.map(i)})]})},zn="nexus-shell-sidebar",Fn=Zt(n=>{const e=localStorage.getItem(zn);return{activeSidebar:e!==null?e:null,panels:[],setActiveSidebar:o=>{o===null?localStorage.removeItem(zn):localStorage.setItem(zn,o),n({activeSidebar:o})},toggleSidebar:o=>n(i=>{const r=i.activeSidebar===o?null:o;return r===null?localStorage.removeItem(zn):localStorage.setItem(zn,r),{activeSidebar:r}}),setPanels:o=>n({panels:o})}});function Zr(...n){return Kt(qt(n))}const qr=()=>{const{activeSidebar:n,toggleSidebar:e,panels:t}=Fn();return y.jsxs("div",{className:"w-12 h-full bg-muted border-r flex flex-col items-center py-2 select-none",children:[y.jsx("div",{className:"flex-1 flex flex-col space-y-4",children:t.map(o=>{const i=o.icon;return y.jsx("div",{onClick:()=>e(o.id),"aria-label":o.label,className:Zr("p-2 cursor-pointer rounded text-muted-foreground hover:text-foreground transition-colors",n===o.id&&"text-foreground border-l-2 border-primary rounded-none"),children:y.jsx(i,{size:24})},o.id)})}),y.jsx("div",{onClick:()=>e("settings"),"aria-label":"Settings",className:Zr("p-2 cursor-pointer rounded text-muted-foreground hover:text-foreground transition-colors",n==="settings"&&"text-foreground border-l-2 border-primary rounded-none"),children:y.jsx(ad,{size:24})})]})},Kr="nexus-shell-theme",Qr=n=>{const e=window.document.documentElement;e.classList.remove("theme-light","theme-dark","theme-gt"),e.classList.add(`theme-${n}`)},yo=Zt(n=>{const t=localStorage.getItem(Kr)||"light";return Qr(t),{theme:t,setTheme:o=>{localStorage.setItem(Kr,o),Qr(o),n({theme:o})}}}),es=()=>{const{activeSidebar:n,setActiveSidebar:e,panels:t}=Fn(),{theme:o,setTheme:i}=yo();if(!n)return null;const r=t.find(c=>c.id===n),s=()=>{if(n==="settings")return y.jsx("div",{className:"p-4 space-y-6",children:y.jsxs("section",{children:[y.jsx("h3",{className:"text-[11px] font-bold text-muted-foreground uppercase mb-3",children:"Theme"}),y.jsx("div",{className:"grid grid-cols-1 gap-2",children:[{id:"light",label:"Light",icon:dd},{id:"dark",label:"Dark",icon:od},{id:"gt",label:"Georgia Tech",icon:td}].map(({id:c,label:f,icon:m})=>y.jsxs("button",{onClick:()=>i(c),className:`
207
207
  flex items-center space-x-3 px-3 py-2 rounded-md border text-sm transition-all
208
208
  ${o===c?"bg-primary text-primary-foreground border-primary":"bg-background hover:bg-accent border-border"}
209
- `,children:[y.jsx(m,{size:16}),y.jsx("span",{children:f})]},c))})]})});if(r){if(typeof r.component=="function"){const c=r.component;return y.jsx(c,{})}return r.component}return y.jsx("div",{className:"p-4 text-sm italic text-muted-foreground",children:"Panel content not found."})},a=()=>n==="settings"?"SETTINGS":(r==null?void 0:r.label.toUpperCase())||"";return y.jsxs("div",{className:"w-[300px] h-full bg-muted border-r flex flex-col select-none",children:[y.jsxs("div",{className:"h-10 flex items-center justify-between px-4 text-[11px] font-bold text-muted-foreground uppercase tracking-widest",children:[y.jsx("span",{children:a()}),y.jsx("button",{onClick:()=>e(null),className:"p-1 hover:bg-accent hover:text-foreground rounded transition-colors",children:y.jsx(bo,{size:14})})]}),y.jsx("div",{className:"flex-1 overflow-auto border-t border-border/50 bg-background/50",children:s()})]})},pi="nexus-shell-right-sidebar",mi=Zt(n=>({isChatOpen:localStorage.getItem(pi)==="true",setChatOpen:o=>{localStorage.setItem(pi,String(o)),n({isChatOpen:o})},toggleChat:()=>n(o=>{const i=!o.isChatOpen;return localStorage.setItem(pi,String(i)),{isChatOpen:i}})})),xo=Zt(n=>({slashCommands:[],setSlashCommands:e=>n({slashCommands:e}),registerSlashCommand:e=>n(t=>({slashCommands:[...t.slashCommands,e]}))}));function _i(...n){return Kt(qt(n))}const ts=()=>{const{isChatOpen:n,setChatOpen:e}=mi(),{slashCommands:t}=xo(),[o,i]=A.useState([{id:1,sender:"Nexus",text:"Welcome to the Nexus Shell chat! How can I help you today?"}]),[r,s]=A.useState(""),[a,c]=A.useState(!1),[f,m]=A.useState(0),h=A.useRef(null),b=t.filter(u=>`/${u.command}`.startsWith(r.toLowerCase()));if(A.useEffect(()=>{r.startsWith("/")&&b.length>0?c(!0):c(!1)},[r,b.length]),!n)return null;const d=()=>{if(!r.trim())return;if(r.startsWith("/")){const p=r.slice(1).split(" "),_=p[0],v=p.slice(1),S=t.find(x=>x.command===_);if(S){S.execute(v),i(x=>[...x,{id:Date.now(),sender:"User",text:r}]),s("");return}}const u={id:Date.now(),sender:"User",text:r};i(p=>[...p,u]),s(""),setTimeout(()=>{i(p=>[...p,{id:Date.now()+1,sender:"Nexus",text:"I'm a simulated Nexus response. In a real application, I'd be connected to an LLM!"}])},1e3)},l=u=>{var p;s(`/${u.command} `),c(!1),(p=h.current)==null||p.focus()},g=u=>{a?u.key==="ArrowDown"?(u.preventDefault(),m(p=>(p+1)%b.length)):u.key==="ArrowUp"?(u.preventDefault(),m(p=>(p-1+b.length)%b.length)):u.key==="Tab"||u.key==="Enter"?(u.preventDefault(),l(b[f])):u.key==="Escape"&&c(!1):u.key==="Enter"&&!u.shiftKey&&(u.preventDefault(),d())};return y.jsxs("div",{className:"w-[350px] h-full bg-muted border-l flex flex-col select-none animate-in slide-in-from-right duration-300",children:[y.jsxs("div",{className:"h-10 flex items-center justify-between px-4 text-[11px] font-bold text-muted-foreground uppercase tracking-widest border-b border-border/50",children:[y.jsxs("div",{className:"flex items-center space-x-2",children:[y.jsx(Or,{size:14}),y.jsx("span",{children:"Chat"})]}),y.jsx("button",{onClick:()=>e(!1),className:"p-1 hover:bg-accent hover:text-foreground rounded transition-colors",children:y.jsx(bo,{size:14})})]}),y.jsx("div",{className:"flex-1 overflow-y-auto p-4 space-y-4",children:o.map(u=>y.jsxs("div",{className:_i("flex flex-col space-y-1",u.sender==="User"?"items-end":"items-start"),children:[y.jsxs("div",{className:"flex items-center space-x-1 text-[10px] text-muted-foreground",children:[y.jsx(Nr,{size:10}),y.jsx("span",{children:u.sender})]}),y.jsx("div",{className:_i("px-3 py-2 rounded-lg text-sm max-w-[90%]",u.sender==="User"?"bg-primary text-primary-foreground":"bg-accent/50 text-foreground"),children:u.text})]},u.id))}),y.jsxs("div",{className:"p-4 border-t border-border/50 relative",children:[a&&y.jsxs("div",{className:"absolute bottom-full left-4 right-4 mb-2 bg-popover border shadow-xl rounded-lg overflow-hidden z-50",children:[y.jsx("div",{className:"px-3 py-2 text-[10px] font-bold text-muted-foreground border-b bg-muted/30",children:"COMMANDS"}),b.map((u,p)=>y.jsxs("div",{className:_i("px-3 py-2 cursor-pointer flex items-center justify-between text-xs",p===f?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onClick:()=>l(u),onMouseEnter:()=>m(p),children:[y.jsxs("div",{className:"flex items-center space-x-2",children:[y.jsx(_o,{size:12,className:"text-primary"}),y.jsxs("span",{className:"font-semibold",children:["/",u.command]})]}),y.jsx("span",{className:"text-[10px] text-muted-foreground",children:u.description})]},u.command))]}),y.jsxs("div",{className:"relative",children:[y.jsx("textarea",{ref:h,value:r,onChange:u=>s(u.target.value),onKeyDown:g,placeholder:"Ask Nexus... (Type / for commands)",className:"w-full bg-background border rounded-md p-2 text-sm focus:ring-1 focus:ring-primary outline-none resize-none min-h-[80px]"}),y.jsx("button",{onClick:d,className:"absolute right-2 bottom-2 p-1.5 bg-primary text-primary-foreground rounded-md hover:bg-primary/90 transition-colors",children:y.jsx(sd,{size:14})})]}),y.jsxs("div",{className:"mt-1.5 flex items-center space-x-1.5 text-[10px] text-muted-foreground opacity-70",children:[y.jsx(_o,{size:10}),y.jsxs("span",{children:["Use ",y.jsx("kbd",{className:"bg-muted px-1 rounded border border-border/50 font-sans",children:"/"})," to trigger slash commands"]})]})]})]})},bi=Zt(n=>({isOpen:!1,history:["Welcome to Nexus Shell Terminal v0.1.0",'Type "help" for a list of commands.'],setOpen:e=>n({isOpen:e}),toggle:()=>n(e=>({isOpen:!e.isOpen})),addHistory:e=>n(t=>({history:[...t.history,e]})),clearHistory:()=>n({history:[]})})),ns=()=>{const{isOpen:n,setOpen:e,history:t,addHistory:o,clearHistory:i}=bi(),[r,s]=A.useState(""),a=A.useRef(null),c=A.useRef(null);if(A.useEffect(()=>{a.current&&(a.current.scrollTop=a.current.scrollHeight)},[t]),A.useEffect(()=>{var m;n&&((m=c.current)==null||m.focus())},[n]),!n)return null;const f=m=>{if(m.key==="Enter"){const h=r.trim();if(!h)return;o(`$ ${h}`);const b=h.toLowerCase();b==="clear"?i():b==="help"?o("Available commands: help, clear, echo [text], date, theme"):b.startsWith("echo ")?o(h.slice(5)):o(b==="date"?new Date().toLocaleString():`Command not found: ${h}`),s("")}};return y.jsxs("div",{className:"h-[250px] bg-background border-t border-border flex flex-col select-text animate-in slide-in-from-bottom duration-300",children:[y.jsxs("div",{className:"h-9 border-b border-border/50 flex items-center justify-between px-4 bg-muted/30",children:[y.jsxs("div",{className:"flex items-center space-x-4",children:[y.jsxs("div",{className:"flex items-center space-x-2 text-[11px] font-bold text-muted-foreground uppercase tracking-widest border-b-2 border-primary pb-2.5 pt-2.5 mt-0.5",children:[y.jsx(_o,{size:14}),y.jsx("span",{children:"Terminal"})]}),y.jsx("div",{className:"text-[11px] text-muted-foreground hover:text-foreground cursor-pointer transition-colors",children:"Output"}),y.jsx("div",{className:"text-[11px] text-muted-foreground hover:text-foreground cursor-pointer transition-colors",children:"Debug Console"})]}),y.jsxs("div",{className:"flex items-center space-x-2",children:[y.jsx("button",{className:"p-1 hover:bg-accent rounded text-muted-foreground",children:y.jsx(Vl,{size:14})}),y.jsx("button",{onClick:()=>e(!1),className:"p-1 hover:bg-accent rounded text-muted-foreground",children:y.jsx(bo,{size:14})})]})]}),y.jsxs("div",{ref:a,className:"flex-1 overflow-y-auto p-3 font-mono text-xs space-y-1 bg-black/5 dark:bg-black/20",children:[t.map((m,h)=>y.jsx("div",{className:"whitespace-pre-wrap break-all opacity-90",children:m},h)),y.jsxs("div",{className:"flex items-center space-x-2 pt-1",children:[y.jsx("span",{className:"text-primary font-bold",children:"$"}),y.jsx("input",{ref:c,type:"text",className:"flex-1 bg-transparent border-none outline-none text-xs font-mono",value:r,onChange:m=>s(m.target.value),onKeyDown:f,spellCheck:!1,autoComplete:"off"})]})]})]})},os={global:{tabEnableClose:!0,tabSetEnableMaximize:!1,tabSetEnableDivide:!0},borders:[{type:"border",location:"left",children:[]}],layout:{type:"row",weight:100,children:[{type:"tabset",weight:50,children:[{type:"tab",name:"Welcome",component:"welcome"}]}]}},is="nexus-shell-layout",Ti=Zt((n,e)=>{let t;try{const o=localStorage.getItem(is);o?t=Ot.Model.fromJson(JSON.parse(o)):t=Ot.Model.fromJson(os)}catch(o){console.warn("Failed to load layout from storage, using default",o),t=Ot.Model.fromJson(os)}return{model:t,dirtyTabs:new Set,setModel:o=>{n({model:o}),localStorage.setItem(is,JSON.stringify(o.toJson()))},setTabDirty:(o,i)=>{n(r=>{const s=new Set(r.dirtyTabs);return i?s.add(o):s.delete(o),{dirtyTabs:s}})},isTabDirty:o=>e().dirtyTabs.has(o),addTab:(o,i)=>{const r=e().model,s=r.getActiveTabset();let a=s==null?void 0:s.getId();a&&r.doAction(Ot.Actions.addNode({type:"tab",component:o,name:i||o},a,Ot.DockLocation.CENTER,-1))}}});class ec{constructor(){mn(this,"components",new Map)}register(e,t){this.components.has(e)&&console.warn(`Component with ID "${e}" is already registered.`),this.components.set(e,t)}get(e){return this.components.get(e)}getRegisteredIds(){return Array.from(this.components.keys())}}const rs=new ec,tc=({panels:n,slashCommands:e,menuConfig:t,statusBarConfig:o,rightMenuBarContent:i})=>{const{model:r,setModel:s,isTabDirty:a,setTabDirty:c}=Ti(),{theme:f}=yo(),{setPanels:m}=Fn(),{setSlashCommands:h}=xo(),{setWidgets:b}=vo();A.useEffect(()=>{n&&m(n)},[n,m]),A.useEffect(()=>{e&&h(e)},[e,h]),A.useEffect(()=>{t&&Jt.setMenus(t)},[t]),A.useEffect(()=>{o&&b(o)},[o,b]);const d=g=>{try{var u=g.getComponent();const p=g.getId(),_=a(p);if(u==="welcome")return y.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center space-y-4 p-8",children:[y.jsx("h1",{className:"text-4xl font-bold text-primary",children:"Nexus Shell"}),y.jsx("p",{className:"text-muted-foreground",children:"A professional-grade frontend framework built with React and TypeScript."}),y.jsx("p",{className:"text-sm text-muted-foreground",children:"Start by exploring the menu or dragging tabs."}),y.jsxs("div",{className:"mt-8 p-4 border rounded bg-muted/20",children:[y.jsx("p",{className:"text-xs mb-2",children:"Tab Persistence & Lifecycle Test:"}),y.jsx("button",{onClick:()=>c(p,!_),className:`px-3 py-1 text-xs rounded border ${_?"bg-destructive text-destructive-foreground":"bg-secondary text-secondary-foreground"}`,children:_?"Mark as Saved (Clear Dirty)":"Mark as Dirty (Unsaved Changes)"}),_&&y.jsx("p",{className:"text-[10px] mt-1 text-destructive",children:"This tab will now prompt before closing."})]})]});const v=u?rs.get(u):void 0;return v?y.jsx(v,{node:g}):y.jsxs("div",{className:"p-4 text-sm",children:["Unknown Component: ",u]})}catch(p){return console.error("Error in component factory:",p),y.jsxs("div",{className:"p-8 text-destructive bg-destructive/10 border border-destructive/20 h-full flex items-center justify-center",children:["Error rendering component: ",(p==null?void 0:p.message)||"Unknown error"]})}},l=g=>{if(g.type===Ot.Actions.DELETE_TAB){const u=r.getNodeById(g.data.node);if(u&&a(u.getId())){if(!window.confirm(`Tab "${u.getName()}" has unsaved changes. Are you sure you want to close it?`))return;c(u.getId(),!1)}}return g};return y.jsxs("div",{className:`flex flex-col h-screen w-screen bg-background text-foreground overflow-hidden theme-${f}`,children:[y.jsx(Cr,{rightContent:i}),y.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[y.jsx(qr,{}),y.jsx(es,{}),y.jsxs("div",{className:"flex-1 flex flex-col min-w-0 bg-card",children:[y.jsx("div",{className:"flex-1 relative h-full w-full",children:y.jsx(Ot.Layout,{model:r,factory:d,onModelChange:g=>s(g),onAction:l})}),y.jsx(ns,{})]}),y.jsx(ts,{})]}),y.jsx(Jr,{})]})},Eo=0,Pt=1,un=2,ss=4;function as(n){return()=>n}function nc(n){n()}function ls(n,e){return t=>n(e(t))}function ds(n,e){return()=>n(e)}function oc(n,e){return t=>n(e,t)}function vi(n){return n!==void 0}function ic(...n){return()=>{n.map(nc)}}function hn(){}function So(n,e){return e(n),n}function rc(n,e){return e(n)}function ye(...n){return n}function ue(n,e){return n(Pt,e)}function Q(n,e){n(Eo,e)}function yi(n){n(un)}function Ee(n){return n(ss)}function H(n,e){return ue(n,oc(e,Eo))}function ct(n,e){const t=n(Pt,o=>{t(),e(o)});return t}function cs(n){let e,t;return o=>i=>{e=i,t&&clearTimeout(t),t=setTimeout(()=>{o(e)},n)}}function us(n,e){return n===e}function xe(n=us){let e;return t=>o=>{n(e,o)||(e=o,t(o))}}function X(n){return e=>t=>{n(t)&&e(t)}}function U(n){return e=>ls(e,n)}function ft(n){return e=>()=>{e(n)}}function D(n,...e){const t=sc(...e);return(o,i)=>{switch(o){case un:yi(n);return;case Pt:return ue(n,t(i))}}}function gt(n,e){return t=>o=>{t(e=n(e,o))}}function Qt(n){return e=>t=>{n>0?n--:e(t)}}function St(n){let e=null,t;return o=>i=>{e=i,!t&&(t=setTimeout(()=>{t=void 0,o(e)},n))}}function ee(...n){const e=new Array(n.length);let t=0,o=null;const i=Math.pow(2,n.length)-1;return n.forEach((r,s)=>{const a=Math.pow(2,s);ue(r,c=>{const f=t;t=t|a,e[s]=c,f!==i&&t===i&&o&&(o(),o=null)})}),r=>s=>{const a=()=>{r([s].concat(e))};t===i?a():o=a}}function sc(...n){return e=>n.reduceRight(rc,e)}function ac(n){let e,t;const o=()=>e==null?void 0:e();return function(i,r){switch(i){case Pt:return r?t===r?void 0:(o(),t=r,e=ue(n,r),e):(o(),hn);case un:o(),t=null;return}}}function I(n){let e=n;const t=ie();return(o,i)=>{switch(o){case Eo:e=i;break;case Pt:{i(e);break}case ss:return e}return t(o,i)}}function ze(n,e){return So(I(e),t=>H(n,t))}function ie(){const n=[];return(e,t)=>{switch(e){case Eo:n.slice().forEach(o=>{o(t)});return;case un:n.splice(0,n.length);return;case Pt:return n.push(t),()=>{const o=n.indexOf(t);o>-1&&n.splice(o,1)}}}}function Ke(n){return So(ie(),e=>H(n,e))}function le(n,e=[],{singleton:t}={singleton:!0}){return{constructor:n,dependencies:e,id:lc(),singleton:t}}const lc=()=>Symbol();function dc(n){const e=new Map,t=({constructor:o,dependencies:i,id:r,singleton:s})=>{if(s&&e.has(r))return e.get(r);const a=o(i.map(c=>t(c)));return s&&e.set(r,a),a};return t(n)}function Re(...n){const e=ie(),t=new Array(n.length);let o=0;const i=Math.pow(2,n.length)-1;return n.forEach((r,s)=>{const a=Math.pow(2,s);ue(r,c=>{t[s]=c,o=o|a,o===i&&Q(e,t)})}),function(r,s){switch(r){case un:{yi(e);return}case Pt:return o===i&&s(t),ue(e,s)}}}function G(n,e=us){return D(n,xe(e))}function xi(...n){return function(e,t){switch(e){case un:return;case Pt:return ic(...n.map(o=>ue(o,t)))}}}var Ve=(n=>(n[n.DEBUG=0]="DEBUG",n[n.INFO=1]="INFO",n[n.WARN=2]="WARN",n[n.ERROR=3]="ERROR",n))(Ve||{});const cc={0:"debug",3:"error",1:"log",2:"warn"},uc=()=>typeof globalThis>"u"?window:globalThis,jt=le(()=>{const n=I(3);return{log:I((e,t,o=1)=>{var i;const r=(i=uc().VIRTUOSO_LOG_LEVEL)!=null?i:Ee(n);o>=r&&console[cc[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",e,t)}),logLevel:n}},[],{singleton:!0});function en(n,e,t){return Ei(n,e,t).callbackRef}function Ei(n,e,t){const o=A.useRef(null);let i=s=>{};const r=A.useMemo(()=>typeof ResizeObserver<"u"?new ResizeObserver(s=>{const a=()=>{const c=s[0].target;c.offsetParent!==null&&n(c)};t?a():requestAnimationFrame(a)}):null,[n,t]);return i=s=>{s&&e?(r==null||r.observe(s),o.current=s):(o.current&&(r==null||r.unobserve(o.current)),o.current=null)},{callbackRef:i,ref:o}}function hc(n,e,t,o,i,r,s,a,c){const f=A.useCallback(m=>{const h=fc(m.children,e,a?"offsetWidth":"offsetHeight",i);let b=m.parentElement;for(;!b.dataset.virtuosoScroller;)b=b.parentElement;const d=b.lastElementChild.dataset.viewportType==="window";let l;d&&(l=b.ownerDocument.defaultView);const g=s?a?s.scrollLeft:s.scrollTop:d?a?l.scrollX||l.document.documentElement.scrollLeft:l.scrollY||l.document.documentElement.scrollTop:a?b.scrollLeft:b.scrollTop,u=s?a?s.scrollWidth:s.scrollHeight:d?a?l.document.documentElement.scrollWidth:l.document.documentElement.scrollHeight:a?b.scrollWidth:b.scrollHeight,p=s?a?s.offsetWidth:s.offsetHeight:d?a?l.innerWidth:l.innerHeight:a?b.offsetWidth:b.offsetHeight;o({scrollHeight:u,scrollTop:Math.max(g,0),viewportHeight:p}),r==null||r(a?hs("column-gap",getComputedStyle(m).columnGap,i):hs("row-gap",getComputedStyle(m).rowGap,i)),h!==null&&n(h)},[n,e,i,r,s,o,a]);return Ei(f,t,c)}function fc(n,e,t,o){const i=n.length;if(i===0)return null;const r=[];for(let s=0;s<i;s++){const a=n.item(s);if(a.dataset.index===void 0)continue;const c=parseInt(a.dataset.index),f=parseFloat(a.dataset.knownSize),m=e(a,t);if(m===0&&o("Zero-sized element, this should not happen",{child:a},Ve.ERROR),m===f)continue;const h=r[r.length-1];r.length===0||h.size!==m||h.endIndex!==c-1?r.push({endIndex:c,size:m,startIndex:c}):r[r.length-1].endIndex++}return r}function hs(n,e,t){return e!=="normal"&&!(e!=null&&e.endsWith("px"))&&t(`${n} was not resolved to pixel value correctly`,e,Ve.WARN),e==="normal"?0:parseInt(e??"0",10)}function fs(n,e,t){const o=A.useRef(null),i=A.useCallback(c=>{if(!(c!=null&&c.offsetParent))return;const f=c.getBoundingClientRect(),m=f.width;let h,b;if(e){const d=e.getBoundingClientRect(),l=f.top-d.top;b=d.height-Math.max(0,l),h=l+e.scrollTop}else{const d=s.current.ownerDocument.defaultView;b=d.innerHeight-Math.max(0,f.top),h=f.top+d.scrollY}o.current={offsetTop:h,visibleHeight:b,visibleWidth:m},n(o.current)},[n,e]),{callbackRef:r,ref:s}=Ei(i,!0,t),a=A.useCallback(()=>{i(s.current)},[i,s]);return A.useEffect(()=>{var c;if(e){e.addEventListener("scroll",a);const f=new ResizeObserver(()=>{requestAnimationFrame(a)});return f.observe(e),()=>{e.removeEventListener("scroll",a),f.unobserve(e)}}else{const f=(c=s.current)==null?void 0:c.ownerDocument.defaultView;return f==null||f.addEventListener("scroll",a),f==null||f.addEventListener("resize",a),()=>{f==null||f.removeEventListener("scroll",a),f==null||f.removeEventListener("resize",a)}}},[a,e,s]),r}const je=le(()=>{const n=ie(),e=ie(),t=I(0),o=ie(),i=I(0),r=ie(),s=ie(),a=I(0),c=I(0),f=I(0),m=I(0),h=ie(),b=ie(),d=I(!1),l=I(!1),g=I(!1);return H(D(n,U(({scrollTop:u})=>u)),e),H(D(n,U(({scrollHeight:u})=>u)),s),H(e,i),{deviation:t,fixedFooterHeight:f,fixedHeaderHeight:c,footerHeight:m,headerHeight:a,horizontalDirection:l,scrollBy:b,scrollContainerState:n,scrollHeight:s,scrollingInProgress:d,scrollTo:h,scrollTop:e,skipAnimationFrameInResizeObserver:g,smoothScrollTargetReached:o,statefulScrollTop:i,viewportHeight:r}},[],{singleton:!0}),Un={lvl:0};function gs(n,e){const t=n.length;if(t===0)return[];let{index:o,value:i}=e(n[0]);const r=[];for(let s=1;s<t;s++){const{index:a,value:c}=e(n[s]);r.push({end:a-1,start:o,value:i}),o=a,i=c}return r.push({end:1/0,start:o,value:i}),r}function ge(n){return n===Un}function Pn(n,e){if(!ge(n))return e===n.k?n.v:e<n.k?Pn(n.l,e):Pn(n.r,e)}function ut(n,e,t="k"){if(ge(n))return[-1/0,void 0];if(Number(n[t])===e)return[n.k,n.v];if(Number(n[t])<e){const o=ut(n.r,e,t);return o[0]===-1/0?[n.k,n.v]:o}return ut(n.l,e,t)}function Qe(n,e,t){return ge(n)?_s(e,t,1):e===n.k?Ne(n,{k:e,v:t}):e<n.k?bs(Ne(n,{l:Qe(n.l,e,t)})):bs(Ne(n,{r:Qe(n.r,e,t)}))}function fn(){return Un}function gn(n,e,t){if(ge(n))return[];const o=ut(n,e)[0];return gc(wi(n,o,t))}function Si(n,e){if(ge(n))return Un;const{k:t,l:o,r:i}=n;if(e===t){if(ge(o))return i;if(ge(i))return o;{const[r,s]=ms(o);return wo(Ne(n,{k:r,l:ps(o),v:s}))}}else return e<t?wo(Ne(n,{l:Si(o,e)})):wo(Ne(n,{r:Si(i,e)}))}function tn(n){return ge(n)?[]:[...tn(n.l),{k:n.k,v:n.v},...tn(n.r)]}function wi(n,e,t){if(ge(n))return[];const{k:o,l:i,r,v:s}=n;let a=[];return o>e&&(a=a.concat(wi(i,e,t))),o>=e&&o<=t&&a.push({k:o,v:s}),o<=t&&(a=a.concat(wi(r,e,t))),a}function wo(n){const{l:e,lvl:t,r:o}=n;if(o.lvl>=t-1&&e.lvl>=t-1)return n;if(t>o.lvl+1){if(Ri(e))return Ts(Ne(n,{lvl:t-1}));if(!ge(e)&&!ge(e.r))return Ne(e.r,{l:Ne(e,{r:e.r.l}),lvl:t,r:Ne(n,{l:e.r.r,lvl:t-1})});throw new Error("Unexpected empty nodes")}else{if(Ri(n))return Ai(Ne(n,{lvl:t-1}));if(!ge(o)&&!ge(o.l)){const i=o.l,r=Ri(i)?o.lvl-1:o.lvl;return Ne(i,{l:Ne(n,{lvl:t-1,r:i.l}),lvl:i.lvl+1,r:Ai(Ne(o,{l:i.r,lvl:r}))})}else throw new Error("Unexpected empty nodes")}}function Ne(n,e){return _s(e.k!==void 0?e.k:n.k,e.v!==void 0?e.v:n.v,e.lvl!==void 0?e.lvl:n.lvl,e.l!==void 0?e.l:n.l,e.r!==void 0?e.r:n.r)}function ps(n){return ge(n.r)?n.l:wo(Ne(n,{r:ps(n.r)}))}function Ri(n){return ge(n)||n.lvl>n.r.lvl}function ms(n){return ge(n.r)?[n.k,n.v]:ms(n.r)}function _s(n,e,t,o=Un,i=Un){return{k:n,l:o,lvl:t,r:i,v:e}}function bs(n){return Ai(Ts(n))}function Ts(n){const{l:e}=n;return!ge(e)&&e.lvl===n.lvl?Ne(e,{r:Ne(n,{l:e.r})}):n}function Ai(n){const{lvl:e,r:t}=n;return!ge(t)&&!ge(t.r)&&t.lvl===e&&t.r.lvl===e?Ne(t,{l:Ne(n,{r:t.l}),lvl:e+1}):n}function gc(n){return gs(n,({k:e,v:t})=>({index:e,value:t}))}function vs(n,e){return!!(n&&n.startIndex===e.startIndex&&n.endIndex===e.endIndex)}function jn(n,e){return!!(n&&n[0]===e[0]&&n[1]===e[1])}const Oi=le(()=>({recalcInProgress:I(!1)}),[],{singleton:!0});function ys(n,e,t){return n[Ro(n,e,t)]}function Ro(n,e,t,o=0){let i=n.length-1;for(;o<=i;){const r=Math.floor((o+i)/2),s=n[r],a=t(s,e);if(a===0)return r;if(a===-1){if(i-o<2)return r-1;i=r-1}else{if(i===o)return r;o=r+1}}throw new Error(`Failed binary finding record in array - ${n.join(",")}, searched for ${e}`)}function pc(n,e,t,o){const i=Ro(n,e,o),r=Ro(n,t,o,i);return n.slice(i,r+1)}function Ht(n,e){return Math.round(n.getBoundingClientRect()[e])}function Ao(n){return!ge(n.groupOffsetTree)}function Ni({index:n},e){return e===n?0:e<n?-1:1}function mc(){return{groupIndices:[],groupOffsetTree:fn(),lastIndex:0,lastOffset:0,lastSize:0,offsetTree:[],sizeTree:fn()}}function _c(n,e){let t=ge(n)?0:1/0;for(const o of e){const{endIndex:i,size:r,startIndex:s}=o;if(t=Math.min(t,s),ge(n)){n=Qe(n,0,r);continue}const a=gn(n,s-1,i+1);if(a.some(Sc(o)))continue;let c=!1,f=!1;for(const{end:m,start:h,value:b}of a)c?(i>=h||r===b)&&(n=Si(n,h)):(f=b!==r,c=!0),m>i&&i>=h&&b!==r&&(n=Qe(n,i+1,b));f&&(n=Qe(n,s,r))}return[n,t]}function bc(n){return typeof n.groupIndex<"u"}function Tc({offset:n},e){return e===n?0:e<n?-1:1}function Hn(n,e,t){if(e.length===0)return 0;const{index:o,offset:i,size:r}=ys(e,n,Ni),s=n-o,a=r*s+(s-1)*t+i;return a>0?a+t:a}function xs(n,e){if(!Ao(e))return n;let t=0;for(;e.groupIndices[t]<=n+t;)t++;return n+t}function Es(n,e,t){if(bc(n))return e.groupIndices[n.groupIndex]+1;{const o=n.index==="LAST"?t:n.index;let i=xs(o,e);return i=Math.max(0,i,Math.min(t,i)),i}}function vc(n,e,t,o=0){return o>0&&(e=Math.max(e,ys(n,o,Ni).offset)),gs(pc(n,e,t,Tc),Ec)}function yc(n,[e,t,o,i]){e.length>0&&o("received item sizes",e,Ve.DEBUG);const r=n.sizeTree;let s=r,a=0;if(t.length>0&&ge(r)&&e.length===2){const b=e[0].size,d=e[1].size;s=t.reduce((l,g)=>Qe(Qe(l,g,b),g+1,d),s)}else[s,a]=_c(s,e);if(s===r)return n;const{lastIndex:c,lastOffset:f,lastSize:m,offsetTree:h}=Ci(n.offsetTree,a,s,i);return{groupIndices:t,groupOffsetTree:t.reduce((b,d)=>Qe(b,d,Hn(d,h,i)),fn()),lastIndex:c,lastOffset:f,lastSize:m,offsetTree:h,sizeTree:s}}function xc(n){return tn(n).map(({k:e,v:t},o,i)=>{const r=i[o+1];return{endIndex:r?r.k-1:1/0,size:t,startIndex:e}})}function Ss(n,e){let t=0,o=0;for(;t<n;)t+=e[o+1]-e[o]-1,o++;return o-(t===n?0:1)}function Ci(n,e,t,o){let i=n,r=0,s=0,a=0,c=0;if(e!==0){c=Ro(i,e-1,Ni),a=i[c].offset;const f=ut(t,e-1);r=f[0],s=f[1],i.length&&i[c].size===ut(t,e)[1]&&(c-=1),i=i.slice(0,c+1)}else i=[];for(const{start:f,value:m}of gn(t,e,1/0)){const h=f-r,b=h*s+a+h*o;i.push({index:f,offset:b,size:m}),r=f,a=b,s=m}return{lastIndex:r,lastOffset:a,lastSize:s,offsetTree:i}}function Ec(n){return{index:n.index,value:n}}function Sc(n){const{endIndex:e,size:t,startIndex:o}=n;return i=>i.start===o&&(i.end===e||i.end===1/0)&&i.value===t}const wc={offsetHeight:"height",offsetWidth:"width"},pt=le(([{log:n},{recalcInProgress:e}])=>{const t=ie(),o=ie(),i=ze(o,0),r=ie(),s=ie(),a=I(0),c=I([]),f=I(void 0),m=I(void 0),h=I(void 0),b=I(void 0),d=I((T,w)=>Ht(T,wc[w])),l=I(void 0),g=I(0),u=mc(),p=ze(D(t,ee(c,n,g),gt(yc,u),xe()),u),_=ze(D(c,xe(),gt((T,w)=>({current:w,prev:T.current}),{current:[],prev:[]}),U(({prev:T})=>T)),[]);H(D(c,X(T=>T.length>0),ee(p,g),U(([T,w,C])=>{const O=T.reduce((L,R,F)=>Qe(L,R,Hn(R,w.offsetTree,C)||F),fn());return{...w,groupIndices:T,groupOffsetTree:O}})),p),H(D(o,ee(p),X(([T,{lastIndex:w}])=>T<w),U(([T,{lastIndex:w,lastSize:C}])=>[{endIndex:w,size:C,startIndex:T}])),t),H(f,m);const v=ze(D(f,U(T=>T===void 0)),!0);H(D(m,X(T=>T!==void 0&&ge(Ee(p).sizeTree)),U(T=>{const w=Ee(h),C=Ee(c).length>0;return w?C?[{endIndex:0,size:w,startIndex:0},{endIndex:1,size:T,startIndex:1}]:[]:[{endIndex:0,size:T,startIndex:0}]})),t),H(D(b,X(T=>T!==void 0&&T.length>0&&ge(Ee(p).sizeTree)),U(T=>{const w=[];let C=T[0],O=0;for(let L=1;L<T.length;L++){const R=T[L];R!==C&&(w.push({endIndex:L-1,size:C,startIndex:O}),C=R,O=L)}return w.push({endIndex:T.length-1,size:C,startIndex:O}),w})),t),H(D(c,ee(h,m),X(([,T,w])=>T!==void 0&&w!==void 0),U(([T,w,C])=>{const O=[];for(let L=0;L<T.length;L++){const R=T[L],F=T[L+1];O.push({startIndex:R,endIndex:R,size:w}),F!==void 0&&O.push({startIndex:R+1,endIndex:F-1,size:C})}return O})),t);const S=Ke(D(t,ee(p),gt(({sizes:T},[w,C])=>({changed:C!==T,sizes:C}),{changed:!1,sizes:u}),U(T=>T.changed)));ue(D(a,gt((T,w)=>({diff:T.prev-w,prev:w}),{diff:0,prev:0}),U(T=>T.diff)),T=>{const{groupIndices:w}=Ee(p);if(T>0)Q(e,!0),Q(r,T+Ss(T,w));else if(T<0){const C=Ee(_);C.length>0&&(T-=Ss(-T,C)),Q(s,T)}}),ue(D(a,ee(n)),([T,w])=>{T<0&&w("`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value",{firstItemIndex:a},Ve.ERROR)});const x=Ke(r);H(D(r,ee(p),U(([T,w])=>{const C=w.groupIndices.length>0,O=[],L=w.lastSize;if(C){const R=Pn(w.sizeTree,0);let F=0,k=0;for(;F<T;){const Y=w.groupIndices[k],j=w.groupIndices.length===k+1?1/0:w.groupIndices[k+1]-Y-1;O.push({endIndex:Y,size:R,startIndex:Y}),O.push({endIndex:Y+1+j-1,size:L,startIndex:Y+1}),k++,F+=j+1}const B=tn(w.sizeTree);return F!==T&&B.shift(),B.reduce((Y,{k:j,v:z})=>{let V=Y.ranges;return Y.prevSize!==0&&(V=[...Y.ranges,{endIndex:j+T-1,size:Y.prevSize,startIndex:Y.prevIndex}]),{prevIndex:j+T,prevSize:z,ranges:V}},{prevIndex:T,prevSize:0,ranges:O}).ranges}return tn(w.sizeTree).reduce((R,{k:F,v:k})=>({prevIndex:F+T,prevSize:k,ranges:[...R.ranges,{endIndex:F+T-1,size:R.prevSize,startIndex:R.prevIndex}]}),{prevIndex:0,prevSize:L,ranges:[]}).ranges})),t);const E=Ke(D(s,ee(p,g),U(([T,{offsetTree:w},C])=>{const O=-T;return Hn(O,w,C)})));return H(D(s,ee(p,g),U(([T,w,C])=>{if(w.groupIndices.length>0){if(ge(w.sizeTree))return w;let O=fn();const L=Ee(_);let R=0,F=0,k=0;for(;R<-T;){k=L[F];const B=L[F+1]-k-1;F++,R+=B+1}if(O=tn(w.sizeTree).reduce((B,{k:Y,v:j})=>Qe(B,Math.max(0,Y+T),j),O),R!==-T){const B=Pn(w.sizeTree,k);O=Qe(O,0,B);const Y=ut(w.sizeTree,-T+1)[1];O=Qe(O,1,Y)}return{...w,sizeTree:O,...Ci(w.offsetTree,0,O,C)}}else{const O=tn(w.sizeTree).reduce((L,{k:R,v:F})=>Qe(L,Math.max(0,R+T),F),fn());return{...w,sizeTree:O,...Ci(w.offsetTree,0,O,C)}}})),p),{beforeUnshiftWith:x,data:l,defaultItemSize:m,firstItemIndex:a,fixedItemSize:f,fixedGroupSize:h,gap:g,groupIndices:c,heightEstimates:b,itemSize:d,listRefresh:S,shiftWith:s,shiftWithOffset:E,sizeRanges:t,sizes:p,statefulTotalCount:i,totalCount:o,trackItemSizes:v,unshiftWith:r}},ye(jt,Oi),{singleton:!0});function Rc(n){return n.reduce((e,t)=>(e.groupIndices.push(e.totalCount),e.totalCount+=t+1,e),{groupIndices:[],totalCount:0})}const ws=le(([{groupIndices:n,sizes:e,totalCount:t},{headerHeight:o,scrollTop:i}])=>{const r=ie(),s=ie(),a=Ke(D(r,U(Rc)));return H(D(a,U(c=>c.totalCount)),t),H(D(a,U(c=>c.groupIndices)),n),H(D(Re(i,e,o),X(([c,f])=>Ao(f)),U(([c,f,m])=>ut(f.groupOffsetTree,Math.max(c-m,0),"v")[0]),xe(),U(c=>[c])),s),{groupCounts:r,topItemsIndexes:s}},ye(pt,je)),Wt=le(([{log:n}])=>{const e=I(!1),t=Ke(D(e,X(o=>o),xe()));return ue(e,o=>{o&&Ee(n)("props updated",{},Ve.DEBUG)}),{didMount:t,propsReady:e}},ye(jt),{singleton:!0}),Ac=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function Rs(n){const e=typeof n=="number"?{index:n}:n;return e.align||(e.align="start"),(!e.behavior||!Ac)&&(e.behavior="auto"),e.offset||(e.offset=0),e}const Wn=le(([{gap:n,listRefresh:e,sizes:t,totalCount:o},{fixedFooterHeight:i,fixedHeaderHeight:r,footerHeight:s,headerHeight:a,scrollingInProgress:c,scrollTo:f,smoothScrollTargetReached:m,viewportHeight:h},{log:b}])=>{const d=ie(),l=ie(),g=I(0);let u=null,p=null,_=null;function v(){u&&(u(),u=null),_&&(_(),_=null),p&&(clearTimeout(p),p=null),Q(c,!1)}return H(D(d,ee(t,h,o,g,a,s,b),ee(n,r,i),U(([[S,x,E,T,w,C,O,L],R,F,k])=>{const B=Rs(S),{align:Y,behavior:j,offset:z}=B,V=T-1,ae=Es(B,x,V);let N=Hn(ae,x.offsetTree,R)+C;Y==="end"?(N+=F+ut(x.sizeTree,ae)[1]-E+k,ae===V&&(N+=O)):Y==="center"?N+=(F+ut(x.sizeTree,ae)[1]-E+k)/2:N-=w,z&&(N+=z);const W=oe=>{v(),oe?(L("retrying to scroll to",{location:S},Ve.DEBUG),Q(d,S)):(Q(l,!0),L("list did not change, scroll successful",{},Ve.DEBUG))};if(v(),j==="smooth"){let oe=!1;_=ue(e,he=>{oe=oe||he}),u=ct(m,()=>{W(oe)})}else u=ct(D(e,Oc(150)),W);return p=setTimeout(()=>{v()},1200),Q(c,!0),L("scrolling from index to",{behavior:j,index:ae,top:N},Ve.DEBUG),{behavior:j,top:N}})),f),{scrollTargetReached:l,scrollToIndex:d,topListHeight:g}},ye(pt,je,jt),{singleton:!0});function Oc(n){return e=>{const t=setTimeout(()=>{e(!1)},n);return o=>{o&&(e(!0),clearTimeout(t))}}}function Li(n,e){n==0?e():requestAnimationFrame(()=>{Li(n-1,e)})}function Di(n,e){const t=e-1;return typeof n=="number"?n:n.index==="LAST"?t:n.index}const Yn=le(([{defaultItemSize:n,listRefresh:e,sizes:t},{scrollTop:o},{scrollTargetReached:i,scrollToIndex:r},{didMount:s}])=>{const a=I(!0),c=I(0),f=I(!0);return H(D(s,ee(c),X(([m,h])=>!!h),ft(!1)),a),H(D(s,ee(c),X(([m,h])=>!!h),ft(!1)),f),ue(D(Re(e,s),ee(a,t,n,f),X(([[,m],h,{sizeTree:b},d,l])=>m&&(!ge(b)||vi(d))&&!h&&!l),ee(c)),([,m])=>{ct(i,()=>{Q(f,!0)}),Li(4,()=>{ct(o,()=>{Q(a,!0)}),Q(r,m)})}),{initialItemFinalLocationReached:f,initialTopMostItemIndex:c,scrolledToInitialItem:a}},ye(pt,je,Wn,Wt),{singleton:!0});function As(n,e){return Math.abs(n-e)<1.01}const Xn="up",Gn="down",Nc="none",Cc={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollHeight:0,scrollTop:0,viewportHeight:0}},Lc=0,Vn=le(([{footerHeight:n,headerHeight:e,scrollBy:t,scrollContainerState:o,scrollTop:i,viewportHeight:r}])=>{const s=I(!1),a=I(!0),c=ie(),f=ie(),m=I(4),h=I(Lc),b=ze(D(xi(D(G(i),Qt(1),ft(!0)),D(G(i),Qt(1),ft(!1),cs(100))),xe()),!1),d=ze(D(xi(D(t,ft(!0)),D(t,ft(!1),cs(200))),xe()),!1);H(D(Re(G(i),G(h)),U(([_,v])=>_<=v),xe()),a),H(D(a,St(50)),f);const l=Ke(D(Re(o,G(r),G(e),G(n),G(m)),gt((_,[{scrollHeight:v,scrollTop:S},x,E,T,w])=>{const C=S+x-v>-w,O={scrollHeight:v,scrollTop:S,viewportHeight:x};if(C){let R,F;return S>_.state.scrollTop?(R="SCROLLED_DOWN",F=_.state.scrollTop-S):(R="SIZE_DECREASED",F=_.state.scrollTop-S||_.scrollTopDelta),{atBottom:!0,atBottomBecause:R,scrollTopDelta:F,state:O}}let L;return O.scrollHeight>_.state.scrollHeight?L="SIZE_INCREASED":x<_.state.viewportHeight?L="VIEWPORT_HEIGHT_DECREASING":S<_.state.scrollTop?L="SCROLLING_UPWARDS":L="NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:L,state:O}},Cc),xe((_,v)=>_&&_.atBottom===v.atBottom))),g=ze(D(o,gt((_,{scrollHeight:v,scrollTop:S,viewportHeight:x})=>{if(As(_.scrollHeight,v))return{changed:!1,jump:0,scrollHeight:v,scrollTop:S};{const E=v-(S+x)<1;return _.scrollTop!==S&&E?{changed:!0,jump:_.scrollTop-S,scrollHeight:v,scrollTop:S}:{changed:!0,jump:0,scrollHeight:v,scrollTop:S}}},{changed:!1,jump:0,scrollHeight:0,scrollTop:0}),X(_=>_.changed),U(_=>_.jump)),0);H(D(l,U(_=>_.atBottom)),s),H(D(s,St(50)),c);const u=I(Gn);H(D(o,U(({scrollTop:_})=>_),xe(),gt((_,v)=>Ee(d)?{direction:_.direction,prevScrollTop:v}:{direction:v<_.prevScrollTop?Xn:Gn,prevScrollTop:v},{direction:Gn,prevScrollTop:0}),U(_=>_.direction)),u),H(D(o,St(50),ft(Nc)),u);const p=I(0);return H(D(b,X(_=>!_),ft(0)),p),H(D(i,St(100),ee(b),X(([_,v])=>v),gt(([_,v],[S])=>[v,S],[0,0]),U(([_,v])=>v-_)),p),{atBottomState:l,atBottomStateChange:c,atBottomThreshold:m,atTopStateChange:f,atTopThreshold:h,isAtBottom:s,isAtTop:a,isScrolling:b,lastJumpDueToItemResize:g,scrollDirection:u,scrollVelocity:p}},ye(je)),$n="top",Jn="bottom",Os="none";function Ns(n,e,t){return typeof n=="number"?t===Xn&&e===$n||t===Gn&&e===Jn?n:0:t===Xn?e===$n?n.main:n.reverse:e===Jn?n.main:n.reverse}function Cs(n,e){var t;return typeof n=="number"?n:(t=n[e])!=null?t:0}const Ii=le(([{deviation:n,fixedHeaderHeight:e,headerHeight:t,scrollTop:o,viewportHeight:i}])=>{const r=ie(),s=I(0),a=I(0),c=I(0),f=ze(D(Re(G(o),G(i),G(t),G(r,jn),G(c),G(s),G(e),G(n),G(a)),U(([m,h,b,[d,l],g,u,p,_,v])=>{const S=m-_,x=u+p,E=Math.max(b-S,0);let T=Os;const w=Cs(v,$n),C=Cs(v,Jn);return d-=_,d+=b+p,l+=b+p,l-=_,d>m+x-w&&(T=Xn),l<m-E+h+C&&(T=Gn),T!==Os?[Math.max(S-b-Ns(g,$n,T)-w,0),S-E-p+h+Ns(g,Jn,T)+C]:null}),X(m=>m!=null),xe(jn)),[0,0]);return{increaseViewportBy:a,listBoundary:r,overscan:c,topListHeight:s,visibleRange:f}},ye(je),{singleton:!0});function Dc(n,e,t){if(Ao(e)){const o=xs(n,e);return[{index:ut(e.groupOffsetTree,o)[0],offset:0,size:0},{data:t==null?void 0:t[0],index:o,offset:0,size:0}]}return[{data:t==null?void 0:t[0],index:n,offset:0,size:0}]}const Bi={bottom:0,firstItemIndex:0,items:[],offsetBottom:0,offsetTop:0,top:0,topItems:[],topListHeight:0,totalCount:0};function Oo(n,e,t,o,i,r){const{lastIndex:s,lastOffset:a,lastSize:c}=i;let f=0,m=0;if(n.length>0){f=n[0].offset;const g=n[n.length-1];m=g.offset+g.size}const h=t-s,b=a+h*c+(h-1)*o,d=f,l=b-m;return{bottom:m,firstItemIndex:r,items:Ds(n,i,r),offsetBottom:l,offsetTop:f,top:d,topItems:Ds(e,i,r),topListHeight:e.reduce((g,u)=>u.size+g,0),totalCount:t}}function Ls(n,e,t,o,i,r){let s=0;if(t.groupIndices.length>0)for(const m of t.groupIndices){if(m-s>=n)break;s++}const a=n+s,c=Di(e,a),f=Array.from({length:a}).map((m,h)=>({data:r[h+c],index:h+c,offset:0,size:0}));return Oo(f,[],a,i,t,o)}function Ds(n,e,t){if(n.length===0)return[];if(!Ao(e))return n.map(f=>({...f,index:f.index+t,originalIndex:f.index}));const o=n[0].index,i=n[n.length-1].index,r=[],s=gn(e.groupOffsetTree,o,i);let a,c=0;for(const f of n){(!a||a.end<f.index)&&(a=s.shift(),c=e.groupIndices.indexOf(a.start));let m;f.index===a.start?m={index:c,type:"group"}:m={groupIndex:c,index:f.index-(c+1)+t},r.push({...m,data:f.data,offset:f.offset,originalIndex:f.index,size:f.size})}return r}function Is(n,e){var t;return n===void 0?0:typeof n=="number"?n:(t=n[e])!=null?t:0}const nn=le(([{data:n,firstItemIndex:e,gap:t,sizes:o,totalCount:i},r,{listBoundary:s,topListHeight:a,visibleRange:c},{initialTopMostItemIndex:f,scrolledToInitialItem:m},{topListHeight:h},b,{didMount:d},{recalcInProgress:l}])=>{const g=I([]),u=I(0),p=ie(),_=I(0);H(r.topItemsIndexes,g);const v=ze(D(Re(d,l,G(c,jn),G(i),G(o),G(f),m,G(g),G(e),G(t),G(_),n),X(([T,w,,C,,,,,,,,O])=>{const L=O&&O.length!==C;return T&&!w&&!L}),U(([,,[T,w],C,O,L,R,F,k,B,Y,j])=>{var z,V,ae,N;const W=O,{offsetTree:oe,sizeTree:he}=W,$e=Ee(u);if(C===0)return{...Bi,totalCount:C};if(T===0&&w===0)return $e===0?{...Bi,totalCount:C}:Ls($e,L,O,k,B,j||[]);if(ge(he))return $e>0?null:Oo(Dc(Di(L,C),W,j),[],C,B,W,k);const Je=[];if(F.length>0){const Z=F[0],de=F[F.length-1];let Ae=0;for(const Oe of gn(he,Z,de)){const pe=Oe.value,Te=Math.max(Oe.start,Z),it=Math.min(Oe.end,de);for(let Be=Te;Be<=it;Be++)Je.push({data:j==null?void 0:j[Be],index:Be,offset:Ae,size:pe}),Ae+=pe}}if(!R)return Oo([],Je,C,B,W,k);const re=F.length>0?F[F.length-1]+1:0,M=vc(oe,T,w,re);if(M.length===0)return null;const te=C-1,fe=So([],Z=>{for(const de of M){const Ae=de.value;let Oe=Ae.offset,pe=de.start;const Te=Ae.size;if(Ae.offset<T){pe+=Math.floor((T-Ae.offset+B)/(Te+B));const Be=pe-de.start;Oe+=Be*Te+Be*B}pe<re&&(Oe+=(re-pe)*Te,pe=re);const it=Math.min(de.end,te);for(let Be=pe;Be<=it&&!(Oe>=w);Be++)Z.push({data:j==null?void 0:j[Be],index:Be,offset:Oe,size:Te}),Oe+=Te+B}}),we=Is(Y,$n),P=Is(Y,Jn);if(fe.length>0&&(we>0||P>0)){const Z=fe[0],de=fe[fe.length-1];if(we>0&&Z.index>re){const Ae=Math.min(we,Z.index-re),Oe=[];let pe=Z.offset;for(let Te=Z.index-1;Te>=Z.index-Ae;Te--){const it=(V=(z=gn(he,Te,Te)[0])==null?void 0:z.value)!=null?V:Z.size;pe-=it+B,Oe.unshift({data:j==null?void 0:j[Te],index:Te,offset:pe,size:it})}fe.unshift(...Oe)}if(P>0&&de.index<te){const Ae=Math.min(P,te-de.index);let Oe=de.offset+de.size+B;for(let pe=de.index+1;pe<=de.index+Ae;pe++){const Te=(N=(ae=gn(he,pe,pe)[0])==null?void 0:ae.value)!=null?N:de.size;fe.push({data:j==null?void 0:j[pe],index:pe,offset:Oe,size:Te}),Oe+=Te+B}}}return Oo(fe,Je,C,B,W,k)}),X(T=>T!==null),xe()),Bi);H(D(n,X(vi),U(T=>T==null?void 0:T.length)),i),H(D(v,U(T=>T.topListHeight)),h),H(h,a),H(D(v,U(T=>[T.top,T.bottom])),s),H(D(v,U(T=>T.items)),p);const S=Ke(D(v,X(({items:T})=>T.length>0),ee(i,n),X(([{items:T},w])=>T[T.length-1].originalIndex===w-1),U(([,T,w])=>[T-1,w]),xe(jn),U(([T])=>T))),x=Ke(D(v,St(200),X(({items:T,topItems:w})=>T.length>0&&T[0].originalIndex===w.length),U(({items:T})=>T[0].index),xe())),E=Ke(D(v,X(({items:T})=>T.length>0),U(({items:T})=>{let w=0,C=T.length-1;for(;T[w].type==="group"&&w<C;)w++;for(;T[C].type==="group"&&C>w;)C--;return{endIndex:T[C].index,startIndex:T[w].index}}),xe(vs)));return{endReached:S,initialItemCount:u,itemsRendered:p,listState:v,minOverscanItemCount:_,rangeChanged:E,startReached:x,topItemsIndexes:g,...b}},ye(pt,ws,Ii,Yn,Wn,Vn,Wt,Oi),{singleton:!0}),Bs=le(([{fixedFooterHeight:n,fixedHeaderHeight:e,footerHeight:t,headerHeight:o},{listState:i}])=>{const r=ie(),s=ze(D(Re(t,n,o,e,i),U(([a,c,f,m,h])=>a+c+f+m+h.offsetBottom+h.bottom)),0);return H(G(s),r),{totalListHeight:s,totalListHeightChanged:r}},ye(je,nn),{singleton:!0}),Ic=le(([{viewportHeight:n},{totalListHeight:e}])=>{const t=I(!1),o=ze(D(Re(t,n,e),X(([i])=>i),U(([,i,r])=>Math.max(0,i-r)),St(0),xe()),0);return{alignToBottom:t,paddingTopAddition:o}},ye(je,Bs),{singleton:!0}),Ms=le(()=>({context:I(null)})),Bc=({itemBottom:n,itemTop:e,locationParams:{align:t,behavior:o,...i},viewportBottom:r,viewportTop:s})=>e<s?{...i,align:t??"start",behavior:o}:n>r?{...i,align:t??"end",behavior:o}:null,ks=le(([{gap:n,sizes:e,totalCount:t},{fixedFooterHeight:o,fixedHeaderHeight:i,headerHeight:r,scrollingInProgress:s,scrollTop:a,viewportHeight:c},{scrollToIndex:f}])=>{const m=ie();return H(D(m,ee(e,c,t,r,i,o,a),ee(n),U(([[h,b,d,l,g,u,p,_],v])=>{const{align:S,behavior:x,calculateViewLocation:E=Bc,done:T,...w}=h,C=Es(h,b,l-1),O=Hn(C,b.offsetTree,v)+g+u,L=O+ut(b.sizeTree,C)[1],R=_+u,F=_+d-p,k=E({itemBottom:L,itemTop:O,locationParams:{align:S,behavior:x,...w},viewportBottom:F,viewportTop:R});return k?T&&ct(D(s,X(B=>!B),Qt(Ee(s)?1:2)),T):T==null||T(),k}),X(h=>h!==null)),f),{scrollIntoView:m}},ye(pt,je,Wn,nn,jt),{singleton:!0});function zs(n){return n?n==="smooth"?"smooth":"auto":!1}const Mc=(n,e)=>typeof n=="function"?zs(n(e)):e&&zs(n),kc=le(([{listRefresh:n,totalCount:e,fixedItemSize:t,data:o},{atBottomState:i,isAtBottom:r},{scrollToIndex:s},{scrolledToInitialItem:a},{didMount:c,propsReady:f},{log:m},{scrollingInProgress:h},{context:b},{scrollIntoView:d}])=>{const l=I(!1),g=ie();let u=null;function p(x){Q(s,{align:"end",behavior:x,index:"LAST"})}ue(D(Re(D(G(e),Qt(1)),c),ee(G(l),r,a,h),U(([[x,E],T,w,C,O])=>{let L=E&&C,R="auto";return L&&(R=Mc(T,w||O),L=L&&!!R),{followOutputBehavior:R,shouldFollow:L,totalCount:x}}),X(({shouldFollow:x})=>x)),({followOutputBehavior:x,totalCount:E})=>{u&&(u(),u=null),Ee(t)?requestAnimationFrame(()=>{Ee(m)("following output to ",{totalCount:E},Ve.DEBUG),p(x)}):u=ct(n,()=>{Ee(m)("following output to ",{totalCount:E},Ve.DEBUG),p(x),u=null})});function _(x){const E=ct(i,T=>{x&&!T.atBottom&&T.notAtBottomBecause==="SIZE_INCREASED"&&!u&&(Ee(m)("scrolling to bottom due to increased size",{},Ve.DEBUG),p("auto"))});setTimeout(E,100)}ue(D(Re(G(l),e,f),X(([x,,E])=>x&&E),gt(({value:x},[,E])=>({refreshed:x===E,value:E}),{refreshed:!1,value:0}),X(({refreshed:x})=>x),ee(l,e)),([,x])=>{Ee(a)&&_(x!==!1)}),ue(g,()=>{_(Ee(l)!==!1)}),ue(Re(G(l),i),([x,E])=>{x&&!E.atBottom&&E.notAtBottomBecause==="VIEWPORT_HEIGHT_DECREASING"&&p("auto")});const v=I(null),S=ie();return H(xi(D(G(o),U(x=>{var E;return(E=x==null?void 0:x.length)!=null?E:0})),D(G(e))),S),ue(D(Re(D(S,Qt(1)),c),ee(G(v),a,h,b),U(([[x,E],T,w,C,O])=>E&&w&&(T==null?void 0:T({context:O,totalCount:x,scrollingInProgress:C}))),X(x=>!!x),St(0)),x=>{u&&(u(),u=null),Ee(t)?requestAnimationFrame(()=>{Ee(m)("scrolling into view",{}),Q(d,x)}):u=ct(n,()=>{Ee(m)("scrolling into view",{}),Q(d,x),u=null})}),{autoscrollToBottom:g,followOutput:l,scrollIntoViewOnChange:v}},ye(pt,Vn,Wn,Yn,Wt,jt,je,Ms,ks)),zc=le(([{data:n,firstItemIndex:e,gap:t,sizes:o},{initialTopMostItemIndex:i},{initialItemCount:r,listState:s},{didMount:a}])=>(H(D(a,ee(r),X(([,c])=>c!==0),ee(i,o,e,t,n),U(([[,c],f,m,h,b,d=[]])=>Ls(c,f,m,h,b,d))),s),{}),ye(pt,Yn,nn,Wt),{singleton:!0}),Fc=le(([{didMount:n},{scrollTo:e},{listState:t}])=>{const o=I(0);return ue(D(n,ee(o),X(([,i])=>i!==0),U(([,i])=>({top:i}))),i=>{ct(D(t,Qt(1),X(r=>r.items.length>1)),()=>{requestAnimationFrame(()=>{Q(e,i)})})}),{initialScrollTop:o}},ye(Wt,je,nn),{singleton:!0}),Fs=le(([{scrollVelocity:n}])=>{const e=I(!1),t=ie(),o=I(!1);return H(D(n,ee(o,e,t),X(([i,r])=>!!r),U(([i,r,s,a])=>{const{enter:c,exit:f}=r;if(s){if(f(i,a))return!1}else if(c(i,a))return!0;return s}),xe()),e),ue(D(Re(e,n,t),ee(o)),([[i,r,s],a])=>{i&&a&&a.change&&a.change(r,s)}),{isSeeking:e,scrollSeekConfiguration:o,scrollSeekRangeChanged:t,scrollVelocity:n}},ye(Vn),{singleton:!0}),Mi=le(([{scrollContainerState:n,scrollTo:e}])=>{const t=ie(),o=ie(),i=ie(),r=I(!1),s=I(void 0);return H(D(Re(t,o),U(([{scrollHeight:a,scrollTop:c,viewportHeight:f},{offsetTop:m}])=>({scrollHeight:a,scrollTop:Math.max(0,c-m),viewportHeight:f}))),n),H(D(e,ee(o),U(([a,{offsetTop:c}])=>({...a,top:a.top+c}))),i),{customScrollParent:s,useWindowScroll:r,windowScrollContainerState:t,windowScrollTo:i,windowViewportRect:o}},ye(je)),Uc=le(([{sizeRanges:n,sizes:e},{headerHeight:t,scrollTop:o},{initialTopMostItemIndex:i},{didMount:r},{useWindowScroll:s,windowScrollContainerState:a,windowViewportRect:c}])=>{const f=ie(),m=I(void 0),h=I(null),b=I(null);return H(a,h),H(c,b),ue(D(f,ee(e,o,s,h,b,t)),([d,l,g,u,p,_,v])=>{const S=xc(l.sizeTree);u&&p!==null&&_!==null&&(g=p.scrollTop-_.offsetTop),g-=v,d({ranges:S,scrollTop:g})}),H(D(m,X(vi),U(Pc)),i),H(D(r,ee(m),X(([,d])=>d!==void 0),xe(),U(([,d])=>d.ranges)),n),{getState:f,restoreStateFrom:m}},ye(pt,je,Yn,Wt,Mi));function Pc(n){return{align:"start",index:0,offset:n.scrollTop}}const jc=le(([{topItemsIndexes:n}])=>{const e=I(0);return H(D(e,X(t=>t>=0),U(t=>Array.from({length:t}).map((o,i)=>i))),n),{topItemCount:e}},ye(nn));function Us(n){let e=!1,t;return()=>(e||(e=!0,t=n()),t)}const Hc=Us(()=>/iP(ad|od|hone)/i.test(navigator.userAgent)&&/WebKit/i.test(navigator.userAgent)),Wc=le(([{deviation:n,scrollBy:e,scrollingInProgress:t,scrollTop:o},{isAtBottom:i,isScrolling:r,lastJumpDueToItemResize:s,scrollDirection:a},{listState:c},{beforeUnshiftWith:f,gap:m,shiftWithOffset:h,sizes:b},{log:d},{recalcInProgress:l}])=>{const g=Ke(D(c,ee(s),gt(([,p,_,v],[{bottom:S,items:x,offsetBottom:E,totalCount:T},w])=>{const C=S+E;let O=0;return _===T&&p.length>0&&x.length>0&&(x[0].originalIndex===0&&p[0].originalIndex===0||(O=C-v,O!==0&&(O+=w))),[O,x,T,C]},[0,[],0,0]),X(([p])=>p!==0),ee(o,a,t,i,d,l),X(([,p,_,v,,,S])=>!S&&!v&&p!==0&&_===Xn),U(([[p],,,,,_])=>(_("Upward scrolling compensation",{amount:p},Ve.DEBUG),p))));function u(p){p>0?(Q(e,{behavior:"auto",top:-p}),Q(n,0)):(Q(n,0),Q(e,{behavior:"auto",top:-p}))}return ue(D(g,ee(n,r)),([p,_,v])=>{v&&Hc()?Q(n,_-p):u(-p)}),ue(D(Re(ze(r,!1),n,l),X(([p,_,v])=>!p&&!v&&_!==0),U(([p,_])=>_),St(1)),u),H(D(h,U(p=>({top:-p}))),e),ue(D(f,ee(b,m),U(([p,{groupIndices:_,lastSize:v,sizeTree:S},x])=>{function E(T){return T*(v+x)}if(_.length===0)return E(p);{let T=0;const w=Pn(S,0);let C=0,O=0;for(;C<p;){C++,T+=w;let L=_.length===O+1?1/0:_[O+1]-_[O]-1;C+L>p&&(T-=w,L=p-C+1),C+=L,T+=E(L),O++}return T}})),p=>{Q(n,p),requestAnimationFrame(()=>{Q(e,{top:p}),requestAnimationFrame(()=>{Q(n,0),Q(l,!1)})})}),{deviation:n}},ye(je,Vn,nn,pt,jt,Oi)),Yc=le(([n,e,t,o,i,r,s,a,c,f,m])=>({...n,...e,...t,...o,...i,...r,...s,...a,...c,...f,...m}),ye(Ii,zc,Wt,Fs,Bs,Fc,Ic,Mi,ks,jt,Ms)),Ps=le(([{data:n,defaultItemSize:e,firstItemIndex:t,fixedItemSize:o,fixedGroupSize:i,gap:r,groupIndices:s,heightEstimates:a,itemSize:c,sizeRanges:f,sizes:m,statefulTotalCount:h,totalCount:b,trackItemSizes:d},{initialItemFinalLocationReached:l,initialTopMostItemIndex:g,scrolledToInitialItem:u},p,_,v,S,{scrollToIndex:x},E,{topItemCount:T},{groupCounts:w},C])=>{const{listState:O,minOverscanItemCount:L,topItemsIndexes:R,rangeChanged:F,...k}=S;return H(F,C.scrollSeekRangeChanged),H(D(C.windowViewportRect,U(B=>B.visibleHeight)),p.viewportHeight),{data:n,defaultItemHeight:e,firstItemIndex:t,fixedItemHeight:o,fixedGroupHeight:i,gap:r,groupCounts:w,heightEstimates:a,initialItemFinalLocationReached:l,initialTopMostItemIndex:g,scrolledToInitialItem:u,sizeRanges:f,topItemCount:T,topItemsIndexes:R,totalCount:b,...v,groupIndices:s,itemSize:c,listState:O,minOverscanItemCount:L,scrollToIndex:x,statefulTotalCount:h,trackItemSizes:d,rangeChanged:F,...k,...C,...p,sizes:m,..._}},ye(pt,Yn,je,Uc,kc,nn,Wn,Wc,jc,ws,Yc));function Xc(n,e){const t={},o={};let i=0;const r=n.length;for(;i<r;)o[n[i]]=1,i+=1;for(const s in e)Object.hasOwn(o,s)||(t[s]=e[s]);return t}const No=typeof document<"u"?A.useLayoutEffect:A.useEffect;function js(n,e,t){const o=Object.keys(e.required||{}),i=Object.keys(e.optional||{}),r=Object.keys(e.methods||{}),s=Object.keys(e.events||{}),a=A.createContext({});function c(u,p){u.propsReady&&Q(u.propsReady,!1);for(const _ of o){const v=u[e.required[_]];Q(v,p[_])}for(const _ of i)if(_ in p){const v=u[e.optional[_]];Q(v,p[_])}u.propsReady&&Q(u.propsReady,!0)}function f(u){return r.reduce((p,_)=>(p[_]=v=>{const S=u[e.methods[_]];Q(S,v)},p),{})}function m(u){return s.reduce((p,_)=>(p[_]=ac(u[e.events[_]]),p),{})}const h=A.forwardRef((u,p)=>{const{children:_,...v}=u,[S]=A.useState(()=>So(dc(n),T=>{c(T,v)})),[x]=A.useState(ds(m,S));No(()=>{for(const T of s)T in v&&ue(x[T],v[T]);return()=>{Object.values(x).map(yi)}},[v,x,S]),No(()=>{c(S,v)}),A.useImperativeHandle(p,as(f(S)));const E=t;return y.jsx(a.Provider,{value:S,children:t?y.jsx(E,{...Xc([...o,...i,...s],v),children:_}):_})}),b=u=>{const p=A.useContext(a);return A.useCallback(_=>{Q(p[u],_)},[p,u])},d=u=>{const p=A.useContext(a)[u],_=A.useCallback(v=>ue(p,v),[p]);return A.useSyncExternalStore(_,()=>Ee(p),()=>Ee(p))},l=u=>{const p=A.useContext(a)[u],[_,v]=A.useState(ds(Ee,p));return No(()=>ue(p,S=>{S!==_&&v(as(S))}),[p,_]),_},g=A.version.startsWith("18")?d:l;return{Component:h,useEmitter:(u,p)=>{const _=A.useContext(a)[u];No(()=>ue(_,p),[p,_])},useEmitterValue:g,usePublisher:b}}const Hs=A.createContext(void 0),Ws=A.createContext(void 0),Ys=typeof document<"u"?A.useLayoutEffect:A.useEffect;function ki(n){return"self"in n}function Gc(n){return"body"in n}function Xs(n,e,t,o=hn,i,r){const s=A.useRef(null),a=A.useRef(null),c=A.useRef(null),f=A.useCallback(b=>{let d,l,g;const u=b.target;if(Gc(u)||ki(u)){const _=ki(u)?u:u.defaultView;g=r?_.scrollX:_.scrollY,d=r?_.document.documentElement.scrollWidth:_.document.documentElement.scrollHeight,l=r?_.innerWidth:_.innerHeight}else g=r?u.scrollLeft:u.scrollTop,d=r?u.scrollWidth:u.scrollHeight,l=r?u.offsetWidth:u.offsetHeight;const p=()=>{n({scrollHeight:d,scrollTop:Math.max(g,0),viewportHeight:l})};b.suppressFlushSync?p():At.flushSync(p),a.current!==null&&(g===a.current||g<=0||g===d-l)&&(a.current=null,e(!0),c.current&&(clearTimeout(c.current),c.current=null))},[n,e,r]);A.useEffect(()=>{const b=i||s.current;return o(i||s.current),f({suppressFlushSync:!0,target:b}),b.addEventListener("scroll",f,{passive:!0}),()=>{o(null),b.removeEventListener("scroll",f)}},[s,f,t,o,i]);function m(b){const d=s.current;if(!d||(r?"offsetWidth"in d&&d.offsetWidth===0:"offsetHeight"in d&&d.offsetHeight===0))return;const l=b.behavior==="smooth";let g,u,p;ki(d)?(u=Math.max(Ht(d.document.documentElement,r?"width":"height"),r?d.document.documentElement.scrollWidth:d.document.documentElement.scrollHeight),g=r?d.innerWidth:d.innerHeight,p=r?window.scrollX:window.scrollY):(u=d[r?"scrollWidth":"scrollHeight"],g=Ht(d,r?"width":"height"),p=d[r?"scrollLeft":"scrollTop"]);const _=u-g;if(b.top=Math.ceil(Math.max(Math.min(_,b.top),0)),As(g,u)||b.top===p){n({scrollHeight:u,scrollTop:p,viewportHeight:g}),l&&e(!0);return}l?(a.current=b.top,c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,a.current=null,e(!0)},1e3)):a.current=null,r&&(b={behavior:b.behavior,left:b.top}),d.scrollTo(b)}function h(b){r&&(b={behavior:b.behavior,left:b.top}),s.current.scrollBy(b)}return{scrollByCallback:h,scrollerRef:s,scrollToCallback:m}}const zi="-webkit-sticky",Gs="sticky",Fi=Us(()=>{if(typeof document>"u")return Gs;const n=document.createElement("div");return n.style.position=zi,n.style.position===zi?zi:Gs});function Ui(n){return n}const Vc=le(()=>{const n=I(a=>`Item ${a}`),e=I(a=>`Group ${a}`),t=I({}),o=I(Ui),i=I("div"),r=I(hn),s=(a,c=null)=>ze(D(t,U(f=>f[a]),xe()),c);return{components:t,computeItemKey:o,EmptyPlaceholder:s("EmptyPlaceholder"),FooterComponent:s("Footer"),GroupComponent:s("Group","div"),groupContent:e,HeaderComponent:s("Header"),HeaderFooterTag:i,ItemComponent:s("Item","div"),itemContent:n,ListComponent:s("List","div"),ScrollerComponent:s("Scroller","div"),scrollerRef:r,ScrollSeekPlaceholder:s("ScrollSeekPlaceholder"),TopItemListComponent:s("TopItemList")}}),$c=le(([n,e])=>({...n,...e}),ye(Ps,Vc)),Jc=({height:n})=>y.jsx("div",{style:{height:n}}),Zc={overflowAnchor:"none",position:Fi(),zIndex:1},Vs={overflowAnchor:"none"},qc={...Vs,display:"inline-block",height:"100%"},$s=A.memo(function({showTopList:n=!1}){const e=J("listState"),t=nt("sizeRanges"),o=J("useWindowScroll"),i=J("customScrollParent"),r=nt("windowScrollContainerState"),s=nt("scrollContainerState"),a=i||o?r:s,c=J("itemContent"),f=J("context"),m=J("groupContent"),h=J("trackItemSizes"),b=J("itemSize"),d=J("log"),l=nt("gap"),g=J("horizontalDirection"),{callbackRef:u}=hc(t,b,h,n?hn:a,d,l,i,g,J("skipAnimationFrameInResizeObserver")),[p,_]=A.useState(0);Pi("deviation",k=>{p!==k&&_(k)});const v=J("EmptyPlaceholder"),S=J("ScrollSeekPlaceholder")||Jc,x=J("ListComponent"),E=J("ItemComponent"),T=J("GroupComponent"),w=J("computeItemKey"),C=J("isSeeking"),O=J("groupIndices").length>0,L=J("alignToBottom"),R=J("initialItemFinalLocationReached"),F=n?{}:{boxSizing:"border-box",...g?{display:"inline-block",height:"100%",marginLeft:p!==0?p:L?"auto":0,paddingLeft:e.offsetTop,paddingRight:e.offsetBottom,whiteSpace:"nowrap"}:{marginTop:p!==0?p:L?"auto":0,paddingBottom:e.offsetBottom,paddingTop:e.offsetTop},...R?{}:{visibility:"hidden"}};return!n&&e.totalCount===0&&v?y.jsx(v,{...Fe(v,f)}):y.jsx(x,{...Fe(x,f),"data-testid":n?"virtuoso-top-item-list":"virtuoso-item-list",ref:u,style:F,children:(n?e.topItems:e.items).map(k=>{const B=k.originalIndex,Y=w(B+e.firstItemIndex,k.data,f);return C?A.createElement(S,{...Fe(S,f),height:k.size,index:k.index,key:Y,type:k.type||"item",...k.type==="group"?{}:{groupIndex:k.groupIndex}}):k.type==="group"?A.createElement(T,{...Fe(T,f),"data-index":B,"data-item-index":k.index,"data-known-size":k.size,key:Y,style:Zc},m(k.index,f)):A.createElement(E,{...Fe(E,f),...tu(E,k.data),"data-index":B,"data-item-group-index":k.groupIndex,"data-item-index":k.index,"data-known-size":k.size,key:Y,style:g?qc:Vs},O?c(k.index,k.groupIndex,k.data,f):c(k.index,k.data,f))})})}),Kc={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},Qc={outline:"none",overflowX:"auto",position:"relative"},Co=n=>({height:"100%",position:"absolute",top:0,width:"100%",...n?{display:"flex",flexDirection:"column"}:{}}),eu={position:Fi(),top:0,width:"100%",zIndex:1};function Fe(n,e){if(typeof n!="string")return{context:e}}function tu(n,e){return{item:typeof n=="string"?void 0:e}}const nu=A.memo(function(){const n=J("HeaderComponent"),e=nt("headerHeight"),t=J("HeaderFooterTag"),o=en(A.useMemo(()=>r=>{e(Ht(r,"height"))},[e]),!0,J("skipAnimationFrameInResizeObserver")),i=J("context");return n?y.jsx(t,{ref:o,children:y.jsx(n,{...Fe(n,i)})}):null}),ou=A.memo(function(){const n=J("FooterComponent"),e=nt("footerHeight"),t=J("HeaderFooterTag"),o=en(A.useMemo(()=>r=>{e(Ht(r,"height"))},[e]),!0,J("skipAnimationFrameInResizeObserver")),i=J("context");return n?y.jsx(t,{ref:o,children:y.jsx(n,{...Fe(n,i)})}):null});function Js({useEmitter:n,useEmitterValue:e,usePublisher:t}){return A.memo(function({children:o,style:i,context:r,...s}){const a=t("scrollContainerState"),c=e("ScrollerComponent"),f=t("smoothScrollTargetReached"),m=e("scrollerRef"),h=e("horizontalDirection")||!1,{scrollByCallback:b,scrollerRef:d,scrollToCallback:l}=Xs(a,f,c,m,void 0,h);return n("scrollTo",l),n("scrollBy",b),y.jsx(c,{"data-testid":"virtuoso-scroller","data-virtuoso-scroller":!0,ref:d,style:{...h?Qc:Kc,...i},tabIndex:0,...s,...Fe(c,r),children:o})})}function Zs({useEmitter:n,useEmitterValue:e,usePublisher:t}){return A.memo(function({children:o,style:i,context:r,...s}){const a=t("windowScrollContainerState"),c=e("ScrollerComponent"),f=t("smoothScrollTargetReached"),m=e("totalListHeight"),h=e("deviation"),b=e("customScrollParent"),d=A.useRef(null),l=e("scrollerRef"),{scrollByCallback:g,scrollerRef:u,scrollToCallback:p}=Xs(a,f,c,l,b);return Ys(()=>{var _;return u.current=b||((_=d.current)==null?void 0:_.ownerDocument.defaultView),()=>{u.current=null}},[u,b]),n("windowScrollTo",p),n("scrollBy",g),y.jsx(c,{ref:d,"data-virtuoso-scroller":!0,style:{position:"relative",...i,...m!==0?{height:m+h}:{}},...s,...Fe(c,r),children:o})})}const iu=({children:n})=>{const e=A.useContext(Hs),t=nt("viewportHeight"),o=nt("fixedItemHeight"),i=J("alignToBottom"),r=J("horizontalDirection"),s=A.useMemo(()=>ls(t,c=>Ht(c,r?"width":"height")),[t,r]),a=en(s,!0,J("skipAnimationFrameInResizeObserver"));return A.useEffect(()=>{e&&(t(e.viewportHeight),o(e.itemHeight))},[e,t,o]),y.jsx("div",{"data-viewport-type":"element",ref:a,style:Co(i),children:n})},ru=({children:n})=>{const e=A.useContext(Hs),t=nt("windowViewportRect"),o=nt("fixedItemHeight"),i=J("customScrollParent"),r=fs(t,i,J("skipAnimationFrameInResizeObserver")),s=J("alignToBottom");return A.useEffect(()=>{e&&(o(e.itemHeight),t({offsetTop:0,visibleHeight:e.viewportHeight,visibleWidth:100}))},[e,t,o]),y.jsx("div",{"data-viewport-type":"window",ref:r,style:Co(s),children:n})},su=({children:n})=>{const e=J("TopItemListComponent")||"div",t=J("headerHeight"),o={...eu,marginTop:`${t}px`},i=J("context");return y.jsx(e,{style:o,...Fe(e,i),children:n})},au=A.memo(function(n){const e=J("useWindowScroll"),t=J("topItemsIndexes").length>0,o=J("customScrollParent"),i=J("context");return y.jsxs(o||e?cu:du,{...n,context:i,children:[t&&y.jsx(su,{children:y.jsx($s,{showTopList:!0})}),y.jsxs(o||e?ru:iu,{children:[y.jsx(nu,{}),y.jsx($s,{}),y.jsx(ou,{})]})]})}),{Component:lu,useEmitter:Pi,useEmitterValue:J,usePublisher:nt}=js($c,{required:{},optional:{restoreStateFrom:"restoreStateFrom",context:"context",followOutput:"followOutput",scrollIntoViewOnChange:"scrollIntoViewOnChange",itemContent:"itemContent",groupContent:"groupContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",minOverscanItemCount:"minOverscanItemCount",totalCount:"totalCount",groupCounts:"groupCounts",topItemCount:"topItemCount",firstItemIndex:"firstItemIndex",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",atBottomThreshold:"atBottomThreshold",atTopThreshold:"atTopThreshold",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedGroupHeight:"fixedGroupHeight",fixedItemHeight:"fixedItemHeight",heightEstimates:"heightEstimates",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"HeaderFooterTag",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",horizontalDirection:"horizontalDirection",skipAnimationFrameInResizeObserver:"skipAnimationFrameInResizeObserver"},methods:{scrollToIndex:"scrollToIndex",scrollIntoView:"scrollIntoView",scrollTo:"scrollTo",scrollBy:"scrollBy",autoscrollToBottom:"autoscrollToBottom",getState:"getState"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",totalListHeightChanged:"totalListHeightChanged",itemsRendered:"itemsRendered",groupIndices:"groupIndices"}},au),du=Js({useEmitter:Pi,useEmitterValue:J,usePublisher:nt}),cu=Zs({useEmitter:Pi,useEmitterValue:J,usePublisher:nt}),uu=lu;ye(Ps,le(()=>{const n=I(f=>y.jsxs("td",{children:["Item $",f]})),e=I(null),t=I(f=>y.jsxs("td",{colSpan:1e3,children:["Group ",f]})),o=I(null),i=I(null),r=I({}),s=I(Ui),a=I(hn),c=(f,m=null)=>ze(D(r,U(h=>h[f]),xe()),m);return{components:r,computeItemKey:s,context:e,EmptyPlaceholder:c("EmptyPlaceholder"),FillerRow:c("FillerRow"),fixedFooterContent:i,fixedHeaderContent:o,itemContent:n,groupContent:t,ScrollerComponent:c("Scroller","div"),scrollerRef:a,ScrollSeekPlaceholder:c("ScrollSeekPlaceholder"),TableBodyComponent:c("TableBody","tbody"),TableComponent:c("Table","table"),TableFooterComponent:c("TableFoot","tfoot"),TableHeadComponent:c("TableHead","thead"),TableRowComponent:c("TableRow","tr"),GroupComponent:c("Group","tr")}})),Fi();const qs={bottom:0,itemHeight:0,items:[],itemWidth:0,offsetBottom:0,offsetTop:0,top:0},hu={bottom:0,itemHeight:0,items:[{index:0}],itemWidth:0,offsetBottom:0,offsetTop:0,top:0},{ceil:Ks,floor:Lo,max:Zn,min:ji,round:Qs}=Math;function ea(n,e,t){return Array.from({length:e-n+1}).map((o,i)=>({data:t===null?null:t[i+n],index:i+n}))}function fu(n){return{...hu,items:n}}function Do(n,e){return n&&n.width===e.width&&n.height===e.height}function gu(n,e){return n&&n.column===e.column&&n.row===e.row}const pu=le(([{increaseViewportBy:n,listBoundary:e,overscan:t,visibleRange:o},{footerHeight:i,headerHeight:r,scrollBy:s,scrollContainerState:a,scrollTo:c,scrollTop:f,smoothScrollTargetReached:m,viewportHeight:h},b,d,{didMount:l,propsReady:g},{customScrollParent:u,useWindowScroll:p,windowScrollContainerState:_,windowScrollTo:v,windowViewportRect:S},x])=>{const E=I(0),T=I(0),w=I(qs),C=I({height:0,width:0}),O=I({height:0,width:0}),L=ie(),R=ie(),F=I(0),k=I(null),B=I({column:0,row:0}),Y=ie(),j=ie(),z=I(!1),V=I(0),ae=I(!0),N=I(!1),W=I(!1);ue(D(l,ee(V),X(([M,te])=>!!te)),()=>{Q(ae,!1)}),ue(D(Re(l,ae,O,C,V,N),X(([M,te,fe,we,,P])=>M&&!te&&fe.height!==0&&we.height!==0&&!P)),([,,,,M])=>{Q(N,!0),Li(1,()=>{Q(L,M)}),ct(D(f),()=>{Q(e,[0,0]),Q(ae,!0)})}),H(D(j,X(M=>M!=null&&M.scrollTop>0),ft(0)),T),ue(D(l,ee(j),X(([,M])=>M!=null)),([,M])=>{M&&(Q(C,M.viewport),Q(O,M.item),Q(B,M.gap),M.scrollTop>0&&(Q(z,!0),ct(D(f,Qt(1)),te=>{Q(z,!1)}),Q(c,{top:M.scrollTop})))}),H(D(C,U(({height:M})=>M)),h),H(D(Re(G(C,Do),G(O,Do),G(B,(M,te)=>M&&M.column===te.column&&M.row===te.row),G(f)),U(([M,te,fe,we])=>({gap:fe,item:te,scrollTop:we,viewport:M}))),Y),H(D(Re(G(E),o,G(B,gu),G(O,Do),G(C,Do),G(k),G(T),G(z),G(ae),G(V)),X(([,,,,,,,M])=>!M),U(([M,[te,fe],we,P,Z,de,Ae,,Oe,pe])=>{const{column:Te,row:it}=we,{height:Be,width:Yi}=P,{width:la}=Z;if(Ae===0&&(M===0||la===0))return qs;if(Yi===0){const fa=Di(pe,M),Pu=fa+Math.max(Ae-1,0);return fu(ea(fa,Pu,de))}const Io=ta(la,Yi,Te);let pn,on;Oe?te===0&&fe===0&&Ae>0?(pn=0,on=Ae-1):(pn=Io*Lo((te+it)/(Be+it)),on=Io*Ks((fe+it)/(Be+it))-1,on=ji(M-1,Zn(on,Io-1)),pn=ji(on,Zn(0,pn))):(pn=0,on=-1);const da=ea(pn,on,de),{bottom:ca,top:ua}=na(Z,we,P,da),ha=Ks(M/Io),Uu=ha*Be+(ha-1)*it-ca;return{bottom:ca,itemHeight:Be,items:da,itemWidth:Yi,offsetBottom:Uu,offsetTop:ua,top:ua}})),w),H(D(k,X(M=>M!==null),U(M=>M.length)),E),H(D(Re(C,O,w,B),X(([M,te,{items:fe}])=>fe.length>0&&te.height!==0&&M.height!==0),U(([M,te,{items:fe},we])=>{const{bottom:P,top:Z}=na(M,we,te,fe);return[Z,P]}),xe(jn)),e);const oe=I(!1);H(D(f,ee(oe),U(([M,te])=>te||M!==0)),oe);const he=Ke(D(Re(w,E),X(([{items:M}])=>M.length>0),ee(oe),X(([[M,te],fe])=>{const we=M.items[M.items.length-1].index===te-1;return(fe||M.bottom>0&&M.itemHeight>0&&M.offsetBottom===0&&M.items.length===te)&&we}),U(([[,M]])=>M-1),xe())),$e=Ke(D(G(w),X(({items:M})=>M.length>0&&M[0].index===0),ft(0),xe())),Je=Ke(D(G(w),ee(z),X(([{items:M},te])=>M.length>0&&!te),U(([{items:M}])=>({endIndex:M[M.length-1].index,startIndex:M[0].index})),xe(vs),St(0)));H(Je,d.scrollSeekRangeChanged),H(D(L,ee(C,O,E,B),U(([M,te,fe,we,P])=>{const Z=Rs(M),{align:de,behavior:Ae,offset:Oe}=Z;let pe=Z.index;pe==="LAST"&&(pe=we-1),pe=Zn(0,pe,ji(we-1,pe));let Te=Hi(te,P,fe,pe);return de==="end"?Te=Qs(Te-te.height+fe.height):de==="center"&&(Te=Qs(Te-te.height/2+fe.height/2)),Oe&&(Te+=Oe),{behavior:Ae,top:Te}})),c);const re=ze(D(w,U(M=>M.offsetBottom+M.bottom)),0);return H(D(S,U(M=>({height:M.visibleHeight,width:M.visibleWidth}))),C),{customScrollParent:u,data:k,deviation:F,footerHeight:i,gap:B,headerHeight:r,increaseViewportBy:n,initialItemCount:T,itemDimensions:O,overscan:t,restoreStateFrom:j,scrollBy:s,scrollContainerState:a,scrollHeight:R,scrollTo:c,scrollToIndex:L,scrollTop:f,smoothScrollTargetReached:m,totalCount:E,useWindowScroll:p,viewportDimensions:C,windowScrollContainerState:_,windowScrollTo:v,windowViewportRect:S,...d,gridState:w,horizontalDirection:W,initialTopMostItemIndex:V,totalListHeight:re,...b,endReached:he,propsReady:g,rangeChanged:Je,startReached:$e,stateChanged:Y,stateRestoreInProgress:z,...x}},ye(Ii,je,Vn,Fs,Wt,Mi,jt));function ta(n,e,t){return Zn(1,Lo((n+t)/(Lo(e)+t)))}function na(n,e,t,o){const{height:i}=t;if(i===void 0||o.length===0)return{bottom:0,top:0};const r=Hi(n,e,t,o[0].index);return{bottom:Hi(n,e,t,o[o.length-1].index)+i,top:r}}function Hi(n,e,t,o){const i=ta(n.width,t.width,e.column),r=Lo(o/i),s=r*t.height+Zn(0,r-1)*e.row;return s>0?s+e.row:s}const mu=le(()=>{const n=I(h=>`Item ${h}`),e=I({}),t=I(null),o=I("virtuoso-grid-item"),i=I("virtuoso-grid-list"),r=I(Ui),s=I("div"),a=I(hn),c=(h,b=null)=>ze(D(e,U(d=>d[h]),xe()),b),f=I(!1),m=I(!1);return H(G(m),f),{components:e,computeItemKey:r,context:t,FooterComponent:c("Footer"),HeaderComponent:c("Header"),headerFooterTag:s,itemClassName:o,ItemComponent:c("Item","div"),itemContent:n,listClassName:i,ListComponent:c("List","div"),readyStateChanged:f,reportReadyState:m,ScrollerComponent:c("Scroller","div"),scrollerRef:a,ScrollSeekPlaceholder:c("ScrollSeekPlaceholder","div")}}),_u=le(([n,e])=>({...n,...e}),ye(pu,mu)),bu=A.memo(function(){const n=Se("gridState"),e=Se("listClassName"),t=Se("itemClassName"),o=Se("itemContent"),i=Se("computeItemKey"),r=Se("isSeeking"),s=ot("scrollHeight"),a=Se("ItemComponent"),c=Se("ListComponent"),f=Se("ScrollSeekPlaceholder"),m=Se("context"),h=ot("itemDimensions"),b=ot("gap"),d=Se("log"),l=Se("stateRestoreInProgress"),g=ot("reportReadyState"),u=en(A.useMemo(()=>p=>{const _=p.parentElement.parentElement.scrollHeight;s(_);const v=p.firstChild;if(v){const{height:S,width:x}=v.getBoundingClientRect();h({height:S,width:x})}b({column:ia("column-gap",getComputedStyle(p).columnGap,d),row:ia("row-gap",getComputedStyle(p).rowGap,d)})},[s,h,b,d]),!0,!1);return Ys(()=>{n.itemHeight>0&&n.itemWidth>0&&g(!0)},[n]),l?null:y.jsx(c,{className:e,ref:u,...Fe(c,m),"data-testid":"virtuoso-item-list",style:{paddingBottom:n.offsetBottom,paddingTop:n.offsetTop},children:n.items.map(p=>{const _=i(p.index,p.data,m);return r?y.jsx(f,{...Fe(f,m),height:n.itemHeight,index:p.index,width:n.itemWidth},_):A.createElement(a,{...Fe(a,m),className:t,"data-index":p.index,key:_},o(p.index,p.data,m))})})}),Tu=A.memo(function(){const n=Se("HeaderComponent"),e=ot("headerHeight"),t=Se("headerFooterTag"),o=en(A.useMemo(()=>r=>{e(Ht(r,"height"))},[e]),!0,!1),i=Se("context");return n?y.jsx(t,{ref:o,children:y.jsx(n,{...Fe(n,i)})}):null}),vu=A.memo(function(){const n=Se("FooterComponent"),e=ot("footerHeight"),t=Se("headerFooterTag"),o=en(A.useMemo(()=>r=>{e(Ht(r,"height"))},[e]),!0,!1),i=Se("context");return n?y.jsx(t,{ref:o,children:y.jsx(n,{...Fe(n,i)})}):null}),yu=({children:n})=>{const e=A.useContext(Ws),t=ot("itemDimensions"),o=ot("viewportDimensions"),i=en(A.useMemo(()=>r=>{o(r.getBoundingClientRect())},[o]),!0,!1);return A.useEffect(()=>{e&&(o({height:e.viewportHeight,width:e.viewportWidth}),t({height:e.itemHeight,width:e.itemWidth}))},[e,o,t]),y.jsx("div",{ref:i,style:Co(!1),children:n})},xu=({children:n})=>{const e=A.useContext(Ws),t=ot("windowViewportRect"),o=ot("itemDimensions"),i=Se("customScrollParent"),r=fs(t,i,!1);return A.useEffect(()=>{e&&(o({height:e.itemHeight,width:e.itemWidth}),t({offsetTop:0,visibleHeight:e.viewportHeight,visibleWidth:e.viewportWidth}))},[e,t,o]),y.jsx("div",{ref:r,style:Co(!1),children:n})},Eu=A.memo(function({...n}){const e=Se("useWindowScroll"),t=Se("customScrollParent"),o=t||e?wu:Su,i=t||e?xu:yu,r=Se("context");return y.jsx(o,{...n,...Fe(o,r),children:y.jsxs(i,{children:[y.jsx(Tu,{}),y.jsx(bu,{}),y.jsx(vu,{})]})})}),{useEmitter:oa,useEmitterValue:Se,usePublisher:ot}=js(_u,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex",increaseViewportBy:"increaseViewportBy"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged",readyStateChanged:"readyStateChanged"}},Eu),Su=Js({useEmitter:oa,useEmitterValue:Se,usePublisher:ot}),wu=Zs({useEmitter:oa,useEmitterValue:Se,usePublisher:ot});function ia(n,e,t){return e!=="normal"&&!(e!=null&&e.endsWith("px"))&&t(`${n} was not resolved to pixel value correctly`,e,Ve.WARN),e==="normal"?0:parseInt(e??"0",10)}const Ru=({x:n,y:e,items:t,onClose:o})=>{const i=A.useRef(null);return A.useEffect(()=>{const r=s=>{i.current&&!i.current.contains(s.target)&&o()};return document.addEventListener("mousedown",r),()=>document.removeEventListener("mousedown",r)},[o]),y.jsx("div",{ref:i,className:"fixed z-[1000] min-w-[160px] bg-popover text-popover-foreground border shadow-md rounded-md py-1 animate-in fade-in zoom-in-95 duration-100",style:{top:e,left:n},children:t.map((r,s)=>y.jsxs(A.Fragment,{children:[r.divider&&y.jsx("div",{className:"h-[1px] bg-border my-1"}),y.jsxs("div",{className:"px-3 py-1.5 hover:bg-accent hover:text-accent-foreground cursor-pointer text-xs flex items-center",onClick:()=>{r.onClick(),o()},children:[r.icon&&y.jsx("span",{className:"mr-2 opacity-70",children:r.icon}),y.jsx("span",{children:r.label})]})]},s))})};function Au(...n){return Kt(qt(n))}const ra=({data:n,onMoveNode:e,onNewFile:t,onNewFolder:o,onRename:i,onDelete:r})=>{const[s,a]=A.useState(b(n)),[c,f]=A.useState(null),[m,h]=A.useState(null);A.useEffect(()=>{a(b(n))},[n]);function b(S,x=0){return S.reduce((E,T)=>{const w={...T,level:x};return E.push(w),w.isOpen&&w.children&&E.push(...b(w.children,x+1)),E},[])}const d=S=>{const x=E=>E.map(T=>T.id===S?{...T,isOpen:!T.isOpen}:T.children?{...T,children:x(T.children)}:T);a(b(x(n)))},l=(S,x)=>{S.dataTransfer.setData("text/plain",x),S.dataTransfer.effectAllowed="move"},g=(S,x,E)=>{S.preventDefault(),E==="folder"&&h(x)},u=()=>{h(null)},p=(S,x,E)=>{S.preventDefault(),h(null);const T=S.dataTransfer.getData("text/plain");T&&T!==x&&E==="folder"&&e&&e(T,x)},_=(S,x)=>{S.preventDefault(),f({x:S.clientX,y:S.clientY,nodeId:x.id,type:x.type})},v=[{label:"New File",icon:y.jsx(rd,{size:14}),onClick:()=>c&&(t==null?void 0:t(c.nodeId))},{label:"New Folder",icon:y.jsx(ql,{size:14}),onClick:()=>c&&(o==null?void 0:o(c.nodeId))},{label:"Rename",icon:y.jsx(ld,{size:14}),divider:!0,onClick:()=>c&&(i==null?void 0:i(c.nodeId))},{label:"Delete",icon:y.jsx(cd,{size:14,className:"text-destructive"}),onClick:()=>c&&(r==null?void 0:r(c.nodeId))}];return y.jsxs("div",{className:"h-full w-full bg-muted/30",children:[y.jsx(uu,{style:{height:"100%"},totalCount:s.length,itemContent:S=>{const x=s[S];return y.jsxs("div",{draggable:!0,onDragStart:E=>l(E,x.id),onDragOver:E=>g(E,x.id,x.type),onDragLeave:u,onDrop:E=>p(E,x.id,x.type),className:Au("flex items-center py-1 px-2 cursor-pointer hover:bg-accent hover:text-accent-foreground select-none text-xs","transition-colors duration-150 relative",m===x.id&&"bg-primary/20 ring-1 ring-primary/50 rounded-sm"),style:{paddingLeft:`${(x.level||0)*12+8}px`},onClick:()=>x.type==="folder"&&d(x.id),onContextMenu:E=>_(E,x),children:[y.jsx("div",{className:"w-4 h-4 mr-1 flex items-center justify-center",children:x.type==="folder"?x.isOpen?y.jsx(Gl,{size:14}):y.jsx(Ar,{size:14}):null}),y.jsx("div",{className:"mr-2",children:x.type==="folder"?y.jsx(Kl,{size:14,className:"text-blue-400 fill-blue-400/20"}):y.jsx(Jl,{size:14,className:"text-muted-foreground"})}),y.jsx("span",{className:"truncate",children:x.label})]})}}),c&&y.jsx(Ru,{x:c.x,y:c.y,items:v,onClose:()=>f(null)})]})};function sa(...n){return Kt(qt(n))}const Ou=({placeholder:n="Search...",onSearch:e,results:t,onSelect:o,suggestions:i=[],loading:r=!1,className:s})=>{const[a,c]=A.useState(""),[f,m]=A.useState(!1),[h,b]=A.useState(-1),d=A.useRef(null);A.useEffect(()=>{const u=setTimeout(()=>{e(a)},300);return()=>clearTimeout(u)},[a,e]);const l=i.filter(u=>u.toLowerCase().includes(a.toLowerCase())&&u.toLowerCase()!==a.toLowerCase()),g=u=>{f&&l.length>0&&(u.key==="ArrowDown"?(u.preventDefault(),b(p=>(p+1)%l.length)):u.key==="ArrowUp"?(u.preventDefault(),b(p=>(p-1+l.length)%l.length)):u.key==="Enter"&&h>=0&&(u.preventDefault(),c(l[h]),m(!1)))};return y.jsxs("div",{ref:d,className:sa("flex flex-col h-full bg-background",s),children:[y.jsxs("div",{className:"p-3 border-b border-border/50",children:[y.jsxs("div",{className:"relative",children:[y.jsx("div",{className:"absolute left-2.5 top-2.5 text-muted-foreground",children:r?y.jsx(nd,{size:14,className:"animate-spin"}):y.jsx(si,{size:14})}),y.jsx("input",{type:"text",className:"w-full bg-muted/50 border rounded-md pl-9 pr-8 py-1.5 text-xs outline-none focus:ring-1 focus:ring-primary focus:border-primary transition-all",placeholder:n,value:a,onChange:u=>{c(u.target.value),m(!0),b(-1)},onKeyDown:g,onFocus:()=>m(!0)}),a&&y.jsx("button",{onClick:()=>{c(""),e("")},className:"absolute right-2 top-2.5 text-muted-foreground hover:text-foreground",children:y.jsx(bo,{size:14})})]}),f&&l.length>0&&y.jsx("div",{className:"absolute left-3 right-3 mt-1 bg-popover border shadow-lg rounded-md z-50 py-1 overflow-hidden",children:l.map((u,p)=>y.jsxs("div",{className:sa("px-3 py-1.5 text-xs cursor-pointer flex items-center space-x-2",p===h?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onClick:()=>{c(u),m(!1)},children:[y.jsx($l,{size:12,className:"text-muted-foreground"}),y.jsx("span",{children:u})]},u))})]}),y.jsx("div",{className:"flex-1 overflow-y-auto",children:t.length===0?y.jsx("div",{className:"p-8 text-center text-xs text-muted-foreground italic",children:a?`No results found for "${a}"`:"Type to start searching..."}):y.jsx("div",{className:"py-2",children:t.map(u=>{const p=u.icon;return y.jsx("div",{onClick:()=>o(u),className:"px-4 py-2 hover:bg-accent/50 cursor-pointer group transition-colors border-l-2 border-transparent hover:border-primary",children:y.jsxs("div",{className:"flex items-start space-x-3",children:[p&&y.jsx("div",{className:"mt-0.5 p-1 rounded bg-muted group-hover:bg-background transition-colors",children:y.jsx(p,{size:14,className:"text-muted-foreground group-hover:text-primary"})}),y.jsxs("div",{className:"flex-1 min-w-0",children:[y.jsxs("div",{className:"flex items-center justify-between",children:[y.jsx("span",{className:"text-xs font-medium truncate",children:u.title}),u.category&&y.jsx("span",{className:"text-[10px] uppercase tracking-wider text-muted-foreground font-bold px-1.5 py-0.5 bg-muted rounded",children:u.category})]}),u.description&&y.jsx("p",{className:"text-[11px] text-muted-foreground truncate mt-0.5",children:u.description})]})]})},u.id)})})})]})};function aa(...n){return Kt(qt(n))}const Nu=({commands:n,forcedOpen:e=!1})=>{const[t,o]=A.useState(e),[i,r]=A.useState(""),[s,a]=A.useState(0),c=A.useRef(null),f=(n||ht.getCommands()).filter(b=>b.label.toLowerCase().includes(i.toLowerCase())||b.id.toLowerCase().includes(i.toLowerCase()));A.useEffect(()=>{o(e)},[e]),A.useEffect(()=>{const b=d=>{(d.metaKey||d.ctrlKey)&&d.shiftKey&&d.key.toLowerCase()==="p"?(d.preventDefault(),o(l=>!l),r(""),a(0)):d.key==="Escape"&&o(!1)};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[]),A.useEffect(()=>{var b;t&&((b=c.current)==null||b.focus())},[t]);const m=b=>{b.key==="ArrowDown"?(b.preventDefault(),a(d=>(d+1)%f.length)):b.key==="ArrowUp"?(b.preventDefault(),a(d=>(d-1+f.length)%f.length)):b.key==="Enter"&&(b.preventDefault(),f[s]&&h(f[s]))},h=b=>{b.execute(),e||o(!1)};return t?y.jsx("div",{className:aa("z-[100] flex items-start justify-center pt-[10vh]",e?"relative pt-0 w-full max-w-xl":"fixed inset-0 bg-black/50 backdrop-blur-sm"),children:y.jsxs("div",{className:"w-full max-w-xl bg-popover text-popover-foreground border shadow-2xl rounded-xl overflow-hidden animate-in fade-in zoom-in duration-200",children:[y.jsxs("div",{className:"flex items-center px-4 border-b",children:[y.jsx(si,{size:18,className:"text-muted-foreground mr-3"}),y.jsx("input",{ref:c,type:"text",placeholder:"Type a command to run...",className:"flex-1 h-12 bg-transparent outline-none text-sm",value:i,onChange:b=>{r(b.target.value),a(0)},onKeyDown:m})]}),y.jsx("div",{className:"max-h-[300px] overflow-y-auto py-2",children:f.length===0?y.jsxs("div",{className:"px-4 py-8 text-center text-sm text-muted-foreground",children:['No commands found matching "',i,'"']}):f.map((b,d)=>y.jsxs("div",{className:aa("px-4 py-2 cursor-pointer flex justify-between items-center text-sm",d===s?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onClick:()=>h(b),onMouseEnter:()=>a(d),children:[y.jsx("span",{children:b.label}),b.keybinding&&y.jsx("span",{className:"text-[10px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded border border-border/50",children:b.keybinding})]},b.id))}),y.jsxs("div",{className:"px-4 py-2 border-t bg-muted/30 flex justify-between items-center text-[10px] text-muted-foreground",children:[y.jsxs("div",{className:"flex gap-3",children:[y.jsxs("span",{children:[y.jsx("kbd",{className:"bg-muted px-1 rounded border",children:"↑↓"})," to navigate"]}),y.jsxs("span",{children:[y.jsx("kbd",{className:"bg-muted px-1 rounded border",children:"Enter"})," to select"]})]}),y.jsxs("span",{children:[y.jsx("kbd",{className:"bg-muted px-1 rounded border",children:"Esc"})," to close"]})]})]})}):null};function Cu(...n){return Kt(qt(n))}const Lu=({name:n,avatarUrl:e,role:t,onClick:o,className:i,showName:r=!0})=>y.jsxs("div",{onClick:o,className:Cu("flex items-center space-x-2 px-2 py-1 rounded hover:bg-accent hover:text-accent-foreground cursor-pointer transition-colors select-none",i),children:[y.jsx("div",{className:"relative w-6 h-6 rounded-full overflow-hidden border border-border/50 bg-muted flex items-center justify-center shrink-0",children:e?y.jsx("img",{src:e,alt:n,className:"w-full h-full object-cover"}):y.jsx(Nr,{size:14,className:"text-muted-foreground"})}),r&&y.jsxs("div",{className:"flex flex-col min-w-0 leading-tight",children:[y.jsx("span",{className:"text-[11px] font-semibold truncate",children:n}),t&&y.jsx("span",{className:"text-[9px] text-muted-foreground truncate",children:t})]})]});class Du{constructor(){mn(this,"plugins",new Map);mn(this,"loaders",new Map)}registerPlugin(e){if(this.plugins.has(e.id)){console.warn(`Plugin ${e.id} is already registered.`);return}this.plugins.set(e.id,e),console.log(`Plugin ${e.name} (${e.id}) registered.`)}registerLazyPlugin(e,t){if(this.loaders.has(e)||this.plugins.has(e)){console.warn(`Plugin ${e} is already registered or has a loader.`);return}this.loaders.set(e,t),console.log(`Lazy plugin loader for ${e} registered.`)}async activatePlugin(e){let t=this.plugins.get(e);if(!t&&this.loaders.has(e))try{t=await this.loaders.get(e)(),this.plugins.set(e,t),console.log(`Lazy plugin ${e} loaded.`)}catch(o){console.error(`Failed to load lazy plugin ${e}`,o);return}if(t)try{t.activate(),console.log(`Plugin ${t.name} activated.`)}catch(o){console.error(`Failed to activate plugin ${e}`,o)}else console.warn(`Plugin ${e} not found for activation.`)}getPlugin(e){return this.plugins.get(e)}getAllPlugins(){return Array.from(this.plugins.values())}}const Wi=new Du,Iu={id:"plugin-example",name:"Example Plugin",activate:()=>{ht.registerCommand({id:"plugin.hello",label:"Plugin Hello",execute:()=>{alert("Hello from Example Plugin!")}}),Jt.registerMenu("View",{id:"view.greet",label:"Greet from Plugin",commandId:"plugin.hello"}),console.log("Example Plugin Activated")},deactivate:()=>{console.log("Example Plugin Deactivated")}},Bu=[{id:"src",label:"src",type:"folder",isOpen:!0,children:[{id:"core",label:"core",type:"folder",isOpen:!0,children:[{id:"boot",label:"Boot.ts",type:"file"},{id:"registry",label:"registry",type:"folder"}]},{id:"components",label:"components",type:"folder",children:[{id:"layout",label:"layout",type:"folder"},{id:"widgets",label:"widgets",type:"folder"}]},{id:"app",label:"App.tsx",type:"file"},{id:"main",label:"main.tsx",type:"file"}]},{id:"package",label:"package.json",type:"file"},{id:"readme",label:"README.md",type:"file"}],Mu=()=>y.jsx(ra,{data:Bu,onNewFile:n=>window.prompt("New File Name:"),onNewFolder:n=>window.prompt("New Folder Name:"),onRename:n=>window.prompt("New Name:"),onDelete:n=>window.confirm("Delete this item?")}),ku=async()=>{vo.getState().setWidgets([{id:"git-branch",label:"main",icon:Ql,alignment:"left",priority:100},{id:"notifications",label:"0",icon:Xl,alignment:"left",priority:90},{id:"status-text",label:"Ready",alignment:"right",priority:10},{id:"terminal-toggle",label:"Terminal",icon:_o,alignment:"right",onClick:()=>bi.getState().toggle(),priority:110},{id:"chat-toggle",label:"Chat",icon:Or,alignment:"right",commandId:"nexus.toggle-chat",priority:100},{id:"line-col",label:"Ln 1, Col 1",alignment:"right",priority:50},{id:"encoding",label:"UTF-8",alignment:"right",priority:40}]),Fn.getState().setPanels([{id:"files",label:"Explorer",icon:Zl,component:Mu},{id:"search",label:"Search",icon:si,component:()=>y.jsx("div",{className:"p-4 text-sm italic text-muted-foreground",children:"Search functionality coming soon..."})},{id:"git",label:"Source Control",icon:ed,component:()=>y.jsx("div",{className:"p-4 text-sm italic text-muted-foreground",children:"Source control integration pending..."})},{id:"plugins",label:"Extensions",icon:id,component:()=>y.jsx("div",{className:"p-4 text-sm italic text-muted-foreground",children:"Extension manager view..."})}]),xo.getState().setSlashCommands([{command:"help",description:"Show available commands",execute:()=>alert("Available commands: /help, /clear, /theme [light|dark|gt]")},{command:"clear",description:"Clear chat history",execute:()=>{console.log("Chat clear triggered")}},{command:"theme",description:"Change the application theme",execute:n=>{const e=n[0];["light","dark","gt"].includes(e)?yo.getState().setTheme(e):alert("Usage: /theme [light|dark|gt]")}}]),ht.registerCommand({id:"nexus.new-tab",label:"New Welcome Tab",keybinding:"Control+N",execute:()=>Ti.getState().addTab("welcome","Welcome")}),ht.registerCommand({id:"nexus.toggle-chat",label:"Toggle Chat Pane",keybinding:"Control+I",execute:()=>mi.getState().toggleChat()}),ht.registerCommand({id:"nexus.about",label:"About Nexus Shell",keybinding:"Control+H",execute:()=>alert(`Nexus-Shell Framework v0.1.0
209
+ `,children:[y.jsx(m,{size:16}),y.jsx("span",{children:f})]},c))})]})});if(r){if(typeof r.component=="function"){const c=r.component;return y.jsx(c,{})}return r.component}return y.jsx("div",{className:"p-4 text-sm italic text-muted-foreground",children:"Panel content not found."})},a=()=>n==="settings"?"SETTINGS":(r==null?void 0:r.label.toUpperCase())||"";return y.jsxs("div",{className:"w-[300px] h-full bg-muted border-r flex flex-col select-none",children:[y.jsxs("div",{className:"h-10 flex items-center justify-between px-4 text-[11px] font-bold text-muted-foreground uppercase tracking-widest",children:[y.jsx("span",{children:a()}),y.jsx("button",{onClick:()=>e(null),className:"p-1 hover:bg-accent hover:text-foreground rounded transition-colors",children:y.jsx(bo,{size:14})})]}),y.jsx("div",{className:"flex-1 overflow-auto border-t border-border/50 bg-background/50",children:s()})]})},pi="nexus-shell-right-sidebar",mi=Zt(n=>({isChatOpen:localStorage.getItem(pi)==="true",setChatOpen:o=>{localStorage.setItem(pi,String(o)),n({isChatOpen:o})},toggleChat:()=>n(o=>{const i=!o.isChatOpen;return localStorage.setItem(pi,String(i)),{isChatOpen:i}})})),xo=Zt(n=>({slashCommands:[],setSlashCommands:e=>n({slashCommands:e}),registerSlashCommand:e=>n(t=>({slashCommands:[...t.slashCommands,e]}))}));function _i(...n){return Kt(qt(n))}const ts=()=>{const{isChatOpen:n,setChatOpen:e}=mi(),{slashCommands:t}=xo(),[o,i]=A.useState([{id:1,sender:"Nexus",text:"Welcome to the Nexus Shell chat! How can I help you today?"}]),[r,s]=A.useState(""),[a,c]=A.useState(!1),[f,m]=A.useState(0),h=A.useRef(null),b=t.filter(u=>`/${u.command}`.startsWith(r.toLowerCase()));if(A.useEffect(()=>{r.startsWith("/")&&b.length>0?c(!0):c(!1)},[r,b.length]),!n)return null;const d=()=>{if(!r.trim())return;if(r.startsWith("/")){const p=r.slice(1).split(" "),_=p[0],v=p.slice(1),S=t.find(x=>x.command===_);if(S){S.execute(v),i(x=>[...x,{id:Date.now(),sender:"User",text:r}]),s("");return}}const u={id:Date.now(),sender:"User",text:r};i(p=>[...p,u]),s(""),setTimeout(()=>{i(p=>[...p,{id:Date.now()+1,sender:"Nexus",text:"I'm a simulated Nexus response. In a real application, I'd be connected to an LLM!"}])},1e3)},l=u=>{var p;s(`/${u.command} `),c(!1),(p=h.current)==null||p.focus()},g=u=>{a?u.key==="ArrowDown"?(u.preventDefault(),m(p=>(p+1)%b.length)):u.key==="ArrowUp"?(u.preventDefault(),m(p=>(p-1+b.length)%b.length)):u.key==="Tab"||u.key==="Enter"?(u.preventDefault(),l(b[f])):u.key==="Escape"&&c(!1):u.key==="Enter"&&!u.shiftKey&&(u.preventDefault(),d())};return y.jsxs("div",{className:"w-[350px] h-full bg-muted border-l flex flex-col select-none animate-in slide-in-from-right duration-300",children:[y.jsxs("div",{className:"h-10 flex items-center justify-between px-4 text-[11px] font-bold text-muted-foreground uppercase tracking-widest border-b border-border/50",children:[y.jsxs("div",{className:"flex items-center space-x-2",children:[y.jsx(Or,{size:14}),y.jsx("span",{children:"Chat"})]}),y.jsx("button",{onClick:()=>e(!1),className:"p-1 hover:bg-accent hover:text-foreground rounded transition-colors",children:y.jsx(bo,{size:14})})]}),y.jsx("div",{className:"flex-1 overflow-y-auto p-4 space-y-4",children:o.map(u=>y.jsxs("div",{className:_i("flex flex-col space-y-1",u.sender==="User"?"items-end":"items-start"),children:[y.jsxs("div",{className:"flex items-center space-x-1 text-[10px] text-muted-foreground",children:[y.jsx(Nr,{size:10}),y.jsx("span",{children:u.sender})]}),y.jsx("div",{className:_i("px-3 py-2 rounded-lg text-sm max-w-[90%]",u.sender==="User"?"bg-primary text-primary-foreground":"bg-accent/50 text-foreground"),children:u.text})]},u.id))}),y.jsxs("div",{className:"p-4 border-t border-border/50 relative",children:[a&&y.jsxs("div",{className:"absolute bottom-full left-4 right-4 mb-2 bg-popover border shadow-xl rounded-lg overflow-hidden z-50",children:[y.jsx("div",{className:"px-3 py-2 text-[10px] font-bold text-muted-foreground border-b bg-muted/30",children:"COMMANDS"}),b.map((u,p)=>y.jsxs("div",{className:_i("px-3 py-2 cursor-pointer flex items-center justify-between text-xs",p===f?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onClick:()=>l(u),onMouseEnter:()=>m(p),children:[y.jsxs("div",{className:"flex items-center space-x-2",children:[y.jsx(_o,{size:12,className:"text-primary"}),y.jsxs("span",{className:"font-semibold",children:["/",u.command]})]}),y.jsx("span",{className:"text-[10px] text-muted-foreground",children:u.description})]},u.command))]}),y.jsxs("div",{className:"relative",children:[y.jsx("textarea",{ref:h,value:r,onChange:u=>s(u.target.value),onKeyDown:g,placeholder:"Ask Nexus... (Type / for commands)",className:"w-full bg-secondary/50 border border-border rounded-md p-3 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent transition-all resize-none min-h-[80px]"}),y.jsx("button",{onClick:d,className:"absolute right-3 bottom-3 inline-flex items-center justify-center p-2 rounded-md bg-primary text-primary-foreground hover:bg-primary/90 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:ring-offset-background transition-colors",children:y.jsx(sd,{size:14})})]}),y.jsxs("div",{className:"mt-1.5 flex items-center space-x-1.5 text-[10px] text-muted-foreground opacity-70",children:[y.jsx(_o,{size:10}),y.jsxs("span",{children:["Use ",y.jsx("kbd",{className:"bg-muted px-1 rounded border border-border/50 font-sans",children:"/"})," to trigger slash commands"]})]})]})]})},bi=Zt(n=>({isOpen:!1,history:["Welcome to Nexus Shell Terminal v0.1.0",'Type "help" for a list of commands.'],setOpen:e=>n({isOpen:e}),toggle:()=>n(e=>({isOpen:!e.isOpen})),addHistory:e=>n(t=>({history:[...t.history,e]})),clearHistory:()=>n({history:[]})})),ns=()=>{const{isOpen:n,setOpen:e,history:t,addHistory:o,clearHistory:i}=bi(),[r,s]=A.useState(""),a=A.useRef(null),c=A.useRef(null);if(A.useEffect(()=>{a.current&&(a.current.scrollTop=a.current.scrollHeight)},[t]),A.useEffect(()=>{var m;n&&((m=c.current)==null||m.focus())},[n]),!n)return null;const f=m=>{if(m.key==="Enter"){const h=r.trim();if(!h)return;o(`$ ${h}`);const b=h.toLowerCase();b==="clear"?i():b==="help"?o("Available commands: help, clear, echo [text], date, theme"):b.startsWith("echo ")?o(h.slice(5)):o(b==="date"?new Date().toLocaleString():`Command not found: ${h}`),s("")}};return y.jsxs("div",{className:"h-[250px] bg-background border-t border-border flex flex-col select-text animate-in slide-in-from-bottom duration-300",children:[y.jsxs("div",{className:"h-9 border-b border-border/50 flex items-center justify-between px-4 bg-muted/30",children:[y.jsxs("div",{className:"flex items-center space-x-4",children:[y.jsxs("div",{className:"flex items-center space-x-2 text-[11px] font-bold text-muted-foreground uppercase tracking-widest border-b-2 border-primary pb-2.5 pt-2.5 mt-0.5",children:[y.jsx(_o,{size:14}),y.jsx("span",{children:"Terminal"})]}),y.jsx("div",{className:"text-[11px] text-muted-foreground hover:text-foreground cursor-pointer transition-colors",children:"Output"}),y.jsx("div",{className:"text-[11px] text-muted-foreground hover:text-foreground cursor-pointer transition-colors",children:"Debug Console"})]}),y.jsxs("div",{className:"flex items-center space-x-2",children:[y.jsx("button",{className:"p-1 hover:bg-accent rounded text-muted-foreground",children:y.jsx(Vl,{size:14})}),y.jsx("button",{onClick:()=>e(!1),className:"p-1 hover:bg-accent rounded text-muted-foreground",children:y.jsx(bo,{size:14})})]})]}),y.jsxs("div",{ref:a,className:"flex-1 overflow-y-auto p-3 font-mono text-xs space-y-1 bg-black/5 dark:bg-black/20",children:[t.map((m,h)=>y.jsx("div",{className:"whitespace-pre-wrap break-all opacity-90",children:m},h)),y.jsxs("div",{className:"flex items-center space-x-2 pt-1",children:[y.jsx("span",{className:"text-primary font-bold",children:"$"}),y.jsx("input",{ref:c,type:"text",className:"flex-1 bg-transparent border-none outline-none text-xs font-mono",value:r,onChange:m=>s(m.target.value),onKeyDown:f,spellCheck:!1,autoComplete:"off"})]})]})]})},os={global:{tabEnableClose:!0,tabSetEnableMaximize:!1,tabSetEnableDivide:!0},borders:[{type:"border",location:"left",children:[]}],layout:{type:"row",weight:100,children:[{type:"tabset",weight:50,children:[{type:"tab",name:"Welcome",component:"welcome"}]}]}},is="nexus-shell-layout",Ti=Zt((n,e)=>{let t;try{const o=localStorage.getItem(is);o?t=Ot.Model.fromJson(JSON.parse(o)):t=Ot.Model.fromJson(os)}catch(o){console.warn("Failed to load layout from storage, using default",o),t=Ot.Model.fromJson(os)}return{model:t,dirtyTabs:new Set,setModel:o=>{n({model:o}),localStorage.setItem(is,JSON.stringify(o.toJson()))},setTabDirty:(o,i)=>{n(r=>{const s=new Set(r.dirtyTabs);return i?s.add(o):s.delete(o),{dirtyTabs:s}})},isTabDirty:o=>e().dirtyTabs.has(o),addTab:(o,i)=>{const r=e().model,s=r.getActiveTabset();let a=s==null?void 0:s.getId();a&&r.doAction(Ot.Actions.addNode({type:"tab",component:o,name:i||o},a,Ot.DockLocation.CENTER,-1))}}});class ec{constructor(){mn(this,"components",new Map)}register(e,t){this.components.has(e)&&console.warn(`Component with ID "${e}" is already registered.`),this.components.set(e,t)}get(e){return this.components.get(e)}getRegisteredIds(){return Array.from(this.components.keys())}}const rs=new ec,tc=({panels:n,slashCommands:e,menuConfig:t,statusBarConfig:o,rightMenuBarContent:i})=>{const{model:r,setModel:s,isTabDirty:a,setTabDirty:c}=Ti(),{theme:f}=yo(),{setPanels:m}=Fn(),{setSlashCommands:h}=xo(),{setWidgets:b}=vo();A.useEffect(()=>{n&&m(n)},[n,m]),A.useEffect(()=>{e&&h(e)},[e,h]),A.useEffect(()=>{t&&Jt.setMenus(t)},[t]),A.useEffect(()=>{o&&b(o)},[o,b]);const d=g=>{try{var u=g.getComponent();const p=g.getId(),_=a(p);if(u==="welcome")return y.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center space-y-4 p-8",children:[y.jsx("h1",{className:"text-4xl font-bold text-primary",children:"Nexus Shell"}),y.jsx("p",{className:"text-muted-foreground",children:"A professional-grade frontend framework built with React and TypeScript."}),y.jsx("p",{className:"text-sm text-muted-foreground",children:"Start by exploring the menu or dragging tabs."}),y.jsxs("div",{className:"mt-8 p-4 border rounded bg-muted/20",children:[y.jsx("p",{className:"text-xs mb-2",children:"Tab Persistence & Lifecycle Test:"}),y.jsx("button",{onClick:()=>c(p,!_),className:`inline-flex items-center justify-center px-4 py-2 text-sm font-medium transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:ring-offset-background ${_?"bg-destructive text-destructive-foreground hover:bg-destructive/90":"bg-secondary text-secondary-foreground hover:bg-secondary/80"}`,children:_?"Mark as Saved (Clear Dirty)":"Mark as Dirty (Unsaved Changes)"}),_&&y.jsx("p",{className:"text-[10px] mt-1 text-destructive",children:"This tab will now prompt before closing."})]})]});const v=u?rs.get(u):void 0;return v?y.jsx(v,{node:g}):y.jsxs("div",{className:"p-4 text-sm",children:["Unknown Component: ",u]})}catch(p){return console.error("Error in component factory:",p),y.jsxs("div",{className:"p-8 text-destructive bg-destructive/10 border border-destructive/20 h-full flex items-center justify-center",children:["Error rendering component: ",(p==null?void 0:p.message)||"Unknown error"]})}},l=g=>{if(g.type===Ot.Actions.DELETE_TAB){const u=r.getNodeById(g.data.node);if(u&&a(u.getId())){if(!window.confirm(`Tab "${u.getName()}" has unsaved changes. Are you sure you want to close it?`))return;c(u.getId(),!1)}}return g};return y.jsxs("div",{className:`flex flex-col h-screen w-screen bg-background text-foreground overflow-hidden theme-${f}`,children:[y.jsx(Cr,{rightContent:i}),y.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[y.jsx(qr,{}),y.jsx(es,{}),y.jsxs("div",{className:"flex-1 flex flex-col min-w-0 bg-card",children:[y.jsx("div",{className:"flex-1 relative h-full w-full",children:y.jsx(Ot.Layout,{model:r,factory:d,onModelChange:g=>s(g),onAction:l})}),y.jsx(ns,{})]}),y.jsx(ts,{})]}),y.jsx(Jr,{})]})},Eo=0,Pt=1,un=2,ss=4;function as(n){return()=>n}function nc(n){n()}function ls(n,e){return t=>n(e(t))}function ds(n,e){return()=>n(e)}function oc(n,e){return t=>n(e,t)}function vi(n){return n!==void 0}function ic(...n){return()=>{n.map(nc)}}function hn(){}function So(n,e){return e(n),n}function rc(n,e){return e(n)}function ye(...n){return n}function ue(n,e){return n(Pt,e)}function Q(n,e){n(Eo,e)}function yi(n){n(un)}function Ee(n){return n(ss)}function H(n,e){return ue(n,oc(e,Eo))}function ct(n,e){const t=n(Pt,o=>{t(),e(o)});return t}function cs(n){let e,t;return o=>i=>{e=i,t&&clearTimeout(t),t=setTimeout(()=>{o(e)},n)}}function us(n,e){return n===e}function xe(n=us){let e;return t=>o=>{n(e,o)||(e=o,t(o))}}function X(n){return e=>t=>{n(t)&&e(t)}}function U(n){return e=>ls(e,n)}function ft(n){return e=>()=>{e(n)}}function D(n,...e){const t=sc(...e);return(o,i)=>{switch(o){case un:yi(n);return;case Pt:return ue(n,t(i))}}}function gt(n,e){return t=>o=>{t(e=n(e,o))}}function Qt(n){return e=>t=>{n>0?n--:e(t)}}function St(n){let e=null,t;return o=>i=>{e=i,!t&&(t=setTimeout(()=>{t=void 0,o(e)},n))}}function ee(...n){const e=new Array(n.length);let t=0,o=null;const i=Math.pow(2,n.length)-1;return n.forEach((r,s)=>{const a=Math.pow(2,s);ue(r,c=>{const f=t;t=t|a,e[s]=c,f!==i&&t===i&&o&&(o(),o=null)})}),r=>s=>{const a=()=>{r([s].concat(e))};t===i?a():o=a}}function sc(...n){return e=>n.reduceRight(rc,e)}function ac(n){let e,t;const o=()=>e==null?void 0:e();return function(i,r){switch(i){case Pt:return r?t===r?void 0:(o(),t=r,e=ue(n,r),e):(o(),hn);case un:o(),t=null;return}}}function I(n){let e=n;const t=ie();return(o,i)=>{switch(o){case Eo:e=i;break;case Pt:{i(e);break}case ss:return e}return t(o,i)}}function ze(n,e){return So(I(e),t=>H(n,t))}function ie(){const n=[];return(e,t)=>{switch(e){case Eo:n.slice().forEach(o=>{o(t)});return;case un:n.splice(0,n.length);return;case Pt:return n.push(t),()=>{const o=n.indexOf(t);o>-1&&n.splice(o,1)}}}}function Ke(n){return So(ie(),e=>H(n,e))}function le(n,e=[],{singleton:t}={singleton:!0}){return{constructor:n,dependencies:e,id:lc(),singleton:t}}const lc=()=>Symbol();function dc(n){const e=new Map,t=({constructor:o,dependencies:i,id:r,singleton:s})=>{if(s&&e.has(r))return e.get(r);const a=o(i.map(c=>t(c)));return s&&e.set(r,a),a};return t(n)}function Re(...n){const e=ie(),t=new Array(n.length);let o=0;const i=Math.pow(2,n.length)-1;return n.forEach((r,s)=>{const a=Math.pow(2,s);ue(r,c=>{t[s]=c,o=o|a,o===i&&Q(e,t)})}),function(r,s){switch(r){case un:{yi(e);return}case Pt:return o===i&&s(t),ue(e,s)}}}function G(n,e=us){return D(n,xe(e))}function xi(...n){return function(e,t){switch(e){case un:return;case Pt:return ic(...n.map(o=>ue(o,t)))}}}var Ve=(n=>(n[n.DEBUG=0]="DEBUG",n[n.INFO=1]="INFO",n[n.WARN=2]="WARN",n[n.ERROR=3]="ERROR",n))(Ve||{});const cc={0:"debug",3:"error",1:"log",2:"warn"},uc=()=>typeof globalThis>"u"?window:globalThis,jt=le(()=>{const n=I(3);return{log:I((e,t,o=1)=>{var i;const r=(i=uc().VIRTUOSO_LOG_LEVEL)!=null?i:Ee(n);o>=r&&console[cc[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",e,t)}),logLevel:n}},[],{singleton:!0});function en(n,e,t){return Ei(n,e,t).callbackRef}function Ei(n,e,t){const o=A.useRef(null);let i=s=>{};const r=A.useMemo(()=>typeof ResizeObserver<"u"?new ResizeObserver(s=>{const a=()=>{const c=s[0].target;c.offsetParent!==null&&n(c)};t?a():requestAnimationFrame(a)}):null,[n,t]);return i=s=>{s&&e?(r==null||r.observe(s),o.current=s):(o.current&&(r==null||r.unobserve(o.current)),o.current=null)},{callbackRef:i,ref:o}}function hc(n,e,t,o,i,r,s,a,c){const f=A.useCallback(m=>{const h=fc(m.children,e,a?"offsetWidth":"offsetHeight",i);let b=m.parentElement;for(;!b.dataset.virtuosoScroller;)b=b.parentElement;const d=b.lastElementChild.dataset.viewportType==="window";let l;d&&(l=b.ownerDocument.defaultView);const g=s?a?s.scrollLeft:s.scrollTop:d?a?l.scrollX||l.document.documentElement.scrollLeft:l.scrollY||l.document.documentElement.scrollTop:a?b.scrollLeft:b.scrollTop,u=s?a?s.scrollWidth:s.scrollHeight:d?a?l.document.documentElement.scrollWidth:l.document.documentElement.scrollHeight:a?b.scrollWidth:b.scrollHeight,p=s?a?s.offsetWidth:s.offsetHeight:d?a?l.innerWidth:l.innerHeight:a?b.offsetWidth:b.offsetHeight;o({scrollHeight:u,scrollTop:Math.max(g,0),viewportHeight:p}),r==null||r(a?hs("column-gap",getComputedStyle(m).columnGap,i):hs("row-gap",getComputedStyle(m).rowGap,i)),h!==null&&n(h)},[n,e,i,r,s,o,a]);return Ei(f,t,c)}function fc(n,e,t,o){const i=n.length;if(i===0)return null;const r=[];for(let s=0;s<i;s++){const a=n.item(s);if(a.dataset.index===void 0)continue;const c=parseInt(a.dataset.index),f=parseFloat(a.dataset.knownSize),m=e(a,t);if(m===0&&o("Zero-sized element, this should not happen",{child:a},Ve.ERROR),m===f)continue;const h=r[r.length-1];r.length===0||h.size!==m||h.endIndex!==c-1?r.push({endIndex:c,size:m,startIndex:c}):r[r.length-1].endIndex++}return r}function hs(n,e,t){return e!=="normal"&&!(e!=null&&e.endsWith("px"))&&t(`${n} was not resolved to pixel value correctly`,e,Ve.WARN),e==="normal"?0:parseInt(e??"0",10)}function fs(n,e,t){const o=A.useRef(null),i=A.useCallback(c=>{if(!(c!=null&&c.offsetParent))return;const f=c.getBoundingClientRect(),m=f.width;let h,b;if(e){const d=e.getBoundingClientRect(),l=f.top-d.top;b=d.height-Math.max(0,l),h=l+e.scrollTop}else{const d=s.current.ownerDocument.defaultView;b=d.innerHeight-Math.max(0,f.top),h=f.top+d.scrollY}o.current={offsetTop:h,visibleHeight:b,visibleWidth:m},n(o.current)},[n,e]),{callbackRef:r,ref:s}=Ei(i,!0,t),a=A.useCallback(()=>{i(s.current)},[i,s]);return A.useEffect(()=>{var c;if(e){e.addEventListener("scroll",a);const f=new ResizeObserver(()=>{requestAnimationFrame(a)});return f.observe(e),()=>{e.removeEventListener("scroll",a),f.unobserve(e)}}else{const f=(c=s.current)==null?void 0:c.ownerDocument.defaultView;return f==null||f.addEventListener("scroll",a),f==null||f.addEventListener("resize",a),()=>{f==null||f.removeEventListener("scroll",a),f==null||f.removeEventListener("resize",a)}}},[a,e,s]),r}const je=le(()=>{const n=ie(),e=ie(),t=I(0),o=ie(),i=I(0),r=ie(),s=ie(),a=I(0),c=I(0),f=I(0),m=I(0),h=ie(),b=ie(),d=I(!1),l=I(!1),g=I(!1);return H(D(n,U(({scrollTop:u})=>u)),e),H(D(n,U(({scrollHeight:u})=>u)),s),H(e,i),{deviation:t,fixedFooterHeight:f,fixedHeaderHeight:c,footerHeight:m,headerHeight:a,horizontalDirection:l,scrollBy:b,scrollContainerState:n,scrollHeight:s,scrollingInProgress:d,scrollTo:h,scrollTop:e,skipAnimationFrameInResizeObserver:g,smoothScrollTargetReached:o,statefulScrollTop:i,viewportHeight:r}},[],{singleton:!0}),Un={lvl:0};function gs(n,e){const t=n.length;if(t===0)return[];let{index:o,value:i}=e(n[0]);const r=[];for(let s=1;s<t;s++){const{index:a,value:c}=e(n[s]);r.push({end:a-1,start:o,value:i}),o=a,i=c}return r.push({end:1/0,start:o,value:i}),r}function ge(n){return n===Un}function Pn(n,e){if(!ge(n))return e===n.k?n.v:e<n.k?Pn(n.l,e):Pn(n.r,e)}function ut(n,e,t="k"){if(ge(n))return[-1/0,void 0];if(Number(n[t])===e)return[n.k,n.v];if(Number(n[t])<e){const o=ut(n.r,e,t);return o[0]===-1/0?[n.k,n.v]:o}return ut(n.l,e,t)}function Qe(n,e,t){return ge(n)?_s(e,t,1):e===n.k?Ne(n,{k:e,v:t}):e<n.k?bs(Ne(n,{l:Qe(n.l,e,t)})):bs(Ne(n,{r:Qe(n.r,e,t)}))}function fn(){return Un}function gn(n,e,t){if(ge(n))return[];const o=ut(n,e)[0];return gc(wi(n,o,t))}function Si(n,e){if(ge(n))return Un;const{k:t,l:o,r:i}=n;if(e===t){if(ge(o))return i;if(ge(i))return o;{const[r,s]=ms(o);return wo(Ne(n,{k:r,l:ps(o),v:s}))}}else return e<t?wo(Ne(n,{l:Si(o,e)})):wo(Ne(n,{r:Si(i,e)}))}function tn(n){return ge(n)?[]:[...tn(n.l),{k:n.k,v:n.v},...tn(n.r)]}function wi(n,e,t){if(ge(n))return[];const{k:o,l:i,r,v:s}=n;let a=[];return o>e&&(a=a.concat(wi(i,e,t))),o>=e&&o<=t&&a.push({k:o,v:s}),o<=t&&(a=a.concat(wi(r,e,t))),a}function wo(n){const{l:e,lvl:t,r:o}=n;if(o.lvl>=t-1&&e.lvl>=t-1)return n;if(t>o.lvl+1){if(Ri(e))return Ts(Ne(n,{lvl:t-1}));if(!ge(e)&&!ge(e.r))return Ne(e.r,{l:Ne(e,{r:e.r.l}),lvl:t,r:Ne(n,{l:e.r.r,lvl:t-1})});throw new Error("Unexpected empty nodes")}else{if(Ri(n))return Ai(Ne(n,{lvl:t-1}));if(!ge(o)&&!ge(o.l)){const i=o.l,r=Ri(i)?o.lvl-1:o.lvl;return Ne(i,{l:Ne(n,{lvl:t-1,r:i.l}),lvl:i.lvl+1,r:Ai(Ne(o,{l:i.r,lvl:r}))})}else throw new Error("Unexpected empty nodes")}}function Ne(n,e){return _s(e.k!==void 0?e.k:n.k,e.v!==void 0?e.v:n.v,e.lvl!==void 0?e.lvl:n.lvl,e.l!==void 0?e.l:n.l,e.r!==void 0?e.r:n.r)}function ps(n){return ge(n.r)?n.l:wo(Ne(n,{r:ps(n.r)}))}function Ri(n){return ge(n)||n.lvl>n.r.lvl}function ms(n){return ge(n.r)?[n.k,n.v]:ms(n.r)}function _s(n,e,t,o=Un,i=Un){return{k:n,l:o,lvl:t,r:i,v:e}}function bs(n){return Ai(Ts(n))}function Ts(n){const{l:e}=n;return!ge(e)&&e.lvl===n.lvl?Ne(e,{r:Ne(n,{l:e.r})}):n}function Ai(n){const{lvl:e,r:t}=n;return!ge(t)&&!ge(t.r)&&t.lvl===e&&t.r.lvl===e?Ne(t,{l:Ne(n,{r:t.l}),lvl:e+1}):n}function gc(n){return gs(n,({k:e,v:t})=>({index:e,value:t}))}function vs(n,e){return!!(n&&n.startIndex===e.startIndex&&n.endIndex===e.endIndex)}function jn(n,e){return!!(n&&n[0]===e[0]&&n[1]===e[1])}const Oi=le(()=>({recalcInProgress:I(!1)}),[],{singleton:!0});function ys(n,e,t){return n[Ro(n,e,t)]}function Ro(n,e,t,o=0){let i=n.length-1;for(;o<=i;){const r=Math.floor((o+i)/2),s=n[r],a=t(s,e);if(a===0)return r;if(a===-1){if(i-o<2)return r-1;i=r-1}else{if(i===o)return r;o=r+1}}throw new Error(`Failed binary finding record in array - ${n.join(",")}, searched for ${e}`)}function pc(n,e,t,o){const i=Ro(n,e,o),r=Ro(n,t,o,i);return n.slice(i,r+1)}function Ht(n,e){return Math.round(n.getBoundingClientRect()[e])}function Ao(n){return!ge(n.groupOffsetTree)}function Ni({index:n},e){return e===n?0:e<n?-1:1}function mc(){return{groupIndices:[],groupOffsetTree:fn(),lastIndex:0,lastOffset:0,lastSize:0,offsetTree:[],sizeTree:fn()}}function _c(n,e){let t=ge(n)?0:1/0;for(const o of e){const{endIndex:i,size:r,startIndex:s}=o;if(t=Math.min(t,s),ge(n)){n=Qe(n,0,r);continue}const a=gn(n,s-1,i+1);if(a.some(Sc(o)))continue;let c=!1,f=!1;for(const{end:m,start:h,value:b}of a)c?(i>=h||r===b)&&(n=Si(n,h)):(f=b!==r,c=!0),m>i&&i>=h&&b!==r&&(n=Qe(n,i+1,b));f&&(n=Qe(n,s,r))}return[n,t]}function bc(n){return typeof n.groupIndex<"u"}function Tc({offset:n},e){return e===n?0:e<n?-1:1}function Hn(n,e,t){if(e.length===0)return 0;const{index:o,offset:i,size:r}=ys(e,n,Ni),s=n-o,a=r*s+(s-1)*t+i;return a>0?a+t:a}function xs(n,e){if(!Ao(e))return n;let t=0;for(;e.groupIndices[t]<=n+t;)t++;return n+t}function Es(n,e,t){if(bc(n))return e.groupIndices[n.groupIndex]+1;{const o=n.index==="LAST"?t:n.index;let i=xs(o,e);return i=Math.max(0,i,Math.min(t,i)),i}}function vc(n,e,t,o=0){return o>0&&(e=Math.max(e,ys(n,o,Ni).offset)),gs(pc(n,e,t,Tc),Ec)}function yc(n,[e,t,o,i]){e.length>0&&o("received item sizes",e,Ve.DEBUG);const r=n.sizeTree;let s=r,a=0;if(t.length>0&&ge(r)&&e.length===2){const b=e[0].size,d=e[1].size;s=t.reduce((l,g)=>Qe(Qe(l,g,b),g+1,d),s)}else[s,a]=_c(s,e);if(s===r)return n;const{lastIndex:c,lastOffset:f,lastSize:m,offsetTree:h}=Ci(n.offsetTree,a,s,i);return{groupIndices:t,groupOffsetTree:t.reduce((b,d)=>Qe(b,d,Hn(d,h,i)),fn()),lastIndex:c,lastOffset:f,lastSize:m,offsetTree:h,sizeTree:s}}function xc(n){return tn(n).map(({k:e,v:t},o,i)=>{const r=i[o+1];return{endIndex:r?r.k-1:1/0,size:t,startIndex:e}})}function Ss(n,e){let t=0,o=0;for(;t<n;)t+=e[o+1]-e[o]-1,o++;return o-(t===n?0:1)}function Ci(n,e,t,o){let i=n,r=0,s=0,a=0,c=0;if(e!==0){c=Ro(i,e-1,Ni),a=i[c].offset;const f=ut(t,e-1);r=f[0],s=f[1],i.length&&i[c].size===ut(t,e)[1]&&(c-=1),i=i.slice(0,c+1)}else i=[];for(const{start:f,value:m}of gn(t,e,1/0)){const h=f-r,b=h*s+a+h*o;i.push({index:f,offset:b,size:m}),r=f,a=b,s=m}return{lastIndex:r,lastOffset:a,lastSize:s,offsetTree:i}}function Ec(n){return{index:n.index,value:n}}function Sc(n){const{endIndex:e,size:t,startIndex:o}=n;return i=>i.start===o&&(i.end===e||i.end===1/0)&&i.value===t}const wc={offsetHeight:"height",offsetWidth:"width"},pt=le(([{log:n},{recalcInProgress:e}])=>{const t=ie(),o=ie(),i=ze(o,0),r=ie(),s=ie(),a=I(0),c=I([]),f=I(void 0),m=I(void 0),h=I(void 0),b=I(void 0),d=I((T,w)=>Ht(T,wc[w])),l=I(void 0),g=I(0),u=mc(),p=ze(D(t,ee(c,n,g),gt(yc,u),xe()),u),_=ze(D(c,xe(),gt((T,w)=>({current:w,prev:T.current}),{current:[],prev:[]}),U(({prev:T})=>T)),[]);H(D(c,X(T=>T.length>0),ee(p,g),U(([T,w,C])=>{const O=T.reduce((L,R,F)=>Qe(L,R,Hn(R,w.offsetTree,C)||F),fn());return{...w,groupIndices:T,groupOffsetTree:O}})),p),H(D(o,ee(p),X(([T,{lastIndex:w}])=>T<w),U(([T,{lastIndex:w,lastSize:C}])=>[{endIndex:w,size:C,startIndex:T}])),t),H(f,m);const v=ze(D(f,U(T=>T===void 0)),!0);H(D(m,X(T=>T!==void 0&&ge(Ee(p).sizeTree)),U(T=>{const w=Ee(h),C=Ee(c).length>0;return w?C?[{endIndex:0,size:w,startIndex:0},{endIndex:1,size:T,startIndex:1}]:[]:[{endIndex:0,size:T,startIndex:0}]})),t),H(D(b,X(T=>T!==void 0&&T.length>0&&ge(Ee(p).sizeTree)),U(T=>{const w=[];let C=T[0],O=0;for(let L=1;L<T.length;L++){const R=T[L];R!==C&&(w.push({endIndex:L-1,size:C,startIndex:O}),C=R,O=L)}return w.push({endIndex:T.length-1,size:C,startIndex:O}),w})),t),H(D(c,ee(h,m),X(([,T,w])=>T!==void 0&&w!==void 0),U(([T,w,C])=>{const O=[];for(let L=0;L<T.length;L++){const R=T[L],F=T[L+1];O.push({startIndex:R,endIndex:R,size:w}),F!==void 0&&O.push({startIndex:R+1,endIndex:F-1,size:C})}return O})),t);const S=Ke(D(t,ee(p),gt(({sizes:T},[w,C])=>({changed:C!==T,sizes:C}),{changed:!1,sizes:u}),U(T=>T.changed)));ue(D(a,gt((T,w)=>({diff:T.prev-w,prev:w}),{diff:0,prev:0}),U(T=>T.diff)),T=>{const{groupIndices:w}=Ee(p);if(T>0)Q(e,!0),Q(r,T+Ss(T,w));else if(T<0){const C=Ee(_);C.length>0&&(T-=Ss(-T,C)),Q(s,T)}}),ue(D(a,ee(n)),([T,w])=>{T<0&&w("`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value",{firstItemIndex:a},Ve.ERROR)});const x=Ke(r);H(D(r,ee(p),U(([T,w])=>{const C=w.groupIndices.length>0,O=[],L=w.lastSize;if(C){const R=Pn(w.sizeTree,0);let F=0,k=0;for(;F<T;){const Y=w.groupIndices[k],j=w.groupIndices.length===k+1?1/0:w.groupIndices[k+1]-Y-1;O.push({endIndex:Y,size:R,startIndex:Y}),O.push({endIndex:Y+1+j-1,size:L,startIndex:Y+1}),k++,F+=j+1}const B=tn(w.sizeTree);return F!==T&&B.shift(),B.reduce((Y,{k:j,v:z})=>{let V=Y.ranges;return Y.prevSize!==0&&(V=[...Y.ranges,{endIndex:j+T-1,size:Y.prevSize,startIndex:Y.prevIndex}]),{prevIndex:j+T,prevSize:z,ranges:V}},{prevIndex:T,prevSize:0,ranges:O}).ranges}return tn(w.sizeTree).reduce((R,{k:F,v:k})=>({prevIndex:F+T,prevSize:k,ranges:[...R.ranges,{endIndex:F+T-1,size:R.prevSize,startIndex:R.prevIndex}]}),{prevIndex:0,prevSize:L,ranges:[]}).ranges})),t);const E=Ke(D(s,ee(p,g),U(([T,{offsetTree:w},C])=>{const O=-T;return Hn(O,w,C)})));return H(D(s,ee(p,g),U(([T,w,C])=>{if(w.groupIndices.length>0){if(ge(w.sizeTree))return w;let O=fn();const L=Ee(_);let R=0,F=0,k=0;for(;R<-T;){k=L[F];const B=L[F+1]-k-1;F++,R+=B+1}if(O=tn(w.sizeTree).reduce((B,{k:Y,v:j})=>Qe(B,Math.max(0,Y+T),j),O),R!==-T){const B=Pn(w.sizeTree,k);O=Qe(O,0,B);const Y=ut(w.sizeTree,-T+1)[1];O=Qe(O,1,Y)}return{...w,sizeTree:O,...Ci(w.offsetTree,0,O,C)}}else{const O=tn(w.sizeTree).reduce((L,{k:R,v:F})=>Qe(L,Math.max(0,R+T),F),fn());return{...w,sizeTree:O,...Ci(w.offsetTree,0,O,C)}}})),p),{beforeUnshiftWith:x,data:l,defaultItemSize:m,firstItemIndex:a,fixedItemSize:f,fixedGroupSize:h,gap:g,groupIndices:c,heightEstimates:b,itemSize:d,listRefresh:S,shiftWith:s,shiftWithOffset:E,sizeRanges:t,sizes:p,statefulTotalCount:i,totalCount:o,trackItemSizes:v,unshiftWith:r}},ye(jt,Oi),{singleton:!0});function Rc(n){return n.reduce((e,t)=>(e.groupIndices.push(e.totalCount),e.totalCount+=t+1,e),{groupIndices:[],totalCount:0})}const ws=le(([{groupIndices:n,sizes:e,totalCount:t},{headerHeight:o,scrollTop:i}])=>{const r=ie(),s=ie(),a=Ke(D(r,U(Rc)));return H(D(a,U(c=>c.totalCount)),t),H(D(a,U(c=>c.groupIndices)),n),H(D(Re(i,e,o),X(([c,f])=>Ao(f)),U(([c,f,m])=>ut(f.groupOffsetTree,Math.max(c-m,0),"v")[0]),xe(),U(c=>[c])),s),{groupCounts:r,topItemsIndexes:s}},ye(pt,je)),Wt=le(([{log:n}])=>{const e=I(!1),t=Ke(D(e,X(o=>o),xe()));return ue(e,o=>{o&&Ee(n)("props updated",{},Ve.DEBUG)}),{didMount:t,propsReady:e}},ye(jt),{singleton:!0}),Ac=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function Rs(n){const e=typeof n=="number"?{index:n}:n;return e.align||(e.align="start"),(!e.behavior||!Ac)&&(e.behavior="auto"),e.offset||(e.offset=0),e}const Wn=le(([{gap:n,listRefresh:e,sizes:t,totalCount:o},{fixedFooterHeight:i,fixedHeaderHeight:r,footerHeight:s,headerHeight:a,scrollingInProgress:c,scrollTo:f,smoothScrollTargetReached:m,viewportHeight:h},{log:b}])=>{const d=ie(),l=ie(),g=I(0);let u=null,p=null,_=null;function v(){u&&(u(),u=null),_&&(_(),_=null),p&&(clearTimeout(p),p=null),Q(c,!1)}return H(D(d,ee(t,h,o,g,a,s,b),ee(n,r,i),U(([[S,x,E,T,w,C,O,L],R,F,k])=>{const B=Rs(S),{align:Y,behavior:j,offset:z}=B,V=T-1,ae=Es(B,x,V);let N=Hn(ae,x.offsetTree,R)+C;Y==="end"?(N+=F+ut(x.sizeTree,ae)[1]-E+k,ae===V&&(N+=O)):Y==="center"?N+=(F+ut(x.sizeTree,ae)[1]-E+k)/2:N-=w,z&&(N+=z);const W=oe=>{v(),oe?(L("retrying to scroll to",{location:S},Ve.DEBUG),Q(d,S)):(Q(l,!0),L("list did not change, scroll successful",{},Ve.DEBUG))};if(v(),j==="smooth"){let oe=!1;_=ue(e,he=>{oe=oe||he}),u=ct(m,()=>{W(oe)})}else u=ct(D(e,Oc(150)),W);return p=setTimeout(()=>{v()},1200),Q(c,!0),L("scrolling from index to",{behavior:j,index:ae,top:N},Ve.DEBUG),{behavior:j,top:N}})),f),{scrollTargetReached:l,scrollToIndex:d,topListHeight:g}},ye(pt,je,jt),{singleton:!0});function Oc(n){return e=>{const t=setTimeout(()=>{e(!1)},n);return o=>{o&&(e(!0),clearTimeout(t))}}}function Li(n,e){n==0?e():requestAnimationFrame(()=>{Li(n-1,e)})}function Di(n,e){const t=e-1;return typeof n=="number"?n:n.index==="LAST"?t:n.index}const Yn=le(([{defaultItemSize:n,listRefresh:e,sizes:t},{scrollTop:o},{scrollTargetReached:i,scrollToIndex:r},{didMount:s}])=>{const a=I(!0),c=I(0),f=I(!0);return H(D(s,ee(c),X(([m,h])=>!!h),ft(!1)),a),H(D(s,ee(c),X(([m,h])=>!!h),ft(!1)),f),ue(D(Re(e,s),ee(a,t,n,f),X(([[,m],h,{sizeTree:b},d,l])=>m&&(!ge(b)||vi(d))&&!h&&!l),ee(c)),([,m])=>{ct(i,()=>{Q(f,!0)}),Li(4,()=>{ct(o,()=>{Q(a,!0)}),Q(r,m)})}),{initialItemFinalLocationReached:f,initialTopMostItemIndex:c,scrolledToInitialItem:a}},ye(pt,je,Wn,Wt),{singleton:!0});function As(n,e){return Math.abs(n-e)<1.01}const Xn="up",Gn="down",Nc="none",Cc={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollHeight:0,scrollTop:0,viewportHeight:0}},Lc=0,Vn=le(([{footerHeight:n,headerHeight:e,scrollBy:t,scrollContainerState:o,scrollTop:i,viewportHeight:r}])=>{const s=I(!1),a=I(!0),c=ie(),f=ie(),m=I(4),h=I(Lc),b=ze(D(xi(D(G(i),Qt(1),ft(!0)),D(G(i),Qt(1),ft(!1),cs(100))),xe()),!1),d=ze(D(xi(D(t,ft(!0)),D(t,ft(!1),cs(200))),xe()),!1);H(D(Re(G(i),G(h)),U(([_,v])=>_<=v),xe()),a),H(D(a,St(50)),f);const l=Ke(D(Re(o,G(r),G(e),G(n),G(m)),gt((_,[{scrollHeight:v,scrollTop:S},x,E,T,w])=>{const C=S+x-v>-w,O={scrollHeight:v,scrollTop:S,viewportHeight:x};if(C){let R,F;return S>_.state.scrollTop?(R="SCROLLED_DOWN",F=_.state.scrollTop-S):(R="SIZE_DECREASED",F=_.state.scrollTop-S||_.scrollTopDelta),{atBottom:!0,atBottomBecause:R,scrollTopDelta:F,state:O}}let L;return O.scrollHeight>_.state.scrollHeight?L="SIZE_INCREASED":x<_.state.viewportHeight?L="VIEWPORT_HEIGHT_DECREASING":S<_.state.scrollTop?L="SCROLLING_UPWARDS":L="NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:L,state:O}},Cc),xe((_,v)=>_&&_.atBottom===v.atBottom))),g=ze(D(o,gt((_,{scrollHeight:v,scrollTop:S,viewportHeight:x})=>{if(As(_.scrollHeight,v))return{changed:!1,jump:0,scrollHeight:v,scrollTop:S};{const E=v-(S+x)<1;return _.scrollTop!==S&&E?{changed:!0,jump:_.scrollTop-S,scrollHeight:v,scrollTop:S}:{changed:!0,jump:0,scrollHeight:v,scrollTop:S}}},{changed:!1,jump:0,scrollHeight:0,scrollTop:0}),X(_=>_.changed),U(_=>_.jump)),0);H(D(l,U(_=>_.atBottom)),s),H(D(s,St(50)),c);const u=I(Gn);H(D(o,U(({scrollTop:_})=>_),xe(),gt((_,v)=>Ee(d)?{direction:_.direction,prevScrollTop:v}:{direction:v<_.prevScrollTop?Xn:Gn,prevScrollTop:v},{direction:Gn,prevScrollTop:0}),U(_=>_.direction)),u),H(D(o,St(50),ft(Nc)),u);const p=I(0);return H(D(b,X(_=>!_),ft(0)),p),H(D(i,St(100),ee(b),X(([_,v])=>v),gt(([_,v],[S])=>[v,S],[0,0]),U(([_,v])=>v-_)),p),{atBottomState:l,atBottomStateChange:c,atBottomThreshold:m,atTopStateChange:f,atTopThreshold:h,isAtBottom:s,isAtTop:a,isScrolling:b,lastJumpDueToItemResize:g,scrollDirection:u,scrollVelocity:p}},ye(je)),$n="top",Jn="bottom",Os="none";function Ns(n,e,t){return typeof n=="number"?t===Xn&&e===$n||t===Gn&&e===Jn?n:0:t===Xn?e===$n?n.main:n.reverse:e===Jn?n.main:n.reverse}function Cs(n,e){var t;return typeof n=="number"?n:(t=n[e])!=null?t:0}const Ii=le(([{deviation:n,fixedHeaderHeight:e,headerHeight:t,scrollTop:o,viewportHeight:i}])=>{const r=ie(),s=I(0),a=I(0),c=I(0),f=ze(D(Re(G(o),G(i),G(t),G(r,jn),G(c),G(s),G(e),G(n),G(a)),U(([m,h,b,[d,l],g,u,p,_,v])=>{const S=m-_,x=u+p,E=Math.max(b-S,0);let T=Os;const w=Cs(v,$n),C=Cs(v,Jn);return d-=_,d+=b+p,l+=b+p,l-=_,d>m+x-w&&(T=Xn),l<m-E+h+C&&(T=Gn),T!==Os?[Math.max(S-b-Ns(g,$n,T)-w,0),S-E-p+h+Ns(g,Jn,T)+C]:null}),X(m=>m!=null),xe(jn)),[0,0]);return{increaseViewportBy:a,listBoundary:r,overscan:c,topListHeight:s,visibleRange:f}},ye(je),{singleton:!0});function Dc(n,e,t){if(Ao(e)){const o=xs(n,e);return[{index:ut(e.groupOffsetTree,o)[0],offset:0,size:0},{data:t==null?void 0:t[0],index:o,offset:0,size:0}]}return[{data:t==null?void 0:t[0],index:n,offset:0,size:0}]}const Bi={bottom:0,firstItemIndex:0,items:[],offsetBottom:0,offsetTop:0,top:0,topItems:[],topListHeight:0,totalCount:0};function Oo(n,e,t,o,i,r){const{lastIndex:s,lastOffset:a,lastSize:c}=i;let f=0,m=0;if(n.length>0){f=n[0].offset;const g=n[n.length-1];m=g.offset+g.size}const h=t-s,b=a+h*c+(h-1)*o,d=f,l=b-m;return{bottom:m,firstItemIndex:r,items:Ds(n,i,r),offsetBottom:l,offsetTop:f,top:d,topItems:Ds(e,i,r),topListHeight:e.reduce((g,u)=>u.size+g,0),totalCount:t}}function Ls(n,e,t,o,i,r){let s=0;if(t.groupIndices.length>0)for(const m of t.groupIndices){if(m-s>=n)break;s++}const a=n+s,c=Di(e,a),f=Array.from({length:a}).map((m,h)=>({data:r[h+c],index:h+c,offset:0,size:0}));return Oo(f,[],a,i,t,o)}function Ds(n,e,t){if(n.length===0)return[];if(!Ao(e))return n.map(f=>({...f,index:f.index+t,originalIndex:f.index}));const o=n[0].index,i=n[n.length-1].index,r=[],s=gn(e.groupOffsetTree,o,i);let a,c=0;for(const f of n){(!a||a.end<f.index)&&(a=s.shift(),c=e.groupIndices.indexOf(a.start));let m;f.index===a.start?m={index:c,type:"group"}:m={groupIndex:c,index:f.index-(c+1)+t},r.push({...m,data:f.data,offset:f.offset,originalIndex:f.index,size:f.size})}return r}function Is(n,e){var t;return n===void 0?0:typeof n=="number"?n:(t=n[e])!=null?t:0}const nn=le(([{data:n,firstItemIndex:e,gap:t,sizes:o,totalCount:i},r,{listBoundary:s,topListHeight:a,visibleRange:c},{initialTopMostItemIndex:f,scrolledToInitialItem:m},{topListHeight:h},b,{didMount:d},{recalcInProgress:l}])=>{const g=I([]),u=I(0),p=ie(),_=I(0);H(r.topItemsIndexes,g);const v=ze(D(Re(d,l,G(c,jn),G(i),G(o),G(f),m,G(g),G(e),G(t),G(_),n),X(([T,w,,C,,,,,,,,O])=>{const L=O&&O.length!==C;return T&&!w&&!L}),U(([,,[T,w],C,O,L,R,F,k,B,Y,j])=>{var z,V,ae,N;const W=O,{offsetTree:oe,sizeTree:he}=W,$e=Ee(u);if(C===0)return{...Bi,totalCount:C};if(T===0&&w===0)return $e===0?{...Bi,totalCount:C}:Ls($e,L,O,k,B,j||[]);if(ge(he))return $e>0?null:Oo(Dc(Di(L,C),W,j),[],C,B,W,k);const Je=[];if(F.length>0){const Z=F[0],de=F[F.length-1];let Ae=0;for(const Oe of gn(he,Z,de)){const pe=Oe.value,Te=Math.max(Oe.start,Z),it=Math.min(Oe.end,de);for(let Be=Te;Be<=it;Be++)Je.push({data:j==null?void 0:j[Be],index:Be,offset:Ae,size:pe}),Ae+=pe}}if(!R)return Oo([],Je,C,B,W,k);const re=F.length>0?F[F.length-1]+1:0,M=vc(oe,T,w,re);if(M.length===0)return null;const te=C-1,fe=So([],Z=>{for(const de of M){const Ae=de.value;let Oe=Ae.offset,pe=de.start;const Te=Ae.size;if(Ae.offset<T){pe+=Math.floor((T-Ae.offset+B)/(Te+B));const Be=pe-de.start;Oe+=Be*Te+Be*B}pe<re&&(Oe+=(re-pe)*Te,pe=re);const it=Math.min(de.end,te);for(let Be=pe;Be<=it&&!(Oe>=w);Be++)Z.push({data:j==null?void 0:j[Be],index:Be,offset:Oe,size:Te}),Oe+=Te+B}}),we=Is(Y,$n),P=Is(Y,Jn);if(fe.length>0&&(we>0||P>0)){const Z=fe[0],de=fe[fe.length-1];if(we>0&&Z.index>re){const Ae=Math.min(we,Z.index-re),Oe=[];let pe=Z.offset;for(let Te=Z.index-1;Te>=Z.index-Ae;Te--){const it=(V=(z=gn(he,Te,Te)[0])==null?void 0:z.value)!=null?V:Z.size;pe-=it+B,Oe.unshift({data:j==null?void 0:j[Te],index:Te,offset:pe,size:it})}fe.unshift(...Oe)}if(P>0&&de.index<te){const Ae=Math.min(P,te-de.index);let Oe=de.offset+de.size+B;for(let pe=de.index+1;pe<=de.index+Ae;pe++){const Te=(N=(ae=gn(he,pe,pe)[0])==null?void 0:ae.value)!=null?N:de.size;fe.push({data:j==null?void 0:j[pe],index:pe,offset:Oe,size:Te}),Oe+=Te+B}}}return Oo(fe,Je,C,B,W,k)}),X(T=>T!==null),xe()),Bi);H(D(n,X(vi),U(T=>T==null?void 0:T.length)),i),H(D(v,U(T=>T.topListHeight)),h),H(h,a),H(D(v,U(T=>[T.top,T.bottom])),s),H(D(v,U(T=>T.items)),p);const S=Ke(D(v,X(({items:T})=>T.length>0),ee(i,n),X(([{items:T},w])=>T[T.length-1].originalIndex===w-1),U(([,T,w])=>[T-1,w]),xe(jn),U(([T])=>T))),x=Ke(D(v,St(200),X(({items:T,topItems:w})=>T.length>0&&T[0].originalIndex===w.length),U(({items:T})=>T[0].index),xe())),E=Ke(D(v,X(({items:T})=>T.length>0),U(({items:T})=>{let w=0,C=T.length-1;for(;T[w].type==="group"&&w<C;)w++;for(;T[C].type==="group"&&C>w;)C--;return{endIndex:T[C].index,startIndex:T[w].index}}),xe(vs)));return{endReached:S,initialItemCount:u,itemsRendered:p,listState:v,minOverscanItemCount:_,rangeChanged:E,startReached:x,topItemsIndexes:g,...b}},ye(pt,ws,Ii,Yn,Wn,Vn,Wt,Oi),{singleton:!0}),Bs=le(([{fixedFooterHeight:n,fixedHeaderHeight:e,footerHeight:t,headerHeight:o},{listState:i}])=>{const r=ie(),s=ze(D(Re(t,n,o,e,i),U(([a,c,f,m,h])=>a+c+f+m+h.offsetBottom+h.bottom)),0);return H(G(s),r),{totalListHeight:s,totalListHeightChanged:r}},ye(je,nn),{singleton:!0}),Ic=le(([{viewportHeight:n},{totalListHeight:e}])=>{const t=I(!1),o=ze(D(Re(t,n,e),X(([i])=>i),U(([,i,r])=>Math.max(0,i-r)),St(0),xe()),0);return{alignToBottom:t,paddingTopAddition:o}},ye(je,Bs),{singleton:!0}),Ms=le(()=>({context:I(null)})),Bc=({itemBottom:n,itemTop:e,locationParams:{align:t,behavior:o,...i},viewportBottom:r,viewportTop:s})=>e<s?{...i,align:t??"start",behavior:o}:n>r?{...i,align:t??"end",behavior:o}:null,ks=le(([{gap:n,sizes:e,totalCount:t},{fixedFooterHeight:o,fixedHeaderHeight:i,headerHeight:r,scrollingInProgress:s,scrollTop:a,viewportHeight:c},{scrollToIndex:f}])=>{const m=ie();return H(D(m,ee(e,c,t,r,i,o,a),ee(n),U(([[h,b,d,l,g,u,p,_],v])=>{const{align:S,behavior:x,calculateViewLocation:E=Bc,done:T,...w}=h,C=Es(h,b,l-1),O=Hn(C,b.offsetTree,v)+g+u,L=O+ut(b.sizeTree,C)[1],R=_+u,F=_+d-p,k=E({itemBottom:L,itemTop:O,locationParams:{align:S,behavior:x,...w},viewportBottom:F,viewportTop:R});return k?T&&ct(D(s,X(B=>!B),Qt(Ee(s)?1:2)),T):T==null||T(),k}),X(h=>h!==null)),f),{scrollIntoView:m}},ye(pt,je,Wn,nn,jt),{singleton:!0});function zs(n){return n?n==="smooth"?"smooth":"auto":!1}const Mc=(n,e)=>typeof n=="function"?zs(n(e)):e&&zs(n),kc=le(([{listRefresh:n,totalCount:e,fixedItemSize:t,data:o},{atBottomState:i,isAtBottom:r},{scrollToIndex:s},{scrolledToInitialItem:a},{didMount:c,propsReady:f},{log:m},{scrollingInProgress:h},{context:b},{scrollIntoView:d}])=>{const l=I(!1),g=ie();let u=null;function p(x){Q(s,{align:"end",behavior:x,index:"LAST"})}ue(D(Re(D(G(e),Qt(1)),c),ee(G(l),r,a,h),U(([[x,E],T,w,C,O])=>{let L=E&&C,R="auto";return L&&(R=Mc(T,w||O),L=L&&!!R),{followOutputBehavior:R,shouldFollow:L,totalCount:x}}),X(({shouldFollow:x})=>x)),({followOutputBehavior:x,totalCount:E})=>{u&&(u(),u=null),Ee(t)?requestAnimationFrame(()=>{Ee(m)("following output to ",{totalCount:E},Ve.DEBUG),p(x)}):u=ct(n,()=>{Ee(m)("following output to ",{totalCount:E},Ve.DEBUG),p(x),u=null})});function _(x){const E=ct(i,T=>{x&&!T.atBottom&&T.notAtBottomBecause==="SIZE_INCREASED"&&!u&&(Ee(m)("scrolling to bottom due to increased size",{},Ve.DEBUG),p("auto"))});setTimeout(E,100)}ue(D(Re(G(l),e,f),X(([x,,E])=>x&&E),gt(({value:x},[,E])=>({refreshed:x===E,value:E}),{refreshed:!1,value:0}),X(({refreshed:x})=>x),ee(l,e)),([,x])=>{Ee(a)&&_(x!==!1)}),ue(g,()=>{_(Ee(l)!==!1)}),ue(Re(G(l),i),([x,E])=>{x&&!E.atBottom&&E.notAtBottomBecause==="VIEWPORT_HEIGHT_DECREASING"&&p("auto")});const v=I(null),S=ie();return H(xi(D(G(o),U(x=>{var E;return(E=x==null?void 0:x.length)!=null?E:0})),D(G(e))),S),ue(D(Re(D(S,Qt(1)),c),ee(G(v),a,h,b),U(([[x,E],T,w,C,O])=>E&&w&&(T==null?void 0:T({context:O,totalCount:x,scrollingInProgress:C}))),X(x=>!!x),St(0)),x=>{u&&(u(),u=null),Ee(t)?requestAnimationFrame(()=>{Ee(m)("scrolling into view",{}),Q(d,x)}):u=ct(n,()=>{Ee(m)("scrolling into view",{}),Q(d,x),u=null})}),{autoscrollToBottom:g,followOutput:l,scrollIntoViewOnChange:v}},ye(pt,Vn,Wn,Yn,Wt,jt,je,Ms,ks)),zc=le(([{data:n,firstItemIndex:e,gap:t,sizes:o},{initialTopMostItemIndex:i},{initialItemCount:r,listState:s},{didMount:a}])=>(H(D(a,ee(r),X(([,c])=>c!==0),ee(i,o,e,t,n),U(([[,c],f,m,h,b,d=[]])=>Ls(c,f,m,h,b,d))),s),{}),ye(pt,Yn,nn,Wt),{singleton:!0}),Fc=le(([{didMount:n},{scrollTo:e},{listState:t}])=>{const o=I(0);return ue(D(n,ee(o),X(([,i])=>i!==0),U(([,i])=>({top:i}))),i=>{ct(D(t,Qt(1),X(r=>r.items.length>1)),()=>{requestAnimationFrame(()=>{Q(e,i)})})}),{initialScrollTop:o}},ye(Wt,je,nn),{singleton:!0}),Fs=le(([{scrollVelocity:n}])=>{const e=I(!1),t=ie(),o=I(!1);return H(D(n,ee(o,e,t),X(([i,r])=>!!r),U(([i,r,s,a])=>{const{enter:c,exit:f}=r;if(s){if(f(i,a))return!1}else if(c(i,a))return!0;return s}),xe()),e),ue(D(Re(e,n,t),ee(o)),([[i,r,s],a])=>{i&&a&&a.change&&a.change(r,s)}),{isSeeking:e,scrollSeekConfiguration:o,scrollSeekRangeChanged:t,scrollVelocity:n}},ye(Vn),{singleton:!0}),Mi=le(([{scrollContainerState:n,scrollTo:e}])=>{const t=ie(),o=ie(),i=ie(),r=I(!1),s=I(void 0);return H(D(Re(t,o),U(([{scrollHeight:a,scrollTop:c,viewportHeight:f},{offsetTop:m}])=>({scrollHeight:a,scrollTop:Math.max(0,c-m),viewportHeight:f}))),n),H(D(e,ee(o),U(([a,{offsetTop:c}])=>({...a,top:a.top+c}))),i),{customScrollParent:s,useWindowScroll:r,windowScrollContainerState:t,windowScrollTo:i,windowViewportRect:o}},ye(je)),Uc=le(([{sizeRanges:n,sizes:e},{headerHeight:t,scrollTop:o},{initialTopMostItemIndex:i},{didMount:r},{useWindowScroll:s,windowScrollContainerState:a,windowViewportRect:c}])=>{const f=ie(),m=I(void 0),h=I(null),b=I(null);return H(a,h),H(c,b),ue(D(f,ee(e,o,s,h,b,t)),([d,l,g,u,p,_,v])=>{const S=xc(l.sizeTree);u&&p!==null&&_!==null&&(g=p.scrollTop-_.offsetTop),g-=v,d({ranges:S,scrollTop:g})}),H(D(m,X(vi),U(Pc)),i),H(D(r,ee(m),X(([,d])=>d!==void 0),xe(),U(([,d])=>d.ranges)),n),{getState:f,restoreStateFrom:m}},ye(pt,je,Yn,Wt,Mi));function Pc(n){return{align:"start",index:0,offset:n.scrollTop}}const jc=le(([{topItemsIndexes:n}])=>{const e=I(0);return H(D(e,X(t=>t>=0),U(t=>Array.from({length:t}).map((o,i)=>i))),n),{topItemCount:e}},ye(nn));function Us(n){let e=!1,t;return()=>(e||(e=!0,t=n()),t)}const Hc=Us(()=>/iP(ad|od|hone)/i.test(navigator.userAgent)&&/WebKit/i.test(navigator.userAgent)),Wc=le(([{deviation:n,scrollBy:e,scrollingInProgress:t,scrollTop:o},{isAtBottom:i,isScrolling:r,lastJumpDueToItemResize:s,scrollDirection:a},{listState:c},{beforeUnshiftWith:f,gap:m,shiftWithOffset:h,sizes:b},{log:d},{recalcInProgress:l}])=>{const g=Ke(D(c,ee(s),gt(([,p,_,v],[{bottom:S,items:x,offsetBottom:E,totalCount:T},w])=>{const C=S+E;let O=0;return _===T&&p.length>0&&x.length>0&&(x[0].originalIndex===0&&p[0].originalIndex===0||(O=C-v,O!==0&&(O+=w))),[O,x,T,C]},[0,[],0,0]),X(([p])=>p!==0),ee(o,a,t,i,d,l),X(([,p,_,v,,,S])=>!S&&!v&&p!==0&&_===Xn),U(([[p],,,,,_])=>(_("Upward scrolling compensation",{amount:p},Ve.DEBUG),p))));function u(p){p>0?(Q(e,{behavior:"auto",top:-p}),Q(n,0)):(Q(n,0),Q(e,{behavior:"auto",top:-p}))}return ue(D(g,ee(n,r)),([p,_,v])=>{v&&Hc()?Q(n,_-p):u(-p)}),ue(D(Re(ze(r,!1),n,l),X(([p,_,v])=>!p&&!v&&_!==0),U(([p,_])=>_),St(1)),u),H(D(h,U(p=>({top:-p}))),e),ue(D(f,ee(b,m),U(([p,{groupIndices:_,lastSize:v,sizeTree:S},x])=>{function E(T){return T*(v+x)}if(_.length===0)return E(p);{let T=0;const w=Pn(S,0);let C=0,O=0;for(;C<p;){C++,T+=w;let L=_.length===O+1?1/0:_[O+1]-_[O]-1;C+L>p&&(T-=w,L=p-C+1),C+=L,T+=E(L),O++}return T}})),p=>{Q(n,p),requestAnimationFrame(()=>{Q(e,{top:p}),requestAnimationFrame(()=>{Q(n,0),Q(l,!1)})})}),{deviation:n}},ye(je,Vn,nn,pt,jt,Oi)),Yc=le(([n,e,t,o,i,r,s,a,c,f,m])=>({...n,...e,...t,...o,...i,...r,...s,...a,...c,...f,...m}),ye(Ii,zc,Wt,Fs,Bs,Fc,Ic,Mi,ks,jt,Ms)),Ps=le(([{data:n,defaultItemSize:e,firstItemIndex:t,fixedItemSize:o,fixedGroupSize:i,gap:r,groupIndices:s,heightEstimates:a,itemSize:c,sizeRanges:f,sizes:m,statefulTotalCount:h,totalCount:b,trackItemSizes:d},{initialItemFinalLocationReached:l,initialTopMostItemIndex:g,scrolledToInitialItem:u},p,_,v,S,{scrollToIndex:x},E,{topItemCount:T},{groupCounts:w},C])=>{const{listState:O,minOverscanItemCount:L,topItemsIndexes:R,rangeChanged:F,...k}=S;return H(F,C.scrollSeekRangeChanged),H(D(C.windowViewportRect,U(B=>B.visibleHeight)),p.viewportHeight),{data:n,defaultItemHeight:e,firstItemIndex:t,fixedItemHeight:o,fixedGroupHeight:i,gap:r,groupCounts:w,heightEstimates:a,initialItemFinalLocationReached:l,initialTopMostItemIndex:g,scrolledToInitialItem:u,sizeRanges:f,topItemCount:T,topItemsIndexes:R,totalCount:b,...v,groupIndices:s,itemSize:c,listState:O,minOverscanItemCount:L,scrollToIndex:x,statefulTotalCount:h,trackItemSizes:d,rangeChanged:F,...k,...C,...p,sizes:m,..._}},ye(pt,Yn,je,Uc,kc,nn,Wn,Wc,jc,ws,Yc));function Xc(n,e){const t={},o={};let i=0;const r=n.length;for(;i<r;)o[n[i]]=1,i+=1;for(const s in e)Object.hasOwn(o,s)||(t[s]=e[s]);return t}const No=typeof document<"u"?A.useLayoutEffect:A.useEffect;function js(n,e,t){const o=Object.keys(e.required||{}),i=Object.keys(e.optional||{}),r=Object.keys(e.methods||{}),s=Object.keys(e.events||{}),a=A.createContext({});function c(u,p){u.propsReady&&Q(u.propsReady,!1);for(const _ of o){const v=u[e.required[_]];Q(v,p[_])}for(const _ of i)if(_ in p){const v=u[e.optional[_]];Q(v,p[_])}u.propsReady&&Q(u.propsReady,!0)}function f(u){return r.reduce((p,_)=>(p[_]=v=>{const S=u[e.methods[_]];Q(S,v)},p),{})}function m(u){return s.reduce((p,_)=>(p[_]=ac(u[e.events[_]]),p),{})}const h=A.forwardRef((u,p)=>{const{children:_,...v}=u,[S]=A.useState(()=>So(dc(n),T=>{c(T,v)})),[x]=A.useState(ds(m,S));No(()=>{for(const T of s)T in v&&ue(x[T],v[T]);return()=>{Object.values(x).map(yi)}},[v,x,S]),No(()=>{c(S,v)}),A.useImperativeHandle(p,as(f(S)));const E=t;return y.jsx(a.Provider,{value:S,children:t?y.jsx(E,{...Xc([...o,...i,...s],v),children:_}):_})}),b=u=>{const p=A.useContext(a);return A.useCallback(_=>{Q(p[u],_)},[p,u])},d=u=>{const p=A.useContext(a)[u],_=A.useCallback(v=>ue(p,v),[p]);return A.useSyncExternalStore(_,()=>Ee(p),()=>Ee(p))},l=u=>{const p=A.useContext(a)[u],[_,v]=A.useState(ds(Ee,p));return No(()=>ue(p,S=>{S!==_&&v(as(S))}),[p,_]),_},g=A.version.startsWith("18")?d:l;return{Component:h,useEmitter:(u,p)=>{const _=A.useContext(a)[u];No(()=>ue(_,p),[p,_])},useEmitterValue:g,usePublisher:b}}const Hs=A.createContext(void 0),Ws=A.createContext(void 0),Ys=typeof document<"u"?A.useLayoutEffect:A.useEffect;function ki(n){return"self"in n}function Gc(n){return"body"in n}function Xs(n,e,t,o=hn,i,r){const s=A.useRef(null),a=A.useRef(null),c=A.useRef(null),f=A.useCallback(b=>{let d,l,g;const u=b.target;if(Gc(u)||ki(u)){const _=ki(u)?u:u.defaultView;g=r?_.scrollX:_.scrollY,d=r?_.document.documentElement.scrollWidth:_.document.documentElement.scrollHeight,l=r?_.innerWidth:_.innerHeight}else g=r?u.scrollLeft:u.scrollTop,d=r?u.scrollWidth:u.scrollHeight,l=r?u.offsetWidth:u.offsetHeight;const p=()=>{n({scrollHeight:d,scrollTop:Math.max(g,0),viewportHeight:l})};b.suppressFlushSync?p():At.flushSync(p),a.current!==null&&(g===a.current||g<=0||g===d-l)&&(a.current=null,e(!0),c.current&&(clearTimeout(c.current),c.current=null))},[n,e,r]);A.useEffect(()=>{const b=i||s.current;return o(i||s.current),f({suppressFlushSync:!0,target:b}),b.addEventListener("scroll",f,{passive:!0}),()=>{o(null),b.removeEventListener("scroll",f)}},[s,f,t,o,i]);function m(b){const d=s.current;if(!d||(r?"offsetWidth"in d&&d.offsetWidth===0:"offsetHeight"in d&&d.offsetHeight===0))return;const l=b.behavior==="smooth";let g,u,p;ki(d)?(u=Math.max(Ht(d.document.documentElement,r?"width":"height"),r?d.document.documentElement.scrollWidth:d.document.documentElement.scrollHeight),g=r?d.innerWidth:d.innerHeight,p=r?window.scrollX:window.scrollY):(u=d[r?"scrollWidth":"scrollHeight"],g=Ht(d,r?"width":"height"),p=d[r?"scrollLeft":"scrollTop"]);const _=u-g;if(b.top=Math.ceil(Math.max(Math.min(_,b.top),0)),As(g,u)||b.top===p){n({scrollHeight:u,scrollTop:p,viewportHeight:g}),l&&e(!0);return}l?(a.current=b.top,c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,a.current=null,e(!0)},1e3)):a.current=null,r&&(b={behavior:b.behavior,left:b.top}),d.scrollTo(b)}function h(b){r&&(b={behavior:b.behavior,left:b.top}),s.current.scrollBy(b)}return{scrollByCallback:h,scrollerRef:s,scrollToCallback:m}}const zi="-webkit-sticky",Gs="sticky",Fi=Us(()=>{if(typeof document>"u")return Gs;const n=document.createElement("div");return n.style.position=zi,n.style.position===zi?zi:Gs});function Ui(n){return n}const Vc=le(()=>{const n=I(a=>`Item ${a}`),e=I(a=>`Group ${a}`),t=I({}),o=I(Ui),i=I("div"),r=I(hn),s=(a,c=null)=>ze(D(t,U(f=>f[a]),xe()),c);return{components:t,computeItemKey:o,EmptyPlaceholder:s("EmptyPlaceholder"),FooterComponent:s("Footer"),GroupComponent:s("Group","div"),groupContent:e,HeaderComponent:s("Header"),HeaderFooterTag:i,ItemComponent:s("Item","div"),itemContent:n,ListComponent:s("List","div"),ScrollerComponent:s("Scroller","div"),scrollerRef:r,ScrollSeekPlaceholder:s("ScrollSeekPlaceholder"),TopItemListComponent:s("TopItemList")}}),$c=le(([n,e])=>({...n,...e}),ye(Ps,Vc)),Jc=({height:n})=>y.jsx("div",{style:{height:n}}),Zc={overflowAnchor:"none",position:Fi(),zIndex:1},Vs={overflowAnchor:"none"},qc={...Vs,display:"inline-block",height:"100%"},$s=A.memo(function({showTopList:n=!1}){const e=J("listState"),t=nt("sizeRanges"),o=J("useWindowScroll"),i=J("customScrollParent"),r=nt("windowScrollContainerState"),s=nt("scrollContainerState"),a=i||o?r:s,c=J("itemContent"),f=J("context"),m=J("groupContent"),h=J("trackItemSizes"),b=J("itemSize"),d=J("log"),l=nt("gap"),g=J("horizontalDirection"),{callbackRef:u}=hc(t,b,h,n?hn:a,d,l,i,g,J("skipAnimationFrameInResizeObserver")),[p,_]=A.useState(0);Pi("deviation",k=>{p!==k&&_(k)});const v=J("EmptyPlaceholder"),S=J("ScrollSeekPlaceholder")||Jc,x=J("ListComponent"),E=J("ItemComponent"),T=J("GroupComponent"),w=J("computeItemKey"),C=J("isSeeking"),O=J("groupIndices").length>0,L=J("alignToBottom"),R=J("initialItemFinalLocationReached"),F=n?{}:{boxSizing:"border-box",...g?{display:"inline-block",height:"100%",marginLeft:p!==0?p:L?"auto":0,paddingLeft:e.offsetTop,paddingRight:e.offsetBottom,whiteSpace:"nowrap"}:{marginTop:p!==0?p:L?"auto":0,paddingBottom:e.offsetBottom,paddingTop:e.offsetTop},...R?{}:{visibility:"hidden"}};return!n&&e.totalCount===0&&v?y.jsx(v,{...Fe(v,f)}):y.jsx(x,{...Fe(x,f),"data-testid":n?"virtuoso-top-item-list":"virtuoso-item-list",ref:u,style:F,children:(n?e.topItems:e.items).map(k=>{const B=k.originalIndex,Y=w(B+e.firstItemIndex,k.data,f);return C?A.createElement(S,{...Fe(S,f),height:k.size,index:k.index,key:Y,type:k.type||"item",...k.type==="group"?{}:{groupIndex:k.groupIndex}}):k.type==="group"?A.createElement(T,{...Fe(T,f),"data-index":B,"data-item-index":k.index,"data-known-size":k.size,key:Y,style:Zc},m(k.index,f)):A.createElement(E,{...Fe(E,f),...tu(E,k.data),"data-index":B,"data-item-group-index":k.groupIndex,"data-item-index":k.index,"data-known-size":k.size,key:Y,style:g?qc:Vs},O?c(k.index,k.groupIndex,k.data,f):c(k.index,k.data,f))})})}),Kc={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},Qc={outline:"none",overflowX:"auto",position:"relative"},Co=n=>({height:"100%",position:"absolute",top:0,width:"100%",...n?{display:"flex",flexDirection:"column"}:{}}),eu={position:Fi(),top:0,width:"100%",zIndex:1};function Fe(n,e){if(typeof n!="string")return{context:e}}function tu(n,e){return{item:typeof n=="string"?void 0:e}}const nu=A.memo(function(){const n=J("HeaderComponent"),e=nt("headerHeight"),t=J("HeaderFooterTag"),o=en(A.useMemo(()=>r=>{e(Ht(r,"height"))},[e]),!0,J("skipAnimationFrameInResizeObserver")),i=J("context");return n?y.jsx(t,{ref:o,children:y.jsx(n,{...Fe(n,i)})}):null}),ou=A.memo(function(){const n=J("FooterComponent"),e=nt("footerHeight"),t=J("HeaderFooterTag"),o=en(A.useMemo(()=>r=>{e(Ht(r,"height"))},[e]),!0,J("skipAnimationFrameInResizeObserver")),i=J("context");return n?y.jsx(t,{ref:o,children:y.jsx(n,{...Fe(n,i)})}):null});function Js({useEmitter:n,useEmitterValue:e,usePublisher:t}){return A.memo(function({children:o,style:i,context:r,...s}){const a=t("scrollContainerState"),c=e("ScrollerComponent"),f=t("smoothScrollTargetReached"),m=e("scrollerRef"),h=e("horizontalDirection")||!1,{scrollByCallback:b,scrollerRef:d,scrollToCallback:l}=Xs(a,f,c,m,void 0,h);return n("scrollTo",l),n("scrollBy",b),y.jsx(c,{"data-testid":"virtuoso-scroller","data-virtuoso-scroller":!0,ref:d,style:{...h?Qc:Kc,...i},tabIndex:0,...s,...Fe(c,r),children:o})})}function Zs({useEmitter:n,useEmitterValue:e,usePublisher:t}){return A.memo(function({children:o,style:i,context:r,...s}){const a=t("windowScrollContainerState"),c=e("ScrollerComponent"),f=t("smoothScrollTargetReached"),m=e("totalListHeight"),h=e("deviation"),b=e("customScrollParent"),d=A.useRef(null),l=e("scrollerRef"),{scrollByCallback:g,scrollerRef:u,scrollToCallback:p}=Xs(a,f,c,l,b);return Ys(()=>{var _;return u.current=b||((_=d.current)==null?void 0:_.ownerDocument.defaultView),()=>{u.current=null}},[u,b]),n("windowScrollTo",p),n("scrollBy",g),y.jsx(c,{ref:d,"data-virtuoso-scroller":!0,style:{position:"relative",...i,...m!==0?{height:m+h}:{}},...s,...Fe(c,r),children:o})})}const iu=({children:n})=>{const e=A.useContext(Hs),t=nt("viewportHeight"),o=nt("fixedItemHeight"),i=J("alignToBottom"),r=J("horizontalDirection"),s=A.useMemo(()=>ls(t,c=>Ht(c,r?"width":"height")),[t,r]),a=en(s,!0,J("skipAnimationFrameInResizeObserver"));return A.useEffect(()=>{e&&(t(e.viewportHeight),o(e.itemHeight))},[e,t,o]),y.jsx("div",{"data-viewport-type":"element",ref:a,style:Co(i),children:n})},ru=({children:n})=>{const e=A.useContext(Hs),t=nt("windowViewportRect"),o=nt("fixedItemHeight"),i=J("customScrollParent"),r=fs(t,i,J("skipAnimationFrameInResizeObserver")),s=J("alignToBottom");return A.useEffect(()=>{e&&(o(e.itemHeight),t({offsetTop:0,visibleHeight:e.viewportHeight,visibleWidth:100}))},[e,t,o]),y.jsx("div",{"data-viewport-type":"window",ref:r,style:Co(s),children:n})},su=({children:n})=>{const e=J("TopItemListComponent")||"div",t=J("headerHeight"),o={...eu,marginTop:`${t}px`},i=J("context");return y.jsx(e,{style:o,...Fe(e,i),children:n})},au=A.memo(function(n){const e=J("useWindowScroll"),t=J("topItemsIndexes").length>0,o=J("customScrollParent"),i=J("context");return y.jsxs(o||e?cu:du,{...n,context:i,children:[t&&y.jsx(su,{children:y.jsx($s,{showTopList:!0})}),y.jsxs(o||e?ru:iu,{children:[y.jsx(nu,{}),y.jsx($s,{}),y.jsx(ou,{})]})]})}),{Component:lu,useEmitter:Pi,useEmitterValue:J,usePublisher:nt}=js($c,{required:{},optional:{restoreStateFrom:"restoreStateFrom",context:"context",followOutput:"followOutput",scrollIntoViewOnChange:"scrollIntoViewOnChange",itemContent:"itemContent",groupContent:"groupContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",minOverscanItemCount:"minOverscanItemCount",totalCount:"totalCount",groupCounts:"groupCounts",topItemCount:"topItemCount",firstItemIndex:"firstItemIndex",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",atBottomThreshold:"atBottomThreshold",atTopThreshold:"atTopThreshold",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedGroupHeight:"fixedGroupHeight",fixedItemHeight:"fixedItemHeight",heightEstimates:"heightEstimates",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"HeaderFooterTag",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",horizontalDirection:"horizontalDirection",skipAnimationFrameInResizeObserver:"skipAnimationFrameInResizeObserver"},methods:{scrollToIndex:"scrollToIndex",scrollIntoView:"scrollIntoView",scrollTo:"scrollTo",scrollBy:"scrollBy",autoscrollToBottom:"autoscrollToBottom",getState:"getState"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",totalListHeightChanged:"totalListHeightChanged",itemsRendered:"itemsRendered",groupIndices:"groupIndices"}},au),du=Js({useEmitter:Pi,useEmitterValue:J,usePublisher:nt}),cu=Zs({useEmitter:Pi,useEmitterValue:J,usePublisher:nt}),uu=lu;ye(Ps,le(()=>{const n=I(f=>y.jsxs("td",{children:["Item $",f]})),e=I(null),t=I(f=>y.jsxs("td",{colSpan:1e3,children:["Group ",f]})),o=I(null),i=I(null),r=I({}),s=I(Ui),a=I(hn),c=(f,m=null)=>ze(D(r,U(h=>h[f]),xe()),m);return{components:r,computeItemKey:s,context:e,EmptyPlaceholder:c("EmptyPlaceholder"),FillerRow:c("FillerRow"),fixedFooterContent:i,fixedHeaderContent:o,itemContent:n,groupContent:t,ScrollerComponent:c("Scroller","div"),scrollerRef:a,ScrollSeekPlaceholder:c("ScrollSeekPlaceholder"),TableBodyComponent:c("TableBody","tbody"),TableComponent:c("Table","table"),TableFooterComponent:c("TableFoot","tfoot"),TableHeadComponent:c("TableHead","thead"),TableRowComponent:c("TableRow","tr"),GroupComponent:c("Group","tr")}})),Fi();const qs={bottom:0,itemHeight:0,items:[],itemWidth:0,offsetBottom:0,offsetTop:0,top:0},hu={bottom:0,itemHeight:0,items:[{index:0}],itemWidth:0,offsetBottom:0,offsetTop:0,top:0},{ceil:Ks,floor:Lo,max:Zn,min:ji,round:Qs}=Math;function ea(n,e,t){return Array.from({length:e-n+1}).map((o,i)=>({data:t===null?null:t[i+n],index:i+n}))}function fu(n){return{...hu,items:n}}function Do(n,e){return n&&n.width===e.width&&n.height===e.height}function gu(n,e){return n&&n.column===e.column&&n.row===e.row}const pu=le(([{increaseViewportBy:n,listBoundary:e,overscan:t,visibleRange:o},{footerHeight:i,headerHeight:r,scrollBy:s,scrollContainerState:a,scrollTo:c,scrollTop:f,smoothScrollTargetReached:m,viewportHeight:h},b,d,{didMount:l,propsReady:g},{customScrollParent:u,useWindowScroll:p,windowScrollContainerState:_,windowScrollTo:v,windowViewportRect:S},x])=>{const E=I(0),T=I(0),w=I(qs),C=I({height:0,width:0}),O=I({height:0,width:0}),L=ie(),R=ie(),F=I(0),k=I(null),B=I({column:0,row:0}),Y=ie(),j=ie(),z=I(!1),V=I(0),ae=I(!0),N=I(!1),W=I(!1);ue(D(l,ee(V),X(([M,te])=>!!te)),()=>{Q(ae,!1)}),ue(D(Re(l,ae,O,C,V,N),X(([M,te,fe,we,,P])=>M&&!te&&fe.height!==0&&we.height!==0&&!P)),([,,,,M])=>{Q(N,!0),Li(1,()=>{Q(L,M)}),ct(D(f),()=>{Q(e,[0,0]),Q(ae,!0)})}),H(D(j,X(M=>M!=null&&M.scrollTop>0),ft(0)),T),ue(D(l,ee(j),X(([,M])=>M!=null)),([,M])=>{M&&(Q(C,M.viewport),Q(O,M.item),Q(B,M.gap),M.scrollTop>0&&(Q(z,!0),ct(D(f,Qt(1)),te=>{Q(z,!1)}),Q(c,{top:M.scrollTop})))}),H(D(C,U(({height:M})=>M)),h),H(D(Re(G(C,Do),G(O,Do),G(B,(M,te)=>M&&M.column===te.column&&M.row===te.row),G(f)),U(([M,te,fe,we])=>({gap:fe,item:te,scrollTop:we,viewport:M}))),Y),H(D(Re(G(E),o,G(B,gu),G(O,Do),G(C,Do),G(k),G(T),G(z),G(ae),G(V)),X(([,,,,,,,M])=>!M),U(([M,[te,fe],we,P,Z,de,Ae,,Oe,pe])=>{const{column:Te,row:it}=we,{height:Be,width:Yi}=P,{width:la}=Z;if(Ae===0&&(M===0||la===0))return qs;if(Yi===0){const fa=Di(pe,M),Pu=fa+Math.max(Ae-1,0);return fu(ea(fa,Pu,de))}const Io=ta(la,Yi,Te);let pn,on;Oe?te===0&&fe===0&&Ae>0?(pn=0,on=Ae-1):(pn=Io*Lo((te+it)/(Be+it)),on=Io*Ks((fe+it)/(Be+it))-1,on=ji(M-1,Zn(on,Io-1)),pn=ji(on,Zn(0,pn))):(pn=0,on=-1);const da=ea(pn,on,de),{bottom:ca,top:ua}=na(Z,we,P,da),ha=Ks(M/Io),Uu=ha*Be+(ha-1)*it-ca;return{bottom:ca,itemHeight:Be,items:da,itemWidth:Yi,offsetBottom:Uu,offsetTop:ua,top:ua}})),w),H(D(k,X(M=>M!==null),U(M=>M.length)),E),H(D(Re(C,O,w,B),X(([M,te,{items:fe}])=>fe.length>0&&te.height!==0&&M.height!==0),U(([M,te,{items:fe},we])=>{const{bottom:P,top:Z}=na(M,we,te,fe);return[Z,P]}),xe(jn)),e);const oe=I(!1);H(D(f,ee(oe),U(([M,te])=>te||M!==0)),oe);const he=Ke(D(Re(w,E),X(([{items:M}])=>M.length>0),ee(oe),X(([[M,te],fe])=>{const we=M.items[M.items.length-1].index===te-1;return(fe||M.bottom>0&&M.itemHeight>0&&M.offsetBottom===0&&M.items.length===te)&&we}),U(([[,M]])=>M-1),xe())),$e=Ke(D(G(w),X(({items:M})=>M.length>0&&M[0].index===0),ft(0),xe())),Je=Ke(D(G(w),ee(z),X(([{items:M},te])=>M.length>0&&!te),U(([{items:M}])=>({endIndex:M[M.length-1].index,startIndex:M[0].index})),xe(vs),St(0)));H(Je,d.scrollSeekRangeChanged),H(D(L,ee(C,O,E,B),U(([M,te,fe,we,P])=>{const Z=Rs(M),{align:de,behavior:Ae,offset:Oe}=Z;let pe=Z.index;pe==="LAST"&&(pe=we-1),pe=Zn(0,pe,ji(we-1,pe));let Te=Hi(te,P,fe,pe);return de==="end"?Te=Qs(Te-te.height+fe.height):de==="center"&&(Te=Qs(Te-te.height/2+fe.height/2)),Oe&&(Te+=Oe),{behavior:Ae,top:Te}})),c);const re=ze(D(w,U(M=>M.offsetBottom+M.bottom)),0);return H(D(S,U(M=>({height:M.visibleHeight,width:M.visibleWidth}))),C),{customScrollParent:u,data:k,deviation:F,footerHeight:i,gap:B,headerHeight:r,increaseViewportBy:n,initialItemCount:T,itemDimensions:O,overscan:t,restoreStateFrom:j,scrollBy:s,scrollContainerState:a,scrollHeight:R,scrollTo:c,scrollToIndex:L,scrollTop:f,smoothScrollTargetReached:m,totalCount:E,useWindowScroll:p,viewportDimensions:C,windowScrollContainerState:_,windowScrollTo:v,windowViewportRect:S,...d,gridState:w,horizontalDirection:W,initialTopMostItemIndex:V,totalListHeight:re,...b,endReached:he,propsReady:g,rangeChanged:Je,startReached:$e,stateChanged:Y,stateRestoreInProgress:z,...x}},ye(Ii,je,Vn,Fs,Wt,Mi,jt));function ta(n,e,t){return Zn(1,Lo((n+t)/(Lo(e)+t)))}function na(n,e,t,o){const{height:i}=t;if(i===void 0||o.length===0)return{bottom:0,top:0};const r=Hi(n,e,t,o[0].index);return{bottom:Hi(n,e,t,o[o.length-1].index)+i,top:r}}function Hi(n,e,t,o){const i=ta(n.width,t.width,e.column),r=Lo(o/i),s=r*t.height+Zn(0,r-1)*e.row;return s>0?s+e.row:s}const mu=le(()=>{const n=I(h=>`Item ${h}`),e=I({}),t=I(null),o=I("virtuoso-grid-item"),i=I("virtuoso-grid-list"),r=I(Ui),s=I("div"),a=I(hn),c=(h,b=null)=>ze(D(e,U(d=>d[h]),xe()),b),f=I(!1),m=I(!1);return H(G(m),f),{components:e,computeItemKey:r,context:t,FooterComponent:c("Footer"),HeaderComponent:c("Header"),headerFooterTag:s,itemClassName:o,ItemComponent:c("Item","div"),itemContent:n,listClassName:i,ListComponent:c("List","div"),readyStateChanged:f,reportReadyState:m,ScrollerComponent:c("Scroller","div"),scrollerRef:a,ScrollSeekPlaceholder:c("ScrollSeekPlaceholder","div")}}),_u=le(([n,e])=>({...n,...e}),ye(pu,mu)),bu=A.memo(function(){const n=Se("gridState"),e=Se("listClassName"),t=Se("itemClassName"),o=Se("itemContent"),i=Se("computeItemKey"),r=Se("isSeeking"),s=ot("scrollHeight"),a=Se("ItemComponent"),c=Se("ListComponent"),f=Se("ScrollSeekPlaceholder"),m=Se("context"),h=ot("itemDimensions"),b=ot("gap"),d=Se("log"),l=Se("stateRestoreInProgress"),g=ot("reportReadyState"),u=en(A.useMemo(()=>p=>{const _=p.parentElement.parentElement.scrollHeight;s(_);const v=p.firstChild;if(v){const{height:S,width:x}=v.getBoundingClientRect();h({height:S,width:x})}b({column:ia("column-gap",getComputedStyle(p).columnGap,d),row:ia("row-gap",getComputedStyle(p).rowGap,d)})},[s,h,b,d]),!0,!1);return Ys(()=>{n.itemHeight>0&&n.itemWidth>0&&g(!0)},[n]),l?null:y.jsx(c,{className:e,ref:u,...Fe(c,m),"data-testid":"virtuoso-item-list",style:{paddingBottom:n.offsetBottom,paddingTop:n.offsetTop},children:n.items.map(p=>{const _=i(p.index,p.data,m);return r?y.jsx(f,{...Fe(f,m),height:n.itemHeight,index:p.index,width:n.itemWidth},_):A.createElement(a,{...Fe(a,m),className:t,"data-index":p.index,key:_},o(p.index,p.data,m))})})}),Tu=A.memo(function(){const n=Se("HeaderComponent"),e=ot("headerHeight"),t=Se("headerFooterTag"),o=en(A.useMemo(()=>r=>{e(Ht(r,"height"))},[e]),!0,!1),i=Se("context");return n?y.jsx(t,{ref:o,children:y.jsx(n,{...Fe(n,i)})}):null}),vu=A.memo(function(){const n=Se("FooterComponent"),e=ot("footerHeight"),t=Se("headerFooterTag"),o=en(A.useMemo(()=>r=>{e(Ht(r,"height"))},[e]),!0,!1),i=Se("context");return n?y.jsx(t,{ref:o,children:y.jsx(n,{...Fe(n,i)})}):null}),yu=({children:n})=>{const e=A.useContext(Ws),t=ot("itemDimensions"),o=ot("viewportDimensions"),i=en(A.useMemo(()=>r=>{o(r.getBoundingClientRect())},[o]),!0,!1);return A.useEffect(()=>{e&&(o({height:e.viewportHeight,width:e.viewportWidth}),t({height:e.itemHeight,width:e.itemWidth}))},[e,o,t]),y.jsx("div",{ref:i,style:Co(!1),children:n})},xu=({children:n})=>{const e=A.useContext(Ws),t=ot("windowViewportRect"),o=ot("itemDimensions"),i=Se("customScrollParent"),r=fs(t,i,!1);return A.useEffect(()=>{e&&(o({height:e.itemHeight,width:e.itemWidth}),t({offsetTop:0,visibleHeight:e.viewportHeight,visibleWidth:e.viewportWidth}))},[e,t,o]),y.jsx("div",{ref:r,style:Co(!1),children:n})},Eu=A.memo(function({...n}){const e=Se("useWindowScroll"),t=Se("customScrollParent"),o=t||e?wu:Su,i=t||e?xu:yu,r=Se("context");return y.jsx(o,{...n,...Fe(o,r),children:y.jsxs(i,{children:[y.jsx(Tu,{}),y.jsx(bu,{}),y.jsx(vu,{})]})})}),{useEmitter:oa,useEmitterValue:Se,usePublisher:ot}=js(_u,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex",increaseViewportBy:"increaseViewportBy"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged",readyStateChanged:"readyStateChanged"}},Eu),Su=Js({useEmitter:oa,useEmitterValue:Se,usePublisher:ot}),wu=Zs({useEmitter:oa,useEmitterValue:Se,usePublisher:ot});function ia(n,e,t){return e!=="normal"&&!(e!=null&&e.endsWith("px"))&&t(`${n} was not resolved to pixel value correctly`,e,Ve.WARN),e==="normal"?0:parseInt(e??"0",10)}const Ru=({x:n,y:e,items:t,onClose:o})=>{const i=A.useRef(null);return A.useEffect(()=>{const r=s=>{i.current&&!i.current.contains(s.target)&&o()};return document.addEventListener("mousedown",r),()=>document.removeEventListener("mousedown",r)},[o]),y.jsx("div",{ref:i,className:"fixed z-[1000] min-w-[160px] bg-popover text-popover-foreground border shadow-md rounded-md py-1 animate-in fade-in zoom-in-95 duration-100",style:{top:e,left:n},children:t.map((r,s)=>y.jsxs(A.Fragment,{children:[r.divider&&y.jsx("div",{className:"h-[1px] bg-border my-1"}),y.jsxs("div",{className:"px-3 py-1.5 hover:bg-accent hover:text-accent-foreground cursor-pointer text-xs flex items-center",onClick:()=>{r.onClick(),o()},children:[r.icon&&y.jsx("span",{className:"mr-2 opacity-70",children:r.icon}),y.jsx("span",{children:r.label})]})]},s))})};function Au(...n){return Kt(qt(n))}const ra=({data:n,onMoveNode:e,onNewFile:t,onNewFolder:o,onRename:i,onDelete:r})=>{const[s,a]=A.useState(b(n)),[c,f]=A.useState(null),[m,h]=A.useState(null);A.useEffect(()=>{a(b(n))},[n]);function b(S,x=0){return S.reduce((E,T)=>{const w={...T,level:x};return E.push(w),w.isOpen&&w.children&&E.push(...b(w.children,x+1)),E},[])}const d=S=>{const x=E=>E.map(T=>T.id===S?{...T,isOpen:!T.isOpen}:T.children?{...T,children:x(T.children)}:T);a(b(x(n)))},l=(S,x)=>{S.dataTransfer.setData("text/plain",x),S.dataTransfer.effectAllowed="move"},g=(S,x,E)=>{S.preventDefault(),E==="folder"&&h(x)},u=()=>{h(null)},p=(S,x,E)=>{S.preventDefault(),h(null);const T=S.dataTransfer.getData("text/plain");T&&T!==x&&E==="folder"&&e&&e(T,x)},_=(S,x)=>{S.preventDefault(),f({x:S.clientX,y:S.clientY,nodeId:x.id,type:x.type})},v=[{label:"New File",icon:y.jsx(rd,{size:14}),onClick:()=>c&&(t==null?void 0:t(c.nodeId))},{label:"New Folder",icon:y.jsx(ql,{size:14}),onClick:()=>c&&(o==null?void 0:o(c.nodeId))},{label:"Rename",icon:y.jsx(ld,{size:14}),divider:!0,onClick:()=>c&&(i==null?void 0:i(c.nodeId))},{label:"Delete",icon:y.jsx(cd,{size:14,className:"text-destructive"}),onClick:()=>c&&(r==null?void 0:r(c.nodeId))}];return y.jsxs("div",{className:"h-full w-full bg-muted/30",children:[y.jsx(uu,{style:{height:"100%"},totalCount:s.length,itemContent:S=>{const x=s[S];return y.jsxs("div",{draggable:!0,onDragStart:E=>l(E,x.id),onDragOver:E=>g(E,x.id,x.type),onDragLeave:u,onDrop:E=>p(E,x.id,x.type),className:Au("flex items-center py-1 px-2 cursor-pointer hover:bg-accent hover:text-accent-foreground select-none text-xs","transition-colors duration-150 relative",m===x.id&&"bg-primary/20 ring-1 ring-primary/50 rounded-sm"),style:{paddingLeft:`${(x.level||0)*12+8}px`},onClick:()=>x.type==="folder"&&d(x.id),onContextMenu:E=>_(E,x),children:[y.jsx("div",{className:"w-4 h-4 mr-1 flex items-center justify-center",children:x.type==="folder"?x.isOpen?y.jsx(Gl,{size:14}):y.jsx(Ar,{size:14}):null}),y.jsx("div",{className:"mr-2",children:x.type==="folder"?y.jsx(Kl,{size:14,className:"text-blue-400 fill-blue-400/20"}):y.jsx(Jl,{size:14,className:"text-muted-foreground"})}),y.jsx("span",{className:"truncate",children:x.label})]})}}),c&&y.jsx(Ru,{x:c.x,y:c.y,items:v,onClose:()=>f(null)})]})};function sa(...n){return Kt(qt(n))}const Ou=({placeholder:n="Search...",onSearch:e,results:t,onSelect:o,suggestions:i=[],loading:r=!1,className:s})=>{const[a,c]=A.useState(""),[f,m]=A.useState(!1),[h,b]=A.useState(-1),d=A.useRef(null);A.useEffect(()=>{const u=setTimeout(()=>{e(a)},300);return()=>clearTimeout(u)},[a,e]);const l=i.filter(u=>u.toLowerCase().includes(a.toLowerCase())&&u.toLowerCase()!==a.toLowerCase()),g=u=>{f&&l.length>0&&(u.key==="ArrowDown"?(u.preventDefault(),b(p=>(p+1)%l.length)):u.key==="ArrowUp"?(u.preventDefault(),b(p=>(p-1+l.length)%l.length)):u.key==="Enter"&&h>=0&&(u.preventDefault(),c(l[h]),m(!1)))};return y.jsxs("div",{ref:d,className:sa("flex flex-col h-full bg-background",s),children:[y.jsxs("div",{className:"p-3 border-b border-border/50",children:[y.jsxs("div",{className:"relative",children:[y.jsx("div",{className:"absolute left-2.5 top-2.5 text-muted-foreground",children:r?y.jsx(nd,{size:14,className:"animate-spin"}):y.jsx(si,{size:14})}),y.jsx("input",{type:"text",className:"w-full bg-secondary/50 border border-border rounded-md pl-9 pr-8 py-2 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent transition-all",placeholder:n,value:a,onChange:u=>{c(u.target.value),m(!0),b(-1)},onKeyDown:g,onFocus:()=>m(!0)}),a&&y.jsx("button",{onClick:()=>{c(""),e("")},className:"absolute right-2 top-2.5 text-muted-foreground hover:text-foreground",children:y.jsx(bo,{size:14})})]}),f&&l.length>0&&y.jsx("div",{className:"absolute left-3 right-3 mt-1 bg-popover border shadow-lg rounded-md z-50 py-1 overflow-hidden",children:l.map((u,p)=>y.jsxs("div",{className:sa("px-3 py-1.5 text-xs cursor-pointer flex items-center space-x-2",p===h?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onClick:()=>{c(u),m(!1)},children:[y.jsx($l,{size:12,className:"text-muted-foreground"}),y.jsx("span",{children:u})]},u))})]}),y.jsx("div",{className:"flex-1 overflow-y-auto",children:t.length===0?y.jsx("div",{className:"p-8 text-center text-xs text-muted-foreground italic",children:a?`No results found for "${a}"`:"Type to start searching..."}):y.jsx("div",{className:"py-2",children:t.map(u=>{const p=u.icon;return y.jsx("div",{onClick:()=>o(u),className:"px-4 py-2 hover:bg-accent/50 cursor-pointer group transition-colors border-l-2 border-transparent hover:border-primary",children:y.jsxs("div",{className:"flex items-start space-x-3",children:[p&&y.jsx("div",{className:"mt-0.5 p-1 rounded bg-muted group-hover:bg-background transition-colors",children:y.jsx(p,{size:14,className:"text-muted-foreground group-hover:text-primary"})}),y.jsxs("div",{className:"flex-1 min-w-0",children:[y.jsxs("div",{className:"flex items-center justify-between",children:[y.jsx("span",{className:"text-xs font-medium truncate",children:u.title}),u.category&&y.jsx("span",{className:"text-[10px] uppercase tracking-wider text-muted-foreground font-bold px-1.5 py-0.5 bg-muted rounded",children:u.category})]}),u.description&&y.jsx("p",{className:"text-[11px] text-muted-foreground truncate mt-0.5",children:u.description})]})]})},u.id)})})})]})};function aa(...n){return Kt(qt(n))}const Nu=({commands:n,forcedOpen:e=!1})=>{const[t,o]=A.useState(e),[i,r]=A.useState(""),[s,a]=A.useState(0),c=A.useRef(null),f=(n||ht.getCommands()).filter(b=>b.label.toLowerCase().includes(i.toLowerCase())||b.id.toLowerCase().includes(i.toLowerCase()));A.useEffect(()=>{o(e)},[e]),A.useEffect(()=>{const b=d=>{(d.metaKey||d.ctrlKey)&&d.shiftKey&&d.key.toLowerCase()==="p"?(d.preventDefault(),o(l=>!l),r(""),a(0)):d.key==="Escape"&&o(!1)};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[]),A.useEffect(()=>{var b;t&&((b=c.current)==null||b.focus())},[t]);const m=b=>{b.key==="ArrowDown"?(b.preventDefault(),a(d=>(d+1)%f.length)):b.key==="ArrowUp"?(b.preventDefault(),a(d=>(d-1+f.length)%f.length)):b.key==="Enter"&&(b.preventDefault(),f[s]&&h(f[s]))},h=b=>{b.execute(),e||o(!1)};return t?y.jsx("div",{className:aa("z-[100] flex items-start justify-center pt-[10vh]",e?"relative pt-0 w-full max-w-xl":"fixed inset-0 bg-black/50 backdrop-blur-sm"),children:y.jsxs("div",{className:"w-full max-w-xl bg-popover text-popover-foreground border shadow-2xl rounded-xl overflow-hidden animate-in fade-in zoom-in duration-200",children:[y.jsxs("div",{className:"flex items-center px-4 border-b",children:[y.jsx(si,{size:18,className:"text-muted-foreground mr-3"}),y.jsx("input",{ref:c,type:"text",placeholder:"Type a command to run...",className:"flex-1 h-14 bg-transparent outline-none text-base text-foreground placeholder:text-muted-foreground",value:i,onChange:b=>{r(b.target.value),a(0)},onKeyDown:m})]}),y.jsx("div",{className:"max-h-[300px] overflow-y-auto py-2",children:f.length===0?y.jsxs("div",{className:"px-4 py-8 text-center text-sm text-muted-foreground",children:['No commands found matching "',i,'"']}):f.map((b,d)=>y.jsxs("div",{className:aa("px-4 py-2 cursor-pointer flex justify-between items-center text-sm",d===s?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onClick:()=>h(b),onMouseEnter:()=>a(d),children:[y.jsx("span",{children:b.label}),b.keybinding&&y.jsx("span",{className:"text-[10px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded border border-border/50",children:b.keybinding})]},b.id))}),y.jsxs("div",{className:"px-4 py-2 border-t bg-muted/30 flex justify-between items-center text-[10px] text-muted-foreground",children:[y.jsxs("div",{className:"flex gap-3",children:[y.jsxs("span",{children:[y.jsx("kbd",{className:"bg-muted px-1 rounded border",children:"↑↓"})," to navigate"]}),y.jsxs("span",{children:[y.jsx("kbd",{className:"bg-muted px-1 rounded border",children:"Enter"})," to select"]})]}),y.jsxs("span",{children:[y.jsx("kbd",{className:"bg-muted px-1 rounded border",children:"Esc"})," to close"]})]})]})}):null};function Cu(...n){return Kt(qt(n))}const Lu=({name:n,avatarUrl:e,role:t,onClick:o,className:i,showName:r=!0})=>y.jsxs("div",{onClick:o,className:Cu("flex items-center space-x-2 px-2 py-1 rounded hover:bg-accent hover:text-accent-foreground cursor-pointer transition-colors select-none",i),children:[y.jsx("div",{className:"relative w-6 h-6 rounded-full overflow-hidden border border-border/50 bg-muted flex items-center justify-center shrink-0",children:e?y.jsx("img",{src:e,alt:n,className:"w-full h-full object-cover"}):y.jsx(Nr,{size:14,className:"text-muted-foreground"})}),r&&y.jsxs("div",{className:"flex flex-col min-w-0 leading-tight",children:[y.jsx("span",{className:"text-[11px] font-semibold truncate",children:n}),t&&y.jsx("span",{className:"text-[9px] text-muted-foreground truncate",children:t})]})]});class Du{constructor(){mn(this,"plugins",new Map);mn(this,"loaders",new Map)}registerPlugin(e){if(this.plugins.has(e.id)){console.warn(`Plugin ${e.id} is already registered.`);return}this.plugins.set(e.id,e),console.log(`Plugin ${e.name} (${e.id}) registered.`)}registerLazyPlugin(e,t){if(this.loaders.has(e)||this.plugins.has(e)){console.warn(`Plugin ${e} is already registered or has a loader.`);return}this.loaders.set(e,t),console.log(`Lazy plugin loader for ${e} registered.`)}async activatePlugin(e){let t=this.plugins.get(e);if(!t&&this.loaders.has(e))try{t=await this.loaders.get(e)(),this.plugins.set(e,t),console.log(`Lazy plugin ${e} loaded.`)}catch(o){console.error(`Failed to load lazy plugin ${e}`,o);return}if(t)try{t.activate(),console.log(`Plugin ${t.name} activated.`)}catch(o){console.error(`Failed to activate plugin ${e}`,o)}else console.warn(`Plugin ${e} not found for activation.`)}getPlugin(e){return this.plugins.get(e)}getAllPlugins(){return Array.from(this.plugins.values())}}const Wi=new Du,Iu={id:"plugin-example",name:"Example Plugin",activate:()=>{ht.registerCommand({id:"plugin.hello",label:"Plugin Hello",execute:()=>{alert("Hello from Example Plugin!")}}),Jt.registerMenu("View",{id:"view.greet",label:"Greet from Plugin",commandId:"plugin.hello"}),console.log("Example Plugin Activated")},deactivate:()=>{console.log("Example Plugin Deactivated")}},Bu=[{id:"src",label:"src",type:"folder",isOpen:!0,children:[{id:"core",label:"core",type:"folder",isOpen:!0,children:[{id:"boot",label:"Boot.ts",type:"file"},{id:"registry",label:"registry",type:"folder"}]},{id:"components",label:"components",type:"folder",children:[{id:"layout",label:"layout",type:"folder"},{id:"widgets",label:"widgets",type:"folder"}]},{id:"app",label:"App.tsx",type:"file"},{id:"main",label:"main.tsx",type:"file"}]},{id:"package",label:"package.json",type:"file"},{id:"readme",label:"README.md",type:"file"}],Mu=()=>y.jsx(ra,{data:Bu,onNewFile:n=>window.prompt("New File Name:"),onNewFolder:n=>window.prompt("New Folder Name:"),onRename:n=>window.prompt("New Name:"),onDelete:n=>window.confirm("Delete this item?")}),ku=async()=>{vo.getState().setWidgets([{id:"git-branch",label:"main",icon:Ql,alignment:"left",priority:100},{id:"notifications",label:"0",icon:Xl,alignment:"left",priority:90},{id:"status-text",label:"Ready",alignment:"right",priority:10},{id:"terminal-toggle",label:"Terminal",icon:_o,alignment:"right",onClick:()=>bi.getState().toggle(),priority:110},{id:"chat-toggle",label:"Chat",icon:Or,alignment:"right",commandId:"nexus.toggle-chat",priority:100},{id:"line-col",label:"Ln 1, Col 1",alignment:"right",priority:50},{id:"encoding",label:"UTF-8",alignment:"right",priority:40}]),Fn.getState().setPanels([{id:"files",label:"Explorer",icon:Zl,component:Mu},{id:"search",label:"Search",icon:si,component:()=>y.jsx("div",{className:"p-4 text-sm italic text-muted-foreground",children:"Search functionality coming soon..."})},{id:"git",label:"Source Control",icon:ed,component:()=>y.jsx("div",{className:"p-4 text-sm italic text-muted-foreground",children:"Source control integration pending..."})},{id:"plugins",label:"Extensions",icon:id,component:()=>y.jsx("div",{className:"p-4 text-sm italic text-muted-foreground",children:"Extension manager view..."})}]),xo.getState().setSlashCommands([{command:"help",description:"Show available commands",execute:()=>alert("Available commands: /help, /clear, /theme [light|dark|gt]")},{command:"clear",description:"Clear chat history",execute:()=>{console.log("Chat clear triggered")}},{command:"theme",description:"Change the application theme",execute:n=>{const e=n[0];["light","dark","gt"].includes(e)?yo.getState().setTheme(e):alert("Usage: /theme [light|dark|gt]")}}]),ht.registerCommand({id:"nexus.new-tab",label:"New Welcome Tab",keybinding:"Control+N",execute:()=>Ti.getState().addTab("welcome","Welcome")}),ht.registerCommand({id:"nexus.toggle-chat",label:"Toggle Chat Pane",keybinding:"Control+I",execute:()=>mi.getState().toggleChat()}),ht.registerCommand({id:"nexus.about",label:"About Nexus Shell",keybinding:"Control+H",execute:()=>alert(`Nexus-Shell Framework v0.1.0
210
210
  Professional-grade Workbench UI`)}),Jt.registerMenu("File",{id:"file.new-tab",label:"New Welcome Tab",commandId:"nexus.new-tab"}),Jt.registerMenu("Help",{id:"help.about",label:"About",commandId:"nexus.about"}),Wi.registerLazyPlugin("plugin-example",async()=>Iu),await Wi.activatePlugin("plugin-example"),console.log("Nexus Shell Core Initialized")},zu=()=>{A.useEffect(()=>{const n=e=>{const t=ht.getCommands();for(const o of t)if(o.keybinding&&Fu(e,o.keybinding)){e.preventDefault(),o.execute();break}};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[])};function Fu(n,e){var b;const t=e.split("+"),o=(b=t.pop())==null?void 0:b.toLowerCase(),i=t.includes("Control")||t.includes("Ctrl"),r=t.includes("Shift"),s=t.includes("Alt"),a=t.includes("Meta")||t.includes("Cmd"),c=n.ctrlKey,f=n.shiftKey,m=n.altKey,h=n.metaKey;return n.key.toLowerCase()===o&&c===i&&f===r&&m===s&&h===a}ne.ActivityBar=qr,ne.ChatPane=ts,ne.CommandPalette=Nu,ne.MenuBar=Cr,ne.SearchWidget=Ou,ne.ShellLayout=tc,ne.SidebarPane=es,ne.StatusBar=Jr,ne.TerminalPane=ns,ne.TreeWidget=ra,ne.UserProfile=Lu,ne.commandRegistry=ht,ne.componentRegistry=rs,ne.initializeShell=ku,ne.menuRegistry=Jt,ne.pluginRegistry=Wi,ne.useChatStore=xo,ne.useKeyboardShortcuts=zu,ne.useLayoutStore=Ti,ne.useRightSidebarStore=mi,ne.useSidebarStore=Fn,ne.useStatusBarStore=vo,ne.useTerminalStore=bi,ne.useThemeStore=yo,Object.defineProperty(ne,Symbol.toStringTag,{value:"Module"})});
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .flexlayout__layout{--color-text: black;--color-background: white;--color-base: white;--color-1: #f7f7f7;--color-2: #f0f0f0;--color-3: #e9e9e9;--color-4: #e2e2e2;--color-5: #dbdbdb;--color-6: #d4d4d4;--color-drag1: rgb(95, 134, 196);--color-drag2: rgb(119, 166, 119);--color-drag1-background: rgba(95, 134, 196, .1);--color-drag2-background: rgba(119, 166, 119, .075);--font-size: medium;--font-family: Roboto, Arial, sans-serif;--color-overflow: gray;--color-icon: gray;--color-tabset-background: var(--color-background);--color-tabset-background-selected: var(--color-1);--color-tabset-background-maximized: var(--color-6);--color-tabset-divider-line: var(--color-4);--color-tabset-header-background: var(--color-background);--color-tabset-header: var(--color-text);--color-border-background: var(--color-background);--color-border-divider-line: var(--color-4);--color-tab-selected: var(--color-text);--color-tab-selected-background: var(--color-4);--color-tab-unselected: gray;--color-tab-unselected-background: transparent;--color-tab-textbox: var(--color-text);--color-tab-textbox-background: var(--color-3);--color-border-tab-selected: var(--color-text);--color-border-tab-selected-background: var(--color-4);--color-border-tab-unselected: gray;--color-border-tab-unselected-background: var(--color-2);--color-splitter: var(--color-1);--color-splitter-hover: var(--color-4);--color-splitter-drag: var(--color-4);--color-drag-rect-border: var(--color-6);--color-drag-rect-background: var(--color-4);--color-drag-rect: var(--color-text);--color-popup-border: var(--color-6);--color-popup-unselected: var(--color-text);--color-popup-unselected-background: white;--color-popup-selected: var(--color-text);--color-popup-selected-background: var(--color-3);--color-edge-marker: #aaa;--color-edge-icon: #555;left:0;top:0;right:0;bottom:0;position:absolute;overflow:hidden}.flexlayout__splitter{background-color:var(--color-splitter)}@media (hover: hover){.flexlayout__splitter:hover{background-color:var(--color-splitter-hover);transition:background-color ease-in .1s;transition-delay:.05s}}.flexlayout__splitter_border{z-index:10}.flexlayout__splitter_drag{z-index:1000;background-color:var(--color-splitter-drag)}.flexlayout__splitter_extra{background-color:transparent}.flexlayout__outline_rect{position:absolute;pointer-events:none;box-sizing:border-box;border:2px solid var(--color-drag1);background:var(--color-drag1-background);border-radius:5px;z-index:1000}.flexlayout__outline_rect_edge{pointer-events:none;border:2px solid var(--color-drag2);background:var(--color-drag2-background);border-radius:5px;z-index:1000;box-sizing:border-box}.flexlayout__edge_rect{position:absolute;z-index:1000;background-color:var(--color-edge-marker);pointer-events:none;display:flex;align-items:center;justify-content:center}.flexlayout__drag_rect{position:absolute;cursor:move;color:var(--color-drag-rect);background-color:var(--color-drag-rect-background);border:2px solid var(--color-drag-rect-border);border-radius:5px;z-index:1000;box-sizing:border-box;opacity:.9;text-align:center;display:flex;justify-content:center;flex-direction:column;overflow:hidden;padding:.3em 1em;word-wrap:break-word;font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__tabset{display:flex;flex-direction:column;overflow:hidden;background-color:var(--color-tabset-background);box-sizing:border-box;font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__tabset_tab_divider{width:4px}.flexlayout__tabset_content{display:flex;flex-grow:1;align-items:center;justify-content:center}.flexlayout__tabset_header{display:flex;align-items:center;padding:3px 3px 3px 5px;box-sizing:border-box;border-bottom:1px solid var(--color-tabset-divider-line);color:var(--color-tabset-header);background-color:var(--color-tabset-header-background)}.flexlayout__tabset_header_content{flex-grow:1}.flexlayout__tabset_tabbar_outer{box-sizing:border-box;background-color:var(--color-tabset-background);overflow:hidden;display:flex}.flexlayout__tabset_tabbar_outer_top{border-bottom:1px solid var(--color-tabset-divider-line)}.flexlayout__tabset_tabbar_outer_bottom{border-top:1px solid var(--color-tabset-divider-line)}.flexlayout__tabset_tabbar_inner{position:relative;box-sizing:border-box;display:flex;flex-grow:1;overflow:hidden}.flexlayout__tabset_tabbar_inner_tab_container{display:flex;padding-left:4px;padding-right:4px;box-sizing:border-box;position:absolute;top:0;bottom:0;width:10000px}.flexlayout__tabset_tabbar_inner_tab_container_top{border-top:2px solid transparent}.flexlayout__tabset_tabbar_inner_tab_container_bottom{border-bottom:2px solid transparent}.flexlayout__tabset-selected{background-color:var(--color-tabset-background-selected)}.flexlayout__tabset-maximized{background-color:var(--color-tabset-background-maximized)}.flexlayout__tab_button_stamp{display:inline-flex;align-items:center;gap:.3em;white-space:nowrap;box-sizing:border-box}.flexlayout__tab{overflow:auto;position:absolute;box-sizing:border-box;background-color:var(--color-background);color:var(--color-text)}.flexlayout__tab_button{display:flex;gap:.3em;align-items:center;box-sizing:border-box;padding:3px .5em;cursor:pointer}.flexlayout__tab_button_stretch{background-color:transparent;color:var(--color-tab-selected);width:100%;padding:3px 0;text-wrap:nowrap;display:flex;gap:.3em;align-items:center;box-sizing:border-box;cursor:pointer}@media (hover: hover){.flexlayout__tab_button_stretch:hover{color:var(--color-tab-selected)}}.flexlayout__tab_button--selected{background-color:var(--color-tab-selected-background);color:var(--color-tab-selected)}@media (hover: hover){.flexlayout__tab_button:hover{background-color:var(--color-tab-selected-background);color:var(--color-tab-selected)}}.flexlayout__tab_button--unselected{background-color:var(--color-tab-unselected-background);color:var(--color-tab-unselected);color:gray}.flexlayout__tab_button_leading,.flexlayout__tab_button_content{display:flex}.flexlayout__tab_button_textbox{border:none;font-family:var(--font-family);font-size:var(--font-size);color:var(--color-tab-textbox);background-color:var(--color-tab-textbox-background);border:1px inset var(--color-1);border-radius:3px;width:10em}.flexlayout__tab_button_textbox:focus{outline:none}.flexlayout__tab_button_trailing{display:flex;visibility:hidden;border-radius:4px}.flexlayout__tab_button_trailing:hover{background-color:var(--color-3)}@media (hover: hover){.flexlayout__tab_button:hover .flexlayout__tab_button_trailing{visibility:visible}}.flexlayout__tab_button--selected .flexlayout__tab_button_trailing{visibility:visible}.flexlayout__tab_button_overflow{display:flex;align-items:center;border:none;color:var(--color-overflow);font-size:inherit;background-color:transparent}.flexlayout__tab_toolbar{display:flex;align-items:center;gap:.3em;padding-left:.5em;padding-right:.3em}.flexlayout__tab_toolbar_button{border:none;outline:none;font-size:inherit;margin:0;background-color:transparent;border-radius:4px;padding:1px}@media (hover: hover){.flexlayout__tab_toolbar_button:hover{background-color:var(--color-2)}}.flexlayout__tab_toolbar_sticky_buttons_container{display:flex;gap:.3em;padding-left:5px;align-items:center}.flexlayout__tab_floating{overflow:auto;position:absolute;box-sizing:border-box;color:var(--color-text);background-color:var(--color-background);display:flex;justify-content:center;align-items:center}.flexlayout__tab_floating_inner{overflow:auto;display:flex;flex-direction:column;justify-content:center;align-items:center}.flexlayout__tab_floating_inner div{margin-bottom:5px;text-align:center}.flexlayout__tab_floating_inner div a{color:#4169e1}.flexlayout__border{box-sizing:border-box;overflow:hidden;display:flex;font-size:var(--font-size);font-family:var(--font-family);color:var(--color-border);background-color:var(--color-border-background)}.flexlayout__border_top{border-bottom:1px solid var(--color-border-divider-line);align-items:center}.flexlayout__border_bottom{border-top:1px solid var(--color-border-divider-line);align-items:center}.flexlayout__border_left{border-right:1px solid var(--color-border-divider-line);align-content:center;flex-direction:column}.flexlayout__border_right{border-left:1px solid var(--color-border-divider-line);align-content:center;flex-direction:column}.flexlayout__border_inner{position:relative;box-sizing:border-box;display:flex;overflow:hidden;flex-grow:1}.flexlayout__border_inner_tab_container{white-space:nowrap;display:flex;padding-left:2px;padding-right:2px;box-sizing:border-box;position:absolute;top:0;bottom:0;width:10000px}.flexlayout__border_inner_tab_container_right{transform-origin:top left;transform:rotate(90deg)}.flexlayout__border_inner_tab_container_left{flex-direction:row-reverse;transform-origin:top right;transform:rotate(-90deg)}.flexlayout__border_tab_divider{width:4px}.flexlayout__border_button{display:flex;gap:.3em;align-items:center;cursor:pointer;padding:3px .5em;margin:2px 0;box-sizing:border-box;white-space:nowrap}.flexlayout__border_button--selected{background-color:var(--color-border-tab-selected-background);color:var(--color-border-tab-selected)}@media (hover: hover){.flexlayout__border_button:hover{background-color:var(--color-border-tab-selected-background);color:var(--color-border-tab-selected)}}.flexlayout__border_button--unselected{background-color:var(--color-border-tab-unselected-background);color:var(--color-border-tab-unselected)}.flexlayout__border_button_leading,.flexlayout__border_button_content{display:flex}.flexlayout__border_button_trailing{display:flex;border-radius:4px;visibility:hidden}.flexlayout__border_button_trailing:hover{background-color:var(--color-3)}@media (hover: hover){.flexlayout__border_button:hover .flexlayout__border_button_trailing{visibility:visible}}.flexlayout__border_button--selected .flexlayout__border_button_trailing{visibility:visible}.flexlayout__border_toolbar{display:flex;gap:.3em;align-items:center}.flexlayout__border_toolbar_left,.flexlayout__border_toolbar_right{flex-direction:column;padding-top:.5em;padding-bottom:.3em}.flexlayout__border_toolbar_top,.flexlayout__border_toolbar_bottom{padding-left:.5em;padding-right:.3em}.flexlayout__border_toolbar_button{border:none;outline:none;font-size:inherit;background-color:transparent;border-radius:4px;padding:1px}@media (hover: hover){.flexlayout__border_toolbar_button:hover{background-color:var(--color-2)}}.flexlayout__border_toolbar_button_overflow{display:flex;align-items:center;border:none;color:var(--color-overflow);font-size:inherit;background-color:transparent}.flexlayout__popup_menu{font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__popup_menu_item{padding:2px .5em;white-space:nowrap;cursor:pointer;border-radius:2px}@media (hover: hover){.flexlayout__popup_menu_item:hover{background-color:var(--color-6)}}.flexlayout__popup_menu_container{box-shadow:inset 0 0 5px #00000026;border:1px solid var(--color-popup-border);color:var(--color-popup-unselected);background:var(--color-popup-unselected-background);border-radius:3px;position:absolute;z-index:1000;max-height:50%;min-width:100px;overflow:auto;padding:2px}.flexlayout__floating_window _body{height:100%}.flexlayout__floating_window_content{left:0;top:0;right:0;bottom:0;position:absolute}.flexlayout__floating_window_tab{overflow:auto;left:0;top:0;right:0;bottom:0;position:absolute;box-sizing:border-box;background-color:var(--color-background);color:var(--color-text)}.flexlayout__error_boundary_container{left:0;top:0;right:0;bottom:0;position:absolute;display:flex;justify-content:center}.flexlayout__error_boundary_content{display:flex;align-items:center}.flexlayout__tabset_sizer{padding-top:5px;padding-bottom:3px;font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__tabset_header_sizer{padding-top:3px;padding-bottom:3px;font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__border_sizer{padding-top:6px;padding-bottom:5px;font-size:var(--font-size);font-family:var(--font-family)}*,: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:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";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{--radius: .5rem}.theme-light{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 90%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%}.theme-dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 12%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 25%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 20%;--input: 217.2 32.6% 20%;--ring: 212.7 26.8% 83.9%}.theme-gt{--background: 45 100% 97%;--foreground: 45 100% 10%;--card: 45 100% 98%;--card-foreground: 45 100% 10%;--popover: 0 0% 100%;--popover-foreground: 45 100% 10%;--primary: 45 100% 46%;--primary-foreground: 0 0% 0%;--secondary: 45 20% 90%;--secondary-foreground: 45 100% 20%;--muted: 45 30% 92%;--muted-foreground: 45 20% 40%;--accent: 45 100% 46%;--accent-foreground: 0 0% 0%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 45 30% 85%;--input: 45 30% 85%;--ring: 45 100% 46%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-2{bottom:.5rem}.bottom-full{bottom:100%}.left-0{left:0}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-4{left:1rem}.left-full{left:100%}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-2\.5{top:.625rem}.top-full{top:100%}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.z-\[100\]{z-index:100}.z-\[60\]{z-index:60}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.ml-4{margin-left:1rem}.ml-\[-2px\]{margin-left:-2px}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-6{margin-right:1.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-8{margin-top:2rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-4{height:1rem}.h-40{height:10rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[1px\]{height:1px}.h-\[250px\]{height:250px}.h-\[400px\]{height:400px}.h-\[500px\]{height:500px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[300px\]{max-height:300px}.min-h-\[80px\]{min-height:80px}.w-12{width:3rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-80{width:20rem}.w-\[300px\]{width:300px}.w-\[350px\]{width:350px}.w-\[600px\]{width:600px}.w-\[800px\]{width:800px}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.max-w-\[90\%\]{max-width:90%}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.375rem * var(--tw-space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--tw-space-x-reverse)))}.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-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-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-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))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-destructive\/20{border-color:hsl(var(--destructive) / .2)}.border-primary{border-color:hsl(var(--primary))}.border-transparent{border-color:transparent}.border-white\/5{border-color:#ffffff0d}.bg-accent{background-color:hsl(var(--accent))}.bg-accent\/50{background-color:hsl(var(--accent) / .5)}.bg-background{background-color:hsl(var(--background))}.bg-background\/50{background-color:hsl(var(--background) / .5)}.bg-black\/5{background-color:#0000000d}.bg-black\/50{background-color:#00000080}.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-muted{background-color:hsl(var(--muted))}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.fill-blue-400\/20{fill:#60a5fa33}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.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-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.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-2{padding-top:.5rem;padding-bottom:.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2\.5{padding-bottom:.625rem}.pl-9{padding-left:2.25rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2\.5{padding-top:.625rem}.pt-\[10vh\]{padding-top:10vh}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px 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-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-1{--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)}.ring-primary\/50{--tw-ring-color: hsl(var(--primary) / .5)}.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)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.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}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.hover\:border-primary:hover{border-color:hsl(var(--primary))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.focus\:border-primary:focus{border-color:hsl(var(--primary))}.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-primary:focus{--tw-ring-color: hsl(var(--primary))}.group\/sub:hover .group-hover\/sub\:block,.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:bg-background{background-color:hsl(var(--background))}.group:hover .group-hover\:text-primary{color:hsl(var(--primary))}@media (prefers-color-scheme: dark){.dark\:bg-black\/20{background-color:#0003}}
1
+ .flexlayout__layout{--color-text: black;--color-background: white;--color-base: white;--color-1: #f7f7f7;--color-2: #f0f0f0;--color-3: #e9e9e9;--color-4: #e2e2e2;--color-5: #dbdbdb;--color-6: #d4d4d4;--color-drag1: rgb(95, 134, 196);--color-drag2: rgb(119, 166, 119);--color-drag1-background: rgba(95, 134, 196, .1);--color-drag2-background: rgba(119, 166, 119, .075);--font-size: medium;--font-family: Roboto, Arial, sans-serif;--color-overflow: gray;--color-icon: gray;--color-tabset-background: var(--color-background);--color-tabset-background-selected: var(--color-1);--color-tabset-background-maximized: var(--color-6);--color-tabset-divider-line: var(--color-4);--color-tabset-header-background: var(--color-background);--color-tabset-header: var(--color-text);--color-border-background: var(--color-background);--color-border-divider-line: var(--color-4);--color-tab-selected: var(--color-text);--color-tab-selected-background: var(--color-4);--color-tab-unselected: gray;--color-tab-unselected-background: transparent;--color-tab-textbox: var(--color-text);--color-tab-textbox-background: var(--color-3);--color-border-tab-selected: var(--color-text);--color-border-tab-selected-background: var(--color-4);--color-border-tab-unselected: gray;--color-border-tab-unselected-background: var(--color-2);--color-splitter: var(--color-1);--color-splitter-hover: var(--color-4);--color-splitter-drag: var(--color-4);--color-drag-rect-border: var(--color-6);--color-drag-rect-background: var(--color-4);--color-drag-rect: var(--color-text);--color-popup-border: var(--color-6);--color-popup-unselected: var(--color-text);--color-popup-unselected-background: white;--color-popup-selected: var(--color-text);--color-popup-selected-background: var(--color-3);--color-edge-marker: #aaa;--color-edge-icon: #555;left:0;top:0;right:0;bottom:0;position:absolute;overflow:hidden}.flexlayout__splitter{background-color:var(--color-splitter)}@media (hover: hover){.flexlayout__splitter:hover{background-color:var(--color-splitter-hover);transition:background-color ease-in .1s;transition-delay:.05s}}.flexlayout__splitter_border{z-index:10}.flexlayout__splitter_drag{z-index:1000;background-color:var(--color-splitter-drag)}.flexlayout__splitter_extra{background-color:transparent}.flexlayout__outline_rect{position:absolute;pointer-events:none;box-sizing:border-box;border:2px solid var(--color-drag1);background:var(--color-drag1-background);border-radius:5px;z-index:1000}.flexlayout__outline_rect_edge{pointer-events:none;border:2px solid var(--color-drag2);background:var(--color-drag2-background);border-radius:5px;z-index:1000;box-sizing:border-box}.flexlayout__edge_rect{position:absolute;z-index:1000;background-color:var(--color-edge-marker);pointer-events:none;display:flex;align-items:center;justify-content:center}.flexlayout__drag_rect{position:absolute;cursor:move;color:var(--color-drag-rect);background-color:var(--color-drag-rect-background);border:2px solid var(--color-drag-rect-border);border-radius:5px;z-index:1000;box-sizing:border-box;opacity:.9;text-align:center;display:flex;justify-content:center;flex-direction:column;overflow:hidden;padding:.3em 1em;word-wrap:break-word;font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__tabset{display:flex;flex-direction:column;overflow:hidden;background-color:var(--color-tabset-background);box-sizing:border-box;font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__tabset_tab_divider{width:4px}.flexlayout__tabset_content{display:flex;flex-grow:1;align-items:center;justify-content:center}.flexlayout__tabset_header{display:flex;align-items:center;padding:3px 3px 3px 5px;box-sizing:border-box;border-bottom:1px solid var(--color-tabset-divider-line);color:var(--color-tabset-header);background-color:var(--color-tabset-header-background)}.flexlayout__tabset_header_content{flex-grow:1}.flexlayout__tabset_tabbar_outer{box-sizing:border-box;background-color:var(--color-tabset-background);overflow:hidden;display:flex}.flexlayout__tabset_tabbar_outer_top{border-bottom:1px solid var(--color-tabset-divider-line)}.flexlayout__tabset_tabbar_outer_bottom{border-top:1px solid var(--color-tabset-divider-line)}.flexlayout__tabset_tabbar_inner{position:relative;box-sizing:border-box;display:flex;flex-grow:1;overflow:hidden}.flexlayout__tabset_tabbar_inner_tab_container{display:flex;padding-left:4px;padding-right:4px;box-sizing:border-box;position:absolute;top:0;bottom:0;width:10000px}.flexlayout__tabset_tabbar_inner_tab_container_top{border-top:2px solid transparent}.flexlayout__tabset_tabbar_inner_tab_container_bottom{border-bottom:2px solid transparent}.flexlayout__tabset-selected{background-color:var(--color-tabset-background-selected)}.flexlayout__tabset-maximized{background-color:var(--color-tabset-background-maximized)}.flexlayout__tab_button_stamp{display:inline-flex;align-items:center;gap:.3em;white-space:nowrap;box-sizing:border-box}.flexlayout__tab{overflow:auto;position:absolute;box-sizing:border-box;background-color:var(--color-background);color:var(--color-text)}.flexlayout__tab_button{display:flex;gap:.3em;align-items:center;box-sizing:border-box;padding:3px .5em;cursor:pointer}.flexlayout__tab_button_stretch{background-color:transparent;color:var(--color-tab-selected);width:100%;padding:3px 0;text-wrap:nowrap;display:flex;gap:.3em;align-items:center;box-sizing:border-box;cursor:pointer}@media (hover: hover){.flexlayout__tab_button_stretch:hover{color:var(--color-tab-selected)}}.flexlayout__tab_button--selected{background-color:var(--color-tab-selected-background);color:var(--color-tab-selected)}@media (hover: hover){.flexlayout__tab_button:hover{background-color:var(--color-tab-selected-background);color:var(--color-tab-selected)}}.flexlayout__tab_button--unselected{background-color:var(--color-tab-unselected-background);color:var(--color-tab-unselected);color:gray}.flexlayout__tab_button_leading,.flexlayout__tab_button_content{display:flex}.flexlayout__tab_button_textbox{border:none;font-family:var(--font-family);font-size:var(--font-size);color:var(--color-tab-textbox);background-color:var(--color-tab-textbox-background);border:1px inset var(--color-1);border-radius:3px;width:10em}.flexlayout__tab_button_textbox:focus{outline:none}.flexlayout__tab_button_trailing{display:flex;visibility:hidden;border-radius:4px}.flexlayout__tab_button_trailing:hover{background-color:var(--color-3)}@media (hover: hover){.flexlayout__tab_button:hover .flexlayout__tab_button_trailing{visibility:visible}}.flexlayout__tab_button--selected .flexlayout__tab_button_trailing{visibility:visible}.flexlayout__tab_button_overflow{display:flex;align-items:center;border:none;color:var(--color-overflow);font-size:inherit;background-color:transparent}.flexlayout__tab_toolbar{display:flex;align-items:center;gap:.3em;padding-left:.5em;padding-right:.3em}.flexlayout__tab_toolbar_button{border:none;outline:none;font-size:inherit;margin:0;background-color:transparent;border-radius:4px;padding:1px}@media (hover: hover){.flexlayout__tab_toolbar_button:hover{background-color:var(--color-2)}}.flexlayout__tab_toolbar_sticky_buttons_container{display:flex;gap:.3em;padding-left:5px;align-items:center}.flexlayout__tab_floating{overflow:auto;position:absolute;box-sizing:border-box;color:var(--color-text);background-color:var(--color-background);display:flex;justify-content:center;align-items:center}.flexlayout__tab_floating_inner{overflow:auto;display:flex;flex-direction:column;justify-content:center;align-items:center}.flexlayout__tab_floating_inner div{margin-bottom:5px;text-align:center}.flexlayout__tab_floating_inner div a{color:#4169e1}.flexlayout__border{box-sizing:border-box;overflow:hidden;display:flex;font-size:var(--font-size);font-family:var(--font-family);color:var(--color-border);background-color:var(--color-border-background)}.flexlayout__border_top{border-bottom:1px solid var(--color-border-divider-line);align-items:center}.flexlayout__border_bottom{border-top:1px solid var(--color-border-divider-line);align-items:center}.flexlayout__border_left{border-right:1px solid var(--color-border-divider-line);align-content:center;flex-direction:column}.flexlayout__border_right{border-left:1px solid var(--color-border-divider-line);align-content:center;flex-direction:column}.flexlayout__border_inner{position:relative;box-sizing:border-box;display:flex;overflow:hidden;flex-grow:1}.flexlayout__border_inner_tab_container{white-space:nowrap;display:flex;padding-left:2px;padding-right:2px;box-sizing:border-box;position:absolute;top:0;bottom:0;width:10000px}.flexlayout__border_inner_tab_container_right{transform-origin:top left;transform:rotate(90deg)}.flexlayout__border_inner_tab_container_left{flex-direction:row-reverse;transform-origin:top right;transform:rotate(-90deg)}.flexlayout__border_tab_divider{width:4px}.flexlayout__border_button{display:flex;gap:.3em;align-items:center;cursor:pointer;padding:3px .5em;margin:2px 0;box-sizing:border-box;white-space:nowrap}.flexlayout__border_button--selected{background-color:var(--color-border-tab-selected-background);color:var(--color-border-tab-selected)}@media (hover: hover){.flexlayout__border_button:hover{background-color:var(--color-border-tab-selected-background);color:var(--color-border-tab-selected)}}.flexlayout__border_button--unselected{background-color:var(--color-border-tab-unselected-background);color:var(--color-border-tab-unselected)}.flexlayout__border_button_leading,.flexlayout__border_button_content{display:flex}.flexlayout__border_button_trailing{display:flex;border-radius:4px;visibility:hidden}.flexlayout__border_button_trailing:hover{background-color:var(--color-3)}@media (hover: hover){.flexlayout__border_button:hover .flexlayout__border_button_trailing{visibility:visible}}.flexlayout__border_button--selected .flexlayout__border_button_trailing{visibility:visible}.flexlayout__border_toolbar{display:flex;gap:.3em;align-items:center}.flexlayout__border_toolbar_left,.flexlayout__border_toolbar_right{flex-direction:column;padding-top:.5em;padding-bottom:.3em}.flexlayout__border_toolbar_top,.flexlayout__border_toolbar_bottom{padding-left:.5em;padding-right:.3em}.flexlayout__border_toolbar_button{border:none;outline:none;font-size:inherit;background-color:transparent;border-radius:4px;padding:1px}@media (hover: hover){.flexlayout__border_toolbar_button:hover{background-color:var(--color-2)}}.flexlayout__border_toolbar_button_overflow{display:flex;align-items:center;border:none;color:var(--color-overflow);font-size:inherit;background-color:transparent}.flexlayout__popup_menu{font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__popup_menu_item{padding:2px .5em;white-space:nowrap;cursor:pointer;border-radius:2px}@media (hover: hover){.flexlayout__popup_menu_item:hover{background-color:var(--color-6)}}.flexlayout__popup_menu_container{box-shadow:inset 0 0 5px #00000026;border:1px solid var(--color-popup-border);color:var(--color-popup-unselected);background:var(--color-popup-unselected-background);border-radius:3px;position:absolute;z-index:1000;max-height:50%;min-width:100px;overflow:auto;padding:2px}.flexlayout__floating_window _body{height:100%}.flexlayout__floating_window_content{left:0;top:0;right:0;bottom:0;position:absolute}.flexlayout__floating_window_tab{overflow:auto;left:0;top:0;right:0;bottom:0;position:absolute;box-sizing:border-box;background-color:var(--color-background);color:var(--color-text)}.flexlayout__error_boundary_container{left:0;top:0;right:0;bottom:0;position:absolute;display:flex;justify-content:center}.flexlayout__error_boundary_content{display:flex;align-items:center}.flexlayout__tabset_sizer{padding-top:5px;padding-bottom:3px;font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__tabset_header_sizer{padding-top:3px;padding-bottom:3px;font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__border_sizer{padding-top:6px;padding-bottom:5px;font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__layout{--color-text: hsl(var(--foreground));--color-background: hsl(var(--card));--color-base: hsl(var(--card));--color-1: hsl(var(--muted));--color-2: hsl(var(--muted));--color-3: hsl(var(--accent));--color-4: hsl(var(--border));--color-5: hsl(var(--ring));--color-6: hsl(var(--border));--color-drag1: hsl(var(--primary) / .2);--color-drag2: hsl(var(--primary) / .5);--color-dragRect: hsl(var(--primary) / .2);--color-dragRectBorder: hsl(var(--primary));--font-family: inherit;--font-size: 13px}.flexlayout__tabset{background-color:hsl(var(--card))}.flexlayout__tabset_header{background-color:hsl(var(--muted) / .5);border-bottom:1px solid hsl(var(--border))}.flexlayout__tab_button{background-color:transparent;color:hsl(var(--muted-foreground));border-right:1px solid hsl(var(--border));border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);box-shadow:none;padding:0 12px;margin-top:4px}.flexlayout__tab_button:hover{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.flexlayout__tab_button--selected{background-color:hsl(var(--card));color:hsl(var(--foreground));border-top:2px solid hsl(var(--primary));box-shadow:none}.flexlayout__tab_button_content{font-weight:500}.flexlayout__border{background-color:hsl(var(--muted) / .3)}.flexlayout__splitter{background-color:hsl(var(--border))}.flexlayout__splitter:hover{background-color:hsl(var(--primary));transition:background-color .2s}.flexlayout__tab{background-color:hsl(var(--card));color:hsl(var(--foreground))}*,: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:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";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{--radius: .5rem}.theme-light{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 90%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%}.theme-dark{--background: 240 5% 10%;--foreground: 240 5% 85%;--card: 240 5% 13%;--card-foreground: 240 5% 85%;--popover: 240 5% 13%;--popover-foreground: 240 5% 85%;--primary: 234 89% 65%;--primary-foreground: 0 0% 100%;--secondary: 240 5% 20%;--secondary-foreground: 240 5% 85%;--muted: 240 5% 16%;--muted-foreground: 240 5% 65%;--accent: 240 5% 24%;--accent-foreground: 240 5% 96%;--destructive: 0 72% 51%;--destructive-foreground: 0 0% 100%;--border: 240 5% 26%;--input: 240 5% 22%;--ring: 234 89% 65%}.theme-gt{--background: 45 100% 97%;--foreground: 45 100% 10%;--card: 45 100% 98%;--card-foreground: 45 100% 10%;--popover: 0 0% 100%;--popover-foreground: 45 100% 10%;--primary: 45 100% 46%;--primary-foreground: 0 0% 0%;--secondary: 45 20% 90%;--secondary-foreground: 45 100% 20%;--muted: 45 30% 92%;--muted-foreground: 45 20% 40%;--accent: 45 100% 46%;--accent-foreground: 0 0% 0%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 45 30% 85%;--input: 45 30% 85%;--ring: 45 100% 46%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-3{bottom:.75rem}.bottom-full{bottom:100%}.left-0{left:0}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-4{left:1rem}.left-full{left:100%}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-2\.5{top:.625rem}.top-full{top:100%}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.z-\[100\]{z-index:100}.z-\[60\]{z-index:60}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.ml-4{margin-left:1rem}.ml-\[-2px\]{margin-left:-2px}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-6{margin-right:1.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-8{margin-top:2rem}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-4{height:1rem}.h-40{height:10rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[1px\]{height:1px}.h-\[250px\]{height:250px}.h-\[400px\]{height:400px}.h-\[500px\]{height:500px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[300px\]{max-height:300px}.min-h-\[80px\]{min-height:80px}.w-12{width:3rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-80{width:20rem}.w-\[300px\]{width:300px}.w-\[350px\]{width:350px}.w-\[600px\]{width:600px}.w-\[800px\]{width:800px}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.max-w-\[90\%\]{max-width:90%}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.375rem * var(--tw-space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--tw-space-x-reverse)))}.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-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-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-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))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-destructive\/20{border-color:hsl(var(--destructive) / .2)}.border-primary{border-color:hsl(var(--primary))}.border-transparent{border-color:transparent}.border-white\/5{border-color:#ffffff0d}.bg-accent{background-color:hsl(var(--accent))}.bg-accent\/50{background-color:hsl(var(--accent) / .5)}.bg-background{background-color:hsl(var(--background))}.bg-background\/50{background-color:hsl(var(--background) / .5)}.bg-black\/5{background-color:#0000000d}.bg-black\/50{background-color:#00000080}.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-muted{background-color:hsl(var(--muted))}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\/50{background-color:hsl(var(--secondary) / .5)}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.fill-blue-400\/20{fill:#60a5fa33}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.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-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.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-2{padding-top:.5rem;padding-bottom:.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2\.5{padding-bottom:.625rem}.pl-9{padding-left:2.25rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2\.5{padding-top:.625rem}.pt-\[10vh\]{padding-top:10vh}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px 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-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-1{--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)}.ring-primary\/50{--tw-ring-color: hsl(var(--primary) / .5)}.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)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.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}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:border-primary:hover{border-color:hsl(var(--primary))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.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-primary:focus{--tw-ring-color: hsl(var(--primary))}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus\:ring-offset-background:focus{--tw-ring-offset-color: hsl(var(--background))}.group\/sub:hover .group-hover\/sub\:block,.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:bg-background{background-color:hsl(var(--background))}.group:hover .group-hover\:text-primary{color:hsl(var(--primary))}@media (prefers-color-scheme: dark){.dark\:bg-black\/20{background-color:#0003}}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nexus-shell",
3
3
  "private": false,
4
- "version": "0.1.1",
4
+ "version": "0.1.2",
5
5
  "type": "module",
6
6
  "main": "./dist/nexus-shell.umd.js",
7
7
  "module": "./dist/nexus-shell.es.js",