@likec4/diagram 1.44.0 → 1.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/index.js +18160 -17671
- package/dist/LikeC4Diagram.js +7 -5
- package/dist/LikeC4Diagram.props.d.ts +9 -8
- package/dist/LikeC4Styles.js +0 -3
- package/dist/LikeC4View.d.ts +3 -3
- package/dist/LikeC4View.js +7 -3
- package/dist/ReactLikeC4.d.ts +2 -2
- package/dist/base/Base.d.ts +1 -1
- package/dist/base/updateEdges.js +25 -15
- package/dist/base/updateNodes.d.ts +14 -0
- package/dist/base/updateNodes.js +51 -18
- package/dist/base-primitives/Markdown.d.ts +30 -4
- package/dist/base-primitives/Markdown.js +3 -2
- package/dist/base-primitives/compound/CompoundActionButton.d.ts +3 -2
- package/dist/base-primitives/compound/CompoundDetailsButton.d.ts +3 -2
- package/dist/base-primitives/edge/EdgeActionButton.d.ts +3 -2
- package/dist/base-primitives/edge/EdgeContainer.d.ts +1 -1
- package/dist/base-primitives/edge/EdgeContainer.js +4 -1
- package/dist/base-primitives/edge/EdgeLabel.d.ts +2 -2
- package/dist/base-primitives/edge/EdgePath.js +24 -4
- package/dist/base-primitives/element/ElementActionButtons.d.ts +3 -2
- package/dist/base-primitives/element/ElementActionButtons.js +2 -2
- package/dist/base-primitives/element/ElementData.d.ts +3 -3
- package/dist/base-primitives/element/ElementData.js +13 -7
- package/dist/base-primitives/element/ElementDetailsButton.d.ts +3 -2
- package/dist/base-primitives/element/ElementDetailsButton.js +3 -0
- package/dist/base-primitives/element/ElementShape.js +5 -5
- package/dist/base-primitives/element/ElementTags.d.ts +6 -4
- package/dist/context/DiagramFeatures.d.ts +1 -0
- package/dist/context/TagStylesContext.js +1 -1
- package/dist/custom/hooks.d.ts +2 -2
- package/dist/custom/index.js +1 -1
- package/dist/hooks/index.d.ts +2 -1
- package/dist/hooks/useDiagramCompareLayout.js +7 -2
- package/dist/hooks/useLikeC4Project.d.ts +6 -1
- package/dist/hooks/useLikeC4Project.js +14 -2
- package/dist/hooks/useMediaPrint.d.ts +6 -0
- package/dist/likec4diagram/DiagramXYFlow.js +11 -6
- package/dist/likec4diagram/custom/edges/EdgeDrifts.d.ts +6 -0
- package/dist/likec4diagram/custom/edges/EdgeDrifts.js +38 -0
- package/dist/likec4diagram/custom/edges/RelationshipEdge.js +24 -14
- package/dist/likec4diagram/custom/edges/SequenceStepEdge.js +3 -1
- package/dist/likec4diagram/custom/edges/useControlPoints.js +3 -3
- package/dist/likec4diagram/custom/edges/useRelationshipEdgePath.js +5 -5
- package/dist/likec4diagram/custom/nodes/NodeDrifts.d.ts +6 -0
- package/dist/likec4diagram/custom/nodes/{ElementNodeDrifts.js → NodeDrifts.js} +8 -4
- package/dist/likec4diagram/custom/nodes/SequenceActorNode.js +4 -2
- package/dist/likec4diagram/custom/nodes/index.d.ts +1 -0
- package/dist/likec4diagram/custom/nodes/nodes.js +64 -23
- package/dist/likec4diagram/relationship-popover/RelationshipPopover.js +3 -3
- package/dist/likec4diagram/relationship-popover/actor.d.ts +1 -1
- package/dist/likec4diagram/state/DiagramActorProvider.d.ts +2 -2
- package/dist/likec4diagram/state/DiagramActorProvider.js +0 -1
- package/dist/likec4diagram/state/assign.d.ts +10 -6
- package/dist/likec4diagram/state/assign.js +17 -192
- package/dist/likec4diagram/state/createViewChange.js +15 -26
- package/dist/likec4diagram/state/diagram-api.d.ts +2 -6
- package/dist/likec4diagram/state/diagram-api.js +2 -10
- package/dist/likec4diagram/state/hotkeyActor.d.ts +0 -7
- package/dist/likec4diagram/state/hotkeyActor.js +1 -17
- package/dist/likec4diagram/state/machine.actions.d.ts +430 -746
- package/dist/likec4diagram/state/machine.actions.js +193 -284
- package/dist/likec4diagram/state/machine.actions.layout.d.ts +579 -0
- package/dist/likec4diagram/state/machine.actions.layout.js +129 -0
- package/dist/likec4diagram/state/machine.d.ts +17 -3712
- package/dist/likec4diagram/state/machine.js +59 -73
- package/dist/likec4diagram/state/machine.setup.d.ts +61 -18
- package/dist/likec4diagram/state/machine.setup.js +27 -5
- package/dist/likec4diagram/state/machine.state.initializing.d.ts +25 -0
- package/dist/likec4diagram/state/machine.state.initializing.js +5 -5
- package/dist/likec4diagram/state/machine.state.navigating.d.ts +5 -108
- package/dist/likec4diagram/state/machine.state.navigating.js +167 -34
- package/dist/likec4diagram/state/machine.state.ready.d.ts +2316 -2851
- package/dist/likec4diagram/state/machine.state.ready.focused.d.ts +386 -0
- package/dist/likec4diagram/state/machine.state.ready.focused.js +85 -0
- package/dist/likec4diagram/state/machine.state.ready.idle.d.ts +474 -0
- package/dist/likec4diagram/state/machine.state.ready.idle.js +96 -0
- package/dist/likec4diagram/state/machine.state.ready.js +144 -319
- package/dist/likec4diagram/state/machine.state.ready.printing.d.ts +128 -0
- package/dist/likec4diagram/state/machine.state.ready.printing.js +40 -0
- package/dist/likec4diagram/state/machine.state.ready.walkthrough.d.ts +511 -0
- package/dist/likec4diagram/state/machine.state.ready.walkthrough.js +177 -0
- package/dist/likec4diagram/state/mediaPrintActor.d.ts +12 -0
- package/dist/likec4diagram/state/mediaPrintActor.js +18 -0
- package/dist/likec4diagram/state/syncManualLayoutActor.d.ts +6 -240
- package/dist/likec4diagram/state/syncManualLayoutActor.js +150 -89
- package/dist/likec4diagram/state/types.d.ts +5 -7
- package/dist/likec4diagram/state/utils.d.ts +15 -2
- package/dist/likec4diagram/state/utils.js +43 -3
- package/dist/likec4diagram/types.d.ts +8 -13
- package/dist/likec4diagram/ui/notation/NotationPanel.css.js +5 -2
- package/dist/likec4diagram/useLayoutConstraints.js +107 -102
- package/dist/likec4diagram/xyflow-diagram/diagram-view.js +12 -15
- package/dist/likec4diagram/xyflow-sequence/sequence-layout.js +11 -8
- package/dist/navigationpanel/NavigationPanel.js +5 -1
- package/dist/navigationpanel/actor.d.ts +4 -204
- package/dist/navigationpanel/actor.js +1 -1
- package/dist/navigationpanel/controls/ToggleReadonly.js +8 -3
- package/dist/navigationpanel/walkthrough/DynamicViewControls.d.ts +66 -66
- package/dist/navigationpanel/walkthrough/WalkthroughPanel.js +4 -3
- package/dist/overlays/element-details/ElementDetailsCard.css.js +3 -3
- package/dist/overlays/element-details/MetadataValue.d.ts +2 -1
- package/dist/overlays/element-details/actor.d.ts +8 -83
- package/dist/overlays/element-details/actor.js +0 -8
- package/dist/overlays/overlay/Overlay.js +10 -10
- package/dist/overlays/overlaysActor.d.ts +7 -392
- package/dist/overlays/overlaysActor.js +67 -46
- package/dist/overlays/relationship-details/_types.d.ts +3 -4
- package/dist/overlays/relationship-details/actor.d.ts +6 -562
- package/dist/overlays/relationship-details/actor.js +1 -0
- package/dist/overlays/relationship-details/layout-to-xyflow.js +3 -5
- package/dist/overlays/relationship-details/layout.d.ts +3 -3
- package/dist/overlays/relationship-details/layout.js +4 -4
- package/dist/overlays/relationships-browser/_types.d.ts +2 -3
- package/dist/overlays/relationships-browser/actor.d.ts +7 -739
- package/dist/overlays/relationships-browser/layout.d.ts +2 -2
- package/dist/overlays/relationships-browser/layout.js +3 -3
- package/dist/overlays/relationships-browser/useViewToNodesEdges.js +0 -3
- package/dist/overlays/types.d.ts +12 -13
- package/dist/search/components/_shared.css.d.ts +1 -1
- package/dist/search/searchActor.d.ts +3 -66
- package/dist/shadowroot/ShadowRoot.d.ts +5 -7
- package/dist/shadowroot/ShadowRoot.js +7 -5
- package/dist/styles.css2.js +1 -1
- package/dist/utils/vector.d.ts +5 -0
- package/dist/utils/vector.js +7 -0
- package/dist/utils/view-bounds.js +7 -6
- package/dist/utils/xyflow.d.ts +4 -2
- package/dist/utils/xyflow.js +18 -50
- package/package.json +19 -18
- package/panda.buildinfo.json +17 -5
- package/styles-min.css +1 -1
- package/styles.css +1 -1
- package/dist/likec4diagram/custom/nodes/ElementNodeDrifts.d.ts +0 -4
package/dist/utils/vector.d.ts
CHANGED
|
@@ -76,6 +76,11 @@ export declare class Vector implements VectorValue {
|
|
|
76
76
|
* @returns A new vector that is the normalized version of this vector.
|
|
77
77
|
*/
|
|
78
78
|
normalize(): Vector;
|
|
79
|
+
/**
|
|
80
|
+
* Rounds the components of the vector to the nearest integers.
|
|
81
|
+
* @returns A new vector with rounded components.
|
|
82
|
+
*/
|
|
83
|
+
round(): Vector;
|
|
79
84
|
}
|
|
80
85
|
export declare function vector(source: VectorValue | Vector): Vector;
|
|
81
86
|
export declare function vector(x: number, y: number): Vector;
|
package/dist/utils/vector.js
CHANGED
|
@@ -106,6 +106,13 @@ class Vector {
|
|
|
106
106
|
}
|
|
107
107
|
return new Vector(this.x / len, this.y / len);
|
|
108
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Rounds the components of the vector to the nearest integers.
|
|
111
|
+
* @returns A new vector with rounded components.
|
|
112
|
+
*/
|
|
113
|
+
round() {
|
|
114
|
+
return new Vector(Math.round(this.x), Math.round(this.y));
|
|
115
|
+
}
|
|
109
116
|
}
|
|
110
117
|
function vector(...args) {
|
|
111
118
|
if (args.length === 1 && args[0] instanceof Vector) {
|
|
@@ -17,12 +17,6 @@ function calcEdgeBounds({ points, controlPoints, labelBBox }) {
|
|
|
17
17
|
let minY = Infinity;
|
|
18
18
|
let maxX = -Infinity;
|
|
19
19
|
let maxY = -Infinity;
|
|
20
|
-
for (const p of points) {
|
|
21
|
-
minX = Math.min(minX, p[0]);
|
|
22
|
-
minY = Math.min(minY, p[1]);
|
|
23
|
-
maxX = Math.max(maxX, p[0]);
|
|
24
|
-
maxY = Math.max(maxY, p[1]);
|
|
25
|
-
}
|
|
26
20
|
if (controlPoints) {
|
|
27
21
|
for (const p of controlPoints) {
|
|
28
22
|
minX = Math.min(minX, p.x);
|
|
@@ -30,6 +24,13 @@ function calcEdgeBounds({ points, controlPoints, labelBBox }) {
|
|
|
30
24
|
maxX = Math.max(maxX, p.x);
|
|
31
25
|
maxY = Math.max(maxY, p.y);
|
|
32
26
|
}
|
|
27
|
+
} else {
|
|
28
|
+
for (const [x, y] of points) {
|
|
29
|
+
minX = Math.min(minX, x);
|
|
30
|
+
minY = Math.min(minY, y);
|
|
31
|
+
maxX = Math.max(maxX, x);
|
|
32
|
+
maxY = Math.max(maxY, y);
|
|
33
|
+
}
|
|
33
34
|
}
|
|
34
35
|
if (labelBBox) {
|
|
35
36
|
minX = Math.min(minX, labelBBox.x);
|
package/dist/utils/xyflow.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { NonEmptyArray, Point, BBox } from '@likec4/core';
|
|
2
2
|
import { InternalNode, Rect, XYPosition, Position } from '@xyflow/react';
|
|
3
3
|
import { NodeHandle } from '@xyflow/system';
|
|
4
|
+
import { MouseEvent as ReactMouseEvent } from 'react';
|
|
4
5
|
import { Vector } from './vector';
|
|
5
6
|
export declare function distance(a: XYPosition, b: XYPosition): number;
|
|
6
7
|
/**
|
|
@@ -28,6 +29,7 @@ export type MinimalInternalNode = {
|
|
|
28
29
|
*/
|
|
29
30
|
export declare function extractMinimalInternalNode<N extends InternalNode>(nd: N): MinimalInternalNode;
|
|
30
31
|
export declare function isEqualMinimalInternalNodes(a: MinimalInternalNode, b: MinimalInternalNode): boolean;
|
|
32
|
+
export declare function isEqualRects(a: Rect, b: Rect): boolean;
|
|
31
33
|
export declare const nodeToRect: (nd: MinimalInternalNode) => Rect;
|
|
32
34
|
export declare function getNodeCenter(node: MinimalInternalNode): XYPosition;
|
|
33
35
|
/**
|
|
@@ -39,7 +41,7 @@ export declare function getNodeCenter(node: MinimalInternalNode): XYPosition;
|
|
|
39
41
|
* @param nodeMargin the margin of the intersectionNode. The point will be placed at nodeMargin distance from the border of the node
|
|
40
42
|
* @returns coordinates of the intersection point
|
|
41
43
|
*/
|
|
42
|
-
export declare function getNodeIntersectionFromCenterToPoint(intersectionNode:
|
|
44
|
+
export declare function getNodeIntersectionFromCenterToPoint(intersectionNode: BBox, target: XYPosition, nodeMargin?: number): Vector;
|
|
43
45
|
/**
|
|
44
46
|
* Helper function returns the intersection point
|
|
45
47
|
* of the line between the center of the intersectionNode and the target
|
|
@@ -60,7 +62,7 @@ export declare const isInside: (test: Rect, target: Rect) => boolean;
|
|
|
60
62
|
export declare function bezierControlPoints(points: NonEmptyArray<Point>): XYPosition[];
|
|
61
63
|
export declare function isSamePoint(a: XYPosition | Point, b: XYPosition | Point): boolean;
|
|
62
64
|
export declare function distanceBetweenPoints(a: XYPosition, b: XYPosition): number;
|
|
63
|
-
export declare function stopPropagation(e:
|
|
65
|
+
export declare function stopPropagation(e: ReactMouseEvent): void;
|
|
64
66
|
export declare function bezierPath(bezierSpline: NonEmptyArray<Point>): string;
|
|
65
67
|
export declare function toXYFlowPosition(position: 'left' | 'right' | 'top' | 'bottom'): Position;
|
|
66
68
|
export declare function createXYFlowNodeNandles(bbox: BBox): NodeHandle[];
|
package/dist/utils/xyflow.js
CHANGED
|
@@ -1,68 +1,36 @@
|
|
|
1
|
-
import '@likec4/core';
|
|
1
|
+
import { BBox } from '@likec4/core';
|
|
2
2
|
import { invariant } from '@likec4/core/utils';
|
|
3
3
|
import '@xyflow/react';
|
|
4
4
|
import { getNodeDimensions } from '@xyflow/system';
|
|
5
5
|
import { Bezier } from 'bezier-js';
|
|
6
|
-
import {
|
|
6
|
+
import { isArray, hasAtLeast } from 'remeda';
|
|
7
7
|
import { vector } from './vector.js';
|
|
8
8
|
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
internals: {
|
|
12
|
-
positionAbsolute: nd.internals.positionAbsolute
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
if (nd.measured) {
|
|
16
|
-
minimal.measured = nd.measured;
|
|
17
|
-
}
|
|
18
|
-
if (isNumber(nd.width)) {
|
|
19
|
-
minimal.width = nd.width;
|
|
20
|
-
}
|
|
21
|
-
if (isNumber(nd.height)) {
|
|
22
|
-
minimal.height = nd.height;
|
|
23
|
-
}
|
|
24
|
-
if (isNumber(nd.initialWidth)) {
|
|
25
|
-
minimal.initialWidth = nd.initialWidth;
|
|
26
|
-
}
|
|
27
|
-
if (isNumber(nd.initialHeight)) {
|
|
28
|
-
minimal.initialHeight = nd.initialHeight;
|
|
29
|
-
}
|
|
30
|
-
return minimal;
|
|
31
|
-
}
|
|
32
|
-
function isEqualMinimalInternalNodes(a, b) {
|
|
33
|
-
const posA = a.internals.positionAbsolute;
|
|
34
|
-
const posB = b.internals.positionAbsolute;
|
|
35
|
-
if (posA.x !== posB.x || posA.y !== posB.y) {
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
const widthA = a.measured?.width ?? a.width ?? a.initialWidth ?? 0;
|
|
39
|
-
const widthB = b.measured?.width ?? b.width ?? b.initialWidth ?? 0;
|
|
40
|
-
if (widthA !== widthB) {
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
const heightA = a.measured?.height ?? a.height ?? a.initialHeight ?? 0;
|
|
44
|
-
const heightB = b.measured?.height ?? b.height ?? b.initialHeight ?? 0;
|
|
45
|
-
return heightA === heightB;
|
|
9
|
+
function isEqualRects(a, b) {
|
|
10
|
+
return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
|
|
46
11
|
}
|
|
12
|
+
const nodeToRect = (nd) => ({
|
|
13
|
+
x: Math.round(nd.internals.positionAbsolute.x),
|
|
14
|
+
y: Math.round(nd.internals.positionAbsolute.y),
|
|
15
|
+
width: nd.measured?.width ?? nd.width ?? nd.initialWidth ?? 0,
|
|
16
|
+
height: nd.measured?.height ?? nd.height ?? nd.initialHeight ?? 0
|
|
17
|
+
});
|
|
47
18
|
function getNodeCenter(node) {
|
|
48
19
|
const { width, height } = getNodeDimensions(node);
|
|
49
20
|
const { x, y } = node.internals.positionAbsolute;
|
|
50
21
|
return {
|
|
51
|
-
x: x + width / 2,
|
|
52
|
-
y: y + height / 2
|
|
22
|
+
x: Math.round(x + width / 2),
|
|
23
|
+
y: Math.round(y + height / 2)
|
|
53
24
|
};
|
|
54
25
|
}
|
|
55
26
|
function getNodeIntersectionFromCenterToPoint(intersectionNode, target, nodeMargin = 0) {
|
|
56
|
-
const
|
|
57
|
-
const
|
|
27
|
+
const { width, height } = intersectionNode;
|
|
28
|
+
const nodeCenter = BBox.center(intersectionNode);
|
|
58
29
|
const v = vector(target.x, target.y).subtract(nodeCenter);
|
|
59
|
-
const xScale = (nodeMargin +
|
|
60
|
-
const yScale = (nodeMargin +
|
|
30
|
+
const xScale = (nodeMargin + width / 2) / v.x;
|
|
31
|
+
const yScale = (nodeMargin + height / 2) / v.y;
|
|
61
32
|
const scale = Math.min(Math.abs(xScale), Math.abs(yScale));
|
|
62
|
-
return vector(v).multiply(scale).add(nodeCenter);
|
|
63
|
-
}
|
|
64
|
-
function getNodeIntersection(intersectionNode, targetNode) {
|
|
65
|
-
return getNodeIntersectionFromCenterToPoint(intersectionNode, getNodeCenter(targetNode));
|
|
33
|
+
return vector(v).multiply(scale).add(nodeCenter).round();
|
|
66
34
|
}
|
|
67
35
|
function bezierControlPoints(points) {
|
|
68
36
|
let [start, ...bezierPoints] = points;
|
|
@@ -114,4 +82,4 @@ function bezierPath(bezierSpline) {
|
|
|
114
82
|
return path;
|
|
115
83
|
}
|
|
116
84
|
|
|
117
|
-
export { bezierControlPoints, bezierPath,
|
|
85
|
+
export { bezierControlPoints, bezierPath, getNodeCenter, getNodeIntersectionFromCenterToPoint, isEqualRects, isSamePoint, nodeToRect, stopPropagation };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@likec4/diagram",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.45.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"bugs": "https://github.com/likec4/likec4/issues",
|
|
6
6
|
"homepage": "https://likec4.dev",
|
|
@@ -65,30 +65,31 @@
|
|
|
65
65
|
"@dagrejs/dagre": "1.1.5",
|
|
66
66
|
"@floating-ui/dom": "^1.7.4",
|
|
67
67
|
"@lume/kiwi": "^0.4.4",
|
|
68
|
-
"@mantine/core": "8.3.
|
|
69
|
-
"@mantine/hooks": "8.3.
|
|
68
|
+
"@mantine/core": "8.3.9",
|
|
69
|
+
"@mantine/hooks": "8.3.9",
|
|
70
70
|
"@nanostores/react": "1.0.0",
|
|
71
|
+
"@nanostores/media-query": "0.1.2",
|
|
71
72
|
"@react-hookz/web": "^25.2.0",
|
|
72
73
|
"@xstate/react": "6.0.0",
|
|
73
|
-
"@xyflow/react": "12.9.
|
|
74
|
-
"@xyflow/system": "0.0.
|
|
74
|
+
"@xyflow/react": "12.9.3",
|
|
75
|
+
"@xyflow/system": "0.0.73",
|
|
75
76
|
"immer": "^10.2.0",
|
|
76
77
|
"bezier-js": "^6.1.4",
|
|
77
78
|
"d3-shape": "^3.2.0",
|
|
78
|
-
"fast-equals": "^5.3.
|
|
79
|
+
"fast-equals": "^5.3.3",
|
|
79
80
|
"khroma": "2.1.0",
|
|
80
81
|
"motion": "^12.23.24",
|
|
81
|
-
"nanostores": "1.0
|
|
82
|
+
"nanostores": "1.1.0",
|
|
82
83
|
"react-error-boundary": "^6.0.0",
|
|
83
84
|
"react-shadow": "^20.6.0",
|
|
84
85
|
"remeda": "^2.32.0",
|
|
85
86
|
"type-fest": "^4.41.0",
|
|
86
87
|
"xstate": "5.24.0",
|
|
87
|
-
"@likec4/core": "1.
|
|
88
|
-
"@likec4/styles": "1.
|
|
88
|
+
"@likec4/core": "1.45.0",
|
|
89
|
+
"@likec4/styles": "1.45.0"
|
|
89
90
|
},
|
|
90
91
|
"peerDependencies": {
|
|
91
|
-
"@pandacss/dev": "^1.
|
|
92
|
+
"@pandacss/dev": "^1.5.1",
|
|
92
93
|
"@types/react": "^18.x || ^19.x",
|
|
93
94
|
"@types/react-dom": "^18.x || ^19.x",
|
|
94
95
|
"react": "^18.x || ^19.x",
|
|
@@ -106,27 +107,27 @@
|
|
|
106
107
|
}
|
|
107
108
|
},
|
|
108
109
|
"devDependencies": {
|
|
109
|
-
"@pandacss/dev": "^1.
|
|
110
|
+
"@pandacss/dev": "^1.5.1",
|
|
110
111
|
"@statelyai/inspect": "^0.4.0",
|
|
111
112
|
"@tabler/icons-react": "3.35.0",
|
|
112
113
|
"@types/bezier-js": "^4.1.3",
|
|
113
114
|
"@types/d3-shape": "^3.1.7",
|
|
114
115
|
"@types/node": "~20.19.22",
|
|
115
|
-
"@types/react": "19.2.
|
|
116
|
-
"@types/react-dom": "19.2.
|
|
117
|
-
"@vitejs/plugin-react": "^5.1.
|
|
118
|
-
"oxlint": "1.
|
|
116
|
+
"@types/react": "19.2.6",
|
|
117
|
+
"@types/react-dom": "19.2.3",
|
|
118
|
+
"@vitejs/plugin-react": "^5.1.1",
|
|
119
|
+
"oxlint": "1.29.0",
|
|
119
120
|
"postcss": "8.5.6",
|
|
120
121
|
"react": "19.2.0",
|
|
121
122
|
"react-dom": "19.2.0",
|
|
122
123
|
"typescript": "5.9.3",
|
|
123
|
-
"vite": "^7.2.
|
|
124
|
+
"vite": "^7.2.4",
|
|
124
125
|
"vite-plugin-dts": "^4.5.4",
|
|
125
|
-
"vitest": "4.0.
|
|
126
|
+
"vitest": "4.0.13",
|
|
126
127
|
"wireit": "0.14.12",
|
|
127
128
|
"zx": "8.8.5",
|
|
128
129
|
"@likec4/devops": "1.42.0",
|
|
129
|
-
"@likec4/tsconfig": "1.
|
|
130
|
+
"@likec4/tsconfig": "1.45.0"
|
|
130
131
|
},
|
|
131
132
|
"scripts": {
|
|
132
133
|
"typecheck": "tsc --build --verbose",
|
package/panda.buildinfo.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaVersion": "1.
|
|
2
|
+
"schemaVersion": "1.5.1",
|
|
3
3
|
"styles": {
|
|
4
4
|
"atomic": [
|
|
5
5
|
"background]___[value:dots",
|
|
@@ -118,6 +118,7 @@
|
|
|
118
118
|
"width]___[value:max-content]___[cond:@/sm",
|
|
119
119
|
"maxWidth]___[value:calc(100vw - 2 * {spacing.md})]___[cond:@/sm",
|
|
120
120
|
"maxWidth]___[value:calc(100cqw - 2 * {spacing.md})]___[cond:@/sm<___>xs",
|
|
121
|
+
"display]___[value:none]___[cond:_print",
|
|
121
122
|
"mainAxis]___[value:4",
|
|
122
123
|
"position]___[value:bottom-start",
|
|
123
124
|
"layerStyle]___[value:likec4.panel",
|
|
@@ -216,6 +217,8 @@
|
|
|
216
217
|
"transitionDelay]___[value:0s]___[cond:_hover",
|
|
217
218
|
"lineClamp]___[value:5",
|
|
218
219
|
"fill]___[value:none",
|
|
220
|
+
"visibility]___[value:hidden",
|
|
221
|
+
"offsetDistance]___[value:50%",
|
|
219
222
|
"transition]___[value:none]___[cond:_reduceGraphics",
|
|
220
223
|
"strokeWidth]___[value:calc(var(--xy-edge-stroke-width) + 2)",
|
|
221
224
|
"strokeOpacity]___[value:0.08",
|
|
@@ -249,7 +252,6 @@
|
|
|
249
252
|
"gap]___[value:1.5",
|
|
250
253
|
"lineClamp]___[value:2",
|
|
251
254
|
"lineClamp]___[value:3",
|
|
252
|
-
"maxHeight]___[value:8rem ",
|
|
253
255
|
"top]___[value:0.5",
|
|
254
256
|
"right]___[value:0.5",
|
|
255
257
|
"right]___[value:[5px]]___[cond:_shapeBrowser",
|
|
@@ -458,7 +460,7 @@
|
|
|
458
460
|
"backgroundColor]___[value:mantine.colors.body",
|
|
459
461
|
"backgroundColor]___[value:mantine.colors.dark[6]]___[cond:_dark",
|
|
460
462
|
"border]___[value:none",
|
|
461
|
-
"backgroundImage]___[value: linear-gradient(180deg, color-mix(in
|
|
463
|
+
"backgroundImage]___[value: linear-gradient(180deg, color-mix(in oklab, var(--likec4-palette-fill) 60%, transparent), color-mix(in oklab, var(--likec4-palette-fill) 20%, transparent) 8px, color-mix(in oklab, var(--likec4-palette-fill) 14%, transparent) 20px, transparent 80px ), linear-gradient(180deg, var(--likec4-palette-fill), var(--likec4-palette-fill) 4px, transparent 4px) ",
|
|
462
464
|
"display]___[value:none]___[cond:& .react-flow__attribution",
|
|
463
465
|
"flex]___[value:0",
|
|
464
466
|
"cursor]___[value:move",
|
|
@@ -768,6 +770,12 @@
|
|
|
768
770
|
"transform]___[value:translateX(-50%)",
|
|
769
771
|
"zIndex]___[value:903",
|
|
770
772
|
"marginTop]___[value:[32px]]___[cond:& + &",
|
|
773
|
+
"stroke]___[value:likec4.compare.manual.outline",
|
|
774
|
+
"mixBlendMode]___[value:plus-lighter",
|
|
775
|
+
"strokeWidth]___[value:8px",
|
|
776
|
+
"strokeWidth]___[value:12px]___[cond:_whenHovered",
|
|
777
|
+
"strokeOpacity]___[value:0.3",
|
|
778
|
+
"strokeOpacity]___[value:0.5]___[cond:_whenHovered",
|
|
771
779
|
"mixBlendMode]___[value:normal",
|
|
772
780
|
"fill]___[value:var(--likec4-palette-relation-stroke)",
|
|
773
781
|
"stroke]___[value:var(--likec4-palette-relation-stroke)",
|
|
@@ -775,7 +783,6 @@
|
|
|
775
783
|
"strokeWidth]___[value:1",
|
|
776
784
|
"cursor]___[value:grab",
|
|
777
785
|
"pointerEvents]___[value:auto",
|
|
778
|
-
"visibility]___[value:hidden",
|
|
779
786
|
"fillOpacity]___[value:1]___[cond:_hover",
|
|
780
787
|
"stroke]___[value:mantine.colors.primary.filledHover]___[cond:_hover",
|
|
781
788
|
"strokeWidth]___[value:18]___[cond:_hover",
|
|
@@ -795,7 +802,7 @@
|
|
|
795
802
|
"outlineOffset]___[value:1]___[cond:& + .likec4-element-shape",
|
|
796
803
|
"borderWidth]___[value:1",
|
|
797
804
|
"--_color]___[value:var(--likec4-palette-stroke)",
|
|
798
|
-
"--_color]___[value:[color-mix(in
|
|
805
|
+
"--_color]___[value:[color-mix(in oklab, var(--likec4-palette-hiContrast) 40%, var(--likec4-palette-fill))]]___[cond:_dark",
|
|
799
806
|
"borderColor]___[value:[var(--_color)/30]",
|
|
800
807
|
"backgroundColor]___[value:var(--likec4-palette-fill)/15",
|
|
801
808
|
"paddingLeft]___[value:2",
|
|
@@ -810,6 +817,11 @@
|
|
|
810
817
|
"translateX]___[value:-1/2",
|
|
811
818
|
"translateY]___[value:-1/2",
|
|
812
819
|
"top]___[value:1",
|
|
820
|
+
"outlineColor]___[value:likec4.compare.manual.outline",
|
|
821
|
+
"outlineWidth]___[value:2px",
|
|
822
|
+
"outlineWidth]___[value:4px]___[cond:_light",
|
|
823
|
+
"outlineStyle]___[value:solid",
|
|
824
|
+
"outlineOffset]___[value:1",
|
|
813
825
|
"right]___[value:0",
|
|
814
826
|
"padding]___[value:2",
|
|
815
827
|
"width]___[value:min-content",
|