@xyo-network/react-node-renderer 2.64.3 → 2.64.5

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 (281) hide show
  1. package/dist/browser/Cytoscape/CytoscapeElements.cjs +5 -5
  2. package/dist/browser/Cytoscape/CytoscapeElements.cjs.map +1 -1
  3. package/dist/browser/Cytoscape/CytoscapeElements.d.cts +3 -1
  4. package/dist/browser/Cytoscape/CytoscapeElements.d.cts.map +1 -1
  5. package/dist/browser/Cytoscape/CytoscapeElements.d.mts +3 -1
  6. package/dist/browser/Cytoscape/CytoscapeElements.d.mts.map +1 -1
  7. package/dist/browser/Cytoscape/CytoscapeElements.d.ts +3 -1
  8. package/dist/browser/Cytoscape/CytoscapeElements.d.ts.map +1 -1
  9. package/dist/browser/Cytoscape/CytoscapeElements.js +5 -5
  10. package/dist/browser/Cytoscape/CytoscapeElements.js.map +1 -1
  11. package/dist/browser/Cytoscape/CytoscapeStyles.cjs +2 -0
  12. package/dist/browser/Cytoscape/CytoscapeStyles.cjs.map +1 -1
  13. package/dist/browser/Cytoscape/CytoscapeStyles.d.cts +1 -0
  14. package/dist/browser/Cytoscape/CytoscapeStyles.d.cts.map +1 -1
  15. package/dist/browser/Cytoscape/CytoscapeStyles.d.mts +1 -0
  16. package/dist/browser/Cytoscape/CytoscapeStyles.d.mts.map +1 -1
  17. package/dist/browser/Cytoscape/CytoscapeStyles.d.ts +1 -0
  18. package/dist/browser/Cytoscape/CytoscapeStyles.d.ts.map +1 -1
  19. package/dist/browser/Cytoscape/CytoscapeStyles.js +2 -0
  20. package/dist/browser/Cytoscape/CytoscapeStyles.js.map +1 -1
  21. package/dist/browser/Cytoscape/index.cjs +7 -5
  22. package/dist/browser/Cytoscape/index.cjs.map +1 -1
  23. package/dist/browser/Cytoscape/index.js +7 -5
  24. package/dist/browser/Cytoscape/index.js.map +1 -1
  25. package/dist/browser/components/ProvidedNodeRenderer.cjs +13 -11
  26. package/dist/browser/components/ProvidedNodeRenderer.cjs.map +1 -1
  27. package/dist/browser/components/ProvidedNodeRenderer.js +14 -12
  28. package/dist/browser/components/ProvidedNodeRenderer.js.map +1 -1
  29. package/dist/browser/components/RelationalGraph.cjs +3 -3
  30. package/dist/browser/components/RelationalGraph.cjs.map +1 -1
  31. package/dist/browser/components/RelationalGraph.d.cts.map +1 -1
  32. package/dist/browser/components/RelationalGraph.d.mts.map +1 -1
  33. package/dist/browser/components/RelationalGraph.d.ts.map +1 -1
  34. package/dist/browser/components/RelationalGraph.js +4 -4
  35. package/dist/browser/components/RelationalGraph.js.map +1 -1
  36. package/dist/browser/components/index.cjs +119 -81
  37. package/dist/browser/components/index.cjs.map +1 -1
  38. package/dist/browser/components/index.js +119 -81
  39. package/dist/browser/components/index.js.map +1 -1
  40. package/dist/browser/components/module/graph/GraphFlexBox.cjs +118 -80
  41. package/dist/browser/components/module/graph/GraphFlexBox.cjs.map +1 -1
  42. package/dist/browser/components/module/graph/GraphFlexBox.d.cts +1 -0
  43. package/dist/browser/components/module/graph/GraphFlexBox.d.cts.map +1 -1
  44. package/dist/browser/components/module/graph/GraphFlexBox.d.mts +1 -0
  45. package/dist/browser/components/module/graph/GraphFlexBox.d.mts.map +1 -1
  46. package/dist/browser/components/module/graph/GraphFlexBox.d.ts +1 -0
  47. package/dist/browser/components/module/graph/GraphFlexBox.d.ts.map +1 -1
  48. package/dist/browser/components/module/graph/GraphFlexBox.js +118 -80
  49. package/dist/browser/components/module/graph/GraphFlexBox.js.map +1 -1
  50. package/dist/browser/components/module/graph/NodeHover.cjs +17 -10
  51. package/dist/browser/components/module/graph/NodeHover.cjs.map +1 -1
  52. package/dist/browser/components/module/graph/NodeHover.d.cts.map +1 -1
  53. package/dist/browser/components/module/graph/NodeHover.d.mts.map +1 -1
  54. package/dist/browser/components/module/graph/NodeHover.d.ts.map +1 -1
  55. package/dist/browser/components/module/graph/NodeHover.js +20 -13
  56. package/dist/browser/components/module/graph/NodeHover.js.map +1 -1
  57. package/dist/browser/components/module/graph/Popper.cjs +2 -2
  58. package/dist/browser/components/module/graph/Popper.cjs.map +1 -1
  59. package/dist/browser/components/module/graph/Popper.d.cts +1 -1
  60. package/dist/browser/components/module/graph/Popper.d.cts.map +1 -1
  61. package/dist/browser/components/module/graph/Popper.d.mts +1 -1
  62. package/dist/browser/components/module/graph/Popper.d.mts.map +1 -1
  63. package/dist/browser/components/module/graph/Popper.d.ts +1 -1
  64. package/dist/browser/components/module/graph/Popper.d.ts.map +1 -1
  65. package/dist/browser/components/module/graph/Popper.js +3 -3
  66. package/dist/browser/components/module/graph/Popper.js.map +1 -1
  67. package/dist/browser/components/module/graph/index.cjs +118 -80
  68. package/dist/browser/components/module/graph/index.cjs.map +1 -1
  69. package/dist/browser/components/module/graph/index.js +118 -80
  70. package/dist/browser/components/module/graph/index.js.map +1 -1
  71. package/dist/browser/components/module/index.cjs +118 -80
  72. package/dist/browser/components/module/index.cjs.map +1 -1
  73. package/dist/browser/components/module/index.js +118 -80
  74. package/dist/browser/components/module/index.js.map +1 -1
  75. package/dist/browser/hooks/cytoscape/index.cjs +46 -28
  76. package/dist/browser/hooks/cytoscape/index.cjs.map +1 -1
  77. package/dist/browser/hooks/cytoscape/index.js +42 -24
  78. package/dist/browser/hooks/cytoscape/index.js.map +1 -1
  79. package/dist/browser/hooks/cytoscape/useCytoscapeElements.cjs +5 -5
  80. package/dist/browser/hooks/cytoscape/useCytoscapeElements.cjs.map +1 -1
  81. package/dist/browser/hooks/cytoscape/useCytoscapeElements.js +5 -5
  82. package/dist/browser/hooks/cytoscape/useCytoscapeElements.js.map +1 -1
  83. package/dist/browser/hooks/cytoscape/useCytoscapeOptions.cjs +5 -3
  84. package/dist/browser/hooks/cytoscape/useCytoscapeOptions.cjs.map +1 -1
  85. package/dist/browser/hooks/cytoscape/useCytoscapeOptions.d.cts.map +1 -1
  86. package/dist/browser/hooks/cytoscape/useCytoscapeOptions.d.mts.map +1 -1
  87. package/dist/browser/hooks/cytoscape/useCytoscapeOptions.d.ts.map +1 -1
  88. package/dist/browser/hooks/cytoscape/useCytoscapeOptions.js +5 -3
  89. package/dist/browser/hooks/cytoscape/useCytoscapeOptions.js.map +1 -1
  90. package/dist/browser/hooks/cytoscape/useCytoscapeStyle.cjs.map +1 -1
  91. package/dist/browser/hooks/cytoscape/useCytoscapeStyle.js.map +1 -1
  92. package/dist/browser/hooks/cytoscape/useNewElements.cjs +5 -22
  93. package/dist/browser/hooks/cytoscape/useNewElements.cjs.map +1 -1
  94. package/dist/browser/hooks/cytoscape/useNewElements.d.cts.map +1 -1
  95. package/dist/browser/hooks/cytoscape/useNewElements.d.mts.map +1 -1
  96. package/dist/browser/hooks/cytoscape/useNewElements.d.ts.map +1 -1
  97. package/dist/browser/hooks/cytoscape/useNewElements.js +5 -22
  98. package/dist/browser/hooks/cytoscape/useNewElements.js.map +1 -1
  99. package/dist/browser/hooks/cytoscape/useRelationalGraphOptions.cjs +10 -8
  100. package/dist/browser/hooks/cytoscape/useRelationalGraphOptions.cjs.map +1 -1
  101. package/dist/browser/hooks/cytoscape/useRelationalGraphOptions.js +10 -8
  102. package/dist/browser/hooks/cytoscape/useRelationalGraphOptions.js.map +1 -1
  103. package/dist/browser/hooks/cytoscape/useSelectedElement.cjs +30 -3
  104. package/dist/browser/hooks/cytoscape/useSelectedElement.cjs.map +1 -1
  105. package/dist/browser/hooks/cytoscape/useSelectedElement.d.cts.map +1 -1
  106. package/dist/browser/hooks/cytoscape/useSelectedElement.d.mts.map +1 -1
  107. package/dist/browser/hooks/cytoscape/useSelectedElement.d.ts.map +1 -1
  108. package/dist/browser/hooks/cytoscape/useSelectedElement.js +30 -3
  109. package/dist/browser/hooks/cytoscape/useSelectedElement.js.map +1 -1
  110. package/dist/browser/hooks/cytoscape/useToggleSelectedElement.cjs +57 -0
  111. package/dist/browser/hooks/cytoscape/useToggleSelectedElement.cjs.map +1 -0
  112. package/dist/browser/hooks/cytoscape/useToggleSelectedElement.d.cts +4 -0
  113. package/dist/browser/hooks/cytoscape/useToggleSelectedElement.d.cts.map +1 -0
  114. package/dist/browser/hooks/cytoscape/useToggleSelectedElement.d.mts +4 -0
  115. package/dist/browser/hooks/cytoscape/useToggleSelectedElement.d.mts.map +1 -0
  116. package/dist/browser/hooks/cytoscape/useToggleSelectedElement.d.ts +4 -0
  117. package/dist/browser/hooks/cytoscape/useToggleSelectedElement.d.ts.map +1 -0
  118. package/dist/browser/hooks/cytoscape/useToggleSelectedElement.js +36 -0
  119. package/dist/browser/hooks/cytoscape/useToggleSelectedElement.js.map +1 -0
  120. package/dist/browser/hooks/index.cjs +46 -28
  121. package/dist/browser/hooks/index.cjs.map +1 -1
  122. package/dist/browser/hooks/index.js +42 -24
  123. package/dist/browser/hooks/index.js.map +1 -1
  124. package/dist/browser/index.cjs +123 -81
  125. package/dist/browser/index.cjs.map +1 -1
  126. package/dist/browser/index.d.cts +1 -0
  127. package/dist/browser/index.d.cts.map +1 -1
  128. package/dist/browser/index.d.mts +1 -0
  129. package/dist/browser/index.d.mts.map +1 -1
  130. package/dist/browser/index.d.ts +1 -0
  131. package/dist/browser/index.d.ts.map +1 -1
  132. package/dist/browser/index.js +123 -81
  133. package/dist/browser/index.js.map +1 -1
  134. package/dist/docs.json +2026 -1305
  135. package/dist/node/Cytoscape/CytoscapeElements.cjs +5 -5
  136. package/dist/node/Cytoscape/CytoscapeElements.cjs.map +1 -1
  137. package/dist/node/Cytoscape/CytoscapeElements.d.cts +3 -1
  138. package/dist/node/Cytoscape/CytoscapeElements.d.cts.map +1 -1
  139. package/dist/node/Cytoscape/CytoscapeElements.d.mts +3 -1
  140. package/dist/node/Cytoscape/CytoscapeElements.d.mts.map +1 -1
  141. package/dist/node/Cytoscape/CytoscapeElements.d.ts +3 -1
  142. package/dist/node/Cytoscape/CytoscapeElements.d.ts.map +1 -1
  143. package/dist/node/Cytoscape/CytoscapeElements.js +5 -5
  144. package/dist/node/Cytoscape/CytoscapeElements.js.map +1 -1
  145. package/dist/node/Cytoscape/CytoscapeStyles.cjs +3 -0
  146. package/dist/node/Cytoscape/CytoscapeStyles.cjs.map +1 -1
  147. package/dist/node/Cytoscape/CytoscapeStyles.d.cts +1 -0
  148. package/dist/node/Cytoscape/CytoscapeStyles.d.cts.map +1 -1
  149. package/dist/node/Cytoscape/CytoscapeStyles.d.mts +1 -0
  150. package/dist/node/Cytoscape/CytoscapeStyles.d.mts.map +1 -1
  151. package/dist/node/Cytoscape/CytoscapeStyles.d.ts +1 -0
  152. package/dist/node/Cytoscape/CytoscapeStyles.d.ts.map +1 -1
  153. package/dist/node/Cytoscape/CytoscapeStyles.js +2 -0
  154. package/dist/node/Cytoscape/CytoscapeStyles.js.map +1 -1
  155. package/dist/node/Cytoscape/index.cjs +8 -5
  156. package/dist/node/Cytoscape/index.cjs.map +1 -1
  157. package/dist/node/Cytoscape/index.js +7 -5
  158. package/dist/node/Cytoscape/index.js.map +1 -1
  159. package/dist/node/components/ProvidedNodeRenderer.cjs +13 -11
  160. package/dist/node/components/ProvidedNodeRenderer.cjs.map +1 -1
  161. package/dist/node/components/ProvidedNodeRenderer.js +14 -12
  162. package/dist/node/components/ProvidedNodeRenderer.js.map +1 -1
  163. package/dist/node/components/RelationalGraph.cjs +3 -3
  164. package/dist/node/components/RelationalGraph.cjs.map +1 -1
  165. package/dist/node/components/RelationalGraph.d.cts.map +1 -1
  166. package/dist/node/components/RelationalGraph.d.mts.map +1 -1
  167. package/dist/node/components/RelationalGraph.d.ts.map +1 -1
  168. package/dist/node/components/RelationalGraph.js +4 -4
  169. package/dist/node/components/RelationalGraph.js.map +1 -1
  170. package/dist/node/components/index.cjs +120 -81
  171. package/dist/node/components/index.cjs.map +1 -1
  172. package/dist/node/components/index.js +119 -81
  173. package/dist/node/components/index.js.map +1 -1
  174. package/dist/node/components/module/graph/GraphFlexBox.cjs +120 -81
  175. package/dist/node/components/module/graph/GraphFlexBox.cjs.map +1 -1
  176. package/dist/node/components/module/graph/GraphFlexBox.d.cts +1 -0
  177. package/dist/node/components/module/graph/GraphFlexBox.d.cts.map +1 -1
  178. package/dist/node/components/module/graph/GraphFlexBox.d.mts +1 -0
  179. package/dist/node/components/module/graph/GraphFlexBox.d.mts.map +1 -1
  180. package/dist/node/components/module/graph/GraphFlexBox.d.ts +1 -0
  181. package/dist/node/components/module/graph/GraphFlexBox.d.ts.map +1 -1
  182. package/dist/node/components/module/graph/GraphFlexBox.js +118 -80
  183. package/dist/node/components/module/graph/GraphFlexBox.js.map +1 -1
  184. package/dist/node/components/module/graph/NodeHover.cjs +17 -10
  185. package/dist/node/components/module/graph/NodeHover.cjs.map +1 -1
  186. package/dist/node/components/module/graph/NodeHover.d.cts.map +1 -1
  187. package/dist/node/components/module/graph/NodeHover.d.mts.map +1 -1
  188. package/dist/node/components/module/graph/NodeHover.d.ts.map +1 -1
  189. package/dist/node/components/module/graph/NodeHover.js +20 -13
  190. package/dist/node/components/module/graph/NodeHover.js.map +1 -1
  191. package/dist/node/components/module/graph/Popper.cjs +2 -2
  192. package/dist/node/components/module/graph/Popper.cjs.map +1 -1
  193. package/dist/node/components/module/graph/Popper.d.cts +1 -1
  194. package/dist/node/components/module/graph/Popper.d.cts.map +1 -1
  195. package/dist/node/components/module/graph/Popper.d.mts +1 -1
  196. package/dist/node/components/module/graph/Popper.d.mts.map +1 -1
  197. package/dist/node/components/module/graph/Popper.d.ts +1 -1
  198. package/dist/node/components/module/graph/Popper.d.ts.map +1 -1
  199. package/dist/node/components/module/graph/Popper.js +3 -3
  200. package/dist/node/components/module/graph/Popper.js.map +1 -1
  201. package/dist/node/components/module/graph/index.cjs +120 -81
  202. package/dist/node/components/module/graph/index.cjs.map +1 -1
  203. package/dist/node/components/module/graph/index.js +118 -80
  204. package/dist/node/components/module/graph/index.js.map +1 -1
  205. package/dist/node/components/module/index.cjs +120 -81
  206. package/dist/node/components/module/index.cjs.map +1 -1
  207. package/dist/node/components/module/index.js +118 -80
  208. package/dist/node/components/module/index.js.map +1 -1
  209. package/dist/node/hooks/cytoscape/index.cjs +46 -28
  210. package/dist/node/hooks/cytoscape/index.cjs.map +1 -1
  211. package/dist/node/hooks/cytoscape/index.js +42 -24
  212. package/dist/node/hooks/cytoscape/index.js.map +1 -1
  213. package/dist/node/hooks/cytoscape/useCytoscapeElements.cjs +5 -5
  214. package/dist/node/hooks/cytoscape/useCytoscapeElements.cjs.map +1 -1
  215. package/dist/node/hooks/cytoscape/useCytoscapeElements.js +5 -5
  216. package/dist/node/hooks/cytoscape/useCytoscapeElements.js.map +1 -1
  217. package/dist/node/hooks/cytoscape/useCytoscapeOptions.cjs +5 -3
  218. package/dist/node/hooks/cytoscape/useCytoscapeOptions.cjs.map +1 -1
  219. package/dist/node/hooks/cytoscape/useCytoscapeOptions.d.cts.map +1 -1
  220. package/dist/node/hooks/cytoscape/useCytoscapeOptions.d.mts.map +1 -1
  221. package/dist/node/hooks/cytoscape/useCytoscapeOptions.d.ts.map +1 -1
  222. package/dist/node/hooks/cytoscape/useCytoscapeOptions.js +5 -3
  223. package/dist/node/hooks/cytoscape/useCytoscapeOptions.js.map +1 -1
  224. package/dist/node/hooks/cytoscape/useCytoscapeStyle.cjs.map +1 -1
  225. package/dist/node/hooks/cytoscape/useCytoscapeStyle.js.map +1 -1
  226. package/dist/node/hooks/cytoscape/useNewElements.cjs +5 -22
  227. package/dist/node/hooks/cytoscape/useNewElements.cjs.map +1 -1
  228. package/dist/node/hooks/cytoscape/useNewElements.d.cts.map +1 -1
  229. package/dist/node/hooks/cytoscape/useNewElements.d.mts.map +1 -1
  230. package/dist/node/hooks/cytoscape/useNewElements.d.ts.map +1 -1
  231. package/dist/node/hooks/cytoscape/useNewElements.js +5 -22
  232. package/dist/node/hooks/cytoscape/useNewElements.js.map +1 -1
  233. package/dist/node/hooks/cytoscape/useRelationalGraphOptions.cjs +10 -8
  234. package/dist/node/hooks/cytoscape/useRelationalGraphOptions.cjs.map +1 -1
  235. package/dist/node/hooks/cytoscape/useRelationalGraphOptions.js +10 -8
  236. package/dist/node/hooks/cytoscape/useRelationalGraphOptions.js.map +1 -1
  237. package/dist/node/hooks/cytoscape/useSelectedElement.cjs +30 -3
  238. package/dist/node/hooks/cytoscape/useSelectedElement.cjs.map +1 -1
  239. package/dist/node/hooks/cytoscape/useSelectedElement.d.cts.map +1 -1
  240. package/dist/node/hooks/cytoscape/useSelectedElement.d.mts.map +1 -1
  241. package/dist/node/hooks/cytoscape/useSelectedElement.d.ts.map +1 -1
  242. package/dist/node/hooks/cytoscape/useSelectedElement.js +30 -3
  243. package/dist/node/hooks/cytoscape/useSelectedElement.js.map +1 -1
  244. package/dist/node/hooks/cytoscape/useToggleSelectedElement.cjs +61 -0
  245. package/dist/node/hooks/cytoscape/useToggleSelectedElement.cjs.map +1 -0
  246. package/dist/node/hooks/cytoscape/useToggleSelectedElement.d.cts +4 -0
  247. package/dist/node/hooks/cytoscape/useToggleSelectedElement.d.cts.map +1 -0
  248. package/dist/node/hooks/cytoscape/useToggleSelectedElement.d.mts +4 -0
  249. package/dist/node/hooks/cytoscape/useToggleSelectedElement.d.mts.map +1 -0
  250. package/dist/node/hooks/cytoscape/useToggleSelectedElement.d.ts +4 -0
  251. package/dist/node/hooks/cytoscape/useToggleSelectedElement.d.ts.map +1 -0
  252. package/dist/node/hooks/cytoscape/useToggleSelectedElement.js +36 -0
  253. package/dist/node/hooks/cytoscape/useToggleSelectedElement.js.map +1 -0
  254. package/dist/node/hooks/index.cjs +46 -28
  255. package/dist/node/hooks/index.cjs.map +1 -1
  256. package/dist/node/hooks/index.js +42 -24
  257. package/dist/node/hooks/index.js.map +1 -1
  258. package/dist/node/index.cjs +128 -81
  259. package/dist/node/index.cjs.map +1 -1
  260. package/dist/node/index.d.cts +1 -0
  261. package/dist/node/index.d.cts.map +1 -1
  262. package/dist/node/index.d.mts +1 -0
  263. package/dist/node/index.d.mts.map +1 -1
  264. package/dist/node/index.d.ts +1 -0
  265. package/dist/node/index.d.ts.map +1 -1
  266. package/dist/node/index.js +123 -81
  267. package/dist/node/index.js.map +1 -1
  268. package/package.json +27 -27
  269. package/src/Cytoscape/CytoscapeElements.ts +4 -4
  270. package/src/Cytoscape/CytoscapeStyles.ts +2 -0
  271. package/src/components/RelationalGraph.stories.tsx +4 -1
  272. package/src/components/RelationalGraph.tsx +14 -6
  273. package/src/components/module/graph/GraphFlexBox.stories.tsx +7 -10
  274. package/src/components/module/graph/GraphFlexBox.tsx +9 -0
  275. package/src/components/module/graph/NodeHover.tsx +32 -20
  276. package/src/components/module/graph/Popper.tsx +14 -10
  277. package/src/hooks/cytoscape/useCytoscapeOptions.ts +6 -3
  278. package/src/hooks/cytoscape/useNewElements.tsx +0 -10
  279. package/src/hooks/cytoscape/useSelectedElement.tsx +8 -3
  280. package/src/hooks/cytoscape/useToggleSelectedElement.tsx +30 -0
  281. package/src/index.ts +1 -0
@@ -32,6 +32,7 @@ var components_exports = {};
32
32
  __export(components_exports, {
33
33
  ModuleCardParser: () => ModuleCardParser,
34
34
  ModuleGraphFlexBox: () => ModuleGraphFlexBox,
35
+ ModuleGraphFlexBoxWithProvider: () => ModuleGraphFlexBoxWithProvider,
35
36
  NodeRelationalGraph: () => NodeRelationalGraph,
36
37
  NodeRelationalGraphFlexBox: () => NodeRelationalGraphFlexBox,
37
38
  ProvidedNodeRenderer: () => ProvidedNodeRenderer
@@ -56,12 +57,31 @@ var ModuleCardParser = ({ module: module2 }) => {
56
57
  };
57
58
 
58
59
  // src/components/module/graph/GraphFlexBox.tsx
59
- var import_material5 = require("@mui/material");
60
+ var import_material6 = require("@mui/material");
61
+
62
+ // src/contexts/CytoscapeInstance/Context.ts
63
+ var import_react_shared = require("@xyo-network/react-shared");
64
+ var CytoscapeInstanceContext = (0, import_react_shared.createContextEx)();
65
+
66
+ // src/contexts/CytoscapeInstance/Provider.tsx
67
+ var import_react = require("react");
68
+ var import_jsx_runtime2 = require("react/jsx-runtime");
69
+ var CytoscapeInstanceProvider = ({ children, defaultInstance }) => {
70
+ const [cy, setCy] = (0, import_react.useState)(defaultInstance);
71
+ (0, import_react.useEffect)(() => {
72
+ setCy(defaultInstance);
73
+ }, [defaultInstance]);
74
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(CytoscapeInstanceContext.Provider, { value: { cy, provided: true, setCy }, children });
75
+ };
76
+
77
+ // src/contexts/CytoscapeInstance/use.ts
78
+ var import_react_shared2 = require("@xyo-network/react-shared");
79
+ var useCytoscapeInstance = (required = false) => (0, import_react_shared2.useContextEx)(CytoscapeInstanceContext, "CytoscapeInstance", required);
60
80
 
61
81
  // src/hooks/cytoscape/useCytoscapeElements.ts
62
82
  var import_react_async_effect = require("@xylabs/react-async-effect");
63
83
  var import_node_model3 = require("@xyo-network/node-model");
64
- var import_react = require("react");
84
+ var import_react2 = require("react");
65
85
 
66
86
  // src/Cytoscape/CytoscapeElements.ts
67
87
  var import_node_model2 = require("@xyo-network/node-model");
@@ -158,7 +178,7 @@ var CytoscapeElements = class _CytoscapeElements {
158
178
  try {
159
179
  const childElements = await _CytoscapeElements.recurseNodes(module2);
160
180
  childElements == null ? void 0 : childElements.forEach((module3) => {
161
- const newNode = _CytoscapeElements.buildNode(module3, newRootNode.data.id);
181
+ const newNode = _CytoscapeElements.buildNode(module3, { rootNodeId: newRootNode.data.id });
162
182
  newElements.push(newNode);
163
183
  const newEdge = _CytoscapeElements.buildEdge(newRootNode, newNode);
164
184
  newElements.push(newEdge);
@@ -169,7 +189,7 @@ var CytoscapeElements = class _CytoscapeElements {
169
189
  return [];
170
190
  }
171
191
  }
172
- static buildNode(module2, rootNodeId) {
192
+ static buildNode(module2, properties) {
173
193
  const { address, config } = module2;
174
194
  const normalizedName = config.name ?? address.substring(0, 8);
175
195
  return {
@@ -177,13 +197,13 @@ var CytoscapeElements = class _CytoscapeElements {
177
197
  address,
178
198
  id: address,
179
199
  name: normalizedName,
180
- rootNodeId,
181
- type: parseModuleType(module2)
200
+ type: parseModuleType(module2),
201
+ ...properties
182
202
  }
183
203
  };
184
204
  }
185
205
  static buildRootNode = (module2) => {
186
- return _CytoscapeElements.buildNode(module2);
206
+ return _CytoscapeElements.buildNode(module2, { root: true });
187
207
  };
188
208
  static normalizeName(name) {
189
209
  if (!name)
@@ -263,10 +283,11 @@ var EdgeStyled = (lineColor, targetArrowColor) => ({
263
283
  width: 3
264
284
  }
265
285
  });
286
+ var NodeBgStyles = (bgColor) => ["background-color", bgColor];
266
287
 
267
288
  // src/hooks/cytoscape/useCytoscapeElements.ts
268
289
  var useCytoscapeElements = (module2) => {
269
- const [elements, setElements] = (0, import_react.useState)([]);
290
+ const [elements, setElements] = (0, import_react2.useState)([]);
270
291
  (0, import_react_async_effect.useAsyncEffect)(
271
292
  // eslint-disable-next-line react-hooks/exhaustive-deps
272
293
  async () => {
@@ -277,7 +298,7 @@ var useCytoscapeElements = (module2) => {
277
298
  },
278
299
  [module2]
279
300
  );
280
- (0, import_react.useEffect)(() => {
301
+ (0, import_react2.useEffect)(() => {
281
302
  let attachedListener = void 0;
282
303
  let detachedListener = void 0;
283
304
  if (module2 && (0, import_node_model3.isNodeInstance)(module2)) {
@@ -299,22 +320,22 @@ var useCytoscapeElements = (module2) => {
299
320
  };
300
321
 
301
322
  // src/hooks/cytoscape/useCytoscapeOptions.ts
302
- var import_react4 = require("react");
323
+ var import_react5 = require("react");
303
324
 
304
325
  // src/hooks/cytoscape/useCytoscapeStyle.tsx
305
326
  var import_material2 = require("@mui/material");
306
- var import_react3 = require("react");
327
+ var import_react4 = require("react");
307
328
 
308
329
  // src/hooks/cytoscape/useIcons.tsx
309
330
  var import_material = require("@mui/material");
310
- var import_react2 = require("react");
311
- var import_jsx_runtime2 = require("react/jsx-runtime");
331
+ var import_react3 = require("react");
332
+ var import_jsx_runtime3 = require("react/jsx-runtime");
312
333
  var useIcons = () => {
313
334
  const theme = (0, import_material.useTheme)();
314
- const icons = (0, import_react2.useMemo)(() => {
335
+ const icons = (0, import_react3.useMemo)(() => {
315
336
  const iconMap = generateIconMap();
316
337
  return Object.entries(CyIconSet).reduce((acc, [name, IconComponent]) => {
317
- const icon = /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(IconComponent, { fontSize: "small" });
338
+ const icon = /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(IconComponent, { fontSize: "small" });
318
339
  acc[name] = encodeSvg(icon, theme.palette.getContrastText(theme.palette.text.primary));
319
340
  return acc;
320
341
  }, iconMap);
@@ -326,7 +347,7 @@ var useIcons = () => {
326
347
  var useCytoscapeStyle = (hideLabels = false) => {
327
348
  const theme = (0, import_material2.useTheme)();
328
349
  const icons = useIcons();
329
- const style = (0, import_react3.useMemo)(
350
+ const style = (0, import_react4.useMemo)(
330
351
  () => [
331
352
  NodeIdStyles(theme.palette.text.primary, theme.palette.getContrastText(theme.palette.text.primary)),
332
353
  NodeStyled(icons, theme.palette.primary.main, hideLabels),
@@ -340,12 +361,14 @@ var useCytoscapeStyle = (hideLabels = false) => {
340
361
  // src/hooks/cytoscape/useCytoscapeOptions.ts
341
362
  var useCytoscapeOptions = (elements, style, layout) => {
342
363
  const defaultStyle = useCytoscapeStyle();
343
- const options = (0, import_react4.useMemo)(() => {
344
- if (elements && layout && style) {
364
+ const resolvedLayout = layout ?? ConcentricLayout;
365
+ const resolvedStyle = style ?? defaultStyle;
366
+ const options = (0, import_react5.useMemo)(() => {
367
+ if (elements && resolvedLayout && resolvedStyle) {
345
368
  return {
346
369
  elements,
347
- layout: layout ?? ConcentricLayout,
348
- style: style ?? defaultStyle
370
+ layout: resolvedLayout,
371
+ style: resolvedStyle
349
372
  };
350
373
  }
351
374
  }, [elements, layout, style]);
@@ -353,21 +376,11 @@ var useCytoscapeOptions = (elements, style, layout) => {
353
376
  };
354
377
 
355
378
  // src/hooks/cytoscape/useHoveredNode.tsx
356
- var import_react5 = require("react");
357
-
358
- // src/contexts/CytoscapeInstance/Context.ts
359
- var import_react_shared = require("@xyo-network/react-shared");
360
- var CytoscapeInstanceContext = (0, import_react_shared.createContextEx)();
361
-
362
- // src/contexts/CytoscapeInstance/use.ts
363
- var import_react_shared2 = require("@xyo-network/react-shared");
364
- var useCytoscapeInstance = (required = false) => (0, import_react_shared2.useContextEx)(CytoscapeInstanceContext, "CytoscapeInstance", required);
365
-
366
- // src/hooks/cytoscape/useHoveredNode.tsx
379
+ var import_react6 = require("react");
367
380
  var useHoveredNode = (renderedElements) => {
368
381
  const { cy } = useCytoscapeInstance(true);
369
- const [hoveredNode, setHoveredNode] = (0, import_react5.useState)();
370
- const nodeListener = (0, import_react5.useCallback)((node) => {
382
+ const [hoveredNode, setHoveredNode] = (0, import_react6.useState)();
383
+ const nodeListener = (0, import_react6.useCallback)((node) => {
371
384
  node.on("mouseover tap", () => {
372
385
  setHoveredNode(node);
373
386
  });
@@ -375,12 +388,12 @@ var useHoveredNode = (renderedElements) => {
375
388
  setHoveredNode(void 0);
376
389
  });
377
390
  }, []);
378
- (0, import_react5.useEffect)(() => {
391
+ (0, import_react6.useEffect)(() => {
379
392
  if (renderedElements) {
380
393
  renderedElements.nodes().forEach(nodeListener);
381
394
  }
382
395
  }, [nodeListener, renderedElements]);
383
- (0, import_react5.useEffect)(() => {
396
+ (0, import_react6.useEffect)(() => {
384
397
  cy == null ? void 0 : cy.ready(() => {
385
398
  cy.nodes().forEach(nodeListener);
386
399
  });
@@ -390,19 +403,10 @@ var useHoveredNode = (renderedElements) => {
390
403
 
391
404
  // src/hooks/cytoscape/useNewElements.tsx
392
405
  var import_react_node = require("@xyo-network/react-node");
393
- var import_react6 = require("react");
394
406
  var useNewElements = (selectedElement) => {
395
- const { cy } = useCytoscapeInstance(true);
396
407
  const { address: selectedAddress } = (selectedElement == null ? void 0 : selectedElement.data()) ?? {};
397
408
  const [module2] = (0, import_react_node.useModuleFromNode)(selectedAddress);
398
409
  const newElements = useCytoscapeElements(module2);
399
- (0, import_react6.useEffect)(() => {
400
- if (selectedAddress) {
401
- const element = cy == null ? void 0 : cy.$(`node[id="${selectedAddress}"]`);
402
- if (element == null ? void 0 : element.length)
403
- cy == null ? void 0 : cy.center(element);
404
- }
405
- }, [cy, selectedAddress]);
406
410
  return newElements;
407
411
  };
408
412
 
@@ -436,20 +440,44 @@ var useRenderNewElements = (newElements = [], hideLabels) => {
436
440
 
437
441
  // src/hooks/cytoscape/useSelectedElement.tsx
438
442
  var import_react9 = require("react");
443
+
444
+ // src/hooks/cytoscape/useToggleSelectedElement.tsx
445
+ var import_material3 = require("@mui/material");
446
+ var useToggleSelectedElement = (setSelectedElement) => {
447
+ const { cy } = useCytoscapeInstance(true);
448
+ const theme = (0, import_material3.useTheme)();
449
+ const updateStyles = (element, styles) => {
450
+ cy == null ? void 0 : cy.style().selector(`node[id="${element.data().id}"]`).style(...styles);
451
+ };
452
+ const toggleSelectedElement = (element) => {
453
+ setSelectedElement((previousSelectedElement) => {
454
+ if (previousSelectedElement) {
455
+ updateStyles(previousSelectedElement, NodeBgStyles(theme.palette.primary.main));
456
+ }
457
+ return element;
458
+ });
459
+ updateStyles(element, NodeBgStyles(theme.palette.secondary.main));
460
+ };
461
+ return toggleSelectedElement;
462
+ };
463
+
464
+ // src/hooks/cytoscape/useSelectedElement.tsx
439
465
  var useSelectedElement = () => {
440
466
  const { cy } = useCytoscapeInstance(true);
441
467
  const [selectedElement, setSelectedElement] = (0, import_react9.useState)();
468
+ const toggleSelectedElement = useToggleSelectedElement(setSelectedElement);
442
469
  (0, import_react9.useEffect)(() => {
443
470
  const listener = (event) => {
444
471
  const element = event.target[0];
445
- if (element.isNode())
446
- setSelectedElement(element);
472
+ if (element.isNode()) {
473
+ toggleSelectedElement(element);
474
+ }
447
475
  };
448
476
  cy == null ? void 0 : cy.on("select", listener);
449
477
  return () => {
450
478
  cy == null ? void 0 : cy.off("select", listener);
451
479
  };
452
- }, [cy, setSelectedElement]);
480
+ }, [cy, toggleSelectedElement]);
453
481
  return selectedElement;
454
482
  };
455
483
 
@@ -457,23 +485,23 @@ var useSelectedElement = () => {
457
485
  var import_cytoscape = require("cytoscape");
458
486
  var import_cytoscape_cola = __toESM(require("cytoscape-cola"), 1);
459
487
  var import_react10 = require("react");
460
- var import_jsx_runtime3 = require("react/jsx-runtime");
488
+ var import_jsx_runtime4 = require("react/jsx-runtime");
461
489
  var WithExtensions = ({ children }) => {
462
490
  const [initialized, setInitialized] = (0, import_react10.useState)(false);
463
491
  (0, import_react10.useEffect)(() => {
464
492
  (0, import_cytoscape.use)(import_cytoscape_cola.default);
465
493
  setInitialized(true);
466
494
  }, []);
467
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, { children: initialized ? children : void 0 });
495
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: initialized ? children : void 0 });
468
496
  };
469
497
 
470
498
  // src/components/RelationalGraph.tsx
471
- var import_material3 = require("@mui/material");
499
+ var import_material4 = require("@mui/material");
472
500
  var import_react_flexbox = require("@xylabs/react-flexbox");
473
501
  var import_react_shared3 = require("@xyo-network/react-shared");
474
502
  var import_cytoscape2 = __toESM(require("cytoscape"), 1);
475
503
  var import_react11 = require("react");
476
- var import_jsx_runtime4 = require("react/jsx-runtime");
504
+ var import_jsx_runtime5 = require("react/jsx-runtime");
477
505
  var NodeRelationalGraphFlexBox = (0, import_react11.forwardRef)(({ actions, children, options, ...props }, ref) => {
478
506
  const [cy, setCy] = (0, import_react11.useState)();
479
507
  const { setCy: setCyContext } = useCytoscapeInstance();
@@ -494,17 +522,17 @@ var NodeRelationalGraphFlexBox = (0, import_react11.forwardRef)(({ actions, chil
494
522
  (0, import_react11.useEffect)(() => {
495
523
  setCyContext == null ? void 0 : setCyContext(cy);
496
524
  }, [cy, setCyContext]);
497
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_react_flexbox.FlexCol, { ...props, children: [
498
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ActionsContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_material3.ButtonGroup, { children: [
525
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react_flexbox.FlexCol, { ...props, children: [
526
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ActionsContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children: actions ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_material4.ButtonGroup, { children: [
499
527
  actions,
500
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material3.Button, { size: "small", variant: "contained", onClick: handleReset, children: "Reset" })
501
- ] }) }),
502
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_flexbox.FlexCol, { alignItems: "stretch", height: "100%", position: "absolute", ref: sharedRef, width: "100%" }),
528
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material4.Button, { size: "small", variant: "contained", onClick: handleReset, children: "Reset View" })
529
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material4.Button, { size: "small", variant: "contained", onClick: handleReset, children: "Reset" }) }) }),
530
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_flexbox.FlexCol, { alignItems: "stretch", height: "100%", position: "absolute", ref: sharedRef, width: "100%" }),
503
531
  children
504
532
  ] });
505
533
  });
506
534
  NodeRelationalGraphFlexBox.displayName = "NodeRelationalGraph";
507
- var ActionsContainer = (0, import_material3.styled)(import_react_flexbox.FlexRow, { name: "ActionsContainer" })(({ theme }) => ({
535
+ var ActionsContainer = (0, import_material4.styled)(import_react_flexbox.FlexRow, { name: "ActionsContainer" })(({ theme }) => ({
508
536
  flexWrap: "wrap",
509
537
  gap: theme.spacing(1),
510
538
  position: "absolute",
@@ -515,34 +543,37 @@ var ActionsContainer = (0, import_material3.styled)(import_react_flexbox.FlexRow
515
543
  var NodeRelationalGraph = NodeRelationalGraphFlexBox;
516
544
 
517
545
  // src/components/module/graph/NodeHover.tsx
546
+ var import_react_flexbox3 = require("@xylabs/react-flexbox");
518
547
  var import_react12 = require("react");
519
548
 
520
549
  // src/components/module/graph/Popper.tsx
521
- var import_material4 = require("@mui/material");
550
+ var import_material5 = require("@mui/material");
522
551
  var import_react_flexbox2 = require("@xylabs/react-flexbox");
523
552
  var import_react_identicon = require("@xylabs/react-identicon");
524
- var import_jsx_runtime5 = require("react/jsx-runtime");
553
+ var import_jsx_runtime6 = require("react/jsx-runtime");
525
554
  var ModuleHoverPopper = ({ address, element, name, ...props }) => {
526
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material4.Popper, { anchorEl: element, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react_flexbox2.FlexCol, { gap: 2, p: 2, paper: true, sx: { backgroundColor: (theme) => (0, import_material4.alpha)(theme.palette.background.paper, 0.95) }, children: [
527
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react_flexbox2.FlexRow, { gap: 2, children: [
528
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_identicon.Identicon, { value: address, size: 24 }),
529
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material4.Typography, { children: name })
555
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: element ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_material5.Popper, { anchorEl: element, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react_flexbox2.FlexCol, { gap: 2, p: 2, paper: true, sx: { backgroundColor: (theme) => (0, import_material5.alpha)(theme.palette.background.paper, 0.95) }, children: [
556
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react_flexbox2.FlexRow, { gap: 2, children: [
557
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react_identicon.Identicon, { value: address, size: 24 }),
558
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_material5.Typography, { children: name })
530
559
  ] }),
531
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material4.Chip, { label: address, color: "primary" })
532
- ] }) });
560
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_material5.Chip, { label: address, color: "primary" })
561
+ ] }) }) : null });
533
562
  };
534
563
 
535
564
  // src/components/module/graph/NodeHover.tsx
536
- var import_jsx_runtime6 = require("react/jsx-runtime");
565
+ var import_jsx_runtime7 = require("react/jsx-runtime");
537
566
  var ModuleGraphNodeHover = ({ node }) => {
538
567
  const { address, name } = (node == null ? void 0 : node.data()) ?? {};
539
568
  const [boundingBox, setBoundingBox] = (0, import_react12.useState)(node == null ? void 0 : node.renderedBoundingBox());
540
569
  const ref = (0, import_react12.useRef)(null);
541
570
  const [currentEl, setCurrentEl] = (0, import_react12.useState)(null);
542
- (0, import_react12.useLayoutEffect)(() => {
543
- if (node && ref.current) {
571
+ (0, import_react12.useEffect)(() => {
572
+ setCurrentEl(null);
573
+ }, [node]);
574
+ (0, import_react12.useEffect)(() => {
575
+ if (node) {
544
576
  setBoundingBox(node.renderedBoundingBox());
545
- setCurrentEl(ref.current);
546
577
  }
547
578
  const listener = () => {
548
579
  setBoundingBox(node == null ? void 0 : node.renderedBoundingBox());
@@ -552,12 +583,16 @@ var ModuleGraphNodeHover = ({ node }) => {
552
583
  node == null ? void 0 : node.off("position", void 0, listener);
553
584
  };
554
585
  }, [node]);
555
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: node ? /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
556
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
557
- "div",
586
+ (0, import_react12.useLayoutEffect)(() => {
587
+ setCurrentEl(ref.current);
588
+ }, [boundingBox]);
589
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
590
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
591
+ import_react_flexbox3.FlexCol,
558
592
  {
559
593
  ref,
560
- style: {
594
+ sx: {
595
+ // For easier debugging of the 'ghost' element that matches the hovered cytoscape node
561
596
  // backgroundColor: '#fff',
562
597
  // opacity: 0.25,
563
598
  cursor: "pointer",
@@ -570,42 +605,46 @@ var ModuleGraphNodeHover = ({ node }) => {
570
605
  }
571
606
  }
572
607
  ),
573
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ModuleHoverPopper, { address, element: currentEl, name, placement: "top", open: true })
574
- ] }) : null });
608
+ node ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ModuleHoverPopper, { address, element: currentEl, name, placement: "top", open: true, sx: { zIndex: 2 } }) }) : null
609
+ ] });
575
610
  };
576
611
 
577
612
  // src/components/module/graph/GraphFlexBox.tsx
578
- var import_jsx_runtime7 = require("react/jsx-runtime");
613
+ var import_jsx_runtime8 = require("react/jsx-runtime");
579
614
  var ModuleGraphFlexBox = ({ rootModule, ...props }) => {
580
615
  const { handleToggleLabels, hideLabels, options } = useRelationalGraphOptions(rootModule ?? void 0);
581
616
  const selectedElement = useSelectedElement();
582
617
  const newElements = useNewElements(selectedElement);
583
618
  const renderedElements = useRenderNewElements(newElements, hideLabels);
584
619
  const hoveredNode = useHoveredNode(renderedElements);
585
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(WithExtensions, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
620
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(WithExtensions, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
586
621
  NodeRelationalGraphFlexBox,
587
622
  {
588
- actions: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_material5.Button, { size: "small", onClick: handleToggleLabels, variant: "contained", children: "Toggle Labels" }),
623
+ actions: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_material6.Button, { size: "small", onClick: handleToggleLabels, variant: "contained", children: "Toggle Labels" }),
589
624
  options,
590
625
  ...props,
591
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ModuleGraphNodeHover, { node: hoveredNode })
626
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ModuleGraphNodeHover, { node: hoveredNode })
592
627
  }
593
628
  ) });
594
629
  };
630
+ var ModuleGraphFlexBoxWithProvider = (props) => {
631
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CytoscapeInstanceProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ModuleGraphFlexBox, { ...props }) });
632
+ };
595
633
 
596
634
  // src/components/ProvidedNodeRenderer.tsx
597
635
  var import_react_node2 = require("@xyo-network/react-node");
598
- var import_jsx_runtime8 = require("react/jsx-runtime");
636
+ var import_jsx_runtime9 = require("react/jsx-runtime");
599
637
  var ProvidedNodeRenderer = ({ node, ...props }) => {
600
638
  const [providedNode] = (0, import_react_node2.useProvidedNode)();
601
639
  const elements = useCytoscapeElements(node ?? providedNode);
602
640
  const options = useCytoscapeOptions(elements);
603
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(NodeRelationalGraphFlexBox, { alignItems: "stretch", flexGrow: 1, height: "100%", options, ...props });
641
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(NodeRelationalGraphFlexBox, { alignItems: "stretch", flexGrow: 1, height: "100%", options, ...props });
604
642
  };
605
643
  // Annotate the CommonJS export names for ESM import in node:
606
644
  0 && (module.exports = {
607
645
  ModuleCardParser,
608
646
  ModuleGraphFlexBox,
647
+ ModuleGraphFlexBoxWithProvider,
609
648
  NodeRelationalGraph,
610
649
  NodeRelationalGraphFlexBox,
611
650
  ProvidedNodeRenderer