likec4 1.56.0 → 1.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__app__/codegen/react.mjs +7 -8
- package/__app__/codegen/webcomponent.mjs +77 -736
- package/__app__/src/aichat/index.mjs +8 -0
- package/__app__/src/chunks/AIChat.mjs +959 -0
- package/__app__/src/chunks/DiagramActorProvider.mjs +7638 -0
- package/__app__/src/chunks/LikeC4Styles.mjs +1866 -0
- package/__app__/src/chunks/Markdown.mjs +146 -0
- package/__app__/src/chunks/NavigationPanel.mjs +61 -0
- package/__app__/src/chunks/ProjectsOverview.mjs +540 -0
- package/__app__/src/chunks/adhoc-editor.mjs +3386 -0
- package/__app__/src/chunks/es.mjs +439 -0
- package/__app__/src/chunks/hooks.mjs +145 -0
- package/__app__/src/chunks/libs/@dagrejs/dagre.mjs +1894 -0
- package/__app__/src/chunks/libs/@floating-ui.mjs +2218 -0
- package/__app__/src/chunks/libs/@mantine.mjs +12070 -0
- package/__app__/src/chunks/libs/@tabler/icons-react.mjs +252 -0
- package/__app__/src/chunks/libs/@tanstack-ai.mjs +1768 -0
- package/__app__/src/chunks/libs/@tanstack.mjs +2718 -0
- package/__app__/src/chunks/libs/@xstate/react.mjs +1982 -0
- package/__app__/src/chunks/libs/@xyflow/react.mjs +5256 -0
- package/__app__/src/chunks/libs/bezier-js.mjs +1003 -0
- package/__app__/src/chunks/libs/d3.mjs +2842 -0
- package/__app__/src/chunks/libs/fast-equals.mjs +268 -0
- package/__app__/src/chunks/libs/framer.mjs +5872 -0
- package/__app__/src/chunks/libs/remeda.mjs +642 -0
- package/__app__/src/chunks/libs/zod.mjs +3170 -0
- package/__app__/src/chunks/rolldown-runtime.mjs +23 -0
- package/__app__/src/chunks/styled-system.mjs +1040 -0
- package/__app__/src/fonts.css +1 -1
- package/__app__/src/main.mjs +14847 -1
- package/__app__/src/style.css +1 -1
- package/config/schema.json +14 -41
- package/dist/chunks/enableServer.mjs +1 -0
- package/dist/chunks/filenames.mjs +2 -2
- package/dist/chunks/index2.d.mts +2057 -722
- package/dist/chunks/libs/@chevrotain/gast.mjs +1 -1
- package/dist/chunks/libs/@logtape/logtape.mjs +4 -3
- package/dist/chunks/libs/@ts-graphviz/ast.mjs +3 -0
- package/dist/chunks/libs/@ts-graphviz/common.d.mts +9 -0
- package/dist/chunks/libs/@ts-graphviz/core.mjs +1 -0
- package/dist/chunks/libs/chevrotain-allstar.mjs +2 -2
- package/dist/chunks/libs/chevrotain.mjs +26 -26
- package/dist/chunks/libs/langium.d.mts +5 -5
- package/dist/chunks/libs/langium.mjs +10 -10
- package/dist/chunks/libs/merge-error-cause.mjs +1 -1
- package/dist/chunks/libs/pako.mjs +3 -1
- package/dist/chunks/libs/pretty-ms.mjs +1 -1
- package/dist/chunks/libs/remeda.mjs +1 -1
- package/dist/chunks/libs/ufo.mjs +1 -1
- package/dist/chunks/libs/unstorage.mjs +1 -1
- package/dist/chunks/libs/which.mjs +1 -1
- package/dist/chunks/libs/zod.d.mts +60 -25
- package/dist/chunks/libs/zod.mjs +65 -0
- package/dist/chunks/node.mjs +84 -56
- package/dist/chunks/sequence-view.mjs +1 -1
- package/dist/chunks/vite-plugin.mjs +593 -0
- package/dist/cli/index.mjs +184 -141
- package/dist/index.d.mts +2 -131
- package/dist/index.mjs +1 -1
- package/dist/model/index.d.mts +2 -2
- package/dist/vite-plugin/index.d.mts +53 -2
- package/dist/vite-plugin/index.mjs +1 -1
- package/dist/vite-plugin/internal/index.d.mts +327 -4
- package/dist/vite-plugin/internal/index.mjs +946 -1
- package/package.json +85 -72
- package/react/index.d.mts +174 -73
- package/react/index.mjs +42468 -38926
- package/vite-plugin-modules.d.ts +4 -0
- package/__app__/chunks/ColorSchemeToggle.mjs +0 -1
- package/__app__/chunks/DiagramActorProvider.mjs +0 -10
- package/__app__/chunks/Fallback.mjs +0 -1
- package/__app__/chunks/Header.mjs +0 -13
- package/__app__/chunks/IconRenderer.mjs +0 -1
- package/__app__/chunks/LikeC4Diagram.mjs +0 -19
- package/__app__/chunks/LikeC4ModelContext.mjs +0 -1
- package/__app__/chunks/LikeC4ModelContext2.mjs +0 -1
- package/__app__/chunks/LikeC4Styles.mjs +0 -48
- package/__app__/chunks/NavigationPanel.mjs +0 -1
- package/__app__/chunks/StaticLikeC4Diagram.mjs +0 -1
- package/__app__/chunks/ViewReact.mjs +0 -1
- package/__app__/chunks/__root.mjs +0 -1
- package/__app__/chunks/adhoc-editor.mjs +0 -1
- package/__app__/chunks/hooks.mjs +0 -1
- package/__app__/chunks/libs/@dagrejs/dagre.mjs +0 -1
- package/__app__/chunks/libs/@floating-ui/core.mjs +0 -1
- package/__app__/chunks/libs/@floating-ui/dom.mjs +0 -1
- package/__app__/chunks/libs/@floating-ui/react.mjs +0 -1
- package/__app__/chunks/libs/@mantine/core.mjs +0 -41
- package/__app__/chunks/libs/@mantine/hooks.mjs +0 -1
- package/__app__/chunks/libs/@nanostores/react.mjs +0 -1
- package/__app__/chunks/libs/@react-hookz/web.mjs +0 -1
- package/__app__/chunks/libs/@tabler/icons-react.mjs +0 -15
- package/__app__/chunks/libs/@tanstack/history.mjs +0 -1
- package/__app__/chunks/libs/@tanstack/react-router.mjs +0 -3
- package/__app__/chunks/libs/@tanstack/router-core.mjs +0 -1
- package/__app__/chunks/libs/@xstate/react.mjs +0 -1
- package/__app__/chunks/libs/@xstate/store.mjs +0 -1
- package/__app__/chunks/libs/@xyflow/react.mjs +0 -7
- package/__app__/chunks/libs/@zag-js/anatomy.mjs +0 -1
- package/__app__/chunks/libs/@zag-js/collection.mjs +0 -1
- package/__app__/chunks/libs/@zag-js/core.mjs +0 -1
- package/__app__/chunks/libs/@zag-js/react.mjs +0 -1
- package/__app__/chunks/libs/@zag-js/tree-view.mjs +0 -1
- package/__app__/chunks/libs/bezier-js.mjs +0 -1
- package/__app__/chunks/libs/d3-path.mjs +0 -1
- package/__app__/chunks/libs/d3-shape.mjs +0 -1
- package/__app__/chunks/libs/fast-equals.mjs +0 -1
- package/__app__/chunks/libs/framer-motion.mjs +0 -9
- package/__app__/chunks/libs/html-to-image.mjs +0 -2
- package/__app__/chunks/libs/motion-dom.mjs +0 -1
- package/__app__/chunks/libs/motion.mjs +0 -1
- package/__app__/chunks/libs/nanostores.mjs +0 -1
- package/__app__/chunks/libs/react-error-boundary.mjs +0 -1
- package/__app__/chunks/libs/react-resizable-panels.mjs +0 -1
- package/__app__/chunks/libs/remeda.mjs +0 -1
- package/__app__/chunks/libs/xstate.mjs +0 -1
- package/__app__/chunks/libs/zod.mjs +0 -39
- package/__app__/chunks/rolldown-runtime.mjs +0 -1
- package/__app__/chunks/safeCtx.mjs +0 -1
- package/__app__/chunks/searchParams.mjs +0 -1
- package/__app__/chunks/single-index.mjs +0 -1
- package/__app__/chunks/styled-system.mjs +0 -1
- package/__app__/chunks/styles.css.mjs +0 -1
- package/__app__/chunks/useLikeC4Project.mjs +0 -1
- package/__app__/chunks/useUpdateEffect.mjs +0 -1
- package/__app__/src/pages/AdHocViewEditor.mjs +0 -1
- package/__app__/src/pages/EmbedPage.mjs +0 -1
- package/__app__/src/pages/ExportPage.mjs +0 -1
- package/__app__/src/pages/ProjectsOverview.mjs +0 -1
- package/__app__/src/pages/ViewAsD2.mjs +0 -1
- package/__app__/src/pages/ViewAsDot.mjs +0 -1
- package/__app__/src/pages/ViewAsMmd.mjs +0 -1
- package/__app__/src/pages/ViewAsPuml.mjs +0 -1
- package/__app__/src/pages/ViewEditor.mjs +0 -1
- package/__app__/src/pages/ViewReact.mjs +0 -1
- package/__app__/src/routeTree.gen.mjs +0 -1
- package/__app__/src/routes/__root.mjs +0 -1
- package/__app__/src/routes/_single/adhoc.mjs +0 -1
- package/__app__/src/routes/_single/embed._viewId.mjs +0 -1
- package/__app__/src/routes/_single/export._viewId.mjs +0 -1
- package/__app__/src/routes/_single/route.mjs +0 -1
- package/__app__/src/routes/_single/single-index.mjs +0 -1
- package/__app__/src/routes/_single/view._viewId.d2.mjs +0 -1
- package/__app__/src/routes/_single/view._viewId.dot.mjs +0 -1
- package/__app__/src/routes/_single/view._viewId.index.mjs +0 -1
- package/__app__/src/routes/_single/view._viewId.mjs +0 -1
- package/__app__/src/routes/_single/view._viewId.mmd.mjs +0 -1
- package/__app__/src/routes/_single/view._viewId.puml.mjs +0 -1
- package/__app__/src/routes/_single/webcomponent._.mjs +0 -33
- package/__app__/src/routes/index.mjs +0 -1
- package/__app__/src/routes/project._projectId/-components.mjs +0 -1
- package/__app__/src/routes/project._projectId/adhoc.mjs +0 -1
- package/__app__/src/routes/project._projectId/embed._viewId.mjs +0 -1
- package/__app__/src/routes/project._projectId/export._viewId.mjs +0 -1
- package/__app__/src/routes/project._projectId/index.mjs +0 -1
- package/__app__/src/routes/project._projectId/route.mjs +0 -1
- package/__app__/src/routes/project._projectId/view._viewId.d2.mjs +0 -1
- package/__app__/src/routes/project._projectId/view._viewId.dot.mjs +0 -1
- package/__app__/src/routes/project._projectId/view._viewId.index.mjs +0 -1
- package/__app__/src/routes/project._projectId/view._viewId.mjs +0 -1
- package/__app__/src/routes/project._projectId/view._viewId.mmd.mjs +0 -1
- package/__app__/src/routes/project._projectId/view._viewId.puml.mjs +0 -1
- package/__app__/src/routes/projects.mjs +0 -1
- package/dist/chunks/libs/@chevrotain/utils.mjs +0 -1
- package/dist/chunks/libs/@hono/mcp.mjs +0 -45
- package/dist/chunks/libs/@hono/node-server.mjs +0 -1
- package/dist/chunks/libs/@logtape/logtape.d.mts +0 -1023
- package/dist/chunks/libs/@modelcontextprotocol/sdk.mjs +0 -12
- package/dist/chunks/libs/ajv.mjs +0 -1
- package/dist/chunks/libs/ansi-align.mjs +0 -2
- package/dist/chunks/libs/ansi-regex.mjs +0 -1
- package/dist/chunks/libs/ansi-styles.mjs +0 -1
- package/dist/chunks/libs/atomically.mjs +0 -1
- package/dist/chunks/libs/boxen.mjs +0 -22
- package/dist/chunks/libs/conf.mjs +0 -1
- package/dist/chunks/libs/defu.mjs +0 -1
- package/dist/chunks/libs/destr.mjs +0 -1
- package/dist/chunks/libs/find-up-simple.mjs +0 -1
- package/dist/chunks/libs/get-port.mjs +0 -1
- package/dist/chunks/libs/hono.mjs +0 -1
- package/dist/chunks/libs/is-docker.mjs +0 -1
- package/dist/chunks/libs/is-error-instance.mjs +0 -1
- package/dist/chunks/libs/is-inside-container.mjs +0 -1
- package/dist/chunks/libs/is-plain-obj.mjs +0 -1
- package/dist/chunks/libs/isexe.mjs +0 -1
- package/dist/chunks/libs/ky.mjs +0 -3
- package/dist/chunks/libs/p-debounce.mjs +0 -1
- package/dist/chunks/libs/p-limit.mjs +0 -1
- package/dist/chunks/libs/p-timeout.mjs +0 -1
- package/dist/chunks/libs/package-up.mjs +0 -1
- package/dist/chunks/libs/parse-ms.mjs +0 -1
- package/dist/chunks/libs/safe-stringify.mjs +0 -1
- package/dist/chunks/libs/strip-indent.mjs +0 -1
- package/dist/chunks/libs/tinyrainbow.mjs +0 -1
- package/dist/chunks/libs/ts-graphviz.d.mts +0 -12
- package/dist/chunks/libs/ts-graphviz.mjs +0 -4
- package/dist/chunks/libs/vscode-languageserver.mjs +0 -1
- package/dist/chunks/libs/word-wrap.mjs +0 -12
- package/dist/chunks/plugin.mjs +0 -400
- package/dist/vite-plugin/internal/chunks/libs/@nanostores/react.d.mts +0 -269
- package/dist/vite-plugin/internal/chunks/libs/@nanostores/react.mjs +0 -1
- package/dist/vite-plugin/internal/chunks/libs/birpc.mjs +0 -1
- package/dist/vite-plugin/internal/chunks/libs/fast-equals.mjs +0 -1
- package/dist/vite-plugin/internal/chunks/libs/nanostores.d.mts +0 -59
- package/dist/vite-plugin/internal/chunks/libs/nanostores.mjs +0 -1
- package/dist/vite-plugin/internal/chunks/libs/remeda.mjs +0 -1
- package/dist/vite-plugin/internal/chunks/rolldown-runtime.mjs +0 -1
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import{i as e,r as t,s as n}from"./rolldown-runtime.mjs";import{A as r,F as i,G as a,K as o,M as s,O as c,P as l,Q as u,R as d,S as f,T as p,U as m,W as h,Y as g,Z as _,_ as v,b as y,c as b,f as x,g as S,i as C,j as w,m as T,n as E,o as D,p as O,q as k,r as A,t as j,v as M,y as N}from"./libs/remeda.mjs";import{$ as P,Ct as F,D as I,F as L,Ft as R,Gt as z,Ht as ee,I as te,It as ne,K as re,Lt as ie,M as ae,N as oe,Nt as se,O as ce,P as le,Pt as ue,Q as de,R as fe,St as pe,T as me,U as he,Ut as ge,W as _e,Wt as ve,X as ye,Y as be,Z as xe,_ as Se,_t as Ce,a as we,at as Te,bt as B,c as Ee,ct as De,dt as Oe,et as ke,ft as Ae,g as je,gt as Me,h as Ne,ht as Pe,i as Fe,it as Ie,j as Le,l as Re,lt as V,m as ze,mt as Be,n as Ve,nt as He,o as Ue,ot as We,pt as Ge,q as Ke,qt as qe,r as Je,rt as H,s as Ye,st as Xe,t as Ze,tt as Qe,ut as $e,v as et,vt as tt,w as nt,xt as rt,y as it,yt as at,z as ot,zt as st}from"./libs/@mantine/core.mjs";import{a as ct,c as lt,i as ut,l as dt,n as ft,o as pt,t as mt,u as ht}from"./libs/@mantine/hooks.mjs";import{d as gt,i as _t,l as vt,n as yt,o as bt,r as xt}from"./libs/@floating-ui/dom.mjs";import{A as St,C as Ct,E as wt,M as U,N as W,O as Tt,S as Et,_ as Dt,a as Ot,b as kt,j as At,n as jt,r as Mt,v as Nt,w as Pt,x as G,y as Ft}from"./styled-system.mjs";import{$ as It,A as Lt,C as Rt,D as zt,E as Bt,F as Vt,I as Ht,J as Ut,K as Wt,L as Gt,M as Kt,N as qt,O as Jt,P as Yt,T as Xt,U as Zt,V as Qt,X as $t,Y as en,_ as tn,a as nn,c as rn,et as an,f as on,h as sn,i as cn,j as ln,k as un,l as dn,n as fn,nt as pn,o as mn,p as hn,q as gn,r as _n,s as vn,t as yn,tt as bn,v as xn,w as Sn,y as Cn,z as wn}from"./libs/@tabler/icons-react.mjs";import{n as Tn,r as En,t as Dn}from"./IconRenderer.mjs";import{a as On,f as kn,l as An,n as jn,r as Mn,s as Nn}from"./libs/@react-hookz/web.mjs";import{S as Pn,f as Fn,g as In,h as Ln,i as Rn,m as zn,o as Bn,s as Vn}from"./libs/@xyflow/react.mjs";import{n as Hn,t as Un}from"./libs/fast-equals.mjs";import{A as Wn,C as Gn,D as Kn,E as qn,G as Jn,H as Yn,O as Xn,S as Zn,V as Qn,a as $n,b as er,c as tr,d as nr,f as rr,j as ir,k as ar,l as or,m as sr,n as cr,o as lr,p as ur,q as K,r as dr,s as fr,t as pr,u as mr,v as hr,x as gr}from"./LikeC4Styles.mjs";import{n as _r}from"./useUpdateEffect.mjs";import{A as vr,C as yr,E as br,M as xr,O as Sr,S as Cr,T as q,_ as wr,a as Tr,b as Er,c as Dr,d as Or,f as kr,h as Ar,i as jr,j as Mr,k as Nr,l as Pr,m as Fr,n as Ir,o as Lr,p as Rr,r as zr,s as Br,t as Vr,u as Hr,v as Ur,w as Wr,x as Gr,y as Kr}from"./DiagramActorProvider.mjs";import{P as qr,ar as Jr,g as Yr,hr as Xr,ir as Zr,lr as Qr,mr as $r,or as ei,pr as ti,sr as ni}from"./libs/framer-motion.mjs";import{n as ri}from"./libs/motion-dom.mjs";import{n as ii,r as ai,t as oi}from"./libs/@xstate/react.mjs";import{i as si,r as ci,t as li}from"./LikeC4ModelContext.mjs";import{i as ui,n as di}from"./useLikeC4Project.mjs";import{t as fi}from"./libs/@dagrejs/dagre.mjs";import{Fragment as pi,Profiler as mi,Suspense as hi,createContext as gi,forwardRef as _i,memo as J,useCallback as vi,useContext as yi,useDeferredValue as bi,useEffect as Y,useLayoutEffect as xi,useMemo as Si,useRef as Ci,useState as wi}from"react";import{c as X}from"react/compiler-runtime";import{Fragment as Z,jsx as Q,jsxs as $}from"react/jsx-runtime";import{RichText as Ti,ancestorsFqn as Ei,invariant as Di,isAncestor as Oi,nameFromFqn as ki,nonNullable as Ai,nonexhaustive as ji}from"@likec4/core";import{DefaultMap as Mi,compareNatural as Ni,compareNaturalHierarchically as Pi,ifilter as Fi,ifind as Ii,ifirst as Li,imap as Ri,invariant as zi,isAncestor as Bi,nameFromFqn as Vi,nonexhaustive as Hi,sortParentsFirst as Ui,stringHash as Wi,toArray as Gi}from"@likec4/core/utils";import{treeFromElements as Ki}from"@likec4/core/compute-view";import{RichText as qi,exact as Ji,preferSummary as Yi}from"@likec4/core/types";import{VIEW_FOLDERS_SEPARATOR as Xi,extractViewTitleFromPath as Zi,modelConnection as Qi,normalizeViewPath as $i}from"@likec4/core/model";const ea=Er(e=>e.context.view.id);function useCurrentViewId(){return yr(ea)}const ta=Er(e=>e.context.view);function useCurrentView(){return yr(ta)}ai();function CurrentViewModelProvider(e){let t=X(6),{children:n}=e,r=useCurrentViewId(),i=si(),a;t[0]!==i||t[1]!==r?(a=i?.findView(r)??null,t[0]=i,t[1]=r,t[2]=a):a=t[2];let o=a,s;return t[3]!==n||t[4]!==o?(s=Q(li,{value:o,children:n}),t[3]=n,t[4]=o,t[5]=s):s=t[5],s}const na=Er(e=>e.children.overlays);function useOverlaysActorRef(){return yr(na,Object.is)}function useCurrentViewModel(){let e=ci();if(!e)throw Error(`No CurrentViewModelContext found`);return e}function useMantinePortalProps(){let e=X(2),t=Kn(),n;return e[0]===t?n=e[1]:(n=t?{portalProps:{target:t},withinPortal:!0}:{withinPortal:!1},e[0]=t,e[1]=n),n}const ra=(0,ii.setup)({types:{context:{},events:{},tags:``,input:{},emitted:{}},delays:{"open timeout":500,"close timeout":350},actions:{"update activatedBy":(0,ii.assign)({activatedBy:({context:e,event:t})=>{switch(!0){case t.type.includes(`click`):return`click`;case t.type.includes(`mouseEnter`):return`hover`;default:return e.activatedBy}}}),"keep dropdown open":(0,ii.assign)({activatedBy:`click`}),"update selected folder":(0,ii.assign)(({event:e})=>e.type===`breadcrumbs.click.root`?{selectedFolder:``}:((0,ii.assertEvent)(e,[`breadcrumbs.click.folder`,`select.folder`]),{selectedFolder:e.folderPath})),"reset selected folder":(0,ii.assign)({selectedFolder:({context:e})=>e.viewModel?.folder.path??``}),"update inputs":(0,ii.assign)(({context:e,event:t})=>{(0,ii.assertEvent)(t,`update.inputs`);let n=t.inputs.viewModel?.id!==e.viewModel?.id,r=e.selectedFolder;return t.inputs.viewModel?.folder.path.startsWith(r)||(r=t.inputs.viewModel?.folder.path??``),{view:t.inputs.view,viewModel:t.inputs.viewModel,selectedFolder:r,activatedBy:n?`hover`:e.activatedBy}}),"reset search query":(0,ii.assign)({searchQuery:``}),"update search query":(0,ii.assign)(({event:e})=>((0,ii.assertEvent)(e,`searchQuery.change`),{searchQuery:e.value??``})),"emit navigateTo":(0,ii.emit)(({event:e})=>((0,ii.assertEvent)(e,`select.view`),{type:`navigateTo`,viewId:e.viewId}))},guards:{"was opened on hover":({context:e})=>e.activatedBy===`hover`,"has search query":({context:e})=>!i(e.searchQuery),"search query is empty":({context:e})=>i(e.searchQuery)}}).createMachine({id:`breadcrumbs`,context:({input:e})=>({...e,breadcrumbs:[],activatedBy:`hover`,selectedFolder:``,searchQuery:``,folderColumns:[]}),initial:`idle`,entry:[`update activatedBy`,`reset selected folder`],on:{"update.inputs":{actions:`update inputs`},"searchQuery.change":{actions:[`update search query`,(0,ii.raise)({type:`searchQuery.changed`})]}},states:{idle:{id:`idle`,on:{"breadcrumbs.mouseEnter.*":{target:`pending`,actions:`update activatedBy`},"breadcrumbs.click.*":{target:`active`,actions:`update activatedBy`}}},pending:{on:{"breadcrumbs.mouseEnter.*":{actions:`update activatedBy`},"breadcrumbs.mouseLeave.*":{target:`idle`},"breadcrumbs.click.*":{target:`active`,actions:`update activatedBy`}},after:{"open timeout":{target:`active`}}},active:{tags:[`active`],initial:`decide`,on:{"dropdown.dismiss":{target:`#idle`},"breadcrumbs.mouseLeave":{guard:`was opened on hover`,target:`.closing`},"dropdown.mouseLeave":{guard:`was opened on hover`,target:`.closing`},"searchQuery.changed":{target:`.decide`}},states:{decide:{always:[{guard:`has search query`,target:`search`},{target:`opened`}]},opened:{on:{"searchQuery.changed":{guard:`has search query`,actions:`keep dropdown open`,target:`search`},"breadcrumbs.click.viewtitle":{actions:`reset selected folder`},"breadcrumbs.click.*":{actions:`update selected folder`},"select.folder":{actions:[`keep dropdown open`,`update selected folder`]},"select.view":{actions:[`emit navigateTo`]}}},search:{on:{"breadcrumbs.click.viewtitle":{actions:[`reset search query`,`reset selected folder`],target:`opened`},"breadcrumbs.click.*":{actions:[`reset search query`,`update selected folder`],target:`opened`},"select.view":{actions:[`emit navigateTo`]}}},closing:{on:{"breadcrumbs.mouseEnter.*":{target:`decide`},"dropdown.mouseEnter":{target:`decide`}},after:{"close timeout":{target:`#idle`}}}}}}}),selectCompareLayoutState=({context:e})=>{let t=e.view.drifts??null;if(!e.features.enableCompareWithLatest||!t||t.length===0)return{hasEditor:!1,isEnabled:!1,isEditable:!1,isActive:!1,drifts:null,canApplyLatest:!1,layout:e.view._layout??`auto`};let{enableCompareWithLatest:n,enableReadOnly:r}=Or(e);return{hasEditor:e.features.enableEditor,isEnabled:!0,isEditable:!r,isActive:n===!0,drifts:t,canApplyLatest:!t.includes(`type-changed`),layout:e.view._layout??`auto`}};function useDiagramCompareLayout(){let e=X(24),t=br(),n=(0,oi.useSelector)(t,selectCompareLayoutState,Hn),t0;e[0]!==t||e[1]!==n.isEnabled?(t0=e=>{if(!n.isEnabled){console.warn(`Compare with latest feature is not enabled`);return}t.send({type:`emit.onLayoutTypeChange`,layoutType:e})},e[0]=t,e[1]=n.isEnabled,e[2]=t0):t0=e[2];let r=K(t0),t1;e[3]!==t||e[4]!==n.isActive||e[5]!==n.isEnabled||e[6]!==n.layout||e[7]!==r?(t1=e=>{if(!n.isEnabled){console.warn(`Compare with latest feature is not enabled`);return}let i=e?e===`on`:!n.isActive;n.isActive&&!i&&n.layout===`auto`&&r(`manual`),t.send({type:`toggle.feature`,feature:`CompareWithLatest`,forceValue:i})},e[3]=t,e[4]=n.isActive,e[5]=n.isEnabled,e[6]=n.layout,e[7]=r,e[8]=t1):t1=e[8];let i=K(t1),t2;e[9]!==t||e[10]!==n.isEnabled?(t2=()=>{if(!n.isEnabled){console.warn(`Compare with latest feature is not enabled`);return}t.send({type:`layout.resetManualLayout`})},e[9]=t,e[10]=n.isEnabled,e[11]=t2):t2=e[11];let a=K(t2),t3;e[12]!==t||e[13]!==n.isActive||e[14]!==n.isEnabled?(t3=()=>{if(!n.isEnabled){console.warn(`Compare with latest feature is not enabled`);return}Ai(t.system?.get(`editor`),`editor actor not found`).send({type:`applyLatestToManual`}),n.isActive&&t.send({type:`toggle.feature`,feature:`CompareWithLatest`,forceValue:!1})},e[12]=t,e[13]=n.isActive,e[14]=n.isEnabled,e[15]=t3):t3=e[15];let o=K(t3),s;e[16]!==o||e[17]!==a||e[18]!==r||e[19]!==i?(s={toggleCompare:i,switchLayout:r,resetManualLayout:a,applyLatestToManual:o},e[16]=o,e[17]=a,e[18]=r,e[19]=i,e[20]=s):s=e[20];let c;return e[21]!==n||e[22]!==s?(c=[n,s],e[21]=n,e[22]=s,e[23]=c):c=e[23],c}const ia=Ne.withProps({color:`dark`,fz:`xs`,openDelay:600,closeDelay:120,label:``,children:null,offset:8,withinPortal:!1}),BreadcrumbsSeparator=()=>{let e=X(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=Q(Fe,{variant:`transparent`,size:16,className:W({display:{base:`none`,"@/md":`flex`},color:{base:`mantine.colors.gray[5]`,_dark:`mantine.colors.dark[3]`}}),children:Q(gn,{})}),e[0]=t):t=e[0],t};re.withProps({separator:Q(BreadcrumbsSeparator,{}),separatorMargin:4});const aa=_i((e,t)=>{let n=X(18),r,i,a,o,s;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5]):({variant:a,className:r,disabled:o,type:s,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s);let c=a===void 0?`default`:a,l=o===void 0?!1:o,u;n[6]===l?u=n[7]:(u=!l&&{whileHover:{scale:1.085},whileTap:{scale:1,translateY:1}},n[6]=l,n[7]=u);let d;n[8]!==r||n[9]!==s||n[10]!==c?(d=U(r,Ot({variant:c,type:s})),n[8]=r,n[9]=s,n[10]=c,n[11]=d):d=n[11];let f;return n[12]!==l||n[13]!==i||n[14]!==t||n[15]!==u||n[16]!==d?(f=Q(Oe,{size:`md`,variant:`transparent`,radius:`sm`,component:Yr,...u,disabled:l,...i,className:d,ref:t}),n[12]=l,n[13]=i,n[14]=t,n[15]=u,n[16]=d,n[17]=f):f=n[17],f});function CompareActionsMenu(e){let t=X(24),{disabled:n,onApplyLatestToManual:r,onResetManualLayout:i}=e,a=n===void 0?!1:n,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={mainAxis:4},t[0]=o):o=t[0];let s,c,l;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=U(`mantine-active`,Et({gap:`2`,py:`1.5`,px:`2`,lineHeight:`1`,textStyle:`xs`,fontWeight:`medium`,layerStyle:`likec4.panel.action`,userSelect:`none`})),c=Q(wt,{children:`Actions`}),l=Q(en,{size:12,stroke:2,opacity:.7}),t[1]=s,t[2]=c,t[3]=l):(s=t[1],c=t[2],l=t[3]);let u;t[4]===a?u=t[5]:(u=Q(nt.Target,{children:$(B,{disabled:a,className:s,children:[c,l]})}),t[4]=a,t[5]=u);let d=!r,f;t[6]===r?f=t[7]:(f=r&&Q(Ne,{onClick:Qn,position:`right-start`,label:$(Z,{children:[`Applies changes from the latest auto-layouted`,Q(`br`,{}),`to saved snapshot, preserving (as possible)`,Q(`br`,{}),`manual adjustments.`,Q(`br`,{}),Q(`br`,{}),`You can undo this action.`]}),children:Q(Vt,{size:14,stroke:1.7,opacity:.5})}),t[6]=r,t[7]=f);let p;t[8]===r?p=t[9]:(p=!r&&Q(wt,{textStyle:`xs`,children:`view type is changed`}),t[8]=r,t[9]=p);let m;t[10]!==r||t[11]!==d||t[12]!==f||t[13]!==p?(m=$(nt.Item,{disabled:d,onClick:r,rightSection:f,children:[`Sync with latest`,p]}),t[10]=r,t[11]=d,t[12]=f,t[13]=p,t[14]=m):m=t[14];let h;t[15]===i?h=t[16]:(h=Q(nt.Item,{onClick:i,children:`Remove manual layout`}),t[15]=i,t[16]=h);let g;t[17]!==m||t[18]!==h?(g=$(nt.Dropdown,{children:[m,h]}),t[17]=m,t[18]=h,t[19]=g):g=t[19];let _;return t[20]!==a||t[21]!==g||t[22]!==u?(_=$(nt,{withinPortal:!1,floatingStrategy:`absolute`,shadow:`lg`,position:`bottom-start`,offset:o,disabled:a,children:[u,g]}),t[20]=a,t[21]=g,t[22]=u,t[23]=_):_=t[23],_}const oa=[{value:`manual`,label:`Saved manual`},{value:`auto`,label:`Latest auto`}];function LayoutTypeSwitcher(e){let t=X(7),{value:n,onChange:r}=e,i=n===`manual`?`orange`:`green`,t2;t[0]===r?t2=t[1]:(t2=e=>{Di(e===`manual`||e===`auto`,`Invalid layout type`),r(e)},t[0]=r,t[1]=t2);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a={label:W({fontSize:`xxs`,fontWeight:`medium`})},t[2]=a):a=t[2];let o;return t[3]!==i||t[4]!==t2||t[5]!==n?(o=Q(qr,{layout:`position`,children:Q(ze,{size:`xs`,color:i,value:n,onChange:t2,classNames:a,data:oa})}),t[3]=i,t[4]=t2,t[5]=n,t[6]=o):o=t[6],o}const sa=fe.withProps({mx:2,size:`xs`,orientation:`vertical`});function ComparePanelControls(){let e=X(19),[t,n]=useDiagramCompareLayout(),{toggleCompare:r,switchLayout:i,resetManualLayout:a,applyLatestToManual:o}=n,s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=Q(wt,{css:{textStyle:`xs`,color:`likec4.panel.text`,userSelect:`none`},children:`Compare`}),e[0]=s):s=e[0];let c;e[1]!==t.layout||e[2]!==i?(c=Q(LayoutTypeSwitcher,{value:t.layout,onChange:i}),e[1]=t.layout,e[2]=i,e[3]=c):c=e[3];let l;e[4]!==o||e[5]!==t.canApplyLatest||e[6]!==t.hasEditor||e[7]!==t.layout||e[8]!==a?(l=t.hasEditor&&$(G,{gap:`1`,children:[Q(sa,{}),Q(CompareActionsMenu,{disabled:t.layout===`auto`,onResetManualLayout:a,onApplyLatestToManual:t.canApplyLatest?o:void 0}),Q(sa,{})]}),e[4]=o,e[5]=t.canApplyLatest,e[6]=t.hasEditor,e[7]=t.layout,e[8]=a,e[9]=l):l=e[9];let t4;e[10]===r?t4=e[11]:(t4=e=>{e.stopPropagation(),r()},e[10]=r,e[11]=t4);let u;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(u=Q(dn,{}),e[12]=u):u=e[12];let d;e[13]===t4?d=e[14]:(d=Q(aa,{size:`sm`,onClick:t4,children:u}),e[13]=t4,e[14]=d);let f;return e[15]!==c||e[16]!==l||e[17]!==d?(f=$(Z,{children:[s,c,l,d]}),e[15]=c,e[16]=l,e[17]=d,e[18]=f):f=e[18],f}const hasDrifts=e=>!!e.drifts&&k(e.drifts,1),ca=Gr(e=>({view:e.view.drifts??[],nodes:g(e.view.nodes,M(e=>({id:e.id,name:e.title,drifts:e.drifts})),a(hasDrifts)),edges:g(e.view.edges,M(e=>({edgeId:e.id,drifts:e.drifts})),a(hasDrifts))})),la={initial:{opacity:0,translateY:-8},animate:{opacity:1,translateY:0,transition:{delayChildren:ri(.1)}},exit:{opacity:0,translateY:-8,transition:{delayChildren:ri(.2,{startDelay:.5,from:`last`})}}};function DriftsSummary(){let e=X(26),t=yr(ca,Un),n=q(),t0;e[0]===n?t0=e[1]:(t0=e=>{e.stopPropagation(),n.unhighlightAll()},e[0]=n,e[1]=t0);let r=ge(t0,150),t1;e[2]!==n||e[3]!==r?(t1=e=>{let t=e.currentTarget.getAttribute(`data-drift-type`),i=e.currentTarget.getAttribute(`data-drift-id`);if(t===`node`&&i){e.stopPropagation(),r.cancel(),n.highlightNode(i);return}if(t===`edge`&&i){e.stopPropagation(),r.cancel(),n.highlightEdge(i);return}},e[2]=n,e[3]=r,e[4]=t1):t1=e[4];let i=K(t1),t2;e[5]===n?t2=e[6]:(t2=e=>{let t=e.currentTarget.getAttribute(`data-drift-type`),r=e.currentTarget.getAttribute(`data-drift-id`);if(t===`node`&&r){e.stopPropagation(),n.centerViewportOnNode(r);return}if(t===`edge`&&r){e.stopPropagation(),n.centerViewportOnEdge(r);return}},e[5]=n,e[6]=t2);let a=K(t2),o=r,s;e[7]!==a||e[8]!==i||e[9]!==o?(s={onMouseEnter:i,onMouseLeave:o,onClick:a},e[7]=a,e[8]=i,e[9]=o,e[10]=s):s=e[10];let c=s,{view:l,nodes:u,edges:d}=t;if(l.length===0&&u.length===0&&d.length===0)return null;let f;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(f=Pt({mx:`[calc({spacing.2} * -1)]`,px:`2`,flex:`1`,height:`100%`,overflow:`scroll`,gap:`4`}),e[11]=f):f=e[11];let p;e[12]===l?p=e[13]:(p=k(l,1)&&Q(ViewDrifts,{drifts:l}),e[12]=l,e[13]=p);let m;e[14]!==c||e[15]!==u?(m=u.length>0&&$(Qr.div,{layout:!0,children:[Q(da,{children:`Elements:`}),Q(`div`,{className:Pt({mt:`2`,gap:`2`}),children:M(u,e=>Q(NodeDrifts,{...e,...c},e.id))})]},`nodes-drifts`),e[14]=c,e[15]=u,e[16]=m):m=e[16];let h;e[17]!==d||e[18]!==c?(h=d.length>0&&$(Qr.div,{layout:!0,children:[Q(da,{children:`Relationships:`}),Q(`div`,{className:Pt({mt:`2`,gap:`2`}),children:M(d,e=>Q(EdgeDrifts,{...e,...c},e.edgeId))})]},`edges-drifts`),e[17]=d,e[18]=c,e[19]=h):h=e[19];let g;return e[20]!==t||e[21]!==f||e[22]!==p||e[23]!==m||e[24]!==h?(g=Q($r,{children:$(Qr.div,{layout:`size`,variants:la,initial:`initial`,animate:`animate`,exit:`exit`,layoutDependency:t,className:f,children:[p,m,h]},`drifts-summary`)}),e[20]=t,e[21]=f,e[22]=p,e[23]=m,e[24]=h,e[25]=g):g=e[25],g}function ViewDrifts(e){let t=X(6),{drifts:n}=e,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=Pt({gap:`2`}),i=Q(da,{children:`View drifts (summary):`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a;t[2]===n?a=t[3]:(a=M(n,_temp$18),t[2]=n,t[3]=a);let o;return t[4]===a?o=t[5]:(o=Q(Z,{children:$(Qr.div,{layout:`position`,className:r,children:[i,Q(ua,{children:a},`view-drifts`)]},`view-drifts-header`)}),t[4]=a,t[5]=o),o}function _temp$18(e){return Q(fa,{children:e},e)}e(_temp$18,`_temp`);function NodeDrifts(e){let t=X(19),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({id:i,name:a,drifts:n,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=`node-drifts-${i}`,s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s={maxWidth:{base:160,"@/sm":180,"@/md":250}},t[5]=s):s=t[5];let c;t[6]===a?c=t[7]:(c=Q(Dt,{truncate:!0,css:s,color:`likec4.compare.manual.outline`,fontSize:`xs`,lineHeight:`sm`,fontWeight:`medium`,children:a}),t[6]=a,t[7]=c);let t3;t[8]===o?t3=t[9]:(t3=(e,t)=>Q(fa,{children:e},o+e+t),t[8]=o,t[9]=t3);let l;t[10]!==n||t[11]!==t3?(l=M(n,t3),t[10]=n,t[11]=t3,t[12]=l):l=t[12];let u;return t[13]!==r||t[14]!==i||t[15]!==o||t[16]!==c||t[17]!==l?(u=$(ua,{"data-drift-type":`node`,"data-drift-id":i,...r,children:[c,l]},o),t[13]=r,t[14]=i,t[15]=o,t[16]=c,t[17]=l,t[18]=u):u=t[18],u}function EdgeDrifts(e){let t=X(14),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({edgeId:r,drifts:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=`edge-drifts-${r}`,t1;t[4]===a?t1=t[5]:(t1=(e,t)=>Q(fa,{children:e},a+e+t),t[4]=a,t[5]=t1);let o;t[6]!==n||t[7]!==t1?(o=M(n,t1),t[6]=n,t[7]=t1,t[8]=o):o=t[8];let s;return t[9]!==r||t[10]!==i||t[11]!==a||t[12]!==o?(s=Q(ua,{"data-drift-type":`edge`,"data-drift-id":r,...i,children:o},a),t[9]=r,t[10]=i,t[11]=a,t[12]=o,t[13]=s):s=t[13],s}const ua=Tt(Qr.div,{base:Pt.raw({gap:`1`,px:`3`,py:`2`,cursor:`default`,rounded:`sm`,backgroundColor:`likec4.compare.manual/10`,border:`1px solid {colors.likec4.compare.manual.outline/20}`,_hover:{backgroundColor:`likec4.compare.manual/20`,borderColor:`likec4.compare.manual.outline/25`}})},{defaultProps:{className:`group`,variants:la,layout:!0,initial:`initial`,animate:`animate`,exit:`exit`}}),da=Tt(Qr.div,{base:{userSelect:`none`,fontWeight:`medium`,textStyle:`dimmed.xs`,pl:`2`}},{defaultProps:{variants:la,layout:`position`,initial:`initial`,animate:`animate`,exit:`exit`}}),fa=Tt(Qr.div,{base:{userSelect:`none`,textStyle:`xs`,color:{base:`text`,_groupHover:`text.bright`}}},{defaultProps:{variants:la,layout:`position`,initial:`initial`,animate:`animate`,exit:`exit`}}),pa={initial:{opacity:0,translateX:-20},animate:{opacity:1,translateX:0},exit:{opacity:0,translateX:-20}},ma=J(()=>{let e=X(21),t=useMantinePortalProps(),n=An(),{enableCompareWithLatest:r}=vr(),[i,a]=useDiagramCompareLayout(),[o,s]=wi(!1),t0;e[0]===n?t0=e[1]:(t0=()=>{setTimeout(()=>{n()&&s(!1)},500)},e[0]=n,e[1]=t0);let c=t0,t1;e[2]!==i.canApplyLatest||e[3]!==i.layout||e[4]!==a||e[5]!==c?(t1=e=>{if(!i.canApplyLatest||i.layout===`auto`){window.alert(`Cannot apply changes from latest version when using auto layout. Please switch to manual layout first.`);return}e.stopPropagation(),s(!0),setTimeout(()=>{a.applyLatestToManual(),c()},200)},e[2]=i.canApplyLatest,e[3]=i.layout,e[4]=a,e[5]=c,e[6]=t1):t1=e[6];let l=K(t1),t2;e[7]!==a||e[8]!==c?(t2=e=>{e.stopPropagation(),s(!0),setTimeout(()=>{a.resetManualLayout(),c()},200)},e[7]=a,e[8]=c,e[9]=t2):t2=e[9];let u=K(t2),d;e[10]!==i.canApplyLatest||e[11]!==i.drifts||e[12]!==i.layout||e[13]!==r||e[14]!==o||e[15]!==l||e[16]!==u||e[17]!==t?(d=r&&$(Z,{children:[Q(qr,{layout:`size`,layoutDependency:i.drifts||i.layout,className:Et({gap:`2`,layerStyle:`likec4.panel`,position:`relative`,px:`2`,py:`1`,pl:`3`,pointerEvents:`all`}),variants:pa,initial:`initial`,animate:`animate`,exit:`exit`,children:Q(ComparePanelControls,{})},`ComparePanel`),$(qr,{layout:`size`,layoutDependency:i.drifts||i.layout,variants:pa,initial:`initial`,animate:`animate`,exit:`exit`,className:Pt({gap:`4`,layerStyle:`likec4.panel`,position:`relative`,p:`4`,pointerEvents:`all`,height:`auto`,overflow:`hidden`,maxHeight:`calc(100cqh - 180px)`,"@/md":{minWidth:`200px`}}),children:[Q(DriftsSummary,{}),i.canApplyLatest&&Q(Z,{children:$(qr,{layout:`position`,className:W({flex:`0`}),children:[Q(fe,{orientation:`horizontal`,size:`xs`,mb:`xs`}),$(G,{children:[Q(ia,{openDelay:100,disabled:i.layout!==`auto`,label:`Switch to manual layout to apply changes.`,...t,children:Q(_e,{loading:o,size:`xs`,color:`orange`,variant:`light`,onClick:l,disabled:i.layout===`auto`,children:`Apply changes`})}),!o&&Q(ia,{openDelay:100,disabled:i.layout!==`manual`,label:`Reset manual layout`,...t,children:Q(_e,{hidden:o,size:`xs`,color:`orange`,variant:`subtle`,onClick:u,children:`Reset`})})]})]})})]},`ListOfDrifts`)]}),e[10]=i.canApplyLatest,e[11]=i.drifts,e[12]=i.layout,e[13]=r,e[14]=o,e[15]=l,e[16]=u,e[17]=t,e[18]=d):d=e[18];let f;return e[19]===d?f=e[20]:(f=Q($r,{children:d}),e[19]=d,e[20]=f),f});ma.displayName=`ComparePanel`;const ha=Ne.withProps({color:`dark`,fz:`xs`,openDelay:600,closeDelay:120,label:``,children:null,offset:8,position:`right`}),CenterCamera=()=>{let e=X(5),t=q(),t0;e[0]===t?t0=e[1]:(t0=()=>t.fitDiagram(),e[0]=t,e[1]=t0);let n;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(wn,{}),e[2]=n):n=e[2];let r;return e[3]===t0?r=e[4]:(r=Q(ha,{label:`Center camera`,children:Q(aa,{onClick:t0,children:n})}),e[3]=t0,e[4]=r),r};W({gap:`xxs`,_empty:{display:`none`}}),W({top:`md`,left:`md`,margin:`0`,pointerEvents:`none`,"& :where(button, .action-icon, [role='dialog'])":{pointerEvents:`all`},"& .action-icon":{"--ai-size":`2rem`},"& .tabler-icon":{width:`65%`,height:`65%`},_reduceGraphics:{"& .action-icon":{"--ai-radius":`0px`}}}),W({shadow:{base:`md`,_whenPanning:`none`}}),W({"& .tabler-icon":{width:`65%`,height:`65%`}});const ga=W({flex:`1 1 40%`,textAlign:`center`,fontWeight:`medium`,padding:`[4px 6px]`,fontSize:`11px`,zIndex:1}),_a=W({background:`mantine.colors.gray[2]`,borderRadius:`sm`,border:`1px solid`,borderColor:`mantine.colors.gray[4]`,_dark:{background:`mantine.colors.dark[5]`,borderColor:`mantine.colors.dark[4]`}}),va=W({position:`relative`,borderRadius:`sm`,background:`mantine.colors.gray[3]`,boxShadow:`inset 1px 1px 3px 0px #00000024`,_dark:{background:`mantine.colors.dark[7]`}}),ya=W({position:`absolute`,width:`8px`,height:`8px`,border:`2px solid`,borderColor:`mantine.colors.gray[5]`,borderRadius:`sm`,transform:`translate(-50%, -50%)`}),ba=e(e=>({viewId:e.view.id,isManualLayout:e.view._layout===`manual`,autoLayout:e.view.autoLayout}),`selector`),ChangeAutoLayoutButton=()=>{let e=X(64),t=q(),[n,r]=wi(null),i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i={},e[0]=i):i=e[0];let[a,o]=wi(i),{autoLayout:s,viewId:c,isManualLayout:l}=Cr(ba),{ref:u,hovered:d}=ct(),t1;e[1]===a?t1=e[2]:(t1=e=>t=>{a[e]=t,o(a)},e[1]=a,e[2]=t1);let f=t1,t2;e[3]!==s||e[4]!==t?(t2=e=>n=>{n.stopPropagation(),t.fitDiagram(),t.triggerChange({op:`change-autolayout`,layout:{...s,direction:e}})},e[3]=s,e[4]=t,e[5]=t2):t2=e[5];let p=t2,t3;e[6]!==s||e[7]!==t?(t3=(e,n)=>{t.fitDiagram(),t.triggerChange({op:`change-autolayout`,layout:{...s,nodeSep:e,rankSep:n}})},e[6]=s,e[7]=t,e[8]=t3):t3=e[8];let m=t3;if(l)return null;let h;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(h=[`pointerdown`],e[9]=h):h=e[9];let g;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(g={mainAxis:10},e[10]=g):g=e[10];let _;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(_=Q(Be,{children:Q(ha,{label:`Change Auto Layout`,children:Q(aa,{children:Q(Bt,{})})})}),e[11]=_):_=e[11];let v=d?.6:1,y=a[s.direction],b;e[12]!==n||e[13]!==y?(b=Q(Te,{target:y,parent:n,className:_a}),e[12]=n,e[13]=y,e[14]=b):b=e[14];let x;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(x=Q(F,{mb:10,children:Q(H,{inline:!0,fz:`xs`,c:`dimmed`,fw:500,children:`Auto layout:`})}),e[15]=x):x=e[15];let S;e[16]===f?S=e[17]:(S=f(`TB`),e[16]=f,e[17]=S);let C;e[18]===p?C=e[19]:(C=p(`TB`),e[18]=p,e[19]=C);let w;e[20]!==S||e[21]!==C?(w=Q(B,{className:ga,ref:S,onClick:C,children:`Top-Bottom`}),e[20]=S,e[21]=C,e[22]=w):w=e[22];let T;e[23]===f?T=e[24]:(T=f(`BT`),e[23]=f,e[24]=T);let E;e[25]===p?E=e[26]:(E=p(`BT`),e[25]=p,e[26]=E);let D;e[27]!==T||e[28]!==E?(D=Q(B,{className:ga,ref:T,onClick:E,children:`Bottom-Top`}),e[27]=T,e[28]=E,e[29]=D):D=e[29];let O;e[30]===f?O=e[31]:(O=f(`LR`),e[30]=f,e[31]=O);let k;e[32]===p?k=e[33]:(k=p(`LR`),e[32]=p,e[33]=k);let A;e[34]!==O||e[35]!==k?(A=Q(B,{className:ga,ref:O,onClick:k,children:`Left-Right`}),e[34]=O,e[35]=k,e[36]=A):A=e[36];let j;e[37]===f?j=e[38]:(j=f(`RL`),e[37]=f,e[38]=j);let M;e[39]===p?M=e[40]:(M=p(`RL`),e[39]=p,e[40]=M);let N;e[41]!==j||e[42]!==M?(N=Q(B,{className:ga,ref:j,onClick:M,children:`Right-Left`}),e[41]=j,e[42]=M,e[43]=N):N=e[43];let P;e[44]!==w||e[45]!==D||e[46]!==A||e[47]!==N?(P=$(We,{gap:2,wrap:`wrap`,justify:`stretch`,maw:160,children:[w,D,A,N]}),e[44]=w,e[45]=D,e[46]=A,e[47]=N,e[48]=P):P=e[48];let I;e[49]===Symbol.for(`react.memo_cache_sentinel`)?(I=Q(F,{my:10,children:Q(H,{inline:!0,fz:`xs`,c:`dimmed`,fw:500,children:`Spacing:`})}),e[49]=I):I=e[49];let L=s.direction===`TB`||s.direction===`BT`,R;e[50]!==s.nodeSep||e[51]!==s.rankSep||e[52]!==u||e[53]!==m||e[54]!==L||e[55]!==c?(R=Q(xa,{ref:u,isVertical:L,nodeSep:s.nodeSep,rankSep:s.rankSep,onChange:m},c),e[50]=s.nodeSep,e[51]=s.rankSep,e[52]=u,e[53]=m,e[54]=L,e[55]=c,e[56]=R):R=e[56];let z;e[57]!==P||e[58]!==R||e[59]!==b?(z=$(F,{pos:`relative`,ref:r,children:[b,x,P,I,R]}),e[57]=P,e[58]=R,e[59]=b,e[60]=z):z=e[60];let ee;return e[61]!==z||e[62]!==v?(ee=$(Ge,{position:`right-start`,clickOutsideEvents:h,radius:`xs`,shadow:`lg`,offset:g,children:[_,Q(Pe,{className:`likec4-top-left-panel`,p:8,pt:6,opacity:v,children:z})]}),e[61]=z,e[62]=v,e[63]=ee):ee=e[63],ee},xa=_i((e,t)=>{let n=X(30),{isVertical:r,nodeSep:i,rankSep:a,onChange:o}=e;if(!r){let e;n[0]!==i||n[1]!==a?(e=[a,i],n[0]=i,n[1]=a,n[2]=e):e=n[2],[i,a]=e}let t1,s;n[3]!==r||n[4]!==o?(t1=e=>{let{x:t,y:n}=e;r||([t,n]=[n,t]),o(Math.round(t*400),Math.round(n*400))},s=[o,r],n[3]=r,n[4]=o,n[5]=t1,n[6]=s):(t1=n[5],s=n[6]);let c=kn(t1,s,250,2e3),l=(i??100)/400,u=(a??120)/400,d;n[7]!==l||n[8]!==u?(d=ue({x:l,y:u}),n[7]=l,n[8]=u,n[9]=d):d=n[9];let f;n[10]!==c||n[11]!==d?(f={defaultValue:d,onChange:c},n[10]=c,n[11]=d,n[12]=f):f=n[12];let[p,m]=se(f),{ref:h}=R(m),g;n[13]===p.x?g=n[14]:(g=Math.round(p.x*400),n[13]=p.x,n[14]=g);let _=g,v;n[15]===p.y?v=n[16]:(v=Math.round(p.y*400),n[15]=p.y,n[16]=v);let y=v;if(!r){let e;n[17]!==_||n[18]!==y?(e=[y,_],n[17]=_,n[18]=y,n[19]=e):e=n[19],[_,y]=e}let b=ne(h,t),x=`${p.x*100}%`,S=`${p.y*100}%`,C;n[20]!==S||n[21]!==x?(C=Q(F,{className:ya,style:{left:x,top:S}}),n[20]=S,n[21]=x,n[22]=C):C=n[22];let w;n[23]!==_||n[24]!==y?(w=Q(F,{pos:`absolute`,left:2,bottom:2,children:$(H,{component:`div`,fz:8,c:`dimmed`,fw:500,children:[y,`, `,_]})}),n[23]=_,n[24]=y,n[25]=w):w=n[25];let T;return n[26]!==b||n[27]!==C||n[28]!==w?(T=$(F,{ref:b,className:va,pt:`100%`,children:[C,w]}),n[26]=b,n[27]=C,n[28]=w,n[29]=T):T=n[29],T}),Action=e=>{let t=X(7),{label:n,icon:r,onClick:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={root:`action-icon`,icon:W({"& > svg":{width:`70%`,height:`70%`}})},t[0]=a):a=t[0];let o;t[1]!==r||t[2]!==i?(o=Q(aa,{classNames:a,onClick:i,children:r}),t[1]=r,t[2]=i,t[3]=o):o=t[3];let s;return t[4]!==n||t[5]!==o?(s=Q(ha,{label:n,withinPortal:!1,position:`top`,children:o}),t[4]=n,t[5]=o,t[6]=s):s=t[6],s},Sa=J(()=>{let e=X(44),t=q(),n=useMantinePortalProps(),r,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={mainAxis:12},i=[`pointerdown`],e[0]=r,e[1]=i):(r=e[0],i=e[1]);let a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=Q(Be,{children:Q(ha,{label:`Manual layouting tools`,children:Q(aa,{children:Q(zt,{})})})}),e[2]=a):a=e[2];let o;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=Et({gap:`0.5`,layerStyle:`likec4.panel`,padding:`1`,pointerEvents:`all`}),e[3]=o):o=e[3];let s;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=Q(Jt,{}),e[4]=s):s=e[4];let c;e[5]===t?c=e[6]:(c=Q(Action,{label:`Align in columns`,icon:s,onClick:e=>{e.stopPropagation(),t.align(`Column`)}}),e[5]=t,e[6]=c);let l;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=Q(Kt,{}),e[7]=l):l=e[7];let u;e[8]===t?u=e[9]:(u=Q(Action,{label:`Align left`,icon:l,onClick:e=>{e.stopPropagation(),t.align(`Left`)}}),e[8]=t,e[9]=u);let d;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(d=Q(qt,{}),e[10]=d):d=e[10];let f;e[11]===t?f=e[12]:(f=Q(Action,{label:`Align center`,icon:d,onClick:e=>{e.stopPropagation(),t.align(`Center`)}}),e[11]=t,e[12]=f);let p;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(p=Q(Lt,{}),e[13]=p):p=e[13];let m;e[14]===t?m=e[15]:(m=Q(Action,{label:`Align right`,icon:p,onClick:e=>{e.stopPropagation(),t.align(`Right`)}}),e[14]=t,e[15]=m);let h;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(h=Q(Jt,{style:{transform:`rotate(90deg)`}}),e[16]=h):h=e[16];let g;e[17]===t?g=e[18]:(g=Q(Action,{label:`Align in rows`,icon:h,onClick:e=>{e.stopPropagation(),t.align(`Row`)}}),e[17]=t,e[18]=g);let _;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(_=Q(un,{}),e[19]=_):_=e[19];let v;e[20]===t?v=e[21]:(v=Q(Action,{label:`Align top`,icon:_,onClick:e=>{e.stopPropagation(),t.align(`Top`)}}),e[20]=t,e[21]=v);let y;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(y=Q(ln,{}),e[22]=y):y=e[22];let b;e[23]===t?b=e[24]:(b=Q(Action,{label:`Align middle`,icon:y,onClick:e=>{e.stopPropagation(),t.align(`Middle`)}}),e[23]=t,e[24]=b);let x;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(x=Q(Yt,{}),e[25]=x):x=e[25];let S;e[26]===t?S=e[27]:(S=Q(Action,{label:`Align bottom`,icon:x,onClick:e=>{e.stopPropagation(),t.align(`Bottom`)}}),e[26]=t,e[27]=S);let C;e[28]===Symbol.for(`react.memo_cache_sentinel`)?(C=Q(Cn,{}),e[28]=C):C=e[28];let w;e[29]===t?w=e[30]:(w=Q(Action,{label:`Reset all control points`,icon:C,onClick:e=>{e.stopPropagation(),t.resetEdgeControlPoints()}}),e[29]=t,e[30]=w);let T;e[31]!==m||e[32]!==g||e[33]!==v||e[34]!==b||e[35]!==S||e[36]!==w||e[37]!==c||e[38]!==u||e[39]!==f?(T=Q(Pe,{className:o,children:$(je,{children:[c,u,f,m,g,v,b,S,w]})}),e[31]=m,e[32]=g,e[33]=v,e[34]=b,e[35]=S,e[36]=w,e[37]=c,e[38]=u,e[39]=f,e[40]=T):T=e[40];let E;return e[41]!==n||e[42]!==T?(E=$(Ge,{position:`right`,offset:r,clickOutsideEvents:i,...n,children:[a,T]}),e[41]=n,e[42]=T,e[43]=E):E=e[43],E});Sa.displayName=`ManualLayoutToolsButton`;const Ca=e(()=>{let e=X(5),t=q(),t0;e[0]===t?t0=e[1]:(t0=()=>t.toggleFeature(`ReadOnly`),e[0]=t,e[1]=t0);let n;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(Sn,{size:14,stroke:2}),e[2]=n):n=e[2];let r;return e[3]===t0?r=e[4]:(r=Q(ha,{label:`Switch to Read-only`,children:Q(aa,{onClick:t0,children:n})}),e[3]=t0,e[4]=r),r},`ToggleReadonly`);function EditorPanel(){let e=X(4),{enableReadOnly:t}=vr(),n;e[0]===t?n=e[1]:(n=!t&&Q(qr,{layout:`position`,className:Pt({gap:`xs`,layerStyle:`likec4.panel`,position:`relative`,cursor:`pointer`,padding:`xxs`,pointerEvents:`all`}),initial:{opacity:0,translateX:-20},animate:{opacity:1,translateX:0},exit:{opacity:0,translateX:-20},children:$(je,{openDelay:600,closeDelay:120,children:[Q(ChangeAutoLayoutButton,{}),Q(Sa,{}),Q(CenterCamera,{}),Q(Ca,{})]})}),e[0]=t,e[1]=n);let r;return e[2]===n?r=e[3]:(r=Q($r,{children:n}),e[2]=n,e[3]=r),r}const wa=gi(null);wa.displayName=`NavigationPanelActorSafeContext`;const Ta=wa.Provider,useNavigationActorRef=()=>{let e=yi(wa);if(e===null)throw Error(`NavigationPanelActorRef is not found in the context`);return e};function useNavigationActorSnapshot(e,t){let n=t===void 0?Hn:t;return(0,oi.useSelector)(useNavigationActorRef(),e,n)}function useNavigationActorContext(e,t){let n=X(2),r=t===void 0?Hn:t,t1;return n[0]===e?t1=n[1]:(t1=t=>e(t.context),n[0]=e,n[1]=t1),useNavigationActorSnapshot(t1,r)}function useNavigationActor(){let e=X(15),t=useNavigationActorRef(),t0,t1,t2,t3,t4,t5;e[0]===t?(t0=e[1],t1=e[2],t2=e[3],t3=e[4],t4=e[5],t5=e[6]):(t0=e=>t.send(e),t1=e=>t.send({type:`select.folder`,folderPath:e}),t2=e=>t.send({type:`select.view`,viewId:e}),t3=()=>t.getSnapshot().hasTag(`active`),t4=()=>t.send({type:`searchQuery.change`,value:``}),t5=()=>t.send({type:`dropdown.dismiss`}),e[0]=t,e[1]=t0,e[2]=t1,e[3]=t2,e[4]=t3,e[5]=t4,e[6]=t5);let n;return e[7]!==t||e[8]!==t0||e[9]!==t1||e[10]!==t2||e[11]!==t3||e[12]!==t4||e[13]!==t5?(n={actorRef:t,send:t0,selectFolder:t1,selectView:t2,isOpened:t3,clearSearch:t4,closeDropdown:t5},e[7]=t,e[8]=t0,e[9]=t1,e[10]=t2,e[11]=t3,e[12]=t4,e[13]=t5,e[14]=n):n=e[14],n}const Ea=_i((e,t)=>{let n=X(4),r;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=Q(`path`,{d:`M12 1C5.923 1 1 5.923 1 12c0 4.867 3.149 8.979 7.521 10.436.55.096.756-.233.756-.522 0-.262-.013-1.128-.013-2.049-2.764.509-3.479-.674-3.699-1.292-.124-.317-.66-1.293-1.127-1.554-.385-.207-.936-.715-.014-.729.866-.014 1.485.797 1.691 1.128.99 1.663 2.571 1.196 3.204.907.096-.715.385-1.196.701-1.471-2.448-.275-5.005-1.224-5.005-5.432 0-1.196.426-2.186 1.128-2.956-.111-.275-.496-1.402.11-2.915 0 0 .921-.288 3.024 1.128a10.193 10.193 0 0 1 2.75-.371c.936 0 1.871.123 2.75.371 2.104-1.43 3.025-1.128 3.025-1.128.605 1.513.221 2.64.111 2.915.701.77 1.127 1.747 1.127 2.956 0 4.222-2.571 5.157-5.019 5.432.399.344.743 1.004.743 2.035 0 1.471-.014 2.654-.014 3.025 0 .289.206.632.756.522C19.851 20.979 23 16.854 23 12c0-6.077-4.922-11-11-11Z`}),n[0]=r):r=n[0];let i;return n[1]!==e||n[2]!==t?(i=Q(`svg`,{height:`24`,width:`24`,fill:`currentColor`,...e,viewBox:`0 0 24 24`,ref:t,children:r}),n[1]=e,n[2]=t,n[3]=i):i=n[3],i}),Da=`https://github.com/`,Oa=_i((e,t)=>{let n=X(33),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({value:a,className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===a.url?o=n[5]:(o=a.url.includes(`://`)?a.url:new window.URL(a.url,window.location.href).toString(),n[4]=a.url,n[5]=o);let s=o,c;n[6]===s?c=n[7]:(c=s.startsWith(Da),n[6]=s,n[7]=c);let l=c,u;n[8]===a.title?u=n[9]:(u=a.title?Q(Z,{children:a.title}):null,n[8]=a.title,n[9]=u);let d;n[10]===s?d=n[11]:(d=Q(ot,{value:s,timeout:1500,children:_temp$17}),n[10]=s,n[11]=d);let f;n[12]===r?f=n[13]:(f=U(r,`group`),n[12]=r,n[13]=f);let p;n[14]===Symbol.for(`react.memo_cache_sentinel`)?(p={root:W({flexWrap:`nowrap`,minHeight:24,maxWidth:500,userSelect:`all`,pr:`0`,backgroundColor:{base:`transparent`,_hover:{base:`mantine.colors.gray[1]`,_dark:`mantine.colors.dark[5]`}}}),section:W({'&:is([data-position="left"])':{color:`text.dimmed`,userSelect:`none`,pointerEvents:`none`,_groupHover:{color:`[var(--badge-color)]`,opacity:.7}}})},n[14]=p):p=n[14];let m;n[15]===Symbol.for(`react.memo_cache_sentinel`)?(m={color:`var(--badge-color)`,cursor:`pointer`},n[15]=m):m=n[15];let h;n[16]===Symbol.for(`react.memo_cache_sentinel`)?(h={transition:`fast`,opacity:{base:.7,_hover:1},textDecoration:{base:`none`,_hover:`underline`}},n[16]=h):h=n[16];let g;n[17]===l?g=n[18]:(g=l&&Q(Ea,{height:`12`,width:`12`,style:{verticalAlign:`middle`,marginRight:`4px`}}),n[17]=l,n[18]=g);let _;n[19]!==l||n[20]!==s?(_=l?s.replace(Da,``):s,n[19]=l,n[20]=s,n[21]=_):_=n[21];let v;n[22]!==_||n[23]!==g||n[24]!==s?(v=$(Tt.a,{href:s,target:`_blank`,style:m,css:h,children:[g,_]}),n[22]=_,n[23]=g,n[24]=s,n[25]=v):v=n[25];let y;return n[26]!==i||n[27]!==t||n[28]!==v||n[29]!==u||n[30]!==d||n[31]!==f?(y=Q(Ke,{ref:t,variant:`default`,radius:`sm`,size:`sm`,tt:`none`,leftSection:u,rightSection:d,...i,className:f,classNames:p,children:v}),n[26]=i,n[27]=t,n[28]=v,n[29]=u,n[30]=d,n[31]=f,n[32]=y):y=n[32],y});function _temp$17(e){let{copy:t,copied:n}=e;return Q(Oe,{className:W({opacity:n?1:.45,transition:`fast`,_hover:{opacity:1}}),tabIndex:-1,size:`20`,variant:n?`light`:`transparent`,color:n?`teal`:`gray`,"data-active":n,onClick:e=>{e.stopPropagation(),e.preventDefault(),t()},children:n?Q($t,{}):Q(Wt,{stroke:2.5})})}e(_temp$17,`_temp`);const ka=e(({context:e})=>{let t=e.view;return{id:t.id,title:e.viewModel?.title??(t.title&&Zi(t.title))??`Untitled View`,description:e.viewModel?.description??qi.from(t.description),tags:t.tags??[],links:t.links??[]}},`selector`),DetailsControls=e=>{let t=X(14),[n,r]=wi(!1),i=useNavigationActorSnapshot(ka,Un),a=useMantinePortalProps(),o,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=[`pointerdown`,`mousedown`,`click`],s={mainAxis:4},t[0]=o,t[1]=s):(o=t[0],s=t[1]);let t2;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(t2=()=>r(!0),t[2]=t2):t2=t[2];let c;t[3]===i.links.length?c=t[4]:(c=Q(ViewDetailsCardTrigger,{linksCount:i.links.length,onOpen:t2}),t[3]=i.links.length,t[4]=c);let l;t[5]!==i||t[6]!==n?(l=n&&Q(ViewDetailsCardDropdown,{data:i,onClose:()=>r(!1)}),t[5]=i,t[6]=n,t[7]=l):l=t[7];let u;return t[8]!==n||t[9]!==a||t[10]!==e||t[11]!==c||t[12]!==l?(u=$(Ge,{position:`bottom-end`,shadow:`xl`,clickOutsideEvents:o,offset:s,opened:n,onChange:r,...a,...e,children:[c,l]}),t[8]=n,t[9]=a,t[10]=e,t[11]=c,t[12]=l,t[13]=u):u=t[13],u},ViewDetailsCardTrigger=e=>{let t=X(10),{linksCount:n,onOpen:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i={scale:.95,translateY:1},t[0]=i):i=t[0];let t2;t[1]===r?t2=t[2]:(t2=e=>{e.stopPropagation(),r()},t[1]=r,t[2]=t2);let a,o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=U(`group`,Et({gap:`2`,paddingInline:`2`,paddingBlock:`1`,rounded:`sm`,userSelect:`none`,cursor:`pointer`,color:{base:`likec4.panel.action`,_hover:`likec4.panel.action.hover`},backgroundColor:{_hover:`likec4.panel.action.bg.hover`},display:{base:`none`,"@/xs":`flex`}}),``),o=Q(Ht,{size:16,stroke:1.8}),t[3]=a,t[4]=o):(a=t[3],o=t[4]);let s;t[5]===n?s=t[6]:(s=n>0&&$(G,{gap:`[1px]`,children:[Q(Xt,{size:14,stroke:2}),Q(wt,{css:{fontSize:`11px`,fontWeight:`bold`,lineHeight:1,opacity:.8},children:n})]}),t[5]=n,t[6]=s);let c;return t[7]!==t2||t[8]!==s?(c=Q(Ge.Target,{children:$(B,{component:Yr,layout:`position`,whileTap:i,onClick:t2,className:a,children:[o,s]})}),t[7]=t2,t[8]=s,t[9]=c):c=t[9],c},Aa=Tt(`div`,{base:{fontSize:`xs`,color:`text.dimmed`,fontWeight:`medium`,userSelect:`none`,mb:`xxs`}}),ViewDetailsCardDropdown=e=>{let t=X(29),{data:n,onClose:r}=e,{id:i,title:a,description:o,tags:s,links:c}=n,l=q();Wr(`paneClick`,r),Wr(`nodeClick`,r);let u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=U(`nowheel nopan nodrag`,Pt({margin:`xs`,layerStyle:`likec4.dropdown`,gap:`md`,padding:`md`,paddingBottom:`lg`,pointerEvents:`all`,maxWidth:`calc(100cqw - 52px)`,minWidth:`200px`,maxHeight:`calc(100cqh - 100px)`,width:`max-content`,cursor:`default`,overflow:`auto`,overscrollBehavior:`contain`,"@/sm":{minWidth:400,maxWidth:550},"@/lg":{maxWidth:700}})),t[0]=u):u=t[0];let d;t[1]===a?d=t[2]:(d=Q(H,{component:`div`,fw:500,size:`xl`,lh:`sm`,children:a}),t[1]=a,t[2]=d);let f;t[3]===i?f=t[4]:(f=Q(ViewBadge,{label:`id`,value:i}),t[3]=i,t[4]=f);let p;if(t[5]!==l||t[6]!==s){let t6;t[8]===l?t6=t[9]:(t6=e=>Q(jr,{tag:e,cursor:`pointer`,onClick:t=>{t.stopPropagation(),l.openSearch(`#${e}`)}},e),t[8]=l,t[9]=t6),p=s.map(t6),t[5]=l,t[6]=s,t[7]=p}else p=t[7];let m;t[10]===p?m=t[11]:(m=Q(G,{gap:`xs`,flexWrap:`wrap`,children:p}),t[10]=p,t[11]=m);let h;t[12]!==f||t[13]!==m?(h=$(G,{alignItems:`flex-start`,mt:`1`,children:[f,m]}),t[12]=f,t[13]=m,t[14]=h):h=t[14];let g;t[15]!==d||t[16]!==h?(g=$(`section`,{children:[d,h]}),t[15]=d,t[16]=h,t[17]=g):g=t[17];let _;t[18]===c?_=t[19]:(_=c.length>0&&$(`section`,{className:Et({alignItems:`baseline`}),children:[Q(Aa,{children:`Links`}),Q(G,{gap:`xs`,flexWrap:`wrap`,children:c.map(_temp$16)})]}),t[18]=c,t[19]=_);let v;t[20]===o.isEmpty?v=t[21]:(v=o.isEmpty&&Q(H,{component:`div`,fw:500,size:`xs`,c:`dimmed`,style:{userSelect:`none`},children:`No description`}),t[20]=o.isEmpty,t[21]=v);let y;t[22]===o?y=t[23]:(y=o.nonEmpty&&$(`section`,{children:[Q(Aa,{children:`Description`}),Q(or,{value:o,fontSize:`sm`,emptyText:`No description`,className:W({userSelect:`all`})})]}),t[22]=o,t[23]=y);let b;return t[24]!==v||t[25]!==y||t[26]!==g||t[27]!==_?(b=$(Ge.Dropdown,{className:u,children:[g,_,v,y]}),t[24]=v,t[25]=y,t[26]=g,t[27]=_,t[28]=b):b=t[28],b},ViewBadge=e=>{let t=X(8),{label:n,value:r}=e,i;t[0]===n?i=t[1]:(i=Q(ja,{children:n}),t[0]=n,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a={root:W({width:`max-content`,overflow:`visible`,px:`1`,color:{_dark:`mantine.colors.gray[4]`,_light:`mantine.colors.gray[8]`}}),label:W({overflow:`visible`}),section:W({opacity:.5,userSelect:`none`,marginInlineEnd:`0.5`})},t[2]=a):a=t[2];let o;t[3]===r?o=t[4]:(o=Q(Ke,{size:`sm`,radius:`sm`,variant:`light`,color:`gray`,tt:`none`,fw:500,classNames:a,children:r}),t[3]=r,t[4]=o);let s;return t[5]!==i||t[6]!==o?(s=$(G,{gap:`0.5`,children:[i,o]}),t[5]=i,t[6]=o,t[7]=s):s=t[7],s},ja=Tt(`div`,{base:{color:`text.dimmed`,fontWeight:`medium`,fontSize:`xxs`,userSelect:`none`}});function _temp$16(e,t){return Q(Oa,{value:e},`${t}-${e.url}`)}e(_temp$16,`_temp`);const Ma=J(()=>{let e=X(8),[t,n]=useDiagramCompareLayout(),{toggleCompare:r}=n,i=useMantinePortalProps(),{drifts:a,isActive:o,isEnabled:s}=t,c;e[0]!==a||e[1]!==o||e[2]!==s||e[3]!==i||e[4]!==r?(c=s&&!o&&$(Le,{position:`bottom-start`,openDelay:600,closeDelay:200,floatingStrategy:`absolute`,offset:{mainAxis:4,crossAxis:-22},...i,children:[Q(ae,{children:Q(B,{component:Yr,layout:`position`,onClick:e=>{e.stopPropagation(),r()},whileTap:{scale:.95,translateY:1},className:U(`group`,Ot({variant:`filled`,type:`warning`}),Et({gap:`xxs`,padding:`1.5`,rounded:`sm`,userSelect:`none`,cursor:`pointer`,fontSize:`xs`,fontWeight:`bold`})),children:o?Q(Z,{children:`Stop Compare`}):Q(pn,{size:18})})}),Q(oe,{p:`0`,children:$(Se,{color:`orange`,withBorder:!1,withCloseButton:!1,title:`View is out of sync`,children:[Q(H,{mt:2,size:`sm`,lh:`xs`,children:`Model has changed since this view was last updated.`}),$(H,{mt:4,size:`sm`,lh:`xs`,children:[`Detected changes:`,a.map(_temp$15)]}),Q(_e,{mt:`xs`,size:`compact-sm`,variant:`default`,onClick:e=>{e.stopPropagation(),r()},children:`Compare with current state`})]})})]}),e[0]=a,e[1]=o,e[2]=s,e[3]=i,e[4]=r,e[5]=c):c=e[5];let l;return e[6]===c?l=e[7]:(l=Q($r,{propagate:!0,children:c}),e[6]=c,e[7]=l),l});Ma.displayName=`ManualLayoutWarning`;function _temp$15(e){return $(pi,{children:[Q(`br`,{}),$(`span`,{children:[`- `,e]})]},e)}e(_temp$15,`_temp`);const LogoButton=()=>{let e=X(13),t=useNavigationActor(),{onLogoClick:n}=xr(),t0,t1;e[0]===t?(t0=e[1],t1=e[2]):(t0=()=>{t.send({type:`breadcrumbs.mouseEnter.root`})},t1=()=>{t.send({type:`breadcrumbs.mouseLeave.root`})},e[0]=t,e[1]=t0,e[2]=t1);let t2;e[3]!==t||e[4]!==n?(t2=e=>{e.stopPropagation(),n&&t.isOpened()&&setTimeout(()=>{n()},100),t.send({type:`breadcrumbs.click.root`})},e[3]=t,e[4]=n,e[5]=t2):t2=e[5];let r;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(r=U(`mantine-active`,Et({padding:`0.5`,width:{base:`[20px]`,"@/md":`[64px]`}})),e[6]=r):r=e[6];let i;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(i=Q(cr,{className:W({display:{base:`none`,"@/md":`block`}})}),e[7]=i):i=e[7];let a;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(a=Q(dr,{className:W({display:{base:`block`,"@/md":`none`}})}),e[8]=a):a=e[8];let o;return e[9]!==t0||e[10]!==t1||e[11]!==t2?(o=Q(qr,{layout:`position`,children:$(B,{onMouseEnter:t0,onMouseLeave:t1,onClick:t2,className:r,children:[i,a]})}),e[9]=t0,e[10]=t1,e[11]=t2,e[12]=o):o=e[12],o},NavigationButtons=()=>{let e=X(16),t=q(),{hasStepBack:n,hasStepForward:r}=Cr(_temp$14),i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=Et({gap:`0.5`}),e[0]=i):i=e[0];let a=!n,t2;e[1]===t?t2=e[2]:(t2=e=>{e.stopPropagation(),t.navigate(`back`)},e[1]=t,e[2]=t2);let o;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=Q(an,{size:14}),e[3]=o):o=e[3];let s;e[4]!==a||e[5]!==t2?(s=Q(aa,{disabled:a,onClick:t2,children:o}),e[4]=a,e[5]=t2,e[6]=s):s=e[6];let c=!r,t6;e[7]===t?t6=e[8]:(t6=e=>{e.stopPropagation(),t.navigate(`forward`)},e[7]=t,e[8]=t6);let l;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(l=Q(It,{size:14}),e[9]=l):l=e[9];let u;e[10]!==c||e[11]!==t6?(u=Q(aa,{disabled:c,onClick:t6,children:l}),e[10]=c,e[11]=t6,e[12]=u):u=e[12];let d;return e[13]!==s||e[14]!==u?(d=$(qr,{layout:`position`,className:i,children:[s,u]}),e[13]=s,e[14]=u,e[15]=d):d=e[15],d};function _temp$14(e){return{hasStepBack:e.navigationHistory.currentIndex>0,hasStepForward:e.navigationHistory.currentIndex<e.navigationHistory.history.length-1}}e(_temp$14,`_temp`);const OpenSource=()=>{let e=X(6),t=useCurrentViewId(),{enableVscode:n}=vr(),{onOpenSource:r}=xr();if(!n)return null;let t0;e[0]!==r||e[1]!==t?(t0=e=>{e.stopPropagation(),r?.({view:t})},e[0]=r,e[1]=t,e[2]=t0):t0=e[2];let i;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=Q(Qt,{style:{width:`60%`,height:`60%`}}),e[3]=i):i=e[3];let a;return e[4]===t0?a=e[5]:(a=Q(ia,{label:`Open View Source`,children:Q(aa,{onClick:t0,children:i})}),e[4]=t0,e[5]=a),a};function SearchControl(){let e=X(9),t=q(),n=Pn(),t0;e[0]===t?t0=e[1]:(t0=e=>{e.stopPropagation(),t.openSearch()},e[0]=t,e[1]=t0);let r,i,a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r={scale:.95,translateY:1},i=U(`group`,Et({gap:`xxs`,paddingInline:`sm`,paddingBlock:`xxs`,userSelect:`none`,layerStyle:`likec4.panel.action.filled`,display:{base:`none`,"@/md":`flex`}})),a=Q(xn,{size:14,stroke:2.5}),e[2]=r,e[3]=i,e[4]=a):(r=e[2],i=e[3],a=e[4]);let o;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o={fontSize:`11px`,fontWeight:`bold`,lineHeight:1,opacity:.8,whiteSpace:`nowrap`},e[5]=o):o=e[5];let s;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=Q(wt,{css:o,children:n?`⌘ + K`:`Ctrl + K`}),e[6]=s):s=e[6];let c;return e[7]===t0?c=e[8]:(c=$(B,{component:Yr,layout:`position`,onClick:t0,whileTap:r,className:i,children:[a,s]}),e[7]=t0,e[8]=c),c}const Na=e(e=>{let t=Or(e).enableCompareWithLatest&&!!e.view.drifts&&e.view._layout===`auto`,n=!f(e.activeWalkthrough);return{visible:e.features.enableEditor&&n,disabled:t,isReadOnly:e.toggledFeatures.enableReadOnly??!1}},`selector`),ToggleReadonly=()=>{let e=X(7),{visible:t,disabled:n,isReadOnly:r}=Cr(Na),i=q(),a;e[0]!==i||e[1]!==n||e[2]!==r||e[3]!==t?(a=t&&$(B,{component:Yr,layout:`position`,layoutDependency:r,disabled:n,onClick:e=>{e.stopPropagation(),!n&&i.toggleFeature(`ReadOnly`)},initial:{opacity:0,scale:.6},animate:{opacity:1,scale:n?.95:1},exit:{opacity:0,scale:.6},whileTap:{translateY:1},className:U(`group`,Et({gap:`0.5`,paddingInline:`xxs`,paddingBlock:`xxs`,userSelect:`none`,layerStyle:`likec4.panel.action`,backgroundColor:{base:`none`,_notDisabled:{_hover:`likec4.panel.action.bg.hover`}}})),children:[Q(Sn,{size:14,stroke:2,style:{display:r?`none`:void 0}}),Q(Rt,{size:14,stroke:2,style:{display:r?void 0:`none`}}),Q(qr,{className:W({fontSize:`11px`,fontWeight:`bold`,lineHeight:1,opacity:.8}),style:{display:r?`block`:`none`},children:`Edit`})]}),e[0]=i,e[1]=n,e[2]=r,e[3]=t,e[4]=a):a=e[4];let o;return e[5]===a?o=e[6]:(o=Q($r,{mode:`popLayout`,children:a}),e[5]=a,e[6]=o),o},Pa=At({base:{fontSize:`sm`,fontWeight:`medium`,transition:`fast`,color:{base:`likec4.panel.action`,_hover:`likec4.panel.action.hover`}},variants:{truncate:{true:{truncate:!0}},dimmed:{true:{color:{base:`likec4.panel.text.dimmed`,_hover:`likec4.panel.action`}}}}}),Fa=_i((e,t)=>{let n=X(5),r;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={scale:.95},n[0]=r):r=n[0];let i;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=W({flexShrink:0}),n[1]=i):i=n[1];let a;return n[2]!==e||n[3]!==t?(a=Q(_e,{variant:`filled`,size:`xs`,fw:`500`,...e,ref:t,component:Yr,whileTap:r,layout:`position`,layoutId:`trigger-dynamic-walkthrough`,className:i}),n[2]=e,n[3]=t,n[4]=a):a=n[4],a});function StartWalkthroughButton(){let e=X(14),{enableCompareWithLatest:t}=vr(),n=q(),r=useNavigationActor(),i=`Start Dynamic View Walkthrough`;switch(!0){case t:i=`Walkthrough not available when Compare is active`}let t0;e[0]!==r||e[1]!==n?(t0=e=>{e.stopPropagation(),r.closeDropdown(),n.startWalkthrough()},e[0]=r,e[1]=n,e[2]=t0):t0=e[2];let a,o,s;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(a={opacity:0,scale:.6,translateX:-10},o={opacity:1,scale:1,translateX:0},s={opacity:0,translateX:-20},e[3]=a,e[4]=o,e[5]=s):(a=e[3],o=e[4],s=e[5]);let c,l;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(c={label:W({display:{base:`none`,"@/md":`inherit`}}),section:W({marginInlineStart:{base:`0`,"@/md":`2`}})},l=Q(nn,{size:10}),e[6]=c,e[7]=l):(c=e[6],l=e[7]);let u;e[8]!==t||e[9]!==t0?(u=Q(Fa,{onClick:t0,initial:a,animate:o,exit:s,size:`compact-xs`,h:26,disabled:t,classNames:c,rightSection:l,children:`Start`}),e[8]=t,e[9]=t0,e[10]=u):u=e[10];let d;return e[11]!==u||e[12]!==i?(d=Q(ia,{label:i,children:u}),e[11]=u,e[12]=i,e[13]=d):d=e[13],d}const Ia=_i((e,t)=>{let n=X(10),{value:r,onChange:i}=e,t1;n[0]===i?t1=n[1]:(t1=e=>{Di(e===`diagram`||e===`sequence`,`Invalid dynamic view variant`),i(e)},n[0]=i,n[1]=t1);let a,o;n[2]===Symbol.for(`react.memo_cache_sentinel`)?(a={label:W({fontSize:`xxs`})},o=[{value:`diagram`,label:`Diagram`},{value:`sequence`,label:`Sequence`}],n[2]=a,n[3]=o):(a=n[2],o=n[3]);let s;n[4]!==t1||n[5]!==r?(s=Q(ze,{size:`xs`,value:r,onChange:t1,classNames:a,data:o}),n[4]=t1,n[5]=r,n[6]=s):s=n[6];let c;return n[7]!==t||n[8]!==s?(c=Q(qr,{ref:t,layout:`position`,children:s}),n[7]=t,n[8]=s,n[9]=c):c=n[9],c});function DynamicViewControls(){let e=X(8),t=Cr(_temp$13),n=q(),t0;e[0]===n?t0=e[1]:(t0=e=>{n.switchDynamicViewVariant(e)},e[0]=n,e[1]=t0);let r;e[2]!==t||e[3]!==t0?(r=Q(Ia,{value:t,onChange:t0}),e[2]=t,e[3]=t0,e[4]=r):r=e[4];let i;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(i=Q(StartWalkthroughButton,{},`trigger-dynamic-walkthrough`),e[5]=i):i=e[5];let a;return e[6]===r?a=e[7]:(a=$($r,{children:[r,i]}),e[6]=r,e[7]=a),a}function _temp$13(e){return e.dynamicViewVariant}e(_temp$13,`_temp`);const La=_e.withProps({component:Yr,layout:`position`,whileTap:{scale:.95},variant:`light`,size:`xs`,fw:`500`}),ParallelFrame=()=>{let e=X(3),{portalProps:t}=useMantinePortalProps(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(wt,{css:{position:`absolute`,margin:`0`,padding:`0`,top:`0`,left:`0`,width:`100%`,height:`100%`,border:`2px solid`,borderColor:`likec4.walkthrough.parallelFrame`,pointerEvents:`none`,md:{borderWidth:`4`}}}),e[0]=n):n=e[0];let r;return e[1]===t?r=e[2]:(r=Q(Ce,{...t,children:n}),e[1]=t,e[2]=r),r};function ActiveWalkthroughControls(){let e=X(36),t=q(),{isParallel:n,hasNext:r,hasPrevious:i,currentStep:a,totalSteps:o}=Cr(_temp$12),t0;e[0]===t?t0=e[1]:(t0=e=>{e.stopPropagation(),t.stopWalkthrough()},e[0]=t,e[1]=t0);let s;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=Q(fn,{size:10}),e[2]=s):s=e[2];let c;e[3]===t0?c=e[4]:(c=Q(Fa,{variant:`light`,size:`xs`,color:`orange`,mr:`sm`,onClick:t0,rightSection:s,children:`Stop`},`stop-walkthrough`),e[3]=t0,e[4]=c);let l=!i,t4;e[5]===t?t4=e[6]:(t4=()=>t.walkthroughStep(`previous`),e[5]=t,e[6]=t4);let u;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=Q(cn,{size:10}),e[7]=u):u=e[7];let d;e[8]!==l||e[9]!==t4?(d=Q(La,{disabled:l,onClick:t4,leftSection:u,children:`Previous`},`prev`),e[8]=l,e[9]=t4,e[10]=d):d=e[10];let f=n?`gradient`:`transparent`,p;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(p={from:`red`,to:`orange`,deg:90},e[11]=p):p=e[11];let m=n?`block`:`none`,h;e[12]===m?h=e[13]:(h=W({fontSize:`xxs`,display:m}),e[12]=m,e[13]=h);let g;e[14]===h?g=e[15]:(g=Q(qr,{className:h,children:`parallel`}),e[14]=h,e[15]=g);let _;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(_=W({alignItems:`baseline`}),e[16]=_):_=e[16];let v;e[17]!==a||e[18]!==g||e[19]!==f||e[20]!==o?(v=$(Ke,{component:qr,layout:`position`,size:`md`,radius:`sm`,variant:f,gradient:p,rightSection:g,className:_,children:[a,` / `,o]},`step-badge`),e[17]=a,e[18]=g,e[19]=f,e[20]=o,e[21]=v):v=e[21];let y=!r,t15;e[22]===t?t15=e[23]:(t15=()=>t.walkthroughStep(`next`),e[22]=t,e[23]=t15);let b;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(b=Q(_n,{size:10}),e[24]=b):b=e[24];let x;e[25]!==y||e[26]!==t15?(x=Q(La,{disabled:y,onClick:t15,rightSection:b,children:`Next`},`next`),e[25]=y,e[26]=t15,e[27]=x):x=e[27];let S;e[28]===n?S=e[29]:(S=n&&Q(ParallelFrame,{},`parallel-frame`),e[28]=n,e[29]=S);let C;return e[30]!==v||e[31]!==x||e[32]!==S||e[33]!==c||e[34]!==d?(C=$($r,{propagate:!0,mode:`popLayout`,children:[c,d,v,x,S]}),e[30]=v,e[31]=x,e[32]=S,e[33]=c,e[34]=d,e[35]=C):C=e[35],C}function _temp$12(e){let t=e.xyedges.findIndex(t=>t.id===e.activeWalkthrough?.stepId);return{isParallel:f(e.activeWalkthrough?.parallelPrefix),hasNext:t<e.xyedges.length-1,hasPrevious:t>0,currentStep:t+1,totalSteps:e.xyedges.length}}e(_temp$12,`_temp`);const selectBreadcrumbs=({context:e})=>{let t=e.view,n=e.viewModel?.folder;return{folders:!n||n.isRoot?[]:n.breadcrumbs.map(e=>({folderPath:e.path,title:e.title})),viewId:t.id,viewTitle:e.viewModel?.title??(t.title&&Zi(t.title))??`Untitled View`,isDynamicView:(e.viewModel?._type??t._type)===`dynamic`}},Ra=J(()=>{let e=X(45),t=useNavigationActor(),{enableNavigationButtons:n,enableDynamicViewWalkthrough:r,enableCompareWithLatest:i,enableSearch:a}=vr(),{folders:o,viewTitle:s,isDynamicView:c}=(0,oi.useSelector)(t.actorRef,selectBreadcrumbs,Un),l;if(e[0]!==t||e[1]!==o){let t1;e[3]===t?t1=e[4]:(t1=(e,n)=>{let{folderPath:r,title:i}=e;return[Q(B,{component:Yr,className:U(Pa({dimmed:!0,truncate:!0}),`mantine-active`,W({userSelect:`none`,maxWidth:`200px`,display:{base:`none`,"@/md":`block`}})),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},title:i,onMouseEnter:()=>t.send({type:`breadcrumbs.mouseEnter.folder`,folderPath:r}),onMouseLeave:()=>t.send({type:`breadcrumbs.mouseLeave.folder`,folderPath:r}),onClick:e=>{e.stopPropagation(),t.send({type:`breadcrumbs.click.folder`,folderPath:r})},children:i},r),Q(BreadcrumbsSeparator,{},`separator-${n}`)]},e[3]=t,e[4]=t1),l=o.flatMap(t1),e[0]=t,e[1]=o,e[2]=l}else l=e[2];let u=l,d,f,p,m;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(d={opacity:0},f={opacity:1},p={opacity:0},m=U(`mantine-active`,Pa({truncate:!0}),W({userSelect:`none`})),e[5]=d,e[6]=f,e[7]=p,e[8]=m):(d=e[5],f=e[6],p=e[7],m=e[8]);let t5,t6,t7;e[9]===t?(t5=e[10],t6=e[11],t7=e[12]):(t5=()=>t.send({type:`breadcrumbs.mouseEnter.viewtitle`}),t6=()=>t.send({type:`breadcrumbs.mouseLeave.viewtitle`}),t7=e=>{e.stopPropagation(),t.send({type:`breadcrumbs.click.viewtitle`})},e[9]=t,e[10]=t5,e[11]=t6,e[12]=t7);let h;e[13]!==t5||e[14]!==t6||e[15]!==t7||e[16]!==s?(h=Q(B,{component:Yr,initial:d,animate:f,exit:p,className:m,title:s,onMouseEnter:t5,onMouseLeave:t6,onClick:t7,children:s},`view-title`),e[13]=t5,e[14]=t6,e[15]=t7,e[16]=s,e[17]=h):h=e[17];let g=h,_;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(_=Q(LogoButton,{},`logo-button`),e[18]=_):_=e[18];let v;e[19]===n?v=e[20]:(v=n&&Q(NavigationButtons,{},`nav-buttons`),e[19]=n,e[20]=v);let y;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(y=Et({gap:`1`,flexShrink:1,flexGrow:1,overflow:`hidden`}),e[21]=y):y=e[21];let b;e[22]!==u||e[23]!==g?(b=$(qr,{layout:`position`,className:y,children:[u,g]},`breadcrumbs`),e[22]=u,e[23]=g,e[24]=b):b=e[24];let x;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(x=Et({gap:`0.5`,flexGrow:0,_empty:{display:`none`}}),e[25]=x):x=e[25];let S;e[26]===t?S=e[27]:(S=Q(DetailsControls,{onOpen:()=>t.closeDropdown()}),e[26]=t,e[27]=S);let C,w;e[28]===Symbol.for(`react.memo_cache_sentinel`)?(C=Q(OpenSource,{}),w=Q(ToggleReadonly,{}),e[28]=C,e[29]=w):(C=e[28],w=e[29]);let T;e[30]===S?T=e[31]:(T=$(qr,{layout:`position`,className:x,children:[S,C,w]},`actions`),e[30]=S,e[31]=T);let E;e[32]!==r||e[33]!==c?(E=r&&c&&Q(DynamicViewControls,{},`dynamic-view-controls`),e[32]=r,e[33]=c,e[34]=E):E=e[34];let D;e[35]!==i||e[36]!==a?(D=a&&!i&&Q(SearchControl,{},`search-control`),e[35]=i,e[36]=a,e[37]=D):D=e[37];let O;e[38]===Symbol.for(`react.memo_cache_sentinel`)?(O=Q(Ma,{},`outdated-manual-layout-warning`),e[38]=O):O=e[38];let k;return e[39]!==v||e[40]!==b||e[41]!==T||e[42]!==E||e[43]!==D?(k=$($r,{propagate:!0,mode:`popLayout`,children:[_,v,b,T,E,D,O]}),e[39]=v,e[40]=b,e[41]=T,e[42]=E,e[43]=D,e[44]=k):k=e[44],k});Ra.displayName=`NavigationPanelControls`;const za=_i((e,t)=>{let n=X(13),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,truncateLabel:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=a===void 0?!0:a,s;n[4]===o?s=n[5]:(s=jt({truncateLabel:o}),n[4]=o,n[5]=s);let c;n[6]===r?c=n[7]:(c=U(`group`,`mantine-active`,r),n[6]=r,n[7]=c);let l;return n[8]!==i||n[9]!==t||n[10]!==s||n[11]!==c?(l=Q(et,{...i,component:`button`,classNames:s,className:c,ref:t}),n[8]=i,n[9]=t,n[10]=s,n[11]=c,n[12]=l):l=n[12],l});za.displayName=`NavigationLink`;const Ba=J(e=>{let t=X(3),{projects:n,onProjectChange:r}=ui();if(n.length<=1)return null;let i;return t[0]!==r||t[1]!==n?(i=Q(WithProjectsMenu,{projects:n,onProjectChange:r}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i});function WithProjectsMenu(e){let t=X(18),{projects:n,onProjectChange:r}=e,i=di(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=Q(wt,{css:{fontWeight:`normal`,fontSize:`xxs`,color:`likec4.panel.text.dimmed`,userSelect:`none`},children:`Project`}),t[0]=a):a=t[0];let o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(o={mainAxis:2},t[1]=o):o=t[1];let s,c;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s={root:W({fontWeight:`normal`,fontSize:`xxs`,height:`auto`,lineHeight:1.1,color:{_light:`mantine.colors.gray[9]`}}),section:W({'&:is([data-position="right"])':{marginInlineStart:`1`}})},c=Q(en,{opacity:.5,size:12,stroke:1.5}),t[2]=s,t[3]=c):(s=t[2],c=t[3]);let l;t[4]===i?l=t[5]:(l=Q(me,{children:Q(_e,{tabIndex:-1,autoFocus:!1,variant:`subtle`,size:`compact-xs`,color:`gray`,classNames:s,rightSection:c,children:i})}),t[4]=i,t[5]=l);let u;if(t[6]!==r||t[7]!==i||t[8]!==n){let t7;t[10]!==r||t[11]!==i?(t7=e=>{let{id:t,title:n}=e;return Q(I,{onClick:e=>{if(i===t){e.stopPropagation();return}r(t)},children:n??t},t)},t[10]=r,t[11]=i,t[12]=t7):t7=t[12],u=n.map(t7),t[6]=r,t[7]=i,t[8]=n,t[9]=u}else u=t[9];let d;t[13]===u?d=t[14]:(d=Q(ce,{children:u}),t[13]=u,t[14]=d);let f;return t[15]!==l||t[16]!==d?(f=$(G,{gap:`0.5`,alignItems:`baseline`,children:[a,$(nt,{withinPortal:!1,shadow:`md`,position:`bottom-start`,offset:o,children:[l,d]})]}),t[15]=l,t[16]=d,t[17]=f):f=t[17],f}const Va=z({siblingSelector:`[data-likec4-focusable]`,parentSelector:`[data-likec4-breadcrumbs-dropdown]`,activateOnFocus:!1,loop:!0,orientation:`vertical`});function hasSearchQuerySelector(e){return e.context.searchQuery.trim().length>=2}const Ha=J(()=>{let e=X(27),t=useNavigationActor(),n=useNavigationActorSnapshot(hasSearchQuerySelector),t0;e[0]===t?t0=e[1]:(t0=()=>{t.closeDropdown()},e[0]=t,e[1]=t0),Wr(`paneClick`,t0);let t1;e[2]===t?t1=e[3]:(t1=()=>{t.closeDropdown()},e[2]=t,e[3]=t1),Wr(`nodeClick`,t1);let t2;e[4]===t?t2=e[5]:(t2=()=>{t.closeDropdown()},e[4]=t,e[5]=t2),Wr(`edgeClick`,t2);let t3;e[6]===t?t3=e[7]:(t3=e=>{t.send({type:`searchQuery.change`,value:e})},e[6]=t,e[7]=t3);let r=mt(t3,250),i;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(i=U(`nowheel`,Pt({layerStyle:`likec4.dropdown`,gap:`xs`,pointerEvents:`all`})),e[8]=i):i=e[8];let t5,t6;e[9]===t?(t5=e[10],t6=e[11]):(t5=()=>t.send({type:`dropdown.mouseLeave`}),t6=()=>t.send({type:`dropdown.mouseEnter`}),e[9]=t,e[10]=t5,e[11]=t6);let a;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(a=Q(Ba,{}),e[12]=a):a=e[12];let o;e[13]===t.actorRef?o=e[14]:(o=t.actorRef.getSnapshot(),e[13]=t.actorRef,e[14]=o);let s;e[15]!==r||e[16]!==o.context.searchQuery?(s=Q(G,{gap:`xs`,children:Q(SearchInput,{defaultValue:o.context.searchQuery,onChange:r})}),e[15]=r,e[16]=o.context.searchQuery,e[17]=s):s=e[17];let c,l;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(c={root:W({maxWidth:[`calc(100vw - 50px)`,`calc(100cqw - 50px)`]})},l={viewport:{overscrollBehavior:`none`}},e[18]=c,e[19]=l):(c=e[18],l=e[19]);let u;e[20]===n?u=e[21]:(u=Q(pe,{scrollbars:`x`,type:`auto`,offsetScrollbars:`present`,classNames:c,styles:l,children:Q(n?Wa:Qa,{})}),e[20]=n,e[21]=u);let d;return e[22]!==u||e[23]!==t5||e[24]!==t6||e[25]!==s?(d=$(Pe,{className:i,"data-likec4-breadcrumbs-dropdown":!0,onMouseLeave:t5,onMouseEnter:t6,children:[a,s,u]}),e[22]=u,e[23]=t5,e[24]=t6,e[25]=s,e[26]=d):d=e[26],d});Ha.displayName=`NavigationPanelDropdown`;function selectSearchQuery(e){return $i(e.context.searchQuery)}const Ua=Pi(Xi),Wa=J(()=>{let e=X(25),t=Kr(),n=useNavigationActor(),r=bi((0,oi.useSelector)(n.actorRef,selectSearchQuery)),i;e[0]===r?i=e[1]:(i=r.includes(Xi),e[0]=r,e[1]=i);let a=i,o;e[2]!==r||e[3]!==a?(o=a?r.split(Xi):r,e[2]=r,e[3]=a,e[4]=o):o=e[4];let s=o,c;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=[],e[5]=c):c=e[5];let[l,u]=wi(c),t3,d;if(e[6]!==r||e[7]!==a||e[8]!==t?(t3=()=>{u(e=>{let n=g(t.views(),Fi(e=>a&&e.$view.title?$i(e.$view.title).toLowerCase().includes(r):e.id.toLowerCase().includes(r)||!!e.title?.toLowerCase().includes(r)),Li(20),Gi(),C(_temp$11));return Hn(n,e)?e:n})},d=[t,r,a],e[6]=r,e[7]=a,e[8]=t,e[9]=t3,e[10]=d):(t3=e[9],d=e[10]),Y(t3,d),l.length===0){let t;return e[11]===Symbol.for(`react.memo_cache_sentinel`)?(t=Q(`div`,{children:`no results`}),e[11]=t):t=e[11],t}let f;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(f=W({width:`100%`,maxWidth:[`calc(100vw - 250px)`,`calc(100cqw - 250px)`],maxHeight:[`calc(100vh - 200px)`,`calc(100cqh - 200px)`]}),e[12]=f):f=e[12];let p;if(e[13]!==n||e[14]!==l||e[15]!==s){let t7;e[17]!==n||e[18]!==s?(t7=e=>Q(FoundedView,{view:e,highlight:s,onClick:t=>{t.stopPropagation(),n.selectView(e.id)},"data-likec4-focusable":!0,onKeyDown:Va},e.id),e[17]=n,e[18]=s,e[19]=t7):t7=e[19],p=l.map(t7),e[13]=n,e[14]=l,e[15]=s,e[16]=p}else p=e[16];let m;e[20]===p?m=e[21]:(m=Q(Ct,{gap:`0.5`,children:p}),e[20]=p,e[21]=m);let h;return e[22]!==f||e[23]!==m?(h=Q(pe,{scrollbars:`xy`,offsetScrollbars:!1,className:f,children:m}),e[22]=f,e[23]=m,e[24]=h):h=e[24],h}),Ga=Et({gap:`xxs`,rounded:`sm`,px:`xs`,py:`xxs`,_hover:{backgroundColor:{base:`mantine.colors.gray[1]`,_dark:`mantine.colors.dark[5]`}},_focus:{outline:`none`,color:`mantine.colors.primary.lightColor!`,backgroundColor:`mantine.colors.primary.lightHover!`}}),Ka=W({_groupFocus:{color:`[inherit!]`,transition:`none`}});function FoundedView(e){let t=X(33),n,r,i,a,o,s;if(t[0]!==e){let{view:c,highlight:l,...u}=e;r=l,i=u,n=c.folder,o=Xa[c.id===`index`?`index`:c._type];let d=c.id,f;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(f=U(Ka,Pa({truncate:!0}),W({"& > mark":{backgroundColor:{base:`mantine.colors.yellow[2]/90`,_dark:`mantine.colors.yellow[5]/80`,_groupFocus:`[transparent]`},color:{_groupFocus:`[inherit!]`}}})),t[7]=f):f=t[7];let p=c.title??c.id,m;t[8]!==r||t[9]!==p||t[10]!==c.id?(m=Q(le,{component:`div`,className:f,maw:350,highlight:r,children:p},d),t[8]=r,t[9]=p,t[10]=c.id,t[11]=m):m=t[11],s=m,a=U(i.className,`group`,Ga),t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s}else n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6];let c=a;if(n.isRoot){let e;return t[12]!==c||t[13]!==i||t[14]!==o||t[15]!==s?(e=$(B,{...i,className:c,children:[o,s]}),t[12]=c,t[13]=i,t[14]=o,t[15]=s,t[16]=e):e=t[16],e}let l;if(t[17]!==n.breadcrumbs||t[18]!==r||t[19]!==o||t[20]!==s){let t2;t[22]===r?t2=t[23]:(t2=e=>Q(le,{component:`div`,className:U(W({_groupHover:{color:`text.dimmed`}}),Ka,Pa({dimmed:!0,truncate:!0})),maw:170,highlight:d(r)?r:[],children:e.title},e.path),t[22]=r,t[23]=t2),l=n.breadcrumbs.map(t2);let e;t[24]!==o||t[25]!==s?(e=$(G,{gap:`[4px]`,children:[o,s]}),t[24]=o,t[25]=s,t[26]=e):e=t[26],l.push(e),t[17]=n.breadcrumbs,t[18]=r,t[19]=o,t[20]=s,t[21]=l}else l=t[21];let u;t[27]===l?u=t[28]:(u=Q(re,{separator:qa,separatorMargin:3,children:l}),t[27]=l,t[28]=u);let f;return t[29]!==c||t[30]!==i||t[31]!==u?(f=$(B,{...i,className:c,children:[Ja,u]}),t[29]=c,t[30]=i,t[31]=u,t[32]=f):f=t[32],f}const qa=Q(gn,{size:12,stroke:1.5,className:`mantine-rotate-rtl`}),Ja=Q(mn,{size:16,className:W({opacity:{base:.3,_groupHover:.5,_groupActive:.5,_groupFocus:.5}})}),Ya=W({opacity:{base:.3,_dark:.5,_groupHover:.8,_groupActive:.8,_groupFocus:.8}}),Xa={index:Q(yn,{size:16,className:Ya}),element:Q(rn,{size:18,stroke:2,className:Ya}),deployment:Q(sn,{size:16,stroke:1.5,className:Ya}),dynamic:Q(vn,{size:18,className:Ya})},Za=pe.withProps({scrollbars:`y`,className:W({maxHeight:[`calc(100vh - 160px)`,`calc(100cqh - 160px)`]})});function folderColumn(e,t){return{folderPath:e.path,items:[...e.folders.map(e=>({type:`folder`,folderPath:e.path,title:e.title,selected:t.selectedFolder.startsWith(e.path)})),...e.views.map(e=>({type:`view`,viewType:e.id===`index`?`index`:e._type,viewId:e.id,title:e.title??e.id,description:e.description.nonEmpty&&e.description.text||null,selected:e.id===t.viewModel?.id}))]}}const selectColumns=e=>{let t=e.viewModel;if(!t)return[];let n=t.$model,r=[folderColumn(n.rootViewFolder,e)],i=n.viewFolder(e.selectedFolder);if(!i.isRoot)for(let t of i.breadcrumbs)r.push(folderColumn(t,e));return r},Qa=J(()=>{let e=X(6),t=useNavigationActorContext(selectColumns,Un),n;if(e[0]!==t){let t1;e[2]===t.length?t1=e[3]:(t1=(e,n)=>[n>0&&Q(fe,{orientation:`vertical`},`divider`+n),Q(FolderColumn,{data:e,isLast:n>0&&n==t.length-1},e.folderPath)],e[2]=t.length,e[3]=t1),n=t.flatMap(t1),e[0]=t,e[1]=n}else n=e[1];let r;return e[4]===n?r=e[5]:(r=Q(G,{gap:`xs`,alignItems:`stretch`,children:n}),e[4]=n,e[5]=r),r});function FolderColumn(e){let t=X(13),{data:n,isLast:r}=e,i=Ci(null),a=useNavigationActorRef(),t1;t[0]===a?t1=t[1]:(t1=e=>t=>{t.stopPropagation(),e.type===`folder`?a.send({type:`select.folder`,folderPath:e.folderPath}):a.send({type:`select.view`,viewId:e.viewId})},t[0]=a,t[1]=t1);let o=t1,t2;t[2]===r?t2=t[3]:(t2=()=>{r&&i.current&&i.current.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:`smooth`})},t[2]=r,t[3]=t2),Nn(t2);let s;if(t[4]!==n.folderPath||t[5]!==n.items||t[6]!==o){let t4;t[8]!==n.folderPath||t[9]!==o?(t4=(e,t)=>Q(FolderColumnItem,{columnItem:e,onClick:o(e)},`${n.folderPath}/${e.type}/${t}`),t[8]=n.folderPath,t[9]=o,t[10]=t4):t4=t[10],s=n.items.map(t4),t[4]=n.folderPath,t[5]=n.items,t[6]=o,t[7]=s}else s=t[7];let c;return t[11]===s?c=t[12]:(c=Q(wt,{mb:`1`,ref:i,children:Q(Za,{children:Q(Ct,{gap:`0.5`,children:s})})}),t[11]=s,t[12]=c),c}function FolderColumnItem(e){let t=X(15),n,r;switch(t[0]===e?(n=t[1],r=t[2]):({columnItem:n,...r}=e,t[0]=e,t[1]=n,t[2]=r),n.type){case`folder`:{let e;return t[3]!==n.folderPath||t[4]!==n.selected||t[5]!==n.title||t[6]!==r?(e=Q(za,{variant:`light`,active:n.selected,label:n.title,leftSection:Ja,rightSection:qa,maw:`300px`,miw:`200px`,...r},n.folderPath),t[3]=n.folderPath,t[4]=n.selected,t[5]=n.title,t[6]=r,t[7]=e):e=t[7],e}case`view`:{let e=Xa[n.viewType],i;return t[8]!==n.description||t[9]!==n.selected||t[10]!==n.title||t[11]!==n.viewId||t[12]!==r||t[13]!==e?(i=Q(za,{variant:`filled`,active:n.selected,label:n.title,description:n.description,leftSection:e,maw:`300px`,miw:`200px`,...r},n.viewId),t[8]=n.description,t[9]=n.selected,t[10]=n.title,t[11]=n.viewId,t[12]=r,t[13]=e,t[14]=i):i=t[14],i}default:Hi(n)}}function SearchInput(e){let t=X(15),n;t[0]===e?n=t[1]:(n={...e,finalValue:``},t[0]=e,t[1]=n);let[r,a]=se(n),o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=qe(26),t[2]=o):o=t[2];let t2;t[3]===a?t2=t[4]:(t2=e=>a(e.currentTarget.value),t[3]=a,t[4]=t2);let s,c,l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s={wrapper:W({flexGrow:1,backgroundColor:{base:`mantine.colors.gray[1]`,_dark:`mantine.colors.dark[5]/80`,_hover:{base:`mantine.colors.gray[2]`,_dark:`mantine.colors.dark[4]`},_focus:{base:`mantine.colors.gray[2]`,_dark:`mantine.colors.dark[4]`}},rounded:`sm`}),input:W({_placeholder:{color:`text.dimmed`},_focus:{outline:`none`}})},c={"--input-fz":`var(--mantine-font-size-sm)`},l=Q(xn,{size:14}),t[5]=s,t[6]=c,t[7]=l):(s=t[5],c=t[6],l=t[7]);let u;t[8]!==a||t[9]!==e.value?(u=!e.value||i(e.value)?null:Q(_e,{variant:`subtle`,h:`100%`,size:`compact-xs`,color:`gray`,onClick:e=>{e.stopPropagation(),a(``)},children:`clear`}),t[8]=a,t[9]=e.value,t[10]=u):u=t[10];let d;return t[11]!==r||t[12]!==t2||t[13]!==u?(d=Q(Xe,{size:`xs`,placeholder:`Search by title or id`,variant:`unstyled`,height:o,value:r,onKeyDown:Va,onChange:t2,"data-likec4-focusable":!0,classNames:s,style:c,leftSection:l,rightSectionPointerEvents:`all`,rightSectionWidth:`min-content`,rightSection:u}),t[11]=r,t[12]=t2,t[13]=u,t[14]=d):d=t[14],d}function _temp$11(e,t){return Ua(e.folder.path,t.folder.path)}e(_temp$11,`_temp`);const $a=Tt(`div`,{base:{fontSize:`xs`,color:`text.dimmed`,fontWeight:`medium`,userSelect:`none`,mb:`xxs`}});function selectWalkthroughNotes(e){let t=w(e.activeWalkthrough),n=t?e.xyedges.findIndex(t=>t.id===e.activeWalkthrough?.stepId):-1;return{isActive:t,isParallel:t&&f(e.activeWalkthrough?.parallelPrefix),hasNext:t&&n<e.xyedges.length-1,hasPrevious:t&&n>0,notes:t?e.xyedges[n]?.data?.notes??null:null}}const eo=J(()=>{let e=X(7),{isActive:t,notes:n}=Cr(selectWalkthroughNotes),r;e[0]===n?r=e[1]:(r=n?Ti.from(n):Ti.EMPTY,e[0]=n,e[1]=r);let i=r,a;e[2]!==t||e[3]!==i?(a=t&&!i.isEmpty&&Q(Qr.div,{layout:`position`,className:Pt({position:`relative`,layerStyle:`likec4.dropdown`,gap:`sm`,padding:`md`,paddingTop:`xxs`,pointerEvents:`all`,maxWidth:300,height:`max-content`,maxHeight:`calc(100cqh - 100px)`,width:`max-content`,cursor:`default`,overflow:`hidden`,"@/sm":{minWidth:400,maxWidth:550},"@/lg":{maxWidth:700}}),initial:{opacity:0,translateX:-20},animate:{opacity:1,translateX:0},exit:{opacity:0,translateX:-20},children:$(pe,{type:`scroll`,overscrollBehavior:`contain`,children:[Q($a,{children:`Notes`}),Q(or,{value:i,fontSize:`sm`,emptyText:`No description`})]})}),e[2]=t,e[3]=i,e[4]=a):a=e[4];let o;return e[5]===a?o=e[6]:(o=Q($r,{children:a}),e[5]=a,e[6]=o),o}),to=J(()=>{let e=X(22),t=q(),n=useCurrentView(),r=ci(),i;e[0]!==n||e[1]!==r?(i={input:{view:n,viewModel:r}},e[0]=n,e[1]=r,e[2]=i):i=e[2];let a=(0,oi.useActorRef)(ra,i),t1,o;e[3]!==a||e[4]!==t?(t1=()=>{let e=a.on(`navigateTo`,e=>{t.navigateTo(e.viewId)});return()=>e.unsubscribe()},o=[a,t],e[3]=a,e[4]=t,e[5]=t1,e[6]=o):(t1=e[5],o=e[6]),Y(t1,o);let t3,s;e[7]!==a||e[8]!==n||e[9]!==r?(t3=()=>{a.send({type:`update.inputs`,inputs:{viewModel:r,view:n}})},s=[a,r,n],e[7]=a,e[8]=n,e[9]=r,e[10]=t3,e[11]=s):(t3=e[10],s=e[11]),Y(t3,s);let c;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(c=[`calc(100vw)`,`calc(100cqw)`],e[12]=c):c=e[12];let l;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(l={alignItems:`flex-start`,pointerEvents:`none`,position:`absolute`,top:`0`,left:`0`,margin:`0`,width:`100%`,gap:`xxs`,maxWidth:c,"@/sm":{margin:`xs`,gap:`xs`,width:`max-content`,maxWidth:[`calc(100vw - 2 * {spacing.md})`,`calc(100cqw - 2 * {spacing.md})`]},_print:{display:`none`}},e[13]=l):l=e[13];let u;e[14]===a?u=e[15]:(u=Q(NavigationPanelImpl,{actor:a}),e[14]=a,e[15]=u);let d,f,p;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(f=Q(ma,{}),p=Q(eo,{}),d=Q(EditorPanel,{}),e[16]=d,e[17]=f,e[18]=p):(d=e[16],f=e[17],p=e[18]);let m;return e[19]!==a||e[20]!==u?(m=Q(Ct,{css:l,children:$(Ta,{value:a,children:[u,f,p,d]})}),e[19]=a,e[20]=u,e[21]=m):m=e[21],m});to.displayName=`NavigationPanel`;const stateHasActiveTag=e=>e.hasTag(`active`),NavigationPanelImpl=e=>{let t=X(13),{actor:n}=e,r=(0,oi.useSelector)(n,stateHasActiveTag),i=useMantinePortalProps(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={mainAxis:4},t[0]=a):a=t[0];let o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=[`pointerdown`,`mousedown`,`click`],t[1]=o):o=t[1];let t3,s;t[2]===n?(t3=t[3],s=t[4]):(t3=()=>n.send({type:`dropdown.dismiss`}),s=Q(NavigationPanelPopoverTarget,{actor:n}),t[2]=n,t[3]=t3,t[4]=s);let c;t[5]===r?c=t[6]:(c=r&&Q(Ha,{}),t[5]=r,t[6]=c);let l;return t[7]!==r||t[8]!==i||t[9]!==t3||t[10]!==s||t[11]!==c?(l=$(Ge,{offset:a,opened:r,position:`bottom-start`,trapFocus:r,...i,clickOutsideEvents:o,onDismiss:t3,children:[s,c]}),t[7]=r,t[8]=i,t[9]=t3,t[10]=s,t[11]=c,t[12]=l):l=t[12],l},NavigationPanelPopoverTarget=e=>{let t=X(9),{actor:n}=e,r=Cr(_temp$10),i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=Et({layerStyle:`likec4.panel`,position:`relative`,gap:`xs`,cursor:`pointer`,pointerEvents:`all`,width:`100%`}),t[0]=i):i=t[0];let t2;t[1]===n?t2=t[2]:(t2=()=>n.send({type:`breadcrumbs.mouseLeave`}),t[1]=n,t[2]=t2);let a;t[3]===r?a=t[4]:(a=Q($r,{children:Q(r?ActiveWalkthroughControls:Ra,{})}),t[3]=r,t[4]=a);let o;return t[5]!==r||t[6]!==t2||t[7]!==a?(o=Q(ti,{children:Q(Be,{children:Q(qr,{layout:!0,layoutDependency:r,className:i,onMouseLeave:t2,children:a})})}),t[5]=r,t[6]=t2,t[7]=a,t[8]=o):o=t[8],o};function _temp$10(e){return e.activeWalkthrough!==null}e(_temp$10,`_temp`);const no=gi(null);no.displayName=`ElementDetailsActorContext`;const useElementDetailsActorRef=()=>{let e=yi(no);if(e===null)throw Error(`ElementDetailsActorRef is not provided`);return e},ro=`--_blur`,io=`--_opacity`,ao=W({boxSizing:`border-box`,margin:`0`,padding:`0`,position:`fixed`,inset:`0`,width:`100vw`,height:`100vh`,maxWidth:`100vw`,maxHeight:`100vh`,background:`transparent`,border:`transparent`,_backdrop:{backdropFilter:`auto`,backdropBlur:`var(${ro})`,backgroundColor:`[rgb(36 36 36 / var(${io}, 5%))]`}}),oo=W({position:`absolute`,pointerEvents:`all`,display:`flex`,flexDirection:`column`,padding:`4`,gap:`lg`,justifyContent:`stretch`,color:`text`,boxShadow:`md`,overflow:`hidden`,border:`none`,background:`[
|
|
2
|
-
linear-gradient(180deg,
|
|
3
|
-
color-mix(in oklab, var(--likec4-palette-fill) 60%, transparent),
|
|
4
|
-
color-mix(in oklab, var(--likec4-palette-fill) 20%, transparent) 8px,
|
|
5
|
-
color-mix(in oklab, var(--likec4-palette-fill) 14%, transparent) 20px,
|
|
6
|
-
transparent 80px
|
|
7
|
-
),
|
|
8
|
-
linear-gradient(180deg, var(--likec4-palette-fill), var(--likec4-palette-fill) 4px, transparent 4px),
|
|
9
|
-
{colors.likec4.overlay.body}
|
|
10
|
-
]`,"& .react-flow__attribution":{display:`none`}}),so=W({flex:0,cursor:`move`}),co=W({display:`block`,fontFamily:`likec4.element`,fontOpticalSizing:`auto`,fontStyle:`normal`,fontWeight:`bold`,fontSize:`24px`,lineHeight:`xs`,overflow:`hidden`,textOverflow:`ellipsis`,wordBreak:`break-word`,lineClamp:2}),lo=`40px`,uo=W({flex:`0 0 ${lo}`,height:lo,width:lo,display:`flex`,alignItems:`center`,justifyContent:`center`,alignSelf:`flex-start`,cursor:`move`,_dark:{mixBlendMode:`hard-light`},"& :where(svg, img)":{width:`100%`,height:`auto`,maxHeight:`100%`,pointerEvents:`none`,filter:`
|
|
11
|
-
drop-shadow(0 0 3px rgb(0 0 0 / 10%))
|
|
12
|
-
drop-shadow(0 1px 8px rgb(0 0 0 / 5%))
|
|
13
|
-
drop-shadow(1px 1px 16px rgb(0 0 0 / 2%))
|
|
14
|
-
`},"& img":{objectFit:`contain`}}),fo=`--view-title-color`,po=`--icon-color`,mo=W({width:`100%`,background:`body`,borderRadius:`sm`,padding:`[10px 8px]`,transition:`fast`,border:`1px dashed`,borderColor:`default.border`,[fo]:`{colors.mantine.colors.dark[1]}`,_hover:{background:`default.hover`,[po]:`{colors.mantine.colors.dark[1]}`,[fo]:`{colors.default.color}`},_dark:{background:`mantine.colors.dark[6]`},_light:{[po]:`{colors.mantine.colors.gray[6]}`,[fo]:`{colors.mantine.colors.gray[7]}`,_hover:{[po]:`{colors.mantine.colors.gray[7]}`}},"& .mantine-ThemeIcon-root":{transition:`fast`,color:`[var(${po}, {colors.mantine.colors.dark[2]})]`,"--ti-size":`22px`,_hover:{color:`default.color`}},"& > *":{transition:`all 130ms {easings.inOut}`},"&:hover > *":{transitionTimingFunction:`out`,transform:`translateX(1.6px)`}}),ho=W({transition:`fast`,color:`[var(${fo}, {colors.mantine.colors.gray[7]})]`,fontSize:`15px`,fontWeight:`medium`,lineHeight:`1.4`}),go=W({flex:1,display:`flex`,flexDirection:`column`,justifyContent:`stretch`,overflow:`hidden`,gap:`sm`}),_o=W({background:`mantine.colors.gray[1]`,borderRadius:`sm`,flexWrap:`nowrap`,gap:`1.5`,padding:`1`,_dark:{background:`mantine.colors.dark[7]`}}),vo=W({fontSize:`xs`,fontWeight:`medium`,flexGrow:1,padding:`[6px 8px]`,transition:`fast`,borderRadius:`sm`,color:`mantine.colors.gray[7]`,_hover:{transitionTimingFunction:`out`,color:`default.color`,background:`mantine.colors.gray[3]`},"&[data-active]":{transition:`none`,background:`white`,shadow:`xs`,color:`default.color`},_dark:{color:`mantine.colors.dark[1]`,_hover:{color:`white`,background:`mantine.colors.dark[6]`},"&:is([data-active])":{color:`white`,background:`mantine.colors.dark[5]`}}}),yo=W({flex:1,overflow:`hidden`,position:`relative`,"&:not(:has(.mantine-ScrollArea-root))":{paddingLeft:`1`,paddingRight:`1`},"& .mantine-ScrollArea-root":{width:`100%`,height:`100%`,"& > div":{paddingLeft:`1`,paddingRight:`1`}}}),bo=W({flex:1,display:`grid`,gridTemplateColumns:`min-content 1fr`,gridAutoRows:`min-content max-content`,gap:`[24px 20px]`,alignItems:`baseline`,justifyItems:`stretch`}),xo=W({justifySelf:`end`,textAlign:`right`,userSelect:`none`}),So=W({position:`absolute`,width:`14px`,height:`14px`,border:`3.5px solid`,borderColor:`mantine.colors.dark[3]`,borderTop:`none`,borderLeft:`none`,borderRadius:`xs`,bottom:`0.5`,right:`0.5`,transition:`fast`,cursor:`se-resize`,_hover:{borderWidth:`4px`,borderColor:`mantine.colors.dark[1]`}});function MetadataProvider(e){let t=X(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=Q(Z,{children:n}),t[0]=n,t[1]=r),r}function TruncatedValue(e){let t=X(14),{value:n,isExpanded:r}=e,[i,a]=wi(!1),o=Ci(null),t1;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(t1=()=>{o.current&&a(o.current.scrollWidth>o.current.clientWidth)},t[0]=t1):t1=t[0];let s;t[1]===n?s=t[2]:(s=[n],t[1]=n,t[2]=s),Y(t1,s);let c=i&&!r?n:null,l=r?`pre-wrap`:`nowrap`,u=r?`visible`:`hidden`,d=r?`unset`:`ellipsis`,f=r?`break-word`:`normal`,p;t[3]!==l||t[4]!==u||t[5]!==d||t[6]!==f?(p=W({fontSize:`sm`,padding:`xs`,userSelect:`all`,color:`text`,lineHeight:1.4,whiteSpace:l,overflow:u,textOverflow:d,wordBreak:f,minWidth:0,width:`100%`}),t[3]=l,t[4]=u,t[5]=d,t[6]=f,t[7]=p):p=t[7];let m;t[8]!==p||t[9]!==n?(m=Q(H,{ref:o,component:`div`,className:p,children:n}),t[8]=p,t[9]=n,t[10]=m):m=t[10];let h;return t[11]!==c||t[12]!==m?(h=Q(Ne,{label:c,multiline:!0,w:300,withinPortal:!0,children:m}),t[11]=c,t[12]=m,t[13]=h):h=t[13],h}function MultiValueDisplay(e){let t=X(12),{values:n,isExpanded:r}=e;if(r){let e;t[0]===n?e=t[1]:(e=n.map(_temp$9),t[0]=n,t[1]=e);let r;return t[2]===e?r=t[3]:(r=Q(Re,{gap:`xs`,children:e}),t[2]=e,t[3]=r),r}let i;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(i=W({minHeight:`32px`,display:`flex`,alignItems:`center`,padding:`xs`,gap:`xs`,flexWrap:`wrap`,minWidth:0,overflow:`hidden`}),t[4]=i):i=t[4];let a;if(t[5]!==n){let t3;t[7]===n.length?t3=t[8]:(t3=(e,t)=>$(We,{align:`center`,gap:`xs`,style:{minWidth:0},children:[Q(H,{className:W({fontSize:`sm`,padding:`[4px 8px]`,backgroundColor:`white`,color:`text`,borderRadius:`sm`,border:`1px solid`,borderColor:`mantine.colors.gray[3]`,whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`,maxWidth:`min(200px, 100%)`,minWidth:`60px`,flex:`0 1 auto`,userSelect:`all`,_dark:{backgroundColor:`mantine.colors.dark[9]`,borderColor:`mantine.colors.dark[4]`}}),title:e,children:e}),t<n.length-1&&Q(H,{className:W({fontSize:`xs`,color:`mantine.colors.gray[5]`,fontWeight:`medium`,flexShrink:0,_dark:{color:`mantine.colors.dark[3]`}}),children:`•`})]},t),t[7]=n.length,t[8]=t3),a=n.map(t3),t[5]=n,t[6]=a}else a=t[6];let o;return t[9]!==i||t[10]!==a?(o=Q(F,{className:i,children:a}),t[9]=i,t[10]=a,t[11]=o):o=t[11],o}function _temp$9(e,t){return $(We,{align:`center`,gap:`xs`,children:[Q(H,{className:W({fontSize:`xs`,color:`mantine.colors.gray[5]`,fontWeight:`medium`,flexShrink:0,_dark:{color:`mantine.colors.dark[3]`}}),children:`•`}),Q(F,{className:W({minHeight:`32px`,display:`flex`,alignItems:`center`,flex:1}),children:Q(TruncatedValue,{value:e,isExpanded:!0})})]},t)}e(_temp$9,`_temp`);function MetadataValue(e){let t=X(18),{label:n,value:r}=e,i;t[0]===r?i=t[1]:(i=Array.isArray(r)?r:typeof r==`string`&&r.includes(`
|
|
15
|
-
`)?r.split(`
|
|
16
|
-
`).map(_temp2$6).filter(Boolean):[r],t[0]=r,t[1]=i);let a=i,o=a.length>1,[s,c]=wi(!1),t2;t[2]===s?t2=t[3]:(t2=()=>{c(!s)},t[2]=s,t[3]=t2);let l=t2,u;t[4]!==a.length||t[5]!==l||t[6]!==o||t[7]!==s||t[8]!==n?(u=o?Q(B,{onClick:l,className:W({fontSize:`xs`,color:`text.dimmed`,justifySelf:`end`,textAlign:`right`,userSelect:`none`,display:`flex`,alignItems:`center`,justifyContent:`flex-end`,gap:`xs`,padding:`[4px 8px]`,borderRadius:`sm`,whiteSpace:`nowrap`,transition:`all 150ms ease`,_hover:{backgroundColor:`mantine.colors.gray[1]`,color:`mantine.colors.primary[6]`,_dark:{backgroundColor:`mantine.colors.dark[7]`,color:`mantine.colors.primary[4]`}}}),children:$(We,{align:`center`,gap:`xs`,children:[$(H,{component:`span`,size:`xs`,fw:700,children:[n,`:`]}),Q(H,{component:`span`,className:W({fontSize:`xs`,fontWeight:`medium`,color:`mantine.colors.gray[6]`,backgroundColor:`mantine.colors.gray[1]`,padding:`[1px 4px]`,borderRadius:`xs`,_dark:{color:`mantine.colors.dark[2]`,backgroundColor:`mantine.colors.dark[6]`}}),children:a.length}),Q(s?en:gn,{size:12})]})}):$(H,{component:`div`,className:W({fontSize:`xs`,color:`text.dimmed`,justifySelf:`end`,textAlign:`right`,userSelect:`none`,whiteSpace:`nowrap`,padding:`[4px 8px]`,fontWeight:`[700]`}),children:[n,`:`]}),t[4]=a.length,t[5]=l,t[6]=o,t[7]=s,t[8]=n,t[9]=u):u=t[9];let d;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(d=W({justifySelf:`stretch`,alignSelf:`start`}),t[10]=d):d=t[10];let f;t[11]!==a||t[12]!==o||t[13]!==s?(f=Q(F,{className:d,children:o?Q(MultiValueDisplay,{values:a,isExpanded:s}):Q(F,{className:W({minHeight:`32px`,display:`flex`,alignItems:`center`}),children:Q(TruncatedValue,{value:a[0]||``,isExpanded:s})})}),t[11]=a,t[12]=o,t[13]=s,t[14]=f):f=t[14];let p;return t[15]!==u||t[16]!==f?(p=$(Z,{children:[u,f]}),t[15]=u,t[16]=f,t[17]=p):p=t[17],p}function _temp2$6(e){return e.trim()}e(_temp2$6,`_temp2`);const Co=W({"&[data-level='1']":{marginBottom:`sm`}}),wo=W({cursor:`default`,marginTop:`0`,marginBottom:`0`}),To=W({transition:`fast`,color:`mantine.colors.gray[7]`,_dark:{color:`mantine.colors.dark[1]`},"& > *":{transition:`fast`},_hover:{transitionTimingFunction:`out`,"& > :not([data-no-transform])":{transitionTimingFunction:`out`,transform:`translateX(1px)`}}}),Eo=U(To),Do=U(To,W({cursor:`pointer`,width:`100%`,justifyContent:`stretch`,flexWrap:`nowrap`,height:`36px`,paddingInlineStart:`[16px]`,paddingInlineEnd:`2.5`,borderRadius:`sm`,alignItems:`center`,color:`mantine.colors.gray[7]`,_dark:{color:`mantine.colors.gray.lightColor`},_hover:{background:`mantine.colors.gray.lightHover`},"& .tabler-icon":{transition:`fast`,width:`90%`,opacity:.65}})),DeploymentNodeRenderer=e=>{let t=X(7),{node:n}=e,r;t[0]===n.kind?r=t[1]:(r=$(H,{component:`div`,fz:11,c:`dimmed`,children:[n.kind,`:`]}),t[0]=n.kind,t[1]=r);let i;t[2]===n.title?i=t[3]:(i=Q(H,{component:`div`,fz:`sm`,fw:`500`,children:n.title}),t[2]=n.title,t[3]=i);let a;return t[4]!==r||t[5]!==i?(a=$(V,{className:Eo,gap:6,align:`baseline`,wrap:`nowrap`,children:[r,i]}),t[4]=r,t[5]=i,t[6]=a):a=t[6],a},Oo=Q(Fe,{size:`sm`,variant:`transparent`,color:`gray`,children:Q(rn,{stroke:1.8,opacity:.65})}),DeployedInstanceRenderer=e=>{let t=X(17),{instance:n}=e,r=q(),i=r.currentView.id,a;t[0]===n?a=t[1]:(a=[...n.views()],t[0]=n,t[1]=a);let o=a,s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=Q(Fe,{color:`gray`,variant:`transparent`,size:`xs`,flex:0,children:Q(hn,{stroke:1.2})}),t[2]=s):s=t[2];let c;t[3]===n.title?c=t[4]:(c=Q(H,{component:`div`,fz:`sm`,fw:`500`,flex:`1 1 100%`,children:n.title}),t[3]=n.title,t[4]=c);let l;t[5]===o.length?l=t[6]:(l=o.length===0&&Q(_e,{size:`compact-xs`,variant:`transparent`,color:`gray`,disabled:!0,children:`no views`}),t[5]=o.length,t[6]=l);let u;t[7]!==i||t[8]!==r||t[9]!==o?(u=o.length>0&&$(nt,{shadow:`md`,withinPortal:!1,position:`bottom-start`,offset:0,closeOnClickOutside:!0,clickOutsideEvents:[`pointerdown`,`mousedown`,`click`],closeOnEscape:!0,trapFocus:!0,children:[Q(nt.Target,{children:$(_e,{size:`compact-xs`,variant:`subtle`,color:`gray`,children:[o.length,` view`,o.length>1?`s`:``]})}),Q(nt.Dropdown,{children:o.map(e=>Q(nt.Item,{px:`xs`,py:4,disabled:e.id===i,leftSection:Oo,styles:{itemSection:{marginInlineEnd:qe(8)}},onClick:t=>{t.stopPropagation(),r.navigateTo(e.id)},children:e.title},e.id))})]}),t[7]=i,t[8]=r,t[9]=o,t[10]=u):u=t[10];let d;t[11]!==l||t[12]!==u?(d=$(F,{onClick:Qn,pos:`relative`,"data-no-transform":!0,flex:0,children:[l,u]}),t[11]=l,t[12]=u,t[13]=d):d=t[13];let f;return t[14]!==c||t[15]!==d?(f=$(V,{className:Do,gap:4,children:[s,c,d]}),t[14]=c,t[15]=d,t[16]=f):f=t[16],f},ko=Q(Vt,{}),Ao=J(e=>{let t=X(17),{elementFqn:n}=e,r=Kr(),i,a;t[0]!==n||t[1]!==r?(i=r.element(n),a=[...i.deployments()],t[0]=n,t[1]=r,t[2]=i,t[3]=a):(i=t[2],a=t[3]);let o=a,s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s={multiple:!1},t[4]=s):s=t[4];let c=Ve(s),l;if(t[5]!==i){l=[];let e=new Map;for(let t of i.deployments()){let n={label:Q(DeployedInstanceRenderer,{instance:t}),value:t.id,type:`instance`,children:[]};e.set(t.id,n);let r=t.parent;for(;r;){let t=e.get(r.id);if(t){t.children.push(n);break}t={label:Q(DeploymentNodeRenderer,{node:r}),value:r.id,type:`node`,children:[n]},e.set(r.id,t),n=t,r=r.parent}!r&&!l.includes(n)&&l.push(n)}t[5]=i,t[6]=l}else l=t[6];let u=l,t4;t[7]===c?t4=t[8]:(t4=()=>{c.expandAllNodes()},t[7]=c,t[8]=t4);let d;if(t[9]===u?d=t[10]:(d=[u],t[9]=u,t[10]=d),Y(t4,d),o.length===0){let e;return t[11]===Symbol.for(`react.memo_cache_sentinel`)?(e=Q(Ie,{variant:`light`,color:`gray`,icon:ko,children:`This element does not have any deployments`}),t[11]=e):e=t[11],e}let f,p;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(f={node:Co,label:wo},p={root:{position:`relative`,width:`min-content`,minWidth:300}},t[12]=f,t[13]=p):(f=t[12],p=t[13]);let m;return t[14]!==u||t[15]!==c?(m=Q(Ze,{levelOffset:`sm`,allowRangeSelection:!1,classNames:f,styles:p,data:u,tree:c,renderNode:_temp$8}),t[14]=u,t[15]=c,t[16]=m):m=t[16],m});function _temp$8(e){let{node:t,selected:n,elementProps:r,hasChildren:i}=e;return Q(F,{...r,style:{...!i&&{marginBottom:qe(4)}},children:i?Q(_e,{fullWidth:!0,color:`gray`,variant:n?`transparent`:`subtle`,size:`xs`,justify:`flex-start`,styles:{root:{position:`unset`,paddingInlineStart:qe(16)}},children:t.label}):t.label})}e(_temp$8,`_temp`);const jo=gi(null);function useRelationshipsBrowserActor(){let e=X(2),t=yi(jo),n;return e[0]===t?n=e[1]:(n=Ai(t,`No RelationshipsBrowserActorContext`),e[0]=t,e[1]=n),n}function useRelationshipsBrowserState(e,t){let n=t===void 0?Hn:t;return(0,oi.useSelector)(useRelationshipsBrowserActor(),e,n)}function useRelationshipsBrowser(){let e=useRelationshipsBrowserActor();return Si(()=>({actor:e,get rootElementId(){return`relationships-browser-${e.sessionId.replaceAll(`:`,`_`)}`},getState:()=>e.getSnapshot().context,send:e.send,updateView:t=>{e.getSnapshot().status===`active`&&e.send({type:`update.view`,layouted:t})},changeScope:t=>{e.send({type:`change.scope`,scope:t})},navigateTo:(t,n)=>{e.send({type:`navigate.to`,subject:t,fromNode:n})},fitDiagram:()=>{e.send({type:`fitDiagram`})},close:()=>{e._parent?e._parent?.send({type:`close`,actorId:e.id}):e.send({type:`close`})}}),[e])}const Mo=$n(e=>{let t=useRelationshipsBrowser(),{enableNavigateTo:n}=vr(),{data:{navigateTo:r,relations:i,existsInCurrentView:a}}=e,[o,s,c]=In(e),l=q(),u=i.length>1||!a,d=u?{...e,data:{...e.data,color:`amber`}}:e,f=Q(ur,{edgeProps:d,className:W({transition:`fast`}),children:n&&r&&Q(Br,{...e,onClick:e=>{e.stopPropagation(),l.navigateTo(r)}})});return a||(f=Q(Ne,{color:`orange`,c:`black`,label:`This relationship is not included in the current view`,portalProps:{target:`#${t.rootElementId}`},openDelay:800,children:f})),$(sr,{...d,children:[Q(nr,{edgeProps:d,svgPath:o,...u&&{strokeWidth:5}}),Q(rr,{edgeProps:d,labelPosition:{x:s,y:c,translate:`translate(-50%, 0)`},style:{maxWidth:Math.min(Math.abs(e.targetX-e.sourceX-70),250)},children:f})]})});function EmptyNode(e){let t=X(3),{data:n}=e,{column:r}=n,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i={width:`100%`,height:`100%`,border:`3px dashed`,borderColor:`default.border`,borderRadius:`md`,display:`flex`,justifyContent:`center`,alignItems:`center`},t[0]=i):i=t[0];let a=r===`incomers`?`incoming`:`outgoing`,o;return t[1]===a?o=t[2]:(o=Q(wt,{css:i,children:$(H,{c:`dimmed`,fz:`lg`,fw:500,children:[`No `,a]})}),t[1]=a,t[2]=o),o}const No=e(e=>e.context.subject,`selectSubject`),Po=e(e=>{let t=X(26),{enableNavigateTo:n,enableVscode:r}=vr(),i=q(),a=useCurrentViewId(),o=useRelationshipsBrowser(),s=useRelationshipsBrowserState(No),{navigateTo:c,fqn:l}=e.data,u;if(t[0]!==o||t[1]!==a||t[2]!==i||t[3]!==n||t[4]!==r||t[5]!==l||t[6]!==c||t[7]!==e.id||t[8]!==s){if(u=[],c&&n&&a!==c){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=Q(rn,{}),t[10]=e):e=t[10];let n;t[11]!==i||t[12]!==c?(n={key:`navigate`,icon:e,onClick:e=>{e.stopPropagation(),i.navigateTo(c)}},t[11]=i,t[12]=c,t[13]=n):n=t[13],u.push(n)}if(l!==s){let n;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(on,{}),t[14]=n):n=t[14];let r;t[15]!==o||t[16]!==l||t[17]!==e.id?(r={key:`relationships`,icon:n,onClick:t=>{t.stopPropagation(),o.navigateTo(l,e.id)}},t[15]=o,t[16]=l,t[17]=e.id,t[18]=r):r=t[18],u.push(r)}if(r){let e;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(e=Q(Qt,{}),t[19]=e):e=t[19];let n;t[20]!==i||t[21]!==l?(n={key:`goToSource`,icon:e,onClick:e=>{e.stopPropagation(),i.openSource({element:l})}},t[20]=i,t[21]=l,t[22]=n):n=t[22],u.push(n)}t[0]=o,t[1]=a,t[2]=i,t[3]=n,t[4]=r,t[5]=l,t[6]=c,t[7]=e.id,t[8]=s,t[9]=u}else u=t[9];let d=u,f;return t[23]!==d||t[24]!==e?(f=Q(mr,{buttons:d,...e}),t[23]=d,t[24]=e,t[25]=f):f=t[25],f},`ElementActions`);function ElementTags$2(e){let t=X(5),n=q(),t0;t[0]===n?t0=t[1]:(t0=e=>{n.openSearch(e)},t[0]=n,t[1]=t0);let r=K(t0),i;return t[2]!==e||t[3]!==r?(i=Q(Tr,{onTagClick:r,...e}),t[2]=e,t[3]=r,t[4]=i):i=t[4],i}e(ElementTags$2,`ElementTags`);const Fo=e(e=>{let t=X(6),n=q(),t0;t[0]!==n||t[1]!==e.data.fqn?(t0=t=>{t.stopPropagation(),n.openElementDetails(e.data.fqn)},t[0]=n,t[1]=e.data.fqn,t[2]=t0):t0=t[2];let r;return t[3]!==e||t[4]!==t0?(r=Q(Lr,{...e,onClick:t0}),t[3]=e,t[4]=t0,t[5]=r):r=t[5],r},`ElementDetailsButtonWithHandler`);function ElementNode$1(e){let t=X(18),{enableElementTags:n}=vr(),r,i;t[0]===e?(r=t[1],i=t[2]):(r=Q(lr,{...e}),i=Q(tr,{...e}),t[0]=e,t[1]=r,t[2]=i);let a;t[3]!==n||t[4]!==e?(a=n&&Q(ElementTags$2,{...e}),t[3]=n,t[4]=e,t[5]=a):a=t[5];let o,s,c;t[6]===e?(o=t[7],s=t[8],c=t[9]):(o=Q(Fo,{...e}),s=Q(Po,{...e}),c=Q(Io,{...e}),t[6]=e,t[7]=o,t[8]=s,t[9]=c);let l;return t[10]!==e||t[11]!==r||t[12]!==i||t[13]!==a||t[14]!==o||t[15]!==s||t[16]!==c?(l=$(fr,{layoutId:e.id,nodeProps:e,children:[r,i,a,o,s,c]},e.id),t[10]=e,t[11]=r,t[12]=i,t[13]=a,t[14]=o,t[15]=s,t[16]=c,t[17]=l):l=t[17],l}e(ElementNode$1,`ElementNode`);function CompoundNode$1(e){let t=X(15),n=q(),r;t[0]===e?r=t[1]:(r=Q(Dr,{...e}),t[0]=e,t[1]=r);let t1;t[2]!==n||t[3]!==e.data.fqn?(t1=t=>{t.stopPropagation(),n.openElementDetails(e.data.fqn)},t[2]=n,t[3]=e.data.fqn,t[4]=t1):t1=t[4];let i;t[5]!==e||t[6]!==t1?(i=Q(Hr,{...e,onClick:t1}),t[5]=e,t[6]=t1,t[7]=i):i=t[7];let a;t[8]===e?a=t[9]:(a=Q(Lo,{...e}),t[8]=e,t[9]=a);let o;return t[10]!==e||t[11]!==r||t[12]!==i||t[13]!==a?(o=$(Pr,{layoutId:e.id,nodeProps:e,children:[r,i,a]},e.id),t[10]=e,t[11]=r,t[12]=i,t[13]=a,t[14]=o):o=t[14],o}e(CompoundNode$1,`CompoundNode`);const Io=e(e=>{let t=X(15),{data:n}=e,{ports:r,height:i}=n,a;if(t[0]!==i||t[1]!==r.in){let t3;t[3]!==i||t[4]!==r.in.length?(t3=(e,t)=>Q(Rn,{id:e,type:`target`,position:Ln.Left,style:{visibility:`hidden`,top:`${15+(t+1)*((i-30)/(r.in.length+1))}px`}},e),t[3]=i,t[4]=r.in.length,t[5]=t3):t3=t[5],a=r.in.map(t3),t[0]=i,t[1]=r.in,t[2]=a}else a=t[2];let o;if(t[6]!==i||t[7]!==r.out){let t4;t[9]!==i||t[10]!==r.out.length?(t4=(e,t)=>Q(Rn,{id:e,type:`source`,position:Ln.Right,style:{visibility:`hidden`,top:`${15+(t+1)*((i-30)/(r.out.length+1))}px`}},e),t[9]=i,t[10]=r.out.length,t[11]=t4):t4=t[11],o=r.out.map(t4),t[6]=i,t[7]=r.out,t[8]=o}else o=t[8];let s;return t[12]!==a||t[13]!==o?(s=$(Z,{children:[a,o]}),t[12]=a,t[13]=o,t[14]=s):s=t[14],s},`ElementPorts`),Lo=e(e=>{let t=X(7),{data:n}=e,r;t[0]===n.ports.in?r=t[1]:(r=n.ports.in.map(_temp$7),t[0]=n.ports.in,t[1]=r);let i;t[2]===n.ports.out?i=t[3]:(i=n.ports.out.map(_temp2$5),t[2]=n.ports.out,t[3]=i);let a;return t[4]!==r||t[5]!==i?(a=$(Z,{children:[r,i]}),t[4]=r,t[5]=i,t[6]=a):a=t[6],a},`CompoundPorts`);function _temp$7(e,t){return Q(Rn,{id:e,type:`target`,position:Ln.Left,style:{visibility:`hidden`,top:`${20*(t+1)}px`}},e)}e(_temp$7,`_temp`);function _temp2$5(e,t){return Q(Rn,{id:e,type:`source`,position:Ln.Right,style:{visibility:`hidden`,top:`${20*(t+1)}px`}},e)}e(_temp2$5,`_temp2`);const sortByLabel=(e,t)=>Ni(e.label,t.label);function buildNode(e){return{label:e.title||e.id,value:e.id,children:[...e.children()].map(buildNode).sort(sortByLabel)}}function useLikeC4ElementsTree(e){let t=X(5),n=Kr(),r;if(e){let i;t[0]!==n||t[1]!==e?(i=[...n.view(e).roots()].map(buildNode).sort(sortByLabel),t[0]=n,t[1]=e,t[2]=i):i=t[2],r=i}else{let e;t[3]===n?e=t[4]:(e=[...n.roots()].map(buildNode).sort(sortByLabel),t[3]=n,t[4]=e),r=e}return r}var Ro=t({label:()=>Bo,node:()=>zo,scrollArea:()=>Vo});const zo=W({margin:`0`}),Bo=W({_hover:{backgroundColor:`mantine.colors.gray[0]`,_dark:{backgroundColor:`default.hover`,color:`white`}}}),Vo=W({maxHeight:[`70vh`,`calc(100cqh - 70px)`]}),Ho=e(e=>{let t=e.context.layouted?.subjectExistsInScope??!1;return{subjectId:e.context.subject,viewId:e.context.viewId,scope:e.context.scope,subjectExistsInScope:t,enableSelectSubject:e.context.enableSelectSubject,enableChangeScope:e.context.enableChangeScope}},`selector2`),Uo=J(()=>{let e=useRelationshipsBrowser(),{subjectId:t,viewId:n,scope:r,subjectExistsInScope:i,enableSelectSubject:a,enableChangeScope:o}=useRelationshipsBrowserState(Ho),s=Ci(null),c=Ci(null),l=Kr().findElement(t),u=useLikeC4ElementsTree(r===`view`&&n?n:void 0),d=Ve({multiple:!1});return Y(()=>{Ei(t).reverse().forEach(e=>{d.expand(e)}),d.select(t)},[t]),$(V,{ref:s,gap:`xs`,pos:`relative`,children:[a&&$(V,{gap:4,wrap:`nowrap`,children:[Q(F,{fz:`xs`,fw:`500`,style:{whiteSpace:`nowrap`,userSelect:`none`},children:`Relationships of`}),Q(F,{pos:`relative`,children:$(Ge,{position:`bottom-start`,shadow:`md`,keepMounted:!1,withinPortal:!1,closeOnClickOutside:!0,clickOutsideEvents:[`pointerdown`,`mousedown`,`click`],offset:4,onOpen:()=>{setTimeout(()=>{(c.current?.querySelector(`[data-value="${t}"]`))?.scrollIntoView({behavior:`instant`,block:`nearest`})},100)},children:[Q(Be,{children:Q(_e,{size:`xs`,variant:`default`,maw:250,rightSection:Q(tn,{size:16}),children:Q(H,{fz:`xs`,fw:`500`,truncate:!0,children:l?.title??`???`})})}),Q(Pe,{p:0,miw:250,maw:400,children:Q(pe,{scrollbars:`y`,type:`never`,viewportRef:c,className:Vo,children:Q(Ze,{allowRangeSelection:!1,selectOnClick:!1,tree:d,data:u,classNames:Ro,levelOffset:8,styles:{root:{maxWidth:400,overflow:`hidden`},label:{paddingTop:5,paddingBottom:6}},renderNode:({node:t,selected:n,expanded:r,elementProps:i,hasChildren:a})=>$(V,{gap:2,wrap:`nowrap`,...i,py:`3`,children:[Q(Oe,{variant:`subtle`,size:18,c:`dimmed`,style:{visibility:a?`visible`:`hidden`},children:Q(gn,{stroke:3.5,style:{transition:`transform 150ms ease`,transform:`rotate(${r?`90deg`:`0`})`,width:`80%`}})}),Q(F,{flex:`1 1 100%`,w:`100%`,onClick:n=>{n.stopPropagation(),d.select(t.value),d.expand(t.value),e.navigateTo(t.value)},children:Q(H,{fz:`sm`,fw:n?`600`:`400`,truncate:`end`,children:t.label})})]})})})})]})})]}),o&&$(V,{gap:4,wrap:`nowrap`,children:[a&&Q(F,{fz:`xs`,fw:`500`,...!i&&{c:`dimmed`},style:{whiteSpace:`nowrap`,userSelect:`none`},children:`Scope`}),Q(`div`,{children:Q(Ne,{color:`orange`,label:$(Z,{children:[`This element does not exist in the current view`,r===`view`&&$(Z,{children:[Q(`br`,{}),`Scope is set to global`]})]}),position:`bottom-start`,disabled:i,portalProps:{target:s.current},children:Q(ze,{flex:`1 0 auto`,size:`xs`,withItemsBorders:!1,value:r,styles:{label:{paddingLeft:8,paddingRight:8}},onChange:t=>{e.changeScope(t)},data:[{label:`Global`,value:`global`},{label:Q(`span`,{children:`Current view`}),value:`view`,disabled:!i}]})})})]})]})}),Wo={element:ElementNode$1,compound:CompoundNode$1,empty:EmptyNode},Go={relationship:Mo};function RelationshipsBrowser({actorRef:e}){let t=Ci(null);return t.current??={initialNodes:[],initialEdges:[]},Q(jo.Provider,{value:e,children:Q(Vn,{...t.current,children:Q(ti,{id:e.sessionId,inherit:!1,children:Q($r,{children:Q(qo,{})})})})})}const Ko=e(e=>({isActive:e.hasTag(`active`),nodes:e.context.xynodes,edges:e.context.xyedges}),`selector`),selectorEq=(e,t)=>e.isActive===t.isActive&&Hn(e.nodes,t.nodes)&&Hn(e.edges,t.edges),qo=J(()=>{let e=X(38),t=useRelationshipsBrowser(),{isActive:n,nodes:r,edges:i}=useRelationshipsBrowserState(Ko,selectorEq),a=t.rootElementId,o=n?`initialized`:`not-initialized`,s;e[0]===o?s=e[1]:(s=U(o,`relationships-browser`),e[0]=o,e[1]=s);let t3;e[2]===t?t3=e[3]:(t3=(e,n)=>{e.stopPropagation(),t.send({type:`xyflow.nodeClick`,node:n})},e[2]=t,e[3]=t3);let c=K(t3),t5;e[4]===t?t5=e[5]:(t5=(e,n)=>{e.stopPropagation(),t.send({type:`xyflow.edgeClick`,edge:n})},e[4]=t,e[5]=t5);let l=K(t5),t7;e[6]===t?t7=e[7]:(t7=e=>{e.stopPropagation(),t.send({type:`xyflow.paneClick`})},e[6]=t,e[7]=t7);let u=K(t7),t9;e[8]===t?t9=e[9]:(t9=e=>{t.send({type:`xyflow.paneDblClick`})},e[8]=t,e[9]=t9);let d=K(t9),t11;e[10]===t?t11=e[11]:(t11=()=>{t.send({type:`xyflow.resized`})},e[10]=t,e[11]=t11);let f=K(t11),t13;e[12]===t?t13=e[13]:(t13=e=>{t.send({type:`xyflow.applyNodeChanges`,changes:e})},e[12]=t,e[13]=t13);let p=K(t13),t15;e[14]===t?t15=e[15]:(t15=e=>{t.send({type:`xyflow.applyEdgeChanges`,changes:e})},e[14]=t,e[15]=t15);let m=K(t15),t17;e[16]===t?t17=e[17]:(t17=(e,n)=>{n.data.hovered||t.send({type:`xyflow.edgeMouseEnter`,edge:n})},e[16]=t,e[17]=t17);let h=K(t17),t19;e[18]===t?t19=e[19]:(t19=(e,n)=>{n.data.hovered&&t.send({type:`xyflow.edgeMouseLeave`,edge:n})},e[18]=t,e[19]=t19);let g=K(t19),t21;e[20]===t?t21=e[21]:(t21=e=>{t.send({type:`xyflow.selectionChange`,...e})},e[20]=t,e[21]=t21);let _=K(t21),v;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(v=Q(Jo,{}),e[22]=v):v=e[22];let y;return e[23]!==t.rootElementId||e[24]!==i||e[25]!==r||e[26]!==d||e[27]!==f||e[28]!==p||e[29]!==m||e[30]!==h||e[31]!==s||e[32]!==g||e[33]!==_||e[34]!==c||e[35]!==l||e[36]!==u?(y=Q(ar,{id:a,nodes:r,edges:i,className:s,nodeTypes:Wo,edgeTypes:Go,fitView:!1,onNodeClick:c,onEdgeClick:l,onPaneClick:u,onDoubleClick:d,onViewportResize:f,onNodesChange:p,onEdgesChange:m,onEdgeMouseEnter:h,onEdgeMouseLeave:g,onSelectionChange:_,nodesDraggable:!1,nodesSelectable:!0,pannable:!0,zoomable:!0,children:v}),e[23]=t.rootElementId,e[24]=i,e[25]=r,e[26]=d,e[27]=f,e[28]=p,e[29]=m,e[30]=h,e[31]=s,e[32]=g,e[33]=_,e[34]=c,e[35]=l,e[36]=u,e[37]=y):y=e[37],y}),selector2=e=>({subjectId:e.context.subject,viewId:e.context.viewId,scope:e.context.scope,closeable:e.context.closeable}),Jo=J(()=>{let e=X(40),t=useRelationshipsBrowser(),{subjectId:n,viewId:r,scope:i,closeable:a}=useRelationshipsBrowserState(selector2),o=zn(),s=Fn(),t0;e[0]!==t||e[1]!==s||e[2]!==o?(t0=()=>{s.viewportInitialized&&t.send({type:`xyflow.init`,instance:s,store:o})},e[0]=t,e[1]=s,e[2]=o,e[3]=t0):t0=e[3];let c;e[4]!==t||e[5]!==s.viewportInitialized||e[6]!==o?(c=[o,s.viewportInitialized,t],e[4]=t,e[5]=s.viewportInitialized,e[6]=o,e[7]=c):c=e[7],Y(t0,c);let l=kr(n,r,i),[u,d,f]=ft(n),{history:p,current:m}=f,t3;e[8]!==d||e[9]!==u||e[10]!==n?(t3=()=>{u!==n&&d.set(n)},e[8]=d,e[9]=u,e[10]=n,e[11]=t3):t3=e[11];let h;e[12]===n?h=e[13]:(h=[n],e[12]=n,e[13]=h),Y(t3,h);let t5;e[14]!==t||e[15]!==u||e[16]!==n?(t5=()=>{u!==n&&t.navigateTo(u)},e[14]=t,e[15]=u,e[16]=n,e[17]=t5):t5=e[17];let g;e[18]!==t||e[19]!==u?(g=[u,t],e[18]=t,e[19]=u,e[20]=g):g=e[20],Y(t5,g);let t7,_;e[21]!==t||e[22]!==l?(t7=()=>{t.updateView(l)},_=[l,t],e[21]=t,e[22]=l,e[23]=t7,e[24]=_):(t7=e[23],_=e[24]),Y(t7,_);let v=m>0,y=m+1<p.length,t10,t9;e[25]===d?(t10=e[26],t9=e[27]):(t9=()=>d.back(),t10=()=>d.forward(),e[25]=d,e[26]=t10,e[27]=t9);let b;e[28]!==v||e[29]!==y||e[30]!==t10||e[31]!==t9?(b=Q(Yo,{hasStepBack:v,hasStepForward:y,onStepBack:t9,onStepForward:t10}),e[28]=v,e[29]=y,e[30]=t10,e[31]=t9,e[32]=b):b=e[32];let x;e[33]!==t||e[34]!==a||e[35]!==n?(x=a&&Q(Bn,{position:`top-right`,children:$(V,{gap:4,wrap:`nowrap`,children:[Q(CopyLinkButton,{subjectId:n}),Q(Oe,{variant:`default`,color:`gray`,onClick:e=>{e.stopPropagation(),t.close()},children:Q(dn,{})})]})}),e[33]=t,e[34]=a,e[35]=n,e[36]=x):x=e[36];let S;return e[37]!==b||e[38]!==x?(S=$(Z,{children:[b,x]}),e[37]=b,e[38]=x,e[39]=S):S=e[39],S}),Yo=e(e=>{let t=X(12),{hasStepBack:n,hasStepForward:r,onStepBack:i,onStepForward:a}=e,o;t[0]!==n||t[1]!==i?(o=n&&Q(Qr.div,{layout:!0,initial:{opacity:.05,transform:`translateX(-5px)`},animate:{opacity:1,transform:`translateX(0)`},exit:{opacity:.05,transform:`translateX(-10px)`},children:Q(Oe,{variant:`default`,color:`gray`,onClick:e=>{e.stopPropagation(),i()},children:Q(Ut,{})})},`back`),t[0]=n,t[1]=i,t[2]=o):o=t[2];let s;t[3]!==r||t[4]!==a?(s=r&&Q(Qr.div,{layout:!0,initial:{opacity:.05,transform:`translateX(5px)`},animate:{opacity:1,transform:`translateX(0)`},exit:{opacity:0,transform:`translateX(5px)`},children:Q(Oe,{variant:`default`,color:`gray`,onClick:e=>{e.stopPropagation(),a()},children:Q(gn,{})})},`forward`),t[3]=r,t[4]=a,t[5]=s):s=t[5];let c;t[6]!==o||t[7]!==s?(c=$($r,{mode:`popLayout`,children:[o,s]}),t[6]=o,t[7]=s,t[8]=c):c=t[8];let l;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(l=Q(Uo,{}),t[9]=l):l=t[9];let u;return t[10]===c?u=t[11]:(u=Q(Bn,{position:`top-left`,children:$(V,{gap:4,wrap:`nowrap`,children:[c,l]})}),t[10]=c,t[11]=u),u},`TopLeftPanel`),Xo=Ne.withProps({color:`dark`,fz:`xs`,openDelay:400,closeDelay:150,label:``,children:null,offset:4,withinPortal:!1});function buildRelationshipUrl(e){let t=new URL(window.location.href);if(t.hash.startsWith(`#/`)){let n=new URL(t.hash.substring(1),t.origin);n.searchParams.set(`relationships`,e);let r=n.pathname.replace(/\/$/,``);return`${t.origin}${t.pathname}${t.search}#${r}${n.search}`}return t.searchParams.set(`relationships`,e),t.href}const CopyLinkButton=e=>{let t=X(18),{subjectId:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={timeout:2e3},t[0]=r):r=t[0];let i=ee(r),[a,o]=wi(!1),s=Ci(null),t2;t[1]!==i||t[2]!==n?(t2=async e=>{e.stopPropagation(),o(!1),s.current&&=(clearTimeout(s.current),null);let t=buildRelationshipUrl(n);if(!window.isSecureContext){o(!0),s.current=window.setTimeout(()=>{o(!1)},2e3);return}i.copy(t)},t[1]=i,t[2]=n,t[3]=t2):t2=t[3];let c=t2,t3,l;t[4]===i.error?(t3=t[5],l=t[6]):(t3=()=>{i.error&&(o(!0),s.current&&clearTimeout(s.current),s.current=window.setTimeout(()=>{o(!1)},2e3))},l=[i.error],t[4]=i.error,t[5]=t3,t[6]=l),Y(t3,l);let t5,u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(t5=()=>()=>{s.current&&clearTimeout(s.current)},u=[],t[7]=t5,t[8]=u):(t5=t[7],u=t[8]),Y(t5,u);let d;if(t[9]!==i.copied||t[10]!==a){let getButtonState=()=>i.copied?{icon:Q($t,{}),tooltip:`Link copied!`}:a?{icon:Q(pn,{}),tooltip:`Copy failed - Clipboard requires HTTPS or localhost`}:{icon:Q(Xt,{}),tooltip:`Copy link to this relationship view`};d=getButtonState(),t[9]=i.copied,t[10]=a,t[11]=d}else d=t[11];let f=d,p;t[12]!==f.icon||t[13]!==c?(p=Q(Oe,{variant:`default`,color:`gray`,onClick:c,"aria-label":`Copy link to this relationship view`,children:f.icon}),t[12]=f.icon,t[13]=c,t[14]=p):p=t[14];let m;return t[15]!==f.tooltip||t[16]!==p?(m=Q(Xo,{label:f.tooltip,withArrow:!0,position:`top`,withinPortal:!1,children:p}),t[15]=f.tooltip,t[16]=p,t[17]=m):m=t[17],m},Zo=W({display:`inline-block`,fontSize:`sm`,fontWeight:`medium`,whiteSpace:`nowrap`,padding:`[3px 6px]`,borderRadius:`xs`,background:`var(--likec4-palette-fill)/75`,lineHeight:1.2,color:`var(--likec4-palette-hiContrast)`}),Qo=W({_light:{background:`mantine.colors.gray[1]`,"&[data-missing":{}},"&[data-missing]":{color:`mantine.colors.orange[4]`,background:`mantine.colors.orange[8]/15`,borderColor:`mantine.colors.orange[5]/20`,_light:{color:`mantine.colors.orange[8]`}}}),$o=W({flex:`1 1 100%`,position:`relative`,width:`100%`,height:`100%`,background:`body`,border:`default`,borderRadius:`sm`,_light:{borderColor:`mantine.colors.gray[3]`,background:`mantine.colors.gray[1]`}});W({_before:{content:`"scope:"`,position:`absolute`,top:`0`,left:`2`,fontSize:`xxs`,fontWeight:`medium`,lineHeight:`1`,color:`text.dimmed`,opacity:.85,transform:`translateY(-100%) translateY(-2px)`},_light:{"& .mantine-SegmentedControl-root":{background:`mantine.colors.gray[3]`}}}),W({display:`inline-block`,fontSize:`xl`,fontWeight:`bold`,padding:`[1px 5px]`,minWidth:`24px`,textAlign:`center`,borderRadius:`sm`,background:`mantine.colors.dark[7]`,color:`default.color`,"&[data-zero]":{color:`text.dimmed`},"&[data-missing]":{color:`mantine.colors.orange[4]`,background:`mantine.colors.orange[8]/20`}});const es=Ne.withProps({color:`dark`,fz:`xs`,openDelay:600,closeDelay:120,label:``,children:null,offset:8,withinPortal:!1});function TabPanelRelationships(e){let t=X(24),{node:n,element:r}=e,i=q(),a=useElementDetailsActorRef(),t1;t[0]===a.id?t1=t[1]:(t1=e=>e.children[`${a.id}-relationships`],t[0]=a.id,t[1]=t1);let o=(0,oi.useSelector)(a,t1),s,c,l,u,d;t[2]!==r||t[3]!==n?(s=[...r.incoming()].map(_temp$6),l=[...r.outgoing()].map(_temp2$4),c=n?j([...n.incoming()].flatMap(_temp3$2)):[],u=n?j([...n.outgoing()].flatMap(_temp4$2)):[],d=[...s,...l].filter(e=>!c.includes(e)&&!u.includes(e)),t[2]=r,t[3]=n,t[4]=s,t[5]=c,t[6]=l,t[7]=u,t[8]=d):(s=t[4],c=t[5],l=t[6],u=t[7],d=t[8]);let f=d.length,p;t[9]!==r.id||t[10]!==s.length||t[11]!==c||t[12]!==f||t[13]!==l.length||t[14]!==u?(p=s.length+l.length>0&&$(V,{gap:`xs`,wrap:`nowrap`,align:`center`,children:[Q(F,{children:$(V,{gap:8,mb:4,wrap:`nowrap`,children:[Q(RelationshipsStat,{title:`incoming`,total:s.length,included:c.length}),Q(Fe,{size:`sm`,variant:`transparent`,c:`dimmed`,children:Q(It,{style:{width:16}})}),Q(H,{className:Zo,children:ki(r.id)}),Q(Fe,{size:`sm`,variant:`transparent`,c:`dimmed`,children:Q(It,{style:{width:16}})}),Q(RelationshipsStat,{title:`outgoing`,total:l.length,included:u.length})]})}),f>0&&Q(es,{label:`Current view does not include some relationships`,children:$(V,{mt:`xs`,gap:6,c:`orange`,style:{cursor:`pointer`},children:[Q(Vt,{style:{width:14}}),$(H,{fz:`sm`,children:[f,` relationship`,f>1?`s are`:` is`,` hidden`]})]})})]}),t[9]=r.id,t[10]=s.length,t[11]=c,t[12]=f,t[13]=l.length,t[14]=u,t[15]=p):p=t[15];let m;t[16]!==i||t[17]!==o?(m=o&&$(Z,{children:[Q(RelationshipsBrowser,{actorRef:o}),Q(F,{pos:`absolute`,top:12,right:12,children:Q(Oe,{size:`md`,variant:`default`,radius:`sm`,onClick:e=>{e.stopPropagation();let{subject:t,scope:n,viewId:r}=o.getSnapshot().context;i.overlays().send({type:`open.relationshipsBrowser`,subject:t,scope:n,viewId:r})},children:Q(Zt,{stroke:1.6,style:{width:`70%`}})})})]}),t[16]=i,t[17]=o,t[18]=m):m=t[18];let h;t[19]===m?h=t[20]:(h=Q(F,{className:$o,children:m}),t[19]=m,t[20]=h);let g;return t[21]!==p||t[22]!==h?(g=$(Re,{gap:`xs`,pos:`relative`,w:`100%`,h:`100%`,children:[p,h]}),t[21]=p,t[22]=h,t[23]=g):g=t[23],g}function _temp4$2(e){return e.$edge.relations}e(_temp4$2,`_temp4`);function _temp3$2(e){return e.$edge.relations}e(_temp3$2,`_temp3`);function _temp2$4(e){return e.id}e(_temp2$4,`_temp2`);function _temp$6(e){return e.id}e(_temp$6,`_temp`);function RelationshipsStat(e){let t=X(15),{title:n,total:r,included:i}=e,a=r===0,o=r!==i,s;t[0]!==a||t[1]!==o?(s={zero:a,missing:o},t[0]=a,t[1]=o,t[2]=s):s=t[2];let c=r===i?`dimmed`:`orange`,l;t[3]!==c||t[4]!==n?(l=Q(H,{component:`div`,c,tt:`uppercase`,fw:600,fz:10,lh:1,children:n}),t[3]=c,t[4]=n,t[5]=l):l=t[5];let u;t[6]!==i||t[7]!==r?(u=Q(H,{fw:600,fz:`xl`,component:`div`,lh:1,children:r===i?Q(Z,{children:r}):$(Z,{children:[i,` / `,r]})}),t[6]=i,t[7]=r,t[8]=u):u=t[8];let d;t[9]!==l||t[10]!==u?(d=$(Re,{gap:4,align:`flex-end`,children:[l,u]}),t[9]=l,t[10]=u,t[11]=d):d=t[11];let f;return t[12]!==s||t[13]!==d?(f=Q(tt,{withBorder:!0,shadow:`none`,className:Qo,px:`md`,py:`xs`,radius:`md`,mod:s,children:d}),t[12]=s,t[13]=d,t[14]=f):f=t[14],f}const ts=W({marginTop:`sm`,marginBottom:`sm`}),ns=W({display:`inline-flex`,transition:`fast`,border:`1px dashed`,borderColor:`default.border`,borderRadius:`sm`,px:`md`,py:`xs`,alignItems:`center`,cursor:`pointer`,color:`mantine.colors.gray[7]`,_dark:{color:`mantine.colors.dark[1]`},"& > *":{transition:`fast`},_hover:{transitionTimingFunction:`out`,borderStyle:`solid`,color:`default.color`,background:`default.hover`,"& > *":{transitionTimingFunction:`out`,transform:`translateX(1px)`}}}),ElementLabel=e=>{let t=X(2),{element:n}=e,r;return t[0]===n.title?r=t[1]:(r=Q(F,{className:ns,children:Q(H,{component:`div`,fz:`sm`,fw:`500`,children:n.title})}),t[0]=n.title,t[1]=r),r},rs=Q(Vt,{});function TabPanelStructure({element:e}){let t=Ve({multiple:!1}),n=Si(()=>{let t=1,messageNode=e=>({label:e,value:`msg${t++}`,type:`message`,children:[]}),n={label:Q(ElementLabel,{type:`current`,element:e}),value:e.id,element:e,type:`current`,children:[...e.children()].map(e=>({label:Q(ElementLabel,{type:`descedant`,element:e}),value:e.id,element:e,type:`descedant`,children:[]}))};return n.children.length===0&&n.children.push(messageNode(Q(it,{radius:`sm`,children:`no nested`}))),[[...e.ancestors()].reduce((e,t)=>({label:Q(ElementLabel,{type:`ancestor`,element:t}),value:t.id,element:t,type:`ancestor`,children:[e]}),n)]},[e]);return Y(()=>{t.expandAllNodes()},[n]),$(Z,{children:[$(Ie,{variant:`light`,color:`orange`,title:`In development`,icon:rs,children:[`We need your feedback. Share your thoughts and ideas -`,` `,Q(He,{fz:`sm`,fw:500,underline:`hover`,c:`orange`,href:`https://github.com/likec4/likec4/discussions/`,target:`_blank`,children:`GitHub discussions`})]}),Q(Ze,{levelOffset:`xl`,allowRangeSelection:!1,expandOnClick:!1,expandOnSpace:!1,classNames:{label:ts},data:n,tree:t})]})}const is=fe.withProps({mb:8,labelPosition:`left`,variant:`dashed`}),as=Ne.withProps({color:`dark`,fz:`xs`,openDelay:400,closeDelay:150,label:``,children:null,offset:4}),os=H.withProps({component:`div`,fz:11,fw:500,c:`dimmed`,lh:1}),ss=H.withProps({component:`div`,fz:`xs`,c:`dimmed`,className:xo}),cs=[`Properties`,`Relationships`,`Views`,`Structure`,`Deployments`];function ElementDetailsCard(e){let t=X(117),{viewId:n,fromNode:r,rectFromNode:i,fqn:a,onClose:o}=e,[s,c]=wi(!1),l=lt(),u=l.width||window.innerWidth||1200,d=l.height||window.innerHeight||800,f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(f={key:`likec4:element-details:active-tab`,defaultValue:`Properties`},t[0]=f):f=t[0];let[p,m]=dt(f),h=q(),v=useCurrentViewModel(),y=r?v.findNode(r):v.findNodeWithElement(a),b=v.$model.element(a),t2;t[1]===a?t2=t[2]:(t2=e=>e._type===`element`&&e.viewOf===a,t[1]=a,t[2]=t2);let[S,C]=g([...b.views()],M(_temp$5),x(t2)),w=y?.navigateTo?.$view??b.defaultView?.$view??null;w?.id===n&&(w=null);let T=O(b.links),E=Zr(),D=(y?.$node.children?.length??0)>0,k=Math.min(700,u-48),A=Math.min(650,d-48),j;t[3]!==k||t[4]!==D||t[5]!==i||t[6]!==d||t[7]!==u?(j=i?{x:i.x+(D?i.width-k/2:i.width/2),y:i.y+(D?0:i.height/2)}:{x:u/2,y:d/2},t[3]=k,t[4]=D,t[5]=i,t[6]=d,t[7]=u,t[8]=j):j=t[8];let N=j,P=i?Math.min(i.width/k,i.height/A,.9):1,I;t[9]!==k||t[10]!==N.x||t[11]!==u?(I=Math.round(_(N.x-k/2,{min:24,max:u-k-24})),t[9]=k,t[10]=N.x,t[11]=u,t[12]=I):I=t[12];let L=I,R;t[13]!==A||t[14]!==N.y||t[15]!==D||t[16]!==d?(R=Math.round(_(N.y-(D?0:60),{min:24,max:d-A-24})),t[13]=A,t[14]=N.y,t[15]=D,t[16]=d,t[17]=R):R=t[17];let z=R,ee=(N.x-L)/k,te;t[18]===ee?te=t[19]:(te=_(ee,{min:.1,max:.9}),t[18]=ee,t[19]=te);let ne=te,re=(N.y-z)/A,ie;t[20]===re?ie=t[21]:(ie=_(re,{min:.1,max:.9}),t[20]=re,t[21]=ie);let ae=ie,oe=ni(k),se=ni(A),t10;t[22]!==A||t[23]!==k||t[24]!==se||t[25]!==oe?(t10=()=>{oe.set(k),se.set(A)},t[22]=A,t[23]=k,t[24]=se,t[25]=oe,t[26]=t10):t10=t[26];let ce;t[27]!==A||t[28]!==k?(ce=[k,A],t[27]=A,t[28]=k,t[29]=ce):ce=t[29],_r(t10,ce);let t12;t[30]!==se||t[31]!==oe?(t12=(e,t)=>{oe.set(Math.max(oe.get()+t.delta.x,320)),se.set(Math.max(se.get()+t.delta.y,300))},t[30]=se,t[31]=oe,t[32]=t12):t12=t[32];let le=t12,ue=Ci(null),de;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(de=[],t[33]=de):de=t[33];let fe=kn(K(o),de,50),t14;t[34]===fe?t14=t[35]:(t14=e=>{e?.stopPropagation(),fe()},t[34]=fe,t[35]=t14);let pe=K(t14),me=y?.$node.notation??null,he=Tn({element:{id:a,title:b.title,icon:y?.icon??b.icon},className:uo}),t15;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(t15=()=>{ue.current?.open||ue.current?.showModal()},t[36]=t15):t15=t[36],Mn(t15,20);let t16;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(t16=()=>{c(!0)},t[37]=t16):t16=t[37],Mn(t16,220);let ge;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(ge=U(ao,De.classNames.fullWidth),t[38]=ge):ge=t[38];let _e,ve;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(_e={[ro]:`0px`,[io]:`5%`},ve={[ro]:`3px`,[io]:`60%`},t[39]=_e,t[40]=ve):(_e=t[39],ve=t[40]);let ye,t21;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(ye={[ro]:`0px`,[io]:`0%`,transition:{duration:.1}},t21=e=>{e.stopPropagation(),e.target?.nodeName?.toUpperCase()===`DIALOG`&&ue.current?.close()},t[41]=ye,t[42]=t21):(ye=t[41],t21=t[42]);let be=Math.max(P,.65),xe;t[43]!==A||t[44]!==k||t[45]!==L||t[46]!==ne||t[47]!==ae||t[48]!==be||t[49]!==z?(xe={top:z,left:L,width:k,height:A,opacity:0,originX:ne,originY:ae,scale:be},t[43]=A,t[44]=k,t[45]=L,t[46]=ne,t[47]=ae,t[48]=be,t[49]=z,t[50]=xe):xe=t[50];let Se;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(Se={opacity:1,scale:1},t[51]=Se):Se=t[51];let Ce;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(Ce={opacity:0,scale:.9,translateY:-10,transition:{duration:.1}},t[52]=Ce):Ce=t[52];let Te;t[53]!==se||t[54]!==oe?(Te={width:oe,height:se},t[53]=se,t[54]=oe,t[55]=Te):Te=t[55];let t27;t[56]===E?t27=t[57]:(t27=e=>E.start(e),t[56]=E,t[57]=t27);let B;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(B={cursor:`default`,minWidth:0,overflow:`hidden`},t[58]=B):B=t[58];let ke;t[59]===Symbol.for(`react.memo_cache_sentinel`)?(ke={minWidth:0,overflow:`hidden`},t[59]=ke):ke=t[59];let je;t[60]===pe?je=t[61]:(je=Q($e,{size:`lg`,onClick:pe}),t[60]=pe,t[61]=je);let Me;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(Me=Q(os,{children:`kind`}),t[62]=Me):Me=t[62];let Ne;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(Ne={cursor:`pointer`},t[63]=Ne):Ne=t[63];let Pe,Fe;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(Pe={flex:1,minWidth:0,overflow:`hidden`},Fe=Q(os,{children:`tags`}),t[64]=Pe,t[65]=Fe):(Pe=t[64],Fe=t[65]);let t35;t[66]===h?t35=t[67]:(t35=e=>h.openSearch(`#${e}`),t[66]=h,t[67]=t35);let Ie;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(Ie={alignSelf:`flex-start`},t[68]=Ie):Ie=t[68];let Le;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(Le=Q(Qt,{stroke:1.8,style:{width:`62%`}}),t[69]=Le):Le=t[69];let V=MetadataProvider,ze=we,t38;t[70]===m?t38=t[71]:(t38=e=>m(e),t[70]=m,t[71]=t38);let Be;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(Be={root:go,list:_o,tab:vo,panel:yo},t[72]=Be):Be=t[72];let Ve;t[73]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=Q(Ee,{children:cs.map(_temp2$3)}),t[73]=Ve):Ve=t[73];let He=b.hasSummary&&$(Z,{children:[Q(ss,{children:`summary`}),Q(or,{value:b.summary})]}),Ue;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(Ue=Q(ss,{children:`description`}),t[74]=Ue):Ue=t[74];let We;t[75]===b.description?We=t[76]:(We=$(Z,{children:[Ue,Q(or,{value:b.description,emptyText:`no description`})]}),t[75]=b.description,t[76]=We);let Ge=b.technology&&Q(ElementProperty,{title:`technology`,children:b.technology}),qe=b.links.length>0&&$(Z,{children:[Q(ss,{children:`links`}),Q(G,{gap:`xs`,flexWrap:`wrap`,children:b.links.map(_temp3$1)})]}),Je=b.$element.metadata&&Q(ElementMetata,{value:b.$element.metadata}),Xe;t[77]!==He||t[78]!==We||t[79]!==Ge||t[80]!==qe||t[81]!==Je?(Xe=Q(Ye,{value:`Properties`,children:Q(rt,{scrollbars:`y`,type:`scroll`,offsetScrollbars:!0,children:$(F,{className:bo,pt:`xs`,children:[He,We,Ge,qe,Je]})})}),t[77]=He,t[78]=We,t[79]=Ge,t[80]=qe,t[81]=Je,t[82]=Xe):Xe=t[82];let Ze;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(Ze={enableRelationshipBrowser:!1,enableNavigateTo:!1},t[83]=Ze):Ze=t[83];let Qe=s&&p===`Relationships`&&Q(TabPanelRelationships,{element:b,node:y??null}),et;t[84]===Qe?et=t[85]:(et=Q(Ye,{value:`Relationships`,children:Q(Sr,{overrides:Ze,children:Qe})}),t[84]=Qe,t[85]=et);let tt=Ye,nt=rt,it=Re,at=S.length>0&&$(F,{children:[Q(is,{label:`views of the element (scoped)`}),Q(Re,{gap:`sm`,children:S.map(e=>Q(ls,{view:e,onNavigateTo:e=>h.navigateTo(e,r??void 0)},e.id))})]}),ot=C.length>0&&$(F,{children:[Q(is,{label:`views including this element`}),Q(Re,{gap:`sm`,children:C.map(e=>Q(ls,{view:e,onNavigateTo:e=>h.navigateTo(e,r??void 0)},e.id))})]}),st;t[86]!==it||t[87]!==at||t[88]!==ot?(st=$(it,{gap:`lg`,children:[at,ot]}),t[86]=it,t[87]=at,t[88]=ot,t[89]=st):st=t[89];let ct;t[90]!==nt||t[91]!==st?(ct=Q(nt,{scrollbars:`y`,type:`auto`,children:st}),t[90]=nt,t[91]=st,t[92]=ct):ct=t[92];let ut;t[93]!==tt||t[94]!==ct?(ut=Q(tt,{value:`Views`,children:ct}),t[93]=tt,t[94]=ct,t[95]=ut):ut=t[95];let ft;t[96]===b?ft=t[97]:(ft=Q(Ye,{value:`Structure`,children:Q(rt,{scrollbars:`y`,type:`auto`,children:Q(TabPanelStructure,{element:b})})}),t[96]=b,t[97]=ft);let pt;t[98]===b.id?pt=t[99]:(pt=Q(Ye,{value:`Deployments`,children:Q(rt,{scrollbars:`y`,type:`auto`,children:Q(Ao,{elementFqn:b.id})})}),t[98]=b.id,t[99]=pt);let mt;t[100]!==ze||t[101]!==p||t[102]!==t38||t[103]!==Be||t[104]!==Ve||t[105]!==Xe||t[106]!==et||t[107]!==ut||t[108]!==ft||t[109]!==pt?(mt=$(ze,{value:p,onChange:t38,variant:`none`,classNames:Be,children:[Ve,Xe,et,ut,ft,pt]}),t[100]=ze,t[101]=p,t[102]=t38,t[103]=Be,t[104]=Ve,t[105]=Xe,t[106]=et,t[107]=ut,t[108]=ft,t[109]=pt,t[110]=mt):mt=t[110];let ht;t[111]!==V||t[112]!==mt?(ht=Q(V,{children:mt}),t[111]=V,t[112]=mt,t[113]=ht):ht=t[113];let gt;t[114]===Symbol.for(`react.memo_cache_sentinel`)?(gt={top:0,left:0,right:0,bottom:0},t[114]=gt):gt=t[114];let _t;return t[115]===le?_t=t[116]:(_t=Q(Qr.div,{className:So,drag:!0,dragElastic:0,dragMomentum:!1,onDrag:le,dragConstraints:gt}),t[115]=le,t[116]=_t),Q(Qr.dialog,{ref:ue,className:ge,layout:!0,initial:_e,animate:ve,exit:ye,onClick:t21,onDoubleClick:Qn,onPointerDown:Qn,onClose:pe,children:Q(De,{forwardProps:!0,removeScrollBar:!1,children:$(Qr.div,{layout:!0,layoutRoot:!0,drag:!0,dragControls:E,dragElastic:0,dragMomentum:!1,dragListener:!1,"data-likec4-color":y?.color??b.color,className:oo,initial:xe,animate:Se,exit:Ce,style:Te,children:[$(`div`,{className:so,onPointerDown:t27,children:[$(G,{alignItems:`start`,justify:`space-between`,gap:`sm`,mb:`sm`,flexWrap:`nowrap`,children:[$(G,{alignItems:`start`,gap:`sm`,style:B,flexWrap:`nowrap`,children:[he,$(`div`,{style:ke,children:[Q(as,{label:b.title,openDelay:600,position:`bottom-start`,children:Q(H,{component:`div`,className:co,children:b.title})}),me&&Q(H,{component:`div`,c:`dimmed`,fz:`sm`,fw:500,lh:1.3,lineClamp:1,children:me})]})]}),je]}),$(G,{alignItems:`baseline`,gap:`sm`,flexWrap:`nowrap`,children:[$(`div`,{children:[Me,Q(Ke,{radius:`sm`,size:`sm`,fw:600,color:`gray`,style:Ne,onClick:e=>{e.stopPropagation(),h.openSearch(`kind:${b.kind}`)},children:b.kind})]}),$(`div`,{style:Pe,children:[Fe,Q(ElementTags$1,{tags:b.tags,onClick:t35})]}),$(Ae,{style:Ie,children:[T&&Q(Oe,{component:`a`,href:T.url,target:`_blank`,size:`lg`,variant:`default`,radius:`sm`,children:Q(Zt,{stroke:1.6,style:{width:`65%`}})}),Q(Nr,{feature:`Vscode`,children:Q(as,{label:`Open source`,children:Q(Oe,{size:`lg`,variant:`default`,radius:`sm`,onClick:e=>{e.stopPropagation(),h.openSource({element:b.id})},children:Le})})}),w&&Q(as,{label:`Open default view`,children:Q(Oe,{size:`lg`,variant:`default`,radius:`sm`,onClick:e=>{e.stopPropagation(),h.navigateTo(w.id,r??void 0)},children:Q(rn,{style:{width:`70%`}})})})]})]})]}),ht,_t]})})})}function _temp3$1(e,t){return Q(Oa,{value:e},t)}e(_temp3$1,`_temp3`);function _temp2$3(e){return Q(Ue,{value:e,children:e},e)}e(_temp2$3,`_temp2`);function _temp$5(e){return e.$view}e(_temp$5,`_temp`);const ls=e(e=>{let t=X(13),{view:n,onNavigateTo:r}=e,t1;t[0]!==r||t[1]!==n.id?(t1=e=>r(n.id,e),t[0]=r,t[1]=n.id,t[2]=t1):t1=t[2];let i;t[3]===n._type?i=t[4]:(i=Q(Fe,{size:`sm`,variant:`transparent`,children:n._type===`deployment`?Q(sn,{stroke:1.8}):Q(rn,{stroke:1.8})}),t[3]=n._type,t[4]=i);let a=n.title||`untitled`,o;t[5]===a?o=t[6]:(o=Q(F,{children:Q(H,{component:`div`,className:ho,lineClamp:1,children:a})}),t[5]=a,t[6]=o);let s;t[7]!==i||t[8]!==o?(s=$(V,{gap:6,align:`start`,wrap:`nowrap`,children:[i,o]}),t[7]=i,t[8]=o,t[9]=s):s=t[9];let c;return t[10]!==t1||t[11]!==s?(c=Q(B,{className:mo,onClick:t1,children:s}),t[10]=t1,t[11]=s,t[12]=c):c=t[12],c},`ViewButton`);function ElementProperty({title:e,emptyValue:t=`undefined`,children:n,style:r,...i}){return $(Z,{children:[Q(ss,{children:e}),Q(H,{component:`div`,...c(n)&&{c:`dimmed`},fz:`md`,style:{whiteSpace:`preserve-breaks`,userSelect:`all`,...r},...i,children:n||t})]})}function ElementMetata(e){let t=X(18),{value:n}=e,r,i,a,s,c;if(t[0]!==n){let e=o(n).sort(_temp4$1);i=MetadataProvider,t[6]===Symbol.for(`react.memo_cache_sentinel`)?(c=Q(ss,{style:{justifySelf:`end`,textAlign:`right`},children:`metadata`}),t[6]=c):c=t[6],r=F,t[7]===Symbol.for(`react.memo_cache_sentinel`)?(a=W({display:`grid`,gridTemplateColumns:`min-content 1fr`,gridAutoRows:`min-content`,gap:`[12px 16px]`,alignItems:`baseline`,justifyItems:`stretch`}),t[7]=a):a=t[7],s=e.map(_temp5$1),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=s,t[5]=c}else r=t[1],i=t[2],a=t[3],s=t[4],c=t[5];let l;t[8]!==r||t[9]!==a||t[10]!==s?(l=Q(r,{className:a,children:s}),t[8]=r,t[9]=a,t[10]=s,t[11]=l):l=t[11];let u;t[12]!==c||t[13]!==l?(u=$(Z,{children:[c,l]}),t[12]=c,t[13]=l,t[14]=u):u=t[14];let d;return t[15]!==i||t[16]!==u?(d=Q(i,{children:u}),t[15]=i,t[16]=u,t[17]=d):d=t[17],d}function _temp5$1(e){let[t,n]=e;return Q(MetadataValue,{label:t,value:n},t)}e(_temp5$1,`_temp5`);function _temp4$1(e,t){let[n]=e,[r]=t;return n.localeCompare(r)}e(_temp4$1,`_temp4`);function ElementTags$1(e){let t=X(10),{tags:n,onClick:r}=e,i;if(t[0]!==r||t[1]!==n){let t2;t[3]===r?t2=t[4]:(t2=e=>Q(jr,{tag:e,cursor:`pointer`,onClick:t=>{t.stopPropagation(),r(e)}},e),t[3]=r,t[4]=t2),i=n.map(t2),t[0]=r,t[1]=n,t[2]=i}else i=t[2];let a;t[5]===n.length?a=t[6]:(a=n.length===0&&Q(Ke,{radius:`sm`,size:`sm`,fw:600,color:`gray`,children:`—`}),t[5]=n.length,t[6]=a);let o;return t[7]!==i||t[8]!==a?(o=$(We,{gap:4,flex:1,mt:6,wrap:`wrap`,children:[i,a]}),t[7]=i,t[8]=a,t[9]=o):o=t[9],o}e(ElementTags$1,`ElementTags`);const us=e(e=>({viewId:e.context.currentView.id,fromNode:e.context.initiatedFrom.node,rectFromNode:e.context.initiatedFrom.clientRect,fqn:e.context.subject}),`selector`);function ElementDetails(e){let t=X(6),{actorRef:n,onClose:r}=e,i=(0,oi.useSelector)(n,us,Hn),a;t[0]!==r||t[1]!==i?(a=Q(ElementDetailsCard,{onClose:r,...i}),t[0]=r,t[1]=i,t[2]=a):a=t[2];let o;return t[3]!==n||t[4]!==a?(o=Q(no.Provider,{value:n,children:a}),t[3]=n,t[4]=a,t[5]=o):o=t[5],o}const ds=`--_blur`,fs=`--_opacity`,ps=_i(({onClose:e,className:t,classes:n,overlayLevel:r=0,children:i,fullscreen:a=!1,withBackdrop:o=!0,backdrop:s,openDelay:c=130,...l},u)=>{let[d,f]=wi(c===0),p=st(d),m=Ci(null),h=Ci(!1),g=ei()!==!0,_=Ci(e);_.current=e;let v=kn(()=>{h.current||(h.current=!0,_.current())},[],50);xi(()=>{m.current?.open||m.current?.showModal();let e=m.current;return()=>{e?.open&&(h.current=!0,e.close())}},[]),Mn(()=>{f(!0)},c>0?c:void 0);let y=Mt({fullscreen:a,withBackdrop:o}),b=r>0?`50%`:`60%`;return s?.opacity!==void 0&&(b=`${s.opacity*100}%`),Q(Qr.dialog,{ref:ne(m,p,u),className:U(n?.dialog,t,y,a&&De.classNames.fullWidth),layout:!0,style:{"--_level":r},...g?{initial:{[ds]:`0px`,[fs]:`0%`,scale:.85,opacity:0},animate:{[ds]:r>0?`4px`:`8px`,[fs]:b,scale:1,opacity:1,translateY:0},exit:{opacity:0,scale:.98,translateY:-20,[ds]:`0px`,[fs]:`0%`}}:{initial:{[ds]:`8px`,[fs]:b}},onClick:e=>{if(e.stopPropagation(),e.target?.nodeName?.toUpperCase()===`DIALOG`){m.current?.close();return}},onCancel:e=>{e.preventDefault(),e.stopPropagation(),v()},onDoubleClick:Qn,onPointerDown:Qn,onClose:e=>{e.stopPropagation(),v()},...l,children:Q(De,{forwardProps:!0,children:Q(`div`,{className:U(n?.body,`likec4-overlay-body`),children:d&&Q(Z,{children:i})})})})});ps.displayName=`Overlay`;const finalize=(e,t)=>e.size>2&&t.size!==e.size?new Set(Ui([...Ki(e).flatten(),...t])):e.size>1?new Set(Ui([...e])):e;function computeEdgeDetailsViewData(e,t){let n=new Set,r=new Set,i=new Set,a={sources:new Set,targets:new Set},addExplicit=(e,t)=>{t===`source`?(n.add(e),a.sources.add(e)):(i.add(e),a.targets.add(e))};for(let a of e){let e=t.findEdge(a),o=e?[...e.relationships(`model`)]:[];if(!e||!k(o,1)||!e.source.hasElement()||!e.target.hasElement())continue;let s=e.source.element,c=e.target.element;addExplicit(s,`source`),addExplicit(c,`target`);for(let e of o){if(r.add(e),e.source!==s){addExplicit(e.source,`source`);for(let t of e.source.ancestors()){if(t===s)break;n.add(t)}}if(e.target!==c){addExplicit(e.target,`target`);for(let t of e.target.ancestors()){if(t===c)break;i.add(t)}}}}return{sources:finalize(n,a.sources),targets:finalize(i,a.targets),relationships:r}}function computeRelationshipDetailsViewData({source:e,target:t}){let n=new Set,r=new Set,i=new Set,a={sources:new Set,targets:new Set},addExplicit=(e,t)=>{t===`source`?(n.add(e),a.sources.add(e)):(i.add(e),a.targets.add(e))};e&&addExplicit(e,`source`),t&&addExplicit(t,`target`);let[o]=Qi.findConnection(e,t,`directed`);if(!o)return{sources:n,targets:i,relationships:r};for(let a of o.relations){let o=a.source,s=a.target;if(addExplicit(o,`source`),addExplicit(s,`target`),r.add(a),e!==o){zi(Bi(e,o),`${e.id} is not an ancestor of ${o.id}`);for(let t of o.ancestors()){if(t===e)break;n.add(t)}}if(t!==s){zi(Bi(t,s),`${t.id} is not an ancestor of ${s.id}`);for(let e of s.ancestors()){if(e===t)break;i.add(e)}}}return{sources:finalize(n,a.sources),targets:finalize(i,a.targets),relationships:r}}const ms=$n(e=>{let{enableNavigateTo:t}=vr(),{data:{navigateTo:n}}=e,[r,i,a]=In(e),o=q();return $(sr,{...e,children:[Q(nr,{edgeProps:e,svgPath:r}),Q(rr,{edgeProps:e,labelPosition:{x:i,y:a,translate:`translate(-50%, 0)`},style:{maxWidth:Math.abs(e.targetX-e.sourceX-100)},children:Q(ur,{edgeProps:e,children:t&&n&&Q(Br,{...e,onClick:e=>{e.stopPropagation(),o.navigateTo(n)}})})})]})}),ElementActions=e=>{let t=X(21),{enableNavigateTo:n,enableVscode:r}=vr(),i=q(),a=useCurrentViewId(),o;if(t[0]!==a||t[1]!==i||t[2]!==n||t[3]!==r||t[4]!==e.data){o=[];let{navigateTo:s,fqn:c}=e.data;if(s&&n&&a!==s){let e;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e=Q(rn,{}),t[6]=e):e=t[6];let n;t[7]!==i||t[8]!==s?(n={key:`navigate`,icon:e,onClick:e=>{e.stopPropagation(),i.navigateTo(s)}},t[7]=i,t[8]=s,t[9]=n):n=t[9],o.push(n)}if(c){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=Q(on,{}),t[10]=e):e=t[10];let n;t[11]!==i||t[12]!==c?(n={key:`relationships`,icon:e,onClick:e=>{e.stopPropagation(),i.openRelationshipsBrowser(c)}},t[11]=i,t[12]=c,t[13]=n):n=t[13],o.push(n)}if(c&&r){let e;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(e=Q(Qt,{}),t[14]=e):e=t[14];let n;t[15]!==i||t[16]!==c?(n={key:`goToSource`,icon:e,onClick:e=>{e.stopPropagation(),i.openSource({element:c})}},t[15]=i,t[16]=c,t[17]=n):n=t[17],o.push(n)}t[0]=a,t[1]=i,t[2]=n,t[3]=r,t[4]=e.data,t[5]=o}else o=t[5];let s;return t[18]!==o||t[19]!==e?(s=Q(mr,{buttons:o,...e}),t[18]=o,t[19]=e,t[20]=s):s=t[20],s};function ElementTags(e){let t=X(5),n=q(),t0;t[0]===n?t0=t[1]:(t0=e=>{n.openSearch(e)},t[0]=n,t[1]=t0);let r=K(t0),i;return t[2]!==e||t[3]!==r?(i=Q(Tr,{onTagClick:r,...e}),t[2]=e,t[3]=r,t[4]=i):i=t[4],i}const ElementDetailsButtonWithHandler=e=>{let t=X(6),n=q(),t0;t[0]!==n||t[1]!==e.data.fqn?(t0=t=>{t.stopPropagation(),n.openElementDetails(e.data.fqn)},t[0]=n,t[1]=e.data.fqn,t[2]=t0):t0=t[2];let r;return t[3]!==e||t[4]!==t0?(r=Q(Lr,{...e,onClick:t0}),t[3]=e,t[4]=t0,t[5]=r):r=t[5],r},hs=zr(e=>{let{enableElementTags:t}=vr();return $(fr,{nodeProps:e,children:[Q(lr,{...e}),Q(tr,{...e}),t&&Q(ElementTags,{...e}),Q(ElementDetailsButtonWithHandler,{...e}),Q(ElementActions,{...e}),Q(ElementPorts,{...e})]})}),gs=zr(e=>$(Pr,{nodeProps:e,children:[Q(ElementDetailsButtonWithHandler,{...e}),Q(Dr,{...e}),Q(CompoundPorts,{...e})]})),ElementPorts=e=>{let t=X(15),{data:n}=e,{ports:r,height:i}=n,a;if(t[0]!==i||t[1]!==r.in){let t3;t[3]!==i||t[4]!==r.in.length?(t3=(e,t)=>Q(Rn,{id:e,type:`target`,position:Ln.Left,style:{visibility:`hidden`,top:`${15+(t+1)*((i-30)/(r.in.length+1))}px`}},e),t[3]=i,t[4]=r.in.length,t[5]=t3):t3=t[5],a=r.in.map(t3),t[0]=i,t[1]=r.in,t[2]=a}else a=t[2];let o;if(t[6]!==i||t[7]!==r.out){let t4;t[9]!==i||t[10]!==r.out.length?(t4=(e,t)=>Q(Rn,{id:e,type:`source`,position:Ln.Right,style:{visibility:`hidden`,top:`${15+(t+1)*((i-30)/(r.out.length+1))}px`}},e),t[9]=i,t[10]=r.out.length,t[11]=t4):t4=t[11],o=r.out.map(t4),t[6]=i,t[7]=r.out,t[8]=o}else o=t[8];let s;return t[12]!==a||t[13]!==o?(s=$(Z,{children:[a,o]}),t[12]=a,t[13]=o,t[14]=s):s=t[14],s},CompoundPorts=e=>{let t=X(7),{data:n}=e,r;t[0]===n.ports.in?r=t[1]:(r=n.ports.in.map(_temp$4),t[0]=n.ports.in,t[1]=r);let i;t[2]===n.ports.out?i=t[3]:(i=n.ports.out.map(_temp2$2),t[2]=n.ports.out,t[3]=i);let a;return t[4]!==r||t[5]!==i?(a=$(Z,{children:[r,i]}),t[4]=r,t[5]=i,t[6]=a):a=t[6],a};function _temp$4(e,t){return Q(Rn,{id:e,type:`target`,position:Ln.Left,style:{visibility:`hidden`,top:`${20*(t+1)}px`}},e)}e(_temp$4,`_temp`);function _temp2$2(e,t){return Q(Rn,{id:e,type:`source`,position:Ln.Right,style:{visibility:`hidden`,top:`${20*(t+1)}px`}},e)}e(_temp2$2,`_temp2`);const _s=gi(null);function useRelationshipDetailsActor(){let e=X(2),t=yi(_s),n;return e[0]===t?n=e[1]:(n=Ai(t,`No RelationshipDetailsActorContext`),e[0]=t,e[1]=n),n}function useRelationshipDetailsState(e,t){let n=t===void 0?Hn:t,r=K(e);return(0,oi.useSelector)(useRelationshipDetailsActor(),r,n)}function useRelationshipDetails(){let e=useRelationshipDetailsActor();return Si(()=>({actor:e,get rootElementId(){return`relationship-details-${e.sessionId.replaceAll(`:`,`_`)}`},getState:()=>e.getSnapshot().context,send:e.send,navigateTo:(...t)=>{t.length===1?e.send({type:`navigate.to`,params:{edgeId:t[0]}}):e.send({type:`navigate.to`,params:{source:t[0],target:t[1]}})},fitDiagram:()=>{e.send({type:`fitDiagram`})},close:()=>{e._parent?e._parent?.send({type:`close`,actorId:e.id}):e.send({type:`close`})}}),[e])}var vs=n(fi(),1);const ys={dagre:{ranksep:60,nodesep:35,edgesep:25},edgeLabel:{width:220,height:55},nodeWidth:330,nodeHeight:180,spacerHeight:0,compound:{labelHeight:2,paddingTop:50,paddingBottom:32}};function createGraph(){let e=new vs.default.graphlib.Graph({directed:!0,compound:!0,multigraph:!0});return e.setGraph({...ys.dagre,rankdir:`LR`}),e.setDefaultEdgeLabel(()=>({...ys.edgeLabel})),e.setDefaultNodeLabel(()=>({})),e}const bs=`-port`;function createNodes(e,t,n){let r=new Mi(t=>({id:`${e}-${t}`,portId:`${e}-${t}`})),i=Ki(t);for(let t of i.sorted){let a=i.children(t).length>0,o=t.id,s=`${e}-${o}`,c=a?`${s}${bs}`:s;r.set(o,{id:s,portId:c}),n.setNode(s,{column:e,element:t,isCompound:a,portId:c,inPorts:[],outPorts:[],width:ys.nodeWidth,height:ys.nodeHeight}),a&&(n.setNode(c,{element:t,portId:c,isCompound:a,inPorts:[],outPorts:[],width:ys.nodeWidth-ys.dagre.ranksep,height:ys.compound.labelHeight}),n.setParent(c,s));let l=i.parent(t);l&&n.setParent(s,`${e}-${l.id}`)}return{...i,byId:e=>{let t=i.byId(e);return{element:t,graph:r.get(t.id)}},graphNodes:r}}function applyDagreLayout(e){return vs.default.layout(e,{}),t=>{let{x:n,y:r,width:i,height:a}=e.node(t);return{position:{x:n-Math.round(i/2),y:r-Math.round(a/2)},width:i,height:a}}}function layoutRelationshipDetails(e,t){let n=createGraph(),r=createNodes(`sources`,e.sources,n),i=createNodes(`targets`,e.targets,n),o=Array.from(e.relationships).map(e=>{let t=r.byId(e.source.id).graph,a=i.byId(e.target.id).graph,o=e.id;return n.node(t.id).outPorts.push(a.id),n.node(a.id).inPorts.push(t.id),n.setEdge(t.portId,a.portId,{...ys.edgeLabel},o),{name:o,source:t.id,sourceHandle:t.id+`_out`+(n.node(t.id).outPorts.length-1),target:a.id,targetHandle:a.id+`_in`+(n.node(a.id).inPorts.length-1),relationship:e}}),s=[...r.graphNodes.values(),...i.graphNodes.values()];for(let{id:e}of s){let t=n.node(e);if(t.isCompound)continue;let r=Math.max(n.inEdges(e)?.length??0,n.outEdges(e)?.length??0);r>3&&(t.height+=(r-4)*14)}let c=n.edgeCount();if(c>5)for(let e of n.edges())n.setEdge(e,{...ys.edgeLabel,width:c>10?800:400});let l=applyDagreLayout(n),u=g(s,a(e=>e.id===e.portId),v(e=>[e.id,l(e.id)]));function nodeBounds(e){return u[e]??=g(n.children(e)??[],a(e=>!e.endsWith(bs)),M(e=>nodeBounds(e)),E(t=>{zi(t.length>0,`Node ${e} has no nested nodes`)}),D((e,t)=>({minY:Math.min(e.minY,t.position.y),maxY:Math.max(e.maxY,t.position.y+t.height)}),{minY:1/0,maxY:-1/0}),({minY:t,maxY:n})=>{let{position:{x:r},width:i}=l(e);return t-=ys.compound.paddingTop,n+=ys.compound.paddingBottom,{position:{x:r,y:t},width:i,height:n-t}})}function nodeLevel(e){let t=n.parent(e);return t?nodeLevel(t)+1:0}function nodeDepth(e){let t=n.children(e)??[];return t.length===0?0:1+Math.max(...t.map(nodeDepth))}let sortedPorts=(e,t,n)=>g(n,M((n,r)=>({port:e+`_`+t+r,topY:nodeBounds(n).position.y})),A(b(`topY`)),M(b(`port`))),d=0,f=0,p=s.map(({id:e})=>{let{element:r,inPorts:i,outPorts:a,column:o}=n.node(e),{position:s,width:c,height:l}=nodeBounds(e),u=n.parent(e),p=(n.children(e)??[]).filter(e=>!e.endsWith(bs));d=Math.min(d,s.x),f=Math.min(f,s.y);let m=t?Ii(r.scopedViews(),e=>e.id!==t.id)?.id??null:null,h=t?.findNodeWithElement(r.id),g=t&&!h?Ii(r.ancestors(),e=>!!t.findNodeWithElement(e.id))?.id:null,_=h??(g&&t?.findNodeWithElement(g));return Ji({id:e,parent:u??null,x:s.x,y:s.y,title:r.title,description:Yi(r.$element)??null,technology:r.technology,tags:[...r.tags],links:null,color:_?.color??r.color,shape:h?.shape??r.shape,icon:h?.icon??r.icon??`none`,modelRef:r.id,kind:r.kind,level:nodeLevel(e),labelBBox:{x:s.x,y:s.y,width:c,height:l},style:T({...(h??_)?.style,...r.$element.style},[`shape`,`color`,`icon`]),navigateTo:m,...p.length>0&&{depth:nodeDepth(e)},children:p,width:c,height:l,column:o,ports:{in:sortedPorts(e,`in`,i),out:sortedPorts(e,`out`,a)}})});return{bounds:{x:Math.min(d,0),y:Math.min(f,0),width:n.graph().width??100,height:n.graph().height??100},nodes:p,edges:n.edges().reduce((e,t)=>{let r=n.edge(t),i=t.name;if(!i)return e;let{name:a,source:s,target:c,relationship:l,sourceHandle:u,targetHandle:d}=h(o,e=>e.name===i),f=l.title??`untitled`,p=l.navigateTo?.id??null,m=Yi(l.$relationship)??null,g=l.technology??null;return e.push({id:a,source:s,sourceHandle:u,target:c,targetHandle:d,label:f,color:l.color,description:m,...p&&{navigateTo:p},...g&&{technology:g},points:r.points.map(e=>[e.x,e.y]),line:l.line,relationId:l.id,parent:null}),e},[])}}const xs=W.raw({display:`inline-flex`,alignItems:`center`,padding:`[6px 2px 0 2px]`,"& .mantine-Text-root":{color:`text/90`,fontSize:`xs`,fontWeight:`medium`,lineHeight:`1.2`}}),Ss=W({paddingLeft:`1`,gridColumn:1},xs),Cs=W({gridColumn:2},xs),ws=W({gridColumn:3,paddingRight:`1`},xs),Ts=`likec4-edge-label`,Es=U(Ts,W({display:`grid`,gridColumnStart:1,gridColumnEnd:4,borderBottom:`1px solid`,borderBottomColor:`default.border`,marginBottom:`0`,padding:`[0 4px 5px 4px]`,width:`100%`,"& .mantine-Text-root":{fontSize:`xxs`,fontWeight:`normal`,lineHeight:`xs`,color:`text.dimmed`}})),Ds=W({display:`contents`,[`&:last-child .${Ts}`]:{borderBottom:`none`,marginBottom:`0`},"& > *":{transition:`all 0.15s ease-in`},"&:is(:hover, [data-selected=true]) > *":{transition:`all 0.15s ease-out`,cursor:`pointer`,backgroundColor:`default.hover`}}),Os=W({display:`grid`,gridTemplateColumns:`1fr 30px 1fr`,gridAutoRows:`min-content max-content`,gap:`0`,alignItems:`stretch`});W({display:`grid`,gridTemplateColumns:`min-content 1fr`,gridAutoRows:`min-content max-content`,gap:`[10px 12px]`,alignItems:`baseline`,justifyItems:`start`});const ks=W({maxHeight:[`70vh`,`calc(100cqh - 70px)`]}),SelectEdge=e=>{let t=X(98),{edge:n,view:r}=e,i=useRelationshipDetails(),a=Ci(null),o;if(t[0]!==n||t[1]!==r.nodes){let t2;t[3]===n?t2=t[4]:(t2=e=>e.id===n.source,t[3]=n,t[4]=t2),o=r.nodes.find(t2),t[0]=n,t[1]=r.nodes,t[2]=o}else o=t[2];let s=o,c;if(t[5]!==n||t[6]!==r.nodes){let t3;t[8]===n?t3=t[9]:(t3=e=>e.id===n.target,t[8]=n,t[9]=t3),c=r.nodes.find(t3),t[5]=n,t[6]=r.nodes,t[7]=c}else c=t[7];let l=c,u=r.edges,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,t21,E,D,O,k,A,j,M,N;if(t[10]!==i||t[11]!==n||t[12]!==s||t[13]!==l||t[14]!==r.edges||t[15]!==r.nodes){D=Symbol.for(`react.early_return_sentinel`);bb0:{let t24;t[40]===r.nodes?t24=t[41]:(t24=e=>{let t=r.nodes.find(t=>t.id===e.source),n=r.nodes.find(t=>t.id===e.target);return t&&n?{id:e.id,source:t,target:n,label:e.label}:[]},t[40]=r.nodes,t[41]=t24);let e=u.flatMap(t24);if(!s||!l||e.length===0){D=null;break bb0}m=Ge,b=`bottom-start`,x=`md`,S=!0,C=!1,w=!0,t[42]===Symbol.for(`react.memo_cache_sentinel`)?(T=[`pointerdown`,`mousedown`,`click`],t[42]=T):T=t[42],t[43]===n?t21=t[44]:(t21=()=>{setTimeout(()=>{(a.current?.querySelector(`[data-edge-id="${n.id}"]`))?.scrollIntoView({behavior:`instant`,block:`nearest`})},100)},t[43]=n,t[44]=t21);let o,c;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(o={padding:`0.25rem 0.75rem`},c=Q(tn,{size:16}),t[45]=o,t[46]=c):(o=t[45],c=t[46]);let P;t[47]===s.color?P=t[48]:(P={"likec4-color":s.color},t[47]=s.color,t[48]=P);let I;t[49]===s.title?I=t[50]:(I=Q(H,{component:`span`,truncate:!0,children:s.title}),t[49]=s.title,t[50]=I);let L;t[51]!==P||t[52]!==I?(L=Q(F,{className:Ss,maw:160,p:0,mod:P,children:I}),t[51]=P,t[52]=I,t[53]=L):L=t[53];let R;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(R=Q(Fe,{color:`dark`,variant:`transparent`,size:`xs`,children:Q(It,{style:{width:`80%`}})}),t[54]=R):R=t[54];let z;t[55]===l.color?z=t[56]:(z={"likec4-color":l.color},t[55]=l.color,t[56]=z);let ee;t[57]===l.title?ee=t[58]:(ee=Q(H,{component:`span`,truncate:!0,children:l.title}),t[57]=l.title,t[58]=ee);let te;t[59]!==z||t[60]!==ee?(te=Q(F,{className:ws,maw:160,p:0,mod:z,children:ee}),t[59]=z,t[60]=ee,t[61]=te):te=t[61],t[62]!==L||t[63]!==te?(E=Q(Be,{children:$(_e,{size:`xs`,variant:`default`,fw:`500`,style:o,rightSection:c,children:[L,R,te]})}),t[62]=L,t[63]=te,t[64]=E):E=t[64],p=Pe,_=0,v=250,y=400,f=pe,M=ks,N=`y`,h=`never`,g=a,d=F,O=Os,k=`xs`,A=400;let t34;t[65]!==i||t[66]!==n?(t34=e=>$(`div`,{className:Ds,"data-selected":e.id===n.id,onClick:t=>{t.stopPropagation(),i.navigateTo(e.id)},children:[Q(F,{className:Ss,mod:{"edge-id":e.id,"likec4-color":e.source.color},children:Q(H,{component:`span`,truncate:!0,children:e.source.title})}),Q(F,{className:Cs,children:Q(Fe,{color:`dark`,variant:`transparent`,size:`xs`,children:Q(It,{style:{width:`80%`}})})}),Q(F,{className:ws,mod:{"likec4-color":e.target.color},children:Q(H,{component:`span`,truncate:!0,children:e.target.title})}),Q(F,{className:Es,children:Q(H,{component:`span`,truncate:!0,children:e.label||`untitled`})})]},e.id),t[65]=i,t[66]=n,t[67]=t34):t34=t[67],j=e.map(t34)}t[10]=i,t[11]=n,t[12]=s,t[13]=l,t[14]=r.edges,t[15]=r.nodes,t[16]=d,t[17]=f,t[18]=p,t[19]=m,t[20]=h,t[21]=g,t[22]=_,t[23]=v,t[24]=y,t[25]=b,t[26]=x,t[27]=S,t[28]=C,t[29]=w,t[30]=T,t[31]=t21,t[32]=E,t[33]=D,t[34]=O,t[35]=k,t[36]=A,t[37]=j,t[38]=M,t[39]=N}else d=t[16],f=t[17],p=t[18],m=t[19],h=t[20],g=t[21],_=t[22],v=t[23],y=t[24],b=t[25],x=t[26],S=t[27],C=t[28],w=t[29],T=t[30],t21=t[31],E=t[32],D=t[33],O=t[34],k=t[35],A=t[36],j=t[37],M=t[38],N=t[39];if(D!==Symbol.for(`react.early_return_sentinel`))return D;let P;t[68]!==d||t[69]!==O||t[70]!==k||t[71]!==A||t[72]!==j?(P=Q(d,{className:O,p:k,maw:A,children:j}),t[68]=d,t[69]=O,t[70]=k,t[71]=A,t[72]=j,t[73]=P):P=t[73];let I;t[74]!==f||t[75]!==h||t[76]!==g||t[77]!==P||t[78]!==M||t[79]!==N?(I=Q(f,{className:M,scrollbars:N,type:h,viewportRef:g,children:P}),t[74]=f,t[75]=h,t[76]=g,t[77]=P,t[78]=M,t[79]=N,t[80]=I):I=t[80];let L;t[81]!==p||t[82]!==_||t[83]!==v||t[84]!==y||t[85]!==I?(L=Q(p,{p:_,miw:v,maw:y,children:I}),t[81]=p,t[82]=_,t[83]=v,t[84]=y,t[85]=I,t[86]=L):L=t[86];let R;return t[87]!==m||t[88]!==b||t[89]!==x||t[90]!==S||t[91]!==C||t[92]!==w||t[93]!==T||t[94]!==t21||t[95]!==E||t[96]!==L?(R=$(m,{position:b,shadow:x,keepMounted:S,withinPortal:C,closeOnClickOutside:w,clickOutsideEvents:T,onOpen:t21,children:[E,L]}),t[87]=m,t[88]=b,t[89]=x,t[90]=S,t[91]=C,t[92]=w,t[93]=T,t[94]=t21,t[95]=E,t[96]=L,t[97]=R):R=t[97],R},As={element:hs,compound:gs},js={relationship:ms};function RelationshipDetails({actorRef:e}){let t=Ci(null);return t.current??={defaultNodes:[],defaultEdges:[]},Q(_s.Provider,{value:e,children:Q(Vn,{...t.current,children:Q(ti,{id:e.sessionId,inherit:!1,children:$($r,{children:[Q(Ps,{},`xyflow`),Q(Ms,{},`sync`)]})})})})}const selectSubject=e=>({...e.context.subject,viewId:e.context.viewId}),Ms=J(()=>{let e=X(19),t=useRelationshipDetailsActor(),n=(0,oi.useSelector)(t,selectSubject,Un),r=Kr(),i;e[0]!==r||e[1]!==n.viewId?(i=r.findView(n.viewId)??null,e[0]=r,e[1]=n.viewId,e[2]=i):i=e[2];let a=i,o;if(e[3]!==r||e[4]!==n||e[5]!==a){bb0:{let e;if(`edgeId`in n&&f(n.edgeId))Di(a,`view ${n.viewId} not found`),e=computeEdgeDetailsViewData([Ai(a.findEdge(n.edgeId),`edge ${n.edgeId} not found in ${n.viewId}`).id],a);else if(n.source&&n.target)e=computeRelationshipDetailsViewData({source:r.element(n.source),target:r.element(n.target)});else{o=null;break bb0}o=layoutRelationshipDetails(e,a)}e[3]=r,e[4]=n,e[5]=a,e[6]=o}else o=e[6];let s=o,c=zn(),l=Fn(),t2;e[7]!==t||e[8]!==l||e[9]!==c?(t2=()=>{l.viewportInitialized&&t.send({type:`xyflow.init`,instance:l,store:c})},e[7]=t,e[8]=l,e[9]=c,e[10]=t2):t2=e[10];let u;e[11]!==t||e[12]!==l.viewportInitialized||e[13]!==c?(u=[c,l.viewportInitialized,t],e[11]=t,e[12]=l.viewportInitialized,e[13]=c,e[14]=u):u=e[14],Y(t2,u);let t4,d;return e[15]!==t||e[16]!==s?(t4=()=>{s!==null&&t.send({type:`update.layoutData`,data:s})},d=[s,t],e[15]=t,e[16]=s,e[17]=t4,e[18]=d):(t4=e[17],d=e[18]),Y(t4,d),null}),Ns=e(({context:e})=>({initialized:e.initialized.xydata&&e.initialized.xyflow,nodes:e.xynodes,edges:e.xyedges}),`selector`),Ps=J(()=>{let e=X(44),t=useRelationshipDetails(),{initialized:n,nodes:r,edges:i}=useRelationshipDetailsState(Ns,Un),a=t.rootElementId,o=n?`initialized`:`not-initialized`,s;e[0]===o?s=e[1]:(s=U(o,`likec4-relationship-details`),e[0]=o,e[1]=s);let t3;e[2]===t?t3=e[3]:(t3=e=>{t.send({type:`xyflow.applyNodeChanges`,changes:e})},e[2]=t,e[3]=t3);let c=ve(t3),t5;e[4]===t?t5=e[5]:(t5=e=>{t.send({type:`xyflow.applyEdgeChanges`,changes:e})},e[4]=t,e[5]=t5);let l=ve(t5),t7;e[6]===t?t7=e[7]:(t7=(e,n)=>{e.stopPropagation(),t.send({type:`xyflow.nodeClick`,node:n})},e[6]=t,e[7]=t7);let u=ve(t7),t9;e[8]===t?t9=e[9]:(t9=(e,n)=>{e.stopPropagation(),t.send({type:`xyflow.edgeClick`,edge:n})},e[8]=t,e[9]=t9);let d=ve(t9),t11;e[10]===t?t11=e[11]:(t11=()=>{t.send({type:`xyflow.paneClick`})},e[10]=t,e[11]=t11);let f=ve(t11),t13;e[12]===t?t13=e[13]:(t13=()=>{t.send({type:`xyflow.paneDblClick`})},e[12]=t,e[13]=t13);let p=ve(t13),t15;e[14]===t?t15=e[15]:(t15=()=>{t.send({type:`xyflow.resized`})},e[14]=t,e[15]=t15);let m=ve(t15),t17;e[16]===t?t17=e[17]:(t17=(e,n)=>{n.data.hovered||t.send({type:`xyflow.edgeMouseEnter`,edge:n})},e[16]=t,e[17]=t17);let h=ve(t17),t19;e[18]===t?t19=e[19]:(t19=(e,n)=>{n.data.hovered&&t.send({type:`xyflow.edgeMouseLeave`,edge:n})},e[18]=t,e[19]=t19);let g=ve(t19),t21;e[20]===t?t21=e[21]:(t21=e=>{t.send({type:`xyflow.selectionChange`,...e})},e[20]=t,e[21]=t21);let _=ve(t21),v;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(v=Q(Fs,{}),e[22]=v):v=e[22];let t24;e[23]===t?t24=e[24]:(t24=e=>{e.stopPropagation(),t.close()},e[23]=t,e[24]=t24);let y;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(y=Q(dn,{}),e[25]=y):y=e[25];let b;e[26]===t24?b=e[27]:(b=Q(Bn,{position:`top-right`,children:Q(Oe,{variant:`default`,color:`gray`,onClick:t24,children:y})}),e[26]=t24,e[27]=b);let x;return e[28]!==t.rootElementId||e[29]!==i||e[30]!==r||e[31]!==d||e[32]!==f||e[33]!==p||e[34]!==m||e[35]!==h||e[36]!==s||e[37]!==g||e[38]!==_||e[39]!==b||e[40]!==c||e[41]!==l||e[42]!==u?(x=$(ar,{id:a,nodes:r,edges:i,className:s,nodeTypes:As,edgeTypes:js,onNodesChange:c,onEdgesChange:l,fitViewPadding:.05,onNodeClick:u,onEdgeClick:d,onPaneClick:f,onDoubleClick:p,onViewportResize:m,onEdgeMouseEnter:h,onEdgeMouseLeave:g,onSelectionChange:_,nodesDraggable:!1,nodesSelectable:!0,fitView:!1,pannable:!0,zoomable:!0,children:[v,b]}),e[28]=t.rootElementId,e[29]=i,e[30]=r,e[31]=d,e[32]=f,e[33]=p,e[34]=m,e[35]=h,e[36]=s,e[37]=g,e[38]=_,e[39]=b,e[40]=c,e[41]=l,e[42]=u,e[43]=x):x=e[43],x}),topLeftPanelselector=({context:e})=>({subject:e.subject,viewId:e.viewId}),Fs=J(()=>{let e=X(9),{subject:t,viewId:n}=useRelationshipDetailsState(topLeftPanelselector,Un),r=Kr(),i,a,o;if(e[0]!==r||e[1]!==t||e[2]!==n){a=Symbol.for(`react.early_return_sentinel`);bb0:{if(o=r.findView(n),!o||!o.isDiagram()){a=null;break bb0}let e=[...o.edges()];i=`edgeId`in t&&f(t.edgeId)?e.find(e=>e.id===t.edgeId):h(e,e=>e.source.element?.id===t.source&&e.target.element?.id===t.target)||h(e,e=>(e.source.element?.id===t.source||Oi(e.source.element?.id??`__`,t.source??`__`))&&(e.target.element?.id===t.target||Oi(e.target.element?.id??`__`,t.target??`__`)))}e[0]=r,e[1]=t,e[2]=n,e[3]=i,e[4]=a,e[5]=o}else i=e[3],a=e[4],o=e[5];if(a!==Symbol.for(`react.early_return_sentinel`))return a;let s=i;if(!s)return null;let c;return e[6]!==s.$edge||e[7]!==o.$view?(c=Q(TopLeftPanelInner,{edge:s.$edge,view:o.$view}),e[6]=s.$edge,e[7]=o.$view,e[8]=c):c=e[8],c}),TopLeftPanelInner=e=>{let t=X(25),{edge:n,view:r}=e,i=useRelationshipDetails(),a=n.id,[o,s,c]=ft(n.id),{history:l,current:u}=c,t2;t[0]!==a||t[1]!==o||t[2]!==s?(t2=()=>{o!==a&&s.set(a)},t[0]=a,t[1]=o,t[2]=s,t[3]=t2):t2=t[3];let d;t[4]===a?d=t[5]:(d=[a],t[4]=a,t[5]=d),Y(t2,d);let t4;t[6]!==i||t[7]!==a||t[8]!==o?(t4=()=>{o!==a&&i.navigateTo(o)},t[6]=i,t[7]=a,t[8]=o,t[9]=t4):t4=t[9];let f;t[10]===o?f=t[11]:(f=[o],t[10]=o,t[11]=f),Y(t4,f);let p=u>0,m=u+1<l.length,h;t[12]!==p||t[13]!==s?(h=p&&Q(Qr.div,{layout:!0,initial:{opacity:.05,transform:`translateX(-5px)`},animate:{opacity:1,transform:`translateX(0)`},exit:{opacity:.05,transform:`translateX(-10px)`},children:Q(Oe,{variant:`default`,color:`gray`,onClick:e=>{e.stopPropagation(),s.back()},children:Q(Ut,{})})},`back`),t[12]=p,t[13]=s,t[14]=h):h=t[14];let g;t[15]!==m||t[16]!==s?(g=m&&Q(Qr.div,{layout:!0,initial:{opacity:.05,transform:`translateX(5px)`},animate:{opacity:1,transform:`translateX(0)`},exit:{opacity:0,transform:`translateX(5px)`},children:Q(Oe,{variant:`default`,color:`gray`,onClick:e=>{e.stopPropagation(),s.forward()},children:Q(gn,{})})},`forward`),t[15]=m,t[16]=s,t[17]=g):g=t[17];let _;t[18]!==n||t[19]!==r?(_=Q(V,{gap:`xs`,wrap:`nowrap`,ml:`sm`,children:Q(SelectEdge,{edge:n,view:r})}),t[18]=n,t[19]=r,t[20]=_):_=t[20];let v;return t[21]!==h||t[22]!==g||t[23]!==_?(v=Q(Bn,{position:`top-left`,children:Q(V,{gap:4,wrap:`nowrap`,children:$($r,{mode:`popLayout`,children:[h,g,_]})})}),t[21]=h,t[22]=g,t[23]=_,t[24]=v):v=t[24],v},selectOverlays=e=>e.context.overlays.map(t=>{switch(t.type){case`relationshipsBrowser`:return e.children[t.id]?{type:t.type,actorRef:e.children[t.id]}:null;case`relationshipDetails`:return e.children[t.id]?{type:t.type,actorRef:e.children[t.id]}:null;case`elementDetails`:return e.children[t.id]?{type:t.type,actorRef:e.children[t.id]}:null;default:ji(t)}}).filter(r),compareSelectOverlays=(e,t)=>e.length===t.length&&e.every((e,n)=>e.actorRef===t[n].actorRef);function Overlays(e){let t=X(22),{overlaysActorRef:n}=e,r=q(),i=(0,oi.useSelector)(n,selectOverlays,compareSelectOverlays),a=ei()??!1,o;t[0]===i?o=t[1]:(o=i.some(_temp$3),t[0]=i,t[1]=o);let s=o,t2;t[2]!==r||t[3]!==s||t[4]!==a?(t2=()=>{let e=r.getContext().xystore.getState().domNode?.querySelector(`.react-flow__renderer`);if(!e||a)return;let t=Jr(e,{opacity:s?.7:1,filter:s?`grayscale(1)`:`grayscale(0)`,transform:s?`perspective(400px) translateZ(-12px) translateY(3px)`:`translateY(0)`},{duration:s?.35:.17}),n=null;return s||(n=setTimeout(()=>{e.style.transform=``,e.style.filter=``,n=null},450)),()=>{n&&clearTimeout(n),t.stop()}},t[2]=r,t[3]=s,t[4]=a,t[5]=t2):t2=t[5];let c;t[6]===s?c=t[7]:(c=[s],t[6]=s,t[7]=c),Y(t2,c);let t4;t[8]===n?t4=t[9]:(t4=e=>{n.send({type:`close`,actorId:e.id})},t[8]=n,t[9]=t4);let l=t4,u;if(t[10]!==l||t[11]!==i){let t6;t[13]===l?t6=t[14]:(t6=(e,t)=>{switch(e.type){case`relationshipsBrowser`:return Q(ps,{overlayLevel:t,onClose:()=>l(e.actorRef),children:Q(RelationshipsBrowser,{actorRef:e.actorRef})},e.actorRef.sessionId);case`relationshipDetails`:return Q(ps,{overlayLevel:t,onClose:()=>l(e.actorRef),children:Q(RelationshipDetails,{actorRef:e.actorRef})},e.actorRef.sessionId);case`elementDetails`:return Q(ElementDetails,{actorRef:e.actorRef,onClose:()=>l(e.actorRef)},e.actorRef.sessionId);default:ji(e)}},t[13]=l,t[14]=t6),u=i.map(t6),t[10]=l,t[11]=i,t[12]=u}else u=t[12];let d=u,t6;t[15]===n?t6=t[16]:(t6=()=>n.send({type:`close.all`}),t[15]=n,t[16]=t6);let f;t[17]===d?f=t[18]:(f=Q(ti,{children:Q($r,{mode:`popLayout`,children:d})}),t[17]=d,t[18]=f);let p;return t[19]!==t6||t[20]!==f?(p=Q(Sr.Overlays,{children:Q(Ar,{onReset:t6,children:f})}),t[19]=t6,t[20]=f,t[21]=p):p=t[21],p}function _temp$3(e){return e.type===`elementDetails`}e(_temp$3,`_temp`);const Is=Er(e=>e.children.search??null);function useSearchActorRef(){return yr(Is,Object.is)}const Ls=gi(null);function useSearchContext(){let e=yi(Ls);if(!e)throw Error(`useSearchContext must be used within a SearchContext.Provider`);return e}function normalizeSearch(e){if(e===``)return e;let t=e.trim().toLowerCase();return t.startsWith(`#`)&&t.length<=2?``:t.length>1?t:``}function useNormalizedSearch(){return bi(useSearchContext().normalizedSearch)}function useUpdateSearch(){let e=X(2),{setSearchValue:t}=useSearchContext(),t0;return e[0]===t?t0=e[1]:(t0=e=>{t(e)},e[0]=t,e[1]=t0),t0}const Rs=W.raw({outline:`none`,background:`mantine.colors.primary[8]`,borderColor:`mantine.colors.primary[9]`}),zs=`.mantine-Tree-node:focus > .mantine-Tree-label &`,Bs=W.raw({display:`flex`,width:`100%`,background:`body`,rounded:`sm`,padding:`[12px 8px 12px 14px]`,minHeight:`60px`,gap:`2`,border:`1px solid`,borderColor:`default.border`,_hover:{...Rs,borderColor:`mantine.colors.primary[9]`,background:`mantine.colors.primary[8]/60`},_focus:Rs,[zs]:Rs,_dark:{borderColor:`transparent`,background:`mantine.colors.dark[6]/80`},_light:{background:`mantine.colors.white/80`,_hover:{borderColor:`mantine.colors.primary[6]`,backgroundColor:`mantine.colors.primary[5]`}}}),Vs=`likec4-focusable`,Hs={ref:`var(--likec4-icon-size, 24px)`},Us=W.raw({color:{base:`text.dimmed`,_light:`mantine.colors.gray[5]`,_groupHover:`mantine.colors.primary[0]`,_groupFocus:`mantine.colors.primary[0]`},[zs]:{color:`mantine.colors.primary[0]`},flex:`0 0 ${Hs.ref}`,height:Hs.ref,width:Hs.ref,display:`flex`,alignItems:`center`,justifyContent:`center`,alignSelf:`flex-start`,"--ti-size":Hs.ref,"& svg, & img":{width:`100%`,height:`auto`,maxHeight:`100%`,pointerEvents:`none`},"& img":{objectFit:`contain`},"&.likec4-shape-icon svg":{strokeWidth:1.5}}),Ws=W.raw({fontSize:`16px`,fontWeight:`medium`,lineHeight:`1.1`,":where([data-disabled]) &":{opacity:.4},color:{base:`mantine.colors.dark[1]`,_light:`mantine.colors.gray[7]`,_groupHover:{base:`mantine.colors.primary[1]`,_light:`white`},_groupFocus:{base:`mantine.colors.primary[1]`,_light:`white`}},[zs]:{color:{base:`mantine.colors.primary[1]`,_light:`white`}}}),Gs=W.raw({color:{base:`text.dimmed`,_groupHover:{base:`mantine.colors.primary[1]`,_light:`mantine.colors.primary[0]`},_groupFocus:`mantine.colors.primary[0]`},[zs]:{color:`mantine.colors.primary[0]`}}),Ks=W.raw(Gs,{marginTop:`1`,fontSize:`12px`,lineHeight:`1.4`,":where([data-disabled]) &":{opacity:.85}}),qs=W({width:`100%`,height:`100%`,border:`2px dashed`,borderColor:`default.border`,rounded:`md`,display:`flex`,justifyContent:`center`,alignItems:`center`,fontSize:`md`,color:`text.dimmed`,padding:`md`,paddingBlock:`xl`}),Js=St({slots:[`root`,`icon`,`title`,`description`,`descriptionColor`],className:`search-button`,base:{root:Bs,icon:Us,title:Ws,description:Ks,descriptionColor:Gs}}),Ys=`@container likec4-tree (max-width: 450px)`,Xs=W({outline:`none`,marginBottom:`2`}),Zs=W(kt.raw({containerName:`likec4-tree`}),{containerType:`inline-size`,height:`100%`}),Qs=W({display:`flex`,alignItems:`baseline`,outline:`none !important`,gap:`1`}),$s=W({marginTop:`2`}),ec=W({color:`text.dimmed`}),tc=W({[Ys]:{flexDirection:`column-reverse`,alignItems:`flex-start`,gap:`0.5`}}),nc=W({fontSize:`10px`,lineHeight:`1.3`,display:`block`,fontWeight:`medium`,whiteSpace:`nowrap`,padding:`[1px 5px]`,borderRadius:`sm`,background:`mantine.colors.dark[9]/30`,_light:{background:`mantine.colors.gray[3]/20`}}),rc=W({"--likec4-icon-size":`24px`,[Ys]:{"--likec4-icon-size":`18px`}}),ic=W({flex:0,fontSize:`10px`,fontWeight:`medium`,whiteSpace:`nowrap`,lineHeight:`1.1`,[Ys]:{display:`none`}});function stopAndPrevent(e){e.stopPropagation(),e.preventDefault()}function centerY(e){let t=e.getBoundingClientRect();return t.y+Math.floor(t.height/2)}function moveFocusToSearchInput(e){if(!e){console.error(`moveFocusToSearchInput: from is null or undefined`);return}let t=e.getRootNode();if(!s(t.querySelector)){console.error(`moveFocusToSearchInput: root.querySelector is not a function`);return}let n=t.querySelector(`[data-likec4-search-input]`);if(n){let e=n.value.length;n.focus(),n.setSelectionRange(e,e)}}function focusToFirstFoundElement(e){if(!e){console.error(`focusToFirstFoundElement: from is null or undefined`);return}let t=e.getRootNode();if(!s(t.querySelector)){console.error(`focusToFirstFoundElement: root.querySelector is not a function`);return}t.querySelector(`[data-likec4-search] .${Vs}`)?.focus()}function queryAllFocusable(e,t,n=`.${Vs}`){if(!e)return console.error(`queryAllFocusable: from is null or undefined`),[];let r=e.getRootNode();return s(r.querySelectorAll)?[...r.querySelectorAll(`[data-likec4-search-${t}] ${n}`)]:(console.error(`queryAllFocusable: root.querySelectorAll is not a function`),[])}const ac=U(W({flexWrap:`nowrap`,display:`flex`,"&[data-disabled] .mantine-ThemeIcon-root":{opacity:.45}}),`likec4-view-btn`);W({marginTop:`1`,fontSize:`13px`,lineHeight:`1.4`,":where(.likec4-view-btn[data-disabled]) &":{opacity:.85}});const NothingFound=()=>{let e=X(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=Q(wt,{className:qs,children:`Nothing found`}),e[0]=t):t=e[0],t},useFoundViews=()=>{let e=X(8),{currentViewId:t}=useSearchContext(),n=Kr(),r=useNormalizedSearch(),i;if(e[0]!==n||e[1]!==r){if(i=[...n.views()],r)if(r.startsWith(`kind:`)){let t;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[3]=t):t=e[3],i=t}else{let e=r.startsWith(`#`)?r.slice(1):null;i=i.filter(t=>{if(e)return t.tags.some(t=>t.toLocaleLowerCase().includes(e));let n=Yi(t.$view)?.md||` `;return`${t.id} ${t.title} ${n}`.toLocaleLowerCase().includes(r)})}e[0]=n,e[1]=r,e[2]=i}else i=e[2];let a;return e[4]!==t||e[5]!==r||e[6]!==i?(a=[i,r,t],e[4]=t,e[5]=r,e[6]=i,e[7]=a):a=e[7],a},oc=J(()=>{let e=Ci(null),[t,n,r]=useFoundViews();return $(Re,{ref:e,renderRoot:e=>Q(qr,{layout:!0,...e}),gap:8,"data-likec4-search-views":!0,onKeyDown:t=>{if(t.key===`ArrowLeft`||t.key===`ArrowRight`){let n=t.target.getBoundingClientRect().y,r=queryAllFocusable(e.current,`elements`,`.likec4-element-button`),i=r.length>1?r.find((e,t,r)=>centerY(e)>n||t===r.length-1):null;i??=m(r),i&&(t.stopPropagation(),i.focus());return}},children:[t.length===0&&Q(NothingFound,{}),t.length>0&&Q(at,{children:Q(B,{"data-likec4-view":!0,tabIndex:-1,onFocus:t=>{t.stopPropagation(),moveFocusToSearchInput(e.current)}})}),t.map((e,t)=>Q(qr,{layoutId:`@view${e.id}`,children:Q(ViewButton,{view:e,currentViewId:r??``,search:n,tabIndex:t===0?0:-1})},e.id))]})}),sc=Js();function ViewButton(e){let t=X(50),n,r,i,a,o,s,c;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7]):({className:n,view:c,loop:s,search:o,focusOnElement:i,currentViewId:r,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c);let l=s===void 0?!1:s,u=useSearchContext(),d=c.id,f=d===r,t2;t[8]!==u||t[9]!==i||t[10]!==d?(t2=()=>{u.navigateTo(d,i)},t[8]=u,t[9]=i,t[10]=d,t[11]=t2):t2=t[11];let p=t2,m;t[12]===n?m=t[13]:(m=U(sc.root,`group`,Vs,ac,n),t[12]=n,t[13]=m);let h=c.id,g;t[14]!==i||t[15]!==f?(g=f&&!i&&{"data-disabled":!0},t[14]=i,t[15]=f,t[16]=g):g=t[16];let t6;t[17]===p?t6=t[18]:(t6=e=>{e.stopPropagation(),p()},t[17]=p,t[18]=t6);let t7;t[19]===p?t7=t[20]:(t7=e=>{e.nativeEvent.code===`Space`&&(e.stopPropagation(),p())},t[19]=p,t[20]=t7);let _;t[21]!==l||t[22]!==t7?(_=z({siblingSelector:`[data-likec4-view]`,parentSelector:`[data-likec4-search-views]`,activateOnFocus:!1,loop:l,orientation:`vertical`,onKeyDown:t7}),t[21]=l,t[22]=t7,t[23]=_):_=t[23];let v;t[24]===c?v=t[25]:(v=Q(Fe,{variant:`transparent`,className:sc.icon,children:c.isDeploymentView()?Q(sn,{stroke:1.8}):Q(rn,{stroke:1.8})}),t[24]=c,t[25]=v);let y;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(y={flexGrow:1},t[26]=y):y=t[26];let b;t[27]!==o||t[28]!==c.titleOrUntitled?(b=Q(le,{component:`div`,highlight:o,className:sc.title,children:c.titleOrUntitled}),t[27]=o,t[28]=c.titleOrUntitled,t[29]=b):b=t[29];let x;t[30]===f?x=t[31]:(x=f&&Q(Ke,{size:`xs`,fz:9,radius:`sm`,children:`current`}),t[30]=f,t[31]=x);let S;t[32]!==b||t[33]!==x?(S=$(V,{gap:`xs`,wrap:`nowrap`,align:`center`,children:[b,x]}),t[32]=b,t[33]=x,t[34]=S):S=t[34];let C=c.description.nonEmpty?o:``,w=c.description.text||`No description`,T;t[35]!==C||t[36]!==w?(T=Q(le,{highlight:C,component:`div`,className:sc.description,lineClamp:1,children:w}),t[35]=C,t[36]=w,t[37]=T):T=t[37];let E;t[38]!==S||t[39]!==T?(E=$(wt,{style:y,children:[S,T]}),t[38]=S,t[39]=T,t[40]=E):E=t[40];let D;return t[41]!==a||t[42]!==E||t[43]!==m||t[44]!==g||t[45]!==t6||t[46]!==_||t[47]!==v||t[48]!==c.id?(D=$(B,{...a,className:m,"data-likec4-view":h,...g,onClick:t6,onKeyDown:_,children:[v,E]}),t[41]=a,t[42]=E,t[43]=m,t[44]=g,t[45]=t6,t[46]=_,t[47]=v,t[48]=c.id,t[49]=D):D=t[49],D}function useElementsColumnData(){let e=X(7),t=Kr(),n;e[0]===t?n=e[1]:(n=g(t.elements(),Fi(_temp$2),Ri(_temp2$1),Gi()),e[0]=t,e[1]=n);let r=n,i=useNormalizedSearch(),o;if(e[2]!==r||e[3]!==i){let t=i.split(`.`),n;if(i===``||i===`kind:`)n=r;else if(i.startsWith(`kind:`)){let e=i.slice(5);n=a(r,t=>{let{element:n}=t;return n.kind.toLocaleLowerCase()[e.length>4?`startsWith`:`includes`](e)})}else if(i.startsWith(`#`)){let e=i.slice(1);n=a(r,t=>{let{element:n}=t;return n.tags.some(t=>t.toLocaleLowerCase().includes(e))})}else if(k(t,2)){let satisfies=e=>{let n=e.id.toLocaleLowerCase().split(`.`);if(n.length<t.length)return!1;let r=0;for(let e=0;e<n.length;e++)if(n[e].includes(t[r])){if(r++,r===t.length)return!0;continue}return!1};n=a(r,e=>{let{element:t}=e;return satisfies(t)})}else{let t2;e[5]===i?t2=e[6]:(t2=e=>{let{element:t}=e;return(t.title+` `+t.name+` `+(t.summary.md||``)).toLocaleLowerCase().includes(i)},e[5]=i,e[6]=t2),n=a(r,t2)}let s={},{hash:c,all:l,roots:u}=g(n,D((e,t)=>{t.children=[],s[t.value]=t;let n=e.all.findLast(e=>Bi(e.value,t.value));return n?n.children.push(t):e.roots.push(t),e.all.push(t),e.hash=Wi(e.hash+t.value),e},{hash:`empty`,all:[],roots:[]}));o={hash:c,all:l,byid:s,roots:u,searchTerms:k(t,1)?t:[i]},e[2]=r,e[3]=i,e[4]=o}else o=e[4];return o}function _temp2$1(e){return{label:e.title,value:e.id,element:e,viewsCount:[...e.views()].length,children:[]}}e(_temp2$1,`_temp2`);function _temp$2(e){return!e.imported}e(_temp$2,`_temp`);const cc=Js(),lc=J(()=>{let e=X(4),t=useElementsColumnData(),n=useHandleElementSelection();if(t.all.length===0){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=Q(NothingFound,{}),e[0]=t):t=e[0],t}let r;return e[1]!==t||e[2]!==n?(r=Q(ElementsTree,{data:t,handleClick:n}),e[1]=t,e[2]=n,e[3]=r):r=e[3],r});function ElementsTree({data:{searchTerms:e,all:t,byid:n,hash:r,roots:i},handleClick:a}){let o=Ve({multiple:!1});Y(()=>{o.collapseAllNodes();for(let e of t)e.children.length>0&&o.expand(e.value)},[r]);let s=K(e=>{let t=e.target,r=t.getAttribute(`data-value`),s=!!r&&n[r];if(s){if(e.key===`ArrowUp`){r===i[0]?.value&&(stopAndPrevent(e),moveFocusToSearchInput(t));return}if(e.key===`ArrowRight`){if(s.children.length>0&&o.expandedState[r]===!1)return;let n=(e.target.querySelector(`.mantine-Tree-label`)??t).getBoundingClientRect().y,i=queryAllFocusable(t,`views`),a=i.length>1?i.find((e,t,r)=>centerY(e)>n||t===r.length-1):null;a??=m(i),a&&(stopAndPrevent(e),a.focus());return}if(e.key===` `||e.key===`Enter`){stopAndPrevent(e),a(s.element);return}}});return Q(Ze,{"data-likec4-search-elements":!0,allowRangeSelection:!1,clearSelectionOnOutsideClick:!0,selectOnClick:!1,tree:o,data:i,levelOffset:`lg`,classNames:{root:Zs,node:U(Vs,Xs),label:Qs,subtree:$s},onKeyDownCapture:s,renderNode:t=>Q(ElementTreeNode,{...t,searchTerms:e,handleClick:a})})}function ElementTreeNode(e){let t=X(66),{node:n,elementProps:r,hasChildren:i,expanded:a,handleClick:o,searchTerms:s}=e,{label:c,element:l,viewsCount:u}=n,d;t[0]!==l.icon||t[1]!==l.id||t[2]!==l.shape||t[3]!==l.title?(d=Dn({element:{id:l.id,title:l.title,shape:l.shape,icon:l.icon},className:U(cc.icon,rc)}),t[0]=l.icon,t[1]=l.id,t[2]=l.shape,t[3]=l.title,t[4]=d):d=t[4];let f=d,p=`@tree.${n.value}`,m=r,h;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(h=U(ec),t[5]=h):h=t[5];let g=i?`visible`:`hidden`,_;t[6]===g?_=t[7]:(_={visibility:g},t[6]=g,t[7]=_);let v=`rotate(${a?`90deg`:`0`})`,y;t[8]===v?y=t[9]:(y=Q(gn,{stroke:3.5,style:{transition:`transform 150ms ease`,transform:v,width:`100%`}}),t[8]=v,t[9]=y);let b;t[10]!==_||t[11]!==y?(b=Q(Oe,{variant:`transparent`,size:16,tabIndex:-1,className:h,style:_,children:y}),t[10]=_,t[11]=y,t[12]=b):b=t[12];let x=l.id,S;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(S=U(cc.root,`group`,`likec4-element-button`),t[13]=S):S=t[13];let C;t[14]!==l||t[15]!==a||t[16]!==o||t[17]!==i||t[18]!==u?(C=u>0&&{onClick:e=>{(!i||a)&&(e.stopPropagation(),o(l))}},t[14]=l,t[15]=a,t[16]=o,t[17]=i,t[18]=u,t[19]=C):C=t[19];let w;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(w={flexGrow:1},t[20]=w):w=t[20];let T;t[21]!==c||t[22]!==s?(T=Q(le,{component:`div`,highlight:s,className:cc.title,children:c}),t[21]=c,t[22]=s,t[23]=T):T=t[23];let E=l.id,D;t[24]===l.id?D=t[25]:(D=l.id.includes(`.`),t[24]=l.id,t[25]=D);let O=!D,k;t[26]===s?k=t[27]:(k=N(s),t[26]=s,t[27]=k);let A;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(A=U(nc,cc.descriptionColor),t[28]=A):A=t[28];let j;t[29]===l.id?j=t[30]:(j=Vi(l.id),t[29]=l.id,t[30]=j);let M;t[31]!==k||t[32]!==j?(M=Q(le,{component:`div`,highlight:k,className:A,children:j}),t[31]=k,t[32]=j,t[33]=M):M=t[33];let P;t[34]!==l.id||t[35]!==O||t[36]!==M?(P=Q(Ne,{label:E,withinPortal:!1,fz:`xs`,disabled:O,children:M}),t[34]=l.id,t[35]=O,t[36]=M,t[37]=P):P=t[37];let I;t[38]!==T||t[39]!==P?(I=$(V,{gap:`xs`,wrap:`nowrap`,align:`center`,className:tc,children:[T,P]}),t[38]=T,t[39]=P,t[40]=I):I=t[40];let L;t[41]!==l.summary.nonEmpty||t[42]!==s?(L=l.summary.nonEmpty?s:[],t[41]=l.summary.nonEmpty,t[42]=s,t[43]=L):L=t[43];let R=l.summary.nonEmpty?l.summary.text:`No description`,z;t[44]!==L||t[45]!==R?(z=Q(le,{component:`div`,highlight:L,className:cc.description,lineClamp:1,children:R}),t[44]=L,t[45]=R,t[46]=z):z=t[46];let ee;t[47]!==I||t[48]!==z?(ee=$(F,{style:w,children:[I,z]}),t[47]=I,t[48]=z,t[49]=ee):ee=t[49];let te;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(te=U(ic,cc.descriptionColor),t[50]=te):te=t[50];let ne;t[51]===u?ne=t[52]:(ne=u===0?`No views`:$(Z,{children:[u,` view`,u>1?`s`:``]}),t[51]=u,t[52]=ne);let re;t[53]===ne?re=t[54]:(re=Q(Dt,{as:`div`,className:te,size:`xs`,children:ne}),t[53]=ne,t[54]=re);let ie;t[55]!==l.id||t[56]!==f||t[57]!==C||t[58]!==ee||t[59]!==re?(ie=$(B,{component:Yr,layout:!0,tabIndex:-1,"data-value":x,className:S,...C,children:[f,ee,re]}),t[55]=l.id,t[56]=f,t[57]=C,t[58]=ee,t[59]=re,t[60]=ie):ie=t[60];let ae;return t[61]!==p||t[62]!==m||t[63]!==ie||t[64]!==b?(ae=$(qr,{layoutId:p,...m,children:[b,ie]}),t[61]=p,t[62]=m,t[63]=ie,t[64]=b,t[65]=ae):ae=t[65],ae}function useHandleElementSelection(){let e=X(2),t=useSearchContext(),t0;return e[0]===t?t0=e[1]:(t0=e=>{let n=[...e.views()];if(n.length===0)return;let r=e.id,i=O(n)?.id;if(!i){t.openPickView(r);return}t.navigateTo(i,r)},e[0]=t,e[1]=t0),K(t0)}const uc=W({border:`transparent`,background:{base:`transparent`,_focusWithin:{base:`mantine.colors.gray[4]/55 !important`,_dark:`mantine.colors.dark[5]/55 !important`},_groupHover:{base:`mantine.colors.gray[3]/35`,_dark:`mantine.colors.dark[5]/35`}}}),dc=W({position:`absolute`,inset:`0`,width:`100%`,height:`100%`,backgroundColor:`[rgb(34 34 34 / 0.7)]`,zIndex:902,backdropFilter:`auto`,backdropBlur:`10px`,_light:{backgroundColor:`[rgb(255 255 255 / 0.6)]`}}),fc=W({position:`absolute`,top:`[2rem]`,left:`[50%]`,width:`100%`,maxWidth:`600px`,minWidth:`200px`,transform:`translateX(-50%)`,zIndex:903}),pc=W({marginTop:`2`,"& + &":{marginTop:`[32px]`}});W({height:[`100%`,`100cqh`],"& .mantine-ScrollArea-viewport":{minHeight:`100%`,"& > div":{minHeight:`100%`,height:`100%`}}});function PickView(e){let t=X(38),{elementFqn:n}=e,r=useSearchContext(),i=r.currentViewId??``,a=Kr(),o,s;if(t[0]!==n||t[1]!==a){let e=a.element(n);s=[],o=[];for(let t of e.views())t.viewOf===e?s.push(t):o.push(t);t[0]=n,t[1]=a,t[2]=o,t[3]=s}else o=t[2],s=t[3];let t2;t[4]===r?t2=t[5]:(t2=()=>{r.closePickView()},t[4]=r,t[5]=t2);let c=t2,t3;t[6]===c?t3=t[7]:(t3=e=>{try{e.key===`Escape`&&(e.stopPropagation(),e.preventDefault(),c())}catch(e){console.warn(e)}},t[6]=c,t[7]=t3);let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l={capture:!0},t[8]=l):l=t[8],ie(`keydown`,ve(t3),l);let u;t[9]===c?u=t[10]:(u=Q(qr,{className:dc,onClick:e=>{e.stopPropagation(),c()}},`pickview-backdrop`),t[9]=c,t[10]=u);let d,f;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d={opacity:0,scale:.95,originY:0,translateX:`-50%`,translateY:-20},f={opacity:1,scale:1,translateY:0},t[11]=d,t[12]=f):(d=t[11],f=t[12]);let p;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(p={opacity:0,scale:.98,translateY:-20,transition:{duration:.1}},t[13]=p):p=t[13];let m;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(m=Q(Je,{order:2,lh:1,children:`Select view`}),t[14]=m):m=t[14];let t10;t[15]===c?t10=t[16]:(t10=e=>{e.stopPropagation(),c()},t[15]=c,t[16]=t10);let h;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(h=Q(dn,{}),t[17]=h):h=t[17];let g;t[18]===t10?g=t[19]:(g=$(V,{px:`sm`,py:`md`,justify:`space-between`,children:[m,Q(Oe,{size:`md`,variant:`default`,onClick:t10,children:h})]}),t[18]=t10,t[19]=g);let _;t[20]!==i||t[21]!==n||t[22]!==s?(_=s.length>0&&$(Re,{gap:`sm`,px:`sm`,className:pc,children:[Q(Je,{order:6,c:`dimmed`,children:`scoped views of the element`}),s.map((e,t)=>Q(ViewButton,{view:e,currentViewId:i,search:``,loop:!0,focusOnElement:n,mod:{autofocus:t===0}},e.id))]}),t[20]=i,t[21]=n,t[22]=s,t[23]=_):_=t[23];let v;t[24]!==i||t[25]!==n||t[26]!==o||t[27]!==s.length?(v=o.length>0&&$(Re,{gap:`sm`,px:`sm`,className:pc,children:[Q(Je,{order:6,c:`dimmed`,children:`views including this element`}),o.map((e,t)=>Q(ViewButton,{view:e,currentViewId:i,search:``,loop:!0,focusOnElement:n,mod:{autofocus:t===0&&s.length===0}},e.id))]}),t[24]=i,t[25]=n,t[26]=o,t[27]=s.length,t[28]=v):v=t[28];let y;t[29]!==_||t[30]!==v?(y=$(pe,{mah:`calc(100vh - 110px)`,type:`never`,children:[_,v]}),t[29]=_,t[30]=v,t[31]=y):y=t[31];let b;t[32]!==g||t[33]!==y?(b=Q(Me,{children:$(qr,{initial:d,animate:f,exit:p,className:fc,"data-likec4-search-views":!0,children:[g,y]},`pickview`)}),t[32]=g,t[33]=y,t[34]=b):b=t[34];let x;return t[35]!==b||t[36]!==u?(x=$(Z,{children:[u,b]}),t[35]=b,t[36]=u,t[37]=x):x=t[37],x}function SearchByTags(){let e=X(18),t=Ci(null),n=Kr().tagsSortedByUsage,r=useUpdateSearch(),i=useNormalizedSearch(),a=n.length,o=!1;if(i.startsWith(`#`)){let e=i.slice(1);n=n.filter(t=>{let{tag:n}=t;return n.toLocaleLowerCase().includes(e)}),o=n.length!==a}if(n.length===0)return null;n=n.slice(0,15);let s=G,c;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(c={gap:`md`,paddingLeft:`[48px]`,flexWrap:`nowrap`},e[0]=c):c=e[0];let l=G,u=o?1:.3,d=o?0:.9,f,p;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(f={opacity:1,grayscale:0},p={opacity:1,grayscale:0},e[1]=f,e[2]=p):(f=e[1],p=e[2]);let m;e[3]!==u||e[4]!==d?(m={gap:`1.5`,flexWrap:`wrap`,opacity:u,grayscale:d,filter:`auto`,transition:`fast`,_groupHover:f,_groupFocusWithin:p},e[3]=u,e[4]=d,e[5]=m):m=e[5];let h=n.map(e=>{let{tag:n}=e;return Q(jr,{tag:n,className:W({userSelect:`none`,cursor:`pointer`}),onClick:e=>{e.stopPropagation(),r(`#${n}`),setTimeout(()=>{focusToFirstFoundElement(t.current)},350)}},n)}),g;e[6]!==l||e[7]!==m||e[8]!==h?(g=Q(l,{css:m,children:h}),e[6]=l,e[7]=m,e[8]=h,e[9]=g):g=e[9];let _;e[10]!==o||e[11]!==r?(_=o&&Q(_e,{size:`compact-xs`,variant:`light`,onClick:e=>{e.stopPropagation(),r(``),moveFocusToSearchInput(t.current)},rightSection:Q(dn,{size:14}),children:`Clear`}),e[10]=o,e[11]=r,e[12]=_):_=e[12];let v;return e[13]!==s||e[14]!==c||e[15]!==g||e[16]!==_?(v=$(s,{ref:t,css:c,children:[g,_]}),e[13]=s,e[14]=c,e[15]=g,e[16]=_,e[17]=v):v=e[17],v}function startingWithKind(e){return e.match(/^(k|ki|kin|kind|kind:)$/)!=null}const mc=[`#`,`kind:`],hc=J(()=>{let e=useSearchContext(),t=Kr(),n=Ci(null),{ref:r,focused:i}=ut(),{searchValue:a,setSearchValue:o}=e,s=ye({scrollBehavior:`smooth`,loop:!1});ie(`keydown`,e=>{try{!i&&(e.key===`Backspace`||e.key.startsWith(`Arrow`)||e.key.match(/^\p{L}$/u))&&moveFocusToSearchInput(n.current)}catch(e){console.warn(e)}});let c=[],l=!1;switch(!0){case a.startsWith(`#`):{let e=a.toLocaleLowerCase().slice(1),n=t.tags.filter(t=>t.toLocaleLowerCase().includes(e));n.length===0?(l=!1,c=[Q(ke,{children:`No tags found`},`empty-tags`)]):(l=n.some(t=>t.toLocaleLowerCase()===e),c=n.map(e=>$(P,{value:`#${e}`,children:[Q(H,{component:`span`,opacity:.5,mr:1,fz:`sm`,children:`#`}),e]},e)));break}case a.startsWith(`kind:`):case startingWithKind(a):{let e=a.length>5?a.slice(5).toLocaleLowerCase():``,n=y(t.specification.elements);e&&(n=n.filter(t=>t.toLocaleLowerCase().includes(e))),n.length===0?(l=!1,c=[Q(ke,{children:`No kinds found`},`empty-kinds`)]):(l=n.some(t=>t.toLocaleLowerCase()===e),c=n.map(e=>$(P,{value:`kind:${e}`,children:[Q(H,{component:`span`,opacity:.5,mr:1,fz:`sm`,children:`kind:`}),e]},e)));break}}return $(be,{onOptionSubmit:e=>{o(e),s.resetSelectedOption(),mc.includes(e)||(s.closeDropdown(),setTimeout(()=>{focusToFirstFoundElement(n.current)},350))},width:`max-content`,position:`bottom-start`,shadow:`md`,offset:{mainAxis:4,crossAxis:50},store:s,withinPortal:!1,children:[Q(xe,{children:Q(Xe,{ref:ne(n,r),placeholder:`Search by title, description or start with # or kind:`,autoFocus:!0,"data-autofocus":!0,"data-likec4-search-input":!0,tabIndex:0,classNames:{input:uc},size:`lg`,value:a,leftSection:Q(xn,{style:{width:qe(20)},stroke:2}),rightSection:Q(Xe.ClearButton,{onClick:t=>{t.stopPropagation(),a===``||a===e.openedWithSearch?e.close():o(``)}}),rightSectionPointerEvents:`auto`,onChange:e=>{o(e.currentTarget.value),s.openDropdown(),s.updateSelectedOptionIndex()},onClick:()=>s.openDropdown(),onFocus:()=>s.openDropdown(),onBlur:()=>s.closeDropdown(),onKeyDownCapture:e=>{if(e.key===`Tab`){switch(!0){case s.getSelectedOptionIndex()>=0:return s.clickSelectedOption(),stopAndPrevent(e);case c.length===1:return s.selectFirstOption()&&s.clickSelectedOption(),stopAndPrevent(e);case startingWithKind(a):return o(`kind:`),stopAndPrevent(e)}return}if(e.key===`Backspace`&&s.dropdownOpened){if(a===`kind:`)return o(``),s.resetSelectedOption(),stopAndPrevent(e);if(a.startsWith(`kind:`)&&l)return o(`kind:`),s.resetSelectedOption(),stopAndPrevent(e);if(a.startsWith(`#`)&&l)return o(`#`),s.resetSelectedOption(),stopAndPrevent(e)}if(e.key===`Escape`&&s.dropdownOpened&&c.length>0){stopAndPrevent(e),s.closeDropdown();return}if(e.key===`ArrowUp`&&s.dropdownOpened&&a===``&&s.getSelectedOptionIndex()===0){s.closeDropdown(),stopAndPrevent(e);return}if(e.key===`ArrowDown`&&(!s.dropdownOpened||c.length===0||l||a===``&&s.getSelectedOptionIndex()===c.length-1)){s.closeDropdown(),stopAndPrevent(e),focusToFirstFoundElement(n.current);return}}})}),Q(Qe,{hidden:c.length===0,style:{minWidth:300},children:Q(de,{children:Q(pe,{mah:`min(322px, calc(100cqh - 50px))`,type:`scroll`,children:c})})})]})}),selectSearchValue=e=>e.context.searchValue,selectPickViewFor=e=>e.context.pickViewFor,selectOpenedWithSearch=e=>e.context.openedWithSearch;function XStateSearchAdapter(e){let t=X(26),{searchActorRef:n,children:r}=e,i=(0,oi.useSelector)(n,selectSearchValue),a=(0,oi.useSelector)(n,selectPickViewFor),o=(0,oi.useSelector)(n,selectOpenedWithSearch),s=useCurrentViewId(),t1;t[0]===n?t1=t[1]:(t1=e=>{n.send({type:`change.search`,search:e})},t[0]=n,t[1]=t1);let c=K(t1),t2;t[2]===n?t2=t[3]:(t2=(e,t)=>{n.send({type:`navigate.to`,viewId:e,focusOnElement:t})},t[2]=n,t[3]=t2);let l=K(t2),t3;t[4]===n?t3=t[5]:(t3=e=>{n.send({type:`pickview.open`,elementFqn:e})},t[4]=n,t[5]=t3);let u=K(t3),t4;t[6]===n?t4=t[7]:(t4=()=>{n.send({type:`pickview.close`})},t[6]=n,t[7]=t4);let d=K(t4),t5;t[8]===n?t5=t[9]:(t5=()=>{n.send({type:`close`})},t[8]=n,t[9]=t5);let f=K(t5),p;t[10]===i?p=t[11]:(p=normalizeSearch(i),t[10]=i,t[11]=p);let m;t[12]!==f||t[13]!==d||t[14]!==s||t[15]!==l||t[16]!==u||t[17]!==o||t[18]!==a||t[19]!==i||t[20]!==c||t[21]!==p?(m={searchValue:i,setSearchValue:c,normalizedSearch:p,navigateTo:l,openPickView:u,closePickView:d,pickViewFor:a,close:f,currentViewId:s,openedWithSearch:o},t[12]=f,t[13]=d,t[14]=s,t[15]=l,t[16]=u,t[17]=o,t[18]=a,t[19]=i,t[20]=c,t[21]=p,t[22]=m):m=t[22];let h=m,g;return t[23]!==r||t[24]!==h?(g=Q(Ls.Provider,{value:h,children:r}),t[23]=r,t[24]=h,t[25]=g):g=t[25],g}ai();const gc=W({backgroundColor:`[rgb(34 34 34 / var(--_opacity, 95%))]`,_light:{backgroundColor:`[rgb(250 250 250 / var(--_opacity, 95%))]`},backdropFilter:`auto`,backdropBlur:`var(--_blur, 10px)`}),_c=W({width:`100%`,height:`100%`,maxHeight:`100vh`,overflow:`hidden`,display:`flex`,flexDirection:`column`,justifyContent:`stretch`,gap:`sm`,paddingTop:`[20px]`,paddingLeft:`md`,paddingRight:`md`,paddingBottom:`sm`,background:`transparent`}),vc=W({height:[`100%`,`100cqh`],"& .mantine-ScrollArea-viewport":{minHeight:`100%`,"& > div":{minHeight:`100%`,height:`100%`}}}),selectIsOpened=e=>{try{return e.status===`active`&&(e.value===`opened`||e.value===`pickView`)}catch(e){return console.error(e),!1}},yc=J(()=>{let e=useSearchActorRef(),t=Ci((0,ii.createEmptyActor)()),n=(0,oi.useSelector)(e??t.current,selectIsOpened),r=K(()=>{e?.send({type:`close`})});return pt(Si(()=>{let openSearch=()=>e?.send({type:`open`});return e?[[`mod+k`,openSearch,{preventDefault:!0}],[`mod+f`,openSearch,{preventDefault:!0}]]:[]},[e])),Q($r,{children:e&&n&&Q(ps,{fullscreen:!0,withBackdrop:!1,backdrop:{opacity:.9},classes:{dialog:gc,body:_c},openDelay:0,onClose:r,"data-likec4-search":`true`,children:Q(XStateSearchAdapter,{searchActorRef:e,children:Q(xc,{searchActorRef:e})})})})});yc.displayName=`Search`;const bc=J(()=>{let e=X(11),t=Ci(null),{pickViewFor:n}=useSearchContext(),t0;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t0=e=>{e.stopPropagation(),moveFocusToSearchInput(t.current)},e[0]=t0):t0=e[0];let r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=Q(V,{className:`group`,wrap:`nowrap`,onClick:t0,children:$(Ct,{flex:1,px:`sm`,children:[Q(hc,{}),Q(SearchByTags,{})]})}),e[1]=r):r=e[1];let i;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=Q(te,{span:6,children:Q(Je,{component:`div`,order:6,c:`dimmed`,pl:`sm`,children:`Elements`})}),e[2]=i):i=e[2];let a;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=$(L,{children:[i,Q(te,{span:6,children:Q(Je,{component:`div`,order:6,c:`dimmed`,pl:`sm`,children:`Views`})})]}),e[3]=a):a=e[3];let o;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=W({containerName:`likec4-search-elements`,containerType:`size`,overflow:`hidden`,flexGrow:1}),e[4]=o):o=e[4];let s;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=Q(te,{span:6,children:Q(rt,{type:`scroll`,className:vc,pr:`xs`,scrollbars:`y`,children:Q(ti,{id:`likec4-search-elements`,children:Q(hi,{children:Q(lc,{})})})})}),e[5]=s):s=e[5];let c;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(c=$(L,{className:o,children:[s,Q(te,{span:6,children:Q(rt,{type:`scroll`,className:vc,pr:`xs`,scrollbars:`y`,children:Q(hi,{children:Q(ti,{id:`likec4-search-views`,children:Q(oc,{})})})})})]}),e[6]=c):c=e[6];let l;e[7]===n?l=e[8]:(l=n&&Q(PickView,{elementFqn:n}),e[7]=n,e[8]=l);let u;return e[9]===l?u=e[10]:(u=$(wt,{ref:t,display:`contents`,children:[r,a,c,l]}),e[9]=l,e[10]=u),u});bc.displayName=`SearchPanelContent`;const xc=J(function SearchOverlayBody(e){let t=X(8),{searchActorRef:n}=e,r=Ci(null),t1;t[0]===n?t1=t[1]:(t1=()=>{f(n.getSnapshot().context.openedWithSearch)&&focusToFirstFoundElement(r.current)},t[0]=n,t[1]=t1),Mn(t1,150);let[i,a]=Xr(),t2,o;t[2]!==i||t[3]!==a||t[4]!==n?(t2=()=>{if(!i){a();try{n.send({type:`animation.presence.end`})}catch(e){console.debug(`SearchOverlayBody: animation.presence.end failed`,e)}}},o=[i,n,a],t[2]=i,t[3]=a,t[4]=n,t[5]=t2,t[6]=o):(t2=t[5],o=t[6]),Y(t2,o);let s;return t[7]===Symbol.for(`react.memo_cache_sentinel`)?(s=Q(wt,{ref:r,display:`contents`,children:Q(bc,{})}),t[7]=s):s=t[7],s});function PortalToContainer(e){let t=X(3),{children:n}=e,r=qn();if(!r)throw Error(`PortalToContainer must be used within RootContainer`);let i=r.ref.current??r.selector,a;return t[0]!==n||t[1]!==i?(a=Q(Ce,{target:i,children:n}),t[0]=n,t[1]=i,t[2]=a):a=t[2],a}ai();const Sc=(0,ii.setup)({types:{context:{},events:{},tags:`opened`},delays:{"open timeout":({context:e})=>e.openTimeout,"close timeout":600,"long idle":1500},actions:{"update edgeId":(0,ii.assign)(({context:e,event:t})=>((0,ii.assertEvent)(t,[`xyedge.select`,`xyedge.mouseEnter`]),{edgeId:t.edgeId,edgeSelected:e.edgeSelected||t.type===`xyedge.select`})),"increase open timeout":(0,ii.assign)(()=>({openTimeout:800})),"decrease open timeout":(0,ii.assign)(()=>({openTimeout:300})),"reset edgeId":(0,ii.assign)({edgeId:null,edgeSelected:!1})},guards:{"edge was selected":({context:e})=>e.edgeSelected,"edge was hovered":({context:e})=>!e.edgeSelected}}).createMachine({id:`breadcrumbs`,context:()=>({edgeId:null,edgeSelected:!1,openTimeout:800}),initial:`idle`,on:{close:{target:`#idle`,actions:[`reset edgeId`,`increase open timeout`]}},states:{idle:{id:`idle`,on:{"xyedge.mouseEnter":{target:`opening`,actions:`update edgeId`},"xyedge.select":{target:`active`,actions:`update edgeId`}},after:{"long idle":{actions:`increase open timeout`}}},opening:{on:{"xyedge.mouseLeave":{target:`idle`},"xyedge.select":{target:`active`,actions:`update edgeId`}},after:{"open timeout":{actions:`decrease open timeout`,target:`active`}}},active:{tags:[`opened`],initial:`opened`,exit:`reset edgeId`,on:{"xyedge.unselect":{target:`idle`,actions:`increase open timeout`},"xyedge.select":{actions:`update edgeId`}},states:{opened:{on:{"dropdown.mouseEnter":{target:`hovered`},"xyedge.mouseLeave":{guard:`edge was hovered`,target:`closing`}}},hovered:{on:{"dropdown.mouseLeave":[{guard:`edge was selected`,target:`opened`},{target:`closing`}]}},closing:{on:{"xyedge.mouseEnter":{guard:`edge was hovered`,target:`opened`,actions:`update edgeId`},"xyedge.select":{target:`opened`,actions:`update edgeId`},"dropdown.mouseEnter":{target:`hovered`}},after:{"close timeout":{target:`#idle`}}}}}}}),Endpoint=e=>{let t=X(4),{children:n,likec4color:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=Nt({size:`xxs`,fontWeight:`medium`,whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`,maxWidth:`160px`,paddingX:`1`,paddingY:`0.5`,rounded:`xs`,background:{_light:`var(--likec4-palette-fill)/90`,_dark:`var(--likec4-palette-fill)/60`},color:{_light:`var(--likec4-palette-hiContrast)`,_dark:`var(--likec4-palette-loContrast)`}}),t[0]=i):i=t[0];let a;return t[1]!==n||t[2]!==r?(a=Q(`div`,{"data-likec4-color":r,className:i,children:n}),t[1]=n,t[2]=r,t[3]=a):a=t[3],a},Cc=Tt(`div`,{base:{whiteSpaceCollapse:`preserve-breaks`,fontSize:`sm`,lineHeight:`sm`,userSelect:`all`,overflowWrap:`anywhere`,wordBreak:`break-word`,minWidth:0}});function selectDiagramContext(e){let t=null;for(let n of e.xyedges)if(n.selected){if(t){t=null;break}t=n.data.id}return{viewId:e.view.id,selected:t}}const wc=J(()=>{let e=X(46),t=Kr(),n=(0,oi.useActorRef)(Sc),r=q(),{viewId:o,selected:s}=Cr(selectDiagramContext),c=(0,oi.useSelector)(n,_temp$1),t0;e[0]===n?t0=e[1]:(t0=()=>{n.send({type:`close`})},e[0]=n,e[1]=t0),Wr(`navigateTo`,t0);let t1;e[2]===n?t1=e[3]:(t1=e=>{let{edge:t}=e;n.send({type:`xyedge.mouseEnter`,edgeId:t.data.id})},e[2]=n,e[3]=t1),Wr(`edgeMouseEnter`,t1);let t2;e[4]===n?t2=e[5]:(t2=()=>{n.send({type:`xyedge.mouseLeave`})},e[4]=n,e[5]=t2),Wr(`edgeMouseLeave`,t2);let t3;e[6]===n?t3=e[7]:(t3=()=>{n.send({type:`close`})},e[6]=n,e[7]=t3),Wr(`walkthroughStarted`,t3);let t4;e[8]!==n||e[9]!==s?(t4=()=>{s?n.send({type:`xyedge.select`,edgeId:s}):n.send({type:`xyedge.unselect`})},e[8]=n,e[9]=s,e[10]=t4):t4=e[10];let l;e[11]===s?l=e[12]:(l=[s],e[11]=s,e[12]=l),Y(t4,l);let t6;e[13]!==n||e[14]!==r||e[15]!==c?(t6=e=>{if(!c)return;n.send({type:`dropdown.mouseEnter`});let t=r.findEdge(c);t&&!t.data.hovered&&r.send({type:`xyflow.edgeMouseEnter`,edge:t,event:e})},e[13]=n,e[14]=r,e[15]=c,e[16]=t6):t6=e[16];let u=t6,t7;e[17]!==n||e[18]!==r||e[19]!==c?(t7=e=>{if(!c)return;n.send({type:`dropdown.mouseLeave`});let t=r.findEdge(c);t?.data.hovered&&r.send({type:`xyflow.edgeMouseLeave`,edge:t,event:e})},e[17]=n,e[18]=r,e[19]=c,e[20]=t7):t7=e[20];let d=t7,t8;e[21]===c?t8=e[22]:(t8=e=>{let t=c?Rr(e,c):null;return{diagramEdge:t,sourceNode:t?Fr(e,t.source):null,targetNode:t?Fr(e,t.target):null}},e[21]=c,e[22]=t8);let p;e[23]===c?p=e[24]:(p=[c],e[23]=c,e[24]=p);let{diagramEdge:m,sourceNode:h,targetNode:_}=Cr(t8,Hn,p);if(!m||!h||!_||i(m.relations))return null;let v;if(e[25]!==m.relations||e[26]!==t||e[27]!==h||e[28]!==_){let t11;e[30]!==t||e[31]!==h||e[32]!==_?(t11=e=>{try{return t.relationship(e)}catch(t){let n=t;return console.error(`View is cached and likec4model missing relationship ${e} from ${h.id} -> ${_.id}`,n),null}},e[30]=t,e[31]=h,e[32]=_,e[33]=t11):t11=e[33];let t12;e[34]!==h||e[35]!==_?(t12=e=>e.source.id===h.id&&e.target.id===_.id,e[34]=h,e[35]=_,e[36]=t12):t12=e[36],v=g(m.relations,M(t11),a(f),x(t12)),e[25]=m.relations,e[26]=t,e[27]=h,e[28]=_,e[29]=v}else v=e[29];let[y,b]=v;if(y.length===0&&b.length===0)return console.warn(`No relationships found diagram edge`,{diagramEdge:m,sourceNode:h,targetNode:_}),null;let S;return e[37]!==m||e[38]!==y||e[39]!==b||e[40]!==u||e[41]!==d||e[42]!==h||e[43]!==_||e[44]!==o?(S=Q(PortalToContainer,{children:Q(RelationshipPopoverInternal,{viewId:o,direct:y,nested:b,diagramEdge:m,sourceNode:h,targetNode:_,onMouseEnter:u,onMouseLeave:d})}),e[37]=m,e[38]=y,e[39]=b,e[40]=u,e[41]=d,e[42]=h,e[43]=_,e[44]=o,e[45]=S):S=e[45],S}),getEdgeLabelElement=(e,t)=>t?.querySelector(`.likec4-edge-label[data-edge-id="${e}"]`)??t?.querySelector(`.likec4-edge-middle-point[data-edge-id="${e}"]`)??null,RelationshipPopoverInternal=e=>{let t=X(38),{viewId:n,diagramEdge:r,direct:i,nested:a,sourceNode:o,targetNode:s,onMouseEnter:c,onMouseLeave:l}=e,u=Ci(null),{enableNavigateTo:d,enableVscode:f}=vr(),{onOpenSource:p}=xr(),m=Xn(),[h,g]=wi(null),t1;t[0]!==m||t[1]!==r.id?(t1=()=>{g(getEdgeLabelElement(r.id,m.current))},t[0]=m,t[1]=r.id,t[2]=t1):t1=t[2];let v;t[3]===r?v=t[4]:(v=[r],t[3]=r,t[4]=v),xi(t1,v);let t3,y;t[5]===h?(t3=t[6],y=t[7]):(t3=()=>{let e=h,t=u.current;if(!e||!t)return;let n=!1,update=()=>{_t(e,t,{placement:`bottom-start`,middleware:[vt(4),yt({crossAxis:!0,allowedPlacements:[`bottom-start`,`bottom-end`,`left-start`,`top-start`,`top-end`,`right-start`,`right-end`,`left-end`]}),gt({apply(e){let{availableHeight:t,availableWidth:r,elements:i}=e;n||Object.assign(i.floating.style,{maxWidth:`${_(Yn(r),{min:220,max:400})}px`,maxHeight:`${_(Yn(t),{min:100,max:500})}px`})}}),bt({padding:16})]}).then(e=>{let{x:r,y:i,middlewareData:a}=e;n||(t.style.transform=`translate(${Yn(r)}px, ${Yn(i)}px)`,t.style.visibility=a.hide?.referenceHidden?`hidden`:`visible`)})},r=xt(e,t,update,{ancestorResize:!1,animationFrame:!0});return()=>{n=!0,r()}},y=[h],t[5]=h,t[6]=t3,t[7]=y),Y(t3,y);let b=q(),t5;t[8]!==b||t[9]!==d||t[10]!==f||t[11]!==p||t[12]!==o||t[13]!==s||t[14]!==n?(t5=(e,t)=>$(pi,{children:[t>0&&Q(fe,{}),Q(Tc,{viewId:n,relationship:e,sourceNode:o,targetNode:s,onNavigateTo:d?e=>{b.navigateTo(e)}:void 0,...p&&f&&{onOpenSource:()=>p({relation:e.id})}})]},e.id),t[8]=b,t[9]=d,t[10]=f,t[11]=p,t[12]=o,t[13]=s,t[14]=n,t[15]=t5):t5=t[15];let x=t5,S,C;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(S={viewport:{overscrollBehavior:`contain`,minWidth:200,minHeight:40}},C=U(W({layerStyle:`likec4.dropdown`,p:`0`,pointerEvents:{base:`all`,_whenPanning:`none`},position:`absolute`,top:`0`,left:`0`,width:`max-content`,cursor:`default`})),t[16]=S,t[17]=C):(S=t[16],C=t[17]);let w;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(w={gap:`3`,padding:`4`,paddingTop:`2`},t[18]=w):w=t[18];let T;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(T={alignSelf:`flex-start`,fontWeight:`medium`,"--button-fz":`var(--font-sizes-xxs)`},t[19]=T):T=t[19];let E;t[20]!==b||t[21]!==r.id?(E=Q(_e,{variant:`default`,color:`gray`,size:`compact-xs`,style:T,onClick:e=>{e.stopPropagation(),b.openRelationshipDetails(r.id)},children:`browse relationships`}),t[20]=b,t[21]=r.id,t[22]=E):E=t[22];let D;t[23]!==i||t[24]!==x?(D=i.length>0&&$(Z,{children:[Q(Ec,{children:`DIRECT RELATIONSHIPS`}),i.map(x)]}),t[23]=i,t[24]=x,t[25]=D):D=t[25];let O;t[26]!==i.length||t[27]!==a||t[28]!==x?(O=a.length>0&&$(Z,{children:[Q(Ec,{css:{mt:i.length>0?`2`:`0`},children:`RESOLVED FROM NESTED`}),a.map(x)]}),t[26]=i.length,t[27]=a,t[28]=x,t[29]=O):O=t[29];let k;t[30]!==E||t[31]!==D||t[32]!==O?(k=$(Ct,{css:w,children:[E,D,O]}),t[30]=E,t[31]=D,t[32]=O,t[33]=k):k=t[33];let A;return t[34]!==c||t[35]!==l||t[36]!==k?(A=Q(pe,{ref:u,onMouseEnter:c,onMouseLeave:l,type:`auto`,scrollbars:`y`,scrollbarSize:6,styles:S,className:C,children:k}),t[34]=c,t[35]=l,t[36]=k,t[37]=A):A=t[37],A},Tc=_i((e,t)=>{let n=X(55),{viewId:r,relationship:i,sourceNode:a,targetNode:s,onNavigateTo:c,onOpenSource:l}=e,u;n[0]!==i||n[1]!==a?(u=getEndpointId(i,`source`,a),n[0]=i,n[1]=a,n[2]=u):u=n[2];let d=u,f;n[3]!==i||n[4]!==s?(f=getEndpointId(i,`target`,s),n[3]=i,n[4]=s,n[5]=f):f=n[5];let p=f,m=c&&i.navigateTo?.id!==r?i.navigateTo?.id:void 0,h=i.links,g;if(n[6]!==i){let e=i.hasMetadata()?o(i.getMetadata()).sort(_temp3):null;g=e&&$(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`6px`},children:[Q(`div`,{style:{fontWeight:`bold`,fontSize:`10px`,color:`#868e96`,marginBottom:`2px`,letterSpacing:`0.5px`,textTransform:`uppercase`},children:`Metadata`}),Q(`div`,{style:{borderTop:`1px solid rgba(0, 0, 0, 0.1)`,paddingTop:`6px`,display:`flex`,flexDirection:`column`,gap:`6px`},children:e.map(_temp4)})]}),n[6]=i,n[7]=g}else g=n[7];let _=g,v;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(v=Ft({block:`2`,inline:`2`,paddingY:`2.5`,paddingX:`2`,gap:`1`,rounded:`sm`,backgroundColor:{_hover:{base:`mantine.colors.gray[1]`,_dark:`mantine.colors.dark[5]/70`}}}),n[8]=v):v=n[8];let y;n[9]!==d.short||n[10]!==a.color?(y=Q(Endpoint,{likec4color:a.color,children:d.short}),n[9]=d.short,n[10]=a.color,n[11]=y):y=n[11];let b;n[12]!==d.full||n[13]!==y?(b=Q(Dc,{label:d.full,offset:2,position:`top-start`,children:y}),n[12]=d.full,n[13]=y,n[14]=b):b=n[14];let x;n[15]===Symbol.for(`react.memo_cache_sentinel`)?(x=Q(It,{stroke:2.5,size:`11px`,opacity:.65}),n[15]=x):x=n[15];let S;n[16]!==p.short||n[17]!==s.color?(S=Q(Endpoint,{likec4color:s.color,children:p.short}),n[16]=p.short,n[17]=s.color,n[18]=S):S=n[18];let C;n[19]!==S||n[20]!==p.full?(C=Q(Dc,{label:p.full,offset:2,position:`top-start`,children:S}),n[19]=S,n[20]=p.full,n[21]=C):C=n[21];let w;n[22]!==m||n[23]!==c?(w=m&&Q(Dc,{label:`Open dynamic view`,children:Q(Oe,{size:`sm`,radius:`sm`,variant:`default`,onClick:e=>{e.stopPropagation(),c?.(m)},style:{alignSelf:`flex-end`},role:`button`,children:Q(rn,{size:`80%`,stroke:2})})}),n[22]=m,n[23]=c,n[24]=w):w=n[24];let T;n[25]===l?T=n[26]:(T=l&&Q(Dc,{label:`Open source`,children:Q(Oe,{size:`sm`,radius:`sm`,variant:`default`,onClick:e=>{e.stopPropagation(),l()},role:`button`,children:Q(Qt,{size:`80%`,stroke:2})})}),n[25]=l,n[26]=T);let E;n[27]!==w||n[28]!==T||n[29]!==b||n[30]!==C?(E=Q(G,{gap:`0.5`,children:$(je,{openDelay:200,children:[b,x,C,w,T]})}),n[27]=w,n[28]=T,n[29]=b,n[30]=C,n[31]=E):E=n[31];let D=i.title||`untitled`,O;n[32]===D?O=n[33]:(O=Q(Cc,{children:D}),n[32]=D,n[33]=O);let k;n[34]===_?k=n[35]:(k=_&&Q(Dc,{label:_,w:350,position:`right`,offset:10,openDelay:300,withArrow:!0,bg:`white`,c:`dark`,withinPortal:!0,styles:{tooltip:{boxShadow:`0 4px 12px rgba(0, 0, 0, 0.15)`,border:`1px solid #dee2e6`}},children:Q(wt,{display:`inline-flex`,children:Q(Vt,{size:14,opacity:.5,style:{flexShrink:0,cursor:`help`}})})}),n[34]=_,n[35]=k);let A;n[36]!==O||n[37]!==k?(A=$(G,{gap:`xs`,alignItems:`center`,children:[O,k]}),n[36]=O,n[37]=k,n[38]=A):A=n[38];let j;n[39]===i.kind?j=n[40]:(j=i.kind&&$(G,{gap:`2`,children:[Q(Ec,{children:`kind`}),Q(H,{size:`xs`,className:W({userSelect:`all`,wordBreak:`break-word`,minWidth:0}),children:i.kind})]}),n[39]=i.kind,n[40]=j);let M;n[41]===i.technology?M=n[42]:(M=i.technology&&$(G,{gap:`2`,children:[Q(Ec,{children:`technology`}),Q(H,{size:`xs`,className:W({userSelect:`all`,wordBreak:`break-word`,minWidth:0}),children:i.technology})]}),n[41]=i.technology,n[42]=M);let N;n[43]===i.summary?N=n[44]:(N=i.summary.nonEmpty&&$(Z,{children:[Q(Ec,{children:`description`}),Q(wt,{css:{paddingLeft:`2.5`,py:`1.5`,borderLeft:`2px dotted`,borderLeftColor:{base:`mantine.colors.gray[3]`,_dark:`mantine.colors.dark[4]`}},children:Q(or,{value:i.summary,fontSize:`sm`,textScale:.875})})]}),n[43]=i.summary,n[44]=N);let P;n[45]===h?P=n[46]:(P=h.length>0&&$(Z,{children:[Q(Ec,{children:`links`}),Q(G,{gap:`1`,flexWrap:`wrap`,children:h.map(_temp5)})]}),n[45]=h,n[46]=P);let F;return n[47]!==t||n[48]!==E||n[49]!==A||n[50]!==j||n[51]!==M||n[52]!==N||n[53]!==P?(F=$(Ct,{ref:t,className:v,children:[E,A,j,M,N,P]}),n[47]=t,n[48]=E,n[49]=A,n[50]=j,n[51]=M,n[52]=N,n[53]=P,n[54]=F):F=n[54],F}),Ec=Tt(`div`,{base:{display:`block`,fontSize:`xxs`,fontWeight:`medium`,userSelect:`none`,lineHeight:`sm`,color:`text.dimmed`}}),Dc=Ne.withProps({color:`dark`,fz:`xs`,label:``,children:null,offset:8,withinPortal:!1});function getEndpointId(e,t,n){let r=e.isDeploymentRelation()?n.id:n.modelRef||``,i=e[t].id;return{full:i,short:ki(r)+i.slice(r.length)}}function _temp$1(e){return e.hasTag(`opened`)?e.context.edgeId:null}e(_temp$1,`_temp`);function _temp3(e,t){let[n]=e,[r]=t;return n.localeCompare(r)}function _temp4(e){let[t,n]=e,r=Array.isArray(n)?n.join(`, `):n;return $(`div`,{style:{display:`flex`,gap:`12px`,fontSize:`12px`,lineHeight:`1.4`},children:[$(`span`,{style:{fontWeight:`bold`,minWidth:`110px`,color:`#495057`},children:[t,`:`]}),Q(`span`,{style:{color:`#212529`,wordBreak:`break-word`,flex:1},children:r})]},t)}function _temp5(e){return Q(Oa,{size:`sm`,value:e},e.url)}const Oc=J(()=>{let e=X(14),[t,n]=useDiagramCompareLayout(),{layout:r,isActive:i}=t,{toggleCompare:a}=n,o=r===`manual`?`var(--mantine-color-orange-6)`:`var(--mantine-color-green-6)`,s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=Et({position:`absolute`,top:`0`,left:`0`,width:`full`,height:`full`,border:`default`,borderWidth:4,pointerEvents:`none`,alignItems:`flex-start`,justifyContent:`center`}),e[0]=s):s=e[0];let c=i?void 0:`none`,l;e[1]!==o||e[2]!==c?(l={zIndex:`9999`,display:c,borderColor:o},e[1]=o,e[2]=c,e[3]=l):l=e[3];let u;e[4]===o?u=e[5]:(u={backgroundColor:o},e[4]=o,e[5]=u);let t6;e[6]===a?t6=e[7]:(t6=e=>{e.stopPropagation(),a()},e[6]=a,e[7]=t6);let d;e[8]!==u||e[9]!==t6?(d=Q(kc,{style:u,onClick:t6,children:`Close compare`}),e[8]=u,e[9]=t6,e[10]=d):d=e[10];let f;return e[11]!==l||e[12]!==d?(f=Q(wt,{className:s,style:l,children:d}),e[11]=l,e[12]=d,e[13]=f):f=e[13],f}),kc=B.withProps({className:W({fontSize:`xs`,fontWeight:`medium`,py:`1.5`,lineHeight:`1`,borderBottomLeftRadius:`sm`,borderBottomRightRadius:`sm`,transform:`translateY(-4px)`,px:`4`,color:`mantine.colors.gray[9]`,pointerEvents:`all`,_active:{transform:`translateY(-3px)`}})}),Ac=W({position:`absolute`,bottom:`0`,right:`0`,padding:`2`,margin:`0`,width:`min-content`,height:`min-content`,_print:{display:`none`}}),jc=W({"--ai-radius":`0px`,_noReduceGraphics:{"--ai-radius":`{radii.md}`}}),Mc=W({cursor:`default`,userSelect:`none`,minWidth:200,maxWidth:`calc(100vw - 20px)`,backgroundColor:`body/80`,sm:{minWidth:300,maxWidth:`65vw`},md:{maxWidth:`40vw`},_dark:{backgroundColor:`mantine.colors.dark[6]/80`}}),Nc=W({padding:`xxs`}),Pc=W({backgroundColor:`transparent`,transition:`all 100ms ease-in`,_hover:{transition:`all 120ms ease-out`,backgroundColor:`mantine.colors.primary[2]/50`},_dark:{_hover:{backgroundColor:`mantine.colors.dark[3]/40`}}});W({fill:`var(--likec4-palette-fill)`,stroke:`var(--likec4-palette-stroke)`,strokeWidth:1,overflow:`visible`,width:`100%`,height:`auto`,filter:`
|
|
17
|
-
drop-shadow(0 2px 3px rgb(0 0 0 / 22%))
|
|
18
|
-
drop-shadow(0 1px 8px rgb(0 0 0 / 10%))
|
|
19
|
-
`});const Fc=W({fontWeight:`medium`,letterSpacing:`0.2px`,paddingTop:`0`,paddingBottom:`0`,textTransform:`lowercase`,transition:`all 150ms ease-in-out`,cursor:`pointer`,"--badge-radius":`2px`,"--badge-fz":`9.5px`,"--badge-padding-x":`3px`,"--badge-height":`13.5px`,"--badge-lh":`1`,"--badge-bg":`var(--likec4-palette-fill)`,"--badge-color":`var(--likec4-palette-hiContrast)`}),ElementNotation=e=>{let t=X(29),{value:n}=e,{title:i,color:a,shape:o}=n,s=a===void 0?`primary`:a,c=o===void 0?`rectangle`:o,[l,d]=wi(null),f=q(),p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=U(Pc),t[0]=p):p=t[0];let t4;t[1]!==f||t[2]!==n?(t4=()=>{d(null),f.highlightNotation(n)},t[1]=f,t[2]=n,t[3]=t4):t4=t[3];let t5;t[4]===f?t5=t[5]:(t5=()=>{d(null),f.unhighlightNotation()},t[4]=f,t[5]=t5);let m;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(m={position:`relative`,width:70,height:u(46.666666666666664,0)},t[6]=m):m=t[6];let h;t[7]===c?h=t[8]:(h=Q(F,{flex:`0 0 70px`,style:m,children:Q(lr,{data:{shape:c,width:300,height:200}})}),t[7]=c,t[8]=h);let g;t[9]!==f||t[10]!==l||t[11]!==n?(g=n.kinds.map(e=>Q(Ke,{className:U(Fc),onMouseEnter:()=>{d(e),f.highlightNotation(n,e)},onMouseLeave:()=>{d(null),f.highlightNotation(n)},opacity:r(l)&&l!==e?.25:1,children:e},e)),t[9]=f,t[10]=l,t[11]=n,t[12]=g):g=t[12];let _;t[13]===g?_=t[14]:(_=Q(V,{gap:4,flex:`0 0 auto`,children:g}),t[13]=g,t[14]=_);let v;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(v={textWrap:`pretty`},t[15]=v):v=t[15];let y;t[16]===i?y=t[17]:(y=Q(H,{component:`div`,fz:`sm`,fw:500,lh:`1.25`,style:v,children:i}),t[16]=i,t[17]=y);let b;t[18]!==y||t[19]!==_?(b=$(Re,{gap:4,flex:1,children:[_,y]}),t[18]=y,t[19]=_,t[20]=b):b=t[20];let x;t[21]!==b||t[22]!==h?(x=$(V,{gap:`sm`,align:`stretch`,wrap:`nowrap`,children:[h,b]}),t[21]=b,t[22]=h,t[23]=x):x=t[23];let S;return t[24]!==s||t[25]!==x||t[26]!==t4||t[27]!==t5?(S=Q(he,{shadow:`none`,px:`xs`,py:`sm`,className:p,"data-likec4-color":s,onMouseEnter:t4,onMouseLeave:t5,children:x}),t[24]=s,t[25]=x,t[26]=t4,t[27]=t5,t[28]=S):S=t[28],S},selector=e=>({id:e.view.id,notations:e.view.notation?.nodes??[]}),Ic=J(()=>{let e=X(14),t=Jn(_temp),{id:n,notations:r}=Cr(selector),i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i={key:`notation-webview-collapsed`,defaultValue:!0},e[0]=i):i=e[0];let[a,o]=ht(i),s=r.length>0,c=useMantinePortalProps();if(!s)return null;let l;e[1]!==a||e[2]!==c||e[3]!==o?(l=a&&Q(Qr.div,{initial:{opacity:.75,translateX:`50%`},animate:{opacity:1,translateX:0},exit:{translateX:`100%`,opacity:.6},className:Ac,children:Q(Ne,{label:`Show notation`,color:`dark`,fz:`xs`,...c,children:Q(Oe,{size:`lg`,variant:`default`,color:`gray`,className:jc,onClick:()=>o(!1),children:Q(Gt,{stroke:1.5})})})},`collapsed`),e[1]=a,e[2]=c,e[3]=o,e[4]=l):l=e[4];let u;e[5]!==t||e[6]!==n||e[7]!==a||e[8]!==r||e[9]!==o?(u=!a&&Q(Qr.div,{initial:{opacity:.75,scale:.2},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.25},className:U(`react-flow__panel`,Ac),style:{transformOrigin:`bottom right`},children:Q(tt,{radius:`sm`,withBorder:!0,shadow:`lg`,className:Mc,children:$(we,{defaultValue:`first`,radius:`xs`,children:[$(Ee,{children:[Q(Oe,{size:`md`,variant:`subtle`,color:`gray`,ml:2,style:{alignSelf:`center`},onClick:()=>o(!0),children:Q(bn,{stroke:2})}),Q(Ue,{value:`first`,fz:`xs`,children:`Elements`}),Q(Ue,{value:`second`,fz:`xs`,disabled:!0,children:`Relationships`})]}),Q(Ye,{value:`first`,className:Nc,hidden:a,children:Q(pe,{viewportProps:{style:{maxHeight:`min(40vh, ${Math.max(t-60,50)}px)`}},children:Q(Re,{gap:0,children:r.map(_temp2)})})})]})})},n),e[5]=t,e[6]=n,e[7]=a,e[8]=r,e[9]=o,e[10]=u):u=e[10];let d;return e[11]!==l||e[12]!==u?(d=$($r,{children:[l,u]}),e[11]=l,e[12]=u,e[13]=d):d=e[13],d});function _temp(e){return e.height}function _temp2(e,t){return Q(ElementNotation,{value:e},t)}const Lc=J(()=>{let{enableControls:e,enableNotations:t,enableSearch:n,enableRelationshipDetails:r,enableReadOnly:i,enableCompareWithLatest:a}=vr(),o=On(),s=useOverlaysActorRef();return $(Ar,{onReset:vi(()=>{console.warn(`DiagramUI: resetting error boundary and rerendering...`),o()},[]),children:[e&&Q(to,{}),s&&Q(Overlays,{overlaysActorRef:s}),t&&Q(Ic,{}),n&&Q(yc,{}),r&&i&&Q(wc,{}),a&&Q(Oc,{})]})});Lc.displayName=`DiagramUI`;const noop=()=>{};function LikeC4Diagram({onCanvasClick:e,onCanvasContextMenu:t,onCanvasDblClick:n,onEdgeClick:r,onEdgeContextMenu:i,onNavigateTo:a,onNodeClick:o,onNodeContextMenu:s,onOpenSource:c,onLogoClick:u,onLayoutTypeChange:d,onInitialized:f,view:p,className:m,controls:h=!0,fitView:g=!0,fitViewPadding:_=h?Wn.withControls:Wn.default,pannable:v=!0,zoomable:y=!0,background:b=`dots`,enableElementTags:x=!1,enableFocusMode:S=!1,enableElementDetails:C=!1,enableRelationshipDetails:w=!1,enableRelationshipBrowser:T=!1,enableCompareWithLatest:E=!!d,nodesSelectable:D,enableNotations:O=!1,showNavigationButtons:k=!!a,enableDynamicViewWalkthrough:A=!1,dynamicViewVariant:j,enableSearch:M=!1,enableNotes:N=!0,initialWidth:P,initialHeight:F,reduceGraphics:I=`auto`,renderIcon:L,where:R,reactFlowProps:z,renderNodes:ee,children:te}){let ne=er(),re=Ci(null),ie=si();E=E&&!!d&&!!ie&&!l(ie.$data.manualLayouts);let ae=!!ie,oe=!!wr(),se=!oe;D??=oe||S||!!a||!!o;let ce=hr(p,j),le=useNormalizedViewPadding(_);re.current??={defaultEdges:[],defaultNodes:[],initialWidth:P??ce.width,initialHeight:F??ce.height,initialFitViewOptions:{maxZoom:3,minZoom:ir,padding:le},initialMaxZoom:3,initialMinZoom:ir};let ue=I===`auto`?v&&p.bounds.width*p.bounds.height>16e6&&p.nodes.some(e=>e.children?.length>0):I;return Q(mi,{id:`LikeC4Diagram`,onRender:noop,children:Q(Zn,{children:Q(gr,{reducedMotion:ue?`always`:void 0,children:Q(En,{value:L??null,children:Q(Sr,{features:{enableFitView:g,enableEditor:oe,enableReadOnly:se,enableFocusMode:S,enableNavigateTo:!!a,enableElementDetails:C&&ae,enableRelationshipDetails:w&&ae,enableRelationshipBrowser:T&&ae,enableSearch:M&&ae,enableNavigationButtons:k&&!!a,enableDynamicViewWalkthrough:p._type===`dynamic`&&A,enableNotations:O,enableVscode:!!c,enableControls:h,enableElementTags:x,enableCompareWithLatest:E,enableNotes:N},children:$(Mr,{handlers:{onCanvasClick:e,onCanvasContextMenu:t,onCanvasDblClick:n,onEdgeClick:r,onEdgeContextMenu:i,onNavigateTo:a,onNodeClick:o,onNodeContextMenu:s,onOpenSource:c,onLogoClick:u,onInitialized:f,onLayoutTypeChange:d},children:[Q(pr,{id:ne}),Q(Ur,{rootSelector:`#${ne}`,children:Q(Gn,{id:ne,className:m,reduceGraphics:ue,children:Q(Vn,{fitView:g,...re.current,children:Q(Vr,{id:ne,view:p,zoomable:y,pannable:v,fitViewPadding:le,nodesDraggable:oe,nodesSelectable:D,where:R??null,dynamicViewVariant:j,children:$(CurrentViewModelProvider,{children:[Q(Ir,{background:b,reactFlowProps:z,renderNodes:ee,children:te}),Q(Lc,{})]})})})})})]})})})})})})}const toLiteralPaddingWithUnit=e=>typeof e==`number`?`${e}px`:e;function useNormalizedViewPadding(e){let t=X(3),t0,n;return t[0]===e?(t0=t[1],n=t[2]):(t0=()=>{if(p(e))return S(e,toLiteralPaddingWithUnit);let t=toLiteralPaddingWithUnit(e);return{x:t,y:t}},n=[e],t[0]=e,t[1]=t0,t[2]=n),jn(t0,n,Un)}export{Ls as a,gc as i,bc as n,normalizeSearch as o,_c as r,ps as s,LikeC4Diagram as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime.mjs";import{createContext as e,useContext as t}from"react";import"react/compiler-runtime";import"react/jsx-runtime";const n=e(null),r=n.Provider,i=e(null),a=i.Provider;function useOptionalLikeC4Model(){return t(n)}function useOptionalCurrentViewModel(){return t(i)}export{useOptionalLikeC4Model as i,r as n,useOptionalCurrentViewModel as r,a as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime.mjs";import{O as e}from"./styled-system.mjs";import{r as t}from"./IconRenderer.mjs";import{t as n}from"./libs/@nanostores/react.mjs";import{n as r}from"./LikeC4ModelContext.mjs";import{t as i}from"./safeCtx.mjs";import"react";import{c as a}from"react/compiler-runtime";import{jsx as o}from"react/jsx-runtime";import{getProjectIcons as s}from"likec4:icons";function LikeC4ModelProvider(e){let t=a(3),{children:n,likec4model:i}=e,s;return t[0]!==n||t[1]!==i?(s=o(r,{value:i,children:n}),t[0]=n,t[1]=i,t[2]=s):s=t[2],s}const c=e(`div`,{base:{padding:`0`,margin:`0`,width:`full`,height:`full`}});function LikeC4IconRendererContext(e){let n=a(5),{children:r,projectId:i}=e,c;n[0]===i?c=n[1]:(c=s(i),n[0]=i,n[1]=c);let l=c,u;return n[2]!==l||n[3]!==r?(u=o(t,{value:l,children:r}),n[2]=l,n[3]=r,n[4]=u):u=n[4],u}function LikeC4ModelContext(e){let t=a(6),{likec4model:r,children:s}=e,c=n(r),l;t[0]!==s||t[1]!==c?(l=o(LikeC4ModelProvider,{likec4model:c,children:s}),t[0]=s,t[1]=c,t[2]=l):l=t[2];let u;return t[3]!==r||t[4]!==l?(u=o(i,{value:r,children:l}),t[3]=r,t[4]=l,t[5]=u):u=t[5],u}export{LikeC4IconRendererContext as n,c as r,LikeC4ModelContext as t};
|