@zenode/designer 3.5.8 → 3.5.9
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 +3 -3
- package/dist/defaultConfig.cjs +542 -0
- package/dist/defaultConfig.cjs.map +1 -0
- package/dist/defaultConfig.js +540 -0
- package/dist/defaultConfig.js.map +1 -0
- package/dist/defaults-B8cG7xLG.js +181 -0
- package/dist/defaults-B8cG7xLG.js.map +1 -0
- package/dist/defaults-Bp5gmH4b.js +179 -0
- package/dist/defaults-Bp5gmH4b.js.map +1 -0
- package/dist/events/mouseClick.js +34 -34
- package/dist/events/mouseMove.js +82 -82
- package/dist/testConfig.cjs +553 -0
- package/dist/testConfig.cjs.map +1 -0
- package/dist/testConfig.js +551 -0
- package/dist/testConfig.js.map +1 -0
- package/package.json +2 -3
- package/assets/demo.svg +0 -108
- package/dist/config/testXML.cjs +0 -17
- package/dist/config/testXML.cjs.map +0 -1
- package/dist/config/testXML.d.ts +0 -1
- package/dist/config/testXML.js +0 -15
- package/dist/config/testXML.js.map +0 -1
- package/dist/core/serialization.cjs +0 -123
- package/dist/core/serialization.cjs.map +0 -1
- package/dist/core/serialization.d.ts +0 -26
- package/dist/core/serialization.js +0 -121
- package/dist/core/serialization.js.map +0 -1
- package/dist/events/mouseClick.cjs +0 -36
- package/dist/events/mouseClick.cjs.map +0 -1
- package/dist/events/mouseMove.cjs +0 -104
- package/dist/events/mouseMove.cjs.map +0 -1
- package/dist/icons.bundle.js +0 -763
- package/dist/icons.bundle.js.map +0 -1
- package/dist/icons.cjs +0 -105
- package/dist/icons.cjs.map +0 -1
- package/dist/icons.d.ts +0 -7
- package/dist/icons.js +0 -89
- package/dist/icons.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/createElement.cjs +0 -36
- package/dist/node_modules/lucide/dist/esm/createElement.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/createElement.js +0 -34
- package/dist/node_modules/lucide/dist/esm/createElement.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/defaultAttributes.cjs +0 -23
- package/dist/node_modules/lucide/dist/esm/defaultAttributes.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/defaultAttributes.js +0 -21
- package/dist/node_modules/lucide/dist/esm/defaultAttributes.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/arrow-down-right.cjs +0 -16
- package/dist/node_modules/lucide/dist/esm/icons/arrow-down-right.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/arrow-down-right.js +0 -14
- package/dist/node_modules/lucide/dist/esm/icons/arrow-down-right.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/arrow-right.cjs +0 -16
- package/dist/node_modules/lucide/dist/esm/icons/arrow-right.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/arrow-right.js +0 -14
- package/dist/node_modules/lucide/dist/esm/icons/arrow-right.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/arrow-up-right.cjs +0 -16
- package/dist/node_modules/lucide/dist/esm/icons/arrow-up-right.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/arrow-up-right.js +0 -14
- package/dist/node_modules/lucide/dist/esm/icons/arrow-up-right.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/box.cjs +0 -22
- package/dist/node_modules/lucide/dist/esm/icons/box.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/box.js +0 -20
- package/dist/node_modules/lucide/dist/esm/icons/box.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/chevron-down.cjs +0 -13
- package/dist/node_modules/lucide/dist/esm/icons/chevron-down.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/chevron-down.js +0 -11
- package/dist/node_modules/lucide/dist/esm/icons/chevron-down.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/chevron-right.cjs +0 -13
- package/dist/node_modules/lucide/dist/esm/icons/chevron-right.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/chevron-right.js +0 -11
- package/dist/node_modules/lucide/dist/esm/icons/chevron-right.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/circle-alert.cjs +0 -17
- package/dist/node_modules/lucide/dist/esm/icons/circle-alert.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/circle-alert.js +0 -15
- package/dist/node_modules/lucide/dist/esm/icons/circle-alert.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/circle-check-big.cjs +0 -16
- package/dist/node_modules/lucide/dist/esm/icons/circle-check-big.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/circle-check-big.js +0 -14
- package/dist/node_modules/lucide/dist/esm/icons/circle-check-big.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/circle-question-mark.cjs +0 -17
- package/dist/node_modules/lucide/dist/esm/icons/circle-question-mark.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/circle-question-mark.js +0 -15
- package/dist/node_modules/lucide/dist/esm/icons/circle-question-mark.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/circle.cjs +0 -13
- package/dist/node_modules/lucide/dist/esm/icons/circle.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/circle.js +0 -11
- package/dist/node_modules/lucide/dist/esm/icons/circle.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/cloud.cjs +0 -13
- package/dist/node_modules/lucide/dist/esm/icons/cloud.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/cloud.js +0 -11
- package/dist/node_modules/lucide/dist/esm/icons/cloud.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/copy.cjs +0 -16
- package/dist/node_modules/lucide/dist/esm/icons/copy.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/copy.js +0 -14
- package/dist/node_modules/lucide/dist/esm/icons/copy.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/database.cjs +0 -17
- package/dist/node_modules/lucide/dist/esm/icons/database.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/database.js +0 -15
- package/dist/node_modules/lucide/dist/esm/icons/database.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/diamond.cjs +0 -20
- package/dist/node_modules/lucide/dist/esm/icons/diamond.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/diamond.js +0 -18
- package/dist/node_modules/lucide/dist/esm/icons/diamond.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/download.cjs +0 -17
- package/dist/node_modules/lucide/dist/esm/icons/download.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/download.js +0 -15
- package/dist/node_modules/lucide/dist/esm/icons/download.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/eye-off.cjs +0 -28
- package/dist/node_modules/lucide/dist/esm/icons/eye-off.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/eye-off.js +0 -26
- package/dist/node_modules/lucide/dist/esm/icons/eye-off.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/eye.cjs +0 -21
- package/dist/node_modules/lucide/dist/esm/icons/eye.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/eye.js +0 -19
- package/dist/node_modules/lucide/dist/esm/icons/eye.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/grid-3x3.cjs +0 -19
- package/dist/node_modules/lucide/dist/esm/icons/grid-3x3.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/grid-3x3.js +0 -17
- package/dist/node_modules/lucide/dist/esm/icons/grid-3x3.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/history.cjs +0 -17
- package/dist/node_modules/lucide/dist/esm/icons/history.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/history.js +0 -15
- package/dist/node_modules/lucide/dist/esm/icons/history.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/info.cjs +0 -17
- package/dist/node_modules/lucide/dist/esm/icons/info.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/info.js +0 -15
- package/dist/node_modules/lucide/dist/esm/icons/info.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/lasso.cjs +0 -17
- package/dist/node_modules/lucide/dist/esm/icons/lasso.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/lasso.js +0 -15
- package/dist/node_modules/lucide/dist/esm/icons/lasso.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/maximize.cjs +0 -18
- package/dist/node_modules/lucide/dist/esm/icons/maximize.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/maximize.js +0 -16
- package/dist/node_modules/lucide/dist/esm/icons/maximize.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/minimize.cjs +0 -18
- package/dist/node_modules/lucide/dist/esm/icons/minimize.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/minimize.js +0 -16
- package/dist/node_modules/lucide/dist/esm/icons/minimize.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/mouse-pointer.cjs +0 -21
- package/dist/node_modules/lucide/dist/esm/icons/mouse-pointer.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/mouse-pointer.js +0 -19
- package/dist/node_modules/lucide/dist/esm/icons/mouse-pointer.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/move.cjs +0 -20
- package/dist/node_modules/lucide/dist/esm/icons/move.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/move.js +0 -18
- package/dist/node_modules/lucide/dist/esm/icons/move.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/panels-top-left.cjs +0 -17
- package/dist/node_modules/lucide/dist/esm/icons/panels-top-left.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/panels-top-left.js +0 -15
- package/dist/node_modules/lucide/dist/esm/icons/panels-top-left.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/pen.cjs +0 -20
- package/dist/node_modules/lucide/dist/esm/icons/pen.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/pen.js +0 -18
- package/dist/node_modules/lucide/dist/esm/icons/pen.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/plus.cjs +0 -16
- package/dist/node_modules/lucide/dist/esm/icons/plus.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/plus.js +0 -14
- package/dist/node_modules/lucide/dist/esm/icons/plus.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/search.cjs +0 -16
- package/dist/node_modules/lucide/dist/esm/icons/search.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/search.js +0 -14
- package/dist/node_modules/lucide/dist/esm/icons/search.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/settings.cjs +0 -21
- package/dist/node_modules/lucide/dist/esm/icons/settings.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/settings.js +0 -19
- package/dist/node_modules/lucide/dist/esm/icons/settings.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/share-2.cjs +0 -19
- package/dist/node_modules/lucide/dist/esm/icons/share-2.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/share-2.js +0 -17
- package/dist/node_modules/lucide/dist/esm/icons/share-2.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/square.cjs +0 -13
- package/dist/node_modules/lucide/dist/esm/icons/square.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/square.js +0 -11
- package/dist/node_modules/lucide/dist/esm/icons/square.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/sticky-note.cjs +0 -21
- package/dist/node_modules/lucide/dist/esm/icons/sticky-note.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/sticky-note.js +0 -19
- package/dist/node_modules/lucide/dist/esm/icons/sticky-note.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/trash-2.cjs +0 -19
- package/dist/node_modules/lucide/dist/esm/icons/trash-2.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/trash-2.js +0 -17
- package/dist/node_modules/lucide/dist/esm/icons/trash-2.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/triangle.cjs +0 -15
- package/dist/node_modules/lucide/dist/esm/icons/triangle.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/triangle.js +0 -13
- package/dist/node_modules/lucide/dist/esm/icons/triangle.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/x.cjs +0 -16
- package/dist/node_modules/lucide/dist/esm/icons/x.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/x.js +0 -14
- package/dist/node_modules/lucide/dist/esm/icons/x.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/zap.cjs +0 -20
- package/dist/node_modules/lucide/dist/esm/icons/zap.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/icons/zap.js +0 -18
- package/dist/node_modules/lucide/dist/esm/icons/zap.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/lucide.cjs +0 -56
- package/dist/node_modules/lucide/dist/esm/lucide.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/lucide.js +0 -54
- package/dist/node_modules/lucide/dist/esm/lucide.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/replaceElement.cjs +0 -73
- package/dist/node_modules/lucide/dist/esm/replaceElement.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/replaceElement.js +0 -67
- package/dist/node_modules/lucide/dist/esm/replaceElement.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/shared/src/utils/hasA11yProp.cjs +0 -20
- package/dist/node_modules/lucide/dist/esm/shared/src/utils/hasA11yProp.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/shared/src/utils/hasA11yProp.js +0 -18
- package/dist/node_modules/lucide/dist/esm/shared/src/utils/hasA11yProp.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/shared/src/utils/mergeClasses.cjs +0 -15
- package/dist/node_modules/lucide/dist/esm/shared/src/utils/mergeClasses.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/shared/src/utils/mergeClasses.js +0 -13
- package/dist/node_modules/lucide/dist/esm/shared/src/utils/mergeClasses.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/shared/src/utils/toCamelCase.cjs +0 -16
- package/dist/node_modules/lucide/dist/esm/shared/src/utils/toCamelCase.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/shared/src/utils/toCamelCase.js +0 -14
- package/dist/node_modules/lucide/dist/esm/shared/src/utils/toCamelCase.js.map +0 -1
- package/dist/node_modules/lucide/dist/esm/shared/src/utils/toPascalCase.cjs +0 -19
- package/dist/node_modules/lucide/dist/esm/shared/src/utils/toPascalCase.cjs.map +0 -1
- package/dist/node_modules/lucide/dist/esm/shared/src/utils/toPascalCase.js +0 -17
- package/dist/node_modules/lucide/dist/esm/shared/src/utils/toPascalCase.js.map +0 -1
package/assets/demo.svg
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 500" width="100%" height="auto" style="background-color: #FAFAFA; border-radius: 8px;">
|
|
2
|
-
<defs>
|
|
3
|
-
<!-- Background Grid -->
|
|
4
|
-
<pattern id="grid" width="20" height="20" patternUnits="userSpaceOnUse">
|
|
5
|
-
<path d="M 20 0 L 0 0 0 20" fill="none" stroke="#E5E7EB" stroke-width="0.5" />
|
|
6
|
-
</pattern>
|
|
7
|
-
<!-- Markers -->
|
|
8
|
-
<marker id="marker-arrow-000000" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
|
|
9
|
-
<path d="M 0 0 L 10 5 L 0 10 z" fill="#000000" />
|
|
10
|
-
</marker>
|
|
11
|
-
<marker id="marker-arrow-666666" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
|
|
12
|
-
<path d="M 0 0 L 10 5 L 0 10 z" fill="#666666" />
|
|
13
|
-
</marker>
|
|
14
|
-
<marker id="marker-arrow-333333" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
|
|
15
|
-
<path d="M 0 0 L 10 5 L 0 10 z" fill="#333333" />
|
|
16
|
-
</marker>
|
|
17
|
-
<marker id="marker-arrow-444444" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
|
|
18
|
-
<path d="M 0 0 L 10 5 L 0 10 z" fill="#444444" />
|
|
19
|
-
</marker>
|
|
20
|
-
</defs>
|
|
21
|
-
|
|
22
|
-
<rect width="100%" height="100%" fill="url(#grid)" />
|
|
23
|
-
<!-- Animation uses SMIL to bypass strict NPM CSP -->
|
|
24
|
-
|
|
25
|
-
<g transform="translate(0,-60)">
|
|
26
|
-
<!-- Connections -->
|
|
27
|
-
<g class="connections">
|
|
28
|
-
<g>
|
|
29
|
-
<path d="M 130 200 L 240 200" fill="none" stroke="#000000" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#marker-arrow-000000)">
|
|
30
|
-
<animate attributeName="stroke-dashoffset" from="0" to="-24" dur="1s" repeatCount="indefinite" />
|
|
31
|
-
</path>
|
|
32
|
-
</g>
|
|
33
|
-
<g>
|
|
34
|
-
<path d="M 340 240 C 340 304 276 400 340 400" fill="none" stroke="#666666" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#marker-arrow-666666)">
|
|
35
|
-
<animate attributeName="stroke-dashoffset" from="0" to="-24" dur="1s" repeatCount="indefinite" />
|
|
36
|
-
</path>
|
|
37
|
-
</g>
|
|
38
|
-
<g>
|
|
39
|
-
<path d="M 440 360 C 490 360 490 280 540 280" fill="none" stroke="#333333" stroke-width="2" stroke-dasharray="4,2" marker-end="url(#marker-arrow-333333)">
|
|
40
|
-
<animate attributeName="stroke-dashoffset" from="0" to="-24" dur="1s" repeatCount="indefinite" />
|
|
41
|
-
</path>
|
|
42
|
-
</g>
|
|
43
|
-
<g>
|
|
44
|
-
<path d="M 580 240 L 580 220 L 580 180 L 640 180 L 660 180" fill="none" stroke="#444444" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#marker-arrow-444444)">
|
|
45
|
-
<animate attributeName="stroke-dashoffset" from="0" to="-24" dur="1s" repeatCount="indefinite" />
|
|
46
|
-
</path>
|
|
47
|
-
</g>
|
|
48
|
-
<g>
|
|
49
|
-
<path d="M 780 180 C 823.7 180 874.2 289.3 874.2 289.3" fill="none" stroke="#666666" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#marker-arrow-666666)">
|
|
50
|
-
<animate attributeName="stroke-dashoffset" from="0" to="-24" dur="1s" repeatCount="indefinite" />
|
|
51
|
-
</path>
|
|
52
|
-
</g>
|
|
53
|
-
</g>
|
|
54
|
-
|
|
55
|
-
<!-- Nodes -->
|
|
56
|
-
<g class="placed-nodes">
|
|
57
|
-
<!-- Start Node -->
|
|
58
|
-
<g transform="translate(100,200)">
|
|
59
|
-
<circle cx="0" cy="0" r="30" fill="#3B82F6" fill-opacity="0.35" stroke="#1D4ED8" stroke-width="1.5"></circle>
|
|
60
|
-
<g transform="translate(-10, -10)" stroke="#000000" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
|
61
|
-
<circle cx="10" cy="10" r="10"></circle>
|
|
62
|
-
<path d="M7 7 L12 10 L7 13 Z" fill="currentColor"></path>
|
|
63
|
-
</g>
|
|
64
|
-
</g>
|
|
65
|
-
|
|
66
|
-
<!-- Process Node 1 -->
|
|
67
|
-
<g transform="translate(340,200)">
|
|
68
|
-
<path d="M -92,-40 H 92 A 8,8 0 0 1 100,-32 V 32 A 8,8 0 0 1 92,40 H -92 A 8,8 0 0 1 -100,32 V -32 A 8,8 0 0 1 -92,-40 Z" fill="#F8FAFC" fill-opacity="0.9" stroke="#CBD5E1" stroke-width="1"></path>
|
|
69
|
-
<text y="4" class="node-text" fill="rgb(40, 61, 226)">process 1</text>
|
|
70
|
-
</g>
|
|
71
|
-
|
|
72
|
-
<!-- Process Node 2 -->
|
|
73
|
-
<g transform="translate(440,400)">
|
|
74
|
-
<path d="M -92,-40 H 92 A 8,8 0 0 1 100,-32 V 32 A 8,8 0 0 1 92,40 H -92 A 8,8 0 0 1 -100,32 V -32 A 8,8 0 0 1 -92,-40 Z" fill="#F8FAFC" fill-opacity="0.9" stroke="#CBD5E1" stroke-width="1"></path>
|
|
75
|
-
<text y="4" class="node-text" fill="rgb(255, 61, 61)">process 2</text>
|
|
76
|
-
</g>
|
|
77
|
-
|
|
78
|
-
<!-- Timer/Decision Node -->
|
|
79
|
-
<g transform="translate(580,280)">
|
|
80
|
-
<path d="M 0 -40 L 40 0 L 0 40 L -40 0 Z" fill="#EC4899" fill-opacity="0.35" stroke="#BE185D" stroke-width="1.5"></path>
|
|
81
|
-
<g transform="translate(-12, -12)" stroke="#ffffff" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
|
82
|
-
<circle cx="12" cy="13" r="8"></circle>
|
|
83
|
-
<path d="M12 10v6"></path>
|
|
84
|
-
<path d="M9 13h6"></path>
|
|
85
|
-
</g>
|
|
86
|
-
</g>
|
|
87
|
-
|
|
88
|
-
<!-- Complete Node -->
|
|
89
|
-
<g transform="translate(720,180)">
|
|
90
|
-
<path d="M -55,-40 H 55 A 5,5 0 0 1 60,-35 V 35 A 5,5 0 0 1 55,40 H -55 A 5,5 0 0 1 -60,35 V -35 A 5,5 0 0 1 -55,-40 Z" fill="#8B5CF6" fill-opacity="0.35" stroke="#6D28D9" stroke-width="1.5"></path>
|
|
91
|
-
<g transform="translate(-10, -20)" stroke="#22a720" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
|
92
|
-
<path d="M18 6 7 17l-5-5"></path>
|
|
93
|
-
<path d="m22 10-7.5 7.5L13 16"></path>
|
|
94
|
-
</g>
|
|
95
|
-
<text y="14" class="node-text" fill="rgb(34, 167, 32)">complete</text>
|
|
96
|
-
</g>
|
|
97
|
-
|
|
98
|
-
<!-- End/Stop Node -->
|
|
99
|
-
<g transform="translate(900,320)">
|
|
100
|
-
<path d="M 0 -40 L 25 -30 L 39 -7 L 34 20 L 13 37 L -13 37 L -34 20 L -39 -7 L -25 -30 Z" fill="#FB923C" fill-opacity="0.35" stroke="#C2410C" stroke-width="1.5"></path>
|
|
101
|
-
<g transform="translate(-10, -10)" stroke="#ff0000" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
|
102
|
-
<path d="M8 7v6"></path>
|
|
103
|
-
<path d="M12 7v6"></path>
|
|
104
|
-
</g>
|
|
105
|
-
</g>
|
|
106
|
-
</g>
|
|
107
|
-
</g>
|
|
108
|
-
</svg>
|
package/dist/config/testXML.cjs
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const testXML = `<?xml version="1.0" encoding="UTF-8"?>
|
|
4
|
-
<zenode:workflow xmlns:zenode="http://zenode.dev/schema">
|
|
5
|
-
<nodes>
|
|
6
|
-
<node id="86f46f77-56cf-4ce7-85e8-30325aea6363" type="rectangle" x="220" y="300">
|
|
7
|
-
</node>
|
|
8
|
-
<node id="b7db7809-43b4-425f-915a-041317c1bf52" type="triangle" x="560" y="340">
|
|
9
|
-
</node>
|
|
10
|
-
</nodes>
|
|
11
|
-
<connections>
|
|
12
|
-
<connection id="conn-86f46f77-56cf-4ce7-85e8-30325aea6363-b7db7809-43b4-425f-915a-041317c1bf52-1775160075674" from="86f46f77-56cf-4ce7-85e8-30325aea6363" to="b7db7809-43b4-425f-915a-041317c1bf52" />
|
|
13
|
-
</connections>
|
|
14
|
-
</zenode:workflow>`;
|
|
15
|
-
|
|
16
|
-
exports.testXML = testXML;
|
|
17
|
-
//# sourceMappingURL=testXML.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testXML.cjs","sources":["../../src/config/testXML.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAa,MAAA,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;"}
|
package/dist/config/testXML.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const testXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<zenode:workflow xmlns:zenode=\"http://zenode.dev/schema\">\n <nodes>\n <node id=\"86f46f77-56cf-4ce7-85e8-30325aea6363\" type=\"rectangle\" x=\"220\" y=\"300\">\n </node>\n <node id=\"b7db7809-43b4-425f-915a-041317c1bf52\" type=\"triangle\" x=\"560\" y=\"340\">\n </node>\n </nodes>\n <connections>\n <connection id=\"conn-86f46f77-56cf-4ce7-85e8-30325aea6363-b7db7809-43b4-425f-915a-041317c1bf52-1775160075674\" from=\"86f46f77-56cf-4ce7-85e8-30325aea6363\" to=\"b7db7809-43b4-425f-915a-041317c1bf52\" />\n </connections>\n</zenode:workflow>";
|
package/dist/config/testXML.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
const testXML = `<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<zenode:workflow xmlns:zenode="http://zenode.dev/schema">
|
|
3
|
-
<nodes>
|
|
4
|
-
<node id="86f46f77-56cf-4ce7-85e8-30325aea6363" type="rectangle" x="220" y="300">
|
|
5
|
-
</node>
|
|
6
|
-
<node id="b7db7809-43b4-425f-915a-041317c1bf52" type="triangle" x="560" y="340">
|
|
7
|
-
</node>
|
|
8
|
-
</nodes>
|
|
9
|
-
<connections>
|
|
10
|
-
<connection id="conn-86f46f77-56cf-4ce7-85e8-30325aea6363-b7db7809-43b4-425f-915a-041317c1bf52-1775160075674" from="86f46f77-56cf-4ce7-85e8-30325aea6363" to="b7db7809-43b4-425f-915a-041317c1bf52" />
|
|
11
|
-
</connections>
|
|
12
|
-
</zenode:workflow>`;
|
|
13
|
-
|
|
14
|
-
export { testXML };
|
|
15
|
-
//# sourceMappingURL=testXML.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testXML.js","sources":["../../src/config/testXML.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAa,MAAA,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;"}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Handles serialization of Zenode diagrams to various industry-standard formats.
|
|
5
|
-
* Fulfills Phase 3.5 of the Layer 1 roadmap.
|
|
6
|
-
*/
|
|
7
|
-
class SerializationEngine {
|
|
8
|
-
/**
|
|
9
|
-
* Generates a Mermaid.js diagram definition (perfect for GitHub READMEs).
|
|
10
|
-
*/
|
|
11
|
-
toMermaid(nodes, edges) {
|
|
12
|
-
let script = "graph TD\n";
|
|
13
|
-
// Add nodes with labels
|
|
14
|
-
nodes.forEach(n => {
|
|
15
|
-
var _a, _b;
|
|
16
|
-
const label = ((_b = (_a = n.content) === null || _a === void 0 ? void 0 : _a.items.find(i => i.kind === 'text')) === null || _b === void 0 ? void 0 : _b.value) || n.id;
|
|
17
|
-
// Handle the different shape representations in Mermaid
|
|
18
|
-
let left = "[", right = "]";
|
|
19
|
-
if (n.type === 'circle' || n.type === 'oval') {
|
|
20
|
-
left = "((";
|
|
21
|
-
right = "))";
|
|
22
|
-
}
|
|
23
|
-
if (n.type === 'rhombus') {
|
|
24
|
-
left = "{";
|
|
25
|
-
right = "}";
|
|
26
|
-
}
|
|
27
|
-
script += ` ${n.id}${left}"${label}"${right}\n`;
|
|
28
|
-
});
|
|
29
|
-
// Add edges
|
|
30
|
-
edges.forEach(e => {
|
|
31
|
-
script += ` ${e.sourceNodeId} --> ${e.targetNodeId}\n`;
|
|
32
|
-
});
|
|
33
|
-
return script;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Generates a Graphviz DOT definition.
|
|
37
|
-
*/
|
|
38
|
-
toDOT(nodes, edges) {
|
|
39
|
-
let script = "digraph ZenodeWorkflow {\n";
|
|
40
|
-
script += ' rankdir=LR;\n';
|
|
41
|
-
script += ' node [shape=box, style=rounded, fontname="Inter"];\n';
|
|
42
|
-
nodes.forEach(n => {
|
|
43
|
-
var _a, _b;
|
|
44
|
-
const label = ((_b = (_a = n.content) === null || _a === void 0 ? void 0 : _a.items.find(i => i.kind === 'text')) === null || _b === void 0 ? void 0 : _b.value) || n.id;
|
|
45
|
-
script += ` "${n.id}" [label="${label}"];\n`;
|
|
46
|
-
});
|
|
47
|
-
edges.forEach(e => {
|
|
48
|
-
script += ` "${e.sourceNodeId}" -> "${e.targetNodeId}";\n`;
|
|
49
|
-
});
|
|
50
|
-
script += "}\n";
|
|
51
|
-
return script;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Generates a generic Workflow XML (DSL placeholder for v3.5).
|
|
55
|
-
*/
|
|
56
|
-
toXML(nodes, edges) {
|
|
57
|
-
let xml = '<?xml version="1.0" encoding="UTF-8"?>\n';
|
|
58
|
-
xml += '<zenode:workflow xmlns:zenode="http://zenode.dev/schema">\n';
|
|
59
|
-
xml += ' <nodes>\n';
|
|
60
|
-
nodes.forEach(n => {
|
|
61
|
-
xml += ` <node id="${n.id}" type="${n.type}" x="${Math.round(n.x)}" y="${Math.round(n.y)}">\n`;
|
|
62
|
-
if (n.meta && Object.keys(n.meta).length) {
|
|
63
|
-
xml += ' <meta>\n';
|
|
64
|
-
for (const [k, v] of Object.entries(n.meta)) {
|
|
65
|
-
xml += ` <property name="${k}">${v}</property>\n`;
|
|
66
|
-
}
|
|
67
|
-
xml += ' </meta>\n';
|
|
68
|
-
}
|
|
69
|
-
xml += ' </node>\n';
|
|
70
|
-
});
|
|
71
|
-
xml += ' </nodes>\n';
|
|
72
|
-
xml += ' <connections>\n';
|
|
73
|
-
edges.forEach(e => {
|
|
74
|
-
xml += ` <connection id="${e.id}" from="${e.sourceNodeId}" to="${e.targetNodeId}" />\n`;
|
|
75
|
-
});
|
|
76
|
-
xml += ' </connections>\n';
|
|
77
|
-
xml += '</zenode:workflow>';
|
|
78
|
-
return xml;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Parses a Zenode XML string back into node and edge arrays.
|
|
82
|
-
*/
|
|
83
|
-
fromXML(xmlString) {
|
|
84
|
-
const parser = new DOMParser();
|
|
85
|
-
const xmlDoc = parser.parseFromString(xmlString, "text/xml");
|
|
86
|
-
const nodes = [];
|
|
87
|
-
const edges = [];
|
|
88
|
-
// Parse Nodes
|
|
89
|
-
const nodeElems = xmlDoc.getElementsByTagName("node");
|
|
90
|
-
for (let i = 0; i < nodeElems.length; i++) {
|
|
91
|
-
const el = nodeElems[i];
|
|
92
|
-
const id = el.getAttribute("id") || `node-${i}`;
|
|
93
|
-
const type = el.getAttribute("type") || "rectangle";
|
|
94
|
-
const x = parseFloat(el.getAttribute("x") || "0");
|
|
95
|
-
const y = parseFloat(el.getAttribute("y") || "0");
|
|
96
|
-
const meta = {};
|
|
97
|
-
const metaElems = el.getElementsByTagName("property");
|
|
98
|
-
for (let j = 0; j < metaElems.length; j++) {
|
|
99
|
-
const p = metaElems[j];
|
|
100
|
-
const name = p.getAttribute("name");
|
|
101
|
-
if (name)
|
|
102
|
-
meta[name] = p.textContent;
|
|
103
|
-
}
|
|
104
|
-
nodes.push({ id, type, x, y, meta, shapeVariantId: type });
|
|
105
|
-
}
|
|
106
|
-
// Parse Connections
|
|
107
|
-
const connElems = xmlDoc.getElementsByTagName("connection");
|
|
108
|
-
for (let i = 0; i < connElems.length; i++) {
|
|
109
|
-
const el = connElems[i];
|
|
110
|
-
edges.push({
|
|
111
|
-
id: el.getAttribute("id") || `edge-${i}`,
|
|
112
|
-
sourceNodeId: el.getAttribute("from") || "",
|
|
113
|
-
targetNodeId: el.getAttribute("to") || "",
|
|
114
|
-
sourcePortId: "right", // Fallback defaults
|
|
115
|
-
targetPortId: "left"
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
return { nodes, edges };
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
exports.SerializationEngine = SerializationEngine;
|
|
123
|
-
//# sourceMappingURL=serialization.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.cjs","sources":["../../src/core/serialization.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { NodeData, EdgeData } from "../types/index.js";
|
|
2
|
-
/**
|
|
3
|
-
* Handles serialization of Zenode diagrams to various industry-standard formats.
|
|
4
|
-
* Fulfills Phase 3.5 of the Layer 1 roadmap.
|
|
5
|
-
*/
|
|
6
|
-
export declare class SerializationEngine {
|
|
7
|
-
/**
|
|
8
|
-
* Generates a Mermaid.js diagram definition (perfect for GitHub READMEs).
|
|
9
|
-
*/
|
|
10
|
-
toMermaid(nodes: NodeData[], edges: EdgeData[]): string;
|
|
11
|
-
/**
|
|
12
|
-
* Generates a Graphviz DOT definition.
|
|
13
|
-
*/
|
|
14
|
-
toDOT(nodes: NodeData[], edges: EdgeData[]): string;
|
|
15
|
-
/**
|
|
16
|
-
* Generates a generic Workflow XML (DSL placeholder for v3.5).
|
|
17
|
-
*/
|
|
18
|
-
toXML(nodes: NodeData[], edges: EdgeData[]): string;
|
|
19
|
-
/**
|
|
20
|
-
* Parses a Zenode XML string back into node and edge arrays.
|
|
21
|
-
*/
|
|
22
|
-
fromXML(xmlString: string): {
|
|
23
|
-
nodes: NodeData[];
|
|
24
|
-
edges: EdgeData[];
|
|
25
|
-
};
|
|
26
|
-
}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Handles serialization of Zenode diagrams to various industry-standard formats.
|
|
3
|
-
* Fulfills Phase 3.5 of the Layer 1 roadmap.
|
|
4
|
-
*/
|
|
5
|
-
class SerializationEngine {
|
|
6
|
-
/**
|
|
7
|
-
* Generates a Mermaid.js diagram definition (perfect for GitHub READMEs).
|
|
8
|
-
*/
|
|
9
|
-
toMermaid(nodes, edges) {
|
|
10
|
-
let script = "graph TD\n";
|
|
11
|
-
// Add nodes with labels
|
|
12
|
-
nodes.forEach(n => {
|
|
13
|
-
var _a, _b;
|
|
14
|
-
const label = ((_b = (_a = n.content) === null || _a === void 0 ? void 0 : _a.items.find(i => i.kind === 'text')) === null || _b === void 0 ? void 0 : _b.value) || n.id;
|
|
15
|
-
// Handle the different shape representations in Mermaid
|
|
16
|
-
let left = "[", right = "]";
|
|
17
|
-
if (n.type === 'circle' || n.type === 'oval') {
|
|
18
|
-
left = "((";
|
|
19
|
-
right = "))";
|
|
20
|
-
}
|
|
21
|
-
if (n.type === 'rhombus') {
|
|
22
|
-
left = "{";
|
|
23
|
-
right = "}";
|
|
24
|
-
}
|
|
25
|
-
script += ` ${n.id}${left}"${label}"${right}\n`;
|
|
26
|
-
});
|
|
27
|
-
// Add edges
|
|
28
|
-
edges.forEach(e => {
|
|
29
|
-
script += ` ${e.sourceNodeId} --> ${e.targetNodeId}\n`;
|
|
30
|
-
});
|
|
31
|
-
return script;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Generates a Graphviz DOT definition.
|
|
35
|
-
*/
|
|
36
|
-
toDOT(nodes, edges) {
|
|
37
|
-
let script = "digraph ZenodeWorkflow {\n";
|
|
38
|
-
script += ' rankdir=LR;\n';
|
|
39
|
-
script += ' node [shape=box, style=rounded, fontname="Inter"];\n';
|
|
40
|
-
nodes.forEach(n => {
|
|
41
|
-
var _a, _b;
|
|
42
|
-
const label = ((_b = (_a = n.content) === null || _a === void 0 ? void 0 : _a.items.find(i => i.kind === 'text')) === null || _b === void 0 ? void 0 : _b.value) || n.id;
|
|
43
|
-
script += ` "${n.id}" [label="${label}"];\n`;
|
|
44
|
-
});
|
|
45
|
-
edges.forEach(e => {
|
|
46
|
-
script += ` "${e.sourceNodeId}" -> "${e.targetNodeId}";\n`;
|
|
47
|
-
});
|
|
48
|
-
script += "}\n";
|
|
49
|
-
return script;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Generates a generic Workflow XML (DSL placeholder for v3.5).
|
|
53
|
-
*/
|
|
54
|
-
toXML(nodes, edges) {
|
|
55
|
-
let xml = '<?xml version="1.0" encoding="UTF-8"?>\n';
|
|
56
|
-
xml += '<zenode:workflow xmlns:zenode="http://zenode.dev/schema">\n';
|
|
57
|
-
xml += ' <nodes>\n';
|
|
58
|
-
nodes.forEach(n => {
|
|
59
|
-
xml += ` <node id="${n.id}" type="${n.type}" x="${Math.round(n.x)}" y="${Math.round(n.y)}">\n`;
|
|
60
|
-
if (n.meta && Object.keys(n.meta).length) {
|
|
61
|
-
xml += ' <meta>\n';
|
|
62
|
-
for (const [k, v] of Object.entries(n.meta)) {
|
|
63
|
-
xml += ` <property name="${k}">${v}</property>\n`;
|
|
64
|
-
}
|
|
65
|
-
xml += ' </meta>\n';
|
|
66
|
-
}
|
|
67
|
-
xml += ' </node>\n';
|
|
68
|
-
});
|
|
69
|
-
xml += ' </nodes>\n';
|
|
70
|
-
xml += ' <connections>\n';
|
|
71
|
-
edges.forEach(e => {
|
|
72
|
-
xml += ` <connection id="${e.id}" from="${e.sourceNodeId}" to="${e.targetNodeId}" />\n`;
|
|
73
|
-
});
|
|
74
|
-
xml += ' </connections>\n';
|
|
75
|
-
xml += '</zenode:workflow>';
|
|
76
|
-
return xml;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Parses a Zenode XML string back into node and edge arrays.
|
|
80
|
-
*/
|
|
81
|
-
fromXML(xmlString) {
|
|
82
|
-
const parser = new DOMParser();
|
|
83
|
-
const xmlDoc = parser.parseFromString(xmlString, "text/xml");
|
|
84
|
-
const nodes = [];
|
|
85
|
-
const edges = [];
|
|
86
|
-
// Parse Nodes
|
|
87
|
-
const nodeElems = xmlDoc.getElementsByTagName("node");
|
|
88
|
-
for (let i = 0; i < nodeElems.length; i++) {
|
|
89
|
-
const el = nodeElems[i];
|
|
90
|
-
const id = el.getAttribute("id") || `node-${i}`;
|
|
91
|
-
const type = el.getAttribute("type") || "rectangle";
|
|
92
|
-
const x = parseFloat(el.getAttribute("x") || "0");
|
|
93
|
-
const y = parseFloat(el.getAttribute("y") || "0");
|
|
94
|
-
const meta = {};
|
|
95
|
-
const metaElems = el.getElementsByTagName("property");
|
|
96
|
-
for (let j = 0; j < metaElems.length; j++) {
|
|
97
|
-
const p = metaElems[j];
|
|
98
|
-
const name = p.getAttribute("name");
|
|
99
|
-
if (name)
|
|
100
|
-
meta[name] = p.textContent;
|
|
101
|
-
}
|
|
102
|
-
nodes.push({ id, type, x, y, meta, shapeVariantId: type });
|
|
103
|
-
}
|
|
104
|
-
// Parse Connections
|
|
105
|
-
const connElems = xmlDoc.getElementsByTagName("connection");
|
|
106
|
-
for (let i = 0; i < connElems.length; i++) {
|
|
107
|
-
const el = connElems[i];
|
|
108
|
-
edges.push({
|
|
109
|
-
id: el.getAttribute("id") || `edge-${i}`,
|
|
110
|
-
sourceNodeId: el.getAttribute("from") || "",
|
|
111
|
-
targetNodeId: el.getAttribute("to") || "",
|
|
112
|
-
sourcePortId: "right", // Fallback defaults
|
|
113
|
-
targetPortId: "left"
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
return { nodes, edges };
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
export { SerializationEngine };
|
|
121
|
-
//# sourceMappingURL=serialization.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.js","sources":["../../src/core/serialization.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var helpers = require('../utils/helpers.cjs');
|
|
4
|
-
var mouseMove = require('./mouseMove.cjs');
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Handles canvas click: if a placement is pending (preview active), places the node
|
|
8
|
-
* at the snapped position and clears the preview.
|
|
9
|
-
*/
|
|
10
|
-
function svgMouseClick(event, api, manualPoint) {
|
|
11
|
-
if (event && event.defaultPrevented)
|
|
12
|
-
return null; // drag fired — ignore
|
|
13
|
-
const ctx = api.getPlacementContext();
|
|
14
|
-
if (!ctx)
|
|
15
|
-
return null;
|
|
16
|
-
const point = (event ? api.getCanvasPoint(event) : { x: 0, y: 0 });
|
|
17
|
-
const { type, variantId } = ctx;
|
|
18
|
-
const node = {
|
|
19
|
-
id: helpers.generatePlacedNodeId(),
|
|
20
|
-
type: type,
|
|
21
|
-
shapeVariantId: variantId || "default",
|
|
22
|
-
x: point.x,
|
|
23
|
-
y: point.y,
|
|
24
|
-
rotation: 0,
|
|
25
|
-
meta: {},
|
|
26
|
-
visualState: { status: "idle" },
|
|
27
|
-
};
|
|
28
|
-
api.placeNode(node);
|
|
29
|
-
mouseMove.removeAllPreview(api.canvasObject);
|
|
30
|
-
api.clearPlacementContext();
|
|
31
|
-
api.removePlacementListeners();
|
|
32
|
-
return node.id;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
exports.svgMouseClick = svgMouseClick;
|
|
36
|
-
//# sourceMappingURL=mouseClick.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mouseClick.cjs","sources":["../../src/events/mouseClick.ts"],"sourcesContent":[null],"names":["generatePlacedNodeId","removeAllPreview"],"mappings":";;;;;AAgBA;;;AAGG;SACa,aAAa,CAAC,KAAwB,EAAE,GAAsB,EAAE,WAAsC,EAAA;AACpH,IAAA,IAAI,KAAK,IAAI,KAAK,CAAC,gBAAgB;QAAE,OAAO,IAAI,CAAC;AACjD,IAAA,MAAM,GAAG,GAAG,GAAG,CAAC,mBAAmB,EAAE;AACrC,IAAA,IAAI,CAAC,GAAG;AAAE,QAAA,OAAO,IAAI;AAErB,IAAA,MAAM,KAAK,GAAkB,CAAC,KAAK,GAAG,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACjF,IAAA,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG;AAE/B,IAAA,MAAM,IAAI,GAAe;QACvB,EAAE,EAAEA,4BAAoB,EAAE;AAC1B,QAAA,IAAI,EAAE,IAAI;QACV,cAAc,EAAE,SAAS,IAAI,SAAS;QACtC,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,CAAC,EAAE,KAAK,CAAC,CAAC;AACV,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;KAChC;AAED,IAAA,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;AACnB,IAAAC,0BAAgB,CAAC,GAAG,CAAC,YAAY,CAAC;IAClC,GAAG,CAAC,qBAAqB,EAAE;IAC3B,GAAG,CAAC,wBAAwB,EAAE;IAE9B,OAAO,IAAI,CAAC,EAAE;AAChB;;;;"}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var d3 = require('d3');
|
|
4
|
-
var defaultConfig = require('../config/defaultConfig.cjs');
|
|
5
|
-
var helpers = require('../utils/helpers.cjs');
|
|
6
|
-
|
|
7
|
-
function _interopNamespaceDefault(e) {
|
|
8
|
-
var n = Object.create(null);
|
|
9
|
-
if (e) {
|
|
10
|
-
Object.keys(e).forEach(function (k) {
|
|
11
|
-
if (k !== 'default') {
|
|
12
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
13
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
14
|
-
enumerable: true,
|
|
15
|
-
get: function () { return e[k]; }
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
n.default = e;
|
|
21
|
-
return Object.freeze(n);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
var d3__namespace = /*#__PURE__*/_interopNamespaceDefault(d3);
|
|
25
|
-
|
|
26
|
-
function svgMouseMove(event, shapeType, shapeToFind, grid, config, canvasObject, data, registry, manualPoint) {
|
|
27
|
-
const gridSize = config.canvas.grid.gridSize || defaultConfig.defaultConfig.canvas.grid.gridSize;
|
|
28
|
-
const zoomTransform = d3__namespace.zoomTransform(canvasObject.svg.node());
|
|
29
|
-
let x, y;
|
|
30
|
-
if (event) {
|
|
31
|
-
const [cursorX, cursorY] = d3__namespace.pointer(event, canvasObject.svg.node());
|
|
32
|
-
x = cursorX;
|
|
33
|
-
y = cursorY;
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
return { x: 0, y: 0 };
|
|
37
|
-
}
|
|
38
|
-
const adjustedX = (x - zoomTransform.x) / zoomTransform.k;
|
|
39
|
-
const adjustedY = (y - zoomTransform.y) / zoomTransform.k;
|
|
40
|
-
let exactPosition;
|
|
41
|
-
if (config.canvasProperties.snapToGrid) {
|
|
42
|
-
exactPosition = helpers.snapToGrid(adjustedX, adjustedY, gridSize);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
exactPosition = { x: adjustedX, y: adjustedY };
|
|
46
|
-
}
|
|
47
|
-
if (shapeToFind.previewEnabled) {
|
|
48
|
-
createShapePreview(shapeType, exactPosition.x, exactPosition.y, canvasObject, shapeToFind, registry);
|
|
49
|
-
}
|
|
50
|
-
return exactPosition;
|
|
51
|
-
}
|
|
52
|
-
function createShapePreview(shapeType, x, y, canvasObject, shapeToFind, registry) {
|
|
53
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
54
|
-
removeAllPreview(canvasObject);
|
|
55
|
-
let elementId = `preview_${shapeType}`;
|
|
56
|
-
let shape;
|
|
57
|
-
if (registry && registry.has(shapeType)) {
|
|
58
|
-
const renderer = registry.get(shapeType);
|
|
59
|
-
const radius = (_a = shapeToFind.radius) !== null && _a !== void 0 ? _a : 30;
|
|
60
|
-
const width = (_b = shapeToFind.width) !== null && _b !== void 0 ? _b : radius * 2;
|
|
61
|
-
const height = (_c = shapeToFind.height) !== null && _c !== void 0 ? _c : radius * 2;
|
|
62
|
-
// All renderers draw with (0,0) as the anchor (center or top-left).
|
|
63
|
-
// We use a <g translate(x,y)> so the path coordinates are always
|
|
64
|
-
// relative to (0,0), then shifted to the cursor position regardless
|
|
65
|
-
// of shape type. This fixes the circle offset bug.
|
|
66
|
-
//
|
|
67
|
-
// Circle renderer uses (cx=x, cy=y) as the CENTER — so pass x:0,y:0.
|
|
68
|
-
// Rect/polygon renderers use the top-left corner — so offset by -w/2,-h/2
|
|
69
|
-
// to keep them visually centered on the cursor too.
|
|
70
|
-
const isCircleLike = shapeType === "circle";
|
|
71
|
-
const tempConfig = {
|
|
72
|
-
type: shapeType,
|
|
73
|
-
x: isCircleLike ? 0 : -width / 2,
|
|
74
|
-
y: isCircleLike ? 0 : -height / 2,
|
|
75
|
-
width,
|
|
76
|
-
height,
|
|
77
|
-
radius,
|
|
78
|
-
color: shapeToFind.color,
|
|
79
|
-
stroke: shapeToFind.stroke,
|
|
80
|
-
transparency: shapeToFind.transparency,
|
|
81
|
-
borderRadius: shapeToFind.borderRadius
|
|
82
|
-
};
|
|
83
|
-
const pathData = renderer.getPath(tempConfig);
|
|
84
|
-
const group = canvasObject.elements.append("g")
|
|
85
|
-
.attr("id", elementId)
|
|
86
|
-
.attr("transform", `translate(${x},${y})`);
|
|
87
|
-
shape = group.append("path")
|
|
88
|
-
.attr("d", pathData)
|
|
89
|
-
.attr("fill", shapeToFind.color)
|
|
90
|
-
.attr("stroke", (_e = (_d = shapeToFind.stroke) === null || _d === void 0 ? void 0 : _d.color) !== null && _e !== void 0 ? _e : "#000")
|
|
91
|
-
.attr("stroke-width", (_g = (_f = shapeToFind.stroke) === null || _f === void 0 ? void 0 : _f.width) !== null && _g !== void 0 ? _g : 1)
|
|
92
|
-
.attr("stroke-dasharray", ((_j = (_h = shapeToFind.stroke) === null || _h === void 0 ? void 0 : _h.strokeDasharray) === null || _j === void 0 ? void 0 : _j.join(" ")) || null)
|
|
93
|
-
.attr("opacity", (_k = shapeToFind.previewTransparency) !== null && _k !== void 0 ? _k : 0.5);
|
|
94
|
-
return group;
|
|
95
|
-
}
|
|
96
|
-
return shape;
|
|
97
|
-
}
|
|
98
|
-
function removeAllPreview(canvasObject) {
|
|
99
|
-
canvasObject.elements.selectAll("path[id^='preview_'], polygon[id^='preview_'], circle[id^='preview_'], g[id^='preview_']").remove();
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
exports.removeAllPreview = removeAllPreview;
|
|
103
|
-
exports.svgMouseMove = svgMouseMove;
|
|
104
|
-
//# sourceMappingURL=mouseMove.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mouseMove.cjs","sources":["../../src/events/mouseMove.ts"],"sourcesContent":[null],"names":["defaultConfig","d3","snapToGrid"],"mappings":"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"}
|