@carbon/charts 1.8.0 → 1.9.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (862) hide show
  1. package/CHANGELOG.md +84 -155
  2. package/README.md +11 -13
  3. package/dist/_baseEach-603421de.mjs +21 -0
  4. package/dist/_baseEach-603421de.mjs.map +1 -0
  5. package/dist/_baseEach-cdac417f.js +2 -0
  6. package/dist/_baseEach-cdac417f.js.map +1 -0
  7. package/dist/a11y-7bad4f48.mjs +5 -0
  8. package/dist/a11y-7bad4f48.mjs.map +1 -0
  9. package/dist/a11y-c7c9d087.js +2 -0
  10. package/dist/a11y-c7c9d087.js.map +1 -0
  11. package/dist/angle-utils-6f166b40.js +2 -0
  12. package/dist/angle-utils-6f166b40.js.map +1 -0
  13. package/dist/angle-utils-8b6ce998.mjs +387 -0
  14. package/dist/angle-utils-8b6ce998.mjs.map +1 -0
  15. package/dist/axis-chart.d.ts +13 -0
  16. package/dist/chart.d.ts +18 -0
  17. package/dist/charts/alluvial.d.ts +10 -0
  18. package/dist/charts/area-stacked.d.ts +8 -0
  19. package/dist/charts/area.d.ts +8 -0
  20. package/dist/charts/bar-grouped.d.ts +8 -0
  21. package/dist/charts/bar-simple.d.ts +8 -0
  22. package/dist/charts/bar-stacked.d.ts +8 -0
  23. package/dist/charts/boxplot.d.ts +10 -0
  24. package/dist/charts/bubble.d.ts +8 -0
  25. package/dist/charts/bullet.d.ts +10 -0
  26. package/dist/charts/choropleth.d.ts +14 -0
  27. package/dist/charts/circle-pack.d.ts +10 -0
  28. package/dist/charts/combo.d.ts +9 -0
  29. package/dist/charts/donut.d.ts +8 -0
  30. package/dist/charts/gauge.d.ts +10 -0
  31. package/dist/charts/heatmap.d.ts +14 -0
  32. package/dist/charts/histogram.d.ts +10 -0
  33. package/dist/charts/index.d.ts +27 -0
  34. package/dist/charts/line.d.ts +8 -0
  35. package/dist/charts/lollipop.d.ts +8 -0
  36. package/dist/charts/meter.d.ts +10 -0
  37. package/dist/charts/pie.d.ts +10 -0
  38. package/dist/charts/radar.d.ts +10 -0
  39. package/dist/charts/scatter.d.ts +8 -0
  40. package/dist/charts/tree.d.ts +10 -0
  41. package/dist/charts/treemap.d.ts +10 -0
  42. package/dist/charts/wordcloud.d.ts +10 -0
  43. package/dist/choropleth-4ac6ac20.js +82 -0
  44. package/dist/choropleth-4ac6ac20.js.map +1 -0
  45. package/dist/choropleth-f473ea0d.mjs +7997 -0
  46. package/dist/choropleth-f473ea0d.mjs.map +1 -0
  47. package/dist/color-scale-utils-5eb3eeaa.mjs +3809 -0
  48. package/dist/color-scale-utils-5eb3eeaa.mjs.map +1 -0
  49. package/dist/color-scale-utils-7d463811.js +3 -0
  50. package/dist/color-scale-utils-7d463811.js.map +1 -0
  51. package/dist/components/axes/axis.d.ts +24 -0
  52. package/{build/src → dist}/components/axes/chart-clip.d.ts +3 -3
  53. package/{components → dist/components}/axes/grid-brush.d.ts +10 -10
  54. package/{components → dist/components}/axes/grid.d.ts +22 -22
  55. package/{build/src → dist}/components/axes/hover-axis.d.ts +1 -1
  56. package/dist/components/axes/index.d.ts +12 -0
  57. package/{components → dist/components}/axes/ruler-binned.d.ts +7 -7
  58. package/{components → dist/components}/axes/ruler.d.ts +27 -27
  59. package/{build/src → dist}/components/axes/toolbar.d.ts +7 -7
  60. package/{components → dist/components}/axes/two-dimensional-axes.d.ts +16 -16
  61. package/{components → dist/components}/axes/zero-line.d.ts +7 -7
  62. package/{components → dist/components}/axes/zoom-bar.d.ts +28 -28
  63. package/{build/src → dist}/components/component.d.ts +10 -8
  64. package/dist/components/diagrams/buildPaths.d.ts +40 -0
  65. package/dist/components/diagrams/index.d.ts +2 -0
  66. package/{components → dist/components}/essentials/canvas-chart-clip.d.ts +6 -6
  67. package/{build/src → dist}/components/essentials/color-scale-legend.d.ts +3 -3
  68. package/{build/src → dist}/components/essentials/geo-projection.d.ts +2 -2
  69. package/{build/src → dist}/components/essentials/highlights.d.ts +3 -3
  70. package/dist/components/essentials/index.d.ts +11 -0
  71. package/{build/src → dist}/components/essentials/legend.d.ts +3 -3
  72. package/{components → dist/components}/essentials/modal.d.ts +14 -14
  73. package/{build/src → dist}/components/essentials/threshold.d.ts +5 -5
  74. package/{components → dist/components}/essentials/title-meter.d.ts +30 -30
  75. package/{components → dist/components}/essentials/title.d.ts +20 -20
  76. package/{build/src → dist}/components/essentials/tooltip.d.ts +4 -4
  77. package/{components → dist/components}/graphs/alluvial.d.ts +14 -14
  78. package/{components → dist/components}/graphs/area-stacked.d.ts +11 -11
  79. package/dist/components/graphs/area.d.ts +12 -0
  80. package/{build/src → dist}/components/graphs/bar-grouped.d.ts +4 -4
  81. package/{build/src → dist}/components/graphs/bar-simple.d.ts +3 -3
  82. package/{build/src → dist}/components/graphs/bar-stacked.d.ts +4 -4
  83. package/{build/src → dist}/components/graphs/bar.d.ts +2 -2
  84. package/{components → dist/components}/graphs/boxplot.d.ts +9 -9
  85. package/{build/src → dist}/components/graphs/bubble.d.ts +2 -2
  86. package/dist/components/graphs/bullet.d.ts +12 -0
  87. package/{components → dist/components}/graphs/choropleth.d.ts +6 -6
  88. package/{build/src → dist}/components/graphs/circle-pack.d.ts +3 -3
  89. package/{build/src → dist}/components/graphs/donut.d.ts +1 -1
  90. package/{build/src → dist}/components/graphs/gauge.d.ts +2 -2
  91. package/{build/src → dist}/components/graphs/heatmap.d.ts +4 -4
  92. package/dist/components/graphs/histogram.d.ts +12 -0
  93. package/dist/components/graphs/index.d.ts +28 -0
  94. package/dist/components/graphs/line.d.ts +11 -0
  95. package/dist/components/graphs/lollipop.d.ts +14 -0
  96. package/{components → dist/components}/graphs/meter.d.ts +10 -10
  97. package/{build/src → dist}/components/graphs/pie.d.ts +4 -4
  98. package/{build/src → dist}/components/graphs/radar.d.ts +6 -6
  99. package/{build/src → dist}/components/graphs/scatter-stacked.d.ts +2 -2
  100. package/dist/components/graphs/scatter.d.ts +21 -0
  101. package/dist/components/graphs/skeleton-lines.d.ts +12 -0
  102. package/{build/src → dist}/components/graphs/skeleton.d.ts +6 -5
  103. package/{components → dist/components}/graphs/tree.d.ts +9 -9
  104. package/dist/components/graphs/treemap.d.ts +11 -0
  105. package/{build/src → dist}/components/graphs/wordcloud.d.ts +4 -4
  106. package/dist/components/index.d.ts +6 -0
  107. package/dist/components/index.js +2 -0
  108. package/dist/components/index.js.map +1 -0
  109. package/dist/components/index.mjs +76 -0
  110. package/dist/components/index.mjs.map +1 -0
  111. package/dist/components/layout/index.d.ts +2 -0
  112. package/{components → dist/components}/layout/layout.d.ts +18 -17
  113. package/dist/components/layout/spacer.d.ts +5 -0
  114. package/{build/src → dist}/configuration-non-customizable.d.ts +4 -4
  115. package/{configuration.d.ts → dist/configuration.d.ts} +48 -46
  116. package/dist/demo/charts/index.d.ts +62 -0
  117. package/{build/demo/data → dist/demo/charts}/time-series-axis.d.ts +60 -135
  118. package/{build/demo/data → dist/demo/charts}/zoom-bar.d.ts +12 -27
  119. package/dist/demo/index.d.ts +4 -0
  120. package/dist/demo/index.js +470 -0
  121. package/dist/demo/index.js.map +1 -0
  122. package/dist/demo/index.mjs +51786 -0
  123. package/dist/demo/index.mjs.map +1 -0
  124. package/{demo → dist/demo}/styles.css +286 -1142
  125. package/dist/demo/styles.css.map +1 -0
  126. package/dist/demo/utils/index.d.ts +2 -0
  127. package/dist/demo/utils/sandbox.d.ts +39 -0
  128. package/dist/demo/utils/story-widgets.d.ts +7 -0
  129. package/dist/enums-a96ef472.mjs +89 -0
  130. package/dist/enums-a96ef472.mjs.map +1 -0
  131. package/dist/enums-aa2efd99.js +2 -0
  132. package/dist/enums-aa2efd99.js.map +1 -0
  133. package/dist/index-822564ed.js +2 -0
  134. package/dist/index-822564ed.js.map +1 -0
  135. package/dist/index-a266373c.mjs +749 -0
  136. package/dist/index-a266373c.mjs.map +1 -0
  137. package/dist/index-becfb567.mjs +72 -0
  138. package/dist/index-becfb567.mjs.map +1 -0
  139. package/dist/index-d865d500.js +2 -0
  140. package/dist/index-d865d500.js.map +1 -0
  141. package/dist/index-ec554115.mjs +62 -0
  142. package/dist/index-ec554115.mjs.map +1 -0
  143. package/dist/index-f23685eb.js +2 -0
  144. package/dist/index-f23685eb.js.map +1 -0
  145. package/dist/index.d.ts +11 -0
  146. package/dist/index.js +2 -0
  147. package/dist/index.js.map +1 -0
  148. package/dist/index.mjs +1121 -0
  149. package/dist/index.mjs.map +1 -0
  150. package/{build/src → dist}/interfaces/axis-scales.d.ts +11 -11
  151. package/{interfaces → dist/interfaces}/charts.d.ts +517 -512
  152. package/{build/src → dist}/interfaces/components.d.ts +11 -11
  153. package/dist/interfaces/index.d.ts +11 -0
  154. package/dist/interfaces/index.js +2 -0
  155. package/dist/interfaces/index.js.map +1 -0
  156. package/dist/interfaces/index.mjs +58 -0
  157. package/dist/interfaces/index.mjs.map +1 -0
  158. package/{interfaces → dist/interfaces}/layout.d.ts +21 -15
  159. package/{build/src → dist}/interfaces/model.d.ts +2 -2
  160. package/dist/interfaces/services.d.ts +20 -0
  161. package/{build/src → dist}/interfaces/truncation.d.ts +2 -2
  162. package/{build/src → dist}/model/binned-charts.d.ts +1 -1
  163. package/{build/src → dist}/model/cartesian-charts.d.ts +2 -2
  164. package/{model → dist/model}/heatmap.d.ts +57 -52
  165. package/dist/model/index.d.ts +16 -0
  166. package/dist/model/index.js +3 -0
  167. package/dist/model/index.js.map +1 -0
  168. package/dist/model/index.mjs +1107 -0
  169. package/dist/model/index.mjs.map +1 -0
  170. package/{model → dist/model}/meter.d.ts +20 -19
  171. package/{model → dist/model}/model.d.ts +110 -107
  172. package/{services → dist/services}/angle-utils.d.ts +15 -16
  173. package/{services → dist/services}/color-scale-utils.d.ts +2 -2
  174. package/dist/services/curves.d.ts +24 -0
  175. package/dist/services/essentials/dom-utils.d.ts +45 -0
  176. package/dist/services/essentials/events.d.ts +8 -0
  177. package/dist/services/essentials/files.d.ts +7 -0
  178. package/{build/src → dist}/services/essentials/gradient-utils.d.ts +2 -2
  179. package/dist/services/essentials/index.d.ts +5 -0
  180. package/dist/services/essentials/transitions.d.ts +13 -0
  181. package/dist/services/index.d.ts +9 -0
  182. package/dist/services/index.js +2 -0
  183. package/dist/services/index.js.map +1 -0
  184. package/dist/services/index.mjs +32 -0
  185. package/dist/services/index.mjs.map +1 -0
  186. package/dist/services/scales-cartesian.d.ts +89 -0
  187. package/dist/services/service.d.ts +11 -0
  188. package/{services → dist/services}/time-series.d.ts +13 -13
  189. package/{build/src → dist}/services/zoom.d.ts +2 -2
  190. package/{styles → dist/styles}/_chart-holder.scss +5 -5
  191. package/{styles → dist/styles}/color-palatte.scss +66 -66
  192. package/{styles → dist/styles}/colors.scss +15 -39
  193. package/{styles → dist/styles}/components/_color-legend.scss +2 -2
  194. package/{styles → dist/styles}/components/_edge.scss +4 -4
  195. package/{styles → dist/styles}/components/_grid.scss +2 -2
  196. package/dist/styles/components/_marker.scss +7 -0
  197. package/{styles → dist/styles}/components/_meter-title.scss +2 -2
  198. package/{styles → dist/styles}/components/_tooltip.scss +3 -3
  199. package/{styles → dist/styles}/components/diagrams/_card-node.scss +3 -3
  200. package/{styles → dist/styles}/components/diagrams/_edge.scss +5 -5
  201. package/{styles → dist/styles}/components/diagrams/_shape-node.scss +3 -3
  202. package/dist/styles/components/diagrams/index.scss +4 -0
  203. package/{styles → dist/styles}/graphs/_alluvial.scss +2 -2
  204. package/{styles → dist/styles}/graphs/_bullet.scss +3 -3
  205. package/{styles → dist/styles}/graphs/_circle-pack.scss +1 -1
  206. package/{styles → dist/styles}/graphs/_gauge.scss +1 -1
  207. package/{styles → dist/styles}/graphs/_heatmap.scss +2 -2
  208. package/{styles → dist/styles}/graphs/_meter.scss +1 -1
  209. package/{styles → dist/styles}/graphs/_radar.scss +1 -1
  210. package/{styles → dist/styles}/graphs/_scatter-stacked.scss +1 -1
  211. package/{styles → dist/styles}/graphs/_tree.scss +2 -3
  212. package/{styles → dist/styles}/styles.scss +8 -3
  213. package/{styles → dist/styles}/tokens.scss +97 -106
  214. package/dist/styles.css +28264 -0
  215. package/dist/styles.css.map +1 -0
  216. package/dist/styles.min.css +1 -0
  217. package/dist/styles.min.css.map +1 -0
  218. package/{tools.d.ts → dist/tools.d.ts} +144 -144
  219. package/package.json +136 -101
  220. package/axis-chart.d.ts +0 -10
  221. package/axis-chart.js +0 -169
  222. package/axis-chart.js.map +0 -1
  223. package/build/demo/create-codesandbox.d.ts +0 -113
  224. package/build/demo/data/high-scale.d.ts +0 -1
  225. package/build/demo/data/index.d.ts +0 -33
  226. package/build/demo/utils.d.ts +0 -40
  227. package/build/src/axis-chart.d.ts +0 -10
  228. package/build/src/chart.d.ts +0 -14
  229. package/build/src/charts/alluvial.d.ts +0 -8
  230. package/build/src/charts/area-stacked.d.ts +0 -6
  231. package/build/src/charts/area.d.ts +0 -6
  232. package/build/src/charts/bar-grouped.d.ts +0 -6
  233. package/build/src/charts/bar-simple.d.ts +0 -6
  234. package/build/src/charts/bar-stacked.d.ts +0 -6
  235. package/build/src/charts/boxplot.d.ts +0 -8
  236. package/build/src/charts/bubble.d.ts +0 -6
  237. package/build/src/charts/bullet.d.ts +0 -8
  238. package/build/src/charts/choropleth.d.ts +0 -10
  239. package/build/src/charts/circle-pack.d.ts +0 -8
  240. package/build/src/charts/combo.d.ts +0 -7
  241. package/build/src/charts/donut.d.ts +0 -6
  242. package/build/src/charts/gauge.d.ts +0 -8
  243. package/build/src/charts/heatmap.d.ts +0 -10
  244. package/build/src/charts/histogram.d.ts +0 -8
  245. package/build/src/charts/index.d.ts +0 -25
  246. package/build/src/charts/line.d.ts +0 -6
  247. package/build/src/charts/lollipop.d.ts +0 -6
  248. package/build/src/charts/meter.d.ts +0 -8
  249. package/build/src/charts/pie.d.ts +0 -8
  250. package/build/src/charts/radar.d.ts +0 -8
  251. package/build/src/charts/scatter.d.ts +0 -6
  252. package/build/src/charts/tree.d.ts +0 -8
  253. package/build/src/charts/treemap.d.ts +0 -8
  254. package/build/src/charts/wordcloud.d.ts +0 -8
  255. package/build/src/components/axes/axis.d.ts +0 -24
  256. package/build/src/components/axes/grid-brush.d.ts +0 -10
  257. package/build/src/components/axes/grid.d.ts +0 -22
  258. package/build/src/components/axes/ruler-binned.d.ts +0 -7
  259. package/build/src/components/axes/ruler.d.ts +0 -27
  260. package/build/src/components/axes/two-dimensional-axes.d.ts +0 -16
  261. package/build/src/components/axes/zero-line.d.ts +0 -7
  262. package/build/src/components/axes/zoom-bar.d.ts +0 -28
  263. package/build/src/components/diagrams/buildPaths.d.ts +0 -63
  264. package/build/src/components/essentials/canvas-chart-clip.d.ts +0 -6
  265. package/build/src/components/essentials/modal.d.ts +0 -14
  266. package/build/src/components/essentials/title-meter.d.ts +0 -30
  267. package/build/src/components/essentials/title.d.ts +0 -20
  268. package/build/src/components/graphs/alluvial.d.ts +0 -14
  269. package/build/src/components/graphs/area-stacked.d.ts +0 -11
  270. package/build/src/components/graphs/area.d.ts +0 -12
  271. package/build/src/components/graphs/boxplot.d.ts +0 -9
  272. package/build/src/components/graphs/bullet.d.ts +0 -12
  273. package/build/src/components/graphs/choropleth.d.ts +0 -6
  274. package/build/src/components/graphs/histogram.d.ts +0 -12
  275. package/build/src/components/graphs/line.d.ts +0 -11
  276. package/build/src/components/graphs/lollipop.d.ts +0 -14
  277. package/build/src/components/graphs/meter.d.ts +0 -10
  278. package/build/src/components/graphs/scatter.d.ts +0 -21
  279. package/build/src/components/graphs/skeleton-lines.d.ts +0 -11
  280. package/build/src/components/graphs/tree.d.ts +0 -9
  281. package/build/src/components/graphs/treemap.d.ts +0 -11
  282. package/build/src/components/index.d.ts +0 -53
  283. package/build/src/components/layout/layout.d.ts +0 -17
  284. package/build/src/components/layout/spacer.d.ts +0 -5
  285. package/build/src/configuration.d.ts +0 -46
  286. package/build/src/interfaces/charts.d.ts +0 -512
  287. package/build/src/interfaces/index.d.ts +0 -7
  288. package/build/src/interfaces/layout.d.ts +0 -15
  289. package/build/src/model/heatmap.d.ts +0 -52
  290. package/build/src/model/meter.d.ts +0 -19
  291. package/build/src/model/model.d.ts +0 -107
  292. package/build/src/services/angle-utils.d.ts +0 -205
  293. package/build/src/services/color-scale-utils.d.ts +0 -10
  294. package/build/src/services/curves.d.ts +0 -25
  295. package/build/src/services/essentials/dom-utils.d.ts +0 -39
  296. package/build/src/services/essentials/events.d.ts +0 -8
  297. package/build/src/services/essentials/files.d.ts +0 -6
  298. package/build/src/services/essentials/transitions.d.ts +0 -13
  299. package/build/src/services/index.d.ts +0 -10
  300. package/build/src/services/scales-cartesian.d.ts +0 -86
  301. package/build/src/services/service.d.ts +0 -10
  302. package/build/src/services/time-series.d.ts +0 -787
  303. package/build/src/tools.d.ts +0 -2427
  304. package/build/stories/all.stories.d.ts +0 -1
  305. package/build/stories/tutorials/api.d.ts +0 -4
  306. package/build/stories/tutorials/color-palette.d.ts +0 -4
  307. package/build/stories/tutorials/combo-charts.d.ts +0 -4
  308. package/build/stories/tutorials/dual-axes.d.ts +0 -4
  309. package/build/stories/tutorials/event-listeners.d.ts +0 -4
  310. package/build/stories/tutorials/getting-started/angular.d.ts +0 -5
  311. package/build/stories/tutorials/getting-started/react.d.ts +0 -5
  312. package/build/stories/tutorials/getting-started/vanilla.d.ts +0 -5
  313. package/build/stories/tutorials/getting-started/vue.d.ts +0 -5
  314. package/build/stories/tutorials/index.d.ts +0 -11
  315. package/build/stories/tutorials/tabular-data-format.d.ts +0 -4
  316. package/build/stories/tutorials/themes.d.ts +0 -4
  317. package/build/stories/tutorials.stories.d.ts +0 -1
  318. package/bundle.js +0 -17
  319. package/chart.d.ts +0 -14
  320. package/chart.js +0 -198
  321. package/chart.js.map +0 -1
  322. package/charts/alluvial.d.ts +0 -8
  323. package/charts/alluvial.js +0 -46
  324. package/charts/alluvial.js.map +0 -1
  325. package/charts/area-stacked.d.ts +0 -6
  326. package/charts/area-stacked.js +0 -55
  327. package/charts/area-stacked.js.map +0 -1
  328. package/charts/area.d.ts +0 -6
  329. package/charts/area.js +0 -54
  330. package/charts/area.js.map +0 -1
  331. package/charts/bar-grouped.d.ts +0 -6
  332. package/charts/bar-grouped.js +0 -49
  333. package/charts/bar-grouped.js.map +0 -1
  334. package/charts/bar-simple.d.ts +0 -6
  335. package/charts/bar-simple.js +0 -49
  336. package/charts/bar-simple.js.map +0 -1
  337. package/charts/bar-stacked.d.ts +0 -6
  338. package/charts/bar-stacked.js +0 -50
  339. package/charts/bar-stacked.js.map +0 -1
  340. package/charts/boxplot.d.ts +0 -8
  341. package/charts/boxplot.js +0 -55
  342. package/charts/boxplot.js.map +0 -1
  343. package/charts/bubble.d.ts +0 -6
  344. package/charts/bubble.js +0 -49
  345. package/charts/bubble.js.map +0 -1
  346. package/charts/bullet.d.ts +0 -8
  347. package/charts/bullet.js +0 -50
  348. package/charts/bullet.js.map +0 -1
  349. package/charts/choropleth.d.ts +0 -10
  350. package/charts/choropleth.js +0 -141
  351. package/charts/choropleth.js.map +0 -1
  352. package/charts/circle-pack.d.ts +0 -8
  353. package/charts/circle-pack.js +0 -45
  354. package/charts/circle-pack.js.map +0 -1
  355. package/charts/combo.d.ts +0 -7
  356. package/charts/combo.js +0 -132
  357. package/charts/combo.js.map +0 -1
  358. package/charts/donut.d.ts +0 -6
  359. package/charts/donut.js +0 -46
  360. package/charts/donut.js.map +0 -1
  361. package/charts/gauge.d.ts +0 -8
  362. package/charts/gauge.js +0 -42
  363. package/charts/gauge.js.map +0 -1
  364. package/charts/heatmap.d.ts +0 -10
  365. package/charts/heatmap.js +0 -142
  366. package/charts/heatmap.js.map +0 -1
  367. package/charts/histogram.d.ts +0 -8
  368. package/charts/histogram.js +0 -48
  369. package/charts/histogram.js.map +0 -1
  370. package/charts/index.d.ts +0 -25
  371. package/charts/index.js +0 -26
  372. package/charts/index.js.map +0 -1
  373. package/charts/line.d.ts +0 -6
  374. package/charts/line.js +0 -48
  375. package/charts/line.js.map +0 -1
  376. package/charts/lollipop.d.ts +0 -6
  377. package/charts/lollipop.js +0 -50
  378. package/charts/lollipop.js.map +0 -1
  379. package/charts/meter.d.ts +0 -8
  380. package/charts/meter.js +0 -94
  381. package/charts/meter.js.map +0 -1
  382. package/charts/pie.d.ts +0 -8
  383. package/charts/pie.js +0 -55
  384. package/charts/pie.js.map +0 -1
  385. package/charts/radar.d.ts +0 -8
  386. package/charts/radar.js +0 -44
  387. package/charts/radar.js.map +0 -1
  388. package/charts/scatter.d.ts +0 -6
  389. package/charts/scatter.js +0 -49
  390. package/charts/scatter.js.map +0 -1
  391. package/charts/tree.d.ts +0 -8
  392. package/charts/tree.js +0 -47
  393. package/charts/tree.js.map +0 -1
  394. package/charts/treemap.d.ts +0 -8
  395. package/charts/treemap.js +0 -43
  396. package/charts/treemap.js.map +0 -1
  397. package/charts/wordcloud.d.ts +0 -8
  398. package/charts/wordcloud.js +0 -49
  399. package/charts/wordcloud.js.map +0 -1
  400. package/components/axes/axis.d.ts +0 -24
  401. package/components/axes/axis.js +0 -587
  402. package/components/axes/axis.js.map +0 -1
  403. package/components/axes/chart-clip.d.ts +0 -13
  404. package/components/axes/chart-clip.js +0 -63
  405. package/components/axes/chart-clip.js.map +0 -1
  406. package/components/axes/grid-brush.js +0 -170
  407. package/components/axes/grid-brush.js.map +0 -1
  408. package/components/axes/grid.js +0 -235
  409. package/components/axes/grid.js.map +0 -1
  410. package/components/axes/hover-axis.d.ts +0 -10
  411. package/components/axes/hover-axis.js +0 -243
  412. package/components/axes/hover-axis.js.map +0 -1
  413. package/components/axes/ruler-binned.js +0 -136
  414. package/components/axes/ruler-binned.js.map +0 -1
  415. package/components/axes/ruler-stacked.d.ts +0 -4
  416. package/components/axes/ruler-stacked.js +0 -26
  417. package/components/axes/ruler-stacked.js.map +0 -1
  418. package/components/axes/ruler.js +0 -209
  419. package/components/axes/ruler.js.map +0 -1
  420. package/components/axes/toolbar.d.ts +0 -40
  421. package/components/axes/toolbar.js +0 -558
  422. package/components/axes/toolbar.js.map +0 -1
  423. package/components/axes/two-dimensional-axes.js +0 -134
  424. package/components/axes/two-dimensional-axes.js.map +0 -1
  425. package/components/axes/zero-line.js +0 -76
  426. package/components/axes/zero-line.js.map +0 -1
  427. package/components/axes/zoom-bar.js +0 -490
  428. package/components/axes/zoom-bar.js.map +0 -1
  429. package/components/component.d.ts +0 -28
  430. package/components/component.js +0 -102
  431. package/components/component.js.map +0 -1
  432. package/components/diagrams/buildPaths.d.ts +0 -39
  433. package/components/diagrams/buildPaths.js +0 -71
  434. package/components/diagrams/buildPaths.js.map +0 -1
  435. package/components/diagrams/markerDefinitions.d.ts +0 -37
  436. package/components/diagrams/markerDefinitions.js +0 -38
  437. package/components/diagrams/markerDefinitions.js.map +0 -1
  438. package/components/essentials/canvas-chart-clip.js +0 -46
  439. package/components/essentials/canvas-chart-clip.js.map +0 -1
  440. package/components/essentials/color-scale-legend.d.ts +0 -20
  441. package/components/essentials/color-scale-legend.js +0 -237
  442. package/components/essentials/color-scale-legend.js.map +0 -1
  443. package/components/essentials/geo-projection.d.ts +0 -16
  444. package/components/essentials/geo-projection.js +0 -160
  445. package/components/essentials/geo-projection.js.map +0 -1
  446. package/components/essentials/highlights.d.ts +0 -13
  447. package/components/essentials/highlights.js +0 -196
  448. package/components/essentials/highlights.js.map +0 -1
  449. package/components/essentials/legend.d.ts +0 -11
  450. package/components/essentials/legend.js +0 -428
  451. package/components/essentials/legend.js.map +0 -1
  452. package/components/essentials/modal.js +0 -89
  453. package/components/essentials/modal.js.map +0 -1
  454. package/components/essentials/threshold.d.ts +0 -20
  455. package/components/essentials/threshold.js +0 -306
  456. package/components/essentials/threshold.js.map +0 -1
  457. package/components/essentials/title-meter.js +0 -279
  458. package/components/essentials/title-meter.js.map +0 -1
  459. package/components/essentials/title.js +0 -138
  460. package/components/essentials/title.js.map +0 -1
  461. package/components/essentials/tooltip-axis.d.ts +0 -4
  462. package/components/essentials/tooltip-axis.js +0 -142
  463. package/components/essentials/tooltip-axis.js.map +0 -1
  464. package/components/essentials/tooltip.d.ts +0 -22
  465. package/components/essentials/tooltip.js +0 -263
  466. package/components/essentials/tooltip.js.map +0 -1
  467. package/components/graphs/alluvial.js +0 -535
  468. package/components/graphs/alluvial.js.map +0 -1
  469. package/components/graphs/area-stacked.js +0 -131
  470. package/components/graphs/area-stacked.js.map +0 -1
  471. package/components/graphs/area.d.ts +0 -12
  472. package/components/graphs/area.js +0 -260
  473. package/components/graphs/area.js.map +0 -1
  474. package/components/graphs/bar-grouped.d.ts +0 -22
  475. package/components/graphs/bar-grouped.js +0 -312
  476. package/components/graphs/bar-grouped.js.map +0 -1
  477. package/components/graphs/bar-simple.d.ts +0 -12
  478. package/components/graphs/bar-simple.js +0 -218
  479. package/components/graphs/bar-simple.js.map +0 -1
  480. package/components/graphs/bar-stacked.d.ts +0 -13
  481. package/components/graphs/bar-stacked.js +0 -281
  482. package/components/graphs/bar-stacked.js.map +0 -1
  483. package/components/graphs/bar.d.ts +0 -5
  484. package/components/graphs/bar.js +0 -58
  485. package/components/graphs/bar.js.map +0 -1
  486. package/components/graphs/boxplot.js +0 -485
  487. package/components/graphs/boxplot.js.map +0 -1
  488. package/components/graphs/bubble.d.ts +0 -13
  489. package/components/graphs/bubble.js +0 -113
  490. package/components/graphs/bubble.js.map +0 -1
  491. package/components/graphs/bullet.d.ts +0 -12
  492. package/components/graphs/bullet.js +0 -395
  493. package/components/graphs/bullet.js.map +0 -1
  494. package/components/graphs/choropleth.js +0 -106
  495. package/components/graphs/choropleth.js.map +0 -1
  496. package/components/graphs/circle-pack.d.ts +0 -19
  497. package/components/graphs/circle-pack.js +0 -388
  498. package/components/graphs/circle-pack.js.map +0 -1
  499. package/components/graphs/donut.d.ts +0 -9
  500. package/components/graphs/donut.js +0 -116
  501. package/components/graphs/donut.js.map +0 -1
  502. package/components/graphs/gauge.d.ts +0 -27
  503. package/components/graphs/gauge.js +0 -347
  504. package/components/graphs/gauge.js.map +0 -1
  505. package/components/graphs/heatmap.d.ts +0 -25
  506. package/components/graphs/heatmap.js +0 -388
  507. package/components/graphs/heatmap.js.map +0 -1
  508. package/components/graphs/histogram.d.ts +0 -12
  509. package/components/graphs/histogram.js +0 -220
  510. package/components/graphs/histogram.js.map +0 -1
  511. package/components/graphs/line.d.ts +0 -11
  512. package/components/graphs/line.js +0 -179
  513. package/components/graphs/line.js.map +0 -1
  514. package/components/graphs/lollipop.d.ts +0 -14
  515. package/components/graphs/lollipop.js +0 -164
  516. package/components/graphs/lollipop.js.map +0 -1
  517. package/components/graphs/meter.js +0 -284
  518. package/components/graphs/meter.js.map +0 -1
  519. package/components/graphs/pie.d.ts +0 -16
  520. package/components/graphs/pie.js +0 -438
  521. package/components/graphs/pie.js.map +0 -1
  522. package/components/graphs/radar.d.ts +0 -25
  523. package/components/graphs/radar.js +0 -737
  524. package/components/graphs/radar.js.map +0 -1
  525. package/components/graphs/scatter-stacked.d.ts +0 -8
  526. package/components/graphs/scatter-stacked.js +0 -140
  527. package/components/graphs/scatter-stacked.js.map +0 -1
  528. package/components/graphs/scatter.d.ts +0 -21
  529. package/components/graphs/scatter.js +0 -360
  530. package/components/graphs/scatter.js.map +0 -1
  531. package/components/graphs/skeleton-lines.d.ts +0 -11
  532. package/components/graphs/skeleton-lines.js +0 -84
  533. package/components/graphs/skeleton-lines.js.map +0 -1
  534. package/components/graphs/skeleton.d.ts +0 -22
  535. package/components/graphs/skeleton.js +0 -272
  536. package/components/graphs/skeleton.js.map +0 -1
  537. package/components/graphs/tree.js +0 -262
  538. package/components/graphs/tree.js.map +0 -1
  539. package/components/graphs/treemap.d.ts +0 -11
  540. package/components/graphs/treemap.js +0 -344
  541. package/components/graphs/treemap.js.map +0 -1
  542. package/components/graphs/wordcloud.d.ts +0 -12
  543. package/components/graphs/wordcloud.js +0 -268
  544. package/components/graphs/wordcloud.js.map +0 -1
  545. package/components/index.d.ts +0 -53
  546. package/components/index.js +0 -59
  547. package/components/index.js.map +0 -1
  548. package/components/layout/layout.js +0 -191
  549. package/components/layout/layout.js.map +0 -1
  550. package/components/layout/spacer.d.ts +0 -5
  551. package/components/layout/spacer.js +0 -33
  552. package/components/layout/spacer.js.map +0 -1
  553. package/configuration-non-customizable.d.ts +0 -263
  554. package/configuration-non-customizable.js +0 -276
  555. package/configuration-non-customizable.js.map +0 -1
  556. package/configuration.js +0 -552
  557. package/configuration.js.map +0 -1
  558. package/demo/create-codesandbox.d.ts +0 -65
  559. package/demo/create-codesandbox.js +0 -173
  560. package/demo/create-codesandbox.js.map +0 -1
  561. package/demo/data/CHART_TYPES.d.ts +0 -128
  562. package/demo/data/CHART_TYPES.js +0 -128
  563. package/demo/data/CHART_TYPES.js.map +0 -1
  564. package/demo/data/alluvial.d.ts +0 -109
  565. package/demo/data/alluvial.js +0 -328
  566. package/demo/data/alluvial.js.map +0 -1
  567. package/demo/data/area.d.ts +0 -224
  568. package/demo/data/area.js +0 -330
  569. package/demo/data/area.js.map +0 -1
  570. package/demo/data/bar.d.ts +0 -681
  571. package/demo/data/bar.js +0 -915
  572. package/demo/data/bar.js.map +0 -1
  573. package/demo/data/boxplot.d.ts +0 -34
  574. package/demo/data/boxplot.js +0 -48
  575. package/demo/data/boxplot.js.map +0 -1
  576. package/demo/data/bubble.d.ts +0 -141
  577. package/demo/data/bubble.js +0 -182
  578. package/demo/data/bubble.js.map +0 -1
  579. package/demo/data/bullet.d.ts +0 -24
  580. package/demo/data/bullet.js +0 -55
  581. package/demo/data/bullet.js.map +0 -1
  582. package/demo/data/bundle.js +0 -1
  583. package/demo/data/choropleth.d.ts +0 -738
  584. package/demo/data/choropleth.js +0 -1684
  585. package/demo/data/choropleth.js.map +0 -1
  586. package/demo/data/circle-pack.d.ts +0 -91
  587. package/demo/data/circle-pack.js +0 -224
  588. package/demo/data/circle-pack.js.map +0 -1
  589. package/demo/data/combo.d.ts +0 -482
  590. package/demo/data/combo.js +0 -571
  591. package/demo/data/combo.js.map +0 -1
  592. package/demo/data/donut.d.ts +0 -64
  593. package/demo/data/donut.js +0 -60
  594. package/demo/data/donut.js.map +0 -1
  595. package/demo/data/gauge.d.ts +0 -40
  596. package/demo/data/gauge.js +0 -41
  597. package/demo/data/gauge.js.map +0 -1
  598. package/demo/data/heatmap.d.ts +0 -125
  599. package/demo/data/heatmap.js +0 -1149
  600. package/demo/data/heatmap.js.map +0 -1
  601. package/demo/data/high-scale.d.ts +0 -1
  602. package/demo/data/high-scale.js +0 -5
  603. package/demo/data/high-scale.js.map +0 -1
  604. package/demo/data/hightlight.d.ts +0 -40
  605. package/demo/data/hightlight.js +0 -44
  606. package/demo/data/hightlight.js.map +0 -1
  607. package/demo/data/histogram.d.ts +0 -63
  608. package/demo/data/histogram.js +0 -312
  609. package/demo/data/histogram.js.map +0 -1
  610. package/demo/data/index.d.ts +0 -33
  611. package/demo/data/index.js +0 -1305
  612. package/demo/data/index.js.map +0 -1
  613. package/demo/data/line.d.ts +0 -361
  614. package/demo/data/line.js +0 -480
  615. package/demo/data/line.js.map +0 -1
  616. package/demo/data/lollipop.d.ts +0 -39
  617. package/demo/data/lollipop.js +0 -37
  618. package/demo/data/lollipop.js.map +0 -1
  619. package/demo/data/meter.d.ts +0 -95
  620. package/demo/data/meter.js +0 -114
  621. package/demo/data/meter.js.map +0 -1
  622. package/demo/data/pie.d.ts +0 -46
  623. package/demo/data/pie.js +0 -55
  624. package/demo/data/pie.js.map +0 -1
  625. package/demo/data/radar.d.ts +0 -63
  626. package/demo/data/radar.js +0 -118
  627. package/demo/data/radar.js.map +0 -1
  628. package/demo/data/scatter.d.ts +0 -118
  629. package/demo/data/scatter.js +0 -143
  630. package/demo/data/scatter.js.map +0 -1
  631. package/demo/data/step.d.ts +0 -96
  632. package/demo/data/step.js +0 -27
  633. package/demo/data/step.js.map +0 -1
  634. package/demo/data/time-series-axis.d.ts +0 -368
  635. package/demo/data/time-series-axis.js +0 -436
  636. package/demo/data/time-series-axis.js.map +0 -1
  637. package/demo/data/toolbar.d.ts +0 -12
  638. package/demo/data/toolbar.js +0 -67
  639. package/demo/data/toolbar.js.map +0 -1
  640. package/demo/data/topojson-110.d.ts +0 -360
  641. package/demo/data/topojson-110.js +0 -40724
  642. package/demo/data/topojson-110.js.map +0 -1
  643. package/demo/data/tree.d.ts +0 -30
  644. package/demo/data/tree.js +0 -209
  645. package/demo/data/tree.js.map +0 -1
  646. package/demo/data/treemap.d.ts +0 -15
  647. package/demo/data/treemap.js +0 -93
  648. package/demo/data/treemap.js.map +0 -1
  649. package/demo/data/wordcloud.d.ts +0 -14
  650. package/demo/data/wordcloud.js +0 -105
  651. package/demo/data/wordcloud.js.map +0 -1
  652. package/demo/data/zoom-bar.d.ts +0 -94
  653. package/demo/data/zoom-bar.js +0 -187
  654. package/demo/data/zoom-bar.js.map +0 -1
  655. package/demo/styles.css.map +0 -1
  656. package/demo/styles.min.css +0 -1
  657. package/demo/styles.min.css.map +0 -1
  658. package/demo/tsconfig.tsbuildinfo +0 -1451
  659. package/demo/utils.d.ts +0 -24
  660. package/demo/utils.js +0 -222
  661. package/demo/utils.js.map +0 -1
  662. package/index.d.ts +0 -4
  663. package/index.js +0 -6
  664. package/index.js.map +0 -1
  665. package/interfaces/a11y.d.ts +0 -12
  666. package/interfaces/a11y.js +0 -14
  667. package/interfaces/a11y.js.map +0 -1
  668. package/interfaces/axis-scales.d.ts +0 -201
  669. package/interfaces/axis-scales.js +0 -1
  670. package/interfaces/axis-scales.js.map +0 -1
  671. package/interfaces/charts.js +0 -1
  672. package/interfaces/charts.js.map +0 -1
  673. package/interfaces/components.d.ts +0 -231
  674. package/interfaces/components.js +0 -1
  675. package/interfaces/components.js.map +0 -1
  676. package/interfaces/enums.d.ts +0 -261
  677. package/interfaces/enums.js +0 -296
  678. package/interfaces/enums.js.map +0 -1
  679. package/interfaces/events.d.ts +0 -239
  680. package/interfaces/events.js +0 -269
  681. package/interfaces/events.js.map +0 -1
  682. package/interfaces/index.d.ts +0 -7
  683. package/interfaces/index.js +0 -3
  684. package/interfaces/index.js.map +0 -1
  685. package/interfaces/layout.js +0 -1
  686. package/interfaces/layout.js.map +0 -1
  687. package/interfaces/model.d.ts +0 -35
  688. package/interfaces/model.js +0 -1
  689. package/interfaces/model.js.map +0 -1
  690. package/interfaces/truncation.d.ts +0 -17
  691. package/interfaces/truncation.js +0 -1
  692. package/interfaces/truncation.js.map +0 -1
  693. package/model/alluvial.d.ts +0 -8
  694. package/model/alluvial.js +0 -47
  695. package/model/alluvial.js.map +0 -1
  696. package/model/binned-charts.d.ts +0 -7
  697. package/model/binned-charts.js +0 -52
  698. package/model/binned-charts.js.map +0 -1
  699. package/model/boxplot.d.ts +0 -14
  700. package/model/boxplot.js +0 -174
  701. package/model/boxplot.js.map +0 -1
  702. package/model/bullet.d.ts +0 -14
  703. package/model/bullet.js +0 -74
  704. package/model/bullet.js.map +0 -1
  705. package/model/cartesian-charts.d.ts +0 -24
  706. package/model/cartesian-charts.js +0 -202
  707. package/model/cartesian-charts.js.map +0 -1
  708. package/model/choropleth.d.ts +0 -29
  709. package/model/choropleth.js +0 -105
  710. package/model/choropleth.js.map +0 -1
  711. package/model/circle-pack.d.ts +0 -36
  712. package/model/circle-pack.js +0 -189
  713. package/model/circle-pack.js.map +0 -1
  714. package/model/gauge.d.ts +0 -9
  715. package/model/gauge.js +0 -51
  716. package/model/gauge.js.map +0 -1
  717. package/model/heatmap.js +0 -220
  718. package/model/heatmap.js.map +0 -1
  719. package/model/meter.js +0 -118
  720. package/model/meter.js.map +0 -1
  721. package/model/model.js +0 -712
  722. package/model/model.js.map +0 -1
  723. package/model/pie.d.ts +0 -9
  724. package/model/pie.js +0 -66
  725. package/model/pie.js.map +0 -1
  726. package/model/radar.d.ts +0 -7
  727. package/model/radar.js +0 -52
  728. package/model/radar.js.map +0 -1
  729. package/model/tree.d.ts +0 -14
  730. package/model/tree.js +0 -56
  731. package/model/tree.js.map +0 -1
  732. package/model/treemap.d.ts +0 -8
  733. package/model/treemap.js +0 -44
  734. package/model/treemap.js.map +0 -1
  735. package/model/wordcloud.d.ts +0 -7
  736. package/model/wordcloud.js +0 -47
  737. package/model/wordcloud.js.map +0 -1
  738. package/polyfills.d.ts +0 -0
  739. package/polyfills.js +0 -29
  740. package/polyfills.js.map +0 -1
  741. package/services/angle-utils.js +0 -82
  742. package/services/angle-utils.js.map +0 -1
  743. package/services/canvas-zoom.d.ts +0 -11
  744. package/services/canvas-zoom.js +0 -72
  745. package/services/canvas-zoom.js.map +0 -1
  746. package/services/color-scale-utils.js +0 -64
  747. package/services/color-scale-utils.js.map +0 -1
  748. package/services/curves.d.ts +0 -25
  749. package/services/curves.js +0 -77
  750. package/services/curves.js.map +0 -1
  751. package/services/essentials/dom-utils.d.ts +0 -39
  752. package/services/essentials/dom-utils.js +0 -423
  753. package/services/essentials/dom-utils.js.map +0 -1
  754. package/services/essentials/events.d.ts +0 -8
  755. package/services/essentials/events.js +0 -53
  756. package/services/essentials/events.js.map +0 -1
  757. package/services/essentials/files.d.ts +0 -6
  758. package/services/essentials/files.js +0 -60
  759. package/services/essentials/files.js.map +0 -1
  760. package/services/essentials/gradient-utils.d.ts +0 -6
  761. package/services/essentials/gradient-utils.js +0 -85
  762. package/services/essentials/gradient-utils.js.map +0 -1
  763. package/services/essentials/transitions.d.ts +0 -13
  764. package/services/essentials/transitions.js +0 -51
  765. package/services/essentials/transitions.js.map +0 -1
  766. package/services/index.d.ts +0 -10
  767. package/services/index.js +0 -13
  768. package/services/index.js.map +0 -1
  769. package/services/scales-cartesian.d.ts +0 -86
  770. package/services/scales-cartesian.js +0 -656
  771. package/services/scales-cartesian.js.map +0 -1
  772. package/services/service.d.ts +0 -10
  773. package/services/service.js +0 -24
  774. package/services/service.js.map +0 -1
  775. package/services/time-series.js +0 -147
  776. package/services/time-series.js.map +0 -1
  777. package/services/zoom.d.ts +0 -21
  778. package/services/zoom.js +0 -217
  779. package/services/zoom.js.map +0 -1
  780. package/styles/components/_marker.scss +0 -7
  781. package/styles/components/diagrams/index.scss +0 -4
  782. package/styles.css +0 -6325
  783. package/styles.css.map +0 -1
  784. package/styles.min.css +0 -1
  785. package/styles.min.css.map +0 -1
  786. package/tools.js +0 -348
  787. package/tools.js.map +0 -1
  788. package/tsconfig.tsbuildinfo +0 -3816
  789. /package/{build/src → dist}/components/axes/ruler-stacked.d.ts +0 -0
  790. /package/{build/src → dist}/components/diagrams/markerDefinitions.d.ts +0 -0
  791. /package/{build/src → dist}/components/essentials/tooltip-axis.d.ts +0 -0
  792. /package/{build/demo/data → dist/demo/charts}/alluvial.d.ts +0 -0
  793. /package/{build/demo/data → dist/demo/charts}/area.d.ts +0 -0
  794. /package/{build/demo/data → dist/demo/charts}/bar.d.ts +0 -0
  795. /package/{build/demo/data → dist/demo/charts}/boxplot.d.ts +0 -0
  796. /package/{build/demo/data → dist/demo/charts}/bubble.d.ts +0 -0
  797. /package/{build/demo/data → dist/demo/charts}/bullet.d.ts +0 -0
  798. /package/{build/demo/data/CHART_TYPES.d.ts → dist/demo/charts/chart-types.d.ts} +0 -0
  799. /package/{build/demo/data → dist/demo/charts}/choropleth.d.ts +0 -0
  800. /package/{build/demo/data → dist/demo/charts}/circle-pack.d.ts +0 -0
  801. /package/{build/demo/data → dist/demo/charts}/combo.d.ts +0 -0
  802. /package/{build/demo/data → dist/demo/charts}/donut.d.ts +0 -0
  803. /package/{build/demo/data → dist/demo/charts}/gauge.d.ts +0 -0
  804. /package/{build/demo/data → dist/demo/charts}/heatmap.d.ts +0 -0
  805. /package/{build/demo/data → dist/demo/charts}/hightlight.d.ts +0 -0
  806. /package/{build/demo/data → dist/demo/charts}/histogram.d.ts +0 -0
  807. /package/{build/demo/data → dist/demo/charts}/line.d.ts +0 -0
  808. /package/{build/demo/data → dist/demo/charts}/lollipop.d.ts +0 -0
  809. /package/{build/demo/data → dist/demo/charts}/meter.d.ts +0 -0
  810. /package/{build/demo/data → dist/demo/charts}/pie.d.ts +0 -0
  811. /package/{build/demo/data → dist/demo/charts}/radar.d.ts +0 -0
  812. /package/{build/demo/data → dist/demo/charts}/scatter.d.ts +0 -0
  813. /package/{build/demo/data → dist/demo/charts}/step.d.ts +0 -0
  814. /package/{build/demo/data → dist/demo/charts}/toolbar.d.ts +0 -0
  815. /package/{build/demo/data → dist/demo/charts}/topojson-110.d.ts +0 -0
  816. /package/{build/demo/data → dist/demo/charts}/tree.d.ts +0 -0
  817. /package/{build/demo/data → dist/demo/charts}/treemap.d.ts +0 -0
  818. /package/{build/demo/data → dist/demo/charts}/wordcloud.d.ts +0 -0
  819. /package/{build/src → dist}/interfaces/a11y.d.ts +0 -0
  820. /package/{build/src → dist}/interfaces/enums.d.ts +0 -0
  821. /package/{build/src → dist}/interfaces/events.d.ts +0 -0
  822. /package/{build/src → dist}/model/alluvial.d.ts +0 -0
  823. /package/{build/src → dist}/model/boxplot.d.ts +0 -0
  824. /package/{build/src → dist}/model/bullet.d.ts +0 -0
  825. /package/{build/src → dist}/model/choropleth.d.ts +0 -0
  826. /package/{build/src → dist}/model/circle-pack.d.ts +0 -0
  827. /package/{build/src → dist}/model/gauge.d.ts +0 -0
  828. /package/{build/src → dist}/model/pie.d.ts +0 -0
  829. /package/{build/src → dist}/model/radar.d.ts +0 -0
  830. /package/{build/src → dist}/model/tree.d.ts +0 -0
  831. /package/{build/src → dist}/model/treemap.d.ts +0 -0
  832. /package/{build/src → dist}/model/wordcloud.d.ts +0 -0
  833. /package/{build/src → dist}/services/canvas-zoom.d.ts +0 -0
  834. /package/{styles → dist/styles}/_type.scss +0 -0
  835. /package/{styles → dist/styles}/components/_axis.scss +0 -0
  836. /package/{styles → dist/styles}/components/_callouts.scss +0 -0
  837. /package/{styles → dist/styles}/components/_grid-brush.scss +0 -0
  838. /package/{styles → dist/styles}/components/_highlights.scss +0 -0
  839. /package/{styles → dist/styles}/components/_layout.scss +0 -0
  840. /package/{styles → dist/styles}/components/_legend.scss +0 -0
  841. /package/{styles → dist/styles}/components/_modal.scss +0 -0
  842. /package/{styles → dist/styles}/components/_ruler.scss +0 -0
  843. /package/{styles → dist/styles}/components/_skeleton-lines.scss +0 -0
  844. /package/{styles → dist/styles}/components/_skeleton.scss +0 -0
  845. /package/{styles → dist/styles}/components/_threshold.scss +0 -0
  846. /package/{styles → dist/styles}/components/_title.scss +0 -0
  847. /package/{styles → dist/styles}/components/_toolbar.scss +0 -0
  848. /package/{styles → dist/styles}/components/_zero-line.scss +0 -0
  849. /package/{styles → dist/styles}/components/_zoom-bar.scss +0 -0
  850. /package/{styles → dist/styles}/components/diagrams/_marker.scss +0 -0
  851. /package/{styles → dist/styles}/components/index.scss +0 -0
  852. /package/{styles → dist/styles}/graphs/_area.scss +0 -0
  853. /package/{styles → dist/styles}/graphs/_bubble.scss +0 -0
  854. /package/{styles → dist/styles}/graphs/_choropleth.scss +0 -0
  855. /package/{styles → dist/styles}/graphs/_donut.scss +0 -0
  856. /package/{styles → dist/styles}/graphs/_line.scss +0 -0
  857. /package/{styles → dist/styles}/graphs/_lollipop.scss +0 -0
  858. /package/{styles → dist/styles}/graphs/_pie.scss +0 -0
  859. /package/{styles → dist/styles}/graphs/_scatter.scss +0 -0
  860. /package/{styles → dist/styles}/graphs/_treemap.scss +0 -0
  861. /package/{styles → dist/styles}/graphs/_wordcloud.scss +0 -0
  862. /package/{styles → dist/styles}/graphs/index.scss +0 -0
@@ -1,490 +0,0 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- extendStatics(d, b);
10
- function __() { this.constructor = d; }
11
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
- };
13
- })();
14
- // Internal Imports
15
- import { Component } from '../component';
16
- import * as Tools from '../../tools';
17
- import { AxisPositions, Events, RenderTypes, ScaleTypes, ZoomBarTypes, } from '../../interfaces';
18
- import { DOMUtils } from '../../services';
19
- import * as Configuration from '../../configuration';
20
- // D3 Imports
21
- import { extent } from 'd3-array';
22
- import { brushX } from 'd3-brush';
23
- import { area, line } from 'd3-shape';
24
- var ZoomBar = /** @class */ (function (_super) {
25
- __extends(ZoomBar, _super);
26
- function ZoomBar() {
27
- var _this = _super !== null && _super.apply(this, arguments) || this;
28
- _this.type = 'zoom-bar';
29
- _this.renderType = RenderTypes.SVG;
30
- // The minimum selection x range to trigger handler update
31
- // Smaller number may introduce a handler flash during initialization
32
- // Bigger number may not trigger handler update while selection area on chart is very small
33
- _this.MIN_SELECTION_DIFF = 9e-10;
34
- // needs to match the style in _zoom-bar.scss
35
- _this.brushSelector = 'g.zoom-bar-brush';
36
- // Give every zoomBarClip a distinct ID
37
- // so they don't interfere the other zoom bars in a page
38
- _this.clipId = 'zoomBarClip-' + Math.floor(Math.random() * 99999999999);
39
- _this.brush = brushX();
40
- _this.highlightStrokeWidth = 1;
41
- return _this;
42
- }
43
- ZoomBar.prototype.init = function () {
44
- this.services.events.addEventListener(Events.ZoomBar.UPDATE, this.render.bind(this));
45
- // check if pre-defined zoom bar data exists
46
- var definedZoomBarData = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'data');
47
- // load up the zoomBarData into this model
48
- this.model.setZoomBarData(definedZoomBarData);
49
- };
50
- ZoomBar.prototype.render = function (animate) {
51
- var _this = this;
52
- if (animate === void 0) { animate = true; }
53
- var svg = this.getComponentContainer();
54
- var isTopZoomBarLoading = this.services.zoom.isZoomBarLoading(AxisPositions.TOP);
55
- var isTopZoomBarLocked = this.services.zoom.isZoomBarLocked(AxisPositions.TOP);
56
- var zoombarType = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
57
- // As zoom current only available on top only highlights corresponding to bottom axis will be shown
58
- var highlight = Tools.getProperty(this.getOptions(), 'axes', AxisPositions.BOTTOM, 'highlights');
59
- var zoombarHeight = Configuration.zoomBar.height[zoombarType];
60
- var width = DOMUtils.getSVGElementSize(this.parent, {
61
- useAttrs: true,
62
- }).width;
63
- // initialization is not completed yet
64
- if (width === 0) {
65
- return;
66
- }
67
- // get axes margins
68
- var axesLeftMargin = 0;
69
- var axesMargins = this.model.get('axesMargins');
70
- if (axesMargins && axesMargins.left) {
71
- axesLeftMargin = axesMargins.left;
72
- }
73
- var container = DOMUtils.appendOrSelect(svg, 'svg.zoom-container')
74
- .attr('width', '100%')
75
- .attr('height', zoombarHeight)
76
- .attr('opacity', 1);
77
- var spacer = DOMUtils.appendOrSelect(svg, 'rect.zoom-spacer')
78
- .attr('x', 0)
79
- .attr('y', zoombarHeight)
80
- .attr('width', '100%')
81
- .attr('height', Configuration.zoomBar.spacerHeight)
82
- .attr('opacity', 1)
83
- .attr('fill', 'none');
84
- if (zoombarType === ZoomBarTypes.GRAPH_VIEW) {
85
- // Draw zoombar background rectangle
86
- DOMUtils.appendOrSelect(container, 'rect.zoom-bg')
87
- .attr('x', axesLeftMargin)
88
- .attr('y', 0)
89
- .attr('width', width - axesLeftMargin)
90
- .attr('height', '100%')
91
- .classed('zoom-bg-skeleton', isTopZoomBarLoading)
92
- .style('stroke', isTopZoomBarLoading
93
- ? "url(#" + this.services.domUtils.generateElementIDString("shimmer-lines") + ")"
94
- : null);
95
- }
96
- else if (zoombarType === ZoomBarTypes.SLIDER_VIEW) {
97
- // Draw zoombar background line
98
- DOMUtils.appendOrSelect(container, 'rect.zoom-slider-bg')
99
- .attr('x', axesLeftMargin)
100
- .attr('y', zoombarHeight / 2 - 1)
101
- .attr('width', width - axesLeftMargin)
102
- .attr('height', 2)
103
- .classed('zoom-slider-bg-skeleton', isTopZoomBarLoading)
104
- .style('stroke', isTopZoomBarLoading
105
- ? "url(#" + this.services.domUtils.generateElementIDString("shimmer-lines") + ")"
106
- : null);
107
- }
108
- if (isTopZoomBarLoading) {
109
- this.renderSkeleton(container, axesLeftMargin, width);
110
- return;
111
- }
112
- var cartesianScales = this.services.cartesianScales;
113
- var mainXScale = cartesianScales.getMainXScale();
114
- var mainYScale = cartesianScales.getMainYScale();
115
- var mainXScaleType = cartesianScales.getMainXScaleType();
116
- if (mainXScale && mainXScaleType === ScaleTypes.TIME) {
117
- var zoomBarData = this.services.zoom.getZoomBarData();
118
- // if there's no zoom bar data we can't do anything (true, undefined, null...)
119
- // if zoom domain is based on a single data element
120
- // doesn't make sense to allow zooming in
121
- if (Tools.isEmpty(zoomBarData) || zoomBarData.length === 1) {
122
- return;
123
- }
124
- this.xScale = mainXScale.copy();
125
- this.yScale = mainYScale.copy();
126
- var defaultDomain = this.services.zoom.getDefaultZoomBarDomain(zoomBarData);
127
- // add value 0 to the extended domain for zoom bar area graph
128
- zoomBarData = this.compensateDataForDefaultDomain(zoomBarData, defaultDomain);
129
- // get old initialZoomDomain from model
130
- var oldInitialZoomDomain = this.model.get('initialZoomDomain');
131
- // get new initialZoomDomain from option
132
- var newInitialZoomDomain = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'initialZoomDomain');
133
- // change string date to Date object if necessary
134
- if (newInitialZoomDomain &&
135
- newInitialZoomDomain[0] &&
136
- newInitialZoomDomain[1]) {
137
- newInitialZoomDomain[0] = new Date(newInitialZoomDomain[0]);
138
- newInitialZoomDomain[1] = new Date(newInitialZoomDomain[1]);
139
- }
140
- // update initialZoomDomain and set zoomDomain in model only if the option is changed
141
- // not the same object, and both start date and end date are not equal
142
- if (newInitialZoomDomain &&
143
- !(oldInitialZoomDomain &&
144
- oldInitialZoomDomain[0].valueOf() ===
145
- newInitialZoomDomain[0].valueOf() &&
146
- oldInitialZoomDomain[1].valueOf() ===
147
- newInitialZoomDomain[1].valueOf())) {
148
- this.model.set({
149
- // use a new object instead of newInitialZoomDomain
150
- initialZoomDomain: Tools.merge([], newInitialZoomDomain),
151
- zoomDomain: newInitialZoomDomain
152
- ? Tools.merge([], newInitialZoomDomain)
153
- : defaultDomain,
154
- }, { skipUpdate: true });
155
- }
156
- else if (newInitialZoomDomain === null &&
157
- oldInitialZoomDomain !== null) {
158
- // if newInitialZoomDomain is set to null (when oldInitialZoomDomain is not null)
159
- // save initialZoomDomain and reset zoom domain to default domain
160
- this.model.set({
161
- initialZoomDomain: null,
162
- zoomDomain: Tools.merge([], defaultDomain),
163
- }, { skipUpdate: true });
164
- }
165
- this.xScale.range([axesLeftMargin, width]).domain(defaultDomain);
166
- // keep max selection range
167
- this.maxSelectionRange = this.xScale.range();
168
- this.yScale
169
- .range([0, zoombarHeight - 6])
170
- .domain(extent(zoomBarData, function (d) { return d.value; }));
171
- var zoomDomain = this.model.get('zoomDomain');
172
- if (zoombarType === ZoomBarTypes.GRAPH_VIEW) {
173
- this.renderZoomBarArea(container, 'path.zoom-graph-area-unselected', zoomBarData, null);
174
- this.updateClipPath(svg, this.clipId, 0, 0, 0, 0);
175
- this.renderZoomBarArea(container, 'path.zoom-graph-area', zoomBarData, this.clipId);
176
- // Draw the zoom bar base line
177
- this.renderZoomBarBaseline(container, axesLeftMargin, width);
178
- if (highlight) {
179
- var startHighlight_1 = highlight.highlightStartMapsTo;
180
- var endHighlight_1 = highlight.highlightEndMapsTo;
181
- var color_1 = highlight.color;
182
- var labelMapTo_1 = highlight.labelMapsTo;
183
- highlight.data.forEach(function (element, index) {
184
- DOMUtils.appendOrSelect(container, "rect.highlight-" + index)
185
- .attr('height', zoombarHeight - 2 * _this.highlightStrokeWidth)
186
- .attr('y', _this.highlightStrokeWidth)
187
- .attr('x', _this.xScale(element[startHighlight_1]))
188
- .attr('width', _this.xScale(element[endHighlight_1]) -
189
- _this.xScale(element[startHighlight_1]))
190
- .style('fill', color_1 && color_1.scale[element[labelMapTo_1]]
191
- ? color_1.scale[element[labelMapTo_1]]
192
- : null)
193
- .style('fill-opacity', 0.1)
194
- .style('stroke', color_1 && color_1.scale[element[labelMapTo_1]]
195
- ? color_1.scale[element[labelMapTo_1]]
196
- : null)
197
- .style('stroke-dasharray', '2, 2')
198
- .attr('stroke-width', 1 + 'px');
199
- });
200
- }
201
- }
202
- // Attach brushing event listeners
203
- this.addBrushEventListener(zoomDomain, axesLeftMargin, width);
204
- // Draw the brushing area
205
- var brushArea = DOMUtils.appendOrSelect(svg, this.brushSelector).call(this.brush);
206
- if (zoomDomain === undefined) {
207
- // do nothing, initialization not completed yet
208
- // don't update brushHandle to avoid flash
209
- }
210
- else if (zoomDomain[0].valueOf() === zoomDomain[1].valueOf()) {
211
- brushArea.call(this.brush.move, this.xScale.range()); // default to full range
212
- this.updateBrushHandle(this.getComponentContainer(), this.xScale.range(), this.xScale.domain());
213
- }
214
- else {
215
- var selected = zoomDomain.map(function (domain) {
216
- return _this.xScale(domain);
217
- });
218
- if (selected[1] - selected[0] < this.MIN_SELECTION_DIFF) {
219
- // initialization not completed yet
220
- // don't update brushHandle to avoid flash
221
- }
222
- else {
223
- brushArea.call(this.brush.move, selected); // set brush to correct position
224
- this.updateBrushHandle(this.getComponentContainer(), selected, zoomDomain);
225
- }
226
- }
227
- if (isTopZoomBarLocked) {
228
- this.brush.filter(function () {
229
- return false;
230
- });
231
- // reset all cursor to auto
232
- brushArea.selectAll('rect').attr('cursor', 'auto');
233
- }
234
- }
235
- };
236
- ZoomBar.prototype.addBrushEventListener = function (zoomDomain, axesLeftMargin, width) {
237
- var _this = this;
238
- var brushEventListener = function (event) {
239
- var selection = event.selection;
240
- // follow d3 behavior: when selection is null, reset default full range
241
- // select behavior is completed, but nothing selected
242
- if (selection === null) {
243
- _this.handleBrushedEvent(event, zoomDomain, _this.xScale, _this.xScale.range());
244
- }
245
- else if (selection[0] === selection[1]) {
246
- // select behavior is not completed yet, do nothing
247
- }
248
- else {
249
- _this.handleBrushedEvent(event, zoomDomain, _this.xScale, selection);
250
- }
251
- };
252
- var zoombarType = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
253
- var zoombarHeight = Configuration.zoomBar.height[zoombarType];
254
- // Initialize the d3 brush
255
- this.brush
256
- .extent([
257
- [axesLeftMargin, 0],
258
- [width, zoombarHeight],
259
- ])
260
- .on('start brush end', null) // remove old listener first
261
- .on('start brush end', brushEventListener);
262
- };
263
- // brush event listener
264
- ZoomBar.prototype.handleBrushedEvent = function (event, zoomDomain, scale, selection) {
265
- var newDomain = [
266
- scale.invert(selection[0]),
267
- scale.invert(selection[1]),
268
- ];
269
- // update brush handle position
270
- this.updateBrushHandle(this.getComponentContainer(), selection, newDomain);
271
- // be aware that the value of d3.event changes during an event!
272
- // update zoomDomain only if the event comes from mouse/touch event
273
- if (event.sourceEvent != null &&
274
- (event.sourceEvent.type === 'mousemove' ||
275
- event.sourceEvent.type === 'mouseup' ||
276
- event.sourceEvent.type === 'mousedown' ||
277
- event.sourceEvent.type === 'touchstart' ||
278
- event.sourceEvent.type === 'touchmove' ||
279
- event.sourceEvent.type === 'touchend')) {
280
- // only if zoomDomain is never set or needs update
281
- if (zoomDomain === undefined ||
282
- zoomDomain[0] !== newDomain[0] ||
283
- zoomDomain[1] !== newDomain[1]) {
284
- // don't dispatch event for all event types
285
- // let the following code to dispatch necessary events
286
- this.services.zoom.handleDomainChange(newDomain, {
287
- dispatchEvent: false,
288
- });
289
- }
290
- // dispatch selection events
291
- var zoomBarEventType = void 0;
292
- if (event.type === 'start') {
293
- zoomBarEventType = Events.ZoomBar.SELECTION_START;
294
- }
295
- else if (event.type === 'brush') {
296
- zoomBarEventType = Events.ZoomBar.SELECTION_IN_PROGRESS;
297
- }
298
- else if (event.type === 'end') {
299
- zoomBarEventType = Events.ZoomBar.SELECTION_END;
300
- // only dispatch zoom domain change event for triggering api call when event type equals to end
301
- this.services.events.dispatchEvent(Events.ZoomDomain.CHANGE, {
302
- newDomain: newDomain,
303
- });
304
- }
305
- this.services.events.dispatchEvent(zoomBarEventType, {
306
- selection: selection,
307
- newDomain: newDomain,
308
- });
309
- }
310
- };
311
- ZoomBar.prototype.updateBrushHandle = function (svg, selection, domain) {
312
- var self = this;
313
- var handleWidth = Configuration.zoomBar.handleWidth;
314
- var zoombarType = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
315
- var handleHeight = Configuration.zoomBar.height[zoombarType];
316
- var handleXDiff = -handleWidth / 2;
317
- var handleBarWidth = Configuration.zoomBar.handleBarWidth;
318
- var handleBarHeight = zoombarType === ZoomBarTypes.GRAPH_VIEW
319
- ? Configuration.zoomBar.handleBarHeight
320
- : 6;
321
- var handleBarXDiff = -handleBarWidth / 2;
322
- var handleYBarDiff = (handleHeight - handleBarHeight) / 2;
323
- // handle
324
- svg.select(this.brushSelector)
325
- .selectAll('rect.handle')
326
- .data([{ type: 'w' }, { type: 'e' }])
327
- .attr('x', function (d) {
328
- if (d.type === 'w') {
329
- // handle should not exceed zoom bar range
330
- return Math.max(selection[0] + handleXDiff, self.maxSelectionRange[0]);
331
- }
332
- else if (d.type === 'e') {
333
- // handle should not exceed zoom bar range
334
- return Math.min(selection[1] + handleXDiff, self.maxSelectionRange[1] - handleWidth);
335
- }
336
- })
337
- .attr('y', 0)
338
- .attr('width', handleWidth)
339
- .attr('height', handleHeight)
340
- .attr('cursor', 'ew-resize')
341
- .style('display', null); // always display
342
- // handle-bar
343
- var handleBars = svg
344
- .select(this.brushSelector)
345
- .selectAll('rect.handle-bar')
346
- .data([{ type: 'w' }, { type: 'e' }]);
347
- // create rect if not exists
348
- handleBars
349
- .enter()
350
- .append('rect')
351
- .attr('class', function (d) {
352
- return 'handle-bar handle-bar--' + d.type;
353
- });
354
- // update positions
355
- handleBars
356
- .attr('x', function (d) {
357
- if (d.type === 'w') {
358
- return Math.max(selection[0] + handleBarXDiff, self.maxSelectionRange[0] - handleXDiff + handleBarXDiff);
359
- }
360
- else if (d.type === 'e') {
361
- return Math.min(selection[1] + handleBarXDiff, self.maxSelectionRange[1] + handleXDiff + handleBarXDiff);
362
- }
363
- })
364
- .attr('y', handleYBarDiff)
365
- .attr('width', handleBarWidth)
366
- .attr('height', handleBarHeight)
367
- .attr('cursor', 'ew-resize');
368
- // Update slider selected area
369
- if (zoombarType === ZoomBarTypes.SLIDER_VIEW) {
370
- this.updateSliderSelectedArea(selection);
371
- }
372
- this.updateClipPath(svg, this.clipId, selection[0], 0, selection[1] - selection[0], handleHeight);
373
- };
374
- ZoomBar.prototype.updateSliderSelectedArea = function (selection) {
375
- var zoombarType = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
376
- var zoombarHeight = Configuration.zoomBar.height[zoombarType];
377
- var width = DOMUtils.getSVGElementSize(this.parent, {
378
- useAttrs: true,
379
- }).width;
380
- // get axes margins
381
- var axesLeftMargin = 0;
382
- var axesMargins = this.model.get('axesMargins');
383
- if (axesMargins && axesMargins.left) {
384
- axesLeftMargin = axesMargins.left;
385
- }
386
- var svg = this.getComponentContainer();
387
- var container = svg.select('svg.zoom-container');
388
- // Draw zoombar background line
389
- DOMUtils.appendOrSelect(container, 'rect.zoom-slider-selected-area')
390
- .attr('x', selection[0])
391
- .attr('y', zoombarHeight / 2 - 1)
392
- .attr('width', selection[1] - selection[0])
393
- .attr('height', 2);
394
- };
395
- ZoomBar.prototype.renderZoomBarArea = function (container, querySelector, data, clipId) {
396
- var cartesianScales = this.services.cartesianScales;
397
- var mainXAxisPosition = cartesianScales.getMainXAxisPosition();
398
- var mainYAxisPosition = cartesianScales.getMainYAxisPosition();
399
- var mainXScaleType = cartesianScales.getMainXScaleType();
400
- var mainYScaleType = cartesianScales.getMainYScaleType();
401
- var accessorFunction = function (scale, scaleType, axisPosition) {
402
- return function (d, i) {
403
- return cartesianScales.getValueFromScale(scale, scaleType, axisPosition, d, i);
404
- };
405
- };
406
- var xAccessor = accessorFunction(this.xScale, mainXScaleType, mainXAxisPosition);
407
- var yAccessor = accessorFunction(this.yScale, mainYScaleType, mainYAxisPosition);
408
- var zoombarType = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
409
- var zoombarHeight = Configuration.zoomBar.height[zoombarType];
410
- var areaGenerator = area()
411
- .x(function (d, i) { return xAccessor(d, i); })
412
- .y0(zoombarHeight)
413
- .y1(function (d, i) { return zoombarHeight - yAccessor(d, i); });
414
- var areaGraph = DOMUtils.appendOrSelect(container, querySelector)
415
- .datum(data)
416
- .attr('d', areaGenerator);
417
- if (clipId) {
418
- areaGraph.attr('clip-path', "url(#" + clipId + ")");
419
- }
420
- };
421
- ZoomBar.prototype.updateClipPath = function (svg, clipId, x, y, width, height) {
422
- var zoomBarClipPath = DOMUtils.appendOrSelect(svg, "clipPath").attr('id', clipId);
423
- DOMUtils.appendOrSelect(zoomBarClipPath, 'rect')
424
- .attr('x', x)
425
- .attr('y', y)
426
- .attr('width', width)
427
- .attr('height', height);
428
- };
429
- // assume the domains in data are already sorted
430
- ZoomBar.prototype.compensateDataForDefaultDomain = function (data, defaultDomain) {
431
- if (!data || data.length < 2) {
432
- return;
433
- }
434
- var zoomBarData = Tools.clone(data);
435
- var domainIdentifier = this.services.cartesianScales.getDomainIdentifier();
436
- var rangeIdentifier = this.services.cartesianScales.getRangeIdentifier();
437
- // if min domain is extended
438
- if (Number(defaultDomain[0]) < Number(zoomBarData[0][domainIdentifier])) {
439
- var newDatum = {};
440
- newDatum[domainIdentifier] = defaultDomain[0];
441
- newDatum[rangeIdentifier] = 0;
442
- zoomBarData.unshift(newDatum);
443
- }
444
- // if max domain is extended
445
- if (Number(defaultDomain[1]) >
446
- Number(zoomBarData[zoomBarData.length - 1][domainIdentifier])) {
447
- var newDatum = {};
448
- newDatum[domainIdentifier] = defaultDomain[1];
449
- newDatum[rangeIdentifier] = 0;
450
- zoomBarData.push(newDatum);
451
- }
452
- return zoomBarData;
453
- };
454
- ZoomBar.prototype.renderZoomBarBaseline = function (container, startX, endX, skeletonClass) {
455
- if (skeletonClass === void 0) { skeletonClass = false; }
456
- var zoombarType = Tools.getProperty(this.model.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
457
- var zoombarHeight = Configuration.zoomBar.height[zoombarType];
458
- var baselineGenerator = line()([
459
- [startX, zoombarHeight],
460
- [endX, zoombarHeight],
461
- ]);
462
- DOMUtils.appendOrSelect(container, 'path.zoom-bg-baseline')
463
- .attr('d', baselineGenerator)
464
- .classed('zoom-bg-baseline-skeleton', skeletonClass)
465
- .style('stroke', skeletonClass
466
- ? "url(#" + this.services.domUtils.generateElementIDString("shimmer-lines") + ")"
467
- : null);
468
- };
469
- ZoomBar.prototype.renderSkeleton = function (container, startX, endX) {
470
- // need to clear current zoom bar area
471
- this.renderZoomBarArea(container, 'path.zoom-graph-area-unselected', [], null);
472
- this.renderZoomBarArea(container, 'path.zoom-graph-area', [], this.clipId);
473
- // remove brush listener
474
- this.brush.on('start brush end', null);
475
- // clear d3 brush
476
- DOMUtils.appendOrSelect(this.getComponentContainer(), this.brushSelector).html(null);
477
- // re-render baseline because no axis labels in skeleton so the baseline length needs to change
478
- var zoombarType = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
479
- if (zoombarType === ZoomBarTypes.GRAPH_VIEW) {
480
- this.renderZoomBarBaseline(container, startX, endX, true);
481
- }
482
- };
483
- ZoomBar.prototype.destroy = function () {
484
- this.brush.on('start brush end', null); // remove event listener
485
- this.services.events.removeEventListener(Events.ZoomBar.UPDATE, this.render.bind(this));
486
- };
487
- return ZoomBar;
488
- }(Component));
489
- export { ZoomBar };
490
- //# sourceMappingURL=../../../src/components/axes/zoom-bar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zoom-bar.js","sourceRoot":"","sources":["zoom-bar.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from '../component';\nimport { ChartModelCartesian } from '../../model/cartesian-charts';\nimport * as Tools from '../../tools';\nimport {\n\tAxisPositions,\n\tEvents,\n\tRenderTypes,\n\tScaleTypes,\n\tZoomBarTypes,\n} from '../../interfaces';\nimport { DOMUtils } from '../../services';\nimport * as Configuration from '../../configuration';\n\n// D3 Imports\nimport { extent } from 'd3-array';\nimport { brushX } from 'd3-brush';\nimport { area, line } from 'd3-shape';\n\nexport class ZoomBar extends Component {\n\ttype = 'zoom-bar';\n\trenderType = RenderTypes.SVG;\n\n\t// The minimum selection x range to trigger handler update\n\t// Smaller number may introduce a handler flash during initialization\n\t// Bigger number may not trigger handler update while selection area on chart is very small\n\tMIN_SELECTION_DIFF = 9e-10;\n\n\t// needs to match the style in _zoom-bar.scss\n\tbrushSelector = 'g.zoom-bar-brush';\n\n\t// The max allowed selection range, will be updated soon in render()\n\tmaxSelectionRange: [0, 0];\n\n\t// Give every zoomBarClip a distinct ID\n\t// so they don't interfere the other zoom bars in a page\n\tclipId = 'zoomBarClip-' + Math.floor(Math.random() * 99999999999);\n\n\tbrush = brushX();\n\txScale: any;\n\tyScale: any;\n\n\thighlightStrokeWidth = 1;\n\n\tprotected model: ChartModelCartesian;\n\n\tinit() {\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.ZoomBar.UPDATE,\n\t\t\tthis.render.bind(this)\n\t\t);\n\t\t// check if pre-defined zoom bar data exists\n\t\tconst definedZoomBarData = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t'zoomBar',\n\t\t\tAxisPositions.TOP,\n\t\t\t'data'\n\t\t);\n\n\t\t// load up the zoomBarData into this model\n\t\tthis.model.setZoomBarData(definedZoomBarData);\n\t}\n\n\trender(animate = true) {\n\t\tconst svg = this.getComponentContainer();\n\n\t\tconst isTopZoomBarLoading = this.services.zoom.isZoomBarLoading(\n\t\t\tAxisPositions.TOP\n\t\t);\n\t\tconst isTopZoomBarLocked = this.services.zoom.isZoomBarLocked(\n\t\t\tAxisPositions.TOP\n\t\t);\n\n\t\tconst zoombarType = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t'zoomBar',\n\t\t\tAxisPositions.TOP,\n\t\t\t'type'\n\t\t);\n\n\t\t// As zoom current only available on top only highlights corresponding to bottom axis will be shown\n\t\tconst highlight = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t'axes',\n\t\t\tAxisPositions.BOTTOM,\n\t\t\t'highlights'\n\t\t);\n\n\t\tconst zoombarHeight = Configuration.zoomBar.height[zoombarType];\n\n\t\tconst { width } = DOMUtils.getSVGElementSize(this.parent, {\n\t\t\tuseAttrs: true,\n\t\t});\n\t\t// initialization is not completed yet\n\t\tif (width === 0) {\n\t\t\treturn;\n\t\t}\n\t\t// get axes margins\n\t\tlet axesLeftMargin = 0;\n\t\tconst axesMargins = this.model.get('axesMargins');\n\t\tif (axesMargins && axesMargins.left) {\n\t\t\taxesLeftMargin = axesMargins.left;\n\t\t}\n\n\t\tconst container = DOMUtils.appendOrSelect(svg, 'svg.zoom-container')\n\t\t\t.attr('width', '100%')\n\t\t\t.attr('height', zoombarHeight)\n\t\t\t.attr('opacity', 1);\n\n\t\tconst spacer = DOMUtils.appendOrSelect(svg, 'rect.zoom-spacer')\n\t\t\t.attr('x', 0)\n\t\t\t.attr('y', zoombarHeight)\n\t\t\t.attr('width', '100%')\n\t\t\t.attr('height', Configuration.zoomBar.spacerHeight)\n\t\t\t.attr('opacity', 1)\n\t\t\t.attr('fill', 'none');\n\n\t\tif (zoombarType === ZoomBarTypes.GRAPH_VIEW) {\n\t\t\t// Draw zoombar background rectangle\n\t\t\tDOMUtils.appendOrSelect(container, 'rect.zoom-bg')\n\t\t\t\t.attr('x', axesLeftMargin)\n\t\t\t\t.attr('y', 0)\n\t\t\t\t.attr('width', width - axesLeftMargin)\n\t\t\t\t.attr('height', '100%')\n\t\t\t\t.classed('zoom-bg-skeleton', isTopZoomBarLoading)\n\t\t\t\t.style(\n\t\t\t\t\t'stroke',\n\t\t\t\t\tisTopZoomBarLoading\n\t\t\t\t\t\t? `url(#${this.services.domUtils.generateElementIDString(\n\t\t\t\t\t\t\t\t`shimmer-lines`\n\t\t\t\t\t\t )})`\n\t\t\t\t\t\t: null\n\t\t\t\t);\n\t\t} else if (zoombarType === ZoomBarTypes.SLIDER_VIEW) {\n\t\t\t// Draw zoombar background line\n\t\t\tDOMUtils.appendOrSelect(container, 'rect.zoom-slider-bg')\n\t\t\t\t.attr('x', axesLeftMargin)\n\t\t\t\t.attr('y', zoombarHeight / 2 - 1)\n\t\t\t\t.attr('width', width - axesLeftMargin)\n\t\t\t\t.attr('height', 2)\n\t\t\t\t.classed('zoom-slider-bg-skeleton', isTopZoomBarLoading)\n\t\t\t\t.style(\n\t\t\t\t\t'stroke',\n\t\t\t\t\tisTopZoomBarLoading\n\t\t\t\t\t\t? `url(#${this.services.domUtils.generateElementIDString(\n\t\t\t\t\t\t\t\t`shimmer-lines`\n\t\t\t\t\t\t )})`\n\t\t\t\t\t\t: null\n\t\t\t\t);\n\t\t}\n\n\t\tif (isTopZoomBarLoading) {\n\t\t\tthis.renderSkeleton(container, axesLeftMargin, width);\n\t\t\treturn;\n\t\t}\n\n\t\tconst { cartesianScales } = this.services;\n\t\tconst mainXScale = cartesianScales.getMainXScale();\n\t\tconst mainYScale = cartesianScales.getMainYScale();\n\t\tconst mainXScaleType = cartesianScales.getMainXScaleType();\n\n\t\tif (mainXScale && mainXScaleType === ScaleTypes.TIME) {\n\t\t\tlet zoomBarData = this.services.zoom.getZoomBarData();\n\n\t\t\t// if there's no zoom bar data we can't do anything (true, undefined, null...)\n\t\t\t// if zoom domain is based on a single data element\n\t\t\t// doesn't make sense to allow zooming in\n\t\t\tif (Tools.isEmpty(zoomBarData) || zoomBarData.length === 1) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.xScale = mainXScale.copy();\n\t\t\tthis.yScale = mainYScale.copy();\n\n\t\t\tconst defaultDomain = this.services.zoom.getDefaultZoomBarDomain(\n\t\t\t\tzoomBarData\n\t\t\t);\n\n\t\t\t// add value 0 to the extended domain for zoom bar area graph\n\t\t\tzoomBarData = this.compensateDataForDefaultDomain(\n\t\t\t\tzoomBarData,\n\t\t\t\tdefaultDomain\n\t\t\t);\n\n\t\t\t// get old initialZoomDomain from model\n\t\t\tconst oldInitialZoomDomain = this.model.get('initialZoomDomain');\n\t\t\t// get new initialZoomDomain from option\n\t\t\tconst newInitialZoomDomain = Tools.getProperty(\n\t\t\t\tthis.getOptions(),\n\t\t\t\t'zoomBar',\n\t\t\t\tAxisPositions.TOP,\n\t\t\t\t'initialZoomDomain'\n\t\t\t);\n\t\t\t// change string date to Date object if necessary\n\t\t\tif (\n\t\t\t\tnewInitialZoomDomain &&\n\t\t\t\tnewInitialZoomDomain[0] &&\n\t\t\t\tnewInitialZoomDomain[1]\n\t\t\t) {\n\t\t\t\tnewInitialZoomDomain[0] = new Date(newInitialZoomDomain[0]);\n\t\t\t\tnewInitialZoomDomain[1] = new Date(newInitialZoomDomain[1]);\n\t\t\t}\n\t\t\t// update initialZoomDomain and set zoomDomain in model only if the option is changed\n\t\t\t// not the same object, and both start date and end date are not equal\n\t\t\tif (\n\t\t\t\tnewInitialZoomDomain &&\n\t\t\t\t!(\n\t\t\t\t\toldInitialZoomDomain &&\n\t\t\t\t\toldInitialZoomDomain[0].valueOf() ===\n\t\t\t\t\t\tnewInitialZoomDomain[0].valueOf() &&\n\t\t\t\t\toldInitialZoomDomain[1].valueOf() ===\n\t\t\t\t\t\tnewInitialZoomDomain[1].valueOf()\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tthis.model.set(\n\t\t\t\t\t{\n\t\t\t\t\t\t// use a new object instead of newInitialZoomDomain\n\t\t\t\t\t\tinitialZoomDomain: Tools.merge(\n\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t\tnewInitialZoomDomain\n\t\t\t\t\t\t),\n\t\t\t\t\t\tzoomDomain: newInitialZoomDomain\n\t\t\t\t\t\t\t? Tools.merge([], newInitialZoomDomain)\n\t\t\t\t\t\t\t: defaultDomain,\n\t\t\t\t\t},\n\t\t\t\t\t{ skipUpdate: true }\n\t\t\t\t);\n\t\t\t} else if (\n\t\t\t\tnewInitialZoomDomain === null &&\n\t\t\t\toldInitialZoomDomain !== null\n\t\t\t) {\n\t\t\t\t// if newInitialZoomDomain is set to null (when oldInitialZoomDomain is not null)\n\t\t\t\t// save initialZoomDomain and reset zoom domain to default domain\n\t\t\t\tthis.model.set(\n\t\t\t\t\t{\n\t\t\t\t\t\tinitialZoomDomain: null,\n\t\t\t\t\t\tzoomDomain: Tools.merge([], defaultDomain),\n\t\t\t\t\t},\n\t\t\t\t\t{ skipUpdate: true }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthis.xScale.range([axesLeftMargin, width]).domain(defaultDomain);\n\n\t\t\t// keep max selection range\n\t\t\tthis.maxSelectionRange = this.xScale.range();\n\n\t\t\tthis.yScale\n\t\t\t\t.range([0, zoombarHeight - 6])\n\t\t\t\t.domain(extent(zoomBarData, (d: any) => d.value));\n\n\t\t\tconst zoomDomain = this.model.get('zoomDomain');\n\n\t\t\tif (zoombarType === ZoomBarTypes.GRAPH_VIEW) {\n\t\t\t\tthis.renderZoomBarArea(\n\t\t\t\t\tcontainer,\n\t\t\t\t\t'path.zoom-graph-area-unselected',\n\t\t\t\t\tzoomBarData,\n\t\t\t\t\tnull\n\t\t\t\t);\n\t\t\t\tthis.updateClipPath(svg, this.clipId, 0, 0, 0, 0);\n\t\t\t\tthis.renderZoomBarArea(\n\t\t\t\t\tcontainer,\n\t\t\t\t\t'path.zoom-graph-area',\n\t\t\t\t\tzoomBarData,\n\t\t\t\t\tthis.clipId\n\t\t\t\t);\n\t\t\t\t// Draw the zoom bar base line\n\t\t\t\tthis.renderZoomBarBaseline(container, axesLeftMargin, width);\n\n\t\t\t\tif (highlight) {\n\t\t\t\t\tconst startHighlight = highlight.highlightStartMapsTo;\n\t\t\t\t\tconst endHighlight = highlight.highlightEndMapsTo;\n\t\t\t\t\tconst color = highlight.color;\n\t\t\t\t\tconst labelMapTo = highlight.labelMapsTo;\n\n\t\t\t\t\thighlight.data.forEach((element, index) => {\n\t\t\t\t\t\tDOMUtils.appendOrSelect(\n\t\t\t\t\t\t\tcontainer,\n\t\t\t\t\t\t\t`rect.highlight-${index}`\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.attr(\n\t\t\t\t\t\t\t\t'height',\n\t\t\t\t\t\t\t\tzoombarHeight - 2 * this.highlightStrokeWidth\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.attr('y', this.highlightStrokeWidth)\n\t\t\t\t\t\t\t.attr('x', this.xScale(element[startHighlight]))\n\t\t\t\t\t\t\t.attr(\n\t\t\t\t\t\t\t\t'width',\n\t\t\t\t\t\t\t\tthis.xScale(element[endHighlight]) -\n\t\t\t\t\t\t\t\t\tthis.xScale(element[startHighlight])\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.style(\n\t\t\t\t\t\t\t\t'fill',\n\t\t\t\t\t\t\t\tcolor && color.scale[element[labelMapTo]]\n\t\t\t\t\t\t\t\t\t? color.scale[element[labelMapTo]]\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.style('fill-opacity', 0.1)\n\t\t\t\t\t\t\t.style(\n\t\t\t\t\t\t\t\t'stroke',\n\t\t\t\t\t\t\t\tcolor && color.scale[element[labelMapTo]]\n\t\t\t\t\t\t\t\t\t? color.scale[element[labelMapTo]]\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.style('stroke-dasharray', '2, 2')\n\t\t\t\t\t\t\t.attr('stroke-width', 1 + 'px');\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Attach brushing event listeners\n\t\t\tthis.addBrushEventListener(zoomDomain, axesLeftMargin, width);\n\n\t\t\t// Draw the brushing area\n\t\t\tconst brushArea = DOMUtils.appendOrSelect(\n\t\t\t\tsvg,\n\t\t\t\tthis.brushSelector\n\t\t\t).call(this.brush);\n\n\t\t\tif (zoomDomain === undefined) {\n\t\t\t\t// do nothing, initialization not completed yet\n\t\t\t\t// don't update brushHandle to avoid flash\n\t\t\t} else if (zoomDomain[0].valueOf() === zoomDomain[1].valueOf()) {\n\t\t\t\tbrushArea.call(this.brush.move, this.xScale.range()); // default to full range\n\t\t\t\tthis.updateBrushHandle(\n\t\t\t\t\tthis.getComponentContainer(),\n\t\t\t\t\tthis.xScale.range(),\n\t\t\t\t\tthis.xScale.domain()\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tconst selected = zoomDomain.map((domain) =>\n\t\t\t\t\tthis.xScale(domain)\n\t\t\t\t);\n\t\t\t\tif (selected[1] - selected[0] < this.MIN_SELECTION_DIFF) {\n\t\t\t\t\t// initialization not completed yet\n\t\t\t\t\t// don't update brushHandle to avoid flash\n\t\t\t\t} else {\n\t\t\t\t\tbrushArea.call(this.brush.move, selected); // set brush to correct position\n\t\t\t\t\tthis.updateBrushHandle(\n\t\t\t\t\t\tthis.getComponentContainer(),\n\t\t\t\t\t\tselected,\n\t\t\t\t\t\tzoomDomain\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (isTopZoomBarLocked) {\n\t\t\t\tthis.brush.filter(() => {\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t\t\t// reset all cursor to auto\n\t\t\t\tbrushArea.selectAll('rect').attr('cursor', 'auto');\n\t\t\t}\n\t\t}\n\t}\n\n\taddBrushEventListener(zoomDomain, axesLeftMargin, width) {\n\t\tconst brushEventListener = (event) => {\n\t\t\tconst selection = event.selection;\n\t\t\t// follow d3 behavior: when selection is null, reset default full range\n\t\t\t// select behavior is completed, but nothing selected\n\t\t\tif (selection === null) {\n\t\t\t\tthis.handleBrushedEvent(\n\t\t\t\t\tevent,\n\t\t\t\t\tzoomDomain,\n\t\t\t\t\tthis.xScale,\n\t\t\t\t\tthis.xScale.range()\n\t\t\t\t);\n\t\t\t} else if (selection[0] === selection[1]) {\n\t\t\t\t// select behavior is not completed yet, do nothing\n\t\t\t} else {\n\t\t\t\tthis.handleBrushedEvent(\n\t\t\t\t\tevent,\n\t\t\t\t\tzoomDomain,\n\t\t\t\t\tthis.xScale,\n\t\t\t\t\tselection\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\n\t\tconst zoombarType = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t'zoomBar',\n\t\t\tAxisPositions.TOP,\n\t\t\t'type'\n\t\t);\n\t\tconst zoombarHeight = Configuration.zoomBar.height[zoombarType];\n\n\t\t// Initialize the d3 brush\n\t\tthis.brush\n\t\t\t.extent([\n\t\t\t\t[axesLeftMargin, 0],\n\t\t\t\t[width, zoombarHeight],\n\t\t\t])\n\t\t\t.on('start brush end', null) // remove old listener first\n\t\t\t.on('start brush end', brushEventListener);\n\t}\n\n\t// brush event listener\n\thandleBrushedEvent(event, zoomDomain, scale, selection) {\n\t\tconst newDomain = [\n\t\t\tscale.invert(selection[0]),\n\t\t\tscale.invert(selection[1]),\n\t\t];\n\n\t\t// update brush handle position\n\t\tthis.updateBrushHandle(\n\t\t\tthis.getComponentContainer(),\n\t\t\tselection,\n\t\t\tnewDomain\n\t\t);\n\n\t\t// be aware that the value of d3.event changes during an event!\n\t\t// update zoomDomain only if the event comes from mouse/touch event\n\t\tif (\n\t\t\tevent.sourceEvent != null &&\n\t\t\t(event.sourceEvent.type === 'mousemove' ||\n\t\t\t\tevent.sourceEvent.type === 'mouseup' ||\n\t\t\t\tevent.sourceEvent.type === 'mousedown' ||\n\t\t\t\tevent.sourceEvent.type === 'touchstart' ||\n\t\t\t\tevent.sourceEvent.type === 'touchmove' ||\n\t\t\t\tevent.sourceEvent.type === 'touchend')\n\t\t) {\n\t\t\t// only if zoomDomain is never set or needs update\n\t\t\tif (\n\t\t\t\tzoomDomain === undefined ||\n\t\t\t\tzoomDomain[0] !== newDomain[0] ||\n\t\t\t\tzoomDomain[1] !== newDomain[1]\n\t\t\t) {\n\t\t\t\t// don't dispatch event for all event types\n\t\t\t\t// let the following code to dispatch necessary events\n\t\t\t\tthis.services.zoom.handleDomainChange(newDomain, {\n\t\t\t\t\tdispatchEvent: false,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// dispatch selection events\n\t\t\tlet zoomBarEventType;\n\t\t\tif (event.type === 'start') {\n\t\t\t\tzoomBarEventType = Events.ZoomBar.SELECTION_START;\n\t\t\t} else if (event.type === 'brush') {\n\t\t\t\tzoomBarEventType = Events.ZoomBar.SELECTION_IN_PROGRESS;\n\t\t\t} else if (event.type === 'end') {\n\t\t\t\tzoomBarEventType = Events.ZoomBar.SELECTION_END;\n\t\t\t\t// only dispatch zoom domain change event for triggering api call when event type equals to end\n\t\t\t\tthis.services.events.dispatchEvent(Events.ZoomDomain.CHANGE, {\n\t\t\t\t\tnewDomain,\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.services.events.dispatchEvent(zoomBarEventType, {\n\t\t\t\tselection,\n\t\t\t\tnewDomain,\n\t\t\t});\n\t\t}\n\t}\n\n\tupdateBrushHandle(svg, selection, domain) {\n\t\tconst self = this;\n\t\tconst handleWidth = Configuration.zoomBar.handleWidth;\n\n\t\tconst zoombarType = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t'zoomBar',\n\t\t\tAxisPositions.TOP,\n\t\t\t'type'\n\t\t);\n\t\tconst handleHeight = Configuration.zoomBar.height[zoombarType];\n\t\tconst handleXDiff = -handleWidth / 2;\n\n\t\tconst handleBarWidth = Configuration.zoomBar.handleBarWidth;\n\t\tconst handleBarHeight =\n\t\t\tzoombarType === ZoomBarTypes.GRAPH_VIEW\n\t\t\t\t? Configuration.zoomBar.handleBarHeight\n\t\t\t\t: 6;\n\t\tconst handleBarXDiff = -handleBarWidth / 2;\n\t\tconst handleYBarDiff = (handleHeight - handleBarHeight) / 2;\n\n\t\t// handle\n\t\tsvg.select(this.brushSelector)\n\t\t\t.selectAll('rect.handle')\n\t\t\t.data([{ type: 'w' }, { type: 'e' }])\n\t\t\t.attr('x', function (d) {\n\t\t\t\tif (d.type === 'w') {\n\t\t\t\t\t// handle should not exceed zoom bar range\n\t\t\t\t\treturn Math.max(\n\t\t\t\t\t\tselection[0] + handleXDiff,\n\t\t\t\t\t\tself.maxSelectionRange[0]\n\t\t\t\t\t);\n\t\t\t\t} else if (d.type === 'e') {\n\t\t\t\t\t// handle should not exceed zoom bar range\n\t\t\t\t\treturn Math.min(\n\t\t\t\t\t\tselection[1] + handleXDiff,\n\t\t\t\t\t\tself.maxSelectionRange[1] - handleWidth\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.attr('y', 0)\n\t\t\t.attr('width', handleWidth)\n\t\t\t.attr('height', handleHeight)\n\t\t\t.attr('cursor', 'ew-resize')\n\t\t\t.style('display', null); // always display\n\n\t\t// handle-bar\n\t\tconst handleBars = svg\n\t\t\t.select(this.brushSelector)\n\t\t\t.selectAll('rect.handle-bar')\n\t\t\t.data([{ type: 'w' }, { type: 'e' }]);\n\t\t// create rect if not exists\n\t\thandleBars\n\t\t\t.enter()\n\t\t\t.append('rect')\n\t\t\t.attr('class', function (d) {\n\t\t\t\treturn 'handle-bar handle-bar--' + d.type;\n\t\t\t});\n\t\t// update positions\n\t\thandleBars\n\t\t\t.attr('x', function (d) {\n\t\t\t\tif (d.type === 'w') {\n\t\t\t\t\treturn Math.max(\n\t\t\t\t\t\tselection[0] + handleBarXDiff,\n\t\t\t\t\t\tself.maxSelectionRange[0] - handleXDiff + handleBarXDiff\n\t\t\t\t\t);\n\t\t\t\t} else if (d.type === 'e') {\n\t\t\t\t\treturn Math.min(\n\t\t\t\t\t\tselection[1] + handleBarXDiff,\n\t\t\t\t\t\tself.maxSelectionRange[1] + handleXDiff + handleBarXDiff\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.attr('y', handleYBarDiff)\n\t\t\t.attr('width', handleBarWidth)\n\t\t\t.attr('height', handleBarHeight)\n\t\t\t.attr('cursor', 'ew-resize');\n\n\t\t// Update slider selected area\n\t\tif (zoombarType === ZoomBarTypes.SLIDER_VIEW) {\n\t\t\tthis.updateSliderSelectedArea(selection);\n\t\t}\n\n\t\tthis.updateClipPath(\n\t\t\tsvg,\n\t\t\tthis.clipId,\n\t\t\tselection[0],\n\t\t\t0,\n\t\t\tselection[1] - selection[0],\n\t\t\thandleHeight\n\t\t);\n\t}\n\n\tupdateSliderSelectedArea(selection) {\n\t\tconst zoombarType = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t'zoomBar',\n\t\t\tAxisPositions.TOP,\n\t\t\t'type'\n\t\t);\n\t\tconst zoombarHeight = Configuration.zoomBar.height[zoombarType];\n\n\t\tconst { width } = DOMUtils.getSVGElementSize(this.parent, {\n\t\t\tuseAttrs: true,\n\t\t});\n\n\t\t// get axes margins\n\t\tlet axesLeftMargin = 0;\n\t\tconst axesMargins = this.model.get('axesMargins');\n\t\tif (axesMargins && axesMargins.left) {\n\t\t\taxesLeftMargin = axesMargins.left;\n\t\t}\n\n\t\tconst svg = this.getComponentContainer();\n\t\tconst container = svg.select('svg.zoom-container');\n\n\t\t// Draw zoombar background line\n\t\tDOMUtils.appendOrSelect(container, 'rect.zoom-slider-selected-area')\n\t\t\t.attr('x', selection[0])\n\t\t\t.attr('y', zoombarHeight / 2 - 1)\n\t\t\t.attr('width', selection[1] - selection[0])\n\t\t\t.attr('height', 2);\n\t}\n\n\trenderZoomBarArea(container, querySelector, data, clipId) {\n\t\tconst { cartesianScales } = this.services;\n\t\tconst mainXAxisPosition = cartesianScales.getMainXAxisPosition();\n\t\tconst mainYAxisPosition = cartesianScales.getMainYAxisPosition();\n\t\tconst mainXScaleType = cartesianScales.getMainXScaleType();\n\t\tconst mainYScaleType = cartesianScales.getMainYScaleType();\n\n\t\tconst accessorFunction = (scale, scaleType, axisPosition) => {\n\t\t\treturn (d, i) => {\n\t\t\t\treturn cartesianScales.getValueFromScale(\n\t\t\t\t\tscale,\n\t\t\t\t\tscaleType,\n\t\t\t\t\taxisPosition,\n\t\t\t\t\td,\n\t\t\t\t\ti\n\t\t\t\t);\n\t\t\t};\n\t\t};\n\n\t\tconst xAccessor = accessorFunction(\n\t\t\tthis.xScale,\n\t\t\tmainXScaleType,\n\t\t\tmainXAxisPosition\n\t\t);\n\t\tconst yAccessor = accessorFunction(\n\t\t\tthis.yScale,\n\t\t\tmainYScaleType,\n\t\t\tmainYAxisPosition\n\t\t);\n\n\t\tconst zoombarType = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t'zoomBar',\n\t\t\tAxisPositions.TOP,\n\t\t\t'type'\n\t\t);\n\t\tconst zoombarHeight = Configuration.zoomBar.height[zoombarType];\n\t\tconst areaGenerator = area()\n\t\t\t.x((d, i) => xAccessor(d, i))\n\t\t\t.y0(zoombarHeight)\n\t\t\t.y1((d, i) => zoombarHeight - yAccessor(d, i));\n\n\t\tconst areaGraph = DOMUtils.appendOrSelect(container, querySelector)\n\t\t\t.datum(data)\n\t\t\t.attr('d', areaGenerator);\n\n\t\tif (clipId) {\n\t\t\tareaGraph.attr('clip-path', `url(#${clipId})`);\n\t\t}\n\t}\n\n\tupdateClipPath(svg, clipId, x, y, width, height) {\n\t\tconst zoomBarClipPath = DOMUtils.appendOrSelect(svg, `clipPath`).attr(\n\t\t\t'id',\n\t\t\tclipId\n\t\t);\n\t\tDOMUtils.appendOrSelect(zoomBarClipPath, 'rect')\n\t\t\t.attr('x', x)\n\t\t\t.attr('y', y)\n\t\t\t.attr('width', width)\n\t\t\t.attr('height', height);\n\t}\n\n\t// assume the domains in data are already sorted\n\tcompensateDataForDefaultDomain(data, defaultDomain) {\n\t\tif (!data || data.length < 2) {\n\t\t\treturn;\n\t\t}\n\t\tconst zoomBarData = Tools.clone(data);\n\n\t\tconst domainIdentifier = this.services.cartesianScales.getDomainIdentifier();\n\t\tconst rangeIdentifier = this.services.cartesianScales.getRangeIdentifier();\n\n\t\t// if min domain is extended\n\t\tif (\n\t\t\tNumber(defaultDomain[0]) < Number(zoomBarData[0][domainIdentifier])\n\t\t) {\n\t\t\tconst newDatum = {};\n\t\t\tnewDatum[domainIdentifier] = defaultDomain[0];\n\t\t\tnewDatum[rangeIdentifier] = 0;\n\t\t\tzoomBarData.unshift(newDatum);\n\t\t}\n\t\t// if max domain is extended\n\t\tif (\n\t\t\tNumber(defaultDomain[1]) >\n\t\t\tNumber(zoomBarData[zoomBarData.length - 1][domainIdentifier])\n\t\t) {\n\t\t\tconst newDatum = {};\n\t\t\tnewDatum[domainIdentifier] = defaultDomain[1];\n\t\t\tnewDatum[rangeIdentifier] = 0;\n\t\t\tzoomBarData.push(newDatum);\n\t\t}\n\t\treturn zoomBarData;\n\t}\n\n\trenderZoomBarBaseline(container, startX, endX, skeletonClass = false) {\n\t\tconst zoombarType = Tools.getProperty(\n\t\t\tthis.model.getOptions(),\n\t\t\t'zoomBar',\n\t\t\tAxisPositions.TOP,\n\t\t\t'type'\n\t\t);\n\t\tconst zoombarHeight = Configuration.zoomBar.height[zoombarType];\n\t\tconst baselineGenerator = line()([\n\t\t\t[startX, zoombarHeight],\n\t\t\t[endX, zoombarHeight],\n\t\t]);\n\t\tDOMUtils.appendOrSelect(container, 'path.zoom-bg-baseline')\n\t\t\t.attr('d', baselineGenerator)\n\t\t\t.classed('zoom-bg-baseline-skeleton', skeletonClass)\n\t\t\t.style(\n\t\t\t\t'stroke',\n\t\t\t\tskeletonClass\n\t\t\t\t\t? `url(#${this.services.domUtils.generateElementIDString(\n\t\t\t\t\t\t\t`shimmer-lines`\n\t\t\t\t\t )})`\n\t\t\t\t\t: null\n\t\t\t);\n\t}\n\n\trenderSkeleton(container, startX, endX) {\n\t\t// need to clear current zoom bar area\n\t\tthis.renderZoomBarArea(\n\t\t\tcontainer,\n\t\t\t'path.zoom-graph-area-unselected',\n\t\t\t[],\n\t\t\tnull\n\t\t);\n\t\tthis.renderZoomBarArea(\n\t\t\tcontainer,\n\t\t\t'path.zoom-graph-area',\n\t\t\t[],\n\t\t\tthis.clipId\n\t\t);\n\t\t// remove brush listener\n\t\tthis.brush.on('start brush end', null);\n\t\t// clear d3 brush\n\t\tDOMUtils.appendOrSelect(\n\t\t\tthis.getComponentContainer(),\n\t\t\tthis.brushSelector\n\t\t).html(null);\n\n\t\t// re-render baseline because no axis labels in skeleton so the baseline length needs to change\n\t\tconst zoombarType = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t'zoomBar',\n\t\t\tAxisPositions.TOP,\n\t\t\t'type'\n\t\t);\n\t\tif (zoombarType === ZoomBarTypes.GRAPH_VIEW) {\n\t\t\tthis.renderZoomBarBaseline(container, startX, endX, true);\n\t\t}\n\t}\n\n\tdestroy() {\n\t\tthis.brush.on('start brush end', null); // remove event listener\n\t\tthis.services.events.removeEventListener(\n\t\t\tEvents.ZoomBar.UPDATE,\n\t\t\tthis.render.bind(this)\n\t\t);\n\t}\n}\n"]}
@@ -1,28 +0,0 @@
1
- import { ChartModel } from '../model/model';
2
- import { RenderTypes } from '../interfaces';
3
- export declare class Component {
4
- type: string;
5
- renderType: RenderTypes;
6
- id: string;
7
- protected parent: any;
8
- protected configs: any;
9
- protected model: any;
10
- protected services: any;
11
- constructor(model: ChartModel, services: any, configs?: any);
12
- init(): void;
13
- render(animate?: boolean): void;
14
- destroy(): void;
15
- setModel(newObj: any): void;
16
- setServices(newObj: any): void;
17
- setParent(parent: any): void;
18
- getParent(): any;
19
- getComponentContainer(configs?: {
20
- withinChartClip: boolean;
21
- }): any;
22
- /**
23
- * graphs used in combo charts share a model with global options but can receive their own local options.
24
- * this function retrieves the global options and merges it with any options passed into this
25
- * component's config.options object.
26
- */
27
- getOptions(): any;
28
- }