@carbon/charts 1.8.0 → 1.9.0-rc.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 (862) hide show
  1. package/CHANGELOG.md +84 -155
  2. package/README.md +11 -13
  3. package/dist/_baseEach-603421de.mjs +21 -0
  4. package/dist/_baseEach-603421de.mjs.map +1 -0
  5. package/dist/_baseEach-cdac417f.js +2 -0
  6. package/dist/_baseEach-cdac417f.js.map +1 -0
  7. package/dist/a11y-7bad4f48.mjs +5 -0
  8. package/dist/a11y-7bad4f48.mjs.map +1 -0
  9. package/dist/a11y-c7c9d087.js +2 -0
  10. package/dist/a11y-c7c9d087.js.map +1 -0
  11. package/dist/angle-utils-6f166b40.js +2 -0
  12. package/dist/angle-utils-6f166b40.js.map +1 -0
  13. package/dist/angle-utils-8b6ce998.mjs +387 -0
  14. package/dist/angle-utils-8b6ce998.mjs.map +1 -0
  15. package/dist/axis-chart.d.ts +13 -0
  16. package/dist/chart.d.ts +18 -0
  17. package/dist/charts/alluvial.d.ts +10 -0
  18. package/dist/charts/area-stacked.d.ts +8 -0
  19. package/dist/charts/area.d.ts +8 -0
  20. package/dist/charts/bar-grouped.d.ts +8 -0
  21. package/dist/charts/bar-simple.d.ts +8 -0
  22. package/dist/charts/bar-stacked.d.ts +8 -0
  23. package/dist/charts/boxplot.d.ts +10 -0
  24. package/dist/charts/bubble.d.ts +8 -0
  25. package/dist/charts/bullet.d.ts +10 -0
  26. package/dist/charts/choropleth.d.ts +14 -0
  27. package/dist/charts/circle-pack.d.ts +10 -0
  28. package/dist/charts/combo.d.ts +9 -0
  29. package/dist/charts/donut.d.ts +8 -0
  30. package/dist/charts/gauge.d.ts +10 -0
  31. package/dist/charts/heatmap.d.ts +14 -0
  32. package/dist/charts/histogram.d.ts +10 -0
  33. package/dist/charts/index.d.ts +27 -0
  34. package/dist/charts/line.d.ts +8 -0
  35. package/dist/charts/lollipop.d.ts +8 -0
  36. package/dist/charts/meter.d.ts +10 -0
  37. package/dist/charts/pie.d.ts +10 -0
  38. package/dist/charts/radar.d.ts +10 -0
  39. package/dist/charts/scatter.d.ts +8 -0
  40. package/dist/charts/tree.d.ts +10 -0
  41. package/dist/charts/treemap.d.ts +10 -0
  42. package/dist/charts/wordcloud.d.ts +10 -0
  43. package/dist/choropleth-4ac6ac20.js +82 -0
  44. package/dist/choropleth-4ac6ac20.js.map +1 -0
  45. package/dist/choropleth-f473ea0d.mjs +7997 -0
  46. package/dist/choropleth-f473ea0d.mjs.map +1 -0
  47. package/dist/color-scale-utils-5eb3eeaa.mjs +3809 -0
  48. package/dist/color-scale-utils-5eb3eeaa.mjs.map +1 -0
  49. package/dist/color-scale-utils-7d463811.js +3 -0
  50. package/dist/color-scale-utils-7d463811.js.map +1 -0
  51. package/dist/components/axes/axis.d.ts +24 -0
  52. package/{build/src → dist}/components/axes/chart-clip.d.ts +3 -3
  53. package/{components → dist/components}/axes/grid-brush.d.ts +10 -10
  54. package/{components → dist/components}/axes/grid.d.ts +22 -22
  55. package/{build/src → dist}/components/axes/hover-axis.d.ts +1 -1
  56. package/dist/components/axes/index.d.ts +12 -0
  57. package/{components → dist/components}/axes/ruler-binned.d.ts +7 -7
  58. package/{components → dist/components}/axes/ruler.d.ts +27 -27
  59. package/{build/src → dist}/components/axes/toolbar.d.ts +7 -7
  60. package/{components → dist/components}/axes/two-dimensional-axes.d.ts +16 -16
  61. package/{components → dist/components}/axes/zero-line.d.ts +7 -7
  62. package/{components → dist/components}/axes/zoom-bar.d.ts +28 -28
  63. package/{build/src → dist}/components/component.d.ts +10 -8
  64. package/dist/components/diagrams/buildPaths.d.ts +40 -0
  65. package/dist/components/diagrams/index.d.ts +2 -0
  66. package/{components → dist/components}/essentials/canvas-chart-clip.d.ts +6 -6
  67. package/{build/src → dist}/components/essentials/color-scale-legend.d.ts +3 -3
  68. package/{build/src → dist}/components/essentials/geo-projection.d.ts +2 -2
  69. package/{build/src → dist}/components/essentials/highlights.d.ts +3 -3
  70. package/dist/components/essentials/index.d.ts +11 -0
  71. package/{build/src → dist}/components/essentials/legend.d.ts +3 -3
  72. package/{components → dist/components}/essentials/modal.d.ts +14 -14
  73. package/{build/src → dist}/components/essentials/threshold.d.ts +5 -5
  74. package/{components → dist/components}/essentials/title-meter.d.ts +30 -30
  75. package/{components → dist/components}/essentials/title.d.ts +20 -20
  76. package/{build/src → dist}/components/essentials/tooltip.d.ts +4 -4
  77. package/{components → dist/components}/graphs/alluvial.d.ts +14 -14
  78. package/{components → dist/components}/graphs/area-stacked.d.ts +11 -11
  79. package/dist/components/graphs/area.d.ts +12 -0
  80. package/{build/src → dist}/components/graphs/bar-grouped.d.ts +4 -4
  81. package/{build/src → dist}/components/graphs/bar-simple.d.ts +3 -3
  82. package/{build/src → dist}/components/graphs/bar-stacked.d.ts +4 -4
  83. package/{build/src → dist}/components/graphs/bar.d.ts +2 -2
  84. package/{components → dist/components}/graphs/boxplot.d.ts +9 -9
  85. package/{build/src → dist}/components/graphs/bubble.d.ts +2 -2
  86. package/dist/components/graphs/bullet.d.ts +12 -0
  87. package/{components → dist/components}/graphs/choropleth.d.ts +6 -6
  88. package/{build/src → dist}/components/graphs/circle-pack.d.ts +3 -3
  89. package/{build/src → dist}/components/graphs/donut.d.ts +1 -1
  90. package/{build/src → dist}/components/graphs/gauge.d.ts +2 -2
  91. package/{build/src → dist}/components/graphs/heatmap.d.ts +4 -4
  92. package/dist/components/graphs/histogram.d.ts +12 -0
  93. package/dist/components/graphs/index.d.ts +28 -0
  94. package/dist/components/graphs/line.d.ts +11 -0
  95. package/dist/components/graphs/lollipop.d.ts +14 -0
  96. package/{components → dist/components}/graphs/meter.d.ts +10 -10
  97. package/{build/src → dist}/components/graphs/pie.d.ts +4 -4
  98. package/{build/src → dist}/components/graphs/radar.d.ts +6 -6
  99. package/{build/src → dist}/components/graphs/scatter-stacked.d.ts +2 -2
  100. package/dist/components/graphs/scatter.d.ts +21 -0
  101. package/dist/components/graphs/skeleton-lines.d.ts +12 -0
  102. package/{build/src → dist}/components/graphs/skeleton.d.ts +6 -5
  103. package/{components → dist/components}/graphs/tree.d.ts +9 -9
  104. package/dist/components/graphs/treemap.d.ts +11 -0
  105. package/{build/src → dist}/components/graphs/wordcloud.d.ts +4 -4
  106. package/dist/components/index.d.ts +6 -0
  107. package/dist/components/index.js +2 -0
  108. package/dist/components/index.js.map +1 -0
  109. package/dist/components/index.mjs +76 -0
  110. package/dist/components/index.mjs.map +1 -0
  111. package/dist/components/layout/index.d.ts +2 -0
  112. package/{components → dist/components}/layout/layout.d.ts +18 -17
  113. package/dist/components/layout/spacer.d.ts +5 -0
  114. package/{build/src → dist}/configuration-non-customizable.d.ts +4 -4
  115. package/{configuration.d.ts → dist/configuration.d.ts} +48 -46
  116. package/dist/demo/charts/index.d.ts +62 -0
  117. package/{build/demo/data → dist/demo/charts}/time-series-axis.d.ts +60 -135
  118. package/{build/demo/data → dist/demo/charts}/zoom-bar.d.ts +12 -27
  119. package/dist/demo/index.d.ts +4 -0
  120. package/dist/demo/index.js +470 -0
  121. package/dist/demo/index.js.map +1 -0
  122. package/dist/demo/index.mjs +51786 -0
  123. package/dist/demo/index.mjs.map +1 -0
  124. package/{demo → dist/demo}/styles.css +286 -1142
  125. package/dist/demo/styles.css.map +1 -0
  126. package/dist/demo/utils/index.d.ts +2 -0
  127. package/dist/demo/utils/sandbox.d.ts +39 -0
  128. package/dist/demo/utils/story-widgets.d.ts +7 -0
  129. package/dist/enums-a96ef472.mjs +89 -0
  130. package/dist/enums-a96ef472.mjs.map +1 -0
  131. package/dist/enums-aa2efd99.js +2 -0
  132. package/dist/enums-aa2efd99.js.map +1 -0
  133. package/dist/index-822564ed.js +2 -0
  134. package/dist/index-822564ed.js.map +1 -0
  135. package/dist/index-a266373c.mjs +749 -0
  136. package/dist/index-a266373c.mjs.map +1 -0
  137. package/dist/index-becfb567.mjs +72 -0
  138. package/dist/index-becfb567.mjs.map +1 -0
  139. package/dist/index-d865d500.js +2 -0
  140. package/dist/index-d865d500.js.map +1 -0
  141. package/dist/index-ec554115.mjs +62 -0
  142. package/dist/index-ec554115.mjs.map +1 -0
  143. package/dist/index-f23685eb.js +2 -0
  144. package/dist/index-f23685eb.js.map +1 -0
  145. package/dist/index.d.ts +11 -0
  146. package/dist/index.js +2 -0
  147. package/dist/index.js.map +1 -0
  148. package/dist/index.mjs +1121 -0
  149. package/dist/index.mjs.map +1 -0
  150. package/{build/src → dist}/interfaces/axis-scales.d.ts +11 -11
  151. package/{interfaces → dist/interfaces}/charts.d.ts +517 -512
  152. package/{build/src → dist}/interfaces/components.d.ts +11 -11
  153. package/dist/interfaces/index.d.ts +11 -0
  154. package/dist/interfaces/index.js +2 -0
  155. package/dist/interfaces/index.js.map +1 -0
  156. package/dist/interfaces/index.mjs +58 -0
  157. package/dist/interfaces/index.mjs.map +1 -0
  158. package/{interfaces → dist/interfaces}/layout.d.ts +21 -15
  159. package/{build/src → dist}/interfaces/model.d.ts +2 -2
  160. package/dist/interfaces/services.d.ts +20 -0
  161. package/{build/src → dist}/interfaces/truncation.d.ts +2 -2
  162. package/{build/src → dist}/model/binned-charts.d.ts +1 -1
  163. package/{build/src → dist}/model/cartesian-charts.d.ts +2 -2
  164. package/{model → dist/model}/heatmap.d.ts +57 -52
  165. package/dist/model/index.d.ts +16 -0
  166. package/dist/model/index.js +3 -0
  167. package/dist/model/index.js.map +1 -0
  168. package/dist/model/index.mjs +1107 -0
  169. package/dist/model/index.mjs.map +1 -0
  170. package/{model → dist/model}/meter.d.ts +20 -19
  171. package/{model → dist/model}/model.d.ts +110 -107
  172. package/{services → dist/services}/angle-utils.d.ts +15 -16
  173. package/{services → dist/services}/color-scale-utils.d.ts +2 -2
  174. package/dist/services/curves.d.ts +24 -0
  175. package/dist/services/essentials/dom-utils.d.ts +45 -0
  176. package/dist/services/essentials/events.d.ts +8 -0
  177. package/dist/services/essentials/files.d.ts +7 -0
  178. package/{build/src → dist}/services/essentials/gradient-utils.d.ts +2 -2
  179. package/dist/services/essentials/index.d.ts +5 -0
  180. package/dist/services/essentials/transitions.d.ts +13 -0
  181. package/dist/services/index.d.ts +9 -0
  182. package/dist/services/index.js +2 -0
  183. package/dist/services/index.js.map +1 -0
  184. package/dist/services/index.mjs +32 -0
  185. package/dist/services/index.mjs.map +1 -0
  186. package/dist/services/scales-cartesian.d.ts +89 -0
  187. package/dist/services/service.d.ts +11 -0
  188. package/{services → dist/services}/time-series.d.ts +13 -13
  189. package/{build/src → dist}/services/zoom.d.ts +2 -2
  190. package/{styles → dist/styles}/_chart-holder.scss +5 -5
  191. package/{styles → dist/styles}/color-palatte.scss +66 -66
  192. package/{styles → dist/styles}/colors.scss +15 -39
  193. package/{styles → dist/styles}/components/_color-legend.scss +2 -2
  194. package/{styles → dist/styles}/components/_edge.scss +4 -4
  195. package/{styles → dist/styles}/components/_grid.scss +2 -2
  196. package/dist/styles/components/_marker.scss +7 -0
  197. package/{styles → dist/styles}/components/_meter-title.scss +2 -2
  198. package/{styles → dist/styles}/components/_tooltip.scss +3 -3
  199. package/{styles → dist/styles}/components/diagrams/_card-node.scss +3 -3
  200. package/{styles → dist/styles}/components/diagrams/_edge.scss +5 -5
  201. package/{styles → dist/styles}/components/diagrams/_shape-node.scss +3 -3
  202. package/dist/styles/components/diagrams/index.scss +4 -0
  203. package/{styles → dist/styles}/graphs/_alluvial.scss +2 -2
  204. package/{styles → dist/styles}/graphs/_bullet.scss +3 -3
  205. package/{styles → dist/styles}/graphs/_circle-pack.scss +1 -1
  206. package/{styles → dist/styles}/graphs/_gauge.scss +1 -1
  207. package/{styles → dist/styles}/graphs/_heatmap.scss +2 -2
  208. package/{styles → dist/styles}/graphs/_meter.scss +1 -1
  209. package/{styles → dist/styles}/graphs/_radar.scss +1 -1
  210. package/{styles → dist/styles}/graphs/_scatter-stacked.scss +1 -1
  211. package/{styles → dist/styles}/graphs/_tree.scss +2 -3
  212. package/{styles → dist/styles}/styles.scss +8 -3
  213. package/{styles → dist/styles}/tokens.scss +97 -106
  214. package/dist/styles.css +28264 -0
  215. package/dist/styles.css.map +1 -0
  216. package/dist/styles.min.css +1 -0
  217. package/dist/styles.min.css.map +1 -0
  218. package/{tools.d.ts → dist/tools.d.ts} +144 -144
  219. package/package.json +136 -101
  220. package/axis-chart.d.ts +0 -10
  221. package/axis-chart.js +0 -169
  222. package/axis-chart.js.map +0 -1
  223. package/build/demo/create-codesandbox.d.ts +0 -113
  224. package/build/demo/data/high-scale.d.ts +0 -1
  225. package/build/demo/data/index.d.ts +0 -33
  226. package/build/demo/utils.d.ts +0 -40
  227. package/build/src/axis-chart.d.ts +0 -10
  228. package/build/src/chart.d.ts +0 -14
  229. package/build/src/charts/alluvial.d.ts +0 -8
  230. package/build/src/charts/area-stacked.d.ts +0 -6
  231. package/build/src/charts/area.d.ts +0 -6
  232. package/build/src/charts/bar-grouped.d.ts +0 -6
  233. package/build/src/charts/bar-simple.d.ts +0 -6
  234. package/build/src/charts/bar-stacked.d.ts +0 -6
  235. package/build/src/charts/boxplot.d.ts +0 -8
  236. package/build/src/charts/bubble.d.ts +0 -6
  237. package/build/src/charts/bullet.d.ts +0 -8
  238. package/build/src/charts/choropleth.d.ts +0 -10
  239. package/build/src/charts/circle-pack.d.ts +0 -8
  240. package/build/src/charts/combo.d.ts +0 -7
  241. package/build/src/charts/donut.d.ts +0 -6
  242. package/build/src/charts/gauge.d.ts +0 -8
  243. package/build/src/charts/heatmap.d.ts +0 -10
  244. package/build/src/charts/histogram.d.ts +0 -8
  245. package/build/src/charts/index.d.ts +0 -25
  246. package/build/src/charts/line.d.ts +0 -6
  247. package/build/src/charts/lollipop.d.ts +0 -6
  248. package/build/src/charts/meter.d.ts +0 -8
  249. package/build/src/charts/pie.d.ts +0 -8
  250. package/build/src/charts/radar.d.ts +0 -8
  251. package/build/src/charts/scatter.d.ts +0 -6
  252. package/build/src/charts/tree.d.ts +0 -8
  253. package/build/src/charts/treemap.d.ts +0 -8
  254. package/build/src/charts/wordcloud.d.ts +0 -8
  255. package/build/src/components/axes/axis.d.ts +0 -24
  256. package/build/src/components/axes/grid-brush.d.ts +0 -10
  257. package/build/src/components/axes/grid.d.ts +0 -22
  258. package/build/src/components/axes/ruler-binned.d.ts +0 -7
  259. package/build/src/components/axes/ruler.d.ts +0 -27
  260. package/build/src/components/axes/two-dimensional-axes.d.ts +0 -16
  261. package/build/src/components/axes/zero-line.d.ts +0 -7
  262. package/build/src/components/axes/zoom-bar.d.ts +0 -28
  263. package/build/src/components/diagrams/buildPaths.d.ts +0 -63
  264. package/build/src/components/essentials/canvas-chart-clip.d.ts +0 -6
  265. package/build/src/components/essentials/modal.d.ts +0 -14
  266. package/build/src/components/essentials/title-meter.d.ts +0 -30
  267. package/build/src/components/essentials/title.d.ts +0 -20
  268. package/build/src/components/graphs/alluvial.d.ts +0 -14
  269. package/build/src/components/graphs/area-stacked.d.ts +0 -11
  270. package/build/src/components/graphs/area.d.ts +0 -12
  271. package/build/src/components/graphs/boxplot.d.ts +0 -9
  272. package/build/src/components/graphs/bullet.d.ts +0 -12
  273. package/build/src/components/graphs/choropleth.d.ts +0 -6
  274. package/build/src/components/graphs/histogram.d.ts +0 -12
  275. package/build/src/components/graphs/line.d.ts +0 -11
  276. package/build/src/components/graphs/lollipop.d.ts +0 -14
  277. package/build/src/components/graphs/meter.d.ts +0 -10
  278. package/build/src/components/graphs/scatter.d.ts +0 -21
  279. package/build/src/components/graphs/skeleton-lines.d.ts +0 -11
  280. package/build/src/components/graphs/tree.d.ts +0 -9
  281. package/build/src/components/graphs/treemap.d.ts +0 -11
  282. package/build/src/components/index.d.ts +0 -53
  283. package/build/src/components/layout/layout.d.ts +0 -17
  284. package/build/src/components/layout/spacer.d.ts +0 -5
  285. package/build/src/configuration.d.ts +0 -46
  286. package/build/src/interfaces/charts.d.ts +0 -512
  287. package/build/src/interfaces/index.d.ts +0 -7
  288. package/build/src/interfaces/layout.d.ts +0 -15
  289. package/build/src/model/heatmap.d.ts +0 -52
  290. package/build/src/model/meter.d.ts +0 -19
  291. package/build/src/model/model.d.ts +0 -107
  292. package/build/src/services/angle-utils.d.ts +0 -205
  293. package/build/src/services/color-scale-utils.d.ts +0 -10
  294. package/build/src/services/curves.d.ts +0 -25
  295. package/build/src/services/essentials/dom-utils.d.ts +0 -39
  296. package/build/src/services/essentials/events.d.ts +0 -8
  297. package/build/src/services/essentials/files.d.ts +0 -6
  298. package/build/src/services/essentials/transitions.d.ts +0 -13
  299. package/build/src/services/index.d.ts +0 -10
  300. package/build/src/services/scales-cartesian.d.ts +0 -86
  301. package/build/src/services/service.d.ts +0 -10
  302. package/build/src/services/time-series.d.ts +0 -787
  303. package/build/src/tools.d.ts +0 -2427
  304. package/build/stories/all.stories.d.ts +0 -1
  305. package/build/stories/tutorials/api.d.ts +0 -4
  306. package/build/stories/tutorials/color-palette.d.ts +0 -4
  307. package/build/stories/tutorials/combo-charts.d.ts +0 -4
  308. package/build/stories/tutorials/dual-axes.d.ts +0 -4
  309. package/build/stories/tutorials/event-listeners.d.ts +0 -4
  310. package/build/stories/tutorials/getting-started/angular.d.ts +0 -5
  311. package/build/stories/tutorials/getting-started/react.d.ts +0 -5
  312. package/build/stories/tutorials/getting-started/vanilla.d.ts +0 -5
  313. package/build/stories/tutorials/getting-started/vue.d.ts +0 -5
  314. package/build/stories/tutorials/index.d.ts +0 -11
  315. package/build/stories/tutorials/tabular-data-format.d.ts +0 -4
  316. package/build/stories/tutorials/themes.d.ts +0 -4
  317. package/build/stories/tutorials.stories.d.ts +0 -1
  318. package/bundle.js +0 -17
  319. package/chart.d.ts +0 -14
  320. package/chart.js +0 -198
  321. package/chart.js.map +0 -1
  322. package/charts/alluvial.d.ts +0 -8
  323. package/charts/alluvial.js +0 -46
  324. package/charts/alluvial.js.map +0 -1
  325. package/charts/area-stacked.d.ts +0 -6
  326. package/charts/area-stacked.js +0 -55
  327. package/charts/area-stacked.js.map +0 -1
  328. package/charts/area.d.ts +0 -6
  329. package/charts/area.js +0 -54
  330. package/charts/area.js.map +0 -1
  331. package/charts/bar-grouped.d.ts +0 -6
  332. package/charts/bar-grouped.js +0 -49
  333. package/charts/bar-grouped.js.map +0 -1
  334. package/charts/bar-simple.d.ts +0 -6
  335. package/charts/bar-simple.js +0 -49
  336. package/charts/bar-simple.js.map +0 -1
  337. package/charts/bar-stacked.d.ts +0 -6
  338. package/charts/bar-stacked.js +0 -50
  339. package/charts/bar-stacked.js.map +0 -1
  340. package/charts/boxplot.d.ts +0 -8
  341. package/charts/boxplot.js +0 -55
  342. package/charts/boxplot.js.map +0 -1
  343. package/charts/bubble.d.ts +0 -6
  344. package/charts/bubble.js +0 -49
  345. package/charts/bubble.js.map +0 -1
  346. package/charts/bullet.d.ts +0 -8
  347. package/charts/bullet.js +0 -50
  348. package/charts/bullet.js.map +0 -1
  349. package/charts/choropleth.d.ts +0 -10
  350. package/charts/choropleth.js +0 -141
  351. package/charts/choropleth.js.map +0 -1
  352. package/charts/circle-pack.d.ts +0 -8
  353. package/charts/circle-pack.js +0 -45
  354. package/charts/circle-pack.js.map +0 -1
  355. package/charts/combo.d.ts +0 -7
  356. package/charts/combo.js +0 -132
  357. package/charts/combo.js.map +0 -1
  358. package/charts/donut.d.ts +0 -6
  359. package/charts/donut.js +0 -46
  360. package/charts/donut.js.map +0 -1
  361. package/charts/gauge.d.ts +0 -8
  362. package/charts/gauge.js +0 -42
  363. package/charts/gauge.js.map +0 -1
  364. package/charts/heatmap.d.ts +0 -10
  365. package/charts/heatmap.js +0 -142
  366. package/charts/heatmap.js.map +0 -1
  367. package/charts/histogram.d.ts +0 -8
  368. package/charts/histogram.js +0 -48
  369. package/charts/histogram.js.map +0 -1
  370. package/charts/index.d.ts +0 -25
  371. package/charts/index.js +0 -26
  372. package/charts/index.js.map +0 -1
  373. package/charts/line.d.ts +0 -6
  374. package/charts/line.js +0 -48
  375. package/charts/line.js.map +0 -1
  376. package/charts/lollipop.d.ts +0 -6
  377. package/charts/lollipop.js +0 -50
  378. package/charts/lollipop.js.map +0 -1
  379. package/charts/meter.d.ts +0 -8
  380. package/charts/meter.js +0 -94
  381. package/charts/meter.js.map +0 -1
  382. package/charts/pie.d.ts +0 -8
  383. package/charts/pie.js +0 -55
  384. package/charts/pie.js.map +0 -1
  385. package/charts/radar.d.ts +0 -8
  386. package/charts/radar.js +0 -44
  387. package/charts/radar.js.map +0 -1
  388. package/charts/scatter.d.ts +0 -6
  389. package/charts/scatter.js +0 -49
  390. package/charts/scatter.js.map +0 -1
  391. package/charts/tree.d.ts +0 -8
  392. package/charts/tree.js +0 -47
  393. package/charts/tree.js.map +0 -1
  394. package/charts/treemap.d.ts +0 -8
  395. package/charts/treemap.js +0 -43
  396. package/charts/treemap.js.map +0 -1
  397. package/charts/wordcloud.d.ts +0 -8
  398. package/charts/wordcloud.js +0 -49
  399. package/charts/wordcloud.js.map +0 -1
  400. package/components/axes/axis.d.ts +0 -24
  401. package/components/axes/axis.js +0 -587
  402. package/components/axes/axis.js.map +0 -1
  403. package/components/axes/chart-clip.d.ts +0 -13
  404. package/components/axes/chart-clip.js +0 -63
  405. package/components/axes/chart-clip.js.map +0 -1
  406. package/components/axes/grid-brush.js +0 -170
  407. package/components/axes/grid-brush.js.map +0 -1
  408. package/components/axes/grid.js +0 -235
  409. package/components/axes/grid.js.map +0 -1
  410. package/components/axes/hover-axis.d.ts +0 -10
  411. package/components/axes/hover-axis.js +0 -243
  412. package/components/axes/hover-axis.js.map +0 -1
  413. package/components/axes/ruler-binned.js +0 -136
  414. package/components/axes/ruler-binned.js.map +0 -1
  415. package/components/axes/ruler-stacked.d.ts +0 -4
  416. package/components/axes/ruler-stacked.js +0 -26
  417. package/components/axes/ruler-stacked.js.map +0 -1
  418. package/components/axes/ruler.js +0 -209
  419. package/components/axes/ruler.js.map +0 -1
  420. package/components/axes/toolbar.d.ts +0 -40
  421. package/components/axes/toolbar.js +0 -558
  422. package/components/axes/toolbar.js.map +0 -1
  423. package/components/axes/two-dimensional-axes.js +0 -134
  424. package/components/axes/two-dimensional-axes.js.map +0 -1
  425. package/components/axes/zero-line.js +0 -76
  426. package/components/axes/zero-line.js.map +0 -1
  427. package/components/axes/zoom-bar.js +0 -490
  428. package/components/axes/zoom-bar.js.map +0 -1
  429. package/components/component.d.ts +0 -28
  430. package/components/component.js +0 -102
  431. package/components/component.js.map +0 -1
  432. package/components/diagrams/buildPaths.d.ts +0 -39
  433. package/components/diagrams/buildPaths.js +0 -71
  434. package/components/diagrams/buildPaths.js.map +0 -1
  435. package/components/diagrams/markerDefinitions.d.ts +0 -37
  436. package/components/diagrams/markerDefinitions.js +0 -38
  437. package/components/diagrams/markerDefinitions.js.map +0 -1
  438. package/components/essentials/canvas-chart-clip.js +0 -46
  439. package/components/essentials/canvas-chart-clip.js.map +0 -1
  440. package/components/essentials/color-scale-legend.d.ts +0 -20
  441. package/components/essentials/color-scale-legend.js +0 -237
  442. package/components/essentials/color-scale-legend.js.map +0 -1
  443. package/components/essentials/geo-projection.d.ts +0 -16
  444. package/components/essentials/geo-projection.js +0 -160
  445. package/components/essentials/geo-projection.js.map +0 -1
  446. package/components/essentials/highlights.d.ts +0 -13
  447. package/components/essentials/highlights.js +0 -196
  448. package/components/essentials/highlights.js.map +0 -1
  449. package/components/essentials/legend.d.ts +0 -11
  450. package/components/essentials/legend.js +0 -428
  451. package/components/essentials/legend.js.map +0 -1
  452. package/components/essentials/modal.js +0 -89
  453. package/components/essentials/modal.js.map +0 -1
  454. package/components/essentials/threshold.d.ts +0 -20
  455. package/components/essentials/threshold.js +0 -306
  456. package/components/essentials/threshold.js.map +0 -1
  457. package/components/essentials/title-meter.js +0 -279
  458. package/components/essentials/title-meter.js.map +0 -1
  459. package/components/essentials/title.js +0 -138
  460. package/components/essentials/title.js.map +0 -1
  461. package/components/essentials/tooltip-axis.d.ts +0 -4
  462. package/components/essentials/tooltip-axis.js +0 -142
  463. package/components/essentials/tooltip-axis.js.map +0 -1
  464. package/components/essentials/tooltip.d.ts +0 -22
  465. package/components/essentials/tooltip.js +0 -263
  466. package/components/essentials/tooltip.js.map +0 -1
  467. package/components/graphs/alluvial.js +0 -535
  468. package/components/graphs/alluvial.js.map +0 -1
  469. package/components/graphs/area-stacked.js +0 -131
  470. package/components/graphs/area-stacked.js.map +0 -1
  471. package/components/graphs/area.d.ts +0 -12
  472. package/components/graphs/area.js +0 -260
  473. package/components/graphs/area.js.map +0 -1
  474. package/components/graphs/bar-grouped.d.ts +0 -22
  475. package/components/graphs/bar-grouped.js +0 -312
  476. package/components/graphs/bar-grouped.js.map +0 -1
  477. package/components/graphs/bar-simple.d.ts +0 -12
  478. package/components/graphs/bar-simple.js +0 -218
  479. package/components/graphs/bar-simple.js.map +0 -1
  480. package/components/graphs/bar-stacked.d.ts +0 -13
  481. package/components/graphs/bar-stacked.js +0 -281
  482. package/components/graphs/bar-stacked.js.map +0 -1
  483. package/components/graphs/bar.d.ts +0 -5
  484. package/components/graphs/bar.js +0 -58
  485. package/components/graphs/bar.js.map +0 -1
  486. package/components/graphs/boxplot.js +0 -485
  487. package/components/graphs/boxplot.js.map +0 -1
  488. package/components/graphs/bubble.d.ts +0 -13
  489. package/components/graphs/bubble.js +0 -113
  490. package/components/graphs/bubble.js.map +0 -1
  491. package/components/graphs/bullet.d.ts +0 -12
  492. package/components/graphs/bullet.js +0 -395
  493. package/components/graphs/bullet.js.map +0 -1
  494. package/components/graphs/choropleth.js +0 -106
  495. package/components/graphs/choropleth.js.map +0 -1
  496. package/components/graphs/circle-pack.d.ts +0 -19
  497. package/components/graphs/circle-pack.js +0 -388
  498. package/components/graphs/circle-pack.js.map +0 -1
  499. package/components/graphs/donut.d.ts +0 -9
  500. package/components/graphs/donut.js +0 -116
  501. package/components/graphs/donut.js.map +0 -1
  502. package/components/graphs/gauge.d.ts +0 -27
  503. package/components/graphs/gauge.js +0 -347
  504. package/components/graphs/gauge.js.map +0 -1
  505. package/components/graphs/heatmap.d.ts +0 -25
  506. package/components/graphs/heatmap.js +0 -388
  507. package/components/graphs/heatmap.js.map +0 -1
  508. package/components/graphs/histogram.d.ts +0 -12
  509. package/components/graphs/histogram.js +0 -220
  510. package/components/graphs/histogram.js.map +0 -1
  511. package/components/graphs/line.d.ts +0 -11
  512. package/components/graphs/line.js +0 -179
  513. package/components/graphs/line.js.map +0 -1
  514. package/components/graphs/lollipop.d.ts +0 -14
  515. package/components/graphs/lollipop.js +0 -164
  516. package/components/graphs/lollipop.js.map +0 -1
  517. package/components/graphs/meter.js +0 -284
  518. package/components/graphs/meter.js.map +0 -1
  519. package/components/graphs/pie.d.ts +0 -16
  520. package/components/graphs/pie.js +0 -438
  521. package/components/graphs/pie.js.map +0 -1
  522. package/components/graphs/radar.d.ts +0 -25
  523. package/components/graphs/radar.js +0 -737
  524. package/components/graphs/radar.js.map +0 -1
  525. package/components/graphs/scatter-stacked.d.ts +0 -8
  526. package/components/graphs/scatter-stacked.js +0 -140
  527. package/components/graphs/scatter-stacked.js.map +0 -1
  528. package/components/graphs/scatter.d.ts +0 -21
  529. package/components/graphs/scatter.js +0 -360
  530. package/components/graphs/scatter.js.map +0 -1
  531. package/components/graphs/skeleton-lines.d.ts +0 -11
  532. package/components/graphs/skeleton-lines.js +0 -84
  533. package/components/graphs/skeleton-lines.js.map +0 -1
  534. package/components/graphs/skeleton.d.ts +0 -22
  535. package/components/graphs/skeleton.js +0 -272
  536. package/components/graphs/skeleton.js.map +0 -1
  537. package/components/graphs/tree.js +0 -262
  538. package/components/graphs/tree.js.map +0 -1
  539. package/components/graphs/treemap.d.ts +0 -11
  540. package/components/graphs/treemap.js +0 -344
  541. package/components/graphs/treemap.js.map +0 -1
  542. package/components/graphs/wordcloud.d.ts +0 -12
  543. package/components/graphs/wordcloud.js +0 -268
  544. package/components/graphs/wordcloud.js.map +0 -1
  545. package/components/index.d.ts +0 -53
  546. package/components/index.js +0 -59
  547. package/components/index.js.map +0 -1
  548. package/components/layout/layout.js +0 -191
  549. package/components/layout/layout.js.map +0 -1
  550. package/components/layout/spacer.d.ts +0 -5
  551. package/components/layout/spacer.js +0 -33
  552. package/components/layout/spacer.js.map +0 -1
  553. package/configuration-non-customizable.d.ts +0 -263
  554. package/configuration-non-customizable.js +0 -276
  555. package/configuration-non-customizable.js.map +0 -1
  556. package/configuration.js +0 -552
  557. package/configuration.js.map +0 -1
  558. package/demo/create-codesandbox.d.ts +0 -65
  559. package/demo/create-codesandbox.js +0 -173
  560. package/demo/create-codesandbox.js.map +0 -1
  561. package/demo/data/CHART_TYPES.d.ts +0 -128
  562. package/demo/data/CHART_TYPES.js +0 -128
  563. package/demo/data/CHART_TYPES.js.map +0 -1
  564. package/demo/data/alluvial.d.ts +0 -109
  565. package/demo/data/alluvial.js +0 -328
  566. package/demo/data/alluvial.js.map +0 -1
  567. package/demo/data/area.d.ts +0 -224
  568. package/demo/data/area.js +0 -330
  569. package/demo/data/area.js.map +0 -1
  570. package/demo/data/bar.d.ts +0 -681
  571. package/demo/data/bar.js +0 -915
  572. package/demo/data/bar.js.map +0 -1
  573. package/demo/data/boxplot.d.ts +0 -34
  574. package/demo/data/boxplot.js +0 -48
  575. package/demo/data/boxplot.js.map +0 -1
  576. package/demo/data/bubble.d.ts +0 -141
  577. package/demo/data/bubble.js +0 -182
  578. package/demo/data/bubble.js.map +0 -1
  579. package/demo/data/bullet.d.ts +0 -24
  580. package/demo/data/bullet.js +0 -55
  581. package/demo/data/bullet.js.map +0 -1
  582. package/demo/data/bundle.js +0 -1
  583. package/demo/data/choropleth.d.ts +0 -738
  584. package/demo/data/choropleth.js +0 -1684
  585. package/demo/data/choropleth.js.map +0 -1
  586. package/demo/data/circle-pack.d.ts +0 -91
  587. package/demo/data/circle-pack.js +0 -224
  588. package/demo/data/circle-pack.js.map +0 -1
  589. package/demo/data/combo.d.ts +0 -482
  590. package/demo/data/combo.js +0 -571
  591. package/demo/data/combo.js.map +0 -1
  592. package/demo/data/donut.d.ts +0 -64
  593. package/demo/data/donut.js +0 -60
  594. package/demo/data/donut.js.map +0 -1
  595. package/demo/data/gauge.d.ts +0 -40
  596. package/demo/data/gauge.js +0 -41
  597. package/demo/data/gauge.js.map +0 -1
  598. package/demo/data/heatmap.d.ts +0 -125
  599. package/demo/data/heatmap.js +0 -1149
  600. package/demo/data/heatmap.js.map +0 -1
  601. package/demo/data/high-scale.d.ts +0 -1
  602. package/demo/data/high-scale.js +0 -5
  603. package/demo/data/high-scale.js.map +0 -1
  604. package/demo/data/hightlight.d.ts +0 -40
  605. package/demo/data/hightlight.js +0 -44
  606. package/demo/data/hightlight.js.map +0 -1
  607. package/demo/data/histogram.d.ts +0 -63
  608. package/demo/data/histogram.js +0 -312
  609. package/demo/data/histogram.js.map +0 -1
  610. package/demo/data/index.d.ts +0 -33
  611. package/demo/data/index.js +0 -1305
  612. package/demo/data/index.js.map +0 -1
  613. package/demo/data/line.d.ts +0 -361
  614. package/demo/data/line.js +0 -480
  615. package/demo/data/line.js.map +0 -1
  616. package/demo/data/lollipop.d.ts +0 -39
  617. package/demo/data/lollipop.js +0 -37
  618. package/demo/data/lollipop.js.map +0 -1
  619. package/demo/data/meter.d.ts +0 -95
  620. package/demo/data/meter.js +0 -114
  621. package/demo/data/meter.js.map +0 -1
  622. package/demo/data/pie.d.ts +0 -46
  623. package/demo/data/pie.js +0 -55
  624. package/demo/data/pie.js.map +0 -1
  625. package/demo/data/radar.d.ts +0 -63
  626. package/demo/data/radar.js +0 -118
  627. package/demo/data/radar.js.map +0 -1
  628. package/demo/data/scatter.d.ts +0 -118
  629. package/demo/data/scatter.js +0 -143
  630. package/demo/data/scatter.js.map +0 -1
  631. package/demo/data/step.d.ts +0 -96
  632. package/demo/data/step.js +0 -27
  633. package/demo/data/step.js.map +0 -1
  634. package/demo/data/time-series-axis.d.ts +0 -368
  635. package/demo/data/time-series-axis.js +0 -436
  636. package/demo/data/time-series-axis.js.map +0 -1
  637. package/demo/data/toolbar.d.ts +0 -12
  638. package/demo/data/toolbar.js +0 -67
  639. package/demo/data/toolbar.js.map +0 -1
  640. package/demo/data/topojson-110.d.ts +0 -360
  641. package/demo/data/topojson-110.js +0 -40724
  642. package/demo/data/topojson-110.js.map +0 -1
  643. package/demo/data/tree.d.ts +0 -30
  644. package/demo/data/tree.js +0 -209
  645. package/demo/data/tree.js.map +0 -1
  646. package/demo/data/treemap.d.ts +0 -15
  647. package/demo/data/treemap.js +0 -93
  648. package/demo/data/treemap.js.map +0 -1
  649. package/demo/data/wordcloud.d.ts +0 -14
  650. package/demo/data/wordcloud.js +0 -105
  651. package/demo/data/wordcloud.js.map +0 -1
  652. package/demo/data/zoom-bar.d.ts +0 -94
  653. package/demo/data/zoom-bar.js +0 -187
  654. package/demo/data/zoom-bar.js.map +0 -1
  655. package/demo/styles.css.map +0 -1
  656. package/demo/styles.min.css +0 -1
  657. package/demo/styles.min.css.map +0 -1
  658. package/demo/tsconfig.tsbuildinfo +0 -1451
  659. package/demo/utils.d.ts +0 -24
  660. package/demo/utils.js +0 -222
  661. package/demo/utils.js.map +0 -1
  662. package/index.d.ts +0 -4
  663. package/index.js +0 -6
  664. package/index.js.map +0 -1
  665. package/interfaces/a11y.d.ts +0 -12
  666. package/interfaces/a11y.js +0 -14
  667. package/interfaces/a11y.js.map +0 -1
  668. package/interfaces/axis-scales.d.ts +0 -201
  669. package/interfaces/axis-scales.js +0 -1
  670. package/interfaces/axis-scales.js.map +0 -1
  671. package/interfaces/charts.js +0 -1
  672. package/interfaces/charts.js.map +0 -1
  673. package/interfaces/components.d.ts +0 -231
  674. package/interfaces/components.js +0 -1
  675. package/interfaces/components.js.map +0 -1
  676. package/interfaces/enums.d.ts +0 -261
  677. package/interfaces/enums.js +0 -296
  678. package/interfaces/enums.js.map +0 -1
  679. package/interfaces/events.d.ts +0 -239
  680. package/interfaces/events.js +0 -269
  681. package/interfaces/events.js.map +0 -1
  682. package/interfaces/index.d.ts +0 -7
  683. package/interfaces/index.js +0 -3
  684. package/interfaces/index.js.map +0 -1
  685. package/interfaces/layout.js +0 -1
  686. package/interfaces/layout.js.map +0 -1
  687. package/interfaces/model.d.ts +0 -35
  688. package/interfaces/model.js +0 -1
  689. package/interfaces/model.js.map +0 -1
  690. package/interfaces/truncation.d.ts +0 -17
  691. package/interfaces/truncation.js +0 -1
  692. package/interfaces/truncation.js.map +0 -1
  693. package/model/alluvial.d.ts +0 -8
  694. package/model/alluvial.js +0 -47
  695. package/model/alluvial.js.map +0 -1
  696. package/model/binned-charts.d.ts +0 -7
  697. package/model/binned-charts.js +0 -52
  698. package/model/binned-charts.js.map +0 -1
  699. package/model/boxplot.d.ts +0 -14
  700. package/model/boxplot.js +0 -174
  701. package/model/boxplot.js.map +0 -1
  702. package/model/bullet.d.ts +0 -14
  703. package/model/bullet.js +0 -74
  704. package/model/bullet.js.map +0 -1
  705. package/model/cartesian-charts.d.ts +0 -24
  706. package/model/cartesian-charts.js +0 -202
  707. package/model/cartesian-charts.js.map +0 -1
  708. package/model/choropleth.d.ts +0 -29
  709. package/model/choropleth.js +0 -105
  710. package/model/choropleth.js.map +0 -1
  711. package/model/circle-pack.d.ts +0 -36
  712. package/model/circle-pack.js +0 -189
  713. package/model/circle-pack.js.map +0 -1
  714. package/model/gauge.d.ts +0 -9
  715. package/model/gauge.js +0 -51
  716. package/model/gauge.js.map +0 -1
  717. package/model/heatmap.js +0 -220
  718. package/model/heatmap.js.map +0 -1
  719. package/model/meter.js +0 -118
  720. package/model/meter.js.map +0 -1
  721. package/model/model.js +0 -712
  722. package/model/model.js.map +0 -1
  723. package/model/pie.d.ts +0 -9
  724. package/model/pie.js +0 -66
  725. package/model/pie.js.map +0 -1
  726. package/model/radar.d.ts +0 -7
  727. package/model/radar.js +0 -52
  728. package/model/radar.js.map +0 -1
  729. package/model/tree.d.ts +0 -14
  730. package/model/tree.js +0 -56
  731. package/model/tree.js.map +0 -1
  732. package/model/treemap.d.ts +0 -8
  733. package/model/treemap.js +0 -44
  734. package/model/treemap.js.map +0 -1
  735. package/model/wordcloud.d.ts +0 -7
  736. package/model/wordcloud.js +0 -47
  737. package/model/wordcloud.js.map +0 -1
  738. package/polyfills.d.ts +0 -0
  739. package/polyfills.js +0 -29
  740. package/polyfills.js.map +0 -1
  741. package/services/angle-utils.js +0 -82
  742. package/services/angle-utils.js.map +0 -1
  743. package/services/canvas-zoom.d.ts +0 -11
  744. package/services/canvas-zoom.js +0 -72
  745. package/services/canvas-zoom.js.map +0 -1
  746. package/services/color-scale-utils.js +0 -64
  747. package/services/color-scale-utils.js.map +0 -1
  748. package/services/curves.d.ts +0 -25
  749. package/services/curves.js +0 -77
  750. package/services/curves.js.map +0 -1
  751. package/services/essentials/dom-utils.d.ts +0 -39
  752. package/services/essentials/dom-utils.js +0 -423
  753. package/services/essentials/dom-utils.js.map +0 -1
  754. package/services/essentials/events.d.ts +0 -8
  755. package/services/essentials/events.js +0 -53
  756. package/services/essentials/events.js.map +0 -1
  757. package/services/essentials/files.d.ts +0 -6
  758. package/services/essentials/files.js +0 -60
  759. package/services/essentials/files.js.map +0 -1
  760. package/services/essentials/gradient-utils.d.ts +0 -6
  761. package/services/essentials/gradient-utils.js +0 -85
  762. package/services/essentials/gradient-utils.js.map +0 -1
  763. package/services/essentials/transitions.d.ts +0 -13
  764. package/services/essentials/transitions.js +0 -51
  765. package/services/essentials/transitions.js.map +0 -1
  766. package/services/index.d.ts +0 -10
  767. package/services/index.js +0 -13
  768. package/services/index.js.map +0 -1
  769. package/services/scales-cartesian.d.ts +0 -86
  770. package/services/scales-cartesian.js +0 -656
  771. package/services/scales-cartesian.js.map +0 -1
  772. package/services/service.d.ts +0 -10
  773. package/services/service.js +0 -24
  774. package/services/service.js.map +0 -1
  775. package/services/time-series.js +0 -147
  776. package/services/time-series.js.map +0 -1
  777. package/services/zoom.d.ts +0 -21
  778. package/services/zoom.js +0 -217
  779. package/services/zoom.js.map +0 -1
  780. package/styles/components/_marker.scss +0 -7
  781. package/styles/components/diagrams/index.scss +0 -4
  782. package/styles.css +0 -6325
  783. package/styles.css.map +0 -1
  784. package/styles.min.css +0 -1
  785. package/styles.min.css.map +0 -1
  786. package/tools.js +0 -348
  787. package/tools.js.map +0 -1
  788. package/tsconfig.tsbuildinfo +0 -3816
  789. /package/{build/src → dist}/components/axes/ruler-stacked.d.ts +0 -0
  790. /package/{build/src → dist}/components/diagrams/markerDefinitions.d.ts +0 -0
  791. /package/{build/src → dist}/components/essentials/tooltip-axis.d.ts +0 -0
  792. /package/{build/demo/data → dist/demo/charts}/alluvial.d.ts +0 -0
  793. /package/{build/demo/data → dist/demo/charts}/area.d.ts +0 -0
  794. /package/{build/demo/data → dist/demo/charts}/bar.d.ts +0 -0
  795. /package/{build/demo/data → dist/demo/charts}/boxplot.d.ts +0 -0
  796. /package/{build/demo/data → dist/demo/charts}/bubble.d.ts +0 -0
  797. /package/{build/demo/data → dist/demo/charts}/bullet.d.ts +0 -0
  798. /package/{build/demo/data/CHART_TYPES.d.ts → dist/demo/charts/chart-types.d.ts} +0 -0
  799. /package/{build/demo/data → dist/demo/charts}/choropleth.d.ts +0 -0
  800. /package/{build/demo/data → dist/demo/charts}/circle-pack.d.ts +0 -0
  801. /package/{build/demo/data → dist/demo/charts}/combo.d.ts +0 -0
  802. /package/{build/demo/data → dist/demo/charts}/donut.d.ts +0 -0
  803. /package/{build/demo/data → dist/demo/charts}/gauge.d.ts +0 -0
  804. /package/{build/demo/data → dist/demo/charts}/heatmap.d.ts +0 -0
  805. /package/{build/demo/data → dist/demo/charts}/hightlight.d.ts +0 -0
  806. /package/{build/demo/data → dist/demo/charts}/histogram.d.ts +0 -0
  807. /package/{build/demo/data → dist/demo/charts}/line.d.ts +0 -0
  808. /package/{build/demo/data → dist/demo/charts}/lollipop.d.ts +0 -0
  809. /package/{build/demo/data → dist/demo/charts}/meter.d.ts +0 -0
  810. /package/{build/demo/data → dist/demo/charts}/pie.d.ts +0 -0
  811. /package/{build/demo/data → dist/demo/charts}/radar.d.ts +0 -0
  812. /package/{build/demo/data → dist/demo/charts}/scatter.d.ts +0 -0
  813. /package/{build/demo/data → dist/demo/charts}/step.d.ts +0 -0
  814. /package/{build/demo/data → dist/demo/charts}/toolbar.d.ts +0 -0
  815. /package/{build/demo/data → dist/demo/charts}/topojson-110.d.ts +0 -0
  816. /package/{build/demo/data → dist/demo/charts}/tree.d.ts +0 -0
  817. /package/{build/demo/data → dist/demo/charts}/treemap.d.ts +0 -0
  818. /package/{build/demo/data → dist/demo/charts}/wordcloud.d.ts +0 -0
  819. /package/{build/src → dist}/interfaces/a11y.d.ts +0 -0
  820. /package/{build/src → dist}/interfaces/enums.d.ts +0 -0
  821. /package/{build/src → dist}/interfaces/events.d.ts +0 -0
  822. /package/{build/src → dist}/model/alluvial.d.ts +0 -0
  823. /package/{build/src → dist}/model/boxplot.d.ts +0 -0
  824. /package/{build/src → dist}/model/bullet.d.ts +0 -0
  825. /package/{build/src → dist}/model/choropleth.d.ts +0 -0
  826. /package/{build/src → dist}/model/circle-pack.d.ts +0 -0
  827. /package/{build/src → dist}/model/gauge.d.ts +0 -0
  828. /package/{build/src → dist}/model/pie.d.ts +0 -0
  829. /package/{build/src → dist}/model/radar.d.ts +0 -0
  830. /package/{build/src → dist}/model/tree.d.ts +0 -0
  831. /package/{build/src → dist}/model/treemap.d.ts +0 -0
  832. /package/{build/src → dist}/model/wordcloud.d.ts +0 -0
  833. /package/{build/src → dist}/services/canvas-zoom.d.ts +0 -0
  834. /package/{styles → dist/styles}/_type.scss +0 -0
  835. /package/{styles → dist/styles}/components/_axis.scss +0 -0
  836. /package/{styles → dist/styles}/components/_callouts.scss +0 -0
  837. /package/{styles → dist/styles}/components/_grid-brush.scss +0 -0
  838. /package/{styles → dist/styles}/components/_highlights.scss +0 -0
  839. /package/{styles → dist/styles}/components/_layout.scss +0 -0
  840. /package/{styles → dist/styles}/components/_legend.scss +0 -0
  841. /package/{styles → dist/styles}/components/_modal.scss +0 -0
  842. /package/{styles → dist/styles}/components/_ruler.scss +0 -0
  843. /package/{styles → dist/styles}/components/_skeleton-lines.scss +0 -0
  844. /package/{styles → dist/styles}/components/_skeleton.scss +0 -0
  845. /package/{styles → dist/styles}/components/_threshold.scss +0 -0
  846. /package/{styles → dist/styles}/components/_title.scss +0 -0
  847. /package/{styles → dist/styles}/components/_toolbar.scss +0 -0
  848. /package/{styles → dist/styles}/components/_zero-line.scss +0 -0
  849. /package/{styles → dist/styles}/components/_zoom-bar.scss +0 -0
  850. /package/{styles → dist/styles}/components/diagrams/_marker.scss +0 -0
  851. /package/{styles → dist/styles}/components/index.scss +0 -0
  852. /package/{styles → dist/styles}/graphs/_area.scss +0 -0
  853. /package/{styles → dist/styles}/graphs/_bubble.scss +0 -0
  854. /package/{styles → dist/styles}/graphs/_choropleth.scss +0 -0
  855. /package/{styles → dist/styles}/graphs/_donut.scss +0 -0
  856. /package/{styles → dist/styles}/graphs/_line.scss +0 -0
  857. /package/{styles → dist/styles}/graphs/_lollipop.scss +0 -0
  858. /package/{styles → dist/styles}/graphs/_pie.scss +0 -0
  859. /package/{styles → dist/styles}/graphs/_scatter.scss +0 -0
  860. /package/{styles → dist/styles}/graphs/_treemap.scss +0 -0
  861. /package/{styles → dist/styles}/graphs/_wordcloud.scss +0 -0
  862. /package/{styles → dist/styles}/graphs/index.scss +0 -0
@@ -1,428 +0,0 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- extendStatics(d, b);
10
- function __() { this.constructor = d; }
11
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
- };
13
- })();
14
- // Internal Imports
15
- import { Component } from '../component';
16
- import * as Tools from '../../tools';
17
- import { Alignments, ColorClassNameTypes, LegendItemType, RenderTypes, Roles, Events, TruncationTypes, } from '../../interfaces';
18
- import * as Configuration from '../../configuration';
19
- // D3 Imports
20
- import { select } from 'd3-selection';
21
- var Legend = /** @class */ (function (_super) {
22
- __extends(Legend, _super);
23
- function Legend() {
24
- var _this = _super !== null && _super.apply(this, arguments) || this;
25
- _this.type = 'legend';
26
- _this.renderType = RenderTypes.HTML;
27
- return _this;
28
- }
29
- Legend.prototype.render = function () {
30
- var _this = this;
31
- var options = this.getOptions();
32
- var legendOptions = Tools.getProperty(options, 'legend');
33
- var alignment = Tools.getProperty(legendOptions, 'alignment');
34
- var legendOrientation = Tools.getProperty(options, 'legend', 'orientation');
35
- var dataGroups = this.model.getDataGroups();
36
- // Check if there are disabled legend items
37
- var DISABLED = Configuration.legend.items.status.DISABLED;
38
- var hasDeactivatedItems = dataGroups.some(function (dataGroup) { return dataGroup.status === DISABLED; });
39
- var userProvidedOrder = Tools.getProperty(legendOptions, 'order');
40
- var svg = this.getComponentContainer()
41
- .classed('center-aligned', alignment === Alignments.CENTER)
42
- .classed('right-aligned', alignment === Alignments.RIGHT)
43
- .classed(legendOrientation, true)
44
- .classed('has-deactivated-items', hasDeactivatedItems)
45
- .attr('role', Roles.GROUP)
46
- .attr('aria-label', 'Data groups')
47
- .attr('data-name', 'legend-items');
48
- if (userProvidedOrder) {
49
- dataGroups = this.sortDataGroups(dataGroups, userProvidedOrder);
50
- }
51
- var legendItems = svg
52
- .selectAll('div.legend-item')
53
- .data(dataGroups, function (dataGroup) { return dataGroup.name; });
54
- var addedLegendItems = legendItems
55
- .enter()
56
- .append('div')
57
- .attr('class', 'legend-item');
58
- addedLegendItems
59
- .merge(svg.selectAll('div.legend-item'))
60
- .classed('active', function (d, i) {
61
- return d.status === Configuration.legend.items.status.ACTIVE;
62
- });
63
- var legendClickable = Tools.getProperty(this.getOptions(), 'legend', 'clickable');
64
- svg.classed('clickable', legendClickable && dataGroups.length > 1);
65
- var checkboxRadius = Configuration.legend.checkbox.radius;
66
- var addedCheckboxes = addedLegendItems
67
- .append('div')
68
- .classed('checkbox', true);
69
- var allCheckboxes = addedCheckboxes
70
- .merge(legendItems.select('div.checkbox'))
71
- .attr('role', Roles.CHECKBOX)
72
- .attr('tabindex', legendClickable ? 0 : -1)
73
- .attr('aria-labelledby', function (d, i) {
74
- return _this.services.domUtils.generateElementIDString("legend-datagroup-" + i + "-title");
75
- })
76
- .attr('aria-checked', function (_a) {
77
- var status = _a.status;
78
- return status === Configuration.legend.items.status.ACTIVE;
79
- })
80
- .attr('width', checkboxRadius * 2)
81
- .attr('height', checkboxRadius * 2)
82
- .attr('class', function (d, i) {
83
- return _this.model.getColorClassName({
84
- classNameTypes: [ColorClassNameTypes.BACKGROUND],
85
- dataGroupName: d.name,
86
- originalClassName: 'checkbox',
87
- });
88
- })
89
- .style('background', function (d) {
90
- return d.status === Configuration.legend.items.status.ACTIVE
91
- ? _this.model.getFillColor(d.name) ||
92
- _this.model.getStrokeColor(d.name)
93
- : null;
94
- })
95
- .classed('active', function (d, i) {
96
- return d.status === Configuration.legend.items.status.ACTIVE;
97
- });
98
- var addedCheckIcons = addedCheckboxes
99
- .append('svg')
100
- .attr('focusable', false)
101
- .attr('preserveAspectRatio', 'xMidYMid meet')
102
- .attr('xmlns', 'http://www.w3.org/2000/svg')
103
- .attr('width', '11')
104
- .attr('height', '11')
105
- .attr('viewBox', '0 0 31 28')
106
- .attr('aria-hidden', true)
107
- .style('will-change', 'transform')
108
- .append('path')
109
- .attr('d', 'M13 21.2l-7.1-7.1-1.4 1.4 7.1 7.1L13 24 27.1 9.9l-1.4-1.5z');
110
- var addedLegendItemsText = addedLegendItems
111
- .append('p')
112
- .merge(legendItems.select('p'));
113
- var additionalItemsOption = Tools.getProperty(options, 'legend', 'additionalItems');
114
- // add additional legend items
115
- if (additionalItemsOption && dataGroups.length) {
116
- var self_1 = this;
117
- var additionalItems = svg
118
- .selectAll('div.additional-item')
119
- .data(additionalItemsOption);
120
- additionalItems.exit().remove();
121
- var addedAdditionalItems = additionalItems
122
- .enter()
123
- .append('div')
124
- .merge(additionalItems)
125
- .classed('legend-item', true)
126
- .classed('additional', true)
127
- .attr('aria-labelledby', function (d, i) {
128
- return _this.services.domUtils.generateElementIDString("legend-datagroup-" + (allCheckboxes.size() + i) + "-title");
129
- });
130
- // remove nested child elements that no longer needed
131
- addedAdditionalItems.selectAll('*').remove();
132
- // get index of item with same type to assign distinct classname
133
- var previousType_1;
134
- var indexOfItem_1 = 1;
135
- // add different type of legend items
136
- addedAdditionalItems
137
- .append('svg')
138
- .classed('icon', true)
139
- .each(function (d, i) {
140
- var additionalItem = select(this);
141
- if (!previousType_1 || previousType_1 != d.type) {
142
- previousType_1 = d.type;
143
- indexOfItem_1 = 1;
144
- }
145
- else {
146
- indexOfItem_1++;
147
- }
148
- self_1.addAdditionalItem(additionalItem, d, indexOfItem_1);
149
- });
150
- var addedAdditionalItemsText = addedAdditionalItems
151
- .append('p')
152
- .merge(addedAdditionalItems.select('p'));
153
- this.truncateLegendText();
154
- }
155
- // Remove old elements as needed.
156
- legendItems
157
- .exit()
158
- .on('mouseover', null)
159
- .on('click', null)
160
- .on('mouseout', null)
161
- .remove();
162
- if (legendClickable && addedLegendItems.size() > 1) {
163
- this.addEventListeners();
164
- }
165
- };
166
- Legend.prototype.sortDataGroups = function (dataGroups, legendOrder) {
167
- // Sort data in user defined order
168
- dataGroups.sort(function (dataA, dataB) {
169
- return legendOrder.indexOf(dataA.name) -
170
- legendOrder.indexOf(dataB.name);
171
- });
172
- // If user only defined partial ordering, ordered items are placed before unordered ones
173
- if (legendOrder.length < dataGroups.length) {
174
- var definedOrderIndex = dataGroups.length - legendOrder.length;
175
- var definedOrder = dataGroups.slice(definedOrderIndex);
176
- return definedOrder.concat(dataGroups.slice(0, definedOrderIndex));
177
- }
178
- return dataGroups;
179
- };
180
- Legend.prototype.addAdditionalItem = function (additionalItem, itemConfig, indexOfItem) {
181
- var _a = Configuration.legend.area, width = _a.width, height = _a.height;
182
- if (itemConfig.type === LegendItemType.RADIUS) {
183
- // Circular icon
184
- additionalItem
185
- .style('width', height + "px")
186
- .style('height', height + "px");
187
- }
188
- else {
189
- additionalItem
190
- .style('width', width + "px")
191
- .style('height', height + "px");
192
- }
193
- if (itemConfig.type === LegendItemType.RADIUS) {
194
- var _b = Configuration.legend.radius, iconData = _b.iconData, fill = _b.fill, stroke = _b.stroke;
195
- var circleEnter = additionalItem
196
- .attr('fill', 'none')
197
- .selectAll('circle')
198
- .data(iconData)
199
- .enter();
200
- circleEnter
201
- .append('circle')
202
- .classed('radius', true)
203
- .attr('role', Roles.IMG)
204
- .attr('aria-label', 'radius')
205
- .attr('cx', function (d) { return d.cx; })
206
- .attr('cy', function (d) { return d.cy; })
207
- .attr('r', function (d) { return d.r; })
208
- .style('fill', itemConfig.fill ? itemConfig.fill : fill)
209
- .style('stroke', itemConfig.stroke ? itemConfig.stroke : stroke);
210
- }
211
- else if (itemConfig.type === LegendItemType.LINE) {
212
- var lineConfig = Configuration.legend.line;
213
- if (additionalItem.select('line.line').empty()) {
214
- additionalItem
215
- .append('line')
216
- .classed("line-" + indexOfItem, true)
217
- .attr('role', Roles.IMG)
218
- .attr('aria-label', 'line')
219
- .attr('x1', 0)
220
- .attr('y1', lineConfig.yPosition)
221
- .attr('x2', width)
222
- .attr('y2', lineConfig.yPosition)
223
- .style('stroke', itemConfig.stroke
224
- ? itemConfig.stroke
225
- : lineConfig.stroke)
226
- .style('stroke-width', lineConfig.strokeWidth);
227
- }
228
- }
229
- else if (itemConfig.type === LegendItemType.AREA) {
230
- if (additionalItem.select('rect.area').empty()) {
231
- additionalItem
232
- .append('rect')
233
- .classed("area-" + indexOfItem, true)
234
- .attr('role', Roles.IMG)
235
- .attr('aria-label', 'area')
236
- .attr('width', width)
237
- .attr('height', height)
238
- .style('fill', indexOfItem > 3 && !itemConfig.fill
239
- ? Configuration.legend.area.fill
240
- : itemConfig.fill)
241
- .style('stroke', itemConfig.stroke);
242
- }
243
- }
244
- else if (itemConfig.type === LegendItemType.SIZE) {
245
- var _c = Configuration.legend.size, iconData = _c.iconData, fill = _c.fill, stroke = _c.stroke;
246
- var sizeEnter = additionalItem
247
- .attr('fill', 'none')
248
- .attr('role', Roles.IMG)
249
- .attr('aria-label', 'size')
250
- .selectAll('rect')
251
- .data(iconData)
252
- .enter();
253
- sizeEnter
254
- .append('rect')
255
- .classed('size', true)
256
- .attr('width', function (d) { return d.width; })
257
- .attr('height', function (d) { return d.height; })
258
- .attr('y', function (d) { return 0; })
259
- .style('fill', itemConfig.fill ? itemConfig.fill : fill)
260
- .style('stroke', itemConfig.stroke ? itemConfig.stroke : stroke)
261
- .style('stroke-width', 1);
262
- }
263
- else if (itemConfig.type === LegendItemType.QUARTILE) {
264
- var iconData = Configuration.legend.quartile.iconData;
265
- var quartileEnter = additionalItem
266
- .selectAll('rect')
267
- .attr('role', Roles.IMG)
268
- .attr('aria-label', 'quartile')
269
- .data(iconData)
270
- .enter();
271
- quartileEnter
272
- .append('rect')
273
- .attr('class', function (d, i) { return "quartile-" + (i === 0 ? 'wrapper' : 'line'); })
274
- .attr('x', function (d) { return d.x; })
275
- .attr('y', function (d) { return d.y; })
276
- .attr('width', function (d) { return d.width; })
277
- .attr('height', function (d) { return d.height; });
278
- }
279
- else if (itemConfig.type === LegendItemType.ZOOM) {
280
- var _d = Tools.getProperty(Configuration, 'legend', 'zoom'), iconData = _d.iconData, color_1 = _d.color;
281
- var zoomEnter = additionalItem
282
- .attr('role', Roles.IMG)
283
- .attr('aria-label', 'zoom')
284
- .selectAll('g.icon')
285
- .data(iconData)
286
- .enter();
287
- // add '+' for the magnifying icon
288
- zoomEnter
289
- .append('g')
290
- .attr('x', function (d) { return d.x; })
291
- .attr('y', function (d) { return d.y; })
292
- .attr('width', function (d) { return d.width; })
293
- .attr('height', function (d) { return d.height; })
294
- .append('polygon')
295
- .attr('points', '7.7 4.82 5.78 4.82 5.78 2.89 4.82 2.89 4.82 4.82 2.89 4.82 2.89 5.78 4.82 5.78 4.82 7.7 5.78 7.7 5.78 5.78 7.7 5.78 7.7 4.82')
296
- .attr('fill', function (d) {
297
- return itemConfig.color ? itemConfig.color : color_1;
298
- });
299
- // add the magnifying zoom icon handle/circle
300
- zoomEnter
301
- .append('path')
302
- .attr('d', 'M9.36,8.67A5.22,5.22,0,0,0,10.59,5.3,5.3,5.3,0,1,0,5.3,10.59,5.22,5.22,0,0,0,8.67,9.36L12.32,13l.68-.68Zm-4.06,1A4.34,4.34,0,1,1,9.63,5.3,4.33,4.33,0,0,1,5.3,9.63Z')
303
- .attr('fill', function (d) {
304
- return itemConfig.color ? itemConfig.color : color_1;
305
- });
306
- }
307
- };
308
- Legend.prototype.truncateLegendText = function () {
309
- var svg = this.getComponentContainer();
310
- var truncationOptions = Tools.getProperty(this.getOptions(), 'legend', 'truncation');
311
- // Truncation
312
- // get user provided custom values for truncation
313
- var truncationType = Tools.getProperty(truncationOptions, 'type');
314
- var truncationThreshold = Tools.getProperty(truncationOptions, 'threshold');
315
- var truncationNumCharacter = Tools.getProperty(truncationOptions, 'numCharacter');
316
- var addedLegendItemsText = svg.selectAll('div.legend-item p');
317
- // Add an ID for the checkbox to use through `aria-labelledby`
318
- addedLegendItemsText.attr('id', function (d, i) {
319
- var elementToReference = this.parentNode.querySelector('div.checkbox') ||
320
- this.parentNode;
321
- return elementToReference.getAttribute('aria-labelledby');
322
- });
323
- // truncate the legend label if it's too long
324
- if (truncationType !== TruncationTypes.NONE) {
325
- addedLegendItemsText.html(function (d) {
326
- if (d.name.length > truncationThreshold) {
327
- return Tools.truncateLabel(d.name, truncationType, truncationNumCharacter);
328
- }
329
- else {
330
- return d.name;
331
- }
332
- });
333
- }
334
- else {
335
- addedLegendItemsText.html(function (d) { return d.name; });
336
- }
337
- };
338
- Legend.prototype.addEventListeners = function () {
339
- var self = this;
340
- var svg = this.getComponentContainer();
341
- var options = this.getOptions();
342
- var legendOptions = Tools.getProperty(options, 'legend');
343
- var truncation = Tools.getProperty(legendOptions, 'truncation');
344
- svg.selectAll('div.legend-item')
345
- .on('mouseover', function (event) {
346
- self.services.events.dispatchEvent(Events.Legend.ITEM_HOVER, {
347
- hoveredElement: select(this),
348
- });
349
- var hoveredItem = select(this);
350
- hoveredItem.select('div.checkbox').classed('hovered', true);
351
- // Show tooltip if character length is greater than threshold & there is no truncation
352
- var hoveredItemData = hoveredItem.datum();
353
- if (hoveredItemData.name.length > truncation.threshold &&
354
- truncation.type !== TruncationTypes.NONE) {
355
- self.services.events.dispatchEvent(Events.Tooltip.SHOW, {
356
- event: event,
357
- hoveredElement: hoveredItem,
358
- content: hoveredItemData.name,
359
- });
360
- }
361
- })
362
- .on('mousemove', function (event) {
363
- // Emit tooltip move event only if tooltip is shown
364
- var hoveredItemData = select(this).datum();
365
- if (hoveredItemData.name.length > truncation.threshold &&
366
- truncation.type !== TruncationTypes.NONE) {
367
- self.services.events.dispatchEvent(Events.Tooltip.MOVE, {
368
- event: event,
369
- });
370
- }
371
- })
372
- .on('click', function () {
373
- self.services.events.dispatchEvent(Events.Legend.ITEM_CLICK, {
374
- clickedElement: select(this),
375
- });
376
- var clickedItem = select(this);
377
- var clickedItemData = clickedItem.datum();
378
- self.model.toggleDataLabel(clickedItemData.name);
379
- })
380
- .on('mouseout', function () {
381
- var hoveredItem = select(this);
382
- hoveredItem.select('div.checkbox').classed('hovered', false);
383
- // Emit tooltip hide event only if tooltip is shown
384
- var hoveredItemData = hoveredItem.datum();
385
- if (hoveredItemData.name.length > truncation.threshold &&
386
- truncation.type !== TruncationTypes.NONE) {
387
- self.services.events.dispatchEvent(Events.Tooltip.HIDE);
388
- }
389
- self.services.events.dispatchEvent(Events.Legend.ITEM_MOUSEOUT, {
390
- hoveredElement: hoveredItem,
391
- });
392
- });
393
- svg.selectAll('div.legend-item div.checkbox').on('keyup', function (event) {
394
- if (event.key && event.key === 'Tab') {
395
- // Higlight group
396
- self.services.events.dispatchEvent(Events.Legend.ITEM_HOVER, {
397
- hoveredElement: select(this),
398
- });
399
- }
400
- });
401
- svg.selectAll('div.legend-item div.checkbox').on('keydown', function (event, d) {
402
- if (event.key && event.key === ' ') {
403
- event.preventDefault();
404
- self.model.toggleDataLabel(d.name);
405
- }
406
- else if (event.key && event.key === 'Tab') {
407
- // Unhiglight group
408
- self.services.events.dispatchEvent(Events.Legend.ITEM_MOUSEOUT, {
409
- hoveredElement: select(this),
410
- });
411
- }
412
- });
413
- svg.selectAll('g.additional-item').on('mouseover', function (event) {
414
- var hoveredItem = select(this);
415
- var hoveredItemData = hoveredItem.datum();
416
- if (hoveredItemData.name.length > truncation.threshold) {
417
- self.services.events.dispatchEvent(Events.Tooltip.SHOW, {
418
- event: event,
419
- hoveredElement: hoveredItem,
420
- content: hoveredItemData.name,
421
- });
422
- }
423
- });
424
- };
425
- return Legend;
426
- }(Component));
427
- export { Legend };
428
- //# sourceMappingURL=../../../src/components/essentials/legend.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"legend.js","sourceRoot":"","sources":["legend.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from '../component';\nimport * as Tools from '../../tools';\nimport {\n\tAlignments,\n\tColorClassNameTypes,\n\tLegendItemType,\n\tRenderTypes,\n\tRoles,\n\tEvents,\n\tTruncationTypes,\n} from '../../interfaces';\nimport * as Configuration from '../../configuration';\n\n// D3 Imports\nimport { select } from 'd3-selection';\n\nexport class Legend extends Component {\n\ttype = 'legend';\n\trenderType = RenderTypes.HTML;\n\n\trender() {\n\t\tconst options = this.getOptions();\n\t\tconst legendOptions = Tools.getProperty(options, 'legend');\n\t\tconst alignment = Tools.getProperty(legendOptions, 'alignment');\n\n\t\tconst legendOrientation = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'legend',\n\t\t\t'orientation'\n\t\t);\n\n\t\tlet dataGroups = this.model.getDataGroups();\n\n\t\t// Check if there are disabled legend items\n\t\tconst { DISABLED } = Configuration.legend.items.status;\n\t\tconst hasDeactivatedItems = dataGroups.some(\n\t\t\t(dataGroup) => dataGroup.status === DISABLED\n\t\t);\n\t\tconst userProvidedOrder = Tools.getProperty(legendOptions, 'order');\n\n\t\tconst svg = this.getComponentContainer()\n\t\t\t.classed('center-aligned', alignment === Alignments.CENTER)\n\t\t\t.classed('right-aligned', alignment === Alignments.RIGHT)\n\t\t\t.classed(legendOrientation, true)\n\t\t\t.classed('has-deactivated-items', hasDeactivatedItems)\n\t\t\t.attr('role', Roles.GROUP)\n\t\t\t.attr('aria-label', 'Data groups')\n\t\t\t.attr('data-name', 'legend-items');\n\n\t\tif (userProvidedOrder) {\n\t\t\tdataGroups = this.sortDataGroups(dataGroups, userProvidedOrder);\n\t\t}\n\n\t\tconst legendItems = svg\n\t\t\t.selectAll('div.legend-item')\n\t\t\t.data(dataGroups, (dataGroup) => dataGroup.name);\n\n\t\tconst addedLegendItems = legendItems\n\t\t\t.enter()\n\t\t\t.append('div')\n\t\t\t.attr('class', 'legend-item');\n\n\t\taddedLegendItems\n\t\t\t.merge(svg.selectAll('div.legend-item'))\n\t\t\t.classed('active', function (d, i) {\n\t\t\t\treturn d.status === Configuration.legend.items.status.ACTIVE;\n\t\t\t});\n\n\t\tconst legendClickable = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t'legend',\n\t\t\t'clickable'\n\t\t);\n\t\tsvg.classed('clickable', legendClickable && dataGroups.length > 1);\n\n\t\tconst checkboxRadius = Configuration.legend.checkbox.radius;\n\n\t\tconst addedCheckboxes = addedLegendItems\n\t\t\t.append('div')\n\t\t\t.classed('checkbox', true);\n\n\t\tconst allCheckboxes = addedCheckboxes\n\t\t\t.merge(legendItems.select('div.checkbox'))\n\t\t\t.attr('role', Roles.CHECKBOX)\n\t\t\t.attr('tabindex', legendClickable ? 0 : -1)\n\t\t\t.attr('aria-labelledby', (d, i) =>\n\t\t\t\tthis.services.domUtils.generateElementIDString(\n\t\t\t\t\t`legend-datagroup-${i}-title`\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr(\n\t\t\t\t'aria-checked',\n\t\t\t\t({ status }) =>\n\t\t\t\t\tstatus === Configuration.legend.items.status.ACTIVE\n\t\t\t)\n\t\t\t.attr('width', checkboxRadius * 2)\n\t\t\t.attr('height', checkboxRadius * 2)\n\t\t\t.attr('class', (d, i) =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.BACKGROUND],\n\t\t\t\t\tdataGroupName: d.name,\n\t\t\t\t\toriginalClassName: 'checkbox',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.style('background', (d) =>\n\t\t\t\td.status === Configuration.legend.items.status.ACTIVE\n\t\t\t\t\t? this.model.getFillColor(d.name) ||\n\t\t\t\t\t this.model.getStrokeColor(d.name)\n\t\t\t\t\t: null\n\t\t\t)\n\t\t\t.classed('active', function (d, i) {\n\t\t\t\treturn d.status === Configuration.legend.items.status.ACTIVE;\n\t\t\t});\n\n\t\tconst addedCheckIcons = addedCheckboxes\n\t\t\t.append('svg')\n\t\t\t.attr('focusable', false)\n\t\t\t.attr('preserveAspectRatio', 'xMidYMid meet')\n\t\t\t.attr('xmlns', 'http://www.w3.org/2000/svg')\n\t\t\t.attr('width', '11')\n\t\t\t.attr('height', '11')\n\t\t\t.attr('viewBox', '0 0 31 28')\n\t\t\t.attr('aria-hidden', true)\n\t\t\t.style('will-change', 'transform')\n\t\t\t.append('path')\n\t\t\t.attr(\n\t\t\t\t'd',\n\t\t\t\t'M13 21.2l-7.1-7.1-1.4 1.4 7.1 7.1L13 24 27.1 9.9l-1.4-1.5z'\n\t\t\t);\n\n\t\tconst addedLegendItemsText = addedLegendItems\n\t\t\t.append('p')\n\t\t\t.merge(legendItems.select('p'));\n\n\t\tconst additionalItemsOption = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'legend',\n\t\t\t'additionalItems'\n\t\t);\n\n\t\t// add additional legend items\n\t\tif (additionalItemsOption && dataGroups.length) {\n\t\t\tconst self = this;\n\n\t\t\tconst additionalItems = svg\n\t\t\t\t.selectAll('div.additional-item')\n\t\t\t\t.data(additionalItemsOption);\n\n\t\t\tadditionalItems.exit().remove();\n\n\t\t\tconst addedAdditionalItems = additionalItems\n\t\t\t\t.enter()\n\t\t\t\t.append('div')\n\t\t\t\t.merge(additionalItems)\n\t\t\t\t.classed('legend-item', true)\n\t\t\t\t.classed('additional', true)\n\t\t\t\t.attr('aria-labelledby', (d, i) =>\n\t\t\t\t\tthis.services.domUtils.generateElementIDString(\n\t\t\t\t\t\t`legend-datagroup-${allCheckboxes.size() + i}-title`\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t// remove nested child elements that no longer needed\n\t\t\taddedAdditionalItems.selectAll('*').remove();\n\n\t\t\t// get index of item with same type to assign distinct classname\n\t\t\tlet previousType;\n\t\t\tlet indexOfItem = 1;\n\n\t\t\t// add different type of legend items\n\t\t\taddedAdditionalItems\n\t\t\t\t.append('svg')\n\t\t\t\t.classed('icon', true)\n\t\t\t\t.each(function (d, i) {\n\t\t\t\t\tconst additionalItem = select(this);\n\n\t\t\t\t\tif (!previousType || previousType != d.type) {\n\t\t\t\t\t\tpreviousType = d.type;\n\t\t\t\t\t\tindexOfItem = 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tindexOfItem++;\n\t\t\t\t\t}\n\n\t\t\t\t\tself.addAdditionalItem(additionalItem, d, indexOfItem);\n\t\t\t\t});\n\n\t\t\tconst addedAdditionalItemsText = addedAdditionalItems\n\t\t\t\t.append('p')\n\t\t\t\t.merge(addedAdditionalItems.select('p'));\n\n\t\t\tthis.truncateLegendText();\n\t\t}\n\n\t\t// Remove old elements as needed.\n\t\tlegendItems\n\t\t\t.exit()\n\t\t\t.on('mouseover', null)\n\t\t\t.on('click', null)\n\t\t\t.on('mouseout', null)\n\t\t\t.remove();\n\n\t\tif (legendClickable && addedLegendItems.size() > 1) {\n\t\t\tthis.addEventListeners();\n\t\t}\n\t}\n\n\tsortDataGroups(dataGroups, legendOrder) {\n\t\t// Sort data in user defined order\n\t\tdataGroups.sort(\n\t\t\t(dataA, dataB) =>\n\t\t\t\tlegendOrder.indexOf(dataA.name) -\n\t\t\t\tlegendOrder.indexOf(dataB.name)\n\t\t);\n\n\t\t// If user only defined partial ordering, ordered items are placed before unordered ones\n\t\tif (legendOrder.length < dataGroups.length) {\n\t\t\tconst definedOrderIndex = dataGroups.length - legendOrder.length;\n\t\t\tconst definedOrder = dataGroups.slice(definedOrderIndex);\n\n\t\t\treturn definedOrder.concat(dataGroups.slice(0, definedOrderIndex));\n\t\t}\n\t\treturn dataGroups;\n\t}\n\n\taddAdditionalItem(additionalItem, itemConfig, indexOfItem) {\n\t\tconst { width, height } = Configuration.legend.area;\n\n\t\tif (itemConfig.type === LegendItemType.RADIUS) {\n\t\t\t// Circular icon\n\t\t\tadditionalItem\n\t\t\t\t.style('width', `${height}px`)\n\t\t\t\t.style('height', `${height}px`);\n\t\t} else {\n\t\t\tadditionalItem\n\t\t\t\t.style('width', `${width}px`)\n\t\t\t\t.style('height', `${height}px`);\n\t\t}\n\n\t\tif (itemConfig.type === LegendItemType.RADIUS) {\n\t\t\tconst { iconData, fill, stroke } = Configuration.legend.radius;\n\n\t\t\tconst circleEnter = additionalItem\n\t\t\t\t.attr('fill', 'none')\n\t\t\t\t.selectAll('circle')\n\t\t\t\t.data(iconData)\n\t\t\t\t.enter();\n\n\t\t\tcircleEnter\n\t\t\t\t.append('circle')\n\t\t\t\t.classed('radius', true)\n\t\t\t\t.attr('role', Roles.IMG)\n\t\t\t\t.attr('aria-label', 'radius')\n\t\t\t\t.attr('cx', (d) => d.cx)\n\t\t\t\t.attr('cy', (d) => d.cy)\n\t\t\t\t.attr('r', (d) => d.r)\n\t\t\t\t.style('fill', itemConfig.fill ? itemConfig.fill : fill)\n\t\t\t\t.style(\n\t\t\t\t\t'stroke',\n\t\t\t\t\titemConfig.stroke ? itemConfig.stroke : stroke\n\t\t\t\t);\n\t\t} else if (itemConfig.type === LegendItemType.LINE) {\n\t\t\tconst lineConfig = Configuration.legend.line;\n\n\t\t\tif (additionalItem.select('line.line').empty()) {\n\t\t\t\tadditionalItem\n\t\t\t\t\t.append('line')\n\t\t\t\t\t.classed(`line-${indexOfItem}`, true)\n\t\t\t\t\t.attr('role', Roles.IMG)\n\t\t\t\t\t.attr('aria-label', 'line')\n\t\t\t\t\t.attr('x1', 0)\n\t\t\t\t\t.attr('y1', lineConfig.yPosition)\n\t\t\t\t\t.attr('x2', width)\n\t\t\t\t\t.attr('y2', lineConfig.yPosition)\n\t\t\t\t\t.style(\n\t\t\t\t\t\t'stroke',\n\t\t\t\t\t\titemConfig.stroke\n\t\t\t\t\t\t\t? itemConfig.stroke\n\t\t\t\t\t\t\t: lineConfig.stroke\n\t\t\t\t\t)\n\t\t\t\t\t.style('stroke-width', lineConfig.strokeWidth);\n\t\t\t}\n\t\t} else if (itemConfig.type === LegendItemType.AREA) {\n\t\t\tif (additionalItem.select('rect.area').empty()) {\n\t\t\t\tadditionalItem\n\t\t\t\t\t.append('rect')\n\t\t\t\t\t.classed(`area-${indexOfItem}`, true)\n\t\t\t\t\t.attr('role', Roles.IMG)\n\t\t\t\t\t.attr('aria-label', 'area')\n\t\t\t\t\t.attr('width', width)\n\t\t\t\t\t.attr('height', height)\n\t\t\t\t\t.style(\n\t\t\t\t\t\t'fill',\n\t\t\t\t\t\tindexOfItem > 3 && !itemConfig.fill\n\t\t\t\t\t\t\t? Configuration.legend.area.fill\n\t\t\t\t\t\t\t: itemConfig.fill\n\t\t\t\t\t)\n\t\t\t\t\t.style('stroke', itemConfig.stroke);\n\t\t\t}\n\t\t} else if (itemConfig.type === LegendItemType.SIZE) {\n\t\t\tconst { iconData, fill, stroke } = Configuration.legend.size;\n\n\t\t\tconst sizeEnter = additionalItem\n\t\t\t\t.attr('fill', 'none')\n\t\t\t\t.attr('role', Roles.IMG)\n\t\t\t\t.attr('aria-label', 'size')\n\t\t\t\t.selectAll('rect')\n\t\t\t\t.data(iconData)\n\t\t\t\t.enter();\n\n\t\t\tsizeEnter\n\t\t\t\t.append('rect')\n\t\t\t\t.classed('size', true)\n\t\t\t\t.attr('width', (d) => d.width)\n\t\t\t\t.attr('height', (d) => d.height)\n\t\t\t\t.attr('y', (d) => 0)\n\t\t\t\t.style('fill', itemConfig.fill ? itemConfig.fill : fill)\n\t\t\t\t.style('stroke', itemConfig.stroke ? itemConfig.stroke : stroke)\n\t\t\t\t.style('stroke-width', 1);\n\t\t} else if (itemConfig.type === LegendItemType.QUARTILE) {\n\t\t\tconst { iconData } = Configuration.legend.quartile;\n\n\t\t\tconst quartileEnter = additionalItem\n\t\t\t\t.selectAll('rect')\n\t\t\t\t.attr('role', Roles.IMG)\n\t\t\t\t.attr('aria-label', 'quartile')\n\t\t\t\t.data(iconData)\n\t\t\t\t.enter();\n\n\t\t\tquartileEnter\n\t\t\t\t.append('rect')\n\t\t\t\t.attr(\n\t\t\t\t\t'class',\n\t\t\t\t\t(d, i) => `quartile-${i === 0 ? 'wrapper' : 'line'}`\n\t\t\t\t)\n\t\t\t\t.attr('x', (d) => d.x)\n\t\t\t\t.attr('y', (d) => d.y)\n\t\t\t\t.attr('width', (d) => d.width)\n\t\t\t\t.attr('height', (d) => d.height);\n\t\t} else if (itemConfig.type === LegendItemType.ZOOM) {\n\t\t\tconst { iconData, color } = Tools.getProperty(\n\t\t\t\tConfiguration,\n\t\t\t\t'legend',\n\t\t\t\t'zoom'\n\t\t\t);\n\n\t\t\tconst zoomEnter = additionalItem\n\t\t\t\t.attr('role', Roles.IMG)\n\t\t\t\t.attr('aria-label', 'zoom')\n\t\t\t\t.selectAll('g.icon')\n\t\t\t\t.data(iconData)\n\t\t\t\t.enter();\n\n\t\t\t// add '+' for the magnifying icon\n\t\t\tzoomEnter\n\t\t\t\t.append('g')\n\t\t\t\t.attr('x', (d) => d.x)\n\t\t\t\t.attr('y', (d) => d.y)\n\t\t\t\t.attr('width', (d) => d.width)\n\t\t\t\t.attr('height', (d) => d.height)\n\t\t\t\t.append('polygon')\n\t\t\t\t.attr(\n\t\t\t\t\t'points',\n\t\t\t\t\t'7.7 4.82 5.78 4.82 5.78 2.89 4.82 2.89 4.82 4.82 2.89 4.82 2.89 5.78 4.82 5.78 4.82 7.7 5.78 7.7 5.78 5.78 7.7 5.78 7.7 4.82'\n\t\t\t\t)\n\t\t\t\t.attr('fill', (d) =>\n\t\t\t\t\titemConfig.color ? itemConfig.color : color\n\t\t\t\t);\n\n\t\t\t// add the magnifying zoom icon handle/circle\n\t\t\tzoomEnter\n\t\t\t\t.append('path')\n\t\t\t\t.attr(\n\t\t\t\t\t'd',\n\t\t\t\t\t'M9.36,8.67A5.22,5.22,0,0,0,10.59,5.3,5.3,5.3,0,1,0,5.3,10.59,5.22,5.22,0,0,0,8.67,9.36L12.32,13l.68-.68Zm-4.06,1A4.34,4.34,0,1,1,9.63,5.3,4.33,4.33,0,0,1,5.3,9.63Z'\n\t\t\t\t)\n\t\t\t\t.attr('fill', (d) =>\n\t\t\t\t\titemConfig.color ? itemConfig.color : color\n\t\t\t\t);\n\t\t}\n\t}\n\n\ttruncateLegendText() {\n\t\tconst svg = this.getComponentContainer();\n\n\t\tconst truncationOptions = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t'legend',\n\t\t\t'truncation'\n\t\t);\n\t\t// Truncation\n\t\t// get user provided custom values for truncation\n\t\tconst truncationType = Tools.getProperty(truncationOptions, 'type');\n\t\tconst truncationThreshold = Tools.getProperty(\n\t\t\ttruncationOptions,\n\t\t\t'threshold'\n\t\t);\n\t\tconst truncationNumCharacter = Tools.getProperty(\n\t\t\ttruncationOptions,\n\t\t\t'numCharacter'\n\t\t);\n\n\t\tconst addedLegendItemsText = svg.selectAll('div.legend-item p');\n\n\t\t// Add an ID for the checkbox to use through `aria-labelledby`\n\t\taddedLegendItemsText.attr('id', function (d, i) {\n\t\t\tconst elementToReference =\n\t\t\t\tthis.parentNode.querySelector('div.checkbox') ||\n\t\t\t\tthis.parentNode;\n\n\t\t\treturn elementToReference.getAttribute('aria-labelledby');\n\t\t});\n\n\t\t// truncate the legend label if it's too long\n\t\tif (truncationType !== TruncationTypes.NONE) {\n\t\t\taddedLegendItemsText.html(function (d) {\n\t\t\t\tif (d.name.length > truncationThreshold) {\n\t\t\t\t\treturn Tools.truncateLabel(\n\t\t\t\t\t\td.name,\n\t\t\t\t\t\ttruncationType,\n\t\t\t\t\t\ttruncationNumCharacter\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\treturn d.name;\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\taddedLegendItemsText.html((d) => d.name);\n\t\t}\n\t}\n\n\taddEventListeners() {\n\t\tconst self = this;\n\t\tconst svg = this.getComponentContainer();\n\t\tconst options = this.getOptions();\n\t\tconst legendOptions = Tools.getProperty(options, 'legend');\n\t\tconst truncation = Tools.getProperty(legendOptions, 'truncation');\n\n\t\tsvg.selectAll('div.legend-item')\n\t\t\t.on('mouseover', function (event) {\n\t\t\t\tself.services.events.dispatchEvent(Events.Legend.ITEM_HOVER, {\n\t\t\t\t\thoveredElement: select(this),\n\t\t\t\t});\n\n\t\t\t\tconst hoveredItem = select(this);\n\t\t\t\thoveredItem.select('div.checkbox').classed('hovered', true);\n\n\t\t\t\t// Show tooltip if character length is greater than threshold & there is no truncation\n\t\t\t\tconst hoveredItemData = hoveredItem.datum() as any;\n\t\t\t\tif (\n\t\t\t\t\thoveredItemData.name.length > truncation.threshold &&\n\t\t\t\t\ttruncation.type !== TruncationTypes.NONE\n\t\t\t\t) {\n\t\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.SHOW, {\n\t\t\t\t\t\tevent,\n\t\t\t\t\t\thoveredElement: hoveredItem,\n\t\t\t\t\t\tcontent: hoveredItemData.name,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on('mousemove', function (event) {\n\t\t\t\t// Emit tooltip move event only if tooltip is shown\n\t\t\t\tconst hoveredItemData = select(this).datum() as any;\n\t\t\t\tif (\n\t\t\t\t\thoveredItemData.name.length > truncation.threshold &&\n\t\t\t\t\ttruncation.type !== TruncationTypes.NONE\n\t\t\t\t) {\n\t\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.MOVE, {\n\t\t\t\t\t\tevent,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on('click', function () {\n\t\t\t\tself.services.events.dispatchEvent(Events.Legend.ITEM_CLICK, {\n\t\t\t\t\tclickedElement: select(this),\n\t\t\t\t});\n\n\t\t\t\tconst clickedItem = select(this);\n\t\t\t\tconst clickedItemData = clickedItem.datum() as any;\n\n\t\t\t\tself.model.toggleDataLabel(clickedItemData.name);\n\t\t\t})\n\t\t\t.on('mouseout', function () {\n\t\t\t\tconst hoveredItem = select(this);\n\t\t\t\thoveredItem.select('div.checkbox').classed('hovered', false);\n\n\t\t\t\t// Emit tooltip hide event only if tooltip is shown\n\t\t\t\tconst hoveredItemData = hoveredItem.datum() as any;\n\t\t\t\tif (\n\t\t\t\t\thoveredItemData.name.length > truncation.threshold &&\n\t\t\t\t\ttruncation.type !== TruncationTypes.NONE\n\t\t\t\t) {\n\t\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.HIDE);\n\t\t\t\t}\n\n\t\t\t\tself.services.events.dispatchEvent(\n\t\t\t\t\tEvents.Legend.ITEM_MOUSEOUT,\n\t\t\t\t\t{\n\t\t\t\t\t\thoveredElement: hoveredItem,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\n\t\tsvg.selectAll('div.legend-item div.checkbox').on(\n\t\t\t'keyup',\n\t\t\tfunction (event) {\n\t\t\t\tif (event.key && event.key === 'Tab') {\n\t\t\t\t\t// Higlight group\n\t\t\t\t\tself.services.events.dispatchEvent(\n\t\t\t\t\t\tEvents.Legend.ITEM_HOVER,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thoveredElement: select(this),\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tsvg.selectAll('div.legend-item div.checkbox').on(\n\t\t\t'keydown',\n\t\t\tfunction (event, d) {\n\t\t\t\tif (event.key && event.key === ' ') {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tself.model.toggleDataLabel(d.name);\n\t\t\t\t} else if (event.key && event.key === 'Tab') {\n\t\t\t\t\t// Unhiglight group\n\t\t\t\t\tself.services.events.dispatchEvent(\n\t\t\t\t\t\tEvents.Legend.ITEM_MOUSEOUT,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thoveredElement: select(this),\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tsvg.selectAll('g.additional-item').on('mouseover', function (event) {\n\t\t\tconst hoveredItem = select(this);\n\n\t\t\tconst hoveredItemData = hoveredItem.datum() as any;\n\t\t\tif (hoveredItemData.name.length > truncation.threshold) {\n\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.SHOW, {\n\t\t\t\t\tevent,\n\t\t\t\t\thoveredElement: hoveredItem,\n\t\t\t\t\tcontent: hoveredItemData.name,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n}\n"]}
@@ -1,89 +0,0 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- extendStatics(d, b);
10
- function __() { this.constructor = d; }
11
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
- };
13
- })();
14
- import { Component } from '../component';
15
- import * as Tools from '../../tools';
16
- import { DOMUtils } from '../../services';
17
- import { Events } from '../../interfaces';
18
- // Carbon modal
19
- import { Modal as CarbonModalComponent } from 'carbon-components';
20
- // import the settings for the css prefix
21
- import { carbonPrefix } from '../../configuration-non-customizable';
22
- // D3 Imports
23
- import { select } from 'd3-selection';
24
- import { get } from 'lodash-es';
25
- var Modal = /** @class */ (function (_super) {
26
- __extends(Modal, _super);
27
- function Modal(model, services, configs) {
28
- var _this = _super.call(this, model, services, configs) || this;
29
- _this.type = 'modal';
30
- // flag for checking whether tooltip event listener is added or not
31
- _this.isEventListenerAdded = false;
32
- _this.handleShowModal = function () {
33
- _this.modal.html(_this.getModalHTML());
34
- _this.modal
35
- .select('div.cds--modal-footer button.cds--btn')
36
- .on('click', function () { return _this.model.exportToCSV(); });
37
- var modalInstance = CarbonModalComponent.create(_this.modal.node());
38
- modalInstance.show();
39
- };
40
- _this.init();
41
- return _this;
42
- }
43
- Modal.prototype.addEventListeners = function () {
44
- // listen to show-modal Custom Events to render the modal
45
- this.services.events.addEventListener(Events.Modal.SHOW, this.handleShowModal);
46
- };
47
- Modal.prototype.removeEventListeners = function () {
48
- // remove show-modal Custom Events
49
- this.services.events.removeEventListener(Events.Modal.SHOW, this.handleShowModal);
50
- };
51
- Modal.prototype.getModalHTML = function () {
52
- var options = this.model.getOptions();
53
- var chartprefix = Tools.getProperty(options, 'style', 'prefix');
54
- var tableArray = this.model.getTabularDataArray();
55
- return "\n\t\t<div class=\"cds--modal-container cds--modal-container\">\n\t\t\t<div class=\"cds--modal-header cds--modal-header\">\n\t\t\t\t<p class=\"cds--modal-header__label cds--type-delta cds--modal-header__label cds--type-delta\" id=\"modal-title\">Tabular representation</p>\n\n\t\t\t\t<p class=\"cds--modal-header__heading cds--type-beta cds--modal-header__heading cds--type-beta\" id=\"modal-description\">" + options.title + "</p>\n\n\t\t\t\t<button class=\"cds--modal-close cds--modal-close\" type=\"button\" data-modal-close aria-label=\"close modal\" data-modal-primary-focus>\n\t\t\t\t\t<svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" aria-label=\"Close\" width=\"20\" height=\"20\" viewBox=\"0 0 32 32\" role=\"img\" class=\"cds--modal-close__icon cds--modal-close__icon\">\n\t\t\t\t\t\t<path d=\"M24 9.4L22.6 8 16 14.6 9.4 8 8 9.4 14.6 16 8 22.6 9.4 24 16 17.4 22.6 24 24 22.6 17.4 16 24 9.4z\"></path>\n\t\t\t\t\t</svg>\n\t\t\t\t</button>\n\t\t\t</div>\n\n\t\t\t<div class=\"cds--modal-content cds--modal-content\">\n\t\t\t\t<table class=\"cds--data-table cds--data-table--no-border cds--data-table cds--data-table--no-border\">\n\t\t\t\t\t<thead>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t" + get(tableArray, 0)
56
- .map(function (heading) { return "<th scope=\"col\">\n\t\t\t\t\t\t\t\t<div class=\"cds--table-header-label cds--table-header-label\">" + heading + "</div>\n\t\t\t\t\t\t\t</th>"; })
57
- .join('') + "\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</thead>\n\n\t\t\t\t\t<tbody>" + tableArray
58
- .slice(1)
59
- .map(function (row) { return "\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t" + row.map(function (column) { return "<td>" + column + "</td>"; }).join('') + "\n\t\t\t\t\t\t\t</tr>"; })
60
- .join('') + "\n\t\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t</div>\n\n\t\t\t<div class=\"cds--modal-footer cds--modal-footer\">\n\t\t\t <div class=\"" + carbonPrefix + "--" + chartprefix + "-modal-footer-spacer\"></div>\n\t\t\t <button class=\"cds--btn cds--btn--primary cds--btn cds--btn--primary\" type=\"button\" data-modal-primary-focus>Download as CSV</button>\n\t\t\t</div>\n\t\t</div>";
61
- };
62
- Modal.prototype.render = function () {
63
- var options = this.model.getOptions();
64
- if (!this.isEventListenerAdded) {
65
- // Grab the tooltip element
66
- var holder = select(this.services.domUtils.getHolder());
67
- var chartprefix = Tools.getProperty(options, 'style', 'prefix');
68
- this.modal = DOMUtils.appendOrSelect(holder, "div." + carbonPrefix + "--" + chartprefix + "--modal");
69
- this.addEventListeners();
70
- this.isEventListenerAdded = true;
71
- this.modal
72
- .attr('data-modal', true)
73
- .attr('class', 'cds--modal cds--modal')
74
- .attr('role', 'dialog')
75
- .attr('aria-modal', true)
76
- .attr('aria-labelledby', 'modal-title')
77
- .attr('aria-describedby', 'modal-description')
78
- .attr('tabindex', -1);
79
- }
80
- };
81
- Modal.prototype.destroy = function () {
82
- // remove tooltip eventListener
83
- this.removeEventListeners();
84
- this.isEventListenerAdded = false;
85
- };
86
- return Modal;
87
- }(Component));
88
- export { Modal };
89
- //# sourceMappingURL=../../../src/components/essentials/modal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modal.js","sourceRoot":"","sources":["modal.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component } from '../component';\nimport * as Tools from '../../tools';\nimport { DOMUtils } from '../../services';\nimport { ChartModel } from '../../model/model';\nimport { Events } from '../../interfaces';\n\n// Carbon modal\nimport { Modal as CarbonModalComponent } from 'carbon-components';\n\n// import the settings for the css prefix\nimport { carbonPrefix } from '../../configuration-non-customizable';\n\n// D3 Imports\nimport { select } from 'd3-selection';\n\nimport { get } from 'lodash-es';\n\nexport class Modal extends Component {\n\ttype = 'modal';\n\n\t// flag for checking whether tooltip event listener is added or not\n\tisEventListenerAdded = false;\n\tmodal: any;\n\n\tconstructor(model: ChartModel, services: any, configs?: any) {\n\t\tsuper(model, services, configs);\n\n\t\tthis.init();\n\t}\n\n\thandleShowModal = () => {\n\t\tthis.modal.html(this.getModalHTML());\n\t\tthis.modal\n\t\t\t.select('div.cds--modal-footer button.cds--btn')\n\t\t\t.on('click', () => this.model.exportToCSV());\n\n\t\tconst modalInstance = CarbonModalComponent.create(this.modal.node());\n\t\tmodalInstance.show();\n\t};\n\n\taddEventListeners() {\n\t\t// listen to show-modal Custom Events to render the modal\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Modal.SHOW,\n\t\t\tthis.handleShowModal\n\t\t);\n\t}\n\n\tremoveEventListeners() {\n\t\t// remove show-modal Custom Events\n\t\tthis.services.events.removeEventListener(\n\t\t\tEvents.Modal.SHOW,\n\t\t\tthis.handleShowModal\n\t\t);\n\t}\n\n\tgetModalHTML() {\n\t\tconst options = this.model.getOptions();\n\n\t\tconst chartprefix = Tools.getProperty(options, 'style', 'prefix');\n\n\t\tconst tableArray = this.model.getTabularDataArray();\n\n\t\treturn `\n\t\t<div class=\"cds--modal-container cds--modal-container\">\n\t\t\t<div class=\"cds--modal-header cds--modal-header\">\n\t\t\t\t<p class=\"cds--modal-header__label cds--type-delta cds--modal-header__label cds--type-delta\" id=\"modal-title\">Tabular representation</p>\n\n\t\t\t\t<p class=\"cds--modal-header__heading cds--type-beta cds--modal-header__heading cds--type-beta\" id=\"modal-description\">${\n\t\t\t\t\toptions.title\n\t\t\t\t}</p>\n\n\t\t\t\t<button class=\"cds--modal-close cds--modal-close\" type=\"button\" data-modal-close aria-label=\"close modal\" data-modal-primary-focus>\n\t\t\t\t\t<svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" aria-label=\"Close\" width=\"20\" height=\"20\" viewBox=\"0 0 32 32\" role=\"img\" class=\"cds--modal-close__icon cds--modal-close__icon\">\n\t\t\t\t\t\t<path d=\"M24 9.4L22.6 8 16 14.6 9.4 8 8 9.4 14.6 16 8 22.6 9.4 24 16 17.4 22.6 24 24 22.6 17.4 16 24 9.4z\"></path>\n\t\t\t\t\t</svg>\n\t\t\t\t</button>\n\t\t\t</div>\n\n\t\t\t<div class=\"cds--modal-content cds--modal-content\">\n\t\t\t\t<table class=\"cds--data-table cds--data-table--no-border cds--data-table cds--data-table--no-border\">\n\t\t\t\t\t<thead>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t${get(tableArray, 0)\n\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t(heading) => `<th scope=\"col\">\n\t\t\t\t\t\t\t\t<div class=\"cds--table-header-label cds--table-header-label\">${heading}</div>\n\t\t\t\t\t\t\t</th>`\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.join('')}\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</thead>\n\n\t\t\t\t\t<tbody>${tableArray\n\t\t\t\t\t\t.slice(1)\n\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t(row) => `\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t${row.map((column) => `<td>${column}</td>`).join('')}\n\t\t\t\t\t\t\t</tr>`\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.join('')}\n\t\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t</div>\n\n\t\t\t<div class=\"cds--modal-footer cds--modal-footer\">\n\t\t\t <div class=\"${carbonPrefix}--${chartprefix}-modal-footer-spacer\"></div>\n\t\t\t <button class=\"cds--btn cds--btn--primary cds--btn cds--btn--primary\" type=\"button\" data-modal-primary-focus>Download as CSV</button>\n\t\t\t</div>\n\t\t</div>`;\n\t}\n\n\trender() {\n\t\tconst options = this.model.getOptions();\n\t\tif (!this.isEventListenerAdded) {\n\t\t\t// Grab the tooltip element\n\t\t\tconst holder = select(this.services.domUtils.getHolder());\n\t\t\tconst chartprefix = Tools.getProperty(options, 'style', 'prefix');\n\t\t\tthis.modal = DOMUtils.appendOrSelect(\n\t\t\t\tholder,\n\t\t\t\t`div.${carbonPrefix}--${chartprefix}--modal`\n\t\t\t);\n\n\t\t\tthis.addEventListeners();\n\t\t\tthis.isEventListenerAdded = true;\n\t\t\tthis.modal\n\t\t\t\t.attr('data-modal', true)\n\t\t\t\t.attr('class', 'cds--modal cds--modal')\n\t\t\t\t.attr('role', 'dialog')\n\t\t\t\t.attr('aria-modal', true)\n\t\t\t\t.attr('aria-labelledby', 'modal-title')\n\t\t\t\t.attr('aria-describedby', 'modal-description')\n\t\t\t\t.attr('tabindex', -1);\n\t\t}\n\t}\n\n\tdestroy() {\n\t\t// remove tooltip eventListener\n\t\tthis.removeEventListeners();\n\t\tthis.isEventListenerAdded = false;\n\t}\n}\n"]}
@@ -1,20 +0,0 @@
1
- import { Component } from '../component';
2
- import { ChartModel } from '../../model/model';
3
- import { RenderTypes } from '../../interfaces';
4
- import Position from '@carbon/utils-position';
5
- export declare class Threshold extends Component {
6
- type: string;
7
- renderType: RenderTypes;
8
- label: any;
9
- positionService: Position;
10
- constructor(model: ChartModel, services: any);
11
- render(animate?: boolean): void;
12
- getFormattedValue(datum: any): any;
13
- appendThresholdLabel(): void;
14
- setThresholdLabelPosition({ event, datum }: {
15
- event: any;
16
- datum: any;
17
- }): void;
18
- constructDatumObj(d: any, element: any): {};
19
- addEventListeners(): void;
20
- }