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.
- package/README.md +108 -0
- package/dist/__app__/src/App.jsx +1 -1
- package/dist/__app__/src/components/view-page/ExportDiagram.jsx +72 -0
- package/dist/__app__/src/components/view-page/ViewActionsToolbar.jsx +38 -12
- package/dist/cli/index.js +53 -53
- package/package.json +6 -6
- package/dist/@likec4/diagrams/cjs/components/EmbeddedDiagram.js +0 -83
- package/dist/@likec4/diagrams/cjs/components/FullscreenDiagramBrowser.js +0 -50
- package/dist/@likec4/diagrams/cjs/components/index.js +0 -49
- package/dist/@likec4/diagrams/cjs/components/primitives/fullscreen/CloseButton.js +0 -44
- package/dist/@likec4/diagrams/cjs/components/primitives/fullscreen/FullscreenDiagram.js +0 -110
- package/dist/@likec4/diagrams/cjs/components/primitives/fullscreen/FullscreenDiagramTitle.js +0 -39
- package/dist/@likec4/diagrams/cjs/components/primitives/index.js +0 -38
- package/dist/@likec4/diagrams/cjs/components/primitives/responsive/ResponsiveDiagram.js +0 -56
- package/dist/@likec4/diagrams/cjs/components/types.js +0 -1
- package/dist/@likec4/diagrams/cjs/diagram/Diagram.js +0 -326
- package/dist/@likec4/diagrams/cjs/diagram/Edges.js +0 -121
- package/dist/@likec4/diagrams/cjs/diagram/Nodes.js +0 -204
- package/dist/@likec4/diagrams/cjs/diagram/icons/BrainIcon.js +0 -25
- package/dist/@likec4/diagrams/cjs/diagram/icons/ExternalLink.js +0 -82
- package/dist/@likec4/diagrams/cjs/diagram/icons/index.js +0 -27
- package/dist/@likec4/diagrams/cjs/diagram/index.js +0 -27
- package/dist/@likec4/diagrams/cjs/diagram/shapes/Browser.js +0 -67
- package/dist/@likec4/diagrams/cjs/diagram/shapes/Compound.js +0 -55
- package/dist/@likec4/diagrams/cjs/diagram/shapes/Cylinder.js +0 -71
- package/dist/@likec4/diagrams/cjs/diagram/shapes/Edge.js +0 -62
- package/dist/@likec4/diagrams/cjs/diagram/shapes/Mobile.js +0 -45
- package/dist/@likec4/diagrams/cjs/diagram/shapes/NodeIcon.js +0 -38
- package/dist/@likec4/diagrams/cjs/diagram/shapes/NodeLabel.js +0 -62
- package/dist/@likec4/diagrams/cjs/diagram/shapes/Person.js +0 -48
- package/dist/@likec4/diagrams/cjs/diagram/shapes/Queue.js +0 -72
- package/dist/@likec4/diagrams/cjs/diagram/shapes/Rectangle.js +0 -30
- package/dist/@likec4/diagrams/cjs/diagram/shapes/index.js +0 -54
- package/dist/@likec4/diagrams/cjs/diagram/shapes/types.js +0 -1
- package/dist/@likec4/diagrams/cjs/diagram/shapes/utils.js +0 -19
- package/dist/@likec4/diagrams/cjs/diagram/springs.js +0 -61
- package/dist/@likec4/diagrams/cjs/diagram/state/atoms.js +0 -63
- package/dist/@likec4/diagrams/cjs/diagram/state/gestures.js +0 -26
- package/dist/@likec4/diagrams/cjs/diagram/state/hooks.js +0 -36
- package/dist/@likec4/diagrams/cjs/diagram/state/index.js +0 -38
- package/dist/@likec4/diagrams/cjs/diagram/state/provider.js +0 -18
- package/dist/@likec4/diagrams/cjs/diagram/types.js +0 -1
- package/dist/@likec4/diagrams/cjs/hooks/index.js +0 -49
- package/dist/@likec4/diagrams/cjs/hooks/useDarkMode.js +0 -11
- package/dist/@likec4/diagrams/cjs/hooks/useDiagramApi.js +0 -27
- package/dist/@likec4/diagrams/cjs/hooks/useImageLoader.js +0 -68
- package/dist/@likec4/diagrams/cjs/hooks/useViewIdFromHash.js +0 -93
- package/dist/@likec4/diagrams/cjs/index.js +0 -51
- package/dist/@likec4/diagrams/cjs/konva-html.js +0 -93
- package/dist/@likec4/diagrams/cjs/konva-portal.js +0 -50
- package/dist/@likec4/diagrams/cjs/konva.js +0 -102
- package/dist/@likec4/diagrams/cjs/likec4.js +0 -91
- package/dist/@likec4/diagrams/components/EmbeddedDiagram.mjs +0 -77
- package/dist/@likec4/diagrams/components/FullscreenDiagramBrowser.mjs +0 -52
- package/dist/@likec4/diagrams/components/index.mjs +0 -4
- package/dist/@likec4/diagrams/components/primitives/fullscreen/CloseButton.mjs +0 -43
- package/dist/@likec4/diagrams/components/primitives/fullscreen/FullscreenDiagram.mjs +0 -116
- package/dist/@likec4/diagrams/components/primitives/fullscreen/FullscreenDiagramTitle.mjs +0 -32
- package/dist/@likec4/diagrams/components/primitives/index.mjs +0 -3
- package/dist/@likec4/diagrams/components/primitives/responsive/ResponsiveDiagram.mjs +0 -42
- package/dist/@likec4/diagrams/components/types.mjs +0 -0
- package/dist/@likec4/diagrams/diagram/Diagram.mjs +0 -307
- package/dist/@likec4/diagrams/diagram/Edges.mjs +0 -117
- package/dist/@likec4/diagrams/diagram/Nodes.mjs +0 -178
- package/dist/@likec4/diagrams/diagram/icons/BrainIcon.mjs +0 -20
- package/dist/@likec4/diagrams/diagram/icons/ExternalLink.mjs +0 -90
- package/dist/@likec4/diagrams/diagram/icons/index.mjs +0 -2
- package/dist/@likec4/diagrams/diagram/index.mjs +0 -2
- package/dist/@likec4/diagrams/diagram/shapes/Browser.mjs +0 -49
- package/dist/@likec4/diagrams/diagram/shapes/Compound.mjs +0 -48
- package/dist/@likec4/diagrams/diagram/shapes/Cylinder.mjs +0 -57
- package/dist/@likec4/diagrams/diagram/shapes/Edge.mjs +0 -63
- package/dist/@likec4/diagrams/diagram/shapes/Mobile.mjs +0 -33
- package/dist/@likec4/diagrams/diagram/shapes/NodeIcon.mjs +0 -28
- package/dist/@likec4/diagrams/diagram/shapes/NodeLabel.mjs +0 -59
- package/dist/@likec4/diagrams/diagram/shapes/Person.mjs +0 -42
- package/dist/@likec4/diagrams/diagram/shapes/Queue.mjs +0 -58
- package/dist/@likec4/diagrams/diagram/shapes/Rectangle.mjs +0 -20
- package/dist/@likec4/diagrams/diagram/shapes/index.mjs +0 -7
- package/dist/@likec4/diagrams/diagram/shapes/types.mjs +0 -0
- package/dist/@likec4/diagrams/diagram/shapes/utils.mjs +0 -12
- package/dist/@likec4/diagrams/diagram/springs.mjs +0 -57
- package/dist/@likec4/diagrams/diagram/state/atoms.mjs +0 -71
- package/dist/@likec4/diagrams/diagram/state/gestures.mjs +0 -19
- package/dist/@likec4/diagrams/diagram/state/hooks.mjs +0 -28
- package/dist/@likec4/diagrams/diagram/state/index.mjs +0 -3
- package/dist/@likec4/diagrams/diagram/state/provider.mjs +0 -7
- package/dist/@likec4/diagrams/diagram/types.mjs +0 -0
- package/dist/@likec4/diagrams/esm/components/EmbeddedDiagram.js +0 -77
- package/dist/@likec4/diagrams/esm/components/FullscreenDiagramBrowser.js +0 -52
- package/dist/@likec4/diagrams/esm/components/index.js +0 -4
- package/dist/@likec4/diagrams/esm/components/primitives/fullscreen/CloseButton.js +0 -43
- package/dist/@likec4/diagrams/esm/components/primitives/fullscreen/FullscreenDiagram.js +0 -116
- package/dist/@likec4/diagrams/esm/components/primitives/fullscreen/FullscreenDiagramTitle.js +0 -32
- package/dist/@likec4/diagrams/esm/components/primitives/index.js +0 -3
- package/dist/@likec4/diagrams/esm/components/primitives/responsive/ResponsiveDiagram.js +0 -42
- package/dist/@likec4/diagrams/esm/components/types.js +0 -0
- package/dist/@likec4/diagrams/esm/diagram/Diagram.js +0 -307
- package/dist/@likec4/diagrams/esm/diagram/Edges.js +0 -117
- package/dist/@likec4/diagrams/esm/diagram/Nodes.js +0 -178
- package/dist/@likec4/diagrams/esm/diagram/icons/BrainIcon.js +0 -20
- package/dist/@likec4/diagrams/esm/diagram/icons/ExternalLink.js +0 -90
- package/dist/@likec4/diagrams/esm/diagram/icons/index.js +0 -2
- package/dist/@likec4/diagrams/esm/diagram/index.js +0 -2
- package/dist/@likec4/diagrams/esm/diagram/shapes/Browser.js +0 -49
- package/dist/@likec4/diagrams/esm/diagram/shapes/Compound.js +0 -48
- package/dist/@likec4/diagrams/esm/diagram/shapes/Cylinder.js +0 -57
- package/dist/@likec4/diagrams/esm/diagram/shapes/Edge.js +0 -63
- package/dist/@likec4/diagrams/esm/diagram/shapes/Mobile.js +0 -33
- package/dist/@likec4/diagrams/esm/diagram/shapes/NodeIcon.js +0 -28
- package/dist/@likec4/diagrams/esm/diagram/shapes/NodeLabel.js +0 -59
- package/dist/@likec4/diagrams/esm/diagram/shapes/Person.js +0 -42
- package/dist/@likec4/diagrams/esm/diagram/shapes/Queue.js +0 -58
- package/dist/@likec4/diagrams/esm/diagram/shapes/Rectangle.js +0 -20
- package/dist/@likec4/diagrams/esm/diagram/shapes/index.js +0 -7
- package/dist/@likec4/diagrams/esm/diagram/shapes/types.js +0 -0
- package/dist/@likec4/diagrams/esm/diagram/shapes/utils.js +0 -12
- package/dist/@likec4/diagrams/esm/diagram/springs.js +0 -57
- package/dist/@likec4/diagrams/esm/diagram/state/atoms.js +0 -71
- package/dist/@likec4/diagrams/esm/diagram/state/gestures.js +0 -19
- package/dist/@likec4/diagrams/esm/diagram/state/hooks.js +0 -28
- package/dist/@likec4/diagrams/esm/diagram/state/index.js +0 -3
- package/dist/@likec4/diagrams/esm/diagram/state/provider.js +0 -7
- package/dist/@likec4/diagrams/esm/diagram/types.js +0 -0
- package/dist/@likec4/diagrams/esm/hooks/index.js +0 -4
- package/dist/@likec4/diagrams/esm/hooks/useDarkMode.js +0 -5
- package/dist/@likec4/diagrams/esm/hooks/useDiagramApi.js +0 -27
- package/dist/@likec4/diagrams/esm/hooks/useImageLoader.js +0 -64
- package/dist/@likec4/diagrams/esm/hooks/useViewIdFromHash.js +0 -87
- package/dist/@likec4/diagrams/esm/index.js +0 -4
- package/dist/@likec4/diagrams/esm/konva-html.js +0 -74
- package/dist/@likec4/diagrams/esm/konva-portal.js +0 -34
- package/dist/@likec4/diagrams/esm/konva.js +0 -22
- package/dist/@likec4/diagrams/esm/likec4.js +0 -54
- package/dist/@likec4/diagrams/hooks/index.mjs +0 -4
- package/dist/@likec4/diagrams/hooks/useDarkMode.mjs +0 -5
- package/dist/@likec4/diagrams/hooks/useDiagramApi.mjs +0 -27
- package/dist/@likec4/diagrams/hooks/useImageLoader.mjs +0 -64
- package/dist/@likec4/diagrams/hooks/useViewIdFromHash.mjs +0 -87
- package/dist/@likec4/diagrams/index.mjs +0 -4
- package/dist/@likec4/diagrams/konva-html.mjs +0 -74
- package/dist/@likec4/diagrams/konva-portal.mjs +0 -34
- package/dist/@likec4/diagrams/konva.mjs +0 -33
- 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");
|