@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
@@ -1 +1 @@
1
- {"version":3,"file":"graph-layer.js","sourceRoot":"","sources":["../../src/layers/graph-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-layer.js","sourceRoot":"","sources":["../../src/layers/graph-layer.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,+BAA+B;AAC/B,oCAAoC;AAKpC,OAAO,EAAC,iBAAiB,EAAE,cAAc,EAAC,MAAM,eAAe,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAC,YAAY,EAAC,kCAA+B;AACpD,OAAO,EAAC,WAAW,EAA8B,gCAA6B;AAC9E,OAAO,EAAC,WAAW,EAAC,gCAA6B;AAEjD,OAAO,EACL,qBAAqB,EAEtB,uCAAoC;AAErC,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,EAK9B,2CAAwC;AAEzC,cAAc;AACd,OAAO,EAAC,WAAW,EAAC,sCAAmC;AACvD,OAAO,EAAC,UAAU,EAAC,qCAAkC;AACrD,OAAO,EAAC,UAAU,EAAC,qCAAkC;AACrD,OAAO,EAAC,cAAc,EAAC,yCAAsC;AAC7D,OAAO,EAAC,qBAAqB,EAAC,iDAA8C;AAC5E,OAAO,EAAC,8BAA8B,EAAC,sDAAmD;AAC1F,OAAO,EAAC,mBAAmB,EAAC,+CAA4C;AAExE,cAAc;AACd,OAAO,EAAC,SAAS,EAAC,wBAAqB;AACvC,OAAO,EAAC,cAAc,EAAC,0CAAuC;AAC9D,OAAO,EAAC,SAAS,EAAC,oCAAiC;AACnD,OAAO,EAAC,cAAc,EAAC,0CAAuC;AAC9D,OAAO,EAAC,oBAAoB,EAAC,oCAAiC;AAC9D,OAAO,EAAC,SAAS,EAAsB,iDAA8C;AAErF,OAAO,EAAC,eAAe,EAAC,wCAAqC;AAE7D,OAAO,EAAC,gBAAgB,EAAC,gCAA6B;AACtD,OAAO,EAAC,kBAAkB,EAAC,uCAAoC;AAC/D,OAAO,EAAC,yBAAyB,EAAC,qCAAkC;AACpE,OAAO,EACL,oBAAoB,EACpB,eAAe,EAGhB,8BAA2B;AAE5B,OAAO,EAAC,IAAI,EAAC,wBAAqB;AAElC,MAAM,cAAc,GAAG;IACrB,WAAW,EAAE,cAAc;IAC3B,mBAAmB,EAAE,qBAAqB;IAC1C,wBAAwB,EAAE,8BAA8B;IACxD,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,mBAAmB;CAC9B,CAAC;AAEF,MAAM,wBAAwB,GAAG;IAC/B,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,cAAc;CACxB,CAAC;AAaF,MAAM,kBAAkB,GAAG;IACzB,gBAAgB,EAAE,iBAAiB,CAAC,SAAS;IAC7C,UAAU,EAAE;QACV,SAAS,EAAE,KAAK;KACjB;CACF,CAAC;AAEF,MAAM,8BAA8B,GAClC,0GAA0G,CAAC;AAC7G,MAAM,8BAA8B,GAClC,0GAA0G,CAAC;AAE7G,MAAM,8BAA8B,GAClC,kFAAkF,CAAC;AACrF,MAAM,uBAAuB,GAC3B,sEAAsE,CAAC;AAEzE,IAAI,6BAA6B,GAAG,KAAK,CAAC;AAC1C,IAAI,6BAA6B,GAAG,KAAK,CAAC;AAC1C,IAAI,6BAA6B,GAAG,KAAK,CAAC;AAC1C,IAAI,sBAAsB,GAAG,KAAK,CAAC;AA8DnC,uEAAuE;AACvE,MAAM,OAAO,UAAW,SAAQ,cAA+B;IAC7D,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC;IAEhC,MAAM,CAAC,YAAY,GAEf;QACF,wBAAwB;QACxB,yCAAyC;QACzC,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC;QAEhD,cAAc;QACd,WAAW,EAAE,eAAe;QAE5B,UAAU,EAAE,8BAA8B;QAC1C,SAAS,EAAE,SAA6C;QACxD,UAAU,EAAE;YACV,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;YACtB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;YACjB,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;YACtB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;YACjB,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;SACjB;QACD,SAAS,EAAE,SAAmE;QAC9E,UAAU,EAAE;YACV,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;YACjB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;SAClB;QACD,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,KAAK;QACf,yBAAyB,EAAE,IAAI;KAChC,CAAC;IAEF,iFAAiF;IACjF,KAAK,CAMH;IAEe,qBAAqB,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC5D,2BAA2B,GAAG,KAAK,CAAC;IAE5C,WAAW,GAAG,GAAG,EAAE;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,EAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,EAAC,CAAC,CAAC;IACzE,CAAC,CAAC;IAEF,YAAY,KAA4C;QACtD,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAED,eAAe;QACb,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAC/C;YACE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;YACjC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;YACjC,MAAM,EAAE,SAAgB;YACxB,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;YAClD,yBAAyB,EAAE,OAAO,CAChC,IAAI,CAAC,KAAK,CAAC,yBAAyB,IAAI,UAAU,CAAC,YAAY,CAAC,yBAAyB,CAC1F;SACF,EACD,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CACzB,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG;YACX,kBAAkB;YAClB,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,SAAS;YACtB,kBAAkB,EAAE,CAAC;SACD,CAAC;QAEvB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IAC1D,CAAC;IAED,iBAAiB,CAAC,EAAC,WAAW,EAAC;QAC7B,OAAO,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY,CAAC;IACzF,CAAC;IAED,WAAW,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAC;QACxC,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC;QACtD,MAAM,eAAe,GACnB,WAAW,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtF,MAAM,WAAW,GAAG,eAAe,IAAI,gBAAgB,CAAC;QACxD,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC;QACvD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;QACpD,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC;QACvD,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,CAAC;QAEjE,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE;YAC1D,WAAW;YACX,aAAa;YACb,YAAY;YACZ,aAAa;YACb,aAAa;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YACtC,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,IAAI,CAAC,eAAe,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;IAC3C,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAEO,sBAAsB;QAC5B,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAEtD,MAAM,cAAc,GAAG,OAAO,SAAS,KAAK,WAAW,CAAC;QACxD,IAAI,cAAc,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACrD,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACrC,6BAA6B,GAAG,IAAI,CAAC;QACvC,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,SAAS,KAAK,WAAW,CAAC;QACxD,IAAI,cAAc,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACrD,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACrC,6BAA6B,GAAG,IAAI,CAAC;QACvC,CAAC;QAED,OAAO,6BAA6B,CAAC;YACnC,UAAU;YACV,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACjD,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC,CAAC;IACL,CAAC;IAEO,uBAAuB,CAC7B,KAAsB,EACtB,OAAe;QAEf,IAAI,CAAC;YACH,OAAO,IAAI,qBAAqB,CAAC,KAAK,EAAE;gBACtC,kBAAkB,EAAG,IAAI,CAAC,KAAK,CAAC,kBAA0B,CAAC,kBAAkB,EAAE;aAChF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,+BAA+B,OAAO,KAAK,OAAO,EAAE,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,uBAAuB,CAC7B,KAAsB,EACtB,EACE,KAAK,GAAG,KAAK,EACb,WAAW,GAAG,KAAK,EACnB,aAAa,GAAG,KAAK,EACrB,YAAY,GAAG,KAAK,EACpB,aAAa,GAAG,KAAK,EACrB,aAAa,GAAG,KAAK,EAQtB;QAED,MAAM,EAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE;YAC9E,KAAK;YACL,WAAW;YACX,aAAa;YACb,YAAY;YACZ,aAAa;YACb,aAAa;SACd,CAAC,CAAC;QAEH,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC;QACrD,IAAI,CAAC,aAAa,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACjC,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,uBAAuB,CAC7B,KAAsB,EACtB,KAA4B;QAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjE,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/D,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACxF,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAC,CAAC;QAC7C,CAAC;QAED,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,KAAK,EAAC,CAAC;IACzD,CAAC;IAEO,kBAAkB,CACxB,KAAsB,EACtB,EAAC,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAwB;QAEzE,MAAM,SAAS,GAAG,KAAK,CAAC,IAA8C,CAAC;QACvE,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,IAAI,WAAW,IAAI,aAAa,IAAI,aAAa,CAAC;QAC7E,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAC,CAAC;QACnD,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAC,CAAC;QACnD,CAAC;QAED,OAAO;YACL,MAAM;YACN,aAAa,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAC9B,KAAsB,EACtB,EAAC,KAAK,EAAE,aAAa,EAAwB;QAE7C,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAC,CAAC;QAC7C,CAAC;QAED,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,aAAa,EAAE,KAAK,IAAI,aAAa;SACtC,CAAC;IACJ,CAAC;IAEO,uBAAuB,CAC7B,KAAsB,EACtB,EAAC,KAAK,EAAE,YAAY,EAAE,aAAa,EAAwB;QAE3D,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAC7D,aAAa,EAAE,KAAK,IAAI,YAAY,IAAI,aAAa;SACtD,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAC3B,IAAyB,EACzB,KAAsB;QAEtB,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAQ,IAAyC,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YAC3E,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,IAAI,eAAe,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,qBAAqB,CAC3B,KAAmB,EACnB,MAA2B;QAE3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,KAAK,YAAY,YAAY,IAAI,MAAM,YAAY,WAAW,EAAE,CAAC;YACnE,OAAO,IAAI,WAAW,CAAC,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,MAAM,YAAY,WAAW,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC,EAAE,CAAC;YACtE,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,IAAI,WAAW,CAAC,EAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAC,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,WAAW,CAAC,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,uBAAuB,CAAC,KAAsB,EAAE,MAA0B;QAChF,MAAM,yBAAyB,GAC7B,KAAK,CAAC,yBAAyB,IAAI,UAAU,CAAC,YAAY,CAAC,yBAAyB,CAAC;QAEvF,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC;YACxC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,UAAU,CAAC,YAAY,CAAC,UAAU;YAClE,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,UAAU,CAAC,YAAY,CAAC,UAAU;YAClE,MAAM,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAQ;YAC/C,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;YAC7C,yBAAyB,EAAE,OAAO,CAAC,yBAAyB,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACnC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACrC,6BAA6B,GAAG,IAAI,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC9B,sBAAsB,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,KAAc;QAC7B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GAAG,KAAc,CAAC;QACjC,OAAO,CACL,OAAO,SAAS,CAAC,QAAQ,KAAK,UAAU,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,UAAU,CACrF,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,KAAc;QACjC,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,sBAAsB,CAAC,KAAY;QACzC,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GAAG,KAA6D,CAAC;QAChF,IAAI,OAAO,SAAS,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YACnD,IAAI,CAAC;gBACH,OAAO,SAAS,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC;YAC5C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,+EAA+E,EAAE,KAAK,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,qBAAqB,CAAC,MAA2B;QACvD,MAAM,YAAY,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC;QAE9D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;gBACpF,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,EAAC,aAAa,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAC,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,mBAAmB,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;QAEhD,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrF,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,EAAC,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAC,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,kBAAkB,GAAG,GAAG,EAAE;QAChC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC,CAAC;IAEF,eAAe,CAAC,WAA+B;QAC7C,IAAI,WAAW,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;YAC/C,CAAC;YACD,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;YACrC,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;YAC7C,WAAW,CAAC,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,kBAAkB;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACtC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,QAAQ,CAAC;gBACd,aAAa,EAAE,SAAS;gBACxB,cAAc,EAAE,SAAS;gBACzB,YAAY,EAAE,SAAS;gBACvB,aAAa,EAAE,SAAS;aACzB,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAEO,0BAA0B,CAAC,MAAmB;QACpD,MAAM,CAAC,QAAQ,CAAC;YACd,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE;gBACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;gBACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YACD,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;gBACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YACD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAC,OAAO,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7E,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,YAAY,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;QAE1C,OAAO,IAAI,SAAS,CAAC;YACnB,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,YAAY;YAChC,IAAI;YACJ,SAAS;YACT,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,KAAK;YACf,GAAG,SAAS;SACb,CAAC,CAAC;IACL,CAAC;IAEO,wBAAwB,CAC9B,KAAkC;QAElC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC;QAC1B,CAAC;QAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,EAAC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC;QACzD,CAAC;QAED,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC;IAC1B,CAAC;IAEO,sBAAsB,CAAC,MAAmB;QAGhD,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC;QACxD,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAClF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;YAChC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;YAChC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;YAChC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;SACjC,CAAC;IACJ,CAAC;IAEO,kBAAkB,CACxB,MAAmB,EACnB,MAAkC,EAClC,MAAoC;QAEpC,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC1E,2BAA2B;QAC3B,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,eAAe,EAAE;YACpF,YAAY,EAAE,MAAM,EAAE,YAAY;YAClC,aAAa,EAAE,MAAM,EAAE,aAAa;YACpC,MAAM,EAAE,EAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAC;SAC7C,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAAG,eAAe,CAAC,aAAa,EAAE;YACnD,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAC,EAAE,EAAE,CAAC,CAAC;YACtD,KAAK,EAAE,GAAG,eAAe,IAAI,IAAI,EAAE;YACnC,IAAI;YACJ,aAAa,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;YACtD,SAAS;SACV,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,sBAAsB,CAAC,YAAsC;QACnE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,IAAI,OAAO,YAAY,KAAK,UAAU,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;YAC5D,OAAO,YAAY,CAAC,IAAI,CAAC;QAC3B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gBAAgB;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACtC,MAAM,EAAC,KAAK,EAAE,UAAU,EAAC,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE1D,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAAG,UAAU;aAC1B,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAClB,MAAM,EAAC,QAAQ,GAAG,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,SAAS,EAAC,GAAG,KAAK,CAAC;YACvF,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,kCAAkC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;gBACvD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAC7C,SAAuC,EACvC,oBAAoB,KAAK,CAAC,IAAI,GAAG,CAClC,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,SAAS,GAAG,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC5D,OAAO,IAAI,SAAS,CAAC;gBACnB,GAAG,kBAAkB;gBACrB,EAAE,EAAE,aAAa,GAAG,EAAE;gBACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC7B,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC;gBAChE,QAAQ;gBACR,qBAAqB,EAAE;oBACrB,MAAM,CAAC,mBAAmB,EAAE;oBAC5B,MAAM,CAAC,cAAc,EAAE;oBACvB,UAAU,CAAC,8BAA8B,CAAC,WAAW,CAAC;iBACvD,CAAC,IAAI,EAAE;gBACR,UAAU;gBACV,OAAO;aACD,CAAC,CAAC;QACZ,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAU,CAAC;QAE5B,MAAM,WAAW,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAE3D,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,gBAAgB;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACtC,MAAM,EAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAC,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE7E,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAE7E,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC;YACjE,MAAM;YACN,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB;YACjD,SAAS,EAAE,UAAU;SACtB,CAAC,CAAC;QAEH,OAAO,cAAc;aAClB,MAAM,CAAC,OAAO,CAAC;aACf,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtB,MAAM,EAAC,UAAU,EAAE,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,aAAa,EAAC,GAAG,KAAK,CAAC;YACtF,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAC7C;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,aAAa;aACE,EACpB,iBAAiB,CAClB,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;gBAC9B,GAAG,kBAAkB;gBACrB,EAAE,EAAE,cAAc,GAAG,EAAE;gBACvB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC7B,aAAa;gBACb,QAAQ,EAAE,IAAI;gBACd,qBAAqB,EAAE,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,EAAE;gBACrF,UAAU;gBACV,OAAO;aACD,CAAC,CAAC;YAEV,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzE,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC;YAED,MAAM,eAAe,GAAG,UAAU;iBAC/B,MAAM,CAAC,OAAO,CAAC;gBAChB,wEAAwE;iBACvE,GAAG,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,EAAE;gBAC5B,MAAM,cAAc,GAAG,wBAAwB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrE,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,IAAI,CAAC,4CAA4C,cAAc,CAAC,IAAI,IAAI,CAAC,CAAC;oBAC1E,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,CACtD,cAA4C,EAC5C,8BAA8B,cAAc,CAAC,IAAI,GAAG,CACrD,CAAC;gBACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACzB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,IAAI,cAAc,CAAC;oBACxB,GAAG,kBAAkB;oBACrB,EAAE,EAAE,kBAAkB,IAAI,EAAE;oBAC5B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC7B,aAAa;oBACb,QAAQ,EAAE,IAAI;oBACd,qBAAqB,EAAE,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,EAAE;oBACrF,UAAU,EAAE,mBAAmB;iBACzB,CAAC,CAAC;YACZ,CAAC,CAAC;iBACD,MAAM,CAAC,OAAO,CAAC,CAAC;YAEnB,OAAO,CAAC,SAAS,EAAE,GAAG,eAAe,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,KAAK;QACjB,OAAQ,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAwB,IAAI,KAAK,CAAC;IAC7F,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,KAAK;QACjB,OAAQ,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAwB,IAAI,KAAK,CAAC;IAC7F,CAAC;IAED,WAAW,CAAC,IAAI,EAAE,KAAK;QACrB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,KAAK;QAChB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,CAAC,IAAI,EAAE,KAAK;QACnB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,YAAY;QACV,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,yBAAyB,CAAC,MAAmB;QACnD,MAAM,SAAS,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,EACJ,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACrB,GAAG,SAAS,CAAC;QAEd,MAAM,MAAM,GAAU,EAAE,CAAC;QAEzB,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CACT,IAAI,YAAY,CAAC;gBACf,GAAG,kBAAkB;gBACrB,EAAE,EAAE,0BAA0B;gBAC9B,IAAI,EAAE,qBAAqB;gBAC3B,UAAU,EAAE,CAAC,IAAmB,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC;gBACjE,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,KAAK;gBACb,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;gBAChC,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,QAAQ;gBACxB,kBAAkB,EAAE,CAAC;gBACrB,QAAQ,EAAE,IAAI;gBACd,cAAc,EAAE;oBACd,UAAU,EAAE,CAAC,oBAAoB,CAAC;iBACnC;aACF,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,yBAAyB,GAAG,IAAI,CAAC,uBAAuB,CAC5D;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;YACxB,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,oBAAoB;YAC5B,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACjB,aAAa,EAAE,KAAK;SACQ,EAC9B,mCAAmC,CACpC,CAAC;QAEF,IAAI,yBAAyB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3D,MAAM,SAAS,GAAG,yBAAyB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC3E,MAAM,CAAC,IAAI,CACT,IAAI,mBAAmB,CAAC;gBACtB,GAAG,kBAAkB;gBACrB,EAAE,EAAE,yBAAyB;gBAC7B,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC;gBAChE,QAAQ,EAAE,IAAI;gBACd,qBAAqB,EAAE;oBACrB,MAAM,CAAC,mBAAmB,EAAE;oBAC5B,MAAM,CAAC,cAAc,EAAE;oBACvB,yBAAyB,CAAC,8BAA8B,CAAC,WAAW,CAAC;iBACtE,CAAC,IAAI,EAAE;gBACR,UAAU,EAAE,yBAAyB;gBACrC,OAAO,EAAE,IAAI;aACP,CAAC,CACV,CAAC;QACJ,CAAC;QAED,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CACT,IAAI,YAAY,CAAC;gBACf,GAAG,kBAAkB;gBACrB,EAAE,EAAE,yBAAyB;gBAC7B,IAAI,EAAE,oBAAoB;gBAC1B,UAAU,EAAE,CAAC,IAAmB,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC;gBACjE,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,KAAK;gBACb,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;gBAChC,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,QAAQ;gBACxB,kBAAkB,EAAE,CAAC;gBACrB,QAAQ,EAAE,IAAI;gBACd,cAAc,EAAE;oBACd,UAAU,EAAE,CAAC,oBAAoB,CAAC;iBACnC;aACF,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,wBAAwB,GAAG,IAAI,CAAC,uBAAuB,CAC3D;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;YACxB,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,qBAAqB;YAC7B,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACjB,aAAa,EAAE,KAAK;SACQ,EAC9B,kCAAkC,CACnC,CAAC;QAEF,IAAI,wBAAwB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,MAAM,SAAS,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC1E,MAAM,CAAC,IAAI,CACT,IAAI,mBAAmB,CAAC;gBACtB,GAAG,kBAAkB;gBACrB,EAAE,EAAE,wBAAwB;gBAC5B,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC;gBAChE,QAAQ,EAAE,IAAI;gBACd,qBAAqB,EAAE;oBACrB,MAAM,CAAC,mBAAmB,EAAE;oBAC5B,MAAM,CAAC,cAAc,EAAE;oBACvB,wBAAwB,CAAC,8BAA8B,CAAC,WAAW,CAAC;iBACrE,CAAC,IAAI,EAAE;gBACR,UAAU,EAAE,wBAAwB;gBACpC,OAAO,EAAE,IAAI;aACP,CAAC,CACV,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;;AAGD,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;AAC9D,CAAC"}
@@ -4,4 +4,3 @@ export declare class CircleLayer extends CompositeLayer {
4
4
  static layerName: string;
5
5
  renderLayers(): ScatterplotLayer<any, {}>[];
6
6
  }
7
- //# sourceMappingURL=circle-layer.d.ts.map
@@ -21,4 +21,3 @@ export class CircleLayer extends CompositeLayer {
21
21
  ];
22
22
  }
23
23
  }
24
- //# sourceMappingURL=circle-layer.js.map
@@ -4,4 +4,3 @@ export declare class ImageLayer extends CompositeLayer {
4
4
  static layerName: string;
5
5
  renderLayers(): IconLayer<any, {}>[];
6
6
  }
7
- //# sourceMappingURL=image-layer.d.ts.map
@@ -21,4 +21,3 @@ export class ImageLayer extends CompositeLayer {
21
21
  ];
22
22
  }
23
23
  }
24
- //# sourceMappingURL=image-layer.js.map
@@ -1,7 +1,6 @@
1
1
  import { CompositeLayer } from '@deck.gl/core';
2
- import { ZoomableTextLayer } from "../common-layers/zoomable-text-layer/zoomable-text-layer.js";
2
+ import { ZoomableTextLayer } from '../common-layers/zoomable-text-layer/zoomable-text-layer';
3
3
  export declare class LabelLayer extends CompositeLayer {
4
4
  static layerName: string;
5
5
  renderLayers(): ZoomableTextLayer[];
6
6
  }
7
- //# sourceMappingURL=label-layer.d.ts.map
@@ -2,7 +2,7 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
  import { CompositeLayer } from '@deck.gl/core';
5
- import { ZoomableTextLayer } from "../common-layers/zoomable-text-layer/zoomable-text-layer.js";
5
+ import { ZoomableTextLayer } from '../common-layers/zoomable-text-layer/zoomable-text-layer';
6
6
  export class LabelLayer extends CompositeLayer {
7
7
  static layerName = 'LabelLayer';
8
8
  renderLayers() {
@@ -21,4 +21,3 @@ export class LabelLayer extends CompositeLayer {
21
21
  ];
22
22
  }
23
23
  }
24
- //# sourceMappingURL=label-layer.js.map
@@ -4,4 +4,3 @@ export declare class PathBasedRoundedRectangleLayer extends CompositeLayer {
4
4
  static layerName: string;
5
5
  renderLayers(): PolygonLayer<any, {}>[];
6
6
  }
7
- //# sourceMappingURL=path-rounded-rectangle-layer.d.ts.map
@@ -3,7 +3,7 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
  import { CompositeLayer } from '@deck.gl/core';
5
5
  import { PolygonLayer } from '@deck.gl/layers';
6
- import { generateRoundedCorners } from "../../utils/polygon-calculations.js";
6
+ import { generateRoundedCorners } from '../../utils/polygon-calculations';
7
7
  const generateRoundedRectangle = (node, { getWidth, getHeight, getPosition, getCornerRadius }) => {
8
8
  const pos = getPosition(node);
9
9
  const width = typeof getWidth === 'function' ? getWidth(node) : getWidth;
@@ -44,4 +44,3 @@ export class PathBasedRoundedRectangleLayer extends CompositeLayer {
44
44
  ];
45
45
  }
46
46
  }
47
- //# sourceMappingURL=path-rounded-rectangle-layer.js.map
@@ -4,4 +4,3 @@ export declare class RectangleLayer extends CompositeLayer {
4
4
  static layerName: string;
5
5
  renderLayers(): PolygonLayer<any, {}>[];
6
6
  }
7
- //# sourceMappingURL=rectangle-layer.d.ts.map
@@ -47,4 +47,3 @@ export class RectangleLayer extends CompositeLayer {
47
47
  ];
48
48
  }
49
49
  }
50
- //# sourceMappingURL=rectangle-layer.js.map
@@ -1,2 +1 @@
1
1
  export declare const fs = "#define SHADER_NAME rounded-rectangle-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vFillColor;\nvarying vec2 unitPosition;\n\nvoid main(void) {\n\n float distToCenter = length(unitPosition);\n\n /* Calculate the cutoff radius for the rounded corners */\n float threshold = sqrt(2.0) * (1.0 - roundedRectangle.cornerRadius) + 1.0 * roundedRectangle.cornerRadius;\n if (distToCenter <= threshold) {\n gl_FragColor = vFillColor;\n } else {\n discard;\n }\n\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n}\n";
2
- //# sourceMappingURL=rounded-rectangle-layer-fragment.d.ts.map
@@ -26,4 +26,3 @@ void main(void) {
26
26
  gl_FragColor = picking_filterPickingColor(gl_FragColor);
27
27
  }
28
28
  `;
29
- //# sourceMappingURL=rounded-rectangle-layer-fragment.js.map
@@ -1,4 +1,4 @@
1
- import { RectangleLayer } from "./rectangle-layer.js";
1
+ import { RectangleLayer } from './rectangle-layer';
2
2
  export type RoundedRectangleProps = {
3
3
  cornerRadius: number;
4
4
  };
@@ -15,4 +15,3 @@ export declare class RoundedRectangleLayer extends RectangleLayer {
15
15
  draw(props: any): void;
16
16
  getShaders(): any;
17
17
  }
18
- //# sourceMappingURL=rounded-rectangle-layer.d.ts.map
@@ -1,8 +1,8 @@
1
1
  // deck.gl-community
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { fs } from "./rounded-rectangle-layer-fragment.js";
5
- import { RectangleLayer } from "./rectangle-layer.js";
4
+ import { fs } from './rounded-rectangle-layer-fragment';
5
+ import { RectangleLayer } from './rectangle-layer';
6
6
  const uniformBlock = `\
7
7
  uniform roundedRectangleUniforms {
8
8
  float cornerRadius;
@@ -40,4 +40,3 @@ RoundedRectangleLayer.defaultProps = {
40
40
  // 0 - rectangle. 1 - circle.
41
41
  cornerRadius: 0.1
42
42
  };
43
- //# sourceMappingURL=rounded-rectangle-layer.js.map
@@ -1,5 +1,5 @@
1
1
  import { CompositeLayer } from '@deck.gl/core';
2
- import { MarkerLayer } from "../common-layers/marker-layer/marker-layer.js";
2
+ import { MarkerLayer } from '../common-layers/marker-layer/marker-layer';
3
3
  export declare class ZoomableMarkerLayer extends CompositeLayer {
4
4
  static layerName: string;
5
5
  shouldUpdateState({ props, changeFlags }: {
@@ -8,4 +8,3 @@ export declare class ZoomableMarkerLayer extends CompositeLayer {
8
8
  }): any;
9
9
  renderLayers(): MarkerLayer[];
10
10
  }
11
- //# sourceMappingURL=zoomable-marker-layer.d.ts.map
@@ -2,7 +2,7 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
  import { CompositeLayer } from '@deck.gl/core';
5
- import { MarkerLayer } from "../common-layers/marker-layer/marker-layer.js";
5
+ import { MarkerLayer } from '../common-layers/marker-layer/marker-layer';
6
6
  export class ZoomableMarkerLayer extends CompositeLayer {
7
7
  static layerName = 'ZoomableMarkerLayer';
8
8
  shouldUpdateState({ props, changeFlags }) {
@@ -38,4 +38,3 @@ export class ZoomableMarkerLayer extends CompositeLayer {
38
38
  ];
39
39
  }
40
40
  }
41
- //# sourceMappingURL=zoomable-marker-layer.js.map
@@ -0,0 +1,24 @@
1
+ import type { Graph } from '../../graph/graph';
2
+ import { D3DagLayout, type D3DagLayoutProps } from './d3-dag-layout';
3
+ export type CollapsableD3DagLayoutProps = D3DagLayoutProps & {
4
+ /** Whether to collapse linear chains of nodes into a single representative. */
5
+ collapseLinearChains?: boolean;
6
+ };
7
+ export declare class CollapsableD3DagLayout extends D3DagLayout<CollapsableD3DagLayoutProps> {
8
+ static defaultProps: Required<CollapsableD3DagLayoutProps>;
9
+ private _chainDescriptors;
10
+ private _nodeToChainId;
11
+ private _collapsedChainState;
12
+ private _hiddenNodeIds;
13
+ constructor(props?: CollapsableD3DagLayoutProps);
14
+ setProps(props: Partial<CollapsableD3DagLayoutProps>): void;
15
+ updateGraph(graph: Graph): void;
16
+ toggleCollapsedChain(chainId: string): void;
17
+ setCollapsedChains(chainIds: Iterable<string>): void;
18
+ protected _refreshCollapsedChains(): void;
19
+ protected _updateCollapsedChainNodeMetadata(): void;
20
+ protected _shouldSkipNode(nodeId: string | number): boolean;
21
+ protected _mapNodeId(nodeId: string | number): string | number;
22
+ private _createChainId;
23
+ private _isChainCollapsed;
24
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapsable-d3-dag-layout.d.ts","sourceRoot":"","sources":["../../../src/layouts/d3-dag/collapsable-d3-dag-layout.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,KAAK,EAA+B,6BAA0B;AAG3E,OAAO,EAAC,WAAW,EAAE,KAAK,gBAAgB,EAAC,2BAAwB;AASnE,MAAM,MAAM,2BAA2B,GAAG,gBAAgB,GAAG;IAC3D,+EAA+E;IAC/E,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAA;AAED,qBAAa,sBAAuB,SAAQ,WAAW,CAAC,2BAA2B,CAAC;IAClF,OAAgB,YAAY,EAAE,QAAQ,CAAC,2BAA2B,CAAC,CAGlE;IAED,OAAO,CAAC,iBAAiB,CAA+C;IACxE,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,cAAc,CAA8B;gBAExC,KAAK,GAAE,2BAAgC;IAI1C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAAG,IAAI;IAO3D,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAO/B,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IA6B3C,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;cAkC1C,uBAAuB,IAAI,IAAI;cAoJ/B,iCAAiC,IAAI,IAAI;cAwCzC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;cAIjD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM;IAcvE,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;CAI1B"}
@@ -0,0 +1,251 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { log } from '../../utils/log';
5
+ import { D3DagLayout } from './d3-dag-layout';
6
+ export class CollapsableD3DagLayout extends D3DagLayout {
7
+ static defaultProps = {
8
+ ...D3DagLayout.defaultProps,
9
+ collapseLinearChains: false
10
+ };
11
+ _chainDescriptors = new Map();
12
+ _nodeToChainId = new Map();
13
+ _collapsedChainState = new Map();
14
+ _hiddenNodeIds = new Set();
15
+ constructor(props = {}) {
16
+ super(props, CollapsableD3DagLayout.defaultProps);
17
+ }
18
+ setProps(props) {
19
+ super.setProps(props);
20
+ if (props.collapseLinearChains !== undefined && this._graph) {
21
+ this._runLayout();
22
+ }
23
+ }
24
+ updateGraph(graph) {
25
+ super.updateGraph(graph);
26
+ this._chainDescriptors.clear();
27
+ this._nodeToChainId.clear();
28
+ this._hiddenNodeIds.clear();
29
+ }
30
+ toggleCollapsedChain(chainId) {
31
+ if (!this._graph) {
32
+ log.log(1, `CollapsableD3DagLayout: toggleCollapsedChain(${chainId}) ignored (no graph)`);
33
+ return;
34
+ }
35
+ if (!this._chainDescriptors.has(chainId)) {
36
+ this._refreshCollapsedChains();
37
+ }
38
+ if (!this._chainDescriptors.has(chainId)) {
39
+ log.log(1, `CollapsableD3DagLayout: toggleCollapsedChain(${chainId}) skipped (unknown chain)`);
40
+ return;
41
+ }
42
+ const collapsed = this._isChainCollapsed(chainId);
43
+ const nextState = !collapsed;
44
+ log.log(0, `CollapsableD3DagLayout: toggleCollapsedChain(${chainId}) -> ${nextState ? 'collapsed' : 'expanded'}`);
45
+ // eslint-disable-next-line no-console
46
+ console.log(`CollapsableD3DagLayout: toggleCollapsedChain(${chainId}) -> ${nextState ? 'collapsed' : 'expanded'}`);
47
+ this._collapsedChainState.set(chainId, nextState);
48
+ this._runLayout();
49
+ }
50
+ setCollapsedChains(chainIds) {
51
+ if (!this._graph) {
52
+ log.log(1, 'CollapsableD3DagLayout: setCollapsedChains ignored (no graph)');
53
+ return;
54
+ }
55
+ if (!this._chainDescriptors.size) {
56
+ this._refreshCollapsedChains();
57
+ }
58
+ const desired = new Set(chainIds);
59
+ log.log(0, `CollapsableD3DagLayout: setCollapsedChains(${desired.size}) requested`);
60
+ let changed = false;
61
+ for (const chainId of this._chainDescriptors.keys()) {
62
+ const next = desired.has(chainId);
63
+ if (this._isChainCollapsed(chainId) !== next) {
64
+ this._collapsedChainState.set(chainId, next);
65
+ changed = true;
66
+ }
67
+ }
68
+ if (changed) {
69
+ log.log(0, 'CollapsableD3DagLayout: setCollapsedChains -> changes detected, rerunning layout');
70
+ // eslint-disable-next-line no-console
71
+ console.log('CollapsableD3DagLayout: setCollapsedChains -> changes detected, rerunning layout');
72
+ this._runLayout();
73
+ }
74
+ else {
75
+ log.log(1, 'CollapsableD3DagLayout: setCollapsedChains -> no changes');
76
+ // eslint-disable-next-line no-console
77
+ console.log('CollapsableD3DagLayout: setCollapsedChains -> no changes');
78
+ }
79
+ }
80
+ _refreshCollapsedChains() {
81
+ const previousChainCount = this._chainDescriptors.size;
82
+ if (!this._graph) {
83
+ if (previousChainCount > 0) {
84
+ log.log(0, 'CollapsableD3DagLayout: clearing collapsed chains (graph unavailable)');
85
+ // eslint-disable-next-line no-console
86
+ console.log('CollapsableD3DagLayout: clearing collapsed chains (graph unavailable)');
87
+ }
88
+ this._chainDescriptors.clear();
89
+ this._nodeToChainId.clear();
90
+ this._hiddenNodeIds.clear();
91
+ this._updateCollapsedChainNodeMetadata();
92
+ return;
93
+ }
94
+ log.log(0, `CollapsableD3DagLayout: refreshing collapsed chains (previous=${previousChainCount})`);
95
+ // eslint-disable-next-line no-console
96
+ console.log(`CollapsableD3DagLayout: refreshing collapsed chains (previous=${previousChainCount})`);
97
+ const collapseDefault = this.props.collapseLinearChains;
98
+ const previousStates = new Map(this._collapsedChainState);
99
+ this._chainDescriptors.clear();
100
+ this._nodeToChainId.clear();
101
+ this._hiddenNodeIds.clear();
102
+ const nodes = this._graph.getNodes();
103
+ const candidateNodes = new Set();
104
+ const incomingCache = new Map();
105
+ const outgoingCache = new Map();
106
+ for (const node of nodes) {
107
+ const incoming = this._getIncomingEdges(node);
108
+ const outgoing = this._getOutgoingEdges(node);
109
+ incomingCache.set(node.getId(), incoming);
110
+ outgoingCache.set(node.getId(), outgoing);
111
+ if (incoming.length <= 1 && outgoing.length <= 1 && incoming.length + outgoing.length > 0) {
112
+ candidateNodes.add(node.getId());
113
+ }
114
+ }
115
+ const visited = new Set();
116
+ for (const node of nodes) {
117
+ const nodeId = node.getId();
118
+ if (!candidateNodes.has(nodeId) || visited.has(nodeId)) {
119
+ continue;
120
+ }
121
+ const incoming = incomingCache.get(nodeId) ?? [];
122
+ const hasCandidateParent = incoming.length === 1 && candidateNodes.has(incoming[0].getSourceNodeId());
123
+ if (hasCandidateParent) {
124
+ continue;
125
+ }
126
+ const chainNodeIds = [];
127
+ const chainEdgeIds = [];
128
+ let currentNode = node;
129
+ while (currentNode) {
130
+ const currentId = currentNode.getId();
131
+ if (!candidateNodes.has(currentId) || visited.has(currentId)) {
132
+ break;
133
+ }
134
+ visited.add(currentId);
135
+ chainNodeIds.push(currentId);
136
+ const outgoing = outgoingCache.get(currentId) ?? [];
137
+ if (outgoing.length !== 1) {
138
+ break;
139
+ }
140
+ const nextEdge = outgoing[0];
141
+ const nextNodeId = nextEdge.getTargetNodeId();
142
+ if (!candidateNodes.has(nextNodeId)) {
143
+ break;
144
+ }
145
+ const nextIncoming = incomingCache.get(nextNodeId) ?? [];
146
+ if (nextIncoming.length !== 1) {
147
+ break;
148
+ }
149
+ chainEdgeIds.push(nextEdge.getId());
150
+ currentNode = this._nodeLookup.get(nextNodeId);
151
+ }
152
+ if (chainNodeIds.length > 1) {
153
+ const chainId = this._createChainId(chainNodeIds);
154
+ const collapsed = previousStates.has(chainId)
155
+ ? Boolean(previousStates.get(chainId))
156
+ : collapseDefault;
157
+ this._chainDescriptors.set(chainId, {
158
+ id: chainId,
159
+ nodeIds: chainNodeIds,
160
+ edgeIds: chainEdgeIds,
161
+ representativeId: chainNodeIds[0]
162
+ });
163
+ this._collapsedChainState.set(chainId, collapsed);
164
+ for (const chainNodeId of chainNodeIds) {
165
+ this._nodeToChainId.set(chainNodeId, chainId);
166
+ }
167
+ }
168
+ }
169
+ for (const key of previousStates.keys()) {
170
+ if (!this._chainDescriptors.has(key)) {
171
+ this._collapsedChainState.delete(key);
172
+ }
173
+ }
174
+ this._hiddenNodeIds.clear();
175
+ for (const [chainId, descriptor] of this._chainDescriptors) {
176
+ const collapsed = this._isChainCollapsed(chainId);
177
+ if (collapsed) {
178
+ for (const nodeId of descriptor.nodeIds) {
179
+ // eslint-disable-next-line max-depth
180
+ if (nodeId !== descriptor.representativeId) {
181
+ this._hiddenNodeIds.add(nodeId);
182
+ }
183
+ }
184
+ }
185
+ }
186
+ this._updateCollapsedChainNodeMetadata();
187
+ let collapsedCount = 0;
188
+ for (const chainId of this._chainDescriptors.keys()) {
189
+ if (this._isChainCollapsed(chainId)) {
190
+ collapsedCount++;
191
+ }
192
+ }
193
+ log.log(0, `CollapsableD3DagLayout: refreshed collapsed chains -> total=${this._chainDescriptors.size}, collapsed=${collapsedCount}`);
194
+ }
195
+ _updateCollapsedChainNodeMetadata() {
196
+ if (!this._graph) {
197
+ return;
198
+ }
199
+ for (const node of this._graph.getNodes()) {
200
+ const nodeId = node.getId();
201
+ const chainId = this._nodeToChainId.get(nodeId);
202
+ if (!chainId) {
203
+ node.setDataProperty('collapsedChainId', null);
204
+ node.setDataProperty('collapsedChainLength', 1);
205
+ node.setDataProperty('collapsedNodeIds', []);
206
+ node.setDataProperty('collapsedEdgeIds', []);
207
+ node.setDataProperty('collapsedChainRepresentativeId', null);
208
+ node.setDataProperty('isCollapsedChain', false);
209
+ continue;
210
+ }
211
+ const descriptor = this._chainDescriptors.get(chainId);
212
+ if (!descriptor) {
213
+ node.setDataProperty('collapsedChainId', null);
214
+ node.setDataProperty('collapsedChainLength', 1);
215
+ node.setDataProperty('collapsedNodeIds', []);
216
+ node.setDataProperty('collapsedEdgeIds', []);
217
+ node.setDataProperty('collapsedChainRepresentativeId', null);
218
+ node.setDataProperty('isCollapsedChain', false);
219
+ continue;
220
+ }
221
+ const collapsed = this._isChainCollapsed(chainId);
222
+ node.setDataProperty('collapsedChainId', chainId);
223
+ node.setDataProperty('collapsedChainLength', collapsed ? descriptor.nodeIds.length : 1);
224
+ node.setDataProperty('collapsedNodeIds', descriptor.nodeIds);
225
+ node.setDataProperty('collapsedEdgeIds', descriptor.edgeIds);
226
+ node.setDataProperty('collapsedChainRepresentativeId', descriptor.representativeId);
227
+ node.setDataProperty('isCollapsedChain', collapsed);
228
+ }
229
+ }
230
+ _shouldSkipNode(nodeId) {
231
+ return this._hiddenNodeIds.has(nodeId);
232
+ }
233
+ _mapNodeId(nodeId) {
234
+ const chainId = this._nodeToChainId.get(nodeId);
235
+ if (!chainId) {
236
+ return nodeId;
237
+ }
238
+ const descriptor = this._chainDescriptors.get(chainId);
239
+ if (!descriptor) {
240
+ return nodeId;
241
+ }
242
+ return this._isChainCollapsed(chainId) ? descriptor.representativeId : nodeId;
243
+ }
244
+ _createChainId(nodeIds) {
245
+ return `chain:${nodeIds.map((id) => this._toDagId(id)).join('>')}`;
246
+ }
247
+ _isChainCollapsed(chainId) {
248
+ const collapseDefault = this.props.collapseLinearChains;
249
+ return this._collapsedChainState.get(chainId) ?? collapseDefault;
250
+ }
251
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapsable-d3-dag-layout.js","sourceRoot":"","sources":["../../../src/layouts/d3-dag/collapsable-d3-dag-layout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import { GraphLayout, GraphLayoutProps } from '../../core/graph-layout';
2
+ import type { Graph, NodeInterface, EdgeInterface } from '../../graph/graph';
3
+ import { coordCenter, coordGreedy, coordQuad, coordSimplex, coordTopological, decrossDfs, decrossOpt, decrossTwoLayer, layeringLongestPath, layeringSimplex, layeringTopological, type DefaultGrid, type DefaultSugiyama, type DefaultZherebko, type LayoutResult, type MutGraph, type NodeSize } from 'd3-dag';
4
+ export type D3DagLayoutProps = GraphLayoutProps & {
5
+ /** Which high-level layout operator to use. */
6
+ layout?: 'sugiyama' | 'grid' | 'zherebko';
7
+ /** Layering operator used by sugiyama layouts. */
8
+ layering?: 'simplex' | 'longestPath' | 'topological';
9
+ /** Accessor for node rank for layering */
10
+ nodeRank?: string | ((node: NodeInterface) => number | undefined);
11
+ /** Decrossing operator used by sugiyama layouts. */
12
+ decross?: 'twoLayer' | 'opt' | 'dfs';
13
+ /** Coordinate assignment operator used by sugiyama layouts. */
14
+ coord?: 'simplex' | 'greedy' | 'quad' | 'center' | 'topological';
15
+ /** Node sizing accessor passed to the active layout. */
16
+ nodeSize?: NodeSize<NodeInterface, EdgeInterface>;
17
+ /** Optional gap between nodes. Alias: separation. */
18
+ gap?: readonly [number, number];
19
+ /** Optional gap between nodes. */
20
+ separation?: readonly [number, number];
21
+ /** Orientation transform applied after the layout finishes. */
22
+ orientation?: 'TB' | 'BT' | 'LR' | 'RL';
23
+ /** Whether to center the layout along each axis. */
24
+ center?: boolean | {
25
+ x?: boolean;
26
+ y?: boolean;
27
+ };
28
+ /** How to convert the Graph into a DAG. */
29
+ dagBuilder?: 'graph' | 'connect' | 'stratify';
30
+ customDagBuilder?: DagBuilder;
31
+ customLayout?: D3DagLayoutOperator;
32
+ customLayering?: LayeringOperator;
33
+ customDecross?: DecrossOperator;
34
+ customCoord?: CoordOperator;
35
+ };
36
+ export type D3DagLayoutOperator = DefaultSugiyama | DefaultGrid | DefaultZherebko | ((dag: MutGraph<NodeInterface, EdgeInterface>) => LayoutResult);
37
+ type DagBuilder = (graph: Graph) => MutGraph<NodeInterface, EdgeInterface>;
38
+ type LayeringOperator = ReturnType<typeof layeringSimplex> | ReturnType<typeof layeringLongestPath> | ReturnType<typeof layeringTopological>;
39
+ type DecrossOperator = ReturnType<typeof decrossTwoLayer> | ReturnType<typeof decrossOpt> | ReturnType<typeof decrossDfs>;
40
+ type CoordOperator = ReturnType<typeof coordCenter> | ReturnType<typeof coordGreedy> | ReturnType<typeof coordQuad> | ReturnType<typeof coordSimplex> | ReturnType<typeof coordTopological>;
41
+ /**
42
+ * Layout that orchestrates d3-dag operators from declarative options.
43
+ */
44
+ export declare class D3DagLayout<PropsT extends D3DagLayoutProps = D3DagLayoutProps> extends GraphLayout<PropsT> {
45
+ static defaultProps: Readonly<Required<D3DagLayoutProps>>;
46
+ protected readonly _name = "D3DagLayout";
47
+ protected _graph: Graph | null;
48
+ private _dag;
49
+ private _layoutOperator;
50
+ private _rawNodePositions;
51
+ private _rawEdgePoints;
52
+ private _nodePositions;
53
+ private _edgePoints;
54
+ private _edgeControlPoints;
55
+ private _lockedNodePositions;
56
+ private _dagBounds;
57
+ protected _nodeLookup: Map<string | number, NodeInterface>;
58
+ protected _stringIdLookup: Map<string, string | number>;
59
+ protected _edgeLookup: Map<string, EdgeInterface>;
60
+ protected _incomingParentMap: Map<string | number, (string | number)[]>;
61
+ constructor(props: D3DagLayoutProps, defaultProps?: Required<PropsT>);
62
+ setProps(options: Partial<D3DagLayoutProps>): void;
63
+ initializeGraph(graph: Graph): void;
64
+ updateGraph(graph: Graph): void;
65
+ start(): void;
66
+ update(): void;
67
+ resume(): void;
68
+ stop(): void;
69
+ toggleCollapsedChain(chainId: string): void;
70
+ setCollapsedChains(chainIds: Iterable<string>): void;
71
+ getNodePosition(node: NodeInterface): [number, number] | null;
72
+ getEdgePosition(edge: EdgeInterface): {
73
+ type: string;
74
+ sourcePosition: [number, number];
75
+ targetPosition: [number, number];
76
+ controlPoints: [number, number][];
77
+ } | null;
78
+ getLinkControlPoints(edge: EdgeInterface): [number, number][];
79
+ lockNodePosition(node: NodeInterface, x: number, y: number): void;
80
+ unlockNodePosition(node: NodeInterface): void;
81
+ protected _runLayout(): void;
82
+ protected _refreshCollapsedChains(): void;
83
+ private _buildDag;
84
+ private _buildDagWithGraph;
85
+ private _buildDagWithConnect;
86
+ private _buildDagWithStratify;
87
+ protected _shouldSkipNode(_nodeId: string | number): boolean;
88
+ protected _mapNodeId(nodeId: string | number): string | number;
89
+ protected _updateCollapsedChainNodeMetadata(): void;
90
+ protected _getIncomingEdges(node: NodeInterface): EdgeInterface[];
91
+ protected _getOutgoingEdges(node: NodeInterface): EdgeInterface[];
92
+ private _ensureEdgeData;
93
+ private _getLayoutOperator;
94
+ private _cacheGeometry;
95
+ private _updateTransformedGeometry;
96
+ private _getOffsets;
97
+ protected _updateBounds(): void;
98
+ protected _edgeKey(sourceId: string | number, targetId: string | number): string;
99
+ protected _toDagId(id: string | number): string;
100
+ protected _fromDagId(id: string): string | number;
101
+ }
102
+ export {};