@next-bricks/diagram 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/bricks.json +10 -0
  2. package/dist/chunks/1303.70dabf75.js +2 -0
  3. package/dist/chunks/1303.70dabf75.js.map +1 -0
  4. package/dist/chunks/1646.75d03d05.js +2 -0
  5. package/dist/chunks/1646.75d03d05.js.map +1 -0
  6. package/dist/chunks/1874.85ba64ca.js +2 -0
  7. package/dist/chunks/1874.85ba64ca.js.map +1 -0
  8. package/dist/chunks/2024.53d97685.js +2 -0
  9. package/dist/chunks/2024.53d97685.js.map +1 -0
  10. package/dist/chunks/2108.5684dc40.js +2 -0
  11. package/dist/chunks/2108.5684dc40.js.map +1 -0
  12. package/dist/chunks/2754.cbea5866.js +2 -0
  13. package/dist/chunks/2754.cbea5866.js.map +1 -0
  14. package/dist/chunks/2784.70c3fd78.js +2 -0
  15. package/dist/chunks/2784.70c3fd78.js.LICENSE.txt +9 -0
  16. package/dist/chunks/2993.ec4c251f.js +2 -0
  17. package/dist/chunks/2993.ec4c251f.js.map +1 -0
  18. package/dist/chunks/3166.bf4f0b41.js +3 -0
  19. package/dist/chunks/3166.bf4f0b41.js.LICENSE.txt +5 -0
  20. package/dist/chunks/3166.bf4f0b41.js.map +1 -0
  21. package/dist/chunks/3458.9ab412e3.js +2 -0
  22. package/dist/chunks/3458.9ab412e3.js.map +1 -0
  23. package/dist/chunks/4031.e35a7582.js +2 -0
  24. package/dist/chunks/4031.e35a7582.js.map +1 -0
  25. package/dist/chunks/4049.cdda8f99.js +2 -0
  26. package/dist/chunks/4049.cdda8f99.js.map +1 -0
  27. package/dist/chunks/4275.7315c167.js +2 -0
  28. package/dist/chunks/4275.7315c167.js.map +1 -0
  29. package/dist/chunks/4504.1f4df127.js +2 -0
  30. package/dist/chunks/4504.1f4df127.js.map +1 -0
  31. package/dist/chunks/4717.34d53aaa.js +2 -0
  32. package/dist/chunks/4717.34d53aaa.js.map +1 -0
  33. package/dist/chunks/5151.614d7062.js +2 -0
  34. package/dist/chunks/5151.614d7062.js.map +1 -0
  35. package/dist/chunks/5381.0bd4813d.js +2 -0
  36. package/dist/chunks/5381.0bd4813d.js.map +1 -0
  37. package/dist/chunks/5628.c306b668.js +2 -0
  38. package/dist/chunks/5628.c306b668.js.map +1 -0
  39. package/dist/chunks/5725.c89afa5f.js +2 -0
  40. package/dist/chunks/5725.c89afa5f.js.map +1 -0
  41. package/dist/chunks/6205.8038d239.js +2 -0
  42. package/dist/chunks/6205.8038d239.js.map +1 -0
  43. package/dist/chunks/6473.6f9b77d8.js +2 -0
  44. package/dist/chunks/6473.6f9b77d8.js.map +1 -0
  45. package/dist/chunks/6635.41cb938a.js +3 -0
  46. package/dist/chunks/6635.41cb938a.js.LICENSE.txt +8 -0
  47. package/dist/chunks/6635.41cb938a.js.map +1 -0
  48. package/dist/chunks/6653.e9c85257.js +2 -0
  49. package/dist/chunks/6653.e9c85257.js.map +1 -0
  50. package/dist/chunks/6660.df1815e2.js +2 -0
  51. package/dist/chunks/6660.df1815e2.js.map +1 -0
  52. package/dist/chunks/7067.3f1f372f.js +2 -0
  53. package/dist/chunks/7067.3f1f372f.js.map +1 -0
  54. package/dist/chunks/7110.8e981c34.js +2 -0
  55. package/dist/chunks/7110.8e981c34.js.map +1 -0
  56. package/dist/chunks/7164.38d06595.js +2 -0
  57. package/dist/chunks/7164.38d06595.js.map +1 -0
  58. package/dist/chunks/7672.bc4d7191.js +2 -0
  59. package/dist/chunks/7672.bc4d7191.js.map +1 -0
  60. package/dist/chunks/7746.1188f0ba.js +2 -0
  61. package/dist/chunks/7746.1188f0ba.js.map +1 -0
  62. package/dist/chunks/7915.26a8005c.js +2 -0
  63. package/dist/chunks/7915.26a8005c.js.map +1 -0
  64. package/dist/chunks/8008.5a59b5bb.js +3 -0
  65. package/dist/chunks/8008.5a59b5bb.js.LICENSE.txt +3 -0
  66. package/dist/chunks/8008.5a59b5bb.js.map +1 -0
  67. package/dist/chunks/8279.4c8718cb.js +2 -0
  68. package/dist/chunks/8279.4c8718cb.js.map +1 -0
  69. package/dist/chunks/8316.19210606.js +2 -0
  70. package/dist/chunks/8316.19210606.js.LICENSE.txt +19 -0
  71. package/dist/chunks/8498.e0c035d5.js +2 -0
  72. package/dist/chunks/8498.e0c035d5.js.map +1 -0
  73. package/dist/chunks/8691.26116604.js +2 -0
  74. package/dist/chunks/8691.26116604.js.map +1 -0
  75. package/dist/chunks/9431.968072ff.js +2 -0
  76. package/dist/chunks/9431.968072ff.js.map +1 -0
  77. package/dist/chunks/9549.09d4fb2e.js +2 -0
  78. package/dist/chunks/9549.09d4fb2e.js.map +1 -0
  79. package/dist/chunks/eo-diagram.97f0898f.js +2 -0
  80. package/dist/chunks/eo-diagram.97f0898f.js.map +1 -0
  81. package/dist/chunks/main.4f2df642.js +2 -0
  82. package/dist/chunks/main.4f2df642.js.map +1 -0
  83. package/dist/examples.json +5 -0
  84. package/dist/index.a7fb8eb0.js +2 -0
  85. package/dist/index.a7fb8eb0.js.map +1 -0
  86. package/dist/manifest.json +68 -0
  87. package/dist/types.json +468 -0
  88. package/dist-types/bootstrap.d.ts +1 -0
  89. package/dist-types/diagram/NodeComponent.d.ts +15 -0
  90. package/dist-types/diagram/constants.d.ts +3 -0
  91. package/dist-types/diagram/index.d.ts +36 -0
  92. package/dist-types/diagram/index.spec.d.ts +1 -0
  93. package/dist-types/diagram/interfaces.d.ts +69 -0
  94. package/dist-types/diagram/lines/curveLine.d.ts +5 -0
  95. package/dist-types/diagram/lines/curveLine.spec.d.ts +1 -0
  96. package/dist-types/diagram/processors/findNodeBrick.d.ts +2 -0
  97. package/dist-types/diagram/processors/findNodeBrick.spec.d.ts +1 -0
  98. package/dist-types/diagram/processors/getCenterOffsets.d.ts +2 -0
  99. package/dist-types/diagram/processors/getCenterOffsets.spec.d.ts +1 -0
  100. package/dist-types/diagram/processors/getRenderedLinesAndMarkers.d.ts +5 -0
  101. package/dist-types/diagram/processors/getRenderedLinesAndMarkers.spec.d.ts +1 -0
  102. package/dist-types/diagram/processors/handleKeyboard.d.ts +15 -0
  103. package/dist-types/diagram/processors/handleKeyboard.spec.d.ts +1 -0
  104. package/dist-types/diagram/processors/matchEdgeByFilter.d.ts +2 -0
  105. package/dist-types/diagram/processors/matchEdgeByFilter.spec.d.ts +1 -0
  106. package/dist-types/index.d.ts +0 -0
  107. package/docs/eo-diagram.md +369 -0
  108. package/package.json +44 -0
@@ -0,0 +1,68 @@
1
+ {
2
+ "manifest_version": 1,
3
+ "package": "@next-bricks/diagram",
4
+ "name": "diagram",
5
+ "bricks": [
6
+ {
7
+ "name": "eo-diagram",
8
+ "properties": [
9
+ {
10
+ "name": "layout",
11
+ "type": "\"dagre\""
12
+ },
13
+ {
14
+ "name": "nodes",
15
+ "attribute": false,
16
+ "type": "DiagramNode[]"
17
+ },
18
+ {
19
+ "name": "edges",
20
+ "attribute": false,
21
+ "type": "DiagramEdge[]"
22
+ },
23
+ {
24
+ "name": "nodeBricks",
25
+ "attribute": false,
26
+ "type": "NodeBrickConf[]"
27
+ },
28
+ {
29
+ "name": "lines",
30
+ "attribute": false,
31
+ "type": "LineConf[]"
32
+ },
33
+ {
34
+ "name": "layoutOptions",
35
+ "attribute": false,
36
+ "type": "LayoutOptionsDagre"
37
+ },
38
+ {
39
+ "name": "activeNodeId",
40
+ "type": "string"
41
+ },
42
+ {
43
+ "name": "disableKeyboardAction",
44
+ "type": "boolean"
45
+ }
46
+ ],
47
+ "events": [
48
+ {
49
+ "name": "activeNode.change",
50
+ "detail": {
51
+ "type": "DiagramNode | undefined"
52
+ }
53
+ },
54
+ {
55
+ "name": "node.delete",
56
+ "detail": {
57
+ "type": "DiagramNode"
58
+ }
59
+ }
60
+ ],
61
+ "slots": [],
62
+ "methods": [],
63
+ "parts": [],
64
+ "description": "构件 `eo-diagram`"
65
+ }
66
+ ],
67
+ "providers": []
68
+ }
@@ -0,0 +1,468 @@
1
+ {
2
+ "eo-diagram": {
3
+ "properties": [
4
+ {
5
+ "name": "layout",
6
+ "annotation": {
7
+ "type": "jsLiteral",
8
+ "value": "dagre"
9
+ }
10
+ },
11
+ {
12
+ "name": "nodes",
13
+ "annotation": {
14
+ "type": "array",
15
+ "elementType": {
16
+ "type": "reference",
17
+ "typeName": {
18
+ "type": "identifier",
19
+ "name": "DiagramNode"
20
+ }
21
+ }
22
+ }
23
+ },
24
+ {
25
+ "name": "edges",
26
+ "annotation": {
27
+ "type": "array",
28
+ "elementType": {
29
+ "type": "reference",
30
+ "typeName": {
31
+ "type": "identifier",
32
+ "name": "DiagramEdge"
33
+ }
34
+ }
35
+ }
36
+ },
37
+ {
38
+ "name": "nodeBricks",
39
+ "annotation": {
40
+ "type": "array",
41
+ "elementType": {
42
+ "type": "reference",
43
+ "typeName": {
44
+ "type": "identifier",
45
+ "name": "NodeBrickConf"
46
+ }
47
+ }
48
+ }
49
+ },
50
+ {
51
+ "name": "lines",
52
+ "annotation": {
53
+ "type": "array",
54
+ "elementType": {
55
+ "type": "reference",
56
+ "typeName": {
57
+ "type": "identifier",
58
+ "name": "LineConf"
59
+ }
60
+ }
61
+ }
62
+ },
63
+ {
64
+ "name": "layoutOptions",
65
+ "annotation": {
66
+ "type": "reference",
67
+ "typeName": {
68
+ "type": "identifier",
69
+ "name": "LayoutOptionsDagre"
70
+ }
71
+ }
72
+ },
73
+ {
74
+ "name": "activeNodeId",
75
+ "annotation": {
76
+ "type": "keyword",
77
+ "value": "string"
78
+ }
79
+ },
80
+ {
81
+ "name": "disableKeyboardAction",
82
+ "annotation": {
83
+ "type": "keyword",
84
+ "value": "boolean"
85
+ }
86
+ }
87
+ ],
88
+ "events": [
89
+ {
90
+ "name": "activeNode.change",
91
+ "detail": {
92
+ "annotation": {
93
+ "type": "union",
94
+ "types": [
95
+ {
96
+ "type": "reference",
97
+ "typeName": {
98
+ "type": "identifier",
99
+ "name": "DiagramNode"
100
+ }
101
+ },
102
+ {
103
+ "type": "keyword",
104
+ "value": "undefined"
105
+ }
106
+ ]
107
+ }
108
+ }
109
+ },
110
+ {
111
+ "name": "node.delete",
112
+ "detail": {
113
+ "annotation": {
114
+ "type": "reference",
115
+ "typeName": {
116
+ "type": "identifier",
117
+ "name": "DiagramNode"
118
+ }
119
+ }
120
+ }
121
+ }
122
+ ],
123
+ "methods": [],
124
+ "types": [
125
+ {
126
+ "type": "interface",
127
+ "name": "DiagramNode",
128
+ "body": [
129
+ {
130
+ "type": "propertySignature",
131
+ "key": {
132
+ "type": "identifier",
133
+ "name": "id"
134
+ },
135
+ "annotation": {
136
+ "type": "reference",
137
+ "typeName": {
138
+ "type": "identifier",
139
+ "name": "DiagramNodeId"
140
+ }
141
+ },
142
+ "computed": false
143
+ },
144
+ {
145
+ "type": "propertySignature",
146
+ "key": {
147
+ "type": "identifier",
148
+ "name": "type"
149
+ },
150
+ "annotation": {
151
+ "type": "keyword",
152
+ "value": "string"
153
+ },
154
+ "optional": true,
155
+ "computed": false
156
+ },
157
+ {
158
+ "type": "indexSignature",
159
+ "parameter": {
160
+ "type": "identifier",
161
+ "name": "key",
162
+ "annotation": {
163
+ "type": "keyword",
164
+ "value": "string"
165
+ }
166
+ },
167
+ "annotation": {
168
+ "type": "keyword",
169
+ "value": "unknown"
170
+ }
171
+ }
172
+ ]
173
+ },
174
+ {
175
+ "type": "typeAlias",
176
+ "name": "DiagramNodeId",
177
+ "annotation": {
178
+ "type": "keyword",
179
+ "value": "string"
180
+ }
181
+ },
182
+ {
183
+ "type": "interface",
184
+ "name": "DiagramEdge",
185
+ "body": [
186
+ {
187
+ "type": "propertySignature",
188
+ "key": {
189
+ "type": "identifier",
190
+ "name": "source"
191
+ },
192
+ "annotation": {
193
+ "type": "keyword",
194
+ "value": "string"
195
+ },
196
+ "computed": false
197
+ },
198
+ {
199
+ "type": "propertySignature",
200
+ "key": {
201
+ "type": "identifier",
202
+ "name": "target"
203
+ },
204
+ "annotation": {
205
+ "type": "keyword",
206
+ "value": "string"
207
+ },
208
+ "computed": false
209
+ },
210
+ {
211
+ "type": "propertySignature",
212
+ "key": {
213
+ "type": "identifier",
214
+ "name": "type"
215
+ },
216
+ "annotation": {
217
+ "type": "keyword",
218
+ "value": "string"
219
+ },
220
+ "optional": true,
221
+ "computed": false
222
+ },
223
+ {
224
+ "type": "indexSignature",
225
+ "parameter": {
226
+ "type": "identifier",
227
+ "name": "key",
228
+ "annotation": {
229
+ "type": "keyword",
230
+ "value": "string"
231
+ }
232
+ },
233
+ "annotation": {
234
+ "type": "keyword",
235
+ "value": "unknown"
236
+ }
237
+ }
238
+ ]
239
+ },
240
+ {
241
+ "type": "interface",
242
+ "name": "NodeBrickConf",
243
+ "body": [
244
+ {
245
+ "type": "propertySignature",
246
+ "key": {
247
+ "type": "identifier",
248
+ "name": "useBrick"
249
+ },
250
+ "annotation": {
251
+ "type": "reference",
252
+ "typeName": {
253
+ "type": "identifier",
254
+ "name": "UseSingleBrickConf"
255
+ }
256
+ },
257
+ "computed": false
258
+ },
259
+ {
260
+ "type": "propertySignature",
261
+ "key": {
262
+ "type": "identifier",
263
+ "name": "nodeType"
264
+ },
265
+ "annotation": {
266
+ "type": "union",
267
+ "types": [
268
+ {
269
+ "type": "keyword",
270
+ "value": "string"
271
+ },
272
+ {
273
+ "type": "array",
274
+ "elementType": {
275
+ "type": "keyword",
276
+ "value": "string"
277
+ }
278
+ }
279
+ ]
280
+ },
281
+ "optional": true,
282
+ "computed": false
283
+ },
284
+ {
285
+ "type": "propertySignature",
286
+ "key": {
287
+ "type": "identifier",
288
+ "name": "if"
289
+ },
290
+ "annotation": {
291
+ "type": "union",
292
+ "types": [
293
+ {
294
+ "type": "keyword",
295
+ "value": "string"
296
+ },
297
+ {
298
+ "type": "keyword",
299
+ "value": "boolean"
300
+ },
301
+ {
302
+ "type": "keyword",
303
+ "value": "null"
304
+ }
305
+ ]
306
+ },
307
+ "optional": true,
308
+ "computed": false
309
+ }
310
+ ]
311
+ },
312
+ {
313
+ "type": "interface",
314
+ "name": "LineConf",
315
+ "body": [
316
+ {
317
+ "type": "propertySignature",
318
+ "key": {
319
+ "type": "identifier",
320
+ "name": "edgeType"
321
+ },
322
+ "annotation": {
323
+ "type": "union",
324
+ "types": [
325
+ {
326
+ "type": "keyword",
327
+ "value": "string"
328
+ },
329
+ {
330
+ "type": "array",
331
+ "elementType": {
332
+ "type": "keyword",
333
+ "value": "string"
334
+ }
335
+ }
336
+ ]
337
+ },
338
+ "optional": true,
339
+ "computed": false
340
+ },
341
+ {
342
+ "type": "propertySignature",
343
+ "key": {
344
+ "type": "identifier",
345
+ "name": "if"
346
+ },
347
+ "annotation": {
348
+ "type": "union",
349
+ "types": [
350
+ {
351
+ "type": "keyword",
352
+ "value": "string"
353
+ },
354
+ {
355
+ "type": "keyword",
356
+ "value": "boolean"
357
+ },
358
+ {
359
+ "type": "keyword",
360
+ "value": "null"
361
+ }
362
+ ]
363
+ },
364
+ "optional": true,
365
+ "computed": false
366
+ },
367
+ {
368
+ "type": "propertySignature",
369
+ "key": {
370
+ "type": "identifier",
371
+ "name": "draw"
372
+ },
373
+ "annotation": {
374
+ "type": "keyword",
375
+ "value": "boolean"
376
+ },
377
+ "optional": true,
378
+ "computed": false
379
+ },
380
+ {
381
+ "type": "propertySignature",
382
+ "key": {
383
+ "type": "identifier",
384
+ "name": "type"
385
+ },
386
+ "annotation": {
387
+ "type": "jsLiteral",
388
+ "value": "auto"
389
+ },
390
+ "optional": true,
391
+ "computed": false
392
+ },
393
+ {
394
+ "type": "propertySignature",
395
+ "key": {
396
+ "type": "identifier",
397
+ "name": "strokeColor"
398
+ },
399
+ "annotation": {
400
+ "type": "keyword",
401
+ "value": "string"
402
+ },
403
+ "optional": true,
404
+ "computed": false
405
+ },
406
+ {
407
+ "type": "propertySignature",
408
+ "key": {
409
+ "type": "identifier",
410
+ "name": "strokeWidth"
411
+ },
412
+ "annotation": {
413
+ "type": "keyword",
414
+ "value": "number"
415
+ },
416
+ "optional": true,
417
+ "computed": false
418
+ },
419
+ {
420
+ "type": "propertySignature",
421
+ "key": {
422
+ "type": "identifier",
423
+ "name": "curveType"
424
+ },
425
+ "annotation": {
426
+ "type": "jsLiteral",
427
+ "value": "curveBasis"
428
+ },
429
+ "optional": true,
430
+ "computed": false
431
+ },
432
+ {
433
+ "type": "propertySignature",
434
+ "key": {
435
+ "type": "identifier",
436
+ "name": "arrow"
437
+ },
438
+ "annotation": {
439
+ "type": "keyword",
440
+ "value": "boolean"
441
+ },
442
+ "optional": true,
443
+ "computed": false
444
+ }
445
+ ]
446
+ },
447
+ {
448
+ "type": "interface",
449
+ "name": "LayoutOptionsDagre",
450
+ "body": [
451
+ {
452
+ "type": "propertySignature",
453
+ "key": {
454
+ "type": "identifier",
455
+ "name": "nodePadding"
456
+ },
457
+ "annotation": {
458
+ "type": "keyword",
459
+ "value": "number"
460
+ },
461
+ "optional": true,
462
+ "computed": false
463
+ }
464
+ ]
465
+ }
466
+ ]
467
+ }
468
+ }
@@ -0,0 +1 @@
1
+ import "./diagram/index.js";
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import type { DiagramNode, DiagramNodeId, NodeBrickConf, RefRepository } from "./interfaces";
3
+ export interface NodeComponentGroupProps {
4
+ nodes?: DiagramNode[];
5
+ nodeBricks?: NodeBrickConf[];
6
+ onRendered?: (refRepository: RefRepository | null) => void;
7
+ }
8
+ export declare function NodeComponentGroup({ nodes, nodeBricks, onRendered, }: NodeComponentGroupProps): JSX.Element;
9
+ export interface NodeComponentProps {
10
+ node: DiagramNode;
11
+ nodeBricks?: NodeBrickConf[];
12
+ onRendered?: (id: DiagramNodeId, element: HTMLElement | null) => void;
13
+ onUnmount?: (id: DiagramNodeId) => void;
14
+ }
15
+ export declare function NodeComponent({ node, nodeBricks, onRendered, onUnmount, }: NodeComponentProps): JSX.Element | null;
@@ -0,0 +1,3 @@
1
+ export declare const DEFAULT_LINE_STROKE_COLOR = "var(--palette-gray-5)";
2
+ export declare const DEFAULT_LINE_STROKE_WIDTH = 1;
3
+ export declare const DEFAULT_LINE_CURVE_TYPE = "curveBasis";
@@ -0,0 +1,36 @@
1
+ import React from "react";
2
+ import { ReactNextElement } from "@next-core/react-element";
3
+ import "@next-core/theme";
4
+ import type { DiagramEdge, DiagramNode, LayoutOptionsDagre, LineConf, NodeBrickConf } from "./interfaces";
5
+ export interface EoDiagramProps {
6
+ layout?: "dagre";
7
+ nodes?: DiagramNode[];
8
+ edges?: DiagramEdge[];
9
+ nodeBricks?: NodeBrickConf[];
10
+ lines?: LineConf[];
11
+ layoutOptions?: LayoutOptionsDagre;
12
+ activeNodeId?: string;
13
+ disableKeyboardAction?: boolean;
14
+ onActiveNodeChange?(node: DiagramNode | undefined): void;
15
+ onSwitchActiveNode?(id: string | undefined): void;
16
+ onNodeDelete?(node: DiagramNode): void;
17
+ }
18
+ export interface DiagramHandler {
19
+ moveIntoView(id: string): void;
20
+ }
21
+ /**
22
+ * 构件 `eo-diagram`
23
+ */
24
+ export declare class EoDiagram extends ReactNextElement implements EoDiagramProps {
25
+ #private;
26
+ accessor layout: "dagre" | undefined;
27
+ accessor nodes: DiagramNode[] | undefined;
28
+ accessor edges: DiagramEdge[] | undefined;
29
+ accessor nodeBricks: NodeBrickConf[] | undefined;
30
+ accessor lines: LineConf[] | undefined;
31
+ accessor layoutOptions: LayoutOptionsDagre | undefined;
32
+ accessor activeNodeId: string | undefined;
33
+ accessor disableKeyboardAction: boolean | undefined;
34
+ render(): React.JSX.Element;
35
+ }
36
+ export declare function EoDiagramComponent({ layout, nodes, edges, nodeBricks, lines, layoutOptions, activeNodeId, disableKeyboardAction, onActiveNodeChange, onSwitchActiveNode, onNodeDelete, }: EoDiagramProps): React.JSX.Element;
@@ -0,0 +1 @@
1
+ import "./";
@@ -0,0 +1,69 @@
1
+ import { UseSingleBrickConf } from "@next-core/react-runtime";
2
+ export interface DiagramNode {
3
+ id: DiagramNodeId;
4
+ type?: string;
5
+ [key: string]: unknown;
6
+ }
7
+ export interface DiagramEdge {
8
+ source: string;
9
+ target: string;
10
+ type?: string;
11
+ [key: string]: unknown;
12
+ }
13
+ export interface RenderedGraph {
14
+ nodes: RenderedNode[];
15
+ edges: RenderedEdge[];
16
+ }
17
+ export interface RenderedNode {
18
+ id: DiagramNodeId;
19
+ x: number;
20
+ y: number;
21
+ width: number;
22
+ height: number;
23
+ data: DiagramNode;
24
+ }
25
+ export interface RenderedEdge {
26
+ points: NodePosition[];
27
+ data: DiagramEdge;
28
+ }
29
+ export interface RenderedLine extends RenderedEdge {
30
+ line: LineConf & {
31
+ strokeColor: string;
32
+ strokeWidth: number;
33
+ curveType: "curveBasis";
34
+ };
35
+ markerIndex: number | undefined;
36
+ }
37
+ export interface LineMarker {
38
+ strokeColor: string;
39
+ }
40
+ export type DiagramNodeId = string;
41
+ export type RefRepository = Map<DiagramNodeId, HTMLElement>;
42
+ export interface NodeBrickConf {
43
+ useBrick: UseSingleBrickConf;
44
+ nodeType?: string | string[];
45
+ if?: string | boolean | null;
46
+ }
47
+ export interface NodePosition {
48
+ x: number;
49
+ y: number;
50
+ }
51
+ export type CurveType = `curve${string}`;
52
+ export interface LineConf {
53
+ edgeType?: string | string[];
54
+ if?: string | boolean | null;
55
+ draw?: boolean;
56
+ type?: "auto";
57
+ strokeColor?: string;
58
+ strokeWidth?: number;
59
+ curveType?: "curveBasis";
60
+ arrow?: boolean;
61
+ }
62
+ export interface TransformLiteral {
63
+ k: number;
64
+ x: number;
65
+ y: number;
66
+ }
67
+ export interface LayoutOptionsDagre {
68
+ nodePadding?: number;
69
+ }
@@ -0,0 +1,5 @@
1
+ import type { CurveType, NodePosition } from "../interfaces";
2
+ /**
3
+ * Generate Line from points
4
+ */
5
+ export declare function curveLine(points: Array<NodePosition>, arrowOffset: number, curveType?: CurveType): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { NodeBrickConf, DiagramNode } from "../interfaces";
2
+ export declare function findNodeBrick(node: DiagramNode, nodeBricks: NodeBrickConf[] | undefined): NodeBrickConf | undefined;
@@ -0,0 +1,2 @@
1
+ import type { RenderedNode } from "../interfaces";
2
+ export declare function getCenterOffsets(renderedNodes: RenderedNode[], [canvasWidth, canvasHeight]: [canvasWidth: number, canvasHeight: number]): [offsetX: number, offsetY: number];