@carbon/charts 1.8.0 → 1.9.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (863) 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/{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/LICENSE.md +0 -201
  221. package/axis-chart.d.ts +0 -10
  222. package/axis-chart.js +0 -169
  223. package/axis-chart.js.map +0 -1
  224. package/build/demo/create-codesandbox.d.ts +0 -113
  225. package/build/demo/data/high-scale.d.ts +0 -1
  226. package/build/demo/data/index.d.ts +0 -33
  227. package/build/demo/data/time-series-axis.d.ts +0 -368
  228. package/build/demo/utils.d.ts +0 -40
  229. package/build/src/axis-chart.d.ts +0 -10
  230. package/build/src/chart.d.ts +0 -14
  231. package/build/src/charts/alluvial.d.ts +0 -8
  232. package/build/src/charts/area-stacked.d.ts +0 -6
  233. package/build/src/charts/area.d.ts +0 -6
  234. package/build/src/charts/bar-grouped.d.ts +0 -6
  235. package/build/src/charts/bar-simple.d.ts +0 -6
  236. package/build/src/charts/bar-stacked.d.ts +0 -6
  237. package/build/src/charts/boxplot.d.ts +0 -8
  238. package/build/src/charts/bubble.d.ts +0 -6
  239. package/build/src/charts/bullet.d.ts +0 -8
  240. package/build/src/charts/choropleth.d.ts +0 -10
  241. package/build/src/charts/circle-pack.d.ts +0 -8
  242. package/build/src/charts/combo.d.ts +0 -7
  243. package/build/src/charts/donut.d.ts +0 -6
  244. package/build/src/charts/gauge.d.ts +0 -8
  245. package/build/src/charts/heatmap.d.ts +0 -10
  246. package/build/src/charts/histogram.d.ts +0 -8
  247. package/build/src/charts/index.d.ts +0 -25
  248. package/build/src/charts/line.d.ts +0 -6
  249. package/build/src/charts/lollipop.d.ts +0 -6
  250. package/build/src/charts/meter.d.ts +0 -8
  251. package/build/src/charts/pie.d.ts +0 -8
  252. package/build/src/charts/radar.d.ts +0 -8
  253. package/build/src/charts/scatter.d.ts +0 -6
  254. package/build/src/charts/tree.d.ts +0 -8
  255. package/build/src/charts/treemap.d.ts +0 -8
  256. package/build/src/charts/wordcloud.d.ts +0 -8
  257. package/build/src/components/axes/axis.d.ts +0 -24
  258. package/build/src/components/axes/grid-brush.d.ts +0 -10
  259. package/build/src/components/axes/grid.d.ts +0 -22
  260. package/build/src/components/axes/ruler-binned.d.ts +0 -7
  261. package/build/src/components/axes/ruler.d.ts +0 -27
  262. package/build/src/components/axes/two-dimensional-axes.d.ts +0 -16
  263. package/build/src/components/axes/zero-line.d.ts +0 -7
  264. package/build/src/components/axes/zoom-bar.d.ts +0 -28
  265. package/build/src/components/diagrams/buildPaths.d.ts +0 -63
  266. package/build/src/components/essentials/canvas-chart-clip.d.ts +0 -6
  267. package/build/src/components/essentials/modal.d.ts +0 -14
  268. package/build/src/components/essentials/title-meter.d.ts +0 -30
  269. package/build/src/components/essentials/title.d.ts +0 -20
  270. package/build/src/components/graphs/alluvial.d.ts +0 -14
  271. package/build/src/components/graphs/area-stacked.d.ts +0 -11
  272. package/build/src/components/graphs/area.d.ts +0 -12
  273. package/build/src/components/graphs/boxplot.d.ts +0 -9
  274. package/build/src/components/graphs/bullet.d.ts +0 -12
  275. package/build/src/components/graphs/choropleth.d.ts +0 -6
  276. package/build/src/components/graphs/histogram.d.ts +0 -12
  277. package/build/src/components/graphs/line.d.ts +0 -11
  278. package/build/src/components/graphs/lollipop.d.ts +0 -14
  279. package/build/src/components/graphs/meter.d.ts +0 -10
  280. package/build/src/components/graphs/scatter.d.ts +0 -21
  281. package/build/src/components/graphs/skeleton-lines.d.ts +0 -11
  282. package/build/src/components/graphs/tree.d.ts +0 -9
  283. package/build/src/components/graphs/treemap.d.ts +0 -11
  284. package/build/src/components/index.d.ts +0 -53
  285. package/build/src/components/layout/layout.d.ts +0 -17
  286. package/build/src/components/layout/spacer.d.ts +0 -5
  287. package/build/src/configuration.d.ts +0 -46
  288. package/build/src/interfaces/charts.d.ts +0 -512
  289. package/build/src/interfaces/index.d.ts +0 -7
  290. package/build/src/interfaces/layout.d.ts +0 -15
  291. package/build/src/model/heatmap.d.ts +0 -52
  292. package/build/src/model/meter.d.ts +0 -19
  293. package/build/src/model/model.d.ts +0 -107
  294. package/build/src/services/angle-utils.d.ts +0 -205
  295. package/build/src/services/color-scale-utils.d.ts +0 -10
  296. package/build/src/services/curves.d.ts +0 -25
  297. package/build/src/services/essentials/dom-utils.d.ts +0 -39
  298. package/build/src/services/essentials/events.d.ts +0 -8
  299. package/build/src/services/essentials/files.d.ts +0 -6
  300. package/build/src/services/essentials/transitions.d.ts +0 -13
  301. package/build/src/services/index.d.ts +0 -10
  302. package/build/src/services/scales-cartesian.d.ts +0 -86
  303. package/build/src/services/service.d.ts +0 -10
  304. package/build/src/services/time-series.d.ts +0 -787
  305. package/build/src/tools.d.ts +0 -2427
  306. package/build/stories/all.stories.d.ts +0 -1
  307. package/build/stories/tutorials/api.d.ts +0 -4
  308. package/build/stories/tutorials/color-palette.d.ts +0 -4
  309. package/build/stories/tutorials/combo-charts.d.ts +0 -4
  310. package/build/stories/tutorials/dual-axes.d.ts +0 -4
  311. package/build/stories/tutorials/event-listeners.d.ts +0 -4
  312. package/build/stories/tutorials/getting-started/angular.d.ts +0 -5
  313. package/build/stories/tutorials/getting-started/react.d.ts +0 -5
  314. package/build/stories/tutorials/getting-started/vanilla.d.ts +0 -5
  315. package/build/stories/tutorials/getting-started/vue.d.ts +0 -5
  316. package/build/stories/tutorials/index.d.ts +0 -11
  317. package/build/stories/tutorials/tabular-data-format.d.ts +0 -4
  318. package/build/stories/tutorials/themes.d.ts +0 -4
  319. package/build/stories/tutorials.stories.d.ts +0 -1
  320. package/bundle.js +0 -17
  321. package/chart.d.ts +0 -14
  322. package/chart.js +0 -198
  323. package/chart.js.map +0 -1
  324. package/charts/alluvial.d.ts +0 -8
  325. package/charts/alluvial.js +0 -46
  326. package/charts/alluvial.js.map +0 -1
  327. package/charts/area-stacked.d.ts +0 -6
  328. package/charts/area-stacked.js +0 -55
  329. package/charts/area-stacked.js.map +0 -1
  330. package/charts/area.d.ts +0 -6
  331. package/charts/area.js +0 -54
  332. package/charts/area.js.map +0 -1
  333. package/charts/bar-grouped.d.ts +0 -6
  334. package/charts/bar-grouped.js +0 -49
  335. package/charts/bar-grouped.js.map +0 -1
  336. package/charts/bar-simple.d.ts +0 -6
  337. package/charts/bar-simple.js +0 -49
  338. package/charts/bar-simple.js.map +0 -1
  339. package/charts/bar-stacked.d.ts +0 -6
  340. package/charts/bar-stacked.js +0 -50
  341. package/charts/bar-stacked.js.map +0 -1
  342. package/charts/boxplot.d.ts +0 -8
  343. package/charts/boxplot.js +0 -55
  344. package/charts/boxplot.js.map +0 -1
  345. package/charts/bubble.d.ts +0 -6
  346. package/charts/bubble.js +0 -49
  347. package/charts/bubble.js.map +0 -1
  348. package/charts/bullet.d.ts +0 -8
  349. package/charts/bullet.js +0 -50
  350. package/charts/bullet.js.map +0 -1
  351. package/charts/choropleth.d.ts +0 -10
  352. package/charts/choropleth.js +0 -141
  353. package/charts/choropleth.js.map +0 -1
  354. package/charts/circle-pack.d.ts +0 -8
  355. package/charts/circle-pack.js +0 -45
  356. package/charts/circle-pack.js.map +0 -1
  357. package/charts/combo.d.ts +0 -7
  358. package/charts/combo.js +0 -132
  359. package/charts/combo.js.map +0 -1
  360. package/charts/donut.d.ts +0 -6
  361. package/charts/donut.js +0 -46
  362. package/charts/donut.js.map +0 -1
  363. package/charts/gauge.d.ts +0 -8
  364. package/charts/gauge.js +0 -42
  365. package/charts/gauge.js.map +0 -1
  366. package/charts/heatmap.d.ts +0 -10
  367. package/charts/heatmap.js +0 -142
  368. package/charts/heatmap.js.map +0 -1
  369. package/charts/histogram.d.ts +0 -8
  370. package/charts/histogram.js +0 -48
  371. package/charts/histogram.js.map +0 -1
  372. package/charts/index.d.ts +0 -25
  373. package/charts/index.js +0 -26
  374. package/charts/index.js.map +0 -1
  375. package/charts/line.d.ts +0 -6
  376. package/charts/line.js +0 -48
  377. package/charts/line.js.map +0 -1
  378. package/charts/lollipop.d.ts +0 -6
  379. package/charts/lollipop.js +0 -50
  380. package/charts/lollipop.js.map +0 -1
  381. package/charts/meter.d.ts +0 -8
  382. package/charts/meter.js +0 -94
  383. package/charts/meter.js.map +0 -1
  384. package/charts/pie.d.ts +0 -8
  385. package/charts/pie.js +0 -55
  386. package/charts/pie.js.map +0 -1
  387. package/charts/radar.d.ts +0 -8
  388. package/charts/radar.js +0 -44
  389. package/charts/radar.js.map +0 -1
  390. package/charts/scatter.d.ts +0 -6
  391. package/charts/scatter.js +0 -49
  392. package/charts/scatter.js.map +0 -1
  393. package/charts/tree.d.ts +0 -8
  394. package/charts/tree.js +0 -47
  395. package/charts/tree.js.map +0 -1
  396. package/charts/treemap.d.ts +0 -8
  397. package/charts/treemap.js +0 -43
  398. package/charts/treemap.js.map +0 -1
  399. package/charts/wordcloud.d.ts +0 -8
  400. package/charts/wordcloud.js +0 -49
  401. package/charts/wordcloud.js.map +0 -1
  402. package/components/axes/axis.d.ts +0 -24
  403. package/components/axes/axis.js +0 -587
  404. package/components/axes/axis.js.map +0 -1
  405. package/components/axes/chart-clip.d.ts +0 -13
  406. package/components/axes/chart-clip.js +0 -63
  407. package/components/axes/chart-clip.js.map +0 -1
  408. package/components/axes/grid-brush.js +0 -170
  409. package/components/axes/grid-brush.js.map +0 -1
  410. package/components/axes/grid.js +0 -235
  411. package/components/axes/grid.js.map +0 -1
  412. package/components/axes/hover-axis.d.ts +0 -10
  413. package/components/axes/hover-axis.js +0 -243
  414. package/components/axes/hover-axis.js.map +0 -1
  415. package/components/axes/ruler-binned.js +0 -136
  416. package/components/axes/ruler-binned.js.map +0 -1
  417. package/components/axes/ruler-stacked.d.ts +0 -4
  418. package/components/axes/ruler-stacked.js +0 -26
  419. package/components/axes/ruler-stacked.js.map +0 -1
  420. package/components/axes/ruler.js +0 -209
  421. package/components/axes/ruler.js.map +0 -1
  422. package/components/axes/toolbar.d.ts +0 -40
  423. package/components/axes/toolbar.js +0 -558
  424. package/components/axes/toolbar.js.map +0 -1
  425. package/components/axes/two-dimensional-axes.js +0 -134
  426. package/components/axes/two-dimensional-axes.js.map +0 -1
  427. package/components/axes/zero-line.js +0 -76
  428. package/components/axes/zero-line.js.map +0 -1
  429. package/components/axes/zoom-bar.js +0 -490
  430. package/components/axes/zoom-bar.js.map +0 -1
  431. package/components/component.d.ts +0 -28
  432. package/components/component.js +0 -102
  433. package/components/component.js.map +0 -1
  434. package/components/diagrams/buildPaths.d.ts +0 -39
  435. package/components/diagrams/buildPaths.js +0 -71
  436. package/components/diagrams/buildPaths.js.map +0 -1
  437. package/components/diagrams/markerDefinitions.d.ts +0 -37
  438. package/components/diagrams/markerDefinitions.js +0 -38
  439. package/components/diagrams/markerDefinitions.js.map +0 -1
  440. package/components/essentials/canvas-chart-clip.js +0 -46
  441. package/components/essentials/canvas-chart-clip.js.map +0 -1
  442. package/components/essentials/color-scale-legend.d.ts +0 -20
  443. package/components/essentials/color-scale-legend.js +0 -237
  444. package/components/essentials/color-scale-legend.js.map +0 -1
  445. package/components/essentials/geo-projection.d.ts +0 -16
  446. package/components/essentials/geo-projection.js +0 -160
  447. package/components/essentials/geo-projection.js.map +0 -1
  448. package/components/essentials/highlights.d.ts +0 -13
  449. package/components/essentials/highlights.js +0 -196
  450. package/components/essentials/highlights.js.map +0 -1
  451. package/components/essentials/legend.d.ts +0 -11
  452. package/components/essentials/legend.js +0 -428
  453. package/components/essentials/legend.js.map +0 -1
  454. package/components/essentials/modal.js +0 -89
  455. package/components/essentials/modal.js.map +0 -1
  456. package/components/essentials/threshold.d.ts +0 -20
  457. package/components/essentials/threshold.js +0 -306
  458. package/components/essentials/threshold.js.map +0 -1
  459. package/components/essentials/title-meter.js +0 -279
  460. package/components/essentials/title-meter.js.map +0 -1
  461. package/components/essentials/title.js +0 -138
  462. package/components/essentials/title.js.map +0 -1
  463. package/components/essentials/tooltip-axis.d.ts +0 -4
  464. package/components/essentials/tooltip-axis.js +0 -142
  465. package/components/essentials/tooltip-axis.js.map +0 -1
  466. package/components/essentials/tooltip.d.ts +0 -22
  467. package/components/essentials/tooltip.js +0 -263
  468. package/components/essentials/tooltip.js.map +0 -1
  469. package/components/graphs/alluvial.js +0 -535
  470. package/components/graphs/alluvial.js.map +0 -1
  471. package/components/graphs/area-stacked.js +0 -131
  472. package/components/graphs/area-stacked.js.map +0 -1
  473. package/components/graphs/area.d.ts +0 -12
  474. package/components/graphs/area.js +0 -260
  475. package/components/graphs/area.js.map +0 -1
  476. package/components/graphs/bar-grouped.d.ts +0 -22
  477. package/components/graphs/bar-grouped.js +0 -312
  478. package/components/graphs/bar-grouped.js.map +0 -1
  479. package/components/graphs/bar-simple.d.ts +0 -12
  480. package/components/graphs/bar-simple.js +0 -218
  481. package/components/graphs/bar-simple.js.map +0 -1
  482. package/components/graphs/bar-stacked.d.ts +0 -13
  483. package/components/graphs/bar-stacked.js +0 -281
  484. package/components/graphs/bar-stacked.js.map +0 -1
  485. package/components/graphs/bar.d.ts +0 -5
  486. package/components/graphs/bar.js +0 -58
  487. package/components/graphs/bar.js.map +0 -1
  488. package/components/graphs/boxplot.js +0 -485
  489. package/components/graphs/boxplot.js.map +0 -1
  490. package/components/graphs/bubble.d.ts +0 -13
  491. package/components/graphs/bubble.js +0 -113
  492. package/components/graphs/bubble.js.map +0 -1
  493. package/components/graphs/bullet.d.ts +0 -12
  494. package/components/graphs/bullet.js +0 -395
  495. package/components/graphs/bullet.js.map +0 -1
  496. package/components/graphs/choropleth.js +0 -106
  497. package/components/graphs/choropleth.js.map +0 -1
  498. package/components/graphs/circle-pack.d.ts +0 -19
  499. package/components/graphs/circle-pack.js +0 -388
  500. package/components/graphs/circle-pack.js.map +0 -1
  501. package/components/graphs/donut.d.ts +0 -9
  502. package/components/graphs/donut.js +0 -116
  503. package/components/graphs/donut.js.map +0 -1
  504. package/components/graphs/gauge.d.ts +0 -27
  505. package/components/graphs/gauge.js +0 -347
  506. package/components/graphs/gauge.js.map +0 -1
  507. package/components/graphs/heatmap.d.ts +0 -25
  508. package/components/graphs/heatmap.js +0 -388
  509. package/components/graphs/heatmap.js.map +0 -1
  510. package/components/graphs/histogram.d.ts +0 -12
  511. package/components/graphs/histogram.js +0 -220
  512. package/components/graphs/histogram.js.map +0 -1
  513. package/components/graphs/line.d.ts +0 -11
  514. package/components/graphs/line.js +0 -179
  515. package/components/graphs/line.js.map +0 -1
  516. package/components/graphs/lollipop.d.ts +0 -14
  517. package/components/graphs/lollipop.js +0 -164
  518. package/components/graphs/lollipop.js.map +0 -1
  519. package/components/graphs/meter.js +0 -284
  520. package/components/graphs/meter.js.map +0 -1
  521. package/components/graphs/pie.d.ts +0 -16
  522. package/components/graphs/pie.js +0 -438
  523. package/components/graphs/pie.js.map +0 -1
  524. package/components/graphs/radar.d.ts +0 -25
  525. package/components/graphs/radar.js +0 -737
  526. package/components/graphs/radar.js.map +0 -1
  527. package/components/graphs/scatter-stacked.d.ts +0 -8
  528. package/components/graphs/scatter-stacked.js +0 -140
  529. package/components/graphs/scatter-stacked.js.map +0 -1
  530. package/components/graphs/scatter.d.ts +0 -21
  531. package/components/graphs/scatter.js +0 -360
  532. package/components/graphs/scatter.js.map +0 -1
  533. package/components/graphs/skeleton-lines.d.ts +0 -11
  534. package/components/graphs/skeleton-lines.js +0 -84
  535. package/components/graphs/skeleton-lines.js.map +0 -1
  536. package/components/graphs/skeleton.d.ts +0 -22
  537. package/components/graphs/skeleton.js +0 -272
  538. package/components/graphs/skeleton.js.map +0 -1
  539. package/components/graphs/tree.js +0 -262
  540. package/components/graphs/tree.js.map +0 -1
  541. package/components/graphs/treemap.d.ts +0 -11
  542. package/components/graphs/treemap.js +0 -344
  543. package/components/graphs/treemap.js.map +0 -1
  544. package/components/graphs/wordcloud.d.ts +0 -12
  545. package/components/graphs/wordcloud.js +0 -268
  546. package/components/graphs/wordcloud.js.map +0 -1
  547. package/components/index.d.ts +0 -53
  548. package/components/index.js +0 -59
  549. package/components/index.js.map +0 -1
  550. package/components/layout/layout.js +0 -191
  551. package/components/layout/layout.js.map +0 -1
  552. package/components/layout/spacer.d.ts +0 -5
  553. package/components/layout/spacer.js +0 -33
  554. package/components/layout/spacer.js.map +0 -1
  555. package/configuration-non-customizable.d.ts +0 -263
  556. package/configuration-non-customizable.js +0 -276
  557. package/configuration-non-customizable.js.map +0 -1
  558. package/configuration.js +0 -552
  559. package/configuration.js.map +0 -1
  560. package/demo/create-codesandbox.d.ts +0 -65
  561. package/demo/create-codesandbox.js +0 -173
  562. package/demo/create-codesandbox.js.map +0 -1
  563. package/demo/data/CHART_TYPES.d.ts +0 -128
  564. package/demo/data/CHART_TYPES.js +0 -128
  565. package/demo/data/CHART_TYPES.js.map +0 -1
  566. package/demo/data/alluvial.d.ts +0 -109
  567. package/demo/data/alluvial.js +0 -328
  568. package/demo/data/alluvial.js.map +0 -1
  569. package/demo/data/area.d.ts +0 -224
  570. package/demo/data/area.js +0 -330
  571. package/demo/data/area.js.map +0 -1
  572. package/demo/data/bar.d.ts +0 -681
  573. package/demo/data/bar.js +0 -915
  574. package/demo/data/bar.js.map +0 -1
  575. package/demo/data/boxplot.d.ts +0 -34
  576. package/demo/data/boxplot.js +0 -48
  577. package/demo/data/boxplot.js.map +0 -1
  578. package/demo/data/bubble.d.ts +0 -141
  579. package/demo/data/bubble.js +0 -182
  580. package/demo/data/bubble.js.map +0 -1
  581. package/demo/data/bullet.d.ts +0 -24
  582. package/demo/data/bullet.js +0 -55
  583. package/demo/data/bullet.js.map +0 -1
  584. package/demo/data/bundle.js +0 -1
  585. package/demo/data/choropleth.d.ts +0 -738
  586. package/demo/data/choropleth.js +0 -1684
  587. package/demo/data/choropleth.js.map +0 -1
  588. package/demo/data/circle-pack.d.ts +0 -91
  589. package/demo/data/circle-pack.js +0 -224
  590. package/demo/data/circle-pack.js.map +0 -1
  591. package/demo/data/combo.d.ts +0 -482
  592. package/demo/data/combo.js +0 -571
  593. package/demo/data/combo.js.map +0 -1
  594. package/demo/data/donut.d.ts +0 -64
  595. package/demo/data/donut.js +0 -60
  596. package/demo/data/donut.js.map +0 -1
  597. package/demo/data/gauge.d.ts +0 -40
  598. package/demo/data/gauge.js +0 -41
  599. package/demo/data/gauge.js.map +0 -1
  600. package/demo/data/heatmap.d.ts +0 -125
  601. package/demo/data/heatmap.js +0 -1149
  602. package/demo/data/heatmap.js.map +0 -1
  603. package/demo/data/high-scale.d.ts +0 -1
  604. package/demo/data/high-scale.js +0 -5
  605. package/demo/data/high-scale.js.map +0 -1
  606. package/demo/data/hightlight.d.ts +0 -40
  607. package/demo/data/hightlight.js +0 -44
  608. package/demo/data/hightlight.js.map +0 -1
  609. package/demo/data/histogram.d.ts +0 -63
  610. package/demo/data/histogram.js +0 -312
  611. package/demo/data/histogram.js.map +0 -1
  612. package/demo/data/index.d.ts +0 -33
  613. package/demo/data/index.js +0 -1305
  614. package/demo/data/index.js.map +0 -1
  615. package/demo/data/line.d.ts +0 -361
  616. package/demo/data/line.js +0 -480
  617. package/demo/data/line.js.map +0 -1
  618. package/demo/data/lollipop.d.ts +0 -39
  619. package/demo/data/lollipop.js +0 -37
  620. package/demo/data/lollipop.js.map +0 -1
  621. package/demo/data/meter.d.ts +0 -95
  622. package/demo/data/meter.js +0 -114
  623. package/demo/data/meter.js.map +0 -1
  624. package/demo/data/pie.d.ts +0 -46
  625. package/demo/data/pie.js +0 -55
  626. package/demo/data/pie.js.map +0 -1
  627. package/demo/data/radar.d.ts +0 -63
  628. package/demo/data/radar.js +0 -118
  629. package/demo/data/radar.js.map +0 -1
  630. package/demo/data/scatter.d.ts +0 -118
  631. package/demo/data/scatter.js +0 -143
  632. package/demo/data/scatter.js.map +0 -1
  633. package/demo/data/step.d.ts +0 -96
  634. package/demo/data/step.js +0 -27
  635. package/demo/data/step.js.map +0 -1
  636. package/demo/data/time-series-axis.js +0 -436
  637. package/demo/data/time-series-axis.js.map +0 -1
  638. package/demo/data/toolbar.d.ts +0 -12
  639. package/demo/data/toolbar.js +0 -67
  640. package/demo/data/toolbar.js.map +0 -1
  641. package/demo/data/topojson-110.d.ts +0 -360
  642. package/demo/data/topojson-110.js +0 -40724
  643. package/demo/data/topojson-110.js.map +0 -1
  644. package/demo/data/tree.d.ts +0 -30
  645. package/demo/data/tree.js +0 -209
  646. package/demo/data/tree.js.map +0 -1
  647. package/demo/data/treemap.d.ts +0 -15
  648. package/demo/data/treemap.js +0 -93
  649. package/demo/data/treemap.js.map +0 -1
  650. package/demo/data/wordcloud.d.ts +0 -14
  651. package/demo/data/wordcloud.js +0 -105
  652. package/demo/data/wordcloud.js.map +0 -1
  653. package/demo/data/zoom-bar.d.ts +0 -94
  654. package/demo/data/zoom-bar.js +0 -187
  655. package/demo/data/zoom-bar.js.map +0 -1
  656. package/demo/styles.css.map +0 -1
  657. package/demo/styles.min.css +0 -1
  658. package/demo/styles.min.css.map +0 -1
  659. package/demo/tsconfig.tsbuildinfo +0 -1451
  660. package/demo/utils.d.ts +0 -24
  661. package/demo/utils.js +0 -222
  662. package/demo/utils.js.map +0 -1
  663. package/index.d.ts +0 -4
  664. package/index.js +0 -6
  665. package/index.js.map +0 -1
  666. package/interfaces/a11y.d.ts +0 -12
  667. package/interfaces/a11y.js +0 -14
  668. package/interfaces/a11y.js.map +0 -1
  669. package/interfaces/axis-scales.d.ts +0 -201
  670. package/interfaces/axis-scales.js +0 -1
  671. package/interfaces/axis-scales.js.map +0 -1
  672. package/interfaces/charts.js +0 -1
  673. package/interfaces/charts.js.map +0 -1
  674. package/interfaces/components.d.ts +0 -231
  675. package/interfaces/components.js +0 -1
  676. package/interfaces/components.js.map +0 -1
  677. package/interfaces/enums.d.ts +0 -261
  678. package/interfaces/enums.js +0 -296
  679. package/interfaces/enums.js.map +0 -1
  680. package/interfaces/events.d.ts +0 -239
  681. package/interfaces/events.js +0 -269
  682. package/interfaces/events.js.map +0 -1
  683. package/interfaces/index.d.ts +0 -7
  684. package/interfaces/index.js +0 -3
  685. package/interfaces/index.js.map +0 -1
  686. package/interfaces/layout.js +0 -1
  687. package/interfaces/layout.js.map +0 -1
  688. package/interfaces/model.d.ts +0 -35
  689. package/interfaces/model.js +0 -1
  690. package/interfaces/model.js.map +0 -1
  691. package/interfaces/truncation.d.ts +0 -17
  692. package/interfaces/truncation.js +0 -1
  693. package/interfaces/truncation.js.map +0 -1
  694. package/model/alluvial.d.ts +0 -8
  695. package/model/alluvial.js +0 -47
  696. package/model/alluvial.js.map +0 -1
  697. package/model/binned-charts.d.ts +0 -7
  698. package/model/binned-charts.js +0 -52
  699. package/model/binned-charts.js.map +0 -1
  700. package/model/boxplot.d.ts +0 -14
  701. package/model/boxplot.js +0 -174
  702. package/model/boxplot.js.map +0 -1
  703. package/model/bullet.d.ts +0 -14
  704. package/model/bullet.js +0 -74
  705. package/model/bullet.js.map +0 -1
  706. package/model/cartesian-charts.d.ts +0 -24
  707. package/model/cartesian-charts.js +0 -202
  708. package/model/cartesian-charts.js.map +0 -1
  709. package/model/choropleth.d.ts +0 -29
  710. package/model/choropleth.js +0 -105
  711. package/model/choropleth.js.map +0 -1
  712. package/model/circle-pack.d.ts +0 -36
  713. package/model/circle-pack.js +0 -189
  714. package/model/circle-pack.js.map +0 -1
  715. package/model/gauge.d.ts +0 -9
  716. package/model/gauge.js +0 -51
  717. package/model/gauge.js.map +0 -1
  718. package/model/heatmap.js +0 -220
  719. package/model/heatmap.js.map +0 -1
  720. package/model/meter.js +0 -118
  721. package/model/meter.js.map +0 -1
  722. package/model/model.js +0 -712
  723. package/model/model.js.map +0 -1
  724. package/model/pie.d.ts +0 -9
  725. package/model/pie.js +0 -66
  726. package/model/pie.js.map +0 -1
  727. package/model/radar.d.ts +0 -7
  728. package/model/radar.js +0 -52
  729. package/model/radar.js.map +0 -1
  730. package/model/tree.d.ts +0 -14
  731. package/model/tree.js +0 -56
  732. package/model/tree.js.map +0 -1
  733. package/model/treemap.d.ts +0 -8
  734. package/model/treemap.js +0 -44
  735. package/model/treemap.js.map +0 -1
  736. package/model/wordcloud.d.ts +0 -7
  737. package/model/wordcloud.js +0 -47
  738. package/model/wordcloud.js.map +0 -1
  739. package/polyfills.d.ts +0 -0
  740. package/polyfills.js +0 -29
  741. package/polyfills.js.map +0 -1
  742. package/services/angle-utils.js +0 -82
  743. package/services/angle-utils.js.map +0 -1
  744. package/services/canvas-zoom.d.ts +0 -11
  745. package/services/canvas-zoom.js +0 -72
  746. package/services/canvas-zoom.js.map +0 -1
  747. package/services/color-scale-utils.js +0 -64
  748. package/services/color-scale-utils.js.map +0 -1
  749. package/services/curves.d.ts +0 -25
  750. package/services/curves.js +0 -77
  751. package/services/curves.js.map +0 -1
  752. package/services/essentials/dom-utils.d.ts +0 -39
  753. package/services/essentials/dom-utils.js +0 -423
  754. package/services/essentials/dom-utils.js.map +0 -1
  755. package/services/essentials/events.d.ts +0 -8
  756. package/services/essentials/events.js +0 -53
  757. package/services/essentials/events.js.map +0 -1
  758. package/services/essentials/files.d.ts +0 -6
  759. package/services/essentials/files.js +0 -60
  760. package/services/essentials/files.js.map +0 -1
  761. package/services/essentials/gradient-utils.d.ts +0 -6
  762. package/services/essentials/gradient-utils.js +0 -85
  763. package/services/essentials/gradient-utils.js.map +0 -1
  764. package/services/essentials/transitions.d.ts +0 -13
  765. package/services/essentials/transitions.js +0 -51
  766. package/services/essentials/transitions.js.map +0 -1
  767. package/services/index.d.ts +0 -10
  768. package/services/index.js +0 -13
  769. package/services/index.js.map +0 -1
  770. package/services/scales-cartesian.d.ts +0 -86
  771. package/services/scales-cartesian.js +0 -656
  772. package/services/scales-cartesian.js.map +0 -1
  773. package/services/service.d.ts +0 -10
  774. package/services/service.js +0 -24
  775. package/services/service.js.map +0 -1
  776. package/services/time-series.js +0 -147
  777. package/services/time-series.js.map +0 -1
  778. package/services/zoom.d.ts +0 -21
  779. package/services/zoom.js +0 -217
  780. package/services/zoom.js.map +0 -1
  781. package/styles/components/_marker.scss +0 -7
  782. package/styles/components/diagrams/index.scss +0 -4
  783. package/styles.css +0 -6325
  784. package/styles.css.map +0 -1
  785. package/styles.min.css +0 -1
  786. package/styles.min.css.map +0 -1
  787. package/tools.js +0 -348
  788. package/tools.js.map +0 -1
  789. package/tsconfig.tsbuildinfo +0 -3816
  790. /package/{build/src → dist}/components/axes/ruler-stacked.d.ts +0 -0
  791. /package/{build/src → dist}/components/diagrams/markerDefinitions.d.ts +0 -0
  792. /package/{build/src → dist}/components/essentials/tooltip-axis.d.ts +0 -0
  793. /package/{build/demo/data → dist/demo/charts}/alluvial.d.ts +0 -0
  794. /package/{build/demo/data → dist/demo/charts}/area.d.ts +0 -0
  795. /package/{build/demo/data → dist/demo/charts}/bar.d.ts +0 -0
  796. /package/{build/demo/data → dist/demo/charts}/boxplot.d.ts +0 -0
  797. /package/{build/demo/data → dist/demo/charts}/bubble.d.ts +0 -0
  798. /package/{build/demo/data → dist/demo/charts}/bullet.d.ts +0 -0
  799. /package/{build/demo/data/CHART_TYPES.d.ts → dist/demo/charts/chart-types.d.ts} +0 -0
  800. /package/{build/demo/data → dist/demo/charts}/choropleth.d.ts +0 -0
  801. /package/{build/demo/data → dist/demo/charts}/circle-pack.d.ts +0 -0
  802. /package/{build/demo/data → dist/demo/charts}/combo.d.ts +0 -0
  803. /package/{build/demo/data → dist/demo/charts}/donut.d.ts +0 -0
  804. /package/{build/demo/data → dist/demo/charts}/gauge.d.ts +0 -0
  805. /package/{build/demo/data → dist/demo/charts}/heatmap.d.ts +0 -0
  806. /package/{build/demo/data → dist/demo/charts}/hightlight.d.ts +0 -0
  807. /package/{build/demo/data → dist/demo/charts}/histogram.d.ts +0 -0
  808. /package/{build/demo/data → dist/demo/charts}/line.d.ts +0 -0
  809. /package/{build/demo/data → dist/demo/charts}/lollipop.d.ts +0 -0
  810. /package/{build/demo/data → dist/demo/charts}/meter.d.ts +0 -0
  811. /package/{build/demo/data → dist/demo/charts}/pie.d.ts +0 -0
  812. /package/{build/demo/data → dist/demo/charts}/radar.d.ts +0 -0
  813. /package/{build/demo/data → dist/demo/charts}/scatter.d.ts +0 -0
  814. /package/{build/demo/data → dist/demo/charts}/step.d.ts +0 -0
  815. /package/{build/demo/data → dist/demo/charts}/toolbar.d.ts +0 -0
  816. /package/{build/demo/data → dist/demo/charts}/topojson-110.d.ts +0 -0
  817. /package/{build/demo/data → dist/demo/charts}/tree.d.ts +0 -0
  818. /package/{build/demo/data → dist/demo/charts}/treemap.d.ts +0 -0
  819. /package/{build/demo/data → dist/demo/charts}/wordcloud.d.ts +0 -0
  820. /package/{build/src → dist}/interfaces/a11y.d.ts +0 -0
  821. /package/{build/src → dist}/interfaces/enums.d.ts +0 -0
  822. /package/{build/src → dist}/interfaces/events.d.ts +0 -0
  823. /package/{build/src → dist}/model/alluvial.d.ts +0 -0
  824. /package/{build/src → dist}/model/boxplot.d.ts +0 -0
  825. /package/{build/src → dist}/model/bullet.d.ts +0 -0
  826. /package/{build/src → dist}/model/choropleth.d.ts +0 -0
  827. /package/{build/src → dist}/model/circle-pack.d.ts +0 -0
  828. /package/{build/src → dist}/model/gauge.d.ts +0 -0
  829. /package/{build/src → dist}/model/pie.d.ts +0 -0
  830. /package/{build/src → dist}/model/radar.d.ts +0 -0
  831. /package/{build/src → dist}/model/tree.d.ts +0 -0
  832. /package/{build/src → dist}/model/treemap.d.ts +0 -0
  833. /package/{build/src → dist}/model/wordcloud.d.ts +0 -0
  834. /package/{build/src → dist}/services/canvas-zoom.d.ts +0 -0
  835. /package/{styles → dist/styles}/_type.scss +0 -0
  836. /package/{styles → dist/styles}/components/_axis.scss +0 -0
  837. /package/{styles → dist/styles}/components/_callouts.scss +0 -0
  838. /package/{styles → dist/styles}/components/_grid-brush.scss +0 -0
  839. /package/{styles → dist/styles}/components/_highlights.scss +0 -0
  840. /package/{styles → dist/styles}/components/_layout.scss +0 -0
  841. /package/{styles → dist/styles}/components/_legend.scss +0 -0
  842. /package/{styles → dist/styles}/components/_modal.scss +0 -0
  843. /package/{styles → dist/styles}/components/_ruler.scss +0 -0
  844. /package/{styles → dist/styles}/components/_skeleton-lines.scss +0 -0
  845. /package/{styles → dist/styles}/components/_skeleton.scss +0 -0
  846. /package/{styles → dist/styles}/components/_threshold.scss +0 -0
  847. /package/{styles → dist/styles}/components/_title.scss +0 -0
  848. /package/{styles → dist/styles}/components/_toolbar.scss +0 -0
  849. /package/{styles → dist/styles}/components/_zero-line.scss +0 -0
  850. /package/{styles → dist/styles}/components/_zoom-bar.scss +0 -0
  851. /package/{styles → dist/styles}/components/diagrams/_marker.scss +0 -0
  852. /package/{styles → dist/styles}/components/index.scss +0 -0
  853. /package/{styles → dist/styles}/graphs/_area.scss +0 -0
  854. /package/{styles → dist/styles}/graphs/_bubble.scss +0 -0
  855. /package/{styles → dist/styles}/graphs/_choropleth.scss +0 -0
  856. /package/{styles → dist/styles}/graphs/_donut.scss +0 -0
  857. /package/{styles → dist/styles}/graphs/_line.scss +0 -0
  858. /package/{styles → dist/styles}/graphs/_lollipop.scss +0 -0
  859. /package/{styles → dist/styles}/graphs/_pie.scss +0 -0
  860. /package/{styles → dist/styles}/graphs/_scatter.scss +0 -0
  861. /package/{styles → dist/styles}/graphs/_treemap.scss +0 -0
  862. /package/{styles → dist/styles}/graphs/_wordcloud.scss +0 -0
  863. /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
- }