@fusedashlabs/widgets 0.3.1 → 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 (342) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +1 -1
  3. package/dist/components/chart-renderer/element/ui9000-chart-renderer.d.ts +1 -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 +12 -1
  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 +17 -4
  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/lollipop/element/styles.d.ts.map +1 -1
  15. package/dist/components/lollipop/element/styles.js +19 -1
  16. package/dist/components/lollipop/element/styles.js.map +1 -1
  17. package/dist/components/lollipop/element/ui9000-lollipop.d.ts +6 -1
  18. package/dist/components/lollipop/element/ui9000-lollipop.d.ts.map +1 -1
  19. package/dist/components/lollipop/element/ui9000-lollipop.js +68 -7
  20. package/dist/components/lollipop/element/ui9000-lollipop.js.map +1 -1
  21. package/dist/components/lollipop/index.d.ts +1 -1
  22. package/dist/components/lollipop/index.d.ts.map +1 -1
  23. package/dist/components/lollipop/index.js +2 -0
  24. package/dist/components/lollipop/index.js.map +1 -1
  25. package/dist/components/lollipop/lib/domain.d.ts +16 -1
  26. package/dist/components/lollipop/lib/domain.d.ts.map +1 -1
  27. package/dist/components/lollipop/lib/domain.js +56 -1
  28. package/dist/components/lollipop/lib/domain.js.map +1 -1
  29. package/dist/components/lollipop/lib/index.d.ts +3 -2
  30. package/dist/components/lollipop/lib/index.d.ts.map +1 -1
  31. package/dist/components/lollipop/lib/layout.d.ts +16 -0
  32. package/dist/components/lollipop/lib/layout.d.ts.map +1 -0
  33. package/dist/components/lollipop/lib/layout.js +16 -0
  34. package/dist/components/lollipop/lib/layout.js.map +1 -0
  35. package/dist/components/lollipop/lib/types.d.ts +5 -0
  36. package/dist/components/lollipop/lib/types.d.ts.map +1 -1
  37. package/dist/components/lollipop/metadata.json.d.ts +10 -0
  38. package/dist/components/lollipop/metadata.json.js +4 -1
  39. package/dist/components/lollipop/metadata.json.js.map +1 -1
  40. package/dist/components/lollipop/render/draw.d.ts +8 -1
  41. package/dist/components/lollipop/render/draw.d.ts.map +1 -1
  42. package/dist/components/lollipop/render/draw.js +155 -84
  43. package/dist/components/lollipop/render/draw.js.map +1 -1
  44. package/dist/components/map-chart/element/styles.d.ts +2 -0
  45. package/dist/components/map-chart/element/styles.d.ts.map +1 -0
  46. package/dist/components/map-chart/element/styles.js +372 -0
  47. package/dist/components/map-chart/element/styles.js.map +1 -0
  48. package/dist/components/map-chart/element/ui9000-map-chart.d.ts +54 -0
  49. package/dist/components/map-chart/element/ui9000-map-chart.d.ts.map +1 -0
  50. package/dist/components/map-chart/element/ui9000-map-chart.js +539 -0
  51. package/dist/components/map-chart/element/ui9000-map-chart.js.map +1 -0
  52. package/dist/components/map-chart/index.d.ts +5 -0
  53. package/dist/components/map-chart/index.d.ts.map +1 -0
  54. package/dist/components/map-chart/index.js +29 -0
  55. package/dist/components/map-chart/index.js.map +1 -0
  56. package/dist/components/map-chart/lib/constants.d.ts +34 -0
  57. package/dist/components/map-chart/lib/constants.d.ts.map +1 -0
  58. package/dist/components/map-chart/lib/constants.js +122 -0
  59. package/dist/components/map-chart/lib/constants.js.map +1 -0
  60. package/dist/components/map-chart/lib/domain.d.ts +12 -0
  61. package/dist/components/map-chart/lib/domain.d.ts.map +1 -0
  62. package/dist/components/map-chart/lib/domain.js +105 -0
  63. package/dist/components/map-chart/lib/domain.js.map +1 -0
  64. package/dist/components/map-chart/lib/format.d.ts +8 -0
  65. package/dist/components/map-chart/lib/format.d.ts.map +1 -0
  66. package/dist/components/map-chart/lib/format.js +45 -0
  67. package/dist/components/map-chart/lib/format.js.map +1 -0
  68. package/dist/components/map-chart/lib/geo-index.d.ts +7 -0
  69. package/dist/components/map-chart/lib/geo-index.d.ts.map +1 -0
  70. package/dist/components/map-chart/lib/geo-index.js +200 -0
  71. package/dist/components/map-chart/lib/geo-index.js.map +1 -0
  72. package/dist/components/map-chart/lib/geojson.d.ts +5 -0
  73. package/dist/components/map-chart/lib/geojson.d.ts.map +1 -0
  74. package/dist/components/map-chart/lib/geojson.js +47 -0
  75. package/dist/components/map-chart/lib/geojson.js.map +1 -0
  76. package/dist/components/map-chart/lib/index.d.ts +13 -0
  77. package/dist/components/map-chart/lib/index.d.ts.map +1 -0
  78. package/dist/components/map-chart/lib/join.d.ts +7 -0
  79. package/dist/components/map-chart/lib/join.d.ts.map +1 -0
  80. package/dist/components/map-chart/lib/join.js +156 -0
  81. package/dist/components/map-chart/lib/join.js.map +1 -0
  82. package/dist/components/map-chart/lib/legend.d.ts +45 -0
  83. package/dist/components/map-chart/lib/legend.d.ts.map +1 -0
  84. package/dist/components/map-chart/lib/legend.js +108 -0
  85. package/dist/components/map-chart/lib/legend.js.map +1 -0
  86. package/dist/components/map-chart/lib/normalize.d.ts +3 -0
  87. package/dist/components/map-chart/lib/normalize.d.ts.map +1 -0
  88. package/dist/components/map-chart/lib/normalize.js +177 -0
  89. package/dist/components/map-chart/lib/normalize.js.map +1 -0
  90. package/dist/components/map-chart/lib/pmtiles.d.ts +41 -0
  91. package/dist/components/map-chart/lib/pmtiles.d.ts.map +1 -0
  92. package/dist/components/map-chart/lib/pmtiles.js +112 -0
  93. package/dist/components/map-chart/lib/pmtiles.js.map +1 -0
  94. package/dist/components/map-chart/lib/types.d.ts +128 -0
  95. package/dist/components/map-chart/lib/types.d.ts.map +1 -0
  96. package/dist/components/map-chart/metadata.json.d.ts +83 -0
  97. package/dist/components/map-chart/metadata.json.js +42 -0
  98. package/dist/components/map-chart/metadata.json.js.map +1 -0
  99. package/dist/components/map-chart/render/draw.d.ts +24 -0
  100. package/dist/components/map-chart/render/draw.d.ts.map +1 -0
  101. package/dist/components/map-chart/render/draw.js +455 -0
  102. package/dist/components/map-chart/render/draw.js.map +1 -0
  103. package/dist/components/map-chart/render/index.d.ts +2 -0
  104. package/dist/components/map-chart/render/index.d.ts.map +1 -0
  105. package/dist/components/matrix-chart/element/styles.d.ts +2 -0
  106. package/dist/components/matrix-chart/element/styles.d.ts.map +1 -0
  107. package/dist/components/matrix-chart/element/styles.js +97 -0
  108. package/dist/components/matrix-chart/element/styles.js.map +1 -0
  109. package/dist/components/matrix-chart/element/ui9000-matrix-chart.d.ts +39 -0
  110. package/dist/components/matrix-chart/element/ui9000-matrix-chart.d.ts.map +1 -0
  111. package/dist/components/matrix-chart/element/ui9000-matrix-chart.js +238 -0
  112. package/dist/components/matrix-chart/element/ui9000-matrix-chart.js.map +1 -0
  113. package/dist/components/matrix-chart/index.d.ts +5 -0
  114. package/dist/components/matrix-chart/index.d.ts.map +1 -0
  115. package/dist/components/matrix-chart/index.js +20 -0
  116. package/dist/components/matrix-chart/lib/domain.d.ts +7 -0
  117. package/dist/components/matrix-chart/lib/domain.d.ts.map +1 -0
  118. package/dist/components/matrix-chart/lib/domain.js +58 -0
  119. package/dist/components/matrix-chart/lib/domain.js.map +1 -0
  120. package/dist/components/matrix-chart/lib/format.d.ts +5 -0
  121. package/dist/components/matrix-chart/lib/format.d.ts.map +1 -0
  122. package/dist/components/matrix-chart/lib/format.js +16 -0
  123. package/dist/components/matrix-chart/lib/format.js.map +1 -0
  124. package/dist/components/matrix-chart/lib/index.d.ts +5 -0
  125. package/dist/components/matrix-chart/lib/index.d.ts.map +1 -0
  126. package/dist/components/matrix-chart/lib/normalize.d.ts +5 -0
  127. package/dist/components/matrix-chart/lib/normalize.d.ts.map +1 -0
  128. package/dist/components/matrix-chart/lib/normalize.js +165 -0
  129. package/dist/components/matrix-chart/lib/normalize.js.map +1 -0
  130. package/dist/components/matrix-chart/lib/types.d.ts +33 -0
  131. package/dist/components/matrix-chart/lib/types.d.ts.map +1 -0
  132. package/dist/components/matrix-chart/metadata.json.d.ts +110 -0
  133. package/dist/components/matrix-chart/metadata.json.js +42 -0
  134. package/dist/components/matrix-chart/metadata.json.js.map +1 -0
  135. package/dist/components/matrix-chart/render/draw.d.ts +63 -0
  136. package/dist/components/matrix-chart/render/draw.d.ts.map +1 -0
  137. package/dist/components/matrix-chart/render/draw.js +225 -0
  138. package/dist/components/matrix-chart/render/draw.js.map +1 -0
  139. package/dist/components/matrix-chart/render/index.d.ts +2 -0
  140. package/dist/components/matrix-chart/render/index.d.ts.map +1 -0
  141. package/dist/components/network-graph/element/styles.d.ts.map +1 -1
  142. package/dist/components/network-graph/element/styles.js +177 -57
  143. package/dist/components/network-graph/element/styles.js.map +1 -1
  144. package/dist/components/network-graph/element/ui9000-network-graph.d.ts +4 -0
  145. package/dist/components/network-graph/element/ui9000-network-graph.d.ts.map +1 -1
  146. package/dist/components/network-graph/element/ui9000-network-graph.js +116 -39
  147. package/dist/components/network-graph/element/ui9000-network-graph.js.map +1 -1
  148. package/dist/components/network-graph/lib/domain.d.ts +2 -2
  149. package/dist/components/network-graph/lib/domain.js.map +1 -1
  150. package/dist/components/network-graph/lib/index.d.ts +1 -0
  151. package/dist/components/network-graph/lib/index.d.ts.map +1 -1
  152. package/dist/components/network-graph/lib/legend.d.ts +15 -0
  153. package/dist/components/network-graph/lib/legend.d.ts.map +1 -0
  154. package/dist/components/network-graph/lib/legend.js +35 -0
  155. package/dist/components/network-graph/lib/legend.js.map +1 -0
  156. package/dist/components/network-graph/render/draw.d.ts +4 -1
  157. package/dist/components/network-graph/render/draw.d.ts.map +1 -1
  158. package/dist/components/network-graph/render/draw.js +34 -9
  159. package/dist/components/network-graph/render/draw.js.map +1 -1
  160. package/dist/components/pie-chart/element/styles.d.ts.map +1 -1
  161. package/dist/components/pie-chart/element/styles.js +34 -1
  162. package/dist/components/pie-chart/element/styles.js.map +1 -1
  163. package/dist/components/pie-chart/element/ui9000-pie-chart.d.ts +0 -2
  164. package/dist/components/pie-chart/element/ui9000-pie-chart.d.ts.map +1 -1
  165. package/dist/components/pie-chart/element/ui9000-pie-chart.js +2 -8
  166. package/dist/components/pie-chart/element/ui9000-pie-chart.js.map +1 -1
  167. package/dist/components/pie-chart/metadata.json.d.ts +1 -7
  168. package/dist/components/pie-chart/metadata.json.js +2 -2
  169. package/dist/components/polar-area-chart/element/styles.d.ts +1 -1
  170. package/dist/components/polar-area-chart/element/styles.d.ts.map +1 -1
  171. package/dist/components/{donut-group-chart → polar-area-chart}/element/styles.js +9 -27
  172. package/dist/components/polar-area-chart/element/styles.js.map +1 -0
  173. package/dist/components/polar-area-chart/element/ui9000-polar-area-chart.d.ts.map +1 -1
  174. package/dist/components/polar-area-chart/element/ui9000-polar-area-chart.js +4 -3
  175. package/dist/components/polar-area-chart/element/ui9000-polar-area-chart.js.map +1 -1
  176. package/dist/components/polar-area-chart/index.d.ts +1 -1
  177. package/dist/components/polar-area-chart/index.d.ts.map +1 -1
  178. package/dist/components/polar-area-chart/index.js +2 -1
  179. package/dist/components/polar-area-chart/lib/domain.d.ts +8 -0
  180. package/dist/components/polar-area-chart/lib/domain.d.ts.map +1 -1
  181. package/dist/components/polar-area-chart/lib/domain.js +20 -0
  182. package/dist/components/polar-area-chart/lib/domain.js.map +1 -1
  183. package/dist/components/polar-area-chart/lib/index.d.ts +1 -1
  184. package/dist/components/polar-area-chart/lib/index.d.ts.map +1 -1
  185. package/dist/components/polar-area-chart/lib/normalize.d.ts.map +1 -1
  186. package/dist/components/polar-area-chart/lib/normalize.js +72 -6
  187. package/dist/components/polar-area-chart/lib/normalize.js.map +1 -1
  188. package/dist/components/polar-area-chart/lib/types.d.ts +6 -1
  189. package/dist/components/polar-area-chart/lib/types.d.ts.map +1 -1
  190. package/dist/components/polar-area-chart/metadata.json.d.ts +1 -1
  191. package/dist/components/polar-area-chart/metadata.json.js +1 -1
  192. package/dist/components/polar-area-chart/render/draw.d.ts.map +1 -1
  193. package/dist/components/polar-area-chart/render/draw.js +2 -2
  194. package/dist/components/polar-area-chart/render/draw.js.map +1 -1
  195. package/dist/components/punchcard-chart/metadata.json.d.ts +1 -1
  196. package/dist/components/punchcard-chart/metadata.json.js +1 -1
  197. package/dist/components/sankey-chart/element/styles.d.ts.map +1 -1
  198. package/dist/components/sankey-chart/element/styles.js +7 -27
  199. package/dist/components/sankey-chart/element/styles.js.map +1 -1
  200. package/dist/components/sankey-chart/element/ui9000-sankey-chart.d.ts +5 -5
  201. package/dist/components/sankey-chart/element/ui9000-sankey-chart.d.ts.map +1 -1
  202. package/dist/components/sankey-chart/element/ui9000-sankey-chart.js +37 -35
  203. package/dist/components/sankey-chart/element/ui9000-sankey-chart.js.map +1 -1
  204. package/dist/components/treemap-chart/element/styles.d.ts +2 -0
  205. package/dist/components/treemap-chart/element/styles.d.ts.map +1 -0
  206. package/dist/components/treemap-chart/element/styles.js +141 -0
  207. package/dist/components/treemap-chart/element/styles.js.map +1 -0
  208. package/dist/components/treemap-chart/element/ui9000-treemap-chart.d.ts +35 -0
  209. package/dist/components/treemap-chart/element/ui9000-treemap-chart.d.ts.map +1 -0
  210. package/dist/components/treemap-chart/element/ui9000-treemap-chart.js +177 -0
  211. package/dist/components/treemap-chart/element/ui9000-treemap-chart.js.map +1 -0
  212. package/dist/components/treemap-chart/index.d.ts +5 -0
  213. package/dist/components/treemap-chart/index.d.ts.map +1 -0
  214. package/dist/components/treemap-chart/index.js +22 -0
  215. package/dist/components/treemap-chart/index.js.map +1 -0
  216. package/dist/components/treemap-chart/lib/color.d.ts +25 -0
  217. package/dist/components/treemap-chart/lib/color.d.ts.map +1 -0
  218. package/dist/components/treemap-chart/lib/color.js +67 -0
  219. package/dist/components/treemap-chart/lib/color.js.map +1 -0
  220. package/dist/components/treemap-chart/lib/format.d.ts +7 -0
  221. package/dist/components/treemap-chart/lib/format.d.ts.map +1 -0
  222. package/dist/components/treemap-chart/lib/format.js +9 -0
  223. package/dist/components/treemap-chart/lib/format.js.map +1 -0
  224. package/dist/components/treemap-chart/lib/index.d.ts +6 -0
  225. package/dist/components/treemap-chart/lib/index.d.ts.map +1 -0
  226. package/dist/components/treemap-chart/lib/layout.d.ts +18 -0
  227. package/dist/components/treemap-chart/lib/layout.d.ts.map +1 -0
  228. package/dist/components/treemap-chart/lib/layout.js +31 -0
  229. package/dist/components/treemap-chart/lib/layout.js.map +1 -0
  230. package/dist/components/treemap-chart/lib/normalize.d.ts +4 -0
  231. package/dist/components/treemap-chart/lib/normalize.d.ts.map +1 -0
  232. package/dist/components/treemap-chart/lib/normalize.js +182 -0
  233. package/dist/components/treemap-chart/lib/normalize.js.map +1 -0
  234. package/dist/components/treemap-chart/lib/types.d.ts +63 -0
  235. package/dist/components/treemap-chart/lib/types.d.ts.map +1 -0
  236. package/dist/components/treemap-chart/metadata.json.d.ts +126 -0
  237. package/dist/components/treemap-chart/metadata.json.js +45 -0
  238. package/dist/components/treemap-chart/render/draw.d.ts +24 -0
  239. package/dist/components/treemap-chart/render/draw.d.ts.map +1 -0
  240. package/dist/components/treemap-chart/render/draw.js +124 -0
  241. package/dist/components/treemap-chart/render/draw.js.map +1 -0
  242. package/dist/components/treemap-chart/render/index.d.ts +2 -0
  243. package/dist/components/treemap-chart/render/index.d.ts.map +1 -0
  244. package/dist/element/chart-legend-render.d.ts +5 -0
  245. package/dist/element/chart-legend-render.d.ts.map +1 -1
  246. package/dist/element/chart-legend-render.js +19 -1
  247. package/dist/element/chart-legend-render.js.map +1 -1
  248. package/dist/element/chart-shell-styles.d.ts.map +1 -1
  249. package/dist/element/chart-shell-styles.js +35 -0
  250. package/dist/element/chart-shell-styles.js.map +1 -1
  251. package/dist/index.d.ts +8 -4
  252. package/dist/index.d.ts.map +1 -1
  253. package/dist/index.js +73 -39
  254. package/dist/index.js.map +1 -1
  255. package/dist/lazy/index.d.ts +4 -2
  256. package/dist/lazy/index.d.ts.map +1 -1
  257. package/dist/lazy/index.js +24 -8
  258. package/dist/lazy/index.js.map +1 -1
  259. package/dist/lazy/map-chart.d.ts +4 -0
  260. package/dist/lazy/map-chart.d.ts.map +1 -0
  261. package/dist/lazy/map-chart.js +5 -0
  262. package/dist/lazy/map-chart.js.map +1 -0
  263. package/dist/lazy/matrix-chart.d.ts +4 -0
  264. package/dist/lazy/matrix-chart.d.ts.map +1 -0
  265. package/dist/lazy/matrix-chart.js +5 -0
  266. package/dist/lazy/matrix-chart.js.map +1 -0
  267. package/dist/lazy/treemap-chart.d.ts +4 -0
  268. package/dist/lazy/treemap-chart.d.ts.map +1 -0
  269. package/dist/lazy/treemap-chart.js +5 -0
  270. package/dist/lazy/treemap-chart.js.map +1 -0
  271. package/dist/node_modules/lit-html/directive.js +28 -0
  272. package/dist/node_modules/lit-html/directive.js.map +1 -0
  273. package/dist/node_modules/lit-html/directives/style-map.js +37 -0
  274. package/dist/node_modules/lit-html/directives/style-map.js.map +1 -0
  275. package/dist/node_modules/lit-html/lit-html.js +231 -0
  276. package/dist/node_modules/lit-html/lit-html.js.map +1 -0
  277. package/dist/utils/axis-units.d.ts +15 -0
  278. package/dist/utils/axis-units.d.ts.map +1 -0
  279. package/dist/utils/axis-units.js +27 -0
  280. package/dist/utils/axis-units.js.map +1 -0
  281. package/dist/utils/chart-helpers.d.ts +4 -6
  282. package/dist/utils/chart-helpers.d.ts.map +1 -1
  283. package/dist/utils/chart-helpers.js +16 -15
  284. package/dist/utils/chart-helpers.js.map +1 -1
  285. package/dist/utils/format-text.d.ts +5 -0
  286. package/dist/utils/format-text.d.ts.map +1 -1
  287. package/dist/utils/format-text.js +7 -0
  288. package/dist/utils/format-text.js.map +1 -1
  289. package/dist/utils/fuse-palette.d.ts +12 -0
  290. package/dist/utils/fuse-palette.d.ts.map +1 -1
  291. package/dist/utils/fuse-palette.js +23 -1
  292. package/dist/utils/fuse-palette.js.map +1 -1
  293. package/dist/utils/fuse-widget.d.ts +13 -4
  294. package/dist/utils/fuse-widget.d.ts.map +1 -1
  295. package/dist/utils/fuse-widget.js.map +1 -1
  296. package/dist/utils/fusedash-visual.d.ts +65 -52
  297. package/dist/utils/fusedash-visual.d.ts.map +1 -1
  298. package/dist/utils/fusedash-visual.js +48 -29
  299. package/dist/utils/fusedash-visual.js.map +1 -1
  300. package/package.json +38 -11
  301. package/dist/components/donut-group-chart/element/styles.d.ts +0 -2
  302. package/dist/components/donut-group-chart/element/styles.d.ts.map +0 -1
  303. package/dist/components/donut-group-chart/element/styles.js.map +0 -1
  304. package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.d.ts +0 -34
  305. package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.d.ts.map +0 -1
  306. package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.js +0 -169
  307. package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.js.map +0 -1
  308. package/dist/components/donut-group-chart/index.d.ts +0 -5
  309. package/dist/components/donut-group-chart/index.d.ts.map +0 -1
  310. package/dist/components/donut-group-chart/index.js +0 -23
  311. package/dist/components/donut-group-chart/lib/domain.d.ts +0 -39
  312. package/dist/components/donut-group-chart/lib/domain.d.ts.map +0 -1
  313. package/dist/components/donut-group-chart/lib/domain.js +0 -51
  314. package/dist/components/donut-group-chart/lib/domain.js.map +0 -1
  315. package/dist/components/donut-group-chart/lib/format.d.ts +0 -7
  316. package/dist/components/donut-group-chart/lib/format.d.ts.map +0 -1
  317. package/dist/components/donut-group-chart/lib/format.js +0 -21
  318. package/dist/components/donut-group-chart/lib/format.js.map +0 -1
  319. package/dist/components/donut-group-chart/lib/index.d.ts +0 -5
  320. package/dist/components/donut-group-chart/lib/index.d.ts.map +0 -1
  321. package/dist/components/donut-group-chart/lib/normalize.d.ts +0 -14
  322. package/dist/components/donut-group-chart/lib/normalize.d.ts.map +0 -1
  323. package/dist/components/donut-group-chart/lib/normalize.js +0 -98
  324. package/dist/components/donut-group-chart/lib/normalize.js.map +0 -1
  325. package/dist/components/donut-group-chart/lib/types.d.ts +0 -49
  326. package/dist/components/donut-group-chart/lib/types.d.ts.map +0 -1
  327. package/dist/components/donut-group-chart/metadata.json.d.ts +0 -113
  328. package/dist/components/donut-group-chart/metadata.json.js +0 -45
  329. package/dist/components/donut-group-chart/render/draw.d.ts +0 -44
  330. package/dist/components/donut-group-chart/render/draw.d.ts.map +0 -1
  331. package/dist/components/donut-group-chart/render/draw.js +0 -194
  332. package/dist/components/donut-group-chart/render/draw.js.map +0 -1
  333. package/dist/components/donut-group-chart/render/index.d.ts +0 -2
  334. package/dist/components/donut-group-chart/render/index.d.ts.map +0 -1
  335. package/dist/components/donut-group-chart/tests/fixtures.d.ts +0 -33
  336. package/dist/components/donut-group-chart/tests/fixtures.d.ts.map +0 -1
  337. package/dist/lazy/donut-group-chart.d.ts +0 -4
  338. package/dist/lazy/donut-group-chart.d.ts.map +0 -1
  339. package/dist/lazy/donut-group-chart.js +0 -5
  340. package/dist/lazy/donut-group-chart.js.map +0 -1
  341. /package/dist/components/{donut-group-chart → matrix-chart}/index.js.map +0 -0
  342. /package/dist/components/{donut-group-chart → treemap-chart}/metadata.json.js.map +0 -0
@@ -0,0 +1,539 @@
1
+ import { nothing, html } from "lit";
2
+ import { property, state, customElement } from "lit/decorators.js";
3
+ import { readCssVar, CSS_VARS } from "../../../context/widget-context.js";
4
+ import { Ui9000ChartElement } from "../../../element/ui9000-chart-base.js";
5
+ import { parseJsonAttr } from "../../../utils/chart-helpers.js";
6
+ import { chartPropsChanged } from "../../../utils/lit-draw.js";
7
+ import { fetchMapGeoJson } from "../lib/geojson.js";
8
+ import { joinLayerFeatures } from "../lib/join.js";
9
+ import { resizeMapChart, stopMapChart, renderMapChart } from "../render/draw.js";
10
+ import { mapChartStyles } from "./styles.js";
11
+ import { normalizeMapData } from "../lib/normalize.js";
12
+ import { defaultLayerSlider, slideThumb, legendLayerOrder, formatAverage, formatFieldLabel, rangeTrackOffset, thumbTrackPercent, MUTED_LEGEND_FILL, formatLegendBucket, sliderIndexFromPointer, legendSpikeHeight } from "../lib/legend.js";
13
+ import { formatMapValue } from "../lib/format.js";
14
+ import { DEFAULT_BUBBLES_RADIUS, sanitizeKey } from "../lib/constants.js";
15
+ import { chartShellStyles } from "../../../element/chart-shell-styles.js";
16
+ const __vite_import_meta_env__ = {};
17
+ var __defProp = Object.defineProperty;
18
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
19
+ var __decorateClass = (decorators, target, key, kind) => {
20
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
21
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
22
+ if (decorator = decorators[i])
23
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
24
+ if (kind && result) __defProp(target, key, result);
25
+ return result;
26
+ };
27
+ const SPIKE_COLOR = "#939BA7";
28
+ function renderLegendSpike(index, id) {
29
+ const h = legendSpikeHeight(index);
30
+ return html`
31
+ <span class="legend-spike">
32
+ <svg width="25" height=${h} viewBox=${`0 0 25 ${h}`} fill="none" xmlns="http://www.w3.org/2000/svg">
33
+ <mask
34
+ id=${`mask_${id}`}
35
+ style="mask-type:alpha"
36
+ maskUnits="userSpaceOnUse"
37
+ x="6"
38
+ y="0"
39
+ width="13"
40
+ height=${h}
41
+ >
42
+ <path
43
+ d=${`M18.1992 ${h - 0.75}L12.1992 0.25L6.19922 ${h - 0.75}Z`}
44
+ fill=${`url(#linear_gradient_${id})`}
45
+ />
46
+ </mask>
47
+ <g mask=${`url(#mask_${id})`}>
48
+ <path d=${`M18.1992 ${h - 0.75}L12.1992 0.25L6.19922 ${h - 0.75}Z`} fill=${SPIKE_COLOR} />
49
+ </g>
50
+ <path
51
+ d=${`M22.1992 ${h - 0.75}H19.0291C18.5479 ${h - 0.75} 18.135 ${h - 0.1} 18.0463 ${h - 0.5}L12.1992 0.25L6.35216 ${h - 0.5}C6.26348 ${h - 0.1} 5.85051 ${h - 0.75} 5.36929 ${h - 0.75}H2.19922`}
52
+ stroke=${SPIKE_COLOR}
53
+ fill=${SPIKE_COLOR}
54
+ fill-opacity="0"
55
+ stroke-width="1"
56
+ />
57
+ <defs>
58
+ <linearGradient
59
+ id=${`linear_gradient_${id}`}
60
+ x1="12.1992"
61
+ y1="0.25"
62
+ x2="12.1992"
63
+ y2=${h}
64
+ gradientUnits="userSpaceOnUse"
65
+ >
66
+ <stop stop-color=${SPIKE_COLOR} stop-opacity="0.7" />
67
+ <stop offset="1" stop-color=${SPIKE_COLOR} stop-opacity="0.2" />
68
+ </linearGradient>
69
+ </defs>
70
+ </svg>
71
+ </span>
72
+ `;
73
+ }
74
+ let Ui9000MapChart = class extends Ui9000ChartElement {
75
+ constructor() {
76
+ super(...arguments);
77
+ this.showLegend = true;
78
+ this.showTooltip = true;
79
+ this.mapboxToken = "";
80
+ this.geojsonBaseUrl = "";
81
+ this.pmtilesBaseUrl = "/pmtiles";
82
+ this._empty = false;
83
+ this._emptyReason = "No data";
84
+ this._tooltip = null;
85
+ this._layers = [];
86
+ this._sliders = {};
87
+ this._activeLayers = [];
88
+ this._legendOpen = true;
89
+ this._layerOpen = {};
90
+ this._model = null;
91
+ this._ctl = null;
92
+ this._legendKey = "";
93
+ this._raf = 0;
94
+ this._drawGen = 0;
95
+ }
96
+ connectedCallback() {
97
+ super.connectedCallback();
98
+ this._resizeObserver = new ResizeObserver(() => {
99
+ cancelAnimationFrame(this._raf);
100
+ this._raf = requestAnimationFrame(() => {
101
+ const root = this.chartRoot();
102
+ if (root && !resizeMapChart(root)) this.scheduleDraw();
103
+ });
104
+ });
105
+ this._resizeObserver.observe(this);
106
+ }
107
+ disconnectedCallback() {
108
+ var _a;
109
+ (_a = this._resizeObserver) == null ? void 0 : _a.disconnect();
110
+ cancelAnimationFrame(this._raf);
111
+ this.stopLegendDrag();
112
+ const root = this.chartRoot();
113
+ if (root) stopMapChart(root);
114
+ this._ctl = null;
115
+ super.disconnectedCallback();
116
+ }
117
+ updated(changed) {
118
+ if (changed.has("dataJson")) this._model = null;
119
+ if (changed.has("showTooltip") && !this.showTooltip) this._tooltip = null;
120
+ if (this.shouldRedraw(changed)) this.scheduleDraw();
121
+ }
122
+ shouldRedraw(changed) {
123
+ if (!chartPropsChanged(changed)) return false;
124
+ for (const key of changed.keys()) {
125
+ if (typeof key !== "string" || key.startsWith("_")) continue;
126
+ if (key === "showLegend" || key === "showTooltip") continue;
127
+ return true;
128
+ }
129
+ return false;
130
+ }
131
+ scheduleDraw() {
132
+ cancelAnimationFrame(this._raf);
133
+ this._raf = requestAnimationFrame(() => {
134
+ void this.draw();
135
+ });
136
+ }
137
+ chartRoot() {
138
+ var _a;
139
+ return ((_a = this.shadowRoot) == null ? void 0 : _a.querySelector(".chart-root")) ?? null;
140
+ }
141
+ token() {
142
+ if (this.mapboxToken.trim()) return this.mapboxToken.trim();
143
+ const runtime = typeof window !== "undefined" ? window.__RUNTIME_CONFIG__ : void 0;
144
+ if (runtime == null ? void 0 : runtime.MAPBOX_TOKEN) return runtime.MAPBOX_TOKEN;
145
+ const env = __vite_import_meta_env__;
146
+ return ((env == null ? void 0 : env.STORYBOOK_MAPBOX_TOKEN) || (env == null ? void 0 : env.VITE_MAPBOX_TOKEN) || "").trim();
147
+ }
148
+ pmtilesUrl() {
149
+ if (this.pmtilesBaseUrl.trim()) return this.pmtilesBaseUrl.trim();
150
+ const runtime = typeof window !== "undefined" ? window.__RUNTIME_CONFIG__ : void 0;
151
+ if (runtime == null ? void 0 : runtime.MAP_PMTILES_BASE_URL) return runtime.MAP_PMTILES_BASE_URL;
152
+ const env = __vite_import_meta_env__;
153
+ return ((env == null ? void 0 : env.STORYBOOK_MAP_PMTILES_BASE_URL) || (env == null ? void 0 : env.VITE_MAP_PMTILES_BASE_URL) || "/pmtiles").trim();
154
+ }
155
+ mode() {
156
+ const value = readCssVar(this, CSS_VARS.mode, "light");
157
+ return value === "dark" ? "dark" : "light";
158
+ }
159
+ async draw() {
160
+ var _a;
161
+ const root = this.chartRoot();
162
+ if (!root) return;
163
+ const gen = ++this._drawGen;
164
+ const parsed = parseJsonAttr(this.dataJson, null);
165
+ let model = this._model ?? normalizeMapData(parsed);
166
+ this._model = model;
167
+ if (!model.layers.length) {
168
+ this._empty = true;
169
+ this._emptyReason = "No data";
170
+ this._layers = [];
171
+ stopMapChart(root);
172
+ this._ctl = null;
173
+ return;
174
+ }
175
+ const needsGeo = model.layers.some((layer) => !layer.features.length);
176
+ if (needsGeo && this.geojsonBaseUrl) {
177
+ const types = [...new Set(model.layers.map((l) => l.mapType))];
178
+ const loaded = await Promise.all(
179
+ types.map(async (mapType) => [mapType, await fetchMapGeoJson(mapType, this.geojsonBaseUrl)])
180
+ );
181
+ if (gen !== this._drawGen) return;
182
+ const byType = Object.fromEntries(loaded.filter((entry) => entry[1]));
183
+ model = {
184
+ ...model,
185
+ layers: model.layers.map(
186
+ (layer) => layer.features.length ? layer : joinLayerFeatures(layer, byType[layer.mapType] ?? void 0)
187
+ )
188
+ };
189
+ this._model = model;
190
+ }
191
+ const token = this.token();
192
+ if (!token) {
193
+ this._empty = true;
194
+ this._emptyReason = "Mapbox token required";
195
+ this._layers = model.layers;
196
+ stopMapChart(root);
197
+ this._ctl = null;
198
+ return;
199
+ }
200
+ const hasMarks = model.layers.some((layer) => layer.features.length > 0);
201
+ this._empty = !hasMarks;
202
+ this._emptyReason = hasMarks ? "No data" : model.layers.some((l) => l.matchTotal > 0 && l.matchHit === 0) ? "No locations matched the map boundaries" : "Map boundaries required";
203
+ this._layers = model.layers;
204
+ if (!hasMarks) {
205
+ stopMapChart(root);
206
+ this._ctl = null;
207
+ return;
208
+ }
209
+ this.syncLegendState(model.layers);
210
+ const ctl = await renderMapChart(root, {
211
+ model,
212
+ token,
213
+ mode: this.mode(),
214
+ showTooltip: this.showTooltip,
215
+ pmtilesBaseUrl: this.pmtilesUrl(),
216
+ activeLayerIds: this._activeLayers,
217
+ sliders: this._sliders,
218
+ year: (_a = model.layers.find((layer) => layer.selectedYear)) == null ? void 0 : _a.selectedYear,
219
+ onHover: this.showTooltip ? (entry) => this.setTooltip(entry) : void 0
220
+ });
221
+ if (gen !== this._drawGen) {
222
+ ctl == null ? void 0 : ctl.destroy();
223
+ return;
224
+ }
225
+ this._ctl = ctl;
226
+ if (!this._ctl) {
227
+ this._empty = true;
228
+ this._emptyReason = "Mapbox GL failed to load";
229
+ stopMapChart(root);
230
+ }
231
+ }
232
+ syncLegendState(layers) {
233
+ const ids = layers.map((layer) => layer.layerId);
234
+ const key = ids.join("\0");
235
+ if (key !== this._legendKey) {
236
+ this._legendKey = key;
237
+ this._sliders = Object.fromEntries(
238
+ layers.map((layer) => [layer.layerId, defaultLayerSlider(layer.colorRanges.length)])
239
+ );
240
+ this._activeLayers = ids;
241
+ this._layerOpen = {};
242
+ return;
243
+ }
244
+ const sliders = { ...this._sliders };
245
+ let slidersChanged = false;
246
+ for (const layer of layers) {
247
+ if (!sliders[layer.layerId]) {
248
+ sliders[layer.layerId] = defaultLayerSlider(layer.colorRanges.length);
249
+ slidersChanged = true;
250
+ }
251
+ }
252
+ if (slidersChanged) this._sliders = sliders;
253
+ }
254
+ pushLegend() {
255
+ var _a;
256
+ (_a = this._ctl) == null ? void 0 : _a.applyLegend(this._activeLayers, this._sliders);
257
+ }
258
+ toggleLayer(layerId) {
259
+ const on = this._activeLayers.includes(layerId);
260
+ this._activeLayers = on ? this._activeLayers.filter((id) => id !== layerId) : [...this._activeLayers, layerId];
261
+ this.pushLegend();
262
+ }
263
+ toggleLayerOpen(layerId) {
264
+ this._layerOpen = { ...this._layerOpen, [layerId]: this._layerOpen[layerId] === false };
265
+ }
266
+ setSlider(layerId, edge, raw) {
267
+ const layer = this._layers.find((item) => item.layerId === layerId);
268
+ const rangeCount = (layer == null ? void 0 : layer.colorRanges.length) ?? 1;
269
+ const current = this._sliders[layerId] ?? defaultLayerSlider(rangeCount);
270
+ const next = slideThumb(current, edge, raw, rangeCount);
271
+ if (next.leftSlider === current.leftSlider && next.rightSlider === current.rightSlider) return;
272
+ this._sliders = { ...this._sliders, [layerId]: next };
273
+ this.pushLegend();
274
+ }
275
+ startThumbDrag(layerId, edge, e) {
276
+ const thumb = e.currentTarget;
277
+ if (!(thumb instanceof HTMLElement)) return;
278
+ const track = thumb.parentElement;
279
+ if (!track) return;
280
+ e.preventDefault();
281
+ e.stopPropagation();
282
+ thumb.setPointerCapture(e.pointerId);
283
+ this.stopLegendDrag();
284
+ const move = (ev) => {
285
+ const layer = this._layers.find((item) => item.layerId === layerId);
286
+ const max = (layer == null ? void 0 : layer.colorRanges.length) ?? 1;
287
+ const index = sliderIndexFromPointer(ev.clientX, track.getBoundingClientRect(), max);
288
+ this.setSlider(layerId, edge, index);
289
+ };
290
+ const up = (ev) => {
291
+ if (thumb.hasPointerCapture(ev.pointerId)) thumb.releasePointerCapture(ev.pointerId);
292
+ this.stopLegendDrag();
293
+ };
294
+ thumb.addEventListener("pointermove", move);
295
+ thumb.addEventListener("pointerup", up);
296
+ thumb.addEventListener("pointercancel", up);
297
+ this._legendDrag = { thumb, move, up };
298
+ move(e);
299
+ }
300
+ stopLegendDrag() {
301
+ const drag = this._legendDrag;
302
+ if (!drag) return;
303
+ drag.thumb.removeEventListener("pointermove", drag.move);
304
+ drag.thumb.removeEventListener("pointerup", drag.up);
305
+ drag.thumb.removeEventListener("pointercancel", drag.up);
306
+ this._legendDrag = void 0;
307
+ }
308
+ setTooltip(entry) {
309
+ var _a, _b;
310
+ if (!entry) {
311
+ this._tooltip = null;
312
+ return;
313
+ }
314
+ const root = this.chartRoot();
315
+ const x = ((_a = entry.point) == null ? void 0 : _a.x) ?? ((root == null ? void 0 : root.clientWidth) ?? 0) / 2;
316
+ const y = ((_b = entry.point) == null ? void 0 : _b.y) ?? 48;
317
+ this._tooltip = {
318
+ x,
319
+ y,
320
+ title: entry.regionName,
321
+ value: `${entry.valueKey}: ${formatMapValue(entry.value)}`
322
+ };
323
+ }
324
+ matchNotice() {
325
+ const total = this._layers.reduce((sum, l) => sum + l.matchTotal, 0);
326
+ const hit = this._layers.reduce((sum, l) => sum + l.matchHit, 0);
327
+ if (total > 0 && hit === 0) {
328
+ return `0 of ${total} ${total === 1 ? "location" : "locations"} matched the map boundaries`;
329
+ }
330
+ return null;
331
+ }
332
+ renderLegend() {
333
+ if (!this.showLegend || this._empty) return nothing;
334
+ const layers = legendLayerOrder(this._layers.filter((layer) => layer.features.length > 0));
335
+ if (!layers.length) return nothing;
336
+ return html`
337
+ <div class="map-legend" part="legend">
338
+ <div class="legend-panel-header">
339
+ <p class="legend-kicker">Legend</p>
340
+ <button
341
+ type="button"
342
+ class="legend-chevron"
343
+ aria-expanded=${this._legendOpen}
344
+ aria-label=${this._legendOpen ? "Collapse legend" : "Expand legend"}
345
+ @click=${() => {
346
+ this._legendOpen = !this._legendOpen;
347
+ }}
348
+ ></button>
349
+ </div>
350
+ ${this._legendOpen ? html`<div class="legend-layers">
351
+ ${layers.map((layer) => this.renderLegendLayer(layer))}
352
+ </div>` : nothing}
353
+ </div>
354
+ `;
355
+ }
356
+ renderLegendLayer(layer) {
357
+ const active = this._activeLayers.includes(layer.layerId);
358
+ const open = this._layerOpen[layer.layerId] !== false;
359
+ const slider = this._sliders[layer.layerId] ?? defaultLayerSlider(layer.colorRanges.length);
360
+ const ranges = layer.colorRanges;
361
+ const isBubble = layer.visualisationType === "bubbles";
362
+ const isSpike = layer.visualisationType === "spike";
363
+ const isMarkers = layer.visualisationType === "markers";
364
+ const showRamp = ranges.length > 0;
365
+ return html`
366
+ <div class="legend-layer">
367
+ <div class="legend-layer-header">
368
+ <label class="legend-check">
369
+ <input
370
+ type="checkbox"
371
+ .checked=${active}
372
+ @change=${(e) => {
373
+ e.stopPropagation();
374
+ this.toggleLayer(layer.layerId);
375
+ }}
376
+ />
377
+ <span>${layer.layerName}</span>
378
+ </label>
379
+ <button
380
+ type="button"
381
+ class="legend-chevron"
382
+ aria-expanded=${open}
383
+ aria-label=${open ? `Collapse ${layer.layerName}` : `Expand ${layer.layerName}`}
384
+ @click=${() => this.toggleLayerOpen(layer.layerId)}
385
+ ></button>
386
+ </div>
387
+ ${open ? html`
388
+ <div class="legend-details">
389
+ <p class="legend-stat">
390
+ <span class="legend-avg">${formatAverage(layer.average)}</span>
391
+ ${formatFieldLabel(layer.valueKey)}
392
+ </p>
393
+ ${showRamp ? html`
394
+ <div class="legend-scale" data-kind=${layer.visualisationType}>
395
+ <div
396
+ class="legend-colors"
397
+ ?data-qualitative=${isBubble || isSpike}
398
+ >
399
+ <div class="legend-range">
400
+ <div
401
+ class="legend-range-track"
402
+ style="left:${rangeTrackOffset("left", slider.leftSlider, ranges.length)}"
403
+ >
404
+ <button
405
+ type="button"
406
+ class="legend-thumb"
407
+ aria-label="Lowest ${layer.layerName} range"
408
+ style="left:${thumbTrackPercent(slider.leftSlider, ranges.length)}"
409
+ @pointerdown=${(e) => this.startThumbDrag(layer.layerId, "leftSlider", e)}
410
+ ></button>
411
+ </div>
412
+ <div
413
+ class="legend-range-track"
414
+ style="right:${rangeTrackOffset("right", slider.rightSlider, ranges.length)}"
415
+ >
416
+ <button
417
+ type="button"
418
+ class="legend-thumb"
419
+ aria-label="Highest ${layer.layerName} range"
420
+ style="left:${thumbTrackPercent(slider.rightSlider, ranges.length)}"
421
+ @pointerdown=${(e) => this.startThumbDrag(layer.layerId, "rightSlider", e)}
422
+ ></button>
423
+ </div>
424
+ </div>
425
+ <div class="legend-buckets">
426
+ ${ranges.map((range, index) => {
427
+ const inRange = slider.leftSlider <= index && index < slider.rightSlider;
428
+ const fill = isBubble || isSpike ? MUTED_LEGEND_FILL : inRange ? range.color : MUTED_LEGEND_FILL;
429
+ const bubble = isBubble ? DEFAULT_BUBBLES_RADIUS[index] ?? 12 : 0;
430
+ const inner = bubble - 15 > 0 ? bubble - 15 : 0;
431
+ return html`<span
432
+ class="legend-bucket"
433
+ ?data-bubble=${isBubble}
434
+ ?data-inner=${inner > 0}
435
+ ?data-qualitative=${isBubble || isSpike}
436
+ style="background:${fill};--bubble-size:${bubble}px;--inner-size:${inner}px"
437
+ ></span>`;
438
+ })}
439
+ </div>
440
+ ${isSpike ? html`<div class="legend-spikes">
441
+ ${ranges.map(
442
+ (_range, index) => renderLegendSpike(
443
+ index,
444
+ `${sanitizeKey(layer.layerId)}_${index}`
445
+ )
446
+ )}
447
+ </div>` : nothing}
448
+ </div>
449
+ ${isMarkers ? nothing : html`<div class="legend-values">
450
+ ${ranges.map(
451
+ (range) => html`<span class="legend-value">${formatLegendBucket(range.start, 2)}</span>`
452
+ )}
453
+ </div>`}
454
+ </div>
455
+ ` : nothing}
456
+ </div>
457
+ ` : nothing}
458
+ </div>
459
+ `;
460
+ }
461
+ render() {
462
+ const title = this.headerTitle();
463
+ const notice = this.matchNotice();
464
+ return html`
465
+ <div class="widget-shell" part="shell">
466
+ ${this.renderShellHeader(title)}
467
+ <div class="widget-body">
468
+ <div class="chart-root" part="chart" ?hidden=${this._empty}></div>
469
+ ${this._empty ? html`<div class="empty" part="empty">${this._emptyReason}</div>` : nothing}
470
+ ${this.renderLegend()}
471
+ ${notice && !this._empty ? html`<div class="match-notice">${notice}</div>` : nothing}
472
+ ${this._tooltip ? html`<div
473
+ class="tooltip"
474
+ part="tooltip"
475
+ style="left:${this._tooltip.x}px;top:${this._tooltip.y}px"
476
+ >
477
+ <div>${this._tooltip.title}</div>
478
+ <div>${this._tooltip.value}</div>
479
+ </div>` : nothing}
480
+ ${this.renderShellLabelTooltip()}
481
+ </div>
482
+ </div>
483
+ `;
484
+ }
485
+ };
486
+ Ui9000MapChart.styles = [mapChartStyles, chartShellStyles];
487
+ __decorateClass([
488
+ property({ type: Boolean, attribute: "show-legend" })
489
+ ], Ui9000MapChart.prototype, "showLegend", 2);
490
+ __decorateClass([
491
+ property({ type: Boolean, attribute: "show-tooltip" })
492
+ ], Ui9000MapChart.prototype, "showTooltip", 2);
493
+ __decorateClass([
494
+ property({ type: String, attribute: "mapbox-token" })
495
+ ], Ui9000MapChart.prototype, "mapboxToken", 2);
496
+ __decorateClass([
497
+ property({ type: String, attribute: "geojson-base-url" })
498
+ ], Ui9000MapChart.prototype, "geojsonBaseUrl", 2);
499
+ __decorateClass([
500
+ property({ type: String, attribute: "pmtiles-base-url" })
501
+ ], Ui9000MapChart.prototype, "pmtilesBaseUrl", 2);
502
+ __decorateClass([
503
+ state()
504
+ ], Ui9000MapChart.prototype, "_empty", 2);
505
+ __decorateClass([
506
+ state()
507
+ ], Ui9000MapChart.prototype, "_emptyReason", 2);
508
+ __decorateClass([
509
+ state()
510
+ ], Ui9000MapChart.prototype, "_tooltip", 2);
511
+ __decorateClass([
512
+ state()
513
+ ], Ui9000MapChart.prototype, "_layers", 2);
514
+ __decorateClass([
515
+ state()
516
+ ], Ui9000MapChart.prototype, "_sliders", 2);
517
+ __decorateClass([
518
+ state()
519
+ ], Ui9000MapChart.prototype, "_activeLayers", 2);
520
+ __decorateClass([
521
+ state()
522
+ ], Ui9000MapChart.prototype, "_legendOpen", 2);
523
+ __decorateClass([
524
+ state()
525
+ ], Ui9000MapChart.prototype, "_layerOpen", 2);
526
+ Ui9000MapChart = __decorateClass([
527
+ customElement("ui9000-map-chart")
528
+ ], Ui9000MapChart);
529
+ function registerMapChart() {
530
+ if (!customElements.get("ui9000-map-chart")) {
531
+ customElements.define("ui9000-map-chart", Ui9000MapChart);
532
+ }
533
+ }
534
+ registerMapChart();
535
+ export {
536
+ Ui9000MapChart,
537
+ registerMapChart
538
+ };
539
+ //# sourceMappingURL=ui9000-map-chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui9000-map-chart.js","sources":["../../../../src/components/map-chart/element/ui9000-map-chart.ts"],"sourcesContent":["import { html, nothing, type PropertyValues } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n\nimport { CSS_VARS, readCssVar } from '../../../context/widget-context.js';\nimport { chartShellStyles, Ui9000ChartElement } from '../../../element/ui9000-chart-base.js';\nimport { parseJsonAttr } from '../../../utils/chart-helpers.js';\nimport { chartPropsChanged } from '../../../utils/lit-draw.js';\nimport { fetchMapGeoJson } from '../lib/geojson.js';\nimport { joinLayerFeatures } from '../lib/join.js';\nimport {\n DEFAULT_BUBBLES_RADIUS,\n defaultLayerSlider,\n formatAverage,\n formatFieldLabel,\n formatLegendBucket,\n legendLayerOrder,\n legendSpikeHeight,\n MUTED_LEGEND_FILL,\n rangeTrackOffset,\n sanitizeKey,\n slideThumb,\n sliderIndexFromPointer,\n thumbTrackPercent,\n type LayerSlider,\n formatMapValue,\n normalizeMapData,\n type MapChartInput,\n type MapHoverEntry,\n type MapLayerModel,\n type MapModel,\n} from '../lib/index.js';\nimport { renderMapChart, resizeMapChart, stopMapChart, type MapChartController } from '../render/draw.js';\nimport { mapChartStyles } from './styles.js';\n\nconst SPIKE_COLOR = '#939BA7';\n\nfunction renderLegendSpike(index: number, id: string) {\n const h = legendSpikeHeight(index);\n return html`\n <span class=\"legend-spike\">\n <svg width=\"25\" height=${h} viewBox=${`0 0 25 ${h}`} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <mask\n id=${`mask_${id}`}\n style=\"mask-type:alpha\"\n maskUnits=\"userSpaceOnUse\"\n x=\"6\"\n y=\"0\"\n width=\"13\"\n height=${h}\n >\n <path\n d=${`M18.1992 ${h - 0.75}L12.1992 0.25L6.19922 ${h - 0.75}Z`}\n fill=${`url(#linear_gradient_${id})`}\n />\n </mask>\n <g mask=${`url(#mask_${id})`}>\n <path d=${`M18.1992 ${h - 0.75}L12.1992 0.25L6.19922 ${h - 0.75}Z`} fill=${SPIKE_COLOR} />\n </g>\n <path\n d=${`M22.1992 ${h - 0.75}H19.0291C18.5479 ${h - 0.75} 18.135 ${h - 0.1} 18.0463 ${h - 0.5}L12.1992 0.25L6.35216 ${h - 0.5}C6.26348 ${h - 0.1} 5.85051 ${h - 0.75} 5.36929 ${h - 0.75}H2.19922`}\n stroke=${SPIKE_COLOR}\n fill=${SPIKE_COLOR}\n fill-opacity=\"0\"\n stroke-width=\"1\"\n />\n <defs>\n <linearGradient\n id=${`linear_gradient_${id}`}\n x1=\"12.1992\"\n y1=\"0.25\"\n x2=\"12.1992\"\n y2=${h}\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=${SPIKE_COLOR} stop-opacity=\"0.7\" />\n <stop offset=\"1\" stop-color=${SPIKE_COLOR} stop-opacity=\"0.2\" />\n </linearGradient>\n </defs>\n </svg>\n </span>\n `;\n}\n\ntype RuntimeConfig = {\n MAPBOX_TOKEN?: string;\n MAPBOX_DARK_TOKEN?: string;\n MAP_PMTILES_BASE_URL?: string;\n};\n\n@customElement('ui9000-map-chart')\nexport class Ui9000MapChart extends Ui9000ChartElement {\n static override styles = [mapChartStyles, chartShellStyles];\n\n @property({ type: Boolean, attribute: 'show-legend' })\n showLegend = true;\n\n @property({ type: Boolean, attribute: 'show-tooltip' })\n showTooltip = true;\n\n @property({ type: String, attribute: 'mapbox-token' })\n mapboxToken = '';\n\n @property({ type: String, attribute: 'geojson-base-url' })\n geojsonBaseUrl = '';\n\n @property({ type: String, attribute: 'pmtiles-base-url' })\n pmtilesBaseUrl = '/pmtiles';\n\n @state()\n private _empty = false;\n\n @state()\n private _emptyReason = 'No data';\n\n @state()\n private _tooltip: { x: number; y: number; title: string; value: string } | null = null;\n\n @state()\n private _layers: MapLayerModel[] = [];\n\n @state()\n private _sliders: Record<string, LayerSlider> = {};\n\n @state()\n private _activeLayers: string[] = [];\n\n @state()\n private _legendOpen = true;\n\n @state()\n private _layerOpen: Record<string, boolean> = {};\n\n private _model: MapModel | null = null;\n private _ctl: MapChartController | null = null;\n private _legendKey = '';\n private _legendDrag?: {\n thumb: HTMLElement;\n move: (e: PointerEvent) => void;\n up: (e: PointerEvent) => void;\n };\n private _resizeObserver?: ResizeObserver;\n private _raf = 0;\n private _drawGen = 0;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this._resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(this._raf);\n this._raf = requestAnimationFrame(() => {\n const root = this.chartRoot();\n if (root && !resizeMapChart(root)) this.scheduleDraw();\n });\n });\n this._resizeObserver.observe(this);\n }\n\n override disconnectedCallback(): void {\n this._resizeObserver?.disconnect();\n cancelAnimationFrame(this._raf);\n this.stopLegendDrag();\n const root = this.chartRoot();\n if (root) stopMapChart(root);\n this._ctl = null;\n super.disconnectedCallback();\n }\n\n override updated(changed: PropertyValues): void {\n if (changed.has('dataJson')) this._model = null;\n if (changed.has('showTooltip') && !this.showTooltip) this._tooltip = null;\n if (this.shouldRedraw(changed)) this.scheduleDraw();\n }\n\n private shouldRedraw(changed: PropertyValues): boolean {\n if (!chartPropsChanged(changed)) return false;\n for (const key of changed.keys()) {\n if (typeof key !== 'string' || key.startsWith('_')) continue;\n if (key === 'showLegend' || key === 'showTooltip') continue;\n return true;\n }\n return false;\n }\n\n private scheduleDraw(): void {\n cancelAnimationFrame(this._raf);\n this._raf = requestAnimationFrame(() => {\n void this.draw();\n });\n }\n\n private chartRoot(): HTMLElement | null {\n return (this.shadowRoot?.querySelector('.chart-root') as HTMLElement | null) ?? null;\n }\n\n private token(): string {\n if (this.mapboxToken.trim()) return this.mapboxToken.trim();\n const runtime =\n typeof window !== 'undefined'\n ? (window as Window & { __RUNTIME_CONFIG__?: RuntimeConfig }).__RUNTIME_CONFIG__\n : undefined;\n if (runtime?.MAPBOX_TOKEN) return runtime.MAPBOX_TOKEN;\n const env = (import.meta as { env?: Record<string, string | undefined> }).env;\n return (env?.STORYBOOK_MAPBOX_TOKEN || env?.VITE_MAPBOX_TOKEN || '').trim();\n }\n\n private pmtilesUrl(): string {\n if (this.pmtilesBaseUrl.trim()) return this.pmtilesBaseUrl.trim();\n const runtime =\n typeof window !== 'undefined'\n ? (window as Window & { __RUNTIME_CONFIG__?: RuntimeConfig }).__RUNTIME_CONFIG__\n : undefined;\n if (runtime?.MAP_PMTILES_BASE_URL) return runtime.MAP_PMTILES_BASE_URL;\n const env = (import.meta as { env?: Record<string, string | undefined> }).env;\n return (env?.STORYBOOK_MAP_PMTILES_BASE_URL || env?.VITE_MAP_PMTILES_BASE_URL || '/pmtiles').trim();\n }\n\n private mode(): 'light' | 'dark' {\n const value = readCssVar(this, CSS_VARS.mode, 'light');\n return value === 'dark' ? 'dark' : 'light';\n }\n\n private async draw(): Promise<void> {\n const root = this.chartRoot();\n if (!root) return;\n const gen = ++this._drawGen;\n\n const parsed = parseJsonAttr<MapChartInput>(this.dataJson, null);\n let model = this._model ?? normalizeMapData(parsed);\n this._model = model;\n\n if (!model.layers.length) {\n this._empty = true;\n this._emptyReason = 'No data';\n this._layers = [];\n stopMapChart(root);\n this._ctl = null;\n return;\n }\n\n const needsGeo = model.layers.some((layer) => !layer.features.length);\n if (needsGeo && this.geojsonBaseUrl) {\n const types = [...new Set(model.layers.map((l) => l.mapType))];\n const loaded = await Promise.all(\n types.map(async (mapType) => [mapType, await fetchMapGeoJson(mapType, this.geojsonBaseUrl)] as const),\n );\n if (gen !== this._drawGen) return;\n const byType = Object.fromEntries(loaded.filter((entry) => entry[1]));\n model = {\n ...model,\n layers: model.layers.map((layer) =>\n layer.features.length ? layer : joinLayerFeatures(layer, byType[layer.mapType] ?? undefined),\n ),\n };\n this._model = model;\n }\n\n const token = this.token();\n if (!token) {\n this._empty = true;\n this._emptyReason = 'Mapbox token required';\n this._layers = model.layers;\n stopMapChart(root);\n this._ctl = null;\n return;\n }\n\n const hasMarks = model.layers.some((layer) => layer.features.length > 0);\n this._empty = !hasMarks;\n this._emptyReason = hasMarks\n ? 'No data'\n : model.layers.some((l) => l.matchTotal > 0 && l.matchHit === 0)\n ? 'No locations matched the map boundaries'\n : 'Map boundaries required';\n this._layers = model.layers;\n if (!hasMarks) {\n stopMapChart(root);\n this._ctl = null;\n return;\n }\n this.syncLegendState(model.layers);\n\n const ctl = await renderMapChart(root, {\n model,\n token,\n mode: this.mode(),\n showTooltip: this.showTooltip,\n pmtilesBaseUrl: this.pmtilesUrl(),\n activeLayerIds: this._activeLayers,\n sliders: this._sliders,\n year: model.layers.find((layer) => layer.selectedYear)?.selectedYear,\n onHover: this.showTooltip\n ? (entry) => this.setTooltip(entry)\n : undefined,\n });\n if (gen !== this._drawGen) {\n ctl?.destroy();\n return;\n }\n this._ctl = ctl;\n if (!this._ctl) {\n this._empty = true;\n this._emptyReason = 'Mapbox GL failed to load';\n stopMapChart(root);\n }\n }\n\n private syncLegendState(layers: MapLayerModel[]): void {\n const ids = layers.map((layer) => layer.layerId);\n const key = ids.join('\\0');\n if (key !== this._legendKey) {\n this._legendKey = key;\n this._sliders = Object.fromEntries(\n layers.map((layer) => [layer.layerId, defaultLayerSlider(layer.colorRanges.length)]),\n );\n this._activeLayers = ids;\n this._layerOpen = {};\n return;\n }\n const sliders = { ...this._sliders };\n let slidersChanged = false;\n for (const layer of layers) {\n if (!sliders[layer.layerId]) {\n sliders[layer.layerId] = defaultLayerSlider(layer.colorRanges.length);\n slidersChanged = true;\n }\n }\n if (slidersChanged) this._sliders = sliders;\n }\n\n private pushLegend(): void {\n this._ctl?.applyLegend(this._activeLayers, this._sliders);\n }\n\n private toggleLayer(layerId: string): void {\n const on = this._activeLayers.includes(layerId);\n this._activeLayers = on\n ? this._activeLayers.filter((id) => id !== layerId)\n : [...this._activeLayers, layerId];\n this.pushLegend();\n }\n\n private toggleLayerOpen(layerId: string): void {\n this._layerOpen = { ...this._layerOpen, [layerId]: this._layerOpen[layerId] === false };\n }\n\n private setSlider(layerId: string, edge: 'leftSlider' | 'rightSlider', raw: number): void {\n const layer = this._layers.find((item) => item.layerId === layerId);\n const rangeCount = layer?.colorRanges.length ?? 1;\n const current = this._sliders[layerId] ?? defaultLayerSlider(rangeCount);\n const next = slideThumb(current, edge, raw, rangeCount);\n if (next.leftSlider === current.leftSlider && next.rightSlider === current.rightSlider) return;\n this._sliders = { ...this._sliders, [layerId]: next };\n this.pushLegend();\n }\n\n private startThumbDrag(layerId: string, edge: 'leftSlider' | 'rightSlider', e: PointerEvent): void {\n const thumb = e.currentTarget;\n if (!(thumb instanceof HTMLElement)) return;\n const track = thumb.parentElement;\n if (!track) return;\n e.preventDefault();\n e.stopPropagation();\n thumb.setPointerCapture(e.pointerId);\n this.stopLegendDrag();\n\n const move = (ev: PointerEvent) => {\n const layer = this._layers.find((item) => item.layerId === layerId);\n const max = layer?.colorRanges.length ?? 1;\n const index = sliderIndexFromPointer(ev.clientX, track.getBoundingClientRect(), max);\n this.setSlider(layerId, edge, index);\n };\n const up = (ev: PointerEvent) => {\n if (thumb.hasPointerCapture(ev.pointerId)) thumb.releasePointerCapture(ev.pointerId);\n this.stopLegendDrag();\n };\n thumb.addEventListener('pointermove', move);\n thumb.addEventListener('pointerup', up);\n thumb.addEventListener('pointercancel', up);\n this._legendDrag = { thumb, move, up };\n move(e);\n }\n\n private stopLegendDrag(): void {\n const drag = this._legendDrag;\n if (!drag) return;\n drag.thumb.removeEventListener('pointermove', drag.move);\n drag.thumb.removeEventListener('pointerup', drag.up);\n drag.thumb.removeEventListener('pointercancel', drag.up);\n this._legendDrag = undefined;\n }\n\n private setTooltip(entry: MapHoverEntry | null): void {\n if (!entry) {\n this._tooltip = null;\n return;\n }\n const root = this.chartRoot();\n const x = entry.point?.x ?? (root?.clientWidth ?? 0) / 2;\n const y = entry.point?.y ?? 48;\n this._tooltip = {\n x,\n y,\n title: entry.regionName,\n value: `${entry.valueKey}: ${formatMapValue(entry.value)}`,\n };\n }\n\n private matchNotice(): string | null {\n const total = this._layers.reduce((sum, l) => sum + l.matchTotal, 0);\n const hit = this._layers.reduce((sum, l) => sum + l.matchHit, 0);\n if (total > 0 && hit === 0) {\n return `0 of ${total} ${total === 1 ? 'location' : 'locations'} matched the map boundaries`;\n }\n return null;\n }\n\n private renderLegend() {\n if (!this.showLegend || this._empty) return nothing;\n const layers = legendLayerOrder(this._layers.filter((layer) => layer.features.length > 0));\n if (!layers.length) return nothing;\n\n return html`\n <div class=\"map-legend\" part=\"legend\">\n <div class=\"legend-panel-header\">\n <p class=\"legend-kicker\">Legend</p>\n <button\n type=\"button\"\n class=\"legend-chevron\"\n aria-expanded=${this._legendOpen}\n aria-label=${this._legendOpen ? 'Collapse legend' : 'Expand legend'}\n @click=${() => {\n this._legendOpen = !this._legendOpen;\n }}\n ></button>\n </div>\n ${this._legendOpen\n ? html`<div class=\"legend-layers\">\n ${layers.map((layer) => this.renderLegendLayer(layer))}\n </div>`\n : nothing}\n </div>\n `;\n }\n\n private renderLegendLayer(layer: MapLayerModel) {\n const active = this._activeLayers.includes(layer.layerId);\n const open = this._layerOpen[layer.layerId] !== false;\n const slider = this._sliders[layer.layerId] ?? defaultLayerSlider(layer.colorRanges.length);\n const ranges = layer.colorRanges;\n const isBubble = layer.visualisationType === 'bubbles';\n const isSpike = layer.visualisationType === 'spike';\n const isMarkers = layer.visualisationType === 'markers';\n const showRamp = ranges.length > 0;\n\n return html`\n <div class=\"legend-layer\">\n <div class=\"legend-layer-header\">\n <label class=\"legend-check\">\n <input\n type=\"checkbox\"\n .checked=${active}\n @change=${(e: Event) => {\n e.stopPropagation();\n this.toggleLayer(layer.layerId);\n }}\n />\n <span>${layer.layerName}</span>\n </label>\n <button\n type=\"button\"\n class=\"legend-chevron\"\n aria-expanded=${open}\n aria-label=${open ? `Collapse ${layer.layerName}` : `Expand ${layer.layerName}`}\n @click=${() => this.toggleLayerOpen(layer.layerId)}\n ></button>\n </div>\n ${open\n ? html`\n <div class=\"legend-details\">\n <p class=\"legend-stat\">\n <span class=\"legend-avg\">${formatAverage(layer.average)}</span>\n ${formatFieldLabel(layer.valueKey)}\n </p>\n ${showRamp\n ? html`\n <div class=\"legend-scale\" data-kind=${layer.visualisationType}>\n <div\n class=\"legend-colors\"\n ?data-qualitative=${isBubble || isSpike}\n >\n <div class=\"legend-range\">\n <div\n class=\"legend-range-track\"\n style=\"left:${rangeTrackOffset('left', slider.leftSlider, ranges.length)}\"\n >\n <button\n type=\"button\"\n class=\"legend-thumb\"\n aria-label=\"Lowest ${layer.layerName} range\"\n style=\"left:${thumbTrackPercent(slider.leftSlider, ranges.length)}\"\n @pointerdown=${(e: PointerEvent) =>\n this.startThumbDrag(layer.layerId, 'leftSlider', e)}\n ></button>\n </div>\n <div\n class=\"legend-range-track\"\n style=\"right:${rangeTrackOffset('right', slider.rightSlider, ranges.length)}\"\n >\n <button\n type=\"button\"\n class=\"legend-thumb\"\n aria-label=\"Highest ${layer.layerName} range\"\n style=\"left:${thumbTrackPercent(slider.rightSlider, ranges.length)}\"\n @pointerdown=${(e: PointerEvent) =>\n this.startThumbDrag(layer.layerId, 'rightSlider', e)}\n ></button>\n </div>\n </div>\n <div class=\"legend-buckets\">\n ${ranges.map((range, index) => {\n const inRange =\n slider.leftSlider <= index && index < slider.rightSlider;\n const fill =\n isBubble || isSpike\n ? MUTED_LEGEND_FILL\n : inRange\n ? range.color\n : MUTED_LEGEND_FILL;\n const bubble = isBubble ? (DEFAULT_BUBBLES_RADIUS[index] ?? 12) : 0;\n const inner = bubble - 15 > 0 ? bubble - 15 : 0;\n return html`<span\n class=\"legend-bucket\"\n ?data-bubble=${isBubble}\n ?data-inner=${inner > 0}\n ?data-qualitative=${isBubble || isSpike}\n style=\"background:${fill};--bubble-size:${bubble}px;--inner-size:${inner}px\"\n ></span>`;\n })}\n </div>\n ${isSpike\n ? html`<div class=\"legend-spikes\">\n ${ranges.map((_range, index) =>\n renderLegendSpike(\n index,\n `${sanitizeKey(layer.layerId)}_${index}`,\n ),\n )}\n </div>`\n : nothing}\n </div>\n ${isMarkers\n ? nothing\n : html`<div class=\"legend-values\">\n ${ranges.map(\n (range) =>\n html`<span class=\"legend-value\">${formatLegendBucket(range.start, 2)}</span>`,\n )}\n </div>`}\n </div>\n `\n : nothing}\n </div>\n `\n : nothing}\n </div>\n `;\n }\n\n override render() {\n const title = this.headerTitle();\n const notice = this.matchNotice();\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._empty ? html`<div class=\"empty\" part=\"empty\">${this._emptyReason}</div>` : nothing}\n ${this.renderLegend()}\n ${notice && !this._empty ? html`<div class=\"match-notice\">${notice}</div>` : 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.title}</div>\n <div>${this._tooltip.value}</div>\n </div>`\n : nothing}\n ${this.renderShellLabelTooltip()}\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui9000-map-chart': Ui9000MapChart;\n }\n}\n\nexport function registerMapChart(): void {\n if (!customElements.get('ui9000-map-chart')) {\n customElements.define('ui9000-map-chart', Ui9000MapChart);\n }\n}\n\nregisterMapChart();\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { Ui9000MapChart, registerMapChart } from './element/ui9000-map-chart.js';
2
+ export { renderMapChart, resizeMapChart, stopMapChart, type MapChartController, type RenderMapChartOptions, } from './render/index.js';
3
+ export { GEOJSON_KEYS, createFeaturesIndex, fetchMapGeoJson, formatMapValue, generateColorRanges, getRegionId, inferMapTypeFromKeyNames, joinLayerFeatures, normalizeMapData, type MapChartInput, type MapHoverEntry, type MapLayerModel, type MapModel, } from './lib/index.js';
4
+ export { default as mapChartMetadata } from './metadata.json';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/map-chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EACL,cAAc,EACd,cAAc,EACd,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,QAAQ,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { registerMapChart } from "./element/ui9000-map-chart.js";
2
+ import { Ui9000MapChart } from "./element/ui9000-map-chart.js";
3
+ import { default as default2 } from "./metadata.json.js";
4
+ import { GEOJSON_KEYS } from "./lib/constants.js";
5
+ import { createFeaturesIndex, getRegionId, inferMapTypeFromKeyNames } from "./lib/geo-index.js";
6
+ import { fetchMapGeoJson } from "./lib/geojson.js";
7
+ import { formatMapValue } from "./lib/format.js";
8
+ import { generateColorRanges } from "./lib/domain.js";
9
+ import { joinLayerFeatures } from "./lib/join.js";
10
+ import { normalizeMapData } from "./lib/normalize.js";
11
+ import { renderMapChart, resizeMapChart, stopMapChart } from "./render/draw.js";
12
+ export {
13
+ GEOJSON_KEYS,
14
+ Ui9000MapChart,
15
+ createFeaturesIndex,
16
+ fetchMapGeoJson,
17
+ formatMapValue,
18
+ generateColorRanges,
19
+ getRegionId,
20
+ inferMapTypeFromKeyNames,
21
+ joinLayerFeatures,
22
+ default2 as mapChartMetadata,
23
+ normalizeMapData,
24
+ registerMapChart,
25
+ renderMapChart,
26
+ resizeMapChart,
27
+ stopMapChart
28
+ };
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}