@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":"two-dimensional-axes.js","sourceRoot":"","sources":["two-dimensional-axes.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from \"../component\";\nimport { AxisPositions, ScaleTypes, AxesOptions } from \"../../interfaces\";\nimport { Axis } from \"./axis\";\nimport { Tools } from \"../../tools\";\nimport { DOMUtils } from \"../../services\";\nimport { Threshold } from \"../essentials/threshold\";\nimport { Events } from \"./../../interfaces\";\n\nexport class TwoDimensionalAxes extends Component {\n\ttype = \"2D-axes\";\n\n\tchildren: any = {};\n\n\tthresholds: Threshold[] = [];\n\n\tmargins = {\n\t\ttop: 0,\n\t\tright: 0,\n\t\tbottom: 0,\n\t\tleft: 0\n\t};\n\n\trender(animate = false) {\n\t\tconst axes = {};\n\t\tconst axisPositions = Object.keys(AxisPositions);\n\t\tconst axesOptions = Tools.getProperty(this.getOptions(), \"axes\");\n\n\t\taxisPositions.forEach((axisPosition) => {\n\t\t\tconst axisOptions = axesOptions[AxisPositions[axisPosition]];\n\t\t\tif (axisOptions) {\n\t\t\t\taxes[AxisPositions[axisPosition]] = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.configs.axes = axes;\n\n\t\t// Check the configs to know which axes need to be rendered\n\t\taxisPositions.forEach((axisPositionKey) => {\n\t\t\tconst axisPosition = AxisPositions[axisPositionKey];\n\t\t\tif (\n\t\t\t\tthis.configs.axes[axisPosition] &&\n\t\t\t\t!this.children[axisPosition]\n\t\t\t) {\n\t\t\t\tconst axisComponent = new Axis(this.model, this.services, {\n\t\t\t\t\tposition: axisPosition,\n\t\t\t\t\taxes: this.configs.axes,\n\t\t\t\t\tmargins: this.margins\n\t\t\t\t});\n\n\t\t\t\t// Set model, services & parent for the new axis component\n\t\t\t\taxisComponent.setModel(this.model);\n\t\t\t\taxisComponent.setServices(this.services);\n\t\t\t\taxisComponent.setParent(this.parent);\n\n\t\t\t\tthis.children[axisPosition] = axisComponent;\n\t\t\t}\n\t\t});\n\n\t\tObject.keys(this.children).forEach((childKey) => {\n\t\t\tconst child = this.children[childKey];\n\t\t\tchild.render(animate);\n\t\t});\n\n\t\tconst margins = {} as any;\n\n\t\tObject.keys(this.children).forEach((childKey) => {\n\t\t\tconst child = this.children[childKey];\n\t\t\tconst axisPosition = child.configs.position;\n\n\t\t\t// Grab the invisibly rendered axis' width & height, and set margins\n\t\t\t// Based off of that\n\t\t\t// We draw the invisible axis because of the async nature of d3 transitions\n\t\t\t// To be able to tell the final width & height of the axis when initiaing the transition\n\t\t\t// The invisible axis is updated instantly and without a transition\n\t\t\tconst invisibleAxisRef = child.getInvisibleAxisRef();\n\t\t\tconst {\n\t\t\t\twidth,\n\t\t\t\theight\n\t\t\t} = DOMUtils.getSVGElementSize(invisibleAxisRef, { useBBox: true });\n\n\t\t\tlet offset;\n\t\t\tif (child.getTitleRef().empty()) {\n\t\t\t\toffset = 0;\n\t\t\t} else {\n\t\t\t\toffset = DOMUtils.getSVGElementSize(child.getTitleRef(), {\n\t\t\t\t\tuseBBox: true\n\t\t\t\t}).height;\n\n\t\t\t\tif (\n\t\t\t\t\taxisPosition === AxisPositions.LEFT ||\n\t\t\t\t\taxisPosition === AxisPositions.RIGHT\n\t\t\t\t) {\n\t\t\t\t\toffset += 5;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tswitch (axisPosition) {\n\t\t\t\tcase AxisPositions.TOP:\n\t\t\t\t\tmargins.top = height + offset;\n\t\t\t\t\tbreak;\n\t\t\t\tcase AxisPositions.BOTTOM:\n\t\t\t\t\tmargins.bottom = height + offset;\n\t\t\t\t\tbreak;\n\t\t\t\tcase AxisPositions.LEFT:\n\t\t\t\t\tmargins.left = width + offset;\n\t\t\t\t\tbreak;\n\t\t\t\tcase AxisPositions.RIGHT:\n\t\t\t\t\tmargins.right = width + offset;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// Add thresholds\n\t\t\tthis.addAxisThresholds(animate, axisPosition);\n\t\t});\n\n\t\t// If the new margins are different than the existing ones\n\t\tconst isNotEqual = Object.keys(margins).some((marginKey) => {\n\t\t\treturn this.margins[marginKey] !== margins[marginKey];\n\t\t});\n\n\t\tif (isNotEqual) {\n\t\t\tthis.margins = Object.assign(this.margins, margins);\n\n\t\t\t// also set new margins to model to allow external components to access\n\t\t\tthis.model.set({ axesMargins: this.margins }, { skipUpdate: true });\n\t\t\tthis.services.events.dispatchEvent(Events.ZoomBar.UPDATE);\n\n\t\t\tObject.keys(this.children).forEach((childKey) => {\n\t\t\t\tconst child = this.children[childKey];\n\t\t\t\tchild.margins = this.margins;\n\t\t\t});\n\n\t\t\tthis.render(true);\n\t\t}\n\t}\n\n\taddAxisThresholds(animate, axisPosition) {\n\t\tconst axesOptions = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t\"axes\",\n\t\t\taxisPosition\n\t\t);\n\t\tconst { thresholds } = axesOptions;\n\n\t\tif (thresholds) {\n\t\t\tthresholds.forEach((thresholdConfig, i) => {\n\t\t\t\tconst thresholdComponent = new Threshold(\n\t\t\t\t\tthis.model,\n\t\t\t\t\tthis.services,\n\t\t\t\t\t{ ...thresholdConfig, axisPosition, index: i }\n\t\t\t\t);\n\t\t\t\tthis.thresholds.push(thresholdComponent);\n\t\t\t});\n\n\t\t\tthis.thresholds.forEach((threshold) => {\n\t\t\t\tthreshold.setParent(this.parent);\n\t\t\t\tthreshold.render(animate);\n\t\t\t});\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"two-dimensional-axes.js","sourceRoot":"","sources":["two-dimensional-axes.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from '../component';\nimport { AxisPositions, ScaleTypes, AxesOptions } from '../../interfaces';\nimport { Axis } from './axis';\nimport { Tools } from '../../tools';\nimport { DOMUtils } from '../../services';\nimport { Threshold } from '../essentials/threshold';\nimport { Events } from './../../interfaces';\n\nexport class TwoDimensionalAxes extends Component {\n\ttype = '2D-axes';\n\n\tchildren: any = {};\n\n\tthresholds: Threshold[] = [];\n\n\tmargins = {\n\t\ttop: 0,\n\t\tright: 0,\n\t\tbottom: 0,\n\t\tleft: 0,\n\t};\n\n\trender(animate = false) {\n\t\tconst axes = {};\n\t\tconst axisPositions = Object.keys(AxisPositions);\n\t\tconst axesOptions = Tools.getProperty(this.getOptions(), 'axes');\n\n\t\taxisPositions.forEach((axisPosition) => {\n\t\t\tconst axisOptions = axesOptions[AxisPositions[axisPosition]];\n\t\t\tif (axisOptions) {\n\t\t\t\taxes[AxisPositions[axisPosition]] = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.configs.axes = axes;\n\n\t\t// Check the configs to know which axes need to be rendered\n\t\taxisPositions.forEach((axisPositionKey) => {\n\t\t\tconst axisPosition = AxisPositions[axisPositionKey];\n\t\t\tif (\n\t\t\t\tthis.configs.axes[axisPosition] &&\n\t\t\t\t!this.children[axisPosition]\n\t\t\t) {\n\t\t\t\tconst axisComponent = new Axis(this.model, this.services, {\n\t\t\t\t\tposition: axisPosition,\n\t\t\t\t\taxes: this.configs.axes,\n\t\t\t\t\tmargins: this.margins,\n\t\t\t\t});\n\n\t\t\t\t// Set model, services & parent for the new axis component\n\t\t\t\taxisComponent.setModel(this.model);\n\t\t\t\taxisComponent.setServices(this.services);\n\t\t\t\taxisComponent.setParent(this.parent);\n\n\t\t\t\tthis.children[axisPosition] = axisComponent;\n\t\t\t}\n\t\t});\n\n\t\tObject.keys(this.children).forEach((childKey) => {\n\t\t\tconst child = this.children[childKey];\n\t\t\tchild.render(animate);\n\t\t});\n\n\t\tconst margins = {} as any;\n\n\t\tObject.keys(this.children).forEach((childKey) => {\n\t\t\tconst child = this.children[childKey];\n\t\t\tconst axisPosition = child.configs.position;\n\n\t\t\t// Grab the invisibly rendered axis' width & height, and set margins\n\t\t\t// Based off of that\n\t\t\t// We draw the invisible axis because of the async nature of d3 transitions\n\t\t\t// To be able to tell the final width & height of the axis when initiaing the transition\n\t\t\t// The invisible axis is updated instantly and without a transition\n\t\t\tconst invisibleAxisRef = child.getInvisibleAxisRef();\n\t\t\tconst {\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t} = DOMUtils.getSVGElementSize(invisibleAxisRef, { useBBox: true });\n\n\t\t\tlet offset;\n\t\t\tif (child.getTitleRef().empty()) {\n\t\t\t\toffset = 0;\n\t\t\t} else {\n\t\t\t\toffset = DOMUtils.getSVGElementSize(child.getTitleRef(), {\n\t\t\t\t\tuseBBox: true,\n\t\t\t\t}).height;\n\n\t\t\t\tif (\n\t\t\t\t\taxisPosition === AxisPositions.LEFT ||\n\t\t\t\t\taxisPosition === AxisPositions.RIGHT\n\t\t\t\t) {\n\t\t\t\t\toffset += 5;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tswitch (axisPosition) {\n\t\t\t\tcase AxisPositions.TOP:\n\t\t\t\t\tmargins.top = height + offset;\n\t\t\t\t\tbreak;\n\t\t\t\tcase AxisPositions.BOTTOM:\n\t\t\t\t\tmargins.bottom = height + offset;\n\t\t\t\t\tbreak;\n\t\t\t\tcase AxisPositions.LEFT:\n\t\t\t\t\tmargins.left = width + offset;\n\t\t\t\t\tbreak;\n\t\t\t\tcase AxisPositions.RIGHT:\n\t\t\t\t\tmargins.right = width + offset;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// Add thresholds\n\t\t\tthis.addAxisThresholds(animate, axisPosition);\n\t\t});\n\n\t\t// If the new margins are different than the existing ones\n\t\tconst isNotEqual = Object.keys(margins).some((marginKey) => {\n\t\t\treturn this.margins[marginKey] !== margins[marginKey];\n\t\t});\n\n\t\tif (isNotEqual) {\n\t\t\tthis.margins = Object.assign(this.margins, margins);\n\n\t\t\t// also set new margins to model to allow external components to access\n\t\t\tthis.model.set({ axesMargins: this.margins }, { skipUpdate: true });\n\t\t\tthis.services.events.dispatchEvent(Events.ZoomBar.UPDATE);\n\n\t\t\tObject.keys(this.children).forEach((childKey) => {\n\t\t\t\tconst child = this.children[childKey];\n\t\t\t\tchild.margins = this.margins;\n\t\t\t});\n\n\t\t\tthis.render(true);\n\t\t}\n\t}\n\n\taddAxisThresholds(animate, axisPosition) {\n\t\tconst axesOptions = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t'axes',\n\t\t\taxisPosition\n\t\t);\n\t\tconst { thresholds } = axesOptions;\n\n\t\tif (thresholds) {\n\t\t\tthresholds.forEach((thresholdConfig, i) => {\n\t\t\t\tconst thresholdComponent = new Threshold(\n\t\t\t\t\tthis.model,\n\t\t\t\t\tthis.services,\n\t\t\t\t\t{ ...thresholdConfig, axisPosition, index: i }\n\t\t\t\t);\n\t\t\t\tthis.thresholds.push(thresholdComponent);\n\t\t\t});\n\n\t\t\tthis.thresholds.forEach((threshold) => {\n\t\t\t\tthreshold.setParent(this.parent);\n\t\t\t\tthreshold.render(animate);\n\t\t\t});\n\t\t}\n\t}\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { Component } from "../component";
1
+ import { Component } from '../component';
2
2
  export declare class ZeroLine extends Component {
3
3
  type: string;
4
4
  render(animate: boolean): void;
@@ -12,14 +12,14 @@ var __extends = (this && this.__extends) || (function () {
12
12
  };
13
13
  })();
14
14
  // Internal Imports
15
- import { Component } from "../component";
16
- import { DOMUtils } from "../../services";
17
- import { Tools } from "../../tools";
15
+ import { Component } from '../component';
16
+ import { DOMUtils } from '../../services';
17
+ import { Tools } from '../../tools';
18
18
  var ZeroLine = /** @class */ (function (_super) {
19
19
  __extends(ZeroLine, _super);
20
20
  function ZeroLine() {
21
21
  var _this = _super !== null && _super.apply(this, arguments) || this;
22
- _this.type = "zero-line";
22
+ _this.type = 'zero-line';
23
23
  return _this;
24
24
  }
25
25
  ZeroLine.prototype.render = function (animate) {
@@ -35,7 +35,7 @@ var ZeroLine = /** @class */ (function (_super) {
35
35
  // previously had a domain that went into negatives
36
36
  if (!drawZeroLine) {
37
37
  // otherwise if a chart draws a zero line and then the domain change the zero line is still in the DOM
38
- svg.selectAll("line.domain").remove();
38
+ svg.selectAll('line.domain').remove();
39
39
  return;
40
40
  }
41
41
  // Get x & y position of the line
@@ -51,14 +51,14 @@ var ZeroLine = /** @class */ (function (_super) {
51
51
  x0: x0,
52
52
  x1: x1,
53
53
  y0: yPosition,
54
- y1: yPosition
54
+ y1: yPosition,
55
55
  }, this.services.cartesianScales.getOrientation());
56
- var line = DOMUtils.appendOrSelect(svg, "line.domain");
57
- line.transition(this.services.transitions.getTransition("zero-line-update", animate))
58
- .attr("y1", lineCoordinates.y0)
59
- .attr("y2", lineCoordinates.y1)
60
- .attr("x1", lineCoordinates.x0)
61
- .attr("x2", lineCoordinates.x1);
56
+ var line = DOMUtils.appendOrSelect(svg, 'line.domain');
57
+ line.transition(this.services.transitions.getTransition('zero-line-update', animate))
58
+ .attr('y1', lineCoordinates.y0)
59
+ .attr('y2', lineCoordinates.y1)
60
+ .attr('x1', lineCoordinates.x0)
61
+ .attr('x2', lineCoordinates.x1);
62
62
  };
63
63
  return ZeroLine;
64
64
  }(Component));
@@ -1 +1 @@
1
- {"version":3,"file":"zero-line.js","sourceRoot":"","sources":["zero-line.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;IAA8B,4BAAS;IAAvC;QAAA,qEA0DC;QAzDA,UAAI,GAAG,WAAW,CAAC;;IAyDpB,CAAC;IAvDA,yBAAM,GAAN,UAAO,OAAgB;QACtB,IAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,oBAAoB,CACtE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAC/B,CAAC;QACF,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,kBAAkB,CAClE,YAAY,CACZ,CAAC;QACF,mBAAmB;QACb,IAAA,wBAAsD,EAArD,sBAAc,EAAE,sBAAqC,CAAC;QAE7D,IAAM,YAAY,GACjB,CAAC,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,CAAC;YAC1C,CAAC,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;QAE5C,qBAAqB;QACrB,IAAM,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEnC,6FAA6F;QAC7F,mDAAmD;QACnD,IAAI,CAAC,YAAY,EAAE;YAClB,sGAAsG;YACtG,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO;SACP;QAED,iCAAiC;QAC3B,IAAA,2DAAiE,EAAhE,UAAE,EAAE,UAA4D,CAAC;QACxE,IAAI,SAAS,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAErC,oEAAoE;QACpE,uEAAuE;QACvE,4DAA4D;QAC5D,IAAI,CAAC,SAAS,EAAE;YACf,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;SAClC;QAED,IAAM,eAAe,GAAG,KAAK,CAAC,oCAAoC,CACjE;YACC,EAAE,IAAA;YACF,EAAE,IAAA;YACF,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;SACb,EACD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,EAAE,CAC9C,CAAC;QAEF,IAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,CACd,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,kBAAkB,EAAE,OAAO,CAAC,CACpE;aACC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;aAC9B,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;aAC9B,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;aAC9B,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IACF,eAAC;AAAD,CAAC,AA1DD,CAA8B,SAAS,GA0DtC","sourcesContent":["// Internal Imports\nimport { Component } from \"../component\";\nimport { DOMUtils } from \"../../services\";\nimport { Tools } from \"../../tools\";\n\nexport class ZeroLine extends Component {\n\ttype = \"zero-line\";\n\n\trender(animate: boolean) {\n\t\tconst axisPosition = this.services.cartesianScales.getRangeAxisPosition(\n\t\t\t{ groups: this.configs.groups }\n\t\t);\n\t\tconst rangeScale = this.services.cartesianScales.getScaleByPosition(\n\t\t\taxisPosition\n\t\t);\n\t\t// check the domain\n\t\tconst [minDomainValue, maxDomainValue] = rangeScale.domain();\n\n\t\tconst drawZeroLine =\n\t\t\t(minDomainValue > 0 && maxDomainValue < 0) ||\n\t\t\t(minDomainValue < 0 && maxDomainValue > 0);\n\n\t\t// Grab container SVG\n\t\tconst svg = this.getContainerSVG();\n\n\t\t// show zero line only if is necessary, otherwise make sure tto remove zero line if the chart\n\t\t// previously had a domain that went into negatives\n\t\tif (!drawZeroLine) {\n\t\t\t// otherwise if a chart draws a zero line and then the domain change the zero line is still in the DOM\n\t\t\tsvg.selectAll(\"line.domain\").remove();\n\t\t\treturn;\n\t\t}\n\n\t\t// Get x & y position of the line\n\t\tconst [x0, x1] = this.services.cartesianScales.getDomainScale().range();\n\t\tlet yPosition = +rangeScale(0) + 0.5;\n\n\t\t// if scale domain contains NaN, return the first value of the range\n\t\t// this is necessary for the zero line y position that otherwise is NaN\n\t\t// so on the top of the chart while we want it on the bottom\n\t\tif (!yPosition) {\n\t\t\tyPosition = rangeScale.range()[0];\n\t\t}\n\n\t\tconst lineCoordinates = Tools.flipSVGCoordinatesBasedOnOrientation(\n\t\t\t{\n\t\t\t\tx0,\n\t\t\t\tx1,\n\t\t\t\ty0: yPosition,\n\t\t\t\ty1: yPosition\n\t\t\t},\n\t\t\tthis.services.cartesianScales.getOrientation()\n\t\t);\n\n\t\tconst line = DOMUtils.appendOrSelect(svg, \"line.domain\");\n\t\tline.transition(\n\t\t\tthis.services.transitions.getTransition(\"zero-line-update\", animate)\n\t\t)\n\t\t\t.attr(\"y1\", lineCoordinates.y0)\n\t\t\t.attr(\"y2\", lineCoordinates.y1)\n\t\t\t.attr(\"x1\", lineCoordinates.x0)\n\t\t\t.attr(\"x2\", lineCoordinates.x1);\n\t}\n}\n"]}
1
+ {"version":3,"file":"zero-line.js","sourceRoot":"","sources":["zero-line.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;IAA8B,4BAAS;IAAvC;QAAA,qEA0DC;QAzDA,UAAI,GAAG,WAAW,CAAC;;IAyDpB,CAAC;IAvDA,yBAAM,GAAN,UAAO,OAAgB;QACtB,IAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,oBAAoB,CACtE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAC/B,CAAC;QACF,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,kBAAkB,CAClE,YAAY,CACZ,CAAC;QACF,mBAAmB;QACb,IAAA,wBAAsD,EAArD,sBAAc,EAAE,sBAAqC,CAAC;QAE7D,IAAM,YAAY,GACjB,CAAC,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,CAAC;YAC1C,CAAC,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;QAE5C,qBAAqB;QACrB,IAAM,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEnC,6FAA6F;QAC7F,mDAAmD;QACnD,IAAI,CAAC,YAAY,EAAE;YAClB,sGAAsG;YACtG,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO;SACP;QAED,iCAAiC;QAC3B,IAAA,2DAAiE,EAAhE,UAAE,EAAE,UAA4D,CAAC;QACxE,IAAI,SAAS,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAErC,oEAAoE;QACpE,uEAAuE;QACvE,4DAA4D;QAC5D,IAAI,CAAC,SAAS,EAAE;YACf,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;SAClC;QAED,IAAM,eAAe,GAAG,KAAK,CAAC,oCAAoC,CACjE;YACC,EAAE,IAAA;YACF,EAAE,IAAA;YACF,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;SACb,EACD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,EAAE,CAC9C,CAAC;QAEF,IAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,CACd,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,kBAAkB,EAAE,OAAO,CAAC,CACpE;aACC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;aAC9B,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;aAC9B,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;aAC9B,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IACF,eAAC;AAAD,CAAC,AA1DD,CAA8B,SAAS,GA0DtC","sourcesContent":["// Internal Imports\nimport { Component } from '../component';\nimport { DOMUtils } from '../../services';\nimport { Tools } from '../../tools';\n\nexport class ZeroLine extends Component {\n\ttype = 'zero-line';\n\n\trender(animate: boolean) {\n\t\tconst axisPosition = this.services.cartesianScales.getRangeAxisPosition(\n\t\t\t{ groups: this.configs.groups }\n\t\t);\n\t\tconst rangeScale = this.services.cartesianScales.getScaleByPosition(\n\t\t\taxisPosition\n\t\t);\n\t\t// check the domain\n\t\tconst [minDomainValue, maxDomainValue] = rangeScale.domain();\n\n\t\tconst drawZeroLine =\n\t\t\t(minDomainValue > 0 && maxDomainValue < 0) ||\n\t\t\t(minDomainValue < 0 && maxDomainValue > 0);\n\n\t\t// Grab container SVG\n\t\tconst svg = this.getContainerSVG();\n\n\t\t// show zero line only if is necessary, otherwise make sure tto remove zero line if the chart\n\t\t// previously had a domain that went into negatives\n\t\tif (!drawZeroLine) {\n\t\t\t// otherwise if a chart draws a zero line and then the domain change the zero line is still in the DOM\n\t\t\tsvg.selectAll('line.domain').remove();\n\t\t\treturn;\n\t\t}\n\n\t\t// Get x & y position of the line\n\t\tconst [x0, x1] = this.services.cartesianScales.getDomainScale().range();\n\t\tlet yPosition = +rangeScale(0) + 0.5;\n\n\t\t// if scale domain contains NaN, return the first value of the range\n\t\t// this is necessary for the zero line y position that otherwise is NaN\n\t\t// so on the top of the chart while we want it on the bottom\n\t\tif (!yPosition) {\n\t\t\tyPosition = rangeScale.range()[0];\n\t\t}\n\n\t\tconst lineCoordinates = Tools.flipSVGCoordinatesBasedOnOrientation(\n\t\t\t{\n\t\t\t\tx0,\n\t\t\t\tx1,\n\t\t\t\ty0: yPosition,\n\t\t\t\ty1: yPosition,\n\t\t\t},\n\t\t\tthis.services.cartesianScales.getOrientation()\n\t\t);\n\n\t\tconst line = DOMUtils.appendOrSelect(svg, 'line.domain');\n\t\tline.transition(\n\t\t\tthis.services.transitions.getTransition('zero-line-update', animate)\n\t\t)\n\t\t\t.attr('y1', lineCoordinates.y0)\n\t\t\t.attr('y2', lineCoordinates.y1)\n\t\t\t.attr('x1', lineCoordinates.x0)\n\t\t\t.attr('x2', lineCoordinates.x1);\n\t}\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { Component } from "../component";
2
- import { ChartModelCartesian } from "../../model-cartesian-charts";
1
+ import { Component } from '../component';
2
+ import { ChartModelCartesian } from '../../model-cartesian-charts';
3
3
  export declare class ZoomBar extends Component {
4
4
  type: string;
5
5
  MIN_SELECTION_DIFF: number;
@@ -12,37 +12,37 @@ var __extends = (this && this.__extends) || (function () {
12
12
  };
13
13
  })();
14
14
  // Internal Imports
15
- import { Component } from "../component";
16
- import { Tools } from "../../tools";
17
- import { AxisPositions, Events, ScaleTypes, ZoomBarTypes } from "../../interfaces";
18
- import { DOMUtils } from "../../services";
19
- import * as Configuration from "../../configuration";
15
+ import { Component } from '../component';
16
+ import { Tools } from '../../tools';
17
+ import { AxisPositions, Events, ScaleTypes, ZoomBarTypes, } from '../../interfaces';
18
+ import { DOMUtils } from '../../services';
19
+ import * as Configuration from '../../configuration';
20
20
  // D3 Imports
21
- import { extent } from "d3-array";
22
- import { brushX } from "d3-brush";
23
- import { area, line } from "d3-shape";
24
- import { event } from "d3-selection";
21
+ import { extent } from 'd3-array';
22
+ import { brushX } from 'd3-brush';
23
+ import { area, line } from 'd3-shape';
24
+ import { event } from 'd3-selection';
25
25
  var ZoomBar = /** @class */ (function (_super) {
26
26
  __extends(ZoomBar, _super);
27
27
  function ZoomBar() {
28
28
  var _this = _super !== null && _super.apply(this, arguments) || this;
29
- _this.type = "zoom-bar";
29
+ _this.type = 'zoom-bar';
30
30
  // The minimum selection x range to trigger handler update
31
31
  // Smaller number may introduce a handler flash during initialization
32
32
  // Bigger number may not trigger handler update while selection area on chart is very small
33
33
  _this.MIN_SELECTION_DIFF = 9e-10;
34
34
  // needs to match the style in _zoom-bar.scss
35
- _this.brushSelector = "g.zoom-bar-brush";
35
+ _this.brushSelector = 'g.zoom-bar-brush';
36
36
  // Give every zoomBarClip a distinct ID
37
37
  // so they don't interfere the other zoom bars in a page
38
- _this.clipId = "zoomBarClip-" + Math.floor(Math.random() * 99999999999);
38
+ _this.clipId = 'zoomBarClip-' + Math.floor(Math.random() * 99999999999);
39
39
  _this.brush = brushX();
40
40
  return _this;
41
41
  }
42
42
  ZoomBar.prototype.init = function () {
43
43
  this.services.events.addEventListener(Events.ZoomBar.UPDATE, this.render.bind(this));
44
44
  // check if pre-defined zoom bar data exists
45
- var definedZoomBarData = Tools.getProperty(this.getOptions(), "zoomBar", AxisPositions.TOP, "data");
45
+ var definedZoomBarData = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'data');
46
46
  // load up the zoomBarData into this model
47
47
  this.model.setZoomBarData(definedZoomBarData);
48
48
  };
@@ -52,10 +52,10 @@ var ZoomBar = /** @class */ (function (_super) {
52
52
  var svg = this.getContainerSVG();
53
53
  var isTopZoomBarLoading = this.services.zoom.isZoomBarLoading(AxisPositions.TOP);
54
54
  var isTopZoomBarLocked = this.services.zoom.isZoomBarLocked(AxisPositions.TOP);
55
- var zoombarType = Tools.getProperty(this.getOptions(), "zoomBar", AxisPositions.TOP, "type");
55
+ var zoombarType = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
56
56
  var zoombarHeight = Configuration.zoomBar.height[zoombarType];
57
57
  var width = DOMUtils.getSVGElementSize(this.parent, {
58
- useAttrs: true
58
+ useAttrs: true,
59
59
  }).width;
60
60
  // initialization is not completed yet
61
61
  if (width === 0) {
@@ -63,38 +63,38 @@ var ZoomBar = /** @class */ (function (_super) {
63
63
  }
64
64
  // get axes margins
65
65
  var axesLeftMargin = 0;
66
- var axesMargins = this.model.get("axesMargins");
66
+ var axesMargins = this.model.get('axesMargins');
67
67
  if (axesMargins && axesMargins.left) {
68
68
  axesLeftMargin = axesMargins.left;
69
69
  }
70
- var container = DOMUtils.appendOrSelect(svg, "svg.zoom-container")
71
- .attr("width", "100%")
72
- .attr("height", zoombarHeight)
73
- .attr("opacity", 1);
74
- var spacer = DOMUtils.appendOrSelect(svg, "rect.zoom-spacer")
75
- .attr("x", 0)
76
- .attr("y", zoombarHeight)
77
- .attr("width", "100%")
78
- .attr("height", Configuration.zoomBar.spacerHeight)
79
- .attr("opacity", 1)
80
- .attr("fill", "none");
70
+ var container = DOMUtils.appendOrSelect(svg, 'svg.zoom-container')
71
+ .attr('width', '100%')
72
+ .attr('height', zoombarHeight)
73
+ .attr('opacity', 1);
74
+ var spacer = DOMUtils.appendOrSelect(svg, 'rect.zoom-spacer')
75
+ .attr('x', 0)
76
+ .attr('y', zoombarHeight)
77
+ .attr('width', '100%')
78
+ .attr('height', Configuration.zoomBar.spacerHeight)
79
+ .attr('opacity', 1)
80
+ .attr('fill', 'none');
81
81
  if (zoombarType === ZoomBarTypes.GRAPH_VIEW) {
82
82
  // Draw zoombar background rectangle
83
- DOMUtils.appendOrSelect(container, "rect.zoom-bg")
84
- .attr("x", axesLeftMargin)
85
- .attr("y", 0)
86
- .attr("width", width - axesLeftMargin)
87
- .attr("height", "100%")
88
- .classed("zoom-bg-skeleton", isTopZoomBarLoading);
83
+ DOMUtils.appendOrSelect(container, 'rect.zoom-bg')
84
+ .attr('x', axesLeftMargin)
85
+ .attr('y', 0)
86
+ .attr('width', width - axesLeftMargin)
87
+ .attr('height', '100%')
88
+ .classed('zoom-bg-skeleton', isTopZoomBarLoading);
89
89
  }
90
90
  else if (zoombarType === ZoomBarTypes.SLIDER_VIEW) {
91
91
  // Draw zoombar background line
92
- DOMUtils.appendOrSelect(container, "rect.zoom-slider-bg")
93
- .attr("x", axesLeftMargin)
94
- .attr("y", zoombarHeight / 2 - 1)
95
- .attr("width", width - axesLeftMargin)
96
- .attr("height", 2)
97
- .classed("zoom-slider-bg-skeleton", isTopZoomBarLoading);
92
+ DOMUtils.appendOrSelect(container, 'rect.zoom-slider-bg')
93
+ .attr('x', axesLeftMargin)
94
+ .attr('y', zoombarHeight / 2 - 1)
95
+ .attr('width', width - axesLeftMargin)
96
+ .attr('height', 2)
97
+ .classed('zoom-slider-bg-skeleton', isTopZoomBarLoading);
98
98
  }
99
99
  if (isTopZoomBarLoading) {
100
100
  this.renderSkeleton(container, axesLeftMargin, width);
@@ -116,9 +116,9 @@ var ZoomBar = /** @class */ (function (_super) {
116
116
  // add value 0 to the extended domain for zoom bar area graph
117
117
  zoomBarData = this.compensateDataForDefaultDomain(zoomBarData, defaultDomain);
118
118
  // get old initialZoomDomain from model
119
- var oldInitialZoomDomain = this.model.get("initialZoomDomain");
119
+ var oldInitialZoomDomain = this.model.get('initialZoomDomain');
120
120
  // get new initialZoomDomain from option
121
- var newInitialZoomDomain = Tools.getProperty(this.getOptions(), "zoomBar", AxisPositions.TOP, "initialZoomDomain");
121
+ var newInitialZoomDomain = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'initialZoomDomain');
122
122
  // change string date to Date object if necessary
123
123
  if (newInitialZoomDomain &&
124
124
  newInitialZoomDomain[0] &&
@@ -139,7 +139,7 @@ var ZoomBar = /** @class */ (function (_super) {
139
139
  initialZoomDomain: newInitialZoomDomain,
140
140
  zoomDomain: newInitialZoomDomain
141
141
  ? newInitialZoomDomain
142
- : defaultDomain
142
+ : defaultDomain,
143
143
  }, { skipUpdate: true });
144
144
  }
145
145
  this.xScale.range([axesLeftMargin, width]).domain(defaultDomain);
@@ -148,11 +148,11 @@ var ZoomBar = /** @class */ (function (_super) {
148
148
  this.yScale
149
149
  .range([0, zoombarHeight - 6])
150
150
  .domain(extent(zoomBarData, function (d) { return d.value; }));
151
- var zoomDomain = this.model.get("zoomDomain");
151
+ var zoomDomain = this.model.get('zoomDomain');
152
152
  if (zoombarType === ZoomBarTypes.GRAPH_VIEW) {
153
- this.renderZoomBarArea(container, "path.zoom-graph-area-unselected", zoomBarData, null);
153
+ this.renderZoomBarArea(container, 'path.zoom-graph-area-unselected', zoomBarData, null);
154
154
  this.updateClipPath(svg, this.clipId, 0, 0, 0, 0);
155
- this.renderZoomBarArea(container, "path.zoom-graph-area", zoomBarData, this.clipId);
155
+ this.renderZoomBarArea(container, 'path.zoom-graph-area', zoomBarData, this.clipId);
156
156
  // Draw the zoom bar base line
157
157
  this.renderZoomBarBaseline(container, axesLeftMargin, width);
158
158
  }
@@ -186,7 +186,7 @@ var ZoomBar = /** @class */ (function (_super) {
186
186
  return false;
187
187
  });
188
188
  // reset all cursor to auto
189
- brushArea.selectAll("rect").attr("cursor", "auto");
189
+ brushArea.selectAll('rect').attr('cursor', 'auto');
190
190
  }
191
191
  }
192
192
  };
@@ -206,34 +206,34 @@ var ZoomBar = /** @class */ (function (_super) {
206
206
  _this.handleBrushedEvent(zoomDomain, _this.xScale, selection);
207
207
  }
208
208
  };
209
- var zoombarType = Tools.getProperty(this.getOptions(), "zoomBar", AxisPositions.TOP, "type");
209
+ var zoombarType = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
210
210
  var zoombarHeight = Configuration.zoomBar.height[zoombarType];
211
211
  // Initialize the d3 brush
212
212
  this.brush
213
213
  .extent([
214
214
  [axesLeftMargin, 0],
215
- [width, zoombarHeight]
215
+ [width, zoombarHeight],
216
216
  ])
217
- .on("start brush end", null) // remove old listener first
218
- .on("start brush end", brushEventListener);
217
+ .on('start brush end', null) // remove old listener first
218
+ .on('start brush end', brushEventListener);
219
219
  };
220
220
  // brush event listener
221
221
  ZoomBar.prototype.handleBrushedEvent = function (zoomDomain, scale, selection) {
222
222
  var newDomain = [
223
223
  scale.invert(selection[0]),
224
- scale.invert(selection[1])
224
+ scale.invert(selection[1]),
225
225
  ];
226
226
  // update brush handle position
227
227
  this.updateBrushHandle(this.getContainerSVG(), selection, newDomain);
228
228
  // be aware that the value of d3.event changes during an event!
229
229
  // update zoomDomain only if the event comes from mouse/touch event
230
230
  if (event.sourceEvent != null &&
231
- (event.sourceEvent.type === "mousemove" ||
232
- event.sourceEvent.type === "mouseup" ||
233
- event.sourceEvent.type === "mousedown" ||
234
- event.sourceEvent.type === "touchstart" ||
235
- event.sourceEvent.type === "touchmove" ||
236
- event.sourceEvent.type === "touchend")) {
231
+ (event.sourceEvent.type === 'mousemove' ||
232
+ event.sourceEvent.type === 'mouseup' ||
233
+ event.sourceEvent.type === 'mousedown' ||
234
+ event.sourceEvent.type === 'touchstart' ||
235
+ event.sourceEvent.type === 'touchmove' ||
236
+ event.sourceEvent.type === 'touchend')) {
237
237
  // only if zoomDomain is never set or needs update
238
238
  if (zoomDomain === undefined ||
239
239
  zoomDomain[0] !== newDomain[0] ||
@@ -241,34 +241,34 @@ var ZoomBar = /** @class */ (function (_super) {
241
241
  // don't dispatch event for all event types
242
242
  // let the following code to dispatch necessary events
243
243
  this.services.zoom.handleDomainChange(newDomain, {
244
- dispatchEvent: false
244
+ dispatchEvent: false,
245
245
  });
246
246
  }
247
247
  // dispatch selection events
248
248
  var zoomBarEventType = void 0;
249
- if (event.type === "start") {
249
+ if (event.type === 'start') {
250
250
  zoomBarEventType = Events.ZoomBar.SELECTION_START;
251
251
  }
252
- else if (event.type === "brush") {
252
+ else if (event.type === 'brush') {
253
253
  zoomBarEventType = Events.ZoomBar.SELECTION_IN_PROGRESS;
254
254
  }
255
- else if (event.type === "end") {
255
+ else if (event.type === 'end') {
256
256
  zoomBarEventType = Events.ZoomBar.SELECTION_END;
257
257
  // only dispatch zoom domain change event for triggering api call when event type equals to end
258
258
  this.services.events.dispatchEvent(Events.ZoomDomain.CHANGE, {
259
- newDomain: newDomain
259
+ newDomain: newDomain,
260
260
  });
261
261
  }
262
262
  this.services.events.dispatchEvent(zoomBarEventType, {
263
263
  selection: selection,
264
- newDomain: newDomain
264
+ newDomain: newDomain,
265
265
  });
266
266
  }
267
267
  };
268
268
  ZoomBar.prototype.updateBrushHandle = function (svg, selection, domain) {
269
269
  var self = this;
270
270
  var handleWidth = Configuration.zoomBar.handleWidth;
271
- var zoombarType = Tools.getProperty(this.getOptions(), "zoomBar", AxisPositions.TOP, "type");
271
+ var zoombarType = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
272
272
  var handleHeight = Configuration.zoomBar.height[zoombarType];
273
273
  var handleXDiff = -handleWidth / 2;
274
274
  var handleBarWidth = Configuration.zoomBar.handleBarWidth;
@@ -279,49 +279,49 @@ var ZoomBar = /** @class */ (function (_super) {
279
279
  var handleYBarDiff = (handleHeight - handleBarHeight) / 2;
280
280
  // handle
281
281
  svg.select(this.brushSelector)
282
- .selectAll("rect.handle")
283
- .data([{ type: "w" }, { type: "e" }])
284
- .attr("x", function (d) {
285
- if (d.type === "w") {
282
+ .selectAll('rect.handle')
283
+ .data([{ type: 'w' }, { type: 'e' }])
284
+ .attr('x', function (d) {
285
+ if (d.type === 'w') {
286
286
  // handle should not exceed zoom bar range
287
287
  return Math.max(selection[0] + handleXDiff, self.maxSelectionRange[0]);
288
288
  }
289
- else if (d.type === "e") {
289
+ else if (d.type === 'e') {
290
290
  // handle should not exceed zoom bar range
291
291
  return Math.min(selection[1] + handleXDiff, self.maxSelectionRange[1] - handleWidth);
292
292
  }
293
293
  })
294
- .attr("y", 0)
295
- .attr("width", handleWidth)
296
- .attr("height", handleHeight)
297
- .attr("cursor", "ew-resize")
298
- .style("display", null); // always display
294
+ .attr('y', 0)
295
+ .attr('width', handleWidth)
296
+ .attr('height', handleHeight)
297
+ .attr('cursor', 'ew-resize')
298
+ .style('display', null); // always display
299
299
  // handle-bar
300
300
  var handleBars = svg
301
301
  .select(this.brushSelector)
302
- .selectAll("rect.handle-bar")
303
- .data([{ type: "w" }, { type: "e" }]);
302
+ .selectAll('rect.handle-bar')
303
+ .data([{ type: 'w' }, { type: 'e' }]);
304
304
  // create rect if not exists
305
305
  handleBars
306
306
  .enter()
307
- .append("rect")
308
- .attr("class", function (d) {
309
- return "handle-bar handle-bar--" + d.type;
307
+ .append('rect')
308
+ .attr('class', function (d) {
309
+ return 'handle-bar handle-bar--' + d.type;
310
310
  });
311
311
  // update positions
312
312
  handleBars
313
- .attr("x", function (d) {
314
- if (d.type === "w") {
313
+ .attr('x', function (d) {
314
+ if (d.type === 'w') {
315
315
  return Math.max(selection[0] + handleBarXDiff, self.maxSelectionRange[0] - handleXDiff + handleBarXDiff);
316
316
  }
317
- else if (d.type === "e") {
317
+ else if (d.type === 'e') {
318
318
  return Math.min(selection[1] + handleBarXDiff, self.maxSelectionRange[1] + handleXDiff + handleBarXDiff);
319
319
  }
320
320
  })
321
- .attr("y", handleYBarDiff)
322
- .attr("width", handleBarWidth)
323
- .attr("height", handleBarHeight)
324
- .attr("cursor", "ew-resize");
321
+ .attr('y', handleYBarDiff)
322
+ .attr('width', handleBarWidth)
323
+ .attr('height', handleBarHeight)
324
+ .attr('cursor', 'ew-resize');
325
325
  // Update slider selected area
326
326
  if (zoombarType === ZoomBarTypes.SLIDER_VIEW) {
327
327
  this.updateSliderSelectedArea(selection);
@@ -329,25 +329,25 @@ var ZoomBar = /** @class */ (function (_super) {
329
329
  this.updateClipPath(svg, this.clipId, selection[0], 0, selection[1] - selection[0], handleHeight);
330
330
  };
331
331
  ZoomBar.prototype.updateSliderSelectedArea = function (selection) {
332
- var zoombarType = Tools.getProperty(this.getOptions(), "zoomBar", AxisPositions.TOP, "type");
332
+ var zoombarType = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
333
333
  var zoombarHeight = Configuration.zoomBar.height[zoombarType];
334
334
  var width = DOMUtils.getSVGElementSize(this.parent, {
335
- useAttrs: true
335
+ useAttrs: true,
336
336
  }).width;
337
337
  // get axes margins
338
338
  var axesLeftMargin = 0;
339
- var axesMargins = this.model.get("axesMargins");
339
+ var axesMargins = this.model.get('axesMargins');
340
340
  if (axesMargins && axesMargins.left) {
341
341
  axesLeftMargin = axesMargins.left;
342
342
  }
343
343
  var svg = this.getContainerSVG();
344
- var container = svg.select("svg.zoom-container");
344
+ var container = svg.select('svg.zoom-container');
345
345
  // Draw zoombar background line
346
- DOMUtils.appendOrSelect(container, "rect.zoom-slider-selected-area")
347
- .attr("x", selection[0])
348
- .attr("y", zoombarHeight / 2 - 1)
349
- .attr("width", selection[1] - selection[0])
350
- .attr("height", 2);
346
+ DOMUtils.appendOrSelect(container, 'rect.zoom-slider-selected-area')
347
+ .attr('x', selection[0])
348
+ .attr('y', zoombarHeight / 2 - 1)
349
+ .attr('width', selection[1] - selection[0])
350
+ .attr('height', 2);
351
351
  };
352
352
  ZoomBar.prototype.renderZoomBarArea = function (container, querySelector, data, clipId) {
353
353
  var cartesianScales = this.services.cartesianScales;
@@ -362,7 +362,7 @@ var ZoomBar = /** @class */ (function (_super) {
362
362
  };
363
363
  var xAccessor = accessorFunction(this.xScale, mainXScaleType, mainXAxisPosition);
364
364
  var yAccessor = accessorFunction(this.yScale, mainYScaleType, mainYAxisPosition);
365
- var zoombarType = Tools.getProperty(this.getOptions(), "zoomBar", AxisPositions.TOP, "type");
365
+ var zoombarType = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
366
366
  var zoombarHeight = Configuration.zoomBar.height[zoombarType];
367
367
  var areaGenerator = area()
368
368
  .x(function (d, i) { return xAccessor(d, i); })
@@ -370,18 +370,18 @@ var ZoomBar = /** @class */ (function (_super) {
370
370
  .y1(function (d, i) { return zoombarHeight - yAccessor(d, i); });
371
371
  var areaGraph = DOMUtils.appendOrSelect(container, querySelector)
372
372
  .datum(data)
373
- .attr("d", areaGenerator);
373
+ .attr('d', areaGenerator);
374
374
  if (clipId) {
375
- areaGraph.attr("clip-path", "url(#" + clipId + ")");
375
+ areaGraph.attr('clip-path', "url(#" + clipId + ")");
376
376
  }
377
377
  };
378
378
  ZoomBar.prototype.updateClipPath = function (svg, clipId, x, y, width, height) {
379
- var zoomBarClipPath = DOMUtils.appendOrSelect(svg, "clipPath").attr("id", clipId);
380
- DOMUtils.appendOrSelect(zoomBarClipPath, "rect")
381
- .attr("x", x)
382
- .attr("y", y)
383
- .attr("width", width)
384
- .attr("height", height);
379
+ var zoomBarClipPath = DOMUtils.appendOrSelect(svg, "clipPath").attr('id', clipId);
380
+ DOMUtils.appendOrSelect(zoomBarClipPath, 'rect')
381
+ .attr('x', x)
382
+ .attr('y', y)
383
+ .attr('width', width)
384
+ .attr('height', height);
385
385
  };
386
386
  // assume the domains in data are already sorted
387
387
  ZoomBar.prototype.compensateDataForDefaultDomain = function (data, defaultDomain) {
@@ -410,32 +410,32 @@ var ZoomBar = /** @class */ (function (_super) {
410
410
  };
411
411
  ZoomBar.prototype.renderZoomBarBaseline = function (container, startX, endX, skeletonClass) {
412
412
  if (skeletonClass === void 0) { skeletonClass = false; }
413
- var zoombarType = Tools.getProperty(this.model.getOptions(), "zoomBar", AxisPositions.TOP, "type");
413
+ var zoombarType = Tools.getProperty(this.model.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
414
414
  var zoombarHeight = Configuration.zoomBar.height[zoombarType];
415
415
  var baselineGenerator = line()([
416
416
  [startX, zoombarHeight],
417
- [endX, zoombarHeight]
417
+ [endX, zoombarHeight],
418
418
  ]);
419
- DOMUtils.appendOrSelect(container, "path.zoom-bg-baseline")
420
- .attr("d", baselineGenerator)
421
- .classed("zoom-bg-baseline-skeleton", skeletonClass);
419
+ DOMUtils.appendOrSelect(container, 'path.zoom-bg-baseline')
420
+ .attr('d', baselineGenerator)
421
+ .classed('zoom-bg-baseline-skeleton', skeletonClass);
422
422
  };
423
423
  ZoomBar.prototype.renderSkeleton = function (container, startX, endX) {
424
424
  // need to clear current zoom bar area
425
- this.renderZoomBarArea(container, "path.zoom-graph-area-unselected", [], null);
426
- this.renderZoomBarArea(container, "path.zoom-graph-area", [], this.clipId);
425
+ this.renderZoomBarArea(container, 'path.zoom-graph-area-unselected', [], null);
426
+ this.renderZoomBarArea(container, 'path.zoom-graph-area', [], this.clipId);
427
427
  // remove brush listener
428
- this.brush.on("start brush end", null);
428
+ this.brush.on('start brush end', null);
429
429
  // clear d3 brush
430
430
  DOMUtils.appendOrSelect(this.getContainerSVG(), this.brushSelector).html(null);
431
431
  // re-render baseline because no axis labels in skeleton so the baseline length needs to change
432
- var zoombarType = Tools.getProperty(this.getOptions(), "zoomBar", AxisPositions.TOP, "type");
432
+ var zoombarType = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
433
433
  if (zoombarType === ZoomBarTypes.GRAPH_VIEW) {
434
434
  this.renderZoomBarBaseline(container, startX, endX, true);
435
435
  }
436
436
  };
437
437
  ZoomBar.prototype.destroy = function () {
438
- this.brush.on("start brush end", null); // remove event listener
438
+ this.brush.on('start brush end', null); // remove event listener
439
439
  this.services.events.removeEventListener(Events.ZoomBar.UPDATE, this.render.bind(this));
440
440
  };
441
441
  return ZoomBar;