@xyo-network/react-node-renderer 4.4.11 → 5.0.0-rc.2

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 (115) hide show
  1. package/dist/browser/index.mjs +5 -5
  2. package/dist/browser/index.mjs.map +1 -1
  3. package/dist/{browser → types}/components/module/graph/node/hooks/useNodeElement.d.ts +1 -1
  4. package/dist/types/components/relational/graph/Graph.d.ts +16 -0
  5. package/dist/types/components/relational/graph/Graph.d.ts.map +1 -0
  6. package/package.json +44 -42
  7. package/src/components/relational/graph/Graph.tsx +102 -104
  8. package/src/contexts/CytoscapeInstance/Provider.tsx +2 -2
  9. package/dist/browser/components/relational/graph/Graph.d.ts +0 -6
  10. package/dist/browser/components/relational/graph/Graph.d.ts.map +0 -1
  11. /package/dist/{browser → types}/Cytoscape/CytoscapeElements.d.ts +0 -0
  12. /package/dist/{browser → types}/Cytoscape/CytoscapeElements.d.ts.map +0 -0
  13. /package/dist/{browser → types}/Cytoscape/CytoscapeIcons.d.ts +0 -0
  14. /package/dist/{browser → types}/Cytoscape/CytoscapeIcons.d.ts.map +0 -0
  15. /package/dist/{browser → types}/Cytoscape/CytoscapeStyles.d.ts +0 -0
  16. /package/dist/{browser → types}/Cytoscape/CytoscapeStyles.d.ts.map +0 -0
  17. /package/dist/{browser → types}/Cytoscape/index.d.ts +0 -0
  18. /package/dist/{browser → types}/Cytoscape/index.d.ts.map +0 -0
  19. /package/dist/{browser → types}/Cytoscape/lib/CyNodeModuleTypes.d.ts +0 -0
  20. /package/dist/{browser → types}/Cytoscape/lib/CyNodeModuleTypes.d.ts.map +0 -0
  21. /package/dist/{browser → types}/Cytoscape/lib/encodeSvg.d.ts +0 -0
  22. /package/dist/{browser → types}/Cytoscape/lib/encodeSvg.d.ts.map +0 -0
  23. /package/dist/{browser → types}/Cytoscape/lib/iconMap.d.ts +0 -0
  24. /package/dist/{browser → types}/Cytoscape/lib/iconMap.d.ts.map +0 -0
  25. /package/dist/{browser → types}/Cytoscape/lib/index.d.ts +0 -0
  26. /package/dist/{browser → types}/Cytoscape/lib/index.d.ts.map +0 -0
  27. /package/dist/{browser → types}/Cytoscape/lib/layout/ColaLayout.d.ts +0 -0
  28. /package/dist/{browser → types}/Cytoscape/lib/layout/ColaLayout.d.ts.map +0 -0
  29. /package/dist/{browser → types}/Cytoscape/lib/layout/ConcentricLayout.d.ts +0 -0
  30. /package/dist/{browser → types}/Cytoscape/lib/layout/ConcentricLayout.d.ts.map +0 -0
  31. /package/dist/{browser → types}/Cytoscape/lib/layout/index.d.ts +0 -0
  32. /package/dist/{browser → types}/Cytoscape/lib/layout/index.d.ts.map +0 -0
  33. /package/dist/{browser → types}/Cytoscape/lib/parseModuleType.d.ts +0 -0
  34. /package/dist/{browser → types}/Cytoscape/lib/parseModuleType.d.ts.map +0 -0
  35. /package/dist/{browser → types}/components/cytoscape-extensions/WithExtensions.d.ts +0 -0
  36. /package/dist/{browser → types}/components/cytoscape-extensions/WithExtensions.d.ts.map +0 -0
  37. /package/dist/{browser → types}/components/cytoscape-extensions/index.d.ts +0 -0
  38. /package/dist/{browser → types}/components/cytoscape-extensions/index.d.ts.map +0 -0
  39. /package/dist/{browser → types}/components/index.d.ts +0 -0
  40. /package/dist/{browser → types}/components/index.d.ts.map +0 -0
  41. /package/dist/{browser → types}/components/lib/RelationalGraphProps.d.ts +0 -0
  42. /package/dist/{browser → types}/components/lib/RelationalGraphProps.d.ts.map +0 -0
  43. /package/dist/{browser → types}/components/lib/index.d.ts +0 -0
  44. /package/dist/{browser → types}/components/lib/index.d.ts.map +0 -0
  45. /package/dist/{browser → types}/components/module/CardParser.d.ts +0 -0
  46. /package/dist/{browser → types}/components/module/CardParser.d.ts.map +0 -0
  47. /package/dist/{browser → types}/components/module/graph/DetailsFlexbox.d.ts +0 -0
  48. /package/dist/{browser → types}/components/module/graph/DetailsFlexbox.d.ts.map +0 -0
  49. /package/dist/{browser → types}/components/module/graph/GraphFlexBox.d.ts +0 -0
  50. /package/dist/{browser → types}/components/module/graph/GraphFlexBox.d.ts.map +0 -0
  51. /package/dist/{browser → types}/components/module/graph/Popper.d.ts +0 -0
  52. /package/dist/{browser → types}/components/module/graph/Popper.d.ts.map +0 -0
  53. /package/dist/{browser → types}/components/module/graph/index.d.ts +0 -0
  54. /package/dist/{browser → types}/components/module/graph/index.d.ts.map +0 -0
  55. /package/dist/{browser → types}/components/module/graph/node/Hover.d.ts +0 -0
  56. /package/dist/{browser → types}/components/module/graph/node/Hover.d.ts.map +0 -0
  57. /package/dist/{browser → types}/components/module/graph/node/hooks/index.d.ts +0 -0
  58. /package/dist/{browser → types}/components/module/graph/node/hooks/index.d.ts.map +0 -0
  59. /package/dist/{browser → types}/components/module/graph/node/hooks/useNodeElement.d.ts.map +0 -0
  60. /package/dist/{browser → types}/components/module/graph/node/index.d.ts +0 -0
  61. /package/dist/{browser → types}/components/module/graph/node/index.d.ts.map +0 -0
  62. /package/dist/{browser → types}/components/module/index.d.ts +0 -0
  63. /package/dist/{browser → types}/components/module/index.d.ts.map +0 -0
  64. /package/dist/{browser → types}/components/relational/graph/ProvidedNodeRenderer.d.ts +0 -0
  65. /package/dist/{browser → types}/components/relational/graph/ProvidedNodeRenderer.d.ts.map +0 -0
  66. /package/dist/{browser → types}/components/relational/graph/index.d.ts +0 -0
  67. /package/dist/{browser → types}/components/relational/graph/index.d.ts.map +0 -0
  68. /package/dist/{browser → types}/components/relational/graph/story/TestData.d.ts +0 -0
  69. /package/dist/{browser → types}/components/relational/graph/story/TestData.d.ts.map +0 -0
  70. /package/dist/{browser → types}/components/relational/graph/story/index.d.ts +0 -0
  71. /package/dist/{browser → types}/components/relational/graph/story/index.d.ts.map +0 -0
  72. /package/dist/{browser → types}/components/relational/index.d.ts +0 -0
  73. /package/dist/{browser → types}/components/relational/index.d.ts.map +0 -0
  74. /package/dist/{browser → types}/contexts/CytoscapeInstance/Context.d.ts +0 -0
  75. /package/dist/{browser → types}/contexts/CytoscapeInstance/Context.d.ts.map +0 -0
  76. /package/dist/{browser → types}/contexts/CytoscapeInstance/Provider.d.ts +0 -0
  77. /package/dist/{browser → types}/contexts/CytoscapeInstance/Provider.d.ts.map +0 -0
  78. /package/dist/{browser → types}/contexts/CytoscapeInstance/State.d.ts +0 -0
  79. /package/dist/{browser → types}/contexts/CytoscapeInstance/State.d.ts.map +0 -0
  80. /package/dist/{browser → types}/contexts/CytoscapeInstance/index.d.ts +0 -0
  81. /package/dist/{browser → types}/contexts/CytoscapeInstance/index.d.ts.map +0 -0
  82. /package/dist/{browser → types}/contexts/CytoscapeInstance/use.d.ts +0 -0
  83. /package/dist/{browser → types}/contexts/CytoscapeInstance/use.d.ts.map +0 -0
  84. /package/dist/{browser → types}/contexts/index.d.ts +0 -0
  85. /package/dist/{browser → types}/contexts/index.d.ts.map +0 -0
  86. /package/dist/{browser → types}/hooks/cytoscape/elements/index.d.ts +0 -0
  87. /package/dist/{browser → types}/hooks/cytoscape/elements/index.d.ts.map +0 -0
  88. /package/dist/{browser → types}/hooks/cytoscape/elements/useCytoscapeElements.d.ts +0 -0
  89. /package/dist/{browser → types}/hooks/cytoscape/elements/useCytoscapeElements.d.ts.map +0 -0
  90. /package/dist/{browser → types}/hooks/cytoscape/elements/useElements.d.ts +0 -0
  91. /package/dist/{browser → types}/hooks/cytoscape/elements/useElements.d.ts.map +0 -0
  92. /package/dist/{browser → types}/hooks/cytoscape/elements/useHoveredNode.d.ts +0 -0
  93. /package/dist/{browser → types}/hooks/cytoscape/elements/useHoveredNode.d.ts.map +0 -0
  94. /package/dist/{browser → types}/hooks/cytoscape/elements/useNewElements.d.ts +0 -0
  95. /package/dist/{browser → types}/hooks/cytoscape/elements/useNewElements.d.ts.map +0 -0
  96. /package/dist/{browser → types}/hooks/cytoscape/elements/useRenderNewElements.d.ts +0 -0
  97. /package/dist/{browser → types}/hooks/cytoscape/elements/useRenderNewElements.d.ts.map +0 -0
  98. /package/dist/{browser → types}/hooks/cytoscape/elements/useSelectedElement.d.ts +0 -0
  99. /package/dist/{browser → types}/hooks/cytoscape/elements/useSelectedElement.d.ts.map +0 -0
  100. /package/dist/{browser → types}/hooks/cytoscape/index.d.ts +0 -0
  101. /package/dist/{browser → types}/hooks/cytoscape/index.d.ts.map +0 -0
  102. /package/dist/{browser → types}/hooks/cytoscape/useCytoscapeOptions.d.ts +0 -0
  103. /package/dist/{browser → types}/hooks/cytoscape/useCytoscapeOptions.d.ts.map +0 -0
  104. /package/dist/{browser → types}/hooks/cytoscape/useCytoscapeStyle.d.ts +0 -0
  105. /package/dist/{browser → types}/hooks/cytoscape/useCytoscapeStyle.d.ts.map +0 -0
  106. /package/dist/{browser → types}/hooks/cytoscape/useIcons.d.ts +0 -0
  107. /package/dist/{browser → types}/hooks/cytoscape/useIcons.d.ts.map +0 -0
  108. /package/dist/{browser → types}/hooks/cytoscape/useModuleDetails.d.ts +0 -0
  109. /package/dist/{browser → types}/hooks/cytoscape/useModuleDetails.d.ts.map +0 -0
  110. /package/dist/{browser → types}/hooks/cytoscape/useRelationalGraphOptions.d.ts +0 -0
  111. /package/dist/{browser → types}/hooks/cytoscape/useRelationalGraphOptions.d.ts.map +0 -0
  112. /package/dist/{browser → types}/hooks/index.d.ts +0 -0
  113. /package/dist/{browser → types}/hooks/index.d.ts.map +0 -0
  114. /package/dist/{browser → types}/index.d.ts +0 -0
  115. /package/dist/{browser → types}/index.d.ts.map +0 -0
@@ -16,7 +16,7 @@ import coseBilkentLayout from 'cytoscape-cose-bilkent'
16
16
  import dagre from 'cytoscape-dagre'
17
17
  import eulerLayout from 'cytoscape-euler'
18
18
  import React, {
19
- forwardRef, useEffect, useRef, useState,
19
+ useEffect, useRef, useState,
20
20
  } from 'react'
21
21
 
22
22
  import type { NodeRelationalGraphProps } from '../../lib/index.ts'
@@ -72,120 +72,118 @@ const ModuleHoverDetails: React.FC<ModuleHoverDetailsProps> = ({
72
72
  )
73
73
  }
74
74
 
75
- export const NodeRelationalGraphFlexBox = forwardRef<HTMLDivElement, NodeRelationalGraphProps>(
76
- ({
77
- actions, children, node, layout, layoutOptions, showDetails, detail, options, onHover, ...props
78
- }, ref) => {
79
- const theme = useTheme()
80
- const [cy, setCy] = useState<Core>()
81
- const cytoscapeRef = useRef<HTMLDivElement>()
82
- const [hoverPosition, setHoverBoundingBox] = useState<{ x1: number; x2: number; y1: number; y2: number }>()
83
- const [hoverAddress, setHoverAddress] = useState<Address>()
75
+ export const NodeRelationalGraphFlexBox = ({
76
+ ref, actions, children, node, layout, layoutOptions, showDetails, detail, options, onHover, ...props
77
+ }: NodeRelationalGraphProps & { ref?: React.RefObject<HTMLDivElement | null> }) => {
78
+ const theme = useTheme()
79
+ const [cy, setCy] = useState<Core>()
80
+ const cytoscapeRef = useRef<HTMLDivElement>(null)
81
+ const [hoverPosition, setHoverBoundingBox] = useState<{ x1: number; x2: number; y1: number; y2: number }>()
82
+ const [hoverAddress, setHoverAddress] = useState<Address>()
84
83
 
85
- const [moduleInstance] = useWeakModuleFromNode(hoverAddress, { node })
84
+ const [moduleInstance] = useWeakModuleFromNode(hoverAddress, { node })
86
85
 
87
- useEffect(() => {
88
- cy?.on('mouseover tap', ({ target }) => {
89
- const cyNode = target as NodeSingular
90
- const bb = cyNode?.renderedBoundingBox?.()
91
- setHoverBoundingBox(bb)
92
- const id = cyNode.id?.()
93
- if (id) {
94
- if (id.includes('/')) {
95
- setHoverAddress(undefined)
96
- onHover?.()
97
- } else {
98
- setHoverAddress(asAddress(id))
99
- onHover?.(asAddress(id))
100
- }
86
+ useEffect(() => {
87
+ cy?.on('mouseover tap', ({ target }) => {
88
+ const cyNode = target as NodeSingular
89
+ const bb = cyNode?.renderedBoundingBox?.()
90
+ setHoverBoundingBox(bb)
91
+ const id = cyNode.id?.()
92
+ if (id) {
93
+ if (id.includes('/')) {
94
+ setHoverAddress(undefined)
95
+ onHover?.()
96
+ } else {
97
+ setHoverAddress(asAddress(id))
98
+ onHover?.(asAddress(id))
101
99
  }
100
+ }
101
+ })
102
+ }, [onHover, cy])
103
+
104
+ const handleReset = () => {
105
+ cy?.reset()
106
+ applyLayout(cy, layout ?? 'euler', layoutOptions)
107
+ }
108
+
109
+ useEffect(() => {
110
+ let newCy: Core | undefined
111
+ const container = cytoscapeRef.current
112
+ if (container) {
113
+ newCy = cytoscape({
114
+ container,
115
+ ...options,
102
116
  })
103
- }, [onHover, cy])
117
+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
118
+ setCy(newCy)
119
+ } else {
120
+ newCy?.destroy()
121
+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
122
+ setCy(undefined)
123
+ }
124
+ return () => {
125
+ newCy?.destroy()
126
+ setCy(undefined)
127
+ }
128
+ }, [options, cytoscapeRef, layoutOptions])
104
129
 
105
- const handleReset = () => {
106
- cy?.reset()
130
+ useEffect(() => {
131
+ if (cy) {
132
+ loadLayout(layout)
107
133
  applyLayout(cy, layout ?? 'euler', layoutOptions)
108
134
  }
135
+ }, [cy, layoutOptions, layout])
109
136
 
110
- useEffect(() => {
111
- let newCy: Core | undefined
112
- const container = cytoscapeRef.current
113
- if (container) {
114
- newCy = cytoscape({
115
- container,
116
- ...options,
117
- })
118
- // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
119
- setCy(newCy)
120
- } else {
121
- newCy?.destroy()
122
- // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
123
- setCy(undefined)
124
- }
125
- return () => {
126
- newCy?.destroy()
127
- setCy(undefined)
128
- }
129
- }, [options, cytoscapeRef, layoutOptions])
130
-
131
- useEffect(() => {
132
- if (cy) {
133
- loadLayout(layout)
134
- applyLayout(cy, layout ?? 'euler', layoutOptions)
135
- }
136
- }, [cy, layoutOptions, layout])
137
-
138
- return (
139
- <FlexCol id="relational-graph-wrapper" ref={ref} {...props}>
140
- {hoverAddress && hoverPosition
141
- ? (
142
- <Box position="absolute" top={hoverPosition.y1} left={hoverPosition.x1} zIndex={100}>
143
- <ModuleHoverDetails address={hoverAddress} name={moduleInstance?.deref()?.id ?? 'Unknown'} />
144
- </Box>
145
- )
146
- : null}
147
- <FlexRow justifyContent="start" width="100%">
148
- {actions === null
149
- ? null
150
- : actions
151
- ? (
152
- <ButtonGroup>
153
- {actions}
154
- <Button size="small" variant="contained" onClick={handleReset}>
155
- Reset View
156
- </Button>
157
- </ButtonGroup>
158
- )
159
- : (
137
+ return (
138
+ <FlexCol id="relational-graph-wrapper" ref={ref} {...props}>
139
+ {hoverAddress && hoverPosition
140
+ ? (
141
+ <Box position="absolute" top={hoverPosition.y1} left={hoverPosition.x1} zIndex={100}>
142
+ <ModuleHoverDetails address={hoverAddress} name={moduleInstance?.deref()?.id ?? 'Unknown'} />
143
+ </Box>
144
+ )
145
+ : null}
146
+ <FlexRow justifyContent="start" width="100%">
147
+ {actions === null
148
+ ? null
149
+ : actions
150
+ ? (
151
+ <ButtonGroup>
152
+ {actions}
160
153
  <Button size="small" variant="contained" onClick={handleReset}>
161
- Reset
154
+ Reset View
162
155
  </Button>
163
- )}
164
- </FlexRow>
165
- <FlexGrowRow width="100%" alignItems="start">
166
- {showDetails
167
- ? (
168
- <FlexCol height="100%" width="85%">
169
- {detail}
170
- </FlexCol>
156
+ </ButtonGroup>
171
157
  )
172
- : null}
173
- <FlexCol
174
- justifyContent="start"
175
- classes="cytoscape-wrap"
176
- width={showDetails ? '15%' : '100%'}
177
- height={showDetails ? '50%' : '100%'}
178
- border={showDetails ? `1px solid ${theme.palette.divider}` : undefined}
179
- >
180
- {/* Cytoscape Element */}
181
- <FlexCol alignItems="stretch" position="absolute" width="100%" height="100%" ref={cytoscapeRef} />
182
- {children}
183
- </FlexCol>
184
- </FlexGrowRow>
185
- </FlexCol>
186
- )
187
- },
188
- )
158
+ : (
159
+ <Button size="small" variant="contained" onClick={handleReset}>
160
+ Reset
161
+ </Button>
162
+ )}
163
+ </FlexRow>
164
+ <FlexGrowRow width="100%" alignItems="start">
165
+ {showDetails
166
+ ? (
167
+ <FlexCol height="100%" width="85%">
168
+ {detail}
169
+ </FlexCol>
170
+ )
171
+ : null}
172
+ <FlexCol
173
+ justifyContent="start"
174
+ classes="cytoscape-wrap"
175
+ width={showDetails ? '15%' : '100%'}
176
+ height={showDetails ? '50%' : '100%'}
177
+ border={showDetails ? `1px solid ${theme.palette.divider}` : undefined}
178
+ >
179
+ {/* Cytoscape Element */}
180
+ <FlexCol alignItems="stretch" position="absolute" width="100%" height="100%" ref={cytoscapeRef} />
181
+ {children}
182
+ </FlexCol>
183
+ </FlexGrowRow>
184
+ </FlexCol>
185
+ )
186
+ }
189
187
 
190
188
  NodeRelationalGraphFlexBox.displayName = 'NodeRelationalGraph'
191
189
 
@@ -16,8 +16,8 @@ export const CytoscapeInstanceProvider: React.FC<CytoscapeInstanceProviderProps>
16
16
  }), [cy, setCy])
17
17
 
18
18
  return (
19
- <CytoscapeInstanceContext.Provider value={value}>
19
+ <CytoscapeInstanceContext value={value}>
20
20
  {children}
21
- </CytoscapeInstanceContext.Provider>
21
+ </CytoscapeInstanceContext>
22
22
  )
23
23
  }
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- import type { NodeRelationalGraphProps } from '../../lib/index.ts';
3
- export declare const NodeRelationalGraphFlexBox: React.ForwardRefExoticComponent<NodeRelationalGraphProps & React.RefAttributes<HTMLDivElement>>;
4
- /** @deprecated */
5
- export declare const NodeRelationalGraph: React.ForwardRefExoticComponent<NodeRelationalGraphProps & React.RefAttributes<HTMLDivElement>>;
6
- //# sourceMappingURL=Graph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../../../src/components/relational/graph/Graph.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAEN,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAqDlE,eAAO,MAAM,0BAA0B,iGAiHtC,CAAA;AAID,kBAAkB;AAClB,eAAO,MAAM,mBAAmB,iGAA6B,CAAA"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes