@zukhruf/diagram 0.3.33 → 0.3.34
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 +98 -52
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/compiler/diagram-compile.d.ts +3 -4
- package/dist/lib/compiler/diagram-compile.d.ts.map +1 -1
- package/dist/lib/compiler/diagram-compile.js +85 -370
- package/dist/lib/compiler/diagram-compile.js.map +1 -1
- package/dist/lib/layouts/graph/attach.d.ts.map +1 -1
- package/dist/lib/layouts/graph/attach.js +64 -8
- package/dist/lib/layouts/graph/attach.js.map +1 -1
- package/dist/lib/layouts/graph/connections.d.ts +11 -4
- package/dist/lib/layouts/graph/connections.d.ts.map +1 -1
- package/dist/lib/layouts/graph/connections.js +43 -17
- package/dist/lib/layouts/graph/connections.js.map +1 -1
- package/dist/lib/layouts/graph/graph-layout-result.d.ts +4 -2
- package/dist/lib/layouts/graph/graph-layout-result.d.ts.map +1 -1
- package/dist/lib/layouts/graph/graph-layout-result.js.map +1 -1
- package/dist/lib/layouts/graph/gutters.js +40 -21
- package/dist/lib/layouts/graph/gutters.js.map +1 -1
- package/dist/lib/layouts/graph/labels.d.ts +16 -9
- package/dist/lib/layouts/graph/labels.d.ts.map +1 -1
- package/dist/lib/layouts/graph/labels.js +62 -18
- package/dist/lib/layouts/graph/labels.js.map +1 -1
- package/dist/lib/layouts/graph/layout.d.ts +1 -1
- package/dist/lib/layouts/graph/layout.d.ts.map +1 -1
- package/dist/lib/layouts/graph/layout.js +6 -3
- package/dist/lib/layouts/graph/layout.js.map +1 -1
- package/dist/lib/layouts/graph/measure.d.ts +8 -5
- package/dist/lib/layouts/graph/measure.d.ts.map +1 -1
- package/dist/lib/layouts/graph/measure.js +47 -9
- package/dist/lib/layouts/graph/measure.js.map +1 -1
- package/dist/lib/layouts/graph/min-heap.d.ts +1 -5
- package/dist/lib/layouts/graph/min-heap.d.ts.map +1 -1
- package/dist/lib/layouts/graph/min-heap.js +1 -5
- package/dist/lib/layouts/graph/min-heap.js.map +1 -1
- package/dist/lib/layouts/graph/node-content.d.ts +1 -1
- package/dist/lib/layouts/graph/node-content.d.ts.map +1 -1
- package/dist/lib/layouts/graph/node-content.js +26 -7
- package/dist/lib/layouts/graph/node-content.js.map +1 -1
- package/dist/lib/layouts/graph/path.d.ts +2 -10
- package/dist/lib/layouts/graph/path.d.ts.map +1 -1
- package/dist/lib/layouts/graph/path.js +11 -13
- package/dist/lib/layouts/graph/path.js.map +1 -1
- package/dist/lib/layouts/graph/round.d.ts +11 -0
- package/dist/lib/layouts/graph/round.d.ts.map +1 -0
- package/dist/lib/layouts/graph/round.js +181 -0
- package/dist/lib/layouts/graph/round.js.map +1 -0
- package/dist/lib/layouts/graph/route.d.ts +10 -6
- package/dist/lib/layouts/graph/route.d.ts.map +1 -1
- package/dist/lib/layouts/graph/route.js +68 -33
- package/dist/lib/layouts/graph/route.js.map +1 -1
- package/dist/lib/layouts/graph/sides.d.ts +10 -5
- package/dist/lib/layouts/graph/sides.d.ts.map +1 -1
- package/dist/lib/layouts/graph/sides.js +14 -7
- package/dist/lib/layouts/graph/sides.js.map +1 -1
- package/dist/lib/layouts/timeline/timeline-layout.d.ts +2 -1
- package/dist/lib/layouts/timeline/timeline-layout.d.ts.map +1 -1
- package/dist/lib/layouts/timeline/timeline-layout.js +9 -4
- package/dist/lib/layouts/timeline/timeline-layout.js.map +1 -1
- package/dist/lib/model/diagram-ir.d.ts +19 -156
- package/dist/lib/model/diagram-ir.d.ts.map +1 -1
- package/dist/lib/model/diagram-ir.js.map +1 -1
- package/dist/lib/model/validate-graph.d.ts +7 -0
- package/dist/lib/model/validate-graph.d.ts.map +1 -0
- package/dist/lib/model/validate-graph.js +54 -0
- package/dist/lib/model/validate-graph.js.map +1 -0
- package/dist/lib/react/Diagram.d.ts +3 -9
- package/dist/lib/react/Diagram.d.ts.map +1 -1
- package/dist/lib/react/Diagram.js +1 -13
- package/dist/lib/react/Diagram.js.map +1 -1
- package/dist/lib/react/diagram-types.d.ts +17 -46
- package/dist/lib/react/diagram-types.d.ts.map +1 -1
- package/dist/lib/react/diagram-types.js.map +1 -1
- package/dist/lib/renderers/canvas/graph-canvas.d.ts +2 -5
- package/dist/lib/renderers/canvas/graph-canvas.d.ts.map +1 -1
- package/dist/lib/renderers/canvas/graph-canvas.js +68 -43
- package/dist/lib/renderers/canvas/graph-canvas.js.map +1 -1
- package/dist/lib/renderers/html/graph-html.d.ts +2 -3
- package/dist/lib/renderers/html/graph-html.d.ts.map +1 -1
- package/dist/lib/renderers/html/graph-html.js +298 -289
- package/dist/lib/renderers/html/graph-html.js.map +1 -1
- package/dist/lib/renderers/shared/graph-parts.d.ts +3 -1
- package/dist/lib/renderers/shared/graph-parts.d.ts.map +1 -1
- package/dist/lib/renderers/shared/graph-parts.js +350 -418
- package/dist/lib/renderers/shared/graph-parts.js.map +1 -1
- package/dist/lib/renderers/shared/node-parts.d.ts +5 -6
- package/dist/lib/renderers/shared/node-parts.d.ts.map +1 -1
- package/dist/lib/renderers/shared/node-parts.js +112 -190
- package/dist/lib/renderers/shared/node-parts.js.map +1 -1
- package/dist/lib/renderers/shared/run-spans.js +2 -2
- package/dist/lib/renderers/shared/run-spans.js.map +1 -1
- package/dist/lib/renderers/shared/text-runs.d.ts +0 -6
- package/dist/lib/renderers/shared/text-runs.d.ts.map +1 -1
- package/dist/lib/renderers/shared/text-runs.js +0 -12
- package/dist/lib/renderers/shared/text-runs.js.map +1 -1
- package/dist/lib/renderers/svg/graph-svg.d.ts +1 -3
- package/dist/lib/renderers/svg/graph-svg.d.ts.map +1 -1
- package/dist/lib/renderers/svg/graph-svg.js +66 -80
- package/dist/lib/renderers/svg/graph-svg.js.map +1 -1
- package/dist/lib/renderers/svg/timeline-svg.d.ts.map +1 -1
- package/dist/lib/renderers/svg/timeline-svg.js +7 -5
- package/dist/lib/renderers/svg/timeline-svg.js.map +1 -1
- package/package.json +1 -1
- package/dist/lib/layouts/graph/graph-layout.d.ts +0 -154
- package/dist/lib/layouts/graph/graph-layout.d.ts.map +0 -1
- package/dist/lib/layouts/graph/graph-layout.js +0 -2340
- package/dist/lib/layouts/graph/graph-layout.js.map +0 -1
- package/dist/lib/layouts/graph/legacy-graph-layout.d.ts +0 -6
- package/dist/lib/layouts/graph/legacy-graph-layout.d.ts.map +0 -1
- package/dist/lib/layouts/graph/legacy-graph-layout.js +0 -542
- package/dist/lib/layouts/graph/legacy-graph-layout.js.map +0 -1
- package/dist/lib/layouts/text-metrics.d.ts +0 -7
- package/dist/lib/layouts/text-metrics.d.ts.map +0 -1
- package/dist/lib/layouts/text-metrics.js +0 -40
- package/dist/lib/layouts/text-metrics.js.map +0 -1
|
@@ -9,20 +9,15 @@ export type DiagramLabelLine = string | {
|
|
|
9
9
|
fontWeight?: number;
|
|
10
10
|
};
|
|
11
11
|
export type DiagramSide = 'top' | 'bottom' | 'left' | 'right';
|
|
12
|
-
export type DiagramAnchor = DiagramSide | 'center';
|
|
13
12
|
export type DiagramLabelAlign = 'start' | 'center' | 'end';
|
|
14
|
-
export type DiagramTextAlign = 'start' | 'middle' | 'end';
|
|
15
|
-
export type DiagramEdgeLabelSide = 'auto' | 'above' | 'below' | 'left' | 'right';
|
|
16
13
|
export type DiagramEdgeLineStyle = 'solid' | 'dashed' | 'dotted';
|
|
17
14
|
export type DiagramEdgeDirection = 'forward' | 'both' | 'none';
|
|
18
15
|
export type DiagramEdgeLayer = 'background' | 'foreground';
|
|
19
|
-
export type
|
|
20
|
-
export type DiagramGuideOrientation = 'vertical' | 'horizontal';
|
|
16
|
+
export type DiagramEdgeWeight = 'regular' | 'bold';
|
|
21
17
|
export type DiagramStackDirection = 'up-left' | 'up-right' | 'down-left' | 'down-right';
|
|
22
18
|
export type DiagramNodePort = {
|
|
23
19
|
id: string;
|
|
24
20
|
side: DiagramSide;
|
|
25
|
-
offset?: number;
|
|
26
21
|
label?: string;
|
|
27
22
|
accent?: boolean;
|
|
28
23
|
};
|
|
@@ -30,44 +25,12 @@ export type Point = {
|
|
|
30
25
|
x: number;
|
|
31
26
|
y: number;
|
|
32
27
|
};
|
|
33
|
-
export type DiagramWaypoint = Point | {
|
|
34
|
-
row: number;
|
|
35
|
-
col: number;
|
|
36
|
-
dx?: number;
|
|
37
|
-
dy?: number;
|
|
38
|
-
} | {
|
|
39
|
-
guide: string;
|
|
40
|
-
target?: string;
|
|
41
|
-
anchor?: DiagramAnchor;
|
|
42
|
-
gap?: number;
|
|
43
|
-
row?: number;
|
|
44
|
-
col?: number;
|
|
45
|
-
x?: number;
|
|
46
|
-
y?: number;
|
|
47
|
-
dx?: number;
|
|
48
|
-
dy?: number;
|
|
49
|
-
} | {
|
|
50
|
-
target: string;
|
|
51
|
-
anchor?: DiagramAnchor;
|
|
52
|
-
gap?: number;
|
|
53
|
-
dx?: number;
|
|
54
|
-
dy?: number;
|
|
55
|
-
};
|
|
56
28
|
export type Box = {
|
|
57
29
|
x: number;
|
|
58
30
|
y: number;
|
|
59
31
|
w: number;
|
|
60
32
|
h: number;
|
|
61
33
|
};
|
|
62
|
-
export type DiagramGraphLayout = {
|
|
63
|
-
colWidth?: number;
|
|
64
|
-
rowHeight?: number;
|
|
65
|
-
columns?: number[];
|
|
66
|
-
rows?: number[];
|
|
67
|
-
padX?: number;
|
|
68
|
-
padY?: number;
|
|
69
|
-
titleTopPad?: number;
|
|
70
|
-
};
|
|
71
34
|
export type DiagramViewportFit = 'width' | 'contain' | 'natural';
|
|
72
35
|
export type DiagramViewport = {
|
|
73
36
|
fit?: DiagramViewportFit;
|
|
@@ -79,58 +42,50 @@ export type DiagramPaper = boolean | {
|
|
|
79
42
|
stroke?: boolean;
|
|
80
43
|
rx?: number;
|
|
81
44
|
};
|
|
45
|
+
/** React content drawn inside a node, in a box of the size its author gives. */
|
|
46
|
+
export type DiagramNodeContent = {
|
|
47
|
+
element: ReactNode;
|
|
48
|
+
size: {
|
|
49
|
+
w: number;
|
|
50
|
+
h: number;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
82
53
|
export type DiagramNode = {
|
|
83
54
|
id: string;
|
|
84
55
|
label: string | DiagramLabelLine[];
|
|
85
|
-
/**
|
|
86
|
-
content?:
|
|
56
|
+
/** Only HtmlGraphDiagram draws it. */
|
|
57
|
+
content?: DiagramNodeContent;
|
|
87
58
|
kind?: 'node' | 'appliance' | 'connector' | 'junction' | 'marker' | 'note';
|
|
88
59
|
row?: number | undefined;
|
|
89
60
|
col?: number | undefined;
|
|
90
61
|
colSpan?: number | undefined;
|
|
91
62
|
rowSpan?: number | undefined;
|
|
92
|
-
/** Whether a Box or Card fills its grid area; other kinds keep their measured size. */
|
|
93
|
-
stretch?: boolean | undefined;
|
|
94
63
|
/** The id of the node or group a note explains. */
|
|
95
64
|
target?: string | undefined;
|
|
96
|
-
width?: number;
|
|
97
|
-
height?: number;
|
|
98
65
|
frame?: 'solid' | 'transparent' | 'flat' | 'filled' | 'none';
|
|
99
66
|
textColor?: DiagramTextColor | undefined;
|
|
100
67
|
tone?: DiagramTone | undefined;
|
|
101
68
|
texture?: DiagramTexture | undefined;
|
|
102
|
-
fontWeight?: number | undefined;
|
|
103
|
-
fontSize?: number | undefined;
|
|
104
|
-
bodyFontSize?: number;
|
|
105
|
-
bodyLineGap?: number;
|
|
106
69
|
accent?: boolean | undefined;
|
|
107
70
|
description?: string | string[];
|
|
108
71
|
items?: string[];
|
|
109
72
|
caption?: string | string[] | undefined;
|
|
110
73
|
captionSide?: DiagramSide | undefined;
|
|
111
74
|
captionFrame?: boolean;
|
|
112
|
-
captionOffset?: number | undefined;
|
|
113
75
|
captionColor?: DiagramTextColor | undefined;
|
|
114
|
-
|
|
115
|
-
captionFontWeight?: number | undefined;
|
|
76
|
+
/** The group the node is nested in. */
|
|
116
77
|
group?: string;
|
|
117
78
|
icon?: DiagramNodeIcon | undefined;
|
|
118
|
-
iconSize?: number | undefined;
|
|
119
79
|
ports?: DiagramNodePort[] | undefined;
|
|
120
|
-
|
|
80
|
+
/** Set for a Card: its text starts at the left edge under a title. */
|
|
121
81
|
textAlign?: 'center' | 'start' | undefined;
|
|
122
82
|
hidden?: boolean | undefined;
|
|
83
|
+
/** False for a Float, which no edge may start or end at. */
|
|
123
84
|
connectable?: boolean | undefined;
|
|
124
85
|
stack?: number;
|
|
125
|
-
stackOffset?: number;
|
|
126
86
|
stackDirection?: DiagramStackDirection;
|
|
127
|
-
stackDx?: number;
|
|
128
|
-
stackDy?: number;
|
|
129
|
-
stackWidthStep?: number;
|
|
130
|
-
stackHeightStep?: number;
|
|
131
87
|
appliancePorts?: number | undefined;
|
|
132
88
|
antenna?: boolean | undefined;
|
|
133
|
-
slant?: number | undefined;
|
|
134
89
|
};
|
|
135
90
|
export type DiagramEdge = {
|
|
136
91
|
from: string;
|
|
@@ -138,35 +93,14 @@ export type DiagramEdge = {
|
|
|
138
93
|
label?: string[];
|
|
139
94
|
badgeIcon?: DiagramNodeIcon;
|
|
140
95
|
badgeLabel?: string[];
|
|
141
|
-
badgeSide?: DiagramEdgeLabelSide;
|
|
142
|
-
badgeOffset?: number;
|
|
143
|
-
badgeDx?: number;
|
|
144
|
-
badgeDy?: number;
|
|
145
|
-
badgeT?: number;
|
|
146
|
-
labelSide?: DiagramEdgeLabelSide;
|
|
147
|
-
labelFontSize?: number;
|
|
148
|
-
labelOffset?: number;
|
|
149
|
-
labelT?: number;
|
|
150
|
-
labelSegment?: number;
|
|
151
|
-
labelDx?: number;
|
|
152
|
-
labelDy?: number;
|
|
153
|
-
labelAlign?: DiagramTextAlign;
|
|
154
96
|
labelFrame?: boolean;
|
|
155
|
-
labelFramePadding?: number;
|
|
156
|
-
labelLineGap?: number;
|
|
157
97
|
channel?: string;
|
|
158
98
|
lineStyle?: DiagramEdgeLineStyle;
|
|
159
99
|
direction?: DiagramEdgeDirection;
|
|
160
100
|
layer?: DiagramEdgeLayer;
|
|
161
|
-
|
|
162
|
-
strokeWidth?: number;
|
|
163
|
-
waypoints?: DiagramWaypoint[];
|
|
101
|
+
weight?: DiagramEdgeWeight;
|
|
164
102
|
exitSide?: DiagramSide;
|
|
165
|
-
exitOffset?: number;
|
|
166
103
|
entrySide?: DiagramSide;
|
|
167
|
-
entryOffset?: number;
|
|
168
|
-
entryGap?: number;
|
|
169
|
-
stubDistance?: number;
|
|
170
104
|
accent?: boolean;
|
|
171
105
|
dim?: boolean;
|
|
172
106
|
headless?: boolean | undefined;
|
|
@@ -179,7 +113,6 @@ export type DiagramGroup = {
|
|
|
179
113
|
accent?: boolean | undefined;
|
|
180
114
|
tone?: DiagramTone | undefined;
|
|
181
115
|
texture?: DiagramTexture | undefined;
|
|
182
|
-
rx?: number | undefined;
|
|
183
116
|
frame?: 'solid' | 'dashed' | 'none' | undefined;
|
|
184
117
|
fill?: 'surface' | 'none' | undefined;
|
|
185
118
|
ports?: DiagramNodePort[] | undefined;
|
|
@@ -189,51 +122,9 @@ export type DiagramGroup = {
|
|
|
189
122
|
col?: number | undefined;
|
|
190
123
|
rowSpan?: number | undefined;
|
|
191
124
|
colSpan?: number | undefined;
|
|
192
|
-
tight?: boolean | undefined;
|
|
193
|
-
tightX?: boolean | undefined;
|
|
194
|
-
tightY?: boolean | undefined;
|
|
195
125
|
titleBand?: boolean | undefined;
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
dividers?: {
|
|
199
|
-
rows?: number[];
|
|
200
|
-
cols?: number[];
|
|
201
|
-
} | undefined;
|
|
202
|
-
bounds?: {
|
|
203
|
-
rowStart: number;
|
|
204
|
-
rowEnd: number;
|
|
205
|
-
colStart: number;
|
|
206
|
-
colEnd: number;
|
|
207
|
-
} | undefined;
|
|
208
|
-
};
|
|
209
|
-
export type DiagramAnnotationLeaderRoute = 'straight' | 'elbow';
|
|
210
|
-
export type DiagramAnnotationLeader = {
|
|
211
|
-
target: string;
|
|
212
|
-
anchor: DiagramAnchor;
|
|
213
|
-
route: DiagramAnnotationLeaderRoute;
|
|
214
|
-
from: Point;
|
|
215
|
-
to: Point;
|
|
216
|
-
points: Point[];
|
|
217
|
-
};
|
|
218
|
-
export type DiagramAnnotation = {
|
|
219
|
-
x?: number;
|
|
220
|
-
y?: number;
|
|
221
|
-
target?: string;
|
|
222
|
-
targets?: string[];
|
|
223
|
-
anchor?: DiagramAnchor;
|
|
224
|
-
guide?: string;
|
|
225
|
-
offset?: number;
|
|
226
|
-
dx?: number;
|
|
227
|
-
dy?: number;
|
|
228
|
-
text: string[];
|
|
229
|
-
align?: DiagramTextAlign;
|
|
230
|
-
color?: DiagramTextColor;
|
|
231
|
-
fontWeight?: number;
|
|
232
|
-
fontSize?: number;
|
|
233
|
-
lineGap?: number;
|
|
234
|
-
leader?: boolean;
|
|
235
|
-
leaderGap?: number;
|
|
236
|
-
leaderRoute?: DiagramAnnotationLeaderRoute;
|
|
126
|
+
/** A line through every gutter inside the group. */
|
|
127
|
+
dividers?: boolean | undefined;
|
|
237
128
|
};
|
|
238
129
|
export type DiagramLane = {
|
|
239
130
|
id: string;
|
|
@@ -256,43 +147,15 @@ export type DiagramFrameElement = {
|
|
|
256
147
|
label: string;
|
|
257
148
|
signals: DiagramSignal[];
|
|
258
149
|
};
|
|
259
|
-
export type DiagramGuide = {
|
|
260
|
-
id?: string;
|
|
261
|
-
orientation?: DiagramGuideOrientation;
|
|
262
|
-
lane?: string;
|
|
263
|
-
x?: number;
|
|
264
|
-
y?: number;
|
|
265
|
-
row?: number;
|
|
266
|
-
col?: number;
|
|
267
|
-
target?: string;
|
|
268
|
-
anchor?: DiagramAnchor;
|
|
269
|
-
gap?: number;
|
|
270
|
-
dx?: number;
|
|
271
|
-
dy?: number;
|
|
272
|
-
yStart?: number;
|
|
273
|
-
yEnd?: number;
|
|
274
|
-
accent?: boolean;
|
|
275
|
-
};
|
|
276
150
|
export type DiagramMarker = DiagramNode;
|
|
277
|
-
export type
|
|
151
|
+
export type DiagramGraphIR = {
|
|
278
152
|
nodes: DiagramNode[];
|
|
279
153
|
edges: DiagramEdge[];
|
|
280
|
-
groups
|
|
281
|
-
annotations?: DiagramAnnotation[];
|
|
282
|
-
guides?: DiagramGuide[];
|
|
283
|
-
layout?: DiagramGraphLayout | undefined;
|
|
284
|
-
};
|
|
285
|
-
export type GraphLayoutSpec = DiagramGraphSpec & {
|
|
286
|
-
title?: string[];
|
|
154
|
+
groups: DiagramGroup[];
|
|
287
155
|
};
|
|
288
156
|
export type DiagramTimelineSpec = {
|
|
289
157
|
lanes: DiagramLane[];
|
|
290
158
|
signals: DiagramSignal[];
|
|
291
159
|
frame?: DiagramFrameElement | undefined;
|
|
292
160
|
};
|
|
293
|
-
export type DiagramGraphIR = DiagramGraphSpec & {
|
|
294
|
-
groups: DiagramGroup[];
|
|
295
|
-
annotations: DiagramAnnotation[];
|
|
296
|
-
guides: DiagramGuide[];
|
|
297
|
-
};
|
|
298
161
|
//# sourceMappingURL=diagram-ir.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagram-ir.d.ts","sourceRoot":"","sources":["../../../src/lib/model/diagram-ir.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diagram-ir.d.ts","sourceRoot":"","sources":["../../../src/lib/model/diagram-ir.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagram-ir.js","names":[],"sources":["../../../src/lib/model/diagram-ir.ts"],"sourcesContent":["import type { ReactNode } from 'react';\n\nexport type DiagramTextColor = 'accent' | 'neutral' | 'dim';\n\nexport type DiagramTone =\n 'neutral' | 'green' | 'blue' | 'amber' | 'rose' | 'purple' | 'slate';\n\nexport type DiagramTexture = 'dots' | 'hatch' | 'none';\n\nexport type DiagramNodeIcon =\n | 'certificate'\n | 'cloudflare'\n | 'dashboard'\n | 'file'\n | 'git'\n | 'gpu'\n | 'user'\n | 'brain'\n | 'internet'\n | 'istio'\n | 'kubernetes'\n | 'logs'\n | 'metrics'\n | 'router'\n | 'server'\n | 'shield'\n | 'storage'\n | 'trace'\n | 'tunnel'\n | 'eye'\n | 'eye-off'\n | 'ellipsis';\n\nexport type DiagramLabelLine =\n | string\n | {\n text: string;\n textColor?: DiagramTextColor;\n fontWeight?: number;\n };\n\nexport type DiagramSide = 'top' | 'bottom' | 'left' | 'right';\nexport type
|
|
1
|
+
{"version":3,"file":"diagram-ir.js","names":[],"sources":["../../../src/lib/model/diagram-ir.ts"],"sourcesContent":["import type { ReactNode } from 'react';\n\nexport type DiagramTextColor = 'accent' | 'neutral' | 'dim';\n\nexport type DiagramTone =\n 'neutral' | 'green' | 'blue' | 'amber' | 'rose' | 'purple' | 'slate';\n\nexport type DiagramTexture = 'dots' | 'hatch' | 'none';\n\nexport type DiagramNodeIcon =\n | 'certificate'\n | 'cloudflare'\n | 'dashboard'\n | 'file'\n | 'git'\n | 'gpu'\n | 'user'\n | 'brain'\n | 'internet'\n | 'istio'\n | 'kubernetes'\n | 'logs'\n | 'metrics'\n | 'router'\n | 'server'\n | 'shield'\n | 'storage'\n | 'trace'\n | 'tunnel'\n | 'eye'\n | 'eye-off'\n | 'ellipsis';\n\nexport type DiagramLabelLine =\n | string\n | {\n text: string;\n textColor?: DiagramTextColor;\n fontWeight?: number;\n };\n\nexport type DiagramSide = 'top' | 'bottom' | 'left' | 'right';\nexport type DiagramLabelAlign = 'start' | 'center' | 'end';\nexport type DiagramEdgeLineStyle = 'solid' | 'dashed' | 'dotted';\nexport type DiagramEdgeDirection = 'forward' | 'both' | 'none';\nexport type DiagramEdgeLayer = 'background' | 'foreground';\nexport type DiagramEdgeWeight = 'regular' | 'bold';\nexport type DiagramStackDirection =\n 'up-left' | 'up-right' | 'down-left' | 'down-right';\n\nexport type DiagramNodePort = {\n id: string;\n side: DiagramSide;\n label?: string;\n accent?: boolean;\n};\n\nexport type Point = { x: number; y: number };\nexport type Box = { x: number; y: number; w: number; h: number };\n\nexport type DiagramViewportFit = 'width' | 'contain' | 'natural';\n\nexport type DiagramViewport = {\n fit?: DiagramViewportFit;\n zoom?: number;\n};\n\nexport type DiagramPaperFill = 'background' | 'surface';\n\nexport type DiagramPaper =\n | boolean\n | {\n fill?: DiagramPaperFill;\n stroke?: boolean;\n rx?: number;\n };\n\n/** React content drawn inside a node, in a box of the size its author gives. */\nexport type DiagramNodeContent = {\n element: ReactNode;\n size: { w: number; h: number };\n};\n\nexport type DiagramNode = {\n id: string;\n label: string | DiagramLabelLine[];\n /** Only HtmlGraphDiagram draws it. */\n content?: DiagramNodeContent;\n kind?: 'node' | 'appliance' | 'connector' | 'junction' | 'marker' | 'note';\n row?: number | undefined;\n col?: number | undefined;\n colSpan?: number | undefined;\n rowSpan?: number | undefined;\n /** The id of the node or group a note explains. */\n target?: string | undefined;\n frame?: 'solid' | 'transparent' | 'flat' | 'filled' | 'none';\n textColor?: DiagramTextColor | undefined;\n tone?: DiagramTone | undefined;\n texture?: DiagramTexture | undefined;\n accent?: boolean | undefined;\n description?: string | string[];\n items?: string[];\n caption?: string | string[] | undefined;\n captionSide?: DiagramSide | undefined;\n captionFrame?: boolean;\n captionColor?: DiagramTextColor | undefined;\n /** The group the node is nested in. */\n group?: string;\n icon?: DiagramNodeIcon | undefined;\n ports?: DiagramNodePort[] | undefined;\n /** Set for a Card: its text starts at the left edge under a title. */\n textAlign?: 'center' | 'start' | undefined;\n hidden?: boolean | undefined;\n /** False for a Float, which no edge may start or end at. */\n connectable?: boolean | undefined;\n stack?: number;\n stackDirection?: DiagramStackDirection;\n appliancePorts?: number | undefined;\n antenna?: boolean | undefined;\n};\n\nexport type DiagramEdge = {\n from: string;\n to: string;\n label?: string[];\n badgeIcon?: DiagramNodeIcon;\n badgeLabel?: string[];\n labelFrame?: boolean;\n channel?: string;\n lineStyle?: DiagramEdgeLineStyle;\n direction?: DiagramEdgeDirection;\n layer?: DiagramEdgeLayer;\n weight?: DiagramEdgeWeight;\n exitSide?: DiagramSide;\n entrySide?: DiagramSide;\n accent?: boolean;\n dim?: boolean;\n headless?: boolean | undefined;\n};\n\nexport type DiagramGroup = {\n id: string;\n label: string | string[];\n labelAlign?: DiagramLabelAlign | undefined;\n labelSide?: 'top' | 'bottom' | undefined;\n accent?: boolean | undefined;\n tone?: DiagramTone | undefined;\n texture?: DiagramTexture | undefined;\n frame?: 'solid' | 'dashed' | 'none' | undefined;\n fill?: 'surface' | 'none' | undefined;\n ports?: DiagramNodePort[] | undefined;\n parent?: string | undefined;\n /** An explicit grid area; without one the group covers the bounding box of its members. */\n row?: number | undefined;\n col?: number | undefined;\n rowSpan?: number | undefined;\n colSpan?: number | undefined;\n titleBand?: boolean | undefined;\n /** A line through every gutter inside the group. */\n dividers?: boolean | undefined;\n};\n\nexport type DiagramLane = {\n id: string;\n label: string[];\n accent?: boolean | undefined;\n};\n\nexport type DiagramSignalBox = 'source' | 'center' | 'target';\n\nexport type DiagramSignal = {\n from: string;\n to: string;\n label: string[];\n accent?: boolean;\n dim?: boolean;\n boxed?: DiagramSignalBox;\n stub?: number;\n bordered?: boolean;\n filled?: boolean;\n};\n\nexport type DiagramFrameElement = {\n label: string;\n signals: DiagramSignal[];\n};\n\nexport type DiagramMarker = DiagramNode;\n\nexport type DiagramGraphIR = {\n nodes: DiagramNode[];\n edges: DiagramEdge[];\n groups: DiagramGroup[];\n};\n\nexport type DiagramTimelineSpec = {\n lanes: DiagramLane[];\n signals: DiagramSignal[];\n frame?: DiagramFrameElement | undefined;\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DiagramGraphIR } from './diagram-ir.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Rejects ids that clash and edges whose ends name no node, group or port,
|
|
4
|
+
* or a node that takes no edges.
|
|
5
|
+
*/
|
|
6
|
+
export declare function validateGraph(ir: DiagramGraphIR): void;
|
|
7
|
+
//# sourceMappingURL=validate-graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-graph.d.ts","sourceRoot":"","sources":["../../../src/lib/model/validate-graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,cAAc,QAgE/C"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { parseEndpointRef } from "./endpoint-ref.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Rejects ids that clash and edges whose ends name no node, group or port,
|
|
5
|
+
* or a node that takes no edges.
|
|
6
|
+
*/
|
|
7
|
+
export function validateGraph(ir) {
|
|
8
|
+
const nodeIds = new Set();
|
|
9
|
+
for (const node of ir.nodes) {
|
|
10
|
+
if (nodeIds.has(node.id)) throw new Error(`Duplicate Diagram node id "${node.id}".`);
|
|
11
|
+
nodeIds.add(node.id);
|
|
12
|
+
}
|
|
13
|
+
const groupIds = new Set();
|
|
14
|
+
for (const group of ir.groups) {
|
|
15
|
+
if (groupIds.has(group.id)) throw new Error(`Duplicate Diagram group id "${group.id}".`);
|
|
16
|
+
groupIds.add(group.id);
|
|
17
|
+
}
|
|
18
|
+
const nodesById = new Map(ir.nodes.map(node => [node.id, node]));
|
|
19
|
+
const groupsById = new Map(ir.groups.map(group => [group.id, group]));
|
|
20
|
+
for (const node of ir.nodes) {
|
|
21
|
+
if (groupsById.has(node.id)) {
|
|
22
|
+
throw new Error(`Diagram node id "${node.id}" conflicts with a Diagram group id. Node and group endpoint ids must be unique.`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const hasPort = (ownerId, portId) => [nodesById.get(ownerId), groupsById.get(ownerId)].some(owner => owner?.ports?.some(port => port.id === portId));
|
|
26
|
+
for (const edge of ir.edges) {
|
|
27
|
+
const {
|
|
28
|
+
nodeId: sourceNodeId,
|
|
29
|
+
portId: sourcePortId
|
|
30
|
+
} = parseEndpointRef(edge.from);
|
|
31
|
+
const {
|
|
32
|
+
nodeId: targetNodeId,
|
|
33
|
+
portId: targetPortId
|
|
34
|
+
} = parseEndpointRef(edge.to);
|
|
35
|
+
if (!nodeIds.has(sourceNodeId) && !groupsById.has(sourceNodeId)) {
|
|
36
|
+
throw new Error(`Diagram edge ${edge.from}->${edge.to} references missing source "${sourceNodeId}".`);
|
|
37
|
+
}
|
|
38
|
+
if (!nodeIds.has(targetNodeId) && !groupsById.has(targetNodeId)) {
|
|
39
|
+
throw new Error(`Diagram edge ${edge.from}->${edge.to} references missing target "${targetNodeId}".`);
|
|
40
|
+
}
|
|
41
|
+
if (sourcePortId && !hasPort(sourceNodeId, sourcePortId)) {
|
|
42
|
+
throw new Error(`Diagram edge ${edge.from}->${edge.to} references missing source port "${sourcePortId}" on "${sourceNodeId}".`);
|
|
43
|
+
}
|
|
44
|
+
if (targetPortId && !hasPort(targetNodeId, targetPortId)) {
|
|
45
|
+
throw new Error(`Diagram edge ${edge.from}->${edge.to} references missing target port "${targetPortId}" on "${targetNodeId}".`);
|
|
46
|
+
}
|
|
47
|
+
for (const [relation, id] of [['start from', sourceNodeId], ['end at', targetNodeId]]) {
|
|
48
|
+
if (nodesById.get(id)?.connectable === false) {
|
|
49
|
+
throw new Error(`Diagram edge ${edge.from}->${edge.to} cannot ${relation} non-connectable node "${id}". Diagram.Float is display-only; connect a Box, Card, Label or Port.`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=validate-graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-graph.js","names":["parseEndpointRef","validateGraph","ir","nodeIds","Set","node","nodes","has","id","Error","add","groupIds","group","groups","nodesById","Map","map","groupsById","hasPort","ownerId","portId","get","some","owner","ports","port","edge","edges","nodeId","sourceNodeId","sourcePortId","from","targetNodeId","targetPortId","to","relation","connectable"],"sources":["../../../src/lib/model/validate-graph.ts"],"sourcesContent":["import type { DiagramGraphIR } from './diagram-ir.ts';\nimport { parseEndpointRef } from './endpoint-ref.ts';\n\n/**\n * Rejects ids that clash and edges whose ends name no node, group or port,\n * or a node that takes no edges.\n */\nexport function validateGraph(ir: DiagramGraphIR) {\n const nodeIds = new Set<string>();\n for (const node of ir.nodes) {\n if (nodeIds.has(node.id))\n throw new Error(`Duplicate Diagram node id \"${node.id}\".`);\n nodeIds.add(node.id);\n }\n const groupIds = new Set<string>();\n for (const group of ir.groups) {\n if (groupIds.has(group.id))\n throw new Error(`Duplicate Diagram group id \"${group.id}\".`);\n groupIds.add(group.id);\n }\n const nodesById = new Map(ir.nodes.map((node) => [node.id, node]));\n const groupsById = new Map(ir.groups.map((group) => [group.id, group]));\n for (const node of ir.nodes) {\n if (groupsById.has(node.id)) {\n throw new Error(\n `Diagram node id \"${node.id}\" conflicts with a Diagram group id. Node and group endpoint ids must be unique.`,\n );\n }\n }\n const hasPort = (ownerId: string, portId: string) =>\n [nodesById.get(ownerId), groupsById.get(ownerId)].some((owner) =>\n owner?.ports?.some((port) => port.id === portId),\n );\n for (const edge of ir.edges) {\n const { nodeId: sourceNodeId, portId: sourcePortId } = parseEndpointRef(\n edge.from,\n );\n const { nodeId: targetNodeId, portId: targetPortId } = parseEndpointRef(\n edge.to,\n );\n if (!nodeIds.has(sourceNodeId) && !groupsById.has(sourceNodeId)) {\n throw new Error(\n `Diagram edge ${edge.from}->${edge.to} references missing source \"${sourceNodeId}\".`,\n );\n }\n if (!nodeIds.has(targetNodeId) && !groupsById.has(targetNodeId)) {\n throw new Error(\n `Diagram edge ${edge.from}->${edge.to} references missing target \"${targetNodeId}\".`,\n );\n }\n if (sourcePortId && !hasPort(sourceNodeId, sourcePortId)) {\n throw new Error(\n `Diagram edge ${edge.from}->${edge.to} references missing source port \"${sourcePortId}\" on \"${sourceNodeId}\".`,\n );\n }\n if (targetPortId && !hasPort(targetNodeId, targetPortId)) {\n throw new Error(\n `Diagram edge ${edge.from}->${edge.to} references missing target port \"${targetPortId}\" on \"${targetNodeId}\".`,\n );\n }\n for (const [relation, id] of [\n ['start from', sourceNodeId],\n ['end at', targetNodeId],\n ] as const) {\n if (nodesById.get(id)?.connectable === false) {\n throw new Error(\n `Diagram edge ${edge.from}->${edge.to} cannot ${relation} non-connectable node \"${id}\". Diagram.Float is display-only; connect a Box, Card, Label or Port.`,\n );\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,34 +1,28 @@
|
|
|
1
|
-
import type { DiagramApplianceProps, DiagramConnectorProps, DiagramContentProps, DiagramEdgeProps,
|
|
1
|
+
import type { DiagramApplianceProps, DiagramConnectorProps, DiagramContentProps, DiagramEdgeProps, DiagramFrameProps, DiagramGroupProps, DiagramJunctionProps, DiagramLaneProps, DiagramLineProps, DiagramMarkerProps, DiagramNodeProps, DiagramNoteProps, DiagramSignalProps } from './diagram-types.ts';
|
|
2
2
|
export type { DiagramAccent, DiagramMode, DiagramStylePreset, } from './chrome/index.ts';
|
|
3
3
|
export type { DiagramEffects } from '../renderers/types.ts';
|
|
4
4
|
export type { DiagramPaper, DiagramStackDirection, DiagramViewport, } from '../model/diagram-ir.ts';
|
|
5
|
-
export type { DiagramApplianceProps, DiagramConnectorProps, DiagramContentProps, DiagramEdgeProps,
|
|
5
|
+
export type { DiagramApplianceProps, DiagramConnectorProps, DiagramContentProps, DiagramEdgeProps, DiagramFrameProps, DiagramGroupProps, DiagramJunctionProps, DiagramLaneProps, DiagramLineProps, DiagramMarkerProps, DiagramNodeProps, DiagramNoteProps, DiagramProps, DiagramSignalProps, } from './diagram-types.ts';
|
|
6
6
|
export declare const Diagram: {
|
|
7
7
|
Node: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramNodeProps>;
|
|
8
8
|
Edge: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramEdgeProps>;
|
|
9
9
|
Group: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramGroupProps>;
|
|
10
10
|
Frame: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramFrameProps>;
|
|
11
|
-
Text: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramTextProps>;
|
|
12
11
|
Line: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramLineProps>;
|
|
13
12
|
Lane: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramLaneProps>;
|
|
14
13
|
Signal: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramSignalProps>;
|
|
15
14
|
Marker: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramMarkerProps>;
|
|
16
|
-
Guide: import("../compiler/diagram-compile.ts").PrimitiveComponent<import("../model/diagram-ir.ts").DiagramGuide>;
|
|
17
|
-
Waypoint: import("../compiler/diagram-compile.ts").PrimitiveComponent<import("../model/diagram-ir.ts").DiagramWaypoint>;
|
|
18
|
-
Entry: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramEntryProps>;
|
|
19
|
-
Exit: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramExitProps>;
|
|
20
15
|
Box: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramNodeProps>;
|
|
21
16
|
Card: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramNodeProps>;
|
|
22
17
|
Port: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramNodeProps>;
|
|
23
18
|
Label: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramNodeProps>;
|
|
24
19
|
Float: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramNodeProps>;
|
|
25
|
-
Phantom: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramPhantomProps>;
|
|
26
20
|
Appliance: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramApplianceProps>;
|
|
27
21
|
Connector: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramConnectorProps>;
|
|
28
22
|
Junction: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramJunctionProps>;
|
|
29
23
|
Wire: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramEdgeProps>;
|
|
30
24
|
Arrow: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramEdgeProps>;
|
|
31
|
-
Note: import("../compiler/diagram-compile.ts").PrimitiveComponent<
|
|
25
|
+
Note: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramNoteProps>;
|
|
32
26
|
Content: import("../compiler/diagram-compile.ts").PrimitiveComponent<DiagramContentProps>;
|
|
33
27
|
};
|
|
34
28
|
//# sourceMappingURL=Diagram.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diagram.d.ts","sourceRoot":"","sources":["../../../src/lib/react/Diagram.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"Diagram.d.ts","sourceRoot":"","sources":["../../../src/lib/react/Diagram.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,aAAa,EACb,WAAW,EACX,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,YAAY,EACZ,qBAAqB,EACrB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAuB5B,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;CAqBnB,CAAC"}
|
|
@@ -5,7 +5,6 @@ const Card = primitive('card');
|
|
|
5
5
|
const Port = primitive('port');
|
|
6
6
|
const Label = primitive('label');
|
|
7
7
|
const Float = primitive('float');
|
|
8
|
-
const Phantom = primitive('phantom');
|
|
9
8
|
const Appliance = primitive('appliance');
|
|
10
9
|
const Connector = primitive('connector');
|
|
11
10
|
const Junction = primitive('junction');
|
|
@@ -13,38 +12,27 @@ const Edge = primitive('edge');
|
|
|
13
12
|
const Arrow = primitive('arrow');
|
|
14
13
|
const Wire = primitive('wire');
|
|
15
14
|
const Group = primitive('group');
|
|
16
|
-
const
|
|
15
|
+
const Note = primitive('note');
|
|
17
16
|
const Line = primitive('line');
|
|
18
17
|
const Lane = primitive('lane');
|
|
19
18
|
const Signal = primitive('signal');
|
|
20
19
|
const Frame = primitive('frame');
|
|
21
20
|
const Marker = primitive('marker');
|
|
22
|
-
const Guide = primitive('guide');
|
|
23
|
-
const Waypoint = primitive('waypoint');
|
|
24
|
-
const Entry = primitive('entry');
|
|
25
|
-
const Exit = primitive('exit');
|
|
26
21
|
const Content = primitive('content');
|
|
27
|
-
const Note = Text;
|
|
28
22
|
export const Diagram = {
|
|
29
23
|
Node,
|
|
30
24
|
Edge,
|
|
31
25
|
Group,
|
|
32
26
|
Frame,
|
|
33
|
-
Text,
|
|
34
27
|
Line,
|
|
35
28
|
Lane,
|
|
36
29
|
Signal,
|
|
37
30
|
Marker,
|
|
38
|
-
Guide,
|
|
39
|
-
Waypoint,
|
|
40
|
-
Entry,
|
|
41
|
-
Exit,
|
|
42
31
|
Box,
|
|
43
32
|
Card,
|
|
44
33
|
Port,
|
|
45
34
|
Label,
|
|
46
35
|
Float,
|
|
47
|
-
Phantom,
|
|
48
36
|
Appliance,
|
|
49
37
|
Connector,
|
|
50
38
|
Junction,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diagram.js","names":["primitive","Node","Box","Card","Port","Label","Float","
|
|
1
|
+
{"version":3,"file":"Diagram.js","names":["primitive","Node","Box","Card","Port","Label","Float","Appliance","Connector","Junction","Edge","Arrow","Wire","Group","Note","Line","Lane","Signal","Frame","Marker","Content","Diagram"],"sources":["../../../src/lib/react/Diagram.tsx"],"sourcesContent":["import { primitive } from '../compiler/diagram-compile.ts';\nimport type {\n DiagramApplianceProps,\n DiagramConnectorProps,\n DiagramContentProps,\n DiagramEdgeProps,\n DiagramFrameProps,\n DiagramGroupProps,\n DiagramJunctionProps,\n DiagramLaneProps,\n DiagramLineProps,\n DiagramMarkerProps,\n DiagramNodeProps,\n DiagramNoteProps,\n DiagramSignalProps,\n} from './diagram-types.ts';\n\nexport type {\n DiagramAccent,\n DiagramMode,\n DiagramStylePreset,\n} from './chrome/index.ts';\nexport type { DiagramEffects } from '../renderers/types.ts';\nexport type {\n DiagramPaper,\n DiagramStackDirection,\n DiagramViewport,\n} from '../model/diagram-ir.ts';\nexport type {\n DiagramApplianceProps,\n DiagramConnectorProps,\n DiagramContentProps,\n DiagramEdgeProps,\n DiagramFrameProps,\n DiagramGroupProps,\n DiagramJunctionProps,\n DiagramLaneProps,\n DiagramLineProps,\n DiagramMarkerProps,\n DiagramNodeProps,\n DiagramNoteProps,\n DiagramProps,\n DiagramSignalProps,\n} from './diagram-types.ts';\n\nconst Node = primitive<DiagramNodeProps>('node');\nconst Box = primitive<DiagramNodeProps>('box');\nconst Card = primitive<DiagramNodeProps>('card');\nconst Port = primitive<DiagramNodeProps>('port');\nconst Label = primitive<DiagramNodeProps>('label');\nconst Float = primitive<DiagramNodeProps>('float');\nconst Appliance = primitive<DiagramApplianceProps>('appliance');\nconst Connector = primitive<DiagramConnectorProps>('connector');\nconst Junction = primitive<DiagramJunctionProps>('junction');\nconst Edge = primitive<DiagramEdgeProps>('edge');\nconst Arrow = primitive<DiagramEdgeProps>('arrow');\nconst Wire = primitive<DiagramEdgeProps>('wire');\nconst Group = primitive<DiagramGroupProps>('group');\nconst Note = primitive<DiagramNoteProps>('note');\nconst Line = primitive<DiagramLineProps>('line');\nconst Lane = primitive<DiagramLaneProps>('lane');\nconst Signal = primitive<DiagramSignalProps>('signal');\nconst Frame = primitive<DiagramFrameProps>('frame');\nconst Marker = primitive<DiagramMarkerProps>('marker');\nconst Content = primitive<DiagramContentProps>('content');\n\nexport const Diagram = {\n Node,\n Edge,\n Group,\n Frame,\n Line,\n Lane,\n Signal,\n Marker,\n Box,\n Card,\n Port,\n Label,\n Float,\n Appliance,\n Connector,\n Junction,\n Wire,\n Arrow,\n Note,\n Content,\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,gCAAgC;AA6C1D,MAAMC,IAAI,GAAGD,SAAS,CAAmB,MAAM,CAAC;AAChD,MAAME,GAAG,GAAGF,SAAS,CAAmB,KAAK,CAAC;AAC9C,MAAMG,IAAI,GAAGH,SAAS,CAAmB,MAAM,CAAC;AAChD,MAAMI,IAAI,GAAGJ,SAAS,CAAmB,MAAM,CAAC;AAChD,MAAMK,KAAK,GAAGL,SAAS,CAAmB,OAAO,CAAC;AAClD,MAAMM,KAAK,GAAGN,SAAS,CAAmB,OAAO,CAAC;AAClD,MAAMO,SAAS,GAAGP,SAAS,CAAwB,WAAW,CAAC;AAC/D,MAAMQ,SAAS,GAAGR,SAAS,CAAwB,WAAW,CAAC;AAC/D,MAAMS,QAAQ,GAAGT,SAAS,CAAuB,UAAU,CAAC;AAC5D,MAAMU,IAAI,GAAGV,SAAS,CAAmB,MAAM,CAAC;AAChD,MAAMW,KAAK,GAAGX,SAAS,CAAmB,OAAO,CAAC;AAClD,MAAMY,IAAI,GAAGZ,SAAS,CAAmB,MAAM,CAAC;AAChD,MAAMa,KAAK,GAAGb,SAAS,CAAoB,OAAO,CAAC;AACnD,MAAMc,IAAI,GAAGd,SAAS,CAAmB,MAAM,CAAC;AAChD,MAAMe,IAAI,GAAGf,SAAS,CAAmB,MAAM,CAAC;AAChD,MAAMgB,IAAI,GAAGhB,SAAS,CAAmB,MAAM,CAAC;AAChD,MAAMiB,MAAM,GAAGjB,SAAS,CAAqB,QAAQ,CAAC;AACtD,MAAMkB,KAAK,GAAGlB,SAAS,CAAoB,OAAO,CAAC;AACnD,MAAMmB,MAAM,GAAGnB,SAAS,CAAqB,QAAQ,CAAC;AACtD,MAAMoB,OAAO,GAAGpB,SAAS,CAAsB,SAAS,CAAC;AAEzD,OAAO,MAAMqB,OAAO,GAAG;EACrBpB,IAAI;EACJS,IAAI;EACJG,KAAK;EACLK,KAAK;EACLH,IAAI;EACJC,IAAI;EACJC,MAAM;EACNE,MAAM;EACNjB,GAAG;EACHC,IAAI;EACJC,IAAI;EACJC,KAAK;EACLC,KAAK;EACLC,SAAS;EACTC,SAAS;EACTC,QAAQ;EACRG,IAAI;EACJD,KAAK;EACLG,IAAI;EACJM;AACF,CAAC","ignoreList":[]}
|