@arach/arc 0.9.0 → 0.9.1

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.
@@ -1,6 +1,6 @@
1
1
  import { jsxs as j, jsx as a } from "react/jsx-runtime";
2
2
  import { useState as f, useRef as N, useMemo as Z, useEffect as C, useCallback as h } from "react";
3
- import { C as q, a as B, X as G, b as Q, v as V } from "./index-fGQsCHMy.js";
3
+ import { C as q, a as B, X as G, b as Q, v as V } from "./index-HRf_R0nb.js";
4
4
  const L = "arc-markup-width", u = 460, D = 280, ee = 0.68, P = 24;
5
5
  function T() {
6
6
  return typeof window > "u" ? u : Math.max(D, Math.round(window.innerWidth * ee));
package/lib/arc.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import { A as e, o, c as r, D as i, E as t, I as d, T as m, G as n, F as g, H as S, S as u, O as l, N as D, y as c, m as T, n as h, K as v, z as E, w as p, x as I, s as x, R as A, Q as B, B as C, J as L, p as M, q as f, r as y, P as F, t as O, M as R, L as w, i as H, d as P, l as Y, u as j, e as k, k as q, j as z, h as G, f as J, v as K } from "./index-fGQsCHMy.js";
1
+ import { A as e, o, c as r, D as i, E as t, I as d, T as m, G as n, F as g, H as S, S as u, O as l, N as D, y as c, m as T, n as h, K as v, z as E, w as p, x as I, s as x, R as A, Q as B, B as C, J as L, p as M, q as f, r as y, P as F, t as O, M as R, L as w, i as H, d as P, l as Y, u as j, e as k, k as q, j as z, h as G, f as J, v as K } from "./index-HRf_R0nb.js";
2
2
  export {
3
3
  e as ArcDiagram,
4
4
  o as ArcDiagramIsometric,
package/lib/arc.umd.js CHANGED
@@ -128,7 +128,7 @@ Avoid returning a new reference inside your input selector, e.g.
128
128
  bg-card
129
129
  ${e?"translate-y-0 opacity-100 pointer-events-auto":"translate-y-full opacity-0 pointer-events-none"}
130
130
  transition-all duration-300 ease-in-out
131
- `,style:{bottom:aA,height:p,zIndex:WP.zIndex.drawer,...xG},children:[m.jsxs("div",{className:"h-9 bg-card/80 border-b flex items-center justify-between px-3 shrink-0 select-none backdrop-blur-sm",style:xG,children:[m.jsxs("div",{className:"flex items-center gap-3",children:[a||m.jsxs("div",{className:"flex items-center gap-2 text-accent",children:[m.jsx(td,{size:14}),m.jsx("span",{className:"text-[10px] font-light tracking-[0.18em] font-mono uppercase",children:"TERMINAL"})]}),s]}),m.jsx("div",{className:"flex-1 flex items-center justify-center h-full cursor-ns-resize text-muted-foreground hover:text-foreground transition-colors group",title:"Drag to Resize",onMouseDown:h,children:m.jsx("div",{className:"w-16 h-1 rounded-full group-hover:bg-muted-foreground transition-colors",style:qve})}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("button",{onClick:n,className:"p-1.5 rounded hover:bg-accent/10 text-muted-foreground hover:text-foreground transition-colors",title:o?"Restore":"Maximize",children:o?m.jsx(M1,{size:14}):m.jsx(Ic,{size:14})}),m.jsx("button",{onClick:t,className:"p-1.5 rounded hover:bg-destructive/10 text-muted-foreground hover:text-destructive transition-colors",title:"Close",children:m.jsx(Jr,{size:14})})]})]}),m.jsx(GF.Provider,{value:Ide,children:m.jsxs("div",{"data-hudson-terminal-drawer-content":"true",className:"flex-1 relative overflow-hidden flex flex-col bg-transparent",children:[l,c&&m.jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-3 z-30 flex justify-center px-4",children:m.jsx("div",{className:"pointer-events-auto",children:c})})]})})]})},Fve=Bve,Yf={borderColor:"var(--hud-chrome-border, oklch(var(--border)))"},Hve={"--tw-ring-color":"color-mix(in srgb, var(--hud-accent, currentColor) 34%, transparent)"},Zve=({isOpen:e,onClose:t,commands:n})=>{const[o,r]=w.useState(""),[i,a]=w.useState(0),s=w.useId(),c=`${s}-listbox`,l=w.useRef(null),d=w.useRef(null),u=w.useRef(null),h=n.filter(k=>k.label.toLowerCase().includes(o.toLowerCase()));w.useEffect(()=>{e&&(HE.logger.info("hudson.command_palette.open",{category:"command",data:{commandCount:n.length}}),l.current?.focus({preventScroll:!0}),r(""),a(0))},[n.length,e]),w.useEffect(()=>{a(0)},[o]),w.useEffect(()=>{u.current?.scrollIntoView({behavior:"smooth",block:"nearest"})},[i]);const p=(k,O)=>{const x=HE.trace.start("hudson.command.execute",{category:"command",data:{commandId:k.id,surface:"command_palette",source:O,queryLength:o.length,resultCount:h.length}});try{k.action(),x.end(),t()}catch(_){throw x.error(_),_}},y=k=>{if((k.key==="ArrowDown"||k.key==="ArrowUp")&&h.length===0){k.preventDefault();return}k.key==="ArrowDown"?(k.preventDefault(),a(O=>(O+1)%h.length)):k.key==="ArrowUp"?(k.preventDefault(),a(O=>(O-1+h.length)%h.length)):k.key==="Enter"?(k.preventDefault(),h[i]&&p(h[i],"keyboard")):k.key==="Escape"&&t()},g=k=>{if(k.key!=="Tab")return;const O=d.current;if(!O)return;const x=Array.from(O.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter(S=>!S.hasAttribute("disabled")&&S.getAttribute("aria-hidden")!=="true");if(x.length===0){k.preventDefault();return}const _=x[0],v=x[x.length-1],M=document.activeElement;k.shiftKey?(M===_||!O.contains(M))&&(k.preventDefault(),v.focus()):M===v&&(k.preventDefault(),_.focus())},b=h[i]?`${s}-option-${i}`:void 0;return e?m.jsx("div",{className:"fixed inset-0 z-[100] flex items-start justify-center pt-[15vh] bg-background/45 backdrop-blur-[2px] pointer-events-auto",onClick:t,children:m.jsxs("div",{ref:d,role:"dialog","aria-modal":"true","aria-label":"Command palette",className:"w-[640px] max-w-[90vw] bg-popover border shadow-2xl rounded-lg overflow-hidden flex flex-col animate-in fade-in zoom-in-95 duration-100",style:Yf,onClick:k=>k.stopPropagation(),onKeyDown:g,children:[m.jsxs("div",{className:"flex items-center px-4 py-3 border-b gap-3 focus-within:ring-2 focus-within:outline-none",style:{...Yf,...Hve},children:[m.jsx(Yr,{className:"text-muted-foreground",size:16,strokeWidth:1.5,"aria-hidden":"true"}),m.jsx("input",{ref:l,className:"flex-1 bg-transparent border-none outline-none text-popover-foreground placeholder:text-muted-foreground font-mono text-[12px] font-normal",style:{boxShadow:"none"},placeholder:"Type a command or search",value:o,onChange:k=>r(k.target.value),onKeyDown:y,role:"combobox","aria-expanded":"true","aria-haspopup":"listbox","aria-controls":c,"aria-activedescendant":b,"aria-autocomplete":"list"}),m.jsx("div",{className:"px-1.5 py-0.5 rounded bg-muted border text-[10px] text-muted-foreground font-mono tracking-[0.12em]",style:Yf,"aria-hidden":"true",children:"ESC"})]}),m.jsxs("div",{className:"max-h-[300px] overflow-y-auto py-2 relative",children:[m.jsx("div",{id:c,role:"listbox","aria-label":"Command results",className:"pb-2",children:h.length===0?m.jsx("div",{className:"px-4 py-8 text-center text-muted-foreground text-[11px] font-mono",role:"status",children:"No matching commands"}):h.map((k,O)=>m.jsxs("div",{id:`${s}-option-${O}`,ref:O===i?u:null,role:"option","aria-selected":O===i,className:`px-4 py-2.5 flex items-center gap-3 cursor-pointer transition-colors ${O===i?"bg-accent/10 border-l-2 border-accent":"border-l-2 border-transparent hover:bg-muted/70"}`,onClick:()=>p(k,"pointer"),onMouseEnter:()=>a(O),children:[k.icon&&m.jsx("div",{className:`${O===i?"text-accent":"text-muted-foreground"}`,children:k.icon}),m.jsx("div",{className:"flex-1",children:m.jsx("div",{className:`text-[12px] ${O===i?"text-accent font-medium":"text-foreground/80 font-normal"}`,children:k.label})}),k.shortcut&&m.jsx("div",{className:"text-[10px] font-mono text-muted-foreground bg-muted px-1.5 py-0.5 rounded border tracking-[0.04em]",style:Yf,children:k.shortcut}),O===i&&m.jsx(a1,{size:14,className:"text-accent ml-2","aria-hidden":"true"})]},k.id))}),h.length>6&&m.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-8 bg-gradient-to-t from-popover to-transparent pointer-events-none"})]}),m.jsxs("div",{className:"px-4 py-1.5 bg-card/90 backdrop-blur-sm border-t flex justify-between items-center text-[10px] text-muted-foreground font-mono relative z-10 tracking-[0.18em] uppercase",style:Yf,children:[m.jsx("span",{children:"Command Palette"}),m.jsxs("span",{className:"tracking-[0.04em] normal-case",children:[h.length," matches"]})]})]})}):null},Xve=Zve,Rve=w.createContext(null);function Wve({value:e,children:t}){return m.jsx(Rve.Provider,{value:e,children:t})}var Gf=class extends w.Component{constructor(){super(...arguments),this.state={error:null},this.handleRetry=()=>{this.setState({error:null})}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[Hudson] ${this.props.appName}/${this.props.slotName} crashed:`,e,t.componentStack)}render(){return this.state.error?m.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 p-6 text-center h-full min-h-[120px]",children:[m.jsxs("div",{className:"text-[10px] font-mono uppercase tracking-widest text-red-400",children:[this.props.appName," / ",this.props.slotName]}),m.jsx("div",{className:"text-[11px] text-neutral-500 max-w-[280px] break-words",children:this.state.error.message||"An unexpected error occurred"}),m.jsx("button",{onClick:this.handleRetry,className:"mt-1 px-3 py-1 text-[10px] font-mono uppercase tracking-wider rounded bg-emerald-500/10 text-emerald-400 border border-emerald-500/20 hover:bg-emerald-500/20 transition-colors",children:"Retry"})]}):this.props.children}},Uve={nav:!0,statusBar:!0,leftPanel:!0,rightPanel:!0,palette:!0,terminal:!0,panelBehavior:{}},Yve=200,Gve=500,Kve=560,Jve=.45,e3e=500,t3e=900;function n3e(e,t){const n=e?.responsivePanelMax;if(!n)return;const{ratio:o,min:r,max:i}=n===!0?{}:n;return Math.min(i??t3e,Math.max(r??e3e,Math.floor(t*(o??Jve))))}function o3e(e,t,n){const o=e.layout,r=t==="left"?o?.left:o?.right,i=r?.max??o?.maxPanelWidth;return{min:r?.min??o?.minPanelWidth??Yve,max:i??n??Gve}}function Kf(e,t,n,o){const{min:r,max:i}=o3e(e,t,o);return Math.max(r,Math.min(i,n))}function r3e({app:e,assistant:t=!0,chrome:n,defaultTheme:o="system",defaultTemplate:r="hudson",managedTheme:i=!0,environment:a}){const s=E0();let c=m.jsx(aue,{instanceId:e.id,appId:e.id,children:m.jsx(e.Provider,{children:m.jsx(i3e,{app:e,assistantEnabled:t,chrome:n})})});return a?.routes&&(c=m.jsx(mde,{routes:a.routes,children:c})),!i||s?c:m.jsxs(m.Fragment,{children:[m.jsx(w2e,{defaultTheme:o,defaultTemplate:r}),m.jsx(Nde,{defaultTheme:o,defaultTemplate:r,children:c})]})}function i3e({app:e,assistantEnabled:t,chrome:n}){const o=E0(),r=w.useMemo(()=>({...Uve,...n}),[n]),i=r.panelBehavior??{},a=i.mode??"push",s=i.centerMinWidth??Kve,c=i.inspectorPin===!0&&a!=="overlay",{navTotalHeight:l}=PQ(),d=e.hooks.useCommands(),u=e.hooks.useStatus(),h=e.hooks.useStatusLeft?.()??null,p=e.hooks.useStatusRight?.()??null,y=e.hooks.useSearch?.()??null,g=e.hooks.useNavCenter?.()??null,b=e.hooks.useNavActions?.()??null,k=e.hooks.useLayoutMode?.()??e.mode,O=e.hooks.useActiveToolHint?.()??null,x=e.hooks.useTakeover?.()??null,_=e.hooks.useCodeSurface?.()??null,v=_?.placement??e.code?.placement??"workbench",M=_?.open===!0&&!!_.object&&v==="inspector",S=_?.open===!0&&!!_.object&&v==="workbench",C=w.useRef(!1),N=x?.active===!0,$=N&&x?.dismissible===!0,T=x?.onDismiss,P=e.slots.Takeover,[z,D]=Jn(`appshell.${e.id}.left`,!1),[E,Q]=Jn(`appshell.${e.id}.right`,!1),[F,V]=Jn(`appshell.${e.id}.leftW`,e.layout?.leftWidth??260),[W,L]=Jn(`appshell.${e.id}.rightW`,e.layout?.rightWidth??280),[B,q]=Jn(`appshell.${e.id}.rightOverlay`,!1,{enabled:c}),ce=!!e.layout?.responsivePanelMax||a==="auto",[Ce,R]=w.useState(()=>typeof window<"u"?window.innerWidth:1280);w.useEffect(()=>{if(!ce)return;const pe=()=>R(window.innerWidth);return pe(),window.addEventListener("resize",pe),()=>window.removeEventListener("resize",pe)},[ce]);const U=n3e(e.layout,Ce);w.useEffect(()=>{U!==void 0&&(V(pe=>Kf(e,"left",pe,U)),L(pe=>Kf(e,"right",pe,U)))},[e,U,V,L]);const[H,ue]=Jn(`appshell.${e.id}.codeWorkbenchSize`,"half"),[be,G]=Jn(`appshell.${e.id}.codeWorkbenchEditorWidth`,420),[oe,ne]=Jn(`appshell.${e.id}.codeWorkbenchChatWidth`,320),[le,re]=Jn(`appshell.${e.id}.codeSheetWidth`,720);w.useEffect(()=>{S&&!C.current&&!E&&Q(!0),C.current=S},[S,E,Q]);const[te,se]=w.useState({x:0,y:0}),[Ae,we]=w.useState(1),ge=w.useCallback(pe=>{se(et=>({x:et.x+pe.x,y:et.y+pe.y}))},[]),xe=w.useCallback(pe=>{we(pe)},[]),[De,me]=w.useState(!1),[Oe,de]=w.useState(!1),[Z,X]=Jn(`appshell.${e.id}.termH`,320),K=!!e.slots.Terminal,_e=w.useMemo(()=>{const pe=[];return K&&pe.push("terminal"),t&&pe.push("assistant"),pe},[K,t]),Pe=_e[0]??"terminal",[qe,Xe]=Jn(`appshell.${e.id}.drawerTab`,Pe),Ye=_e.includes(qe)?qe:Pe,[Le,Je]=w.useState(!1),[Qe,at]=w.useState(new Set),ft=w.useCallback(pe=>{at(et=>{const ln=new Set(et);return ln.has(pe)?ln.delete(pe):ln.add(pe),ln})},[]),Yt=w.useCallback(pe=>et=>{et.preventDefault();const ln=et.clientX,Cqe=pe==="left"?F:W,Nqe=pe==="left"?V:L,Lqe=pe==="left"?1:-1,dde=Pqe=>{const Iqe=(Pqe.clientX-ln)*Lqe;Nqe(Kf(e,pe,Cqe+Iqe,U))},ude=()=>{document.removeEventListener("mousemove",dde),document.removeEventListener("mouseup",ude)};document.addEventListener("mousemove",dde),document.addEventListener("mouseup",ude)},[e,F,W,U,V,L]),wt=k==="panel",he=r.leftPanel&&wt,Te=r.rightPanel&&wt,We=k==="focus"?"panel":k,Gt=De&&!Oe?Z:0,bt=!De||!Oe,Kn=r.nav?l:0,qn=r.statusBar?28:0,Y=he&&!z,fe=Te&&!E,Ee=c&&B,ze=Y?F:0,Fe=fe&&!Ee?W:0,ie=a==="auto"&&Ce-ze-Fe<s&&(ze>0||Fe>0),Ne=ie&&Fe>0,st=ie&&ze>0&&Ce-ze<s,_t=Y&&(a==="overlay"||st),Vt=fe&&(a==="overlay"||Ee||Ne),gn=_t?0:ze,fn=Vt?0:Fe,Cn=w.useMemo(()=>{if(!r.palette)return[];const pe=[];return r.leftPanel&&pe.push({id:"shell:toggle-left",label:"Toggle Left Panel",shortcut:"Cmd+[",action:()=>D(et=>!et)}),r.rightPanel&&pe.push({id:"shell:toggle-right",label:"Toggle Right Panel",shortcut:"Cmd+]",action:()=>Q(et=>!et)}),r.rightPanel&&c&&pe.push({id:"shell:toggle-right-overlay",label:"Toggle Inspector Overlay",shortcut:"Cmd+Shift+]",action:()=>q(et=>!et)}),r.terminal&&pe.push({id:"shell:toggle-terminal",label:"Toggle Terminal",shortcut:"Ctrl+`",action:()=>me(et=>!et)}),r.terminal&&t&&pe.push({id:"shell:toggle-assistant",label:"Toggle Assistant",shortcut:"Cmd+J",action:()=>{Xe("assistant"),me(et=>!et||qe!=="assistant")}}),_?.object&&pe.push({id:`shell:code-surface:${e.id}`,label:_.open?`Hide ${e.code?.label??_.label??"Code"}`:e.code?.commandLabel??e.code?.label??_.label??"View Code",icon:m.jsx(dr,{size:14}),action:()=>_.setOpen(!_.open)}),o&&pe.push({id:"shell:theme:light",label:"Theme: Light",action:()=>o.setTheme("light")},{id:"shell:theme:dark",label:"Theme: Dark",action:()=>o.setTheme("dark")},{id:"shell:theme:system",label:"Theme: System",action:()=>o.setTheme("system")},{id:"shell:template:hudson",label:"Template: Hudson",action:()=>o.setTemplate("hudson")},{id:"shell:template:editorial",label:"Template: Editorial",action:()=>o.setTemplate("editorial")},{id:"shell:template:drafting",label:"Template: Drafting",action:()=>o.setTemplate("drafting")}),pe},[qe,e.code?.commandLabel,e.code?.label,e.id,t,r.leftPanel,r.palette,r.rightPanel,r.terminal,_,c,Xe,D,Q,q,o]),Zo=w.useMemo(()=>[...d,...Cn],[d,Cn]);w.useEffect(()=>{const pe=et=>{N||(r.palette&&(et.metaKey||et.ctrlKey)&&et.key==="k"&&(et.preventDefault(),Je(!0)),r.leftPanel&&(et.metaKey||et.ctrlKey)&&et.key==="["&&(et.preventDefault(),D(ln=>!ln)),r.rightPanel&&(et.metaKey||et.ctrlKey)&&et.key==="]"&&(et.preventDefault(),c&&et.shiftKey?q(ln=>!ln):Q(ln=>!ln)),r.terminal&&et.ctrlKey&&et.key==="`"&&(et.preventDefault(),me(ln=>!ln)),r.terminal&&t&&(et.metaKey||et.ctrlKey)&&et.key==="j"&&(et.preventDefault(),Xe("assistant"),me(ln=>!(ln&&Ye==="assistant"))))};return window.addEventListener("keydown",pe),()=>window.removeEventListener("keydown",pe)},[D,Q,q,t,c,Ye,Xe,N,r.leftPanel,r.palette,r.rightPanel,r.terminal]);const DF=e.slots.Inspector,Jle=e.slots.RightPanel,xqe=e.tools&&e.tools.length>0,ede=_?.object?m.jsx("button",{type:"button",onClick:()=>_.setOpen(!_.open),className:`rounded p-1 transition-colors ${_.open?"bg-cyan-700/10 text-cyan-700 dark:bg-cyan-400/10 dark:text-cyan-200":"text-muted-foreground/80 hover:bg-muted/50 hover:text-foreground"}`,title:_.open?"Hide code":e.code?.label??_.label??"View code","aria-label":_.open?"Hide code":e.code?.label??_.label??"View code",children:m.jsx(dr,{size:12})}):null,tde=B?"Pin inspector (push content)":Ne?"Keep inspector floating when there is room":"Float inspector (overlay content)",nde=c?m.jsx("button",{type:"button",onClick:()=>q(pe=>Ne&&!pe?!0:!pe),className:"p-1 hover:bg-accent/10 rounded transition-colors text-muted-foreground hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",title:tde,"aria-label":tde,children:Vt?m.jsx(T1,{size:12}):m.jsx(E1,{size:12})}):null,Oqe=nde||ede||e.rightPanel?.headerActions?m.jsxs("div",{className:"flex items-center gap-1",children:[nde,ede,e.rightPanel?.headerActions&&m.jsx(e.rightPanel.headerActions,{})]}):void 0,vqe=m.jsxs(m.Fragment,{children:[M&&_?.object&&m.jsx(xz,{object:_.object,placement:"inspector",onClose:()=>_.setOpen(!1),className:"min-h-[420px]"}),DF&&m.jsx(Gf,{appName:e.name,slotName:"Inspector",children:m.jsx(DF,{})}),!DF&&Jle&&m.jsx(Gf,{appName:e.name,slotName:"RightPanel",children:m.jsx(Jle,{})}),xqe&&m.jsx("div",{className:"border-t border-border/60",children:e.tools.map(pe=>{const et=Qe.has(pe.id);return m.jsxs("div",{children:[m.jsxs("button",{onClick:()=>ft(pe.id),className:`w-full flex items-center gap-2 px-4 py-2.5 text-[10px] font-mono tracking-[0.18em] uppercase transition-colors hover:bg-accent/10 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset focus-visible:outline-none ${O===pe.id?"text-accent":"text-muted-foreground"}`,children:[et?m.jsx(t1,{size:10}):m.jsx(n1,{size:10}),m.jsx("span",{className:"text-muted-foreground/70",children:pe.icon}),m.jsx("span",{className:(O===pe.id,""),children:pe.name})]}),et&&m.jsx("div",{className:"px-4 pb-3",children:m.jsx(pe.Component,{})})]},pe.id)})})]}),wqe=e.slots.LeftFooter?m.jsx(Gf,{appName:e.name,slotName:"LeftFooter",children:m.jsx(e.slots.LeftFooter,{})}):void 0,_qe=r.palette?m.jsx(Vve,{onOpenCommandPalette:()=>Je(!0)}):void 0,ode=w.useRef(null),rde=w.useRef(null);w.useEffect(()=>{const pe=ode.current;pe&&(N?pe.setAttribute("inert",""):pe.removeAttribute("inert"))},[N]),w.useEffect(()=>{if(!N)return;const pe=rde.current;if(pe&&(pe.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')??pe).focus(),!$)return;const et=ln=>{ln.key==="Escape"&&(ln.preventDefault(),T?.())};return window.addEventListener("keydown",et),()=>window.removeEventListener("keydown",et)},[N,$,T]);const Mqe=We==="panel"?{position:"absolute",top:Kn,bottom:qn,left:gn,right:fn,overflow:"auto",transition:"top 200ms ease, bottom 200ms ease, left 200ms ease, right 200ms ease"}:{},jE=r.terminal,VE=r.palette,ide=w.useMemo(()=>({isOpen:jE&&De,activeTab:_e.length>0?Ye:null,availableTabs:_e,isMaximized:Oe,height:Z,open:pe=>{jE&&(pe&&_e.includes(pe)&&Xe(pe),me(!0))},close:()=>me(!1),toggle:pe=>{jE&&me(et=>et?pe&&_e.includes(pe)&&Ye!==pe?(Xe(pe),!0):!1:(pe&&_e.includes(pe)&&Xe(pe),!0))},setTab:pe=>{_e.includes(pe)&&Xe(pe)},maximize:()=>de(pe=>!pe),setHeight:pe=>X(pe)}),[jE,De,_e,Ye,Oe,Z,Xe,me,de,X]),ade=w.useMemo(()=>({isOpen:VE&&Le,open:()=>{VE&&Je(!0)},close:()=>Je(!1),toggle:()=>{VE&&Je(pe=>!pe)}}),[VE,Le]),sde=w.useMemo(()=>({isCollapsed:he?z:!0,width:F,isFloating:_t,toggle:()=>D(pe=>!pe),setCollapsed:pe=>D(pe),setWidth:pe=>V(Kf(e,"left",pe,U))}),[e,he,z,F,_t,U,D,V]),QF=w.useMemo(()=>c?{isPinned:!B,toggle:()=>q(pe=>!pe),setPinned:pe=>q(!pe)}:void 0,[c,B,q]),cde=w.useMemo(()=>({isCollapsed:Te?E:!0,width:W,isFloating:Vt,toggle:()=>Q(pe=>!pe),setCollapsed:pe=>Q(pe),setWidth:pe=>L(Kf(e,"right",pe,U)),...QF?{pin:QF}:{}}),[e,Te,E,W,Vt,QF,U,Q,L]),Sqe=w.useMemo(()=>({drawer:ide,palette:ade,leftPanel:sde,rightPanel:cde}),[ide,ade,sde,cde]),$qe=m.jsxs(m.Fragment,{children:[m.jsx("div",{ref:ode,"aria-hidden":N?!0:void 0,style:{display:"contents"},children:m.jsx(Lve,{mode:We,panOffset:te,scale:Ae,onPan:ge,onZoom:xe,zoomControlsRightOffset:wt&&!E&&!Vt?W:0,zoomControlsBottomOffset:Gt,showZoomControls:bt,hud:m.jsxs(m.Fragment,{children:[r.nav&&m.jsx(Ave,{title:e.name.toUpperCase(),subtitle:e.icon,search:y??void 0,center:g,actions:m.jsxs(m.Fragment,{children:[b,_?.object&&e.code?.navAction===!0&&m.jsx("button",{type:"button",onClick:()=>_.setOpen(!_.open),className:`p-1.5 rounded border transition-colors ${_.open?"border-cyan-700/25 bg-cyan-700/10 text-cyan-700 dark:border-cyan-300/20 dark:bg-cyan-400/10 dark:text-cyan-200":"border-transparent text-foreground/70 hover:bg-muted hover:text-foreground hover:border-border"}`,title:_.open?"Hide code":e.code?.label??_.label??"View code","aria-label":_.open?"Hide code":e.code?.label??_.label??"View code",children:m.jsx(dr,{size:14})})]})}),he&&m.jsx(kG,{side:"left",title:e.leftPanel?.title??"Navigation",icon:e.leftPanel?.icon,isCollapsed:z,onToggleCollapse:()=>D(!z),width:F,onResizeStart:Yt("left"),floating:_t,footer:wqe,headerActions:e.leftPanel?.headerActions&&m.jsx(e.leftPanel.headerActions,{}),style:{top:Kn,bottom:qn},children:e.slots.LeftPanel&&m.jsx(Gf,{appName:e.name,slotName:"LeftPanel",children:m.jsx(e.slots.LeftPanel,{})})}),Te&&m.jsx(kG,{side:"right",title:e.rightPanel?.title??"Inspector",icon:e.rightPanel?.icon,isCollapsed:E,onToggleCollapse:()=>Q(!E),width:W,onResizeStart:Yt("right"),floating:Vt,footer:_qe,headerActions:Oqe,style:{top:Kn,bottom:qn},children:vqe}),r.statusBar&&m.jsx(Qve,{status:u,left:h,right:p,onToggleTerminal:r.terminal?()=>me(pe=>!pe):void 0,isTerminalOpen:r.terminal?De:!1}),r.terminal&&m.jsx("div",{className:"pointer-events-none",style:{position:"fixed",left:gn,right:fn,bottom:0,top:0,zIndex:45,transition:"left 200ms ease, right 200ms ease",transform:"translateZ(0)"},children:m.jsxs(Fve,{isOpen:De,onClose:()=>me(!1),onToggleMaximize:()=>de(pe=>!pe),isMaximized:Oe,height:Z,onHeightChange:X,title:m.jsx(a3e,{tabs:_e,active:Ye,onSelect:Xe}),children:[Ye==="terminal"&&(e.slots.Terminal?m.jsx(e.slots.Terminal,{}):m.jsx("div",{className:"p-4 font-mono text-[12px] text-muted-foreground",children:"No terminal content"})),Ye==="assistant"&&m.jsx(x2e,{app:e,commands:d})]})}),_?.open&&_.object&&v==="sheet"&&m.jsx("div",{className:"pointer-events-auto fixed bottom-7 right-0 top-12 z-[44]","aria-label":e.code?.label??_.label??"Object code",children:m.jsx(xz,{object:_.object,placement:"sheet",onClose:()=>_.setOpen(!1),width:le,onWidthChange:re})}),_?.open&&_.object&&v==="workbench"&&m.jsx("div",{className:"pointer-events-none fixed bottom-7 top-12 z-[44]",style:{left:H==="full"?0:gn,right:H==="full"?0:fn},"aria-label":e.code?.label??_.label??"Object code",children:m.jsx(Y2e,{object:_.object,size:H,onSizeChange:ue,onClose:()=>_.setOpen(!1),chat:_.chat,editorWidth:be,chatWidth:oe,onEditorWidthChange:G,onChatWidthChange:ne})}),r.palette&&m.jsx(Xve,{isOpen:Le,onClose:()=>Je(!1),commands:Zo})]}),children:m.jsx("div",{style:Mqe,className:"frame-scrollbar select-text",children:m.jsx(Gf,{appName:e.name,slotName:"Content",children:m.jsx(e.slots.Content,{})})})})}),N&&P?m.jsx("div",{ref:rde,tabIndex:-1,role:"dialog","aria-modal":"true",style:{position:"fixed",inset:0,zIndex:80,outline:"none"},children:m.jsx(P,{})}):null]}),lde=m.jsx(Wve,{value:Sqe,children:$qe});return o?m.jsx("div",{...o.resolvedTheme?{"data-hudson-theme":o.resolvedTheme}:{},"data-hudson-template":o.template,children:lde}):lde}function a3e({tabs:e,active:t,onSelect:n}){return e.length===0?null:m.jsx("div",{className:"flex items-center gap-0.5",children:e.map(o=>{const r=o===t,i=o==="terminal"?td:Gr,a=o==="terminal"?"TERMINAL":"ASSISTANT",s=o==="terminal"?"text-accent bg-accent/10":"text-info bg-info/10";return m.jsxs("button",{type:"button",onClick:()=>n(o),className:`flex items-center gap-1.5 px-2.5 py-1 rounded text-[10px] tracking-[0.18em] uppercase font-mono transition-colors focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none ${r?s:"text-muted-foreground hover:text-foreground hover:bg-muted/70 font-normal"}`,children:[m.jsx(i,{size:12}),m.jsx("span",{children:a})]},o)})})}const s3e="0.9.0",c3e={width:1600,height:900},OG={enabled:!0,size:24,color:"#71717a",opacity:.1,type:"dots"},l3e=[{name:"Zinc",value:"#71717a"},{name:"Sky",value:"#38bdf8"},{name:"Violet",value:"#a78bfa"},{name:"Emerald",value:"#34d399"}],Nt={xs:{width:80,height:36},s:{width:110,height:48},m:{width:160,height:75},l:{width:220,height:90}},d3e={xpc:{color:"emerald",strokeWidth:2,label:"XPC"},http:{color:"amber",strokeWidth:2,label:"HTTP"},tailscale:{color:"zinc",strokeWidth:2,label:"Tailscale"},cloudkit:{color:"sky",strokeWidth:2,label:"CloudKit",dashed:!0},audio:{color:"emerald",strokeWidth:3,label:"audio"},peer:{color:"zinc",strokeWidth:1.5,dashed:!0}},u3e=["top","right","bottom","left","bottomRight","bottomLeft"],vG=["violet","emerald","blue","amber","zinc","sky"],nh={violet:"#7c6bcf",emerald:"#1f7a65",blue:"#2e5fa5",amber:"#c4922a",zinc:"#6b757a",sky:"#3d8fd1"},h3e=["xs","s","m","l"],Ji=0;function f3e(e,t){const n=e[t];if(!n)return null;const o=Nt[n.size]||Nt.m;return{...n,...o}}function Jf(e,t,n){const o=f3e(e,t);if(!o)return{x:0,y:0};switch(n){case"left":return{x:o.x-Ji,y:o.y+o.height/2};case"right":return{x:o.x+o.width+Ji,y:o.y+o.height/2};case"top":return{x:o.x+o.width/2,y:o.y-Ji};case"bottom":return{x:o.x+o.width/2,y:o.y+o.height+Ji};case"bottomRight":return{x:o.x+o.width+Ji,y:o.y+o.height-15};case"bottomLeft":return{x:o.x-Ji,y:o.y+o.height-15};case"topRight":return{x:o.x+o.width+Ji,y:o.y+15};case"topLeft":return{x:o.x-Ji,y:o.y+15};default:return{x:o.x+o.width/2,y:o.y+o.height/2}}}const p3e=["top","right","bottom","left"];function m3e(e,t,n,o){let r="right",i=1/0;for(const a of p3e){const s=Jf(e,t,a),c=(s.x-n)**2+(s.y-o)**2;c<i&&(i=c,r=a)}return r}function wG(e,t,n){let o=null;for(const[r,i]of Object.entries(e)){if(!t[r])continue;const a=Nt[i.size]||Nt.m,s=i.width||a.width,c=i.height||a.height;n.x>=i.x&&n.x<=i.x+s&&n.y>=i.y&&n.y<=i.y+c&&(o=r)}return o}function y3e(e,t){return{x:(e.x+t.x)/2,y:(e.y+t.y)/2}}function _G(){return`node_${crypto.randomUUID().slice(0,8)}`}function MG(e,t,n){let o=1/0,r=1/0,i=-1/0,a=-1/0,s=!1;for(const c of Object.values(e)){const l=Nt[c.size]||Nt.m,d=c.width||l.width,u=c.height||l.height;o=Math.min(o,c.x),r=Math.min(r,c.y),i=Math.max(i,c.x+d),a=Math.max(a,c.y+u),s=!0}for(const c of t||[])o=Math.min(o,c.x),r=Math.min(r,c.y),i=Math.max(i,c.x+c.width),a=Math.max(a,c.y+c.height),s=!0;for(const c of n||[])o=Math.min(o,c.x),r=Math.min(r,c.y),i=Math.max(i,c.x+c.width),a=Math.max(a,c.y+c.height),s=!0;return s?{minX:o,minY:r,maxX:i,maxY:a}:null}const SG={Monitor:$1,Server:q1,Smartphone:X1,Watch:ef,Cloud:r1,Cpu:s1,Database:l1,HardDrive:g1,Wifi:tf,Globe:m1,User:Y1,Users:G1,Lock:v1,Key:x1,Shield:H1,Mic:bu,Camera:e1,Speaker:R1,Headphones:k1,Code:i1,Terminal:td,FileCode:mu,Folder:f1,Zap:nf,Activity:Yh,BarChart:xi,PieChart:Oi,ArrowRight:Kh,ArrowDown:Gh,RefreshCw:_u,Repeat:D1,Box:Xr,Package:C1,Layers:Ur,Grid:No,Settings:B1,Bell:Jh,Mail:w1,MessageSquare:Tc,Search:Yr,Filter:_i,Download:d1,Upload:U1,Play:z1,Pause:A1,Square:Pi,Circle:Ps},$G=Object.keys(SG);function sA(e){return SG[e]||Xr}const g3e="Box",IQ={talkie:{id:"talkie",name:"Talkie Docs",description:"Dark theme matching Talkie documentation",canvas:{background:"bg-zinc-950",border:"border-zinc-800",grid:{color:"rgb(113 113 122)",size:24,opacity:.1}},node:{background:"bg-zinc-900",border:"border-zinc-800",borderRadius:"rounded-xl",accentPosition:"left",accentWidth:4,textColor:"text-white",subtitleStyle:"colored",descriptionColor:"text-zinc-500",iconBackground:"bg-zinc-900",iconBorderStyle:"colored"},connector:{defaultDashed:!0,defaultStrokeWidth:2,arrowStyle:"filled",labelFont:"ui-monospace, monospace",labelSize:11}},blueprint:{id:"blueprint",name:"Blueprint",description:"Technical blueprint style with blue tones",canvas:{background:"bg-slate-900",border:"border-slate-700",grid:{color:"rgb(71 85 105)",size:20,opacity:.2}},node:{background:"bg-slate-800/80",border:"border-slate-600",borderRadius:"rounded-lg",accentPosition:"top",accentWidth:3,textColor:"text-slate-100",subtitleStyle:"muted",descriptionColor:"text-slate-400",iconBackground:"bg-slate-700/50",iconBorderStyle:"muted"},connector:{defaultDashed:!1,defaultStrokeWidth:2,arrowStyle:"filled",labelFont:"ui-sans-serif, system-ui",labelSize:10}},light:{id:"light",name:"Light Mode",description:"Clean light theme for documents",canvas:{background:"bg-white",border:"border-zinc-200",grid:{color:"rgb(161 161 170)",size:24,opacity:.15}},node:{background:"bg-white",border:"border-zinc-200",borderRadius:"rounded-xl",accentPosition:"left",accentWidth:4,textColor:"text-zinc-900",subtitleStyle:"colored",descriptionColor:"text-zinc-500",iconBackground:"bg-zinc-50",iconBorderStyle:"colored"},connector:{defaultDashed:!0,defaultStrokeWidth:2,arrowStyle:"filled",labelFont:"ui-monospace, monospace",labelSize:11}},minimal:{id:"minimal",name:"Minimal",description:"Simple and clean with subtle styling",canvas:{background:"bg-zinc-900",border:"border-zinc-800",grid:{color:"transparent",size:0,opacity:0}},node:{background:"bg-zinc-800/60",border:"border-zinc-700/50",borderRadius:"rounded-2xl",accentPosition:"none",accentWidth:0,textColor:"text-zinc-100",subtitleStyle:"muted",descriptionColor:"text-zinc-500",iconBackground:"bg-transparent",iconBorderStyle:"none"},connector:{defaultDashed:!1,defaultStrokeWidth:1.5,arrowStyle:"outline",labelFont:"ui-sans-serif, system-ui",labelSize:10}}},CG="talkie";function NG(e){return IQ[e]||IQ[CG]}function k3e(){return Object.values(IQ).map(e=>({id:e.id,name:e.name,description:e.description}))}const LG=()=>({layout:{...c3e},grid:{...OG},nodes:{},nodeData:{},connectors:[],connectorStyles:{...d3e},groups:[],images:[],exportZone:null}),ep={diagram:LG(),editor:{selectedNodeIds:[],selectedConnectorIndex:null,selectedGroupId:null,selectedImageId:null,mode:"select",pendingConnector:null,pendingGroup:null,isDragging:!1,dragOffset:{x:0,y:0},dragNodeOffsets:{},template:CG,zoom:1,viewMode:"2d",isoStyle:"solid",themeId:"command",colorMode:"dark"},meta:{filename:null,isDirty:!1,lastSaved:null,diagramMeta:{}},history:{past:[],future:[]}};function Jt(e){return{...e,history:{past:[...e.history.past.slice(-49),e.diagram],future:[]},meta:{...e.meta,isDirty:!0}}}function b3e(e,t){switch(t.type){case"node/add":{const{position:n,nodeData:o}=t,r=_G(),i=Jt(e);return{...i,diagram:{...i.diagram,nodes:{...i.diagram.nodes,[r]:{x:n.x,y:n.y,size:"m"}},nodeData:{...i.diagram.nodeData,[r]:{icon:g3e,name:"New Node",subtitle:"",description:"",color:"violet",...o}}},editor:{...i.editor,selectedNodeIds:[r],selectedConnectorIndex:null,mode:"select"}}}case"node/duplicate":{const n=t.nodeId,o=e.diagram.nodes[n],r=e.diagram.nodeData[n];if(!o||!r)return e;const i=_G(),a=Jt(e);return{...a,diagram:{...a.diagram,nodes:{...a.diagram.nodes,[i]:{...o,x:o.x+24,y:o.y+24}},nodeData:{...a.diagram.nodeData,[i]:{...r}}},editor:{...a.editor,selectedNodeIds:[i],selectedConnectorIndex:null,selectedGroupId:null,selectedImageId:null}}}case"node/remove":{const{nodeId:n}=t,o=Jt(e),{[n]:r,...i}=o.diagram.nodes,{[n]:a,...s}=o.diagram.nodeData,c=o.diagram.connectors.filter(l=>l.from!==n&&l.to!==n);return{...o,diagram:{...o.diagram,nodes:i,nodeData:s,connectors:c},editor:{...o.editor,selectedNodeIds:[],selectedConnectorIndex:null}}}case"node/move":{const{nodeId:n,x:o,y:r}=t;return{...e,diagram:{...e.diagram,nodes:{...e.diagram.nodes,[n]:{...e.diagram.nodes[n],x:o,y:r}}},meta:{...e.meta,isDirty:!0}}}case"nodes/move":{const{moves:n}=t,o={...e.diagram.nodes};for(const{nodeId:r,x:i,y:a}of n)o[r]&&(o[r]={...o[r],x:i,y:a});return{...e,diagram:{...e.diagram,nodes:o},meta:{...e.meta,isDirty:!0}}}case"node/update":{const{nodeId:n,updates:o}=t,r=Jt(e),i={...r.diagram.nodeData[n],...o};for(const a of Object.keys(o))o[a]===void 0&&delete i[a];return{...r,diagram:{...r.diagram,nodeData:{...r.diagram.nodeData,[n]:i}}}}case"node/resize":{const{nodeId:n,size:o,width:r,height:i}=t,a=Jt(e),c={...a.diagram.nodes[n]};return o!==void 0&&(c.size=o,delete c.width,delete c.height),r!==void 0&&(c.width=r),i!==void 0&&(c.height=i),{...a,diagram:{...a.diagram,nodes:{...a.diagram.nodes,[n]:c}}}}case"node/updatePosition":{const{nodeId:n,updates:o}=t,r=Jt(e),a={...r.diagram.nodes[n],...o};for(const s of Object.keys(o))o[s]===void 0&&delete a[s];return{...r,diagram:{...r.diagram,nodes:{...r.diagram.nodes,[n]:a}}}}case"connector/add":{const{from:n,to:o,fromAnchor:r,toAnchor:i,style:a="http"}=t,s=Jt(e);return{...s,diagram:{...s.diagram,connectors:[...s.diagram.connectors,{from:n,to:o,fromAnchor:r,toAnchor:i,style:a}]},editor:{...s.editor,selectedNodeIds:[],selectedConnectorIndex:s.diagram.connectors.length,mode:"select",pendingConnector:null}}}case"connector/remove":{const{index:n}=t,o=Jt(e);return{...o,diagram:{...o.diagram,connectors:o.diagram.connectors.filter((r,i)=>i!==n)},editor:{...o.editor,selectedConnectorIndex:null}}}case"connector/update":{const{index:n,updates:o}=t,r=Jt(e);return{...r,diagram:{...r.diagram,connectors:r.diagram.connectors.map((i,a)=>a===n?{...i,...o}:i)}}}case"connectorStyle/update":{const{styleName:n,updates:o}=t,r=Jt(e);return{...r,diagram:{...r.diagram,connectorStyles:{...r.diagram.connectorStyles,[n]:{...r.diagram.connectorStyles[n],...o}}}}}case"connectorStyle/add":{const{styleName:n,style:o}=t,r=Jt(e);return{...r,diagram:{...r.diagram,connectorStyles:{...r.diagram.connectorStyles,[n]:o}}}}case"connectorStyle/delete":{const{styleName:n}=t,o=Jt(e),{[n]:r,...i}=o.diagram.connectorStyles;return{...o,diagram:{...o.diagram,connectorStyles:i}}}case"group/add":{const{group:n}=t,o=`group_${crypto.randomUUID().slice(0,8)}`,r=Jt(e),i=r.diagram.groups||[];return{...r,diagram:{...r.diagram,groups:[...i,{id:o,...n}]},editor:{...r.editor,selectedGroupId:o,selectedNodeIds:[],selectedConnectorIndex:null}}}case"group/update":{const{groupId:n,updates:o}=t,r=Jt(e),i=r.diagram.groups||[];return{...r,diagram:{...r.diagram,groups:i.map(a=>a.id===n?{...a,...o}:a)}}}case"group/remove":{const{groupId:n}=t,o=Jt(e),r=o.diagram.groups||[];return{...o,diagram:{...o.diagram,groups:r.filter(i=>i.id!==n)},editor:{...o.editor,selectedGroupId:null}}}case"select/group":return{...e,editor:{...e.editor,selectedGroupId:t.groupId,selectedNodeIds:[],selectedConnectorIndex:null,selectedImageId:null}};case"image/add":{const{image:n}=t,o=`img_${crypto.randomUUID().slice(0,8)}`,r=Jt(e),i=r.diagram.images||[];return{...r,diagram:{...r.diagram,images:[...i,{id:o,...n}]},editor:{...r.editor,selectedImageId:o,selectedNodeIds:[],selectedConnectorIndex:null,selectedGroupId:null}}}case"image/update":{const{imageId:n,updates:o}=t,r=Jt(e),i=r.diagram.images||[];return{...r,diagram:{...r.diagram,images:i.map(a=>a.id===n?{...a,...o}:a)}}}case"image/remove":{const{imageId:n}=t,o=Jt(e),r=o.diagram.images||[];return{...o,diagram:{...o.diagram,images:r.filter(i=>i.id!==n)},editor:{...o.editor,selectedImageId:null}}}case"select/image":return{...e,editor:{...e.editor,selectedImageId:t.imageId,selectedNodeIds:[],selectedConnectorIndex:null,selectedGroupId:null}};case"exportZone/set":{const{zone:n}=t;return{...e,diagram:{...e.diagram,exportZone:n},meta:{...e.meta,isDirty:!0}}}case"exportZone/clear":return{...e,diagram:{...e.diagram,exportZone:null},meta:{...e.meta,isDirty:!0}};case"select/node":{const{nodeId:n,addToSelection:o}=t;let r;return o?e.editor.selectedNodeIds.includes(n)?r=e.editor.selectedNodeIds.filter(i=>i!==n):r=[...e.editor.selectedNodeIds,n]:r=[n],{...e,editor:{...e.editor,selectedNodeIds:r,selectedConnectorIndex:null,selectedGroupId:null,selectedImageId:null}}}case"select/nodes":return{...e,editor:{...e.editor,selectedNodeIds:t.nodeIds,selectedConnectorIndex:null,selectedGroupId:null,selectedImageId:null}};case"select/connector":return{...e,editor:{...e.editor,selectedNodeIds:[],selectedConnectorIndex:t.index,selectedGroupId:null,selectedImageId:null}};case"select/clear":return{...e,editor:{...e.editor,selectedNodeIds:[],selectedConnectorIndex:null,selectedGroupId:null,selectedImageId:null}};case"mode/set":return{...e,editor:{...e.editor,mode:t.mode,pendingConnector:null,selectedNodeIds:[],selectedConnectorIndex:null}};case"pending/set":return{...e,editor:{...e.editor,pendingConnector:t.pendingConnector}};case"pending/clear":return{...e,editor:{...e.editor,pendingConnector:null}};case"drag/start":{const{offset:n,nodeOffsets:o,selectedIds:r}=t;return{...e,editor:{...e.editor,isDragging:!0,dragOffset:n,dragNodeOffsets:o||{},selectedNodeIds:r||e.editor.selectedNodeIds,selectedConnectorIndex:null,selectedGroupId:null,selectedImageId:null}}}case"drag/end":{const n=Jt(e);return{...n,editor:{...n.editor,isDragging:!1,dragOffset:{x:0,y:0},dragNodeOffsets:{}}}}case"diagram/replace":{const n=t.diagram||{};return{...Jt(e),diagram:{...e.diagram,layout:n.layout??e.diagram.layout,nodes:n.nodes??{},nodeData:n.nodeData??{},connectors:n.connectors??[],connectorStyles:n.connectorStyles??e.diagram.connectorStyles,groups:n.groups??[],focusTargets:n.focusTargets},editor:{...e.editor,selectedNodeIds:(e.editor.selectedNodeIds||[]).filter(o=>n.nodes&&Object.prototype.hasOwnProperty.call(n.nodes,o)),selectedConnectorIndex:null}}}case"diagram/load":return{...e,diagram:t.diagram,meta:{filename:t.filename||null,isDirty:!1,lastSaved:null,diagramMeta:t.diagramMeta||e.meta.diagramMeta||{}},history:{past:[],future:[]},editor:{...e.editor,selectedNodeIds:[],selectedConnectorIndex:null,mode:"select",pendingConnector:null,themeId:t.diagramMeta?.themeId??e.editor.themeId,colorMode:t.diagramMeta?.colorMode??e.editor.colorMode}};case"diagram/new":return{...ep,diagram:LG(),editor:{...ep.editor,themeId:null,colorMode:"dark"},meta:{...ep.meta,diagramMeta:{}}};case"diagram/saved":return{...e,meta:{...e.meta,filename:t.filename||e.meta.filename,isDirty:!1,lastSaved:new Date().toISOString()}};case"undo":{if(e.history.past.length===0)return e;const n=e.history.past[e.history.past.length-1],o=e.history.past.slice(0,-1);return{...e,diagram:n,history:{past:o,future:[e.diagram,...e.history.future]},meta:{...e.meta,isDirty:!0}}}case"redo":{if(e.history.future.length===0)return e;const n=e.history.future[0],o=e.history.future.slice(1);return{...e,diagram:n,history:{past:[...e.history.past,e.diagram],future:o},meta:{...e.meta,isDirty:!0}}}case"layout/update":{const n=Jt(e);return{...n,diagram:{...n.diagram,layout:{...n.diagram.layout,...t.updates}}}}case"layout/expand":{const o=s=>Math.ceil(s/20)*20,r=e.diagram.layout,i=Math.max(r.width,o(t.width||r.width)),a=Math.max(r.height,o(t.height||r.height));return i===r.width&&a===r.height?e:{...e,diagram:{...e.diagram,layout:{...r,width:i,height:a}},meta:{...e.meta,isDirty:!0}}}case"grid/update":return{...e,diagram:{...e.diagram,grid:{...e.diagram.grid,...t.updates}}};case"template/set":{const n=NG(t.templateId);return{...e,diagram:{...e.diagram,grid:{...e.diagram.grid,color:n.canvas.grid.color,size:n.canvas.grid.size,opacity:n.canvas.grid.opacity}},editor:{...e.editor,template:t.templateId},meta:{...e.meta,isDirty:!0}}}case"zoom/set":return{...e,editor:{...e.editor,zoom:Math.min(2,Math.max(.25,t.zoom))}};case"viewMode/set":return{...e,editor:{...e.editor,viewMode:t.viewMode},meta:{...e.meta,diagramMeta:{...e.meta.diagramMeta,viewMode:t.viewMode}}};case"isoStyle/set":return{...e,editor:{...e.editor,isoStyle:t.isoStyle},meta:{...e.meta,isDirty:!0,diagramMeta:{...e.meta.diagramMeta,isoStyle:t.isoStyle}}};case"theme/set":return{...e,editor:{...e.editor,themeId:t.themeId},meta:{...e.meta,isDirty:!0,diagramMeta:{...e.meta.diagramMeta,themeId:t.themeId}}};case"colorMode/set":return{...e,editor:{...e.editor,colorMode:t.colorMode},meta:{...e.meta,diagramMeta:{...e.meta.diagramMeta,colorMode:t.colorMode}}};case"diagramMeta/set":return{...e,meta:{...e.meta,diagramMeta:{...e.meta.diagramMeta,...t.diagramMeta}}};default:return e}}function PG(e){if(e?.nodeRadius!=null)return e.nodeRadius;switch(e?.nodeShape){case"square":return"0px";case"chamfer":case"notch":return"0px";case"pill":return"9999px";default:return}}const x3e={id:"default",name:"Default",description:"Clean, neutral colors",light:{palette:{violet:{border:"border-violet-300",bg:"bg-gradient-to-br from-violet-50 to-violet-100/50",icon:"text-violet-600",stroke:"#8b5cf6"},emerald:{border:"border-emerald-300",bg:"bg-gradient-to-br from-emerald-50 to-emerald-100/50",icon:"text-emerald-600",stroke:"#10b981"},blue:{border:"border-blue-300",bg:"bg-gradient-to-br from-blue-50 to-blue-100/50",icon:"text-blue-600",stroke:"#3b82f6"},amber:{border:"border-amber-300",bg:"bg-gradient-to-br from-amber-50 to-amber-100/50",icon:"text-amber-600",stroke:"#f59e0b"},sky:{border:"border-sky-300",bg:"bg-gradient-to-br from-sky-50 to-sky-100/50",icon:"text-sky-600",stroke:"#0ea5e9"},zinc:{border:"border-zinc-300",bg:"bg-gradient-to-br from-zinc-50 to-zinc-100/50",icon:"text-zinc-600",stroke:"#71717a"},rose:{border:"border-rose-300",bg:"bg-gradient-to-br from-rose-50 to-rose-100/50",icon:"text-rose-600",stroke:"#f43f5e"},orange:{border:"border-orange-300",bg:"bg-gradient-to-br from-orange-50 to-orange-100/50",icon:"text-orange-600",stroke:"#f97316"}},background:{container:"bg-white/80 border border-zinc-200 shadow-lg",grid:{color:"rgba(16, 21, 24, 0.12)",opacity:.35,size:24}},text:{primary:"text-zinc-900",secondary:"text-zinc-600",muted:"text-zinc-500"}},dark:{palette:{violet:{border:"border-violet-400/50",bg:"bg-violet-500/10",icon:"text-violet-400",stroke:"#a78bfa"},emerald:{border:"border-emerald-400/50",bg:"bg-emerald-500/10",icon:"text-emerald-400",stroke:"#34d399"},blue:{border:"border-blue-400/50",bg:"bg-blue-500/10",icon:"text-blue-400",stroke:"#60a5fa"},amber:{border:"border-amber-400/50",bg:"bg-amber-500/10",icon:"text-amber-400",stroke:"#fbbf24"},sky:{border:"border-sky-400/50",bg:"bg-sky-500/10",icon:"text-sky-400",stroke:"#38bdf8"},zinc:{border:"border-zinc-600",bg:"bg-zinc-800/50",icon:"text-zinc-400",stroke:"#71717a"},rose:{border:"border-rose-400/50",bg:"bg-rose-500/10",icon:"text-rose-400",stroke:"#fb7185"},orange:{border:"border-orange-400/50",bg:"bg-orange-500/10",icon:"text-orange-400",stroke:"#fb923c"}},background:{container:"bg-zinc-950 border border-zinc-800",grid:{color:"#71717a",opacity:.08,size:24}},text:{primary:"text-white",secondary:"text-zinc-400",muted:"text-zinc-600"}}},O3e={id:"warm",name:"Warm",description:"Soft, editorial warmth",light:{palette:{violet:{border:"border-violet-300/70",bg:"bg-gradient-to-br from-violet-50/90 to-violet-100/50",icon:"text-violet-500",stroke:"#a78bfa"},emerald:{border:"border-emerald-300/70",bg:"bg-gradient-to-br from-emerald-50/90 to-emerald-100/50",icon:"text-emerald-500",stroke:"#6ee7b7"},blue:{border:"border-blue-300/70",bg:"bg-gradient-to-br from-blue-50/90 to-blue-100/50",icon:"text-blue-500",stroke:"#93c5fd"},amber:{border:"border-amber-300/70",bg:"bg-gradient-to-br from-amber-50/90 to-amber-100/50",icon:"text-amber-500",stroke:"#fcd34d"},sky:{border:"border-sky-300/70",bg:"bg-gradient-to-br from-sky-50/90 to-sky-100/50",icon:"text-sky-500",stroke:"#7dd3fc"},zinc:{border:"border-stone-300/70",bg:"bg-gradient-to-br from-stone-50/90 to-stone-100/50",icon:"text-stone-500",stroke:"#a8a29e"},rose:{border:"border-rose-300/70",bg:"bg-gradient-to-br from-rose-50/90 to-rose-100/50",icon:"text-rose-500",stroke:"#fda4af"},orange:{border:"border-orange-300/70",bg:"bg-gradient-to-br from-orange-50/90 to-orange-100/50",icon:"text-orange-500",stroke:"#fdba74"}},background:{container:"bg-gradient-to-br from-amber-50/80 via-orange-50/40 to-stone-100/60 border border-stone-200/60",grid:{color:"rgba(180, 160, 140, 0.3)",opacity:.5,size:24}},text:{primary:"text-stone-800",secondary:"text-stone-600",muted:"text-stone-400"}},dark:{palette:{violet:{border:"border-violet-400/40",bg:"bg-violet-500/8",icon:"text-violet-300",stroke:"#c4b5fd"},emerald:{border:"border-emerald-400/40",bg:"bg-emerald-500/8",icon:"text-emerald-300",stroke:"#a7f3d0"},blue:{border:"border-blue-400/40",bg:"bg-blue-500/8",icon:"text-blue-300",stroke:"#bfdbfe"},amber:{border:"border-amber-400/40",bg:"bg-amber-500/8",icon:"text-amber-300",stroke:"#fde68a"},sky:{border:"border-sky-400/40",bg:"bg-sky-500/8",icon:"text-sky-300",stroke:"#bae6fd"},zinc:{border:"border-stone-500/40",bg:"bg-stone-600/10",icon:"text-stone-300",stroke:"#d6d3d1"},rose:{border:"border-rose-400/40",bg:"bg-rose-500/8",icon:"text-rose-300",stroke:"#fecdd3"},orange:{border:"border-orange-400/40",bg:"bg-orange-500/8",icon:"text-orange-300",stroke:"#fed7aa"}},background:{container:"bg-gradient-to-br from-stone-950 via-stone-900 to-stone-950 border border-stone-700/50",grid:{color:"rgba(168, 162, 158, 0.15)",opacity:.15,size:24}},text:{primary:"text-stone-100",secondary:"text-stone-400",muted:"text-stone-600"}},brand:{nodeDecor:"bar-left"}},v3e={id:"cool",name:"Cool",description:"Crisp, modern blues",light:{palette:{violet:{border:"border-indigo-300",bg:"bg-gradient-to-br from-indigo-50 to-indigo-100/50",icon:"text-indigo-600",stroke:"#6366f1"},emerald:{border:"border-teal-300",bg:"bg-gradient-to-br from-teal-50 to-teal-100/50",icon:"text-teal-600",stroke:"#14b8a6"},blue:{border:"border-blue-300",bg:"bg-gradient-to-br from-blue-50 to-blue-100/50",icon:"text-blue-600",stroke:"#3b82f6"},amber:{border:"border-cyan-300",bg:"bg-gradient-to-br from-cyan-50 to-cyan-100/50",icon:"text-cyan-600",stroke:"#06b6d4"},sky:{border:"border-sky-300",bg:"bg-gradient-to-br from-sky-50 to-sky-100/50",icon:"text-sky-600",stroke:"#0ea5e9"},zinc:{border:"border-slate-300",bg:"bg-gradient-to-br from-slate-50 to-slate-100/50",icon:"text-slate-600",stroke:"#64748b"},rose:{border:"border-fuchsia-300",bg:"bg-gradient-to-br from-fuchsia-50 to-fuchsia-100/50",icon:"text-fuchsia-600",stroke:"#d946ef"},orange:{border:"border-violet-300",bg:"bg-gradient-to-br from-violet-50 to-violet-100/50",icon:"text-violet-600",stroke:"#8b5cf6"}},background:{container:"bg-gradient-to-br from-slate-50 via-blue-50/30 to-slate-100 border border-slate-200",grid:{color:"rgba(71, 85, 105, 0.15)",opacity:.4,size:24}},text:{primary:"text-slate-900",secondary:"text-slate-600",muted:"text-slate-400"}},dark:{palette:{violet:{border:"border-indigo-400/50",bg:"bg-indigo-500/10",icon:"text-indigo-400",stroke:"#818cf8"},emerald:{border:"border-teal-400/50",bg:"bg-teal-500/10",icon:"text-teal-400",stroke:"#2dd4bf"},blue:{border:"border-blue-400/50",bg:"bg-blue-500/10",icon:"text-blue-400",stroke:"#60a5fa"},amber:{border:"border-cyan-400/50",bg:"bg-cyan-500/10",icon:"text-cyan-400",stroke:"#22d3ee"},sky:{border:"border-sky-400/50",bg:"bg-sky-500/10",icon:"text-sky-400",stroke:"#38bdf8"},zinc:{border:"border-slate-500",bg:"bg-slate-700/30",icon:"text-slate-400",stroke:"#94a3b8"},rose:{border:"border-fuchsia-400/50",bg:"bg-fuchsia-500/10",icon:"text-fuchsia-400",stroke:"#e879f9"},orange:{border:"border-violet-400/50",bg:"bg-violet-500/10",icon:"text-violet-400",stroke:"#a78bfa"}},background:{container:"bg-gradient-to-br from-slate-950 via-slate-900 to-slate-950 border border-slate-700",grid:{color:"rgba(148, 163, 184, 0.1)",opacity:.1,size:24}},text:{primary:"text-slate-100",secondary:"text-slate-400",muted:"text-slate-600"}},brand:{nodeDecor:"dot"}},w3e={id:"mono",name:"Mono",description:"Elegant grayscale",light:{palette:{violet:{border:"border-zinc-400",bg:"bg-gradient-to-br from-zinc-100 to-zinc-200/50",icon:"text-zinc-700",stroke:"#52525b"},emerald:{border:"border-zinc-400",bg:"bg-gradient-to-br from-zinc-100 to-zinc-200/50",icon:"text-zinc-700",stroke:"#52525b"},blue:{border:"border-zinc-400",bg:"bg-gradient-to-br from-zinc-100 to-zinc-200/50",icon:"text-zinc-700",stroke:"#52525b"},amber:{border:"border-zinc-400",bg:"bg-gradient-to-br from-zinc-100 to-zinc-200/50",icon:"text-zinc-700",stroke:"#52525b"},sky:{border:"border-zinc-400",bg:"bg-gradient-to-br from-zinc-100 to-zinc-200/50",icon:"text-zinc-700",stroke:"#52525b"},zinc:{border:"border-zinc-400",bg:"bg-gradient-to-br from-zinc-100 to-zinc-200/50",icon:"text-zinc-700",stroke:"#52525b"},rose:{border:"border-zinc-400",bg:"bg-gradient-to-br from-zinc-100 to-zinc-200/50",icon:"text-zinc-700",stroke:"#52525b"},orange:{border:"border-zinc-400",bg:"bg-gradient-to-br from-zinc-100 to-zinc-200/50",icon:"text-zinc-700",stroke:"#52525b"}},background:{container:"bg-zinc-100 border border-zinc-300",grid:{color:"rgba(63, 63, 70, 0.08)",opacity:.5,size:20}},text:{primary:"text-zinc-900",secondary:"text-zinc-600",muted:"text-zinc-400"}},dark:{palette:{violet:{border:"border-zinc-600",bg:"bg-zinc-800/60",icon:"text-zinc-300",stroke:"#a1a1aa"},emerald:{border:"border-zinc-600",bg:"bg-zinc-800/60",icon:"text-zinc-300",stroke:"#a1a1aa"},blue:{border:"border-zinc-600",bg:"bg-zinc-800/60",icon:"text-zinc-300",stroke:"#a1a1aa"},amber:{border:"border-zinc-600",bg:"bg-zinc-800/60",icon:"text-zinc-300",stroke:"#a1a1aa"},sky:{border:"border-zinc-600",bg:"bg-zinc-800/60",icon:"text-zinc-300",stroke:"#a1a1aa"},zinc:{border:"border-zinc-600",bg:"bg-zinc-800/60",icon:"text-zinc-300",stroke:"#a1a1aa"},rose:{border:"border-zinc-600",bg:"bg-zinc-800/60",icon:"text-zinc-300",stroke:"#a1a1aa"},orange:{border:"border-zinc-600",bg:"bg-zinc-800/60",icon:"text-zinc-300",stroke:"#a1a1aa"}},background:{container:"bg-zinc-900 border border-zinc-700",grid:{color:"rgba(161, 161, 170, 0.06)",opacity:.1,size:20}},text:{primary:"text-zinc-100",secondary:"text-zinc-400",muted:"text-zinc-600"}},brand:{nodeShape:"square",nodeDecor:"rule"}},AQ={violet:{border:"border-[#7c8cff]/55",bg:"bg-[#7c8cff]/[0.08]",icon:"text-[#7c8cff]",stroke:"#7c8cff"},emerald:{border:"border-[#2dd4bf]/55",bg:"bg-[#2dd4bf]/[0.08]",icon:"text-[#2dd4bf]",stroke:"#2dd4bf"},blue:{border:"border-[#4f8cff]/55",bg:"bg-[#4f8cff]/[0.08]",icon:"text-[#4f8cff]",stroke:"#4f8cff"},amber:{border:"border-[#e0a83d]/55",bg:"bg-[#e0a83d]/[0.08]",icon:"text-[#e0a83d]",stroke:"#e0a83d"},sky:{border:"border-[#54b6e6]/55",bg:"bg-[#54b6e6]/[0.08]",icon:"text-[#54b6e6]",stroke:"#54b6e6"},zinc:{border:"border-[#8b93a0]/55",bg:"bg-[#8b93a0]/[0.08]",icon:"text-[#8b93a0]",stroke:"#8b93a0"},rose:{border:"border-[#e0726e]/55",bg:"bg-[#e0726e]/[0.08]",icon:"text-[#e0726e]",stroke:"#e0726e"},orange:{border:"border-[#e0884a]/55",bg:"bg-[#e0884a]/[0.08]",icon:"text-[#e0884a]",stroke:"#e0884a"}},cA={default:x3e,warm:O3e,cool:v3e,mono:w3e,engineering:{id:"engineering",name:"Engineering",description:"Graph grid, technical mono",light:{palette:{violet:{border:"border-[#4589ff]",bg:"bg-[#4589ff]/10",icon:"text-[#4589ff]",stroke:"#4589ff"},emerald:{border:"border-[#007d79]",bg:"bg-[#007d79]/10",icon:"text-[#007d79]",stroke:"#007d79"},blue:{border:"border-[#0f62fe]",bg:"bg-[#0f62fe]/10",icon:"text-[#0f62fe]",stroke:"#0f62fe"},amber:{border:"border-[#6f6f6f]",bg:"bg-[#6f6f6f]/10",icon:"text-[#6f6f6f]",stroke:"#6f6f6f"},sky:{border:"border-[#1192e8]",bg:"bg-[#1192e8]/10",icon:"text-[#1192e8]",stroke:"#1192e8"},zinc:{border:"border-[#525252]",bg:"bg-[#525252]/10",icon:"text-[#525252]",stroke:"#525252"},rose:{border:"border-[#6f6f6f]",bg:"bg-[#6f6f6f]/10",icon:"text-[#6f6f6f]",stroke:"#6f6f6f"},orange:{border:"border-[#393939]",bg:"bg-[#393939]/10",icon:"text-[#393939]",stroke:"#393939"}},background:{container:"bg-[#f4f4f4] border border-[#e0e0e0] shadow-sm",grid:{color:"rgba(22, 22, 22, 0.08)",opacity:.4,size:16}},text:{primary:"text-[#161616]",secondary:"text-[#525252]",muted:"text-[#8d8d8d]"}},dark:{palette:AQ,background:{container:"bg-[#0e1116] border border-[#393939]",grid:{color:"rgba(125, 170, 255, 0.20)",opacity:1,size:18}},text:{primary:"text-[#f4f4f4]",secondary:"text-[#c6c6c6]",muted:"text-[#8d8d8d]"}},brand:{fontFamily:"system-ui, -apple-system, sans-serif",monoFamily:"'JetBrains Mono', ui-monospace, monospace",nodeShape:"square",nodeDecor:"ticks",nodeBorderWidth:"1px",upperLabels:!0,arrowhead:"chevron",gridType:"lines",frame:"sheet",titleBlock:!0}},workbench:{id:"workbench",name:"Workbench",description:"Slate workbench, intent colors",light:{palette:{violet:{border:"border-[#634dbf]",bg:"bg-[#634dbf]/10",icon:"text-[#634dbf]",stroke:"#634dbf"},emerald:{border:"border-[#238551]",bg:"bg-[#238551]/10",icon:"text-[#238551]",stroke:"#238551"},blue:{border:"border-[#2d72d2]",bg:"bg-[#2d72d2]/10",icon:"text-[#2d72d2]",stroke:"#2d72d2"},amber:{border:"border-[#c87619]",bg:"bg-[#c87619]/10",icon:"text-[#c87619]",stroke:"#c87619"},sky:{border:"border-[#147eb3]",bg:"bg-[#147eb3]/10",icon:"text-[#147eb3]",stroke:"#147eb3"},zinc:{border:"border-[#5f6b7c]",bg:"bg-[#5f6b7c]/10",icon:"text-[#5f6b7c]",stroke:"#5f6b7c"},rose:{border:"border-[#cd4246]",bg:"bg-[#cd4246]/10",icon:"text-[#cd4246]",stroke:"#cd4246"},orange:{border:"border-[#9e2b0e]",bg:"bg-[#9e2b0e]/10",icon:"text-[#9e2b0e]",stroke:"#9e2b0e"}},background:{container:"bg-[#f6f7f9] border border-[#d3d8de]",grid:{color:"rgba(95, 107, 124, 0.18)",opacity:.4,size:20}},text:{primary:"text-[#1c2127]",secondary:"text-[#404854]",muted:"text-[#738091]"}},dark:{palette:AQ,background:{container:"bg-[#1c2127] border border-[#2f343c]",grid:{color:"rgba(180, 188, 200, 0.22)",opacity:1,size:16}},text:{primary:"text-[#f6f7f9]",secondary:"text-[#abb3bf]",muted:"text-[#738091]"}},brand:{fontFamily:"'Inter', system-ui, sans-serif",monoFamily:"'JetBrains Mono', ui-monospace, monospace",fontImport:"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap",nodeRadius:"3px",nodeDecor:"rule",nodeBorderWidth:"1px",upperLabels:!1,arrowhead:"triangle",gridType:"dots",frame:"hairline"}},tactical:{id:"tactical",name:"Tactical",description:"Tactical black, signature amber",light:{palette:{violet:{border:"border-[#6b6b73]",bg:"bg-[#6b6b73]/[0.07]",icon:"text-[#6b6b73]",stroke:"#6b6b73"},emerald:{border:"border-[#5e6f50]",bg:"bg-[#5e6f50]/[0.07]",icon:"text-[#5e6f50]",stroke:"#5e6f50"},blue:{border:"border-[#5a6f80]",bg:"bg-[#5a6f80]/[0.07]",icon:"text-[#5a6f80]",stroke:"#5a6f80"},amber:{border:"border-[#a8741a]",bg:"bg-[#a8741a]/[0.14]",icon:"text-[#a8741a]",stroke:"#a8741a"},sky:{border:"border-[#5f7d87]",bg:"bg-[#5f7d87]/[0.07]",icon:"text-[#5f7d87]",stroke:"#5f7d87"},zinc:{border:"border-[#6b6f73]",bg:"bg-[#6b6f73]/[0.07]",icon:"text-[#6b6f73]",stroke:"#6b6f73"},rose:{border:"border-[#a8463d]",bg:"bg-[#a8463d]/10",icon:"text-[#a8463d]",stroke:"#a8463d"},orange:{border:"border-[#a85e22]",bg:"bg-[#a85e22]/12",icon:"text-[#a85e22]",stroke:"#a85e22"}},background:{container:"bg-[#e7e3da] border border-[#cfc8ba]",grid:{color:"rgba(40, 40, 40, 0.1)",opacity:.4,size:20}},text:{primary:"text-[#1a1c1d]",secondary:"text-[#4a4f52]",muted:"text-[#80868a]"}},dark:{palette:AQ,background:{container:"bg-[#0b0d0e] border border-[#23292d]",grid:{color:"rgba(224, 168, 61, 0.20)",opacity:1,size:24}},text:{primary:"text-[#e8e6e1]",secondary:"text-[#9aa0a4]",muted:"text-[#5f676c]"}},brand:{fontFamily:"'Chakra Petch', system-ui, sans-serif",monoFamily:"'JetBrains Mono', ui-monospace, monospace",fontImport:"https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap",nodeShape:"notch",nodeDecor:"stripe",nodeBorderWidth:"1px",upperLabels:!0,arrowhead:"chevron",gridType:"crosshair",frame:"reticle"}},command:{id:"command",name:"Command",description:"HUD console, cyan glass, crosshair grid",light:{palette:{violet:{border:"border-[#6e7cff]/60",bg:"bg-[#6e7cff]/[0.07]",icon:"text-[#5a68e8]",stroke:"#5a68e8"},emerald:{border:"border-[#1f9a84]/60",bg:"bg-[#1f9a84]/[0.07]",icon:"text-[#1f9a84]",stroke:"#1f9a84"},blue:{border:"border-[#2b7fd4]/65",bg:"bg-[#2b7fd4]/[0.09]",icon:"text-[#2b7fd4]",stroke:"#2b7fd4"},amber:{border:"border-[#c4882a]/60",bg:"bg-[#c4882a]/[0.08]",icon:"text-[#b87a1f]",stroke:"#b87a1f"},sky:{border:"border-[#2b9fd4]/60",bg:"bg-[#2b9fd4]/[0.08]",icon:"text-[#2490c4]",stroke:"#2490c4"},zinc:{border:"border-[#6b7785]/55",bg:"bg-[#6b7785]/[0.06]",icon:"text-[#5c6878]",stroke:"#5c6878"},rose:{border:"border-[#d45d6a]/55",bg:"bg-[#d45d6a]/[0.07]",icon:"text-[#c44e5c]",stroke:"#c44e5c"},orange:{border:"border-[#d47a2a]/55",bg:"bg-[#d47a2a]/[0.07]",icon:"text-[#c46e22]",stroke:"#c46e22"}},background:{container:"bg-[#e8edf3]/90 border border-[#c5d0dc]",grid:{color:"rgba(43, 127, 212, 0.14)",opacity:.55,size:40}},text:{primary:"text-[#0c1014]",secondary:"text-[#3a4248]",muted:"text-[#6b7785]"}},dark:{palette:{violet:{border:"border-[#8b9cff]/50",bg:"bg-[#8b9cff]/[0.07]",icon:"text-[#8b9cff]",stroke:"#8b9cff"},emerald:{border:"border-[#3dd6b5]/50",bg:"bg-[#3dd6b5]/[0.07]",icon:"text-[#3dd6b5]",stroke:"#3dd6b5"},blue:{border:"border-[#4db8ff]/55",bg:"bg-[#4db8ff]/[0.08]",icon:"text-[#4db8ff]",stroke:"#4db8ff"},amber:{border:"border-[#e0b04a]/50",bg:"bg-[#e0b04a]/[0.08]",icon:"text-[#e0b04a]",stroke:"#e0b04a"},sky:{border:"border-[#5ec8e8]/50",bg:"bg-[#5ec8e8]/[0.07]",icon:"text-[#5ec8e8]",stroke:"#5ec8e8"},zinc:{border:"border-[#8b93a0]/45",bg:"bg-[#8b93a0]/[0.06]",icon:"text-[#9aa4ae]",stroke:"#9aa4ae"},rose:{border:"border-[#f0808c]/45",bg:"bg-[#f0808c]/[0.07]",icon:"text-[#f0808c]",stroke:"#f0808c"},orange:{border:"border-[#e89850]/45",bg:"bg-[#e89850]/[0.07]",icon:"text-[#e89850]",stroke:"#e89850"}},background:{container:"bg-[#06090e]/95 border border-[#1a2533]",grid:{color:"rgba(77, 184, 255, 0.16)",opacity:.9,size:40}},text:{primary:"text-[#e8edf2]",secondary:"text-[#b4bec9]",muted:"text-[#7d8a98]"}},brand:{fontFamily:"'Space Grotesk', system-ui, sans-serif",monoFamily:"'JetBrains Mono', ui-monospace, monospace",nodeShape:"chamfer",nodeDecor:"dot",nodeBorderWidth:"1px",nodeOpacity:.88,nodeGlass:!0,upperLabels:!1,arrowhead:"chevron",gridType:"crosshair",frame:"corners",connectorGlow:!0}}},lA="command";function tp(e){return cA[e]||cA[lA]}function _3e(){return Object.values(cA).map(e=>({id:e.id,name:e.name,description:e.description}))}const IG=w.createContext(null);function AG({children:e,initialDiagram:t,initialThemeId:n=lA,initialColorMode:o="dark",initialDiagramMeta:r}){const[i,a]=w.useReducer(b3e,(()=>{const c=t?{...ep,diagram:t}:ep,l=r||{themeId:n,colorMode:o};return{...c,editor:{...c.editor,themeId:n,colorMode:o,isoStyle:l.isoStyle||c.editor.isoStyle,viewMode:l.viewMode||c.editor.viewMode},meta:{...c.meta,diagramMeta:l}}})()),s={addNode:w.useCallback((c,l)=>{a({type:"node/add",position:c,nodeData:l})},[]),removeNode:w.useCallback(c=>{a({type:"node/remove",nodeId:c})},[]),duplicateNode:w.useCallback(c=>{a({type:"node/duplicate",nodeId:c})},[]),moveNode:w.useCallback((c,l,d)=>{a({type:"node/move",nodeId:c,x:l,y:d})},[]),moveNodes:w.useCallback(c=>{a({type:"nodes/move",moves:c})},[]),updateNode:w.useCallback((c,l)=>{a({type:"node/update",nodeId:c,updates:l})},[]),resizeNode:w.useCallback((c,l,d,u)=>{a({type:"node/resize",nodeId:c,size:l,width:d,height:u})},[]),updateNodePosition:w.useCallback((c,l)=>{a({type:"node/updatePosition",nodeId:c,updates:l})},[]),addConnector:w.useCallback((c,l,d,u,h)=>{a({type:"connector/add",from:c,to:l,fromAnchor:d,toAnchor:u,style:h})},[]),removeConnector:w.useCallback(c=>{a({type:"connector/remove",index:c})},[]),updateConnector:w.useCallback((c,l)=>{a({type:"connector/update",index:c,updates:l})},[]),addGroup:w.useCallback(c=>{a({type:"group/add",group:c})},[]),updateGroup:w.useCallback((c,l)=>{a({type:"group/update",groupId:c,updates:l})},[]),removeGroup:w.useCallback(c=>{a({type:"group/remove",groupId:c})},[]),addImage:w.useCallback(c=>{a({type:"image/add",image:c})},[]),updateImage:w.useCallback((c,l)=>{a({type:"image/update",imageId:c,updates:l})},[]),removeImage:w.useCallback(c=>{a({type:"image/remove",imageId:c})},[]),setExportZone:w.useCallback(c=>{a({type:"exportZone/set",zone:c})},[]),clearExportZone:w.useCallback(()=>{a({type:"exportZone/clear"})},[]),selectNode:w.useCallback((c,l=!1)=>{a({type:"select/node",nodeId:c,addToSelection:l})},[]),selectNodes:w.useCallback(c=>{a({type:"select/nodes",nodeIds:c})},[]),selectConnector:w.useCallback(c=>{a({type:"select/connector",index:c})},[]),selectGroup:w.useCallback(c=>{a({type:"select/group",groupId:c})},[]),selectImage:w.useCallback(c=>{a({type:"select/image",imageId:c})},[]),clearSelection:w.useCallback(()=>{a({type:"select/clear"})},[]),setMode:w.useCallback(c=>{a({type:"mode/set",mode:c})},[]),setPendingConnector:w.useCallback(c=>{a({type:"pending/set",pendingConnector:c})},[]),clearPendingConnector:w.useCallback(()=>{a({type:"pending/clear"})},[]),startDrag:w.useCallback((c,l,d,u)=>{a({type:"drag/start",nodeId:c,offset:l,nodeOffsets:d,selectedIds:u})},[]),endDrag:w.useCallback(()=>{a({type:"drag/end"})},[]),loadDiagram:w.useCallback((c,l)=>{a({type:"diagram/load",diagram:c,filename:l})},[]),replaceDiagram:w.useCallback(c=>{a({type:"diagram/replace",diagram:c})},[]),newDiagram:w.useCallback(()=>{a({type:"diagram/new"})},[]),markSaved:w.useCallback(c=>{a({type:"diagram/saved",filename:c})},[]),undo:w.useCallback(()=>{a({type:"undo"})},[]),redo:w.useCallback(()=>{a({type:"redo"})},[]),updateLayout:w.useCallback(c=>{a({type:"layout/update",updates:c})},[]),expandLayout:w.useCallback((c,l)=>{a({type:"layout/expand",width:c,height:l})},[]),setTemplate:w.useCallback(c=>{a({type:"template/set",templateId:c})},[]),setZoom:w.useCallback(c=>{a({type:"zoom/set",zoom:c})},[]),zoomIn:w.useCallback(()=>{a({type:"zoom/set",zoom:i.editor.zoom*1.25})},[i.editor.zoom]),zoomOut:w.useCallback(()=>{a({type:"zoom/set",zoom:i.editor.zoom/1.25})},[i.editor.zoom]),resetZoom:w.useCallback(()=>{a({type:"zoom/set",zoom:1})},[]),setViewMode:w.useCallback(c=>{a({type:"viewMode/set",viewMode:c})},[]),setIsoStyle:w.useCallback(c=>{a({type:"isoStyle/set",isoStyle:c})},[]),setTheme:w.useCallback(c=>{a({type:"theme/set",themeId:c})},[]),setColorMode:w.useCallback(c=>{a({type:"colorMode/set",colorMode:c})},[]),setDiagramMeta:w.useCallback(c=>{a({type:"diagramMeta/set",diagramMeta:c})},[])};return m.jsx(IG.Provider,{value:{state:i,dispatch:a,actions:s},children:e})}function At(){const e=w.useContext(IG);if(!e)throw new Error("useEditor must be used within an EditorProvider");return e}function xo(){const{state:e}=At();return e.diagram}function zo(){const{state:e}=At();return e.editor}function dA(){const{state:e}=At();return e.meta}function M3e(){const{state:e}=At();return e.history}function TG(){const{state:e}=At();return e.editor.template}function np(){const{state:e}=At();return e.editor.viewMode}function TQ(){const{state:e}=At();return e.editor.isoStyle}function EQ(){const{state:e}=At();return e.editor.themeId}function S3e(){const{state:e}=At();return e.editor.colorMode}function $3e(){const{state:e}=At();return e.meta.diagramMeta}function EG(){const{state:e}=At(),t=e.editor.themeId,n=e.editor.colorMode;return w.useMemo(()=>{const o=tp(t||lA);return n==="light"?o.light:o.dark},[t,n])}function zQ(){const{state:e}=At(),t=e.editor.themeId;return w.useMemo(()=>tp(t||lA).brand,[t])}function zG(e,t,n,o,r){switch(r){case"left":return{x:e,y:t+o/2};case"right":return{x:e+n,y:t+o/2};case"top":return{x:e+n/2,y:t};case"bottom":return{x:e+n/2,y:t+o};case"bottomRight":return{x:e+n,y:t+o-15};case"bottomLeft":return{x:e,y:t+o-15};case"topRight":return{x:e+n,y:t+15};case"topLeft":return{x:e,y:t+15};default:return{x:e+n/2,y:t+o/2}}}function C3e(e,t,n,o){const r=t.x-e.x,i=t.y-e.y;let a=e.x,s=e.y,c=t.x,l=t.y;const d=Math.min(Math.abs(r),Math.abs(i),50);return n==="right"||n==="bottomRight"||n==="topRight"?a=e.x+d:n==="left"||n==="bottomLeft"||n==="topLeft"?a=e.x-d:n==="bottom"?s=e.y+d:n==="top"&&(s=e.y-d),o==="left"||o==="bottomLeft"||o==="topLeft"?c=t.x-d:o==="right"||o==="bottomRight"||o==="topRight"?c=t.x+d:o==="top"?l=t.y-d:o==="bottom"&&(l=t.y+d),`M ${e.x} ${e.y} C ${a} ${s}, ${c} ${l}, ${t.x} ${t.y}`}const DQ={violet:{bg:"#8b5cf6",text:"#ffffff"},emerald:{bg:"#34d399",text:"#ffffff"},blue:{bg:"#60a5fa",text:"#ffffff"},amber:{bg:"#fbbf24",text:"#1f2937"},zinc:{bg:"#71717a",text:"#ffffff"},sky:{bg:"#38bdf8",text:"#ffffff"}},DG={violet:{fill:"rgba(139, 92, 246, 0.1)",stroke:"rgba(139, 92, 246, 0.5)"},emerald:{fill:"rgba(52, 211, 153, 0.1)",stroke:"rgba(52, 211, 153, 0.5)"},blue:{fill:"rgba(96, 165, 250, 0.1)",stroke:"rgba(96, 165, 250, 0.5)"},amber:{fill:"rgba(251, 191, 36, 0.1)",stroke:"rgba(251, 191, 36, 0.5)"},zinc:{fill:"rgba(113, 113, 122, 0.1)",stroke:"rgba(113, 113, 122, 0.5)"},sky:{fill:"rgba(56, 189, 248, 0.1)",stroke:"rgba(56, 189, 248, 0.5)"}};function QG(e,t={}){const{backgroundColor:n="#ffffff",includeGrid:o=!1,padding:r=20}=t,i=e.exportZone||{x:0,y:0,width:e.layout.width,height:e.layout.height},a=`${i.x-r} ${i.y-r} ${i.width+r*2} ${i.height+r*2}`,s=i.width+r*2,c=i.height+r*2;let l=`<svg xmlns="http://www.w3.org/2000/svg" width="${s}" height="${c}" viewBox="${a}">
131
+ `,style:{bottom:aA,height:p,zIndex:WP.zIndex.drawer,...xG},children:[m.jsxs("div",{className:"h-9 bg-card/80 border-b flex items-center justify-between px-3 shrink-0 select-none backdrop-blur-sm",style:xG,children:[m.jsxs("div",{className:"flex items-center gap-3",children:[a||m.jsxs("div",{className:"flex items-center gap-2 text-accent",children:[m.jsx(td,{size:14}),m.jsx("span",{className:"text-[10px] font-light tracking-[0.18em] font-mono uppercase",children:"TERMINAL"})]}),s]}),m.jsx("div",{className:"flex-1 flex items-center justify-center h-full cursor-ns-resize text-muted-foreground hover:text-foreground transition-colors group",title:"Drag to Resize",onMouseDown:h,children:m.jsx("div",{className:"w-16 h-1 rounded-full group-hover:bg-muted-foreground transition-colors",style:qve})}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("button",{onClick:n,className:"p-1.5 rounded hover:bg-accent/10 text-muted-foreground hover:text-foreground transition-colors",title:o?"Restore":"Maximize",children:o?m.jsx(M1,{size:14}):m.jsx(Ic,{size:14})}),m.jsx("button",{onClick:t,className:"p-1.5 rounded hover:bg-destructive/10 text-muted-foreground hover:text-destructive transition-colors",title:"Close",children:m.jsx(Jr,{size:14})})]})]}),m.jsx(GF.Provider,{value:Ide,children:m.jsxs("div",{"data-hudson-terminal-drawer-content":"true",className:"flex-1 relative overflow-hidden flex flex-col bg-transparent",children:[l,c&&m.jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-3 z-30 flex justify-center px-4",children:m.jsx("div",{className:"pointer-events-auto",children:c})})]})})]})},Fve=Bve,Yf={borderColor:"var(--hud-chrome-border, oklch(var(--border)))"},Hve={"--tw-ring-color":"color-mix(in srgb, var(--hud-accent, currentColor) 34%, transparent)"},Zve=({isOpen:e,onClose:t,commands:n})=>{const[o,r]=w.useState(""),[i,a]=w.useState(0),s=w.useId(),c=`${s}-listbox`,l=w.useRef(null),d=w.useRef(null),u=w.useRef(null),h=n.filter(k=>k.label.toLowerCase().includes(o.toLowerCase()));w.useEffect(()=>{e&&(HE.logger.info("hudson.command_palette.open",{category:"command",data:{commandCount:n.length}}),l.current?.focus({preventScroll:!0}),r(""),a(0))},[n.length,e]),w.useEffect(()=>{a(0)},[o]),w.useEffect(()=>{u.current?.scrollIntoView({behavior:"smooth",block:"nearest"})},[i]);const p=(k,O)=>{const x=HE.trace.start("hudson.command.execute",{category:"command",data:{commandId:k.id,surface:"command_palette",source:O,queryLength:o.length,resultCount:h.length}});try{k.action(),x.end(),t()}catch(_){throw x.error(_),_}},y=k=>{if((k.key==="ArrowDown"||k.key==="ArrowUp")&&h.length===0){k.preventDefault();return}k.key==="ArrowDown"?(k.preventDefault(),a(O=>(O+1)%h.length)):k.key==="ArrowUp"?(k.preventDefault(),a(O=>(O-1+h.length)%h.length)):k.key==="Enter"?(k.preventDefault(),h[i]&&p(h[i],"keyboard")):k.key==="Escape"&&t()},g=k=>{if(k.key!=="Tab")return;const O=d.current;if(!O)return;const x=Array.from(O.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter(S=>!S.hasAttribute("disabled")&&S.getAttribute("aria-hidden")!=="true");if(x.length===0){k.preventDefault();return}const _=x[0],v=x[x.length-1],M=document.activeElement;k.shiftKey?(M===_||!O.contains(M))&&(k.preventDefault(),v.focus()):M===v&&(k.preventDefault(),_.focus())},b=h[i]?`${s}-option-${i}`:void 0;return e?m.jsx("div",{className:"fixed inset-0 z-[100] flex items-start justify-center pt-[15vh] bg-background/45 backdrop-blur-[2px] pointer-events-auto",onClick:t,children:m.jsxs("div",{ref:d,role:"dialog","aria-modal":"true","aria-label":"Command palette",className:"w-[640px] max-w-[90vw] bg-popover border shadow-2xl rounded-lg overflow-hidden flex flex-col animate-in fade-in zoom-in-95 duration-100",style:Yf,onClick:k=>k.stopPropagation(),onKeyDown:g,children:[m.jsxs("div",{className:"flex items-center px-4 py-3 border-b gap-3 focus-within:ring-2 focus-within:outline-none",style:{...Yf,...Hve},children:[m.jsx(Yr,{className:"text-muted-foreground",size:16,strokeWidth:1.5,"aria-hidden":"true"}),m.jsx("input",{ref:l,className:"flex-1 bg-transparent border-none outline-none text-popover-foreground placeholder:text-muted-foreground font-mono text-[12px] font-normal",style:{boxShadow:"none"},placeholder:"Type a command or search",value:o,onChange:k=>r(k.target.value),onKeyDown:y,role:"combobox","aria-expanded":"true","aria-haspopup":"listbox","aria-controls":c,"aria-activedescendant":b,"aria-autocomplete":"list"}),m.jsx("div",{className:"px-1.5 py-0.5 rounded bg-muted border text-[10px] text-muted-foreground font-mono tracking-[0.12em]",style:Yf,"aria-hidden":"true",children:"ESC"})]}),m.jsxs("div",{className:"max-h-[300px] overflow-y-auto py-2 relative",children:[m.jsx("div",{id:c,role:"listbox","aria-label":"Command results",className:"pb-2",children:h.length===0?m.jsx("div",{className:"px-4 py-8 text-center text-muted-foreground text-[11px] font-mono",role:"status",children:"No matching commands"}):h.map((k,O)=>m.jsxs("div",{id:`${s}-option-${O}`,ref:O===i?u:null,role:"option","aria-selected":O===i,className:`px-4 py-2.5 flex items-center gap-3 cursor-pointer transition-colors ${O===i?"bg-accent/10 border-l-2 border-accent":"border-l-2 border-transparent hover:bg-muted/70"}`,onClick:()=>p(k,"pointer"),onMouseEnter:()=>a(O),children:[k.icon&&m.jsx("div",{className:`${O===i?"text-accent":"text-muted-foreground"}`,children:k.icon}),m.jsx("div",{className:"flex-1",children:m.jsx("div",{className:`text-[12px] ${O===i?"text-accent font-medium":"text-foreground/80 font-normal"}`,children:k.label})}),k.shortcut&&m.jsx("div",{className:"text-[10px] font-mono text-muted-foreground bg-muted px-1.5 py-0.5 rounded border tracking-[0.04em]",style:Yf,children:k.shortcut}),O===i&&m.jsx(a1,{size:14,className:"text-accent ml-2","aria-hidden":"true"})]},k.id))}),h.length>6&&m.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-8 bg-gradient-to-t from-popover to-transparent pointer-events-none"})]}),m.jsxs("div",{className:"px-4 py-1.5 bg-card/90 backdrop-blur-sm border-t flex justify-between items-center text-[10px] text-muted-foreground font-mono relative z-10 tracking-[0.18em] uppercase",style:Yf,children:[m.jsx("span",{children:"Command Palette"}),m.jsxs("span",{className:"tracking-[0.04em] normal-case",children:[h.length," matches"]})]})]})}):null},Xve=Zve,Rve=w.createContext(null);function Wve({value:e,children:t}){return m.jsx(Rve.Provider,{value:e,children:t})}var Gf=class extends w.Component{constructor(){super(...arguments),this.state={error:null},this.handleRetry=()=>{this.setState({error:null})}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[Hudson] ${this.props.appName}/${this.props.slotName} crashed:`,e,t.componentStack)}render(){return this.state.error?m.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 p-6 text-center h-full min-h-[120px]",children:[m.jsxs("div",{className:"text-[10px] font-mono uppercase tracking-widest text-red-400",children:[this.props.appName," / ",this.props.slotName]}),m.jsx("div",{className:"text-[11px] text-neutral-500 max-w-[280px] break-words",children:this.state.error.message||"An unexpected error occurred"}),m.jsx("button",{onClick:this.handleRetry,className:"mt-1 px-3 py-1 text-[10px] font-mono uppercase tracking-wider rounded bg-emerald-500/10 text-emerald-400 border border-emerald-500/20 hover:bg-emerald-500/20 transition-colors",children:"Retry"})]}):this.props.children}},Uve={nav:!0,statusBar:!0,leftPanel:!0,rightPanel:!0,palette:!0,terminal:!0,panelBehavior:{}},Yve=200,Gve=500,Kve=560,Jve=.45,e3e=500,t3e=900;function n3e(e,t){const n=e?.responsivePanelMax;if(!n)return;const{ratio:o,min:r,max:i}=n===!0?{}:n;return Math.min(i??t3e,Math.max(r??e3e,Math.floor(t*(o??Jve))))}function o3e(e,t,n){const o=e.layout,r=t==="left"?o?.left:o?.right,i=r?.max??o?.maxPanelWidth;return{min:r?.min??o?.minPanelWidth??Yve,max:i??n??Gve}}function Kf(e,t,n,o){const{min:r,max:i}=o3e(e,t,o);return Math.max(r,Math.min(i,n))}function r3e({app:e,assistant:t=!0,chrome:n,defaultTheme:o="system",defaultTemplate:r="hudson",managedTheme:i=!0,environment:a}){const s=E0();let c=m.jsx(aue,{instanceId:e.id,appId:e.id,children:m.jsx(e.Provider,{children:m.jsx(i3e,{app:e,assistantEnabled:t,chrome:n})})});return a?.routes&&(c=m.jsx(mde,{routes:a.routes,children:c})),!i||s?c:m.jsxs(m.Fragment,{children:[m.jsx(w2e,{defaultTheme:o,defaultTemplate:r}),m.jsx(Nde,{defaultTheme:o,defaultTemplate:r,children:c})]})}function i3e({app:e,assistantEnabled:t,chrome:n}){const o=E0(),r=w.useMemo(()=>({...Uve,...n}),[n]),i=r.panelBehavior??{},a=i.mode??"push",s=i.centerMinWidth??Kve,c=i.inspectorPin===!0&&a!=="overlay",{navTotalHeight:l}=PQ(),d=e.hooks.useCommands(),u=e.hooks.useStatus(),h=e.hooks.useStatusLeft?.()??null,p=e.hooks.useStatusRight?.()??null,y=e.hooks.useSearch?.()??null,g=e.hooks.useNavCenter?.()??null,b=e.hooks.useNavActions?.()??null,k=e.hooks.useLayoutMode?.()??e.mode,O=e.hooks.useActiveToolHint?.()??null,x=e.hooks.useTakeover?.()??null,_=e.hooks.useCodeSurface?.()??null,v=_?.placement??e.code?.placement??"workbench",M=_?.open===!0&&!!_.object&&v==="inspector",S=_?.open===!0&&!!_.object&&v==="workbench",C=w.useRef(!1),N=x?.active===!0,$=N&&x?.dismissible===!0,T=x?.onDismiss,P=e.slots.Takeover,[z,D]=Jn(`appshell.${e.id}.left`,!1),[E,Q]=Jn(`appshell.${e.id}.right`,!1),[F,V]=Jn(`appshell.${e.id}.leftW`,e.layout?.leftWidth??260),[W,L]=Jn(`appshell.${e.id}.rightW`,e.layout?.rightWidth??280),[B,q]=Jn(`appshell.${e.id}.rightOverlay`,!1,{enabled:c}),ce=!!e.layout?.responsivePanelMax||a==="auto",[Ce,R]=w.useState(()=>typeof window<"u"?window.innerWidth:1280);w.useEffect(()=>{if(!ce)return;const pe=()=>R(window.innerWidth);return pe(),window.addEventListener("resize",pe),()=>window.removeEventListener("resize",pe)},[ce]);const U=n3e(e.layout,Ce);w.useEffect(()=>{U!==void 0&&(V(pe=>Kf(e,"left",pe,U)),L(pe=>Kf(e,"right",pe,U)))},[e,U,V,L]);const[H,ue]=Jn(`appshell.${e.id}.codeWorkbenchSize`,"half"),[be,G]=Jn(`appshell.${e.id}.codeWorkbenchEditorWidth`,420),[oe,ne]=Jn(`appshell.${e.id}.codeWorkbenchChatWidth`,320),[le,re]=Jn(`appshell.${e.id}.codeSheetWidth`,720);w.useEffect(()=>{S&&!C.current&&!E&&Q(!0),C.current=S},[S,E,Q]);const[te,se]=w.useState({x:0,y:0}),[Ae,we]=w.useState(1),ge=w.useCallback(pe=>{se(et=>({x:et.x+pe.x,y:et.y+pe.y}))},[]),xe=w.useCallback(pe=>{we(pe)},[]),[De,me]=w.useState(!1),[Oe,de]=w.useState(!1),[Z,X]=Jn(`appshell.${e.id}.termH`,320),K=!!e.slots.Terminal,_e=w.useMemo(()=>{const pe=[];return K&&pe.push("terminal"),t&&pe.push("assistant"),pe},[K,t]),Pe=_e[0]??"terminal",[qe,Xe]=Jn(`appshell.${e.id}.drawerTab`,Pe),Ye=_e.includes(qe)?qe:Pe,[Le,Je]=w.useState(!1),[Qe,at]=w.useState(new Set),ft=w.useCallback(pe=>{at(et=>{const ln=new Set(et);return ln.has(pe)?ln.delete(pe):ln.add(pe),ln})},[]),Yt=w.useCallback(pe=>et=>{et.preventDefault();const ln=et.clientX,Cqe=pe==="left"?F:W,Nqe=pe==="left"?V:L,Lqe=pe==="left"?1:-1,dde=Pqe=>{const Iqe=(Pqe.clientX-ln)*Lqe;Nqe(Kf(e,pe,Cqe+Iqe,U))},ude=()=>{document.removeEventListener("mousemove",dde),document.removeEventListener("mouseup",ude)};document.addEventListener("mousemove",dde),document.addEventListener("mouseup",ude)},[e,F,W,U,V,L]),wt=k==="panel",he=r.leftPanel&&wt,Te=r.rightPanel&&wt,We=k==="focus"?"panel":k,Gt=De&&!Oe?Z:0,bt=!De||!Oe,Kn=r.nav?l:0,qn=r.statusBar?28:0,Y=he&&!z,fe=Te&&!E,Ee=c&&B,ze=Y?F:0,Fe=fe&&!Ee?W:0,ie=a==="auto"&&Ce-ze-Fe<s&&(ze>0||Fe>0),Ne=ie&&Fe>0,st=ie&&ze>0&&Ce-ze<s,_t=Y&&(a==="overlay"||st),Vt=fe&&(a==="overlay"||Ee||Ne),gn=_t?0:ze,fn=Vt?0:Fe,Cn=w.useMemo(()=>{if(!r.palette)return[];const pe=[];return r.leftPanel&&pe.push({id:"shell:toggle-left",label:"Toggle Left Panel",shortcut:"Cmd+[",action:()=>D(et=>!et)}),r.rightPanel&&pe.push({id:"shell:toggle-right",label:"Toggle Right Panel",shortcut:"Cmd+]",action:()=>Q(et=>!et)}),r.rightPanel&&c&&pe.push({id:"shell:toggle-right-overlay",label:"Toggle Inspector Overlay",shortcut:"Cmd+Shift+]",action:()=>q(et=>!et)}),r.terminal&&pe.push({id:"shell:toggle-terminal",label:"Toggle Terminal",shortcut:"Ctrl+`",action:()=>me(et=>!et)}),r.terminal&&t&&pe.push({id:"shell:toggle-assistant",label:"Toggle Assistant",shortcut:"Cmd+J",action:()=>{Xe("assistant"),me(et=>!et||qe!=="assistant")}}),_?.object&&pe.push({id:`shell:code-surface:${e.id}`,label:_.open?`Hide ${e.code?.label??_.label??"Code"}`:e.code?.commandLabel??e.code?.label??_.label??"View Code",icon:m.jsx(dr,{size:14}),action:()=>_.setOpen(!_.open)}),o&&pe.push({id:"shell:theme:light",label:"Theme: Light",action:()=>o.setTheme("light")},{id:"shell:theme:dark",label:"Theme: Dark",action:()=>o.setTheme("dark")},{id:"shell:theme:system",label:"Theme: System",action:()=>o.setTheme("system")},{id:"shell:template:hudson",label:"Template: Hudson",action:()=>o.setTemplate("hudson")},{id:"shell:template:editorial",label:"Template: Editorial",action:()=>o.setTemplate("editorial")},{id:"shell:template:drafting",label:"Template: Drafting",action:()=>o.setTemplate("drafting")}),pe},[qe,e.code?.commandLabel,e.code?.label,e.id,t,r.leftPanel,r.palette,r.rightPanel,r.terminal,_,c,Xe,D,Q,q,o]),Zo=w.useMemo(()=>[...d,...Cn],[d,Cn]);w.useEffect(()=>{const pe=et=>{N||(r.palette&&(et.metaKey||et.ctrlKey)&&et.key==="k"&&(et.preventDefault(),Je(!0)),r.leftPanel&&(et.metaKey||et.ctrlKey)&&et.key==="["&&(et.preventDefault(),D(ln=>!ln)),r.rightPanel&&(et.metaKey||et.ctrlKey)&&et.key==="]"&&(et.preventDefault(),c&&et.shiftKey?q(ln=>!ln):Q(ln=>!ln)),r.terminal&&et.ctrlKey&&et.key==="`"&&(et.preventDefault(),me(ln=>!ln)),r.terminal&&t&&(et.metaKey||et.ctrlKey)&&et.key==="j"&&(et.preventDefault(),Xe("assistant"),me(ln=>!(ln&&Ye==="assistant"))))};return window.addEventListener("keydown",pe),()=>window.removeEventListener("keydown",pe)},[D,Q,q,t,c,Ye,Xe,N,r.leftPanel,r.palette,r.rightPanel,r.terminal]);const DF=e.slots.Inspector,Jle=e.slots.RightPanel,xqe=e.tools&&e.tools.length>0,ede=_?.object?m.jsx("button",{type:"button",onClick:()=>_.setOpen(!_.open),className:`rounded p-1 transition-colors ${_.open?"bg-cyan-700/10 text-cyan-700 dark:bg-cyan-400/10 dark:text-cyan-200":"text-muted-foreground/80 hover:bg-muted/50 hover:text-foreground"}`,title:_.open?"Hide code":e.code?.label??_.label??"View code","aria-label":_.open?"Hide code":e.code?.label??_.label??"View code",children:m.jsx(dr,{size:12})}):null,tde=B?"Pin inspector (push content)":Ne?"Keep inspector floating when there is room":"Float inspector (overlay content)",nde=c?m.jsx("button",{type:"button",onClick:()=>q(pe=>Ne&&!pe?!0:!pe),className:"p-1 hover:bg-accent/10 rounded transition-colors text-muted-foreground hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",title:tde,"aria-label":tde,children:Vt?m.jsx(T1,{size:12}):m.jsx(E1,{size:12})}):null,Oqe=nde||ede||e.rightPanel?.headerActions?m.jsxs("div",{className:"flex items-center gap-1",children:[nde,ede,e.rightPanel?.headerActions&&m.jsx(e.rightPanel.headerActions,{})]}):void 0,vqe=m.jsxs(m.Fragment,{children:[M&&_?.object&&m.jsx(xz,{object:_.object,placement:"inspector",onClose:()=>_.setOpen(!1),className:"min-h-[420px]"}),DF&&m.jsx(Gf,{appName:e.name,slotName:"Inspector",children:m.jsx(DF,{})}),!DF&&Jle&&m.jsx(Gf,{appName:e.name,slotName:"RightPanel",children:m.jsx(Jle,{})}),xqe&&m.jsx("div",{className:"border-t border-border/60",children:e.tools.map(pe=>{const et=Qe.has(pe.id);return m.jsxs("div",{children:[m.jsxs("button",{onClick:()=>ft(pe.id),className:`w-full flex items-center gap-2 px-4 py-2.5 text-[10px] font-mono tracking-[0.18em] uppercase transition-colors hover:bg-accent/10 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset focus-visible:outline-none ${O===pe.id?"text-accent":"text-muted-foreground"}`,children:[et?m.jsx(t1,{size:10}):m.jsx(n1,{size:10}),m.jsx("span",{className:"text-muted-foreground/70",children:pe.icon}),m.jsx("span",{className:(O===pe.id,""),children:pe.name})]}),et&&m.jsx("div",{className:"px-4 pb-3",children:m.jsx(pe.Component,{})})]},pe.id)})})]}),wqe=e.slots.LeftFooter?m.jsx(Gf,{appName:e.name,slotName:"LeftFooter",children:m.jsx(e.slots.LeftFooter,{})}):void 0,_qe=r.palette?m.jsx(Vve,{onOpenCommandPalette:()=>Je(!0)}):void 0,ode=w.useRef(null),rde=w.useRef(null);w.useEffect(()=>{const pe=ode.current;pe&&(N?pe.setAttribute("inert",""):pe.removeAttribute("inert"))},[N]),w.useEffect(()=>{if(!N)return;const pe=rde.current;if(pe&&(pe.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')??pe).focus(),!$)return;const et=ln=>{ln.key==="Escape"&&(ln.preventDefault(),T?.())};return window.addEventListener("keydown",et),()=>window.removeEventListener("keydown",et)},[N,$,T]);const Mqe=We==="panel"?{position:"absolute",top:Kn,bottom:qn,left:gn,right:fn,overflow:"auto",transition:"top 200ms ease, bottom 200ms ease, left 200ms ease, right 200ms ease"}:{},jE=r.terminal,VE=r.palette,ide=w.useMemo(()=>({isOpen:jE&&De,activeTab:_e.length>0?Ye:null,availableTabs:_e,isMaximized:Oe,height:Z,open:pe=>{jE&&(pe&&_e.includes(pe)&&Xe(pe),me(!0))},close:()=>me(!1),toggle:pe=>{jE&&me(et=>et?pe&&_e.includes(pe)&&Ye!==pe?(Xe(pe),!0):!1:(pe&&_e.includes(pe)&&Xe(pe),!0))},setTab:pe=>{_e.includes(pe)&&Xe(pe)},maximize:()=>de(pe=>!pe),setHeight:pe=>X(pe)}),[jE,De,_e,Ye,Oe,Z,Xe,me,de,X]),ade=w.useMemo(()=>({isOpen:VE&&Le,open:()=>{VE&&Je(!0)},close:()=>Je(!1),toggle:()=>{VE&&Je(pe=>!pe)}}),[VE,Le]),sde=w.useMemo(()=>({isCollapsed:he?z:!0,width:F,isFloating:_t,toggle:()=>D(pe=>!pe),setCollapsed:pe=>D(pe),setWidth:pe=>V(Kf(e,"left",pe,U))}),[e,he,z,F,_t,U,D,V]),QF=w.useMemo(()=>c?{isPinned:!B,toggle:()=>q(pe=>!pe),setPinned:pe=>q(!pe)}:void 0,[c,B,q]),cde=w.useMemo(()=>({isCollapsed:Te?E:!0,width:W,isFloating:Vt,toggle:()=>Q(pe=>!pe),setCollapsed:pe=>Q(pe),setWidth:pe=>L(Kf(e,"right",pe,U)),...QF?{pin:QF}:{}}),[e,Te,E,W,Vt,QF,U,Q,L]),Sqe=w.useMemo(()=>({drawer:ide,palette:ade,leftPanel:sde,rightPanel:cde}),[ide,ade,sde,cde]),$qe=m.jsxs(m.Fragment,{children:[m.jsx("div",{ref:ode,"aria-hidden":N?!0:void 0,style:{display:"contents"},children:m.jsx(Lve,{mode:We,panOffset:te,scale:Ae,onPan:ge,onZoom:xe,zoomControlsRightOffset:wt&&!E&&!Vt?W:0,zoomControlsBottomOffset:Gt,showZoomControls:bt,hud:m.jsxs(m.Fragment,{children:[r.nav&&m.jsx(Ave,{title:e.name.toUpperCase(),subtitle:e.icon,search:y??void 0,center:g,actions:m.jsxs(m.Fragment,{children:[b,_?.object&&e.code?.navAction===!0&&m.jsx("button",{type:"button",onClick:()=>_.setOpen(!_.open),className:`p-1.5 rounded border transition-colors ${_.open?"border-cyan-700/25 bg-cyan-700/10 text-cyan-700 dark:border-cyan-300/20 dark:bg-cyan-400/10 dark:text-cyan-200":"border-transparent text-foreground/70 hover:bg-muted hover:text-foreground hover:border-border"}`,title:_.open?"Hide code":e.code?.label??_.label??"View code","aria-label":_.open?"Hide code":e.code?.label??_.label??"View code",children:m.jsx(dr,{size:14})})]})}),he&&m.jsx(kG,{side:"left",title:e.leftPanel?.title??"Navigation",icon:e.leftPanel?.icon,isCollapsed:z,onToggleCollapse:()=>D(!z),width:F,onResizeStart:Yt("left"),floating:_t,footer:wqe,headerActions:e.leftPanel?.headerActions&&m.jsx(e.leftPanel.headerActions,{}),style:{top:Kn,bottom:qn},children:e.slots.LeftPanel&&m.jsx(Gf,{appName:e.name,slotName:"LeftPanel",children:m.jsx(e.slots.LeftPanel,{})})}),Te&&m.jsx(kG,{side:"right",title:e.rightPanel?.title??"Inspector",icon:e.rightPanel?.icon,isCollapsed:E,onToggleCollapse:()=>Q(!E),width:W,onResizeStart:Yt("right"),floating:Vt,footer:_qe,headerActions:Oqe,style:{top:Kn,bottom:qn},children:vqe}),r.statusBar&&m.jsx(Qve,{status:u,left:h,right:p,onToggleTerminal:r.terminal?()=>me(pe=>!pe):void 0,isTerminalOpen:r.terminal?De:!1}),r.terminal&&m.jsx("div",{className:"pointer-events-none",style:{position:"fixed",left:gn,right:fn,bottom:0,top:0,zIndex:45,transition:"left 200ms ease, right 200ms ease",transform:"translateZ(0)"},children:m.jsxs(Fve,{isOpen:De,onClose:()=>me(!1),onToggleMaximize:()=>de(pe=>!pe),isMaximized:Oe,height:Z,onHeightChange:X,title:m.jsx(a3e,{tabs:_e,active:Ye,onSelect:Xe}),children:[Ye==="terminal"&&(e.slots.Terminal?m.jsx(e.slots.Terminal,{}):m.jsx("div",{className:"p-4 font-mono text-[12px] text-muted-foreground",children:"No terminal content"})),Ye==="assistant"&&m.jsx(x2e,{app:e,commands:d})]})}),_?.open&&_.object&&v==="sheet"&&m.jsx("div",{className:"pointer-events-auto fixed bottom-7 right-0 top-12 z-[44]","aria-label":e.code?.label??_.label??"Object code",children:m.jsx(xz,{object:_.object,placement:"sheet",onClose:()=>_.setOpen(!1),width:le,onWidthChange:re})}),_?.open&&_.object&&v==="workbench"&&m.jsx("div",{className:"pointer-events-none fixed bottom-7 top-12 z-[44]",style:{left:H==="full"?0:gn,right:H==="full"?0:fn},"aria-label":e.code?.label??_.label??"Object code",children:m.jsx(Y2e,{object:_.object,size:H,onSizeChange:ue,onClose:()=>_.setOpen(!1),chat:_.chat,editorWidth:be,chatWidth:oe,onEditorWidthChange:G,onChatWidthChange:ne})}),r.palette&&m.jsx(Xve,{isOpen:Le,onClose:()=>Je(!1),commands:Zo})]}),children:m.jsx("div",{style:Mqe,className:"frame-scrollbar select-text",children:m.jsx(Gf,{appName:e.name,slotName:"Content",children:m.jsx(e.slots.Content,{})})})})}),N&&P?m.jsx("div",{ref:rde,tabIndex:-1,role:"dialog","aria-modal":"true",style:{position:"fixed",inset:0,zIndex:80,outline:"none"},children:m.jsx(P,{})}):null]}),lde=m.jsx(Wve,{value:Sqe,children:$qe});return o?m.jsx("div",{...o.resolvedTheme?{"data-hudson-theme":o.resolvedTheme}:{},"data-hudson-template":o.template,children:lde}):lde}function a3e({tabs:e,active:t,onSelect:n}){return e.length===0?null:m.jsx("div",{className:"flex items-center gap-0.5",children:e.map(o=>{const r=o===t,i=o==="terminal"?td:Gr,a=o==="terminal"?"TERMINAL":"ASSISTANT",s=o==="terminal"?"text-accent bg-accent/10":"text-info bg-info/10";return m.jsxs("button",{type:"button",onClick:()=>n(o),className:`flex items-center gap-1.5 px-2.5 py-1 rounded text-[10px] tracking-[0.18em] uppercase font-mono transition-colors focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none ${r?s:"text-muted-foreground hover:text-foreground hover:bg-muted/70 font-normal"}`,children:[m.jsx(i,{size:12}),m.jsx("span",{children:a})]},o)})})}const s3e="0.9.1",c3e={width:1600,height:900},OG={enabled:!0,size:24,color:"#71717a",opacity:.1,type:"dots"},l3e=[{name:"Zinc",value:"#71717a"},{name:"Sky",value:"#38bdf8"},{name:"Violet",value:"#a78bfa"},{name:"Emerald",value:"#34d399"}],Nt={xs:{width:80,height:36},s:{width:110,height:48},m:{width:160,height:75},l:{width:220,height:90}},d3e={xpc:{color:"emerald",strokeWidth:2,label:"XPC"},http:{color:"amber",strokeWidth:2,label:"HTTP"},tailscale:{color:"zinc",strokeWidth:2,label:"Tailscale"},cloudkit:{color:"sky",strokeWidth:2,label:"CloudKit",dashed:!0},audio:{color:"emerald",strokeWidth:3,label:"audio"},peer:{color:"zinc",strokeWidth:1.5,dashed:!0}},u3e=["top","right","bottom","left","bottomRight","bottomLeft"],vG=["violet","emerald","blue","amber","zinc","sky"],nh={violet:"#7c6bcf",emerald:"#1f7a65",blue:"#2e5fa5",amber:"#c4922a",zinc:"#6b757a",sky:"#3d8fd1"},h3e=["xs","s","m","l"],Ji=0;function f3e(e,t){const n=e[t];if(!n)return null;const o=Nt[n.size]||Nt.m;return{...n,...o}}function Jf(e,t,n){const o=f3e(e,t);if(!o)return{x:0,y:0};switch(n){case"left":return{x:o.x-Ji,y:o.y+o.height/2};case"right":return{x:o.x+o.width+Ji,y:o.y+o.height/2};case"top":return{x:o.x+o.width/2,y:o.y-Ji};case"bottom":return{x:o.x+o.width/2,y:o.y+o.height+Ji};case"bottomRight":return{x:o.x+o.width+Ji,y:o.y+o.height-15};case"bottomLeft":return{x:o.x-Ji,y:o.y+o.height-15};case"topRight":return{x:o.x+o.width+Ji,y:o.y+15};case"topLeft":return{x:o.x-Ji,y:o.y+15};default:return{x:o.x+o.width/2,y:o.y+o.height/2}}}const p3e=["top","right","bottom","left"];function m3e(e,t,n,o){let r="right",i=1/0;for(const a of p3e){const s=Jf(e,t,a),c=(s.x-n)**2+(s.y-o)**2;c<i&&(i=c,r=a)}return r}function wG(e,t,n){let o=null;for(const[r,i]of Object.entries(e)){if(!t[r])continue;const a=Nt[i.size]||Nt.m,s=i.width||a.width,c=i.height||a.height;n.x>=i.x&&n.x<=i.x+s&&n.y>=i.y&&n.y<=i.y+c&&(o=r)}return o}function y3e(e,t){return{x:(e.x+t.x)/2,y:(e.y+t.y)/2}}function _G(){return`node_${crypto.randomUUID().slice(0,8)}`}function MG(e,t,n){let o=1/0,r=1/0,i=-1/0,a=-1/0,s=!1;for(const c of Object.values(e)){const l=Nt[c.size]||Nt.m,d=c.width||l.width,u=c.height||l.height;o=Math.min(o,c.x),r=Math.min(r,c.y),i=Math.max(i,c.x+d),a=Math.max(a,c.y+u),s=!0}for(const c of t||[])o=Math.min(o,c.x),r=Math.min(r,c.y),i=Math.max(i,c.x+c.width),a=Math.max(a,c.y+c.height),s=!0;for(const c of n||[])o=Math.min(o,c.x),r=Math.min(r,c.y),i=Math.max(i,c.x+c.width),a=Math.max(a,c.y+c.height),s=!0;return s?{minX:o,minY:r,maxX:i,maxY:a}:null}const SG={Monitor:$1,Server:q1,Smartphone:X1,Watch:ef,Cloud:r1,Cpu:s1,Database:l1,HardDrive:g1,Wifi:tf,Globe:m1,User:Y1,Users:G1,Lock:v1,Key:x1,Shield:H1,Mic:bu,Camera:e1,Speaker:R1,Headphones:k1,Code:i1,Terminal:td,FileCode:mu,Folder:f1,Zap:nf,Activity:Yh,BarChart:xi,PieChart:Oi,ArrowRight:Kh,ArrowDown:Gh,RefreshCw:_u,Repeat:D1,Box:Xr,Package:C1,Layers:Ur,Grid:No,Settings:B1,Bell:Jh,Mail:w1,MessageSquare:Tc,Search:Yr,Filter:_i,Download:d1,Upload:U1,Play:z1,Pause:A1,Square:Pi,Circle:Ps},$G=Object.keys(SG);function sA(e){return SG[e]||Xr}const g3e="Box",IQ={talkie:{id:"talkie",name:"Talkie Docs",description:"Dark theme matching Talkie documentation",canvas:{background:"bg-zinc-950",border:"border-zinc-800",grid:{color:"rgb(113 113 122)",size:24,opacity:.1}},node:{background:"bg-zinc-900",border:"border-zinc-800",borderRadius:"rounded-xl",accentPosition:"left",accentWidth:4,textColor:"text-white",subtitleStyle:"colored",descriptionColor:"text-zinc-500",iconBackground:"bg-zinc-900",iconBorderStyle:"colored"},connector:{defaultDashed:!0,defaultStrokeWidth:2,arrowStyle:"filled",labelFont:"ui-monospace, monospace",labelSize:11}},blueprint:{id:"blueprint",name:"Blueprint",description:"Technical blueprint style with blue tones",canvas:{background:"bg-slate-900",border:"border-slate-700",grid:{color:"rgb(71 85 105)",size:20,opacity:.2}},node:{background:"bg-slate-800/80",border:"border-slate-600",borderRadius:"rounded-lg",accentPosition:"top",accentWidth:3,textColor:"text-slate-100",subtitleStyle:"muted",descriptionColor:"text-slate-400",iconBackground:"bg-slate-700/50",iconBorderStyle:"muted"},connector:{defaultDashed:!1,defaultStrokeWidth:2,arrowStyle:"filled",labelFont:"ui-sans-serif, system-ui",labelSize:10}},light:{id:"light",name:"Light Mode",description:"Clean light theme for documents",canvas:{background:"bg-white",border:"border-zinc-200",grid:{color:"rgb(161 161 170)",size:24,opacity:.15}},node:{background:"bg-white",border:"border-zinc-200",borderRadius:"rounded-xl",accentPosition:"left",accentWidth:4,textColor:"text-zinc-900",subtitleStyle:"colored",descriptionColor:"text-zinc-500",iconBackground:"bg-zinc-50",iconBorderStyle:"colored"},connector:{defaultDashed:!0,defaultStrokeWidth:2,arrowStyle:"filled",labelFont:"ui-monospace, monospace",labelSize:11}},minimal:{id:"minimal",name:"Minimal",description:"Simple and clean with subtle styling",canvas:{background:"bg-zinc-900",border:"border-zinc-800",grid:{color:"transparent",size:0,opacity:0}},node:{background:"bg-zinc-800/60",border:"border-zinc-700/50",borderRadius:"rounded-2xl",accentPosition:"none",accentWidth:0,textColor:"text-zinc-100",subtitleStyle:"muted",descriptionColor:"text-zinc-500",iconBackground:"bg-transparent",iconBorderStyle:"none"},connector:{defaultDashed:!1,defaultStrokeWidth:1.5,arrowStyle:"outline",labelFont:"ui-sans-serif, system-ui",labelSize:10}}},CG="talkie";function NG(e){return IQ[e]||IQ[CG]}function k3e(){return Object.values(IQ).map(e=>({id:e.id,name:e.name,description:e.description}))}const LG=()=>({layout:{...c3e},grid:{...OG},nodes:{},nodeData:{},connectors:[],connectorStyles:{...d3e},groups:[],images:[],exportZone:null}),ep={diagram:LG(),editor:{selectedNodeIds:[],selectedConnectorIndex:null,selectedGroupId:null,selectedImageId:null,mode:"select",pendingConnector:null,pendingGroup:null,isDragging:!1,dragOffset:{x:0,y:0},dragNodeOffsets:{},template:CG,zoom:1,viewMode:"2d",isoStyle:"solid",themeId:"command",colorMode:"dark"},meta:{filename:null,isDirty:!1,lastSaved:null,diagramMeta:{}},history:{past:[],future:[]}};function Jt(e){return{...e,history:{past:[...e.history.past.slice(-49),e.diagram],future:[]},meta:{...e.meta,isDirty:!0}}}function b3e(e,t){switch(t.type){case"node/add":{const{position:n,nodeData:o}=t,r=_G(),i=Jt(e);return{...i,diagram:{...i.diagram,nodes:{...i.diagram.nodes,[r]:{x:n.x,y:n.y,size:"m"}},nodeData:{...i.diagram.nodeData,[r]:{icon:g3e,name:"New Node",subtitle:"",description:"",color:"violet",...o}}},editor:{...i.editor,selectedNodeIds:[r],selectedConnectorIndex:null,mode:"select"}}}case"node/duplicate":{const n=t.nodeId,o=e.diagram.nodes[n],r=e.diagram.nodeData[n];if(!o||!r)return e;const i=_G(),a=Jt(e);return{...a,diagram:{...a.diagram,nodes:{...a.diagram.nodes,[i]:{...o,x:o.x+24,y:o.y+24}},nodeData:{...a.diagram.nodeData,[i]:{...r}}},editor:{...a.editor,selectedNodeIds:[i],selectedConnectorIndex:null,selectedGroupId:null,selectedImageId:null}}}case"node/remove":{const{nodeId:n}=t,o=Jt(e),{[n]:r,...i}=o.diagram.nodes,{[n]:a,...s}=o.diagram.nodeData,c=o.diagram.connectors.filter(l=>l.from!==n&&l.to!==n);return{...o,diagram:{...o.diagram,nodes:i,nodeData:s,connectors:c},editor:{...o.editor,selectedNodeIds:[],selectedConnectorIndex:null}}}case"node/move":{const{nodeId:n,x:o,y:r}=t;return{...e,diagram:{...e.diagram,nodes:{...e.diagram.nodes,[n]:{...e.diagram.nodes[n],x:o,y:r}}},meta:{...e.meta,isDirty:!0}}}case"nodes/move":{const{moves:n}=t,o={...e.diagram.nodes};for(const{nodeId:r,x:i,y:a}of n)o[r]&&(o[r]={...o[r],x:i,y:a});return{...e,diagram:{...e.diagram,nodes:o},meta:{...e.meta,isDirty:!0}}}case"node/update":{const{nodeId:n,updates:o}=t,r=Jt(e),i={...r.diagram.nodeData[n],...o};for(const a of Object.keys(o))o[a]===void 0&&delete i[a];return{...r,diagram:{...r.diagram,nodeData:{...r.diagram.nodeData,[n]:i}}}}case"node/resize":{const{nodeId:n,size:o,width:r,height:i}=t,a=Jt(e),c={...a.diagram.nodes[n]};return o!==void 0&&(c.size=o,delete c.width,delete c.height),r!==void 0&&(c.width=r),i!==void 0&&(c.height=i),{...a,diagram:{...a.diagram,nodes:{...a.diagram.nodes,[n]:c}}}}case"node/updatePosition":{const{nodeId:n,updates:o}=t,r=Jt(e),a={...r.diagram.nodes[n],...o};for(const s of Object.keys(o))o[s]===void 0&&delete a[s];return{...r,diagram:{...r.diagram,nodes:{...r.diagram.nodes,[n]:a}}}}case"connector/add":{const{from:n,to:o,fromAnchor:r,toAnchor:i,style:a="http"}=t,s=Jt(e);return{...s,diagram:{...s.diagram,connectors:[...s.diagram.connectors,{from:n,to:o,fromAnchor:r,toAnchor:i,style:a}]},editor:{...s.editor,selectedNodeIds:[],selectedConnectorIndex:s.diagram.connectors.length,mode:"select",pendingConnector:null}}}case"connector/remove":{const{index:n}=t,o=Jt(e);return{...o,diagram:{...o.diagram,connectors:o.diagram.connectors.filter((r,i)=>i!==n)},editor:{...o.editor,selectedConnectorIndex:null}}}case"connector/update":{const{index:n,updates:o}=t,r=Jt(e);return{...r,diagram:{...r.diagram,connectors:r.diagram.connectors.map((i,a)=>a===n?{...i,...o}:i)}}}case"connectorStyle/update":{const{styleName:n,updates:o}=t,r=Jt(e);return{...r,diagram:{...r.diagram,connectorStyles:{...r.diagram.connectorStyles,[n]:{...r.diagram.connectorStyles[n],...o}}}}}case"connectorStyle/add":{const{styleName:n,style:o}=t,r=Jt(e);return{...r,diagram:{...r.diagram,connectorStyles:{...r.diagram.connectorStyles,[n]:o}}}}case"connectorStyle/delete":{const{styleName:n}=t,o=Jt(e),{[n]:r,...i}=o.diagram.connectorStyles;return{...o,diagram:{...o.diagram,connectorStyles:i}}}case"group/add":{const{group:n}=t,o=`group_${crypto.randomUUID().slice(0,8)}`,r=Jt(e),i=r.diagram.groups||[];return{...r,diagram:{...r.diagram,groups:[...i,{id:o,...n}]},editor:{...r.editor,selectedGroupId:o,selectedNodeIds:[],selectedConnectorIndex:null}}}case"group/update":{const{groupId:n,updates:o}=t,r=Jt(e),i=r.diagram.groups||[];return{...r,diagram:{...r.diagram,groups:i.map(a=>a.id===n?{...a,...o}:a)}}}case"group/remove":{const{groupId:n}=t,o=Jt(e),r=o.diagram.groups||[];return{...o,diagram:{...o.diagram,groups:r.filter(i=>i.id!==n)},editor:{...o.editor,selectedGroupId:null}}}case"select/group":return{...e,editor:{...e.editor,selectedGroupId:t.groupId,selectedNodeIds:[],selectedConnectorIndex:null,selectedImageId:null}};case"image/add":{const{image:n}=t,o=`img_${crypto.randomUUID().slice(0,8)}`,r=Jt(e),i=r.diagram.images||[];return{...r,diagram:{...r.diagram,images:[...i,{id:o,...n}]},editor:{...r.editor,selectedImageId:o,selectedNodeIds:[],selectedConnectorIndex:null,selectedGroupId:null}}}case"image/update":{const{imageId:n,updates:o}=t,r=Jt(e),i=r.diagram.images||[];return{...r,diagram:{...r.diagram,images:i.map(a=>a.id===n?{...a,...o}:a)}}}case"image/remove":{const{imageId:n}=t,o=Jt(e),r=o.diagram.images||[];return{...o,diagram:{...o.diagram,images:r.filter(i=>i.id!==n)},editor:{...o.editor,selectedImageId:null}}}case"select/image":return{...e,editor:{...e.editor,selectedImageId:t.imageId,selectedNodeIds:[],selectedConnectorIndex:null,selectedGroupId:null}};case"exportZone/set":{const{zone:n}=t;return{...e,diagram:{...e.diagram,exportZone:n},meta:{...e.meta,isDirty:!0}}}case"exportZone/clear":return{...e,diagram:{...e.diagram,exportZone:null},meta:{...e.meta,isDirty:!0}};case"select/node":{const{nodeId:n,addToSelection:o}=t;let r;return o?e.editor.selectedNodeIds.includes(n)?r=e.editor.selectedNodeIds.filter(i=>i!==n):r=[...e.editor.selectedNodeIds,n]:r=[n],{...e,editor:{...e.editor,selectedNodeIds:r,selectedConnectorIndex:null,selectedGroupId:null,selectedImageId:null}}}case"select/nodes":return{...e,editor:{...e.editor,selectedNodeIds:t.nodeIds,selectedConnectorIndex:null,selectedGroupId:null,selectedImageId:null}};case"select/connector":return{...e,editor:{...e.editor,selectedNodeIds:[],selectedConnectorIndex:t.index,selectedGroupId:null,selectedImageId:null}};case"select/clear":return{...e,editor:{...e.editor,selectedNodeIds:[],selectedConnectorIndex:null,selectedGroupId:null,selectedImageId:null}};case"mode/set":return{...e,editor:{...e.editor,mode:t.mode,pendingConnector:null,selectedNodeIds:[],selectedConnectorIndex:null}};case"pending/set":return{...e,editor:{...e.editor,pendingConnector:t.pendingConnector}};case"pending/clear":return{...e,editor:{...e.editor,pendingConnector:null}};case"drag/start":{const{offset:n,nodeOffsets:o,selectedIds:r}=t;return{...e,editor:{...e.editor,isDragging:!0,dragOffset:n,dragNodeOffsets:o||{},selectedNodeIds:r||e.editor.selectedNodeIds,selectedConnectorIndex:null,selectedGroupId:null,selectedImageId:null}}}case"drag/end":{const n=Jt(e);return{...n,editor:{...n.editor,isDragging:!1,dragOffset:{x:0,y:0},dragNodeOffsets:{}}}}case"diagram/replace":{const n=t.diagram||{};return{...Jt(e),diagram:{...e.diagram,layout:n.layout??e.diagram.layout,nodes:n.nodes??{},nodeData:n.nodeData??{},connectors:n.connectors??[],connectorStyles:n.connectorStyles??e.diagram.connectorStyles,groups:n.groups??[],focusTargets:n.focusTargets},editor:{...e.editor,selectedNodeIds:(e.editor.selectedNodeIds||[]).filter(o=>n.nodes&&Object.prototype.hasOwnProperty.call(n.nodes,o)),selectedConnectorIndex:null}}}case"diagram/load":return{...e,diagram:t.diagram,meta:{filename:t.filename||null,isDirty:!1,lastSaved:null,diagramMeta:t.diagramMeta||e.meta.diagramMeta||{}},history:{past:[],future:[]},editor:{...e.editor,selectedNodeIds:[],selectedConnectorIndex:null,mode:"select",pendingConnector:null,themeId:t.diagramMeta?.themeId??e.editor.themeId,colorMode:t.diagramMeta?.colorMode??e.editor.colorMode}};case"diagram/new":return{...ep,diagram:LG(),editor:{...ep.editor,themeId:null,colorMode:"dark"},meta:{...ep.meta,diagramMeta:{}}};case"diagram/saved":return{...e,meta:{...e.meta,filename:t.filename||e.meta.filename,isDirty:!1,lastSaved:new Date().toISOString()}};case"undo":{if(e.history.past.length===0)return e;const n=e.history.past[e.history.past.length-1],o=e.history.past.slice(0,-1);return{...e,diagram:n,history:{past:o,future:[e.diagram,...e.history.future]},meta:{...e.meta,isDirty:!0}}}case"redo":{if(e.history.future.length===0)return e;const n=e.history.future[0],o=e.history.future.slice(1);return{...e,diagram:n,history:{past:[...e.history.past,e.diagram],future:o},meta:{...e.meta,isDirty:!0}}}case"layout/update":{const n=Jt(e);return{...n,diagram:{...n.diagram,layout:{...n.diagram.layout,...t.updates}}}}case"layout/expand":{const o=s=>Math.ceil(s/20)*20,r=e.diagram.layout,i=Math.max(r.width,o(t.width||r.width)),a=Math.max(r.height,o(t.height||r.height));return i===r.width&&a===r.height?e:{...e,diagram:{...e.diagram,layout:{...r,width:i,height:a}},meta:{...e.meta,isDirty:!0}}}case"grid/update":return{...e,diagram:{...e.diagram,grid:{...e.diagram.grid,...t.updates}}};case"template/set":{const n=NG(t.templateId);return{...e,diagram:{...e.diagram,grid:{...e.diagram.grid,color:n.canvas.grid.color,size:n.canvas.grid.size,opacity:n.canvas.grid.opacity}},editor:{...e.editor,template:t.templateId},meta:{...e.meta,isDirty:!0}}}case"zoom/set":return{...e,editor:{...e.editor,zoom:Math.min(2,Math.max(.25,t.zoom))}};case"viewMode/set":return{...e,editor:{...e.editor,viewMode:t.viewMode},meta:{...e.meta,diagramMeta:{...e.meta.diagramMeta,viewMode:t.viewMode}}};case"isoStyle/set":return{...e,editor:{...e.editor,isoStyle:t.isoStyle},meta:{...e.meta,isDirty:!0,diagramMeta:{...e.meta.diagramMeta,isoStyle:t.isoStyle}}};case"theme/set":return{...e,editor:{...e.editor,themeId:t.themeId},meta:{...e.meta,isDirty:!0,diagramMeta:{...e.meta.diagramMeta,themeId:t.themeId}}};case"colorMode/set":return{...e,editor:{...e.editor,colorMode:t.colorMode},meta:{...e.meta,diagramMeta:{...e.meta.diagramMeta,colorMode:t.colorMode}}};case"diagramMeta/set":return{...e,meta:{...e.meta,diagramMeta:{...e.meta.diagramMeta,...t.diagramMeta}}};default:return e}}function PG(e){if(e?.nodeRadius!=null)return e.nodeRadius;switch(e?.nodeShape){case"square":return"0px";case"chamfer":case"notch":return"0px";case"pill":return"9999px";default:return}}const x3e={id:"default",name:"Default",description:"Clean, neutral colors",light:{palette:{violet:{border:"border-violet-300",bg:"bg-gradient-to-br from-violet-50 to-violet-100/50",icon:"text-violet-600",stroke:"#8b5cf6"},emerald:{border:"border-emerald-300",bg:"bg-gradient-to-br from-emerald-50 to-emerald-100/50",icon:"text-emerald-600",stroke:"#10b981"},blue:{border:"border-blue-300",bg:"bg-gradient-to-br from-blue-50 to-blue-100/50",icon:"text-blue-600",stroke:"#3b82f6"},amber:{border:"border-amber-300",bg:"bg-gradient-to-br from-amber-50 to-amber-100/50",icon:"text-amber-600",stroke:"#f59e0b"},sky:{border:"border-sky-300",bg:"bg-gradient-to-br from-sky-50 to-sky-100/50",icon:"text-sky-600",stroke:"#0ea5e9"},zinc:{border:"border-zinc-300",bg:"bg-gradient-to-br from-zinc-50 to-zinc-100/50",icon:"text-zinc-600",stroke:"#71717a"},rose:{border:"border-rose-300",bg:"bg-gradient-to-br from-rose-50 to-rose-100/50",icon:"text-rose-600",stroke:"#f43f5e"},orange:{border:"border-orange-300",bg:"bg-gradient-to-br from-orange-50 to-orange-100/50",icon:"text-orange-600",stroke:"#f97316"}},background:{container:"bg-white/80 border border-zinc-200 shadow-lg",grid:{color:"rgba(16, 21, 24, 0.12)",opacity:.35,size:24}},text:{primary:"text-zinc-900",secondary:"text-zinc-600",muted:"text-zinc-500"}},dark:{palette:{violet:{border:"border-violet-400/50",bg:"bg-violet-500/10",icon:"text-violet-400",stroke:"#a78bfa"},emerald:{border:"border-emerald-400/50",bg:"bg-emerald-500/10",icon:"text-emerald-400",stroke:"#34d399"},blue:{border:"border-blue-400/50",bg:"bg-blue-500/10",icon:"text-blue-400",stroke:"#60a5fa"},amber:{border:"border-amber-400/50",bg:"bg-amber-500/10",icon:"text-amber-400",stroke:"#fbbf24"},sky:{border:"border-sky-400/50",bg:"bg-sky-500/10",icon:"text-sky-400",stroke:"#38bdf8"},zinc:{border:"border-zinc-600",bg:"bg-zinc-800/50",icon:"text-zinc-400",stroke:"#71717a"},rose:{border:"border-rose-400/50",bg:"bg-rose-500/10",icon:"text-rose-400",stroke:"#fb7185"},orange:{border:"border-orange-400/50",bg:"bg-orange-500/10",icon:"text-orange-400",stroke:"#fb923c"}},background:{container:"bg-zinc-950 border border-zinc-800",grid:{color:"#71717a",opacity:.08,size:24}},text:{primary:"text-white",secondary:"text-zinc-400",muted:"text-zinc-600"}}},O3e={id:"warm",name:"Warm",description:"Soft, editorial warmth",light:{palette:{violet:{border:"border-violet-300/70",bg:"bg-gradient-to-br from-violet-50/90 to-violet-100/50",icon:"text-violet-500",stroke:"#a78bfa"},emerald:{border:"border-emerald-300/70",bg:"bg-gradient-to-br from-emerald-50/90 to-emerald-100/50",icon:"text-emerald-500",stroke:"#6ee7b7"},blue:{border:"border-blue-300/70",bg:"bg-gradient-to-br from-blue-50/90 to-blue-100/50",icon:"text-blue-500",stroke:"#93c5fd"},amber:{border:"border-amber-300/70",bg:"bg-gradient-to-br from-amber-50/90 to-amber-100/50",icon:"text-amber-500",stroke:"#fcd34d"},sky:{border:"border-sky-300/70",bg:"bg-gradient-to-br from-sky-50/90 to-sky-100/50",icon:"text-sky-500",stroke:"#7dd3fc"},zinc:{border:"border-stone-300/70",bg:"bg-gradient-to-br from-stone-50/90 to-stone-100/50",icon:"text-stone-500",stroke:"#a8a29e"},rose:{border:"border-rose-300/70",bg:"bg-gradient-to-br from-rose-50/90 to-rose-100/50",icon:"text-rose-500",stroke:"#fda4af"},orange:{border:"border-orange-300/70",bg:"bg-gradient-to-br from-orange-50/90 to-orange-100/50",icon:"text-orange-500",stroke:"#fdba74"}},background:{container:"bg-gradient-to-br from-amber-50/80 via-orange-50/40 to-stone-100/60 border border-stone-200/60",grid:{color:"rgba(180, 160, 140, 0.3)",opacity:.5,size:24}},text:{primary:"text-stone-800",secondary:"text-stone-600",muted:"text-stone-400"}},dark:{palette:{violet:{border:"border-violet-400/40",bg:"bg-violet-500/8",icon:"text-violet-300",stroke:"#c4b5fd"},emerald:{border:"border-emerald-400/40",bg:"bg-emerald-500/8",icon:"text-emerald-300",stroke:"#a7f3d0"},blue:{border:"border-blue-400/40",bg:"bg-blue-500/8",icon:"text-blue-300",stroke:"#bfdbfe"},amber:{border:"border-amber-400/40",bg:"bg-amber-500/8",icon:"text-amber-300",stroke:"#fde68a"},sky:{border:"border-sky-400/40",bg:"bg-sky-500/8",icon:"text-sky-300",stroke:"#bae6fd"},zinc:{border:"border-stone-500/40",bg:"bg-stone-600/10",icon:"text-stone-300",stroke:"#d6d3d1"},rose:{border:"border-rose-400/40",bg:"bg-rose-500/8",icon:"text-rose-300",stroke:"#fecdd3"},orange:{border:"border-orange-400/40",bg:"bg-orange-500/8",icon:"text-orange-300",stroke:"#fed7aa"}},background:{container:"bg-gradient-to-br from-stone-950 via-stone-900 to-stone-950 border border-stone-700/50",grid:{color:"rgba(168, 162, 158, 0.15)",opacity:.15,size:24}},text:{primary:"text-stone-100",secondary:"text-stone-400",muted:"text-stone-600"}},brand:{nodeDecor:"bar-left"}},v3e={id:"cool",name:"Cool",description:"Crisp, modern blues",light:{palette:{violet:{border:"border-indigo-300",bg:"bg-gradient-to-br from-indigo-50 to-indigo-100/50",icon:"text-indigo-600",stroke:"#6366f1"},emerald:{border:"border-teal-300",bg:"bg-gradient-to-br from-teal-50 to-teal-100/50",icon:"text-teal-600",stroke:"#14b8a6"},blue:{border:"border-blue-300",bg:"bg-gradient-to-br from-blue-50 to-blue-100/50",icon:"text-blue-600",stroke:"#3b82f6"},amber:{border:"border-cyan-300",bg:"bg-gradient-to-br from-cyan-50 to-cyan-100/50",icon:"text-cyan-600",stroke:"#06b6d4"},sky:{border:"border-sky-300",bg:"bg-gradient-to-br from-sky-50 to-sky-100/50",icon:"text-sky-600",stroke:"#0ea5e9"},zinc:{border:"border-slate-300",bg:"bg-gradient-to-br from-slate-50 to-slate-100/50",icon:"text-slate-600",stroke:"#64748b"},rose:{border:"border-fuchsia-300",bg:"bg-gradient-to-br from-fuchsia-50 to-fuchsia-100/50",icon:"text-fuchsia-600",stroke:"#d946ef"},orange:{border:"border-violet-300",bg:"bg-gradient-to-br from-violet-50 to-violet-100/50",icon:"text-violet-600",stroke:"#8b5cf6"}},background:{container:"bg-gradient-to-br from-slate-50 via-blue-50/30 to-slate-100 border border-slate-200",grid:{color:"rgba(71, 85, 105, 0.15)",opacity:.4,size:24}},text:{primary:"text-slate-900",secondary:"text-slate-600",muted:"text-slate-400"}},dark:{palette:{violet:{border:"border-indigo-400/50",bg:"bg-indigo-500/10",icon:"text-indigo-400",stroke:"#818cf8"},emerald:{border:"border-teal-400/50",bg:"bg-teal-500/10",icon:"text-teal-400",stroke:"#2dd4bf"},blue:{border:"border-blue-400/50",bg:"bg-blue-500/10",icon:"text-blue-400",stroke:"#60a5fa"},amber:{border:"border-cyan-400/50",bg:"bg-cyan-500/10",icon:"text-cyan-400",stroke:"#22d3ee"},sky:{border:"border-sky-400/50",bg:"bg-sky-500/10",icon:"text-sky-400",stroke:"#38bdf8"},zinc:{border:"border-slate-500",bg:"bg-slate-700/30",icon:"text-slate-400",stroke:"#94a3b8"},rose:{border:"border-fuchsia-400/50",bg:"bg-fuchsia-500/10",icon:"text-fuchsia-400",stroke:"#e879f9"},orange:{border:"border-violet-400/50",bg:"bg-violet-500/10",icon:"text-violet-400",stroke:"#a78bfa"}},background:{container:"bg-gradient-to-br from-slate-950 via-slate-900 to-slate-950 border border-slate-700",grid:{color:"rgba(148, 163, 184, 0.1)",opacity:.1,size:24}},text:{primary:"text-slate-100",secondary:"text-slate-400",muted:"text-slate-600"}},brand:{nodeDecor:"dot"}},w3e={id:"mono",name:"Mono",description:"Elegant grayscale",light:{palette:{violet:{border:"border-zinc-400",bg:"bg-gradient-to-br from-zinc-100 to-zinc-200/50",icon:"text-zinc-700",stroke:"#52525b"},emerald:{border:"border-zinc-400",bg:"bg-gradient-to-br from-zinc-100 to-zinc-200/50",icon:"text-zinc-700",stroke:"#52525b"},blue:{border:"border-zinc-400",bg:"bg-gradient-to-br from-zinc-100 to-zinc-200/50",icon:"text-zinc-700",stroke:"#52525b"},amber:{border:"border-zinc-400",bg:"bg-gradient-to-br from-zinc-100 to-zinc-200/50",icon:"text-zinc-700",stroke:"#52525b"},sky:{border:"border-zinc-400",bg:"bg-gradient-to-br from-zinc-100 to-zinc-200/50",icon:"text-zinc-700",stroke:"#52525b"},zinc:{border:"border-zinc-400",bg:"bg-gradient-to-br from-zinc-100 to-zinc-200/50",icon:"text-zinc-700",stroke:"#52525b"},rose:{border:"border-zinc-400",bg:"bg-gradient-to-br from-zinc-100 to-zinc-200/50",icon:"text-zinc-700",stroke:"#52525b"},orange:{border:"border-zinc-400",bg:"bg-gradient-to-br from-zinc-100 to-zinc-200/50",icon:"text-zinc-700",stroke:"#52525b"}},background:{container:"bg-zinc-100 border border-zinc-300",grid:{color:"rgba(63, 63, 70, 0.08)",opacity:.5,size:20}},text:{primary:"text-zinc-900",secondary:"text-zinc-600",muted:"text-zinc-400"}},dark:{palette:{violet:{border:"border-zinc-600",bg:"bg-zinc-800/60",icon:"text-zinc-300",stroke:"#a1a1aa"},emerald:{border:"border-zinc-600",bg:"bg-zinc-800/60",icon:"text-zinc-300",stroke:"#a1a1aa"},blue:{border:"border-zinc-600",bg:"bg-zinc-800/60",icon:"text-zinc-300",stroke:"#a1a1aa"},amber:{border:"border-zinc-600",bg:"bg-zinc-800/60",icon:"text-zinc-300",stroke:"#a1a1aa"},sky:{border:"border-zinc-600",bg:"bg-zinc-800/60",icon:"text-zinc-300",stroke:"#a1a1aa"},zinc:{border:"border-zinc-600",bg:"bg-zinc-800/60",icon:"text-zinc-300",stroke:"#a1a1aa"},rose:{border:"border-zinc-600",bg:"bg-zinc-800/60",icon:"text-zinc-300",stroke:"#a1a1aa"},orange:{border:"border-zinc-600",bg:"bg-zinc-800/60",icon:"text-zinc-300",stroke:"#a1a1aa"}},background:{container:"bg-zinc-900 border border-zinc-700",grid:{color:"rgba(161, 161, 170, 0.06)",opacity:.1,size:20}},text:{primary:"text-zinc-100",secondary:"text-zinc-400",muted:"text-zinc-600"}},brand:{nodeShape:"square",nodeDecor:"rule"}},AQ={violet:{border:"border-[#7c8cff]/55",bg:"bg-[#7c8cff]/[0.08]",icon:"text-[#7c8cff]",stroke:"#7c8cff"},emerald:{border:"border-[#2dd4bf]/55",bg:"bg-[#2dd4bf]/[0.08]",icon:"text-[#2dd4bf]",stroke:"#2dd4bf"},blue:{border:"border-[#4f8cff]/55",bg:"bg-[#4f8cff]/[0.08]",icon:"text-[#4f8cff]",stroke:"#4f8cff"},amber:{border:"border-[#e0a83d]/55",bg:"bg-[#e0a83d]/[0.08]",icon:"text-[#e0a83d]",stroke:"#e0a83d"},sky:{border:"border-[#54b6e6]/55",bg:"bg-[#54b6e6]/[0.08]",icon:"text-[#54b6e6]",stroke:"#54b6e6"},zinc:{border:"border-[#8b93a0]/55",bg:"bg-[#8b93a0]/[0.08]",icon:"text-[#8b93a0]",stroke:"#8b93a0"},rose:{border:"border-[#e0726e]/55",bg:"bg-[#e0726e]/[0.08]",icon:"text-[#e0726e]",stroke:"#e0726e"},orange:{border:"border-[#e0884a]/55",bg:"bg-[#e0884a]/[0.08]",icon:"text-[#e0884a]",stroke:"#e0884a"}},cA={default:x3e,warm:O3e,cool:v3e,mono:w3e,engineering:{id:"engineering",name:"Engineering",description:"Graph grid, technical mono",light:{palette:{violet:{border:"border-[#4589ff]",bg:"bg-[#4589ff]/10",icon:"text-[#4589ff]",stroke:"#4589ff"},emerald:{border:"border-[#007d79]",bg:"bg-[#007d79]/10",icon:"text-[#007d79]",stroke:"#007d79"},blue:{border:"border-[#0f62fe]",bg:"bg-[#0f62fe]/10",icon:"text-[#0f62fe]",stroke:"#0f62fe"},amber:{border:"border-[#6f6f6f]",bg:"bg-[#6f6f6f]/10",icon:"text-[#6f6f6f]",stroke:"#6f6f6f"},sky:{border:"border-[#1192e8]",bg:"bg-[#1192e8]/10",icon:"text-[#1192e8]",stroke:"#1192e8"},zinc:{border:"border-[#525252]",bg:"bg-[#525252]/10",icon:"text-[#525252]",stroke:"#525252"},rose:{border:"border-[#6f6f6f]",bg:"bg-[#6f6f6f]/10",icon:"text-[#6f6f6f]",stroke:"#6f6f6f"},orange:{border:"border-[#393939]",bg:"bg-[#393939]/10",icon:"text-[#393939]",stroke:"#393939"}},background:{container:"bg-[#f4f4f4] border border-[#e0e0e0] shadow-sm",grid:{color:"rgba(22, 22, 22, 0.08)",opacity:.4,size:16}},text:{primary:"text-[#161616]",secondary:"text-[#525252]",muted:"text-[#8d8d8d]"}},dark:{palette:AQ,background:{container:"bg-[#0e1116] border border-[#393939]",grid:{color:"rgba(125, 170, 255, 0.20)",opacity:1,size:18}},text:{primary:"text-[#f4f4f4]",secondary:"text-[#c6c6c6]",muted:"text-[#8d8d8d]"}},brand:{fontFamily:"system-ui, -apple-system, sans-serif",monoFamily:"'JetBrains Mono', ui-monospace, monospace",nodeShape:"square",nodeDecor:"ticks",nodeBorderWidth:"1px",upperLabels:!0,arrowhead:"chevron",gridType:"lines",frame:"sheet",titleBlock:!0}},workbench:{id:"workbench",name:"Workbench",description:"Slate workbench, intent colors",light:{palette:{violet:{border:"border-[#634dbf]",bg:"bg-[#634dbf]/10",icon:"text-[#634dbf]",stroke:"#634dbf"},emerald:{border:"border-[#238551]",bg:"bg-[#238551]/10",icon:"text-[#238551]",stroke:"#238551"},blue:{border:"border-[#2d72d2]",bg:"bg-[#2d72d2]/10",icon:"text-[#2d72d2]",stroke:"#2d72d2"},amber:{border:"border-[#c87619]",bg:"bg-[#c87619]/10",icon:"text-[#c87619]",stroke:"#c87619"},sky:{border:"border-[#147eb3]",bg:"bg-[#147eb3]/10",icon:"text-[#147eb3]",stroke:"#147eb3"},zinc:{border:"border-[#5f6b7c]",bg:"bg-[#5f6b7c]/10",icon:"text-[#5f6b7c]",stroke:"#5f6b7c"},rose:{border:"border-[#cd4246]",bg:"bg-[#cd4246]/10",icon:"text-[#cd4246]",stroke:"#cd4246"},orange:{border:"border-[#9e2b0e]",bg:"bg-[#9e2b0e]/10",icon:"text-[#9e2b0e]",stroke:"#9e2b0e"}},background:{container:"bg-[#f6f7f9] border border-[#d3d8de]",grid:{color:"rgba(95, 107, 124, 0.18)",opacity:.4,size:20}},text:{primary:"text-[#1c2127]",secondary:"text-[#404854]",muted:"text-[#738091]"}},dark:{palette:AQ,background:{container:"bg-[#1c2127] border border-[#2f343c]",grid:{color:"rgba(180, 188, 200, 0.22)",opacity:1,size:16}},text:{primary:"text-[#f6f7f9]",secondary:"text-[#abb3bf]",muted:"text-[#738091]"}},brand:{fontFamily:"'Inter', system-ui, sans-serif",monoFamily:"'JetBrains Mono', ui-monospace, monospace",fontImport:"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap",nodeRadius:"3px",nodeDecor:"rule",nodeBorderWidth:"1px",upperLabels:!1,arrowhead:"triangle",gridType:"dots",frame:"hairline"}},tactical:{id:"tactical",name:"Tactical",description:"Tactical black, signature amber",light:{palette:{violet:{border:"border-[#6b6b73]",bg:"bg-[#6b6b73]/[0.07]",icon:"text-[#6b6b73]",stroke:"#6b6b73"},emerald:{border:"border-[#5e6f50]",bg:"bg-[#5e6f50]/[0.07]",icon:"text-[#5e6f50]",stroke:"#5e6f50"},blue:{border:"border-[#5a6f80]",bg:"bg-[#5a6f80]/[0.07]",icon:"text-[#5a6f80]",stroke:"#5a6f80"},amber:{border:"border-[#a8741a]",bg:"bg-[#a8741a]/[0.14]",icon:"text-[#a8741a]",stroke:"#a8741a"},sky:{border:"border-[#5f7d87]",bg:"bg-[#5f7d87]/[0.07]",icon:"text-[#5f7d87]",stroke:"#5f7d87"},zinc:{border:"border-[#6b6f73]",bg:"bg-[#6b6f73]/[0.07]",icon:"text-[#6b6f73]",stroke:"#6b6f73"},rose:{border:"border-[#a8463d]",bg:"bg-[#a8463d]/10",icon:"text-[#a8463d]",stroke:"#a8463d"},orange:{border:"border-[#a85e22]",bg:"bg-[#a85e22]/12",icon:"text-[#a85e22]",stroke:"#a85e22"}},background:{container:"bg-[#e7e3da] border border-[#cfc8ba]",grid:{color:"rgba(40, 40, 40, 0.1)",opacity:.4,size:20}},text:{primary:"text-[#1a1c1d]",secondary:"text-[#4a4f52]",muted:"text-[#80868a]"}},dark:{palette:AQ,background:{container:"bg-[#0b0d0e] border border-[#23292d]",grid:{color:"rgba(224, 168, 61, 0.20)",opacity:1,size:24}},text:{primary:"text-[#e8e6e1]",secondary:"text-[#9aa0a4]",muted:"text-[#5f676c]"}},brand:{fontFamily:"'Chakra Petch', system-ui, sans-serif",monoFamily:"'JetBrains Mono', ui-monospace, monospace",fontImport:"https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap",nodeShape:"notch",nodeDecor:"stripe",nodeBorderWidth:"1px",upperLabels:!0,arrowhead:"chevron",gridType:"crosshair",frame:"reticle"}},command:{id:"command",name:"Command",description:"HUD console, cyan glass, crosshair grid",light:{palette:{violet:{border:"border-[#6e7cff]/60",bg:"bg-[#6e7cff]/[0.07]",icon:"text-[#5a68e8]",stroke:"#5a68e8"},emerald:{border:"border-[#1f9a84]/60",bg:"bg-[#1f9a84]/[0.07]",icon:"text-[#1f9a84]",stroke:"#1f9a84"},blue:{border:"border-[#2b7fd4]/65",bg:"bg-[#2b7fd4]/[0.09]",icon:"text-[#2b7fd4]",stroke:"#2b7fd4"},amber:{border:"border-[#c4882a]/60",bg:"bg-[#c4882a]/[0.08]",icon:"text-[#b87a1f]",stroke:"#b87a1f"},sky:{border:"border-[#2b9fd4]/60",bg:"bg-[#2b9fd4]/[0.08]",icon:"text-[#2490c4]",stroke:"#2490c4"},zinc:{border:"border-[#6b7785]/55",bg:"bg-[#6b7785]/[0.06]",icon:"text-[#5c6878]",stroke:"#5c6878"},rose:{border:"border-[#d45d6a]/55",bg:"bg-[#d45d6a]/[0.07]",icon:"text-[#c44e5c]",stroke:"#c44e5c"},orange:{border:"border-[#d47a2a]/55",bg:"bg-[#d47a2a]/[0.07]",icon:"text-[#c46e22]",stroke:"#c46e22"}},background:{container:"bg-[#e8edf3]/90 border border-[#c5d0dc]",grid:{color:"rgba(43, 127, 212, 0.14)",opacity:.55,size:40}},text:{primary:"text-[#0c1014]",secondary:"text-[#3a4248]",muted:"text-[#6b7785]"}},dark:{palette:{violet:{border:"border-[#8b9cff]/50",bg:"bg-[#8b9cff]/[0.07]",icon:"text-[#8b9cff]",stroke:"#8b9cff"},emerald:{border:"border-[#3dd6b5]/50",bg:"bg-[#3dd6b5]/[0.07]",icon:"text-[#3dd6b5]",stroke:"#3dd6b5"},blue:{border:"border-[#4db8ff]/55",bg:"bg-[#4db8ff]/[0.08]",icon:"text-[#4db8ff]",stroke:"#4db8ff"},amber:{border:"border-[#e0b04a]/50",bg:"bg-[#e0b04a]/[0.08]",icon:"text-[#e0b04a]",stroke:"#e0b04a"},sky:{border:"border-[#5ec8e8]/50",bg:"bg-[#5ec8e8]/[0.07]",icon:"text-[#5ec8e8]",stroke:"#5ec8e8"},zinc:{border:"border-[#8b93a0]/45",bg:"bg-[#8b93a0]/[0.06]",icon:"text-[#9aa4ae]",stroke:"#9aa4ae"},rose:{border:"border-[#f0808c]/45",bg:"bg-[#f0808c]/[0.07]",icon:"text-[#f0808c]",stroke:"#f0808c"},orange:{border:"border-[#e89850]/45",bg:"bg-[#e89850]/[0.07]",icon:"text-[#e89850]",stroke:"#e89850"}},background:{container:"bg-[#06090e]/95 border border-[#1a2533]",grid:{color:"rgba(77, 184, 255, 0.16)",opacity:.9,size:40}},text:{primary:"text-[#e8edf2]",secondary:"text-[#b4bec9]",muted:"text-[#7d8a98]"}},brand:{fontFamily:"'Space Grotesk', system-ui, sans-serif",monoFamily:"'JetBrains Mono', ui-monospace, monospace",nodeShape:"chamfer",nodeDecor:"dot",nodeBorderWidth:"1px",nodeOpacity:.88,nodeGlass:!0,upperLabels:!1,arrowhead:"chevron",gridType:"crosshair",frame:"corners",connectorGlow:!0}}},lA="command";function tp(e){return cA[e]||cA[lA]}function _3e(){return Object.values(cA).map(e=>({id:e.id,name:e.name,description:e.description}))}const IG=w.createContext(null);function AG({children:e,initialDiagram:t,initialThemeId:n=lA,initialColorMode:o="dark",initialDiagramMeta:r}){const[i,a]=w.useReducer(b3e,(()=>{const c=t?{...ep,diagram:t}:ep,l=r||{themeId:n,colorMode:o};return{...c,editor:{...c.editor,themeId:n,colorMode:o,isoStyle:l.isoStyle||c.editor.isoStyle,viewMode:l.viewMode||c.editor.viewMode},meta:{...c.meta,diagramMeta:l}}})()),s={addNode:w.useCallback((c,l)=>{a({type:"node/add",position:c,nodeData:l})},[]),removeNode:w.useCallback(c=>{a({type:"node/remove",nodeId:c})},[]),duplicateNode:w.useCallback(c=>{a({type:"node/duplicate",nodeId:c})},[]),moveNode:w.useCallback((c,l,d)=>{a({type:"node/move",nodeId:c,x:l,y:d})},[]),moveNodes:w.useCallback(c=>{a({type:"nodes/move",moves:c})},[]),updateNode:w.useCallback((c,l)=>{a({type:"node/update",nodeId:c,updates:l})},[]),resizeNode:w.useCallback((c,l,d,u)=>{a({type:"node/resize",nodeId:c,size:l,width:d,height:u})},[]),updateNodePosition:w.useCallback((c,l)=>{a({type:"node/updatePosition",nodeId:c,updates:l})},[]),addConnector:w.useCallback((c,l,d,u,h)=>{a({type:"connector/add",from:c,to:l,fromAnchor:d,toAnchor:u,style:h})},[]),removeConnector:w.useCallback(c=>{a({type:"connector/remove",index:c})},[]),updateConnector:w.useCallback((c,l)=>{a({type:"connector/update",index:c,updates:l})},[]),addGroup:w.useCallback(c=>{a({type:"group/add",group:c})},[]),updateGroup:w.useCallback((c,l)=>{a({type:"group/update",groupId:c,updates:l})},[]),removeGroup:w.useCallback(c=>{a({type:"group/remove",groupId:c})},[]),addImage:w.useCallback(c=>{a({type:"image/add",image:c})},[]),updateImage:w.useCallback((c,l)=>{a({type:"image/update",imageId:c,updates:l})},[]),removeImage:w.useCallback(c=>{a({type:"image/remove",imageId:c})},[]),setExportZone:w.useCallback(c=>{a({type:"exportZone/set",zone:c})},[]),clearExportZone:w.useCallback(()=>{a({type:"exportZone/clear"})},[]),selectNode:w.useCallback((c,l=!1)=>{a({type:"select/node",nodeId:c,addToSelection:l})},[]),selectNodes:w.useCallback(c=>{a({type:"select/nodes",nodeIds:c})},[]),selectConnector:w.useCallback(c=>{a({type:"select/connector",index:c})},[]),selectGroup:w.useCallback(c=>{a({type:"select/group",groupId:c})},[]),selectImage:w.useCallback(c=>{a({type:"select/image",imageId:c})},[]),clearSelection:w.useCallback(()=>{a({type:"select/clear"})},[]),setMode:w.useCallback(c=>{a({type:"mode/set",mode:c})},[]),setPendingConnector:w.useCallback(c=>{a({type:"pending/set",pendingConnector:c})},[]),clearPendingConnector:w.useCallback(()=>{a({type:"pending/clear"})},[]),startDrag:w.useCallback((c,l,d,u)=>{a({type:"drag/start",nodeId:c,offset:l,nodeOffsets:d,selectedIds:u})},[]),endDrag:w.useCallback(()=>{a({type:"drag/end"})},[]),loadDiagram:w.useCallback((c,l)=>{a({type:"diagram/load",diagram:c,filename:l})},[]),replaceDiagram:w.useCallback(c=>{a({type:"diagram/replace",diagram:c})},[]),newDiagram:w.useCallback(()=>{a({type:"diagram/new"})},[]),markSaved:w.useCallback(c=>{a({type:"diagram/saved",filename:c})},[]),undo:w.useCallback(()=>{a({type:"undo"})},[]),redo:w.useCallback(()=>{a({type:"redo"})},[]),updateLayout:w.useCallback(c=>{a({type:"layout/update",updates:c})},[]),expandLayout:w.useCallback((c,l)=>{a({type:"layout/expand",width:c,height:l})},[]),setTemplate:w.useCallback(c=>{a({type:"template/set",templateId:c})},[]),setZoom:w.useCallback(c=>{a({type:"zoom/set",zoom:c})},[]),zoomIn:w.useCallback(()=>{a({type:"zoom/set",zoom:i.editor.zoom*1.25})},[i.editor.zoom]),zoomOut:w.useCallback(()=>{a({type:"zoom/set",zoom:i.editor.zoom/1.25})},[i.editor.zoom]),resetZoom:w.useCallback(()=>{a({type:"zoom/set",zoom:1})},[]),setViewMode:w.useCallback(c=>{a({type:"viewMode/set",viewMode:c})},[]),setIsoStyle:w.useCallback(c=>{a({type:"isoStyle/set",isoStyle:c})},[]),setTheme:w.useCallback(c=>{a({type:"theme/set",themeId:c})},[]),setColorMode:w.useCallback(c=>{a({type:"colorMode/set",colorMode:c})},[]),setDiagramMeta:w.useCallback(c=>{a({type:"diagramMeta/set",diagramMeta:c})},[])};return m.jsx(IG.Provider,{value:{state:i,dispatch:a,actions:s},children:e})}function At(){const e=w.useContext(IG);if(!e)throw new Error("useEditor must be used within an EditorProvider");return e}function xo(){const{state:e}=At();return e.diagram}function zo(){const{state:e}=At();return e.editor}function dA(){const{state:e}=At();return e.meta}function M3e(){const{state:e}=At();return e.history}function TG(){const{state:e}=At();return e.editor.template}function np(){const{state:e}=At();return e.editor.viewMode}function TQ(){const{state:e}=At();return e.editor.isoStyle}function EQ(){const{state:e}=At();return e.editor.themeId}function S3e(){const{state:e}=At();return e.editor.colorMode}function $3e(){const{state:e}=At();return e.meta.diagramMeta}function EG(){const{state:e}=At(),t=e.editor.themeId,n=e.editor.colorMode;return w.useMemo(()=>{const o=tp(t||lA);return n==="light"?o.light:o.dark},[t,n])}function zQ(){const{state:e}=At(),t=e.editor.themeId;return w.useMemo(()=>tp(t||lA).brand,[t])}function zG(e,t,n,o,r){switch(r){case"left":return{x:e,y:t+o/2};case"right":return{x:e+n,y:t+o/2};case"top":return{x:e+n/2,y:t};case"bottom":return{x:e+n/2,y:t+o};case"bottomRight":return{x:e+n,y:t+o-15};case"bottomLeft":return{x:e,y:t+o-15};case"topRight":return{x:e+n,y:t+15};case"topLeft":return{x:e,y:t+15};default:return{x:e+n/2,y:t+o/2}}}function C3e(e,t,n,o){const r=t.x-e.x,i=t.y-e.y;let a=e.x,s=e.y,c=t.x,l=t.y;const d=Math.min(Math.abs(r),Math.abs(i),50);return n==="right"||n==="bottomRight"||n==="topRight"?a=e.x+d:n==="left"||n==="bottomLeft"||n==="topLeft"?a=e.x-d:n==="bottom"?s=e.y+d:n==="top"&&(s=e.y-d),o==="left"||o==="bottomLeft"||o==="topLeft"?c=t.x-d:o==="right"||o==="bottomRight"||o==="topRight"?c=t.x+d:o==="top"?l=t.y-d:o==="bottom"&&(l=t.y+d),`M ${e.x} ${e.y} C ${a} ${s}, ${c} ${l}, ${t.x} ${t.y}`}const DQ={violet:{bg:"#8b5cf6",text:"#ffffff"},emerald:{bg:"#34d399",text:"#ffffff"},blue:{bg:"#60a5fa",text:"#ffffff"},amber:{bg:"#fbbf24",text:"#1f2937"},zinc:{bg:"#71717a",text:"#ffffff"},sky:{bg:"#38bdf8",text:"#ffffff"}},DG={violet:{fill:"rgba(139, 92, 246, 0.1)",stroke:"rgba(139, 92, 246, 0.5)"},emerald:{fill:"rgba(52, 211, 153, 0.1)",stroke:"rgba(52, 211, 153, 0.5)"},blue:{fill:"rgba(96, 165, 250, 0.1)",stroke:"rgba(96, 165, 250, 0.5)"},amber:{fill:"rgba(251, 191, 36, 0.1)",stroke:"rgba(251, 191, 36, 0.5)"},zinc:{fill:"rgba(113, 113, 122, 0.1)",stroke:"rgba(113, 113, 122, 0.5)"},sky:{fill:"rgba(56, 189, 248, 0.1)",stroke:"rgba(56, 189, 248, 0.5)"}};function QG(e,t={}){const{backgroundColor:n="#ffffff",includeGrid:o=!1,padding:r=20}=t,i=e.exportZone||{x:0,y:0,width:e.layout.width,height:e.layout.height},a=`${i.x-r} ${i.y-r} ${i.width+r*2} ${i.height+r*2}`,s=i.width+r*2,c=i.height+r*2;let l=`<svg xmlns="http://www.w3.org/2000/svg" width="${s}" height="${c}" viewBox="${a}">
132
132
  `;if(l+=` <rect x="${i.x-r}" y="${i.y-r}" width="${i.width+r*2}" height="${i.height+r*2}" fill="${n}"/>
133
133
  `,o&&e.grid?.enabled){const h=e.grid.size||20,p=e.grid.color||"#e5e7eb";l+=` <defs>
134
134
  `,l+=` <pattern id="grid" width="${h}" height="${h}" patternUnits="userSpaceOnUse">
@@ -1,7 +1,7 @@
1
1
  import { o as Re, a as ee, f as $, m as v, s as de, c as Vn, p as te, r as wn, b as ue, d as pn, e as mr, g as M, h as dr, i as gr, j as hn, k as ne, n as Ce, l as Qe, q as yr, t as xr, v as It, u as kr } from "./index-B47Ukxqu.js";
2
2
  import { Fragment as Tt, jsxs as br, jsx as wr } from "react/jsx-runtime";
3
3
  import { useState as qn, useEffect as Sr, createElement as Er } from "react";
4
- import { g as Pt } from "./index-fGQsCHMy.js";
4
+ import { g as Pt } from "./index-HRf_R0nb.js";
5
5
  function Cr(e, n) {
6
6
  const t = {};
7
7
  return (e[e.length - 1] === "" ? [...e, ""] : e).join(
@@ -31330,7 +31330,7 @@ var kbe = ({
31330
31330
  }, gbe = () => /* @__PURE__ */ p("div", { className: "flex min-h-[180px] items-center justify-center p-6 text-center font-mono text-[11px] text-muted-foreground", children: "Markdown preview requires the optional peer dependencies react-markdown and remark-gfm." }), vbe = Bt.lazy(async () => {
31331
31331
  try {
31332
31332
  const [e, t] = await Promise.all([
31333
- import("./index-BlYeQfmP.js"),
31333
+ import("./index-BQwFdXh6.js"),
31334
31334
  import("./index-k2yfnFw8.js")
31335
31335
  ]), n = e.default, o = t.default;
31336
31336
  return { default: ({ markdown: a, components: i }) => /* @__PURE__ */ p(n, { remarkPlugins: [o], components: i, children: a }) };
@@ -44960,7 +44960,7 @@ function ZNe({
44960
44960
  o
44961
44961
  )) });
44962
44962
  }
44963
- const GNe = "0.9.0", XNe = { width: 1600, height: 900 }, fH = {
44963
+ const GNe = "0.9.1", XNe = { width: 1600, height: 900 }, fH = {
44964
44964
  enabled: !0,
44965
44965
  size: 24,
44966
44966
  color: "#71717a",
@@ -55426,7 +55426,7 @@ function JEe() {
55426
55426
  }
55427
55427
  );
55428
55428
  }
55429
- const QEe = KB(() => import("./MarkupPanel-B1NlWh41.js"));
55429
+ const QEe = KB(() => import("./MarkupPanel-Cj5CBxZm.js"));
55430
55430
  function eTe() {
55431
55431
  const e = qn(), t = _H(), n = $n(), { actions: o } = gt(), { sessionId: r } = _N(), { setViewportBounds: a } = OAe(), [i, c] = te(() => {
55432
55432
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arach/arc",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "type": "module",
5
5
  "packageManager": "bun@1.3.11",
6
6
  "workspaces": [