@unovis/ts 1.0.0-beta.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 (505) hide show
  1. package/.cache/.npm/_cacache/content-v2/sha512/61/45/6fe676782aa108257b260c25e8140c6d37bbc18450696066eeeb68af0ecc30da712b9d888ddf31844ec3334478f2b142f957298bebde9cba8de0ffc3c2d7 +0 -0
  2. package/.cache/.npm/_cacache/content-v2/sha512/c1/fd/5918e37e37c05cdfc4482fae30721b118c227a6b70b2830ff04cd62a82899a4ad1beaa562b4c673122c932c2eb017af2f4da3c8b7f9a0affbd1d926341a0 +0 -0
  3. package/.cache/.npm/_cacache/index-v5/1f/ac/9e290f9c0248c783167cd161d22fe850034423d1a425963bd64808710219 +3 -0
  4. package/LICENSE +193 -0
  5. package/components/area/config.d.ts +25 -0
  6. package/components/area/config.js +16 -0
  7. package/components/area/config.js.map +1 -0
  8. package/components/area/index.d.ts +19 -0
  9. package/components/area/index.js +103 -0
  10. package/components/area/index.js.map +1 -0
  11. package/components/area/style.d.ts +3 -0
  12. package/components/area/style.js +32 -0
  13. package/components/area/style.js.map +1 -0
  14. package/components/area/types.d.ts +6 -0
  15. package/components/axis/config.d.ts +74 -0
  16. package/components/axis/config.js +33 -0
  17. package/components/axis/config.js.map +1 -0
  18. package/components/axis/index.d.ts +51 -0
  19. package/components/axis/index.js +291 -0
  20. package/components/axis/index.js.map +1 -0
  21. package/components/axis/modules/tick.d.ts +5 -0
  22. package/components/axis/modules/tick.js +48 -0
  23. package/components/axis/modules/tick.js.map +1 -0
  24. package/components/axis/style.d.ts +9 -0
  25. package/components/axis/style.js +95 -0
  26. package/components/axis/style.js.map +1 -0
  27. package/components/axis/types.d.ts +4 -0
  28. package/components/axis/types.js +8 -0
  29. package/components/axis/types.js.map +1 -0
  30. package/components/brush/config.d.ts +42 -0
  31. package/components/brush/config.js +24 -0
  32. package/components/brush/config.js.map +1 -0
  33. package/components/brush/index.d.ts +28 -0
  34. package/components/brush/index.js +199 -0
  35. package/components/brush/index.js.map +1 -0
  36. package/components/brush/style.d.ts +5 -0
  37. package/components/brush/style.js +63 -0
  38. package/components/brush/style.js.map +1 -0
  39. package/components/brush/types.d.ts +7 -0
  40. package/components/brush/types.js +8 -0
  41. package/components/brush/types.js.map +1 -0
  42. package/components/bullet-legend/config.d.ts +24 -0
  43. package/components/bullet-legend/config.js +16 -0
  44. package/components/bullet-legend/config.js.map +1 -0
  45. package/components/bullet-legend/index.d.ts +19 -0
  46. package/components/bullet-legend/index.js +79 -0
  47. package/components/bullet-legend/index.js.map +1 -0
  48. package/components/bullet-legend/style.d.ts +6 -0
  49. package/components/bullet-legend/style.js +66 -0
  50. package/components/bullet-legend/style.js.map +1 -0
  51. package/components/bullet-legend/types.d.ts +7 -0
  52. package/components/chord-diagram/config.d.ts +42 -0
  53. package/components/chord-diagram/config.js +25 -0
  54. package/components/chord-diagram/config.js.map +1 -0
  55. package/components/chord-diagram/index.d.ts +49 -0
  56. package/components/chord-diagram/index.js +280 -0
  57. package/components/chord-diagram/index.js.map +1 -0
  58. package/components/chord-diagram/modules/label.d.ts +8 -0
  59. package/components/chord-diagram/modules/label.js +128 -0
  60. package/components/chord-diagram/modules/label.js.map +1 -0
  61. package/components/chord-diagram/modules/link.d.ts +20 -0
  62. package/components/chord-diagram/modules/link.js +32 -0
  63. package/components/chord-diagram/modules/link.js.map +1 -0
  64. package/components/chord-diagram/modules/node.d.ts +17 -0
  65. package/components/chord-diagram/modules/node.js +52 -0
  66. package/components/chord-diagram/modules/node.js.map +1 -0
  67. package/components/chord-diagram/style.d.ts +13 -0
  68. package/components/chord-diagram/style.js +88 -0
  69. package/components/chord-diagram/style.js.map +1 -0
  70. package/components/chord-diagram/types.d.ts +40 -0
  71. package/components/chord-diagram/types.js +8 -0
  72. package/components/chord-diagram/types.js.map +1 -0
  73. package/components/crosshair/config.d.ts +43 -0
  74. package/components/crosshair/config.js +19 -0
  75. package/components/crosshair/config.js.map +1 -0
  76. package/components/crosshair/index.d.ts +35 -0
  77. package/components/crosshair/index.js +180 -0
  78. package/components/crosshair/index.js.map +1 -0
  79. package/components/crosshair/style.d.ts +4 -0
  80. package/components/crosshair/style.js +25 -0
  81. package/components/crosshair/style.js.map +1 -0
  82. package/components/crosshair/types.d.ts +13 -0
  83. package/components/donut/config.d.ts +45 -0
  84. package/components/donut/config.js +25 -0
  85. package/components/donut/config.js.map +1 -0
  86. package/components/donut/index.d.ts +20 -0
  87. package/components/donut/index.js +84 -0
  88. package/components/donut/index.js.map +1 -0
  89. package/components/donut/modules/arc.d.ts +10 -0
  90. package/components/donut/modules/arc.js +53 -0
  91. package/components/donut/modules/arc.js.map +1 -0
  92. package/components/donut/style.d.ts +6 -0
  93. package/components/donut/style.js +53 -0
  94. package/components/donut/style.js.map +1 -0
  95. package/components/donut/types.d.ts +12 -0
  96. package/components/flow-legend/config.d.ts +26 -0
  97. package/components/flow-legend/config.js +17 -0
  98. package/components/flow-legend/config.js.map +1 -0
  99. package/components/flow-legend/index.d.ts +16 -0
  100. package/components/flow-legend/index.js +73 -0
  101. package/components/flow-legend/index.js.map +1 -0
  102. package/components/flow-legend/style.d.ts +8 -0
  103. package/components/flow-legend/style.js +80 -0
  104. package/components/flow-legend/style.js.map +1 -0
  105. package/components/flow-legend/types.d.ts +9 -0
  106. package/components/flow-legend/types.js +8 -0
  107. package/components/flow-legend/types.js.map +1 -0
  108. package/components/free-brush/config.d.ts +45 -0
  109. package/components/free-brush/config.js +24 -0
  110. package/components/free-brush/config.js.map +1 -0
  111. package/components/free-brush/index.d.ts +20 -0
  112. package/components/free-brush/index.js +191 -0
  113. package/components/free-brush/index.js.map +1 -0
  114. package/components/free-brush/style.d.ts +4 -0
  115. package/components/free-brush/style.js +50 -0
  116. package/components/free-brush/style.js.map +1 -0
  117. package/components/free-brush/types.d.ts +7 -0
  118. package/components/free-brush/types.js +9 -0
  119. package/components/free-brush/types.js.map +1 -0
  120. package/components/graph/config.d.ts +207 -0
  121. package/components/graph/config.js +75 -0
  122. package/components/graph/config.js.map +1 -0
  123. package/components/graph/index.d.ts +121 -0
  124. package/components/graph/index.js +653 -0
  125. package/components/graph/index.js.map +1 -0
  126. package/components/graph/modules/layout-helpers.d.ts +2 -0
  127. package/components/graph/modules/layout-helpers.js +11 -0
  128. package/components/graph/modules/layout-helpers.js.map +1 -0
  129. package/components/graph/modules/layout.d.ts +9 -0
  130. package/components/graph/modules/layout.js +343 -0
  131. package/components/graph/modules/layout.js.map +1 -0
  132. package/components/graph/modules/link/helper.d.ts +25 -0
  133. package/components/graph/modules/link/helper.js +78 -0
  134. package/components/graph/modules/link/helper.js.map +1 -0
  135. package/components/graph/modules/link/index.d.ts +12 -0
  136. package/components/graph/modules/link/index.js +201 -0
  137. package/components/graph/modules/link/index.js.map +1 -0
  138. package/components/graph/modules/link/style.d.ts +15 -0
  139. package/components/graph/modules/link/style.js +112 -0
  140. package/components/graph/modules/link/style.js.map +1 -0
  141. package/components/graph/modules/node/helper.d.ts +21 -0
  142. package/components/graph/modules/node/helper.js +127 -0
  143. package/components/graph/modules/node/helper.js.map +1 -0
  144. package/components/graph/modules/node/index.d.ts +12 -0
  145. package/components/graph/modules/node/index.js +248 -0
  146. package/components/graph/modules/node/index.js.map +1 -0
  147. package/components/graph/modules/node/style.d.ts +24 -0
  148. package/components/graph/modules/node/style.js +273 -0
  149. package/components/graph/modules/node/style.js.map +1 -0
  150. package/components/graph/modules/panel/helper.d.ts +16 -0
  151. package/components/graph/modules/panel/helper.js +110 -0
  152. package/components/graph/modules/panel/helper.js.map +1 -0
  153. package/components/graph/modules/panel/index.d.ts +7 -0
  154. package/components/graph/modules/panel/index.js +103 -0
  155. package/components/graph/modules/panel/index.js.map +1 -0
  156. package/components/graph/modules/panel/style.d.ts +14 -0
  157. package/components/graph/modules/panel/style.js +123 -0
  158. package/components/graph/modules/panel/style.js.map +1 -0
  159. package/components/graph/modules/shape.d.ts +7 -0
  160. package/components/graph/modules/shape.js +80 -0
  161. package/components/graph/modules/shape.js.map +1 -0
  162. package/components/graph/modules/zoom-levels.d.ts +6 -0
  163. package/components/graph/modules/zoom-levels.js +10 -0
  164. package/components/graph/modules/zoom-levels.js.map +1 -0
  165. package/components/graph/style.d.ts +6 -0
  166. package/components/graph/style.js +66 -0
  167. package/components/graph/style.js.map +1 -0
  168. package/components/graph/types.d.ts +120 -0
  169. package/components/graph/types.js +29 -0
  170. package/components/graph/types.js.map +1 -0
  171. package/components/grouped-bar/config.d.ts +36 -0
  172. package/components/grouped-bar/config.js +20 -0
  173. package/components/grouped-bar/config.js.map +1 -0
  174. package/components/grouped-bar/index.d.ts +30 -0
  175. package/components/grouped-bar/index.js +231 -0
  176. package/components/grouped-bar/index.js.map +1 -0
  177. package/components/grouped-bar/style.d.ts +5 -0
  178. package/components/grouped-bar/style.js +36 -0
  179. package/components/grouped-bar/style.js.map +1 -0
  180. package/components/leaflet-flow-map/config.d.ts +46 -0
  181. package/components/leaflet-flow-map/config.js +25 -0
  182. package/components/leaflet-flow-map/config.js.map +1 -0
  183. package/components/leaflet-flow-map/index.d.ts +51 -0
  184. package/components/leaflet-flow-map/index.js +220 -0
  185. package/components/leaflet-flow-map/index.js.map +1 -0
  186. package/components/leaflet-flow-map/renderer-utils.d.ts +5 -0
  187. package/components/leaflet-flow-map/renderer-utils.js +15 -0
  188. package/components/leaflet-flow-map/renderer-utils.js.map +1 -0
  189. package/components/leaflet-flow-map/renderer.d.ts +26 -0
  190. package/components/leaflet-flow-map/renderer.js +117 -0
  191. package/components/leaflet-flow-map/renderer.js.map +1 -0
  192. package/components/leaflet-flow-map/shaders.d.ts +2 -0
  193. package/components/leaflet-flow-map/shaders.js +27 -0
  194. package/components/leaflet-flow-map/shaders.js.map +1 -0
  195. package/components/leaflet-flow-map/types.d.ts +23 -0
  196. package/components/leaflet-map/config.d.ts +175 -0
  197. package/components/leaflet-map/config.js +67 -0
  198. package/components/leaflet-map/config.js.map +1 -0
  199. package/components/leaflet-map/index.d.ts +95 -0
  200. package/components/leaflet-map/index.js +648 -0
  201. package/components/leaflet-map/index.js.map +1 -0
  202. package/components/leaflet-map/leaflet.css.js +4 -0
  203. package/components/leaflet-map/leaflet.css.js.map +1 -0
  204. package/components/leaflet-map/modules/clusterBackground.d.ts +4 -0
  205. package/components/leaflet-map/modules/clusterBackground.js +27 -0
  206. package/components/leaflet-map/modules/clusterBackground.js.map +1 -0
  207. package/components/leaflet-map/modules/donut.d.ts +3 -0
  208. package/components/leaflet-map/modules/donut.js +25 -0
  209. package/components/leaflet-map/modules/donut.js.map +1 -0
  210. package/components/leaflet-map/modules/map.d.ts +13 -0
  211. package/components/leaflet-map/modules/map.js +139 -0
  212. package/components/leaflet-map/modules/map.js.map +1 -0
  213. package/components/leaflet-map/modules/node.d.ts +8 -0
  214. package/components/leaflet-map/modules/node.js +148 -0
  215. package/components/leaflet-map/modules/node.js.map +1 -0
  216. package/components/leaflet-map/modules/selectionRing.d.ts +6 -0
  217. package/components/leaflet-map/modules/selectionRing.js +41 -0
  218. package/components/leaflet-map/modules/selectionRing.js.map +1 -0
  219. package/components/leaflet-map/modules/utils.d.ts +49 -0
  220. package/components/leaflet-map/modules/utils.js +207 -0
  221. package/components/leaflet-map/modules/utils.js.map +1 -0
  222. package/components/leaflet-map/renderer/map-style.d.ts +4 -0
  223. package/components/leaflet-map/renderer/map-style.js +15 -0
  224. package/components/leaflet-map/renderer/map-style.js.map +1 -0
  225. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-dark-theme.json.js +40 -0
  226. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-dark-theme.json.js.map +1 -0
  227. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-light-theme.json.js +40 -0
  228. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-light-theme.json.js.map +1 -0
  229. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-settings.json.js +4987 -0
  230. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-settings.json.js.map +1 -0
  231. package/components/leaflet-map/renderer/mapboxgl-layer.d.ts +7 -0
  232. package/components/leaflet-map/renderer/mapboxgl-layer.js +28 -0
  233. package/components/leaflet-map/renderer/mapboxgl-layer.js.map +1 -0
  234. package/components/leaflet-map/renderer/mapboxgl-utils.d.ts +5 -0
  235. package/components/leaflet-map/renderer/mapboxgl-utils.js +39 -0
  236. package/components/leaflet-map/renderer/mapboxgl-utils.js.map +1 -0
  237. package/components/leaflet-map/style.d.ts +19 -0
  238. package/components/leaflet-map/style.js +192 -0
  239. package/components/leaflet-map/style.js.map +1 -0
  240. package/components/leaflet-map/types.d.ts +70 -0
  241. package/components/leaflet-map/types.js +10 -0
  242. package/components/leaflet-map/types.js.map +1 -0
  243. package/components/line/config.d.ts +30 -0
  244. package/components/line/config.js +17 -0
  245. package/components/line/config.js.map +1 -0
  246. package/components/line/index.d.ts +27 -0
  247. package/components/line/index.js +139 -0
  248. package/components/line/index.js.map +1 -0
  249. package/components/line/style.d.ts +6 -0
  250. package/components/line/style.js +35 -0
  251. package/components/line/style.js.map +1 -0
  252. package/components/line/types.d.ts +12 -0
  253. package/components/radial-dendrogram/config.d.ts +34 -0
  254. package/components/radial-dendrogram/config.js +20 -0
  255. package/components/radial-dendrogram/config.js.map +1 -0
  256. package/components/radial-dendrogram/index.d.ts +22 -0
  257. package/components/radial-dendrogram/index.js +98 -0
  258. package/components/radial-dendrogram/index.js.map +1 -0
  259. package/components/radial-dendrogram/modules/label.d.ts +8 -0
  260. package/components/radial-dendrogram/modules/label.js +70 -0
  261. package/components/radial-dendrogram/modules/label.js.map +1 -0
  262. package/components/radial-dendrogram/modules/link.d.ts +19 -0
  263. package/components/radial-dendrogram/modules/link.js +59 -0
  264. package/components/radial-dendrogram/modules/link.js.map +1 -0
  265. package/components/radial-dendrogram/modules/node.d.ts +16 -0
  266. package/components/radial-dendrogram/modules/node.js +51 -0
  267. package/components/radial-dendrogram/modules/node.js.map +1 -0
  268. package/components/radial-dendrogram/style.d.ts +6 -0
  269. package/components/radial-dendrogram/style.js +54 -0
  270. package/components/radial-dendrogram/style.js.map +1 -0
  271. package/components/radial-dendrogram/types.d.ts +34 -0
  272. package/components/sankey/config.d.ts +162 -0
  273. package/components/sankey/config.js +65 -0
  274. package/components/sankey/config.js.map +1 -0
  275. package/components/sankey/index.d.ts +56 -0
  276. package/components/sankey/index.js +299 -0
  277. package/components/sankey/index.js.map +1 -0
  278. package/components/sankey/modules/label.d.ts +23 -0
  279. package/components/sankey/modules/label.js +164 -0
  280. package/components/sankey/modules/label.js.map +1 -0
  281. package/components/sankey/modules/link.d.ts +13 -0
  282. package/components/sankey/modules/link.js +108 -0
  283. package/components/sankey/modules/link.js.map +1 -0
  284. package/components/sankey/modules/node.d.ts +10 -0
  285. package/components/sankey/modules/node.js +156 -0
  286. package/components/sankey/modules/node.js.map +1 -0
  287. package/components/sankey/style.d.ts +20 -0
  288. package/components/sankey/style.js +164 -0
  289. package/components/sankey/style.js.map +1 -0
  290. package/components/sankey/types.d.ts +84 -0
  291. package/components/sankey/types.js +34 -0
  292. package/components/sankey/types.js.map +1 -0
  293. package/components/scatter/config.d.ts +44 -0
  294. package/components/scatter/config.js +23 -0
  295. package/components/scatter/config.js.map +1 -0
  296. package/components/scatter/index.d.ts +19 -0
  297. package/components/scatter/index.js +123 -0
  298. package/components/scatter/index.js.map +1 -0
  299. package/components/scatter/modules/point.d.ts +7 -0
  300. package/components/scatter/modules/point.js +98 -0
  301. package/components/scatter/modules/point.js.map +1 -0
  302. package/components/scatter/style.d.ts +5 -0
  303. package/components/scatter/style.js +53 -0
  304. package/components/scatter/style.js.map +1 -0
  305. package/components/scatter/types.d.ts +13 -0
  306. package/components/stacked-bar/config.d.ts +38 -0
  307. package/components/stacked-bar/config.js +20 -0
  308. package/components/stacked-bar/config.js.map +1 -0
  309. package/components/stacked-bar/index.d.ts +27 -0
  310. package/components/stacked-bar/index.js +193 -0
  311. package/components/stacked-bar/index.js.map +1 -0
  312. package/components/stacked-bar/style.d.ts +5 -0
  313. package/components/stacked-bar/style.js +36 -0
  314. package/components/stacked-bar/style.js.map +1 -0
  315. package/components/stacked-bar/types.d.ts +5 -0
  316. package/components/timeline/config.d.ts +43 -0
  317. package/components/timeline/config.js +23 -0
  318. package/components/timeline/config.js.map +1 -0
  319. package/components/timeline/index.d.ts +43 -0
  320. package/components/timeline/index.js +235 -0
  321. package/components/timeline/index.js.map +1 -0
  322. package/components/timeline/style.d.ts +12 -0
  323. package/components/timeline/style.js +86 -0
  324. package/components/timeline/style.js.map +1 -0
  325. package/components/tooltip/config.d.ts +46 -0
  326. package/components/tooltip/config.js +19 -0
  327. package/components/tooltip/config.js.map +1 -0
  328. package/components/tooltip/index.d.ts +34 -0
  329. package/components/tooltip/index.js +147 -0
  330. package/components/tooltip/index.js.map +1 -0
  331. package/components/tooltip/style.js +72 -0
  332. package/components/tooltip/style.js.map +1 -0
  333. package/components/topojson-map/config.d.ts +99 -0
  334. package/components/topojson-map/config.js +42 -0
  335. package/components/topojson-map/config.js.map +1 -0
  336. package/components/topojson-map/index.d.ts +52 -0
  337. package/components/topojson-map/index.js +355 -0
  338. package/components/topojson-map/index.js.map +1 -0
  339. package/components/topojson-map/style.d.ts +11 -0
  340. package/components/topojson-map/style.js +97 -0
  341. package/components/topojson-map/style.js.map +1 -0
  342. package/components/topojson-map/types.d.ts +48 -0
  343. package/components/topojson-map/types.js +45 -0
  344. package/components/topojson-map/types.js.map +1 -0
  345. package/components/topojson-map/utils.d.ts +3 -0
  346. package/components/topojson-map/utils.js +30 -0
  347. package/components/topojson-map/utils.js.map +1 -0
  348. package/components/vis-controls/config.d.ts +12 -0
  349. package/components/vis-controls/config.js +13 -0
  350. package/components/vis-controls/config.js.map +1 -0
  351. package/components/vis-controls/index.d.ts +14 -0
  352. package/components/vis-controls/index.js +52 -0
  353. package/components/vis-controls/index.js.map +1 -0
  354. package/components/vis-controls/style.d.ts +11 -0
  355. package/components/vis-controls/style.js +75 -0
  356. package/components/vis-controls/style.js.map +1 -0
  357. package/components/vis-controls/types.d.ts +13 -0
  358. package/components/vis-controls/types.js +8 -0
  359. package/components/vis-controls/types.js.map +1 -0
  360. package/components/xy-labels/config.d.ts +48 -0
  361. package/components/xy-labels/config.js +25 -0
  362. package/components/xy-labels/config.js.map +1 -0
  363. package/components/xy-labels/index.d.ts +15 -0
  364. package/components/xy-labels/index.js +86 -0
  365. package/components/xy-labels/index.js.map +1 -0
  366. package/components/xy-labels/modules/label.d.ts +9 -0
  367. package/components/xy-labels/modules/label.js +105 -0
  368. package/components/xy-labels/modules/label.js.map +1 -0
  369. package/components/xy-labels/style.d.ts +5 -0
  370. package/components/xy-labels/style.js +53 -0
  371. package/components/xy-labels/style.js.map +1 -0
  372. package/components/xy-labels/types.d.ts +23 -0
  373. package/components/xy-labels/types.js +9 -0
  374. package/components/xy-labels/types.js.map +1 -0
  375. package/components.d.ts +52 -0
  376. package/containers/single-container/config.d.ts +12 -0
  377. package/containers/single-container/config.js +12 -0
  378. package/containers/single-container/config.js.map +1 -0
  379. package/containers/single-container/index.d.ts +17 -0
  380. package/containers/single-container/index.js +115 -0
  381. package/containers/single-container/index.js.map +1 -0
  382. package/containers/xy-container/config.d.ts +99 -0
  383. package/containers/xy-container/config.js +30 -0
  384. package/containers/xy-container/config.js.map +1 -0
  385. package/containers/xy-container/index.d.ts +33 -0
  386. package/containers/xy-container/index.js +322 -0
  387. package/containers/xy-container/index.js.map +1 -0
  388. package/containers.d.ts +6 -0
  389. package/core/component/config.d.ts +58 -0
  390. package/core/component/config.js +14 -0
  391. package/core/component/config.js.map +1 -0
  392. package/core/component/index.d.ts +38 -0
  393. package/core/component/index.js +112 -0
  394. package/core/component/index.js.map +1 -0
  395. package/core/component/types.d.ts +2 -0
  396. package/core/config/index.d.ts +3 -0
  397. package/core/config/index.js +16 -0
  398. package/core/config/index.js.map +1 -0
  399. package/core/container/config.d.ts +38 -0
  400. package/core/container/config.js +29 -0
  401. package/core/container/config.js.map +1 -0
  402. package/core/container/index.d.ts +25 -0
  403. package/core/container/index.js +92 -0
  404. package/core/container/index.js.map +1 -0
  405. package/core/xy-component/config.d.ts +38 -0
  406. package/core/xy-component/config.js +20 -0
  407. package/core/xy-component/config.js.map +1 -0
  408. package/core/xy-component/index.d.ts +25 -0
  409. package/core/xy-component/index.js +65 -0
  410. package/core/xy-component/index.js.map +1 -0
  411. package/data-models/core.d.ts +6 -0
  412. package/data-models/core.js +14 -0
  413. package/data-models/core.js.map +1 -0
  414. package/data-models/graph.d.ts +24 -0
  415. package/data-models/graph.js +101 -0
  416. package/data-models/graph.js.map +1 -0
  417. package/data-models/map-graph.d.ts +23 -0
  418. package/data-models/map-graph.js +59 -0
  419. package/data-models/map-graph.js.map +1 -0
  420. package/data-models/map.d.ts +5 -0
  421. package/data-models/map.js +12 -0
  422. package/data-models/map.js.map +1 -0
  423. package/data-models/series.d.ts +6 -0
  424. package/data-models/series.js +19 -0
  425. package/data-models/series.js.map +1 -0
  426. package/external/maplibre-gl/dist/maplibre-gl.css.js +4 -0
  427. package/external/maplibre-gl/dist/maplibre-gl.css.js.map +1 -0
  428. package/index.d.ts +4 -0
  429. package/index.js +49 -0
  430. package/index.js.map +1 -0
  431. package/maps/china-provinces.json.js +140373 -0
  432. package/maps/fr-regions.json.js +14162 -0
  433. package/maps/germany-regions.json.js +35760 -0
  434. package/maps/ind-regions.json.js +290584 -0
  435. package/maps/uk-regions.json.js +96233 -0
  436. package/maps/us-counties.json.js +206318 -0
  437. package/maps/us-states.json.js +16345 -0
  438. package/maps/world-110m-alpha.json.js +251366 -0
  439. package/maps/world-simple.json.js +89428 -0
  440. package/maps/world-simplest.json.js +28175 -0
  441. package/maps.d.ts +60 -0
  442. package/maps.js +23 -0
  443. package/package.json +61 -0
  444. package/styles/colors.d.ts +4 -0
  445. package/styles/colors.js +11 -0
  446. package/styles/colors.js.map +1 -0
  447. package/styles/css-variables.d.ts +2 -0
  448. package/styles/css-variables.js +16 -0
  449. package/styles/css-variables.js.map +1 -0
  450. package/types/accessor.d.ts +5 -0
  451. package/types/component.d.ts +13 -0
  452. package/types/component.js +14 -0
  453. package/types/component.js.map +1 -0
  454. package/types/curve.d.ts +40 -0
  455. package/types/curve.js +46 -0
  456. package/types/curve.js.map +1 -0
  457. package/types/data.d.ts +7 -0
  458. package/types/direction.d.ts +6 -0
  459. package/types/direction.js +10 -0
  460. package/types/direction.js.map +1 -0
  461. package/types/graph.d.ts +35 -0
  462. package/types/map.d.ts +4 -0
  463. package/types/misc.d.ts +8 -0
  464. package/types/position.d.ts +20 -0
  465. package/types/position.js +27 -0
  466. package/types/position.js.map +1 -0
  467. package/types/scale.d.ts +23 -0
  468. package/types/scale.js +27 -0
  469. package/types/scale.js.map +1 -0
  470. package/types/shape.d.ts +7 -0
  471. package/types/shape.js +11 -0
  472. package/types/shape.js.map +1 -0
  473. package/types/spacing.d.ts +6 -0
  474. package/types/symbol.d.ts +18 -0
  475. package/types/symbol.js +24 -0
  476. package/types/symbol.js.map +1 -0
  477. package/types/text.d.ts +38 -0
  478. package/types/text.js +31 -0
  479. package/types/text.js.map +1 -0
  480. package/types.d.ts +28 -0
  481. package/utils/color.d.ts +9 -0
  482. package/utils/color.js +26 -0
  483. package/utils/color.js.map +1 -0
  484. package/utils/d3.d.ts +3 -0
  485. package/utils/d3.js +16 -0
  486. package/utils/d3.js.map +1 -0
  487. package/utils/data.d.ts +123 -0
  488. package/utils/data.js +193 -0
  489. package/utils/data.js.map +1 -0
  490. package/utils/html.d.ts +1 -0
  491. package/utils/html.js +15 -0
  492. package/utils/html.js.map +1 -0
  493. package/utils/map.d.ts +2 -0
  494. package/utils/map.js +20 -0
  495. package/utils/map.js.map +1 -0
  496. package/utils/misc.d.ts +16 -0
  497. package/utils/misc.js +42 -0
  498. package/utils/misc.js.map +1 -0
  499. package/utils/path.d.ts +21 -0
  500. package/utils/path.js +144 -0
  501. package/utils/path.js.map +1 -0
  502. package/utils/scale.d.ts +1 -0
  503. package/utils/text.d.ts +17 -0
  504. package/utils/text.js +196 -0
  505. package/utils/text.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.js","sources":["../../../../../src/components/graph/modules/node/style.ts"],"sourcesContent":["import { css, injectGlobal } from '@emotion/css'\n\nexport const nodes = css`\n label: nodes;\n`\n\nexport const variables = injectGlobal`\n :root {\n /* Node Fill */\n --vis-graph-node-stroke-color: rgb(206, 211, 222);\n --vis-graph-node-fill-color: #fff;\n --vis-graph-node-gauge-color: #adb4c2;\n --vis-graph-node-selection-color: #acb3b8;\n\n --vis-dark-graph-node-stroke-color: rgba(30,30,30,.25);\n --vis-dark-graph-node-fill-color: #494b56;\n --vis-dark-graph-node-gauge-color: #989aa3;\n --vis-dark-graph-node-selection-color: #494b56;\n\n /* Node Central Icon */\n --vis-graph-node-icon-fill-color-bright: #ffffff;\n --vis-graph-node-icon-fill-color-dark: var(--vis-color-gray);\n --vis-graph-node-icon-fill-color: #9ea7b8;\n\n --vis-dark-graph-node-icon-fill-color: var(--vis-graph-node-icon-fill-color-bright);\n\n /* Node Bottom Icon */\n --vis-graph-node-bottom-icon-font-size: 14pt;\n --vis-graph-node-bottom-icon-fill-color: #a0a6ad;\n --vis-graph-node-bottom-icon-stroke-color: #fff;\n --vis-graph-node-bottom-icon-stroke-width: 2px;\n\n --vis-dark-graph-node-bottom-icon-fill-color: #a0a6ad;\n --vis-dark-graph-node-bottom-icon-stroke-color: #fff;\n\n /* Node Label */\n --vis-graph-node-label-font-size: 9pt;\n --vis-graph-node-label-background: #ffffff;\n --vis-graph-node-label-text-color: #0F1E57;\n --vis-graph-node-sublabel-text-color: #989aa3;\n --vis-graph-node-sublabel-font-size: 8pt;\n --vis-graph-node-label-font-family: var(--vis-font-family);\n\n --vis-dark-graph-node-label-background: var(--vis-color-gray);\n --vis-dark-graph-node-label-text-color: #ffffff;\n --vis-dark-graph-node-sublabel-text-color: #989aa3;\n\n /* Node Side Labels (circular labels)*/\n --vis-graph-node-side-label-background-fill-color: #a0a9af;\n --vis-graph-node-side-label-background-stroke-color: #ffffff;\n --vis-graph-node-side-label-fill-color-bright: #ffffff;\n --vis-graph-node-side-label-fill-color-dark: #494b56;\n\n --vis-dark-graph-node-side-label-background-fill-color: #989aa3;\n --vis-dark-graph-node-side-label-background-stroke-color: var(--vis-color-gray);\n --vis-dark-graph-node-side-label-fill-color-bright: #f1f4f7;\n --vis-dark-graph-node-side-label-fill-color-dark: var(--vis-color-gray);\n\n /* Greyout */\n --vis-graph-node-greyout-color: #ebeff7;\n --vis-graph-node-icon-greyout-color: #c6cad1;\n --vis-graph-node-side-label-background-greyout-color: #f1f4f7;\n\n --vis-dark-graph-node-greyout-color: #494b56;\n --vis-dark-graph-node-icon-greyout-color: var(--vis-color-gray);\n --vis-dark-graph-node-side-label-background-greyout-color: #f1f4f7;\n }\n\n body.theme-dark ${`.${nodes}`} {\n --vis-graph-node-stroke-color: var(--vis-dark-graph-node-stroke-color);\n --vis-graph-node-fill-color: var(--vis-dark-graph-node-fill-color);\n --vis-graph-node-gauge-color: var(--vis-dark-graph-node-gauge-color);\n --vis-graph-node-selection-color: var(--vis-dark-graph-node-selection-color);\n\n --vis-graph-node-icon-fill-color: var(--vis-dark-graph-node-icon-fill-color);\n\n --vis-graph-node-bottom-icon-fill-color: var(--vis-dark-graph-node-bottom-icon-fill-color);\n --vis-graph-node-bottom-icon-stroke-color: var(--vis-dark-graph-node-bottom-icon-stroke-color);\n\n --vis-graph-node-label-background: var(--vis-dark-graph-node-label-background);\n --vis-graph-node-label-text-color: var(--vis-dark-graph-node-label-text-color);\n --vis-graph-node-sublabel-text-color: var(--vis-dark-graph-node-sublabel-text-color);\n\n --vis-graph-node-side-label-background-fill-color: var(--vis-dark-graph-node-side-label-background-fill-color);\n --vis-graph-node-side-label-background-stroke-color: var(--vis-dark-graph-side-label-background-stroke-color);\n --vis-graph-node-side-label-fill-color-bright: var(--vis-dark-graph-node-side-label-fill-color-bright);\n --vis-graph-node-side-label-fill-color-dark: var(vis-dark-graph-node-side-label-fill-color-dark);\n\n --vis-graph-node-greyout-color: var(--vis-dark-graph-node-greyout-color);\n --vis-graph-node-icon-greyout-color: var(--vis-dark-graph-node-icon-greyout-color);\n --vis-graph-node-side-label-background-greyout-color: var(--vis-dark-graph-node-side-label-background-greyout-color);\n`\n\nexport const node = css`\n label: node-shape;\n\n stroke: var(--vis-graph-node-stroke-color);\n fill: var(--vis-graph-node-fill-color);\n transition: .4s fill, .4s stroke;\n`\n\nexport const nodeIcon = css`\n label: icon;\n\n font-family: var(--vis-graph-icon-font-family), var(--vis-font-family);\n dominant-baseline: middle;\n text-anchor: middle;\n pointer-events: none;\n transition: .4s all;\n fill: var(--vis-graph-node-icon-fill-color);\n`\n\nexport const nodeBottomIcon = css`\n label: node-bottom-icon;\n font-family: var(--vis-graph-icon-font-family), var(--vis-font-family);\n font-size: var(--vis-graph-node-bottom-icon-font-size);\n dominant-baseline: middle;\n text-anchor: middle;\n pointer-events: none;\n transition: .4s fill;\n fill: var(--vis-graph-node-bottom-icon-fill-color);\n stroke: var(--vis-graph-node-bottom-icon-stroke-color);\n stroke-width: var(--vis-graph-node-bottom-icon-stroke-width);\n`\n\nexport const nodeIsDragged = css`\n label: dragged;\n`\n\nexport const label = css`\n label: label;\n\n text-anchor: middle;\n font-weight: 300;\n font-size: var(--vis-graph-node-label-font-size);\n`\n\nexport const labelBackground = css`\n label: background;\n\n opacity: 0.9;\n -webkit-backdrop-filter: blur(2px);\n backdrop-filter: blur(2px);\n fill: var(--vis-graph-node-label-background);\n`\n\nexport const labelText = css`\n label: label-text;\n`\n\nexport const labelTextContent = css`\n label: label-text-content;\n\n fill: var(--vis-graph-node-label-text-color);\n font-family: var(--vis-graph-node-label-font-family);\n`\n\nexport const subLabelTextContent = css`\n label: sublabel-text-content;\n\n fill: var(--vis-graph-node-sublabel-text-color);\n font-family: var(--vis-graph-node-label-font-family);\n font-size: var(--vis-graph-node-sublabel-font-size);\n`\n\nexport const sideLabelsGroup = css`\n label: side-labels-group;\n`\n\nexport const sideLabelBackground = css`\n label: side-label-background;\n\n stroke-opacity: 0.8;\n stroke: var(--vis-graph-node-side-label-background-stroke-color);\n fill: var(--vis-graph-node-side-label-background-fill-color);\n`\n\nexport const sideLabel = css`\n label: side-label;\n\n font-family: var(--vis-graph-icon-font-family), var(--vis-font-family);\n dominant-baseline: middle;\n text-anchor: middle;\n font-size: 16px;\n fill: var(--vis-graph-node-side-label-fill-color-bright);\n`\n\nexport const sideLabelGroup = css`\n label: side-label-group;\n cursor: default;\n`\n\nexport const gNode = css`\n label: g-node;\n\n transition: .25s opacity;\n`\n\nexport const draggable = css`\n label: draggable;\n\n &:hover {\n cursor: grab;\n }\n\n &${`.${nodeIsDragged}`} {\n cursor: grabbing;\n }\n`\n\nexport const gNodeExit = css`\n label: g-node-exit;\n pointer-events: none;\n`\n\nexport const nodeSelectionActive = css`\n label: active;\n`\n\nexport const nodeSelection = css`\n label: node-selection;\n\n fill: none;\n stroke-width: 1;\n stroke-dasharray: 3 3;\n opacity: 0;\n transition: 350ms cubic-bezier(0.165, 0.840, 0.440, 1.000);\n transform: scale(.5);\n fill: var(--vis-graph-node-selection-color);\n fill-opacity: 0.1;\n stroke: var(--vis-graph-node-selection-color);\n stroke-opacity: 0.75;\n\n &${`.${nodeSelectionActive}`} {\n opacity: 1;\n transform: scale(1.2);\n }\n`\n\nexport const nodeGauge = css`\n label: node-gauge;\n\n fill: var(--vis-graph-node-gauge-color);\n transition: .4s fill;\n`\n\nexport const nodePolygon = css`\n label: polygon;\n\n ${`.${nodeGauge}`} {\n fill-opacity: 0;\n stroke-linecap: round;\n pointer-events: none;\n }\n`\n\nexport const customNode = css`\n label: custom-node;\n\n stroke-width: 0;\n`\n\nexport const greyoutNode = css`\n label: greyout;\n\n ${`.${node}`} {\n fill: var(--vis-graph-node-greyout-color) !important;\n stroke: var(--vis-graph-node-greyout-color) !important;\n }\n\n ${`.${nodeIcon}`} {\n fill: var(--vis-graph-node-icon-greyout-color) !important;\n }\n\n ${`.${nodeGauge}`} {\n fill: var(--vis-graph-node-greyout-color) !important;\n stroke: var(--vis-graph-node-greyout-color) !important;\n }\n\n ${`.${label}`} {\n opacity: 0.5;\n }\n\n ${`.${sideLabelBackground}`} {\n fill: var(--vis-graph-node-side-label-background-greyout-color) !important;\n stroke-opacity: 0.5;\n }\n\n ${`.${sideLabel}`} {\n fill: var(--vis-graph-node-side-label-fill-color-bright) !important;\n opacity: 0.25;\n }\n`\n"],"names":[],"mappings":";;AAEO,MAAM,KAAK,GAAG,GAAG,CAAA,CAAA;;EAEvB;AAEM,MAAM,SAAS,GAAG,YAAY,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8DjB,kBAAA,EAAA,CAAA,CAAA,EAAI,KAAK,CAAE,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;EAuB9B;AAEM,MAAM,IAAI,GAAG,GAAG,CAAA,CAAA;;;;;;EAMtB;AAEM,MAAM,QAAQ,GAAG,GAAG,CAAA,CAAA;;;;;;;;;EAS1B;AAEM,MAAM,cAAc,GAAG,GAAG,CAAA,CAAA;;;;;;;;;;;EAWhC;AAEM,MAAM,aAAa,GAAG,GAAG,CAAA,CAAA;;EAE/B;AAEM,MAAM,KAAK,GAAG,GAAG,CAAA,CAAA;;;;;;EAMvB;AAEM,MAAM,eAAe,GAAG,GAAG,CAAA,CAAA;;;;;;;EAOjC;AAEM,MAAM,SAAS,GAAG,GAAG,CAAA,CAAA;;EAE3B;AAEM,MAAM,gBAAgB,GAAG,GAAG,CAAA,CAAA;;;;;EAKlC;AAEM,MAAM,mBAAmB,GAAG,GAAG,CAAA,CAAA;;;;;;EAMrC;AAEM,MAAM,eAAe,GAAG,GAAG,CAAA,CAAA;;EAEjC;AAEM,MAAM,mBAAmB,GAAG,GAAG,CAAA,CAAA;;;;;;EAMrC;AAEM,MAAM,SAAS,GAAG,GAAG,CAAA,CAAA;;;;;;;;EAQ3B;AAEM,MAAM,cAAc,GAAG,GAAG,CAAA,CAAA;;;EAGhC;AAEM,MAAM,KAAK,GAAG,GAAG,CAAA,CAAA;;;;EAIvB;AAEM,MAAM,SAAS,GAAG,GAAG,CAAA,CAAA;;;;;;;AAOvB,GAAA,EAAA,CAAA,CAAA,EAAI,aAAa,CAAE,CAAA,CAAA;;;EAGvB;AAEM,MAAM,SAAS,GAAG,GAAG,CAAA,CAAA;;;EAG3B;AAEM,MAAM,mBAAmB,GAAG,GAAG,CAAA,CAAA;;EAErC;AAEM,MAAM,aAAa,GAAG,GAAG,CAAA,CAAA;;;;;;;;;;;;;;AAc3B,GAAA,EAAA,CAAA,CAAA,EAAI,mBAAmB,CAAE,CAAA,CAAA;;;;EAI7B;AAEM,MAAM,SAAS,GAAG,GAAG,CAAA,CAAA;;;;;EAK3B;AAEM,MAAM,WAAW,GAAG,GAAG,CAAA,CAAA;;;AAG1B,EAAA,EAAA,CAAA,CAAA,EAAI,SAAS,CAAE,CAAA,CAAA;;;;;EAKlB;AAEM,MAAM,UAAU,GAAG,GAAG,CAAA,CAAA;;;;EAI5B;AAEM,MAAM,WAAW,GAAG,GAAG,CAAA,CAAA;;;AAG1B,EAAA,EAAA,CAAA,CAAA,EAAI,IAAI,CAAE,CAAA,CAAA;;;;;AAKV,EAAA,EAAA,CAAA,CAAA,EAAI,QAAQ,CAAE,CAAA,CAAA;;;;AAId,EAAA,EAAA,CAAA,CAAA,EAAI,SAAS,CAAE,CAAA,CAAA;;;;;AAKf,EAAA,EAAA,CAAA,CAAA,EAAI,KAAK,CAAE,CAAA,CAAA;;;;AAIX,EAAA,EAAA,CAAA,CAAA,EAAI,mBAAmB,CAAE,CAAA,CAAA;;;;;AAKxB,GAAA,EAAA,CAAA,CAAA,EAAI,SAAS,CAAE,CAAA,CAAA;;;;;;;;"}
@@ -0,0 +1,16 @@
1
+ import { Selection, BaseType } from 'd3-selection';
2
+ import { NumericAccessor, BooleanAccessor } from "../../../../types/accessor";
3
+ import { GraphInputLink, GraphInputNode } from "../../../../types/graph";
4
+ import { GraphNode, GraphPanel } from '../../types';
5
+ import { GraphConfig } from '../../config';
6
+ export declare const DEFAULT_PADDING = 15;
7
+ export declare const DEFAULT_LABEL_MARGIN = 16;
8
+ export declare const OUTLINE_SELECTION_PADDING = 5;
9
+ export declare const DEFAULT_SIDE_LABEL_SIZE = 25;
10
+ export declare function setPanelForNodes<N extends GraphInputNode, L extends GraphInputLink>(panels: GraphPanel[], nodes: GraphNode<N, L>[], config: GraphConfig<N, L>): void;
11
+ export declare function setPanelBBox<N extends GraphInputNode, L extends GraphInputLink>(panelConfig: GraphPanel, panelNodes: Selection<BaseType, GraphNode<N, L>, SVGGElement, unknown>, nodeSizeAccessor: NumericAccessor<N>, nodeDisabledAccessor: BooleanAccessor<N>): void;
12
+ export declare function setPanelNumNodes<N extends GraphInputNode, L extends GraphInputLink>(panelConfig: GraphPanel, panelNodes: Selection<BaseType, GraphNode<N, L>, SVGGElement, unknown>): void;
13
+ export declare function updatePanelBBoxSize<N extends GraphInputNode, L extends GraphInputLink>(nodesSelection: Selection<BaseType, GraphNode<N, L>, SVGGElement, unknown>, panels: GraphPanel[], config: GraphConfig<N, L>): void;
14
+ export declare function updatePanelNumNodes<N extends GraphInputNode, L extends GraphInputLink>(nodesSelection: Selection<BaseType, GraphNode<N, L>, SVGGElement, unknown>, panels: GraphPanel[], config: GraphConfig<N, L>): void;
15
+ export declare function getMaxPanelPadding<N extends GraphInputNode, L extends GraphInputLink>(panels: GraphPanel[]): number;
16
+ export declare function getLabelTranslateTransform<N extends GraphInputNode, L extends GraphInputLink>(panel: GraphPanel): string;
@@ -0,0 +1,110 @@
1
+ import { max } from 'd3-array';
2
+ import { Position } from '../../../../types/position.js';
3
+ import { find, getBoolean } from '../../../../utils/data.js';
4
+ import { getNodeSize, getX, getY } from '../node/helper.js';
5
+ import { node } from '../node/style.js';
6
+
7
+ const DEFAULT_PADDING = 15;
8
+ const DEFAULT_LABEL_MARGIN = 16;
9
+ const OUTLINE_SELECTION_PADDING = 5;
10
+ const DEFAULT_SIDE_LABEL_SIZE = 25;
11
+ function setPanelForNodes(panels, nodes, config) {
12
+ const { layoutNonConnectedAside } = config;
13
+ if (!panels)
14
+ return;
15
+ // For each Node create Panels to which node belongs
16
+ // Then for each Panel create an array of neighbouring Nodes
17
+ nodes.forEach(node => {
18
+ // Find all panels to which node is belong
19
+ const nodePanels = panels.filter(panel => panel.nodes && panel.nodes.includes(node._id));
20
+ if (!layoutNonConnectedAside || node._isConnected) {
21
+ // Find and put neighbour Nodes to each panel
22
+ node._panels = nodePanels.map(panel => {
23
+ const panelNodes = panel.nodes.map((panelNodeId) => find(nodes, (n) => panelNodeId === n._id));
24
+ return layoutNonConnectedAside ? panelNodes.filter((n) => n._isConnected) : panelNodes;
25
+ });
26
+ }
27
+ });
28
+ }
29
+ function setPanelBBox(panelConfig, panelNodes, nodeSizeAccessor, nodeDisabledAccessor) {
30
+ const selection = panelNodes.select(`.${node}`);
31
+ if (selection.empty())
32
+ return;
33
+ const labelApprxHeight = 40;
34
+ const labelApprxWidth = 110;
35
+ const labelMargin = 10;
36
+ let box;
37
+ selection.each((d, i) => {
38
+ const nodeSize = getNodeSize(d, nodeSizeAccessor, i);
39
+ const w = Math.max(nodeSize, labelApprxWidth);
40
+ const h = nodeSize + labelMargin + labelApprxHeight;
41
+ // const nodeBBox = node.getBBox()
42
+ const yShift = 10; // This is hard to calculate so we just using an approximation
43
+ const coords = {
44
+ x1: getX(d) - w / 2 - DEFAULT_PADDING,
45
+ y1: getY(d) - h / 2 + yShift - DEFAULT_PADDING,
46
+ x2: getX(d) + w / 2 + DEFAULT_PADDING,
47
+ y2: getY(d) + h / 2 + yShift + DEFAULT_PADDING,
48
+ };
49
+ if (!box) {
50
+ box = Object.assign({}, coords);
51
+ }
52
+ else {
53
+ if (box.x1 > coords.x1)
54
+ box.x1 = coords.x1;
55
+ if (box.y1 > coords.y1)
56
+ box.y1 = coords.y1;
57
+ if (box.x2 < coords.x2)
58
+ box.x2 = coords.x2;
59
+ if (box.y2 < coords.y2)
60
+ box.y2 = coords.y2;
61
+ }
62
+ });
63
+ panelConfig._x = box.x1;
64
+ panelConfig._y = box.y1;
65
+ panelConfig._width = box.x2 - box.x1;
66
+ panelConfig._height = box.y2 - box.y1;
67
+ panelConfig._disabled = selection.data()
68
+ .map((node, i) => getBoolean(node, nodeDisabledAccessor, node._index) || node._state.greyout)
69
+ .every(d => d);
70
+ }
71
+ function setPanelNumNodes(panelConfig, panelNodes) {
72
+ panelConfig._numNodes = panelNodes.size();
73
+ }
74
+ function updatePanelBBoxSize(nodesSelection, panels, config) {
75
+ const { layoutNonConnectedAside } = config;
76
+ if (!panels)
77
+ return;
78
+ panels.forEach(panelConfig => {
79
+ const panelNodes = nodesSelection.filter(node => {
80
+ return (!layoutNonConnectedAside || node._isConnected) && panelConfig.nodes.includes(node._id);
81
+ });
82
+ setPanelBBox(panelConfig, panelNodes, config.nodeSize, config.nodeDisabled);
83
+ });
84
+ }
85
+ function updatePanelNumNodes(nodesSelection, panels, config) {
86
+ const { layoutNonConnectedAside } = config;
87
+ if (!panels)
88
+ return;
89
+ panels.forEach(panelConfig => {
90
+ const panelNodes = nodesSelection.filter(node => {
91
+ return (!layoutNonConnectedAside || node._isConnected) && panelConfig.nodes.includes(node._id);
92
+ });
93
+ setPanelNumNodes(panelConfig, panelNodes);
94
+ });
95
+ }
96
+ function getMaxPanelPadding(panels) {
97
+ return (panels === null || panels === void 0 ? void 0 : panels.length) ? DEFAULT_PADDING + max(panels.map(d => { var _a; return (_a = d.padding) !== null && _a !== void 0 ? _a : 0; })) : 0;
98
+ }
99
+ function getLabelTranslateTransform(panel) {
100
+ var _a;
101
+ const x = panel._width / 2;
102
+ const dy = ((_a = panel.padding) !== null && _a !== void 0 ? _a : DEFAULT_PADDING) + DEFAULT_LABEL_MARGIN + (panel.dashedOutline ? OUTLINE_SELECTION_PADDING : 0);
103
+ const y = panel.labelPosition === Position.Bottom
104
+ ? panel._height + dy
105
+ : -dy;
106
+ return `translate(${x}, ${y})`;
107
+ }
108
+
109
+ export { DEFAULT_LABEL_MARGIN, DEFAULT_PADDING, DEFAULT_SIDE_LABEL_SIZE, OUTLINE_SELECTION_PADDING, getLabelTranslateTransform, getMaxPanelPadding, setPanelBBox, setPanelForNodes, setPanelNumNodes, updatePanelBBoxSize, updatePanelNumNodes };
110
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sources":["../../../../../src/components/graph/modules/panel/helper.ts"],"sourcesContent":["import { Selection, BaseType } from 'd3-selection'\nimport { max } from 'd3-array'\n\n// Types\nimport { NumericAccessor, BooleanAccessor } from 'types/accessor'\nimport { Position } from 'types/position'\nimport { GraphInputLink, GraphInputNode } from 'types/graph'\n\n// Utils\nimport { find, getBoolean } from 'utils/data'\n\n// Local Types\nimport { GraphNode, GraphPanel } from '../../types'\n\n// Config\nimport { GraphConfig } from '../../config'\n\n// Helpers\nimport { getX, getY, getNodeSize } from '../node/helper'\n\n// Styles\nimport * as nodeSelectors from '../node/style'\n\nexport const DEFAULT_PADDING = 15\nexport const DEFAULT_LABEL_MARGIN = 16\nexport const OUTLINE_SELECTION_PADDING = 5\nexport const DEFAULT_SIDE_LABEL_SIZE = 25\n\nexport function setPanelForNodes<N extends GraphInputNode, L extends GraphInputLink> (\n panels: GraphPanel[],\n nodes: GraphNode<N, L>[],\n config: GraphConfig<N, L>\n): void {\n const { layoutNonConnectedAside } = config\n if (!panels) return\n\n // For each Node create Panels to which node belongs\n // Then for each Panel create an array of neighbouring Nodes\n nodes.forEach(node => {\n // Find all panels to which node is belong\n const nodePanels = panels.filter(panel => panel.nodes && panel.nodes.includes(node._id))\n if (!layoutNonConnectedAside || node._isConnected) {\n // Find and put neighbour Nodes to each panel\n node._panels = nodePanels.map(panel => {\n const panelNodes = panel.nodes.map((panelNodeId): GraphNode<N, L> => find(nodes, (n: GraphNode<N, L>) => panelNodeId === n._id))\n return layoutNonConnectedAside ? panelNodes.filter((n: GraphNode<N, L>) => n._isConnected) : panelNodes\n })\n }\n })\n}\n\nexport function setPanelBBox<N extends GraphInputNode, L extends GraphInputLink> (\n panelConfig: GraphPanel,\n panelNodes: Selection<BaseType, GraphNode<N, L>, SVGGElement, unknown>,\n nodeSizeAccessor: NumericAccessor<N>,\n nodeDisabledAccessor: BooleanAccessor<N>\n): void {\n const selection = panelNodes.select(`.${nodeSelectors.node}`)\n if (selection.empty()) return\n\n const labelApprxHeight = 40\n const labelApprxWidth = 110\n const labelMargin = 10\n let box: { x1: number; x2: number; y1: number; y2: number }\n\n selection.each((d, i) => {\n const nodeSize = getNodeSize(d, nodeSizeAccessor, i)\n const w = Math.max(nodeSize, labelApprxWidth)\n const h = nodeSize + labelMargin + labelApprxHeight\n // const nodeBBox = node.getBBox()\n const yShift = 10 // This is hard to calculate so we just using an approximation\n\n const coords = {\n x1: getX(d) - w / 2 - DEFAULT_PADDING, // We use d.x and d.y instead of bBox values here because gBBox contains initial ...\n y1: getY(d) - h / 2 + yShift - DEFAULT_PADDING, // ... coordinates (before transition starts), not target coordinates\n x2: getX(d) + w / 2 + DEFAULT_PADDING,\n y2: getY(d) + h / 2 + yShift + DEFAULT_PADDING,\n }\n\n if (!box) {\n box = {\n ...coords,\n }\n } else {\n if (box.x1 > coords.x1) box.x1 = coords.x1\n if (box.y1 > coords.y1) box.y1 = coords.y1\n if (box.x2 < coords.x2) box.x2 = coords.x2\n if (box.y2 < coords.y2) box.y2 = coords.y2\n }\n })\n\n panelConfig._x = box.x1\n panelConfig._y = box.y1\n panelConfig._width = box.x2 - box.x1\n panelConfig._height = box.y2 - box.y1\n panelConfig._disabled = selection.data()\n .map((node, i) => getBoolean(node, nodeDisabledAccessor, node._index) || node._state.greyout)\n .every(d => d)\n}\n\nexport function setPanelNumNodes<N extends GraphInputNode, L extends GraphInputLink> (\n panelConfig: GraphPanel,\n panelNodes: Selection<BaseType, GraphNode<N, L>, SVGGElement, unknown>\n): void {\n panelConfig._numNodes = panelNodes.size()\n}\n\nexport function updatePanelBBoxSize<N extends GraphInputNode, L extends GraphInputLink> (\n nodesSelection: Selection<BaseType, GraphNode<N, L>, SVGGElement, unknown>,\n panels: GraphPanel[],\n config: GraphConfig<N, L>\n): void {\n const { layoutNonConnectedAside } = config\n if (!panels) return\n\n panels.forEach(panelConfig => {\n const panelNodes = nodesSelection.filter(node => {\n return (!layoutNonConnectedAside || node._isConnected) && panelConfig.nodes.includes(node._id)\n })\n setPanelBBox(panelConfig, panelNodes, config.nodeSize, config.nodeDisabled)\n })\n}\n\nexport function updatePanelNumNodes<N extends GraphInputNode, L extends GraphInputLink> (\n nodesSelection: Selection<BaseType, GraphNode<N, L>, SVGGElement, unknown>,\n panels: GraphPanel[],\n config: GraphConfig<N, L>\n): void {\n const { layoutNonConnectedAside } = config\n if (!panels) return\n\n panels.forEach(panelConfig => {\n const panelNodes = nodesSelection.filter(node => {\n return (!layoutNonConnectedAside || node._isConnected) && panelConfig.nodes.includes(node._id)\n })\n setPanelNumNodes(panelConfig, panelNodes)\n })\n}\n\nexport function getMaxPanelPadding<N extends GraphInputNode, L extends GraphInputLink> (panels: GraphPanel[]): number {\n return panels?.length ? DEFAULT_PADDING + max(panels.map(d => d.padding ?? 0)) : 0\n}\n\nexport function getLabelTranslateTransform<N extends GraphInputNode, L extends GraphInputLink> (panel: GraphPanel): string {\n const x = panel._width / 2\n const dy = (panel.padding ?? DEFAULT_PADDING) + DEFAULT_LABEL_MARGIN + (panel.dashedOutline ? OUTLINE_SELECTION_PADDING : 0)\n const y = panel.labelPosition === Position.Bottom\n ? panel._height + dy\n : -dy\n\n return `translate(${x}, ${y})`\n}\n"],"names":["nodeSelectors.node"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Selection } from 'd3-selection';
2
+ import { GraphInputLink, GraphInputNode } from "../../../../types/graph";
3
+ import { GraphNode, GraphLink, GraphPanel } from '../../types';
4
+ import { GraphConfig } from '../../config';
5
+ export declare function createPanels<N extends GraphNode, L extends GraphLink>(selection: Selection<SVGGElement, GraphPanel, SVGGElement, unknown>, nodesSelection: Selection<SVGGElement, N, SVGGElement, N>): void;
6
+ export declare function updatePanels<N extends GraphNode, L extends GraphLink>(selection: Selection<SVGGElement, GraphPanel, SVGGElement, unknown>, config: GraphConfig<GraphInputNode, GraphInputLink>, duration: number): void;
7
+ export declare function removePanels<N extends GraphNode, L extends GraphLink>(selection: Selection<SVGGElement, GraphPanel, SVGGElement, unknown>, config: GraphConfig<GraphInputNode, GraphInputLink>, duration: number): void;
@@ -0,0 +1,103 @@
1
+ import { select } from 'd3-selection';
2
+ import { trimText } from '../../../../utils/text.js';
3
+ import { smartTransition } from '../../../../utils/d3.js';
4
+ import { setLabelRect } from '../node/helper.js';
5
+ import { DEFAULT_PADDING, getLabelTranslateTransform, OUTLINE_SELECTION_PADDING, DEFAULT_SIDE_LABEL_SIZE } from './helper.js';
6
+ import { panelSelection, panel, label, background, labelText, sideIconGroup, sideIconSymbol, panelSelectionActive, sideIconShape, customSideIcon } from './style.js';
7
+ import { appendShape, updateShape } from '../shape.js';
8
+
9
+ function createPanels(selection, nodesSelection) {
10
+ selection
11
+ .attr('transform', d => `translate(${d._x}, ${d._y})`)
12
+ .style('opacity', 0);
13
+ selection.append('rect').attr('class', panelSelection)
14
+ .attr('rx', 9)
15
+ .attr('ry', 9);
16
+ selection.append('rect').attr('class', panel)
17
+ .attr('rx', 7)
18
+ .attr('ry', 7)
19
+ .attr('x', d => -(d.padding || DEFAULT_PADDING))
20
+ .attr('y', d => -(d.padding || DEFAULT_PADDING))
21
+ .attr('width', d => d._width + (d.padding || DEFAULT_PADDING) * 2)
22
+ .attr('height', d => d._height + (d.padding || DEFAULT_PADDING) * 2);
23
+ const label$1 = selection.append('g').attr('class', label)
24
+ .attr('transform', getLabelTranslateTransform);
25
+ label$1.append('rect').attr('class', background);
26
+ label$1.append('text').attr('class', labelText)
27
+ .attr('dy', '0.32em');
28
+ const sideLabel = selection.append('g')
29
+ .attr('class', sideIconGroup)
30
+ .attr('transform', (d, i, elements) => {
31
+ const dx = (d.padding || DEFAULT_PADDING) - OUTLINE_SELECTION_PADDING;
32
+ const dy = (d.padding || DEFAULT_PADDING) - OUTLINE_SELECTION_PADDING;
33
+ return `translate(${d._width + dx}, ${-dy})`;
34
+ });
35
+ appendShape(sideLabel, (d) => d.sideIconShape, sideIconShape, customSideIcon);
36
+ sideLabel.append('text').attr('class', sideIconSymbol);
37
+ }
38
+ function updatePanels(selection, config, duration) {
39
+ smartTransition(selection, duration)
40
+ .attr('transform', d => `translate(${d._x}, ${d._y})`)
41
+ .style('opacity', d => d._disabled ? 0.4 : 1);
42
+ const panels = selection.selectAll(`.${panel}`).data(d => [d]);
43
+ smartTransition(panels, duration)
44
+ .attr('x', d => -(d.padding || DEFAULT_PADDING))
45
+ .attr('y', d => -(d.padding || DEFAULT_PADDING))
46
+ .attr('width', d => d._width + (d.padding || DEFAULT_PADDING) * 2)
47
+ .attr('height', d => d._height + (d.padding || DEFAULT_PADDING) * 2)
48
+ .style('stroke', d => d.borderColor)
49
+ .style('stroke-width', d => d.borderWidth);
50
+ const panelSelectionOutlines = selection.selectAll(`.${panelSelection}`)
51
+ .data(d => [d])
52
+ .classed(panelSelectionActive, d => d.dashedOutline);
53
+ smartTransition(panelSelectionOutlines, duration)
54
+ .attr('x', d => -(d.padding || DEFAULT_PADDING) - OUTLINE_SELECTION_PADDING)
55
+ .attr('y', d => -(d.padding || DEFAULT_PADDING) - OUTLINE_SELECTION_PADDING)
56
+ .attr('width', d => d._width + (d.padding || DEFAULT_PADDING) * 2 + OUTLINE_SELECTION_PADDING * 2)
57
+ .attr('height', d => d._height + (d.padding || DEFAULT_PADDING) * 2 + OUTLINE_SELECTION_PADDING * 2);
58
+ const sideLabels = selection.selectAll(`.${sideIconGroup}`)
59
+ .data(d => [d]);
60
+ sideLabels.select(`.${sideIconShape}`)
61
+ .call(updateShape, (d) => d.sideIconShape, (d) => { var _a; return (_a = d.sideIconShapeSize) !== null && _a !== void 0 ? _a : DEFAULT_SIDE_LABEL_SIZE; })
62
+ .style('stroke', d => d.sideIconShapeStroke)
63
+ .style('cursor', d => { var _a; return (_a = d.sideIconCursor) !== null && _a !== void 0 ? _a : null; })
64
+ .style('opacity', d => d.sideIconShape ? 1 : 0);
65
+ sideLabels.select(`.${sideIconSymbol}`)
66
+ .html(d => d.sideIconSymbol)
67
+ .attr('dy', 1)
68
+ .style('fill', d => d.sideIconSymbolColor)
69
+ .style('font-size', d => { var _a, _b; return (_a = d.sideIconFontSize) !== null && _a !== void 0 ? _a : (((_b = d.sideIconShapeSize) !== null && _b !== void 0 ? _b : DEFAULT_SIDE_LABEL_SIZE) / 2.5); });
70
+ smartTransition(sideLabels, duration)
71
+ .attr('transform', (d, i, elements) => {
72
+ const dx = (d.padding || DEFAULT_PADDING) - OUTLINE_SELECTION_PADDING;
73
+ const dy = (d.padding || DEFAULT_PADDING) - OUTLINE_SELECTION_PADDING;
74
+ return `translate(${d._width + dx}, ${-dy})`;
75
+ });
76
+ const labels = selection.selectAll(`.${label}`)
77
+ .data(d => [d]);
78
+ labels.select(`.${labelText}`)
79
+ .text(d => trimText(d.label));
80
+ smartTransition(labels, duration)
81
+ .attr('transform', getLabelTranslateTransform);
82
+ labels
83
+ .on('mouseover', (event, d) => {
84
+ const label = select(event.currentTarget);
85
+ const labelContent = d.label;
86
+ label.select('text').text(labelContent);
87
+ setLabelRect(label, labelContent, labelText);
88
+ })
89
+ .on('mouseleave', (event, d) => {
90
+ const label = select(event.currentTarget);
91
+ const labelContent = trimText(d.label);
92
+ label.select('text').text(labelContent);
93
+ setLabelRect(label, labelContent, labelText);
94
+ });
95
+ }
96
+ function removePanels(selection, config, duration) {
97
+ smartTransition(selection, duration / 2)
98
+ .style('opacity', 0)
99
+ .remove();
100
+ }
101
+
102
+ export { createPanels, removePanels, updatePanels };
103
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/graph/modules/panel/index.ts"],"sourcesContent":["import { select, Selection } from 'd3-selection'\n\n// Utils\nimport { trimText } from 'utils/text'\nimport { smartTransition } from 'utils/d3'\n\n// Types\nimport { GraphInputLink, GraphInputNode } from 'types/graph'\n\n// Local Types\nimport { GraphNode, GraphLink, GraphPanel } from '../../types'\n\n// Config\nimport { GraphConfig } from '../../config'\n\n// Helpers\nimport { setLabelRect } from '../node/helper'\nimport { getLabelTranslateTransform, OUTLINE_SELECTION_PADDING, DEFAULT_PADDING, DEFAULT_SIDE_LABEL_SIZE } from './helper'\n\n// Styles\nimport * as panelSelectors from './style'\nimport { appendShape, updateShape } from '../shape'\n\nexport function createPanels<N extends GraphNode, L extends GraphLink> (\n selection: Selection<SVGGElement, GraphPanel, SVGGElement, unknown>,\n nodesSelection: Selection<SVGGElement, N, SVGGElement, N>\n): void {\n selection\n .attr('transform', d => `translate(${d._x}, ${d._y})`)\n .style('opacity', 0)\n\n selection.append('rect').attr('class', panelSelectors.panelSelection)\n .attr('rx', 9)\n .attr('ry', 9)\n\n selection.append('rect').attr('class', panelSelectors.panel)\n .attr('rx', 7)\n .attr('ry', 7)\n .attr('x', d => -(d.padding || DEFAULT_PADDING))\n .attr('y', d => -(d.padding || DEFAULT_PADDING))\n .attr('width', d => d._width + (d.padding || DEFAULT_PADDING) * 2)\n .attr('height', d => d._height + (d.padding || DEFAULT_PADDING) * 2)\n\n const label = selection.append('g').attr('class', panelSelectors.label)\n .attr('transform', getLabelTranslateTransform)\n label.append('rect').attr('class', panelSelectors.background)\n label.append('text').attr('class', panelSelectors.labelText)\n .attr('dy', '0.32em')\n\n const sideLabel = selection.append('g')\n .attr('class', panelSelectors.sideIconGroup)\n .attr('transform', (d, i, elements) => {\n const dx = (d.padding || DEFAULT_PADDING) - OUTLINE_SELECTION_PADDING\n const dy = (d.padding || DEFAULT_PADDING) - OUTLINE_SELECTION_PADDING\n return `translate(${d._width + dx}, ${-dy})`\n })\n appendShape(sideLabel, (d: GraphPanel) => d.sideIconShape, panelSelectors.sideIconShape, panelSelectors.customSideIcon)\n sideLabel.append('text').attr('class', panelSelectors.sideIconSymbol)\n}\n\nexport function updatePanels<N extends GraphNode, L extends GraphLink> (\n selection: Selection<SVGGElement, GraphPanel, SVGGElement, unknown>,\n config: GraphConfig<GraphInputNode, GraphInputLink>,\n duration: number\n): void {\n smartTransition(selection, duration)\n .attr('transform', d => `translate(${d._x}, ${d._y})`)\n .style('opacity', d => d._disabled ? 0.4 : 1)\n\n const panels = selection.selectAll(`.${panelSelectors.panel}`).data(d => [d])\n smartTransition(panels, duration)\n .attr('x', d => -(d.padding || DEFAULT_PADDING))\n .attr('y', d => -(d.padding || DEFAULT_PADDING))\n .attr('width', d => d._width + (d.padding || DEFAULT_PADDING) * 2)\n .attr('height', d => d._height + (d.padding || DEFAULT_PADDING) * 2)\n .style('stroke', d => d.borderColor)\n .style('stroke-width', d => d.borderWidth)\n\n const panelSelectionOutlines = selection.selectAll(`.${panelSelectors.panelSelection}`)\n .data(d => [d])\n .classed(panelSelectors.panelSelectionActive, d => d.dashedOutline)\n\n smartTransition(panelSelectionOutlines, duration)\n .attr('x', d => -(d.padding || DEFAULT_PADDING) - OUTLINE_SELECTION_PADDING)\n .attr('y', d => -(d.padding || DEFAULT_PADDING) - OUTLINE_SELECTION_PADDING)\n .attr('width', d => d._width + (d.padding || DEFAULT_PADDING) * 2 + OUTLINE_SELECTION_PADDING * 2)\n .attr('height', d => d._height + (d.padding || DEFAULT_PADDING) * 2 + OUTLINE_SELECTION_PADDING * 2)\n\n const sideLabels = selection.selectAll(`.${panelSelectors.sideIconGroup}`)\n .data(d => [d])\n\n sideLabels.select<SVGGElement>(`.${panelSelectors.sideIconShape}`)\n .call(updateShape, (d: GraphPanel) => d.sideIconShape, (d: GraphPanel) => d.sideIconShapeSize ?? DEFAULT_SIDE_LABEL_SIZE)\n .style('stroke', d => d.sideIconShapeStroke)\n .style('cursor', d => d.sideIconCursor ?? null)\n .style('opacity', d => d.sideIconShape ? 1 : 0)\n\n sideLabels.select(`.${panelSelectors.sideIconSymbol}`)\n .html(d => d.sideIconSymbol)\n .attr('dy', 1)\n .style('fill', d => d.sideIconSymbolColor)\n .style('font-size', d => d.sideIconFontSize ?? ((d.sideIconShapeSize ?? DEFAULT_SIDE_LABEL_SIZE) / 2.5))\n\n smartTransition(sideLabels, duration)\n .attr('transform', (d, i, elements) => {\n const dx = (d.padding || DEFAULT_PADDING) - OUTLINE_SELECTION_PADDING\n const dy = (d.padding || DEFAULT_PADDING) - OUTLINE_SELECTION_PADDING\n return `translate(${d._width + dx}, ${-dy})`\n })\n\n const labels = selection.selectAll(`.${panelSelectors.label}`)\n .data(d => [d])\n\n labels.select(`.${panelSelectors.labelText}`)\n .text(d => trimText(d.label))\n\n smartTransition(labels, duration)\n .attr('transform', getLabelTranslateTransform)\n\n labels\n .on('mouseover', (event: MouseEvent, d) => {\n const label = select(event.currentTarget as SVGTextElement)\n const labelContent = d.label\n label.select('text').text(labelContent)\n setLabelRect(label, labelContent, panelSelectors.labelText)\n })\n .on('mouseleave', (event: MouseEvent, d) => {\n const label = select(event.currentTarget as SVGTextElement)\n const labelContent = trimText(d.label)\n label.select('text').text(labelContent)\n setLabelRect(label, labelContent, panelSelectors.labelText)\n })\n}\n\nexport function removePanels<N extends GraphNode, L extends GraphLink> (\n selection: Selection<SVGGElement, GraphPanel, SVGGElement, unknown>,\n config: GraphConfig<GraphInputNode, GraphInputLink>,\n duration: number\n): void {\n smartTransition(selection, duration / 2)\n .style('opacity', 0)\n .remove()\n}\n"],"names":["panelSelectors.panelSelection","panelSelectors.panel","label","panelSelectors.label","panelSelectors.background","panelSelectors.labelText","panelSelectors.sideIconGroup","panelSelectors.sideIconShape","panelSelectors.customSideIcon","panelSelectors.sideIconSymbol","panelSelectors.panelSelectionActive"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export declare const panels: string;
2
+ export declare const variables: void;
3
+ export declare const gPanel: string;
4
+ export declare const panel: string;
5
+ export declare const label: string;
6
+ export declare const background: string;
7
+ export declare const labelText: string;
8
+ export declare const panelSelectionActive: string;
9
+ export declare const panelSelection: string;
10
+ export declare const greyout: string;
11
+ export declare const sideIconGroup: string;
12
+ export declare const sideIconShape: string;
13
+ export declare const customSideIcon: string;
14
+ export declare const sideIconSymbol: string;
@@ -0,0 +1,123 @@
1
+ import { css, injectGlobal } from '@emotion/css';
2
+
3
+ const panels = css `
4
+ label: panels;
5
+ `;
6
+ injectGlobal `
7
+ :root {
8
+ --vis-graph-panel-border-color: #E6E9F3;
9
+ --vis-graph-panel-border-opacity: 0.9;
10
+ --vis-graph-panel-fill-color: #ffffff;
11
+
12
+ --vis-graph-panel-label-color: #6c778c;
13
+ --vis-graph-panel-label-background: #ffffff;
14
+ --vis-graph-panel-label-font-family: var(--vis-font-family);
15
+ --vis-graph-panel-label-font-size: 10pt;
16
+ --vis-graph-panel-label-font-weight: 300;
17
+
18
+ --vis-graph-panel-dashed-outline-color: #b7b7b7;
19
+
20
+ --vis-graph-panel-side-icon-symbol-color: #9ea7b8;
21
+ --vis-graph-panel-side-icon-shape-fill-color: #ffffff;
22
+
23
+ --vis-dark-graph-panel-border-color: var(--vis-color-gray);
24
+ --vis-dark-graph-panel-fill-color: #292b34;
25
+ --vis-dark-graph-panel-label-color: #E6E9F3;
26
+ --vis-dark-graph-panel-label-background: var(--vis-color-gray);
27
+ --vis-dark-graph-panel-side-icon-symbol-color: #ffffff;
28
+ --vis-dark-graph-panel-side-icon-shape-fill-color: #6c778c;
29
+ --vis-dark-graph-panel-border-color: #a0a6ad;
30
+ }
31
+
32
+ body.theme-dark ${`.${panels}`} {
33
+ --vis-graph-panel-border-color: var(--vis-dark-graph-panel-border-color);
34
+ --vis-graph-panel-fill-color: var(--vis-dark-graph-panel-fill-color);
35
+ --vis-graph-panel-label-color: var(--vis-dark-graph-panel-label-color);
36
+ --vis-graph-panel-label-background: var(--vis-dark-graph-panel-label-background);
37
+ --vis-graph-panel-side-icon-symbol-color: var(--vis-dark-graph-panel-side-icon-symbol-color);
38
+ --vis-graph-panel-side-icon-shape-fill-color: var(--vis-dark-graph-panel-side-icon-shape-fill-color);
39
+ --vis-graph-panel-border-color: var(--vis-dark-graph-panel-border-color);
40
+ }
41
+ `;
42
+ const gPanel = css `
43
+ label: g-panel;
44
+ `;
45
+ const panel = css `
46
+ label: panel;
47
+
48
+ stroke: var(--vis-graph-panel-border-color);
49
+ stroke-opacity: var(--vis-graph-panel-border-opacity);
50
+ fill: var(--vis-graph-panel-fill-color);
51
+ `;
52
+ const label = css `
53
+ label: label;
54
+
55
+ fill: var(--vis-graph-panel-label-color);
56
+ `;
57
+ const background = css `
58
+ label: background;
59
+
60
+ opacity: 0.9;
61
+ -webkit-backdrop-filter: blur(2px);
62
+ backdrop-filter: blur(2px);
63
+ fill: var(--vis-graph-panel-label-background);
64
+ stroke: none;
65
+ `;
66
+ const labelText = css `
67
+ label: label-text;
68
+
69
+ text-anchor: middle;
70
+ font-size: var(--vis-graph-panel-label-font-size);
71
+ font-weight: var(--vis-graph-panel-label-font-weight);;
72
+ cursor: default;
73
+ stroke: none;
74
+ font-family: var(--vis-graph-panel-label-font-family);
75
+ `;
76
+ const panelSelectionActive = css `
77
+ label: active;
78
+ `;
79
+ const panelSelection = css `
80
+ label: panel-selection-outline;
81
+
82
+ opacity: 0;
83
+ stroke-width: 1;
84
+ stroke-dasharray: 3 3;
85
+ fill: var(--vis-graph-node-selection-color);
86
+ fill-opacity: 0.1;
87
+ stroke: var(--vis-graph-panel-dashed-outline-color);
88
+ stroke-opacity: 0;
89
+
90
+ &${`.${panelSelectionActive}`} {
91
+ opacity: 1;
92
+ stroke-opacity: 0.75;
93
+ }
94
+ `;
95
+ css `
96
+ label: greyout;
97
+ opacity: 0.4;
98
+ `;
99
+ const sideIconGroup = css `
100
+ label: side-icon-group;
101
+ `;
102
+ const sideIconShape = css `
103
+ label: side-icon-shape;
104
+
105
+ fill: var(--vis-graph-panel-side-icon-shape-fill-color);
106
+ stroke-width: 2px;
107
+ `;
108
+ const customSideIcon = css `
109
+ label: side-icon-custom;
110
+ `;
111
+ const sideIconSymbol = css `
112
+ label: side-label-icon-text;
113
+ font-family: var(--vis-graph-icon-font-family), var(--vis-font-family);
114
+ fill: var(--vis-graph-panel-side-icon-symbol-color);
115
+ stroke: none;
116
+ dominant-baseline: middle;
117
+ text-anchor: middle;
118
+ pointer-events: none;
119
+ cursor: default;
120
+ `;
121
+
122
+ export { background, customSideIcon, gPanel, label, labelText, panel, panelSelection, panelSelectionActive, panels, sideIconGroup, sideIconShape, sideIconSymbol };
123
+ //# sourceMappingURL=style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.js","sources":["../../../../../src/components/graph/modules/panel/style.ts"],"sourcesContent":["import { css, injectGlobal } from '@emotion/css'\n\nexport const panels = css`\n label: panels;\n`\n\nexport const variables = injectGlobal`\n :root {\n --vis-graph-panel-border-color: #E6E9F3;\n --vis-graph-panel-border-opacity: 0.9;\n --vis-graph-panel-fill-color: #ffffff;\n\n --vis-graph-panel-label-color: #6c778c;\n --vis-graph-panel-label-background: #ffffff;\n --vis-graph-panel-label-font-family: var(--vis-font-family);\n --vis-graph-panel-label-font-size: 10pt;\n --vis-graph-panel-label-font-weight: 300;\n\n --vis-graph-panel-dashed-outline-color: #b7b7b7;\n\n --vis-graph-panel-side-icon-symbol-color: #9ea7b8;\n --vis-graph-panel-side-icon-shape-fill-color: #ffffff;\n\n --vis-dark-graph-panel-border-color: var(--vis-color-gray);\n --vis-dark-graph-panel-fill-color: #292b34;\n --vis-dark-graph-panel-label-color: #E6E9F3;\n --vis-dark-graph-panel-label-background: var(--vis-color-gray);\n --vis-dark-graph-panel-side-icon-symbol-color: #ffffff;\n --vis-dark-graph-panel-side-icon-shape-fill-color: #6c778c;\n --vis-dark-graph-panel-border-color: #a0a6ad;\n }\n\n body.theme-dark ${`.${panels}`} {\n --vis-graph-panel-border-color: var(--vis-dark-graph-panel-border-color);\n --vis-graph-panel-fill-color: var(--vis-dark-graph-panel-fill-color);\n --vis-graph-panel-label-color: var(--vis-dark-graph-panel-label-color);\n --vis-graph-panel-label-background: var(--vis-dark-graph-panel-label-background);\n --vis-graph-panel-side-icon-symbol-color: var(--vis-dark-graph-panel-side-icon-symbol-color);\n --vis-graph-panel-side-icon-shape-fill-color: var(--vis-dark-graph-panel-side-icon-shape-fill-color);\n --vis-graph-panel-border-color: var(--vis-dark-graph-panel-border-color);\n }\n`\n\nexport const gPanel = css`\n label: g-panel;\n`\n\nexport const panel = css`\n label: panel;\n\n stroke: var(--vis-graph-panel-border-color);\n stroke-opacity: var(--vis-graph-panel-border-opacity);\n fill: var(--vis-graph-panel-fill-color);\n`\n\nexport const label = css`\n label: label;\n\n fill: var(--vis-graph-panel-label-color);\n`\n\nexport const background = css`\n label: background;\n\n opacity: 0.9;\n -webkit-backdrop-filter: blur(2px);\n backdrop-filter: blur(2px);\n fill: var(--vis-graph-panel-label-background);\n stroke: none;\n`\n\nexport const labelText = css`\n label: label-text;\n\n text-anchor: middle;\n font-size: var(--vis-graph-panel-label-font-size);\n font-weight: var(--vis-graph-panel-label-font-weight);;\n cursor: default;\n stroke: none;\n font-family: var(--vis-graph-panel-label-font-family);\n`\n\nexport const panelSelectionActive = css`\n label: active;\n`\n\nexport const panelSelection = css`\n label: panel-selection-outline;\n\n opacity: 0;\n stroke-width: 1;\n stroke-dasharray: 3 3;\n fill: var(--vis-graph-node-selection-color);\n fill-opacity: 0.1;\n stroke: var(--vis-graph-panel-dashed-outline-color);\n stroke-opacity: 0;\n\n &${`.${panelSelectionActive}`} {\n opacity: 1;\n stroke-opacity: 0.75;\n }\n`\n\nexport const greyout = css`\n label: greyout;\n opacity: 0.4;\n`\n\nexport const sideIconGroup = css`\n label: side-icon-group;\n`\n\nexport const sideIconShape = css`\n label: side-icon-shape;\n\n fill: var(--vis-graph-panel-side-icon-shape-fill-color);\n stroke-width: 2px;\n`\n\nexport const customSideIcon = css`\n label: side-icon-custom;\n`\n\nexport const sideIconSymbol = css`\n label: side-label-icon-text;\n font-family: var(--vis-graph-icon-font-family), var(--vis-font-family);\n fill: var(--vis-graph-panel-side-icon-symbol-color);\n stroke: none;\n dominant-baseline: middle;\n text-anchor: middle;\n pointer-events: none;\n cursor: default;\n`\n"],"names":[],"mappings":";;AAEO,MAAM,MAAM,GAAG,GAAG,CAAA,CAAA;;EAExB;AAEwB,YAAY,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BjB,kBAAA,EAAA,CAAA,CAAA,EAAI,MAAM,CAAE,CAAA,CAAA;;;;;;;;;EAS/B;AAEM,MAAM,MAAM,GAAG,GAAG,CAAA,CAAA;;EAExB;AAEM,MAAM,KAAK,GAAG,GAAG,CAAA,CAAA;;;;;;EAMvB;AAEM,MAAM,KAAK,GAAG,GAAG,CAAA,CAAA;;;;EAIvB;AAEM,MAAM,UAAU,GAAG,GAAG,CAAA,CAAA;;;;;;;;EAQ5B;AAEM,MAAM,SAAS,GAAG,GAAG,CAAA,CAAA;;;;;;;;;EAS3B;AAEM,MAAM,oBAAoB,GAAG,GAAG,CAAA,CAAA;;EAEtC;AAEM,MAAM,cAAc,GAAG,GAAG,CAAA,CAAA;;;;;;;;;;;AAW5B,GAAA,EAAA,CAAA,CAAA,EAAI,oBAAoB,CAAE,CAAA,CAAA;;;;EAI9B;AAEsB,GAAG,CAAA,CAAA;;;EAGzB;AAEM,MAAM,aAAa,GAAG,GAAG,CAAA,CAAA;;EAE/B;AAEM,MAAM,aAAa,GAAG,GAAG,CAAA,CAAA;;;;;EAK/B;AAEM,MAAM,cAAc,GAAG,GAAG,CAAA,CAAA;;EAEhC;AAEM,MAAM,cAAc,GAAG,GAAG,CAAA,CAAA;;;;;;;;;;;;;"}
@@ -0,0 +1,7 @@
1
+ import { Selection } from 'd3-selection';
2
+ import { NumericAccessor, StringAccessor } from "../../../types/accessor";
3
+ import { GraphInputLink, GraphInputNode } from "../../../types/graph";
4
+ import { GraphNode, GraphPanel, GraphNodeShape } from '../types';
5
+ export declare function isCustomXml(shape: GraphNodeShape): boolean;
6
+ export declare function appendShape<N extends GraphInputNode, L extends GraphInputLink>(selection: Selection<SVGGElement, GraphNode<N, L> | GraphPanel, SVGGElement, unknown>, shapeAccessor: StringAccessor<GraphNode<N, L> | GraphPanel>, shapeSelector: string, customShapeSelector: string, index?: number, insertSelector?: string): void;
7
+ export declare function updateShape<N extends GraphInputNode, L extends GraphInputLink>(selection: Selection<SVGGElement, GraphNode<N, L> | GraphPanel, SVGGElement, unknown>, shape: StringAccessor<GraphNode<N, L> | GraphPanel>, size: NumericAccessor<GraphNode<N, L> | GraphPanel>, index: number): void;
@@ -0,0 +1,80 @@
1
+ import { select } from 'd3-selection';
2
+ import { polygon } from '../../../utils/path.js';
3
+ import { getString } from '../../../utils/data.js';
4
+ import { GraphNodeShape } from '../types.js';
5
+ import { getNodeSize } from './node/helper.js';
6
+
7
+ function isCustomXml(shape) {
8
+ return /<[a-z][\s\S]*>/i.test(shape);
9
+ }
10
+ function appendShape(selection, shapeAccessor, shapeSelector, customShapeSelector, index, insertSelector = ':last-child') {
11
+ selection.each((d, i, elements) => {
12
+ const element = select(elements[i]);
13
+ const shape = getString(d, shapeAccessor, index);
14
+ let shapeElement;
15
+ const isCustomXmlShape = isCustomXml(shape);
16
+ if (isCustomXmlShape) {
17
+ shapeElement = element.insert('g', insertSelector)
18
+ .html(shape);
19
+ }
20
+ else {
21
+ switch (shape) {
22
+ case GraphNodeShape.Square:
23
+ shapeElement = element.insert('rect', insertSelector)
24
+ .attr('rx', 5)
25
+ .attr('ry', 5);
26
+ break;
27
+ case GraphNodeShape.Hexagon:
28
+ case GraphNodeShape.Triangle:
29
+ shapeElement = element.insert('path', insertSelector);
30
+ break;
31
+ case GraphNodeShape.Circle:
32
+ default:
33
+ shapeElement = element.insert('circle', insertSelector);
34
+ }
35
+ }
36
+ return shapeElement.attr('class', shapeSelector)
37
+ .classed(customShapeSelector, isCustomXmlShape);
38
+ });
39
+ }
40
+ function updateShape(selection, shape, size, index) {
41
+ if (selection.size() === 0)
42
+ return;
43
+ const d = selection.datum();
44
+ const nodeSize = getNodeSize(d, size, index);
45
+ selection.filter('circle')
46
+ .attr('r', nodeSize / 2);
47
+ selection.filter('rect')
48
+ .attr('width', nodeSize)
49
+ .attr('height', nodeSize)
50
+ .attr('x', -nodeSize / 2)
51
+ .attr('y', -nodeSize / 2);
52
+ selection.filter('path')
53
+ .attr('d', () => {
54
+ let n;
55
+ switch (getString(d, shape, index)) {
56
+ case GraphNodeShape.Square:
57
+ n = 4;
58
+ break;
59
+ case GraphNodeShape.Triangle:
60
+ n = 3;
61
+ break;
62
+ case GraphNodeShape.Hexagon:
63
+ default:
64
+ n = 6;
65
+ }
66
+ return polygon(nodeSize, n);
67
+ });
68
+ selection.filter('g')
69
+ .filter(() => !isCustomXml(getString(d, shape, index)))
70
+ .html(getString(d, shape, index));
71
+ selection.filter('g')
72
+ .each((d, i, elements) => {
73
+ const el = select(elements[i]);
74
+ const bBox = el.node().getBBox();
75
+ el.attr('transform', `translate(${-bBox.width / 2},${-bBox.height / 2})`);
76
+ });
77
+ }
78
+
79
+ export { appendShape, isCustomXml, updateShape };
80
+ //# sourceMappingURL=shape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shape.js","sources":["../../../../src/components/graph/modules/shape.ts"],"sourcesContent":["import { Selection, select } from 'd3-selection'\n\n// Types\nimport { NumericAccessor, StringAccessor } from 'types/accessor'\n\n// Utils\nimport { polygon } from 'utils/path'\nimport { getString } from 'utils/data'\n\n// Types\nimport { GraphInputLink, GraphInputNode } from 'types/graph'\n\n// Local Types\nimport { GraphNode, GraphPanel, GraphNodeShape } from '../types'\n\n// Helpers\nimport { getNodeSize } from './node/helper'\n\nexport function isCustomXml (shape: GraphNodeShape): boolean {\n return /<[a-z][\\s\\S]*>/i.test(shape)\n}\n\nexport function appendShape<N extends GraphInputNode, L extends GraphInputLink> (\n selection: Selection<SVGGElement, GraphNode<N, L> | GraphPanel, SVGGElement, unknown>,\n shapeAccessor: StringAccessor<GraphNode<N, L> | GraphPanel>,\n shapeSelector: string,\n customShapeSelector: string,\n index?: number,\n insertSelector = ':last-child'\n): void {\n selection.each((d, i, elements) => {\n const element = select(elements[i])\n const shape = getString(d, shapeAccessor, index) as GraphNodeShape\n\n let shapeElement\n const isCustomXmlShape = isCustomXml(shape)\n if (isCustomXmlShape) {\n shapeElement = element.insert('g', insertSelector)\n .html(shape)\n } else {\n switch (shape) {\n case GraphNodeShape.Square:\n shapeElement = element.insert('rect', insertSelector)\n .attr('rx', 5)\n .attr('ry', 5)\n break\n case GraphNodeShape.Hexagon:\n case GraphNodeShape.Triangle:\n shapeElement = element.insert('path', insertSelector)\n break\n case GraphNodeShape.Circle:\n default:\n shapeElement = element.insert('circle', insertSelector)\n }\n }\n\n return shapeElement.attr('class', shapeSelector)\n .classed(customShapeSelector, isCustomXmlShape)\n })\n}\n\nexport function updateShape<N extends GraphInputNode, L extends GraphInputLink> (\n selection: Selection<SVGGElement, GraphNode<N, L> | GraphPanel, SVGGElement, unknown>,\n shape: StringAccessor<GraphNode<N, L> | GraphPanel>,\n size: NumericAccessor<GraphNode<N, L> | GraphPanel>,\n index: number\n): void {\n if (selection.size() === 0) return\n\n const d: GraphNode<N, L> | GraphPanel = selection.datum()\n const nodeSize = getNodeSize(d, size, index)\n selection.filter('circle')\n .attr('r', nodeSize / 2)\n\n selection.filter('rect')\n .attr('width', nodeSize)\n .attr('height', nodeSize)\n .attr('x', -nodeSize / 2)\n .attr('y', -nodeSize / 2)\n\n selection.filter('path')\n .attr('d', () => {\n let n: number\n switch (getString(d, shape, index)) {\n case GraphNodeShape.Square:\n n = 4\n break\n case GraphNodeShape.Triangle:\n n = 3\n break\n case GraphNodeShape.Hexagon:\n default:\n n = 6\n }\n\n return polygon(nodeSize, n)\n })\n\n selection.filter('g')\n .filter(() => !isCustomXml(getString(d, shape, index) as GraphNodeShape))\n .html(getString(d, shape, index))\n\n selection.filter('g')\n .each((d, i, elements) => {\n const el = select(elements[i])\n const bBox = el.node().getBBox()\n el.attr('transform', `translate(${-bBox.width / 2},${-bBox.height / 2})`)\n })\n}\n"],"names":[],"mappings":";;;;;;AAkBM,SAAU,WAAW,CAAE,KAAqB,EAAA;AAChD,IAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACtC,CAAC;AAEe,SAAA,WAAW,CACzB,SAAqF,EACrF,aAA2D,EAC3D,aAAqB,EACrB,mBAA2B,EAC3B,KAAc,EACd,cAAc,GAAG,aAAa,EAAA;IAE9B,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,KAAI;QAChC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACnC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAmB,CAAA;AAElE,QAAA,IAAI,YAAY,CAAA;AAChB,QAAA,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;AAC3C,QAAA,IAAI,gBAAgB,EAAE;YACpB,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC;iBAC/C,IAAI,CAAC,KAAK,CAAC,CAAA;AACf,SAAA;AAAM,aAAA;AACL,YAAA,QAAQ,KAAK;gBACX,KAAK,cAAc,CAAC,MAAM;oBACxB,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;AAClD,yBAAA,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACb,yBAAA,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;oBAChB,MAAK;gBACP,KAAK,cAAc,CAAC,OAAO,CAAC;gBAC5B,KAAK,cAAc,CAAC,QAAQ;oBAC1B,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;oBACrD,MAAK;gBACP,KAAK,cAAc,CAAC,MAAM,CAAC;AAC3B,gBAAA;oBACE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;AAC1D,aAAA;AACF,SAAA;AAED,QAAA,OAAO,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC;AAC7C,aAAA,OAAO,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAA;AACnD,KAAC,CAAC,CAAA;AACJ,CAAC;AAEK,SAAU,WAAW,CACzB,SAAqF,EACrF,KAAmD,EACnD,IAAmD,EACnD,KAAa,EAAA;AAEb,IAAA,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,OAAM;AAElC,IAAA,MAAM,CAAC,GAAiC,SAAS,CAAC,KAAK,EAAE,CAAA;IACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AAC5C,IAAA,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;AACvB,SAAA,IAAI,CAAC,GAAG,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAA;AAE1B,IAAA,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;AACrB,SAAA,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AACvB,SAAA,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;AACxB,SAAA,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC;SACxB,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;AAE3B,IAAA,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;AACrB,SAAA,IAAI,CAAC,GAAG,EAAE,MAAK;AACd,QAAA,IAAI,CAAS,CAAA;QACb,QAAQ,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;YAChC,KAAK,cAAc,CAAC,MAAM;gBACxB,CAAC,GAAG,CAAC,CAAA;gBACL,MAAK;YACP,KAAK,cAAc,CAAC,QAAQ;gBAC1B,CAAC,GAAG,CAAC,CAAA;gBACL,MAAK;YACP,KAAK,cAAc,CAAC,OAAO,CAAC;AAC5B,YAAA;gBACE,CAAC,GAAG,CAAC,CAAA;AACR,SAAA;AAED,QAAA,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;AAC7B,KAAC,CAAC,CAAA;AAEJ,IAAA,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;AAClB,SAAA,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAmB,CAAC,CAAC;SACxE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;AAEnC,IAAA,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;SAClB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,KAAI;QACvB,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;QAChC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAa,UAAA,EAAA,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA,CAAA,EAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAG,CAAA,CAAA,CAAC,CAAA;AAC3E,KAAC,CAAC,CAAA;AACN;;;;"}
@@ -0,0 +1,6 @@
1
+ export declare enum ZoomLevel {
2
+ Level0 = 1,
3
+ Level1 = 0.6,
4
+ Level2 = 0.4,
5
+ Level3 = 0.2
6
+ }
@@ -0,0 +1,10 @@
1
+ var ZoomLevel;
2
+ (function (ZoomLevel) {
3
+ ZoomLevel[ZoomLevel["Level0"] = 1] = "Level0";
4
+ ZoomLevel[ZoomLevel["Level1"] = 0.6] = "Level1";
5
+ ZoomLevel[ZoomLevel["Level2"] = 0.4] = "Level2";
6
+ ZoomLevel[ZoomLevel["Level3"] = 0.2] = "Level3";
7
+ })(ZoomLevel || (ZoomLevel = {}));
8
+
9
+ export { ZoomLevel };
10
+ //# sourceMappingURL=zoom-levels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zoom-levels.js","sources":["../../../../src/components/graph/modules/zoom-levels.ts"],"sourcesContent":["export enum ZoomLevel {\n Level0 = 1.0,\n Level1 = 0.6,\n Level2 = 0.4,\n Level3 = 0.2,\n}\n"],"names":[],"mappings":"IAAY,UAKX;AALD,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,SAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAY,CAAA;AACZ,IAAA,SAAA,CAAA,SAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAY,CAAA;AACZ,IAAA,SAAA,CAAA,SAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAY,CAAA;AACZ,IAAA,SAAA,CAAA,SAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAY,CAAA;AACd,CAAC,EALW,SAAS,KAAT,SAAS,GAKpB,EAAA,CAAA,CAAA;;;;"}
@@ -0,0 +1,6 @@
1
+ export declare const variables: void;
2
+ export declare const root: string;
3
+ export declare const background: string;
4
+ export declare const graphGroup: string;
5
+ export declare const zoomOutLevel1: string;
6
+ export declare const zoomOutLevel2: string;