@uipath/apollo-react 6.26.0 → 6.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/canvas/components/AgentCanvas/AgentFlow.cjs +4 -3
  2. package/dist/canvas/components/AgentCanvas/AgentFlow.d.ts.map +1 -1
  3. package/dist/canvas/components/AgentCanvas/AgentFlow.js +4 -3
  4. package/dist/canvas/components/AgentCanvas/nodes/AgentNode.cjs +13 -9
  5. package/dist/canvas/components/AgentCanvas/nodes/AgentNode.d.ts.map +1 -1
  6. package/dist/canvas/components/AgentCanvas/nodes/AgentNode.js +13 -9
  7. package/dist/canvas/components/AgentCanvas/nodes/AgentNode.styles.cjs +1 -1
  8. package/dist/canvas/components/AgentCanvas/nodes/AgentNode.styles.d.ts +2 -0
  9. package/dist/canvas/components/AgentCanvas/nodes/AgentNode.styles.d.ts.map +1 -1
  10. package/dist/canvas/components/AgentCanvas/nodes/AgentNode.styles.js +1 -1
  11. package/dist/canvas/components/BaseCanvas/BaseCanvas.cjs +27 -3
  12. package/dist/canvas/components/BaseCanvas/BaseCanvas.d.ts.map +1 -1
  13. package/dist/canvas/components/BaseCanvas/BaseCanvas.hooks.cjs +21 -3
  14. package/dist/canvas/components/BaseCanvas/BaseCanvas.hooks.d.ts +1 -0
  15. package/dist/canvas/components/BaseCanvas/BaseCanvas.hooks.d.ts.map +1 -1
  16. package/dist/canvas/components/BaseCanvas/BaseCanvas.hooks.js +18 -3
  17. package/dist/canvas/components/BaseCanvas/BaseCanvas.js +28 -4
  18. package/dist/canvas/components/BaseCanvas/BaseCanvas.stories.fixtures.cjs +87 -0
  19. package/dist/canvas/components/BaseCanvas/BaseCanvas.stories.fixtures.d.ts +4 -0
  20. package/dist/canvas/components/BaseCanvas/BaseCanvas.stories.fixtures.d.ts.map +1 -0
  21. package/dist/canvas/components/BaseCanvas/BaseCanvas.stories.fixtures.js +53 -0
  22. package/dist/canvas/components/BaseCanvas/BaseCanvas.types.d.ts.map +1 -1
  23. package/dist/canvas/components/BaseCanvas/ReadOnlyNodesContext.cjs +30 -3
  24. package/dist/canvas/components/BaseCanvas/ReadOnlyNodesContext.d.ts +3 -0
  25. package/dist/canvas/components/BaseCanvas/ReadOnlyNodesContext.d.ts.map +1 -1
  26. package/dist/canvas/components/BaseCanvas/ReadOnlyNodesContext.js +21 -3
  27. package/dist/canvas/components/BaseCanvas/index.cjs +43 -32
  28. package/dist/canvas/components/BaseCanvas/index.d.ts +1 -1
  29. package/dist/canvas/components/BaseCanvas/index.d.ts.map +1 -1
  30. package/dist/canvas/components/BaseCanvas/index.js +2 -2
  31. package/dist/canvas/components/BaseCanvas/useReadOnlyConnectionCallbacks.cjs +87 -0
  32. package/dist/canvas/components/BaseCanvas/useReadOnlyConnectionCallbacks.d.ts +13 -0
  33. package/dist/canvas/components/BaseCanvas/useReadOnlyConnectionCallbacks.d.ts.map +1 -0
  34. package/dist/canvas/components/BaseCanvas/useReadOnlyConnectionCallbacks.js +53 -0
  35. package/dist/canvas/components/BaseNode/BaseNode.cjs +2 -14
  36. package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
  37. package/dist/canvas/components/BaseNode/BaseNode.js +2 -14
  38. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.cjs +2 -1
  39. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts +1 -0
  40. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts.map +1 -1
  41. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.js +2 -1
  42. package/dist/canvas/components/LoopNode/LoopNode.cjs +13 -5
  43. package/dist/canvas/components/LoopNode/LoopNode.d.ts.map +1 -1
  44. package/dist/canvas/components/LoopNode/LoopNode.js +13 -5
  45. package/dist/canvas/components/StageNode/StageNode.cjs +15 -11
  46. package/dist/canvas/components/StageNode/StageNode.d.ts.map +1 -1
  47. package/dist/canvas/components/StageNode/StageNode.js +15 -11
  48. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.cjs +29 -6
  49. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.d.ts.map +1 -1
  50. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.js +29 -6
  51. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.cjs +21 -3
  52. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
  53. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +21 -3
  54. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.utils.cjs +18 -2
  55. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.utils.d.ts +2 -0
  56. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.utils.d.ts.map +1 -1
  57. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.utils.js +14 -1
  58. package/dist/canvas/storybook-utils/components/StoryPage.d.ts +15 -1
  59. package/dist/canvas/storybook-utils/components/StoryPage.d.ts.map +1 -1
  60. package/dist/canvas/styles/tailwind.canvas.css +1 -1
  61. package/dist/canvas/types.d.ts +1 -0
  62. package/dist/canvas/types.d.ts.map +1 -1
  63. package/dist/canvas/utils/createPreviewGraph.cjs +13 -8
  64. package/dist/canvas/utils/createPreviewGraph.d.ts +5 -2
  65. package/dist/canvas/utils/createPreviewGraph.d.ts.map +1 -1
  66. package/dist/canvas/utils/createPreviewGraph.js +13 -8
  67. package/package.json +1 -1
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ createConnectionComparisonNodes: ()=>createConnectionComparisonNodes
28
+ });
29
+ const react_cjs_namespaceObject = require("../../xyflow/react.cjs");
30
+ const index_cjs_namespaceObject = require("../../storybook-utils/index.cjs");
31
+ function createConnectionComparisonNodes() {
32
+ return [
33
+ (0, index_cjs_namespaceObject.createNode)({
34
+ id: 'connection-source',
35
+ type: 'uipath.blank-node',
36
+ position: {
37
+ x: 0,
38
+ y: 0
39
+ },
40
+ display: {
41
+ label: 'Submit expense'
42
+ },
43
+ handleConfigurations: [
44
+ {
45
+ position: react_cjs_namespaceObject.Position.Right,
46
+ handles: [
47
+ {
48
+ id: `out-${react_cjs_namespaceObject.Position.Right}`,
49
+ type: 'source',
50
+ handleType: 'output'
51
+ }
52
+ ]
53
+ }
54
+ ]
55
+ }),
56
+ (0, index_cjs_namespaceObject.createNode)({
57
+ id: 'connection-target',
58
+ type: 'uipath.blank-node',
59
+ position: {
60
+ x: 320,
61
+ y: 0
62
+ },
63
+ display: {
64
+ label: 'Review expense'
65
+ },
66
+ handleConfigurations: [
67
+ {
68
+ position: react_cjs_namespaceObject.Position.Left,
69
+ handles: [
70
+ {
71
+ id: `in-${react_cjs_namespaceObject.Position.Left}`,
72
+ type: 'target',
73
+ handleType: 'input'
74
+ }
75
+ ]
76
+ }
77
+ ]
78
+ })
79
+ ];
80
+ }
81
+ exports.createConnectionComparisonNodes = __webpack_exports__.createConnectionComparisonNodes;
82
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
83
+ "createConnectionComparisonNodes"
84
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
85
+ Object.defineProperty(exports, '__esModule', {
86
+ value: true
87
+ });
@@ -0,0 +1,4 @@
1
+ import type { Node } from '../../xyflow/react.ts';
2
+ import type { BaseNodeData } from '../BaseNode/BaseNode.types';
3
+ export declare function createConnectionComparisonNodes(): Node<BaseNodeData>[];
4
+ //# sourceMappingURL=BaseCanvas.stories.fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseCanvas.stories.fixtures.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseCanvas/BaseCanvas.stories.fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAGrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,wBAAgB,+BAA+B,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAuCtE"}
@@ -0,0 +1,53 @@
1
+ import { Position } from "../../xyflow/react.js";
2
+ import { createNode } from "../../storybook-utils/index.js";
3
+ function createConnectionComparisonNodes() {
4
+ return [
5
+ createNode({
6
+ id: 'connection-source',
7
+ type: 'uipath.blank-node',
8
+ position: {
9
+ x: 0,
10
+ y: 0
11
+ },
12
+ display: {
13
+ label: 'Submit expense'
14
+ },
15
+ handleConfigurations: [
16
+ {
17
+ position: Position.Right,
18
+ handles: [
19
+ {
20
+ id: `out-${Position.Right}`,
21
+ type: 'source',
22
+ handleType: 'output'
23
+ }
24
+ ]
25
+ }
26
+ ]
27
+ }),
28
+ createNode({
29
+ id: 'connection-target',
30
+ type: 'uipath.blank-node',
31
+ position: {
32
+ x: 320,
33
+ y: 0
34
+ },
35
+ display: {
36
+ label: 'Review expense'
37
+ },
38
+ handleConfigurations: [
39
+ {
40
+ position: Position.Left,
41
+ handles: [
42
+ {
43
+ id: `in-${Position.Left}`,
44
+ type: 'target',
45
+ handleType: 'input'
46
+ }
47
+ ]
48
+ }
49
+ ]
50
+ })
51
+ ];
52
+ }
53
+ export { createConnectionComparisonNodes };
@@ -1 +1 @@
1
- {"version":3,"file":"BaseCanvas.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseCanvas/BaseCanvas.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,IAAI,EACJ,IAAI,EACJ,iBAAiB,EACjB,cAAc,EACf,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAMtF,MAAM,WAAW,wBAAwB;IAOvC,OAAO,CAAC,EACJ,MAAM,GACN;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAON,QAAQ,CAAC,EAAE,MAAM,CAAC;IAMlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAMjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AASD,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,CACzF,SAAQ,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAe1C,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IAmBtC,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,MAAM,EAAE,CAAC;IAM1D,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAO5C,QAAQ,CAAC,EAAE,SAAS,CAAC;IAOrB,cAAc,CAAC,EAAE,OAAO,CAAC;IAKzB,eAAe,CAAC,EAAE,MAAM,CAAC;IAKzB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAOlC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAOtC,aAAa,CAAC,EAAE,MAAM,CAAC;IAOvB,cAAc,CAAC,EAAE,MAAM,CAAC;IAcxB,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAkB/C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAM/B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IAUtC,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAK1C,eAAe,CAAC,EAAE,oBAAoB,CAAC;IAMvC,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAW1B,UAAU,CAAC,EAAE,OAAO,CAAC;IAOrB,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAMD,MAAM,WAAW,wBAAwB;IAKvC,OAAO,CAAC,EAAE,MAAM,CAAC;IAMjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAMlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAMjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAOjB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AASD,MAAM,WAAW,aAAa,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI;IAgBvF,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAa/E,oBAAoB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAiB/D,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAyBrE,SAAS,EAAE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;CAC9D"}
1
+ {"version":3,"file":"BaseCanvas.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseCanvas/BaseCanvas.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,IAAI,EACJ,IAAI,EACJ,iBAAiB,EACjB,cAAc,EACf,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAMtF,MAAM,WAAW,wBAAwB;IAOvC,OAAO,CAAC,EACJ,MAAM,GACN;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAON,QAAQ,CAAC,EAAE,MAAM,CAAC;IAMlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAMjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AASD,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,CACzF,SAAQ,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAe1C,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IAiCtC,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,MAAM,EAAE,CAAC;IAM1D,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAO5C,QAAQ,CAAC,EAAE,SAAS,CAAC;IAOrB,cAAc,CAAC,EAAE,OAAO,CAAC;IAKzB,eAAe,CAAC,EAAE,MAAM,CAAC;IAKzB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAOlC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAOtC,aAAa,CAAC,EAAE,MAAM,CAAC;IAOvB,cAAc,CAAC,EAAE,MAAM,CAAC;IAcxB,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAkB/C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAM/B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IAUtC,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAK1C,eAAe,CAAC,EAAE,oBAAoB,CAAC;IAMvC,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAW1B,UAAU,CAAC,EAAE,OAAO,CAAC;IAOrB,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAMD,MAAM,WAAW,wBAAwB;IAKvC,OAAO,CAAC,EAAE,MAAM,CAAC;IAMjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAMlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAMjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAOjB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AASD,MAAM,WAAW,aAAa,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI;IAgBvF,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAa/E,oBAAoB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAiB/D,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAyBrE,SAAS,EAAE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;CAC9D"}
@@ -24,9 +24,12 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
+ useStableNodeIdSet: ()=>useStableNodeIdSet,
28
+ isConnectionReadOnly: ()=>isConnectionReadOnly,
27
29
  useIsNodeReadOnly: ()=>useIsNodeReadOnly,
28
30
  ReadOnlyNodesProvider: ()=>ReadOnlyNodesProvider,
29
- useStableNodeIdSet: ()=>useStableNodeIdSet
31
+ useIsConnectionReadOnly: ()=>useIsConnectionReadOnly,
32
+ useReadOnlyConnectionCheck: ()=>useReadOnlyConnectionCheck
30
33
  });
31
34
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
32
35
  const external_react_namespaceObject = require("react");
@@ -35,8 +38,8 @@ const external_set_utils_cjs_namespaceObject = require("./set-utils.cjs");
35
38
  class ReadOnlyNodesStore {
36
39
  ids;
37
40
  listeners = new Map();
38
- constructor(initial = external_set_utils_cjs_namespaceObject.EMPTY_SET){
39
- this.ids = 0 === initial.size ? external_set_utils_cjs_namespaceObject.EMPTY_SET : new Set(initial);
41
+ constructor(initialIds = external_set_utils_cjs_namespaceObject.EMPTY_SET){
42
+ this.ids = 0 === initialIds.size ? external_set_utils_cjs_namespaceObject.EMPTY_SET : new Set(initialIds);
40
43
  }
41
44
  subscribe(nodeId, listener) {
42
45
  let nodeListeners = this.listeners.get(nodeId);
@@ -53,6 +56,9 @@ class ReadOnlyNodesStore {
53
56
  isReadOnly(nodeId) {
54
57
  return this.ids.has(nodeId);
55
58
  }
59
+ isConnectionReadOnly(source, target) {
60
+ return isConnectionReadOnly(this.ids, source, target);
61
+ }
56
62
  update(next) {
57
63
  const prev = this.ids;
58
64
  if ((0, external_set_utils_cjs_namespaceObject.setsEqual)(prev, next)) return;
@@ -73,6 +79,10 @@ function useStableNodeIdSet(ids) {
73
79
  if (!(0, external_set_utils_cjs_namespaceObject.setsEqual)(ref.current, next)) ref.current = 0 === next.size ? external_set_utils_cjs_namespaceObject.EMPTY_SET : new Set(next);
74
80
  return ref.current;
75
81
  }
82
+ function isConnectionReadOnly(readOnlyNodeIds, source, target) {
83
+ if (0 === readOnlyNodeIds.size || !source || !target) return false;
84
+ return readOnlyNodeIds.has(source) && readOnlyNodeIds.has(target);
85
+ }
76
86
  const ReadOnlyNodesProvider = ({ children, readOnlyNodeIds })=>{
77
87
  const storeRef = (0, external_react_namespaceObject.useRef)(void 0);
78
88
  if (!storeRef.current) storeRef.current = new ReadOnlyNodesStore(readOnlyNodeIds);
@@ -98,12 +108,29 @@ function useIsNodeReadOnly(nodeId) {
98
108
  ]);
99
109
  return (0, external_react_namespaceObject.useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);
100
110
  }
111
+ function useIsConnectionReadOnly(source, target) {
112
+ const sourceReadOnly = useIsNodeReadOnly(source ?? '');
113
+ const targetReadOnly = useIsNodeReadOnly(target ?? '');
114
+ return !!source && !!target && sourceReadOnly && targetReadOnly;
115
+ }
116
+ function useReadOnlyConnectionCheck() {
117
+ const store = (0, external_react_namespaceObject.useContext)(ReadOnlyNodesContext);
118
+ return (0, external_react_namespaceObject.useCallback)((source, target)=>store?.isConnectionReadOnly(source, target) ?? false, [
119
+ store
120
+ ]);
121
+ }
101
122
  exports.ReadOnlyNodesProvider = __webpack_exports__.ReadOnlyNodesProvider;
123
+ exports.isConnectionReadOnly = __webpack_exports__.isConnectionReadOnly;
124
+ exports.useIsConnectionReadOnly = __webpack_exports__.useIsConnectionReadOnly;
102
125
  exports.useIsNodeReadOnly = __webpack_exports__.useIsNodeReadOnly;
126
+ exports.useReadOnlyConnectionCheck = __webpack_exports__.useReadOnlyConnectionCheck;
103
127
  exports.useStableNodeIdSet = __webpack_exports__.useStableNodeIdSet;
104
128
  for(var __rspack_i in __webpack_exports__)if (-1 === [
105
129
  "ReadOnlyNodesProvider",
130
+ "isConnectionReadOnly",
131
+ "useIsConnectionReadOnly",
106
132
  "useIsNodeReadOnly",
133
+ "useReadOnlyConnectionCheck",
107
134
  "useStableNodeIdSet"
108
135
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
109
136
  Object.defineProperty(exports, '__esModule', {
@@ -1,7 +1,10 @@
1
1
  import type React from 'react';
2
2
  export declare function useStableNodeIdSet(ids: ReadonlySet<string> | readonly string[] | undefined): ReadonlySet<string>;
3
+ export declare function isConnectionReadOnly(readOnlyNodeIds: ReadonlySet<string>, source: string | null | undefined, target: string | null | undefined): boolean;
3
4
  export declare const ReadOnlyNodesProvider: React.FC<React.PropsWithChildren<{
4
5
  readOnlyNodeIds?: ReadonlySet<string>;
5
6
  }>>;
6
7
  export declare function useIsNodeReadOnly(nodeId: string): boolean;
8
+ export declare function useIsConnectionReadOnly(source: string | null | undefined, target: string | null | undefined): boolean;
9
+ export declare function useReadOnlyConnectionCheck(): (source: string | null | undefined, target: string | null | undefined) => boolean;
7
10
  //# sourceMappingURL=ReadOnlyNodesContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReadOnlyNodesContext.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseCanvas/ReadOnlyNodesContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuF/B,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,GACvD,WAAW,CAAC,MAAM,CAAC,CASrB;AAMD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAC1C,KAAK,CAAC,iBAAiB,CAAC;IAAE,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC,CAoBnE,CAAC;AAOF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAUzD"}
1
+ {"version":3,"file":"ReadOnlyNodesContext.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseCanvas/ReadOnlyNodesContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA8F/B,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,GACvD,WAAW,CAAC,MAAM,CAAC,CASrB;AAMD,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,EACpC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,OAAO,CAGT;AAMD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAC1C,KAAK,CAAC,iBAAiB,CAAC;IAAE,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC,CAoBnE,CAAC;AAOF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAUzD;AAMD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,OAAO,CAIT;AAMD,wBAAgB,0BAA0B,aAI7B,MAAM,GAAG,IAAI,GAAG,SAAS,UAAU,MAAM,GAAG,IAAI,GAAG,SAAS,aAIxE"}
@@ -5,8 +5,8 @@ import { EMPTY_SET, setsEqual } from "./set-utils.js";
5
5
  class ReadOnlyNodesStore {
6
6
  ids;
7
7
  listeners = new Map();
8
- constructor(initial = EMPTY_SET){
9
- this.ids = 0 === initial.size ? EMPTY_SET : new Set(initial);
8
+ constructor(initialIds = EMPTY_SET){
9
+ this.ids = 0 === initialIds.size ? EMPTY_SET : new Set(initialIds);
10
10
  }
11
11
  subscribe(nodeId, listener) {
12
12
  let nodeListeners = this.listeners.get(nodeId);
@@ -23,6 +23,9 @@ class ReadOnlyNodesStore {
23
23
  isReadOnly(nodeId) {
24
24
  return this.ids.has(nodeId);
25
25
  }
26
+ isConnectionReadOnly(source, target) {
27
+ return isConnectionReadOnly(this.ids, source, target);
28
+ }
26
29
  update(next) {
27
30
  const prev = this.ids;
28
31
  if (setsEqual(prev, next)) return;
@@ -43,6 +46,10 @@ function useStableNodeIdSet(ids) {
43
46
  if (!setsEqual(ref.current, next)) ref.current = 0 === next.size ? EMPTY_SET : new Set(next);
44
47
  return ref.current;
45
48
  }
49
+ function isConnectionReadOnly(readOnlyNodeIds, source, target) {
50
+ if (0 === readOnlyNodeIds.size || !source || !target) return false;
51
+ return readOnlyNodeIds.has(source) && readOnlyNodeIds.has(target);
52
+ }
46
53
  const ReadOnlyNodesProvider = ({ children, readOnlyNodeIds })=>{
47
54
  const storeRef = useRef(void 0);
48
55
  if (!storeRef.current) storeRef.current = new ReadOnlyNodesStore(readOnlyNodeIds);
@@ -68,4 +75,15 @@ function useIsNodeReadOnly(nodeId) {
68
75
  ]);
69
76
  return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
70
77
  }
71
- export { ReadOnlyNodesProvider, useIsNodeReadOnly, useStableNodeIdSet };
78
+ function useIsConnectionReadOnly(source, target) {
79
+ const sourceReadOnly = useIsNodeReadOnly(source ?? '');
80
+ const targetReadOnly = useIsNodeReadOnly(target ?? '');
81
+ return !!source && !!target && sourceReadOnly && targetReadOnly;
82
+ }
83
+ function useReadOnlyConnectionCheck() {
84
+ const store = useContext(ReadOnlyNodesContext);
85
+ return useCallback((source, target)=>store?.isConnectionReadOnly(source, target) ?? false, [
86
+ store
87
+ ]);
88
+ }
89
+ export { ReadOnlyNodesProvider, isConnectionReadOnly, useIsConnectionReadOnly, useIsNodeReadOnly, useReadOnlyConnectionCheck, useStableNodeIdSet };
@@ -82,6 +82,7 @@ var __webpack_exports__ = {};
82
82
  useAutoLayout: ()=>_BaseCanvas_hooks__rspack_import_2.useAutoLayout,
83
83
  useEnsureNodesInView: ()=>_BaseCanvas_hooks__rspack_import_2.useEnsureNodesInView,
84
84
  useFitView: ()=>_BaseCanvas_hooks__rspack_import_2.useFitView,
85
+ useIsConnectionReadOnly: ()=>_ReadOnlyNodesContext__rspack_import_9.useIsConnectionReadOnly,
85
86
  useIsNodeReadOnly: ()=>_ReadOnlyNodesContext__rspack_import_9.useIsNodeReadOnly,
86
87
  useMaintainNodesInView: ()=>_BaseCanvas_hooks__rspack_import_2.useMaintainNodesInView
87
88
  });
@@ -89,99 +90,107 @@ var __webpack_exports__ = {};
89
90
  var _BaseCanvas_constants__rspack_import_1 = __webpack_require__("./BaseCanvas.constants");
90
91
  var __rspack_reexport = {};
91
92
  for(const __rspack_import_key in _BaseCanvas_constants__rspack_import_1)if ([
92
- "useAutoLayout",
93
- "useMaintainNodesInView",
94
93
  "useEnsureNodesInView",
95
94
  "default",
95
+ "useFitView",
96
+ "useAutoLayout",
97
+ "useMaintainNodesInView",
96
98
  "useIsNodeReadOnly",
97
- "BaseCanvas",
98
- "useFitView"
99
+ "useIsConnectionReadOnly",
100
+ "BaseCanvas"
99
101
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_BaseCanvas_constants__rspack_import_1[__rspack_import_key];
100
102
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
101
103
  var _BaseCanvas_hooks__rspack_import_2 = __webpack_require__("./BaseCanvas.hooks");
102
104
  var _BaseCanvas_types__rspack_import_3 = __webpack_require__("./BaseCanvas.types");
103
105
  var __rspack_reexport = {};
104
106
  for(const __rspack_import_key in _BaseCanvas_types__rspack_import_3)if ([
105
- "useAutoLayout",
106
- "useMaintainNodesInView",
107
107
  "useEnsureNodesInView",
108
108
  "default",
109
+ "useFitView",
110
+ "useAutoLayout",
111
+ "useMaintainNodesInView",
109
112
  "useIsNodeReadOnly",
110
- "BaseCanvas",
111
- "useFitView"
113
+ "useIsConnectionReadOnly",
114
+ "BaseCanvas"
112
115
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_BaseCanvas_types__rspack_import_3[__rspack_import_key];
113
116
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
114
117
  var _BaseCanvasModeProvider__rspack_import_4 = __webpack_require__("./BaseCanvasModeProvider");
115
118
  var __rspack_reexport = {};
116
119
  for(const __rspack_import_key in _BaseCanvasModeProvider__rspack_import_4)if ([
117
- "useAutoLayout",
118
- "useMaintainNodesInView",
119
120
  "useEnsureNodesInView",
120
121
  "default",
122
+ "useFitView",
123
+ "useAutoLayout",
124
+ "useMaintainNodesInView",
121
125
  "useIsNodeReadOnly",
122
- "BaseCanvas",
123
- "useFitView"
126
+ "useIsConnectionReadOnly",
127
+ "BaseCanvas"
124
128
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_BaseCanvasModeProvider__rspack_import_4[__rspack_import_key];
125
129
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
126
130
  var _CanvasBackground__rspack_import_5 = __webpack_require__("./CanvasBackground");
127
131
  var __rspack_reexport = {};
128
132
  for(const __rspack_import_key in _CanvasBackground__rspack_import_5)if ([
129
- "useAutoLayout",
130
- "useMaintainNodesInView",
131
133
  "useEnsureNodesInView",
132
134
  "default",
135
+ "useFitView",
136
+ "useAutoLayout",
137
+ "useMaintainNodesInView",
133
138
  "useIsNodeReadOnly",
134
- "BaseCanvas",
135
- "useFitView"
139
+ "useIsConnectionReadOnly",
140
+ "BaseCanvas"
136
141
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_CanvasBackground__rspack_import_5[__rspack_import_key];
137
142
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
138
143
  var _CanvasProviders__rspack_import_6 = __webpack_require__("./CanvasProviders");
139
144
  var __rspack_reexport = {};
140
145
  for(const __rspack_import_key in _CanvasProviders__rspack_import_6)if ([
141
- "useAutoLayout",
142
- "useMaintainNodesInView",
143
146
  "useEnsureNodesInView",
144
147
  "default",
148
+ "useFitView",
149
+ "useAutoLayout",
150
+ "useMaintainNodesInView",
145
151
  "useIsNodeReadOnly",
146
- "BaseCanvas",
147
- "useFitView"
152
+ "useIsConnectionReadOnly",
153
+ "BaseCanvas"
148
154
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_CanvasProviders__rspack_import_6[__rspack_import_key];
149
155
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
150
156
  var _CanvasThemeContext__rspack_import_7 = __webpack_require__("./CanvasThemeContext");
151
157
  var __rspack_reexport = {};
152
158
  for(const __rspack_import_key in _CanvasThemeContext__rspack_import_7)if ([
153
- "useAutoLayout",
154
- "useMaintainNodesInView",
155
159
  "useEnsureNodesInView",
156
160
  "default",
161
+ "useFitView",
162
+ "useAutoLayout",
163
+ "useMaintainNodesInView",
157
164
  "useIsNodeReadOnly",
158
- "BaseCanvas",
159
- "useFitView"
165
+ "useIsConnectionReadOnly",
166
+ "BaseCanvas"
160
167
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_CanvasThemeContext__rspack_import_7[__rspack_import_key];
161
168
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
162
169
  var _ConnectedHandlesContext__rspack_import_8 = __webpack_require__("./ConnectedHandlesContext");
163
170
  var __rspack_reexport = {};
164
171
  for(const __rspack_import_key in _ConnectedHandlesContext__rspack_import_8)if ([
165
- "useAutoLayout",
166
- "useMaintainNodesInView",
167
172
  "useEnsureNodesInView",
168
173
  "default",
174
+ "useFitView",
175
+ "useAutoLayout",
176
+ "useMaintainNodesInView",
169
177
  "useIsNodeReadOnly",
170
- "BaseCanvas",
171
- "useFitView"
178
+ "useIsConnectionReadOnly",
179
+ "BaseCanvas"
172
180
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_ConnectedHandlesContext__rspack_import_8[__rspack_import_key];
173
181
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
174
182
  var _ReadOnlyNodesContext__rspack_import_9 = __webpack_require__("./ReadOnlyNodesContext");
175
183
  var _SelectionStateContext__rspack_import_10 = __webpack_require__("./SelectionStateContext");
176
184
  var __rspack_reexport = {};
177
185
  for(const __rspack_import_key in _SelectionStateContext__rspack_import_10)if ([
178
- "useAutoLayout",
179
- "useMaintainNodesInView",
180
186
  "useEnsureNodesInView",
181
187
  "default",
188
+ "useFitView",
189
+ "useAutoLayout",
190
+ "useMaintainNodesInView",
182
191
  "useIsNodeReadOnly",
183
- "BaseCanvas",
184
- "useFitView"
192
+ "useIsConnectionReadOnly",
193
+ "BaseCanvas"
185
194
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_SelectionStateContext__rspack_import_10[__rspack_import_key];
186
195
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
187
196
  })();
@@ -189,6 +198,7 @@ exports.BaseCanvas = __webpack_exports__.BaseCanvas;
189
198
  exports.useAutoLayout = __webpack_exports__.useAutoLayout;
190
199
  exports.useEnsureNodesInView = __webpack_exports__.useEnsureNodesInView;
191
200
  exports.useFitView = __webpack_exports__.useFitView;
201
+ exports.useIsConnectionReadOnly = __webpack_exports__.useIsConnectionReadOnly;
192
202
  exports.useIsNodeReadOnly = __webpack_exports__.useIsNodeReadOnly;
193
203
  exports.useMaintainNodesInView = __webpack_exports__.useMaintainNodesInView;
194
204
  for(var __rspack_i in __webpack_exports__)if (-1 === [
@@ -196,6 +206,7 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
196
206
  "useAutoLayout",
197
207
  "useEnsureNodesInView",
198
208
  "useFitView",
209
+ "useIsConnectionReadOnly",
199
210
  "useIsNodeReadOnly",
200
211
  "useMaintainNodesInView"
201
212
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
@@ -7,6 +7,6 @@ export * from './CanvasBackground';
7
7
  export * from './CanvasProviders';
8
8
  export * from './CanvasThemeContext';
9
9
  export * from './ConnectedHandlesContext';
10
- export { useIsNodeReadOnly } from './ReadOnlyNodesContext';
10
+ export { useIsConnectionReadOnly, useIsNodeReadOnly } from './ReadOnlyNodesContext';
11
11
  export * from './SelectionStateContext';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseCanvas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseCanvas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACpF,cAAc,yBAAyB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { BaseCanvas } from "./BaseCanvas.js";
2
2
  import { useAutoLayout, useEnsureNodesInView, useFitView, useMaintainNodesInView } from "./BaseCanvas.hooks.js";
3
- import { useIsNodeReadOnly } from "./ReadOnlyNodesContext.js";
3
+ import { useIsConnectionReadOnly, useIsNodeReadOnly } from "./ReadOnlyNodesContext.js";
4
4
  export * from "./BaseCanvas.constants.js";
5
5
  export * from "./BaseCanvas.types.js";
6
6
  export * from "./BaseCanvasModeProvider.js";
@@ -9,4 +9,4 @@ export * from "./CanvasProviders.js";
9
9
  export * from "./CanvasThemeContext.js";
10
10
  export * from "./ConnectedHandlesContext.js";
11
11
  export * from "./SelectionStateContext.js";
12
- export { BaseCanvas, useAutoLayout, useEnsureNodesInView, useFitView, useIsNodeReadOnly, useMaintainNodesInView };
12
+ export { BaseCanvas, useAutoLayout, useEnsureNodesInView, useFitView, useIsConnectionReadOnly, useIsNodeReadOnly, useMaintainNodesInView };
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ useReadOnlyConnectionCallbacks: ()=>useReadOnlyConnectionCallbacks
28
+ });
29
+ const external_react_namespaceObject = require("react");
30
+ const useLatestRef_cjs_namespaceObject = require("../../hooks/useLatestRef.cjs");
31
+ const external_ReadOnlyNodesContext_cjs_namespaceObject = require("./ReadOnlyNodesContext.cjs");
32
+ const includesReadOnlyConnection = (readOnlyNodeIds, ...connections)=>connections.some(({ source, target })=>(0, external_ReadOnlyNodesContext_cjs_namespaceObject.isConnectionReadOnly)(readOnlyNodeIds, source, target));
33
+ function useReadOnlyConnectionCallbacks({ readOnlyNodeIds, isValidConnection, onConnect, onReconnect, onReconnectEnd }) {
34
+ const readOnlyNodeIdsRef = (0, useLatestRef_cjs_namespaceObject.useLatestRef)(readOnlyNodeIds);
35
+ const isValidConnectionRef = (0, useLatestRef_cjs_namespaceObject.useLatestRef)(isValidConnection);
36
+ const onConnectRef = (0, useLatestRef_cjs_namespaceObject.useLatestRef)(onConnect);
37
+ const onReconnectRef = (0, useLatestRef_cjs_namespaceObject.useLatestRef)(onReconnect);
38
+ const onReconnectEndRef = (0, useLatestRef_cjs_namespaceObject.useLatestRef)(onReconnectEnd);
39
+ const guardedIsValidConnection = (0, external_react_namespaceObject.useCallback)((connection)=>{
40
+ const currentReadOnlyNodeIds = readOnlyNodeIdsRef.current;
41
+ if (includesReadOnlyConnection(currentReadOnlyNodeIds, connection)) return false;
42
+ return isValidConnectionRef.current?.(connection) ?? true;
43
+ }, [
44
+ isValidConnectionRef,
45
+ readOnlyNodeIdsRef
46
+ ]);
47
+ const guardedOnConnect = (0, external_react_namespaceObject.useCallback)((connection)=>{
48
+ const currentOnConnect = onConnectRef.current;
49
+ const currentReadOnlyNodeIds = readOnlyNodeIdsRef.current;
50
+ if (!currentOnConnect || includesReadOnlyConnection(currentReadOnlyNodeIds, connection)) return;
51
+ currentOnConnect(connection);
52
+ }, [
53
+ onConnectRef,
54
+ readOnlyNodeIdsRef
55
+ ]);
56
+ const guardedOnReconnect = (0, external_react_namespaceObject.useCallback)((edgeBeingReconnected, proposedConnection)=>{
57
+ const currentOnReconnect = onReconnectRef.current;
58
+ const currentReadOnlyNodeIds = readOnlyNodeIdsRef.current;
59
+ if (!currentOnReconnect || includesReadOnlyConnection(currentReadOnlyNodeIds, edgeBeingReconnected, proposedConnection)) return;
60
+ currentOnReconnect(edgeBeingReconnected, proposedConnection);
61
+ }, [
62
+ onReconnectRef,
63
+ readOnlyNodeIdsRef
64
+ ]);
65
+ const guardedOnReconnectEnd = (0, external_react_namespaceObject.useCallback)((event, edgeBeingReconnected, handleType, connectionState)=>{
66
+ const currentOnReconnectEnd = onReconnectEndRef.current;
67
+ const currentReadOnlyNodeIds = readOnlyNodeIdsRef.current;
68
+ if (!currentOnReconnectEnd || includesReadOnlyConnection(currentReadOnlyNodeIds, edgeBeingReconnected)) return;
69
+ currentOnReconnectEnd(event, edgeBeingReconnected, handleType, connectionState);
70
+ }, [
71
+ onReconnectEndRef,
72
+ readOnlyNodeIdsRef
73
+ ]);
74
+ return {
75
+ guardedIsValidConnection,
76
+ guardedOnConnect: onConnect ? guardedOnConnect : void 0,
77
+ guardedOnReconnect: onReconnect ? guardedOnReconnect : void 0,
78
+ guardedOnReconnectEnd: onReconnectEnd ? guardedOnReconnectEnd : void 0
79
+ };
80
+ }
81
+ exports.useReadOnlyConnectionCallbacks = __webpack_exports__.useReadOnlyConnectionCallbacks;
82
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
83
+ "useReadOnlyConnectionCallbacks"
84
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
85
+ Object.defineProperty(exports, '__esModule', {
86
+ value: true
87
+ });
@@ -0,0 +1,13 @@
1
+ import type { Edge, Node, ReactFlowProps } from '../../xyflow/react.ts';
2
+ type ConnectionCallbacks<EdgeType extends Edge> = Pick<ReactFlowProps<Node, EdgeType>, 'isValidConnection' | 'onConnect' | 'onReconnect' | 'onReconnectEnd'>;
3
+ type UseReadOnlyConnectionCallbacksOptions<EdgeType extends Edge> = ConnectionCallbacks<EdgeType> & {
4
+ readOnlyNodeIds: ReadonlySet<string>;
5
+ };
6
+ export declare function useReadOnlyConnectionCallbacks<EdgeType extends Edge>({ readOnlyNodeIds, isValidConnection, onConnect, onReconnect, onReconnectEnd, }: UseReadOnlyConnectionCallbacksOptions<EdgeType>): {
7
+ guardedIsValidConnection: import("@xyflow/react").IsValidConnection<EdgeType>;
8
+ guardedOnConnect: import("@xyflow/system").OnConnect | undefined;
9
+ guardedOnReconnect: import("@xyflow/system").OnReconnect<EdgeType> | undefined;
10
+ guardedOnReconnectEnd: ((event: MouseEvent | TouchEvent, edge: EdgeType, handleType: import("@xyflow/system").HandleType, connectionState: import("@xyflow/system").FinalConnectionState) => void) | undefined;
11
+ };
12
+ export {};
13
+ //# sourceMappingURL=useReadOnlyConnectionCallbacks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReadOnlyConnectionCallbacks.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseCanvas/useReadOnlyConnectionCallbacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,IAAI,EACJ,IAAI,EACJ,cAAc,EACf,MAAM,0CAA0C,CAAC;AAOlD,KAAK,mBAAmB,CAAC,QAAQ,SAAS,IAAI,IAAI,IAAI,CACpD,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,EAC9B,mBAAmB,GAAG,WAAW,GAAG,aAAa,GAAG,gBAAgB,CACrE,CAAC;AAEF,KAAK,qCAAqC,CAAC,QAAQ,SAAS,IAAI,IAC9D,mBAAmB,CAAC,QAAQ,CAAC,GAAG;IAC9B,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACtC,CAAC;AAQJ,wBAAgB,8BAA8B,CAAC,QAAQ,SAAS,IAAI,EAAE,EACpE,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,cAAc,GACf,EAAE,qCAAqC,CAAC,QAAQ,CAAC;;;;;EAsEjD"}