likec4 1.8.0 → 1.8.2-next.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.
@@ -13,3 +13,5 @@ export const useHashHistory = __USE_HASH_HISTORY__ === true
13
13
  export const basepath = useHashHistory ? '/' : BASE
14
14
 
15
15
  export const withOverviewGraph = __USE_OVERVIEW_GRAPH__ === true
16
+
17
+ export const isDevelopment = import.meta.env.DEV
@@ -4,7 +4,7 @@ import { createContext as createContext$1, useLayoutEffect as useLayoutEffect$1,
4
4
  import { createRoot } from "react-dom/client";
5
5
  import { L as Link, c as createRootRouteWithContext, S as ScrollRestoration, O as Outlet, u as useRouter, a as createFileRoute, b as useParams, d as useRouterState, i as isNotFound, n as notFound, R as RouterProvider, e as createRouter$1, f as createHashHistory, g as createBrowserHistory } from "./chunks/tanstack-router-ma6rQsdz.js";
6
6
  import { C as Container, T as Title, a as Text$1, G as Group, B as Button, c as createTheme, M as MantineProvider, b as MantineContext, u as useHotkeys, d as clsx, e as Box, A as ActionIcon$2, H as HoverCard, f as HoverCardTarget, U as UnstyledButton, g as HoverCardDropdown, S as Stack, h as Anchor, i as CopyButton$1, j as useLocalStorage, k as Card, l as CardSection, m as Spoiler, n as ButtonGroup, o as Tooltip$2, p as ThemeIcon, P as Paper, q as Tabs, r as TabsList, s as TabsTab, t as TabsPanel, v as ScrollAreaAutosize, w as Badge, x as rem, D as Divider, y as Space, z as TooltipGroup, F as Flex, E as ColorSwatch, I as CheckIcon, J as Select, K as Slider, L as SegmentedControl, N as Popover, O as PopoverTarget, Q as PopoverDropdown, R as FloatingIndicator, V as Notification, W as Code, X as Center, Y as Image, Z as useMantineColorScheme, _ as SimpleGrid, $ as useTree, a0 as useComputedColorScheme, a1 as Tree, a2 as Drawer, a3 as ScrollArea, a4 as Alert, a5 as ModalRoot, a6 as ModalOverlay, a7 as ModalContent, a8 as ModalBody, a9 as useMantineTheme, aa as useMediaQuery, ab as useDisclosure, ac as Menu, ad as MenuTarget, ae as MenuDropdown, af as MenuLabel, ag as MenuItem, ah as LoadingOverlay, ai as useCallbackRef, aj as Burger, ak as Loader } from "./chunks/mantine-BYr8JSNL.js";
7
- import { withOverviewGraph, ComponentName, basepath, useHashHistory } from "./const.js";
7
+ import { withOverviewGraph, ComponentName, isDevelopment, basepath, useHashHistory } from "./const.js";
8
8
  import { useOverviewGraph } from "virtual:likec4/overview-graph";
9
9
  import { u as useReactFlow, a as useStoreApi, b as useNodesData, c as useStore, d as createWithEqualityFn, e as applyNodeChanges, f as applyEdgeChanges, g as getViewportForBounds, h as getNodeDimensions, i as getBoundsOfRects, s as shallow$1, j as boxToRect, k as useStoreWithEqualityFn, E as EdgeLabelRenderer, H as Handle, P as Position, l as useOnViewportChange, m as index, n as useOnSelectionChange, B as Background, o as BackgroundVariant, C as Controls, R as ReactFlowProvider, p as BaseEdge, q as useNodesState, r as useEdgesState } from "./chunks/likec4-Blyd4UZO.js";
10
10
  import { usePreviewUrl } from "virtual:likec4/previews";
@@ -216,46 +216,19 @@ const blue$1 = {
216
216
  font: "Arial",
217
217
  shadow: "#0a0a0a"
218
218
  };
219
- function fixProto(target, prototype) {
220
- var setPrototypeOf = Object.setPrototypeOf;
221
- setPrototypeOf ? setPrototypeOf(target, prototype) : target.__proto__ = prototype;
222
- }
223
- function fixStack(target, fn) {
224
- fn === void 0 && (fn = target.constructor);
225
- var captureStackTrace = Error.captureStackTrace;
226
- captureStackTrace && captureStackTrace(target, fn);
227
- }
228
- var __extends = /* @__PURE__ */ function() {
229
- var _extendStatics = function(d2, b2) {
230
- return _extendStatics = Object.setPrototypeOf || {
231
- __proto__: []
232
- } instanceof Array && function(d3, b3) {
233
- d3.__proto__ = b3;
234
- } || function(d3, b3) {
235
- for (var p2 in b3)
236
- Object.prototype.hasOwnProperty.call(b3, p2) && (d3[p2] = b3[p2]);
237
- }, _extendStatics(d2, b2);
238
- };
239
- return function(d2, b2) {
240
- if (typeof b2 != "function" && b2 !== null) throw new TypeError("Class extends value " + String(b2) + " is not a constructor or null");
241
- _extendStatics(d2, b2);
242
- function __() {
243
- this.constructor = d2;
244
- }
245
- d2.prototype = b2 === null ? Object.create(b2) : (__.prototype = b2.prototype, new __());
246
- };
247
- }(), CustomError = function(_super) {
248
- __extends(CustomError2, _super);
249
- function CustomError2(message, options) {
250
- var _newTarget = this.constructor, _this = _super.call(this, message, options) || this;
251
- return Object.defineProperty(_this, "name", {
252
- value: _newTarget.name,
253
- enumerable: !1,
254
- configurable: !0
255
- }), fixProto(_this, _newTarget.prototype), fixStack(_this), _this;
256
- }
257
- return CustomError2;
258
- }(Error), s = { done: !1, hasNext: !1 };
219
+ function nonNullable(value, message) {
220
+ if (typeof value > "u" || value == null)
221
+ throw new Error(message ?? `Expected defined value, but received ${value}`);
222
+ return value;
223
+ }
224
+ function invariant$1(condition, message) {
225
+ if (!condition)
226
+ throw new Error(message ?? "Invariant failed");
227
+ }
228
+ function nonexhaustive(value) {
229
+ throw new Error(`NonExhaustive value: ${value}`);
230
+ }
231
+ var s = { done: !1, hasNext: !1 };
259
232
  function u$6(t2, n2, a2) {
260
233
  let o2 = (r2) => t2(r2, ...n2);
261
234
  return a2 === void 0 ? o2 : Object.assign(o2, { lazy: a2, lazyArgs: n2 });
@@ -366,41 +339,6 @@ function u(...n2) {
366
339
  return u$5(i, n2);
367
340
  }
368
341
  var i = (n2, { min: e2, max: r2 }) => e2 !== void 0 && n2 < e2 ? e2 : r2 !== void 0 && n2 > r2 ? r2 : n2;
369
- function isString$1(value) {
370
- return value != null && typeof value == "string";
371
- }
372
- class BaseError extends CustomError {
373
- constructor(message, options) {
374
- super(message, options), Object.defineProperty(this, "name", { value: "BaseError" });
375
- }
376
- }
377
- class NullableError extends BaseError {
378
- constructor(message, options) {
379
- super(message, options), Object.defineProperty(this, "name", { value: "NullableError" });
380
- }
381
- }
382
- class InvariantError extends BaseError {
383
- constructor(message, options) {
384
- super(message, options), Object.defineProperty(this, "name", { value: "InvariantError" });
385
- }
386
- }
387
- function nonNullable(value, message) {
388
- if (typeof value > "u" || value == null)
389
- throw new NullableError(message ?? `Expected defined value, but received ${value}`);
390
- return value;
391
- }
392
- function invariant$1(condition, message) {
393
- if (!condition)
394
- throw new InvariantError(message ?? "Invariant failed");
395
- }
396
- class NonExhaustiveError extends BaseError {
397
- constructor(message, options) {
398
- super(message, options), Object.defineProperty(this, "name", { value: "NonExhaustiveError" });
399
- }
400
- }
401
- function nonexhaustive(value) {
402
- throw new NonExhaustiveError(`NonExhaustive value: ${value}`);
403
- }
404
342
  const ElementShapes = [
405
343
  "rectangle",
406
344
  "person",
@@ -409,7 +347,15 @@ const ElementShapes = [
409
347
  "cylinder",
410
348
  "storage",
411
349
  "queue"
412
- ], isTagEqual = (operator) => "tag" in operator, isKindEqual = (operator) => "kind" in operator, isNotOperator = (operator) => "not" in operator, isAndOperator = (operator) => "and" in operator, isOrOperator = (operator) => "or" in operator;
350
+ ];
351
+ function isString$1(value) {
352
+ return value != null && typeof value == "string";
353
+ }
354
+ function isAncestor(...args) {
355
+ const ancestor = isString$1(args[0]) ? args[0] : args[0].id;
356
+ return (isString$1(args[1]) ? args[1] : args[1].id).startsWith(ancestor + ".");
357
+ }
358
+ const isTagEqual = (operator) => "tag" in operator, isKindEqual = (operator) => "kind" in operator, isNotOperator = (operator) => "not" in operator, isAndOperator = (operator) => "and" in operator, isOrOperator = (operator) => "or" in operator;
413
359
  function whereOperatorAsPredicate(operator) {
414
360
  switch (!0) {
415
361
  case isTagEqual(operator): {
@@ -466,10 +412,6 @@ function getBBoxCenter({
466
412
  y: y2 + height / 2
467
413
  };
468
414
  }
469
- function isAncestor(...args) {
470
- const ancestor = isString$1(args[0]) ? args[0] : args[0].id;
471
- return (isString$1(args[1]) ? args[1] : args[1].id).startsWith(ancestor + ".");
472
- }
473
415
  var getOwnPropertyNames = Object.getOwnPropertyNames, getOwnPropertySymbols = Object.getOwnPropertySymbols, hasOwnProperty = Object.prototype.hasOwnProperty;
474
416
  function combineComparators(comparatorA, comparatorB) {
475
417
  return function(a2, b2, state) {
@@ -3037,7 +2979,7 @@ class MotionValue {
3037
2979
  * @internal
3038
2980
  */
3039
2981
  constructor(init, options = {}) {
3040
- this.version = "11.3.29", this.canTrackVelocity = null, this.events = {}, this.updateAndNotify = (v, render = !0) => {
2982
+ this.version = "11.3.31", this.canTrackVelocity = null, this.events = {}, this.updateAndNotify = (v, render = !0) => {
3041
2983
  const currentTime = time.now();
3042
2984
  this.updatedAt !== currentTime && this.setPrevFrameValue(), this.prev = this.current, this.setCurrent(v), this.current !== this.prev && this.events.change && this.events.change.notify(this.current), render && this.events.renderRequest && this.events.renderRequest.notify(this.current);
3043
2985
  }, this.hasAnimated = !1, this.setCurrent(init), this.owner = options.owner;
@@ -3237,7 +3179,7 @@ function setTarget(visualElement, definition) {
3237
3179
  }
3238
3180
  }
3239
3181
  function getOptimisedAppearId(visualElement) {
3240
- return visualElement.getProps()[optimizedAppearDataAttribute];
3182
+ return visualElement.props[optimizedAppearDataAttribute];
3241
3183
  }
3242
3184
  class WillChangeMotionValue extends MotionValue {
3243
3185
  constructor() {
@@ -3609,7 +3551,7 @@ class VisualElement {
3609
3551
  this.current = instance, visualElementStore.set(instance, this), this.projection && !this.projection.instance && this.projection.mount(instance), this.parent && this.isVariantNode && !this.isControllingVariants && (this.removeFromVariantTree = this.parent.addVariantChild(this)), this.values.forEach((value, key) => this.bindToMotionValue(key, value)), hasReducedMotionListener.current || initPrefersReducedMotion(), this.shouldReduceMotion = this.reducedMotionConfig === "never" ? !1 : this.reducedMotionConfig === "always" ? !0 : prefersReducedMotion.current, this.parent && this.parent.children.add(this), this.update(this.props, this.presenceContext);
3610
3552
  }
3611
3553
  unmount() {
3612
- visualElementStore.delete(this.current), this.projection && this.projection.unmount(), cancelFrame(this.notifyUpdate), cancelFrame(this.render), this.valueSubscriptions.forEach((remove) => remove()), this.removeFromVariantTree && this.removeFromVariantTree(), this.parent && this.parent.children.delete(this);
3554
+ visualElementStore.delete(this.current), this.projection && this.projection.unmount(), cancelFrame(this.notifyUpdate), cancelFrame(this.render), this.valueSubscriptions.forEach((remove) => remove()), this.valueSubscriptions.clear(), this.removeFromVariantTree && this.removeFromVariantTree(), this.parent && this.parent.children.delete(this);
3613
3555
  for (const key in this.events)
3614
3556
  this.events[key].clear();
3615
3557
  for (const key in this.features) {
@@ -3619,11 +3561,13 @@ class VisualElement {
3619
3561
  this.current = null;
3620
3562
  }
3621
3563
  bindToMotionValue(key, value) {
3564
+ this.valueSubscriptions.has(key) && this.valueSubscriptions.get(key)();
3622
3565
  const valueIsTransform = transformProps.has(key), removeOnChange = value.on("change", (latestValue) => {
3623
3566
  this.latestValues[key] = latestValue, this.props.onUpdate && frame.preRender(this.notifyUpdate), valueIsTransform && this.projection && (this.projection.isTransformDirty = !0);
3624
3567
  }), removeOnRenderRequest = value.on("renderRequest", this.scheduleRender);
3625
- this.valueSubscriptions.set(key, () => {
3626
- removeOnChange(), removeOnRenderRequest(), value.owner && value.stop();
3568
+ let removeSyncCheck;
3569
+ window.MotionCheckAppearSync && (removeSyncCheck = window.MotionCheckAppearSync(this, key, value)), this.valueSubscriptions.set(key, () => {
3570
+ removeOnChange(), removeOnRenderRequest(), removeSyncCheck && removeSyncCheck(), value.owner && value.stop();
3627
3571
  });
3628
3572
  }
3629
3573
  sortNodePosition(other) {
@@ -5890,6 +5834,7 @@ function DiagramContextProvider({
5890
5834
  }
5891
5835
  );
5892
5836
  }
5837
+ DiagramContextProvider.displayName = "DiagramContextProvider";
5893
5838
  function useDiagramState(selector2, equalityFn) {
5894
5839
  const store = useContext$1(DiagramContext);
5895
5840
  if (store === null)
@@ -5908,6 +5853,7 @@ function EnsureMantine({ children }) {
5908
5853
  throw new Error("LikeC4Diagram must be a child of MantineProvider");
5909
5854
  return /* @__PURE__ */ jsx(Fragment, { children });
5910
5855
  }
5856
+ EnsureMantine.displayName = "EnsureMantine";
5911
5857
  function selectXYFlowSize(state) {
5912
5858
  return `${Math.round(state.width)}:${Math.round(state.height)}`;
5913
5859
  }
@@ -6869,7 +6815,7 @@ const isSame = (a2, b2) => Math.abs(a2 - b2) < 2.5, isSamePoint = (a2, b2) => {
6869
6815
  }
6870
6816
  ) });
6871
6817
  /**
6872
- * @license @tabler/icons-react v3.12.0 - MIT
6818
+ * @license @tabler/icons-react v3.14.0 - MIT
6873
6819
  *
6874
6820
  * This source code is licensed under the MIT license.
6875
6821
  * See the LICENSE file in the root directory of this source tree.
@@ -6896,7 +6842,7 @@ var defaultAttributes = {
6896
6842
  }
6897
6843
  };
6898
6844
  /**
6899
- * @license @tabler/icons-react v3.12.0 - MIT
6845
+ * @license @tabler/icons-react v3.14.0 - MIT
6900
6846
  *
6901
6847
  * This source code is licensed under the MIT license.
6902
6848
  * See the LICENSE file in the root directory of this source tree.
@@ -6929,210 +6875,210 @@ const createReactComponent = (type, iconName, iconNamePascal, iconNode) => {
6929
6875
  return Component2.displayName = `${iconNamePascal}`, Component2;
6930
6876
  };
6931
6877
  /**
6932
- * @license @tabler/icons-react v3.12.0 - MIT
6878
+ * @license @tabler/icons-react v3.14.0 - MIT
6933
6879
  *
6934
6880
  * This source code is licensed under the MIT license.
6935
6881
  * See the LICENSE file in the root directory of this source tree.
6936
6882
  */
6937
6883
  var IconAlertTriangle = createReactComponent("outline", "alert-triangle", "IconAlertTriangle", [["path", { d: "M12 9v4", key: "svg-0" }], ["path", { d: "M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0z", key: "svg-1" }], ["path", { d: "M12 16h.01", key: "svg-2" }]]);
6938
6884
  /**
6939
- * @license @tabler/icons-react v3.12.0 - MIT
6885
+ * @license @tabler/icons-react v3.14.0 - MIT
6940
6886
  *
6941
6887
  * This source code is licensed under the MIT license.
6942
6888
  * See the LICENSE file in the root directory of this source tree.
6943
6889
  */
6944
6890
  var IconArrowBigDownLines = createReactComponent("outline", "arrow-big-down-lines", "IconArrowBigDownLines", [["path", { d: "M15 12h3.586a1 1 0 0 1 .707 1.707l-6.586 6.586a1 1 0 0 1 -1.414 0l-6.586 -6.586a1 1 0 0 1 .707 -1.707h3.586v-3h6v3z", key: "svg-0" }], ["path", { d: "M15 3h-6", key: "svg-1" }], ["path", { d: "M15 6h-6", key: "svg-2" }]]);
6945
6891
  /**
6946
- * @license @tabler/icons-react v3.12.0 - MIT
6892
+ * @license @tabler/icons-react v3.14.0 - MIT
6947
6893
  *
6948
6894
  * This source code is licensed under the MIT license.
6949
6895
  * See the LICENSE file in the root directory of this source tree.
6950
6896
  */
6951
6897
  var IconArrowDownRight = createReactComponent("outline", "arrow-down-right", "IconArrowDownRight", [["path", { d: "M7 7l10 10", key: "svg-0" }], ["path", { d: "M17 8l0 9l-9 0", key: "svg-1" }]]);
6952
6898
  /**
6953
- * @license @tabler/icons-react v3.12.0 - MIT
6899
+ * @license @tabler/icons-react v3.14.0 - MIT
6954
6900
  *
6955
6901
  * This source code is licensed under the MIT license.
6956
6902
  * See the LICENSE file in the root directory of this source tree.
6957
6903
  */
6958
6904
  var IconArrowLeft = createReactComponent("outline", "arrow-left", "IconArrowLeft", [["path", { d: "M5 12l14 0", key: "svg-0" }], ["path", { d: "M5 12l6 6", key: "svg-1" }], ["path", { d: "M5 12l6 -6", key: "svg-2" }]]);
6959
6905
  /**
6960
- * @license @tabler/icons-react v3.12.0 - MIT
6906
+ * @license @tabler/icons-react v3.14.0 - MIT
6961
6907
  *
6962
6908
  * This source code is licensed under the MIT license.
6963
6909
  * See the LICENSE file in the root directory of this source tree.
6964
6910
  */
6965
6911
  var IconCheck = createReactComponent("outline", "check", "IconCheck", [["path", { d: "M5 12l5 5l10 -10", key: "svg-0" }]]);
6966
6912
  /**
6967
- * @license @tabler/icons-react v3.12.0 - MIT
6913
+ * @license @tabler/icons-react v3.14.0 - MIT
6968
6914
  *
6969
6915
  * This source code is licensed under the MIT license.
6970
6916
  * See the LICENSE file in the root directory of this source tree.
6971
6917
  */
6972
6918
  var IconChevronDown = createReactComponent("outline", "chevron-down", "IconChevronDown", [["path", { d: "M6 9l6 6l6 -6", key: "svg-0" }]]);
6973
6919
  /**
6974
- * @license @tabler/icons-react v3.12.0 - MIT
6920
+ * @license @tabler/icons-react v3.14.0 - MIT
6975
6921
  *
6976
6922
  * This source code is licensed under the MIT license.
6977
6923
  * See the LICENSE file in the root directory of this source tree.
6978
6924
  */
6979
6925
  var IconChevronLeft = createReactComponent("outline", "chevron-left", "IconChevronLeft", [["path", { d: "M15 6l-6 6l6 6", key: "svg-0" }]]);
6980
6926
  /**
6981
- * @license @tabler/icons-react v3.12.0 - MIT
6927
+ * @license @tabler/icons-react v3.14.0 - MIT
6982
6928
  *
6983
6929
  * This source code is licensed under the MIT license.
6984
6930
  * See the LICENSE file in the root directory of this source tree.
6985
6931
  */
6986
6932
  var IconChevronRight = createReactComponent("outline", "chevron-right", "IconChevronRight", [["path", { d: "M9 6l6 6l-6 6", key: "svg-0" }]]);
6987
6933
  /**
6988
- * @license @tabler/icons-react v3.12.0 - MIT
6934
+ * @license @tabler/icons-react v3.14.0 - MIT
6989
6935
  *
6990
6936
  * This source code is licensed under the MIT license.
6991
6937
  * See the LICENSE file in the root directory of this source tree.
6992
6938
  */
6993
6939
  var IconCopy = createReactComponent("outline", "copy", "IconCopy", [["path", { d: "M7 7m0 2.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667z", key: "svg-0" }], ["path", { d: "M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1", key: "svg-1" }]]);
6994
6940
  /**
6995
- * @license @tabler/icons-react v3.12.0 - MIT
6941
+ * @license @tabler/icons-react v3.14.0 - MIT
6996
6942
  *
6997
6943
  * This source code is licensed under the MIT license.
6998
6944
  * See the LICENSE file in the root directory of this source tree.
6999
6945
  */
7000
6946
  var IconExternalLink = createReactComponent("outline", "external-link", "IconExternalLink", [["path", { d: "M12 6h-6a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-6", key: "svg-0" }], ["path", { d: "M11 13l9 -9", key: "svg-1" }], ["path", { d: "M15 4h5v5", key: "svg-2" }]]);
7001
6947
  /**
7002
- * @license @tabler/icons-react v3.12.0 - MIT
6948
+ * @license @tabler/icons-react v3.14.0 - MIT
7003
6949
  *
7004
6950
  * This source code is licensed under the MIT license.
7005
6951
  * See the LICENSE file in the root directory of this source tree.
7006
6952
  */
7007
6953
  var IconFileCode = createReactComponent("outline", "file-code", "IconFileCode", [["path", { d: "M14 3v4a1 1 0 0 0 1 1h4", key: "svg-0" }], ["path", { d: "M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z", key: "svg-1" }], ["path", { d: "M10 13l-1 2l1 2", key: "svg-2" }], ["path", { d: "M14 13l1 2l-1 2", key: "svg-3" }]]);
7008
6954
  /**
7009
- * @license @tabler/icons-react v3.12.0 - MIT
6955
+ * @license @tabler/icons-react v3.14.0 - MIT
7010
6956
  *
7011
6957
  * This source code is licensed under the MIT license.
7012
6958
  * See the LICENSE file in the root directory of this source tree.
7013
6959
  */
7014
6960
  var IconFileSymlink = createReactComponent("outline", "file-symlink", "IconFileSymlink", [["path", { d: "M4 21v-4a3 3 0 0 1 3 -3h5", key: "svg-0" }], ["path", { d: "M9 17l3 -3l-3 -3", key: "svg-1" }], ["path", { d: "M14 3v4a1 1 0 0 0 1 1h4", key: "svg-2" }], ["path", { d: "M5 11v-6a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2h-9.5", key: "svg-3" }]]);
7015
6961
  /**
7016
- * @license @tabler/icons-react v3.12.0 - MIT
6962
+ * @license @tabler/icons-react v3.14.0 - MIT
7017
6963
  *
7018
6964
  * This source code is licensed under the MIT license.
7019
6965
  * See the LICENSE file in the root directory of this source tree.
7020
6966
  */
7021
6967
  var IconFocusCentered = createReactComponent("outline", "focus-centered", "IconFocusCentered", [["path", { d: "M12 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0", key: "svg-0" }], ["path", { d: "M4 8v-2a2 2 0 0 1 2 -2h2", key: "svg-1" }], ["path", { d: "M4 16v2a2 2 0 0 0 2 2h2", key: "svg-2" }], ["path", { d: "M16 4h2a2 2 0 0 1 2 2v2", key: "svg-3" }], ["path", { d: "M16 20h2a2 2 0 0 0 2 -2v-2", key: "svg-4" }]]);
7022
6968
  /**
7023
- * @license @tabler/icons-react v3.12.0 - MIT
6969
+ * @license @tabler/icons-react v3.14.0 - MIT
7024
6970
  *
7025
6971
  * This source code is licensed under the MIT license.
7026
6972
  * See the LICENSE file in the root directory of this source tree.
7027
6973
  */
7028
6974
  var IconFolderOpen = createReactComponent("outline", "folder-open", "IconFolderOpen", [["path", { d: "M5 19l2.757 -7.351a1 1 0 0 1 .936 -.649h12.307a1 1 0 0 1 .986 1.164l-.996 5.211a2 2 0 0 1 -1.964 1.625h-14.026a2 2 0 0 1 -2 -2v-11a2 2 0 0 1 2 -2h4l3 3h7a2 2 0 0 1 2 2v2", key: "svg-0" }]]);
7029
6975
  /**
7030
- * @license @tabler/icons-react v3.12.0 - MIT
6976
+ * @license @tabler/icons-react v3.14.0 - MIT
7031
6977
  *
7032
6978
  * This source code is licensed under the MIT license.
7033
6979
  * See the LICENSE file in the root directory of this source tree.
7034
6980
  */
7035
6981
  var IconHelpCircle = createReactComponent("outline", "help-circle", "IconHelpCircle", [["path", { d: "M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0", key: "svg-0" }], ["path", { d: "M12 16v.01", key: "svg-1" }], ["path", { d: "M12 13a2 2 0 0 0 .914 -3.782a1.98 1.98 0 0 0 -2.414 .483", key: "svg-2" }]]);
7036
6982
  /**
7037
- * @license @tabler/icons-react v3.12.0 - MIT
6983
+ * @license @tabler/icons-react v3.14.0 - MIT
7038
6984
  *
7039
6985
  * This source code is licensed under the MIT license.
7040
6986
  * See the LICENSE file in the root directory of this source tree.
7041
6987
  */
7042
6988
  var IconLayoutDashboard = createReactComponent("outline", "layout-dashboard", "IconLayoutDashboard", [["path", { d: "M5 4h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1", key: "svg-0" }], ["path", { d: "M5 16h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1", key: "svg-1" }], ["path", { d: "M15 12h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1", key: "svg-2" }], ["path", { d: "M15 4h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1", key: "svg-3" }]]);
7043
6989
  /**
7044
- * @license @tabler/icons-react v3.12.0 - MIT
6990
+ * @license @tabler/icons-react v3.14.0 - MIT
7045
6991
  *
7046
6992
  * This source code is licensed under the MIT license.
7047
6993
  * See the LICENSE file in the root directory of this source tree.
7048
6994
  */
7049
6995
  var IconLink = createReactComponent("outline", "link", "IconLink", [["path", { d: "M9 15l6 -6", key: "svg-0" }], ["path", { d: "M11 6l.463 -.536a5 5 0 0 1 7.071 7.072l-.534 .464", key: "svg-1" }], ["path", { d: "M13 18l-.397 .534a5.068 5.068 0 0 1 -7.127 0a4.972 4.972 0 0 1 0 -7.071l.524 -.463", key: "svg-2" }]]);
7050
6996
  /**
7051
- * @license @tabler/icons-react v3.12.0 - MIT
6997
+ * @license @tabler/icons-react v3.14.0 - MIT
7052
6998
  *
7053
6999
  * This source code is licensed under the MIT license.
7054
7000
  * See the LICENSE file in the root directory of this source tree.
7055
7001
  */
7056
7002
  var IconLoader = createReactComponent("outline", "loader", "IconLoader", [["path", { d: "M12 6l0 -3", key: "svg-0" }], ["path", { d: "M16.25 7.75l2.15 -2.15", key: "svg-1" }], ["path", { d: "M18 12l3 0", key: "svg-2" }], ["path", { d: "M16.25 16.25l2.15 2.15", key: "svg-3" }], ["path", { d: "M12 18l0 3", key: "svg-4" }], ["path", { d: "M7.75 16.25l-2.15 2.15", key: "svg-5" }], ["path", { d: "M6 12l-3 0", key: "svg-6" }], ["path", { d: "M7.75 7.75l-2.15 -2.15", key: "svg-7" }]]);
7057
7003
  /**
7058
- * @license @tabler/icons-react v3.12.0 - MIT
7004
+ * @license @tabler/icons-react v3.14.0 - MIT
7059
7005
  *
7060
7006
  * This source code is licensed under the MIT license.
7061
7007
  * See the LICENSE file in the root directory of this source tree.
7062
7008
  */
7063
7009
  var IconMenu2 = createReactComponent("outline", "menu-2", "IconMenu2", [["path", { d: "M4 6l16 0", key: "svg-0" }], ["path", { d: "M4 12l16 0", key: "svg-1" }], ["path", { d: "M4 18l16 0", key: "svg-2" }]]);
7064
7010
  /**
7065
- * @license @tabler/icons-react v3.12.0 - MIT
7011
+ * @license @tabler/icons-react v3.14.0 - MIT
7066
7012
  *
7067
7013
  * This source code is licensed under the MIT license.
7068
7014
  * See the LICENSE file in the root directory of this source tree.
7069
7015
  */
7070
7016
  var IconMenu = createReactComponent("outline", "menu", "IconMenu", [["path", { d: "M4 8l16 0", key: "svg-0" }], ["path", { d: "M4 16l16 0", key: "svg-1" }]]);
7071
7017
  /**
7072
- * @license @tabler/icons-react v3.12.0 - MIT
7018
+ * @license @tabler/icons-react v3.14.0 - MIT
7073
7019
  *
7074
7020
  * This source code is licensed under the MIT license.
7075
7021
  * See the LICENSE file in the root directory of this source tree.
7076
7022
  */
7077
7023
  var IconMoonStars = createReactComponent("outline", "moon-stars", "IconMoonStars", [["path", { d: "M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z", key: "svg-0" }], ["path", { d: "M17 4a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2", key: "svg-1" }], ["path", { d: "M19 11h2m-1 -1v2", key: "svg-2" }]]);
7078
7024
  /**
7079
- * @license @tabler/icons-react v3.12.0 - MIT
7025
+ * @license @tabler/icons-react v3.14.0 - MIT
7080
7026
  *
7081
7027
  * This source code is licensed under the MIT license.
7082
7028
  * See the LICENSE file in the root directory of this source tree.
7083
7029
  */
7084
7030
  var IconShare = createReactComponent("outline", "share", "IconShare", [["path", { d: "M6 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0", key: "svg-0" }], ["path", { d: "M18 6m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0", key: "svg-1" }], ["path", { d: "M18 18m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0", key: "svg-2" }], ["path", { d: "M8.7 10.7l6.6 -3.4", key: "svg-3" }], ["path", { d: "M8.7 13.3l6.6 3.4", key: "svg-4" }]]);
7085
7031
  /**
7086
- * @license @tabler/icons-react v3.12.0 - MIT
7032
+ * @license @tabler/icons-react v3.14.0 - MIT
7087
7033
  *
7088
7034
  * This source code is licensed under the MIT license.
7089
7035
  * See the LICENSE file in the root directory of this source tree.
7090
7036
  */
7091
7037
  var IconSun = createReactComponent("outline", "sun", "IconSun", [["path", { d: "M12 12m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0", key: "svg-0" }], ["path", { d: "M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7", key: "svg-1" }]]);
7092
7038
  /**
7093
- * @license @tabler/icons-react v3.12.0 - MIT
7039
+ * @license @tabler/icons-react v3.14.0 - MIT
7094
7040
  *
7095
7041
  * This source code is licensed under the MIT license.
7096
7042
  * See the LICENSE file in the root directory of this source tree.
7097
7043
  */
7098
7044
  var IconZoomScan = createReactComponent("outline", "zoom-scan", "IconZoomScan", [["path", { d: "M4 8v-2a2 2 0 0 1 2 -2h2", key: "svg-0" }], ["path", { d: "M4 16v2a2 2 0 0 0 2 2h2", key: "svg-1" }], ["path", { d: "M16 4h2a2 2 0 0 1 2 2v2", key: "svg-2" }], ["path", { d: "M16 20h2a2 2 0 0 0 2 -2v-2", key: "svg-3" }], ["path", { d: "M8 11a3 3 0 1 0 6 0a3 3 0 0 0 -6 0", key: "svg-4" }], ["path", { d: "M16 16l-2.5 -2.5", key: "svg-5" }]]);
7099
7045
  /**
7100
- * @license @tabler/icons-react v3.12.0 - MIT
7046
+ * @license @tabler/icons-react v3.14.0 - MIT
7101
7047
  *
7102
7048
  * This source code is licensed under the MIT license.
7103
7049
  * See the LICENSE file in the root directory of this source tree.
7104
7050
  */
7105
7051
  var IconFileFilled = createReactComponent("filled", "file-filled", "IconFileFilled", [["path", { d: "M12 2l.117 .007a1 1 0 0 1 .876 .876l.007 .117v4l.005 .15a2 2 0 0 0 1.838 1.844l.157 .006h4l.117 .007a1 1 0 0 1 .876 .876l.007 .117v9a3 3 0 0 1 -2.824 2.995l-.176 .005h-10a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-14a3 3 0 0 1 2.824 -2.995l.176 -.005h5z", key: "svg-0" }], ["path", { d: "M19 7h-4l-.001 -4.001z", key: "svg-1" }]]);
7106
7052
  /**
7107
- * @license @tabler/icons-react v3.12.0 - MIT
7053
+ * @license @tabler/icons-react v3.14.0 - MIT
7108
7054
  *
7109
7055
  * This source code is licensed under the MIT license.
7110
7056
  * See the LICENSE file in the root directory of this source tree.
7111
7057
  */
7112
7058
  var IconFolderFilled = createReactComponent("filled", "folder-filled", "IconFolderFilled", [["path", { d: "M9 3a1 1 0 0 1 .608 .206l.1 .087l2.706 2.707h6.586a3 3 0 0 1 2.995 2.824l.005 .176v8a3 3 0 0 1 -2.824 2.995l-.176 .005h-14a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-11a3 3 0 0 1 2.824 -2.995l.176 -.005h4z", key: "svg-0" }]]);
7113
7059
  /**
7114
- * @license @tabler/icons-react v3.12.0 - MIT
7060
+ * @license @tabler/icons-react v3.14.0 - MIT
7115
7061
  *
7116
7062
  * This source code is licensed under the MIT license.
7117
7063
  * See the LICENSE file in the root directory of this source tree.
7118
7064
  */
7119
7065
  var IconPlayerPlayFilled = createReactComponent("filled", "player-play-filled", "IconPlayerPlayFilled", [["path", { d: "M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z", key: "svg-0" }]]);
7120
7066
  /**
7121
- * @license @tabler/icons-react v3.12.0 - MIT
7067
+ * @license @tabler/icons-react v3.14.0 - MIT
7122
7068
  *
7123
7069
  * This source code is licensed under the MIT license.
7124
7070
  * See the LICENSE file in the root directory of this source tree.
7125
7071
  */
7126
7072
  var IconPlayerSkipBackFilled = createReactComponent("filled", "player-skip-back-filled", "IconPlayerSkipBackFilled", [["path", { d: "M19.496 4.136l-12 7a1 1 0 0 0 0 1.728l12 7a1 1 0 0 0 1.504 -.864v-14a1 1 0 0 0 -1.504 -.864z", key: "svg-0" }], ["path", { d: "M4 4a1 1 0 0 1 .993 .883l.007 .117v14a1 1 0 0 1 -1.993 .117l-.007 -.117v-14a1 1 0 0 1 1 -1z", key: "svg-1" }]]);
7127
7073
  /**
7128
- * @license @tabler/icons-react v3.12.0 - MIT
7074
+ * @license @tabler/icons-react v3.14.0 - MIT
7129
7075
  *
7130
7076
  * This source code is licensed under the MIT license.
7131
7077
  * See the LICENSE file in the root directory of this source tree.
7132
7078
  */
7133
7079
  var IconPlayerSkipForwardFilled = createReactComponent("filled", "player-skip-forward-filled", "IconPlayerSkipForwardFilled", [["path", { d: "M3 5v14a1 1 0 0 0 1.504 .864l12 -7a1 1 0 0 0 0 -1.728l-12 -7a1 1 0 0 0 -1.504 .864z", key: "svg-0" }], ["path", { d: "M20 4a1 1 0 0 1 .993 .883l.007 .117v14a1 1 0 0 1 -1.993 .117l-.007 -.117v-14a1 1 0 0 1 1 -1z", key: "svg-1" }]]);
7134
7080
  /**
7135
- * @license @tabler/icons-react v3.12.0 - MIT
7081
+ * @license @tabler/icons-react v3.14.0 - MIT
7136
7082
  *
7137
7083
  * This source code is licensed under the MIT license.
7138
7084
  * See the LICENSE file in the root directory of this source tree.
@@ -9241,6 +9187,7 @@ function XYFlow({
9241
9187
  }
9242
9188
  );
9243
9189
  }
9190
+ XYFlow.displayName = "XYFlow";
9244
9191
  var container$2 = "_19ci0hj0", card$1 = "_19ci0hj1", title = "_19ci0hj2", description = "_19ci0hj3";
9245
9192
  const selector$1 = (s2) => ({
9246
9193
  id: s2.view.id,
@@ -9610,7 +9557,7 @@ function NotationPanel() {
9610
9557
  defaultValue: !0
9611
9558
  }), hasNotations = notations.length > 0, portalProps = target ? { portalProps: { target } } : { withinPortal: !1 };
9612
9559
  return /* @__PURE__ */ jsxs(AnimatePresence, { children: [
9613
- !hasNotations && /* @__PURE__ */ jsx(
9560
+ !hasNotations && isVisible && /* @__PURE__ */ jsx(
9614
9561
  m.div,
9615
9562
  {
9616
9563
  initial: { opacity: 0.75, translateX: "50%" },
@@ -9620,7 +9567,7 @@ function NotationPanel() {
9620
9567
  opacity: 0.6
9621
9568
  },
9622
9569
  className: clsx("react-flow__panel", container),
9623
- children: /* @__PURE__ */ jsx(Tooltip$2, { label: "Diagram has no notations", color: "orange", ...portalProps, children: /* @__PURE__ */ jsx(
9570
+ children: /* @__PURE__ */ jsx(Tooltip$2, { label: "View has no notations", color: "orange", ...portalProps, children: /* @__PURE__ */ jsx(
9624
9571
  ThemeIcon,
9625
9572
  {
9626
9573
  size: "xl",
@@ -10469,6 +10416,7 @@ function LikeC4Diagram({
10469
10416
  }
10470
10417
  ) }) });
10471
10418
  }
10419
+ LikeC4Diagram.displayName = "LikeC4Diagram";
10472
10420
  const LikeC4DiagramInnerMemo = memo$1(function({
10473
10421
  background,
10474
10422
  controls,
@@ -10513,6 +10461,7 @@ const LikeC4DiagramInnerMemo = memo$1(function({
10513
10461
  ] })
10514
10462
  ] });
10515
10463
  }, shallowEqual);
10464
+ LikeC4DiagramInnerMemo.displayName = "LikeC4DiagramInnerMemo";
10516
10465
  function StaticLikeC4Diagram({
10517
10466
  view,
10518
10467
  fitView = !0,
@@ -11653,6 +11602,7 @@ function ViewReact() {
11653
11602
  });
11654
11603
  if (!view)
11655
11604
  throw notFound();
11605
+ const hasNotations = (view.notation?.elements ?? []).length > 0;
11656
11606
  return /* @__PURE__ */ jsx(
11657
11607
  LikeC4Diagram,
11658
11608
  {
@@ -11667,6 +11617,7 @@ function ViewReact() {
11667
11617
  showNavigationButtons: !0,
11668
11618
  enableDynamicViewWalkthrough: !0,
11669
11619
  experimentalEdgeEditing: !1,
11620
+ showNotations: isDevelopment || hasNotations,
11670
11621
  enableFocusMode: !0,
11671
11622
  nodesDraggable: !1,
11672
11623
  nodesSelectable: !1,
@@ -12592,7 +12543,7 @@ function validatePanelGroupLayout({
12592
12543
  const nextLayout = [...prevLayout], nextLayoutTotalSize = nextLayout.reduce((accumulated, current) => accumulated + current, 0);
12593
12544
  if (nextLayout.length !== panelConstraints.length)
12594
12545
  throw Error(`Invalid ${panelConstraints.length} panel layout: ${nextLayout.map((size) => `${size}%`).join(", ")}`);
12595
- if (!fuzzyNumbersEqual(nextLayoutTotalSize, 100))
12546
+ if (!fuzzyNumbersEqual(nextLayoutTotalSize, 100) && nextLayout.length > 0)
12596
12547
  for (let index2 = 0; index2 < panelConstraints.length; index2++) {
12597
12548
  const unsafeSize = nextLayout[index2];
12598
12549
  assert(unsafeSize != null, `No layout data found for index ${index2}`);
@@ -13237,6 +13188,7 @@ function ViewEditor() {
13237
13188
  });
13238
13189
  if (!view)
13239
13190
  throw notFound();
13191
+ const hasNotations = (view.notation?.elements ?? []).length > 0;
13240
13192
  return /* @__PURE__ */ jsx(
13241
13193
  LikeC4Diagram,
13242
13194
  {
@@ -13250,6 +13202,7 @@ function ViewEditor() {
13250
13202
  showDiagramTitle: !0,
13251
13203
  showElementLinks: !0,
13252
13204
  showNavigationButtons: !0,
13205
+ showNotations: isDevelopment || hasNotations,
13253
13206
  enableDynamicViewWalkthrough: !0,
13254
13207
  enableFocusMode: !1,
13255
13208
  onNavigateTo,