@lincle/react-web-base 0.4.0-next.17 → 0.4.0-next.18

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 (79) hide show
  1. package/dist/cjs/components/Edge/index.js +58 -0
  2. package/dist/cjs/components/Edge/index.js.map +1 -0
  3. package/dist/cjs/components/Edges/Marker.js +25 -0
  4. package/dist/cjs/components/Edges/Marker.js.map +1 -0
  5. package/dist/cjs/components/Edges/Paths/Path/Path.js +76 -0
  6. package/dist/cjs/components/Edges/Paths/Path/Path.js.map +1 -0
  7. package/dist/cjs/components/Edges/Paths/Path/index.js +78 -0
  8. package/dist/cjs/components/Edges/Paths/Path/index.js.map +1 -0
  9. package/dist/cjs/components/Edges/Paths/index.js +27 -0
  10. package/dist/cjs/components/Edges/Paths/index.js.map +1 -0
  11. package/dist/cjs/components/Edges/index.js +47 -0
  12. package/dist/cjs/components/Edges/index.js.map +1 -0
  13. package/dist/cjs/components/Graph/Grid/index.js +41 -0
  14. package/dist/cjs/components/Graph/Grid/index.js.map +1 -0
  15. package/dist/cjs/components/Graph/index.js +17 -0
  16. package/dist/cjs/components/Graph/index.js.map +1 -0
  17. package/dist/cjs/components/Node/index.js +122 -0
  18. package/dist/cjs/components/Node/index.js.map +1 -0
  19. package/dist/cjs/components/Nodes/index.js +6 -0
  20. package/dist/cjs/components/Nodes/index.js.map +1 -0
  21. package/dist/cjs/components/index.js +6 -0
  22. package/dist/cjs/components/index.js.map +1 -0
  23. package/dist/cjs/index.js +3 -0
  24. package/dist/cjs/index.js.map +1 -0
  25. package/dist/cjs/shared.js +2 -0
  26. package/dist/cjs/shared.js.map +1 -0
  27. package/dist/esm/components/Edge/index.js +58 -0
  28. package/dist/esm/components/Edge/index.js.map +1 -0
  29. package/dist/esm/components/Edges/Marker.js +25 -0
  30. package/dist/esm/components/Edges/Marker.js.map +1 -0
  31. package/dist/esm/components/Edges/Paths/Path/Path.js +76 -0
  32. package/dist/esm/components/Edges/Paths/Path/Path.js.map +1 -0
  33. package/dist/esm/components/Edges/Paths/Path/index.js +78 -0
  34. package/dist/esm/components/Edges/Paths/Path/index.js.map +1 -0
  35. package/dist/esm/components/Edges/Paths/index.js +27 -0
  36. package/dist/esm/components/Edges/Paths/index.js.map +1 -0
  37. package/dist/esm/components/Edges/index.js +47 -0
  38. package/dist/esm/components/Edges/index.js.map +1 -0
  39. package/dist/esm/components/Graph/Grid/index.js +41 -0
  40. package/dist/esm/components/Graph/Grid/index.js.map +1 -0
  41. package/dist/esm/components/Graph/index.js +17 -0
  42. package/dist/esm/components/Graph/index.js.map +1 -0
  43. package/dist/esm/components/Node/index.js +122 -0
  44. package/dist/esm/components/Node/index.js.map +1 -0
  45. package/dist/esm/components/Nodes/index.js +6 -0
  46. package/dist/esm/components/Nodes/index.js.map +1 -0
  47. package/dist/esm/components/index.js +6 -0
  48. package/dist/esm/components/index.js.map +1 -0
  49. package/dist/esm/index.js +3 -0
  50. package/dist/esm/index.js.map +1 -0
  51. package/dist/esm/shared.js +2 -0
  52. package/dist/esm/shared.js.map +1 -0
  53. package/package.json +22 -19
  54. package/dist/components/Edge/index.js +0 -62
  55. package/dist/components/Edges/Marker.js +0 -26
  56. package/dist/components/Edges/Paths/Path/Path.js +0 -71
  57. package/dist/components/Edges/Paths/Path/index.js +0 -73
  58. package/dist/components/Edges/Paths/index.js +0 -33
  59. package/dist/components/Edges/index.js +0 -49
  60. package/dist/components/Graph/Grid/index.js +0 -42
  61. package/dist/components/Graph/index.js +0 -23
  62. package/dist/components/Node/index.js +0 -134
  63. package/dist/components/Nodes/index.js +0 -8
  64. package/dist/components/index.js +0 -21
  65. package/dist/index.js +0 -18
  66. package/dist/shared.js +0 -18
  67. /package/dist/{components → esm/components}/Edge/index.d.ts +0 -0
  68. /package/dist/{components → esm/components}/Edges/Marker.d.ts +0 -0
  69. /package/dist/{components → esm/components}/Edges/Paths/Path/Path.d.ts +0 -0
  70. /package/dist/{components → esm/components}/Edges/Paths/Path/index.d.ts +0 -0
  71. /package/dist/{components → esm/components}/Edges/Paths/index.d.ts +0 -0
  72. /package/dist/{components → esm/components}/Edges/index.d.ts +0 -0
  73. /package/dist/{components → esm/components}/Graph/Grid/index.d.ts +0 -0
  74. /package/dist/{components → esm/components}/Graph/index.d.ts +0 -0
  75. /package/dist/{components → esm/components}/Node/index.d.ts +0 -0
  76. /package/dist/{components → esm/components}/Nodes/index.d.ts +0 -0
  77. /package/dist/{components → esm/components}/index.d.ts +0 -0
  78. /package/dist/{index.d.ts → esm/index.d.ts} +0 -0
  79. /package/dist/{shared.d.ts → esm/shared.d.ts} +0 -0
@@ -0,0 +1,58 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEdge, useRemoveEdge, useUpdateEdge } from '../../shared';
3
+ import { useEffect, useMemo } from 'react';
4
+ const Edge = ({ children, className, dash, id: edgeId, line, markerEnd, markerStart, sourceId, targetId }) => {
5
+ const updateEdge = useUpdateEdge();
6
+ const removeEdge = useRemoveEdge();
7
+ const edge = useEdge(edgeId);
8
+ useEffect(() => {
9
+ return () => {
10
+ if (removeEdge) {
11
+ removeEdge(edgeId);
12
+ }
13
+ };
14
+ }, []);
15
+ useEffect(() => {
16
+ if (updateEdge) {
17
+ updateEdge(edgeId, {
18
+ className,
19
+ dash,
20
+ line,
21
+ markerEnd,
22
+ markerStart,
23
+ sourceId,
24
+ targetId
25
+ });
26
+ }
27
+ return () => {
28
+ if (removeEdge) {
29
+ removeEdge(edgeId);
30
+ }
31
+ };
32
+ }, [
33
+ className,
34
+ dash,
35
+ edgeId,
36
+ line,
37
+ markerEnd,
38
+ markerStart,
39
+ removeEdge,
40
+ sourceId,
41
+ targetId,
42
+ updateEdge
43
+ ]);
44
+ const style = useMemo(() => {
45
+ return {
46
+ left: edge?.center?.x,
47
+ position: 'absolute',
48
+ top: edge?.center?.y
49
+ };
50
+ }, [
51
+ edge?.center?.x,
52
+ edge?.center?.y
53
+ ]);
54
+ return (_jsx("div", { style: style, children: children }));
55
+ };
56
+ Edge.displayName = 'LincleEdge';
57
+ export { Edge };
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Edge/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,OAAO,EACP,aAAa,EACb,aAAa,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAGL,SAAS,EACT,OAAO,EACR,MAAM,OAAO,CAAC;AAEf,MAAM,IAAI,GAAiC,CAAC,EAC1C,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,EAAE,EAAE,MAAM,EACV,IAAI,EACJ,SAAS,EACT,WAAW,EAEX,QAAQ,EACR,QAAQ,EACT,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7B,SAAS,CACP,GAAG,EAAE;QACH,OAAO,GAAS,EAAE;YAChB,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CACR,MAAM,CACP,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EACD,EAAE,CACH,CAAC;IAEF,SAAS,CACP,GAAG,EAAE;QACH,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CACR,MAAM,EACN;gBACE,SAAS;gBACT,IAAI;gBACJ,IAAI;gBACJ,SAAS;gBACT,WAAW;gBACX,QAAQ;gBACR,QAAQ;aACT,CACF,CAAC;QACJ,CAAC;QAED,OAAO,GAAS,EAAE;YAChB,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CACR,MAAM,CACP,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EACD;QACE,SAAS;QACT,IAAI;QACJ,MAAM;QACN,IAAI;QACJ,SAAS;QACT,WAAW;QACX,UAAU;QACV,QAAQ;QACR,QAAQ;QACR,UAAU;KACX,CACF,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE;QACH,OAAO;YACL,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACrB,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SACrB,CAAC;IACJ,CAAC,EACD;QACE,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,CACF,CAAC;IAEF,OAAO,CACL,cACE,KAAK,EAAE,KAAK,YAEX,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;AAEhC,OAAO,EACL,IAAI,EACL,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useDiagramId } from '../../shared';
3
+ import { useMemo } from 'react';
4
+ const Marker = () => {
5
+ const id = useDiagramId();
6
+ const markerId = useMemo(() => {
7
+ return id ?
8
+ `${id}-` :
9
+ '';
10
+ }, []);
11
+ const arrowId = useMemo(() => {
12
+ return `diagram-${markerId}marker-arrow`;
13
+ }, [
14
+ markerId
15
+ ]);
16
+ const circleId = useMemo(() => {
17
+ return `diagram-${markerId}marker-circle`;
18
+ }, [
19
+ markerId
20
+ ]);
21
+ return (_jsxs(_Fragment, { children: [_jsx("marker", { id: arrowId, markerHeight: '10', markerUnits: 'strokeWidth', markerWidth: '10', orient: 'auto', refX: '9', refY: '5', children: _jsx("path", { className: 'lincle-base-edge-marker-arrow', d: 'M 0 0 L 10 5 L 0 10 z' }) }), _jsx("marker", { id: circleId, markerHeight: '10', markerUnits: 'strokeWidth', markerWidth: '10', orient: 'auto', refX: '5', refY: '5', children: _jsx("circle", { className: 'lincle-base-edge-marker-circle', cx: '5', cy: '5', r: '3' }) })] }));
22
+ };
23
+ Marker.displayName = 'LincleMarker';
24
+ export default Marker;
25
+ //# sourceMappingURL=Marker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Marker.js","sourceRoot":"","sources":["../../../../src/components/Edges/Marker.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,YAAY,EACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,OAAO,EACR,MAAM,OAAO,CAAC;AAEf,MAAM,MAAM,GAA8B,GAAG,EAAE;IAC7C,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAE1B,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE;QACH,OAAO,EAAE,CAAC,CAAC;YACT,GAAG,EAAE,GAAG,CAAC,CAAC;YACV,EAAE,CAAC;IACP,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE;QACH,OAAO,WAAW,QAAQ,cAAc,CAAC;IAC3C,CAAC,EACD;QACE,QAAQ;KACT,CACF,CAAC;IAEF,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE;QACH,OAAO,WAAW,QAAQ,eAAe,CAAC;IAC5C,CAAC,EACD;QACE,QAAQ;KACT,CACF,CAAC;IAEF,OAAO,CACL,8BACE,iBACE,EAAE,EAAE,OAAO,EACX,YAAY,EAAC,IAAI,EACjB,WAAW,EAAC,aAAa,EACzB,WAAW,EAAC,IAAI,EAChB,MAAM,EAAC,MAAM,EACb,IAAI,EAAC,GAAG,EACR,IAAI,EAAC,GAAG,YAER,eACE,SAAS,EAAC,+BAA+B,EACzC,CAAC,EAAC,uBAAuB,GACzB,GACK,EACT,iBACE,EAAE,EAAE,QAAQ,EACZ,YAAY,EAAC,IAAI,EACjB,WAAW,EAAC,aAAa,EACzB,WAAW,EAAC,IAAI,EAChB,MAAM,EAAC,MAAM,EACb,IAAI,EAAC,GAAG,EACR,IAAI,EAAC,GAAG,YAER,iBACE,SAAS,EAAC,gCAAgC,EAC1C,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG,EACN,CAAC,EAAC,GAAG,GACL,GACK,IACR,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,WAAW,GAAG,cAAc,CAAC;AAEpC,eAAe,MAAM,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { generateOrigins, useDiagramId, useUpdateEdge } from '../../../../shared';
3
+ import { useEffect, useMemo } from 'react';
4
+ const Path = ({ center = true, className = '', edgeId, isConnecting, line, markerEnd: givenMarkerEnd, markerStart: givenMarkerStart, source, style: pathStyle = {}, target }) => {
5
+ const diagramId = useDiagramId();
6
+ const updateEdge = useUpdateEdge();
7
+ const origins = useMemo(() => {
8
+ if (source &&
9
+ target &&
10
+ line) {
11
+ const generatedOrigins = generateOrigins(source, target, line, center);
12
+ return generatedOrigins;
13
+ }
14
+ return undefined;
15
+ }, [
16
+ center,
17
+ line,
18
+ source,
19
+ target
20
+ ]);
21
+ useEffect(() => {
22
+ if (origins?.center &&
23
+ updateEdge) {
24
+ updateEdge(edgeId, {
25
+ center: origins.center
26
+ });
27
+ }
28
+ }, [
29
+ edgeId,
30
+ origins?.center,
31
+ updateEdge
32
+ ]);
33
+ const markerEnd = useMemo(() => {
34
+ const id = diagramId ?
35
+ `${diagramId}-` :
36
+ '';
37
+ return givenMarkerEnd ??
38
+ `url(#diagram-${id}marker-arrow)`;
39
+ }, [
40
+ diagramId,
41
+ givenMarkerEnd
42
+ ]);
43
+ const markerStart = useMemo(() => {
44
+ const id = diagramId ?
45
+ `${diagramId}-` :
46
+ '';
47
+ return givenMarkerStart ??
48
+ `url(#diagram-${id}marker-circle)`;
49
+ }, [
50
+ diagramId,
51
+ givenMarkerStart
52
+ ]);
53
+ const dashTrigger = useMemo(() => {
54
+ return isConnecting ?
55
+ _jsx("circle", { className: 'lincle-base-edge-path-target', cx: isConnecting.x, cy: isConnecting.y, fill: 'transparent', r: 30, width: 30 }) :
56
+ null;
57
+ }, [
58
+ isConnecting
59
+ ]);
60
+ const style = useMemo(() => {
61
+ return {
62
+ ...pathStyle,
63
+ zIndex: isConnecting ?
64
+ 1 :
65
+ undefined
66
+ };
67
+ }, [
68
+ pathStyle,
69
+ Boolean(isConnecting)
70
+ ]);
71
+ return (_jsxs("g", { children: [dashTrigger ??
72
+ _jsx("path", { className: 'lincle-base-edge-path-border', d: origins?.path, fill: 'transparent' }), _jsx("path", { className: `${className} lincle-base-edge-path`, d: origins?.path, fill: 'transparent', markerEnd: markerEnd, markerStart: markerStart, style: style })] }));
73
+ };
74
+ Path.displayName = 'LinclePath';
75
+ export default Path;
76
+ //# sourceMappingURL=Path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Path.js","sourceRoot":"","sources":["../../../../../../src/components/Edges/Paths/Path/Path.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,eAAe,EAEf,YAAY,EACZ,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,SAAS,EACT,OAAO,EACR,MAAM,OAAO,CAAC;AAEf,MAAM,IAAI,GAAiC,CAAC,EAC1C,MAAM,GAAG,IAAI,EACb,SAAS,GAAG,EAAE,EACd,MAAM,EACN,YAAY,EACZ,IAAI,EACJ,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,gBAAgB,EAC7B,MAAM,EACN,KAAK,EAAE,SAAS,GAAG,EAAE,EACrB,MAAM,EACP,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE;QACH,IACE,MAAM;YACN,MAAM;YACN,IAAI,EACJ,CAAC;YACD,MAAM,gBAAgB,GAAG,eAAe,CACtC,MAAM,EACN,MAAM,EACN,IAAI,EACJ,MAAM,CACP,CAAC;YAEF,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,EACD;QACE,MAAM;QACN,IAAI;QACJ,MAAM;QACN,MAAM;KACP,CACF,CAAC;IAEF,SAAS,CACP,GAAG,EAAE;QACH,IACE,OAAO,EAAE,MAAM;YACf,UAAU,EACV,CAAC;YACD,UAAU,CACR,MAAM,EACN;gBACE,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CACF,CAAC;QACJ,CAAC;IACH,CAAC,EACD;QACE,MAAM;QACN,OAAO,EAAE,MAAM;QACf,UAAU;KACX,CACF,CAAC;IAEF,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE;QACH,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;YACpB,GAAG,SAAS,GAAG,CAAC,CAAC;YACjB,EAAE,CAAC;QAEL,OAAO,cAAc;YACnB,gBAAgB,EAAE,eAAe,CAAC;IACtC,CAAC,EACD;QACE,SAAS;QACT,cAAc;KACf,CACF,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE;QACH,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;YACpB,GAAG,SAAS,GAAG,CAAC,CAAC;YACjB,EAAE,CAAC;QAEL,OAAO,gBAAgB;YACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACvC,CAAC,EACD;QACE,SAAS;QACT,gBAAgB;KACjB,CACF,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE;QACH,OAAO,YAAY,CAAC,CAAC;YACnB,iBACE,SAAS,EAAC,8BAA8B,EACxC,EAAE,EAAE,YAAY,CAAC,CAAC,EAClB,EAAE,EAAE,YAAY,CAAC,CAAC,EAClB,IAAI,EAAC,aAAa,EAClB,CAAC,EAAE,EAAE,EACL,KAAK,EAAE,EAAE,GACT,CAAC,CAAC;YACJ,IAAI,CAAC;IACT,CAAC,EACD;QACE,YAAY;KACb,CACF,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE;QACH,OAAO;YACL,GAAG,SAAS;YACZ,MAAM,EAAE,YAAY,CAAC,CAAC;gBACpB,CAAC,CAAC,CAAC;gBACH,SAAS;SACZ,CAAC;IACJ,CAAC,EACD;QACE,SAAS;QACT,OAAO,CAAC,YAAY,CAAC;KACtB,CACF,CAAC;IAEF,OAAO,CACL,wBAEI,WAAW;gBACX,eACE,SAAS,EAAC,8BAA8B,EACxC,CAAC,EAAE,OAAO,EAAE,IAAI,EAChB,IAAI,EAAC,aAAa,GAClB,EAEJ,eACE,SAAS,EAAE,GAAG,SAAS,wBAAwB,EAC/C,CAAC,EAAE,OAAO,EAAE,IAAI,EAChB,IAAI,EAAC,aAAa,EAClB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,GACZ,IACA,CACL,CAAC;AACJ,CAAC,CAAC;AAEF,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;AAEhC,eAAe,IAAI,CAAC"}
@@ -0,0 +1,78 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useDefaultLine, useEdgeSubscriber } from '../../../../shared';
3
+ import Path from './Path';
4
+ import { useEffect, useMemo, useState } from 'react';
5
+ const RegisterEdge = ({ className = '', dash, id: edgeId, line: givenLine, markerEnd, markerStart, path, sourceId, targetId }) => {
6
+ const defaultLine = useDefaultLine();
7
+ const edgeSubscriber = useEdgeSubscriber();
8
+ const line = givenLine ?? defaultLine;
9
+ const [source, setSource] = useState();
10
+ const [target, setTarget] = useState();
11
+ useEffect(() => {
12
+ setSource(edgeSubscriber?.register(edgeId, sourceId, setSource));
13
+ setTarget(edgeSubscriber?.register(edgeId, targetId, setTarget));
14
+ return () => {
15
+ edgeSubscriber?.unregister(edgeId, sourceId);
16
+ edgeSubscriber?.unregister(edgeId, targetId);
17
+ };
18
+ }, []);
19
+ const pathSource = useMemo(() => {
20
+ return source ?
21
+ {
22
+ ...source,
23
+ x: source.x,
24
+ y: source.y
25
+ } :
26
+ undefined;
27
+ }, [
28
+ source?.x,
29
+ source?.y
30
+ ]);
31
+ const pathTarget = useMemo(() => {
32
+ return target ?
33
+ {
34
+ ...target,
35
+ x: target.x,
36
+ y: target.y
37
+ } :
38
+ undefined;
39
+ }, [
40
+ target?.x,
41
+ target?.y
42
+ ]);
43
+ const customPath = useMemo(() => {
44
+ return path ?
45
+ path(pathSource, pathTarget) :
46
+ undefined;
47
+ }, [
48
+ path,
49
+ pathSource,
50
+ pathTarget
51
+ ]);
52
+ const generatedClassName = useMemo(() => {
53
+ if (dash === true) {
54
+ return `${className} lincle-base-edge-dash-on'`;
55
+ }
56
+ else if (dash === false) {
57
+ return `${className} lincle-base-edge-dash-off'`;
58
+ }
59
+ else {
60
+ return '';
61
+ }
62
+ }, [
63
+ className,
64
+ dash
65
+ ]);
66
+ if (source &&
67
+ target) {
68
+ return customPath ??
69
+ _jsx(Path, { center: true, className: generatedClassName, edgeId: edgeId, line: line, markerEnd: markerEnd, markerStart: markerStart, source: pathSource, target: pathTarget });
70
+ }
71
+ else {
72
+ return null;
73
+ }
74
+ };
75
+ RegisterEdge.displayName = 'LincleRegisterEdge';
76
+ export default RegisterEdge;
77
+ export { default as Path } from './Path';
78
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/Edges/Paths/Path/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEdges } from '../../../shared';
3
+ import RegisterEdge from './Path';
4
+ import { useMemo } from 'react';
5
+ const Paths = () => {
6
+ const edges = useEdges();
7
+ const paths = useMemo(() => {
8
+ const edgesMap = Object.keys(edges).map((edgeId) => {
9
+ const { line, sourceId, targetId } = edges[edgeId] ?? {};
10
+ if (sourceId &&
11
+ targetId) {
12
+ return (_jsx(RegisterEdge, { id: edgeId, line: line, sourceId: sourceId, targetId: targetId }, edgeId));
13
+ }
14
+ else {
15
+ return null;
16
+ }
17
+ });
18
+ return edgesMap;
19
+ }, [
20
+ edges
21
+ ]);
22
+ return paths;
23
+ };
24
+ Paths.displayName = 'LinclePaths';
25
+ export default Paths;
26
+ export { Path } from './Path';
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Edges/Paths/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,QAAQ,EACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAEL,OAAO,EACR,MAAM,OAAO,CAAC;AAEf,MAAM,KAAK,GAAkC,GAAG,EAAE;IAChD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CACrC,CAAC,MAAM,EAAE,EAAE;YACT,MAAM,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACT,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAExB,IACE,QAAQ;gBACR,QAAQ,EACR,CAAC;gBACD,OAAO,CACL,KAAC,YAAY,IACX,EAAE,EAAE,MAAM,EAEV,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,IAHb,MAAM,CAIX,CACH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC,EACD;QACE,KAAK;KACN,CACF,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,KAAK,CAAC,WAAW,GAAG,aAAa,CAAC;AAIlC,eAAe,KAAK,CAAC;AAErB,OAAO,EACL,IAAI,EACL,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import Marker from './Marker';
3
+ import Paths from './Paths';
4
+ import { useMemo } from 'react';
5
+ const dashClass = (dash) => {
6
+ if (dash === true) {
7
+ return 'lincle-base-edge-dash-all';
8
+ }
9
+ else if (dash === false) {
10
+ return 'lincle-base-edge-dash-none';
11
+ }
12
+ else {
13
+ return '';
14
+ }
15
+ };
16
+ const Edges = ({ children, className: givenClassName = '', dash, scale = 1, style: givenStyle, translate = {
17
+ x: 0,
18
+ y: 0
19
+ } }) => {
20
+ const style = useMemo(() => {
21
+ const tx = translate.x;
22
+ const ty = translate.y;
23
+ const tz = scale;
24
+ const transform = `translateX(${tx}px) translateY(${ty}px) scale(${tz})`;
25
+ return {
26
+ ...givenStyle,
27
+ transform,
28
+ transformOrigin: 'top left'
29
+ };
30
+ }, [
31
+ translate.x,
32
+ translate.y,
33
+ scale,
34
+ givenStyle
35
+ ]);
36
+ const className = useMemo(() => {
37
+ return `lincle-base-edges ${givenClassName} ${dashClass(dash)}`;
38
+ }, [
39
+ dash,
40
+ givenClassName
41
+ ]);
42
+ return (_jsxs(_Fragment, { children: [_jsxs("svg", { className: className, style: style, children: [_jsx("defs", { children: _jsx(Marker, {}) }), _jsx(Paths, {})] }), _jsx("div", { className: className, style: style, children: children })] }));
43
+ };
44
+ Edges.displayName = 'LincleEdges';
45
+ export { Edges };
46
+ export { Path } from './Paths';
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Edges/index.tsx"],"names":[],"mappings":";AAGA,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAEL,OAAO,EACR,MAAM,OAAO,CAAC;AAEf,MAAM,SAAS,GAAG,CAAC,IAAc,EAAE,EAAE;IACnC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,2BAA2B,CAAC;IACrC,CAAC;SAAM,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,4BAA4B,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,KAAK,GAAkC,CAC3C,EACE,QAAQ,EACR,SAAS,EAAE,cAAc,GAAG,EAAE,EAC9B,IAAI,EACJ,KAAK,GAAG,CAAC,EACT,KAAK,EAAE,UAAU,EACjB,SAAS,GAAG;IACV,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;CACL,EACU,EACb,EAAE;IACF,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE;QACH,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QACvB,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QACvB,MAAM,EAAE,GAAG,KAAK,CAAC;QAEjB,MAAM,SAAS,GAAG,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,CAAC;QAEzE,OAAO;YACL,GAAG,UAAU;YACb,SAAS;YACT,eAAe,EAAE,UAAU;SAC5B,CAAC;IACJ,CAAC,EACD;QACE,SAAS,CAAC,CAAC;QACX,SAAS,CAAC,CAAC;QACX,KAAK;QACL,UAAU;KACX,CACF,CAAC;IAEF,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE;QACH,OAAO,qBAAqB,cAAc,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IAClE,CAAC,EACD;QACE,IAAI;QACJ,cAAc;KACf,CACF,CAAC;IAEF,OAAO,CACL,8BACE,eACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,aAEZ,yBACE,KAAC,MAAM,KAAG,GACL,EACP,KAAC,KAAK,KAAG,IACL,EACN,cACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,YAEX,QAAQ,GACL,IACL,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,KAAK,CAAC,WAAW,GAAG,aAAa,CAAC;AAElC,OAAO,EACL,KAAK,EACN,CAAC;AAEF,OAAO,EACL,IAAI,EACL,MAAM,SAAS,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useDiagramId, useGrid } from '../../../shared';
3
+ import { useMemo } from 'react';
4
+ const SIZE = 0.4;
5
+ const Circle = _jsx("circle", { cx: SIZE, cy: SIZE, fill: 'black', r: SIZE });
6
+ const Grid = ({ children, scale = 1, xOffset: givenXOffset = 0, yOffset: givenYOffset = 0 }) => {
7
+ const diagramId = useDiagramId();
8
+ const [givenGridX, givenGridY] = useGrid() || [
9
+ 1,
10
+ 1
11
+ ];
12
+ const id = `lincle-grid-${diagramId}`;
13
+ const gridX = useMemo(() => {
14
+ return givenGridX * scale;
15
+ }, [
16
+ givenGridX,
17
+ scale
18
+ ]);
19
+ const gridY = useMemo(() => {
20
+ return givenGridY * scale;
21
+ }, [
22
+ givenGridY,
23
+ scale
24
+ ]);
25
+ const xOffset = useMemo(() => {
26
+ return givenXOffset % gridX;
27
+ }, [
28
+ givenXOffset,
29
+ gridX
30
+ ]);
31
+ const yOffset = useMemo(() => {
32
+ return givenYOffset % gridY;
33
+ }, [
34
+ givenYOffset,
35
+ gridY
36
+ ]);
37
+ return (_jsxs("svg", { className: 'lincle-base-grid', children: [_jsx("pattern", { height: gridY, id: id, patternUnits: 'userSpaceOnUse', width: gridX, x: xOffset, y: yOffset, children: children ?? Circle }), _jsx("rect", { fill: `url(#${id})`, height: '100%', width: '100%', x: '0', y: '0' })] }));
38
+ };
39
+ Grid.displayName = 'LincleGrid';
40
+ export default Grid;
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Graph/Grid/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,YAAY,EACZ,OAAO,EACR,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,OAAO,EACR,MAAM,OAAO,CAAC;AAEf,MAAM,IAAI,GAAG,GAAG,CAAC;AAEjB,MAAM,MAAM,GACV,iBACE,EAAE,EAAE,IAAI,EACR,EAAE,EAAE,IAAI,EACR,IAAI,EAAC,OAAO,EACZ,CAAC,EAAE,IAAI,GACP,CAAC;AACL,MAAM,IAAI,GAAiC,CACzC,EACE,QAAQ,EACR,KAAK,GAAG,CAAC,EACT,OAAO,EAAE,YAAY,GAAG,CAAC,EACzB,OAAO,EAAE,YAAY,GAAG,CAAC,EACf,EACZ,EAAE;IACF,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,CACJ,UAAU,EACV,UAAU,CACX,GAAG,OAAO,EAAE,IAAI;QACf,CAAC;QACD,CAAC;KACF,CAAC;IAEF,MAAM,EAAE,GAAG,eAAe,SAAS,EAAE,CAAC;IAEtC,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE;QACH,OAAO,UAAU,GAAG,KAAK,CAAC;IAC5B,CAAC,EACD;QACE,UAAU;QACV,KAAK;KACN,CACF,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE;QACH,OAAO,UAAU,GAAG,KAAK,CAAC;IAC5B,CAAC,EACD;QACE,UAAU;QACV,KAAK;KACN,CACF,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE;QACH,OAAO,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC,EACD;QACE,YAAY;QACZ,KAAK;KACN,CACF,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE;QACH,OAAO,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC,EACD;QACE,YAAY;QACZ,KAAK;KACN,CACF,CAAC;IAEF,OAAO,CACL,eACE,SAAS,EAAC,kBAAkB,aAE5B,kBACE,MAAM,EAAE,KAAK,EACb,EAAE,EAAE,EAAE,EACN,YAAY,EAAC,gBAAgB,EAC7B,KAAK,EAAE,KAAK,EACZ,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,YAET,QAAQ,IAAI,MAAM,GACX,EACV,eACE,IAAI,EAAE,QAAQ,EAAE,GAAG,EACnB,MAAM,EAAC,MAAM,EACb,KAAK,EAAC,MAAM,EACZ,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,GAAG,GACL,IACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;AAEhC,eAAe,IAAI,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Providers } from '../../shared';
3
+ import Grid from './Grid';
4
+ const Graph = ({ children, edgeFrequency, grid, id, line, nodeFrequency, nodeHeight, nodeWidth, shape, showGrid }) => {
5
+ if (!id) {
6
+ console.error('No ID provided to @lincle/base Graph!');
7
+ return null;
8
+ }
9
+ const gird = showGrid === false ?
10
+ null :
11
+ _jsx(Grid, {});
12
+ return (_jsxs(Providers, { edgeFrequency: edgeFrequency, grid: grid, id: id, line: line, nodeFrequency: nodeFrequency, nodeHeight: nodeHeight, nodeWidth: nodeWidth, shape: shape, children: [gird, children] }));
13
+ };
14
+ Graph.displayName = 'LincleGraph';
15
+ export { Graph };
16
+ export { default as Grid } from './Grid';
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Graph/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,IAAI,MAAM,QAAQ,CAAC;AAK1B,MAAM,KAAK,GAAkC,CAAC,EAC5C,QAAQ,EACR,aAAa,EACb,IAAI,EACJ,EAAE,EACF,IAAI,EACJ,aAAa,EACb,UAAU,EACV,SAAS,EACT,KAAK,EACL,QAAQ,EACT,EAAE,EAAE;IACH,IAAI,CAAC,EAAE,EAAE,CAAC;QAER,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAEvD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,CAAC;QACN,KAAC,IAAI,KAAG,CAAC;IAEX,OAAO,CACL,MAAC,SAAS,IACR,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,aAEX,IAAI,EACJ,QAAQ,IACC,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,KAAK,CAAC,WAAW,GAAG,aAAa,CAAC;AAElC,OAAO,EACL,KAAK,EACN,CAAC;AAEF,OAAO,EACL,OAAO,IAAI,IAAI,EAChB,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,122 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useDefaultNodeHeight, useDefaultNodeWidth, useDefaultShape, useEdgeSubscriber, useNodePositions } from '../../shared';
3
+ import { forwardRef, useEffect, useMemo } from 'react';
4
+ const Node = ({ children, className: givenClassName = '', height: givenHeight, id: nodeId, shape: givenShape, style: { node: nodeStyle } = {}, width: givenWidth, x: givenX = 0, y: givenY = 0, ...additionalProperties }, ref) => {
5
+ const defaultHeight = useDefaultNodeHeight();
6
+ const defaultShape = useDefaultShape();
7
+ const defaultWidth = useDefaultNodeWidth();
8
+ const edgeSubscriber = useEdgeSubscriber();
9
+ const nodePositions = useNodePositions();
10
+ const height = givenHeight ?? defaultHeight ?? 0;
11
+ const shape = givenShape ?? defaultShape ?? 'oval';
12
+ const width = givenWidth ?? defaultWidth ?? 0;
13
+ const { x, y } = useMemo(() => {
14
+ if (!(givenX || givenY)) {
15
+ const getNumber = /(-?\d+(\.\d+)?)/gu;
16
+ const [translateX, translateY] = nodeStyle?.transform ?
17
+ nodeStyle.transform.match(getNumber) ?? [
18
+ undefined,
19
+ undefined
20
+ ] :
21
+ [
22
+ undefined,
23
+ undefined
24
+ ];
25
+ const left = nodeStyle?.left ?? undefined;
26
+ const top = nodeStyle?.top ?? undefined;
27
+ return {
28
+ x: Number(translateX) || Number(left) || 0,
29
+ y: Number(translateY) || Number(top) || 0
30
+ };
31
+ }
32
+ return {
33
+ x: givenX,
34
+ y: givenY
35
+ };
36
+ }, [
37
+ givenX,
38
+ givenY,
39
+ nodeStyle
40
+ ]);
41
+ useEffect(() => {
42
+ nodePositions?.register({
43
+ height,
44
+ id: nodeId,
45
+ shape,
46
+ width,
47
+ x,
48
+ y
49
+ });
50
+ return () => {
51
+ nodePositions?.unregister(nodeId);
52
+ };
53
+ }, []);
54
+ useEffect(() => {
55
+ nodePositions?.update({
56
+ height,
57
+ id: nodeId,
58
+ shape,
59
+ width,
60
+ x,
61
+ y
62
+ });
63
+ }, [
64
+ height,
65
+ nodeId,
66
+ nodePositions,
67
+ shape,
68
+ width,
69
+ x,
70
+ y
71
+ ]);
72
+ useEffect(() => {
73
+ edgeSubscriber?.update({
74
+ height,
75
+ id: nodeId,
76
+ shape,
77
+ width,
78
+ x,
79
+ y
80
+ });
81
+ }, [
82
+ edgeSubscriber,
83
+ height,
84
+ nodeId,
85
+ shape,
86
+ width,
87
+ x,
88
+ y
89
+ ]);
90
+ const adjustedStyle = useMemo(() => {
91
+ return {
92
+ ...nodeStyle,
93
+ height,
94
+ transform: nodeStyle?.transform ?? `translate(${x}px, ${y}px) translateZ(0)`,
95
+ width
96
+ };
97
+ }, [
98
+ height,
99
+ nodeStyle,
100
+ width,
101
+ x,
102
+ y
103
+ ]);
104
+ const className = useMemo(() => {
105
+ return `${givenClassName} lincle-base-node ${shape === 'oval' ?
106
+ 'lincle-base-node-round' :
107
+ ''}`;
108
+ }, [
109
+ givenClassName,
110
+ shape
111
+ ]);
112
+ const dataTestId = useMemo(() => {
113
+ return `node-${nodeId}`;
114
+ }, [
115
+ nodeId
116
+ ]);
117
+ return (_jsx("div", { className: className, "data-testid": dataTestId, ref: ref, role: 'none', style: adjustedStyle, ...additionalProperties, children: children }));
118
+ };
119
+ Node.displayName = 'LincleNode';
120
+ const refNode = forwardRef(Node);
121
+ export { refNode as Node };
122
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Node/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ const Nodes = ({ children }) => {
2
+ return children;
3
+ };
4
+ Nodes.displayName = 'LincleNodes';
5
+ export { Nodes };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Nodes/index.ts"],"names":[],"mappings":"AAOA,MAAM,KAAK,GAAkC,CAC3C,EACE,QAAQ,EACT,EAED,EAAE;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,KAAK,CAAC,WAAW,GAAG,aAAa,CAAC;AAElC,OAAO,EACL,KAAK,EACN,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './Edge';
2
+ export * from './Edges';
3
+ export * from './Graph';
4
+ export * from './Node';
5
+ export * from './Nodes';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './components';
2
+ export * from './shared';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { generateOrigins, Providers, useDefaultLine, useDefaultNodeHeight, useDefaultNodeWidth, useDefaultShape, useDiagramId, useEdge, useEdges, useEdgeSubscriber, useGrid, useNodePositions, useRemoveEdge, useUpdateEdge } from '@lincle/react-shared';
2
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/shared.ts"],"names":[],"mappings":"AAkCA,OAAO,EAEL,eAAe,EAKf,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,OAAO,EACP,gBAAgB,EAChB,aAAa,EACb,aAAa,EACd,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEdge, useRemoveEdge, useUpdateEdge } from '../../shared';
3
+ import { useEffect, useMemo } from 'react';
4
+ const Edge = ({ children, className, dash, id: edgeId, line, markerEnd, markerStart, sourceId, targetId }) => {
5
+ const updateEdge = useUpdateEdge();
6
+ const removeEdge = useRemoveEdge();
7
+ const edge = useEdge(edgeId);
8
+ useEffect(() => {
9
+ return () => {
10
+ if (removeEdge) {
11
+ removeEdge(edgeId);
12
+ }
13
+ };
14
+ }, []);
15
+ useEffect(() => {
16
+ if (updateEdge) {
17
+ updateEdge(edgeId, {
18
+ className,
19
+ dash,
20
+ line,
21
+ markerEnd,
22
+ markerStart,
23
+ sourceId,
24
+ targetId
25
+ });
26
+ }
27
+ return () => {
28
+ if (removeEdge) {
29
+ removeEdge(edgeId);
30
+ }
31
+ };
32
+ }, [
33
+ className,
34
+ dash,
35
+ edgeId,
36
+ line,
37
+ markerEnd,
38
+ markerStart,
39
+ removeEdge,
40
+ sourceId,
41
+ targetId,
42
+ updateEdge
43
+ ]);
44
+ const style = useMemo(() => {
45
+ return {
46
+ left: edge?.center?.x,
47
+ position: 'absolute',
48
+ top: edge?.center?.y
49
+ };
50
+ }, [
51
+ edge?.center?.x,
52
+ edge?.center?.y
53
+ ]);
54
+ return (_jsx("div", { style: style, children: children }));
55
+ };
56
+ Edge.displayName = 'LincleEdge';
57
+ export { Edge };
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Edge/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,OAAO,EACP,aAAa,EACb,aAAa,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAGL,SAAS,EACT,OAAO,EACR,MAAM,OAAO,CAAC;AAEf,MAAM,IAAI,GAAiC,CAAC,EAC1C,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,EAAE,EAAE,MAAM,EACV,IAAI,EACJ,SAAS,EACT,WAAW,EAEX,QAAQ,EACR,QAAQ,EACT,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7B,SAAS,CACP,GAAG,EAAE;QACH,OAAO,GAAS,EAAE;YAChB,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CACR,MAAM,CACP,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EACD,EAAE,CACH,CAAC;IAEF,SAAS,CACP,GAAG,EAAE;QACH,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CACR,MAAM,EACN;gBACE,SAAS;gBACT,IAAI;gBACJ,IAAI;gBACJ,SAAS;gBACT,WAAW;gBACX,QAAQ;gBACR,QAAQ;aACT,CACF,CAAC;QACJ,CAAC;QAED,OAAO,GAAS,EAAE;YAChB,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CACR,MAAM,CACP,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EACD;QACE,SAAS;QACT,IAAI;QACJ,MAAM;QACN,IAAI;QACJ,SAAS;QACT,WAAW;QACX,UAAU;QACV,QAAQ;QACR,QAAQ;QACR,UAAU;KACX,CACF,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE;QACH,OAAO;YACL,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACrB,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SACrB,CAAC;IACJ,CAAC,EACD;QACE,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,CACF,CAAC;IAEF,OAAO,CACL,cACE,KAAK,EAAE,KAAK,YAEX,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;AAEhC,OAAO,EACL,IAAI,EACL,CAAC"}