@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.
- package/dist/cjs/components/Edge/index.js +58 -0
- package/dist/cjs/components/Edge/index.js.map +1 -0
- package/dist/cjs/components/Edges/Marker.js +25 -0
- package/dist/cjs/components/Edges/Marker.js.map +1 -0
- package/dist/cjs/components/Edges/Paths/Path/Path.js +76 -0
- package/dist/cjs/components/Edges/Paths/Path/Path.js.map +1 -0
- package/dist/cjs/components/Edges/Paths/Path/index.js +78 -0
- package/dist/cjs/components/Edges/Paths/Path/index.js.map +1 -0
- package/dist/cjs/components/Edges/Paths/index.js +27 -0
- package/dist/cjs/components/Edges/Paths/index.js.map +1 -0
- package/dist/cjs/components/Edges/index.js +47 -0
- package/dist/cjs/components/Edges/index.js.map +1 -0
- package/dist/cjs/components/Graph/Grid/index.js +41 -0
- package/dist/cjs/components/Graph/Grid/index.js.map +1 -0
- package/dist/cjs/components/Graph/index.js +17 -0
- package/dist/cjs/components/Graph/index.js.map +1 -0
- package/dist/cjs/components/Node/index.js +122 -0
- package/dist/cjs/components/Node/index.js.map +1 -0
- package/dist/cjs/components/Nodes/index.js +6 -0
- package/dist/cjs/components/Nodes/index.js.map +1 -0
- package/dist/cjs/components/index.js +6 -0
- package/dist/cjs/components/index.js.map +1 -0
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/shared.js +2 -0
- package/dist/cjs/shared.js.map +1 -0
- package/dist/esm/components/Edge/index.js +58 -0
- package/dist/esm/components/Edge/index.js.map +1 -0
- package/dist/esm/components/Edges/Marker.js +25 -0
- package/dist/esm/components/Edges/Marker.js.map +1 -0
- package/dist/esm/components/Edges/Paths/Path/Path.js +76 -0
- package/dist/esm/components/Edges/Paths/Path/Path.js.map +1 -0
- package/dist/esm/components/Edges/Paths/Path/index.js +78 -0
- package/dist/esm/components/Edges/Paths/Path/index.js.map +1 -0
- package/dist/esm/components/Edges/Paths/index.js +27 -0
- package/dist/esm/components/Edges/Paths/index.js.map +1 -0
- package/dist/esm/components/Edges/index.js +47 -0
- package/dist/esm/components/Edges/index.js.map +1 -0
- package/dist/esm/components/Graph/Grid/index.js +41 -0
- package/dist/esm/components/Graph/Grid/index.js.map +1 -0
- package/dist/esm/components/Graph/index.js +17 -0
- package/dist/esm/components/Graph/index.js.map +1 -0
- package/dist/esm/components/Node/index.js +122 -0
- package/dist/esm/components/Node/index.js.map +1 -0
- package/dist/esm/components/Nodes/index.js +6 -0
- package/dist/esm/components/Nodes/index.js.map +1 -0
- package/dist/esm/components/index.js +6 -0
- package/dist/esm/components/index.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/shared.js +2 -0
- package/dist/esm/shared.js.map +1 -0
- package/package.json +22 -19
- package/dist/components/Edge/index.js +0 -62
- package/dist/components/Edges/Marker.js +0 -26
- package/dist/components/Edges/Paths/Path/Path.js +0 -71
- package/dist/components/Edges/Paths/Path/index.js +0 -73
- package/dist/components/Edges/Paths/index.js +0 -33
- package/dist/components/Edges/index.js +0 -49
- package/dist/components/Graph/Grid/index.js +0 -42
- package/dist/components/Graph/index.js +0 -23
- package/dist/components/Node/index.js +0 -134
- package/dist/components/Nodes/index.js +0 -8
- package/dist/components/index.js +0 -21
- package/dist/index.js +0 -18
- package/dist/shared.js +0 -18
- /package/dist/{components → esm/components}/Edge/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Edges/Marker.d.ts +0 -0
- /package/dist/{components → esm/components}/Edges/Paths/Path/Path.d.ts +0 -0
- /package/dist/{components → esm/components}/Edges/Paths/Path/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Edges/Paths/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Edges/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Graph/Grid/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Graph/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Node/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Nodes/index.d.ts +0 -0
- /package/dist/{components → esm/components}/index.d.ts +0 -0
- /package/dist/{index.d.ts → esm/index.d.ts} +0 -0
- /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":"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"}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|