@fusedashlabs/widgets 0.2.0 → 0.4.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 (592) hide show
  1. package/CHANGELOG.md +94 -17
  2. package/README.md +24 -26
  3. package/dist/components/area-chart/element/ui9000-area-chart.d.ts +1 -1
  4. package/dist/components/area-grouped-bar-chart/element/ui9000-area-grouped-bar-chart.d.ts +1 -1
  5. package/dist/components/area-grouped-bar-chart/lib/normalize.js +3 -3
  6. package/dist/components/area-grouped-bar-chart/lib/normalize.js.map +1 -1
  7. package/dist/components/bar-chart/element/ui9000-bar-chart.d.ts +1 -1
  8. package/dist/components/bias-variance-tradeoff-chart/element/styles.d.ts +7 -0
  9. package/dist/components/bias-variance-tradeoff-chart/element/styles.d.ts.map +1 -0
  10. package/dist/components/bias-variance-tradeoff-chart/element/styles.js +13 -0
  11. package/dist/components/bias-variance-tradeoff-chart/element/styles.js.map +1 -0
  12. package/dist/components/bias-variance-tradeoff-chart/element/ui9000-bias-variance-tradeoff-chart.d.ts +27 -0
  13. package/dist/components/bias-variance-tradeoff-chart/element/ui9000-bias-variance-tradeoff-chart.d.ts.map +1 -0
  14. package/dist/components/bias-variance-tradeoff-chart/element/ui9000-bias-variance-tradeoff-chart.js +173 -0
  15. package/dist/components/bias-variance-tradeoff-chart/element/ui9000-bias-variance-tradeoff-chart.js.map +1 -0
  16. package/dist/components/bias-variance-tradeoff-chart/index.d.ts +5 -0
  17. package/dist/components/bias-variance-tradeoff-chart/index.d.ts.map +1 -0
  18. package/dist/components/bias-variance-tradeoff-chart/index.js +19 -0
  19. package/dist/components/bias-variance-tradeoff-chart/lib/domain.d.ts +8 -0
  20. package/dist/components/bias-variance-tradeoff-chart/lib/domain.d.ts.map +1 -0
  21. package/dist/components/bias-variance-tradeoff-chart/lib/domain.js +37 -0
  22. package/dist/components/bias-variance-tradeoff-chart/lib/domain.js.map +1 -0
  23. package/dist/components/bias-variance-tradeoff-chart/lib/format.d.ts +3 -0
  24. package/dist/components/bias-variance-tradeoff-chart/lib/format.d.ts.map +1 -0
  25. package/dist/components/bias-variance-tradeoff-chart/lib/format.js +9 -0
  26. package/dist/components/bias-variance-tradeoff-chart/lib/format.js.map +1 -0
  27. package/dist/components/bias-variance-tradeoff-chart/lib/index.d.ts +5 -0
  28. package/dist/components/bias-variance-tradeoff-chart/lib/index.d.ts.map +1 -0
  29. package/dist/components/bias-variance-tradeoff-chart/lib/normalize.d.ts +4 -0
  30. package/dist/components/bias-variance-tradeoff-chart/lib/normalize.d.ts.map +1 -0
  31. package/dist/components/bias-variance-tradeoff-chart/lib/normalize.js +135 -0
  32. package/dist/components/bias-variance-tradeoff-chart/lib/normalize.js.map +1 -0
  33. package/dist/components/bias-variance-tradeoff-chart/lib/types.d.ts +47 -0
  34. package/dist/components/bias-variance-tradeoff-chart/lib/types.d.ts.map +1 -0
  35. package/dist/components/bias-variance-tradeoff-chart/metadata.json.d.ts +41 -0
  36. package/dist/components/bias-variance-tradeoff-chart/metadata.json.js +42 -0
  37. package/dist/components/bias-variance-tradeoff-chart/metadata.json.js.map +1 -0
  38. package/dist/components/bias-variance-tradeoff-chart/render/draw.d.ts +31 -0
  39. package/dist/components/bias-variance-tradeoff-chart/render/draw.d.ts.map +1 -0
  40. package/dist/components/bias-variance-tradeoff-chart/render/draw.js +203 -0
  41. package/dist/components/bias-variance-tradeoff-chart/render/draw.js.map +1 -0
  42. package/dist/components/bias-variance-tradeoff-chart/render/index.d.ts +2 -0
  43. package/dist/components/bias-variance-tradeoff-chart/render/index.d.ts.map +1 -0
  44. package/dist/components/box-plot-chart/element/ui9000-box-plot-chart.d.ts +1 -1
  45. package/dist/components/bubble-chart/element/ui9000-bubble-chart.d.ts +1 -1
  46. package/dist/components/chart-renderer/element/ui9000-chart-renderer.d.ts +1 -0
  47. package/dist/components/chart-renderer/element/ui9000-chart-renderer.d.ts.map +1 -1
  48. package/dist/components/chart-renderer/element/ui9000-chart-renderer.js +12 -1
  49. package/dist/components/chart-renderer/element/ui9000-chart-renderer.js.map +1 -1
  50. package/dist/components/chart-renderer/lib/registry.d.ts.map +1 -1
  51. package/dist/components/chart-renderer/lib/registry.js +29 -4
  52. package/dist/components/chart-renderer/lib/registry.js.map +1 -1
  53. package/dist/components/chart-renderer/lib/types.d.ts +5 -0
  54. package/dist/components/chart-renderer/lib/types.d.ts.map +1 -1
  55. package/dist/components/donut-chart/element/ui9000-donut-chart.d.ts +1 -1
  56. package/dist/components/donut-chart/element/ui9000-donut-chart.js +1 -1
  57. package/dist/components/donut-chart/element/ui9000-donut-chart.js.map +1 -1
  58. package/dist/components/gini-impurity-entropy-chart/element/styles.d.ts +2 -0
  59. package/dist/components/gini-impurity-entropy-chart/element/styles.d.ts.map +1 -0
  60. package/dist/components/{donut-group-chart → gini-impurity-entropy-chart}/element/styles.js +17 -11
  61. package/dist/components/gini-impurity-entropy-chart/element/styles.js.map +1 -0
  62. package/dist/components/gini-impurity-entropy-chart/element/ui9000-gini-impurity-entropy-chart.d.ts +36 -0
  63. package/dist/components/gini-impurity-entropy-chart/element/ui9000-gini-impurity-entropy-chart.d.ts.map +1 -0
  64. package/dist/components/gini-impurity-entropy-chart/element/ui9000-gini-impurity-entropy-chart.js +186 -0
  65. package/dist/components/gini-impurity-entropy-chart/element/ui9000-gini-impurity-entropy-chart.js.map +1 -0
  66. package/dist/components/gini-impurity-entropy-chart/index.d.ts +5 -0
  67. package/dist/components/gini-impurity-entropy-chart/index.d.ts.map +1 -0
  68. package/dist/components/gini-impurity-entropy-chart/index.js +32 -0
  69. package/dist/components/gini-impurity-entropy-chart/index.js.map +1 -0
  70. package/dist/components/gini-impurity-entropy-chart/lib/domain.d.ts +9 -0
  71. package/dist/components/gini-impurity-entropy-chart/lib/domain.d.ts.map +1 -0
  72. package/dist/components/gini-impurity-entropy-chart/lib/domain.js +32 -0
  73. package/dist/components/gini-impurity-entropy-chart/lib/domain.js.map +1 -0
  74. package/dist/components/gini-impurity-entropy-chart/lib/format.d.ts +10 -0
  75. package/dist/components/gini-impurity-entropy-chart/lib/format.d.ts.map +1 -0
  76. package/dist/components/gini-impurity-entropy-chart/lib/format.js +22 -0
  77. package/dist/components/gini-impurity-entropy-chart/lib/format.js.map +1 -0
  78. package/dist/components/gini-impurity-entropy-chart/lib/index.d.ts +7 -0
  79. package/dist/components/gini-impurity-entropy-chart/lib/index.d.ts.map +1 -0
  80. package/dist/components/gini-impurity-entropy-chart/lib/normalize.d.ts +7 -0
  81. package/dist/components/gini-impurity-entropy-chart/lib/normalize.d.ts.map +1 -0
  82. package/dist/components/gini-impurity-entropy-chart/lib/normalize.js +117 -0
  83. package/dist/components/gini-impurity-entropy-chart/lib/normalize.js.map +1 -0
  84. package/dist/components/gini-impurity-entropy-chart/lib/overlays.d.ts +19 -0
  85. package/dist/components/gini-impurity-entropy-chart/lib/overlays.d.ts.map +1 -0
  86. package/dist/components/gini-impurity-entropy-chart/lib/overlays.js +63 -0
  87. package/dist/components/gini-impurity-entropy-chart/lib/overlays.js.map +1 -0
  88. package/dist/components/gini-impurity-entropy-chart/lib/series.d.ts +12 -0
  89. package/dist/components/gini-impurity-entropy-chart/lib/series.d.ts.map +1 -0
  90. package/dist/components/gini-impurity-entropy-chart/lib/series.js +45 -0
  91. package/dist/components/gini-impurity-entropy-chart/lib/series.js.map +1 -0
  92. package/dist/components/gini-impurity-entropy-chart/lib/types.d.ts +83 -0
  93. package/dist/components/gini-impurity-entropy-chart/lib/types.d.ts.map +1 -0
  94. package/dist/components/gini-impurity-entropy-chart/lib/types.js +19 -0
  95. package/dist/components/gini-impurity-entropy-chart/lib/types.js.map +1 -0
  96. package/dist/components/gini-impurity-entropy-chart/metadata.json.d.ts +115 -0
  97. package/dist/components/gini-impurity-entropy-chart/metadata.json.js +42 -0
  98. package/dist/components/gini-impurity-entropy-chart/metadata.json.js.map +1 -0
  99. package/dist/components/gini-impurity-entropy-chart/render/draw.d.ts +40 -0
  100. package/dist/components/gini-impurity-entropy-chart/render/draw.d.ts.map +1 -0
  101. package/dist/components/gini-impurity-entropy-chart/render/draw.js +160 -0
  102. package/dist/components/gini-impurity-entropy-chart/render/draw.js.map +1 -0
  103. package/dist/components/gini-impurity-entropy-chart/render/index.d.ts +2 -0
  104. package/dist/components/gini-impurity-entropy-chart/render/index.d.ts.map +1 -0
  105. package/dist/components/histogram-chart/element/ui9000-histogram-chart.d.ts +1 -1
  106. package/dist/components/kpi-widget/element/ui9000-kpi-widget.d.ts +1 -1
  107. package/dist/components/kpi-widget/element/ui9000-kpi-widget.js +1 -1
  108. package/dist/components/line-chart/element/ui9000-line-chart.d.ts +1 -1
  109. package/dist/components/lollipop/element/styles.d.ts.map +1 -1
  110. package/dist/components/lollipop/element/styles.js +19 -1
  111. package/dist/components/lollipop/element/styles.js.map +1 -1
  112. package/dist/components/lollipop/element/ui9000-lollipop.d.ts +7 -2
  113. package/dist/components/lollipop/element/ui9000-lollipop.d.ts.map +1 -1
  114. package/dist/components/lollipop/element/ui9000-lollipop.js +68 -7
  115. package/dist/components/lollipop/element/ui9000-lollipop.js.map +1 -1
  116. package/dist/components/lollipop/index.d.ts +1 -1
  117. package/dist/components/lollipop/index.d.ts.map +1 -1
  118. package/dist/components/lollipop/index.js +2 -0
  119. package/dist/components/lollipop/index.js.map +1 -1
  120. package/dist/components/lollipop/lib/domain.d.ts +16 -1
  121. package/dist/components/lollipop/lib/domain.d.ts.map +1 -1
  122. package/dist/components/lollipop/lib/domain.js +56 -1
  123. package/dist/components/lollipop/lib/domain.js.map +1 -1
  124. package/dist/components/lollipop/lib/index.d.ts +3 -2
  125. package/dist/components/lollipop/lib/index.d.ts.map +1 -1
  126. package/dist/components/lollipop/lib/layout.d.ts +16 -0
  127. package/dist/components/lollipop/lib/layout.d.ts.map +1 -0
  128. package/dist/components/lollipop/lib/layout.js +16 -0
  129. package/dist/components/lollipop/lib/layout.js.map +1 -0
  130. package/dist/components/lollipop/lib/types.d.ts +5 -0
  131. package/dist/components/lollipop/lib/types.d.ts.map +1 -1
  132. package/dist/components/lollipop/metadata.json.d.ts +10 -0
  133. package/dist/components/lollipop/metadata.json.js +4 -1
  134. package/dist/components/lollipop/metadata.json.js.map +1 -1
  135. package/dist/components/lollipop/render/draw.d.ts +8 -1
  136. package/dist/components/lollipop/render/draw.d.ts.map +1 -1
  137. package/dist/components/lollipop/render/draw.js +155 -84
  138. package/dist/components/lollipop/render/draw.js.map +1 -1
  139. package/dist/components/map-chart/element/styles.d.ts +2 -0
  140. package/dist/components/map-chart/element/styles.d.ts.map +1 -0
  141. package/dist/components/map-chart/element/styles.js +372 -0
  142. package/dist/components/map-chart/element/styles.js.map +1 -0
  143. package/dist/components/map-chart/element/ui9000-map-chart.d.ts +54 -0
  144. package/dist/components/map-chart/element/ui9000-map-chart.d.ts.map +1 -0
  145. package/dist/components/map-chart/element/ui9000-map-chart.js +539 -0
  146. package/dist/components/map-chart/element/ui9000-map-chart.js.map +1 -0
  147. package/dist/components/map-chart/index.d.ts +5 -0
  148. package/dist/components/map-chart/index.d.ts.map +1 -0
  149. package/dist/components/map-chart/index.js +29 -0
  150. package/dist/components/map-chart/index.js.map +1 -0
  151. package/dist/components/map-chart/lib/constants.d.ts +34 -0
  152. package/dist/components/map-chart/lib/constants.d.ts.map +1 -0
  153. package/dist/components/map-chart/lib/constants.js +122 -0
  154. package/dist/components/map-chart/lib/constants.js.map +1 -0
  155. package/dist/components/map-chart/lib/domain.d.ts +12 -0
  156. package/dist/components/map-chart/lib/domain.d.ts.map +1 -0
  157. package/dist/components/map-chart/lib/domain.js +105 -0
  158. package/dist/components/map-chart/lib/domain.js.map +1 -0
  159. package/dist/components/map-chart/lib/format.d.ts +8 -0
  160. package/dist/components/map-chart/lib/format.d.ts.map +1 -0
  161. package/dist/components/map-chart/lib/format.js +45 -0
  162. package/dist/components/map-chart/lib/format.js.map +1 -0
  163. package/dist/components/map-chart/lib/geo-index.d.ts +7 -0
  164. package/dist/components/map-chart/lib/geo-index.d.ts.map +1 -0
  165. package/dist/components/map-chart/lib/geo-index.js +200 -0
  166. package/dist/components/map-chart/lib/geo-index.js.map +1 -0
  167. package/dist/components/map-chart/lib/geojson.d.ts +5 -0
  168. package/dist/components/map-chart/lib/geojson.d.ts.map +1 -0
  169. package/dist/components/map-chart/lib/geojson.js +47 -0
  170. package/dist/components/map-chart/lib/geojson.js.map +1 -0
  171. package/dist/components/map-chart/lib/index.d.ts +13 -0
  172. package/dist/components/map-chart/lib/index.d.ts.map +1 -0
  173. package/dist/components/map-chart/lib/join.d.ts +7 -0
  174. package/dist/components/map-chart/lib/join.d.ts.map +1 -0
  175. package/dist/components/map-chart/lib/join.js +156 -0
  176. package/dist/components/map-chart/lib/join.js.map +1 -0
  177. package/dist/components/map-chart/lib/legend.d.ts +45 -0
  178. package/dist/components/map-chart/lib/legend.d.ts.map +1 -0
  179. package/dist/components/map-chart/lib/legend.js +108 -0
  180. package/dist/components/map-chart/lib/legend.js.map +1 -0
  181. package/dist/components/map-chart/lib/normalize.d.ts +3 -0
  182. package/dist/components/map-chart/lib/normalize.d.ts.map +1 -0
  183. package/dist/components/map-chart/lib/normalize.js +177 -0
  184. package/dist/components/map-chart/lib/normalize.js.map +1 -0
  185. package/dist/components/map-chart/lib/pmtiles.d.ts +41 -0
  186. package/dist/components/map-chart/lib/pmtiles.d.ts.map +1 -0
  187. package/dist/components/map-chart/lib/pmtiles.js +112 -0
  188. package/dist/components/map-chart/lib/pmtiles.js.map +1 -0
  189. package/dist/components/map-chart/lib/types.d.ts +128 -0
  190. package/dist/components/map-chart/lib/types.d.ts.map +1 -0
  191. package/dist/components/map-chart/metadata.json.d.ts +83 -0
  192. package/dist/components/map-chart/metadata.json.js +42 -0
  193. package/dist/components/map-chart/metadata.json.js.map +1 -0
  194. package/dist/components/map-chart/render/draw.d.ts +24 -0
  195. package/dist/components/map-chart/render/draw.d.ts.map +1 -0
  196. package/dist/components/map-chart/render/draw.js +455 -0
  197. package/dist/components/map-chart/render/draw.js.map +1 -0
  198. package/dist/components/map-chart/render/index.d.ts +2 -0
  199. package/dist/components/map-chart/render/index.d.ts.map +1 -0
  200. package/dist/components/matrix-chart/element/styles.d.ts +2 -0
  201. package/dist/components/matrix-chart/element/styles.d.ts.map +1 -0
  202. package/dist/components/matrix-chart/element/styles.js +97 -0
  203. package/dist/components/matrix-chart/element/styles.js.map +1 -0
  204. package/dist/components/matrix-chart/element/ui9000-matrix-chart.d.ts +39 -0
  205. package/dist/components/matrix-chart/element/ui9000-matrix-chart.d.ts.map +1 -0
  206. package/dist/components/matrix-chart/element/ui9000-matrix-chart.js +238 -0
  207. package/dist/components/matrix-chart/element/ui9000-matrix-chart.js.map +1 -0
  208. package/dist/components/matrix-chart/index.d.ts +5 -0
  209. package/dist/components/matrix-chart/index.d.ts.map +1 -0
  210. package/dist/components/matrix-chart/index.js +20 -0
  211. package/dist/components/matrix-chart/index.js.map +1 -0
  212. package/dist/components/matrix-chart/lib/domain.d.ts +7 -0
  213. package/dist/components/matrix-chart/lib/domain.d.ts.map +1 -0
  214. package/dist/components/matrix-chart/lib/domain.js +58 -0
  215. package/dist/components/matrix-chart/lib/domain.js.map +1 -0
  216. package/dist/components/matrix-chart/lib/format.d.ts +5 -0
  217. package/dist/components/matrix-chart/lib/format.d.ts.map +1 -0
  218. package/dist/components/matrix-chart/lib/format.js +16 -0
  219. package/dist/components/matrix-chart/lib/format.js.map +1 -0
  220. package/dist/components/matrix-chart/lib/index.d.ts +5 -0
  221. package/dist/components/matrix-chart/lib/index.d.ts.map +1 -0
  222. package/dist/components/matrix-chart/lib/normalize.d.ts +5 -0
  223. package/dist/components/matrix-chart/lib/normalize.d.ts.map +1 -0
  224. package/dist/components/matrix-chart/lib/normalize.js +165 -0
  225. package/dist/components/matrix-chart/lib/normalize.js.map +1 -0
  226. package/dist/components/matrix-chart/lib/types.d.ts +33 -0
  227. package/dist/components/matrix-chart/lib/types.d.ts.map +1 -0
  228. package/dist/components/matrix-chart/metadata.json.d.ts +110 -0
  229. package/dist/components/matrix-chart/metadata.json.js +42 -0
  230. package/dist/components/matrix-chart/metadata.json.js.map +1 -0
  231. package/dist/components/matrix-chart/render/draw.d.ts +63 -0
  232. package/dist/components/matrix-chart/render/draw.d.ts.map +1 -0
  233. package/dist/components/matrix-chart/render/draw.js +225 -0
  234. package/dist/components/matrix-chart/render/draw.js.map +1 -0
  235. package/dist/components/matrix-chart/render/index.d.ts +2 -0
  236. package/dist/components/matrix-chart/render/index.d.ts.map +1 -0
  237. package/dist/components/network-graph/element/styles.d.ts +2 -0
  238. package/dist/components/network-graph/element/styles.d.ts.map +1 -0
  239. package/dist/components/network-graph/element/styles.js +272 -0
  240. package/dist/components/network-graph/element/styles.js.map +1 -0
  241. package/dist/components/network-graph/element/ui9000-network-graph.d.ts +47 -0
  242. package/dist/components/network-graph/element/ui9000-network-graph.d.ts.map +1 -0
  243. package/dist/components/network-graph/element/ui9000-network-graph.js +307 -0
  244. package/dist/components/network-graph/element/ui9000-network-graph.js.map +1 -0
  245. package/dist/components/network-graph/index.d.ts +5 -0
  246. package/dist/components/network-graph/index.d.ts.map +1 -0
  247. package/dist/components/network-graph/index.js +37 -0
  248. package/dist/components/network-graph/index.js.map +1 -0
  249. package/dist/components/network-graph/lib/domain.d.ts +96 -0
  250. package/dist/components/network-graph/lib/domain.d.ts.map +1 -0
  251. package/dist/components/network-graph/lib/domain.js +211 -0
  252. package/dist/components/network-graph/lib/domain.js.map +1 -0
  253. package/dist/components/network-graph/lib/format.d.ts +7 -0
  254. package/dist/components/network-graph/lib/format.d.ts.map +1 -0
  255. package/dist/components/network-graph/lib/format.js +29 -0
  256. package/dist/components/network-graph/lib/format.js.map +1 -0
  257. package/dist/components/network-graph/lib/index.d.ts +6 -0
  258. package/dist/components/network-graph/lib/index.d.ts.map +1 -0
  259. package/dist/components/network-graph/lib/legend.d.ts +15 -0
  260. package/dist/components/network-graph/lib/legend.d.ts.map +1 -0
  261. package/dist/components/network-graph/lib/legend.js +35 -0
  262. package/dist/components/network-graph/lib/legend.js.map +1 -0
  263. package/dist/components/network-graph/lib/normalize.d.ts +10 -0
  264. package/dist/components/network-graph/lib/normalize.d.ts.map +1 -0
  265. package/dist/components/network-graph/lib/normalize.js +140 -0
  266. package/dist/components/network-graph/lib/normalize.js.map +1 -0
  267. package/dist/components/network-graph/lib/types.d.ts +56 -0
  268. package/dist/components/network-graph/lib/types.d.ts.map +1 -0
  269. package/dist/components/network-graph/metadata.json.d.ts +91 -0
  270. package/dist/components/network-graph/metadata.json.js +42 -0
  271. package/dist/components/network-graph/metadata.json.js.map +1 -0
  272. package/dist/components/network-graph/render/draw.d.ts +49 -0
  273. package/dist/components/network-graph/render/draw.d.ts.map +1 -0
  274. package/dist/components/network-graph/render/draw.js +493 -0
  275. package/dist/components/network-graph/render/draw.js.map +1 -0
  276. package/dist/components/network-graph/render/index.d.ts +2 -0
  277. package/dist/components/network-graph/render/index.d.ts.map +1 -0
  278. package/dist/components/parallel-coordinates-chart/element/styles.d.ts +2 -0
  279. package/dist/components/parallel-coordinates-chart/element/styles.d.ts.map +1 -0
  280. package/dist/components/parallel-coordinates-chart/element/styles.js +71 -0
  281. package/dist/components/parallel-coordinates-chart/element/styles.js.map +1 -0
  282. package/dist/components/parallel-coordinates-chart/element/ui9000-parallel-coordinates-chart.d.ts +33 -0
  283. package/dist/components/parallel-coordinates-chart/element/ui9000-parallel-coordinates-chart.d.ts.map +1 -0
  284. package/dist/components/parallel-coordinates-chart/element/ui9000-parallel-coordinates-chart.js +182 -0
  285. package/dist/components/parallel-coordinates-chart/element/ui9000-parallel-coordinates-chart.js.map +1 -0
  286. package/dist/components/parallel-coordinates-chart/index.d.ts +5 -0
  287. package/dist/components/parallel-coordinates-chart/index.d.ts.map +1 -0
  288. package/dist/components/parallel-coordinates-chart/index.js +23 -0
  289. package/dist/components/parallel-coordinates-chart/index.js.map +1 -0
  290. package/dist/components/parallel-coordinates-chart/lib/domain.d.ts +14 -0
  291. package/dist/components/parallel-coordinates-chart/lib/domain.d.ts.map +1 -0
  292. package/dist/components/parallel-coordinates-chart/lib/domain.js +28 -0
  293. package/dist/components/parallel-coordinates-chart/lib/domain.js.map +1 -0
  294. package/dist/components/parallel-coordinates-chart/lib/format.d.ts +12 -0
  295. package/dist/components/parallel-coordinates-chart/lib/format.d.ts.map +1 -0
  296. package/dist/components/parallel-coordinates-chart/lib/format.js +18 -0
  297. package/dist/components/parallel-coordinates-chart/lib/format.js.map +1 -0
  298. package/dist/components/parallel-coordinates-chart/lib/index.d.ts +5 -0
  299. package/dist/components/parallel-coordinates-chart/lib/index.d.ts.map +1 -0
  300. package/dist/components/parallel-coordinates-chart/lib/normalize.d.ts +23 -0
  301. package/dist/components/parallel-coordinates-chart/lib/normalize.d.ts.map +1 -0
  302. package/dist/components/parallel-coordinates-chart/lib/normalize.js +156 -0
  303. package/dist/components/parallel-coordinates-chart/lib/normalize.js.map +1 -0
  304. package/dist/components/parallel-coordinates-chart/lib/types.d.ts +48 -0
  305. package/dist/components/parallel-coordinates-chart/lib/types.d.ts.map +1 -0
  306. package/dist/components/parallel-coordinates-chart/metadata.json.d.ts +103 -0
  307. package/dist/components/parallel-coordinates-chart/metadata.json.js +45 -0
  308. package/dist/components/parallel-coordinates-chart/render/draw.d.ts +30 -0
  309. package/dist/components/parallel-coordinates-chart/render/draw.d.ts.map +1 -0
  310. package/dist/components/parallel-coordinates-chart/render/draw.js +160 -0
  311. package/dist/components/parallel-coordinates-chart/render/draw.js.map +1 -0
  312. package/dist/components/parallel-coordinates-chart/render/index.d.ts +2 -0
  313. package/dist/components/parallel-coordinates-chart/render/index.d.ts.map +1 -0
  314. package/dist/components/pie-chart/element/styles.d.ts.map +1 -1
  315. package/dist/components/pie-chart/element/styles.js +34 -1
  316. package/dist/components/pie-chart/element/styles.js.map +1 -1
  317. package/dist/components/pie-chart/element/ui9000-pie-chart.d.ts +1 -3
  318. package/dist/components/pie-chart/element/ui9000-pie-chart.d.ts.map +1 -1
  319. package/dist/components/pie-chart/element/ui9000-pie-chart.js +2 -8
  320. package/dist/components/pie-chart/element/ui9000-pie-chart.js.map +1 -1
  321. package/dist/components/pie-chart/metadata.json.d.ts +1 -7
  322. package/dist/components/pie-chart/metadata.json.js +2 -2
  323. package/dist/components/polar-area-chart/element/styles.d.ts +2 -0
  324. package/dist/components/polar-area-chart/element/styles.d.ts.map +1 -0
  325. package/dist/components/polar-area-chart/element/styles.js +48 -0
  326. package/dist/components/polar-area-chart/element/styles.js.map +1 -0
  327. package/dist/components/polar-area-chart/element/ui9000-polar-area-chart.d.ts +29 -0
  328. package/dist/components/polar-area-chart/element/ui9000-polar-area-chart.d.ts.map +1 -0
  329. package/dist/components/polar-area-chart/element/ui9000-polar-area-chart.js +168 -0
  330. package/dist/components/polar-area-chart/element/ui9000-polar-area-chart.js.map +1 -0
  331. package/dist/components/polar-area-chart/index.d.ts +5 -0
  332. package/dist/components/polar-area-chart/index.d.ts.map +1 -0
  333. package/dist/components/polar-area-chart/index.js +19 -0
  334. package/dist/components/polar-area-chart/index.js.map +1 -0
  335. package/dist/components/polar-area-chart/lib/domain.d.ts +33 -0
  336. package/dist/components/polar-area-chart/lib/domain.d.ts.map +1 -0
  337. package/dist/components/polar-area-chart/lib/domain.js +67 -0
  338. package/dist/components/polar-area-chart/lib/domain.js.map +1 -0
  339. package/dist/components/polar-area-chart/lib/index.d.ts +4 -0
  340. package/dist/components/polar-area-chart/lib/index.d.ts.map +1 -0
  341. package/dist/components/polar-area-chart/lib/normalize.d.ts +4 -0
  342. package/dist/components/polar-area-chart/lib/normalize.d.ts.map +1 -0
  343. package/dist/components/polar-area-chart/lib/normalize.js +183 -0
  344. package/dist/components/polar-area-chart/lib/normalize.js.map +1 -0
  345. package/dist/components/polar-area-chart/lib/types.d.ts +48 -0
  346. package/dist/components/polar-area-chart/lib/types.d.ts.map +1 -0
  347. package/dist/components/polar-area-chart/metadata.json.d.ts +79 -0
  348. package/dist/components/polar-area-chart/metadata.json.js +42 -0
  349. package/dist/components/polar-area-chart/metadata.json.js.map +1 -0
  350. package/dist/components/polar-area-chart/render/draw.d.ts +25 -0
  351. package/dist/components/polar-area-chart/render/draw.d.ts.map +1 -0
  352. package/dist/components/polar-area-chart/render/draw.js +127 -0
  353. package/dist/components/polar-area-chart/render/draw.js.map +1 -0
  354. package/dist/components/polar-area-chart/render/index.d.ts +2 -0
  355. package/dist/components/polar-area-chart/render/index.d.ts.map +1 -0
  356. package/dist/components/punchcard-chart/element/ui9000-punchcard-chart.d.ts +1 -1
  357. package/dist/components/punchcard-chart/metadata.json.d.ts +1 -1
  358. package/dist/components/punchcard-chart/metadata.json.js +1 -1
  359. package/dist/components/radar-chart/element/ui9000-radar-chart.d.ts +1 -1
  360. package/dist/components/radial-bar-chart/element/styles.d.ts +2 -0
  361. package/dist/components/radial-bar-chart/element/styles.d.ts.map +1 -0
  362. package/dist/components/radial-bar-chart/element/styles.js +53 -0
  363. package/dist/components/radial-bar-chart/element/styles.js.map +1 -0
  364. package/dist/components/radial-bar-chart/element/ui9000-radial-bar-chart.d.ts +35 -0
  365. package/dist/components/radial-bar-chart/element/ui9000-radial-bar-chart.d.ts.map +1 -0
  366. package/dist/components/radial-bar-chart/element/ui9000-radial-bar-chart.js +174 -0
  367. package/dist/components/radial-bar-chart/element/ui9000-radial-bar-chart.js.map +1 -0
  368. package/dist/components/radial-bar-chart/index.d.ts +5 -0
  369. package/dist/components/radial-bar-chart/index.d.ts.map +1 -0
  370. package/dist/components/radial-bar-chart/index.js +21 -0
  371. package/dist/components/radial-bar-chart/index.js.map +1 -0
  372. package/dist/components/radial-bar-chart/lib/domain.d.ts +47 -0
  373. package/dist/components/radial-bar-chart/lib/domain.d.ts.map +1 -0
  374. package/dist/components/radial-bar-chart/lib/domain.js +50 -0
  375. package/dist/components/radial-bar-chart/lib/domain.js.map +1 -0
  376. package/dist/components/radial-bar-chart/lib/format.d.ts +6 -0
  377. package/dist/components/radial-bar-chart/lib/format.d.ts.map +1 -0
  378. package/dist/components/radial-bar-chart/lib/format.js +12 -0
  379. package/dist/components/radial-bar-chart/lib/format.js.map +1 -0
  380. package/dist/components/radial-bar-chart/lib/index.d.ts +5 -0
  381. package/dist/components/radial-bar-chart/lib/index.d.ts.map +1 -0
  382. package/dist/components/radial-bar-chart/lib/normalize.d.ts +4 -0
  383. package/dist/components/radial-bar-chart/lib/normalize.d.ts.map +1 -0
  384. package/dist/components/radial-bar-chart/lib/normalize.js +92 -0
  385. package/dist/components/radial-bar-chart/lib/normalize.js.map +1 -0
  386. package/dist/components/radial-bar-chart/lib/types.d.ts +34 -0
  387. package/dist/components/radial-bar-chart/lib/types.d.ts.map +1 -0
  388. package/dist/components/radial-bar-chart/metadata.json.d.ts +62 -0
  389. package/dist/components/radial-bar-chart/metadata.json.js +42 -0
  390. package/dist/components/radial-bar-chart/metadata.json.js.map +1 -0
  391. package/dist/components/radial-bar-chart/render/draw.d.ts +29 -0
  392. package/dist/components/radial-bar-chart/render/draw.d.ts.map +1 -0
  393. package/dist/components/radial-bar-chart/render/draw.js +92 -0
  394. package/dist/components/radial-bar-chart/render/draw.js.map +1 -0
  395. package/dist/components/radial-bar-chart/render/index.d.ts +2 -0
  396. package/dist/components/radial-bar-chart/render/index.d.ts.map +1 -0
  397. package/dist/components/sankey-chart/element/styles.d.ts.map +1 -1
  398. package/dist/components/sankey-chart/element/styles.js +7 -27
  399. package/dist/components/sankey-chart/element/styles.js.map +1 -1
  400. package/dist/components/sankey-chart/element/ui9000-sankey-chart.d.ts +6 -6
  401. package/dist/components/sankey-chart/element/ui9000-sankey-chart.d.ts.map +1 -1
  402. package/dist/components/sankey-chart/element/ui9000-sankey-chart.js +39 -36
  403. package/dist/components/sankey-chart/element/ui9000-sankey-chart.js.map +1 -1
  404. package/dist/components/sankey-chart/index.js +4 -2
  405. package/dist/components/sankey-chart/index.js.map +1 -1
  406. package/dist/components/sankey-chart/lib/domain.d.ts +2 -2
  407. package/dist/components/sankey-chart/lib/domain.d.ts.map +1 -1
  408. package/dist/components/sankey-chart/lib/domain.js +1 -13
  409. package/dist/components/sankey-chart/lib/domain.js.map +1 -1
  410. package/dist/components/sankey-chart/lib/format.d.ts +1 -2
  411. package/dist/components/sankey-chart/lib/format.d.ts.map +1 -1
  412. package/dist/components/sankey-chart/lib/format.js +3 -7
  413. package/dist/components/sankey-chart/lib/format.js.map +1 -1
  414. package/dist/components/scatter-plot-chart/element/ui9000-scatter-plot.d.ts +1 -1
  415. package/dist/components/scatter-sparkline-chart/element/ui9000-scatter-sparkline-chart.d.ts +1 -1
  416. package/dist/components/spark-area-chart/element/ui9000-spark-area-chart.d.ts +1 -1
  417. package/dist/components/spark-line-chart/element/ui9000-spark-line-chart.d.ts +1 -1
  418. package/dist/components/step-line-chart/element/ui9000-step-line-chart.d.ts +1 -1
  419. package/dist/components/treemap-chart/element/styles.d.ts +2 -0
  420. package/dist/components/treemap-chart/element/styles.d.ts.map +1 -0
  421. package/dist/components/treemap-chart/element/styles.js +141 -0
  422. package/dist/components/treemap-chart/element/styles.js.map +1 -0
  423. package/dist/components/treemap-chart/element/ui9000-treemap-chart.d.ts +35 -0
  424. package/dist/components/treemap-chart/element/ui9000-treemap-chart.d.ts.map +1 -0
  425. package/dist/components/treemap-chart/element/ui9000-treemap-chart.js +177 -0
  426. package/dist/components/treemap-chart/element/ui9000-treemap-chart.js.map +1 -0
  427. package/dist/components/treemap-chart/index.d.ts +5 -0
  428. package/dist/components/treemap-chart/index.d.ts.map +1 -0
  429. package/dist/components/treemap-chart/index.js +22 -0
  430. package/dist/components/treemap-chart/index.js.map +1 -0
  431. package/dist/components/treemap-chart/lib/color.d.ts +25 -0
  432. package/dist/components/treemap-chart/lib/color.d.ts.map +1 -0
  433. package/dist/components/treemap-chart/lib/color.js +67 -0
  434. package/dist/components/treemap-chart/lib/color.js.map +1 -0
  435. package/dist/components/treemap-chart/lib/format.d.ts +7 -0
  436. package/dist/components/treemap-chart/lib/format.d.ts.map +1 -0
  437. package/dist/components/treemap-chart/lib/format.js +9 -0
  438. package/dist/components/treemap-chart/lib/format.js.map +1 -0
  439. package/dist/components/treemap-chart/lib/index.d.ts +6 -0
  440. package/dist/components/treemap-chart/lib/index.d.ts.map +1 -0
  441. package/dist/components/treemap-chart/lib/layout.d.ts +18 -0
  442. package/dist/components/treemap-chart/lib/layout.d.ts.map +1 -0
  443. package/dist/components/treemap-chart/lib/layout.js +31 -0
  444. package/dist/components/treemap-chart/lib/layout.js.map +1 -0
  445. package/dist/components/treemap-chart/lib/normalize.d.ts +4 -0
  446. package/dist/components/treemap-chart/lib/normalize.d.ts.map +1 -0
  447. package/dist/components/treemap-chart/lib/normalize.js +182 -0
  448. package/dist/components/treemap-chart/lib/normalize.js.map +1 -0
  449. package/dist/components/treemap-chart/lib/types.d.ts +63 -0
  450. package/dist/components/treemap-chart/lib/types.d.ts.map +1 -0
  451. package/dist/components/treemap-chart/metadata.json.d.ts +126 -0
  452. package/dist/components/treemap-chart/metadata.json.js +45 -0
  453. package/dist/components/treemap-chart/metadata.json.js.map +1 -0
  454. package/dist/components/treemap-chart/render/draw.d.ts +24 -0
  455. package/dist/components/treemap-chart/render/draw.d.ts.map +1 -0
  456. package/dist/components/treemap-chart/render/draw.js +124 -0
  457. package/dist/components/treemap-chart/render/draw.js.map +1 -0
  458. package/dist/components/treemap-chart/render/index.d.ts +2 -0
  459. package/dist/components/treemap-chart/render/index.d.ts.map +1 -0
  460. package/dist/components/violin-chart/element/ui9000-violin-chart.d.ts +1 -1
  461. package/dist/components/waterfall-chart/element/ui9000-waterfall-chart.d.ts +1 -1
  462. package/dist/element/chart-legend-render.d.ts +5 -0
  463. package/dist/element/chart-legend-render.d.ts.map +1 -1
  464. package/dist/element/chart-legend-render.js +19 -1
  465. package/dist/element/chart-legend-render.js.map +1 -1
  466. package/dist/element/chart-shell-styles.d.ts.map +1 -1
  467. package/dist/element/chart-shell-styles.js +35 -0
  468. package/dist/element/chart-shell-styles.js.map +1 -1
  469. package/dist/element/ui9000-chart-base.d.ts +2 -2
  470. package/dist/index.d.ts +20 -4
  471. package/dist/index.d.ts.map +1 -1
  472. package/dist/index.js +178 -47
  473. package/dist/index.js.map +1 -1
  474. package/dist/lazy/bias-variance-tradeoff-chart.d.ts +4 -0
  475. package/dist/lazy/bias-variance-tradeoff-chart.d.ts.map +1 -0
  476. package/dist/lazy/bias-variance-tradeoff-chart.js +5 -0
  477. package/dist/lazy/bias-variance-tradeoff-chart.js.map +1 -0
  478. package/dist/lazy/gini-impurity-entropy-chart.d.ts +4 -0
  479. package/dist/lazy/gini-impurity-entropy-chart.d.ts.map +1 -0
  480. package/dist/lazy/gini-impurity-entropy-chart.js +5 -0
  481. package/dist/lazy/gini-impurity-entropy-chart.js.map +1 -0
  482. package/dist/lazy/index.d.ts +10 -2
  483. package/dist/lazy/index.d.ts.map +1 -1
  484. package/dist/lazy/index.js +72 -8
  485. package/dist/lazy/index.js.map +1 -1
  486. package/dist/lazy/map-chart.d.ts +4 -0
  487. package/dist/lazy/map-chart.d.ts.map +1 -0
  488. package/dist/lazy/map-chart.js +5 -0
  489. package/dist/lazy/map-chart.js.map +1 -0
  490. package/dist/lazy/matrix-chart.d.ts +4 -0
  491. package/dist/lazy/matrix-chart.d.ts.map +1 -0
  492. package/dist/lazy/matrix-chart.js +5 -0
  493. package/dist/lazy/matrix-chart.js.map +1 -0
  494. package/dist/lazy/network-graph.d.ts +4 -0
  495. package/dist/lazy/network-graph.d.ts.map +1 -0
  496. package/dist/lazy/network-graph.js +5 -0
  497. package/dist/lazy/network-graph.js.map +1 -0
  498. package/dist/lazy/parallel-coordinates-chart.d.ts +4 -0
  499. package/dist/lazy/parallel-coordinates-chart.d.ts.map +1 -0
  500. package/dist/lazy/parallel-coordinates-chart.js +5 -0
  501. package/dist/lazy/parallel-coordinates-chart.js.map +1 -0
  502. package/dist/lazy/polar-area-chart.d.ts +4 -0
  503. package/dist/lazy/polar-area-chart.d.ts.map +1 -0
  504. package/dist/lazy/polar-area-chart.js +5 -0
  505. package/dist/lazy/polar-area-chart.js.map +1 -0
  506. package/dist/lazy/radial-bar-chart.d.ts +4 -0
  507. package/dist/lazy/radial-bar-chart.d.ts.map +1 -0
  508. package/dist/lazy/radial-bar-chart.js +5 -0
  509. package/dist/lazy/radial-bar-chart.js.map +1 -0
  510. package/dist/lazy/treemap-chart.d.ts +4 -0
  511. package/dist/lazy/treemap-chart.d.ts.map +1 -0
  512. package/dist/lazy/treemap-chart.js +5 -0
  513. package/dist/lazy/treemap-chart.js.map +1 -0
  514. package/dist/node_modules/lit-html/directive.js.map +1 -0
  515. package/dist/node_modules/lit-html/directives/style-map.js.map +1 -0
  516. package/dist/node_modules/lit-html/lit-html.js.map +1 -0
  517. package/dist/utils/axis-units.d.ts +15 -0
  518. package/dist/utils/axis-units.d.ts.map +1 -0
  519. package/dist/utils/axis-units.js +27 -0
  520. package/dist/utils/axis-units.js.map +1 -0
  521. package/dist/utils/breakpoints.d.ts +7 -0
  522. package/dist/utils/breakpoints.d.ts.map +1 -0
  523. package/dist/utils/breakpoints.js +17 -0
  524. package/dist/utils/breakpoints.js.map +1 -0
  525. package/dist/utils/chart-helpers.d.ts +25 -6
  526. package/dist/utils/chart-helpers.d.ts.map +1 -1
  527. package/dist/utils/chart-helpers.js +70 -15
  528. package/dist/utils/chart-helpers.js.map +1 -1
  529. package/dist/utils/format-text.d.ts +22 -0
  530. package/dist/utils/format-text.d.ts.map +1 -0
  531. package/dist/utils/format-text.js +33 -0
  532. package/dist/utils/format-text.js.map +1 -0
  533. package/dist/utils/fuse-palette.d.ts +12 -0
  534. package/dist/utils/fuse-palette.d.ts.map +1 -1
  535. package/dist/utils/fuse-palette.js +23 -1
  536. package/dist/utils/fuse-palette.js.map +1 -1
  537. package/dist/utils/fuse-widget.d.ts +13 -4
  538. package/dist/utils/fuse-widget.d.ts.map +1 -1
  539. package/dist/utils/fuse-widget.js.map +1 -1
  540. package/dist/utils/fusedash-visual.d.ts +208 -52
  541. package/dist/utils/fusedash-visual.d.ts.map +1 -1
  542. package/dist/utils/fusedash-visual.js +162 -30
  543. package/dist/utils/fusedash-visual.js.map +1 -1
  544. package/package.json +91 -12
  545. package/dist/components/donut-group-chart/element/styles.d.ts +0 -2
  546. package/dist/components/donut-group-chart/element/styles.d.ts.map +0 -1
  547. package/dist/components/donut-group-chart/element/styles.js.map +0 -1
  548. package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.d.ts +0 -34
  549. package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.d.ts.map +0 -1
  550. package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.js +0 -169
  551. package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.js.map +0 -1
  552. package/dist/components/donut-group-chart/index.d.ts +0 -5
  553. package/dist/components/donut-group-chart/index.d.ts.map +0 -1
  554. package/dist/components/donut-group-chart/index.js +0 -23
  555. package/dist/components/donut-group-chart/lib/domain.d.ts +0 -39
  556. package/dist/components/donut-group-chart/lib/domain.d.ts.map +0 -1
  557. package/dist/components/donut-group-chart/lib/domain.js +0 -51
  558. package/dist/components/donut-group-chart/lib/domain.js.map +0 -1
  559. package/dist/components/donut-group-chart/lib/format.d.ts +0 -7
  560. package/dist/components/donut-group-chart/lib/format.d.ts.map +0 -1
  561. package/dist/components/donut-group-chart/lib/format.js +0 -21
  562. package/dist/components/donut-group-chart/lib/format.js.map +0 -1
  563. package/dist/components/donut-group-chart/lib/index.d.ts +0 -5
  564. package/dist/components/donut-group-chart/lib/index.d.ts.map +0 -1
  565. package/dist/components/donut-group-chart/lib/normalize.d.ts +0 -14
  566. package/dist/components/donut-group-chart/lib/normalize.d.ts.map +0 -1
  567. package/dist/components/donut-group-chart/lib/normalize.js +0 -98
  568. package/dist/components/donut-group-chart/lib/normalize.js.map +0 -1
  569. package/dist/components/donut-group-chart/lib/types.d.ts +0 -49
  570. package/dist/components/donut-group-chart/lib/types.d.ts.map +0 -1
  571. package/dist/components/donut-group-chart/metadata.json.d.ts +0 -113
  572. package/dist/components/donut-group-chart/metadata.json.js +0 -45
  573. package/dist/components/donut-group-chart/render/draw.d.ts +0 -44
  574. package/dist/components/donut-group-chart/render/draw.d.ts.map +0 -1
  575. package/dist/components/donut-group-chart/render/draw.js +0 -194
  576. package/dist/components/donut-group-chart/render/draw.js.map +0 -1
  577. package/dist/components/donut-group-chart/render/index.d.ts +0 -2
  578. package/dist/components/donut-group-chart/render/index.d.ts.map +0 -1
  579. package/dist/components/donut-group-chart/tests/fixtures.d.ts +0 -33
  580. package/dist/components/donut-group-chart/tests/fixtures.d.ts.map +0 -1
  581. package/dist/lazy/donut-group-chart.d.ts +0 -4
  582. package/dist/lazy/donut-group-chart.d.ts.map +0 -1
  583. package/dist/lazy/donut-group-chart.js +0 -5
  584. package/dist/lazy/donut-group-chart.js.map +0 -1
  585. package/dist/node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/directive.js.map +0 -1
  586. package/dist/node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/directives/style-map.js.map +0 -1
  587. package/dist/node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/lit-html.js.map +0 -1
  588. /package/dist/components/{donut-group-chart → bias-variance-tradeoff-chart}/index.js.map +0 -0
  589. /package/dist/components/{donut-group-chart → parallel-coordinates-chart}/metadata.json.js.map +0 -0
  590. /package/dist/node_modules/{.pnpm/lit-html@3.3.3/node_modules/lit-html → lit-html}/directive.js +0 -0
  591. /package/dist/node_modules/{.pnpm/lit-html@3.3.3/node_modules/lit-html → lit-html}/directives/style-map.js +0 -0
  592. /package/dist/node_modules/{.pnpm/lit-html@3.3.3/node_modules/lit-html → lit-html}/lit-html.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui9000-network-graph.js","sources":["../../../../src/components/network-graph/element/ui9000-network-graph.ts"],"sourcesContent":["import { html, nothing, type PropertyValues } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n\nimport { readThemeFromElement } from '../../../context/widget-context.js';\nimport { chartShellStyles, Ui9000ChartElement } from '../../../element/ui9000-chart-base.js';\nimport { parseJsonAttr } from '../../../utils/chart-helpers.js';\nimport { chartPropsChanged } from '../../../utils/lit-draw.js';\nimport {\n FULL_RANGE,\n formatLegendValue,\n legendRanges,\n normalizeNetworkGraphData,\n rangeTrackOffset,\n slideThumb,\n sliderIndexFromPointer,\n thumbTrackPercent,\n visibleNodeIds,\n type NetworkGraphInput,\n type NetworkGraphModel,\n type NetworkLegendRange,\n type NetworkRange,\n} from '../lib/index.js';\nimport {\n renderNetworkGraph,\n resizeNetworkGraph,\n stopNetworkGraph,\n updateNetworkGraphVisibility,\n} from '../render/draw.js';\nimport { networkGraphStyles } from './styles.js';\n\n/** Same diameters as map `DEFAULT_BUBBLES_RADIUS` (7 size steps). */\nconst LEGEND_BUBBLE_SIZES = [10, 15, 20, 25, 30, 35, 40];\nconst MUTED_LEGEND_FILL = '#6C758429';\n\n@customElement('ui9000-network-graph')\nexport class Ui9000NetworkGraph extends Ui9000ChartElement {\n static override styles = [networkGraphStyles, chartShellStyles];\n\n @property({ type: Boolean, attribute: 'show-legend' })\n showLegend = true;\n\n @property({ type: Boolean, attribute: 'show-tooltip' })\n showTooltip = true;\n\n @state()\n private _empty = false;\n\n @state()\n private _ranges: NetworkLegendRange[] = [];\n\n @state()\n private _range: NetworkRange = { ...FULL_RANGE };\n\n @state()\n private _legendOpen = true;\n\n /** Non-reactive: selection is owned by the draw layer, redrawing would reset it. */\n private _activeNodeId: string | null = null;\n\n private _model: NetworkGraphModel | null = null;\n private _legendDrag?: {\n thumb: HTMLElement;\n move: (e: PointerEvent) => void;\n up: (e: PointerEvent) => void;\n };\n private _resizeObserver?: ResizeObserver;\n private _raf = 0;\n private _resizeRaf = 0;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this._resizeObserver = new ResizeObserver(() => this.scheduleResize());\n this._resizeObserver.observe(this);\n }\n\n override disconnectedCallback(): void {\n this._resizeObserver?.disconnect();\n cancelAnimationFrame(this._raf);\n cancelAnimationFrame(this._resizeRaf);\n this.stopLegendDrag();\n const root = this.chartRoot();\n if (root) stopNetworkGraph(root);\n super.disconnectedCallback();\n }\n\n override updated(changed: PropertyValues): void {\n if (changed.has('dataJson')) {\n // New buckets: the old slider window and selection no longer mean anything.\n this._range = { ...FULL_RANGE };\n this._activeNodeId = null;\n this._model = null;\n }\n if (changed.has('showTooltip') && !this.showTooltip) {\n this._labelTooltip = null;\n }\n if (this.shouldRedraw(changed)) this.scheduleDraw();\n }\n\n /**\n * Legend / tooltip are Lit chrome. Toggling them must not re-settle the force\n * layout (same class of rule as filter/resize staying in place).\n */\n private shouldRedraw(changed: PropertyValues): boolean {\n if (!chartPropsChanged(changed)) return false;\n for (const key of changed.keys()) {\n if (typeof key !== 'string' || key.startsWith('_')) continue;\n if (key === 'showLegend' || key === 'showTooltip') continue;\n return true;\n }\n return false;\n }\n\n private scheduleDraw(): void {\n cancelAnimationFrame(this._raf);\n this._raf = requestAnimationFrame(() => this.draw());\n }\n\n /**\n * A resize only re-frames the settled layout — re-running the force ticks\n * would reshuffle the graph every time the chat pane changes width.\n */\n private scheduleResize(): void {\n cancelAnimationFrame(this._resizeRaf);\n this._resizeRaf = requestAnimationFrame(() => {\n const root = this.chartRoot();\n if (!root) return;\n if (!resizeNetworkGraph(root, root.clientWidth, root.clientHeight)) this.draw();\n });\n }\n\n private chartRoot(): HTMLElement | null {\n return (this.shadowRoot?.querySelector('.chart-root') as HTMLElement | null) ?? null;\n }\n\n private model(): NetworkGraphModel {\n if (!this._model) {\n this._model = normalizeNetworkGraphData(\n parseJsonAttr<NetworkGraphInput | null>(this.dataJson, null),\n );\n }\n return this._model;\n }\n\n private draw(): void {\n const root = this.chartRoot();\n if (!root) return;\n\n const model = this.model();\n this._empty = model.nodes.length === 0;\n this._ranges = legendRanges(model.breakpoints);\n\n if (this._empty) {\n stopNetworkGraph(root);\n root.replaceChildren();\n return;\n }\n\n renderNetworkGraph(root, {\n model,\n visibleIds: visibleNodeIds(model, this._range),\n width: root.clientWidth,\n height: root.clientHeight,\n theme: readThemeFromElement(this),\n activeNodeId: this._activeNodeId,\n onSelect: (id) => {\n this._activeNodeId = id;\n },\n });\n }\n\n private setRange(edge: 'leftSlider' | 'rightSlider', raw: number): void {\n const next = slideThumb(this._range, edge, raw, this._ranges.length);\n if (next.leftSlider === this._range.leftSlider && next.rightSlider === this._range.rightSlider) {\n return;\n }\n this._range = next;\n const root = this.chartRoot();\n if (!root) return;\n const visible = visibleNodeIds(this.model(), next);\n if (!updateNetworkGraphVisibility(root, visible)) this.scheduleDraw();\n }\n\n private startThumbDrag(edge: 'leftSlider' | 'rightSlider', e: PointerEvent): void {\n const thumb = e.currentTarget;\n if (!(thumb instanceof HTMLElement)) return;\n const track = thumb.parentElement;\n if (!track) return;\n e.preventDefault();\n e.stopPropagation();\n thumb.setPointerCapture(e.pointerId);\n this.stopLegendDrag();\n\n const move = (ev: PointerEvent) => {\n const index = sliderIndexFromPointer(\n ev.clientX,\n track.getBoundingClientRect(),\n this._ranges.length,\n );\n this.setRange(edge, index);\n };\n const up = (ev: PointerEvent) => {\n if (thumb.hasPointerCapture(ev.pointerId)) thumb.releasePointerCapture(ev.pointerId);\n this.stopLegendDrag();\n };\n thumb.addEventListener('pointermove', move);\n thumb.addEventListener('pointerup', up);\n thumb.addEventListener('pointercancel', up);\n this._legendDrag = { thumb, move, up };\n move(e);\n }\n\n private stopLegendDrag(): void {\n const drag = this._legendDrag;\n if (!drag) return;\n drag.thumb.removeEventListener('pointermove', drag.move);\n drag.thumb.removeEventListener('pointerup', drag.up);\n drag.thumb.removeEventListener('pointercancel', drag.up);\n this._legendDrag = undefined;\n }\n\n private renderLegend() {\n if (!this.showLegend || this._empty || this._ranges.length < 2) return nothing;\n const { leftSlider, rightSlider } = this._range;\n const last = this._ranges.length;\n const { onAxisLabelHover, onAxisLabelLeave } = this.axisLabelHandlers();\n\n return html`\n <div class=\"graph-legend\" part=\"legend\">\n <div class=\"legend-panel-header\">\n <p class=\"legend-kicker\">Legend</p>\n <button\n type=\"button\"\n class=\"legend-chevron\"\n aria-expanded=${this._legendOpen}\n aria-label=${this._legendOpen ? 'Collapse legend' : 'Expand legend'}\n @click=${() => {\n this._legendOpen = !this._legendOpen;\n }}\n ></button>\n </div>\n ${this._legendOpen\n ? html`<div class=\"legend-layers\">\n <div class=\"legend-layer\">\n <div class=\"legend-details\">\n <div class=\"legend-scale\" data-kind=\"bubbles\">\n <div class=\"legend-colors\" data-qualitative>\n <div class=\"legend-range\">\n <div\n class=\"legend-range-track\"\n style=\"left:${rangeTrackOffset('left', leftSlider, last)}\"\n >\n <button\n type=\"button\"\n class=\"legend-thumb\"\n aria-label=\"Smallest node size shown\"\n style=\"left:${thumbTrackPercent(leftSlider, last)}\"\n @pointerdown=${(e: PointerEvent) => this.startThumbDrag('leftSlider', e)}\n ></button>\n </div>\n <div\n class=\"legend-range-track\"\n style=\"right:${rangeTrackOffset('right', rightSlider, last)}\"\n >\n <button\n type=\"button\"\n class=\"legend-thumb\"\n aria-label=\"Largest node size shown\"\n style=\"left:${thumbTrackPercent(rightSlider, last)}\"\n @pointerdown=${(e: PointerEvent) => this.startThumbDrag('rightSlider', e)}\n ></button>\n </div>\n </div>\n <div class=\"legend-buckets\">\n ${this._ranges.map((_range, index) => {\n const muted = !(leftSlider <= index && index < rightSlider);\n const bubble = LEGEND_BUBBLE_SIZES[index] ?? 12;\n const inner = bubble - 15 > 0 ? bubble - 15 : 0;\n return html`<span\n class=\"legend-bucket\"\n ?data-bubble=${true}\n ?data-inner=${inner > 0}\n ?data-qualitative=${true}\n ?data-muted=${muted}\n style=\"background:${MUTED_LEGEND_FILL};--bubble-size:${bubble}px;--inner-size:${inner}px\"\n ></span>`;\n })}\n </div>\n </div>\n <div class=\"legend-values\">\n ${this._ranges.map(\n (range) => html`<span\n class=\"legend-value\"\n @mouseenter=${this.showTooltip\n ? (e: MouseEvent) => onAxisLabelHover?.(String(range.start), e)\n : undefined}\n @mouseleave=${this.showTooltip ? onAxisLabelLeave : undefined}\n >${formatLegendValue(range.start, 2)}</span\n >`,\n )}\n </div>\n </div>\n </div>\n </div>\n </div>`\n : nothing}\n </div>\n `;\n }\n\n override render() {\n return html`\n <div class=\"widget-shell\" part=\"shell\">\n ${this.renderShellHeader(this.headerTitle())}\n <div class=\"widget-body\">\n <div class=\"chart-root\" part=\"chart\" ?hidden=${this._empty}></div>\n ${this.renderLegend()}\n ${this._empty\n ? html`<div class=\"empty\" part=\"empty\">\n Network graph requires a nodes and links payload.\n </div>`\n : nothing}\n ${this.renderShellLabelTooltip()}\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui9000-network-graph': Ui9000NetworkGraph;\n }\n}\n\nexport function registerNetworkGraph(): void {\n if (!customElements.get('ui9000-network-graph')) {\n customElements.define('ui9000-network-graph', Ui9000NetworkGraph);\n }\n}\n\nregisterNetworkGraph();\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { Ui9000NetworkGraph, registerNetworkGraph, } from './element/ui9000-network-graph.js';
2
+ export { renderNetworkGraph, resizeNetworkGraph, stopNetworkGraph, updateNetworkGraphVisibility, type NetworkGraphController, type RenderNetworkGraphOptions, } from './render/index.js';
3
+ export { FULL_RANGE, LINK_COLORS, MAX_NETWORK_LINKS, MAX_NETWORK_NODES, NODE_SIZES, NODE_TYPE_COLORS, SIZE_KEYS, formatLegendValue, formatLinkValue, formatNodeValue, isFullRange, legendRanges, networkForces, nodeColor, nodeRadius, nodeSizeKey, normalizeNetworkGraphData, rangeIndexOf, scaleLinkWidthByMax, visibleNodeIds, type NetworkGraphInput, type NetworkGraphModel, type NetworkLegendRange, type NetworkLink, type NetworkLinkKind, type NetworkNode, type NetworkRange, type NetworkSizeKey, } from './lib/index.js';
4
+ export { default as networkGraphMetadata } from './metadata.json';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/network-graph/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,4BAA4B,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,GAC/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,WAAW,EACX,YAAY,EACZ,aAAa,EACb,SAAS,EACT,UAAU,EACV,WAAW,EACX,yBAAyB,EACzB,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { registerNetworkGraph } from "./element/ui9000-network-graph.js";
2
+ import { Ui9000NetworkGraph } from "./element/ui9000-network-graph.js";
3
+ import { default as default2 } from "./metadata.json.js";
4
+ import { FULL_RANGE, LINK_COLORS, NODE_SIZES, NODE_TYPE_COLORS, SIZE_KEYS, isFullRange, legendRanges, networkForces, nodeColor, nodeRadius, nodeSizeKey, rangeIndexOf, scaleLinkWidthByMax, visibleNodeIds } from "./lib/domain.js";
5
+ import { MAX_NETWORK_LINKS, MAX_NETWORK_NODES, normalizeNetworkGraphData } from "./lib/normalize.js";
6
+ import { formatLegendValue, formatLinkValue, formatNodeValue } from "./lib/format.js";
7
+ import { renderNetworkGraph, resizeNetworkGraph, stopNetworkGraph, updateNetworkGraphVisibility } from "./render/draw.js";
8
+ export {
9
+ FULL_RANGE,
10
+ LINK_COLORS,
11
+ MAX_NETWORK_LINKS,
12
+ MAX_NETWORK_NODES,
13
+ NODE_SIZES,
14
+ NODE_TYPE_COLORS,
15
+ SIZE_KEYS,
16
+ Ui9000NetworkGraph,
17
+ formatLegendValue,
18
+ formatLinkValue,
19
+ formatNodeValue,
20
+ isFullRange,
21
+ legendRanges,
22
+ networkForces,
23
+ default2 as networkGraphMetadata,
24
+ nodeColor,
25
+ nodeRadius,
26
+ nodeSizeKey,
27
+ normalizeNetworkGraphData,
28
+ rangeIndexOf,
29
+ registerNetworkGraph,
30
+ renderNetworkGraph,
31
+ resizeNetworkGraph,
32
+ scaleLinkWidthByMax,
33
+ stopNetworkGraph,
34
+ updateNetworkGraphVisibility,
35
+ visibleNodeIds
36
+ };
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,96 @@
1
+ import { NetworkGraphModel, NetworkLegendRange, NetworkNode, NetworkRange, NetworkSizeKey } from './types.js';
2
+ /** Client `NODE_SIZES` — bucket → circle radius in px. */
3
+ export declare const NODE_SIZES: Record<NetworkSizeKey, number>;
4
+ /** Client `SIZE_KEYS` — one per break point, smallest first. */
5
+ export declare const SIZE_KEYS: NetworkSizeKey[];
6
+ /** Buckets above `md` keep their label on screen at rest (client rule). */
7
+ export declare const LABEL_ALWAYS_ABOVE: number;
8
+ export declare const NODE_BORDER_WIDTH = 1;
9
+ export declare const SHADOW_RADIUS_RATIO = 1.5;
10
+ export declare const MIN_LINK_WIDTH = 0.8;
11
+ export declare const MAX_LINK_WIDTH = 20;
12
+ /** Resting stroke width for every link (client). */
13
+ export declare const LINK_WIDTH = 2;
14
+ export declare const MIN_LINK_DISTANCE = 20;
15
+ export declare const MAX_LINK_DISTANCE = 100;
16
+ /** Client `LINK_COLORS`. */
17
+ export declare const LINK_COLORS: {
18
+ readonly neutral: "rgba(207, 210, 214, 1)";
19
+ readonly primary: "rgba(71, 176, 255, 0.5)";
20
+ readonly secondary: "rgba(255, 140, 71, 0.5)";
21
+ };
22
+ /** Client `DEFAULT_NODE_COLOR`. */
23
+ export declare const DEFAULT_NODE_COLOR = "#64748B";
24
+ /** Client `NODE_TYPE_COLORS` — category key → fill for a node without an image. */
25
+ export declare const NODE_TYPE_COLORS: Record<string, string>;
26
+ /** Full bucket window — no filtering (client `DEFAULT_SLIDER_RANGE`). */
27
+ export declare const FULL_RANGE: NetworkRange;
28
+ /** Client `getNodeSizeFromBreakpoints`. */
29
+ export declare function nodeSizeKey(value: number | undefined, breakpoints: number[]): NetworkSizeKey;
30
+ export declare function nodeRadius(node: NetworkNode, breakpoints: number[]): number;
31
+ export declare function shadowRadius(node: NetworkNode, breakpoints: number[]): number;
32
+ /** Client `getNodeColor` — explicit colour, then category, then the slate default. */
33
+ export declare function nodeColor(node: NetworkNode): string;
34
+ /** Client `scaleLinkWidthByMax` — resting links stay at `LINK_WIDTH`. */
35
+ export declare function scaleLinkWidthByMax(value: number, maxValue: number): number;
36
+ /** Client `getNodeRangeIndex` — which bucket a value falls into. */
37
+ export declare function rangeIndexOf(value: number, breakpoints: number[]): number;
38
+ export declare function isFullRange(range: NetworkRange): boolean;
39
+ /**
40
+ * Client `filterGraphDataBySliderRange`, reduced to the id set the draw layer
41
+ * needs. Hidden nodes stay mounted so their zone is kept, but their edges leave
42
+ * the force. `null` means "everything is visible".
43
+ */
44
+ export declare function visibleNodeIds(model: NetworkGraphModel, range: NetworkRange): Set<string> | null;
45
+ /**
46
+ * Client `Legends` ranges — one bubble per break point, the last stretched to
47
+ * 3x so the largest node still lands in a bucket.
48
+ */
49
+ export declare function legendRanges(breakpoints: number[]): NetworkLegendRange[];
50
+ /**
51
+ * The client lays the simulation out on a fixed 2000x1375 canvas and zooms into
52
+ * it. Chat gives the chart its container instead, so the spatial forces are
53
+ * scaled against that canvas — same spacing relative to the room available.
54
+ */
55
+ export declare const FORCE_CANVAS_REFERENCE = 1375;
56
+ /**
57
+ * Slack between the largest node and its collision ring. The client gets this
58
+ * for free from a flat 60px radius on a canvas where nodes cap at 32px; keeping
59
+ * the same cushion is what stops the labels from stacking on top of each other.
60
+ */
61
+ export declare const NODE_COLLIDE_PAD = 36;
62
+ export interface NetworkForces {
63
+ charge: number;
64
+ collide: number;
65
+ linkDistance: number;
66
+ }
67
+ export declare function networkForces(width: number, height: number, maxNodeRadius: number): NetworkForces;
68
+ /** Client `INITIAL_NODE_RADIUS_RATIO` — seed spread as a share of the canvas. */
69
+ export declare const INITIAL_NODE_RADIUS_RATIO = 0.2;
70
+ /** Node chrome (client `createNodeElements`). */
71
+ export declare const NODE_COLORS: {
72
+ /** Blue bloom under every node. */
73
+ readonly glow: "#473DD9";
74
+ /** Hairline ring drawn on the circle edge. */
75
+ readonly innerBorder: "#FFFFFF";
76
+ /** Accent ring one pixel outside it. */
77
+ readonly outerBorder: "#473DD9";
78
+ /** Fill of a selected node that carries no image. */
79
+ readonly activeFill: "#000000";
80
+ readonly shadowInner: "#141C2C";
81
+ readonly shadowOuter: "#5F6877";
82
+ };
83
+ /** Node label chrome (client `createNodeLabel`). */
84
+ export declare const NODE_LABEL_COLORS: {
85
+ readonly text: "rgba(33, 38, 46, 0.9)";
86
+ readonly textActive: "#FFFFFF";
87
+ readonly background: "#FFFFFF00";
88
+ readonly backgroundHover: "#FFFFFF";
89
+ readonly backgroundActive: "#000000";
90
+ };
91
+ /** Link value pill (client `link-label`). */
92
+ export declare const LINK_LABEL_COLORS: {
93
+ readonly background: "rgba(19, 22, 29, 1)";
94
+ readonly text: "rgba(239, 240, 241, 1)";
95
+ };
96
+ //# sourceMappingURL=domain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../../src/components/network-graph/lib/domain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,211 @@
1
+ const NODE_SIZES = {
2
+ xs: 4,
3
+ sm: 6,
4
+ md: 8,
5
+ lg: 12,
6
+ xl: 16,
7
+ "2xl": 24,
8
+ "3xl": 32
9
+ };
10
+ const SIZE_KEYS = [
11
+ "xs",
12
+ "sm",
13
+ "md",
14
+ "lg",
15
+ "xl",
16
+ "2xl",
17
+ "3xl"
18
+ ];
19
+ const LABEL_ALWAYS_ABOVE = NODE_SIZES.md;
20
+ const NODE_BORDER_WIDTH = 1;
21
+ const SHADOW_RADIUS_RATIO = 1.5;
22
+ const MIN_LINK_WIDTH = 0.8;
23
+ const MAX_LINK_WIDTH = 20;
24
+ const LINK_WIDTH = 2;
25
+ const MIN_LINK_DISTANCE = 20;
26
+ const MAX_LINK_DISTANCE = 100;
27
+ const LINK_COLORS = {
28
+ neutral: "rgba(207, 210, 214, 1)",
29
+ primary: "rgba(71, 176, 255, 0.5)",
30
+ secondary: "rgba(255, 140, 71, 0.5)"
31
+ };
32
+ const DEFAULT_NODE_COLOR = "#64748B";
33
+ const NODE_TYPE_COLORS = {
34
+ bank: "#2563EB",
35
+ invest: "#10B981",
36
+ regional: "#F59E0B",
37
+ vc: "#8B5CF6",
38
+ crypto: "#F97316",
39
+ exchange: "#06B6D4",
40
+ blockchain: "#6366F1",
41
+ defi: "#EC4899",
42
+ company: "#3B82F6",
43
+ startup: "#14B8A6",
44
+ platform: "#A855F7",
45
+ service: "#0EA5E9",
46
+ person: "#EF4444",
47
+ organization: "#64748B",
48
+ community: "#84CC16",
49
+ university: "#1E40AF",
50
+ institute: "#7C3AED",
51
+ program: "#059669",
52
+ studio: "#DC2626",
53
+ streaming: "#BE185D",
54
+ producer: "#B91C1C",
55
+ network: "#1F2937",
56
+ tech: "#3B82F6",
57
+ gaming: "#8B5CF6",
58
+ lifestyle: "#EC4899",
59
+ accelerator: "#10B981",
60
+ manufacturer: "#6366F1",
61
+ distributor: "#F59E0B",
62
+ retailer: "#06B6D4",
63
+ supplier: "#14B8A6",
64
+ cloud: "#0EA5E9",
65
+ saas: "#3B82F6",
66
+ integration: "#8B5CF6",
67
+ framework: "#10B981",
68
+ foundation: "#64748B",
69
+ sponsor: "#F59E0B",
70
+ ai: "#6366F1",
71
+ physics: "#8B5CF6",
72
+ biology: "#10B981",
73
+ corporate: "#3B82F6",
74
+ global: "#1E40AF",
75
+ financial: "#059669",
76
+ ivy: "#7C3AED",
77
+ domain: "#EC4899",
78
+ research: "#14B8A6",
79
+ developer: "#F97316",
80
+ mission: "#4338CA",
81
+ goal: "#A78BFA",
82
+ insight: "#34D399",
83
+ event: "#93C5FD",
84
+ blocker: "#F43F5E",
85
+ entity: "#4B5563",
86
+ source: "#CBD5E1"
87
+ };
88
+ const FULL_RANGE = { leftSlider: 0, rightSlider: 7 };
89
+ function clamp(value, min, max) {
90
+ return Math.max(min, Math.min(max, value));
91
+ }
92
+ function nodeSizeKey(value, breakpoints) {
93
+ if (!value || !breakpoints.length) return "sm";
94
+ for (let i = 0; i < breakpoints.length; i++) {
95
+ if (value <= breakpoints[i]) return SIZE_KEYS[i] ?? "sm";
96
+ }
97
+ return SIZE_KEYS[SIZE_KEYS.length - 1];
98
+ }
99
+ function nodeRadius(node, breakpoints) {
100
+ return NODE_SIZES[nodeSizeKey(node.value, breakpoints)];
101
+ }
102
+ function shadowRadius(node, breakpoints) {
103
+ return nodeRadius(node, breakpoints) * SHADOW_RADIUS_RATIO;
104
+ }
105
+ function nodeColor(node) {
106
+ return node.color || NODE_TYPE_COLORS[node.type] || DEFAULT_NODE_COLOR;
107
+ }
108
+ function scaleLinkWidthByMax(value, maxValue) {
109
+ if (maxValue <= 0) return MIN_LINK_WIDTH;
110
+ const ratio = clamp(value / maxValue, 0, 1);
111
+ return MIN_LINK_WIDTH + ratio * (MAX_LINK_WIDTH - MIN_LINK_WIDTH);
112
+ }
113
+ function rangeIndexOf(value, breakpoints) {
114
+ for (let i = 0; i < breakpoints.length; i++) {
115
+ if (value <= breakpoints[i]) return i;
116
+ }
117
+ return breakpoints.length - 1;
118
+ }
119
+ function isFullRange(range) {
120
+ return range.leftSlider === FULL_RANGE.leftSlider && range.rightSlider === FULL_RANGE.rightSlider;
121
+ }
122
+ function visibleNodeIds(model, range) {
123
+ if (isFullRange(range) || !model.breakpoints.length) return null;
124
+ const ids = /* @__PURE__ */ new Set();
125
+ for (const node of model.nodes) {
126
+ if (typeof node.value !== "number") continue;
127
+ const index = rangeIndexOf(node.value, model.breakpoints);
128
+ if (range.leftSlider <= index && index < range.rightSlider) ids.add(node.id);
129
+ }
130
+ return ids;
131
+ }
132
+ function legendRanges(breakpoints) {
133
+ return breakpoints.map((start, index) => ({
134
+ start,
135
+ end: index === breakpoints.length - 1 ? start * 3 : breakpoints[index + 1],
136
+ radius: NODE_SIZES[SIZE_KEYS[index] ?? "sm"]
137
+ }));
138
+ }
139
+ const FORCE_CANVAS_REFERENCE = 1375;
140
+ const NODE_COLLIDE_PAD = 36;
141
+ function networkForces(width, height, maxNodeRadius) {
142
+ const scale = clamp(Math.min(width, height) / FORCE_CANVAS_REFERENCE, 0.2, 1);
143
+ return {
144
+ charge: -1200 * scale,
145
+ collide: Math.max(60 * scale, maxNodeRadius + NODE_COLLIDE_PAD),
146
+ // The client re-rolls one random distance in [20, 100] per mount; a chat
147
+ // chart has to be reproducible, so the midpoint is used and then scaled.
148
+ linkDistance: clamp(
149
+ (MIN_LINK_DISTANCE + MAX_LINK_DISTANCE) / 2 * scale,
150
+ MIN_LINK_DISTANCE,
151
+ MAX_LINK_DISTANCE
152
+ )
153
+ };
154
+ }
155
+ const INITIAL_NODE_RADIUS_RATIO = 0.2;
156
+ const NODE_COLORS = {
157
+ /** Blue bloom under every node. */
158
+ glow: "#473DD9",
159
+ /** Hairline ring drawn on the circle edge. */
160
+ innerBorder: "#FFFFFF",
161
+ /** Accent ring one pixel outside it. */
162
+ outerBorder: "#473DD9",
163
+ /** Fill of a selected node that carries no image. */
164
+ activeFill: "#000000",
165
+ shadowInner: "#141C2C",
166
+ shadowOuter: "#5F6877"
167
+ };
168
+ const NODE_LABEL_COLORS = {
169
+ text: "rgba(33, 38, 46, 0.9)",
170
+ textActive: "#FFFFFF",
171
+ background: "#FFFFFF00",
172
+ backgroundHover: "#FFFFFF",
173
+ backgroundActive: "#000000"
174
+ };
175
+ const LINK_LABEL_COLORS = {
176
+ background: "rgba(19, 22, 29, 1)",
177
+ text: "rgba(239, 240, 241, 1)"
178
+ };
179
+ export {
180
+ DEFAULT_NODE_COLOR,
181
+ FORCE_CANVAS_REFERENCE,
182
+ FULL_RANGE,
183
+ INITIAL_NODE_RADIUS_RATIO,
184
+ LABEL_ALWAYS_ABOVE,
185
+ LINK_COLORS,
186
+ LINK_LABEL_COLORS,
187
+ LINK_WIDTH,
188
+ MAX_LINK_DISTANCE,
189
+ MAX_LINK_WIDTH,
190
+ MIN_LINK_DISTANCE,
191
+ MIN_LINK_WIDTH,
192
+ NODE_BORDER_WIDTH,
193
+ NODE_COLLIDE_PAD,
194
+ NODE_COLORS,
195
+ NODE_LABEL_COLORS,
196
+ NODE_SIZES,
197
+ NODE_TYPE_COLORS,
198
+ SHADOW_RADIUS_RATIO,
199
+ SIZE_KEYS,
200
+ isFullRange,
201
+ legendRanges,
202
+ networkForces,
203
+ nodeColor,
204
+ nodeRadius,
205
+ nodeSizeKey,
206
+ rangeIndexOf,
207
+ scaleLinkWidthByMax,
208
+ shadowRadius,
209
+ visibleNodeIds
210
+ };
211
+ //# sourceMappingURL=domain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.js","sources":["../../../../src/components/network-graph/lib/domain.ts"],"sourcesContent":["import type {\n NetworkGraphModel,\n NetworkLegendRange,\n NetworkNode,\n NetworkRange,\n NetworkSizeKey,\n} from './types.js';\n\n/** Client `NODE_SIZES` — bucket → circle radius in px. */\nexport const NODE_SIZES: Record<NetworkSizeKey, number> = {\n xs: 4,\n sm: 6,\n md: 8,\n lg: 12,\n xl: 16,\n '2xl': 24,\n '3xl': 32,\n};\n\n/** Client `SIZE_KEYS` — one per break point, smallest first. */\nexport const SIZE_KEYS: NetworkSizeKey[] = [\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n '2xl',\n '3xl',\n];\n\n/** Buckets above `md` keep their label on screen at rest (client rule). */\nexport const LABEL_ALWAYS_ABOVE = NODE_SIZES.md;\n\nexport const NODE_BORDER_WIDTH = 1;\nexport const SHADOW_RADIUS_RATIO = 1.5;\nexport const MIN_LINK_WIDTH = 0.8;\nexport const MAX_LINK_WIDTH = 20;\n/** Resting stroke width for every link (client). */\nexport const LINK_WIDTH = 2;\nexport const MIN_LINK_DISTANCE = 20;\nexport const MAX_LINK_DISTANCE = 100;\n\n/** Client `LINK_COLORS`. */\nexport const LINK_COLORS = {\n neutral: 'rgba(207, 210, 214, 1)',\n primary: 'rgba(71, 176, 255, 0.5)',\n secondary: 'rgba(255, 140, 71, 0.5)',\n} as const;\n\n/** Client `DEFAULT_NODE_COLOR`. */\nexport const DEFAULT_NODE_COLOR = '#64748B';\n\n/** Client `NODE_TYPE_COLORS` — category key → fill for a node without an image. */\nexport const NODE_TYPE_COLORS: Record<string, string> = {\n bank: '#2563EB',\n invest: '#10B981',\n regional: '#F59E0B',\n vc: '#8B5CF6',\n crypto: '#F97316',\n exchange: '#06B6D4',\n blockchain: '#6366F1',\n defi: '#EC4899',\n company: '#3B82F6',\n startup: '#14B8A6',\n platform: '#A855F7',\n service: '#0EA5E9',\n person: '#EF4444',\n organization: '#64748B',\n community: '#84CC16',\n university: '#1E40AF',\n institute: '#7C3AED',\n program: '#059669',\n studio: '#DC2626',\n streaming: '#BE185D',\n producer: '#B91C1C',\n network: '#1F2937',\n tech: '#3B82F6',\n gaming: '#8B5CF6',\n lifestyle: '#EC4899',\n accelerator: '#10B981',\n manufacturer: '#6366F1',\n distributor: '#F59E0B',\n retailer: '#06B6D4',\n supplier: '#14B8A6',\n cloud: '#0EA5E9',\n saas: '#3B82F6',\n integration: '#8B5CF6',\n framework: '#10B981',\n foundation: '#64748B',\n sponsor: '#F59E0B',\n ai: '#6366F1',\n physics: '#8B5CF6',\n biology: '#10B981',\n corporate: '#3B82F6',\n global: '#1E40AF',\n financial: '#059669',\n ivy: '#7C3AED',\n domain: '#EC4899',\n research: '#14B8A6',\n developer: '#F97316',\n mission: '#4338CA',\n goal: '#A78BFA',\n insight: '#34D399',\n event: '#93C5FD',\n blocker: '#F43F5E',\n entity: '#4B5563',\n source: '#CBD5E1',\n};\n\n/** Full bucket window — no filtering (client `DEFAULT_SLIDER_RANGE`). */\nexport const FULL_RANGE: NetworkRange = { leftSlider: 0, rightSlider: 7 };\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.max(min, Math.min(max, value));\n}\n\n/** Client `getNodeSizeFromBreakpoints`. */\nexport function nodeSizeKey(\n value: number | undefined,\n breakpoints: number[],\n): NetworkSizeKey {\n if (!value || !breakpoints.length) return 'sm';\n for (let i = 0; i < breakpoints.length; i++) {\n if (value <= breakpoints[i]) return SIZE_KEYS[i] ?? 'sm';\n }\n return SIZE_KEYS[SIZE_KEYS.length - 1];\n}\n\nexport function nodeRadius(node: NetworkNode, breakpoints: number[]): number {\n return NODE_SIZES[nodeSizeKey(node.value, breakpoints)];\n}\n\nexport function shadowRadius(node: NetworkNode, breakpoints: number[]): number {\n return nodeRadius(node, breakpoints) * SHADOW_RADIUS_RATIO;\n}\n\n/** Client `getNodeColor` — explicit colour, then category, then the slate default. */\nexport function nodeColor(node: NetworkNode): string {\n return node.color || NODE_TYPE_COLORS[node.type] || DEFAULT_NODE_COLOR;\n}\n\n/** Client `scaleLinkWidthByMax` — resting links stay at `LINK_WIDTH`. */\nexport function scaleLinkWidthByMax(value: number, maxValue: number): number {\n if (maxValue <= 0) return MIN_LINK_WIDTH;\n const ratio = clamp(value / maxValue, 0, 1);\n return MIN_LINK_WIDTH + ratio * (MAX_LINK_WIDTH - MIN_LINK_WIDTH);\n}\n\n/** Client `getNodeRangeIndex` — which bucket a value falls into. */\nexport function rangeIndexOf(value: number, breakpoints: number[]): number {\n for (let i = 0; i < breakpoints.length; i++) {\n if (value <= breakpoints[i]) return i;\n }\n return breakpoints.length - 1;\n}\n\nexport function isFullRange(range: NetworkRange): boolean {\n return (\n range.leftSlider === FULL_RANGE.leftSlider &&\n range.rightSlider === FULL_RANGE.rightSlider\n );\n}\n\n/**\n * Client `filterGraphDataBySliderRange`, reduced to the id set the draw layer\n * needs. Hidden nodes stay mounted so their zone is kept, but their edges leave\n * the force. `null` means \"everything is visible\".\n */\nexport function visibleNodeIds(\n model: NetworkGraphModel,\n range: NetworkRange,\n): Set<string> | null {\n if (isFullRange(range) || !model.breakpoints.length) return null;\n\n const ids = new Set<string>();\n for (const node of model.nodes) {\n if (typeof node.value !== 'number') continue;\n const index = rangeIndexOf(node.value, model.breakpoints);\n if (range.leftSlider <= index && index < range.rightSlider) ids.add(node.id);\n }\n return ids;\n}\n\n/**\n * Client `Legends` ranges — one bubble per break point, the last stretched to\n * 3x so the largest node still lands in a bucket.\n */\nexport function legendRanges(breakpoints: number[]): NetworkLegendRange[] {\n return breakpoints.map((start, index) => ({\n start,\n end: index === breakpoints.length - 1 ? start * 3 : breakpoints[index + 1],\n radius: NODE_SIZES[SIZE_KEYS[index] ?? 'sm'],\n }));\n}\n\n/**\n * The client lays the simulation out on a fixed 2000x1375 canvas and zooms into\n * it. Chat gives the chart its container instead, so the spatial forces are\n * scaled against that canvas — same spacing relative to the room available.\n */\nexport const FORCE_CANVAS_REFERENCE = 1375;\n/**\n * Slack between the largest node and its collision ring. The client gets this\n * for free from a flat 60px radius on a canvas where nodes cap at 32px; keeping\n * the same cushion is what stops the labels from stacking on top of each other.\n */\nexport const NODE_COLLIDE_PAD = 36;\n\nexport interface NetworkForces {\n charge: number;\n collide: number;\n linkDistance: number;\n}\n\nexport function networkForces(\n width: number,\n height: number,\n maxNodeRadius: number,\n): NetworkForces {\n const scale = clamp(Math.min(width, height) / FORCE_CANVAS_REFERENCE, 0.2, 1);\n return {\n charge: -1200 * scale,\n collide: Math.max(60 * scale, maxNodeRadius + NODE_COLLIDE_PAD),\n // The client re-rolls one random distance in [20, 100] per mount; a chat\n // chart has to be reproducible, so the midpoint is used and then scaled.\n linkDistance: clamp(\n ((MIN_LINK_DISTANCE + MAX_LINK_DISTANCE) / 2) * scale,\n MIN_LINK_DISTANCE,\n MAX_LINK_DISTANCE,\n ),\n };\n}\n\n/** Client `INITIAL_NODE_RADIUS_RATIO` — seed spread as a share of the canvas. */\nexport const INITIAL_NODE_RADIUS_RATIO = 0.2;\n\n/** Node chrome (client `createNodeElements`). */\nexport const NODE_COLORS = {\n /** Blue bloom under every node. */\n glow: '#473DD9',\n /** Hairline ring drawn on the circle edge. */\n innerBorder: '#FFFFFF',\n /** Accent ring one pixel outside it. */\n outerBorder: '#473DD9',\n /** Fill of a selected node that carries no image. */\n activeFill: '#000000',\n shadowInner: '#141C2C',\n shadowOuter: '#5F6877',\n} as const;\n\n/** Node label chrome (client `createNodeLabel`). */\nexport const NODE_LABEL_COLORS = {\n text: 'rgba(33, 38, 46, 0.9)',\n textActive: '#FFFFFF',\n background: '#FFFFFF00',\n backgroundHover: '#FFFFFF',\n backgroundActive: '#000000',\n} as const;\n\n/** Link value pill (client `link-label`). */\nexport const LINK_LABEL_COLORS = {\n background: 'rgba(19, 22, 29, 1)',\n text: 'rgba(239, 240, 241, 1)',\n} as const;\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /** Client `toK` — link label text. */
2
+ export declare function formatLinkValue(value: number | undefined): string;
3
+ /** Client node label value row. */
4
+ export declare function formatNodeValue(value: number | undefined): string;
5
+ /** Client `Legends.formatValue` — abbreviated bucket boundary. */
6
+ export declare function formatLegendValue(value: number, toFixed?: number): string;
7
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../src/components/network-graph/lib/format.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAOjE;AAED,mCAAmC;AACnC,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAEjE;AAED,kEAAkE;AAClE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,MAAM,CAYpE"}
@@ -0,0 +1,29 @@
1
+ function formatLinkValue(value) {
2
+ const n = Number(value ?? 0);
3
+ if (n >= 1e3) {
4
+ const k = n / 1e3;
5
+ return `${Number.isInteger(k) ? k.toString() : k.toFixed(1)}K`;
6
+ }
7
+ return n.toString();
8
+ }
9
+ function formatNodeValue(value) {
10
+ return typeof value === "number" ? `$${value.toFixed(2)}` : "";
11
+ }
12
+ function formatLegendValue(value, toFixed = 0) {
13
+ if (!Number.isFinite(value)) return "0";
14
+ if (Math.abs(value) < 1e3) return value.toFixed(toFixed);
15
+ const abbreviations = ["B", "M", "K"];
16
+ for (let i = 0; i < abbreviations.length; i++) {
17
+ const unit = Math.pow(1e3, abbreviations.length - i);
18
+ if (Math.abs(value) >= unit) {
19
+ return `${(value / unit).toFixed(1)} ${abbreviations[i]}`;
20
+ }
21
+ }
22
+ return value.toFixed(toFixed);
23
+ }
24
+ export {
25
+ formatLegendValue,
26
+ formatLinkValue,
27
+ formatNodeValue
28
+ };
29
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sources":["../../../../src/components/network-graph/lib/format.ts"],"sourcesContent":["/** Client `toK` — link label text. */\nexport function formatLinkValue(value: number | undefined): string {\n const n = Number(value ?? 0);\n if (n >= 1000) {\n const k = n / 1000;\n return `${Number.isInteger(k) ? k.toString() : k.toFixed(1)}K`;\n }\n return n.toString();\n}\n\n/** Client node label value row. */\nexport function formatNodeValue(value: number | undefined): string {\n return typeof value === 'number' ? `$${value.toFixed(2)}` : '';\n}\n\n/** Client `Legends.formatValue` — abbreviated bucket boundary. */\nexport function formatLegendValue(value: number, toFixed = 0): string {\n if (!Number.isFinite(value)) return '0';\n if (Math.abs(value) < 1000) return value.toFixed(toFixed);\n\n const abbreviations = ['B', 'M', 'K'];\n for (let i = 0; i < abbreviations.length; i++) {\n const unit = Math.pow(1000, abbreviations.length - i);\n if (Math.abs(value) >= unit) {\n return `${(value / unit).toFixed(1)} ${abbreviations[i]}`;\n }\n }\n return value.toFixed(toFixed);\n}\n"],"names":[],"mappings":"AACO,SAAS,gBAAgB,OAAmC;AACjE,QAAM,IAAI,OAAO,SAAS,CAAC;AAC3B,MAAI,KAAK,KAAM;AACb,UAAM,IAAI,IAAI;AACd,WAAO,GAAG,OAAO,UAAU,CAAC,IAAI,EAAE,SAAA,IAAa,EAAE,QAAQ,CAAC,CAAC;AAAA,EAC7D;AACA,SAAO,EAAE,SAAA;AACX;AAGO,SAAS,gBAAgB,OAAmC;AACjE,SAAO,OAAO,UAAU,WAAW,IAAI,MAAM,QAAQ,CAAC,CAAC,KAAK;AAC9D;AAGO,SAAS,kBAAkB,OAAe,UAAU,GAAW;AACpE,MAAI,CAAC,OAAO,SAAS,KAAK,EAAG,QAAO;AACpC,MAAI,KAAK,IAAI,KAAK,IAAI,IAAM,QAAO,MAAM,QAAQ,OAAO;AAExD,QAAM,gBAAgB,CAAC,KAAK,KAAK,GAAG;AACpC,WAAS,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;AAC7C,UAAM,OAAO,KAAK,IAAI,KAAM,cAAc,SAAS,CAAC;AACpD,QAAI,KAAK,IAAI,KAAK,KAAK,MAAM;AAC3B,aAAO,IAAI,QAAQ,MAAM,QAAQ,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC;AAAA,IACzD;AAAA,EACF;AACA,SAAO,MAAM,QAAQ,OAAO;AAC9B;"}
@@ -0,0 +1,6 @@
1
+ export { type NetworkGraphFusePayload, type NetworkGraphInput, type NetworkGraphModel, type NetworkGraphPayload, type NetworkLegendRange, type NetworkLink, type NetworkLinkKind, type NetworkNode, type NetworkRange, type NetworkSizeKey, } from './types.js';
2
+ export { MAX_NETWORK_LINKS, MAX_NETWORK_NODES, normalizeNetworkGraphData, } from './normalize.js';
3
+ export { DEFAULT_NODE_COLOR, FULL_RANGE, INITIAL_NODE_RADIUS_RATIO, LABEL_ALWAYS_ABOVE, LINK_COLORS, LINK_LABEL_COLORS, LINK_WIDTH, NODE_BORDER_WIDTH, NODE_COLORS, NODE_LABEL_COLORS, NODE_SIZES, NODE_TYPE_COLORS, SHADOW_RADIUS_RATIO, SIZE_KEYS, isFullRange, legendRanges, networkForces, nodeColor, nodeRadius, nodeSizeKey, rangeIndexOf, scaleLinkWidthByMax, shadowRadius, visibleNodeIds, type NetworkForces, } from './domain.js';
4
+ export { formatLegendValue, formatLinkValue, formatNodeValue, } from './format.js';
5
+ export { rangeTrackOffset, slideThumb, sliderIndexFromPointer, thumbTrackPercent, } from './legend.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/network-graph/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,yBAAyB,EACzB,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,aAAa,EACb,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,KAAK,aAAa,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { NetworkRange } from './types.js';
2
+ /**
3
+ * FuseDash RangeInput: left stays strictly below right, right strictly above
4
+ * left — thumbs never share a slot (same as map bubble legend).
5
+ */
6
+ export declare function slideThumb(current: NetworkRange, edge: 'leftSlider' | 'rightSlider', raw: number, rangeCount: number): NetworkRange;
7
+ export declare function sliderIndexFromPointer(clientX: number, track: {
8
+ left: number;
9
+ width: number;
10
+ }, rangeCount: number): number;
11
+ /** FuseDash RangeInput `getThumbPosition` — percent along that thumb's track. */
12
+ export declare function thumbTrackPercent(value: number, rangeCount: number): string;
13
+ /** FuseDash RangeInput track shift: 7px when a thumb sits on 0 or MAX. */
14
+ export declare function rangeTrackOffset(edge: 'left' | 'right', value: number, rangeCount: number): string;
15
+ //# sourceMappingURL=legend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legend.d.ts","sourceRoot":"","sources":["../../../../src/components/network-graph/lib/legend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,YAAY,GAAG,aAAa,EAClC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB,YAAY,CAYd;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACtC,UAAU,EAAE,MAAM,GACjB,MAAM,CAKR;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAG3E;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GACjB,MAAM,CAIR"}
@@ -0,0 +1,35 @@
1
+ function slideThumb(current, edge, raw, rangeCount) {
2
+ const max = Math.max(rangeCount, 1);
3
+ if (edge === "leftSlider") {
4
+ return {
5
+ leftSlider: Math.max(0, Math.min(current.rightSlider - 1, raw)),
6
+ rightSlider: current.rightSlider
7
+ };
8
+ }
9
+ return {
10
+ leftSlider: current.leftSlider,
11
+ rightSlider: Math.max(current.leftSlider + 1, Math.min(max, raw))
12
+ };
13
+ }
14
+ function sliderIndexFromPointer(clientX, track, rangeCount) {
15
+ const max = Math.max(rangeCount, 1);
16
+ if (track.width <= 0) return 0;
17
+ const ratio = (clientX - track.left) / track.width;
18
+ return Math.max(0, Math.min(max, Math.round(ratio * max)));
19
+ }
20
+ function thumbTrackPercent(value, rangeCount) {
21
+ const max = Math.max(rangeCount, 1);
22
+ return `${value / max * 100}%`;
23
+ }
24
+ function rangeTrackOffset(edge, value, rangeCount) {
25
+ const max = Math.max(rangeCount, 1);
26
+ if (edge === "left") return value === 0 ? "7px" : "0px";
27
+ return value === max ? "7px" : "0px";
28
+ }
29
+ export {
30
+ rangeTrackOffset,
31
+ slideThumb,
32
+ sliderIndexFromPointer,
33
+ thumbTrackPercent
34
+ };
35
+ //# sourceMappingURL=legend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legend.js","sources":["../../../../src/components/network-graph/lib/legend.ts"],"sourcesContent":["import type { NetworkRange } from './types.js';\n\n/**\n * FuseDash RangeInput: left stays strictly below right, right strictly above\n * left — thumbs never share a slot (same as map bubble legend).\n */\nexport function slideThumb(\n current: NetworkRange,\n edge: 'leftSlider' | 'rightSlider',\n raw: number,\n rangeCount: number,\n): NetworkRange {\n const max = Math.max(rangeCount, 1);\n if (edge === 'leftSlider') {\n return {\n leftSlider: Math.max(0, Math.min(current.rightSlider - 1, raw)),\n rightSlider: current.rightSlider,\n };\n }\n return {\n leftSlider: current.leftSlider,\n rightSlider: Math.max(current.leftSlider + 1, Math.min(max, raw)),\n };\n}\n\nexport function sliderIndexFromPointer(\n clientX: number,\n track: { left: number; width: number },\n rangeCount: number,\n): number {\n const max = Math.max(rangeCount, 1);\n if (track.width <= 0) return 0;\n const ratio = (clientX - track.left) / track.width;\n return Math.max(0, Math.min(max, Math.round(ratio * max)));\n}\n\n/** FuseDash RangeInput `getThumbPosition` — percent along that thumb's track. */\nexport function thumbTrackPercent(value: number, rangeCount: number): string {\n const max = Math.max(rangeCount, 1);\n return `${(value / max) * 100}%`;\n}\n\n/** FuseDash RangeInput track shift: 7px when a thumb sits on 0 or MAX. */\nexport function rangeTrackOffset(\n edge: 'left' | 'right',\n value: number,\n rangeCount: number,\n): string {\n const max = Math.max(rangeCount, 1);\n if (edge === 'left') return value === 0 ? '7px' : '0px';\n return value === max ? '7px' : '0px';\n}\n"],"names":[],"mappings":"AAMO,SAAS,WACd,SACA,MACA,KACA,YACc;AACd,QAAM,MAAM,KAAK,IAAI,YAAY,CAAC;AAClC,MAAI,SAAS,cAAc;AACzB,WAAO;AAAA,MACL,YAAY,KAAK,IAAI,GAAG,KAAK,IAAI,QAAQ,cAAc,GAAG,GAAG,CAAC;AAAA,MAC9D,aAAa,QAAQ;AAAA,IAAA;AAAA,EAEzB;AACA,SAAO;AAAA,IACL,YAAY,QAAQ;AAAA,IACpB,aAAa,KAAK,IAAI,QAAQ,aAAa,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC;AAAA,EAAA;AAEpE;AAEO,SAAS,uBACd,SACA,OACA,YACQ;AACR,QAAM,MAAM,KAAK,IAAI,YAAY,CAAC;AAClC,MAAI,MAAM,SAAS,EAAG,QAAO;AAC7B,QAAM,SAAS,UAAU,MAAM,QAAQ,MAAM;AAC7C,SAAO,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,MAAM,QAAQ,GAAG,CAAC,CAAC;AAC3D;AAGO,SAAS,kBAAkB,OAAe,YAA4B;AAC3E,QAAM,MAAM,KAAK,IAAI,YAAY,CAAC;AAClC,SAAO,GAAI,QAAQ,MAAO,GAAG;AAC/B;AAGO,SAAS,iBACd,MACA,OACA,YACQ;AACR,QAAM,MAAM,KAAK,IAAI,YAAY,CAAC;AAClC,MAAI,SAAS,OAAQ,QAAO,UAAU,IAAI,QAAQ;AAClD,SAAO,UAAU,MAAM,QAAQ;AACjC;"}
@@ -0,0 +1,10 @@
1
+ import { NetworkGraphInput, NetworkGraphModel } from './types.js';
2
+ /**
3
+ * Mark caps for chat: a node costs eight SVG elements plus a label, a link
4
+ * costs a line plus a label pill. Denser payloads keep their largest members.
5
+ */
6
+ export declare const MAX_NETWORK_NODES = 250;
7
+ export declare const MAX_NETWORK_LINKS = 600;
8
+ /** Normalize FuseDash widget or chat payloads into a force-graph model. */
9
+ export declare function normalizeNetworkGraphData(input: NetworkGraphInput | null | undefined): NetworkGraphModel;
10
+ //# sourceMappingURL=normalize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../../src/components/network-graph/lib/normalize.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,iBAAiB,EACjB,iBAAiB,EAIlB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAgKrC,2EAA2E;AAC3E,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,GAC1C,iBAAiB,CAiBnB"}