likec4 0.41.0 → 0.42.1

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 (144) hide show
  1. package/README.md +108 -0
  2. package/dist/__app__/src/App.jsx +1 -1
  3. package/dist/__app__/src/components/view-page/ExportDiagram.jsx +72 -0
  4. package/dist/__app__/src/components/view-page/ViewActionsToolbar.jsx +38 -12
  5. package/dist/cli/index.js +53 -53
  6. package/package.json +6 -6
  7. package/dist/@likec4/diagrams/cjs/components/EmbeddedDiagram.js +0 -83
  8. package/dist/@likec4/diagrams/cjs/components/FullscreenDiagramBrowser.js +0 -50
  9. package/dist/@likec4/diagrams/cjs/components/index.js +0 -49
  10. package/dist/@likec4/diagrams/cjs/components/primitives/fullscreen/CloseButton.js +0 -44
  11. package/dist/@likec4/diagrams/cjs/components/primitives/fullscreen/FullscreenDiagram.js +0 -110
  12. package/dist/@likec4/diagrams/cjs/components/primitives/fullscreen/FullscreenDiagramTitle.js +0 -39
  13. package/dist/@likec4/diagrams/cjs/components/primitives/index.js +0 -38
  14. package/dist/@likec4/diagrams/cjs/components/primitives/responsive/ResponsiveDiagram.js +0 -56
  15. package/dist/@likec4/diagrams/cjs/components/types.js +0 -1
  16. package/dist/@likec4/diagrams/cjs/diagram/Diagram.js +0 -326
  17. package/dist/@likec4/diagrams/cjs/diagram/Edges.js +0 -121
  18. package/dist/@likec4/diagrams/cjs/diagram/Nodes.js +0 -204
  19. package/dist/@likec4/diagrams/cjs/diagram/icons/BrainIcon.js +0 -25
  20. package/dist/@likec4/diagrams/cjs/diagram/icons/ExternalLink.js +0 -82
  21. package/dist/@likec4/diagrams/cjs/diagram/icons/index.js +0 -27
  22. package/dist/@likec4/diagrams/cjs/diagram/index.js +0 -27
  23. package/dist/@likec4/diagrams/cjs/diagram/shapes/Browser.js +0 -67
  24. package/dist/@likec4/diagrams/cjs/diagram/shapes/Compound.js +0 -55
  25. package/dist/@likec4/diagrams/cjs/diagram/shapes/Cylinder.js +0 -71
  26. package/dist/@likec4/diagrams/cjs/diagram/shapes/Edge.js +0 -62
  27. package/dist/@likec4/diagrams/cjs/diagram/shapes/Mobile.js +0 -45
  28. package/dist/@likec4/diagrams/cjs/diagram/shapes/NodeIcon.js +0 -38
  29. package/dist/@likec4/diagrams/cjs/diagram/shapes/NodeLabel.js +0 -62
  30. package/dist/@likec4/diagrams/cjs/diagram/shapes/Person.js +0 -48
  31. package/dist/@likec4/diagrams/cjs/diagram/shapes/Queue.js +0 -72
  32. package/dist/@likec4/diagrams/cjs/diagram/shapes/Rectangle.js +0 -30
  33. package/dist/@likec4/diagrams/cjs/diagram/shapes/index.js +0 -54
  34. package/dist/@likec4/diagrams/cjs/diagram/shapes/types.js +0 -1
  35. package/dist/@likec4/diagrams/cjs/diagram/shapes/utils.js +0 -19
  36. package/dist/@likec4/diagrams/cjs/diagram/springs.js +0 -61
  37. package/dist/@likec4/diagrams/cjs/diagram/state/atoms.js +0 -63
  38. package/dist/@likec4/diagrams/cjs/diagram/state/gestures.js +0 -26
  39. package/dist/@likec4/diagrams/cjs/diagram/state/hooks.js +0 -36
  40. package/dist/@likec4/diagrams/cjs/diagram/state/index.js +0 -38
  41. package/dist/@likec4/diagrams/cjs/diagram/state/provider.js +0 -18
  42. package/dist/@likec4/diagrams/cjs/diagram/types.js +0 -1
  43. package/dist/@likec4/diagrams/cjs/hooks/index.js +0 -49
  44. package/dist/@likec4/diagrams/cjs/hooks/useDarkMode.js +0 -11
  45. package/dist/@likec4/diagrams/cjs/hooks/useDiagramApi.js +0 -27
  46. package/dist/@likec4/diagrams/cjs/hooks/useImageLoader.js +0 -68
  47. package/dist/@likec4/diagrams/cjs/hooks/useViewIdFromHash.js +0 -93
  48. package/dist/@likec4/diagrams/cjs/index.js +0 -51
  49. package/dist/@likec4/diagrams/cjs/konva-html.js +0 -93
  50. package/dist/@likec4/diagrams/cjs/konva-portal.js +0 -50
  51. package/dist/@likec4/diagrams/cjs/konva.js +0 -102
  52. package/dist/@likec4/diagrams/cjs/likec4.js +0 -91
  53. package/dist/@likec4/diagrams/components/EmbeddedDiagram.mjs +0 -77
  54. package/dist/@likec4/diagrams/components/FullscreenDiagramBrowser.mjs +0 -52
  55. package/dist/@likec4/diagrams/components/index.mjs +0 -4
  56. package/dist/@likec4/diagrams/components/primitives/fullscreen/CloseButton.mjs +0 -43
  57. package/dist/@likec4/diagrams/components/primitives/fullscreen/FullscreenDiagram.mjs +0 -116
  58. package/dist/@likec4/diagrams/components/primitives/fullscreen/FullscreenDiagramTitle.mjs +0 -32
  59. package/dist/@likec4/diagrams/components/primitives/index.mjs +0 -3
  60. package/dist/@likec4/diagrams/components/primitives/responsive/ResponsiveDiagram.mjs +0 -42
  61. package/dist/@likec4/diagrams/components/types.mjs +0 -0
  62. package/dist/@likec4/diagrams/diagram/Diagram.mjs +0 -307
  63. package/dist/@likec4/diagrams/diagram/Edges.mjs +0 -117
  64. package/dist/@likec4/diagrams/diagram/Nodes.mjs +0 -178
  65. package/dist/@likec4/diagrams/diagram/icons/BrainIcon.mjs +0 -20
  66. package/dist/@likec4/diagrams/diagram/icons/ExternalLink.mjs +0 -90
  67. package/dist/@likec4/diagrams/diagram/icons/index.mjs +0 -2
  68. package/dist/@likec4/diagrams/diagram/index.mjs +0 -2
  69. package/dist/@likec4/diagrams/diagram/shapes/Browser.mjs +0 -49
  70. package/dist/@likec4/diagrams/diagram/shapes/Compound.mjs +0 -48
  71. package/dist/@likec4/diagrams/diagram/shapes/Cylinder.mjs +0 -57
  72. package/dist/@likec4/diagrams/diagram/shapes/Edge.mjs +0 -63
  73. package/dist/@likec4/diagrams/diagram/shapes/Mobile.mjs +0 -33
  74. package/dist/@likec4/diagrams/diagram/shapes/NodeIcon.mjs +0 -28
  75. package/dist/@likec4/diagrams/diagram/shapes/NodeLabel.mjs +0 -59
  76. package/dist/@likec4/diagrams/diagram/shapes/Person.mjs +0 -42
  77. package/dist/@likec4/diagrams/diagram/shapes/Queue.mjs +0 -58
  78. package/dist/@likec4/diagrams/diagram/shapes/Rectangle.mjs +0 -20
  79. package/dist/@likec4/diagrams/diagram/shapes/index.mjs +0 -7
  80. package/dist/@likec4/diagrams/diagram/shapes/types.mjs +0 -0
  81. package/dist/@likec4/diagrams/diagram/shapes/utils.mjs +0 -12
  82. package/dist/@likec4/diagrams/diagram/springs.mjs +0 -57
  83. package/dist/@likec4/diagrams/diagram/state/atoms.mjs +0 -71
  84. package/dist/@likec4/diagrams/diagram/state/gestures.mjs +0 -19
  85. package/dist/@likec4/diagrams/diagram/state/hooks.mjs +0 -28
  86. package/dist/@likec4/diagrams/diagram/state/index.mjs +0 -3
  87. package/dist/@likec4/diagrams/diagram/state/provider.mjs +0 -7
  88. package/dist/@likec4/diagrams/diagram/types.mjs +0 -0
  89. package/dist/@likec4/diagrams/esm/components/EmbeddedDiagram.js +0 -77
  90. package/dist/@likec4/diagrams/esm/components/FullscreenDiagramBrowser.js +0 -52
  91. package/dist/@likec4/diagrams/esm/components/index.js +0 -4
  92. package/dist/@likec4/diagrams/esm/components/primitives/fullscreen/CloseButton.js +0 -43
  93. package/dist/@likec4/diagrams/esm/components/primitives/fullscreen/FullscreenDiagram.js +0 -116
  94. package/dist/@likec4/diagrams/esm/components/primitives/fullscreen/FullscreenDiagramTitle.js +0 -32
  95. package/dist/@likec4/diagrams/esm/components/primitives/index.js +0 -3
  96. package/dist/@likec4/diagrams/esm/components/primitives/responsive/ResponsiveDiagram.js +0 -42
  97. package/dist/@likec4/diagrams/esm/components/types.js +0 -0
  98. package/dist/@likec4/diagrams/esm/diagram/Diagram.js +0 -307
  99. package/dist/@likec4/diagrams/esm/diagram/Edges.js +0 -117
  100. package/dist/@likec4/diagrams/esm/diagram/Nodes.js +0 -178
  101. package/dist/@likec4/diagrams/esm/diagram/icons/BrainIcon.js +0 -20
  102. package/dist/@likec4/diagrams/esm/diagram/icons/ExternalLink.js +0 -90
  103. package/dist/@likec4/diagrams/esm/diagram/icons/index.js +0 -2
  104. package/dist/@likec4/diagrams/esm/diagram/index.js +0 -2
  105. package/dist/@likec4/diagrams/esm/diagram/shapes/Browser.js +0 -49
  106. package/dist/@likec4/diagrams/esm/diagram/shapes/Compound.js +0 -48
  107. package/dist/@likec4/diagrams/esm/diagram/shapes/Cylinder.js +0 -57
  108. package/dist/@likec4/diagrams/esm/diagram/shapes/Edge.js +0 -63
  109. package/dist/@likec4/diagrams/esm/diagram/shapes/Mobile.js +0 -33
  110. package/dist/@likec4/diagrams/esm/diagram/shapes/NodeIcon.js +0 -28
  111. package/dist/@likec4/diagrams/esm/diagram/shapes/NodeLabel.js +0 -59
  112. package/dist/@likec4/diagrams/esm/diagram/shapes/Person.js +0 -42
  113. package/dist/@likec4/diagrams/esm/diagram/shapes/Queue.js +0 -58
  114. package/dist/@likec4/diagrams/esm/diagram/shapes/Rectangle.js +0 -20
  115. package/dist/@likec4/diagrams/esm/diagram/shapes/index.js +0 -7
  116. package/dist/@likec4/diagrams/esm/diagram/shapes/types.js +0 -0
  117. package/dist/@likec4/diagrams/esm/diagram/shapes/utils.js +0 -12
  118. package/dist/@likec4/diagrams/esm/diagram/springs.js +0 -57
  119. package/dist/@likec4/diagrams/esm/diagram/state/atoms.js +0 -71
  120. package/dist/@likec4/diagrams/esm/diagram/state/gestures.js +0 -19
  121. package/dist/@likec4/diagrams/esm/diagram/state/hooks.js +0 -28
  122. package/dist/@likec4/diagrams/esm/diagram/state/index.js +0 -3
  123. package/dist/@likec4/diagrams/esm/diagram/state/provider.js +0 -7
  124. package/dist/@likec4/diagrams/esm/diagram/types.js +0 -0
  125. package/dist/@likec4/diagrams/esm/hooks/index.js +0 -4
  126. package/dist/@likec4/diagrams/esm/hooks/useDarkMode.js +0 -5
  127. package/dist/@likec4/diagrams/esm/hooks/useDiagramApi.js +0 -27
  128. package/dist/@likec4/diagrams/esm/hooks/useImageLoader.js +0 -64
  129. package/dist/@likec4/diagrams/esm/hooks/useViewIdFromHash.js +0 -87
  130. package/dist/@likec4/diagrams/esm/index.js +0 -4
  131. package/dist/@likec4/diagrams/esm/konva-html.js +0 -74
  132. package/dist/@likec4/diagrams/esm/konva-portal.js +0 -34
  133. package/dist/@likec4/diagrams/esm/konva.js +0 -22
  134. package/dist/@likec4/diagrams/esm/likec4.js +0 -54
  135. package/dist/@likec4/diagrams/hooks/index.mjs +0 -4
  136. package/dist/@likec4/diagrams/hooks/useDarkMode.mjs +0 -5
  137. package/dist/@likec4/diagrams/hooks/useDiagramApi.mjs +0 -27
  138. package/dist/@likec4/diagrams/hooks/useImageLoader.mjs +0 -64
  139. package/dist/@likec4/diagrams/hooks/useViewIdFromHash.mjs +0 -87
  140. package/dist/@likec4/diagrams/index.mjs +0 -4
  141. package/dist/@likec4/diagrams/konva-html.mjs +0 -74
  142. package/dist/@likec4/diagrams/konva-portal.mjs +0 -34
  143. package/dist/@likec4/diagrams/konva.mjs +0 -33
  144. package/dist/@likec4/diagrams/likec4.mjs +0 -54
@@ -1,54 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "CompoundShape", {
7
- enumerable: true,
8
- get: function () {
9
- return _Compound.CompoundShape;
10
- }
11
- });
12
- Object.defineProperty(exports, "CylinderShape", {
13
- enumerable: true,
14
- get: function () {
15
- return _Cylinder.CylinderShape;
16
- }
17
- });
18
- Object.defineProperty(exports, "EdgeShape", {
19
- enumerable: true,
20
- get: function () {
21
- return _Edge.EdgeShape;
22
- }
23
- });
24
- Object.defineProperty(exports, "MobileShape", {
25
- enumerable: true,
26
- get: function () {
27
- return _Mobile.MobileShape;
28
- }
29
- });
30
- Object.defineProperty(exports, "PersonShape", {
31
- enumerable: true,
32
- get: function () {
33
- return _Person.PersonShape;
34
- }
35
- });
36
- Object.defineProperty(exports, "QueueShape", {
37
- enumerable: true,
38
- get: function () {
39
- return _Queue.QueueShape;
40
- }
41
- });
42
- Object.defineProperty(exports, "RectangleShape", {
43
- enumerable: true,
44
- get: function () {
45
- return _Rectangle.RectangleShape;
46
- }
47
- });
48
- var _Compound = require("./Compound");
49
- var _Rectangle = require("./Rectangle");
50
- var _Cylinder = require("./Cylinder");
51
- var _Mobile = require("./Mobile");
52
- var _Queue = require("./Queue");
53
- var _Person = require("./Person");
54
- var _Edge = require("./Edge");
@@ -1 +0,0 @@
1
- "use strict";
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.mouseDefault = mouseDefault;
7
- exports.mousePointer = mousePointer;
8
- function mousePointer(e) {
9
- const container = e.target.getStage()?.container();
10
- if (container) {
11
- container.style.cursor = "pointer";
12
- }
13
- }
14
- function mouseDefault(e) {
15
- const container = e.target.getStage()?.container();
16
- if (container) {
17
- container.style.cursor = "auto";
18
- }
19
- }
@@ -1,61 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useShadowSprings = exports.useNodeSpringsFn = void 0;
7
- var _konva = require("@react-spring/konva");
8
- var _khroma = require("khroma");
9
- var _rambdax = require("rambdax");
10
- var _react = require("react");
11
- const compoundColor = (0, _rambdax.memoize)((color, depth) => (0, _khroma.toHex)((0, _khroma.scale)(color, {
12
- l: -35 - 5 * depth,
13
- s: -15 - 5 * depth
14
- })));
15
- const isCompound = node => {
16
- return node.children.length > 0;
17
- };
18
- function nodeSprings(theme, node) {
19
- const {
20
- position: [x, y],
21
- size: {
22
- width,
23
- height
24
- },
25
- color
26
- } = node;
27
- const colors = theme.colors[color];
28
- const offsetX = Math.round(width / 2);
29
- const offsetY = Math.round(height / 2);
30
- return {
31
- opacity: 1,
32
- scaleX: 1,
33
- scaleY: 1,
34
- x: x + offsetX,
35
- y: y + offsetY,
36
- fill: isCompound(node) ? compoundColor(colors.fill, node.depth ?? 1) : colors.fill,
37
- stroke: isCompound(node) ? compoundColor(colors.stroke, node.depth ?? 1) : colors.stroke,
38
- width,
39
- height,
40
- offsetX,
41
- offsetY
42
- };
43
- }
44
- const useNodeSpringsFn = theme => {
45
- return (0, _react.useCallback)(node => nodeSprings(theme, node), [theme]);
46
- };
47
- exports.useNodeSpringsFn = useNodeSpringsFn;
48
- const useShadowSprings = (isHovered = false, theme, springs) => {
49
- const [values] = (0, _konva.useSpring)({
50
- shadowBlur: isHovered ? 30 : 12,
51
- shadowOpacity: isHovered ? 0.5 : 0.35,
52
- shadowOffsetX: 0,
53
- shadowOffsetY: isHovered ? 16 : 4,
54
- shadowColor: theme.shadow
55
- }, [isHovered, theme]);
56
- return {
57
- shadowEnabled: springs.opacity.to(v => v > 0.8),
58
- ...values
59
- };
60
- };
61
- exports.useShadowSprings = useShadowSprings;
@@ -1,63 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.hoveredNodeIdAtom = exports.hoveredNodeAtom = exports.hoveredEdgeIdAtom = exports.hoveredEdgeAtom = void 0;
7
- var _jotai = require("jotai");
8
- var _rambdax = require("rambdax");
9
- var _utils = require("jotai/utils");
10
- const currentHoveredNodeAtom = (0, _jotai.atom)(null);
11
- const nodeTimeoutAtom = (0, _jotai.atom)(void 0);
12
- const hoveredNodeAtom = (0, _jotai.atom)(get => get(currentHoveredNodeAtom), (get, set, update) => {
13
- clearTimeout(get(nodeTimeoutAtom));
14
- const _prev = get(currentHoveredNodeAtom);
15
- const _next = typeof update === "function" ? update(_prev) : update;
16
- if ((0, _rambdax.equals)(_prev, _next)) {
17
- return false;
18
- }
19
- if (_next != null && _prev == null) {
20
- set(nodeTimeoutAtom, setTimeout(() => {
21
- set(currentHoveredNodeAtom, _next);
22
- }, 100));
23
- return true;
24
- }
25
- if (_next == null && _prev != null) {
26
- set(nodeTimeoutAtom, setTimeout(() => {
27
- set(currentHoveredNodeAtom, null);
28
- }, 150));
29
- return true;
30
- }
31
- set(currentHoveredNodeAtom, _next);
32
- return true;
33
- });
34
- exports.hoveredNodeAtom = hoveredNodeAtom;
35
- const hoveredNodeIdAtom = (0, _utils.selectAtom)(hoveredNodeAtom, node => node?.id ?? null);
36
- exports.hoveredNodeIdAtom = hoveredNodeIdAtom;
37
- const currentHoveredEdgeAtom = (0, _jotai.atom)(null);
38
- const edgeTimeoutAtom = (0, _jotai.atom)(void 0);
39
- const hoveredEdgeAtom = (0, _jotai.atom)(get => get(currentHoveredEdgeAtom), (get, set, update) => {
40
- clearTimeout(get(edgeTimeoutAtom));
41
- const _prev = get(currentHoveredEdgeAtom);
42
- const _next = typeof update === "function" ? update(_prev) : update;
43
- if ((0, _rambdax.equals)(_prev, _next)) {
44
- return false;
45
- }
46
- if (_next != null && _prev == null) {
47
- set(edgeTimeoutAtom, setTimeout(() => {
48
- set(currentHoveredEdgeAtom, _next);
49
- }, 100));
50
- return true;
51
- }
52
- if (_next == null && _prev != null) {
53
- set(edgeTimeoutAtom, setTimeout(() => {
54
- set(currentHoveredEdgeAtom, null);
55
- }, 150));
56
- return true;
57
- }
58
- set(currentHoveredEdgeAtom, _next);
59
- return true;
60
- });
61
- exports.hoveredEdgeAtom = hoveredEdgeAtom;
62
- const hoveredEdgeIdAtom = (0, _utils.selectAtom)(hoveredEdgeAtom, edge => edge?.id ?? null);
63
- exports.hoveredEdgeIdAtom = hoveredEdgeIdAtom;
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.DiagramGesture = void 0;
7
- let _isDragging = false;
8
- let tm;
9
- const DiagramGesture = {
10
- get isDragging() {
11
- return _isDragging;
12
- },
13
- set isDragging(value) {
14
- clearTimeout(tm);
15
- if (value) {
16
- _isDragging = value;
17
- return;
18
- }
19
- if (_isDragging) {
20
- tm = setTimeout(() => {
21
- _isDragging = false;
22
- }, 100);
23
- }
24
- }
25
- };
26
- exports.DiagramGesture = DiagramGesture;
@@ -1,36 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useGetNodeState = useGetNodeState;
7
- exports.useHoveredEdgeId = useHoveredEdgeId;
8
- exports.useHoveredNode = useHoveredNode;
9
- exports.useHoveredNodeId = useHoveredNodeId;
10
- exports.useSetHoveredEdge = useSetHoveredEdge;
11
- exports.useSetHoveredNode = useSetHoveredNode;
12
- var _jotai = require("jotai");
13
- var _utils = require("jotai/utils");
14
- var _atoms = require("./atoms");
15
- var _react = require("react");
16
- function useHoveredNode() {
17
- return (0, _jotai.useAtom)(_atoms.hoveredNodeAtom);
18
- }
19
- function useHoveredNodeId() {
20
- return (0, _jotai.useAtomValue)(_atoms.hoveredNodeIdAtom);
21
- }
22
- function useSetHoveredNode() {
23
- return (0, _jotai.useSetAtom)(_atoms.hoveredNodeAtom);
24
- }
25
- function useGetNodeState(nodeId) {
26
- const isHovered = (0, _jotai.useAtomValue)((0, _utils.selectAtom)(_atoms.hoveredNodeAtom, (0, _react.useCallback)(node => node?.id === nodeId, [nodeId])));
27
- return {
28
- isHovered
29
- };
30
- }
31
- function useHoveredEdgeId() {
32
- return (0, _jotai.useAtomValue)(_atoms.hoveredEdgeIdAtom);
33
- }
34
- function useSetHoveredEdge() {
35
- return (0, _jotai.useSetAtom)(_atoms.hoveredEdgeAtom);
36
- }
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _hooks = require("./hooks");
7
- Object.keys(_hooks).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _hooks[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _hooks[key];
14
- }
15
- });
16
- });
17
- var _gestures = require("./gestures");
18
- Object.keys(_gestures).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _gestures[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function () {
24
- return _gestures[key];
25
- }
26
- });
27
- });
28
- var _provider = require("./provider");
29
- Object.keys(_provider).forEach(function (key) {
30
- if (key === "default" || key === "__esModule") return;
31
- if (key in exports && exports[key] === _provider[key]) return;
32
- Object.defineProperty(exports, key, {
33
- enumerable: true,
34
- get: function () {
35
- return _provider[key];
36
- }
37
- });
38
- });
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.DiagramStateProvider = DiagramStateProvider;
7
- var _jsxRuntime = require("react/jsx-runtime");
8
- var _jotai = require("jotai");
9
- var _react = require("react");
10
- function DiagramStateProvider({
11
- children
12
- }) {
13
- const [store] = (0, _react.useState)(() => (0, _jotai.createStore)());
14
- return /* @__PURE__ */(0, _jsxRuntime.jsx)(_jotai.Provider, {
15
- store,
16
- children
17
- });
18
- }
@@ -1 +0,0 @@
1
- "use strict";
@@ -1,49 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _useDarkMode = require("./useDarkMode");
7
- Object.keys(_useDarkMode).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _useDarkMode[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _useDarkMode[key];
14
- }
15
- });
16
- });
17
- var _useDiagramApi = require("./useDiagramApi");
18
- Object.keys(_useDiagramApi).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _useDiagramApi[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function () {
24
- return _useDiagramApi[key];
25
- }
26
- });
27
- });
28
- var _useImageLoader = require("./useImageLoader");
29
- Object.keys(_useImageLoader).forEach(function (key) {
30
- if (key === "default" || key === "__esModule") return;
31
- if (key in exports && exports[key] === _useImageLoader[key]) return;
32
- Object.defineProperty(exports, key, {
33
- enumerable: true,
34
- get: function () {
35
- return _useImageLoader[key];
36
- }
37
- });
38
- });
39
- var _useViewIdFromHash = require("./useViewIdFromHash");
40
- Object.keys(_useViewIdFromHash).forEach(function (key) {
41
- if (key === "default" || key === "__esModule") return;
42
- if (key in exports && exports[key] === _useViewIdFromHash[key]) return;
43
- Object.defineProperty(exports, key, {
44
- enumerable: true,
45
- get: function () {
46
- return _useViewIdFromHash[key];
47
- }
48
- });
49
- });
@@ -1,11 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useDarkMode = useDarkMode;
7
- var _esm = require("@react-hookz/web/esm");
8
- const COLOR_SCHEME_QUERY = "(prefers-color-scheme: dark)";
9
- function useDarkMode() {
10
- return (0, _esm.useMediaQuery)(COLOR_SCHEME_QUERY) ?? true;
11
- }
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useDiagramApi = useDiagramApi;
7
- var _react = require("react");
8
- var _core = require("@likec4/core");
9
- function useDiagramApi() {
10
- const ref = (0, _react.useRef)(null);
11
- return (0, _react.useMemo)(() => [ref, {
12
- get stage() {
13
- return (0, _core.nonNullable)(ref.current, "not mounted, use ref").stage;
14
- },
15
- get diagramView() {
16
- return (0, _core.nonNullable)(ref.current, "not mounted, use ref").diagramView;
17
- },
18
- get container() {
19
- return (0, _core.nonNullable)(ref.current, "not mounted, use ref").container;
20
- },
21
- resetStageZoom: _immediate => {
22
- (0, _core.nonNullable)(ref.current, "not mounted, use ref").resetStageZoom(_immediate);
23
- },
24
- centerOnNode: node => (0, _core.nonNullable)(ref.current, "not mounted, use ref").centerOnNode(node),
25
- centerAndFit: () => (0, _core.nonNullable)(ref.current, "not mounted, use ref").centerAndFit()
26
- }], [ref]);
27
- }
@@ -1,68 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- module.exports = useImageLoader;
7
- var _react = require("react");
8
- var _useIsMounted = require("@react-hookz/web/esm/useIsMounted");
9
- var _core = require("@likec4/core");
10
- const imageElements = /* @__PURE__ */new Map();
11
- function useImageLoader(url, crossOrigin, referrerpolicy) {
12
- const isMounted = (0, _useIsMounted.useIsMounted)();
13
- const imageRef = (0, _react.useRef)(url ? imageElements.get(url) : void 0);
14
- const statusRef = (0, _react.useRef)(imageRef.current ? "loaded" : "loading");
15
- const [_, setStateToken] = (0, _react.useState)(0);
16
- const urlRef = (0, _react.useRef)(url);
17
- if (!url || urlRef.current !== url) {
18
- statusRef.current = "loading";
19
- imageRef.current = void 0;
20
- urlRef.current = url;
21
- }
22
- (0, _react.useLayoutEffect)(() => {
23
- if (!url) {
24
- return;
25
- }
26
- const urlClosure = url;
27
- const imgCached = imageElements.get(url);
28
- if (imgCached) {
29
- statusRef.current = "loaded";
30
- if (imageRef.current !== imgCached) {
31
- imageRef.current = imgCached;
32
- setStateToken(Math.random());
33
- }
34
- return;
35
- }
36
- const img = document.createElement("img");
37
- function onload() {
38
- if (!isMounted()) return;
39
- imageElements.set(urlClosure, img);
40
- if (urlRef.current === urlClosure) {
41
- statusRef.current = "loaded";
42
- imageRef.current = img;
43
- setStateToken(Math.random());
44
- }
45
- }
46
- function onerror() {
47
- if (!isMounted() || urlRef.current !== urlClosure) return;
48
- statusRef.current = "failed";
49
- imageRef.current = void 0;
50
- setStateToken(Math.random());
51
- }
52
- img.addEventListener("load", onload);
53
- img.addEventListener("error", onerror);
54
- crossOrigin && (img.crossOrigin = crossOrigin);
55
- referrerpolicy && (img.referrerPolicy = referrerpolicy);
56
- img.src = url;
57
- return () => {
58
- img.removeEventListener("load", onload);
59
- img.removeEventListener("error", onerror);
60
- };
61
- }, [url, crossOrigin ?? null, referrerpolicy ?? null]);
62
- if (imageRef.current !== void 0) {
63
- statusRef.current = "loaded";
64
- return [imageRef.current, "loaded"];
65
- }
66
- (0, _core.invariant)(statusRef.current !== "loaded", "image status cant be loaded");
67
- return [imageRef.current, statusRef.current];
68
- }
@@ -1,93 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useViewIdFromHash = useViewIdFromHash;
7
- var _core = require("@likec4/core");
8
- var _react = require("react");
9
- function readViewIdFromUrl(url) {
10
- return readViewId(new URL(url).hash);
11
- }
12
- function readViewId(hash = window.location.hash) {
13
- if (hash.startsWith("#")) {
14
- hash = hash.slice(1);
15
- }
16
- if (hash.includes("likec4")) {
17
- return new URLSearchParams(hash).get("likec4");
18
- }
19
- return null;
20
- }
21
- function writeViewId(viewId) {
22
- let hash = window.location.hash;
23
- if (hash.startsWith("#")) {
24
- hash = hash.slice(1);
25
- }
26
- const hashParams = new URLSearchParams(hash);
27
- if (viewId != null) {
28
- if (hashParams.get("likec4") !== viewId) {
29
- hashParams.set("likec4", viewId);
30
- window.location.hash = hashParams.toString();
31
- }
32
- return;
33
- }
34
- if (viewId === null && hashParams.has("likec4")) {
35
- hashParams.delete("likec4");
36
- window.location.hash = hashParams.toString();
37
- return;
38
- }
39
- }
40
- const noopIsViewId = value => (0, _core.isString)(value) && value.length > 0;
41
- function useViewIdFromHash({
42
- initialViewId,
43
- onReturnToInitial,
44
- resetHashOnUnmount = true,
45
- isViewId = noopIsViewId
46
- }) {
47
- const [viewId, setStateViewId] = (0, _react.useState)(() => {
48
- const id = readViewId();
49
- return isViewId(id) ? id : initialViewId;
50
- });
51
- const viewIdRef = (0, _react.useRef)(viewId);
52
- const prevIdRef = (0, _react.useRef)();
53
- if (viewIdRef.current !== viewId) {
54
- prevIdRef.current = viewIdRef.current;
55
- viewIdRef.current = viewId;
56
- }
57
- const onReturnRef = (0, _react.useRef)(onReturnToInitial);
58
- onReturnRef.current = onReturnToInitial;
59
- (0, _react.useEffect)(() => {
60
- const tm = setTimeout(() => {
61
- writeViewId(viewIdRef.current);
62
- }, 300);
63
- return () => clearTimeout(tm);
64
- }, []);
65
- (0, _react.useEffect)(() => {
66
- const onHashChange = ev => {
67
- const newViewId = readViewIdFromUrl(ev.newURL);
68
- if (newViewId === null) {
69
- const oldViewId = readViewIdFromUrl(ev.oldURL);
70
- if (oldViewId != null && onReturnRef.current) {
71
- onReturnRef.current?.();
72
- }
73
- return;
74
- }
75
- if (isViewId(newViewId) && newViewId !== viewIdRef.current) {
76
- setStateViewId(newViewId);
77
- }
78
- };
79
- window.addEventListener("hashchange", onHashChange);
80
- return () => {
81
- window.removeEventListener("hashchange", onHashChange);
82
- if (resetHashOnUnmount) {
83
- writeViewId(null);
84
- }
85
- };
86
- }, []);
87
- const setViewId = (0, _react.useCallback)(nextViewId => {
88
- if (isViewId(nextViewId) && nextViewId !== viewIdRef.current) {
89
- writeViewId(nextViewId);
90
- }
91
- }, []);
92
- return [viewId, setViewId];
93
- }
@@ -1,51 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- LikeC4: true
8
- };
9
- Object.defineProperty(exports, "LikeC4", {
10
- enumerable: true,
11
- get: function () {
12
- return _likec.LikeC4;
13
- }
14
- });
15
- var _diagram = require("./diagram");
16
- Object.keys(_diagram).forEach(function (key) {
17
- if (key === "default" || key === "__esModule") return;
18
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
19
- if (key in exports && exports[key] === _diagram[key]) return;
20
- Object.defineProperty(exports, key, {
21
- enumerable: true,
22
- get: function () {
23
- return _diagram[key];
24
- }
25
- });
26
- });
27
- var _components = require("./components");
28
- Object.keys(_components).forEach(function (key) {
29
- if (key === "default" || key === "__esModule") return;
30
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
31
- if (key in exports && exports[key] === _components[key]) return;
32
- Object.defineProperty(exports, key, {
33
- enumerable: true,
34
- get: function () {
35
- return _components[key];
36
- }
37
- });
38
- });
39
- var _hooks = require("./hooks");
40
- Object.keys(_hooks).forEach(function (key) {
41
- if (key === "default" || key === "__esModule") return;
42
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
43
- if (key in exports && exports[key] === _hooks[key]) return;
44
- Object.defineProperty(exports, key, {
45
- enumerable: true,
46
- get: function () {
47
- return _hooks[key];
48
- }
49
- });
50
- });
51
- var _likec = require("./likec4");