likec4 1.56.0 → 1.57.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__/chunks/AIChat2.mjs +2 -0
- package/__app__/chunks/DiagramActorProvider.mjs +4 -4
- package/__app__/chunks/EmbedPage.mjs +1 -0
- package/__app__/chunks/ExportPage.mjs +2 -0
- package/__app__/chunks/LikeC4Diagram.mjs +5 -5
- package/__app__/chunks/LikeC4Styles.mjs +11 -11
- package/__app__/chunks/Markdown.mjs +1 -0
- package/__app__/chunks/NavigationPanel.mjs +1 -1
- package/__app__/chunks/ViewReact.mjs +1 -1
- package/__app__/chunks/adhoc-editor.mjs +1 -1
- package/__app__/chunks/aichat.mjs +1 -0
- package/__app__/chunks/box.mjs +1 -0
- package/__app__/chunks/create-style-context.mjs +1 -0
- package/__app__/chunks/css.mjs +1 -0
- package/__app__/chunks/factory.mjs +1 -0
- package/__app__/chunks/hooks.mjs +1 -1
- package/__app__/chunks/hstack.mjs +1 -0
- package/__app__/chunks/libs/@dagrejs/dagre.mjs +1 -1
- package/__app__/chunks/libs/@floating-ui/core.mjs +1 -1
- package/__app__/chunks/libs/@floating-ui/dom.mjs +1 -1
- package/__app__/chunks/libs/@floating-ui/react.mjs +1 -1
- package/__app__/chunks/libs/@mantine/core.mjs +24 -24
- package/__app__/chunks/libs/@mantine/hooks.mjs +1 -1
- package/__app__/chunks/libs/@nanostores/react.mjs +1 -1
- package/__app__/chunks/libs/@react-hookz/web.mjs +1 -1
- package/__app__/chunks/libs/@tabler/icons-react.mjs +347 -4
- package/__app__/chunks/libs/@tanstack/ai-client.mjs +2 -0
- package/__app__/chunks/libs/@tanstack/ai-react-ui.mjs +1 -0
- package/__app__/chunks/libs/@tanstack/ai-react.mjs +1 -0
- package/__app__/chunks/libs/@tanstack/ai.mjs +2 -0
- package/__app__/chunks/libs/@tanstack/history.mjs +1 -1
- package/__app__/chunks/libs/@tanstack/react-router.mjs +3 -3
- package/__app__/chunks/libs/@tanstack/router-core.mjs +1 -1
- package/__app__/chunks/libs/@xstate/react.mjs +1 -1
- package/__app__/chunks/libs/@xstate/store.mjs +1 -1
- package/__app__/chunks/libs/@xyflow/react.mjs +3 -3
- package/__app__/chunks/libs/@zag-js/anatomy.mjs +1 -1
- package/__app__/chunks/libs/@zag-js/collection.mjs +1 -1
- package/__app__/chunks/libs/@zag-js/core.mjs +1 -1
- package/__app__/chunks/libs/@zag-js/react.mjs +1 -1
- package/__app__/chunks/libs/@zag-js/tree-view.mjs +1 -1
- package/__app__/chunks/libs/bezier-js.mjs +1 -1
- package/__app__/chunks/libs/copy-anything.mjs +1 -0
- package/__app__/chunks/libs/d3-path.mjs +1 -1
- package/__app__/chunks/libs/d3-shape.mjs +1 -1
- package/__app__/chunks/libs/fast-equals.mjs +1 -1
- package/__app__/chunks/libs/framer-motion.mjs +3 -3
- package/__app__/chunks/libs/html-to-image.mjs +2 -2
- package/__app__/chunks/libs/motion-dom.mjs +1 -1
- package/__app__/chunks/libs/nanostores.mjs +1 -1
- package/__app__/chunks/libs/react-error-boundary.mjs +1 -1
- package/__app__/chunks/libs/react-resizable-panels.mjs +1 -1
- package/__app__/chunks/libs/remeda.mjs +1 -1
- package/__app__/chunks/libs/superjson.mjs +1 -0
- package/__app__/chunks/libs/zod.mjs +39 -14
- package/__app__/chunks/rolldown-runtime.mjs +1 -1
- package/__app__/chunks/styles.css.mjs +1 -1
- package/__app__/chunks/txt.mjs +1 -0
- package/__app__/chunks/useLikeC4Project.mjs +1 -1
- package/__app__/codegen/webcomponent.mjs +221 -69
- package/__app__/src/aichat/index.mjs +1 -0
- package/__app__/src/main.mjs +45 -1
- package/__app__/src/pages/AdHocViewEditor.mjs +1 -1
- package/__app__/src/pages/EmbedPage.mjs +1 -1
- package/__app__/src/pages/ExportPage.mjs +1 -1
- package/__app__/src/pages/ProjectsOverview.mjs +1 -1
- package/__app__/src/pages/ViewAsD2.mjs +1 -1
- package/__app__/src/pages/ViewAsDot.mjs +1 -1
- package/__app__/src/pages/ViewAsMmd.mjs +1 -1
- package/__app__/src/pages/ViewAsPuml.mjs +1 -1
- package/__app__/src/pages/ViewEditor.mjs +1 -1
- package/__app__/src/style.css +1 -1
- package/config/schema.json +14 -41
- package/dist/chunks/enableServer.mjs +1 -0
- package/dist/chunks/index2.d.mts +569 -377
- package/dist/chunks/libs/@hono/mcp.mjs +33 -8
- package/dist/chunks/libs/@hono/node-server.mjs +1 -1
- package/dist/chunks/libs/@modelcontextprotocol/sdk.mjs +7 -7
- package/dist/chunks/libs/@ts-graphviz/ast.mjs +3 -0
- package/dist/chunks/libs/@ts-graphviz/common.d.mts +9 -0
- package/dist/chunks/libs/@ts-graphviz/core.mjs +1 -0
- package/dist/chunks/libs/ajv.mjs +1 -1
- package/dist/chunks/libs/ansi-styles.mjs +1 -1
- package/dist/chunks/libs/boxen.mjs +2 -2
- package/dist/chunks/libs/chevrotain.mjs +2 -2
- package/dist/chunks/libs/conf.mjs +1 -1
- package/dist/chunks/libs/langium.d.mts +5 -5
- package/dist/chunks/libs/langium.mjs +10 -10
- package/dist/chunks/libs/merge-error-cause.mjs +1 -1
- package/dist/chunks/libs/pako.mjs +3 -1
- package/dist/chunks/libs/remeda.mjs +1 -1
- package/dist/chunks/libs/ts-graphviz.mjs +1 -4
- package/dist/chunks/libs/unctx.mjs +1 -0
- package/dist/chunks/libs/vscode-languageserver.mjs +1 -1
- package/dist/chunks/libs/zod.d.mts +60 -25
- package/dist/chunks/node.mjs +62 -45
- package/dist/chunks/plugin.mjs +234 -41
- package/dist/chunks/sequence-view.mjs +1 -1
- package/dist/cli/index.mjs +142 -139
- package/dist/index.d.mts +1 -130
- package/dist/model/index.d.mts +1 -1
- package/dist/vite-plugin/index.d.mts +53 -2
- package/dist/vite-plugin/internal/index.d.mts +331 -3
- package/dist/vite-plugin/internal/index.mjs +1 -1
- package/package.json +65 -51
- package/react/index.d.mts +82 -50
- package/react/index.mjs +34017 -32421
- package/vite-plugin-modules.d.ts +4 -0
- package/__app__/chunks/ColorSchemeToggle.mjs +0 -1
- package/__app__/chunks/Fallback.mjs +0 -1
- package/__app__/chunks/Header.mjs +0 -13
- package/__app__/chunks/IconRenderer.mjs +0 -1
- package/__app__/chunks/LikeC4ModelContext.mjs +0 -1
- package/__app__/chunks/LikeC4ModelContext2.mjs +0 -1
- package/__app__/chunks/StaticLikeC4Diagram.mjs +0 -1
- package/__app__/chunks/__root.mjs +0 -1
- package/__app__/chunks/libs/motion.mjs +0 -1
- package/__app__/chunks/libs/xstate.mjs +0 -1
- package/__app__/chunks/safeCtx.mjs +0 -1
- package/__app__/chunks/searchParams.mjs +0 -1
- package/__app__/chunks/single-index.mjs +0 -1
- package/__app__/chunks/styled-system.mjs +0 -1
- package/__app__/chunks/useUpdateEffect.mjs +0 -1
- package/__app__/src/routeTree.gen.mjs +0 -1
- package/__app__/src/routes/__root.mjs +0 -1
- package/__app__/src/routes/_single/adhoc.mjs +0 -1
- package/__app__/src/routes/_single/embed._viewId.mjs +0 -1
- package/__app__/src/routes/_single/export._viewId.mjs +0 -1
- package/__app__/src/routes/_single/route.mjs +0 -1
- package/__app__/src/routes/_single/single-index.mjs +0 -1
- package/__app__/src/routes/_single/view._viewId.d2.mjs +0 -1
- package/__app__/src/routes/_single/view._viewId.dot.mjs +0 -1
- package/__app__/src/routes/_single/view._viewId.index.mjs +0 -1
- package/__app__/src/routes/_single/view._viewId.mjs +0 -1
- package/__app__/src/routes/_single/view._viewId.mmd.mjs +0 -1
- package/__app__/src/routes/_single/view._viewId.puml.mjs +0 -1
- package/__app__/src/routes/_single/webcomponent._.mjs +0 -33
- package/__app__/src/routes/index.mjs +0 -1
- package/__app__/src/routes/project._projectId/-components.mjs +0 -1
- package/__app__/src/routes/project._projectId/adhoc.mjs +0 -1
- package/__app__/src/routes/project._projectId/embed._viewId.mjs +0 -1
- package/__app__/src/routes/project._projectId/export._viewId.mjs +0 -1
- package/__app__/src/routes/project._projectId/index.mjs +0 -1
- package/__app__/src/routes/project._projectId/route.mjs +0 -1
- package/__app__/src/routes/project._projectId/view._viewId.d2.mjs +0 -1
- package/__app__/src/routes/project._projectId/view._viewId.dot.mjs +0 -1
- package/__app__/src/routes/project._projectId/view._viewId.index.mjs +0 -1
- package/__app__/src/routes/project._projectId/view._viewId.mjs +0 -1
- package/__app__/src/routes/project._projectId/view._viewId.mmd.mjs +0 -1
- package/__app__/src/routes/project._projectId/view._viewId.puml.mjs +0 -1
- package/__app__/src/routes/projects.mjs +0 -1
- package/dist/chunks/libs/ts-graphviz.d.mts +0 -12
- package/dist/vite-plugin/internal/chunks/libs/@nanostores/react.d.mts +0 -269
- package/dist/vite-plugin/internal/chunks/libs/nanostores.d.mts +0 -59
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime.mjs";import{D as t,K as n,R as r,S as i,Y as a,Z as o,q as s,v as c,x as l,z as u}from"./libs/remeda.mjs";import{At as d,Kt as f,Ot as p,Rt as m,Tt as h,_t as g,dt as _,h as v,kt as y,m as b,rt as x,wt as S}from"./libs/@mantine/core.mjs";import{E as C,M as w,N as T,c as E,d as D,f as O,g as k,h as A,l as j,o as M,u as N}from"./styled-system.mjs";import{Q as P}from"./libs/@tabler/icons-react.mjs";import{n as F}from"./IconRenderer.mjs";import{d as I,f as L,h as R,i as z,m as B,n as V,p as ee,r as te,t as ne,v as H}from"./libs/@xyflow/react.mjs";import{n as U,t as W}from"./libs/fast-equals.mjs";import{n as G}from"./useUpdateEffect.mjs";import{t as re}from"./libs/bezier-js.mjs";import{n as ie}from"./libs/nanostores.mjs";import{t as ae}from"./libs/@nanostores/react.mjs";import{P as K,cr as oe,fr as se,g as ce,ur as le}from"./libs/framer-motion.mjs";import{i as ue}from"./LikeC4ModelContext.mjs";import{createContext as de,forwardRef as q,memo as fe,useContext as J,useEffect as Y,useMemo as pe,useRef as me,useState as he}from"react";import{c as X}from"react/compiler-runtime";import{Fragment as Z,jsx as Q,jsxs as $}from"react/jsx-runtime";import{extractStep as ge,invariant as _e,isStepEdgeId as ve,nonexhaustive as ye}from"@likec4/core";import{BBox as be,vector as xe,vector as Se}from"@likec4/core/geometry";import{invariant as Ce}from"@likec4/core/utils";import{LikeC4Styles as we}from"@likec4/core/styles";import{RichText as Te,ensureSizes as Ee}from"@likec4/core/types";function literalToEnum(e){switch(e){case`dots`:return V.Dots;case`lines`:return V.Lines;case`cross`:return V.Cross;default:ye(e)}}const compareProps=(e,t)=>typeof e.background==`string`&&typeof t.background==`string`?e.background===t.background:W(e.background,t.background),De=fe(e=>{let t=X(6),{background:n}=e;if(typeof n==`string`){let e;t[0]===n?e=t[1]:(e=literalToEnum(n),t[0]=n,t[1]=e);let r;return t[2]===e?r=t[3]:(r=Q(ne,{variant:e,size:2,gap:20}),t[2]=e,t[3]=r),r}let r;return t[4]===n?r=t[5]:(r=Q(ne,{...n}),t[4]=n,t[5]=r),r},compareProps);De.displayName=`Background`;function useCallbackRef(e){let t=me(e);return t.current=e,pe(()=>{function callbackRef(...e){return t.current?.(...e)}return callbackRef},[])}function useXYFlow(){return L()}function useXYStore(e,t){return ee(useCallbackRef(e),t??U)}function useXYStoreApi(){return B()}function useCurrentZoomAtLeast(e){let t=X(2),t0;return t[0]===e?t0=t[1]:(t0=t=>t.transform[2]>=e,t[0]=e,t[1]=t0),ee(t0)}const selectZoom=e=>e.transform[2]<.2;function useIsZoomTooSmall(){return ee(selectZoom)}function getDevicePixelRatio(){let e=typeof window<`u`&&typeof window.devicePixelRatio==`number`?window.devicePixelRatio:1;return o(Math.floor(e),{min:1,max:4})}let Oe;function roundDpr(e){return Oe??=getDevicePixelRatio(),Oe<2?Math.round(e):Math.round(e*Oe)/Oe}function nodeToRect(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)}}function getNodeCenter(e){let{width:t,height:n}=H(e),{x:r,y:i}=e.internals.positionAbsolute;return{x:Math.round(r+t/2),y:Math.round(i+n/2)}}function getNodeIntersectionFromCenterToPoint(e,t,n=0){let{width:r,height:i}=e,a=be.center(e),o=xe(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 xe(o).multiply(l).add(a).trunc().toObject()}function bezierControlPoints(e){let[t,...n]=e;Ce(t,`start should be defined`);let r=[];for(;s(n,3);){let[e,i,a,...o]=n,s=new re(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 Ce(n.length===0,`all points should be consumed`),Ce(s(r,1),`at least one control point should be generated`),r}function isSamePoint(e,t){if(e===t)return!0;let[n,i]=r(e)?e:[e.x,e.y],[a,o]=r(t)?t:[t.x,t.y];return Math.hypot(a-n,o-i)<2.1}function stopPropagation(e){e.nativeEvent.stopImmediatePropagation(),e.stopPropagation()}const printPoint=e=>`${Math.trunc(e[0])},${Math.trunc(e[1])}`;function bezierPath(e){let[t,...n]=e;Ce(t,`start should be defined`);let r=`M ${printPoint(t)}`;for(;s(n,3);){let[e,t,i,...a]=n;r+=` C ${printPoint(e)} ${printPoint(t)} ${printPoint(i)}`,n=a}return Ce(n.length===0,`all points should be consumed`),r}function parsePadding(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 parsePaddings(e,t,n){if(typeof e==`string`||typeof e==`number`){let r=parsePadding(e,n),i=parsePadding(e,t);return{top:r,right:i,bottom:r,left:i,x:i*2,y:r*2}}if(typeof e==`object`){let r=parsePadding(e.top??e.y??0,n),i=parsePadding(e.bottom??e.y??0,n),a=parsePadding(e.left??e.x??0,t),o=parsePadding(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 _setDimmed=(e,t)=>(e.data.dimmed??!1)===t?e:{...e,data:{...e.data,dimmed:t}};function setDimmed(e,t){return t===void 0?t=>_setDimmed(t,e):_setDimmed(e,t)}const _setHovered=(e,t)=>(e.data.hovered??!1)===t?e:{...e,data:{...e.data,hovered:t}};function setHovered(e,t){return t===void 0?t=>_setHovered(t,e):_setHovered(e,t)}function _setData(e,t){return u(e.data,t)?e:{...e,data:{...e.data,...t}}}function setData(e,t){return t===void 0?t=>_setData(t,e):_setData(e,t)}const ke={setDimmed,setHovered,setData},Ae={Compound:1,Edge:20,EdgeLabel:25,Element:20,Max:30},je=.05,Me={default:`16px`,withControls:{top:`58px`,left:`16px`,right:`16px`,bottom:`16px`}};function BaseXYFlow(e){let t=X(85),n,r,i,a,o,s,c,l,u,d,f,m,h,g,_,v,y,b,x,S,C,T;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],f=t[11],m=t[12],h=t[13],g=t[14],_=t[15],v=t[16],y=t[17],b=t[18],x=t[19],S=t[20],C=t[21],T=t[22]):({nodes:o,edges:a,onEdgesChange:l,onNodesChange:m,className:r,pannable:_,zoomable:v,nodesSelectable:y,nodesDraggable:b,background:x,children:n,colorMode:i,fitViewPadding:S,fitView:C,zoomOnDoubleClick:T,onViewportResize:h,onMoveEnd:u,onNodeMouseEnter:d,onNodeMouseLeave:f,onEdgeMouseEnter:s,onEdgeMouseLeave:c,...g}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u,t[10]=d,t[11]=f,t[12]=m,t[13]=h,t[14]=g,t[15]=_,t[16]=v,t[17]=y,t[18]=b,t[19]=x,t[20]=S,t[21]=C,t[22]=T);let E=_===void 0?!0:_,D=v===void 0?!0:v,O=y===void 0?!0:y,k=b===void 0?!1:b,A=x===void 0?`dots`:x,j=S===void 0?0:S,M=C===void 0?!0:C,N=T===void 0?!1:T,P;t[23]===j?P=t[24]:(P={minZoom:je,maxZoom:1,padding:j,includeHiddenNodes:!1},t[23]=j,t[24]=P);let F=P,L=A!==`transparent`&&A!==`solid`,R=useIsZoomTooSmall(),z=useXYStoreApi(),{colorScheme:B}=p();i||=B===`auto`?`system`:B;let V=i,ee=o,te=a,ne=A===`transparent`&&`bg-transparent`,H;t[25]!==r||t[26]!==ne?(H=w(ne,r),t[25]=r,t[26]=ne,t[27]=H):H=t[27];let U;t[28]===R?U=t[29]:(U=R&&{"data-likec4-zoom-small":!0},t[28]=R,t[29]=U);let W=!E&&D,G;t[30]===D?G=t[31]:(G=!D&&{zoomActivationKeyCode:null},t[30]=D,t[31]=G);let re=D?3:1,ie=D?je:1,ae=D||E,K;t[32]===E?K=t[33]:(K=!E&&{panActivationKeyCode:null,selectionKeyCode:null},t[32]=E,t[33]=K);let oe=k||O,se=m,ce=l,t25;t[34]!==u||t[35]!==z?(t25=(e,t)=>{let{x:n,y:r,zoom:i}=t,a=roundDpr(n),o=roundDpr(r);(n!==a||r!==o)&&z.setState({transform:[a,o,i]}),u?.(e,{x:a,y:o,zoom:i})},t[34]=u,t[35]=z,t[36]=t25):t25=t[36];let le=useCallbackRef(t25),t27;t[37]!==d||t[38]!==m?(t27=(e,t)=>{if(d){d(e,t);return}m([{id:t.id,type:`replace`,item:ke.setHovered(t,!0)}])},t[37]=d,t[38]=m,t[39]=t27):t27=t[39];let ue=useCallbackRef(t27),t29;t[40]!==f||t[41]!==m?(t29=(e,t)=>{if(f){f(e,t);return}m([{id:t.id,type:`replace`,item:ke.setHovered(t,!1)}])},t[40]=f,t[41]=m,t[42]=t29):t29=t[42];let de=useCallbackRef(t29),t31;t[43]!==s||t[44]!==l?(t31=(e,t)=>{if(s){s(e,t);return}l([{id:t.id,type:`replace`,item:ke.setHovered(t,!0)}])},t[43]=s,t[44]=l,t[45]=t31):t31=t[45];let q=useCallbackRef(t31),t33;t[46]!==c||t[47]!==l?(t33=(e,t)=>{if(c){c(e,t);return}l([{id:t.id,type:`replace`,item:ke.setHovered(t,!1)}])},t[46]=c,t[47]=l,t[48]=t33):t33=t[48];let fe=useCallbackRef(t33),J;t[49]!==A||t[50]!==L?(J=L&&Q(De,{background:A}),t[49]=A,t[50]=L,t[51]=J):J=t[51];let Y;t[52]===h?Y=t[53]:(Y=h&&Q(ViewportResizeHanlder,{onViewportResize:h}),t[52]=h,t[53]=Y);let pe;return t[54]!==n||t[55]!==i||t[56]!==a||t[57]!==M||t[58]!==F||t[59]!==o||t[60]!==k||t[61]!==O||t[62]!==l||t[63]!==m||t[64]!==E||t[65]!==g||t[66]!==H||t[67]!==U||t[68]!==W||t[69]!==G||t[70]!==re||t[71]!==ie||t[72]!==ae||t[73]!==K||t[74]!==oe||t[75]!==le||t[76]!==ue||t[77]!==de||t[78]!==q||t[79]!==fe||t[80]!==J||t[81]!==Y||t[82]!==N||t[83]!==D?(pe=$(I,{colorMode:V,nodes:ee,edges:te,className:H,...U,zoomOnPinch:D,zoomOnScroll:W,...G,zoomOnDoubleClick:N,maxZoom:re,minZoom:ie,fitView:M,fitViewOptions:F,preventScrolling:ae,defaultMarkerColor:`var(--xy-edge-stroke)`,noDragClassName:`nodrag`,noPanClassName:`nopan`,noWheelClassName:`nowheel`,panOnScroll:E,panOnDrag:E,...K,elementsSelectable:O,nodesFocusable:oe,edgesFocusable:!1,nodesDraggable:k,nodeDragThreshold:4,nodeClickDistance:3,paneClickDistance:3,elevateNodesOnSelect:!1,selectNodesOnDrag:!1,onNodesChange:se,onEdgesChange:ce,onMoveEnd:le,onNodeMouseEnter:ue,onNodeMouseLeave:de,onEdgeMouseEnter:q,onEdgeMouseLeave:fe,onNodeDoubleClick:stopPropagation,onEdgeDoubleClick:stopPropagation,...g,children:[J,Y,n]}),t[54]=n,t[55]=i,t[56]=a,t[57]=M,t[58]=F,t[59]=o,t[60]=k,t[61]=O,t[62]=l,t[63]=m,t[64]=E,t[65]=g,t[66]=H,t[67]=U,t[68]=W,t[69]=G,t[70]=re,t[71]=ie,t[72]=ae,t[73]=K,t[74]=oe,t[75]=le,t[76]=ue,t[77]=de,t[78]=q,t[79]=fe,t[80]=J,t[81]=Y,t[82]=N,t[83]=D,t[84]=pe):pe=t[84],pe}const selectDimensions=({width:e,height:t})=>(e||1)*(t||1),ViewportResizeHanlder=e=>{let t=X(2),{onViewportResize:n}=e,r=ee(selectDimensions),i;return t[0]===r?i=t[1]:(i=[r],t[0]=r,t[1]=i),G(n,i),null},Ne=de(null),Pe=Ne.Provider;function useRootContainerContext(){return J(Ne)}function useRootContainer(){let e=useRootContainerContext();if(!e)throw Error(`useRootContainer must be used within a RootContainer`);return e}function useRootContainerRef(){return useRootContainer().ref}function useRootContainerElement(){return useRootContainer().ref.current}const Fe=de(null),Ie=Fe.Provider;function useIsReducedGraphics(){let e=J(Fe);return e===null&&console.warn(`ReduceGraphicsMode is not provided`),e??!1}const[Le,Re]=f(`PanningAtomSafeCtx is not provided`);function RootContainer(e){let t=X(22),{id:n,className:r,reduceGraphics:i,children:a}=e,o=i===void 0?!1:i,s=me(null),[c]=he(_temp),l=ae(c),u=`#${n}`,d;t[0]!==n||t[1]!==u?(d={id:n,ref:s,selector:u},t[0]=n,t[1]=u,t[2]=d):d=t[2];let f=d,p;t[3]===r?p=t[4]:(p=w(`likec4-root`,r),t[3]=r,t[4]=p);let m;t[5]===o?m=t[6]:(m=o&&{"data-likec4-reduced-graphics":!0},t[5]=o,t[6]=m);let h;t[7]!==a||t[8]!==f?(h=Q(Pe,{value:f,children:a}),t[7]=a,t[8]=f,t[9]=h):h=t[9];let g;t[10]!==n||t[11]!==l||t[12]!==p||t[13]!==m||t[14]!==h?(g=Q(`div`,{id:n,className:p,ref:s,"data-likec4-diagram-panning":l,...m,children:h}),t[10]=n,t[11]=l,t[12]=p,t[13]=m,t[14]=h,t[15]=g):g=t[15];let _;t[16]!==c||t[17]!==g?(_=Q(Le,{value:c,children:g}),t[16]=c,t[17]=g,t[18]=_):_=t[18];let v;return t[19]!==o||t[20]!==_?(v=Q(Ie,{value:o,children:_}),t[19]=o,t[20]=_,t[21]=v):v=t[21],v}function _temp(){return ie(!1)}const ze=S({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:b.extend({vars:(e,t)=>({root:{"--sc-font-size":e.fontSizes[t.fz??t.size]}})}),Portal:g.extend({defaultProps:{reuseTargetNode:!0}}),Tooltip:v.extend({defaultProps:{color:`dark`}})}});function DefaultMantineProvider(e){let t=X(8),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({children:n,theme:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i??ze,o;return t[4]!==n||t[5]!==r||t[6]!==a?(o=Q(h,{defaultColorScheme:`auto`,theme:a,...r,children:n}),t[4]=n,t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function EnsureMantine(e){let t=X(7),{children:n}=e,r=J(y),t1;t[0]===r?t1=t[1]:(t1=()=>{r||console.warn(`LikeC4Diagram must be a child of MantineProvider`)},t[0]=r,t[1]=t1);let i;if(t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=[],t[2]=i):i=t[2],Y(t1,i),!r){let e;return t[3]===n?e=t[4]:(e=Q(DefaultMantineProvider,{children:n}),t[3]=n,t[4]=e),e}let a;return t[5]===n?a=t[6]:(a=Q(Z,{children:n}),t[5]=n,t[6]=a),a}const FramerMotionConfig=e=>{let t=X(6),{reducedMotion:n,children:r}=e,i=n===void 0?`user`:n,a=d()?.(),o;t[0]===a?o=t[1]:(o=a&&{nonce:a},t[0]=a,t[1]=o);let s;return t[2]!==r||t[3]!==i||t[4]!==o?(s=Q(se,{features:oe,strict:!0,children:Q(le,{reducedMotion:i,...o,children:r})}),t[2]=r,t[3]=i,t[4]=o,t[5]=s):s=t[5],s};function useId$1(){let e=X(2),t=m(),n;return e[0]===t?n=e[1]:(n=t.replace(`mantine-`,`likec4-`),e[0]=t,e[1]=n),n}e(useId$1,`useId`);function useLikeC4Styles(){return ue()?.$styles??we.DEFAULT}function pickViewBounds(e,t){if(e._type===`dynamic`)try{if((t??e.variant)===`sequence`)return _e(e.sequenceLayout,`Sequence layout is not available`),_e(e.sequenceLayout.bounds,`Sequence layout bounds are not available`),e.sequenceLayout.bounds}catch(e){console.error(e)}return e.bounds}function calcEdgeBounds({points:e,controlPoints:t,labelBBox:n}){let r=1/0,i=1/0,a=-1/0,o=-1/0;if(t)for(let e of t)r=Math.min(r,e.x),i=Math.min(i,e.y),a=Math.max(a,e.x),o=Math.max(o,e.y);else for(let[t,n]of e)r=Math.min(r,t),i=Math.min(i,n),a=Math.max(a,t),o=Math.max(o,n);return n&&(r=Math.min(r,n.x),i=Math.min(i,n.y),a=Math.max(a,n.x+n.width),o=Math.max(o,n.y+n.height)),{x:r,y:i,width:a-r,height:o-i}}function calcViewBounds({nodes:e,edges:t}){return be.expand(be.merge(...e,...t.map(calcEdgeBounds).filter(e=>isFinite(e.x)&&isFinite(e.y))),20)}function EdgeContainer(e){let t=X(33),{className:n,component:r,selectable:i,selected:a,data:o,animated:s,children:c,style:l}=e,u=r===void 0?`g`:r,d=i===void 0?!1:i,f=a===void 0?!1:a,p,m,h,g,_;t[0]===o?(p=t[1],m=t[2],h=t[3],g=t[4],_=t[5]):({color:m,hovered:h,active:g,dimmed:_,...p}=o,t[0]=o,t[1]=p,t[2]=m,t[3]=h,t[4]=g,t[5]=_);let v=m===void 0?`gray`:m,y=h===void 0?!1:h,b=g===void 0?!1:g,x=_===void 0?!1:_,S=s===void 0?!1:s;S||=b;let C=f&&`selected`,T=d&&`selectable`,E;t[6]!==n||t[7]!==C||t[8]!==T?(E=w(n,`likec4-edge-container`,C,T),t[6]=n,t[7]=C,t[8]=T,t[9]=E):E=t[9];let D=p.dir??`forward`,O;t[10]===S?O=t[11]:(O=S&&{"data-likec4-animated":S},t[10]=S,t[11]=O);let k;t[12]===f?k=t[13]:(k=f&&{"data-likec4-selected":f},t[12]=f,t[13]=k);let A;t[14]===x?A=t[15]:(A=x!==!1&&{"data-likec4-dimmed":x},t[14]=x,t[15]=A);let j;t[16]!==v||t[17]!==b||t[18]!==y||t[19]!==E||t[20]!==D||t[21]!==O||t[22]!==k||t[23]!==A?(j={className:E,"data-likec4-color":v,"data-edge-dir":D,"data-edge-active":b,"data-likec4-hovered":y,...O,...k,...A},t[16]=v,t[17]=b,t[18]=y,t[19]=E,t[20]=D,t[21]=O,t[22]=k,t[23]=A,t[24]=j):j=t[24];let M=j;if(u===`svg`){let e;return t[25]!==c||t[26]!==M||t[27]!==l?(e=Q(`svg`,{style:l,...M,children:c}),t[25]=c,t[26]=M,t[27]=l,t[28]=e):e=t[28],e}_e(u===`g`,`EdgeContainer: component must be "g" or "svg"`);let N;return t[29]!==c||t[30]!==M||t[31]!==l?(N=Q(`g`,{style:l,...M,children:c}),t[29]=c,t[30]=M,t[31]=l,t[32]=N):N=t[32],N}const Be=q((e,t)=>{let n=X(33),r,a,o,s,c;n[0]===e?(r=n[1],a=n[2],o=n[3],s=n[4],c=n[5]):({edgeProps:s,pointerEvents:c,className:a,children:r,...o}=e,n[0]=e,n[1]=r,n[2]=a,n[3]=o,n[4]=s,n[5]=c);let{id:l,data:u,selected:d,selectable:f}=s,{label:p,technology:m,hovered:h}=u,g=h===void 0?!1:h,_=d===void 0?!1:d,v=f===void 0?!1:f,y=c===void 0?`all`:c,b;n[6]===l?b=n[7]:(b=ve(l)?ge(l):null,n[6]=l,n[7]=b);let x=b,S=x!==null,T;n[8]!==p||n[9]!==m?(T=i(p)||i(m),n[8]=p,n[9]=m,n[10]=T):T=n[10];let E=T,D;n[11]!==a||n[12]!==S||n[13]!==y||n[14]!==v?(D=w(`likec4-edge-label`,O({pointerEvents:y,isStepEdge:S,cursor:v||S?`pointer`:`default`}),a),n[11]=a,n[12]=S,n[13]=y,n[14]=v,n[15]=D):D=n[15];let k=g&&!_?1.06:1,A;n[16]===k?A=n[17]:(A={scale:k},n[16]=k,n[17]=A);let j;n[18]===x?j=n[19]:(j=x!==null&&Q(C,{className:`likec4-edge-label__step-number`,children:x}),n[18]=x,n[19]=j);let M;n[20]!==r||n[21]!==E||n[22]!==p||n[23]!==m?(M=E&&$(C,{className:`likec4-edge-label__contents`,children:[i(p)&&Q(C,{lineClamp:5,className:`likec4-edge-label__text`,children:p}),i(m)&&Q(C,{className:`likec4-edge-label__technology`,children:`[ `+m+` ]`}),r]}),n[20]=r,n[21]=E,n[22]=p,n[23]=m,n[24]=M):M=n[24];let N;return n[25]!==l||n[26]!==t||n[27]!==o||n[28]!==A||n[29]!==j||n[30]!==M||n[31]!==D?(N=$(K,{ref:t,className:D,"data-edge-id":l,animate:A,...o,children:[j,M]}),n[25]=l,n[26]=t,n[27]=o,n[28]=A,n[29]=j,n[30]=M,n[31]=D,n[32]=N):N=n[32],N});Be.displayName=`EdgeLabel`;const toCssVarValue=e=>e===void 0?``:t(e)?`${Math.trunc(e)}px`:e;function EdgeLabelContainer(e){let t=X(42),n,r,i,a,o,s;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6]):({edgeProps:s,labelPosition:a,className:r,style:i,children:n,...o}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s);let{id:c,selected:l,data:u,animated:d}=s,f=l===void 0?!1:l,{hovered:p,active:m,dimmed:h,labelBBox:g,color:_}=u,v=p===void 0?!1:p,y=m===void 0?!1:m,b=h===void 0?!1:h,x=_===void 0?`gray`:_,S=a?.x??g?.x,C=a?.y??g?.y;if(S===void 0||C===void 0)return null;let T=a?.translate??``;d||=y;let E=c,D;t[7]===r?D=t[8]:(D=w(`nodrag nopan`,`likec4-edge-label-container`,r),t[7]=r,t[8]=D);let O=d||y,k;t[9]===d?k=t[10]:(k=d&&{"data-likec4-animated":d},t[9]=d,t[10]=k);let A;t[11]===f?A=t[12]:(A=f!==!1&&{"data-likec4-selected":f},t[11]=f,t[12]=A);let j;t[13]===b?j=t[14]:(j=b!==!1&&{"data-likec4-dimmed":b},t[13]=b,t[14]=j);let M;t[15]===S?M=t[16]:(M=toCssVarValue(S),t[15]=S,t[16]=M);let N;t[17]===C?N=t[18]:(N=toCssVarValue(C),t[17]=C,t[18]=N);let P=`translate(${M}, ${N}) ${T}`,F;t[19]===P?F=t[20]:(F={transform:P},t[19]=P,t[20]=F);let I;t[21]===g?I=t[22]:(I=g&&{maxWidth:g.width+20},t[21]=g,t[22]=I);let L;t[23]!==i||t[24]!==I?(L={...i,...I},t[23]=i,t[24]=I,t[25]=L):L=t[25];let R;t[26]!==n||t[27]!==L?(R=Q(`div`,{style:L,children:n}),t[26]=n,t[27]=L,t[28]=R):R=t[28];let z;return t[29]!==x||t[30]!==c||t[31]!==y||t[32]!==v||t[33]!==o||t[34]!==O||t[35]!==k||t[36]!==A||t[37]!==j||t[38]!==F||t[39]!==R||t[40]!==D?(z=Q(te,{children:Q(`div`,{...o,className:D,"data-likec4-hovered":v,"data-likec4-color":x,"data-edge-active":y,"data-edge-animated":O,...k,...A,...j,style:F,children:R},E)}),t[29]=x,t[30]=c,t[31]=y,t[32]=v,t[33]=o,t[34]=O,t[35]=k,t[36]=A,t[37]=j,t[38]=F,t[39]=R,t[40]=D,t[41]=z):z=t[41],z}const Open=e=>{let t=X(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(`path`,{d:`M0,0 L7,4 L0,8 L4,4 Z`,stroke:`context-stroke`,fill:`context-stroke`,strokeDasharray:0,strokeWidth:1,strokeLinecap:`round`}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=Q(`marker`,{viewBox:`-4 -4 14 16`,refX:5,refY:4,markerWidth:`7`,markerHeight:`8`,preserveAspectRatio:`xMaxYMid meet`,orient:`auto-start-reverse`,...e,children:n}),t[1]=e,t[2]=r),r},Arrow=e=>{let t=X(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(`path`,{d:`M 0 0 L 8 3 L 0 6 L 1 3 z`,fill:`context-stroke`,strokeWidth:0}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=Q(`marker`,{viewBox:`-1 -1 12 10`,refX:4,refY:3,markerWidth:`8`,markerHeight:`6`,preserveAspectRatio:`xMaxYMid meet`,orient:`auto-start-reverse`,...e,children:n}),t[1]=e,t[2]=r),r},Crow=e=>{let t=X(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(`path`,{d:`M 8 0 L 0 4 L 8 8 M 8 4 L 0 4`,fill:`none`,strokeWidth:1}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=Q(`marker`,{viewBox:`-1 -1 12 12`,refX:8,refY:4,markerWidth:`8`,markerHeight:`8`,preserveAspectRatio:`xMaxYMid meet`,orient:`auto-start-reverse`,...e,children:n}),t[1]=e,t[2]=r),r},OArrow=e=>{let t=X(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(`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`}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=Q(`marker`,{viewBox:`-1 -1 12 10`,refX:4,refY:3,markerWidth:`8`,markerHeight:`6`,preserveAspectRatio:`xMaxYMid meet`,orient:`auto-start-reverse`,...e,children:n}),t[1]=e,t[2]=r),r},Diamond=e=>{let t=X(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(`path`,{d:`M5,0 L10,4 L5,8 L0,4 Z`,fill:`context-stroke`,strokeWidth:0,strokeLinecap:`round`}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=Q(`marker`,{viewBox:`-4 -4 16 14`,refX:5,refY:4,markerWidth:`10`,markerHeight:`8`,preserveAspectRatio:`xMaxYMid meet`,orient:`auto-start-reverse`,...e,children:n}),t[1]=e,t[2]=r),r},ODiamond=e=>{let t=X(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(`path`,{d:`M5,0 L10,4 L5,8 L0,4 Z`,stroke:`context-stroke`,fill:`var(--likec4-background-color)`,strokeWidth:1.25,strokeLinecap:`round`}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=Q(`marker`,{viewBox:`-4 -4 16 14`,refX:6,refY:4,markerWidth:`10`,markerHeight:`8`,preserveAspectRatio:`xMaxYMid meet`,orient:`auto-start-reverse`,...e,children:n}),t[1]=e,t[2]=r),r},Dot=e=>{let t=X(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(`circle`,{strokeWidth:0,fill:`context-stroke`,cx:4,cy:4,r:3}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=Q(`marker`,{viewBox:`0 0 10 10`,refX:4,refY:4,markerWidth:`6`,markerHeight:`6`,...e,children:n}),t[1]=e,t[2]=r),r},ODot=e=>{let t=X(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(`circle`,{strokeWidth:1.25,stroke:`context-stroke`,fill:`var(--likec4-background-color)`,cx:4,cy:4,r:3}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=Q(`marker`,{viewBox:`0 0 10 10`,refX:4,refY:4,markerWidth:`6`,markerHeight:`6`,...e,children:n}),t[1]=e,t[2]=r),r},Ve={Arrow,Crow,OArrow,Open,Diamond,ODiamond,Dot,ODot};function arrowTypeToMarker(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:ye(e)}}const He=q((e,t)=>{let n=X(54),{edgeProps:r,isDragging:i,onEdgePointerDown:a,strokeWidth:o,svgPath:s}=e,{id:c,data:l,selectable:u,style:d,interactionWidth:f}=r,{line:p,dir:m,tail:h,head:g}=l,_=u===void 0?!0:u,v=i===void 0?!1:i,y=arrowTypeToMarker(h),b=arrowTypeToMarker(g??`normal`);m===`back`&&([y,b]=[b,y]);let x=y?Ve[y]:null,S=b?Ve[b]:null,C=p===`dotted`,E=C||p===`dashed`,O;C?O=`1,8`:E&&(O=`8,10`);let k,A,j,M,N,P,F,I;if(n[0]!==S||n[1]!==x||n[2]!==c||n[3]!==f||n[4]!==v||n[5]!==a||n[6]!==_||n[7]!==d||n[8]!==s||n[9]!==t){let e=D();n[18]!==f||n[19]!==v||n[20]!==a||n[21]!==_||n[22]!==s?(A=_&&Q(`path`,{className:w(`react-flow__edge-interaction`,T({fill:`none`})),onPointerDown:a,d:s,style:{strokeWidth:f??10,stroke:`currentcolor`,strokeOpacity:0,...v?{display:`none`}:{}}}),n[18]=f,n[19]=v,n[20]=a,n[21]=_,n[22]=s,n[23]=A):A=n[23];let r=`path("${s}")`,i;n[24]===r?i=n[25]:(i={offsetPath:r},n[24]=r,n[25]=i),j=Q(`circle`,{className:w(`likec4-edge-middle-point`,e.middlePoint),"data-edge-id":c,style:i}),P=e.markersCtx,F=a;let o;n[26]!==x||n[27]!==c?(o=x&&Q(x,{id:`start`+c}),n[26]=x,n[27]=c,n[28]=o):o=n[28];let l;n[29]!==S||n[30]!==c?(l=S&&Q(S,{id:`end`+c}),n[29]=S,n[30]=c,n[31]=l):l=n[31],n[32]!==o||n[33]!==l?(I=$(`defs`,{children:[o,l]}),n[32]=o,n[33]=l,n[34]=I):I=n[34],k=Q(`path`,{className:w(`react-flow__edge-path`,`hide-on-reduced-graphics`,e.pathBg,v&&T({display:`none`})),d:s,style:d,strokeLinecap:`round`}),M=t,N=w(`react-flow__edge-path`,e.path,_&&`react-flow__edge-interaction`),n[0]=S,n[1]=x,n[2]=c,n[3]=f,n[4]=v,n[5]=a,n[6]=_,n[7]=d,n[8]=s,n[9]=t,n[10]=k,n[11]=A,n[12]=j,n[13]=M,n[14]=N,n[15]=P,n[16]=F,n[17]=I}else k=n[10],A=n[11],j=n[12],M=n[13],N=n[14],P=n[15],F=n[16],I=n[17];let L=x?`url(#start${c})`:void 0,R=S?`url(#end${c})`:void 0,z;n[35]!==O||n[36]!==o||n[37]!==d||n[38]!==s||n[39]!==L||n[40]!==R||n[41]!==M||n[42]!==N?(z=Q(`path`,{ref:M,className:N,d:s,style:d,strokeWidth:o,strokeLinecap:`round`,strokeDasharray:O,markerStart:L,markerEnd:R}),n[35]=O,n[36]=o,n[37]=d,n[38]=s,n[39]=L,n[40]=R,n[41]=M,n[42]=N,n[43]=z):z=n[43];let B;n[44]!==k||n[45]!==z||n[46]!==P||n[47]!==F||n[48]!==I?(B=$(`g`,{className:P,onPointerDown:F,children:[I,k,z]}),n[44]=k,n[45]=z,n[46]=P,n[47]=F,n[48]=I,n[49]=B):B=n[49];let V;return n[50]!==A||n[51]!==j||n[52]!==B?(V=$(Z,{children:[A,j,B]}),n[50]=A,n[51]=j,n[52]=B,n[53]=V):V=n[53],V});He.displayName=`EdgePath`;const Ue={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 ElementActionButtons(e){let t=X(12),{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;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=A(),t[0]=u):u=t[0];let d=l,f=`${s}-${a}`,p;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(p=w(`nodrag nopan`),t[1]=p):p=t[1];let h;if(t[2]!==i||t[3]!==c){let t9;t[5]===c?t9=t[6]:(t9=(e,t)=>Q(_,{component:ce,className:k({}),initial:!1,whileTap:{scale:1},whileHover:{scale:1.3},tabIndex:-1,onClick:e.onClick,onDoubleClick:stopPropagation,children:e.icon||Q(P,{})},`${c}-${e.key??t}`),t[5]=c,t[6]=t9),h=i.map(t9),t[2]=i,t[3]=c,t[4]=h}else h=t[4];let g;return t[7]!==s||t[8]!==f||t[9]!==h||t[10]!==l?(g=Q(`div`,{className:u,children:Q(K,{layoutRoot:!0,initial:!1,variants:Ue,animate:d,layoutDependency:f,"data-likec4-hovered":s,className:p,onClick:stopPropagation,children:h})}),t[7]=s,t[8]=f,t[9]=h,t[10]=l,t[11]=g):g=t[11],g}const We=q((e,t)=>{let n=X(34),r,i,a,o,s,c,l,u,d;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5],c=n[6],l=n[7],u=n[8],d=n[9]):({value:d,textScale:s,uselikec4palette:c,hideIfEmpty:l,emptyText:u,className:r,style:o,fontSize:i,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s,n[6]=c,n[7]=l,n[8]=u,n[9]=d);let f=s===void 0?1:s,p=c===void 0?!1:c,m=l===void 0?!1:l,h=u===void 0?`no content`:u;if(d.isEmpty&&m)return null;let g;n[10]!==h||n[11]!==d.html||n[12]!==d.isMarkdown||n[13]!==d.nonEmpty||n[14]!==d.text?(g=d.nonEmpty?d.isMarkdown?{dangerouslySetInnerHTML:{__html:d.html}}:{children:Q(`p`,{children:d.text})}:{children:Q(x,{component:`span`,fz:`xs`,c:`dimmed`,style:{userSelect:`none`},children:h})},n[10]=h,n[11]=d.html,n[12]=d.isMarkdown,n[13]=d.nonEmpty,n[14]=d.text,n[15]=g):g=n[15];let _=g,v;n[16]!==r||n[17]!==p||n[18]!==d.isMarkdown?(v=w(M({uselikec4palette:p,value:d.isMarkdown?`markdown`:`plaintext`}),r),n[16]=r,n[17]=p,n[18]=d.isMarkdown,n[19]=v):v=n[19];let y;n[20]===i?y=n[21]:(y=i&&{"--text-fz":`var(--font-sizes-${i}, var(--font-sizes-md))`},n[20]=i,n[21]=y);let b;n[22]===f?b=n[23]:(b=f!==1&&{"--mantine-scale":f},n[22]=f,n[23]=b);let S;n[24]!==o||n[25]!==y||n[26]!==b?(S={...o,...y,...b},n[24]=o,n[25]=y,n[26]=b,n[27]=S):S=n[27];let T;return n[28]!==_||n[29]!==a||n[30]!==t||n[31]!==v||n[32]!==S?(T=Q(C,{...a,ref:t,className:v,style:S,..._}),n[28]=_,n[29]=a,n[30]=t,n[31]=v,n[32]=S,n[33]=T):T=n[33],T});We.displayName=`Markdown`;const resolveIconColor=(e,t)=>{let n=t.style.iconColor;if(!n)return;let r=e.colors(n).elements;return n===t.color?r.stroke:r.fill},Ge=q((e,t)=>{let n=X(28),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:r,style:o,data:i,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s=useLikeC4Styles(),c;n[5]!==i.style||n[6]!==s?(c=i.style.iconSize?s.nodeSizes(i.style).values.iconSize:void 0,n[5]=i.style,n[6]=s,n[7]=c):c=n[7];let l=c,u;n[8]!==i||n[9]!==s?(u=resolveIconColor(s,i),n[8]=i,n[9]=s,n[10]=u):u=n[10];let d=u,f;n[11]!==r||n[12]!==i.style.iconPosition||n[13]!==d?(f=w(r,j({iconPosition:i.style.iconPosition,withIconColor:!!d}),`likec4-element`),n[11]=r,n[12]=i.style.iconPosition,n[13]=d,n[14]=f):f=n[14];let p;n[15]===l?p=n[16]:(p=l&&{"--likec4-icon-size":`${l}px`},n[15]=l,n[16]=p);let m;n[17]===d?m=n[18]:(m=d&&{"--likec4-icon-color":d},n[17]=d,n[18]=m);let h;n[19]!==o||n[20]!==p||n[21]!==m?(h={...o,...p,...m},n[19]=o,n[20]=p,n[21]=m,n[22]=h):h=n[22];let g;return n[23]!==a||n[24]!==t||n[25]!==f||n[26]!==h?(g=Q(`div`,{...a,ref:t,className:f,style:h}),n[23]=a,n[24]=t,n[25]=f,n[26]=h,n[27]=g):g=n[27],g}),Icon=e=>{let t=X(6),n,r;t[0]===e?(n=t[1],r=t[2]):({data:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;return t[3]!==n||t[4]!==r?(i=Q(F,{element:n,...r}),t[3]=n,t[4]=r,t[5]=i):i=t[5],i},Ke=q((e,t)=>{let n=X(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=w(r,`likec4-element-node-content`),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=Q(`div`,{...i,className:a,ref:t}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o}),qe=q((e,t)=>{let n=X(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({data:a,className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let{title:o}=a,s;n[4]===r?s=n[5]:(s=w(r,`likec4-element-title`),n[4]=r,n[5]=s);let c;return n[6]!==i||n[7]!==t||n[8]!==s||n[9]!==o?(c=Q(`div`,{...i,className:s,"data-likec4-node-title":``,ref:t,children:o}),n[6]=i,n[7]=t,n[8]=s,n[9]=o,n[10]=c):c=n[10],c}),Je=q((e,t)=>{let n=X(10),r,a,o,s;n[0]===e?(r=n[1],a=n[2],o=n[3],s=n[4]):({data:o,children:r,className:a,...s}=e,n[0]=e,n[1]=r,n[2]=a,n[3]=o,n[4]=s);let c=o?.technology??r,l;return n[5]!==a||n[6]!==s||n[7]!==t||n[8]!==c?(l=i(c)?Q(`div`,{...s,className:w(a,`likec4-element-technology`),"data-likec4-node-technology":``,ref:t,children:c}):null,n[5]=a,n[6]=s,n[7]=t,n[8]=c,n[9]=l):l=n[9],l}),Ye=q((e,t)=>{let n=X(16),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({data:a,className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let{description:o}=a;if(!o)return null;let s;n[4]===o?s=n[5]:(s=Te.from(o),n[4]=o,n[5]=s);let c=s,l;n[6]===r?l=n[7]:(l=w(r,`likec4-element-description`),n[6]=r,n[7]=l);let u=c.isMarkdown?`8rem`:void 0,d;n[8]===u?d=n[9]:(d={maxHeight:u},n[8]=u,n[9]=d);let f;return n[10]!==c||n[11]!==i||n[12]!==t||n[13]!==l||n[14]!==d?(f=Q(We,{...i,className:l,"data-likec4-node-description":``,value:c,uselikec4palette:!0,hideIfEmpty:!0,style:d,ref:t}),n[10]=c,n[11]=i,n[12]=t,n[13]=l,n[14]=d,n[15]=f):f=n[15],f});function ElementData(e){let t=X(8),{data:n}=e,r;t[0]===n?r=t[1]:(r=Q(Icon,{data:n}),t[0]=n,t[1]=r);let i;t[2]===n?i=t[3]:(i=$(Ke,{children:[Q(qe,{data:n}),Q(Je,{data:n}),Q(Ye,{data:n})]}),t[2]=n,t[3]=i);let a;return t[4]!==n||t[5]!==r||t[6]!==i?(a=$(Ge,{data:n,children:[r,i]}),t[4]=n,t[5]=r,t[6]=i,t[7]=a):a=t[7],a}ElementData.Root=Ge,ElementData.Icon=Icon,ElementData.Content=Ke,ElementData.Title=qe,ElementData.Technology=Je,ElementData.Description=Ye;const Xe={normal:{scale:1},hovered:{scale:1.05},selected:{scale:1.02},tap:{scale:.98}},Ze=q((e,t)=>{let n=X(34),r,i,a,o,s;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5]):({nodeProps:s,className:i,style:o,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s);let{selected:c,selectable:l,data:u}=s,d=c===void 0?!1:c,f=l===void 0?!1:l,p,m,h,g,_;if(n[6]!==d||n[7]!==u){let{hovered:e,dimmed:t,...r}=u;p=r,h=e===void 0?!1:e,m=t===void 0?!1:t;bb0:switch(!0){case h:_=`hovered`;break bb0;case d:_=`selected`;break bb0;default:_=`normal`}g=Ee(p.style??{}),n[6]=d,n[7]=u,n[8]=p,n[9]=m,n[10]=h,n[11]=g,n[12]=_}else p=n[8],m=n[9],h=n[10],g=n[11],_=n[12];let{size:v,padding:y,textSize:b}=g,x;n[13]===i?x=n[14]:(x=w(N(),`group`,i),n[13]=i,n[14]=x);let S;n[15]!==f||n[16]!==_?(S=f&&{animate:_,whileTap:`tap`},n[15]=f,n[16]=_,n[17]=S):S=n[17];let C;n[18]===m?C=n[19]:(C=m!==!1&&{"data-likec4-dimmed":m},n[18]=m,n[19]=C);let T=o,E;return n[20]!==r||n[21]!==p.color||n[22]!==p.shape||n[23]!==h||n[24]!==y||n[25]!==t||n[26]!==a||n[27]!==v||n[28]!==x||n[29]!==S||n[30]!==C||n[31]!==T||n[32]!==b?(E=Q(K,{ref:t,className:x,variants:Xe,initial:!1,...S,"data-likec4-hovered":h,"data-likec4-color":p.color,"data-likec4-shape":p.shape,"data-likec4-shape-size":v,"data-likec4-spacing":y,"data-likec4-text-size":b,...C,style:T,tabIndex:-1,...a,children:r}),n[20]=r,n[21]=p.color,n[22]=p.shape,n[23]=h,n[24]=y,n[25]=t,n[26]=a,n[27]=v,n[28]=x,n[29]=S,n[30]=C,n[31]=T,n[32]=b,n[33]=E):E=n[33],E});Ze.displayName=`ElementNodeContainer`;function cylinderSVGPath(e,t,n=.07){let r=Math.round(e/2),i=r,a=roundDpr(n*r),o=t-2*a;return{path:` M ${e},${a}
|
|
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
2
|
a ${i},${a} 0,0,0 ${-e} 0
|
|
3
3
|
l 0,${o}
|
|
4
4
|
a ${i},${a} 0,0,0 ${e} 0
|
|
5
5
|
l 0,${-o}
|
|
6
6
|
z
|
|
7
|
-
`.replace(/\s+/g,` `).trim(),ry:a,rx:i}}function
|
|
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
8
|
M 0 ${n}
|
|
9
9
|
V 6
|
|
10
10
|
Q 0 0 6 0
|
|
11
11
|
H ${e-6}
|
|
12
12
|
Q ${e} 0 ${e} 6
|
|
13
13
|
V ${n}
|
|
14
|
-
C ${
|
|
15
|
-
`.replace(/\s+/g,` `).trim()}}function
|
|
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
16
|
M ${e},${s}
|
|
17
17
|
a ${r},${i} 0,0,0 ${-e} 0
|
|
18
18
|
L ${l},${c}
|
|
19
19
|
a ${a},${o} 0,0,0 ${a*2} 0
|
|
20
20
|
Z
|
|
21
|
-
`.replace(/\s+/g,` `).trim(),topRx:r,topRy:i,bottomRx:a,bottomRy:o}}function
|
|
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
22
|
M ${a},0
|
|
23
23
|
a ${a},${i} 0,0,0 0 ${r}
|
|
24
24
|
l ${e-2*a},0
|
|
25
25
|
a ${a},${i} 0,0,0 0 ${-r}
|
|
26
|
-
z`.replace(/\s+/g,` `).trim(),ry:i,rx:a}}const Qe={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`},ComponentTopLeftRect=e=>{let t=X(5),{index:n,size:r}=e,i,a,o,s,c;bb0:switch(r){case`xs`:case`sm`:i=40,a=18,o=-16,s=16,c=10;break bb0;case`md`:i=60,a=26,o=-20,s=22,c=14;break bb0;case`lg`:case`xl`:i=70,a=32,o=-24,s=32,c=18;break bb0;default:ye(r)}let l=s+(a+c)*n,u;return t[0]!==a||t[1]!==o||t[2]!==l||t[3]!==i?(u=Q(`rect`,{x:o,y:l,width:i,height:a,rx:3,className:`top-left-rect`,strokeWidth:2}),t[0]=a,t[1]=o,t[2]=l,t[3]=i,t[4]=u):u=t[4],u};function ShapeSvg(e){let t=X(94),{shape:n,w:r,h:i,size:a}=e,o=a===void 0?`md`:a;switch(n){case`component`:{let e;t[0]!==i||t[1]!==r?(e=Q(`rect`,{width:r,height:i,rx:6,strokeWidth:0}),t[0]=i,t[1]=r,t[2]=e):e=t[2];let n,a;t[3]===o?(n=t[4],a=t[5]):(n=Q(ComponentTopLeftRect,{index:0,size:o}),a=Q(ComponentTopLeftRect,{index:1,size:o}),t[3]=o,t[4]=n,t[5]=a);let s;return t[6]!==e||t[7]!==n||t[8]!==a?(s=$(Z,{children:[e,n,a]}),t[6]=e,t[7]=n,t[8]=a,t[9]=s):s=t[9],s}case`mobile`:{let e;t[10]!==i||t[11]!==r?(e=Q(`rect`,{width:r,height:i,rx:6,"data-likec4-fill":`mix-stroke`,strokeWidth:0}),t[10]=i,t[11]=r,t[12]=e):e=t[12];let n=i/2,a;t[13]===n?a=t[14]:(a=Q(`circle`,{cx:17,cy:n,r:12}),t[13]=n,t[14]=a);let o=r-44,s=i-24,c;t[15]!==o||t[16]!==s?(c=Q(`rect`,{x:33,y:12,width:o,height:s,rx:5}),t[15]=o,t[16]=s,t[17]=c):c=t[17];let l;t[18]!==a||t[19]!==c?(l=$(`g`,{"data-likec4-fill":`fill`,strokeWidth:0,children:[a,c]}),t[18]=a,t[19]=c,t[20]=l):l=t[20];let u;return t[21]!==e||t[22]!==l?(u=$(Z,{children:[e,l]}),t[21]=e,t[22]=l,t[23]=u):u=t[23],u}case`document`:{let e;t[24]!==i||t[25]!==r?(e=docSVGPath(r,i),t[24]=i,t[25]=r,t[26]=e):e=t[26];let{path:n}=e,a;return t[27]===n?a=t[28]:(a=Q(`path`,{d:n,"data-likec4-fill":`fill`,strokeWidth:2}),t[27]=n,t[28]=a),a}case`browser`:{let e;t[29]!==i||t[30]!==r?(e=Q(`rect`,{width:r,height:i,rx:6,"data-likec4-fill":`mix-stroke`,strokeWidth:0}),t[29]=i,t[30]=r,t[31]=e):e=t[31];let n,a,o;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(`circle`,{cx:16,cy:17,r:7}),a=Q(`circle`,{cx:36,cy:17,r:7}),o=Q(`circle`,{cx:56,cy:17,r:7}),t[32]=n,t[33]=a,t[34]=o):(n=t[32],a=t[33],o=t[34]);let s=r-80,c;t[35]===s?c=t[36]:(c=Q(`rect`,{x:70,y:8,width:s,height:17,rx:4}),t[35]=s,t[36]=c);let l=r-20,u=i-42,d;t[37]!==l||t[38]!==u?(d=Q(`rect`,{x:10,y:32,width:l,height:u,rx:4}),t[37]=l,t[38]=u,t[39]=d):d=t[39];let f;t[40]!==d||t[41]!==c?(f=$(`g`,{"data-likec4-fill":`fill`,strokeWidth:0,children:[n,a,o,c,d]}),t[40]=d,t[41]=c,t[42]=f):f=t[42];let p;return t[43]!==f||t[44]!==e?(p=$(Z,{children:[e,f]}),t[43]=f,t[44]=e,t[45]=p):p=t[45],p}case`person`:{let e;t[46]!==i||t[47]!==r?(e=Q(`rect`,{width:r,height:i,rx:6,strokeWidth:0}),t[46]=i,t[47]=r,t[48]=e):e=t[48];let n=r-Qe.width-6,a=i-Qe.height,o;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(o=Q(`path`,{strokeWidth:0,d:Qe.path}),t[49]=o):o=t[49];let s;t[50]!==n||t[51]!==a?(s=Q(`svg`,{x:n,y:a,width:Qe.width,height:Qe.height,viewBox:`0 0 ${Qe.width} ${Qe.height}`,"data-likec4-fill":`mix-stroke`,children:o}),t[50]=n,t[51]=a,t[52]=s):s=t[52];let c;return t[53]!==e||t[54]!==s?(c=$(Z,{children:[e,s]}),t[53]=e,t[54]=s,t[55]=c):c=t[55],c}case`queue`:{let e;t[56]!==i||t[57]!==r?(e=queueSVGPath(r,i),t[56]=i,t[57]=r,t[58]=e):e=t[58];let{path:n,rx:a,ry:o}=e,s;t[59]===n?s=t[60]:(s=Q(`path`,{d:n,strokeWidth:2}),t[59]=n,t[60]=s);let c=o-.75,l;t[61]!==a||t[62]!==o||t[63]!==c?(l=Q(`ellipse`,{cx:a,cy:o,ry:c,rx:a,"data-likec4-fill":`mix-stroke`,strokeWidth:2}),t[61]=a,t[62]=o,t[63]=c,t[64]=l):l=t[64];let u;return t[65]!==s||t[66]!==l?(u=$(Z,{children:[s,l]}),t[65]=s,t[66]=l,t[67]=u):u=t[67],u}case`bucket`:{let e;t[68]!==i||t[69]!==r?(e=bucketSVGPath(r,i),t[68]=i,t[69]=r,t[70]=e):e=t[70];let{path:n,topRx:a,topRy:o}=e,s;t[71]===n?s=t[72]:(s=Q(`path`,{d:n,strokeWidth:2}),t[71]=n,t[72]=s);let c=r/2,l;t[73]!==c||t[74]!==a||t[75]!==o?(l=Q(`ellipse`,{cx:c,cy:o,rx:a,ry:o,"data-likec4-fill":`mix-stroke`,strokeWidth:2}),t[73]=c,t[74]=a,t[75]=o,t[76]=l):l=t[76];let u;return t[77]!==s||t[78]!==l?(u=$(Z,{children:[s,l]}),t[77]=s,t[78]=l,t[79]=u):u=t[79],u}case`storage`:case`cylinder`:{let e;t[80]!==i||t[81]!==r?(e=cylinderSVGPath(r,i),t[80]=i,t[81]=r,t[82]=e):e=t[82];let{path:n,rx:a,ry:o}=e,s;t[83]===n?s=t[84]:(s=Q(`path`,{d:n,strokeWidth:2}),t[83]=n,t[84]=s);let c=a-.75,l;t[85]!==a||t[86]!==o||t[87]!==c?(l=Q(`ellipse`,{cx:a,cy:o,ry:o,rx:c,"data-likec4-fill":`mix-stroke`,strokeWidth:2}),t[85]=a,t[86]=o,t[87]=c,t[88]=l):l=t[88];let u;return t[89]!==s||t[90]!==l?(u=$(Z,{children:[s,l]}),t[89]=s,t[90]=l,t[91]=u):u=t[91],u}default:{let e;return t[92]===n?e=t[93]:(e=ye(n),t[92]=n,t[93]=e),e}}}function ShapeSvgOutline(e){let t=X(25),{shape:n,w:r,h:i}=e,a;bb0:switch(n){case`bucket`:{let e=r+6,n=i+6,o;t[0]!==e||t[1]!==n?(o=bucketSVGPath(e,n),t[0]=e,t[1]=n,t[2]=o):o=t[2];let s;t[3]===o.path?s=t[4]:(s=Q(`g`,{transform:`translate(-3 -3)`,children:Q(`path`,{d:o.path})}),t[3]=o.path,t[4]=s),a=s;break bb0}case`queue`:{let e=r+6,n=i+6,o;t[5]!==e||t[6]!==n?(o=queueSVGPath(e,n),t[5]=e,t[6]=n,t[7]=o):o=t[7];let s;t[8]===o.path?s=t[9]:(s=Q(`g`,{transform:`translate(-3 -3)`,children:Q(`path`,{d:o.path})}),t[8]=o.path,t[9]=s),a=s;break bb0}case`document`:{let e=r+6,n=i+6,o;t[10]!==e||t[11]!==n?(o=docSVGPath(e,n),t[10]=e,t[11]=n,t[12]=o):o=t[12];let s;t[13]===o.path?s=t[14]:(s=Q(`g`,{transform:`translate(-3 -3)`,children:Q(`path`,{d:o.path})}),t[13]=o.path,t[14]=s),a=s;break bb0}case`storage`:case`cylinder`:{let e=r+6,n=i+6,o;t[15]!==e||t[16]!==n?(o=cylinderSVGPath(e,n),t[15]=e,t[16]=n,t[17]=o):o=t[17];let s;t[18]===o.path?s=t[19]:(s=Q(`g`,{transform:`translate(-3 -3)`,children:Q(`path`,{d:o.path})}),t[18]=o.path,t[19]=s),a=s;break bb0}default:{let e=r+6,n=i+6,o;t[20]!==e||t[21]!==n?(o=Q(`rect`,{x:-3,y:-3,width:e,height:n,rx:8}),t[20]=e,t[21]=n,t[22]=o):o=t[22],a=o}}let o;return t[23]===a?o=t[24]:(o=Q(`g`,{className:`likec4-shape-outline`,children:a}),t[23]=a,t[24]=o),o}function ElementShape(e){let t=X(38),{data:n,width:r,height:i,showSelectionOutline:a}=e,o=a===void 0?!0:a,s=r&&r>10?r:n.width,c=i&&i>10?i:n.height,l=n.style?.multiple??!1,u=n.style?.border??`none`,d=u!==`none`;if(n.shape===`rectangle`){let e;t[0]===u?e=t[1]:(e={borderStyle:u},t[0]=u,t[1]=e);let n;t[2]!==o||t[3]!==d?(n=E({shapetype:`html`,withBorder:d,withOutline:o}),t[2]=o,t[3]=d,t[4]=n):n=t[4];let r;t[5]===l?r=t[6]:(r=l&&Q(`div`,{className:`likec4-shape-multiple`}),t[5]=l,t[6]=r);let i;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(i=Q(`div`,{className:`likec4-shape-outline`}),t[7]=i):i=t[7];let a;return t[8]!==e||t[9]!==n||t[10]!==r?(a=$(`div`,{style:e,className:n,children:[r,i]}),t[8]=e,t[9]=n,t[10]=r,t[11]=a):a=t[11],a}let f;t[12]===o?f=t[13]:(f=E({shapetype:`svg`,withOutline:o}),t[12]=o,t[13]=f);let p=f,m;t[14]!==p||t[15]!==n.shape||t[16]!==n.style?.size||t[17]!==c||t[18]!==l||t[19]!==s?(m=l&&Q(`svg`,{className:p,"data-likec4-shape-multiple":`true`,viewBox:`0 0 ${s} ${c}`,children:Q(ShapeSvg,{shape:n.shape,size:n.style?.size,w:s,h:c})}),t[14]=p,t[15]=n.shape,t[16]=n.style?.size,t[17]=c,t[18]=l,t[19]=s,t[20]=m):m=t[20];let h=`0 0 ${s} ${c}`,g;t[21]!==n.shape||t[22]!==c||t[23]!==s?(g=Q(ShapeSvgOutline,{shape:n.shape,w:s,h:c}),t[21]=n.shape,t[22]=c,t[23]=s,t[24]=g):g=t[24];let _=n.style?.size,v;t[25]!==n.shape||t[26]!==c||t[27]!==_||t[28]!==s?(v=Q(ShapeSvg,{shape:n.shape,size:_,w:s,h:c}),t[25]=n.shape,t[26]=c,t[27]=_,t[28]=s,t[29]=v):v=t[29];let y;t[30]!==p||t[31]!==h||t[32]!==g||t[33]!==v?(y=$(`svg`,{className:p,viewBox:h,children:[g,v]}),t[30]=p,t[31]=h,t[32]=g,t[33]=v,t[34]=y):y=t[34];let b;return t[35]!==m||t[36]!==y?(b=$(Z,{children:[m,y]}),t[35]=m,t[36]=y,t[37]=b):b=t[37],b}const isSame=(e,t)=>Math.abs(e-t)<2.5,edgePropsEqual=(e,t)=>e.id===t.id&&W(e.selected??!1,t.selected??!1)&&W(e.animated??!1,t.animated??!1)&&W(e.source,t.source)&&W(e.target,t.target)&&isSame(e.sourceX,t.sourceX)&&isSame(e.sourceY,t.sourceY)&&isSame(e.targetX,t.targetX)&&isSame(e.targetY,t.targetY)&&W(e.sourceHandleId??null,t.sourceHandleId??null)&&W(e.targetHandleId??null,t.targetHandleId??null)&&W(e.sourcePosition,t.sourcePosition)&&W(e.targetPosition,t.targetPosition)&&W(e.data,t.data);function memoEdge(e){let t=fe(e,edgePropsEqual);return t.displayName=`MemoEdge(${e.displayName||e.name})`,t}function DefaultHandles(e){let t=X(7),{direction:n}=e,r=n===void 0?`TB`:n,i,a;bb0:switch(r){case`TB`:i=R.Bottom,a=R.Top;break bb0;case`BT`:i=R.Top,a=R.Bottom;break bb0;case`LR`:i=R.Right,a=R.Left;break bb0;case`RL`:i=R.Left,a=R.Right;break bb0;default:ye(r)}let o;t[0]===i?o=t[1]:(o=Q(z,{type:`source`,position:i,className:`likec4-node-handle-center`}),t[0]=i,t[1]=o);let s;t[2]===a?s=t[3]:(s=Q(z,{type:`target`,position:a,className:`likec4-node-handle-center`}),t[2]=a,t[3]=s);let c;return t[4]!==o||t[5]!==s?(c=$(Z,{children:[o,s]}),t[4]=o,t[5]=s,t[6]=c):c=t[6],c}const $e=q((e,t)=>{let n=X(5),r,i;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=Q(`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`}),i=Q(`path`,{className:T({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`}),n[0]=r,n[1]=i):(r=n[0],i=n[1]);let a;return n[2]!==e||n[3]!==t?(a=$(`svg`,{ref:t,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 222 56`,...e,children:[r,i]}),n[2]=e,n[3]=t,n[4]=a):a=n[4],a}),et=q((e,t)=>{let n=X(4),r;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=Q(`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`}),n[0]=r):r=n[0];let i;return n[1]!==e||n[2]!==t?(i=Q(`svg`,{ref:t,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 56 56`,...e,children:r}),n[1]=e,n[2]=t,n[3]=i):i=n[3],i}),scheme=e=>`[data-mantine-color-scheme="${e}"]`,tt=scheme(`dark`),generateCompoundColors=(e,t,n,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
27
|
${`${e} :is([data-likec4-color="${t}"][data-compound-depth="${r}"])`} {
|
|
28
28
|
--likec4-palette-fill: ${n.fill};
|
|
29
29
|
--likec4-palette-stroke: ${n.stroke};
|
|
30
30
|
}
|
|
31
|
-
`;function
|
|
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
32
|
${s} {
|
|
33
33
|
--likec4-palette-fill: ${a.fill};
|
|
34
34
|
--likec4-palette-stroke: ${a.stroke};
|
|
@@ -39,10 +39,10 @@ ${s} {
|
|
|
39
39
|
--likec4-palette-relation-label-bg: ${o.labelBg};
|
|
40
40
|
--likec4-palette-relation-stroke-selected: oklch(from ${o.line} calc(l - 0.15) c h);
|
|
41
41
|
}
|
|
42
|
-
${
|
|
42
|
+
${Jn} ${s} {
|
|
43
43
|
--likec4-palette-relation-stroke-selected: oklch(from ${o.line} calc(l + 0.15) c h);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
`,...e.colorsForCompounds(a,5).map((e,t)=>
|
|
47
|
-
`)}function
|
|
48
|
-
`))}function
|
|
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};
|
|
@@ -0,0 +1 @@
|
|
|
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 +1 @@
|
|
|
1
|
-
import
|
|
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 +1 @@
|
|
|
1
|
-
import
|
|
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 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime.mjs";import{A as t,G as n,J as r,Y as i,c as a,g as o,i as s,l as c,q as l,v as u,y as d}from"./libs/remeda.mjs";import{dt as f,st as p,ut as m,xt as h}from"./libs/@mantine/core.mjs";import{A as g,C as _,D as v,E as y,M as ee,N as b,_ as te,j as ne,x}from"./styled-system.mjs";import{d as re,q as ie}from"./libs/@tabler/icons-react.mjs";import{r as S,t as ae}from"./IconRenderer.mjs";import{s as oe}from"./libs/@xyflow/react.mjs";import{A as se,C as ce,S as le,b as C,n as ue,q as w,t as de,x as fe}from"./LikeC4Styles.mjs";import{n as pe}from"./useUpdateEffect.mjs";import{D as me,O as he,T as ge,n as _e,t as ve,v as ye,y as be}from"./DiagramActorProvider.mjs";import{mr as xe}from"./libs/framer-motion.mjs";import{n as T,r as E,t as D}from"./libs/@xstate/react.mjs";import{o as Se}from"./libs/@zag-js/core.mjs";import{n as Ce,t as we}from"./libs/@zag-js/react.mjs";import{n as O,t as k}from"./libs/@xstate/store.mjs";import{n as Te,r as Ee,t as De}from"./libs/@zag-js/tree-view.mjs";import{Profiler as Oe,Suspense as ke,createContext as A,memo as j,useContext as M,useDeferredValue as Ae,useEffect as N,useMemo as P,useRef as F,useState as je}from"react";import{c as I}from"react/compiler-runtime";import{jsx as L,jsxs as R}from"react/jsx-runtime";import{ModelFqnExpr as z,nonNullable as Me}from"@likec4/core";import{compareNaturalHierarchically as Ne,difference as B,invariant as V,nonexhaustive as Pe,objectHash as Fe,stringHash as Ie,toArray as Le,toSet as H}from"@likec4/core/utils";const Re=ne({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`}}),ze=b.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}}),U=b.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:Be,withContext:W}=v(g({slots:[`branch`,`item`,`control`,`state`,`icon`,`label`,`content`,`indicator`],base:{branch:{},item:{...U},control:{...U},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:{...ze},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:{}})),Ve=Be(`div`),He=W(`div`,`branch`),Ue=W(`div`,`item`,{forwardProps:[],defaultProps:{className:`group`}}),We=W(`div`,`control`,{forwardProps:[],defaultProps:{className:`group`}}),ElementState=e=>{let t=I(13),n,r,i,a;if(t[0]!==e){let{node:o,state:s,onClick:c,className:l,...u}=e;a=s,r=c,n=l,i=u,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a}else n=t[1],r=t[2],i=t[3],a=t[4];let o;t[5]!==n||t[6]!==a?(o=ee(n,`mantine-active`,Re({state:a})),t[5]=n,t[6]=a,t[7]=o):o=t[7];let s=o,c;return t[8]!==s||t[9]!==r||t[10]!==i||t[11]!==a?(c=L(`div`,{...i,onClick:r,className:s,children:a}),t[8]=s,t[9]=r,t[10]=i,t[11]=a,t[12]=c):c=t[12],c},G={Root:Ve,Branch:He,Item:Ue,Control:We,State:W(ElementState,`state`,{forwardProps:[`node`,`state`,`onClick`,`className`]}),Icon:W(ae,`icon`,{forwardProps:[`element`,`className`]}),Label:W(`div`,`label`,{forwardProps:[]}),Content:W(`div`,`content`,{forwardProps:[]}),Indicator:W(ie,`indicator`,{forwardProps:[],defaultProps:{size:14}})},K=A(null),Ge=K.Provider;function useAdhocEditorActor(){let e=I(2),t=M(K),n;return e[0]===t?n=e[1]:(n=Me(t,`No AdhocEditorActorContext`),e[0]=t,e[1]=n),n}const Ke={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:``},selectView=({context:e})=>e.view??Ke;function useAdhocView(){return(0,D.useSelector)(useAdhocEditorActor(),selectView)}function getElementState(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 mapToTreeNodes(e,t){return Le(e).map(e=>({id:e.id,title:e.title,shape:e.shape,icon:e.icon??void 0,children:mapToTreeNodes(e.children(),t),state:getElementState(e.id,t)}))}function createTreeCollection(e,t){return De({rootNode:{id:`@ROOT`,title:``,shape:`rectangle`,icon:void 0,children:mapToTreeNodes(e.roots(),t),state:`not-present`},nodeToValue(e){return e.id},nodeToString(e){return e.title},nodeToChildren(e){return e.children},isNodeDisabled(){return!1}})}const qe=selectEditorPanelState(e=>({searchInput:e.searchInput.length>2?e.searchInput.toLowerCase():``,collection:e.collection}),(e,t)=>e?.searchInput===t.searchInput&&e?.collection.isEqual(t.collection));function useElementsTree(){let e=I(21),{searchInput:t,collection:n}=useEditorPanelState(qe),i=Ae(t),a;bb0:{if(!i){a=n;break bb0}let t;if(e[0]!==n||e[1]!==i){let t2;e[3]===i?t2=e[4]:(t2=e=>e.title.toLowerCase().includes(i),e[3]=i,e[4]=t2),t=n.filter(t2),e[0]=n,e[1]=i,e[2]=t}else t=e[2];a=t}let o=a,c;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=[],e[5]=c):c=e[5];let[u,d]=je(c),t2;e[6]!==n||e[7]!==o?(t2=()=>{o!==n&&d(e=>{let t=r(o.getBranchValues(),e);return l(t,1)?s([...e,...t],Ne()):e})},e[6]=n,e[7]=o,e[8]=t2):t2=e[8];let f;e[9]===o?f=e[10]:(f=[o],e[9]=o,e[10]=f),N(t2,f);let p=C(),m,h;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(m=[],h=[],e[11]=m,e[12]=h):(m=e[11],h=e[12]);let g;e[13]!==u||e[14]!==o||e[15]!==p?(g={id:p,collection:o,defaultCheckedValue:m,defaultSelectedValue:h,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]=o,e[15]=p,e[16]=g):g=e[16];let _=Ce(Ee,g);_.context.get(`focusedValue`)?.slice;let v;e[17]===_?v=e[18]:(v=Te(_,we),e[17]=_,e[18]=v);let y=v,t9;return e[19]===y?t9=e[20]:(t9=()=>{let e=y.collection.getFirstNode()?.id;e&&y.focus(e)},e[19]=y,e[20]=t9),useOnEditorPanelEvent(`inputKeyDown`,t9),y}function deriveElementStates({rules:e,view:r}){let a=new Set(r?r.nodes.map(e=>e.modelRef??null).filter(t):[]),o=i(e,n(e=>e.type===`include`&&e.enabled),u(e=>e.expr.ref.model),H()),s=i(e,n(e=>e.type===`exclude`&&e.enabled),u(e=>e.expr.ref.model),H());return{disabled:i(e,n(e=>!e.enabled),u(e=>e.expr.ref.model),H()),includedExplicit:o,includedImplicit:B(a,o),excluded:B(s,a)}}const createEditorPanelStore=({initial:e,sideEffects:t})=>(0,O.createStore)({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}}}),q=A(null),EditorPanelStoreProvider=e=>{let t=be(),n=F(t);n.current=t;let r=useAdhocEditorActor(),i=P(()=>createEditorPanelStore({initial:createTreeCollection(t),sideEffects:{onElementStateClick({id:e}){r.send({type:`toggle.element`,id:e})}}}),[r]);return pe(()=>{i.trigger.modelUpdate({collection:createTreeCollection(t,deriveElementStates(r.getSnapshot().context))})},[t]),N(()=>{let e=r.on(`view.update`,()=>{i.trigger.modelUpdate({collection:createTreeCollection(n.current,deriveElementStates(r.getSnapshot().context))})});return()=>{e.unsubscribe()}},[r]),L(q.Provider,{value:i,children:e.children})};function selectEditorPanelState(e,t){return[t=>e(t.context),t??O.shallowEqual]}function useEditorPanelStore(){return M(q)}function useEditorPanelState(...e){let t=I(4),n=e,r=useEditorPanelStore(),i,a;if(n.length===2)[i,a]=n;else if(n.length===1&&Array.isArray(n[0])&&l(n[0],2))[i,a]=n[0];else if(n.length===1&&Array.isArray(n[0])&&l(n[0],1)){let e=n[0],r;t[0]===e?r=t[1]:(r=[e,O.shallowEqual],t[0]=e,t[1]=r),[i,a]=r}else if(n.length===1&&typeof n[0]==`function`){let e=n[0],r;t[2]===e?r=t[3]:(r=[e,O.shallowEqual],t[2]=e,t[3]=r),[i,a]=r}else throw Error(`Invalid arguments for useEditorPanelState`);return(0,k.useSelector)(r,i,a)}function useOnEditorPanelEvent(...e){let t=I(7),n=e,r=useEditorPanelStore(),i=n[0],a=w(n[1]),t1;t[0]!==i||t[1]!==a||t[2]!==r?(t1=()=>{let e=r.on(i,a);return()=>{e.unsubscribe()}},t[0]=i,t[1]=a,t[2]=r,t[3]=t1):t1=t[3];let o;t[4]!==i||t[5]!==r?(o=[i,r],t[4]=i,t[5]=r,t[6]=o):o=t[6],N(t1,o)}function useEditorPanelTrigger(...e){let t=useEditorPanelStore();if(e.length===0)return t.trigger;let n=e[0];return w((...e)=>{n(t.trigger,...e)})}const Je=j(()=>{let e=I(20),t=useElementsTree(),t0;e[0]===t?t0=e[1]:(t0=(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]=t0);let n=useEditorPanelTrigger(t0),r;if(e[2]!==t){let t2;e[4]===t.selectedValue?t2=e[5]:(t2=e=>{bb32:switch(e.key){case`Escape`:{let t=document.getElementById(`search-input`);t&&(e.stopPropagation(),e.preventDefault(),t.focus());break bb32}case`ArrowUp`:console.log(`ArrowUp`,{selected:t.selectedValue});break bb32;default:console.log(e.key);return}},e[4]=t.selectedValue,e[5]=t2),r=Se(t.getRootProps(),{onKeyDown:t2}),e[2]=t,e[3]=r}else r=e[3];let i=r,a;e[6]===t?a=e[7]:(a=t.getTreeProps(),e[6]=t,e[7]=a);let o;e[8]!==t||e[9]!==n?(o=t.collection.rootNode.children.map((e,r)=>L(TreeNode,{node:e,api:t,onClick:n},e.id)),e[8]=t,e[9]=n,e[10]=o):o=e[10];let s;e[11]===t.collection?s=e[12]:(s=!t.collection.getFirstNode()&&L(y,{css:{p:`4`,textAlign:`center`},children:`Nothing found`}),e[11]=t.collection,e[12]=s);let c;e[13]!==a||e[14]!==o||e[15]!==s?(c=R(G.Root,{...a,children:[o,s]}),e[13]=a,e[14]=o,e[15]=s,e[16]=c):c=e[16];let l;return e[17]!==i||e[18]!==c?(l=L(h,{flex:`1 1 100%`,scrollbars:`y`,type:`scroll`,scrollbarSize:`4px`,...i,children:c}),e[17]=i,e[18]=c,e[19]=l):l=e[19],l}),TreeNode=e=>{let t=I(29),{api:n,node:r,onClick:i}=e,a=n.collection,o,s,c,l,u,d;if(t[0]!==n||t[1]!==r||t[2]!==i){d=Symbol.for(`react.early_return_sentinel`);bb0:{let e=a.getIndexPath(r.id);V(e,`Node not found in collection`);let f={indexPath:e,node:r},p=n.getNodeState(f);if(p.isBranch){let e;t[9]===r?e=t[10]:(e=L(G.Icon,{element:r}),t[9]=r,t[10]=e);let a;t[11]!==r||t[12]!==i?(a=L(G.State,{node:r,state:r.state,onClick:i}),t[11]=r,t[12]=i,t[13]=a):a=t[13],d=R(G.Branch,{...n.getBranchProps(f),children:[R(G.Control,{...n.getBranchControlProps(f),children:[e,R(G.Label,{...n.getBranchTextProps(f),children:[r.title,L(G.Indicator,{...n.getBranchIndicatorProps(f)})]}),a]}),L(G.Content,{...n.getBranchContentProps(f),children:p.expanded&&r.children.map((e,t)=>L(TreeNode,{node:e,api:n,onClick:i},e.id))})]});break bb0}s=G.Item,l=n.getItemProps(f),t[14]===r?u=t[15]:(u=L(G.Icon,{element:r}),t[14]=r,t[15]=u),o=G.Label,c=n.getItemTextProps(f)}t[0]=n,t[1]=r,t[2]=i,t[3]=o,t[4]=s,t[5]=c,t[6]=l,t[7]=u,t[8]=d}else o=t[3],s=t[4],c=t[5],l=t[6],u=t[7],d=t[8];if(d!==Symbol.for(`react.early_return_sentinel`))return d;let f;t[16]!==o||t[17]!==r.title||t[18]!==c?(f=L(o,{...c,children:r.title}),t[16]=o,t[17]=r.title,t[18]=c,t[19]=f):f=t[19];let p;t[20]!==r||t[21]!==i?(p=L(G.State,{node:r,state:r.state,onClick:i}),t[20]=r,t[21]=i,t[22]=p):p=t[22];let m;return t[23]!==s||t[24]!==l||t[25]!==u||t[26]!==f||t[27]!==p?(m=R(s,{...l,children:[u,f,p]}),t[23]=s,t[24]=l,t[25]=u,t[26]=f,t[27]=p,t[28]=m):m=t[28],m},EditorPanel=()=>{let e=I(6),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={position:`fixed`,top:`0`,left:`0`,gap:`1`,bottom:`0`,height:`auto`,overflow:`hidden`,layerStyle:`likec4.panel`,width:`[300px]`,rounded:`0`},e[0]=t):t=e[0];let n,r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=L(ue,{style:{height:16}}),r=L(te,{size:`sm`,fontWeight:`medium`,flex:`1`,children:`Explore`}),e[1]=n,e[2]=r):(n=e[1],r=e[2]);let i;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=R(x,{p:`2`,gap:`4`,justifyItems:`stretch`,children:[n,r,L(x,{gap:`1`,children:L(f,{children:L(re,{})})})]}),e[3]=i):i=e[3];let a;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=L(y,{children:L(SearchInput,{})}),e[4]=a):a=e[4];let o;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=L(EditorPanelStoreProvider,{children:L(xe,{mode:`popLayout`,children:R(_,{css:t,onClick:_temp,children:[i,a,L(ke,{children:L(Je,{})})]})})}),e[5]=o):o=e[5],o},Ye=selectEditorPanelState(a(`searchInput`));function SearchInput(){let e=I(13),t=useEditorPanelState(Ye),n=useEditorPanelTrigger(),r=useEditorPanelTrigger(_temp2),i=useEditorPanelTrigger(_temp3),a=t?void 0:`none`,o;e[0]===a?o=e[1]:(o={display:a},e[0]=a,e[1]=o);let s;e[2]!==i||e[3]!==o?(s=L(m,{size:`sm`,"aria-label":`Clear input`,onClick:i,style:o}),e[2]=i,e[3]=o,e[4]=s):s=e[4];let t3;e[5]!==i||e[6]!==n?(t3=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]=t3):t3=e[7];let c;return e[8]!==t||e[9]!==r||e[10]!==s||e[11]!==t3?(c=L(y,{children:L(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:s,onKeyDownCapture:t3})}),e[8]=t,e[9]=r,e[10]=s,e[11]=t3,e[12]=c):c=e[12],c}function _temp3(e){e.inputChange({value:``})}function _temp2(e,t){e.inputChange({value:t.currentTarget.value})}function _temp(e){e.stopPropagation();let t=document.getElementById(`search-input`);t&&t.focus()}E();function ruleToPredicate(e){return e.type===`include`?{include:[e.expr]}:{exclude:[e.expr]}}const J=(0,T.setup)({types:{context:{},tags:``,events:{},emitted:{}},actors:{service:{}},guards:{hasView:({context:e})=>e.view!==null}});function createContext$1(){return{view:null,error:void 0,rules:[]}}e(createContext$1,`createContext`),E();const Y={idle:{target:`#layouter-idle`},call:{target:`#layouter-call`}},Xe=J.createStateConfig({id:Y.idle.target.substring(1),entry:(0,T.log)(`entry idle ->`),exit:(0,T.log)(` -> idle exit `),on:{layout:{...Y.call}}}),emitViewUpdate=()=>J.emit({type:`view.update`}),X=c(n(e=>e.enabled),u(ruleToPredicate)),Ze=J.createStateConfig({id:Y.call.target.substring(1),entry:(0,T.log)(`entry call ->`),exit:(0,T.log)(` -> call exit `),invoke:{src:`service`,input:({context:e})=>({predicates:X(e.rules)}),onDone:{actions:[(0,T.assign)({view:({context:e,event:t})=>{let n=Fe(X(e.rules));return{...t.output.view,hash:n,id:n}},error:void 0}),(0,T.emit)({type:`view.update`})],...Y.idle},onError:{actions:[(0,T.log)(({event:e})=>`error: ${e.error}`),(0,T.assign)({error:({event:e})=>`${e.error}`})],...Y.idle}}}),Qe=J.createStateConfig({initial:`idle`,states:{idle:Xe,call:Ze}});E();const Z={idle:{target:`#idle`},selecting:{target:`#selecting`},layouting:{target:`#layouting`}};function nextId({rules:e},t=``){return Ie((e.at(-1)?.id??new Date().toISOString())+t)}const isRuleOf=e=>t=>z.isModelRef(t.expr)&&t.expr.ref.model===e,isIncludeOf=e=>t=>t.type===`include`&&z.isModelRef(t.expr)&&t.expr.ref.model===e,isExcludeOf=e=>t=>t.type===`exclude`&&z.isModelRef(t.expr)&&t.expr.ref.model===e;function deriveElementState(e,{rules:t,view:n}){let r=t.find(isRuleOf(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(isIncludeOf(e)),o=t.find(isExcludeOf(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 V(i===!1,`Element not in view should not be included or excluded by any rule`),{state:`not-present`,ruleId:void 0}}}const enableRule=e=>J.assign(({context:t})=>({rules:t.rules.map(t=>t.id===e&&!t.enabled?{...t,enabled:!0}:t)})),addElementRules=(e,t)=>J.assign(({context:n})=>({rules:[...n.rules,{id:nextId(n,t+e),expr:{ref:{model:e}},enabled:!0,type:t}]})),removeElementRules=e=>J.assign(({context:t})=>{let n=isRuleOf(e);return{rules:t.rules.filter(e=>!n(e))}}),toggleElement=()=>J.enqueueActions(({context:e,event:t,enqueue:n})=>{(0,T.assertEvent)(t,`toggle.element`);let r=isRuleOf(t.id),i=d(e.rules);if(i&&r(i)){n.assign({rules:e.rules.slice(0,-1)});return}let a=deriveElementState(t.id,e);switch(a.state){case`disabled`:n(enableRule(a.ruleId));break;case`not-present`:n(removeElementRules(t.id)),n(addElementRules(t.id,`include`));break;case`include-implicit`:n(removeElementRules(t.id)),n(addElementRules(t.id,`exclude`));break;case`include-explicit`:case`exclude`:n(removeElementRules(t.id));break;default:Pe(a)}}),toggleRule=()=>J.assign(({context:e,event:t})=>((0,T.assertEvent)(t,`toggle.rule`),{rules:e.rules.map(e=>e.id===t.ruleId?{...e,enabled:!e.enabled}:e)})),deleteRule=()=>J.assign(({context:e,event:t})=>((0,T.assertEvent)(t,`delete.rule`),{rules:e.rules.filter(e=>e.id!==t.ruleId)})),scheduleLayout=()=>J.raise({type:`layout`}),Q=J.createStateConfig({id:`idle`,on:{"select.open":{...Z.selecting},"toggle.rule":{actions:toggleRule(),...Z.layouting},"delete.rule":{actions:deleteRule(),...Z.layouting}}}),$e=J.createStateConfig({id:`selecting`,on:{"toggle.element":{actions:[toggleElement(),emitViewUpdate(),scheduleLayout()]},"select.close":{...Z.idle}}}),et=J.createStateConfig({id:`layouting`,always:{actions:scheduleLayout(),...Z.idle}}),tt=J.createStateConfig({initial:`selecting`,states:{idle:Q,selecting:$e,layouting:et}}),nt=J.createMachine({id:`adhoc-editor`,context:createContext$1,type:`parallel`,states:{layouter:Qe,editor:tt}});E();const $={read:()=>JSON.parse(sessionStorage.getItem(`adhoc-editor-state`)||`null`)??void 0,write:e=>sessionStorage.setItem(`adhoc-editor-state`,JSON.stringify(e))};function AdhocEditorActorProvider({children:e,service:t}){let n=F(t);n.current=t;let r=P(()=>({actors:{service:(0,T.fromPromise)(({input:e})=>n.current.process(e))}}),[]),i=(0,D.useActorRef)(nt.provide(r),{id:`adhoc-editor`,snapshot:$.read(),systemId:`adhoc-editor`,inspect:e=>{console.log(`[AdhocEditorActor]`,e)}});return N(()=>{let e=i.subscribe(e=>{$.write(e)});return()=>e.unsubscribe()},[i]),L(Ge,{value:i,children:e})}const noop=()=>{},rt={...o(me,()=>!1),enableFitView:!0,enableReadOnly:!0};function LikeC4AdHocViewEditor({service:e}){let t=C(),n=F({fitView:!0,defaultNodes:[],defaultEdges:[]});return L(le,{children:L(fe,{children:L(Oe,{id:`LikeC4AdHocViewEditor`,onRender:noop,children:L(S,{value:null,children:L(AdhocEditorActorProvider,{service:e,children:R(he,{features:rt,children:[L(de,{id:t}),L(ye,{rootSelector:`#${t}`,children:L(ce,{id:t,children:R(oe,{...n.current,children:[L(it,{id:t}),L(EditorPanel,{})]})})})]})})})})})})}const it=j(e=>{let t=I(5),{id:n}=e,r=useAdhocView(),i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=L(_e,{}),a=L(at,{}),t[0]=i,t[1]=a):(i=t[0],a=t[1]);let o;return t[2]!==n||t[3]!==r?(o=R(ve,{id:n,view:r,zoomable:!0,pannable:!0,fitViewPadding:se.withControls,nodesDraggable:!1,nodesSelectable:!0,children:[i,a]}),t[2]=n,t[3]=r,t[4]=o):o=t[4],o}),at=j(()=>{let e=I(4),t=useAdhocEditorActor(),n=ge(),t0,r;return e[0]!==t||e[1]!==n?(t0=()=>{let e=t.on(`click.element`,e=>{let{id:t}=e;n.focusOnElement(t)});return()=>e.unsubscribe()},r=[t,n],e[0]=t,e[1]=n,e[2]=t0,e[3]=r):(t0=e[2],r=e[3]),N(t0,r),null});export{LikeC4AdHocViewEditor};
|
|
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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as e,r as t}from"./libs/@mantine/core.mjs";import{t as n}from"./txt.mjs";import{r,t as i}from"./libs/nanostores.mjs";import{t as a}from"./libs/@nanostores/react.mjs";import{Suspense as o,lazy as s}from"react";import{c}from"react-compiler-runtime";import{jsx as l}from"react/jsx-runtime";const u=r(``),d=r(`closed`),f=i([u,d],(e,t)=>({log:e,status:t}));function p(){return a(f)}function m(){d.set(`closed`),u.set(``)}import.meta.hot?.on(`likec4:apply-semantic-layout`,e=>{`type`in e?e.type===`started`?(d.set(`processing`),u.set(``)):e.type===`completed`&&d.set(`completed`):u.set(u.get()+e.log)});function h(){let r=c(6),{log:i,status:a}=p();if(a===`closed`)return null;let o=a===`completed`,s;r[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=l(t,{order:4,children:`Semantic Layout`}),r[0]=s):s=r[0];let u=i||`Waiting for response...`,d;r[1]===u?d=r[2]:(d=l(n,{whiteSpace:`pre-wrap`,children:u}),r[1]=u,r[2]=d);let f;return r[3]!==o||r[4]!==d?(f=l(e,{size:`xl`,opened:!0,onClose:m,closeOnEscape:o,withCloseButton:o,closeOnClickOutside:o,title:s,children:d}),r[3]=o,r[4]=d,r[5]=f):f=r[5],f}const g=s(()=>import(`./AIChat2.mjs`));function _(){let e=c(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=l(o,{children:l(g,{})}),e[0]=t):t=e[0],t}export{h as n,_ as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{m as e,p as t,s as n,t as r}from"./css.mjs";import{t as i}from"./factory.mjs";import{createElement as a,forwardRef as o}from"react";const s={transform(e){return e}},c=(e={})=>{let r=n(s,e);return s.transform(r,t)},l=e=>r(c(e));l.raw=c;const u=o(function(t,n){let[r,o]=e(t,[]),s={ref:n,...c(r),...o};return a(i.div,s)});export{u as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,s as t,t as n}from"./factory.mjs";import{X as r}from"./LikeC4Styles.mjs";import{createContext as i,createElement as a,forwardRef as o,useContext as s}from"react";function c(e){let t=i(void 0);return[t,(n,r)=>{let i=s(t);if(i===void 0){let t=n?`Component "${n}"`:`A component`,i=r?` (slot: "${r}")`:``;throw Error(`${t}${i} cannot access ${e} because it's missing its Provider.`)}return i}]}function l(i){let s=`__recipe__`in i,l=s&&i.__name__?i.__name__:void 0,[u,d]=c(l?`createStyleContext("${l}")`:`createStyleContext`),f=s?i:r(i.config),p=(e,n)=>{let{unstyled:r,...i}=e;return r?i:s?{...i,className:t(n,i.className)}:{...n,...i}};return{withRootProvider:(t,n)=>{let r=e=>{let[r,i]=f.splitVariantProps(e),o=s?f(r):f.raw(r);o._classNameMap=f.classNameMap;let c=n?.defaultProps?{...n.defaultProps,...i}:i;return a(u.Provider,{value:o,children:a(t,c)})};return r.displayName=`withRootProvider(${e(t)})`,r},withProvider:(r,i,c)=>{let l=n(r,{},c),d=o((e,n)=>{let[r,o]=f.splitVariantProps(e),d=s?f(r):f.raw(r);d._classNameMap=f.classNameMap;let m=p({...o,className:o.className??c?.defaultProps?.className},d[i]);return a(u.Provider,{value:d,children:a(l,{...m,className:t(m.className,d._classNameMap[i]),ref:n})})});return d.displayName=`withProvider(${e(r)})`,d},withContext:(r,i,s)=>{let c=n(r,{},s),l=e(r),u=o((e,n)=>{let r=d(l,i),o=p({...e,className:e.className??s?.defaultProps?.className},r[i]);return a(c,{...o,className:t(o.className,r._classNameMap[i]),ref:n})});return u.displayName=`withContext(${l})`,u}}}export{l as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var t=e=>typeof e==`object`&&!!e;function n(e){return Object.fromEntries(Object.entries(e??{}).filter(([e,t])=>t!==void 0))}var r=e=>e===`base`;function i(e){return e.slice().filter(e=>!r(e))}function a(e){return String.fromCharCode(e+(e>25?39:97))}function o(e){let t=``,n;for(n=Math.abs(e);n>52;n=n/52|0)t=a(n%52)+t;return a(n%52)+t}function s(e,t){let n=t.length;for(;n;)e=e*33^t.charCodeAt(--n);return e}function c(e){return o(s(5381,e)>>>0)}var l=/\s*!(important)?/i;function u(e){return typeof e==`string`?l.test(e):!1}function d(e){return typeof e==`string`?e.replace(l,``).trim():e}function f(e){return typeof e==`string`?e.replaceAll(` `,`_`):e}var p=e=>{let t=new Map;return(...n)=>{let r=JSON.stringify(n);if(t.has(r))return t.get(r);let i=e(...n);return t.set(r,i),i}},ee=new Set([`__proto__`,`constructor`,`prototype`]);function m(...t){return t.reduce((t,n)=>(n&&Object.keys(n).forEach(r=>{if(ee.has(r))return;let i=t[r],a=n[r];e(i)&&e(a)?t[r]=m(i,a):t[r]=a}),t),{})}var h=e=>e!=null;function g(e,n,r={}){let{stop:i,getKey:a}=r;function o(e,r=[]){if(t(e)){let t={};for(let[s,c]of Object.entries(e)){let l=a?.(s,c)??s,u=[...r,l];if(i?.(e,u))return n(e,r);let d=o(c,u);h(d)&&(t[l]=d)}return t}return n(e,r)}return o(e)}function _(t,n){return Array.isArray(t)?t.map(e=>n(e)):e(t)?g(t,e=>n(e)):n(t)}function v(e,t){return e.reduce((e,n,r)=>{let i=t[r];return n!=null&&(e[i]=n),e},{})}function y(e,t,n=!0){let{utility:r,conditions:i}=t,{hasShorthand:a,resolveShorthand:o}=r;return g(e,e=>Array.isArray(e)?v(e,i.breakpoints.keys):e,{stop:e=>Array.isArray(e),getKey:n?e=>a?o(e):e:void 0})}var b={shift:e=>e,finalize:e=>e,breakpoints:{keys:[]}},x=e=>typeof e==`string`?e.replaceAll(/[\n\s]+/g,` `):e;function S(e){let{utility:t,hash:n,conditions:r=b}=e,a=e=>[t.prefix,e].filter(Boolean).join(`-`),o=(e,i)=>{let o;if(n){let n=[...r.finalize(e),i];o=a(t.toHash(n,c))}else o=[...r.finalize(e),a(i)].join(`:`);return o};return p(({base:n,...a}={})=>{let s=y(Object.assign(a,n),e),c=new Set;return g(s,(e,n)=>{if(e==null)return;let a=u(e),[s,...l]=r.shift(n),f=o(i(l),t.transform(s,d(x(e))).className);a&&(f=`${f}!`),c.add(f)}),Array.from(c).join(` `)})}function C(...t){return t.flat().filter(t=>e(t)&&Object.keys(n(t)).length>0)}function w(e){function t(t){let n=C(...t);return n.length===1?n:n.map(t=>y(t,e))}function n(...e){return m(...t(e))}function r(...e){return Object.assign({},...t(e))}return{mergeCss:p(n),assignCss:r}}var T=/([A-Z])/g,E=/^ms-/,D=p(e=>e.startsWith(`--`)?e:e.replace(T,`-$1`).replace(E,`-ms-`).toLowerCase()),O=RegExp(`^(${[`min`,`max`,`clamp`,`calc`].join(`|`)})\\(.*\\)`),k=e=>typeof e==`string`&&O.test(e),A=`(?:${`cm,mm,Q,in,pc,pt,px,em,ex,ch,rem,lh,rlh,vw,vh,vmin,vmax,vb,vi,svw,svh,lvw,lvh,dvw,dvh,cqw,cqh,cqi,cqb,cqmin,cqmax,%`.split(`,`).join(`|`)})`,te=RegExp(`^[+-]?[0-9]*.?[0-9]+(?:[eE][+-]?[0-9]+)?${A}$`),j={map:_,isCssFunction:k,isCssVar:e=>typeof e==`string`&&/^var\(--.+\)$/.test(e),isCssUnit:e=>typeof e==`string`&&te.test(e)},M=(e,t)=>{if(!e?.defaultValues)return t;let r=typeof e.defaultValues==`function`?e.defaultValues(t):e.defaultValues;return Object.assign({},r,n(t))},N=(e={})=>{let t=t=>({className:[e.className,t].filter(Boolean).join(`__`),base:e.base?.[t]??{},variants:{},defaultVariants:e.defaultVariants??{},compoundVariants:e.compoundVariants?P(e.compoundVariants,t):[]}),n=(e.slots??[]).map(e=>[e,t(e)]);for(let[t,r]of Object.entries(e.variants??{}))for(let[e,i]of Object.entries(r))n.forEach(([n,r])=>{r.variants[t]??={},r.variants[t][e]=i[n]??{}});return Object.fromEntries(n)},P=(e,t)=>e.filter(e=>e.css[t]).map(e=>({...e,css:e.css[t]}));function F(e,...t){let n=Object.getOwnPropertyDescriptors(e),r=Object.keys(n),i=e=>{let t={};for(let r=0;r<e.length;r++){let i=e[r];n[i]&&(Object.defineProperty(t,i,n[i]),delete n[i])}return t};return t.map(e=>i(Array.isArray(e)?e:r.filter(e))).concat(i(r))}var I=(...e)=>{let t=e.reduce((e,t)=>(t&&t.forEach(t=>e.add(t)),e),new Set([]));return Array.from(t)},L=[`htmlSize`,`htmlTranslate`,`htmlWidth`,`htmlHeight`];function R(e){return L.includes(e)?e.replace(`html`,``).toLowerCase():e}function z(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[R(e),t]))}z.keys=L;const B=new Set(`_hover,_focus,_focusWithin,_focusVisible,_disabled,_active,_visited,_target,_readOnly,_readWrite,_empty,_checked,_enabled,_expanded,_highlighted,_complete,_incomplete,_dragging,_before,_after,_firstLetter,_firstLine,_marker,_selection,_file,_backdrop,_first,_last,_only,_even,_odd,_firstOfType,_lastOfType,_onlyOfType,_peerFocus,_peerHover,_peerActive,_peerFocusWithin,_peerFocusVisible,_peerDisabled,_peerChecked,_peerInvalid,_peerExpanded,_peerPlaceholderShown,_groupFocus,_groupHover,_groupActive,_groupFocusWithin,_groupFocusVisible,_groupDisabled,_groupChecked,_groupExpanded,_groupInvalid,_indeterminate,_required,_valid,_invalid,_autofill,_inRange,_outOfRange,_placeholder,_placeholderShown,_pressed,_selected,_grabbed,_underValue,_overValue,_atValue,_default,_optional,_open,_closed,_fullscreen,_loading,_hidden,_current,_currentPage,_currentStep,_today,_unavailable,_rangeStart,_rangeEnd,_now,_topmost,_motionReduce,_motionSafe,_print,_landscape,_portrait,_dark,_light,_osDark,_osLight,_highContrast,_lessContrast,_moreContrast,_ltr,_rtl,_scrollbar,_scrollbarThumb,_scrollbarTrack,_horizontal,_vertical,_icon,_starting,_noscript,_invertedColors,_shapeSizeXs,_shapeSizeSm,_shapeSizeMd,_shapeSizeLg,_shapeSizeXl,_shapeRectangle,_shapePerson,_shapeBrowser,_shapeMobile,_shapeCylinder,_shapeStorage,_shapeQueue,_shapeBucket,_shapeDocument,_shapeComponent,_notDisabled,_reduceGraphics,_reduceGraphicsOnPan,_noReduceGraphics,_whenPanning,_smallZoom,_compoundTransparent,_edgeActive,_whenHovered,_whenSelectable,_whenSelected,_whenDimmed,_whenFocused,_p3,xs,xsOnly,xsDown,sm,smOnly,smDown,md,mdOnly,mdDown,lg,lgOnly,lgDown,xl,xlOnly,xlDown,xsToSm,xsToMd,xsToLg,xsToXl,smToMd,smToLg,smToXl,mdToLg,mdToXl,lgToXl,@/xs,@/sm,@/md,@/lg,@likec4-root/xs,@likec4-root/sm,@likec4-root/md,@likec4-root/lg,@likec4-dialog/xs,@likec4-dialog/sm,@likec4-dialog/md,@likec4-dialog/lg,base`.split(`,`)),V=/^@|&|&$/;function H(e){return B.has(e)||V.test(e)}const U=/^_/,W=/&|@/;function G(e){return e.map(e=>B.has(e)?e.replace(U,``):W.test(e)?`[${f(e.trim())}]`:e)}function K(e){return e.sort((e,t)=>{let n=H(e),r=H(t);return n&&!r?1:!n&&r?-1:0})}const q=new Map,J=new Map;`aspectRatio:asp,boxDecorationBreak:bx-db,zIndex:z,boxSizing:bx-s,objectPosition:obj-p,objectFit:obj-f,overscrollBehavior:ovs-b,overscrollBehaviorX:ovs-bx,overscrollBehaviorY:ovs-by,position:pos/1,top:top,left:left,inset:inset,insetInline:inset-x/insetX,insetBlock:inset-y/insetY,insetBlockEnd:inset-be,insetBlockStart:inset-bs,insetInlineEnd:inset-e/insetEnd/end,insetInlineStart:inset-s/insetStart/start,right:right,bottom:bottom,float:float,visibility:vis,display:d,hideFrom:hide,hideBelow:show,flexBasis:flex-b,flex:flex,flexDirection:flex-d/flexDir,flexGrow:flex-g,flexShrink:flex-sh,gridTemplateColumns:grid-tc,gridTemplateRows:grid-tr,gridColumn:grid-c,gridRow:grid-r,gridColumnStart:grid-cs,gridColumnEnd:grid-ce,gridAutoFlow:grid-af,gridAutoColumns:grid-ac,gridAutoRows:grid-ar,gap:gap,gridGap:grid-g,gridRowGap:grid-rg,gridColumnGap:grid-cg,rowGap:rg,columnGap:cg,justifyContent:jc,alignContent:ac,alignItems:ai,alignSelf:as,padding:p/1,paddingLeft:pl/1,paddingRight:pr/1,paddingTop:pt/1,paddingBottom:pb/1,paddingBlock:py/1/paddingY,paddingBlockEnd:pbe,paddingBlockStart:pbs,paddingInline:px/paddingX/1,paddingInlineEnd:pe/1/paddingEnd,paddingInlineStart:ps/1/paddingStart,marginLeft:ml/1,marginRight:mr/1,marginTop:mt/1,marginBottom:mb/1,margin:m/1,marginBlock:my/1/marginY,marginBlockEnd:mbe,marginBlockStart:mbs,marginInline:mx/1/marginX,marginInlineEnd:me/1/marginEnd,marginInlineStart:ms/1/marginStart,spaceX:sx,spaceY:sy,outlineWidth:ring-w/ringWidth,outlineColor:ring-c/ringColor,outline:ring/1,outlineOffset:ring-o/ringOffset,focusRing:focus-ring,focusVisibleRing:focus-v-ring,focusRingColor:focus-ring-c,focusRingOffset:focus-ring-o,focusRingWidth:focus-ring-w,focusRingStyle:focus-ring-s,divideX:dvd-x,divideY:dvd-y,divideColor:dvd-c,divideStyle:dvd-s,width:w/1,inlineSize:w-is,minWidth:min-w/minW,minInlineSize:min-w-is,maxWidth:max-w/maxW,maxInlineSize:max-w-is,height:h/1,blockSize:h-bs,minHeight:min-h/minH,minBlockSize:min-h-bs,maxHeight:max-h/maxH,maxBlockSize:max-b,boxSize:size,color:c,fontFamily:ff,fontSize:fs,fontSizeAdjust:fs-a,fontPalette:fp,fontKerning:fk,fontFeatureSettings:ff-s,fontWeight:fw,fontSmoothing:fsmt,fontVariant:fv,fontVariantAlternates:fv-alt,fontVariantCaps:fv-caps,fontVariationSettings:fv-s,fontVariantNumeric:fv-num,letterSpacing:ls,lineHeight:lh,textAlign:ta,textDecoration:td,textDecorationColor:td-c,textEmphasisColor:te-c,textDecorationStyle:td-s,textDecorationThickness:td-t,textUnderlineOffset:tu-o,textTransform:tt,textIndent:ti,textShadow:tsh,textShadowColor:tsh-c/textShadowColor,WebkitTextFillColor:wktf-c,textOverflow:tov,verticalAlign:va,wordBreak:wb,textWrap:tw,truncate:trunc,lineClamp:lc,listStyleType:li-t,listStylePosition:li-pos,listStyleImage:li-img,listStyle:li-s,backgroundPosition:bg-p/bgPosition,backgroundPositionX:bg-p-x/bgPositionX,backgroundPositionY:bg-p-y/bgPositionY,backgroundAttachment:bg-a/bgAttachment,backgroundClip:bg-cp/bgClip,background:bg/1,backgroundColor:bg-c/bgColor,backgroundOrigin:bg-o/bgOrigin,backgroundImage:bg-i/bgImage,backgroundRepeat:bg-r/bgRepeat,backgroundBlendMode:bg-bm/bgBlendMode,backgroundSize:bg-s/bgSize,backgroundGradient:bg-grad/bgGradient,backgroundLinear:bg-linear/bgLinear,backgroundRadial:bg-radial/bgRadial,backgroundConic:bg-conic/bgConic,textGradient:txt-grad,gradientFromPosition:grad-from-pos,gradientToPosition:grad-to-pos,gradientFrom:grad-from,gradientTo:grad-to,gradientVia:grad-via,gradientViaPosition:grad-via-pos,borderRadius:bdr/rounded,borderTopLeftRadius:bdr-tl/roundedTopLeft,borderTopRightRadius:bdr-tr/roundedTopRight,borderBottomRightRadius:bdr-br/roundedBottomRight,borderBottomLeftRadius:bdr-bl/roundedBottomLeft,borderTopRadius:bdr-t/roundedTop,borderRightRadius:bdr-r/roundedRight,borderBottomRadius:bdr-b/roundedBottom,borderLeftRadius:bdr-l/roundedLeft,borderStartStartRadius:bdr-ss/roundedStartStart,borderStartEndRadius:bdr-se/roundedStartEnd,borderStartRadius:bdr-s/roundedStart,borderEndStartRadius:bdr-es/roundedEndStart,borderEndEndRadius:bdr-ee/roundedEndEnd,borderEndRadius:bdr-e/roundedEnd,border:bd,borderWidth:bd-w,borderTopWidth:bd-t-w,borderLeftWidth:bd-l-w,borderRightWidth:bd-r-w,borderBottomWidth:bd-b-w,borderBlockStartWidth:bd-bs-w,borderBlockEndWidth:bd-be-w,borderColor:bd-c,borderInline:bd-x/borderX,borderInlineWidth:bd-x-w/borderXWidth,borderInlineColor:bd-x-c/borderXColor,borderBlock:bd-y/borderY,borderBlockWidth:bd-y-w/borderYWidth,borderBlockColor:bd-y-c/borderYColor,borderLeft:bd-l,borderLeftColor:bd-l-c,borderInlineStart:bd-s/borderStart,borderInlineStartWidth:bd-s-w/borderStartWidth,borderInlineStartColor:bd-s-c/borderStartColor,borderRight:bd-r,borderRightColor:bd-r-c,borderInlineEnd:bd-e/borderEnd,borderInlineEndWidth:bd-e-w/borderEndWidth,borderInlineEndColor:bd-e-c/borderEndColor,borderTop:bd-t,borderTopColor:bd-t-c,borderBottom:bd-b,borderBottomColor:bd-b-c,borderBlockEnd:bd-be,borderBlockEndColor:bd-be-c,borderBlockStart:bd-bs,borderBlockStartColor:bd-bs-c,opacity:op,boxShadow:bx-sh/shadow,boxShadowColor:bx-sh-c/shadowColor,mixBlendMode:mix-bm,filter:filter,brightness:brightness,contrast:contrast,grayscale:grayscale,hueRotate:hue-rotate,invert:invert,saturate:saturate,sepia:sepia,dropShadow:drop-shadow,blur:blur,backdropFilter:bkdp,backdropBlur:bkdp-blur,backdropBrightness:bkdp-brightness,backdropContrast:bkdp-contrast,backdropGrayscale:bkdp-grayscale,backdropHueRotate:bkdp-hue-rotate,backdropInvert:bkdp-invert,backdropOpacity:bkdp-opacity,backdropSaturate:bkdp-saturate,backdropSepia:bkdp-sepia,borderCollapse:bd-cl,borderSpacing:bd-sp,borderSpacingX:bd-sx,borderSpacingY:bd-sy,tableLayout:tbl,transitionTimingFunction:trs-tmf,transitionDelay:trs-dly,transitionDuration:trs-dur,transitionProperty:trs-prop,transition:transition,animation:anim,animationName:anim-n,animationTimingFunction:anim-tmf,animationDuration:anim-dur,animationDelay:anim-dly,animationPlayState:anim-ps,animationComposition:anim-comp,animationFillMode:anim-fm,animationDirection:anim-dir,animationIterationCount:anim-ic,animationRange:anim-r,animationState:anim-s,animationRangeStart:anim-rs,animationRangeEnd:anim-re,animationTimeline:anim-tl,transformOrigin:trf-o,transformBox:trf-b,transformStyle:trf-s,transform:trf,rotate:rotate,rotateX:rotate-x,rotateY:rotate-y,rotateZ:rotate-z,scale:scale,scaleX:scale-x,scaleY:scale-y,translate:translate,translateX:translate-x/x,translateY:translate-y/y,translateZ:translate-z/z,accentColor:ac-c,caretColor:ca-c,scrollBehavior:scr-bhv,scrollbar:scr-bar,scrollbarColor:scr-bar-c,scrollbarGutter:scr-bar-g,scrollbarWidth:scr-bar-w,scrollMargin:scr-m,scrollMarginLeft:scr-ml,scrollMarginRight:scr-mr,scrollMarginTop:scr-mt,scrollMarginBottom:scr-mb,scrollMarginBlock:scr-my/scrollMarginY,scrollMarginBlockEnd:scr-mbe,scrollMarginBlockStart:scr-mbt,scrollMarginInline:scr-mx/scrollMarginX,scrollMarginInlineEnd:scr-me,scrollMarginInlineStart:scr-ms,scrollPadding:scr-p,scrollPaddingBlock:scr-py/scrollPaddingY,scrollPaddingBlockStart:scr-pbs,scrollPaddingBlockEnd:scr-pbe,scrollPaddingInline:scr-px/scrollPaddingX,scrollPaddingInlineEnd:scr-pe,scrollPaddingInlineStart:scr-ps,scrollPaddingLeft:scr-pl,scrollPaddingRight:scr-pr,scrollPaddingTop:scr-pt,scrollPaddingBottom:scr-pb,scrollSnapAlign:scr-sa,scrollSnapStop:scrs-s,scrollSnapType:scrs-t,scrollSnapStrictness:scrs-strt,scrollSnapMargin:scrs-m,scrollSnapMarginTop:scrs-mt,scrollSnapMarginBottom:scrs-mb,scrollSnapMarginLeft:scrs-ml,scrollSnapMarginRight:scrs-mr,scrollSnapCoordinate:scrs-c,scrollSnapDestination:scrs-d,scrollSnapPointsX:scrs-px,scrollSnapPointsY:scrs-py,scrollSnapTypeX:scrs-tx,scrollSnapTypeY:scrs-ty,scrollTimeline:scrtl,scrollTimelineAxis:scrtl-a,scrollTimelineName:scrtl-n,touchAction:tch-a,userSelect:us,overflow:ov,overflowWrap:ov-wrap,overflowX:ov-x,overflowY:ov-y,overflowAnchor:ov-a,overflowBlock:ov-b,overflowInline:ov-i,overflowClipBox:ovcp-bx,overflowClipMargin:ovcp-m,overscrollBehaviorBlock:ovs-bb,overscrollBehaviorInline:ovs-bi,fill:fill,stroke:stk,strokeWidth:stk-w,strokeDasharray:stk-dsh,strokeDashoffset:stk-do,strokeLinecap:stk-lc,strokeLinejoin:stk-lj,strokeMiterlimit:stk-ml,strokeOpacity:stk-op,srOnly:sr,debug:debug,appearance:ap,backfaceVisibility:bfv,clipPath:cp-path,hyphens:hy,mask:msk,maskImage:msk-i,maskSize:msk-s,textSizeAdjust:txt-adj,container:cq,containerName:cq-n,containerType:cq-t,cursor:cursor,textStyle:textStyle,layerStyle:layerStyle,animationStyle:animationStyle`.split(`,`).forEach(e=>{let[t,n]=e.split(`:`),[r,...i]=n.split(`/`);q.set(t,r),i.length&&i.forEach(e=>{J.set(e===`1`?r:e,t)})});const Y=e=>J.get(e)||e,X={conditions:{shift:K,finalize:G,breakpoints:{keys:[`base`,`xs`,`sm`,`md`,`lg`,`xl`]}},utility:{transform:(e,t)=>{let n=Y(e);return{className:`${q.get(n)||D(n)}_${f(t)}`}},hasShorthand:!0,toHash:(e,t)=>t(e.join(`:`)),resolveShorthand:Y}},Z=S(X),Q=(...e)=>Z($(...e));Q.raw=(...e)=>$(...e);const{mergeCss:$,assignCss:ne}=w(X);export{n as a,P as c,m as d,z as f,f as g,I as h,K as i,N as l,F as m,$ as n,S as o,j as p,G as r,M as s,Q as t,p as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,d as t,f as n,h as r,m as i,n as a,t as o,u as s}from"./css.mjs";import{createElement as c,forwardRef as l,useMemo as u}from"react";function d(){let e=``,t=0,n;for(;t<arguments.length;)(n=arguments[t++])&&typeof n==`string`&&(e&&(e+=` `),e+=n);return e}const f=e=>({base:{},variants:{},defaultVariants:{},compoundVariants:[],...e});function p(n){let{base:c,variants:l,defaultVariants:u,compoundVariants:d}=f(n),h=t=>({...u,...e(t)});function g(e={}){let t=h(e),n={...c};for(let[e,r]of Object.entries(t))l[e]?.[r]&&(n=a(n,l[e][r]));let r=m(d,t);return a(n,r)}function _(e){let n=f(e.config),i=r(e.variantKeys,Object.keys(l));return p({base:a(c,n.base),variants:Object.fromEntries(i.map(e=>[e,a(l[e],n.variants[e])])),defaultVariants:t(u,n.defaultVariants),compoundVariants:[...d,...n.compoundVariants]})}function v(e){return o(g(e))}let y=Object.keys(l);function b(e){return i(e,y)}let x=Object.fromEntries(Object.entries(l).map(([e,t])=>[e,Object.keys(t)]));return Object.assign(s(v),{__cva__:!0,variantMap:x,variantKeys:y,raw:g,config:n,merge:_,splitVariantProps:b,getVariantProps:h})}function m(e,t){let n={};return e.forEach(e=>{Object.entries(e).every(([e,n])=>e===`css`?!0:(Array.isArray(n)?n:[n]).some(n=>t[e]===n))&&(n=a(n,e.css))}),n}function h(e,t,n,r){if(t.length>0&&typeof n?.[r]==`object`)throw Error(`[recipe:${e}:${r}] Conditions are not supported when using compound variants.`)}var g=`css,pos,insetX,insetY,insetEnd,end,insetStart,start,flexDir,p,pl,pr,pt,pb,py,paddingY,paddingX,px,pe,paddingEnd,ps,paddingStart,ml,mr,mt,mb,m,my,marginY,mx,marginX,me,marginEnd,ms,marginStart,ringWidth,ringColor,ring,ringOffset,w,minW,maxW,h,minH,maxH,textShadowColor,bgPosition,bgPositionX,bgPositionY,bgAttachment,bgClip,bg,bgColor,bgOrigin,bgImage,bgRepeat,bgBlendMode,bgSize,bgGradient,bgLinear,bgRadial,bgConic,rounded,roundedTopLeft,roundedTopRight,roundedBottomRight,roundedBottomLeft,roundedTop,roundedRight,roundedBottom,roundedLeft,roundedStartStart,roundedStartEnd,roundedStart,roundedEndStart,roundedEndEnd,roundedEnd,borderX,borderXWidth,borderXColor,borderY,borderYWidth,borderYColor,borderStart,borderStartWidth,borderStartColor,borderEnd,borderEndWidth,borderEndColor,shadow,shadowColor,x,y,z,scrollMarginY,scrollMarginX,scrollPaddingY,scrollPaddingX,aspectRatio,boxDecorationBreak,zIndex,boxSizing,objectPosition,objectFit,overscrollBehavior,overscrollBehaviorX,overscrollBehaviorY,position,top,left,inset,insetInline,insetBlock,insetBlockEnd,insetBlockStart,insetInlineEnd,insetInlineStart,right,bottom,float,visibility,display,hideFrom,hideBelow,flexBasis,flex,flexDirection,flexGrow,flexShrink,gridTemplateColumns,gridTemplateRows,gridColumn,gridRow,gridColumnStart,gridColumnEnd,gridAutoFlow,gridAutoColumns,gridAutoRows,gap,gridGap,gridRowGap,gridColumnGap,rowGap,columnGap,justifyContent,alignContent,alignItems,alignSelf,padding,paddingLeft,paddingRight,paddingTop,paddingBottom,paddingBlock,paddingBlockEnd,paddingBlockStart,paddingInline,paddingInlineEnd,paddingInlineStart,marginLeft,marginRight,marginTop,marginBottom,margin,marginBlock,marginBlockEnd,marginBlockStart,marginInline,marginInlineEnd,marginInlineStart,spaceX,spaceY,outlineWidth,outlineColor,outline,outlineOffset,focusRing,focusVisibleRing,focusRingColor,focusRingOffset,focusRingWidth,focusRingStyle,divideX,divideY,divideColor,divideStyle,width,inlineSize,minWidth,minInlineSize,maxWidth,maxInlineSize,height,blockSize,minHeight,minBlockSize,maxHeight,maxBlockSize,boxSize,color,fontFamily,fontSize,fontSizeAdjust,fontPalette,fontKerning,fontFeatureSettings,fontWeight,fontSmoothing,fontVariant,fontVariantAlternates,fontVariantCaps,fontVariationSettings,fontVariantNumeric,letterSpacing,lineHeight,textAlign,textDecoration,textDecorationColor,textEmphasisColor,textDecorationStyle,textDecorationThickness,textUnderlineOffset,textTransform,textIndent,textShadow,WebkitTextFillColor,textOverflow,verticalAlign,wordBreak,textWrap,truncate,lineClamp,listStyleType,listStylePosition,listStyleImage,listStyle,backgroundPosition,backgroundPositionX,backgroundPositionY,backgroundAttachment,backgroundClip,background,backgroundColor,backgroundOrigin,backgroundImage,backgroundRepeat,backgroundBlendMode,backgroundSize,backgroundGradient,backgroundLinear,backgroundRadial,backgroundConic,textGradient,gradientFromPosition,gradientToPosition,gradientFrom,gradientTo,gradientVia,gradientViaPosition,borderRadius,borderTopLeftRadius,borderTopRightRadius,borderBottomRightRadius,borderBottomLeftRadius,borderTopRadius,borderRightRadius,borderBottomRadius,borderLeftRadius,borderStartStartRadius,borderStartEndRadius,borderStartRadius,borderEndStartRadius,borderEndEndRadius,borderEndRadius,border,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,borderBlockStartWidth,borderBlockEndWidth,borderColor,borderInline,borderInlineWidth,borderInlineColor,borderBlock,borderBlockWidth,borderBlockColor,borderLeft,borderLeftColor,borderInlineStart,borderInlineStartWidth,borderInlineStartColor,borderRight,borderRightColor,borderInlineEnd,borderInlineEndWidth,borderInlineEndColor,borderTop,borderTopColor,borderBottom,borderBottomColor,borderBlockEnd,borderBlockEndColor,borderBlockStart,borderBlockStartColor,opacity,boxShadow,boxShadowColor,mixBlendMode,filter,brightness,contrast,grayscale,hueRotate,invert,saturate,sepia,dropShadow,blur,backdropFilter,backdropBlur,backdropBrightness,backdropContrast,backdropGrayscale,backdropHueRotate,backdropInvert,backdropOpacity,backdropSaturate,backdropSepia,borderCollapse,borderSpacing,borderSpacingX,borderSpacingY,tableLayout,transitionTimingFunction,transitionDelay,transitionDuration,transitionProperty,transition,animation,animationName,animationTimingFunction,animationDuration,animationDelay,animationPlayState,animationComposition,animationFillMode,animationDirection,animationIterationCount,animationRange,animationState,animationRangeStart,animationRangeEnd,animationTimeline,transformOrigin,transformBox,transformStyle,transform,rotate,rotateX,rotateY,rotateZ,scale,scaleX,scaleY,translate,translateX,translateY,translateZ,accentColor,caretColor,scrollBehavior,scrollbar,scrollbarColor,scrollbarGutter,scrollbarWidth,scrollMargin,scrollMarginLeft,scrollMarginRight,scrollMarginTop,scrollMarginBottom,scrollMarginBlock,scrollMarginBlockEnd,scrollMarginBlockStart,scrollMarginInline,scrollMarginInlineEnd,scrollMarginInlineStart,scrollPadding,scrollPaddingBlock,scrollPaddingBlockStart,scrollPaddingBlockEnd,scrollPaddingInline,scrollPaddingInlineEnd,scrollPaddingInlineStart,scrollPaddingLeft,scrollPaddingRight,scrollPaddingTop,scrollPaddingBottom,scrollSnapAlign,scrollSnapStop,scrollSnapType,scrollSnapStrictness,scrollSnapMargin,scrollSnapMarginTop,scrollSnapMarginBottom,scrollSnapMarginLeft,scrollSnapMarginRight,scrollSnapCoordinate,scrollSnapDestination,scrollSnapPointsX,scrollSnapPointsY,scrollSnapTypeX,scrollSnapTypeY,scrollTimeline,scrollTimelineAxis,scrollTimelineName,touchAction,userSelect,overflow,overflowWrap,overflowX,overflowY,overflowAnchor,overflowBlock,overflowInline,overflowClipBox,overflowClipMargin,overscrollBehaviorBlock,overscrollBehaviorInline,fill,stroke,strokeWidth,strokeDasharray,strokeDashoffset,strokeLinecap,strokeLinejoin,strokeMiterlimit,strokeOpacity,srOnly,debug,appearance,backfaceVisibility,clipPath,hyphens,mask,maskImage,maskSize,textSizeAdjust,container,containerName,containerType,cursor,colorPalette,_hover,_focus,_focusWithin,_focusVisible,_disabled,_active,_visited,_target,_readOnly,_readWrite,_empty,_checked,_enabled,_expanded,_highlighted,_complete,_incomplete,_dragging,_before,_after,_firstLetter,_firstLine,_marker,_selection,_file,_backdrop,_first,_last,_only,_even,_odd,_firstOfType,_lastOfType,_onlyOfType,_peerFocus,_peerHover,_peerActive,_peerFocusWithin,_peerFocusVisible,_peerDisabled,_peerChecked,_peerInvalid,_peerExpanded,_peerPlaceholderShown,_groupFocus,_groupHover,_groupActive,_groupFocusWithin,_groupFocusVisible,_groupDisabled,_groupChecked,_groupExpanded,_groupInvalid,_indeterminate,_required,_valid,_invalid,_autofill,_inRange,_outOfRange,_placeholder,_placeholderShown,_pressed,_selected,_grabbed,_underValue,_overValue,_atValue,_default,_optional,_open,_closed,_fullscreen,_loading,_hidden,_current,_currentPage,_currentStep,_today,_unavailable,_rangeStart,_rangeEnd,_now,_topmost,_motionReduce,_motionSafe,_print,_landscape,_portrait,_dark,_light,_osDark,_osLight,_highContrast,_lessContrast,_moreContrast,_ltr,_rtl,_scrollbar,_scrollbarThumb,_scrollbarTrack,_horizontal,_vertical,_icon,_starting,_noscript,_invertedColors,_shapeSizeXs,_shapeSizeSm,_shapeSizeMd,_shapeSizeLg,_shapeSizeXl,_shapeRectangle,_shapePerson,_shapeBrowser,_shapeMobile,_shapeCylinder,_shapeStorage,_shapeQueue,_shapeBucket,_shapeDocument,_shapeComponent,_notDisabled,_reduceGraphics,_reduceGraphicsOnPan,_noReduceGraphics,_whenPanning,_smallZoom,_compoundTransparent,_edgeActive,_whenHovered,_whenSelectable,_whenSelected,_whenDimmed,_whenFocused,_p3,xs,xsOnly,xsDown,sm,smOnly,smDown,md,mdOnly,mdDown,lg,lgOnly,lgDown,xl,xlOnly,xlDown,xsToSm,xsToMd,xsToLg,xsToXl,smToMd,smToLg,smToXl,mdToLg,mdToXl,lgToXl,@/xs,@/sm,@/md,@/lg,@likec4-root/xs,@likec4-root/sm,@likec4-root/md,@likec4-root/lg,@likec4-dialog/xs,@likec4-dialog/sm,@likec4-dialog/md,@likec4-dialog/lg,textStyle,layerStyle,animationStyle`.split(`,`),_=`WebkitAppearance,WebkitBorderBefore,WebkitBorderBeforeColor,WebkitBorderBeforeStyle,WebkitBorderBeforeWidth,WebkitBoxReflect,WebkitLineClamp,WebkitMask,WebkitMaskAttachment,WebkitMaskClip,WebkitMaskComposite,WebkitMaskImage,WebkitMaskOrigin,WebkitMaskPosition,WebkitMaskPositionX,WebkitMaskPositionY,WebkitMaskRepeat,WebkitMaskRepeatX,WebkitMaskRepeatY,WebkitMaskSize,WebkitOverflowScrolling,WebkitTapHighlightColor,WebkitTextFillColor,WebkitTextStroke,WebkitTextStrokeColor,WebkitTextStrokeWidth,WebkitTouchCallout,WebkitUserModify,WebkitUserSelect,accentColor,alignContent,alignItems,alignSelf,alignTracks,all,anchorName,anchorScope,animation,animationComposition,animationDelay,animationDirection,animationDuration,animationFillMode,animationIterationCount,animationName,animationPlayState,animationRange,animationRangeEnd,animationRangeStart,animationTimeline,animationTimingFunction,appearance,aspectRatio,backdropFilter,backfaceVisibility,background,backgroundAttachment,backgroundBlendMode,backgroundClip,backgroundColor,backgroundImage,backgroundOrigin,backgroundPosition,backgroundPositionX,backgroundPositionY,backgroundRepeat,backgroundSize,blockSize,border,borderBlock,borderBlockColor,borderBlockEnd,borderBlockEndColor,borderBlockEndStyle,borderBlockEndWidth,borderBlockStart,borderBlockStartColor,borderBlockStartStyle,borderBlockStartWidth,borderBlockStyle,borderBlockWidth,borderBottom,borderBottomColor,borderBottomLeftRadius,borderBottomRightRadius,borderBottomStyle,borderBottomWidth,borderCollapse,borderColor,borderEndEndRadius,borderEndStartRadius,borderImage,borderImageOutset,borderImageRepeat,borderImageSlice,borderImageSource,borderImageWidth,borderInline,borderInlineColor,borderInlineEnd,borderInlineEndColor,borderInlineEndStyle,borderInlineEndWidth,borderInlineStart,borderInlineStartColor,borderInlineStartStyle,borderInlineStartWidth,borderInlineStyle,borderInlineWidth,borderLeft,borderLeftColor,borderLeftStyle,borderLeftWidth,borderRadius,borderRight,borderRightColor,borderRightStyle,borderRightWidth,borderSpacing,borderStartEndRadius,borderStartStartRadius,borderStyle,borderTop,borderTopColor,borderTopLeftRadius,borderTopRightRadius,borderTopStyle,borderTopWidth,borderWidth,bottom,boxAlign,boxDecorationBreak,boxDirection,boxFlex,boxFlexGroup,boxLines,boxOrdinalGroup,boxOrient,boxPack,boxShadow,boxSizing,breakAfter,breakBefore,breakInside,captionSide,caret,caretColor,caretShape,clear,clip,clipPath,clipRule,color,colorInterpolationFilters,colorScheme,columnCount,columnFill,columnGap,columnRule,columnRuleColor,columnRuleStyle,columnRuleWidth,columnSpan,columnWidth,columns,contain,containIntrinsicBlockSize,containIntrinsicHeight,containIntrinsicInlineSize,containIntrinsicSize,containIntrinsicWidth,container,containerName,containerType,content,contentVisibility,cornerShape,counterIncrement,counterReset,counterSet,cursor,cx,cy,d,direction,display,dominantBaseline,emptyCells,fieldSizing,fill,fillOpacity,fillRule,filter,flex,flexBasis,flexDirection,flexFlow,flexGrow,flexShrink,flexWrap,float,floodColor,floodOpacity,font,fontFamily,fontFeatureSettings,fontKerning,fontLanguageOverride,fontOpticalSizing,fontPalette,fontSize,fontSizeAdjust,fontSmooth,fontStretch,fontStyle,fontSynthesis,fontSynthesisPosition,fontSynthesisSmallCaps,fontSynthesisStyle,fontSynthesisWeight,fontVariant,fontVariantAlternates,fontVariantCaps,fontVariantEastAsian,fontVariantEmoji,fontVariantLigatures,fontVariantNumeric,fontVariantPosition,fontVariationSettings,fontWeight,forcedColorAdjust,gap,grid,gridArea,gridAutoColumns,gridAutoFlow,gridAutoRows,gridColumn,gridColumnEnd,gridColumnGap,gridColumnStart,gridGap,gridRow,gridRowEnd,gridRowGap,gridRowStart,gridTemplate,gridTemplateAreas,gridTemplateColumns,gridTemplateRows,hangingPunctuation,height,hyphenateCharacter,hyphenateLimitChars,hyphens,imageOrientation,imageRendering,imageResolution,imeMode,initialLetter,initialLetterAlign,inlineSize,inset,insetBlock,insetBlockEnd,insetBlockStart,insetInline,insetInlineEnd,insetInlineStart,interpolateSize,isolation,justifyContent,justifyItems,justifySelf,justifyTracks,left,letterSpacing,lightingColor,lineBreak,lineClamp,lineHeight,lineHeightStep,listStyle,listStyleImage,listStylePosition,listStyleType,margin,marginBlock,marginBlockEnd,marginBlockStart,marginBottom,marginInline,marginInlineEnd,marginInlineStart,marginLeft,marginRight,marginTop,marginTrim,marker,markerEnd,markerMid,markerStart,mask,maskBorder,maskBorderMode,maskBorderOutset,maskBorderRepeat,maskBorderSlice,maskBorderSource,maskBorderWidth,maskClip,maskComposite,maskImage,maskMode,maskOrigin,maskPosition,maskRepeat,maskSize,maskType,masonryAutoFlow,mathDepth,mathShift,mathStyle,maxBlockSize,maxHeight,maxInlineSize,maxLines,maxWidth,minBlockSize,minHeight,minInlineSize,minWidth,mixBlendMode,objectFit,objectPosition,offset,offsetAnchor,offsetDistance,offsetPath,offsetPosition,offsetRotate,opacity,order,orphans,outline,outlineColor,outlineOffset,outlineStyle,outlineWidth,overflow,overflowAnchor,overflowBlock,overflowClipBox,overflowClipMargin,overflowInline,overflowWrap,overflowX,overflowY,overlay,overscrollBehavior,overscrollBehaviorBlock,overscrollBehaviorInline,overscrollBehaviorX,overscrollBehaviorY,padding,paddingBlock,paddingBlockEnd,paddingBlockStart,paddingBottom,paddingInline,paddingInlineEnd,paddingInlineStart,paddingLeft,paddingRight,paddingTop,page,pageBreakAfter,pageBreakBefore,pageBreakInside,paintOrder,perspective,perspectiveOrigin,placeContent,placeItems,placeSelf,pointerEvents,position,positionAnchor,positionArea,positionTry,positionTryFallbacks,positionTryOrder,positionVisibility,printColorAdjust,quotes,r,resize,right,rotate,rowGap,rubyAlign,rubyMerge,rubyPosition,rx,ry,scale,scrollBehavior,scrollMargin,scrollMarginBlock,scrollMarginBlockEnd,scrollMarginBlockStart,scrollMarginBottom,scrollMarginInline,scrollMarginInlineEnd,scrollMarginInlineStart,scrollMarginLeft,scrollMarginRight,scrollMarginTop,scrollPadding,scrollPaddingBlock,scrollPaddingBlockEnd,scrollPaddingBlockStart,scrollPaddingBottom,scrollPaddingInline,scrollPaddingInlineEnd,scrollPaddingInlineStart,scrollPaddingLeft,scrollPaddingRight,scrollPaddingTop,scrollSnapAlign,scrollSnapCoordinate,scrollSnapDestination,scrollSnapPointsX,scrollSnapPointsY,scrollSnapStop,scrollSnapType,scrollSnapTypeX,scrollSnapTypeY,scrollTimeline,scrollTimelineAxis,scrollTimelineName,scrollbarColor,scrollbarGutter,scrollbarWidth,shapeImageThreshold,shapeMargin,shapeOutside,shapeRendering,stopColor,stopOpacity,stroke,strokeDasharray,strokeDashoffset,strokeLinecap,strokeLinejoin,strokeMiterlimit,strokeOpacity,strokeWidth,tabSize,tableLayout,textAlign,textAlignLast,textAnchor,textBox,textBoxEdge,textBoxTrim,textCombineUpright,textDecoration,textDecorationColor,textDecorationLine,textDecorationSkip,textDecorationSkipInk,textDecorationStyle,textDecorationThickness,textEmphasis,textEmphasisColor,textEmphasisPosition,textEmphasisStyle,textIndent,textJustify,textOrientation,textOverflow,textRendering,textShadow,textSizeAdjust,textSpacingTrim,textTransform,textUnderlineOffset,textUnderlinePosition,textWrap,textWrapMode,textWrapStyle,timelineScope,top,touchAction,transform,transformBox,transformOrigin,transformStyle,transition,transitionBehavior,transitionDelay,transitionDuration,transitionProperty,transitionTimingFunction,translate,unicodeBidi,userSelect,vectorEffect,verticalAlign,viewTimeline,viewTimelineAxis,viewTimelineInset,viewTimelineName,viewTransitionName,visibility,whiteSpace,whiteSpaceCollapse,widows,width,willChange,wordBreak,wordSpacing,wordWrap,writingMode,x,y,zIndex,zoom,alignmentBaseline,baselineShift,colorInterpolation,colorRendering,glyphOrientationVertical`.split(`,`).concat(g),v=new Map(_.map(e=>[e,!0])),y=/&|@/,b=s(e=>v.has(e)||e.startsWith(`--`)||y.test(e));const x=(e,t)=>!t.includes(e)&&!b(e),S=(e,t)=>e.__shouldForwardProps__&&t?n=>e.__shouldForwardProps__(n)&&t(n):t,C=(e,t)=>{if(e&&!t)return e;if(!e&&t)return t;if(e.__cva__&&t.__cva__||e.__recipe__&&t.__recipe__)return e.merge(t);let n=TypeError(`Cannot merge cva with recipe. Please use either cva or recipe.`);throw TypeError.captureStackTrace?.(n),n},w=e=>typeof e==`string`?e:e?.displayName||e?.name||`Component`;function T(e,t={},r={}){let a=t.__cva__||t.__recipe__?t:p(t),s=r.shouldForwardProp||x,f=e=>r.forwardProps?.includes(e)?!0:s(e,a.variantKeys),m=Object.assign(r.dataAttr&&t.__name__?{"data-recipe":t.__name__}:{},r.defaultProps),h=C(e.__cva__,a),g=S(e,f),_=e.__base__||e,v=l(function(e,r){let{as:a=_,unstyled:s,children:l,...f}=e,p=u(()=>Object.assign({},m,f),[f]),[v,y,x,S,C]=u(()=>i(p,n.keys,g,h.variantKeys,b),[p]);function w(){let{css:e,...t}=S,n=h.__getCompoundVariantCss__?.(x);return d(h(x,!1),o(n,t,e),p.className)}function T(){let{css:e,...t}=S;return d(o(h.raw(x),t,e),p.className)}let E=()=>{if(s){let{css:e,...t}=S;return d(o(t,e),p.className)}return t.__recipe__?w():T()};return c(a,{ref:r,...y,...C,...n(v),className:E()},l??p.children)});return v.displayName=`styled.${w(_)}`,v.__cva__=h,v.__base__=_,v.__shouldForwardProps__=f,v}function E(){let e=new Map;return new Proxy(T,{apply(e,t,n){return T(...n)},get(t,n){return e.has(n)||e.set(n,T(n)),e.get(n)}})}const D=E();export{p as a,h as i,w as n,m as o,b as r,d as s,D as t};
|
package/__app__/chunks/hooks.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import{d as e,i as t}from"./libs/@tanstack/react-router.mjs";import{a as n}from"./Markdown.mjs";import{c as r}from"./libs/@react-hookz/web.mjs";import{n as i,t as a}from"./libs/fast-equals.mjs";import{createContext as o,useContext as s,useEffect as c,useState as l}from"react";import{c as u}from"react-compiler-runtime";import{useLikeC4Projects as d}from"likec4:projects";const f=o(null),p=f.Provider,m=()=>{let e=s(f);if(e===null)throw Error(`LikeC4ModelAtom is not provided`);return e};function h(e){let t=u(3),n=e===void 0?!0:e,i,a;t[0]===n?(i=t[1],a=t[2]):(i=()=>{let e=document.body.parentElement;if(!(!e||n!==!0))return e.classList.add(`transparent-bg`),()=>{e.classList.remove(`transparent-bg`)}},a=[n],t[0]=n,t[1]=i,t[2]=a),r(i,a)}function g(){let e=u(4),t=m(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[],e[0]=n):n=e[0];let[r,o]=l(n),s,d;return e[1]===t?(s=e[2],d=e[3]):(s=()=>t.subscribe(e=>{o(t=>{let n=[...e.views()].map(e=>{let n=e.$layouted,r=t.find(t=>t.id===e.id);return r&&a(n,r)?r:n});return i(t,n)?t:n})}),d=[t],e[1]=t,e[2]=s,e[3]=d),c(s,d),r}function _(){let t=u(1),n;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={select:v,strict:!1},t[0]=n):n=t[0],e(n)??`index`}function v(e){return e.viewId}function y(){let e=u(13),t=_(),r=m(),[i,o]=l(`manual`),s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{o(`manual`)},e[0]=s):s=e[0];let d;e[1]===t?d=e[2]:(d=[t],e[1]=t,e[2]=d),n(s,d);let f;e[3]!==r||e[4]!==t?(f=()=>r.get().findView(t)?.$layouted??null,e[3]=r,e[4]=t,e[5]=f):f=e[5];let[p,h]=l(f),g,v;e[6]!==r||e[7]!==i||e[8]!==t?(g=()=>r.subscribe(e=>{h(n=>{let r=e.findView(t);if(!r)return null;let o=i===`auto`?r.$view:r.$layouted;return a(n,o)?n:o})}),v=[r,t,i],e[6]=r,e[7]=i,e[8]=t,e[9]=g,e[10]=v):(g=e[9],v=e[10]),c(g,v);let y;return e[11]===p?y=e[12]:(y=[p,o],e[11]=p,e[12]=y),y}function b(){let e=u(4),n=d(),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={select:x},e[0]=r):r=e[0];let i=t(r),a;return e[1]!==i||e[2]!==n?(a=i&&n.find(e=>e.id===i)||n[0],e[1]=i,e[2]=n,e[3]=a):a=e[3],a}function x(e){return e.find(e=>e.routeId===`/project/$projectId`)?.params?.projectId??e.at(-1)?.context.projectId??void 0}export{h as a,g as i,y as n,p as o,_ as r,m as s,b as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{m as e,p as t,s as n,t as r}from"./css.mjs";import{t as i}from"./factory.mjs";import{createContext as a,createElement as o,forwardRef as s,useContext as c}from"react";var l=a(null);l.displayName=`DiagramActorSafeContext`;var u=a(null);u.displayName=`DiagramApiSafeContext`;var d=l.Provider,f=u.Provider;function p(){let e=c(l);if(e===null)throw Error(`DiagramActorRef is not provided`);return e}function m(){let e=c(u);if(e===null)throw Error(`DiagramApi is not provided`);return e}const h={transform(e){let{justify:t,gap:n,...r}=e;return{display:`flex`,alignItems:`center`,justifyContent:t,gap:n,flexDirection:`column`,...r}},defaultValues:{alignItems:`stretch`,gap:`sm`}},g=(e={})=>{let r=n(h,e);return h.transform(r,t)},_=e=>r(g(e));_.raw=g;const v=s(function(t,n){let[r,a]=e(t,[`justify`,`gap`]),s={ref:n,...g(r),...a};return o(i.div,s)}),y={transform(e){let{justify:t,gap:n,...r}=e;return{display:`flex`,alignItems:`center`,justifyContent:t,gap:n,flexDirection:`row`,...r}},defaultValues:{gap:`sm`}},b=(e={})=>{let r=n(y,e);return y.transform(r,t)},x=e=>r(b(e));x.raw=b;const S=s(function(t,n){let[r,a]=e(t,[`justify`,`gap`]),s={ref:n,...b(r),...a};return o(i.div,s)});export{d as a,p as c,_ as i,x as n,f as o,v as r,m as s,S as t};
|