@deck.gl-community/graph-layers 9.1.1 → 9.2.0-beta.3

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 (354) hide show
  1. package/dist/_deprecated/old-constants.d.ts +107 -0
  2. package/dist/_deprecated/old-constants.d.ts.map +1 -0
  3. package/dist/_deprecated/old-constants.js +111 -0
  4. package/dist/_deprecated/old-constants.js.map +1 -0
  5. package/dist/core/cache.d.ts +0 -1
  6. package/dist/core/cache.js +0 -1
  7. package/dist/core/constants.d.ts +12 -100
  8. package/dist/core/constants.d.ts.map +1 -1
  9. package/dist/core/constants.js +3 -44
  10. package/dist/core/constants.js.map +1 -1
  11. package/dist/core/graph-engine.d.ts +63 -20
  12. package/dist/core/graph-engine.d.ts.map +1 -1
  13. package/dist/core/graph-engine.js +163 -72
  14. package/dist/core/graph-engine.js.map +1 -1
  15. package/dist/core/graph-layout.d.ts +63 -32
  16. package/dist/core/graph-layout.d.ts.map +1 -1
  17. package/dist/core/graph-layout.js +118 -36
  18. package/dist/core/graph-layout.js.map +1 -1
  19. package/dist/core/interaction-manager.d.ts +7 -5
  20. package/dist/core/interaction-manager.d.ts.map +1 -1
  21. package/dist/core/interaction-manager.js +64 -20
  22. package/dist/core/interaction-manager.js.map +1 -1
  23. package/dist/graph/arrow-graph.d.ts +69 -0
  24. package/dist/graph/arrow-graph.d.ts.map +1 -0
  25. package/dist/graph/arrow-graph.js +513 -0
  26. package/dist/graph/arrow-graph.js.map +1 -0
  27. package/dist/graph/classic-graph.d.ts +169 -0
  28. package/dist/graph/classic-graph.d.ts.map +1 -0
  29. package/dist/graph/classic-graph.js +390 -0
  30. package/dist/graph/classic-graph.js.map +1 -0
  31. package/dist/graph/edge.d.ts +12 -12
  32. package/dist/graph/edge.d.ts.map +1 -1
  33. package/dist/graph/edge.js +3 -6
  34. package/dist/graph/edge.js.map +1 -1
  35. package/dist/graph/functions/arrow-utils.d.ts +6 -0
  36. package/dist/graph/functions/arrow-utils.d.ts.map +1 -0
  37. package/dist/graph/functions/arrow-utils.js +67 -0
  38. package/dist/graph/functions/arrow-utils.js.map +1 -0
  39. package/dist/graph/functions/create-graph-from-data.d.ts +3 -0
  40. package/dist/graph/functions/create-graph-from-data.d.ts.map +1 -0
  41. package/dist/graph/functions/create-graph-from-data.js +12 -0
  42. package/dist/graph/functions/create-graph-from-data.js.map +1 -0
  43. package/dist/graph/graph-normalization.d.ts +10 -0
  44. package/dist/graph/graph-normalization.d.ts.map +1 -0
  45. package/dist/graph/graph-normalization.js +65 -0
  46. package/dist/graph/graph-normalization.js.map +1 -0
  47. package/dist/graph/graph.d.ts +62 -156
  48. package/dist/graph/graph.d.ts.map +1 -1
  49. package/dist/graph/graph.js +11 -301
  50. package/dist/graph/graph.js.map +1 -1
  51. package/dist/graph/node.d.ts +12 -13
  52. package/dist/graph/node.d.ts.map +1 -1
  53. package/dist/graph/node.js +5 -7
  54. package/dist/graph/node.js.map +1 -1
  55. package/dist/graph-data/arrow-graph-data-builder.d.ts +21 -0
  56. package/dist/graph-data/arrow-graph-data-builder.d.ts.map +1 -0
  57. package/dist/graph-data/arrow-graph-data-builder.js +105 -0
  58. package/dist/graph-data/arrow-graph-data-builder.js.map +1 -0
  59. package/dist/graph-data/graph-data-builder.d.ts +6 -0
  60. package/dist/graph-data/graph-data-builder.d.ts.map +1 -0
  61. package/dist/graph-data/graph-data-builder.js +1 -0
  62. package/dist/graph-data/graph-data-builder.js.map +1 -0
  63. package/dist/graph-data/graph-data.d.ts +40 -0
  64. package/dist/graph-data/graph-data.d.ts.map +1 -0
  65. package/dist/graph-data/graph-data.js +11 -0
  66. package/dist/graph-data/graph-data.js.map +1 -0
  67. package/dist/graph-data/plain-graph-data-builder.d.ts +20 -0
  68. package/dist/graph-data/plain-graph-data-builder.d.ts.map +1 -0
  69. package/dist/graph-data/plain-graph-data-builder.js +105 -0
  70. package/dist/graph-data/plain-graph-data-builder.js.map +1 -0
  71. package/dist/graph-style-schema.cdn.d.ts +2 -0
  72. package/dist/graph-style-schema.cdn.js +2 -0
  73. package/dist/graph-style-schema.json +12 -0
  74. package/dist/index.cjs +7851 -3250
  75. package/dist/index.cjs.map +4 -4
  76. package/dist/index.d.ts +35 -22
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +42 -25
  79. package/dist/index.js.map +1 -1
  80. package/dist/layers/common-layers/flow-path-layer/flow-path-layer-fragment.glsl.d.ts +0 -1
  81. package/dist/layers/common-layers/flow-path-layer/flow-path-layer-fragment.glsl.js +0 -1
  82. package/dist/layers/common-layers/flow-path-layer/flow-path-layer-vertex-tf.glsl.d.ts +0 -1
  83. package/dist/layers/common-layers/flow-path-layer/flow-path-layer-vertex-tf.glsl.js +0 -1
  84. package/dist/layers/common-layers/flow-path-layer/flow-path-layer-vertex.glsl.d.ts +0 -1
  85. package/dist/layers/common-layers/flow-path-layer/flow-path-layer-vertex.glsl.js +0 -1
  86. package/dist/layers/common-layers/flow-path-layer/flow-path-layer.d.ts +0 -1
  87. package/dist/layers/common-layers/flow-path-layer/flow-path-layer.d.ts.map +1 -1
  88. package/dist/layers/common-layers/flow-path-layer/flow-path-layer.js +1 -3
  89. package/dist/layers/common-layers/flow-path-layer/flow-path-layer.js.map +1 -1
  90. package/dist/layers/common-layers/grid-layer/grid-layer.d.ts +83 -0
  91. package/dist/layers/common-layers/grid-layer/grid-layer.d.ts.map +1 -0
  92. package/dist/layers/common-layers/grid-layer/grid-layer.js +133 -0
  93. package/dist/layers/common-layers/grid-layer/grid-layer.js.map +1 -0
  94. package/dist/layers/common-layers/marker-layer/atlas-data-url.d.ts +0 -1
  95. package/dist/layers/common-layers/marker-layer/atlas-data-url.js +0 -1
  96. package/dist/layers/common-layers/marker-layer/marker-layer.d.ts +0 -1
  97. package/dist/layers/common-layers/marker-layer/marker-layer.js +2 -3
  98. package/dist/layers/common-layers/marker-layer/marker-list.d.ts +2 -63
  99. package/dist/layers/common-layers/marker-layer/marker-list.d.ts.map +1 -1
  100. package/dist/layers/common-layers/marker-layer/marker-list.js +1 -65
  101. package/dist/layers/common-layers/marker-layer/marker-list.js.map +1 -1
  102. package/dist/layers/common-layers/marker-layer/marker-mapping.d.ts +0 -1
  103. package/dist/layers/common-layers/marker-layer/marker-mapping.js +0 -1
  104. package/dist/layers/common-layers/spline-layer/spline-layer.d.ts +0 -1
  105. package/dist/layers/common-layers/spline-layer/spline-layer.js +0 -1
  106. package/dist/layers/common-layers/zoomable-text-layer/zoomable-text-layer.d.ts +0 -1
  107. package/dist/layers/common-layers/zoomable-text-layer/zoomable-text-layer.js +0 -1
  108. package/dist/layers/edge-attachment-helper.d.ts +15 -0
  109. package/dist/layers/edge-attachment-helper.d.ts.map +1 -0
  110. package/dist/layers/edge-attachment-helper.js +229 -0
  111. package/dist/layers/edge-attachment-helper.js.map +1 -0
  112. package/dist/layers/edge-layer.d.ts +1 -5
  113. package/dist/layers/edge-layer.d.ts.map +1 -1
  114. package/dist/layers/edge-layer.js +9 -11
  115. package/dist/layers/edge-layer.js.map +1 -1
  116. package/dist/layers/edge-layers/arrow-2d-geometry.d.ts +4 -0
  117. package/dist/layers/edge-layers/arrow-2d-geometry.d.ts.map +1 -0
  118. package/dist/layers/edge-layers/arrow-2d-geometry.js +42 -0
  119. package/dist/layers/edge-layers/arrow-2d-geometry.js.map +1 -0
  120. package/dist/layers/edge-layers/curved-edge-layer.d.ts +1 -2
  121. package/dist/layers/edge-layers/curved-edge-layer.js +1 -2
  122. package/dist/layers/edge-layers/edge-arrow-layer.d.ts +21 -0
  123. package/dist/layers/edge-layers/edge-arrow-layer.d.ts.map +1 -0
  124. package/dist/layers/edge-layers/edge-arrow-layer.js +131 -0
  125. package/dist/layers/edge-layers/edge-arrow-layer.js.map +1 -0
  126. package/dist/layers/edge-layers/edge-label-layer.d.ts +1 -2
  127. package/dist/layers/edge-layers/edge-label-layer.js +1 -2
  128. package/dist/layers/edge-layers/flow-layer.d.ts +1 -2
  129. package/dist/layers/edge-layers/flow-layer.js +1 -2
  130. package/dist/layers/edge-layers/path-edge-layer.d.ts +0 -1
  131. package/dist/layers/edge-layers/path-edge-layer.js +0 -1
  132. package/dist/layers/edge-layers/straight-line-edge-layer.d.ts +0 -1
  133. package/dist/layers/edge-layers/straight-line-edge-layer.js +0 -1
  134. package/dist/layers/graph-layer.d.ts +85 -29
  135. package/dist/layers/graph-layer.d.ts.map +1 -1
  136. package/dist/layers/graph-layer.js +635 -94
  137. package/dist/layers/graph-layer.js.map +1 -1
  138. package/dist/layers/node-layers/circle-layer.d.ts +0 -1
  139. package/dist/layers/node-layers/circle-layer.js +0 -1
  140. package/dist/layers/node-layers/image-layer.d.ts +0 -1
  141. package/dist/layers/node-layers/image-layer.js +0 -1
  142. package/dist/layers/node-layers/label-layer.d.ts +1 -2
  143. package/dist/layers/node-layers/label-layer.js +1 -2
  144. package/dist/layers/node-layers/path-rounded-rectangle-layer.d.ts +0 -1
  145. package/dist/layers/node-layers/path-rounded-rectangle-layer.js +1 -2
  146. package/dist/layers/node-layers/rectangle-layer.d.ts +0 -1
  147. package/dist/layers/node-layers/rectangle-layer.js +0 -1
  148. package/dist/layers/node-layers/rounded-rectangle-layer-fragment.d.ts +0 -1
  149. package/dist/layers/node-layers/rounded-rectangle-layer-fragment.js +0 -1
  150. package/dist/layers/node-layers/rounded-rectangle-layer.d.ts +1 -2
  151. package/dist/layers/node-layers/rounded-rectangle-layer.js +2 -3
  152. package/dist/layers/node-layers/zoomable-marker-layer.d.ts +1 -2
  153. package/dist/layers/node-layers/zoomable-marker-layer.js +1 -2
  154. package/dist/layouts/d3-dag/collapsable-d3-dag-layout.d.ts +24 -0
  155. package/dist/layouts/d3-dag/collapsable-d3-dag-layout.d.ts.map +1 -0
  156. package/dist/layouts/d3-dag/collapsable-d3-dag-layout.js +251 -0
  157. package/dist/layouts/d3-dag/collapsable-d3-dag-layout.js.map +1 -0
  158. package/dist/layouts/d3-dag/d3-dag-layout.d.ts +102 -0
  159. package/dist/layouts/d3-dag/d3-dag-layout.d.ts.map +1 -0
  160. package/dist/layouts/d3-dag/d3-dag-layout.js +531 -0
  161. package/dist/layouts/d3-dag/d3-dag-layout.js.map +1 -0
  162. package/dist/layouts/d3-force/d3-force-layout.d.ts +23 -11
  163. package/dist/layouts/d3-force/d3-force-layout.d.ts.map +1 -1
  164. package/dist/layouts/d3-force/d3-force-layout.js +63 -29
  165. package/dist/layouts/d3-force/d3-force-layout.js.map +1 -1
  166. package/dist/layouts/d3-force/worker.d.ts +0 -1
  167. package/dist/layouts/d3-force/worker.js +0 -1
  168. package/dist/layouts/experimental/force-multi-graph-layout.d.ts +25 -20
  169. package/dist/layouts/experimental/force-multi-graph-layout.d.ts.map +1 -1
  170. package/dist/layouts/experimental/force-multi-graph-layout.js +60 -47
  171. package/dist/layouts/experimental/force-multi-graph-layout.js.map +1 -1
  172. package/dist/layouts/experimental/hive-plot-layout.d.ts +26 -20
  173. package/dist/layouts/experimental/hive-plot-layout.d.ts.map +1 -1
  174. package/dist/layouts/experimental/hive-plot-layout.js +43 -39
  175. package/dist/layouts/experimental/hive-plot-layout.js.map +1 -1
  176. package/dist/layouts/experimental/radial-layout.d.ts +20 -12
  177. package/dist/layouts/experimental/radial-layout.d.ts.map +1 -1
  178. package/dist/layouts/experimental/radial-layout.js +41 -19
  179. package/dist/layouts/experimental/radial-layout.js.map +1 -1
  180. package/dist/layouts/gpu-force/gpu-force-layout.d.ts +15 -12
  181. package/dist/layouts/gpu-force/gpu-force-layout.d.ts.map +1 -1
  182. package/dist/layouts/gpu-force/gpu-force-layout.js +71 -59
  183. package/dist/layouts/gpu-force/gpu-force-layout.js.map +1 -1
  184. package/dist/layouts/gpu-force/worker.d.ts +0 -1
  185. package/dist/layouts/gpu-force/worker.js +0 -1
  186. package/dist/layouts/simple-layout.d.ts +21 -31
  187. package/dist/layouts/simple-layout.d.ts.map +1 -1
  188. package/dist/layouts/simple-layout.js +33 -26
  189. package/dist/layouts/simple-layout.js.map +1 -1
  190. package/dist/loaders/dot-graph-loader.d.ts +25 -0
  191. package/dist/loaders/dot-graph-loader.d.ts.map +1 -0
  192. package/dist/loaders/dot-graph-loader.js +668 -0
  193. package/dist/loaders/dot-graph-loader.js.map +1 -0
  194. package/dist/loaders/json-graph-loader.d.ts +6 -0
  195. package/dist/loaders/json-graph-loader.d.ts.map +1 -0
  196. package/dist/loaders/json-graph-loader.js +31 -0
  197. package/dist/loaders/json-graph-loader.js.map +1 -0
  198. package/dist/loaders/parsers/edge-parsers.d.ts +2 -0
  199. package/dist/loaders/parsers/edge-parsers.d.ts.map +1 -0
  200. package/dist/loaders/{edge-parsers.js → parsers/edge-parsers.js} +2 -3
  201. package/dist/loaders/parsers/edge-parsers.js.map +1 -0
  202. package/dist/loaders/parsers/node-parsers.d.ts +2 -0
  203. package/dist/loaders/parsers/node-parsers.d.ts.map +1 -0
  204. package/dist/loaders/{node-parsers.js → parsers/node-parsers.js} +2 -3
  205. package/dist/loaders/parsers/node-parsers.js.map +1 -0
  206. package/dist/loaders/parsers/parse-json-graph.d.ts +29 -0
  207. package/dist/loaders/parsers/parse-json-graph.d.ts.map +1 -0
  208. package/dist/loaders/parsers/parse-json-graph.js +78 -0
  209. package/dist/loaders/parsers/parse-json-graph.js.map +1 -0
  210. package/dist/style/graph-layer-stylesheet.d.ts +34 -0
  211. package/dist/style/graph-layer-stylesheet.d.ts.map +1 -0
  212. package/dist/style/graph-layer-stylesheet.js +39 -0
  213. package/dist/style/graph-layer-stylesheet.js.map +1 -0
  214. package/dist/style/graph-style-accessor-map.d.ts +93 -0
  215. package/dist/style/graph-style-accessor-map.d.ts.map +1 -0
  216. package/dist/style/graph-style-accessor-map.js +93 -0
  217. package/dist/style/graph-style-accessor-map.js.map +1 -0
  218. package/dist/style/graph-style-engine.d.ts +12 -0
  219. package/dist/style/graph-style-engine.d.ts.map +1 -0
  220. package/dist/style/graph-style-engine.js +164 -0
  221. package/dist/style/graph-style-engine.js.map +1 -0
  222. package/dist/style/graph-stylesheet.schema.d.ts +310 -0
  223. package/dist/style/graph-stylesheet.schema.d.ts.map +1 -0
  224. package/dist/style/graph-stylesheet.schema.js +237 -0
  225. package/dist/style/graph-stylesheet.schema.js.map +1 -0
  226. package/dist/style/style-property.d.ts +2 -3
  227. package/dist/style/style-property.d.ts.map +1 -1
  228. package/dist/style/style-property.js +224 -48
  229. package/dist/style/style-property.js.map +1 -1
  230. package/dist/style/stylesheet-engine.d.ts +33 -0
  231. package/dist/style/stylesheet-engine.d.ts.map +1 -0
  232. package/dist/style/stylesheet-engine.js +121 -0
  233. package/dist/style/stylesheet-engine.js.map +1 -0
  234. package/dist/utils/collapsed-chains.d.ts +17 -0
  235. package/dist/utils/collapsed-chains.d.ts.map +1 -0
  236. package/dist/utils/collapsed-chains.js +192 -0
  237. package/dist/utils/collapsed-chains.js.map +1 -0
  238. package/dist/utils/layer-utils.d.ts +0 -1
  239. package/dist/utils/layer-utils.d.ts.map +1 -1
  240. package/dist/utils/layer-utils.js +0 -1
  241. package/dist/utils/log.d.ts +2 -1
  242. package/dist/utils/log.d.ts.map +1 -1
  243. package/dist/utils/log.js +12 -2
  244. package/dist/utils/log.js.map +1 -1
  245. package/dist/utils/node-boundary.d.ts +10 -0
  246. package/dist/utils/node-boundary.d.ts.map +1 -0
  247. package/dist/utils/node-boundary.js +130 -0
  248. package/dist/utils/node-boundary.js.map +1 -0
  249. package/dist/utils/polygon-calculations.d.ts +0 -1
  250. package/dist/utils/polygon-calculations.js +0 -1
  251. package/dist/utils/rank-grid.d.ts +30 -0
  252. package/dist/utils/rank-grid.d.ts.map +1 -0
  253. package/dist/utils/rank-grid.js +306 -0
  254. package/dist/utils/rank-grid.js.map +1 -0
  255. package/package.json +25 -13
  256. package/src/_deprecated/old-constants.ts +122 -0
  257. package/src/_disabled/arrow-graph-data.ts.disabled +18 -0
  258. package/src/_disabled/columnar-graph-data-builder.ts.disabled +250 -0
  259. package/src/_disabled/graph-runtime-layout.ts.disabled +29 -0
  260. package/src/core/constants.ts +21 -43
  261. package/src/core/graph-engine.ts +212 -80
  262. package/src/core/graph-layout.ts +175 -47
  263. package/src/core/interaction-manager.ts +93 -33
  264. package/src/graph/arrow-graph.ts +648 -0
  265. package/src/graph/classic-graph.ts +447 -0
  266. package/src/graph/edge.ts +13 -13
  267. package/src/graph/functions/arrow-utils.ts +72 -0
  268. package/src/graph/functions/convert-arrow-graph-to-classic-graph.ts.disabled +47 -0
  269. package/src/graph/functions/convert-plain-graph-to-arrow-graph.ts.disabled +119 -0
  270. package/src/graph/functions/create-graph-from-data.ts +16 -0
  271. package/src/graph/functions/create-plain-graph-from-data.ts.disabled +176 -0
  272. package/src/graph/graph-normalization.ts +87 -0
  273. package/src/graph/graph.ts +68 -339
  274. package/src/graph/node.ts +15 -15
  275. package/src/graph/tabular-graph.ts.disabled +761 -0
  276. package/src/graph-data/arrow-graph-data-builder.ts +165 -0
  277. package/src/graph-data/graph-data-builder.ts +7 -0
  278. package/src/graph-data/graph-data.ts +57 -0
  279. package/src/graph-data/plain-graph-data-builder.ts +132 -0
  280. package/src/index.ts +82 -17
  281. package/src/layers/common-layers/flow-path-layer/flow-path-layer.ts +1 -2
  282. package/src/layers/common-layers/grid-layer/grid-layer.ts +237 -0
  283. package/src/layers/common-layers/marker-layer/marker-list.ts +62 -64
  284. package/src/layers/edge-attachment-helper.ts +361 -0
  285. package/src/layers/edge-layer.ts +6 -7
  286. package/src/layers/edge-layers/arrow-2d-geometry.ts +51 -0
  287. package/src/layers/edge-layers/edge-arrow-layer.ts +171 -0
  288. package/src/layers/graph-layer.ts +928 -130
  289. package/src/layouts/d3-dag/collapsable-d3-dag-layout.ts +330 -0
  290. package/src/layouts/d3-dag/d3-dag-layout.ts +739 -0
  291. package/src/layouts/d3-force/d3-force-layout.ts +83 -39
  292. package/src/layouts/experimental/force-multi-graph-layout.ts +72 -57
  293. package/src/layouts/experimental/hive-plot-layout.ts +60 -49
  294. package/src/layouts/experimental/radial-layout.ts +57 -26
  295. package/src/layouts/gpu-force/gpu-force-layout.ts +86 -72
  296. package/src/layouts/simple-layout.ts +51 -52
  297. package/src/loaders/{create-graph.ts → deprecated/create-graph.ts.disabled} +6 -6
  298. package/src/loaders/deprecated/json-classic-graph-loader.ts.disabled +33 -0
  299. package/src/loaders/{simple-json-graph-loader.ts → deprecated/simple-json-graph-loader.ts.disabled} +4 -4
  300. package/src/loaders/{table-graph-loader.ts → deprecated/table-graph-loader.ts.disabled} +9 -9
  301. package/src/loaders/dot-graph-loader.ts +860 -0
  302. package/src/loaders/json-graph-loader.ts +48 -0
  303. package/src/loaders/parsers/create-graph-data.ts.disabled +45 -0
  304. package/src/loaders/{edge-parsers.ts → parsers/edge-parsers.ts} +3 -3
  305. package/src/loaders/{node-parsers.ts → parsers/node-parsers.ts} +3 -3
  306. package/src/loaders/parsers/parse-json-graph.ts +134 -0
  307. package/src/style/graph-layer-stylesheet.ts +99 -0
  308. package/src/style/graph-style-accessor-map.ts +103 -0
  309. package/src/style/graph-style-engine.ts +232 -0
  310. package/src/style/graph-stylesheet.schema.ts +344 -0
  311. package/src/style/style-property.ts +314 -51
  312. package/src/style/stylesheet-engine.ts +168 -0
  313. package/src/utils/collapsed-chains.ts +255 -0
  314. package/src/utils/log.ts +15 -1
  315. package/src/utils/node-boundary.ts +238 -0
  316. package/src/utils/rank-grid.ts +426 -0
  317. package/dist/loaders/create-graph.d.ts +0 -13
  318. package/dist/loaders/create-graph.d.ts.map +0 -1
  319. package/dist/loaders/create-graph.js +0 -39
  320. package/dist/loaders/create-graph.js.map +0 -1
  321. package/dist/loaders/edge-parsers.d.ts +0 -3
  322. package/dist/loaders/edge-parsers.d.ts.map +0 -1
  323. package/dist/loaders/edge-parsers.js.map +0 -1
  324. package/dist/loaders/json-loader.d.ts +0 -8
  325. package/dist/loaders/json-loader.d.ts.map +0 -1
  326. package/dist/loaders/json-loader.js +0 -17
  327. package/dist/loaders/json-loader.js.map +0 -1
  328. package/dist/loaders/node-parsers.d.ts +0 -3
  329. package/dist/loaders/node-parsers.d.ts.map +0 -1
  330. package/dist/loaders/node-parsers.js.map +0 -1
  331. package/dist/loaders/simple-json-graph-loader.d.ts +0 -12
  332. package/dist/loaders/simple-json-graph-loader.d.ts.map +0 -1
  333. package/dist/loaders/simple-json-graph-loader.js +0 -21
  334. package/dist/loaders/simple-json-graph-loader.js.map +0 -1
  335. package/dist/loaders/table-graph-loader.d.ts +0 -17
  336. package/dist/loaders/table-graph-loader.d.ts.map +0 -1
  337. package/dist/loaders/table-graph-loader.js +0 -92
  338. package/dist/loaders/table-graph-loader.js.map +0 -1
  339. package/dist/style/style-sheet.d.ts +0 -11
  340. package/dist/style/style-sheet.d.ts.map +0 -1
  341. package/dist/style/style-sheet.js +0 -253
  342. package/dist/style/style-sheet.js.map +0 -1
  343. package/dist/widgets/long-press-button.d.ts +0 -13
  344. package/dist/widgets/long-press-button.d.ts.map +0 -1
  345. package/dist/widgets/long-press-button.js +0 -32
  346. package/dist/widgets/long-press-button.js.map +0 -1
  347. package/dist/widgets/view-control-widget.d.ts +0 -78
  348. package/dist/widgets/view-control-widget.d.ts.map +0 -1
  349. package/dist/widgets/view-control-widget.js +0 -195
  350. package/dist/widgets/view-control-widget.js.map +0 -1
  351. package/src/loaders/json-loader.ts +0 -19
  352. package/src/style/style-sheet.ts +0 -277
  353. package/src/widgets/long-press-button.tsx +0 -50
  354. package/src/widgets/view-control-widget.tsx +0 -337
@@ -0,0 +1 @@
1
+ {"version":3,"file":"d3-dag-layout.d.ts","sourceRoot":"","sources":["../../../src/layouts/d3-dag/d3-dag-layout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,531 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ /* eslint-disable no-continue, complexity, max-statements */
5
+ import { GraphLayout } from '../../core/graph-layout';
6
+ import { Node } from '../../graph/node';
7
+ import { coordCenter, coordGreedy, coordQuad, coordSimplex, coordTopological, decrossDfs, decrossOpt, decrossTwoLayer, graph as createDagGraph, graphConnect, graphStratify, grid, layeringLongestPath, layeringSimplex, layeringTopological, sugiyama, zherebko } from 'd3-dag';
8
+ import { log } from '../../utils/log';
9
+ const DAG_ID_SEPARATOR = '::';
10
+ const DEFAULT_NODE_SIZE = [140, 120];
11
+ const DEFAULT_GAP = [0, 0];
12
+ const LAYERING_FACTORIES = {
13
+ simplex: layeringSimplex,
14
+ longestPath: layeringLongestPath,
15
+ topological: layeringTopological
16
+ };
17
+ const DECROSS_FACTORIES = {
18
+ twoLayer: decrossTwoLayer,
19
+ opt: decrossOpt,
20
+ dfs: decrossDfs
21
+ };
22
+ const COORD_FACTORIES = {
23
+ simplex: coordSimplex,
24
+ greedy: coordGreedy,
25
+ quad: coordQuad,
26
+ center: coordCenter,
27
+ topological: coordTopological
28
+ };
29
+ const LAYOUT_FACTORIES = {
30
+ sugiyama: () => sugiyama(),
31
+ grid: () => grid(),
32
+ zherebko: () => zherebko()
33
+ };
34
+ function isNodeInterface(value) {
35
+ return Boolean(value) && typeof value === 'object' && value.isNode === true;
36
+ }
37
+ function isEdgeInterface(value) {
38
+ return Boolean(value) && typeof value === 'object' && value.isEdge === true;
39
+ }
40
+ /**
41
+ * Layout that orchestrates d3-dag operators from declarative options.
42
+ */
43
+ export class D3DagLayout extends GraphLayout {
44
+ static defaultProps = {
45
+ ...GraphLayout.defaultProps,
46
+ layout: 'sugiyama',
47
+ layering: 'topological',
48
+ decross: 'twoLayer',
49
+ coord: 'greedy',
50
+ nodeRank: undefined,
51
+ nodeSize: DEFAULT_NODE_SIZE,
52
+ gap: DEFAULT_GAP,
53
+ separation: DEFAULT_GAP,
54
+ orientation: 'TB',
55
+ center: true,
56
+ dagBuilder: 'graph',
57
+ customLayout: undefined,
58
+ customLayering: undefined,
59
+ customDecross: undefined,
60
+ customCoord: undefined,
61
+ customDagBuilder: undefined
62
+ };
63
+ _name = 'D3DagLayout';
64
+ _graph = null;
65
+ _dag = null;
66
+ _layoutOperator = null;
67
+ _rawNodePositions = new Map();
68
+ _rawEdgePoints = new Map();
69
+ _nodePositions = new Map();
70
+ _edgePoints = new Map();
71
+ _edgeControlPoints = new Map();
72
+ _lockedNodePositions = new Map();
73
+ _dagBounds = null;
74
+ _nodeLookup = new Map();
75
+ _stringIdLookup = new Map();
76
+ _edgeLookup = new Map();
77
+ _incomingParentMap = new Map();
78
+ constructor(props, defaultProps) {
79
+ // @ts-expect-error TS2345 - Type 'Required<D3DagLayoutProps>' is not assignable to type 'Required<PropsT>'.
80
+ super(props, defaultProps || D3DagLayout.defaultProps);
81
+ }
82
+ setProps(options) {
83
+ this.props = { ...this.props, ...options };
84
+ if (options.layout !== undefined ||
85
+ options.layering !== undefined ||
86
+ options.decross !== undefined ||
87
+ options.coord !== undefined ||
88
+ options.nodeSize !== undefined ||
89
+ options.gap !== undefined ||
90
+ options.separation !== undefined) {
91
+ this._layoutOperator = null;
92
+ }
93
+ }
94
+ initializeGraph(graph) {
95
+ this.updateGraph(graph);
96
+ }
97
+ updateGraph(graph) {
98
+ this._graph = graph;
99
+ this._nodeLookup = new Map();
100
+ this._stringIdLookup = new Map();
101
+ this._edgeLookup = new Map();
102
+ this._incomingParentMap = new Map();
103
+ for (const node of graph.getNodes()) {
104
+ const id = node.getId();
105
+ const key = this._toDagId(id);
106
+ this._nodeLookup.set(id, node);
107
+ this._stringIdLookup.set(key, id);
108
+ }
109
+ for (const edge of graph.getEdges()) {
110
+ if (!edge.isDirected()) {
111
+ continue;
112
+ }
113
+ const key = this._edgeKey(edge.getSourceNodeId(), edge.getTargetNodeId());
114
+ this._edgeLookup.set(key, edge);
115
+ const targetId = edge.getTargetNodeId();
116
+ const parents = this._incomingParentMap.get(targetId) ?? [];
117
+ parents.push(edge.getSourceNodeId());
118
+ this._incomingParentMap.set(targetId, parents);
119
+ }
120
+ }
121
+ start() {
122
+ this._runLayout();
123
+ }
124
+ update() {
125
+ this._runLayout();
126
+ }
127
+ resume() {
128
+ this._runLayout();
129
+ }
130
+ stop() { }
131
+ toggleCollapsedChain(chainId) {
132
+ log.log(1, `D3DagLayout: toggleCollapsedChain(${chainId}) ignored (collapsing disabled)`);
133
+ }
134
+ setCollapsedChains(chainIds) {
135
+ const desired = Array.isArray(chainIds) ? chainIds : Array.from(chainIds);
136
+ log.log(1, `D3DagLayout: setCollapsedChains(${desired.length}) ignored (collapsing disabled)`);
137
+ }
138
+ getNodePosition(node) {
139
+ if (this._shouldSkipNode(node.getId())) {
140
+ return null;
141
+ }
142
+ const mappedId = this._mapNodeId(node.getId());
143
+ return this._nodePositions.get(mappedId) || null;
144
+ }
145
+ getEdgePosition(edge) {
146
+ const mappedSourceId = this._mapNodeId(edge.getSourceNodeId());
147
+ const mappedTargetId = this._mapNodeId(edge.getTargetNodeId());
148
+ if (mappedSourceId === mappedTargetId) {
149
+ return null;
150
+ }
151
+ const sourcePosition = this._nodePositions.get(mappedSourceId);
152
+ const targetPosition = this._nodePositions.get(mappedTargetId);
153
+ if (!sourcePosition || !targetPosition) {
154
+ return null;
155
+ }
156
+ if (!this._edgePoints.has(edge.getId())) {
157
+ return null;
158
+ }
159
+ // const points = this._edgePoints.get(edge.getId()) || [sourcePosition, targetPosition];
160
+ const controlPoints = this._edgeControlPoints.get(edge.getId()) || [];
161
+ const edgeType = controlPoints.length ? 'spline-curve' : 'line';
162
+ return {
163
+ type: edgeType,
164
+ sourcePosition,
165
+ targetPosition,
166
+ controlPoints
167
+ };
168
+ }
169
+ getLinkControlPoints(edge) {
170
+ return this._edgeControlPoints.get(edge.getId()) || [];
171
+ }
172
+ lockNodePosition(node, x, y) {
173
+ this._lockedNodePositions.set(node.getId(), [x, y]);
174
+ this._nodePositions.set(node.getId(), [x, y]);
175
+ this._onLayoutChange();
176
+ this._onLayoutDone();
177
+ }
178
+ unlockNodePosition(node) {
179
+ this._lockedNodePositions.delete(node.getId());
180
+ }
181
+ _runLayout() {
182
+ if (!this._graph) {
183
+ return;
184
+ }
185
+ this._refreshCollapsedChains();
186
+ this._onLayoutStart();
187
+ try {
188
+ this._dag = this._buildDag();
189
+ const layout = this._getLayoutOperator();
190
+ layout(this._dag);
191
+ this._cacheGeometry();
192
+ this._onLayoutChange();
193
+ this._onLayoutDone();
194
+ }
195
+ catch (error) {
196
+ this._onLayoutError();
197
+ throw error;
198
+ }
199
+ }
200
+ _refreshCollapsedChains() {
201
+ this._updateCollapsedChainNodeMetadata();
202
+ }
203
+ _buildDag() {
204
+ if (this.props.customDagBuilder) {
205
+ const dag = this.props.customDagBuilder(this._graph);
206
+ return this._ensureEdgeData(dag);
207
+ }
208
+ switch (this.props.dagBuilder) {
209
+ case 'connect':
210
+ return this._buildDagWithConnect();
211
+ case 'stratify':
212
+ return this._buildDagWithStratify();
213
+ case 'graph':
214
+ default:
215
+ return this._buildDagWithGraph();
216
+ }
217
+ }
218
+ _buildDagWithGraph() {
219
+ const dag = createDagGraph();
220
+ const dagNodeLookup = new Map();
221
+ for (const node of this._graph.getNodes()) {
222
+ if (this._shouldSkipNode(node.getId())) {
223
+ continue;
224
+ }
225
+ const dagNode = dag.node(node);
226
+ dagNodeLookup.set(node.getId(), dagNode);
227
+ }
228
+ for (const edge of this._graph.getEdges()) {
229
+ if (!edge.isDirected()) {
230
+ continue;
231
+ }
232
+ const sourceId = this._mapNodeId(edge.getSourceNodeId());
233
+ const targetId = this._mapNodeId(edge.getTargetNodeId());
234
+ if (sourceId === targetId) {
235
+ continue;
236
+ }
237
+ const source = dagNodeLookup.get(sourceId);
238
+ const target = dagNodeLookup.get(targetId);
239
+ if (!source || !target) {
240
+ continue;
241
+ }
242
+ dag.link(source, target, edge);
243
+ }
244
+ return dag;
245
+ }
246
+ _buildDagWithConnect() {
247
+ const connect = graphConnect()
248
+ .sourceId(({ source }) => source)
249
+ .targetId(({ target }) => target)
250
+ .nodeDatum((id) => this._nodeLookup.get(this._fromDagId(id)) ?? new Node({ id }))
251
+ .single(true);
252
+ const edges = Array.from(this._graph.getEdges());
253
+ const data = edges
254
+ .filter((edge) => edge.isDirected())
255
+ .map((edge) => {
256
+ const sourceId = this._mapNodeId(edge.getSourceNodeId());
257
+ const targetId = this._mapNodeId(edge.getTargetNodeId());
258
+ return { sourceId, targetId, edge };
259
+ })
260
+ .filter(({ sourceId, targetId }) => sourceId !== targetId)
261
+ .map(({ sourceId, targetId, edge }) => ({
262
+ source: this._toDagId(sourceId),
263
+ target: this._toDagId(targetId),
264
+ edge
265
+ }));
266
+ const dag = connect(data);
267
+ const seenIds = new Set();
268
+ for (const dagNode of dag.nodes()) {
269
+ const datum = dagNode.data;
270
+ if (isNodeInterface(datum)) {
271
+ seenIds.add(datum.getId());
272
+ }
273
+ }
274
+ for (const node of this._graph.getNodes()) {
275
+ if (this._shouldSkipNode(node.getId())) {
276
+ continue;
277
+ }
278
+ if (!seenIds.has(node.getId())) {
279
+ dag.node(node);
280
+ }
281
+ }
282
+ return this._ensureEdgeData(dag);
283
+ }
284
+ _buildDagWithStratify() {
285
+ const stratify = graphStratify()
286
+ .id((node) => this._toDagId(node.getId()))
287
+ .parentIds((node) => {
288
+ const parentIds = this._incomingParentMap.get(node.getId()) ?? [];
289
+ const mapped = new Set();
290
+ for (const parentId of parentIds) {
291
+ if (!this._nodeLookup.has(parentId)) {
292
+ continue;
293
+ }
294
+ const mappedId = this._mapNodeId(parentId);
295
+ if (mappedId === node.getId()) {
296
+ continue;
297
+ }
298
+ mapped.add(this._toDagId(mappedId));
299
+ }
300
+ return mapped;
301
+ });
302
+ const nodes = Array.from(this._graph.getNodes());
303
+ const dag = stratify(nodes.filter((node) => !this._shouldSkipNode(node.getId())));
304
+ return this._ensureEdgeData(dag);
305
+ }
306
+ _shouldSkipNode(_nodeId) {
307
+ return false;
308
+ }
309
+ _mapNodeId(nodeId) {
310
+ return nodeId;
311
+ }
312
+ _updateCollapsedChainNodeMetadata() {
313
+ if (!this._graph) {
314
+ return;
315
+ }
316
+ for (const node of this._graph.getNodes()) {
317
+ node.setDataProperty('collapsedChainId', null);
318
+ node.setDataProperty('collapsedChainLength', 1);
319
+ node.setDataProperty('collapsedNodeIds', []);
320
+ node.setDataProperty('collapsedEdgeIds', []);
321
+ node.setDataProperty('collapsedChainRepresentativeId', null);
322
+ node.setDataProperty('isCollapsedChain', false);
323
+ }
324
+ }
325
+ _getIncomingEdges(node) {
326
+ const nodeId = node.getId();
327
+ return node
328
+ .getConnectedEdges()
329
+ .filter((edge) => edge.isDirected() && edge.getTargetNodeId() === nodeId);
330
+ }
331
+ _getOutgoingEdges(node) {
332
+ const nodeId = node.getId();
333
+ return node
334
+ .getConnectedEdges()
335
+ .filter((edge) => edge.isDirected() && edge.getSourceNodeId() === nodeId);
336
+ }
337
+ _ensureEdgeData(dag) {
338
+ for (const link of dag.links()) {
339
+ if (isEdgeInterface(link.data)) {
340
+ continue;
341
+ }
342
+ const sourceNode = link.source.data;
343
+ const targetNode = link.target.data;
344
+ if (!isNodeInterface(sourceNode) || !isNodeInterface(targetNode)) {
345
+ continue;
346
+ }
347
+ const key = this._edgeKey(sourceNode.getId(), targetNode.getId());
348
+ const edge = this._edgeLookup.get(key);
349
+ if (edge) {
350
+ link.data = edge;
351
+ }
352
+ }
353
+ return dag;
354
+ }
355
+ _getLayoutOperator() {
356
+ if (this._layoutOperator) {
357
+ return this._layoutOperator;
358
+ }
359
+ const layoutOption = this.props.layout ?? D3DagLayout.defaultProps.layout;
360
+ let layout;
361
+ if (typeof layoutOption === 'string') {
362
+ layout = LAYOUT_FACTORIES[layoutOption]();
363
+ }
364
+ else {
365
+ layout = layoutOption;
366
+ }
367
+ // TODO - is 'none' operator an option in d3-dag?
368
+ if (layout.layering && this.props.layering) {
369
+ let layeringOperator = this.props.customLayering || LAYERING_FACTORIES[this.props.layering]();
370
+ layout = layout.layering(layeringOperator);
371
+ const { nodeRank } = this.props;
372
+ if (nodeRank) {
373
+ // @ts-expect-error TS2345 - Argument of type '(dagNode: MutGraphNode<NodeInterface, EdgeInterface>) => number | undefined' is not assignable to parameter of type '(dagNode: MutGraphNode<NodeInterface, EdgeInterface>) => number'.
374
+ layeringOperator = layeringOperator.rank((dagNode) => {
375
+ const node = dagNode.data;
376
+ const rank = typeof nodeRank === 'function' ? nodeRank?.(node) : node?.getPropertyValue(nodeRank) || undefined;
377
+ // if (rank !== undefined) {
378
+ // console.log(`Node ${node.getId()} assigned to rank ${rank}`);
379
+ // }
380
+ return rank;
381
+ });
382
+ }
383
+ layout = layout.layering(layeringOperator);
384
+ }
385
+ if (layout.decross && this.props.decross) {
386
+ const decrossOperator = this.props.customDecross || DECROSS_FACTORIES[this.props.decross]();
387
+ layout = layout.decross(decrossOperator);
388
+ }
389
+ if (layout.coord && this.props.coord) {
390
+ const coordOperator = this.props.customCoord || COORD_FACTORIES[this.props.coord]();
391
+ layout = layout.coord(coordOperator);
392
+ }
393
+ const nodeSize = this.props.nodeSize ?? DEFAULT_NODE_SIZE;
394
+ if (layout.nodeSize) {
395
+ layout = layout.nodeSize(nodeSize);
396
+ }
397
+ const gap = this.props.separation ?? this.props.gap ?? DEFAULT_GAP;
398
+ if (layout.gap) {
399
+ layout = layout.gap(gap);
400
+ }
401
+ this._layoutOperator = layout;
402
+ return layout;
403
+ }
404
+ _cacheGeometry() {
405
+ this._rawNodePositions.clear();
406
+ this._rawEdgePoints.clear();
407
+ if (!this._dag) {
408
+ this._dagBounds = null;
409
+ this._bounds = null;
410
+ return;
411
+ }
412
+ let minX = Number.POSITIVE_INFINITY;
413
+ let maxX = Number.NEGATIVE_INFINITY;
414
+ let minY = Number.POSITIVE_INFINITY;
415
+ let maxY = Number.NEGATIVE_INFINITY;
416
+ for (const dagNode of this._dag.nodes()) {
417
+ const node = dagNode.data;
418
+ const id = node.getId();
419
+ const x = dagNode.x ?? 0;
420
+ const y = dagNode.y ?? 0;
421
+ minX = Math.min(minX, x);
422
+ maxX = Math.max(maxX, x);
423
+ minY = Math.min(minY, y);
424
+ maxY = Math.max(maxY, y);
425
+ this._rawNodePositions.set(id, [x, y]);
426
+ }
427
+ if (minX === Number.POSITIVE_INFINITY) {
428
+ this._dagBounds = null;
429
+ this._bounds = null;
430
+ this._nodePositions.clear();
431
+ this._edgePoints.clear();
432
+ this._edgeControlPoints.clear();
433
+ return;
434
+ }
435
+ this._dagBounds = {
436
+ minX,
437
+ maxX,
438
+ minY,
439
+ maxY,
440
+ centerX: (minX + maxX) / 2,
441
+ centerY: (minY + maxY) / 2
442
+ };
443
+ for (const link of this._dag.links()) {
444
+ const source = link.source.data;
445
+ const target = link.target.data;
446
+ if (!isNodeInterface(source) || !isNodeInterface(target)) {
447
+ continue;
448
+ }
449
+ const edge = isEdgeInterface(link.data)
450
+ ? link.data
451
+ : this._edgeLookup.get(this._edgeKey(source.getId(), target.getId()));
452
+ if (!edge) {
453
+ continue;
454
+ }
455
+ const points = (link.points && link.points.length ? link.points : [[link.source.x ?? 0, link.source.y ?? 0], [link.target.x ?? 0, link.target.y ?? 0]]);
456
+ this._rawEdgePoints.set(edge.getId(), points.map((point) => [...point]));
457
+ }
458
+ this._updateTransformedGeometry();
459
+ }
460
+ _updateTransformedGeometry() {
461
+ this._nodePositions.clear();
462
+ this._edgePoints.clear();
463
+ this._edgeControlPoints.clear();
464
+ if (!this._dagBounds) {
465
+ this._bounds = null;
466
+ return;
467
+ }
468
+ const { offsetX, offsetY } = this._getOffsets();
469
+ const orientation = this.props.orientation ?? D3DagLayout.defaultProps.orientation;
470
+ const transform = (x, y) => {
471
+ const localX = x - offsetX;
472
+ const localY = y - offsetY;
473
+ switch (orientation) {
474
+ case 'BT':
475
+ return [localX, localY];
476
+ case 'LR':
477
+ return [localY, localX];
478
+ case 'RL':
479
+ return [-localY, localX];
480
+ case 'TB':
481
+ default:
482
+ return [localX, -localY];
483
+ }
484
+ };
485
+ for (const [id, [x, y]] of this._rawNodePositions) {
486
+ this._nodePositions.set(id, transform(x, y));
487
+ }
488
+ for (const [edgeId, points] of this._rawEdgePoints) {
489
+ const transformed = points.map(([x, y]) => transform(x, y));
490
+ this._edgePoints.set(edgeId, transformed);
491
+ this._edgeControlPoints.set(edgeId, transformed.length > 2 ? transformed.slice(1, -1) : []);
492
+ }
493
+ for (const [id, position] of this._lockedNodePositions) {
494
+ this._nodePositions.set(id, position);
495
+ }
496
+ this._bounds = this._calculateBounds(this._nodePositions.values());
497
+ }
498
+ _getOffsets() {
499
+ if (!this._dagBounds) {
500
+ return { offsetX: 0, offsetY: 0 };
501
+ }
502
+ const centerOption = this.props.center ?? true;
503
+ let offsetX = 0;
504
+ let offsetY = 0;
505
+ if (centerOption === true) {
506
+ offsetX = this._dagBounds.centerX;
507
+ offsetY = this._dagBounds.centerY;
508
+ }
509
+ else if (centerOption && typeof centerOption === 'object') {
510
+ if (centerOption.x) {
511
+ offsetX = this._dagBounds.centerX;
512
+ }
513
+ if (centerOption.y) {
514
+ offsetY = this._dagBounds.centerY;
515
+ }
516
+ }
517
+ return { offsetX, offsetY };
518
+ }
519
+ _updateBounds() {
520
+ this._bounds = this._calculateBounds(this._nodePositions.values());
521
+ }
522
+ _edgeKey(sourceId, targetId) {
523
+ return `${this._toDagId(sourceId)}${DAG_ID_SEPARATOR}${this._toDagId(targetId)}`;
524
+ }
525
+ _toDagId(id) {
526
+ return String(id);
527
+ }
528
+ _fromDagId(id) {
529
+ return this._stringIdLookup.get(id) ?? id;
530
+ }
531
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"d3-dag-layout.js","sourceRoot":"","sources":["../../../src/layouts/d3-dag/d3-dag-layout.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { GraphLayout, GraphLayoutOptions } from "../../core/graph-layout.js";
2
- export type D3ForceLayoutOptions = GraphLayoutOptions & {
1
+ import { GraphLayout, GraphLayoutProps } from '../../core/graph-layout';
2
+ import type { Graph, NodeInterface, EdgeInterface } from '../../graph/graph';
3
+ export type D3ForceLayoutOptions = GraphLayoutProps & {
3
4
  alpha?: number;
4
5
  resumeAlpha?: number;
5
6
  nBodyStrength?: number;
@@ -8,27 +9,38 @@ export type D3ForceLayoutOptions = GraphLayoutOptions & {
8
9
  getCollisionRadius?: number;
9
10
  };
10
11
  export declare class D3ForceLayout extends GraphLayout<D3ForceLayoutOptions> {
11
- static defaultOptions: Required<D3ForceLayoutOptions>;
12
+ static defaultProps: {
13
+ readonly alpha: 0.3;
14
+ readonly resumeAlpha: 0.1;
15
+ readonly nBodyStrength: -900;
16
+ readonly nBodyDistanceMin: 100;
17
+ readonly nBodyDistanceMax: 400;
18
+ readonly getCollisionRadius: 0;
19
+ readonly onLayoutStart: (detail?: import("../../core/graph-layout").GraphLayoutEventDetail) => void;
20
+ readonly onLayoutChange: (detail?: import("../../core/graph-layout").GraphLayoutEventDetail) => void;
21
+ readonly onLayoutDone: (detail?: import("../../core/graph-layout").GraphLayoutEventDetail) => void;
22
+ readonly onLayoutError: (error?: unknown) => void;
23
+ };
12
24
  protected readonly _name = "D3";
13
25
  private _positionsByNodeId;
14
26
  private _graph;
15
27
  private _worker;
16
- constructor(options?: D3ForceLayoutOptions);
17
- initializeGraph(graph: any): void;
18
- updateGraph(graph: any): void;
28
+ constructor(props?: D3ForceLayoutOptions);
29
+ initializeGraph(graph: Graph): void;
30
+ updateGraph(graph: Graph): void;
19
31
  start(): void;
20
32
  update(): void;
21
33
  _engageWorker(): void;
22
34
  resume(): void;
23
35
  stop(): void;
24
- getEdgePosition: (edge: any) => {
36
+ getEdgePosition: (edge: EdgeInterface) => {
25
37
  type: string;
26
38
  sourcePosition: any;
27
39
  targetPosition: any;
28
40
  controlPoints: any[];
29
41
  };
30
- getNodePosition: (node: any) => any;
31
- lockNodePosition: (node: any, x: any, y: any) => void;
32
- unlockNodePosition: (node: any) => void;
42
+ getNodePosition: (node: NodeInterface | null) => any;
43
+ lockNodePosition: (node: NodeInterface, x: number, y: number) => void;
44
+ unlockNodePosition: (node: NodeInterface) => void;
45
+ protected _updateBounds(): void;
33
46
  }
34
- //# sourceMappingURL=d3-force-layout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"d3-force-layout.d.ts","sourceRoot":"","sources":["../../../src/layouts/d3-force/d3-force-layout.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,WAAW,EAAE,kBAAkB,EAAC,mCAAgC;AAIxE,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,qBAAa,aAAc,SAAQ,WAAW,CAAC,oBAAoB,CAAC;IAClE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAOnD;IAEF,SAAS,CAAC,QAAQ,CAAC,KAAK,QAAQ;IAChC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,OAAO,CAAM;gBAET,OAAO,CAAC,EAAE,oBAAoB;IAS1C,eAAe,CAAC,KAAK,KAAA;IAKrB,WAAW,CAAC,KAAK,KAAA;IAQjB,KAAK;IAML,MAAM;IAIN,aAAa;IAuCb,MAAM;IAIN,IAAI;IAIJ,eAAe;;;;;MAab;IAEF,eAAe,qBAOb;IAEF,gBAAgB,sCAYd;IAEF,kBAAkB,sBAIhB;CACH"}
1
+ {"version":3,"file":"d3-force-layout.d.ts","sourceRoot":"","sources":["../../../src/layouts/d3-force/d3-force-layout.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAC,mCAAgC;AACtE,OAAO,KAAK,EAAC,KAAK,EAAE,aAAa,EAAE,aAAa,EAAC,6BAA0B;AAG3E,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,qBAAa,aAAc,SAAQ,WAAW,CAAC,oBAAoB,CAAC;IAClE,MAAM,CAAC,YAAY;;;;;;;uCADY,CAAC;wCACV,CAAC;sCAGhB,CAAC;sCAEY,CAAC;MAGyC;IAE9D,SAAS,CAAC,QAAQ,CAAC,KAAK,QAAQ;IAChC,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,OAAO,CAAuB;gBAE1B,KAAK,CAAC,EAAE,oBAAoB;IAIxC,eAAe,CAAC,KAAK,EAAE,KAAK;IAK5B,WAAW,CAAC,KAAK,EAAE,KAAK;IAWxB,KAAK;IAML,MAAM;IAIN,aAAa;IAqDb,MAAM;IAIN,IAAI;IAOJ,eAAe,GAAI,MAAM,aAAa;;;;;MAwBpC;IAEF,eAAe,GAAI,MAAM,aAAa,GAAG,IAAI,SAW3C;IAEF,gBAAgB,GAAI,MAAM,aAAa,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,UAa3D;IAEF,kBAAkB,GAAI,MAAM,aAAa,UAQvC;cAEiB,aAAa,IAAI,IAAI;CAOzC"}