likec4 1.57.0 → 1.59.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__app__/codegen/react.mjs +7 -8
- package/__app__/codegen/webcomponent.mjs +78 -889
- package/__app__/src/aichat/index.mjs +8 -1
- package/__app__/src/chunks/AIChat.mjs +956 -0
- package/__app__/src/chunks/LikeC4Styles.mjs +2164 -0
- package/__app__/src/chunks/ProjectsOverview.mjs +537 -0
- package/__app__/src/chunks/es.mjs +439 -0
- package/__app__/src/chunks/hooks.mjs +458 -0
- package/__app__/src/chunks/libs/@floating-ui.mjs +2218 -0
- package/__app__/src/chunks/libs/@mantine.mjs +12974 -0
- package/__app__/src/chunks/libs/@tanstack-ai.mjs +1768 -0
- package/__app__/src/chunks/libs/@tanstack.mjs +2693 -0
- package/__app__/src/chunks/libs/@xstate/react.mjs +1996 -0
- package/__app__/src/chunks/libs/@xyflow/react.mjs +5280 -0
- package/__app__/src/chunks/libs/bezier-js.mjs +1006 -0
- package/__app__/src/chunks/libs/d3.mjs +2842 -0
- package/__app__/src/chunks/libs/fast-equals.mjs +268 -0
- package/__app__/src/chunks/libs/framer.mjs +5905 -0
- package/__app__/src/chunks/libs/zod.mjs +3173 -0
- package/__app__/src/chunks/rolldown-runtime.mjs +30 -0
- package/__app__/src/chunks/styled-system.mjs +1047 -0
- package/__app__/src/fonts.css +1 -1
- package/__app__/src/main.mjs +27659 -14
- package/__app__/src/style.css +1 -1
- package/dist/chunks/dist.mjs +10 -0
- package/dist/chunks/enableServer.mjs +1 -1
- package/dist/chunks/filenames.mjs +2 -2
- package/dist/chunks/index.d.mts +9 -9
- package/dist/chunks/index2.d.mts +2167 -867
- package/dist/chunks/libs/@chevrotain/gast.mjs +1 -1
- package/dist/chunks/libs/@chevrotain/regexp-to-ast.mjs +1 -1
- package/dist/chunks/libs/@logtape/logtape.mjs +4 -3
- package/dist/chunks/libs/@ts-graphviz/common.d.mts +1 -2
- package/dist/chunks/libs/@ts-graphviz/core.mjs +1 -1
- package/dist/chunks/libs/chevrotain-allstar.mjs +2 -2
- package/dist/chunks/libs/chevrotain.mjs +25 -25
- package/dist/chunks/libs/json5.mjs +1 -1
- package/dist/chunks/libs/langium.d.mts +2940 -2914
- package/dist/chunks/libs/langium.mjs +9 -9
- package/dist/chunks/libs/merge-error-cause.mjs +1 -1
- package/dist/chunks/libs/p-queue.mjs +1 -1
- package/dist/chunks/libs/package-manager-detector.mjs +1 -1
- package/dist/chunks/libs/pako.mjs +1 -1
- package/dist/chunks/libs/picomatch.mjs +1 -1
- package/dist/chunks/libs/pretty-ms.mjs +1 -1
- package/dist/chunks/libs/remeda.mjs +1 -1
- package/dist/chunks/libs/ufo.mjs +1 -1
- package/dist/chunks/libs/unstorage.d.mts +1 -0
- package/dist/chunks/libs/unstorage.mjs +1 -1
- package/dist/chunks/libs/which.mjs +1 -1
- package/dist/chunks/libs/zod.d.mts +48 -36
- package/dist/chunks/libs/zod.mjs +65 -0
- package/dist/chunks/logger.mjs +1 -0
- package/dist/chunks/node.mjs +65 -63
- package/dist/chunks/rolldown-runtime.mjs +1 -1
- package/dist/chunks/sequence-view.mjs +1 -1
- package/dist/chunks/{plugin.mjs → vite-plugin.mjs} +41 -41
- package/dist/cli/index.mjs +186 -144
- package/dist/index.d.mts +3 -4
- package/dist/index.mjs +1 -1
- package/dist/model/index.d.mts +6 -5
- package/dist/vite-plugin/index.d.mts +6 -9
- package/dist/vite-plugin/index.mjs +1 -1
- package/dist/vite-plugin/internal/index.d.mts +64 -64
- package/dist/vite-plugin/internal/index.mjs +946 -1
- package/package.json +51 -52
- package/react/index.d.mts +853 -134
- package/react/index.mjs +49718 -44030
- package/__app__/chunks/AIChat2.mjs +0 -2
- package/__app__/chunks/DiagramActorProvider.mjs +0 -10
- package/__app__/chunks/EmbedPage.mjs +0 -1
- package/__app__/chunks/ExportPage.mjs +0 -2
- package/__app__/chunks/LikeC4Diagram.mjs +0 -19
- package/__app__/chunks/LikeC4Styles.mjs +0 -48
- package/__app__/chunks/Markdown.mjs +0 -1
- package/__app__/chunks/NavigationPanel.mjs +0 -1
- package/__app__/chunks/ViewReact.mjs +0 -1
- package/__app__/chunks/adhoc-editor.mjs +0 -1
- package/__app__/chunks/aichat.mjs +0 -1
- package/__app__/chunks/box.mjs +0 -1
- package/__app__/chunks/create-style-context.mjs +0 -1
- package/__app__/chunks/css.mjs +0 -1
- package/__app__/chunks/factory.mjs +0 -1
- package/__app__/chunks/hooks.mjs +0 -1
- package/__app__/chunks/hstack.mjs +0 -1
- package/__app__/chunks/libs/@dagrejs/dagre.mjs +0 -1
- package/__app__/chunks/libs/@floating-ui/core.mjs +0 -1
- package/__app__/chunks/libs/@floating-ui/dom.mjs +0 -1
- package/__app__/chunks/libs/@floating-ui/react.mjs +0 -1
- package/__app__/chunks/libs/@mantine/core.mjs +0 -41
- package/__app__/chunks/libs/@mantine/hooks.mjs +0 -1
- package/__app__/chunks/libs/@nanostores/react.mjs +0 -1
- package/__app__/chunks/libs/@react-hookz/web.mjs +0 -1
- package/__app__/chunks/libs/@tabler/icons-react.mjs +0 -358
- package/__app__/chunks/libs/@tanstack/ai-client.mjs +0 -2
- package/__app__/chunks/libs/@tanstack/ai-react-ui.mjs +0 -1
- package/__app__/chunks/libs/@tanstack/ai-react.mjs +0 -1
- package/__app__/chunks/libs/@tanstack/ai.mjs +0 -2
- package/__app__/chunks/libs/@tanstack/history.mjs +0 -1
- package/__app__/chunks/libs/@tanstack/react-router.mjs +0 -3
- package/__app__/chunks/libs/@tanstack/router-core.mjs +0 -1
- package/__app__/chunks/libs/@xstate/react.mjs +0 -1
- package/__app__/chunks/libs/@xstate/store.mjs +0 -1
- package/__app__/chunks/libs/@xyflow/react.mjs +0 -7
- package/__app__/chunks/libs/@zag-js/anatomy.mjs +0 -1
- package/__app__/chunks/libs/@zag-js/collection.mjs +0 -1
- package/__app__/chunks/libs/@zag-js/core.mjs +0 -1
- package/__app__/chunks/libs/@zag-js/react.mjs +0 -1
- package/__app__/chunks/libs/@zag-js/tree-view.mjs +0 -1
- package/__app__/chunks/libs/bezier-js.mjs +0 -1
- package/__app__/chunks/libs/copy-anything.mjs +0 -1
- package/__app__/chunks/libs/d3-path.mjs +0 -1
- package/__app__/chunks/libs/d3-shape.mjs +0 -1
- package/__app__/chunks/libs/fast-equals.mjs +0 -1
- package/__app__/chunks/libs/framer-motion.mjs +0 -9
- package/__app__/chunks/libs/html-to-image.mjs +0 -2
- package/__app__/chunks/libs/motion-dom.mjs +0 -1
- package/__app__/chunks/libs/nanostores.mjs +0 -1
- package/__app__/chunks/libs/react-error-boundary.mjs +0 -1
- package/__app__/chunks/libs/react-resizable-panels.mjs +0 -1
- package/__app__/chunks/libs/remeda.mjs +0 -1
- package/__app__/chunks/libs/superjson.mjs +0 -1
- package/__app__/chunks/libs/zod.mjs +0 -64
- package/__app__/chunks/rolldown-runtime.mjs +0 -1
- package/__app__/chunks/styles.css.mjs +0 -1
- package/__app__/chunks/txt.mjs +0 -1
- package/__app__/chunks/useLikeC4Project.mjs +0 -1
- package/__app__/src/pages/AdHocViewEditor.mjs +0 -1
- package/__app__/src/pages/EmbedPage.mjs +0 -1
- package/__app__/src/pages/ExportPage.mjs +0 -1
- package/__app__/src/pages/ProjectsOverview.mjs +0 -1
- package/__app__/src/pages/ViewAsD2.mjs +0 -1
- package/__app__/src/pages/ViewAsDot.mjs +0 -1
- package/__app__/src/pages/ViewAsMmd.mjs +0 -1
- package/__app__/src/pages/ViewAsPuml.mjs +0 -1
- package/__app__/src/pages/ViewEditor.mjs +0 -1
- package/__app__/src/pages/ViewReact.mjs +0 -1
- package/dist/chunks/libs/@chevrotain/utils.mjs +0 -1
- package/dist/chunks/libs/@hono/mcp.mjs +0 -70
- package/dist/chunks/libs/@hono/node-server.mjs +0 -1
- package/dist/chunks/libs/@logtape/logtape.d.mts +0 -1023
- package/dist/chunks/libs/@modelcontextprotocol/sdk.mjs +0 -12
- package/dist/chunks/libs/ajv.mjs +0 -1
- package/dist/chunks/libs/ansi-align.mjs +0 -2
- package/dist/chunks/libs/ansi-regex.mjs +0 -1
- package/dist/chunks/libs/ansi-styles.mjs +0 -1
- package/dist/chunks/libs/atomically.mjs +0 -1
- package/dist/chunks/libs/boxen.mjs +0 -22
- package/dist/chunks/libs/conf.mjs +0 -1
- package/dist/chunks/libs/defu.mjs +0 -1
- package/dist/chunks/libs/destr.mjs +0 -1
- package/dist/chunks/libs/find-up-simple.mjs +0 -1
- package/dist/chunks/libs/get-port.mjs +0 -1
- package/dist/chunks/libs/hono.mjs +0 -1
- package/dist/chunks/libs/is-docker.mjs +0 -1
- package/dist/chunks/libs/is-error-instance.mjs +0 -1
- package/dist/chunks/libs/is-inside-container.mjs +0 -1
- package/dist/chunks/libs/is-plain-obj.mjs +0 -1
- package/dist/chunks/libs/isexe.mjs +0 -1
- package/dist/chunks/libs/ky.mjs +0 -3
- package/dist/chunks/libs/p-debounce.mjs +0 -1
- package/dist/chunks/libs/p-limit.mjs +0 -1
- package/dist/chunks/libs/p-timeout.mjs +0 -1
- package/dist/chunks/libs/package-up.mjs +0 -1
- package/dist/chunks/libs/parse-ms.mjs +0 -1
- package/dist/chunks/libs/safe-stringify.mjs +0 -1
- package/dist/chunks/libs/strip-indent.mjs +0 -1
- package/dist/chunks/libs/tinyrainbow.mjs +0 -1
- package/dist/chunks/libs/ts-graphviz.mjs +0 -1
- package/dist/chunks/libs/unctx.mjs +0 -1
- package/dist/chunks/libs/vscode-languageserver.mjs +0 -1
- package/dist/chunks/libs/word-wrap.mjs +0 -12
- package/dist/vite-plugin/internal/chunks/libs/@nanostores/react.mjs +0 -1
- package/dist/vite-plugin/internal/chunks/libs/birpc.mjs +0 -1
- package/dist/vite-plugin/internal/chunks/libs/fast-equals.mjs +0 -1
- package/dist/vite-plugin/internal/chunks/libs/nanostores.mjs +0 -1
- package/dist/vite-plugin/internal/chunks/libs/remeda.mjs +0 -1
- package/dist/vite-plugin/internal/chunks/rolldown-runtime.mjs +0 -1
|
@@ -0,0 +1,2164 @@
|
|
|
1
|
+
import { i as r } from "./rolldown-runtime.mjs";
|
|
2
|
+
import { A as i, F as a, R as o, S as s, _ as c, c as l, j as u, y as d } from "./hooks.mjs";
|
|
3
|
+
import { Mt as f, Nt as p, Ot as m, Pt as h, Qt as g, g as _, h as v, ht as y, kt as b, xt as x } from "./libs/@mantine.mjs";
|
|
4
|
+
import { D as S, E as C, M as w, N as T, c as E, d as D, f as O, g as k, h as A, k as j, l as M, t as N, u as P } from "./styled-system.mjs";
|
|
5
|
+
import { _ as F, a as I, b as L, f as R, g as z, h as B, i as ee, m as V, n as H, t as U } from "./libs/@xyflow/react.mjs";
|
|
6
|
+
import { n as te, t as W } from "./libs/fast-equals.mjs";
|
|
7
|
+
import { t as ne } from "./libs/bezier-js.mjs";
|
|
8
|
+
import { d as re, f as ie, l as ae, n as oe, r as G, u as se } from "./libs/framer.mjs";
|
|
9
|
+
import { createContext as ce, forwardRef as K, memo as le, useContext as q, useEffect as ue, useMemo as de, useRef as fe, useState as pe } from "react";
|
|
10
|
+
import { c as J } from "react/compiler-runtime";
|
|
11
|
+
import { Fragment as Y, jsx as X, jsxs as Z } from "react/jsx-runtime";
|
|
12
|
+
import { RichText as me, invariant as he, nonexhaustive as ge } from "@likec4/core";
|
|
13
|
+
import { BBox as Q, vector as $, vector as _e } from "@likec4/core/geometry";
|
|
14
|
+
import { invariant as ve } from "@likec4/core/utils";
|
|
15
|
+
import { LikeC4Styles as ye } from "@likec4/core/styles";
|
|
16
|
+
import { RichText as be, ensureSizes as xe } from "@likec4/core/types";
|
|
17
|
+
//#region ../../node_modules/.pnpm/remeda@2.37.0/node_modules/remeda/dist/clamp.js
|
|
18
|
+
function t$4(...r) {
|
|
19
|
+
return o(Se, r);
|
|
20
|
+
}
|
|
21
|
+
r(t$4, "t");
|
|
22
|
+
var Se = /* @__PURE__ */ r((r, { min: i, max: a }) => i !== void 0 && r < i ? i : a !== void 0 && r > a ? a : r, "n");
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region ../../node_modules/.pnpm/remeda@2.37.0/node_modules/remeda/dist/hasAtLeast.js
|
|
25
|
+
function t$3(...r) {
|
|
26
|
+
return o(Ce, r);
|
|
27
|
+
}
|
|
28
|
+
r(t$3, "t");
|
|
29
|
+
var Ce = /* @__PURE__ */ r((r, i) => r.length >= i, "n");
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region ../../node_modules/.pnpm/remeda@2.37.0/node_modules/remeda/dist/entries.js
|
|
32
|
+
function t$2(...r) {
|
|
33
|
+
return o(Object.entries, r);
|
|
34
|
+
}
|
|
35
|
+
r(t$2, "t");
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region ../../node_modules/.pnpm/remeda@2.37.0/node_modules/remeda/dist/isArray.js
|
|
38
|
+
function e$2(r) {
|
|
39
|
+
return Array.isArray(r);
|
|
40
|
+
}
|
|
41
|
+
r(e$2, "e");
|
|
42
|
+
//#endregion
|
|
43
|
+
//#region ../../node_modules/.pnpm/remeda@2.37.0/node_modules/remeda/dist/isNumber.js
|
|
44
|
+
function e$1(r) {
|
|
45
|
+
return typeof r == "number" && !Number.isNaN(r);
|
|
46
|
+
}
|
|
47
|
+
r(e$1, "e");
|
|
48
|
+
//#endregion
|
|
49
|
+
//#region ../../node_modules/.pnpm/remeda@2.37.0/node_modules/remeda/dist/isTruthy.js
|
|
50
|
+
function e(r) {
|
|
51
|
+
return !!r;
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
//#region ../../node_modules/.pnpm/remeda@2.37.0/node_modules/remeda/dist/join.js
|
|
55
|
+
function t$1(...r) {
|
|
56
|
+
return o(we, r);
|
|
57
|
+
}
|
|
58
|
+
r(t$1, "t");
|
|
59
|
+
var we = /* @__PURE__ */ r((r, i) => r.join(i), "n");
|
|
60
|
+
//#endregion
|
|
61
|
+
//#region ../../node_modules/.pnpm/remeda@2.37.0/node_modules/remeda/dist/pickBy.js
|
|
62
|
+
function t(...r) {
|
|
63
|
+
return o(n, r);
|
|
64
|
+
}
|
|
65
|
+
function n(r, i) {
|
|
66
|
+
let a = {};
|
|
67
|
+
for (let [o, s] of Object.entries(r)) i(s, o, r) && (a[o] = s);
|
|
68
|
+
return a;
|
|
69
|
+
}
|
|
70
|
+
var Te = i("outline", "bolt", "Bolt", [["path", {
|
|
71
|
+
d: "M13 3l0 7l6 0l-8 11l0 -7l-6 0l8 -11",
|
|
72
|
+
key: "svg-0"
|
|
73
|
+
}]]), Ee = i("outline", "browser", "Browser", [
|
|
74
|
+
["path", {
|
|
75
|
+
d: "M4 8h16",
|
|
76
|
+
key: "svg-0"
|
|
77
|
+
}],
|
|
78
|
+
["path", {
|
|
79
|
+
d: "M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12",
|
|
80
|
+
key: "svg-1"
|
|
81
|
+
}],
|
|
82
|
+
["path", {
|
|
83
|
+
d: "M8 4v4",
|
|
84
|
+
key: "svg-2"
|
|
85
|
+
}]
|
|
86
|
+
]), De = i("outline", "cylinder", "Cylinder", [["path", {
|
|
87
|
+
d: "M5 6a7 3 0 1 0 14 0a7 3 0 1 0 -14 0",
|
|
88
|
+
key: "svg-0"
|
|
89
|
+
}], ["path", {
|
|
90
|
+
d: "M5 6v12c0 1.657 3.134 3 7 3s7 -1.343 7 -3v-12",
|
|
91
|
+
key: "svg-1"
|
|
92
|
+
}]]), Oe = i("outline", "device-mobile", "DeviceMobile", [
|
|
93
|
+
["path", {
|
|
94
|
+
d: "M6 5a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2v-14",
|
|
95
|
+
key: "svg-0"
|
|
96
|
+
}],
|
|
97
|
+
["path", {
|
|
98
|
+
d: "M11 4h2",
|
|
99
|
+
key: "svg-1"
|
|
100
|
+
}],
|
|
101
|
+
["path", {
|
|
102
|
+
d: "M12 17v.01",
|
|
103
|
+
key: "svg-2"
|
|
104
|
+
}]
|
|
105
|
+
]), ke = i("outline", "file-text", "FileText", [
|
|
106
|
+
["path", {
|
|
107
|
+
d: "M14 3v4a1 1 0 0 0 1 1h4",
|
|
108
|
+
key: "svg-0"
|
|
109
|
+
}],
|
|
110
|
+
["path", {
|
|
111
|
+
d: "M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2",
|
|
112
|
+
key: "svg-1"
|
|
113
|
+
}],
|
|
114
|
+
["path", {
|
|
115
|
+
d: "M9 9l1 0",
|
|
116
|
+
key: "svg-2"
|
|
117
|
+
}],
|
|
118
|
+
["path", {
|
|
119
|
+
d: "M9 13l6 0",
|
|
120
|
+
key: "svg-3"
|
|
121
|
+
}],
|
|
122
|
+
["path", {
|
|
123
|
+
d: "M9 17l6 0",
|
|
124
|
+
key: "svg-4"
|
|
125
|
+
}]
|
|
126
|
+
]), Ae = i("outline", "rectangular-prism", "RectangularPrism", [
|
|
127
|
+
["path", {
|
|
128
|
+
d: "M21 14.008v-5.018a1.98 1.98 0 0 0 -1 -1.717l-4 -2.008a2.016 2.016 0 0 0 -2 0l-10 5.008c-.619 .355 -1 1.01 -1 1.718v5.018c0 .709 .381 1.363 1 1.717l4 2.008a2.016 2.016 0 0 0 2 0l10 -5.008c.619 -.355 1 -1.01 1 -1.718",
|
|
129
|
+
key: "svg-0"
|
|
130
|
+
}],
|
|
131
|
+
["path", {
|
|
132
|
+
d: "M9 21v-7.5",
|
|
133
|
+
key: "svg-1"
|
|
134
|
+
}],
|
|
135
|
+
["path", {
|
|
136
|
+
d: "M9 13.5l11.5 -5.5",
|
|
137
|
+
key: "svg-2"
|
|
138
|
+
}],
|
|
139
|
+
["path", {
|
|
140
|
+
d: "M3.5 11l5.5 2.5",
|
|
141
|
+
key: "svg-3"
|
|
142
|
+
}]
|
|
143
|
+
]), je = i("outline", "reorder", "Reorder", [
|
|
144
|
+
["path", {
|
|
145
|
+
d: "M3 16a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -2",
|
|
146
|
+
key: "svg-0"
|
|
147
|
+
}],
|
|
148
|
+
["path", {
|
|
149
|
+
d: "M10 16a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -2",
|
|
150
|
+
key: "svg-1"
|
|
151
|
+
}],
|
|
152
|
+
["path", {
|
|
153
|
+
d: "M17 16a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -2",
|
|
154
|
+
key: "svg-2"
|
|
155
|
+
}],
|
|
156
|
+
["path", {
|
|
157
|
+
d: "M5 11v-3a3 3 0 0 1 3 -3h8a3 3 0 0 1 3 3v3",
|
|
158
|
+
key: "svg-3"
|
|
159
|
+
}],
|
|
160
|
+
["path", {
|
|
161
|
+
d: "M16.5 8.5l2.5 2.5l2.5 -2.5",
|
|
162
|
+
key: "svg-4"
|
|
163
|
+
}]
|
|
164
|
+
]), Me = i("outline", "user", "User", [["path", {
|
|
165
|
+
d: "M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0",
|
|
166
|
+
key: "svg-0"
|
|
167
|
+
}], ["path", {
|
|
168
|
+
d: "M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2",
|
|
169
|
+
key: "svg-1"
|
|
170
|
+
}]]), Ne = i("outline", "zoom-scan", "ZoomScan", [
|
|
171
|
+
["path", {
|
|
172
|
+
d: "M8 11a3 3 0 1 0 6 0a3 3 0 0 0 -6 0",
|
|
173
|
+
key: "svg-0"
|
|
174
|
+
}],
|
|
175
|
+
["path", {
|
|
176
|
+
d: "M16 16l-2.5 -2.5",
|
|
177
|
+
key: "svg-1"
|
|
178
|
+
}],
|
|
179
|
+
["path", {
|
|
180
|
+
d: "M3 7v-2a2 2 0 0 1 2 -2h2",
|
|
181
|
+
key: "svg-2"
|
|
182
|
+
}],
|
|
183
|
+
["path", {
|
|
184
|
+
d: "M3 17v2a2 2 0 0 0 2 2h2",
|
|
185
|
+
key: "svg-3"
|
|
186
|
+
}],
|
|
187
|
+
["path", {
|
|
188
|
+
d: "M17 3h2a2 2 0 0 1 2 2v2",
|
|
189
|
+
key: "svg-4"
|
|
190
|
+
}],
|
|
191
|
+
["path", {
|
|
192
|
+
d: "M17 21h2a2 2 0 0 0 2 -2v-2",
|
|
193
|
+
key: "svg-5"
|
|
194
|
+
}]
|
|
195
|
+
]), Pe = ce(null);
|
|
196
|
+
function IconRendererProvider(r) {
|
|
197
|
+
let i = J(5), { value: a, children: o } = r;
|
|
198
|
+
if (q(Pe)) {
|
|
199
|
+
let r;
|
|
200
|
+
return i[0] === o ? r = i[1] : (r = /* @__PURE__ */ X(Y, { children: o }), i[0] = o, i[1] = r), r;
|
|
201
|
+
}
|
|
202
|
+
let s;
|
|
203
|
+
return i[2] !== o || i[3] !== a ? (s = /* @__PURE__ */ X(Pe.Provider, {
|
|
204
|
+
value: a,
|
|
205
|
+
children: o
|
|
206
|
+
}), i[2] = o, i[3] = a, i[4] = s) : s = i[4], s;
|
|
207
|
+
}
|
|
208
|
+
function decodeSvgDataUrl(r) {
|
|
209
|
+
if (!r.startsWith("data:image/svg+xml")) return null;
|
|
210
|
+
try {
|
|
211
|
+
if (r.includes(";base64,")) {
|
|
212
|
+
let i = r.split(";base64,")[1];
|
|
213
|
+
if (i) return atob(i);
|
|
214
|
+
} else {
|
|
215
|
+
let i = r.split(",")[1];
|
|
216
|
+
if (i) return decodeURIComponent(i);
|
|
217
|
+
}
|
|
218
|
+
} catch {}
|
|
219
|
+
return null;
|
|
220
|
+
}
|
|
221
|
+
function IconRenderer({ element: r, className: i, style: a }) {
|
|
222
|
+
let o = q(Pe);
|
|
223
|
+
if (!r || !r.icon || r.icon === "none") return null;
|
|
224
|
+
let s;
|
|
225
|
+
switch (!0) {
|
|
226
|
+
case r.icon.startsWith("data:image/svg+xml"):
|
|
227
|
+
s = /* @__PURE__ */ X(SvgDataUrlIcon, {
|
|
228
|
+
dataUrl: r.icon,
|
|
229
|
+
alt: r.title
|
|
230
|
+
});
|
|
231
|
+
break;
|
|
232
|
+
case r.icon.startsWith("http://"):
|
|
233
|
+
case r.icon.startsWith("https://"):
|
|
234
|
+
case r.icon.startsWith("data:image"):
|
|
235
|
+
s = /* @__PURE__ */ X("img", {
|
|
236
|
+
src: r.icon,
|
|
237
|
+
alt: r.title
|
|
238
|
+
});
|
|
239
|
+
break;
|
|
240
|
+
case !!o:
|
|
241
|
+
s = /* @__PURE__ */ X(o, { node: r });
|
|
242
|
+
break;
|
|
243
|
+
default:
|
|
244
|
+
s = null;
|
|
245
|
+
break;
|
|
246
|
+
}
|
|
247
|
+
return s ? /* @__PURE__ */ X("div", {
|
|
248
|
+
className: w(i, "likec4-element-icon"),
|
|
249
|
+
"data-likec4-icon": r.icon,
|
|
250
|
+
style: a,
|
|
251
|
+
children: s
|
|
252
|
+
}) : null;
|
|
253
|
+
}
|
|
254
|
+
var Fe = {
|
|
255
|
+
browser: Ee,
|
|
256
|
+
cylinder: De,
|
|
257
|
+
mobile: Oe,
|
|
258
|
+
person: Me,
|
|
259
|
+
queue: je,
|
|
260
|
+
rectangle: Ae,
|
|
261
|
+
storage: De,
|
|
262
|
+
bucket: De,
|
|
263
|
+
document: ke,
|
|
264
|
+
component: Ae
|
|
265
|
+
};
|
|
266
|
+
function IconOrShapeRenderer(r) {
|
|
267
|
+
let i = J(12), { element: a, className: o, style: s } = r;
|
|
268
|
+
if (!a.icon || a.icon === "none") {
|
|
269
|
+
let r = Fe[a.shape], c;
|
|
270
|
+
i[0] === o ? c = i[1] : (c = w(o, "likec4-shape-icon"), i[0] = o, i[1] = c);
|
|
271
|
+
let l;
|
|
272
|
+
i[2] === r ? l = i[3] : (l = /* @__PURE__ */ X(r, {}), i[2] = r, i[3] = l);
|
|
273
|
+
let u;
|
|
274
|
+
return i[4] !== s || i[5] !== c || i[6] !== l ? (u = /* @__PURE__ */ X("div", {
|
|
275
|
+
className: c,
|
|
276
|
+
style: s,
|
|
277
|
+
children: l
|
|
278
|
+
}), i[4] = s, i[5] = c, i[6] = l, i[7] = u) : u = i[7], u;
|
|
279
|
+
}
|
|
280
|
+
let c;
|
|
281
|
+
return i[8] !== o || i[9] !== a || i[10] !== s ? (c = /* @__PURE__ */ X(IconRenderer, {
|
|
282
|
+
element: a,
|
|
283
|
+
className: o,
|
|
284
|
+
style: s
|
|
285
|
+
}), i[8] = o, i[9] = a, i[10] = s, i[11] = c) : c = i[11], c;
|
|
286
|
+
}
|
|
287
|
+
function SvgDataUrlIcon(r) {
|
|
288
|
+
let i = J(11), a, o;
|
|
289
|
+
i[0] === r ? (a = i[1], o = i[2]) : ({dataUrl: a, ...o} = r, i[0] = r, i[1] = a, i[2] = o);
|
|
290
|
+
let s;
|
|
291
|
+
i[3] === a ? s = i[4] : (s = decodeSvgDataUrl(a), i[3] = a, i[4] = s);
|
|
292
|
+
let c = s;
|
|
293
|
+
if (!c) return null;
|
|
294
|
+
let l;
|
|
295
|
+
i[5] === Symbol.for("react.memo_cache_sentinel") ? (l = { display: "contents" }, i[5] = l) : l = i[5];
|
|
296
|
+
let u;
|
|
297
|
+
i[6] === c ? u = i[7] : (u = { __html: c }, i[6] = c, i[7] = u);
|
|
298
|
+
let d;
|
|
299
|
+
return i[8] !== o || i[9] !== u ? (d = /* @__PURE__ */ X("span", {
|
|
300
|
+
...o,
|
|
301
|
+
style: l,
|
|
302
|
+
dangerouslySetInnerHTML: u
|
|
303
|
+
}), i[8] = o, i[9] = u, i[10] = d) : d = i[10], d;
|
|
304
|
+
}
|
|
305
|
+
//#endregion
|
|
306
|
+
//#region ../diagram/src/base/Background.tsx
|
|
307
|
+
function literalToEnum(r) {
|
|
308
|
+
switch (r) {
|
|
309
|
+
case "dots": return H.Dots;
|
|
310
|
+
case "lines": return H.Lines;
|
|
311
|
+
case "cross": return H.Cross;
|
|
312
|
+
default: ge(r);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
var compareProps = (r, i) => typeof r.background == "string" && typeof i.background == "string" ? r.background === i.background : W(r.background, i.background), Ie = le((r) => {
|
|
316
|
+
let i = J(6), { background: a } = r;
|
|
317
|
+
if (typeof a == "string") {
|
|
318
|
+
let r;
|
|
319
|
+
i[0] === a ? r = i[1] : (r = literalToEnum(a), i[0] = a, i[1] = r);
|
|
320
|
+
let o;
|
|
321
|
+
return i[2] === r ? o = i[3] : (o = /* @__PURE__ */ X(U, {
|
|
322
|
+
variant: r,
|
|
323
|
+
size: 2,
|
|
324
|
+
gap: 20
|
|
325
|
+
}), i[2] = r, i[3] = o), o;
|
|
326
|
+
}
|
|
327
|
+
let o;
|
|
328
|
+
return i[4] === a ? o = i[5] : (o = /* @__PURE__ */ X(U, { ...a }), i[4] = a, i[5] = o), o;
|
|
329
|
+
}, compareProps);
|
|
330
|
+
Ie.displayName = "Background";
|
|
331
|
+
//#endregion
|
|
332
|
+
//#region ../diagram/src/hooks/useCallbackRef.ts
|
|
333
|
+
function useCallbackRef(r) {
|
|
334
|
+
let i = fe(r);
|
|
335
|
+
return i.current = r, de(() => {
|
|
336
|
+
function callbackRef(...r) {
|
|
337
|
+
return i.current?.(...r);
|
|
338
|
+
}
|
|
339
|
+
return callbackRef;
|
|
340
|
+
}, []);
|
|
341
|
+
}
|
|
342
|
+
//#endregion
|
|
343
|
+
//#region ../diagram/src/hooks/useXYFlow.ts
|
|
344
|
+
function useXYFlow() {
|
|
345
|
+
return V();
|
|
346
|
+
}
|
|
347
|
+
function useXYStore(r, i) {
|
|
348
|
+
return B(r, i ?? te);
|
|
349
|
+
}
|
|
350
|
+
function selectXYStore(r) {
|
|
351
|
+
return r;
|
|
352
|
+
}
|
|
353
|
+
function useXYStoreApi() {
|
|
354
|
+
return z();
|
|
355
|
+
}
|
|
356
|
+
function useCurrentZoomAtLeast(r) {
|
|
357
|
+
let i = J(2), t0;
|
|
358
|
+
return i[0] === r ? t0 = i[1] : (t0 = (i) => i.transform[2] >= r, i[0] = r, i[1] = t0), B(t0);
|
|
359
|
+
}
|
|
360
|
+
var selectZoom = (r) => r.transform[2] < .2;
|
|
361
|
+
function useIsZoomTooSmall() {
|
|
362
|
+
return B(selectZoom);
|
|
363
|
+
}
|
|
364
|
+
//#endregion
|
|
365
|
+
//#region ../diagram/src/utils/roundDpr.ts
|
|
366
|
+
function getDevicePixelRatio() {
|
|
367
|
+
let r = typeof window < "u" && typeof window.devicePixelRatio == "number" ? window.devicePixelRatio : 1;
|
|
368
|
+
return t$4(Math.floor(r), {
|
|
369
|
+
min: 1,
|
|
370
|
+
max: 4
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
var Le;
|
|
374
|
+
function roundDpr(r) {
|
|
375
|
+
return Le ??= getDevicePixelRatio(), Le < 2 ? Math.round(r) : Math.round(r * Le) / Le;
|
|
376
|
+
}
|
|
377
|
+
//#endregion
|
|
378
|
+
//#region ../diagram/src/utils/xyflow.ts
|
|
379
|
+
function nodeToRect(r) {
|
|
380
|
+
return {
|
|
381
|
+
x: Math.trunc(r.internals.positionAbsolute.x),
|
|
382
|
+
y: Math.trunc(r.internals.positionAbsolute.y),
|
|
383
|
+
width: Math.round(r.measured?.width ?? r.width ?? r.initialWidth ?? 0),
|
|
384
|
+
height: Math.round(r.measured?.height ?? r.height ?? r.initialHeight ?? 0)
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
function getNodeCenter(r) {
|
|
388
|
+
let { width: i, height: a } = L(r), { x: o, y: s } = r.internals.positionAbsolute;
|
|
389
|
+
return {
|
|
390
|
+
x: Math.round(o + i / 2),
|
|
391
|
+
y: Math.round(s + a / 2)
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
function getNodeIntersectionFromCenterToPoint(r, i, a = 0) {
|
|
395
|
+
let { width: o, height: s } = r, c = Q.center(r), l = $(i.x, i.y).subtract(c), u = (a + o / 2) / l.x, d = (a + s / 2) / l.y, f = Math.min(Math.abs(u), Math.abs(d));
|
|
396
|
+
return $(l).multiply(f).add(c).trunc().toObject();
|
|
397
|
+
}
|
|
398
|
+
function bezierControlPoints(r) {
|
|
399
|
+
let [i, ...a] = r;
|
|
400
|
+
ve(i, "start should be defined");
|
|
401
|
+
let o = [];
|
|
402
|
+
for (; t$3(a, 3);) {
|
|
403
|
+
let [r, s, c, ...l] = a, u = new ne(i[0], i[1], r[0], r[1], s[0], s[1], c[0], c[1]), d = u.inflections();
|
|
404
|
+
d.length === 0 && d.push(.5), d.forEach((r) => {
|
|
405
|
+
let { x: i, y: a } = u.get(r);
|
|
406
|
+
o.push({
|
|
407
|
+
x: Math.trunc(i),
|
|
408
|
+
y: Math.trunc(a)
|
|
409
|
+
});
|
|
410
|
+
}), a = l, i = c;
|
|
411
|
+
}
|
|
412
|
+
return ve(a.length === 0, "all points should be consumed"), ve(t$3(o, 1), "at least one control point should be generated"), o;
|
|
413
|
+
}
|
|
414
|
+
function isSamePoint(r, i) {
|
|
415
|
+
if (r === i) return !0;
|
|
416
|
+
let [a, o] = e$2(r) ? r : [r.x, r.y], [s, c] = e$2(i) ? i : [i.x, i.y];
|
|
417
|
+
return Math.hypot(s - a, c - o) < 2.1;
|
|
418
|
+
}
|
|
419
|
+
function stopPropagation(r) {
|
|
420
|
+
r.nativeEvent.stopImmediatePropagation(), r.stopPropagation();
|
|
421
|
+
}
|
|
422
|
+
var printPoint = (r) => `${Math.trunc(r[0])},${Math.trunc(r[1])}`;
|
|
423
|
+
function bezierPath(r) {
|
|
424
|
+
let [i, ...a] = r;
|
|
425
|
+
ve(i, "start should be defined");
|
|
426
|
+
let o = `M ${printPoint(i)}`;
|
|
427
|
+
for (; t$3(a, 3);) {
|
|
428
|
+
let [r, i, s, ...c] = a;
|
|
429
|
+
o += ` C ${printPoint(r)} ${printPoint(i)} ${printPoint(s)}`, a = c;
|
|
430
|
+
}
|
|
431
|
+
return ve(a.length === 0, "all points should be consumed"), o;
|
|
432
|
+
}
|
|
433
|
+
function parsePadding(r, i) {
|
|
434
|
+
if (typeof r == "number") return Math.floor((i - i / (1 + r)) * .5);
|
|
435
|
+
if (typeof r == "string" && r.endsWith("px")) {
|
|
436
|
+
let i = parseFloat(r);
|
|
437
|
+
if (!Number.isNaN(i)) return Math.floor(i);
|
|
438
|
+
}
|
|
439
|
+
if (typeof r == "string" && r.endsWith("%")) {
|
|
440
|
+
let a = parseFloat(r);
|
|
441
|
+
if (!Number.isNaN(a)) return Math.floor(i * a * .01);
|
|
442
|
+
}
|
|
443
|
+
return console.error(`[React Flow] The padding value "${r}" is invalid. Please provide a number or a string with a valid unit (px or %).`), 0;
|
|
444
|
+
}
|
|
445
|
+
function parsePaddings(r, i, a) {
|
|
446
|
+
if (typeof r == "string" || typeof r == "number") {
|
|
447
|
+
let o = parsePadding(r, a), s = parsePadding(r, i);
|
|
448
|
+
return {
|
|
449
|
+
top: o,
|
|
450
|
+
right: s,
|
|
451
|
+
bottom: o,
|
|
452
|
+
left: s,
|
|
453
|
+
x: s * 2,
|
|
454
|
+
y: o * 2
|
|
455
|
+
};
|
|
456
|
+
}
|
|
457
|
+
if (typeof r == "object") {
|
|
458
|
+
let o = parsePadding(r.top ?? r.y ?? 0, a), s = parsePadding(r.bottom ?? r.y ?? 0, a), c = parsePadding(r.left ?? r.x ?? 0, i), l = parsePadding(r.right ?? r.x ?? 0, i);
|
|
459
|
+
return {
|
|
460
|
+
top: o,
|
|
461
|
+
right: l,
|
|
462
|
+
bottom: s,
|
|
463
|
+
left: c,
|
|
464
|
+
x: c + l,
|
|
465
|
+
y: o + s
|
|
466
|
+
};
|
|
467
|
+
}
|
|
468
|
+
return {
|
|
469
|
+
top: 0,
|
|
470
|
+
right: 0,
|
|
471
|
+
bottom: 0,
|
|
472
|
+
left: 0,
|
|
473
|
+
x: 0,
|
|
474
|
+
y: 0
|
|
475
|
+
};
|
|
476
|
+
}
|
|
477
|
+
//#endregion
|
|
478
|
+
//#region ../diagram/src/base/Base.ts
|
|
479
|
+
var mergeData = (r, i) => Object.assign({}, r, { data: Object.assign({}, r.data, i) }), _setDimmed = (r, i) => (r.data.dimmed ?? !1) === i ? r : mergeData(r, { dimmed: i });
|
|
480
|
+
function setDimmed(r, i) {
|
|
481
|
+
return i === void 0 ? (i) => _setDimmed(i, r) : _setDimmed(r, i);
|
|
482
|
+
}
|
|
483
|
+
var _setHovered = (r, i) => (r.data.hovered ?? !1) === i ? r : mergeData(r, { hovered: i });
|
|
484
|
+
function setHovered(r, i) {
|
|
485
|
+
return i === void 0 ? (i) => _setHovered(i, r) : _setHovered(r, i);
|
|
486
|
+
}
|
|
487
|
+
function hasSubObject(r, i) {
|
|
488
|
+
return r === i || t$2(i).every(([i, a]) => W(r[i] ?? void 0, a));
|
|
489
|
+
}
|
|
490
|
+
function _setData(r, i) {
|
|
491
|
+
return hasSubObject(r.data, i) ? r : mergeData(r, i);
|
|
492
|
+
}
|
|
493
|
+
function setData(r, i) {
|
|
494
|
+
return i === void 0 ? (i) => _setData(i, r) : _setData(r, i);
|
|
495
|
+
}
|
|
496
|
+
var Re = {
|
|
497
|
+
setDimmed,
|
|
498
|
+
setHovered,
|
|
499
|
+
setData
|
|
500
|
+
}, ze = {
|
|
501
|
+
Compound: 1,
|
|
502
|
+
Edge: 20,
|
|
503
|
+
EdgeLabel: 25,
|
|
504
|
+
Element: 20,
|
|
505
|
+
Max: 30
|
|
506
|
+
}, Be = .05, Ve = {
|
|
507
|
+
default: "16px",
|
|
508
|
+
withControls: {
|
|
509
|
+
top: "58px",
|
|
510
|
+
left: "16px",
|
|
511
|
+
right: "16px",
|
|
512
|
+
bottom: "16px"
|
|
513
|
+
}
|
|
514
|
+
};
|
|
515
|
+
//#endregion
|
|
516
|
+
//#region ../diagram/src/base/keyboardZoom.ts
|
|
517
|
+
function isEditableKeyboardTarget(r) {
|
|
518
|
+
if (!(r instanceof HTMLElement)) return !1;
|
|
519
|
+
let i = r.tagName.toLowerCase();
|
|
520
|
+
return i === "input" || i === "textarea" || i === "select" || r.isContentEditable;
|
|
521
|
+
}
|
|
522
|
+
function getKeyboardZoomAction(r) {
|
|
523
|
+
if (!r.ctrlKey && !r.metaKey || isEditableKeyboardTarget(r.target)) return null;
|
|
524
|
+
switch (r.key) {
|
|
525
|
+
case "+":
|
|
526
|
+
case "=": return "zoom-in";
|
|
527
|
+
case "-":
|
|
528
|
+
case "_": return "zoom-out";
|
|
529
|
+
case "0": return "reset";
|
|
530
|
+
default: return null;
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
//#endregion
|
|
534
|
+
//#region ../diagram/src/base/BaseXYFlow.tsx
|
|
535
|
+
var He = {
|
|
536
|
+
"node.a11yDescription.default": "Press Enter or Space to select this node and reveal its actions.",
|
|
537
|
+
"node.a11yDescription.keyboardDisabled": "Keyboard activation is disabled.",
|
|
538
|
+
"edge.a11yDescription.default": "Press Enter or Space to select this relationship and reveal its actions."
|
|
539
|
+
};
|
|
540
|
+
function activateFocusedElement(r) {
|
|
541
|
+
if (r.repeat || r.key !== "Enter" && r.key !== " ") return;
|
|
542
|
+
let i = r.target;
|
|
543
|
+
if (!(i instanceof Element)) return;
|
|
544
|
+
let a = i.closest("a,button,input,textarea,select,[role=\"button\"],[role=\"link\"],[contenteditable=\"true\"]");
|
|
545
|
+
if (a && !a.classList.contains("react-flow__node") && !a.classList.contains("react-flow__edge")) return;
|
|
546
|
+
let o = i.closest(".react-flow__node[data-id], .react-flow__edge[data-id]"), s = o?.ownerDocument.defaultView;
|
|
547
|
+
if (!o || !s) return;
|
|
548
|
+
r.preventDefault();
|
|
549
|
+
let c = o.getBoundingClientRect();
|
|
550
|
+
o.dispatchEvent(new s.MouseEvent("click", {
|
|
551
|
+
bubbles: !0,
|
|
552
|
+
cancelable: !0,
|
|
553
|
+
button: 0,
|
|
554
|
+
clientX: c.left + c.width / 2,
|
|
555
|
+
clientY: c.top + c.height / 2,
|
|
556
|
+
detail: 1,
|
|
557
|
+
view: s
|
|
558
|
+
}));
|
|
559
|
+
}
|
|
560
|
+
function BaseXYFlow(r) {
|
|
561
|
+
let i = J(105), a, o, s, c, l, u, d, p, m, h, g, _, v, y, b, x, S, C, T, E, D, O, k, A, j, M, N;
|
|
562
|
+
i[0] === r ? (a = i[1], o = i[2], s = i[3], c = i[4], l = i[5], u = i[6], d = i[7], p = i[8], m = i[9], h = i[10], g = i[11], _ = i[12], v = i[13], y = i[14], b = i[15], x = i[16], S = i[17], C = i[18], T = i[19], E = i[20], D = i[21], O = i[22], k = i[23], A = i[24], j = i[25], M = i[26], N = i[27]) : ({nodes: u, edges: l, onEdgesChange: m, onNodesChange: y, className: s, pannable: S, zoomable: E, nodesSelectable: D, nodesDraggable: O, background: k, children: o, colorMode: c, fitViewPadding: A, fitView: j, zoomOnDoubleClick: M, onViewportResize: b, onMoveEnd: g, onNodeMouseEnter: _, onNodeMouseLeave: v, onEdgeMouseEnter: d, onEdgeMouseLeave: p, onKeyDownCapture: h, ariaLabelConfig: a, nodesFocusable: N, edgesFocusable: C, showControls: T, ...x} = r, i[0] = r, i[1] = a, i[2] = o, i[3] = s, i[4] = c, i[5] = l, i[6] = u, i[7] = d, i[8] = p, i[9] = m, i[10] = h, i[11] = g, i[12] = _, i[13] = v, i[14] = y, i[15] = b, i[16] = x, i[17] = S, i[18] = C, i[19] = T, i[20] = E, i[21] = D, i[22] = O, i[23] = k, i[24] = A, i[25] = j, i[26] = M, i[27] = N);
|
|
563
|
+
let P = S === void 0 ? !0 : S, F = E === void 0 ? !0 : E, I = D === void 0 ? !0 : D, L = O === void 0 ? !1 : O, z = k === void 0 ? "dots" : k, B = A === void 0 ? 0 : A, ee = j === void 0 ? !0 : j, V = M === void 0 ? !1 : M, H = N === void 0 ? L || I : N, U = C === void 0 ? !1 : C, te;
|
|
564
|
+
i[28] === B ? te = i[29] : (te = {
|
|
565
|
+
minZoom: Be,
|
|
566
|
+
maxZoom: 1,
|
|
567
|
+
padding: B,
|
|
568
|
+
includeHiddenNodes: !1
|
|
569
|
+
}, i[28] = B, i[29] = te);
|
|
570
|
+
let W = te, ne = z !== "transparent" && z !== "solid", re = useIsZoomTooSmall(), ie = useXYFlow(), ae = useXYStoreApi(), { colorScheme: oe } = f();
|
|
571
|
+
c ||= oe === "auto" ? "system" : oe;
|
|
572
|
+
let G = x.tabIndex ?? (F ? 0 : void 0), se = x["aria-label"] !== void 0 || x["aria-labelledby"] !== void 0 || G === void 0 ? x["aria-label"] : "Interactive diagram", t13;
|
|
573
|
+
i[30] !== W || i[31] !== x || i[32] !== ie || i[33] !== F ? (t13 = (r) => {
|
|
574
|
+
if (x.onKeyDown?.(r), r.defaultPrevented || !F) return;
|
|
575
|
+
let i = getKeyboardZoomAction(r.nativeEvent);
|
|
576
|
+
if (i) switch (r.preventDefault(), i) {
|
|
577
|
+
case "zoom-in":
|
|
578
|
+
ie.zoomIn();
|
|
579
|
+
return;
|
|
580
|
+
case "zoom-out":
|
|
581
|
+
ie.zoomOut();
|
|
582
|
+
return;
|
|
583
|
+
case "reset":
|
|
584
|
+
ie.fitView(W);
|
|
585
|
+
return;
|
|
586
|
+
}
|
|
587
|
+
}, i[30] = W, i[31] = x, i[32] = ie, i[33] = F, i[34] = t13) : t13 = i[34];
|
|
588
|
+
let ce = useCallbackRef(t13), K = c, le = u, q = l, ue = z === "transparent" && "bg-transparent", de;
|
|
589
|
+
i[35] !== s || i[36] !== ue ? (de = w(ue, s), i[35] = s, i[36] = ue, i[37] = de) : de = i[37];
|
|
590
|
+
let fe;
|
|
591
|
+
i[38] === re ? fe = i[39] : (fe = re && { "data-likec4-zoom-small": !0 }, i[38] = re, i[39] = fe);
|
|
592
|
+
let pe = !P && F, Y;
|
|
593
|
+
i[40] === F ? Y = i[41] : (Y = !F && { zoomActivationKeyCode: null }, i[40] = F, i[41] = Y);
|
|
594
|
+
let me = F ? 3 : 1, he = F ? Be : 1, ge = F || P, Q;
|
|
595
|
+
i[42] === P ? Q = i[43] : (Q = !P && {
|
|
596
|
+
panActivationKeyCode: null,
|
|
597
|
+
selectionKeyCode: null
|
|
598
|
+
}, i[42] = P, i[43] = Q);
|
|
599
|
+
let $;
|
|
600
|
+
i[44] === a ? $ = i[45] : ($ = {
|
|
601
|
+
...He,
|
|
602
|
+
...a
|
|
603
|
+
}, i[44] = a, i[45] = $);
|
|
604
|
+
let _e = y, ve = m, t29;
|
|
605
|
+
i[46] !== g || i[47] !== ae ? (t29 = (r, i) => {
|
|
606
|
+
let { x: a, y: o, zoom: s } = i, c = roundDpr(a), l = roundDpr(o);
|
|
607
|
+
(a !== c || o !== l) && ae.setState({ transform: [
|
|
608
|
+
c,
|
|
609
|
+
l,
|
|
610
|
+
s
|
|
611
|
+
] }), g?.(r, {
|
|
612
|
+
x: c,
|
|
613
|
+
y: l,
|
|
614
|
+
zoom: s
|
|
615
|
+
});
|
|
616
|
+
}, i[46] = g, i[47] = ae, i[48] = t29) : t29 = i[48];
|
|
617
|
+
let ye = useCallbackRef(t29), t31;
|
|
618
|
+
i[49] !== _ || i[50] !== y ? (t31 = (r, i) => {
|
|
619
|
+
if (_) {
|
|
620
|
+
_(r, i);
|
|
621
|
+
return;
|
|
622
|
+
}
|
|
623
|
+
y([{
|
|
624
|
+
id: i.id,
|
|
625
|
+
type: "replace",
|
|
626
|
+
item: Re.setHovered(i, !0)
|
|
627
|
+
}]);
|
|
628
|
+
}, i[49] = _, i[50] = y, i[51] = t31) : t31 = i[51];
|
|
629
|
+
let be = useCallbackRef(t31), t33;
|
|
630
|
+
i[52] !== v || i[53] !== y ? (t33 = (r, i) => {
|
|
631
|
+
if (v) {
|
|
632
|
+
v(r, i);
|
|
633
|
+
return;
|
|
634
|
+
}
|
|
635
|
+
y([{
|
|
636
|
+
id: i.id,
|
|
637
|
+
type: "replace",
|
|
638
|
+
item: Re.setHovered(i, !1)
|
|
639
|
+
}]);
|
|
640
|
+
}, i[52] = v, i[53] = y, i[54] = t33) : t33 = i[54];
|
|
641
|
+
let xe = useCallbackRef(t33), t35;
|
|
642
|
+
i[55] !== d || i[56] !== m ? (t35 = (r, i) => {
|
|
643
|
+
if (d) {
|
|
644
|
+
d(r, i);
|
|
645
|
+
return;
|
|
646
|
+
}
|
|
647
|
+
m([{
|
|
648
|
+
id: i.id,
|
|
649
|
+
type: "replace",
|
|
650
|
+
item: Re.setHovered(i, !0)
|
|
651
|
+
}]);
|
|
652
|
+
}, i[55] = d, i[56] = m, i[57] = t35) : t35 = i[57];
|
|
653
|
+
let Se = useCallbackRef(t35), t37;
|
|
654
|
+
i[58] !== p || i[59] !== m ? (t37 = (r, i) => {
|
|
655
|
+
if (p) {
|
|
656
|
+
p(r, i);
|
|
657
|
+
return;
|
|
658
|
+
}
|
|
659
|
+
m([{
|
|
660
|
+
id: i.id,
|
|
661
|
+
type: "replace",
|
|
662
|
+
item: Re.setHovered(i, !1)
|
|
663
|
+
}]);
|
|
664
|
+
}, i[58] = p, i[59] = m, i[60] = t37) : t37 = i[60];
|
|
665
|
+
let Ce = useCallbackRef(t37), t39;
|
|
666
|
+
i[61] === h ? t39 = i[62] : (t39 = (r) => {
|
|
667
|
+
h?.(r), r.defaultPrevented || activateFocusedElement(r);
|
|
668
|
+
}, i[61] = h, i[62] = t39);
|
|
669
|
+
let we = useCallbackRef(t39), Te;
|
|
670
|
+
i[63] !== z || i[64] !== ne ? (Te = ne && /* @__PURE__ */ X(Ie, { background: z }), i[63] = z, i[64] = ne, i[65] = Te) : Te = i[65];
|
|
671
|
+
let Ee;
|
|
672
|
+
i[66] === b ? Ee = i[67] : (Ee = b && /* @__PURE__ */ X(ViewportResizeHanlder, { onViewportResize: b }), i[66] = b, i[67] = Ee);
|
|
673
|
+
let De;
|
|
674
|
+
return i[68] !== se || i[69] !== o || i[70] !== c || i[71] !== l || i[72] !== U || i[73] !== ee || i[74] !== W || i[75] !== u || i[76] !== L || i[77] !== H || i[78] !== I || i[79] !== m || i[80] !== ce || i[81] !== y || i[82] !== P || i[83] !== x || i[84] !== de || i[85] !== fe || i[86] !== pe || i[87] !== Y || i[88] !== me || i[89] !== he || i[90] !== ge || i[91] !== Q || i[92] !== $ || i[93] !== ye || i[94] !== be || i[95] !== xe || i[96] !== Se || i[97] !== Ce || i[98] !== we || i[99] !== Te || i[100] !== Ee || i[101] !== G || i[102] !== V || i[103] !== F ? (De = /* @__PURE__ */ Z(R, {
|
|
675
|
+
colorMode: K,
|
|
676
|
+
nodes: le,
|
|
677
|
+
edges: q,
|
|
678
|
+
className: de,
|
|
679
|
+
...fe,
|
|
680
|
+
zoomOnPinch: F,
|
|
681
|
+
zoomOnScroll: pe,
|
|
682
|
+
...Y,
|
|
683
|
+
zoomOnDoubleClick: V,
|
|
684
|
+
maxZoom: me,
|
|
685
|
+
minZoom: he,
|
|
686
|
+
fitView: ee,
|
|
687
|
+
fitViewOptions: W,
|
|
688
|
+
preventScrolling: ge,
|
|
689
|
+
defaultMarkerColor: "var(--xy-edge-stroke)",
|
|
690
|
+
noDragClassName: "nodrag",
|
|
691
|
+
noPanClassName: "nopan",
|
|
692
|
+
noWheelClassName: "nowheel",
|
|
693
|
+
panOnScroll: P,
|
|
694
|
+
panOnDrag: P,
|
|
695
|
+
...Q,
|
|
696
|
+
elementsSelectable: I,
|
|
697
|
+
nodesFocusable: H,
|
|
698
|
+
edgesFocusable: U,
|
|
699
|
+
nodesDraggable: L,
|
|
700
|
+
ariaLabelConfig: $,
|
|
701
|
+
nodeDragThreshold: 4,
|
|
702
|
+
nodeClickDistance: 3,
|
|
703
|
+
paneClickDistance: 3,
|
|
704
|
+
elevateNodesOnSelect: !1,
|
|
705
|
+
selectNodesOnDrag: !1,
|
|
706
|
+
onNodesChange: _e,
|
|
707
|
+
onEdgesChange: ve,
|
|
708
|
+
onMoveEnd: ye,
|
|
709
|
+
onNodeMouseEnter: be,
|
|
710
|
+
onNodeMouseLeave: xe,
|
|
711
|
+
onEdgeMouseEnter: Se,
|
|
712
|
+
onEdgeMouseLeave: Ce,
|
|
713
|
+
onNodeDoubleClick: stopPropagation,
|
|
714
|
+
onEdgeDoubleClick: stopPropagation,
|
|
715
|
+
onKeyDownCapture: we,
|
|
716
|
+
...x,
|
|
717
|
+
"aria-label": se,
|
|
718
|
+
tabIndex: G,
|
|
719
|
+
onKeyDown: ce,
|
|
720
|
+
children: [
|
|
721
|
+
Te,
|
|
722
|
+
Ee,
|
|
723
|
+
o
|
|
724
|
+
]
|
|
725
|
+
}), i[68] = se, i[69] = o, i[70] = c, i[71] = l, i[72] = U, i[73] = ee, i[74] = W, i[75] = u, i[76] = L, i[77] = H, i[78] = I, i[79] = m, i[80] = ce, i[81] = y, i[82] = P, i[83] = x, i[84] = de, i[85] = fe, i[86] = pe, i[87] = Y, i[88] = me, i[89] = he, i[90] = ge, i[91] = Q, i[92] = $, i[93] = ye, i[94] = be, i[95] = xe, i[96] = Se, i[97] = Ce, i[98] = we, i[99] = Te, i[100] = Ee, i[101] = G, i[102] = V, i[103] = F, i[104] = De) : De = i[104], De;
|
|
726
|
+
}
|
|
727
|
+
var selectDimensions = ({ width: r, height: i }) => (r || 1) * (i || 1), ViewportResizeHanlder = (r) => {
|
|
728
|
+
let i = J(2), { onViewportResize: a } = r, o = B(selectDimensions), c;
|
|
729
|
+
return i[0] === o ? c = i[1] : (c = [o], i[0] = o, i[1] = c), s(a, c), null;
|
|
730
|
+
}, Ue = ce(null), We = Ue.Provider;
|
|
731
|
+
function useRootContainerContext() {
|
|
732
|
+
return q(Ue);
|
|
733
|
+
}
|
|
734
|
+
function useRootContainer() {
|
|
735
|
+
let r = useRootContainerContext();
|
|
736
|
+
if (!r) throw Error("useRootContainer must be used within a RootContainer");
|
|
737
|
+
return r;
|
|
738
|
+
}
|
|
739
|
+
function useRootContainerRef() {
|
|
740
|
+
return useRootContainer().ref;
|
|
741
|
+
}
|
|
742
|
+
function useRootContainerElement() {
|
|
743
|
+
return useRootContainer().ref.current;
|
|
744
|
+
}
|
|
745
|
+
//#endregion
|
|
746
|
+
//#region ../diagram/src/components/RootContainer.tsx
|
|
747
|
+
function RootContainer(r) {
|
|
748
|
+
let i = J(18), { id: a, className: o, reduceGraphics: s, children: l } = r, u = s === void 0 ? !1 : s, d = fe(null), [f] = pe(_temp$1), p = c(f), m = `#${a}`, h;
|
|
749
|
+
i[0] !== f || i[1] !== a || i[2] !== u || i[3] !== m ? (h = {
|
|
750
|
+
id: a,
|
|
751
|
+
ref: d,
|
|
752
|
+
selector: m,
|
|
753
|
+
reducedGraphics: u,
|
|
754
|
+
$panning: f
|
|
755
|
+
}, i[0] = f, i[1] = a, i[2] = u, i[3] = m, i[4] = h) : h = i[4];
|
|
756
|
+
let g = h, _;
|
|
757
|
+
i[5] === o ? _ = i[6] : (_ = w("likec4-root", o), i[5] = o, i[6] = _);
|
|
758
|
+
let v;
|
|
759
|
+
i[7] === u ? v = i[8] : (v = u && { "data-likec4-reduced-graphics": !0 }, i[7] = u, i[8] = v);
|
|
760
|
+
let y;
|
|
761
|
+
i[9] !== l || i[10] !== g ? (y = /* @__PURE__ */ X(We, {
|
|
762
|
+
value: g,
|
|
763
|
+
children: l
|
|
764
|
+
}), i[9] = l, i[10] = g, i[11] = y) : y = i[11];
|
|
765
|
+
let b;
|
|
766
|
+
return i[12] !== a || i[13] !== p || i[14] !== _ || i[15] !== v || i[16] !== y ? (b = /* @__PURE__ */ X("div", {
|
|
767
|
+
id: a,
|
|
768
|
+
className: _,
|
|
769
|
+
ref: d,
|
|
770
|
+
"data-likec4-diagram-panning": p,
|
|
771
|
+
...v,
|
|
772
|
+
children: y
|
|
773
|
+
}), i[12] = a, i[13] = p, i[14] = _, i[15] = v, i[16] = y, i[17] = b) : b = i[17], b;
|
|
774
|
+
}
|
|
775
|
+
function _temp$1() {
|
|
776
|
+
return /* @__PURE__ */ d(!1);
|
|
777
|
+
}
|
|
778
|
+
r(_temp$1, "_temp");
|
|
779
|
+
//#endregion
|
|
780
|
+
//#region ../diagram/src/context/DefaultMantineProvider.tsx
|
|
781
|
+
var Ge = m({
|
|
782
|
+
autoContrast: !0,
|
|
783
|
+
primaryColor: "indigo",
|
|
784
|
+
cursorType: "pointer",
|
|
785
|
+
defaultRadius: "sm",
|
|
786
|
+
fontFamily: "var(--likec4-app-font, var(--likec4-app-font-default))",
|
|
787
|
+
headings: {
|
|
788
|
+
fontWeight: "medium",
|
|
789
|
+
sizes: {
|
|
790
|
+
h1: { fontWeight: "bold" },
|
|
791
|
+
h2: { fontWeight: "medium" }
|
|
792
|
+
}
|
|
793
|
+
},
|
|
794
|
+
fontSizes: {
|
|
795
|
+
xxs: "var(--font-sizes-xxs)",
|
|
796
|
+
xs: "var(--font-sizes-xs)",
|
|
797
|
+
sm: "var(--font-sizes-sm)",
|
|
798
|
+
md: "var(--font-sizes-md)",
|
|
799
|
+
lg: "var(--font-sizes-lg)",
|
|
800
|
+
xl: "var(--font-sizes-xl)"
|
|
801
|
+
},
|
|
802
|
+
spacing: {
|
|
803
|
+
xs: "var(--spacing-xs)",
|
|
804
|
+
sm: "var(--spacing-sm)",
|
|
805
|
+
md: "var(--spacing-md)",
|
|
806
|
+
lg: "var(--spacing-lg)",
|
|
807
|
+
xl: "var(--spacing-xl)"
|
|
808
|
+
},
|
|
809
|
+
components: {
|
|
810
|
+
SegmentedControl: v.extend({ vars: (r, i) => ({ root: { "--sc-font-size": r.fontSizes[i.fz ?? i.size] } }) }),
|
|
811
|
+
Portal: x.extend({ defaultProps: { reuseTargetNode: !0 } }),
|
|
812
|
+
Tooltip: _.extend({ defaultProps: { color: "dark" } })
|
|
813
|
+
}
|
|
814
|
+
});
|
|
815
|
+
function DefaultMantineProvider(r) {
|
|
816
|
+
let i = J(8), a, o, s;
|
|
817
|
+
i[0] === r ? (a = i[1], o = i[2], s = i[3]) : ({children: a, theme: s, ...o} = r, i[0] = r, i[1] = a, i[2] = o, i[3] = s);
|
|
818
|
+
let c = s ?? Ge, l;
|
|
819
|
+
return i[4] !== a || i[5] !== o || i[6] !== c ? (l = /* @__PURE__ */ X(b, {
|
|
820
|
+
defaultColorScheme: "auto",
|
|
821
|
+
theme: c,
|
|
822
|
+
...o,
|
|
823
|
+
children: a
|
|
824
|
+
}), i[4] = a, i[5] = o, i[6] = c, i[7] = l) : l = i[7], l;
|
|
825
|
+
}
|
|
826
|
+
//#endregion
|
|
827
|
+
//#region ../diagram/src/context/EnsureMantine.tsx
|
|
828
|
+
function EnsureMantine(r) {
|
|
829
|
+
let i = J(7), { children: a } = r, o = q(p), t1;
|
|
830
|
+
i[0] === o ? t1 = i[1] : (t1 = () => {
|
|
831
|
+
o || console.warn("LikeC4Diagram must be a child of MantineProvider");
|
|
832
|
+
}, i[0] = o, i[1] = t1);
|
|
833
|
+
let s;
|
|
834
|
+
if (i[2] === Symbol.for("react.memo_cache_sentinel") ? (s = [], i[2] = s) : s = i[2], ue(t1, s), !o) {
|
|
835
|
+
let r;
|
|
836
|
+
return i[3] === a ? r = i[4] : (r = /* @__PURE__ */ X(DefaultMantineProvider, { children: a }), i[3] = a, i[4] = r), r;
|
|
837
|
+
}
|
|
838
|
+
let c;
|
|
839
|
+
return i[5] === a ? c = i[6] : (c = /* @__PURE__ */ X(Y, { children: a }), i[5] = a, i[6] = c), c;
|
|
840
|
+
}
|
|
841
|
+
//#endregion
|
|
842
|
+
//#region ../diagram/src/context/FramerMotionConfig.tsx
|
|
843
|
+
function FramerMotionConfig(r) {
|
|
844
|
+
let i = J(6), { reducedMotion: a, children: o } = r, s = a === void 0 ? "user" : a, c = h()?.(), l;
|
|
845
|
+
i[0] === c ? l = i[1] : (l = c && { nonce: c }, i[0] = c, i[1] = l);
|
|
846
|
+
let u;
|
|
847
|
+
return i[2] !== o || i[3] !== s || i[4] !== l ? (u = /* @__PURE__ */ X(ie, {
|
|
848
|
+
features: ae,
|
|
849
|
+
strict: !0,
|
|
850
|
+
children: /* @__PURE__ */ X(se, {
|
|
851
|
+
reducedMotion: s,
|
|
852
|
+
...l,
|
|
853
|
+
children: o
|
|
854
|
+
})
|
|
855
|
+
}), i[2] = o, i[3] = s, i[4] = l, i[5] = u) : u = i[5], u;
|
|
856
|
+
}
|
|
857
|
+
//#endregion
|
|
858
|
+
//#region ../diagram/src/context/LikeC4ModelContext.tsx
|
|
859
|
+
var Ke = ce(null), qe = Ke.Provider, Je = ce(null), Ye = Je.Provider;
|
|
860
|
+
function useOptionalLikeC4Model() {
|
|
861
|
+
return q(Ke);
|
|
862
|
+
}
|
|
863
|
+
function useOptionalCurrentViewModel() {
|
|
864
|
+
return q(Je);
|
|
865
|
+
}
|
|
866
|
+
//#endregion
|
|
867
|
+
//#region ../diagram/src/hooks/useId.ts
|
|
868
|
+
function useId$1() {
|
|
869
|
+
let r = J(2), i = g(), a;
|
|
870
|
+
return r[0] === i ? a = r[1] : (a = i.replace("mantine-", "likec4-"), r[0] = i, r[1] = a), a;
|
|
871
|
+
}
|
|
872
|
+
r(useId$1, "useId");
|
|
873
|
+
//#endregion
|
|
874
|
+
//#region ../diagram/src/context/LikeC4ProjectsContext.ts
|
|
875
|
+
var Xe = ce(null), Ze = Xe.Provider;
|
|
876
|
+
function useOptionalProjectsContext() {
|
|
877
|
+
return q(Xe);
|
|
878
|
+
}
|
|
879
|
+
//#endregion
|
|
880
|
+
//#region ../diagram/src/hooks/useLikeC4Project.ts
|
|
881
|
+
var Qe = [];
|
|
882
|
+
function onProjectChange(r) {
|
|
883
|
+
console.warn(`Triggered callback to change project to ${r}, but no <LikeC4ProjectsProvider/> found`);
|
|
884
|
+
}
|
|
885
|
+
var $e = {
|
|
886
|
+
projects: Qe,
|
|
887
|
+
onProjectChange
|
|
888
|
+
};
|
|
889
|
+
function useLikeC4ProjectsContext() {
|
|
890
|
+
return useOptionalProjectsContext() ?? $e;
|
|
891
|
+
}
|
|
892
|
+
function useLikeC4Projects() {
|
|
893
|
+
return useLikeC4ProjectsContext().projects;
|
|
894
|
+
}
|
|
895
|
+
function useChangeLikeC4Project() {
|
|
896
|
+
return useLikeC4ProjectsContext().onProjectChange;
|
|
897
|
+
}
|
|
898
|
+
function useLikeC4ProjectId() {
|
|
899
|
+
let r = useOptionalLikeC4Model();
|
|
900
|
+
if (!r) throw Error("No LikeC4ModelProvider found");
|
|
901
|
+
return r.projectId;
|
|
902
|
+
}
|
|
903
|
+
//#endregion
|
|
904
|
+
//#region ../diagram/src/hooks/useLikeC4Styles.ts
|
|
905
|
+
function useLikeC4Styles() {
|
|
906
|
+
return useOptionalLikeC4Model()?.$styles ?? ye.DEFAULT;
|
|
907
|
+
}
|
|
908
|
+
//#endregion
|
|
909
|
+
//#region ../diagram/src/utils/view-bounds.ts
|
|
910
|
+
function pickViewBounds(r, i) {
|
|
911
|
+
if (r._type === "dynamic") try {
|
|
912
|
+
if ((i ?? r.variant) === "sequence") return he(r.sequenceLayout, "Sequence layout is not available"), he(r.sequenceLayout.bounds, "Sequence layout bounds are not available"), r.sequenceLayout.bounds;
|
|
913
|
+
} catch (r) {
|
|
914
|
+
console.error(r);
|
|
915
|
+
}
|
|
916
|
+
return r.bounds;
|
|
917
|
+
}
|
|
918
|
+
function calcEdgeBounds({ points: r, controlPoints: i, labelBBox: a }) {
|
|
919
|
+
let o = Infinity, s = Infinity, c = -Infinity, l = -Infinity;
|
|
920
|
+
if (i) for (let r of i) o = Math.min(o, r.x), s = Math.min(s, r.y), c = Math.max(c, r.x), l = Math.max(l, r.y);
|
|
921
|
+
else for (let [i, a] of r) o = Math.min(o, i), s = Math.min(s, a), c = Math.max(c, i), l = Math.max(l, a);
|
|
922
|
+
return a && (o = Math.min(o, a.x), s = Math.min(s, a.y), c = Math.max(c, a.x + a.width), l = Math.max(l, a.y + a.height)), {
|
|
923
|
+
x: o,
|
|
924
|
+
y: s,
|
|
925
|
+
width: c - o,
|
|
926
|
+
height: l - s
|
|
927
|
+
};
|
|
928
|
+
}
|
|
929
|
+
function calcViewBounds({ nodes: r, edges: i }) {
|
|
930
|
+
return Q.expand(Q.merge(...r, ...i.map(calcEdgeBounds).filter((r) => isFinite(r.x) && isFinite(r.y))), 20);
|
|
931
|
+
}
|
|
932
|
+
//#endregion
|
|
933
|
+
//#region ../diagram/src/utils/readableText.ts
|
|
934
|
+
var et = /\s+/g;
|
|
935
|
+
function readableText(r) {
|
|
936
|
+
return me.from(r).text?.replace(et, " ").trim() || null;
|
|
937
|
+
}
|
|
938
|
+
//#endregion
|
|
939
|
+
//#region ../diagram/src/base-primitives/edge/EdgeContainer.tsx
|
|
940
|
+
function EdgeContainer(r) {
|
|
941
|
+
let i = J(47), a, o, s, c, l, u, d, f, p, m, h, g;
|
|
942
|
+
if (i[0] !== r) {
|
|
943
|
+
let { className: _, component: v, selectable: y, selected: b, data: x, animated: S, children: C, style: T, ...E } = r;
|
|
944
|
+
a = C, s = T, o = v === void 0 ? "g" : v;
|
|
945
|
+
let D = y === void 0 ? !1 : y, O = b === void 0 ? !1 : b, k, A, j, M, N;
|
|
946
|
+
i[13] === x ? (k = i[14], A = i[15], j = i[16], M = i[17], N = i[18]) : ({color: A, hovered: j, active: M, dimmed: N, ...k} = x, i[13] = x, i[14] = k, i[15] = A, i[16] = j, i[17] = M, i[18] = N);
|
|
947
|
+
let P = A === void 0 ? "gray" : A, F = j === void 0 ? !1 : j, I = M === void 0 ? !1 : M, L = N === void 0 ? !1 : N, R = S === void 0 ? !1 : S;
|
|
948
|
+
R ||= I;
|
|
949
|
+
let z = O && "selected", B = D && "selectable";
|
|
950
|
+
i[19] !== _ || i[20] !== z || i[21] !== B ? (c = w(_, "likec4-edge-container", z, B), i[19] = _, i[20] = z, i[21] = B, i[22] = c) : c = i[22], l = P, u = k.dir ?? "forward", d = I, f = F, i[23] === R ? p = i[24] : (p = R && { "data-likec4-animated": R }, i[23] = R, i[24] = p), i[25] === O ? m = i[26] : (m = O && { "data-likec4-selected": O }, i[25] = O, i[26] = m), i[27] === L ? h = i[28] : (h = L !== !1 && { "data-likec4-dimmed": L }, i[27] = L, i[28] = h), g = t(E, _temp), i[0] = r, i[1] = a, i[2] = o, i[3] = s, i[4] = c, i[5] = l, i[6] = u, i[7] = d, i[8] = f, i[9] = p, i[10] = m, i[11] = h, i[12] = g;
|
|
951
|
+
} else a = i[1], o = i[2], s = i[3], c = i[4], l = i[5], u = i[6], d = i[7], f = i[8], p = i[9], m = i[10], h = i[11], g = i[12];
|
|
952
|
+
let _;
|
|
953
|
+
i[29] !== c || i[30] !== l || i[31] !== u || i[32] !== d || i[33] !== f || i[34] !== p || i[35] !== m || i[36] !== h || i[37] !== g ? (_ = {
|
|
954
|
+
className: c,
|
|
955
|
+
"data-likec4-color": l,
|
|
956
|
+
"data-edge-dir": u,
|
|
957
|
+
"data-edge-active": d,
|
|
958
|
+
"data-likec4-hovered": f,
|
|
959
|
+
...p,
|
|
960
|
+
...m,
|
|
961
|
+
...h,
|
|
962
|
+
...g
|
|
963
|
+
}, i[29] = c, i[30] = l, i[31] = u, i[32] = d, i[33] = f, i[34] = p, i[35] = m, i[36] = h, i[37] = g, i[38] = _) : _ = i[38];
|
|
964
|
+
let v = _;
|
|
965
|
+
if (o === "svg") {
|
|
966
|
+
let r;
|
|
967
|
+
return i[39] !== a || i[40] !== v || i[41] !== s ? (r = /* @__PURE__ */ X("svg", {
|
|
968
|
+
style: s,
|
|
969
|
+
...v,
|
|
970
|
+
children: a
|
|
971
|
+
}), i[39] = a, i[40] = v, i[41] = s, i[42] = r) : r = i[42], r;
|
|
972
|
+
}
|
|
973
|
+
he(o === "g", "EdgeContainer: component must be \"g\" or \"svg\"");
|
|
974
|
+
let y;
|
|
975
|
+
return i[43] !== a || i[44] !== v || i[45] !== s ? (y = /* @__PURE__ */ X("g", {
|
|
976
|
+
style: s,
|
|
977
|
+
...v,
|
|
978
|
+
children: a
|
|
979
|
+
}), i[43] = a, i[44] = v, i[45] = s, i[46] = y) : y = i[46], y;
|
|
980
|
+
}
|
|
981
|
+
function _temp(r, i) {
|
|
982
|
+
return r !== void 0 && i.startsWith("data-");
|
|
983
|
+
}
|
|
984
|
+
//#endregion
|
|
985
|
+
//#region ../diagram/src/base-primitives/edge/EdgeLabel.tsx
|
|
986
|
+
var tt = K((r, i) => {
|
|
987
|
+
let a = J(34), o, s, c, l, u, d, f;
|
|
988
|
+
a[0] === r ? (o = a[1], s = a[2], c = a[3], l = a[4], u = a[5], d = a[6], f = a[7]) : ({edgeProps: u, isSequenceStep: d, stepNum: l, pointerEvents: f, className: s, children: o, ...c} = r, a[0] = r, a[1] = o, a[2] = s, a[3] = c, a[4] = l, a[5] = u, a[6] = d, a[7] = f);
|
|
989
|
+
let { id: p, data: m, selected: h, selectable: g } = u, { label: _, technology: v, hovered: y } = m, b = y === void 0 ? !1 : y, x = h === void 0 ? !1 : h, S = g === void 0 ? !1 : g, T = d === void 0 ? !1 : d, E = f === void 0 ? "all" : f, D;
|
|
990
|
+
a[8] !== _ || a[9] !== v ? (D = e(_) || e(v), a[8] = _, a[9] = v, a[10] = D) : D = a[10];
|
|
991
|
+
let k = D, A;
|
|
992
|
+
a[11] !== s || a[12] !== T || a[13] !== E || a[14] !== S ? (A = w("likec4-edge-label", O({
|
|
993
|
+
pointerEvents: E,
|
|
994
|
+
isStepEdge: T,
|
|
995
|
+
cursor: S || T ? "pointer" : "default"
|
|
996
|
+
}), s), a[11] = s, a[12] = T, a[13] = E, a[14] = S, a[15] = A) : A = a[15];
|
|
997
|
+
let j = b && !x ? 1.06 : 1, M;
|
|
998
|
+
a[16] === j ? M = a[17] : (M = { scale: j }, a[16] = j, a[17] = M);
|
|
999
|
+
let N;
|
|
1000
|
+
a[18] !== T || a[19] !== l ? (N = T && l && /* @__PURE__ */ X(C, {
|
|
1001
|
+
className: "likec4-edge-label__step-number",
|
|
1002
|
+
children: l
|
|
1003
|
+
}), a[18] = T, a[19] = l, a[20] = N) : N = a[20];
|
|
1004
|
+
let P;
|
|
1005
|
+
a[21] !== o || a[22] !== k || a[23] !== _ || a[24] !== v ? (P = k && /* @__PURE__ */ Z(C, {
|
|
1006
|
+
className: "likec4-edge-label__contents",
|
|
1007
|
+
children: [
|
|
1008
|
+
e(_) && /* @__PURE__ */ X(C, {
|
|
1009
|
+
lineClamp: 5,
|
|
1010
|
+
className: "likec4-edge-label__text",
|
|
1011
|
+
children: _
|
|
1012
|
+
}),
|
|
1013
|
+
e(v) && /* @__PURE__ */ X(C, {
|
|
1014
|
+
className: "likec4-edge-label__technology",
|
|
1015
|
+
children: "[ " + v + " ]"
|
|
1016
|
+
}),
|
|
1017
|
+
o
|
|
1018
|
+
]
|
|
1019
|
+
}), a[21] = o, a[22] = k, a[23] = _, a[24] = v, a[25] = P) : P = a[25];
|
|
1020
|
+
let F;
|
|
1021
|
+
return a[26] !== p || a[27] !== i || a[28] !== c || a[29] !== M || a[30] !== N || a[31] !== P || a[32] !== A ? (F = /* @__PURE__ */ Z(G, {
|
|
1022
|
+
ref: i,
|
|
1023
|
+
className: A,
|
|
1024
|
+
"data-edge-id": p,
|
|
1025
|
+
animate: M,
|
|
1026
|
+
...c,
|
|
1027
|
+
children: [N, P]
|
|
1028
|
+
}), a[26] = p, a[27] = i, a[28] = c, a[29] = M, a[30] = N, a[31] = P, a[32] = A, a[33] = F) : F = a[33], F;
|
|
1029
|
+
});
|
|
1030
|
+
tt.displayName = "EdgeLabel";
|
|
1031
|
+
//#endregion
|
|
1032
|
+
//#region ../diagram/src/base-primitives/edge/EdgeLabelContainer.tsx
|
|
1033
|
+
var toCssVarValue = (r) => r === void 0 ? "" : e$1(r) ? `${Math.trunc(r)}px` : r;
|
|
1034
|
+
function EdgeLabelContainer(r) {
|
|
1035
|
+
let i = J(42), a, o, s, c, l, u;
|
|
1036
|
+
i[0] === r ? (a = i[1], o = i[2], s = i[3], c = i[4], l = i[5], u = i[6]) : ({edgeProps: u, labelPosition: c, className: o, style: s, children: a, ...l} = r, i[0] = r, i[1] = a, i[2] = o, i[3] = s, i[4] = c, i[5] = l, i[6] = u);
|
|
1037
|
+
let { id: d, selected: f, data: p, animated: m } = u, h = f === void 0 ? !1 : f, { hovered: g, active: _, dimmed: v, labelBBox: y, color: b } = p, x = g === void 0 ? !1 : g, S = _ === void 0 ? !1 : _, C = v === void 0 ? !1 : v, T = b === void 0 ? "gray" : b, E = c?.x ?? y?.x, D = c?.y ?? y?.y;
|
|
1038
|
+
if (E === void 0 || D === void 0) return null;
|
|
1039
|
+
let O = c?.translate ?? "";
|
|
1040
|
+
m ||= S;
|
|
1041
|
+
let k = d, A;
|
|
1042
|
+
i[7] === o ? A = i[8] : (A = w("nodrag nopan", "likec4-edge-label-container", o), i[7] = o, i[8] = A);
|
|
1043
|
+
let j = m || S, M;
|
|
1044
|
+
i[9] === m ? M = i[10] : (M = m && { "data-likec4-animated": m }, i[9] = m, i[10] = M);
|
|
1045
|
+
let N;
|
|
1046
|
+
i[11] === h ? N = i[12] : (N = h !== !1 && { "data-likec4-selected": h }, i[11] = h, i[12] = N);
|
|
1047
|
+
let P;
|
|
1048
|
+
i[13] === C ? P = i[14] : (P = C !== !1 && { "data-likec4-dimmed": C }, i[13] = C, i[14] = P);
|
|
1049
|
+
let F;
|
|
1050
|
+
i[15] === E ? F = i[16] : (F = toCssVarValue(E), i[15] = E, i[16] = F);
|
|
1051
|
+
let I;
|
|
1052
|
+
i[17] === D ? I = i[18] : (I = toCssVarValue(D), i[17] = D, i[18] = I);
|
|
1053
|
+
let L = `translate(${F}, ${I}) ${O}`, R;
|
|
1054
|
+
i[19] === L ? R = i[20] : (R = { transform: L }, i[19] = L, i[20] = R);
|
|
1055
|
+
let z;
|
|
1056
|
+
i[21] === y ? z = i[22] : (z = y && { maxWidth: y.width + 20 }, i[21] = y, i[22] = z);
|
|
1057
|
+
let B;
|
|
1058
|
+
i[23] !== s || i[24] !== z ? (B = {
|
|
1059
|
+
...s,
|
|
1060
|
+
...z
|
|
1061
|
+
}, i[23] = s, i[24] = z, i[25] = B) : B = i[25];
|
|
1062
|
+
let V;
|
|
1063
|
+
i[26] !== a || i[27] !== B ? (V = /* @__PURE__ */ X("div", {
|
|
1064
|
+
style: B,
|
|
1065
|
+
children: a
|
|
1066
|
+
}), i[26] = a, i[27] = B, i[28] = V) : V = i[28];
|
|
1067
|
+
let H;
|
|
1068
|
+
return i[29] !== T || i[30] !== d || i[31] !== S || i[32] !== x || i[33] !== l || i[34] !== j || i[35] !== M || i[36] !== N || i[37] !== P || i[38] !== R || i[39] !== V || i[40] !== A ? (H = /* @__PURE__ */ X(ee, { children: /* @__PURE__ */ X("div", {
|
|
1069
|
+
...l,
|
|
1070
|
+
className: A,
|
|
1071
|
+
"data-likec4-hovered": x,
|
|
1072
|
+
"data-likec4-color": T,
|
|
1073
|
+
"data-edge-active": S,
|
|
1074
|
+
"data-edge-animated": j,
|
|
1075
|
+
...M,
|
|
1076
|
+
...N,
|
|
1077
|
+
...P,
|
|
1078
|
+
style: R,
|
|
1079
|
+
children: V
|
|
1080
|
+
}, k) }), i[29] = T, i[30] = d, i[31] = S, i[32] = x, i[33] = l, i[34] = j, i[35] = M, i[36] = N, i[37] = P, i[38] = R, i[39] = V, i[40] = A, i[41] = H) : H = i[41], H;
|
|
1081
|
+
}
|
|
1082
|
+
//#endregion
|
|
1083
|
+
//#region ../diagram/src/base-primitives/edge/EdgeMarkers.tsx
|
|
1084
|
+
var Open = (r) => {
|
|
1085
|
+
let i = J(3), a;
|
|
1086
|
+
i[0] === Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ X("path", {
|
|
1087
|
+
d: "M0,0 L7,4 L0,8 L4,4 Z",
|
|
1088
|
+
stroke: "context-stroke",
|
|
1089
|
+
fill: "context-stroke",
|
|
1090
|
+
strokeDasharray: 0,
|
|
1091
|
+
strokeWidth: 1,
|
|
1092
|
+
strokeLinecap: "round"
|
|
1093
|
+
}), i[0] = a) : a = i[0];
|
|
1094
|
+
let o;
|
|
1095
|
+
return i[1] === r ? o = i[2] : (o = /* @__PURE__ */ X("marker", {
|
|
1096
|
+
viewBox: "-4 -4 14 16",
|
|
1097
|
+
refX: 5,
|
|
1098
|
+
refY: 4,
|
|
1099
|
+
markerWidth: "7",
|
|
1100
|
+
markerHeight: "8",
|
|
1101
|
+
preserveAspectRatio: "xMaxYMid meet",
|
|
1102
|
+
orient: "auto-start-reverse",
|
|
1103
|
+
...r,
|
|
1104
|
+
children: a
|
|
1105
|
+
}), i[1] = r, i[2] = o), o;
|
|
1106
|
+
}, Arrow = (r) => {
|
|
1107
|
+
let i = J(3), a;
|
|
1108
|
+
i[0] === Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ X("path", {
|
|
1109
|
+
d: "M 0 0 L 8 3 L 0 6 L 1 3 z",
|
|
1110
|
+
fill: "context-stroke",
|
|
1111
|
+
strokeWidth: 0
|
|
1112
|
+
}), i[0] = a) : a = i[0];
|
|
1113
|
+
let o;
|
|
1114
|
+
return i[1] === r ? o = i[2] : (o = /* @__PURE__ */ X("marker", {
|
|
1115
|
+
viewBox: "-1 -1 12 10",
|
|
1116
|
+
refX: 4,
|
|
1117
|
+
refY: 3,
|
|
1118
|
+
markerWidth: "8",
|
|
1119
|
+
markerHeight: "6",
|
|
1120
|
+
preserveAspectRatio: "xMaxYMid meet",
|
|
1121
|
+
orient: "auto-start-reverse",
|
|
1122
|
+
...r,
|
|
1123
|
+
children: a
|
|
1124
|
+
}), i[1] = r, i[2] = o), o;
|
|
1125
|
+
}, Crow = (r) => {
|
|
1126
|
+
let i = J(3), a;
|
|
1127
|
+
i[0] === Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ X("path", {
|
|
1128
|
+
d: "M 8 0 L 0 4 L 8 8 M 8 4 L 0 4",
|
|
1129
|
+
fill: "none",
|
|
1130
|
+
strokeWidth: 1
|
|
1131
|
+
}), i[0] = a) : a = i[0];
|
|
1132
|
+
let o;
|
|
1133
|
+
return i[1] === r ? o = i[2] : (o = /* @__PURE__ */ X("marker", {
|
|
1134
|
+
viewBox: "-1 -1 12 12",
|
|
1135
|
+
refX: 8,
|
|
1136
|
+
refY: 4,
|
|
1137
|
+
markerWidth: "8",
|
|
1138
|
+
markerHeight: "8",
|
|
1139
|
+
preserveAspectRatio: "xMaxYMid meet",
|
|
1140
|
+
orient: "auto-start-reverse",
|
|
1141
|
+
...r,
|
|
1142
|
+
children: a
|
|
1143
|
+
}), i[1] = r, i[2] = o), o;
|
|
1144
|
+
}, OArrow = (r) => {
|
|
1145
|
+
let i = J(3), a;
|
|
1146
|
+
i[0] === Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ X("path", {
|
|
1147
|
+
d: "M 0 0 L 8 3 L 0 6 L 1 3 z",
|
|
1148
|
+
stroke: "context-stroke",
|
|
1149
|
+
fill: "var(--likec4-background-color)",
|
|
1150
|
+
strokeWidth: 1.25,
|
|
1151
|
+
strokeLinejoin: "miter",
|
|
1152
|
+
strokeLinecap: "square"
|
|
1153
|
+
}), i[0] = a) : a = i[0];
|
|
1154
|
+
let o;
|
|
1155
|
+
return i[1] === r ? o = i[2] : (o = /* @__PURE__ */ X("marker", {
|
|
1156
|
+
viewBox: "-1 -1 12 10",
|
|
1157
|
+
refX: 4,
|
|
1158
|
+
refY: 3,
|
|
1159
|
+
markerWidth: "8",
|
|
1160
|
+
markerHeight: "6",
|
|
1161
|
+
preserveAspectRatio: "xMaxYMid meet",
|
|
1162
|
+
orient: "auto-start-reverse",
|
|
1163
|
+
...r,
|
|
1164
|
+
children: a
|
|
1165
|
+
}), i[1] = r, i[2] = o), o;
|
|
1166
|
+
}, Diamond = (r) => {
|
|
1167
|
+
let i = J(3), a;
|
|
1168
|
+
i[0] === Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ X("path", {
|
|
1169
|
+
d: "M5,0 L10,4 L5,8 L0,4 Z",
|
|
1170
|
+
fill: "context-stroke",
|
|
1171
|
+
strokeWidth: 0,
|
|
1172
|
+
strokeLinecap: "round"
|
|
1173
|
+
}), i[0] = a) : a = i[0];
|
|
1174
|
+
let o;
|
|
1175
|
+
return i[1] === r ? o = i[2] : (o = /* @__PURE__ */ X("marker", {
|
|
1176
|
+
viewBox: "-4 -4 16 14",
|
|
1177
|
+
refX: 5,
|
|
1178
|
+
refY: 4,
|
|
1179
|
+
markerWidth: "10",
|
|
1180
|
+
markerHeight: "8",
|
|
1181
|
+
preserveAspectRatio: "xMaxYMid meet",
|
|
1182
|
+
orient: "auto-start-reverse",
|
|
1183
|
+
...r,
|
|
1184
|
+
children: a
|
|
1185
|
+
}), i[1] = r, i[2] = o), o;
|
|
1186
|
+
}, ODiamond = (r) => {
|
|
1187
|
+
let i = J(3), a;
|
|
1188
|
+
i[0] === Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ X("path", {
|
|
1189
|
+
d: "M5,0 L10,4 L5,8 L0,4 Z",
|
|
1190
|
+
stroke: "context-stroke",
|
|
1191
|
+
fill: "var(--likec4-background-color)",
|
|
1192
|
+
strokeWidth: 1.25,
|
|
1193
|
+
strokeLinecap: "round"
|
|
1194
|
+
}), i[0] = a) : a = i[0];
|
|
1195
|
+
let o;
|
|
1196
|
+
return i[1] === r ? o = i[2] : (o = /* @__PURE__ */ X("marker", {
|
|
1197
|
+
viewBox: "-4 -4 16 14",
|
|
1198
|
+
refX: 6,
|
|
1199
|
+
refY: 4,
|
|
1200
|
+
markerWidth: "10",
|
|
1201
|
+
markerHeight: "8",
|
|
1202
|
+
preserveAspectRatio: "xMaxYMid meet",
|
|
1203
|
+
orient: "auto-start-reverse",
|
|
1204
|
+
...r,
|
|
1205
|
+
children: a
|
|
1206
|
+
}), i[1] = r, i[2] = o), o;
|
|
1207
|
+
}, Dot = (r) => {
|
|
1208
|
+
let i = J(3), a;
|
|
1209
|
+
i[0] === Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ X("circle", {
|
|
1210
|
+
strokeWidth: 0,
|
|
1211
|
+
fill: "context-stroke",
|
|
1212
|
+
cx: 4,
|
|
1213
|
+
cy: 4,
|
|
1214
|
+
r: 3
|
|
1215
|
+
}), i[0] = a) : a = i[0];
|
|
1216
|
+
let o;
|
|
1217
|
+
return i[1] === r ? o = i[2] : (o = /* @__PURE__ */ X("marker", {
|
|
1218
|
+
viewBox: "0 0 10 10",
|
|
1219
|
+
refX: 4,
|
|
1220
|
+
refY: 4,
|
|
1221
|
+
markerWidth: "6",
|
|
1222
|
+
markerHeight: "6",
|
|
1223
|
+
...r,
|
|
1224
|
+
children: a
|
|
1225
|
+
}), i[1] = r, i[2] = o), o;
|
|
1226
|
+
}, ODot = (r) => {
|
|
1227
|
+
let i = J(3), a;
|
|
1228
|
+
i[0] === Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ X("circle", {
|
|
1229
|
+
strokeWidth: 1.25,
|
|
1230
|
+
stroke: "context-stroke",
|
|
1231
|
+
fill: "var(--likec4-background-color)",
|
|
1232
|
+
cx: 4,
|
|
1233
|
+
cy: 4,
|
|
1234
|
+
r: 3
|
|
1235
|
+
}), i[0] = a) : a = i[0];
|
|
1236
|
+
let o;
|
|
1237
|
+
return i[1] === r ? o = i[2] : (o = /* @__PURE__ */ X("marker", {
|
|
1238
|
+
viewBox: "0 0 10 10",
|
|
1239
|
+
refX: 4,
|
|
1240
|
+
refY: 4,
|
|
1241
|
+
markerWidth: "6",
|
|
1242
|
+
markerHeight: "6",
|
|
1243
|
+
...r,
|
|
1244
|
+
children: a
|
|
1245
|
+
}), i[1] = r, i[2] = o), o;
|
|
1246
|
+
}, nt = {
|
|
1247
|
+
Arrow,
|
|
1248
|
+
Crow,
|
|
1249
|
+
OArrow,
|
|
1250
|
+
Open,
|
|
1251
|
+
Diamond,
|
|
1252
|
+
ODiamond,
|
|
1253
|
+
Dot,
|
|
1254
|
+
ODot
|
|
1255
|
+
};
|
|
1256
|
+
function arrowTypeToMarker(r) {
|
|
1257
|
+
if (!(!r || r === "none")) switch (r) {
|
|
1258
|
+
case "normal": return "Arrow";
|
|
1259
|
+
case "crow": return "Crow";
|
|
1260
|
+
case "onormal": return "OArrow";
|
|
1261
|
+
case "diamond": return "Diamond";
|
|
1262
|
+
case "odiamond": return "ODiamond";
|
|
1263
|
+
case "open":
|
|
1264
|
+
case "vee": return "Open";
|
|
1265
|
+
case "dot": return "Dot";
|
|
1266
|
+
case "odot": return "ODot";
|
|
1267
|
+
default: ge(r);
|
|
1268
|
+
}
|
|
1269
|
+
}
|
|
1270
|
+
//#endregion
|
|
1271
|
+
//#region ../diagram/src/base-primitives/edge/EdgePath.tsx
|
|
1272
|
+
var rt = K((r, i) => {
|
|
1273
|
+
let a = J(54), { edgeProps: o, isDragging: s, onEdgePointerDown: c, strokeWidth: l, svgPath: u } = r, { id: d, data: f, selectable: p, style: m, interactionWidth: h } = o, { line: g, dir: _, tail: v, head: y } = f, b = p === void 0 ? !0 : p, x = s === void 0 ? !1 : s, S = arrowTypeToMarker(v), C = arrowTypeToMarker(y ?? "normal");
|
|
1274
|
+
_ === "back" && ([S, C] = [C, S]);
|
|
1275
|
+
let E = S ? nt[S] : null, O = C ? nt[C] : null, k = g === "dotted", A = k || g === "dashed", j;
|
|
1276
|
+
k ? j = "1,8" : A && (j = "8,10");
|
|
1277
|
+
let M, N, P, F, I, L, R, z;
|
|
1278
|
+
if (a[0] !== O || a[1] !== E || a[2] !== d || a[3] !== h || a[4] !== x || a[5] !== c || a[6] !== b || a[7] !== m || a[8] !== u || a[9] !== i) {
|
|
1279
|
+
let r = D();
|
|
1280
|
+
a[18] !== h || a[19] !== x || a[20] !== c || a[21] !== b || a[22] !== u ? (N = b && /* @__PURE__ */ X("path", {
|
|
1281
|
+
className: w("react-flow__edge-interaction", T({ fill: "none" })),
|
|
1282
|
+
onPointerDown: c,
|
|
1283
|
+
d: u,
|
|
1284
|
+
style: {
|
|
1285
|
+
strokeWidth: h ?? 10,
|
|
1286
|
+
stroke: "currentcolor",
|
|
1287
|
+
strokeOpacity: 0,
|
|
1288
|
+
...x ? { display: "none" } : {}
|
|
1289
|
+
}
|
|
1290
|
+
}), a[18] = h, a[19] = x, a[20] = c, a[21] = b, a[22] = u, a[23] = N) : N = a[23];
|
|
1291
|
+
let o = `path("${u}")`, s;
|
|
1292
|
+
a[24] === o ? s = a[25] : (s = { offsetPath: o }, a[24] = o, a[25] = s), P = /* @__PURE__ */ X("circle", {
|
|
1293
|
+
className: w("likec4-edge-middle-point", r.middlePoint),
|
|
1294
|
+
"data-edge-id": d,
|
|
1295
|
+
style: s
|
|
1296
|
+
}), L = r.markersCtx, R = c;
|
|
1297
|
+
let l;
|
|
1298
|
+
a[26] !== E || a[27] !== d ? (l = E && /* @__PURE__ */ X(E, { id: "start" + d }), a[26] = E, a[27] = d, a[28] = l) : l = a[28];
|
|
1299
|
+
let f;
|
|
1300
|
+
a[29] !== O || a[30] !== d ? (f = O && /* @__PURE__ */ X(O, { id: "end" + d }), a[29] = O, a[30] = d, a[31] = f) : f = a[31], a[32] !== l || a[33] !== f ? (z = /* @__PURE__ */ Z("defs", { children: [l, f] }), a[32] = l, a[33] = f, a[34] = z) : z = a[34], M = /* @__PURE__ */ X("path", {
|
|
1301
|
+
className: w("react-flow__edge-path", "hide-on-reduced-graphics", r.pathBg, x && T({ display: "none" })),
|
|
1302
|
+
d: u,
|
|
1303
|
+
style: m,
|
|
1304
|
+
strokeLinecap: "round"
|
|
1305
|
+
}), F = i, I = w("react-flow__edge-path", r.path, b && "react-flow__edge-interaction"), a[0] = O, a[1] = E, a[2] = d, a[3] = h, a[4] = x, a[5] = c, a[6] = b, a[7] = m, a[8] = u, a[9] = i, a[10] = M, a[11] = N, a[12] = P, a[13] = F, a[14] = I, a[15] = L, a[16] = R, a[17] = z;
|
|
1306
|
+
} else M = a[10], N = a[11], P = a[12], F = a[13], I = a[14], L = a[15], R = a[16], z = a[17];
|
|
1307
|
+
let B = E ? `url(#start${d})` : void 0, ee = O ? `url(#end${d})` : void 0, V;
|
|
1308
|
+
a[35] !== j || a[36] !== l || a[37] !== m || a[38] !== u || a[39] !== B || a[40] !== ee || a[41] !== F || a[42] !== I ? (V = /* @__PURE__ */ X("path", {
|
|
1309
|
+
ref: F,
|
|
1310
|
+
className: I,
|
|
1311
|
+
d: u,
|
|
1312
|
+
style: m,
|
|
1313
|
+
strokeWidth: l,
|
|
1314
|
+
strokeLinecap: "round",
|
|
1315
|
+
strokeDasharray: j,
|
|
1316
|
+
markerStart: B,
|
|
1317
|
+
markerEnd: ee
|
|
1318
|
+
}), a[35] = j, a[36] = l, a[37] = m, a[38] = u, a[39] = B, a[40] = ee, a[41] = F, a[42] = I, a[43] = V) : V = a[43];
|
|
1319
|
+
let H;
|
|
1320
|
+
a[44] !== M || a[45] !== V || a[46] !== L || a[47] !== R || a[48] !== z ? (H = /* @__PURE__ */ Z("g", {
|
|
1321
|
+
className: L,
|
|
1322
|
+
onPointerDown: R,
|
|
1323
|
+
children: [
|
|
1324
|
+
z,
|
|
1325
|
+
M,
|
|
1326
|
+
V
|
|
1327
|
+
]
|
|
1328
|
+
}), a[44] = M, a[45] = V, a[46] = L, a[47] = R, a[48] = z, a[49] = H) : H = a[49];
|
|
1329
|
+
let U;
|
|
1330
|
+
return a[50] !== N || a[51] !== P || a[52] !== H ? (U = /* @__PURE__ */ Z(Y, { children: [
|
|
1331
|
+
N,
|
|
1332
|
+
P,
|
|
1333
|
+
H
|
|
1334
|
+
] }), a[50] = N, a[51] = P, a[52] = H, a[53] = U) : U = a[53], U;
|
|
1335
|
+
});
|
|
1336
|
+
rt.displayName = "EdgePath";
|
|
1337
|
+
//#endregion
|
|
1338
|
+
//#region ../diagram/src/base-primitives/element/ElementActionButtons.tsx
|
|
1339
|
+
var it = {
|
|
1340
|
+
normal: {
|
|
1341
|
+
originY: 0,
|
|
1342
|
+
opacity: .75,
|
|
1343
|
+
scale: .8,
|
|
1344
|
+
y: 0
|
|
1345
|
+
},
|
|
1346
|
+
selected: {
|
|
1347
|
+
originY: 0,
|
|
1348
|
+
opacity: 1,
|
|
1349
|
+
scale: .9,
|
|
1350
|
+
y: 7
|
|
1351
|
+
},
|
|
1352
|
+
hovered: {
|
|
1353
|
+
originY: 0,
|
|
1354
|
+
opacity: 1,
|
|
1355
|
+
scale: 1.12,
|
|
1356
|
+
y: 7
|
|
1357
|
+
}
|
|
1358
|
+
};
|
|
1359
|
+
function ElementActionButtons(r) {
|
|
1360
|
+
let i = J(14), { selected: a, data: o, buttons: s } = r, c = a === void 0 ? !1 : a, { hovered: l } = o, u = l === void 0 ? !1 : l, d = g();
|
|
1361
|
+
if (!s.length) return null;
|
|
1362
|
+
let f;
|
|
1363
|
+
bb0: switch (!0) {
|
|
1364
|
+
case u:
|
|
1365
|
+
f = "hovered";
|
|
1366
|
+
break bb0;
|
|
1367
|
+
case c:
|
|
1368
|
+
f = "selected";
|
|
1369
|
+
break bb0;
|
|
1370
|
+
default: f = "normal";
|
|
1371
|
+
}
|
|
1372
|
+
let p = u || c, m;
|
|
1373
|
+
i[0] === Symbol.for("react.memo_cache_sentinel") ? (m = A(), i[0] = m) : m = i[0];
|
|
1374
|
+
let h = f, _ = `${u}-${c}`, v;
|
|
1375
|
+
i[1] === Symbol.for("react.memo_cache_sentinel") ? (v = w("nodrag nopan"), i[1] = v) : v = i[1];
|
|
1376
|
+
let b;
|
|
1377
|
+
if (i[2] !== s || i[3] !== d || i[4] !== p) {
|
|
1378
|
+
let t9;
|
|
1379
|
+
i[6] !== d || i[7] !== p ? (t9 = (r, i) => /* @__PURE__ */ X(y, {
|
|
1380
|
+
component: oe,
|
|
1381
|
+
className: k({}),
|
|
1382
|
+
initial: !1,
|
|
1383
|
+
whileTap: { scale: 1 },
|
|
1384
|
+
whileHover: { scale: 1.3 },
|
|
1385
|
+
tabIndex: p ? 0 : -1,
|
|
1386
|
+
inert: p ? void 0 : !0,
|
|
1387
|
+
"aria-label": r.ariaLabel ?? r.key ?? "Element action",
|
|
1388
|
+
onClick: r.onClick,
|
|
1389
|
+
onDoubleClick: stopPropagation,
|
|
1390
|
+
children: r.icon || /* @__PURE__ */ X(Te, {})
|
|
1391
|
+
}, `${d}-${r.key ?? i}`), i[6] = d, i[7] = p, i[8] = t9) : t9 = i[8], b = s.map(t9), i[2] = s, i[3] = d, i[4] = p, i[5] = b;
|
|
1392
|
+
} else b = i[5];
|
|
1393
|
+
let x;
|
|
1394
|
+
return i[9] !== u || i[10] !== _ || i[11] !== b || i[12] !== f ? (x = /* @__PURE__ */ X("div", {
|
|
1395
|
+
className: m,
|
|
1396
|
+
children: /* @__PURE__ */ X(G, {
|
|
1397
|
+
layoutRoot: !0,
|
|
1398
|
+
initial: !1,
|
|
1399
|
+
variants: it,
|
|
1400
|
+
animate: h,
|
|
1401
|
+
layoutDependency: _,
|
|
1402
|
+
"data-likec4-hovered": u,
|
|
1403
|
+
className: v,
|
|
1404
|
+
onClick: stopPropagation,
|
|
1405
|
+
children: b
|
|
1406
|
+
})
|
|
1407
|
+
}), i[9] = u, i[10] = _, i[11] = b, i[12] = f, i[13] = x) : x = i[13], x;
|
|
1408
|
+
}
|
|
1409
|
+
//#endregion
|
|
1410
|
+
//#region ../diagram/src/base-primitives/element/ElementData.tsx
|
|
1411
|
+
var resolveIconColor = (r, i) => {
|
|
1412
|
+
let a = i.style.iconColor;
|
|
1413
|
+
if (!a) return;
|
|
1414
|
+
let o = r.colors(a).elements;
|
|
1415
|
+
return a === i.color ? o.stroke : o.fill;
|
|
1416
|
+
}, at = K((r, i) => {
|
|
1417
|
+
let a = J(28), o, s, c, l;
|
|
1418
|
+
a[0] === r ? (o = a[1], s = a[2], c = a[3], l = a[4]) : ({className: o, style: l, data: s, ...c} = r, a[0] = r, a[1] = o, a[2] = s, a[3] = c, a[4] = l);
|
|
1419
|
+
let u = useLikeC4Styles(), d;
|
|
1420
|
+
a[5] !== s.style || a[6] !== u ? (d = s.style.iconSize ? u.nodeSizes(s.style).values.iconSize : void 0, a[5] = s.style, a[6] = u, a[7] = d) : d = a[7];
|
|
1421
|
+
let f = d, p;
|
|
1422
|
+
a[8] !== s || a[9] !== u ? (p = resolveIconColor(u, s), a[8] = s, a[9] = u, a[10] = p) : p = a[10];
|
|
1423
|
+
let m = p, h;
|
|
1424
|
+
a[11] !== o || a[12] !== s.style.iconPosition || a[13] !== m ? (h = w(o, M({
|
|
1425
|
+
iconPosition: s.style.iconPosition,
|
|
1426
|
+
withIconColor: !!m
|
|
1427
|
+
}), "likec4-element"), a[11] = o, a[12] = s.style.iconPosition, a[13] = m, a[14] = h) : h = a[14];
|
|
1428
|
+
let g;
|
|
1429
|
+
a[15] === f ? g = a[16] : (g = f && { "--likec4-icon-size": `${f}px` }, a[15] = f, a[16] = g);
|
|
1430
|
+
let _;
|
|
1431
|
+
a[17] === m ? _ = a[18] : (_ = m && { "--likec4-icon-color": m }, a[17] = m, a[18] = _);
|
|
1432
|
+
let v;
|
|
1433
|
+
a[19] !== l || a[20] !== g || a[21] !== _ ? (v = {
|
|
1434
|
+
...l,
|
|
1435
|
+
...g,
|
|
1436
|
+
..._
|
|
1437
|
+
}, a[19] = l, a[20] = g, a[21] = _, a[22] = v) : v = a[22];
|
|
1438
|
+
let y;
|
|
1439
|
+
return a[23] !== c || a[24] !== i || a[25] !== h || a[26] !== v ? (y = /* @__PURE__ */ X("div", {
|
|
1440
|
+
...c,
|
|
1441
|
+
ref: i,
|
|
1442
|
+
className: h,
|
|
1443
|
+
style: v
|
|
1444
|
+
}), a[23] = c, a[24] = i, a[25] = h, a[26] = v, a[27] = y) : y = a[27], y;
|
|
1445
|
+
}), Icon = (r) => {
|
|
1446
|
+
let i = J(6), a, o;
|
|
1447
|
+
i[0] === r ? (a = i[1], o = i[2]) : ({data: a, ...o} = r, i[0] = r, i[1] = a, i[2] = o);
|
|
1448
|
+
let s;
|
|
1449
|
+
return i[3] !== a || i[4] !== o ? (s = /* @__PURE__ */ X(IconRenderer, {
|
|
1450
|
+
element: a,
|
|
1451
|
+
...o
|
|
1452
|
+
}), i[3] = a, i[4] = o, i[5] = s) : s = i[5], s;
|
|
1453
|
+
}, ot = K((r, i) => {
|
|
1454
|
+
let a = J(9), o, s;
|
|
1455
|
+
a[0] === r ? (o = a[1], s = a[2]) : ({className: o, ...s} = r, a[0] = r, a[1] = o, a[2] = s);
|
|
1456
|
+
let c;
|
|
1457
|
+
a[3] === o ? c = a[4] : (c = w(o, "likec4-element-node-content"), a[3] = o, a[4] = c);
|
|
1458
|
+
let l;
|
|
1459
|
+
return a[5] !== s || a[6] !== i || a[7] !== c ? (l = /* @__PURE__ */ X("div", {
|
|
1460
|
+
...s,
|
|
1461
|
+
className: c,
|
|
1462
|
+
ref: i
|
|
1463
|
+
}), a[5] = s, a[6] = i, a[7] = c, a[8] = l) : l = a[8], l;
|
|
1464
|
+
}), st = K((r, i) => {
|
|
1465
|
+
let a = J(11), o, s, c;
|
|
1466
|
+
a[0] === r ? (o = a[1], s = a[2], c = a[3]) : ({data: c, className: o, ...s} = r, a[0] = r, a[1] = o, a[2] = s, a[3] = c);
|
|
1467
|
+
let { title: l } = c, u;
|
|
1468
|
+
a[4] === o ? u = a[5] : (u = w(o, "likec4-element-title"), a[4] = o, a[5] = u);
|
|
1469
|
+
let d;
|
|
1470
|
+
return a[6] !== s || a[7] !== i || a[8] !== u || a[9] !== l ? (d = /* @__PURE__ */ X("div", {
|
|
1471
|
+
...s,
|
|
1472
|
+
className: u,
|
|
1473
|
+
"data-likec4-node-title": "",
|
|
1474
|
+
ref: i,
|
|
1475
|
+
children: l
|
|
1476
|
+
}), a[6] = s, a[7] = i, a[8] = u, a[9] = l, a[10] = d) : d = a[10], d;
|
|
1477
|
+
}), ct = K((r, i) => {
|
|
1478
|
+
let a = J(10), o, s, c, l;
|
|
1479
|
+
a[0] === r ? (o = a[1], s = a[2], c = a[3], l = a[4]) : ({data: c, children: o, className: s, ...l} = r, a[0] = r, a[1] = o, a[2] = s, a[3] = c, a[4] = l);
|
|
1480
|
+
let u = c?.technology ?? o, d;
|
|
1481
|
+
return a[5] !== s || a[6] !== l || a[7] !== i || a[8] !== u ? (d = e(u) ? /* @__PURE__ */ X("div", {
|
|
1482
|
+
...l,
|
|
1483
|
+
className: w(s, "likec4-element-technology"),
|
|
1484
|
+
"data-likec4-node-technology": "",
|
|
1485
|
+
ref: i,
|
|
1486
|
+
children: u
|
|
1487
|
+
}) : null, a[5] = s, a[6] = l, a[7] = i, a[8] = u, a[9] = d) : d = a[9], d;
|
|
1488
|
+
}), lt = K((r, i) => {
|
|
1489
|
+
let a = J(16), o, s, c;
|
|
1490
|
+
a[0] === r ? (o = a[1], s = a[2], c = a[3]) : ({data: c, className: o, ...s} = r, a[0] = r, a[1] = o, a[2] = s, a[3] = c);
|
|
1491
|
+
let { description: u } = c;
|
|
1492
|
+
if (!u) return null;
|
|
1493
|
+
let d;
|
|
1494
|
+
a[4] === u ? d = a[5] : (d = be.from(u), a[4] = u, a[5] = d);
|
|
1495
|
+
let f = d, p;
|
|
1496
|
+
a[6] === o ? p = a[7] : (p = w(o, "likec4-element-description"), a[6] = o, a[7] = p);
|
|
1497
|
+
let m = f.isMarkdown ? "8rem" : void 0, h;
|
|
1498
|
+
a[8] === m ? h = a[9] : (h = { maxHeight: m }, a[8] = m, a[9] = h);
|
|
1499
|
+
let g;
|
|
1500
|
+
return a[10] !== f || a[11] !== s || a[12] !== i || a[13] !== p || a[14] !== h ? (g = /* @__PURE__ */ X(l, {
|
|
1501
|
+
...s,
|
|
1502
|
+
className: p,
|
|
1503
|
+
"data-likec4-node-description": "",
|
|
1504
|
+
value: f,
|
|
1505
|
+
uselikec4palette: !0,
|
|
1506
|
+
hideIfEmpty: !0,
|
|
1507
|
+
style: h,
|
|
1508
|
+
ref: i
|
|
1509
|
+
}), a[10] = f, a[11] = s, a[12] = i, a[13] = p, a[14] = h, a[15] = g) : g = a[15], g;
|
|
1510
|
+
});
|
|
1511
|
+
function ElementData(r) {
|
|
1512
|
+
let i = J(9), { data: a, "aria-hidden": o } = r, s;
|
|
1513
|
+
i[0] === a ? s = i[1] : (s = /* @__PURE__ */ X(Icon, { data: a }), i[0] = a, i[1] = s);
|
|
1514
|
+
let c;
|
|
1515
|
+
i[2] === a ? c = i[3] : (c = /* @__PURE__ */ Z(ot, { children: [
|
|
1516
|
+
/* @__PURE__ */ X(st, { data: a }),
|
|
1517
|
+
/* @__PURE__ */ X(ct, { data: a }),
|
|
1518
|
+
/* @__PURE__ */ X(lt, { data: a })
|
|
1519
|
+
] }), i[2] = a, i[3] = c);
|
|
1520
|
+
let l;
|
|
1521
|
+
return i[4] !== o || i[5] !== a || i[6] !== s || i[7] !== c ? (l = /* @__PURE__ */ Z(at, {
|
|
1522
|
+
data: a,
|
|
1523
|
+
"aria-hidden": o,
|
|
1524
|
+
children: [s, c]
|
|
1525
|
+
}), i[4] = o, i[5] = a, i[6] = s, i[7] = c, i[8] = l) : l = i[8], l;
|
|
1526
|
+
}
|
|
1527
|
+
ElementData.Root = at, ElementData.Icon = Icon, ElementData.Content = ot, ElementData.Title = st, ElementData.Technology = ct, ElementData.Description = lt;
|
|
1528
|
+
//#endregion
|
|
1529
|
+
//#region ../diagram/src/base-primitives/element/ElementNodeContainer.tsx
|
|
1530
|
+
var ut = {
|
|
1531
|
+
normal: { scale: 1 },
|
|
1532
|
+
hovered: { scale: 1.05 },
|
|
1533
|
+
selected: { scale: 1.02 },
|
|
1534
|
+
tap: { scale: .98 }
|
|
1535
|
+
}, dt = K((r, i) => {
|
|
1536
|
+
let a = J(34), o, s, c, l, u;
|
|
1537
|
+
a[0] === r ? (o = a[1], s = a[2], c = a[3], l = a[4], u = a[5]) : ({nodeProps: u, className: s, style: l, children: o, ...c} = r, a[0] = r, a[1] = o, a[2] = s, a[3] = c, a[4] = l, a[5] = u);
|
|
1538
|
+
let { selected: d, selectable: f, data: p } = u, m = d === void 0 ? !1 : d, h = f === void 0 ? !1 : f, g, _, v, y, b;
|
|
1539
|
+
if (a[6] !== m || a[7] !== p) {
|
|
1540
|
+
let { hovered: r, dimmed: i, ...o } = p;
|
|
1541
|
+
g = o, v = r === void 0 ? !1 : r, _ = i === void 0 ? !1 : i;
|
|
1542
|
+
bb0: switch (!0) {
|
|
1543
|
+
case v:
|
|
1544
|
+
b = "hovered";
|
|
1545
|
+
break bb0;
|
|
1546
|
+
case m:
|
|
1547
|
+
b = "selected";
|
|
1548
|
+
break bb0;
|
|
1549
|
+
default: b = "normal";
|
|
1550
|
+
}
|
|
1551
|
+
y = xe(g.style ?? {}), a[6] = m, a[7] = p, a[8] = g, a[9] = _, a[10] = v, a[11] = y, a[12] = b;
|
|
1552
|
+
} else g = a[8], _ = a[9], v = a[10], y = a[11], b = a[12];
|
|
1553
|
+
let { size: x, padding: S, textSize: C } = y, T;
|
|
1554
|
+
a[13] === s ? T = a[14] : (T = w(P(), "group", s), a[13] = s, a[14] = T);
|
|
1555
|
+
let E;
|
|
1556
|
+
a[15] !== h || a[16] !== b ? (E = h && {
|
|
1557
|
+
animate: b,
|
|
1558
|
+
whileTap: "tap"
|
|
1559
|
+
}, a[15] = h, a[16] = b, a[17] = E) : E = a[17];
|
|
1560
|
+
let D;
|
|
1561
|
+
a[18] === _ ? D = a[19] : (D = _ !== !1 && { "data-likec4-dimmed": _ }, a[18] = _, a[19] = D);
|
|
1562
|
+
let O = l, k;
|
|
1563
|
+
return a[20] !== o || a[21] !== g.color || a[22] !== g.shape || a[23] !== v || a[24] !== S || a[25] !== i || a[26] !== c || a[27] !== x || a[28] !== T || a[29] !== E || a[30] !== D || a[31] !== O || a[32] !== C ? (k = /* @__PURE__ */ X(G, {
|
|
1564
|
+
ref: i,
|
|
1565
|
+
className: T,
|
|
1566
|
+
variants: ut,
|
|
1567
|
+
initial: !1,
|
|
1568
|
+
...E,
|
|
1569
|
+
"data-likec4-hovered": v,
|
|
1570
|
+
"data-likec4-color": g.color,
|
|
1571
|
+
"data-likec4-shape": g.shape,
|
|
1572
|
+
"data-likec4-shape-size": x,
|
|
1573
|
+
"data-likec4-spacing": S,
|
|
1574
|
+
"data-likec4-text-size": C,
|
|
1575
|
+
...D,
|
|
1576
|
+
style: O,
|
|
1577
|
+
tabIndex: -1,
|
|
1578
|
+
...c,
|
|
1579
|
+
children: o
|
|
1580
|
+
}), a[20] = o, a[21] = g.color, a[22] = g.shape, a[23] = v, a[24] = S, a[25] = i, a[26] = c, a[27] = x, a[28] = T, a[29] = E, a[30] = D, a[31] = O, a[32] = C, a[33] = k) : k = a[33], k;
|
|
1581
|
+
});
|
|
1582
|
+
dt.displayName = "ElementNodeContainer";
|
|
1583
|
+
//#endregion
|
|
1584
|
+
//#region ../diagram/src/base-primitives/element/ElementShape.tsx
|
|
1585
|
+
function cylinderSVGPath(r, i, a = .07) {
|
|
1586
|
+
let o = Math.round(r / 2), s = o, c = roundDpr(a * o), l = i - 2 * c;
|
|
1587
|
+
return {
|
|
1588
|
+
path: ` M ${r},${c}
|
|
1589
|
+
a ${s},${c} 0,0,0 ${-r} 0
|
|
1590
|
+
l 0,${l}
|
|
1591
|
+
a ${s},${c} 0,0,0 ${r} 0
|
|
1592
|
+
l 0,${-l}
|
|
1593
|
+
z
|
|
1594
|
+
`.replace(/\s+/g, " ").trim(),
|
|
1595
|
+
ry: c,
|
|
1596
|
+
rx: s
|
|
1597
|
+
};
|
|
1598
|
+
}
|
|
1599
|
+
function docSVGPath(r, i) {
|
|
1600
|
+
let a = roundDpr(i - i / 8 / 2), o = roundDpr(i / 6);
|
|
1601
|
+
return { path: `
|
|
1602
|
+
M 0 ${a}
|
|
1603
|
+
V 6
|
|
1604
|
+
Q 0 0 6 0
|
|
1605
|
+
H ${r - 6}
|
|
1606
|
+
Q ${r} 0 ${r} 6
|
|
1607
|
+
V ${a}
|
|
1608
|
+
C ${roundDpr(r * .75)} ${a + o}, ${roundDpr(r * .5)} ${a - o}, 0 ${a}
|
|
1609
|
+
`.replace(/\s+/g, " ").trim() };
|
|
1610
|
+
}
|
|
1611
|
+
function bucketSVGPath(r, i) {
|
|
1612
|
+
let a = r / 2, o = roundDpr(a), s = roundDpr(Math.min(i / 8, o * .08)), c = roundDpr(o * .8), l = roundDpr(s * 1.05), u = s, d = i - l, f = a - c;
|
|
1613
|
+
return {
|
|
1614
|
+
path: `
|
|
1615
|
+
M ${r},${u}
|
|
1616
|
+
a ${o},${s} 0,0,0 ${-r} 0
|
|
1617
|
+
L ${f},${d}
|
|
1618
|
+
a ${c},${l} 0,0,0 ${c * 2} 0
|
|
1619
|
+
Z
|
|
1620
|
+
`.replace(/\s+/g, " ").trim(),
|
|
1621
|
+
topRx: o,
|
|
1622
|
+
topRy: s,
|
|
1623
|
+
bottomRx: c,
|
|
1624
|
+
bottomRy: l
|
|
1625
|
+
};
|
|
1626
|
+
}
|
|
1627
|
+
function queueSVGPath(r, i, a = .185) {
|
|
1628
|
+
let o = i, s = Math.round(o / 2), c = roundDpr(o / 2 * a);
|
|
1629
|
+
return {
|
|
1630
|
+
path: `
|
|
1631
|
+
M ${c},0
|
|
1632
|
+
a ${c},${s} 0,0,0 0 ${o}
|
|
1633
|
+
l ${r - 2 * c},0
|
|
1634
|
+
a ${c},${s} 0,0,0 0 ${-o}
|
|
1635
|
+
z`.replace(/\s+/g, " ").trim(),
|
|
1636
|
+
ry: s,
|
|
1637
|
+
rx: c
|
|
1638
|
+
};
|
|
1639
|
+
}
|
|
1640
|
+
var ft = {
|
|
1641
|
+
width: 115,
|
|
1642
|
+
height: 120,
|
|
1643
|
+
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"
|
|
1644
|
+
}, ComponentTopLeftRect = (r) => {
|
|
1645
|
+
let i = J(5), { index: a, size: o } = r, s, c, l, u, d;
|
|
1646
|
+
bb0: switch (o) {
|
|
1647
|
+
case "xs":
|
|
1648
|
+
case "sm":
|
|
1649
|
+
s = 40, c = 18, l = -16, u = 16, d = 10;
|
|
1650
|
+
break bb0;
|
|
1651
|
+
case "md":
|
|
1652
|
+
s = 60, c = 26, l = -20, u = 22, d = 14;
|
|
1653
|
+
break bb0;
|
|
1654
|
+
case "lg":
|
|
1655
|
+
case "xl":
|
|
1656
|
+
s = 70, c = 32, l = -24, u = 32, d = 18;
|
|
1657
|
+
break bb0;
|
|
1658
|
+
default: ge(o);
|
|
1659
|
+
}
|
|
1660
|
+
let f = u + (c + d) * a, p;
|
|
1661
|
+
return i[0] !== c || i[1] !== l || i[2] !== f || i[3] !== s ? (p = /* @__PURE__ */ X("rect", {
|
|
1662
|
+
x: l,
|
|
1663
|
+
y: f,
|
|
1664
|
+
width: s,
|
|
1665
|
+
height: c,
|
|
1666
|
+
rx: 3,
|
|
1667
|
+
className: "top-left-rect",
|
|
1668
|
+
strokeWidth: 2
|
|
1669
|
+
}), i[0] = c, i[1] = l, i[2] = f, i[3] = s, i[4] = p) : p = i[4], p;
|
|
1670
|
+
};
|
|
1671
|
+
function ShapeSvg(r) {
|
|
1672
|
+
let i = J(94), { shape: a, w: o, h: s, size: c } = r, l = c === void 0 ? "md" : c;
|
|
1673
|
+
switch (a) {
|
|
1674
|
+
case "component": {
|
|
1675
|
+
let r;
|
|
1676
|
+
i[0] !== s || i[1] !== o ? (r = /* @__PURE__ */ X("rect", {
|
|
1677
|
+
width: o,
|
|
1678
|
+
height: s,
|
|
1679
|
+
rx: 6,
|
|
1680
|
+
strokeWidth: 0
|
|
1681
|
+
}), i[0] = s, i[1] = o, i[2] = r) : r = i[2];
|
|
1682
|
+
let a, c;
|
|
1683
|
+
i[3] === l ? (a = i[4], c = i[5]) : (a = /* @__PURE__ */ X(ComponentTopLeftRect, {
|
|
1684
|
+
index: 0,
|
|
1685
|
+
size: l
|
|
1686
|
+
}), c = /* @__PURE__ */ X(ComponentTopLeftRect, {
|
|
1687
|
+
index: 1,
|
|
1688
|
+
size: l
|
|
1689
|
+
}), i[3] = l, i[4] = a, i[5] = c);
|
|
1690
|
+
let u;
|
|
1691
|
+
return i[6] !== r || i[7] !== a || i[8] !== c ? (u = /* @__PURE__ */ Z(Y, { children: [
|
|
1692
|
+
r,
|
|
1693
|
+
a,
|
|
1694
|
+
c
|
|
1695
|
+
] }), i[6] = r, i[7] = a, i[8] = c, i[9] = u) : u = i[9], u;
|
|
1696
|
+
}
|
|
1697
|
+
case "mobile": {
|
|
1698
|
+
let r;
|
|
1699
|
+
i[10] !== s || i[11] !== o ? (r = /* @__PURE__ */ X("rect", {
|
|
1700
|
+
width: o,
|
|
1701
|
+
height: s,
|
|
1702
|
+
rx: 6,
|
|
1703
|
+
"data-likec4-fill": "mix-stroke",
|
|
1704
|
+
strokeWidth: 0
|
|
1705
|
+
}), i[10] = s, i[11] = o, i[12] = r) : r = i[12];
|
|
1706
|
+
let a = s / 2, c;
|
|
1707
|
+
i[13] === a ? c = i[14] : (c = /* @__PURE__ */ X("circle", {
|
|
1708
|
+
cx: 17,
|
|
1709
|
+
cy: a,
|
|
1710
|
+
r: 12
|
|
1711
|
+
}), i[13] = a, i[14] = c);
|
|
1712
|
+
let l = o - 44, u = s - 24, d;
|
|
1713
|
+
i[15] !== l || i[16] !== u ? (d = /* @__PURE__ */ X("rect", {
|
|
1714
|
+
x: 33,
|
|
1715
|
+
y: 12,
|
|
1716
|
+
width: l,
|
|
1717
|
+
height: u,
|
|
1718
|
+
rx: 5
|
|
1719
|
+
}), i[15] = l, i[16] = u, i[17] = d) : d = i[17];
|
|
1720
|
+
let f;
|
|
1721
|
+
i[18] !== c || i[19] !== d ? (f = /* @__PURE__ */ Z("g", {
|
|
1722
|
+
"data-likec4-fill": "fill",
|
|
1723
|
+
strokeWidth: 0,
|
|
1724
|
+
children: [c, d]
|
|
1725
|
+
}), i[18] = c, i[19] = d, i[20] = f) : f = i[20];
|
|
1726
|
+
let p;
|
|
1727
|
+
return i[21] !== r || i[22] !== f ? (p = /* @__PURE__ */ Z(Y, { children: [r, f] }), i[21] = r, i[22] = f, i[23] = p) : p = i[23], p;
|
|
1728
|
+
}
|
|
1729
|
+
case "document": {
|
|
1730
|
+
let r;
|
|
1731
|
+
i[24] !== s || i[25] !== o ? (r = docSVGPath(o, s), i[24] = s, i[25] = o, i[26] = r) : r = i[26];
|
|
1732
|
+
let { path: a } = r, c;
|
|
1733
|
+
return i[27] === a ? c = i[28] : (c = /* @__PURE__ */ X("path", {
|
|
1734
|
+
d: a,
|
|
1735
|
+
"data-likec4-fill": "fill",
|
|
1736
|
+
strokeWidth: 2
|
|
1737
|
+
}), i[27] = a, i[28] = c), c;
|
|
1738
|
+
}
|
|
1739
|
+
case "browser": {
|
|
1740
|
+
let r;
|
|
1741
|
+
i[29] !== s || i[30] !== o ? (r = /* @__PURE__ */ X("rect", {
|
|
1742
|
+
width: o,
|
|
1743
|
+
height: s,
|
|
1744
|
+
rx: 6,
|
|
1745
|
+
"data-likec4-fill": "mix-stroke",
|
|
1746
|
+
strokeWidth: 0
|
|
1747
|
+
}), i[29] = s, i[30] = o, i[31] = r) : r = i[31];
|
|
1748
|
+
let a, c, l;
|
|
1749
|
+
i[32] === Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ X("circle", {
|
|
1750
|
+
cx: 16,
|
|
1751
|
+
cy: 17,
|
|
1752
|
+
r: 7
|
|
1753
|
+
}), c = /* @__PURE__ */ X("circle", {
|
|
1754
|
+
cx: 36,
|
|
1755
|
+
cy: 17,
|
|
1756
|
+
r: 7
|
|
1757
|
+
}), l = /* @__PURE__ */ X("circle", {
|
|
1758
|
+
cx: 56,
|
|
1759
|
+
cy: 17,
|
|
1760
|
+
r: 7
|
|
1761
|
+
}), i[32] = a, i[33] = c, i[34] = l) : (a = i[32], c = i[33], l = i[34]);
|
|
1762
|
+
let u = o - 80, d;
|
|
1763
|
+
i[35] === u ? d = i[36] : (d = /* @__PURE__ */ X("rect", {
|
|
1764
|
+
x: 70,
|
|
1765
|
+
y: 8,
|
|
1766
|
+
width: u,
|
|
1767
|
+
height: 17,
|
|
1768
|
+
rx: 4
|
|
1769
|
+
}), i[35] = u, i[36] = d);
|
|
1770
|
+
let f = o - 20, p = s - 42, m;
|
|
1771
|
+
i[37] !== f || i[38] !== p ? (m = /* @__PURE__ */ X("rect", {
|
|
1772
|
+
x: 10,
|
|
1773
|
+
y: 32,
|
|
1774
|
+
width: f,
|
|
1775
|
+
height: p,
|
|
1776
|
+
rx: 4
|
|
1777
|
+
}), i[37] = f, i[38] = p, i[39] = m) : m = i[39];
|
|
1778
|
+
let h;
|
|
1779
|
+
i[40] !== m || i[41] !== d ? (h = /* @__PURE__ */ Z("g", {
|
|
1780
|
+
"data-likec4-fill": "fill",
|
|
1781
|
+
strokeWidth: 0,
|
|
1782
|
+
children: [
|
|
1783
|
+
a,
|
|
1784
|
+
c,
|
|
1785
|
+
l,
|
|
1786
|
+
d,
|
|
1787
|
+
m
|
|
1788
|
+
]
|
|
1789
|
+
}), i[40] = m, i[41] = d, i[42] = h) : h = i[42];
|
|
1790
|
+
let g;
|
|
1791
|
+
return i[43] !== h || i[44] !== r ? (g = /* @__PURE__ */ Z(Y, { children: [r, h] }), i[43] = h, i[44] = r, i[45] = g) : g = i[45], g;
|
|
1792
|
+
}
|
|
1793
|
+
case "person": {
|
|
1794
|
+
let r;
|
|
1795
|
+
i[46] !== s || i[47] !== o ? (r = /* @__PURE__ */ X("rect", {
|
|
1796
|
+
width: o,
|
|
1797
|
+
height: s,
|
|
1798
|
+
rx: 6,
|
|
1799
|
+
strokeWidth: 0
|
|
1800
|
+
}), i[46] = s, i[47] = o, i[48] = r) : r = i[48];
|
|
1801
|
+
let a = o - ft.width - 6, c = s - ft.height, l;
|
|
1802
|
+
i[49] === Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ X("path", {
|
|
1803
|
+
strokeWidth: 0,
|
|
1804
|
+
d: ft.path
|
|
1805
|
+
}), i[49] = l) : l = i[49];
|
|
1806
|
+
let u;
|
|
1807
|
+
i[50] !== a || i[51] !== c ? (u = /* @__PURE__ */ X("svg", {
|
|
1808
|
+
x: a,
|
|
1809
|
+
y: c,
|
|
1810
|
+
width: ft.width,
|
|
1811
|
+
height: ft.height,
|
|
1812
|
+
viewBox: `0 0 ${ft.width} ${ft.height}`,
|
|
1813
|
+
"data-likec4-fill": "mix-stroke",
|
|
1814
|
+
children: l
|
|
1815
|
+
}), i[50] = a, i[51] = c, i[52] = u) : u = i[52];
|
|
1816
|
+
let d;
|
|
1817
|
+
return i[53] !== r || i[54] !== u ? (d = /* @__PURE__ */ Z(Y, { children: [r, u] }), i[53] = r, i[54] = u, i[55] = d) : d = i[55], d;
|
|
1818
|
+
}
|
|
1819
|
+
case "queue": {
|
|
1820
|
+
let r;
|
|
1821
|
+
i[56] !== s || i[57] !== o ? (r = queueSVGPath(o, s), i[56] = s, i[57] = o, i[58] = r) : r = i[58];
|
|
1822
|
+
let { path: a, rx: c, ry: l } = r, u;
|
|
1823
|
+
i[59] === a ? u = i[60] : (u = /* @__PURE__ */ X("path", {
|
|
1824
|
+
d: a,
|
|
1825
|
+
strokeWidth: 2
|
|
1826
|
+
}), i[59] = a, i[60] = u);
|
|
1827
|
+
let d = l - .75, f;
|
|
1828
|
+
i[61] !== c || i[62] !== l || i[63] !== d ? (f = /* @__PURE__ */ X("ellipse", {
|
|
1829
|
+
cx: c,
|
|
1830
|
+
cy: l,
|
|
1831
|
+
ry: d,
|
|
1832
|
+
rx: c,
|
|
1833
|
+
"data-likec4-fill": "mix-stroke",
|
|
1834
|
+
strokeWidth: 2
|
|
1835
|
+
}), i[61] = c, i[62] = l, i[63] = d, i[64] = f) : f = i[64];
|
|
1836
|
+
let p;
|
|
1837
|
+
return i[65] !== u || i[66] !== f ? (p = /* @__PURE__ */ Z(Y, { children: [u, f] }), i[65] = u, i[66] = f, i[67] = p) : p = i[67], p;
|
|
1838
|
+
}
|
|
1839
|
+
case "bucket": {
|
|
1840
|
+
let r;
|
|
1841
|
+
i[68] !== s || i[69] !== o ? (r = bucketSVGPath(o, s), i[68] = s, i[69] = o, i[70] = r) : r = i[70];
|
|
1842
|
+
let { path: a, topRx: c, topRy: l } = r, u;
|
|
1843
|
+
i[71] === a ? u = i[72] : (u = /* @__PURE__ */ X("path", {
|
|
1844
|
+
d: a,
|
|
1845
|
+
strokeWidth: 2
|
|
1846
|
+
}), i[71] = a, i[72] = u);
|
|
1847
|
+
let d = o / 2, f;
|
|
1848
|
+
i[73] !== d || i[74] !== c || i[75] !== l ? (f = /* @__PURE__ */ X("ellipse", {
|
|
1849
|
+
cx: d,
|
|
1850
|
+
cy: l,
|
|
1851
|
+
rx: c,
|
|
1852
|
+
ry: l,
|
|
1853
|
+
"data-likec4-fill": "mix-stroke",
|
|
1854
|
+
strokeWidth: 2
|
|
1855
|
+
}), i[73] = d, i[74] = c, i[75] = l, i[76] = f) : f = i[76];
|
|
1856
|
+
let p;
|
|
1857
|
+
return i[77] !== u || i[78] !== f ? (p = /* @__PURE__ */ Z(Y, { children: [u, f] }), i[77] = u, i[78] = f, i[79] = p) : p = i[79], p;
|
|
1858
|
+
}
|
|
1859
|
+
case "storage":
|
|
1860
|
+
case "cylinder": {
|
|
1861
|
+
let r;
|
|
1862
|
+
i[80] !== s || i[81] !== o ? (r = cylinderSVGPath(o, s), i[80] = s, i[81] = o, i[82] = r) : r = i[82];
|
|
1863
|
+
let { path: a, rx: c, ry: l } = r, u;
|
|
1864
|
+
i[83] === a ? u = i[84] : (u = /* @__PURE__ */ X("path", {
|
|
1865
|
+
d: a,
|
|
1866
|
+
strokeWidth: 2
|
|
1867
|
+
}), i[83] = a, i[84] = u);
|
|
1868
|
+
let d = c - .75, f;
|
|
1869
|
+
i[85] !== c || i[86] !== l || i[87] !== d ? (f = /* @__PURE__ */ X("ellipse", {
|
|
1870
|
+
cx: c,
|
|
1871
|
+
cy: l,
|
|
1872
|
+
ry: l,
|
|
1873
|
+
rx: d,
|
|
1874
|
+
"data-likec4-fill": "mix-stroke",
|
|
1875
|
+
strokeWidth: 2
|
|
1876
|
+
}), i[85] = c, i[86] = l, i[87] = d, i[88] = f) : f = i[88];
|
|
1877
|
+
let p;
|
|
1878
|
+
return i[89] !== u || i[90] !== f ? (p = /* @__PURE__ */ Z(Y, { children: [u, f] }), i[89] = u, i[90] = f, i[91] = p) : p = i[91], p;
|
|
1879
|
+
}
|
|
1880
|
+
default: {
|
|
1881
|
+
let r;
|
|
1882
|
+
return i[92] === a ? r = i[93] : (r = ge(a), i[92] = a, i[93] = r), r;
|
|
1883
|
+
}
|
|
1884
|
+
}
|
|
1885
|
+
}
|
|
1886
|
+
function ShapeSvgOutline(r) {
|
|
1887
|
+
let i = J(25), { shape: a, w: o, h: s } = r, c;
|
|
1888
|
+
bb0: switch (a) {
|
|
1889
|
+
case "bucket": {
|
|
1890
|
+
let r = o + 6, a = s + 6, l;
|
|
1891
|
+
i[0] !== r || i[1] !== a ? (l = bucketSVGPath(r, a), i[0] = r, i[1] = a, i[2] = l) : l = i[2];
|
|
1892
|
+
let u;
|
|
1893
|
+
i[3] === l.path ? u = i[4] : (u = /* @__PURE__ */ X("g", {
|
|
1894
|
+
transform: "translate(-3 -3)",
|
|
1895
|
+
children: /* @__PURE__ */ X("path", { d: l.path })
|
|
1896
|
+
}), i[3] = l.path, i[4] = u), c = u;
|
|
1897
|
+
break bb0;
|
|
1898
|
+
}
|
|
1899
|
+
case "queue": {
|
|
1900
|
+
let r = o + 6, a = s + 6, l;
|
|
1901
|
+
i[5] !== r || i[6] !== a ? (l = queueSVGPath(r, a), i[5] = r, i[6] = a, i[7] = l) : l = i[7];
|
|
1902
|
+
let u;
|
|
1903
|
+
i[8] === l.path ? u = i[9] : (u = /* @__PURE__ */ X("g", {
|
|
1904
|
+
transform: "translate(-3 -3)",
|
|
1905
|
+
children: /* @__PURE__ */ X("path", { d: l.path })
|
|
1906
|
+
}), i[8] = l.path, i[9] = u), c = u;
|
|
1907
|
+
break bb0;
|
|
1908
|
+
}
|
|
1909
|
+
case "document": {
|
|
1910
|
+
let r = o + 6, a = s + 6, l;
|
|
1911
|
+
i[10] !== r || i[11] !== a ? (l = docSVGPath(r, a), i[10] = r, i[11] = a, i[12] = l) : l = i[12];
|
|
1912
|
+
let u;
|
|
1913
|
+
i[13] === l.path ? u = i[14] : (u = /* @__PURE__ */ X("g", {
|
|
1914
|
+
transform: "translate(-3 -3)",
|
|
1915
|
+
children: /* @__PURE__ */ X("path", { d: l.path })
|
|
1916
|
+
}), i[13] = l.path, i[14] = u), c = u;
|
|
1917
|
+
break bb0;
|
|
1918
|
+
}
|
|
1919
|
+
case "storage":
|
|
1920
|
+
case "cylinder": {
|
|
1921
|
+
let r = o + 6, a = s + 6, l;
|
|
1922
|
+
i[15] !== r || i[16] !== a ? (l = cylinderSVGPath(r, a), i[15] = r, i[16] = a, i[17] = l) : l = i[17];
|
|
1923
|
+
let u;
|
|
1924
|
+
i[18] === l.path ? u = i[19] : (u = /* @__PURE__ */ X("g", {
|
|
1925
|
+
transform: "translate(-3 -3)",
|
|
1926
|
+
children: /* @__PURE__ */ X("path", { d: l.path })
|
|
1927
|
+
}), i[18] = l.path, i[19] = u), c = u;
|
|
1928
|
+
break bb0;
|
|
1929
|
+
}
|
|
1930
|
+
default: {
|
|
1931
|
+
let r = o + 6, a = s + 6, l;
|
|
1932
|
+
i[20] !== r || i[21] !== a ? (l = /* @__PURE__ */ X("rect", {
|
|
1933
|
+
x: -3,
|
|
1934
|
+
y: -3,
|
|
1935
|
+
width: r,
|
|
1936
|
+
height: a,
|
|
1937
|
+
rx: 8
|
|
1938
|
+
}), i[20] = r, i[21] = a, i[22] = l) : l = i[22], c = l;
|
|
1939
|
+
}
|
|
1940
|
+
}
|
|
1941
|
+
let l;
|
|
1942
|
+
return i[23] === c ? l = i[24] : (l = /* @__PURE__ */ X("g", {
|
|
1943
|
+
className: "likec4-shape-outline",
|
|
1944
|
+
children: c
|
|
1945
|
+
}), i[23] = c, i[24] = l), l;
|
|
1946
|
+
}
|
|
1947
|
+
function ElementShape(r) {
|
|
1948
|
+
let i = J(38), { data: a, width: o, height: s, showSelectionOutline: c } = r, l = c === void 0 ? !0 : c, u = o && o > 10 ? o : a.width, d = s && s > 10 ? s : a.height, f = a.style?.multiple ?? !1, p = a.style?.border ?? "none", m = p !== "none";
|
|
1949
|
+
if (a.shape === "rectangle") {
|
|
1950
|
+
let r;
|
|
1951
|
+
i[0] === p ? r = i[1] : (r = { borderStyle: p }, i[0] = p, i[1] = r);
|
|
1952
|
+
let a;
|
|
1953
|
+
i[2] !== l || i[3] !== m ? (a = E({
|
|
1954
|
+
shapetype: "html",
|
|
1955
|
+
withBorder: m,
|
|
1956
|
+
withOutline: l
|
|
1957
|
+
}), i[2] = l, i[3] = m, i[4] = a) : a = i[4];
|
|
1958
|
+
let o;
|
|
1959
|
+
i[5] === f ? o = i[6] : (o = f && /* @__PURE__ */ X("div", { className: "likec4-shape-multiple" }), i[5] = f, i[6] = o);
|
|
1960
|
+
let s;
|
|
1961
|
+
i[7] === Symbol.for("react.memo_cache_sentinel") ? (s = /* @__PURE__ */ X("div", { className: "likec4-shape-outline" }), i[7] = s) : s = i[7];
|
|
1962
|
+
let c;
|
|
1963
|
+
return i[8] !== r || i[9] !== a || i[10] !== o ? (c = /* @__PURE__ */ Z("div", {
|
|
1964
|
+
"aria-hidden": !0,
|
|
1965
|
+
style: r,
|
|
1966
|
+
className: a,
|
|
1967
|
+
children: [o, s]
|
|
1968
|
+
}), i[8] = r, i[9] = a, i[10] = o, i[11] = c) : c = i[11], c;
|
|
1969
|
+
}
|
|
1970
|
+
let h;
|
|
1971
|
+
i[12] === l ? h = i[13] : (h = E({
|
|
1972
|
+
shapetype: "svg",
|
|
1973
|
+
withOutline: l
|
|
1974
|
+
}), i[12] = l, i[13] = h);
|
|
1975
|
+
let g = h, _;
|
|
1976
|
+
i[14] !== g || i[15] !== a.shape || i[16] !== a.style?.size || i[17] !== d || i[18] !== f || i[19] !== u ? (_ = f && /* @__PURE__ */ X("svg", {
|
|
1977
|
+
"aria-hidden": !0,
|
|
1978
|
+
className: g,
|
|
1979
|
+
"data-likec4-shape-multiple": "true",
|
|
1980
|
+
viewBox: `0 0 ${u} ${d}`,
|
|
1981
|
+
children: /* @__PURE__ */ X(ShapeSvg, {
|
|
1982
|
+
shape: a.shape,
|
|
1983
|
+
size: a.style?.size,
|
|
1984
|
+
w: u,
|
|
1985
|
+
h: d
|
|
1986
|
+
})
|
|
1987
|
+
}), i[14] = g, i[15] = a.shape, i[16] = a.style?.size, i[17] = d, i[18] = f, i[19] = u, i[20] = _) : _ = i[20];
|
|
1988
|
+
let v = `0 0 ${u} ${d}`, y;
|
|
1989
|
+
i[21] !== a.shape || i[22] !== d || i[23] !== u ? (y = /* @__PURE__ */ X(ShapeSvgOutline, {
|
|
1990
|
+
shape: a.shape,
|
|
1991
|
+
w: u,
|
|
1992
|
+
h: d
|
|
1993
|
+
}), i[21] = a.shape, i[22] = d, i[23] = u, i[24] = y) : y = i[24];
|
|
1994
|
+
let b = a.style?.size, x;
|
|
1995
|
+
i[25] !== a.shape || i[26] !== d || i[27] !== b || i[28] !== u ? (x = /* @__PURE__ */ X(ShapeSvg, {
|
|
1996
|
+
shape: a.shape,
|
|
1997
|
+
size: b,
|
|
1998
|
+
w: u,
|
|
1999
|
+
h: d
|
|
2000
|
+
}), i[25] = a.shape, i[26] = d, i[27] = b, i[28] = u, i[29] = x) : x = i[29];
|
|
2001
|
+
let S;
|
|
2002
|
+
i[30] !== g || i[31] !== v || i[32] !== y || i[33] !== x ? (S = /* @__PURE__ */ Z("svg", {
|
|
2003
|
+
"aria-hidden": !0,
|
|
2004
|
+
className: g,
|
|
2005
|
+
viewBox: v,
|
|
2006
|
+
children: [y, x]
|
|
2007
|
+
}), i[30] = g, i[31] = v, i[32] = y, i[33] = x, i[34] = S) : S = i[34];
|
|
2008
|
+
let C;
|
|
2009
|
+
return i[35] !== _ || i[36] !== S ? (C = /* @__PURE__ */ Z(Y, { children: [_, S] }), i[35] = _, i[36] = S, i[37] = C) : C = i[37], C;
|
|
2010
|
+
}
|
|
2011
|
+
//#endregion
|
|
2012
|
+
//#region ../diagram/src/base-primitives/memoEdge.ts
|
|
2013
|
+
var isSame = (r, i) => Math.abs(r - i) < 2.5, edgePropsEqual = (r, i) => r.id === i.id && W(r.selected ?? !1, i.selected ?? !1) && W(r.animated ?? !1, i.animated ?? !1) && W(r.source, i.source) && W(r.target, i.target) && isSame(r.sourceX, i.sourceX) && isSame(r.sourceY, i.sourceY) && isSame(r.targetX, i.targetX) && isSame(r.targetY, i.targetY) && W(r.sourceHandleId ?? null, i.sourceHandleId ?? null) && W(r.targetHandleId ?? null, i.targetHandleId ?? null) && W(r.sourcePosition, i.sourcePosition) && W(r.targetPosition, i.targetPosition) && W(r.data, i.data);
|
|
2014
|
+
function memoEdge(r) {
|
|
2015
|
+
let i = le(r, edgePropsEqual);
|
|
2016
|
+
return i.displayName = `MemoEdge(${r.displayName || r.name})`, i;
|
|
2017
|
+
}
|
|
2018
|
+
//#endregion
|
|
2019
|
+
//#region ../diagram/src/base-primitives/NodeHandles.tsx
|
|
2020
|
+
function DefaultHandles(r) {
|
|
2021
|
+
let i = J(7), { direction: a } = r, o = a === void 0 ? "TB" : a, s, c;
|
|
2022
|
+
bb0: switch (o) {
|
|
2023
|
+
case "TB":
|
|
2024
|
+
s = F.Bottom, c = F.Top;
|
|
2025
|
+
break bb0;
|
|
2026
|
+
case "BT":
|
|
2027
|
+
s = F.Top, c = F.Bottom;
|
|
2028
|
+
break bb0;
|
|
2029
|
+
case "LR":
|
|
2030
|
+
s = F.Right, c = F.Left;
|
|
2031
|
+
break bb0;
|
|
2032
|
+
case "RL":
|
|
2033
|
+
s = F.Left, c = F.Right;
|
|
2034
|
+
break bb0;
|
|
2035
|
+
default: ge(o);
|
|
2036
|
+
}
|
|
2037
|
+
let l;
|
|
2038
|
+
i[0] === s ? l = i[1] : (l = /* @__PURE__ */ X(I, {
|
|
2039
|
+
type: "source",
|
|
2040
|
+
position: s,
|
|
2041
|
+
className: "likec4-node-handle-center"
|
|
2042
|
+
}), i[0] = s, i[1] = l);
|
|
2043
|
+
let u;
|
|
2044
|
+
i[2] === c ? u = i[3] : (u = /* @__PURE__ */ X(I, {
|
|
2045
|
+
type: "target",
|
|
2046
|
+
position: c,
|
|
2047
|
+
className: "likec4-node-handle-center"
|
|
2048
|
+
}), i[2] = c, i[3] = u);
|
|
2049
|
+
let d;
|
|
2050
|
+
return i[4] !== l || i[5] !== u ? (d = /* @__PURE__ */ Z(Y, { children: [l, u] }), i[4] = l, i[5] = u, i[6] = d) : d = i[6], d;
|
|
2051
|
+
}
|
|
2052
|
+
//#endregion
|
|
2053
|
+
//#region ../diagram/src/components/Logo.tsx
|
|
2054
|
+
var pt = K((r, i) => {
|
|
2055
|
+
let a = J(5), o, s;
|
|
2056
|
+
a[0] === Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ X("path", {
|
|
2057
|
+
fill: "#5E98AF",
|
|
2058
|
+
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"
|
|
2059
|
+
}), s = /* @__PURE__ */ X("path", {
|
|
2060
|
+
className: T({
|
|
2061
|
+
fill: "[#FCFBF7]",
|
|
2062
|
+
_light: { fill: "[#222221]" }
|
|
2063
|
+
}),
|
|
2064
|
+
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"
|
|
2065
|
+
}), a[0] = o, a[1] = s) : (o = a[0], s = a[1]);
|
|
2066
|
+
let c;
|
|
2067
|
+
return a[2] !== r || a[3] !== i ? (c = /* @__PURE__ */ Z("svg", {
|
|
2068
|
+
ref: i,
|
|
2069
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2070
|
+
fill: "none",
|
|
2071
|
+
viewBox: "0 0 222 56",
|
|
2072
|
+
...r,
|
|
2073
|
+
children: [o, s]
|
|
2074
|
+
}), a[2] = r, a[3] = i, a[4] = c) : c = a[4], c;
|
|
2075
|
+
}), mt = K((r, i) => {
|
|
2076
|
+
let a = J(4), o;
|
|
2077
|
+
a[0] === Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ X("path", {
|
|
2078
|
+
fill: "#5E98AF",
|
|
2079
|
+
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"
|
|
2080
|
+
}), a[0] = o) : o = a[0];
|
|
2081
|
+
let s;
|
|
2082
|
+
return a[1] !== r || a[2] !== i ? (s = /* @__PURE__ */ X("svg", {
|
|
2083
|
+
ref: i,
|
|
2084
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2085
|
+
fill: "none",
|
|
2086
|
+
viewBox: "0 0 56 56",
|
|
2087
|
+
...r,
|
|
2088
|
+
children: o
|
|
2089
|
+
}), a[1] = r, a[2] = i, a[3] = s) : s = a[3], s;
|
|
2090
|
+
}), { withProvider: ht, withContext: gt } = S(N), shouldForwardProp = (r, i) => !i.includes(r) && (re(r) || !j(r)), _t = K((r, i) => {
|
|
2091
|
+
let a = J(11), o, s;
|
|
2092
|
+
a[0] === r ? (o = a[1], s = a[2]) : ({className: o, ...s} = r, a[0] = r, a[1] = o, a[2] = s);
|
|
2093
|
+
let c;
|
|
2094
|
+
a[3] === o ? c = a[4] : (c = w("mantine-active", o), a[3] = o, a[4] = c);
|
|
2095
|
+
let l, u;
|
|
2096
|
+
a[5] === Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ X(mt, { "data-logo-icon": !0 }), u = /* @__PURE__ */ X(pt, { "data-logo-full": !0 }), a[5] = l, a[6] = u) : (l = a[5], u = a[6]);
|
|
2097
|
+
let d;
|
|
2098
|
+
return a[7] !== s || a[8] !== i || a[9] !== c ? (d = /* @__PURE__ */ Z("button", {
|
|
2099
|
+
...s,
|
|
2100
|
+
ref: i,
|
|
2101
|
+
className: c,
|
|
2102
|
+
children: [l, u]
|
|
2103
|
+
}), a[7] = s, a[8] = i, a[9] = c, a[10] = d) : d = a[10], d;
|
|
2104
|
+
}), vt = {
|
|
2105
|
+
Root: ht(G, "root", { shouldForwardProp }),
|
|
2106
|
+
Body: gt(G, "body", { shouldForwardProp }),
|
|
2107
|
+
Logo: gt(_t, "logo", { shouldForwardProp }),
|
|
2108
|
+
Label: gt(G, "label", { shouldForwardProp }),
|
|
2109
|
+
Dropdown: gt(G, "dropdown", { shouldForwardProp })
|
|
2110
|
+
}, scheme = (r) => `[data-mantine-color-scheme="${r}"]`, yt = scheme("dark"), generateCompoundColors = (r, i, a, o) => `
|
|
2111
|
+
${`${r} :is([data-likec4-color="${i}"][data-compound-depth="${o}"])`} {
|
|
2112
|
+
--likec4-palette-fill: ${a.fill};
|
|
2113
|
+
--likec4-palette-stroke: ${a.stroke};
|
|
2114
|
+
}
|
|
2115
|
+
`;
|
|
2116
|
+
function toStyle(r, i) {
|
|
2117
|
+
let { rootSelector: a, name: o, colors: s } = i, { elements: c, relationships: l } = s, u = `${a} :is([data-likec4-color=${o}])`;
|
|
2118
|
+
return [`
|
|
2119
|
+
${u} {
|
|
2120
|
+
--likec4-palette-fill: ${c.fill};
|
|
2121
|
+
--likec4-palette-stroke: ${c.stroke};
|
|
2122
|
+
--likec4-palette-hiContrast: ${c.hiContrast};
|
|
2123
|
+
--likec4-palette-loContrast: ${c.loContrast};
|
|
2124
|
+
--likec4-palette-relation-stroke: ${l.line};
|
|
2125
|
+
--likec4-palette-relation-label: ${l.label};
|
|
2126
|
+
--likec4-palette-relation-label-bg: ${l.labelBg};
|
|
2127
|
+
--likec4-palette-relation-stroke-selected: oklch(from ${l.line} calc(l - 0.15) c h);
|
|
2128
|
+
}
|
|
2129
|
+
${yt} ${u} {
|
|
2130
|
+
--likec4-palette-relation-stroke-selected: oklch(from ${l.line} calc(l + 0.15) c h);
|
|
2131
|
+
}
|
|
2132
|
+
|
|
2133
|
+
`, ...r.colorsForCompounds(c, 5).map((r, i) => generateCompoundColors(a, o, r, i + 1))].map((r) => r.trim()).join("\n");
|
|
2134
|
+
}
|
|
2135
|
+
function generateBuiltInColorStyles(r, i) {
|
|
2136
|
+
return a(r.theme.colors, t$2(), u(([a, o]) => toStyle(r, {
|
|
2137
|
+
rootSelector: i,
|
|
2138
|
+
name: a,
|
|
2139
|
+
colors: o
|
|
2140
|
+
})), t$1("\n"));
|
|
2141
|
+
}
|
|
2142
|
+
function LikeC4Styles$1({ id: r }) {
|
|
2143
|
+
let i = `#${r}`, a = h()?.(), o = useLikeC4Styles();
|
|
2144
|
+
return /* @__PURE__ */ X(bt, {
|
|
2145
|
+
id: r,
|
|
2146
|
+
nonce: a,
|
|
2147
|
+
colorsStyles: de(() => generateBuiltInColorStyles(o, i), [i, o.fingerprint])
|
|
2148
|
+
});
|
|
2149
|
+
}
|
|
2150
|
+
r(LikeC4Styles$1, "LikeC4Styles");
|
|
2151
|
+
var bt = le((r) => {
|
|
2152
|
+
let i = J(6), { id: a, nonce: o, colorsStyles: s } = r, c;
|
|
2153
|
+
i[0] === s ? c = i[1] : (c = { __html: s }, i[0] = s, i[1] = c);
|
|
2154
|
+
let l = o || void 0, u;
|
|
2155
|
+
return i[2] !== a || i[3] !== c || i[4] !== l ? (u = /* @__PURE__ */ X("style", {
|
|
2156
|
+
type: "text/css",
|
|
2157
|
+
"data-likec4-colors": a,
|
|
2158
|
+
dangerouslySetInnerHTML: c,
|
|
2159
|
+
nonce: l
|
|
2160
|
+
}), i[2] = a, i[3] = c, i[4] = l, i[5] = u) : u = i[5], u;
|
|
2161
|
+
});
|
|
2162
|
+
bt.displayName = "MemoizedStyle";
|
|
2163
|
+
//#endregion
|
|
2164
|
+
export { stopPropagation as $, useOptionalCurrentViewModel as A, BaseXYFlow as B, useLikeC4Projects as C, useId$1 as D, useOptionalProjectsContext as E, RootContainer as F, hasSubObject as G, Be as H, useRootContainer as I, getNodeCenter as J, bezierControlPoints as K, useRootContainerContext as L, FramerMotionConfig as M, EnsureMantine as N, Ye as O, DefaultMantineProvider as P, parsePaddings as Q, useRootContainerElement as R, useLikeC4ProjectId as S, Ze as T, ze as U, Ve as V, Re as W, isSamePoint as X, getNodeIntersectionFromCenterToPoint as Y, nodeToRect as Z, calcEdgeBounds as _, t$3 as _t, DefaultHandles as a, useXYStoreApi as at, useLikeC4Styles as b, dt as c, IconRenderer as ct, rt as d, t as dt, roundDpr as et, EdgeLabelContainer as f, t$1 as ft, readableText as g, t$2 as gt, _e as h, e$2 as ht, mt as i, useXYStore as it, useOptionalLikeC4Model as j, qe as k, ElementData as l, IconRendererProvider as lt, EdgeContainer as m, e$1 as mt, vt as n, useCurrentZoomAtLeast as nt, memoEdge as o, useCallbackRef as ot, tt as p, e as pt, bezierPath as q, pt as r, useXYFlow as rt, ElementShape as s, IconOrShapeRenderer as st, LikeC4Styles$1 as t, selectXYStore as tt, ElementActionButtons as u, Ne as ut, calcViewBounds as v, t$4 as vt, useLikeC4ProjectsContext as w, useChangeLikeC4Project as x, pickViewBounds as y, useRootContainerRef as z };
|