@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,33 @@
1
+ import { AxisDetail } from '../../../utils/axis-units.js';
2
+ export interface MatrixCell {
3
+ /** Column category (client `xAxe`) */
4
+ x: string;
5
+ /** Row category (client `groupBy` / first additional data key) */
6
+ y: string;
7
+ value: number;
8
+ }
9
+ export interface MatrixModel {
10
+ /** Zero-filled grid — mirrors client `filledArrayWithZeroData` */
11
+ cells: MatrixCell[];
12
+ xDomain: string[];
13
+ yDomain: string[];
14
+ /**
15
+ * Values as they came in, before zero-filling. Client `MatrixChart` builds
16
+ * its color ranges from these, so filler cells stay "no data".
17
+ */
18
+ rawValues: number[];
19
+ /** Row-category field name — the tooltip's first label. */
20
+ categoryKey: string;
21
+ /** Measure field name (client `yAxe[0]`) — picks the value's unit. */
22
+ valueKey: string;
23
+ /** Per-field labels and measure units from the widget. */
24
+ axisDetails?: Record<string, AxisDetail>;
25
+ }
26
+ export interface MatrixCellsPayload {
27
+ cells: MatrixCell[];
28
+ xDomain?: string[];
29
+ yDomain?: string[];
30
+ }
31
+ /** Chat cells or a FuseDash WidgetItem (`data` + `xAxe`/`yAxe`/`groupBy`/`uniqueValues`). */
32
+ export type MatrixInput = MatrixCell[] | MatrixCellsPayload | Record<string, unknown>;
33
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/matrix-chart/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,CAAC,EAAE,MAAM,CAAC;IACV,kEAAkE;IAClE,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAED,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,6FAA6F;AAC7F,MAAM,MAAM,WAAW,GACnB,UAAU,EAAE,GACZ,kBAAkB,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
@@ -0,0 +1,110 @@
1
+ declare const _default: {
2
+ "id": "matrix-chart",
3
+ "tag": "ui9000-matrix-chart",
4
+ "title": "Matrix Chart",
5
+ "description": "Chat-optimized matrix / heatmap rewritten in D3 (Visx → D3). Sequential-palette cell grid with a pinned column header, no Redux.",
6
+ "chartTypeKeys": ["matrixChart"],
7
+ "source": "client/libs/shared/components/src/Widgets/MatrixChart/",
8
+ "stack": "d3",
9
+ "lazyImport": "@fusedashlabs/widgets/lazy/matrix-chart",
10
+ "entry": "@fusedashlabs/widgets/matrix-chart",
11
+ "usageConditions": {
12
+ "host": "mcp-chat",
13
+ "notFor": "fusedash-editor",
14
+ "mapsExcluded": true
15
+ },
16
+ "allowedActions": ["hover", "resize", "scroll"],
17
+ "propsSchema": {
18
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
19
+ "type": "object",
20
+ "properties": {
21
+ "data": {
22
+ "oneOf": [
23
+ {
24
+ "type": "array",
25
+ "items": {
26
+ "type": "object",
27
+ "required": ["x", "y", "value"],
28
+ "properties": {
29
+ "x": { "type": "string" },
30
+ "y": { "type": "string" },
31
+ "value": { "type": "number" }
32
+ }
33
+ }
34
+ },
35
+ {
36
+ "type": "object",
37
+ "required": ["cells"],
38
+ "properties": {
39
+ "cells": {
40
+ "type": "array",
41
+ "items": {
42
+ "type": "object",
43
+ "required": ["x", "y", "value"],
44
+ "properties": {
45
+ "x": { "type": "string" },
46
+ "y": { "type": "string" },
47
+ "value": { "type": "number" }
48
+ }
49
+ }
50
+ },
51
+ "xDomain": { "type": "array", "items": { "type": "string" } },
52
+ "yDomain": { "type": "array", "items": { "type": "string" } }
53
+ }
54
+ },
55
+ {
56
+ "type": "object",
57
+ "required": ["data"],
58
+ "properties": {
59
+ "data": { "type": "array", "items": { "type": "object" } },
60
+ "xAxe": {
61
+ "oneOf": [
62
+ { "type": "string" },
63
+ { "type": "array", "items": { "type": "string" } }
64
+ ]
65
+ },
66
+ "yAxe": {
67
+ "oneOf": [
68
+ { "type": "string" },
69
+ { "type": "array", "items": { "type": "string" } }
70
+ ]
71
+ },
72
+ "groupBy": {
73
+ "oneOf": [
74
+ { "type": "string" },
75
+ { "type": "array", "items": { "type": "string" } }
76
+ ]
77
+ },
78
+ "uniqueValues": {
79
+ "type": "object",
80
+ "additionalProperties": {
81
+ "type": "array",
82
+ "items": { "type": "string" }
83
+ }
84
+ },
85
+ "axisDetails": {
86
+ "type": "object",
87
+ "description": "Per-field label and measure unit, used for tooltip rows.",
88
+ "additionalProperties": {
89
+ "type": "object",
90
+ "properties": {
91
+ "label": { "type": "string" },
92
+ "measure_unit_type": { "type": "string" },
93
+ "measure_unit": { "type": "string" },
94
+ "measure_unit_symbol": { "type": "string" }
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ ]
101
+ },
102
+ "showLegend": { "type": "boolean", "default": true },
103
+ "showTooltip": { "type": "boolean", "default": true }
104
+ },
105
+ "required": ["data"]
106
+ }
107
+ }
108
+ ;
109
+
110
+ export default _default;
@@ -0,0 +1,42 @@
1
+ const id = "matrix-chart";
2
+ const tag = "ui9000-matrix-chart";
3
+ const title = "Matrix Chart";
4
+ const description = "Chat-optimized matrix / heatmap rewritten in D3 (Visx → D3). Sequential-palette cell grid with a pinned column header, no Redux.";
5
+ const chartTypeKeys = ["matrixChart"];
6
+ const source = "client/libs/shared/components/src/Widgets/MatrixChart/";
7
+ const stack = "d3";
8
+ const lazyImport = "@fusedashlabs/widgets/lazy/matrix-chart";
9
+ const entry = "@fusedashlabs/widgets/matrix-chart";
10
+ const usageConditions = { "host": "mcp-chat", "notFor": "fusedash-editor", "mapsExcluded": true };
11
+ const allowedActions = ["hover", "resize", "scroll"];
12
+ const propsSchema = { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "data": { "oneOf": [{ "type": "array", "items": { "type": "object", "required": ["x", "y", "value"], "properties": { "x": { "type": "string" }, "y": { "type": "string" }, "value": { "type": "number" } } } }, { "type": "object", "required": ["cells"], "properties": { "cells": { "type": "array", "items": { "type": "object", "required": ["x", "y", "value"], "properties": { "x": { "type": "string" }, "y": { "type": "string" }, "value": { "type": "number" } } } }, "xDomain": { "type": "array", "items": { "type": "string" } }, "yDomain": { "type": "array", "items": { "type": "string" } } } }, { "type": "object", "required": ["data"], "properties": { "data": { "type": "array", "items": { "type": "object" } }, "xAxe": { "oneOf": [{ "type": "string" }, { "type": "array", "items": { "type": "string" } }] }, "yAxe": { "oneOf": [{ "type": "string" }, { "type": "array", "items": { "type": "string" } }] }, "groupBy": { "oneOf": [{ "type": "string" }, { "type": "array", "items": { "type": "string" } }] }, "uniqueValues": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } } }, "axisDetails": { "type": "object", "description": "Per-field label and measure unit, used for tooltip rows.", "additionalProperties": { "type": "object", "properties": { "label": { "type": "string" }, "measure_unit_type": { "type": "string" }, "measure_unit": { "type": "string" }, "measure_unit_symbol": { "type": "string" } } } } } }] }, "showLegend": { "type": "boolean", "default": true }, "showTooltip": { "type": "boolean", "default": true } }, "required": ["data"] };
13
+ const matrixMeta = {
14
+ id,
15
+ tag,
16
+ title,
17
+ description,
18
+ chartTypeKeys,
19
+ source,
20
+ stack,
21
+ lazyImport,
22
+ entry,
23
+ usageConditions,
24
+ allowedActions,
25
+ propsSchema
26
+ };
27
+ export {
28
+ allowedActions,
29
+ chartTypeKeys,
30
+ matrixMeta as default,
31
+ description,
32
+ entry,
33
+ id,
34
+ lazyImport,
35
+ propsSchema,
36
+ source,
37
+ stack,
38
+ tag,
39
+ title,
40
+ usageConditions
41
+ };
42
+ //# sourceMappingURL=metadata.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,63 @@
1
+ import { WidgetTheme } from '../../../types/index.js';
2
+ import { AxisLabelTooltipHandlers } from '../../../utils/axis-labels.js';
3
+ import { SequentialColorRange } from '../../../utils/fuse-palette.js';
4
+ import { MatrixCell, MatrixModel } from '../lib/index.js';
5
+ export interface MatrixLayout {
6
+ /** Rows > `FD.matrixSeparateAxisRowLimit` → header pinned, rows scroll. */
7
+ separateTopAxis: boolean;
8
+ /** Height reserved for the column header. */
9
+ topAxisHeight: number;
10
+ /** Height of the row band stack alone. */
11
+ rowsHeight: number;
12
+ /** Full drawn height — taller than the viewport when the rows overflow. */
13
+ contentHeight: number;
14
+ needsScroll: boolean;
15
+ }
16
+ export interface RenderMatrixOptions extends AxisLabelTooltipHandlers {
17
+ model: MatrixModel;
18
+ width: number;
19
+ /** Height of the scroll viewport the plot lives in. */
20
+ height: number;
21
+ /**
22
+ * Stable outer height the pinned header's budget is measured against —
23
+ * the body box that holds both the header and the scroll area.
24
+ *
25
+ * It must NOT be the scroll viewport (`height`): the header sits above the
26
+ * scroll area, so sizing the header from the viewport makes the header
27
+ * resize itself on every redraw and settle into a visible up/down cycle.
28
+ */
29
+ bodyHeight?: number;
30
+ margin?: {
31
+ top: number;
32
+ right: number;
33
+ bottom: number;
34
+ left: number;
35
+ };
36
+ theme: WidgetTheme;
37
+ themeMode?: 'light' | 'dark';
38
+ /** Pinned header host — only used when the layout separates the top axis. */
39
+ topAxisContainer?: HTMLElement | null;
40
+ onCellHover?: (payload: {
41
+ cell: MatrixCell;
42
+ event: MouseEvent;
43
+ }) => void;
44
+ onCellLeave?: () => void;
45
+ }
46
+ export declare function matrixColorRanges(model: MatrixModel): SequentialColorRange[];
47
+ /** Mirrors client `calculateHorizontalLabelAngle`. */
48
+ export declare function horizontalLabelAngle(labelWidth: number, availableWidth: number, labelHeight: number): number;
49
+ /**
50
+ * Client `MatrixChart` frame: `topAxisHeight` reserves font + tick + spacing,
51
+ * rows never fall under `minCellHeight`, and the plot grows past the viewport
52
+ * instead of squeezing.
53
+ */
54
+ export declare function matrixLayout(model: MatrixModel, viewportHeight: number, margin: {
55
+ top: number;
56
+ bottom: number;
57
+ }): MatrixLayout;
58
+ /**
59
+ * FuseDash MatrixChart — a sequential-palette grid with a pinned column header
60
+ * once the rows overflow. Plot-local coordinates translated by the margin.
61
+ */
62
+ export declare function renderMatrixChart(container: HTMLElement, options: RenderMatrixOptions): void;
63
+ //# sourceMappingURL=draw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draw.d.ts","sourceRoot":"","sources":["../../../../src/components/matrix-chart/render/draw.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAY/D,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,eAAe,EAAE,OAAO,CAAC;IACzB,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,mBAAoB,SAAQ,wBAAwB;IACnE,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;IACzE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,oBAAoB,EAAE,CAK5E;AASD,sDAAsD;AACtD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,GAClB,MAAM,CAYR;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,WAAW,EAClB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtC,YAAY,CAuBd;AAsJD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,mBAAmB,GAC3B,IAAI,CAgJN"}
@@ -0,0 +1,225 @@
1
+ import { scaleBand } from "d3-scale";
2
+ import { select } from "d3-selection";
3
+ import { decorateManualAxisLabel } from "../../../utils/axis-labels.js";
4
+ import { generateSequentialColorRanges, sequentialColorForValue, SEQUENTIAL_1 } from "../../../utils/fuse-palette.js";
5
+ import { FD } from "../../../utils/fusedash-visual.js";
6
+ const NO_DATA_PATTERN_ID = "ui9000-matrix-no-data";
7
+ const LABEL_ROTATION_COMPENSATION = 4;
8
+ const TOP_AXIS_MAX_HEIGHT = 160;
9
+ const TOP_AXIS_MAX_HEIGHT_RATIO = 0.35;
10
+ function matrixColorRanges(model) {
11
+ return generateSequentialColorRanges(
12
+ model.rawValues.filter((v) => Number.isFinite(v)),
13
+ SEQUENTIAL_1
14
+ );
15
+ }
16
+ function cellFill(value, ranges) {
17
+ if (value < 0) return FD.matrixNegativeFill;
18
+ if (!value) return `url(#${NO_DATA_PATTERN_ID})`;
19
+ return sequentialColorForValue(value, ranges) ?? `url(#${NO_DATA_PATTERN_ID})`;
20
+ }
21
+ function horizontalLabelAngle(labelWidth, availableWidth, labelHeight) {
22
+ if (availableWidth <= 0 || labelWidth <= 0 || labelWidth <= availableWidth) {
23
+ return 0;
24
+ }
25
+ if (labelHeight >= availableWidth) return -90;
26
+ const ratio = Math.max(-1, Math.min(1, availableWidth * 0.8 / labelWidth));
27
+ const angle = Math.acos(ratio) * (180 / Math.PI) * -1;
28
+ const rounded = Math.ceil(angle / 5) * 5;
29
+ if (rounded > 0) return 0;
30
+ if (rounded < -90) return -90;
31
+ return rounded;
32
+ }
33
+ function matrixLayout(model, viewportHeight, margin) {
34
+ const topAxisHeight = Math.max(
35
+ margin.top,
36
+ FD.axisLabelSize + FD.matrixTopTickLength + FD.matrixTopLabelsSpacing + 10
37
+ );
38
+ const separateTopAxis = model.yDomain.length > FD.matrixSeparateAxisRowLimit;
39
+ const chrome = separateTopAxis ? 0 : topAxisHeight + margin.bottom + 10;
40
+ const rowsCount = model.yDomain.length;
41
+ const rowsHeight = Math.max(viewportHeight - chrome, 0);
42
+ const perRow = rowsCount ? Math.max(Math.floor(rowsHeight / rowsCount), FD.matrixMinCellHeight) : 0;
43
+ const stack = perRow * rowsCount;
44
+ const contentHeight = stack + chrome;
45
+ return {
46
+ separateTopAxis,
47
+ topAxisHeight,
48
+ rowsHeight: stack,
49
+ contentHeight,
50
+ needsScroll: contentHeight > viewportHeight
51
+ };
52
+ }
53
+ function appendNoDataPattern(defs, themeMode) {
54
+ const pattern = defs.append("pattern").attr("id", NO_DATA_PATTERN_ID).attr("width", 5).attr("height", 5).attr("patternUnits", "userSpaceOnUse").attr("patternTransform", "rotate(45)");
55
+ pattern.append("rect").attr("width", 5).attr("height", 5).attr(
56
+ "fill",
57
+ themeMode === "dark" ? FD.matrixNoDataDark : FD.matrixNoDataLight
58
+ );
59
+ pattern.append("rect").attr("width", 2).attr("height", 5).attr(
60
+ "fill",
61
+ themeMode === "dark" ? FD.matrixNoDataStripeDark : FD.matrixNoDataStripeLight
62
+ );
63
+ }
64
+ function renderTopAxis(group, xDomain, xScale, axisWidth, maxExtent, axisLabels) {
65
+ const available = axisWidth / Math.max(xDomain.length, 1);
66
+ const baselineY = -8;
67
+ const labels = xDomain.map((category) => {
68
+ const band = xScale(category);
69
+ const text = group.append("text").attr("y", baselineY).attr("font-size", FD.axisLabelSize).attr("fill", FD.axisLabelFill).attr("text-anchor", "middle");
70
+ decorateManualAxisLabel(text, category, {
71
+ maxLength: FD.matrixTopLabelMaxChars,
72
+ ...axisLabels
73
+ });
74
+ return { text, full: category, x: (band ?? 0) + xScale.bandwidth() / 2 };
75
+ });
76
+ const widthOf = (text) => {
77
+ var _a, _b;
78
+ return ((_b = (_a = text.node()) == null ? void 0 : _a.getComputedTextLength) == null ? void 0 : _b.call(_a)) || text.text().length * FD.axisLabelSize * 0.55;
79
+ };
80
+ const longest = labels.reduce(
81
+ (max, { text }) => Math.max(max, widthOf(text)),
82
+ 0
83
+ );
84
+ const angle = horizontalLabelAngle(
85
+ longest + FD.matrixTopLabelsSpacing,
86
+ available,
87
+ FD.axisLabelSize
88
+ );
89
+ if (angle === 0) {
90
+ for (const { text, x } of labels) text.attr("x", x);
91
+ return FD.axisLabelSize + FD.matrixTopTickLength;
92
+ }
93
+ const radians = Math.PI / 180 * angle;
94
+ const sin = Math.abs(Math.sin(radians));
95
+ const chrome = FD.matrixTopTickLength + 4;
96
+ if (sin > 0 && sin * longest + chrome > maxExtent) {
97
+ const slotWidth = Math.max((maxExtent - chrome) / sin, FD.axisLabelSize);
98
+ for (const { text, full } of labels) {
99
+ decorateManualAxisLabel(text, full, {
100
+ maxLength: FD.matrixTopLabelMaxChars,
101
+ slotWidth,
102
+ ...axisLabels
103
+ });
104
+ }
105
+ }
106
+ const shift = FD.axisLabelSize * 0.5 - LABEL_ROTATION_COMPENSATION;
107
+ const groupDx = Math.cos(radians) ** 2 * shift;
108
+ const textDx = Math.sin(radians) ** 2 * shift;
109
+ let extent = 0;
110
+ for (const { text, x } of labels) {
111
+ text.attr("x", 0).attr("dx", textDx).attr("text-anchor", "start").attr(
112
+ "transform",
113
+ `translate(${x - available / 2 + groupDx},${baselineY + Math.abs(angle) * 0.1}) rotate(${angle})`
114
+ ).attr("y", 0);
115
+ extent = Math.max(extent, widthOf(text));
116
+ }
117
+ return sin * extent + chrome;
118
+ }
119
+ function renderYAxis(group, yDomain, yScale, gutter, axisLabels) {
120
+ for (const category of yDomain) {
121
+ const band = yScale(category);
122
+ if (band == null) continue;
123
+ const text = group.append("text").attr("x", -gutter).attr("y", band + yScale.bandwidth() / 2 + 3).attr("font-size", FD.axisLabelSize).attr("fill", FD.axisLabelFill).attr("text-anchor", "start").style("dominant-baseline", "middle");
124
+ decorateManualAxisLabel(text, category, {
125
+ maxLength: FD.matrixYLabelMaxChars,
126
+ ...axisLabels
127
+ });
128
+ }
129
+ }
130
+ function renderMatrixChart(container, options) {
131
+ const {
132
+ model,
133
+ width,
134
+ height,
135
+ bodyHeight = height,
136
+ margin = { ...FD.matrixMargin },
137
+ theme,
138
+ themeMode = "light",
139
+ topAxisContainer,
140
+ onCellHover,
141
+ onCellLeave,
142
+ onAxisLabelHover,
143
+ onAxisLabelLeave
144
+ } = options;
145
+ const axisLabels = {
146
+ onAxisLabelHover,
147
+ onAxisLabelLeave
148
+ };
149
+ container.replaceChildren();
150
+ topAxisContainer == null ? void 0 : topAxisContainer.replaceChildren();
151
+ if (!model.cells.length || width <= 0 || height <= 0) return;
152
+ const layout = matrixLayout(model, height, margin);
153
+ const xMax = width - margin.left - margin.right;
154
+ const plotTop = layout.separateTopAxis ? 0 : layout.topAxisHeight;
155
+ if (xMax < 8 || layout.rowsHeight < 8) return;
156
+ const xScale = scaleBand().domain(model.xDomain).range([0, xMax]).paddingInner(0).paddingOuter(0);
157
+ const yScale = scaleBand().domain(model.yDomain).range([0, layout.rowsHeight]).paddingInner(0).paddingOuter(0);
158
+ const svgHeight = Math.max(layout.contentHeight, height);
159
+ const svg = select(container).append("svg").attr("width", width).attr("height", svgHeight).attr("role", "img").attr("aria-label", "Matrix chart").style("display", "block").style("font-family", theme.fontFamily);
160
+ appendNoDataPattern(svg.append("defs"), themeMode);
161
+ const plot = svg.append("g").attr("class", "plot").attr("transform", `translate(${margin.left},${plotTop})`);
162
+ const ranges = matrixColorRanges(model);
163
+ const cellPad = FD.matrixCellPadding;
164
+ const cellWidth = Math.max(xScale.bandwidth() - cellPad, 1);
165
+ const cellHeight = Math.max(yScale.bandwidth() - cellPad, 1);
166
+ const layer = plot.append("g").attr("class", "cells");
167
+ for (const cell of model.cells) {
168
+ const bx = xScale(cell.x);
169
+ const by = yScale(cell.y);
170
+ if (bx == null || by == null) continue;
171
+ const rect = layer.append("rect").attr("class", "matrix-cell").attr("x", bx).attr("y", by + cellPad / 2).attr("width", cellWidth).attr("height", cellHeight).attr("rx", FD.matrixCellRadius).attr("fill", cellFill(cell.value, ranges));
172
+ if (onCellHover) {
173
+ rect.on("mouseenter", (event) => onCellHover({ cell, event })).on("mousemove", (event) => onCellHover({ cell, event })).on("mouseleave", () => onCellLeave == null ? void 0 : onCellLeave());
174
+ }
175
+ }
176
+ renderYAxis(
177
+ plot.append("g").attr("class", "y-axis"),
178
+ model.yDomain,
179
+ yScale,
180
+ margin.left,
181
+ axisLabels
182
+ );
183
+ if (!layout.separateTopAxis) {
184
+ renderTopAxis(
185
+ plot.append("g").attr("class", "x-axis"),
186
+ model.xDomain,
187
+ xScale,
188
+ xMax,
189
+ layout.topAxisHeight,
190
+ axisLabels
191
+ );
192
+ return;
193
+ }
194
+ if (!topAxisContainer) return;
195
+ const axisSvg = select(topAxisContainer).append("svg").attr("width", width).attr("height", layout.topAxisHeight).style("display", "block").style("font-family", theme.fontFamily);
196
+ const axisGroup = axisSvg.append("g").attr("transform", `translate(${margin.left},${layout.topAxisHeight})`);
197
+ const maxExtent = Math.max(
198
+ layout.topAxisHeight,
199
+ Math.min(
200
+ TOP_AXIS_MAX_HEIGHT,
201
+ Math.round(bodyHeight * TOP_AXIS_MAX_HEIGHT_RATIO)
202
+ )
203
+ );
204
+ const needed = renderTopAxis(
205
+ axisGroup,
206
+ model.xDomain,
207
+ xScale,
208
+ width,
209
+ maxExtent,
210
+ axisLabels
211
+ );
212
+ const axisHeight = Math.min(
213
+ Math.max(layout.topAxisHeight, Math.ceil(needed)),
214
+ maxExtent
215
+ );
216
+ axisSvg.attr("height", axisHeight);
217
+ axisGroup.attr("transform", `translate(${margin.left},${axisHeight})`);
218
+ }
219
+ export {
220
+ horizontalLabelAngle,
221
+ matrixColorRanges,
222
+ matrixLayout,
223
+ renderMatrixChart
224
+ };
225
+ //# sourceMappingURL=draw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draw.js","sources":["../../../../src/components/matrix-chart/render/draw.ts"],"sourcesContent":["import { scaleBand } from 'd3-scale';\nimport { select, type Selection } from 'd3-selection';\n\nimport type { WidgetTheme } from '../../../types/index.js';\nimport {\n decorateManualAxisLabel,\n type AxisLabelTooltipHandlers,\n} from '../../../utils/axis-labels.js';\nimport {\n generateSequentialColorRanges,\n sequentialColorForValue,\n SEQUENTIAL_1,\n type SequentialColorRange,\n} from '../../../utils/fuse-palette.js';\nimport { FD } from '../../../utils/fusedash-visual.js';\nimport type { MatrixCell, MatrixModel } from '../lib/index.js';\n\nconst NO_DATA_PATTERN_ID = 'ui9000-matrix-no-data';\n\n/** Client `DynamicAxisLabel` background-rect compensation. */\nconst LABEL_ROTATION_COMPENSATION = 4;\n\n/** Rotated header labels may grow the pinned axis, but never past this. */\nconst TOP_AXIS_MAX_HEIGHT = 160;\n/** …nor past this share of the widget, however long the categories are. */\nconst TOP_AXIS_MAX_HEIGHT_RATIO = 0.35;\n\nexport interface MatrixLayout {\n /** Rows > `FD.matrixSeparateAxisRowLimit` → header pinned, rows scroll. */\n separateTopAxis: boolean;\n /** Height reserved for the column header. */\n topAxisHeight: number;\n /** Height of the row band stack alone. */\n rowsHeight: number;\n /** Full drawn height — taller than the viewport when the rows overflow. */\n contentHeight: number;\n needsScroll: boolean;\n}\n\nexport interface RenderMatrixOptions extends AxisLabelTooltipHandlers {\n model: MatrixModel;\n width: number;\n /** Height of the scroll viewport the plot lives in. */\n height: number;\n /**\n * Stable outer height the pinned header's budget is measured against —\n * the body box that holds both the header and the scroll area.\n *\n * It must NOT be the scroll viewport (`height`): the header sits above the\n * scroll area, so sizing the header from the viewport makes the header\n * resize itself on every redraw and settle into a visible up/down cycle.\n */\n bodyHeight?: number;\n margin?: { top: number; right: number; bottom: number; left: number };\n theme: WidgetTheme;\n themeMode?: 'light' | 'dark';\n /** Pinned header host — only used when the layout separates the top axis. */\n topAxisContainer?: HTMLElement | null;\n onCellHover?: (payload: { cell: MatrixCell; event: MouseEvent }) => void;\n onCellLeave?: () => void;\n}\n\nexport function matrixColorRanges(model: MatrixModel): SequentialColorRange[] {\n return generateSequentialColorRanges(\n model.rawValues.filter((v) => Number.isFinite(v)),\n SEQUENTIAL_1,\n );\n}\n\n/** Client `getColor` + the negative / no-data special cases. */\nfunction cellFill(value: number, ranges: SequentialColorRange[]): string {\n if (value < 0) return FD.matrixNegativeFill;\n if (!value) return `url(#${NO_DATA_PATTERN_ID})`;\n return sequentialColorForValue(value, ranges) ?? `url(#${NO_DATA_PATTERN_ID})`;\n}\n\n/** Mirrors client `calculateHorizontalLabelAngle`. */\nexport function horizontalLabelAngle(\n labelWidth: number,\n availableWidth: number,\n labelHeight: number,\n): number {\n if (availableWidth <= 0 || labelWidth <= 0 || labelWidth <= availableWidth) {\n return 0;\n }\n if (labelHeight >= availableWidth) return -90;\n\n const ratio = Math.max(-1, Math.min(1, (availableWidth * 0.8) / labelWidth));\n const angle = Math.acos(ratio) * (180 / Math.PI) * -1;\n const rounded = Math.ceil(angle / 5) * 5;\n if (rounded > 0) return 0;\n if (rounded < -90) return -90;\n return rounded;\n}\n\n/**\n * Client `MatrixChart` frame: `topAxisHeight` reserves font + tick + spacing,\n * rows never fall under `minCellHeight`, and the plot grows past the viewport\n * instead of squeezing.\n */\nexport function matrixLayout(\n model: MatrixModel,\n viewportHeight: number,\n margin: { top: number; bottom: number },\n): MatrixLayout {\n const topAxisHeight = Math.max(\n margin.top,\n FD.axisLabelSize + FD.matrixTopTickLength + FD.matrixTopLabelsSpacing + 10,\n );\n const separateTopAxis = model.yDomain.length > FD.matrixSeparateAxisRowLimit;\n const chrome = separateTopAxis ? 0 : topAxisHeight + margin.bottom + 10;\n\n const rowsCount = model.yDomain.length;\n const rowsHeight = Math.max(viewportHeight - chrome, 0);\n const perRow = rowsCount\n ? Math.max(Math.floor(rowsHeight / rowsCount), FD.matrixMinCellHeight)\n : 0;\n\n const stack = perRow * rowsCount;\n const contentHeight = stack + chrome;\n return {\n separateTopAxis,\n topAxisHeight,\n rowsHeight: stack,\n contentHeight,\n needsScroll: contentHeight > viewportHeight,\n };\n}\n\nfunction appendNoDataPattern(\n defs: Selection<SVGDefsElement, unknown, null, undefined>,\n themeMode: 'light' | 'dark',\n): void {\n const pattern = defs\n .append('pattern')\n .attr('id', NO_DATA_PATTERN_ID)\n .attr('width', 5)\n .attr('height', 5)\n .attr('patternUnits', 'userSpaceOnUse')\n .attr('patternTransform', 'rotate(45)');\n pattern\n .append('rect')\n .attr('width', 5)\n .attr('height', 5)\n .attr(\n 'fill',\n themeMode === 'dark' ? FD.matrixNoDataDark : FD.matrixNoDataLight,\n );\n pattern\n .append('rect')\n .attr('width', 2)\n .attr('height', 5)\n .attr(\n 'fill',\n themeMode === 'dark'\n ? FD.matrixNoDataStripeDark\n : FD.matrixNoDataStripeLight,\n );\n}\n\n/**\n * Column header. Labels are measured, then rotated the way client\n * `useVisxDynamicAxisLabel` does once they stop fitting their band.\n */\nfunction renderTopAxis(\n group: Selection<SVGGElement, unknown, null, undefined>,\n xDomain: string[],\n xScale: ReturnType<typeof scaleBand<string>>,\n axisWidth: number,\n maxExtent: number,\n axisLabels: AxisLabelTooltipHandlers,\n): number {\n const available = axisWidth / Math.max(xDomain.length, 1);\n const baselineY = -FD.matrixTopTickLength;\n\n const labels = xDomain.map((category) => {\n const band = xScale(category);\n const text = group\n .append('text')\n .attr('y', baselineY)\n .attr('font-size', FD.axisLabelSize)\n .attr('fill', FD.axisLabelFill)\n .attr('text-anchor', 'middle');\n decorateManualAxisLabel(text, category, {\n maxLength: FD.matrixTopLabelMaxChars,\n ...axisLabels,\n });\n return { text, full: category, x: (band ?? 0) + xScale.bandwidth() / 2 };\n });\n\n // jsdom has no layout engine — fall back to the FuseDash char estimate.\n const widthOf = (text: (typeof labels)[number]['text']): number =>\n text.node()?.getComputedTextLength?.() ||\n text.text().length * FD.axisLabelSize * 0.55;\n\n const longest = labels.reduce(\n (max, { text }) => Math.max(max, widthOf(text)),\n 0,\n );\n\n const angle = horizontalLabelAngle(\n longest + FD.matrixTopLabelsSpacing,\n available,\n FD.axisLabelSize,\n );\n\n if (angle === 0) {\n for (const { text, x } of labels) text.attr('x', x);\n return FD.axisLabelSize + FD.matrixTopTickLength;\n }\n\n const radians = (Math.PI / 180) * angle;\n const sin = Math.abs(Math.sin(radians));\n const chrome = FD.matrixTopTickLength + 4;\n\n // Rotated labels grow the header vertically — shorten them to the space the\n // header is allowed to take rather than letting them clip against its edge.\n if (sin > 0 && sin * longest + chrome > maxExtent) {\n const slotWidth = Math.max((maxExtent - chrome) / sin, FD.axisLabelSize);\n for (const { text, full } of labels) {\n decorateManualAxisLabel(text, full, {\n maxLength: FD.matrixTopLabelMaxChars,\n slotWidth,\n ...axisLabels,\n });\n }\n }\n\n const shift = FD.axisLabelSize * 0.5 - LABEL_ROTATION_COMPENSATION;\n const groupDx = Math.cos(radians) ** 2 * shift;\n const textDx = Math.sin(radians) ** 2 * shift;\n\n let extent = 0;\n for (const { text, x } of labels) {\n text\n .attr('x', 0)\n .attr('dx', textDx)\n .attr('text-anchor', 'start')\n .attr(\n 'transform',\n `translate(${x - available / 2 + groupDx},${\n baselineY + Math.abs(angle) * 0.1\n }) rotate(${angle})`,\n )\n .attr('y', 0);\n extent = Math.max(extent, widthOf(text));\n }\n\n return sin * extent + chrome;\n}\n\n/** Client AxisLeft: labels sit in the left gutter, truncated to 9 characters. */\nfunction renderYAxis(\n group: Selection<SVGGElement, unknown, null, undefined>,\n yDomain: string[],\n yScale: ReturnType<typeof scaleBand<string>>,\n gutter: number,\n axisLabels: AxisLabelTooltipHandlers,\n): void {\n for (const category of yDomain) {\n const band = yScale(category);\n if (band == null) continue;\n const text = group\n .append('text')\n .attr('x', -gutter)\n .attr('y', band + yScale.bandwidth() / 2 + 3)\n .attr('font-size', FD.axisLabelSize)\n .attr('fill', FD.axisLabelFill)\n .attr('text-anchor', 'start')\n .style('dominant-baseline', 'middle');\n decorateManualAxisLabel(text, category, {\n maxLength: FD.matrixYLabelMaxChars,\n ...axisLabels,\n });\n }\n}\n\n/**\n * FuseDash MatrixChart — a sequential-palette grid with a pinned column header\n * once the rows overflow. Plot-local coordinates translated by the margin.\n */\nexport function renderMatrixChart(\n container: HTMLElement,\n options: RenderMatrixOptions,\n): void {\n const {\n model,\n width,\n height,\n bodyHeight = height,\n margin = { ...FD.matrixMargin },\n theme,\n themeMode = 'light',\n topAxisContainer,\n onCellHover,\n onCellLeave,\n onAxisLabelHover,\n onAxisLabelLeave,\n } = options;\n\n const axisLabels: AxisLabelTooltipHandlers = {\n onAxisLabelHover,\n onAxisLabelLeave,\n };\n\n container.replaceChildren();\n topAxisContainer?.replaceChildren();\n if (!model.cells.length || width <= 0 || height <= 0) return;\n\n const layout = matrixLayout(model, height, margin);\n const xMax = width - margin.left - margin.right;\n const plotTop = layout.separateTopAxis ? 0 : layout.topAxisHeight;\n if (xMax < 8 || layout.rowsHeight < 8) return;\n\n const xScale = scaleBand<string>()\n .domain(model.xDomain)\n .range([0, xMax])\n .paddingInner(0)\n .paddingOuter(0);\n\n const yScale = scaleBand<string>()\n .domain(model.yDomain)\n .range([0, layout.rowsHeight])\n .paddingInner(0)\n .paddingOuter(0);\n\n const svgHeight = Math.max(layout.contentHeight, height);\n const svg = select(container)\n .append('svg')\n .attr('width', width)\n .attr('height', svgHeight)\n .attr('role', 'img')\n .attr('aria-label', 'Matrix chart')\n .style('display', 'block')\n .style('font-family', theme.fontFamily);\n\n appendNoDataPattern(svg.append('defs'), themeMode);\n\n const plot = svg\n .append('g')\n .attr('class', 'plot')\n .attr('transform', `translate(${margin.left},${plotTop})`);\n\n const ranges = matrixColorRanges(model);\n const cellPad = FD.matrixCellPadding;\n const cellWidth = Math.max(xScale.bandwidth() - cellPad, 1);\n const cellHeight = Math.max(yScale.bandwidth() - cellPad, 1);\n\n const layer = plot.append('g').attr('class', 'cells');\n for (const cell of model.cells) {\n const bx = xScale(cell.x);\n const by = yScale(cell.y);\n if (bx == null || by == null) continue;\n\n const rect = layer\n .append('rect')\n .attr('class', 'matrix-cell')\n .attr('x', bx)\n .attr('y', by + cellPad / 2)\n .attr('width', cellWidth)\n .attr('height', cellHeight)\n .attr('rx', FD.matrixCellRadius)\n .attr('fill', cellFill(cell.value, ranges));\n\n if (onCellHover) {\n rect\n .on('mouseenter', (event: MouseEvent) => onCellHover({ cell, event }))\n .on('mousemove', (event: MouseEvent) => onCellHover({ cell, event }))\n .on('mouseleave', () => onCellLeave?.());\n }\n }\n\n renderYAxis(\n plot.append('g').attr('class', 'y-axis'),\n model.yDomain,\n yScale,\n margin.left,\n axisLabels,\n );\n\n if (!layout.separateTopAxis) {\n renderTopAxis(\n plot.append('g').attr('class', 'x-axis'),\n model.xDomain,\n xScale,\n xMax,\n layout.topAxisHeight,\n axisLabels,\n );\n return;\n }\n\n if (!topAxisContainer) return;\n\n // Pinned header: drawn once, measured, then grown to fit rotated labels —\n // the client's fixed 41px header clips them when the rows scroll.\n const axisSvg = select(topAxisContainer)\n .append('svg')\n .attr('width', width)\n .attr('height', layout.topAxisHeight)\n .style('display', 'block')\n .style('font-family', theme.fontFamily);\n\n const axisGroup = axisSvg\n .append('g')\n .attr('transform', `translate(${margin.left},${layout.topAxisHeight})`);\n\n const maxExtent = Math.max(\n layout.topAxisHeight,\n Math.min(\n TOP_AXIS_MAX_HEIGHT,\n Math.round(bodyHeight * TOP_AXIS_MAX_HEIGHT_RATIO),\n ),\n );\n const needed = renderTopAxis(\n axisGroup,\n model.xDomain,\n xScale,\n width,\n maxExtent,\n axisLabels,\n );\n const axisHeight = Math.min(\n Math.max(layout.topAxisHeight, Math.ceil(needed)),\n maxExtent,\n );\n axisSvg.attr('height', axisHeight);\n axisGroup.attr('transform', `translate(${margin.left},${axisHeight})`);\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { matrixColorRanges, matrixLayout, renderMatrixChart, type MatrixLayout, type RenderMatrixOptions, } from './draw.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/matrix-chart/render/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,mBAAmB,GACzB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const networkGraphStyles: import('lit').CSSResult;
2
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/network-graph/element/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,yBA0Q9B,CAAC"}