likec4 1.59.1 → 1.59.3

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.
Files changed (58) hide show
  1. package/__app__/src/chunks/AIChat.mjs +21 -26
  2. package/__app__/src/chunks/LikeC4Styles.mjs +257 -263
  3. package/__app__/src/chunks/ProjectsOverview.mjs +58 -58
  4. package/__app__/src/chunks/hooks.mjs +106 -80
  5. package/__app__/src/chunks/libs/@floating-ui.mjs +646 -332
  6. package/__app__/src/chunks/libs/@mantine.mjs +1911 -1734
  7. package/__app__/src/chunks/libs/@tanstack-ai.mjs +26 -26
  8. package/__app__/src/chunks/libs/@tanstack.mjs +42 -41
  9. package/__app__/src/chunks/libs/@xstate/react.mjs +59 -40
  10. package/__app__/src/chunks/libs/@xyflow/react.mjs +532 -445
  11. package/__app__/src/chunks/libs/bezier-js.mjs +10 -9
  12. package/__app__/src/chunks/libs/d3.mjs +16 -36
  13. package/__app__/src/chunks/libs/fast-equals.mjs +12 -11
  14. package/__app__/src/chunks/libs/framer.mjs +294 -273
  15. package/__app__/src/chunks/libs/zod.mjs +17 -14
  16. package/__app__/src/chunks/rolldown-runtime.mjs +2 -2
  17. package/__app__/src/chunks/styled-system.mjs +9 -15
  18. package/__app__/src/main.mjs +15994 -15936
  19. package/__app__/src/style.css +1 -1
  20. package/config/schema.json +35 -0
  21. package/dist/app/render-view-client.css +1 -0
  22. package/dist/app/render-view-client.js +745 -0
  23. package/dist/chunks/enableServer.mjs +1 -1
  24. package/dist/chunks/filenames.mjs +7 -6
  25. package/dist/chunks/index.d.mts +11 -0
  26. package/dist/chunks/index2.d.mts +47 -7
  27. package/dist/chunks/libs/@chevrotain/gast.mjs +1 -1
  28. package/dist/chunks/libs/@chevrotain/regexp-to-ast.mjs +5 -5
  29. package/dist/chunks/libs/@logtape/logtape.mjs +1 -1
  30. package/dist/chunks/libs/@lume/kiwi.mjs +1 -1
  31. package/dist/chunks/libs/birpc.mjs +1 -1
  32. package/dist/chunks/libs/chevrotain-allstar.mjs +1 -1
  33. package/dist/chunks/libs/chevrotain.mjs +16 -16
  34. package/dist/chunks/libs/json5.mjs +3 -3
  35. package/dist/chunks/libs/langium.mjs +11 -11
  36. package/dist/chunks/libs/merge-error-cause.mjs +2 -2
  37. package/dist/chunks/libs/package-manager-detector.mjs +1 -1
  38. package/dist/chunks/libs/pako.mjs +1 -1
  39. package/dist/chunks/libs/picomatch.mjs +1 -1
  40. package/dist/chunks/libs/pretty-ms.mjs +1 -1
  41. package/dist/chunks/libs/remeda.mjs +1 -1
  42. package/dist/chunks/libs/zod.mjs +4 -4
  43. package/dist/chunks/node.mjs +69 -57
  44. package/dist/chunks/rolldown-runtime.mjs +1 -1
  45. package/dist/chunks/sequence-view.mjs +1 -1
  46. package/dist/chunks/vite-plugin.mjs +161 -50
  47. package/dist/cli/index.mjs +272 -162
  48. package/dist/config/index.d.mts +7 -1
  49. package/dist/config/index.mjs +1 -1
  50. package/dist/index.mjs +1 -1
  51. package/dist/vite-plugin/internal/index.d.mts +64 -27
  52. package/dist/vite-plugin/internal/index.mjs +76 -39
  53. package/package.json +41 -41
  54. package/react/index.d.mts +76 -1
  55. package/react/index.mjs +7310 -6785
  56. package/vite-plugin-modules.d.ts +18 -0
  57. package/dist/chunks/dist.mjs +0 -10
  58. package/dist/chunks/logger.mjs +0 -1
@@ -6,59 +6,59 @@ 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
6
6
  import { n as te, t as W } from "./libs/fast-equals.mjs";
7
7
  import { t as ne } from "./libs/bezier-js.mjs";
8
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";
9
+ import { createContext as K, forwardRef as q, memo as ce, useContext as le, useEffect as ue, useMemo as de, useRef as fe, useState as pe } from "react";
10
10
  import { c as J } from "react/compiler-runtime";
11
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
12
+ import { invariant as me, nonexhaustive as he } from "@likec4/core";
13
+ import { BBox as ge, vector as _e } from "@likec4/core/geometry";
14
+ import { invariant as Q } from "@likec4/core/utils";
15
+ import { LikeC4Styles as ve } from "@likec4/core/styles";
16
+ import { RichText as ye, ensureSizes as be } from "@likec4/core/types";
17
+ //#region ../../node_modules/.pnpm/remeda@2.45.0/node_modules/remeda/dist/clamp.js
18
18
  function t$4(...r) {
19
- return o(Se, r);
19
+ return o(xe, r);
20
20
  }
21
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");
22
+ var xe = /* @__PURE__ */ r((r, { min: i, max: a }) => i !== void 0 && r < i ? i : a !== void 0 && r > a ? a : r, "n");
23
23
  //#endregion
24
- //#region ../../node_modules/.pnpm/remeda@2.37.0/node_modules/remeda/dist/hasAtLeast.js
24
+ //#region ../../node_modules/.pnpm/remeda@2.45.0/node_modules/remeda/dist/hasAtLeast.js
25
25
  function t$3(...r) {
26
- return o(Ce, r);
26
+ return o(Se, r);
27
27
  }
28
28
  r(t$3, "t");
29
- var Ce = /* @__PURE__ */ r((r, i) => r.length >= i, "n");
29
+ var Se = /* @__PURE__ */ r((r, i) => r.length >= i, "n");
30
30
  //#endregion
31
- //#region ../../node_modules/.pnpm/remeda@2.37.0/node_modules/remeda/dist/entries.js
31
+ //#region ../../node_modules/.pnpm/remeda@2.45.0/node_modules/remeda/dist/entries.js
32
32
  function t$2(...r) {
33
33
  return o(Object.entries, r);
34
34
  }
35
35
  r(t$2, "t");
36
36
  //#endregion
37
- //#region ../../node_modules/.pnpm/remeda@2.37.0/node_modules/remeda/dist/isArray.js
37
+ //#region ../../node_modules/.pnpm/remeda@2.45.0/node_modules/remeda/dist/isArray.js
38
38
  function e$2(r) {
39
39
  return Array.isArray(r);
40
40
  }
41
41
  r(e$2, "e");
42
42
  //#endregion
43
- //#region ../../node_modules/.pnpm/remeda@2.37.0/node_modules/remeda/dist/isNumber.js
43
+ //#region ../../node_modules/.pnpm/remeda@2.45.0/node_modules/remeda/dist/isNumber.js
44
44
  function e$1(r) {
45
45
  return typeof r == "number" && !Number.isNaN(r);
46
46
  }
47
47
  r(e$1, "e");
48
48
  //#endregion
49
- //#region ../../node_modules/.pnpm/remeda@2.37.0/node_modules/remeda/dist/isTruthy.js
49
+ //#region ../../node_modules/.pnpm/remeda@2.45.0/node_modules/remeda/dist/isTruthy.js
50
50
  function e(r) {
51
51
  return !!r;
52
52
  }
53
53
  //#endregion
54
- //#region ../../node_modules/.pnpm/remeda@2.37.0/node_modules/remeda/dist/join.js
54
+ //#region ../../node_modules/.pnpm/remeda@2.45.0/node_modules/remeda/dist/join.js
55
55
  function t$1(...r) {
56
- return o(we, r);
56
+ return o(Ce, r);
57
57
  }
58
58
  r(t$1, "t");
59
- var we = /* @__PURE__ */ r((r, i) => r.join(i), "n");
59
+ var Ce = /* @__PURE__ */ r((r, i) => r.join(i), "n");
60
60
  //#endregion
61
- //#region ../../node_modules/.pnpm/remeda@2.37.0/node_modules/remeda/dist/pickBy.js
61
+ //#region ../../node_modules/.pnpm/remeda@2.45.0/node_modules/remeda/dist/pickBy.js
62
62
  function t(...r) {
63
63
  return o(n, r);
64
64
  }
@@ -67,10 +67,10 @@ function n(r, i) {
67
67
  for (let [o, s] of Object.entries(r)) i(s, o, r) && (a[o] = s);
68
68
  return a;
69
69
  }
70
- var Te = i("outline", "bolt", "Bolt", [["path", {
70
+ var we = i("outline", "bolt", "Bolt", [["path", {
71
71
  d: "M13 3l0 7l6 0l-8 11l0 -7l-6 0l8 -11",
72
72
  key: "svg-0"
73
- }]]), Ee = i("outline", "browser", "Browser", [
73
+ }]]), Te = i("outline", "browser", "Browser", [
74
74
  ["path", {
75
75
  d: "M4 8h16",
76
76
  key: "svg-0"
@@ -83,13 +83,13 @@ var Te = i("outline", "bolt", "Bolt", [["path", {
83
83
  d: "M8 4v4",
84
84
  key: "svg-2"
85
85
  }]
86
- ]), De = i("outline", "cylinder", "Cylinder", [["path", {
86
+ ]), $ = i("outline", "cylinder", "Cylinder", [["path", {
87
87
  d: "M5 6a7 3 0 1 0 14 0a7 3 0 1 0 -14 0",
88
88
  key: "svg-0"
89
89
  }], ["path", {
90
90
  d: "M5 6v12c0 1.657 3.134 3 7 3s7 -1.343 7 -3v-12",
91
91
  key: "svg-1"
92
- }]]), Oe = i("outline", "device-mobile", "DeviceMobile", [
92
+ }]]), Ee = i("outline", "device-mobile", "DeviceMobile", [
93
93
  ["path", {
94
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
95
  key: "svg-0"
@@ -102,7 +102,7 @@ var Te = i("outline", "bolt", "Bolt", [["path", {
102
102
  d: "M12 17v.01",
103
103
  key: "svg-2"
104
104
  }]
105
- ]), ke = i("outline", "file-text", "FileText", [
105
+ ]), De = i("outline", "file-text", "FileText", [
106
106
  ["path", {
107
107
  d: "M14 3v4a1 1 0 0 0 1 1h4",
108
108
  key: "svg-0"
@@ -123,7 +123,7 @@ var Te = i("outline", "bolt", "Bolt", [["path", {
123
123
  d: "M9 17l6 0",
124
124
  key: "svg-4"
125
125
  }]
126
- ]), Ae = i("outline", "rectangular-prism", "RectangularPrism", [
126
+ ]), Oe = i("outline", "rectangular-prism", "RectangularPrism", [
127
127
  ["path", {
128
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
129
  key: "svg-0"
@@ -140,7 +140,7 @@ var Te = i("outline", "bolt", "Bolt", [["path", {
140
140
  d: "M3.5 11l5.5 2.5",
141
141
  key: "svg-3"
142
142
  }]
143
- ]), je = i("outline", "reorder", "Reorder", [
143
+ ]), ke = i("outline", "reorder", "Reorder", [
144
144
  ["path", {
145
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
146
  key: "svg-0"
@@ -161,13 +161,13 @@ var Te = i("outline", "bolt", "Bolt", [["path", {
161
161
  d: "M16.5 8.5l2.5 2.5l2.5 -2.5",
162
162
  key: "svg-4"
163
163
  }]
164
- ]), Me = i("outline", "user", "User", [["path", {
164
+ ]), Ae = i("outline", "user", "User", [["path", {
165
165
  d: "M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0",
166
166
  key: "svg-0"
167
167
  }], ["path", {
168
168
  d: "M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2",
169
169
  key: "svg-1"
170
- }]]), Ne = i("outline", "zoom-scan", "ZoomScan", [
170
+ }]]), je = i("outline", "zoom-scan", "ZoomScan", [
171
171
  ["path", {
172
172
  d: "M8 11a3 3 0 1 0 6 0a3 3 0 0 0 -6 0",
173
173
  key: "svg-0"
@@ -192,34 +192,21 @@ var Te = i("outline", "bolt", "Bolt", [["path", {
192
192
  d: "M17 21h2a2 2 0 0 0 2 -2v-2",
193
193
  key: "svg-5"
194
194
  }]
195
- ]), Pe = ce(null);
195
+ ]), Me = K(null);
196
196
  function IconRendererProvider(r) {
197
197
  let i = J(5), { value: a, children: o } = r;
198
- if (q(Pe)) {
198
+ if (le(Me)) {
199
199
  let r;
200
200
  return i[0] === o ? r = i[1] : (r = /* @__PURE__ */ X(Y, { children: o }), i[0] = o, i[1] = r), r;
201
201
  }
202
202
  let s;
203
- return i[2] !== o || i[3] !== a ? (s = /* @__PURE__ */ X(Pe.Provider, {
203
+ return i[2] !== o || i[3] !== a ? (s = /* @__PURE__ */ X(Me.Provider, {
204
204
  value: a,
205
205
  children: o
206
206
  }), i[2] = o, i[3] = a, i[4] = s) : s = i[4], s;
207
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
208
  function IconRenderer({ element: r, className: i, style: a }) {
222
- let o = q(Pe);
209
+ let o = le(Me);
223
210
  if (!r || !r.icon || r.icon === "none") return null;
224
211
  let s;
225
212
  switch (!0) {
@@ -240,9 +227,7 @@ function IconRenderer({ element: r, className: i, style: a }) {
240
227
  case !!o:
241
228
  s = /* @__PURE__ */ X(o, { node: r });
242
229
  break;
243
- default:
244
- s = null;
245
- break;
230
+ default: s = null;
246
231
  }
247
232
  return s ? /* @__PURE__ */ X("div", {
248
233
  className: w(i, "likec4-element-icon"),
@@ -251,22 +236,22 @@ function IconRenderer({ element: r, className: i, style: a }) {
251
236
  children: s
252
237
  }) : null;
253
238
  }
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
239
+ var Ne = {
240
+ browser: Te,
241
+ cylinder: $,
242
+ mobile: Ee,
243
+ person: Ae,
244
+ queue: ke,
245
+ rectangle: Oe,
246
+ storage: $,
247
+ bucket: $,
248
+ document: De,
249
+ component: Oe
265
250
  };
266
251
  function IconOrShapeRenderer(r) {
267
252
  let i = J(12), { element: a, className: o, style: s } = r;
268
253
  if (!a.icon || a.icon === "none") {
269
- let r = Fe[a.shape], c;
254
+ let r = Ne[a.shape], c;
270
255
  i[0] === o ? c = i[1] : (c = w(o, "likec4-shape-icon"), i[0] = o, i[1] = c);
271
256
  let l;
272
257
  i[2] === r ? l = i[3] : (l = /* @__PURE__ */ X(r, {}), i[2] = r, i[3] = l);
@@ -285,22 +270,56 @@ function IconOrShapeRenderer(r) {
285
270
  }), i[8] = o, i[9] = a, i[10] = s, i[11] = c) : c = i[11], c;
286
271
  }
287
272
  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);
273
+ let i = J(11), { dataUrl: a, alt: o } = r;
274
+ if (!hasCurrentColorReference(a)) {
275
+ let r;
276
+ return i[0] !== o || i[1] !== a ? (r = /* @__PURE__ */ X("img", {
277
+ src: a,
278
+ alt: o
279
+ }), i[0] = o, i[1] = a, i[2] = r) : r = i[2], r;
280
+ }
290
281
  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);
282
+ i[3] === a ? s = i[4] : (s = JSON.stringify(a), i[3] = a, i[4] = s);
283
+ let c = `url(${s})`, l = o ? "img" : void 0, u;
284
+ i[5] === c ? u = i[6] : (u = {
285
+ display: "inline-block",
286
+ width: "100%",
287
+ height: "100%",
288
+ backgroundColor: "currentColor",
289
+ maskImage: c,
290
+ maskRepeat: "no-repeat",
291
+ maskPosition: "center",
292
+ maskSize: "contain",
293
+ WebkitMaskImage: c,
294
+ WebkitMaskRepeat: "no-repeat",
295
+ WebkitMaskPosition: "center",
296
+ WebkitMaskSize: "contain"
297
+ }, i[5] = c, i[6] = u);
298
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;
299
+ return i[7] !== o || i[8] !== l || i[9] !== u ? (d = /* @__PURE__ */ X("span", {
300
+ role: l,
301
+ "aria-label": o,
302
+ style: u
303
+ }), i[7] = o, i[8] = l, i[9] = u, i[10] = d) : d = i[10], d;
304
+ }
305
+ function hasCurrentColorReference(r) {
306
+ return /currentcolor/i.test(decodeSvgDataUrl(r) ?? "");
307
+ }
308
+ function decodeSvgDataUrl(r) {
309
+ if (!r.startsWith("data:image/svg+xml")) return null;
310
+ try {
311
+ let i = r.indexOf(",");
312
+ if (i === -1) return null;
313
+ let a = r.slice(i + 1);
314
+ if (r.slice(0, i).endsWith(";base64")) return new TextDecoder().decode(Uint8Array.from(atob(a), (r) => r.charCodeAt(0)));
315
+ try {
316
+ return decodeURIComponent(a);
317
+ } catch {
318
+ return a;
319
+ }
320
+ } catch {
321
+ return null;
322
+ }
304
323
  }
305
324
  //#endregion
306
325
  //#region ../diagram/src/base/Background.tsx
@@ -309,10 +328,10 @@ function literalToEnum(r) {
309
328
  case "dots": return H.Dots;
310
329
  case "lines": return H.Lines;
311
330
  case "cross": return H.Cross;
312
- default: ge(r);
331
+ default: he(r);
313
332
  }
314
333
  }
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) => {
334
+ var compareProps = (r, i) => typeof r.background == "string" && typeof i.background == "string" ? r.background === i.background : W(r.background, i.background), Pe = ce((r) => {
316
335
  let i = J(6), { background: a } = r;
317
336
  if (typeof a == "string") {
318
337
  let r;
@@ -327,7 +346,7 @@ var compareProps = (r, i) => typeof r.background == "string" && typeof i.backgro
327
346
  let o;
328
347
  return i[4] === a ? o = i[5] : (o = /* @__PURE__ */ X(U, { ...a }), i[4] = a, i[5] = o), o;
329
348
  }, compareProps);
330
- Ie.displayName = "Background";
349
+ Pe.displayName = "Background";
331
350
  //#endregion
332
351
  //#region ../diagram/src/hooks/useCallbackRef.ts
333
352
  function useCallbackRef(r) {
@@ -370,9 +389,9 @@ function getDevicePixelRatio() {
370
389
  max: 4
371
390
  });
372
391
  }
373
- var Le;
392
+ var Fe;
374
393
  function roundDpr(r) {
375
- return Le ??= getDevicePixelRatio(), Le < 2 ? Math.round(r) : Math.round(r * Le) / Le;
394
+ return Fe ??= getDevicePixelRatio(), Fe < 2 ? Math.round(r) : Math.round(r * Fe) / Fe;
376
395
  }
377
396
  //#endregion
378
397
  //#region ../diagram/src/utils/xyflow.ts
@@ -392,12 +411,12 @@ function getNodeCenter(r) {
392
411
  };
393
412
  }
394
413
  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();
414
+ let { width: o, height: s } = r, c = ge.center(r), l = _e(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));
415
+ return _e(l).multiply(f).add(c).trunc().toObject();
397
416
  }
398
417
  function bezierControlPoints(r) {
399
418
  let [i, ...a] = r;
400
- ve(i, "start should be defined");
419
+ Q(i, "start should be defined");
401
420
  let o = [];
402
421
  for (; t$3(a, 3);) {
403
422
  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();
@@ -409,7 +428,7 @@ function bezierControlPoints(r) {
409
428
  });
410
429
  }), a = l, i = c;
411
430
  }
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;
431
+ return Q(a.length === 0, "all points should be consumed"), Q(t$3(o, 1), "at least one control point should be generated"), o;
413
432
  }
414
433
  function isSamePoint(r, i) {
415
434
  if (r === i) return !0;
@@ -422,13 +441,13 @@ function stopPropagation(r) {
422
441
  var printPoint = (r) => `${Math.trunc(r[0])},${Math.trunc(r[1])}`;
423
442
  function bezierPath(r) {
424
443
  let [i, ...a] = r;
425
- ve(i, "start should be defined");
444
+ Q(i, "start should be defined");
426
445
  let o = `M ${printPoint(i)}`;
427
446
  for (; t$3(a, 3);) {
428
447
  let [r, i, s, ...c] = a;
429
448
  o += ` C ${printPoint(r)} ${printPoint(i)} ${printPoint(s)}`, a = c;
430
449
  }
431
- return ve(a.length === 0, "all points should be consumed"), o;
450
+ return Q(a.length === 0, "all points should be consumed"), o;
432
451
  }
433
452
  function parsePadding(r, i) {
434
453
  if (typeof r == "number") return Math.floor((i - i / (1 + r)) * .5);
@@ -493,17 +512,17 @@ function _setData(r, i) {
493
512
  function setData(r, i) {
494
513
  return i === void 0 ? (i) => _setData(i, r) : _setData(r, i);
495
514
  }
496
- var Re = {
515
+ var Ie = {
497
516
  setDimmed,
498
517
  setHovered,
499
518
  setData
500
- }, ze = {
519
+ }, Le = {
501
520
  Compound: 1,
502
521
  Edge: 20,
503
522
  EdgeLabel: 25,
504
523
  Element: 20,
505
524
  Max: 30
506
- }, Be = .05, Ve = {
525
+ }, Re = .05, ze = {
507
526
  default: "16px",
508
527
  withControls: {
509
528
  top: "58px",
@@ -532,7 +551,7 @@ function getKeyboardZoomAction(r) {
532
551
  }
533
552
  //#endregion
534
553
  //#region ../diagram/src/base/BaseXYFlow.tsx
535
- var He = {
554
+ var Be = {
536
555
  "node.a11yDescription.default": "Press Enter or Space to select this node and reveal its actions.",
537
556
  "node.a11yDescription.keyboardDisabled": "Keyboard activation is disabled.",
538
557
  "edge.a11yDescription.default": "Press Enter or Space to select this relationship and reveal its actions."
@@ -560,9 +579,9 @@ function activateFocusedElement(r) {
560
579
  function BaseXYFlow(r) {
561
580
  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
581
  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;
582
+ let P = S === void 0 || S, F = E === void 0 || E, I = D === void 0 || D, L = O !== void 0 && O, z = k === void 0 ? "dots" : k, B = A === void 0 ? 0 : A, ee = j === void 0 || j, V = M !== void 0 && M, H = N === void 0 ? L || I : N, U = C !== void 0 && C, te;
564
583
  i[28] === B ? te = i[29] : (te = {
565
- minZoom: Be,
584
+ minZoom: Re,
566
585
  maxZoom: 1,
567
586
  padding: B,
568
587
  includeHiddenNodes: !1
@@ -585,23 +604,23 @@ function BaseXYFlow(r) {
585
604
  return;
586
605
  }
587
606
  }, 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;
607
+ let K = useCallbackRef(t13), q = c, ce = u, le = l, ue = z === "transparent" && "bg-transparent", de;
589
608
  i[35] !== s || i[36] !== ue ? (de = w(ue, s), i[35] = s, i[36] = ue, i[37] = de) : de = i[37];
590
609
  let fe;
591
610
  i[38] === re ? fe = i[39] : (fe = re && { "data-likec4-zoom-small": !0 }, i[38] = re, i[39] = fe);
592
611
  let pe = !P && F, Y;
593
612
  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 && {
613
+ let me = F ? 3 : 1, he = F ? Re : 1, ge = F || P, _e;
614
+ i[42] === P ? _e = i[43] : (_e = !P && {
596
615
  panActivationKeyCode: null,
597
616
  selectionKeyCode: null
598
- }, i[42] = P, i[43] = Q);
599
- let $;
600
- i[44] === a ? $ = i[45] : ($ = {
601
- ...He,
617
+ }, i[42] = P, i[43] = _e);
618
+ let Q;
619
+ i[44] === a ? Q = i[45] : (Q = {
620
+ ...Be,
602
621
  ...a
603
- }, i[44] = a, i[45] = $);
604
- let _e = y, ve = m, t29;
622
+ }, i[44] = a, i[45] = Q);
623
+ let ve = y, ye = m, t29;
605
624
  i[46] !== g || i[47] !== ae ? (t29 = (r, i) => {
606
625
  let { x: a, y: o, zoom: s } = i, c = roundDpr(a), l = roundDpr(o);
607
626
  (a !== c || o !== l) && ae.setState({ transform: [
@@ -614,7 +633,7 @@ function BaseXYFlow(r) {
614
633
  zoom: s
615
634
  });
616
635
  }, i[46] = g, i[47] = ae, i[48] = t29) : t29 = i[48];
617
- let ye = useCallbackRef(t29), t31;
636
+ let be = useCallbackRef(t29), t31;
618
637
  i[49] !== _ || i[50] !== y ? (t31 = (r, i) => {
619
638
  if (_) {
620
639
  _(r, i);
@@ -623,10 +642,10 @@ function BaseXYFlow(r) {
623
642
  y([{
624
643
  id: i.id,
625
644
  type: "replace",
626
- item: Re.setHovered(i, !0)
645
+ item: Ie.setHovered(i, !0)
627
646
  }]);
628
647
  }, i[49] = _, i[50] = y, i[51] = t31) : t31 = i[51];
629
- let be = useCallbackRef(t31), t33;
648
+ let xe = useCallbackRef(t31), t33;
630
649
  i[52] !== v || i[53] !== y ? (t33 = (r, i) => {
631
650
  if (v) {
632
651
  v(r, i);
@@ -635,10 +654,10 @@ function BaseXYFlow(r) {
635
654
  y([{
636
655
  id: i.id,
637
656
  type: "replace",
638
- item: Re.setHovered(i, !1)
657
+ item: Ie.setHovered(i, !1)
639
658
  }]);
640
659
  }, i[52] = v, i[53] = y, i[54] = t33) : t33 = i[54];
641
- let xe = useCallbackRef(t33), t35;
660
+ let Se = useCallbackRef(t33), t35;
642
661
  i[55] !== d || i[56] !== m ? (t35 = (r, i) => {
643
662
  if (d) {
644
663
  d(r, i);
@@ -647,10 +666,10 @@ function BaseXYFlow(r) {
647
666
  m([{
648
667
  id: i.id,
649
668
  type: "replace",
650
- item: Re.setHovered(i, !0)
669
+ item: Ie.setHovered(i, !0)
651
670
  }]);
652
671
  }, i[55] = d, i[56] = m, i[57] = t35) : t35 = i[57];
653
- let Se = useCallbackRef(t35), t37;
672
+ let Ce = useCallbackRef(t35), t37;
654
673
  i[58] !== p || i[59] !== m ? (t37 = (r, i) => {
655
674
  if (p) {
656
675
  p(r, i);
@@ -659,22 +678,22 @@ function BaseXYFlow(r) {
659
678
  m([{
660
679
  id: i.id,
661
680
  type: "replace",
662
- item: Re.setHovered(i, !1)
681
+ item: Ie.setHovered(i, !1)
663
682
  }]);
664
683
  }, i[58] = p, i[59] = m, i[60] = t37) : t37 = i[60];
665
- let Ce = useCallbackRef(t37), t39;
684
+ let we = useCallbackRef(t37), t39;
666
685
  i[61] === h ? t39 = i[62] : (t39 = (r) => {
667
686
  h?.(r), r.defaultPrevented || activateFocusedElement(r);
668
687
  }, 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];
688
+ let Te = useCallbackRef(t39), $;
689
+ i[63] !== z || i[64] !== ne ? ($ = ne && /* @__PURE__ */ X(Pe, { background: z }), i[63] = z, i[64] = ne, i[65] = $) : $ = i[65];
671
690
  let Ee;
672
691
  i[66] === b ? Ee = i[67] : (Ee = b && /* @__PURE__ */ X(ViewportResizeHanlder, { onViewportResize: b }), i[66] = b, i[67] = Ee);
673
692
  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,
693
+ 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] !== K || 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] !== _e || i[92] !== Q || i[93] !== be || i[94] !== xe || i[95] !== Se || i[96] !== Ce || i[97] !== we || i[98] !== Te || i[99] !== $ || i[100] !== Ee || i[101] !== G || i[102] !== V || i[103] !== F ? (De = /* @__PURE__ */ Z(R, {
694
+ colorMode: q,
695
+ nodes: ce,
696
+ edges: le,
678
697
  className: de,
679
698
  ...fe,
680
699
  zoomOnPinch: F,
@@ -692,44 +711,44 @@ function BaseXYFlow(r) {
692
711
  noWheelClassName: "nowheel",
693
712
  panOnScroll: P,
694
713
  panOnDrag: P,
695
- ...Q,
714
+ ..._e,
696
715
  elementsSelectable: I,
697
716
  nodesFocusable: H,
698
717
  edgesFocusable: U,
699
718
  nodesDraggable: L,
700
- ariaLabelConfig: $,
719
+ ariaLabelConfig: Q,
701
720
  nodeDragThreshold: 4,
702
721
  nodeClickDistance: 3,
703
722
  paneClickDistance: 3,
704
723
  elevateNodesOnSelect: !1,
705
724
  selectNodesOnDrag: !1,
706
- onNodesChange: _e,
707
- onEdgesChange: ve,
708
- onMoveEnd: ye,
709
- onNodeMouseEnter: be,
710
- onNodeMouseLeave: xe,
711
- onEdgeMouseEnter: Se,
712
- onEdgeMouseLeave: Ce,
725
+ onNodesChange: ve,
726
+ onEdgesChange: ye,
727
+ onMoveEnd: be,
728
+ onNodeMouseEnter: xe,
729
+ onNodeMouseLeave: Se,
730
+ onEdgeMouseEnter: Ce,
731
+ onEdgeMouseLeave: we,
713
732
  onNodeDoubleClick: stopPropagation,
714
733
  onEdgeDoubleClick: stopPropagation,
715
- onKeyDownCapture: we,
734
+ onKeyDownCapture: Te,
716
735
  ...x,
717
736
  "aria-label": se,
718
737
  tabIndex: G,
719
- onKeyDown: ce,
738
+ onKeyDown: K,
720
739
  children: [
721
- Te,
740
+ $,
722
741
  Ee,
723
742
  o
724
743
  ]
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;
744
+ }), 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] = K, 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] = _e, i[92] = Q, i[93] = be, i[94] = xe, i[95] = Se, i[96] = Ce, i[97] = we, i[98] = Te, i[99] = $, i[100] = Ee, i[101] = G, i[102] = V, i[103] = F, i[104] = De) : De = i[104], De;
726
745
  }
727
746
  var selectDimensions = ({ width: r, height: i }) => (r || 1) * (i || 1), ViewportResizeHanlder = (r) => {
728
747
  let i = J(2), { onViewportResize: a } = r, o = B(selectDimensions), c;
729
748
  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;
749
+ }, Ve = K(null), He = Ve.Provider;
731
750
  function useRootContainerContext() {
732
- return q(Ue);
751
+ return le(Ve);
733
752
  }
734
753
  function useRootContainer() {
735
754
  let r = useRootContainerContext();
@@ -745,7 +764,7 @@ function useRootContainerElement() {
745
764
  //#endregion
746
765
  //#region ../diagram/src/components/RootContainer.tsx
747
766
  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;
767
+ let i = J(18), { id: a, className: o, reduceGraphics: s, children: l } = r, u = s !== void 0 && s, d = fe(null), [f] = pe(_temp$1), p = c(f), m = `#${a}`, h;
749
768
  i[0] !== f || i[1] !== a || i[2] !== u || i[3] !== m ? (h = {
750
769
  id: a,
751
770
  ref: d,
@@ -758,7 +777,7 @@ function RootContainer(r) {
758
777
  let v;
759
778
  i[7] === u ? v = i[8] : (v = u && { "data-likec4-reduced-graphics": !0 }, i[7] = u, i[8] = v);
760
779
  let y;
761
- i[9] !== l || i[10] !== g ? (y = /* @__PURE__ */ X(We, {
780
+ i[9] !== l || i[10] !== g ? (y = /* @__PURE__ */ X(He, {
762
781
  value: g,
763
782
  children: l
764
783
  }), i[9] = l, i[10] = g, i[11] = y) : y = i[11];
@@ -778,7 +797,7 @@ function _temp$1() {
778
797
  r(_temp$1, "_temp");
779
798
  //#endregion
780
799
  //#region ../diagram/src/context/DefaultMantineProvider.tsx
781
- var Ge = m({
800
+ var Ue = m({
782
801
  autoContrast: !0,
783
802
  primaryColor: "indigo",
784
803
  cursorType: "pointer",
@@ -815,7 +834,7 @@ var Ge = m({
815
834
  function DefaultMantineProvider(r) {
816
835
  let i = J(8), a, o, s;
817
836
  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;
837
+ let c = s ?? Ue, l;
819
838
  return i[4] !== a || i[5] !== o || i[6] !== c ? (l = /* @__PURE__ */ X(b, {
820
839
  defaultColorScheme: "auto",
821
840
  theme: c,
@@ -826,7 +845,7 @@ function DefaultMantineProvider(r) {
826
845
  //#endregion
827
846
  //#region ../diagram/src/context/EnsureMantine.tsx
828
847
  function EnsureMantine(r) {
829
- let i = J(7), { children: a } = r, o = q(p), t1;
848
+ let i = J(7), { children: a } = r, o = le(p), t1;
830
849
  i[0] === o ? t1 = i[1] : (t1 = () => {
831
850
  o || console.warn("LikeC4Diagram must be a child of MantineProvider");
832
851
  }, i[0] = o, i[1] = t1);
@@ -856,12 +875,17 @@ function FramerMotionConfig(r) {
856
875
  }
857
876
  //#endregion
858
877
  //#region ../diagram/src/context/LikeC4ModelContext.tsx
859
- var Ke = ce(null), qe = Ke.Provider, Je = ce(null), Ye = Je.Provider;
878
+ var We = K(null), Ge = We.Provider, Ke = K(null), qe = Ke.Provider;
860
879
  function useOptionalLikeC4Model() {
861
- return q(Ke);
880
+ return le(We);
862
881
  }
863
882
  function useOptionalCurrentViewModel() {
864
- return q(Je);
883
+ return le(Ke);
884
+ }
885
+ //#endregion
886
+ //#region ../diagram/src/hooks/useLikeC4Styles.ts
887
+ function useLikeC4Styles() {
888
+ return useOptionalLikeC4Model()?.$styles ?? ve.DEFAULT;
865
889
  }
866
890
  //#endregion
867
891
  //#region ../diagram/src/hooks/useId.ts
@@ -872,22 +896,22 @@ function useId$1() {
872
896
  r(useId$1, "useId");
873
897
  //#endregion
874
898
  //#region ../diagram/src/context/LikeC4ProjectsContext.ts
875
- var Xe = ce(null), Ze = Xe.Provider;
899
+ var Je = K(null), Ye = Je.Provider;
876
900
  function useOptionalProjectsContext() {
877
- return q(Xe);
901
+ return le(Je);
878
902
  }
879
903
  //#endregion
880
904
  //#region ../diagram/src/hooks/useLikeC4Project.ts
881
- var Qe = [];
905
+ var Xe = [];
882
906
  function onProjectChange(r) {
883
907
  console.warn(`Triggered callback to change project to ${r}, but no <LikeC4ProjectsProvider/> found`);
884
908
  }
885
- var $e = {
886
- projects: Qe,
909
+ var Ze = {
910
+ projects: Xe,
887
911
  onProjectChange
888
912
  };
889
913
  function useLikeC4ProjectsContext() {
890
- return useOptionalProjectsContext() ?? $e;
914
+ return useOptionalProjectsContext() ?? Ze;
891
915
  }
892
916
  function useLikeC4Projects() {
893
917
  return useLikeC4ProjectsContext().projects;
@@ -901,50 +925,15 @@ function useLikeC4ProjectId() {
901
925
  return r.projectId;
902
926
  }
903
927
  //#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
928
  //#region ../diagram/src/base-primitives/edge/EdgeContainer.tsx
940
929
  function EdgeContainer(r) {
941
930
  let i = J(47), a, o, s, c, l, u, d, f, p, m, h, g;
942
931
  if (i[0] !== r) {
943
932
  let { className: _, component: v, selectable: y, selected: b, data: x, animated: S, children: C, style: T, ...E } = r;
944
933
  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;
934
+ let D = y !== void 0 && y, O = b !== void 0 && b, k, A, j, M, N;
946
935
  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;
936
+ let P = A === void 0 ? "gray" : A, F = j !== void 0 && j, I = M !== void 0 && M, L = N !== void 0 && N, R = S !== void 0 && S;
948
937
  R ||= I;
949
938
  let z = O && "selected", B = D && "selectable";
950
939
  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;
@@ -970,7 +959,7 @@ function EdgeContainer(r) {
970
959
  children: a
971
960
  }), i[39] = a, i[40] = v, i[41] = s, i[42] = r) : r = i[42], r;
972
961
  }
973
- he(o === "g", "EdgeContainer: component must be \"g\" or \"svg\"");
962
+ me(o === "g", "EdgeContainer: component must be \"g\" or \"svg\"");
974
963
  let y;
975
964
  return i[43] !== a || i[44] !== v || i[45] !== s ? (y = /* @__PURE__ */ X("g", {
976
965
  style: s,
@@ -983,10 +972,10 @@ function _temp(r, i) {
983
972
  }
984
973
  //#endregion
985
974
  //#region ../diagram/src/base-primitives/edge/EdgeLabel.tsx
986
- var tt = K((r, i) => {
975
+ var Qe = q((r, i) => {
987
976
  let a = J(34), o, s, c, l, u, d, f;
988
977
  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;
978
+ let { id: p, data: m, selected: h, selectable: g } = u, { label: _, technology: v, hovered: y } = m, b = y !== void 0 && y, x = h !== void 0 && h, S = g !== void 0 && g, T = d !== void 0 && d, E = f === void 0 ? "all" : f, D;
990
979
  a[8] !== _ || a[9] !== v ? (D = e(_) || e(v), a[8] = _, a[9] = v, a[10] = D) : D = a[10];
991
980
  let k = D, A;
992
981
  a[11] !== s || a[12] !== T || a[13] !== E || a[14] !== S ? (A = w("likec4-edge-label", O({
@@ -1027,14 +1016,14 @@ var tt = K((r, i) => {
1027
1016
  children: [N, P]
1028
1017
  }), 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
1018
  });
1030
- tt.displayName = "EdgeLabel";
1019
+ Qe.displayName = "EdgeLabel";
1031
1020
  //#endregion
1032
1021
  //#region ../diagram/src/base-primitives/edge/EdgeLabelContainer.tsx
1033
1022
  var toCssVarValue = (r) => r === void 0 ? "" : e$1(r) ? `${Math.trunc(r)}px` : r;
1034
1023
  function EdgeLabelContainer(r) {
1035
1024
  let i = J(42), a, o, s, c, l, u;
1036
1025
  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;
1026
+ let { id: d, selected: f, data: p, animated: m } = u, h = f !== void 0 && f, { hovered: g, active: _, dimmed: v, labelBBox: y, color: b } = p, x = g !== void 0 && g, S = _ !== void 0 && _, C = v !== void 0 && v, T = b === void 0 ? "gray" : b, E = c?.x ?? y?.x, D = c?.y ?? y?.y;
1038
1027
  if (E === void 0 || D === void 0) return null;
1039
1028
  let O = c?.translate ?? "";
1040
1029
  m ||= S;
@@ -1243,7 +1232,7 @@ var Open = (r) => {
1243
1232
  ...r,
1244
1233
  children: a
1245
1234
  }), i[1] = r, i[2] = o), o;
1246
- }, nt = {
1235
+ }, $e = {
1247
1236
  Arrow,
1248
1237
  Crow,
1249
1238
  OArrow,
@@ -1264,15 +1253,15 @@ function arrowTypeToMarker(r) {
1264
1253
  case "vee": return "Open";
1265
1254
  case "dot": return "Dot";
1266
1255
  case "odot": return "ODot";
1267
- default: ge(r);
1256
+ default: he(r);
1268
1257
  }
1269
1258
  }
1270
1259
  //#endregion
1271
1260
  //#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");
1261
+ var et = q((r, i) => {
1262
+ 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 || p, x = s !== void 0 && s, S = arrowTypeToMarker(v), C = arrowTypeToMarker(y ?? "normal");
1274
1263
  _ === "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;
1264
+ let E = S ? $e[S] : null, O = C ? $e[C] : null, k = g === "dotted", A = k || g === "dashed", j;
1276
1265
  k ? j = "1,8" : A && (j = "8,10");
1277
1266
  let M, N, P, F, I, L, R, z;
1278
1267
  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) {
@@ -1333,10 +1322,10 @@ var rt = K((r, i) => {
1333
1322
  H
1334
1323
  ] }), a[50] = N, a[51] = P, a[52] = H, a[53] = U) : U = a[53], U;
1335
1324
  });
1336
- rt.displayName = "EdgePath";
1325
+ et.displayName = "EdgePath";
1337
1326
  //#endregion
1338
1327
  //#region ../diagram/src/base-primitives/element/ElementActionButtons.tsx
1339
- var it = {
1328
+ var tt = {
1340
1329
  normal: {
1341
1330
  originY: 0,
1342
1331
  opacity: .75,
@@ -1357,7 +1346,7 @@ var it = {
1357
1346
  }
1358
1347
  };
1359
1348
  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();
1349
+ let i = J(14), { selected: a, data: o, buttons: s } = r, c = a !== void 0 && a, { hovered: l } = o, u = l !== void 0 && l, d = g();
1361
1350
  if (!s.length) return null;
1362
1351
  let f;
1363
1352
  bb0: switch (!0) {
@@ -1383,11 +1372,11 @@ function ElementActionButtons(r) {
1383
1372
  whileTap: { scale: 1 },
1384
1373
  whileHover: { scale: 1.3 },
1385
1374
  tabIndex: p ? 0 : -1,
1386
- inert: p ? void 0 : !0,
1375
+ inert: !p || void 0,
1387
1376
  "aria-label": r.ariaLabel ?? r.key ?? "Element action",
1388
1377
  onClick: r.onClick,
1389
1378
  onDoubleClick: stopPropagation,
1390
- children: r.icon || /* @__PURE__ */ X(Te, {})
1379
+ children: r.icon || /* @__PURE__ */ X(we, {})
1391
1380
  }, `${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
1381
  } else b = i[5];
1393
1382
  let x;
@@ -1396,7 +1385,7 @@ function ElementActionButtons(r) {
1396
1385
  children: /* @__PURE__ */ X(G, {
1397
1386
  layoutRoot: !0,
1398
1387
  initial: !1,
1399
- variants: it,
1388
+ variants: tt,
1400
1389
  animate: h,
1401
1390
  layoutDependency: _,
1402
1391
  "data-likec4-hovered": u,
@@ -1413,35 +1402,40 @@ var resolveIconColor = (r, i) => {
1413
1402
  if (!a) return;
1414
1403
  let o = r.colors(a).elements;
1415
1404
  return a === i.color ? o.stroke : o.fill;
1416
- }, at = K((r, i) => {
1417
- let a = J(28), o, s, c, l;
1405
+ };
1406
+ function shouldBlendIconWithPalette(r, i) {
1407
+ return !i && r?.startsWith("bootstrap:") === !0;
1408
+ }
1409
+ var nt = q((r, i) => {
1410
+ let a = J(29), o, s, c, l;
1418
1411
  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
1412
  let u = useLikeC4Styles(), d;
1420
1413
  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
1414
  let f = d, p;
1422
1415
  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({
1416
+ let m = p, h = !!m, g;
1417
+ a[11] !== o || a[12] !== s.icon || a[13] !== s.style.iconPosition || a[14] !== h ? (g = w(o, M({
1425
1418
  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);
1419
+ withIconColor: h,
1420
+ withIconBlend: shouldBlendIconWithPalette(s.icon, h)
1421
+ }), "likec4-element"), a[11] = o, a[12] = s.icon, a[13] = s.style.iconPosition, a[14] = h, a[15] = g) : g = a[15];
1430
1422
  let _;
1431
- a[17] === m ? _ = a[18] : (_ = m && { "--likec4-icon-color": m }, a[17] = m, a[18] = _);
1423
+ a[16] === f ? _ = a[17] : (_ = f && { "--likec4-icon-size": `${f}px` }, a[16] = f, a[17] = _);
1432
1424
  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];
1425
+ a[18] === m ? v = a[19] : (v = m && { "--likec4-icon-color": m }, a[18] = m, a[19] = v);
1438
1426
  let y;
1439
- return a[23] !== c || a[24] !== i || a[25] !== h || a[26] !== v ? (y = /* @__PURE__ */ X("div", {
1427
+ a[20] !== l || a[21] !== _ || a[22] !== v ? (y = {
1428
+ ...l,
1429
+ ..._,
1430
+ ...v
1431
+ }, a[20] = l, a[21] = _, a[22] = v, a[23] = y) : y = a[23];
1432
+ let b;
1433
+ return a[24] !== c || a[25] !== i || a[26] !== g || a[27] !== y ? (b = /* @__PURE__ */ X("div", {
1440
1434
  ...c,
1441
1435
  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;
1436
+ className: g,
1437
+ style: y
1438
+ }), a[24] = c, a[25] = i, a[26] = g, a[27] = y, a[28] = b) : b = a[28], b;
1445
1439
  }), Icon = (r) => {
1446
1440
  let i = J(6), a, o;
1447
1441
  i[0] === r ? (a = i[1], o = i[2]) : ({data: a, ...o} = r, i[0] = r, i[1] = a, i[2] = o);
@@ -1450,7 +1444,7 @@ var resolveIconColor = (r, i) => {
1450
1444
  element: a,
1451
1445
  ...o
1452
1446
  }), i[3] = a, i[4] = o, i[5] = s) : s = i[5], s;
1453
- }, ot = K((r, i) => {
1447
+ }, rt = q((r, i) => {
1454
1448
  let a = J(9), o, s;
1455
1449
  a[0] === r ? (o = a[1], s = a[2]) : ({className: o, ...s} = r, a[0] = r, a[1] = o, a[2] = s);
1456
1450
  let c;
@@ -1461,7 +1455,7 @@ var resolveIconColor = (r, i) => {
1461
1455
  className: c,
1462
1456
  ref: i
1463
1457
  }), a[5] = s, a[6] = i, a[7] = c, a[8] = l) : l = a[8], l;
1464
- }), st = K((r, i) => {
1458
+ }), it = q((r, i) => {
1465
1459
  let a = J(11), o, s, c;
1466
1460
  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
1461
  let { title: l } = c, u;
@@ -1474,7 +1468,7 @@ var resolveIconColor = (r, i) => {
1474
1468
  ref: i,
1475
1469
  children: l
1476
1470
  }), a[6] = s, a[7] = i, a[8] = u, a[9] = l, a[10] = d) : d = a[10], d;
1477
- }), ct = K((r, i) => {
1471
+ }), at = q((r, i) => {
1478
1472
  let a = J(10), o, s, c, l;
1479
1473
  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
1474
  let u = c?.technology ?? o, d;
@@ -1485,13 +1479,13 @@ var resolveIconColor = (r, i) => {
1485
1479
  ref: i,
1486
1480
  children: u
1487
1481
  }) : 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) => {
1482
+ }), ot = q((r, i) => {
1489
1483
  let a = J(16), o, s, c;
1490
1484
  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
1485
  let { description: u } = c;
1492
1486
  if (!u) return null;
1493
1487
  let d;
1494
- a[4] === u ? d = a[5] : (d = be.from(u), a[4] = u, a[5] = d);
1488
+ a[4] === u ? d = a[5] : (d = ye.from(u), a[4] = u, a[5] = d);
1495
1489
  let f = d, p;
1496
1490
  a[6] === o ? p = a[7] : (p = w(o, "likec4-element-description"), a[6] = o, a[7] = p);
1497
1491
  let m = f.isMarkdown ? "8rem" : void 0, h;
@@ -1512,33 +1506,33 @@ function ElementData(r) {
1512
1506
  let i = J(9), { data: a, "aria-hidden": o } = r, s;
1513
1507
  i[0] === a ? s = i[1] : (s = /* @__PURE__ */ X(Icon, { data: a }), i[0] = a, i[1] = s);
1514
1508
  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 })
1509
+ i[2] === a ? c = i[3] : (c = /* @__PURE__ */ Z(rt, { children: [
1510
+ /* @__PURE__ */ X(it, { data: a }),
1511
+ /* @__PURE__ */ X(at, { data: a }),
1512
+ /* @__PURE__ */ X(ot, { data: a })
1519
1513
  ] }), i[2] = a, i[3] = c);
1520
1514
  let l;
1521
- return i[4] !== o || i[5] !== a || i[6] !== s || i[7] !== c ? (l = /* @__PURE__ */ Z(at, {
1515
+ return i[4] !== o || i[5] !== a || i[6] !== s || i[7] !== c ? (l = /* @__PURE__ */ Z(nt, {
1522
1516
  data: a,
1523
1517
  "aria-hidden": o,
1524
1518
  children: [s, c]
1525
1519
  }), i[4] = o, i[5] = a, i[6] = s, i[7] = c, i[8] = l) : l = i[8], l;
1526
1520
  }
1527
- ElementData.Root = at, ElementData.Icon = Icon, ElementData.Content = ot, ElementData.Title = st, ElementData.Technology = ct, ElementData.Description = lt;
1521
+ ElementData.Root = nt, ElementData.Icon = Icon, ElementData.Content = rt, ElementData.Title = it, ElementData.Technology = at, ElementData.Description = ot;
1528
1522
  //#endregion
1529
1523
  //#region ../diagram/src/base-primitives/element/ElementNodeContainer.tsx
1530
- var ut = {
1524
+ var st = {
1531
1525
  normal: { scale: 1 },
1532
1526
  hovered: { scale: 1.05 },
1533
1527
  selected: { scale: 1.02 },
1534
1528
  tap: { scale: .98 }
1535
- }, dt = K((r, i) => {
1529
+ }, ct = q((r, i) => {
1536
1530
  let a = J(34), o, s, c, l, u;
1537
1531
  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;
1532
+ let { selected: d, selectable: f, data: p } = u, m = d !== void 0 && d, h = f !== void 0 && f, g, _, v, y, b;
1539
1533
  if (a[6] !== m || a[7] !== p) {
1540
1534
  let { hovered: r, dimmed: i, ...o } = p;
1541
- g = o, v = r === void 0 ? !1 : r, _ = i === void 0 ? !1 : i;
1535
+ g = o, v = r !== void 0 && r, _ = i !== void 0 && i;
1542
1536
  bb0: switch (!0) {
1543
1537
  case v:
1544
1538
  b = "hovered";
@@ -1548,7 +1542,7 @@ var ut = {
1548
1542
  break bb0;
1549
1543
  default: b = "normal";
1550
1544
  }
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;
1545
+ y = be(g.style ?? {}), a[6] = m, a[7] = p, a[8] = g, a[9] = _, a[10] = v, a[11] = y, a[12] = b;
1552
1546
  } else g = a[8], _ = a[9], v = a[10], y = a[11], b = a[12];
1553
1547
  let { size: x, padding: S, textSize: C } = y, T;
1554
1548
  a[13] === s ? T = a[14] : (T = w(P(), "group", s), a[13] = s, a[14] = T);
@@ -1563,7 +1557,7 @@ var ut = {
1563
1557
  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
1558
  ref: i,
1565
1559
  className: T,
1566
- variants: ut,
1560
+ variants: st,
1567
1561
  initial: !1,
1568
1562
  ...E,
1569
1563
  "data-likec4-hovered": v,
@@ -1579,7 +1573,7 @@ var ut = {
1579
1573
  children: o
1580
1574
  }), 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
1575
  });
1582
- dt.displayName = "ElementNodeContainer";
1576
+ ct.displayName = "ElementNodeContainer";
1583
1577
  //#endregion
1584
1578
  //#region ../diagram/src/base-primitives/element/ElementShape.tsx
1585
1579
  function cylinderSVGPath(r, i, a = .07) {
@@ -1637,7 +1631,7 @@ function queueSVGPath(r, i, a = .185) {
1637
1631
  rx: c
1638
1632
  };
1639
1633
  }
1640
- var ft = {
1634
+ var lt = {
1641
1635
  width: 115,
1642
1636
  height: 120,
1643
1637
  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"
@@ -1655,7 +1649,7 @@ var ft = {
1655
1649
  case "xl":
1656
1650
  s = 70, c = 32, l = -24, u = 32, d = 18;
1657
1651
  break bb0;
1658
- default: ge(o);
1652
+ default: he(o);
1659
1653
  }
1660
1654
  let f = u + (c + d) * a, p;
1661
1655
  return i[0] !== c || i[1] !== l || i[2] !== f || i[3] !== s ? (p = /* @__PURE__ */ X("rect", {
@@ -1798,18 +1792,18 @@ function ShapeSvg(r) {
1798
1792
  rx: 6,
1799
1793
  strokeWidth: 0
1800
1794
  }), i[46] = s, i[47] = o, i[48] = r) : r = i[48];
1801
- let a = o - ft.width - 6, c = s - ft.height, l;
1795
+ let a = o - lt.width - 6, c = s - lt.height, l;
1802
1796
  i[49] === Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ X("path", {
1803
1797
  strokeWidth: 0,
1804
- d: ft.path
1798
+ d: lt.path
1805
1799
  }), i[49] = l) : l = i[49];
1806
1800
  let u;
1807
1801
  i[50] !== a || i[51] !== c ? (u = /* @__PURE__ */ X("svg", {
1808
1802
  x: a,
1809
1803
  y: c,
1810
- width: ft.width,
1811
- height: ft.height,
1812
- viewBox: `0 0 ${ft.width} ${ft.height}`,
1804
+ width: lt.width,
1805
+ height: lt.height,
1806
+ viewBox: `0 0 ${lt.width} ${lt.height}`,
1813
1807
  "data-likec4-fill": "mix-stroke",
1814
1808
  children: l
1815
1809
  }), i[50] = a, i[51] = c, i[52] = u) : u = i[52];
@@ -1879,7 +1873,7 @@ function ShapeSvg(r) {
1879
1873
  }
1880
1874
  default: {
1881
1875
  let r;
1882
- return i[92] === a ? r = i[93] : (r = ge(a), i[92] = a, i[93] = r), r;
1876
+ return i[92] === a ? r = i[93] : (r = he(a), i[92] = a, i[93] = r), r;
1883
1877
  }
1884
1878
  }
1885
1879
  }
@@ -1945,7 +1939,7 @@ function ShapeSvgOutline(r) {
1945
1939
  }), i[23] = c, i[24] = l), l;
1946
1940
  }
1947
1941
  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";
1942
+ let i = J(38), { data: a, width: o, height: s, showSelectionOutline: c } = r, l = c === void 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
1943
  if (a.shape === "rectangle") {
1950
1944
  let r;
1951
1945
  i[0] === p ? r = i[1] : (r = { borderStyle: p }, i[0] = p, i[1] = r);
@@ -2012,7 +2006,7 @@ function ElementShape(r) {
2012
2006
  //#region ../diagram/src/base-primitives/memoEdge.ts
2013
2007
  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
2008
  function memoEdge(r) {
2015
- let i = le(r, edgePropsEqual);
2009
+ let i = ce(r, edgePropsEqual);
2016
2010
  return i.displayName = `MemoEdge(${r.displayName || r.name})`, i;
2017
2011
  }
2018
2012
  //#endregion
@@ -2032,7 +2026,7 @@ function DefaultHandles(r) {
2032
2026
  case "RL":
2033
2027
  s = F.Left, c = F.Right;
2034
2028
  break bb0;
2035
- default: ge(o);
2029
+ default: he(o);
2036
2030
  }
2037
2031
  let l;
2038
2032
  i[0] === s ? l = i[1] : (l = /* @__PURE__ */ X(I, {
@@ -2051,7 +2045,7 @@ function DefaultHandles(r) {
2051
2045
  }
2052
2046
  //#endregion
2053
2047
  //#region ../diagram/src/components/Logo.tsx
2054
- var pt = K((r, i) => {
2048
+ var ut = q((r, i) => {
2055
2049
  let a = J(5), o, s;
2056
2050
  a[0] === Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ X("path", {
2057
2051
  fill: "#5E98AF",
@@ -2072,7 +2066,7 @@ var pt = K((r, i) => {
2072
2066
  ...r,
2073
2067
  children: [o, s]
2074
2068
  }), a[2] = r, a[3] = i, a[4] = c) : c = a[4], c;
2075
- }), mt = K((r, i) => {
2069
+ }), dt = q((r, i) => {
2076
2070
  let a = J(4), o;
2077
2071
  a[0] === Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ X("path", {
2078
2072
  fill: "#5E98AF",
@@ -2087,13 +2081,13 @@ var pt = K((r, i) => {
2087
2081
  ...r,
2088
2082
  children: o
2089
2083
  }), 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) => {
2084
+ }), { withProvider: ft, withContext: pt } = S(N), shouldForwardProp = (r, i) => !i.includes(r) && (re(r) || !j(r)), mt = q((r, i) => {
2091
2085
  let a = J(11), o, s;
2092
2086
  a[0] === r ? (o = a[1], s = a[2]) : ({className: o, ...s} = r, a[0] = r, a[1] = o, a[2] = s);
2093
2087
  let c;
2094
2088
  a[3] === o ? c = a[4] : (c = w("mantine-active", o), a[3] = o, a[4] = c);
2095
2089
  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]);
2090
+ a[5] === Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ X(dt, { "data-logo-icon": !0 }), u = /* @__PURE__ */ X(ut, { "data-logo-full": !0 }), a[5] = l, a[6] = u) : (l = a[5], u = a[6]);
2097
2091
  let d;
2098
2092
  return a[7] !== s || a[8] !== i || a[9] !== c ? (d = /* @__PURE__ */ Z("button", {
2099
2093
  ...s,
@@ -2101,13 +2095,13 @@ var pt = K((r, i) => {
2101
2095
  className: c,
2102
2096
  children: [l, u]
2103
2097
  }), 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) => `
2098
+ }), ht = {
2099
+ Root: ft(G, "root", { shouldForwardProp }),
2100
+ Body: pt(G, "body", { shouldForwardProp }),
2101
+ Logo: pt(mt, "logo", { shouldForwardProp }),
2102
+ Label: pt(G, "label", { shouldForwardProp }),
2103
+ Dropdown: pt(G, "dropdown", { shouldForwardProp })
2104
+ }, scheme = (r) => `[data-mantine-color-scheme="${r}"]`, gt = scheme("dark"), generateCompoundColors = (r, i, a, o) => `
2111
2105
  ${`${r} :is([data-likec4-color="${i}"][data-compound-depth="${o}"])`} {
2112
2106
  --likec4-palette-fill: ${a.fill};
2113
2107
  --likec4-palette-stroke: ${a.stroke};
@@ -2126,7 +2120,7 @@ ${u} {
2126
2120
  --likec4-palette-relation-label-bg: ${l.labelBg};
2127
2121
  --likec4-palette-relation-stroke-selected: oklch(from ${l.line} calc(l - 0.15) c h);
2128
2122
  }
2129
- ${yt} ${u} {
2123
+ ${gt} ${u} {
2130
2124
  --likec4-palette-relation-stroke-selected: oklch(from ${l.line} calc(l + 0.15) c h);
2131
2125
  }
2132
2126
 
@@ -2140,15 +2134,15 @@ function generateBuiltInColorStyles(r, i) {
2140
2134
  })), t$1("\n"));
2141
2135
  }
2142
2136
  function LikeC4Styles$1({ id: r }) {
2143
- let i = `#${r}`, a = h()?.(), o = useLikeC4Styles();
2144
- return /* @__PURE__ */ X(bt, {
2137
+ let i = `#${r}`, a = h()?.(), o = useLikeC4Styles(), s = de(() => generateBuiltInColorStyles(o, i), [i, o.fingerprint]);
2138
+ return /* @__PURE__ */ X(_t, {
2145
2139
  id: r,
2146
2140
  nonce: a,
2147
- colorsStyles: de(() => generateBuiltInColorStyles(o, i), [i, o.fingerprint])
2141
+ colorsStyles: s
2148
2142
  });
2149
2143
  }
2150
2144
  r(LikeC4Styles$1, "LikeC4Styles");
2151
- var bt = le((r) => {
2145
+ var _t = ce((r) => {
2152
2146
  let i = J(6), { id: a, nonce: o, colorsStyles: s } = r, c;
2153
2147
  i[0] === s ? c = i[1] : (c = { __html: s }, i[0] = s, i[1] = c);
2154
2148
  let l = o || void 0, u;
@@ -2159,6 +2153,6 @@ var bt = le((r) => {
2159
2153
  nonce: l
2160
2154
  }), i[2] = a, i[3] = c, i[4] = l, i[5] = u) : u = i[5], u;
2161
2155
  });
2162
- bt.displayName = "MemoizedStyle";
2156
+ _t.displayName = "MemoizedStyle";
2163
2157
  //#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 };
2158
+ export { useXYStore as $, RootContainer as A, hasSubObject as B, qe as C, FramerMotionConfig as D, useOptionalLikeC4Model as E, BaseXYFlow as F, isSamePoint as G, bezierPath as H, ze as I, stopPropagation as J, nodeToRect as K, Re as L, useRootContainerContext as M, useRootContainerElement as N, EnsureMantine as O, useRootContainerRef as P, useXYFlow as Q, Le as R, useLikeC4Styles as S, useOptionalCurrentViewModel as T, getNodeCenter as U, bezierControlPoints as V, getNodeIntersectionFromCenterToPoint as W, selectXYStore as X, roundDpr as Y, useCurrentZoomAtLeast as Z, useLikeC4Projects as _, DefaultHandles as a, je as at, useOptionalProjectsContext as b, ct as c, e as ct, et as d, t$2 as dt, useXYStoreApi as et, EdgeLabelContainer as f, t$3 as ft, useLikeC4ProjectId as g, useChangeLikeC4Project as h, dt as i, IconRendererProvider as it, useRootContainer as j, DefaultMantineProvider as k, ElementData as l, e$1 as lt, EdgeContainer as m, ht as n, IconOrShapeRenderer as nt, memoEdge as o, t as ot, Qe as p, t$4 as pt, parsePaddings as q, ut as r, IconRenderer as rt, ElementShape as s, t$1 as st, LikeC4Styles$1 as t, useCallbackRef as tt, ElementActionButtons as u, e$2 as ut, useLikeC4ProjectsContext as v, Ge as w, useId$1 as x, Ye as y, Ie as z };