@countermeasure-platform/web-components 0.2.0

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 (2076) hide show
  1. package/LICENSE +92 -0
  2. package/README.md +185 -0
  3. package/dist/_basePickBy-BNGzgD3S.js +168 -0
  4. package/dist/_basePickBy-BNGzgD3S.js.map +1 -0
  5. package/dist/_baseUniq-CSCAMor9.js +684 -0
  6. package/dist/_baseUniq-CSCAMor9.js.map +1 -0
  7. package/dist/a11y-B5pN4M_a.js +173 -0
  8. package/dist/a11y-B5pN4M_a.js.map +1 -0
  9. package/dist/alert-dialog-x70JmbHN.js +202 -0
  10. package/dist/alert-dialog-x70JmbHN.js.map +1 -0
  11. package/dist/app-switcher/index.d.ts +38 -0
  12. package/dist/app-switcher/index.d.ts.map +1 -0
  13. package/dist/app-switcher/index.js +90 -0
  14. package/dist/app-switcher/index.js.map +1 -0
  15. package/dist/appearance/index.d.ts +34 -0
  16. package/dist/appearance/index.d.ts.map +1 -0
  17. package/dist/appearance/index.js +110 -0
  18. package/dist/appearance/index.js.map +1 -0
  19. package/dist/arc-Dd7Q8ESg.js +82 -0
  20. package/dist/arc-Dd7Q8ESg.js.map +1 -0
  21. package/dist/architecture-PBZL5I3N-ZJhv7ma8.js +3 -0
  22. package/dist/architectureDiagram-2XIMDMQ5-Du7QH2cn.js +4048 -0
  23. package/dist/architectureDiagram-2XIMDMQ5-Du7QH2cn.js.map +1 -0
  24. package/dist/array-BjkKHsZp.js +8 -0
  25. package/dist/array-BjkKHsZp.js.map +1 -0
  26. package/dist/arrow-up-gNaqffAh.js +35 -0
  27. package/dist/arrow-up-gNaqffAh.js.map +1 -0
  28. package/dist/auth/index.d.ts +103 -0
  29. package/dist/auth/index.d.ts.map +1 -0
  30. package/dist/auth/index.js +113 -0
  31. package/dist/auth/index.js.map +1 -0
  32. package/dist/avatar-Chu9WlV5.js +102 -0
  33. package/dist/avatar-Chu9WlV5.js.map +1 -0
  34. package/dist/badge-DIbZWeHZ.js +69 -0
  35. package/dist/badge-DIbZWeHZ.js.map +1 -0
  36. package/dist/base-CBgB0j_Y.js +2096 -0
  37. package/dist/base-CBgB0j_Y.js.map +1 -0
  38. package/dist/blockDiagram-WCTKOSBZ-JlYA7IvY.js +3028 -0
  39. package/dist/blockDiagram-WCTKOSBZ-JlYA7IvY.js.map +1 -0
  40. package/dist/button-DKuKl4vs.js +69 -0
  41. package/dist/button-DKuKl4vs.js.map +1 -0
  42. package/dist/c4Diagram-IC4MRINW-BhRMN0uU.js +2967 -0
  43. package/dist/c4Diagram-IC4MRINW-BhRMN0uU.js.map +1 -0
  44. package/dist/carousel-Bh3y14sN.js +139 -0
  45. package/dist/carousel-Bh3y14sN.js.map +1 -0
  46. package/dist/channel-mQoH3HVA.js +7 -0
  47. package/dist/channel-mQoH3HVA.js.map +1 -0
  48. package/dist/charts/annotations.d.ts +15 -0
  49. package/dist/charts/annotations.d.ts.map +1 -0
  50. package/dist/charts/annotations.js +24 -0
  51. package/dist/charts/annotations.js.map +1 -0
  52. package/dist/charts/area/index.d.ts +14 -0
  53. package/dist/charts/area/index.d.ts.map +1 -0
  54. package/dist/charts/area/index.js +104 -0
  55. package/dist/charts/area/index.js.map +1 -0
  56. package/dist/charts/area/types.d.ts +8 -0
  57. package/dist/charts/area/types.d.ts.map +1 -0
  58. package/dist/charts/axis.d.ts +8 -0
  59. package/dist/charts/axis.d.ts.map +1 -0
  60. package/dist/charts/axis.js +36 -0
  61. package/dist/charts/axis.js.map +1 -0
  62. package/dist/charts/bar/index.d.ts +19 -0
  63. package/dist/charts/bar/index.d.ts.map +1 -0
  64. package/dist/charts/bar/index.js +145 -0
  65. package/dist/charts/bar/index.js.map +1 -0
  66. package/dist/charts/bar/types.d.ts +8 -0
  67. package/dist/charts/bar/types.d.ts.map +1 -0
  68. package/dist/charts/base.d.ts +90 -0
  69. package/dist/charts/base.d.ts.map +1 -0
  70. package/dist/charts/base.js +203 -0
  71. package/dist/charts/base.js.map +1 -0
  72. package/dist/charts/candlestick/index.d.ts +25 -0
  73. package/dist/charts/candlestick/index.d.ts.map +1 -0
  74. package/dist/charts/candlestick/index.js +141 -0
  75. package/dist/charts/candlestick/index.js.map +1 -0
  76. package/dist/charts/candlestick/types.d.ts +19 -0
  77. package/dist/charts/candlestick/types.d.ts.map +1 -0
  78. package/dist/charts/funnel/index.d.ts +29 -0
  79. package/dist/charts/funnel/index.d.ts.map +1 -0
  80. package/dist/charts/funnel/index.js +126 -0
  81. package/dist/charts/funnel/index.js.map +1 -0
  82. package/dist/charts/funnel/types.d.ts +16 -0
  83. package/dist/charts/funnel/types.d.ts.map +1 -0
  84. package/dist/charts/gauge/index.d.ts +26 -0
  85. package/dist/charts/gauge/index.d.ts.map +1 -0
  86. package/dist/charts/gauge/index.js +70 -0
  87. package/dist/charts/gauge/index.js.map +1 -0
  88. package/dist/charts/gauge/types.d.ts +18 -0
  89. package/dist/charts/gauge/types.d.ts.map +1 -0
  90. package/dist/charts/heatmap/index.d.ts +29 -0
  91. package/dist/charts/heatmap/index.d.ts.map +1 -0
  92. package/dist/charts/heatmap/index.js +113 -0
  93. package/dist/charts/heatmap/index.js.map +1 -0
  94. package/dist/charts/heatmap/types.d.ts +17 -0
  95. package/dist/charts/heatmap/types.d.ts.map +1 -0
  96. package/dist/charts/index.d.ts +46 -0
  97. package/dist/charts/index.d.ts.map +1 -0
  98. package/dist/charts/index.js +24 -0
  99. package/dist/charts/interactive.d.ts +15 -0
  100. package/dist/charts/interactive.d.ts.map +1 -0
  101. package/dist/charts/legend.d.ts +16 -0
  102. package/dist/charts/legend.d.ts.map +1 -0
  103. package/dist/charts/legend.js +43 -0
  104. package/dist/charts/legend.js.map +1 -0
  105. package/dist/charts/line/index.d.ts +14 -0
  106. package/dist/charts/line/index.d.ts.map +1 -0
  107. package/dist/charts/line/index.js +85 -0
  108. package/dist/charts/line/index.js.map +1 -0
  109. package/dist/charts/line/types.d.ts +8 -0
  110. package/dist/charts/line/types.d.ts.map +1 -0
  111. package/dist/charts/pie/index.d.ts +24 -0
  112. package/dist/charts/pie/index.d.ts.map +1 -0
  113. package/dist/charts/pie/index.js +123 -0
  114. package/dist/charts/pie/index.js.map +1 -0
  115. package/dist/charts/pie/types.d.ts +15 -0
  116. package/dist/charts/pie/types.d.ts.map +1 -0
  117. package/dist/charts/radar/index.d.ts +27 -0
  118. package/dist/charts/radar/index.d.ts.map +1 -0
  119. package/dist/charts/radar/index.js +151 -0
  120. package/dist/charts/radar/index.js.map +1 -0
  121. package/dist/charts/radar/types.d.ts +16 -0
  122. package/dist/charts/radar/types.d.ts.map +1 -0
  123. package/dist/charts/sankey/index.d.ts +29 -0
  124. package/dist/charts/sankey/index.d.ts.map +1 -0
  125. package/dist/charts/sankey/index.js +192 -0
  126. package/dist/charts/sankey/index.js.map +1 -0
  127. package/dist/charts/sankey/types.d.ts +21 -0
  128. package/dist/charts/sankey/types.d.ts.map +1 -0
  129. package/dist/charts/scatter/index.d.ts +19 -0
  130. package/dist/charts/scatter/index.d.ts.map +1 -0
  131. package/dist/charts/scatter/index.js +106 -0
  132. package/dist/charts/scatter/index.js.map +1 -0
  133. package/dist/charts/scatter/types.d.ts +6 -0
  134. package/dist/charts/scatter/types.d.ts.map +1 -0
  135. package/dist/charts/series.d.ts +11 -0
  136. package/dist/charts/series.d.ts.map +1 -0
  137. package/dist/charts/sparkline/index.d.ts +20 -0
  138. package/dist/charts/sparkline/index.d.ts.map +1 -0
  139. package/dist/charts/sparkline/index.js +99 -0
  140. package/dist/charts/sparkline/index.js.map +1 -0
  141. package/dist/charts/sparkline/types.d.ts +11 -0
  142. package/dist/charts/sparkline/types.d.ts.map +1 -0
  143. package/dist/charts/tooltip.d.ts +28 -0
  144. package/dist/charts/tooltip.d.ts.map +1 -0
  145. package/dist/charts/tooltip.js +41 -0
  146. package/dist/charts/tooltip.js.map +1 -0
  147. package/dist/charts/treemap/index.d.ts +26 -0
  148. package/dist/charts/treemap/index.d.ts.map +1 -0
  149. package/dist/charts/treemap/index.js +132 -0
  150. package/dist/charts/treemap/index.js.map +1 -0
  151. package/dist/charts/treemap/types.d.ts +15 -0
  152. package/dist/charts/treemap/types.d.ts.map +1 -0
  153. package/dist/charts/types.d.ts +71 -0
  154. package/dist/charts/types.d.ts.map +1 -0
  155. package/dist/charts/utils.d.ts +75 -0
  156. package/dist/charts/utils.d.ts.map +1 -0
  157. package/dist/charts/utils.js +113 -0
  158. package/dist/charts/utils.js.map +1 -0
  159. package/dist/charts/waterfall/index.d.ts +19 -0
  160. package/dist/charts/waterfall/index.d.ts.map +1 -0
  161. package/dist/charts/waterfall/index.js +138 -0
  162. package/dist/charts/waterfall/index.js.map +1 -0
  163. package/dist/charts/waterfall/types.d.ts +19 -0
  164. package/dist/charts/waterfall/types.d.ts.map +1 -0
  165. package/dist/charts/zoom.d.ts +32 -0
  166. package/dist/charts/zoom.d.ts.map +1 -0
  167. package/dist/charts/zoom.js +62 -0
  168. package/dist/charts/zoom.js.map +1 -0
  169. package/dist/check-D2xnnLBE.js +9 -0
  170. package/dist/check-D2xnnLBE.js.map +1 -0
  171. package/dist/chevron-down-CsLpP_71.js +9 -0
  172. package/dist/chevron-down-CsLpP_71.js.map +1 -0
  173. package/dist/chevron-right-Cz5qRdmA.js +9 -0
  174. package/dist/chevron-right-Cz5qRdmA.js.map +1 -0
  175. package/dist/chevron-up-BhaePjuF.js +9 -0
  176. package/dist/chevron-up-BhaePjuF.js.map +1 -0
  177. package/dist/chunk-4BX2VUAB-hGnoekTd.js +10 -0
  178. package/dist/chunk-4BX2VUAB-hGnoekTd.js.map +1 -0
  179. package/dist/chunk-55IACEB6-BJN5TXvX.js +11 -0
  180. package/dist/chunk-55IACEB6-BJN5TXvX.js.map +1 -0
  181. package/dist/chunk-7E7YKBS2-D5sZlDQ3.js +25 -0
  182. package/dist/chunk-7E7YKBS2-D5sZlDQ3.js.map +1 -0
  183. package/dist/chunk-7R4GIKGN-9QecSWiR.js +2054 -0
  184. package/dist/chunk-7R4GIKGN-9QecSWiR.js.map +1 -0
  185. package/dist/chunk-C72U2L5F--DXr9EKz.js +25 -0
  186. package/dist/chunk-C72U2L5F--DXr9EKz.js.map +1 -0
  187. package/dist/chunk-EGIJ26TM-B0D9vEQz.js +25 -0
  188. package/dist/chunk-EGIJ26TM-B0D9vEQz.js.map +1 -0
  189. package/dist/chunk-FMBD7UC4-Ccq-i6vu.js +7 -0
  190. package/dist/chunk-FMBD7UC4-Ccq-i6vu.js.map +1 -0
  191. package/dist/chunk-GEFDOKGD-DpHiMpV6.js +1124 -0
  192. package/dist/chunk-GEFDOKGD-DpHiMpV6.js.map +1 -0
  193. package/dist/chunk-GLR3WWYH-HerLgrS-.js +43 -0
  194. package/dist/chunk-GLR3WWYH-HerLgrS-.js.map +1 -0
  195. package/dist/chunk-HHEYEP7N-Cjt1V-hl.js +12 -0
  196. package/dist/chunk-HHEYEP7N-Cjt1V-hl.js.map +1 -0
  197. package/dist/chunk-JSJVCQXG-DTdWcs9o.js +63 -0
  198. package/dist/chunk-JSJVCQXG-DTdWcs9o.js.map +1 -0
  199. package/dist/chunk-KX2RTZJC-DUcdo_W8.js +27 -0
  200. package/dist/chunk-KX2RTZJC-DUcdo_W8.js.map +1 -0
  201. package/dist/chunk-KYZI473N-DyL0ymcr.js +3437 -0
  202. package/dist/chunk-KYZI473N-DyL0ymcr.js.map +1 -0
  203. package/dist/chunk-L3YUKLVL-Cwsx-xzL.js +25 -0
  204. package/dist/chunk-L3YUKLVL-Cwsx-xzL.js.map +1 -0
  205. package/dist/chunk-MX3YWQON-BrC3_psH.js +82 -0
  206. package/dist/chunk-MX3YWQON-BrC3_psH.js.map +1 -0
  207. package/dist/chunk-NBPlniwU.js +23 -0
  208. package/dist/chunk-NQ4KR5QH-kaL7nywj.js +2004 -0
  209. package/dist/chunk-NQ4KR5QH-kaL7nywj.js.map +1 -0
  210. package/dist/chunk-O4XLMI2P-DPXU-owT.js +514 -0
  211. package/dist/chunk-O4XLMI2P-DPXU-owT.js.map +1 -0
  212. package/dist/chunk-OZEHJAEY-Ds1P6-z-.js +66 -0
  213. package/dist/chunk-OZEHJAEY-Ds1P6-z-.js.map +1 -0
  214. package/dist/chunk-PQ6SQG4A-DEjy9Dhi.js +69 -0
  215. package/dist/chunk-PQ6SQG4A-DEjy9Dhi.js.map +1 -0
  216. package/dist/chunk-PU5JKC2W-CfzbN3Mu.js +1888 -0
  217. package/dist/chunk-PU5JKC2W-CfzbN3Mu.js.map +1 -0
  218. package/dist/chunk-QZHKN3VN-DYJHpXRp.js +17 -0
  219. package/dist/chunk-QZHKN3VN-DYJHpXRp.js.map +1 -0
  220. package/dist/chunk-R5LLSJPH-BQuurwR-.js +37 -0
  221. package/dist/chunk-R5LLSJPH-BQuurwR-.js.map +1 -0
  222. package/dist/chunk-WL4C6EOR-DCGop7dE.js +3198 -0
  223. package/dist/chunk-WL4C6EOR-DCGop7dE.js.map +1 -0
  224. package/dist/chunk-XIRO2GV7-CS2_2Fdn.js +32 -0
  225. package/dist/chunk-XIRO2GV7-CS2_2Fdn.js.map +1 -0
  226. package/dist/chunk-XPW4576I-CfQenFiw.js +1148 -0
  227. package/dist/chunk-XPW4576I-CfQenFiw.js.map +1 -0
  228. package/dist/chunk-XZSTWKYB-DxHspq6G.js +15799 -0
  229. package/dist/chunk-XZSTWKYB-DxHspq6G.js.map +1 -0
  230. package/dist/chunk-YBOYWFTD-Dkc3kKkT.js +34 -0
  231. package/dist/chunk-YBOYWFTD-Dkc3kKkT.js.map +1 -0
  232. package/dist/classDiagram-VBA2DB6C-Ba1kbLE7.js +31 -0
  233. package/dist/classDiagram-VBA2DB6C-Ba1kbLE7.js.map +1 -0
  234. package/dist/classDiagram-v2-RAHNMMFH-BdFCvKXE.js +31 -0
  235. package/dist/classDiagram-v2-RAHNMMFH-BdFCvKXE.js.map +1 -0
  236. package/dist/clone-CzASr4DI.js +10 -0
  237. package/dist/clone-CzASr4DI.js.map +1 -0
  238. package/dist/components/context-menu/index.d.ts +31 -0
  239. package/dist/components/context-menu/index.d.ts.map +1 -0
  240. package/dist/components/context-menu/index.js +66 -0
  241. package/dist/components/context-menu/index.js.map +1 -0
  242. package/dist/components/copy-button/index.d.ts +27 -0
  243. package/dist/components/copy-button/index.d.ts.map +1 -0
  244. package/dist/components/copy-button/index.js +43 -0
  245. package/dist/components/copy-button/index.js.map +1 -0
  246. package/dist/components/data-table/export.d.ts +8 -0
  247. package/dist/components/data-table/export.d.ts.map +1 -0
  248. package/dist/components/data-table/index.d.ts +55 -0
  249. package/dist/components/data-table/index.d.ts.map +1 -0
  250. package/dist/components/data-table/index.js +2 -0
  251. package/dist/components/data-table/renderers.d.ts +9 -0
  252. package/dist/components/data-table/renderers.d.ts.map +1 -0
  253. package/dist/components/data-table/types.d.ts +36 -0
  254. package/dist/components/data-table/types.d.ts.map +1 -0
  255. package/dist/components/detail-header/index.d.ts +45 -0
  256. package/dist/components/detail-header/index.d.ts.map +1 -0
  257. package/dist/components/detail-header/index.js +88 -0
  258. package/dist/components/detail-header/index.js.map +1 -0
  259. package/dist/components/index.d.ts +28 -0
  260. package/dist/components/index.d.ts.map +1 -0
  261. package/dist/components/index.js +15 -0
  262. package/dist/components/log-toolbar/index.d.ts +50 -0
  263. package/dist/components/log-toolbar/index.d.ts.map +1 -0
  264. package/dist/components/log-toolbar/index.js +74 -0
  265. package/dist/components/log-toolbar/index.js.map +1 -0
  266. package/dist/components/modal/index.d.ts +27 -0
  267. package/dist/components/modal/index.d.ts.map +1 -0
  268. package/dist/components/modal/index.js +103 -0
  269. package/dist/components/modal/index.js.map +1 -0
  270. package/dist/components/modal/types.d.ts +17 -0
  271. package/dist/components/modal/types.d.ts.map +1 -0
  272. package/dist/components/pagination/index.d.ts +29 -0
  273. package/dist/components/pagination/index.d.ts.map +1 -0
  274. package/dist/components/pagination/index.js +45 -0
  275. package/dist/components/pagination/index.js.map +1 -0
  276. package/dist/components/search/command-palette.d.ts +24 -0
  277. package/dist/components/search/command-palette.d.ts.map +1 -0
  278. package/dist/components/search/command-palette.js +96 -0
  279. package/dist/components/search/command-palette.js.map +1 -0
  280. package/dist/components/search/index.d.ts +37 -0
  281. package/dist/components/search/index.d.ts.map +1 -0
  282. package/dist/components/search/index.js +175 -0
  283. package/dist/components/search/index.js.map +1 -0
  284. package/dist/components/search/types.d.ts +34 -0
  285. package/dist/components/search/types.d.ts.map +1 -0
  286. package/dist/components/split-pane/index.d.ts +37 -0
  287. package/dist/components/split-pane/index.d.ts.map +1 -0
  288. package/dist/components/split-pane/index.js +129 -0
  289. package/dist/components/split-pane/index.js.map +1 -0
  290. package/dist/components/split-pane/types.d.ts +19 -0
  291. package/dist/components/split-pane/types.d.ts.map +1 -0
  292. package/dist/components/status-bar/index.d.ts +29 -0
  293. package/dist/components/status-bar/index.d.ts.map +1 -0
  294. package/dist/components/status-bar/index.js +41 -0
  295. package/dist/components/status-bar/index.js.map +1 -0
  296. package/dist/components/tabs/index.d.ts +39 -0
  297. package/dist/components/tabs/index.d.ts.map +1 -0
  298. package/dist/components/tabs/index.js +130 -0
  299. package/dist/components/tabs/index.js.map +1 -0
  300. package/dist/components/tabs/types.d.ts +19 -0
  301. package/dist/components/tabs/types.d.ts.map +1 -0
  302. package/dist/components/toast/index.d.ts +43 -0
  303. package/dist/components/toast/index.d.ts.map +1 -0
  304. package/dist/components/toast/index.js +161 -0
  305. package/dist/components/toast/index.js.map +1 -0
  306. package/dist/components/toast/types.d.ts +17 -0
  307. package/dist/components/toast/types.d.ts.map +1 -0
  308. package/dist/components/tree-view/index.d.ts +70 -0
  309. package/dist/components/tree-view/index.d.ts.map +1 -0
  310. package/dist/components/tree-view/index.js +2 -0
  311. package/dist/components/tree-view/lazy.d.ts +7 -0
  312. package/dist/components/tree-view/lazy.d.ts.map +1 -0
  313. package/dist/components/tree-view/types.d.ts +24 -0
  314. package/dist/components/tree-view/types.d.ts.map +1 -0
  315. package/dist/consent/index.d.ts +86 -0
  316. package/dist/consent/index.d.ts.map +1 -0
  317. package/dist/consent/index.js +116 -0
  318. package/dist/consent/index.js.map +1 -0
  319. package/dist/copy-DLbL2paJ.js +17 -0
  320. package/dist/copy-DLbL2paJ.js.map +1 -0
  321. package/dist/cose-bilkent-S5V4N54A-Brn9HMfH.js +2253 -0
  322. package/dist/cose-bilkent-S5V4N54A-Brn9HMfH.js.map +1 -0
  323. package/dist/createLucideIcon-BPb01goH.js +44 -0
  324. package/dist/createLucideIcon-BPb01goH.js.map +1 -0
  325. package/dist/crypto/encoding-helpers.d.ts +11 -0
  326. package/dist/crypto/encoding-helpers.d.ts.map +1 -0
  327. package/dist/crypto/encoding.d.ts +59 -0
  328. package/dist/crypto/encoding.d.ts.map +1 -0
  329. package/dist/crypto/hybrid.d.ts +65 -0
  330. package/dist/crypto/hybrid.d.ts.map +1 -0
  331. package/dist/crypto/index.d.ts +103 -0
  332. package/dist/crypto/index.d.ts.map +1 -0
  333. package/dist/crypto/index.js +438 -0
  334. package/dist/crypto/index.js.map +1 -0
  335. package/dist/crypto/keys.d.ts +50 -0
  336. package/dist/crypto/keys.d.ts.map +1 -0
  337. package/dist/crypto/symmetric.d.ts +68 -0
  338. package/dist/crypto/symmetric.d.ts.map +1 -0
  339. package/dist/crypto/types.d.ts +88 -0
  340. package/dist/crypto/types.d.ts.map +1 -0
  341. package/dist/cytoscape.esm-B-Qy-QZk.js +18102 -0
  342. package/dist/cytoscape.esm-B-Qy-QZk.js.map +1 -0
  343. package/dist/dagre-AUN8SXyC.js +1485 -0
  344. package/dist/dagre-AUN8SXyC.js.map +1 -0
  345. package/dist/dagre-KLK3FWXG-B5Anf0Pr.js +296 -0
  346. package/dist/dagre-KLK3FWXG-B5Anf0Pr.js.map +1 -0
  347. package/dist/data-table-TZ_fmzbD.js +325 -0
  348. package/dist/data-table-TZ_fmzbD.js.map +1 -0
  349. package/dist/date-Dup6T6tm.js +61 -0
  350. package/dist/date-Dup6T6tm.js.map +1 -0
  351. package/dist/defaultLocale-B55TNBEB.js +203 -0
  352. package/dist/defaultLocale-B55TNBEB.js.map +1 -0
  353. package/dist/diagram-E7M64L7V-CbV5nfqR.js +530 -0
  354. package/dist/diagram-E7M64L7V-CbV5nfqR.js.map +1 -0
  355. package/dist/diagram-IFDJBPK2-CcXyWvqm.js +215 -0
  356. package/dist/diagram-IFDJBPK2-CcXyWvqm.js.map +1 -0
  357. package/dist/diagram-P4PSJMXO-pxkEt2hf.js +135 -0
  358. package/dist/diagram-P4PSJMXO-pxkEt2hf.js.map +1 -0
  359. package/dist/display/alert/index.d.ts +20 -0
  360. package/dist/display/alert/index.d.ts.map +1 -0
  361. package/dist/display/alert/index.js +56 -0
  362. package/dist/display/alert/index.js.map +1 -0
  363. package/dist/display/alert/types.d.ts +16 -0
  364. package/dist/display/alert/types.d.ts.map +1 -0
  365. package/dist/display/aspect-ratio/index.d.ts +21 -0
  366. package/dist/display/aspect-ratio/index.d.ts.map +1 -0
  367. package/dist/display/aspect-ratio/index.js +23 -0
  368. package/dist/display/aspect-ratio/index.js.map +1 -0
  369. package/dist/display/avatar/avatar-group.d.ts +19 -0
  370. package/dist/display/avatar/avatar-group.d.ts.map +1 -0
  371. package/dist/display/avatar/index.d.ts +30 -0
  372. package/dist/display/avatar/index.d.ts.map +1 -0
  373. package/dist/display/avatar/index.js +2 -0
  374. package/dist/display/avatar/types.d.ts +26 -0
  375. package/dist/display/avatar/types.d.ts.map +1 -0
  376. package/dist/display/badge/index.d.ts +22 -0
  377. package/dist/display/badge/index.d.ts.map +1 -0
  378. package/dist/display/badge/index.js +2 -0
  379. package/dist/display/badge/presets.d.ts +7 -0
  380. package/dist/display/badge/presets.d.ts.map +1 -0
  381. package/dist/display/badge/types.d.ts +19 -0
  382. package/dist/display/badge/types.d.ts.map +1 -0
  383. package/dist/display/card/index.d.ts +24 -0
  384. package/dist/display/card/index.d.ts.map +1 -0
  385. package/dist/display/card/index.js +48 -0
  386. package/dist/display/card/index.js.map +1 -0
  387. package/dist/display/card/types.d.ts +16 -0
  388. package/dist/display/card/types.d.ts.map +1 -0
  389. package/dist/display/code-block/index.d.ts +23 -0
  390. package/dist/display/code-block/index.d.ts.map +1 -0
  391. package/dist/display/code-block/index.js +101 -0
  392. package/dist/display/code-block/index.js.map +1 -0
  393. package/dist/display/code-block/types.d.ts +14 -0
  394. package/dist/display/code-block/types.d.ts.map +1 -0
  395. package/dist/display/empty-state/index.d.ts +17 -0
  396. package/dist/display/empty-state/index.d.ts.map +1 -0
  397. package/dist/display/empty-state/index.js +42 -0
  398. package/dist/display/empty-state/index.js.map +1 -0
  399. package/dist/display/empty-state/types.d.ts +16 -0
  400. package/dist/display/empty-state/types.d.ts.map +1 -0
  401. package/dist/display/hover-card/index.d.ts +46 -0
  402. package/dist/display/hover-card/index.d.ts.map +1 -0
  403. package/dist/display/hover-card/index.js +112 -0
  404. package/dist/display/hover-card/index.js.map +1 -0
  405. package/dist/display/hover-card/types.d.ts +14 -0
  406. package/dist/display/hover-card/types.d.ts.map +1 -0
  407. package/dist/display/index.d.ts +41 -0
  408. package/dist/display/index.d.ts.map +1 -0
  409. package/dist/display/index.js +18 -0
  410. package/dist/display/markdown-viewer/index.d.ts +25 -0
  411. package/dist/display/markdown-viewer/index.d.ts.map +1 -0
  412. package/dist/display/markdown-viewer/index.js +2 -0
  413. package/dist/display/markdown-viewer/parser.d.ts +60 -0
  414. package/dist/display/markdown-viewer/parser.d.ts.map +1 -0
  415. package/dist/display/markdown-viewer/types.d.ts +12 -0
  416. package/dist/display/markdown-viewer/types.d.ts.map +1 -0
  417. package/dist/display/notification-center/index.d.ts +43 -0
  418. package/dist/display/notification-center/index.d.ts.map +1 -0
  419. package/dist/display/notification-center/index.js +145 -0
  420. package/dist/display/notification-center/index.js.map +1 -0
  421. package/dist/display/notification-center/types.d.ts +30 -0
  422. package/dist/display/notification-center/types.d.ts.map +1 -0
  423. package/dist/display/popover/index.d.ts +43 -0
  424. package/dist/display/popover/index.d.ts.map +1 -0
  425. package/dist/display/popover/index.js +113 -0
  426. package/dist/display/popover/index.js.map +1 -0
  427. package/dist/display/popover/types.d.ts +16 -0
  428. package/dist/display/popover/types.d.ts.map +1 -0
  429. package/dist/display/progress/index.d.ts +28 -0
  430. package/dist/display/progress/index.d.ts.map +1 -0
  431. package/dist/display/progress/index.js +81 -0
  432. package/dist/display/progress/index.js.map +1 -0
  433. package/dist/display/progress/types.d.ts +18 -0
  434. package/dist/display/progress/types.d.ts.map +1 -0
  435. package/dist/display/severity-indicator/index.d.ts +19 -0
  436. package/dist/display/severity-indicator/index.d.ts.map +1 -0
  437. package/dist/display/severity-indicator/index.js +36 -0
  438. package/dist/display/severity-indicator/index.js.map +1 -0
  439. package/dist/display/severity-indicator/types.d.ts +14 -0
  440. package/dist/display/severity-indicator/types.d.ts.map +1 -0
  441. package/dist/display/stat-card/index.d.ts +23 -0
  442. package/dist/display/stat-card/index.d.ts.map +1 -0
  443. package/dist/display/stat-card/index.js +54 -0
  444. package/dist/display/stat-card/index.js.map +1 -0
  445. package/dist/display/stat-card/types.d.ts +19 -0
  446. package/dist/display/stat-card/types.d.ts.map +1 -0
  447. package/dist/display/tooltip/index.d.ts +37 -0
  448. package/dist/display/tooltip/index.d.ts.map +1 -0
  449. package/dist/display/tooltip/index.js +98 -0
  450. package/dist/display/tooltip/index.js.map +1 -0
  451. package/dist/display/tooltip/types.d.ts +13 -0
  452. package/dist/display/tooltip/types.d.ts.map +1 -0
  453. package/dist/display/typography/index.d.ts +24 -0
  454. package/dist/display/typography/index.d.ts.map +1 -0
  455. package/dist/display/typography/index.js +53 -0
  456. package/dist/display/typography/index.js.map +1 -0
  457. package/dist/display/typography/types.d.ts +19 -0
  458. package/dist/display/typography/types.d.ts.map +1 -0
  459. package/dist/display/uptime-bar/index.d.ts +18 -0
  460. package/dist/display/uptime-bar/index.d.ts.map +1 -0
  461. package/dist/display/uptime-bar/index.js +44 -0
  462. package/dist/display/uptime-bar/index.js.map +1 -0
  463. package/dist/display/uptime-bar/types.d.ts +17 -0
  464. package/dist/display/uptime-bar/types.d.ts.map +1 -0
  465. package/dist/dist--GaXbmRw2.js +118 -0
  466. package/dist/dist--GaXbmRw2.js.map +1 -0
  467. package/dist/dist-Axk3-hcS.js +75 -0
  468. package/dist/dist-Axk3-hcS.js.map +1 -0
  469. package/dist/dist-B8N_HFUN.js +577 -0
  470. package/dist/dist-B8N_HFUN.js.map +1 -0
  471. package/dist/dist-BCCeHAQm.js +35 -0
  472. package/dist/dist-BCCeHAQm.js.map +1 -0
  473. package/dist/dist-BEs9dhua.js +1282 -0
  474. package/dist/dist-BEs9dhua.js.map +1 -0
  475. package/dist/dist-BHlnF6po.js +47 -0
  476. package/dist/dist-BHlnF6po.js.map +1 -0
  477. package/dist/dist-BOvRuqYp.js +27 -0
  478. package/dist/dist-BOvRuqYp.js.map +1 -0
  479. package/dist/dist-Bf2tA9xW.js +617 -0
  480. package/dist/dist-Bf2tA9xW.js.map +1 -0
  481. package/dist/dist-BmxbWOAj.js +8 -0
  482. package/dist/dist-BmxbWOAj.js.map +1 -0
  483. package/dist/dist-BqhkOSZ9.js +19 -0
  484. package/dist/dist-BqhkOSZ9.js.map +1 -0
  485. package/dist/dist-ByLgcn06.js +1236 -0
  486. package/dist/dist-ByLgcn06.js.map +1 -0
  487. package/dist/dist-CXvCjmkw.js +29 -0
  488. package/dist/dist-CXvCjmkw.js.map +1 -0
  489. package/dist/dist-CncQbcn0.js +52 -0
  490. package/dist/dist-CncQbcn0.js.map +1 -0
  491. package/dist/dist-CuA1lYwd.js +185 -0
  492. package/dist/dist-CuA1lYwd.js.map +1 -0
  493. package/dist/dist-CuEY-E_Y.js +12 -0
  494. package/dist/dist-CuEY-E_Y.js.map +1 -0
  495. package/dist/dist-D3GdPS_X.js +153 -0
  496. package/dist/dist-D3GdPS_X.js.map +1 -0
  497. package/dist/dist-D6Fo4Qkc.js +13 -0
  498. package/dist/dist-D6Fo4Qkc.js.map +1 -0
  499. package/dist/dist-DHddbHrS.js +14 -0
  500. package/dist/dist-DHddbHrS.js.map +1 -0
  501. package/dist/dist-DKK7ynDa.js +31 -0
  502. package/dist/dist-DKK7ynDa.js.map +1 -0
  503. package/dist/dist-DLCJ6BjJ.js +68 -0
  504. package/dist/dist-DLCJ6BjJ.js.map +1 -0
  505. package/dist/dist-Di-HnAlt.js +279 -0
  506. package/dist/dist-Di-HnAlt.js.map +1 -0
  507. package/dist/dist-DtNafQtQ2.js +122 -0
  508. package/dist/dist-DtNafQtQ2.js.map +1 -0
  509. package/dist/dist-Ltr12WCJ.js +11020 -0
  510. package/dist/dist-Ltr12WCJ.js.map +1 -0
  511. package/dist/dist-hG2PgpV-2.js +12 -0
  512. package/dist/dist-hG2PgpV-2.js.map +1 -0
  513. package/dist/dropdown-menu-gev7lxyE.js +248 -0
  514. package/dist/dropdown-menu-gev7lxyE.js.map +1 -0
  515. package/dist/editors/base.d.ts +45 -0
  516. package/dist/editors/base.d.ts.map +1 -0
  517. package/dist/editors/code-editor.d.ts +25 -0
  518. package/dist/editors/code-editor.d.ts.map +1 -0
  519. package/dist/editors/code-editor.js +173 -0
  520. package/dist/editors/code-editor.js.map +1 -0
  521. package/dist/editors/diff-viewer.d.ts +18 -0
  522. package/dist/editors/diff-viewer.d.ts.map +1 -0
  523. package/dist/editors/diff-viewer.js +105 -0
  524. package/dist/editors/diff-viewer.js.map +1 -0
  525. package/dist/editors/index.d.ts +23 -0
  526. package/dist/editors/index.d.ts.map +1 -0
  527. package/dist/editors/index.js +14 -0
  528. package/dist/editors/json-viewer.d.ts +19 -0
  529. package/dist/editors/json-viewer.d.ts.map +1 -0
  530. package/dist/editors/json-viewer.js +78 -0
  531. package/dist/editors/json-viewer.js.map +1 -0
  532. package/dist/editors/languages/fluxl.d.ts +9 -0
  533. package/dist/editors/languages/fluxl.d.ts.map +1 -0
  534. package/dist/editors/languages/fluxl.js +77 -0
  535. package/dist/editors/languages/fluxl.js.map +1 -0
  536. package/dist/editors/languages/javascript.d.ts +6 -0
  537. package/dist/editors/languages/javascript.d.ts.map +1 -0
  538. package/dist/editors/languages/json.d.ts +4 -0
  539. package/dist/editors/languages/json.d.ts.map +1 -0
  540. package/dist/editors/languages/markdown.d.ts +4 -0
  541. package/dist/editors/languages/markdown.d.ts.map +1 -0
  542. package/dist/editors/languages/python.d.ts +4 -0
  543. package/dist/editors/languages/python.d.ts.map +1 -0
  544. package/dist/editors/languages/rust.d.ts +4 -0
  545. package/dist/editors/languages/rust.d.ts.map +1 -0
  546. package/dist/editors/languages/shell.d.ts +4 -0
  547. package/dist/editors/languages/shell.d.ts.map +1 -0
  548. package/dist/editors/languages/sql.d.ts +8 -0
  549. package/dist/editors/languages/sql.d.ts.map +1 -0
  550. package/dist/editors/languages/yaml.d.ts +6 -0
  551. package/dist/editors/languages/yaml.d.ts.map +1 -0
  552. package/dist/editors/languages/yara.d.ts +9 -0
  553. package/dist/editors/languages/yara.d.ts.map +1 -0
  554. package/dist/editors/languages/yara.js +93 -0
  555. package/dist/editors/languages/yara.js.map +1 -0
  556. package/dist/editors/languages/yaral.d.ts +9 -0
  557. package/dist/editors/languages/yaral.d.ts.map +1 -0
  558. package/dist/editors/languages/yaral.js +52 -0
  559. package/dist/editors/languages/yaral.js.map +1 -0
  560. package/dist/editors/log-viewer.d.ts +23 -0
  561. package/dist/editors/log-viewer.d.ts.map +1 -0
  562. package/dist/editors/log-viewer.js +89 -0
  563. package/dist/editors/log-viewer.js.map +1 -0
  564. package/dist/editors/types.d.ts +123 -0
  565. package/dist/editors/types.d.ts.map +1 -0
  566. package/dist/editors/yaml-editor.d.ts +8 -0
  567. package/dist/editors/yaml-editor.d.ts.map +1 -0
  568. package/dist/editors/yaml-editor.js +22 -0
  569. package/dist/editors/yaml-editor.js.map +1 -0
  570. package/dist/ellipsis-g4z73tVE.js +25 -0
  571. package/dist/ellipsis-g4z73tVE.js.map +1 -0
  572. package/dist/erDiagram-INFDFZHY-DF8z82V9.js +1669 -0
  573. package/dist/erDiagram-INFDFZHY-DF8z82V9.js.map +1 -0
  574. package/dist/es2015-CoPv8Nx3.js +703 -0
  575. package/dist/es2015-CoPv8Nx3.js.map +1 -0
  576. package/dist/flowDiagram-PKNHOUZH--GnQiGTL.js +4165 -0
  577. package/dist/flowDiagram-PKNHOUZH--GnQiGTL.js.map +1 -0
  578. package/dist/form/calendar/index.d.ts +41 -0
  579. package/dist/form/calendar/index.d.ts.map +1 -0
  580. package/dist/form/calendar/index.js +172 -0
  581. package/dist/form/calendar/index.js.map +1 -0
  582. package/dist/form/calendar/types.d.ts +18 -0
  583. package/dist/form/calendar/types.d.ts.map +1 -0
  584. package/dist/form/color-picker/index.d.ts +78 -0
  585. package/dist/form/color-picker/index.d.ts.map +1 -0
  586. package/dist/form/color-picker/index.js +547 -0
  587. package/dist/form/color-picker/index.js.map +1 -0
  588. package/dist/form/color-picker/types.d.ts +14 -0
  589. package/dist/form/color-picker/types.d.ts.map +1 -0
  590. package/dist/form/cron-editor/index.d.ts +56 -0
  591. package/dist/form/cron-editor/index.d.ts.map +1 -0
  592. package/dist/form/cron-editor/index.js +312 -0
  593. package/dist/form/cron-editor/index.js.map +1 -0
  594. package/dist/form/cron-editor/parser.d.ts +12 -0
  595. package/dist/form/cron-editor/parser.d.ts.map +1 -0
  596. package/dist/form/cron-editor/parser.js +211 -0
  597. package/dist/form/cron-editor/parser.js.map +1 -0
  598. package/dist/form/cron-editor/types.d.ts +31 -0
  599. package/dist/form/cron-editor/types.d.ts.map +1 -0
  600. package/dist/form/date-picker/index.d.ts +28 -0
  601. package/dist/form/date-picker/index.d.ts.map +1 -0
  602. package/dist/form/date-picker/index.js +115 -0
  603. package/dist/form/date-picker/index.js.map +1 -0
  604. package/dist/form/date-picker/range.d.ts +34 -0
  605. package/dist/form/date-picker/range.d.ts.map +1 -0
  606. package/dist/form/date-picker/range.js +179 -0
  607. package/dist/form/date-picker/range.js.map +1 -0
  608. package/dist/form/date-picker/time.d.ts +41 -0
  609. package/dist/form/date-picker/time.d.ts.map +1 -0
  610. package/dist/form/date-picker/time.js +146 -0
  611. package/dist/form/date-picker/time.js.map +1 -0
  612. package/dist/form/date-picker/types.d.ts +52 -0
  613. package/dist/form/date-picker/types.d.ts.map +1 -0
  614. package/dist/form/direction/index.d.ts +25 -0
  615. package/dist/form/direction/index.d.ts.map +1 -0
  616. package/dist/form/direction/index.js +36 -0
  617. package/dist/form/direction/index.js.map +1 -0
  618. package/dist/form/index.d.ts +19 -0
  619. package/dist/form/index.d.ts.map +1 -0
  620. package/dist/form/index.js +10 -0
  621. package/dist/form/tag-input/index.d.ts +45 -0
  622. package/dist/form/tag-input/index.d.ts.map +1 -0
  623. package/dist/form/tag-input/index.js +208 -0
  624. package/dist/form/tag-input/index.js.map +1 -0
  625. package/dist/form/tag-input/types.d.ts +22 -0
  626. package/dist/form/tag-input/types.d.ts.map +1 -0
  627. package/dist/ganttDiagram-A5KZAMGK-C-ecgUuM.js +3075 -0
  628. package/dist/ganttDiagram-A5KZAMGK-C-ecgUuM.js.map +1 -0
  629. package/dist/gitGraph-HDMCJU4V-Bc1dZdnh.js +3 -0
  630. package/dist/gitGraphDiagram-K3NZZRJ6-B3SX2MOp.js +628 -0
  631. package/dist/gitGraphDiagram-K3NZZRJ6-B3SX2MOp.js.map +1 -0
  632. package/dist/graphlib-B9J5YQhs.js +227 -0
  633. package/dist/graphlib-B9J5YQhs.js.map +1 -0
  634. package/dist/icons/index.d.ts +16 -0
  635. package/dist/icons/index.d.ts.map +1 -0
  636. package/dist/icons/index.js +93 -0
  637. package/dist/icons/index.js.map +1 -0
  638. package/dist/index.d.ts +54 -0
  639. package/dist/index.d.ts.map +1 -0
  640. package/dist/index.js +138 -0
  641. package/dist/info-3K5VOQVL-Bbwt2VhK.js +3 -0
  642. package/dist/infoDiagram-LFFYTUFH-C8h9fMHW.js +21 -0
  643. package/dist/infoDiagram-LFFYTUFH-C8h9fMHW.js.map +1 -0
  644. package/dist/init-w1fYmhFN.js +17 -0
  645. package/dist/init-w1fYmhFN.js.map +1 -0
  646. package/dist/input-6tYy57mp.js +311 -0
  647. package/dist/input-6tYy57mp.js.map +1 -0
  648. package/dist/interactive-9Ky-mbcb.js +24 -0
  649. package/dist/interactive-9Ky-mbcb.js.map +1 -0
  650. package/dist/isArrayLikeObject-Bdc4g39x.js +580 -0
  651. package/dist/isArrayLikeObject-Bdc4g39x.js.map +1 -0
  652. package/dist/isEmpty-CrXtQ9Zv.js +37 -0
  653. package/dist/isEmpty-CrXtQ9Zv.js.map +1 -0
  654. package/dist/ishikawaDiagram-PHBUUO56-Dzja5vrM.js +719 -0
  655. package/dist/ishikawaDiagram-PHBUUO56-Dzja5vrM.js.map +1 -0
  656. package/dist/journeyDiagram-4ABVD52K-CUzkcpCV.js +886 -0
  657. package/dist/journeyDiagram-4ABVD52K-CUzkcpCV.js.map +1 -0
  658. package/dist/json-CeyVGbpw.js +907 -0
  659. package/dist/json-CeyVGbpw.js.map +1 -0
  660. package/dist/kanban-definition-K7BYSVSG-DvIRVHW0.js +973 -0
  661. package/dist/kanban-definition-K7BYSVSG-DvIRVHW0.js.map +1 -0
  662. package/dist/katex-DWv23pJW.js +21981 -0
  663. package/dist/katex-DWv23pJW.js.map +1 -0
  664. package/dist/keyboard-BzL08saM.js +245 -0
  665. package/dist/keyboard-BzL08saM.js.map +1 -0
  666. package/dist/label-BObzQvEY.js +55 -0
  667. package/dist/label-BObzQvEY.js.map +1 -0
  668. package/dist/layout/index.d.ts +69 -0
  669. package/dist/layout/index.d.ts.map +1 -0
  670. package/dist/layout/index.js +240 -0
  671. package/dist/layout/index.js.map +1 -0
  672. package/dist/line-CmjYdUkH.js +36 -0
  673. package/dist/line-CmjYdUkH.js.map +1 -0
  674. package/dist/linear-DTQb0J_9.js +244 -0
  675. package/dist/linear-DTQb0J_9.js.map +1 -0
  676. package/dist/markdown-viewer-BLoPrrpk.js +211 -0
  677. package/dist/markdown-viewer-BLoPrrpk.js.map +1 -0
  678. package/dist/math-8tgL_lKq.js +12 -0
  679. package/dist/math-8tgL_lKq.js.map +1 -0
  680. package/dist/menubar-DnARRQDT.js +438 -0
  681. package/dist/menubar-DnARRQDT.js.map +1 -0
  682. package/dist/mermaid-parser.core-CuiIDpxY.js +61 -0
  683. package/dist/mermaid-parser.core-CuiIDpxY.js.map +1 -0
  684. package/dist/mermaid.core-DwgIyYMX.js +923 -0
  685. package/dist/mermaid.core-DwgIyYMX.js.map +1 -0
  686. package/dist/mindmap-definition-YRQLILUH-BOCS5UWn.js +966 -0
  687. package/dist/mindmap-definition-YRQLILUH-BOCS5UWn.js.map +1 -0
  688. package/dist/navigation/breadcrumb/index.d.ts +22 -0
  689. package/dist/navigation/breadcrumb/index.d.ts.map +1 -0
  690. package/dist/navigation/breadcrumb/index.js +74 -0
  691. package/dist/navigation/breadcrumb/index.js.map +1 -0
  692. package/dist/navigation/breadcrumb/types.d.ts +19 -0
  693. package/dist/navigation/breadcrumb/types.d.ts.map +1 -0
  694. package/dist/navigation/drawer/index.d.ts +40 -0
  695. package/dist/navigation/drawer/index.d.ts.map +1 -0
  696. package/dist/navigation/drawer/index.js +120 -0
  697. package/dist/navigation/drawer/index.js.map +1 -0
  698. package/dist/navigation/drawer/types.d.ts +19 -0
  699. package/dist/navigation/drawer/types.d.ts.map +1 -0
  700. package/dist/navigation/dropdown-menu/index.d.ts +57 -0
  701. package/dist/navigation/dropdown-menu/index.d.ts.map +1 -0
  702. package/dist/navigation/dropdown-menu/index.js +231 -0
  703. package/dist/navigation/dropdown-menu/index.js.map +1 -0
  704. package/dist/navigation/dropdown-menu/types.d.ts +38 -0
  705. package/dist/navigation/dropdown-menu/types.d.ts.map +1 -0
  706. package/dist/navigation/index.d.ts +17 -0
  707. package/dist/navigation/index.d.ts.map +1 -0
  708. package/dist/navigation/index.js +7 -0
  709. package/dist/navigation/menubar/index.d.ts +38 -0
  710. package/dist/navigation/menubar/index.d.ts.map +1 -0
  711. package/dist/navigation/menubar/index.js +166 -0
  712. package/dist/navigation/menubar/index.js.map +1 -0
  713. package/dist/navigation/menubar/types.d.ts +24 -0
  714. package/dist/navigation/menubar/types.d.ts.map +1 -0
  715. package/dist/navigation/navigation-menu/index.d.ts +49 -0
  716. package/dist/navigation/navigation-menu/index.d.ts.map +1 -0
  717. package/dist/navigation/navigation-menu/index.js +173 -0
  718. package/dist/navigation/navigation-menu/index.js.map +1 -0
  719. package/dist/navigation/navigation-menu/types.d.ts +24 -0
  720. package/dist/navigation/navigation-menu/types.d.ts.map +1 -0
  721. package/dist/navigation/stepper/index.d.ts +34 -0
  722. package/dist/navigation/stepper/index.d.ts.map +1 -0
  723. package/dist/navigation/stepper/index.js +91 -0
  724. package/dist/navigation/stepper/index.js.map +1 -0
  725. package/dist/navigation/stepper/types.d.ts +22 -0
  726. package/dist/navigation/stepper/types.d.ts.map +1 -0
  727. package/dist/navigation-menu-CR-D1doi.js +622 -0
  728. package/dist/navigation-menu-CR-D1doi.js.map +1 -0
  729. package/dist/ordinal-CYknuT-U.js +67 -0
  730. package/dist/ordinal-CYknuT-U.js.map +1 -0
  731. package/dist/overlays/alert-dialog/index.d.ts +35 -0
  732. package/dist/overlays/alert-dialog/index.d.ts.map +1 -0
  733. package/dist/overlays/alert-dialog/index.js +137 -0
  734. package/dist/overlays/alert-dialog/index.js.map +1 -0
  735. package/dist/overlays/alert-dialog/types.d.ts +17 -0
  736. package/dist/overlays/alert-dialog/types.d.ts.map +1 -0
  737. package/dist/overlays/carousel/index.d.ts +69 -0
  738. package/dist/overlays/carousel/index.d.ts.map +1 -0
  739. package/dist/overlays/carousel/index.js +154 -0
  740. package/dist/overlays/carousel/index.js.map +1 -0
  741. package/dist/overlays/carousel/types.d.ts +21 -0
  742. package/dist/overlays/carousel/types.d.ts.map +1 -0
  743. package/dist/overlays/index.d.ts +11 -0
  744. package/dist/overlays/index.d.ts.map +1 -0
  745. package/dist/overlays/index.js +4 -0
  746. package/dist/overlays/sheet/index.d.ts +37 -0
  747. package/dist/overlays/sheet/index.d.ts.map +1 -0
  748. package/dist/overlays/sheet/index.js +120 -0
  749. package/dist/overlays/sheet/index.js.map +1 -0
  750. package/dist/overlays/sheet/types.d.ts +20 -0
  751. package/dist/overlays/sheet/types.d.ts.map +1 -0
  752. package/dist/packet-RMMSAZCW-BJSH0V2C.js +3 -0
  753. package/dist/pagination-Co5Y-NPF.js +80 -0
  754. package/dist/pagination-Co5Y-NPF.js.map +1 -0
  755. package/dist/passkey/index.d.ts +77 -0
  756. package/dist/passkey/index.d.ts.map +1 -0
  757. package/dist/passkey/index.js +90 -0
  758. package/dist/passkey/index.js.map +1 -0
  759. package/dist/path-CmOMDdHx.js +87 -0
  760. package/dist/path-CmOMDdHx.js.map +1 -0
  761. package/dist/pie-UPGHQEXC-Bdq_H4Og.js +3 -0
  762. package/dist/pieDiagram-SKSYHLDU-CHElRUS-.js +167 -0
  763. package/dist/pieDiagram-SKSYHLDU-CHElRUS-.js.map +1 -0
  764. package/dist/primitives/button/button-group.d.ts +13 -0
  765. package/dist/primitives/button/button-group.d.ts.map +1 -0
  766. package/dist/primitives/button/index.d.ts +31 -0
  767. package/dist/primitives/button/index.d.ts.map +1 -0
  768. package/dist/primitives/button/index.js +2 -0
  769. package/dist/primitives/button/types.d.ts +22 -0
  770. package/dist/primitives/button/types.d.ts.map +1 -0
  771. package/dist/primitives/button/variants.d.ts +12 -0
  772. package/dist/primitives/button/variants.d.ts.map +1 -0
  773. package/dist/primitives/checkbox/group.d.ts +17 -0
  774. package/dist/primitives/checkbox/group.d.ts.map +1 -0
  775. package/dist/primitives/checkbox/group.js +58 -0
  776. package/dist/primitives/checkbox/group.js.map +1 -0
  777. package/dist/primitives/checkbox/index.d.ts +19 -0
  778. package/dist/primitives/checkbox/index.d.ts.map +1 -0
  779. package/dist/primitives/checkbox/index.js +38 -0
  780. package/dist/primitives/checkbox/index.js.map +1 -0
  781. package/dist/primitives/checkbox/types.d.ts +32 -0
  782. package/dist/primitives/checkbox/types.d.ts.map +1 -0
  783. package/dist/primitives/field/index.d.ts +44 -0
  784. package/dist/primitives/field/index.d.ts.map +1 -0
  785. package/dist/primitives/field/index.js +60 -0
  786. package/dist/primitives/field/index.js.map +1 -0
  787. package/dist/primitives/field/types.d.ts +14 -0
  788. package/dist/primitives/field/types.d.ts.map +1 -0
  789. package/dist/primitives/index.d.ts +38 -0
  790. package/dist/primitives/index.d.ts.map +1 -0
  791. package/dist/primitives/index.js +19 -0
  792. package/dist/primitives/input/index.d.ts +29 -0
  793. package/dist/primitives/input/index.d.ts.map +1 -0
  794. package/dist/primitives/input/index.js +2 -0
  795. package/dist/primitives/input/input-group.d.ts +17 -0
  796. package/dist/primitives/input/input-group.d.ts.map +1 -0
  797. package/dist/primitives/input/input-otp.d.ts +27 -0
  798. package/dist/primitives/input/input-otp.d.ts.map +1 -0
  799. package/dist/primitives/input/ip-input.d.ts +25 -0
  800. package/dist/primitives/input/ip-input.d.ts.map +1 -0
  801. package/dist/primitives/input/textarea.d.ts +24 -0
  802. package/dist/primitives/input/textarea.d.ts.map +1 -0
  803. package/dist/primitives/input/types.d.ts +67 -0
  804. package/dist/primitives/input/types.d.ts.map +1 -0
  805. package/dist/primitives/kbd/index.d.ts +19 -0
  806. package/dist/primitives/kbd/index.d.ts.map +1 -0
  807. package/dist/primitives/kbd/index.js +28 -0
  808. package/dist/primitives/kbd/index.js.map +1 -0
  809. package/dist/primitives/label/index.d.ts +27 -0
  810. package/dist/primitives/label/index.d.ts.map +1 -0
  811. package/dist/primitives/label/index.js +29 -0
  812. package/dist/primitives/label/index.js.map +1 -0
  813. package/dist/primitives/radio/index.d.ts +21 -0
  814. package/dist/primitives/radio/index.d.ts.map +1 -0
  815. package/dist/primitives/radio/index.js +78 -0
  816. package/dist/primitives/radio/index.js.map +1 -0
  817. package/dist/primitives/radio/types.d.ts +21 -0
  818. package/dist/primitives/radio/types.d.ts.map +1 -0
  819. package/dist/primitives/scroll-area/index.d.ts +27 -0
  820. package/dist/primitives/scroll-area/index.d.ts.map +1 -0
  821. package/dist/primitives/scroll-area/index.js +29 -0
  822. package/dist/primitives/scroll-area/index.js.map +1 -0
  823. package/dist/primitives/select/combobox.d.ts +42 -0
  824. package/dist/primitives/select/combobox.d.ts.map +1 -0
  825. package/dist/primitives/select/combobox.js +162 -0
  826. package/dist/primitives/select/combobox.js.map +1 -0
  827. package/dist/primitives/select/index.d.ts +47 -0
  828. package/dist/primitives/select/index.d.ts.map +1 -0
  829. package/dist/primitives/select/index.js +193 -0
  830. package/dist/primitives/select/index.js.map +1 -0
  831. package/dist/primitives/select/native.d.ts +19 -0
  832. package/dist/primitives/select/native.d.ts.map +1 -0
  833. package/dist/primitives/select/native.js +57 -0
  834. package/dist/primitives/select/native.js.map +1 -0
  835. package/dist/primitives/select/types.d.ts +49 -0
  836. package/dist/primitives/select/types.d.ts.map +1 -0
  837. package/dist/primitives/separator/index.d.ts +16 -0
  838. package/dist/primitives/separator/index.d.ts.map +1 -0
  839. package/dist/primitives/separator/index.js +16 -0
  840. package/dist/primitives/separator/index.js.map +1 -0
  841. package/dist/primitives/skeleton/index.d.ts +21 -0
  842. package/dist/primitives/skeleton/index.d.ts.map +1 -0
  843. package/dist/primitives/skeleton/index.js +19 -0
  844. package/dist/primitives/skeleton/index.js.map +1 -0
  845. package/dist/primitives/slider/index.d.ts +48 -0
  846. package/dist/primitives/slider/index.d.ts.map +1 -0
  847. package/dist/primitives/slider/index.js +118 -0
  848. package/dist/primitives/slider/index.js.map +1 -0
  849. package/dist/primitives/slider/types.d.ts +19 -0
  850. package/dist/primitives/slider/types.d.ts.map +1 -0
  851. package/dist/primitives/spinner/index.d.ts +20 -0
  852. package/dist/primitives/spinner/index.d.ts.map +1 -0
  853. package/dist/primitives/spinner/index.js +23 -0
  854. package/dist/primitives/spinner/index.js.map +1 -0
  855. package/dist/primitives/switch/index.d.ts +28 -0
  856. package/dist/primitives/switch/index.d.ts.map +1 -0
  857. package/dist/primitives/switch/index.js +44 -0
  858. package/dist/primitives/switch/index.js.map +1 -0
  859. package/dist/primitives/switch/types.d.ts +16 -0
  860. package/dist/primitives/switch/types.d.ts.map +1 -0
  861. package/dist/primitives/toggle/index.d.ts +25 -0
  862. package/dist/primitives/toggle/index.d.ts.map +1 -0
  863. package/dist/primitives/toggle/index.js +2 -0
  864. package/dist/primitives/toggle/toggle-group.d.ts +29 -0
  865. package/dist/primitives/toggle/toggle-group.d.ts.map +1 -0
  866. package/dist/primitives/toggle/types.d.ts +35 -0
  867. package/dist/primitives/toggle/types.d.ts.map +1 -0
  868. package/dist/primitives/utils.d.ts +9 -0
  869. package/dist/primitives/utils.d.ts.map +1 -0
  870. package/dist/purify.es-oNgIHWpC.js +551 -0
  871. package/dist/purify.es-oNgIHWpC.js.map +1 -0
  872. package/dist/quadrantDiagram-337W2JSQ-CCp6NZKq.js +1977 -0
  873. package/dist/quadrantDiagram-337W2JSQ-CCp6NZKq.js.map +1 -0
  874. package/dist/radar-KQ55EAFF-9Ge_dfwM.js +3 -0
  875. package/dist/radio-group-70BFGDbL.js +199 -0
  876. package/dist/radio-group-70BFGDbL.js.map +1 -0
  877. package/dist/react/brand/index.d.ts +36 -0
  878. package/dist/react/brand/index.d.ts.map +1 -0
  879. package/dist/react/brand.js +81 -0
  880. package/dist/react/brand.js.map +1 -0
  881. package/dist/react/index.d.ts +6 -0
  882. package/dist/react/index.d.ts.map +1 -0
  883. package/dist/react/primitives/alert-dialog.d.ts +15 -0
  884. package/dist/react/primitives/alert-dialog.d.ts.map +1 -0
  885. package/dist/react/primitives/alert-dialog.js +2 -0
  886. package/dist/react/primitives/alert.d.ts +16 -0
  887. package/dist/react/primitives/alert.d.ts.map +1 -0
  888. package/dist/react/primitives/alert.js +61 -0
  889. package/dist/react/primitives/alert.js.map +1 -0
  890. package/dist/react/primitives/animated-counter.d.ts +37 -0
  891. package/dist/react/primitives/animated-counter.d.ts.map +1 -0
  892. package/dist/react/primitives/animated-counter.js +86 -0
  893. package/dist/react/primitives/animated-counter.js.map +1 -0
  894. package/dist/react/primitives/aspect-ratio.d.ts +8 -0
  895. package/dist/react/primitives/aspect-ratio.d.ts.map +1 -0
  896. package/dist/react/primitives/aspect-ratio.js +23 -0
  897. package/dist/react/primitives/aspect-ratio.js.map +1 -0
  898. package/dist/react/primitives/attack-path.d.ts +34 -0
  899. package/dist/react/primitives/attack-path.d.ts.map +1 -0
  900. package/dist/react/primitives/attack-path.js +125 -0
  901. package/dist/react/primitives/attack-path.js.map +1 -0
  902. package/dist/react/primitives/avatar.d.ts +25 -0
  903. package/dist/react/primitives/avatar.d.ts.map +1 -0
  904. package/dist/react/primitives/avatar.js +95 -0
  905. package/dist/react/primitives/avatar.js.map +1 -0
  906. package/dist/react/primitives/badge.d.ts +11 -0
  907. package/dist/react/primitives/badge.d.ts.map +1 -0
  908. package/dist/react/primitives/badge.js +32 -0
  909. package/dist/react/primitives/badge.js.map +1 -0
  910. package/dist/react/primitives/breadcrumb.d.ts +12 -0
  911. package/dist/react/primitives/breadcrumb.d.ts.map +1 -0
  912. package/dist/react/primitives/breadcrumb.js +72 -0
  913. package/dist/react/primitives/breadcrumb.js.map +1 -0
  914. package/dist/react/primitives/button.d.ts +18 -0
  915. package/dist/react/primitives/button.d.ts.map +1 -0
  916. package/dist/react/primitives/button.js +82 -0
  917. package/dist/react/primitives/button.js.map +1 -0
  918. package/dist/react/primitives/calendar.d.ts +31 -0
  919. package/dist/react/primitives/calendar.d.ts.map +1 -0
  920. package/dist/react/primitives/calendar.js +139 -0
  921. package/dist/react/primitives/calendar.js.map +1 -0
  922. package/dist/react/primitives/card.d.ts +11 -0
  923. package/dist/react/primitives/card.d.ts.map +1 -0
  924. package/dist/react/primitives/card.js +32 -0
  925. package/dist/react/primitives/card.js.map +1 -0
  926. package/dist/react/primitives/carousel.d.ts +25 -0
  927. package/dist/react/primitives/carousel.d.ts.map +1 -0
  928. package/dist/react/primitives/carousel.js +2 -0
  929. package/dist/react/primitives/chart-area.d.ts +9 -0
  930. package/dist/react/primitives/chart-area.d.ts.map +1 -0
  931. package/dist/react/primitives/chart-area.js +26 -0
  932. package/dist/react/primitives/chart-area.js.map +1 -0
  933. package/dist/react/primitives/chart-bar.d.ts +9 -0
  934. package/dist/react/primitives/chart-bar.d.ts.map +1 -0
  935. package/dist/react/primitives/chart-bar.js +26 -0
  936. package/dist/react/primitives/chart-bar.js.map +1 -0
  937. package/dist/react/primitives/chart-candlestick.d.ts +8 -0
  938. package/dist/react/primitives/chart-candlestick.d.ts.map +1 -0
  939. package/dist/react/primitives/chart-candlestick.js +26 -0
  940. package/dist/react/primitives/chart-candlestick.js.map +1 -0
  941. package/dist/react/primitives/chart-funnel.d.ts +8 -0
  942. package/dist/react/primitives/chart-funnel.d.ts.map +1 -0
  943. package/dist/react/primitives/chart-funnel.js +26 -0
  944. package/dist/react/primitives/chart-funnel.js.map +1 -0
  945. package/dist/react/primitives/chart-gauge.d.ts +8 -0
  946. package/dist/react/primitives/chart-gauge.d.ts.map +1 -0
  947. package/dist/react/primitives/chart-gauge.js +37 -0
  948. package/dist/react/primitives/chart-gauge.js.map +1 -0
  949. package/dist/react/primitives/chart-heatmap.d.ts +8 -0
  950. package/dist/react/primitives/chart-heatmap.d.ts.map +1 -0
  951. package/dist/react/primitives/chart-heatmap.js +26 -0
  952. package/dist/react/primitives/chart-heatmap.js.map +1 -0
  953. package/dist/react/primitives/chart-line.d.ts +9 -0
  954. package/dist/react/primitives/chart-line.d.ts.map +1 -0
  955. package/dist/react/primitives/chart-line.js +26 -0
  956. package/dist/react/primitives/chart-line.js.map +1 -0
  957. package/dist/react/primitives/chart-pie.d.ts +8 -0
  958. package/dist/react/primitives/chart-pie.d.ts.map +1 -0
  959. package/dist/react/primitives/chart-pie.js +26 -0
  960. package/dist/react/primitives/chart-pie.js.map +1 -0
  961. package/dist/react/primitives/chart-radar.d.ts +8 -0
  962. package/dist/react/primitives/chart-radar.d.ts.map +1 -0
  963. package/dist/react/primitives/chart-radar.js +26 -0
  964. package/dist/react/primitives/chart-radar.js.map +1 -0
  965. package/dist/react/primitives/chart-sankey.d.ts +8 -0
  966. package/dist/react/primitives/chart-sankey.d.ts.map +1 -0
  967. package/dist/react/primitives/chart-sankey.js +26 -0
  968. package/dist/react/primitives/chart-sankey.js.map +1 -0
  969. package/dist/react/primitives/chart-scatter.d.ts +9 -0
  970. package/dist/react/primitives/chart-scatter.d.ts.map +1 -0
  971. package/dist/react/primitives/chart-scatter.js +26 -0
  972. package/dist/react/primitives/chart-scatter.js.map +1 -0
  973. package/dist/react/primitives/chart-sparkline.d.ts +7 -0
  974. package/dist/react/primitives/chart-sparkline.d.ts.map +1 -0
  975. package/dist/react/primitives/chart-sparkline.js +26 -0
  976. package/dist/react/primitives/chart-sparkline.js.map +1 -0
  977. package/dist/react/primitives/chart-treemap.d.ts +8 -0
  978. package/dist/react/primitives/chart-treemap.d.ts.map +1 -0
  979. package/dist/react/primitives/chart-treemap.js +26 -0
  980. package/dist/react/primitives/chart-treemap.js.map +1 -0
  981. package/dist/react/primitives/chart-waterfall.d.ts +8 -0
  982. package/dist/react/primitives/chart-waterfall.d.ts.map +1 -0
  983. package/dist/react/primitives/chart-waterfall.js +26 -0
  984. package/dist/react/primitives/chart-waterfall.js.map +1 -0
  985. package/dist/react/primitives/checkbox.d.ts +9 -0
  986. package/dist/react/primitives/checkbox.d.ts.map +1 -0
  987. package/dist/react/primitives/checkbox.js +28 -0
  988. package/dist/react/primitives/checkbox.js.map +1 -0
  989. package/dist/react/primitives/code-block.d.ts +16 -0
  990. package/dist/react/primitives/code-block.d.ts.map +1 -0
  991. package/dist/react/primitives/code-block.js +67 -0
  992. package/dist/react/primitives/code-block.js.map +1 -0
  993. package/dist/react/primitives/code-viewer.d.ts +23 -0
  994. package/dist/react/primitives/code-viewer.d.ts.map +1 -0
  995. package/dist/react/primitives/code-viewer.js +229 -0
  996. package/dist/react/primitives/code-viewer.js.map +1 -0
  997. package/dist/react/primitives/collapsible.d.ts +32 -0
  998. package/dist/react/primitives/collapsible.d.ts.map +1 -0
  999. package/dist/react/primitives/collapsible.js +51 -0
  1000. package/dist/react/primitives/collapsible.js.map +1 -0
  1001. package/dist/react/primitives/color-picker.d.ts +18 -0
  1002. package/dist/react/primitives/color-picker.d.ts.map +1 -0
  1003. package/dist/react/primitives/color-picker.js +287 -0
  1004. package/dist/react/primitives/color-picker.js.map +1 -0
  1005. package/dist/react/primitives/context-menu.d.ts +24 -0
  1006. package/dist/react/primitives/context-menu.d.ts.map +1 -0
  1007. package/dist/react/primitives/context-menu.js +127 -0
  1008. package/dist/react/primitives/context-menu.js.map +1 -0
  1009. package/dist/react/primitives/copy-button.d.ts +23 -0
  1010. package/dist/react/primitives/copy-button.d.ts.map +1 -0
  1011. package/dist/react/primitives/copy-button.js +59 -0
  1012. package/dist/react/primitives/copy-button.js.map +1 -0
  1013. package/dist/react/primitives/cron-editor.d.ts +39 -0
  1014. package/dist/react/primitives/cron-editor.d.ts.map +1 -0
  1015. package/dist/react/primitives/cron-editor.js +456 -0
  1016. package/dist/react/primitives/cron-editor.js.map +1 -0
  1017. package/dist/react/primitives/cvss-badge.d.ts +21 -0
  1018. package/dist/react/primitives/cvss-badge.d.ts.map +1 -0
  1019. package/dist/react/primitives/cvss-badge.js +70 -0
  1020. package/dist/react/primitives/cvss-badge.js.map +1 -0
  1021. package/dist/react/primitives/data-grid.d.ts +73 -0
  1022. package/dist/react/primitives/data-grid.d.ts.map +1 -0
  1023. package/dist/react/primitives/data-grid.js +775 -0
  1024. package/dist/react/primitives/data-grid.js.map +1 -0
  1025. package/dist/react/primitives/data-table.d.ts +49 -0
  1026. package/dist/react/primitives/data-table.d.ts.map +1 -0
  1027. package/dist/react/primitives/data-table.js +144 -0
  1028. package/dist/react/primitives/data-table.js.map +1 -0
  1029. package/dist/react/primitives/date-picker.d.ts +57 -0
  1030. package/dist/react/primitives/date-picker.d.ts.map +1 -0
  1031. package/dist/react/primitives/date-picker.js +394 -0
  1032. package/dist/react/primitives/date-picker.js.map +1 -0
  1033. package/dist/react/primitives/detection-status.d.ts +47 -0
  1034. package/dist/react/primitives/detection-status.d.ts.map +1 -0
  1035. package/dist/react/primitives/detection-status.js +284 -0
  1036. package/dist/react/primitives/detection-status.js.map +1 -0
  1037. package/dist/react/primitives/dialog.d.ts +16 -0
  1038. package/dist/react/primitives/dialog.d.ts.map +1 -0
  1039. package/dist/react/primitives/dialog.js +87 -0
  1040. package/dist/react/primitives/dialog.js.map +1 -0
  1041. package/dist/react/primitives/direction.d.ts +21 -0
  1042. package/dist/react/primitives/direction.d.ts.map +1 -0
  1043. package/dist/react/primitives/direction.js +43 -0
  1044. package/dist/react/primitives/direction.js.map +1 -0
  1045. package/dist/react/primitives/drawer.d.ts +16 -0
  1046. package/dist/react/primitives/drawer.d.ts.map +1 -0
  1047. package/dist/react/primitives/drawer.js +88 -0
  1048. package/dist/react/primitives/drawer.js.map +1 -0
  1049. package/dist/react/primitives/dropdown-menu.d.ts +10 -0
  1050. package/dist/react/primitives/dropdown-menu.d.ts.map +1 -0
  1051. package/dist/react/primitives/dropdown-menu.js +2 -0
  1052. package/dist/react/primitives/empty-state.d.ts +17 -0
  1053. package/dist/react/primitives/empty-state.d.ts.map +1 -0
  1054. package/dist/react/primitives/empty-state.js +42 -0
  1055. package/dist/react/primitives/empty-state.js.map +1 -0
  1056. package/dist/react/primitives/error-boundary.d.ts +20 -0
  1057. package/dist/react/primitives/error-boundary.d.ts.map +1 -0
  1058. package/dist/react/primitives/error-boundary.js +30 -0
  1059. package/dist/react/primitives/error-boundary.js.map +1 -0
  1060. package/dist/react/primitives/field.d.ts +17 -0
  1061. package/dist/react/primitives/field.d.ts.map +1 -0
  1062. package/dist/react/primitives/field.js +41 -0
  1063. package/dist/react/primitives/field.js.map +1 -0
  1064. package/dist/react/primitives/file-tree.d.ts +28 -0
  1065. package/dist/react/primitives/file-tree.d.ts.map +1 -0
  1066. package/dist/react/primitives/file-tree.js +183 -0
  1067. package/dist/react/primitives/file-tree.js.map +1 -0
  1068. package/dist/react/primitives/flow-diagram.d.ts +18 -0
  1069. package/dist/react/primitives/flow-diagram.d.ts.map +1 -0
  1070. package/dist/react/primitives/flow-diagram.js +40 -0
  1071. package/dist/react/primitives/flow-diagram.js.map +1 -0
  1072. package/dist/react/primitives/heatmap-legend.d.ts +20 -0
  1073. package/dist/react/primitives/heatmap-legend.d.ts.map +1 -0
  1074. package/dist/react/primitives/heatmap-legend.js +29 -0
  1075. package/dist/react/primitives/heatmap-legend.js.map +1 -0
  1076. package/dist/react/primitives/heatmap-toolbar.d.ts +20 -0
  1077. package/dist/react/primitives/heatmap-toolbar.d.ts.map +1 -0
  1078. package/dist/react/primitives/heatmap-toolbar.js +34 -0
  1079. package/dist/react/primitives/heatmap-toolbar.js.map +1 -0
  1080. package/dist/react/primitives/hover-card.d.ts +23 -0
  1081. package/dist/react/primitives/hover-card.d.ts.map +1 -0
  1082. package/dist/react/primitives/hover-card.js +73 -0
  1083. package/dist/react/primitives/hover-card.js.map +1 -0
  1084. package/dist/react/primitives/index.d.ts +99 -0
  1085. package/dist/react/primitives/index.d.ts.map +1 -0
  1086. package/dist/react/primitives/index.js +99 -0
  1087. package/dist/react/primitives/input.d.ts +10 -0
  1088. package/dist/react/primitives/input.d.ts.map +1 -0
  1089. package/dist/react/primitives/input.js +18 -0
  1090. package/dist/react/primitives/input.js.map +1 -0
  1091. package/dist/react/primitives/json-path-browser.d.ts +15 -0
  1092. package/dist/react/primitives/json-path-browser.d.ts.map +1 -0
  1093. package/dist/react/primitives/json-path-browser.js +191 -0
  1094. package/dist/react/primitives/json-path-browser.js.map +1 -0
  1095. package/dist/react/primitives/kanban.d.ts +73 -0
  1096. package/dist/react/primitives/kanban.d.ts.map +1 -0
  1097. package/dist/react/primitives/kanban.js +210 -0
  1098. package/dist/react/primitives/kanban.js.map +1 -0
  1099. package/dist/react/primitives/kbd.d.ts +9 -0
  1100. package/dist/react/primitives/kbd.d.ts.map +1 -0
  1101. package/dist/react/primitives/kbd.js +22 -0
  1102. package/dist/react/primitives/kbd.js.map +1 -0
  1103. package/dist/react/primitives/label.d.ts +12 -0
  1104. package/dist/react/primitives/label.d.ts.map +1 -0
  1105. package/dist/react/primitives/label.js +2 -0
  1106. package/dist/react/primitives/map.d.ts +23 -0
  1107. package/dist/react/primitives/map.d.ts.map +1 -0
  1108. package/dist/react/primitives/map.js +39 -0
  1109. package/dist/react/primitives/map.js.map +1 -0
  1110. package/dist/react/primitives/markdown-viewer.d.ts +10 -0
  1111. package/dist/react/primitives/markdown-viewer.d.ts.map +1 -0
  1112. package/dist/react/primitives/markdown-viewer.js +0 -0
  1113. package/dist/react/primitives/markdown-viewer.js.map +1 -0
  1114. package/dist/react/primitives/menubar.d.ts +26 -0
  1115. package/dist/react/primitives/menubar.d.ts.map +1 -0
  1116. package/dist/react/primitives/menubar.js +2 -0
  1117. package/dist/react/primitives/mermaid-diagram.d.ts +16 -0
  1118. package/dist/react/primitives/mermaid-diagram.d.ts.map +1 -0
  1119. package/dist/react/primitives/mermaid-diagram.js +38 -0
  1120. package/dist/react/primitives/mermaid-diagram.js.map +1 -0
  1121. package/dist/react/primitives/mitre-matrix.d.ts +28 -0
  1122. package/dist/react/primitives/mitre-matrix.d.ts.map +1 -0
  1123. package/dist/react/primitives/mitre-matrix.js +125 -0
  1124. package/dist/react/primitives/mitre-matrix.js.map +1 -0
  1125. package/dist/react/primitives/modal.d.ts +22 -0
  1126. package/dist/react/primitives/modal.d.ts.map +1 -0
  1127. package/dist/react/primitives/modal.js +85 -0
  1128. package/dist/react/primitives/modal.js.map +1 -0
  1129. package/dist/react/primitives/navigation-menu.d.ts +13 -0
  1130. package/dist/react/primitives/navigation-menu.d.ts.map +1 -0
  1131. package/dist/react/primitives/navigation-menu.js +2 -0
  1132. package/dist/react/primitives/network-graph.d.ts +20 -0
  1133. package/dist/react/primitives/network-graph.d.ts.map +1 -0
  1134. package/dist/react/primitives/network-graph.js +46 -0
  1135. package/dist/react/primitives/network-graph.js.map +1 -0
  1136. package/dist/react/primitives/notification-center.d.ts +33 -0
  1137. package/dist/react/primitives/notification-center.d.ts.map +1 -0
  1138. package/dist/react/primitives/notification-center.js +132 -0
  1139. package/dist/react/primitives/notification-center.js.map +1 -0
  1140. package/dist/react/primitives/pagination.d.ts +13 -0
  1141. package/dist/react/primitives/pagination.d.ts.map +1 -0
  1142. package/dist/react/primitives/pagination.js +2 -0
  1143. package/dist/react/primitives/popover.d.ts +19 -0
  1144. package/dist/react/primitives/popover.d.ts.map +1 -0
  1145. package/dist/react/primitives/popover.js +142 -0
  1146. package/dist/react/primitives/popover.js.map +1 -0
  1147. package/dist/react/primitives/progress.d.ts +29 -0
  1148. package/dist/react/primitives/progress.d.ts.map +1 -0
  1149. package/dist/react/primitives/progress.js +98 -0
  1150. package/dist/react/primitives/progress.js.map +1 -0
  1151. package/dist/react/primitives/radio-group.d.ts +6 -0
  1152. package/dist/react/primitives/radio-group.d.ts.map +1 -0
  1153. package/dist/react/primitives/radio-group.js +2 -0
  1154. package/dist/react/primitives/ripple.d.ts +44 -0
  1155. package/dist/react/primitives/ripple.d.ts.map +1 -0
  1156. package/dist/react/primitives/ripple.js +63 -0
  1157. package/dist/react/primitives/ripple.js.map +1 -0
  1158. package/dist/react/primitives/rule-editor.d.ts +31 -0
  1159. package/dist/react/primitives/rule-editor.d.ts.map +1 -0
  1160. package/dist/react/primitives/rule-editor.js +261 -0
  1161. package/dist/react/primitives/rule-editor.js.map +1 -0
  1162. package/dist/react/primitives/scroll-area.d.ts +6 -0
  1163. package/dist/react/primitives/scroll-area.d.ts.map +1 -0
  1164. package/dist/react/primitives/scroll-area.js +2 -0
  1165. package/dist/react/primitives/search.d.ts +45 -0
  1166. package/dist/react/primitives/search.d.ts.map +1 -0
  1167. package/dist/react/primitives/search.js +318 -0
  1168. package/dist/react/primitives/search.js.map +1 -0
  1169. package/dist/react/primitives/select.d.ts +16 -0
  1170. package/dist/react/primitives/select.d.ts.map +1 -0
  1171. package/dist/react/primitives/select.js +2 -0
  1172. package/dist/react/primitives/separator.d.ts +5 -0
  1173. package/dist/react/primitives/separator.d.ts.map +1 -0
  1174. package/dist/react/primitives/separator.js +2 -0
  1175. package/dist/react/primitives/severity-indicator.d.ts +18 -0
  1176. package/dist/react/primitives/severity-indicator.d.ts.map +1 -0
  1177. package/dist/react/primitives/severity-indicator.js +74 -0
  1178. package/dist/react/primitives/severity-indicator.js.map +1 -0
  1179. package/dist/react/primitives/sheet.d.ts +16 -0
  1180. package/dist/react/primitives/sheet.d.ts.map +1 -0
  1181. package/dist/react/primitives/sheet.js +84 -0
  1182. package/dist/react/primitives/sheet.js.map +1 -0
  1183. package/dist/react/primitives/skeleton.d.ts +4 -0
  1184. package/dist/react/primitives/skeleton.d.ts.map +1 -0
  1185. package/dist/react/primitives/skeleton.js +15 -0
  1186. package/dist/react/primitives/skeleton.js.map +1 -0
  1187. package/dist/react/primitives/slide-panel.d.ts +28 -0
  1188. package/dist/react/primitives/slide-panel.d.ts.map +1 -0
  1189. package/dist/react/primitives/slide-panel.js +59 -0
  1190. package/dist/react/primitives/slide-panel.js.map +1 -0
  1191. package/dist/react/primitives/slider.d.ts +5 -0
  1192. package/dist/react/primitives/slider.d.ts.map +1 -0
  1193. package/dist/react/primitives/slider.js +2 -0
  1194. package/dist/react/primitives/spinner.d.ts +10 -0
  1195. package/dist/react/primitives/spinner.d.ts.map +1 -0
  1196. package/dist/react/primitives/spinner.js +28 -0
  1197. package/dist/react/primitives/spinner.js.map +1 -0
  1198. package/dist/react/primitives/split-pane.d.ts +19 -0
  1199. package/dist/react/primitives/split-pane.d.ts.map +1 -0
  1200. package/dist/react/primitives/split-pane.js +83 -0
  1201. package/dist/react/primitives/split-pane.js.map +1 -0
  1202. package/dist/react/primitives/stat-card.d.ts +19 -0
  1203. package/dist/react/primitives/stat-card.d.ts.map +1 -0
  1204. package/dist/react/primitives/stat-card.js +86 -0
  1205. package/dist/react/primitives/stat-card.js.map +1 -0
  1206. package/dist/react/primitives/status-bar.d.ts +11 -0
  1207. package/dist/react/primitives/status-bar.d.ts.map +1 -0
  1208. package/dist/react/primitives/status-bar.js +38 -0
  1209. package/dist/react/primitives/status-bar.js.map +1 -0
  1210. package/dist/react/primitives/stepper.d.ts +15 -0
  1211. package/dist/react/primitives/stepper.d.ts.map +1 -0
  1212. package/dist/react/primitives/stepper.js +68 -0
  1213. package/dist/react/primitives/stepper.js.map +1 -0
  1214. package/dist/react/primitives/switch.d.ts +16 -0
  1215. package/dist/react/primitives/switch.d.ts.map +1 -0
  1216. package/dist/react/primitives/switch.js +2 -0
  1217. package/dist/react/primitives/table.d.ts +11 -0
  1218. package/dist/react/primitives/table.d.ts.map +1 -0
  1219. package/dist/react/primitives/table.js +68 -0
  1220. package/dist/react/primitives/table.js.map +1 -0
  1221. package/dist/react/primitives/tabs.d.ts +8 -0
  1222. package/dist/react/primitives/tabs.d.ts.map +1 -0
  1223. package/dist/react/primitives/tabs.js +2 -0
  1224. package/dist/react/primitives/tag-input.d.ts +27 -0
  1225. package/dist/react/primitives/tag-input.d.ts.map +1 -0
  1226. package/dist/react/primitives/tag-input.js +206 -0
  1227. package/dist/react/primitives/tag-input.js.map +1 -0
  1228. package/dist/react/primitives/terminal.d.ts +16 -0
  1229. package/dist/react/primitives/terminal.d.ts.map +1 -0
  1230. package/dist/react/primitives/terminal.js +138 -0
  1231. package/dist/react/primitives/terminal.js.map +1 -0
  1232. package/dist/react/primitives/textarea.d.ts +4 -0
  1233. package/dist/react/primitives/textarea.d.ts.map +1 -0
  1234. package/dist/react/primitives/textarea.js +15 -0
  1235. package/dist/react/primitives/textarea.js.map +1 -0
  1236. package/dist/react/primitives/timeline.d.ts +31 -0
  1237. package/dist/react/primitives/timeline.d.ts.map +1 -0
  1238. package/dist/react/primitives/timeline.js +188 -0
  1239. package/dist/react/primitives/timeline.js.map +1 -0
  1240. package/dist/react/primitives/toast.d.ts +49 -0
  1241. package/dist/react/primitives/toast.d.ts.map +1 -0
  1242. package/dist/react/primitives/toast.js +2 -0
  1243. package/dist/react/primitives/toggle.d.ts +13 -0
  1244. package/dist/react/primitives/toggle.d.ts.map +1 -0
  1245. package/dist/react/primitives/toggle.js +2 -0
  1246. package/dist/react/primitives/tooltip.d.ts +15 -0
  1247. package/dist/react/primitives/tooltip.d.ts.map +1 -0
  1248. package/dist/react/primitives/tooltip.js +2 -0
  1249. package/dist/react/primitives/tree-view.d.ts +51 -0
  1250. package/dist/react/primitives/tree-view.d.ts.map +1 -0
  1251. package/dist/react/primitives/tree-view.js +121 -0
  1252. package/dist/react/primitives/tree-view.js.map +1 -0
  1253. package/dist/react/primitives/typography.d.ts +14 -0
  1254. package/dist/react/primitives/typography.d.ts.map +1 -0
  1255. package/dist/react/primitives/typography.js +85 -0
  1256. package/dist/react/primitives/typography.js.map +1 -0
  1257. package/dist/react/primitives/uptime-bar.d.ts +16 -0
  1258. package/dist/react/primitives/uptime-bar.d.ts.map +1 -0
  1259. package/dist/react/primitives/uptime-bar.js +44 -0
  1260. package/dist/react/primitives/uptime-bar.js.map +1 -0
  1261. package/dist/react/primitives/utils.d.ts +3 -0
  1262. package/dist/react/primitives/utils.d.ts.map +1 -0
  1263. package/dist/react/primitives/vulnerability-card.d.ts +40 -0
  1264. package/dist/react/primitives/vulnerability-card.d.ts.map +1 -0
  1265. package/dist/react/primitives/vulnerability-card.js +163 -0
  1266. package/dist/react/primitives/vulnerability-card.js.map +1 -0
  1267. package/dist/react/theme-toggle/index.d.ts +45 -0
  1268. package/dist/react/theme-toggle/index.d.ts.map +1 -0
  1269. package/dist/react/theme-toggle.js +2 -0
  1270. package/dist/react/threat-visuals/index.d.ts +45 -0
  1271. package/dist/react/threat-visuals/index.d.ts.map +1 -0
  1272. package/dist/react/threat-visuals.js +102 -0
  1273. package/dist/react/threat-visuals.js.map +1 -0
  1274. package/dist/react/topology/edges.d.ts +9 -0
  1275. package/dist/react/topology/edges.d.ts.map +1 -0
  1276. package/dist/react/topology/index.d.ts +9 -0
  1277. package/dist/react/topology/index.d.ts.map +1 -0
  1278. package/dist/react/topology/layouts.d.ts +41 -0
  1279. package/dist/react/topology/layouts.d.ts.map +1 -0
  1280. package/dist/react/topology/logos.d.ts +26 -0
  1281. package/dist/react/topology/logos.d.ts.map +1 -0
  1282. package/dist/react/topology/nodes.d.ts +49 -0
  1283. package/dist/react/topology/nodes.d.ts.map +1 -0
  1284. package/dist/react/topology/safe-handle.d.ts +7 -0
  1285. package/dist/react/topology/safe-handle.d.ts.map +1 -0
  1286. package/dist/react/topology/styles.d.ts +2 -0
  1287. package/dist/react/topology/styles.d.ts.map +1 -0
  1288. package/dist/react/topology.js +2 -0
  1289. package/dist/react.js +104 -0
  1290. package/dist/requirementDiagram-Z7DCOOCP-DKZkXWbf.js +2203 -0
  1291. package/dist/requirementDiagram-Z7DCOOCP-DKZkXWbf.js.map +1 -0
  1292. package/dist/rough.esm-CJL_eUW6.js +1354 -0
  1293. package/dist/rough.esm-CJL_eUW6.js.map +1 -0
  1294. package/dist/sanitize-tXExwlw-.js +16 -0
  1295. package/dist/sanitize-tXExwlw-.js.map +1 -0
  1296. package/dist/sankeyDiagram-WA2Y5GQK-DCrlTOfN.js +923 -0
  1297. package/dist/sankeyDiagram-WA2Y5GQK-DCrlTOfN.js.map +1 -0
  1298. package/dist/scroll-area-DSx2nCB7.js +528 -0
  1299. package/dist/scroll-area-DSx2nCB7.js.map +1 -0
  1300. package/dist/search-Ds_Rknvw.js +14 -0
  1301. package/dist/search-Ds_Rknvw.js.map +1 -0
  1302. package/dist/security/attack-path/index.d.ts +20 -0
  1303. package/dist/security/attack-path/index.d.ts.map +1 -0
  1304. package/dist/security/attack-path/index.js +101 -0
  1305. package/dist/security/attack-path/index.js.map +1 -0
  1306. package/dist/security/attack-path/types.d.ts +23 -0
  1307. package/dist/security/attack-path/types.d.ts.map +1 -0
  1308. package/dist/security/cvss-badge/index.d.ts +20 -0
  1309. package/dist/security/cvss-badge/index.d.ts.map +1 -0
  1310. package/dist/security/cvss-badge/index.js +50 -0
  1311. package/dist/security/cvss-badge/index.js.map +1 -0
  1312. package/dist/security/cvss-badge/types.d.ts +14 -0
  1313. package/dist/security/cvss-badge/types.d.ts.map +1 -0
  1314. package/dist/security/detection-status/index.d.ts +27 -0
  1315. package/dist/security/detection-status/index.d.ts.map +1 -0
  1316. package/dist/security/detection-status/index.js +230 -0
  1317. package/dist/security/detection-status/index.js.map +1 -0
  1318. package/dist/security/detection-status/types.d.ts +23 -0
  1319. package/dist/security/detection-status/types.d.ts.map +1 -0
  1320. package/dist/security/index.d.ts +15 -0
  1321. package/dist/security/index.d.ts.map +1 -0
  1322. package/dist/security/index.js +6 -0
  1323. package/dist/security/mitre-matrix/index.d.ts +22 -0
  1324. package/dist/security/mitre-matrix/index.d.ts.map +1 -0
  1325. package/dist/security/mitre-matrix/index.js +104 -0
  1326. package/dist/security/mitre-matrix/index.js.map +1 -0
  1327. package/dist/security/mitre-matrix/types.d.ts +22 -0
  1328. package/dist/security/mitre-matrix/types.d.ts.map +1 -0
  1329. package/dist/security/vulnerability-card/index.d.ts +21 -0
  1330. package/dist/security/vulnerability-card/index.d.ts.map +1 -0
  1331. package/dist/security/vulnerability-card/index.js +152 -0
  1332. package/dist/security/vulnerability-card/index.js.map +1 -0
  1333. package/dist/security/vulnerability-card/types.d.ts +32 -0
  1334. package/dist/security/vulnerability-card/types.d.ts.map +1 -0
  1335. package/dist/select-DcJdLR2A.js +836 -0
  1336. package/dist/select-DcJdLR2A.js.map +1 -0
  1337. package/dist/selection-BisAH2tT.js +12 -0
  1338. package/dist/selection-BisAH2tT.js.map +1 -0
  1339. package/dist/separator-CW4ZX8wr.js +68 -0
  1340. package/dist/separator-CW4ZX8wr.js.map +1 -0
  1341. package/dist/sequenceDiagram-2WXFIKYE-CgAE3dlZ.js +4112 -0
  1342. package/dist/sequenceDiagram-2WXFIKYE-CgAE3dlZ.js.map +1 -0
  1343. package/dist/series-Cm9HrwZ5.js +44 -0
  1344. package/dist/series-Cm9HrwZ5.js.map +1 -0
  1345. package/dist/services/api.d.ts +30 -0
  1346. package/dist/services/api.d.ts.map +1 -0
  1347. package/dist/services/api.js +108 -0
  1348. package/dist/services/api.js.map +1 -0
  1349. package/dist/services/index.d.ts +15 -0
  1350. package/dist/services/index.d.ts.map +1 -0
  1351. package/dist/services/index.js +6 -0
  1352. package/dist/services/keybindings.d.ts +28 -0
  1353. package/dist/services/keybindings.d.ts.map +1 -0
  1354. package/dist/services/keybindings.js +133 -0
  1355. package/dist/services/keybindings.js.map +1 -0
  1356. package/dist/services/router.d.ts +92 -0
  1357. package/dist/services/router.d.ts.map +1 -0
  1358. package/dist/services/router.js +221 -0
  1359. package/dist/services/router.js.map +1 -0
  1360. package/dist/services/sse.d.ts +29 -0
  1361. package/dist/services/sse.d.ts.map +1 -0
  1362. package/dist/services/sse.js +70 -0
  1363. package/dist/services/sse.js.map +1 -0
  1364. package/dist/services/storage.d.ts +22 -0
  1365. package/dist/services/storage.d.ts.map +1 -0
  1366. package/dist/services-BmIW7l7A.js +60 -0
  1367. package/dist/services-BmIW7l7A.js.map +1 -0
  1368. package/dist/shell-DgHAZOVJ.js +5095 -0
  1369. package/dist/shell-DgHAZOVJ.js.map +1 -0
  1370. package/dist/sidebar/badge.d.ts +19 -0
  1371. package/dist/sidebar/badge.d.ts.map +1 -0
  1372. package/dist/sidebar/component.d.ts +23 -0
  1373. package/dist/sidebar/component.d.ts.map +1 -0
  1374. package/dist/sidebar/enhance.d.ts +69 -0
  1375. package/dist/sidebar/enhance.d.ts.map +1 -0
  1376. package/dist/sidebar/index.d.ts +51 -0
  1377. package/dist/sidebar/index.d.ts.map +1 -0
  1378. package/dist/sidebar/index.js +199 -0
  1379. package/dist/sidebar/index.js.map +1 -0
  1380. package/dist/sidebar/types.d.ts +34 -0
  1381. package/dist/sidebar/types.d.ts.map +1 -0
  1382. package/dist/slider-Dwau2Ktq.js +383 -0
  1383. package/dist/slider-Dwau2Ktq.js.map +1 -0
  1384. package/dist/sorting-BZp0NpSF.js +28 -0
  1385. package/dist/sorting-BZp0NpSF.js.map +1 -0
  1386. package/dist/sql-BdONJBIG.js +636 -0
  1387. package/dist/sql-BdONJBIG.js.map +1 -0
  1388. package/dist/src-BUKqSJT6.js +2139 -0
  1389. package/dist/src-BUKqSJT6.js.map +1 -0
  1390. package/dist/src-iH-l56c_.js +340 -0
  1391. package/dist/src-iH-l56c_.js.map +1 -0
  1392. package/dist/stateDiagram-RAJIS63D-_La1YtlG.js +220 -0
  1393. package/dist/stateDiagram-RAJIS63D-_La1YtlG.js.map +1 -0
  1394. package/dist/stateDiagram-v2-FVOUBMTO-CA1nyIZB.js +29 -0
  1395. package/dist/stateDiagram-v2-FVOUBMTO-CA1nyIZB.js.map +1 -0
  1396. package/dist/styles/appearance.css +325 -0
  1397. package/dist/styles/auth.css +318 -0
  1398. package/dist/styles/breakpoints.css +346 -0
  1399. package/dist/styles/charts/charts.css +140 -0
  1400. package/dist/styles/components/context-menu.css +180 -0
  1401. package/dist/styles/components/data-grid.css +635 -0
  1402. package/dist/styles/components/data-table.css +276 -0
  1403. package/dist/styles/components/editors.css +265 -0
  1404. package/dist/styles/components/modal.css +246 -0
  1405. package/dist/styles/components/pagination.css +158 -0
  1406. package/dist/styles/components/search.css +369 -0
  1407. package/dist/styles/components/split-pane.css +174 -0
  1408. package/dist/styles/components/status-bar.css +198 -0
  1409. package/dist/styles/components/tabs.css +201 -0
  1410. package/dist/styles/components/toast.css +235 -0
  1411. package/dist/styles/components/tree-view.css +225 -0
  1412. package/dist/styles/consent.css +282 -0
  1413. package/dist/styles/display/alert.css +136 -0
  1414. package/dist/styles/display/aspect-ratio.css +15 -0
  1415. package/dist/styles/display/avatar.css +190 -0
  1416. package/dist/styles/display/badge.css +148 -0
  1417. package/dist/styles/display/card.css +66 -0
  1418. package/dist/styles/display/code-block.css +99 -0
  1419. package/dist/styles/display/empty-state.css +37 -0
  1420. package/dist/styles/display/hover-card.css +70 -0
  1421. package/dist/styles/display/markdown-viewer.css +145 -0
  1422. package/dist/styles/display/notification-center.css +272 -0
  1423. package/dist/styles/display/popover.css +29 -0
  1424. package/dist/styles/display/progress.css +129 -0
  1425. package/dist/styles/display/severity-indicator.css +96 -0
  1426. package/dist/styles/display/stat-card.css +90 -0
  1427. package/dist/styles/display/tooltip.css +58 -0
  1428. package/dist/styles/display/typography.css +129 -0
  1429. package/dist/styles/display/uptime-bar.css +64 -0
  1430. package/dist/styles/form/calendar.css +240 -0
  1431. package/dist/styles/form/color-picker.css +239 -0
  1432. package/dist/styles/form/cron-editor.css +333 -0
  1433. package/dist/styles/form/date-picker.css +378 -0
  1434. package/dist/styles/form/tag-input.css +219 -0
  1435. package/dist/styles/index.css +110 -0
  1436. package/dist/styles/layout.css +753 -0
  1437. package/dist/styles/navigation/breadcrumb.css +100 -0
  1438. package/dist/styles/navigation/drawer.css +143 -0
  1439. package/dist/styles/navigation/dropdown-menu.css +193 -0
  1440. package/dist/styles/navigation/menubar.css +208 -0
  1441. package/dist/styles/navigation/navigation-menu.css +260 -0
  1442. package/dist/styles/navigation/stepper.css +199 -0
  1443. package/dist/styles/overlays/alert-dialog.css +205 -0
  1444. package/dist/styles/overlays/carousel.css +147 -0
  1445. package/dist/styles/overlays/sheet.css +206 -0
  1446. package/dist/styles/primitives/button.css +277 -0
  1447. package/dist/styles/primitives/checkbox.css +126 -0
  1448. package/dist/styles/primitives/field.css +48 -0
  1449. package/dist/styles/primitives/input.css +331 -0
  1450. package/dist/styles/primitives/kbd.css +32 -0
  1451. package/dist/styles/primitives/label.css +18 -0
  1452. package/dist/styles/primitives/radio.css +109 -0
  1453. package/dist/styles/primitives/scroll-area.css +54 -0
  1454. package/dist/styles/primitives/select.css +354 -0
  1455. package/dist/styles/primitives/separator.css +20 -0
  1456. package/dist/styles/primitives/skeleton.css +35 -0
  1457. package/dist/styles/primitives/slider.css +121 -0
  1458. package/dist/styles/primitives/spinner.css +56 -0
  1459. package/dist/styles/primitives/switch.css +131 -0
  1460. package/dist/styles/primitives/toggle.css +157 -0
  1461. package/dist/styles/react-threat-visuals.css +568 -0
  1462. package/dist/styles/security/attack-path.css +192 -0
  1463. package/dist/styles/security/cvss-badge.css +136 -0
  1464. package/dist/styles/security/detection-status.css +217 -0
  1465. package/dist/styles/security/mitre-matrix.css +203 -0
  1466. package/dist/styles/security/vulnerability-card.css +294 -0
  1467. package/dist/styles/sidebar.css +1194 -0
  1468. package/dist/styles/tokens.css +392 -0
  1469. package/dist/styles/ui.css +442 -0
  1470. package/dist/styles/utilities.css +43 -0
  1471. package/dist/styles/visualization/file-tree.css +179 -0
  1472. package/dist/styles/visualization/flow-diagram.css +163 -0
  1473. package/dist/styles/visualization/json-path-browser.css +275 -0
  1474. package/dist/styles/visualization/kanban.css +614 -0
  1475. package/dist/styles/visualization/map.css +205 -0
  1476. package/dist/styles/visualization/mermaid-diagram.css +172 -0
  1477. package/dist/styles/visualization/network-graph.css +169 -0
  1478. package/dist/styles/visualization/rule-editor.css +280 -0
  1479. package/dist/styles/visualization/terminal.css +133 -0
  1480. package/dist/styles/visualization/timeline.css +246 -0
  1481. package/dist/switch-dChlavwa.js +104 -0
  1482. package/dist/switch-dChlavwa.js.map +1 -0
  1483. package/dist/tabs-Bpcitl6-.js +150 -0
  1484. package/dist/tabs-Bpcitl6-.js.map +1 -0
  1485. package/dist/theme-toggle-CaCz_B5t.js +130 -0
  1486. package/dist/theme-toggle-CaCz_B5t.js.map +1 -0
  1487. package/dist/timeline-definition-YZTLITO2-CvoqOZkr.js +833 -0
  1488. package/dist/timeline-definition-YZTLITO2-CvoqOZkr.js.map +1 -0
  1489. package/dist/toast-Li-x6JyI.js +209 -0
  1490. package/dist/toast-Li-x6JyI.js.map +1 -0
  1491. package/dist/toggle-Cg5AEgfp.js +204 -0
  1492. package/dist/toggle-Cg5AEgfp.js.map +1 -0
  1493. package/dist/toggle-RVd6oZCL.js +122 -0
  1494. package/dist/toggle-RVd6oZCL.js.map +1 -0
  1495. package/dist/tooltip-BvkBQJvL.js +385 -0
  1496. package/dist/tooltip-BvkBQJvL.js.map +1 -0
  1497. package/dist/topology-DlBapVMn.js +6707 -0
  1498. package/dist/topology-DlBapVMn.js.map +1 -0
  1499. package/dist/tree-view-CQwOGwy0.js +276 -0
  1500. package/dist/tree-view-CQwOGwy0.js.map +1 -0
  1501. package/dist/treemap-KZPCXAKY-DP2ZtuXF.js +3 -0
  1502. package/dist/triangle-alert-DWk6jJ_p.js +42 -0
  1503. package/dist/triangle-alert-DWk6jJ_p.js.map +1 -0
  1504. package/dist/ui/index.d.ts +111 -0
  1505. package/dist/ui/index.d.ts.map +1 -0
  1506. package/dist/ui/index.js +198 -0
  1507. package/dist/ui/index.js.map +1 -0
  1508. package/dist/utils/a11y.d.ts +113 -0
  1509. package/dist/utils/a11y.d.ts.map +1 -0
  1510. package/dist/utils/date.d.ts +26 -0
  1511. package/dist/utils/date.d.ts.map +1 -0
  1512. package/dist/utils/errors.d.ts +24 -0
  1513. package/dist/utils/errors.d.ts.map +1 -0
  1514. package/dist/utils/index.d.ts +15 -0
  1515. package/dist/utils/index.d.ts.map +1 -0
  1516. package/dist/utils/index.js +9 -0
  1517. package/dist/utils/keyboard.d.ts +135 -0
  1518. package/dist/utils/keyboard.d.ts.map +1 -0
  1519. package/dist/utils/registry.d.ts +14 -0
  1520. package/dist/utils/registry.d.ts.map +1 -0
  1521. package/dist/utils/registry.js +23 -0
  1522. package/dist/utils/registry.js.map +1 -0
  1523. package/dist/utils/sanitize.d.ts +11 -0
  1524. package/dist/utils/sanitize.d.ts.map +1 -0
  1525. package/dist/utils/selection.d.ts +15 -0
  1526. package/dist/utils/selection.d.ts.map +1 -0
  1527. package/dist/utils/sorting.d.ts +25 -0
  1528. package/dist/utils/sorting.d.ts.map +1 -0
  1529. package/dist/utils/touch.d.ts +137 -0
  1530. package/dist/utils/touch.d.ts.map +1 -0
  1531. package/dist/utils/validation.d.ts +30 -0
  1532. package/dist/utils/validation.d.ts.map +1 -0
  1533. package/dist/utils-B7XIe3qq.js +1694 -0
  1534. package/dist/utils-B7XIe3qq.js.map +1 -0
  1535. package/dist/utils-Cn_W3h3f.js +17 -0
  1536. package/dist/utils-Cn_W3h3f.js.map +1 -0
  1537. package/dist/utils-DAAwIwhm.js +250 -0
  1538. package/dist/utils-DAAwIwhm.js.map +1 -0
  1539. package/dist/value-B1V_kKf_.js +52 -0
  1540. package/dist/value-B1V_kKf_.js.map +1 -0
  1541. package/dist/vennDiagram-LZ73GAT5-Xu1ecpFt.js +1861 -0
  1542. package/dist/vennDiagram-LZ73GAT5-Xu1ecpFt.js.map +1 -0
  1543. package/dist/visualization/file-tree/index.d.ts +49 -0
  1544. package/dist/visualization/file-tree/index.d.ts.map +1 -0
  1545. package/dist/visualization/file-tree/index.js +154 -0
  1546. package/dist/visualization/file-tree/index.js.map +1 -0
  1547. package/dist/visualization/file-tree/types.d.ts +28 -0
  1548. package/dist/visualization/file-tree/types.d.ts.map +1 -0
  1549. package/dist/visualization/flow-diagram/index.d.ts +49 -0
  1550. package/dist/visualization/flow-diagram/index.d.ts.map +1 -0
  1551. package/dist/visualization/flow-diagram/index.js +314 -0
  1552. package/dist/visualization/flow-diagram/index.js.map +1 -0
  1553. package/dist/visualization/flow-diagram/types.d.ts +37 -0
  1554. package/dist/visualization/flow-diagram/types.d.ts.map +1 -0
  1555. package/dist/visualization/index.d.ts +25 -0
  1556. package/dist/visualization/index.d.ts.map +1 -0
  1557. package/dist/visualization/index.js +11 -0
  1558. package/dist/visualization/json-path-browser/index.d.ts +48 -0
  1559. package/dist/visualization/json-path-browser/index.d.ts.map +1 -0
  1560. package/dist/visualization/json-path-browser/index.js +189 -0
  1561. package/dist/visualization/json-path-browser/index.js.map +1 -0
  1562. package/dist/visualization/json-path-browser/types.d.ts +15 -0
  1563. package/dist/visualization/json-path-browser/types.d.ts.map +1 -0
  1564. package/dist/visualization/kanban/index.d.ts +71 -0
  1565. package/dist/visualization/kanban/index.d.ts.map +1 -0
  1566. package/dist/visualization/kanban/index.js +301 -0
  1567. package/dist/visualization/kanban/index.js.map +1 -0
  1568. package/dist/visualization/kanban/types.d.ts +85 -0
  1569. package/dist/visualization/kanban/types.d.ts.map +1 -0
  1570. package/dist/visualization/map/index.d.ts +85 -0
  1571. package/dist/visualization/map/index.d.ts.map +1 -0
  1572. package/dist/visualization/map/index.js +219 -0
  1573. package/dist/visualization/map/index.js.map +1 -0
  1574. package/dist/visualization/map/types.d.ts +38 -0
  1575. package/dist/visualization/map/types.d.ts.map +1 -0
  1576. package/dist/visualization/mermaid-diagram/index.d.ts +45 -0
  1577. package/dist/visualization/mermaid-diagram/index.d.ts.map +1 -0
  1578. package/dist/visualization/mermaid-diagram/index.js +236 -0
  1579. package/dist/visualization/mermaid-diagram/index.js.map +1 -0
  1580. package/dist/visualization/mermaid-diagram/types.d.ts +32 -0
  1581. package/dist/visualization/mermaid-diagram/types.d.ts.map +1 -0
  1582. package/dist/visualization/network-graph/index.d.ts +57 -0
  1583. package/dist/visualization/network-graph/index.d.ts.map +1 -0
  1584. package/dist/visualization/network-graph/index.js +296 -0
  1585. package/dist/visualization/network-graph/index.js.map +1 -0
  1586. package/dist/visualization/network-graph/types.d.ts +37 -0
  1587. package/dist/visualization/network-graph/types.d.ts.map +1 -0
  1588. package/dist/visualization/rule-editor/index.d.ts +46 -0
  1589. package/dist/visualization/rule-editor/index.d.ts.map +1 -0
  1590. package/dist/visualization/rule-editor/index.js +262 -0
  1591. package/dist/visualization/rule-editor/index.js.map +1 -0
  1592. package/dist/visualization/rule-editor/types.d.ts +31 -0
  1593. package/dist/visualization/rule-editor/types.d.ts.map +1 -0
  1594. package/dist/visualization/terminal/index.d.ts +54 -0
  1595. package/dist/visualization/terminal/index.d.ts.map +1 -0
  1596. package/dist/visualization/terminal/index.js +154 -0
  1597. package/dist/visualization/terminal/index.js.map +1 -0
  1598. package/dist/visualization/terminal/types.d.ts +16 -0
  1599. package/dist/visualization/terminal/types.d.ts.map +1 -0
  1600. package/dist/visualization/timeline/index.d.ts +31 -0
  1601. package/dist/visualization/timeline/index.d.ts.map +1 -0
  1602. package/dist/visualization/timeline/index.js +174 -0
  1603. package/dist/visualization/timeline/index.js.map +1 -0
  1604. package/dist/visualization/timeline/types.d.ts +24 -0
  1605. package/dist/visualization/timeline/types.d.ts.map +1 -0
  1606. package/dist/x-DCVjAtEF.js +12 -0
  1607. package/dist/x-DCVjAtEF.js.map +1 -0
  1608. package/dist/xychartDiagram-JWTSCODW-BX9xqezB.js +2043 -0
  1609. package/dist/xychartDiagram-JWTSCODW-BX9xqezB.js.map +1 -0
  1610. package/dist/yaml-BruA1FUA.js +34 -0
  1611. package/dist/yaml-BruA1FUA.js.map +1 -0
  1612. package/package.json +1409 -0
  1613. package/src/app-switcher/index.ts +322 -0
  1614. package/src/appearance/appearance.test.ts +511 -0
  1615. package/src/appearance/index.ts +193 -0
  1616. package/src/auth/index.ts +242 -0
  1617. package/src/charts/annotations.ts +116 -0
  1618. package/src/charts/area/index.ts +260 -0
  1619. package/src/charts/area/types.ts +13 -0
  1620. package/src/charts/axis.ts +192 -0
  1621. package/src/charts/bar/index.ts +354 -0
  1622. package/src/charts/bar/types.ts +13 -0
  1623. package/src/charts/base.ts +542 -0
  1624. package/src/charts/candlestick/index.ts +317 -0
  1625. package/src/charts/candlestick/types.ts +25 -0
  1626. package/src/charts/funnel/index.ts +335 -0
  1627. package/src/charts/funnel/types.ts +22 -0
  1628. package/src/charts/gauge/index.ts +289 -0
  1629. package/src/charts/gauge/types.ts +24 -0
  1630. package/src/charts/heatmap/index.ts +257 -0
  1631. package/src/charts/heatmap/types.ts +23 -0
  1632. package/src/charts/index.ts +89 -0
  1633. package/src/charts/interactive.ts +59 -0
  1634. package/src/charts/legend.ts +104 -0
  1635. package/src/charts/line/index.ts +223 -0
  1636. package/src/charts/line/types.ts +13 -0
  1637. package/src/charts/pie/index.ts +303 -0
  1638. package/src/charts/pie/types.ts +21 -0
  1639. package/src/charts/radar/index.ts +388 -0
  1640. package/src/charts/radar/types.ts +22 -0
  1641. package/src/charts/sankey/index.ts +497 -0
  1642. package/src/charts/sankey/types.ts +28 -0
  1643. package/src/charts/scatter/index.ts +284 -0
  1644. package/src/charts/scatter/types.ts +11 -0
  1645. package/src/charts/series.ts +63 -0
  1646. package/src/charts/sparkline/index.ts +224 -0
  1647. package/src/charts/sparkline/types.ts +16 -0
  1648. package/src/charts/tooltip.ts +136 -0
  1649. package/src/charts/treemap/index.ts +357 -0
  1650. package/src/charts/treemap/types.ts +21 -0
  1651. package/src/charts/types.ts +82 -0
  1652. package/src/charts/utils.ts +309 -0
  1653. package/src/charts/waterfall/index.ts +273 -0
  1654. package/src/charts/waterfall/types.ts +25 -0
  1655. package/src/charts/zoom.ts +115 -0
  1656. package/src/components/context-menu/index.ts +183 -0
  1657. package/src/components/copy-button/index.ts +97 -0
  1658. package/src/components/data-table/export.ts +61 -0
  1659. package/src/components/data-table/index.ts +647 -0
  1660. package/src/components/data-table/renderers.ts +145 -0
  1661. package/src/components/data-table/types.ts +41 -0
  1662. package/src/components/detail-header/index.ts +201 -0
  1663. package/src/components/index.ts +65 -0
  1664. package/src/components/log-toolbar/index.ts +186 -0
  1665. package/src/components/modal/index.ts +240 -0
  1666. package/src/components/modal/types.ts +18 -0
  1667. package/src/components/pagination/index.ts +130 -0
  1668. package/src/components/search/command-palette.ts +242 -0
  1669. package/src/components/search/index.ts +433 -0
  1670. package/src/components/search/types.ts +37 -0
  1671. package/src/components/split-pane/index.ts +370 -0
  1672. package/src/components/split-pane/types.ts +21 -0
  1673. package/src/components/status-bar/index.ts +112 -0
  1674. package/src/components/tabs/index.ts +329 -0
  1675. package/src/components/tabs/types.ts +20 -0
  1676. package/src/components/toast/index.ts +412 -0
  1677. package/src/components/toast/types.ts +20 -0
  1678. package/src/components/tree-view/index.ts +692 -0
  1679. package/src/components/tree-view/lazy.ts +24 -0
  1680. package/src/components/tree-view/types.ts +25 -0
  1681. package/src/consent/index.ts +218 -0
  1682. package/src/crypto/crypto.test.ts +458 -0
  1683. package/src/crypto/encoding-helpers.ts +44 -0
  1684. package/src/crypto/encoding.ts +191 -0
  1685. package/src/crypto/hybrid.ts +253 -0
  1686. package/src/crypto/index.ts +292 -0
  1687. package/src/crypto/keys.ts +299 -0
  1688. package/src/crypto/symmetric.ts +227 -0
  1689. package/src/crypto/types.ts +148 -0
  1690. package/src/display/alert/index.ts +134 -0
  1691. package/src/display/alert/types.ts +17 -0
  1692. package/src/display/aspect-ratio/index.ts +57 -0
  1693. package/src/display/avatar/avatar-group.ts +85 -0
  1694. package/src/display/avatar/index.ts +187 -0
  1695. package/src/display/avatar/types.ts +28 -0
  1696. package/src/display/badge/index.ts +109 -0
  1697. package/src/display/badge/presets.ts +46 -0
  1698. package/src/display/badge/types.ts +20 -0
  1699. package/src/display/card/index.ts +159 -0
  1700. package/src/display/card/types.ts +16 -0
  1701. package/src/display/code-block/index.ts +224 -0
  1702. package/src/display/code-block/types.ts +14 -0
  1703. package/src/display/empty-state/index.ts +111 -0
  1704. package/src/display/empty-state/types.ts +16 -0
  1705. package/src/display/hover-card/index.ts +317 -0
  1706. package/src/display/hover-card/types.ts +15 -0
  1707. package/src/display/index.ts +95 -0
  1708. package/src/display/markdown-viewer/index.ts +137 -0
  1709. package/src/display/markdown-viewer/parser.ts +423 -0
  1710. package/src/display/markdown-viewer/types.ts +18 -0
  1711. package/src/display/notification-center/index.ts +416 -0
  1712. package/src/display/notification-center/types.ts +32 -0
  1713. package/src/display/popover/index.ts +320 -0
  1714. package/src/display/popover/types.ts +25 -0
  1715. package/src/display/progress/index.ts +209 -0
  1716. package/src/display/progress/types.ts +19 -0
  1717. package/src/display/severity-indicator/index.ts +96 -0
  1718. package/src/display/severity-indicator/types.ts +15 -0
  1719. package/src/display/stat-card/index.ts +140 -0
  1720. package/src/display/stat-card/types.ts +21 -0
  1721. package/src/display/tooltip/index.ts +263 -0
  1722. package/src/display/tooltip/types.ts +14 -0
  1723. package/src/display/typography/index.ts +156 -0
  1724. package/src/display/typography/types.ts +30 -0
  1725. package/src/display/uptime-bar/index.ts +109 -0
  1726. package/src/display/uptime-bar/types.ts +19 -0
  1727. package/src/editors/base.ts +328 -0
  1728. package/src/editors/code-editor.ts +350 -0
  1729. package/src/editors/diff-viewer.ts +225 -0
  1730. package/src/editors/index.ts +47 -0
  1731. package/src/editors/json-viewer.ts +145 -0
  1732. package/src/editors/languages/fluxl.ts +114 -0
  1733. package/src/editors/languages/javascript.ts +17 -0
  1734. package/src/editors/languages/json.ts +12 -0
  1735. package/src/editors/languages/markdown.ts +12 -0
  1736. package/src/editors/languages/python.ts +12 -0
  1737. package/src/editors/languages/rust.ts +12 -0
  1738. package/src/editors/languages/shell.ts +13 -0
  1739. package/src/editors/languages/sql.ts +57 -0
  1740. package/src/editors/languages/yaml.ts +120 -0
  1741. package/src/editors/languages/yara.ts +154 -0
  1742. package/src/editors/languages/yaral.ts +91 -0
  1743. package/src/editors/log-viewer.ts +222 -0
  1744. package/src/editors/types.ts +138 -0
  1745. package/src/editors/yaml-editor.ts +36 -0
  1746. package/src/form/calendar/index.ts +455 -0
  1747. package/src/form/calendar/types.ts +24 -0
  1748. package/src/form/color-picker/index.ts +1016 -0
  1749. package/src/form/color-picker/types.ts +14 -0
  1750. package/src/form/cron-editor/index.ts +583 -0
  1751. package/src/form/cron-editor/parser.ts +411 -0
  1752. package/src/form/cron-editor/types.ts +34 -0
  1753. package/src/form/date-picker/index.ts +281 -0
  1754. package/src/form/date-picker/range.ts +379 -0
  1755. package/src/form/date-picker/time.ts +334 -0
  1756. package/src/form/date-picker/types.ts +47 -0
  1757. package/src/form/direction/index.ts +64 -0
  1758. package/src/form/index.ts +48 -0
  1759. package/src/form/tag-input/index.ts +458 -0
  1760. package/src/form/tag-input/types.ts +23 -0
  1761. package/src/icons/icons.test.ts +141 -0
  1762. package/src/icons/index.ts +205 -0
  1763. package/src/index.ts +211 -0
  1764. package/src/layout/index.ts +662 -0
  1765. package/src/navigation/breadcrumb/index.ts +175 -0
  1766. package/src/navigation/breadcrumb/types.ts +20 -0
  1767. package/src/navigation/drawer/index.ts +326 -0
  1768. package/src/navigation/drawer/types.ts +21 -0
  1769. package/src/navigation/dropdown-menu/index.ts +625 -0
  1770. package/src/navigation/dropdown-menu/types.ts +43 -0
  1771. package/src/navigation/index.ts +35 -0
  1772. package/src/navigation/menubar/index.ts +412 -0
  1773. package/src/navigation/menubar/types.ts +26 -0
  1774. package/src/navigation/navigation-menu/index.ts +508 -0
  1775. package/src/navigation/navigation-menu/types.ts +26 -0
  1776. package/src/navigation/stepper/index.ts +270 -0
  1777. package/src/navigation/stepper/types.ts +25 -0
  1778. package/src/overlays/alert-dialog/index.ts +313 -0
  1779. package/src/overlays/alert-dialog/types.ts +18 -0
  1780. package/src/overlays/carousel/index.ts +452 -0
  1781. package/src/overlays/carousel/types.ts +22 -0
  1782. package/src/overlays/index.ts +16 -0
  1783. package/src/overlays/sheet/index.ts +307 -0
  1784. package/src/overlays/sheet/types.ts +21 -0
  1785. package/src/passkey/index.ts +230 -0
  1786. package/src/primitives/button/button-group.ts +47 -0
  1787. package/src/primitives/button/index.ts +199 -0
  1788. package/src/primitives/button/types.ts +29 -0
  1789. package/src/primitives/button/variants.ts +24 -0
  1790. package/src/primitives/checkbox/group.ts +113 -0
  1791. package/src/primitives/checkbox/index.ts +127 -0
  1792. package/src/primitives/checkbox/types.ts +34 -0
  1793. package/src/primitives/field/index.ts +188 -0
  1794. package/src/primitives/field/types.ts +14 -0
  1795. package/src/primitives/index.ts +81 -0
  1796. package/src/primitives/input/index.ts +175 -0
  1797. package/src/primitives/input/input-group.ts +83 -0
  1798. package/src/primitives/input/input-otp.ts +242 -0
  1799. package/src/primitives/input/ip-input.ts +226 -0
  1800. package/src/primitives/input/textarea.ts +179 -0
  1801. package/src/primitives/input/types.ts +72 -0
  1802. package/src/primitives/kbd/index.ts +62 -0
  1803. package/src/primitives/label/index.ts +83 -0
  1804. package/src/primitives/radio/index.ts +199 -0
  1805. package/src/primitives/radio/types.ts +22 -0
  1806. package/src/primitives/scroll-area/index.ts +77 -0
  1807. package/src/primitives/select/combobox.ts +427 -0
  1808. package/src/primitives/select/index.ts +526 -0
  1809. package/src/primitives/select/native.ts +151 -0
  1810. package/src/primitives/select/types.ts +52 -0
  1811. package/src/primitives/separator/index.ts +41 -0
  1812. package/src/primitives/skeleton/index.ts +58 -0
  1813. package/src/primitives/slider/index.ts +333 -0
  1814. package/src/primitives/slider/types.ts +19 -0
  1815. package/src/primitives/spinner/index.ts +63 -0
  1816. package/src/primitives/switch/index.ts +133 -0
  1817. package/src/primitives/switch/types.ts +17 -0
  1818. package/src/primitives/toggle/index.ts +129 -0
  1819. package/src/primitives/toggle/toggle-group.ts +209 -0
  1820. package/src/primitives/toggle/types.ts +39 -0
  1821. package/src/primitives/utils.ts +24 -0
  1822. package/src/react/brand/index.tsx +115 -0
  1823. package/src/react/index.ts +5 -0
  1824. package/src/react/primitives/alert-dialog.tsx +133 -0
  1825. package/src/react/primitives/alert.tsx +96 -0
  1826. package/src/react/primitives/animated-counter.tsx +199 -0
  1827. package/src/react/primitives/aspect-ratio.tsx +23 -0
  1828. package/src/react/primitives/attack-path.tsx +238 -0
  1829. package/src/react/primitives/avatar.tsx +190 -0
  1830. package/src/react/primitives/badge.tsx +41 -0
  1831. package/src/react/primitives/breadcrumb.tsx +110 -0
  1832. package/src/react/primitives/button.tsx +115 -0
  1833. package/src/react/primitives/calendar.tsx +289 -0
  1834. package/src/react/primitives/card.tsx +67 -0
  1835. package/src/react/primitives/carousel.tsx +219 -0
  1836. package/src/react/primitives/chart-area.tsx +34 -0
  1837. package/src/react/primitives/chart-bar.tsx +34 -0
  1838. package/src/react/primitives/chart-candlestick.tsx +35 -0
  1839. package/src/react/primitives/chart-funnel.tsx +33 -0
  1840. package/src/react/primitives/chart-gauge.tsx +44 -0
  1841. package/src/react/primitives/chart-heatmap.tsx +33 -0
  1842. package/src/react/primitives/chart-line.tsx +34 -0
  1843. package/src/react/primitives/chart-pie.tsx +33 -0
  1844. package/src/react/primitives/chart-radar.tsx +33 -0
  1845. package/src/react/primitives/chart-sankey.tsx +33 -0
  1846. package/src/react/primitives/chart-scatter.tsx +34 -0
  1847. package/src/react/primitives/chart-sparkline.tsx +32 -0
  1848. package/src/react/primitives/chart-treemap.tsx +33 -0
  1849. package/src/react/primitives/chart-waterfall.tsx +33 -0
  1850. package/src/react/primitives/checkbox.tsx +50 -0
  1851. package/src/react/primitives/code-block.tsx +117 -0
  1852. package/src/react/primitives/code-viewer.tsx +307 -0
  1853. package/src/react/primitives/collapsible.tsx +118 -0
  1854. package/src/react/primitives/color-picker.tsx +461 -0
  1855. package/src/react/primitives/context-menu.tsx +261 -0
  1856. package/src/react/primitives/copy-button.tsx +116 -0
  1857. package/src/react/primitives/cron-editor.tsx +575 -0
  1858. package/src/react/primitives/cvss-badge.tsx +112 -0
  1859. package/src/react/primitives/data-grid.tsx +1269 -0
  1860. package/src/react/primitives/data-table.tsx +300 -0
  1861. package/src/react/primitives/date-picker.tsx +659 -0
  1862. package/src/react/primitives/detection-status.tsx +400 -0
  1863. package/src/react/primitives/dialog.tsx +127 -0
  1864. package/src/react/primitives/direction.tsx +74 -0
  1865. package/src/react/primitives/drawer.tsx +140 -0
  1866. package/src/react/primitives/dropdown-menu.tsx +87 -0
  1867. package/src/react/primitives/empty-state.tsx +64 -0
  1868. package/src/react/primitives/error-boundary.tsx +40 -0
  1869. package/src/react/primitives/field.tsx +59 -0
  1870. package/src/react/primitives/file-tree.tsx +368 -0
  1871. package/src/react/primitives/flow-diagram.tsx +78 -0
  1872. package/src/react/primitives/heatmap-legend.tsx +51 -0
  1873. package/src/react/primitives/heatmap-toolbar.tsx +78 -0
  1874. package/src/react/primitives/hover-card.tsx +174 -0
  1875. package/src/react/primitives/index.ts +294 -0
  1876. package/src/react/primitives/input.tsx +35 -0
  1877. package/src/react/primitives/json-path-browser.tsx +397 -0
  1878. package/src/react/primitives/kanban.tsx +421 -0
  1879. package/src/react/primitives/kbd.tsx +33 -0
  1880. package/src/react/primitives/label.tsx +25 -0
  1881. package/src/react/primitives/map.tsx +91 -0
  1882. package/src/react/primitives/markdown-viewer.tsx +256 -0
  1883. package/src/react/primitives/menubar.tsx +248 -0
  1884. package/src/react/primitives/mermaid-diagram.tsx +76 -0
  1885. package/src/react/primitives/mitre-matrix.tsx +203 -0
  1886. package/src/react/primitives/modal.tsx +191 -0
  1887. package/src/react/primitives/navigation-menu.tsx +144 -0
  1888. package/src/react/primitives/network-graph.tsx +95 -0
  1889. package/src/react/primitives/notification-center.tsx +229 -0
  1890. package/src/react/primitives/pagination.tsx +147 -0
  1891. package/src/react/primitives/popover.tsx +247 -0
  1892. package/src/react/primitives/progress.tsx +187 -0
  1893. package/src/react/primitives/radio-group.tsx +44 -0
  1894. package/src/react/primitives/ripple.tsx +145 -0
  1895. package/src/react/primitives/rule-editor.tsx +385 -0
  1896. package/src/react/primitives/scroll-area.tsx +54 -0
  1897. package/src/react/primitives/search.tsx +573 -0
  1898. package/src/react/primitives/select.tsx +218 -0
  1899. package/src/react/primitives/separator.tsx +27 -0
  1900. package/src/react/primitives/severity-indicator.tsx +110 -0
  1901. package/src/react/primitives/sheet.tsx +137 -0
  1902. package/src/react/primitives/skeleton.tsx +15 -0
  1903. package/src/react/primitives/slide-panel.tsx +137 -0
  1904. package/src/react/primitives/slider.tsx +51 -0
  1905. package/src/react/primitives/spinner.tsx +39 -0
  1906. package/src/react/primitives/split-pane.tsx +160 -0
  1907. package/src/react/primitives/stat-card.tsx +140 -0
  1908. package/src/react/primitives/status-bar.tsx +81 -0
  1909. package/src/react/primitives/stepper.tsx +162 -0
  1910. package/src/react/primitives/switch.tsx +47 -0
  1911. package/src/react/primitives/table.tsx +90 -0
  1912. package/src/react/primitives/tabs.tsx +52 -0
  1913. package/src/react/primitives/tag-input.tsx +371 -0
  1914. package/src/react/primitives/terminal.tsx +228 -0
  1915. package/src/react/primitives/textarea.tsx +18 -0
  1916. package/src/react/primitives/timeline.tsx +316 -0
  1917. package/src/react/primitives/toast.tsx +361 -0
  1918. package/src/react/primitives/toggle.tsx +107 -0
  1919. package/src/react/primitives/tooltip.tsx +64 -0
  1920. package/src/react/primitives/tree-view.tsx +306 -0
  1921. package/src/react/primitives/typography.tsx +171 -0
  1922. package/src/react/primitives/uptime-bar.tsx +93 -0
  1923. package/src/react/primitives/utils.ts +6 -0
  1924. package/src/react/primitives/vulnerability-card.tsx +297 -0
  1925. package/src/react/theme-toggle/index.tsx +123 -0
  1926. package/src/react/threat-visuals/index.tsx +200 -0
  1927. package/src/react/topology/__tests__/topology.test.tsx +716 -0
  1928. package/src/react/topology/edges.tsx +77 -0
  1929. package/src/react/topology/index.ts +34 -0
  1930. package/src/react/topology/layouts.ts +473 -0
  1931. package/src/react/topology/logos.tsx +328 -0
  1932. package/src/react/topology/nodes.tsx +404 -0
  1933. package/src/react/topology/safe-handle.tsx +35 -0
  1934. package/src/react/topology/styles.ts +47 -0
  1935. package/src/security/attack-path/index.ts +202 -0
  1936. package/src/security/attack-path/types.ts +37 -0
  1937. package/src/security/cvss-badge/index.ts +145 -0
  1938. package/src/security/cvss-badge/types.ts +14 -0
  1939. package/src/security/detection-status/index.ts +420 -0
  1940. package/src/security/detection-status/types.ts +24 -0
  1941. package/src/security/index.ts +24 -0
  1942. package/src/security/mitre-matrix/index.ts +209 -0
  1943. package/src/security/mitre-matrix/types.ts +23 -0
  1944. package/src/security/vulnerability-card/index.ts +320 -0
  1945. package/src/security/vulnerability-card/types.ts +34 -0
  1946. package/src/services/api.ts +181 -0
  1947. package/src/services/index.ts +23 -0
  1948. package/src/services/keybindings.ts +271 -0
  1949. package/src/services/router.ts +578 -0
  1950. package/src/services/sse.ts +148 -0
  1951. package/src/services/storage.ts +88 -0
  1952. package/src/sidebar/badge.ts +72 -0
  1953. package/src/sidebar/component.ts +223 -0
  1954. package/src/sidebar/enhance.ts +289 -0
  1955. package/src/sidebar/index.ts +253 -0
  1956. package/src/sidebar/types.ts +43 -0
  1957. package/src/styles/appearance.css +325 -0
  1958. package/src/styles/auth.css +318 -0
  1959. package/src/styles/breakpoints.css +346 -0
  1960. package/src/styles/charts/charts.css +140 -0
  1961. package/src/styles/components/context-menu.css +180 -0
  1962. package/src/styles/components/data-grid.css +635 -0
  1963. package/src/styles/components/data-table.css +276 -0
  1964. package/src/styles/components/editors.css +265 -0
  1965. package/src/styles/components/modal.css +246 -0
  1966. package/src/styles/components/pagination.css +158 -0
  1967. package/src/styles/components/search.css +369 -0
  1968. package/src/styles/components/split-pane.css +174 -0
  1969. package/src/styles/components/status-bar.css +198 -0
  1970. package/src/styles/components/tabs.css +201 -0
  1971. package/src/styles/components/toast.css +235 -0
  1972. package/src/styles/components/tree-view.css +225 -0
  1973. package/src/styles/consent.css +282 -0
  1974. package/src/styles/display/alert.css +136 -0
  1975. package/src/styles/display/aspect-ratio.css +15 -0
  1976. package/src/styles/display/avatar.css +190 -0
  1977. package/src/styles/display/badge.css +148 -0
  1978. package/src/styles/display/card.css +66 -0
  1979. package/src/styles/display/code-block.css +99 -0
  1980. package/src/styles/display/empty-state.css +37 -0
  1981. package/src/styles/display/hover-card.css +70 -0
  1982. package/src/styles/display/markdown-viewer.css +145 -0
  1983. package/src/styles/display/notification-center.css +272 -0
  1984. package/src/styles/display/popover.css +29 -0
  1985. package/src/styles/display/progress.css +129 -0
  1986. package/src/styles/display/severity-indicator.css +96 -0
  1987. package/src/styles/display/stat-card.css +90 -0
  1988. package/src/styles/display/tooltip.css +58 -0
  1989. package/src/styles/display/typography.css +129 -0
  1990. package/src/styles/display/uptime-bar.css +64 -0
  1991. package/src/styles/form/calendar.css +240 -0
  1992. package/src/styles/form/color-picker.css +239 -0
  1993. package/src/styles/form/cron-editor.css +333 -0
  1994. package/src/styles/form/date-picker.css +378 -0
  1995. package/src/styles/form/tag-input.css +219 -0
  1996. package/src/styles/index.css +110 -0
  1997. package/src/styles/layout.css +753 -0
  1998. package/src/styles/navigation/breadcrumb.css +100 -0
  1999. package/src/styles/navigation/drawer.css +143 -0
  2000. package/src/styles/navigation/dropdown-menu.css +193 -0
  2001. package/src/styles/navigation/menubar.css +208 -0
  2002. package/src/styles/navigation/navigation-menu.css +260 -0
  2003. package/src/styles/navigation/stepper.css +199 -0
  2004. package/src/styles/overlays/alert-dialog.css +205 -0
  2005. package/src/styles/overlays/carousel.css +147 -0
  2006. package/src/styles/overlays/sheet.css +206 -0
  2007. package/src/styles/primitives/button.css +277 -0
  2008. package/src/styles/primitives/checkbox.css +126 -0
  2009. package/src/styles/primitives/field.css +48 -0
  2010. package/src/styles/primitives/input.css +331 -0
  2011. package/src/styles/primitives/kbd.css +32 -0
  2012. package/src/styles/primitives/label.css +18 -0
  2013. package/src/styles/primitives/radio.css +109 -0
  2014. package/src/styles/primitives/scroll-area.css +54 -0
  2015. package/src/styles/primitives/select.css +354 -0
  2016. package/src/styles/primitives/separator.css +20 -0
  2017. package/src/styles/primitives/skeleton.css +35 -0
  2018. package/src/styles/primitives/slider.css +121 -0
  2019. package/src/styles/primitives/spinner.css +56 -0
  2020. package/src/styles/primitives/switch.css +131 -0
  2021. package/src/styles/primitives/toggle.css +157 -0
  2022. package/src/styles/react-threat-visuals.css +568 -0
  2023. package/src/styles/security/attack-path.css +192 -0
  2024. package/src/styles/security/cvss-badge.css +136 -0
  2025. package/src/styles/security/detection-status.css +217 -0
  2026. package/src/styles/security/mitre-matrix.css +203 -0
  2027. package/src/styles/security/vulnerability-card.css +294 -0
  2028. package/src/styles/sidebar.css +1194 -0
  2029. package/src/styles/tokens.css +392 -0
  2030. package/src/styles/ui.css +442 -0
  2031. package/src/styles/utilities.css +43 -0
  2032. package/src/styles/visualization/file-tree.css +179 -0
  2033. package/src/styles/visualization/flow-diagram.css +163 -0
  2034. package/src/styles/visualization/json-path-browser.css +275 -0
  2035. package/src/styles/visualization/kanban.css +614 -0
  2036. package/src/styles/visualization/map.css +205 -0
  2037. package/src/styles/visualization/mermaid-diagram.css +172 -0
  2038. package/src/styles/visualization/network-graph.css +169 -0
  2039. package/src/styles/visualization/rule-editor.css +280 -0
  2040. package/src/styles/visualization/terminal.css +133 -0
  2041. package/src/styles/visualization/timeline.css +246 -0
  2042. package/src/ui/index.ts +414 -0
  2043. package/src/ui/ui.test.ts +83 -0
  2044. package/src/utils/a11y.ts +566 -0
  2045. package/src/utils/date.ts +90 -0
  2046. package/src/utils/errors.ts +44 -0
  2047. package/src/utils/index.ts +154 -0
  2048. package/src/utils/keyboard.ts +551 -0
  2049. package/src/utils/registry.ts +41 -0
  2050. package/src/utils/sanitize.ts +23 -0
  2051. package/src/utils/selection.ts +29 -0
  2052. package/src/utils/sorting.ts +73 -0
  2053. package/src/utils/touch.ts +643 -0
  2054. package/src/utils/validation.ts +66 -0
  2055. package/src/visualization/file-tree/index.ts +500 -0
  2056. package/src/visualization/file-tree/types.ts +29 -0
  2057. package/src/visualization/flow-diagram/index.ts +693 -0
  2058. package/src/visualization/flow-diagram/types.ts +39 -0
  2059. package/src/visualization/index.ts +53 -0
  2060. package/src/visualization/json-path-browser/index.ts +502 -0
  2061. package/src/visualization/json-path-browser/types.ts +15 -0
  2062. package/src/visualization/kanban/__tests__/kanban.test.ts +1440 -0
  2063. package/src/visualization/kanban/index.ts +785 -0
  2064. package/src/visualization/kanban/types.ts +93 -0
  2065. package/src/visualization/map/index.ts +623 -0
  2066. package/src/visualization/map/types.ts +37 -0
  2067. package/src/visualization/mermaid-diagram/index.ts +404 -0
  2068. package/src/visualization/mermaid-diagram/types.ts +50 -0
  2069. package/src/visualization/network-graph/index.ts +690 -0
  2070. package/src/visualization/network-graph/types.ts +39 -0
  2071. package/src/visualization/rule-editor/index.ts +562 -0
  2072. package/src/visualization/rule-editor/types.ts +34 -0
  2073. package/src/visualization/terminal/index.ts +403 -0
  2074. package/src/visualization/terminal/types.ts +16 -0
  2075. package/src/visualization/timeline/index.ts +341 -0
  2076. package/src/visualization/timeline/types.ts +25 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cose-bilkent-S5V4N54A-Brn9HMfH.js","names":["module","exports","module","exports","module","exports","cytoscape","coseBilkent","select"],"sources":["../node_modules/layout-base/layout-base.js","../node_modules/cose-base/cose-base.js","../node_modules/cytoscape-cose-bilkent/cytoscape-cose-bilkent.js","../node_modules/mermaid/dist/chunks/mermaid.core/cose-bilkent-S5V4N54A.mjs"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"layoutBase\"] = factory();\n\telse\n\t\troot[\"layoutBase\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 26);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction LayoutConstants() {}\n\n/**\r\n * Layout Quality: 0:draft, 1:default, 2:proof\r\n */\nLayoutConstants.QUALITY = 1;\n\n/**\r\n * Default parameters\r\n */\nLayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED = false;\nLayoutConstants.DEFAULT_INCREMENTAL = false;\nLayoutConstants.DEFAULT_ANIMATION_ON_LAYOUT = true;\nLayoutConstants.DEFAULT_ANIMATION_DURING_LAYOUT = false;\nLayoutConstants.DEFAULT_ANIMATION_PERIOD = 50;\nLayoutConstants.DEFAULT_UNIFORM_LEAF_NODE_SIZES = false;\n\n// -----------------------------------------------------------------------------\n// Section: General other constants\n// -----------------------------------------------------------------------------\n/*\r\n * Margins of a graph to be applied on bouding rectangle of its contents. We\r\n * assume margins on all four sides to be uniform.\r\n */\nLayoutConstants.DEFAULT_GRAPH_MARGIN = 15;\n\n/*\r\n * Whether to consider labels in node dimensions or not\r\n */\nLayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS = false;\n\n/*\r\n * Default dimension of a non-compound node.\r\n */\nLayoutConstants.SIMPLE_NODE_SIZE = 40;\n\n/*\r\n * Default dimension of a non-compound node.\r\n */\nLayoutConstants.SIMPLE_NODE_HALF_SIZE = LayoutConstants.SIMPLE_NODE_SIZE / 2;\n\n/*\r\n * Empty compound node size. When a compound node is empty, its both\r\n * dimensions should be of this value.\r\n */\nLayoutConstants.EMPTY_COMPOUND_NODE_SIZE = 40;\n\n/*\r\n * Minimum length that an edge should take during layout\r\n */\nLayoutConstants.MIN_EDGE_LENGTH = 1;\n\n/*\r\n * World boundaries that layout operates on\r\n */\nLayoutConstants.WORLD_BOUNDARY = 1000000;\n\n/*\r\n * World boundaries that random positioning can be performed with\r\n */\nLayoutConstants.INITIAL_WORLD_BOUNDARY = LayoutConstants.WORLD_BOUNDARY / 1000;\n\n/*\r\n * Coordinates of the world center\r\n */\nLayoutConstants.WORLD_CENTER_X = 1200;\nLayoutConstants.WORLD_CENTER_Y = 900;\n\nmodule.exports = LayoutConstants;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraphObject = __webpack_require__(2);\nvar IGeometry = __webpack_require__(8);\nvar IMath = __webpack_require__(9);\n\nfunction LEdge(source, target, vEdge) {\n LGraphObject.call(this, vEdge);\n\n this.isOverlapingSourceAndTarget = false;\n this.vGraphObject = vEdge;\n this.bendpoints = [];\n this.source = source;\n this.target = target;\n}\n\nLEdge.prototype = Object.create(LGraphObject.prototype);\n\nfor (var prop in LGraphObject) {\n LEdge[prop] = LGraphObject[prop];\n}\n\nLEdge.prototype.getSource = function () {\n return this.source;\n};\n\nLEdge.prototype.getTarget = function () {\n return this.target;\n};\n\nLEdge.prototype.isInterGraph = function () {\n return this.isInterGraph;\n};\n\nLEdge.prototype.getLength = function () {\n return this.length;\n};\n\nLEdge.prototype.isOverlapingSourceAndTarget = function () {\n return this.isOverlapingSourceAndTarget;\n};\n\nLEdge.prototype.getBendpoints = function () {\n return this.bendpoints;\n};\n\nLEdge.prototype.getLca = function () {\n return this.lca;\n};\n\nLEdge.prototype.getSourceInLca = function () {\n return this.sourceInLca;\n};\n\nLEdge.prototype.getTargetInLca = function () {\n return this.targetInLca;\n};\n\nLEdge.prototype.getOtherEnd = function (node) {\n if (this.source === node) {\n return this.target;\n } else if (this.target === node) {\n return this.source;\n } else {\n throw \"Node is not incident with this edge\";\n }\n};\n\nLEdge.prototype.getOtherEndInGraph = function (node, graph) {\n var otherEnd = this.getOtherEnd(node);\n var root = graph.getGraphManager().getRoot();\n\n while (true) {\n if (otherEnd.getOwner() == graph) {\n return otherEnd;\n }\n\n if (otherEnd.getOwner() == root) {\n break;\n }\n\n otherEnd = otherEnd.getOwner().getParent();\n }\n\n return null;\n};\n\nLEdge.prototype.updateLength = function () {\n var clipPointCoordinates = new Array(4);\n\n this.isOverlapingSourceAndTarget = IGeometry.getIntersection(this.target.getRect(), this.source.getRect(), clipPointCoordinates);\n\n if (!this.isOverlapingSourceAndTarget) {\n this.lengthX = clipPointCoordinates[0] - clipPointCoordinates[2];\n this.lengthY = clipPointCoordinates[1] - clipPointCoordinates[3];\n\n if (Math.abs(this.lengthX) < 1.0) {\n this.lengthX = IMath.sign(this.lengthX);\n }\n\n if (Math.abs(this.lengthY) < 1.0) {\n this.lengthY = IMath.sign(this.lengthY);\n }\n\n this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY);\n }\n};\n\nLEdge.prototype.updateLengthSimple = function () {\n this.lengthX = this.target.getCenterX() - this.source.getCenterX();\n this.lengthY = this.target.getCenterY() - this.source.getCenterY();\n\n if (Math.abs(this.lengthX) < 1.0) {\n this.lengthX = IMath.sign(this.lengthX);\n }\n\n if (Math.abs(this.lengthY) < 1.0) {\n this.lengthY = IMath.sign(this.lengthY);\n }\n\n this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY);\n};\n\nmodule.exports = LEdge;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction LGraphObject(vGraphObject) {\n this.vGraphObject = vGraphObject;\n}\n\nmodule.exports = LGraphObject;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraphObject = __webpack_require__(2);\nvar Integer = __webpack_require__(10);\nvar RectangleD = __webpack_require__(13);\nvar LayoutConstants = __webpack_require__(0);\nvar RandomSeed = __webpack_require__(16);\nvar PointD = __webpack_require__(4);\n\nfunction LNode(gm, loc, size, vNode) {\n //Alternative constructor 1 : LNode(LGraphManager gm, Point loc, Dimension size, Object vNode)\n if (size == null && vNode == null) {\n vNode = loc;\n }\n\n LGraphObject.call(this, vNode);\n\n //Alternative constructor 2 : LNode(Layout layout, Object vNode)\n if (gm.graphManager != null) gm = gm.graphManager;\n\n this.estimatedSize = Integer.MIN_VALUE;\n this.inclusionTreeDepth = Integer.MAX_VALUE;\n this.vGraphObject = vNode;\n this.edges = [];\n this.graphManager = gm;\n\n if (size != null && loc != null) this.rect = new RectangleD(loc.x, loc.y, size.width, size.height);else this.rect = new RectangleD();\n}\n\nLNode.prototype = Object.create(LGraphObject.prototype);\nfor (var prop in LGraphObject) {\n LNode[prop] = LGraphObject[prop];\n}\n\nLNode.prototype.getEdges = function () {\n return this.edges;\n};\n\nLNode.prototype.getChild = function () {\n return this.child;\n};\n\nLNode.prototype.getOwner = function () {\n // if (this.owner != null) {\n // if (!(this.owner == null || this.owner.getNodes().indexOf(this) > -1)) {\n // throw \"assert failed\";\n // }\n // }\n\n return this.owner;\n};\n\nLNode.prototype.getWidth = function () {\n return this.rect.width;\n};\n\nLNode.prototype.setWidth = function (width) {\n this.rect.width = width;\n};\n\nLNode.prototype.getHeight = function () {\n return this.rect.height;\n};\n\nLNode.prototype.setHeight = function (height) {\n this.rect.height = height;\n};\n\nLNode.prototype.getCenterX = function () {\n return this.rect.x + this.rect.width / 2;\n};\n\nLNode.prototype.getCenterY = function () {\n return this.rect.y + this.rect.height / 2;\n};\n\nLNode.prototype.getCenter = function () {\n return new PointD(this.rect.x + this.rect.width / 2, this.rect.y + this.rect.height / 2);\n};\n\nLNode.prototype.getLocation = function () {\n return new PointD(this.rect.x, this.rect.y);\n};\n\nLNode.prototype.getRect = function () {\n return this.rect;\n};\n\nLNode.prototype.getDiagonal = function () {\n return Math.sqrt(this.rect.width * this.rect.width + this.rect.height * this.rect.height);\n};\n\n/**\n * This method returns half the diagonal length of this node.\n */\nLNode.prototype.getHalfTheDiagonal = function () {\n return Math.sqrt(this.rect.height * this.rect.height + this.rect.width * this.rect.width) / 2;\n};\n\nLNode.prototype.setRect = function (upperLeft, dimension) {\n this.rect.x = upperLeft.x;\n this.rect.y = upperLeft.y;\n this.rect.width = dimension.width;\n this.rect.height = dimension.height;\n};\n\nLNode.prototype.setCenter = function (cx, cy) {\n this.rect.x = cx - this.rect.width / 2;\n this.rect.y = cy - this.rect.height / 2;\n};\n\nLNode.prototype.setLocation = function (x, y) {\n this.rect.x = x;\n this.rect.y = y;\n};\n\nLNode.prototype.moveBy = function (dx, dy) {\n this.rect.x += dx;\n this.rect.y += dy;\n};\n\nLNode.prototype.getEdgeListToNode = function (to) {\n var edgeList = [];\n var edge;\n var self = this;\n\n self.edges.forEach(function (edge) {\n\n if (edge.target == to) {\n if (edge.source != self) throw \"Incorrect edge source!\";\n\n edgeList.push(edge);\n }\n });\n\n return edgeList;\n};\n\nLNode.prototype.getEdgesBetween = function (other) {\n var edgeList = [];\n var edge;\n\n var self = this;\n self.edges.forEach(function (edge) {\n\n if (!(edge.source == self || edge.target == self)) throw \"Incorrect edge source and/or target\";\n\n if (edge.target == other || edge.source == other) {\n edgeList.push(edge);\n }\n });\n\n return edgeList;\n};\n\nLNode.prototype.getNeighborsList = function () {\n var neighbors = new Set();\n\n var self = this;\n self.edges.forEach(function (edge) {\n\n if (edge.source == self) {\n neighbors.add(edge.target);\n } else {\n if (edge.target != self) {\n throw \"Incorrect incidency!\";\n }\n\n neighbors.add(edge.source);\n }\n });\n\n return neighbors;\n};\n\nLNode.prototype.withChildren = function () {\n var withNeighborsList = new Set();\n var childNode;\n var children;\n\n withNeighborsList.add(this);\n\n if (this.child != null) {\n var nodes = this.child.getNodes();\n for (var i = 0; i < nodes.length; i++) {\n childNode = nodes[i];\n children = childNode.withChildren();\n children.forEach(function (node) {\n withNeighborsList.add(node);\n });\n }\n }\n\n return withNeighborsList;\n};\n\nLNode.prototype.getNoOfChildren = function () {\n var noOfChildren = 0;\n var childNode;\n\n if (this.child == null) {\n noOfChildren = 1;\n } else {\n var nodes = this.child.getNodes();\n for (var i = 0; i < nodes.length; i++) {\n childNode = nodes[i];\n\n noOfChildren += childNode.getNoOfChildren();\n }\n }\n\n if (noOfChildren == 0) {\n noOfChildren = 1;\n }\n return noOfChildren;\n};\n\nLNode.prototype.getEstimatedSize = function () {\n if (this.estimatedSize == Integer.MIN_VALUE) {\n throw \"assert failed\";\n }\n return this.estimatedSize;\n};\n\nLNode.prototype.calcEstimatedSize = function () {\n if (this.child == null) {\n return this.estimatedSize = (this.rect.width + this.rect.height) / 2;\n } else {\n this.estimatedSize = this.child.calcEstimatedSize();\n this.rect.width = this.estimatedSize;\n this.rect.height = this.estimatedSize;\n\n return this.estimatedSize;\n }\n};\n\nLNode.prototype.scatter = function () {\n var randomCenterX;\n var randomCenterY;\n\n var minX = -LayoutConstants.INITIAL_WORLD_BOUNDARY;\n var maxX = LayoutConstants.INITIAL_WORLD_BOUNDARY;\n randomCenterX = LayoutConstants.WORLD_CENTER_X + RandomSeed.nextDouble() * (maxX - minX) + minX;\n\n var minY = -LayoutConstants.INITIAL_WORLD_BOUNDARY;\n var maxY = LayoutConstants.INITIAL_WORLD_BOUNDARY;\n randomCenterY = LayoutConstants.WORLD_CENTER_Y + RandomSeed.nextDouble() * (maxY - minY) + minY;\n\n this.rect.x = randomCenterX;\n this.rect.y = randomCenterY;\n};\n\nLNode.prototype.updateBounds = function () {\n if (this.getChild() == null) {\n throw \"assert failed\";\n }\n if (this.getChild().getNodes().length != 0) {\n // wrap the children nodes by re-arranging the boundaries\n var childGraph = this.getChild();\n childGraph.updateBounds(true);\n\n this.rect.x = childGraph.getLeft();\n this.rect.y = childGraph.getTop();\n\n this.setWidth(childGraph.getRight() - childGraph.getLeft());\n this.setHeight(childGraph.getBottom() - childGraph.getTop());\n\n // Update compound bounds considering its label properties \n if (LayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS) {\n\n var width = childGraph.getRight() - childGraph.getLeft();\n var height = childGraph.getBottom() - childGraph.getTop();\n\n if (this.labelWidth > width) {\n this.rect.x -= (this.labelWidth - width) / 2;\n this.setWidth(this.labelWidth);\n }\n\n if (this.labelHeight > height) {\n if (this.labelPos == \"center\") {\n this.rect.y -= (this.labelHeight - height) / 2;\n } else if (this.labelPos == \"top\") {\n this.rect.y -= this.labelHeight - height;\n }\n this.setHeight(this.labelHeight);\n }\n }\n }\n};\n\nLNode.prototype.getInclusionTreeDepth = function () {\n if (this.inclusionTreeDepth == Integer.MAX_VALUE) {\n throw \"assert failed\";\n }\n return this.inclusionTreeDepth;\n};\n\nLNode.prototype.transform = function (trans) {\n var left = this.rect.x;\n\n if (left > LayoutConstants.WORLD_BOUNDARY) {\n left = LayoutConstants.WORLD_BOUNDARY;\n } else if (left < -LayoutConstants.WORLD_BOUNDARY) {\n left = -LayoutConstants.WORLD_BOUNDARY;\n }\n\n var top = this.rect.y;\n\n if (top > LayoutConstants.WORLD_BOUNDARY) {\n top = LayoutConstants.WORLD_BOUNDARY;\n } else if (top < -LayoutConstants.WORLD_BOUNDARY) {\n top = -LayoutConstants.WORLD_BOUNDARY;\n }\n\n var leftTop = new PointD(left, top);\n var vLeftTop = trans.inverseTransformPoint(leftTop);\n\n this.setLocation(vLeftTop.x, vLeftTop.y);\n};\n\nLNode.prototype.getLeft = function () {\n return this.rect.x;\n};\n\nLNode.prototype.getRight = function () {\n return this.rect.x + this.rect.width;\n};\n\nLNode.prototype.getTop = function () {\n return this.rect.y;\n};\n\nLNode.prototype.getBottom = function () {\n return this.rect.y + this.rect.height;\n};\n\nLNode.prototype.getParent = function () {\n if (this.owner == null) {\n return null;\n }\n\n return this.owner.getParent();\n};\n\nmodule.exports = LNode;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction PointD(x, y) {\n if (x == null && y == null) {\n this.x = 0;\n this.y = 0;\n } else {\n this.x = x;\n this.y = y;\n }\n}\n\nPointD.prototype.getX = function () {\n return this.x;\n};\n\nPointD.prototype.getY = function () {\n return this.y;\n};\n\nPointD.prototype.setX = function (x) {\n this.x = x;\n};\n\nPointD.prototype.setY = function (y) {\n this.y = y;\n};\n\nPointD.prototype.getDifference = function (pt) {\n return new DimensionD(this.x - pt.x, this.y - pt.y);\n};\n\nPointD.prototype.getCopy = function () {\n return new PointD(this.x, this.y);\n};\n\nPointD.prototype.translate = function (dim) {\n this.x += dim.width;\n this.y += dim.height;\n return this;\n};\n\nmodule.exports = PointD;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraphObject = __webpack_require__(2);\nvar Integer = __webpack_require__(10);\nvar LayoutConstants = __webpack_require__(0);\nvar LGraphManager = __webpack_require__(6);\nvar LNode = __webpack_require__(3);\nvar LEdge = __webpack_require__(1);\nvar RectangleD = __webpack_require__(13);\nvar Point = __webpack_require__(12);\nvar LinkedList = __webpack_require__(11);\n\nfunction LGraph(parent, obj2, vGraph) {\n LGraphObject.call(this, vGraph);\n this.estimatedSize = Integer.MIN_VALUE;\n this.margin = LayoutConstants.DEFAULT_GRAPH_MARGIN;\n this.edges = [];\n this.nodes = [];\n this.isConnected = false;\n this.parent = parent;\n\n if (obj2 != null && obj2 instanceof LGraphManager) {\n this.graphManager = obj2;\n } else if (obj2 != null && obj2 instanceof Layout) {\n this.graphManager = obj2.graphManager;\n }\n}\n\nLGraph.prototype = Object.create(LGraphObject.prototype);\nfor (var prop in LGraphObject) {\n LGraph[prop] = LGraphObject[prop];\n}\n\nLGraph.prototype.getNodes = function () {\n return this.nodes;\n};\n\nLGraph.prototype.getEdges = function () {\n return this.edges;\n};\n\nLGraph.prototype.getGraphManager = function () {\n return this.graphManager;\n};\n\nLGraph.prototype.getParent = function () {\n return this.parent;\n};\n\nLGraph.prototype.getLeft = function () {\n return this.left;\n};\n\nLGraph.prototype.getRight = function () {\n return this.right;\n};\n\nLGraph.prototype.getTop = function () {\n return this.top;\n};\n\nLGraph.prototype.getBottom = function () {\n return this.bottom;\n};\n\nLGraph.prototype.isConnected = function () {\n return this.isConnected;\n};\n\nLGraph.prototype.add = function (obj1, sourceNode, targetNode) {\n if (sourceNode == null && targetNode == null) {\n var newNode = obj1;\n if (this.graphManager == null) {\n throw \"Graph has no graph mgr!\";\n }\n if (this.getNodes().indexOf(newNode) > -1) {\n throw \"Node already in graph!\";\n }\n newNode.owner = this;\n this.getNodes().push(newNode);\n\n return newNode;\n } else {\n var newEdge = obj1;\n if (!(this.getNodes().indexOf(sourceNode) > -1 && this.getNodes().indexOf(targetNode) > -1)) {\n throw \"Source or target not in graph!\";\n }\n\n if (!(sourceNode.owner == targetNode.owner && sourceNode.owner == this)) {\n throw \"Both owners must be this graph!\";\n }\n\n if (sourceNode.owner != targetNode.owner) {\n return null;\n }\n\n // set source and target\n newEdge.source = sourceNode;\n newEdge.target = targetNode;\n\n // set as intra-graph edge\n newEdge.isInterGraph = false;\n\n // add to graph edge list\n this.getEdges().push(newEdge);\n\n // add to incidency lists\n sourceNode.edges.push(newEdge);\n\n if (targetNode != sourceNode) {\n targetNode.edges.push(newEdge);\n }\n\n return newEdge;\n }\n};\n\nLGraph.prototype.remove = function (obj) {\n var node = obj;\n if (obj instanceof LNode) {\n if (node == null) {\n throw \"Node is null!\";\n }\n if (!(node.owner != null && node.owner == this)) {\n throw \"Owner graph is invalid!\";\n }\n if (this.graphManager == null) {\n throw \"Owner graph manager is invalid!\";\n }\n // remove incident edges first (make a copy to do it safely)\n var edgesToBeRemoved = node.edges.slice();\n var edge;\n var s = edgesToBeRemoved.length;\n for (var i = 0; i < s; i++) {\n edge = edgesToBeRemoved[i];\n\n if (edge.isInterGraph) {\n this.graphManager.remove(edge);\n } else {\n edge.source.owner.remove(edge);\n }\n }\n\n // now the node itself\n var index = this.nodes.indexOf(node);\n if (index == -1) {\n throw \"Node not in owner node list!\";\n }\n\n this.nodes.splice(index, 1);\n } else if (obj instanceof LEdge) {\n var edge = obj;\n if (edge == null) {\n throw \"Edge is null!\";\n }\n if (!(edge.source != null && edge.target != null)) {\n throw \"Source and/or target is null!\";\n }\n if (!(edge.source.owner != null && edge.target.owner != null && edge.source.owner == this && edge.target.owner == this)) {\n throw \"Source and/or target owner is invalid!\";\n }\n\n var sourceIndex = edge.source.edges.indexOf(edge);\n var targetIndex = edge.target.edges.indexOf(edge);\n if (!(sourceIndex > -1 && targetIndex > -1)) {\n throw \"Source and/or target doesn't know this edge!\";\n }\n\n edge.source.edges.splice(sourceIndex, 1);\n\n if (edge.target != edge.source) {\n edge.target.edges.splice(targetIndex, 1);\n }\n\n var index = edge.source.owner.getEdges().indexOf(edge);\n if (index == -1) {\n throw \"Not in owner's edge list!\";\n }\n\n edge.source.owner.getEdges().splice(index, 1);\n }\n};\n\nLGraph.prototype.updateLeftTop = function () {\n var top = Integer.MAX_VALUE;\n var left = Integer.MAX_VALUE;\n var nodeTop;\n var nodeLeft;\n var margin;\n\n var nodes = this.getNodes();\n var s = nodes.length;\n\n for (var i = 0; i < s; i++) {\n var lNode = nodes[i];\n nodeTop = lNode.getTop();\n nodeLeft = lNode.getLeft();\n\n if (top > nodeTop) {\n top = nodeTop;\n }\n\n if (left > nodeLeft) {\n left = nodeLeft;\n }\n }\n\n // Do we have any nodes in this graph?\n if (top == Integer.MAX_VALUE) {\n return null;\n }\n\n if (nodes[0].getParent().paddingLeft != undefined) {\n margin = nodes[0].getParent().paddingLeft;\n } else {\n margin = this.margin;\n }\n\n this.left = left - margin;\n this.top = top - margin;\n\n // Apply the margins and return the result\n return new Point(this.left, this.top);\n};\n\nLGraph.prototype.updateBounds = function (recursive) {\n // calculate bounds\n var left = Integer.MAX_VALUE;\n var right = -Integer.MAX_VALUE;\n var top = Integer.MAX_VALUE;\n var bottom = -Integer.MAX_VALUE;\n var nodeLeft;\n var nodeRight;\n var nodeTop;\n var nodeBottom;\n var margin;\n\n var nodes = this.nodes;\n var s = nodes.length;\n for (var i = 0; i < s; i++) {\n var lNode = nodes[i];\n\n if (recursive && lNode.child != null) {\n lNode.updateBounds();\n }\n nodeLeft = lNode.getLeft();\n nodeRight = lNode.getRight();\n nodeTop = lNode.getTop();\n nodeBottom = lNode.getBottom();\n\n if (left > nodeLeft) {\n left = nodeLeft;\n }\n\n if (right < nodeRight) {\n right = nodeRight;\n }\n\n if (top > nodeTop) {\n top = nodeTop;\n }\n\n if (bottom < nodeBottom) {\n bottom = nodeBottom;\n }\n }\n\n var boundingRect = new RectangleD(left, top, right - left, bottom - top);\n if (left == Integer.MAX_VALUE) {\n this.left = this.parent.getLeft();\n this.right = this.parent.getRight();\n this.top = this.parent.getTop();\n this.bottom = this.parent.getBottom();\n }\n\n if (nodes[0].getParent().paddingLeft != undefined) {\n margin = nodes[0].getParent().paddingLeft;\n } else {\n margin = this.margin;\n }\n\n this.left = boundingRect.x - margin;\n this.right = boundingRect.x + boundingRect.width + margin;\n this.top = boundingRect.y - margin;\n this.bottom = boundingRect.y + boundingRect.height + margin;\n};\n\nLGraph.calculateBounds = function (nodes) {\n var left = Integer.MAX_VALUE;\n var right = -Integer.MAX_VALUE;\n var top = Integer.MAX_VALUE;\n var bottom = -Integer.MAX_VALUE;\n var nodeLeft;\n var nodeRight;\n var nodeTop;\n var nodeBottom;\n\n var s = nodes.length;\n\n for (var i = 0; i < s; i++) {\n var lNode = nodes[i];\n nodeLeft = lNode.getLeft();\n nodeRight = lNode.getRight();\n nodeTop = lNode.getTop();\n nodeBottom = lNode.getBottom();\n\n if (left > nodeLeft) {\n left = nodeLeft;\n }\n\n if (right < nodeRight) {\n right = nodeRight;\n }\n\n if (top > nodeTop) {\n top = nodeTop;\n }\n\n if (bottom < nodeBottom) {\n bottom = nodeBottom;\n }\n }\n\n var boundingRect = new RectangleD(left, top, right - left, bottom - top);\n\n return boundingRect;\n};\n\nLGraph.prototype.getInclusionTreeDepth = function () {\n if (this == this.graphManager.getRoot()) {\n return 1;\n } else {\n return this.parent.getInclusionTreeDepth();\n }\n};\n\nLGraph.prototype.getEstimatedSize = function () {\n if (this.estimatedSize == Integer.MIN_VALUE) {\n throw \"assert failed\";\n }\n return this.estimatedSize;\n};\n\nLGraph.prototype.calcEstimatedSize = function () {\n var size = 0;\n var nodes = this.nodes;\n var s = nodes.length;\n\n for (var i = 0; i < s; i++) {\n var lNode = nodes[i];\n size += lNode.calcEstimatedSize();\n }\n\n if (size == 0) {\n this.estimatedSize = LayoutConstants.EMPTY_COMPOUND_NODE_SIZE;\n } else {\n this.estimatedSize = size / Math.sqrt(this.nodes.length);\n }\n\n return this.estimatedSize;\n};\n\nLGraph.prototype.updateConnected = function () {\n var self = this;\n if (this.nodes.length == 0) {\n this.isConnected = true;\n return;\n }\n\n var queue = new LinkedList();\n var visited = new Set();\n var currentNode = this.nodes[0];\n var neighborEdges;\n var currentNeighbor;\n var childrenOfNode = currentNode.withChildren();\n childrenOfNode.forEach(function (node) {\n queue.push(node);\n visited.add(node);\n });\n\n while (queue.length !== 0) {\n currentNode = queue.shift();\n\n // Traverse all neighbors of this node\n neighborEdges = currentNode.getEdges();\n var size = neighborEdges.length;\n for (var i = 0; i < size; i++) {\n var neighborEdge = neighborEdges[i];\n currentNeighbor = neighborEdge.getOtherEndInGraph(currentNode, this);\n\n // Add unvisited neighbors to the list to visit\n if (currentNeighbor != null && !visited.has(currentNeighbor)) {\n var childrenOfNeighbor = currentNeighbor.withChildren();\n\n childrenOfNeighbor.forEach(function (node) {\n queue.push(node);\n visited.add(node);\n });\n }\n }\n }\n\n this.isConnected = false;\n\n if (visited.size >= this.nodes.length) {\n var noOfVisitedInThisGraph = 0;\n\n visited.forEach(function (visitedNode) {\n if (visitedNode.owner == self) {\n noOfVisitedInThisGraph++;\n }\n });\n\n if (noOfVisitedInThisGraph == this.nodes.length) {\n this.isConnected = true;\n }\n }\n};\n\nmodule.exports = LGraph;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraph;\nvar LEdge = __webpack_require__(1);\n\nfunction LGraphManager(layout) {\n LGraph = __webpack_require__(5); // It may be better to initilize this out of this function but it gives an error (Right-hand side of 'instanceof' is not callable) now.\n this.layout = layout;\n\n this.graphs = [];\n this.edges = [];\n}\n\nLGraphManager.prototype.addRoot = function () {\n var ngraph = this.layout.newGraph();\n var nnode = this.layout.newNode(null);\n var root = this.add(ngraph, nnode);\n this.setRootGraph(root);\n return this.rootGraph;\n};\n\nLGraphManager.prototype.add = function (newGraph, parentNode, newEdge, sourceNode, targetNode) {\n //there are just 2 parameters are passed then it adds an LGraph else it adds an LEdge\n if (newEdge == null && sourceNode == null && targetNode == null) {\n if (newGraph == null) {\n throw \"Graph is null!\";\n }\n if (parentNode == null) {\n throw \"Parent node is null!\";\n }\n if (this.graphs.indexOf(newGraph) > -1) {\n throw \"Graph already in this graph mgr!\";\n }\n\n this.graphs.push(newGraph);\n\n if (newGraph.parent != null) {\n throw \"Already has a parent!\";\n }\n if (parentNode.child != null) {\n throw \"Already has a child!\";\n }\n\n newGraph.parent = parentNode;\n parentNode.child = newGraph;\n\n return newGraph;\n } else {\n //change the order of the parameters\n targetNode = newEdge;\n sourceNode = parentNode;\n newEdge = newGraph;\n var sourceGraph = sourceNode.getOwner();\n var targetGraph = targetNode.getOwner();\n\n if (!(sourceGraph != null && sourceGraph.getGraphManager() == this)) {\n throw \"Source not in this graph mgr!\";\n }\n if (!(targetGraph != null && targetGraph.getGraphManager() == this)) {\n throw \"Target not in this graph mgr!\";\n }\n\n if (sourceGraph == targetGraph) {\n newEdge.isInterGraph = false;\n return sourceGraph.add(newEdge, sourceNode, targetNode);\n } else {\n newEdge.isInterGraph = true;\n\n // set source and target\n newEdge.source = sourceNode;\n newEdge.target = targetNode;\n\n // add edge to inter-graph edge list\n if (this.edges.indexOf(newEdge) > -1) {\n throw \"Edge already in inter-graph edge list!\";\n }\n\n this.edges.push(newEdge);\n\n // add edge to source and target incidency lists\n if (!(newEdge.source != null && newEdge.target != null)) {\n throw \"Edge source and/or target is null!\";\n }\n\n if (!(newEdge.source.edges.indexOf(newEdge) == -1 && newEdge.target.edges.indexOf(newEdge) == -1)) {\n throw \"Edge already in source and/or target incidency list!\";\n }\n\n newEdge.source.edges.push(newEdge);\n newEdge.target.edges.push(newEdge);\n\n return newEdge;\n }\n }\n};\n\nLGraphManager.prototype.remove = function (lObj) {\n if (lObj instanceof LGraph) {\n var graph = lObj;\n if (graph.getGraphManager() != this) {\n throw \"Graph not in this graph mgr\";\n }\n if (!(graph == this.rootGraph || graph.parent != null && graph.parent.graphManager == this)) {\n throw \"Invalid parent node!\";\n }\n\n // first the edges (make a copy to do it safely)\n var edgesToBeRemoved = [];\n\n edgesToBeRemoved = edgesToBeRemoved.concat(graph.getEdges());\n\n var edge;\n var s = edgesToBeRemoved.length;\n for (var i = 0; i < s; i++) {\n edge = edgesToBeRemoved[i];\n graph.remove(edge);\n }\n\n // then the nodes (make a copy to do it safely)\n var nodesToBeRemoved = [];\n\n nodesToBeRemoved = nodesToBeRemoved.concat(graph.getNodes());\n\n var node;\n s = nodesToBeRemoved.length;\n for (var i = 0; i < s; i++) {\n node = nodesToBeRemoved[i];\n graph.remove(node);\n }\n\n // check if graph is the root\n if (graph == this.rootGraph) {\n this.setRootGraph(null);\n }\n\n // now remove the graph itself\n var index = this.graphs.indexOf(graph);\n this.graphs.splice(index, 1);\n\n // also reset the parent of the graph\n graph.parent = null;\n } else if (lObj instanceof LEdge) {\n edge = lObj;\n if (edge == null) {\n throw \"Edge is null!\";\n }\n if (!edge.isInterGraph) {\n throw \"Not an inter-graph edge!\";\n }\n if (!(edge.source != null && edge.target != null)) {\n throw \"Source and/or target is null!\";\n }\n\n // remove edge from source and target nodes' incidency lists\n\n if (!(edge.source.edges.indexOf(edge) != -1 && edge.target.edges.indexOf(edge) != -1)) {\n throw \"Source and/or target doesn't know this edge!\";\n }\n\n var index = edge.source.edges.indexOf(edge);\n edge.source.edges.splice(index, 1);\n index = edge.target.edges.indexOf(edge);\n edge.target.edges.splice(index, 1);\n\n // remove edge from owner graph manager's inter-graph edge list\n\n if (!(edge.source.owner != null && edge.source.owner.getGraphManager() != null)) {\n throw \"Edge owner graph or owner graph manager is null!\";\n }\n if (edge.source.owner.getGraphManager().edges.indexOf(edge) == -1) {\n throw \"Not in owner graph manager's edge list!\";\n }\n\n var index = edge.source.owner.getGraphManager().edges.indexOf(edge);\n edge.source.owner.getGraphManager().edges.splice(index, 1);\n }\n};\n\nLGraphManager.prototype.updateBounds = function () {\n this.rootGraph.updateBounds(true);\n};\n\nLGraphManager.prototype.getGraphs = function () {\n return this.graphs;\n};\n\nLGraphManager.prototype.getAllNodes = function () {\n if (this.allNodes == null) {\n var nodeList = [];\n var graphs = this.getGraphs();\n var s = graphs.length;\n for (var i = 0; i < s; i++) {\n nodeList = nodeList.concat(graphs[i].getNodes());\n }\n this.allNodes = nodeList;\n }\n return this.allNodes;\n};\n\nLGraphManager.prototype.resetAllNodes = function () {\n this.allNodes = null;\n};\n\nLGraphManager.prototype.resetAllEdges = function () {\n this.allEdges = null;\n};\n\nLGraphManager.prototype.resetAllNodesToApplyGravitation = function () {\n this.allNodesToApplyGravitation = null;\n};\n\nLGraphManager.prototype.getAllEdges = function () {\n if (this.allEdges == null) {\n var edgeList = [];\n var graphs = this.getGraphs();\n var s = graphs.length;\n for (var i = 0; i < graphs.length; i++) {\n edgeList = edgeList.concat(graphs[i].getEdges());\n }\n\n edgeList = edgeList.concat(this.edges);\n\n this.allEdges = edgeList;\n }\n return this.allEdges;\n};\n\nLGraphManager.prototype.getAllNodesToApplyGravitation = function () {\n return this.allNodesToApplyGravitation;\n};\n\nLGraphManager.prototype.setAllNodesToApplyGravitation = function (nodeList) {\n if (this.allNodesToApplyGravitation != null) {\n throw \"assert failed\";\n }\n\n this.allNodesToApplyGravitation = nodeList;\n};\n\nLGraphManager.prototype.getRoot = function () {\n return this.rootGraph;\n};\n\nLGraphManager.prototype.setRootGraph = function (graph) {\n if (graph.getGraphManager() != this) {\n throw \"Root not in this graph mgr!\";\n }\n\n this.rootGraph = graph;\n // root graph must have a root node associated with it for convenience\n if (graph.parent == null) {\n graph.parent = this.layout.newNode(\"Root node\");\n }\n};\n\nLGraphManager.prototype.getLayout = function () {\n return this.layout;\n};\n\nLGraphManager.prototype.isOneAncestorOfOther = function (firstNode, secondNode) {\n if (!(firstNode != null && secondNode != null)) {\n throw \"assert failed\";\n }\n\n if (firstNode == secondNode) {\n return true;\n }\n // Is second node an ancestor of the first one?\n var ownerGraph = firstNode.getOwner();\n var parentNode;\n\n do {\n parentNode = ownerGraph.getParent();\n\n if (parentNode == null) {\n break;\n }\n\n if (parentNode == secondNode) {\n return true;\n }\n\n ownerGraph = parentNode.getOwner();\n if (ownerGraph == null) {\n break;\n }\n } while (true);\n // Is first node an ancestor of the second one?\n ownerGraph = secondNode.getOwner();\n\n do {\n parentNode = ownerGraph.getParent();\n\n if (parentNode == null) {\n break;\n }\n\n if (parentNode == firstNode) {\n return true;\n }\n\n ownerGraph = parentNode.getOwner();\n if (ownerGraph == null) {\n break;\n }\n } while (true);\n\n return false;\n};\n\nLGraphManager.prototype.calcLowestCommonAncestors = function () {\n var edge;\n var sourceNode;\n var targetNode;\n var sourceAncestorGraph;\n var targetAncestorGraph;\n\n var edges = this.getAllEdges();\n var s = edges.length;\n for (var i = 0; i < s; i++) {\n edge = edges[i];\n\n sourceNode = edge.source;\n targetNode = edge.target;\n edge.lca = null;\n edge.sourceInLca = sourceNode;\n edge.targetInLca = targetNode;\n\n if (sourceNode == targetNode) {\n edge.lca = sourceNode.getOwner();\n continue;\n }\n\n sourceAncestorGraph = sourceNode.getOwner();\n\n while (edge.lca == null) {\n edge.targetInLca = targetNode;\n targetAncestorGraph = targetNode.getOwner();\n\n while (edge.lca == null) {\n if (targetAncestorGraph == sourceAncestorGraph) {\n edge.lca = targetAncestorGraph;\n break;\n }\n\n if (targetAncestorGraph == this.rootGraph) {\n break;\n }\n\n if (edge.lca != null) {\n throw \"assert failed\";\n }\n edge.targetInLca = targetAncestorGraph.getParent();\n targetAncestorGraph = edge.targetInLca.getOwner();\n }\n\n if (sourceAncestorGraph == this.rootGraph) {\n break;\n }\n\n if (edge.lca == null) {\n edge.sourceInLca = sourceAncestorGraph.getParent();\n sourceAncestorGraph = edge.sourceInLca.getOwner();\n }\n }\n\n if (edge.lca == null) {\n throw \"assert failed\";\n }\n }\n};\n\nLGraphManager.prototype.calcLowestCommonAncestor = function (firstNode, secondNode) {\n if (firstNode == secondNode) {\n return firstNode.getOwner();\n }\n var firstOwnerGraph = firstNode.getOwner();\n\n do {\n if (firstOwnerGraph == null) {\n break;\n }\n var secondOwnerGraph = secondNode.getOwner();\n\n do {\n if (secondOwnerGraph == null) {\n break;\n }\n\n if (secondOwnerGraph == firstOwnerGraph) {\n return secondOwnerGraph;\n }\n secondOwnerGraph = secondOwnerGraph.getParent().getOwner();\n } while (true);\n\n firstOwnerGraph = firstOwnerGraph.getParent().getOwner();\n } while (true);\n\n return firstOwnerGraph;\n};\n\nLGraphManager.prototype.calcInclusionTreeDepths = function (graph, depth) {\n if (graph == null && depth == null) {\n graph = this.rootGraph;\n depth = 1;\n }\n var node;\n\n var nodes = graph.getNodes();\n var s = nodes.length;\n for (var i = 0; i < s; i++) {\n node = nodes[i];\n node.inclusionTreeDepth = depth;\n\n if (node.child != null) {\n this.calcInclusionTreeDepths(node.child, depth + 1);\n }\n }\n};\n\nLGraphManager.prototype.includesInvalidEdge = function () {\n var edge;\n\n var s = this.edges.length;\n for (var i = 0; i < s; i++) {\n edge = this.edges[i];\n\n if (this.isOneAncestorOfOther(edge.source, edge.target)) {\n return true;\n }\n }\n return false;\n};\n\nmodule.exports = LGraphManager;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LayoutConstants = __webpack_require__(0);\n\nfunction FDLayoutConstants() {}\n\n//FDLayoutConstants inherits static props in LayoutConstants\nfor (var prop in LayoutConstants) {\n FDLayoutConstants[prop] = LayoutConstants[prop];\n}\n\nFDLayoutConstants.MAX_ITERATIONS = 2500;\n\nFDLayoutConstants.DEFAULT_EDGE_LENGTH = 50;\nFDLayoutConstants.DEFAULT_SPRING_STRENGTH = 0.45;\nFDLayoutConstants.DEFAULT_REPULSION_STRENGTH = 4500.0;\nFDLayoutConstants.DEFAULT_GRAVITY_STRENGTH = 0.4;\nFDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH = 1.0;\nFDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR = 3.8;\nFDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = 1.5;\nFDLayoutConstants.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION = true;\nFDLayoutConstants.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION = true;\nFDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL = 0.3;\nFDLayoutConstants.COOLING_ADAPTATION_FACTOR = 0.33;\nFDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT = 1000;\nFDLayoutConstants.ADAPTATION_UPPER_NODE_LIMIT = 5000;\nFDLayoutConstants.MAX_NODE_DISPLACEMENT_INCREMENTAL = 100.0;\nFDLayoutConstants.MAX_NODE_DISPLACEMENT = FDLayoutConstants.MAX_NODE_DISPLACEMENT_INCREMENTAL * 3;\nFDLayoutConstants.MIN_REPULSION_DIST = FDLayoutConstants.DEFAULT_EDGE_LENGTH / 10.0;\nFDLayoutConstants.CONVERGENCE_CHECK_PERIOD = 100;\nFDLayoutConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = 0.1;\nFDLayoutConstants.MIN_EDGE_LENGTH = 1;\nFDLayoutConstants.GRID_CALCULATION_CHECK_PERIOD = 10;\n\nmodule.exports = FDLayoutConstants;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * This class maintains a list of static geometry related utility methods.\n *\n *\n * Copyright: i-Vis Research Group, Bilkent University, 2007 - present\n */\n\nvar Point = __webpack_require__(12);\n\nfunction IGeometry() {}\n\n/**\n * This method calculates *half* the amount in x and y directions of the two\n * input rectangles needed to separate them keeping their respective\n * positioning, and returns the result in the input array. An input\n * separation buffer added to the amount in both directions. We assume that\n * the two rectangles do intersect.\n */\nIGeometry.calcSeparationAmount = function (rectA, rectB, overlapAmount, separationBuffer) {\n if (!rectA.intersects(rectB)) {\n throw \"assert failed\";\n }\n\n var directions = new Array(2);\n\n this.decideDirectionsForOverlappingNodes(rectA, rectB, directions);\n\n overlapAmount[0] = Math.min(rectA.getRight(), rectB.getRight()) - Math.max(rectA.x, rectB.x);\n overlapAmount[1] = Math.min(rectA.getBottom(), rectB.getBottom()) - Math.max(rectA.y, rectB.y);\n\n // update the overlapping amounts for the following cases:\n if (rectA.getX() <= rectB.getX() && rectA.getRight() >= rectB.getRight()) {\n /* Case x.1:\n *\n * rectA\n * \t| |\n * \t| _________ |\n * \t| | | |\n * \t|________|_______|______|\n * \t\t\t | |\n * | |\n * rectB\n */\n overlapAmount[0] += Math.min(rectB.getX() - rectA.getX(), rectA.getRight() - rectB.getRight());\n } else if (rectB.getX() <= rectA.getX() && rectB.getRight() >= rectA.getRight()) {\n /* Case x.2:\n *\n * rectB\n * \t| |\n * \t| _________ |\n * \t| | | |\n * \t|________|_______|______|\n * \t\t\t | |\n * | |\n * rectA\n */\n overlapAmount[0] += Math.min(rectA.getX() - rectB.getX(), rectB.getRight() - rectA.getRight());\n }\n if (rectA.getY() <= rectB.getY() && rectA.getBottom() >= rectB.getBottom()) {\n /* Case y.1:\n * ________ rectA\n * |\n * |\n * ______|____ rectB\n * | |\n * | |\n * ______|____|\n * |\n * |\n * |________\n *\n */\n overlapAmount[1] += Math.min(rectB.getY() - rectA.getY(), rectA.getBottom() - rectB.getBottom());\n } else if (rectB.getY() <= rectA.getY() && rectB.getBottom() >= rectA.getBottom()) {\n /* Case y.2:\n * ________ rectB\n * |\n * |\n * ______|____ rectA\n * | |\n * | |\n * ______|____|\n * |\n * |\n * |________\n *\n */\n overlapAmount[1] += Math.min(rectA.getY() - rectB.getY(), rectB.getBottom() - rectA.getBottom());\n }\n\n // find slope of the line passes two centers\n var slope = Math.abs((rectB.getCenterY() - rectA.getCenterY()) / (rectB.getCenterX() - rectA.getCenterX()));\n // if centers are overlapped\n if (rectB.getCenterY() === rectA.getCenterY() && rectB.getCenterX() === rectA.getCenterX()) {\n // assume the slope is 1 (45 degree)\n slope = 1.0;\n }\n\n var moveByY = slope * overlapAmount[0];\n var moveByX = overlapAmount[1] / slope;\n if (overlapAmount[0] < moveByX) {\n moveByX = overlapAmount[0];\n } else {\n moveByY = overlapAmount[1];\n }\n // return half the amount so that if each rectangle is moved by these\n // amounts in opposite directions, overlap will be resolved\n overlapAmount[0] = -1 * directions[0] * (moveByX / 2 + separationBuffer);\n overlapAmount[1] = -1 * directions[1] * (moveByY / 2 + separationBuffer);\n};\n\n/**\n * This method decides the separation direction of overlapping nodes\n *\n * if directions[0] = -1, then rectA goes left\n * if directions[0] = 1, then rectA goes right\n * if directions[1] = -1, then rectA goes up\n * if directions[1] = 1, then rectA goes down\n */\nIGeometry.decideDirectionsForOverlappingNodes = function (rectA, rectB, directions) {\n if (rectA.getCenterX() < rectB.getCenterX()) {\n directions[0] = -1;\n } else {\n directions[0] = 1;\n }\n\n if (rectA.getCenterY() < rectB.getCenterY()) {\n directions[1] = -1;\n } else {\n directions[1] = 1;\n }\n};\n\n/**\n * This method calculates the intersection (clipping) points of the two\n * input rectangles with line segment defined by the centers of these two\n * rectangles. The clipping points are saved in the input double array and\n * whether or not the two rectangles overlap is returned.\n */\nIGeometry.getIntersection2 = function (rectA, rectB, result) {\n //result[0-1] will contain clipPoint of rectA, result[2-3] will contain clipPoint of rectB\n var p1x = rectA.getCenterX();\n var p1y = rectA.getCenterY();\n var p2x = rectB.getCenterX();\n var p2y = rectB.getCenterY();\n\n //if two rectangles intersect, then clipping points are centers\n if (rectA.intersects(rectB)) {\n result[0] = p1x;\n result[1] = p1y;\n result[2] = p2x;\n result[3] = p2y;\n return true;\n }\n //variables for rectA\n var topLeftAx = rectA.getX();\n var topLeftAy = rectA.getY();\n var topRightAx = rectA.getRight();\n var bottomLeftAx = rectA.getX();\n var bottomLeftAy = rectA.getBottom();\n var bottomRightAx = rectA.getRight();\n var halfWidthA = rectA.getWidthHalf();\n var halfHeightA = rectA.getHeightHalf();\n //variables for rectB\n var topLeftBx = rectB.getX();\n var topLeftBy = rectB.getY();\n var topRightBx = rectB.getRight();\n var bottomLeftBx = rectB.getX();\n var bottomLeftBy = rectB.getBottom();\n var bottomRightBx = rectB.getRight();\n var halfWidthB = rectB.getWidthHalf();\n var halfHeightB = rectB.getHeightHalf();\n\n //flag whether clipping points are found\n var clipPointAFound = false;\n var clipPointBFound = false;\n\n // line is vertical\n if (p1x === p2x) {\n if (p1y > p2y) {\n result[0] = p1x;\n result[1] = topLeftAy;\n result[2] = p2x;\n result[3] = bottomLeftBy;\n return false;\n } else if (p1y < p2y) {\n result[0] = p1x;\n result[1] = bottomLeftAy;\n result[2] = p2x;\n result[3] = topLeftBy;\n return false;\n } else {\n //not line, return null;\n }\n }\n // line is horizontal\n else if (p1y === p2y) {\n if (p1x > p2x) {\n result[0] = topLeftAx;\n result[1] = p1y;\n result[2] = topRightBx;\n result[3] = p2y;\n return false;\n } else if (p1x < p2x) {\n result[0] = topRightAx;\n result[1] = p1y;\n result[2] = topLeftBx;\n result[3] = p2y;\n return false;\n } else {\n //not valid line, return null;\n }\n } else {\n //slopes of rectA's and rectB's diagonals\n var slopeA = rectA.height / rectA.width;\n var slopeB = rectB.height / rectB.width;\n\n //slope of line between center of rectA and center of rectB\n var slopePrime = (p2y - p1y) / (p2x - p1x);\n var cardinalDirectionA = void 0;\n var cardinalDirectionB = void 0;\n var tempPointAx = void 0;\n var tempPointAy = void 0;\n var tempPointBx = void 0;\n var tempPointBy = void 0;\n\n //determine whether clipping point is the corner of nodeA\n if (-slopeA === slopePrime) {\n if (p1x > p2x) {\n result[0] = bottomLeftAx;\n result[1] = bottomLeftAy;\n clipPointAFound = true;\n } else {\n result[0] = topRightAx;\n result[1] = topLeftAy;\n clipPointAFound = true;\n }\n } else if (slopeA === slopePrime) {\n if (p1x > p2x) {\n result[0] = topLeftAx;\n result[1] = topLeftAy;\n clipPointAFound = true;\n } else {\n result[0] = bottomRightAx;\n result[1] = bottomLeftAy;\n clipPointAFound = true;\n }\n }\n\n //determine whether clipping point is the corner of nodeB\n if (-slopeB === slopePrime) {\n if (p2x > p1x) {\n result[2] = bottomLeftBx;\n result[3] = bottomLeftBy;\n clipPointBFound = true;\n } else {\n result[2] = topRightBx;\n result[3] = topLeftBy;\n clipPointBFound = true;\n }\n } else if (slopeB === slopePrime) {\n if (p2x > p1x) {\n result[2] = topLeftBx;\n result[3] = topLeftBy;\n clipPointBFound = true;\n } else {\n result[2] = bottomRightBx;\n result[3] = bottomLeftBy;\n clipPointBFound = true;\n }\n }\n\n //if both clipping points are corners\n if (clipPointAFound && clipPointBFound) {\n return false;\n }\n\n //determine Cardinal Direction of rectangles\n if (p1x > p2x) {\n if (p1y > p2y) {\n cardinalDirectionA = this.getCardinalDirection(slopeA, slopePrime, 4);\n cardinalDirectionB = this.getCardinalDirection(slopeB, slopePrime, 2);\n } else {\n cardinalDirectionA = this.getCardinalDirection(-slopeA, slopePrime, 3);\n cardinalDirectionB = this.getCardinalDirection(-slopeB, slopePrime, 1);\n }\n } else {\n if (p1y > p2y) {\n cardinalDirectionA = this.getCardinalDirection(-slopeA, slopePrime, 1);\n cardinalDirectionB = this.getCardinalDirection(-slopeB, slopePrime, 3);\n } else {\n cardinalDirectionA = this.getCardinalDirection(slopeA, slopePrime, 2);\n cardinalDirectionB = this.getCardinalDirection(slopeB, slopePrime, 4);\n }\n }\n //calculate clipping Point if it is not found before\n if (!clipPointAFound) {\n switch (cardinalDirectionA) {\n case 1:\n tempPointAy = topLeftAy;\n tempPointAx = p1x + -halfHeightA / slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n case 2:\n tempPointAx = bottomRightAx;\n tempPointAy = p1y + halfWidthA * slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n case 3:\n tempPointAy = bottomLeftAy;\n tempPointAx = p1x + halfHeightA / slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n case 4:\n tempPointAx = bottomLeftAx;\n tempPointAy = p1y + -halfWidthA * slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n }\n }\n if (!clipPointBFound) {\n switch (cardinalDirectionB) {\n case 1:\n tempPointBy = topLeftBy;\n tempPointBx = p2x + -halfHeightB / slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n case 2:\n tempPointBx = bottomRightBx;\n tempPointBy = p2y + halfWidthB * slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n case 3:\n tempPointBy = bottomLeftBy;\n tempPointBx = p2x + halfHeightB / slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n case 4:\n tempPointBx = bottomLeftBx;\n tempPointBy = p2y + -halfWidthB * slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n }\n }\n }\n return false;\n};\n\n/**\n * This method returns in which cardinal direction does input point stays\n * 1: North\n * 2: East\n * 3: South\n * 4: West\n */\nIGeometry.getCardinalDirection = function (slope, slopePrime, line) {\n if (slope > slopePrime) {\n return line;\n } else {\n return 1 + line % 4;\n }\n};\n\n/**\n * This method calculates the intersection of the two lines defined by\n * point pairs (s1,s2) and (f1,f2).\n */\nIGeometry.getIntersection = function (s1, s2, f1, f2) {\n if (f2 == null) {\n return this.getIntersection2(s1, s2, f1);\n }\n\n var x1 = s1.x;\n var y1 = s1.y;\n var x2 = s2.x;\n var y2 = s2.y;\n var x3 = f1.x;\n var y3 = f1.y;\n var x4 = f2.x;\n var y4 = f2.y;\n var x = void 0,\n y = void 0; // intersection point\n var a1 = void 0,\n a2 = void 0,\n b1 = void 0,\n b2 = void 0,\n c1 = void 0,\n c2 = void 0; // coefficients of line eqns.\n var denom = void 0;\n\n a1 = y2 - y1;\n b1 = x1 - x2;\n c1 = x2 * y1 - x1 * y2; // { a1*x + b1*y + c1 = 0 is line 1 }\n\n a2 = y4 - y3;\n b2 = x3 - x4;\n c2 = x4 * y3 - x3 * y4; // { a2*x + b2*y + c2 = 0 is line 2 }\n\n denom = a1 * b2 - a2 * b1;\n\n if (denom === 0) {\n return null;\n }\n\n x = (b1 * c2 - b2 * c1) / denom;\n y = (a2 * c1 - a1 * c2) / denom;\n\n return new Point(x, y);\n};\n\n/**\n * This method finds and returns the angle of the vector from the + x-axis\n * in clockwise direction (compatible w/ Java coordinate system!).\n */\nIGeometry.angleOfVector = function (Cx, Cy, Nx, Ny) {\n var C_angle = void 0;\n\n if (Cx !== Nx) {\n C_angle = Math.atan((Ny - Cy) / (Nx - Cx));\n\n if (Nx < Cx) {\n C_angle += Math.PI;\n } else if (Ny < Cy) {\n C_angle += this.TWO_PI;\n }\n } else if (Ny < Cy) {\n C_angle = this.ONE_AND_HALF_PI; // 270 degrees\n } else {\n C_angle = this.HALF_PI; // 90 degrees\n }\n\n return C_angle;\n};\n\n/**\n * This method checks whether the given two line segments (one with point\n * p1 and p2, the other with point p3 and p4) intersect at a point other\n * than these points.\n */\nIGeometry.doIntersect = function (p1, p2, p3, p4) {\n var a = p1.x;\n var b = p1.y;\n var c = p2.x;\n var d = p2.y;\n var p = p3.x;\n var q = p3.y;\n var r = p4.x;\n var s = p4.y;\n var det = (c - a) * (s - q) - (r - p) * (d - b);\n\n if (det === 0) {\n return false;\n } else {\n var lambda = ((s - q) * (r - a) + (p - r) * (s - b)) / det;\n var gamma = ((b - d) * (r - a) + (c - a) * (s - b)) / det;\n return 0 < lambda && lambda < 1 && 0 < gamma && gamma < 1;\n }\n};\n\n// -----------------------------------------------------------------------------\n// Section: Class Constants\n// -----------------------------------------------------------------------------\n/**\n * Some useful pre-calculated constants\n */\nIGeometry.HALF_PI = 0.5 * Math.PI;\nIGeometry.ONE_AND_HALF_PI = 1.5 * Math.PI;\nIGeometry.TWO_PI = 2.0 * Math.PI;\nIGeometry.THREE_PI = 3.0 * Math.PI;\n\nmodule.exports = IGeometry;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction IMath() {}\n\n/**\n * This method returns the sign of the input value.\n */\nIMath.sign = function (value) {\n if (value > 0) {\n return 1;\n } else if (value < 0) {\n return -1;\n } else {\n return 0;\n }\n};\n\nIMath.floor = function (value) {\n return value < 0 ? Math.ceil(value) : Math.floor(value);\n};\n\nIMath.ceil = function (value) {\n return value < 0 ? Math.floor(value) : Math.ceil(value);\n};\n\nmodule.exports = IMath;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction Integer() {}\n\nInteger.MAX_VALUE = 2147483647;\nInteger.MIN_VALUE = -2147483648;\n\nmodule.exports = Integer;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar nodeFrom = function nodeFrom(value) {\n return { value: value, next: null, prev: null };\n};\n\nvar add = function add(prev, node, next, list) {\n if (prev !== null) {\n prev.next = node;\n } else {\n list.head = node;\n }\n\n if (next !== null) {\n next.prev = node;\n } else {\n list.tail = node;\n }\n\n node.prev = prev;\n node.next = next;\n\n list.length++;\n\n return node;\n};\n\nvar _remove = function _remove(node, list) {\n var prev = node.prev,\n next = node.next;\n\n\n if (prev !== null) {\n prev.next = next;\n } else {\n list.head = next;\n }\n\n if (next !== null) {\n next.prev = prev;\n } else {\n list.tail = prev;\n }\n\n node.prev = node.next = null;\n\n list.length--;\n\n return node;\n};\n\nvar LinkedList = function () {\n function LinkedList(vals) {\n var _this = this;\n\n _classCallCheck(this, LinkedList);\n\n this.length = 0;\n this.head = null;\n this.tail = null;\n\n if (vals != null) {\n vals.forEach(function (v) {\n return _this.push(v);\n });\n }\n }\n\n _createClass(LinkedList, [{\n key: \"size\",\n value: function size() {\n return this.length;\n }\n }, {\n key: \"insertBefore\",\n value: function insertBefore(val, otherNode) {\n return add(otherNode.prev, nodeFrom(val), otherNode, this);\n }\n }, {\n key: \"insertAfter\",\n value: function insertAfter(val, otherNode) {\n return add(otherNode, nodeFrom(val), otherNode.next, this);\n }\n }, {\n key: \"insertNodeBefore\",\n value: function insertNodeBefore(newNode, otherNode) {\n return add(otherNode.prev, newNode, otherNode, this);\n }\n }, {\n key: \"insertNodeAfter\",\n value: function insertNodeAfter(newNode, otherNode) {\n return add(otherNode, newNode, otherNode.next, this);\n }\n }, {\n key: \"push\",\n value: function push(val) {\n return add(this.tail, nodeFrom(val), null, this);\n }\n }, {\n key: \"unshift\",\n value: function unshift(val) {\n return add(null, nodeFrom(val), this.head, this);\n }\n }, {\n key: \"remove\",\n value: function remove(node) {\n return _remove(node, this);\n }\n }, {\n key: \"pop\",\n value: function pop() {\n return _remove(this.tail, this).value;\n }\n }, {\n key: \"popNode\",\n value: function popNode() {\n return _remove(this.tail, this);\n }\n }, {\n key: \"shift\",\n value: function shift() {\n return _remove(this.head, this).value;\n }\n }, {\n key: \"shiftNode\",\n value: function shiftNode() {\n return _remove(this.head, this);\n }\n }, {\n key: \"get_object_at\",\n value: function get_object_at(index) {\n if (index <= this.length()) {\n var i = 1;\n var current = this.head;\n while (i < index) {\n current = current.next;\n i++;\n }\n return current.value;\n }\n }\n }, {\n key: \"set_object_at\",\n value: function set_object_at(index, value) {\n if (index <= this.length()) {\n var i = 1;\n var current = this.head;\n while (i < index) {\n current = current.next;\n i++;\n }\n current.value = value;\n }\n }\n }]);\n\n return LinkedList;\n}();\n\nmodule.exports = LinkedList;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*\r\n *This class is the javascript implementation of the Point.java class in jdk\r\n */\nfunction Point(x, y, p) {\n this.x = null;\n this.y = null;\n if (x == null && y == null && p == null) {\n this.x = 0;\n this.y = 0;\n } else if (typeof x == 'number' && typeof y == 'number' && p == null) {\n this.x = x;\n this.y = y;\n } else if (x.constructor.name == 'Point' && y == null && p == null) {\n p = x;\n this.x = p.x;\n this.y = p.y;\n }\n}\n\nPoint.prototype.getX = function () {\n return this.x;\n};\n\nPoint.prototype.getY = function () {\n return this.y;\n};\n\nPoint.prototype.getLocation = function () {\n return new Point(this.x, this.y);\n};\n\nPoint.prototype.setLocation = function (x, y, p) {\n if (x.constructor.name == 'Point' && y == null && p == null) {\n p = x;\n this.setLocation(p.x, p.y);\n } else if (typeof x == 'number' && typeof y == 'number' && p == null) {\n //if both parameters are integer just move (x,y) location\n if (parseInt(x) == x && parseInt(y) == y) {\n this.move(x, y);\n } else {\n this.x = Math.floor(x + 0.5);\n this.y = Math.floor(y + 0.5);\n }\n }\n};\n\nPoint.prototype.move = function (x, y) {\n this.x = x;\n this.y = y;\n};\n\nPoint.prototype.translate = function (dx, dy) {\n this.x += dx;\n this.y += dy;\n};\n\nPoint.prototype.equals = function (obj) {\n if (obj.constructor.name == \"Point\") {\n var pt = obj;\n return this.x == pt.x && this.y == pt.y;\n }\n return this == obj;\n};\n\nPoint.prototype.toString = function () {\n return new Point().constructor.name + \"[x=\" + this.x + \",y=\" + this.y + \"]\";\n};\n\nmodule.exports = Point;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction RectangleD(x, y, width, height) {\n this.x = 0;\n this.y = 0;\n this.width = 0;\n this.height = 0;\n\n if (x != null && y != null && width != null && height != null) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n }\n}\n\nRectangleD.prototype.getX = function () {\n return this.x;\n};\n\nRectangleD.prototype.setX = function (x) {\n this.x = x;\n};\n\nRectangleD.prototype.getY = function () {\n return this.y;\n};\n\nRectangleD.prototype.setY = function (y) {\n this.y = y;\n};\n\nRectangleD.prototype.getWidth = function () {\n return this.width;\n};\n\nRectangleD.prototype.setWidth = function (width) {\n this.width = width;\n};\n\nRectangleD.prototype.getHeight = function () {\n return this.height;\n};\n\nRectangleD.prototype.setHeight = function (height) {\n this.height = height;\n};\n\nRectangleD.prototype.getRight = function () {\n return this.x + this.width;\n};\n\nRectangleD.prototype.getBottom = function () {\n return this.y + this.height;\n};\n\nRectangleD.prototype.intersects = function (a) {\n if (this.getRight() < a.x) {\n return false;\n }\n\n if (this.getBottom() < a.y) {\n return false;\n }\n\n if (a.getRight() < this.x) {\n return false;\n }\n\n if (a.getBottom() < this.y) {\n return false;\n }\n\n return true;\n};\n\nRectangleD.prototype.getCenterX = function () {\n return this.x + this.width / 2;\n};\n\nRectangleD.prototype.getMinX = function () {\n return this.getX();\n};\n\nRectangleD.prototype.getMaxX = function () {\n return this.getX() + this.width;\n};\n\nRectangleD.prototype.getCenterY = function () {\n return this.y + this.height / 2;\n};\n\nRectangleD.prototype.getMinY = function () {\n return this.getY();\n};\n\nRectangleD.prototype.getMaxY = function () {\n return this.getY() + this.height;\n};\n\nRectangleD.prototype.getWidthHalf = function () {\n return this.width / 2;\n};\n\nRectangleD.prototype.getHeightHalf = function () {\n return this.height / 2;\n};\n\nmodule.exports = RectangleD;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction UniqueIDGeneretor() {}\n\nUniqueIDGeneretor.lastID = 0;\n\nUniqueIDGeneretor.createID = function (obj) {\n if (UniqueIDGeneretor.isPrimitive(obj)) {\n return obj;\n }\n if (obj.uniqueID != null) {\n return obj.uniqueID;\n }\n obj.uniqueID = UniqueIDGeneretor.getString();\n UniqueIDGeneretor.lastID++;\n return obj.uniqueID;\n};\n\nUniqueIDGeneretor.getString = function (id) {\n if (id == null) id = UniqueIDGeneretor.lastID;\n return \"Object#\" + id + \"\";\n};\n\nUniqueIDGeneretor.isPrimitive = function (arg) {\n var type = typeof arg === \"undefined\" ? \"undefined\" : _typeof(arg);\n return arg == null || type != \"object\" && type != \"function\";\n};\n\nmodule.exports = UniqueIDGeneretor;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar LayoutConstants = __webpack_require__(0);\nvar LGraphManager = __webpack_require__(6);\nvar LNode = __webpack_require__(3);\nvar LEdge = __webpack_require__(1);\nvar LGraph = __webpack_require__(5);\nvar PointD = __webpack_require__(4);\nvar Transform = __webpack_require__(17);\nvar Emitter = __webpack_require__(27);\n\nfunction Layout(isRemoteUse) {\n Emitter.call(this);\n\n //Layout Quality: 0:draft, 1:default, 2:proof\n this.layoutQuality = LayoutConstants.QUALITY;\n //Whether layout should create bendpoints as needed or not\n this.createBendsAsNeeded = LayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED;\n //Whether layout should be incremental or not\n this.incremental = LayoutConstants.DEFAULT_INCREMENTAL;\n //Whether we animate from before to after layout node positions\n this.animationOnLayout = LayoutConstants.DEFAULT_ANIMATION_ON_LAYOUT;\n //Whether we animate the layout process or not\n this.animationDuringLayout = LayoutConstants.DEFAULT_ANIMATION_DURING_LAYOUT;\n //Number iterations that should be done between two successive animations\n this.animationPeriod = LayoutConstants.DEFAULT_ANIMATION_PERIOD;\n /**\r\n * Whether or not leaf nodes (non-compound nodes) are of uniform sizes. When\r\n * they are, both spring and repulsion forces between two leaf nodes can be\r\n * calculated without the expensive clipping point calculations, resulting\r\n * in major speed-up.\r\n */\n this.uniformLeafNodeSizes = LayoutConstants.DEFAULT_UNIFORM_LEAF_NODE_SIZES;\n /**\r\n * This is used for creation of bendpoints by using dummy nodes and edges.\r\n * Maps an LEdge to its dummy bendpoint path.\r\n */\n this.edgeToDummyNodes = new Map();\n this.graphManager = new LGraphManager(this);\n this.isLayoutFinished = false;\n this.isSubLayout = false;\n this.isRemoteUse = false;\n\n if (isRemoteUse != null) {\n this.isRemoteUse = isRemoteUse;\n }\n}\n\nLayout.RANDOM_SEED = 1;\n\nLayout.prototype = Object.create(Emitter.prototype);\n\nLayout.prototype.getGraphManager = function () {\n return this.graphManager;\n};\n\nLayout.prototype.getAllNodes = function () {\n return this.graphManager.getAllNodes();\n};\n\nLayout.prototype.getAllEdges = function () {\n return this.graphManager.getAllEdges();\n};\n\nLayout.prototype.getAllNodesToApplyGravitation = function () {\n return this.graphManager.getAllNodesToApplyGravitation();\n};\n\nLayout.prototype.newGraphManager = function () {\n var gm = new LGraphManager(this);\n this.graphManager = gm;\n return gm;\n};\n\nLayout.prototype.newGraph = function (vGraph) {\n return new LGraph(null, this.graphManager, vGraph);\n};\n\nLayout.prototype.newNode = function (vNode) {\n return new LNode(this.graphManager, vNode);\n};\n\nLayout.prototype.newEdge = function (vEdge) {\n return new LEdge(null, null, vEdge);\n};\n\nLayout.prototype.checkLayoutSuccess = function () {\n return this.graphManager.getRoot() == null || this.graphManager.getRoot().getNodes().length == 0 || this.graphManager.includesInvalidEdge();\n};\n\nLayout.prototype.runLayout = function () {\n this.isLayoutFinished = false;\n\n if (this.tilingPreLayout) {\n this.tilingPreLayout();\n }\n\n this.initParameters();\n var isLayoutSuccessfull;\n\n if (this.checkLayoutSuccess()) {\n isLayoutSuccessfull = false;\n } else {\n isLayoutSuccessfull = this.layout();\n }\n\n if (LayoutConstants.ANIMATE === 'during') {\n // If this is a 'during' layout animation. Layout is not finished yet. \n // We need to perform these in index.js when layout is really finished.\n return false;\n }\n\n if (isLayoutSuccessfull) {\n if (!this.isSubLayout) {\n this.doPostLayout();\n }\n }\n\n if (this.tilingPostLayout) {\n this.tilingPostLayout();\n }\n\n this.isLayoutFinished = true;\n\n return isLayoutSuccessfull;\n};\n\n/**\r\n * This method performs the operations required after layout.\r\n */\nLayout.prototype.doPostLayout = function () {\n //assert !isSubLayout : \"Should not be called on sub-layout!\";\n // Propagate geometric changes to v-level objects\n if (!this.incremental) {\n this.transform();\n }\n this.update();\n};\n\n/**\r\n * This method updates the geometry of the target graph according to\r\n * calculated layout.\r\n */\nLayout.prototype.update2 = function () {\n // update bend points\n if (this.createBendsAsNeeded) {\n this.createBendpointsFromDummyNodes();\n\n // reset all edges, since the topology has changed\n this.graphManager.resetAllEdges();\n }\n\n // perform edge, node and root updates if layout is not called\n // remotely\n if (!this.isRemoteUse) {\n // update all edges\n var edge;\n var allEdges = this.graphManager.getAllEdges();\n for (var i = 0; i < allEdges.length; i++) {\n edge = allEdges[i];\n // this.update(edge);\n }\n\n // recursively update nodes\n var node;\n var nodes = this.graphManager.getRoot().getNodes();\n for (var i = 0; i < nodes.length; i++) {\n node = nodes[i];\n // this.update(node);\n }\n\n // update root graph\n this.update(this.graphManager.getRoot());\n }\n};\n\nLayout.prototype.update = function (obj) {\n if (obj == null) {\n this.update2();\n } else if (obj instanceof LNode) {\n var node = obj;\n if (node.getChild() != null) {\n // since node is compound, recursively update child nodes\n var nodes = node.getChild().getNodes();\n for (var i = 0; i < nodes.length; i++) {\n update(nodes[i]);\n }\n }\n\n // if the l-level node is associated with a v-level graph object,\n // then it is assumed that the v-level node implements the\n // interface Updatable.\n if (node.vGraphObject != null) {\n // cast to Updatable without any type check\n var vNode = node.vGraphObject;\n\n // call the update method of the interface\n vNode.update(node);\n }\n } else if (obj instanceof LEdge) {\n var edge = obj;\n // if the l-level edge is associated with a v-level graph object,\n // then it is assumed that the v-level edge implements the\n // interface Updatable.\n\n if (edge.vGraphObject != null) {\n // cast to Updatable without any type check\n var vEdge = edge.vGraphObject;\n\n // call the update method of the interface\n vEdge.update(edge);\n }\n } else if (obj instanceof LGraph) {\n var graph = obj;\n // if the l-level graph is associated with a v-level graph object,\n // then it is assumed that the v-level object implements the\n // interface Updatable.\n\n if (graph.vGraphObject != null) {\n // cast to Updatable without any type check\n var vGraph = graph.vGraphObject;\n\n // call the update method of the interface\n vGraph.update(graph);\n }\n }\n};\n\n/**\r\n * This method is used to set all layout parameters to default values\r\n * determined at compile time.\r\n */\nLayout.prototype.initParameters = function () {\n if (!this.isSubLayout) {\n this.layoutQuality = LayoutConstants.QUALITY;\n this.animationDuringLayout = LayoutConstants.DEFAULT_ANIMATION_DURING_LAYOUT;\n this.animationPeriod = LayoutConstants.DEFAULT_ANIMATION_PERIOD;\n this.animationOnLayout = LayoutConstants.DEFAULT_ANIMATION_ON_LAYOUT;\n this.incremental = LayoutConstants.DEFAULT_INCREMENTAL;\n this.createBendsAsNeeded = LayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED;\n this.uniformLeafNodeSizes = LayoutConstants.DEFAULT_UNIFORM_LEAF_NODE_SIZES;\n }\n\n if (this.animationDuringLayout) {\n this.animationOnLayout = false;\n }\n};\n\nLayout.prototype.transform = function (newLeftTop) {\n if (newLeftTop == undefined) {\n this.transform(new PointD(0, 0));\n } else {\n // create a transformation object (from Eclipse to layout). When an\n // inverse transform is applied, we get upper-left coordinate of the\n // drawing or the root graph at given input coordinate (some margins\n // already included in calculation of left-top).\n\n var trans = new Transform();\n var leftTop = this.graphManager.getRoot().updateLeftTop();\n\n if (leftTop != null) {\n trans.setWorldOrgX(newLeftTop.x);\n trans.setWorldOrgY(newLeftTop.y);\n\n trans.setDeviceOrgX(leftTop.x);\n trans.setDeviceOrgY(leftTop.y);\n\n var nodes = this.getAllNodes();\n var node;\n\n for (var i = 0; i < nodes.length; i++) {\n node = nodes[i];\n node.transform(trans);\n }\n }\n }\n};\n\nLayout.prototype.positionNodesRandomly = function (graph) {\n\n if (graph == undefined) {\n //assert !this.incremental;\n this.positionNodesRandomly(this.getGraphManager().getRoot());\n this.getGraphManager().getRoot().updateBounds(true);\n } else {\n var lNode;\n var childGraph;\n\n var nodes = graph.getNodes();\n for (var i = 0; i < nodes.length; i++) {\n lNode = nodes[i];\n childGraph = lNode.getChild();\n\n if (childGraph == null) {\n lNode.scatter();\n } else if (childGraph.getNodes().length == 0) {\n lNode.scatter();\n } else {\n this.positionNodesRandomly(childGraph);\n lNode.updateBounds();\n }\n }\n }\n};\n\n/**\r\n * This method returns a list of trees where each tree is represented as a\r\n * list of l-nodes. The method returns a list of size 0 when:\r\n * - The graph is not flat or\r\n * - One of the component(s) of the graph is not a tree.\r\n */\nLayout.prototype.getFlatForest = function () {\n var flatForest = [];\n var isForest = true;\n\n // Quick reference for all nodes in the graph manager associated with\n // this layout. The list should not be changed.\n var allNodes = this.graphManager.getRoot().getNodes();\n\n // First be sure that the graph is flat\n var isFlat = true;\n\n for (var i = 0; i < allNodes.length; i++) {\n if (allNodes[i].getChild() != null) {\n isFlat = false;\n }\n }\n\n // Return empty forest if the graph is not flat.\n if (!isFlat) {\n return flatForest;\n }\n\n // Run BFS for each component of the graph.\n\n var visited = new Set();\n var toBeVisited = [];\n var parents = new Map();\n var unProcessedNodes = [];\n\n unProcessedNodes = unProcessedNodes.concat(allNodes);\n\n // Each iteration of this loop finds a component of the graph and\n // decides whether it is a tree or not. If it is a tree, adds it to the\n // forest and continued with the next component.\n\n while (unProcessedNodes.length > 0 && isForest) {\n toBeVisited.push(unProcessedNodes[0]);\n\n // Start the BFS. Each iteration of this loop visits a node in a\n // BFS manner.\n while (toBeVisited.length > 0 && isForest) {\n //pool operation\n var currentNode = toBeVisited[0];\n toBeVisited.splice(0, 1);\n visited.add(currentNode);\n\n // Traverse all neighbors of this node\n var neighborEdges = currentNode.getEdges();\n\n for (var i = 0; i < neighborEdges.length; i++) {\n var currentNeighbor = neighborEdges[i].getOtherEnd(currentNode);\n\n // If BFS is not growing from this neighbor.\n if (parents.get(currentNode) != currentNeighbor) {\n // We haven't previously visited this neighbor.\n if (!visited.has(currentNeighbor)) {\n toBeVisited.push(currentNeighbor);\n parents.set(currentNeighbor, currentNode);\n }\n // Since we have previously visited this neighbor and\n // this neighbor is not parent of currentNode, given\n // graph contains a component that is not tree, hence\n // it is not a forest.\n else {\n isForest = false;\n break;\n }\n }\n }\n }\n\n // The graph contains a component that is not a tree. Empty\n // previously found trees. The method will end.\n if (!isForest) {\n flatForest = [];\n }\n // Save currently visited nodes as a tree in our forest. Reset\n // visited and parents lists. Continue with the next component of\n // the graph, if any.\n else {\n var temp = [].concat(_toConsumableArray(visited));\n flatForest.push(temp);\n //flatForest = flatForest.concat(temp);\n //unProcessedNodes.removeAll(visited);\n for (var i = 0; i < temp.length; i++) {\n var value = temp[i];\n var index = unProcessedNodes.indexOf(value);\n if (index > -1) {\n unProcessedNodes.splice(index, 1);\n }\n }\n visited = new Set();\n parents = new Map();\n }\n }\n\n return flatForest;\n};\n\n/**\r\n * This method creates dummy nodes (an l-level node with minimal dimensions)\r\n * for the given edge (one per bendpoint). The existing l-level structure\r\n * is updated accordingly.\r\n */\nLayout.prototype.createDummyNodesForBendpoints = function (edge) {\n var dummyNodes = [];\n var prev = edge.source;\n\n var graph = this.graphManager.calcLowestCommonAncestor(edge.source, edge.target);\n\n for (var i = 0; i < edge.bendpoints.length; i++) {\n // create new dummy node\n var dummyNode = this.newNode(null);\n dummyNode.setRect(new Point(0, 0), new Dimension(1, 1));\n\n graph.add(dummyNode);\n\n // create new dummy edge between prev and dummy node\n var dummyEdge = this.newEdge(null);\n this.graphManager.add(dummyEdge, prev, dummyNode);\n\n dummyNodes.add(dummyNode);\n prev = dummyNode;\n }\n\n var dummyEdge = this.newEdge(null);\n this.graphManager.add(dummyEdge, prev, edge.target);\n\n this.edgeToDummyNodes.set(edge, dummyNodes);\n\n // remove real edge from graph manager if it is inter-graph\n if (edge.isInterGraph()) {\n this.graphManager.remove(edge);\n }\n // else, remove the edge from the current graph\n else {\n graph.remove(edge);\n }\n\n return dummyNodes;\n};\n\n/**\r\n * This method creates bendpoints for edges from the dummy nodes\r\n * at l-level.\r\n */\nLayout.prototype.createBendpointsFromDummyNodes = function () {\n var edges = [];\n edges = edges.concat(this.graphManager.getAllEdges());\n edges = [].concat(_toConsumableArray(this.edgeToDummyNodes.keys())).concat(edges);\n\n for (var k = 0; k < edges.length; k++) {\n var lEdge = edges[k];\n\n if (lEdge.bendpoints.length > 0) {\n var path = this.edgeToDummyNodes.get(lEdge);\n\n for (var i = 0; i < path.length; i++) {\n var dummyNode = path[i];\n var p = new PointD(dummyNode.getCenterX(), dummyNode.getCenterY());\n\n // update bendpoint's location according to dummy node\n var ebp = lEdge.bendpoints.get(i);\n ebp.x = p.x;\n ebp.y = p.y;\n\n // remove the dummy node, dummy edges incident with this\n // dummy node is also removed (within the remove method)\n dummyNode.getOwner().remove(dummyNode);\n }\n\n // add the real edge to graph\n this.graphManager.add(lEdge, lEdge.source, lEdge.target);\n }\n }\n};\n\nLayout.transform = function (sliderValue, defaultValue, minDiv, maxMul) {\n if (minDiv != undefined && maxMul != undefined) {\n var value = defaultValue;\n\n if (sliderValue <= 50) {\n var minValue = defaultValue / minDiv;\n value -= (defaultValue - minValue) / 50 * (50 - sliderValue);\n } else {\n var maxValue = defaultValue * maxMul;\n value += (maxValue - defaultValue) / 50 * (sliderValue - 50);\n }\n\n return value;\n } else {\n var a, b;\n\n if (sliderValue <= 50) {\n a = 9.0 * defaultValue / 500.0;\n b = defaultValue / 10.0;\n } else {\n a = 9.0 * defaultValue / 50.0;\n b = -8 * defaultValue;\n }\n\n return a * sliderValue + b;\n }\n};\n\n/**\r\n * This method finds and returns the center of the given nodes, assuming\r\n * that the given nodes form a tree in themselves.\r\n */\nLayout.findCenterOfTree = function (nodes) {\n var list = [];\n list = list.concat(nodes);\n\n var removedNodes = [];\n var remainingDegrees = new Map();\n var foundCenter = false;\n var centerNode = null;\n\n if (list.length == 1 || list.length == 2) {\n foundCenter = true;\n centerNode = list[0];\n }\n\n for (var i = 0; i < list.length; i++) {\n var node = list[i];\n var degree = node.getNeighborsList().size;\n remainingDegrees.set(node, node.getNeighborsList().size);\n\n if (degree == 1) {\n removedNodes.push(node);\n }\n }\n\n var tempList = [];\n tempList = tempList.concat(removedNodes);\n\n while (!foundCenter) {\n var tempList2 = [];\n tempList2 = tempList2.concat(tempList);\n tempList = [];\n\n for (var i = 0; i < list.length; i++) {\n var node = list[i];\n\n var index = list.indexOf(node);\n if (index >= 0) {\n list.splice(index, 1);\n }\n\n var neighbours = node.getNeighborsList();\n\n neighbours.forEach(function (neighbour) {\n if (removedNodes.indexOf(neighbour) < 0) {\n var otherDegree = remainingDegrees.get(neighbour);\n var newDegree = otherDegree - 1;\n\n if (newDegree == 1) {\n tempList.push(neighbour);\n }\n\n remainingDegrees.set(neighbour, newDegree);\n }\n });\n }\n\n removedNodes = removedNodes.concat(tempList);\n\n if (list.length == 1 || list.length == 2) {\n foundCenter = true;\n centerNode = list[0];\n }\n }\n\n return centerNode;\n};\n\n/**\r\n * During the coarsening process, this layout may be referenced by two graph managers\r\n * this setter function grants access to change the currently being used graph manager\r\n */\nLayout.prototype.setGraphManager = function (gm) {\n this.graphManager = gm;\n};\n\nmodule.exports = Layout;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction RandomSeed() {}\n// adapted from: https://stackoverflow.com/a/19303725\nRandomSeed.seed = 1;\nRandomSeed.x = 0;\n\nRandomSeed.nextDouble = function () {\n RandomSeed.x = Math.sin(RandomSeed.seed++) * 10000;\n return RandomSeed.x - Math.floor(RandomSeed.x);\n};\n\nmodule.exports = RandomSeed;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar PointD = __webpack_require__(4);\n\nfunction Transform(x, y) {\n this.lworldOrgX = 0.0;\n this.lworldOrgY = 0.0;\n this.ldeviceOrgX = 0.0;\n this.ldeviceOrgY = 0.0;\n this.lworldExtX = 1.0;\n this.lworldExtY = 1.0;\n this.ldeviceExtX = 1.0;\n this.ldeviceExtY = 1.0;\n}\n\nTransform.prototype.getWorldOrgX = function () {\n return this.lworldOrgX;\n};\n\nTransform.prototype.setWorldOrgX = function (wox) {\n this.lworldOrgX = wox;\n};\n\nTransform.prototype.getWorldOrgY = function () {\n return this.lworldOrgY;\n};\n\nTransform.prototype.setWorldOrgY = function (woy) {\n this.lworldOrgY = woy;\n};\n\nTransform.prototype.getWorldExtX = function () {\n return this.lworldExtX;\n};\n\nTransform.prototype.setWorldExtX = function (wex) {\n this.lworldExtX = wex;\n};\n\nTransform.prototype.getWorldExtY = function () {\n return this.lworldExtY;\n};\n\nTransform.prototype.setWorldExtY = function (wey) {\n this.lworldExtY = wey;\n};\n\n/* Device related */\n\nTransform.prototype.getDeviceOrgX = function () {\n return this.ldeviceOrgX;\n};\n\nTransform.prototype.setDeviceOrgX = function (dox) {\n this.ldeviceOrgX = dox;\n};\n\nTransform.prototype.getDeviceOrgY = function () {\n return this.ldeviceOrgY;\n};\n\nTransform.prototype.setDeviceOrgY = function (doy) {\n this.ldeviceOrgY = doy;\n};\n\nTransform.prototype.getDeviceExtX = function () {\n return this.ldeviceExtX;\n};\n\nTransform.prototype.setDeviceExtX = function (dex) {\n this.ldeviceExtX = dex;\n};\n\nTransform.prototype.getDeviceExtY = function () {\n return this.ldeviceExtY;\n};\n\nTransform.prototype.setDeviceExtY = function (dey) {\n this.ldeviceExtY = dey;\n};\n\nTransform.prototype.transformX = function (x) {\n var xDevice = 0.0;\n var worldExtX = this.lworldExtX;\n if (worldExtX != 0.0) {\n xDevice = this.ldeviceOrgX + (x - this.lworldOrgX) * this.ldeviceExtX / worldExtX;\n }\n\n return xDevice;\n};\n\nTransform.prototype.transformY = function (y) {\n var yDevice = 0.0;\n var worldExtY = this.lworldExtY;\n if (worldExtY != 0.0) {\n yDevice = this.ldeviceOrgY + (y - this.lworldOrgY) * this.ldeviceExtY / worldExtY;\n }\n\n return yDevice;\n};\n\nTransform.prototype.inverseTransformX = function (x) {\n var xWorld = 0.0;\n var deviceExtX = this.ldeviceExtX;\n if (deviceExtX != 0.0) {\n xWorld = this.lworldOrgX + (x - this.ldeviceOrgX) * this.lworldExtX / deviceExtX;\n }\n\n return xWorld;\n};\n\nTransform.prototype.inverseTransformY = function (y) {\n var yWorld = 0.0;\n var deviceExtY = this.ldeviceExtY;\n if (deviceExtY != 0.0) {\n yWorld = this.lworldOrgY + (y - this.ldeviceOrgY) * this.lworldExtY / deviceExtY;\n }\n return yWorld;\n};\n\nTransform.prototype.inverseTransformPoint = function (inPoint) {\n var outPoint = new PointD(this.inverseTransformX(inPoint.x), this.inverseTransformY(inPoint.y));\n return outPoint;\n};\n\nmodule.exports = Transform;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar Layout = __webpack_require__(15);\nvar FDLayoutConstants = __webpack_require__(7);\nvar LayoutConstants = __webpack_require__(0);\nvar IGeometry = __webpack_require__(8);\nvar IMath = __webpack_require__(9);\n\nfunction FDLayout() {\n Layout.call(this);\n\n this.useSmartIdealEdgeLengthCalculation = FDLayoutConstants.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION;\n this.idealEdgeLength = FDLayoutConstants.DEFAULT_EDGE_LENGTH;\n this.springConstant = FDLayoutConstants.DEFAULT_SPRING_STRENGTH;\n this.repulsionConstant = FDLayoutConstants.DEFAULT_REPULSION_STRENGTH;\n this.gravityConstant = FDLayoutConstants.DEFAULT_GRAVITY_STRENGTH;\n this.compoundGravityConstant = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH;\n this.gravityRangeFactor = FDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR;\n this.compoundGravityRangeFactor = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR;\n this.displacementThresholdPerNode = 3.0 * FDLayoutConstants.DEFAULT_EDGE_LENGTH / 100;\n this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL;\n this.initialCoolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL;\n this.totalDisplacement = 0.0;\n this.oldTotalDisplacement = 0.0;\n this.maxIterations = FDLayoutConstants.MAX_ITERATIONS;\n}\n\nFDLayout.prototype = Object.create(Layout.prototype);\n\nfor (var prop in Layout) {\n FDLayout[prop] = Layout[prop];\n}\n\nFDLayout.prototype.initParameters = function () {\n Layout.prototype.initParameters.call(this, arguments);\n\n this.totalIterations = 0;\n this.notAnimatedIterations = 0;\n\n this.useFRGridVariant = FDLayoutConstants.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION;\n\n this.grid = [];\n};\n\nFDLayout.prototype.calcIdealEdgeLengths = function () {\n var edge;\n var lcaDepth;\n var source;\n var target;\n var sizeOfSourceInLca;\n var sizeOfTargetInLca;\n\n var allEdges = this.getGraphManager().getAllEdges();\n for (var i = 0; i < allEdges.length; i++) {\n edge = allEdges[i];\n\n edge.idealLength = this.idealEdgeLength;\n\n if (edge.isInterGraph) {\n source = edge.getSource();\n target = edge.getTarget();\n\n sizeOfSourceInLca = edge.getSourceInLca().getEstimatedSize();\n sizeOfTargetInLca = edge.getTargetInLca().getEstimatedSize();\n\n if (this.useSmartIdealEdgeLengthCalculation) {\n edge.idealLength += sizeOfSourceInLca + sizeOfTargetInLca - 2 * LayoutConstants.SIMPLE_NODE_SIZE;\n }\n\n lcaDepth = edge.getLca().getInclusionTreeDepth();\n\n edge.idealLength += FDLayoutConstants.DEFAULT_EDGE_LENGTH * FDLayoutConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR * (source.getInclusionTreeDepth() + target.getInclusionTreeDepth() - 2 * lcaDepth);\n }\n }\n};\n\nFDLayout.prototype.initSpringEmbedder = function () {\n\n var s = this.getAllNodes().length;\n if (this.incremental) {\n if (s > FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) {\n this.coolingFactor = Math.max(this.coolingFactor * FDLayoutConstants.COOLING_ADAPTATION_FACTOR, this.coolingFactor - (s - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) / (FDLayoutConstants.ADAPTATION_UPPER_NODE_LIMIT - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) * this.coolingFactor * (1 - FDLayoutConstants.COOLING_ADAPTATION_FACTOR));\n }\n this.maxNodeDisplacement = FDLayoutConstants.MAX_NODE_DISPLACEMENT_INCREMENTAL;\n } else {\n if (s > FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) {\n this.coolingFactor = Math.max(FDLayoutConstants.COOLING_ADAPTATION_FACTOR, 1.0 - (s - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) / (FDLayoutConstants.ADAPTATION_UPPER_NODE_LIMIT - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) * (1 - FDLayoutConstants.COOLING_ADAPTATION_FACTOR));\n } else {\n this.coolingFactor = 1.0;\n }\n this.initialCoolingFactor = this.coolingFactor;\n this.maxNodeDisplacement = FDLayoutConstants.MAX_NODE_DISPLACEMENT;\n }\n\n this.maxIterations = Math.max(this.getAllNodes().length * 5, this.maxIterations);\n\n this.totalDisplacementThreshold = this.displacementThresholdPerNode * this.getAllNodes().length;\n\n this.repulsionRange = this.calcRepulsionRange();\n};\n\nFDLayout.prototype.calcSpringForces = function () {\n var lEdges = this.getAllEdges();\n var edge;\n\n for (var i = 0; i < lEdges.length; i++) {\n edge = lEdges[i];\n\n this.calcSpringForce(edge, edge.idealLength);\n }\n};\n\nFDLayout.prototype.calcRepulsionForces = function () {\n var gridUpdateAllowed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var forceToNodeSurroundingUpdate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var i, j;\n var nodeA, nodeB;\n var lNodes = this.getAllNodes();\n var processedNodeSet;\n\n if (this.useFRGridVariant) {\n if (this.totalIterations % FDLayoutConstants.GRID_CALCULATION_CHECK_PERIOD == 1 && gridUpdateAllowed) {\n this.updateGrid();\n }\n\n processedNodeSet = new Set();\n\n // calculate repulsion forces between each nodes and its surrounding\n for (i = 0; i < lNodes.length; i++) {\n nodeA = lNodes[i];\n this.calculateRepulsionForceOfANode(nodeA, processedNodeSet, gridUpdateAllowed, forceToNodeSurroundingUpdate);\n processedNodeSet.add(nodeA);\n }\n } else {\n for (i = 0; i < lNodes.length; i++) {\n nodeA = lNodes[i];\n\n for (j = i + 1; j < lNodes.length; j++) {\n nodeB = lNodes[j];\n\n // If both nodes are not members of the same graph, skip.\n if (nodeA.getOwner() != nodeB.getOwner()) {\n continue;\n }\n\n this.calcRepulsionForce(nodeA, nodeB);\n }\n }\n }\n};\n\nFDLayout.prototype.calcGravitationalForces = function () {\n var node;\n var lNodes = this.getAllNodesToApplyGravitation();\n\n for (var i = 0; i < lNodes.length; i++) {\n node = lNodes[i];\n this.calcGravitationalForce(node);\n }\n};\n\nFDLayout.prototype.moveNodes = function () {\n var lNodes = this.getAllNodes();\n var node;\n\n for (var i = 0; i < lNodes.length; i++) {\n node = lNodes[i];\n node.move();\n }\n};\n\nFDLayout.prototype.calcSpringForce = function (edge, idealLength) {\n var sourceNode = edge.getSource();\n var targetNode = edge.getTarget();\n\n var length;\n var springForce;\n var springForceX;\n var springForceY;\n\n // Update edge length\n if (this.uniformLeafNodeSizes && sourceNode.getChild() == null && targetNode.getChild() == null) {\n edge.updateLengthSimple();\n } else {\n edge.updateLength();\n\n if (edge.isOverlapingSourceAndTarget) {\n return;\n }\n }\n\n length = edge.getLength();\n\n if (length == 0) return;\n\n // Calculate spring forces\n springForce = this.springConstant * (length - idealLength);\n\n // Project force onto x and y axes\n springForceX = springForce * (edge.lengthX / length);\n springForceY = springForce * (edge.lengthY / length);\n\n // Apply forces on the end nodes\n sourceNode.springForceX += springForceX;\n sourceNode.springForceY += springForceY;\n targetNode.springForceX -= springForceX;\n targetNode.springForceY -= springForceY;\n};\n\nFDLayout.prototype.calcRepulsionForce = function (nodeA, nodeB) {\n var rectA = nodeA.getRect();\n var rectB = nodeB.getRect();\n var overlapAmount = new Array(2);\n var clipPoints = new Array(4);\n var distanceX;\n var distanceY;\n var distanceSquared;\n var distance;\n var repulsionForce;\n var repulsionForceX;\n var repulsionForceY;\n\n if (rectA.intersects(rectB)) // two nodes overlap\n {\n // calculate separation amount in x and y directions\n IGeometry.calcSeparationAmount(rectA, rectB, overlapAmount, FDLayoutConstants.DEFAULT_EDGE_LENGTH / 2.0);\n\n repulsionForceX = 2 * overlapAmount[0];\n repulsionForceY = 2 * overlapAmount[1];\n\n var childrenConstant = nodeA.noOfChildren * nodeB.noOfChildren / (nodeA.noOfChildren + nodeB.noOfChildren);\n\n // Apply forces on the two nodes\n nodeA.repulsionForceX -= childrenConstant * repulsionForceX;\n nodeA.repulsionForceY -= childrenConstant * repulsionForceY;\n nodeB.repulsionForceX += childrenConstant * repulsionForceX;\n nodeB.repulsionForceY += childrenConstant * repulsionForceY;\n } else // no overlap\n {\n // calculate distance\n\n if (this.uniformLeafNodeSizes && nodeA.getChild() == null && nodeB.getChild() == null) // simply base repulsion on distance of node centers\n {\n distanceX = rectB.getCenterX() - rectA.getCenterX();\n distanceY = rectB.getCenterY() - rectA.getCenterY();\n } else // use clipping points\n {\n IGeometry.getIntersection(rectA, rectB, clipPoints);\n\n distanceX = clipPoints[2] - clipPoints[0];\n distanceY = clipPoints[3] - clipPoints[1];\n }\n\n // No repulsion range. FR grid variant should take care of this.\n if (Math.abs(distanceX) < FDLayoutConstants.MIN_REPULSION_DIST) {\n distanceX = IMath.sign(distanceX) * FDLayoutConstants.MIN_REPULSION_DIST;\n }\n\n if (Math.abs(distanceY) < FDLayoutConstants.MIN_REPULSION_DIST) {\n distanceY = IMath.sign(distanceY) * FDLayoutConstants.MIN_REPULSION_DIST;\n }\n\n distanceSquared = distanceX * distanceX + distanceY * distanceY;\n distance = Math.sqrt(distanceSquared);\n\n repulsionForce = this.repulsionConstant * nodeA.noOfChildren * nodeB.noOfChildren / distanceSquared;\n\n // Project force onto x and y axes\n repulsionForceX = repulsionForce * distanceX / distance;\n repulsionForceY = repulsionForce * distanceY / distance;\n\n // Apply forces on the two nodes \n nodeA.repulsionForceX -= repulsionForceX;\n nodeA.repulsionForceY -= repulsionForceY;\n nodeB.repulsionForceX += repulsionForceX;\n nodeB.repulsionForceY += repulsionForceY;\n }\n};\n\nFDLayout.prototype.calcGravitationalForce = function (node) {\n var ownerGraph;\n var ownerCenterX;\n var ownerCenterY;\n var distanceX;\n var distanceY;\n var absDistanceX;\n var absDistanceY;\n var estimatedSize;\n ownerGraph = node.getOwner();\n\n ownerCenterX = (ownerGraph.getRight() + ownerGraph.getLeft()) / 2;\n ownerCenterY = (ownerGraph.getTop() + ownerGraph.getBottom()) / 2;\n distanceX = node.getCenterX() - ownerCenterX;\n distanceY = node.getCenterY() - ownerCenterY;\n absDistanceX = Math.abs(distanceX) + node.getWidth() / 2;\n absDistanceY = Math.abs(distanceY) + node.getHeight() / 2;\n\n if (node.getOwner() == this.graphManager.getRoot()) // in the root graph\n {\n estimatedSize = ownerGraph.getEstimatedSize() * this.gravityRangeFactor;\n\n if (absDistanceX > estimatedSize || absDistanceY > estimatedSize) {\n node.gravitationForceX = -this.gravityConstant * distanceX;\n node.gravitationForceY = -this.gravityConstant * distanceY;\n }\n } else // inside a compound\n {\n estimatedSize = ownerGraph.getEstimatedSize() * this.compoundGravityRangeFactor;\n\n if (absDistanceX > estimatedSize || absDistanceY > estimatedSize) {\n node.gravitationForceX = -this.gravityConstant * distanceX * this.compoundGravityConstant;\n node.gravitationForceY = -this.gravityConstant * distanceY * this.compoundGravityConstant;\n }\n }\n};\n\nFDLayout.prototype.isConverged = function () {\n var converged;\n var oscilating = false;\n\n if (this.totalIterations > this.maxIterations / 3) {\n oscilating = Math.abs(this.totalDisplacement - this.oldTotalDisplacement) < 2;\n }\n\n converged = this.totalDisplacement < this.totalDisplacementThreshold;\n\n this.oldTotalDisplacement = this.totalDisplacement;\n\n return converged || oscilating;\n};\n\nFDLayout.prototype.animate = function () {\n if (this.animationDuringLayout && !this.isSubLayout) {\n if (this.notAnimatedIterations == this.animationPeriod) {\n this.update();\n this.notAnimatedIterations = 0;\n } else {\n this.notAnimatedIterations++;\n }\n }\n};\n\n//This method calculates the number of children (weight) for all nodes\nFDLayout.prototype.calcNoOfChildrenForAllNodes = function () {\n var node;\n var allNodes = this.graphManager.getAllNodes();\n\n for (var i = 0; i < allNodes.length; i++) {\n node = allNodes[i];\n node.noOfChildren = node.getNoOfChildren();\n }\n};\n\n// -----------------------------------------------------------------------------\n// Section: FR-Grid Variant Repulsion Force Calculation\n// -----------------------------------------------------------------------------\n\nFDLayout.prototype.calcGrid = function (graph) {\n\n var sizeX = 0;\n var sizeY = 0;\n\n sizeX = parseInt(Math.ceil((graph.getRight() - graph.getLeft()) / this.repulsionRange));\n sizeY = parseInt(Math.ceil((graph.getBottom() - graph.getTop()) / this.repulsionRange));\n\n var grid = new Array(sizeX);\n\n for (var i = 0; i < sizeX; i++) {\n grid[i] = new Array(sizeY);\n }\n\n for (var i = 0; i < sizeX; i++) {\n for (var j = 0; j < sizeY; j++) {\n grid[i][j] = new Array();\n }\n }\n\n return grid;\n};\n\nFDLayout.prototype.addNodeToGrid = function (v, left, top) {\n\n var startX = 0;\n var finishX = 0;\n var startY = 0;\n var finishY = 0;\n\n startX = parseInt(Math.floor((v.getRect().x - left) / this.repulsionRange));\n finishX = parseInt(Math.floor((v.getRect().width + v.getRect().x - left) / this.repulsionRange));\n startY = parseInt(Math.floor((v.getRect().y - top) / this.repulsionRange));\n finishY = parseInt(Math.floor((v.getRect().height + v.getRect().y - top) / this.repulsionRange));\n\n for (var i = startX; i <= finishX; i++) {\n for (var j = startY; j <= finishY; j++) {\n this.grid[i][j].push(v);\n v.setGridCoordinates(startX, finishX, startY, finishY);\n }\n }\n};\n\nFDLayout.prototype.updateGrid = function () {\n var i;\n var nodeA;\n var lNodes = this.getAllNodes();\n\n this.grid = this.calcGrid(this.graphManager.getRoot());\n\n // put all nodes to proper grid cells\n for (i = 0; i < lNodes.length; i++) {\n nodeA = lNodes[i];\n this.addNodeToGrid(nodeA, this.graphManager.getRoot().getLeft(), this.graphManager.getRoot().getTop());\n }\n};\n\nFDLayout.prototype.calculateRepulsionForceOfANode = function (nodeA, processedNodeSet, gridUpdateAllowed, forceToNodeSurroundingUpdate) {\n\n if (this.totalIterations % FDLayoutConstants.GRID_CALCULATION_CHECK_PERIOD == 1 && gridUpdateAllowed || forceToNodeSurroundingUpdate) {\n var surrounding = new Set();\n nodeA.surrounding = new Array();\n var nodeB;\n var grid = this.grid;\n\n for (var i = nodeA.startX - 1; i < nodeA.finishX + 2; i++) {\n for (var j = nodeA.startY - 1; j < nodeA.finishY + 2; j++) {\n if (!(i < 0 || j < 0 || i >= grid.length || j >= grid[0].length)) {\n for (var k = 0; k < grid[i][j].length; k++) {\n nodeB = grid[i][j][k];\n\n // If both nodes are not members of the same graph, \n // or both nodes are the same, skip.\n if (nodeA.getOwner() != nodeB.getOwner() || nodeA == nodeB) {\n continue;\n }\n\n // check if the repulsion force between\n // nodeA and nodeB has already been calculated\n if (!processedNodeSet.has(nodeB) && !surrounding.has(nodeB)) {\n var distanceX = Math.abs(nodeA.getCenterX() - nodeB.getCenterX()) - (nodeA.getWidth() / 2 + nodeB.getWidth() / 2);\n var distanceY = Math.abs(nodeA.getCenterY() - nodeB.getCenterY()) - (nodeA.getHeight() / 2 + nodeB.getHeight() / 2);\n\n // if the distance between nodeA and nodeB \n // is less then calculation range\n if (distanceX <= this.repulsionRange && distanceY <= this.repulsionRange) {\n //then add nodeB to surrounding of nodeA\n surrounding.add(nodeB);\n }\n }\n }\n }\n }\n }\n\n nodeA.surrounding = [].concat(_toConsumableArray(surrounding));\n }\n for (i = 0; i < nodeA.surrounding.length; i++) {\n this.calcRepulsionForce(nodeA, nodeA.surrounding[i]);\n }\n};\n\nFDLayout.prototype.calcRepulsionRange = function () {\n return 0.0;\n};\n\nmodule.exports = FDLayout;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LEdge = __webpack_require__(1);\nvar FDLayoutConstants = __webpack_require__(7);\n\nfunction FDLayoutEdge(source, target, vEdge) {\n LEdge.call(this, source, target, vEdge);\n this.idealLength = FDLayoutConstants.DEFAULT_EDGE_LENGTH;\n}\n\nFDLayoutEdge.prototype = Object.create(LEdge.prototype);\n\nfor (var prop in LEdge) {\n FDLayoutEdge[prop] = LEdge[prop];\n}\n\nmodule.exports = FDLayoutEdge;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LNode = __webpack_require__(3);\n\nfunction FDLayoutNode(gm, loc, size, vNode) {\n // alternative constructor is handled inside LNode\n LNode.call(this, gm, loc, size, vNode);\n //Spring, repulsion and gravitational forces acting on this node\n this.springForceX = 0;\n this.springForceY = 0;\n this.repulsionForceX = 0;\n this.repulsionForceY = 0;\n this.gravitationForceX = 0;\n this.gravitationForceY = 0;\n //Amount by which this node is to be moved in this iteration\n this.displacementX = 0;\n this.displacementY = 0;\n\n //Start and finish grid coordinates that this node is fallen into\n this.startX = 0;\n this.finishX = 0;\n this.startY = 0;\n this.finishY = 0;\n\n //Geometric neighbors of this node\n this.surrounding = [];\n}\n\nFDLayoutNode.prototype = Object.create(LNode.prototype);\n\nfor (var prop in LNode) {\n FDLayoutNode[prop] = LNode[prop];\n}\n\nFDLayoutNode.prototype.setGridCoordinates = function (_startX, _finishX, _startY, _finishY) {\n this.startX = _startX;\n this.finishX = _finishX;\n this.startY = _startY;\n this.finishY = _finishY;\n};\n\nmodule.exports = FDLayoutNode;\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction DimensionD(width, height) {\n this.width = 0;\n this.height = 0;\n if (width !== null && height !== null) {\n this.height = height;\n this.width = width;\n }\n}\n\nDimensionD.prototype.getWidth = function () {\n return this.width;\n};\n\nDimensionD.prototype.setWidth = function (width) {\n this.width = width;\n};\n\nDimensionD.prototype.getHeight = function () {\n return this.height;\n};\n\nDimensionD.prototype.setHeight = function (height) {\n this.height = height;\n};\n\nmodule.exports = DimensionD;\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar UniqueIDGeneretor = __webpack_require__(14);\n\nfunction HashMap() {\n this.map = {};\n this.keys = [];\n}\n\nHashMap.prototype.put = function (key, value) {\n var theId = UniqueIDGeneretor.createID(key);\n if (!this.contains(theId)) {\n this.map[theId] = value;\n this.keys.push(key);\n }\n};\n\nHashMap.prototype.contains = function (key) {\n var theId = UniqueIDGeneretor.createID(key);\n return this.map[key] != null;\n};\n\nHashMap.prototype.get = function (key) {\n var theId = UniqueIDGeneretor.createID(key);\n return this.map[theId];\n};\n\nHashMap.prototype.keySet = function () {\n return this.keys;\n};\n\nmodule.exports = HashMap;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar UniqueIDGeneretor = __webpack_require__(14);\n\nfunction HashSet() {\n this.set = {};\n}\n;\n\nHashSet.prototype.add = function (obj) {\n var theId = UniqueIDGeneretor.createID(obj);\n if (!this.contains(theId)) this.set[theId] = obj;\n};\n\nHashSet.prototype.remove = function (obj) {\n delete this.set[UniqueIDGeneretor.createID(obj)];\n};\n\nHashSet.prototype.clear = function () {\n this.set = {};\n};\n\nHashSet.prototype.contains = function (obj) {\n return this.set[UniqueIDGeneretor.createID(obj)] == obj;\n};\n\nHashSet.prototype.isEmpty = function () {\n return this.size() === 0;\n};\n\nHashSet.prototype.size = function () {\n return Object.keys(this.set).length;\n};\n\n//concats this.set to the given list\nHashSet.prototype.addAllTo = function (list) {\n var keys = Object.keys(this.set);\n var length = keys.length;\n for (var i = 0; i < length; i++) {\n list.push(this.set[keys[i]]);\n }\n};\n\nHashSet.prototype.size = function () {\n return Object.keys(this.set).length;\n};\n\nHashSet.prototype.addAll = function (list) {\n var s = list.length;\n for (var i = 0; i < s; i++) {\n var v = list[i];\n this.add(v);\n }\n};\n\nmodule.exports = HashSet;\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * A classic Quicksort algorithm with Hoare's partition\n * - Works also on LinkedList objects\n *\n * Copyright: i-Vis Research Group, Bilkent University, 2007 - present\n */\n\nvar LinkedList = __webpack_require__(11);\n\nvar Quicksort = function () {\n function Quicksort(A, compareFunction) {\n _classCallCheck(this, Quicksort);\n\n if (compareFunction !== null || compareFunction !== undefined) this.compareFunction = this._defaultCompareFunction;\n\n var length = void 0;\n if (A instanceof LinkedList) length = A.size();else length = A.length;\n\n this._quicksort(A, 0, length - 1);\n }\n\n _createClass(Quicksort, [{\n key: '_quicksort',\n value: function _quicksort(A, p, r) {\n if (p < r) {\n var q = this._partition(A, p, r);\n this._quicksort(A, p, q);\n this._quicksort(A, q + 1, r);\n }\n }\n }, {\n key: '_partition',\n value: function _partition(A, p, r) {\n var x = this._get(A, p);\n var i = p;\n var j = r;\n while (true) {\n while (this.compareFunction(x, this._get(A, j))) {\n j--;\n }while (this.compareFunction(this._get(A, i), x)) {\n i++;\n }if (i < j) {\n this._swap(A, i, j);\n i++;\n j--;\n } else return j;\n }\n }\n }, {\n key: '_get',\n value: function _get(object, index) {\n if (object instanceof LinkedList) return object.get_object_at(index);else return object[index];\n }\n }, {\n key: '_set',\n value: function _set(object, index, value) {\n if (object instanceof LinkedList) object.set_object_at(index, value);else object[index] = value;\n }\n }, {\n key: '_swap',\n value: function _swap(A, i, j) {\n var temp = this._get(A, i);\n this._set(A, i, this._get(A, j));\n this._set(A, j, temp);\n }\n }, {\n key: '_defaultCompareFunction',\n value: function _defaultCompareFunction(a, b) {\n return b > a;\n }\n }]);\n\n return Quicksort;\n}();\n\nmodule.exports = Quicksort;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Needleman-Wunsch algorithm is an procedure to compute the optimal global alignment of two string\n * sequences by S.B.Needleman and C.D.Wunsch (1970).\n *\n * Aside from the inputs, you can assign the scores for,\n * - Match: The two characters at the current index are same.\n * - Mismatch: The two characters at the current index are different.\n * - Insertion/Deletion(gaps): The best alignment involves one letter aligning to a gap in the other string.\n */\n\nvar NeedlemanWunsch = function () {\n function NeedlemanWunsch(sequence1, sequence2) {\n var match_score = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var mismatch_penalty = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : -1;\n var gap_penalty = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1;\n\n _classCallCheck(this, NeedlemanWunsch);\n\n this.sequence1 = sequence1;\n this.sequence2 = sequence2;\n this.match_score = match_score;\n this.mismatch_penalty = mismatch_penalty;\n this.gap_penalty = gap_penalty;\n\n // Just the remove redundancy\n this.iMax = sequence1.length + 1;\n this.jMax = sequence2.length + 1;\n\n // Grid matrix of scores\n this.grid = new Array(this.iMax);\n for (var i = 0; i < this.iMax; i++) {\n this.grid[i] = new Array(this.jMax);\n\n for (var j = 0; j < this.jMax; j++) {\n this.grid[i][j] = 0;\n }\n }\n\n // Traceback matrix (2D array, each cell is an array of boolean values for [`Diag`, `Up`, `Left`] positions)\n this.tracebackGrid = new Array(this.iMax);\n for (var _i = 0; _i < this.iMax; _i++) {\n this.tracebackGrid[_i] = new Array(this.jMax);\n\n for (var _j = 0; _j < this.jMax; _j++) {\n this.tracebackGrid[_i][_j] = [null, null, null];\n }\n }\n\n // The aligned sequences (return multiple possibilities)\n this.alignments = [];\n\n // Final alignment score\n this.score = -1;\n\n // Calculate scores and tracebacks\n this.computeGrids();\n }\n\n _createClass(NeedlemanWunsch, [{\n key: \"getScore\",\n value: function getScore() {\n return this.score;\n }\n }, {\n key: \"getAlignments\",\n value: function getAlignments() {\n return this.alignments;\n }\n\n // Main dynamic programming procedure\n\n }, {\n key: \"computeGrids\",\n value: function computeGrids() {\n // Fill in the first row\n for (var j = 1; j < this.jMax; j++) {\n this.grid[0][j] = this.grid[0][j - 1] + this.gap_penalty;\n this.tracebackGrid[0][j] = [false, false, true];\n }\n\n // Fill in the first column\n for (var i = 1; i < this.iMax; i++) {\n this.grid[i][0] = this.grid[i - 1][0] + this.gap_penalty;\n this.tracebackGrid[i][0] = [false, true, false];\n }\n\n // Fill the rest of the grid\n for (var _i2 = 1; _i2 < this.iMax; _i2++) {\n for (var _j2 = 1; _j2 < this.jMax; _j2++) {\n // Find the max score(s) among [`Diag`, `Up`, `Left`]\n var diag = void 0;\n if (this.sequence1[_i2 - 1] === this.sequence2[_j2 - 1]) diag = this.grid[_i2 - 1][_j2 - 1] + this.match_score;else diag = this.grid[_i2 - 1][_j2 - 1] + this.mismatch_penalty;\n\n var up = this.grid[_i2 - 1][_j2] + this.gap_penalty;\n var left = this.grid[_i2][_j2 - 1] + this.gap_penalty;\n\n // If there exists multiple max values, capture them for multiple paths\n var maxOf = [diag, up, left];\n var indices = this.arrayAllMaxIndexes(maxOf);\n\n // Update Grids\n this.grid[_i2][_j2] = maxOf[indices[0]];\n this.tracebackGrid[_i2][_j2] = [indices.includes(0), indices.includes(1), indices.includes(2)];\n }\n }\n\n // Update alignment score\n this.score = this.grid[this.iMax - 1][this.jMax - 1];\n }\n\n // Gets all possible valid sequence combinations\n\n }, {\n key: \"alignmentTraceback\",\n value: function alignmentTraceback() {\n var inProcessAlignments = [];\n\n inProcessAlignments.push({ pos: [this.sequence1.length, this.sequence2.length],\n seq1: \"\",\n seq2: \"\"\n });\n\n while (inProcessAlignments[0]) {\n var current = inProcessAlignments[0];\n var directions = this.tracebackGrid[current.pos[0]][current.pos[1]];\n\n if (directions[0]) {\n inProcessAlignments.push({ pos: [current.pos[0] - 1, current.pos[1] - 1],\n seq1: this.sequence1[current.pos[0] - 1] + current.seq1,\n seq2: this.sequence2[current.pos[1] - 1] + current.seq2\n });\n }\n if (directions[1]) {\n inProcessAlignments.push({ pos: [current.pos[0] - 1, current.pos[1]],\n seq1: this.sequence1[current.pos[0] - 1] + current.seq1,\n seq2: '-' + current.seq2\n });\n }\n if (directions[2]) {\n inProcessAlignments.push({ pos: [current.pos[0], current.pos[1] - 1],\n seq1: '-' + current.seq1,\n seq2: this.sequence2[current.pos[1] - 1] + current.seq2\n });\n }\n\n if (current.pos[0] === 0 && current.pos[1] === 0) this.alignments.push({ sequence1: current.seq1,\n sequence2: current.seq2\n });\n\n inProcessAlignments.shift();\n }\n\n return this.alignments;\n }\n\n // Helper Functions\n\n }, {\n key: \"getAllIndexes\",\n value: function getAllIndexes(arr, val) {\n var indexes = [],\n i = -1;\n while ((i = arr.indexOf(val, i + 1)) !== -1) {\n indexes.push(i);\n }\n return indexes;\n }\n }, {\n key: \"arrayAllMaxIndexes\",\n value: function arrayAllMaxIndexes(array) {\n return this.getAllIndexes(array, Math.max.apply(null, array));\n }\n }]);\n\n return NeedlemanWunsch;\n}();\n\nmodule.exports = NeedlemanWunsch;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar layoutBase = function layoutBase() {\n return;\n};\n\nlayoutBase.FDLayout = __webpack_require__(18);\nlayoutBase.FDLayoutConstants = __webpack_require__(7);\nlayoutBase.FDLayoutEdge = __webpack_require__(19);\nlayoutBase.FDLayoutNode = __webpack_require__(20);\nlayoutBase.DimensionD = __webpack_require__(21);\nlayoutBase.HashMap = __webpack_require__(22);\nlayoutBase.HashSet = __webpack_require__(23);\nlayoutBase.IGeometry = __webpack_require__(8);\nlayoutBase.IMath = __webpack_require__(9);\nlayoutBase.Integer = __webpack_require__(10);\nlayoutBase.Point = __webpack_require__(12);\nlayoutBase.PointD = __webpack_require__(4);\nlayoutBase.RandomSeed = __webpack_require__(16);\nlayoutBase.RectangleD = __webpack_require__(13);\nlayoutBase.Transform = __webpack_require__(17);\nlayoutBase.UniqueIDGeneretor = __webpack_require__(14);\nlayoutBase.Quicksort = __webpack_require__(24);\nlayoutBase.LinkedList = __webpack_require__(11);\nlayoutBase.LGraphObject = __webpack_require__(2);\nlayoutBase.LGraph = __webpack_require__(5);\nlayoutBase.LEdge = __webpack_require__(1);\nlayoutBase.LGraphManager = __webpack_require__(6);\nlayoutBase.LNode = __webpack_require__(3);\nlayoutBase.Layout = __webpack_require__(15);\nlayoutBase.LayoutConstants = __webpack_require__(0);\nlayoutBase.NeedlemanWunsch = __webpack_require__(25);\n\nmodule.exports = layoutBase;\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction Emitter() {\n this.listeners = [];\n}\n\nvar p = Emitter.prototype;\n\np.addListener = function (event, callback) {\n this.listeners.push({\n event: event,\n callback: callback\n });\n};\n\np.removeListener = function (event, callback) {\n for (var i = this.listeners.length; i >= 0; i--) {\n var l = this.listeners[i];\n\n if (l.event === event && l.callback === callback) {\n this.listeners.splice(i, 1);\n }\n }\n};\n\np.emit = function (event, data) {\n for (var i = 0; i < this.listeners.length; i++) {\n var l = this.listeners[i];\n\n if (event === l.event) {\n l.callback(data);\n }\n }\n};\n\nmodule.exports = Emitter;\n\n/***/ })\n/******/ ]);\n});","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"layout-base\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"layout-base\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"coseBase\"] = factory(require(\"layout-base\"));\n\telse\n\t\troot[\"coseBase\"] = factory(root[\"layoutBase\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 7);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar FDLayoutConstants = __webpack_require__(0).FDLayoutConstants;\n\nfunction CoSEConstants() {}\n\n//CoSEConstants inherits static props in FDLayoutConstants\nfor (var prop in FDLayoutConstants) {\n CoSEConstants[prop] = FDLayoutConstants[prop];\n}\n\nCoSEConstants.DEFAULT_USE_MULTI_LEVEL_SCALING = false;\nCoSEConstants.DEFAULT_RADIAL_SEPARATION = FDLayoutConstants.DEFAULT_EDGE_LENGTH;\nCoSEConstants.DEFAULT_COMPONENT_SEPERATION = 60;\nCoSEConstants.TILE = true;\nCoSEConstants.TILING_PADDING_VERTICAL = 10;\nCoSEConstants.TILING_PADDING_HORIZONTAL = 10;\nCoSEConstants.TREE_REDUCTION_ON_INCREMENTAL = false; // make this true when cose is used incrementally as a part of other non-incremental layout\n\nmodule.exports = CoSEConstants;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar FDLayoutEdge = __webpack_require__(0).FDLayoutEdge;\n\nfunction CoSEEdge(source, target, vEdge) {\n FDLayoutEdge.call(this, source, target, vEdge);\n}\n\nCoSEEdge.prototype = Object.create(FDLayoutEdge.prototype);\nfor (var prop in FDLayoutEdge) {\n CoSEEdge[prop] = FDLayoutEdge[prop];\n}\n\nmodule.exports = CoSEEdge;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraph = __webpack_require__(0).LGraph;\n\nfunction CoSEGraph(parent, graphMgr, vGraph) {\n LGraph.call(this, parent, graphMgr, vGraph);\n}\n\nCoSEGraph.prototype = Object.create(LGraph.prototype);\nfor (var prop in LGraph) {\n CoSEGraph[prop] = LGraph[prop];\n}\n\nmodule.exports = CoSEGraph;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraphManager = __webpack_require__(0).LGraphManager;\n\nfunction CoSEGraphManager(layout) {\n LGraphManager.call(this, layout);\n}\n\nCoSEGraphManager.prototype = Object.create(LGraphManager.prototype);\nfor (var prop in LGraphManager) {\n CoSEGraphManager[prop] = LGraphManager[prop];\n}\n\nmodule.exports = CoSEGraphManager;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar FDLayoutNode = __webpack_require__(0).FDLayoutNode;\nvar IMath = __webpack_require__(0).IMath;\n\nfunction CoSENode(gm, loc, size, vNode) {\n FDLayoutNode.call(this, gm, loc, size, vNode);\n}\n\nCoSENode.prototype = Object.create(FDLayoutNode.prototype);\nfor (var prop in FDLayoutNode) {\n CoSENode[prop] = FDLayoutNode[prop];\n}\n\nCoSENode.prototype.move = function () {\n var layout = this.graphManager.getLayout();\n this.displacementX = layout.coolingFactor * (this.springForceX + this.repulsionForceX + this.gravitationForceX) / this.noOfChildren;\n this.displacementY = layout.coolingFactor * (this.springForceY + this.repulsionForceY + this.gravitationForceY) / this.noOfChildren;\n\n if (Math.abs(this.displacementX) > layout.coolingFactor * layout.maxNodeDisplacement) {\n this.displacementX = layout.coolingFactor * layout.maxNodeDisplacement * IMath.sign(this.displacementX);\n }\n\n if (Math.abs(this.displacementY) > layout.coolingFactor * layout.maxNodeDisplacement) {\n this.displacementY = layout.coolingFactor * layout.maxNodeDisplacement * IMath.sign(this.displacementY);\n }\n\n // a simple node, just move it\n if (this.child == null) {\n this.moveBy(this.displacementX, this.displacementY);\n }\n // an empty compound node, again just move it\n else if (this.child.getNodes().length == 0) {\n this.moveBy(this.displacementX, this.displacementY);\n }\n // non-empty compound node, propogate movement to children as well\n else {\n this.propogateDisplacementToChildren(this.displacementX, this.displacementY);\n }\n\n layout.totalDisplacement += Math.abs(this.displacementX) + Math.abs(this.displacementY);\n\n this.springForceX = 0;\n this.springForceY = 0;\n this.repulsionForceX = 0;\n this.repulsionForceY = 0;\n this.gravitationForceX = 0;\n this.gravitationForceY = 0;\n this.displacementX = 0;\n this.displacementY = 0;\n};\n\nCoSENode.prototype.propogateDisplacementToChildren = function (dX, dY) {\n var nodes = this.getChild().getNodes();\n var node;\n for (var i = 0; i < nodes.length; i++) {\n node = nodes[i];\n if (node.getChild() == null) {\n node.moveBy(dX, dY);\n node.displacementX += dX;\n node.displacementY += dY;\n } else {\n node.propogateDisplacementToChildren(dX, dY);\n }\n }\n};\n\nCoSENode.prototype.setPred1 = function (pred1) {\n this.pred1 = pred1;\n};\n\nCoSENode.prototype.getPred1 = function () {\n return pred1;\n};\n\nCoSENode.prototype.getPred2 = function () {\n return pred2;\n};\n\nCoSENode.prototype.setNext = function (next) {\n this.next = next;\n};\n\nCoSENode.prototype.getNext = function () {\n return next;\n};\n\nCoSENode.prototype.setProcessed = function (processed) {\n this.processed = processed;\n};\n\nCoSENode.prototype.isProcessed = function () {\n return processed;\n};\n\nmodule.exports = CoSENode;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar FDLayout = __webpack_require__(0).FDLayout;\nvar CoSEGraphManager = __webpack_require__(4);\nvar CoSEGraph = __webpack_require__(3);\nvar CoSENode = __webpack_require__(5);\nvar CoSEEdge = __webpack_require__(2);\nvar CoSEConstants = __webpack_require__(1);\nvar FDLayoutConstants = __webpack_require__(0).FDLayoutConstants;\nvar LayoutConstants = __webpack_require__(0).LayoutConstants;\nvar Point = __webpack_require__(0).Point;\nvar PointD = __webpack_require__(0).PointD;\nvar Layout = __webpack_require__(0).Layout;\nvar Integer = __webpack_require__(0).Integer;\nvar IGeometry = __webpack_require__(0).IGeometry;\nvar LGraph = __webpack_require__(0).LGraph;\nvar Transform = __webpack_require__(0).Transform;\n\nfunction CoSELayout() {\n FDLayout.call(this);\n\n this.toBeTiled = {}; // Memorize if a node is to be tiled or is tiled\n}\n\nCoSELayout.prototype = Object.create(FDLayout.prototype);\n\nfor (var prop in FDLayout) {\n CoSELayout[prop] = FDLayout[prop];\n}\n\nCoSELayout.prototype.newGraphManager = function () {\n var gm = new CoSEGraphManager(this);\n this.graphManager = gm;\n return gm;\n};\n\nCoSELayout.prototype.newGraph = function (vGraph) {\n return new CoSEGraph(null, this.graphManager, vGraph);\n};\n\nCoSELayout.prototype.newNode = function (vNode) {\n return new CoSENode(this.graphManager, vNode);\n};\n\nCoSELayout.prototype.newEdge = function (vEdge) {\n return new CoSEEdge(null, null, vEdge);\n};\n\nCoSELayout.prototype.initParameters = function () {\n FDLayout.prototype.initParameters.call(this, arguments);\n if (!this.isSubLayout) {\n if (CoSEConstants.DEFAULT_EDGE_LENGTH < 10) {\n this.idealEdgeLength = 10;\n } else {\n this.idealEdgeLength = CoSEConstants.DEFAULT_EDGE_LENGTH;\n }\n\n this.useSmartIdealEdgeLengthCalculation = CoSEConstants.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION;\n this.springConstant = FDLayoutConstants.DEFAULT_SPRING_STRENGTH;\n this.repulsionConstant = FDLayoutConstants.DEFAULT_REPULSION_STRENGTH;\n this.gravityConstant = FDLayoutConstants.DEFAULT_GRAVITY_STRENGTH;\n this.compoundGravityConstant = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH;\n this.gravityRangeFactor = FDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR;\n this.compoundGravityRangeFactor = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR;\n\n // variables for tree reduction support\n this.prunedNodesAll = [];\n this.growTreeIterations = 0;\n this.afterGrowthIterations = 0;\n this.isTreeGrowing = false;\n this.isGrowthFinished = false;\n\n // variables for cooling\n this.coolingCycle = 0;\n this.maxCoolingCycle = this.maxIterations / FDLayoutConstants.CONVERGENCE_CHECK_PERIOD;\n this.finalTemperature = FDLayoutConstants.CONVERGENCE_CHECK_PERIOD / this.maxIterations;\n this.coolingAdjuster = 1;\n }\n};\n\nCoSELayout.prototype.layout = function () {\n var createBendsAsNeeded = LayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED;\n if (createBendsAsNeeded) {\n this.createBendpoints();\n this.graphManager.resetAllEdges();\n }\n\n this.level = 0;\n return this.classicLayout();\n};\n\nCoSELayout.prototype.classicLayout = function () {\n this.nodesWithGravity = this.calculateNodesToApplyGravitationTo();\n this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity);\n this.calcNoOfChildrenForAllNodes();\n this.graphManager.calcLowestCommonAncestors();\n this.graphManager.calcInclusionTreeDepths();\n this.graphManager.getRoot().calcEstimatedSize();\n this.calcIdealEdgeLengths();\n\n if (!this.incremental) {\n var forest = this.getFlatForest();\n\n // The graph associated with this layout is flat and a forest\n if (forest.length > 0) {\n this.positionNodesRadially(forest);\n }\n // The graph associated with this layout is not flat or a forest\n else {\n // Reduce the trees when incremental mode is not enabled and graph is not a forest \n this.reduceTrees();\n // Update nodes that gravity will be applied\n this.graphManager.resetAllNodesToApplyGravitation();\n var allNodes = new Set(this.getAllNodes());\n var intersection = this.nodesWithGravity.filter(function (x) {\n return allNodes.has(x);\n });\n this.graphManager.setAllNodesToApplyGravitation(intersection);\n\n this.positionNodesRandomly();\n }\n } else {\n if (CoSEConstants.TREE_REDUCTION_ON_INCREMENTAL) {\n // Reduce the trees in incremental mode if only this constant is set to true \n this.reduceTrees();\n // Update nodes that gravity will be applied\n this.graphManager.resetAllNodesToApplyGravitation();\n var allNodes = new Set(this.getAllNodes());\n var intersection = this.nodesWithGravity.filter(function (x) {\n return allNodes.has(x);\n });\n this.graphManager.setAllNodesToApplyGravitation(intersection);\n }\n }\n\n this.initSpringEmbedder();\n this.runSpringEmbedder();\n\n return true;\n};\n\nCoSELayout.prototype.tick = function () {\n this.totalIterations++;\n\n if (this.totalIterations === this.maxIterations && !this.isTreeGrowing && !this.isGrowthFinished) {\n if (this.prunedNodesAll.length > 0) {\n this.isTreeGrowing = true;\n } else {\n return true;\n }\n }\n\n if (this.totalIterations % FDLayoutConstants.CONVERGENCE_CHECK_PERIOD == 0 && !this.isTreeGrowing && !this.isGrowthFinished) {\n if (this.isConverged()) {\n if (this.prunedNodesAll.length > 0) {\n this.isTreeGrowing = true;\n } else {\n return true;\n }\n }\n\n this.coolingCycle++;\n\n if (this.layoutQuality == 0) {\n // quality - \"draft\"\n this.coolingAdjuster = this.coolingCycle;\n } else if (this.layoutQuality == 1) {\n // quality - \"default\"\n this.coolingAdjuster = this.coolingCycle / 3;\n }\n\n // cooling schedule is based on http://www.btluke.com/simanf1.html -> cooling schedule 3\n this.coolingFactor = Math.max(this.initialCoolingFactor - Math.pow(this.coolingCycle, Math.log(100 * (this.initialCoolingFactor - this.finalTemperature)) / Math.log(this.maxCoolingCycle)) / 100 * this.coolingAdjuster, this.finalTemperature);\n this.animationPeriod = Math.ceil(this.initialAnimationPeriod * Math.sqrt(this.coolingFactor));\n }\n // Operations while tree is growing again \n if (this.isTreeGrowing) {\n if (this.growTreeIterations % 10 == 0) {\n if (this.prunedNodesAll.length > 0) {\n this.graphManager.updateBounds();\n this.updateGrid();\n this.growTree(this.prunedNodesAll);\n // Update nodes that gravity will be applied\n this.graphManager.resetAllNodesToApplyGravitation();\n var allNodes = new Set(this.getAllNodes());\n var intersection = this.nodesWithGravity.filter(function (x) {\n return allNodes.has(x);\n });\n this.graphManager.setAllNodesToApplyGravitation(intersection);\n\n this.graphManager.updateBounds();\n this.updateGrid();\n this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL;\n } else {\n this.isTreeGrowing = false;\n this.isGrowthFinished = true;\n }\n }\n this.growTreeIterations++;\n }\n // Operations after growth is finished\n if (this.isGrowthFinished) {\n if (this.isConverged()) {\n return true;\n }\n if (this.afterGrowthIterations % 10 == 0) {\n this.graphManager.updateBounds();\n this.updateGrid();\n }\n this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL * ((100 - this.afterGrowthIterations) / 100);\n this.afterGrowthIterations++;\n }\n\n var gridUpdateAllowed = !this.isTreeGrowing && !this.isGrowthFinished;\n var forceToNodeSurroundingUpdate = this.growTreeIterations % 10 == 1 && this.isTreeGrowing || this.afterGrowthIterations % 10 == 1 && this.isGrowthFinished;\n\n this.totalDisplacement = 0;\n this.graphManager.updateBounds();\n this.calcSpringForces();\n this.calcRepulsionForces(gridUpdateAllowed, forceToNodeSurroundingUpdate);\n this.calcGravitationalForces();\n this.moveNodes();\n this.animate();\n\n return false; // Layout is not ended yet return false\n};\n\nCoSELayout.prototype.getPositionsData = function () {\n var allNodes = this.graphManager.getAllNodes();\n var pData = {};\n for (var i = 0; i < allNodes.length; i++) {\n var rect = allNodes[i].rect;\n var id = allNodes[i].id;\n pData[id] = {\n id: id,\n x: rect.getCenterX(),\n y: rect.getCenterY(),\n w: rect.width,\n h: rect.height\n };\n }\n\n return pData;\n};\n\nCoSELayout.prototype.runSpringEmbedder = function () {\n this.initialAnimationPeriod = 25;\n this.animationPeriod = this.initialAnimationPeriod;\n var layoutEnded = false;\n\n // If aminate option is 'during' signal that layout is supposed to start iterating\n if (FDLayoutConstants.ANIMATE === 'during') {\n this.emit('layoutstarted');\n } else {\n // If aminate option is 'during' tick() function will be called on index.js\n while (!layoutEnded) {\n layoutEnded = this.tick();\n }\n\n this.graphManager.updateBounds();\n }\n};\n\nCoSELayout.prototype.calculateNodesToApplyGravitationTo = function () {\n var nodeList = [];\n var graph;\n\n var graphs = this.graphManager.getGraphs();\n var size = graphs.length;\n var i;\n for (i = 0; i < size; i++) {\n graph = graphs[i];\n\n graph.updateConnected();\n\n if (!graph.isConnected) {\n nodeList = nodeList.concat(graph.getNodes());\n }\n }\n\n return nodeList;\n};\n\nCoSELayout.prototype.createBendpoints = function () {\n var edges = [];\n edges = edges.concat(this.graphManager.getAllEdges());\n var visited = new Set();\n var i;\n for (i = 0; i < edges.length; i++) {\n var edge = edges[i];\n\n if (!visited.has(edge)) {\n var source = edge.getSource();\n var target = edge.getTarget();\n\n if (source == target) {\n edge.getBendpoints().push(new PointD());\n edge.getBendpoints().push(new PointD());\n this.createDummyNodesForBendpoints(edge);\n visited.add(edge);\n } else {\n var edgeList = [];\n\n edgeList = edgeList.concat(source.getEdgeListToNode(target));\n edgeList = edgeList.concat(target.getEdgeListToNode(source));\n\n if (!visited.has(edgeList[0])) {\n if (edgeList.length > 1) {\n var k;\n for (k = 0; k < edgeList.length; k++) {\n var multiEdge = edgeList[k];\n multiEdge.getBendpoints().push(new PointD());\n this.createDummyNodesForBendpoints(multiEdge);\n }\n }\n edgeList.forEach(function (edge) {\n visited.add(edge);\n });\n }\n }\n }\n\n if (visited.size == edges.length) {\n break;\n }\n }\n};\n\nCoSELayout.prototype.positionNodesRadially = function (forest) {\n // We tile the trees to a grid row by row; first tree starts at (0,0)\n var currentStartingPoint = new Point(0, 0);\n var numberOfColumns = Math.ceil(Math.sqrt(forest.length));\n var height = 0;\n var currentY = 0;\n var currentX = 0;\n var point = new PointD(0, 0);\n\n for (var i = 0; i < forest.length; i++) {\n if (i % numberOfColumns == 0) {\n // Start of a new row, make the x coordinate 0, increment the\n // y coordinate with the max height of the previous row\n currentX = 0;\n currentY = height;\n\n if (i != 0) {\n currentY += CoSEConstants.DEFAULT_COMPONENT_SEPERATION;\n }\n\n height = 0;\n }\n\n var tree = forest[i];\n\n // Find the center of the tree\n var centerNode = Layout.findCenterOfTree(tree);\n\n // Set the staring point of the next tree\n currentStartingPoint.x = currentX;\n currentStartingPoint.y = currentY;\n\n // Do a radial layout starting with the center\n point = CoSELayout.radialLayout(tree, centerNode, currentStartingPoint);\n\n if (point.y > height) {\n height = Math.floor(point.y);\n }\n\n currentX = Math.floor(point.x + CoSEConstants.DEFAULT_COMPONENT_SEPERATION);\n }\n\n this.transform(new PointD(LayoutConstants.WORLD_CENTER_X - point.x / 2, LayoutConstants.WORLD_CENTER_Y - point.y / 2));\n};\n\nCoSELayout.radialLayout = function (tree, centerNode, startingPoint) {\n var radialSep = Math.max(this.maxDiagonalInTree(tree), CoSEConstants.DEFAULT_RADIAL_SEPARATION);\n CoSELayout.branchRadialLayout(centerNode, null, 0, 359, 0, radialSep);\n var bounds = LGraph.calculateBounds(tree);\n\n var transform = new Transform();\n transform.setDeviceOrgX(bounds.getMinX());\n transform.setDeviceOrgY(bounds.getMinY());\n transform.setWorldOrgX(startingPoint.x);\n transform.setWorldOrgY(startingPoint.y);\n\n for (var i = 0; i < tree.length; i++) {\n var node = tree[i];\n node.transform(transform);\n }\n\n var bottomRight = new PointD(bounds.getMaxX(), bounds.getMaxY());\n\n return transform.inverseTransformPoint(bottomRight);\n};\n\nCoSELayout.branchRadialLayout = function (node, parentOfNode, startAngle, endAngle, distance, radialSeparation) {\n // First, position this node by finding its angle.\n var halfInterval = (endAngle - startAngle + 1) / 2;\n\n if (halfInterval < 0) {\n halfInterval += 180;\n }\n\n var nodeAngle = (halfInterval + startAngle) % 360;\n var teta = nodeAngle * IGeometry.TWO_PI / 360;\n\n // Make polar to java cordinate conversion.\n var cos_teta = Math.cos(teta);\n var x_ = distance * Math.cos(teta);\n var y_ = distance * Math.sin(teta);\n\n node.setCenter(x_, y_);\n\n // Traverse all neighbors of this node and recursively call this\n // function.\n var neighborEdges = [];\n neighborEdges = neighborEdges.concat(node.getEdges());\n var childCount = neighborEdges.length;\n\n if (parentOfNode != null) {\n childCount--;\n }\n\n var branchCount = 0;\n\n var incEdgesCount = neighborEdges.length;\n var startIndex;\n\n var edges = node.getEdgesBetween(parentOfNode);\n\n // If there are multiple edges, prune them until there remains only one\n // edge.\n while (edges.length > 1) {\n //neighborEdges.remove(edges.remove(0));\n var temp = edges[0];\n edges.splice(0, 1);\n var index = neighborEdges.indexOf(temp);\n if (index >= 0) {\n neighborEdges.splice(index, 1);\n }\n incEdgesCount--;\n childCount--;\n }\n\n if (parentOfNode != null) {\n //assert edges.length == 1;\n startIndex = (neighborEdges.indexOf(edges[0]) + 1) % incEdgesCount;\n } else {\n startIndex = 0;\n }\n\n var stepAngle = Math.abs(endAngle - startAngle) / childCount;\n\n for (var i = startIndex; branchCount != childCount; i = ++i % incEdgesCount) {\n var currentNeighbor = neighborEdges[i].getOtherEnd(node);\n\n // Don't back traverse to root node in current tree.\n if (currentNeighbor == parentOfNode) {\n continue;\n }\n\n var childStartAngle = (startAngle + branchCount * stepAngle) % 360;\n var childEndAngle = (childStartAngle + stepAngle) % 360;\n\n CoSELayout.branchRadialLayout(currentNeighbor, node, childStartAngle, childEndAngle, distance + radialSeparation, radialSeparation);\n\n branchCount++;\n }\n};\n\nCoSELayout.maxDiagonalInTree = function (tree) {\n var maxDiagonal = Integer.MIN_VALUE;\n\n for (var i = 0; i < tree.length; i++) {\n var node = tree[i];\n var diagonal = node.getDiagonal();\n\n if (diagonal > maxDiagonal) {\n maxDiagonal = diagonal;\n }\n }\n\n return maxDiagonal;\n};\n\nCoSELayout.prototype.calcRepulsionRange = function () {\n // formula is 2 x (level + 1) x idealEdgeLength\n return 2 * (this.level + 1) * this.idealEdgeLength;\n};\n\n// Tiling methods\n\n// Group zero degree members whose parents are not to be tiled, create dummy parents where needed and fill memberGroups by their dummp parent id's\nCoSELayout.prototype.groupZeroDegreeMembers = function () {\n var self = this;\n // array of [parent_id x oneDegreeNode_id]\n var tempMemberGroups = {}; // A temporary map of parent node and its zero degree members\n this.memberGroups = {}; // A map of dummy parent node and its zero degree members whose parents are not to be tiled\n this.idToDummyNode = {}; // A map of id to dummy node \n\n var zeroDegree = []; // List of zero degree nodes whose parents are not to be tiled\n var allNodes = this.graphManager.getAllNodes();\n\n // Fill zero degree list\n for (var i = 0; i < allNodes.length; i++) {\n var node = allNodes[i];\n var parent = node.getParent();\n // If a node has zero degree and its parent is not to be tiled if exists add that node to zeroDegres list\n if (this.getNodeDegreeWithChildren(node) === 0 && (parent.id == undefined || !this.getToBeTiled(parent))) {\n zeroDegree.push(node);\n }\n }\n\n // Create a map of parent node and its zero degree members\n for (var i = 0; i < zeroDegree.length; i++) {\n var node = zeroDegree[i]; // Zero degree node itself\n var p_id = node.getParent().id; // Parent id\n\n if (typeof tempMemberGroups[p_id] === \"undefined\") tempMemberGroups[p_id] = [];\n\n tempMemberGroups[p_id] = tempMemberGroups[p_id].concat(node); // Push node to the list belongs to its parent in tempMemberGroups\n }\n\n // If there are at least two nodes at a level, create a dummy compound for them\n Object.keys(tempMemberGroups).forEach(function (p_id) {\n if (tempMemberGroups[p_id].length > 1) {\n var dummyCompoundId = \"DummyCompound_\" + p_id; // The id of dummy compound which will be created soon\n self.memberGroups[dummyCompoundId] = tempMemberGroups[p_id]; // Add dummy compound to memberGroups\n\n var parent = tempMemberGroups[p_id][0].getParent(); // The parent of zero degree nodes will be the parent of new dummy compound\n\n // Create a dummy compound with calculated id\n var dummyCompound = new CoSENode(self.graphManager);\n dummyCompound.id = dummyCompoundId;\n dummyCompound.paddingLeft = parent.paddingLeft || 0;\n dummyCompound.paddingRight = parent.paddingRight || 0;\n dummyCompound.paddingBottom = parent.paddingBottom || 0;\n dummyCompound.paddingTop = parent.paddingTop || 0;\n\n self.idToDummyNode[dummyCompoundId] = dummyCompound;\n\n var dummyParentGraph = self.getGraphManager().add(self.newGraph(), dummyCompound);\n var parentGraph = parent.getChild();\n\n // Add dummy compound to parent the graph\n parentGraph.add(dummyCompound);\n\n // For each zero degree node in this level remove it from its parent graph and add it to the graph of dummy parent\n for (var i = 0; i < tempMemberGroups[p_id].length; i++) {\n var node = tempMemberGroups[p_id][i];\n\n parentGraph.remove(node);\n dummyParentGraph.add(node);\n }\n }\n });\n};\n\nCoSELayout.prototype.clearCompounds = function () {\n var childGraphMap = {};\n var idToNode = {};\n\n // Get compound ordering by finding the inner one first\n this.performDFSOnCompounds();\n\n for (var i = 0; i < this.compoundOrder.length; i++) {\n\n idToNode[this.compoundOrder[i].id] = this.compoundOrder[i];\n childGraphMap[this.compoundOrder[i].id] = [].concat(this.compoundOrder[i].getChild().getNodes());\n\n // Remove children of compounds\n this.graphManager.remove(this.compoundOrder[i].getChild());\n this.compoundOrder[i].child = null;\n }\n\n this.graphManager.resetAllNodes();\n\n // Tile the removed children\n this.tileCompoundMembers(childGraphMap, idToNode);\n};\n\nCoSELayout.prototype.clearZeroDegreeMembers = function () {\n var self = this;\n var tiledZeroDegreePack = this.tiledZeroDegreePack = [];\n\n Object.keys(this.memberGroups).forEach(function (id) {\n var compoundNode = self.idToDummyNode[id]; // Get the dummy compound\n\n tiledZeroDegreePack[id] = self.tileNodes(self.memberGroups[id], compoundNode.paddingLeft + compoundNode.paddingRight);\n\n // Set the width and height of the dummy compound as calculated\n compoundNode.rect.width = tiledZeroDegreePack[id].width;\n compoundNode.rect.height = tiledZeroDegreePack[id].height;\n });\n};\n\nCoSELayout.prototype.repopulateCompounds = function () {\n for (var i = this.compoundOrder.length - 1; i >= 0; i--) {\n var lCompoundNode = this.compoundOrder[i];\n var id = lCompoundNode.id;\n var horizontalMargin = lCompoundNode.paddingLeft;\n var verticalMargin = lCompoundNode.paddingTop;\n\n this.adjustLocations(this.tiledMemberPack[id], lCompoundNode.rect.x, lCompoundNode.rect.y, horizontalMargin, verticalMargin);\n }\n};\n\nCoSELayout.prototype.repopulateZeroDegreeMembers = function () {\n var self = this;\n var tiledPack = this.tiledZeroDegreePack;\n\n Object.keys(tiledPack).forEach(function (id) {\n var compoundNode = self.idToDummyNode[id]; // Get the dummy compound by its id\n var horizontalMargin = compoundNode.paddingLeft;\n var verticalMargin = compoundNode.paddingTop;\n\n // Adjust the positions of nodes wrt its compound\n self.adjustLocations(tiledPack[id], compoundNode.rect.x, compoundNode.rect.y, horizontalMargin, verticalMargin);\n });\n};\n\nCoSELayout.prototype.getToBeTiled = function (node) {\n var id = node.id;\n //firstly check the previous results\n if (this.toBeTiled[id] != null) {\n return this.toBeTiled[id];\n }\n\n //only compound nodes are to be tiled\n var childGraph = node.getChild();\n if (childGraph == null) {\n this.toBeTiled[id] = false;\n return false;\n }\n\n var children = childGraph.getNodes(); // Get the children nodes\n\n //a compound node is not to be tiled if all of its compound children are not to be tiled\n for (var i = 0; i < children.length; i++) {\n var theChild = children[i];\n\n if (this.getNodeDegree(theChild) > 0) {\n this.toBeTiled[id] = false;\n return false;\n }\n\n //pass the children not having the compound structure\n if (theChild.getChild() == null) {\n this.toBeTiled[theChild.id] = false;\n continue;\n }\n\n if (!this.getToBeTiled(theChild)) {\n this.toBeTiled[id] = false;\n return false;\n }\n }\n this.toBeTiled[id] = true;\n return true;\n};\n\n// Get degree of a node depending of its edges and independent of its children\nCoSELayout.prototype.getNodeDegree = function (node) {\n var id = node.id;\n var edges = node.getEdges();\n var degree = 0;\n\n // For the edges connected\n for (var i = 0; i < edges.length; i++) {\n var edge = edges[i];\n if (edge.getSource().id !== edge.getTarget().id) {\n degree = degree + 1;\n }\n }\n return degree;\n};\n\n// Get degree of a node with its children\nCoSELayout.prototype.getNodeDegreeWithChildren = function (node) {\n var degree = this.getNodeDegree(node);\n if (node.getChild() == null) {\n return degree;\n }\n var children = node.getChild().getNodes();\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n degree += this.getNodeDegreeWithChildren(child);\n }\n return degree;\n};\n\nCoSELayout.prototype.performDFSOnCompounds = function () {\n this.compoundOrder = [];\n this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes());\n};\n\nCoSELayout.prototype.fillCompexOrderByDFS = function (children) {\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n if (child.getChild() != null) {\n this.fillCompexOrderByDFS(child.getChild().getNodes());\n }\n if (this.getToBeTiled(child)) {\n this.compoundOrder.push(child);\n }\n }\n};\n\n/**\n* This method places each zero degree member wrt given (x,y) coordinates (top left).\n*/\nCoSELayout.prototype.adjustLocations = function (organization, x, y, compoundHorizontalMargin, compoundVerticalMargin) {\n x += compoundHorizontalMargin;\n y += compoundVerticalMargin;\n\n var left = x;\n\n for (var i = 0; i < organization.rows.length; i++) {\n var row = organization.rows[i];\n x = left;\n var maxHeight = 0;\n\n for (var j = 0; j < row.length; j++) {\n var lnode = row[j];\n\n lnode.rect.x = x; // + lnode.rect.width / 2;\n lnode.rect.y = y; // + lnode.rect.height / 2;\n\n x += lnode.rect.width + organization.horizontalPadding;\n\n if (lnode.rect.height > maxHeight) maxHeight = lnode.rect.height;\n }\n\n y += maxHeight + organization.verticalPadding;\n }\n};\n\nCoSELayout.prototype.tileCompoundMembers = function (childGraphMap, idToNode) {\n var self = this;\n this.tiledMemberPack = [];\n\n Object.keys(childGraphMap).forEach(function (id) {\n // Get the compound node\n var compoundNode = idToNode[id];\n\n self.tiledMemberPack[id] = self.tileNodes(childGraphMap[id], compoundNode.paddingLeft + compoundNode.paddingRight);\n\n compoundNode.rect.width = self.tiledMemberPack[id].width;\n compoundNode.rect.height = self.tiledMemberPack[id].height;\n });\n};\n\nCoSELayout.prototype.tileNodes = function (nodes, minWidth) {\n var verticalPadding = CoSEConstants.TILING_PADDING_VERTICAL;\n var horizontalPadding = CoSEConstants.TILING_PADDING_HORIZONTAL;\n var organization = {\n rows: [],\n rowWidth: [],\n rowHeight: [],\n width: 0,\n height: minWidth, // assume minHeight equals to minWidth\n verticalPadding: verticalPadding,\n horizontalPadding: horizontalPadding\n };\n\n // Sort the nodes in ascending order of their areas\n nodes.sort(function (n1, n2) {\n if (n1.rect.width * n1.rect.height > n2.rect.width * n2.rect.height) return -1;\n if (n1.rect.width * n1.rect.height < n2.rect.width * n2.rect.height) return 1;\n return 0;\n });\n\n // Create the organization -> tile members\n for (var i = 0; i < nodes.length; i++) {\n var lNode = nodes[i];\n\n if (organization.rows.length == 0) {\n this.insertNodeToRow(organization, lNode, 0, minWidth);\n } else if (this.canAddHorizontal(organization, lNode.rect.width, lNode.rect.height)) {\n this.insertNodeToRow(organization, lNode, this.getShortestRowIndex(organization), minWidth);\n } else {\n this.insertNodeToRow(organization, lNode, organization.rows.length, minWidth);\n }\n\n this.shiftToLastRow(organization);\n }\n\n return organization;\n};\n\nCoSELayout.prototype.insertNodeToRow = function (organization, node, rowIndex, minWidth) {\n var minCompoundSize = minWidth;\n\n // Add new row if needed\n if (rowIndex == organization.rows.length) {\n var secondDimension = [];\n\n organization.rows.push(secondDimension);\n organization.rowWidth.push(minCompoundSize);\n organization.rowHeight.push(0);\n }\n\n // Update row width\n var w = organization.rowWidth[rowIndex] + node.rect.width;\n\n if (organization.rows[rowIndex].length > 0) {\n w += organization.horizontalPadding;\n }\n\n organization.rowWidth[rowIndex] = w;\n // Update compound width\n if (organization.width < w) {\n organization.width = w;\n }\n\n // Update height\n var h = node.rect.height;\n if (rowIndex > 0) h += organization.verticalPadding;\n\n var extraHeight = 0;\n if (h > organization.rowHeight[rowIndex]) {\n extraHeight = organization.rowHeight[rowIndex];\n organization.rowHeight[rowIndex] = h;\n extraHeight = organization.rowHeight[rowIndex] - extraHeight;\n }\n\n organization.height += extraHeight;\n\n // Insert node\n organization.rows[rowIndex].push(node);\n};\n\n//Scans the rows of an organization and returns the one with the min width\nCoSELayout.prototype.getShortestRowIndex = function (organization) {\n var r = -1;\n var min = Number.MAX_VALUE;\n\n for (var i = 0; i < organization.rows.length; i++) {\n if (organization.rowWidth[i] < min) {\n r = i;\n min = organization.rowWidth[i];\n }\n }\n return r;\n};\n\n//Scans the rows of an organization and returns the one with the max width\nCoSELayout.prototype.getLongestRowIndex = function (organization) {\n var r = -1;\n var max = Number.MIN_VALUE;\n\n for (var i = 0; i < organization.rows.length; i++) {\n\n if (organization.rowWidth[i] > max) {\n r = i;\n max = organization.rowWidth[i];\n }\n }\n\n return r;\n};\n\n/**\n* This method checks whether adding extra width to the organization violates\n* the aspect ratio(1) or not.\n*/\nCoSELayout.prototype.canAddHorizontal = function (organization, extraWidth, extraHeight) {\n\n var sri = this.getShortestRowIndex(organization);\n\n if (sri < 0) {\n return true;\n }\n\n var min = organization.rowWidth[sri];\n\n if (min + organization.horizontalPadding + extraWidth <= organization.width) return true;\n\n var hDiff = 0;\n\n // Adding to an existing row\n if (organization.rowHeight[sri] < extraHeight) {\n if (sri > 0) hDiff = extraHeight + organization.verticalPadding - organization.rowHeight[sri];\n }\n\n var add_to_row_ratio;\n if (organization.width - min >= extraWidth + organization.horizontalPadding) {\n add_to_row_ratio = (organization.height + hDiff) / (min + extraWidth + organization.horizontalPadding);\n } else {\n add_to_row_ratio = (organization.height + hDiff) / organization.width;\n }\n\n // Adding a new row for this node\n hDiff = extraHeight + organization.verticalPadding;\n var add_new_row_ratio;\n if (organization.width < extraWidth) {\n add_new_row_ratio = (organization.height + hDiff) / extraWidth;\n } else {\n add_new_row_ratio = (organization.height + hDiff) / organization.width;\n }\n\n if (add_new_row_ratio < 1) add_new_row_ratio = 1 / add_new_row_ratio;\n\n if (add_to_row_ratio < 1) add_to_row_ratio = 1 / add_to_row_ratio;\n\n return add_to_row_ratio < add_new_row_ratio;\n};\n\n//If moving the last node from the longest row and adding it to the last\n//row makes the bounding box smaller, do it.\nCoSELayout.prototype.shiftToLastRow = function (organization) {\n var longest = this.getLongestRowIndex(organization);\n var last = organization.rowWidth.length - 1;\n var row = organization.rows[longest];\n var node = row[row.length - 1];\n\n var diff = node.width + organization.horizontalPadding;\n\n // Check if there is enough space on the last row\n if (organization.width - organization.rowWidth[last] > diff && longest != last) {\n // Remove the last element of the longest row\n row.splice(-1, 1);\n\n // Push it to the last row\n organization.rows[last].push(node);\n\n organization.rowWidth[longest] = organization.rowWidth[longest] - diff;\n organization.rowWidth[last] = organization.rowWidth[last] + diff;\n organization.width = organization.rowWidth[instance.getLongestRowIndex(organization)];\n\n // Update heights of the organization\n var maxHeight = Number.MIN_VALUE;\n for (var i = 0; i < row.length; i++) {\n if (row[i].height > maxHeight) maxHeight = row[i].height;\n }\n if (longest > 0) maxHeight += organization.verticalPadding;\n\n var prevTotal = organization.rowHeight[longest] + organization.rowHeight[last];\n\n organization.rowHeight[longest] = maxHeight;\n if (organization.rowHeight[last] < node.height + organization.verticalPadding) organization.rowHeight[last] = node.height + organization.verticalPadding;\n\n var finalTotal = organization.rowHeight[longest] + organization.rowHeight[last];\n organization.height += finalTotal - prevTotal;\n\n this.shiftToLastRow(organization);\n }\n};\n\nCoSELayout.prototype.tilingPreLayout = function () {\n if (CoSEConstants.TILE) {\n // Find zero degree nodes and create a compound for each level\n this.groupZeroDegreeMembers();\n // Tile and clear children of each compound\n this.clearCompounds();\n // Separately tile and clear zero degree nodes for each level\n this.clearZeroDegreeMembers();\n }\n};\n\nCoSELayout.prototype.tilingPostLayout = function () {\n if (CoSEConstants.TILE) {\n this.repopulateZeroDegreeMembers();\n this.repopulateCompounds();\n }\n};\n\n// -----------------------------------------------------------------------------\n// Section: Tree Reduction methods\n// -----------------------------------------------------------------------------\n// Reduce trees \nCoSELayout.prototype.reduceTrees = function () {\n var prunedNodesAll = [];\n var containsLeaf = true;\n var node;\n\n while (containsLeaf) {\n var allNodes = this.graphManager.getAllNodes();\n var prunedNodesInStepTemp = [];\n containsLeaf = false;\n\n for (var i = 0; i < allNodes.length; i++) {\n node = allNodes[i];\n if (node.getEdges().length == 1 && !node.getEdges()[0].isInterGraph && node.getChild() == null) {\n prunedNodesInStepTemp.push([node, node.getEdges()[0], node.getOwner()]);\n containsLeaf = true;\n }\n }\n if (containsLeaf == true) {\n var prunedNodesInStep = [];\n for (var j = 0; j < prunedNodesInStepTemp.length; j++) {\n if (prunedNodesInStepTemp[j][0].getEdges().length == 1) {\n prunedNodesInStep.push(prunedNodesInStepTemp[j]);\n prunedNodesInStepTemp[j][0].getOwner().remove(prunedNodesInStepTemp[j][0]);\n }\n }\n prunedNodesAll.push(prunedNodesInStep);\n this.graphManager.resetAllNodes();\n this.graphManager.resetAllEdges();\n }\n }\n this.prunedNodesAll = prunedNodesAll;\n};\n\n// Grow tree one step \nCoSELayout.prototype.growTree = function (prunedNodesAll) {\n var lengthOfPrunedNodesInStep = prunedNodesAll.length;\n var prunedNodesInStep = prunedNodesAll[lengthOfPrunedNodesInStep - 1];\n\n var nodeData;\n for (var i = 0; i < prunedNodesInStep.length; i++) {\n nodeData = prunedNodesInStep[i];\n\n this.findPlaceforPrunedNode(nodeData);\n\n nodeData[2].add(nodeData[0]);\n nodeData[2].add(nodeData[1], nodeData[1].source, nodeData[1].target);\n }\n\n prunedNodesAll.splice(prunedNodesAll.length - 1, 1);\n this.graphManager.resetAllNodes();\n this.graphManager.resetAllEdges();\n};\n\n// Find an appropriate position to replace pruned node, this method can be improved\nCoSELayout.prototype.findPlaceforPrunedNode = function (nodeData) {\n\n var gridForPrunedNode;\n var nodeToConnect;\n var prunedNode = nodeData[0];\n if (prunedNode == nodeData[1].source) {\n nodeToConnect = nodeData[1].target;\n } else {\n nodeToConnect = nodeData[1].source;\n }\n var startGridX = nodeToConnect.startX;\n var finishGridX = nodeToConnect.finishX;\n var startGridY = nodeToConnect.startY;\n var finishGridY = nodeToConnect.finishY;\n\n var upNodeCount = 0;\n var downNodeCount = 0;\n var rightNodeCount = 0;\n var leftNodeCount = 0;\n var controlRegions = [upNodeCount, rightNodeCount, downNodeCount, leftNodeCount];\n\n if (startGridY > 0) {\n for (var i = startGridX; i <= finishGridX; i++) {\n controlRegions[0] += this.grid[i][startGridY - 1].length + this.grid[i][startGridY].length - 1;\n }\n }\n if (finishGridX < this.grid.length - 1) {\n for (var i = startGridY; i <= finishGridY; i++) {\n controlRegions[1] += this.grid[finishGridX + 1][i].length + this.grid[finishGridX][i].length - 1;\n }\n }\n if (finishGridY < this.grid[0].length - 1) {\n for (var i = startGridX; i <= finishGridX; i++) {\n controlRegions[2] += this.grid[i][finishGridY + 1].length + this.grid[i][finishGridY].length - 1;\n }\n }\n if (startGridX > 0) {\n for (var i = startGridY; i <= finishGridY; i++) {\n controlRegions[3] += this.grid[startGridX - 1][i].length + this.grid[startGridX][i].length - 1;\n }\n }\n var min = Integer.MAX_VALUE;\n var minCount;\n var minIndex;\n for (var j = 0; j < controlRegions.length; j++) {\n if (controlRegions[j] < min) {\n min = controlRegions[j];\n minCount = 1;\n minIndex = j;\n } else if (controlRegions[j] == min) {\n minCount++;\n }\n }\n\n if (minCount == 3 && min == 0) {\n if (controlRegions[0] == 0 && controlRegions[1] == 0 && controlRegions[2] == 0) {\n gridForPrunedNode = 1;\n } else if (controlRegions[0] == 0 && controlRegions[1] == 0 && controlRegions[3] == 0) {\n gridForPrunedNode = 0;\n } else if (controlRegions[0] == 0 && controlRegions[2] == 0 && controlRegions[3] == 0) {\n gridForPrunedNode = 3;\n } else if (controlRegions[1] == 0 && controlRegions[2] == 0 && controlRegions[3] == 0) {\n gridForPrunedNode = 2;\n }\n } else if (minCount == 2 && min == 0) {\n var random = Math.floor(Math.random() * 2);\n if (controlRegions[0] == 0 && controlRegions[1] == 0) {\n ;\n if (random == 0) {\n gridForPrunedNode = 0;\n } else {\n gridForPrunedNode = 1;\n }\n } else if (controlRegions[0] == 0 && controlRegions[2] == 0) {\n if (random == 0) {\n gridForPrunedNode = 0;\n } else {\n gridForPrunedNode = 2;\n }\n } else if (controlRegions[0] == 0 && controlRegions[3] == 0) {\n if (random == 0) {\n gridForPrunedNode = 0;\n } else {\n gridForPrunedNode = 3;\n }\n } else if (controlRegions[1] == 0 && controlRegions[2] == 0) {\n if (random == 0) {\n gridForPrunedNode = 1;\n } else {\n gridForPrunedNode = 2;\n }\n } else if (controlRegions[1] == 0 && controlRegions[3] == 0) {\n if (random == 0) {\n gridForPrunedNode = 1;\n } else {\n gridForPrunedNode = 3;\n }\n } else {\n if (random == 0) {\n gridForPrunedNode = 2;\n } else {\n gridForPrunedNode = 3;\n }\n }\n } else if (minCount == 4 && min == 0) {\n var random = Math.floor(Math.random() * 4);\n gridForPrunedNode = random;\n } else {\n gridForPrunedNode = minIndex;\n }\n\n if (gridForPrunedNode == 0) {\n prunedNode.setCenter(nodeToConnect.getCenterX(), nodeToConnect.getCenterY() - nodeToConnect.getHeight() / 2 - FDLayoutConstants.DEFAULT_EDGE_LENGTH - prunedNode.getHeight() / 2);\n } else if (gridForPrunedNode == 1) {\n prunedNode.setCenter(nodeToConnect.getCenterX() + nodeToConnect.getWidth() / 2 + FDLayoutConstants.DEFAULT_EDGE_LENGTH + prunedNode.getWidth() / 2, nodeToConnect.getCenterY());\n } else if (gridForPrunedNode == 2) {\n prunedNode.setCenter(nodeToConnect.getCenterX(), nodeToConnect.getCenterY() + nodeToConnect.getHeight() / 2 + FDLayoutConstants.DEFAULT_EDGE_LENGTH + prunedNode.getHeight() / 2);\n } else {\n prunedNode.setCenter(nodeToConnect.getCenterX() - nodeToConnect.getWidth() / 2 - FDLayoutConstants.DEFAULT_EDGE_LENGTH - prunedNode.getWidth() / 2, nodeToConnect.getCenterY());\n }\n};\n\nmodule.exports = CoSELayout;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar coseBase = {};\n\ncoseBase.layoutBase = __webpack_require__(0);\ncoseBase.CoSEConstants = __webpack_require__(1);\ncoseBase.CoSEEdge = __webpack_require__(2);\ncoseBase.CoSEGraph = __webpack_require__(3);\ncoseBase.CoSEGraphManager = __webpack_require__(4);\ncoseBase.CoSELayout = __webpack_require__(6);\ncoseBase.CoSENode = __webpack_require__(5);\n\nmodule.exports = coseBase;\n\n/***/ })\n/******/ ]);\n});","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cose-base\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"cose-base\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"cytoscapeCoseBilkent\"] = factory(require(\"cose-base\"));\n\telse\n\t\troot[\"cytoscapeCoseBilkent\"] = factory(root[\"coseBase\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 1);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LayoutConstants = __webpack_require__(0).layoutBase.LayoutConstants;\nvar FDLayoutConstants = __webpack_require__(0).layoutBase.FDLayoutConstants;\nvar CoSEConstants = __webpack_require__(0).CoSEConstants;\nvar CoSELayout = __webpack_require__(0).CoSELayout;\nvar CoSENode = __webpack_require__(0).CoSENode;\nvar PointD = __webpack_require__(0).layoutBase.PointD;\nvar DimensionD = __webpack_require__(0).layoutBase.DimensionD;\n\nvar defaults = {\n // Called on `layoutready`\n ready: function ready() {},\n // Called on `layoutstop`\n stop: function stop() {},\n // 'draft', 'default' or 'proof\" \n // - 'draft' fast cooling rate \n // - 'default' moderate cooling rate \n // - \"proof\" slow cooling rate\n quality: 'default',\n // include labels in node dimensions\n nodeDimensionsIncludeLabels: false,\n // number of ticks per frame; higher is faster but more jerky\n refresh: 30,\n // Whether to fit the network view after when done\n fit: true,\n // Padding on fit\n padding: 10,\n // Whether to enable incremental mode\n randomize: true,\n // Node repulsion (non overlapping) multiplier\n nodeRepulsion: 4500,\n // Ideal edge (non nested) length\n idealEdgeLength: 50,\n // Divisor to compute edge forces\n edgeElasticity: 0.45,\n // Nesting factor (multiplier) to compute ideal edge length for nested edges\n nestingFactor: 0.1,\n // Gravity force (constant)\n gravity: 0.25,\n // Maximum number of iterations to perform\n numIter: 2500,\n // For enabling tiling\n tile: true,\n // Type of layout animation. The option set is {'during', 'end', false}\n animate: 'end',\n // Duration for animate:end\n animationDuration: 500,\n // Represents the amount of the vertical space to put between the zero degree members during the tiling operation(can also be a function)\n tilingPaddingVertical: 10,\n // Represents the amount of the horizontal space to put between the zero degree members during the tiling operation(can also be a function)\n tilingPaddingHorizontal: 10,\n // Gravity range (constant) for compounds\n gravityRangeCompound: 1.5,\n // Gravity force (constant) for compounds\n gravityCompound: 1.0,\n // Gravity range (constant)\n gravityRange: 3.8,\n // Initial cooling factor for incremental layout\n initialEnergyOnIncremental: 0.5\n};\n\nfunction extend(defaults, options) {\n var obj = {};\n\n for (var i in defaults) {\n obj[i] = defaults[i];\n }\n\n for (var i in options) {\n obj[i] = options[i];\n }\n\n return obj;\n};\n\nfunction _CoSELayout(_options) {\n this.options = extend(defaults, _options);\n getUserOptions(this.options);\n}\n\nvar getUserOptions = function getUserOptions(options) {\n if (options.nodeRepulsion != null) CoSEConstants.DEFAULT_REPULSION_STRENGTH = FDLayoutConstants.DEFAULT_REPULSION_STRENGTH = options.nodeRepulsion;\n if (options.idealEdgeLength != null) CoSEConstants.DEFAULT_EDGE_LENGTH = FDLayoutConstants.DEFAULT_EDGE_LENGTH = options.idealEdgeLength;\n if (options.edgeElasticity != null) CoSEConstants.DEFAULT_SPRING_STRENGTH = FDLayoutConstants.DEFAULT_SPRING_STRENGTH = options.edgeElasticity;\n if (options.nestingFactor != null) CoSEConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = FDLayoutConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = options.nestingFactor;\n if (options.gravity != null) CoSEConstants.DEFAULT_GRAVITY_STRENGTH = FDLayoutConstants.DEFAULT_GRAVITY_STRENGTH = options.gravity;\n if (options.numIter != null) CoSEConstants.MAX_ITERATIONS = FDLayoutConstants.MAX_ITERATIONS = options.numIter;\n if (options.gravityRange != null) CoSEConstants.DEFAULT_GRAVITY_RANGE_FACTOR = FDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR = options.gravityRange;\n if (options.gravityCompound != null) CoSEConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH = options.gravityCompound;\n if (options.gravityRangeCompound != null) CoSEConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = options.gravityRangeCompound;\n if (options.initialEnergyOnIncremental != null) CoSEConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL = options.initialEnergyOnIncremental;\n\n if (options.quality == 'draft') LayoutConstants.QUALITY = 0;else if (options.quality == 'proof') LayoutConstants.QUALITY = 2;else LayoutConstants.QUALITY = 1;\n\n CoSEConstants.NODE_DIMENSIONS_INCLUDE_LABELS = FDLayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS = LayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS = options.nodeDimensionsIncludeLabels;\n CoSEConstants.DEFAULT_INCREMENTAL = FDLayoutConstants.DEFAULT_INCREMENTAL = LayoutConstants.DEFAULT_INCREMENTAL = !options.randomize;\n CoSEConstants.ANIMATE = FDLayoutConstants.ANIMATE = LayoutConstants.ANIMATE = options.animate;\n CoSEConstants.TILE = options.tile;\n CoSEConstants.TILING_PADDING_VERTICAL = typeof options.tilingPaddingVertical === 'function' ? options.tilingPaddingVertical.call() : options.tilingPaddingVertical;\n CoSEConstants.TILING_PADDING_HORIZONTAL = typeof options.tilingPaddingHorizontal === 'function' ? options.tilingPaddingHorizontal.call() : options.tilingPaddingHorizontal;\n};\n\n_CoSELayout.prototype.run = function () {\n var ready;\n var frameId;\n var options = this.options;\n var idToLNode = this.idToLNode = {};\n var layout = this.layout = new CoSELayout();\n var self = this;\n\n self.stopped = false;\n\n this.cy = this.options.cy;\n\n this.cy.trigger({ type: 'layoutstart', layout: this });\n\n var gm = layout.newGraphManager();\n this.gm = gm;\n\n var nodes = this.options.eles.nodes();\n var edges = this.options.eles.edges();\n\n this.root = gm.addRoot();\n this.processChildrenList(this.root, this.getTopMostNodes(nodes), layout);\n\n for (var i = 0; i < edges.length; i++) {\n var edge = edges[i];\n var sourceNode = this.idToLNode[edge.data(\"source\")];\n var targetNode = this.idToLNode[edge.data(\"target\")];\n if (sourceNode !== targetNode && sourceNode.getEdgesBetween(targetNode).length == 0) {\n var e1 = gm.add(layout.newEdge(), sourceNode, targetNode);\n e1.id = edge.id();\n }\n }\n\n var getPositions = function getPositions(ele, i) {\n if (typeof ele === \"number\") {\n ele = i;\n }\n var theId = ele.data('id');\n var lNode = self.idToLNode[theId];\n\n return {\n x: lNode.getRect().getCenterX(),\n y: lNode.getRect().getCenterY()\n };\n };\n\n /*\n * Reposition nodes in iterations animatedly\n */\n var iterateAnimated = function iterateAnimated() {\n // Thigs to perform after nodes are repositioned on screen\n var afterReposition = function afterReposition() {\n if (options.fit) {\n options.cy.fit(options.eles, options.padding);\n }\n\n if (!ready) {\n ready = true;\n self.cy.one('layoutready', options.ready);\n self.cy.trigger({ type: 'layoutready', layout: self });\n }\n };\n\n var ticksPerFrame = self.options.refresh;\n var isDone;\n\n for (var i = 0; i < ticksPerFrame && !isDone; i++) {\n isDone = self.stopped || self.layout.tick();\n }\n\n // If layout is done\n if (isDone) {\n // If the layout is not a sublayout and it is successful perform post layout.\n if (layout.checkLayoutSuccess() && !layout.isSubLayout) {\n layout.doPostLayout();\n }\n\n // If layout has a tilingPostLayout function property call it.\n if (layout.tilingPostLayout) {\n layout.tilingPostLayout();\n }\n\n layout.isLayoutFinished = true;\n\n self.options.eles.nodes().positions(getPositions);\n\n afterReposition();\n\n // trigger layoutstop when the layout stops (e.g. finishes)\n self.cy.one('layoutstop', self.options.stop);\n self.cy.trigger({ type: 'layoutstop', layout: self });\n\n if (frameId) {\n cancelAnimationFrame(frameId);\n }\n\n ready = false;\n return;\n }\n\n var animationData = self.layout.getPositionsData(); // Get positions of layout nodes note that all nodes may not be layout nodes because of tiling\n\n // Position nodes, for the nodes whose id does not included in data (because they are removed from their parents and included in dummy compounds)\n // use position of their ancestors or dummy ancestors\n options.eles.nodes().positions(function (ele, i) {\n if (typeof ele === \"number\") {\n ele = i;\n }\n // If ele is a compound node, then its position will be defined by its children\n if (!ele.isParent()) {\n var theId = ele.id();\n var pNode = animationData[theId];\n var temp = ele;\n // If pNode is undefined search until finding position data of its first ancestor (It may be dummy as well)\n while (pNode == null) {\n pNode = animationData[temp.data('parent')] || animationData['DummyCompound_' + temp.data('parent')];\n animationData[theId] = pNode;\n temp = temp.parent()[0];\n if (temp == undefined) {\n break;\n }\n }\n if (pNode != null) {\n return {\n x: pNode.x,\n y: pNode.y\n };\n } else {\n return {\n x: ele.position('x'),\n y: ele.position('y')\n };\n }\n }\n });\n\n afterReposition();\n\n frameId = requestAnimationFrame(iterateAnimated);\n };\n\n /*\n * Listen 'layoutstarted' event and start animated iteration if animate option is 'during'\n */\n layout.addListener('layoutstarted', function () {\n if (self.options.animate === 'during') {\n frameId = requestAnimationFrame(iterateAnimated);\n }\n });\n\n layout.runLayout(); // Run cose layout\n\n /*\n * If animate option is not 'during' ('end' or false) perform these here (If it is 'during' similar things are already performed)\n */\n if (this.options.animate !== \"during\") {\n self.options.eles.nodes().not(\":parent\").layoutPositions(self, self.options, getPositions); // Use layout positions to reposition the nodes it considers the options parameter\n ready = false;\n }\n\n return this; // chaining\n};\n\n//Get the top most ones of a list of nodes\n_CoSELayout.prototype.getTopMostNodes = function (nodes) {\n var nodesMap = {};\n for (var i = 0; i < nodes.length; i++) {\n nodesMap[nodes[i].id()] = true;\n }\n var roots = nodes.filter(function (ele, i) {\n if (typeof ele === \"number\") {\n ele = i;\n }\n var parent = ele.parent()[0];\n while (parent != null) {\n if (nodesMap[parent.id()]) {\n return false;\n }\n parent = parent.parent()[0];\n }\n return true;\n });\n\n return roots;\n};\n\n_CoSELayout.prototype.processChildrenList = function (parent, children, layout) {\n var size = children.length;\n for (var i = 0; i < size; i++) {\n var theChild = children[i];\n var children_of_children = theChild.children();\n var theNode;\n\n var dimensions = theChild.layoutDimensions({\n nodeDimensionsIncludeLabels: this.options.nodeDimensionsIncludeLabels\n });\n\n if (theChild.outerWidth() != null && theChild.outerHeight() != null) {\n theNode = parent.add(new CoSENode(layout.graphManager, new PointD(theChild.position('x') - dimensions.w / 2, theChild.position('y') - dimensions.h / 2), new DimensionD(parseFloat(dimensions.w), parseFloat(dimensions.h))));\n } else {\n theNode = parent.add(new CoSENode(this.graphManager));\n }\n // Attach id to the layout node\n theNode.id = theChild.data(\"id\");\n // Attach the paddings of cy node to layout node\n theNode.paddingLeft = parseInt(theChild.css('padding'));\n theNode.paddingTop = parseInt(theChild.css('padding'));\n theNode.paddingRight = parseInt(theChild.css('padding'));\n theNode.paddingBottom = parseInt(theChild.css('padding'));\n\n //Attach the label properties to compound if labels will be included in node dimensions \n if (this.options.nodeDimensionsIncludeLabels) {\n if (theChild.isParent()) {\n var labelWidth = theChild.boundingBox({ includeLabels: true, includeNodes: false }).w;\n var labelHeight = theChild.boundingBox({ includeLabels: true, includeNodes: false }).h;\n var labelPos = theChild.css(\"text-halign\");\n theNode.labelWidth = labelWidth;\n theNode.labelHeight = labelHeight;\n theNode.labelPos = labelPos;\n }\n }\n\n // Map the layout node\n this.idToLNode[theChild.data(\"id\")] = theNode;\n\n if (isNaN(theNode.rect.x)) {\n theNode.rect.x = 0;\n }\n\n if (isNaN(theNode.rect.y)) {\n theNode.rect.y = 0;\n }\n\n if (children_of_children != null && children_of_children.length > 0) {\n var theNewGraph;\n theNewGraph = layout.getGraphManager().add(layout.newGraph(), theNode);\n this.processChildrenList(theNewGraph, children_of_children, layout);\n }\n }\n};\n\n/**\n * @brief : called on continuous layouts to stop them before they finish\n */\n_CoSELayout.prototype.stop = function () {\n this.stopped = true;\n\n return this; // chaining\n};\n\nvar register = function register(cytoscape) {\n // var Layout = getLayout( cytoscape );\n\n cytoscape('layout', 'cose-bilkent', _CoSELayout);\n};\n\n// auto reg for globals\nif (typeof cytoscape !== 'undefined') {\n register(cytoscape);\n}\n\nmodule.exports = register;\n\n/***/ })\n/******/ ]);\n});","import {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/rendering-util/layout-algorithms/cose-bilkent/cytoscape-setup.ts\nimport cytoscape from \"cytoscape\";\nimport coseBilkent from \"cytoscape-cose-bilkent\";\nimport { select } from \"d3\";\ncytoscape.use(coseBilkent);\nfunction addNodes(nodes, cy) {\n nodes.forEach((node) => {\n const nodeData = {\n id: node.id,\n labelText: node.label,\n height: node.height,\n width: node.width,\n padding: node.padding ?? 0\n };\n Object.keys(node).forEach((key) => {\n if (![\"id\", \"label\", \"height\", \"width\", \"padding\", \"x\", \"y\"].includes(key)) {\n nodeData[key] = node[key];\n }\n });\n cy.add({\n group: \"nodes\",\n data: nodeData,\n position: {\n x: node.x ?? 0,\n y: node.y ?? 0\n }\n });\n });\n}\n__name(addNodes, \"addNodes\");\nfunction addEdges(edges, cy) {\n edges.forEach((edge) => {\n const edgeData = {\n id: edge.id,\n source: edge.start,\n target: edge.end\n };\n Object.keys(edge).forEach((key) => {\n if (![\"id\", \"start\", \"end\"].includes(key)) {\n edgeData[key] = edge[key];\n }\n });\n cy.add({\n group: \"edges\",\n data: edgeData\n });\n });\n}\n__name(addEdges, \"addEdges\");\nfunction createCytoscapeInstance(data) {\n return new Promise((resolve) => {\n const renderEl = select(\"body\").append(\"div\").attr(\"id\", \"cy\").attr(\"style\", \"display:none\");\n const cy = cytoscape({\n container: document.getElementById(\"cy\"),\n // container to render in\n style: [\n {\n selector: \"edge\",\n style: {\n \"curve-style\": \"bezier\"\n }\n }\n ]\n });\n renderEl.remove();\n addNodes(data.nodes, cy);\n addEdges(data.edges, cy);\n cy.nodes().forEach(function(n) {\n n.layoutDimensions = () => {\n const nodeData = n.data();\n return { w: nodeData.width, h: nodeData.height };\n };\n });\n const layoutConfig = {\n name: \"cose-bilkent\",\n // @ts-ignore Types for cose-bilkent are not correct?\n quality: \"proof\",\n styleEnabled: false,\n animate: false\n };\n cy.layout(layoutConfig).run();\n cy.ready((e) => {\n log.info(\"Cytoscape ready\", e);\n resolve(cy);\n });\n });\n}\n__name(createCytoscapeInstance, \"createCytoscapeInstance\");\nfunction extractPositionedNodes(cy) {\n return cy.nodes().map((node) => {\n const data = node.data();\n const position = node.position();\n const positionedNode = {\n id: data.id,\n x: position.x,\n y: position.y\n };\n Object.keys(data).forEach((key) => {\n if (key !== \"id\") {\n positionedNode[key] = data[key];\n }\n });\n return positionedNode;\n });\n}\n__name(extractPositionedNodes, \"extractPositionedNodes\");\nfunction extractPositionedEdges(cy) {\n return cy.edges().map((edge) => {\n const data = edge.data();\n const rscratch = edge._private.rscratch;\n const positionedEdge = {\n id: data.id,\n source: data.source,\n target: data.target,\n startX: rscratch.startX,\n startY: rscratch.startY,\n midX: rscratch.midX,\n midY: rscratch.midY,\n endX: rscratch.endX,\n endY: rscratch.endY\n };\n Object.keys(data).forEach((key) => {\n if (![\"id\", \"source\", \"target\"].includes(key)) {\n positionedEdge[key] = data[key];\n }\n });\n return positionedEdge;\n });\n}\n__name(extractPositionedEdges, \"extractPositionedEdges\");\n\n// src/rendering-util/layout-algorithms/cose-bilkent/layout.ts\nasync function executeCoseBilkentLayout(data, _config) {\n log.debug(\"Starting cose-bilkent layout algorithm\");\n try {\n validateLayoutData(data);\n const cy = await createCytoscapeInstance(data);\n const positionedNodes = extractPositionedNodes(cy);\n const positionedEdges = extractPositionedEdges(cy);\n log.debug(`Layout completed: ${positionedNodes.length} nodes, ${positionedEdges.length} edges`);\n return {\n nodes: positionedNodes,\n edges: positionedEdges\n };\n } catch (error) {\n log.error(\"Error in cose-bilkent layout algorithm:\", error);\n throw error;\n }\n}\n__name(executeCoseBilkentLayout, \"executeCoseBilkentLayout\");\nfunction validateLayoutData(data) {\n if (!data) {\n throw new Error(\"Layout data is required\");\n }\n if (!data.config) {\n throw new Error(\"Configuration is required in layout data\");\n }\n if (!data.rootNode) {\n throw new Error(\"Root node is required\");\n }\n if (!data.nodes || !Array.isArray(data.nodes)) {\n throw new Error(\"No nodes found in layout data\");\n }\n if (!Array.isArray(data.edges)) {\n throw new Error(\"Edges array is required in layout data\");\n }\n return true;\n}\n__name(validateLayoutData, \"validateLayoutData\");\n\n// src/rendering-util/layout-algorithms/cose-bilkent/render.ts\nvar render = /* @__PURE__ */ __name(async (data4Layout, svg, {\n insertCluster,\n insertEdge,\n insertEdgeLabel,\n insertMarkers,\n insertNode,\n log: log2,\n positionEdgeLabel\n}, { algorithm: _algorithm }) => {\n const nodeDb = {};\n const clusterDb = {};\n const element = svg.select(\"g\");\n insertMarkers(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId);\n const subGraphsEl = element.insert(\"g\").attr(\"class\", \"subgraphs\");\n const edgePaths = element.insert(\"g\").attr(\"class\", \"edgePaths\");\n const edgeLabels = element.insert(\"g\").attr(\"class\", \"edgeLabels\");\n const nodes = element.insert(\"g\").attr(\"class\", \"nodes\");\n log2.debug(\"Inserting nodes into DOM for dimension calculation\");\n await Promise.all(\n data4Layout.nodes.map(async (node) => {\n if (node.isGroup) {\n const clusterNode = { ...node };\n clusterDb[node.id] = clusterNode;\n nodeDb[node.id] = clusterNode;\n await insertCluster(subGraphsEl, node);\n } else {\n const nodeWithPosition = { ...node };\n nodeDb[node.id] = nodeWithPosition;\n const nodeEl = await insertNode(nodes, node, {\n config: data4Layout.config,\n dir: data4Layout.direction || \"TB\"\n });\n const boundingBox = nodeEl.node().getBBox();\n nodeWithPosition.width = boundingBox.width;\n nodeWithPosition.height = boundingBox.height;\n nodeWithPosition.domId = nodeEl;\n log2.debug(`Node ${node.id} dimensions: ${boundingBox.width}x${boundingBox.height}`);\n }\n })\n );\n log2.debug(\"Running cose-bilkent layout algorithm\");\n const updatedLayoutData = {\n ...data4Layout,\n nodes: data4Layout.nodes.map((node) => {\n const nodeWithDimensions = nodeDb[node.id];\n return {\n ...node,\n width: nodeWithDimensions.width,\n height: nodeWithDimensions.height\n };\n })\n };\n const layoutResult = await executeCoseBilkentLayout(updatedLayoutData, data4Layout.config);\n log2.debug(\"Positioning nodes based on layout results\");\n layoutResult.nodes.forEach((positionedNode) => {\n const node = nodeDb[positionedNode.id];\n if (node?.domId) {\n node.domId.attr(\n \"transform\",\n `translate(${positionedNode.x}, ${positionedNode.y})`\n );\n node.x = positionedNode.x;\n node.y = positionedNode.y;\n log2.debug(`Positioned node ${node.id} at center (${positionedNode.x}, ${positionedNode.y})`);\n }\n });\n layoutResult.edges.forEach((positionedEdge) => {\n const edge = data4Layout.edges.find((e) => e.id === positionedEdge.id);\n if (edge) {\n edge.points = [\n { x: positionedEdge.startX, y: positionedEdge.startY },\n { x: positionedEdge.midX, y: positionedEdge.midY },\n { x: positionedEdge.endX, y: positionedEdge.endY }\n ];\n }\n });\n log2.debug(\"Inserting and positioning edges\");\n await Promise.all(\n data4Layout.edges.map(async (edge) => {\n const _edgeLabel = await insertEdgeLabel(edgeLabels, edge);\n const startNode = nodeDb[edge.start ?? \"\"];\n const endNode = nodeDb[edge.end ?? \"\"];\n if (startNode && endNode) {\n const positionedEdge = layoutResult.edges.find((e) => e.id === edge.id);\n if (positionedEdge) {\n log2.debug(\"APA01 positionedEdge\", positionedEdge);\n const edgeWithPath = { ...edge };\n const paths = insertEdge(\n edgePaths,\n edgeWithPath,\n clusterDb,\n data4Layout.type,\n startNode,\n endNode,\n data4Layout.diagramId\n );\n positionEdgeLabel(edgeWithPath, paths);\n } else {\n const edgeWithPath = {\n ...edge,\n points: [\n { x: startNode.x || 0, y: startNode.y || 0 },\n { x: endNode.x || 0, y: endNode.y || 0 }\n ]\n };\n const paths = insertEdge(\n edgePaths,\n edgeWithPath,\n clusterDb,\n data4Layout.type,\n startNode,\n endNode,\n data4Layout.diagramId\n );\n positionEdgeLabel(edgeWithPath, paths);\n }\n }\n })\n );\n log2.debug(\"Cose-bilkent rendering completed\");\n}, \"render\");\n\n// src/rendering-util/layout-algorithms/cose-bilkent/index.ts\nvar render2 = render;\nexport {\n render2 as render\n};\n"],"x_google_ignoreList":[0,1,2,3],"mappings":"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"}