@darajs/ui-causal-graph-editor 1.0.0-a.1

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 (338) hide show
  1. package/LICENSE +201 -0
  2. package/dist/graph-viewer/causal-graph-editor.d.ts +44 -0
  3. package/dist/graph-viewer/causal-graph-editor.d.ts.map +1 -0
  4. package/dist/graph-viewer/causal-graph-editor.js +357 -0
  5. package/dist/graph-viewer/causal-graph-editor.js.map +1 -0
  6. package/dist/graph-viewer/utils/use-iterate-edges.d.ts +32 -0
  7. package/dist/graph-viewer/utils/use-iterate-edges.d.ts.map +1 -0
  8. package/dist/graph-viewer/utils/use-iterate-edges.js +34 -0
  9. package/dist/graph-viewer/utils/use-iterate-edges.js.map +1 -0
  10. package/dist/graph-viewer/utils/use-iterate-nodes.d.ts +32 -0
  11. package/dist/graph-viewer/utils/use-iterate-nodes.d.ts.map +1 -0
  12. package/dist/graph-viewer/utils/use-iterate-nodes.js +30 -0
  13. package/dist/graph-viewer/utils/use-iterate-nodes.js.map +1 -0
  14. package/dist/index.d.ts +22 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +21 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/jest-setup.d.ts +18 -0
  19. package/dist/jest-setup.d.ts.map +1 -0
  20. package/dist/jest-setup.js +18 -0
  21. package/dist/jest-setup.js.map +1 -0
  22. package/dist/node-hierarchy-builder/index.d.ts +19 -0
  23. package/dist/node-hierarchy-builder/index.d.ts.map +1 -0
  24. package/dist/node-hierarchy-builder/index.js +18 -0
  25. package/dist/node-hierarchy-builder/index.js.map +1 -0
  26. package/dist/node-hierarchy-builder/layer-divider.d.ts +15 -0
  27. package/dist/node-hierarchy-builder/layer-divider.d.ts.map +1 -0
  28. package/dist/node-hierarchy-builder/layer-divider.js +122 -0
  29. package/dist/node-hierarchy-builder/layer-divider.js.map +1 -0
  30. package/dist/node-hierarchy-builder/layer-label-editor.d.ts +24 -0
  31. package/dist/node-hierarchy-builder/layer-label-editor.d.ts.map +1 -0
  32. package/dist/node-hierarchy-builder/layer-label-editor.js +93 -0
  33. package/dist/node-hierarchy-builder/layer-label-editor.js.map +1 -0
  34. package/dist/node-hierarchy-builder/layer.d.ts +35 -0
  35. package/dist/node-hierarchy-builder/layer.d.ts.map +1 -0
  36. package/dist/node-hierarchy-builder/layer.js +114 -0
  37. package/dist/node-hierarchy-builder/layer.js.map +1 -0
  38. package/dist/node-hierarchy-builder/node-hierarchy-builder.d.ts +27 -0
  39. package/dist/node-hierarchy-builder/node-hierarchy-builder.d.ts.map +1 -0
  40. package/dist/node-hierarchy-builder/node-hierarchy-builder.js +190 -0
  41. package/dist/node-hierarchy-builder/node-hierarchy-builder.js.map +1 -0
  42. package/dist/node-hierarchy-builder/node.d.ts +21 -0
  43. package/dist/node-hierarchy-builder/node.d.ts.map +1 -0
  44. package/dist/node-hierarchy-builder/node.js +90 -0
  45. package/dist/node-hierarchy-builder/node.js.map +1 -0
  46. package/dist/node-hierarchy-builder/shared.d.ts +93 -0
  47. package/dist/node-hierarchy-builder/shared.d.ts.map +1 -0
  48. package/dist/node-hierarchy-builder/shared.js +88 -0
  49. package/dist/node-hierarchy-builder/shared.js.map +1 -0
  50. package/dist/shared/causal-graph-store.d.ts +107 -0
  51. package/dist/shared/causal-graph-store.d.ts.map +1 -0
  52. package/dist/shared/causal-graph-store.js +142 -0
  53. package/dist/shared/causal-graph-store.js.map +1 -0
  54. package/dist/shared/editor-overlay/buttons/add-node-button.d.ts +7 -0
  55. package/dist/shared/editor-overlay/buttons/add-node-button.d.ts.map +1 -0
  56. package/dist/shared/editor-overlay/buttons/add-node-button.js +31 -0
  57. package/dist/shared/editor-overlay/buttons/add-node-button.js.map +1 -0
  58. package/dist/shared/editor-overlay/buttons/center-graph-button.d.ts +7 -0
  59. package/dist/shared/editor-overlay/buttons/center-graph-button.d.ts.map +1 -0
  60. package/dist/shared/editor-overlay/buttons/center-graph-button.js +32 -0
  61. package/dist/shared/editor-overlay/buttons/center-graph-button.js.map +1 -0
  62. package/dist/shared/editor-overlay/buttons/drag-mode-button.d.ts +27 -0
  63. package/dist/shared/editor-overlay/buttons/drag-mode-button.d.ts.map +1 -0
  64. package/dist/shared/editor-overlay/buttons/drag-mode-button.js +35 -0
  65. package/dist/shared/editor-overlay/buttons/drag-mode-button.js.map +1 -0
  66. package/dist/shared/editor-overlay/buttons/index.d.ts +21 -0
  67. package/dist/shared/editor-overlay/buttons/index.d.ts.map +1 -0
  68. package/dist/shared/editor-overlay/buttons/index.js +21 -0
  69. package/dist/shared/editor-overlay/buttons/index.js.map +1 -0
  70. package/dist/shared/editor-overlay/buttons/recalculate-layout-button.d.ts +7 -0
  71. package/dist/shared/editor-overlay/buttons/recalculate-layout-button.d.ts.map +1 -0
  72. package/dist/shared/editor-overlay/buttons/recalculate-layout-button.js +28 -0
  73. package/dist/shared/editor-overlay/buttons/recalculate-layout-button.js.map +1 -0
  74. package/dist/shared/editor-overlay/floating-elements.d.ts +29 -0
  75. package/dist/shared/editor-overlay/floating-elements.d.ts.map +1 -0
  76. package/dist/shared/editor-overlay/floating-elements.js +17 -0
  77. package/dist/shared/editor-overlay/floating-elements.js.map +1 -0
  78. package/dist/shared/editor-overlay/index.d.ts +22 -0
  79. package/dist/shared/editor-overlay/index.d.ts.map +1 -0
  80. package/dist/shared/editor-overlay/index.js +22 -0
  81. package/dist/shared/editor-overlay/index.js.map +1 -0
  82. package/dist/shared/editor-overlay/legend/index.d.ts +19 -0
  83. package/dist/shared/editor-overlay/legend/index.d.ts.map +1 -0
  84. package/dist/shared/editor-overlay/legend/index.js +19 -0
  85. package/dist/shared/editor-overlay/legend/index.js.map +1 -0
  86. package/dist/shared/editor-overlay/legend/legend-data.d.ts +34 -0
  87. package/dist/shared/editor-overlay/legend/legend-data.d.ts.map +1 -0
  88. package/dist/shared/editor-overlay/legend/legend-data.js +41 -0
  89. package/dist/shared/editor-overlay/legend/legend-data.js.map +1 -0
  90. package/dist/shared/editor-overlay/legend/legend-list.d.ts +6 -0
  91. package/dist/shared/editor-overlay/legend/legend-list.d.ts.map +1 -0
  92. package/dist/shared/editor-overlay/legend/legend-list.js +96 -0
  93. package/dist/shared/editor-overlay/legend/legend-list.js.map +1 -0
  94. package/dist/shared/editor-overlay/legend/legend.d.ts +7 -0
  95. package/dist/shared/editor-overlay/legend/legend.d.ts.map +1 -0
  96. package/dist/shared/editor-overlay/legend/legend.js +80 -0
  97. package/dist/shared/editor-overlay/legend/legend.js.map +1 -0
  98. package/dist/shared/editor-overlay/overlay.d.ts +35 -0
  99. package/dist/shared/editor-overlay/overlay.d.ts.map +1 -0
  100. package/dist/shared/editor-overlay/overlay.js +41 -0
  101. package/dist/shared/editor-overlay/overlay.js.map +1 -0
  102. package/dist/shared/editor-overlay/panel-content/edge/edge-editor.d.ts +8 -0
  103. package/dist/shared/editor-overlay/panel-content/edge/edge-editor.d.ts.map +1 -0
  104. package/dist/shared/editor-overlay/panel-content/edge/edge-editor.js +40 -0
  105. package/dist/shared/editor-overlay/panel-content/edge/edge-editor.js.map +1 -0
  106. package/dist/shared/editor-overlay/panel-content/edge/edge-info-content.d.ts +22 -0
  107. package/dist/shared/editor-overlay/panel-content/edge/edge-info-content.d.ts.map +1 -0
  108. package/dist/shared/editor-overlay/panel-content/edge/edge-info-content.js +36 -0
  109. package/dist/shared/editor-overlay/panel-content/edge/edge-info-content.js.map +1 -0
  110. package/dist/shared/editor-overlay/panel-content/edge/editor-props.d.ts +35 -0
  111. package/dist/shared/editor-overlay/panel-content/edge/editor-props.d.ts.map +1 -0
  112. package/dist/shared/editor-overlay/panel-content/edge/editor-props.js +2 -0
  113. package/dist/shared/editor-overlay/panel-content/edge/editor-props.js.map +1 -0
  114. package/dist/shared/editor-overlay/panel-content/edge/encoder-editor.d.ts +23 -0
  115. package/dist/shared/editor-overlay/panel-content/edge/encoder-editor.d.ts.map +1 -0
  116. package/dist/shared/editor-overlay/panel-content/edge/encoder-editor.js +10 -0
  117. package/dist/shared/editor-overlay/panel-content/edge/encoder-editor.js.map +1 -0
  118. package/dist/shared/editor-overlay/panel-content/edge/index.d.ts +18 -0
  119. package/dist/shared/editor-overlay/panel-content/edge/index.d.ts.map +1 -0
  120. package/dist/shared/editor-overlay/panel-content/edge/index.js +18 -0
  121. package/dist/shared/editor-overlay/panel-content/edge/index.js.map +1 -0
  122. package/dist/shared/editor-overlay/panel-content/edge/pag-editor.d.ts +23 -0
  123. package/dist/shared/editor-overlay/panel-content/edge/pag-editor.d.ts.map +1 -0
  124. package/dist/shared/editor-overlay/panel-content/edge/pag-editor.js +10 -0
  125. package/dist/shared/editor-overlay/panel-content/edge/pag-editor.js.map +1 -0
  126. package/dist/shared/editor-overlay/panel-content/edge/resolver-editor.d.ts +7 -0
  127. package/dist/shared/editor-overlay/panel-content/edge/resolver-editor.d.ts.map +1 -0
  128. package/dist/shared/editor-overlay/panel-content/edge/resolver-editor.js +31 -0
  129. package/dist/shared/editor-overlay/panel-content/edge/resolver-editor.js.map +1 -0
  130. package/dist/shared/editor-overlay/panel-content/edge/sections/constraint-editor.d.ts +27 -0
  131. package/dist/shared/editor-overlay/panel-content/edge/sections/constraint-editor.d.ts.map +1 -0
  132. package/dist/shared/editor-overlay/panel-content/edge/sections/constraint-editor.js +53 -0
  133. package/dist/shared/editor-overlay/panel-content/edge/sections/constraint-editor.js.map +1 -0
  134. package/dist/shared/editor-overlay/panel-content/edge/sections/description-editor.d.ts +15 -0
  135. package/dist/shared/editor-overlay/panel-content/edge/sections/description-editor.d.ts.map +1 -0
  136. package/dist/shared/editor-overlay/panel-content/edge/sections/description-editor.js +60 -0
  137. package/dist/shared/editor-overlay/panel-content/edge/sections/description-editor.js.map +1 -0
  138. package/dist/shared/editor-overlay/panel-content/edge/sections/direction-editor.d.ts +21 -0
  139. package/dist/shared/editor-overlay/panel-content/edge/sections/direction-editor.d.ts.map +1 -0
  140. package/dist/shared/editor-overlay/panel-content/edge/sections/direction-editor.js +90 -0
  141. package/dist/shared/editor-overlay/panel-content/edge/sections/direction-editor.js.map +1 -0
  142. package/dist/shared/editor-overlay/panel-content/edge/sections/edge-type-editor.d.ts +17 -0
  143. package/dist/shared/editor-overlay/panel-content/edge/sections/edge-type-editor.d.ts.map +1 -0
  144. package/dist/shared/editor-overlay/panel-content/edge/sections/edge-type-editor.js +61 -0
  145. package/dist/shared/editor-overlay/panel-content/edge/sections/edge-type-editor.js.map +1 -0
  146. package/dist/shared/editor-overlay/panel-content/edge/sections/index.d.ts +19 -0
  147. package/dist/shared/editor-overlay/panel-content/edge/sections/index.d.ts.map +1 -0
  148. package/dist/shared/editor-overlay/panel-content/edge/sections/index.js +19 -0
  149. package/dist/shared/editor-overlay/panel-content/edge/sections/index.js.map +1 -0
  150. package/dist/shared/editor-overlay/panel-content/index.d.ts +20 -0
  151. package/dist/shared/editor-overlay/panel-content/index.d.ts.map +1 -0
  152. package/dist/shared/editor-overlay/panel-content/index.js +20 -0
  153. package/dist/shared/editor-overlay/panel-content/index.js.map +1 -0
  154. package/dist/shared/editor-overlay/panel-content/node/index.d.ts +18 -0
  155. package/dist/shared/editor-overlay/panel-content/node/index.d.ts.map +1 -0
  156. package/dist/shared/editor-overlay/panel-content/node/index.js +18 -0
  157. package/dist/shared/editor-overlay/panel-content/node/index.js.map +1 -0
  158. package/dist/shared/editor-overlay/panel-content/node/label-editor.d.ts +11 -0
  159. package/dist/shared/editor-overlay/panel-content/node/label-editor.d.ts.map +1 -0
  160. package/dist/shared/editor-overlay/panel-content/node/label-editor.js +89 -0
  161. package/dist/shared/editor-overlay/panel-content/node/label-editor.js.map +1 -0
  162. package/dist/shared/editor-overlay/panel-content/node/node-info-content.d.ts +32 -0
  163. package/dist/shared/editor-overlay/panel-content/node/node-info-content.d.ts.map +1 -0
  164. package/dist/shared/editor-overlay/panel-content/node/node-info-content.js +12 -0
  165. package/dist/shared/editor-overlay/panel-content/node/node-info-content.js.map +1 -0
  166. package/dist/shared/editor-overlay/panel-content/panel-content.d.ts +17 -0
  167. package/dist/shared/editor-overlay/panel-content/panel-content.d.ts.map +1 -0
  168. package/dist/shared/editor-overlay/panel-content/panel-content.js +27 -0
  169. package/dist/shared/editor-overlay/panel-content/panel-content.js.map +1 -0
  170. package/dist/shared/editor-overlay/panel-content/panel-title.d.ts +12 -0
  171. package/dist/shared/editor-overlay/panel-content/panel-title.d.ts.map +1 -0
  172. package/dist/shared/editor-overlay/panel-content/panel-title.js +48 -0
  173. package/dist/shared/editor-overlay/panel-content/panel-title.js.map +1 -0
  174. package/dist/shared/editor-overlay/panel-content/styled.d.ts +9 -0
  175. package/dist/shared/editor-overlay/panel-content/styled.d.ts.map +1 -0
  176. package/dist/shared/editor-overlay/panel-content/styled.js +43 -0
  177. package/dist/shared/editor-overlay/panel-content/styled.js.map +1 -0
  178. package/dist/shared/editor-overlay/positional-divs.d.ts +14 -0
  179. package/dist/shared/editor-overlay/positional-divs.d.ts.map +1 -0
  180. package/dist/shared/editor-overlay/positional-divs.js +117 -0
  181. package/dist/shared/editor-overlay/positional-divs.js.map +1 -0
  182. package/dist/shared/editor-overlay/search-bar/index.d.ts +19 -0
  183. package/dist/shared/editor-overlay/search-bar/index.d.ts.map +1 -0
  184. package/dist/shared/editor-overlay/search-bar/index.js +19 -0
  185. package/dist/shared/editor-overlay/search-bar/index.js.map +1 -0
  186. package/dist/shared/editor-overlay/search-bar/search-bar.d.ts +21 -0
  187. package/dist/shared/editor-overlay/search-bar/search-bar.d.ts.map +1 -0
  188. package/dist/shared/editor-overlay/search-bar/search-bar.js +160 -0
  189. package/dist/shared/editor-overlay/search-bar/search-bar.js.map +1 -0
  190. package/dist/shared/editor-overlay/search-bar/use-search.d.ts +32 -0
  191. package/dist/shared/editor-overlay/search-bar/use-search.d.ts.map +1 -0
  192. package/dist/shared/editor-overlay/search-bar/use-search.js +75 -0
  193. package/dist/shared/editor-overlay/search-bar/use-search.js.map +1 -0
  194. package/dist/shared/graph-layout/circular-layout.d.ts +18 -0
  195. package/dist/shared/graph-layout/circular-layout.d.ts.map +1 -0
  196. package/dist/shared/graph-layout/circular-layout.js +38 -0
  197. package/dist/shared/graph-layout/circular-layout.js.map +1 -0
  198. package/dist/shared/graph-layout/common.d.ts +64 -0
  199. package/dist/shared/graph-layout/common.d.ts.map +1 -0
  200. package/dist/shared/graph-layout/common.js +42 -0
  201. package/dist/shared/graph-layout/common.js.map +1 -0
  202. package/dist/shared/graph-layout/custom-layout.d.ts +35 -0
  203. package/dist/shared/graph-layout/custom-layout.d.ts.map +1 -0
  204. package/dist/shared/graph-layout/custom-layout.js +29 -0
  205. package/dist/shared/graph-layout/custom-layout.js.map +1 -0
  206. package/dist/shared/graph-layout/fcose-layout.d.ts +88 -0
  207. package/dist/shared/graph-layout/fcose-layout.d.ts.map +1 -0
  208. package/dist/shared/graph-layout/fcose-layout.js +196 -0
  209. package/dist/shared/graph-layout/fcose-layout.js.map +1 -0
  210. package/dist/shared/graph-layout/force-atlas-layout.d.ts +79 -0
  211. package/dist/shared/graph-layout/force-atlas-layout.d.ts.map +1 -0
  212. package/dist/shared/graph-layout/force-atlas-layout.js +163 -0
  213. package/dist/shared/graph-layout/force-atlas-layout.js.map +1 -0
  214. package/dist/shared/graph-layout/index.d.ts +25 -0
  215. package/dist/shared/graph-layout/index.d.ts.map +1 -0
  216. package/dist/shared/graph-layout/index.js +25 -0
  217. package/dist/shared/graph-layout/index.js.map +1 -0
  218. package/dist/shared/graph-layout/marketing-layout.d.ts +30 -0
  219. package/dist/shared/graph-layout/marketing-layout.d.ts.map +1 -0
  220. package/dist/shared/graph-layout/marketing-layout.js +105 -0
  221. package/dist/shared/graph-layout/marketing-layout.js.map +1 -0
  222. package/dist/shared/graph-layout/planar-layout.d.ts +32 -0
  223. package/dist/shared/graph-layout/planar-layout.d.ts.map +1 -0
  224. package/dist/shared/graph-layout/planar-layout.js +95 -0
  225. package/dist/shared/graph-layout/planar-layout.js.map +1 -0
  226. package/dist/shared/graph-layout/spring-layout.d.ts +56 -0
  227. package/dist/shared/graph-layout/spring-layout.d.ts.map +1 -0
  228. package/dist/shared/graph-layout/spring-layout.js +148 -0
  229. package/dist/shared/graph-layout/spring-layout.js.map +1 -0
  230. package/dist/shared/parsers.d.ts +63 -0
  231. package/dist/shared/parsers.d.ts.map +1 -0
  232. package/dist/shared/parsers.js +176 -0
  233. package/dist/shared/parsers.js.map +1 -0
  234. package/dist/shared/pointer-context.d.ts +21 -0
  235. package/dist/shared/pointer-context.d.ts.map +1 -0
  236. package/dist/shared/pointer-context.js +23 -0
  237. package/dist/shared/pointer-context.js.map +1 -0
  238. package/dist/shared/rendering/background.d.ts +32 -0
  239. package/dist/shared/rendering/background.d.ts.map +1 -0
  240. package/dist/shared/rendering/background.js +91 -0
  241. package/dist/shared/rendering/background.js.map +1 -0
  242. package/dist/shared/rendering/colors.d.ts +27 -0
  243. package/dist/shared/rendering/colors.d.ts.map +1 -0
  244. package/dist/shared/rendering/colors.js +14 -0
  245. package/dist/shared/rendering/colors.js.map +1 -0
  246. package/dist/shared/rendering/edge/curve.d.ts +51 -0
  247. package/dist/shared/rendering/edge/curve.d.ts.map +1 -0
  248. package/dist/shared/rendering/edge/curve.js +122 -0
  249. package/dist/shared/rendering/edge/curve.js.map +1 -0
  250. package/dist/shared/rendering/edge/definitions.d.ts +71 -0
  251. package/dist/shared/rendering/edge/definitions.d.ts.map +1 -0
  252. package/dist/shared/rendering/edge/definitions.js +31 -0
  253. package/dist/shared/rendering/edge/definitions.js.map +1 -0
  254. package/dist/shared/rendering/edge/edge-object.d.ts +93 -0
  255. package/dist/shared/rendering/edge/edge-object.d.ts.map +1 -0
  256. package/dist/shared/rendering/edge/edge-object.js +483 -0
  257. package/dist/shared/rendering/edge/edge-object.js.map +1 -0
  258. package/dist/shared/rendering/edge/index.d.ts +19 -0
  259. package/dist/shared/rendering/edge/index.d.ts.map +1 -0
  260. package/dist/shared/rendering/edge/index.js +19 -0
  261. package/dist/shared/rendering/edge/index.js.map +1 -0
  262. package/dist/shared/rendering/edge/symbols.d.ts +40 -0
  263. package/dist/shared/rendering/edge/symbols.d.ts.map +1 -0
  264. package/dist/shared/rendering/edge/symbols.js +150 -0
  265. package/dist/shared/rendering/edge/symbols.js.map +1 -0
  266. package/dist/shared/rendering/engine.d.ts +342 -0
  267. package/dist/shared/rendering/engine.d.ts.map +1 -0
  268. package/dist/shared/rendering/engine.js +990 -0
  269. package/dist/shared/rendering/engine.js.map +1 -0
  270. package/dist/shared/rendering/node/definitions.d.ts +57 -0
  271. package/dist/shared/rendering/node/definitions.d.ts.map +1 -0
  272. package/dist/shared/rendering/node/definitions.js +2 -0
  273. package/dist/shared/rendering/node/definitions.js.map +1 -0
  274. package/dist/shared/rendering/node/index.d.ts +20 -0
  275. package/dist/shared/rendering/node/index.d.ts.map +1 -0
  276. package/dist/shared/rendering/node/index.js +19 -0
  277. package/dist/shared/rendering/node/index.js.map +1 -0
  278. package/dist/shared/rendering/node/node-object.d.ts +77 -0
  279. package/dist/shared/rendering/node/node-object.d.ts.map +1 -0
  280. package/dist/shared/rendering/node/node-object.js +241 -0
  281. package/dist/shared/rendering/node/node-object.js.map +1 -0
  282. package/dist/shared/rendering/node/utils.d.ts +33 -0
  283. package/dist/shared/rendering/node/utils.d.ts.map +1 -0
  284. package/dist/shared/rendering/node/utils.js +27 -0
  285. package/dist/shared/rendering/node/utils.js.map +1 -0
  286. package/dist/shared/rendering/svg.d.ts +26 -0
  287. package/dist/shared/rendering/svg.d.ts.map +1 -0
  288. package/dist/shared/rendering/svg.js +44 -0
  289. package/dist/shared/rendering/svg.js.map +1 -0
  290. package/dist/shared/rendering/text.d.ts +33 -0
  291. package/dist/shared/rendering/text.d.ts.map +1 -0
  292. package/dist/shared/rendering/text.js +107 -0
  293. package/dist/shared/rendering/text.js.map +1 -0
  294. package/dist/shared/rendering/texture-cache.d.ts +32 -0
  295. package/dist/shared/rendering/texture-cache.d.ts.map +1 -0
  296. package/dist/shared/rendering/texture-cache.js +76 -0
  297. package/dist/shared/rendering/texture-cache.js.map +1 -0
  298. package/dist/shared/rendering/use-render-engine.d.ts +86 -0
  299. package/dist/shared/rendering/use-render-engine.d.ts.map +1 -0
  300. package/dist/shared/rendering/use-render-engine.js +89 -0
  301. package/dist/shared/rendering/use-render-engine.js.map +1 -0
  302. package/dist/shared/rendering/utils.d.ts +24 -0
  303. package/dist/shared/rendering/utils.d.ts.map +1 -0
  304. package/dist/shared/rendering/utils.js +60 -0
  305. package/dist/shared/rendering/utils.js.map +1 -0
  306. package/dist/shared/serializer.d.ts +39 -0
  307. package/dist/shared/serializer.d.ts.map +1 -0
  308. package/dist/shared/serializer.js +131 -0
  309. package/dist/shared/serializer.js.map +1 -0
  310. package/dist/shared/settings-context.d.ts +56 -0
  311. package/dist/shared/settings-context.d.ts.map +1 -0
  312. package/dist/shared/settings-context.js +36 -0
  313. package/dist/shared/settings-context.js.map +1 -0
  314. package/dist/shared/styles.d.ts +4 -0
  315. package/dist/shared/styles.d.ts.map +1 -0
  316. package/dist/shared/styles.js +52 -0
  317. package/dist/shared/styles.js.map +1 -0
  318. package/dist/shared/use-causal-graph-editor.d.ts +19 -0
  319. package/dist/shared/use-causal-graph-editor.d.ts.map +1 -0
  320. package/dist/shared/use-causal-graph-editor.js +58 -0
  321. package/dist/shared/use-causal-graph-editor.js.map +1 -0
  322. package/dist/shared/use-drag-mode.d.ts +33 -0
  323. package/dist/shared/use-drag-mode.d.ts.map +1 -0
  324. package/dist/shared/use-drag-mode.js +75 -0
  325. package/dist/shared/use-drag-mode.js.map +1 -0
  326. package/dist/shared/use-edge-encoder.d.ts +45 -0
  327. package/dist/shared/use-edge-encoder.d.ts.map +1 -0
  328. package/dist/shared/use-edge-encoder.js +121 -0
  329. package/dist/shared/use-edge-encoder.js.map +1 -0
  330. package/dist/shared/utils.d.ts +52 -0
  331. package/dist/shared/utils.d.ts.map +1 -0
  332. package/dist/shared/utils.js +99 -0
  333. package/dist/shared/utils.js.map +1 -0
  334. package/dist/types.d.ts +213 -0
  335. package/dist/types.d.ts.map +1 -0
  336. package/dist/types.js +98 -0
  337. package/dist/types.js.map +1 -0
  338. package/package.json +123 -0
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Copyright 2023 Impulse Innovations Limited
3
+ *
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { SmoothGraphics } from '@pixi/graphics-smooth';
18
+ import * as PIXI from 'pixi.js';
19
+ import { EdgeConstraintType, EdgeType, EditorMode } from '../../../types';
20
+ import { QUESTION_MARK, drawPath } from '../svg';
21
+ /**
22
+ * Create a graphics object for a side (top or bottom) edge symbol
23
+ *
24
+ * @param style edge style
25
+ * @param position position of the object on the edge
26
+ * @param tint tint of the symbol
27
+ * @param bgTint tint of the background behind the symbol, e.g. to make it not transparent
28
+ */
29
+ export function createSideSymbol(style, position, tint, bgTint) {
30
+ var _a;
31
+ const gfx = new SmoothGraphics();
32
+ const color = tint;
33
+ // normal arrow in normal/resolver mode
34
+ if ([EditorMode.RESOLVER, EditorMode.DEFAULT, EditorMode.EDGE_ENCODER].includes(style.editorMode)) {
35
+ // Bottom arrows don't exist here
36
+ if (position === 'bottom') {
37
+ return gfx;
38
+ }
39
+ if (EditorMode.RESOLVER === style.editorMode) {
40
+ // Resolver - only show arrow for directed edge
41
+ if (style.type !== EdgeType.DIRECTED_EDGE) {
42
+ return gfx;
43
+ }
44
+ }
45
+ if (style.editorMode === EditorMode.EDGE_ENCODER) {
46
+ // Encoder - only show arrow for directed constraint
47
+ if (((_a = style.constraint) === null || _a === void 0 ? void 0 : _a.type) !== EdgeConstraintType.DIRECTED) {
48
+ return gfx;
49
+ }
50
+ }
51
+ gfx.lineStyle({ cap: PIXI.LINE_CAP.ROUND, color, width: 2 });
52
+ gfx.moveTo(0, 8);
53
+ gfx.lineTo(-8, 0);
54
+ gfx.moveTo(0, 8);
55
+ gfx.lineTo(8, 0);
56
+ }
57
+ // Multiplier for Y values - flip bottom position graphics
58
+ const my = position === 'top' ? 1 : -1;
59
+ // Pag-style arrow
60
+ if (style.editorMode === EditorMode.PAG_VIEWER) {
61
+ const symbol = style.type[position === 'top' ? 1 : 0];
62
+ // Fill for arrows
63
+ if (['<', '>'].includes(symbol)) {
64
+ gfx.beginFill(color, 1, true);
65
+ gfx.drawPolygon([0, my * 10, -8, 0, 8, 0]);
66
+ gfx.endFill();
67
+ }
68
+ else if (symbol === 'o') {
69
+ gfx.beginFill(bgTint, 1);
70
+ gfx.drawCircle(0, 0, 6);
71
+ gfx.endFill();
72
+ // stroke for circles
73
+ gfx.lineStyle({ color, width: 3 });
74
+ gfx.drawCircle(0, 0, 5);
75
+ }
76
+ else {
77
+ // undirected - no symbol
78
+ return gfx;
79
+ }
80
+ }
81
+ return gfx;
82
+ }
83
+ /**
84
+ * Create a graphics object for the edge strength symbol
85
+ *
86
+ * @param dots number of dots to include in the symbol
87
+ */
88
+ export function createStrengthSymbol(dots) {
89
+ const gfx = new SmoothGraphics();
90
+ if (!dots) {
91
+ return gfx;
92
+ }
93
+ gfx.beginFill(0xffffff, 1, true);
94
+ // Draw a circle for each dot
95
+ for (let i = 0; i < dots; i++) {
96
+ gfx.drawCircle(0, -10 * i, 4);
97
+ }
98
+ gfx.endFill();
99
+ return gfx;
100
+ }
101
+ /**
102
+ * Create a graphics object for center edge symbol
103
+ *
104
+ * @param style edge style
105
+ */
106
+ export function createCenterSymbol(style) {
107
+ const gfx = new SmoothGraphics();
108
+ // In resolver modes, draw a question mark for unresolved direction edges
109
+ if (EditorMode.RESOLVER === style.editorMode) {
110
+ if (style.type !== EdgeType.DIRECTED_EDGE) {
111
+ gfx.lineStyle({
112
+ cap: PIXI.LINE_CAP.ROUND,
113
+ color: 0xffffff,
114
+ width: 1,
115
+ });
116
+ gfx.beginFill(0xffffff, 1, true);
117
+ drawPath(QUESTION_MARK, gfx);
118
+ gfx.endFill();
119
+ }
120
+ }
121
+ // In edge encoder, show prohibited/undirected in the center
122
+ if (style.editorMode === EditorMode.EDGE_ENCODER && style.constraint) {
123
+ if (style.constraint.type === EdgeConstraintType.FORBIDDEN) {
124
+ gfx.lineStyle({
125
+ cap: PIXI.LINE_CAP.ROUND,
126
+ color: 0xffffff,
127
+ width: 2,
128
+ });
129
+ gfx.moveTo(-6, 6);
130
+ gfx.lineTo(6, -6);
131
+ gfx.moveTo(6, 6);
132
+ gfx.lineTo(-6, -6);
133
+ }
134
+ else if (style.constraint.type === EdgeConstraintType.UNDIRECTED) {
135
+ gfx.lineStyle({
136
+ cap: PIXI.LINE_CAP.ROUND,
137
+ color: 0xffffff,
138
+ width: 2,
139
+ });
140
+ gfx.moveTo(-8, 4);
141
+ gfx.lineTo(0, 12);
142
+ gfx.lineTo(8, 4);
143
+ gfx.moveTo(-8, -4);
144
+ gfx.lineTo(0, -12);
145
+ gfx.lineTo(8, -4);
146
+ }
147
+ }
148
+ return gfx;
149
+ }
150
+ //# sourceMappingURL=symbols.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../../../src/shared/rendering/edge/symbols.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,342 @@
1
+ /// <reference types="lodash" />
2
+ import * as PIXI from 'pixi.js';
3
+ import { DefaultTheme } from '@darajs/styled-components';
4
+ import { GraphLayout } from '../graph-layout';
5
+ import { DragMode } from '../use-drag-mode';
6
+ import { EdgeConstraint, EditorMode, SimulationGraph, ZoomThresholds } from '../../types';
7
+ export interface EngineEvents {
8
+ backgroundClick: () => void;
9
+ createEdge: (event: PIXI.FederatedMouseEvent, source: string, target: string) => void;
10
+ dragEnd: () => void;
11
+ dragStart: () => void;
12
+ edgeClick: (event: PIXI.FederatedMouseEvent, source: string, target: string) => void;
13
+ edgeMouseout: (event: PIXI.FederatedMouseEvent, edgeKey: string) => void;
14
+ edgeMouseover: (event: PIXI.FederatedMouseEvent, edgeKey: string) => void;
15
+ nodeClick: (event: PIXI.FederatedMouseEvent, nodeKey: string) => void;
16
+ nodeMouseout: (event: PIXI.FederatedMouseEvent, nodeKey: string) => void;
17
+ nodeMouseover: (event: PIXI.FederatedMouseEvent, nodeKey: string) => void;
18
+ }
19
+ export declare const ENGINE_EVENTS: Array<keyof EngineEvents>;
20
+ export declare class Engine extends PIXI.utils.EventEmitter<EngineEvents> {
21
+ /** App instance */
22
+ private app;
23
+ /** Background object */
24
+ private background;
25
+ /** Available edge constraints */
26
+ private constraints;
27
+ /** Parent container where canvas is rendered in */
28
+ private container;
29
+ /** Debounced version of `this.updateLayout` in case multiple changes come in at the same time */
30
+ debouncedUpdateLayout: import("lodash").DebouncedFunc<() => Promise<void>>;
31
+ /** Current drag mode */
32
+ private dragMode;
33
+ /** Container storing edge graphics */
34
+ private edgeLayer;
35
+ /** Edge ID -> EdgeObject cache */
36
+ private edgeMap;
37
+ /** Container storing edge symbol graphics */
38
+ private edgeSymbolsLayer;
39
+ /** Whether the graph is editable */
40
+ private editable;
41
+ /** Current editor mode */
42
+ private editorMode;
43
+ /** Graph state */
44
+ private graph;
45
+ /** Whether engine has been started */
46
+ initialized: boolean;
47
+ /** Whether there is an edge being created */
48
+ private isCreatingEdge;
49
+ /** Whether a node is being moved */
50
+ private isMovingNode;
51
+ /** Graph layout instance */
52
+ private layout?;
53
+ /** Which edge the user is holding down mouse button on */
54
+ private mousedownEdgeKey;
55
+ /** Which node the user is holding down mouse button on */
56
+ private mousedownNodeKey;
57
+ /** Container storing node label graphics */
58
+ private nodeLabelLayer;
59
+ /** Container storing node graphics */
60
+ private nodeLayer;
61
+ /** Node ID -> NodeObject cache */
62
+ private nodeMap;
63
+ /** Center position of the node user pressed mousedown on, stored while user is holding down mouse1 */
64
+ private nodeMousedownCenterPosition;
65
+ /** Last mousedown event position stored while user is holding down mouse1 */
66
+ private nodeMousedownPosition;
67
+ /** Callback executed when a node is added */
68
+ private onAddNode?;
69
+ /** Callback executed when an edge is added */
70
+ private onAddEdge?;
71
+ /** Callback executed when engine is being destroyed */
72
+ private onCleanup?;
73
+ private onGraphAttributesUpdatedBound;
74
+ private onGraphNodeAddedBound;
75
+ private onGraphEdgeAddedBound;
76
+ private onGraphEdgeDroppedBound;
77
+ private onGraphNodeDroppedBound;
78
+ private onGraphEdgeAttributesUpdatedBound;
79
+ private onGraphNodeAttributesUpdatedBound;
80
+ private onDocumentMouseMoveBound;
81
+ private onDocumentMouseUpBound;
82
+ /** Callback executed when a drag motion is done */
83
+ private onEndDrag?;
84
+ /** Callback executed when a node is being moved */
85
+ private onMove?;
86
+ /** Callback executed when a drag motion is started */
87
+ private onStartDrag?;
88
+ /** Last render request ID - used to skip extra render calls */
89
+ private renderRequestId;
90
+ /** ResizeObserver instance watching window resizes */
91
+ private resizeObserver;
92
+ /** Current node search results */
93
+ private searchResults;
94
+ /** Currently selected edge. We keep track of it here so we can unselect it when need be */
95
+ private selectedEdge;
96
+ /** Currently selected node. We keep track of it here so we can unselect it when need be */
97
+ private selectedNode;
98
+ /** Current range of edge strength values provided in meta attributes */
99
+ private strengthRange;
100
+ /** Texture cache instance */
101
+ private textureCache;
102
+ /** Current theme */
103
+ private theme;
104
+ /** Graph UID */
105
+ private uid;
106
+ /** Viewport instance */
107
+ private viewport;
108
+ /** Optional user-provided zoom thresholds */
109
+ private zoomThresholds?;
110
+ constructor(graph: SimulationGraph, layout: GraphLayout, editable: boolean, editorMode: EditorMode, theme: DefaultTheme, constraints?: EdgeConstraint[], zoomThresholds?: ZoomThresholds);
111
+ /**
112
+ * Get the center position of the rendered viewport
113
+ */
114
+ getCenterPosition(): PIXI.IPointData;
115
+ /**
116
+ * Cleanup the app appropriately
117
+ */
118
+ destroy(): void;
119
+ /**
120
+ * Request the graph to be re-rendered
121
+ */
122
+ requestRender(): void;
123
+ /**
124
+ * Reset the viewport to fit the graph centered on screen
125
+ */
126
+ resetViewport(): void;
127
+ /**
128
+ * Update matched status based on new search result
129
+ *
130
+ * @param ids ids found in search result
131
+ */
132
+ searchNodes(ids: string[]): void;
133
+ /**
134
+ * Select an edge with given id
135
+ *
136
+ * @param id id of the edge
137
+ */
138
+ selectEdge(path: [string, string]): void;
139
+ /**
140
+ * Select a node with given id
141
+ *
142
+ * @param id id of the node
143
+ */
144
+ selectNode(id: string): void;
145
+ /**
146
+ * Update drag mode
147
+ *
148
+ * @param dragMode drag mode to set
149
+ */
150
+ setDragMode(dragMode: DragMode): void;
151
+ /**
152
+ * Update theme used
153
+ *
154
+ * @param theme theme used
155
+ */
156
+ setTheme(theme: DefaultTheme): void;
157
+ /**
158
+ * Start the rendering engine
159
+ *
160
+ * @param container container to start in - canvas will be injected into it
161
+ */
162
+ start(container: HTMLElement): Promise<void>;
163
+ /**
164
+ * Update the set of constraints
165
+ *
166
+ * @param constraints new constraints
167
+ */
168
+ updateConstraints(constraints: EdgeConstraint[]): void;
169
+ /**
170
+ * Create an edge
171
+ *
172
+ * @param id edge id
173
+ * @param attributes edge attributes
174
+ * @param source source node id
175
+ * @param target target node i
176
+ * @param sourceAttributes source node attributes
177
+ * @param targetAttributes target node attributes
178
+ */
179
+ private createEdge;
180
+ /**
181
+ * Create the graph.
182
+ *
183
+ * Creates edges and nodes based on current graph state.
184
+ */
185
+ private createGraph;
186
+ /**
187
+ * Create a node
188
+ *
189
+ * @param id node id
190
+ * @param attributes node attributes
191
+ */
192
+ private createNode;
193
+ /**
194
+ * Drop the edge graphics from the renderer
195
+ *
196
+ * @param id edge id
197
+ */
198
+ private dropEdge;
199
+ /**
200
+ * Drop the node graphics from the renderer
201
+ *
202
+ * @param id node id
203
+ */
204
+ private dropNode;
205
+ /**
206
+ * Enables drag behaviour
207
+ *
208
+ * Pauses viewport dragging and installs listeners for mouse movement
209
+ */
210
+ private enableDragBehaviour;
211
+ /**
212
+ * Get constraint for given edge
213
+ *
214
+ * @param source edge source
215
+ * @param target edge target
216
+ */
217
+ private getConstraint;
218
+ /**
219
+ * Get style object to determine edge behaviour
220
+ *
221
+ * @param edge edge object to get styles for
222
+ * @param attributes edge attributes
223
+ * @param constraint optional attached constraint, used in edge encoder mode
224
+ */
225
+ private getEdgeStyle;
226
+ /**
227
+ * Get style object to determine node behaviour
228
+ *
229
+ * @param node node object to get styles for
230
+ * @param attributes node attributes
231
+ */
232
+ private getNodeStyle;
233
+ /**
234
+ * Enable hover state for given edge
235
+ *
236
+ * @param id id of edge to hover
237
+ */
238
+ private hoverEdge;
239
+ /**
240
+ * Enable hover state for given node
241
+ *
242
+ * @param id id of node to hover
243
+ */
244
+ private hoverNode;
245
+ /**
246
+ * Move given node to target position
247
+ *
248
+ * @param nodeKey id of node to move
249
+ * @param point target position
250
+ */
251
+ private moveNode;
252
+ /**
253
+ * Move handler - drag behaviour
254
+ *
255
+ * @param event mouse event
256
+ */
257
+ private onDocumentMouseMove;
258
+ /**
259
+ * On mouse up, stop drag - reset stored mousedown keys and remove moving listener
260
+ */
261
+ private onDocumentMouseUp;
262
+ private onGraphAttributesUpdated;
263
+ private onGraphNodeAdded;
264
+ private onGraphEdgeAdded;
265
+ private onGraphEdgeDropped;
266
+ private onGraphNodeDropped;
267
+ private onGraphEdgeAttributesUpdated;
268
+ private onGraphNodeAttributesUpdated;
269
+ /**
270
+ * Apply a given layout to the graph
271
+ *
272
+ * @param layout layout to apply
273
+ */
274
+ private setLayout;
275
+ /**
276
+ * Get relative strength definition based on all edge thickness provided
277
+ *
278
+ * @param attributes edge attributes
279
+ */
280
+ private getRelativeStrength;
281
+ /**
282
+ * Disable hover state for given edge
283
+ *
284
+ * @param id id of edge to unhover
285
+ */
286
+ private unhoverEdge;
287
+ /**
288
+ * Disable hover state for given node
289
+ *
290
+ * @param id id of node to unhover
291
+ */
292
+ private unhoverNode;
293
+ /**
294
+ * Update edge style
295
+ *
296
+ * @param id id of edge to update
297
+ * @param attributes edge attributes
298
+ * @param source source node ID
299
+ * @param target target node ID
300
+ * @param sourceNodeAttributes source node attributes
301
+ * @param targetNodeAttributes target node attributes
302
+ */
303
+ private updateEdgeStyle;
304
+ /**
305
+ * Update style for given edge
306
+ *
307
+ * @param edgeKey id of edge to update
308
+ */
309
+ private updateEdgeStyleByKey;
310
+ /**
311
+ * Update visibility of graph parts.
312
+ *
313
+ * Applies culling to hide off-screen graphics, updates LOD based on zoom level
314
+ */
315
+ private updateGraphVisibility;
316
+ /**
317
+ * Recompute the layout and apply it
318
+ */
319
+ private updateLayout;
320
+ /**
321
+ * Update style of given node
322
+ *
323
+ * @param id id of node to update
324
+ * @param attributes node attributes
325
+ */
326
+ private updateNodeStyle;
327
+ /**
328
+ * Update style for given node
329
+ *
330
+ * @param nodeKey id of node to update
331
+ */
332
+ private updateNodeStyleByKey;
333
+ /**
334
+ * Recalculate current strength range based on thickness properties
335
+ */
336
+ private updateStrengthRange;
337
+ /**
338
+ * Update the visuals of each node and edge
339
+ */
340
+ private updateStyles;
341
+ }
342
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/shared/rendering/engine.tsx"],"names":[],"mappings":"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"}