@kyndryl-design-system/shidoka-charts 1.0.0-beta.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 (320) hide show
  1. package/README.md +70 -0
  2. package/_virtual/_tslib.js +2 -0
  3. package/_virtual/_tslib.js.map +1 -0
  4. package/common/config/chartTypes/bar.js +2 -0
  5. package/common/config/chartTypes/bar.js.map +1 -0
  6. package/common/config/chartTypes/bubble.js +2 -0
  7. package/common/config/chartTypes/bubble.js.map +1 -0
  8. package/common/config/chartTypes/bubbleMap.js +2 -0
  9. package/common/config/chartTypes/bubbleMap.js.map +1 -0
  10. package/common/config/chartTypes/choropleth.js +2 -0
  11. package/common/config/chartTypes/choropleth.js.map +1 -0
  12. package/common/config/chartTypes/doughnut.js +2 -0
  13. package/common/config/chartTypes/doughnut.js.map +1 -0
  14. package/common/config/chartTypes/line.js +2 -0
  15. package/common/config/chartTypes/line.js.map +1 -0
  16. package/common/config/chartTypes/pie.js +2 -0
  17. package/common/config/chartTypes/pie.js.map +1 -0
  18. package/common/config/chartTypes/polarArea.js +2 -0
  19. package/common/config/chartTypes/polarArea.js.map +1 -0
  20. package/common/config/chartTypes/radar.js +2 -0
  21. package/common/config/chartTypes/radar.js.map +1 -0
  22. package/common/config/chartTypes/scatter.js +2 -0
  23. package/common/config/chartTypes/scatter.js.map +1 -0
  24. package/common/config/chartTypes/treemap.js +2 -0
  25. package/common/config/chartTypes/treemap.js.map +1 -0
  26. package/common/config/colorPalettes.js +2 -0
  27. package/common/config/colorPalettes.js.map +1 -0
  28. package/common/config/globalOptions.js +2 -0
  29. package/common/config/globalOptions.js.map +1 -0
  30. package/common/helpers/helpers.d.ts +13 -0
  31. package/common/helpers/helpers.d.ts.map +1 -0
  32. package/common/helpers/helpers.js +2 -0
  33. package/common/helpers/helpers.js.map +1 -0
  34. package/components/chart/chart.d.ts +85 -0
  35. package/components/chart/chart.d.ts.map +1 -0
  36. package/components/chart/chart.js +99 -0
  37. package/components/chart/chart.js.map +1 -0
  38. package/components/chart/chart.scss.js +122 -0
  39. package/components/chart/chart.scss.js.map +1 -0
  40. package/components/chart/index.d.ts +2 -0
  41. package/components/chart/index.d.ts.map +1 -0
  42. package/components/chart/index.js +2 -0
  43. package/components/chart/index.js.map +1 -0
  44. package/external/@carbon/icons/es/chart--line/24.js +2 -0
  45. package/external/@carbon/icons/es/chart--line/24.js.map +1 -0
  46. package/external/@carbon/icons/es/data-table/24.js +2 -0
  47. package/external/@carbon/icons/es/data-table/24.js.map +1 -0
  48. package/external/@carbon/icons/es/maximize/24.js +2 -0
  49. package/external/@carbon/icons/es/maximize/24.js.map +1 -0
  50. package/external/@carbon/icons/es/overflow-menu--vertical/24.js +2 -0
  51. package/external/@carbon/icons/es/overflow-menu--vertical/24.js.map +1 -0
  52. package/external/@kurkle/color/dist/color.esm.js +8 -0
  53. package/external/@kurkle/color/dist/color.esm.js.map +1 -0
  54. package/external/@kyndryl-design-system/shidoka-foundation/_virtual/_tslib.js +2 -0
  55. package/external/@kyndryl-design-system/shidoka-foundation/_virtual/_tslib.js.map +1 -0
  56. package/external/@kyndryl-design-system/shidoka-foundation/components/icon/icon.js +2 -0
  57. package/external/@kyndryl-design-system/shidoka-foundation/components/icon/icon.js.map +1 -0
  58. package/external/@kyndryl-design-system/shidoka-foundation/components/icon/icon.scss.js +14 -0
  59. package/external/@kyndryl-design-system/shidoka-foundation/components/icon/icon.scss.js.map +1 -0
  60. package/external/@kyndryl-design-system/shidoka-foundation/external/@carbon/icon-helpers/es/index.js +2 -0
  61. package/external/@kyndryl-design-system/shidoka-foundation/external/@carbon/icon-helpers/es/index.js.map +1 -0
  62. package/external/@kyndryl-design-system/shidoka-foundation/external/@lit/reactive-element/css-tag.js +7 -0
  63. package/external/@kyndryl-design-system/shidoka-foundation/external/@lit/reactive-element/css-tag.js.map +1 -0
  64. package/external/@kyndryl-design-system/shidoka-foundation/external/@lit/reactive-element/decorators/custom-element.js +7 -0
  65. package/external/@kyndryl-design-system/shidoka-foundation/external/@lit/reactive-element/decorators/custom-element.js.map +1 -0
  66. package/external/@kyndryl-design-system/shidoka-foundation/external/@lit/reactive-element/decorators/property.js +7 -0
  67. package/external/@kyndryl-design-system/shidoka-foundation/external/@lit/reactive-element/decorators/property.js.map +1 -0
  68. package/external/@kyndryl-design-system/shidoka-foundation/external/@lit/reactive-element/decorators/query-assigned-elements.js +7 -0
  69. package/external/@kyndryl-design-system/shidoka-foundation/external/@lit/reactive-element/decorators/query-assigned-elements.js.map +1 -0
  70. package/external/@kyndryl-design-system/shidoka-foundation/external/@lit/reactive-element/reactive-element.js +7 -0
  71. package/external/@kyndryl-design-system/shidoka-foundation/external/@lit/reactive-element/reactive-element.js.map +1 -0
  72. package/external/@kyndryl-design-system/shidoka-foundation/external/lit-element/lit-element.js +7 -0
  73. package/external/@kyndryl-design-system/shidoka-foundation/external/lit-element/lit-element.js.map +1 -0
  74. package/external/@kyndryl-design-system/shidoka-foundation/external/lit-html/directive.js +7 -0
  75. package/external/@kyndryl-design-system/shidoka-foundation/external/lit-html/directive.js.map +1 -0
  76. package/external/@kyndryl-design-system/shidoka-foundation/external/lit-html/directives/unsafe-html.js +7 -0
  77. package/external/@kyndryl-design-system/shidoka-foundation/external/lit-html/directives/unsafe-html.js.map +1 -0
  78. package/external/@kyndryl-design-system/shidoka-foundation/external/lit-html/lit-html.js +7 -0
  79. package/external/@kyndryl-design-system/shidoka-foundation/external/lit-html/lit-html.js.map +1 -0
  80. package/external/@lit/reactive-element/css-tag.js +7 -0
  81. package/external/@lit/reactive-element/css-tag.js.map +1 -0
  82. package/external/@lit/reactive-element/decorators/base.js +7 -0
  83. package/external/@lit/reactive-element/decorators/base.js.map +1 -0
  84. package/external/@lit/reactive-element/decorators/custom-element.js +7 -0
  85. package/external/@lit/reactive-element/decorators/custom-element.js.map +1 -0
  86. package/external/@lit/reactive-element/decorators/property.js +7 -0
  87. package/external/@lit/reactive-element/decorators/property.js.map +1 -0
  88. package/external/@lit/reactive-element/decorators/query-assigned-elements.js +7 -0
  89. package/external/@lit/reactive-element/decorators/query-assigned-elements.js.map +1 -0
  90. package/external/@lit/reactive-element/decorators/query.js +7 -0
  91. package/external/@lit/reactive-element/decorators/query.js.map +1 -0
  92. package/external/@lit/reactive-element/decorators/state.js +7 -0
  93. package/external/@lit/reactive-element/decorators/state.js.map +1 -0
  94. package/external/@lit/reactive-element/reactive-element.js +7 -0
  95. package/external/@lit/reactive-element/reactive-element.js.map +1 -0
  96. package/external/chart.js/auto/auto.js +2 -0
  97. package/external/chart.js/auto/auto.js.map +1 -0
  98. package/external/chart.js/dist/chart.js +8 -0
  99. package/external/chart.js/dist/chart.js.map +1 -0
  100. package/external/chart.js/dist/chunks/helpers.segment.js +8 -0
  101. package/external/chart.js/dist/chunks/helpers.segment.js.map +1 -0
  102. package/external/chart2music/dist/index.js +2 -0
  103. package/external/chart2music/dist/index.js.map +1 -0
  104. package/external/chartjs-chart-geo/build/index.js +2 -0
  105. package/external/chartjs-chart-geo/build/index.js.map +1 -0
  106. package/external/chartjs-chart-treemap/dist/chartjs-chart-treemap.esm.js +8 -0
  107. package/external/chartjs-chart-treemap/dist/chartjs-chart-treemap.esm.js.map +1 -0
  108. package/external/chartjs-plugin-a11y-legend/dist/plugin.js +2 -0
  109. package/external/chartjs-plugin-a11y-legend/dist/plugin.js.map +1 -0
  110. package/external/chartjs-plugin-annotation/dist/chartjs-plugin-annotation.esm.js +8 -0
  111. package/external/chartjs-plugin-annotation/dist/chartjs-plugin-annotation.esm.js.map +1 -0
  112. package/external/chartjs-plugin-chart2music/dist/plugin.js +2 -0
  113. package/external/chartjs-plugin-chart2music/dist/plugin.js.map +1 -0
  114. package/external/chartjs-plugin-deferred/dist/chartjs-plugin-deferred.esm.js +8 -0
  115. package/external/chartjs-plugin-deferred/dist/chartjs-plugin-deferred.esm.js.map +1 -0
  116. package/external/d3-array/src/fsum.js +2 -0
  117. package/external/d3-array/src/fsum.js.map +1 -0
  118. package/external/d3-array/src/merge.js +2 -0
  119. package/external/d3-array/src/merge.js.map +1 -0
  120. package/external/d3-array/src/range.js +2 -0
  121. package/external/d3-array/src/range.js.map +1 -0
  122. package/external/d3-color/src/color.js +2 -0
  123. package/external/d3-color/src/color.js.map +1 -0
  124. package/external/d3-color/src/cubehelix.js +2 -0
  125. package/external/d3-color/src/cubehelix.js.map +1 -0
  126. package/external/d3-color/src/define.js +2 -0
  127. package/external/d3-color/src/define.js.map +1 -0
  128. package/external/d3-color/src/math.js +2 -0
  129. package/external/d3-color/src/math.js.map +1 -0
  130. package/external/d3-geo/src/cartesian.js +2 -0
  131. package/external/d3-geo/src/cartesian.js.map +1 -0
  132. package/external/d3-geo/src/circle.js +2 -0
  133. package/external/d3-geo/src/circle.js.map +1 -0
  134. package/external/d3-geo/src/clip/antimeridian.js +2 -0
  135. package/external/d3-geo/src/clip/antimeridian.js.map +1 -0
  136. package/external/d3-geo/src/clip/buffer.js +2 -0
  137. package/external/d3-geo/src/clip/buffer.js.map +1 -0
  138. package/external/d3-geo/src/clip/circle.js +2 -0
  139. package/external/d3-geo/src/clip/circle.js.map +1 -0
  140. package/external/d3-geo/src/clip/index.js +2 -0
  141. package/external/d3-geo/src/clip/index.js.map +1 -0
  142. package/external/d3-geo/src/clip/line.js +2 -0
  143. package/external/d3-geo/src/clip/line.js.map +1 -0
  144. package/external/d3-geo/src/clip/rectangle.js +2 -0
  145. package/external/d3-geo/src/clip/rectangle.js.map +1 -0
  146. package/external/d3-geo/src/clip/rejoin.js +2 -0
  147. package/external/d3-geo/src/clip/rejoin.js.map +1 -0
  148. package/external/d3-geo/src/compose.js +2 -0
  149. package/external/d3-geo/src/compose.js.map +1 -0
  150. package/external/d3-geo/src/contains.js +2 -0
  151. package/external/d3-geo/src/contains.js.map +1 -0
  152. package/external/d3-geo/src/distance.js +2 -0
  153. package/external/d3-geo/src/distance.js.map +1 -0
  154. package/external/d3-geo/src/graticule.js +2 -0
  155. package/external/d3-geo/src/graticule.js.map +1 -0
  156. package/external/d3-geo/src/identity.js +2 -0
  157. package/external/d3-geo/src/identity.js.map +1 -0
  158. package/external/d3-geo/src/length.js +2 -0
  159. package/external/d3-geo/src/length.js.map +1 -0
  160. package/external/d3-geo/src/math.js +2 -0
  161. package/external/d3-geo/src/math.js.map +1 -0
  162. package/external/d3-geo/src/noop.js +2 -0
  163. package/external/d3-geo/src/noop.js.map +1 -0
  164. package/external/d3-geo/src/path/area.js +2 -0
  165. package/external/d3-geo/src/path/area.js.map +1 -0
  166. package/external/d3-geo/src/path/bounds.js +2 -0
  167. package/external/d3-geo/src/path/bounds.js.map +1 -0
  168. package/external/d3-geo/src/path/centroid.js +2 -0
  169. package/external/d3-geo/src/path/centroid.js.map +1 -0
  170. package/external/d3-geo/src/path/context.js +2 -0
  171. package/external/d3-geo/src/path/context.js.map +1 -0
  172. package/external/d3-geo/src/path/index.js +2 -0
  173. package/external/d3-geo/src/path/index.js.map +1 -0
  174. package/external/d3-geo/src/path/measure.js +2 -0
  175. package/external/d3-geo/src/path/measure.js.map +1 -0
  176. package/external/d3-geo/src/path/string.js +2 -0
  177. package/external/d3-geo/src/path/string.js.map +1 -0
  178. package/external/d3-geo/src/pointEqual.js +2 -0
  179. package/external/d3-geo/src/pointEqual.js.map +1 -0
  180. package/external/d3-geo/src/polygonContains.js +2 -0
  181. package/external/d3-geo/src/polygonContains.js.map +1 -0
  182. package/external/d3-geo/src/projection/albers.js +2 -0
  183. package/external/d3-geo/src/projection/albers.js.map +1 -0
  184. package/external/d3-geo/src/projection/albersUsa.js +2 -0
  185. package/external/d3-geo/src/projection/albersUsa.js.map +1 -0
  186. package/external/d3-geo/src/projection/azimuthal.js +2 -0
  187. package/external/d3-geo/src/projection/azimuthal.js.map +1 -0
  188. package/external/d3-geo/src/projection/azimuthalEqualArea.js +2 -0
  189. package/external/d3-geo/src/projection/azimuthalEqualArea.js.map +1 -0
  190. package/external/d3-geo/src/projection/azimuthalEquidistant.js +2 -0
  191. package/external/d3-geo/src/projection/azimuthalEquidistant.js.map +1 -0
  192. package/external/d3-geo/src/projection/conic.js +2 -0
  193. package/external/d3-geo/src/projection/conic.js.map +1 -0
  194. package/external/d3-geo/src/projection/conicConformal.js +2 -0
  195. package/external/d3-geo/src/projection/conicConformal.js.map +1 -0
  196. package/external/d3-geo/src/projection/conicEqualArea.js +2 -0
  197. package/external/d3-geo/src/projection/conicEqualArea.js.map +1 -0
  198. package/external/d3-geo/src/projection/conicEquidistant.js +2 -0
  199. package/external/d3-geo/src/projection/conicEquidistant.js.map +1 -0
  200. package/external/d3-geo/src/projection/cylindricalEqualArea.js +2 -0
  201. package/external/d3-geo/src/projection/cylindricalEqualArea.js.map +1 -0
  202. package/external/d3-geo/src/projection/equalEarth.js +2 -0
  203. package/external/d3-geo/src/projection/equalEarth.js.map +1 -0
  204. package/external/d3-geo/src/projection/equirectangular.js +2 -0
  205. package/external/d3-geo/src/projection/equirectangular.js.map +1 -0
  206. package/external/d3-geo/src/projection/fit.js +2 -0
  207. package/external/d3-geo/src/projection/fit.js.map +1 -0
  208. package/external/d3-geo/src/projection/gnomonic.js +2 -0
  209. package/external/d3-geo/src/projection/gnomonic.js.map +1 -0
  210. package/external/d3-geo/src/projection/index.js +2 -0
  211. package/external/d3-geo/src/projection/index.js.map +1 -0
  212. package/external/d3-geo/src/projection/mercator.js +2 -0
  213. package/external/d3-geo/src/projection/mercator.js.map +1 -0
  214. package/external/d3-geo/src/projection/naturalEarth1.js +2 -0
  215. package/external/d3-geo/src/projection/naturalEarth1.js.map +1 -0
  216. package/external/d3-geo/src/projection/orthographic.js +2 -0
  217. package/external/d3-geo/src/projection/orthographic.js.map +1 -0
  218. package/external/d3-geo/src/projection/resample.js +2 -0
  219. package/external/d3-geo/src/projection/resample.js.map +1 -0
  220. package/external/d3-geo/src/projection/stereographic.js +2 -0
  221. package/external/d3-geo/src/projection/stereographic.js.map +1 -0
  222. package/external/d3-geo/src/projection/transverseMercator.js +2 -0
  223. package/external/d3-geo/src/projection/transverseMercator.js.map +1 -0
  224. package/external/d3-geo/src/rotation.js +2 -0
  225. package/external/d3-geo/src/rotation.js.map +1 -0
  226. package/external/d3-geo/src/stream.js +2 -0
  227. package/external/d3-geo/src/stream.js.map +1 -0
  228. package/external/d3-geo/src/transform.js +2 -0
  229. package/external/d3-geo/src/transform.js.map +1 -0
  230. package/external/d3-interpolate/src/basis.js +2 -0
  231. package/external/d3-interpolate/src/basis.js.map +1 -0
  232. package/external/d3-interpolate/src/color.js +2 -0
  233. package/external/d3-interpolate/src/color.js.map +1 -0
  234. package/external/d3-interpolate/src/constant.js +2 -0
  235. package/external/d3-interpolate/src/constant.js.map +1 -0
  236. package/external/d3-interpolate/src/cubehelix.js +2 -0
  237. package/external/d3-interpolate/src/cubehelix.js.map +1 -0
  238. package/external/d3-interpolate/src/rgb.js +2 -0
  239. package/external/d3-interpolate/src/rgb.js.map +1 -0
  240. package/external/d3-scale-chromatic/src/colors.js +2 -0
  241. package/external/d3-scale-chromatic/src/colors.js.map +1 -0
  242. package/external/d3-scale-chromatic/src/diverging/BrBG.js +2 -0
  243. package/external/d3-scale-chromatic/src/diverging/BrBG.js.map +1 -0
  244. package/external/d3-scale-chromatic/src/diverging/PRGn.js +2 -0
  245. package/external/d3-scale-chromatic/src/diverging/PRGn.js.map +1 -0
  246. package/external/d3-scale-chromatic/src/diverging/PiYG.js +2 -0
  247. package/external/d3-scale-chromatic/src/diverging/PiYG.js.map +1 -0
  248. package/external/d3-scale-chromatic/src/diverging/PuOr.js +2 -0
  249. package/external/d3-scale-chromatic/src/diverging/PuOr.js.map +1 -0
  250. package/external/d3-scale-chromatic/src/diverging/RdBu.js +2 -0
  251. package/external/d3-scale-chromatic/src/diverging/RdBu.js.map +1 -0
  252. package/external/d3-scale-chromatic/src/diverging/RdGy.js +2 -0
  253. package/external/d3-scale-chromatic/src/diverging/RdGy.js.map +1 -0
  254. package/external/d3-scale-chromatic/src/diverging/RdYlBu.js +2 -0
  255. package/external/d3-scale-chromatic/src/diverging/RdYlBu.js.map +1 -0
  256. package/external/d3-scale-chromatic/src/diverging/RdYlGn.js +2 -0
  257. package/external/d3-scale-chromatic/src/diverging/RdYlGn.js.map +1 -0
  258. package/external/d3-scale-chromatic/src/diverging/Spectral.js +2 -0
  259. package/external/d3-scale-chromatic/src/diverging/Spectral.js.map +1 -0
  260. package/external/d3-scale-chromatic/src/ramp.js +2 -0
  261. package/external/d3-scale-chromatic/src/ramp.js.map +1 -0
  262. package/external/d3-scale-chromatic/src/sequential-multi/BuGn.js +2 -0
  263. package/external/d3-scale-chromatic/src/sequential-multi/BuGn.js.map +1 -0
  264. package/external/d3-scale-chromatic/src/sequential-multi/BuPu.js +2 -0
  265. package/external/d3-scale-chromatic/src/sequential-multi/BuPu.js.map +1 -0
  266. package/external/d3-scale-chromatic/src/sequential-multi/GnBu.js +2 -0
  267. package/external/d3-scale-chromatic/src/sequential-multi/GnBu.js.map +1 -0
  268. package/external/d3-scale-chromatic/src/sequential-multi/OrRd.js +2 -0
  269. package/external/d3-scale-chromatic/src/sequential-multi/OrRd.js.map +1 -0
  270. package/external/d3-scale-chromatic/src/sequential-multi/PuBu.js +2 -0
  271. package/external/d3-scale-chromatic/src/sequential-multi/PuBu.js.map +1 -0
  272. package/external/d3-scale-chromatic/src/sequential-multi/PuBuGn.js +2 -0
  273. package/external/d3-scale-chromatic/src/sequential-multi/PuBuGn.js.map +1 -0
  274. package/external/d3-scale-chromatic/src/sequential-multi/PuRd.js +2 -0
  275. package/external/d3-scale-chromatic/src/sequential-multi/PuRd.js.map +1 -0
  276. package/external/d3-scale-chromatic/src/sequential-multi/RdPu.js +2 -0
  277. package/external/d3-scale-chromatic/src/sequential-multi/RdPu.js.map +1 -0
  278. package/external/d3-scale-chromatic/src/sequential-multi/YlGn.js +2 -0
  279. package/external/d3-scale-chromatic/src/sequential-multi/YlGn.js.map +1 -0
  280. package/external/d3-scale-chromatic/src/sequential-multi/YlGnBu.js +2 -0
  281. package/external/d3-scale-chromatic/src/sequential-multi/YlGnBu.js.map +1 -0
  282. package/external/d3-scale-chromatic/src/sequential-multi/YlOrBr.js +2 -0
  283. package/external/d3-scale-chromatic/src/sequential-multi/YlOrBr.js.map +1 -0
  284. package/external/d3-scale-chromatic/src/sequential-multi/YlOrRd.js +2 -0
  285. package/external/d3-scale-chromatic/src/sequential-multi/YlOrRd.js.map +1 -0
  286. package/external/d3-scale-chromatic/src/sequential-multi/cividis.js +2 -0
  287. package/external/d3-scale-chromatic/src/sequential-multi/cividis.js.map +1 -0
  288. package/external/d3-scale-chromatic/src/sequential-multi/cubehelix.js +2 -0
  289. package/external/d3-scale-chromatic/src/sequential-multi/cubehelix.js.map +1 -0
  290. package/external/d3-scale-chromatic/src/sequential-multi/rainbow.js +2 -0
  291. package/external/d3-scale-chromatic/src/sequential-multi/rainbow.js.map +1 -0
  292. package/external/d3-scale-chromatic/src/sequential-multi/sinebow.js +2 -0
  293. package/external/d3-scale-chromatic/src/sequential-multi/sinebow.js.map +1 -0
  294. package/external/d3-scale-chromatic/src/sequential-multi/turbo.js +2 -0
  295. package/external/d3-scale-chromatic/src/sequential-multi/turbo.js.map +1 -0
  296. package/external/d3-scale-chromatic/src/sequential-multi/viridis.js +2 -0
  297. package/external/d3-scale-chromatic/src/sequential-multi/viridis.js.map +1 -0
  298. package/external/d3-scale-chromatic/src/sequential-single/Blues.js +2 -0
  299. package/external/d3-scale-chromatic/src/sequential-single/Blues.js.map +1 -0
  300. package/external/d3-scale-chromatic/src/sequential-single/Greens.js +2 -0
  301. package/external/d3-scale-chromatic/src/sequential-single/Greens.js.map +1 -0
  302. package/external/d3-scale-chromatic/src/sequential-single/Greys.js +2 -0
  303. package/external/d3-scale-chromatic/src/sequential-single/Greys.js.map +1 -0
  304. package/external/d3-scale-chromatic/src/sequential-single/Oranges.js +2 -0
  305. package/external/d3-scale-chromatic/src/sequential-single/Oranges.js.map +1 -0
  306. package/external/d3-scale-chromatic/src/sequential-single/Purples.js +2 -0
  307. package/external/d3-scale-chromatic/src/sequential-single/Purples.js.map +1 -0
  308. package/external/d3-scale-chromatic/src/sequential-single/Reds.js +2 -0
  309. package/external/d3-scale-chromatic/src/sequential-single/Reds.js.map +1 -0
  310. package/external/deepmerge-ts/dist/node/index.js +2 -0
  311. package/external/deepmerge-ts/dist/node/index.js.map +1 -0
  312. package/external/lit-element/lit-element.js +7 -0
  313. package/external/lit-element/lit-element.js.map +1 -0
  314. package/external/lit-html/lit-html.js +7 -0
  315. package/external/lit-html/lit-html.js.map +1 -0
  316. package/index.d.ts +2 -0
  317. package/index.d.ts.map +1 -0
  318. package/index.js +2 -0
  319. package/index.js.map +1 -0
  320. package/package.json +115 -0
package/README.md ADDED
@@ -0,0 +1,70 @@
1
+ # Shidoka Web Components for Applications
2
+
3
+ [![shidoka-charts](https://github.com/kyndryl-design-system/shidoka-charts/actions/workflows/actions.yml/badge.svg)](https://github.com/kyndryl-design-system/shidoka-charts/actions/workflows/actions.yml)
4
+
5
+ # Contributing to this project
6
+
7
+ Read the [Contributing Guide](https://github.com/kyndryl-design-system/shidoka-charts/blob/beta/CONTRIBUTING.md) here.
8
+
9
+ # Using this library in another project
10
+
11
+ ## Install the package
12
+
13
+ ```bash
14
+ # stable/main
15
+ npm install @kyndryl-design-system/shidoka-charts -S
16
+
17
+ # beta (use until first stable release)
18
+ npm install @kyndryl-design-system/shidoka-charts@beta -S
19
+ # when using beta, lock the version, as breaking changes can happen at any time
20
+ ```
21
+
22
+ ## Import the root stylesheet to your app's global styles
23
+
24
+ The method used (SCSS @use, CSS @import, JS import, or <style> tag) will vary based on your framework/bundler. Some examples:
25
+
26
+ ### SCSS
27
+
28
+ ```css
29
+ @use '~@kyndryl-design-system/shidoka-foundation/scss/root.scss';
30
+ ```
31
+
32
+ ### CSS
33
+
34
+ ```css
35
+ @import '@kyndryl-design-system/shidoka-foundation/css/root.css';
36
+ ```
37
+
38
+ ### JS
39
+
40
+ ```js
41
+ import '@kyndryl-design-system/shidoka-foundation/css/root.css';
42
+ ```
43
+
44
+ ## Start using components
45
+
46
+ See [Storybook](https://kyndryl-design-system.github.io/shidoka-charts/) for the full components documentation.
47
+
48
+ ### Example
49
+
50
+ ```js
51
+ import '@kyndryl-design-system/shidoka-charts/components/chart';
52
+ ```
53
+
54
+ ```html
55
+ <kd-chart></kd-chart>
56
+ ```
57
+
58
+ ### React usage
59
+
60
+ React does not yet support automatic interop with Web Components. This means that React treats all props passed to Web Components as string attributes. It sounds like they are [planning to release it with React 19](https://github.com/facebook/react/issues/11347#issuecomment-988970952), and is now available behind an `@experimental` flag. Until you've upgraded to a version of React that has support, you will need to use a library like [reactify-wc](https://www.npmjs.com/package/reactify-wc) to use these components in React.
61
+
62
+ Some options for React wrapper libraries:
63
+
64
+ 1. [reactify-wc](https://www.npmjs.com/package/reactify-wc)
65
+ 2. [wc-react](https://www.npmjs.com/package/wc-react)
66
+ 3. [@lit-labs/react](https://www.npmjs.com/package/@lit-labs/react)
67
+
68
+ ### Server-Side Rendering (SSR)
69
+
70
+ When using with an SSR framework like Next.js, you may encounter errors with code that only runs client-side, like `window` references for example. Here is an article that provides some methods to work around this: [Using Non-SSR Friendly Components with Next.js](https://blog.bitsrc.io/using-non-ssr-friendly-components-with-next-js-916f38e8992c). Basically, for components that make use of something like `window`, they need their rendering deferred to only happen on the client-side.
@@ -0,0 +1,2 @@
1
+ function e(e,t,r,o){var c,f=arguments.length,n=f<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,r,o);else for(var l=e.length-1;l>=0;l--)(c=e[l])&&(n=(f<3?c(n):f>3?c(t,r,n):c(t,r))||n);return f>3&&n&&Object.defineProperty(t,r,n),n}export{e as __decorate};
2
+ //# sourceMappingURL=_tslib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_tslib.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ const o=o=>({}),t=o=>({});export{t as datasetOptions,o as options};
2
+ //# sourceMappingURL=bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bar.js","sources":["../../../../src/common/config/chartTypes/bar.js"],"sourcesContent":["export const options = (ctx) => {\n return {};\n};\n\nexport const datasetOptions = (ctx) => {\n return {};\n};\n"],"names":["options","ctx","datasetOptions"],"mappings":"AAAY,MAACA,EAAWC,IACf,IAGIC,EAAkBD,IACtB"}
@@ -0,0 +1,2 @@
1
+ const o=o=>({}),t=o=>({});export{t as datasetOptions,o as options};
2
+ //# sourceMappingURL=bubble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bubble.js","sources":["../../../../src/common/config/chartTypes/bubble.js"],"sourcesContent":["export const options = (ctx) => {\n return {};\n};\n\nexport const datasetOptions = (ctx) => {\n return {};\n};\n"],"names":["options","ctx","datasetOptions"],"mappings":"AAAY,MAACA,EAAWC,IACf,IAGIC,EAAkBD,IACtB"}
@@ -0,0 +1,2 @@
1
+ const o=o=>({backgroundColor:"#29707A",borderColor:"#29707A"}),r=o=>({});export{r as datasetOptions,o as options};
2
+ //# sourceMappingURL=bubbleMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bubbleMap.js","sources":["../../../../src/common/config/chartTypes/bubbleMap.js"],"sourcesContent":["export const options = (ctx) => {\n return {\n backgroundColor: '#29707A',\n borderColor: '#29707A',\n };\n};\n\nexport const datasetOptions = (ctx) => {\n return {};\n};\n"],"names":["options","ctx","backgroundColor","borderColor","datasetOptions"],"mappings":"AAAY,MAACA,EAAWC,IACf,CACLC,gBAAiB,UACjBC,YAAa,YAIJC,EAAkBH,IACtB"}
@@ -0,0 +1,2 @@
1
+ const o=o=>({}),t=o=>({});export{t as datasetOptions,o as options};
2
+ //# sourceMappingURL=choropleth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choropleth.js","sources":["../../../../src/common/config/chartTypes/choropleth.js"],"sourcesContent":["export const options = (ctx) => {\n return {};\n};\n\nexport const datasetOptions = (ctx) => {\n return {};\n};\n"],"names":["options","ctx","datasetOptions"],"mappings":"AAAY,MAACA,EAAWC,IACf,IAGIC,EAAkBD,IACtB"}
@@ -0,0 +1,2 @@
1
+ const o=o=>({}),t=o=>({});export{t as datasetOptions,o as options};
2
+ //# sourceMappingURL=doughnut.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doughnut.js","sources":["../../../../src/common/config/chartTypes/doughnut.js"],"sourcesContent":["export const options = (ctx) => {\n return {};\n};\n\nexport const datasetOptions = (ctx) => {\n return {};\n};\n"],"names":["options","ctx","datasetOptions"],"mappings":"AAAY,MAACA,EAAWC,IACf,IAGIC,EAAkBD,IACtB"}
@@ -0,0 +1,2 @@
1
+ const o=o=>({}),t=o=>({});export{t as datasetOptions,o as options};
2
+ //# sourceMappingURL=line.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line.js","sources":["../../../../src/common/config/chartTypes/line.js"],"sourcesContent":["export const options = (ctx) => {\n return {};\n};\n\nexport const datasetOptions = (ctx) => {\n return {};\n};\n"],"names":["options","ctx","datasetOptions"],"mappings":"AAAY,MAACA,EAAWC,IACf,IAGIC,EAAkBD,IACtB"}
@@ -0,0 +1,2 @@
1
+ const o=o=>({}),t=o=>({});export{t as datasetOptions,o as options};
2
+ //# sourceMappingURL=pie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pie.js","sources":["../../../../src/common/config/chartTypes/pie.js"],"sourcesContent":["export const options = (ctx) => {\n return {};\n};\n\nexport const datasetOptions = (ctx) => {\n return {};\n};\n"],"names":["options","ctx","datasetOptions"],"mappings":"AAAY,MAACA,EAAWC,IACf,IAGIC,EAAkBD,IACtB"}
@@ -0,0 +1,2 @@
1
+ const o=o=>({}),t=o=>({});export{t as datasetOptions,o as options};
2
+ //# sourceMappingURL=polarArea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polarArea.js","sources":["../../../../src/common/config/chartTypes/polarArea.js"],"sourcesContent":["export const options = (ctx) => {\n return {};\n};\n\nexport const datasetOptions = (ctx) => {\n return {};\n};\n"],"names":["options","ctx","datasetOptions"],"mappings":"AAAY,MAACA,EAAWC,IACf,IAGIC,EAAkBD,IACtB"}
@@ -0,0 +1,2 @@
1
+ const o=o=>({}),t=o=>({});export{t as datasetOptions,o as options};
2
+ //# sourceMappingURL=radar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radar.js","sources":["../../../../src/common/config/chartTypes/radar.js"],"sourcesContent":["export const options = (ctx) => {\n return {};\n};\n\nexport const datasetOptions = (ctx) => {\n return {};\n};\n"],"names":["options","ctx","datasetOptions"],"mappings":"AAAY,MAACA,EAAWC,IACf,IAGIC,EAAkBD,IACtB"}
@@ -0,0 +1,2 @@
1
+ const o=o=>({}),t=o=>({});export{t as datasetOptions,o as options};
2
+ //# sourceMappingURL=scatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scatter.js","sources":["../../../../src/common/config/chartTypes/scatter.js"],"sourcesContent":["export const options = (ctx) => {\n return {};\n};\n\nexport const datasetOptions = (ctx) => {\n return {};\n};\n"],"names":["options","ctx","datasetOptions"],"mappings":"AAAY,MAACA,EAAWC,IACf,IAGIC,EAAkBD,IACtB"}
@@ -0,0 +1,2 @@
1
+ const o=o=>({plugins:{legend:{display:!1}},labels:{align:"left",display:!0,color:"white",hoverColor:"white",font:{size:12},position:"top",overflow:"hidden"},captions:{align:"center",display:!0,color:"white",hoverColor:"white",font:{size:14}}}),e=o=>({});export{e as datasetOptions,o as options};
2
+ //# sourceMappingURL=treemap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"treemap.js","sources":["../../../../src/common/config/chartTypes/treemap.js"],"sourcesContent":["export const options = (ctx) => {\n return {\n plugins: {\n legend: {\n display: false,\n },\n },\n labels: {\n align: 'left',\n display: true,\n color: 'white',\n hoverColor: 'white',\n font: { size: 12 },\n position: 'top',\n overflow: 'hidden',\n },\n captions: {\n align: 'center',\n display: true,\n color: 'white',\n hoverColor: 'white',\n font: {\n size: 14,\n },\n },\n };\n};\n\nexport const datasetOptions = (ctx) => {\n return {};\n};\n"],"names":["options","ctx","plugins","legend","display","labels","align","color","hoverColor","font","size","position","overflow","captions","datasetOptions"],"mappings":"AAAY,MAACA,EAAWC,IACf,CACLC,QAAS,CACPC,OAAQ,CACNC,SAAS,IAGbC,OAAQ,CACNC,MAAO,OACPF,SAAS,EACTG,MAAO,QACPC,WAAY,QACZC,KAAM,CAAEC,KAAM,IACdC,SAAU,MACVC,SAAU,UAEZC,SAAU,CACRP,MAAO,SACPF,SAAS,EACTG,MAAO,QACPC,WAAY,QACZC,KAAM,CACJC,KAAM,OAMDI,EAAkBb,IACtB"}
@@ -0,0 +1,2 @@
1
+ var F=["#FF462D","#29707A","#E4F4F1","#187E3F","#9E9287","#F2F1EE","#3D3C3C","#8D8888","#667076"];export{F as default};
2
+ //# sourceMappingURL=colorPalettes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorPalettes.js","sources":["../../../src/common/config/colorPalettes.js"],"sourcesContent":["export default [\n '#FF462D',\n '#29707A',\n '#E4F4F1',\n '#187E3F',\n '#9E9287',\n '#F2F1EE',\n '#3D3C3C',\n '#8D8888',\n '#667076',\n];\n"],"names":["colorPalettes"],"mappings":"AAAA,IAAeA,EAAA,CACb,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA"}
@@ -0,0 +1,2 @@
1
+ const c=c=>({resizeDelay:50,plugins:{chartjs2music:{internal:{},cc:c.ccDiv}}});export{c as default};
2
+ //# sourceMappingURL=globalOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globalOptions.js","sources":["../../../src/common/config/globalOptions.js"],"sourcesContent":["const defaultConfig = (ctx) => {\n return {\n resizeDelay: 50, //debounce the resize\n plugins: {\n chartjs2music: {\n internal: {},\n cc: ctx.ccDiv,\n },\n },\n };\n};\n\nexport default defaultConfig;\n"],"names":["defaultConfig","ctx","resizeDelay","plugins","chartjs2music","internal","cc","ccDiv"],"mappings":"AAAK,MAACA,EAAiBC,IACd,CACLC,YAAa,GACbC,QAAS,CACPC,cAAe,CACbC,SAAU,CAAE,EACZC,GAAIL,EAAIM"}
@@ -0,0 +1,13 @@
1
+ export declare const debounce: (fn: Function, ms?: number) => (e: Event) => void;
2
+ export declare const stringToReactHtml: (string: String) => {
3
+ __html: String;
4
+ };
5
+ /**
6
+ * Convert an object to an array of only its values.
7
+ * Used when importing enums in component stories for populating argType dropdowns.
8
+ * @param {*} options
9
+ * imported enums object
10
+ */
11
+ export declare function createOptionsArray(options?: any): any;
12
+ export declare function convertChartDataToCSV(args: any): string | null;
13
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,OAAQ,QAAQ,sBAEf,KAAK,SAI1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,WAAY,MAAM;;CAE/C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,GAAQ,OAQnD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,iBA2B9C"}
@@ -0,0 +1,2 @@
1
+ function l(l){const n=l.data.data||null;if(null==n||!n.length)return null;const t=l.labels||null;if(null==t||!t.length)return null;const e=l.columnDelimiter||",",r=l.lineDelimiter||"\n";let u=""+e;u+=t.join(e),u+=r,u+=l.data.label.toString();for(let l=0;l<n.length;l++)u+=e,u+=n[l];return u+=r,u}export{l as convertChartDataToCSV};
2
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sources":["../../../src/common/helpers/helpers.ts"],"sourcesContent":["export const debounce = (fn: Function, ms = 100) => {\n let timer: ReturnType<typeof setTimeout>;\n return function (e: Event) {\n clearTimeout(timer);\n timer = setTimeout(() => fn.apply(e), ms);\n };\n};\n\nexport const stringToReactHtml = (string: String) => {\n return { __html: string };\n};\n\n/**\n * Convert an object to an array of only its values.\n * Used when importing enums in component stories for populating argType dropdowns.\n * @param {*} options\n * imported enums object\n */\nexport function createOptionsArray(options: any = {}) {\n const optionsArray: any = [];\n\n Object.keys(options).map((key) => {\n optionsArray.push(options[key]);\n });\n\n return optionsArray;\n}\n\nexport function convertChartDataToCSV(args: any) {\n const data = args.data.data || null;\n if (data == null || !data.length) {\n return null;\n }\n\n const labels = args.labels || null;\n if (labels == null || !labels.length) {\n return null;\n }\n\n const columnDelimiter = args.columnDelimiter || ',';\n const lineDelimiter = args.lineDelimiter || '\\n';\n\n let result = '' + columnDelimiter;\n result += labels.join(columnDelimiter);\n result += lineDelimiter;\n\n result += args.data.label.toString();\n\n for (let i = 0; i < data.length; i++) {\n result += columnDelimiter;\n result += data[i];\n }\n result += lineDelimiter;\n\n return result;\n}\n"],"names":["convertChartDataToCSV","args","data","length","labels","columnDelimiter","lineDelimiter","result","join","label","toString","i"],"mappings":"AA4BM,SAAUA,EAAsBC,GACpC,MAAMC,EAAOD,EAAKC,KAAKA,MAAQ,KAC/B,GAAY,MAARA,IAAiBA,EAAKC,OACxB,OAAO,KAGT,MAAMC,EAASH,EAAKG,QAAU,KAC9B,GAAc,MAAVA,IAAmBA,EAAOD,OAC5B,OAAO,KAGT,MAAME,EAAkBJ,EAAKI,iBAAmB,IAC1CC,EAAgBL,EAAKK,eAAiB,KAE5C,IAAIC,EAAS,GAAKF,EAClBE,GAAUH,EAAOI,KAAKH,GACtBE,GAAUD,EAEVC,GAAUN,EAAKC,KAAKO,MAAMC,WAE1B,IAAK,IAAIC,EAAI,EAAGA,EAAIT,EAAKC,OAAQQ,IAC/BJ,GAAUF,EACVE,GAAUL,EAAKS,GAIjB,OAFAJ,GAAUD,EAEHC,CACT"}
@@ -0,0 +1,85 @@
1
+ import { LitElement } from 'lit';
2
+ import '@kyndryl-design-system/shidoka-foundation/components/icon';
3
+ /**
4
+ * Chart.js wrapper component.
5
+ */
6
+ export declare class KDChart extends LitElement {
7
+ static styles: import("lit").CSSResultGroup;
8
+ /** Chart title. */
9
+ chartTitle: string;
10
+ /** Chart description. */
11
+ description: string;
12
+ /** Chart.js chart type. Can be 'bar', 'line', 'pie', 'doughnut', 'radar', 'polarArea', 'bubble', 'scatter', 'choropleth', 'bubbleMap', 'treemap'. */
13
+ type: any;
14
+ /** Chart.js data.labels. */
15
+ labels: Array<string>;
16
+ /** Chart.js data.datasets. */
17
+ datasets: Array<any>;
18
+ /** Chart.js options. Can override Shidoka defaults. */
19
+ options: any;
20
+ /** Chart.js additional plugins. Must be registerable inline via Chart.plugins array, not globally via Chart.register. */
21
+ plugins: any;
22
+ /** Hides the description visually. */
23
+ hideDescription: boolean;
24
+ /** Hides the closed captions visually. */
25
+ hideCaptions: boolean;
26
+ /**
27
+ * Queries the container element.
28
+ * @ignore
29
+ */
30
+ container: HTMLCanvasElement;
31
+ /**
32
+ * Queries the canvas element.
33
+ * @ignore
34
+ */
35
+ canvas: HTMLCanvasElement;
36
+ /**
37
+ * Queries the closed caption div.
38
+ * @ignore
39
+ */
40
+ ccDiv: HTMLDivElement;
41
+ /** The chart instance.
42
+ * @ignore
43
+ */
44
+ chart: any;
45
+ /** Table view mode.
46
+ * @ignore
47
+ */
48
+ tableView: boolean;
49
+ /** Disable table view feature.
50
+ * @ignore
51
+ */
52
+ tableDisabled: boolean;
53
+ /** Merged options.
54
+ * @ignore
55
+ */
56
+ mergedOptions: any;
57
+ /** Merged datasets.
58
+ * @ignore
59
+ */
60
+ mergedDatasets: any;
61
+ render(): import("lit-html").TemplateResult<1>;
62
+ updated(changedProps: any): void;
63
+ /**
64
+ * Initializes a bar chart using the Chart.js library with provided labels, datasets,
65
+ * and options.
66
+ */
67
+ private initChart;
68
+ /**
69
+ * Merges various chart type options and dataset options to create a
70
+ * final set of options for a chart.
71
+ */
72
+ private mergeOptions;
73
+ private getTableAxisLabel;
74
+ private handleViewToggle;
75
+ private checkType;
76
+ private handleDownloadImage;
77
+ private handleDownloadCsv;
78
+ private handleFullscreen;
79
+ }
80
+ declare global {
81
+ interface HTMLElementTagNameMap {
82
+ 'kd-chart': KDChart;
83
+ }
84
+ }
85
+ //# sourceMappingURL=chart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../../src/components/chart/chart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAqBvC,OAAO,2DAA2D,CAAC;AAmBnE;;GAEG;AACH,qBACa,OAAQ,SAAQ,UAAU;IACrC,OAAgB,MAAM,+BAAa;IAEnC,mBAAmB;IAEnB,UAAU,SAAM;IAEhB,yBAAyB;IAEzB,WAAW,SAAM;IAEjB,qJAAqJ;IAErJ,IAAI,EAAE,GAAG,CAAM;IAEf,4BAA4B;IAE5B,MAAM,EAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAEvB,8BAA8B;IAE9B,QAAQ,EAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAEtB,uDAAuD;IAEvD,OAAO,EAAE,GAAG,CAAM;IAElB,yHAAyH;IAEzH,OAAO,EAAE,GAAG,CAAM;IAElB,sCAAsC;IAEtC,eAAe,UAAS;IAExB,0CAA0C;IAE1C,YAAY,UAAS;IAErB;;;OAGG;IAEH,SAAS,EAAG,iBAAiB,CAAC;IAE9B;;;OAGG;IAEH,MAAM,EAAG,iBAAiB,CAAC;IAE3B;;;OAGG;IAEH,KAAK,EAAG,cAAc,CAAC;IAEvB;;OAEG;IAEH,KAAK,EAAE,GAAG,CAAQ;IAElB;;OAEG;IAEH,SAAS,UAAS;IAElB;;OAEG;IAEH,aAAa,UAAS;IAEtB;;OAEG;IAEH,aAAa,EAAE,GAAG,CAAM;IAExB;;OAEG;IAEH,cAAc,EAAE,GAAG,CAAM;IAEhB,MAAM;IA0IN,OAAO,CAAC,YAAY,EAAE,GAAG;IA+BlC;;;OAGG;IACH,OAAO,CAAC,SAAS;IAejB;;;OAGG;YACW,YAAY;IAqE1B,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,gBAAgB;CAOzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,OAAO,CAAC;KACrB;CACF"}
@@ -0,0 +1,99 @@
1
+ import{__decorate as t}from"../../_virtual/_tslib.js";import'./../../external/@lit/reactive-element/reactive-element.js';import{html as e}from'./../../external/lit-html/lit-html.js';import{LitElement as o}from'./../../external/lit-element/lit-element.js';import{customElement as s}from'./../../external/@lit/reactive-element/decorators/custom-element.js';import{property as i}from'./../../external/@lit/reactive-element/decorators/property.js';import{state as a}from'./../../external/@lit/reactive-element/decorators/state.js';import{query as r}from'./../../external/@lit/reactive-element/decorators/query.js';import'./../../external/@lit/reactive-element/decorators/query-assigned-elements.js';import{deepmerge as n,deepmergeCustom as c}from'./../../external/deepmerge-ts/dist/node/index.js';import l from'./../../external/chart.js/auto/auto.js';import d from'./../../external/chartjs-plugin-deferred/dist/chartjs-plugin-deferred.esm.js';import{ChoroplethController as m,BubbleMapController as p,GeoFeature as h,ColorScale as u,SizeScale as g,ProjectionScale as y}from'./../../external/chartjs-chart-geo/build/index.js';import{TreemapController as b,TreemapElement as f}from'./../../external/chartjs-chart-treemap/dist/chartjs-chart-treemap.esm.js';import v from'./../../external/chartjs-plugin-a11y-legend/dist/plugin.js';import j from'./../../external/chartjs-plugin-chart2music/dist/plugin.js';import T from'./../../external/chartjs-plugin-annotation/dist/chartjs-plugin-annotation.esm.js';import{convertChartDataToCSV as w}from"../../common/helpers/helpers.js";import $ from"./chart.scss.js";import k from"../../common/config/globalOptions.js";import D from"../../common/config/colorPalettes.js";import'./../../external/@kyndryl-design-system/shidoka-foundation/components/icon/icon.js';import _ from'./../../external/@carbon/icons/es/chart--line/24.js';import x from'./../../external/@carbon/icons/es/data-table/24.js';import A from'./../../external/@carbon/icons/es/overflow-menu--vertical/24.js';import O from'./../../external/@carbon/icons/es/maximize/24.js';function C(t){switch(t){case"../../common/config/chartTypes/bar.js":return import("../../common/config/chartTypes/bar.js");case"../../common/config/chartTypes/bubble.js":return import("../../common/config/chartTypes/bubble.js");case"../../common/config/chartTypes/bubbleMap.js":return import("../../common/config/chartTypes/bubbleMap.js");case"../../common/config/chartTypes/choropleth.js":return import("../../common/config/chartTypes/choropleth.js");case"../../common/config/chartTypes/doughnut.js":return import("../../common/config/chartTypes/doughnut.js");case"../../common/config/chartTypes/line.js":return import("../../common/config/chartTypes/line.js");case"../../common/config/chartTypes/pie.js":return import("../../common/config/chartTypes/pie.js");case"../../common/config/chartTypes/polarArea.js":return import("../../common/config/chartTypes/polarArea.js");case"../../common/config/chartTypes/radar.js":return import("../../common/config/chartTypes/radar.js");case"../../common/config/chartTypes/scatter.js":return import("../../common/config/chartTypes/scatter.js");case"../../common/config/chartTypes/treemap.js":return import("../../common/config/chartTypes/treemap.js");default:return new Promise((function(e,o){("function"==typeof queueMicrotask?queueMicrotask:setTimeout)(o.bind(null,new Error("Unknown variable dynamic import: "+t)))}))}}l.register(d,T,m,p,h,u,g,y,b,f);let M=class extends o{constructor(){super(...arguments),this.chartTitle="",this.description="",this.type="",this.options={},this.plugins=[],this.hideDescription=!1,this.hideCaptions=!1,this.chart=null,this.tableView=!1,this.tableDisabled=!1,this.mergedOptions={},this.mergedDatasets={}}render(){return e`
2
+ <div class="container">
3
+ <div class="header">
4
+ <div class="title">${this.chartTitle}</div>
5
+
6
+ <div class="controls">
7
+ ${this.tableDisabled?null:e`
8
+ <button
9
+ title="Toggle View Mode"
10
+ aria-label="Toggle View Mode"
11
+ class="view-toggle"
12
+ @click=${()=>this.handleViewToggle()}
13
+ >
14
+ <kd-icon
15
+ .icon=${_}
16
+ class="${this.tableView?"":"active"}"
17
+ ></kd-icon>
18
+ <kd-icon
19
+ .icon=${x}
20
+ class="${this.tableView?"active":""}"
21
+ ></kd-icon>
22
+ </button>
23
+ `}
24
+
25
+ <button
26
+ title="Toggle Fullscreen"
27
+ aria-label="Toggle Fullscreen"
28
+ @click=${()=>this.handleFullscreen()}
29
+ >
30
+ <kd-icon .icon=${O}></kd-icon>
31
+ </button>
32
+
33
+ <button
34
+ title="Overflow Menu"
35
+ aria-label="Overflow Menu"
36
+ class="overflow-button"
37
+ >
38
+ <kd-icon .icon=${A}></kd-icon>
39
+
40
+ <div class="overflow-menu">
41
+ ${this.tableDisabled?null:e` <a @click=${t=>this.handleDownloadCsv(t)}>
42
+ Download as CSV
43
+ </a>`}
44
+ <a @click=${t=>this.handleDownloadImage(t,!1)}>
45
+ Download as PNG
46
+ </a>
47
+ <a @click=${t=>this.handleDownloadImage(t,!0)}>
48
+ Download as JPG
49
+ </a>
50
+ </div>
51
+ </button>
52
+ </div>
53
+ </div>
54
+
55
+ <figure class="${this.tableView?"hidden":""}">
56
+ <canvas role="img"></canvas>
57
+ <figcaption>
58
+ <div
59
+ class="closed-caption ${this.hideCaptions?"hidden-visually":""}"
60
+ ></div>
61
+ <div
62
+ class="description ${this.hideDescription?"hidden-visually":""}"
63
+ >
64
+ ${this.description}
65
+ </div>
66
+ </figcaption>
67
+ </figure>
68
+
69
+ ${!this.tableDisabled&&this.tableView?e`
70
+ <div class="table">
71
+ <table>
72
+ <thead>
73
+ <tr>
74
+ ${this.labels.length?e`<th>${this.getTableAxisLabel()}</th>`:null}
75
+ ${this.datasets.map((t=>e`<th>${t.label}</th>`))}
76
+ </tr>
77
+ </thead>
78
+ <tbody>
79
+ ${this.datasets[0].data.map(((t,o)=>e`
80
+ <tr>
81
+ ${this.labels.length?e`<td>${this.labels[o]}</td>`:null}
82
+ ${this.datasets.map((t=>{const s=t.data[o];return Array.isArray(s)?e`
83
+ <td>${s[0]}, ${s[1]}</td>
84
+ `:"object"!=typeof s||Array.isArray(s)||null===s?e`<td>${t.data[o]}</td>`:e`
85
+ <td>
86
+ ${Object.keys(s).map((t=>e`
87
+ <span>${t}: ${s[t]}</span>
88
+ `))}
89
+ </td>
90
+ `}))}
91
+ </tr>
92
+ `))}
93
+ </tbody>
94
+ </table>
95
+ </div>
96
+ `:null}
97
+ </div>
98
+ `}updated(t){this.chart&&(t.has("labels")||t.has("datasets"))&&this.mergeOptions().then((()=>{this.chart.data.labels=this.labels,this.chart.data.datasets=this.mergedDatasets,this.chart.update()})),this.chart&&t.has("options")&&(this.chart.options=this.mergedOptions,this.chart.update()),(t.has("type")||t.has("plugins"))&&(this.chart&&this.chart.destroy(),this.mergeOptions().then((()=>{this.initChart()})),this.checkType())}initChart(){this.chart=new l(this.canvas,{type:this.type,data:{labels:this.labels,datasets:this.mergedDatasets},options:this.mergedOptions,plugins:[v,j,...this.plugins]})}async mergeOptions(){const t=[];this.datasets.forEach((e=>{e.type&&t.push(function(t){switch(t){case"../../common/config/chartTypes/bar.js":return import("../../common/config/chartTypes/bar.js");case"../../common/config/chartTypes/bubble.js":return import("../../common/config/chartTypes/bubble.js");case"../../common/config/chartTypes/bubbleMap.js":return import("../../common/config/chartTypes/bubbleMap.js");case"../../common/config/chartTypes/choropleth.js":return import("../../common/config/chartTypes/choropleth.js");case"../../common/config/chartTypes/doughnut.js":return import("../../common/config/chartTypes/doughnut.js");case"../../common/config/chartTypes/line.js":return import("../../common/config/chartTypes/line.js");case"../../common/config/chartTypes/pie.js":return import("../../common/config/chartTypes/pie.js");case"../../common/config/chartTypes/polarArea.js":return import("../../common/config/chartTypes/polarArea.js");case"../../common/config/chartTypes/radar.js":return import("../../common/config/chartTypes/radar.js");case"../../common/config/chartTypes/scatter.js":return import("../../common/config/chartTypes/scatter.js");case"../../common/config/chartTypes/treemap.js":return import("../../common/config/chartTypes/treemap.js");default:return new Promise((function(e,o){("function"==typeof queueMicrotask?queueMicrotask:setTimeout)(o.bind(null,new Error("Unknown variable dynamic import: "+t)))}))}}(`../../common/config/chartTypes/${e.type}.js`))}));const e=await Promise.all([C(`../../common/config/chartTypes/${this.type}.js`),...t]);let o=k(this);const s=JSON.parse(JSON.stringify(this.datasets));e.forEach((t=>{o=n(o,t.options(this)),s.forEach(((e,o)=>{s[o]=n(e,t.datasetOptions(this))}))})),this.options&&(o=n(o,this.options)),this.mergedOptions=o,s.forEach(((t,e)=>{const o=c({mergeArrays:!1});s[e]=o(t,this.datasets[e])}));const i=["pie","dougnut","polarArea"];["choropleth","treemap","bubbleMap"].includes(this.type)||s.forEach(((t,e)=>{t.backgroundColor||(i.includes(this.type)?s[e].backgroundColor=D:(s[e].backgroundColor=D[e],s[e].borderColor=D[e]))})),this.mergedDatasets=s}getTableAxisLabel(){var t,e,o,s,i,a,r,n,c,l,d;let m="";return m="y"===(null===(t=this.options)||void 0===t?void 0:t.indexAxis)?(null===(i=null===(s=null===(o=null===(e=this.options)||void 0===e?void 0:e.scales)||void 0===o?void 0:o.y)||void 0===s?void 0:s.title)||void 0===i?void 0:i.text)?null===(a=this.options)||void 0===a?void 0:a.scales.y.title.text:"Y Axis":(null===(l=null===(c=null===(n=null===(r=this.options)||void 0===r?void 0:r.scales)||void 0===n?void 0:n.x)||void 0===c?void 0:c.title)||void 0===l?void 0:l.text)?null===(d=this.options)||void 0===d?void 0:d.scales.x.title.text:"X Axis",m}handleViewToggle(){this.tableView=!this.tableView}checkType(){this.tableDisabled=["choropleth","bubbleMap","treemap"].includes(this.type)}handleDownloadImage(t,e){t.preventDefault();const o=e?"image/jpeg":"image/png",s=e?"jpg":"png",i=document.createElement("a");i.href=this.chart.toBase64Image(o,1),i.download=this.chartTitle+"."+s,i.click()}handleDownloadCsv(t){t.preventDefault();let e="";for(let t=0;t<this.chart.data.datasets.length;t++)e+=w({data:this.chart.data.datasets[t],labels:this.labels});if(null==e)return;console.log(e);const o=this.chartTitle+".csv";e.match(/^data:text\/csv/i)||(e="data:text/csv;charset=utf-8,"+e);const s=encodeURI(e),i=document.createElement("a");i.setAttribute("href",s),i.setAttribute("download",o),document.body.appendChild(i),i.click(),document.body.removeChild(i)}handleFullscreen(){var t;(null===(t=this.shadowRoot)||void 0===t?void 0:t.fullscreenElement)?document.exitFullscreen():this.container.requestFullscreen()}};M.styles=$,t([i({type:String})],M.prototype,"chartTitle",void 0),t([i({type:String})],M.prototype,"description",void 0),t([i({type:String})],M.prototype,"type",void 0),t([i({type:Array})],M.prototype,"labels",void 0),t([i({type:Array})],M.prototype,"datasets",void 0),t([i({type:Object})],M.prototype,"options",void 0),t([i({type:Array})],M.prototype,"plugins",void 0),t([i({type:Boolean})],M.prototype,"hideDescription",void 0),t([i({type:Boolean})],M.prototype,"hideCaptions",void 0),t([r(".container")],M.prototype,"container",void 0),t([r("canvas")],M.prototype,"canvas",void 0),t([r(".closed-caption")],M.prototype,"ccDiv",void 0),t([a()],M.prototype,"chart",void 0),t([a()],M.prototype,"tableView",void 0),t([a()],M.prototype,"tableDisabled",void 0),t([a()],M.prototype,"mergedOptions",void 0),t([a()],M.prototype,"mergedDatasets",void 0),M=t([s("kd-chart")],M);export{M as KDChart};
99
+ //# sourceMappingURL=chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.js","sources":["../../../src/components/chart/chart.ts"],"sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement, property, state, query } from 'lit/decorators.js';\nimport { deepmerge, deepmergeCustom } from 'deepmerge-ts';\nimport Chart from 'chart.js/auto';\nimport ChartDeferred from 'chartjs-plugin-deferred';\nimport {\n ChoroplethController,\n BubbleMapController,\n GeoFeature,\n ColorScale,\n SizeScale,\n ProjectionScale,\n} from 'chartjs-chart-geo';\nimport { TreemapController, TreemapElement } from 'chartjs-chart-treemap';\nimport a11yPlugin from 'chartjs-plugin-a11y-legend';\nimport musicPlugin from 'chartjs-plugin-chart2music';\nimport annotationPlugin from 'chartjs-plugin-annotation';\nimport { convertChartDataToCSV } from '../../common/helpers/helpers';\nimport ChartScss from './chart.scss';\nimport globalOptions from '../../common/config/globalOptions';\nimport colorPalettes from '../../common/config/colorPalettes';\nimport '@kyndryl-design-system/shidoka-foundation/components/icon';\nimport chartIcon from '@carbon/icons/es/chart--line/24';\nimport tableIcon from '@carbon/icons/es/data-table/24';\nimport overflowIcon from '@carbon/icons/es/overflow-menu--vertical/24';\nimport maximizeIcon from '@carbon/icons/es/maximize/24';\n\nChart.register(\n ChartDeferred,\n annotationPlugin,\n ChoroplethController,\n BubbleMapController,\n GeoFeature,\n ColorScale,\n SizeScale,\n ProjectionScale,\n TreemapController,\n TreemapElement\n);\n\n/**\n * Chart.js wrapper component.\n */\n@customElement('kd-chart')\nexport class KDChart extends LitElement {\n static override styles = ChartScss;\n\n /** Chart title. */\n @property({ type: String })\n chartTitle = '';\n\n /** Chart description. */\n @property({ type: String })\n description = '';\n\n /** Chart.js chart type. Can be 'bar', 'line', 'pie', 'doughnut', 'radar', 'polarArea', 'bubble', 'scatter', 'choropleth', 'bubbleMap', 'treemap'. */\n @property({ type: String })\n type: any = '';\n\n /** Chart.js data.labels. */\n @property({ type: Array })\n labels!: Array<string>;\n\n /** Chart.js data.datasets. */\n @property({ type: Array })\n datasets!: Array<any>;\n\n /** Chart.js options. Can override Shidoka defaults. */\n @property({ type: Object })\n options: any = {};\n\n /** Chart.js additional plugins. Must be registerable inline via Chart.plugins array, not globally via Chart.register. */\n @property({ type: Array })\n plugins: any = [];\n\n /** Hides the description visually. */\n @property({ type: Boolean })\n hideDescription = false;\n\n /** Hides the closed captions visually. */\n @property({ type: Boolean })\n hideCaptions = false;\n\n /**\n * Queries the container element.\n * @ignore\n */\n @query('.container')\n container!: HTMLCanvasElement;\n\n /**\n * Queries the canvas element.\n * @ignore\n */\n @query('canvas')\n canvas!: HTMLCanvasElement;\n\n /**\n * Queries the closed caption div.\n * @ignore\n */\n @query('.closed-caption')\n ccDiv!: HTMLDivElement;\n\n /** The chart instance.\n * @ignore\n */\n @state()\n chart: any = null;\n\n /** Table view mode.\n * @ignore\n */\n @state()\n tableView = false;\n\n /** Disable table view feature.\n * @ignore\n */\n @state()\n tableDisabled = false;\n\n /** Merged options.\n * @ignore\n */\n @state()\n mergedOptions: any = {};\n\n /** Merged datasets.\n * @ignore\n */\n @state()\n mergedDatasets: any = {};\n\n override render() {\n return html`\n <div class=\"container\">\n <div class=\"header\">\n <div class=\"title\">${this.chartTitle}</div>\n\n <div class=\"controls\">\n ${!this.tableDisabled\n ? html`\n <button\n title=\"Toggle View Mode\"\n aria-label=\"Toggle View Mode\"\n class=\"view-toggle\"\n @click=${() => this.handleViewToggle()}\n >\n <kd-icon\n .icon=${chartIcon}\n class=\"${!this.tableView ? 'active' : ''}\"\n ></kd-icon>\n <kd-icon\n .icon=${tableIcon}\n class=\"${this.tableView ? 'active' : ''}\"\n ></kd-icon>\n </button>\n `\n : null}\n\n <button\n title=\"Toggle Fullscreen\"\n aria-label=\"Toggle Fullscreen\"\n @click=${() => this.handleFullscreen()}\n >\n <kd-icon .icon=${maximizeIcon}></kd-icon>\n </button>\n\n <button\n title=\"Overflow Menu\"\n aria-label=\"Overflow Menu\"\n class=\"overflow-button\"\n >\n <kd-icon .icon=${overflowIcon}></kd-icon>\n\n <div class=\"overflow-menu\">\n ${!this.tableDisabled\n ? html` <a @click=${(e: Event) => this.handleDownloadCsv(e)}>\n Download as CSV\n </a>`\n : null}\n <a @click=${(e: Event) => this.handleDownloadImage(e, false)}>\n Download as PNG\n </a>\n <a @click=${(e: Event) => this.handleDownloadImage(e, true)}>\n Download as JPG\n </a>\n </div>\n </button>\n </div>\n </div>\n\n <figure class=\"${this.tableView ? 'hidden' : ''}\">\n <canvas role=\"img\"></canvas>\n <figcaption>\n <div\n class=\"closed-caption ${this.hideCaptions\n ? 'hidden-visually'\n : ''}\"\n ></div>\n <div\n class=\"description ${this.hideDescription\n ? 'hidden-visually'\n : ''}\"\n >\n ${this.description}\n </div>\n </figcaption>\n </figure>\n\n ${!this.tableDisabled && this.tableView\n ? html`\n <div class=\"table\">\n <table>\n <thead>\n <tr>\n ${this.labels.length\n ? html`<th>${this.getTableAxisLabel()}</th>`\n : null}\n ${this.datasets.map((dataset) => {\n return html`<th>${dataset.label}</th>`;\n })}\n </tr>\n </thead>\n <tbody>\n ${this.datasets[0].data.map((_value: any, i: number) => {\n return html`\n <tr>\n ${this.labels.length\n ? html`<td>${this.labels[i]}</td>`\n : null}\n ${this.datasets.map((dataset) => {\n const dataPoint = dataset.data[i];\n\n if (Array.isArray(dataPoint)) {\n // handle data in array format\n return html`\n <td>${dataPoint[0]}, ${dataPoint[1]}</td>\n `;\n } else if (\n typeof dataPoint === 'object' &&\n !Array.isArray(dataPoint) &&\n dataPoint !== null\n ) {\n // handle data in object format\n return html`\n <td>\n ${Object.keys(dataPoint).map((key) => {\n return html`\n <span>${key}: ${dataPoint[key]}</span>\n `;\n })}\n </td>\n `;\n } else {\n // handle data in number/basic format\n return html`<td>${dataset.data[i]}</td>`;\n }\n })}\n </tr>\n `;\n })}\n </tbody>\n </table>\n </div>\n `\n : null}\n </div>\n `;\n }\n\n override updated(changedProps: any) {\n // Update chart instance when data changes.\n if (\n this.chart &&\n (changedProps.has('labels') || changedProps.has('datasets'))\n ) {\n this.mergeOptions().then(() => {\n this.chart.data.labels = this.labels;\n this.chart.data.datasets = this.mergedDatasets;\n this.chart.update();\n });\n }\n\n // Update chart instance when options change.\n if (this.chart && changedProps.has('options')) {\n this.chart.options = this.mergedOptions;\n this.chart.update();\n }\n\n // Update chart instance when type or plugins change.\n if (changedProps.has('type') || changedProps.has('plugins')) {\n if (this.chart) {\n this.chart.destroy();\n }\n this.mergeOptions().then(() => {\n this.initChart();\n });\n this.checkType();\n }\n }\n\n /**\n * Initializes a bar chart using the Chart.js library with provided labels, datasets,\n * and options.\n */\n private initChart() {\n // Chart.defaults.font.family =\n // \"'Roboto', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\";\n\n this.chart = new Chart(this.canvas, {\n type: this.type,\n data: {\n labels: this.labels,\n datasets: this.mergedDatasets,\n },\n options: this.mergedOptions,\n plugins: [a11yPlugin, musicPlugin, ...this.plugins],\n });\n }\n\n /**\n * Merges various chart type options and dataset options to create a\n * final set of options for a chart.\n */\n private async mergeOptions() {\n // get chart types from datasets so we can import additional configs\n const additionalTypeImports: any = [];\n this.datasets.forEach((dataset) => {\n if (dataset.type) {\n additionalTypeImports.push(\n import(`../../common/config/chartTypes/${dataset.type}.js`)\n );\n }\n });\n\n // import main and combo chart type configs\n const chartTypeConfigs = await Promise.all([\n import(`../../common/config/chartTypes/${this.type}.js`),\n ...additionalTypeImports,\n ]);\n\n let mergedOptions: any = globalOptions(this);\n const mergedDatasets: any = JSON.parse(JSON.stringify(this.datasets));\n\n chartTypeConfigs.forEach((chartType: any) => {\n // merge all of the imported chart type options with the global options\n mergedOptions = deepmerge(mergedOptions, chartType.options(this));\n\n // merge all of the imported chart type dataset options\n mergedDatasets.forEach((dataset: object, index: number) => {\n mergedDatasets[index] = deepmerge(\n dataset,\n chartType.datasetOptions(this)\n );\n });\n });\n\n if (this.options) {\n // merge any consumer supplied options with defaults\n mergedOptions = deepmerge(mergedOptions, this.options);\n }\n this.mergedOptions = mergedOptions;\n\n // merge default chart type dataset options with consumer supplied datasets\n mergedDatasets.forEach((dataset: object, index: number) => {\n const customDeepmerge = deepmergeCustom({\n mergeArrays: false,\n });\n mergedDatasets[index] = customDeepmerge(dataset, this.datasets[index]);\n });\n\n // inject color palette\n const ignoredTypes = ['choropleth', 'treemap', 'bubbleMap'];\n const singleDatasetTypes = ['pie', 'dougnut', 'polarArea'];\n if (!ignoredTypes.includes(this.type)) {\n mergedDatasets.forEach((dataset: any, index: number) => {\n if (!dataset.backgroundColor) {\n if (singleDatasetTypes.includes(this.type)) {\n // single dataset colors\n mergedDatasets[index].backgroundColor = colorPalettes;\n // dataset.borderColor = colorPalettes;\n } else {\n // multi dataset colors\n mergedDatasets[index].backgroundColor = colorPalettes[index];\n mergedDatasets[index].borderColor = colorPalettes[index];\n }\n }\n });\n }\n\n this.mergedDatasets = mergedDatasets;\n }\n\n private getTableAxisLabel() {\n let label = '';\n\n if (this.options?.indexAxis === 'y') {\n if (this.options?.scales?.y?.title?.text) {\n label = this.options?.scales.y.title.text;\n } else {\n label = 'Y Axis';\n }\n } else {\n if (this.options?.scales?.x?.title?.text) {\n label = this.options?.scales.x.title.text;\n } else {\n label = 'X Axis';\n }\n }\n\n return label;\n }\n\n private handleViewToggle() {\n this.tableView = !this.tableView;\n }\n\n private checkType() {\n // chart types that can't have a data table view\n const blacklist = ['choropleth', 'bubbleMap', 'treemap'];\n this.tableDisabled = blacklist.includes(this.type);\n }\n\n private handleDownloadImage(e: Event, jpeg: boolean) {\n e.preventDefault();\n\n const imgFormat = jpeg ? 'image/jpeg' : 'image/png';\n const fileExt = jpeg ? 'jpg' : 'png';\n const a = document.createElement('a');\n\n a.href = this.chart.toBase64Image(imgFormat, 1);\n a.download = this.chartTitle + '.' + fileExt;\n\n // trigger the download\n a.click();\n }\n\n private handleDownloadCsv(e: Event) {\n e.preventDefault();\n let csv = '';\n\n for (let i = 0; i < this.chart.data.datasets.length; i++) {\n csv += convertChartDataToCSV({\n data: this.chart.data.datasets[i],\n labels: this.labels,\n });\n }\n if (csv == null) return;\n console.log(csv);\n\n const filename = this.chartTitle + '.csv';\n if (!csv.match(/^data:text\\/csv/i)) {\n csv = 'data:text/csv;charset=utf-8,' + csv;\n }\n\n // not sure if anything below this comment works\n const data = encodeURI(csv);\n const link = document.createElement('a');\n link.setAttribute('href', data);\n link.setAttribute('download', filename);\n document.body.appendChild(link); // Required for FF\n link.click();\n document.body.removeChild(link);\n }\n\n private handleFullscreen() {\n if (this.shadowRoot?.fullscreenElement) {\n document.exitFullscreen();\n } else {\n this.container.requestFullscreen();\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kd-chart': KDChart;\n }\n}\n"],"names":["Chart","register","ChartDeferred","annotationPlugin","ChoroplethController","BubbleMapController","GeoFeature","ColorScale","SizeScale","ProjectionScale","TreemapController","TreemapElement","KDChart","LitElement","constructor","this","chartTitle","description","type","options","plugins","hideDescription","hideCaptions","chart","tableView","tableDisabled","mergedOptions","mergedDatasets","render","html","handleViewToggle","chartIcon","tableIcon","handleFullscreen","maximizeIcon","overflowIcon","e","handleDownloadCsv","handleDownloadImage","labels","length","getTableAxisLabel","datasets","map","dataset","label","data","_value","i","dataPoint","Array","isArray","Object","keys","key","updated","changedProps","has","mergeOptions","then","update","destroy","initChart","checkType","canvas","a11yPlugin","musicPlugin","async","additionalTypeImports","forEach","push","__variableDynamicImportRuntime0__","chartTypeConfigs","Promise","all","__variableDynamicImportRuntime1__","globalOptions","JSON","parse","stringify","chartType","deepmerge","index","datasetOptions","customDeepmerge","deepmergeCustom","mergeArrays","singleDatasetTypes","includes","backgroundColor","colorPalettes","borderColor","_a","indexAxis","_e","_d","_c","_b","scales","y","title","text","_f","_k","_j","_h","_g","x","_l","jpeg","preventDefault","imgFormat","fileExt","a","document","createElement","href","toBase64Image","download","click","csv","convertChartDataToCSV","console","log","filename","match","encodeURI","link","setAttribute","body","appendChild","removeChild","shadowRoot","fullscreenElement","exitFullscreen","container","requestFullscreen","styles","ChartScss","__decorate","property","String","prototype","Boolean","query","state","customElement"],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ import'./../../external/@lit/reactive-element/reactive-element.js';import'./../../external/lit-html/lit-html.js';import'./../../external/lit-element/lit-element.js';import{css as o}from'./../../external/@lit/reactive-element/css-tag.js';var e=o`*,
2
+ *::before,
3
+ *::after {
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ :root {
8
+ --kd-grid-max-width: 99rem;
9
+ }
10
+
11
+ :host {
12
+ display: block;
13
+ }
14
+
15
+ .container {
16
+ background: var(--kd-color-background-ui-default);
17
+ }
18
+
19
+ figure {
20
+ margin: 0;
21
+ }
22
+ figure.hidden {
23
+ display: none;
24
+ }
25
+
26
+ figcaption {
27
+ margin-top: 8px;
28
+ }
29
+
30
+ .hidden-visually {
31
+ clip: rect(0 0 0 0);
32
+ clip-path: inset(50%);
33
+ height: 1px;
34
+ overflow: hidden;
35
+ position: absolute;
36
+ white-space: nowrap;
37
+ width: 1px;
38
+ }
39
+
40
+ canvas:focus,
41
+ div:focus {
42
+ border-radius: 4px;
43
+ outline: 2px solid var(--kd-color-border-focus);
44
+ }
45
+
46
+ .table {
47
+ width: 100%;
48
+ max-height: 300px;
49
+ overflow: auto;
50
+ }
51
+
52
+ table {
53
+ border-collapse: collapse;
54
+ width: 100%;
55
+ }
56
+ table th {
57
+ text-align: left;
58
+ font-weight: 500;
59
+ padding: 8px 16px;
60
+ background: var(--kd-color-background-accent-subtle);
61
+ }
62
+ table td {
63
+ padding: 8px 16px;
64
+ border-bottom: 1px solid var(--kd-color-background-accent-tertiary);
65
+ }
66
+ table td span:after {
67
+ content: ",";
68
+ }
69
+ table td span:last-child:after {
70
+ content: none;
71
+ }
72
+
73
+ .header {
74
+ display: flex;
75
+ justify-content: space-between;
76
+ margin-bottom: 8px;
77
+ }
78
+
79
+ .title {
80
+ font-weight: 500;
81
+ }
82
+
83
+ .controls button {
84
+ display: inline-block;
85
+ border-radius: 4px;
86
+ border: none;
87
+ background: none;
88
+ cursor: pointer;
89
+ }
90
+ .controls button:focus {
91
+ outline: 2px solid var(--kd-color-border-focus);
92
+ }
93
+ .controls .view-toggle kd-icon {
94
+ display: block;
95
+ }
96
+ .controls .view-toggle kd-icon.active {
97
+ display: none;
98
+ }
99
+ .controls .overflow-button {
100
+ position: relative;
101
+ }
102
+ .controls .overflow-button:focus-within .overflow-menu {
103
+ display: block;
104
+ }
105
+ .controls .overflow-menu {
106
+ position: absolute;
107
+ right: 0;
108
+ top: 100%;
109
+ background: var(--kd-color-background-ui-default);
110
+ display: none;
111
+ box-shadow: var(--kd-shadow-menu);
112
+ text-align: left;
113
+ }
114
+ .controls .overflow-menu > * {
115
+ display: block;
116
+ padding: 8px;
117
+ white-space: nowrap;
118
+ }
119
+ .controls .overflow-menu > *:hover {
120
+ background-color: var(--kd-color-background-ui-subtle);
121
+ }`;export{e as default};
122
+ //# sourceMappingURL=chart.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ export { KDChart } from './chart';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export{KDChart}from"./chart.js";
2
+ //# sourceMappingURL=index.js.map