@fusedashlabs/widgets 0.3.1 → 0.4.1

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 (409) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +1 -1
  3. package/dist/components/chart-renderer/element/ui9000-chart-renderer.d.ts +2 -0
  4. package/dist/components/chart-renderer/element/ui9000-chart-renderer.d.ts.map +1 -1
  5. package/dist/components/chart-renderer/element/ui9000-chart-renderer.js +23 -2
  6. package/dist/components/chart-renderer/element/ui9000-chart-renderer.js.map +1 -1
  7. package/dist/components/chart-renderer/lib/registry.d.ts.map +1 -1
  8. package/dist/components/chart-renderer/lib/registry.js +20 -5
  9. package/dist/components/chart-renderer/lib/registry.js.map +1 -1
  10. package/dist/components/chart-renderer/lib/types.d.ts +5 -0
  11. package/dist/components/chart-renderer/lib/types.d.ts.map +1 -1
  12. package/dist/components/donut-chart/element/ui9000-donut-chart.js +1 -1
  13. package/dist/components/donut-chart/element/ui9000-donut-chart.js.map +1 -1
  14. package/dist/components/kpi-widget/element/styles.d.ts.map +1 -1
  15. package/dist/components/kpi-widget/element/styles.js +268 -5
  16. package/dist/components/kpi-widget/element/styles.js.map +1 -1
  17. package/dist/components/kpi-widget/element/ui9000-kpi-widget.d.ts +10 -1
  18. package/dist/components/kpi-widget/element/ui9000-kpi-widget.d.ts.map +1 -1
  19. package/dist/components/kpi-widget/element/ui9000-kpi-widget.js +154 -27
  20. package/dist/components/kpi-widget/element/ui9000-kpi-widget.js.map +1 -1
  21. package/dist/components/kpi-widget/index.d.ts +1 -1
  22. package/dist/components/kpi-widget/index.d.ts.map +1 -1
  23. package/dist/components/kpi-widget/index.js +7 -4
  24. package/dist/components/kpi-widget/lib/extract.d.ts +5 -1
  25. package/dist/components/kpi-widget/lib/extract.d.ts.map +1 -1
  26. package/dist/components/kpi-widget/lib/extract.js +110 -34
  27. package/dist/components/kpi-widget/lib/extract.js.map +1 -1
  28. package/dist/components/kpi-widget/lib/format.d.ts +5 -0
  29. package/dist/components/kpi-widget/lib/format.d.ts.map +1 -1
  30. package/dist/components/kpi-widget/lib/format.js +10 -1
  31. package/dist/components/kpi-widget/lib/format.js.map +1 -1
  32. package/dist/components/kpi-widget/lib/grid.d.ts +5 -0
  33. package/dist/components/kpi-widget/lib/grid.d.ts.map +1 -1
  34. package/dist/components/kpi-widget/lib/grid.js +18 -0
  35. package/dist/components/kpi-widget/lib/grid.js.map +1 -1
  36. package/dist/components/kpi-widget/lib/index.d.ts +5 -5
  37. package/dist/components/kpi-widget/lib/index.d.ts.map +1 -1
  38. package/dist/components/kpi-widget/lib/normalize.d.ts +2 -0
  39. package/dist/components/kpi-widget/lib/normalize.d.ts.map +1 -1
  40. package/dist/components/kpi-widget/lib/normalize.js +73 -12
  41. package/dist/components/kpi-widget/lib/normalize.js.map +1 -1
  42. package/dist/components/kpi-widget/lib/types.d.ts +41 -0
  43. package/dist/components/kpi-widget/lib/types.d.ts.map +1 -1
  44. package/dist/components/kpi-widget/metadata.json.d.ts +1 -1
  45. package/dist/components/kpi-widget/metadata.json.js +1 -1
  46. package/dist/components/lollipop/element/styles.d.ts.map +1 -1
  47. package/dist/components/lollipop/element/styles.js +19 -1
  48. package/dist/components/lollipop/element/styles.js.map +1 -1
  49. package/dist/components/lollipop/element/ui9000-lollipop.d.ts +6 -1
  50. package/dist/components/lollipop/element/ui9000-lollipop.d.ts.map +1 -1
  51. package/dist/components/lollipop/element/ui9000-lollipop.js +68 -7
  52. package/dist/components/lollipop/element/ui9000-lollipop.js.map +1 -1
  53. package/dist/components/lollipop/index.d.ts +1 -1
  54. package/dist/components/lollipop/index.d.ts.map +1 -1
  55. package/dist/components/lollipop/index.js +2 -0
  56. package/dist/components/lollipop/index.js.map +1 -1
  57. package/dist/components/lollipop/lib/domain.d.ts +16 -1
  58. package/dist/components/lollipop/lib/domain.d.ts.map +1 -1
  59. package/dist/components/lollipop/lib/domain.js +56 -1
  60. package/dist/components/lollipop/lib/domain.js.map +1 -1
  61. package/dist/components/lollipop/lib/index.d.ts +3 -2
  62. package/dist/components/lollipop/lib/index.d.ts.map +1 -1
  63. package/dist/components/lollipop/lib/layout.d.ts +16 -0
  64. package/dist/components/lollipop/lib/layout.d.ts.map +1 -0
  65. package/dist/components/lollipop/lib/layout.js +16 -0
  66. package/dist/components/lollipop/lib/layout.js.map +1 -0
  67. package/dist/components/lollipop/lib/types.d.ts +5 -0
  68. package/dist/components/lollipop/lib/types.d.ts.map +1 -1
  69. package/dist/components/lollipop/metadata.json.d.ts +10 -0
  70. package/dist/components/lollipop/metadata.json.js +4 -1
  71. package/dist/components/lollipop/metadata.json.js.map +1 -1
  72. package/dist/components/lollipop/render/draw.d.ts +8 -1
  73. package/dist/components/lollipop/render/draw.d.ts.map +1 -1
  74. package/dist/components/lollipop/render/draw.js +155 -84
  75. package/dist/components/lollipop/render/draw.js.map +1 -1
  76. package/dist/components/map-chart/element/styles.d.ts +2 -0
  77. package/dist/components/map-chart/element/styles.d.ts.map +1 -0
  78. package/dist/components/map-chart/element/styles.js +372 -0
  79. package/dist/components/map-chart/element/styles.js.map +1 -0
  80. package/dist/components/map-chart/element/ui9000-map-chart.d.ts +54 -0
  81. package/dist/components/map-chart/element/ui9000-map-chart.d.ts.map +1 -0
  82. package/dist/components/map-chart/element/ui9000-map-chart.js +539 -0
  83. package/dist/components/map-chart/element/ui9000-map-chart.js.map +1 -0
  84. package/dist/components/map-chart/index.d.ts +5 -0
  85. package/dist/components/map-chart/index.d.ts.map +1 -0
  86. package/dist/components/map-chart/index.js +29 -0
  87. package/dist/components/map-chart/index.js.map +1 -0
  88. package/dist/components/map-chart/lib/constants.d.ts +34 -0
  89. package/dist/components/map-chart/lib/constants.d.ts.map +1 -0
  90. package/dist/components/map-chart/lib/constants.js +122 -0
  91. package/dist/components/map-chart/lib/constants.js.map +1 -0
  92. package/dist/components/map-chart/lib/domain.d.ts +12 -0
  93. package/dist/components/map-chart/lib/domain.d.ts.map +1 -0
  94. package/dist/components/map-chart/lib/domain.js +105 -0
  95. package/dist/components/map-chart/lib/domain.js.map +1 -0
  96. package/dist/components/map-chart/lib/format.d.ts +8 -0
  97. package/dist/components/map-chart/lib/format.d.ts.map +1 -0
  98. package/dist/components/map-chart/lib/format.js +45 -0
  99. package/dist/components/map-chart/lib/format.js.map +1 -0
  100. package/dist/components/map-chart/lib/geo-index.d.ts +7 -0
  101. package/dist/components/map-chart/lib/geo-index.d.ts.map +1 -0
  102. package/dist/components/map-chart/lib/geo-index.js +200 -0
  103. package/dist/components/map-chart/lib/geo-index.js.map +1 -0
  104. package/dist/components/map-chart/lib/geojson.d.ts +5 -0
  105. package/dist/components/map-chart/lib/geojson.d.ts.map +1 -0
  106. package/dist/components/map-chart/lib/geojson.js +47 -0
  107. package/dist/components/map-chart/lib/geojson.js.map +1 -0
  108. package/dist/components/map-chart/lib/index.d.ts +13 -0
  109. package/dist/components/map-chart/lib/index.d.ts.map +1 -0
  110. package/dist/components/map-chart/lib/join.d.ts +7 -0
  111. package/dist/components/map-chart/lib/join.d.ts.map +1 -0
  112. package/dist/components/map-chart/lib/join.js +156 -0
  113. package/dist/components/map-chart/lib/join.js.map +1 -0
  114. package/dist/components/map-chart/lib/legend.d.ts +45 -0
  115. package/dist/components/map-chart/lib/legend.d.ts.map +1 -0
  116. package/dist/components/map-chart/lib/legend.js +108 -0
  117. package/dist/components/map-chart/lib/legend.js.map +1 -0
  118. package/dist/components/map-chart/lib/normalize.d.ts +3 -0
  119. package/dist/components/map-chart/lib/normalize.d.ts.map +1 -0
  120. package/dist/components/map-chart/lib/normalize.js +177 -0
  121. package/dist/components/map-chart/lib/normalize.js.map +1 -0
  122. package/dist/components/map-chart/lib/pmtiles.d.ts +41 -0
  123. package/dist/components/map-chart/lib/pmtiles.d.ts.map +1 -0
  124. package/dist/components/map-chart/lib/pmtiles.js +112 -0
  125. package/dist/components/map-chart/lib/pmtiles.js.map +1 -0
  126. package/dist/components/map-chart/lib/types.d.ts +128 -0
  127. package/dist/components/map-chart/lib/types.d.ts.map +1 -0
  128. package/dist/components/map-chart/metadata.json.d.ts +83 -0
  129. package/dist/components/map-chart/metadata.json.js +42 -0
  130. package/dist/components/map-chart/metadata.json.js.map +1 -0
  131. package/dist/components/map-chart/render/draw.d.ts +24 -0
  132. package/dist/components/map-chart/render/draw.d.ts.map +1 -0
  133. package/dist/components/map-chart/render/draw.js +456 -0
  134. package/dist/components/map-chart/render/draw.js.map +1 -0
  135. package/dist/components/map-chart/render/index.d.ts +2 -0
  136. package/dist/components/map-chart/render/index.d.ts.map +1 -0
  137. package/dist/components/matrix-chart/element/styles.d.ts +2 -0
  138. package/dist/components/matrix-chart/element/styles.d.ts.map +1 -0
  139. package/dist/components/matrix-chart/element/styles.js +97 -0
  140. package/dist/components/matrix-chart/element/styles.js.map +1 -0
  141. package/dist/components/matrix-chart/element/ui9000-matrix-chart.d.ts +39 -0
  142. package/dist/components/matrix-chart/element/ui9000-matrix-chart.d.ts.map +1 -0
  143. package/dist/components/matrix-chart/element/ui9000-matrix-chart.js +238 -0
  144. package/dist/components/matrix-chart/element/ui9000-matrix-chart.js.map +1 -0
  145. package/dist/components/matrix-chart/index.d.ts +5 -0
  146. package/dist/components/matrix-chart/index.d.ts.map +1 -0
  147. package/dist/components/matrix-chart/index.js +20 -0
  148. package/dist/components/matrix-chart/lib/domain.d.ts +7 -0
  149. package/dist/components/matrix-chart/lib/domain.d.ts.map +1 -0
  150. package/dist/components/matrix-chart/lib/domain.js +58 -0
  151. package/dist/components/matrix-chart/lib/domain.js.map +1 -0
  152. package/dist/components/matrix-chart/lib/format.d.ts +5 -0
  153. package/dist/components/matrix-chart/lib/format.d.ts.map +1 -0
  154. package/dist/components/matrix-chart/lib/format.js +16 -0
  155. package/dist/components/matrix-chart/lib/format.js.map +1 -0
  156. package/dist/components/matrix-chart/lib/index.d.ts +5 -0
  157. package/dist/components/matrix-chart/lib/index.d.ts.map +1 -0
  158. package/dist/components/matrix-chart/lib/normalize.d.ts +5 -0
  159. package/dist/components/matrix-chart/lib/normalize.d.ts.map +1 -0
  160. package/dist/components/matrix-chart/lib/normalize.js +165 -0
  161. package/dist/components/matrix-chart/lib/normalize.js.map +1 -0
  162. package/dist/components/matrix-chart/lib/types.d.ts +33 -0
  163. package/dist/components/matrix-chart/lib/types.d.ts.map +1 -0
  164. package/dist/components/matrix-chart/metadata.json.d.ts +110 -0
  165. package/dist/components/matrix-chart/metadata.json.js +42 -0
  166. package/dist/components/matrix-chart/metadata.json.js.map +1 -0
  167. package/dist/components/matrix-chart/render/draw.d.ts +63 -0
  168. package/dist/components/matrix-chart/render/draw.d.ts.map +1 -0
  169. package/dist/components/matrix-chart/render/draw.js +225 -0
  170. package/dist/components/matrix-chart/render/draw.js.map +1 -0
  171. package/dist/components/matrix-chart/render/index.d.ts +2 -0
  172. package/dist/components/matrix-chart/render/index.d.ts.map +1 -0
  173. package/dist/components/network-graph/element/styles.d.ts.map +1 -1
  174. package/dist/components/network-graph/element/styles.js +177 -57
  175. package/dist/components/network-graph/element/styles.js.map +1 -1
  176. package/dist/components/network-graph/element/ui9000-network-graph.d.ts +4 -0
  177. package/dist/components/network-graph/element/ui9000-network-graph.d.ts.map +1 -1
  178. package/dist/components/network-graph/element/ui9000-network-graph.js +116 -39
  179. package/dist/components/network-graph/element/ui9000-network-graph.js.map +1 -1
  180. package/dist/components/network-graph/lib/domain.d.ts +2 -2
  181. package/dist/components/network-graph/lib/domain.js.map +1 -1
  182. package/dist/components/network-graph/lib/index.d.ts +1 -0
  183. package/dist/components/network-graph/lib/index.d.ts.map +1 -1
  184. package/dist/components/network-graph/lib/legend.d.ts +15 -0
  185. package/dist/components/network-graph/lib/legend.d.ts.map +1 -0
  186. package/dist/components/network-graph/lib/legend.js +35 -0
  187. package/dist/components/network-graph/lib/legend.js.map +1 -0
  188. package/dist/components/network-graph/render/draw.d.ts +4 -1
  189. package/dist/components/network-graph/render/draw.d.ts.map +1 -1
  190. package/dist/components/network-graph/render/draw.js +34 -9
  191. package/dist/components/network-graph/render/draw.js.map +1 -1
  192. package/dist/components/partial-dependence-chart/element/styles.d.ts +2 -0
  193. package/dist/components/partial-dependence-chart/element/styles.d.ts.map +1 -0
  194. package/dist/components/partial-dependence-chart/element/styles.js +48 -0
  195. package/dist/components/partial-dependence-chart/element/styles.js.map +1 -0
  196. package/dist/components/partial-dependence-chart/element/ui9000-partial-dependence-chart.d.ts +30 -0
  197. package/dist/components/partial-dependence-chart/element/ui9000-partial-dependence-chart.d.ts.map +1 -0
  198. package/dist/components/partial-dependence-chart/element/ui9000-partial-dependence-chart.js +163 -0
  199. package/dist/components/partial-dependence-chart/element/ui9000-partial-dependence-chart.js.map +1 -0
  200. package/dist/components/partial-dependence-chart/index.d.ts +5 -0
  201. package/dist/components/partial-dependence-chart/index.d.ts.map +1 -0
  202. package/dist/components/partial-dependence-chart/index.js +18 -0
  203. package/dist/components/partial-dependence-chart/index.js.map +1 -0
  204. package/dist/components/partial-dependence-chart/lib/domain.d.ts +6 -0
  205. package/dist/components/partial-dependence-chart/lib/domain.d.ts.map +1 -0
  206. package/dist/components/partial-dependence-chart/lib/domain.js +16 -0
  207. package/dist/components/partial-dependence-chart/lib/domain.js.map +1 -0
  208. package/dist/components/partial-dependence-chart/lib/index.d.ts +5 -0
  209. package/dist/components/partial-dependence-chart/lib/index.d.ts.map +1 -0
  210. package/dist/components/partial-dependence-chart/lib/normalize.d.ts +4 -0
  211. package/dist/components/partial-dependence-chart/lib/normalize.d.ts.map +1 -0
  212. package/dist/components/partial-dependence-chart/lib/normalize.js +167 -0
  213. package/dist/components/partial-dependence-chart/lib/normalize.js.map +1 -0
  214. package/dist/components/partial-dependence-chart/lib/series.d.ts +15 -0
  215. package/dist/components/partial-dependence-chart/lib/series.d.ts.map +1 -0
  216. package/dist/components/partial-dependence-chart/lib/series.js +63 -0
  217. package/dist/components/partial-dependence-chart/lib/series.js.map +1 -0
  218. package/dist/components/partial-dependence-chart/lib/types.d.ts +50 -0
  219. package/dist/components/partial-dependence-chart/lib/types.d.ts.map +1 -0
  220. package/dist/components/partial-dependence-chart/metadata.json.d.ts +80 -0
  221. package/dist/components/partial-dependence-chart/metadata.json.js +42 -0
  222. package/dist/components/partial-dependence-chart/metadata.json.js.map +1 -0
  223. package/dist/components/partial-dependence-chart/render/draw.d.ts +34 -0
  224. package/dist/components/partial-dependence-chart/render/draw.d.ts.map +1 -0
  225. package/dist/components/partial-dependence-chart/render/draw.js +95 -0
  226. package/dist/components/partial-dependence-chart/render/draw.js.map +1 -0
  227. package/dist/components/partial-dependence-chart/render/index.d.ts +2 -0
  228. package/dist/components/partial-dependence-chart/render/index.d.ts.map +1 -0
  229. package/dist/components/pie-chart/element/styles.d.ts.map +1 -1
  230. package/dist/components/pie-chart/element/styles.js +34 -1
  231. package/dist/components/pie-chart/element/styles.js.map +1 -1
  232. package/dist/components/pie-chart/element/ui9000-pie-chart.d.ts +0 -2
  233. package/dist/components/pie-chart/element/ui9000-pie-chart.d.ts.map +1 -1
  234. package/dist/components/pie-chart/element/ui9000-pie-chart.js +2 -8
  235. package/dist/components/pie-chart/element/ui9000-pie-chart.js.map +1 -1
  236. package/dist/components/pie-chart/metadata.json.d.ts +1 -7
  237. package/dist/components/pie-chart/metadata.json.js +2 -2
  238. package/dist/components/polar-area-chart/element/styles.d.ts +1 -1
  239. package/dist/components/polar-area-chart/element/styles.d.ts.map +1 -1
  240. package/dist/components/{donut-group-chart → polar-area-chart}/element/styles.js +9 -27
  241. package/dist/components/polar-area-chart/element/styles.js.map +1 -0
  242. package/dist/components/polar-area-chart/element/ui9000-polar-area-chart.d.ts.map +1 -1
  243. package/dist/components/polar-area-chart/element/ui9000-polar-area-chart.js +4 -3
  244. package/dist/components/polar-area-chart/element/ui9000-polar-area-chart.js.map +1 -1
  245. package/dist/components/polar-area-chart/index.d.ts +1 -1
  246. package/dist/components/polar-area-chart/index.d.ts.map +1 -1
  247. package/dist/components/polar-area-chart/index.js +2 -1
  248. package/dist/components/polar-area-chart/lib/domain.d.ts +8 -0
  249. package/dist/components/polar-area-chart/lib/domain.d.ts.map +1 -1
  250. package/dist/components/polar-area-chart/lib/domain.js +20 -0
  251. package/dist/components/polar-area-chart/lib/domain.js.map +1 -1
  252. package/dist/components/polar-area-chart/lib/index.d.ts +1 -1
  253. package/dist/components/polar-area-chart/lib/index.d.ts.map +1 -1
  254. package/dist/components/polar-area-chart/lib/normalize.d.ts.map +1 -1
  255. package/dist/components/polar-area-chart/lib/normalize.js +72 -6
  256. package/dist/components/polar-area-chart/lib/normalize.js.map +1 -1
  257. package/dist/components/polar-area-chart/lib/types.d.ts +6 -1
  258. package/dist/components/polar-area-chart/lib/types.d.ts.map +1 -1
  259. package/dist/components/polar-area-chart/metadata.json.d.ts +1 -1
  260. package/dist/components/polar-area-chart/metadata.json.js +1 -1
  261. package/dist/components/polar-area-chart/render/draw.d.ts.map +1 -1
  262. package/dist/components/polar-area-chart/render/draw.js +2 -2
  263. package/dist/components/polar-area-chart/render/draw.js.map +1 -1
  264. package/dist/components/punchcard-chart/metadata.json.d.ts +1 -1
  265. package/dist/components/punchcard-chart/metadata.json.js +1 -1
  266. package/dist/components/sankey-chart/element/styles.d.ts.map +1 -1
  267. package/dist/components/sankey-chart/element/styles.js +7 -27
  268. package/dist/components/sankey-chart/element/styles.js.map +1 -1
  269. package/dist/components/sankey-chart/element/ui9000-sankey-chart.d.ts +5 -5
  270. package/dist/components/sankey-chart/element/ui9000-sankey-chart.d.ts.map +1 -1
  271. package/dist/components/sankey-chart/element/ui9000-sankey-chart.js +37 -35
  272. package/dist/components/sankey-chart/element/ui9000-sankey-chart.js.map +1 -1
  273. package/dist/components/treemap-chart/element/styles.d.ts +2 -0
  274. package/dist/components/treemap-chart/element/styles.d.ts.map +1 -0
  275. package/dist/components/treemap-chart/element/styles.js +141 -0
  276. package/dist/components/treemap-chart/element/styles.js.map +1 -0
  277. package/dist/components/treemap-chart/element/ui9000-treemap-chart.d.ts +35 -0
  278. package/dist/components/treemap-chart/element/ui9000-treemap-chart.d.ts.map +1 -0
  279. package/dist/components/treemap-chart/element/ui9000-treemap-chart.js +177 -0
  280. package/dist/components/treemap-chart/element/ui9000-treemap-chart.js.map +1 -0
  281. package/dist/components/treemap-chart/index.d.ts +5 -0
  282. package/dist/components/treemap-chart/index.d.ts.map +1 -0
  283. package/dist/components/treemap-chart/index.js +22 -0
  284. package/dist/components/treemap-chart/index.js.map +1 -0
  285. package/dist/components/treemap-chart/lib/color.d.ts +25 -0
  286. package/dist/components/treemap-chart/lib/color.d.ts.map +1 -0
  287. package/dist/components/treemap-chart/lib/color.js +67 -0
  288. package/dist/components/treemap-chart/lib/color.js.map +1 -0
  289. package/dist/components/treemap-chart/lib/format.d.ts +7 -0
  290. package/dist/components/treemap-chart/lib/format.d.ts.map +1 -0
  291. package/dist/components/treemap-chart/lib/format.js +9 -0
  292. package/dist/components/treemap-chart/lib/format.js.map +1 -0
  293. package/dist/components/treemap-chart/lib/index.d.ts +6 -0
  294. package/dist/components/treemap-chart/lib/index.d.ts.map +1 -0
  295. package/dist/components/treemap-chart/lib/layout.d.ts +18 -0
  296. package/dist/components/treemap-chart/lib/layout.d.ts.map +1 -0
  297. package/dist/components/treemap-chart/lib/layout.js +31 -0
  298. package/dist/components/treemap-chart/lib/layout.js.map +1 -0
  299. package/dist/components/treemap-chart/lib/normalize.d.ts +4 -0
  300. package/dist/components/treemap-chart/lib/normalize.d.ts.map +1 -0
  301. package/dist/components/treemap-chart/lib/normalize.js +182 -0
  302. package/dist/components/treemap-chart/lib/normalize.js.map +1 -0
  303. package/dist/components/treemap-chart/lib/types.d.ts +63 -0
  304. package/dist/components/treemap-chart/lib/types.d.ts.map +1 -0
  305. package/dist/components/treemap-chart/metadata.json.d.ts +126 -0
  306. package/dist/components/treemap-chart/metadata.json.js +45 -0
  307. package/dist/components/treemap-chart/render/draw.d.ts +24 -0
  308. package/dist/components/treemap-chart/render/draw.d.ts.map +1 -0
  309. package/dist/components/treemap-chart/render/draw.js +124 -0
  310. package/dist/components/treemap-chart/render/draw.js.map +1 -0
  311. package/dist/components/treemap-chart/render/index.d.ts +2 -0
  312. package/dist/components/treemap-chart/render/index.d.ts.map +1 -0
  313. package/dist/element/chart-legend-render.d.ts +5 -0
  314. package/dist/element/chart-legend-render.d.ts.map +1 -1
  315. package/dist/element/chart-legend-render.js +19 -1
  316. package/dist/element/chart-legend-render.js.map +1 -1
  317. package/dist/element/chart-shell-styles.d.ts.map +1 -1
  318. package/dist/element/chart-shell-styles.js +35 -0
  319. package/dist/element/chart-shell-styles.js.map +1 -1
  320. package/dist/index.d.ts +11 -5
  321. package/dist/index.d.ts.map +1 -1
  322. package/dist/index.js +91 -42
  323. package/dist/index.js.map +1 -1
  324. package/dist/lazy/index.d.ts +5 -2
  325. package/dist/lazy/index.d.ts.map +1 -1
  326. package/dist/lazy/index.js +32 -8
  327. package/dist/lazy/index.js.map +1 -1
  328. package/dist/lazy/map-chart.d.ts +4 -0
  329. package/dist/lazy/map-chart.d.ts.map +1 -0
  330. package/dist/lazy/map-chart.js +5 -0
  331. package/dist/lazy/map-chart.js.map +1 -0
  332. package/dist/lazy/matrix-chart.d.ts +4 -0
  333. package/dist/lazy/matrix-chart.d.ts.map +1 -0
  334. package/dist/lazy/matrix-chart.js +5 -0
  335. package/dist/lazy/matrix-chart.js.map +1 -0
  336. package/dist/lazy/partial-dependence-chart.d.ts +4 -0
  337. package/dist/lazy/partial-dependence-chart.d.ts.map +1 -0
  338. package/dist/lazy/partial-dependence-chart.js +5 -0
  339. package/dist/lazy/partial-dependence-chart.js.map +1 -0
  340. package/dist/lazy/treemap-chart.d.ts +4 -0
  341. package/dist/lazy/treemap-chart.d.ts.map +1 -0
  342. package/dist/lazy/treemap-chart.js +5 -0
  343. package/dist/lazy/treemap-chart.js.map +1 -0
  344. package/dist/utils/axis-units.d.ts +15 -0
  345. package/dist/utils/axis-units.d.ts.map +1 -0
  346. package/dist/utils/axis-units.js +27 -0
  347. package/dist/utils/axis-units.js.map +1 -0
  348. package/dist/utils/chart-helpers.d.ts +6 -6
  349. package/dist/utils/chart-helpers.d.ts.map +1 -1
  350. package/dist/utils/chart-helpers.js +31 -15
  351. package/dist/utils/chart-helpers.js.map +1 -1
  352. package/dist/utils/format-text.d.ts +5 -0
  353. package/dist/utils/format-text.d.ts.map +1 -1
  354. package/dist/utils/format-text.js +7 -0
  355. package/dist/utils/format-text.js.map +1 -1
  356. package/dist/utils/fuse-palette.d.ts +12 -0
  357. package/dist/utils/fuse-palette.d.ts.map +1 -1
  358. package/dist/utils/fuse-palette.js +23 -1
  359. package/dist/utils/fuse-palette.js.map +1 -1
  360. package/dist/utils/fuse-widget.d.ts +13 -4
  361. package/dist/utils/fuse-widget.d.ts.map +1 -1
  362. package/dist/utils/fuse-widget.js.map +1 -1
  363. package/dist/utils/fusedash-visual.d.ts +77 -52
  364. package/dist/utils/fusedash-visual.d.ts.map +1 -1
  365. package/dist/utils/fusedash-visual.js +55 -29
  366. package/dist/utils/fusedash-visual.js.map +1 -1
  367. package/package.json +48 -12
  368. package/dist/components/donut-group-chart/element/styles.d.ts +0 -2
  369. package/dist/components/donut-group-chart/element/styles.d.ts.map +0 -1
  370. package/dist/components/donut-group-chart/element/styles.js.map +0 -1
  371. package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.d.ts +0 -34
  372. package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.d.ts.map +0 -1
  373. package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.js +0 -169
  374. package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.js.map +0 -1
  375. package/dist/components/donut-group-chart/index.d.ts +0 -5
  376. package/dist/components/donut-group-chart/index.d.ts.map +0 -1
  377. package/dist/components/donut-group-chart/index.js +0 -23
  378. package/dist/components/donut-group-chart/lib/domain.d.ts +0 -39
  379. package/dist/components/donut-group-chart/lib/domain.d.ts.map +0 -1
  380. package/dist/components/donut-group-chart/lib/domain.js +0 -51
  381. package/dist/components/donut-group-chart/lib/domain.js.map +0 -1
  382. package/dist/components/donut-group-chart/lib/format.d.ts +0 -7
  383. package/dist/components/donut-group-chart/lib/format.d.ts.map +0 -1
  384. package/dist/components/donut-group-chart/lib/format.js +0 -21
  385. package/dist/components/donut-group-chart/lib/format.js.map +0 -1
  386. package/dist/components/donut-group-chart/lib/index.d.ts +0 -5
  387. package/dist/components/donut-group-chart/lib/index.d.ts.map +0 -1
  388. package/dist/components/donut-group-chart/lib/normalize.d.ts +0 -14
  389. package/dist/components/donut-group-chart/lib/normalize.d.ts.map +0 -1
  390. package/dist/components/donut-group-chart/lib/normalize.js +0 -98
  391. package/dist/components/donut-group-chart/lib/normalize.js.map +0 -1
  392. package/dist/components/donut-group-chart/lib/types.d.ts +0 -49
  393. package/dist/components/donut-group-chart/lib/types.d.ts.map +0 -1
  394. package/dist/components/donut-group-chart/metadata.json.d.ts +0 -113
  395. package/dist/components/donut-group-chart/metadata.json.js +0 -45
  396. package/dist/components/donut-group-chart/render/draw.d.ts +0 -44
  397. package/dist/components/donut-group-chart/render/draw.d.ts.map +0 -1
  398. package/dist/components/donut-group-chart/render/draw.js +0 -194
  399. package/dist/components/donut-group-chart/render/draw.js.map +0 -1
  400. package/dist/components/donut-group-chart/render/index.d.ts +0 -2
  401. package/dist/components/donut-group-chart/render/index.d.ts.map +0 -1
  402. package/dist/components/donut-group-chart/tests/fixtures.d.ts +0 -33
  403. package/dist/components/donut-group-chart/tests/fixtures.d.ts.map +0 -1
  404. package/dist/lazy/donut-group-chart.d.ts +0 -4
  405. package/dist/lazy/donut-group-chart.d.ts.map +0 -1
  406. package/dist/lazy/donut-group-chart.js +0 -5
  407. package/dist/lazy/donut-group-chart.js.map +0 -1
  408. /package/dist/components/{donut-group-chart → matrix-chart}/index.js.map +0 -0
  409. /package/dist/components/{donut-group-chart → treemap-chart}/metadata.json.js.map +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,40 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.4.1 — 2026-09-07
6
+
7
+ ### Added
8
+
9
+ - KPI widget layouts now match FuseDash: **single**, **grid**, and **advanced** (nested chart + supporting KPIs underneath). Storybook stories are the client types: `single_value`, `trend`, `overall`, `comparison`, `high/low`, `high/low_overall`, `high/low_trend`, plus advanced with supporting KPIs.
10
+ - `<ui9000-partial-dependence-chart>` — D3 port of FuseDash PartialDependenceChart (ICE curves + dashed average) for MCP chat (FUS-4004).
11
+
12
+ ### Changed
13
+
14
+ - Map `usageConditions.hostReady` is now `true`. `canRenderChartType('mapChart' | 'UniversalMap')` is open so MCP hosts can inline `<ui9000-map-chart>` once they pass `mapbox-token` / `geojson-base-url` / `pmtiles-base-url`.
15
+
16
+ ### Fixed
17
+
18
+ - Keep every `lit` / `lit/*` import external in the published dist. KPI's `style-map` directive was missing from the Rollup externals list, so Vite rewrote it to `../../../node_modules/lit-html/...` and FuseDash / pnpm hosts failed to resolve it.
19
+
20
+ ## 0.4.0 — 2026-09-04
21
+
22
+ ### Removed
23
+
24
+ - `<ui9000-donut-group-chart>` — port of an unwired client widget (`DonutGroupChart` is not in `WIDGETS`). Use `<ui9000-donut-chart>` for a donut.
25
+
26
+ ### Added
27
+
28
+ - `<ui9000-map-chart>` — FuseDash MapBox / UniversalMap as a Shadow DOM web component (choropleth, bubbles, markers, spikes). `mapbox-gl` is an optional peer, loaded only from the map entry. Centroid GeoJSON is fetched at runtime (`geojson-base-url`); choropleth polygon fills come from PMTiles (`pmtiles-base-url`), not from those GeoJSON files. Overlay legend lists every layer (name, checkbox, average) with dual thumbs that filter value zones without rebuilding the map.
29
+ - Lazy entry `@fusedashlabs/widgets/lazy/map-chart`; `resolveChartTarget` routes `mapChart` / `UniversalMap`. `canRenderChartType` stays false until host wiring (`usageConditions.hostReady`).
30
+ - Storybook stories with `map.fusedash.json` (FuseDash `DEFAULT_MAP`).
31
+ - `<ui9000-matrix-chart>` — D3 port of FuseDash MatrixChart (heatmap) for MCP chat (FUS-3992).
32
+ - `<ui9000-treemap-chart>` on `main` (FUS-3989) — already documented under 0.3.0; now shipped in this release.
33
+
34
+ ### Fixed
35
+
36
+ - Map host gate stays closed so mcp-ui does not inline an empty map before token / GeoJSON / PMTiles are wired. `<ui9000-chart-renderer>` forwards `mapbox-token`, `geojson-base-url`, and `pmtiles-base-url`.
37
+ - Missing `mapbox-gl` peer fails closed with an empty-state reason instead of a blank chart root.
38
+
5
39
  ## 0.3.1 — 2026-09-01
6
40
 
7
41
  ### Fixed
@@ -60,6 +94,9 @@
60
94
  - `<ui9000-area-grouped-bar-chart>` — D3 port of FuseDash AreaGroupedBarChart (grouped bars + area/line overlay, vertical).
61
95
  - Lazy entry `@fusedashlabs/widgets/lazy/area-grouped-bar-chart`.
62
96
  - Storybook stories with `area-grouped-bar.fusedash.json` fixture.
97
+ - `<ui9000-treemap-chart>` — D3 port of FuseDash Treemap (`treemapBinary` tiles, single area-proportional layout or the grouped card mosaic when `subgroup` adds a second dimension, magnitude color bands, `Low → High` palette legend).
98
+ - Lazy entry `@fusedashlabs/widgets/lazy/treemap-chart`, and `treemapChart` dispatch in `<ui9000-chart-renderer>`.
99
+ - Storybook stories with `treemap.fusedash.json` fixture.
63
100
  - `<ui9000-area-chart>` — D3 port of FuseDash AreaChart (grouped + stacked, gradient fill).
64
101
  - Lazy entry `@fusedashlabs/widgets/lazy/area-chart`.
65
102
  - Storybook stories with `area.fusedash.json` fixture.
package/README.md CHANGED
@@ -80,7 +80,7 @@ https://github.com/fuselab-creative/ui9000-widgets
80
80
 
81
81
  ```bash
82
82
  yarn build && yarn test
83
- git tag v0.3.1
83
+ git tag v0.4.1
84
84
  git push origin main --tags
85
85
  ```
86
86
 
@@ -8,6 +8,8 @@ export declare class Ui9000ChartRenderer extends HTMLElement {
8
8
  private get dataJson();
9
9
  private get chartTypeAttr();
10
10
  private get scale();
11
+ private applyBoolProp;
12
+ private copyHostAttr;
11
13
  private boolAttr;
12
14
  private showEmpty;
13
15
  private mountChart;
@@ -1 +1 @@
1
- {"version":3,"file":"ui9000-chart-renderer.d.ts","sourceRoot":"","sources":["../../../../src/components/chart-renderer/element/ui9000-chart-renderer.ts"],"names":[],"mappings":"AAsBA,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAUxC;IAED,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,WAAW,CAAK;IAExB,iBAAiB,IAAI,IAAI;IAqBzB,wBAAwB,IAAI,IAAI;IAIhC,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,KAAK,GAEhB;IAED,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,SAAS;YAgBH,UAAU;CAuEzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,uBAAuB,EAAE,mBAAmB,CAAC;KAC9C;CACF;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAI5C"}
1
+ {"version":3,"file":"ui9000-chart-renderer.d.ts","sourceRoot":"","sources":["../../../../src/components/chart-renderer/element/ui9000-chart-renderer.ts"],"names":[],"mappings":"AAsBA,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAcxC;IAED,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,WAAW,CAAK;IAExB,iBAAiB,IAAI,IAAI;IAqBzB,wBAAwB,IAAI,IAAI;IAIhC,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,KAAK,GAEhB;IAED,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,SAAS;YAgBH,UAAU;CAgFzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,uBAAuB,EAAE,mBAAmB,CAAC;KAC9C;CACF;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAI5C"}
@@ -29,7 +29,11 @@ class Ui9000ChartRenderer extends HTMLElement {
29
29
  "show-grid",
30
30
  "show-legend",
31
31
  "show-tooltip",
32
- "chart-title"
32
+ "show-header",
33
+ "chart-title",
34
+ "mapbox-token",
35
+ "geojson-base-url",
36
+ "pmtiles-base-url"
33
37
  ];
34
38
  }
35
39
  connectedCallback() {
@@ -61,6 +65,16 @@ class Ui9000ChartRenderer extends HTMLElement {
61
65
  get scale() {
62
66
  return this.getAttribute("scale") || "default";
63
67
  }
68
+ applyBoolProp(el, attr, prop) {
69
+ if (!this.hasAttribute(attr)) return;
70
+ const on = this.getAttribute(attr) !== "false";
71
+ el[prop] = on;
72
+ }
73
+ copyHostAttr(el, name) {
74
+ const value = this.getAttribute(name);
75
+ if (value) el.setAttribute(name, value);
76
+ else el.removeAttribute(name);
77
+ }
64
78
  boolAttr(name) {
65
79
  if (!this.hasAttribute(name)) return void 0;
66
80
  return this.getAttribute(name) !== "false";
@@ -106,7 +120,7 @@ class Ui9000ChartRenderer extends HTMLElement {
106
120
  }
107
121
  if (token !== this._mountToken) return;
108
122
  const widget = parseJsonAttr(this.dataJson, null);
109
- const title = ((_a = this.getAttribute("chart-title")) == null ? void 0 : _a.trim()) || (widget && typeof widget === "object" ? (_b = widget.name) == null ? void 0 : _b.trim() : "") || "";
123
+ const title = this.getAttribute("show-header") === "false" ? "" : ((_a = this.getAttribute("chart-title")) == null ? void 0 : _a.trim()) || (widget && typeof widget === "object" ? (_b = widget.name) == null ? void 0 : _b.trim() : "") || "";
110
124
  let el = this._host.firstElementChild;
111
125
  if (!el || el.tagName.toLowerCase() !== target.tag) {
112
126
  this._host.replaceChildren();
@@ -132,7 +146,14 @@ class Ui9000ChartRenderer extends HTMLElement {
132
146
  if (showTooltip) el.setAttribute("show-tooltip", "");
133
147
  else el.setAttribute("show-tooltip", "false");
134
148
  }
149
+ this.applyBoolProp(el, "show-header", "showHeader");
150
+ this.applyBoolProp(el, "show-grid", "showGrid");
151
+ this.applyBoolProp(el, "show-legend", "showLegend");
152
+ this.applyBoolProp(el, "show-tooltip", "showTooltip");
135
153
  applyTargetAttrs(el, target.attrs);
154
+ this.copyHostAttr(el, "mapbox-token");
155
+ this.copyHostAttr(el, "geojson-base-url");
156
+ this.copyHostAttr(el, "pmtiles-base-url");
136
157
  el.style.display = "block";
137
158
  el.style.width = "100%";
138
159
  el.style.height = "100%";
@@ -1 +1 @@
1
- {"version":3,"file":"ui9000-chart-renderer.js","sources":["../../../../src/components/chart-renderer/element/ui9000-chart-renderer.ts"],"sourcesContent":["import { loadChart } from '../../../lazy/index.js';\nimport type { WidgetScale } from '../../../types/index.js';\nimport { parseJsonAttr } from '../../../utils/chart-helpers.js';\nimport {\n resolveChartTarget,\n resolveWidgetChartType,\n type ChartTargetAttrs,\n} from '../lib/index.js';\nimport { chartRendererStyles } from './styles.js';\n\nfunction applyTargetAttrs(el: HTMLElement, attrs?: ChartTargetAttrs): void {\n if (!attrs) return;\n for (const [key, value] of Object.entries(attrs)) {\n if (typeof value === 'boolean') {\n if (value) el.setAttribute(key, '');\n else el.removeAttribute(key);\n } else {\n el.setAttribute(key, String(value));\n }\n }\n}\n\nexport class Ui9000ChartRenderer extends HTMLElement {\n static get observedAttributes(): string[] {\n return [\n 'data',\n 'chart-type',\n 'scale',\n 'show-grid',\n 'show-legend',\n 'show-tooltip',\n 'chart-title',\n ];\n }\n\n private _host: HTMLDivElement | null = null;\n private _empty: HTMLDivElement | null = null;\n private _mountToken = 0;\n\n connectedCallback(): void {\n if (this._host) return;\n const root = this.attachShadow({ mode: 'open' });\n const style = document.createElement('style');\n style.textContent = chartRendererStyles.cssText;\n root.appendChild(style);\n\n this._host = document.createElement('div');\n this._host.className = 'host';\n this._host.part = 'chart';\n root.appendChild(this._host);\n\n this._empty = document.createElement('div');\n this._empty.className = 'empty';\n this._empty.part = 'empty';\n this._empty.hidden = true;\n root.appendChild(this._empty);\n\n void this.mountChart();\n }\n\n attributeChangedCallback(): void {\n if (this._host) void this.mountChart();\n }\n\n private get dataJson(): string {\n return this.getAttribute('data') ?? '{}';\n }\n\n private get chartTypeAttr(): string {\n return this.getAttribute('chart-type') ?? '';\n }\n\n private get scale(): WidgetScale {\n return (this.getAttribute('scale') as WidgetScale) || 'default';\n }\n\n private boolAttr(name: string): boolean | undefined {\n if (!this.hasAttribute(name)) return undefined;\n return this.getAttribute(name) !== 'false';\n }\n\n private showEmpty(message: string, detail?: string): void {\n if (!this._empty || !this._host) return;\n this._host.replaceChildren();\n this._host.hidden = true;\n this._empty.hidden = false;\n this._empty.replaceChildren();\n const strong = document.createElement('strong');\n strong.textContent = message;\n this._empty.appendChild(strong);\n if (detail) {\n const p = document.createElement('span');\n p.textContent = detail;\n this._empty.appendChild(p);\n }\n }\n\n private async mountChart(): Promise<void> {\n if (!this._host || !this._empty) return;\n const token = ++this._mountToken;\n\n const chartType = resolveWidgetChartType(this.dataJson, this.chartTypeAttr);\n if (!chartType) {\n this.showEmpty('No chart type', 'Pass chart-type or a widget payload with chartType.');\n return;\n }\n\n const target = resolveChartTarget(chartType);\n if (!target) {\n this.showEmpty(\n 'Unsupported chart type',\n `\"${chartType}\" is not available in @ui9000/widgets yet.`,\n );\n return;\n }\n\n try {\n await loadChart(target.kind);\n } catch {\n if (token !== this._mountToken) return;\n this.showEmpty('Failed to load chart', target.kind);\n return;\n }\n\n if (token !== this._mountToken) return;\n\n const widget = parseJsonAttr<{ name?: string } | null>(this.dataJson, null);\n const title =\n this.getAttribute('chart-title')?.trim() ||\n (widget && typeof widget === 'object' ? widget.name?.trim() : '') ||\n '';\n\n let el = this._host.firstElementChild as HTMLElement | null;\n if (!el || el.tagName.toLowerCase() !== target.tag) {\n this._host.replaceChildren();\n el = document.createElement(target.tag);\n this._host.appendChild(el);\n }\n\n el.setAttribute('data', this.dataJson);\n el.setAttribute('scale', this.scale);\n if (title) el.setAttribute('chart-title', title);\n else el.removeAttribute('chart-title');\n\n const showGrid = this.boolAttr('show-grid');\n const showLegend = this.boolAttr('show-legend');\n const showTooltip = this.boolAttr('show-tooltip');\n if (showGrid !== undefined) {\n if (showGrid) el.setAttribute('show-grid', '');\n else el.setAttribute('show-grid', 'false');\n }\n if (showLegend !== undefined) {\n if (showLegend) el.setAttribute('show-legend', '');\n else el.setAttribute('show-legend', 'false');\n }\n if (showTooltip !== undefined) {\n if (showTooltip) el.setAttribute('show-tooltip', '');\n else el.setAttribute('show-tooltip', 'false');\n }\n\n applyTargetAttrs(el, target.attrs);\n el.style.display = 'block';\n el.style.width = '100%';\n el.style.height = '100%';\n\n this._empty.hidden = true;\n this._host.hidden = false;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui9000-chart-renderer': Ui9000ChartRenderer;\n }\n}\n\nexport function registerChartRenderer(): void {\n if (!customElements.get('ui9000-chart-renderer')) {\n customElements.define('ui9000-chart-renderer', Ui9000ChartRenderer);\n }\n}\n\nregisterChartRenderer();\n"],"names":[],"mappings":";;;;;AAUA,SAAS,iBAAiB,IAAiB,OAAgC;AACzE,MAAI,CAAC,MAAO;AACZ,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,KAAK,GAAG;AAChD,QAAI,OAAO,UAAU,WAAW;AAC9B,UAAI,MAAO,IAAG,aAAa,KAAK,EAAE;AAAA,UAC7B,IAAG,gBAAgB,GAAG;AAAA,IAC7B,OAAO;AACL,SAAG,aAAa,KAAK,OAAO,KAAK,CAAC;AAAA,IACpC;AAAA,EACF;AACF;AAEO,MAAM,4BAA4B,YAAY;AAAA,EAA9C,cAAA;AAAA,UAAA,GAAA,SAAA;AAaL,SAAQ,QAA+B;AACvC,SAAQ,SAAgC;AACxC,SAAQ,cAAc;AAAA,EAAA;AAAA,EAdtB,WAAW,qBAA+B;AACxC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AAAA,EAMA,oBAA0B;AACxB,QAAI,KAAK,MAAO;AAChB,UAAM,OAAO,KAAK,aAAa,EAAE,MAAM,QAAQ;AAC/C,UAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,UAAM,cAAc,oBAAoB;AACxC,SAAK,YAAY,KAAK;AAEtB,SAAK,QAAQ,SAAS,cAAc,KAAK;AACzC,SAAK,MAAM,YAAY;AACvB,SAAK,MAAM,OAAO;AAClB,SAAK,YAAY,KAAK,KAAK;AAE3B,SAAK,SAAS,SAAS,cAAc,KAAK;AAC1C,SAAK,OAAO,YAAY;AACxB,SAAK,OAAO,OAAO;AACnB,SAAK,OAAO,SAAS;AACrB,SAAK,YAAY,KAAK,MAAM;AAE5B,SAAK,KAAK,WAAA;AAAA,EACZ;AAAA,EAEA,2BAAiC;AAC/B,QAAI,KAAK,MAAO,MAAK,KAAK,WAAA;AAAA,EAC5B;AAAA,EAEA,IAAY,WAAmB;AAC7B,WAAO,KAAK,aAAa,MAAM,KAAK;AAAA,EACtC;AAAA,EAEA,IAAY,gBAAwB;AAClC,WAAO,KAAK,aAAa,YAAY,KAAK;AAAA,EAC5C;AAAA,EAEA,IAAY,QAAqB;AAC/B,WAAQ,KAAK,aAAa,OAAO,KAAqB;AAAA,EACxD;AAAA,EAEQ,SAAS,MAAmC;AAClD,QAAI,CAAC,KAAK,aAAa,IAAI,EAAG,QAAO;AACrC,WAAO,KAAK,aAAa,IAAI,MAAM;AAAA,EACrC;AAAA,EAEQ,UAAU,SAAiB,QAAuB;AACxD,QAAI,CAAC,KAAK,UAAU,CAAC,KAAK,MAAO;AACjC,SAAK,MAAM,gBAAA;AACX,SAAK,MAAM,SAAS;AACpB,SAAK,OAAO,SAAS;AACrB,SAAK,OAAO,gBAAA;AACZ,UAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,WAAO,cAAc;AACrB,SAAK,OAAO,YAAY,MAAM;AAC9B,QAAI,QAAQ;AACV,YAAM,IAAI,SAAS,cAAc,MAAM;AACvC,QAAE,cAAc;AAChB,WAAK,OAAO,YAAY,CAAC;AAAA,IAC3B;AAAA,EACF;AAAA,EAEA,MAAc,aAA4B;;AACxC,QAAI,CAAC,KAAK,SAAS,CAAC,KAAK,OAAQ;AACjC,UAAM,QAAQ,EAAE,KAAK;AAErB,UAAM,YAAY,uBAAuB,KAAK,UAAU,KAAK,aAAa;AAC1E,QAAI,CAAC,WAAW;AACd,WAAK,UAAU,iBAAiB,qDAAqD;AACrF;AAAA,IACF;AAEA,UAAM,SAAS,mBAAmB,SAAS;AAC3C,QAAI,CAAC,QAAQ;AACX,WAAK;AAAA,QACH;AAAA,QACA,IAAI,SAAS;AAAA,MAAA;AAEf;AAAA,IACF;AAEA,QAAI;AACF,YAAM,UAAU,OAAO,IAAI;AAAA,IAC7B,QAAQ;AACN,UAAI,UAAU,KAAK,YAAa;AAChC,WAAK,UAAU,wBAAwB,OAAO,IAAI;AAClD;AAAA,IACF;AAEA,QAAI,UAAU,KAAK,YAAa;AAEhC,UAAM,SAAS,cAAwC,KAAK,UAAU,IAAI;AAC1E,UAAM,UACJ,UAAK,aAAa,aAAa,MAA/B,mBAAkC,YACjC,UAAU,OAAO,WAAW,YAAW,YAAO,SAAP,mBAAa,SAAS,OAC9D;AAEF,QAAI,KAAK,KAAK,MAAM;AACpB,QAAI,CAAC,MAAM,GAAG,QAAQ,YAAA,MAAkB,OAAO,KAAK;AAClD,WAAK,MAAM,gBAAA;AACX,WAAK,SAAS,cAAc,OAAO,GAAG;AACtC,WAAK,MAAM,YAAY,EAAE;AAAA,IAC3B;AAEA,OAAG,aAAa,QAAQ,KAAK,QAAQ;AACrC,OAAG,aAAa,SAAS,KAAK,KAAK;AACnC,QAAI,MAAO,IAAG,aAAa,eAAe,KAAK;AAAA,QAC1C,IAAG,gBAAgB,aAAa;AAErC,UAAM,WAAW,KAAK,SAAS,WAAW;AAC1C,UAAM,aAAa,KAAK,SAAS,aAAa;AAC9C,UAAM,cAAc,KAAK,SAAS,cAAc;AAChD,QAAI,aAAa,QAAW;AAC1B,UAAI,SAAU,IAAG,aAAa,aAAa,EAAE;AAAA,UACxC,IAAG,aAAa,aAAa,OAAO;AAAA,IAC3C;AACA,QAAI,eAAe,QAAW;AAC5B,UAAI,WAAY,IAAG,aAAa,eAAe,EAAE;AAAA,UAC5C,IAAG,aAAa,eAAe,OAAO;AAAA,IAC7C;AACA,QAAI,gBAAgB,QAAW;AAC7B,UAAI,YAAa,IAAG,aAAa,gBAAgB,EAAE;AAAA,UAC9C,IAAG,aAAa,gBAAgB,OAAO;AAAA,IAC9C;AAEA,qBAAiB,IAAI,OAAO,KAAK;AACjC,OAAG,MAAM,UAAU;AACnB,OAAG,MAAM,QAAQ;AACjB,OAAG,MAAM,SAAS;AAElB,SAAK,OAAO,SAAS;AACrB,SAAK,MAAM,SAAS;AAAA,EACtB;AACF;AAQO,SAAS,wBAA8B;AAC5C,MAAI,CAAC,eAAe,IAAI,uBAAuB,GAAG;AAChD,mBAAe,OAAO,yBAAyB,mBAAmB;AAAA,EACpE;AACF;AAEA,sBAAA;"}
1
+ {"version":3,"file":"ui9000-chart-renderer.js","sources":["../../../../src/components/chart-renderer/element/ui9000-chart-renderer.ts"],"sourcesContent":["import { loadChart } from '../../../lazy/index.js';\nimport type { WidgetScale } from '../../../types/index.js';\nimport { parseJsonAttr } from '../../../utils/chart-helpers.js';\nimport {\n resolveChartTarget,\n resolveWidgetChartType,\n type ChartTargetAttrs,\n} from '../lib/index.js';\nimport { chartRendererStyles } from './styles.js';\n\nfunction applyTargetAttrs(el: HTMLElement, attrs?: ChartTargetAttrs): void {\n if (!attrs) return;\n for (const [key, value] of Object.entries(attrs)) {\n if (typeof value === 'boolean') {\n if (value) el.setAttribute(key, '');\n else el.removeAttribute(key);\n } else {\n el.setAttribute(key, String(value));\n }\n }\n}\n\nexport class Ui9000ChartRenderer extends HTMLElement {\n static get observedAttributes(): string[] {\n return [\n 'data',\n 'chart-type',\n 'scale',\n 'show-grid',\n 'show-legend',\n 'show-tooltip',\n 'show-header',\n 'chart-title',\n 'mapbox-token',\n 'geojson-base-url',\n 'pmtiles-base-url',\n ];\n }\n\n private _host: HTMLDivElement | null = null;\n private _empty: HTMLDivElement | null = null;\n private _mountToken = 0;\n\n connectedCallback(): void {\n if (this._host) return;\n const root = this.attachShadow({ mode: 'open' });\n const style = document.createElement('style');\n style.textContent = chartRendererStyles.cssText;\n root.appendChild(style);\n\n this._host = document.createElement('div');\n this._host.className = 'host';\n this._host.part = 'chart';\n root.appendChild(this._host);\n\n this._empty = document.createElement('div');\n this._empty.className = 'empty';\n this._empty.part = 'empty';\n this._empty.hidden = true;\n root.appendChild(this._empty);\n\n void this.mountChart();\n }\n\n attributeChangedCallback(): void {\n if (this._host) void this.mountChart();\n }\n\n private get dataJson(): string {\n return this.getAttribute('data') ?? '{}';\n }\n\n private get chartTypeAttr(): string {\n return this.getAttribute('chart-type') ?? '';\n }\n\n private get scale(): WidgetScale {\n return (this.getAttribute('scale') as WidgetScale) || 'default';\n }\n\n private applyBoolProp(el: HTMLElement, attr: string, prop: string): void {\n if (!this.hasAttribute(attr)) return;\n const on = this.getAttribute(attr) !== 'false';\n (el as unknown as Record<string, unknown>)[prop] = on;\n }\n\n private copyHostAttr(el: HTMLElement, name: string): void {\n const value = this.getAttribute(name);\n if (value) el.setAttribute(name, value);\n else el.removeAttribute(name);\n }\n\n private boolAttr(name: string): boolean | undefined {\n if (!this.hasAttribute(name)) return undefined;\n return this.getAttribute(name) !== 'false';\n }\n\n private showEmpty(message: string, detail?: string): void {\n if (!this._empty || !this._host) return;\n this._host.replaceChildren();\n this._host.hidden = true;\n this._empty.hidden = false;\n this._empty.replaceChildren();\n const strong = document.createElement('strong');\n strong.textContent = message;\n this._empty.appendChild(strong);\n if (detail) {\n const p = document.createElement('span');\n p.textContent = detail;\n this._empty.appendChild(p);\n }\n }\n\n private async mountChart(): Promise<void> {\n if (!this._host || !this._empty) return;\n const token = ++this._mountToken;\n\n const chartType = resolveWidgetChartType(this.dataJson, this.chartTypeAttr);\n if (!chartType) {\n this.showEmpty('No chart type', 'Pass chart-type or a widget payload with chartType.');\n return;\n }\n\n const target = resolveChartTarget(chartType);\n if (!target) {\n this.showEmpty(\n 'Unsupported chart type',\n `\"${chartType}\" is not available in @ui9000/widgets yet.`,\n );\n return;\n }\n\n try {\n await loadChart(target.kind);\n } catch {\n if (token !== this._mountToken) return;\n this.showEmpty('Failed to load chart', target.kind);\n return;\n }\n\n if (token !== this._mountToken) return;\n\n const widget = parseJsonAttr<{ name?: string } | null>(this.dataJson, null);\n const title =\n this.getAttribute('show-header') === 'false'\n ? ''\n : this.getAttribute('chart-title')?.trim() ||\n (widget && typeof widget === 'object' ? widget.name?.trim() : '') ||\n '';\n\n let el = this._host.firstElementChild as HTMLElement | null;\n if (!el || el.tagName.toLowerCase() !== target.tag) {\n this._host.replaceChildren();\n el = document.createElement(target.tag);\n this._host.appendChild(el);\n }\n\n el.setAttribute('data', this.dataJson);\n el.setAttribute('scale', this.scale);\n if (title) el.setAttribute('chart-title', title);\n else el.removeAttribute('chart-title');\n\n const showGrid = this.boolAttr('show-grid');\n const showLegend = this.boolAttr('show-legend');\n const showTooltip = this.boolAttr('show-tooltip');\n if (showGrid !== undefined) {\n if (showGrid) el.setAttribute('show-grid', '');\n else el.setAttribute('show-grid', 'false');\n }\n if (showLegend !== undefined) {\n if (showLegend) el.setAttribute('show-legend', '');\n else el.setAttribute('show-legend', 'false');\n }\n if (showTooltip !== undefined) {\n if (showTooltip) el.setAttribute('show-tooltip', '');\n else el.setAttribute('show-tooltip', 'false');\n }\n this.applyBoolProp(el, 'show-header', 'showHeader');\n this.applyBoolProp(el, 'show-grid', 'showGrid');\n this.applyBoolProp(el, 'show-legend', 'showLegend');\n this.applyBoolProp(el, 'show-tooltip', 'showTooltip');\n\n applyTargetAttrs(el, target.attrs);\n this.copyHostAttr(el, 'mapbox-token');\n this.copyHostAttr(el, 'geojson-base-url');\n this.copyHostAttr(el, 'pmtiles-base-url');\n el.style.display = 'block';\n el.style.width = '100%';\n el.style.height = '100%';\n\n this._empty.hidden = true;\n this._host.hidden = false;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui9000-chart-renderer': Ui9000ChartRenderer;\n }\n}\n\nexport function registerChartRenderer(): void {\n if (!customElements.get('ui9000-chart-renderer')) {\n customElements.define('ui9000-chart-renderer', Ui9000ChartRenderer);\n }\n}\n\nregisterChartRenderer();\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/components/chart-renderer/lib/registry.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAqB,WAAW,EAAoB,MAAM,YAAY,CAAC;AAEnF,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAe/D,CAAC;AA4EF,eAAO,MAAM,qBAAqB,mBAA8C,CAAC;AAEjF,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAI3F;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,CAI3F;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAEhF"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/components/chart-renderer/lib/registry.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAqB,WAAW,EAAoB,MAAM,YAAY,CAAC;AAEnF,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgB/D,CAAC;AA+EF,eAAO,MAAM,qBAAqB,mBAA8C,CAAC;AAEjF,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAI3F;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,CAI3F;AAMD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAIhF"}
@@ -5,12 +5,13 @@ import biasVarianceTradeoffMeta from "../../bias-variance-tradeoff-chart/metadat
5
5
  import boxPlotMeta from "../../box-plot-chart/metadata.json.js";
6
6
  import bubbleMeta from "../../bubble-chart/metadata.json.js";
7
7
  import donutMeta from "../../donut-chart/metadata.json.js";
8
- import donutGroupMeta from "../../donut-group-chart/metadata.json.js";
9
8
  import giniImpurityEntropyMeta from "../../gini-impurity-entropy-chart/metadata.json.js";
10
9
  import histogramMeta from "../../histogram-chart/metadata.json.js";
11
10
  import kpiMeta from "../../kpi-widget/metadata.json.js";
12
11
  import lineMeta from "../../line-chart/metadata.json.js";
13
12
  import lollipopMeta from "../../lollipop/metadata.json.js";
13
+ import mapChartMeta from "../../map-chart/metadata.json.js";
14
+ import matrixMeta from "../../matrix-chart/metadata.json.js";
14
15
  import networkGraphMeta from "../../network-graph/metadata.json.js";
15
16
  import parallelCoordinatesMeta from "../../parallel-coordinates-chart/metadata.json.js";
16
17
  import pieMeta from "../../pie-chart/metadata.json.js";
@@ -24,8 +25,10 @@ import scatterSparklineMeta from "../../scatter-sparkline-chart/metadata.json.js
24
25
  import sparkAreaMeta from "../../spark-area-chart/metadata.json.js";
25
26
  import sparkLineMeta from "../../spark-line-chart/metadata.json.js";
26
27
  import stepLineMeta from "../../step-line-chart/metadata.json.js";
28
+ import treemapMeta from "../../treemap-chart/metadata.json.js";
27
29
  import violinMeta from "../../violin-chart/metadata.json.js";
28
30
  import waterfallMeta from "../../waterfall-chart/metadata.json.js";
31
+ import partialDependenceMeta from "../../partial-dependence-chart/metadata.json.js";
29
32
  const CHART_TYPE_ALIASES = {
30
33
  barGroupedChart: "barGrouped",
31
34
  barStackedChart: "barStacked",
@@ -40,7 +43,8 @@ const CHART_TYPE_ALIASES = {
40
43
  qqPlot: "qqPlot",
41
44
  radarChartGrouped: "radarGroupedChart",
42
45
  /** Client charts mock / MCP spelling */
43
- rocPlotChart: "rocCurveChart"
46
+ rocPlotChart: "rocCurveChart",
47
+ UniversalMap: "mapChart"
44
48
  };
45
49
  const METADATA = [
46
50
  areaChartMeta,
@@ -50,12 +54,13 @@ const METADATA = [
50
54
  boxPlotMeta,
51
55
  bubbleMeta,
52
56
  donutMeta,
53
- donutGroupMeta,
54
57
  giniImpurityEntropyMeta,
55
58
  histogramMeta,
56
59
  kpiMeta,
57
60
  lineMeta,
58
61
  lollipopMeta,
62
+ mapChartMeta,
63
+ matrixMeta,
59
64
  networkGraphMeta,
60
65
  parallelCoordinatesMeta,
61
66
  pieMeta,
@@ -69,8 +74,10 @@ const METADATA = [
69
74
  sparkAreaMeta,
70
75
  sparkLineMeta,
71
76
  stepLineMeta,
77
+ treemapMeta,
72
78
  violinMeta,
73
- waterfallMeta
79
+ waterfallMeta,
80
+ partialDependenceMeta
74
81
  ];
75
82
  function toDomAttr(camelKey) {
76
83
  return camelKey.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`);
@@ -121,8 +128,16 @@ function resolveChartTarget(chartType) {
121
128
  if (!key) return null;
122
129
  return REGISTRY[key] ?? null;
123
130
  }
131
+ const HOST_NOT_READY = new Set(
132
+ METADATA.filter((meta) => {
133
+ var _a;
134
+ return ((_a = meta.usageConditions) == null ? void 0 : _a.hostReady) === false;
135
+ }).map((meta) => meta.id)
136
+ );
124
137
  function canRenderChartType(chartType) {
125
- return resolveChartTarget(chartType) != null;
138
+ const target = resolveChartTarget(chartType);
139
+ if (!target) return false;
140
+ return !HOST_NOT_READY.has(target.kind);
126
141
  }
127
142
  export {
128
143
  CHART_TYPE_ALIASES,
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sources":["../../../../src/components/chart-renderer/lib/registry.ts"],"sourcesContent":["import type { ChartKind } from '../../../lazy/index.js';\nimport areaChartMeta from '../../area-chart/metadata.json';\nimport areaGroupedBarMeta from '../../area-grouped-bar-chart/metadata.json';\nimport barChartMeta from '../../bar-chart/metadata.json';\nimport biasVarianceTradeoffMeta from '../../bias-variance-tradeoff-chart/metadata.json';\nimport boxPlotMeta from '../../box-plot-chart/metadata.json';\nimport bubbleMeta from '../../bubble-chart/metadata.json';\nimport donutMeta from '../../donut-chart/metadata.json';\nimport donutGroupMeta from '../../donut-group-chart/metadata.json';\nimport giniImpurityEntropyMeta from '../../gini-impurity-entropy-chart/metadata.json';\nimport histogramMeta from '../../histogram-chart/metadata.json';\nimport kpiMeta from '../../kpi-widget/metadata.json';\nimport lineMeta from '../../line-chart/metadata.json';\nimport lollipopMeta from '../../lollipop/metadata.json';\nimport networkGraphMeta from '../../network-graph/metadata.json';\nimport parallelCoordinatesMeta from '../../parallel-coordinates-chart/metadata.json';\nimport pieMeta from '../../pie-chart/metadata.json';\nimport polarAreaMeta from '../../polar-area-chart/metadata.json';\nimport punchcardMeta from '../../punchcard-chart/metadata.json';\nimport radarMeta from '../../radar-chart/metadata.json';\nimport radialBarMeta from '../../radial-bar-chart/metadata.json';\nimport sankeyMeta from '../../sankey-chart/metadata.json';\nimport scatterPlotMeta from '../../scatter-plot-chart/metadata.json';\nimport scatterSparklineMeta from '../../scatter-sparkline-chart/metadata.json';\nimport sparkAreaMeta from '../../spark-area-chart/metadata.json';\nimport sparkLineMeta from '../../spark-line-chart/metadata.json';\nimport stepLineMeta from '../../step-line-chart/metadata.json';\nimport violinMeta from '../../violin-chart/metadata.json';\nimport waterfallMeta from '../../waterfall-chart/metadata.json';\nimport type { ChartMetadataLike, ChartTarget, ChartTargetAttrs } from './types.js';\n\n/** FuseDash variant / legacy chartType → registry key (mirrors client chartTypeRegistry). */\nexport const CHART_TYPE_ALIASES: Readonly<Record<string, string>> = {\n barGroupedChart: 'barGrouped',\n barStackedChart: 'barStacked',\n cumulativeBarChart: 'cumulativeBar',\n barHorizontalChart: 'barHorizontal',\n barHorizontalGroupedChart: 'barHorizontalGrouped',\n barHorizontalStackedChart: 'barHorizontalStacked',\n lollipopGroupedChart: 'lollipopGroupedChart',\n lollipopStackedChart: 'lollipopStackedChart',\n lineGroupedChart: 'lineGroupedChart',\n areaStackedChart: 'areaStackedChart',\n qqPlot: 'qqPlot',\n radarChartGrouped: 'radarGroupedChart',\n /** Client charts mock / MCP spelling */\n rocPlotChart: 'rocCurveChart',\n};\n\nconst METADATA: ChartMetadataLike[] = [\n areaChartMeta,\n areaGroupedBarMeta,\n barChartMeta,\n biasVarianceTradeoffMeta,\n boxPlotMeta,\n bubbleMeta,\n donutMeta,\n donutGroupMeta,\n giniImpurityEntropyMeta,\n histogramMeta,\n kpiMeta,\n lineMeta,\n lollipopMeta,\n networkGraphMeta,\n parallelCoordinatesMeta,\n pieMeta,\n polarAreaMeta,\n punchcardMeta,\n radarMeta,\n radialBarMeta,\n sankeyMeta,\n scatterPlotMeta,\n scatterSparklineMeta,\n sparkAreaMeta,\n sparkLineMeta,\n stepLineMeta,\n violinMeta,\n waterfallMeta,\n];\n\nfunction toDomAttr(camelKey: string): string {\n return camelKey.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`);\n}\n\nfunction attrsFromMap(raw?: Record<string, unknown>): ChartTargetAttrs | undefined {\n if (!raw) return undefined;\n const out: ChartTargetAttrs = {};\n for (const [key, value] of Object.entries(raw)) {\n if (typeof value === 'string' || typeof value === 'boolean' || typeof value === 'number') {\n out[toDomAttr(key)] = value;\n }\n }\n return Object.keys(out).length ? out : undefined;\n}\n\nfunction entriesFromMeta(meta: ChartMetadataLike): Record<string, ChartTarget> {\n const kind = meta.id as ChartKind;\n const out: Record<string, ChartTarget> = {};\n for (const chartType of meta.chartTypeKeys ?? []) {\n out[chartType] = {\n kind,\n tag: meta.tag,\n attrs: attrsFromMap(meta.chartTypeMap?.[chartType]),\n };\n }\n return out;\n}\n\nconst REGISTRY: Record<string, ChartTarget> = METADATA.reduce(\n (acc, meta) => Object.assign(acc, entriesFromMeta(meta)),\n {} as Record<string, ChartTarget>,\n);\n\n/** KS / ROC overlays map to step-line `graf-type`. */\nREGISTRY.ksPlotChart = {\n ...REGISTRY.ksPlotChart,\n attrs: { 'graf-type': 'curve' },\n};\nREGISTRY.rocCurveChart = {\n ...REGISTRY.rocCurveChart,\n attrs: { 'graf-type': 'line' },\n};\n\nexport const SUPPORTED_CHART_TYPES = Object.freeze(Object.keys(REGISTRY).sort());\n\nexport function resolveRegistryKey(chartType: string | undefined | null): string | undefined {\n if (!chartType?.trim()) return undefined;\n const trimmed = chartType.trim();\n return CHART_TYPE_ALIASES[trimmed] ?? trimmed;\n}\n\n/** Resolve FuseDash chartType → lazy ChartKind + host tag + optional attrs. */\nexport function resolveChartTarget(chartType: string | undefined | null): ChartTarget | null {\n const key = resolveRegistryKey(chartType);\n if (!key) return null;\n return REGISTRY[key] ?? null;\n}\n\nexport function canRenderChartType(chartType: string | undefined | null): boolean {\n return resolveChartTarget(chartType) != null;\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCO,MAAM,qBAAuD;AAAA,EAClE,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,EACtB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,QAAQ;AAAA,EACR,mBAAmB;AAAA;AAAA,EAEnB,cAAc;AAChB;AAEA,MAAM,WAAgC;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,SAAS,UAAU,UAA0B;AAC3C,SAAO,SAAS,QAAQ,UAAU,CAAC,MAAM,IAAI,EAAE,YAAA,CAAa,EAAE;AAChE;AAEA,SAAS,aAAa,KAA6D;AACjF,MAAI,CAAC,IAAK,QAAO;AACjB,QAAM,MAAwB,CAAA;AAC9B,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,GAAG,GAAG;AAC9C,QAAI,OAAO,UAAU,YAAY,OAAO,UAAU,aAAa,OAAO,UAAU,UAAU;AACxF,UAAI,UAAU,GAAG,CAAC,IAAI;AAAA,IACxB;AAAA,EACF;AACA,SAAO,OAAO,KAAK,GAAG,EAAE,SAAS,MAAM;AACzC;AAEA,SAAS,gBAAgB,MAAsD;;AAC7E,QAAM,OAAO,KAAK;AAClB,QAAM,MAAmC,CAAA;AACzC,aAAW,aAAa,KAAK,iBAAiB,CAAA,GAAI;AAChD,QAAI,SAAS,IAAI;AAAA,MACf;AAAA,MACA,KAAK,KAAK;AAAA,MACV,OAAO,cAAa,UAAK,iBAAL,mBAAoB,UAAU;AAAA,IAAA;AAAA,EAEtD;AACA,SAAO;AACT;AAEA,MAAM,WAAwC,SAAS;AAAA,EACrD,CAAC,KAAK,SAAS,OAAO,OAAO,KAAK,gBAAgB,IAAI,CAAC;AAAA,EACvD,CAAA;AACF;AAGA,SAAS,cAAc;AAAA,EACrB,GAAG,SAAS;AAAA,EACZ,OAAO,EAAE,aAAa,QAAA;AACxB;AACA,SAAS,gBAAgB;AAAA,EACvB,GAAG,SAAS;AAAA,EACZ,OAAO,EAAE,aAAa,OAAA;AACxB;AAEO,MAAM,wBAAwB,OAAO,OAAO,OAAO,KAAK,QAAQ,EAAE,MAAM;AAExE,SAAS,mBAAmB,WAA0D;AAC3F,MAAI,EAAC,uCAAW,QAAQ,QAAO;AAC/B,QAAM,UAAU,UAAU,KAAA;AAC1B,SAAO,mBAAmB,OAAO,KAAK;AACxC;AAGO,SAAS,mBAAmB,WAA0D;AAC3F,QAAM,MAAM,mBAAmB,SAAS;AACxC,MAAI,CAAC,IAAK,QAAO;AACjB,SAAO,SAAS,GAAG,KAAK;AAC1B;AAEO,SAAS,mBAAmB,WAA+C;AAChF,SAAO,mBAAmB,SAAS,KAAK;AAC1C;"}
1
+ {"version":3,"file":"registry.js","sources":["../../../../src/components/chart-renderer/lib/registry.ts"],"sourcesContent":["import type { ChartKind } from '../../../lazy/index.js';\nimport areaChartMeta from '../../area-chart/metadata.json';\nimport areaGroupedBarMeta from '../../area-grouped-bar-chart/metadata.json';\nimport barChartMeta from '../../bar-chart/metadata.json';\nimport biasVarianceTradeoffMeta from '../../bias-variance-tradeoff-chart/metadata.json';\nimport boxPlotMeta from '../../box-plot-chart/metadata.json';\nimport bubbleMeta from '../../bubble-chart/metadata.json';\nimport donutMeta from '../../donut-chart/metadata.json';\nimport giniImpurityEntropyMeta from '../../gini-impurity-entropy-chart/metadata.json';\nimport histogramMeta from '../../histogram-chart/metadata.json';\nimport kpiMeta from '../../kpi-widget/metadata.json';\nimport lineMeta from '../../line-chart/metadata.json';\nimport lollipopMeta from '../../lollipop/metadata.json';\nimport mapChartMeta from '../../map-chart/metadata.json';\nimport matrixMeta from '../../matrix-chart/metadata.json';\nimport networkGraphMeta from '../../network-graph/metadata.json';\nimport parallelCoordinatesMeta from '../../parallel-coordinates-chart/metadata.json';\nimport pieMeta from '../../pie-chart/metadata.json';\nimport polarAreaMeta from '../../polar-area-chart/metadata.json';\nimport punchcardMeta from '../../punchcard-chart/metadata.json';\nimport radarMeta from '../../radar-chart/metadata.json';\nimport radialBarMeta from '../../radial-bar-chart/metadata.json';\nimport sankeyMeta from '../../sankey-chart/metadata.json';\nimport scatterPlotMeta from '../../scatter-plot-chart/metadata.json';\nimport scatterSparklineMeta from '../../scatter-sparkline-chart/metadata.json';\nimport sparkAreaMeta from '../../spark-area-chart/metadata.json';\nimport sparkLineMeta from '../../spark-line-chart/metadata.json';\nimport stepLineMeta from '../../step-line-chart/metadata.json';\nimport treemapMeta from '../../treemap-chart/metadata.json';\nimport violinMeta from '../../violin-chart/metadata.json';\nimport waterfallMeta from '../../waterfall-chart/metadata.json';\nimport partialDependenceMeta from '../../partial-dependence-chart/metadata.json';\nimport type { ChartMetadataLike, ChartTarget, ChartTargetAttrs } from './types.js';\n\n/** FuseDash variant / legacy chartType → registry key (mirrors client chartTypeRegistry). */\nexport const CHART_TYPE_ALIASES: Readonly<Record<string, string>> = {\n barGroupedChart: 'barGrouped',\n barStackedChart: 'barStacked',\n cumulativeBarChart: 'cumulativeBar',\n barHorizontalChart: 'barHorizontal',\n barHorizontalGroupedChart: 'barHorizontalGrouped',\n barHorizontalStackedChart: 'barHorizontalStacked',\n lollipopGroupedChart: 'lollipopGroupedChart',\n lollipopStackedChart: 'lollipopStackedChart',\n lineGroupedChart: 'lineGroupedChart',\n areaStackedChart: 'areaStackedChart',\n qqPlot: 'qqPlot',\n radarChartGrouped: 'radarGroupedChart',\n /** Client charts mock / MCP spelling */\n rocPlotChart: 'rocCurveChart',\n UniversalMap: 'mapChart',\n};\n\nconst METADATA: ChartMetadataLike[] = [\n areaChartMeta,\n areaGroupedBarMeta,\n barChartMeta,\n biasVarianceTradeoffMeta,\n boxPlotMeta,\n bubbleMeta,\n donutMeta,\n giniImpurityEntropyMeta,\n histogramMeta,\n kpiMeta,\n lineMeta,\n lollipopMeta,\n mapChartMeta,\n matrixMeta,\n networkGraphMeta,\n parallelCoordinatesMeta,\n pieMeta,\n polarAreaMeta,\n punchcardMeta,\n radarMeta,\n radialBarMeta,\n sankeyMeta,\n scatterPlotMeta,\n scatterSparklineMeta,\n sparkAreaMeta,\n sparkLineMeta,\n stepLineMeta,\n treemapMeta,\n violinMeta,\n waterfallMeta,\n partialDependenceMeta,\n];\n\nfunction toDomAttr(camelKey: string): string {\n return camelKey.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`);\n}\n\nfunction attrsFromMap(raw?: Record<string, unknown>): ChartTargetAttrs | undefined {\n if (!raw) return undefined;\n const out: ChartTargetAttrs = {};\n for (const [key, value] of Object.entries(raw)) {\n if (typeof value === 'string' || typeof value === 'boolean' || typeof value === 'number') {\n out[toDomAttr(key)] = value;\n }\n }\n return Object.keys(out).length ? out : undefined;\n}\n\nfunction entriesFromMeta(meta: ChartMetadataLike): Record<string, ChartTarget> {\n const kind = meta.id as ChartKind;\n const out: Record<string, ChartTarget> = {};\n for (const chartType of meta.chartTypeKeys ?? []) {\n out[chartType] = {\n kind,\n tag: meta.tag,\n attrs: attrsFromMap(meta.chartTypeMap?.[chartType]),\n };\n }\n return out;\n}\n\nconst REGISTRY: Record<string, ChartTarget> = METADATA.reduce(\n (acc, meta) => Object.assign(acc, entriesFromMeta(meta)),\n {} as Record<string, ChartTarget>,\n);\n\n/** KS / ROC overlays map to step-line `graf-type`. */\nREGISTRY.ksPlotChart = {\n ...REGISTRY.ksPlotChart,\n attrs: { 'graf-type': 'curve' },\n};\nREGISTRY.rocCurveChart = {\n ...REGISTRY.rocCurveChart,\n attrs: { 'graf-type': 'line' },\n};\n\nexport const SUPPORTED_CHART_TYPES = Object.freeze(Object.keys(REGISTRY).sort());\n\nexport function resolveRegistryKey(chartType: string | undefined | null): string | undefined {\n if (!chartType?.trim()) return undefined;\n const trimmed = chartType.trim();\n return CHART_TYPE_ALIASES[trimmed] ?? trimmed;\n}\n\n/** Resolve FuseDash chartType → lazy ChartKind + host tag + optional attrs. */\nexport function resolveChartTarget(chartType: string | undefined | null): ChartTarget | null {\n const key = resolveRegistryKey(chartType);\n if (!key) return null;\n return REGISTRY[key] ?? null;\n}\n\nconst HOST_NOT_READY = new Set(\n METADATA.filter((meta) => meta.usageConditions?.hostReady === false).map((meta) => meta.id),\n);\n\nexport function canRenderChartType(chartType: string | undefined | null): boolean {\n const target = resolveChartTarget(chartType);\n if (!target) return false;\n return !HOST_NOT_READY.has(target.kind);\n}\n"],"names":[],"mappings":"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"}
@@ -10,5 +10,10 @@ export interface ChartMetadataLike {
10
10
  tag: string;
11
11
  chartTypeKeys?: string[];
12
12
  chartTypeMap?: Record<string, Record<string, unknown>>;
13
+ /** When `hostReady` is false, `canRenderChartType` stays closed (hosts keep iframe / empty). */
14
+ usageConditions?: {
15
+ hostReady?: boolean;
16
+ [key: string]: unknown;
17
+ };
13
18
  }
14
19
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/chart-renderer/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;AAEzE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACxD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/chart-renderer/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;AAEzE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACvD,gGAAgG;IAChG,eAAe,CAAC,EAAE;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH"}
@@ -123,8 +123,8 @@ let Ui9000DonutChart = class extends Ui9000ChartElement {
123
123
  <div class="widget-shell" part="shell">
124
124
  ${this.renderShellHeader(title)}
125
125
  <div class="widget-body">
126
- ${this.renderLegend()}
127
126
  <div class="chart-root" part="chart" ?hidden=${this._empty}></div>
127
+ ${this.renderLegend()}
128
128
  ${this._empty ? html`<div class="empty" part="empty">No data</div>` : nothing}
129
129
  ${this._tooltip ? html`<div
130
130
  class="tooltip"
@@ -1 +1 @@
1
- {"version":3,"file":"ui9000-donut-chart.js","sources":["../../../../src/components/donut-chart/element/ui9000-donut-chart.ts"],"sourcesContent":["import { html, nothing, type PropertyValues } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n\nimport { chartShellStyles, Ui9000ChartElement } from '../../../element/ui9000-chart-base.js';\nimport { renderChartLegend } from '../../../element/chart-legend-render.js';\nimport { readThemeFromElement } from '../../../context/widget-context.js';\nimport type { WidgetScale } from '../../../types/index.js';\nimport { getPieDimensions, parseJsonAttr } from '../../../utils/chart-helpers.js';\nimport { swatchLegendEntries } from '../../../utils/chart-legend.js';\nimport { renderPieChart } from '../../pie-chart/render/draw.js';\nimport { chartPropsChanged } from '../../../utils/lit-draw.js';\nimport {\n computeDonutInnerRadius,\n formatDonutPercent,\n legendSlicesFromDonutOrder,\n normalizeDonutData,\n type DonutChartData,\n type DonutModel,\n type DonutChartSlice,\n} from '../lib/index.js';\nimport { donutChartStyles } from './styles.js';\n\n@customElement('ui9000-donut-chart')\nexport class Ui9000DonutChart extends Ui9000ChartElement {\n static override styles = [donutChartStyles, chartShellStyles];\n\n @property({ type: String, attribute: 'scale' })\n scale: WidgetScale = 'default';\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 _tooltip: {\n x: number;\n y: number;\n xLabel: string;\n yLabel: string;\n } | null = null;\n\n @state()\n private _empty = false;\n\n @state()\n private _legendSlices: DonutChartSlice[] = [];\n\n private _resizeObserver?: ResizeObserver;\n private _raf = 0;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this._resizeObserver = new ResizeObserver(() => this.scheduleDraw());\n this._resizeObserver.observe(this);\n }\n\n override disconnectedCallback(): void {\n this._resizeObserver?.disconnect();\n cancelAnimationFrame(this._raf);\n super.disconnectedCallback();\n }\n\n override updated(changed: PropertyValues): void {\n if (chartPropsChanged(changed)) this.scheduleDraw();\n }\n\n private scheduleDraw(): void {\n cancelAnimationFrame(this._raf);\n this._raf = requestAnimationFrame(() => this.draw());\n }\n\n private parseData(): DonutModel {\n const raw = parseJsonAttr<DonutChartData>(this.dataJson, null);\n return normalizeDonutData(raw);\n }\n\n private renderLegend() {\n if (!this.showLegend || !this._legendSlices.length) return nothing;\n const theme = readThemeFromElement(this);\n return renderChartLegend(\n swatchLegendEntries(\n this._legendSlices.map(\n (slice) => `${formatDonutPercent(slice.percentage)}% - ${slice.label}`,\n ),\n theme,\n (_label, index) => this._legendSlices[index]?.color ?? theme.primary,\n ),\n );\n }\n\n private draw(): void {\n const root = this.shadowRoot?.querySelector('.chart-root') as HTMLElement | null;\n if (!root) return;\n\n const model = this.parseData();\n this._empty = model.slices.length === 0;\n if (this._empty) {\n root.replaceChildren();\n this._legendSlices = [];\n return;\n }\n\n const theme = readThemeFromElement(this);\n const { width, height } = getPieDimensions(root);\n const plotSize = Math.min(width, height);\n const outerRadius = plotSize / 2;\n const innerRadius = computeDonutInnerRadius(outerRadius);\n\n renderPieChart(root, {\n slices: model.slices,\n width,\n height,\n theme,\n innerRadius,\n showTooltip: this.showTooltip,\n onLayout: (orderedKeys) => {\n this._legendSlices = legendSlicesFromDonutOrder(model, orderedKeys);\n },\n onHover: this.showTooltip\n ? ({ slice, event }) => {\n const rect = this.getBoundingClientRect();\n const xField = model.xField ?? 'Category';\n const yField = model.yField ?? 'Value';\n const xAxeLabel = model.axisDetails?.[xField]?.label ?? xField;\n const yAxeLabel = model.axisDetails?.[yField]?.label ?? yField;\n const symbol = model.axisDetails?.[yField]?.measure_unit_symbol ?? '';\n const valueText = symbol\n ? `${slice.value.toLocaleString()} ${symbol}`.trim()\n : slice.value.toLocaleString();\n this._tooltip = {\n x: event.clientX - rect.left,\n y: event.clientY - rect.top,\n xLabel: `${xAxeLabel}: ${slice.label}`,\n yLabel: `${yAxeLabel}: ${valueText} (${formatDonutPercent(slice.percentage)}%)`,\n };\n }\n : undefined,\n onLeave: this.showTooltip ? () => { this._tooltip = null; } : undefined,\n });\n }\n\n override render() {\n const title = this.headerTitle();\n return html`\n <div class=\"widget-shell\" part=\"shell\">\n ${this.renderShellHeader(title)}\n <div class=\"widget-body\">\n ${this.renderLegend()}\n <div class=\"chart-root\" part=\"chart\" ?hidden=${this._empty}></div>\n ${this._empty\n ? html`<div class=\"empty\" part=\"empty\">No data</div>`\n : nothing}\n ${this._tooltip\n ? html`<div\n class=\"tooltip\"\n part=\"tooltip\"\n style=\"left:${this._tooltip.x}px;top:${this._tooltip.y}px\"\n >\n <div>${this._tooltip.xLabel}</div>\n <div>${this._tooltip.yLabel}</div>\n </div>`\n : nothing}\n ${this.renderShellLabelTooltip()}\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui9000-donut-chart': Ui9000DonutChart;\n }\n}\n\nexport function registerDonutChart(): void {\n if (!customElements.get('ui9000-donut-chart')) {\n customElements.define('ui9000-donut-chart', Ui9000DonutChart);\n }\n}\n\nregisterDonutChart();\n"],"names":["normalizeDonutData","formatDonutPercent","legendSlicesFromDonutOrder","_a","donutChartStyles"],"mappings":"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"}
1
+ {"version":3,"file":"ui9000-donut-chart.js","sources":["../../../../src/components/donut-chart/element/ui9000-donut-chart.ts"],"sourcesContent":["import { html, nothing, type PropertyValues } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n\nimport { chartShellStyles, Ui9000ChartElement } from '../../../element/ui9000-chart-base.js';\nimport { renderChartLegend } from '../../../element/chart-legend-render.js';\nimport { readThemeFromElement } from '../../../context/widget-context.js';\nimport type { WidgetScale } from '../../../types/index.js';\nimport { getPieDimensions, parseJsonAttr } from '../../../utils/chart-helpers.js';\nimport { swatchLegendEntries } from '../../../utils/chart-legend.js';\nimport { renderPieChart } from '../../pie-chart/render/draw.js';\nimport { chartPropsChanged } from '../../../utils/lit-draw.js';\nimport {\n computeDonutInnerRadius,\n formatDonutPercent,\n legendSlicesFromDonutOrder,\n normalizeDonutData,\n type DonutChartData,\n type DonutModel,\n type DonutChartSlice,\n} from '../lib/index.js';\nimport { donutChartStyles } from './styles.js';\n\n@customElement('ui9000-donut-chart')\nexport class Ui9000DonutChart extends Ui9000ChartElement {\n static override styles = [donutChartStyles, chartShellStyles];\n\n @property({ type: String, attribute: 'scale' })\n scale: WidgetScale = 'default';\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 _tooltip: {\n x: number;\n y: number;\n xLabel: string;\n yLabel: string;\n } | null = null;\n\n @state()\n private _empty = false;\n\n @state()\n private _legendSlices: DonutChartSlice[] = [];\n\n private _resizeObserver?: ResizeObserver;\n private _raf = 0;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this._resizeObserver = new ResizeObserver(() => this.scheduleDraw());\n this._resizeObserver.observe(this);\n }\n\n override disconnectedCallback(): void {\n this._resizeObserver?.disconnect();\n cancelAnimationFrame(this._raf);\n super.disconnectedCallback();\n }\n\n override updated(changed: PropertyValues): void {\n if (chartPropsChanged(changed)) this.scheduleDraw();\n }\n\n private scheduleDraw(): void {\n cancelAnimationFrame(this._raf);\n this._raf = requestAnimationFrame(() => this.draw());\n }\n\n private parseData(): DonutModel {\n const raw = parseJsonAttr<DonutChartData>(this.dataJson, null);\n return normalizeDonutData(raw);\n }\n\n private renderLegend() {\n if (!this.showLegend || !this._legendSlices.length) return nothing;\n const theme = readThemeFromElement(this);\n return renderChartLegend(\n swatchLegendEntries(\n this._legendSlices.map(\n (slice) => `${formatDonutPercent(slice.percentage)}% - ${slice.label}`,\n ),\n theme,\n (_label, index) => this._legendSlices[index]?.color ?? theme.primary,\n ),\n );\n }\n\n private draw(): void {\n const root = this.shadowRoot?.querySelector('.chart-root') as HTMLElement | null;\n if (!root) return;\n\n const model = this.parseData();\n this._empty = model.slices.length === 0;\n if (this._empty) {\n root.replaceChildren();\n this._legendSlices = [];\n return;\n }\n\n const theme = readThemeFromElement(this);\n const { width, height } = getPieDimensions(root);\n const plotSize = Math.min(width, height);\n const outerRadius = plotSize / 2;\n const innerRadius = computeDonutInnerRadius(outerRadius);\n\n renderPieChart(root, {\n slices: model.slices,\n width,\n height,\n theme,\n innerRadius,\n showTooltip: this.showTooltip,\n onLayout: (orderedKeys) => {\n this._legendSlices = legendSlicesFromDonutOrder(model, orderedKeys);\n },\n onHover: this.showTooltip\n ? ({ slice, event }) => {\n const rect = this.getBoundingClientRect();\n const xField = model.xField ?? 'Category';\n const yField = model.yField ?? 'Value';\n const xAxeLabel = model.axisDetails?.[xField]?.label ?? xField;\n const yAxeLabel = model.axisDetails?.[yField]?.label ?? yField;\n const symbol = model.axisDetails?.[yField]?.measure_unit_symbol ?? '';\n const valueText = symbol\n ? `${slice.value.toLocaleString()} ${symbol}`.trim()\n : slice.value.toLocaleString();\n this._tooltip = {\n x: event.clientX - rect.left,\n y: event.clientY - rect.top,\n xLabel: `${xAxeLabel}: ${slice.label}`,\n yLabel: `${yAxeLabel}: ${valueText} (${formatDonutPercent(slice.percentage)}%)`,\n };\n }\n : undefined,\n onLeave: this.showTooltip ? () => { this._tooltip = null; } : undefined,\n });\n }\n\n override render() {\n const title = this.headerTitle();\n return html`\n <div class=\"widget-shell\" part=\"shell\">\n ${this.renderShellHeader(title)}\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\">No data</div>`\n : nothing}\n ${this._tooltip\n ? html`<div\n class=\"tooltip\"\n part=\"tooltip\"\n style=\"left:${this._tooltip.x}px;top:${this._tooltip.y}px\"\n >\n <div>${this._tooltip.xLabel}</div>\n <div>${this._tooltip.yLabel}</div>\n </div>`\n : nothing}\n ${this.renderShellLabelTooltip()}\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui9000-donut-chart': Ui9000DonutChart;\n }\n}\n\nexport function registerDonutChart(): void {\n if (!customElements.get('ui9000-donut-chart')) {\n customElements.define('ui9000-donut-chart', Ui9000DonutChart);\n }\n}\n\nregisterDonutChart();\n"],"names":["normalizeDonutData","formatDonutPercent","legendSlicesFromDonutOrder","_a","donutChartStyles"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/kpi-widget/element/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,yBA6I3B,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/kpi-widget/element/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,yBAoZ3B,CAAC"}