react-cosmos-diagram 0.4.0 → 0.5.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 (42) hide show
  1. package/dist/esm/components/Node/NodeWrapper/index.d.ts +1 -1
  2. package/dist/esm/components/Node/NodeWrapper/index.d.ts.map +1 -1
  3. package/dist/esm/components/Node/NodeWrapper/type.d.ts +1 -1
  4. package/dist/esm/components/Node/NodeWrapper/type.d.ts.map +1 -1
  5. package/dist/esm/components/Node/type.d.ts +1 -0
  6. package/dist/esm/components/Node/type.d.ts.map +1 -1
  7. package/dist/esm/container/NodeRenderer/index.d.ts.map +1 -1
  8. package/dist/esm/hooks/useDrag/index.d.ts.map +1 -1
  9. package/dist/esm/hooks/useNodesEdgesState/type.d.ts +6 -1
  10. package/dist/esm/hooks/useNodesEdgesState/type.d.ts.map +1 -1
  11. package/dist/esm/hooks/useUpdateIntersectionNodes/index.d.ts +6 -0
  12. package/dist/esm/hooks/useUpdateIntersectionNodes/index.d.ts.map +1 -0
  13. package/dist/esm/index.js +172 -34
  14. package/dist/esm/store/index.d.ts.map +1 -1
  15. package/dist/esm/store/utils.d.ts +0 -12
  16. package/dist/esm/store/utils.d.ts.map +1 -1
  17. package/dist/esm/utils/changes.d.ts.map +1 -1
  18. package/dist/esm/utils/deepEqual.d.ts +2 -0
  19. package/dist/esm/utils/deepEqual.d.ts.map +1 -0
  20. package/dist/esm/utils/graph.d.ts.map +1 -1
  21. package/dist/style.css +5 -0
  22. package/dist/umd/components/Node/NodeWrapper/index.d.ts +1 -1
  23. package/dist/umd/components/Node/NodeWrapper/index.d.ts.map +1 -1
  24. package/dist/umd/components/Node/NodeWrapper/type.d.ts +1 -1
  25. package/dist/umd/components/Node/NodeWrapper/type.d.ts.map +1 -1
  26. package/dist/umd/components/Node/type.d.ts +1 -0
  27. package/dist/umd/components/Node/type.d.ts.map +1 -1
  28. package/dist/umd/container/NodeRenderer/index.d.ts.map +1 -1
  29. package/dist/umd/hooks/useDrag/index.d.ts.map +1 -1
  30. package/dist/umd/hooks/useNodesEdgesState/type.d.ts +6 -1
  31. package/dist/umd/hooks/useNodesEdgesState/type.d.ts.map +1 -1
  32. package/dist/umd/hooks/useUpdateIntersectionNodes/index.d.ts +6 -0
  33. package/dist/umd/hooks/useUpdateIntersectionNodes/index.d.ts.map +1 -0
  34. package/dist/umd/index.js +1 -1
  35. package/dist/umd/store/index.d.ts.map +1 -1
  36. package/dist/umd/store/utils.d.ts +0 -12
  37. package/dist/umd/store/utils.d.ts.map +1 -1
  38. package/dist/umd/utils/changes.d.ts.map +1 -1
  39. package/dist/umd/utils/deepEqual.d.ts +2 -0
  40. package/dist/umd/utils/deepEqual.d.ts.map +1 -0
  41. package/dist/umd/utils/graph.d.ts.map +1 -1
  42. package/package.json +7 -7
@@ -4,7 +4,7 @@ import { NodeProps } from '../type';
4
4
  import { WrapNodeProps } from './type';
5
5
  export declare const arrowKeyDiffs: Record<string, XYPosition>;
6
6
  declare const wrapNode: (NodeComponent: ComponentType<NodeProps>) => import("react").MemoExoticComponent<{
7
- ({ id, type, data, positionX, positionY, sourcePosition, targetPosition, onClick, onMouseEnter, onMouseMove, onMouseLeave, onContextMenu, onDoubleClick, style, className, selected, isSelectable, isDraggable, hidden, resizeObserver, dragHandle, zIndex, isParent, initialized, disableKeyboardA11y, ariaLabel, rfId, noDragClassName, noPanClassName, }: WrapNodeProps): import("react/jsx-runtime").JSX.Element | null;
7
+ ({ id, type, data, positionX, positionY, sourcePosition, targetPosition, onClick, onMouseEnter, onMouseMove, onMouseLeave, onContextMenu, onDoubleClick, style, width, height, className, selected, isSelectable, isDraggable, intersected, hidden, resizeObserver, dragHandle, zIndex, isParent, initialized, disableKeyboardA11y, ariaLabel, rfId, noDragClassName, noPanClassName, }: WrapNodeProps): import("react/jsx-runtime").JSX.Element | null;
8
8
  displayName: string;
9
9
  }>;
10
10
  export default wrapNode;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../react-diagram/packages/src/components/Node/NodeWrapper/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,aAAa,EAAc,MAAM,OAAO,CAAC;AAYtE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAKpD,CAAC;AAEF,QAAA,MAAM,QAAQ,kBAAmB,cAAc,SAAS,CAAC;iWAsCnD,aAAa;;EA6IlB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../react-diagram/packages/src/components/Node/NodeWrapper/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,aAAa,EAAc,MAAM,OAAO,CAAC;AAYtE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAKpD,CAAC;AAEF,QAAA,MAAM,QAAQ,kBAAmB,cAAc,SAAS,CAAC;6XAyCnD,aAAa;;EAgJlB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { MouseEvent } from 'react';
2
2
  import { Node } from '../type';
3
3
  export type NodeMouseHandler = (event: MouseEvent, node: Node) => void;
4
- export type WrapNodeProps<T = any> = Pick<Node<T>, 'id' | 'data' | 'style' | 'className' | 'selected' | 'dragHandle' | 'sourcePosition' | 'targetPosition' | 'hidden' | 'ariaLabel' | 'width' | 'height'> & Required<Pick<Node<T>, 'type' | 'zIndex'>> & {
4
+ export type WrapNodeProps<T = any> = Pick<Node<T>, 'id' | 'data' | 'style' | 'className' | 'selected' | 'intersected' | 'dragHandle' | 'sourcePosition' | 'targetPosition' | 'hidden' | 'ariaLabel' | 'width' | 'height'> & Required<Pick<Node<T>, 'type' | 'zIndex'>> & {
5
5
  positionX: number;
6
6
  positionY: number;
7
7
  initialized: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../react-diagram/packages/src/components/Node/NodeWrapper/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAEvE,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CACtC,IAAI,CAAC,CAAC,CAAC,EACL,IAAI,GACJ,MAAM,GACN,OAAO,GACP,WAAW,GACX,UAAU,GACV,YAAY,GACZ,gBAAgB,GAChB,gBAAgB,GAChB,QAAQ,GACR,WAAW,GACX,OAAO,GACP,QAAQ,CACZ,GACE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAElB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IAErB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACzB,CAAC"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../react-diagram/packages/src/components/Node/NodeWrapper/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAEvE,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CACtC,IAAI,CAAC,CAAC,CAAC,EACL,IAAI,GACJ,MAAM,GACN,OAAO,GACP,WAAW,GACX,UAAU,GACV,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,gBAAgB,GAChB,QAAQ,GACR,WAAW,GACX,OAAO,GACP,QAAQ,CACZ,GACE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAElB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IAErB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACzB,CAAC"}
@@ -14,6 +14,7 @@ export type Node<T = any, U extends string | undefined = string | undefined> = {
14
14
  targetPosition?: Position;
15
15
  hidden?: boolean;
16
16
  selected?: boolean;
17
+ intersected?: boolean;
17
18
  dragging?: boolean;
18
19
  draggable?: boolean;
19
20
  selectable?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../react-diagram/packages/src/components/Node/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,IAAI;IAC5E,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,CAAC,eAAe,CAAC,CAAC,EAAE;QACjB,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;CACJ,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAClC,aAAa,CAAC,CAAC,CAAC,EACd,IAAI,GACJ,MAAM,GACN,YAAY,GACZ,MAAM,GACN,UAAU,GACV,WAAW,GACX,WAAW,GACX,QAAQ,GACR,OAAO,GACP,QAAQ,CACZ,GAAG;IACD,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,cAAc,CAAC,EAAE,QAAQ,CAAC;CAC5B,CAAC"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../react-diagram/packages/src/components/Node/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,IAAI;IAC5E,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,CAAC,eAAe,CAAC,CAAC,EAAE;QACjB,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;CACJ,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAClC,aAAa,CAAC,CAAC,CAAC,EACd,IAAI,GACJ,MAAM,GACN,YAAY,GACZ,MAAM,GACN,UAAU,GACV,WAAW,GACX,WAAW,GACX,QAAQ,GACR,OAAO,GACP,QAAQ,CACZ,GAAG;IACD,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,cAAc,CAAC,EAAE,QAAQ,CAAC;CAC5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../react-diagram/packages/src/container/NodeRenderer/index.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAY,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1C,KAAK,aAAa,GAAG,QAAQ,CAC1B,IAAI,CACD,iBAAiB,EACf,2BAA2B,GAC3B,qBAAqB,GACrB,YAAY,GACZ,iBAAiB,GACjB,gBAAgB,CACpB,CACH,CAAC;AAEF,KAAK,iBAAiB,GAAG,IAAI,CAC1B,iBAAiB,EACf,aAAa,GACb,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,CACvB,GACE,aAAa,GAAG;IACb,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;CACf,CAAC;AASL,iBAAS,YAAY,CAAC,EACnB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,GAAG,KAAK,EACV,EAAE,iBAAiB,2CA+HnB;kBAxIQ,YAAY;;;;AA4IrB,wBAAkC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../react-diagram/packages/src/container/NodeRenderer/index.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAY,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1C,KAAK,aAAa,GAAG,QAAQ,CAC1B,IAAI,CACD,iBAAiB,EACf,2BAA2B,GAC3B,qBAAqB,GACrB,YAAY,GACZ,iBAAiB,GACjB,gBAAgB,CACpB,CACH,CAAC;AAEF,KAAK,iBAAiB,GAAG,IAAI,CAC1B,iBAAiB,EACf,aAAa,GACb,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,CACvB,GACE,aAAa,GAAG;IACb,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;CACf,CAAC;AASL,iBAAS,YAAY,CAAC,EACnB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,GAAG,KAAK,EACV,EAAE,iBAAiB,2CAiInB;kBA1IQ,YAAY;;;;AA8IrB,wBAAkC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../react-diagram/packages/src/hooks/useDrag/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA+B,MAAM,OAAO,CAAC;AAyB/D,KAAK,aAAa,GAAG;IAClB,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAKF,iBAAS,OAAO,CAAC,EACd,OAAO,EACP,MAAM,EACN,YAAY,EACZ,eAAe,GACjB,EAAE,aAAa,WAwQf;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../react-diagram/packages/src/hooks/useDrag/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA4C,MAAM,OAAO,CAAC;AA0B5E,KAAK,aAAa,GAAG;IAClB,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAKF,iBAAS,OAAO,CAAC,EACd,OAAO,EACP,MAAM,EACN,YAAY,EACZ,eAAe,GACjB,EAAE,aAAa,WA0Qf;AAED,eAAe,OAAO,CAAC"}
@@ -20,6 +20,11 @@ export type NodeSelectionChange = {
20
20
  type: 'select';
21
21
  selected: boolean;
22
22
  };
23
+ export type NodeIntersectionChange = {
24
+ id: string;
25
+ type: 'intersect';
26
+ intersected: boolean;
27
+ };
23
28
  export type NodeRemoveChange = {
24
29
  id: string;
25
30
  type: 'remove';
@@ -32,7 +37,7 @@ export type NodeResetChange<NodeData = any> = {
32
37
  item: Node<NodeData>;
33
38
  type: 'reset';
34
39
  };
35
- export type NodeChange = NodeDimensionChange | NodePositionChange | NodeSelectionChange | NodeRemoveChange | NodeAddChange | NodeResetChange;
40
+ export type NodeChange = NodeDimensionChange | NodePositionChange | NodeSelectionChange | NodeIntersectionChange | NodeRemoveChange | NodeAddChange | NodeResetChange;
36
41
  export type EdgeSelectionChange = NodeSelectionChange;
37
42
  export type EdgeRemoveChange = NodeRemoveChange;
38
43
  export type EdgeAddChange<EdgeData = any> = {
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../react-diagram/packages/src/hooks/useNodesEdgesState/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAEnD,MAAM,MAAM,mBAAmB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,QAAQ,GAAG,GAAG,IAAI;IACzC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,QAAQ,GAAG,GAAG,IAAI;IAC3C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GACjB,mBAAmB,GACnB,kBAAkB,GAClB,mBAAmB,GACnB,gBAAgB,GAChB,aAAa,GACb,eAAe,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AACtD,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAChD,MAAM,MAAM,aAAa,CAAC,QAAQ,GAAG,GAAG,IAAI;IACzC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC;CACd,CAAC;AACF,MAAM,MAAM,eAAe,CAAC,QAAQ,GAAG,GAAG,IAAI;IAC3C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GACjB,mBAAmB,GACnB,gBAAgB,GAChB,aAAa,GACb,eAAe,CAAC;AAErB,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../react-diagram/packages/src/hooks/useNodesEdgesState/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAEnD,MAAM,MAAM,mBAAmB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,QAAQ,GAAG,GAAG,IAAI;IACzC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,QAAQ,GAAG,GAAG,IAAI;IAC3C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GACjB,mBAAmB,GACnB,kBAAkB,GAClB,mBAAmB,GACnB,sBAAsB,GACtB,gBAAgB,GAChB,aAAa,GACb,eAAe,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AACtD,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAChD,MAAM,MAAM,aAAa,CAAC,QAAQ,GAAG,GAAG,IAAI;IACzC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC;CACd,CAAC;AACF,MAAM,MAAM,eAAe,CAAC,QAAQ,GAAG,GAAG,IAAI;IAC3C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GACjB,mBAAmB,GACnB,gBAAgB,GAChB,aAAa,GACb,eAAe,CAAC;AAErB,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { RefObject } from 'react';
2
+ import { Node } from '../../types';
3
+ import { NodeDragItem } from '../useDrag/type';
4
+ declare function useUpdateIntersectionNodes(): (dragItems: RefObject<Node[] | NodeDragItem[]>) => void;
5
+ export default useUpdateIntersectionNodes;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../react-diagram/packages/src/hooks/useUpdateIntersectionNodes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAC;AAMvD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,iBAAS,0BAA0B,gBAoCjB,UAAU,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC,UAqEnD;AAED,eAAe,0BAA0B,CAAC"}
package/dist/esm/index.js CHANGED
@@ -401,9 +401,7 @@ const getNodePositionWithOrigin = (node, nodeOrigin = [0, 0]) => {
401
401
  : position,
402
402
  };
403
403
  };
404
- const getNodesInside = (nodeInternals, rect, [tx, ty, tScale] = [0, 0, 1], partially = false,
405
- // set excludeNonSelectableNodes if you want to pay attention to the nodes "selectable" attribute
406
- excludeNonSelectableNodes = false, nodeOrigin = [0, 0]) => {
404
+ const getNodesInside = (nodeInternals, rect, [tx, ty, tScale] = [0, 0, 1], partially = false, excludeNonSelectableNodes = false, nodeOrigin = [0, 0]) => {
407
405
  const paneRect = {
408
406
  x: (rect.x - tx) / tScale,
409
407
  y: (rect.y - ty) / tScale,
@@ -626,6 +624,118 @@ const hasSelector = (target, selector, nodeRef) => {
626
624
  const hasChangedPosition = (beforePositions, currentPosition) => beforePositions.x !== currentPosition.x ||
627
625
  beforePositions.y !== currentPosition.y;
628
626
 
627
+ const has = Object.prototype.hasOwnProperty;
628
+ const deepEqual = (foo, bar) => {
629
+ let constructor;
630
+ let length;
631
+ if (foo === bar)
632
+ return true;
633
+ if (foo && bar && foo.constructor === bar.constructor) {
634
+ constructor = foo.constructor;
635
+ if (constructor === Date)
636
+ return foo.getTime() === bar.getTime();
637
+ if (constructor === RegExp)
638
+ return foo.toString() === bar.toString();
639
+ if (constructor === Array) {
640
+ if ((length = foo.length) === bar.length) {
641
+ while (length-- && deepEqual(foo[length], bar[length]))
642
+ ;
643
+ }
644
+ return length === -1;
645
+ }
646
+ if (!constructor || typeof foo === 'object') {
647
+ length = 0;
648
+ for (constructor in foo) {
649
+ if (has.call(foo, constructor) &&
650
+ ++length &&
651
+ !has.call(bar, constructor))
652
+ return false;
653
+ if (!(constructor in bar) ||
654
+ !deepEqual(foo[constructor], bar[constructor]))
655
+ return false;
656
+ }
657
+ return Object.keys(bar).length === length;
658
+ }
659
+ }
660
+ return foo !== foo && bar !== bar;
661
+ };
662
+
663
+ function useUpdateIntersectionNodes() {
664
+ const store = useStoreApi();
665
+ const intersectionChanges = useRef([]);
666
+ const resetIntersectedNodes = useCallback((intersectedNodes) => {
667
+ const hasIntersectedNodes = intersectedNodes.length;
668
+ let beforeChanges;
669
+ if (hasIntersectedNodes) {
670
+ beforeChanges = intersectionChanges.current
671
+ .filter((beforeChange) => {
672
+ return !intersectedNodes.some((intersectedNode) => beforeChange.id === intersectedNode.id);
673
+ })
674
+ .map((beforeChange) => ({
675
+ ...beforeChange,
676
+ intersected: false,
677
+ }));
678
+ }
679
+ else {
680
+ beforeChanges = intersectionChanges.current.map((beforeChange) => ({
681
+ ...beforeChange,
682
+ intersected: false,
683
+ }));
684
+ }
685
+ return beforeChanges;
686
+ }, []);
687
+ const updateNodesIntersection = useCallback((dragItems) => {
688
+ const { getNodes, triggerNodeChanges } = store.getState();
689
+ const intersectedDraggingNodeIds = [];
690
+ const intersectedNodes = getNodes()
691
+ .filter((node) => {
692
+ const { width, height, position, parentNode } = node;
693
+ if (parentNode)
694
+ return;
695
+ if (width && height) {
696
+ return dragItems.current?.some((dragItem) => {
697
+ const { position: dPosition, width: dWidth, height: dHeight, } = dragItem;
698
+ if (node.id === dragItem.id)
699
+ return;
700
+ if (dragItem.parentNode)
701
+ return;
702
+ if (!dWidth || !dHeight)
703
+ return;
704
+ const leftIn = dPosition.x + dWidth >= position.x, rightIn = position.x + width >= dPosition.x, topIn = dPosition.y + dHeight >= position.y, bottomIn = position.y + height >= dPosition.y;
705
+ const isIn = leftIn && rightIn && topIn && bottomIn;
706
+ if (isIn) {
707
+ if (!intersectedDraggingNodeIds.includes(dragItem.id)) {
708
+ intersectedDraggingNodeIds.push(dragItem.id);
709
+ }
710
+ }
711
+ return isIn;
712
+ });
713
+ }
714
+ })
715
+ .map((node) => {
716
+ return {
717
+ id: node.id,
718
+ type: 'intersect',
719
+ intersected: true,
720
+ };
721
+ });
722
+ const intersectedDraggingNodes = intersectedDraggingNodeIds.map((id) => {
723
+ return {
724
+ id,
725
+ type: 'intersect',
726
+ intersected: true,
727
+ };
728
+ });
729
+ const changes = [...intersectedNodes, ...intersectedDraggingNodes];
730
+ if (!deepEqual(changes, intersectionChanges.current)) {
731
+ const beforeChanges = resetIntersectedNodes(changes);
732
+ intersectionChanges.current = changes;
733
+ triggerNodeChanges([...changes, ...beforeChanges]);
734
+ }
735
+ }, []);
736
+ return updateNodesIntersection;
737
+ }
738
+
629
739
  const isDragItem = (node) => 'distance' in node;
630
740
  function useDrag({ nodeRef, nodeId, isSelectable, noDragClassName, }) {
631
741
  const store = useStoreApi();
@@ -638,6 +748,7 @@ function useDrag({ nodeRef, nodeId, isSelectable, noDragClassName, }) {
638
748
  const autoPanId = useRef(0);
639
749
  const [dragging, setDragging] = useState(false);
640
750
  const getPointerPosition = useGetPointerPosition();
751
+ const updateNodesIntersection = useUpdateIntersectionNodes();
641
752
  const updateNodePosition = (pointerPositions, dragEnd = false) => (dragItem) => {
642
753
  if (!isDragItem(dragItem))
643
754
  return;
@@ -734,6 +845,7 @@ function useDrag({ nodeRef, nodeId, isSelectable, noDragClassName, }) {
734
845
  dragEvent.current = e.sourceEvent;
735
846
  mousePosition.current = getEventPosition(e.sourceEvent, containerBounds.current);
736
847
  updateNodes(pointerPosition);
848
+ updateNodesIntersection(dragItems);
737
849
  }
738
850
  })
739
851
  .on('end', (event) => {
@@ -893,6 +1005,10 @@ const applyChanges = (changes, elements) => {
893
1005
  }
894
1006
  break;
895
1007
  }
1008
+ case 'intersect': {
1009
+ updateItem.intersected = currentChange.intersected;
1010
+ break;
1011
+ }
896
1012
  case 'remove': {
897
1013
  return res;
898
1014
  }
@@ -1137,7 +1253,7 @@ function NodeRenderer({ nodeTypes, onNodeClick, onNodeMouseEnter, onNodeMouseMov
1137
1253
  return (jsx("div", { className: "react-diagram__nodes react-diagram__container", children: nodes.map((node) => {
1138
1254
  const { data, type,
1139
1255
  // elProps
1140
- id, className, style, ariaLabel, positionAbsolute, hidden, selected, selectable, draggable, } = node;
1256
+ id, className, style, width, height, ariaLabel, positionAbsolute, hidden, selected, selectable, draggable, intersected, } = node;
1141
1257
  let nodeType = type || 'default';
1142
1258
  if (!nodeTypes[nodeType]) {
1143
1259
  onError?.('010', nodeType);
@@ -1152,11 +1268,9 @@ function NodeRenderer({ nodeTypes, onNodeClick, onNodeMouseEnter, onNodeMouseMov
1152
1268
  const elProps = {
1153
1269
  id,
1154
1270
  className,
1155
- style: {
1156
- ...style,
1157
- width: node.width,
1158
- height: node.height,
1159
- },
1271
+ style,
1272
+ width,
1273
+ height,
1160
1274
  ariaLabel,
1161
1275
  };
1162
1276
  const events = {
@@ -1175,6 +1289,7 @@ function NodeRenderer({ nodeTypes, onNodeClick, onNodeMouseEnter, onNodeMouseMov
1175
1289
  };
1176
1290
  const booleanProps = {
1177
1291
  selected: !!selected,
1292
+ intersected,
1178
1293
  isSelectable,
1179
1294
  isDraggable,
1180
1295
  hidden,
@@ -2186,7 +2301,7 @@ function Nodes({ data }) {
2186
2301
  }
2187
2302
 
2188
2303
  const wrapNode = (NodeComponent) => {
2189
- function NodeWrapper({ id, type, data, positionX, positionY, sourcePosition, targetPosition, onClick, onMouseEnter, onMouseMove, onMouseLeave, onContextMenu, onDoubleClick, style, className, selected, isSelectable, isDraggable, hidden, resizeObserver, dragHandle, zIndex, isParent, initialized, disableKeyboardA11y, ariaLabel, rfId, noDragClassName, noPanClassName, }) {
2304
+ function NodeWrapper({ id, type, data, positionX, positionY, sourcePosition, targetPosition, onClick, onMouseEnter, onMouseMove, onMouseLeave, onContextMenu, onDoubleClick, style, width, height, className, selected, isSelectable, isDraggable, intersected, hidden, resizeObserver, dragHandle, zIndex, isParent, initialized, disableKeyboardA11y, ariaLabel, rfId, noDragClassName, noPanClassName, }) {
2190
2305
  const store = useStoreApi();
2191
2306
  const nodeRef = useRef(null);
2192
2307
  const prevSourcePosition = useRef(sourcePosition);
@@ -2254,6 +2369,7 @@ const wrapNode = (NodeComponent) => {
2254
2369
  className,
2255
2370
  {
2256
2371
  selected,
2372
+ intersected,
2257
2373
  parent: isParent,
2258
2374
  dragging,
2259
2375
  },
@@ -2263,6 +2379,8 @@ const wrapNode = (NodeComponent) => {
2263
2379
  transform: `translate(${positionX}px,${positionY}px)`,
2264
2380
  pointerEvents: hasPointerEvents ? 'all' : 'none',
2265
2381
  visibility: initialized ? 'visible' : 'hidden',
2382
+ width,
2383
+ height,
2266
2384
  ...style,
2267
2385
  };
2268
2386
  const events = {
@@ -2365,17 +2483,49 @@ function createNodeInternals(nodes, nodeInternals, nodeOrigin, elevateNodesOnSel
2365
2483
  z,
2366
2484
  },
2367
2485
  });
2486
+ // console.log('create', currInternals, node);
2368
2487
  nextNodeInternals.set(node.id, internals);
2369
2488
  });
2370
2489
  updateAbsoluteNodePositions(nextNodeInternals, nodeOrigin, parentNodes);
2371
2490
  return nextNodeInternals;
2372
2491
  }
2373
- function updateNodesSelections({ changedNodes, get, }) {
2374
- const { onNodesChange } = get();
2375
- if (changedNodes?.length) {
2376
- onNodesChange?.(changedNodes);
2377
- }
2378
- }
2492
+ // export function handleControlledNodeSelectionChange(
2493
+ // nodeChanges: NodeSelectionChange[],
2494
+ // nodeInternals: NodeInternals,
2495
+ // ) {
2496
+ // nodeChanges.forEach((change) => {
2497
+ // const node = nodeInternals.get(change.id);
2498
+ // if (node) {
2499
+ // nodeInternals.set(node.id, {
2500
+ // ...node,
2501
+ // [internalsSymbol]: node[internalsSymbol],
2502
+ // selected: change.selected,
2503
+ // });
2504
+ // }
2505
+ // });
2506
+ // return new Map(nodeInternals);
2507
+ // }
2508
+ // export function handleControlledEdgeSelectionChange(
2509
+ // edgeChanges: EdgeSelectionChange[],
2510
+ // edges: Edge[],
2511
+ // ) {
2512
+ // return edges.map((e) => {
2513
+ // const change = edgeChanges.find((change) => change.id === e.id);
2514
+ // if (change) {
2515
+ // e.selected = change.selected;
2516
+ // }
2517
+ // return e;
2518
+ // });
2519
+ // }
2520
+ // export function updateNodesSelections({
2521
+ // changedNodes,
2522
+ // get,
2523
+ // }: UpdateNodesParams) {
2524
+ // const { onNodesChange } = get();
2525
+ // if (changedNodes?.length) {
2526
+ // onNodesChange?.(changedNodes);
2527
+ // }
2528
+ // }
2379
2529
 
2380
2530
  const infiniteExtent = [
2381
2531
  [Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY],
@@ -2500,7 +2650,7 @@ const createRFStore = () => createStore((set, get) => ({
2500
2650
  }
2501
2651
  },
2502
2652
  addSelectedNodes: (selectedNodeIds) => {
2503
- const { multiSelectionActive, getNodes } = get();
2653
+ const { multiSelectionActive, getNodes, triggerNodeChanges } = get();
2504
2654
  let changedNodes;
2505
2655
  if (multiSelectionActive) {
2506
2656
  changedNodes = selectedNodeIds.map((nodeId) => createSelectionChange(nodeId, true));
@@ -2508,36 +2658,24 @@ const createRFStore = () => createStore((set, get) => ({
2508
2658
  else {
2509
2659
  changedNodes = getSelectionChanges(getNodes(), selectedNodeIds);
2510
2660
  }
2511
- updateNodesSelections({
2512
- changedNodes,
2513
- get,
2514
- set,
2515
- });
2661
+ triggerNodeChanges(changedNodes);
2516
2662
  },
2517
2663
  unselectNodes: ({ nodes } = {}) => {
2518
- const { getNodes } = get();
2664
+ const { getNodes, triggerNodeChanges } = get();
2519
2665
  const nodesToUnselect = nodes ? nodes : getNodes();
2520
2666
  const changedNodes = nodesToUnselect.map((n) => {
2521
2667
  n.selected = false;
2522
2668
  return createSelectionChange(n.id, false);
2523
2669
  });
2524
- updateNodesSelections({
2525
- changedNodes,
2526
- get,
2527
- set,
2528
- });
2670
+ triggerNodeChanges(changedNodes);
2529
2671
  },
2530
2672
  resetSelectedElements: () => {
2531
- const { getNodes } = get();
2673
+ const { getNodes, triggerNodeChanges } = get();
2532
2674
  const nodes = getNodes();
2533
2675
  const nodesToUnselect = nodes
2534
2676
  .filter((e) => e.selected)
2535
2677
  .map((n) => createSelectionChange(n.id, false));
2536
- updateNodesSelections({
2537
- changedNodes: nodesToUnselect,
2538
- get,
2539
- set,
2540
- });
2678
+ triggerNodeChanges(nodesToUnselect);
2541
2679
  },
2542
2680
  cancelConnection: () => set({
2543
2681
  connectionNodeId: initialState.connectionNodeId,
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../react-diagram/packages/src/store/index.ts"],"names":[],"mappings":"AA0BA,OAAO,EACJ,iBAAiB,EAEnB,MAAM,yCAAyC,CAAC;AAGjD,QAAA,MAAM,aAAa,qDAmPb,CAAC;AAEP,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../react-diagram/packages/src/store/index.ts"],"names":[],"mappings":"AAsBA,OAAO,EACJ,iBAAiB,EAEnB,MAAM,yCAAyC,CAAC;AAGjD,QAAA,MAAM,aAAa,qDAuOb,CAAC;AAEP,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -1,20 +1,8 @@
1
- import { StoreApi } from 'zustand';
2
- import { NodeSelectionChange, EdgeSelectionChange } from '../hooks/useNodesEdgesState/type';
3
1
  import { NodeInternals } from './type';
4
- import { ReactDiagramState } from '../components/ReactDiagramProvider/type';
5
2
  import { Node } from '../components/Node/type';
6
3
  import { NodeOrigin } from '../components/Node/utils';
7
- import { Edge } from '../components/Edges/type';
8
4
  type ParentNodes = Record<string, boolean>;
9
- type UpdateNodesParams = {
10
- changedNodes: NodeSelectionChange[] | null;
11
- get: StoreApi<ReactDiagramState>['getState'];
12
- set: StoreApi<ReactDiagramState>['setState'];
13
- };
14
5
  export declare function updateAbsoluteNodePositions(nodeInternals: NodeInternals, nodeOrigin: NodeOrigin, parentNodes?: ParentNodes): void;
15
6
  export declare function createNodeInternals(nodes: Node[], nodeInternals: NodeInternals, nodeOrigin: NodeOrigin, elevateNodesOnSelect: boolean): NodeInternals;
16
- export declare function handleControlledNodeSelectionChange(nodeChanges: NodeSelectionChange[], nodeInternals: NodeInternals): Map<string, Node<any, string | undefined>>;
17
- export declare function handleControlledEdgeSelectionChange(edgeChanges: EdgeSelectionChange[], edges: Edge[]): Edge<any>[];
18
- export declare function updateNodesSelections({ changedNodes, get, }: UpdateNodesParams): void;
19
7
  export {};
20
8
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../react-diagram/packages/src/store/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAOnC,OAAO,EACJ,mBAAmB,EACnB,mBAAmB,EACrB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3C,KAAK,iBAAiB,GAAG;IACtB,YAAY,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC;IAC3C,GAAG,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7C,GAAG,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC;CAC/C,CAAC;AA6BF,wBAAgB,2BAA2B,CACxC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,WAAW,CAAC,EAAE,WAAW,QA6B3B;AAED,wBAAgB,mBAAmB,CAChC,KAAK,EAAE,IAAI,EAAE,EACb,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,OAAO,GAC7B,aAAa,CAwCf;AAED,wBAAgB,mCAAmC,CAChD,WAAW,EAAE,mBAAmB,EAAE,EAClC,aAAa,EAAE,aAAa,8CAc9B;AAED,wBAAgB,mCAAmC,CAChD,WAAW,EAAE,mBAAmB,EAAE,EAClC,KAAK,EAAE,IAAI,EAAE,eASf;AAED,wBAAgB,qBAAqB,CAAC,EACnC,YAAY,EACZ,GAAG,GACL,EAAE,iBAAiB,QAMnB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../react-diagram/packages/src/store/utils.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAmC3C,wBAAgB,2BAA2B,CACxC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,WAAW,CAAC,EAAE,WAAW,QA6B3B;AAED,wBAAgB,mBAAmB,CAChC,KAAK,EAAE,IAAI,EAAE,EACb,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,OAAO,GAC7B,aAAa,CAyCf"}
@@ -1 +1 @@
1
- {"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../react-diagram/packages/src/utils/changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAiIhD,wBAAgB,gBAAgB,CAAC,QAAQ,GAAG,GAAG,EAC5C,OAAO,EAAE,UAAU,EAAE,EACrB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,GACvB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAElB;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,GAAG,GAAG,EAC5C,OAAO,EAAE,UAAU,EAAE,EACrB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,GACvB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAElB;AAED,eAAO,MAAM,qBAAqB,OAAQ,MAAM,YAAY,OAAO;;;;CAIjE,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OActE"}
1
+ {"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../react-diagram/packages/src/utils/changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAqIhD,wBAAgB,gBAAgB,CAAC,QAAQ,GAAG,GAAG,EAC5C,OAAO,EAAE,UAAU,EAAE,EACrB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,GACvB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAElB;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,GAAG,GAAG,EAC5C,OAAO,EAAE,UAAU,EAAE,EACrB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,GACvB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAElB;AAED,eAAO,MAAM,qBAAqB,OAAQ,MAAM,YAAY,OAAO;;;;CAIjE,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OActE"}
@@ -0,0 +1,2 @@
1
+ export declare const deepEqual: (foo: any, bar: any) => boolean;
2
+ //# sourceMappingURL=deepEqual.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepEqual.d.ts","sourceRoot":"","sources":["../react-diagram/packages/src/utils/deepEqual.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,QAAS,GAAG,OAAO,GAAG,YAuC3C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../react-diagram/packages/src/utils/graph.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,eAAO,MAAM,MAAM,YAAa,IAAI,GAAG,UAAU,GAAG,IAAI,6CACc,CAAC;AAEvE,eAAO,MAAM,MAAM,YAAa,IAAI,GAAG,UAAU,GAAG,IAAI,yBACX,CAAC;AAE9C,eAAO,MAAM,yBAAyB,SAC7B,IAAI,GAAG,SAAS,8BAEtB,UAAU,GAAG;IAAE,gBAAgB,EAAE,UAAU,CAAA;CA6B7C,CAAC;AAEF,eAAO,MAAM,cAAc,uCAElB,IAAI,sHAMV,IAAI,EA2CN,CAAC;AAEF,eAAO,MAAM,WAAW,WACb,UAAU,GAAG,SAAS,SACvB,MAAM,KACb,MAeF,CAAC;AAQF,eAAO,MAAM,OAAO,eACL,IAAI,GAAG,UAAU,SACtB,IAAI,EAAE,KACb,IAAI,EAqBN,CAAC;AAEF,eAAO,MAAM,UAAU,eACR,IAAI,iBACD,UAAU,SAClB,IAAI,EAAE;;MAEb,IAAI,EAiBN,CAAC;AAEF,eAAO,MAAM,cAAc,UACjB,IAAI,EAAE,8BAEb,IAyBF,CAAC"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../react-diagram/packages/src/utils/graph.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,eAAO,MAAM,MAAM,YAAa,IAAI,GAAG,UAAU,GAAG,IAAI,6CACc,CAAC;AAEvE,eAAO,MAAM,MAAM,YAAa,IAAI,GAAG,UAAU,GAAG,IAAI,yBACX,CAAC;AAE9C,eAAO,MAAM,yBAAyB,SAC7B,IAAI,GAAG,SAAS,8BAEtB,UAAU,GAAG;IAAE,gBAAgB,EAAE,UAAU,CAAA;CA6B7C,CAAC;AAEF,eAAO,MAAM,cAAc,uCAElB,IAAI,sHAKV,IAAI,EA2CN,CAAC;AAEF,eAAO,MAAM,WAAW,WACb,UAAU,GAAG,SAAS,SACvB,MAAM,KACb,MAeF,CAAC;AAQF,eAAO,MAAM,OAAO,eACL,IAAI,GAAG,UAAU,SACtB,IAAI,EAAE,KACb,IAAI,EAqBN,CAAC;AAEF,eAAO,MAAM,UAAU,eACR,IAAI,iBACD,UAAU,SAClB,IAAI,EAAE;;MAEb,IAAI,EAiBN,CAAC;AAEF,eAAO,MAAM,cAAc,UACjB,IAAI,EAAE,8BAEb,IAyBF,CAAC"}
package/dist/style.css CHANGED
@@ -205,3 +205,8 @@
205
205
  .react-diagram__selection-box-rect:focus-visible {
206
206
  outline: none;
207
207
  }
208
+
209
+ .react-diagram__node-default.intersected {
210
+ background-color: #f0f0f0;
211
+ border-color: #666;
212
+ }
@@ -4,7 +4,7 @@ import { NodeProps } from '../type';
4
4
  import { WrapNodeProps } from './type';
5
5
  export declare const arrowKeyDiffs: Record<string, XYPosition>;
6
6
  declare const wrapNode: (NodeComponent: ComponentType<NodeProps>) => import("react").MemoExoticComponent<{
7
- ({ id, type, data, positionX, positionY, sourcePosition, targetPosition, onClick, onMouseEnter, onMouseMove, onMouseLeave, onContextMenu, onDoubleClick, style, className, selected, isSelectable, isDraggable, hidden, resizeObserver, dragHandle, zIndex, isParent, initialized, disableKeyboardA11y, ariaLabel, rfId, noDragClassName, noPanClassName, }: WrapNodeProps): import("react/jsx-runtime").JSX.Element | null;
7
+ ({ id, type, data, positionX, positionY, sourcePosition, targetPosition, onClick, onMouseEnter, onMouseMove, onMouseLeave, onContextMenu, onDoubleClick, style, width, height, className, selected, isSelectable, isDraggable, intersected, hidden, resizeObserver, dragHandle, zIndex, isParent, initialized, disableKeyboardA11y, ariaLabel, rfId, noDragClassName, noPanClassName, }: WrapNodeProps): import("react/jsx-runtime").JSX.Element | null;
8
8
  displayName: string;
9
9
  }>;
10
10
  export default wrapNode;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../react-diagram/packages/src/components/Node/NodeWrapper/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,aAAa,EAAc,MAAM,OAAO,CAAC;AAYtE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAKpD,CAAC;AAEF,QAAA,MAAM,QAAQ,kBAAmB,cAAc,SAAS,CAAC;iWAsCnD,aAAa;;EA6IlB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../react-diagram/packages/src/components/Node/NodeWrapper/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,aAAa,EAAc,MAAM,OAAO,CAAC;AAYtE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAKpD,CAAC;AAEF,QAAA,MAAM,QAAQ,kBAAmB,cAAc,SAAS,CAAC;6XAyCnD,aAAa;;EAgJlB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { MouseEvent } from 'react';
2
2
  import { Node } from '../type';
3
3
  export type NodeMouseHandler = (event: MouseEvent, node: Node) => void;
4
- export type WrapNodeProps<T = any> = Pick<Node<T>, 'id' | 'data' | 'style' | 'className' | 'selected' | 'dragHandle' | 'sourcePosition' | 'targetPosition' | 'hidden' | 'ariaLabel' | 'width' | 'height'> & Required<Pick<Node<T>, 'type' | 'zIndex'>> & {
4
+ export type WrapNodeProps<T = any> = Pick<Node<T>, 'id' | 'data' | 'style' | 'className' | 'selected' | 'intersected' | 'dragHandle' | 'sourcePosition' | 'targetPosition' | 'hidden' | 'ariaLabel' | 'width' | 'height'> & Required<Pick<Node<T>, 'type' | 'zIndex'>> & {
5
5
  positionX: number;
6
6
  positionY: number;
7
7
  initialized: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../react-diagram/packages/src/components/Node/NodeWrapper/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAEvE,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CACtC,IAAI,CAAC,CAAC,CAAC,EACL,IAAI,GACJ,MAAM,GACN,OAAO,GACP,WAAW,GACX,UAAU,GACV,YAAY,GACZ,gBAAgB,GAChB,gBAAgB,GAChB,QAAQ,GACR,WAAW,GACX,OAAO,GACP,QAAQ,CACZ,GACE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAElB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IAErB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACzB,CAAC"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../react-diagram/packages/src/components/Node/NodeWrapper/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAEvE,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CACtC,IAAI,CAAC,CAAC,CAAC,EACL,IAAI,GACJ,MAAM,GACN,OAAO,GACP,WAAW,GACX,UAAU,GACV,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,gBAAgB,GAChB,QAAQ,GACR,WAAW,GACX,OAAO,GACP,QAAQ,CACZ,GACE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAElB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IAErB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACzB,CAAC"}
@@ -14,6 +14,7 @@ export type Node<T = any, U extends string | undefined = string | undefined> = {
14
14
  targetPosition?: Position;
15
15
  hidden?: boolean;
16
16
  selected?: boolean;
17
+ intersected?: boolean;
17
18
  dragging?: boolean;
18
19
  draggable?: boolean;
19
20
  selectable?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../react-diagram/packages/src/components/Node/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,IAAI;IAC5E,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,CAAC,eAAe,CAAC,CAAC,EAAE;QACjB,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;CACJ,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAClC,aAAa,CAAC,CAAC,CAAC,EACd,IAAI,GACJ,MAAM,GACN,YAAY,GACZ,MAAM,GACN,UAAU,GACV,WAAW,GACX,WAAW,GACX,QAAQ,GACR,OAAO,GACP,QAAQ,CACZ,GAAG;IACD,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,cAAc,CAAC,EAAE,QAAQ,CAAC;CAC5B,CAAC"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../react-diagram/packages/src/components/Node/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,IAAI;IAC5E,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,CAAC,eAAe,CAAC,CAAC,EAAE;QACjB,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;CACJ,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAClC,aAAa,CAAC,CAAC,CAAC,EACd,IAAI,GACJ,MAAM,GACN,YAAY,GACZ,MAAM,GACN,UAAU,GACV,WAAW,GACX,WAAW,GACX,QAAQ,GACR,OAAO,GACP,QAAQ,CACZ,GAAG;IACD,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,cAAc,CAAC,EAAE,QAAQ,CAAC;CAC5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../react-diagram/packages/src/container/NodeRenderer/index.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAY,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1C,KAAK,aAAa,GAAG,QAAQ,CAC1B,IAAI,CACD,iBAAiB,EACf,2BAA2B,GAC3B,qBAAqB,GACrB,YAAY,GACZ,iBAAiB,GACjB,gBAAgB,CACpB,CACH,CAAC;AAEF,KAAK,iBAAiB,GAAG,IAAI,CAC1B,iBAAiB,EACf,aAAa,GACb,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,CACvB,GACE,aAAa,GAAG;IACb,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;CACf,CAAC;AASL,iBAAS,YAAY,CAAC,EACnB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,GAAG,KAAK,EACV,EAAE,iBAAiB,2CA+HnB;kBAxIQ,YAAY;;;;AA4IrB,wBAAkC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../react-diagram/packages/src/container/NodeRenderer/index.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAY,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1C,KAAK,aAAa,GAAG,QAAQ,CAC1B,IAAI,CACD,iBAAiB,EACf,2BAA2B,GAC3B,qBAAqB,GACrB,YAAY,GACZ,iBAAiB,GACjB,gBAAgB,CACpB,CACH,CAAC;AAEF,KAAK,iBAAiB,GAAG,IAAI,CAC1B,iBAAiB,EACf,aAAa,GACb,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,CACvB,GACE,aAAa,GAAG;IACb,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;CACf,CAAC;AASL,iBAAS,YAAY,CAAC,EACnB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,GAAG,KAAK,EACV,EAAE,iBAAiB,2CAiInB;kBA1IQ,YAAY;;;;AA8IrB,wBAAkC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../react-diagram/packages/src/hooks/useDrag/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA+B,MAAM,OAAO,CAAC;AAyB/D,KAAK,aAAa,GAAG;IAClB,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAKF,iBAAS,OAAO,CAAC,EACd,OAAO,EACP,MAAM,EACN,YAAY,EACZ,eAAe,GACjB,EAAE,aAAa,WAwQf;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../react-diagram/packages/src/hooks/useDrag/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA4C,MAAM,OAAO,CAAC;AA0B5E,KAAK,aAAa,GAAG;IAClB,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAKF,iBAAS,OAAO,CAAC,EACd,OAAO,EACP,MAAM,EACN,YAAY,EACZ,eAAe,GACjB,EAAE,aAAa,WA0Qf;AAED,eAAe,OAAO,CAAC"}
@@ -20,6 +20,11 @@ export type NodeSelectionChange = {
20
20
  type: 'select';
21
21
  selected: boolean;
22
22
  };
23
+ export type NodeIntersectionChange = {
24
+ id: string;
25
+ type: 'intersect';
26
+ intersected: boolean;
27
+ };
23
28
  export type NodeRemoveChange = {
24
29
  id: string;
25
30
  type: 'remove';
@@ -32,7 +37,7 @@ export type NodeResetChange<NodeData = any> = {
32
37
  item: Node<NodeData>;
33
38
  type: 'reset';
34
39
  };
35
- export type NodeChange = NodeDimensionChange | NodePositionChange | NodeSelectionChange | NodeRemoveChange | NodeAddChange | NodeResetChange;
40
+ export type NodeChange = NodeDimensionChange | NodePositionChange | NodeSelectionChange | NodeIntersectionChange | NodeRemoveChange | NodeAddChange | NodeResetChange;
36
41
  export type EdgeSelectionChange = NodeSelectionChange;
37
42
  export type EdgeRemoveChange = NodeRemoveChange;
38
43
  export type EdgeAddChange<EdgeData = any> = {
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../react-diagram/packages/src/hooks/useNodesEdgesState/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAEnD,MAAM,MAAM,mBAAmB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,QAAQ,GAAG,GAAG,IAAI;IACzC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,QAAQ,GAAG,GAAG,IAAI;IAC3C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GACjB,mBAAmB,GACnB,kBAAkB,GAClB,mBAAmB,GACnB,gBAAgB,GAChB,aAAa,GACb,eAAe,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AACtD,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAChD,MAAM,MAAM,aAAa,CAAC,QAAQ,GAAG,GAAG,IAAI;IACzC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC;CACd,CAAC;AACF,MAAM,MAAM,eAAe,CAAC,QAAQ,GAAG,GAAG,IAAI;IAC3C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GACjB,mBAAmB,GACnB,gBAAgB,GAChB,aAAa,GACb,eAAe,CAAC;AAErB,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../react-diagram/packages/src/hooks/useNodesEdgesState/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAEnD,MAAM,MAAM,mBAAmB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,QAAQ,GAAG,GAAG,IAAI;IACzC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,QAAQ,GAAG,GAAG,IAAI;IAC3C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GACjB,mBAAmB,GACnB,kBAAkB,GAClB,mBAAmB,GACnB,sBAAsB,GACtB,gBAAgB,GAChB,aAAa,GACb,eAAe,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AACtD,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAChD,MAAM,MAAM,aAAa,CAAC,QAAQ,GAAG,GAAG,IAAI;IACzC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC;CACd,CAAC;AACF,MAAM,MAAM,eAAe,CAAC,QAAQ,GAAG,GAAG,IAAI;IAC3C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GACjB,mBAAmB,GACnB,gBAAgB,GAChB,aAAa,GACb,eAAe,CAAC;AAErB,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { RefObject } from 'react';
2
+ import { Node } from '../../types';
3
+ import { NodeDragItem } from '../useDrag/type';
4
+ declare function useUpdateIntersectionNodes(): (dragItems: RefObject<Node[] | NodeDragItem[]>) => void;
5
+ export default useUpdateIntersectionNodes;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../react-diagram/packages/src/hooks/useUpdateIntersectionNodes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAC;AAMvD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,iBAAS,0BAA0B,gBAoCjB,UAAU,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC,UAqEnD;AAED,eAAe,0BAA0B,CAAC"}