@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.
Files changed (117) hide show
  1. package/README.md +98 -52
  2. package/dist/index.d.ts +5 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/compiler/diagram-compile.d.ts +3 -4
  7. package/dist/lib/compiler/diagram-compile.d.ts.map +1 -1
  8. package/dist/lib/compiler/diagram-compile.js +85 -370
  9. package/dist/lib/compiler/diagram-compile.js.map +1 -1
  10. package/dist/lib/layouts/graph/attach.d.ts.map +1 -1
  11. package/dist/lib/layouts/graph/attach.js +64 -8
  12. package/dist/lib/layouts/graph/attach.js.map +1 -1
  13. package/dist/lib/layouts/graph/connections.d.ts +11 -4
  14. package/dist/lib/layouts/graph/connections.d.ts.map +1 -1
  15. package/dist/lib/layouts/graph/connections.js +43 -17
  16. package/dist/lib/layouts/graph/connections.js.map +1 -1
  17. package/dist/lib/layouts/graph/graph-layout-result.d.ts +4 -2
  18. package/dist/lib/layouts/graph/graph-layout-result.d.ts.map +1 -1
  19. package/dist/lib/layouts/graph/graph-layout-result.js.map +1 -1
  20. package/dist/lib/layouts/graph/gutters.js +40 -21
  21. package/dist/lib/layouts/graph/gutters.js.map +1 -1
  22. package/dist/lib/layouts/graph/labels.d.ts +16 -9
  23. package/dist/lib/layouts/graph/labels.d.ts.map +1 -1
  24. package/dist/lib/layouts/graph/labels.js +62 -18
  25. package/dist/lib/layouts/graph/labels.js.map +1 -1
  26. package/dist/lib/layouts/graph/layout.d.ts +1 -1
  27. package/dist/lib/layouts/graph/layout.d.ts.map +1 -1
  28. package/dist/lib/layouts/graph/layout.js +6 -3
  29. package/dist/lib/layouts/graph/layout.js.map +1 -1
  30. package/dist/lib/layouts/graph/measure.d.ts +8 -5
  31. package/dist/lib/layouts/graph/measure.d.ts.map +1 -1
  32. package/dist/lib/layouts/graph/measure.js +47 -9
  33. package/dist/lib/layouts/graph/measure.js.map +1 -1
  34. package/dist/lib/layouts/graph/min-heap.d.ts +1 -5
  35. package/dist/lib/layouts/graph/min-heap.d.ts.map +1 -1
  36. package/dist/lib/layouts/graph/min-heap.js +1 -5
  37. package/dist/lib/layouts/graph/min-heap.js.map +1 -1
  38. package/dist/lib/layouts/graph/node-content.d.ts +1 -1
  39. package/dist/lib/layouts/graph/node-content.d.ts.map +1 -1
  40. package/dist/lib/layouts/graph/node-content.js +26 -7
  41. package/dist/lib/layouts/graph/node-content.js.map +1 -1
  42. package/dist/lib/layouts/graph/path.d.ts +2 -10
  43. package/dist/lib/layouts/graph/path.d.ts.map +1 -1
  44. package/dist/lib/layouts/graph/path.js +11 -13
  45. package/dist/lib/layouts/graph/path.js.map +1 -1
  46. package/dist/lib/layouts/graph/round.d.ts +11 -0
  47. package/dist/lib/layouts/graph/round.d.ts.map +1 -0
  48. package/dist/lib/layouts/graph/round.js +181 -0
  49. package/dist/lib/layouts/graph/round.js.map +1 -0
  50. package/dist/lib/layouts/graph/route.d.ts +10 -6
  51. package/dist/lib/layouts/graph/route.d.ts.map +1 -1
  52. package/dist/lib/layouts/graph/route.js +68 -33
  53. package/dist/lib/layouts/graph/route.js.map +1 -1
  54. package/dist/lib/layouts/graph/sides.d.ts +10 -5
  55. package/dist/lib/layouts/graph/sides.d.ts.map +1 -1
  56. package/dist/lib/layouts/graph/sides.js +14 -7
  57. package/dist/lib/layouts/graph/sides.js.map +1 -1
  58. package/dist/lib/layouts/timeline/timeline-layout.d.ts +2 -1
  59. package/dist/lib/layouts/timeline/timeline-layout.d.ts.map +1 -1
  60. package/dist/lib/layouts/timeline/timeline-layout.js +9 -4
  61. package/dist/lib/layouts/timeline/timeline-layout.js.map +1 -1
  62. package/dist/lib/model/diagram-ir.d.ts +19 -156
  63. package/dist/lib/model/diagram-ir.d.ts.map +1 -1
  64. package/dist/lib/model/diagram-ir.js.map +1 -1
  65. package/dist/lib/model/validate-graph.d.ts +7 -0
  66. package/dist/lib/model/validate-graph.d.ts.map +1 -0
  67. package/dist/lib/model/validate-graph.js +54 -0
  68. package/dist/lib/model/validate-graph.js.map +1 -0
  69. package/dist/lib/react/Diagram.d.ts +3 -9
  70. package/dist/lib/react/Diagram.d.ts.map +1 -1
  71. package/dist/lib/react/Diagram.js +1 -13
  72. package/dist/lib/react/Diagram.js.map +1 -1
  73. package/dist/lib/react/diagram-types.d.ts +17 -46
  74. package/dist/lib/react/diagram-types.d.ts.map +1 -1
  75. package/dist/lib/react/diagram-types.js.map +1 -1
  76. package/dist/lib/renderers/canvas/graph-canvas.d.ts +2 -5
  77. package/dist/lib/renderers/canvas/graph-canvas.d.ts.map +1 -1
  78. package/dist/lib/renderers/canvas/graph-canvas.js +68 -43
  79. package/dist/lib/renderers/canvas/graph-canvas.js.map +1 -1
  80. package/dist/lib/renderers/html/graph-html.d.ts +2 -3
  81. package/dist/lib/renderers/html/graph-html.d.ts.map +1 -1
  82. package/dist/lib/renderers/html/graph-html.js +298 -289
  83. package/dist/lib/renderers/html/graph-html.js.map +1 -1
  84. package/dist/lib/renderers/shared/graph-parts.d.ts +3 -1
  85. package/dist/lib/renderers/shared/graph-parts.d.ts.map +1 -1
  86. package/dist/lib/renderers/shared/graph-parts.js +350 -418
  87. package/dist/lib/renderers/shared/graph-parts.js.map +1 -1
  88. package/dist/lib/renderers/shared/node-parts.d.ts +5 -6
  89. package/dist/lib/renderers/shared/node-parts.d.ts.map +1 -1
  90. package/dist/lib/renderers/shared/node-parts.js +112 -190
  91. package/dist/lib/renderers/shared/node-parts.js.map +1 -1
  92. package/dist/lib/renderers/shared/run-spans.js +2 -2
  93. package/dist/lib/renderers/shared/run-spans.js.map +1 -1
  94. package/dist/lib/renderers/shared/text-runs.d.ts +0 -6
  95. package/dist/lib/renderers/shared/text-runs.d.ts.map +1 -1
  96. package/dist/lib/renderers/shared/text-runs.js +0 -12
  97. package/dist/lib/renderers/shared/text-runs.js.map +1 -1
  98. package/dist/lib/renderers/svg/graph-svg.d.ts +1 -3
  99. package/dist/lib/renderers/svg/graph-svg.d.ts.map +1 -1
  100. package/dist/lib/renderers/svg/graph-svg.js +66 -80
  101. package/dist/lib/renderers/svg/graph-svg.js.map +1 -1
  102. package/dist/lib/renderers/svg/timeline-svg.d.ts.map +1 -1
  103. package/dist/lib/renderers/svg/timeline-svg.js +7 -5
  104. package/dist/lib/renderers/svg/timeline-svg.js.map +1 -1
  105. package/package.json +1 -1
  106. package/dist/lib/layouts/graph/graph-layout.d.ts +0 -154
  107. package/dist/lib/layouts/graph/graph-layout.d.ts.map +0 -1
  108. package/dist/lib/layouts/graph/graph-layout.js +0 -2340
  109. package/dist/lib/layouts/graph/graph-layout.js.map +0 -1
  110. package/dist/lib/layouts/graph/legacy-graph-layout.d.ts +0 -6
  111. package/dist/lib/layouts/graph/legacy-graph-layout.d.ts.map +0 -1
  112. package/dist/lib/layouts/graph/legacy-graph-layout.js +0 -542
  113. package/dist/lib/layouts/graph/legacy-graph-layout.js.map +0 -1
  114. package/dist/lib/layouts/text-metrics.d.ts +0 -7
  115. package/dist/lib/layouts/text-metrics.d.ts.map +0 -1
  116. package/dist/lib/layouts/text-metrics.js +0 -40
  117. 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 DiagramEdgeRoute = 'orthogonal' | 'straight';
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
- /** React content drawn inside the box; only HtmlGraphDiagram draws it. */
86
- content?: ReactNode;
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
- captionFontSize?: number | undefined;
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
- rx?: number;
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
- route?: DiagramEdgeRoute;
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
- titleGap?: number | undefined;
197
- padding?: number | Partial<Record<DiagramSide, number>> | undefined;
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 DiagramGraphSpec = {
151
+ export type DiagramGraphIR = {
278
152
  nodes: DiagramNode[];
279
153
  edges: DiagramEdge[];
280
- groups?: DiagramGroup[] | undefined;
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 DiagramAnchor = DiagramSide | 'center';\nexport type DiagramLabelAlign = 'start' | 'center' | 'end';\nexport type DiagramTextAlign = 'start' | 'middle' | 'end';\nexport type DiagramEdgeLabelSide =\n 'auto' | 'above' | 'below' | 'left' | 'right';\nexport type DiagramEdgeLineStyle = 'solid' | 'dashed' | 'dotted';\nexport type DiagramEdgeDirection = 'forward' | 'both' | 'none';\nexport type DiagramEdgeLayer = 'background' | 'foreground';\nexport type DiagramEdgeRoute = 'orthogonal' | 'straight';\nexport type DiagramGuideOrientation = 'vertical' | 'horizontal';\nexport type DiagramStackDirection =\n 'up-left' | 'up-right' | 'down-left' | 'down-right';\n\nexport type DiagramNodePort = {\n id: string;\n side: DiagramSide;\n offset?: number;\n label?: string;\n accent?: boolean;\n};\n\nexport type Point = { x: number; y: number };\nexport type DiagramWaypoint =\n | Point\n | { row: number; col: number; dx?: number; dy?: number }\n | {\n guide: string;\n target?: string;\n anchor?: DiagramAnchor;\n gap?: number;\n row?: number;\n col?: number;\n x?: number;\n y?: number;\n dx?: number;\n dy?: number;\n }\n | {\n target: string;\n anchor?: DiagramAnchor;\n gap?: number;\n dx?: number;\n dy?: number;\n };\nexport type Box = { x: number; y: number; w: number; h: number };\n\nexport type DiagramGraphLayout = {\n colWidth?: number;\n rowHeight?: number;\n columns?: number[];\n rows?: number[];\n padX?: number;\n padY?: number;\n titleTopPad?: number;\n};\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\nexport type DiagramNode = {\n id: string;\n label: string | DiagramLabelLine[];\n /** React content drawn inside the box; only HtmlGraphDiagram draws it. */\n content?: ReactNode;\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 /** Whether a Box or Card fills its grid area; other kinds keep their measured size. */\n stretch?: boolean | undefined;\n /** The id of the node or group a note explains. */\n target?: string | undefined;\n width?: number;\n height?: number;\n frame?: 'solid' | 'transparent' | 'flat' | 'filled' | 'none';\n textColor?: DiagramTextColor | undefined;\n tone?: DiagramTone | undefined;\n texture?: DiagramTexture | undefined;\n fontWeight?: number | undefined;\n fontSize?: number | undefined;\n bodyFontSize?: number;\n bodyLineGap?: number;\n accent?: boolean | undefined;\n description?: string | string[];\n items?: string[];\n caption?: string | string[] | undefined;\n captionSide?: DiagramSide | undefined;\n captionFrame?: boolean;\n captionOffset?: number | undefined;\n captionColor?: DiagramTextColor | undefined;\n captionFontSize?: number | undefined;\n captionFontWeight?: number | undefined;\n group?: string;\n icon?: DiagramNodeIcon | undefined;\n iconSize?: number | undefined;\n ports?: DiagramNodePort[] | undefined;\n rx?: number;\n textAlign?: 'center' | 'start' | undefined;\n hidden?: boolean | undefined;\n connectable?: boolean | undefined;\n stack?: number;\n stackOffset?: number;\n stackDirection?: DiagramStackDirection;\n stackDx?: number;\n stackDy?: number;\n stackWidthStep?: number;\n stackHeightStep?: number;\n appliancePorts?: number | undefined;\n antenna?: boolean | undefined;\n slant?: number | undefined;\n};\n\nexport type DiagramEdge = {\n from: string;\n to: string;\n label?: string[];\n badgeIcon?: DiagramNodeIcon;\n badgeLabel?: string[];\n badgeSide?: DiagramEdgeLabelSide;\n badgeOffset?: number;\n badgeDx?: number;\n badgeDy?: number;\n badgeT?: number;\n labelSide?: DiagramEdgeLabelSide;\n labelFontSize?: number;\n labelOffset?: number;\n labelT?: number;\n labelSegment?: number;\n labelDx?: number;\n labelDy?: number;\n labelAlign?: DiagramTextAlign;\n labelFrame?: boolean;\n labelFramePadding?: number;\n labelLineGap?: number;\n channel?: string;\n lineStyle?: DiagramEdgeLineStyle;\n direction?: DiagramEdgeDirection;\n layer?: DiagramEdgeLayer;\n route?: DiagramEdgeRoute;\n strokeWidth?: number;\n waypoints?: DiagramWaypoint[];\n exitSide?: DiagramSide;\n exitOffset?: number;\n entrySide?: DiagramSide;\n entryOffset?: number;\n entryGap?: number;\n stubDistance?: number;\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 rx?: number | 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 tight?: boolean | undefined;\n tightX?: boolean | undefined;\n tightY?: boolean | undefined;\n titleBand?: boolean | undefined;\n titleGap?: number | undefined;\n padding?: number | Partial<Record<DiagramSide, number>> | undefined;\n dividers?:\n | {\n rows?: number[];\n cols?: number[];\n }\n | undefined;\n bounds?:\n | {\n rowStart: number;\n rowEnd: number;\n colStart: number;\n colEnd: number;\n }\n | undefined;\n};\n\nexport type DiagramAnnotationLeaderRoute = 'straight' | 'elbow';\n\nexport type DiagramAnnotationLeader = {\n target: string;\n anchor: DiagramAnchor;\n route: DiagramAnnotationLeaderRoute;\n from: Point;\n to: Point;\n points: Point[];\n};\n\nexport type DiagramAnnotation = {\n x?: number;\n y?: number;\n target?: string;\n targets?: string[];\n anchor?: DiagramAnchor;\n guide?: string;\n offset?: number;\n dx?: number;\n dy?: number;\n text: string[];\n align?: DiagramTextAlign;\n color?: DiagramTextColor;\n fontWeight?: number;\n fontSize?: number;\n lineGap?: number;\n leader?: boolean;\n leaderGap?: number;\n leaderRoute?: DiagramAnnotationLeaderRoute;\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 DiagramGuide = {\n id?: string;\n orientation?: DiagramGuideOrientation;\n lane?: string;\n x?: number;\n y?: number;\n row?: number;\n col?: number;\n target?: string;\n anchor?: DiagramAnchor;\n gap?: number;\n dx?: number;\n dy?: number;\n yStart?: number;\n yEnd?: number;\n accent?: boolean;\n};\n\nexport type DiagramMarker = DiagramNode;\n\nexport type DiagramGraphSpec = {\n nodes: DiagramNode[];\n edges: DiagramEdge[];\n groups?: DiagramGroup[] | undefined;\n annotations?: DiagramAnnotation[];\n guides?: DiagramGuide[];\n layout?: DiagramGraphLayout | undefined;\n};\n\nexport type GraphLayoutSpec = DiagramGraphSpec & { title?: string[] };\n\nexport type DiagramTimelineSpec = {\n lanes: DiagramLane[];\n signals: DiagramSignal[];\n frame?: DiagramFrameElement | undefined;\n};\n\nexport type DiagramGraphIR = DiagramGraphSpec & {\n groups: DiagramGroup[];\n annotations: DiagramAnnotation[];\n guides: DiagramGuide[];\n};\n"],"mappings":"","ignoreList":[]}
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, DiagramEntryProps, DiagramExitProps, DiagramFrameProps, DiagramGroupProps, DiagramJunctionProps, DiagramLaneProps, DiagramLineProps, DiagramMarkerProps, DiagramNodeProps, DiagramPhantomProps, DiagramSignalProps, DiagramTextProps } from './diagram-types.ts';
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, DiagramEntryProps, DiagramExitProps, DiagramFrameProps, DiagramGroupProps, DiagramGuideProps, DiagramJunctionProps, DiagramLaneProps, DiagramLineProps, DiagramMarkerProps, DiagramNodeProps, DiagramPhantomProps, DiagramProps, DiagramSignalProps, DiagramTextProps, DiagramWaypointProps, } from './diagram-types.ts';
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<DiagramTextProps>;
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,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EAEjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAEjB,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,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AA6B5B,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BnB,CAAC"}
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 Text = primitive('text');
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","Phantom","Appliance","Connector","Junction","Edge","Arrow","Wire","Group","Text","Line","Lane","Signal","Frame","Marker","Guide","Waypoint","Entry","Exit","Content","Note","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 DiagramEntryProps,\n DiagramExitProps,\n DiagramFrameProps,\n DiagramGroupProps,\n DiagramGuideProps,\n DiagramJunctionProps,\n DiagramLaneProps,\n DiagramLineProps,\n DiagramMarkerProps,\n DiagramNodeProps,\n DiagramPhantomProps,\n DiagramSignalProps,\n DiagramTextProps,\n DiagramWaypointProps,\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 DiagramEntryProps,\n DiagramExitProps,\n DiagramFrameProps,\n DiagramGroupProps,\n DiagramGuideProps,\n DiagramJunctionProps,\n DiagramLaneProps,\n DiagramLineProps,\n DiagramMarkerProps,\n DiagramNodeProps,\n DiagramPhantomProps,\n DiagramProps,\n DiagramSignalProps,\n DiagramTextProps,\n DiagramWaypointProps,\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 Phantom = primitive<DiagramPhantomProps>('phantom');\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 Text = primitive<DiagramTextProps>('text');\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 Guide = primitive<DiagramGuideProps>('guide');\nconst Waypoint = primitive<DiagramWaypointProps>('waypoint');\nconst Entry = primitive<DiagramEntryProps>('entry');\nconst Exit = primitive<DiagramExitProps>('exit');\nconst Content = primitive<DiagramContentProps>('content');\nconst Note = Text;\n\nexport const Diagram = {\n Node,\n Edge,\n Group,\n Frame,\n Text,\n Line,\n Lane,\n Signal,\n Marker,\n Guide,\n Waypoint,\n Entry,\n Exit,\n Box,\n Card,\n Port,\n Label,\n Float,\n Phantom,\n Appliance,\n Connector,\n Junction,\n Wire,\n Arrow,\n Note,\n Content,\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,gCAAgC;AAuD1D,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,OAAO,GAAGP,SAAS,CAAsB,SAAS,CAAC;AACzD,MAAMQ,SAAS,GAAGR,SAAS,CAAwB,WAAW,CAAC;AAC/D,MAAMS,SAAS,GAAGT,SAAS,CAAwB,WAAW,CAAC;AAC/D,MAAMU,QAAQ,GAAGV,SAAS,CAAuB,UAAU,CAAC;AAC5D,MAAMW,IAAI,GAAGX,SAAS,CAAmB,MAAM,CAAC;AAChD,MAAMY,KAAK,GAAGZ,SAAS,CAAmB,OAAO,CAAC;AAClD,MAAMa,IAAI,GAAGb,SAAS,CAAmB,MAAM,CAAC;AAChD,MAAMc,KAAK,GAAGd,SAAS,CAAoB,OAAO,CAAC;AACnD,MAAMe,IAAI,GAAGf,SAAS,CAAmB,MAAM,CAAC;AAChD,MAAMgB,IAAI,GAAGhB,SAAS,CAAmB,MAAM,CAAC;AAChD,MAAMiB,IAAI,GAAGjB,SAAS,CAAmB,MAAM,CAAC;AAChD,MAAMkB,MAAM,GAAGlB,SAAS,CAAqB,QAAQ,CAAC;AACtD,MAAMmB,KAAK,GAAGnB,SAAS,CAAoB,OAAO,CAAC;AACnD,MAAMoB,MAAM,GAAGpB,SAAS,CAAqB,QAAQ,CAAC;AACtD,MAAMqB,KAAK,GAAGrB,SAAS,CAAoB,OAAO,CAAC;AACnD,MAAMsB,QAAQ,GAAGtB,SAAS,CAAuB,UAAU,CAAC;AAC5D,MAAMuB,KAAK,GAAGvB,SAAS,CAAoB,OAAO,CAAC;AACnD,MAAMwB,IAAI,GAAGxB,SAAS,CAAmB,MAAM,CAAC;AAChD,MAAMyB,OAAO,GAAGzB,SAAS,CAAsB,SAAS,CAAC;AACzD,MAAM0B,IAAI,GAAGX,IAAI;AAEjB,OAAO,MAAMY,OAAO,GAAG;EACrB1B,IAAI;EACJU,IAAI;EACJG,KAAK;EACLK,KAAK;EACLJ,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,MAAM;EACNE,MAAM;EACNC,KAAK;EACLC,QAAQ;EACRC,KAAK;EACLC,IAAI;EACJtB,GAAG;EACHC,IAAI;EACJC,IAAI;EACJC,KAAK;EACLC,KAAK;EACLC,OAAO;EACPC,SAAS;EACTC,SAAS;EACTC,QAAQ;EACRG,IAAI;EACJD,KAAK;EACLc,IAAI;EACJD;AACF,CAAC","ignoreList":[]}
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":[]}