likec4 1.57.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 +70 -881
- package/__app__/src/aichat/index.mjs +8 -1
- 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 +14816 -14
- package/__app__/src/style.css +1 -1
- package/dist/chunks/enableServer.mjs +1 -1
- package/dist/chunks/filenames.mjs +2 -2
- package/dist/chunks/index2.d.mts +1877 -734
- package/dist/chunks/libs/@chevrotain/gast.mjs +1 -1
- package/dist/chunks/libs/@logtape/logtape.mjs +4 -3
- package/dist/chunks/libs/chevrotain-allstar.mjs +2 -2
- package/dist/chunks/libs/chevrotain.mjs +25 -25
- package/dist/chunks/libs/langium.mjs +1 -1
- package/dist/chunks/libs/merge-error-cause.mjs +1 -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.mjs +65 -0
- package/dist/chunks/node.mjs +73 -62
- package/dist/chunks/{plugin.mjs → vite-plugin.mjs} +41 -41
- package/dist/cli/index.mjs +184 -144
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/model/index.d.mts +1 -1
- package/dist/vite-plugin/index.mjs +1 -1
- package/dist/vite-plugin/internal/index.d.mts +52 -57
- package/dist/vite-plugin/internal/index.mjs +946 -1
- package/package.json +46 -47
- package/react/index.d.mts +92 -23
- package/react/index.mjs +44551 -42605
- package/__app__/chunks/AIChat2.mjs +0 -2
- package/__app__/chunks/DiagramActorProvider.mjs +0 -10
- package/__app__/chunks/EmbedPage.mjs +0 -1
- package/__app__/chunks/ExportPage.mjs +0 -2
- package/__app__/chunks/LikeC4Diagram.mjs +0 -19
- package/__app__/chunks/LikeC4Styles.mjs +0 -48
- package/__app__/chunks/Markdown.mjs +0 -1
- package/__app__/chunks/NavigationPanel.mjs +0 -1
- package/__app__/chunks/ViewReact.mjs +0 -1
- package/__app__/chunks/adhoc-editor.mjs +0 -1
- package/__app__/chunks/aichat.mjs +0 -1
- package/__app__/chunks/box.mjs +0 -1
- package/__app__/chunks/create-style-context.mjs +0 -1
- package/__app__/chunks/css.mjs +0 -1
- package/__app__/chunks/factory.mjs +0 -1
- package/__app__/chunks/hooks.mjs +0 -1
- package/__app__/chunks/hstack.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 -358
- package/__app__/chunks/libs/@tanstack/ai-client.mjs +0 -2
- package/__app__/chunks/libs/@tanstack/ai-react-ui.mjs +0 -1
- package/__app__/chunks/libs/@tanstack/ai-react.mjs +0 -1
- package/__app__/chunks/libs/@tanstack/ai.mjs +0 -2
- 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/copy-anything.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/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/superjson.mjs +0 -1
- package/__app__/chunks/libs/zod.mjs +0 -64
- package/__app__/chunks/rolldown-runtime.mjs +0 -1
- package/__app__/chunks/styles.css.mjs +0 -1
- package/__app__/chunks/txt.mjs +0 -1
- package/__app__/chunks/useLikeC4Project.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/dist/chunks/libs/@chevrotain/utils.mjs +0 -1
- package/dist/chunks/libs/@hono/mcp.mjs +0 -70
- 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.mjs +0 -1
- package/dist/chunks/libs/unctx.mjs +0 -1
- package/dist/chunks/libs/vscode-languageserver.mjs +0 -1
- package/dist/chunks/libs/word-wrap.mjs +0 -12
- 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.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}from"./rolldown-runtime.mjs";import{A as t,F as n,G as r,K as i,M as a,O as o,P as s,Q as c,R as l,S as u,T as d,U as f,W as p,Y as m,Z as h,_ as g,b as _,c as v,f as y,g as b,i as x,j as S,m as ee,n as te,o as C,p as w,q as T,r as ne,t as re,v as E,y as ie}from"./libs/remeda.mjs";import{$ as ae,Bt as oe,Ct as D,E as se,Et as O,F as ce,Gt as le,H as ue,Ht as de,I as fe,It as pe,Jt as me,K as he,Kt as ge,L as _e,Lt as ve,N as ye,O as be,P as xe,Q as Se,R as Ce,Rt as we,St as Te,T as Ee,Tt as De,V as Oe,X as ke,Y as Ae,Yt as je,_ as Me,_t as Ne,a as Pe,at as Fe,bt as Ie,c as Le,ct as Re,dt as ze,et as Be,ft as k,g as Ve,gt as He,h as Ue,ht as We,i as Ge,it as Ke,k as qe,l as Je,lt as Ye,m as Xe,mt as A,n as Ze,nt as Qe,o as $e,ot as j,pt as et,q as M,qt as tt,r as nt,rt,s as it,st as at,t as ot,tt as st,ut as ct,v as lt,vt as ut,wt as dt,xt as ft,y as pt,yt as mt,zt as ht}from"./libs/@mantine/core.mjs";import{a as gt,c as _t,i as vt,l as yt,n as bt,o as xt,t as St,u as Ct}from"./libs/@mantine/hooks.mjs";import{d as wt,i as Tt,l as Et,n as Dt,o as Ot,r as kt}from"./libs/@floating-ui/dom.mjs";import{a as At,c as jt,m as Mt,p as Nt,s as Pt,t as N,u as Ft}from"./css.mjs";import{a as It,s as P,t as Lt}from"./factory.mjs";import{A as Rt,B as zt,C as Bt,E as Vt,G as Ht,H as Ut,J as Wt,K as F,S as Gt,T as Kt,W as qt,X as Jt,Y as Yt,_ as Xt,a as Zt,b as Qt,c as $t,d as en,f as tn,h as nn,i as rn,l as an,m as on,o as sn,p as cn,q as ln,r as un,s as dn,t as fn,u as pn,v as mn,w as hn,y as gn}from"./LikeC4Styles.mjs";import{a as _n,n as vn,o as yn,r as bn,t as xn}from"./Markdown.mjs";import{A as Sn,B as Cn,D as wn,E as Tn,F as En,H as Dn,I as On,J as kn,L as An,M as jn,N as Mn,O as Nn,P as Pn,R as Fn,T as In,W as Ln,X as Rn,Y as zn,Z as Bn,a as Vn,b as Hn,c as Un,et as Wn,f as Gn,g as Kn,h as qn,i as Jn,j as Yn,k as Xn,l as Zn,n as Qn,nt as $n,o as er,p as tr,q as nr,r as rr,rt as ir,s as ar,t as or,tt as sr,v as cr,w as lr,y as ur}from"./libs/@tabler/icons-react.mjs";import{a as dr,f as fr,l as pr,n as mr,r as hr,s as gr}from"./libs/@react-hookz/web.mjs";import{n as _r,t as vr}from"./libs/fast-equals.mjs";import{c as yr,i as br,n as I,r as xr,s as L,t as R}from"./hstack.mjs";import{a as Sr,h as Cr,i as wr,l as Tr,n as z,r as Er,t as Dr}from"./libs/@xstate/react.mjs";import{A as Or,D as kr,E as Ar,O as jr,S as Mr,T as B,_ as Nr,a as Pr,b as Fr,c as Ir,d as Lr,f as Rr,g as V,h as zr,i as Br,k as Vr,l as Hr,m as Ur,n as Wr,o as Gr,r as Kr,s as qr,t as Jr,u as Yr,v as Xr,w as Zr,x as Qr,y as $r}from"./DiagramActorProvider.mjs";import{i as ei,n as ti}from"./useLikeC4Project.mjs";import{S as ni,f as ri,g as ii,h as ai,i as oi,m as si,o as ci,s as li}from"./libs/@xyflow/react.mjs";import{a as ui,c as H,f as di,i as fi,m as pi,n as U,o as mi,p as W,r as hi,t as gi}from"./libs/framer-motion.mjs";import{n as _i}from"./libs/motion-dom.mjs";import{t as G}from"./box.mjs";import{n as vi,t as yi}from"./txt.mjs";import{t as bi}from"./libs/@dagrejs/dagre.mjs";import{Fragment as xi,Profiler as Si,createContext as Ci,forwardRef as wi,memo as K,useCallback as Ti,useContext as Ei,useDeferredValue as Di,useEffect as q,useLayoutEffect as Oi,useMemo as ki,useRef as J,useState as Y}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 Ai,ancestorsFqn as ji,invariant as Mi,isAncestor as Ni,nameFromFqn as Pi,nonNullable as Fi,nonexhaustive as Ii}from"@likec4/core";import{DefaultMap as Li,compareNatural as Ri,compareNaturalHierarchically as zi,ifilter as Bi,ifind as Vi,ifirst as Hi,imap as Ui,invariant as Wi,isAncestor as Gi,nameFromFqn as Ki,nonexhaustive as qi,sortParentsFirst as Ji,stringHash as Yi,toArray as Xi}from"@likec4/core/utils";import{RichText as Zi,exact as Qi,preferSummary as $i}from"@likec4/core/types";import{treeFromElements as ea}from"@likec4/core/compute-view";import{VIEW_FOLDERS_SEPARATOR as ta,extractViewTitleFromPath as na,modelConnection as ra,normalizeViewPath as ia}from"@likec4/core/model";var aa=Ar(e=>e.context.view.id);function oa(){return Vr(aa)}var sa=Ar(e=>e.context.view);function ca(){return Vr(sa)}function la(){let e=qt();if(!e)throw Error(`No CurrentViewModelContext found`);return e}var ua=Ci(null);function da(){let e=Ei(ua);if(!e)throw Error(`useSearchContext must be used within a SearchContext.Provider`);return e}function fa(e){if(e===``)return e;let t=e.trim().toLowerCase();return t.startsWith(`#`)&&t.length<=2?``:t.length>1?t:``}const pa=vn(`likec4-navigation-panel-icon`,{variant:`default`,type:`default`},[{type:`warning`,variant:`filled`,css:{backgroundColor:{base:`likec4.panel.action.warning.bg`,_hover:`likec4.panel.action.warning.bg.hover`}}}]),ma={variant:[`default`,`filled`],type:[`default`,`warning`]},ha=Object.keys(ma),ga=Object.assign(Ft(pa.recipeFn),{__recipe__:!0,__name__:`navigationPanelActionIcon`,__getCompoundVariantCss__:pa.__getCompoundVariantCss__,raw:e=>e,variantKeys:ha,variantMap:ma,merge(e){return bn(this,e)},splitVariantProps(e){return Mt(e,ha)},getVariantProps:pa.getVariantProps}),_a=vn(`likec4-overlay`,{fullscreen:!1,withBackdrop:!0},[]),va={fullscreen:[`false`,`true`],withBackdrop:[`false`,`true`]},ya=Object.keys(va),ba=Object.assign(Ft(_a.recipeFn),{__recipe__:!0,__name__:`overlay`,__getCompoundVariantCss__:_a.__getCompoundVariantCss__,raw:e=>e,variantKeys:ya,variantMap:va,merge(e){return bn(this,e)},splitVariantProps(e){return Mt(e,ya)},getVariantProps:_a.getVariantProps}),xa={truncateLabel:!1},Sa=[],Ca=[[`root`,`likec4-navlink__root`],[`body`,`likec4-navlink__body`],[`section`,`likec4-navlink__section`],[`label`,`likec4-navlink__label`],[`description`,`likec4-navlink__description`]].map(([e,t])=>[e,vn(t,xa,jt(Sa,e))]),wa=Ft((e={})=>Object.fromEntries(Ca.map(([t,n])=>[t,n.recipeFn(e)]))),Ta=[`truncateLabel`],Ea=Object.assign(wa,{__recipe__:!1,__name__:`navigationLink`,raw:e=>e,classNameMap:{},variantKeys:Ta,variantMap:{truncateLabel:[`true`,`false`]},splitVariantProps(e){return Mt(e,Ta)},getVariantProps:e=>({...xa,...At(e)})});var Da=`--_blur`,Oa=`--_opacity`,ka=`--_level`,Aa=wi(({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]=Y(!1),p=de(d),m=J(null),h=J(null),g=ui()!==!0,_=()=>{h.current=e,m.current?.close()},v=pi();q(()=>{v||m.current?.open&&(h.current=null,m.current.close())},[v]),Oi(()=>{let e=m.current;e&&!e.open&&e.showModal(),c===0&&f(!0)},[]),hr(()=>{f(!0)},c>0?c:void 0);let y=ba({fullscreen:a,withBackdrop:o}),b=r>0?`50%`:`60%`;s?.opacity!==void 0&&(b=`${s.opacity*100}%`);let x=ki(()=>({initial:{[Da]:`1px`,[Oa]:`10%`,scale:.95,opacity:0},animate:{[Da]:r>0?`4px`:`8px`,[Oa]:b,scale:1,opacity:1},exit:{opacity:0,scale:.97,[Da]:`0px`,[Oa]:`0%`}}),[r,b]);return Q(H.dialog,{ref:ht(m,p,u),className:P(n?.dialog,t,y,a&&ze.classNames.fullWidth),layout:!0,style:{[ka]:r},...g?x:{initial:{[Da]:`8px`,[Oa]:b}},onDoubleClick:zt,onPointerDown:zt,...l,onClick:e=>{e.stopPropagation(),e.target===e.currentTarget&&_()},onCancel:e=>{e.preventDefault(),e.stopPropagation(),_()},onClose:()=>{h.current?.()},children:Q(ze,{forwardProps:!0,children:Q(`div`,{className:P(n?.body,`likec4-overlay-body`),children:d&&Q(Z,{children:i})})})})});Aa.displayName=`Overlay`;var ja=N.raw({outline:`none`,background:`mantine.colors.primary[8]`,borderColor:`mantine.colors.primary[9]`}),Ma=`.mantine-Tree-node:focus > .mantine-Tree-label &`,Na=N.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:{...ja,borderColor:`mantine.colors.primary[9]`,background:`mantine.colors.primary[8]/60`},_focus:ja,[Ma]:ja,_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]`}}}),Pa=`likec4-focusable`,Fa={ref:`var(--likec4-icon-size, 24px)`},Ia=N.raw({color:{base:`text.dimmed`,_light:`mantine.colors.gray[5]`,_groupHover:`mantine.colors.primary[0]`,_groupFocus:`mantine.colors.primary[0]`},[Ma]:{color:`mantine.colors.primary[0]`},flex:`0 0 ${Fa.ref}`,height:Fa.ref,width:Fa.ref,display:`flex`,alignItems:`center`,justifyContent:`center`,alignSelf:`flex-start`,"--ti-size":Fa.ref,"& svg, & img":{width:`100%`,height:`auto`,maxHeight:`100%`,pointerEvents:`none`},"& img":{objectFit:`contain`},"&.likec4-shape-icon svg":{strokeWidth:1.5}}),La=N.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`}},[Ma]:{color:{base:`mantine.colors.primary[1]`,_light:`white`}}}),Ra=N.raw({color:{base:`text.dimmed`,_groupHover:{base:`mantine.colors.primary[1]`,_light:`mantine.colors.primary[0]`},_groupFocus:`mantine.colors.primary[0]`},[Ma]:{color:`mantine.colors.primary[0]`}}),za=N.raw(Ra,{marginTop:`1`,fontSize:`12px`,lineHeight:`1.4`,":where([data-disabled]) &":{opacity:.85}}),Ba=N({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`}),Va=Jt({slots:[`root`,`icon`,`title`,`description`,`descriptionColor`],className:`search-button`,base:{root:Na,icon:Ia,title:La,description:za,descriptionColor:Ra}});function Ha(e){e.stopPropagation(),e.preventDefault()}function Ua(e){let t=e.getBoundingClientRect();return t.y+Math.floor(t.height/2)}function Wa(e){if(!e){console.error(`moveFocusToSearchInput: from is null or undefined`);return}let t=e.getRootNode();if(!a(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 Ga(e){if(!e){console.error(`focusToFirstFoundElement: from is null or undefined`);return}let t=e.getRootNode();if(!a(t.querySelector)){console.error(`focusToFirstFoundElement: root.querySelector is not a function`);return}t.querySelector(`[data-likec4-search] .${Pa}`)?.focus()}function Ka(e,t,n=`.${Pa}`){if(!e)return console.error(`queryAllFocusable: from is null or undefined`),[];let r=e.getRootNode();return a(r.querySelectorAll)?[...r.querySelectorAll(`[data-likec4-search-${t}] ${n}`)]:(console.error(`queryAllFocusable: root.querySelectorAll is not a function`),[])}function qa(){return Di(da().normalizedSearch)}function Ja(){let e=X(2),{setSearchValue:t}=da(),n;return e[0]===t?n=e[1]:(n=e=>{t(e)},e[0]=t,e[1]=n),n}var Ya=P(N({flexWrap:`nowrap`,display:`flex`,"&[data-disabled] .mantine-ThemeIcon-root":{opacity:.45}}),`likec4-view-btn`);N({marginTop:`1`,fontSize:`13px`,lineHeight:`1.4`,":where(.likec4-view-btn[data-disabled]) &":{opacity:.85}});const Xa={transform(e){return{position:`relative`,maxWidth:`8xl`,mx:`auto`,px:{base:`4`,md:`6`,lg:`8`},...e}}},Za=(e={})=>{let t=Pt(Xa,e);return Xa.transform(t,Nt)},Qa=e=>N(Za(e));Qa.raw=Za;const $a={transform(e,{map:t,isCssUnit:n,isCssVar:r}){let{inline:i,block:a,...o}=e,s=e=>n(e)||r(e)?e:`token(spacing.${e}, ${e})`;return{"--bleed-x":t(i,s),"--bleed-y":t(a,s),marginInline:`calc(var(--bleed-x, 0) * -1)`,marginBlock:`calc(var(--bleed-y, 0) * -1)`,...o}},defaultValues:{inline:`0`,block:`0`}},eo=(e={})=>{let t=Pt($a,e);return $a.transform(t,Nt)},to=e=>N(eo(e));to.raw=eo;var no=()=>Q(G,{className:Ba,children:`Nothing found`}),ro=()=>{let e=X(8),{currentViewId:t}=da(),n=B(),r=qa(),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=$i(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},io=K(()=>{let e=J(null),[t,n,r]=ro();return $(Je,{ref:e,renderRoot:e=>Q(U,{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=Ka(e.current,`elements`,`.likec4-element-button`),i=r.length>1?r.find((e,t,r)=>Ua(e)>n||t===r.length-1):null;i??=f(r),i&&(t.stopPropagation(),i.focus());return}},children:[t.length===0&&Q(no,{}),t.length>0&&Q(Te,{children:Q(D,{"data-likec4-view":!0,tabIndex:-1,onFocus:t=>{t.stopPropagation(),Wa(e.current)}})}),t.map((e,t)=>Q(U,{layoutId:`@view${e.id}`,children:Q(oo,{view:e,currentViewId:r??``,search:n,tabIndex:t===0?0:-1})},e.id))]})}),ao=Va();function oo(e){let t=X(8),{className:n,view:r,loop:i,search:a,focusOnElement:o,currentViewId:s,...c}=e,l=i===void 0?!1:i,u=da(),d=r.id,f=d===s,p;t[0]!==u||t[1]!==o||t[2]!==d?(p=()=>{u.navigateTo(d,o)},t[0]=u,t[1]=o,t[2]=d,t[3]=p):p=t[3];let m=p,h;t[4]===m?h=t[5]:(h=e=>{e.stopPropagation(),m()},t[4]=m,t[5]=h);let g;return t[6]===m?g=t[7]:(g=e=>{e.nativeEvent.code===`Space`&&(e.stopPropagation(),m())},t[6]=m,t[7]=g),$(D,{...c,className:P(ao.root,`group`,Pa,Ya,n),"data-likec4-view":r.id,...f&&!o&&{"data-disabled":!0},onClick:h,onKeyDown:me({siblingSelector:`[data-likec4-view]`,parentSelector:`[data-likec4-search-views]`,activateOnFocus:!1,loop:l,orientation:`vertical`,onKeyDown:g}),children:[Q(Ge,{variant:`transparent`,className:ao.icon,children:r.isDeploymentView()?Q(qn,{stroke:1.8}):Q(Un,{stroke:1.8})}),$(G,{style:{flexGrow:1},children:[$(k,{gap:`xs`,wrap:`nowrap`,align:`center`,children:[Q(fe,{component:`div`,highlight:a,className:ao.title,children:r.titleOrUntitled}),f&&Q(ke,{size:`xs`,fz:9,radius:`sm`,children:`current`})]}),Q(fe,{highlight:r.description.nonEmpty?a:``,component:`div`,className:ao.description,lineClamp:1,children:r.description.text||`No description`})]})]})}var so=`@container likec4-tree (max-width: 450px)`,co=N({outline:`none`,marginBottom:`2`}),lo=N(Qa.raw({containerName:`likec4-tree`}),{containerType:`inline-size`,height:`100%`}),uo=N({display:`flex`,alignItems:`baseline`,outline:`none !important`,gap:`1`}),fo=N({marginTop:`2`}),po=N({color:`text.dimmed`}),mo=N({[so]:{flexDirection:`column-reverse`,alignItems:`flex-start`,gap:`0.5`}}),ho=N({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`}}),go=N({"--likec4-icon-size":`24px`,[so]:{"--likec4-icon-size":`18px`}}),_o=N({flex:0,fontSize:`10px`,fontWeight:`medium`,whiteSpace:`nowrap`,lineHeight:`1.1`,[so]:{display:`none`}});function vo(){let e=X(7),t=B(),n;e[0]===t?n=e[1]:(n=m(t.elements(),Bi(bo),Ui(yo),Xi()),e[0]=t,e[1]=n);let i=n,a=qa(),o;if(e[2]!==i||e[3]!==a){let t=a.split(`.`),n;if(a===``||a===`kind:`)n=i;else if(a.startsWith(`kind:`)){let e=a.slice(5);n=r(i,t=>{let{element:n}=t;return n.kind.toLocaleLowerCase()[e.length>4?`startsWith`:`includes`](e)})}else if(a.startsWith(`#`)){let e=a.slice(1);n=r(i,t=>{let{element:n}=t;return n.tags.some(t=>t.toLocaleLowerCase().includes(e))})}else if(T(t,2)){let e=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=r(i,t=>{let{element:n}=t;return e(n)})}else{let t;e[5]===a?t=e[6]:(t=e=>{let{element:t}=e;return(t.title+` `+t.name+` `+(t.summary.md||``)).toLocaleLowerCase().includes(a)},e[5]=a,e[6]=t),n=r(i,t)}let s={},{hash:c,all:l,roots:u}=m(n,C((e,t)=>{t.children=[],t.hasChildren=!1,s[t.value]=t;let n=e.all.findLast(e=>Gi(e.value,t.value));return n?(n.children.push(t),n.hasChildren=!0):e.roots.push(t),e.all.push(t),e.hash=Yi(e.hash+t.value),e},{hash:`empty`,all:[],roots:[]}));o={hash:c,all:l,byid:s,roots:u,searchTerms:T(t,1)?t:[a]},e[2]=i,e[3]=a,e[4]=o}else o=e[4];return o}function yo(e){return{label:e.title,value:e.id,element:e,viewsCount:[...e.views()].length,children:[],hasChildren:!1}}function bo(e){return!e.imported}var xo=Va(),So=K(()=>{let e=X(4),t=vo(),n=To();if(t.all.length===0){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=Q(no,{}),e[0]=t):t=e[0],t}let r;return e[1]!==t||e[2]!==n?(r=Q(Co,{data:t,handleClick:n}),e[1]=t,e[2]=n,e[3]=r):r=e[3],r});function Co({data:{searchTerms:e,all:t,byid:n,hash:r,roots:i},handleClick:a}){let o=Ze({multiple:!1});q(()=>{o.collapseAllNodes();for(let e of t)e.children.length>0&&o.expand(e.value)},[r]);let s=F(e=>{let t=e.target,r=t.getAttribute(`data-value`),s=!!r&&n[r];if(s){if(e.key===`ArrowUp`){r===i[0]?.value&&(Ha(e),Wa(t));return}if(e.key===`ArrowRight`){if(s.children.length>0&&o.expandedState[r]!==!0)return;let n=(e.target.querySelector(`.mantine-Tree-label`)??t).getBoundingClientRect().y,i=Ka(t,`views`),a=i.length>1?i.find((e,t,r)=>Ua(e)>n||t===r.length-1):null;a??=f(i),a&&(Ha(e),a.focus());return}if(e.key===` `||e.key===`Enter`){Ha(e),a(s.element);return}}});return Q(ot,{"data-likec4-search-elements":!0,allowRangeSelection:!1,clearSelectionOnOutsideClick:!0,selectOnClick:!1,tree:o,data:i,levelOffset:`md`,classNames:{root:lo,node:P(Pa,co),label:uo,subtree:fo},onKeyDownCapture:s,renderNode:t=>Q(wo,{...t,searchTerms:e,handleClick:a})})}function wo({node:e,elementProps:t,expanded:n,handleClick:r,searchTerms:i}){let{label:a,element:o,viewsCount:s}=e,c=ln({element:{id:o.id,title:o.title,shape:o.shape,icon:o.icon},className:P(xo.icon,go)});return $(U,{layoutId:`@tree.${e.value}`,...t,children:[Q(A,{variant:`transparent`,size:16,tabIndex:-1,className:P(po),style:{visibility:e.hasChildren?`visible`:`hidden`},children:Q(kn,{stroke:3.5,style:{transition:`transform 150ms ease`,transform:`rotate(${n?`90deg`:`0`})`,width:`100%`}})}),$(D,{component:gi,layout:!0,tabIndex:-1,"data-value":o.id,className:P(xo.root,`group`,`likec4-element-button`),...s>0&&{onClick:t=>{(!e.hasChildren||n)&&(t.stopPropagation(),r(o))}},children:[c,$(O,{style:{flexGrow:1},children:[$(k,{gap:`xs`,wrap:`nowrap`,align:`center`,className:mo,children:[Q(fe,{component:`div`,highlight:i,className:xo.title,children:a}),Q(Ue,{label:o.id,withinPortal:!1,fz:`xs`,disabled:!o.id.includes(`.`),children:Q(fe,{component:`div`,highlight:ie(i),className:P(ho,xo.descriptionColor),children:Ki(o.id)})})]}),Q(fe,{component:`div`,highlight:o.summary.nonEmpty?i:[],className:xo.description,lineClamp:1,children:o.summary.nonEmpty?o.summary.text:`No description`})]}),Q(yi,{as:`div`,className:P(_o,xo.descriptionColor),size:`xs`,children:s===0?`No views`:$(Z,{children:[s,` view`,s>1?`s`:``]})})]})]})}function To(){let e=X(2),t=da(),n;return e[0]===t?n=e[1]:(n=e=>{let n=[...e.views()];if(n.length===0)return;let r=e.id,i=w(n)?.id;if(!i){t.openPickView(r);return}t.navigateTo(i,r)},e[0]=t,e[1]=n),F(n)}var Eo=N({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`}}}),Do=N({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)]`}}),Oo=N({position:`absolute`,top:`[2rem]`,left:`[50%]`,width:`100%`,maxWidth:`600px`,minWidth:`200px`,transform:`translateX(-50%)`,zIndex:903}),ko=N({marginTop:`2`,"& + &":{marginTop:`[32px]`}});N({height:[`100%`,`100cqh`],"& .mantine-ScrollArea-viewport":{minHeight:`100%`,"& > div":{minHeight:`100%`,height:`100%`}}});function Ao(e){let t=X(9),{elementFqn:n}=e,r=da(),i=r.currentViewId??``,a=B().element(n),o=[],s=[];for(let e of a.views())e.viewOf===a?o.push(e):s.push(e);let c;t[0]===r?c=t[1]:(c=()=>{r.closePickView()},t[0]=r,t[1]=c);let l=c,u;t[2]===l?u=t[3]:(u=e=>{try{e.key===`Escape`&&(e.stopPropagation(),e.preventDefault(),l())}catch(e){console.warn(e)}},t[2]=l,t[3]=u);let d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d={capture:!0},t[4]=d):d=t[4],oe(`keydown`,tt(u),d);let f;t[5]===l?f=t[6]:(f=e=>{e.stopPropagation(),l()},t[5]=l,t[6]=f);let p;return t[7]===l?p=t[8]:(p=e=>{e.stopPropagation(),l()},t[7]=l,t[8]=p),$(Z,{children:[Q(U,{className:Do,onClick:f},`pickview-backdrop`),Q(mt,{children:$(U,{initial:{opacity:0,scale:.95,originY:0,translateX:`-50%`,translateY:-20},animate:{opacity:1,scale:1,translateY:0},exit:{opacity:0,scale:.98,translateY:-20,transition:{duration:.1}},className:Oo,"data-likec4-search-views":!0,children:[$(k,{px:`sm`,py:`md`,justify:`space-between`,children:[Q(nt,{order:2,lh:1,children:`Select view`}),Q(A,{size:`md`,variant:`default`,onClick:p,children:Q(Zn,{})})]}),$(De,{mah:`calc(100vh - 110px)`,type:`never`,children:[o.length>0&&$(Je,{gap:`sm`,px:`sm`,className:ko,children:[Q(nt,{order:6,c:`dimmed`,children:`scoped views of the element`}),o.map((e,t)=>Q(oo,{view:e,currentViewId:i,search:``,loop:!0,focusOnElement:n,mod:{autofocus:t===0}},e.id))]}),s.length>0&&$(Je,{gap:`sm`,px:`sm`,className:ko,children:[Q(nt,{order:6,c:`dimmed`,children:`views including this element`}),s.map((e,t)=>Q(oo,{view:e,currentViewId:i,search:``,loop:!0,focusOnElement:n,mod:{autofocus:t===0&&o.length===0}},e.id))]})]})]},`pickview`)})]})}function jo(){let e=J(null),t=B().tagsSortedByUsage,n=Ja(),r=qa(),i=t.length,a=!1;if(r.startsWith(`#`)){let e=r.slice(1);t=t.filter(({tag:t})=>t.toLocaleLowerCase().includes(e)),a=t.length!==i}return t.length===0?null:(t=t.slice(0,15),$(R,{ref:e,css:{gap:`md`,paddingLeft:`[48px]`,flexWrap:`nowrap`},children:[Q(R,{css:{gap:`1.5`,flexWrap:`wrap`,opacity:a?1:.3,grayscale:a?0:.9,filter:`auto`,transition:`fast`,_groupHover:{opacity:1,grayscale:0},_groupFocusWithin:{opacity:1,grayscale:0}},children:t.map(({tag:t})=>Q($r,{tag:t,className:N({userSelect:`none`,cursor:`pointer`}),onClick:r=>{r.stopPropagation(),n(`#${t}`),setTimeout(()=>{Ga(e.current)},350)}},t))}),a&&Q(M,{size:`compact-xs`,variant:`light`,onClick:t=>{t.stopPropagation(),n(``),Wa(e.current)},rightSection:Q(Zn,{size:14}),children:`Clear`})]}))}function Mo(e){return e.match(/^(k|ki|kin|kind|kind:)$/)!=null}var No=[`#`,`kind:`],Po=K(()=>{let e=da(),t=B(),n=J(null),{ref:r,focused:i}=vt(),{searchValue:a,setSearchValue:o}=e,s=ae({scrollBehavior:`smooth`,loop:!1});oe(`keydown`,e=>{try{!i&&(e.key===`Backspace`||e.key.startsWith(`Arrow`)||e.key.match(/^\p{L}$/u))&&Wa(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(rt,{children:`No tags found`},`empty-tags`)]):(l=n.some(t=>t.toLocaleLowerCase()===e),c=n.map(e=>$(Qe,{value:`#${e}`,children:[Q(j,{component:`span`,opacity:.5,mr:1,fz:`sm`,children:`#`}),e]},e)));break}case a.startsWith(`kind:`):case Mo(a):{let e=a.length>5?a.slice(5).toLocaleLowerCase():``,n=_(t.specification.elements);e&&(n=n.filter(t=>t.toLocaleLowerCase().includes(e))),n.length===0?(l=!1,c=[Q(rt,{children:`No kinds found`},`empty-kinds`)]):(l=n.some(t=>t.toLocaleLowerCase()===e),c=n.map(e=>$(Qe,{value:`kind:${e}`,children:[Q(j,{component:`span`,opacity:.5,mr:1,fz:`sm`,children:`kind:`}),e]},e)));break}}return $(Se,{onOptionSubmit:e=>{o(e),s.resetSelectedOption(),No.includes(e)||(s.closeDropdown(),setTimeout(()=>{Ga(n.current)},350))},width:`max-content`,position:`bottom-start`,shadow:`md`,offset:{mainAxis:4,crossAxis:50},store:s,withinPortal:!1,children:[Q(Be,{children:Q(ct,{ref:ht(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:Eo},size:`lg`,value:a,leftSection:Q(ur,{style:{width:je(20)},stroke:2}),rightSection:Q(ct.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(),Ha(e);case c.length===1:return s.selectFirstOption()&&s.clickSelectedOption(),Ha(e);case Mo(a):return o(`kind:`),Ha(e)}return}if(e.key===`Backspace`&&s.dropdownOpened){if(a===`kind:`)return o(``),s.resetSelectedOption(),Ha(e);if(a.startsWith(`kind:`)&&l)return o(`kind:`),s.resetSelectedOption(),Ha(e);if(a.startsWith(`#`)&&l)return o(`#`),s.resetSelectedOption(),Ha(e)}if(e.key===`Escape`&&s.dropdownOpened&&c.length>0){Ha(e),s.closeDropdown();return}if(e.key===`ArrowUp`&&s.dropdownOpened&&a===``&&s.getSelectedOptionIndex()===0){s.closeDropdown(),Ha(e);return}if(e.key===`ArrowDown`&&(!s.dropdownOpened||c.length===0||l||a===``&&s.getSelectedOptionIndex()===c.length-1)){s.closeDropdown(),Ha(e),Ga(n.current);return}}})}),Q(Ke,{hidden:c.length===0,style:{minWidth:300},children:Q(st,{children:Q(De,{mah:`min(322px, calc(100cqh - 50px))`,type:`scroll`,children:c})})})]})}),Fo=e=>e.context.searchValue,Io=e=>e.context.pickViewFor,Lo=e=>e.context.openedWithSearch;function Ro(e){let t=X(26),{searchActorRef:n,children:r}=e,i=z(n,Fo),a=z(n,Io),o=z(n,Lo),s=oa(),c;t[0]===n?c=t[1]:(c=e=>{n.send({type:`change.search`,search:e})},t[0]=n,t[1]=c);let l=F(c),u;t[2]===n?u=t[3]:(u=(e,t)=>{n.send({type:`navigate.to`,viewId:e,focusOnElement:t})},t[2]=n,t[3]=u);let d=F(u),f;t[4]===n?f=t[5]:(f=e=>{n.send({type:`pickview.open`,elementFqn:e})},t[4]=n,t[5]=f);let p=F(f),m;t[6]===n?m=t[7]:(m=()=>{n.send({type:`pickview.close`})},t[6]=n,t[7]=m);let h=F(m),g;t[8]===n?g=t[9]:(g=()=>{n.send({type:`close`})},t[8]=n,t[9]=g);let _=F(g),v;t[10]===i?v=t[11]:(v=fa(i),t[10]=i,t[11]=v);let y;t[12]!==_||t[13]!==h||t[14]!==s||t[15]!==d||t[16]!==p||t[17]!==o||t[18]!==a||t[19]!==i||t[20]!==l||t[21]!==v?(y={searchValue:i,setSearchValue:l,normalizedSearch:v,navigateTo:d,openPickView:p,closePickView:h,pickViewFor:a,close:_,currentViewId:s,openedWithSearch:o},t[12]=_,t[13]=h,t[14]=s,t[15]=d,t[16]=p,t[17]=o,t[18]=a,t[19]=i,t[20]=l,t[21]=v,t[22]=y):y=t[22];let b=y,x;return t[23]!==r||t[24]!==b?(x=Q(ua.Provider,{value:b,children:r}),t[23]=r,t[24]=b,t[25]=x):x=t[25],x}var zo=N({backgroundColor:`[rgb(34 34 34 / var(--_opacity, 95%))]`,_light:{backgroundColor:`[rgb(250 250 250 / var(--_opacity, 95%))]`},backdropFilter:`auto`,backdropBlur:`var(--_blur, 10px)`}),Bo=N({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`}),Vo=N({height:[`100%`,`100cqh`],"& .mantine-ScrollArea-viewport":{minHeight:`100%`,"& > div":{minHeight:`100%`,height:`100%`}}}),Ho=e=>{try{return e.status===`active`&&(e.value===`opened`||e.value===`pickView`)}catch(e){return console.error(e),!1}},Uo=K(e=>{let t=X(14),{searchActorRef:n}=e,r=L(),i=z(n,Ho),a;t[0]===r?a=t[1]:(a=()=>{r.searchActor().send({type:`close`})},t[0]=r,t[1]=a);let o=a,s;t[2]===r?s=t[3]:(s=e=>{e.stopPropagation(),r.searchActor().send({type:`open`})},t[2]=r,t[3]=s);let c=s,l;t[4]!==i||t[5]!==c?(l=i?[]:[[`mod+k`,c,{preventDefault:!0}],[`mod+f`,c,{preventDefault:!0}]],t[4]=i,t[5]=c,t[6]=l):l=t[6],xt(l);let u;t[7]===r?u=t[8]:(u=()=>{r.searchActor().send({type:`animation.presence.end`})},t[7]=r,t[8]=u);let d;return t[9]!==o||t[10]!==i||t[11]!==n||t[12]!==u?(d=Q(W,{onExitComplete:u,children:i&&Q(Aa,{fullscreen:!0,withBackdrop:!1,backdrop:{opacity:.9},classes:{dialog:zo,body:Bo},openDelay:0,onClose:o,"data-likec4-search":`true`,children:Q(Ro,{searchActorRef:n,children:Q(Wo,{searchActorRef:n})})})}),t[9]=o,t[10]=i,t[11]=n,t[12]=u,t[13]=d):d=t[13],d});Uo.displayName=`Search`;function Wo({searchActorRef:e}){let t=J(null);return hr(()=>{u(e.getSnapshot().context.openedWithSearch)&&Ga(t.current)},150),Q(Go,{ref:t})}var Go=wi((e,t)=>{let n=J(null),{pickViewFor:r}=da();return $(G,{ref:ht(t,n),display:`contents`,children:[Q(k,{className:`group`,wrap:`nowrap`,onClick:e=>{e.stopPropagation(),Wa(n.current)},children:$(xr,{flex:1,px:`sm`,children:[Q(Po,{}),Q(jo,{})]})}),$(_e,{children:[Q(Ce,{span:6,children:Q(nt,{component:`div`,order:6,c:`dimmed`,pl:`sm`,children:`Elements`})}),Q(Ce,{span:6,children:Q(nt,{component:`div`,order:6,c:`dimmed`,pl:`sm`,children:`Views`})})]}),$(_e,{className:N({containerName:`likec4-search-elements`,containerType:`size`,overflow:`hidden`,flexGrow:1}),children:[Q(Ce,{span:6,children:Q(dt,{type:`scroll`,className:Vo,pr:`xs`,scrollbars:`y`,children:Q(di,{id:`likec4-search-elements`,children:Q(W,{mode:`popLayout`,anchorY:`top`,children:Q(So,{})})})})}),Q(Ce,{span:6,children:Q(dt,{type:`scroll`,className:Vo,pr:`xs`,scrollbars:`y`,children:Q(di,{id:`likec4-search-views`,children:Q(io,{})})})})]}),r&&Q(Ao,{elementFqn:r})]})});Go.displayName=`SearchPanelContent`;function Ko(e){let{children:t}=e,n=oa();return Q(Ut,{value:Ht()?.findView(n)??null,children:t})}function qo(){let e=X(2),t=Bt(),n;return e[0]===t?n=e[1]:(n=t?{portalProps:{target:t},withinPortal:!0}:{withinPortal:!1},e[0]=t,e[1]=n),n}var Jo=wr({types:{context:{},events:{},tags:``,input:{},emitted:{}},delays:{"open timeout":500,"close timeout":350},actions:{"update activatedBy":Tr({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":Tr({activatedBy:`click`}),"update selected folder":Tr(({event:e})=>e.type===`breadcrumbs.click.root`?{selectedFolder:``}:(Er(e,[`breadcrumbs.click.folder`,`select.folder`]),{selectedFolder:e.folderPath})),"reset selected folder":Tr({selectedFolder:({context:e})=>e.viewModel?.folder.path??``}),"update inputs":Tr(({context:e,event:t})=>{Er(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":Tr({searchQuery:``}),"update search query":Tr(({event:e})=>(Er(e,`searchQuery.change`),{searchQuery:e.value??``})),"emit navigateTo":Sr(({event:e})=>(Er(e,`select.view`),{type:`navigateTo`,viewId:e.viewId}))},guards:{"was opened on hover":({context:e})=>e.activatedBy===`hover`,"has search query":({context:e})=>!n(e.searchQuery),"search query is empty":({context:e})=>n(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`,Cr({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`}}}}}}}),Yo=({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}=Ir(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 Xo(){let e=X(24),t=yr(),n=z(t,Yo,_r),r;e[0]!==t||e[1]!==n.isEnabled?(r=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]=r):r=e[2];let i=F(r),a;e[3]!==t||e[4]!==n.isActive||e[5]!==n.isEnabled||e[6]!==n.layout||e[7]!==i?(a=e=>{if(!n.isEnabled){console.warn(`Compare with latest feature is not enabled`);return}let r=e?e===`on`:!n.isActive;n.isActive&&!r&&n.layout===`auto`&&i(`manual`),t.send({type:`toggle.feature`,feature:`CompareWithLatest`,forceValue:r})},e[3]=t,e[4]=n.isActive,e[5]=n.isEnabled,e[6]=n.layout,e[7]=i,e[8]=a):a=e[8];let o=F(a),s;e[9]!==t||e[10]!==n.isEnabled?(s=()=>{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]=s):s=e[11];let c=F(s),l;e[12]!==t||e[13]!==n.isActive||e[14]!==n.isEnabled?(l=()=>{if(!n.isEnabled){console.warn(`Compare with latest feature is not enabled`);return}Fi(t.system?.get(`editor`),`editor actor not found`).send({type:`change.latest-to-manual`}),n.isActive&&t.send({type:`toggle.feature`,feature:`CompareWithLatest`,forceValue:!1})},e[12]=t,e[13]=n.isActive,e[14]=n.isEnabled,e[15]=l):l=e[15];let u=F(l),d;e[16]!==i||e[17]!==o||e[18]!==c||e[19]!==u?(d={toggleCompare:o,switchLayout:i,resetManualLayout:c,applyLatestToManual:u},e[16]=i,e[17]=o,e[18]=c,e[19]=u,e[20]=d):d=e[20];let f;return e[21]!==n||e[22]!==d?(f=[n,d],e[21]=n,e[22]=d,e[23]=f):f=e[23],f}var Zo=Ue.withProps({color:`dark`,fz:`xs`,openDelay:600,closeDelay:120,label:``,children:null,offset:8,withinPortal:!1}),Qo=()=>Q(Ge,{variant:`transparent`,size:16,className:N({display:{base:`none`,"@/md":`flex`},color:{base:`mantine.colors.gray[5]`,_dark:`mantine.colors.dark[3]`}}),children:Q(kn,{})});Ae.withProps({separator:Q(Qo,{}),separatorMargin:4});var $o=wi(({variant:e=`default`,className:t,disabled:n=!1,type:r,...i},a)=>Q(A,{size:`md`,variant:`transparent`,radius:`sm`,component:gi,...!n&&{whileHover:{scale:1.085},whileTap:{scale:1,translateY:1}},disabled:n,...i,className:P(t,ga({variant:e,type:r})),ref:a}));function es({disabled:e=!1,onApplyLatestToManual:t,onResetManualLayout:n}){return $(Ee,{withinPortal:!1,floatingStrategy:`absolute`,shadow:`lg`,position:`bottom-start`,offset:{mainAxis:4},disabled:e,children:[Q(Ee.Target,{children:$(D,{disabled:e,className:P(`mantine-active`,I({gap:`2`,py:`1.5`,px:`2`,lineHeight:`1`,textStyle:`xs`,fontWeight:`medium`,layerStyle:`likec4.panel.action`,userSelect:`none`})),children:[Q(G,{children:`Actions`}),Q(Rn,{size:12,stroke:2,opacity:.7})]})}),$(Ee.Dropdown,{children:[$(Ee.Item,{disabled:!t,onClick:t,rightSection:t&&Q(Ue,{onClick:zt,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(On,{size:14,stroke:1.7,opacity:.5})}),children:[`Sync with latest`,!t&&Q(G,{textStyle:`xs`,children:`view type is changed`})]}),Q(Ee.Item,{onClick:n,children:`Remove manual layout`})]})]})}var ts=[{value:`manual`,label:`Saved manual`},{value:`auto`,label:`Latest auto`}];function ns({value:e,onChange:t}){return Q(U,{layout:`position`,children:Q(Xe,{size:`xs`,color:e===`manual`?`orange`:`green`,value:e,onChange:e=>{Mi(e===`manual`||e===`auto`,`Invalid layout type`),t(e)},classNames:{label:N({fontSize:`xxs`,fontWeight:`medium`})},data:ts})})}var rs=Oe.withProps({mx:2,size:`xs`,orientation:`vertical`});function is(){let e=X(10),[t,n]=Xo(),{toggleCompare:r,switchLayout:i,resetManualLayout:a,applyLatestToManual:o}=n,s;if(e[0]!==o||e[1]!==t.canApplyLatest||e[2]!==t.hasEditor||e[3]!==t.layout||e[4]!==a||e[5]!==i||e[6]!==r){let n;e[8]===r?n=e[9]:(n=e=>{e.stopPropagation(),r()},e[8]=r,e[9]=n),s=$(Z,{children:[Q(G,{css:{textStyle:`xs`,color:`likec4.panel.text`,userSelect:`none`},children:`Compare`}),Q(ns,{value:t.layout,onChange:i}),t.hasEditor&&$(R,{gap:`1`,children:[Q(rs,{}),Q(es,{disabled:t.layout===`auto`,onResetManualLayout:a,onApplyLatestToManual:t.canApplyLatest?o:void 0}),Q(rs,{})]}),Q($o,{size:`sm`,onClick:n,children:Q(Zn,{})})]}),e[0]=o,e[1]=t.canApplyLatest,e[2]=t.hasEditor,e[3]=t.layout,e[4]=a,e[5]=i,e[6]=r,e[7]=s}else s=e[7];return s}var as=e=>!!e.drifts&&T(e.drifts,1),os=kr(e=>({view:e.view.drifts??[],nodes:m(e.view.nodes,E(e=>({id:e.id,name:e.title,drifts:e.drifts})),r(as)),edges:m(e.view.edges,E(e=>({edgeId:e.id,drifts:e.drifts})),r(as))})),ss={initial:{opacity:0,translateY:-8},animate:{opacity:1,translateY:0,transition:{delayChildren:_i(.1)}},exit:{opacity:0,translateY:-8,transition:{delayChildren:_i(.2,{startDelay:.5,from:`last`})}}};function cs(){let e=X(13),t=Vr(os,vr),n=L(),r;e[0]===n?r=e[1]:(r=e=>{e.stopPropagation(),n.unhighlightAll()},e[0]=n,e[1]=r);let i=ge(r,150),a;e[2]!==n||e[3]!==i?(a=e=>{let t=e.currentTarget.getAttribute(`data-drift-type`),r=e.currentTarget.getAttribute(`data-drift-id`);if(t===`node`&&r){e.stopPropagation(),i.cancel(),n.highlightNode(r);return}if(t===`edge`&&r){e.stopPropagation(),i.cancel(),n.highlightEdge(r);return}},e[2]=n,e[3]=i,e[4]=a):a=e[4];let o=F(a),s;e[5]===n?s=e[6]:(s=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]=s);let c=F(s),l,u;if(e[7]!==i||e[8]!==t||e[9]!==o||e[10]!==c){u=Symbol.for(`react.early_return_sentinel`);bb0:{let e={onMouseEnter:o,onMouseLeave:i,onClick:c},{view:n,nodes:r,edges:a}=t;if(n.length===0&&r.length===0&&a.length===0){u=null;break bb0}l=Q(W,{children:$(H.div,{layout:`size`,variants:ss,initial:`initial`,animate:`animate`,exit:`exit`,layoutDependency:t,className:br({mx:`[calc({spacing.2} * -1)]`,px:`2`,flex:`1`,height:`100%`,overflow:`scroll`,gap:`4`}),children:[T(n,1)&&Q(ls,{drifts:n}),r.length>0&&$(H.div,{layout:!0,children:[Q(ps,{children:`Elements:`}),Q(`div`,{className:br({mt:`2`,gap:`2`}),children:E(r,t=>Q(us,{...t,...e},t.id))})]},`nodes-drifts`),a.length>0&&$(H.div,{layout:!0,children:[Q(ps,{children:`Relationships:`}),Q(`div`,{className:br({mt:`2`,gap:`2`}),children:E(a,t=>Q(ds,{...t,...e},t.edgeId))})]},`edges-drifts`)]},`drifts-summary`)})}e[7]=i,e[8]=t,e[9]=o,e[10]=c,e[11]=l,e[12]=u}else l=e[11],u=e[12];return u===Symbol.for(`react.early_return_sentinel`)?l:u}function ls({drifts:e}){return Q(Z,{children:$(H.div,{layout:`position`,className:br({gap:`2`}),children:[Q(ps,{children:`View drifts (summary):`}),Q(fs,{children:E(e,e=>Q(ms,{children:e},e))},`view-drifts`)]},`view-drifts-header`)})}function us({id:e,name:t,drifts:n,...r}){let i=`node-drifts-${e}`;return $(fs,{"data-drift-type":`node`,"data-drift-id":e,...r,children:[Q(yi,{truncate:!0,css:{maxWidth:{base:160,"@/sm":180,"@/md":250}},color:`likec4.compare.manual.outline`,fontSize:`xs`,lineHeight:`sm`,fontWeight:`medium`,children:t}),E(n,(e,t)=>Q(ms,{children:e},i+e+t))]},i)}function ds({edgeId:e,drifts:t,...n}){let r=`edge-drifts-${e}`;return Q(fs,{"data-drift-type":`edge`,"data-drift-id":e,...n,children:E(t,(e,t)=>Q(ms,{children:e},r+e+t))},r)}var fs=Lt(H.div,{base:br.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:ss,layout:!0,initial:`initial`,animate:`animate`,exit:`exit`}}),ps=Lt(H.div,{base:{userSelect:`none`,fontWeight:`medium`,textStyle:`dimmed.xs`,pl:`2`}},{defaultProps:{variants:ss,layout:`position`,initial:`initial`,animate:`animate`,exit:`exit`}}),ms=Lt(H.div,{base:{userSelect:`none`,textStyle:`xs`,color:{base:`text`,_groupHover:`text.bright`}}},{defaultProps:{variants:ss,layout:`position`,initial:`initial`,animate:`animate`,exit:`exit`}}),hs={initial:{opacity:0,translateX:-20},animate:{opacity:1,translateX:0},exit:{opacity:0,translateX:-20}},gs=K(()=>{let e=X(19),t=qo(),n=pr(),{enableCompareWithLatest:r}=V(),[i,a]=Xo(),[o,s]=Y(!1),c;e[0]===n?c=e[1]:(c=()=>{setTimeout(()=>{n()&&s(!1)},500)},e[0]=n,e[1]=c);let l=c,u;e[2]!==i.canApplyLatest||e[3]!==i.layout||e[4]!==a||e[5]!==l?(u=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(),l()},200)},e[2]=i.canApplyLatest,e[3]=i.layout,e[4]=a,e[5]=l,e[6]=u):u=e[6];let d=F(u),f;e[7]!==a||e[8]!==l?(f=e=>{e.stopPropagation(),s(!0),setTimeout(()=>{a.resetManualLayout(),l()},200)},e[7]=a,e[8]=l,e[9]=f):f=e[9];let p=F(f),m;return e[10]!==i.canApplyLatest||e[11]!==i.drifts||e[12]!==i.layout||e[13]!==r||e[14]!==o||e[15]!==d||e[16]!==p||e[17]!==t?(m=Q(W,{children:r&&$(Z,{children:[Q(U,{layout:`size`,layoutDependency:i.drifts||i.layout,className:I({gap:`2`,layerStyle:`likec4.panel`,position:`relative`,px:`2`,py:`1`,pl:`3`,pointerEvents:`all`}),variants:hs,initial:`initial`,animate:`animate`,exit:`exit`,children:Q(is,{})},`ComparePanel`),$(U,{layout:`size`,layoutDependency:i.drifts||i.layout,variants:hs,initial:`initial`,animate:`animate`,exit:`exit`,className:br({gap:`4`,layerStyle:`likec4.panel`,position:`relative`,p:`4`,pointerEvents:`all`,height:`auto`,overflow:`hidden`,maxHeight:`calc(100cqh - 180px)`,"@/md":{minWidth:`200px`}}),children:[Q(cs,{}),i.canApplyLatest&&Q(Z,{children:$(U,{layout:`position`,className:N({flex:`0`}),children:[Q(Oe,{orientation:`horizontal`,size:`xs`,mb:`xs`}),$(R,{children:[Q(Zo,{openDelay:100,disabled:i.layout!==`auto`,label:`Switch to manual layout to apply changes.`,...t,children:Q(M,{loading:o,size:`xs`,color:`orange`,variant:`light`,onClick:d,disabled:i.layout===`auto`,children:`Apply changes`})}),!o&&Q(Zo,{openDelay:100,disabled:i.layout!==`manual`,label:`Reset manual layout`,...t,children:Q(M,{hidden:o,size:`xs`,color:`orange`,variant:`subtle`,onClick:p,children:`Reset`})})]})]})})]},`ListOfDrifts`)]})}),e[10]=i.canApplyLatest,e[11]=i.drifts,e[12]=i.layout,e[13]=r,e[14]=o,e[15]=d,e[16]=p,e[17]=t,e[18]=m):m=e[18],m});gs.displayName=`ComparePanel`;var _s=Ar(e=>e.children.editor??null);function vs(){return Vr(_s,Object.is)}function ys(e){let t=X(7),n=vs(),r;t[0]!==n||t[1]!==e?(r=()=>n?.getSnapshot().hasTag(e)??!1,t[0]=n,t[1]=e,t[2]=r):r=t[2];let[i,a]=Y(r),o,s;return t[3]!==n||t[4]!==e?(o=()=>{let t=n?.subscribe(t=>{a(t.hasTag(e))});return()=>{t?.unsubscribe(),a(!1)}},s=[n,e],t[3]=n,t[4]=e,t[5]=o,t[6]=s):(o=t[5],s=t[6]),q(o,s),i}var bs=Ue.withProps({color:`dark`,fz:`xs`,openDelay:600,closeDelay:120,label:``,children:null,offset:8,position:`right`}),xs=K(e=>{let t=X(2),{visible:n}=e,r=n===void 0?!0:n,i=L(),a;return t[0]===i?a=t[1]:(a=e=>{e.stopPropagation(),i.editorActor().send({type:`change.semantic-layout`})},t[0]=i,t[1]=a),Q(bs,{label:`Semantic Layout with AI`,children:Q($o,{loading:ys(`ai-semantic-layout`),initial:{display:r?`block`:`none`},animate:{display:r?`block`:`none`,opacity:r?1:.2,x:r?0:-5,y:r?0:-8},onClick:a,children:Q(Kn,{size:14,stroke:2})})})});xs.displayName=`ApplySemanticLayout`;var Ss=()=>{let e=X(2),t=L(),n;return e[0]===t?n=e[1]:(n=Q(bs,{label:`Center camera`,children:Q($o,{onClick:()=>t.fitDiagram(),children:Q(Cn,{})})}),e[0]=t,e[1]=n),n};N({gap:`xxs`,_empty:{display:`none`}}),N({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`}}}),N({shadow:{base:`md`,_whenPanning:`none`}}),N({"& .tabler-icon":{width:`65%`,height:`65%`}});var Cs=N({flex:`1 1 40%`,textAlign:`center`,fontWeight:`medium`,padding:`[4px 6px]`,fontSize:`11px`,zIndex:1}),ws=N({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]`}}),Ts=N({position:`relative`,borderRadius:`sm`,background:`mantine.colors.gray[3]`,boxShadow:`inset 1px 1px 3px 0px #00000024`,_dark:{background:`mantine.colors.dark[7]`}}),Es=N({position:`absolute`,width:`8px`,height:`8px`,border:`2px solid`,borderColor:`mantine.colors.gray[5]`,borderRadius:`sm`,transform:`translate(-50%, -50%)`}),Ds=e=>({viewId:e.view.id,isManualLayout:e.view._layout===`manual`,autoLayout:e.view.autoLayout}),Os=()=>{let e=X(21),t=L(),[n,r]=Y(null),i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i={},e[0]=i):i=e[0];let[a,o]=Y(i),{autoLayout:s,viewId:c,isManualLayout:l}=jr(Ds),{ref:u,hovered:d}=gt(),f;e[1]===a?f=e[2]:(f=e=>t=>{a[e]=t,o(a)},e[1]=a,e[2]=f);let p=f,m;e[3]!==s||e[4]!==t?(m=e=>n=>{n.stopPropagation(),t.fitDiagram(),t.triggerChange({op:`change-autolayout`,layout:{...s,direction:e}})},e[3]=s,e[4]=t,e[5]=m):m=e[5];let h=m,g;e[6]!==s||e[7]!==t?(g=(e,n)=>{t.fitDiagram(),t.triggerChange({op:`change-autolayout`,layout:{...s,nodeSep:e,rankSep:n}})},e[6]=s,e[7]=t,e[8]=g):g=e[8];let _=g;if(l)return null;let v;return e[9]!==s.direction||e[10]!==s.nodeSep||e[11]!==s.rankSep||e[12]!==a||e[13]!==d||e[14]!==u||e[15]!==n||e[16]!==h||e[17]!==p||e[18]!==_||e[19]!==c?(v=$(He,{position:`right-start`,clickOutsideEvents:[`pointerdown`],radius:`xs`,shadow:`lg`,offset:{mainAxis:10},children:[Q(Ne,{children:Q(bs,{label:`Change Auto Layout`,children:Q($o,{children:Q(wn,{})})})}),Q(ut,{className:`likec4-top-left-panel`,p:8,pt:6,opacity:d?.6:1,children:$(O,{pos:`relative`,ref:r,children:[Q(Re,{target:a[s.direction],parent:n,className:ws}),Q(O,{mb:10,children:Q(j,{inline:!0,fz:`xs`,c:`dimmed`,fw:500,children:`Auto layout:`})}),$(Ye,{gap:2,wrap:`wrap`,justify:`stretch`,maw:160,children:[Q(D,{className:Cs,ref:p(`TB`),onClick:h(`TB`),children:`Top-Bottom`}),Q(D,{className:Cs,ref:p(`BT`),onClick:h(`BT`),children:`Bottom-Top`}),Q(D,{className:Cs,ref:p(`LR`),onClick:h(`LR`),children:`Left-Right`}),Q(D,{className:Cs,ref:p(`RL`),onClick:h(`RL`),children:`Right-Left`})]}),Q(O,{my:10,children:Q(j,{inline:!0,fz:`xs`,c:`dimmed`,fw:500,children:`Spacing:`})}),Q(As,{ref:u,isVertical:s.direction===`TB`||s.direction===`BT`,nodeSep:s.nodeSep,rankSep:s.rankSep,onChange:_},c)]})})]}),e[9]=s.direction,e[10]=s.nodeSep,e[11]=s.rankSep,e[12]=a,e[13]=d,e[14]=u,e[15]=n,e[16]=h,e[17]=p,e[18]=_,e[19]=c,e[20]=v):v=e[20],v},ks=400,As=wi((e,t)=>{let n=X(13),{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 s,c;n[3]!==r||n[4]!==o?(s=e=>{let{x:t,y:n}=e;r||([t,n]=[n,t]),o(Math.round(t*ks),Math.round(n*ks))},c=[o,r],n[3]=r,n[4]=o,n[5]=s,n[6]=c):(s=n[5],c=n[6]);let l=fr(s,c,250,2e3),u=(i??100)/ks,d=(a??120)/ks,f;n[7]!==u||n[8]!==d?(f=ve({x:u,y:d}),n[7]=u,n[8]=d,n[9]=f):f=n[9];let p;n[10]!==l||n[11]!==f?(p={defaultValue:f,onChange:l},n[10]=l,n[11]=f,n[12]=p):p=n[12];let[m,h]=pe(p),{ref:g}=we(h),_=Math.round(m.x*ks),v=Math.round(m.y*ks);return r||([_,v]=[v,_]),$(O,{ref:ht(g,t),className:Ts,pt:`100%`,children:[Q(O,{className:Es,style:{left:`${m.x*100}%`,top:`${m.y*100}%`}}),Q(O,{pos:`absolute`,left:2,bottom:2,children:$(j,{component:`div`,fz:8,c:`dimmed`,fw:500,children:[v,`, `,_]})})]})}),js=({label:e,icon:t,onClick:n})=>Q(bs,{label:e,withinPortal:!1,position:`top`,children:Q($o,{classNames:{root:`action-icon`,icon:N({"& > svg":{width:`70%`,height:`70%`}})},onClick:n,children:t})}),Ms=K(()=>{let e=X(18),t=L(),n;e[0]===t?n=e[1]:(n=e=>{e.stopPropagation(),t.align(`Column`)},e[0]=t,e[1]=n);let r;e[2]===t?r=e[3]:(r=e=>{e.stopPropagation(),t.align(`Left`)},e[2]=t,e[3]=r);let i;e[4]===t?i=e[5]:(i=e=>{e.stopPropagation(),t.align(`Center`)},e[4]=t,e[5]=i);let a;e[6]===t?a=e[7]:(a=e=>{e.stopPropagation(),t.align(`Right`)},e[6]=t,e[7]=a);let o;e[8]===t?o=e[9]:(o=e=>{e.stopPropagation(),t.align(`Row`)},e[8]=t,e[9]=o);let s;e[10]===t?s=e[11]:(s=e=>{e.stopPropagation(),t.align(`Top`)},e[10]=t,e[11]=s);let c;e[12]===t?c=e[13]:(c=e=>{e.stopPropagation(),t.align(`Middle`)},e[12]=t,e[13]=c);let l;e[14]===t?l=e[15]:(l=e=>{e.stopPropagation(),t.align(`Bottom`)},e[14]=t,e[15]=l);let u;return e[16]===t?u=e[17]:(u=e=>{e.stopPropagation(),t.resetEdgeControlPoints()},e[16]=t,e[17]=u),$(He,{position:`right`,offset:{mainAxis:12},clickOutsideEvents:[`pointerdown`],...qo(),children:[Q(Ne,{children:Q(bs,{label:`Manual layouting tools`,children:Q($o,{children:Q(Nn,{})})})}),Q(ut,{className:I({gap:`0.5`,layerStyle:`likec4.panel`,padding:`1`,pointerEvents:`all`}),children:$(Ve,{children:[Q(js,{label:`Align in columns`,icon:Q(Xn,{}),onClick:n}),Q(js,{label:`Align left`,icon:Q(Mn,{}),onClick:r}),Q(js,{label:`Align center`,icon:Q(Pn,{}),onClick:i}),Q(js,{label:`Align right`,icon:Q(Yn,{}),onClick:a}),Q(js,{label:`Align in rows`,icon:Q(Xn,{style:{transform:`rotate(90deg)`}}),onClick:o}),Q(js,{label:`Align top`,icon:Q(Sn,{}),onClick:s}),Q(js,{label:`Align middle`,icon:Q(jn,{}),onClick:c}),Q(js,{label:`Align bottom`,icon:Q(En,{}),onClick:l}),Q(js,{label:`Reset all control points`,icon:Q(Hn,{}),onClick:u})]})})]})});Ms.displayName=`ManualLayoutToolsButton`;var Ns=()=>{let e=X(2),t=L(),n;return e[0]===t?n=e[1]:(n=Q(bs,{label:`Switch to Read-only`,children:Q($o,{onClick:()=>t.toggleFeature(`ReadOnly`),children:Q(In,{size:14,stroke:2})})}),e[0]=t,e[1]=n),n},Ps={hidden:{opacity:0,translateX:-20},visible:{opacity:1,translateX:0},exit:{opacity:0,translateX:-20}};function Fs(){let e=X(3),{enableReadOnly:t,enableCompareWithLatest:n,enableAISemanticLayout:r}=V(),i=!n&&!t&&r,a;return e[0]!==t||e[1]!==i?(a=Q(W,{propagate:!0,children:!t&&Q(U,{layout:`position`,className:br({gap:`xs`,layerStyle:`likec4.panel`,position:`relative`,cursor:`pointer`,padding:`xxs`,pointerEvents:`all`}),initial:`hidden`,animate:`visible`,exit:`exit`,variants:Ps,children:$(Ve,{openDelay:600,closeDelay:120,children:[Q(Os,{}),Q(Ms,{}),Q(Ss,{}),Q(Ns,{}),Q(xs,{visible:i})]})})}),e[0]=t,e[1]=i,e[2]=a):a=e[2],a}var Is=Ci(null);Is.displayName=`NavigationPanelActorSafeContext`;var Ls=Is.Provider,Rs=()=>{let e=Ei(Is);if(e===null)throw Error(`NavigationPanelActorRef is not found in the context`);return e};function zs(e,t){let n=t===void 0?_r:t;return z(Rs(),e,n)}function Bs(e,t){let n=X(2),r=t===void 0?_r:t,i;return n[0]===e?i=n[1]:(i=t=>e(t.context),n[0]=e,n[1]=i),zs(i,r)}function Vs(){let e=X(15),t=Rs(),n,r,i,a,o,s;e[0]===t?(n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6]):(n=e=>t.send(e),r=e=>t.send({type:`select.folder`,folderPath:e}),i=e=>t.send({type:`select.view`,viewId:e}),a=()=>t.getSnapshot().hasTag(`active`),o=()=>t.send({type:`searchQuery.change`,value:``}),s=()=>t.send({type:`dropdown.dismiss`}),e[0]=t,e[1]=n,e[2]=r,e[3]=i,e[4]=a,e[5]=o,e[6]=s);let c;return e[7]!==t||e[8]!==n||e[9]!==r||e[10]!==i||e[11]!==a||e[12]!==o||e[13]!==s?(c={actorRef:t,send:n,selectFolder:r,selectView:i,isOpened:a,clearSearch:o,closeDropdown:s},e[7]=t,e[8]=n,e[9]=r,e[10]=i,e[11]=a,e[12]=o,e[13]=s,e[14]=c):c=e[14],c}var Hs=wi((e,t)=>Q(M,{variant:`filled`,size:`xs`,fw:`500`,...e,ref:t,component:gi,whileTap:{scale:.95},layout:`position`,layoutId:`trigger-dynamic-walkthrough`,className:N({flexShrink:0})}));function Us(){let e=X(8),{enableCompareWithLatest:t}=V(),n=L(),r=Vs(),i=`Start Dynamic View Walkthrough`;switch(!0){case t:i=`Walkthrough not available when Compare is active`}let a;if(e[0]!==r||e[1]!==n||e[2]!==t||e[3]!==i){let o;e[5]!==r||e[6]!==n?(o=e=>{e.stopPropagation(),r.closeDropdown(),n.startWalkthrough()},e[5]=r,e[6]=n,e[7]=o):o=e[7],a=Q(Zo,{label:i,children:Q(Hs,{onClick:o,initial:{opacity:0,scale:.6,translateX:-10},animate:{opacity:1,scale:1,translateX:0},exit:{opacity:0,translateX:-20},size:`compact-xs`,h:26,disabled:t,classNames:{label:N({display:{base:`none`,"@/md":`inherit`}}),section:N({marginInlineStart:{base:`0`,"@/md":`2`}})},rightSection:Q(Vn,{size:10}),children:`Start`})}),e[0]=r,e[1]=n,e[2]=t,e[3]=i,e[4]=a}else a=e[4];return a}var Ws=wi(({value:e,onChange:t},n)=>Q(U,{ref:n,layout:`position`,children:Q(Xe,{size:`xs`,value:e,onChange:e=>{Mi(e===`diagram`||e===`sequence`,`Invalid dynamic view variant`),t(e)},classNames:{label:N({fontSize:`xxs`})},data:[{value:`diagram`,label:`Diagram`},{value:`sequence`,label:`Sequence`}]})}));function Gs(){let e=X(5),t=jr(Ks),n=L(),r;if(e[0]!==n||e[1]!==t){let i;e[3]===n?i=e[4]:(i=e=>{n.switchDynamicViewVariant(e)},e[3]=n,e[4]=i),r=$(W,{children:[Q(Ws,{value:t,onChange:i}),Q(Us,{},`trigger-dynamic-walkthrough`)]}),e[0]=n,e[1]=t,e[2]=r}else r=e[2];return r}function Ks(e){return e.dynamicViewVariant}var qs=M.withProps({component:gi,layout:`position`,whileTap:{scale:.95},variant:`light`,size:`xs`,fw:`500`}),Js=()=>{let e=X(2),{portalProps:t}=qo(),n;return e[0]===t?n=e[1]:(n=Q(Ie,{...t,children:Q(G,{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]=t,e[1]=n),n};function Ys(){let e=X(13),t=L(),{isParallel:n,hasNext:r,hasPrevious:i,currentStep:a,totalSteps:o}=jr(Xs),s;if(e[0]!==a||e[1]!==t||e[2]!==r||e[3]!==i||e[4]!==n||e[5]!==o){let c;e[7]===t?c=e[8]:(c=e=>{e.stopPropagation(),t.stopWalkthrough()},e[7]=t,e[8]=c);let l;e[9]===t?l=e[10]:(l=()=>t.walkthroughStep(`previous`),e[9]=t,e[10]=l);let u;e[11]===t?u=e[12]:(u=()=>t.walkthroughStep(`next`),e[11]=t,e[12]=u),s=$(W,{propagate:!0,mode:`popLayout`,children:[Q(Hs,{variant:`light`,size:`xs`,color:`orange`,mr:`sm`,onClick:c,rightSection:Q(Qn,{size:10}),children:`Stop`},`stop-walkthrough`),Q(qs,{disabled:!i,onClick:l,leftSection:Q(Jn,{size:10}),children:`Previous`},`prev`),$(ke,{component:U,layout:`position`,size:`md`,radius:`sm`,variant:n?`gradient`:`transparent`,gradient:{from:`red`,to:`orange`,deg:90},rightSection:Q(U,{className:N({fontSize:`xxs`,display:n?`block`:`none`}),children:`parallel`}),className:N({alignItems:`baseline`}),children:[a,` / `,o]},`step-badge`),Q(qs,{disabled:!r,onClick:u,rightSection:Q(rr,{size:10}),children:`Next`},`next`),n&&Q(Js,{},`parallel-frame`)]}),e[0]=a,e[1]=t,e[2]=r,e[3]=i,e[4]=n,e[5]=o,e[6]=s}else s=e[6];return s}function Xs(e){let t=e.xyedges.findIndex(t=>t.id===e.activeWalkthrough?.stepId);return{isParallel:u(e.activeWalkthrough?.parallelPrefix),hasNext:t<e.xyedges.length-1,hasPrevious:t>0,currentStep:t+1,totalSteps:e.xyedges.length}}var Zs=wi((e,t)=>Q(`svg`,{height:`24`,width:`24`,fill:`currentColor`,...e,viewBox:`0 0 24 24`,ref:t,children: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`})})),Qs=`https://github.com/`,$s=wi(({value:e,className:t,...n},r)=>{let i=e.url.includes(`://`)?e.url:new window.URL(e.url,window.location.href).toString(),a=i.startsWith(Qs);return Q(ke,{ref:r,variant:`default`,radius:`sm`,size:`sm`,tt:`none`,leftSection:e.title?Q(Z,{children:e.title}):null,rightSection:Q(ue,{value:i,timeout:1500,children:({copy:e,copied:t})=>Q(A,{className:N({opacity:t?1:.45,transition:`fast`,_hover:{opacity:1}}),tabIndex:-1,size:`20`,variant:t?`light`:`transparent`,color:t?`teal`:`gray`,"data-active":t,onClick:t=>{t.stopPropagation(),t.preventDefault(),e()},children:t?Q(Bn,{}):Q(nr,{stroke:2.5})})}),...n,className:P(t,`group`),classNames:{root:N({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:N({'&:is([data-position="left"])':{color:`text.dimmed`,userSelect:`none`,pointerEvents:`none`,_groupHover:{color:`[var(--badge-color)]`,opacity:.7}}})},children:$(Lt.a,{href:i,target:`_blank`,style:{color:`var(--badge-color)`,cursor:`pointer`},css:{transition:`fast`,opacity:{base:.7,_hover:1},textDecoration:{base:`none`,_hover:`underline`}},children:[a&&Q(Zs,{height:`12`,width:`12`,style:{verticalAlign:`middle`,marginRight:`4px`}}),a?i.replace(Qs,``):i]})})}),ec=({context:e})=>{let t=e.view;return{id:t.id,title:e.viewModel?.title??(t.title&&na(t.title))??`Untitled View`,description:e.viewModel?.description??Zi.from(t.description),tags:t.tags??[],links:t.links??[]}},tc=e=>{let t=X(1),[n,r]=Y(!1),i=zs(ec,vr),a;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=()=>r(!0),t[0]=a):a=t[0],$(He,{position:`bottom-end`,shadow:`xl`,clickOutsideEvents:[`pointerdown`,`mousedown`,`click`],offset:{mainAxis:4},opened:n,onChange:r,...qo(),...e,children:[Q(nc,{linksCount:i.links.length,onOpen:a}),n&&Q(ic,{data:i,onClose:()=>r(!1)})]})},nc=({linksCount:e,onOpen:t})=>Q(He.Target,{children:$(D,{component:gi,layout:`position`,whileTap:{scale:.95,translateY:1},onClick:e=>{e.stopPropagation(),t()},className:P(`group`,I({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`}}),``),children:[Q(An,{size:16,stroke:1.8}),e>0&&$(R,{gap:`[1px]`,children:[Q(Tn,{size:14,stroke:2}),Q(G,{css:{fontSize:`11px`,fontWeight:`bold`,lineHeight:1,opacity:.8},children:e})]})]})}),rc=Lt(`div`,{base:{fontSize:`xs`,color:`text.dimmed`,fontWeight:`medium`,userSelect:`none`,mb:`xxs`}}),ic=e=>{let t=X(9),{data:n,onClose:r}=e,{id:i,title:a,description:o,tags:s,links:c}=n,l=L();Or(`paneClick`,r),Or(`nodeClick`,r);let u;if(t[0]!==o||t[1]!==l||t[2]!==i||t[3]!==c||t[4]!==s||t[5]!==a){let e;t[7]===l?e=t[8]:(e=e=>Q($r,{tag:e,cursor:`pointer`,onClick:t=>{t.stopPropagation(),l.openSearch(`#${e}`)}},e),t[7]=l,t[8]=e),u=$(He.Dropdown,{className:P(`nowheel nopan nodrag`,br({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}})),children:[$(`section`,{children:[Q(j,{component:`div`,fw:500,size:`xl`,lh:`sm`,children:a}),$(R,{alignItems:`flex-start`,mt:`1`,children:[Q(ac,{label:`id`,value:i}),Q(R,{gap:`xs`,flexWrap:`wrap`,children:s.map(e)})]})]}),c.length>0&&$(`section`,{className:I({alignItems:`baseline`}),children:[Q(rc,{children:`Links`}),Q(R,{gap:`xs`,flexWrap:`wrap`,children:c.map(sc)})]}),o.isEmpty&&Q(j,{component:`div`,fw:500,size:`xs`,c:`dimmed`,style:{userSelect:`none`},children:`No description`}),o.nonEmpty&&$(`section`,{children:[Q(rc,{children:`Description`}),Q(xn,{value:o,fontSize:`sm`,emptyText:`No description`,className:N({userSelect:`all`})})]})]}),t[0]=o,t[1]=l,t[2]=i,t[3]=c,t[4]=s,t[5]=a,t[6]=u}else u=t[6];return u},ac=({label:e,value:t})=>$(R,{gap:`0.5`,children:[Q(oc,{children:e}),Q(ke,{size:`sm`,radius:`sm`,variant:`light`,color:`gray`,tt:`none`,fw:500,classNames:{root:N({width:`max-content`,overflow:`visible`,px:`1`,color:{_dark:`mantine.colors.gray[4]`,_light:`mantine.colors.gray[8]`}}),label:N({overflow:`visible`}),section:N({opacity:.5,userSelect:`none`,marginInlineEnd:`0.5`})},children:t})]}),oc=Lt(`div`,{base:{color:`text.dimmed`,fontWeight:`medium`,fontSize:`xxs`,userSelect:`none`}});function sc(e,t){return Q($s,{value:e},`${t}-${e.url}`)}var cc=K(()=>{let e=X(6),[t,n]=Xo(),{toggleCompare:r}=n,i=qo(),{drifts:a,isActive:o,isEnabled:s}=t,c;return e[0]!==a||e[1]!==o||e[2]!==s||e[3]!==i||e[4]!==r?(c=Q(W,{propagate:!0,children:s&&!o&&$(ye,{position:`bottom-start`,openDelay:600,closeDelay:200,floatingStrategy:`absolute`,offset:{mainAxis:4,crossAxis:-22},...i,children:[Q(xe,{children:Q(D,{component:gi,layout:`position`,onClick:e=>{e.stopPropagation(),r()},whileTap:{scale:.95,translateY:1},className:P(`group`,ga({variant:`filled`,type:`warning`}),I({gap:`xxs`,padding:`1.5`,rounded:`sm`,userSelect:`none`,cursor:`pointer`,fontSize:`xs`,fontWeight:`bold`})),children:o?Q(Z,{children:`Stop Compare`}):Q(ir,{size:18})})}),Q(ce,{p:`0`,children:$(Me,{color:`orange`,withBorder:!1,withCloseButton:!1,title:`View is out of sync`,children:[Q(j,{mt:2,size:`sm`,lh:`xs`,children:`Model has changed since this view was last updated.`}),$(j,{mt:4,size:`sm`,lh:`xs`,children:[`Detected changes:`,a.map(lc)]}),Q(M,{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],c});cc.displayName=`ManualLayoutWarning`;function lc(e){return $(xi,{children:[Q(`br`,{}),$(`span`,{children:[`- `,e]})]},e)}var uc=()=>{let e=X(6),t=Vs(),{onLogoClick:n}=Xr(),r;if(e[0]!==t||e[1]!==n){let i,a;e[3]===t?(i=e[4],a=e[5]):(i=()=>{t.send({type:`breadcrumbs.mouseEnter.root`})},a=()=>{t.send({type:`breadcrumbs.mouseLeave.root`})},e[3]=t,e[4]=i,e[5]=a),r=Q(U,{layout:`position`,children:$(D,{onMouseEnter:i,onMouseLeave:a,onClick:e=>{e.stopPropagation(),n&&t.isOpened()&&setTimeout(()=>{n()},100),t.send({type:`breadcrumbs.click.root`})},className:P(`mantine-active`,I({padding:`0.5`,width:{base:`[20px]`,"@/md":`[64px]`}})),children:[Q(on,{className:N({display:{base:`none`,"@/md":`block`}})}),Q(nn,{className:N({display:{base:`block`,"@/md":`none`}})})]})}),e[0]=t,e[1]=n,e[2]=r}else r=e[2];return r},dc=()=>{let e=X(8),t=L(),{hasStepBack:n,hasStepForward:r}=jr(fc),i;if(e[0]!==t||e[1]!==n||e[2]!==r){let a;e[4]===t?a=e[5]:(a=e=>{e.stopPropagation(),t.navigate(`back`)},e[4]=t,e[5]=a);let o;e[6]===t?o=e[7]:(o=e=>{e.stopPropagation(),t.navigate(`forward`)},e[6]=t,e[7]=o),i=$(U,{layout:`position`,className:I({gap:`0.5`}),children:[Q($o,{disabled:!n,onClick:a,children:Q(sr,{size:14})}),Q($o,{disabled:!r,onClick:o,children:Q(Wn,{size:14})})]}),e[0]=t,e[1]=n,e[2]=r,e[3]=i}else i=e[3];return i};function fc(e){return{hasStepBack:e.navigationHistory.currentIndex>0,hasStepForward:e.navigationHistory.currentIndex<e.navigationHistory.history.length-1}}var pc=()=>{let e=X(3),t=oa(),{enableVscode:n}=V(),{onOpenSource:r}=Xr();if(!n)return null;let i;return e[0]!==r||e[1]!==t?(i=Q(Zo,{label:`Open View Source`,children:Q($o,{onClick:e=>{e.stopPropagation(),r?.({view:t})},children:Q(Dn,{style:{width:`60%`,height:`60%`}})})}),e[0]=r,e[1]=t,e[2]=i):i=e[2],i};function mc(){let e=X(3),t=L(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=ni(),e[0]=n):n=e[0];let r=n,i;return e[1]===t?i=e[2]:(i=$(D,{component:gi,layout:`position`,onClick:e=>{e.stopPropagation(),t.openSearch()},whileTap:{scale:.95,translateY:1},className:P(`group`,I({gap:`xxs`,paddingInline:`sm`,paddingBlock:`xxs`,userSelect:`none`,layerStyle:`likec4.panel.action.filled`,display:{base:`none`,"@/md":`flex`}})),children:[Q(ur,{size:14,stroke:2.5}),Q(G,{css:{fontSize:`11px`,fontWeight:`bold`,lineHeight:1,opacity:.8,whiteSpace:`nowrap`},children:r?`⌘ + K`:`Ctrl + K`})]}),e[1]=t,e[2]=i),i}var hc=e=>{let t=Ir(e).enableCompareWithLatest&&!!e.view.drifts&&e.view._layout===`auto`,n=!u(e.activeWalkthrough),r=e.features.enableEditor,i=e.toggledFeatures.enableReadOnly??!1;return{visible:r&&n,disabled:t,isReadOnly:i}},gc=()=>{let e=X(5),{visible:t,disabled:n,isReadOnly:r}=jr(hc),i=L(),a;return e[0]!==i||e[1]!==n||e[2]!==r||e[3]!==t?(a=Q(W,{mode:`popLayout`,children:t&&$(D,{component:gi,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:P(`group`,I({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(In,{size:14,stroke:2,style:{display:r?`none`:void 0}}),Q(lr,{size:14,stroke:2,style:{display:r?void 0:`none`}}),Q(U,{className:N({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],a},_c=It({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`}}}}}),vc=({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&&na(t.title))??`Untitled View`,isDynamicView:(e.viewModel?._type??t._type)===`dynamic`}},yc=K(()=>{let e=X(17),t=Vs(),{enableNavigationButtons:n,enableDynamicViewWalkthrough:r,enableCompareWithLatest:i,enableSearch:a}=V(),{folders:o,viewTitle:s,isDynamicView:c}=z(t.actorRef,vc,vr),l;if(e[0]!==t||e[1]!==i||e[2]!==r||e[3]!==n||e[4]!==a||e[5]!==o||e[6]!==c||e[7]!==s){let u;e[9]===t?u=e[10]:(u=(e,n)=>{let{folderPath:r,title:i}=e;return[Q(D,{component:gi,className:P(_c({dimmed:!0,truncate:!0}),`mantine-active`,N({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(Qo,{},`separator-${n}`)]},e[9]=t,e[10]=u);let d=o.flatMap(u),f,p,m;e[11]===t?(f=e[12],p=e[13],m=e[14]):(f=()=>t.send({type:`breadcrumbs.mouseEnter.viewtitle`}),p=()=>t.send({type:`breadcrumbs.mouseLeave.viewtitle`}),m=e=>{e.stopPropagation(),t.send({type:`breadcrumbs.click.viewtitle`})},e[11]=t,e[12]=f,e[13]=p,e[14]=m);let h=Q(D,{component:gi,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:P(`mantine-active`,_c({truncate:!0}),N({userSelect:`none`})),title:s,onMouseEnter:f,onMouseLeave:p,onClick:m,children:s},`view-title`),g;e[15]===t?g=e[16]:(g=()=>t.closeDropdown(),e[15]=t,e[16]=g),l=$(W,{propagate:!0,mode:`popLayout`,children:[Q(uc,{},`logo-button`),n&&Q(dc,{},`nav-buttons`),$(U,{layout:`position`,className:I({gap:`1`,flexShrink:1,flexGrow:1,overflow:`hidden`}),children:[d,h]},`breadcrumbs`),$(U,{layout:`position`,className:I({gap:`0.5`,flexGrow:0,_empty:{display:`none`}}),children:[Q(tc,{onOpen:g}),Q(pc,{}),Q(gc,{})]},`actions`),r&&c&&Q(Gs,{},`dynamic-view-controls`),a&&!i&&Q(mc,{},`search-control`),Q(cc,{},`outdated-manual-layout-warning`)]}),e[0]=t,e[1]=i,e[2]=r,e[3]=n,e[4]=a,e[5]=o,e[6]=c,e[7]=s,e[8]=l}else l=e[8];return l});yc.displayName=`NavigationPanelControls`;var bc=wi(({className:e,truncateLabel:t=!0,...n},r)=>Q(lt,{...n,component:`button`,classNames:Ea({truncateLabel:t}),className:P(`group`,`mantine-active`,e),ref:r}));bc.displayName=`NavigationLink`;var xc=K(e=>{let t=X(3),{projects:n,onProjectChange:r}=ei();if(n.length<=1)return null;let i;return t[0]!==r||t[1]!==n?(i=Q(Sc,{projects:n,onProjectChange:r}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i});function Sc(e){let t=X(7),{projects:n,onProjectChange:r}=e,i=ti(),a;if(t[0]!==r||t[1]!==i||t[2]!==n){let e;t[4]!==r||t[5]!==i?(e=e=>{let{id:t,title:n}=e;return Q(be,{onClick:e=>{if(i===t){e.stopPropagation();return}r(t)},children:n??t},t)},t[4]=r,t[5]=i,t[6]=e):e=t[6],a=$(R,{gap:`0.5`,alignItems:`baseline`,children:[Q(G,{css:{fontWeight:`normal`,fontSize:`xxs`,color:`likec4.panel.text.dimmed`,userSelect:`none`},children:`Project`}),$(Ee,{withinPortal:!1,shadow:`md`,position:`bottom-start`,offset:{mainAxis:2},children:[Q(se,{children:Q(M,{tabIndex:-1,autoFocus:!1,variant:`subtle`,size:`compact-xs`,color:`gray`,classNames:{root:N({fontWeight:`normal`,fontSize:`xxs`,height:`auto`,lineHeight:1.1,color:{_light:`mantine.colors.gray[9]`}}),section:N({'&:is([data-position="right"])':{marginInlineStart:`1`}})},rightSection:Q(Rn,{opacity:.5,size:12,stroke:1.5}),children:i})}),Q(qe,{children:n.map(e)})]})]}),t[0]=r,t[1]=i,t[2]=n,t[3]=a}else a=t[3];return a}var Cc=me({siblingSelector:`[data-likec4-focusable]`,parentSelector:`[data-likec4-breadcrumbs-dropdown]`,activateOnFocus:!1,loop:!0,orientation:`vertical`});function wc(e){return e.context.searchQuery.trim().length>=2}var Tc=K(()=>{let e=X(15),t=Vs(),n=zs(wc),r;e[0]===t?r=e[1]:(r=()=>{t.closeDropdown()},e[0]=t,e[1]=r),Or(`paneClick`,r);let i;e[2]===t?i=e[3]:(i=()=>{t.closeDropdown()},e[2]=t,e[3]=i),Or(`nodeClick`,i);let a;e[4]===t?a=e[5]:(a=()=>{t.closeDropdown()},e[4]=t,e[5]=a),Or(`edgeClick`,a);let o;e[6]===t?o=e[7]:(o=e=>{t.send({type:`searchQuery.change`,value:e})},e[6]=t,e[7]=o);let s=St(o,250),c;if(e[8]!==t||e[9]!==n||e[10]!==s){let r,i;e[12]===t?(r=e[13],i=e[14]):(r=()=>t.send({type:`dropdown.mouseLeave`}),i=()=>t.send({type:`dropdown.mouseEnter`}),e[12]=t,e[13]=r,e[14]=i),c=$(ut,{className:P(`nowheel`,br({layerStyle:`likec4.dropdown`,gap:`xs`,pointerEvents:`all`})),"data-likec4-breadcrumbs-dropdown":!0,onMouseLeave:r,onMouseEnter:i,children:[Q(xc,{}),Q(R,{gap:`xs`,children:Q(Hc,{defaultValue:t.actorRef.getSnapshot().context.searchQuery,onChange:s})}),Q(De,{scrollbars:`x`,type:`auto`,offsetScrollbars:`present`,classNames:{root:N({maxWidth:[`calc(100vw - 50px)`,`calc(100cqw - 50px)`]})},styles:{viewport:{overscrollBehavior:`none`}},children:Q(n?Oc:zc,{})})]}),e[8]=t,e[9]=n,e[10]=s,e[11]=c}else c=e[11];return c});Tc.displayName=`NavigationPanelDropdown`;function Ec(e){return ia(e.context.searchQuery)}var Dc=zi(ta),Oc=K(()=>{let e=X(19),t=B(),n=Vs(),r=Di(z(n.actorRef,Ec)),i;e[0]===r?i=e[1]:(i=r.includes(ta),e[0]=r,e[1]=i);let a=i,o;e[2]!==r||e[3]!==a?(o=a?r.split(ta):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]=Y(c),d,f;if(e[6]!==r||e[7]!==a||e[8]!==t?(d=()=>{u(e=>{let n=m(t.views(),Bi(e=>a&&e.$view.title?ia(e.$view.title).toLowerCase().includes(r):e.id.toLowerCase().includes(r)||!!e.title?.toLowerCase().includes(r)),Hi(20),Xi(),x(Uc));return _r(n,e)?e:n})},f=[t,r,a],e[6]=r,e[7]=a,e[8]=t,e[9]=d,e[10]=f):(d=e[9],f=e[10]),q(d,f),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 p;if(e[12]!==n||e[13]!==l||e[14]!==s){let t;e[16]!==n||e[17]!==s?(t=e=>Q(jc,{view:e,highlight:s,onClick:t=>{t.stopPropagation(),n.selectView(e.id)},"data-likec4-focusable":!0,onKeyDown:Cc},e.id),e[16]=n,e[17]=s,e[18]=t):t=e[18],p=Q(De,{scrollbars:`xy`,offsetScrollbars:!1,className:N({width:`100%`,maxWidth:[`calc(100vw - 250px)`,`calc(100cqw - 250px)`],maxHeight:[`calc(100vh - 200px)`,`calc(100cqh - 200px)`]}),children:Q(xr,{gap:`0.5`,children:l.map(t)})}),e[12]=n,e[13]=l,e[14]=s,e[15]=p}else p=e[15];return p}),kc=I({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!`}}),Ac=N({_groupFocus:{color:`[inherit!]`,transition:`none`}});function jc({view:e,highlight:t,...n}){let r=e.folder,i=Fc[e.id===`index`?`index`:e._type],a=Q(fe,{component:`div`,className:P(Ac,_c({truncate:!0}),N({"& > mark":{backgroundColor:{base:`mantine.colors.yellow[2]/90`,_dark:`mantine.colors.yellow[5]/80`,_groupFocus:`[transparent]`},color:{_groupFocus:`[inherit!]`}}})),maw:350,highlight:t,children:e.title??e.id},e.id),o=P(n.className,`group`,kc);if(r.isRoot)return $(D,{...n,className:o,children:[i,a]});let s=r.breadcrumbs.map(e=>Q(fe,{component:`div`,className:P(N({_groupHover:{color:`text.dimmed`}}),Ac,_c({dimmed:!0,truncate:!0})),maw:170,highlight:l(t)?t:[],children:e.title},e.path));return s.push($(R,{gap:`[4px]`,children:[i,a]})),$(D,{...n,className:o,children:[Nc,Q(Ae,{separator:Mc,separatorMargin:3,children:s})]})}var Mc=Q(kn,{size:12,stroke:1.5,className:`mantine-rotate-rtl`}),Nc=Q(er,{size:16,className:N({opacity:{base:.3,_groupHover:.5,_groupActive:.5,_groupFocus:.5}})}),Pc=N({opacity:{base:.3,_dark:.5,_groupHover:.8,_groupActive:.8,_groupFocus:.8}}),Fc={index:Q(or,{size:16,className:Pc}),element:Q(Un,{size:18,stroke:2,className:Pc}),deployment:Q(qn,{size:16,stroke:1.5,className:Pc}),dynamic:Q(ar,{size:18,className:Pc})},Ic=De.withProps({scrollbars:`y`,className:N({maxHeight:[`calc(100vh - 160px)`,`calc(100cqh - 160px)`]})});function Lc(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}))]}}var Rc=e=>{let t=e.viewModel;if(!t)return[];let n=t.$model,r=[Lc(n.rootViewFolder,e)],i=n.viewFolder(e.selectedFolder);if(!i.isRoot)for(let t of i.breadcrumbs)r.push(Lc(t,e));return r},zc=K(()=>{let e=X(4),t=Bs(Rc,vr),n;if(e[0]!==t){let r;e[2]===t.length?r=e[3]:(r=(e,n)=>[n>0&&Q(Oe,{orientation:`vertical`},`divider`+n),Q(Bc,{data:e,isLast:n>0&&n==t.length-1},e.folderPath)],e[2]=t.length,e[3]=r),n=Q(R,{gap:`xs`,alignItems:`stretch`,children:t.flatMap(r)}),e[0]=t,e[1]=n}else n=e[1];return n});function Bc({data:e,isLast:t}){let n=J(null),r=Rs(),i=e=>t=>{t.stopPropagation(),e.type===`folder`?r.send({type:`select.folder`,folderPath:e.folderPath}):r.send({type:`select.view`,viewId:e.viewId})};return gr(()=>{t&&n.current&&n.current.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:`smooth`})}),Q(G,{mb:`1`,ref:n,children:Q(Ic,{children:Q(xr,{gap:`0.5`,children:e.items.map((t,n)=>Q(Vc,{columnItem:t,onClick:i(t)},`${e.folderPath}/${t.type}/${n}`))})})})}function Vc({columnItem:e,...t}){switch(e.type){case`folder`:return Q(bc,{variant:`light`,active:e.selected,label:e.title,leftSection:Nc,rightSection:Mc,maw:`300px`,miw:`200px`,...t},e.folderPath);case`view`:return Q(bc,{variant:`filled`,active:e.selected,label:e.title,description:e.description,leftSection:Fc[e.viewType],maw:`300px`,miw:`200px`,...t},e.viewId);default:qi(e)}}function Hc(e){let t=X(8),r;t[0]===e?r=t[1]:(r={...e,finalValue:``},t[0]=e,t[1]=r);let[i,a]=pe(r),o;if(t[2]!==i||t[3]!==a||t[4]!==e.value){let r;t[6]===a?r=t[7]:(r=e=>a(e.currentTarget.value),t[6]=a,t[7]=r),o=Q(ct,{size:`xs`,placeholder:`Search by title or id`,variant:`unstyled`,height:je(26),value:i,onKeyDown:Cc,onChange:r,"data-likec4-focusable":!0,classNames:{wrapper:N({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:N({_placeholder:{color:`text.dimmed`},_focus:{outline:`none`}})},style:{"--input-fz":`var(--mantine-font-size-sm)`},leftSection:Q(ur,{size:14}),rightSectionPointerEvents:`all`,rightSectionWidth:`min-content`,rightSection:!e.value||n(e.value)?null:Q(M,{variant:`subtle`,h:`100%`,size:`compact-xs`,color:`gray`,onClick:e=>{e.stopPropagation(),a(``)},children:`clear`})}),t[2]=i,t[3]=a,t[4]=e.value,t[5]=o}else o=t[5];return o}function Uc(e,t){return Dc(e.folder.path,t.folder.path)}var Wc=Lt(`div`,{base:{fontSize:`xs`,color:`text.dimmed`,fontWeight:`medium`,userSelect:`none`,mb:`xxs`}});function Gc(e){let t=S(e.activeWalkthrough),n=t?e.xyedges.findIndex(t=>t.id===e.activeWalkthrough?.stepId):-1;return{isActive:t,isParallel:t&&u(e.activeWalkthrough?.parallelPrefix),hasNext:t&&n<e.xyedges.length-1,hasPrevious:t&&n>0,notes:t?e.xyedges[n]?.data?.notes??null:null}}var Kc=K(()=>{let e=X(3),{isActive:t,notes:n}=jr(Gc),r;if(e[0]!==n||e[1]!==t){let i=n?Ai.from(n):Ai.EMPTY;r=Q(W,{children:t&&!i.isEmpty&&Q(H.div,{layout:`position`,className:br({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:$(De,{type:`scroll`,overscrollBehavior:`contain`,children:[Q(Wc,{children:`Notes`}),Q(xn,{value:i,fontSize:`sm`,emptyText:`No description`})]})})}),e[0]=n,e[1]=t,e[2]=r}else r=e[2];return r}),qc=K(()=>{let e=X(14),t=L(),n=ca(),r=qt(),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=Dr(Jo,i),o,s;e[3]!==a||e[4]!==t?(o=()=>{let e=a.on(`navigateTo`,e=>{t.navigateTo(e.viewId)});return()=>e.unsubscribe()},s=[a,t],e[3]=a,e[4]=t,e[5]=o,e[6]=s):(o=e[5],s=e[6]),q(o,s);let c,l;e[7]!==a||e[8]!==n||e[9]!==r?(c=()=>{a.send({type:`update.inputs`,inputs:{viewModel:r,view:n}})},l=[a,r,n],e[7]=a,e[8]=n,e[9]=r,e[10]=c,e[11]=l):(c=e[10],l=e[11]),q(c,l);let u;return e[12]===a?u=e[13]:(u=Q(xr,{css:{alignItems:`flex-start`,pointerEvents:`none`,position:`absolute`,top:`0`,left:`0`,margin:`0`,width:`100%`,gap:`xxs`,maxWidth:[`calc(100vw)`,`calc(100cqw)`],"@/sm":{margin:`xs`,gap:`xs`,width:`max-content`,maxWidth:[`calc(100vw - 2 * {spacing.md})`,`calc(100cqw - 2 * {spacing.md})`]},_print:{display:`none`}},children:$(Ls,{value:a,children:[Q(Yc,{actor:a}),Q(gs,{}),Q(Kc,{}),Q(Fs,{})]})}),e[12]=a,e[13]=u),u});qc.displayName=`NavigationPanel`;var Jc=e=>e.hasTag(`active`),Yc=e=>{let t=X(2),{actor:n}=e,r=z(n,Jc),i;return t[0]===n?i=t[1]:(i=()=>n.send({type:`dropdown.dismiss`}),t[0]=n,t[1]=i),$(He,{offset:{mainAxis:4},opened:r,position:`bottom-start`,trapFocus:r,...qo(),clickOutsideEvents:[`pointerdown`,`mousedown`,`click`],onDismiss:i,children:[Q(Xc,{actor:n}),r&&Q(Tc,{})]})},Xc=e=>{let t=X(5),{actor:n}=e,r=jr(Zc),i;if(t[0]!==n||t[1]!==r){let e;t[3]===n?e=t[4]:(e=()=>n.send({type:`breadcrumbs.mouseLeave`}),t[3]=n,t[4]=e),i=Q(di,{children:Q(Ne,{children:Q(U,{layout:!0,layoutDependency:r,className:I({layerStyle:`likec4.panel`,position:`relative`,gap:`xs`,cursor:`pointer`,pointerEvents:`all`,width:`100%`}),onMouseLeave:e,children:Q(W,{children:Q(r?Ys:yc,{})})})})}),t[0]=n,t[1]=r,t[2]=i}else i=t[2];return i};function Zc(e){return e.activeWalkthrough!==null}var Qc=Ci(null);function $c(){let e=X(2),t=Ei(Qc),n;return e[0]===t?n=e[1]:(n=Fi(t,`No RelationshipsBrowserActorContext`),e[0]=t,e[1]=n),n}function el(e,t){let n=t===void 0?_r:t;return z($c(),e,n)}function tl(){let e=$c();return ki(()=>({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])}var nl=dn(e=>{let t=tl(),{enableNavigateTo:n}=V(),{data:{navigateTo:r,relations:i,existsInCurrentView:a}}=e,[o,s,c]=ii(e),l=L(),u=i.length>1||!a,d=u?{...e,data:{...e.data,color:`amber`}}:e,f=Q(pn,{edgeProps:d,className:N({transition:`fast`}),children:n&&r&&Q(qr,{...e,onClick:e=>{e.stopPropagation(),l.navigateTo(r)}})});return a||(f=Q(Ue,{color:`orange`,c:`black`,label:`This relationship is not included in the current view`,portalProps:{target:`#${t.rootElementId}`},openDelay:800,children:f})),$(en,{...d,children:[Q($t,{edgeProps:d,svgPath:o,...u&&{strokeWidth:5}}),Q(an,{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 rl({data:{column:e}}){return Q(G,{css:{width:`100%`,height:`100%`,border:`3px dashed`,borderColor:`default.border`,borderRadius:`md`,display:`flex`,justifyContent:`center`,alignItems:`center`},children:$(j,{c:`dimmed`,fz:`lg`,fw:500,children:[`No `,e===`incomers`?`incoming`:`outgoing`]})})}var il=e=>e.context.subject,al=e=>{let t=X(35),{enableNavigateTo:n,enableVscode:r}=V(),i=L(),a=oa(),o=tl(),s=el(il),{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(Un,{}),t[10]=e):e=t[10];let n;t[11]!==i||t[12]!==c?(n=e=>{e.stopPropagation(),i.navigateTo(c)},t[11]=i,t[12]=c,t[13]=n):n=t[13];let r;t[14]!==e||t[15]!==n?(r={key:`navigate`,icon:e,onClick:n},t[14]=e,t[15]=n,t[16]=r):r=t[16],u.push(r)}if(l!==s){let n;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(Gn,{}),t[17]=n):n=t[17];let r;t[18]!==o||t[19]!==l||t[20]!==e.id?(r=t=>{t.stopPropagation(),o.navigateTo(l,e.id)},t[18]=o,t[19]=l,t[20]=e.id,t[21]=r):r=t[21];let i;t[22]!==n||t[23]!==r?(i={key:`relationships`,icon:n,onClick:r},t[22]=n,t[23]=r,t[24]=i):i=t[24],u.push(i)}if(r){let e;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(e=Q(Dn,{}),t[25]=e):e=t[25];let n;t[26]!==i||t[27]!==l?(n=e=>{e.stopPropagation(),i.openSource({element:l})},t[26]=i,t[27]=l,t[28]=n):n=t[28];let r;t[29]!==e||t[30]!==n?(r={key:`goToSource`,icon:e,onClick:n},t[29]=e,t[30]=n,t[31]=r):r=t[31],u.push(r)}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[32]!==e||t[33]!==d?(f=Q(un,{buttons:d,...e}),t[32]=e,t[33]=d,t[34]=f):f=t[34],f};function ol(e){let t=X(5),n=L(),r;t[0]===n?r=t[1]:(r=e=>{n.openSearch(e)},t[0]=n,t[1]=r);let i=F(r),a;return t[2]!==e||t[3]!==i?(a=Q(Fr,{onTagClick:i,...e}),t[2]=e,t[3]=i,t[4]=a):a=t[4],a}var sl=e=>{let t=X(6),n=L(),r;t[0]!==n||t[1]!==e.data?(r=t=>{t.stopPropagation(),n.openElementDetails(e.data.fqn)},t[0]=n,t[1]=e.data,t[2]=r):r=t[2];let i;return t[3]!==e||t[4]!==r?(i=Q(Kr,{...e,onClick:r}),t[3]=e,t[4]=r,t[5]=i):i=t[5],i};function cl(e){let t=X(3),{enableElementTags:n}=V(),r;return t[0]!==n||t[1]!==e?(r=$(Zt,{layoutId:e.id,nodeProps:e,children:[Q(rn,{...e}),Q(sn,{...e}),n&&Q(ol,{...e}),Q(sl,{...e}),Q(al,{...e}),Q(ul,{...e})]},e.id),t[0]=n,t[1]=e,t[2]=r):r=t[2],r}function ll(e){let t=X(6),n=L(),r;if(t[0]!==n||t[1]!==e){let i;t[3]!==n||t[4]!==e.data?(i=t=>{t.stopPropagation(),n.openElementDetails(e.data.fqn)},t[3]=n,t[4]=e.data,t[5]=i):i=t[5],r=$(Pr,{layoutId:e.id,nodeProps:e,children:[Q(Br,{...e}),Q(Gr,{...e,onClick:i}),Q(dl,{...e})]},e.id),t[0]=n,t[1]=e,t[2]=r}else r=t[2];return r}var ul=({data:{ports:e,height:t}})=>$(Z,{children:[e.in.map((n,r)=>Q(oi,{id:n,type:`target`,position:ai.Left,style:{visibility:`hidden`,top:`${15+(r+1)*((t-30)/(e.in.length+1))}px`}},n)),e.out.map((n,r)=>Q(oi,{id:n,type:`source`,position:ai.Right,style:{visibility:`hidden`,top:`${15+(r+1)*((t-30)/(e.out.length+1))}px`}},n))]}),dl=({data:e})=>$(Z,{children:[e.ports.in.map((e,t)=>Q(oi,{id:e,type:`target`,position:ai.Left,style:{visibility:`hidden`,top:`${20*(t+1)}px`}},e)),e.ports.out.map((e,t)=>Q(oi,{id:e,type:`source`,position:ai.Right,style:{visibility:`hidden`,top:`${20*(t+1)}px`}},e))]}),fl=(e,t)=>Ri(e.label,t.label);function pl(e){let t=[...e.children()].map(pl).sort(fl);return{label:e.title||e.id,value:e.id,children:t,hasChildren:t.length>0}}function ml(e){let t=X(5),n=B(),r;if(e){let i;t[0]!==n||t[1]!==e?(i=[...n.view(e).roots()].map(pl).sort(fl),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(pl).sort(fl),t[3]=n,t[4]=e),r=e}return r}var hl=yn({label:()=>_l,node:()=>gl,scrollArea:()=>vl}),gl=N({margin:`0`}),_l=N({_hover:{backgroundColor:`mantine.colors.gray[0]`,_dark:{backgroundColor:`default.hover`,color:`white`}}}),vl=N({maxHeight:[`70vh`,`calc(100cqh - 70px)`]}),yl=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}},bl=K(()=>{let e=tl(),{subjectId:t,viewId:n,scope:r,subjectExistsInScope:i,enableSelectSubject:a,enableChangeScope:o}=el(yl),s=J(null),c=J(null),l=B().findElement(t),u=ml(r===`view`&&n?n:void 0),d=Ze({multiple:!1});return q(()=>{ji(t).reverse().forEach(e=>{d.expand(e)}),d.select(t)},[t]),$(k,{ref:s,gap:`xs`,pos:`relative`,children:[a&&$(k,{gap:4,wrap:`nowrap`,children:[Q(O,{fz:`xs`,fw:`500`,style:{whiteSpace:`nowrap`,userSelect:`none`},children:`Relationships of`}),Q(O,{pos:`relative`,children:$(He,{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(Ne,{children:Q(M,{size:`xs`,variant:`default`,maw:250,rightSection:Q(cr,{size:16}),children:Q(j,{fz:`xs`,fw:`500`,truncate:!0,children:l?.title??`???`})})}),Q(ut,{p:0,miw:250,maw:400,children:Q(De,{scrollbars:`y`,type:`never`,viewportRef:c,className:vl,children:Q(ot,{allowRangeSelection:!1,selectOnClick:!1,tree:d,data:u,classNames:hl,levelOffset:8,styles:{root:{maxWidth:400,overflow:`hidden`},label:{paddingTop:5,paddingBottom:6}},renderNode:({node:t,selected:n,expanded:r,elementProps:i})=>$(k,{gap:2,wrap:`nowrap`,...i,py:`3`,children:[Q(A,{variant:`subtle`,size:18,c:`dimmed`,style:{visibility:t.hasChildren?`visible`:`hidden`},children:Q(kn,{stroke:3.5,style:{transition:`transform 150ms ease`,transform:`rotate(${r?`90deg`:`0`})`,width:`80%`}})}),Q(O,{flex:`1 1 100%`,w:`100%`,onClick:n=>{n.stopPropagation(),d.select(t.value),d.expand(t.value),e.navigateTo(t.value)},children:Q(j,{fz:`sm`,fw:n?`600`:`400`,truncate:`end`,children:t.label})})]})})})})]})})]}),o&&$(k,{gap:4,wrap:`nowrap`,children:[a&&Q(O,{fz:`xs`,fw:`500`,...!i&&{c:`dimmed`},style:{whiteSpace:`nowrap`,userSelect:`none`},children:`Scope`}),Q(`div`,{children:Q(Ue,{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(Xe,{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}]})})})]})]})}),xl={element:cl,compound:ll,empty:rl},Sl={relationship:nl};function Cl({actorRef:e}){let t=J(null);return t.current??={initialNodes:[],initialEdges:[]},Q(Qc.Provider,{value:e,children:Q(li,{...t.current,children:Q(di,{id:e.sessionId,inherit:!1,children:Q(W,{children:Q(El,{})})})})})}var wl=e=>({isActive:e.hasTag(`active`),nodes:e.context.xynodes,edges:e.context.xyedges}),Tl=(e,t)=>e.isActive===t.isActive&&_r(e.nodes,t.nodes)&&_r(e.edges,t.edges),El=K(()=>{let e=X(20),t=tl(),{isActive:n,nodes:r,edges:i}=el(wl,Tl),a;e[0]===t?a=e[1]:(a=(e,n)=>{e.stopPropagation(),t.send({type:`xyflow.nodeClick`,node:n})},e[0]=t,e[1]=a);let o;e[2]===t?o=e[3]:(o=(e,n)=>{e.stopPropagation(),t.send({type:`xyflow.edgeClick`,edge:n})},e[2]=t,e[3]=o);let s;e[4]===t?s=e[5]:(s=e=>{e.stopPropagation(),t.send({type:`xyflow.paneClick`})},e[4]=t,e[5]=s);let c;e[6]===t?c=e[7]:(c=e=>{t.send({type:`xyflow.paneDblClick`})},e[6]=t,e[7]=c);let l;e[8]===t?l=e[9]:(l=()=>{t.send({type:`xyflow.resized`})},e[8]=t,e[9]=l);let u;e[10]===t?u=e[11]:(u=e=>{t.send({type:`xyflow.applyNodeChanges`,changes:e})},e[10]=t,e[11]=u);let d;e[12]===t?d=e[13]:(d=e=>{t.send({type:`xyflow.applyEdgeChanges`,changes:e})},e[12]=t,e[13]=d);let f;e[14]===t?f=e[15]:(f=(e,n)=>{n.data.hovered||t.send({type:`xyflow.edgeMouseEnter`,edge:n})},e[14]=t,e[15]=f);let p;e[16]===t?p=e[17]:(p=(e,n)=>{n.data.hovered&&t.send({type:`xyflow.edgeMouseLeave`,edge:n})},e[16]=t,e[17]=p);let m;return e[18]===t?m=e[19]:(m=e=>{t.send({type:`xyflow.selectionChange`,...e})},e[18]=t,e[19]=m),Q(tn,{id:t.rootElementId,nodes:r,edges:i,className:P(n?`initialized`:`not-initialized`,`relationships-browser`),nodeTypes:xl,edgeTypes:Sl,fitView:!1,onNodeClick:F(a),onEdgeClick:F(o),onPaneClick:F(s),onDoubleClick:F(c),onViewportResize:F(l),onNodesChange:F(u),onEdgesChange:F(d),onEdgeMouseEnter:F(f),onEdgeMouseLeave:F(p),onSelectionChange:F(m),nodesDraggable:!1,nodesSelectable:!0,pannable:!0,zoomable:!0,children:Q(Ol,{})})}),Dl=e=>({subjectId:e.context.subject,viewId:e.context.viewId,scope:e.context.scope,closeable:e.context.closeable}),Ol=K(()=>{let e=X(35),t=tl(),{subjectId:n,viewId:r,scope:i,closeable:a}=el(Dl),o=si(),s=ri(),c;e[0]!==t||e[1]!==s||e[2]!==o?(c=()=>{s.viewportInitialized&&t.send({type:`xyflow.init`,instance:s,store:o})},e[0]=t,e[1]=s,e[2]=o,e[3]=c):c=e[3];let l;e[4]!==t||e[5]!==s.viewportInitialized||e[6]!==o?(l=[o,s.viewportInitialized,t],e[4]=t,e[5]=s.viewportInitialized,e[6]=o,e[7]=l):l=e[7],q(c,l);let u=Hr(n,r,i),[d,f,p]=bt(n),{history:m,current:h}=p,g;e[8]!==f||e[9]!==d||e[10]!==n?(g=()=>{d!==n&&f.set(n)},e[8]=f,e[9]=d,e[10]=n,e[11]=g):g=e[11];let _;e[12]===n?_=e[13]:(_=[n],e[12]=n,e[13]=_),q(g,_);let v;e[14]!==t||e[15]!==d||e[16]!==n?(v=()=>{d!==n&&t.navigateTo(d)},e[14]=t,e[15]=d,e[16]=n,e[17]=v):v=e[17];let y;e[18]!==t||e[19]!==d?(y=[d,t],e[18]=t,e[19]=d,e[20]=y):y=e[20],q(v,y);let b,x;e[21]!==t||e[22]!==u?(b=()=>{t.updateView(u)},x=[u,t],e[21]=t,e[22]=u,e[23]=b,e[24]=x):(b=e[23],x=e[24]),q(b,x);let S;if(e[25]!==t||e[26]!==a||e[27]!==h||e[28]!==m.length||e[29]!==f||e[30]!==n){let r,i;e[32]===f?(r=e[33],i=e[34]):(r=()=>f.back(),i=()=>f.forward(),e[32]=f,e[33]=r,e[34]=i),S=$(Z,{children:[Q(kl,{hasStepBack:h>0,hasStepForward:h+1<m.length,onStepBack:r,onStepForward:i}),a&&Q(ci,{position:`top-right`,children:$(k,{gap:4,wrap:`nowrap`,children:[Q(Ml,{subjectId:n}),Q(A,{variant:`default`,color:`gray`,onClick:e=>{e.stopPropagation(),t.close()},children:Q(Zn,{})})]})})]}),e[25]=t,e[26]=a,e[27]=h,e[28]=m.length,e[29]=f,e[30]=n,e[31]=S}else S=e[31];return S}),kl=({hasStepBack:e,hasStepForward:t,onStepBack:n,onStepForward:r})=>Q(ci,{position:`top-left`,children:$(k,{gap:4,wrap:`nowrap`,children:[$(W,{mode:`popLayout`,children:[e&&Q(H.div,{layout:!0,initial:{opacity:.05,transform:`translateX(-5px)`},animate:{opacity:1,transform:`translateX(0)`},exit:{opacity:.05,transform:`translateX(-10px)`},children:Q(A,{variant:`default`,color:`gray`,onClick:e=>{e.stopPropagation(),n()},children:Q(zn,{})})},`back`),t&&Q(H.div,{layout:!0,initial:{opacity:.05,transform:`translateX(5px)`},animate:{opacity:1,transform:`translateX(0)`},exit:{opacity:0,transform:`translateX(5px)`},children:Q(A,{variant:`default`,color:`gray`,onClick:e=>{e.stopPropagation(),r()},children:Q(kn,{})})},`forward`)]}),Q(bl,{})]})}),Al=Ue.withProps({color:`dark`,fz:`xs`,openDelay:400,closeDelay:150,label:``,children:null,offset:4,withinPortal:!1});function jl(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}var Ml=({subjectId:e})=>{let t=le({timeout:2e3}),[n,r]=Y(!1),i=J(null),a=async n=>{n.stopPropagation(),r(!1),i.current&&=(clearTimeout(i.current),null);let a=jl(e);if(!window.isSecureContext){r(!0),i.current=window.setTimeout(()=>{r(!1)},2e3);return}t.copy(a)};q(()=>{t.error&&(r(!0),i.current&&clearTimeout(i.current),i.current=window.setTimeout(()=>{r(!1)},2e3))},[t.error]),q(()=>()=>{i.current&&clearTimeout(i.current)},[]);let o=t.copied?{icon:Q(Bn,{}),tooltip:`Link copied!`}:n?{icon:Q(ir,{}),tooltip:`Copy failed - Clipboard requires HTTPS or localhost`}:{icon:Q(Tn,{}),tooltip:`Copy link to this relationship view`};return Q(Al,{label:o.tooltip,withArrow:!0,position:`top`,withinPortal:!1,children:Q(A,{variant:`default`,color:`gray`,onClick:a,"aria-label":`Copy link to this relationship view`,children:o.icon})})},Nl=Ci(null);Nl.displayName=`ElementDetailsActorContext`;var Pl=()=>{let e=Ei(Nl);if(e===null)throw Error(`ElementDetailsActorRef is not provided`);return e},Fl=`--_blur`,Il=`--_opacity`,Ll=N({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(${Fl})`,backgroundColor:`[rgb(36 36 36 / var(${Il}, 5%))]`}}),Rl=N({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`}}),zl=N({flex:0,cursor:`move`}),Bl=N({display:`block`,fontFamily:`likec4.element`,fontOpticalSizing:`auto`,fontStyle:`normal`,fontWeight:`bold`,fontSize:`24px`,lineHeight:`xs`,overflow:`hidden`,textOverflow:`ellipsis`,wordBreak:`break-word`,lineClamp:2}),Vl=`40px`,Hl=N({flex:`0 0 ${Vl}`,height:Vl,width:Vl,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`}}),Ul=`--view-title-color`,Wl=`--icon-color`,Gl=N({width:`100%`,background:`body`,borderRadius:`sm`,padding:`[10px 8px]`,transition:`fast`,border:`1px dashed`,borderColor:`default.border`,[Ul]:`{colors.mantine.colors.dark[1]}`,_hover:{background:`default.hover`,[Wl]:`{colors.mantine.colors.dark[1]}`,[Ul]:`{colors.default.color}`},_dark:{background:`mantine.colors.dark[6]`},_light:{[Wl]:`{colors.mantine.colors.gray[6]}`,[Ul]:`{colors.mantine.colors.gray[7]}`,_hover:{[Wl]:`{colors.mantine.colors.gray[7]}`}},"& .mantine-ThemeIcon-root":{transition:`fast`,color:`[var(${Wl}, {colors.mantine.colors.dark[2]})]`,"--ti-size":`22px`,_hover:{color:`default.color`}},"& > *":{transition:`all 130ms {easings.inOut}`},"&:hover > *":{transitionTimingFunction:`out`,transform:`translateX(1.6px)`}}),Kl=N({transition:`fast`,color:`[var(${Ul}, {colors.mantine.colors.gray[7]})]`,fontSize:`15px`,fontWeight:`medium`,lineHeight:`1.4`}),ql=N({flex:1,display:`flex`,flexDirection:`column`,justifyContent:`stretch`,overflow:`hidden`,gap:`sm`}),Jl=N({background:`mantine.colors.gray[1]`,borderRadius:`sm`,flexWrap:`nowrap`,gap:`1.5`,padding:`1`,_dark:{background:`mantine.colors.dark[7]`}}),Yl=N({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]`}}}),Xl=N({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`}}}),Zl=N({flex:1,display:`grid`,gridTemplateColumns:`min-content 1fr`,gridAutoRows:`min-content max-content`,gap:`[24px 20px]`,alignItems:`baseline`,justifyItems:`stretch`}),Ql=N({justifySelf:`end`,textAlign:`right`,userSelect:`none`}),$l=N({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 eu({children:e}){return Q(Z,{children:e})}function tu({value:e,isExpanded:t}){let[n,r]=Y(!1),i=J(null);return q(()=>{i.current&&r(i.current.scrollWidth>i.current.clientWidth)},[e]),Q(Ue,{label:n&&!t?e:null,multiline:!0,w:300,withinPortal:!0,children:Q(j,{ref:i,component:`div`,className:N({fontSize:`sm`,padding:`xs`,userSelect:`all`,color:`text`,lineHeight:1.4,whiteSpace:t?`pre-wrap`:`nowrap`,overflow:t?`visible`:`hidden`,textOverflow:t?`unset`:`ellipsis`,wordBreak:t?`break-word`:`normal`,minWidth:0,width:`100%`}),children:e})})}function nu({values:e,isExpanded:t}){return t?Q(Je,{gap:`xs`,children:e.map((e,t)=>$(Ye,{align:`center`,gap:`xs`,children:[Q(j,{className:N({fontSize:`xs`,color:`mantine.colors.gray[5]`,fontWeight:`medium`,flexShrink:0,_dark:{color:`mantine.colors.dark[3]`}}),children:`•`}),Q(O,{className:N({minHeight:`32px`,display:`flex`,alignItems:`center`,flex:1}),children:Q(tu,{value:e,isExpanded:!0})})]},t))}):Q(O,{className:N({minHeight:`32px`,display:`flex`,alignItems:`center`,padding:`xs`,gap:`xs`,flexWrap:`wrap`,minWidth:0,overflow:`hidden`}),children:e.map((t,n)=>$(Ye,{align:`center`,gap:`xs`,style:{minWidth:0},children:[Q(j,{className:N({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:t,children:t}),n<e.length-1&&Q(j,{className:N({fontSize:`xs`,color:`mantine.colors.gray[5]`,fontWeight:`medium`,flexShrink:0,_dark:{color:`mantine.colors.dark[3]`}}),children:`•`})]},n))})}function ru(e){let t=X(2),{label:n,value:r}=e,i=Array.isArray(r)?r:typeof r==`string`&&r.includes(`
|
|
15
|
-
`)?r.split(`
|
|
16
|
-
`).map(iu).filter(Boolean):[r],a=i.length>1,[o,s]=Y(!1),c;return t[0]===o?c=t[1]:(c=()=>{s(!o)},t[0]=o,t[1]=c),$(Z,{children:[a?Q(D,{onClick:c,className:N({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:$(Ye,{align:`center`,gap:`xs`,children:[$(j,{component:`span`,size:`xs`,fw:700,children:[n,`:`]}),Q(j,{component:`span`,className:N({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:i.length}),Q(o?Rn:kn,{size:12})]})}):$(j,{component:`div`,className:N({fontSize:`xs`,color:`text.dimmed`,justifySelf:`end`,textAlign:`right`,userSelect:`none`,whiteSpace:`nowrap`,padding:`[4px 8px]`,fontWeight:`[700]`}),children:[n,`:`]}),Q(O,{className:N({justifySelf:`stretch`,alignSelf:`start`}),children:a?Q(nu,{values:i,isExpanded:o}):Q(O,{className:N({minHeight:`32px`,display:`flex`,alignItems:`center`}),children:Q(tu,{value:i[0]||``,isExpanded:o})})})]})}function iu(e){return e.trim()}var au=N({"&[data-level='1']":{marginBottom:`sm`}}),ou=N({cursor:`default`,marginTop:`0`,marginBottom:`0`}),su=N({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)`}}}),cu=P(su),lu=P(su,N({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}})),uu=({node:e})=>$(k,{className:cu,gap:6,align:`baseline`,wrap:`nowrap`,children:[$(j,{component:`div`,fz:11,c:`dimmed`,children:[e.kind,`:`]}),Q(j,{component:`div`,fz:`sm`,fw:`500`,children:e.title})]}),du=Q(Ge,{size:`sm`,variant:`transparent`,color:`gray`,children:Q(Un,{stroke:1.8,opacity:.65})}),fu=e=>{let t=X(4),{instance:n}=e,r=L(),i=r.currentView.id,a;if(t[0]!==i||t[1]!==r||t[2]!==n){let e=[...n.views()];a=$(k,{className:lu,gap:4,children:[Q(Ge,{color:`gray`,variant:`transparent`,size:`xs`,flex:0,children:Q(tr,{stroke:1.2})}),Q(j,{component:`div`,fz:`sm`,fw:`500`,flex:`1 1 100%`,children:n.title}),$(O,{onClick:zt,pos:`relative`,"data-no-transform":!0,flex:0,children:[e.length===0&&Q(M,{size:`compact-xs`,variant:`transparent`,color:`gray`,disabled:!0,children:`no views`}),e.length>0&&$(Ee,{shadow:`md`,withinPortal:!1,position:`bottom-start`,offset:0,closeOnClickOutside:!0,clickOutsideEvents:[`pointerdown`,`mousedown`,`click`],closeOnEscape:!0,trapFocus:!0,children:[Q(Ee.Target,{children:$(M,{size:`compact-xs`,variant:`subtle`,color:`gray`,children:[e.length,` view`,e.length>1?`s`:``]})}),Q(Ee.Dropdown,{children:e.map(e=>Q(Ee.Item,{px:`xs`,py:4,disabled:e.id===i,leftSection:du,styles:{itemSection:{marginInlineEnd:je(8)}},onClick:t=>{t.stopPropagation(),r.navigateTo(e.id)},children:e.title},e.id))})]})]})]}),t[0]=i,t[1]=r,t[2]=n,t[3]=a}else a=t[3];return a},pu=Q(On,{}),mu=K(e=>{let t=X(15),{elementFqn:n}=e,r=B(),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=Ze(s),l;if(t[5]!==i){l=[];let e=new Map;for(let t of i.deployments()){let n={label:Q(fu,{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(uu,{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,d;t[7]===c?d=t[8]:(d=()=>{c.expandAllNodes()},t[7]=c,t[8]=d);let f;if(t[9]===u?f=t[10]:(f=[u],t[9]=u,t[10]=f),q(d,f),o.length===0){let e;return t[11]===Symbol.for(`react.memo_cache_sentinel`)?(e=Q(at,{variant:`light`,color:`gray`,icon:pu,children:`This element does not have any deployments`}),t[11]=e):e=t[11],e}let p;return t[12]!==u||t[13]!==c?(p=Q(ot,{levelOffset:`sm`,allowRangeSelection:!1,classNames:{node:au,label:ou},styles:{root:{position:`relative`,width:`min-content`,minWidth:300}},data:u,tree:c,renderNode:hu}),t[12]=u,t[13]=c,t[14]=p):p=t[14],p});function hu(e){let{node:t,selected:n,elementProps:r,hasChildren:i}=e;return Q(O,{...r,style:{...!i&&{marginBottom:je(4)}},children:i?Q(M,{fullWidth:!0,color:`gray`,variant:n?`transparent`:`subtle`,size:`xs`,justify:`flex-start`,styles:{root:{position:`unset`,paddingInlineStart:je(16)}},children:t.label}):t.label})}var gu=N({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)`}),_u=N({_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]`}}}),vu=N({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]`}});N({_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]`}}}),N({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`}});var yu=Ue.withProps({color:`dark`,fz:`xs`,openDelay:600,closeDelay:120,label:``,children:null,offset:8,withinPortal:!1});function bu(e){let t=X(7),{node:n,element:r}=e,i=L(),a=Pl(),o;t[0]===a.id?o=t[1]:(o=e=>e.children[`${a.id}-relationships`],t[0]=a.id,t[1]=o);let s=z(a,o),c;if(t[2]!==i||t[3]!==r||t[4]!==n||t[5]!==s){let e=[...r.incoming()].map(wu),a=[...r.outgoing()].map(Cu),o=n?re([...n.incoming()].flatMap(Su)):[],l=n?re([...n.outgoing()].flatMap(xu)):[],u=[...e,...a].filter(e=>!o.includes(e)&&!l.includes(e)).length;c=$(Je,{gap:`xs`,pos:`relative`,w:`100%`,h:`100%`,children:[e.length+a.length>0&&$(k,{gap:`xs`,wrap:`nowrap`,align:`center`,children:[Q(O,{children:$(k,{gap:8,mb:4,wrap:`nowrap`,children:[Q(Tu,{title:`incoming`,total:e.length,included:o.length}),Q(Ge,{size:`sm`,variant:`transparent`,c:`dimmed`,children:Q(Wn,{style:{width:16}})}),Q(j,{className:gu,children:Pi(r.id)}),Q(Ge,{size:`sm`,variant:`transparent`,c:`dimmed`,children:Q(Wn,{style:{width:16}})}),Q(Tu,{title:`outgoing`,total:a.length,included:l.length})]})}),u>0&&Q(yu,{label:`Current view does not include some relationships`,children:$(k,{mt:`xs`,gap:6,c:`orange`,style:{cursor:`pointer`},children:[Q(On,{style:{width:14}}),$(j,{fz:`sm`,children:[u,` relationship`,u>1?`s are`:` is`,` hidden`]})]})})]}),Q(O,{className:vu,children:s&&$(Z,{children:[Q(Cl,{actorRef:s}),Q(O,{pos:`absolute`,top:12,right:12,children:Q(A,{size:`md`,variant:`default`,radius:`sm`,onClick:e=>{e.stopPropagation();let{subject:t,scope:n,viewId:r}=s.getSnapshot().context;i.overlays().send({type:`open.relationshipsBrowser`,subject:t,scope:n,viewId:r})},children:Q(Ln,{stroke:1.6,style:{width:`70%`}})})})]})})]}),t[2]=i,t[3]=r,t[4]=n,t[5]=s,t[6]=c}else c=t[6];return c}function xu(e){return e.$edge.relations}function Su(e){return e.$edge.relations}function Cu(e){return e.id}function wu(e){return e.id}function Tu({title:e,total:t,included:n}){return Q(ft,{withBorder:!0,shadow:`none`,className:_u,px:`md`,py:`xs`,radius:`md`,mod:{zero:t===0,missing:t!==n},children:$(Je,{gap:4,align:`flex-end`,children:[Q(j,{component:`div`,c:t===n?`dimmed`:`orange`,tt:`uppercase`,fw:600,fz:10,lh:1,children:e}),Q(j,{fw:600,fz:`xl`,component:`div`,lh:1,children:t===n?Q(Z,{children:t}):$(Z,{children:[n,` / `,t]})})]})})}var Eu=N({marginTop:`sm`,marginBottom:`sm`}),Du=N({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)`}}}),Ou=({element:e})=>Q(O,{className:Du,children:Q(j,{component:`div`,fz:`sm`,fw:`500`,children:e.title})}),ku=Q(On,{});function Au({element:e}){let t=Ze({multiple:!1}),n=ki(()=>{let t=1,n=e=>({label:e,value:`msg${t++}`,type:`message`,children:[]}),r={label:Q(Ou,{type:`current`,element:e}),value:e.id,element:e,type:`current`,children:[...e.children()].map(e=>({label:Q(Ou,{type:`descedant`,element:e}),value:e.id,element:e,type:`descedant`,children:[]}))};return r.children.length===0&&r.children.push(n(Q(pt,{radius:`sm`,children:`no nested`}))),[[...e.ancestors()].reduce((e,t)=>({label:Q(Ou,{type:`ancestor`,element:t}),value:t.id,element:t,type:`ancestor`,children:[e]}),r)]},[e]);return q(()=>{t.expandAllNodes()},[n]),$(Z,{children:[$(at,{variant:`light`,color:`orange`,title:`In development`,icon:ku,children:[`We need your feedback. Share your thoughts and ideas -`,` `,Q(Fe,{fz:`sm`,fw:500,underline:`hover`,c:`orange`,href:`https://github.com/likec4/likec4/discussions/`,target:`_blank`,children:`GitHub discussions`})]}),Q(ot,{levelOffset:`xl`,allowRangeSelection:!1,expandOnClick:!1,expandOnSpace:!1,classNames:{label:Eu},data:n,tree:t})]})}var ju=Oe.withProps({mb:8,labelPosition:`left`,variant:`dashed`}),Mu=Ue.withProps({color:`dark`,fz:`xs`,openDelay:400,closeDelay:150,label:``,children:null,offset:4}),Nu=j.withProps({component:`div`,fz:11,fw:500,c:`dimmed`,lh:1}),Pu=j.withProps({component:`div`,fz:`xs`,c:`dimmed`,className:Ql}),Fu=24,Iu=[`Properties`,`Relationships`,`Views`,`Structure`,`Deployments`];function Lu({viewId:e,fromNode:t,rectFromNode:n,fqn:r,onClose:i}){let[a,o]=Y(!1),s=_t(),c=s.width||window.innerWidth||1200,l=s.height||window.innerHeight||800,[u,d]=yt({key:`likec4:element-details:active-tab`,defaultValue:`Properties`}),f=L(),p=la(),g=t?p.findNode(t):p.findNodeWithElement(r),_=p.$model.element(r),[v,b]=m([..._.views()],E(e=>e.$view),y(e=>e._type===`element`&&e.viewOf===r)),x=g?.navigateTo?.$view??_.defaultView?.$view??null;x?.id===e&&(x=null);let S=w(_.links),ee=hi(),te=(g?.$node.children?.length??0)>0,C=Math.min(700,c-Fu*2),T=Math.min(650,l-Fu*2),ne=n?{x:n.x+(te?n.width-C/2:n.width/2),y:n.y+(te?0:n.height/2)}:{x:c/2,y:l/2},re=n?Math.min(n.width/C,n.height/T,.9):1,ie=Math.round(h(ne.x-C/2,{min:Fu,max:c-C-Fu})),ae=Math.round(h(ne.y-(te?0:60),{min:Fu,max:l-T-Fu})),oe=h((ne.x-ie)/C,{min:.1,max:.9}),D=h((ne.y-ae)/T,{min:.1,max:.9}),se=mi(C),ce=mi(T);_n(()=>{se.set(C),ce.set(T)},[C,T]);let le=Ti((e,t)=>{se.set(Math.max(se.get()+t.delta.x,320)),ce.set(Math.max(ce.get()+t.delta.y,300))},[se,ce]),ue=J(null),de=fr(F(i),[],50),fe=F(e=>{e?.stopPropagation(),de()}),pe=g?.$node.notation??null,me=Wt({element:{id:r,title:_.title,icon:g?.icon??_.icon},className:Hl});return hr(()=>{ue.current?.open||ue.current?.showModal()},20),hr(()=>{o(!0)},220),Q(H.dialog,{ref:ue,className:P(Ll,ze.classNames.fullWidth),layout:!0,initial:{[Fl]:`0px`,[Il]:`5%`},animate:{[Fl]:`3px`,[Il]:`60%`},exit:{[Fl]:`0px`,[Il]:`0%`,transition:{duration:.1}},onClick:e=>{e.stopPropagation(),e.target?.nodeName?.toUpperCase()===`DIALOG`&&ue.current?.close()},onDoubleClick:zt,onPointerDown:zt,onClose:fe,children:Q(ze,{forwardProps:!0,removeScrollBar:!1,children:$(H.div,{layout:!0,layoutRoot:!0,drag:!0,dragControls:ee,dragElastic:0,dragMomentum:!1,dragListener:!1,"data-likec4-color":g?.color??_.color,className:Rl,initial:{top:ae,left:ie,width:C,height:T,opacity:0,originX:oe,originY:D,scale:Math.max(re,.65)},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9,translateY:-10,transition:{duration:.1}},style:{width:se,height:ce},children:[$(`div`,{className:zl,onPointerDown:e=>ee.start(e),children:[$(R,{alignItems:`start`,justify:`space-between`,gap:`sm`,mb:`sm`,flexWrap:`nowrap`,children:[$(R,{alignItems:`start`,gap:`sm`,style:{cursor:`default`,minWidth:0,overflow:`hidden`},flexWrap:`nowrap`,children:[me,$(`div`,{style:{minWidth:0,overflow:`hidden`},children:[Q(Mu,{label:_.title,openDelay:600,position:`bottom-start`,children:Q(j,{component:`div`,className:Bl,children:_.title})}),pe&&Q(j,{component:`div`,c:`dimmed`,fz:`sm`,fw:500,lh:1.3,lineClamp:1,children:pe})]})]}),Q(et,{size:`lg`,onClick:fe})]}),$(R,{alignItems:`baseline`,gap:`sm`,flexWrap:`nowrap`,children:[$(`div`,{children:[Q(Nu,{children:`kind`}),Q(ke,{radius:`sm`,size:`sm`,fw:600,color:`gray`,style:{cursor:`pointer`},onClick:e=>{e.stopPropagation(),f.openSearch(`kind:${_.kind}`)},children:_.kind})]}),$(`div`,{style:{flex:1,minWidth:0,overflow:`hidden`},children:[Q(Nu,{children:`tags`}),Q(Vu,{tags:_.tags,onClick:e=>f.openSearch(`#${e}`)})]}),$(We,{style:{alignSelf:`flex-start`},children:[S&&Q(A,{component:`a`,href:S.url,target:`_blank`,size:`lg`,variant:`default`,radius:`sm`,children:Q(Ln,{stroke:1.6,style:{width:`65%`}})}),Q(zr,{feature:`Vscode`,children:Q(Mu,{label:`Open source`,children:Q(A,{size:`lg`,variant:`default`,radius:`sm`,onClick:e=>{e.stopPropagation(),f.openSource({element:_.id})},children:Q(Dn,{stroke:1.8,style:{width:`62%`}})})})}),x&&Q(Mu,{label:`Open default view`,children:Q(A,{size:`lg`,variant:`default`,radius:`sm`,onClick:e=>{e.stopPropagation(),f.navigateTo(x.id,t??void 0)},children:Q(Un,{style:{width:`70%`}})})})]})]})]}),Q(eu,{children:$(Pe,{value:u,onChange:e=>d(e),variant:`none`,classNames:{root:ql,list:Jl,tab:Yl,panel:Xl},children:[Q(Le,{children:Iu.map(e=>Q($e,{value:e,children:e},e))}),Q(it,{value:`Properties`,children:Q(dt,{scrollbars:`y`,type:`scroll`,offsetScrollbars:!0,children:$(O,{className:Zl,pt:`xs`,children:[_.hasSummary&&$(Z,{children:[Q(Pu,{children:`summary`}),Q(xn,{value:_.summary})]}),$(Z,{children:[Q(Pu,{children:`description`}),Q(xn,{value:_.description,emptyText:`no description`})]}),_.technology&&Q(zu,{title:`technology`,children:_.technology}),_.links.length>0&&$(Z,{children:[Q(Pu,{children:`links`}),Q(R,{gap:`xs`,flexWrap:`wrap`,children:_.links.map((e,t)=>Q($s,{value:e},t))})]}),_.$element.metadata&&Q(Bu,{value:_.$element.metadata})]})})}),Q(it,{value:`Relationships`,children:Q(Ur,{overrides:{enableRelationshipBrowser:!1,enableNavigateTo:!1},children:a&&u===`Relationships`&&Q(bu,{element:_,node:g??null})})}),Q(it,{value:`Views`,children:Q(dt,{scrollbars:`y`,type:`auto`,children:$(Je,{gap:`lg`,children:[v.length>0&&$(O,{children:[Q(ju,{label:`views of the element (scoped)`}),Q(Je,{gap:`sm`,children:v.map(e=>Q(Ru,{view:e,onNavigateTo:e=>f.navigateTo(e,t??void 0)},e.id))})]}),b.length>0&&$(O,{children:[Q(ju,{label:`views including this element`}),Q(Je,{gap:`sm`,children:b.map(e=>Q(Ru,{view:e,onNavigateTo:e=>f.navigateTo(e,t??void 0)},e.id))})]})]})})}),Q(it,{value:`Structure`,children:Q(dt,{scrollbars:`y`,type:`auto`,children:Q(Au,{element:_})})}),Q(it,{value:`Deployments`,children:Q(dt,{scrollbars:`y`,type:`auto`,children:Q(mu,{elementFqn:_.id})})})]})}),Q(H.div,{className:$l,drag:!0,dragElastic:0,dragMomentum:!1,onDrag:le,dragConstraints:{top:0,left:0,right:0,bottom:0}})]})})})}var Ru=({view:e,onNavigateTo:t})=>Q(D,{className:Gl,onClick:n=>t(e.id,n),children:$(k,{gap:6,align:`start`,wrap:`nowrap`,children:[Q(Ge,{size:`sm`,variant:`transparent`,children:e._type===`deployment`?Q(qn,{stroke:1.8}):Q(Un,{stroke:1.8})}),Q(O,{children:Q(j,{component:`div`,className:Kl,lineClamp:1,children:e.title||`untitled`})})]})});function zu({title:e,emptyValue:t=`undefined`,children:n,style:r,...i}){return $(Z,{children:[Q(Pu,{children:e}),Q(j,{component:`div`,...o(n)&&{c:`dimmed`},fz:`md`,style:{whiteSpace:`preserve-breaks`,userSelect:`all`,...r},...i,children:n||t})]})}function Bu({value:e}){let t=i(e).sort(([e],[t])=>e.localeCompare(t));return Q(eu,{children:$(Z,{children:[Q(Pu,{style:{justifySelf:`end`,textAlign:`right`},children:`metadata`}),Q(O,{className:N({display:`grid`,gridTemplateColumns:`min-content 1fr`,gridAutoRows:`min-content`,gap:`[12px 16px]`,alignItems:`baseline`,justifyItems:`stretch`}),children:t.map(([e,t])=>Q(ru,{label:e,value:t},e))})]})})}function Vu({tags:e,onClick:t}){return $(Ye,{gap:4,flex:1,mt:6,wrap:`wrap`,children:[e.map(e=>Q($r,{tag:e,cursor:`pointer`,onClick:n=>{n.stopPropagation(),t(e)}},e)),e.length===0&&Q(ke,{radius:`sm`,size:`sm`,fw:600,color:`gray`,children:`—`})]})}var Hu=e=>({viewId:e.context.currentView.id,fromNode:e.context.initiatedFrom.node,rectFromNode:e.context.initiatedFrom.clientRect,fqn:e.context.subject});function Uu(e){let t=X(4),{actorRef:n,onClose:r}=e,i=z(n,Hu,_r),a;return t[0]!==n||t[1]!==r||t[2]!==i?(a=Q(Nl.Provider,{value:n,children:Q(Lu,{onClose:r,...i})}),t[0]=n,t[1]=r,t[2]=i,t[3]=a):a=t[3],a}var Wu=(e,t)=>e.size>2&&t.size!==e.size?new Set(Ji([...ea(e).flatten(),...t])):e.size>1?new Set(Ji([...e])):e;function Gu(e,t){let n=new Set,r=new Set,i=new Set,a={sources:new Set,targets:new Set},o=(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),s=e?[...e.relationships(`model`)]:[];if(!e||!T(s,1)||!e.source.hasElement()||!e.target.hasElement())continue;let c=e.source.element,l=e.target.element;o(c,`source`),o(l,`target`);for(let e of s){if(r.add(e),e.source!==c){o(e.source,`source`);for(let t of e.source.ancestors()){if(t===c)break;n.add(t)}}if(e.target!==l){o(e.target,`target`);for(let t of e.target.ancestors()){if(t===l)break;i.add(t)}}}}return{sources:Wu(n,a.sources),targets:Wu(i,a.targets),relationships:r}}function Ku({source:e,target:t}){let n=new Set,r=new Set,i=new Set,a={sources:new Set,targets:new Set},o=(e,t)=>{t===`source`?(n.add(e),a.sources.add(e)):(i.add(e),a.targets.add(e))};e&&o(e,`source`),t&&o(t,`target`);let[s]=ra.findConnection(e,t,`directed`);if(!s)return{sources:n,targets:i,relationships:r};for(let a of s.relations){let s=a.source,c=a.target;if(o(s,`source`),o(c,`target`),r.add(a),e!==s){Wi(Gi(e,s),`${e.id} is not an ancestor of ${s.id}`);for(let t of s.ancestors()){if(t===e)break;n.add(t)}}if(t!==c){Wi(Gi(t,c),`${t.id} is not an ancestor of ${c.id}`);for(let e of c.ancestors()){if(e===t)break;i.add(e)}}}return{sources:Wu(n,a.sources),targets:Wu(i,a.targets),relationships:r}}var qu=dn(e=>{let{enableNavigateTo:t}=V(),{data:{navigateTo:n}}=e,[r,i,a]=ii(e),o=L();return $(en,{...e,children:[Q($t,{edgeProps:e,svgPath:r}),Q(an,{edgeProps:e,labelPosition:{x:i,y:a,translate:`translate(-50%, 0)`},style:{maxWidth:Math.abs(e.targetX-e.sourceX-100)},children:Q(pn,{edgeProps:e,children:t&&n&&Q(qr,{...e,onClick:e=>{e.stopPropagation(),o.navigateTo(n)}})})})]})}),Ju=e=>{let t=X(15),{enableNavigateTo:n,enableVscode:r}=V(),i=L(),a=oa(),o;if(t[0]!==a||t[1]!==i||t[2]!==n||t[3]!==r||t[4]!==e){let s=[],{navigateTo:c,fqn:l}=e.data;if(c&&n&&a!==c){let e;t[6]!==i||t[7]!==c?(e=e=>{e.stopPropagation(),i.navigateTo(c)},t[6]=i,t[7]=c,t[8]=e):e=t[8],s.push({key:`navigate`,icon:Q(Un,{}),onClick:e})}if(l){let e;t[9]!==i||t[10]!==l?(e=e=>{e.stopPropagation(),i.openRelationshipsBrowser(l)},t[9]=i,t[10]=l,t[11]=e):e=t[11],s.push({key:`relationships`,icon:Q(Gn,{}),onClick:e})}if(l&&r){let e;t[12]!==i||t[13]!==l?(e=e=>{e.stopPropagation(),i.openSource({element:l})},t[12]=i,t[13]=l,t[14]=e):e=t[14],s.push({key:`goToSource`,icon:Q(Dn,{}),onClick:e})}o=Q(un,{buttons:s,...e}),t[0]=a,t[1]=i,t[2]=n,t[3]=r,t[4]=e,t[5]=o}else o=t[5];return o};function Yu(e){let t=X(5),n=L(),r;t[0]===n?r=t[1]:(r=e=>{n.openSearch(e)},t[0]=n,t[1]=r);let i=F(r),a;return t[2]!==e||t[3]!==i?(a=Q(Fr,{onTagClick:i,...e}),t[2]=e,t[3]=i,t[4]=a):a=t[4],a}var Xu=e=>{let t=X(6),n=L(),r;t[0]!==n||t[1]!==e.data?(r=t=>{t.stopPropagation(),n.openElementDetails(e.data.fqn)},t[0]=n,t[1]=e.data,t[2]=r):r=t[2];let i;return t[3]!==e||t[4]!==r?(i=Q(Kr,{...e,onClick:r}),t[3]=e,t[4]=r,t[5]=i):i=t[5],i};function Zu(e){let t=X(3),{enableElementTags:n}=V(),r;return t[0]!==n||t[1]!==e?(r=$(Zt,{nodeProps:e,children:[Q(rn,{...e}),Q(sn,{...e}),n&&Q(Yu,{...e}),Q(Xu,{...e}),Q(Ju,{...e}),Q($u,{...e})]}),t[0]=n,t[1]=e,t[2]=r):r=t[2],r}function Qu(e){return $(Pr,{nodeProps:e,children:[Q(Xu,{...e}),Q(Br,{...e}),Q(ed,{...e})]})}function $u({data:{ports:e,height:t}}){return $(Z,{children:[e.in.map((n,r)=>Q(oi,{id:n,type:`target`,position:ai.Left,style:{visibility:`hidden`,top:`${15+(r+1)*((t-30)/(e.in.length+1))}px`}},n)),e.out.map((n,r)=>Q(oi,{id:n,type:`source`,position:ai.Right,style:{visibility:`hidden`,top:`${15+(r+1)*((t-30)/(e.out.length+1))}px`}},n))]})}function ed({data:e}){return $(Z,{children:[e.ports.in.map((e,t)=>Q(oi,{id:e,type:`target`,position:ai.Left,style:{visibility:`hidden`,top:`${20*(t+1)}px`}},e)),e.ports.out.map((e,t)=>Q(oi,{id:e,type:`source`,position:ai.Right,style:{visibility:`hidden`,top:`${20*(t+1)}px`}},e))]})}var td=Ci(null);function nd(){let e=X(2),t=Ei(td),n;return e[0]===t?n=e[1]:(n=Fi(t,`No RelationshipDetailsActorContext`),e[0]=t,e[1]=n),n}function rd(e,t){let n=t===void 0?_r:t,r=F(e);return z(nd(),r,n)}function id(){let e=nd();return ki(()=>({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 ad=e(bi(),1),od={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 sd(){let e=new ad.default.graphlib.Graph({directed:!0,compound:!0,multigraph:!0});return e.setGraph({...od.dagre,rankdir:`LR`}),e.setDefaultEdgeLabel(()=>({...od.edgeLabel})),e.setDefaultNodeLabel(()=>({})),e}var cd=`-port`;function ld(e,t,n){let r=new Li(t=>({id:`${e}-${t}`,portId:`${e}-${t}`})),i=ea(t);for(let t of i.sorted){let a=i.children(t).length>0,o=t.id,s=`${e}-${o}`,c=a?`${s}${cd}`:s;r.set(o,{id:s,portId:c}),n.setNode(s,{column:e,element:t,isCompound:a,portId:c,inPorts:[],outPorts:[],width:od.nodeWidth,height:od.nodeHeight}),a&&(n.setNode(c,{element:t,portId:c,isCompound:a,inPorts:[],outPorts:[],width:od.nodeWidth-od.dagre.ranksep,height:od.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 ud(e){return ad.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 dd(e,t){let n=sd(),i=ld(`sources`,e.sources,n),a=ld(`targets`,e.targets,n),o=Array.from(e.relationships).map(e=>{let t=i.byId(e.source.id).graph,r=a.byId(e.target.id).graph,o=e.id;return n.node(t.id).outPorts.push(r.id),n.node(r.id).inPorts.push(t.id),n.setEdge(t.portId,r.portId,{...od.edgeLabel},o),{name:o,source:t.id,sourceHandle:t.id+`_out`+(n.node(t.id).outPorts.length-1),target:r.id,targetHandle:r.id+`_in`+(n.node(r.id).inPorts.length-1),relationship:e}}),s=[...i.graphNodes.values(),...a.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,{...od.edgeLabel,width:c>10?800:400});let l=ud(n),u=m(s,r(e=>e.id===e.portId),g(e=>[e.id,l(e.id)]));function d(e){return u[e]??=m(n.children(e)??[],r(e=>!e.endsWith(cd)),E(e=>d(e)),te(t=>{Wi(t.length>0,`Node ${e} has no nested nodes`)}),C((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-=od.compound.paddingTop,n+=od.compound.paddingBottom,{position:{x:r,y:t},width:i,height:n-t}})}function f(e){let t=n.parent(e);return t?f(t)+1:0}function h(e){let t=n.children(e)??[];return t.length===0?0:1+Math.max(...t.map(h))}let _=(e,t,n)=>m(n,E((n,r)=>({port:e+`_`+t+r,topY:d(n).position.y})),ne(v(`topY`)),E(v(`port`))),y=0,b=0,x=s.map(({id:e})=>{let{element:r,inPorts:i,outPorts:a,column:o}=n.node(e),{position:s,width:c,height:l}=d(e),u=n.parent(e),p=(n.children(e)??[]).filter(e=>!e.endsWith(cd));y=Math.min(y,s.x),b=Math.min(b,s.y);let m=t?Vi(r.scopedViews(),e=>e.id!==t.id)?.id??null:null,g=t?.findNodeWithElement(r.id),v=t&&!g?Vi(r.ancestors(),e=>!!t.findNodeWithElement(e.id))?.id:null,x=g??(v&&t?.findNodeWithElement(v));return Qi({id:e,parent:u??null,x:s.x,y:s.y,title:r.title,description:$i(r.$element)??null,technology:r.technology,tags:[...r.tags],links:null,color:x?.color??r.color,shape:g?.shape??r.shape,icon:g?.icon??r.icon??`none`,modelRef:r.id,kind:r.kind,level:f(e),labelBBox:{x:s.x,y:s.y,width:c,height:l},style:ee({...(g??x)?.style,...r.$element.style},[`shape`,`color`,`icon`]),navigateTo:m,...p.length>0&&{depth:h(e)},children:p,width:c,height:l,column:o,ports:{in:_(e,`in`,i),out:_(e,`out`,a)}})});return{bounds:{x:Math.min(y,0),y:Math.min(b,0),width:n.graph().width??100,height:n.graph().height??100},nodes:x,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}=p(o,e=>e.name===i),f=l.title??`untitled`,m=l.navigateTo?.id??null,h=$i(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:h,...m&&{navigateTo:m},...g&&{technology:g},points:r.points.map(e=>[e.x,e.y]),line:l.line,relationId:l.id,parent:null}),e},[])}}var fd=N.raw({display:`inline-flex`,alignItems:`center`,padding:`[6px 2px 0 2px]`,"& .mantine-Text-root":{color:`text/90`,fontSize:`xs`,fontWeight:`medium`,lineHeight:`1.2`}}),pd=N({paddingLeft:`1`,gridColumn:1},fd),md=N({gridColumn:2},fd),hd=N({gridColumn:3,paddingRight:`1`},fd),gd=`likec4-edge-label`,_d=P(gd,N({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`}})),vd=N({display:`contents`,[`&:last-child .${gd}`]:{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`}}),yd=N({display:`grid`,gridTemplateColumns:`1fr 30px 1fr`,gridAutoRows:`min-content max-content`,gap:`0`,alignItems:`stretch`});N({display:`grid`,gridTemplateColumns:`min-content 1fr`,gridAutoRows:`min-content max-content`,gap:`[10px 12px]`,alignItems:`baseline`,justifyItems:`start`});var bd=N({maxHeight:[`70vh`,`calc(100cqh - 70px)`]}),xd=({edge:e,view:t})=>{let n=id(),r=J(null),i=t.nodes.find(t=>t.id===e.source),a=t.nodes.find(t=>t.id===e.target),o=t.edges.flatMap(e=>{let n=t.nodes.find(t=>t.id===e.source),r=t.nodes.find(t=>t.id===e.target);return n&&r?{id:e.id,source:n,target:r,label:e.label}:[]});return!i||!a||o.length===0?null:$(He,{position:`bottom-start`,shadow:`md`,keepMounted:!0,withinPortal:!1,closeOnClickOutside:!0,clickOutsideEvents:[`pointerdown`,`mousedown`,`click`],onOpen:()=>{setTimeout(()=>{r.current?.querySelector(`[data-edge-id="${e.id}"]`)?.scrollIntoView({behavior:`instant`,block:`nearest`})},100)},children:[Q(Ne,{children:$(M,{size:`xs`,variant:`default`,fw:`500`,style:{padding:`0.25rem 0.75rem`},rightSection:Q(cr,{size:16}),children:[Q(O,{className:pd,maw:160,p:0,mod:{"likec4-color":i.color},children:Q(j,{component:`span`,truncate:!0,children:i.title})}),Q(Ge,{color:`dark`,variant:`transparent`,size:`xs`,children:Q(Wn,{style:{width:`80%`}})}),Q(O,{className:hd,maw:160,p:0,mod:{"likec4-color":a.color},children:Q(j,{component:`span`,truncate:!0,children:a.title})})]})}),Q(ut,{p:0,miw:250,maw:400,children:Q(De,{className:bd,scrollbars:`y`,type:`never`,viewportRef:r,children:Q(O,{className:yd,p:`xs`,maw:400,children:o.map(t=>$(`div`,{className:vd,"data-selected":t.id===e.id,onClick:e=>{e.stopPropagation(),n.navigateTo(t.id)},children:[Q(O,{className:pd,mod:{"edge-id":t.id,"likec4-color":t.source.color},children:Q(j,{component:`span`,truncate:!0,children:t.source.title})}),Q(O,{className:md,children:Q(Ge,{color:`dark`,variant:`transparent`,size:`xs`,children:Q(Wn,{style:{width:`80%`}})})}),Q(O,{className:hd,mod:{"likec4-color":t.target.color},children:Q(j,{component:`span`,truncate:!0,children:t.target.title})}),Q(O,{className:_d,children:Q(j,{component:`span`,truncate:!0,children:t.label||`untitled`})})]},t.id))})})})]})},Sd={element:Zu,compound:Qu},Cd={relationship:qu};function wd({actorRef:e}){let t=J(null);return t.current??={defaultNodes:[],defaultEdges:[]},Q(td.Provider,{value:e,children:Q(li,{...t.current,children:Q(di,{id:e.sessionId,inherit:!1,children:$(W,{children:[Q(Od,{},`xyflow`),Q(Ed,{},`sync`)]})})})})}var Td=e=>({...e.context.subject,viewId:e.context.viewId}),Ed=K(()=>{let e=X(19),t=nd(),n=z(t,Td,vr),r=B(),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&&u(n.edgeId))Mi(a,`view ${n.viewId} not found`),e=Gu([Fi(a.findEdge(n.edgeId),`edge ${n.edgeId} not found in ${n.viewId}`).id],a);else if(n.source&&n.target)e=Ku({source:r.element(n.source),target:r.element(n.target)});else{o=null;break bb0}o=dd(e,a)}e[3]=r,e[4]=n,e[5]=a,e[6]=o}else o=e[6];let s=o,c=si(),l=ri(),d;e[7]!==t||e[8]!==l||e[9]!==c?(d=()=>{l.viewportInitialized&&t.send({type:`xyflow.init`,instance:l,store:c})},e[7]=t,e[8]=l,e[9]=c,e[10]=d):d=e[10];let f;e[11]!==t||e[12]!==l.viewportInitialized||e[13]!==c?(f=[c,l.viewportInitialized,t],e[11]=t,e[12]=l.viewportInitialized,e[13]=c,e[14]=f):f=e[14],q(d,f);let p,m;return e[15]!==t||e[16]!==s?(p=()=>{s!==null&&t.send({type:`update.layoutData`,data:s})},m=[s,t],e[15]=t,e[16]=s,e[17]=p,e[18]=m):(p=e[17],m=e[18]),q(p,m),null}),Dd=({context:e})=>({initialized:e.initialized.xydata&&e.initialized.xyflow,nodes:e.xynodes,edges:e.xyedges}),Od=K(()=>{let e=X(22),t=id(),{initialized:n,nodes:r,edges:i}=rd(Dd,vr),a;e[0]===t?a=e[1]:(a=e=>{t.send({type:`xyflow.applyNodeChanges`,changes:e})},e[0]=t,e[1]=a);let o;e[2]===t?o=e[3]:(o=e=>{t.send({type:`xyflow.applyEdgeChanges`,changes:e})},e[2]=t,e[3]=o);let s;e[4]===t?s=e[5]:(s=(e,n)=>{e.stopPropagation(),t.send({type:`xyflow.nodeClick`,node:n})},e[4]=t,e[5]=s);let c;e[6]===t?c=e[7]:(c=(e,n)=>{e.stopPropagation(),t.send({type:`xyflow.edgeClick`,edge:n})},e[6]=t,e[7]=c);let l;e[8]===t?l=e[9]:(l=()=>{t.send({type:`xyflow.paneClick`})},e[8]=t,e[9]=l);let u;e[10]===t?u=e[11]:(u=()=>{t.send({type:`xyflow.paneDblClick`})},e[10]=t,e[11]=u);let d;e[12]===t?d=e[13]:(d=()=>{t.send({type:`xyflow.resized`})},e[12]=t,e[13]=d);let f;e[14]===t?f=e[15]:(f=(e,n)=>{n.data.hovered||t.send({type:`xyflow.edgeMouseEnter`,edge:n})},e[14]=t,e[15]=f);let p;e[16]===t?p=e[17]:(p=(e,n)=>{n.data.hovered&&t.send({type:`xyflow.edgeMouseLeave`,edge:n})},e[16]=t,e[17]=p);let m;e[18]===t?m=e[19]:(m=e=>{t.send({type:`xyflow.selectionChange`,...e})},e[18]=t,e[19]=m);let h;return e[20]===t?h=e[21]:(h=e=>{e.stopPropagation(),t.close()},e[20]=t,e[21]=h),$(tn,{id:t.rootElementId,nodes:r,edges:i,className:P(n?`initialized`:`not-initialized`,`likec4-relationship-details`),nodeTypes:Sd,edgeTypes:Cd,onNodesChange:tt(a),onEdgesChange:tt(o),fitViewPadding:.05,onNodeClick:tt(s),onEdgeClick:tt(c),onPaneClick:tt(l),onDoubleClick:tt(u),onViewportResize:tt(d),onEdgeMouseEnter:tt(f),onEdgeMouseLeave:tt(p),onSelectionChange:tt(m),nodesDraggable:!1,nodesSelectable:!0,fitView:!1,pannable:!0,zoomable:!0,children:[Q(Ad,{}),Q(ci,{position:`top-right`,children:Q(A,{variant:`default`,color:`gray`,onClick:h,children:Q(Zn,{})})})]})}),kd=({context:e})=>({subject:e.subject,viewId:e.viewId}),Ad=K(()=>{let e=X(5),{subject:t,viewId:n}=rd(kd,vr),r=B(),i,a;if(e[0]!==t||e[1]!==r||e[2]!==n){a=Symbol.for(`react.early_return_sentinel`);bb0:{let e=r.findView(n);if(!e||!e.isDiagram()){a=null;break bb0}let o=[...e.edges()],s=`edgeId`in t&&u(t.edgeId)?o.find(e=>e.id===t.edgeId):p(o,e=>e.source.element?.id===t.source&&e.target.element?.id===t.target)||p(o,e=>(e.source.element?.id===t.source||Ni(e.source.element?.id??`__`,t.source??`__`))&&(e.target.element?.id===t.target||Ni(e.target.element?.id??`__`,t.target??`__`)));if(!s){a=null;break bb0}i=Q(jd,{edge:s.$edge,view:e.$view})}e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=a}else i=e[3],a=e[4];return a===Symbol.for(`react.early_return_sentinel`)?i:a}),jd=e=>{let t=X(18),{edge:n,view:r}=e,i=id(),a=n.id,[o,s,c]=bt(n.id),{history:l,current:u}=c,d;t[0]!==a||t[1]!==o||t[2]!==s?(d=()=>{o!==a&&s.set(a)},t[0]=a,t[1]=o,t[2]=s,t[3]=d):d=t[3];let f;t[4]===a?f=t[5]:(f=[a],t[4]=a,t[5]=f),q(d,f);let p;t[6]!==i||t[7]!==a||t[8]!==o?(p=()=>{o!==a&&i.navigateTo(o)},t[6]=i,t[7]=a,t[8]=o,t[9]=p):p=t[9];let m;t[10]===o?m=t[11]:(m=[o],t[10]=o,t[11]=m),q(p,m);let h=u>0,g=u+1<l.length,_;return t[12]!==n||t[13]!==h||t[14]!==g||t[15]!==s||t[16]!==r?(_=Q(ci,{position:`top-left`,children:Q(k,{gap:4,wrap:`nowrap`,children:$(W,{mode:`popLayout`,children:[h&&Q(H.div,{layout:!0,initial:{opacity:.05,transform:`translateX(-5px)`},animate:{opacity:1,transform:`translateX(0)`},exit:{opacity:.05,transform:`translateX(-10px)`},children:Q(A,{variant:`default`,color:`gray`,onClick:e=>{e.stopPropagation(),s.back()},children:Q(zn,{})})},`back`),g&&Q(H.div,{layout:!0,initial:{opacity:.05,transform:`translateX(5px)`},animate:{opacity:1,transform:`translateX(0)`},exit:{opacity:0,transform:`translateX(5px)`},children:Q(A,{variant:`default`,color:`gray`,onClick:e=>{e.stopPropagation(),s.forward()},children:Q(kn,{})})},`forward`),Q(k,{gap:`xs`,wrap:`nowrap`,ml:`sm`,children:Q(xd,{edge:n,view:r})})]})})}),t[12]=n,t[13]=h,t[14]=g,t[15]=s,t[16]=r,t[17]=_):_=t[17],_},Md=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:Ii(t)}}).filter(t),Nd=(e,t)=>e.length===t.length&&e.every((e,n)=>e.actorRef===t[n].actorRef);function Pd(e){let t=X(18),{overlaysActorRef:n}=e,r=L(),i=z(n,Md,Nd),a=ui()??!1,o;t[0]===i?o=t[1]:(o=i.some(Fd),t[0]=i,t[1]=o);let s=o,c;t[2]!==r||t[3]!==s||t[4]!==a?(c=()=>{let e=r.getContext().xystore.getState().domNode?.querySelector(`.react-flow__renderer`);if(!e||a)return;let t=fi(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]=c):c=t[5];let l;t[6]===s?l=t[7]:(l=[s],t[6]=s,t[7]=l),q(c,l);let u;t[8]===n?u=t[9]:(u=e=>{n.send({type:`close`,actorId:e.id})},t[8]=n,t[9]=u);let d=u,f;if(t[10]!==d||t[11]!==i||t[12]!==n){let e;t[14]===d?e=t[15]:(e=(e,t)=>{switch(e.type){case`relationshipsBrowser`:return Q(Aa,{overlayLevel:t,onClose:()=>d(e.actorRef),children:Q(Cl,{actorRef:e.actorRef})},e.actorRef.sessionId);case`relationshipDetails`:return Q(Aa,{overlayLevel:t,onClose:()=>d(e.actorRef),children:Q(wd,{actorRef:e.actorRef})},e.actorRef.sessionId);case`elementDetails`:return Q(Uu,{actorRef:e.actorRef,onClose:()=>d(e.actorRef)},e.actorRef.sessionId);default:Ii(e)}},t[14]=d,t[15]=e);let r=i.map(e),a;t[16]===n?a=t[17]:(a=()=>n.send({type:`close.all`}),t[16]=n,t[17]=a),f=Q(Ur.Overlays,{children:Q(Rr,{onReset:a,children:Q(di,{children:Q(W,{mode:`popLayout`,children:r})})})}),t[10]=d,t[11]=i,t[12]=n,t[13]=f}else f=t[13];return f}function Fd(e){return e.type===`elementDetails`}function Id(e){let t=X(3),{children:n}=e,r=Gt();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(Ie,{target:i,children:n}),t[0]=n,t[1]=i,t[2]=a):a=t[2],a}var Ld=wr({types:{context:{},events:{},tags:`opened`},delays:{"open timeout":({context:e})=>e.openTimeout,"close timeout":600,"long idle":1500},actions:{"update edgeId":Tr(({context:e,event:t})=>(Er(t,[`xyedge.select`,`xyedge.mouseEnter`]),{edgeId:t.edgeId,edgeSelected:e.edgeSelected||t.type===`xyedge.select`})),"increase open timeout":Tr(()=>({openTimeout:800})),"decrease open timeout":Tr(()=>({openTimeout:300})),"reset edgeId":Tr({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`}}}}}}}),Rd=({children:e,likec4color:t})=>Q(`div`,{"data-likec4-color":t,className:vi({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)`}}),children:e}),zd=Lt(`div`,{base:{whiteSpaceCollapse:`preserve-breaks`,fontSize:`sm`,lineHeight:`sm`,userSelect:`all`,overflowWrap:`anywhere`,wordBreak:`break-word`,minWidth:0}});function Bd(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}}var Vd=K(()=>{let e=X(41),t=B(),i=Dr(Ld),a=L(),{viewId:o,selected:s}=jr(Bd),c=z(i,Yd),l;e[0]===i?l=e[1]:(l=()=>{i.send({type:`close`})},e[0]=i,e[1]=l),Or(`navigateTo`,l);let d;e[2]===i?d=e[3]:(d=e=>{let{edge:t}=e;i.send({type:`xyedge.mouseEnter`,edgeId:t.data.id})},e[2]=i,e[3]=d),Or(`edgeMouseEnter`,d);let f;e[4]===i?f=e[5]:(f=()=>{i.send({type:`xyedge.mouseLeave`})},e[4]=i,e[5]=f),Or(`edgeMouseLeave`,f);let p;e[6]===i?p=e[7]:(p=()=>{i.send({type:`close`})},e[6]=i,e[7]=p),Or(`walkthroughStarted`,p);let h;e[8]!==i||e[9]!==s?(h=()=>{s?i.send({type:`xyedge.select`,edgeId:s}):i.send({type:`xyedge.unselect`})},e[8]=i,e[9]=s,e[10]=h):h=e[10];let g;e[11]===s?g=e[12]:(g=[s],e[11]=s,e[12]=g),q(h,g);let _;e[13]!==i||e[14]!==a||e[15]!==c?(_=e=>{if(!c)return;i.send({type:`dropdown.mouseEnter`});let t=a.findEdge(c);t&&!t.data.hovered&&a.send({type:`xyflow.edgeMouseEnter`,edge:t,event:e})},e[13]=i,e[14]=a,e[15]=c,e[16]=_):_=e[16];let v=_,b;e[17]!==i||e[18]!==a||e[19]!==c?(b=e=>{if(!c)return;i.send({type:`dropdown.mouseLeave`});let t=a.findEdge(c);t?.data.hovered&&a.send({type:`xyflow.edgeMouseLeave`,edge:t,event:e})},e[17]=i,e[18]=a,e[19]=c,e[20]=b):b=e[20];let x=b,S;e[21]===c?S=e[22]:(S=e=>{let t=c?Yr(e,c):null;return{diagramEdge:t,sourceNode:t?Lr(e,t.source):null,targetNode:t?Lr(e,t.target):null}},e[21]=c,e[22]=S);let ee;e[23]===c?ee=e[24]:(ee=[c],e[23]=c,e[24]=ee);let{diagramEdge:te,sourceNode:C,targetNode:w}=jr(S,_r,ee);if(!te||!C||!w||n(te.relations))return null;let T,ne;if(e[25]!==te||e[26]!==t||e[27]!==v||e[28]!==x||e[29]!==C||e[30]!==w||e[31]!==o){ne=Symbol.for(`react.early_return_sentinel`);bb0:{let n;e[34]!==t||e[35]!==C||e[36]!==w?(n=e=>{try{return t.relationship(e)}catch(t){let n=t;return console.error(`View is cached and likec4model missing relationship ${e} from ${C.id} -> ${w.id}`,n),null}},e[34]=t,e[35]=C,e[36]=w,e[37]=n):n=e[37];let i;e[38]!==C||e[39]!==w?(i=e=>e.source.id===C.id&&e.target.id===w.id,e[38]=C,e[39]=w,e[40]=i):i=e[40];let[a,s]=m(te.relations,E(n),r(u),y(i));if(a.length===0&&s.length===0){console.warn(`No relationships found diagram edge`,{diagramEdge:te,sourceNode:C,targetNode:w}),ne=null;break bb0}T=Q(Id,{children:Q(Wd,{viewId:o,direct:a,nested:s,diagramEdge:te,sourceNode:C,targetNode:w,onMouseEnter:v,onMouseLeave:x})})}e[25]=te,e[26]=t,e[27]=v,e[28]=x,e[29]=C,e[30]=w,e[31]=o,e[32]=T,e[33]=ne}else T=e[32],ne=e[33];return ne===Symbol.for(`react.early_return_sentinel`)?T:ne}),Hd=(e,t)=>t?.querySelector(`.likec4-edge-label[data-edge-id="${e}"]`)??t?.querySelector(`.likec4-edge-middle-point[data-edge-id="${e}"]`)??null,Ud=8,Wd=({viewId:e,diagramEdge:t,direct:n,nested:r,sourceNode:i,targetNode:a,onMouseEnter:o,onMouseLeave:s})=>{let c=J(null),{enableNavigateTo:l,enableVscode:u}=V(),{onOpenSource:d}=Xr(),f=hn(),[p,m]=Y(null);Oi(()=>{m(Hd(t.id,f.current))},[t]),q(()=>{let e=p,t=c.current;if(!e||!t)return;let n=!1,r=kt(e,t,()=>{Tt(e,t,{placement:`bottom-start`,middleware:[Et(4),Dt({crossAxis:!0,allowedPlacements:[`bottom-start`,`bottom-end`,`left-start`,`top-start`,`top-end`,`right-start`,`right-end`,`left-end`]}),wt({apply({availableHeight:e,availableWidth:t,elements:r}){n||Object.assign(r.floating.style,{maxWidth:`${h(cn(t),{min:220,max:400})}px`,maxHeight:`${h(cn(e),{min:100,max:500})}px`})}}),Ot({padding:Ud*2})]}).then(({x:e,y:r,middlewareData:i})=>{n||(t.style.transform=`translate(${cn(e)}px, ${cn(r)}px)`,t.style.visibility=i.hide?.referenceHidden?`hidden`:`visible`)})},{ancestorResize:!1,animationFrame:!0});return()=>{n=!0,r()}},[p]);let g=L(),_=Ti((t,n)=>$(xi,{children:[n>0&&Q(Oe,{}),Q(Gd,{viewId:e,relationship:t,sourceNode:i,targetNode:a,onNavigateTo:l?e=>{g.navigateTo(e)}:void 0,...d&&u&&{onOpenSource:()=>d({relation:t.id})}})]},t.id),[e,i,a,g,l,d,u]);return Q(De,{ref:c,onMouseEnter:o,onMouseLeave:s,type:`auto`,scrollbars:`y`,scrollbarSize:6,styles:{viewport:{overscrollBehavior:`contain`,minWidth:200,minHeight:40}},className:P(N({layerStyle:`likec4.dropdown`,p:`0`,pointerEvents:{base:`all`,_whenPanning:`none`},position:`absolute`,top:`0`,left:`0`,width:`max-content`,cursor:`default`})),children:$(xr,{css:{gap:`3`,padding:`4`,paddingTop:`2`},children:[Q(M,{variant:`default`,color:`gray`,size:`compact-xs`,style:{alignSelf:`flex-start`,fontWeight:`medium`,"--button-fz":`var(--font-sizes-xxs)`},onClick:e=>{e.stopPropagation(),g.openRelationshipDetails(t.id)},children:`browse relationships`}),n.length>0&&$(Z,{children:[Q(Kd,{children:`DIRECT RELATIONSHIPS`}),n.map(_)]}),r.length>0&&$(Z,{children:[Q(Kd,{css:{mt:n.length>0?`2`:`0`},children:`RESOLVED FROM NESTED`}),r.map(_)]})]})})},Gd=wi(({viewId:e,relationship:t,sourceNode:n,targetNode:r,onNavigateTo:a,onOpenSource:o},s)=>{let c=Jd(t,`source`,n),l=Jd(t,`target`,r),u=a&&t.navigateTo?.id!==e?t.navigateTo?.id:void 0,d=t.links,f=t.hasMetadata()?i(t.getMetadata()).sort(([e],[t])=>e.localeCompare(t)):null,p=f&&$(`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:f.map(([e,t])=>{let n=Array.isArray(t)?t.join(`, `):t;return $(`div`,{style:{display:`flex`,gap:`12px`,fontSize:`12px`,lineHeight:`1.4`},children:[$(`span`,{style:{fontWeight:`bold`,minWidth:`110px`,color:`#495057`},children:[e,`:`]}),Q(`span`,{style:{color:`#212529`,wordBreak:`break-word`,flex:1},children:n})]},e)})})]});return $(xr,{ref:s,className:to({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`}}}),children:[Q(R,{gap:`0.5`,children:$(Ve,{openDelay:200,children:[Q(qd,{label:c.full,offset:2,position:`top-start`,children:Q(Rd,{likec4color:n.color,children:c.short})}),Q(Wn,{stroke:2.5,size:`11px`,opacity:.65}),Q(qd,{label:l.full,offset:2,position:`top-start`,children:Q(Rd,{likec4color:r.color,children:l.short})}),u&&Q(qd,{label:`Open dynamic view`,children:Q(A,{size:`sm`,radius:`sm`,variant:`default`,onClick:e=>{e.stopPropagation(),a?.(u)},style:{alignSelf:`flex-end`},role:`button`,children:Q(Un,{size:`80%`,stroke:2})})}),o&&Q(qd,{label:`Open source`,children:Q(A,{size:`sm`,radius:`sm`,variant:`default`,onClick:e=>{e.stopPropagation(),o()},role:`button`,children:Q(Dn,{size:`80%`,stroke:2})})})]})}),$(R,{gap:`xs`,alignItems:`center`,children:[Q(zd,{children:t.title||`untitled`}),p&&Q(qd,{label:p,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(G,{display:`inline-flex`,children:Q(On,{size:14,opacity:.5,style:{flexShrink:0,cursor:`help`}})})})]}),t.kind&&$(R,{gap:`2`,children:[Q(Kd,{children:`kind`}),Q(j,{size:`xs`,className:N({userSelect:`all`,wordBreak:`break-word`,minWidth:0}),children:t.kind})]}),t.technology&&$(R,{gap:`2`,children:[Q(Kd,{children:`technology`}),Q(j,{size:`xs`,className:N({userSelect:`all`,wordBreak:`break-word`,minWidth:0}),children:t.technology})]}),t.summary.nonEmpty&&$(Z,{children:[Q(Kd,{children:`description`}),Q(G,{css:{paddingLeft:`2.5`,py:`1.5`,borderLeft:`2px dotted`,borderLeftColor:{base:`mantine.colors.gray[3]`,_dark:`mantine.colors.dark[4]`}},children:Q(xn,{value:t.summary,fontSize:`sm`,textScale:.875})})]}),d.length>0&&$(Z,{children:[Q(Kd,{children:`links`}),Q(R,{gap:`1`,flexWrap:`wrap`,children:d.map(e=>Q($s,{size:`sm`,value:e},e.url))})]})]})}),Kd=Lt(`div`,{base:{display:`block`,fontSize:`xxs`,fontWeight:`medium`,userSelect:`none`,lineHeight:`sm`,color:`text.dimmed`}}),qd=Ue.withProps({color:`dark`,fz:`xs`,label:``,children:null,offset:8,withinPortal:!1});function Jd(e,t,n){let r=e.isDeploymentRelation()?n.id:n.modelRef||``,i=e[t].id;return{full:i,short:Pi(r)+i.slice(r.length)}}function Yd(e){return e.hasTag(`opened`)?e.context.edgeId:null}var Xd=K(()=>{let e=X(6),[t,n]=Xo(),{layout:r,isActive:i}=t,{toggleCompare:a}=n,o=r===`manual`?`var(--mantine-color-orange-6)`:`var(--mantine-color-green-6)`,s;if(e[0]!==o||e[1]!==i||e[2]!==a){let t;e[4]===a?t=e[5]:(t=e=>{e.stopPropagation(),a()},e[4]=a,e[5]=t),s=Q(G,{className:I({position:`absolute`,top:`0`,left:`0`,width:`full`,height:`full`,border:`default`,borderWidth:4,pointerEvents:`none`,alignItems:`flex-start`,justifyContent:`center`}),style:{zIndex:`9999`,display:i?void 0:`none`,borderColor:o},children:Q(Zd,{style:{backgroundColor:o},onClick:t,children:`Close compare`})}),e[0]=o,e[1]=i,e[2]=a,e[3]=s}else s=e[3];return s}),Zd=D.withProps({className:N({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)`}})}),Qd=N({position:`absolute`,bottom:`0`,right:`0`,padding:`2`,margin:`0`,width:`min-content`,height:`min-content`,_print:{display:`none`}}),$d=N({"--ai-radius":`0px`,_noReduceGraphics:{"--ai-radius":`{radii.md}`}}),ef=N({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`}}),tf=N({padding:`xxs`}),nf=N({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`}}});N({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
|
-
`});var rf=N({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)`}),af=e=>{let n=X(16),{value:r}=e,{title:i,color:a,shape:o}=r,s=a===void 0?`primary`:a,l=o===void 0?`rectangle`:o,[u,d]=Y(null),f=L(),p;if(n[0]!==s||n[1]!==f||n[2]!==u||n[3]!==l||n[4]!==i||n[5]!==r){let e;n[7]!==f||n[8]!==r?(e=()=>{d(null),f.highlightNotation(r)},n[7]=f,n[8]=r,n[9]=e):e=n[9];let a;n[10]===f?a=n[11]:(a=()=>{d(null),f.unhighlightNotation()},n[10]=f,n[11]=a);let o;n[12]!==f||n[13]!==u||n[14]!==r?(o=e=>Q(ke,{className:P(rf),onMouseEnter:()=>{d(e),f.highlightNotation(r,e)},onMouseLeave:()=>{d(null),f.highlightNotation(r)},opacity:t(u)&&u!==e?.25:1,children:e},e),n[12]=f,n[13]=u,n[14]=r,n[15]=o):o=n[15],p=Q(he,{shadow:`none`,px:`xs`,py:`sm`,className:P(nf),"data-likec4-color":s,onMouseEnter:e,onMouseLeave:a,children:$(k,{gap:`sm`,align:`stretch`,wrap:`nowrap`,children:[Q(O,{flex:`0 0 70px`,style:{position:`relative`,width:70,height:c(46.666666666666664,0)},children:Q(rn,{data:{shape:l,width:300,height:200}})}),$(Je,{gap:4,flex:1,children:[Q(k,{gap:4,flex:`0 0 auto`,children:r.kinds.map(o)}),Q(j,{component:`div`,fz:`sm`,fw:500,lh:`1.25`,style:{textWrap:`pretty`},children:i})]})]})}),n[0]=s,n[1]=f,n[2]=u,n[3]=l,n[4]=i,n[5]=r,n[6]=p}else p=n[6];return p},of=e=>({id:e.view.id,notations:e.view.notation?.nodes??[]}),sf=K(()=>{let e=X(8),t=Rt(cf),{id:n,notations:r}=jr(of),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]=Ct(i),s=r.length>0,c=qo();if(!s)return null;let l;return e[1]!==t||e[2]!==n||e[3]!==a||e[4]!==r||e[5]!==c||e[6]!==o?(l=$(W,{children:[a&&Q(H.div,{initial:{opacity:.75,translateX:`50%`},animate:{opacity:1,translateX:0},exit:{translateX:`100%`,opacity:.6},className:Qd,children:Q(Ue,{label:`Show notation`,color:`dark`,fz:`xs`,...c,children:Q(A,{size:`lg`,variant:`default`,color:`gray`,className:$d,onClick:()=>o(!1),children:Q(Fn,{stroke:1.5})})})},`collapsed`),!a&&Q(H.div,{initial:{opacity:.75,scale:.2},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.25},className:P(`react-flow__panel`,Qd),style:{transformOrigin:`bottom right`},children:Q(ft,{radius:`sm`,withBorder:!0,shadow:`lg`,className:ef,children:$(Pe,{defaultValue:`first`,radius:`xs`,children:[$(Le,{children:[Q(A,{size:`md`,variant:`subtle`,color:`gray`,ml:2,style:{alignSelf:`center`},onClick:()=>o(!0),children:Q($n,{stroke:2})}),Q($e,{value:`first`,fz:`xs`,children:`Elements`}),Q($e,{value:`second`,fz:`xs`,disabled:!0,children:`Relationships`})]}),Q(it,{value:`first`,className:tf,hidden:a,children:Q(De,{viewportProps:{style:{maxHeight:`min(40vh, ${Math.max(t-60,50)}px)`}},children:Q(Je,{gap:0,children:r.map(lf)})})})]})})},n)]}),e[1]=t,e[2]=n,e[3]=a,e[4]=r,e[5]=c,e[6]=o,e[7]=l):l=e[7],l});function cf(e){return e.height}function lf(e,t){return Q(af,{value:e},t)}var uf=Ar(e=>({overlays:e.children.overlays??null,search:e.children.search??null})),df=K(()=>{let{enableControls:e,enableNotations:t,enableSearch:n,enableRelationshipDetails:r,enableReadOnly:i,enableCompareWithLatest:a}=V(),o=dr(),s=Vr(uf);return $(Rr,{onReset:Ti(()=>{console.warn(`DiagramUI: resetting error boundary and rerendering...`),o()},[]),children:[e&&Q(qc,{}),s.overlays&&Q(Pd,{overlaysActorRef:s.overlays}),t&&Q(sf,{}),n&&s.search&&Q(Uo,{searchActorRef:s.search}),r&&i&&Q(Vd,{}),a&&Q(Xd,{})]})});df.displayName=`DiagramUI`;var ff=()=>{};function pf({onCanvasClick:e,onCanvasContextMenu:t,onCanvasDblClick:n,onEdgeClick:r,onEdgeContextMenu:i,onNavigateTo:a,onNodeClick:o,onNodeContextMenu:c,onOpenSource:l,onLogoClick:u,onLayoutTypeChange:d,onInitialized:f,view:p,className:m,controls:h=!0,fitView:g=!0,fitViewPadding:_=h?Kt.withControls:Kt.default,pannable:v=!0,zoomable:y=!0,background:b=`dots`,enableElementTags:x=!1,enableFocusMode:S=!1,enableElementDetails:ee=!1,enableRelationshipDetails:te=!1,enableRelationshipBrowser:C=!1,enableCompareWithLatest:w=!!d,nodesSelectable:T,enableNotations:ne=!1,showNavigationButtons:re=!!a,enableDynamicViewWalkthrough:E=!1,dynamicViewVariant:ie,enableSearch:ae=!1,enableNotes:oe=!0,initialWidth:D,initialHeight:se,reduceGraphics:O=`auto`,renderIcon:ce,where:le,reactFlowProps:ue,renderNodes:de,children:fe}){let pe=Xt(),me=J(null),he=Ht();w=w&&!!d&&!!he&&!s(he.$data.manualLayouts);let ge=!!he,_e=Zr(),ve=!!_e,ye=!ve;T??=ve||S||!!a||!!o;let be=Mr(p,ie),xe=hf(_);me.current??={defaultEdges:[],defaultNodes:[],initialWidth:D??be.width,initialHeight:se??be.height,initialFitViewOptions:{maxZoom:3,minZoom:Vt,padding:xe},initialMaxZoom:3,initialMinZoom:Vt};let Se=O===`auto`?v&&p.bounds.width*p.bounds.height>16e6&&p.nodes.some(e=>e.children?.length>0):O;return Q(Si,{id:`LikeC4Diagram`,onRender:ff,children:Q(gn,{children:Q(mn,{reducedMotion:Se?`always`:void 0,children:Q(Yt,{value:ce??null,children:Q(Ur,{features:{enableFitView:g,enableEditor:ve,enableAISemanticLayout:ve&&!!_e.applySemanticLayout,enableReadOnly:ye,enableFocusMode:S,enableNavigateTo:!!a,enableElementDetails:ee&&ge,enableRelationshipDetails:te&&ge,enableRelationshipBrowser:C&&ge,enableSearch:ae&&ge,enableNavigationButtons:re&&!!a,enableDynamicViewWalkthrough:p._type===`dynamic`&&E,enableNotations:ne,enableVscode:!!l,enableControls:h,enableElementTags:x,enableCompareWithLatest:w,enableNotes:oe},children:$(Nr,{handlers:{onCanvasClick:e,onCanvasContextMenu:t,onCanvasDblClick:n,onEdgeClick:r,onEdgeContextMenu:i,onNavigateTo:a,onNodeClick:o,onNodeContextMenu:c,onOpenSource:l,onLogoClick:u,onInitialized:f,onLayoutTypeChange:d},children:[Q(fn,{id:pe}),Q(Qr,{rootSelector:`#${pe}`,children:Q(Qt,{id:pe,className:m,reduceGraphics:Se,children:Q(li,{fitView:g,...me.current,children:Q(Jr,{id:pe,view:p,zoomable:y,pannable:v,fitViewPadding:xe,nodesDraggable:ve,nodesSelectable:T,where:le??null,dynamicViewVariant:ie,children:$(Ko,{children:[Q(Wr,{background:b,reactFlowProps:ue,renderNodes:de,children:fe}),Q(df,{})]})})})})})]})})})})})})}var mf=e=>typeof e==`number`?`${e}px`:e;function hf(e){let t=X(3),n,r;return t[0]===e?(n=t[1],r=t[2]):(n=()=>{if(d(e))return b(e,mf);let t=mf(e);return{x:t,y:t}},r=[e],t[0]=e,t[1]=n,t[2]=r),mr(n,r,vr)}export{Aa as a,zo as i,Go as n,ua as o,Bo as r,fa as s,pf as t};
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import{D as e,K as t,R as n,S as r,Y as i,Z as a,q as o,v as s,x as c,z as l}from"./libs/remeda.mjs";import{Dt as u,Mt as d,Nt as f,Ot as p,Vt as m,bt as h,h as g,jt as ee,m as te,mt as _}from"./libs/@mantine/core.mjs";import{a as v,c as y,l as b,m as x,t as S,u as C}from"./css.mjs";import{a as w,s as T}from"./factory.mjs";import{a as ne,n as E,r as D,s as O,t as re}from"./Markdown.mjs";import{$ as ie,G as k,K as A,Q as ae,S as oe,V as se,u as ce,x as j}from"./libs/@tabler/icons-react.mjs";import{n as M,t as N}from"./libs/fast-equals.mjs";import{d as le,f as P,h as F,i as ue,m as de,n as fe,p as I,r as pe,t as me,v as he}from"./libs/@xyflow/react.mjs";import{t as ge}from"./libs/bezier-js.mjs";import{d as _e,l as ve,n as ye,s as be,t as xe}from"./libs/framer-motion.mjs";import{t as L}from"./box.mjs";import{r as Se}from"./libs/nanostores.mjs";import{t as Ce}from"./libs/@nanostores/react.mjs";import{createContext as R,forwardRef as z,memo as we,useContext as B,useEffect as Te,useMemo as Ee,useRef as De,useState as Oe}from"react";import{c as V}from"react-compiler-runtime";import{Fragment as H,jsx as U,jsxs as W}from"react/jsx-runtime";import{LikeC4Styles as ke}from"@likec4/core/styles";import{extractStep as Ae,invariant as je,isStepEdgeId as Me,nonexhaustive as G}from"@likec4/core";import{BBox as Ne,vector as Pe}from"@likec4/core/geometry";import{invariant as K}from"@likec4/core/utils";import{RichText as Fe,ensureSizes as Ie}from"@likec4/core/types";function Le(e){let t=Object.entries(b(e)).map(([e,t])=>[e,w(t)]),n=e.defaultVariants??{},r=t.reduce((t,[n,r])=>(e.className&&(t[n]=r.config.className),t),{});function i(e){let n=t.map(([t,n])=>[t,T(n(e),r[t])]);return Object.fromEntries(n)}function a(e){let n=t.map(([t,n])=>[t,n.raw(e)]);return Object.fromEntries(n)}let o=e.variants??{},s=Object.keys(o);function c(e){return x(e,s)}let l=e=>({...n,...v(e)}),u=Object.fromEntries(Object.entries(o).map(([e,t])=>[e,Object.keys(t)]));return Object.assign(C(i),{__cva__:!1,raw:a,config:e,variantMap:u,variantKeys:s,classNameMap:r,splitVariantProps:c,getVariantProps:l})}var Re=R(null);function ze(e){let t=V(5),{value:n,children:r}=e;if(B(Re)){let e;return t[0]===r?e=t[1]:(e=U(H,{children:r}),t[0]=r,t[1]=e),e}let i;return t[2]!==r||t[3]!==n?(i=U(Re.Provider,{value:n,children:r}),t[2]=r,t[3]=n,t[4]=i):i=t[4],i}function Be(e){if(!e.startsWith(`data:image/svg+xml`))return null;try{if(e.includes(`;base64,`)){let t=e.split(`;base64,`)[1];if(t)return atob(t)}else{let t=e.split(`,`)[1];if(t)return decodeURIComponent(t)}}catch{}return null}function Ve(e){let t=V(6),{element:n,className:r,style:i}=e,a=B(Re);if(!n||!n.icon||n.icon===`none`)return null;let o,s;if(t[0]!==a||t[1]!==r||t[2]!==n||t[3]!==i){s=Symbol.for(`react.early_return_sentinel`);bb0:{let e;if(n.icon.startsWith(`http://`)||n.icon.startsWith(`https://`)||n.icon.startsWith(`data:image`)){let t=n.icon.startsWith(`data:image/svg+xml`)?Be(n.icon):null;e=t?U(`span`,{style:{display:`contents`},dangerouslySetInnerHTML:{__html:t}}):U(`img`,{src:n.icon,alt:n.title})}else a&&(e=U(a,{node:n}));if(!e){s=null;break bb0}o=U(`div`,{className:T(r,`likec4-element-icon`),"data-likec4-icon":n.icon,style:i,children:e})}t[0]=a,t[1]=r,t[2]=n,t[3]=i,t[4]=o,t[5]=s}else o=t[4],s=t[5];return s===Symbol.for(`react.early_return_sentinel`)?o:s}var He={browser:ae,cylinder:A,mobile:k,person:ce,queue:j,rectangle:oe,storage:A,bucket:A,document:se,component:oe};function Ue({element:e,className:t,style:n}){if(!e.icon||e.icon===`none`){let r=He[e.shape];return U(`div`,{className:T(t,`likec4-shape-icon`),style:n,children:U(r,{})})}return U(Ve,{element:e,className:t,style:n})}function q(e){let t=De(e);return t.current=e,Ee(()=>{function e(...e){return t.current?.(...e)}return e},[])}var We=R(null),Ge=We.Provider,Ke=R(null),qe=Ke.Provider;function Je(){return B(We)}function Ye(){return B(Ke)}function Xe(){return Je()?.$styles??ke.DEFAULT}function Ze(e){return{x:Math.trunc(e.internals.positionAbsolute.x),y:Math.trunc(e.internals.positionAbsolute.y),width:Math.round(e.measured?.width??e.width??e.initialWidth??0),height:Math.round(e.measured?.height??e.height??e.initialHeight??0)}}O(Ze,`nodeToRect`);function Qe(e){let{width:t,height:n}=he(e),{x:r,y:i}=e.internals.positionAbsolute;return{x:Math.round(r+t/2),y:Math.round(i+n/2)}}function $e(e,t,n=0){let{width:r,height:i}=e,a=Ne.center(e),o=Pe(t.x,t.y).subtract(a),s=(n+r/2)/o.x,c=(n+i/2)/o.y,l=Math.min(Math.abs(s),Math.abs(c));return Pe(o).multiply(l).add(a).trunc().toObject()}function et(e){let[t,...n]=e;K(t,`start should be defined`);let r=[];for(;o(n,3);){let[e,i,a,...o]=n,s=new ge(t[0],t[1],e[0],e[1],i[0],i[1],a[0],a[1]),c=s.inflections();c.length===0&&c.push(.5),c.forEach(e=>{let{x:t,y:n}=s.get(e);r.push({x:Math.trunc(t),y:Math.trunc(n)})}),n=o,t=a}return K(n.length===0,`all points should be consumed`),K(o(r,1),`at least one control point should be generated`),r}function tt(e,t){if(e===t)return!0;let[r,i]=n(e)?e:[e.x,e.y],[a,o]=n(t)?t:[t.x,t.y];return Math.hypot(a-r,o-i)<2.1}function J(e){e.nativeEvent.stopImmediatePropagation(),e.stopPropagation()}var nt=e=>`${Math.trunc(e[0])},${Math.trunc(e[1])}`;function rt(e){let[t,...n]=e;K(t,`start should be defined`);let r=`M ${nt(t)}`;for(;o(n,3);){let[e,t,i,...a]=n;r+=` C ${nt(e)} ${nt(t)} ${nt(i)}`,n=a}return K(n.length===0,`all points should be consumed`),r}function Y(e,t){if(typeof e==`number`)return Math.floor((t-t/(1+e))*.5);if(typeof e==`string`&&e.endsWith(`px`)){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if(typeof e==`string`&&e.endsWith(`%`)){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function it(e,t,n){if(typeof e==`string`||typeof e==`number`){let r=Y(e,n),i=Y(e,t);return{top:r,right:i,bottom:r,left:i,x:i*2,y:r*2}}if(typeof e==`object`){let r=Y(e.top??e.y??0,n),i=Y(e.bottom??e.y??0,n),a=Y(e.left??e.x??0,t),o=Y(e.right??e.x??0,t);return{top:r,right:o,bottom:i,left:a,x:a+o,y:r+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}const at=E(`action-btn`,{size:`md`,radius:`md`,variant:`filled`},[]),ot={variant:[`transparent`,`filled`],size:[`sm`,`md`],radius:[`sm`,`md`]},st=Object.keys(ot),ct=Object.assign(C(at.recipeFn),{__recipe__:!0,__name__:`actionBtn`,__getCompoundVariantCss__:at.__getCompoundVariantCss__,raw:e=>e,variantKeys:st,variantMap:ot,merge(e){return D(this,e)},splitVariantProps(e){return x(e,st)},getVariantProps:at.getVariantProps}),lt=E(`action-buttons`,{},[]),ut={},dt=Object.keys(ut),ft=Object.assign(C(lt.recipeFn),{__recipe__:!0,__name__:`actionButtons`,__getCompoundVariantCss__:lt.__getCompoundVariantCss__,raw:e=>e,variantKeys:dt,variantMap:ut,merge(e){return D(this,e)},splitVariantProps(e){return x(e,dt)},getVariantProps:lt.getVariantProps}),pt=E(`likec4-edge-label`,{pointerEvents:`all`,isStepEdge:!1,cursor:`default`},[]),mt={pointerEvents:[`none`,`all`],cursor:[`pointer`,`default`],isStepEdge:[`false`,`true`]},ht=Object.keys(mt),gt=Object.assign(C(pt.recipeFn),{__recipe__:!0,__name__:`edgeLabel`,__getCompoundVariantCss__:pt.__getCompoundVariantCss__,raw:e=>e,variantKeys:ht,variantMap:mt,merge(e){return D(this,e)},splitVariantProps(e){return x(e,ht)},getVariantProps:pt.getVariantProps}),_t={},vt=[],yt=[[`path`,`likec4-edge__path`],[`pathBg`,`likec4-edge__pathBg`],[`markersCtx`,`likec4-edge__markersCtx`],[`middlePoint`,`likec4-edge__middlePoint`]].map(([e,t])=>[e,E(t,_t,y(vt,e))]),bt=C((e={})=>Object.fromEntries(yt.map(([t,n])=>[t,n.recipeFn(e)]))),xt=[],St=Object.assign(bt,{__recipe__:!1,__name__:`edgePath`,raw:e=>e,classNameMap:{},variantKeys:xt,variantMap:{},splitVariantProps(e){return x(e,xt)},getVariantProps:e=>({..._t,...v(e)})}),Ct=E(`likec4-element-node`,{},[]),wt={},Tt=Object.keys(wt),Et=Object.assign(C(Ct.recipeFn),{__recipe__:!0,__name__:`elementNode`,__getCompoundVariantCss__:Ct.__getCompoundVariantCss__,raw:e=>e,variantKeys:Tt,variantMap:wt,merge(e){return D(this,e)},splitVariantProps(e){return x(e,Tt)},getVariantProps:Ct.getVariantProps}),Dt=E(`likec4-element-node-data`,{iconPosition:`left`,withIconColor:!1},[]),Ot={iconPosition:[`left`,`right`,`top`,`bottom`],withIconColor:[`true`,`false`]},kt=Object.keys(Ot),At=Object.assign(C(Dt.recipeFn),{__recipe__:!0,__name__:`elementNodeData`,__getCompoundVariantCss__:Dt.__getCompoundVariantCss__,raw:e=>e,variantKeys:kt,variantMap:Ot,merge(e){return D(this,e)},splitVariantProps(e){return x(e,kt)},getVariantProps:Dt.getVariantProps}),jt=E(`likec4-element-shape`,{withBorder:!1,withOutline:!1},[{shapetype:`html`,withBorder:!0,css:{"&":{borderStyle:`solid`,borderWidth:`3px`,borderColor:`var(--likec4-palette-stroke)`,"--likec4-outline-size":`6px`},"& .likec4-shape-outline":{borderRadius:`10px`}}}]),Mt={shapetype:[`html`,`svg`],withBorder:[`true`,`false`],withOutline:[`true`,`false`]},Nt=Object.keys(Mt),Pt=Object.assign(C(jt.recipeFn),{__recipe__:!0,__name__:`elementShapeRecipe`,__getCompoundVariantCss__:jt.__getCompoundVariantCss__,raw:e=>e,variantKeys:Nt,variantMap:Mt,merge(e){return D(this,e)},splitVariantProps(e){return x(e,Nt)},getVariantProps:jt.getVariantProps});function Ft(){return P()}function It(e,t){return I(q(e),t??M)}function Lt(){return de()}function Rt(e){let t=V(2),n;return t[0]===e?n=t[1]:(n=t=>t.transform[2]>=e,t[0]=e,t[1]=n),I(n)}var zt=e=>e.transform[2]<.2;function Bt(){return I(zt)}var Vt={Compound:1,Edge:20,EdgeLabel:25,Element:20,Max:30},Ht=.05,Ut={default:`16px`,withControls:{top:`58px`,left:`16px`,right:`16px`,bottom:`16px`}},Wt=R(null),Gt=Wt.Provider;function Kt(){return B(Wt)}function qt(){let e=Kt();if(!e)throw Error(`useRootContainer must be used within a RootContainer`);return e}function Jt(){return qt().ref}function Yt(){return qt().ref.current}function Xt({id:e,className:t,reduceGraphics:n=!1,children:r}){let i=De(null),[a]=Oe(()=>Se(!1)),o=Ce(a),s=Ee(()=>({id:e,ref:i,selector:`#${e}`,reducedGraphics:n,$panning:a}),[e,i,n,a]);return U(`div`,{id:e,className:T(`likec4-root`,t),ref:i,"data-likec4-diagram-panning":o,...n&&{"data-likec4-reduced-graphics":!0},children:U(Gt,{value:s,children:r})})}var Zt=u({autoContrast:!0,primaryColor:`indigo`,cursorType:`pointer`,defaultRadius:`sm`,fontFamily:`var(--likec4-app-font, var(--likec4-app-font-default))`,headings:{fontWeight:`medium`,sizes:{h1:{fontWeight:`bold`},h2:{fontWeight:`medium`}}},fontSizes:{xxs:`var(--font-sizes-xxs)`,xs:`var(--font-sizes-xs)`,sm:`var(--font-sizes-sm)`,md:`var(--font-sizes-md)`,lg:`var(--font-sizes-lg)`,xl:`var(--font-sizes-xl)`},spacing:{xs:`var(--spacing-xs)`,sm:`var(--spacing-sm)`,md:`var(--spacing-md)`,lg:`var(--spacing-lg)`,xl:`var(--spacing-xl)`},components:{SegmentedControl:te.extend({vars:(e,t)=>({root:{"--sc-font-size":e.fontSizes[t.fz??t.size]}})}),Portal:h.extend({defaultProps:{reuseTargetNode:!0}}),Tooltip:g.extend({defaultProps:{color:`dark`}})}});function Qt({children:e,theme:t,...n}){return U(p,{defaultColorScheme:`auto`,theme:t??Zt,...n,children:e})}function $t(e){let t=V(7),{children:n}=e,r=B(d),i;t[0]===r?i=t[1]:(i=()=>{r||console.warn(`LikeC4Diagram must be a child of MantineProvider`)},t[0]=r,t[1]=i);let a;if(t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=[],t[2]=a):a=t[2],Te(i,a),!r){let e;return t[3]===n?e=t[4]:(e=U(Qt,{children:n}),t[3]=n,t[4]=e),e}let o;return t[5]===n?o=t[6]:(o=U(H,{children:n}),t[5]=n,t[6]=o),o}var en=e=>{let{reducedMotion:t,children:n}=e,r=t===void 0?`user`:t,i=f()?.();return U(_e,{features:be,strict:!0,children:U(ve,{reducedMotion:r,...i&&{nonce:i},children:n})})};function tn(){let e=V(2),t=m(),n;return e[0]===t?n=e[1]:(n=t.replace(`mantine-`,`likec4-`),e[0]=t,e[1]=n),n}O(tn,`useId`);var nn=(e,t)=>(e.data.dimmed??!1)===t?e:{...e,data:{...e.data,dimmed:t}};function rn(e,t){return t===void 0?t=>nn(t,e):nn(e,t)}var an=(e,t)=>(e.data.hovered??!1)===t?e:{...e,data:{...e.data,hovered:t}};function on(e,t){return t===void 0?t=>an(t,e):an(e,t)}function sn(e,t){return l(e.data,t)?e:{...e,data:{...e.data,...t}}}function cn(e,t){return t===void 0?t=>sn(t,e):sn(e,t)}var X={setDimmed:rn,setHovered:on,setData:cn},ln=z((e,t)=>W(`svg`,{ref:t,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 222 56`,...e,children:[U(`path`,{fill:`#5E98AF`,d:`M33.95 33.78V0H2.37A2.37 2.37 0 0 0 0 2.35V33.9h33.95v-.12ZM38.57 33.78H55.6v-14.6c0-1.3-1.06-2.35-2.36-2.35H38.57v16.95ZM33.95 38.37H17.04v14.6c0 1.29 1.06 2.35 2.36 2.35h14.67V38.37h-.12ZM38.57 38.37v16.95h14.67c1.3 0 2.36-1.06 2.36-2.36v-14.6H38.57Z`}),U(`path`,{className:S({fill:`[#FCFBF7]`,_light:{fill:`[#222221]`}}),d:`M71.61 12.08c-.06 3.61.3 29.95.23 31.87 0 1.8 0 3.6.06 5.41 0 .3.18.58.47.58 4.1.18 8.13-.17 12.22-.11 1.34.05 2.69 0 3.97 0 1.29-.06 1.4-.59 1.35-1.63-.06-1.63-.06-3.08-.06-4.65-.06-.82-.53-1.11-1.23-1.11-2.4.06-4.8-.06-7.19.06-.4.06-.82.06-1.23.06-.7-.06-.87-.24-.93-1v-.86c-.18-4.83.17-9.83.17-14.66-.06-4.07 0-7.73-.06-11.34 0-1.57 0-3.14-.05-4.65-.06-.93 0-1.92-.24-2.85-.11-.35-.29-.81-.7-.81h-5.5c-.93 0-1.22.64-1.28 1.57v4.12ZM103.81 35c-.17-6.63-.1-13.67-.05-20.24 0-2.04-.12-4.25-.12-6.28 0-2.21-.87-2.1-2.04-2.15-1.7-.06-2.46-.06-4.15-.06-1.11-.06-1.58.23-1.58 1.34 0 5.7-.18 21.8-.12 24.13.06 2.33.3 12.91.18 15.24-.06.81 0 1.62.06 2.44.05.29.23.58.7.58 1.93-.12 3.74-.12 5.67-.17.7-.06 1.28-.24 1.58-1 .05-.4-.12-11.04-.12-13.83Zm13.92 4.47c0-2.03-.3-7.56-.23-8.72 0-.17.11-.4.17-.4.12 0 .35.11.41.17 1.87 2.44 10.64 19.36 11.7 19.42.28.06.58.06.87.06 1.99-.12 3.74 0 5.73 0 2.04 0 .7-1.98.35-2.5-.53-.76-7.48-13.14-7.9-13.9-1.16-1.98-2.16-4.13-3.32-6.05-.12-.23-.24-.58-.18-.81.12-.7.3-1.34.59-1.98a93.18 93.18 0 0 1 4.55-8.14c1.88-2.97 2.93-4.83 4.45-7.5.35-.64.58-1.34.82-2.1.05-.29-.18-.58-.53-.58-1.11-.05-5.15 0-6.43 0-.59 0-1.17.12-1.46.64-.76 1.46-8.6 15.7-9.35 16.98-.06.12-.24.18-.41.18 0 0-.12-.18-.12-.3-.06-3.25.53-13.9.4-16.04-.05-1.28-.28-1.4-1.57-1.46-1.4-.05-3.33-.05-4.73-.05-1.3 0-1.4.7-1.58 1.62-.06.18-.06 5.64-.06 8.09 0 3.54-.3 25.76.11 32.8 0 .7.18 1.1.77 1.1 1.57-.12 3.91 0 5.49 0 1.11 0 1.29-.12 1.29-1.98 0-2.5.23-4.77.23-7.85 0-.23-.06-.46-.06-.7Zm25.66-1.4h-.06c0 1.46-.05 2.97 0 4.49.06 1.86.18 3.72.3 5.58 0 .64.17.81.76.93 1.22.29 2.4.35 3.62.35 3.16-.12 6.31.11 9.47 0 1.29-.06 1.87.06 3.16-.18 1.17-.23 1.58-.87 1.58-2.61-.12-1.1-.06-1.57-.06-2.91 0-1.92-1.35-2.56-2.52-2.5-.81.06-4.73-.06-6.31-.06-2.63.06-2.22.4-2.22-2.33 0-2.2.06-5.05.06-7.32 0-1.22.11-1.63 1.28-1.63h7.31c1.17.17 1.99-.64 1.99-1.86 0-1.22.12-1.28.12-2.5l-.18-1.75c-.12-.99-.47-1.33-1.46-1.33-.64 0-1.29.05-1.93.11-2.52.18-3.68-.17-6.14 0-.82 0-.93-.11-1-.87-.23-2.27 0-4.77.24-7.04.06-.93.3-1.1 1.17-1.16l8.24-.06c1.11-.11 1.46-.06 1.4-1.16-.11-1.69.06-3.43-.11-5.12-.12-.93-.41-1.1-1.46-1.1-1.76.05-2.17.05-3.92.17-1.75.06-8.77.06-10.46.06-2.46 0-2.63-.18-2.7 2.8-.1 2.32-.05 4.7-.05 7.09 0 4.07-.23 18.66-.12 21.92Zm47.76-24.82c.06-1.92 0-3.5 0-5.35 0-2.15-3.92-1.92-5.32-1.86a18.95 18.95 0 0 0-15.08 9.77c-.82 1.57-1.4 3.2-1.81 4.88a34 34 0 0 0-.59 12.15c.41 3.78 1.4 7.56 3.74 10.59 4.04 5.3 11.46 7.15 17.83 6.16.3-.06.59-.11.82-.29.18-.11.35-.35.35-.58l.18-3.31c.06-1.05 0-1 0-2.04 0-1.4-2.93-.35-4.74-.35-1.75 0-3.62-.06-5.2-.87-2.8-1.57-4.38-4.71-5.26-7.68-1-3.2-1.23-6.63-.64-9.88.7-4.25 2.74-9.13 7.25-10.59 2.57-.87 5.31-.58 7.89-.29.35.06.58-.17.58-.46Zm26.77 15.3c.06-2.5 0-14.84 0-18.38.06-.82 0-1.63-.11-2.45-.06-.99-.24-1.28-1.29-1.33h-4.44c-.82 0-1.35.4-1.82 1.27-1.34 3.2-10.75 24.02-12.15 26.58-.53.99-1 1.63-1 2.68v4.24c0 .76-.06 1.28 1.23 1.28l11.1-.06c1.47 0 1.47.3 1.47 1.1 0 .88-.12 4.9-.12 5.3 0 .58.12 1.16 1.23 1.16h5.08c1.23 0 1.23-.7 1.23-2.03.06-1.17-.06-3.5-.06-4.66 0-.93.18-.98 1.76-.98 1.22 0 1.75-.12 1.75-.88.06-1.57 0-2.67 0-4.42 0-1.04-.93-.98-2.92-.98-.65 0-.7-.18-.7-1.05-.12-1.8-.24-4.6-.24-6.4Zm-7.25-5.94c-.05.7-.11 10.82-.11 12.27-.06.81-.24 1.05-1 1.1-1.93.06-3.85.06-5.78.06-.47 0-.65-.4-.41-.87.23-.4 4.85-11.57 6.13-14.48.18-.17.24-.35.41-.52.18-.12.41-.18.59-.23.06 0 .23.29.23.46 0 .76-.06 1.51-.06 2.21Z`})]})),un=z((e,t)=>U(`svg`,{ref:t,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 56 56`,...e,children:U(`path`,{fill:`#5E98AF`,d:`M33.95 33.78V0H2.37A2.37 2.37 0 0 0 0 2.35V33.9h33.95v-.12ZM38.57 33.78H55.6v-14.6c0-1.3-1.06-2.35-2.36-2.35H38.57v16.95ZM33.95 38.37H17.04v14.6c0 1.29 1.06 2.35 2.36 2.35h14.67V38.37h-.12ZM38.57 38.37v16.95h14.67c1.3 0 2.36-1.06 2.36-2.36v-14.6H38.57Z`})}));function dn(e){switch(e){case`dots`:return fe.Dots;case`lines`:return fe.Lines;case`cross`:return fe.Cross;default:G(e)}}var fn=we(({background:e})=>typeof e==`string`?U(me,{variant:dn(e),size:2,gap:20}):U(me,{...e}),(e,t)=>typeof e.background==`string`&&typeof t.background==`string`?e.background===t.background:N(e.background,t.background));fn.displayName=`Background`;function pn(){let e=typeof window<`u`&&typeof window.devicePixelRatio==`number`?window.devicePixelRatio:1;return a(Math.floor(e),{min:1,max:4})}var mn;function Z(e){return mn??=pn(),mn<2?Math.round(e):Math.round(e*mn)/mn}function hn(e){let t=V(17),{nodes:n,edges:r,onEdgesChange:i,onNodesChange:a,className:o,pannable:s,zoomable:c,nodesSelectable:l,nodesDraggable:u,background:d,children:f,colorMode:p,fitViewPadding:m,fitView:h,zoomOnDoubleClick:g,onViewportResize:te,onMoveEnd:_,onNodeMouseEnter:v,onNodeMouseLeave:y,onEdgeMouseEnter:b,onEdgeMouseLeave:x,...S}=e,C=s===void 0?!0:s,w=c===void 0?!0:c,ne=l===void 0?!0:l,E=u===void 0?!1:u,D=d===void 0?`dots`:d,O=m===void 0?0:m,re=h===void 0?!0:h,ie=g===void 0?!1:g,k;t[0]===O?k=t[1]:(k={minZoom:Ht,maxZoom:1,padding:O,includeHiddenNodes:!1},t[0]=O,t[1]=k);let A=k,ae=D!==`transparent`&&D!==`solid`,oe=Bt(),se=Lt(),{colorScheme:ce}=ee();p||=ce===`auto`?`system`:ce;let j;t[2]!==_||t[3]!==se?(j=(e,t)=>{let{x:n,y:r,zoom:i}=t,a=Z(n),o=Z(r);(n!==a||r!==o)&&se.setState({transform:[a,o,i]}),_?.(e,{x:a,y:o,zoom:i})},t[2]=_,t[3]=se,t[4]=j):j=t[4];let M;t[5]!==v||t[6]!==a?(M=(e,t)=>{if(v){v(e,t);return}a([{id:t.id,type:`replace`,item:X.setHovered(t,!0)}])},t[5]=v,t[6]=a,t[7]=M):M=t[7];let N;t[8]!==y||t[9]!==a?(N=(e,t)=>{if(y){y(e,t);return}a([{id:t.id,type:`replace`,item:X.setHovered(t,!1)}])},t[8]=y,t[9]=a,t[10]=N):N=t[10];let P;t[11]!==b||t[12]!==i?(P=(e,t)=>{if(b){b(e,t);return}i([{id:t.id,type:`replace`,item:X.setHovered(t,!0)}])},t[11]=b,t[12]=i,t[13]=P):P=t[13];let F;return t[14]!==x||t[15]!==i?(F=(e,t)=>{if(x){x(e,t);return}i([{id:t.id,type:`replace`,item:X.setHovered(t,!1)}])},t[14]=x,t[15]=i,t[16]=F):F=t[16],W(le,{colorMode:p,nodes:n,edges:r,className:T(D===`transparent`&&`bg-transparent`,o),...oe&&{"data-likec4-zoom-small":!0},zoomOnPinch:w,zoomOnScroll:!C&&w,...!w&&{zoomActivationKeyCode:null},zoomOnDoubleClick:ie,maxZoom:w?3:1,minZoom:w?Ht:1,fitView:re,fitViewOptions:A,preventScrolling:w||C,defaultMarkerColor:`var(--xy-edge-stroke)`,noDragClassName:`nodrag`,noPanClassName:`nopan`,noWheelClassName:`nowheel`,panOnScroll:C,panOnDrag:C,...!C&&{panActivationKeyCode:null,selectionKeyCode:null},elementsSelectable:ne,nodesFocusable:E||ne,edgesFocusable:!1,nodesDraggable:E,nodeDragThreshold:4,nodeClickDistance:3,paneClickDistance:3,elevateNodesOnSelect:!1,selectNodesOnDrag:!1,onNodesChange:a,onEdgesChange:i,onMoveEnd:q(j),onNodeMouseEnter:q(M),onNodeMouseLeave:q(N),onEdgeMouseEnter:q(P),onEdgeMouseLeave:q(F),onNodeDoubleClick:J,onEdgeDoubleClick:J,...S,children:[ae&&U(fn,{background:D}),te&&U(_n,{onViewportResize:te}),f]})}var gn=({width:e,height:t})=>(e||1)*(t||1),_n=e=>{let t=V(2),{onViewportResize:n}=e,r=I(gn),i;return t[0]===r?i=t[1]:(i=[r],t[0]=r,t[1]=i),ne(n,i),null};function vn({className:e,component:t=`g`,selectable:n=!1,selected:r=!1,data:{color:i=`gray`,hovered:a=!1,active:o=!1,dimmed:s=!1,...c},animated:l=!1,children:u,style:d}){l||=o;let f={className:T(e,`likec4-edge-container`,r&&`selected`,n&&`selectable`),"data-likec4-color":i,"data-edge-dir":c.dir??`forward`,"data-edge-active":o,"data-likec4-hovered":a,...l&&{"data-likec4-animated":l},...r&&{"data-likec4-selected":r},...s!==!1&&{"data-likec4-dimmed":s}};return t===`svg`?U(`svg`,{style:d,...f,children:u}):(je(t===`g`,`EdgeContainer: component must be "g" or "svg"`),U(`g`,{style:d,...f,children:u}))}var yn=z(({edgeProps:{id:e,data:{label:t,technology:n,hovered:i=!1},selected:a=!1,selectable:o=!1},pointerEvents:s=`all`,className:c,children:l,...u},d)=>{let f=Me(e)?Ae(e):null,p=f!==null,m=r(t)||r(n);return W(ye,{ref:d,className:T(`likec4-edge-label`,gt({pointerEvents:s,isStepEdge:p,cursor:o||p?`pointer`:`default`}),c),"data-edge-id":e,animate:{scale:i&&!a?1.06:1},...u,children:[f!==null&&U(L,{className:`likec4-edge-label__step-number`,children:f}),m&&W(L,{className:`likec4-edge-label__contents`,children:[r(t)&&U(L,{lineClamp:5,className:`likec4-edge-label__text`,children:t}),r(n)&&U(L,{className:`likec4-edge-label__technology`,children:`[ `+n+` ]`}),l]})]})});yn.displayName=`EdgeLabel`;var bn=t=>t===void 0?``:e(t)?`${Math.trunc(t)}px`:t;function xn({edgeProps:{id:e,selected:t=!1,data:{hovered:n=!1,active:r=!1,dimmed:i=!1,labelBBox:a,color:o=`gray`},animated:s},labelPosition:c,className:l,style:u,children:d,...f}){let p=c?.x??a?.x,m=c?.y??a?.y;if(p===void 0||m===void 0)return null;let h=c?.translate??``;return s||=r,U(pe,{children:U(`div`,{...f,className:T(`nodrag nopan`,`likec4-edge-label-container`,l),"data-likec4-hovered":n,"data-likec4-color":o,"data-edge-active":r,"data-edge-animated":s||r,...s&&{"data-likec4-animated":s},...t!==!1&&{"data-likec4-selected":t},...i!==!1&&{"data-likec4-dimmed":i},style:{transform:`translate(${bn(p)}, ${bn(m)}) ${h}`},children:U(`div`,{style:{...u,...a&&{maxWidth:a.width+20}},children:d})},e)})}var Sn={Arrow:e=>U(`marker`,{viewBox:`-1 -1 12 10`,refX:4,refY:3,markerWidth:`8`,markerHeight:`6`,preserveAspectRatio:`xMaxYMid meet`,orient:`auto-start-reverse`,...e,children:U(`path`,{d:`M 0 0 L 8 3 L 0 6 L 1 3 z`,fill:`context-stroke`,strokeWidth:0})}),Crow:e=>U(`marker`,{viewBox:`-1 -1 12 12`,refX:8,refY:4,markerWidth:`8`,markerHeight:`8`,preserveAspectRatio:`xMaxYMid meet`,orient:`auto-start-reverse`,...e,children:U(`path`,{d:`M 8 0 L 0 4 L 8 8 M 8 4 L 0 4`,fill:`none`,strokeWidth:1})}),OArrow:e=>U(`marker`,{viewBox:`-1 -1 12 10`,refX:4,refY:3,markerWidth:`8`,markerHeight:`6`,preserveAspectRatio:`xMaxYMid meet`,orient:`auto-start-reverse`,...e,children:U(`path`,{d:`M 0 0 L 8 3 L 0 6 L 1 3 z`,stroke:`context-stroke`,fill:`var(--likec4-background-color)`,strokeWidth:1.25,strokeLinejoin:`miter`,strokeLinecap:`square`})}),Open:e=>U(`marker`,{viewBox:`-4 -4 14 16`,refX:5,refY:4,markerWidth:`7`,markerHeight:`8`,preserveAspectRatio:`xMaxYMid meet`,orient:`auto-start-reverse`,...e,children:U(`path`,{d:`M0,0 L7,4 L0,8 L4,4 Z`,stroke:`context-stroke`,fill:`context-stroke`,strokeDasharray:0,strokeWidth:1,strokeLinecap:`round`})}),Diamond:e=>U(`marker`,{viewBox:`-4 -4 16 14`,refX:5,refY:4,markerWidth:`10`,markerHeight:`8`,preserveAspectRatio:`xMaxYMid meet`,orient:`auto-start-reverse`,...e,children:U(`path`,{d:`M5,0 L10,4 L5,8 L0,4 Z`,fill:`context-stroke`,strokeWidth:0,strokeLinecap:`round`})}),ODiamond:e=>U(`marker`,{viewBox:`-4 -4 16 14`,refX:6,refY:4,markerWidth:`10`,markerHeight:`8`,preserveAspectRatio:`xMaxYMid meet`,orient:`auto-start-reverse`,...e,children:U(`path`,{d:`M5,0 L10,4 L5,8 L0,4 Z`,stroke:`context-stroke`,fill:`var(--likec4-background-color)`,strokeWidth:1.25,strokeLinecap:`round`})}),Dot:e=>U(`marker`,{viewBox:`0 0 10 10`,refX:4,refY:4,markerWidth:`6`,markerHeight:`6`,...e,children:U(`circle`,{strokeWidth:0,fill:`context-stroke`,cx:4,cy:4,r:3})}),ODot:e=>U(`marker`,{viewBox:`0 0 10 10`,refX:4,refY:4,markerWidth:`6`,markerHeight:`6`,...e,children:U(`circle`,{strokeWidth:1.25,stroke:`context-stroke`,fill:`var(--likec4-background-color)`,cx:4,cy:4,r:3})})};function Cn(e){if(!(!e||e===`none`))switch(e){case`normal`:return`Arrow`;case`crow`:return`Crow`;case`onormal`:return`OArrow`;case`diamond`:return`Diamond`;case`odiamond`:return`ODiamond`;case`open`:case`vee`:return`Open`;case`dot`:return`Dot`;case`odot`:return`ODot`;default:G(e)}}var wn=z(({edgeProps:{id:e,data:{line:t,dir:n,tail:r,head:i},selectable:a=!0,style:o,interactionWidth:s},isDragging:c=!1,onEdgePointerDown:l,strokeWidth:u,svgPath:d},f)=>{let p=Cn(r),m=Cn(i??`normal`);n===`back`&&([p,m]=[m,p]);let h=p?Sn[p]:null,g=m?Sn[m]:null,ee=t===`dotted`,te=ee||t===`dashed`,_;ee?_=`1,8`:te&&(_=`8,10`);let v=St();return W(H,{children:[a&&U(`path`,{className:T(`react-flow__edge-interaction`,S({fill:`none`})),onPointerDown:l,d,style:{strokeWidth:s??10,stroke:`currentcolor`,strokeOpacity:0,...c?{display:`none`}:{}}}),U(`circle`,{className:T(`likec4-edge-middle-point`,v.middlePoint),"data-edge-id":e,style:{offsetPath:`path("${d}")`}}),W(`g`,{className:v.markersCtx,onPointerDown:l,children:[W(`defs`,{children:[h&&U(h,{id:`start`+e}),g&&U(g,{id:`end`+e})]}),U(`path`,{className:T(`react-flow__edge-path`,`hide-on-reduced-graphics`,v.pathBg,c&&S({display:`none`})),d,style:o,strokeLinecap:`round`}),U(`path`,{ref:f,className:T(`react-flow__edge-path`,v.path,a&&`react-flow__edge-interaction`),d,style:o,strokeWidth:u,strokeLinecap:`round`,strokeDasharray:_,markerStart:h?`url(#start${e})`:void 0,markerEnd:g?`url(#end${e})`:void 0})]})]})});wn.displayName=`EdgePath`;var Tn=(e,t)=>Math.abs(e-t)<2.5,En=(e,t)=>e.id===t.id&&N(e.selected??!1,t.selected??!1)&&N(e.animated??!1,t.animated??!1)&&N(e.source,t.source)&&N(e.target,t.target)&&Tn(e.sourceX,t.sourceX)&&Tn(e.sourceY,t.sourceY)&&Tn(e.targetX,t.targetX)&&Tn(e.targetY,t.targetY)&&N(e.sourceHandleId??null,t.sourceHandleId??null)&&N(e.targetHandleId??null,t.targetHandleId??null)&&N(e.sourcePosition,t.sourcePosition)&&N(e.targetPosition,t.targetPosition)&&N(e.data,t.data);function Dn(e){let t=we(e,En);return t.displayName=`MemoEdge(${e.displayName||e.name})`,t}var On=(e,t)=>{let n=t.style.iconColor;if(!n)return;let r=e.colors(n).elements;return n===t.color?r.stroke:r.fill},kn=z(({className:e,style:t,data:n,...r},i)=>{let a=Xe(),o=n.style.iconSize?a.nodeSizes(n.style).values.iconSize:void 0,s=On(a,n);return U(`div`,{...r,ref:i,className:T(e,At({iconPosition:n.style.iconPosition,withIconColor:!!s}),`likec4-element`),style:{...t,...o&&{"--likec4-icon-size":`${o}px`},...s&&{"--likec4-icon-color":s}}})}),An=({data:e,...t})=>U(Ve,{element:e,...t}),jn=z(({className:e,...t},n)=>U(`div`,{...t,className:T(e,`likec4-element-node-content`),ref:n})),Mn=z(({data:{title:e},className:t,...n},r)=>U(`div`,{...n,className:T(t,`likec4-element-title`),"data-likec4-node-title":``,ref:r,children:e})),Nn=z(({data:e,children:t,className:n,...i},a)=>{let o=e?.technology??t;return r(o)?U(`div`,{...i,className:T(n,`likec4-element-technology`),"data-likec4-node-technology":``,ref:a,children:o}):null}),Pn=z(({data:{description:e},className:t,...n},r)=>{if(!e)return null;let i=Fe.from(e);return U(re,{...n,className:T(t,`likec4-element-description`),"data-likec4-node-description":``,value:i,uselikec4palette:!0,hideIfEmpty:!0,style:{maxHeight:i.isMarkdown?`8rem`:void 0},ref:r})});function Q({data:e}){return W(kn,{data:e,children:[U(An,{data:e}),W(jn,{children:[U(Mn,{data:e}),U(Nn,{data:e}),U(Pn,{data:e})]})]})}Q.Root=kn,Q.Icon=An,Q.Content=jn,Q.Title=Mn,Q.Technology=Nn,Q.Description=Pn;var Fn={normal:{scale:1},hovered:{scale:1.05},selected:{scale:1.02},tap:{scale:.98}},In=z(({nodeProps:{selected:e=!1,selectable:t=!1,data:{hovered:n=!1,dimmed:r=!1,...i}},className:a,style:o,children:s,...c},l)=>{let u;switch(!0){case n:u=`hovered`;break;case e:u=`selected`;break;default:u=`normal`}let{size:d,padding:f,textSize:p}=Ie(i.style??{});return U(ye,{ref:l,className:T(Et(),`group`,a),variants:Fn,initial:!1,...t&&{animate:u,whileTap:`tap`},"data-likec4-hovered":n,"data-likec4-color":i.color,"data-likec4-shape":i.shape,"data-likec4-shape-size":d,"data-likec4-spacing":f,"data-likec4-text-size":p,...r!==!1&&{"data-likec4-dimmed":r},style:o,tabIndex:-1,...c,children:s})});In.displayName=`ElementNodeContainer`;function Ln(e,t,n=.07){let r=Math.round(e/2),i=r,a=Z(n*r),o=t-2*a;return{path:` M ${e},${a}
|
|
2
|
-
a ${i},${a} 0,0,0 ${-e} 0
|
|
3
|
-
l 0,${o}
|
|
4
|
-
a ${i},${a} 0,0,0 ${e} 0
|
|
5
|
-
l 0,${-o}
|
|
6
|
-
z
|
|
7
|
-
`.replace(/\s+/g,` `).trim(),ry:a,rx:i}}function Rn(e,t){let n=Z(t-t/8/2),r=Z(t/6);return{path:`
|
|
8
|
-
M 0 ${n}
|
|
9
|
-
V 6
|
|
10
|
-
Q 0 0 6 0
|
|
11
|
-
H ${e-6}
|
|
12
|
-
Q ${e} 0 ${e} 6
|
|
13
|
-
V ${n}
|
|
14
|
-
C ${Z(e*.75)} ${n+r}, ${Z(e*.5)} ${n-r}, 0 ${n}
|
|
15
|
-
`.replace(/\s+/g,` `).trim()}}function zn(e,t){let n=e/2,r=Z(n),i=Z(Math.min(t/8,r*.08)),a=Z(r*.8),o=Z(i*1.05),s=i,c=t-o,l=n-a;return{path:`
|
|
16
|
-
M ${e},${s}
|
|
17
|
-
a ${r},${i} 0,0,0 ${-e} 0
|
|
18
|
-
L ${l},${c}
|
|
19
|
-
a ${a},${o} 0,0,0 ${a*2} 0
|
|
20
|
-
Z
|
|
21
|
-
`.replace(/\s+/g,` `).trim(),topRx:r,topRy:i,bottomRx:a,bottomRy:o}}function Bn(e,t,n=.185){let r=t,i=Math.round(r/2),a=Z(r/2*n);return{path:`
|
|
22
|
-
M ${a},0
|
|
23
|
-
a ${a},${i} 0,0,0 0 ${r}
|
|
24
|
-
l ${e-2*a},0
|
|
25
|
-
a ${a},${i} 0,0,0 0 ${-r}
|
|
26
|
-
z`.replace(/\s+/g,` `).trim(),ry:i,rx:a}}var $={width:115,height:120,path:`M57.9197 0C10.9124 0 33.5766 54.75 33.5766 54.75C38.6131 62.25 45.3285 60.75 45.3285 66C45.3285 70.5 39.4526 72 33.5766 72.75C24.3431 72.75 15.9489 71.25 7.55474 84.75C2.51825 93 0 120 0 120H115C115 120 112.482 93 108.285 84.75C99.8905 70.5 91.4963 72.75 82.2628 72C76.3869 71.25 70.5109 69.75 70.5109 65.25C70.5109 60.75 77.2263 62.25 82.2628 54C82.2628 54.75 104.927 0 57.9197 0V0Z`},Vn=({index:e,size:t})=>{let n,r,i,a,o;switch(t){case`xs`:case`sm`:n=40,r=18,i=-16,a=16,o=10;break;case`md`:n=60,r=26,i=-20,a=22,o=14;break;case`lg`:case`xl`:n=70,r=32,i=-24,a=32,o=18;break;default:G(t)}return U(`rect`,{x:i,y:a+(r+o)*e,width:n,height:r,rx:3,className:`top-left-rect`,strokeWidth:2})};function Hn({shape:e,w:t,h:n,size:r=`md`}){switch(e){case`component`:return W(H,{children:[U(`rect`,{width:t,height:n,rx:6,strokeWidth:0}),U(Vn,{index:0,size:r}),U(Vn,{index:1,size:r})]});case`mobile`:return W(H,{children:[U(`rect`,{width:t,height:n,rx:6,"data-likec4-fill":`mix-stroke`,strokeWidth:0}),W(`g`,{"data-likec4-fill":`fill`,strokeWidth:0,children:[U(`circle`,{cx:17,cy:n/2,r:12}),U(`rect`,{x:33,y:12,width:t-44,height:n-24,rx:5})]})]});case`document`:{let{path:e}=Rn(t,n);return U(`path`,{d:e,"data-likec4-fill":`fill`,strokeWidth:2})}case`browser`:return W(H,{children:[U(`rect`,{width:t,height:n,rx:6,"data-likec4-fill":`mix-stroke`,strokeWidth:0}),W(`g`,{"data-likec4-fill":`fill`,strokeWidth:0,children:[U(`circle`,{cx:16,cy:17,r:7}),U(`circle`,{cx:36,cy:17,r:7}),U(`circle`,{cx:56,cy:17,r:7}),U(`rect`,{x:70,y:8,width:t-80,height:17,rx:4}),U(`rect`,{x:10,y:32,width:t-20,height:n-42,rx:4})]})]});case`person`:return W(H,{children:[U(`rect`,{width:t,height:n,rx:6,strokeWidth:0}),U(`svg`,{x:t-$.width-6,y:n-$.height,width:$.width,height:$.height,viewBox:`0 0 ${$.width} ${$.height}`,"data-likec4-fill":`mix-stroke`,children:U(`path`,{strokeWidth:0,d:$.path})})]});case`queue`:{let{path:e,rx:r,ry:i}=Bn(t,n);return W(H,{children:[U(`path`,{d:e,strokeWidth:2}),U(`ellipse`,{cx:r,cy:i,ry:i-.75,rx:r,"data-likec4-fill":`mix-stroke`,strokeWidth:2})]})}case`bucket`:{let{path:e,topRx:r,topRy:i}=zn(t,n);return W(H,{children:[U(`path`,{d:e,strokeWidth:2}),U(`ellipse`,{cx:t/2,cy:i,rx:r,ry:i,"data-likec4-fill":`mix-stroke`,strokeWidth:2})]})}case`storage`:case`cylinder`:{let{path:e,rx:r,ry:i}=Ln(t,n);return W(H,{children:[U(`path`,{d:e,strokeWidth:2}),U(`ellipse`,{cx:r,cy:i,ry:i,rx:r-.75,"data-likec4-fill":`mix-stroke`,strokeWidth:2})]})}default:return G(e)}}function Un({shape:e,w:t,h:n}){let r;switch(e){case`bucket`:r=U(`g`,{transform:`translate(-3 -3)`,children:U(`path`,{d:zn(t+6,n+6).path})});break;case`queue`:r=U(`g`,{transform:`translate(-3 -3)`,children:U(`path`,{d:Bn(t+6,n+6).path})});break;case`document`:r=U(`g`,{transform:`translate(-3 -3)`,children:U(`path`,{d:Rn(t+6,n+6).path})});break;case`storage`:case`cylinder`:r=U(`g`,{transform:`translate(-3 -3)`,children:U(`path`,{d:Ln(t+6,n+6).path})});break;default:r=U(`rect`,{x:-3,y:-3,width:t+6,height:n+6,rx:8});break}return U(`g`,{className:`likec4-shape-outline`,children:r})}function Wn({data:e,width:t,height:n,showSelectionOutline:r=!0}){let i=t&&t>10?t:e.width,a=n&&n>10?n:e.height,o=e.style?.multiple??!1,s=e.style?.border??`none`,c=s!==`none`;if(e.shape===`rectangle`)return W(`div`,{style:{borderStyle:s},className:Pt({shapetype:`html`,withBorder:c,withOutline:r}),children:[o&&U(`div`,{className:`likec4-shape-multiple`}),U(`div`,{className:`likec4-shape-outline`})]});let l=Pt({shapetype:`svg`,withOutline:r});return W(H,{children:[o&&U(`svg`,{className:l,"data-likec4-shape-multiple":`true`,viewBox:`0 0 ${i} ${a}`,children:U(Hn,{shape:e.shape,size:e.style?.size,w:i,h:a})}),W(`svg`,{className:l,viewBox:`0 0 ${i} ${a}`,children:[U(Un,{shape:e.shape,w:i,h:a}),U(Hn,{shape:e.shape,size:e.style?.size,w:i,h:a})]})]})}var Gn={normal:{originY:0,opacity:.75,scale:.8,y:0},selected:{originY:0,opacity:1,scale:.9,y:7},hovered:{originY:0,opacity:1,scale:1.12,y:7}};function Kn(e){let t=V(8),{selected:n,data:r,buttons:i}=e,a=n===void 0?!1:n,{hovered:o}=r,s=o===void 0?!1:o,c=m();if(!i.length)return null;let l;bb0:switch(!0){case s:l=`hovered`;break bb0;case a:l=`selected`;break bb0;default:l=`normal`}let u;if(t[0]!==i||t[1]!==c||t[2]!==s||t[3]!==a||t[4]!==l){let e;t[6]===c?e=t[7]:(e=(e,t)=>U(_,{component:xe,className:ct({}),initial:!1,whileTap:{scale:1},whileHover:{scale:1.3},tabIndex:-1,onClick:e.onClick,onDoubleClick:J,children:e.icon||U(ie,{})},`${c}-${e.key??t}`),t[6]=c,t[7]=e),u=U(`div`,{className:ft(),children:U(ye,{layoutRoot:!0,initial:!1,variants:Gn,animate:l,layoutDependency:`${s}-${a}`,"data-likec4-hovered":s,className:T(`nodrag nopan`),onClick:J,children:i.map(e)})}),t[0]=i,t[1]=c,t[2]=s,t[3]=a,t[4]=l,t[5]=u}else u=t[5];return u}function qn({direction:e=`TB`}){let t,n;switch(e){case`TB`:t=F.Bottom,n=F.Top;break;case`BT`:t=F.Top,n=F.Bottom;break;case`LR`:t=F.Right,n=F.Left;break;case`RL`:t=F.Left,n=F.Right;break;default:G(e)}return W(H,{children:[U(ue,{type:`source`,position:t,className:`likec4-node-handle-center`}),U(ue,{type:`target`,position:n,className:`likec4-node-handle-center`})]})}var Jn=(e=>`[data-mantine-color-scheme="${e}"]`)(`dark`),Yn=(e,t,n,r)=>`
|
|
27
|
-
${`${e} :is([data-likec4-color="${t}"][data-compound-depth="${r}"])`} {
|
|
28
|
-
--likec4-palette-fill: ${n.fill};
|
|
29
|
-
--likec4-palette-stroke: ${n.stroke};
|
|
30
|
-
}
|
|
31
|
-
`;function Xn(e,t){let{rootSelector:n,name:r,colors:i}=t,{elements:a,relationships:o}=i,s=`${n} :is([data-likec4-color=${r}])`;return[`
|
|
32
|
-
${s} {
|
|
33
|
-
--likec4-palette-fill: ${a.fill};
|
|
34
|
-
--likec4-palette-stroke: ${a.stroke};
|
|
35
|
-
--likec4-palette-hiContrast: ${a.hiContrast};
|
|
36
|
-
--likec4-palette-loContrast: ${a.loContrast};
|
|
37
|
-
--likec4-palette-relation-stroke: ${o.line};
|
|
38
|
-
--likec4-palette-relation-label: ${o.label};
|
|
39
|
-
--likec4-palette-relation-label-bg: ${o.labelBg};
|
|
40
|
-
--likec4-palette-relation-stroke-selected: oklch(from ${o.line} calc(l - 0.15) c h);
|
|
41
|
-
}
|
|
42
|
-
${Jn} ${s} {
|
|
43
|
-
--likec4-palette-relation-stroke-selected: oklch(from ${o.line} calc(l + 0.15) c h);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
`,...e.colorsForCompounds(a,5).map((e,t)=>Yn(n,r,e,t+1))].map(e=>e.trim()).join(`
|
|
47
|
-
`)}function Zn(e,n){return i(e.theme.colors,t(),s(([t,r])=>Xn(e,{rootSelector:n,name:t,colors:r})),c(`
|
|
48
|
-
`))}function Qn(e){let t=V(3),{id:n}=e,r=`#${n}`,i=f()?.(),a=Xe(),o;return t[0]!==a||t[1]!==r?(o=Zn(a,r),t[0]=a,t[1]=r,t[2]=o):o=t[2],U($n,{id:n,nonce:i,colorsStyles:o})}var $n=we(({id:e,nonce:t,colorsStyles:n})=>U(`style`,{type:`text/css`,"data-likec4-colors":e,dangerouslySetInnerHTML:{__html:n},nonce:t||void 0}));$n.displayName=`MemoizedStyle`;export{It as A,J as B,Yt as C,Vt as D,Ht as E,Qe as F,Je as G,qe as H,$e as I,Ve as J,q as K,tt as L,ct as M,et as N,Rt as O,rt as P,Ze as R,Kt as S,Ut as T,Ge as U,Xe as V,Ye as W,Le as X,ze as Y,tn as _,In as a,Xt as b,wn as c,vn as d,hn as f,X as g,un as h,Wn as i,Lt as j,Ft as k,xn as l,ln as m,qn as n,Q as o,Z as p,Ue as q,Kn as r,Dn as s,Qn as t,yn as u,en as v,Jt as w,qt as x,$t as y,it as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ot as e}from"./libs/@mantine/core.mjs";import{a as t,g as n,h as r,i,m as a,o,r as s,t as c,u as l}from"./css.mjs";import{i as u,o as d,s as f}from"./factory.mjs";import{d as p,u as m}from"./libs/@react-hookz/web.mjs";import{n as h}from"./libs/fast-equals.mjs";import{t as g}from"./box.mjs";import{forwardRef as _}from"react";import{jsx as v}from"react/jsx-runtime";var y=Object.defineProperty,b=(e,t)=>y(e,`name`,{value:t,configurable:!0}),x=(e,t)=>{let n={};for(var r in e)y(n,r,{get:e[r],enumerable:!0});return t||y(n,Symbol.toStringTag,{value:`Module`}),n},S=()=>{},C=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let[n,r]of e.entries())if(!(r===t[n]||h(r,t[n])))return!1;return!0};function w(e,t,n,r){p(m()?S:e,t,n??C,r)}b(w,`useUpdateEffect`);const T=(e,r,a)=>{let l=n=>({[e]:`__ignore__`,...r,...t(n)});return{recipeFn:(t,r=!0)=>{let p=o({conditions:{shift:i,finalize:s,breakpoints:{keys:[`base`,`xs`,`sm`,`md`,`lg`,`xl`]}},utility:{toHash:(e,t)=>t(e.join(`:`)),transform:(r,i)=>(u(e,a,t,r),i===`__ignore__`?{className:e}:(i=n(i),{className:`${e}--${r}_${i}`}))}}),m=l(t);if(r){let e=d(a,m);return f(p(m),c(e))}return p(m)},getVariantProps:l,__getCompoundVariantCss__:e=>d(a,l(e))}},E=(e,t)=>{if(e&&!t)return e;if(!e&&t)return t;let n=(...n)=>f(e(...n),t(...n)),i=r(e.variantKeys,t.variantKeys),o=i.reduce((n,i)=>(n[i]=r(e.variantMap[i],t.variantMap[i]),n),{});return Object.assign(n,{__recipe__:!0,__name__:`${e.__name__} ${t.__name__}`,raw:e=>e,variantKeys:i,variantMap:o,splitVariantProps(e){return a(e,i)}})},D=T(`likec4-markdown-block`,{uselikec4palette:!1,value:`markdown`},[]),O={uselikec4palette:[`true`,`false`],value:[`markdown`,`plaintext`]},k=Object.keys(O),A=Object.assign(l(D.recipeFn),{__recipe__:!0,__name__:`markdownBlock`,__getCompoundVariantCss__:D.__getCompoundVariantCss__,raw:e=>e,variantKeys:k,variantMap:O,merge(e){return E(this,e)},splitVariantProps(e){return a(e,k)},getVariantProps:D.getVariantProps});var j=_(({value:t,textScale:n=1,uselikec4palette:r=!1,hideIfEmpty:i=!1,emptyText:a=`no content`,className:o,style:s,fontSize:c,...l},u)=>{if(t.isEmpty&&i)return null;let d=t.nonEmpty?t.isMarkdown?{dangerouslySetInnerHTML:{__html:t.html}}:{children:v(`p`,{children:t.text})}:{children:v(e,{component:`span`,fz:`xs`,c:`dimmed`,style:{userSelect:`none`},children:a})};return v(g,{...l,ref:u,className:f(A({uselikec4palette:r,value:t.isMarkdown?`markdown`:`plaintext`}),o),style:{...s,...c&&{"--text-fz":`var(--font-sizes-${c}, var(--font-sizes-md))`},...n!==1&&{"--mantine-scale":n}},...d})});j.displayName=`Markdown`;export{w as a,C as i,T as n,x as o,E as r,b as s,j as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,c as t,m as n,u as r}from"./css.mjs";import{r as i,s as a}from"./factory.mjs";import{h as o,m as s}from"./LikeC4Styles.mjs";import{n as c}from"./Markdown.mjs";import{n as l,u}from"./libs/framer-motion.mjs";import{t as d}from"./create-style-context.mjs";import{forwardRef as f}from"react";import{jsx as p,jsxs as m}from"react/jsx-runtime";const h={size:`md`,panelPosition:`left`},g=[],_=[[`root`,`likec4-navigation-panel__root`],[`body`,`likec4-navigation-panel__body`],[`logo`,`likec4-navigation-panel__logo`],[`label`,`likec4-navigation-panel__label`],[`dropdown`,`likec4-navigation-panel__dropdown`]].map(([e,n])=>[e,c(n,h,t(g,e))]),v=r((e={})=>Object.fromEntries(_.map(([t,n])=>[t,n.recipeFn(e)]))),y=[`size`,`panelPosition`],b=Object.assign(v,{__recipe__:!1,__name__:`navigationPanel`,raw:e=>e,classNameMap:{},variantKeys:y,variantMap:{size:[`md`,`lg`],panelPosition:[`left`,`right`]},splitVariantProps(e){return n(e,y)},getVariantProps:t=>({...h,...e(t)})});var{withProvider:x,withContext:S}=d(b),C=(e,t)=>!t.includes(e)&&(u(e)||!i(e)),w=f(({className:e,...t},n)=>m(`button`,{...t,ref:n,className:a(`mantine-active`,e),children:[p(o,{"data-logo-icon":!0}),p(s,{"data-logo-full":!0})]})),T={Root:x(l,`root`,{shouldForwardProp:C}),Body:S(l,`body`,{shouldForwardProp:C}),Logo:S(w,`logo`),Label:S(l,`label`,{shouldForwardProp:C}),Dropdown:S(l,`dropdown`,{shouldForwardProp:C})};export{b as n,T as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as e,f as t,l as n,r,u as i}from"./libs/@tanstack/react-router.mjs";import{G as a,U as o,Yt as s,ft as c,ot as l,q as u,qt as d,r as f,st as p}from"./libs/@mantine/core.mjs";import{d as m}from"./libs/@mantine/hooks.mjs";import{t as h}from"./css.mjs";import{a as g}from"./Markdown.mjs";import{l as _}from"./libs/@react-hookz/web.mjs";import{s as v}from"./hstack.mjs";import{A as y,O as b,T as x}from"./DiagramActorProvider.mjs";import{t as S}from"./LikeC4Diagram.mjs";import{n as C}from"./hooks.mjs";import{useRef as w}from"react";import{c as T}from"react-compiler-runtime";import{jsx as E,jsxs as D}from"react/jsx-runtime";import{pageTitle as O}from"likec4:app-config";const k=h({paddingTop:`[120px]`,position:`relative`,zIndex:`1`,sm:{paddingTop:`[220px]`}}),A=h({position:`absolute`,inset:`0`,opacity:.2}),j=h({position:`relative`}),M=h({paddingTop:`[80px]`,paddingBottom:`[80px]`}),N=h({maxWidth:s(540),margin:`auto`,marginTop:`xl`,marginBottom:`[calc({spacing.xl}*1.5)]`}),P=h({textAlign:`center`,fontWeight:`[900]`,fontSize:`[38px]`});function F(){let t=T(10),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={strict:!1},t[0]=n):n=t[0];let i=e(n);if(i.viewId){let e;t[1]===i.viewId?e=t[2]:(e=D(l,{c:`orange`,fz:`md`,children:[`The diagram`,` `,E(a,{color:`orange`,children:i.viewId}),` `,`does not exist or contains errors`]}),t[1]=i.viewId,t[2]=e);let n;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(n=E(u,{component:r,to:`/`,variant:`light`,color:`orange`,mt:`lg`,size:`xs`,children:`Go to overview`}),t[3]=n):n=t[3];let s;return t[4]===e?s=t[5]:(s=E(o,{my:`md`,children:D(p,{variant:`light`,color:`orange`,children:[e,n]})}),t[4]=e,t[5]=s),s}let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=E(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 362 145`,className:A,children:E(`path`,{fill:`currentColor`,d:`M62.6 142c-2.133 0-3.2-1.067-3.2-3.2V118h-56c-2 0-3-1-3-3V92.8c0-1.333.4-2.733 1.2-4.2L58.2 4c.8-1.333 2.067-2 3.8-2h28c2 0 3 1 3 3v85.4h11.2c.933 0 1.733.333 2.4 1 .667.533 1 1.267 1 2.2v21.2c0 .933-.333 1.733-1 2.4-.667.533-1.467.8-2.4.8H93v20.8c0 2.133-1.067 3.2-3.2 3.2H62.6zM33 90.4h26.4V51.2L33 90.4zM181.67 144.6c-7.333 0-14.333-1.333-21-4-6.666-2.667-12.866-6.733-18.6-12.2-5.733-5.467-10.266-13-13.6-22.6-3.333-9.6-5-20.667-5-33.2 0-12.533 1.667-23.6 5-33.2 3.334-9.6 7.867-17.133 13.6-22.6 5.734-5.467 11.934-9.533 18.6-12.2 6.667-2.8 13.667-4.2 21-4.2 7.467 0 14.534 1.4 21.2 4.2 6.667 2.667 12.8 6.733 18.4 12.2 5.734 5.467 10.267 13 13.6 22.6 3.334 9.6 5 20.667 5 33.2 0 12.533-1.666 23.6-5 33.2-3.333 9.6-7.866 17.133-13.6 22.6-5.6 5.467-11.733 9.533-18.4 12.2-6.666 2.667-13.733 4-21.2 4zm0-31c9.067 0 15.6-3.733 19.6-11.2 4.134-7.6 6.2-17.533 6.2-29.8s-2.066-22.2-6.2-29.8c-4.133-7.6-10.666-11.4-19.6-11.4-8.933 0-15.466 3.8-19.6 11.4-4 7.6-6 17.533-6 29.8s2 22.2 6 29.8c4.134 7.467 10.667 11.2 19.6 11.2zM316.116 142c-2.134 0-3.2-1.067-3.2-3.2V118h-56c-2 0-3-1-3-3V92.8c0-1.333.4-2.733 1.2-4.2l56.6-84.6c.8-1.333 2.066-2 3.8-2h28c2 0 3 1 3 3v85.4h11.2c.933 0 1.733.333 2.4 1 .666.533 1 1.267 1 2.2v21.2c0 .933-.334 1.733-1 2.4-.667.533-1.467.8-2.4.8h-11.2v20.8c0 2.133-1.067 3.2-3.2 3.2h-27.2zm-29.6-51.6h26.4V51.2l-26.4 39.2z`})}),t[6]=s):s=t[6];let d,m;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(d=E(f,{className:P,children:`Nothing to see here`}),m=E(l,{c:`dimmed`,size:`lg`,ta:`center`,className:N,children:`Page you are trying to open does not exist. You may have mistyped the address, or the page has been moved to another URL. If you think this is an error contact support.`}),t[7]=d,t[8]=m):(d=t[7],m=t[8]);let h;return t[9]===Symbol.for(`react.memo_cache_sentinel`)?(h=E(o,{className:M,children:D(`div`,{className:j,children:[s,D(`div`,{className:k,children:[d,m,E(c,{justify:`center`,children:E(u,{component:r,to:`/`,search:!0,size:`md`,children:`Take me back to home page`})})]})]})}),t[9]=h):h=t[9],h}function I(){let e=T(19),t=n(),[r,a]=C(),o=x(),s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={from:`__root__`},e[0]=s):s=e[0];let{dynamic:c}=i(s),l;e[1]===t?l=e[2]:(l=e=>{t({to:`./`,viewTransition:!1,params:t=>({...t,viewId:e}),search:!0})},e[1]=t,e[2]=l);let u=d(l);if(m(`${r?r.title??r.id:`View not found`} - ${o.project.title??O}`),!r){let t;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(t=E(F,{}),e[3]=t):t=e[3],t}let f;e[4]===r.notation?.nodes?f=e[5]:(f=r.notation?.nodes??[],e[4]=r.notation?.nodes,e[5]=f);let p=f.length>0,h;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(h={top:`70px`,bottom:`32px`,left:`32px`,right:`32px`},e[6]=h):h=e[6];let g;e[7]===t?g=e[8]:(g=()=>{t({to:`/`})},e[7]=t,e[8]=g);let _,v,y;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(_=E(V,{}),v=E(L,{}),y=E(z,{}),e[9]=_,e[10]=v,e[11]=y):(_=e[9],v=e[10],y=e[11]);let b;return e[12]!==c||e[13]!==p||e[14]!==u||e[15]!==a||e[16]!==g||e[17]!==r?(b=D(S,{view:r,zoomable:!0,pannable:!0,controls:!0,fitViewPadding:h,showNavigationButtons:!0,enableSearch:!0,enableFocusMode:!0,enableDynamicViewWalkthrough:!0,dynamicViewVariant:c,enableElementDetails:!0,enableRelationshipDetails:!0,enableRelationshipBrowser:!0,enableElementTags:!0,enableCompareWithLatest:!0,enableNotations:p,nodesSelectable:!0,onNavigateTo:u,onLayoutTypeChange:a,onLogoClick:g,children:[_,v,y]}),e[12]=c,e[13]=p,e[14]=u,e[15]=a,e[16]=g,e[17]=r,e[18]=b):b=e[18],b}function L(){let e=T(15),n=t(),r=v(),a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={from:`__root__`},e[0]=a):a=e[0];let{relationships:o}=i(a),s=w(null),c=w(!1),l;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(l=Promise.resolve(),e[1]=l):l=e[1];let u=w(l),d=_(),f;e[2]!==r||e[3]!==d||e[4]!==n?(f=e=>{u.current=u.current.then(async()=>{if(!(!d()||s.current===e))try{s.current=e,r.openRelationshipsBrowser(e),await n.buildAndCommitLocation({search:R,replace:!0,viewTransition:!1})}catch(e){console.error(`Failed to open relationship browser:`,e)}})},e[2]=r,e[3]=d,e[4]=n,e[5]=f):f=e[5];let p=f,m;e[6]!==p||e[7]!==o?(m=()=>{if(!o){s.current=null;return}o&&s.current!==o&&p(o)},e[6]=p,e[7]=o,e[8]=m):m=e[8];let h=m,b;e[9]===h?b=e[10]:(b=()=>{c.current=!0,h()},e[9]=h,e[10]=b),y(`initialized`,b);let x;e[11]===h?x=e[12]:(x=()=>{h()},e[11]=h,e[12]=x);let S;return e[13]===o?S=e[14]:(S=[o],e[13]=o,e[14]=S),g(x,S),null}function R(e){let{relationships:t,...n}=e;return n}function z(){let e=T(10),n=t(),r=v(),a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={from:`__root__`},e[0]=a):a=e[0];let{focusOnElement:o}=i(a),s=w(null),c;e[1]!==r||e[2]!==n?(c=e=>{try{if(s.current===e)return;s.current=e,r.focusOnElement(e),n.buildAndCommitLocation({search:B,replace:!0,viewTransition:!1})}catch(e){console.error(`focusOnElement failed:`,e)}},e[1]=r,e[2]=n,e[3]=c):c=e[3];let l=d(c),u;e[4]!==l||e[5]!==o?(u=()=>{o&&s.current!==o&&l(o)},e[4]=l,e[5]=o,e[6]=u):u=e[6],y(`initialized`,u);let f,p;return e[7]===o?(f=e[8],p=e[9]):(f=()=>{o||(s.current=null)},p=[o],e[7]=o,e[8]=f,e[9]=p),g(f,p),null}function B(e){let{focusOnElement:t,...n}=e;return n}function V(){let e=T(5),n=t(),r=b(H),i;e[0]!==r||e[1]!==n?(i=()=>{(n.latestLocation.search.dynamic??`diagram`)!==r&&n.buildAndCommitLocation({search:e=>({...e,dynamic:r}),viewTransition:!1})},e[0]=r,e[1]=n,e[2]=i):i=e[2];let a;return e[3]===r?a=e[4]:(a=[r],e[3]=r,e[4]=a),g(i,a),null}function H(e){return e.dynamicViewVariant}export{F as a,I as i,V as n,L as r,z as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e,G as t,J as n,Y as r,c as i,g as a,i as o,l as s,q as c,v as l,y as u}from"./libs/remeda.mjs";import{mt as d,pt as f,ut as p,wt as m}from"./libs/@mantine/core.mjs";import{t as h}from"./css.mjs";import{a as g,s as _}from"./factory.mjs";import{K as v,T as y,X as b,Y as x,_ as ee,b as te,m as ne,q as re,t as ie,v as ae,y as oe}from"./LikeC4Styles.mjs";import{a as se}from"./Markdown.mjs";import{J as ce,d as le}from"./libs/@tabler/icons-react.mjs";import{r as ue,s as de,t as S}from"./hstack.mjs";import{a as fe,d as pe,i as me,l as he,n as ge,r as C,s as w,t as _e}from"./libs/@xstate/react.mjs";import{T as ve,m as ye,n as be,p as xe,t as Se,x as Ce}from"./DiagramActorProvider.mjs";import{s as we}from"./libs/@xyflow/react.mjs";import{p as Te}from"./libs/framer-motion.mjs";import{t as Ee}from"./create-style-context.mjs";import{t as T}from"./box.mjs";import{t as De}from"./txt.mjs";import{o as Oe}from"./libs/@zag-js/core.mjs";import{n as ke,t as Ae}from"./libs/@zag-js/react.mjs";import{n as je,r as Me,t as Ne}from"./libs/@zag-js/tree-view.mjs";import{n as E,r as Pe,t as Fe}from"./libs/@xstate/store.mjs";import{Profiler as Ie,Suspense as Le,createContext as D,memo as O,useContext as k,useDeferredValue as Re,useEffect as A,useMemo as j,useRef as M,useState as ze}from"react";import{c as N}from"react-compiler-runtime";import{jsx as P,jsxs as F}from"react/jsx-runtime";import{ModelFqnExpr as I,nonNullable as Be}from"@likec4/core";import{compareNaturalHierarchically as Ve,difference as L,invariant as R,nonexhaustive as He,objectHash as Ue,stringHash as We,toArray as Ge,toSet as z}from"@likec4/core/utils";var B=D(null),Ke=B.Provider;function V(){let e=N(2),t=k(B),n;return e[0]===t?n=e[1]:(n=Be(t,`No AdhocEditorActorContext`),e[0]=t,e[1]=n),n}var qe={id:`adhoc`,_type:`element`,autoLayout:{direction:`LR`},nodes:[],edges:[],bounds:{x:0,y:0,width:0,height:0},_stage:`layouted`,title:null,description:null,hash:``},Je=({context:e})=>e.view??qe;function Ye(){return ge(V(),Je)}function Xe(e,t){return t?t.disabled.has(e)?`disabled`:t.includedExplicit.has(e)?`include-explicit`:t.includedImplicit.has(e)?`include-implicit`:t.excluded.has(e)?`exclude`:`not-present`:`not-present`}function Ze(e,t){return Ge(e).map(e=>({id:e.id,title:e.title,shape:e.shape,icon:e.icon??void 0,children:Ze(e.children(),t),state:Xe(e.id,t)}))}function H(e,t){return Ne({rootNode:{id:`@ROOT`,title:``,shape:`rectangle`,icon:void 0,children:Ze(e.roots(),t),state:`not-present`},nodeToValue(e){return e.id},nodeToString(e){return e.title},nodeToChildren(e){return e.children},isNodeDisabled(){return!1}})}var Qe=it(e=>({searchInput:e.searchInput.length>2?e.searchInput.toLowerCase():``,collection:e.collection}),(e,t)=>e?.searchInput===t.searchInput&&e?.collection.isEqual(t.collection));function $e(){let e=N(21),{searchInput:t,collection:r}=at(Qe),i=Re(t),a;bb0:{if(!i){a=r;break bb0}let t;if(e[0]!==r||e[1]!==i){let n;e[3]===i?n=e[4]:(n=e=>e.title.toLowerCase().includes(i),e[3]=i,e[4]=n),t=r.filter(n),e[0]=r,e[1]=i,e[2]=t}else t=e[2];a=t}let s=a,l;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=[],e[5]=l):l=e[5];let[u,d]=ze(l),f;e[6]!==r||e[7]!==s?(f=()=>{s!==r&&d(e=>{let t=n(s.getBranchValues(),e);return c(t,1)?o([...e,...t],Ve()):e})},e[6]=r,e[7]=s,e[8]=f):f=e[8];let p;e[9]===s?p=e[10]:(p=[s],e[9]=s,e[10]=p),A(f,p);let m=ee(),h,g;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(h=[],g=[],e[11]=h,e[12]=g):(h=e[11],g=e[12]);let _;e[13]!==u||e[14]!==s||e[15]!==m?(_={id:m,collection:s,defaultCheckedValue:h,defaultSelectedValue:g,expandedValue:u,onExpandedChange(e){let{expandedValue:t}=e;d(t)},onFocusChange(e){console.log(`Focus change`,e)},onSelectionChange(e){console.log(`Selection change`,e)}},e[13]=u,e[14]=s,e[15]=m,e[16]=_):_=e[16];let v=ke(Me,_);v.context.get(`focusedValue`)?.slice;let y;e[17]===v?y=e[18]:(y=je(v,Ae),e[17]=v,e[18]=y);let b=y,x;return e[19]===b?x=e[20]:(x=()=>{let e=b.collection.getFirstNode()?.id;e&&b.focus(e)},e[19]=b,e[20]=x),ot(`inputKeyDown`,x),b}function et({rules:n,view:i}){let a=new Set(i?i.nodes.map(e=>e.modelRef??null).filter(e):[]),o=r(n,t(e=>e.type===`include`&&e.enabled),l(e=>e.expr.ref.model),z()),s=r(n,t(e=>e.type===`exclude`&&e.enabled),l(e=>e.expr.ref.model),z());return{disabled:r(n,t(e=>!e.enabled),l(e=>e.expr.ref.model),z()),includedExplicit:o,includedImplicit:L(a,o),excluded:L(s,a)}}var tt=({initial:e,sideEffects:t})=>Pe({context:{searchInput:``,expandedValue:[],collection:e},emits:{inputKeyDown:e=>{}},on:{inputChange:(e,t)=>({...e,searchInput:t.value}),inputKeyDown:(e,t,n)=>{n.emit.inputKeyDown()},modelUpdate:(e,t)=>({...e,collection:t.collection}),elementClick:(e,n,r)=>{let i=e.collection.findNode(n.id),a=e.collection.getIndexPath(n.id);return!i||!a||r.effect(()=>{t.onElementStateClick({id:n.id})}),e}}}),nt=D(null),rt=e=>{let t=ve(),n=M(t);n.current=t;let r=V(),i=j(()=>tt({initial:H(t),sideEffects:{onElementStateClick({id:e}){r.send({type:`toggle.element`,id:e})}}}),[r]);return se(()=>{i.trigger.modelUpdate({collection:H(t,et(r.getSnapshot().context))})},[t]),A(()=>{let e=r.on(`view.update`,()=>{i.trigger.modelUpdate({collection:H(n.current,et(r.getSnapshot().context))})});return()=>{e.unsubscribe()}},[r]),P(nt.Provider,{value:i,children:e.children})};function it(e,t){return[t=>e(t.context),t??E]}function U(){return k(nt)}function at(...e){let t=N(4),n=e,r=U(),i,a;if(n.length===2)[i,a]=n;else if(n.length===1&&Array.isArray(n[0])&&c(n[0],2))[i,a]=n[0];else if(n.length===1&&Array.isArray(n[0])&&c(n[0],1)){let e;t[0]===n[0]?e=t[1]:(e=[n[0],E],t[0]=n[0],t[1]=e),[i,a]=e}else if(n.length===1&&typeof n[0]==`function`){let e;t[2]===n[0]?e=t[3]:(e=[n[0],E],t[2]=n[0],t[3]=e),[i,a]=e}else throw Error(`Invalid arguments for useEditorPanelState`);return Fe(r,i,a)}function ot(...e){let t=N(7),n=e,r=U(),i=n[0],a=v(n[1]),o;t[0]!==i||t[1]!==a||t[2]!==r?(o=()=>{let e=r.on(i,a);return()=>{e.unsubscribe()}},t[0]=i,t[1]=a,t[2]=r,t[3]=o):o=t[3];let s;t[4]!==i||t[5]!==r?(s=[i,r],t[4]=i,t[5]=r,t[6]=s):s=t[6],A(o,s)}function W(...e){let t=U();if(e.length===0)return t.trigger;let n=e[0];return v((...e)=>{n(t.trigger,...e)})}var st=g({base:{border:`none`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,justifySelf:`flex-end`,fontSize:`[8px]`,fontFamily:`mono`,fontWeight:`bold`,letterSpacing:`[0.5px]`,marginLeft:`2`,py:`1`,px:`1.5`,lineHeight:`1`,rounded:`sm`,minWidth:32,transition:`normal`,_hover:{color:`text.bright`}},variants:{state:{"include-explicit":{backgroundColor:`grass.6`,color:`text`},"include-implicit":{backgroundColor:`grass.6`,color:`text`},exclude:{backgroundColor:`red.6`,color:`text`},disabled:{color:`text.dimmed`},"not-present":{color:`text.dimmed`,backgroundColor:`default.hover/50`}}},defaultVariants:{state:`not-present`}}),ct=h.raw({flex:0,display:`flex`,alignItems:`center`,color:`text.dimmed`,_groupHover:{color:`text`},_groupFocusWithin:{color:`mantine.colors.primary.lightColor!`},_groupFocusVisible:{color:`mantine.colors.primary.lightColor!`},"& :where(.likec4-shape-icon, .likec4-element-icon)":{display:`contents`},"& :where(svg, img)":{width:`10px`,height:`10px`},"@/md":{"& :where(svg, img)":{width:`14px`,height:`14px`}},"@/lg":{"& :where(svg, img)":{width:`16px`,height:`16px`}},opacity:{base:.8,_groupFocusVisible:1,_groupHover:1}}),lt=h.raw({paddingLeft:`[calc((var(--depth, 1) - 1) * {spacing.2} + {spacing.1})]`,px:`1`,py:`1`,mb:`0`,columnGap:`1`,"@/md":{paddingLeft:`[calc((var(--depth, 1) - 1) * {spacing.2} + {spacing.2})]`,px:`2`,py:`1.5`,mb:`0.5`,columnGap:`2`},"@/lg":{paddingLeft:`[calc((var(--depth, 1) - 1) * {spacing.3} + {spacing.2.5})]`,py:`2.5`},cursor:`pointer`,border:`none`,appearance:`none`,width:`full`,alignItems:`center`,display:`grid`,gridTemplateColumns:`auto 1fr auto`,gridTemplateRows:`auto auto`,rounded:`sm`,backgroundColor:{base:`transparent`,_hover:{base:`mantine.colors.gray[1]`,_dark:`mantine.colors.dark[5]`},_focusWithin:`mantine.colors.primary.lightHover!`,_focusVisible:`mantine.colors.primary.lightHover!`},color:{base:`text`,_hover:`text.bright`,_focusWithin:`mantine.colors.primary.lightColor!`,_focusVisible:`mantine.colors.primary.lightColor!`},_focusVisible:{outline:`none`}}),{withRootProvider:ut,withContext:G}=Ee(b({slots:[`branch`,`item`,`control`,`state`,`icon`,`label`,`content`,`indicator`],base:{branch:{},item:{...lt},control:{...lt},state:{border:`none`,display:`inline-flex`,alignItems:`center`,justifySelf:`flex-end`,marginLeft:`2`,"--chip-fz":`9px`,"--chip-checked-padding":`{spacing.1}`,"--chip-padding":`{spacing.1}`,"--chip-spacing":`0`,"--chip-size":`16px`,transition:`opacity 150ms ease-out`},icon:{...ct},label:{cursor:`inherit`,color:`inherit`,userSelect:`none`,textStyle:`xxs`,truncate:`ellipsis`,"@/sm":{textStyle:`xs`},"@/md":{textStyle:`sm`},fontWeight:`[450]`,display:`inline-flex`,alignItems:`center`,gap:`2`},indicator:{color:`inherit`,transition:`transform 150ms ease-out`,width:`12px`,opacity:.75,"@/md":{width:`14px`},_open:{transform:`rotate(90deg)`}},content:{}},variants:{},defaultVariants:{}})),K={Root:ut(`div`),Branch:G(`div`,`branch`),Item:G(`div`,`item`,{forwardProps:[],defaultProps:{className:`group`}}),Control:G(`div`,`control`,{forwardProps:[],defaultProps:{className:`group`}}),State:G(({node:e,state:t,onClick:n,className:r,...i})=>{let a=_(r,`mantine-active`,st({state:t}));return P(`div`,{...i,onClick:n,className:a,children:t})},`state`,{forwardProps:[`node`,`state`,`onClick`,`className`]}),Icon:G(re,`icon`,{forwardProps:[`element`,`className`]}),Label:G(`div`,`label`,{forwardProps:[]}),Content:G(`div`,`content`,{forwardProps:[]}),Indicator:G(ce,`indicator`,{forwardProps:[],defaultProps:{size:14}})},dt=O(()=>{let e=N(5),t=$e(),n;e[0]===t?n=e[1]:(n=(e,n)=>{let r=n.currentTarget.closest(`[data-value]`)?.getAttribute(`data-value`);if(r)try{n.stopPropagation(),n.preventDefault(),t.expand([r]),e.elementClick({id:r})}catch(e){console.error(`Failed to handle element click`,e)}},e[0]=t,e[1]=n);let r=W(n),i;return e[2]!==t||e[3]!==r?(i=P(m,{flex:`1 1 100%`,scrollbars:`y`,type:`scroll`,scrollbarSize:`4px`,...Oe(t.getRootProps(),{onKeyDown:pt}),children:F(K.Root,{...t.getTreeProps(),children:[t.collection.rootNode.children.map((e,n)=>P(ft,{node:e,api:t,onClick:r},e.id)),!t.collection.getFirstNode()&&P(T,{css:{p:`4`,textAlign:`center`},children:`Nothing found`})]})}),e[2]=t,e[3]=r,e[4]=i):i=e[4],i}),ft=({api:e,node:t,onClick:n})=>{let r=e.collection.getIndexPath(t.id);R(r,`Node not found in collection`);let i={indexPath:r,node:t},a=e.getNodeState(i);return a.isBranch?F(K.Branch,{...e.getBranchProps(i),children:[F(K.Control,{...e.getBranchControlProps(i),children:[P(K.Icon,{element:t}),F(K.Label,{...e.getBranchTextProps(i),children:[t.title,P(K.Indicator,{...e.getBranchIndicatorProps(i)})]}),P(K.State,{node:t,state:t.state,onClick:n})]}),P(K.Content,{...e.getBranchContentProps(i),children:a.expanded&&t.children.map((t,r)=>P(ft,{node:t,api:e,onClick:n},t.id))})]}):F(K.Item,{...e.getItemProps(i),children:[P(K.Icon,{element:t}),P(K.Label,{...e.getItemTextProps(i),children:t.title}),P(K.State,{node:t,state:t.state,onClick:n})]})};function pt(e){bb32:switch(e.key){case`Escape`:{let t=document.getElementById(`search-input`);t&&(e.stopPropagation(),e.preventDefault(),t.focus());break bb32}case`ArrowUp`:break bb32;default:return}}var mt=()=>P(rt,{children:P(Te,{mode:`popLayout`,children:F(ue,{css:{position:`fixed`,top:`0`,left:`0`,gap:`1`,bottom:`0`,height:`auto`,overflow:`hidden`,layerStyle:`likec4.panel`,width:`[300px]`,rounded:`0`},onClick:e=>{e.stopPropagation();let t=document.getElementById(`search-input`);t&&t.focus()},children:[F(S,{p:`2`,gap:`4`,justifyItems:`stretch`,children:[P(ne,{style:{height:16}}),P(De,{size:`sm`,fontWeight:`medium`,flex:`1`,children:`Explore`}),P(S,{gap:`1`,children:P(d,{children:P(le,{})})})]}),P(T,{children:P(gt,{})}),P(Le,{children:P(dt,{})})]})})}),ht=it(i(`searchInput`));function gt(){let e=N(8),t=at(ht),n=W(),r=W(vt),i=W(_t),a;if(e[0]!==i||e[1]!==t||e[2]!==r||e[3]!==n){let o;e[5]!==i||e[6]!==n?(o=e=>{bb8:switch(e.key){case`Escape`:e.stopPropagation(),e.preventDefault(),i();break bb8;case`Enter`:e.stopPropagation(),e.preventDefault();break bb8;case`ArrowDown`:e.stopPropagation(),e.preventDefault(),n.inputKeyDown();break bb8;default:return}},e[5]=i,e[6]=n,e[7]=o):o=e[7],a=P(T,{children:P(p,{id:`search-input`,size:`xs`,variant:`filled`,placeholder:`Search by title, description or start with # or kind:`,value:t,onChange:r,"data-likec4-search-input":!0,rightSectionPointerEvents:`all`,rightSection:P(f,{size:`sm`,"aria-label":`Clear input`,onClick:i,style:{display:t?void 0:`none`}}),onKeyDownCapture:o})}),e[0]=i,e[1]=t,e[2]=r,e[3]=n,e[4]=a}else a=e[4];return a}function _t(e){e.inputChange({value:``})}function vt(e,t){e.inputChange({value:t.currentTarget.value})}function yt(e){return e.type===`include`?{include:[e.expr]}:{exclude:[e.expr]}}var q=me({types:{context:{},tags:``,events:{},emitted:{}},actors:{service:{}},guards:{hasView:({context:e})=>e.view!==null}});function bt(){return{view:null,error:void 0,rules:[]}}var J={idle:{target:`#layouter-idle`},call:{target:`#layouter-call`}},xt=q.createStateConfig({id:J.idle.target.substring(1),entry:w(`entry idle ->`),exit:w(` -> idle exit `),on:{layout:{...J.call}}}),St=()=>q.emit({type:`view.update`}),Ct=s(t(e=>e.enabled),l(yt)),wt=q.createStateConfig({id:J.call.target.substring(1),entry:w(`entry call ->`),exit:w(` -> call exit `),invoke:{src:`service`,input:({context:e})=>({predicates:Ct(e.rules)}),onDone:{actions:[he({view:({context:e,event:t})=>{let n=Ue(Ct(e.rules));return{...t.output.view,hash:n,id:n}},error:void 0}),fe({type:`view.update`})],...J.idle},onError:{actions:[w(({event:e})=>`error: ${e.error}`),he({error:({event:e})=>`${e.error}`})],...J.idle}}}),Tt=q.createStateConfig({initial:`idle`,states:{idle:xt,call:wt}}),Y={idle:{target:`#idle`},selecting:{target:`#selecting`},layouting:{target:`#layouting`}};function Et({rules:e},t=``){return We((e.at(-1)?.id??new Date().toISOString())+t)}var X=e=>t=>I.isModelRef(t.expr)&&t.expr.ref.model===e,Dt=e=>t=>t.type===`include`&&I.isModelRef(t.expr)&&t.expr.ref.model===e,Ot=e=>t=>t.type===`exclude`&&I.isModelRef(t.expr)&&t.expr.ref.model===e;function kt(e,{rules:t,view:n}){let r=t.find(X(e));if(r&&!r.enabled)return{state:`disabled`,ruleId:r.id};let i=n?n.nodes.some(t=>t.modelRef===e):!1,a=t.find(Dt(e)),o=t.find(Ot(e));switch(!0){case a&&i:return{state:`include-explicit`,ruleId:a.id};case!a&&i:return{state:`include-implicit`,ruleId:void 0};case a&&!i:return{state:`not-present`,ruleId:a.id};case!!o:return{state:`exclude`,ruleId:o.id};default:return R(i===!1,`Element not in view should not be included or excluded by any rule`),{state:`not-present`,ruleId:void 0}}}var At=e=>q.assign(({context:t})=>({rules:t.rules.map(t=>t.id===e&&!t.enabled?{...t,enabled:!0}:t)})),jt=(e,t)=>q.assign(({context:n})=>({rules:[...n.rules,{id:Et(n,t+e),expr:{ref:{model:e}},enabled:!0,type:t}]})),Z=e=>q.assign(({context:t})=>{let n=X(e);return{rules:t.rules.filter(e=>!n(e))}}),Mt=()=>q.enqueueActions(({context:e,event:t,enqueue:n})=>{C(t,`toggle.element`);let r=X(t.id),i=u(e.rules);if(i&&r(i)){n.assign({rules:e.rules.slice(0,-1)});return}let a=kt(t.id,e);switch(a.state){case`disabled`:n(At(a.ruleId));break;case`not-present`:n(Z(t.id)),n(jt(t.id,`include`));break;case`include-implicit`:n(Z(t.id)),n(jt(t.id,`exclude`));break;case`include-explicit`:case`exclude`:n(Z(t.id));break;default:He(a)}}),Nt=()=>q.assign(({context:e,event:t})=>(C(t,`toggle.rule`),{rules:e.rules.map(e=>e.id===t.ruleId?{...e,enabled:!e.enabled}:e)})),Pt=()=>q.assign(({context:e,event:t})=>(C(t,`delete.rule`),{rules:e.rules.filter(e=>e.id!==t.ruleId)})),Q=()=>q.raise({type:`layout`}),Ft=q.createStateConfig({id:`idle`,on:{"select.open":{...Y.selecting},"toggle.rule":{actions:Nt(),...Y.layouting},"delete.rule":{actions:Pt(),...Y.layouting}}}),It=q.createStateConfig({id:`selecting`,on:{"toggle.element":{actions:[Mt(),St(),Q()]},"select.close":{...Y.idle}}}),Lt=q.createStateConfig({id:`layouting`,always:{actions:Q(),...Y.idle}}),Rt=q.createStateConfig({initial:`selecting`,states:{idle:Ft,selecting:It,layouting:Lt}}),zt=q.createMachine({id:`adhoc-editor`,context:bt,type:`parallel`,states:{layouter:Tt,editor:Rt}}),$={read:()=>JSON.parse(sessionStorage.getItem(`adhoc-editor-state`)||`null`)??void 0,write:e=>sessionStorage.setItem(`adhoc-editor-state`,JSON.stringify(e))};function Bt({children:e,service:t}){let n=M(t);n.current=t;let r=j(()=>({actors:{service:pe(({input:e})=>n.current.process(e))}}),[]),i=_e(zt.provide(r),{id:`adhoc-editor`,snapshot:$.read(),systemId:`adhoc-editor`,inspect:e=>{console.log(`[AdhocEditorActor]`,e)}});return A(()=>{let e=i.subscribe(e=>{$.write(e)});return()=>e.unsubscribe()},[i]),P(Ke,{value:i,children:e})}var Vt=()=>{},Ht={...a(xe,()=>!1),enableFitView:!0,enableReadOnly:!0};function Ut({service:e}){let t=ee(),n=M({fitView:!0,defaultNodes:[],defaultEdges:[]});return P(oe,{children:P(ae,{children:P(Ie,{id:`LikeC4AdHocViewEditor`,onRender:Vt,children:P(x,{value:null,children:P(Bt,{service:e,children:F(ye,{features:Ht,children:[P(ie,{id:t}),P(Ce,{rootSelector:`#${t}`,children:P(te,{id:t,children:F(we,{...n.current,children:[P(Wt,{id:t}),P(mt,{})]})})})]})})})})})})}var Wt=O(e=>{let t=N(3),{id:n}=e,r=Ye(),i;return t[0]!==n||t[1]!==r?(i=F(Se,{id:n,view:r,zoomable:!0,pannable:!0,fitViewPadding:y.withControls,nodesDraggable:!1,nodesSelectable:!0,children:[P(be,{}),P(Gt,{})]}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}),Gt=O(()=>{let e=N(4),t=V(),n=de(),r,i;return e[0]!==t||e[1]!==n?(r=()=>{let e=t.on(`click.element`,e=>{let{id:t}=e;n.focusOnElement(t)});return()=>e.unsubscribe()},i=[t,n],e[0]=t,e[1]=n,e[2]=r,e[3]=i):(r=e[2],i=e[3]),A(r,i),null});export{Ut as LikeC4AdHocViewEditor};
|