@reltio/components 1.4.1844 → 1.4.1845

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 (305) hide show
  1. package/cjs/EmptyState/EmptyState.d.ts +1 -0
  2. package/cjs/EmptyState/EmptyState.js +3 -1
  3. package/cjs/features/graph/DataModelGraph/DataModelGraph.d.ts +12 -0
  4. package/cjs/features/graph/DataModelGraph/DataModelGraph.js +28 -0
  5. package/cjs/features/graph/DataModelGraph/DataModelGraph.test.d.ts +1 -0
  6. package/cjs/features/graph/DataModelGraph/DataModelGraph.test.js +63 -0
  7. package/cjs/features/graph/DataModelGraph/components/DataModelCircleLayout/DataModelCircleLayuot.d.ts +11 -0
  8. package/cjs/features/graph/DataModelGraph/components/DataModelCircleLayout/DataModelCircleLayuot.js +21 -0
  9. package/cjs/features/graph/DataModelGraph/helpers/edgeLabelHelpers.d.ts +9 -0
  10. package/cjs/features/graph/DataModelGraph/helpers/edgeLabelHelpers.js +38 -0
  11. package/cjs/features/graph/DataModelGraph/helpers/edgeLabelHelpers.test.d.ts +1 -0
  12. package/cjs/features/graph/DataModelGraph/helpers/edgeLabelHelpers.test.js +74 -0
  13. package/cjs/features/graph/DataModelGraph/hooks/defaultGraph.test-data.d.ts +2 -0
  14. package/cjs/features/graph/DataModelGraph/hooks/defaultGraph.test-data.js +52 -0
  15. package/cjs/features/graph/DataModelGraph/hooks/useDataModelGraphAppearance.d.ts +17 -0
  16. package/cjs/features/graph/DataModelGraph/hooks/useDataModelGraphAppearance.js +139 -0
  17. package/cjs/features/graph/DataModelGraph/hooks/useDataModelGraphAppearance.test.d.ts +1 -0
  18. package/cjs/features/graph/DataModelGraph/hooks/useDataModelGraphAppearance.test.js +192 -0
  19. package/cjs/features/graph/DataModelGraph/hooks/useEdgeLabelsRenderer.d.ts +10 -0
  20. package/cjs/features/graph/DataModelGraph/hooks/useEdgeLabelsRenderer.js +171 -0
  21. package/cjs/features/graph/DataModelGraph/hooks/useEdgeLabelsRenderer.test.d.ts +1 -0
  22. package/cjs/features/graph/DataModelGraph/hooks/useEdgeLabelsRenderer.test.js +176 -0
  23. package/cjs/features/graph/DataModelGraph/hooks/useFakeCenterNode.d.ts +8 -0
  24. package/cjs/features/graph/DataModelGraph/hooks/useFakeCenterNode.js +36 -0
  25. package/cjs/features/graph/DataModelGraph/hooks/useFakeCenterNode.test.d.ts +1 -0
  26. package/cjs/features/graph/DataModelGraph/hooks/useFakeCenterNode.test.js +37 -0
  27. package/cjs/features/graph/DataModelGraph/hooks/useSelectedNodeRenderer.d.ts +2 -0
  28. package/cjs/features/graph/DataModelGraph/hooks/useSelectedNodeRenderer.js +41 -0
  29. package/cjs/features/graph/DataModelGraph/hooks/useSelectedNodeRenderer.test.d.ts +1 -0
  30. package/cjs/features/graph/DataModelGraph/hooks/useSelectedNodeRenderer.test.js +63 -0
  31. package/cjs/features/graph/DataModelGraph/icons/interaction.inline.svg.d.ts +1 -0
  32. package/cjs/features/graph/DataModelGraph/icons/interaction.inline.svg.js +4 -0
  33. package/cjs/features/graph/DataModelGraph/index.d.ts +1 -0
  34. package/cjs/features/graph/DataModelGraph/index.js +5 -0
  35. package/cjs/features/graph/DataModelGraph/styles.d.ts +1 -0
  36. package/cjs/features/graph/DataModelGraph/styles.js +26 -0
  37. package/cjs/features/graph/SigmaCustomRenderersContainer/SigmaCustomRenderersContainer.d.ts +6 -0
  38. package/cjs/features/graph/SigmaCustomRenderersContainer/SigmaCustomRenderersContainer.js +15 -0
  39. package/cjs/features/graph/SigmaCustomRenderersContainer/index.d.ts +1 -0
  40. package/cjs/features/graph/SigmaCustomRenderersContainer/index.js +5 -0
  41. package/cjs/features/graph/SigmaGraphContainer/SigmaGraphContainer.d.ts +9 -0
  42. package/cjs/features/graph/SigmaGraphContainer/SigmaGraphContainer.js +86 -0
  43. package/cjs/features/graph/SigmaGraphContainer/SigmaGraphContainer.test.d.ts +1 -0
  44. package/cjs/features/graph/SigmaGraphContainer/SigmaGraphContainer.test.js +26 -0
  45. package/cjs/features/graph/SigmaGraphContainer/index.d.ts +1 -0
  46. package/cjs/features/graph/SigmaGraphContainer/index.js +5 -0
  47. package/cjs/features/graph/SigmaGraphResizer/SigmaGraphResizer.d.ts +1 -0
  48. package/cjs/features/graph/SigmaGraphResizer/SigmaGraphResizer.js +40 -0
  49. package/cjs/features/graph/SigmaGraphResizer/SigmaGraphResizer.test.d.ts +1 -0
  50. package/cjs/features/graph/SigmaGraphResizer/SigmaGraphResizer.test.js +37 -0
  51. package/cjs/features/graph/SigmaGraphResizer/index.d.ts +1 -0
  52. package/cjs/features/graph/SigmaGraphResizer/index.js +5 -0
  53. package/cjs/features/graph/ZoomSlider/ZoomSlider.d.ts +7 -0
  54. package/cjs/features/graph/ZoomSlider/ZoomSlider.js +113 -0
  55. package/cjs/features/graph/ZoomSlider/ZoomSlider.test.d.ts +1 -0
  56. package/cjs/features/graph/ZoomSlider/ZoomSlider.test.js +83 -0
  57. package/cjs/features/graph/ZoomSlider/index.d.ts +1 -0
  58. package/cjs/features/graph/ZoomSlider/index.js +5 -0
  59. package/cjs/features/graph/ZoomSlider/styles.d.ts +1 -0
  60. package/cjs/features/graph/ZoomSlider/styles.js +63 -0
  61. package/cjs/features/graph/contexts/SigmaCustomRenderersContext.d.ts +9 -0
  62. package/cjs/features/graph/contexts/SigmaCustomRenderersContext.js +15 -0
  63. package/cjs/features/graph/hooks/useAnimatedGraphLayout.d.ts +13 -0
  64. package/cjs/features/graph/hooks/useAnimatedGraphLayout.js +35 -0
  65. package/cjs/features/graph/hooks/useCircleLayout.d.ts +9 -0
  66. package/cjs/features/graph/hooks/useCircleLayout.js +50 -0
  67. package/cjs/features/graph/hooks/useLoopRenderer.d.ts +5 -0
  68. package/cjs/features/graph/hooks/useLoopRenderer.js +47 -0
  69. package/cjs/features/graph/hooks/useLoopRenderer.test.d.ts +1 -0
  70. package/cjs/features/graph/hooks/useLoopRenderer.test.js +221 -0
  71. package/cjs/features/graph/hooks/useSigmaCustomRenderers.d.ts +7 -0
  72. package/cjs/features/graph/hooks/useSigmaCustomRenderers.js +95 -0
  73. package/cjs/features/graph/hooks/useSigmaCustomRenderers.test.d.ts +1 -0
  74. package/cjs/features/graph/hooks/useSigmaCustomRenderers.test.js +200 -0
  75. package/cjs/features/graph/index.d.ts +16 -0
  76. package/cjs/features/graph/index.js +34 -0
  77. package/cjs/features/graph/rendering/canvas/hover.d.ts +2 -0
  78. package/cjs/features/graph/rendering/canvas/hover.js +10 -0
  79. package/cjs/features/graph/rendering/canvas/hover.spec.d.ts +1 -0
  80. package/cjs/features/graph/rendering/canvas/hover.spec.js +26 -0
  81. package/cjs/features/graph/rendering/canvas/label.d.ts +7 -0
  82. package/cjs/features/graph/rendering/canvas/label.js +32 -0
  83. package/cjs/features/graph/rendering/canvas/label.spec.d.ts +1 -0
  84. package/cjs/features/graph/rendering/canvas/label.spec.js +81 -0
  85. package/cjs/features/graph/rendering/canvas/labelBackground.d.ts +9 -0
  86. package/cjs/features/graph/rendering/canvas/labelBackground.js +37 -0
  87. package/cjs/features/graph/rendering/canvas/labelBackground.spec.d.ts +1 -0
  88. package/cjs/features/graph/rendering/canvas/labelBackground.spec.js +92 -0
  89. package/cjs/features/graph/rendering/canvas/nodeArc.d.ts +10 -0
  90. package/cjs/features/graph/rendering/canvas/nodeArc.js +33 -0
  91. package/cjs/features/graph/rendering/canvas/selfRelationLoop.d.ts +11 -0
  92. package/cjs/features/graph/rendering/canvas/selfRelationLoop.js +73 -0
  93. package/cjs/features/graph/rendering/canvas/selfRelationLoop.spec.d.ts +1 -0
  94. package/cjs/features/graph/rendering/canvas/selfRelationLoop.spec.js +92 -0
  95. package/cjs/features/graph/rendering/canvas/tooltip.d.ts +2 -0
  96. package/cjs/features/graph/rendering/canvas/tooltip.js +28 -0
  97. package/cjs/features/graph/rendering/canvas/tooltip.spec.d.ts +1 -0
  98. package/cjs/features/graph/rendering/canvas/tooltip.spec.js +32 -0
  99. package/cjs/features/graph/rendering/canvas/utils.d.ts +4 -0
  100. package/cjs/features/graph/rendering/canvas/utils.js +10 -0
  101. package/cjs/features/graph/rendering/canvas/utils.spec.d.ts +1 -0
  102. package/cjs/features/graph/rendering/canvas/utils.spec.js +22 -0
  103. package/cjs/features/graph/rendering/icons/no_photo.inline.svg.d.ts +1 -0
  104. package/cjs/features/graph/rendering/icons/no_photo.inline.svg.js +4 -0
  105. package/cjs/features/graph/rendering/webgl/edge.arrowHead.d.ts +8 -0
  106. package/cjs/features/graph/rendering/webgl/edge.arrowHead.js +84 -0
  107. package/cjs/features/graph/rendering/webgl/edge.clamped.d.ts +29 -0
  108. package/cjs/features/graph/rendering/webgl/edge.clamped.js +176 -0
  109. package/cjs/features/graph/rendering/webgl/edge.dashed.d.ts +23 -0
  110. package/cjs/features/graph/rendering/webgl/edge.dashed.js +162 -0
  111. package/cjs/features/graph/rendering/webgl/edge.reversedArrowHead.d.ts +5 -0
  112. package/cjs/features/graph/rendering/webgl/edge.reversedArrowHead.js +32 -0
  113. package/cjs/features/graph/rendering/webgl/helpers/imageHelper.d.ts +17 -0
  114. package/cjs/features/graph/rendering/webgl/helpers/imageHelper.js +9 -0
  115. package/cjs/features/graph/rendering/webgl/helpers/imageHelper.spec.d.ts +1 -0
  116. package/cjs/features/graph/rendering/webgl/helpers/imageHelper.spec.js +29 -0
  117. package/cjs/features/graph/rendering/webgl/image.d.ts +17 -0
  118. package/cjs/features/graph/rendering/webgl/image.js +115 -0
  119. package/cjs/features/graph/rendering/webgl/node.border.d.ts +11 -0
  120. package/cjs/features/graph/rendering/webgl/node.border.js +79 -0
  121. package/cjs/features/graph/rendering/webgl/node.dashed.border.d.ts +11 -0
  122. package/cjs/features/graph/rendering/webgl/node.dashed.border.js +77 -0
  123. package/cjs/features/graph/rendering/webgl/node.image.d.ts +18 -0
  124. package/cjs/features/graph/rendering/webgl/node.image.js +147 -0
  125. package/cjs/features/graph/rendering/webgl/shaders/edge.clamped.vert.glsl.d.ts +1 -0
  126. package/cjs/features/graph/rendering/webgl/shaders/edge.clamped.vert.glsl.js +8 -0
  127. package/cjs/features/graph/rendering/webgl/shaders/edge.dashed.frag.glsl.d.ts +1 -0
  128. package/cjs/features/graph/rendering/webgl/shaders/edge.dashed.frag.glsl.js +8 -0
  129. package/cjs/features/graph/rendering/webgl/shaders/edge.dashed.vert.glsl.d.ts +1 -0
  130. package/cjs/features/graph/rendering/webgl/shaders/edge.dashed.vert.glsl.js +8 -0
  131. package/cjs/features/graph/rendering/webgl/shaders/node.border.frag.glsl.d.ts +1 -0
  132. package/cjs/features/graph/rendering/webgl/shaders/node.border.frag.glsl.js +9 -0
  133. package/cjs/features/graph/rendering/webgl/shaders/node.border.vert.glsl.d.ts +1 -0
  134. package/cjs/features/graph/rendering/webgl/shaders/node.border.vert.glsl.js +8 -0
  135. package/cjs/features/graph/rendering/webgl/shaders/node.dashed.border.frag.glsl.d.ts +1 -0
  136. package/cjs/features/graph/rendering/webgl/shaders/node.dashed.border.frag.glsl.js +8 -0
  137. package/cjs/features/graph/rendering/webgl/shaders/node.image.frag.glsl.d.ts +1 -0
  138. package/cjs/features/graph/rendering/webgl/shaders/node.image.frag.glsl.js +5 -0
  139. package/cjs/features/graph/rendering/webgl/shaders/node.image.vert.glsl.d.ts +1 -0
  140. package/cjs/features/graph/rendering/webgl/shaders/node.image.vert.glsl.js +8 -0
  141. package/cjs/features/graph/rendering/webgl/shaders/utils.d.ts +1 -0
  142. package/cjs/features/graph/rendering/webgl/shaders/utils.js +4 -0
  143. package/cjs/features/graph/types/graphDataTypes.d.ts +51 -0
  144. package/cjs/features/graph/types/graphDataTypes.js +8 -0
  145. package/cjs/features/graph/types/sigmaCustomRenderersTypes.d.ts +11 -0
  146. package/cjs/features/graph/types/sigmaCustomRenderersTypes.js +2 -0
  147. package/cjs/icons/EmptyLoading.d.ts +3 -0
  148. package/cjs/icons/EmptyLoading.js +150 -0
  149. package/cjs/icons/index.d.ts +1 -0
  150. package/cjs/icons/index.js +4 -2
  151. package/cjs/index.d.ts +1 -0
  152. package/cjs/index.js +2 -0
  153. package/esm/EmptyState/EmptyState.d.ts +1 -0
  154. package/esm/EmptyState/EmptyState.js +3 -1
  155. package/esm/features/graph/DataModelGraph/DataModelGraph.d.ts +12 -0
  156. package/esm/features/graph/DataModelGraph/DataModelGraph.js +21 -0
  157. package/esm/features/graph/DataModelGraph/DataModelGraph.test.d.ts +1 -0
  158. package/esm/features/graph/DataModelGraph/DataModelGraph.test.js +58 -0
  159. package/esm/features/graph/DataModelGraph/components/DataModelCircleLayout/DataModelCircleLayuot.d.ts +11 -0
  160. package/esm/features/graph/DataModelGraph/components/DataModelCircleLayout/DataModelCircleLayuot.js +17 -0
  161. package/esm/features/graph/DataModelGraph/helpers/edgeLabelHelpers.d.ts +9 -0
  162. package/esm/features/graph/DataModelGraph/helpers/edgeLabelHelpers.js +33 -0
  163. package/esm/features/graph/DataModelGraph/helpers/edgeLabelHelpers.test.d.ts +1 -0
  164. package/esm/features/graph/DataModelGraph/helpers/edgeLabelHelpers.test.js +72 -0
  165. package/esm/features/graph/DataModelGraph/hooks/defaultGraph.test-data.d.ts +2 -0
  166. package/esm/features/graph/DataModelGraph/hooks/defaultGraph.test-data.js +45 -0
  167. package/esm/features/graph/DataModelGraph/hooks/useDataModelGraphAppearance.d.ts +17 -0
  168. package/esm/features/graph/DataModelGraph/hooks/useDataModelGraphAppearance.js +135 -0
  169. package/esm/features/graph/DataModelGraph/hooks/useDataModelGraphAppearance.test.d.ts +1 -0
  170. package/esm/features/graph/DataModelGraph/hooks/useDataModelGraphAppearance.test.js +190 -0
  171. package/esm/features/graph/DataModelGraph/hooks/useEdgeLabelsRenderer.d.ts +10 -0
  172. package/esm/features/graph/DataModelGraph/hooks/useEdgeLabelsRenderer.js +167 -0
  173. package/esm/features/graph/DataModelGraph/hooks/useEdgeLabelsRenderer.test.d.ts +1 -0
  174. package/esm/features/graph/DataModelGraph/hooks/useEdgeLabelsRenderer.test.js +174 -0
  175. package/esm/features/graph/DataModelGraph/hooks/useFakeCenterNode.d.ts +8 -0
  176. package/esm/features/graph/DataModelGraph/hooks/useFakeCenterNode.js +32 -0
  177. package/esm/features/graph/DataModelGraph/hooks/useFakeCenterNode.test.d.ts +1 -0
  178. package/esm/features/graph/DataModelGraph/hooks/useFakeCenterNode.test.js +35 -0
  179. package/esm/features/graph/DataModelGraph/hooks/useSelectedNodeRenderer.d.ts +2 -0
  180. package/esm/features/graph/DataModelGraph/hooks/useSelectedNodeRenderer.js +37 -0
  181. package/esm/features/graph/DataModelGraph/hooks/useSelectedNodeRenderer.test.d.ts +1 -0
  182. package/esm/features/graph/DataModelGraph/hooks/useSelectedNodeRenderer.test.js +61 -0
  183. package/esm/features/graph/DataModelGraph/icons/interaction.inline.svg.d.ts +1 -0
  184. package/esm/features/graph/DataModelGraph/icons/interaction.inline.svg.js +1 -0
  185. package/esm/features/graph/DataModelGraph/index.d.ts +1 -0
  186. package/esm/features/graph/DataModelGraph/index.js +1 -0
  187. package/esm/features/graph/DataModelGraph/styles.d.ts +1 -0
  188. package/esm/features/graph/DataModelGraph/styles.js +23 -0
  189. package/esm/features/graph/SigmaCustomRenderersContainer/SigmaCustomRenderersContainer.d.ts +6 -0
  190. package/esm/features/graph/SigmaCustomRenderersContainer/SigmaCustomRenderersContainer.js +8 -0
  191. package/esm/features/graph/SigmaCustomRenderersContainer/index.d.ts +1 -0
  192. package/esm/features/graph/SigmaCustomRenderersContainer/index.js +1 -0
  193. package/esm/features/graph/SigmaGraphContainer/SigmaGraphContainer.d.ts +9 -0
  194. package/esm/features/graph/SigmaGraphContainer/SigmaGraphContainer.js +56 -0
  195. package/esm/features/graph/SigmaGraphContainer/SigmaGraphContainer.test.d.ts +1 -0
  196. package/esm/features/graph/SigmaGraphContainer/SigmaGraphContainer.test.js +21 -0
  197. package/esm/features/graph/SigmaGraphContainer/index.d.ts +1 -0
  198. package/esm/features/graph/SigmaGraphContainer/index.js +1 -0
  199. package/esm/features/graph/SigmaGraphResizer/SigmaGraphResizer.d.ts +1 -0
  200. package/esm/features/graph/SigmaGraphResizer/SigmaGraphResizer.js +10 -0
  201. package/esm/features/graph/SigmaGraphResizer/SigmaGraphResizer.test.d.ts +1 -0
  202. package/esm/features/graph/SigmaGraphResizer/SigmaGraphResizer.test.js +32 -0
  203. package/esm/features/graph/SigmaGraphResizer/index.d.ts +1 -0
  204. package/esm/features/graph/SigmaGraphResizer/index.js +1 -0
  205. package/esm/features/graph/ZoomSlider/ZoomSlider.d.ts +7 -0
  206. package/esm/features/graph/ZoomSlider/ZoomSlider.js +83 -0
  207. package/esm/features/graph/ZoomSlider/ZoomSlider.test.d.ts +1 -0
  208. package/esm/features/graph/ZoomSlider/ZoomSlider.test.js +78 -0
  209. package/esm/features/graph/ZoomSlider/index.d.ts +1 -0
  210. package/esm/features/graph/ZoomSlider/index.js +1 -0
  211. package/esm/features/graph/ZoomSlider/styles.d.ts +1 -0
  212. package/esm/features/graph/ZoomSlider/styles.js +60 -0
  213. package/esm/features/graph/contexts/SigmaCustomRenderersContext.d.ts +9 -0
  214. package/esm/features/graph/contexts/SigmaCustomRenderersContext.js +11 -0
  215. package/esm/features/graph/hooks/useAnimatedGraphLayout.d.ts +13 -0
  216. package/esm/features/graph/hooks/useAnimatedGraphLayout.js +31 -0
  217. package/esm/features/graph/hooks/useCircleLayout.d.ts +9 -0
  218. package/esm/features/graph/hooks/useCircleLayout.js +43 -0
  219. package/esm/features/graph/hooks/useLoopRenderer.d.ts +5 -0
  220. package/esm/features/graph/hooks/useLoopRenderer.js +43 -0
  221. package/esm/features/graph/hooks/useLoopRenderer.test.d.ts +1 -0
  222. package/esm/features/graph/hooks/useLoopRenderer.test.js +219 -0
  223. package/esm/features/graph/hooks/useSigmaCustomRenderers.d.ts +7 -0
  224. package/esm/features/graph/hooks/useSigmaCustomRenderers.js +91 -0
  225. package/esm/features/graph/hooks/useSigmaCustomRenderers.test.d.ts +1 -0
  226. package/esm/features/graph/hooks/useSigmaCustomRenderers.test.js +198 -0
  227. package/esm/features/graph/index.d.ts +16 -0
  228. package/esm/features/graph/index.js +17 -0
  229. package/esm/features/graph/rendering/canvas/hover.d.ts +2 -0
  230. package/esm/features/graph/rendering/canvas/hover.js +6 -0
  231. package/esm/features/graph/rendering/canvas/hover.spec.d.ts +1 -0
  232. package/esm/features/graph/rendering/canvas/hover.spec.js +24 -0
  233. package/esm/features/graph/rendering/canvas/label.d.ts +7 -0
  234. package/esm/features/graph/rendering/canvas/label.js +28 -0
  235. package/esm/features/graph/rendering/canvas/label.spec.d.ts +1 -0
  236. package/esm/features/graph/rendering/canvas/label.spec.js +79 -0
  237. package/esm/features/graph/rendering/canvas/labelBackground.d.ts +9 -0
  238. package/esm/features/graph/rendering/canvas/labelBackground.js +33 -0
  239. package/esm/features/graph/rendering/canvas/labelBackground.spec.d.ts +1 -0
  240. package/esm/features/graph/rendering/canvas/labelBackground.spec.js +90 -0
  241. package/esm/features/graph/rendering/canvas/nodeArc.d.ts +10 -0
  242. package/esm/features/graph/rendering/canvas/nodeArc.js +27 -0
  243. package/esm/features/graph/rendering/canvas/selfRelationLoop.d.ts +11 -0
  244. package/esm/features/graph/rendering/canvas/selfRelationLoop.js +69 -0
  245. package/esm/features/graph/rendering/canvas/selfRelationLoop.spec.d.ts +1 -0
  246. package/esm/features/graph/rendering/canvas/selfRelationLoop.spec.js +90 -0
  247. package/esm/features/graph/rendering/canvas/tooltip.d.ts +2 -0
  248. package/esm/features/graph/rendering/canvas/tooltip.js +25 -0
  249. package/esm/features/graph/rendering/canvas/tooltip.spec.d.ts +1 -0
  250. package/esm/features/graph/rendering/canvas/tooltip.spec.js +30 -0
  251. package/esm/features/graph/rendering/canvas/utils.d.ts +4 -0
  252. package/esm/features/graph/rendering/canvas/utils.js +6 -0
  253. package/esm/features/graph/rendering/canvas/utils.spec.d.ts +1 -0
  254. package/esm/features/graph/rendering/canvas/utils.spec.js +20 -0
  255. package/esm/features/graph/rendering/icons/no_photo.inline.svg.d.ts +1 -0
  256. package/esm/features/graph/rendering/icons/no_photo.inline.svg.js +1 -0
  257. package/esm/features/graph/rendering/webgl/edge.arrowHead.d.ts +8 -0
  258. package/esm/features/graph/rendering/webgl/edge.arrowHead.js +79 -0
  259. package/esm/features/graph/rendering/webgl/edge.clamped.d.ts +29 -0
  260. package/esm/features/graph/rendering/webgl/edge.clamped.js +171 -0
  261. package/esm/features/graph/rendering/webgl/edge.dashed.d.ts +23 -0
  262. package/esm/features/graph/rendering/webgl/edge.dashed.js +160 -0
  263. package/esm/features/graph/rendering/webgl/edge.reversedArrowHead.d.ts +5 -0
  264. package/esm/features/graph/rendering/webgl/edge.reversedArrowHead.js +27 -0
  265. package/esm/features/graph/rendering/webgl/helpers/imageHelper.d.ts +17 -0
  266. package/esm/features/graph/rendering/webgl/helpers/imageHelper.js +5 -0
  267. package/esm/features/graph/rendering/webgl/helpers/imageHelper.spec.d.ts +1 -0
  268. package/esm/features/graph/rendering/webgl/helpers/imageHelper.spec.js +27 -0
  269. package/esm/features/graph/rendering/webgl/image.d.ts +17 -0
  270. package/esm/features/graph/rendering/webgl/image.js +112 -0
  271. package/esm/features/graph/rendering/webgl/node.border.d.ts +11 -0
  272. package/esm/features/graph/rendering/webgl/node.border.js +76 -0
  273. package/esm/features/graph/rendering/webgl/node.dashed.border.d.ts +11 -0
  274. package/esm/features/graph/rendering/webgl/node.dashed.border.js +74 -0
  275. package/esm/features/graph/rendering/webgl/node.image.d.ts +18 -0
  276. package/esm/features/graph/rendering/webgl/node.image.js +144 -0
  277. package/esm/features/graph/rendering/webgl/shaders/edge.clamped.vert.glsl.d.ts +1 -0
  278. package/esm/features/graph/rendering/webgl/shaders/edge.clamped.vert.glsl.js +5 -0
  279. package/esm/features/graph/rendering/webgl/shaders/edge.dashed.frag.glsl.d.ts +1 -0
  280. package/esm/features/graph/rendering/webgl/shaders/edge.dashed.frag.glsl.js +5 -0
  281. package/esm/features/graph/rendering/webgl/shaders/edge.dashed.vert.glsl.d.ts +1 -0
  282. package/esm/features/graph/rendering/webgl/shaders/edge.dashed.vert.glsl.js +5 -0
  283. package/esm/features/graph/rendering/webgl/shaders/node.border.frag.glsl.d.ts +1 -0
  284. package/esm/features/graph/rendering/webgl/shaders/node.border.frag.glsl.js +6 -0
  285. package/esm/features/graph/rendering/webgl/shaders/node.border.vert.glsl.d.ts +1 -0
  286. package/esm/features/graph/rendering/webgl/shaders/node.border.vert.glsl.js +5 -0
  287. package/esm/features/graph/rendering/webgl/shaders/node.dashed.border.frag.glsl.d.ts +1 -0
  288. package/esm/features/graph/rendering/webgl/shaders/node.dashed.border.frag.glsl.js +5 -0
  289. package/esm/features/graph/rendering/webgl/shaders/node.image.frag.glsl.d.ts +1 -0
  290. package/esm/features/graph/rendering/webgl/shaders/node.image.frag.glsl.js +2 -0
  291. package/esm/features/graph/rendering/webgl/shaders/node.image.vert.glsl.d.ts +1 -0
  292. package/esm/features/graph/rendering/webgl/shaders/node.image.vert.glsl.js +5 -0
  293. package/esm/features/graph/rendering/webgl/shaders/utils.d.ts +1 -0
  294. package/esm/features/graph/rendering/webgl/shaders/utils.js +1 -0
  295. package/esm/features/graph/types/graphDataTypes.d.ts +51 -0
  296. package/esm/features/graph/types/graphDataTypes.js +5 -0
  297. package/esm/features/graph/types/sigmaCustomRenderersTypes.d.ts +11 -0
  298. package/esm/features/graph/types/sigmaCustomRenderersTypes.js +1 -0
  299. package/esm/icons/EmptyLoading.d.ts +3 -0
  300. package/esm/icons/EmptyLoading.js +145 -0
  301. package/esm/icons/index.d.ts +1 -0
  302. package/esm/icons/index.js +1 -0
  303. package/esm/index.d.ts +1 -0
  304. package/esm/index.js +2 -0
  305. package/package.json +2 -2
@@ -0,0 +1,37 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { useEffect } from 'react';
13
+ import { useSigma } from '@react-sigma/core';
14
+ import { drawTwoArcs } from '../../rendering/canvas/nodeArc';
15
+ import { useSigmaCustomRenderers } from '../../hooks/useSigmaCustomRenderers';
16
+ import { CUSTOM_EDGE_LABELS_CANVAS_NAME } from './useEdgeLabelsRenderer';
17
+ export var useSelectedNodeRenderer = function (graph) {
18
+ var sigma = useSigma();
19
+ var addCustomRenderers = useSigmaCustomRenderers().addRenderers;
20
+ useEffect(function () {
21
+ addCustomRenderers({
22
+ selectedNodeBorder: {
23
+ renderer: function (context) {
24
+ graph.forEachNode(function (nodeId) {
25
+ var data = sigma.getNodeDisplayData(nodeId);
26
+ if (!data.selected)
27
+ return;
28
+ var scaledData = __assign(__assign(__assign({}, data), sigma.framedGraphToViewport(data)), { size: sigma.scaleSize(data.size) });
29
+ drawTwoArcs(context, scaledData);
30
+ });
31
+ },
32
+ // we need to have "selected" node renderer layer before 'labels' layer to have labels of other nodes on top of it in case of overlapping
33
+ insertBefore: CUSTOM_EDGE_LABELS_CANVAS_NAME
34
+ }
35
+ });
36
+ }, [addCustomRenderers, graph, sigma]);
37
+ };
@@ -0,0 +1,61 @@
1
+ import { renderHook, act } from '@testing-library/react-hooks';
2
+ import { useSigma } from '@react-sigma/core';
3
+ import { useSigmaCustomRenderers } from '../../hooks/useSigmaCustomRenderers';
4
+ import { useSelectedNodeRenderer } from './useSelectedNodeRenderer';
5
+ import { createDefaultGraph } from './defaultGraph.test-data';
6
+ import { drawTwoArcs } from '../../rendering/canvas/nodeArc';
7
+ jest.mock('@react-sigma/core');
8
+ jest.mock('../../hooks/useSigmaCustomRenderers', function () { return ({
9
+ useSigmaCustomRenderers: jest.fn()
10
+ }); });
11
+ jest.mock('../../rendering/canvas/nodeArc', function () { return ({
12
+ drawTwoArcs: jest.fn().mockImplementation(jest.requireActual('../../rendering/canvas/nodeArc').drawTwoArcs)
13
+ }); });
14
+ describe('useSelectedNodeRenderer tests', function () {
15
+ var graph;
16
+ var setUp = function (graphArg) {
17
+ graph = graphArg || createDefaultGraph();
18
+ return renderHook(useSelectedNodeRenderer, {
19
+ initialProps: graph
20
+ });
21
+ };
22
+ var getNodeDisplayData = jest.fn().mockImplementation(function (nodeId) { return graph.getNodeAttributes(nodeId); });
23
+ var renderers = {};
24
+ var addRenderers = function (rendererObject) { return Object.assign(renderers, rendererObject); };
25
+ beforeEach(function () {
26
+ useSigmaCustomRenderers.mockReturnValue({
27
+ addRenderers: addRenderers
28
+ });
29
+ useSigma.mockReturnValue({
30
+ getNodeDisplayData: getNodeDisplayData,
31
+ framedGraphToViewport: function (x) { return x; },
32
+ scaleSize: function (x) { return x; }
33
+ });
34
+ });
35
+ afterEach(function () {
36
+ jest.clearAllMocks();
37
+ });
38
+ var getRenderer = function () { return renderers.selectedNodeBorder; };
39
+ it('should not draw 2 arcs for regular node', function () {
40
+ setUp();
41
+ var renderer = getRenderer().renderer;
42
+ var canvas = document.createElement('canvas');
43
+ var canvasContext = canvas.getContext('2d');
44
+ act(function () {
45
+ renderer(canvasContext);
46
+ });
47
+ expect(drawTwoArcs).not.toHaveBeenCalled();
48
+ });
49
+ it('should draw 2 arcs for selected node', function () {
50
+ var graph = createDefaultGraph();
51
+ graph.setNodeAttribute('hcp', 'selected', true);
52
+ setUp(graph);
53
+ var renderer = getRenderer().renderer;
54
+ var canvas = document.createElement('canvas');
55
+ var canvasContext = canvas.getContext('2d');
56
+ act(function () {
57
+ renderer(canvasContext);
58
+ });
59
+ expect(drawTwoArcs).toHaveBeenCalledTimes(1);
60
+ });
61
+ });
@@ -0,0 +1 @@
1
+ export declare const interactionIcon = "\n<svg id=\"123\" width=\"500px\" height=\"500px\" viewBox=\"0 0 50 50\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"25\" cy=\"25\" r=\"25\" fill=\"#E7EAED\" stroke=\"#E7EAED\" stroke-width=\"0\"/>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M26 26.1458C26.1784 26.3176 26.3127 26.5349 26.3841 26.7791L28.7321 28.1346C28.9712 28.2727 29.0531 28.5785 28.9151 28.8177L28.4151 29.6837C28.277 29.9228 27.9712 30.0048 27.7321 29.8667L25.4564 28.5529C25.313 28.6007 25.1595 28.6266 25 28.6266C24.8405 28.6266 24.687 28.6007 24.5436 28.5529L22.2679 29.8667C22.0288 30.0048 21.723 29.9228 21.5849 29.6837L21.0849 28.8177C20.9469 28.5785 21.0288 28.2727 21.2679 28.1346L23.6159 26.7791C23.6873 26.5349 23.8216 26.3176 24 26.1458V23.8846C24 23.6085 24.2239 23.3846 24.5 23.3846H25.5C25.7761 23.3846 26 23.6085 26 23.8846V26.1458ZM24.8 22.3846C23.1431 22.3846 21.8 21.0415 21.8 19.3846C21.8 17.7278 23.1431 16.3846 24.8 16.3846C26.4569 16.3846 27.8 17.7278 27.8 19.3846C27.8 21.0415 26.4569 22.3846 24.8 22.3846ZM18 34.3846C16.3431 34.3846 15 33.0415 15 31.3846C15 29.7278 16.3431 28.3846 18 28.3846C19.6569 28.3846 21 29.7278 21 31.3846C21 33.0415 19.6569 34.3846 18 34.3846ZM32 34.3846C30.3431 34.3846 29 33.0415 29 31.3846C29 29.7278 30.3431 28.3846 32 28.3846C33.6569 28.3846 35 29.7278 35 31.3846C35 33.0415 33.6569 34.3846 32 34.3846Z\" fill=\"#37474F\"/>\n</svg>\n";
@@ -0,0 +1 @@
1
+ export var interactionIcon = "\n<svg id=\"123\" width=\"500px\" height=\"500px\" viewBox=\"0 0 50 50\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"25\" cy=\"25\" r=\"25\" fill=\"#E7EAED\" stroke=\"#E7EAED\" stroke-width=\"0\"/>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M26 26.1458C26.1784 26.3176 26.3127 26.5349 26.3841 26.7791L28.7321 28.1346C28.9712 28.2727 29.0531 28.5785 28.9151 28.8177L28.4151 29.6837C28.277 29.9228 27.9712 30.0048 27.7321 29.8667L25.4564 28.5529C25.313 28.6007 25.1595 28.6266 25 28.6266C24.8405 28.6266 24.687 28.6007 24.5436 28.5529L22.2679 29.8667C22.0288 30.0048 21.723 29.9228 21.5849 29.6837L21.0849 28.8177C20.9469 28.5785 21.0288 28.2727 21.2679 28.1346L23.6159 26.7791C23.6873 26.5349 23.8216 26.3176 24 26.1458V23.8846C24 23.6085 24.2239 23.3846 24.5 23.3846H25.5C25.7761 23.3846 26 23.6085 26 23.8846V26.1458ZM24.8 22.3846C23.1431 22.3846 21.8 21.0415 21.8 19.3846C21.8 17.7278 23.1431 16.3846 24.8 16.3846C26.4569 16.3846 27.8 17.7278 27.8 19.3846C27.8 21.0415 26.4569 22.3846 24.8 22.3846ZM18 34.3846C16.3431 34.3846 15 33.0415 15 31.3846C15 29.7278 16.3431 28.3846 18 28.3846C19.6569 28.3846 21 29.7278 21 31.3846C21 33.0415 19.6569 34.3846 18 34.3846ZM32 34.3846C30.3431 34.3846 29 33.0415 29 31.3846C29 29.7278 30.3431 28.3846 32 28.3846C33.6569 28.3846 35 29.7278 35 31.3846C35 33.0415 33.6569 34.3846 32 34.3846Z\" fill=\"#37474F\"/>\n</svg>\n";
@@ -0,0 +1 @@
1
+ export { DataModelGraph } from './DataModelGraph';
@@ -0,0 +1 @@
1
+ export { DataModelGraph } from './DataModelGraph';
@@ -0,0 +1 @@
1
+ export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"wrapper" | "graph" | "rightBottomControls" | "zoomSlider">;
@@ -0,0 +1,23 @@
1
+ import { makeStyles } from '@mui/styles';
2
+ export var useStyles = makeStyles({
3
+ wrapper: {
4
+ height: '100%',
5
+ position: 'relative',
6
+ background: 'rgb(245, 245, 245)'
7
+ },
8
+ graph: {
9
+ height: '100%'
10
+ },
11
+ rightBottomControls: {
12
+ position: 'absolute',
13
+ zIndex: 100,
14
+ right: '18px',
15
+ bottom: '16px',
16
+ display: 'flex',
17
+ width: '200px'
18
+ },
19
+ zoomSlider: {
20
+ flexGrow: 1,
21
+ marginRight: '8px'
22
+ }
23
+ });
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ children: React.ReactNode;
4
+ };
5
+ export declare const SigmaCustomRenderersContainer: ({ children }: Props) => JSX.Element;
6
+ export {};
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { useSigmaCustomRenderers } from '../hooks/useSigmaCustomRenderers';
3
+ import { SigmaCustomRenderersContext } from '../contexts/SigmaCustomRenderersContext';
4
+ export var SigmaCustomRenderersContainer = function (_a) {
5
+ var children = _a.children;
6
+ var sigmaCustomRenderers = useSigmaCustomRenderers();
7
+ return (React.createElement(SigmaCustomRenderersContext.Provider, { value: sigmaCustomRenderers }, children));
8
+ };
@@ -0,0 +1 @@
1
+ export { SigmaCustomRenderersContainer } from './SigmaCustomRenderersContainer';
@@ -0,0 +1 @@
1
+ export { SigmaCustomRenderersContainer } from './SigmaCustomRenderersContainer';
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import '@react-sigma/core/lib/react-sigma.min.css';
3
+ import { GraphContainerSettings } from '../types/graphDataTypes';
4
+ type Props = {
5
+ children?: React.ReactElement;
6
+ initialSettings?: GraphContainerSettings;
7
+ };
8
+ export declare const SigmaGraphContainer: ({ children, initialSettings: initialSettingsProp }: Props) => JSX.Element;
9
+ export {};
@@ -0,0 +1,56 @@
1
+ import React, { useMemo } from 'react';
2
+ import { MultiGraph } from 'graphology';
3
+ import { mergeDeepRight } from 'ramda';
4
+ import { SigmaContainer } from '@react-sigma/core';
5
+ import '@react-sigma/core/lib/react-sigma.min.css';
6
+ import { createNodeCompoundProgram } from 'sigma/rendering/webgl/programs/common/node';
7
+ import { createEdgeCompoundProgram } from 'sigma/rendering/webgl/programs/common/edge';
8
+ import LineEdgeProgram from 'sigma/rendering/webgl/programs/edge';
9
+ import { SigmaCustomRenderersContainer } from '../SigmaCustomRenderersContainer';
10
+ import { SigmaGraphResizer } from '../SigmaGraphResizer';
11
+ import { drawHover } from '../rendering/canvas/hover';
12
+ import { drawLabel } from '../rendering/canvas/label';
13
+ import { NodeDashedBorderProgram } from '../rendering/webgl/node.dashed.border';
14
+ import { NodeImageProgram } from '../rendering/webgl/node.image';
15
+ import EdgeArrowHeadProgram from '../rendering/webgl/edge.arrowHead';
16
+ import EdgeReversedArrowHeadProgram from '../rendering/webgl/edge.reversedArrowHead';
17
+ import EdgeClampedProgram from '../rendering/webgl/edge.clamped';
18
+ import DashedEdgeProgram from '../rendering/webgl/edge.dashed';
19
+ export var SigmaGraphContainer = function (_a) {
20
+ var children = _a.children, initialSettingsProp = _a.initialSettings;
21
+ var initialSettings = useMemo(function () {
22
+ return mergeDeepRight({
23
+ allowInvalidContainer: true,
24
+ defaultNodeType: 'image',
25
+ hoverRenderer: drawHover,
26
+ labelRenderer: drawLabel,
27
+ nodeProgramClasses: {
28
+ image: createNodeCompoundProgram([NodeImageProgram, NodeDashedBorderProgram])
29
+ },
30
+ edgeProgramClasses: {
31
+ line: LineEdgeProgram,
32
+ arrow: createEdgeCompoundProgram([EdgeClampedProgram, EdgeArrowHeadProgram]),
33
+ doubleArrow: createEdgeCompoundProgram([
34
+ EdgeClampedProgram,
35
+ EdgeArrowHeadProgram,
36
+ EdgeReversedArrowHeadProgram
37
+ ]),
38
+ dashed: DashedEdgeProgram
39
+ },
40
+ labelFont: 'Roboto',
41
+ labelSize: 13,
42
+ labelColor: {
43
+ color: 'rgba(0, 0, 0, 0.87)',
44
+ attribute: 'labelColor'
45
+ },
46
+ secondaryLabelColor: {
47
+ color: 'rgba(0, 0, 0, 0.54)',
48
+ attribute: 'secondaryLabelColor'
49
+ }
50
+ }, initialSettingsProp || {});
51
+ }, [initialSettingsProp]);
52
+ return (React.createElement(SigmaContainer, { graph: MultiGraph, style: { background: 'transparent' }, settings: initialSettings },
53
+ React.createElement(SigmaCustomRenderersContainer, null,
54
+ React.createElement(SigmaGraphResizer, null),
55
+ children)));
56
+ };
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import { shallow } from 'enzyme';
3
+ import { SigmaContainer } from '@react-sigma/core';
4
+ import { MultiGraph } from 'graphology';
5
+ import { SigmaGraphContainer } from './SigmaGraphContainer';
6
+ import { SigmaCustomRenderersContainer } from '../SigmaCustomRenderersContainer';
7
+ var children = React.createElement("div", { className: "children" }, "children");
8
+ var setUp = function () { return shallow(React.createElement(SigmaGraphContainer, null, children)); };
9
+ describe('SigmaGraphContainer behavior', function () {
10
+ it('should render SigmaContainer with passed children', function () {
11
+ var component = setUp();
12
+ expect(component.find(SigmaContainer)).toHaveLength(1);
13
+ expect(component.find(SigmaContainer).prop('graph')).toBe(MultiGraph);
14
+ expect(component.find(SigmaContainer).find(SigmaCustomRenderersContainer).find('.children')).toHaveLength(1);
15
+ });
16
+ it('should render SigmaContainer with initialSettings', function () {
17
+ var component = setUp();
18
+ expect(component.find(SigmaContainer)).toHaveLength(1);
19
+ expect(component.find(SigmaContainer).prop('settings')).not.toBeUndefined();
20
+ });
21
+ });
@@ -0,0 +1 @@
1
+ export { SigmaGraphContainer } from './SigmaGraphContainer';
@@ -0,0 +1 @@
1
+ export { SigmaGraphContainer } from './SigmaGraphContainer';
@@ -0,0 +1 @@
1
+ export declare const SigmaGraphResizer: () => JSX.Element;
@@ -0,0 +1,10 @@
1
+ import React, { useCallback } from 'react';
2
+ import ReactResizeDetector from 'react-resize-detector';
3
+ import { useSigma } from '@react-sigma/core';
4
+ export var SigmaGraphResizer = function () {
5
+ var sigma = useSigma();
6
+ var onResize = useCallback(function () {
7
+ sigma.refresh();
8
+ }, [sigma]);
9
+ return React.createElement(ReactResizeDetector, { handleWidth: true, onResize: onResize });
10
+ };
@@ -0,0 +1,32 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import React from 'react';
13
+ import { shallow } from 'enzyme';
14
+ import ReactResizeDetector from 'react-resize-detector';
15
+ import { useSigma } from '@react-sigma/core';
16
+ import { SigmaGraphResizer } from './SigmaGraphResizer';
17
+ jest.mock('@react-sigma/core', function () { return (__assign(__assign({}, jest.requireActual('@react-sigma/core')), { useSigma: jest.fn().mockReturnValue({
18
+ refresh: jest.fn()
19
+ }) })); });
20
+ var setUp = function () { return shallow(React.createElement(SigmaGraphResizer, null)); };
21
+ describe('SigmaGraphResizer behavior', function () {
22
+ it('should render ReactResizeDetector', function () {
23
+ var component = setUp();
24
+ expect(component.find(ReactResizeDetector)).toHaveLength(1);
25
+ });
26
+ it('should refresh sigma instance on resize', function () {
27
+ var component = setUp();
28
+ expect(useSigma().refresh).not.toHaveBeenCalled();
29
+ component.find(ReactResizeDetector).prop('onResize')();
30
+ expect(useSigma().refresh).toHaveBeenCalled();
31
+ });
32
+ });
@@ -0,0 +1 @@
1
+ export { SigmaGraphResizer } from './SigmaGraphResizer';
@@ -0,0 +1 @@
1
+ export { SigmaGraphResizer } from './SigmaGraphResizer';
@@ -0,0 +1,7 @@
1
+ type Props = {
2
+ className?: string;
3
+ max: number;
4
+ min: number;
5
+ };
6
+ export declare const ZoomSlider: ({ className, max, min }: Props) => JSX.Element;
7
+ export {};
@@ -0,0 +1,83 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import React, { useEffect, useMemo, useState } from 'react';
24
+ import classnames from 'classnames';
25
+ import { clamp } from 'ramda';
26
+ import { useCamera, useRegisterEvents, useSigma, useSetSettings } from '@react-sigma/core';
27
+ import AddIcon from '@mui/icons-material/Add';
28
+ import RemoveIcon from '@mui/icons-material/Remove';
29
+ import Slider, { SliderThumb } from '@mui/material/Slider';
30
+ import IconButton from '@mui/material/IconButton';
31
+ import { useStyles } from './styles';
32
+ var percentsToRatio = function (percent) { return Math.pow(100 / percent, 2); };
33
+ var ratioToPercents = function (ratio) { return 100 / Math.sqrt(ratio); };
34
+ var ZoomSliderThumb = function (props) {
35
+ var children = props.children, other = __rest(props, ["children"]);
36
+ var styles = useStyles();
37
+ return (React.createElement(SliderThumb, __assign({}, other),
38
+ children,
39
+ React.createElement(RemoveIcon, { className: classnames(styles.icon, styles.thumbIcon) })));
40
+ };
41
+ export var ZoomSlider = function (_a) {
42
+ var className = _a.className, max = _a.max, min = _a.min;
43
+ var styles = useStyles();
44
+ var setSettings = useSetSettings();
45
+ var registerEvents = useRegisterEvents();
46
+ var camera = useSigma().getCamera();
47
+ var _b = useCamera({ factor: 1.2 }), zoomIn = _b.zoomIn, zoomOut = _b.zoomOut;
48
+ var _c = useState(clamp(min, max, ratioToPercents(camera.getState().ratio))), value = _c[0], setValue = _c[1];
49
+ var maxCameraRatio = useMemo(function () { return (min > 0 ? percentsToRatio(min) : null); }, [min]);
50
+ var minCameraRatio = useMemo(function () { return (max > 0 ? percentsToRatio(max) : null); }, [max]);
51
+ useEffect(function () {
52
+ setSettings({
53
+ maxCameraRatio: maxCameraRatio,
54
+ minCameraRatio: minCameraRatio
55
+ });
56
+ return function () {
57
+ setSettings({
58
+ maxCameraRatio: null,
59
+ minCameraRatio: null
60
+ });
61
+ };
62
+ }, [setSettings, minCameraRatio, maxCameraRatio]);
63
+ useEffect(function () {
64
+ registerEvents({
65
+ updated: function (event) { return setValue(ratioToPercents(event.ratio)); }
66
+ });
67
+ }, [registerEvents]);
68
+ var handleChange = function (event, newValue) {
69
+ return camera.setState({ ratio: camera.getBoundedRatio(percentsToRatio(newValue)) });
70
+ };
71
+ return (React.createElement("div", { className: classnames(styles.container, className) },
72
+ React.createElement(IconButton, { className: styles.minButton, onClick: function () { return zoomOut(); }, size: "large" },
73
+ React.createElement(RemoveIcon, { className: styles.icon })),
74
+ React.createElement(Slider, { slots: {
75
+ thumb: ZoomSliderThumb
76
+ }, slotProps: {
77
+ thumb: {
78
+ className: styles.thumb
79
+ }
80
+ }, classes: { root: styles.sliderRoot, rail: styles.rail }, track: false, value: value, min: min, max: max, onChange: handleChange }),
81
+ React.createElement(IconButton, { className: styles.maxButton, onClick: function () { return zoomIn(); }, size: "large" },
82
+ React.createElement(AddIcon, { className: styles.icon }))));
83
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,78 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import React from 'react';
13
+ import { shallow, mount } from 'enzyme';
14
+ import { act } from 'react-dom/test-utils';
15
+ import { useCamera, useSetSettings, useRegisterEvents } from '@react-sigma/core';
16
+ import { ZoomSlider } from './ZoomSlider';
17
+ import IconButton from '@mui/material/IconButton';
18
+ import AddIcon from '@mui/icons-material/Add';
19
+ import RemoveIcon from '@mui/icons-material/Remove';
20
+ import Slider from '@mui/material/Slider';
21
+ jest.mock('@react-sigma/core', function () { return (__assign(__assign({}, jest.requireActual('@react-sigma/core')), { useCamera: jest.fn().mockReturnValue({
22
+ zoomOut: jest.fn(),
23
+ zoomIn: jest.fn()
24
+ }), useSigma: jest.fn().mockReturnValue({
25
+ getCamera: function () { return ({
26
+ setState: function () { },
27
+ getState: function () { return ({ ratio: 1 }); },
28
+ getBoundedRatio: jest.fn()
29
+ }); }
30
+ }), useSetSettings: jest.fn().mockReturnValue(jest.fn()), useRegisterEvents: jest.fn().mockReturnValue(jest.fn()) })); });
31
+ describe('ZoomSlider tests', function () {
32
+ it('should render main parts', function () {
33
+ var component = shallow(React.createElement(ZoomSlider, { className: "testClass", min: 30, max: 300 }));
34
+ expect(component.find(IconButton)).toHaveLength(2);
35
+ expect(component.find(AddIcon)).toHaveLength(1);
36
+ expect(component.find(RemoveIcon)).toHaveLength(1);
37
+ var slider = component.find(Slider);
38
+ expect(slider).toHaveLength(1);
39
+ expect(slider.props()).toEqual({
40
+ slots: { thumb: expect.any(Function) },
41
+ classes: { root: 'sliderRoot', rail: 'rail' },
42
+ slotProps: { thumb: { className: 'thumb' } },
43
+ track: false,
44
+ value: 100,
45
+ min: 30,
46
+ max: 300,
47
+ onChange: expect.any(Function)
48
+ });
49
+ });
50
+ it('should call registerEvents and setSettings', function () {
51
+ var setSettings = useSetSettings();
52
+ var registerEvents = useRegisterEvents();
53
+ mount(React.createElement(ZoomSlider, { className: "testClass", min: 50, max: 200 }));
54
+ expect(setSettings).toHaveBeenCalledWith({
55
+ maxCameraRatio: 4,
56
+ minCameraRatio: 0.25
57
+ });
58
+ expect(registerEvents).toHaveBeenCalledWith({
59
+ updated: expect.any(Function)
60
+ });
61
+ });
62
+ it('should call zoomOut on min button click', function () {
63
+ var component = shallow(React.createElement(ZoomSlider, { className: "testClass", min: 30, max: 300 }));
64
+ var zoomOut = useCamera().zoomOut;
65
+ act(function () {
66
+ component.find(IconButton).at(0).simulate('click');
67
+ });
68
+ expect(zoomOut).toHaveBeenCalled();
69
+ });
70
+ it('should call zoomIn on max button click', function () {
71
+ var component = shallow(React.createElement(ZoomSlider, { className: "testClass", min: 30, max: 300 }));
72
+ var zoomIn = useCamera().zoomIn;
73
+ act(function () {
74
+ component.find(IconButton).at(1).simulate('click');
75
+ });
76
+ expect(zoomIn).toHaveBeenCalled();
77
+ });
78
+ });
@@ -0,0 +1 @@
1
+ export { ZoomSlider } from './ZoomSlider';
@@ -0,0 +1 @@
1
+ export { ZoomSlider } from './ZoomSlider';
@@ -0,0 +1 @@
1
+ export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"container" | "icon" | "thumb" | "maxButton" | "minButton" | "thumbIcon" | "rail" | "sliderRoot">;
@@ -0,0 +1,60 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { makeStyles } from '@mui/styles';
13
+ var boxShadow = '0 1px 1px rgba(0,0,0,0.14), 0 2px 1px rgba(0,0,0,0.12), 0 1px 3px rgba(0,0,0,0.2)';
14
+ var buttonStyle = {
15
+ background: '#FFFFFF',
16
+ boxShadow: boxShadow,
17
+ width: '28px',
18
+ height: '28px'
19
+ };
20
+ export var useStyles = makeStyles({
21
+ container: {
22
+ display: 'flex',
23
+ alignItems: 'center'
24
+ },
25
+ maxButton: __assign(__assign({}, buttonStyle), { borderRadius: '2px 4px 4px 2px' }),
26
+ minButton: __assign(__assign({}, buttonStyle), { borderRadius: '4px 2px 2px 4px' }),
27
+ thumb: {
28
+ boxShadow: boxShadow,
29
+ borderRadius: '2px',
30
+ width: '8px',
31
+ height: '28px',
32
+ marginLeft: '5px',
33
+ color: 'rgba(0,0,0,0.54)',
34
+ backgroundColor: '#FFFFFF',
35
+ '&.MuiSlider-thumb.Mui-focusVisible, &:hover': {
36
+ boxShadow: boxShadow
37
+ },
38
+ '&:before': {
39
+ boxShadow: 'none'
40
+ }
41
+ },
42
+ thumbIcon: {
43
+ transform: 'rotate(90deg)'
44
+ },
45
+ icon: {
46
+ width: '18px',
47
+ height: '18px'
48
+ },
49
+ rail: {
50
+ opacity: 1,
51
+ height: '4px',
52
+ paddingRight: '10px',
53
+ marginTop: '1px'
54
+ },
55
+ sliderRoot: {
56
+ color: '#EDEDED',
57
+ marginRight: '10px',
58
+ height: '2px'
59
+ }
60
+ });
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { Renderers, Canvases } from '../types/sigmaCustomRenderersTypes';
3
+ type Props = {
4
+ addRenderers: (renderers: Renderers) => void;
5
+ canvases: Canvases;
6
+ };
7
+ export declare const SigmaCustomRenderersContext: import("react").Context<Props>;
8
+ export declare const useSigmaCustomRenderers: () => Props;
9
+ export {};
@@ -0,0 +1,11 @@
1
+ import { createContext, useContext } from 'react';
2
+ import { noop } from '../../../core';
3
+ export var SigmaCustomRenderersContext = createContext({
4
+ addRenderers: noop,
5
+ canvases: {}
6
+ });
7
+ export var useSigmaCustomRenderers = function () {
8
+ var sigmaCustomRenderers = useContext(SigmaCustomRenderersContext);
9
+ return sigmaCustomRenderers;
10
+ };
11
+ SigmaCustomRenderersContext.displayName = 'SigmaCustomRenderersContext';
@@ -0,0 +1,13 @@
1
+ import Graph from 'graphology';
2
+ import { GraphologyLayout, GraphologyWorkerLayoutConstructor } from '../types/graphDataTypes';
3
+ type Props = {
4
+ graph: Graph;
5
+ syncLayout?: GraphologyLayout<Record<string, unknown>>;
6
+ workerLayout?: GraphologyWorkerLayoutConstructor<Record<string, unknown>>;
7
+ layoutSettings?: Record<string, unknown>;
8
+ initialCameraRatio?: number;
9
+ animationDuration?: number;
10
+ relayoutTrigger?: unknown;
11
+ };
12
+ export declare const useAnimatedGraphLayout: ({ graph, syncLayout, workerLayout, layoutSettings, initialCameraRatio, animationDuration, relayoutTrigger }: Props) => void;
13
+ export {};
@@ -0,0 +1,31 @@
1
+ import { useEffect } from 'react';
2
+ import { useLoadGraph, useSigma } from '@react-sigma/core';
3
+ import { animateNodes } from 'sigma/utils/animate';
4
+ var WORKER_LAYOUT_ANIMATION_DURATION = 5000;
5
+ var SYNC_LAYOUT_ANIMATION_DURATION = 1000;
6
+ export var useAnimatedGraphLayout = function (_a) {
7
+ var graph = _a.graph, syncLayout = _a.syncLayout, workerLayout = _a.workerLayout, layoutSettings = _a.layoutSettings, _b = _a.initialCameraRatio, initialCameraRatio = _b === void 0 ? 1.2 : _b, animationDuration = _a.animationDuration, relayoutTrigger = _a.relayoutTrigger;
8
+ var sigma = useSigma();
9
+ var loadGraph = useLoadGraph();
10
+ useEffect(function () {
11
+ sigma.getCamera().setState({ ratio: initialCameraRatio });
12
+ }, [graph, sigma, initialCameraRatio]);
13
+ useEffect(function () {
14
+ loadGraph(graph);
15
+ if (syncLayout) {
16
+ var positions = syncLayout(sigma.getGraph(), layoutSettings);
17
+ animateNodes(sigma.getGraph(), positions, { duration: animationDuration || SYNC_LAYOUT_ANIMATION_DURATION });
18
+ }
19
+ if (workerLayout) {
20
+ var worker_1 = new workerLayout(sigma.getGraph(), layoutSettings);
21
+ worker_1.start();
22
+ var timer_1 = setTimeout(function () {
23
+ worker_1.stop();
24
+ }, animationDuration || WORKER_LAYOUT_ANIMATION_DURATION);
25
+ return function () {
26
+ clearTimeout(timer_1);
27
+ worker_1.kill();
28
+ };
29
+ }
30
+ }, [graph, layoutSettings, loadGraph, sigma, syncLayout, workerLayout, animationDuration, relayoutTrigger]);
31
+ };