@carbon/charts 0.41.20 → 0.41.24

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 (417) hide show
  1. package/CHANGELOG.md +28 -46
  2. package/axis-chart.d.ts +4 -4
  3. package/axis-chart.js +46 -46
  4. package/axis-chart.js.map +1 -1
  5. package/build/demo/create-codesandbox.d.ts +42 -42
  6. package/build/demo/data/bar.d.ts +2 -2
  7. package/build/demo/data/index.d.ts +13 -13
  8. package/build/demo/data/line.d.ts +4 -4
  9. package/build/demo/data/meter.d.ts +1 -1
  10. package/build/src/axis-chart.d.ts +4 -4
  11. package/build/src/chart.d.ts +3 -3
  12. package/build/src/charts/area-stacked.d.ts +2 -2
  13. package/build/src/charts/area.d.ts +2 -2
  14. package/build/src/charts/bar-grouped.d.ts +2 -2
  15. package/build/src/charts/bar-simple.d.ts +2 -2
  16. package/build/src/charts/bar-stacked.d.ts +2 -2
  17. package/build/src/charts/bubble.d.ts +2 -2
  18. package/build/src/charts/combo.d.ts +2 -2
  19. package/build/src/charts/donut.d.ts +2 -2
  20. package/build/src/charts/gauge.d.ts +3 -3
  21. package/build/src/charts/index.d.ts +16 -16
  22. package/build/src/charts/line.d.ts +2 -2
  23. package/build/src/charts/lollipop.d.ts +2 -2
  24. package/build/src/charts/meter.d.ts +3 -3
  25. package/build/src/charts/pie.d.ts +3 -3
  26. package/build/src/charts/radar.d.ts +2 -2
  27. package/build/src/charts/scatter.d.ts +2 -2
  28. package/build/src/charts/treemap.d.ts +2 -2
  29. package/build/src/components/axes/axis.d.ts +3 -3
  30. package/build/src/components/axes/chart-clip.d.ts +2 -2
  31. package/build/src/components/axes/grid-brush.d.ts +1 -1
  32. package/build/src/components/axes/grid.d.ts +1 -1
  33. package/build/src/components/axes/ruler-stacked.d.ts +1 -1
  34. package/build/src/components/axes/ruler.d.ts +2 -2
  35. package/build/src/components/axes/toolbar.d.ts +2 -2
  36. package/build/src/components/axes/two-dimensional-axes.d.ts +2 -2
  37. package/build/src/components/axes/zero-line.d.ts +1 -1
  38. package/build/src/components/axes/zoom-bar.d.ts +2 -2
  39. package/build/src/components/component.d.ts +1 -1
  40. package/build/src/components/essentials/legend.d.ts +1 -1
  41. package/build/src/components/essentials/threshold.d.ts +3 -3
  42. package/build/src/components/essentials/title-meter.d.ts +1 -1
  43. package/build/src/components/essentials/title.d.ts +1 -1
  44. package/build/src/components/essentials/tooltip-axis.d.ts +1 -1
  45. package/build/src/components/essentials/tooltip.d.ts +3 -3
  46. package/build/src/components/graphs/area-stacked.d.ts +1 -1
  47. package/build/src/components/graphs/area.d.ts +1 -1
  48. package/build/src/components/graphs/bar-grouped.d.ts +2 -2
  49. package/build/src/components/graphs/bar-simple.d.ts +1 -1
  50. package/build/src/components/graphs/bar-stacked.d.ts +1 -1
  51. package/build/src/components/graphs/bar.d.ts +1 -1
  52. package/build/src/components/graphs/bubble.d.ts +2 -2
  53. package/build/src/components/graphs/donut.d.ts +1 -1
  54. package/build/src/components/graphs/gauge.d.ts +1 -1
  55. package/build/src/components/graphs/line.d.ts +1 -1
  56. package/build/src/components/graphs/lollipop.d.ts +1 -1
  57. package/build/src/components/graphs/meter.d.ts +1 -1
  58. package/build/src/components/graphs/pie.d.ts +1 -1
  59. package/build/src/components/graphs/radar.d.ts +1 -1
  60. package/build/src/components/graphs/scatter-stacked.d.ts +1 -1
  61. package/build/src/components/graphs/scatter.d.ts +2 -2
  62. package/build/src/components/graphs/skeleton-lines.d.ts +1 -1
  63. package/build/src/components/graphs/skeleton.d.ts +1 -1
  64. package/build/src/components/graphs/treemap.d.ts +1 -1
  65. package/build/src/components/index.d.ts +36 -36
  66. package/build/src/components/layout/layout.d.ts +3 -3
  67. package/build/src/components/layout/spacer.d.ts +1 -1
  68. package/build/src/configuration-non-customizable.d.ts +7 -7
  69. package/build/src/configuration.d.ts +2 -2
  70. package/build/src/interfaces/axis-scales.d.ts +7 -7
  71. package/build/src/interfaces/charts.d.ts +11 -4
  72. package/build/src/interfaces/components.d.ts +3 -3
  73. package/build/src/interfaces/enums.d.ts +1 -1
  74. package/build/src/interfaces/index.d.ts +7 -7
  75. package/build/src/interfaces/layout.d.ts +1 -1
  76. package/build/src/interfaces/model.d.ts +1 -1
  77. package/build/src/model-cartesian-charts.d.ts +1 -1
  78. package/build/src/model-gauge.d.ts +1 -1
  79. package/build/src/model-meter.d.ts +1 -1
  80. package/build/src/model-pie.d.ts +1 -1
  81. package/build/src/model.d.ts +1 -9
  82. package/build/src/services/angle-utils.d.ts +1 -1
  83. package/build/src/services/curves.d.ts +2 -2
  84. package/build/src/services/essentials/dom-utils.d.ts +2 -2
  85. package/build/src/services/essentials/events.d.ts +1 -1
  86. package/build/src/services/essentials/gradient-utils.d.ts +1 -1
  87. package/build/src/services/essentials/transitions.d.ts +2 -2
  88. package/build/src/services/index.d.ts +7 -7
  89. package/build/src/services/scales-cartesian.d.ts +2 -2
  90. package/build/src/services/service.d.ts +1 -1
  91. package/build/src/services/time-series.d.ts +1 -1
  92. package/build/src/services/zoom.d.ts +2 -2
  93. package/build/src/tools.d.ts +2 -2
  94. package/build/stories/all.stories.d.ts +1 -1
  95. package/build/stories/tutorials/index.d.ts +11 -11
  96. package/build/stories/tutorials.stories.d.ts +1 -1
  97. package/bundle.js +1 -1
  98. package/chart.d.ts +3 -3
  99. package/chart.js +35 -35
  100. package/chart.js.map +1 -1
  101. package/charts/area-stacked.d.ts +2 -2
  102. package/charts/area-stacked.js +8 -8
  103. package/charts/area-stacked.js.map +1 -1
  104. package/charts/area.d.ts +2 -2
  105. package/charts/area.js +8 -8
  106. package/charts/area.js.map +1 -1
  107. package/charts/bar-grouped.d.ts +2 -2
  108. package/charts/bar-grouped.js +7 -7
  109. package/charts/bar-grouped.js.map +1 -1
  110. package/charts/bar-simple.d.ts +2 -2
  111. package/charts/bar-simple.js +7 -7
  112. package/charts/bar-simple.js.map +1 -1
  113. package/charts/bar-stacked.d.ts +2 -2
  114. package/charts/bar-stacked.js +7 -7
  115. package/charts/bar-stacked.js.map +1 -1
  116. package/charts/bubble.d.ts +2 -2
  117. package/charts/bubble.js +7 -7
  118. package/charts/bubble.js.map +1 -1
  119. package/charts/combo.d.ts +2 -2
  120. package/charts/combo.js +12 -12
  121. package/charts/combo.js.map +1 -1
  122. package/charts/donut.d.ts +2 -2
  123. package/charts/donut.js +7 -7
  124. package/charts/donut.js.map +1 -1
  125. package/charts/gauge.d.ts +3 -3
  126. package/charts/gauge.js +5 -5
  127. package/charts/gauge.js.map +1 -1
  128. package/charts/index.d.ts +16 -16
  129. package/charts/index.js +16 -16
  130. package/charts/index.js.map +1 -1
  131. package/charts/line.d.ts +2 -2
  132. package/charts/line.js +5 -5
  133. package/charts/line.js.map +1 -1
  134. package/charts/lollipop.d.ts +2 -2
  135. package/charts/lollipop.js +7 -7
  136. package/charts/lollipop.js.map +1 -1
  137. package/charts/meter.d.ts +3 -3
  138. package/charts/meter.js +18 -18
  139. package/charts/meter.js.map +1 -1
  140. package/charts/pie.d.ts +3 -3
  141. package/charts/pie.js +8 -8
  142. package/charts/pie.js.map +1 -1
  143. package/charts/radar.d.ts +2 -2
  144. package/charts/radar.js +5 -5
  145. package/charts/radar.js.map +1 -1
  146. package/charts/scatter.d.ts +2 -2
  147. package/charts/scatter.js +7 -7
  148. package/charts/scatter.js.map +1 -1
  149. package/charts/treemap.d.ts +2 -2
  150. package/charts/treemap.js +4 -4
  151. package/charts/treemap.js.map +1 -1
  152. package/components/axes/axis.d.ts +3 -3
  153. package/components/axes/axis.js +98 -98
  154. package/components/axes/axis.js.map +1 -1
  155. package/components/axes/chart-clip.d.ts +2 -2
  156. package/components/axes/chart-clip.js +9 -9
  157. package/components/axes/chart-clip.js.map +1 -1
  158. package/components/axes/grid-brush.d.ts +1 -1
  159. package/components/axes/grid-brush.js +32 -32
  160. package/components/axes/grid-brush.js.map +1 -1
  161. package/components/axes/grid.d.ts +1 -1
  162. package/components/axes/grid.js +34 -34
  163. package/components/axes/grid.js.map +1 -1
  164. package/components/axes/ruler-stacked.d.ts +1 -1
  165. package/components/axes/ruler-stacked.js +5 -5
  166. package/components/axes/ruler-stacked.js.map +1 -1
  167. package/components/axes/ruler.d.ts +2 -2
  168. package/components/axes/ruler.js +36 -36
  169. package/components/axes/ruler.js.map +1 -1
  170. package/components/axes/toolbar.d.ts +2 -2
  171. package/components/axes/toolbar.js +85 -85
  172. package/components/axes/toolbar.js.map +1 -1
  173. package/components/axes/two-dimensional-axes.d.ts +2 -2
  174. package/components/axes/two-dimensional-axes.js +13 -13
  175. package/components/axes/two-dimensional-axes.js.map +1 -1
  176. package/components/axes/zero-line.d.ts +1 -1
  177. package/components/axes/zero-line.js +12 -12
  178. package/components/axes/zero-line.js.map +1 -1
  179. package/components/axes/zoom-bar.d.ts +2 -2
  180. package/components/axes/zoom-bar.js +114 -114
  181. package/components/axes/zoom-bar.js.map +1 -1
  182. package/components/component.d.ts +1 -1
  183. package/components/component.js +13 -13
  184. package/components/component.js.map +1 -1
  185. package/components/essentials/legend.d.ts +1 -1
  186. package/components/essentials/legend.js +95 -92
  187. package/components/essentials/legend.js.map +1 -1
  188. package/components/essentials/threshold.d.ts +3 -3
  189. package/components/essentials/threshold.js +39 -39
  190. package/components/essentials/threshold.js.map +1 -1
  191. package/components/essentials/title-meter.d.ts +1 -1
  192. package/components/essentials/title-meter.js +42 -42
  193. package/components/essentials/title-meter.js.map +1 -1
  194. package/components/essentials/title.d.ts +1 -1
  195. package/components/essentials/title.js +19 -19
  196. package/components/essentials/title.js.map +1 -1
  197. package/components/essentials/tooltip-axis.d.ts +1 -1
  198. package/components/essentials/tooltip-axis.js +23 -23
  199. package/components/essentials/tooltip-axis.js.map +1 -1
  200. package/components/essentials/tooltip.d.ts +3 -3
  201. package/components/essentials/tooltip.js +31 -31
  202. package/components/essentials/tooltip.js.map +1 -1
  203. package/components/graphs/area-stacked.d.ts +1 -1
  204. package/components/graphs/area-stacked.js +28 -29
  205. package/components/graphs/area-stacked.js.map +1 -1
  206. package/components/graphs/area.d.ts +1 -1
  207. package/components/graphs/area.js +62 -57
  208. package/components/graphs/area.js.map +1 -1
  209. package/components/graphs/bar-grouped.d.ts +2 -2
  210. package/components/graphs/bar-grouped.js +56 -56
  211. package/components/graphs/bar-grouped.js.map +1 -1
  212. package/components/graphs/bar-simple.d.ts +1 -1
  213. package/components/graphs/bar-simple.js +45 -45
  214. package/components/graphs/bar-simple.js.map +1 -1
  215. package/components/graphs/bar-stacked.d.ts +1 -1
  216. package/components/graphs/bar-stacked.js +50 -51
  217. package/components/graphs/bar-stacked.js.map +1 -1
  218. package/components/graphs/bar.d.ts +1 -1
  219. package/components/graphs/bar.js +4 -4
  220. package/components/graphs/bar.js.map +1 -1
  221. package/components/graphs/bubble.d.ts +2 -2
  222. package/components/graphs/bubble.js +19 -19
  223. package/components/graphs/bubble.js.map +1 -1
  224. package/components/graphs/donut.d.ts +1 -1
  225. package/components/graphs/donut.js +20 -20
  226. package/components/graphs/donut.js.map +1 -1
  227. package/components/graphs/gauge.d.ts +1 -1
  228. package/components/graphs/gauge.js +89 -87
  229. package/components/graphs/gauge.js.map +1 -1
  230. package/components/graphs/line.d.ts +1 -1
  231. package/components/graphs/line.js +33 -33
  232. package/components/graphs/line.js.map +1 -1
  233. package/components/graphs/lollipop.d.ts +1 -1
  234. package/components/graphs/lollipop.js +32 -32
  235. package/components/graphs/lollipop.js.map +1 -1
  236. package/components/graphs/meter.d.ts +1 -1
  237. package/components/graphs/meter.js +39 -39
  238. package/components/graphs/meter.js.map +1 -1
  239. package/components/graphs/pie.d.ts +1 -1
  240. package/components/graphs/pie.js +102 -100
  241. package/components/graphs/pie.js.map +1 -1
  242. package/components/graphs/radar.d.ts +1 -1
  243. package/components/graphs/radar.js +180 -180
  244. package/components/graphs/radar.js.map +1 -1
  245. package/components/graphs/scatter-stacked.d.ts +1 -1
  246. package/components/graphs/scatter-stacked.js +22 -22
  247. package/components/graphs/scatter-stacked.js.map +1 -1
  248. package/components/graphs/scatter.d.ts +2 -2
  249. package/components/graphs/scatter.js +67 -66
  250. package/components/graphs/scatter.js.map +1 -1
  251. package/components/graphs/skeleton-lines.d.ts +1 -1
  252. package/components/graphs/skeleton-lines.js +27 -27
  253. package/components/graphs/skeleton-lines.js.map +1 -1
  254. package/components/graphs/skeleton.d.ts +1 -1
  255. package/components/graphs/skeleton.js +85 -85
  256. package/components/graphs/skeleton.js.map +1 -1
  257. package/components/graphs/treemap.d.ts +1 -1
  258. package/components/graphs/treemap.js +82 -82
  259. package/components/graphs/treemap.js.map +1 -1
  260. package/components/index.d.ts +36 -36
  261. package/components/index.js +36 -36
  262. package/components/index.js.map +1 -1
  263. package/components/layout/layout.d.ts +3 -3
  264. package/components/layout/layout.js +28 -28
  265. package/components/layout/layout.js.map +1 -1
  266. package/components/layout/spacer.d.ts +1 -1
  267. package/components/layout/spacer.js +10 -10
  268. package/components/layout/spacer.js.map +1 -1
  269. package/configuration-non-customizable.d.ts +7 -7
  270. package/configuration-non-customizable.js +37 -37
  271. package/configuration-non-customizable.js.map +1 -1
  272. package/configuration.d.ts +2 -2
  273. package/configuration.js +81 -78
  274. package/configuration.js.map +1 -1
  275. package/demo/create-codesandbox.d.ts +42 -42
  276. package/demo/create-codesandbox.js +100 -100
  277. package/demo/create-codesandbox.js.map +1 -1
  278. package/demo/data/area.js +220 -190
  279. package/demo/data/area.js.map +1 -1
  280. package/demo/data/bar.d.ts +2 -2
  281. package/demo/data/bar.js +302 -302
  282. package/demo/data/bar.js.map +1 -1
  283. package/demo/data/bubble.js +108 -108
  284. package/demo/data/bubble.js.map +1 -1
  285. package/demo/data/combo.js +323 -323
  286. package/demo/data/combo.js.map +1 -1
  287. package/demo/data/donut.js +19 -19
  288. package/demo/data/donut.js.map +1 -1
  289. package/demo/data/gauge.js +20 -20
  290. package/demo/data/gauge.js.map +1 -1
  291. package/demo/data/high-scale.js +3 -3
  292. package/demo/data/high-scale.js.map +1 -1
  293. package/demo/data/index.d.ts +13 -13
  294. package/demo/data/index.js +299 -299
  295. package/demo/data/index.js.map +1 -1
  296. package/demo/data/line.d.ts +4 -4
  297. package/demo/data/line.js +332 -332
  298. package/demo/data/line.js.map +1 -1
  299. package/demo/data/lollipop.js +19 -19
  300. package/demo/data/lollipop.js.map +1 -1
  301. package/demo/data/meter.d.ts +1 -1
  302. package/demo/data/meter.js +22 -22
  303. package/demo/data/meter.js.map +1 -1
  304. package/demo/data/pie.js +17 -17
  305. package/demo/data/pie.js.map +1 -1
  306. package/demo/data/radar.js +84 -84
  307. package/demo/data/radar.js.map +1 -1
  308. package/demo/data/scatter.js +125 -125
  309. package/demo/data/scatter.js.map +1 -1
  310. package/demo/data/step.js +11 -11
  311. package/demo/data/step.js.map +1 -1
  312. package/demo/data/time-series-axis.js +164 -164
  313. package/demo/data/time-series-axis.js.map +1 -1
  314. package/demo/data/toolbar.js +15 -15
  315. package/demo/data/toolbar.js.map +1 -1
  316. package/demo/data/treemap.js +63 -63
  317. package/demo/data/treemap.js.map +1 -1
  318. package/demo/data/zoom-bar.js +65 -65
  319. package/demo/data/zoom-bar.js.map +1 -1
  320. package/demo/styles.css +1 -1
  321. package/demo/styles.min.css +1 -1
  322. package/demo/tsconfig.tsbuildinfo +45 -45
  323. package/index.d.ts +3 -3
  324. package/index.js +3 -3
  325. package/index.js.map +1 -1
  326. package/interfaces/a11y.js.map +1 -1
  327. package/interfaces/axis-scales.d.ts +7 -7
  328. package/interfaces/axis-scales.js.map +1 -1
  329. package/interfaces/charts.d.ts +11 -4
  330. package/interfaces/charts.js.map +1 -1
  331. package/interfaces/components.d.ts +3 -3
  332. package/interfaces/components.js.map +1 -1
  333. package/interfaces/enums.d.ts +1 -1
  334. package/interfaces/enums.js +1 -1
  335. package/interfaces/enums.js.map +1 -1
  336. package/interfaces/events.js.map +1 -1
  337. package/interfaces/index.d.ts +7 -7
  338. package/interfaces/index.js +2 -2
  339. package/interfaces/index.js.map +1 -1
  340. package/interfaces/layout.d.ts +1 -1
  341. package/interfaces/layout.js.map +1 -1
  342. package/interfaces/model.d.ts +1 -1
  343. package/interfaces/model.js.map +1 -1
  344. package/model-cartesian-charts.d.ts +1 -1
  345. package/model-cartesian-charts.js +7 -7
  346. package/model-cartesian-charts.js.map +1 -1
  347. package/model-gauge.d.ts +1 -1
  348. package/model-gauge.js +2 -2
  349. package/model-gauge.js.map +1 -1
  350. package/model-meter.d.ts +1 -1
  351. package/model-meter.js +7 -7
  352. package/model-meter.js.map +1 -1
  353. package/model-pie.d.ts +1 -1
  354. package/model-pie.js +1 -1
  355. package/model-pie.js.map +1 -1
  356. package/model.d.ts +1 -9
  357. package/model.js +31 -42
  358. package/model.js.map +1 -1
  359. package/package.json +2 -3
  360. package/polyfills.js +9 -9
  361. package/polyfills.js.map +1 -1
  362. package/services/angle-utils.d.ts +1 -1
  363. package/services/angle-utils.js +9 -9
  364. package/services/angle-utils.js.map +1 -1
  365. package/services/curves.d.ts +2 -2
  366. package/services/curves.js +6 -6
  367. package/services/curves.js.map +1 -1
  368. package/services/essentials/dom-utils.d.ts +2 -2
  369. package/services/essentials/dom-utils.js +37 -37
  370. package/services/essentials/dom-utils.js.map +1 -1
  371. package/services/essentials/events.d.ts +1 -1
  372. package/services/essentials/events.js +3 -3
  373. package/services/essentials/events.js.map +1 -1
  374. package/services/essentials/gradient-utils.d.ts +1 -1
  375. package/services/essentials/gradient-utils.js +25 -25
  376. package/services/essentials/gradient-utils.js.map +1 -1
  377. package/services/essentials/transitions.d.ts +2 -2
  378. package/services/essentials/transitions.js +8 -8
  379. package/services/essentials/transitions.js.map +1 -1
  380. package/services/index.d.ts +7 -7
  381. package/services/index.js +7 -7
  382. package/services/index.js.map +1 -1
  383. package/services/scales-cartesian.d.ts +2 -2
  384. package/services/scales-cartesian.js +57 -60
  385. package/services/scales-cartesian.js.map +1 -1
  386. package/services/service.d.ts +1 -1
  387. package/services/service.js.map +1 -1
  388. package/services/time-series.d.ts +1 -1
  389. package/services/time-series.js +27 -27
  390. package/services/time-series.js.map +1 -1
  391. package/services/zoom.d.ts +2 -2
  392. package/services/zoom.js +20 -20
  393. package/services/zoom.js.map +1 -1
  394. package/styles/_type.scss +7 -7
  395. package/styles/color-palatte.scss +218 -218
  396. package/styles/colors.scss +3 -3
  397. package/styles/components/_axis.scss +5 -5
  398. package/styles/components/_ruler.scss +2 -2
  399. package/styles/components/_threshold.scss +1 -1
  400. package/styles/components/_title.scss +3 -3
  401. package/styles/components/_toolbar.scss +1 -1
  402. package/styles/components/_tooltip.scss +6 -6
  403. package/styles/components/index.scss +16 -16
  404. package/styles/graphs/_bubble.scss +1 -1
  405. package/styles/graphs/_radar.scss +2 -2
  406. package/styles/graphs/_scatter.scss +1 -1
  407. package/styles/graphs/_treemap.scss +1 -1
  408. package/styles/graphs/index.scss +9 -9
  409. package/styles/styles-g10.scss +2 -2
  410. package/styles/styles-g100.scss +2 -2
  411. package/styles/styles-g90.scss +2 -2
  412. package/styles/styles-white.scss +2 -2
  413. package/styles/styles.scss +10 -10
  414. package/tools.d.ts +2 -2
  415. package/tools.js +26 -26
  416. package/tools.js.map +1 -1
  417. package/tsconfig.tsbuildinfo +173 -173
@@ -1 +1 @@
1
- {"version":3,"file":"title.js","sourceRoot":"","sources":["title.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from \"../component\";\nimport { DOMUtils } from \"../../services\";\nimport { Events } from \"./../../interfaces\";\n\nexport class Title extends Component {\n\ttype = \"title\";\n\n\trender() {\n\t\tconst svg = this.getContainerSVG();\n\n\t\tconst text = svg\n\t\t\t.selectAll(\"text.title\")\n\t\t\t.data([this.getOptions().title]);\n\n\t\ttext.enter()\n\t\t\t.append(\"text\")\n\t\t\t.classed(\"title\", true)\n\t\t\t.merge(text)\n\t\t\t.attr(\"x\", 0)\n\t\t\t.attr(\"y\", \"1em\")\n\t\t\t.html((d) => d);\n\n\t\t// check the max space the title has to render\n\t\tconst maxWidth = this.getMaxTitleWidth();\n\t\tconst title = DOMUtils.appendOrSelect(svg, \"text.title\");\n\n\t\t// check if title needs truncation (and tooltip support)\n\t\tif (title.node().getComputedTextLength() > maxWidth && maxWidth > 0) {\n\t\t\tthis.truncateTitle(title, maxWidth);\n\t\t}\n\t\ttext.exit().remove();\n\t}\n\n\t/**\n\t * Truncates title creating ellipses and attaching tooltip for exposing full title.\n\t */\n\ttruncateTitle(title, maxWidth) {\n\t\t// sanity check to prevent stack overflow on binary search\n\t\tif (maxWidth <= 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst untruncatedTitle = title.text();\n\t\t// check if the title is too big for the containing svg\n\t\tif (title.node().getComputedTextLength() > maxWidth) {\n\t\t\t// append the ellipses to their own tspan to calculate the text length\n\t\t\ttitle.append(\"tspan\").text(\"...\");\n\n\t\t\t// get the bounding width including the elipses '...'\n\t\t\tconst tspanLength = DOMUtils.appendOrSelect(title, \"tspan\")\n\t\t\t\t.node()\n\t\t\t\t.getComputedTextLength();\n\n\t\t\t// with elipses\n\t\t\tconst titleString = title.text();\n\n\t\t\t// get the index for creating the max length substring that fit within the svg\n\t\t\t// use one less than the index to avoid crowding (the elipsis)\n\t\t\tconst substringIndex = this.getSubstringIndex(\n\t\t\t\ttitle.node(),\n\t\t\t\t0,\n\t\t\t\ttitleString.length - 1,\n\t\t\t\tmaxWidth - tspanLength\n\t\t\t);\n\n\t\t\t// use the substring as the title\n\t\t\ttitle\n\t\t\t\t.html(titleString.substring(0, substringIndex - 1))\n\t\t\t\t.append(\"tspan\")\n\t\t\t\t.text(\"...\");\n\n\t\t\t// add events for displaying the tooltip with the title\n\t\t\tconst self = this;\n\t\t\ttitle\n\t\t\t\t.on(\"mouseover\", function () {\n\t\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.SHOW, {\n\t\t\t\t\t\thoveredElement: title,\n\t\t\t\t\t\tcontent: untruncatedTitle\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.on(\"mousemove\", function () {\n\t\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.MOVE);\n\t\t\t\t})\n\t\t\t\t.on(\"mouseout\", function () {\n\t\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.HIDE);\n\t\t\t\t});\n\t\t}\n\t}\n\n\t// computes the maximum space a title can take\n\tprotected getMaxTitleWidth() {\n\t\treturn DOMUtils.getSVGElementSize(this.parent.node(), {\n\t\t\tuseAttr: true\n\t\t}).width;\n\t}\n\n\t/**\n\t * Returns the index for a maximum length substring that is less than the width parameter.\n\t * @param title the title node used for getting the text lengths of substrings\n\t * @param start the start index for the binary search\n\t * @param end the end index for the binary search\n\t * @param width the width of the svg container that holds the title\n\t */\n\tprotected getSubstringIndex(title, start, end, width) {\n\t\tconst mid = Math.floor((end + start) / 2);\n\t\tif (title.getSubStringLength(0, mid) > width) {\n\t\t\treturn this.getSubstringIndex(title, start, mid, width);\n\t\t} else if (title.getSubStringLength(0, mid) < width) {\n\t\t\tif (title.getSubStringLength(0, mid + 1) > width) {\n\t\t\t\treturn mid;\n\t\t\t}\n\t\t\treturn this.getSubstringIndex(title, mid, end, width);\n\t\t} else {\n\t\t\treturn mid;\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"title.js","sourceRoot":"","sources":["title.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from '../component';\nimport { DOMUtils } from '../../services';\nimport { Events } from './../../interfaces';\n\nexport class Title extends Component {\n\ttype = 'title';\n\n\trender() {\n\t\tconst svg = this.getContainerSVG();\n\n\t\tconst text = svg\n\t\t\t.selectAll('text.title')\n\t\t\t.data([this.getOptions().title]);\n\n\t\ttext.enter()\n\t\t\t.append('text')\n\t\t\t.classed('title', true)\n\t\t\t.merge(text)\n\t\t\t.attr('x', 0)\n\t\t\t.attr('y', '1em')\n\t\t\t.html((d) => d);\n\n\t\t// check the max space the title has to render\n\t\tconst maxWidth = this.getMaxTitleWidth();\n\t\tconst title = DOMUtils.appendOrSelect(svg, 'text.title');\n\n\t\t// check if title needs truncation (and tooltip support)\n\t\tif (title.node().getComputedTextLength() > maxWidth && maxWidth > 0) {\n\t\t\tthis.truncateTitle(title, maxWidth);\n\t\t}\n\t\ttext.exit().remove();\n\t}\n\n\t/**\n\t * Truncates title creating ellipses and attaching tooltip for exposing full title.\n\t */\n\ttruncateTitle(title, maxWidth) {\n\t\t// sanity check to prevent stack overflow on binary search\n\t\tif (maxWidth <= 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst untruncatedTitle = title.text();\n\t\t// check if the title is too big for the containing svg\n\t\tif (title.node().getComputedTextLength() > maxWidth) {\n\t\t\t// append the ellipses to their own tspan to calculate the text length\n\t\t\ttitle.append('tspan').text('...');\n\n\t\t\t// get the bounding width including the elipses '...'\n\t\t\tconst tspanLength = DOMUtils.appendOrSelect(title, 'tspan')\n\t\t\t\t.node()\n\t\t\t\t.getComputedTextLength();\n\n\t\t\t// with elipses\n\t\t\tconst titleString = title.text();\n\n\t\t\t// get the index for creating the max length substring that fit within the svg\n\t\t\t// use one less than the index to avoid crowding (the elipsis)\n\t\t\tconst substringIndex = this.getSubstringIndex(\n\t\t\t\ttitle.node(),\n\t\t\t\t0,\n\t\t\t\ttitleString.length - 1,\n\t\t\t\tmaxWidth - tspanLength\n\t\t\t);\n\n\t\t\t// use the substring as the title\n\t\t\ttitle\n\t\t\t\t.html(titleString.substring(0, substringIndex - 1))\n\t\t\t\t.append('tspan')\n\t\t\t\t.text('...');\n\n\t\t\t// add events for displaying the tooltip with the title\n\t\t\tconst self = this;\n\t\t\ttitle\n\t\t\t\t.on('mouseover', function () {\n\t\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.SHOW, {\n\t\t\t\t\t\thoveredElement: title,\n\t\t\t\t\t\tcontent: untruncatedTitle,\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.on('mousemove', function () {\n\t\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.MOVE);\n\t\t\t\t})\n\t\t\t\t.on('mouseout', function () {\n\t\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.HIDE);\n\t\t\t\t});\n\t\t}\n\t}\n\n\t// computes the maximum space a title can take\n\tprotected getMaxTitleWidth() {\n\t\treturn DOMUtils.getSVGElementSize(this.parent.node(), {\n\t\t\tuseAttr: true,\n\t\t}).width;\n\t}\n\n\t/**\n\t * Returns the index for a maximum length substring that is less than the width parameter.\n\t * @param title the title node used for getting the text lengths of substrings\n\t * @param start the start index for the binary search\n\t * @param end the end index for the binary search\n\t * @param width the width of the svg container that holds the title\n\t */\n\tprotected getSubstringIndex(title, start, end, width) {\n\t\tconst mid = Math.floor((end + start) / 2);\n\t\tif (title.getSubStringLength(0, mid) > width) {\n\t\t\treturn this.getSubstringIndex(title, start, mid, width);\n\t\t} else if (title.getSubStringLength(0, mid) < width) {\n\t\t\tif (title.getSubStringLength(0, mid + 1) > width) {\n\t\t\t\treturn mid;\n\t\t\t}\n\t\t\treturn this.getSubstringIndex(title, mid, end, width);\n\t\t} else {\n\t\t\treturn mid;\n\t\t}\n\t}\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { Tooltip } from "./tooltip";
1
+ import { Tooltip } from './tooltip';
2
2
  export declare class AxisChartsTooltip extends Tooltip {
3
3
  getItems(e: CustomEvent): any;
4
4
  }
@@ -11,10 +11,10 @@ var __extends = (this && this.__extends) || (function () {
11
11
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
12
  };
13
13
  })();
14
- import { Tooltip } from "./tooltip";
15
- import { AxisPositions, ScaleTypes, ColorClassNameTypes } from "../../interfaces";
16
- import { Tools } from "../../tools";
17
- import { format } from "date-fns";
14
+ import { Tooltip } from './tooltip';
15
+ import { AxisPositions, ScaleTypes, ColorClassNameTypes, } from '../../interfaces';
16
+ import { Tools } from '../../tools';
17
+ import { format } from 'date-fns';
18
18
  var AxisChartsTooltip = /** @class */ (function (_super) {
19
19
  __extends(AxisChartsTooltip, _super);
20
20
  function AxisChartsTooltip() {
@@ -41,15 +41,15 @@ var AxisChartsTooltip = /** @class */ (function (_super) {
41
41
  var domainAxisPosition = cartesianScales.getDomainAxisPosition();
42
42
  if (domainAxisPosition === AxisPositions.BOTTOM ||
43
43
  domainAxisPosition === AxisPositions.TOP) {
44
- domainLabel = "x-value";
44
+ domainLabel = 'x-value';
45
45
  }
46
46
  else {
47
- domainLabel = "y-value";
47
+ domainLabel = 'y-value';
48
48
  }
49
49
  }
50
50
  var domainValue = data[0][domainIdentifier];
51
51
  if (domainAxisScaleType === ScaleTypes.TIME) {
52
- domainValue = format(new Date(data[0][domainIdentifier]), "MMM d, yyyy");
52
+ domainValue = format(new Date(data[0][domainIdentifier]), 'MMM d, yyyy');
53
53
  }
54
54
  else if (domainAxisScaleType === ScaleTypes.LINEAR) {
55
55
  domainValue = domainValue.toLocaleString();
@@ -58,7 +58,7 @@ var AxisChartsTooltip = /** @class */ (function (_super) {
58
58
  if (data.length === 1) {
59
59
  var datum = data[0];
60
60
  var rangeAxisPosition = cartesianScales.getRangeAxisPosition({
61
- datum: datum
61
+ datum: datum,
62
62
  });
63
63
  var rangeIdentifier = cartesianScales.getRangeIdentifier(datum);
64
64
  var rangeAxisOptions = cartesianScales.getAxisOptions(rangeAxisPosition);
@@ -66,38 +66,38 @@ var AxisChartsTooltip = /** @class */ (function (_super) {
66
66
  if (!rangeLabel) {
67
67
  if (rangeAxisPosition === AxisPositions.LEFT ||
68
68
  rangeAxisPosition === AxisPositions.RIGHT) {
69
- rangeLabel = "y-value";
69
+ rangeLabel = 'y-value';
70
70
  }
71
71
  else {
72
- rangeLabel = "x-value";
72
+ rangeLabel = 'x-value';
73
73
  }
74
74
  }
75
75
  items = [
76
76
  {
77
77
  label: domainLabel,
78
- value: domainValue
78
+ value: domainValue,
79
79
  },
80
80
  {
81
81
  label: rangeLabel,
82
- value: datum[rangeIdentifier]
82
+ value: datum[rangeIdentifier],
83
83
  },
84
84
  {
85
- label: options.tooltip.groupLabel || "Group",
85
+ label: options.tooltip.groupLabel || 'Group',
86
86
  value: datum[groupMapsTo],
87
87
  color: this.model.getFillColor(datum[groupMapsTo]),
88
88
  class: this.model.getColorClassName({
89
89
  classNameTypes: [ColorClassNameTypes.TOOLTIP],
90
- dataGroupName: datum[groupMapsTo]
91
- })
92
- }
90
+ dataGroupName: datum[groupMapsTo],
91
+ }),
92
+ },
93
93
  ];
94
94
  }
95
95
  else if (data.length > 1) {
96
96
  items = [
97
97
  {
98
98
  label: domainLabel,
99
- value: this.valueFormatter(domainValue)
100
- }
99
+ value: this.valueFormatter(domainValue),
100
+ },
101
101
  ];
102
102
  items = items.concat(data
103
103
  .map(function (datum) { return ({
@@ -106,21 +106,21 @@ var AxisChartsTooltip = /** @class */ (function (_super) {
106
106
  color: _this.model.getFillColor(datum[groupMapsTo]),
107
107
  class: _this.model.getColorClassName({
108
108
  classNameTypes: [ColorClassNameTypes.TOOLTIP],
109
- dataGroupName: datum[groupMapsTo]
110
- })
109
+ dataGroupName: datum[groupMapsTo],
110
+ }),
111
111
  }); })
112
112
  .sort(function (a, b) { return b.value - a.value; }));
113
113
  var dualAxes = cartesianScales.isDualAxes();
114
114
  if (!dualAxes &&
115
- Tools.getProperty(options, "tooltip", "showTotal") === true) {
115
+ Tools.getProperty(options, 'tooltip', 'showTotal') === true) {
116
116
  // use the primary/only range id
117
117
  var rangeIdentifier_1 = cartesianScales.getRangeIdentifier();
118
118
  items.push({
119
- label: options.tooltip.totalLabel || "Total",
119
+ label: options.tooltip.totalLabel || 'Total',
120
120
  value: this.valueFormatter(data.reduce(function (accumulator, datum) {
121
121
  return accumulator + datum[rangeIdentifier_1];
122
122
  }, 0)),
123
- bold: true
123
+ bold: true,
124
124
  });
125
125
  }
126
126
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip-axis.js","sourceRoot":"","sources":["tooltip-axis.ts"],"names":[],"mappings":"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","sourcesContent":["import { Tooltip } from \"./tooltip\";\nimport {\n\tAxisPositions,\n\tScaleTypes,\n\tColorClassNameTypes\n} from \"../../interfaces\";\nimport { Tools } from \"../../tools\";\n\nimport { format } from \"date-fns\";\n\nexport class AxisChartsTooltip extends Tooltip {\n\tgetItems(e: CustomEvent) {\n\t\tif (e.detail.items) {\n\t\t\treturn e.detail.items;\n\t\t}\n\n\t\tconst data = e.detail.data;\n\t\tif (!data.length || !data[0]) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst options = this.getOptions();\n\t\tconst { cartesianScales } = this.services;\n\t\tconst domainAxisOptions = cartesianScales.getDomainAxisOptions();\n\t\tconst domainIdentifier = cartesianScales.getDomainIdentifier();\n\t\tconst domainAxisScaleType = cartesianScales.getDomainAxisScaleType();\n\n\t\t// Generate default tooltip\n\t\tconst { groupMapsTo } = options.data;\n\t\tlet domainLabel = domainAxisOptions.title;\n\t\tif (!domainLabel) {\n\t\t\tconst domainAxisPosition = cartesianScales.getDomainAxisPosition();\n\t\t\tif (\n\t\t\t\tdomainAxisPosition === AxisPositions.BOTTOM ||\n\t\t\t\tdomainAxisPosition === AxisPositions.TOP\n\t\t\t) {\n\t\t\t\tdomainLabel = \"x-value\";\n\t\t\t} else {\n\t\t\t\tdomainLabel = \"y-value\";\n\t\t\t}\n\t\t}\n\n\t\tlet domainValue = data[0][domainIdentifier];\n\t\tif (domainAxisScaleType === ScaleTypes.TIME) {\n\t\t\tdomainValue = format(\n\t\t\t\tnew Date(data[0][domainIdentifier]),\n\t\t\t\t\"MMM d, yyyy\"\n\t\t\t);\n\t\t} else if (domainAxisScaleType === ScaleTypes.LINEAR) {\n\t\t\tdomainValue = domainValue.toLocaleString();\n\t\t}\n\n\t\tlet items: any[];\n\t\tif (data.length === 1) {\n\t\t\tconst datum = data[0];\n\t\t\tconst rangeAxisPosition = cartesianScales.getRangeAxisPosition({\n\t\t\t\tdatum\n\t\t\t});\n\t\t\tconst rangeIdentifier = cartesianScales.getRangeIdentifier(datum);\n\t\t\tconst rangeAxisOptions = cartesianScales.getAxisOptions(\n\t\t\t\trangeAxisPosition\n\t\t\t);\n\n\t\t\tlet rangeLabel = rangeAxisOptions.title;\n\t\t\tif (!rangeLabel) {\n\t\t\t\tif (\n\t\t\t\t\trangeAxisPosition === AxisPositions.LEFT ||\n\t\t\t\t\trangeAxisPosition === AxisPositions.RIGHT\n\t\t\t\t) {\n\t\t\t\t\trangeLabel = \"y-value\";\n\t\t\t\t} else {\n\t\t\t\t\trangeLabel = \"x-value\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\titems = [\n\t\t\t\t{\n\t\t\t\t\tlabel: domainLabel,\n\t\t\t\t\tvalue: domainValue\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: rangeLabel,\n\t\t\t\t\tvalue: datum[rangeIdentifier]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: options.tooltip.groupLabel || \"Group\",\n\t\t\t\t\tvalue: datum[groupMapsTo],\n\t\t\t\t\tcolor: this.model.getFillColor(datum[groupMapsTo]),\n\t\t\t\t\tclass: this.model.getColorClassName({\n\t\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.TOOLTIP],\n\t\t\t\t\t\tdataGroupName: datum[groupMapsTo]\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t];\n\t\t} else if (data.length > 1) {\n\t\t\titems = [\n\t\t\t\t{\n\t\t\t\t\tlabel: domainLabel,\n\t\t\t\t\tvalue: this.valueFormatter(domainValue)\n\t\t\t\t}\n\t\t\t];\n\n\t\t\titems = items.concat(\n\t\t\t\tdata\n\t\t\t\t\t.map((datum) => ({\n\t\t\t\t\t\tlabel: datum[groupMapsTo],\n\t\t\t\t\t\tvalue: this.valueFormatter(\n\t\t\t\t\t\t\tdatum[cartesianScales.getRangeIdentifier(datum)]\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcolor: this.model.getFillColor(datum[groupMapsTo]),\n\t\t\t\t\t\tclass: this.model.getColorClassName({\n\t\t\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.TOOLTIP],\n\t\t\t\t\t\t\tdataGroupName: datum[groupMapsTo]\n\t\t\t\t\t\t})\n\t\t\t\t\t}))\n\t\t\t\t\t.sort((a, b) => b.value - a.value)\n\t\t\t);\n\n\t\t\tconst dualAxes = cartesianScales.isDualAxes();\n\t\t\tif (\n\t\t\t\t!dualAxes &&\n\t\t\t\tTools.getProperty(options, \"tooltip\", \"showTotal\") === true\n\t\t\t) {\n\t\t\t\t// use the primary/only range id\n\t\t\t\tconst rangeIdentifier = cartesianScales.getRangeIdentifier();\n\t\t\t\titems.push({\n\t\t\t\t\tlabel: options.tooltip.totalLabel || \"Total\",\n\t\t\t\t\tvalue: this.valueFormatter(\n\t\t\t\t\t\tdata.reduce(\n\t\t\t\t\t\t\t(accumulator, datum) =>\n\t\t\t\t\t\t\t\taccumulator + datum[rangeIdentifier],\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\tbold: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn items;\n\t}\n}\n"]}
1
+ {"version":3,"file":"tooltip-axis.js","sourceRoot":"","sources":["tooltip-axis.ts"],"names":[],"mappings":"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","sourcesContent":["import { Tooltip } from './tooltip';\nimport {\n\tAxisPositions,\n\tScaleTypes,\n\tColorClassNameTypes,\n} from '../../interfaces';\nimport { Tools } from '../../tools';\n\nimport { format } from 'date-fns';\n\nexport class AxisChartsTooltip extends Tooltip {\n\tgetItems(e: CustomEvent) {\n\t\tif (e.detail.items) {\n\t\t\treturn e.detail.items;\n\t\t}\n\n\t\tconst data = e.detail.data;\n\t\tif (!data.length || !data[0]) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst options = this.getOptions();\n\t\tconst { cartesianScales } = this.services;\n\t\tconst domainAxisOptions = cartesianScales.getDomainAxisOptions();\n\t\tconst domainIdentifier = cartesianScales.getDomainIdentifier();\n\t\tconst domainAxisScaleType = cartesianScales.getDomainAxisScaleType();\n\n\t\t// Generate default tooltip\n\t\tconst { groupMapsTo } = options.data;\n\t\tlet domainLabel = domainAxisOptions.title;\n\t\tif (!domainLabel) {\n\t\t\tconst domainAxisPosition = cartesianScales.getDomainAxisPosition();\n\t\t\tif (\n\t\t\t\tdomainAxisPosition === AxisPositions.BOTTOM ||\n\t\t\t\tdomainAxisPosition === AxisPositions.TOP\n\t\t\t) {\n\t\t\t\tdomainLabel = 'x-value';\n\t\t\t} else {\n\t\t\t\tdomainLabel = 'y-value';\n\t\t\t}\n\t\t}\n\n\t\tlet domainValue = data[0][domainIdentifier];\n\t\tif (domainAxisScaleType === ScaleTypes.TIME) {\n\t\t\tdomainValue = format(\n\t\t\t\tnew Date(data[0][domainIdentifier]),\n\t\t\t\t'MMM d, yyyy'\n\t\t\t);\n\t\t} else if (domainAxisScaleType === ScaleTypes.LINEAR) {\n\t\t\tdomainValue = domainValue.toLocaleString();\n\t\t}\n\n\t\tlet items: any[];\n\t\tif (data.length === 1) {\n\t\t\tconst datum = data[0];\n\t\t\tconst rangeAxisPosition = cartesianScales.getRangeAxisPosition({\n\t\t\t\tdatum,\n\t\t\t});\n\t\t\tconst rangeIdentifier = cartesianScales.getRangeIdentifier(datum);\n\t\t\tconst rangeAxisOptions = cartesianScales.getAxisOptions(\n\t\t\t\trangeAxisPosition\n\t\t\t);\n\n\t\t\tlet rangeLabel = rangeAxisOptions.title;\n\t\t\tif (!rangeLabel) {\n\t\t\t\tif (\n\t\t\t\t\trangeAxisPosition === AxisPositions.LEFT ||\n\t\t\t\t\trangeAxisPosition === AxisPositions.RIGHT\n\t\t\t\t) {\n\t\t\t\t\trangeLabel = 'y-value';\n\t\t\t\t} else {\n\t\t\t\t\trangeLabel = 'x-value';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\titems = [\n\t\t\t\t{\n\t\t\t\t\tlabel: domainLabel,\n\t\t\t\t\tvalue: domainValue,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: rangeLabel,\n\t\t\t\t\tvalue: datum[rangeIdentifier],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: options.tooltip.groupLabel || 'Group',\n\t\t\t\t\tvalue: datum[groupMapsTo],\n\t\t\t\t\tcolor: this.model.getFillColor(datum[groupMapsTo]),\n\t\t\t\t\tclass: this.model.getColorClassName({\n\t\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.TOOLTIP],\n\t\t\t\t\t\tdataGroupName: datum[groupMapsTo],\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t];\n\t\t} else if (data.length > 1) {\n\t\t\titems = [\n\t\t\t\t{\n\t\t\t\t\tlabel: domainLabel,\n\t\t\t\t\tvalue: this.valueFormatter(domainValue),\n\t\t\t\t},\n\t\t\t];\n\n\t\t\titems = items.concat(\n\t\t\t\tdata\n\t\t\t\t\t.map((datum) => ({\n\t\t\t\t\t\tlabel: datum[groupMapsTo],\n\t\t\t\t\t\tvalue: this.valueFormatter(\n\t\t\t\t\t\t\tdatum[cartesianScales.getRangeIdentifier(datum)]\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcolor: this.model.getFillColor(datum[groupMapsTo]),\n\t\t\t\t\t\tclass: this.model.getColorClassName({\n\t\t\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.TOOLTIP],\n\t\t\t\t\t\t\tdataGroupName: datum[groupMapsTo],\n\t\t\t\t\t\t}),\n\t\t\t\t\t}))\n\t\t\t\t\t.sort((a, b) => b.value - a.value)\n\t\t\t);\n\n\t\t\tconst dualAxes = cartesianScales.isDualAxes();\n\t\t\tif (\n\t\t\t\t!dualAxes &&\n\t\t\t\tTools.getProperty(options, 'tooltip', 'showTotal') === true\n\t\t\t) {\n\t\t\t\t// use the primary/only range id\n\t\t\t\tconst rangeIdentifier = cartesianScales.getRangeIdentifier();\n\t\t\t\titems.push({\n\t\t\t\t\tlabel: options.tooltip.totalLabel || 'Total',\n\t\t\t\t\tvalue: this.valueFormatter(\n\t\t\t\t\t\tdata.reduce(\n\t\t\t\t\t\t\t(accumulator, datum) =>\n\t\t\t\t\t\t\t\taccumulator + datum[rangeIdentifier],\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\tbold: true,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn items;\n\t}\n}\n"]}
@@ -1,6 +1,6 @@
1
- import { Component } from "../component";
2
- import { ChartModel } from "../../model";
3
- import Position from "@carbon/utils-position";
1
+ import { Component } from '../component';
2
+ import { ChartModel } from '../../model';
3
+ import Position from '@carbon/utils-position';
4
4
  export declare class Tooltip extends Component {
5
5
  type: string;
6
6
  isEventListenerAdded: boolean;
@@ -11,31 +11,31 @@ var __extends = (this && this.__extends) || (function () {
11
11
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
12
  };
13
13
  })();
14
- import { Component } from "../component";
15
- import { Tools } from "../../tools";
16
- import { DOMUtils } from "../../services";
17
- import { Events, TruncationTypes } from "../../interfaces";
18
- import * as Configuration from "../../configuration";
14
+ import { Component } from '../component';
15
+ import { Tools } from '../../tools';
16
+ import { DOMUtils } from '../../services';
17
+ import { Events, TruncationTypes } from '../../interfaces';
18
+ import * as Configuration from '../../configuration';
19
19
  // Carbon position service
20
- import Position, { PLACEMENTS } from "@carbon/utils-position";
20
+ import Position, { PLACEMENTS } from '@carbon/utils-position';
21
21
  // import the settings for the css prefix
22
- import settings from "carbon-components/es/globals/js/settings";
22
+ import settings from 'carbon-components/es/globals/js/settings';
23
23
  // D3 Imports
24
- import { select, mouse } from "d3-selection";
24
+ import { select, mouse } from 'd3-selection';
25
25
  var Tooltip = /** @class */ (function (_super) {
26
26
  __extends(Tooltip, _super);
27
27
  function Tooltip(model, services, configs) {
28
28
  var _this = _super.call(this, model, services, configs) || this;
29
- _this.type = "tooltip";
29
+ _this.type = 'tooltip';
30
30
  // flag for checking whether tooltip event listener is added or not
31
31
  _this.isEventListenerAdded = false;
32
32
  _this.positionService = new Position();
33
33
  _this.handleShowTooltip = function (e) {
34
34
  var data = e.detail.data || e.detail.items;
35
35
  var defaultHTML = _this.getTooltipHTML(e);
36
- var tooltipTextContainer = DOMUtils.appendOrSelect(_this.tooltip, "div.content-box");
36
+ var tooltipTextContainer = DOMUtils.appendOrSelect(_this.tooltip, 'div.content-box');
37
37
  // if there is a provided tooltip HTML function call it
38
- if (Tools.getProperty(_this.getOptions(), "tooltip", "customHTML")) {
38
+ if (Tools.getProperty(_this.getOptions(), 'tooltip', 'customHTML')) {
39
39
  if (e.detail.content) {
40
40
  var labelHTML = "<div class=\"title-tooltip\"><p>" + e.detail.content + "</p></div>";
41
41
  tooltipTextContainer.html(labelHTML);
@@ -53,10 +53,10 @@ var Tooltip = /** @class */ (function (_super) {
53
53
  // Position the tooltip
54
54
  _this.positionTooltip(e);
55
55
  // Fade in
56
- _this.tooltip.classed("hidden", false).attr("aria-hidden", false);
56
+ _this.tooltip.classed('hidden', false).attr('aria-hidden', false);
57
57
  };
58
58
  _this.handleHideTooltip = function () {
59
- _this.tooltip.classed("hidden", true).attr("aria-hidden", true);
59
+ _this.tooltip.classed('hidden', true).attr('aria-hidden', true);
60
60
  };
61
61
  _this.init();
62
62
  return _this;
@@ -94,9 +94,9 @@ var Tooltip = /** @class */ (function (_super) {
94
94
  var _this = this;
95
95
  var options = this.getOptions();
96
96
  // get user provided custom values for truncation
97
- var truncationType = Tools.getProperty(options, "tooltip", "truncation", "type");
98
- var truncationThreshold = Tools.getProperty(options, "tooltip", "truncation", "threshold");
99
- var truncationNumCharacter = Tools.getProperty(options, "tooltip", "truncation", "numCharacter");
97
+ var truncationType = Tools.getProperty(options, 'tooltip', 'truncation', 'type');
98
+ var truncationThreshold = Tools.getProperty(options, 'tooltip', 'truncation', 'threshold');
99
+ var truncationNumCharacter = Tools.getProperty(options, 'tooltip', 'truncation', 'numCharacter');
100
100
  // truncate the label if it's too long
101
101
  // only applies to discrete type
102
102
  if (truncationType !== TruncationTypes.NONE) {
@@ -127,20 +127,20 @@ var Tooltip = /** @class */ (function (_super) {
127
127
  "<ul class='multi-tooltip'>" +
128
128
  formattedItems
129
129
  .map(function (item) {
130
- return "<li>\n\t\t\t\t\t\t\t<div class=\"datapoint-tooltip " + (item.bold ? "bold" : "") + "\">\n\t\t\t\t\t\t\t\t" + (item.class ? "<a class=\"tooltip-color " + item.class + "\"></a>" : "") + "\n\t\t\t\t\t\t\t\t" + (item.color
130
+ return "<li>\n\t\t\t\t\t\t\t<div class=\"datapoint-tooltip " + (item.bold ? 'bold' : '') + "\">\n\t\t\t\t\t\t\t\t" + (item.class ? "<a class=\"tooltip-color " + item.class + "\"></a>" : '') + "\n\t\t\t\t\t\t\t\t" + (item.color
131
131
  ? '<a style="background-color: ' +
132
132
  item.color +
133
133
  '" class="tooltip-color"></a>'
134
- : "") + "\n\t\t\t\t\t\t\t\t<p class=\"label\">" + (item.label || "") + "</p>\n\t\t\t\t\t\t\t\t<p class=\"value\">" + (item.value || "") + "</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</li>";
134
+ : '') + "\n\t\t\t\t\t\t\t\t<p class=\"label\">" + (item.label || '') + "</p>\n\t\t\t\t\t\t\t\t<p class=\"value\">" + (item.value || '') + "</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</li>";
135
135
  })
136
- .join("") +
136
+ .join('') +
137
137
  "</ul>";
138
138
  }
139
139
  return defaultHTML;
140
140
  };
141
141
  Tooltip.prototype.valueFormatter = function (value) {
142
142
  var options = this.getOptions();
143
- var valueFormatter = Tools.getProperty(options, "tooltip", "valueFormatter");
143
+ var valueFormatter = Tools.getProperty(options, 'tooltip', 'valueFormatter');
144
144
  if (valueFormatter) {
145
145
  return valueFormatter(value);
146
146
  }
@@ -148,18 +148,18 @@ var Tooltip = /** @class */ (function (_super) {
148
148
  };
149
149
  Tooltip.prototype.render = function () {
150
150
  var options = this.getOptions();
151
- var isTooltipEnabled = Tools.getProperty(options, "tooltip", "enabled");
151
+ var isTooltipEnabled = Tools.getProperty(options, 'tooltip', 'enabled');
152
152
  if (isTooltipEnabled) {
153
153
  // Grab the tooltip element
154
154
  var holder = select(this.services.domUtils.getHolder());
155
- var chartprefix = Tools.getProperty(options, "style", "prefix");
155
+ var chartprefix = Tools.getProperty(options, 'style', 'prefix');
156
156
  this.tooltip = DOMUtils.appendOrSelect(holder, "div." + settings.prefix + "--" + chartprefix + "--tooltip");
157
- this.tooltip.style("max-width", null);
157
+ this.tooltip.style('max-width', null);
158
158
  if (!this.isEventListenerAdded) {
159
159
  this.addTooltipEventListener();
160
160
  this.isEventListenerAdded = true;
161
161
  }
162
- this.tooltip.classed("hidden", true);
162
+ this.tooltip.classed('hidden', true);
163
163
  }
164
164
  else if (!isTooltipEnabled && this.isEventListenerAdded) {
165
165
  // remove tooltip eventListener
@@ -171,13 +171,13 @@ var Tooltip = /** @class */ (function (_super) {
171
171
  var holder = this.services.domUtils.getHolder();
172
172
  var target = this.tooltip.node();
173
173
  var options = this.getOptions();
174
- var isTopZoomBarEnabled = Tools.getProperty(options, "zoomBar", "top", "enabled");
175
- var mouseRelativePos = Tools.getProperty(e, "detail", "mousePosition");
174
+ var isTopZoomBarEnabled = Tools.getProperty(options, 'zoomBar', 'top', 'enabled');
175
+ var mouseRelativePos = Tools.getProperty(e, 'detail', 'mousePosition');
176
176
  if (!mouseRelativePos) {
177
177
  mouseRelativePos = mouse(holder);
178
178
  }
179
179
  else {
180
- var zoombarType = Tools.getProperty(options, "zoomBar", "top", "type");
180
+ var zoombarType = Tools.getProperty(options, 'zoomBar', 'top', 'type');
181
181
  var zoombarHeight = Configuration.zoomBar.height[zoombarType];
182
182
  // if the mouse position is from event (ruler)
183
183
  // we need add zoom bar height
@@ -191,15 +191,15 @@ var Tooltip = /** @class */ (function (_super) {
191
191
  // Find out whether tooltip should be shown on the left or right side
192
192
  var bestPlacementOption = this.positionService.findBestPlacementAt({
193
193
  left: mouseRelativePos[0],
194
- top: mouseRelativePos[1]
194
+ top: mouseRelativePos[1],
195
195
  }, target, [
196
196
  PLACEMENTS.RIGHT,
197
197
  PLACEMENTS.LEFT,
198
198
  PLACEMENTS.TOP,
199
- PLACEMENTS.BOTTOM
199
+ PLACEMENTS.BOTTOM,
200
200
  ], function () { return ({
201
201
  width: holder.offsetWidth,
202
- height: holder.offsetHeight
202
+ height: holder.offsetHeight,
203
203
  }); });
204
204
  var horizontalOffset = Configuration.tooltips.horizontalOffset;
205
205
  if (bestPlacementOption === PLACEMENTS.LEFT) {
@@ -208,7 +208,7 @@ var Tooltip = /** @class */ (function (_super) {
208
208
  // Get coordinates to where tooltip should be positioned
209
209
  pos = this.positionService.findPositionAt({
210
210
  left: mouseRelativePos[0] + horizontalOffset,
211
- top: mouseRelativePos[1]
211
+ top: mouseRelativePos[1],
212
212
  }, target, bestPlacementOption);
213
213
  this.positionService.setElement(target, pos);
214
214
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component } from \"../component\";\nimport { Tools } from \"../../tools\";\nimport { DOMUtils } from \"../../services\";\nimport { ChartModel } from \"../../model\";\nimport { Events, TruncationTypes } from \"../../interfaces\";\nimport * as Configuration from \"../../configuration\";\n\n// Carbon position service\nimport Position, { PLACEMENTS } from \"@carbon/utils-position\";\n\n// import the settings for the css prefix\nimport settings from \"carbon-components/es/globals/js/settings\";\n\n// D3 Imports\nimport { select, mouse } from \"d3-selection\";\n\nexport class Tooltip extends Component {\n\ttype = \"tooltip\";\n\n\t// flag for checking whether tooltip event listener is added or not\n\tisEventListenerAdded = false;\n\ttooltip: any;\n\tpositionService = new Position();\n\n\tconstructor(model: ChartModel, services: any, configs?: any) {\n\t\tsuper(model, services, configs);\n\n\t\tthis.init();\n\t}\n\n\thandleShowTooltip = (e) => {\n\t\tconst data = e.detail.data || e.detail.items;\n\t\tconst defaultHTML = this.getTooltipHTML(e);\n\n\t\tconst tooltipTextContainer = DOMUtils.appendOrSelect(\n\t\t\tthis.tooltip,\n\t\t\t\"div.content-box\"\n\t\t);\n\n\t\t// if there is a provided tooltip HTML function call it\n\t\tif (Tools.getProperty(this.getOptions(), \"tooltip\", \"customHTML\")) {\n\t\t\tif (e.detail.content) {\n\t\t\t\tconst labelHTML = `<div class=\"title-tooltip\"><p>${e.detail.content}</p></div>`;\n\t\t\t\ttooltipTextContainer.html(labelHTML);\n\t\t\t} else {\n\t\t\t\ttooltipTextContainer.html(\n\t\t\t\t\tthis.model\n\t\t\t\t\t\t.getOptions()\n\t\t\t\t\t\t.tooltip.customHTML(data, defaultHTML)\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// Use default tooltip\n\t\t\ttooltipTextContainer.html(defaultHTML);\n\t\t}\n\n\t\t// Position the tooltip\n\t\tthis.positionTooltip(e);\n\n\t\t// Fade in\n\t\tthis.tooltip.classed(\"hidden\", false).attr(\"aria-hidden\", false);\n\t};\n\n\thandleHideTooltip = () => {\n\t\tthis.tooltip.classed(\"hidden\", true).attr(\"aria-hidden\", true);\n\t};\n\n\taddTooltipEventListener() {\n\t\t// listen to move-tooltip Custom Events to move the tooltip\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Tooltip.MOVE,\n\t\t\t(e: CustomEvent) => {\n\t\t\t\tthis.positionTooltip(e);\n\t\t\t}\n\t\t);\n\n\t\t// listen to show-tooltip Custom Events to render the tooltip\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Tooltip.SHOW,\n\t\t\tthis.handleShowTooltip\n\t\t);\n\n\t\t// listen to hide-tooltip Custom Events to hide the tooltip\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Tooltip.HIDE,\n\t\t\tthis.handleHideTooltip\n\t\t);\n\n\t\t// listen to chart-mouseout event to hide the tooltip\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Chart.MOUSEOUT,\n\t\t\tthis.handleHideTooltip\n\t\t);\n\t}\n\n\tremoveTooltipEventListener() {\n\t\t// remove move-tooltip Custom Events\n\t\tthis.services.events.removeEventListener(Events.Tooltip.MOVE, null);\n\n\t\t// remove show-tooltip Custom Events\n\t\tthis.services.events.removeEventListener(\n\t\t\tEvents.Tooltip.SHOW,\n\t\t\tthis.handleShowTooltip\n\t\t);\n\n\t\t// remove hide-tooltip Custom Events\n\t\tthis.services.events.removeEventListener(\n\t\t\tEvents.Tooltip.HIDE,\n\t\t\tthis.handleHideTooltip\n\t\t);\n\n\t\t// remove the listener on chart-mouseout\n\t\tthis.services.events.removeEventListener(\n\t\t\tEvents.Chart.MOUSEOUT,\n\t\t\tthis.handleHideTooltip\n\t\t);\n\t}\n\n\tgetItems(e: CustomEvent) {\n\t\tif (e.detail.items) {\n\t\t\treturn e.detail.items;\n\t\t}\n\n\t\treturn [];\n\t}\n\n\tformatItems(items) {\n\t\tconst options = this.getOptions();\n\n\t\t// get user provided custom values for truncation\n\t\tconst truncationType = Tools.getProperty(\n\t\t\toptions,\n\t\t\t\"tooltip\",\n\t\t\t\"truncation\",\n\t\t\t\"type\"\n\t\t);\n\n\t\tconst truncationThreshold = Tools.getProperty(\n\t\t\toptions,\n\t\t\t\"tooltip\",\n\t\t\t\"truncation\",\n\t\t\t\"threshold\"\n\t\t);\n\n\t\tconst truncationNumCharacter = Tools.getProperty(\n\t\t\toptions,\n\t\t\t\"tooltip\",\n\t\t\t\"truncation\",\n\t\t\t\"numCharacter\"\n\t\t);\n\n\t\t// truncate the label if it's too long\n\t\t// only applies to discrete type\n\t\tif (truncationType !== TruncationTypes.NONE) {\n\t\t\treturn items.map((item) => {\n\t\t\t\titem.value = item.value\n\t\t\t\t\t? this.valueFormatter(item.value)\n\t\t\t\t\t: item.value;\n\t\t\t\tif (item.label && item.label.length > truncationThreshold) {\n\t\t\t\t\titem.label = Tools.truncateLabel(\n\t\t\t\t\t\titem.label,\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}\n\n\t\t\t\tif (item.value && item.value.length > truncationThreshold) {\n\t\t\t\t\titem.value = Tools.truncateLabel(\n\t\t\t\t\t\titem.value,\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}\n\n\t\t\t\treturn item;\n\t\t\t});\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tgetTooltipHTML(e: CustomEvent) {\n\t\tlet defaultHTML;\n\t\tif (e.detail.content) {\n\t\t\tdefaultHTML = `<div class=\"title-tooltip\"><p>${e.detail.content}</p></div>`;\n\t\t} else {\n\t\t\tconst items = this.getItems(e);\n\t\t\tconst formattedItems = this.formatItems(items);\n\n\t\t\tdefaultHTML =\n\t\t\t\t`<ul class='multi-tooltip'>` +\n\t\t\t\tformattedItems\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<li>\n\t\t\t\t\t\t\t<div class=\"datapoint-tooltip ${item.bold ? \"bold\" : \"\"}\">\n\t\t\t\t\t\t\t\t${item.class ? `<a class=\"tooltip-color ${item.class}\"></a>` : \"\"}\n\t\t\t\t\t\t\t\t${\n\t\t\t\t\t\t\t\t\titem.color\n\t\t\t\t\t\t\t\t\t\t? '<a style=\"background-color: ' +\n\t\t\t\t\t\t\t\t\t\t item.color +\n\t\t\t\t\t\t\t\t\t\t '\" class=\"tooltip-color\"></a>'\n\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t<p class=\"label\">${item.label || \"\"}</p>\n\t\t\t\t\t\t\t\t<p class=\"value\">${item.value || \"\"}</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</li>`\n\t\t\t\t\t)\n\t\t\t\t\t.join(\"\") +\n\t\t\t\t`</ul>`;\n\t\t}\n\n\t\treturn defaultHTML;\n\t}\n\n\tvalueFormatter(value: any) {\n\t\tconst options = this.getOptions();\n\t\tconst valueFormatter = Tools.getProperty(\n\t\t\toptions,\n\t\t\t\"tooltip\",\n\t\t\t\"valueFormatter\"\n\t\t);\n\n\t\tif (valueFormatter) {\n\t\t\treturn valueFormatter(value);\n\t\t}\n\n\t\treturn value.toLocaleString();\n\t}\n\n\trender() {\n\t\tconst options = this.getOptions();\n\t\tconst isTooltipEnabled = Tools.getProperty(\n\t\t\toptions,\n\t\t\t\"tooltip\",\n\t\t\t\"enabled\"\n\t\t);\n\t\tif (isTooltipEnabled) {\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.tooltip = DOMUtils.appendOrSelect(\n\t\t\t\tholder,\n\t\t\t\t`div.${settings.prefix}--${chartprefix}--tooltip`\n\t\t\t);\n\n\t\t\tthis.tooltip.style(\"max-width\", null);\n\t\t\tif (!this.isEventListenerAdded) {\n\t\t\t\tthis.addTooltipEventListener();\n\t\t\t\tthis.isEventListenerAdded = true;\n\t\t\t}\n\t\t\tthis.tooltip.classed(\"hidden\", true);\n\t\t} else if (!isTooltipEnabled && this.isEventListenerAdded) {\n\t\t\t// remove tooltip eventListener\n\t\t\tthis.removeTooltipEventListener();\n\t\t\tthis.isEventListenerAdded = false;\n\t\t}\n\t}\n\n\tpositionTooltip(e: CustomEvent) {\n\t\tconst holder = this.services.domUtils.getHolder();\n\t\tconst target = this.tooltip.node();\n\t\tconst options = this.getOptions();\n\t\tconst isTopZoomBarEnabled = Tools.getProperty(\n\t\t\toptions,\n\t\t\t\"zoomBar\",\n\t\t\t\"top\",\n\t\t\t\"enabled\"\n\t\t);\n\n\t\tlet mouseRelativePos = Tools.getProperty(e, \"detail\", \"mousePosition\");\n\t\tif (!mouseRelativePos) {\n\t\t\tmouseRelativePos = mouse(holder);\n\t\t} else {\n\t\t\tconst zoombarType = Tools.getProperty(\n\t\t\t\toptions,\n\t\t\t\t\"zoomBar\",\n\t\t\t\t\"top\",\n\t\t\t\t\"type\"\n\t\t\t);\n\t\t\tconst zoombarHeight = Configuration.zoomBar.height[zoombarType];\n\n\t\t\t// if the mouse position is from event (ruler)\n\t\t\t// we need add zoom bar height\n\t\t\tif (isTopZoomBarEnabled) {\n\t\t\t\tmouseRelativePos[1] +=\n\t\t\t\t\tzoombarHeight + Configuration.zoomBar.spacerHeight;\n\n\t\t\t\t// TODO - we need to add toolbar height when toolbar is available\n\t\t\t}\n\t\t}\n\n\t\tlet pos;\n\n\t\t// Find out whether tooltip should be shown on the left or right side\n\t\tconst bestPlacementOption = this.positionService.findBestPlacementAt(\n\t\t\t{\n\t\t\t\tleft: mouseRelativePos[0],\n\t\t\t\ttop: mouseRelativePos[1]\n\t\t\t},\n\t\t\ttarget,\n\t\t\t[\n\t\t\t\tPLACEMENTS.RIGHT,\n\t\t\t\tPLACEMENTS.LEFT,\n\t\t\t\tPLACEMENTS.TOP,\n\t\t\t\tPLACEMENTS.BOTTOM\n\t\t\t],\n\t\t\t() => ({\n\t\t\t\twidth: holder.offsetWidth,\n\t\t\t\theight: holder.offsetHeight\n\t\t\t})\n\t\t);\n\n\t\tlet { horizontalOffset } = Configuration.tooltips;\n\t\tif (bestPlacementOption === PLACEMENTS.LEFT) {\n\t\t\thorizontalOffset *= -1;\n\t\t}\n\n\t\t// Get coordinates to where tooltip should be positioned\n\t\tpos = this.positionService.findPositionAt(\n\t\t\t{\n\t\t\t\tleft: mouseRelativePos[0] + horizontalOffset,\n\t\t\t\ttop: mouseRelativePos[1]\n\t\t\t},\n\t\t\ttarget,\n\t\t\tbestPlacementOption\n\t\t);\n\n\t\tthis.positionService.setElement(target, pos);\n\t}\n}\n"]}
1
+ {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component } from '../component';\nimport { Tools } from '../../tools';\nimport { DOMUtils } from '../../services';\nimport { ChartModel } from '../../model';\nimport { Events, TruncationTypes } from '../../interfaces';\nimport * as Configuration from '../../configuration';\n\n// Carbon position service\nimport Position, { PLACEMENTS } from '@carbon/utils-position';\n\n// import the settings for the css prefix\nimport settings from 'carbon-components/es/globals/js/settings';\n\n// D3 Imports\nimport { select, mouse } from 'd3-selection';\n\nexport class Tooltip extends Component {\n\ttype = 'tooltip';\n\n\t// flag for checking whether tooltip event listener is added or not\n\tisEventListenerAdded = false;\n\ttooltip: any;\n\tpositionService = new Position();\n\n\tconstructor(model: ChartModel, services: any, configs?: any) {\n\t\tsuper(model, services, configs);\n\n\t\tthis.init();\n\t}\n\n\thandleShowTooltip = (e) => {\n\t\tconst data = e.detail.data || e.detail.items;\n\t\tconst defaultHTML = this.getTooltipHTML(e);\n\n\t\tconst tooltipTextContainer = DOMUtils.appendOrSelect(\n\t\t\tthis.tooltip,\n\t\t\t'div.content-box'\n\t\t);\n\n\t\t// if there is a provided tooltip HTML function call it\n\t\tif (Tools.getProperty(this.getOptions(), 'tooltip', 'customHTML')) {\n\t\t\tif (e.detail.content) {\n\t\t\t\tconst labelHTML = `<div class=\"title-tooltip\"><p>${e.detail.content}</p></div>`;\n\t\t\t\ttooltipTextContainer.html(labelHTML);\n\t\t\t} else {\n\t\t\t\ttooltipTextContainer.html(\n\t\t\t\t\tthis.model\n\t\t\t\t\t\t.getOptions()\n\t\t\t\t\t\t.tooltip.customHTML(data, defaultHTML)\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// Use default tooltip\n\t\t\ttooltipTextContainer.html(defaultHTML);\n\t\t}\n\n\t\t// Position the tooltip\n\t\tthis.positionTooltip(e);\n\n\t\t// Fade in\n\t\tthis.tooltip.classed('hidden', false).attr('aria-hidden', false);\n\t};\n\n\thandleHideTooltip = () => {\n\t\tthis.tooltip.classed('hidden', true).attr('aria-hidden', true);\n\t};\n\n\taddTooltipEventListener() {\n\t\t// listen to move-tooltip Custom Events to move the tooltip\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Tooltip.MOVE,\n\t\t\t(e: CustomEvent) => {\n\t\t\t\tthis.positionTooltip(e);\n\t\t\t}\n\t\t);\n\n\t\t// listen to show-tooltip Custom Events to render the tooltip\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Tooltip.SHOW,\n\t\t\tthis.handleShowTooltip\n\t\t);\n\n\t\t// listen to hide-tooltip Custom Events to hide the tooltip\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Tooltip.HIDE,\n\t\t\tthis.handleHideTooltip\n\t\t);\n\n\t\t// listen to chart-mouseout event to hide the tooltip\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Chart.MOUSEOUT,\n\t\t\tthis.handleHideTooltip\n\t\t);\n\t}\n\n\tremoveTooltipEventListener() {\n\t\t// remove move-tooltip Custom Events\n\t\tthis.services.events.removeEventListener(Events.Tooltip.MOVE, null);\n\n\t\t// remove show-tooltip Custom Events\n\t\tthis.services.events.removeEventListener(\n\t\t\tEvents.Tooltip.SHOW,\n\t\t\tthis.handleShowTooltip\n\t\t);\n\n\t\t// remove hide-tooltip Custom Events\n\t\tthis.services.events.removeEventListener(\n\t\t\tEvents.Tooltip.HIDE,\n\t\t\tthis.handleHideTooltip\n\t\t);\n\n\t\t// remove the listener on chart-mouseout\n\t\tthis.services.events.removeEventListener(\n\t\t\tEvents.Chart.MOUSEOUT,\n\t\t\tthis.handleHideTooltip\n\t\t);\n\t}\n\n\tgetItems(e: CustomEvent) {\n\t\tif (e.detail.items) {\n\t\t\treturn e.detail.items;\n\t\t}\n\n\t\treturn [];\n\t}\n\n\tformatItems(items) {\n\t\tconst options = this.getOptions();\n\n\t\t// get user provided custom values for truncation\n\t\tconst truncationType = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'tooltip',\n\t\t\t'truncation',\n\t\t\t'type'\n\t\t);\n\n\t\tconst truncationThreshold = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'tooltip',\n\t\t\t'truncation',\n\t\t\t'threshold'\n\t\t);\n\n\t\tconst truncationNumCharacter = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'tooltip',\n\t\t\t'truncation',\n\t\t\t'numCharacter'\n\t\t);\n\n\t\t// truncate the label if it's too long\n\t\t// only applies to discrete type\n\t\tif (truncationType !== TruncationTypes.NONE) {\n\t\t\treturn items.map((item) => {\n\t\t\t\titem.value = item.value\n\t\t\t\t\t? this.valueFormatter(item.value)\n\t\t\t\t\t: item.value;\n\t\t\t\tif (item.label && item.label.length > truncationThreshold) {\n\t\t\t\t\titem.label = Tools.truncateLabel(\n\t\t\t\t\t\titem.label,\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}\n\n\t\t\t\tif (item.value && item.value.length > truncationThreshold) {\n\t\t\t\t\titem.value = Tools.truncateLabel(\n\t\t\t\t\t\titem.value,\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}\n\n\t\t\t\treturn item;\n\t\t\t});\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tgetTooltipHTML(e: CustomEvent) {\n\t\tlet defaultHTML;\n\t\tif (e.detail.content) {\n\t\t\tdefaultHTML = `<div class=\"title-tooltip\"><p>${e.detail.content}</p></div>`;\n\t\t} else {\n\t\t\tconst items = this.getItems(e);\n\t\t\tconst formattedItems = this.formatItems(items);\n\n\t\t\tdefaultHTML =\n\t\t\t\t`<ul class='multi-tooltip'>` +\n\t\t\t\tformattedItems\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<li>\n\t\t\t\t\t\t\t<div class=\"datapoint-tooltip ${item.bold ? 'bold' : ''}\">\n\t\t\t\t\t\t\t\t${item.class ? `<a class=\"tooltip-color ${item.class}\"></a>` : ''}\n\t\t\t\t\t\t\t\t${\n\t\t\t\t\t\t\t\t\titem.color\n\t\t\t\t\t\t\t\t\t\t? '<a style=\"background-color: ' +\n\t\t\t\t\t\t\t\t\t\t item.color +\n\t\t\t\t\t\t\t\t\t\t '\" class=\"tooltip-color\"></a>'\n\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t<p class=\"label\">${item.label || ''}</p>\n\t\t\t\t\t\t\t\t<p class=\"value\">${item.value || ''}</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</li>`\n\t\t\t\t\t)\n\t\t\t\t\t.join('') +\n\t\t\t\t`</ul>`;\n\t\t}\n\n\t\treturn defaultHTML;\n\t}\n\n\tvalueFormatter(value: any) {\n\t\tconst options = this.getOptions();\n\t\tconst valueFormatter = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'tooltip',\n\t\t\t'valueFormatter'\n\t\t);\n\n\t\tif (valueFormatter) {\n\t\t\treturn valueFormatter(value);\n\t\t}\n\n\t\treturn value.toLocaleString();\n\t}\n\n\trender() {\n\t\tconst options = this.getOptions();\n\t\tconst isTooltipEnabled = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'tooltip',\n\t\t\t'enabled'\n\t\t);\n\t\tif (isTooltipEnabled) {\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.tooltip = DOMUtils.appendOrSelect(\n\t\t\t\tholder,\n\t\t\t\t`div.${settings.prefix}--${chartprefix}--tooltip`\n\t\t\t);\n\n\t\t\tthis.tooltip.style('max-width', null);\n\t\t\tif (!this.isEventListenerAdded) {\n\t\t\t\tthis.addTooltipEventListener();\n\t\t\t\tthis.isEventListenerAdded = true;\n\t\t\t}\n\t\t\tthis.tooltip.classed('hidden', true);\n\t\t} else if (!isTooltipEnabled && this.isEventListenerAdded) {\n\t\t\t// remove tooltip eventListener\n\t\t\tthis.removeTooltipEventListener();\n\t\t\tthis.isEventListenerAdded = false;\n\t\t}\n\t}\n\n\tpositionTooltip(e: CustomEvent) {\n\t\tconst holder = this.services.domUtils.getHolder();\n\t\tconst target = this.tooltip.node();\n\t\tconst options = this.getOptions();\n\t\tconst isTopZoomBarEnabled = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'zoomBar',\n\t\t\t'top',\n\t\t\t'enabled'\n\t\t);\n\n\t\tlet mouseRelativePos = Tools.getProperty(e, 'detail', 'mousePosition');\n\t\tif (!mouseRelativePos) {\n\t\t\tmouseRelativePos = mouse(holder);\n\t\t} else {\n\t\t\tconst zoombarType = Tools.getProperty(\n\t\t\t\toptions,\n\t\t\t\t'zoomBar',\n\t\t\t\t'top',\n\t\t\t\t'type'\n\t\t\t);\n\t\t\tconst zoombarHeight = Configuration.zoomBar.height[zoombarType];\n\n\t\t\t// if the mouse position is from event (ruler)\n\t\t\t// we need add zoom bar height\n\t\t\tif (isTopZoomBarEnabled) {\n\t\t\t\tmouseRelativePos[1] +=\n\t\t\t\t\tzoombarHeight + Configuration.zoomBar.spacerHeight;\n\n\t\t\t\t// TODO - we need to add toolbar height when toolbar is available\n\t\t\t}\n\t\t}\n\n\t\tlet pos;\n\n\t\t// Find out whether tooltip should be shown on the left or right side\n\t\tconst bestPlacementOption = this.positionService.findBestPlacementAt(\n\t\t\t{\n\t\t\t\tleft: mouseRelativePos[0],\n\t\t\t\ttop: mouseRelativePos[1],\n\t\t\t},\n\t\t\ttarget,\n\t\t\t[\n\t\t\t\tPLACEMENTS.RIGHT,\n\t\t\t\tPLACEMENTS.LEFT,\n\t\t\t\tPLACEMENTS.TOP,\n\t\t\t\tPLACEMENTS.BOTTOM,\n\t\t\t],\n\t\t\t() => ({\n\t\t\t\twidth: holder.offsetWidth,\n\t\t\t\theight: holder.offsetHeight,\n\t\t\t})\n\t\t);\n\n\t\tlet { horizontalOffset } = Configuration.tooltips;\n\t\tif (bestPlacementOption === PLACEMENTS.LEFT) {\n\t\t\thorizontalOffset *= -1;\n\t\t}\n\n\t\t// Get coordinates to where tooltip should be positioned\n\t\tpos = this.positionService.findPositionAt(\n\t\t\t{\n\t\t\t\tleft: mouseRelativePos[0] + horizontalOffset,\n\t\t\t\ttop: mouseRelativePos[1],\n\t\t\t},\n\t\t\ttarget,\n\t\t\tbestPlacementOption\n\t\t);\n\n\t\tthis.positionService.setElement(target, pos);\n\t}\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { Component } from "../component";
1
+ import { Component } from '../component';
2
2
  export declare class StackedArea extends Component {
3
3
  type: string;
4
4
  areaGenerator: any;
@@ -12,24 +12,24 @@ var __extends = (this && this.__extends) || (function () {
12
12
  };
13
13
  })();
14
14
  // Internal Imports
15
- import { Component } from "../component";
16
- import * as Configuration from "../../configuration";
17
- import { Roles, Events, ColorClassNameTypes } from "../../interfaces";
15
+ import { Component } from '../component';
16
+ import * as Configuration from '../../configuration';
17
+ import { Roles, Events, ColorClassNameTypes, } from '../../interfaces';
18
18
  // D3 Imports
19
- import { area } from "d3-shape";
19
+ import { area } from 'd3-shape';
20
20
  var StackedArea = /** @class */ (function (_super) {
21
21
  __extends(StackedArea, _super);
22
22
  function StackedArea() {
23
23
  var _this = _super !== null && _super.apply(this, arguments) || this;
24
- _this.type = "area-stacked";
24
+ _this.type = 'area-stacked';
25
25
  _this.handleLegendOnHover = function (event) {
26
26
  var hoveredElement = event.detail.hoveredElement;
27
27
  var options = _this.getOptions();
28
28
  var groupMapsTo = options.data.groupMapsTo;
29
29
  _this.parent
30
- .selectAll("path.area")
31
- .transition(_this.services.transitions.getTransition("legend-hover-area"))
32
- .attr("opacity", function (d) {
30
+ .selectAll('path.area')
31
+ .transition(_this.services.transitions.getTransition('legend-hover-area'))
32
+ .attr('opacity', function (d) {
33
33
  if (d[0][groupMapsTo] !== hoveredElement.datum().name) {
34
34
  return Configuration.area.opacity.unselected;
35
35
  }
@@ -38,15 +38,14 @@ var StackedArea = /** @class */ (function (_super) {
38
38
  };
39
39
  _this.handleLegendMouseOut = function (event) {
40
40
  _this.parent
41
- .selectAll("path.area")
42
- .transition(_this.services.transitions.getTransition("legend-mouseout-area"))
43
- .attr("opacity", Configuration.area.opacity.selected);
41
+ .selectAll('path.area')
42
+ .transition(_this.services.transitions.getTransition('legend-mouseout-area'))
43
+ .attr('opacity', Configuration.area.opacity.selected);
44
44
  };
45
45
  return _this;
46
46
  }
47
47
  StackedArea.prototype.init = function () {
48
48
  var eventsFragment = this.services.events;
49
- this.model.setStackedGroups(this.model.getDataGroupNames());
50
49
  // Highlight correct area on legend item hovers
51
50
  eventsFragment.addEventListener(Events.Legend.ITEM_HOVER, this.handleLegendOnHover);
52
51
  // Un-highlight area on legend item mouseouts
@@ -62,7 +61,7 @@ var StackedArea = /** @class */ (function (_super) {
62
61
  var percentage = Object.keys(options.axes).some(function (axis) { return options.axes[axis].percentage; });
63
62
  var stackedData = this.model.getStackedData({
64
63
  percentage: percentage,
65
- groups: this.configs.groups
64
+ groups: this.configs.groups,
66
65
  });
67
66
  // area doesnt have to use the main range and domain axes - they can be mapped to the secondary (in the case of a combo chart)
68
67
  // however area _cannot_ have multiple datasets that are mapped to _different_ ranges and domains so we can use the first data item
@@ -70,7 +69,7 @@ var StackedArea = /** @class */ (function (_super) {
70
69
  var rangeAxisPosition = this.services.cartesianScales.getRangeAxisPosition({ datum: stackedData[0][0] });
71
70
  var mainYScale = this.services.cartesianScales.getScaleByPosition(rangeAxisPosition);
72
71
  var areas = svg
73
- .selectAll("path.area")
72
+ .selectAll('path.area')
74
73
  .data(stackedData, function (d) { return d[0][groupMapsTo]; });
75
74
  // D3 area generator function
76
75
  this.areaGenerator = area()
@@ -80,33 +79,33 @@ var StackedArea = /** @class */ (function (_super) {
80
79
  .y0(function (d) { return mainYScale(d[0]); })
81
80
  .y1(function (d) { return mainYScale(d[1]); })
82
81
  .curve(this.services.curves.getD3Curve());
83
- areas.exit().attr("opacity", 0).remove();
84
- var enteringAreas = areas.enter().append("path").attr("opacity", 0);
82
+ areas.exit().attr('opacity', 0).remove();
83
+ var enteringAreas = areas.enter().append('path').attr('opacity', 0);
85
84
  enteringAreas
86
85
  .merge(areas)
87
86
  .data(stackedData, function (d) { return d[0][groupMapsTo]; })
88
- .attr("class", "area")
89
- .attr("class", function (d) {
87
+ .attr('class', 'area')
88
+ .attr('class', function (d) {
90
89
  return _this.model.getColorClassName({
91
90
  classNameTypes: [ColorClassNameTypes.FILL],
92
91
  dataGroupName: d[0][groupMapsTo],
93
- originalClassName: "area"
92
+ originalClassName: 'area',
94
93
  });
95
94
  })
96
- .attr("fill", function (d) { return self.model.getFillColor(d[0][groupMapsTo]); })
97
- .attr("role", Roles.GRAPHICS_SYMBOL)
98
- .attr("aria-roledescription", "area")
99
- .transition(this.services.transitions.getTransition("area-update-enter", animate))
100
- .attr("opacity", Configuration.area.opacity.selected)
101
- .attr("d", this.areaGenerator);
95
+ .attr('fill', function (d) { return self.model.getFillColor(d[0][groupMapsTo]); })
96
+ .attr('role', Roles.GRAPHICS_SYMBOL)
97
+ .attr('aria-roledescription', 'area')
98
+ .transition(this.services.transitions.getTransition('area-update-enter', animate))
99
+ .attr('opacity', Configuration.area.opacity.selected)
100
+ .attr('d', this.areaGenerator);
102
101
  };
103
102
  StackedArea.prototype.destroy = function () {
104
103
  // Remove event listeners
105
104
  this.parent
106
- .selectAll("path.area")
107
- .on("mouseover", null)
108
- .on("mousemove", null)
109
- .on("mouseout", null);
105
+ .selectAll('path.area')
106
+ .on('mouseover', null)
107
+ .on('mousemove', null)
108
+ .on('mouseout', null);
110
109
  };
111
110
  return StackedArea;
112
111
  }(Component));