loki-mode 6.39.0 → 6.41.0
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/SKILL.md +2 -2
- package/VERSION +1 -1
- package/dashboard/__init__.py +1 -1
- package/docs/INSTALLATION.md +1 -1
- package/mcp/__init__.py +1 -1
- package/package.json +1 -1
- package/web-app/dist/assets/ProjectPage-DokSAWd7.js +11 -0
- package/web-app/dist/assets/index-0s7NNF9k.css +1 -0
- package/web-app/dist/assets/{index-Bnjo6jB-.js → index-DpAb7DLD.js} +12 -12
- package/web-app/dist/index.html +2 -2
- package/web-app/server.py +188 -1
- package/web-app/dist/assets/ProjectPage-CDs-7cNN.js +0 -2
- package/web-app/dist/assets/index-Dj9YgorN.css +0 -1
package/SKILL.md
CHANGED
|
@@ -3,7 +3,7 @@ name: loki-mode
|
|
|
3
3
|
description: Multi-agent autonomous startup system. Triggers on "Loki Mode". Takes PRD to deployed product with minimal human intervention. Requires --dangerously-skip-permissions flag.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Loki Mode v6.
|
|
6
|
+
# Loki Mode v6.41.0
|
|
7
7
|
|
|
8
8
|
**You are an autonomous agent. You make decisions. You do not ask questions. You do not stop.**
|
|
9
9
|
|
|
@@ -267,4 +267,4 @@ The following features are documented in skill modules but not yet fully automat
|
|
|
267
267
|
| Quality gates 3-reviewer system | Implemented (v5.35.0) | 5 specialist reviewers in `skills/quality-gates.md`; execution in run.sh |
|
|
268
268
|
| Benchmarks (HumanEval, SWE-bench) | Infrastructure only | Runner scripts and datasets exist in `benchmarks/`; no published results |
|
|
269
269
|
|
|
270
|
-
**v6.
|
|
270
|
+
**v6.41.0 | [Autonomi](https://www.autonomi.dev/) flagship product | ~260 lines core**
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
6.
|
|
1
|
+
6.41.0
|
package/dashboard/__init__.py
CHANGED
package/docs/INSTALLATION.md
CHANGED
package/mcp/__init__.py
CHANGED
package/package.json
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
var ot=e=>{throw TypeError(e)};var at=(e,t,n)=>t.has(e)||ot("Cannot "+n);var we=(e,t,n)=>(at(e,t,"read from private field"),n?n.call(e):t.get(e)),it=(e,t,n)=>t.has(e)?ot("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),st=(e,t,n,r)=>(at(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n);import{r as u,W as ge,j as f,a as ne,u as on,b as an,H as Ae,E as sn}from"./index-DpAb7DLD.js";function lt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ln(e){if(Array.isArray(e))return e}function cn(e,t,n){return(t=gn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function un(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,o,i,l,a=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,t!==0)for(;!(s=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);s=!0);}catch(d){c=!0,o=d}finally{try{if(!s&&n.return!=null&&(l=n.return(),Object(l)!==l))return}finally{if(c)throw o}}return a}}function dn(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ct(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function ut(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ct(Object(n),!0).forEach(function(r){cn(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ct(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function fn(e,t){if(e==null)return{};var n,r,o=pn(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function pn(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function hn(e,t){return ln(e)||un(e,t)||vn(e,t)||dn()}function mn(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function gn(e){var t=mn(e,"string");return typeof t=="symbol"?t:t+""}function vn(e,t){if(e){if(typeof e=="string")return lt(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?lt(e,t):void 0}}function xn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function ft(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?dt(Object(n),!0).forEach(function(r){xn(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dt(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function yn(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(r){return t.reduceRight(function(o,i){return i(o)},r)}}function Se(e){return function t(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return o.length>=e.length?e.apply(this,o):function(){for(var l=arguments.length,a=new Array(l),s=0;s<l;s++)a[s]=arguments[s];return t.apply(n,[].concat(o,a))}}}function $e(e){return{}.toString.call(e).includes("Object")}function bn(e){return!Object.keys(e).length}function Pe(e){return typeof e=="function"}function wn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Sn(e,t){return $e(t)||oe("changeType"),Object.keys(t).some(function(n){return!wn(e,n)})&&oe("changeField"),t}function zn(e){Pe(e)||oe("selectorType")}function jn(e){Pe(e)||$e(e)||oe("handlerType"),$e(e)&&Object.values(e).some(function(t){return!Pe(t)})&&oe("handlersType")}function Cn(e){e||oe("initialIsRequired"),$e(e)||oe("initialType"),bn(e)&&oe("initialContent")}function Pn(e,t){throw new Error(e[t]||e.default)}var kn={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},oe=Se(Pn)(kn),Le={changes:Sn,selector:zn,handler:jn,initial:Cn};function En(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Le.initial(e),Le.handler(t);var n={current:e},r=Se(On)(n,t),o=Se(Ln)(n),i=Se(Le.changes)(e),l=Se(Mn)(n);function a(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(d){return d};return Le.selector(c),c(n.current)}function s(c){yn(r,o,i,l)(c)}return[a,s]}function Mn(e,t){return Pe(t)?t(e.current):t}function Ln(e,t){return e.current=ft(ft({},e.current),t),t}function On(e,t,n){return Pe(t)?t(e.current):Object.keys(n).forEach(function(r){var o;return(o=t[r])===null||o===void 0?void 0:o.call(t,e.current[r])}),n}var Nn={create:En},Rn={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs"}};function Dn(e){return function t(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return o.length>=e.length?e.apply(this,o):function(){for(var l=arguments.length,a=new Array(l),s=0;s<l;s++)a[s]=arguments[s];return t.apply(n,[].concat(o,a))}}}function In(e){return{}.toString.call(e).includes("Object")}function $n(e){return e||pt("configIsRequired"),In(e)||pt("configType"),e.urls?(Tn(),{paths:{vs:e.urls.monacoBase}}):e}function Tn(){console.warn(Lt.deprecation)}function Fn(e,t){throw new Error(e[t]||e.default)}var Lt={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
|
|
3
|
+
You are using deprecated way of configuration.
|
|
4
|
+
|
|
5
|
+
Instead of using
|
|
6
|
+
monaco.config({ urls: { monacoBase: '...' } })
|
|
7
|
+
use
|
|
8
|
+
monaco.config({ paths: { vs: '...' } })
|
|
9
|
+
|
|
10
|
+
For more please check the link https://github.com/suren-atoyan/monaco-loader#config
|
|
11
|
+
`},pt=Dn(Fn)(Lt),An={config:$n},Bn=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(o){return n.reduceRight(function(i,l){return l(i)},o)}};function Ot(e,t){return Object.keys(t).forEach(function(n){t[n]instanceof Object&&e[n]&&Object.assign(t[n],Ot(e[n],t[n]))}),ut(ut({},e),t)}var Wn={type:"cancelation",msg:"operation is manually canceled"};function Be(e){var t=!1,n=new Promise(function(r,o){e.then(function(i){return t?o(Wn):r(i)}),e.catch(o)});return n.cancel=function(){return t=!0},n}var Hn=["monaco"],Vn=Nn.create({config:Rn,isInitialized:!1,resolve:null,reject:null,monaco:null}),Nt=hn(Vn,2),Ee=Nt[0],Te=Nt[1];function Gn(e){var t=An.config(e),n=t.monaco,r=fn(t,Hn);Te(function(o){return{config:Ot(o.config,r),monaco:n}})}function Un(){var e=Ee(function(t){var n=t.monaco,r=t.isInitialized,o=t.resolve;return{monaco:n,isInitialized:r,resolve:o}});if(!e.isInitialized){if(Te({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),Be(We);if(window.monaco&&window.monaco.editor)return Rt(window.monaco),e.resolve(window.monaco),Be(We);Bn(qn,Xn)(Yn)}return Be(We)}function qn(e){return document.body.appendChild(e)}function Kn(e){var t=document.createElement("script");return e&&(t.src=e),t}function Xn(e){var t=Ee(function(r){var o=r.config,i=r.reject;return{config:o,reject:i}}),n=Kn("".concat(t.config.paths.vs,"/loader.js"));return n.onload=function(){return e()},n.onerror=t.reject,n}function Yn(){var e=Ee(function(n){var r=n.config,o=n.resolve,i=n.reject;return{config:r,resolve:o,reject:i}}),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],function(n){var r=n.m||n;Rt(r),e.resolve(r)},function(n){e.reject(n)})}function Rt(e){Ee().monaco||Te({monaco:e})}function _n(){return Ee(function(e){var t=e.monaco;return t})}var We=new Promise(function(e,t){return Te({resolve:e,reject:t})}),Dt={config:Gn,init:Un,__getMonacoInstance:_n},Jn={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},He=Jn,Qn={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},Zn=Qn;function er({children:e}){return ge.createElement("div",{style:Zn.container},e)}var tr=er,nr=tr;function rr({width:e,height:t,isEditorReady:n,loading:r,_ref:o,className:i,wrapperProps:l}){return ge.createElement("section",{style:{...He.wrapper,width:e,height:t},...l},!n&&ge.createElement(nr,null,r),ge.createElement("div",{ref:o,style:{...He.fullWidth,...!n&&He.hide},className:i}))}var or=rr,It=u.memo(or);function ar(e){u.useEffect(e,[])}var $t=ar;function ir(e,t,n=!0){let r=u.useRef(!0);u.useEffect(r.current||!n?()=>{r.current=!1}:e,t)}var K=ir;function je(){}function he(e,t,n,r){return sr(e,r)||lr(e,t,n,r)}function sr(e,t){return e.editor.getModel(Tt(e,t))}function lr(e,t,n,r){return e.editor.createModel(t,n,r?Tt(e,r):void 0)}function Tt(e,t){return e.Uri.parse(t)}function cr({original:e,modified:t,language:n,originalLanguage:r,modifiedLanguage:o,originalModelPath:i,modifiedModelPath:l,keepCurrentOriginalModel:a=!1,keepCurrentModifiedModel:s=!1,theme:c="light",loading:d="Loading...",options:v={},height:g="100%",width:M="100%",className:w,wrapperProps:m={},beforeMount:b=je,onMount:x=je}){let[p,z]=u.useState(!1),[S,h]=u.useState(!0),P=u.useRef(null),C=u.useRef(null),D=u.useRef(null),F=u.useRef(x),L=u.useRef(b),k=u.useRef(!1);$t(()=>{let j=Dt.init();return j.then(R=>(C.current=R)&&h(!1)).catch(R=>(R==null?void 0:R.type)!=="cancelation"&&console.error("Monaco initialization: error:",R)),()=>P.current?A():j.cancel()}),K(()=>{if(P.current&&C.current){let j=P.current.getOriginalEditor(),R=he(C.current,e||"",r||n||"text",i||"");R!==j.getModel()&&j.setModel(R)}},[i],p),K(()=>{if(P.current&&C.current){let j=P.current.getModifiedEditor(),R=he(C.current,t||"",o||n||"text",l||"");R!==j.getModel()&&j.setModel(R)}},[l],p),K(()=>{let j=P.current.getModifiedEditor();j.getOption(C.current.editor.EditorOption.readOnly)?j.setValue(t||""):t!==j.getValue()&&(j.executeEdits("",[{range:j.getModel().getFullModelRange(),text:t||"",forceMoveMarkers:!0}]),j.pushUndoStop())},[t],p),K(()=>{var j,R;(R=(j=P.current)==null?void 0:j.getModel())==null||R.original.setValue(e||"")},[e],p),K(()=>{let{original:j,modified:R}=P.current.getModel();C.current.editor.setModelLanguage(j,r||n||"text"),C.current.editor.setModelLanguage(R,o||n||"text")},[n,r,o],p),K(()=>{var j;(j=C.current)==null||j.editor.setTheme(c)},[c],p),K(()=>{var j;(j=P.current)==null||j.updateOptions(v)},[v],p);let E=u.useCallback(()=>{var H;if(!C.current)return;L.current(C.current);let j=he(C.current,e||"",r||n||"text",i||""),R=he(C.current,t||"",o||n||"text",l||"");(H=P.current)==null||H.setModel({original:j,modified:R})},[n,t,o,e,r,i,l]),$=u.useCallback(()=>{var j;!k.current&&D.current&&(P.current=C.current.editor.createDiffEditor(D.current,{automaticLayout:!0,...v}),E(),(j=C.current)==null||j.editor.setTheme(c),z(!0),k.current=!0)},[v,c,E]);u.useEffect(()=>{p&&F.current(P.current,C.current)},[p]),u.useEffect(()=>{!S&&!p&&$()},[S,p,$]);function A(){var R,H,G,X;let j=(R=P.current)==null?void 0:R.getModel();a||((H=j==null?void 0:j.original)==null||H.dispose()),s||((G=j==null?void 0:j.modified)==null||G.dispose()),(X=P.current)==null||X.dispose()}return ge.createElement(It,{width:M,height:g,isEditorReady:p,loading:d,_ref:D,className:w,wrapperProps:m})}var ur=cr;u.memo(ur);function dr(e){let t=u.useRef();return u.useEffect(()=>{t.current=e},[e]),t.current}var fr=dr,Oe=new Map;function pr({defaultValue:e,defaultLanguage:t,defaultPath:n,value:r,language:o,path:i,theme:l="light",line:a,loading:s="Loading...",options:c={},overrideServices:d={},saveViewState:v=!0,keepCurrentModel:g=!1,width:M="100%",height:w="100%",className:m,wrapperProps:b={},beforeMount:x=je,onMount:p=je,onChange:z,onValidate:S=je}){let[h,P]=u.useState(!1),[C,D]=u.useState(!0),F=u.useRef(null),L=u.useRef(null),k=u.useRef(null),E=u.useRef(p),$=u.useRef(x),A=u.useRef(),j=u.useRef(r),R=fr(i),H=u.useRef(!1),G=u.useRef(!1);$t(()=>{let O=Dt.init();return O.then(I=>(F.current=I)&&D(!1)).catch(I=>(I==null?void 0:I.type)!=="cancelation"&&console.error("Monaco initialization: error:",I)),()=>L.current?_():O.cancel()}),K(()=>{var I,V,ee,J;let O=he(F.current,e||r||"",t||o||"",i||n||"");O!==((I=L.current)==null?void 0:I.getModel())&&(v&&Oe.set(R,(V=L.current)==null?void 0:V.saveViewState()),(ee=L.current)==null||ee.setModel(O),v&&((J=L.current)==null||J.restoreViewState(Oe.get(i))))},[i],h),K(()=>{var O;(O=L.current)==null||O.updateOptions(c)},[c],h),K(()=>{!L.current||r===void 0||(L.current.getOption(F.current.editor.EditorOption.readOnly)?L.current.setValue(r):r!==L.current.getValue()&&(G.current=!0,L.current.executeEdits("",[{range:L.current.getModel().getFullModelRange(),text:r,forceMoveMarkers:!0}]),L.current.pushUndoStop(),G.current=!1))},[r],h),K(()=>{var I,V;let O=(I=L.current)==null?void 0:I.getModel();O&&o&&((V=F.current)==null||V.editor.setModelLanguage(O,o))},[o],h),K(()=>{var O;a!==void 0&&((O=L.current)==null||O.revealLine(a))},[a],h),K(()=>{var O;(O=F.current)==null||O.editor.setTheme(l)},[l],h);let X=u.useCallback(()=>{var O;if(!(!k.current||!F.current)&&!H.current){$.current(F.current);let I=i||n,V=he(F.current,r||e||"",t||o||"",I||"");L.current=(O=F.current)==null?void 0:O.editor.create(k.current,{model:V,automaticLayout:!0,...c},d),v&&L.current.restoreViewState(Oe.get(I)),F.current.editor.setTheme(l),a!==void 0&&L.current.revealLine(a),P(!0),H.current=!0}},[e,t,n,r,o,i,c,d,v,l,a]);u.useEffect(()=>{h&&E.current(L.current,F.current)},[h]),u.useEffect(()=>{!C&&!h&&X()},[C,h,X]),j.current=r,u.useEffect(()=>{var O,I;h&&z&&((O=A.current)==null||O.dispose(),A.current=(I=L.current)==null?void 0:I.onDidChangeModelContent(V=>{G.current||z(L.current.getValue(),V)}))},[h,z]),u.useEffect(()=>{if(h){let O=F.current.editor.onDidChangeMarkers(I=>{var ee;let V=(ee=L.current.getModel())==null?void 0:ee.uri;if(V&&I.find(J=>J.path===V.path)){let J=F.current.editor.getModelMarkers({resource:V});S==null||S(J)}});return()=>{O==null||O.dispose()}}return()=>{}},[h,S]);function _(){var O,I;(O=A.current)==null||O.dispose(),g?v&&Oe.set(i,L.current.saveViewState()):(I=L.current.getModel())==null||I.dispose(),L.current.dispose()}return ge.createElement(It,{width:M,height:w,isEditorReady:h,loading:s,_ref:k,className:m,wrapperProps:b})}var hr=pr,mr=u.memo(hr),gr=mr;function vr(e,t){const n=getComputedStyle(e),r=parseFloat(n.fontSize);return t*r}function xr(e,t){const n=getComputedStyle(e.ownerDocument.body),r=parseFloat(n.fontSize);return t*r}function yr(e){return e/100*window.innerHeight}function br(e){return e/100*window.innerWidth}function wr(e){switch(typeof e){case"number":return[e,"px"];case"string":{const t=parseFloat(e);return e.endsWith("%")?[t,"%"]:e.endsWith("px")?[t,"px"]:e.endsWith("rem")?[t,"rem"]:e.endsWith("em")?[t,"em"]:e.endsWith("vh")?[t,"vh"]:e.endsWith("vw")?[t,"vw"]:[t,"%"]}}}function ze({groupSize:e,panelElement:t,styleProp:n}){let r;const[o,i]=wr(n);switch(i){case"%":{r=o/100*e;break}case"px":{r=o;break}case"rem":{r=xr(t,o);break}case"em":{r=vr(t,o);break}case"vh":{r=yr(o);break}case"vw":{r=br(o);break}}return r}function q(e){return parseFloat(e.toFixed(3))}function ye({group:e}){const{orientation:t,panels:n}=e;return n.reduce((r,o)=>(r+=t==="horizontal"?o.element.offsetWidth:o.element.offsetHeight,r),0)}function Ge(e){const{panels:t}=e,n=ye({group:e});return n===0?t.map(r=>({groupResizeBehavior:r.panelConstraints.groupResizeBehavior,collapsedSize:0,collapsible:r.panelConstraints.collapsible===!0,defaultSize:void 0,disabled:r.panelConstraints.disabled,minSize:0,maxSize:100,panelId:r.id})):t.map(r=>{const{element:o,panelConstraints:i}=r;let l=0;if(i.collapsedSize!==void 0){const d=ze({groupSize:n,panelElement:o,styleProp:i.collapsedSize});l=q(d/n*100)}let a;if(i.defaultSize!==void 0){const d=ze({groupSize:n,panelElement:o,styleProp:i.defaultSize});a=q(d/n*100)}let s=0;if(i.minSize!==void 0){const d=ze({groupSize:n,panelElement:o,styleProp:i.minSize});s=q(d/n*100)}let c=100;if(i.maxSize!==void 0){const d=ze({groupSize:n,panelElement:o,styleProp:i.maxSize});c=q(d/n*100)}return{groupResizeBehavior:i.groupResizeBehavior,collapsedSize:l,collapsible:i.collapsible===!0,defaultSize:a,disabled:i.disabled,minSize:s,maxSize:c,panelId:r.id}})}function T(e,t="Assertion error"){if(!e)throw Error(t)}function Ue(e,t){return Array.from(t).sort(e==="horizontal"?Sr:zr)}function Sr(e,t){const n=e.element.offsetLeft-t.element.offsetLeft;return n!==0?n:e.element.offsetWidth-t.element.offsetWidth}function zr(e,t){const n=e.element.offsetTop-t.element.offsetTop;return n!==0?n:e.element.offsetHeight-t.element.offsetHeight}function Ft(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function At(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function jr({orientation:e,rects:t,targetRect:n}){const r={x:n.x+n.width/2,y:n.y+n.height/2};let o,i=Number.MAX_VALUE;for(const l of t){const{x:a,y:s}=At(r,l),c=e==="horizontal"?a:s;c<i&&(i=c,o=l)}return T(o,"No rect found"),o}let Ne;function Cr(){return Ne===void 0&&(typeof matchMedia=="function"?Ne=!!matchMedia("(pointer:coarse)").matches:Ne=!1),Ne}function Bt(e){const{element:t,orientation:n,panels:r,separators:o}=e,i=Ue(n,Array.from(t.children).filter(Ft).map(w=>({element:w}))).map(({element:w})=>w),l=[];let a=!1,s=!1,c=-1,d=-1,v=0,g,M=[];{let w=-1;for(const m of i)m.hasAttribute("data-panel")&&(w++,m.ariaDisabled===null&&(v++,c===-1&&(c=w),d=w))}if(v>1){let w=-1;for(const m of i)if(m.hasAttribute("data-panel")){w++;const b=r.find(x=>x.element===m);if(b){if(g){const x=g.element.getBoundingClientRect(),p=m.getBoundingClientRect();let z;if(s){const S=n==="horizontal"?new DOMRect(x.right,x.top,0,x.height):new DOMRect(x.left,x.bottom,x.width,0),h=n==="horizontal"?new DOMRect(p.left,p.top,0,p.height):new DOMRect(p.left,p.top,p.width,0);switch(M.length){case 0:{z=[S,h];break}case 1:{const P=M[0],C=jr({orientation:n,rects:[x,p],targetRect:P.element.getBoundingClientRect()});z=[P,C===x?h:S];break}default:{z=M;break}}}else M.length?z=M:z=[n==="horizontal"?new DOMRect(x.right,p.top,p.left-x.right,p.height):new DOMRect(p.left,x.bottom,p.width,p.top-x.bottom)];for(const S of z){let h="width"in S?S:S.element.getBoundingClientRect();const P=Cr()?e.resizeTargetMinimumSize.coarse:e.resizeTargetMinimumSize.fine;if(h.width<P){const D=P-h.width;h=new DOMRect(h.x-D/2,h.y,h.width+D,h.height)}if(h.height<P){const D=P-h.height;h=new DOMRect(h.x,h.y-D/2,h.width,h.height+D)}const C=w<=c||w>d;!a&&!C&&l.push({group:e,groupSize:ye({group:e}),panels:[g,b],separator:"width"in S?void 0:S,rect:h}),a=!1}}s=!1,g=b,M=[]}}else if(m.hasAttribute("data-separator")){m.ariaDisabled!==null&&(a=!0);const b=o.find(x=>x.element===m);b?M.push(b):(g=void 0,M=[])}else s=!0}return l}var re;class Wt{constructor(){it(this,re,{})}addListener(t,n){const r=we(this,re)[t];return r===void 0?we(this,re)[t]=[n]:r.includes(n)||r.push(n),()=>{this.removeListener(t,n)}}emit(t,n){const r=we(this,re)[t];if(r!==void 0)if(r.length===1)r[0].call(null,n);else{let o=!1,i=null;const l=Array.from(r);for(let a=0;a<l.length;a++){const s=l[a];try{s.call(null,n)}catch(c){i===null&&(o=!0,i=c)}}if(o)throw i}}removeAllListeners(){st(this,re,{})}removeListener(t,n){const r=we(this,re)[t];if(r!==void 0){const o=r.indexOf(n);o>=0&&r.splice(o,1)}}}re=new WeakMap;let Z=new Map;const Ht=new Wt;function Pr(e){Z=new Map(Z),Z.delete(e)}function ht(e,t){for(const[n]of Z)if(n.id===e)return n}function ae(e,t){for(const[n,r]of Z)if(n.id===e)return r;if(t)throw Error(`Could not find data for Group with id ${e}`)}function de(){return Z}function Ye(e,t){return Ht.addListener("groupChange",n=>{n.group.id===e&&t(n)})}function te(e,t){const n=Z.get(e);Z=new Map(Z),Z.set(e,t),Ht.emit("groupChange",{group:e,prev:n,next:t})}function kr(e,t,n){let r,o={x:1/0,y:1/0};for(const i of t){const l=At(n,i.rect);switch(e){case"horizontal":{l.x<=o.x&&(r=i,o=l);break}case"vertical":{l.y<=o.y&&(r=i,o=l);break}}}return r?{distance:o,hitRegion:r}:void 0}function Er(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function Mr(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:vt(e),b:vt(t)};let r;for(;n.a.at(-1)===n.b.at(-1);)r=n.a.pop(),n.b.pop();T(r,"Stacking order can only be calculated for elements with a common ancestor");const o={a:gt(mt(n.a)),b:gt(mt(n.b))};if(o.a===o.b){const i=r.childNodes,l={a:n.a.at(-1),b:n.b.at(-1)};let a=i.length;for(;a--;){const s=i[a];if(s===l.a)return 1;if(s===l.b)return-1}}return Math.sign(o.a-o.b)}const Lr=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function Or(e){const t=getComputedStyle(Vt(e)??e).display;return t==="flex"||t==="inline-flex"}function Nr(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||Or(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||Lr.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function mt(e){let t=e.length;for(;t--;){const n=e[t];if(T(n,"Missing node"),Nr(n))return n}return null}function gt(e){return e&&Number(getComputedStyle(e).zIndex)||0}function vt(e){const t=[];for(;e;)t.push(e),e=Vt(e);return t}function Vt(e){const{parentNode:t}=e;return Er(t)?t.host:t}function Rr(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function Dr({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!Ft(n)||n.contains(e)||e.contains(n))return!0;if(Mr(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(Rr(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function _e(e,t){const n=[];return t.forEach((r,o)=>{if(o.disabled)return;const i=Bt(o),l=kr(o.orientation,i,{x:e.clientX,y:e.clientY});l&&l.distance.x<=0&&l.distance.y<=0&&Dr({groupElement:o.element,hitRegion:l.hitRegion.rect,pointerEventTarget:e.target})&&n.push(l.hitRegion)}),n}function Ir(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function U(e,t,n=0){return Math.abs(q(e)-q(t))<=n}function Q(e,t){return U(e,t)?0:e>t?1:-1}function me({overrideDisabledPanels:e,panelConstraints:t,prevSize:n,size:r}){const{collapsedSize:o=0,collapsible:i,disabled:l,maxSize:a=100,minSize:s=0}=t;if(l&&!e)return n;if(Q(r,s)<0)if(i){const c=(o+s)/2;Q(r,c)<0?r=o:r=s}else r=s;return r=Math.min(a,r),r=q(r),r}function ke({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:o,trigger:i}){if(U(e,0))return t;const l=i==="imperative-api",a=Object.values(t),s=Object.values(o),c=[...a],[d,v]=r;T(d!=null,"Invalid first pivot index"),T(v!=null,"Invalid second pivot index");let g=0;switch(i){case"keyboard":{{const m=e<0?v:d,b=n[m];T(b,`Panel constraints not found for index ${m}`);const{collapsedSize:x=0,collapsible:p,minSize:z=0}=b;if(p){const S=a[m];if(T(S!=null,`Previous layout not found for panel index ${m}`),U(S,x)){const h=z-S;Q(h,Math.abs(e))>0&&(e=e<0?0-h:h)}}}{const m=e<0?d:v,b=n[m];T(b,`No panel constraints found for index ${m}`);const{collapsedSize:x=0,collapsible:p,minSize:z=0}=b;if(p){const S=a[m];if(T(S!=null,`Previous layout not found for panel index ${m}`),U(S,z)){const h=S-x;Q(h,Math.abs(e))>0&&(e=e<0?0-h:h)}}}break}default:{const m=e<0?v:d,b=n[m];T(b,`Panel constraints not found for index ${m}`);const x=a[m],{collapsible:p,collapsedSize:z,minSize:S}=b;if(p&&Q(x,S)<0)if(e>0){const h=S-z,P=h/2,C=x+e;Q(C,S)<0&&(e=Q(e,P)<=0?0:h)}else{const h=S-z,P=100-h/2,C=x-e;Q(C,S)<0&&(e=Q(100+e,P)>0?0:-h)}break}}{const m=e<0?1:-1;let b=e<0?v:d,x=0;for(;;){const z=a[b];T(z!=null,`Previous layout not found for panel index ${b}`);const S=me({overrideDisabledPanels:l,panelConstraints:n[b],prevSize:z,size:100})-z;if(x+=S,b+=m,b<0||b>=n.length)break}const p=Math.min(Math.abs(e),Math.abs(x));e=e<0?0-p:p}{let m=e<0?d:v;for(;m>=0&&m<n.length;){const b=Math.abs(e)-Math.abs(g),x=a[m];T(x!=null,`Previous layout not found for panel index ${m}`);const p=x-b,z=me({overrideDisabledPanels:l,panelConstraints:n[m],prevSize:x,size:p});if(!U(x,z)&&(g+=x-z,c[m]=z,g.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?m--:m++}}if(Ir(s,c))return o;{const m=e<0?v:d,b=a[m];T(b!=null,`Previous layout not found for panel index ${m}`);const x=b+g,p=me({overrideDisabledPanels:l,panelConstraints:n[m],prevSize:b,size:x});if(c[m]=p,!U(p,x)){let z=x-p,S=e<0?v:d;for(;S>=0&&S<n.length;){const h=c[S];T(h!=null,`Previous layout not found for panel index ${S}`);const P=h+z,C=me({overrideDisabledPanels:l,panelConstraints:n[S],prevSize:h,size:P});if(U(h,C)||(z-=C-h,c[S]=C),U(z,0))break;e>0?S--:S++}}}const M=Object.values(c).reduce((m,b)=>b+m,0);if(!U(M,100,.1))return o;const w=Object.keys(o);return c.reduce((m,b,x)=>(m[w[x]]=b,m),{})}function le(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(t[n]===void 0||Q(e[n],t[n])!==0)return!1;return!0}function ce({layout:e,panelConstraints:t}){const n=Object.values(e),r=[...n],o=r.reduce((a,s)=>a+s,0);if(r.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${r.map(a=>`${a}%`).join(", ")}`);if(!U(o,100)&&r.length>0)for(let a=0;a<t.length;a++){const s=r[a];T(s!=null,`No layout data found for index ${a}`);const c=100/o*s;r[a]=c}let i=0;for(let a=0;a<t.length;a++){const s=n[a];T(s!=null,`No layout data found for index ${a}`);const c=r[a];T(c!=null,`No layout data found for index ${a}`);const d=me({overrideDisabledPanels:!0,panelConstraints:t[a],prevSize:s,size:c});c!=d&&(i+=c-d,r[a]=d)}if(!U(i,0))for(let a=0;a<t.length;a++){const s=r[a];T(s!=null,`No layout data found for index ${a}`);const c=s+i,d=me({overrideDisabledPanels:!0,panelConstraints:t[a],prevSize:s,size:c});if(s!==d&&(i-=d-s,r[a]=d,U(i,0)))break}const l=Object.keys(e);return r.reduce((a,s,c)=>(a[l[c]]=s,a),{})}function Gt({groupId:e,panelId:t}){const n=()=>{const a=de();for(const[s,{defaultLayoutDeferred:c,derivedPanelConstraints:d,layout:v,groupSize:g,separatorToPanels:M}]of a)if(s.id===e)return{defaultLayoutDeferred:c,derivedPanelConstraints:d,group:s,groupSize:g,layout:v,separatorToPanels:M};throw Error(`Group ${e} not found`)},r=()=>{const a=n().derivedPanelConstraints.find(s=>s.panelId===t);if(a!==void 0)return a;throw Error(`Panel constraints not found for Panel ${t}`)},o=()=>{const a=n().group.panels.find(s=>s.id===t);if(a!==void 0)return a;throw Error(`Layout not found for Panel ${t}`)},i=()=>{const a=n().layout[t];if(a!==void 0)return a;throw Error(`Layout not found for Panel ${t}`)},l=a=>{const s=i();if(a===s)return;const{defaultLayoutDeferred:c,derivedPanelConstraints:d,group:v,groupSize:g,layout:M,separatorToPanels:w}=n(),m=v.panels.findIndex(z=>z.id===t),b=m===v.panels.length-1,x=ke({delta:b?s-a:a-s,initialLayout:M,panelConstraints:d,pivotIndices:b?[m-1,m]:[m,m+1],prevLayout:M,trigger:"imperative-api"}),p=ce({layout:x,panelConstraints:d});le(M,p)||te(v,{defaultLayoutDeferred:c,derivedPanelConstraints:d,groupSize:g,layout:p,separatorToPanels:w})};return{collapse:()=>{const{collapsible:a,collapsedSize:s}=r(),{mutableValues:c}=o(),d=i();a&&d!==s&&(c.expandToSize=d,l(s))},expand:()=>{const{collapsible:a,collapsedSize:s,minSize:c}=r(),{mutableValues:d}=o(),v=i();if(a&&v===s){let g=d.expandToSize??c;g===0&&(g=1),l(g)}},getSize:()=>{const{group:a}=n(),s=i(),{element:c}=o(),d=a.orientation==="horizontal"?c.offsetWidth:c.offsetHeight;return{asPercentage:s,inPixels:d}},isCollapsed:()=>{const{collapsible:a,collapsedSize:s}=r(),c=i();return a&&U(s,c)},resize:a=>{const{group:s}=n(),{element:c}=o(),d=ye({group:s}),v=ze({groupSize:d,panelElement:c,styleProp:a}),g=q(v/d*100);l(g)}}}function xt(e){if(e.defaultPrevented)return;const t=de();_e(e,t).forEach(n=>{if(n.separator){const r=n.panels.find(o=>o.panelConstraints.defaultSize!==void 0);if(r){const o=r.panelConstraints.defaultSize,i=Gt({groupId:n.group.id,panelId:r.id});i&&o!==void 0&&(i.resize(o),e.preventDefault())}}})}function De(e){const t=de();for(const[n]of t)if(n.separators.some(r=>r.element===e))return n;throw Error("Could not find parent Group for separator element")}function Ut({groupId:e}){const t=()=>{const n=de();for(const[r,o]of n)if(r.id===e)return{group:r,...o};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){const{defaultLayoutDeferred:n,layout:r}=t();return n?{}:r},setLayout(n){const{defaultLayoutDeferred:r,derivedPanelConstraints:o,group:i,groupSize:l,layout:a,separatorToPanels:s}=t(),c=ce({layout:n,panelConstraints:o});return r?a:(le(a,c)||te(i,{defaultLayoutDeferred:r,derivedPanelConstraints:o,groupSize:l,layout:c,separatorToPanels:s}),c)}}}function se(e,t){const n=De(e),r=ae(n.id,!0),o=n.separators.find(d=>d.element===e);T(o,"Matching separator not found");const i=r.separatorToPanels.get(o);T(i,"Matching panels not found");const l=i.map(d=>n.panels.indexOf(d)),a=Ut({groupId:n.id}).getLayout(),s=ke({delta:t,initialLayout:a,panelConstraints:r.derivedPanelConstraints,pivotIndices:l,prevLayout:a,trigger:"keyboard"}),c=ce({layout:s,panelConstraints:r.derivedPanelConstraints});le(a,c)||te(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,groupSize:r.groupSize,layout:c,separatorToPanels:r.separatorToPanels})}function yt(e){if(e.defaultPrevented)return;const t=e.currentTarget,n=De(t);if(!n.disabled)switch(e.key){case"ArrowDown":{e.preventDefault(),n.orientation==="vertical"&&se(t,5);break}case"ArrowLeft":{e.preventDefault(),n.orientation==="horizontal"&&se(t,-5);break}case"ArrowRight":{e.preventDefault(),n.orientation==="horizontal"&&se(t,5);break}case"ArrowUp":{e.preventDefault(),n.orientation==="vertical"&&se(t,-5);break}case"End":{e.preventDefault(),se(t,100);break}case"Enter":{e.preventDefault();const r=De(t),o=ae(r.id,!0),{derivedPanelConstraints:i,layout:l,separatorToPanels:a}=o,s=r.separators.find(g=>g.element===t);T(s,"Matching separator not found");const c=a.get(s);T(c,"Matching panels not found");const d=c[0],v=i.find(g=>g.panelId===d.id);if(T(v,"Panel metadata not found"),v.collapsible){const g=l[d.id],M=v.collapsedSize===g?r.mutableState.expandedPanelSizes[d.id]??v.minSize:v.collapsedSize;se(t,M-g)}break}case"F6":{e.preventDefault();const r=De(t).separators.map(l=>l.element),o=Array.from(r).findIndex(l=>l===e.currentTarget);T(o!==null,"Index not found");const i=e.shiftKey?o>0?o-1:r.length-1:o+1<r.length?o+1:0;r[i].focus({preventScroll:!0});break}case"Home":{e.preventDefault(),se(t,-100);break}}}let ve={cursorFlags:0,state:"inactive"};const Je=new Wt;function ue(){return ve}function $r(e){return Je.addListener("change",e)}function Tr(e){const t=ve,n={...ve};n.cursorFlags=e,ve=n,Je.emit("change",{prev:t,next:n})}function xe(e){const t=ve;ve=e,Je.emit("change",{prev:t,next:e})}function bt(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const t=de(),n=_e(e,t),r=new Map;let o=!1;n.forEach(i=>{i.separator&&(o||(o=!0,i.separator.element.focus({preventScroll:!0})));const l=t.get(i.group);l&&r.set(i.group,l.layout)}),xe({cursorFlags:0,hitRegions:n,initialLayoutMap:r,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}),n.length&&e.preventDefault()}const Fr=e=>e,Ve=()=>{},qt=1,Kt=2,Xt=4,Yt=8,wt=3,St=12;let Re;function zt(){return Re===void 0&&(Re=!1,typeof window<"u"&&(window.navigator.userAgent.includes("Chrome")||window.navigator.userAgent.includes("Firefox"))&&(Re=!0)),Re}function Ar({cursorFlags:e,groups:t,state:n}){let r=0,o=0;switch(n){case"active":case"hover":t.forEach(i=>{if(!i.mutableState.disableCursor)switch(i.orientation){case"horizontal":{r++;break}case"vertical":{o++;break}}})}if(!(r===0&&o===0)){switch(n){case"active":{if(e&&zt()){const i=(e&qt)!==0,l=(e&Kt)!==0,a=(e&Xt)!==0,s=(e&Yt)!==0;if(i)return a?"se-resize":s?"ne-resize":"e-resize";if(l)return a?"sw-resize":s?"nw-resize":"w-resize";if(a)return"s-resize";if(s)return"n-resize"}break}}return zt()?r>0&&o>0?"move":r>0?"ew-resize":"ns-resize":r>0&&o>0?"grab":r>0?"col-resize":"row-resize"}}const jt=new WeakMap;function Qe(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=jt.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&e.adoptedStyleSheets.push(n));const r=ue();switch(r.state){case"active":case"hover":{const o=Ar({cursorFlags:r.cursorFlags,groups:r.hitRegions.map(l=>l.group),state:r.state}),i=`*, *:hover {cursor: ${o} !important; }`;if(t===i)return;t=i,o?n.cssRules.length===0?n.insertRule(i):n.replaceSync(i):n.cssRules.length===1&&n.deleteRule(0);break}case"inactive":{t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}}jt.set(e,{prevStyle:t,styleSheet:n})}function _t({document:e,event:t,hitRegions:n,initialLayoutMap:r,mountedGroups:o,pointerDownAtPoint:i,prevCursorFlags:l}){let a=0;n.forEach(c=>{const{group:d,groupSize:v}=c,{orientation:g,panels:M}=d,{disableCursor:w}=d.mutableState;let m=0;i?g==="horizontal"?m=(t.clientX-i.x)/v*100:m=(t.clientY-i.y)/v*100:g==="horizontal"?m=t.clientX<0?-100:100:m=t.clientY<0?-100:100;const b=r.get(d),x=o.get(d);if(!b||!x)return;const{defaultLayoutDeferred:p,derivedPanelConstraints:z,groupSize:S,layout:h,separatorToPanels:P}=x;if(z&&h&&P){const C=ke({delta:m,initialLayout:b,panelConstraints:z,pivotIndices:c.panels.map(D=>M.indexOf(D)),prevLayout:h,trigger:"mouse-or-touch"});if(le(C,h)){if(m!==0&&!w)switch(g){case"horizontal":{a|=m<0?qt:Kt;break}case"vertical":{a|=m<0?Xt:Yt;break}}}else te(c.group,{defaultLayoutDeferred:p,derivedPanelConstraints:z,groupSize:S,layout:C,separatorToPanels:P})}});let s=0;t.movementX===0?s|=l&wt:s|=a&wt,t.movementY===0?s|=l&St:s|=a&St,Tr(s),Qe(e)}function Ct(e){const t=de(),n=ue();switch(n.state){case"active":_t({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,prevCursorFlags:n.cursorFlags})}}function Pt(e){if(e.defaultPrevented)return;const t=ue(),n=de();switch(t.state){case"active":{if(e.buttons===0){xe({cursorFlags:0,state:"inactive"}),t.hitRegions.forEach(r=>{const o=ae(r.group.id,!0);te(r.group,o)});return}_t({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags});break}default:{const r=_e(e,n);r.length===0?t.state!=="inactive"&&xe({cursorFlags:0,state:"inactive"}):xe({cursorFlags:0,hitRegions:r,state:"hover"}),Qe(e.currentTarget);break}}}function kt(e){if(e.relatedTarget instanceof HTMLIFrameElement)switch(ue().state){case"hover":xe({cursorFlags:0,state:"inactive"})}}function Et(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const t=ue();switch(t.state){case"active":xe({cursorFlags:0,state:"inactive"}),t.hitRegions.length>0&&(Qe(e.currentTarget),t.hitRegions.forEach(n=>{const r=ae(n.group.id,!0);te(n.group,r)}),e.preventDefault())}}function Mt(e){let t=0,n=0;const r={};for(const i of e)if(i.defaultSize!==void 0){t++;const l=q(i.defaultSize);n+=l,r[i.panelId]=l}else r[i.panelId]=void 0;const o=e.length-t;if(o!==0){const i=q((100-n)/o);for(const l of e)l.defaultSize===void 0&&(r[l.panelId]=i)}return r}function Br(e,t,n){if(!n[0])return;const r=e.panels.find(s=>s.element===t);if(!r||!r.onResize)return;const o=ye({group:e}),i=e.orientation==="horizontal"?r.element.offsetWidth:r.element.offsetHeight,l=r.mutableValues.prevSize,a={asPercentage:q(i/o*100),inPixels:i};r.mutableValues.prevSize=a,r.onResize(a,r.id,l)}function Wr(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function Hr({group:e,nextGroupSize:t,prevGroupSize:n,prevLayout:r}){if(n<=0||t<=0||n===t)return r;let o=0,i=0,l=!1;const a=new Map,s=[];for(const v of e.panels){const g=r[v.id]??0;switch(v.panelConstraints.groupResizeBehavior){case"preserve-pixel-size":{l=!0;const M=g/100*n,w=q(M/t*100);a.set(v.id,w),o+=w;break}case"preserve-relative-size":default:{s.push(v.id),i+=g;break}}}if(!l||s.length===0)return r;const c=100-o,d={...r};if(a.forEach((v,g)=>{d[g]=v}),i>0)for(const v of s){const g=r[v]??0;d[v]=q(g/i*c)}else{const v=q(c/s.length);for(const g of s)d[g]=v}return d}function Vr(e,t){const n=e.map(o=>o.id),r=Object.keys(t);if(n.length!==r.length)return!1;for(const o of n)if(!r.includes(o))return!1;return!0}const pe=new Map;function Gr(e){let t=!0;T(e.element.ownerDocument.defaultView,"Cannot register an unmounted Group");const n=e.element.ownerDocument.defaultView.ResizeObserver,r=new Set,o=new Set,i=new n(w=>{for(const m of w){const{borderBoxSize:b,target:x}=m;if(x===e.element){if(t){const p=ye({group:e});if(p===0)return;const z=ae(e.id);if(!z)return;const S=Ge(e),h=z.defaultLayoutDeferred?Mt(S):z.layout,P=Hr({group:e,nextGroupSize:p,prevGroupSize:z.groupSize,prevLayout:h}),C=ce({layout:P,panelConstraints:S});if(!z.defaultLayoutDeferred&&le(z.layout,C)&&Wr(z.derivedPanelConstraints,S)&&z.groupSize===p)return;te(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:S,groupSize:p,layout:C,separatorToPanels:z.separatorToPanels})}}else Br(e,x,b)}});i.observe(e.element),e.panels.forEach(w=>{T(!r.has(w.id),`Panel ids must be unique; id "${w.id}" was used more than once`),r.add(w.id),w.onResize&&i.observe(w.element)});const l=ye({group:e}),a=Ge(e),s=e.panels.map(({id:w})=>w).join(",");let c=e.mutableState.defaultLayout;c&&(Vr(e.panels,c)||(c=void 0));const d=e.mutableState.layouts[s]??c??Mt(a),v=ce({layout:d,panelConstraints:a}),g=e.element.ownerDocument;pe.set(g,(pe.get(g)??0)+1);const M=new Map;return Bt(e).forEach(w=>{w.separator&&M.set(w.separator,w.panels)}),te(e,{defaultLayoutDeferred:l===0,derivedPanelConstraints:a,groupSize:l,layout:v,separatorToPanels:M}),e.separators.forEach(w=>{T(!o.has(w.id),`Separator ids must be unique; id "${w.id}" was used more than once`),o.add(w.id),w.element.addEventListener("keydown",yt)}),pe.get(g)===1&&(g.addEventListener("dblclick",xt,!0),g.addEventListener("pointerdown",bt,!0),g.addEventListener("pointerleave",Ct),g.addEventListener("pointermove",Pt),g.addEventListener("pointerout",kt),g.addEventListener("pointerup",Et,!0)),function(){t=!1,pe.set(g,Math.max(0,(pe.get(g)??0)-1)),Pr(e),e.separators.forEach(w=>{w.element.removeEventListener("keydown",yt)}),pe.get(g)||(g.removeEventListener("dblclick",xt,!0),g.removeEventListener("pointerdown",bt,!0),g.removeEventListener("pointerleave",Ct),g.removeEventListener("pointermove",Pt),g.removeEventListener("pointerout",kt),g.removeEventListener("pointerup",Et,!0)),i.disconnect()}}function Ur(){const[e,t]=u.useState({}),n=u.useCallback(()=>t({}),[]);return[e,n]}function Ze(e){const t=u.useId();return`${e??t}`}const fe=typeof window<"u"?u.useLayoutEffect:u.useEffect;function Ce(e){const t=u.useRef(e);return fe(()=>{t.current=e},[e]),u.useCallback((...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[t])}function et(...e){return Ce(t=>{e.forEach(n=>{if(n)switch(typeof n){case"function":{n(t);break}case"object":{n.current=t;break}}})})}function tt(e){const t=u.useRef({...e});return fe(()=>{for(const n in e)t.current[n]=e[n]},[e]),t.current}const Jt=u.createContext(null);function qr(e,t){const n=u.useRef({getLayout:()=>({}),setLayout:Fr});u.useImperativeHandle(t,()=>n.current,[]),fe(()=>{Object.assign(n.current,Ut({groupId:e}))})}function Qt({children:e,className:t,defaultLayout:n,disableCursor:r,disabled:o,elementRef:i,groupRef:l,id:a,onLayoutChange:s,onLayoutChanged:c,orientation:d="horizontal",resizeTargetMinimumSize:v={coarse:20,fine:10},style:g,...M}){const w=u.useRef({onLayoutChange:{},onLayoutChanged:{}}),m=Ce(k=>{le(w.current.onLayoutChange,k)||(w.current.onLayoutChange=k,s==null||s(k))}),b=Ce(k=>{le(w.current.onLayoutChanged,k)||(w.current.onLayoutChanged=k,c==null||c(k))}),x=Ze(a),p=u.useRef(null),[z,S]=Ur(),h=u.useRef({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:v,separators:[]}),P=et(p,i);qr(x,l);const C=Ce((k,E)=>{const $=ue(),A=ht(k),j=ae(k);if(j){let R=!1;switch($.state){case"active":{R=$.hitRegions.some(H=>H.group===A);break}}return{flexGrow:j.layout[E]??1,pointerEvents:R?"none":void 0}}return{flexGrow:(n==null?void 0:n[E])??1}}),D=tt({defaultLayout:n,disableCursor:r}),F=u.useMemo(()=>({get disableCursor(){return!!D.disableCursor},getPanelStyles:C,id:x,orientation:d,registerPanel:k=>{const E=h.current;return E.panels=Ue(d,[...E.panels,k]),S(),()=>{E.panels=E.panels.filter($=>$!==k),S()}},registerSeparator:k=>{const E=h.current;return E.separators=Ue(d,[...E.separators,k]),S(),()=>{E.separators=E.separators.filter($=>$!==k),S()}},togglePanelDisabled:(k,E)=>{const $=h.current.panels.find(R=>R.id===k);$&&($.panelConstraints.disabled=E);const A=ht(x),j=ae(x);A&&j&&te(A,{...j,derivedPanelConstraints:Ge(A)})},toggleSeparatorDisabled:(k,E)=>{const $=h.current.separators.find(A=>A.id===k);$&&($.disabled=E)}}),[C,x,S,d,D]),L=u.useRef(null);return fe(()=>{const k=p.current;if(k===null)return;const E=h.current;let $;if(D.defaultLayout!==void 0&&Object.keys(D.defaultLayout).length===E.panels.length){$={};for(const _ of E.panels){const O=D.defaultLayout[_.id];O!==void 0&&($[_.id]=O)}}const A={disabled:!!o,element:k,id:x,mutableState:{defaultLayout:$,disableCursor:!!D.disableCursor,expandedPanelSizes:h.current.lastExpandedPanelSizes,layouts:h.current.layouts},orientation:d,panels:E.panels,resizeTargetMinimumSize:E.resizeTargetMinimumSize,separators:E.separators};L.current=A;const j=Gr(A),{defaultLayoutDeferred:R,derivedPanelConstraints:H,layout:G}=ae(A.id,!0);!R&&H.length>0&&(m(G),b(G));const X=Ye(x,_=>{const{defaultLayoutDeferred:O,derivedPanelConstraints:I,layout:V}=_.next;if(O||I.length===0)return;const ee=A.panels.map(({id:Y})=>Y).join(",");A.mutableState.layouts[ee]=V,I.forEach(Y=>{if(Y.collapsible){const{layout:be}=_.prev??{};if(be){const Me=U(Y.collapsedSize,V[Y.panelId]),Fe=U(Y.collapsedSize,be[Y.panelId]);Me&&!Fe&&(A.mutableState.expandedPanelSizes[Y.panelId]=be[Y.panelId])}}});const J=ue().state!=="active";m(V),J&&b(V)});return()=>{L.current=null,j(),X()}},[o,x,b,m,d,z,D]),u.useEffect(()=>{const k=L.current;k&&(k.mutableState.defaultLayout=n,k.mutableState.disableCursor=!!r)}),f.jsx(Jt.Provider,{value:F,children:f.jsx("div",{...M,className:t,"data-group":!0,"data-testid":x,id:x,ref:P,style:{height:"100%",width:"100%",overflow:"hidden",...g,display:"flex",flexDirection:d==="horizontal"?"row":"column",flexWrap:"nowrap",touchAction:d==="horizontal"?"pan-y":"pan-x"},children:e})})}Qt.displayName="Group";function nt(){const e=u.useContext(Jt);return T(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function Kr(e,t){const{id:n}=nt(),r=u.useRef({collapse:Ve,expand:Ve,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:Ve});u.useImperativeHandle(t,()=>r.current,[]),fe(()=>{Object.assign(r.current,Gt({groupId:n,panelId:e}))})}function Ie({children:e,className:t,collapsedSize:n="0%",collapsible:r=!1,defaultSize:o,disabled:i,elementRef:l,groupResizeBehavior:a="preserve-relative-size",id:s,maxSize:c="100%",minSize:d="0%",onResize:v,panelRef:g,style:M,...w}){const m=!!s,b=Ze(s),x=tt({disabled:i}),p=u.useRef(null),z=et(p,l),{getPanelStyles:S,id:h,orientation:P,registerPanel:C,togglePanelDisabled:D}=nt(),F=v!==null,L=Ce((E,$,A)=>{v==null||v(E,s,A)});fe(()=>{const E=p.current;if(E!==null){const $={element:E,id:b,idIsStable:m,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:F?L:void 0,panelConstraints:{groupResizeBehavior:a,collapsedSize:n,collapsible:r,defaultSize:o,disabled:x.disabled,maxSize:c,minSize:d}};return C($)}},[a,n,r,o,F,b,m,c,d,L,C,x]),u.useEffect(()=>{D(b,!!i)},[i,b,D]),Kr(b,g);const k=u.useSyncExternalStore(E=>Ye(h,E),()=>JSON.stringify(S(h,b)),()=>JSON.stringify(S(h,b)));return f.jsx("div",{...w,"aria-disabled":i||void 0,"data-panel":!0,"data-testid":b,id:b,ref:z,style:{...Xr,display:"flex",flexBasis:0,flexShrink:1,overflow:"visible",...JSON.parse(k)},children:f.jsx("div",{className:t,style:{maxHeight:"100%",maxWidth:"100%",flexGrow:1,overflow:"auto",...M,touchAction:P==="horizontal"?"pan-y":"pan-x"},children:e})})}Ie.displayName="Panel";const Xr={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function Yr({layout:e,panelConstraints:t,panelId:n,panelIndex:r}){let o,i;const l=e[n],a=t.find(s=>s.panelId===n);if(a){const s=a.maxSize,c=a.collapsible?a.collapsedSize:a.minSize,d=[r,r+1];i=ce({layout:ke({delta:c-l,initialLayout:e,panelConstraints:t,pivotIndices:d,prevLayout:e}),panelConstraints:t})[n],o=ce({layout:ke({delta:s-l,initialLayout:e,panelConstraints:t,pivotIndices:d,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:o,valueMin:i,valueNow:l}}function qe({children:e,className:t,disabled:n,elementRef:r,id:o,style:i,...l}){const a=Ze(o),s=tt({disabled:n}),[c,d]=u.useState({}),[v,g]=u.useState("inactive"),M=u.useRef(null),w=et(M,r),{disableCursor:m,id:b,orientation:x,registerSeparator:p,toggleSeparatorDisabled:z}=nt(),S=x==="horizontal"?"vertical":"horizontal";fe(()=>{const P=M.current;if(P!==null){const C={disabled:s.disabled,element:P,id:a},D=p(C),F=$r(k=>{g(k.next.state!=="inactive"&&k.next.hitRegions.some(E=>E.separator===C)?k.next.state:"inactive")}),L=Ye(b,k=>{const{derivedPanelConstraints:E,layout:$,separatorToPanels:A}=k.next,j=A.get(C);if(j){const R=j[0],H=j.indexOf(R);d(Yr({layout:$,panelConstraints:E,panelId:R.id,panelIndex:H}))}});return()=>{F(),L(),D()}}},[b,a,p,s]),u.useEffect(()=>{z(a,!!n)},[n,a,z]);let h;return n&&!m&&(h="not-allowed"),f.jsx("div",{...l,"aria-controls":c.valueControls,"aria-disabled":n||void 0,"aria-orientation":S,"aria-valuemax":c.valueMax,"aria-valuemin":c.valueMin,"aria-valuenow":c.valueNow,children:e,className:t,"data-separator":n?"disabled":v,"data-testid":a,id:a,ref:w,role:"separator",style:{flexBasis:"auto",cursor:h,...i,flexGrow:0,flexShrink:0,touchAction:"none"},tabIndex:n?void 0:0})}qe.displayName="Separator";function Ke(e){var r;const t=((r=e.split(".").pop())==null?void 0:r.toLowerCase())||"";return{js:"text-yellow-600",ts:"text-blue-500",tsx:"text-blue-400",jsx:"text-yellow-500",py:"text-green-600",rb:"text-red-500",go:"text-cyan-600",html:"text-orange-500",css:"text-purple-500",json:"text-green-500",md:"text-slate",yaml:"text-green-400",yml:"text-green-400",sh:"text-green-600",bash:"text-green-600",rs:"text-orange-600",java:"text-red-600",kt:"text-purple-600",sql:"text-blue-600",svg:"text-orange-400"}[t]||"text-charcoal/80"}function Xe(e,t){var o;if(t==="directory")return"[ ]";const n=((o=e.split(".").pop())==null?void 0:o.toLowerCase())||"";return{js:"JS",ts:"TS",tsx:"TX",jsx:"JX",py:"PY",html:"<>",css:"##",json:"{}",md:"MD",yml:"YL",yaml:"YL",sh:"SH",go:"GO",rs:"RS",rb:"RB",java:"JV",kt:"KT",sql:"SQ",svg:"SV",png:"IM",jpg:"IM",gif:"IM",ico:"IC"}[n]||".."}function _r(e){var o;const t=((o=e.split(".").pop())==null?void 0:o.toLowerCase())||"",n={js:"javascript",jsx:"javascript",ts:"typescript",tsx:"typescript",py:"python",html:"html",htm:"html",css:"css",scss:"scss",less:"less",json:"json",md:"markdown",go:"go",rs:"rust",sh:"shell",bash:"shell",yml:"yaml",yaml:"yaml",xml:"xml",svg:"xml",sql:"sql",java:"java",kt:"kotlin",rb:"ruby",dockerfile:"dockerfile"},r=e.toLowerCase();return r==="dockerfile"?"dockerfile":r==="makefile"?"makefile":n[t]||"plaintext"}function Zt(e){for(const t of e)if(t.type==="file"&&t.name.endsWith(".html")||t.children&&Zt(t.children))return!0;return!1}function en(e,t){for(const n of e){if(n.path===t)return n.size;if(n.children){const r=en(n.children,t);if(r!==void 0)return r}}}function tn(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function nn({nodes:e,selectedPath:t,onSelect:n,onDelete:r,depth:o=0}){const[i,l]=u.useState(()=>{const a=new Set;return o<2&&e.filter(s=>s.type==="directory").forEach(s=>a.add(s.path)),a});return f.jsx("div",{children:e.map(a=>{const s=a.type==="directory",c=i.has(a.path),d=a.path===t;return f.jsxs("div",{className:"group/file",children:[f.jsxs("button",{onClick:()=>{s?l(v=>{const g=new Set(v);return g.has(a.path)?g.delete(a.path):g.add(a.path),g}):n(a.path,a.name)},className:`w-full text-left flex items-center gap-1.5 px-2 py-1 text-xs font-mono rounded transition-colors ${d?"bg-accent-product/10 text-accent-product":"text-charcoal/70 hover:bg-white/40"}`,style:{paddingLeft:`${o*14+8}px`},children:[s?f.jsx("span",{className:"text-[10px] text-slate w-3 text-center flex-shrink-0",children:c?"v":">"}):f.jsx("span",{className:"w-3 flex-shrink-0"}),f.jsx("span",{className:`text-[10px] font-bold w-5 text-center flex-shrink-0 ${s?"text-accent-product":Ke(a.name)}`,children:Xe(a.name,a.type)}),f.jsxs("span",{className:"truncate",children:[a.name,s?"/":""]}),!s&&a.size!=null&&a.size>0&&f.jsx("span",{className:"text-[10px] text-slate/40 ml-auto flex-shrink-0",children:tn(a.size)}),!s&&r&&f.jsx("span",{role:"button",tabIndex:-1,onClick:v=>{v.stopPropagation(),r(a.path,a.name)},onKeyDown:v=>{v.key==="Enter"&&(v.stopPropagation(),r(a.path,a.name))},className:"text-[10px] text-slate/30 hover:text-red-500 ml-1 flex-shrink-0 opacity-0 group-hover/file:opacity-100 transition-opacity cursor-pointer",title:"Delete file",children:"x"})]}),s&&c&&a.children&&f.jsx(nn,{nodes:a.children,selectedPath:t,onSelect:n,onDelete:r,depth:o+1})]},a.path)})})}function rn(e,t=""){const n=[];for(const r of e)r.type==="file"&&n.push({path:r.path,name:r.name}),r.children&&n.push(...rn(r.children,r.path+"/"));return n}function Jr({session:e,onClose:t}){var rt;const[n,r]=u.useState(null),[o,i]=u.useState(""),[l,a]=u.useState(null),[s,c]=u.useState(null),[d,v]=u.useState(!1),[g,M]=u.useState(!1),[w,m]=u.useState(!1),[b,x]=u.useState(!1),[p,z]=u.useState(e),S=u.useRef(null),[h,P]=u.useState([]),[C,D]=u.useState(!1),[F,L]=u.useState(""),k=u.useRef(null),E=u.useRef(null),[$,A]=u.useState(0),j=Zt(p.files),R=`/api/sessions/${encodeURIComponent(p.id)}/preview/index.html`,H=u.useCallback(async()=>{try{const y=await ne.getSessionDetail(p.id);z(y)}catch{}},[p.id]),G=u.useCallback(async(y,N)=>{w&&n&&s!==null&&P(W=>W.map(ie=>ie.path===n?{...ie,content:s,modified:!0}:ie));const B=h.find(W=>W.path===y);if(B){r(y),i(N),a(B.content),c(B.content),m(B.modified);return}r(y),i(N),v(!0),m(!1);try{const W=p.id?await ne.getSessionFileContent(p.id,y):await ne.getFileContent(y);a(W.content),c(W.content),P(ie=>[...ie,{path:y,name:N,content:W.content,modified:!1}])}catch{a("[Error loading file]"),c("[Error loading file]")}finally{v(!1)}},[p.id,w,n,s,h]),X=u.useCallback(async()=>{var y;if(!(!n||s===null||!p.id)){x(!0);try{await ne.saveSessionFile(p.id,n,s),a(s),m(!1),P(B=>B.map(W=>W.path===n?{...W,content:s,modified:!1}:W));const N=((y=n.split(".").pop())==null?void 0:y.toLowerCase())||"";["html","css","js","jsx","ts","tsx"].includes(N)&&A(B=>B+1)}catch(N){const B=N instanceof Error?N.message:"Unknown error";window.alert(`Save failed: ${B}`)}finally{x(!1)}}},[n,s,p.id]),_=u.useCallback(y=>{const N=h.find(B=>B.path===y);if(!(N!=null&&N.modified&&!window.confirm("Unsaved changes. Close anyway?"))&&(P(B=>B.filter(W=>W.path!==y)),n===y)){const B=h.filter(W=>W.path!==y);if(B.length>0){const W=B[B.length-1];r(W.path),i(W.name),a(W.content),c(W.content),m(W.modified)}else r(null),i(""),a(null),c(null),m(!1)}},[h,n]);u.useEffect(()=>{const y=N=>{(N.metaKey||N.ctrlKey)&&N.key==="s"&&(N.preventDefault(),w&&n&&X()),(N.metaKey||N.ctrlKey)&&N.key==="p"&&(N.preventDefault(),D(B=>!B),L("")),N.key==="Escape"&&C&&D(!1)};return window.addEventListener("keydown",y),()=>window.removeEventListener("keydown",y)},[w,n,X,C]),u.useEffect(()=>{C&&k.current&&k.current.focus()},[C]);const O=rn(p.files),I=F?O.filter(y=>y.path.toLowerCase().includes(F.toLowerCase())):O;u.useEffect(()=>{const y=p.files.find(N=>N.name==="index.html"&&N.type==="file");y&&(G(y.path,y.name),M(!0))},[]);const V=u.useCallback(y=>{y!==void 0&&(c(y),m(y!==l))},[l]),ee=u.useCallback(y=>{S.current=y},[]),J=u.useCallback(async()=>{const y=window.prompt("New file name (e.g. src/utils.ts):");if(!(!y||!y.trim()))try{await ne.createSessionFile(p.id,y.trim()),await H()}catch(N){const B=N instanceof Error?N.message:"Unknown error";window.alert(`Create file failed: ${B}`)}},[p.id,H]),Y=u.useCallback(async()=>{const y=window.prompt("New folder name (e.g. src/components):");if(!(!y||!y.trim()))try{await ne.createSessionDirectory(p.id,y.trim()),await H()}catch(N){const B=N instanceof Error?N.message:"Unknown error";window.alert(`Create folder failed: ${B}`)}},[p.id,H]),be=u.useCallback(async(y,N)=>{if(window.confirm(`Delete "${N}"?`))try{await ne.deleteSessionFile(p.id,y),n===y&&(r(null),i(""),a(null),c(null),m(!1)),await H()}catch(W){const ie=W instanceof Error?W.message:"Unknown error";window.alert(`Delete failed: ${ie}`)}},[p.id,n,H]),Me=n?en(p.files,n):void 0,Fe=((rt=o.split(".").pop())==null?void 0:rt.toUpperCase())||"";return f.jsxs("div",{className:"flex flex-col h-full",children:[f.jsxs("div",{className:"glass px-5 py-3 flex items-center gap-4 flex-shrink-0 border-b border-white/10",children:[f.jsx("button",{onClick:()=>{w&&!window.confirm("Unsaved changes. Discard?")||t()},className:"text-xs font-medium px-3 py-1.5 rounded-lg border border-white/20 text-slate hover:text-charcoal hover:bg-white/30 transition-colors",children:"Back"}),f.jsxs("div",{className:"flex-1 min-w-0",children:[f.jsx("h2",{className:"text-sm font-bold text-charcoal truncate",children:p.id}),f.jsx("p",{className:"text-[10px] font-mono text-slate truncate",children:p.path})]}),f.jsx("span",{className:`text-[10px] font-semibold px-2 py-0.5 rounded-full ${p.status==="completed"||p.status==="completion_promise_fulfilled"?"bg-success/10 text-success":"bg-slate/10 text-slate"}`,children:p.status}),j&&f.jsx("button",{onClick:()=>M(!g),className:`text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors ${g?"border-accent-product/40 bg-accent-product/10 text-accent-product":"border-white/20 text-slate hover:text-charcoal hover:bg-white/30"}`,children:g?"Hide Preview":"Preview"})]}),f.jsx("div",{className:"flex-1 min-h-0",children:f.jsxs(Qt,{orientation:"horizontal",className:"h-full",children:[f.jsx(Ie,{defaultSize:20,minSize:15,children:f.jsxs("div",{className:"h-full flex flex-col border-r border-white/10 bg-white/30",children:[f.jsxs("div",{className:"px-3 py-2 border-b border-white/10 flex items-center gap-2",children:[f.jsx("span",{className:"text-[10px] text-slate uppercase tracking-wider font-semibold flex-1",children:"Files"}),f.jsx("button",{onClick:J,title:"New File",className:"text-[10px] text-slate hover:text-accent-product px-1.5 py-0.5 rounded border border-white/20 hover:border-accent-product/30 transition-colors",children:"+ File"}),f.jsx("button",{onClick:Y,title:"New Folder",className:"text-[10px] text-slate hover:text-accent-product px-1.5 py-0.5 rounded border border-white/20 hover:border-accent-product/30 transition-colors",children:"+ Dir"})]}),f.jsx("div",{className:"flex-1 overflow-y-auto terminal-scroll",children:p.files.length>0?f.jsx(nn,{nodes:p.files,selectedPath:n,onSelect:G,onDelete:be}):f.jsx("div",{className:"p-4 text-xs text-slate",children:"No files"})})]})}),f.jsx(qe,{className:"w-1 bg-white/10 hover:bg-accent-product/30 transition-colors cursor-col-resize"}),f.jsx(Ie,{defaultSize:g?50:80,minSize:25,children:f.jsxs("div",{className:"h-full flex flex-col min-w-0",children:[h.length>0&&f.jsx("div",{className:"flex items-center border-b border-white/10 bg-white/10 overflow-x-auto flex-shrink-0",children:h.map(y=>f.jsxs("button",{onClick:()=>G(y.path,y.name),className:`flex items-center gap-1.5 px-3 py-1.5 text-[11px] font-mono border-r border-white/10 whitespace-nowrap transition-colors ${y.path===n?"bg-white/40 text-charcoal":"text-slate hover:text-charcoal hover:bg-white/20"}`,children:[f.jsx("span",{className:`text-[9px] font-bold ${Ke(y.name)}`,children:Xe(y.name,"file")}),y.name,y.modified&&f.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-accent-product"}),f.jsx("span",{role:"button",tabIndex:-1,onClick:N=>{N.stopPropagation(),_(y.path)},onKeyDown:N=>{N.key==="Enter"&&(N.stopPropagation(),_(y.path))},className:"text-slate/30 hover:text-danger ml-1 cursor-pointer",children:"x"})]},y.path))}),n?f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"px-4 py-1.5 border-b border-white/10 flex items-center gap-2 flex-shrink-0 bg-white/20",children:[f.jsx("span",{className:"text-xs font-mono text-charcoal/60 truncate",children:n}),b&&f.jsx("span",{className:"text-[10px] text-accent-product animate-pulse flex-shrink-0",children:"Saving..."}),f.jsx("span",{className:"ml-auto text-[10px] text-slate/50 font-mono",children:Me!=null?tn(Me):""}),f.jsx("span",{className:"text-[10px] text-slate/40 font-mono uppercase",children:Fe}),w&&f.jsx("button",{onClick:X,className:"text-[10px] font-medium px-2 py-0.5 rounded border border-accent-product/40 bg-accent-product/10 text-accent-product hover:bg-accent-product/20 transition-colors",children:"Save"})]}),f.jsx("div",{className:"flex-1 min-h-0",children:d?f.jsx("div",{className:"text-slate text-xs animate-pulse p-4",children:"Loading..."}):f.jsx(gr,{value:s??"",language:_r(o),theme:"vs",onChange:V,onMount:ee,options:{minimap:{enabled:!1},fontSize:13,lineNumbers:"on",wordWrap:"on",scrollBeyondLastLine:!1,automaticLayout:!0,padding:{top:8},renderLineHighlight:"line",smoothScrolling:!0,cursorBlinking:"smooth",folding:!0,bracketPairColorization:{enabled:!0}}})})]}):f.jsx("div",{className:"flex-1 flex items-center justify-center text-slate text-sm",children:"Select a file to view its contents"})]})}),g&&f.jsxs(f.Fragment,{children:[f.jsx(qe,{className:"w-1 bg-white/10 hover:bg-accent-product/30 transition-colors cursor-col-resize"}),f.jsx(Ie,{defaultSize:30,minSize:20,collapsible:!0,children:f.jsxs("div",{className:"h-full flex flex-col border-l border-white/10",children:[f.jsxs("div",{className:"px-4 py-2 border-b border-white/10 flex items-center gap-2 flex-shrink-0 bg-white/20",children:[f.jsx("span",{className:"text-xs font-semibold text-charcoal",children:"Live Preview"}),f.jsx("span",{className:"text-[10px] font-mono text-slate/50 truncate ml-auto",children:R})]}),f.jsx("div",{className:"flex-1 bg-white",children:f.jsx("iframe",{ref:E,src:R,title:"Project Preview",className:"w-full h-full border-0",sandbox:"allow-scripts allow-same-origin allow-forms allow-popups"},$)})]})})]})]})}),C&&f.jsx("div",{className:"fixed inset-0 z-50 flex items-start justify-center pt-[20vh]",onClick:()=>D(!1),children:f.jsxs("div",{className:"bg-white rounded-xl shadow-2xl border border-white/20 w-full max-w-lg",onClick:y=>y.stopPropagation(),children:[f.jsx("input",{ref:k,type:"text",value:F,onChange:y=>L(y.target.value),placeholder:"Search files by name...",className:"w-full px-4 py-3 text-sm font-mono border-b border-white/10 outline-none rounded-t-xl bg-transparent",onKeyDown:y=>{y.key==="Enter"&&I.length>0&&(G(I[0].path,I[0].name),D(!1)),y.key==="Escape"&&D(!1)}}),f.jsxs("div",{className:"max-h-64 overflow-y-auto",children:[I.slice(0,20).map(y=>f.jsxs("button",{onClick:()=>{G(y.path,y.name),D(!1)},className:"w-full text-left px-4 py-2 text-xs font-mono hover:bg-accent-product/5 flex items-center gap-2",children:[f.jsx("span",{className:`text-[10px] font-bold ${Ke(y.name)}`,children:Xe(y.name,"file")}),f.jsx("span",{className:"text-charcoal",children:y.name}),f.jsx("span",{className:"text-slate/40 ml-auto truncate text-[10px]",children:y.path})]},y.path)),I.length===0&&f.jsx("div",{className:"px-4 py-3 text-xs text-slate",children:"No matching files"})]})]})})]})}function eo(){const{sessionId:e}=on(),t=an(),[n,r]=u.useState(null),[o,i]=u.useState(!0),[l,a]=u.useState(null);return u.useEffect(()=>{e&&(i(!0),a(null),ne.getSessionDetail(e).then(s=>{r(s),i(!1)}).catch(s=>{a(s instanceof Error?s.message:"Failed to load session"),i(!1)}))},[e]),o?f.jsxs("div",{className:"h-screen bg-background flex flex-col",children:[f.jsx(Ae,{status:null,wsConnected:!1}),f.jsx("div",{className:"flex-1 flex items-center justify-center",children:f.jsxs("div",{className:"text-center",children:[f.jsx("div",{className:"text-slate animate-pulse text-sm",children:"Loading project..."}),f.jsx("div",{className:"text-[10px] font-mono text-slate/50 mt-2",children:e})]})})]}):l||!n?f.jsxs("div",{className:"h-screen bg-background flex flex-col",children:[f.jsx(Ae,{status:null,wsConnected:!1}),f.jsx("div",{className:"flex-1 flex items-center justify-center",children:f.jsxs("div",{className:"text-center",children:[f.jsx("p",{className:"text-danger text-sm font-medium",children:"Project not found"}),f.jsx("p",{className:"text-xs text-slate mt-1",children:l||`Session ${e} does not exist`}),f.jsx("button",{onClick:()=>t("/"),className:"mt-4 px-4 py-2 rounded-xl text-sm font-semibold border border-accent-product/30 text-accent-product hover:bg-accent-product/5 transition-all",children:"Back to Home"})]})})]}):f.jsxs("div",{className:"h-screen bg-background flex flex-col",children:[f.jsx(Ae,{status:null,wsConnected:!1}),f.jsx("div",{className:"flex-1 min-h-0",children:f.jsx(sn,{name:"ProjectWorkspace",children:f.jsx(Jr,{session:n,onClose:()=>t("/")})})})]})}export{eo as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*,: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:Inter,system-ui,-apple-system,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Fira Code,Cascadia Code,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}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.terminal-scroll::-webkit-scrollbar{width:6px}.terminal-scroll::-webkit-scrollbar-track{background:transparent}.terminal-scroll::-webkit-scrollbar-thumb{background:#3d52a033;border-radius:3px}.terminal-scroll::-webkit-scrollbar-thumb:hover{background:#3d52a059}.glass{background:#fff9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);border-radius:16px;box-shadow:0 8px 32px #3d52a014}.glass-subtle{background:#fff6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:12px;box-shadow:0 4px 16px #3d52a00f}.pattern-circles{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.04;background-image:radial-gradient(circle at 20% 30%,transparent 30%,#6C63FF 30.5%,transparent 31%),radial-gradient(circle at 80% 70%,transparent 25%,#6C63FF 25.5%,transparent 26%),radial-gradient(circle at 50% 50%,transparent 40%,#6C63FF 40.5%,transparent 41%);pointer-events:none}@keyframes phase-pulse{0%,to{opacity:1}50%{opacity:.5}}.phase-active{animation:phase-pulse 2s ease-in-out infinite}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.terminal-cursor:after{content:"";display:inline-block;width:8px;height:16px;background:#7091e6;animation:cursor-blink 1s step-end infinite;margin-left:2px;vertical-align:text-bottom}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.right-0{right:0}.top-0{top:0}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.col-span-5{grid-column:span 5 / span 5}.col-span-6{grid-column:span 6 / span 6}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.contents{display:contents}.h-1\.5{height:.375rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-28{height:7rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-40{max-height:10rem}.max-h-64{max-height:16rem}.max-h-\[400px\]{max-height:400px}.min-h-0{min-height:0px}.min-h-\[280px\]{min-height:280px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-28{width:7rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-8{width:2rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.max-w-3xl{max-width:48rem}.max-w-\[1920px\]{max-width:1920px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-accent-product{--tw-border-opacity: 1;border-color:rgb(108 99 255 / var(--tw-border-opacity, 1))}.border-accent-product\/20{border-color:#6c63ff33}.border-accent-product\/30{border-color:#6c63ff4d}.border-accent-product\/40{border-color:#6c63ff66}.border-danger\/20{border-color:#c45b5b33}.border-primary-wash\/30{border-color:#8697c44d}.border-primary\/20{border-color:#3d52a033}.border-slate\/20{border-color:#4f5d7533}.border-success\/20{border-color:#7fb06933}.border-surface\/50{border-color:#adbbda80}.border-warning\/10{border-color:#d4a03c1a}.border-warning\/20{border-color:#d4a03c33}.border-warning\/30{border-color:#d4a03c4d}.border-warning\/40{border-color:#d4a03c66}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.border-white\/30{border-color:#ffffff4d}.border-t-transparent{border-top-color:transparent}.bg-accent-product{--tw-bg-opacity: 1;background-color:rgb(108 99 255 / var(--tw-bg-opacity, 1))}.bg-accent-product\/10{background-color:#6c63ff1a}.bg-background{--tw-bg-opacity: 1;background-color:rgb(237 232 245 / var(--tw-bg-opacity, 1))}.bg-black\/30{background-color:#0000004d}.bg-black\/5{background-color:#0000000d}.bg-charcoal\/10{background-color:#2d31421a}.bg-charcoal\/5{background-color:#2d31420d}.bg-charcoal\/\[0\.03\]{background-color:#2d314208}.bg-danger{--tw-bg-opacity: 1;background-color:rgb(196 91 91 / var(--tw-bg-opacity, 1))}.bg-danger\/10{background-color:#c45b5b1a}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(61 82 160 / var(--tw-bg-opacity, 1))}.bg-primary-light{--tw-bg-opacity: 1;background-color:rgb(112 145 230 / var(--tw-bg-opacity, 1))}.bg-primary-wash\/20{background-color:#8697c433}.bg-primary\/10{background-color:#3d52a01a}.bg-slate{--tw-bg-opacity: 1;background-color:rgb(79 93 117 / var(--tw-bg-opacity, 1))}.bg-slate\/10{background-color:#4f5d751a}.bg-slate\/30{background-color:#4f5d754d}.bg-slate\/40{background-color:#4f5d7566}.bg-success{--tw-bg-opacity: 1;background-color:rgb(127 176 105 / var(--tw-bg-opacity, 1))}.bg-success\/10{background-color:#7fb0691a}.bg-surface{--tw-bg-opacity: 1;background-color:rgb(173 187 218 / var(--tw-bg-opacity, 1))}.bg-surface\/30{background-color:#adbbda4d}.bg-surface\/50{background-color:#adbbda80}.bg-transparent{background-color:transparent}.bg-warning{--tw-bg-opacity: 1;background-color:rgb(212 160 60 / var(--tw-bg-opacity, 1))}.bg-warning\/10{background-color:#d4a03c1a}.bg-warning\/5{background-color:#d4a03c0d}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/20{background-color:#fff3}.bg-white\/30{background-color:#ffffff4d}.bg-white\/40{background-color:#fff6}.fill-charcoal{fill:#2d3142}.fill-primary{fill:#3d52a0}.p-0{padding:0}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.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-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2\.5{padding-bottom:.625rem}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.pt-\[20vh\]{padding-top:20vh}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace}.font-sans{font-family:Inter,system-ui,-apple-system,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.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-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-accent-product{--tw-text-opacity: 1;color:rgb(108 99 255 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-charcoal{--tw-text-opacity: 1;color:rgb(45 49 66 / var(--tw-text-opacity, 1))}.text-charcoal\/60{color:#2d314299}.text-charcoal\/70{color:#2d3142b3}.text-charcoal\/80{color:#2d3142cc}.text-cyan-600{--tw-text-opacity: 1;color:rgb(8 145 178 / var(--tw-text-opacity, 1))}.text-danger{--tw-text-opacity: 1;color:rgb(196 91 91 / var(--tw-text-opacity, 1))}.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-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-primary{--tw-text-opacity: 1;color:rgb(61 82 160 / var(--tw-text-opacity, 1))}.text-primary-light{--tw-text-opacity: 1;color:rgb(112 145 230 / var(--tw-text-opacity, 1))}.text-primary-wash{--tw-text-opacity: 1;color:rgb(134 151 196 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-slate{--tw-text-opacity: 1;color:rgb(79 93 117 / var(--tw-text-opacity, 1))}.text-slate\/30{color:#4f5d754d}.text-slate\/40{color:#4f5d7566}.text-slate\/50{color:#4f5d7580}.text-slate\/60{color:#4f5d7599}.text-success{--tw-text-opacity: 1;color:rgb(127 176 105 / var(--tw-text-opacity, 1))}.text-warning{--tw-text-opacity: 1;color:rgb(212 160 60 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.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-glass{--tw-shadow: 0 8px 32px rgba(61,82,160,.08);--tw-shadow-colored: 0 8px 32px 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-glass-subtle{--tw-shadow: 0 4px 16px rgba(61,82,160,.06);--tw-shadow-colored: 0 4px 16px 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-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-accent-product\/20{--tw-shadow-color: rgb(108 99 255 / .2);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.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}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-500{transition-duration:.5s}.placeholder\:text-primary-wash::-moz-placeholder{--tw-text-opacity: 1;color:rgb(134 151 196 / var(--tw-text-opacity, 1))}.placeholder\:text-primary-wash::placeholder{--tw-text-opacity: 1;color:rgb(134 151 196 / var(--tw-text-opacity, 1))}.placeholder\:text-primary-wash\/70::-moz-placeholder{color:#8697c4b3}.placeholder\:text-primary-wash\/70::placeholder{color:#8697c4b3}.hover\:border-accent-product\/30:hover{border-color:#6c63ff4d}.hover\:bg-accent-product\/20:hover{background-color:#6c63ff33}.hover\:bg-accent-product\/30:hover{background-color:#6c63ff4d}.hover\:bg-accent-product\/5:hover{background-color:#6c63ff0d}.hover\:bg-accent-product\/90:hover{background-color:#6c63ffe6}.hover\:bg-danger\/20:hover{background-color:#c45b5b33}.hover\:bg-primary\/5:hover{background-color:#3d52a00d}.hover\:bg-warning\/10:hover{background-color:#d4a03c1a}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:bg-white\/30:hover{background-color:#ffffff4d}.hover\:bg-white\/40:hover{background-color:#fff6}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:text-accent-product:hover{--tw-text-opacity: 1;color:rgb(108 99 255 / var(--tw-text-opacity, 1))}.hover\:text-charcoal:hover{--tw-text-opacity: 1;color:rgb(45 49 66 / var(--tw-text-opacity, 1))}.hover\:text-danger:hover{--tw-text-opacity: 1;color:rgb(196 91 91 / var(--tw-text-opacity, 1))}.hover\:text-primary-light:hover{--tw-text-opacity: 1;color:rgb(112 145 230 / var(--tw-text-opacity, 1))}.hover\:text-primary\/80:hover{color:#3d52a0cc}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.focus\:border-accent-product\/30:focus{border-color:#6c63ff4d}.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-accent-product\/20:focus{--tw-ring-color: rgb(108 99 255 / .2)}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:text-accent-product{--tw-text-opacity: 1;color:rgb(108 99 255 / var(--tw-text-opacity, 1))}.group\/file:hover .group-hover\/file\:opacity-100{opacity:1}
|