@carbon/charts 1.8.0 → 1.9.0-next.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 (972) hide show
  1. package/CHANGELOG.md +84 -155
  2. package/README.md +18 -20
  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/dist/components/axes/chart-clip.d.ts +13 -0
  53. package/dist/components/axes/grid-brush.d.ts +10 -0
  54. package/dist/components/axes/grid.d.ts +22 -0
  55. package/dist/components/axes/index.d.ts +12 -0
  56. package/dist/components/axes/ruler-binned.d.ts +10 -0
  57. package/dist/components/axes/ruler.d.ts +30 -0
  58. package/dist/components/axes/toolbar.d.ts +40 -0
  59. package/dist/components/axes/two-dimensional-axes.d.ts +16 -0
  60. package/dist/components/axes/zero-line.d.ts +7 -0
  61. package/dist/components/axes/zoom-bar.d.ts +31 -0
  62. package/dist/components/component.d.ts +30 -0
  63. package/dist/components/diagrams/buildPaths.d.ts +40 -0
  64. package/dist/components/diagrams/index.d.ts +2 -0
  65. package/dist/components/essentials/canvas-chart-clip.d.ts +6 -0
  66. package/dist/components/essentials/color-scale-legend.d.ts +20 -0
  67. package/dist/components/essentials/geo-projection.d.ts +16 -0
  68. package/dist/components/essentials/highlights.d.ts +13 -0
  69. package/dist/components/essentials/index.d.ts +11 -0
  70. package/dist/components/essentials/legend.d.ts +11 -0
  71. package/dist/components/essentials/modal.d.ts +14 -0
  72. package/dist/components/essentials/threshold.d.ts +20 -0
  73. package/dist/components/essentials/title-meter.d.ts +30 -0
  74. package/dist/components/essentials/title.d.ts +20 -0
  75. package/dist/components/essentials/tooltip.d.ts +22 -0
  76. package/dist/components/graphs/alluvial.d.ts +14 -0
  77. package/dist/components/graphs/area-stacked.d.ts +11 -0
  78. package/dist/components/graphs/area.d.ts +12 -0
  79. package/dist/components/graphs/bar-grouped.d.ts +22 -0
  80. package/dist/components/graphs/bar-simple.d.ts +12 -0
  81. package/dist/components/graphs/bar-stacked.d.ts +13 -0
  82. package/dist/components/graphs/bar.d.ts +5 -0
  83. package/dist/components/graphs/boxplot.d.ts +9 -0
  84. package/dist/components/graphs/bubble.d.ts +13 -0
  85. package/dist/components/graphs/bullet.d.ts +12 -0
  86. package/dist/components/graphs/choropleth.d.ts +6 -0
  87. package/dist/components/graphs/circle-pack.d.ts +19 -0
  88. package/dist/components/graphs/donut.d.ts +9 -0
  89. package/dist/components/graphs/gauge.d.ts +27 -0
  90. package/dist/components/graphs/heatmap.d.ts +25 -0
  91. package/dist/components/graphs/histogram.d.ts +12 -0
  92. package/dist/components/graphs/index.d.ts +28 -0
  93. package/dist/components/graphs/line.d.ts +11 -0
  94. package/dist/components/graphs/lollipop.d.ts +14 -0
  95. package/dist/components/graphs/meter.d.ts +10 -0
  96. package/dist/components/graphs/pie.d.ts +16 -0
  97. package/dist/components/graphs/radar.d.ts +25 -0
  98. package/dist/components/graphs/scatter-stacked.d.ts +8 -0
  99. package/dist/components/graphs/scatter.d.ts +21 -0
  100. package/dist/components/graphs/skeleton-lines.d.ts +12 -0
  101. package/dist/components/graphs/skeleton.d.ts +23 -0
  102. package/dist/components/graphs/tree.d.ts +9 -0
  103. package/dist/components/graphs/treemap.d.ts +11 -0
  104. package/dist/components/graphs/wordcloud.d.ts +12 -0
  105. package/dist/components/index.d.ts +6 -0
  106. package/dist/components/index.js +2 -0
  107. package/dist/components/index.js.map +1 -0
  108. package/dist/components/index.mjs +76 -0
  109. package/dist/components/index.mjs.map +1 -0
  110. package/dist/components/layout/index.d.ts +2 -0
  111. package/dist/components/layout/layout.d.ts +18 -0
  112. package/dist/components/layout/spacer.d.ts +5 -0
  113. package/dist/configuration-non-customizable.d.ts +263 -0
  114. package/dist/configuration.d.ts +48 -0
  115. package/dist/demo/charts/alluvial.d.ts +109 -0
  116. package/dist/demo/charts/area.d.ts +224 -0
  117. package/dist/demo/charts/bar.d.ts +681 -0
  118. package/dist/demo/charts/boxplot.d.ts +34 -0
  119. package/dist/demo/charts/bubble.d.ts +141 -0
  120. package/dist/demo/charts/bullet.d.ts +24 -0
  121. package/dist/demo/charts/chart-types.d.ts +128 -0
  122. package/dist/demo/charts/choropleth.d.ts +738 -0
  123. package/dist/demo/charts/circle-pack.d.ts +91 -0
  124. package/dist/demo/charts/combo.d.ts +482 -0
  125. package/dist/demo/charts/donut.d.ts +64 -0
  126. package/dist/demo/charts/gauge.d.ts +40 -0
  127. package/dist/demo/charts/heatmap.d.ts +125 -0
  128. package/dist/demo/charts/hightlight.d.ts +40 -0
  129. package/dist/demo/charts/histogram.d.ts +63 -0
  130. package/dist/demo/charts/index.d.ts +62 -0
  131. package/dist/demo/charts/line.d.ts +361 -0
  132. package/dist/demo/charts/lollipop.d.ts +39 -0
  133. package/dist/demo/charts/meter.d.ts +95 -0
  134. package/dist/demo/charts/pie.d.ts +46 -0
  135. package/dist/demo/charts/radar.d.ts +63 -0
  136. package/dist/demo/charts/scatter.d.ts +118 -0
  137. package/dist/demo/charts/step.d.ts +96 -0
  138. package/dist/demo/charts/time-series-axis.d.ts +293 -0
  139. package/dist/demo/charts/toolbar.d.ts +12 -0
  140. package/dist/demo/charts/topojson-110.d.ts +360 -0
  141. package/dist/demo/charts/tree.d.ts +30 -0
  142. package/dist/demo/charts/treemap.d.ts +15 -0
  143. package/dist/demo/charts/wordcloud.d.ts +14 -0
  144. package/dist/demo/charts/zoom-bar.d.ts +79 -0
  145. package/dist/demo/index.d.ts +4 -0
  146. package/dist/demo/index.js +470 -0
  147. package/dist/demo/index.js.map +1 -0
  148. package/dist/demo/index.mjs +51789 -0
  149. package/dist/demo/index.mjs.map +1 -0
  150. package/dist/demo/styles.css +30574 -0
  151. package/dist/demo/styles.css.map +1 -0
  152. package/dist/demo/utils/index.d.ts +2 -0
  153. package/dist/demo/utils/sandbox.d.ts +39 -0
  154. package/dist/demo/utils/story-widgets.d.ts +7 -0
  155. package/dist/enums-a96ef472.mjs +89 -0
  156. package/dist/enums-a96ef472.mjs.map +1 -0
  157. package/dist/enums-aa2efd99.js +2 -0
  158. package/dist/enums-aa2efd99.js.map +1 -0
  159. package/dist/index-822564ed.js +2 -0
  160. package/dist/index-822564ed.js.map +1 -0
  161. package/dist/index-a266373c.mjs +749 -0
  162. package/dist/index-a266373c.mjs.map +1 -0
  163. package/dist/index-becfb567.mjs +72 -0
  164. package/dist/index-becfb567.mjs.map +1 -0
  165. package/dist/index-d865d500.js +2 -0
  166. package/dist/index-d865d500.js.map +1 -0
  167. package/dist/index-ec554115.mjs +62 -0
  168. package/dist/index-ec554115.mjs.map +1 -0
  169. package/dist/index-f23685eb.js +2 -0
  170. package/dist/index-f23685eb.js.map +1 -0
  171. package/dist/index.d.ts +13 -0
  172. package/dist/index.js +2 -0
  173. package/dist/index.js.map +1 -0
  174. package/dist/index.mjs +1121 -0
  175. package/dist/index.mjs.map +1 -0
  176. package/dist/interfaces/axis-scales.d.ts +201 -0
  177. package/dist/interfaces/charts.d.ts +520 -0
  178. package/dist/interfaces/components.d.ts +231 -0
  179. package/dist/interfaces/index.d.ts +12 -0
  180. package/dist/interfaces/index.js +2 -0
  181. package/dist/interfaces/index.js.map +1 -0
  182. package/dist/interfaces/index.mjs +58 -0
  183. package/dist/interfaces/index.mjs.map +1 -0
  184. package/dist/interfaces/layout.d.ts +21 -0
  185. package/dist/interfaces/model.d.ts +35 -0
  186. package/dist/interfaces/services.d.ts +20 -0
  187. package/dist/interfaces/truncation.d.ts +17 -0
  188. package/dist/model/binned-charts.d.ts +7 -0
  189. package/dist/model/cartesian-charts.d.ts +24 -0
  190. package/dist/model/heatmap.d.ts +57 -0
  191. package/dist/model/index.d.ts +16 -0
  192. package/dist/model/index.js +3 -0
  193. package/dist/model/index.js.map +1 -0
  194. package/dist/model/index.mjs +1107 -0
  195. package/dist/model/index.mjs.map +1 -0
  196. package/dist/model/meter.d.ts +20 -0
  197. package/dist/model/model.d.ts +110 -0
  198. package/dist/services/angle-utils.d.ts +15 -0
  199. package/dist/services/curves.d.ts +24 -0
  200. package/dist/services/essentials/dom-utils.d.ts +45 -0
  201. package/dist/services/essentials/events.d.ts +8 -0
  202. package/dist/services/essentials/files.d.ts +7 -0
  203. package/dist/services/essentials/gradient-utils.d.ts +6 -0
  204. package/dist/services/essentials/index.d.ts +5 -0
  205. package/dist/services/essentials/transitions.d.ts +13 -0
  206. package/dist/services/index.d.ts +9 -0
  207. package/dist/services/index.js +2 -0
  208. package/dist/services/index.js.map +1 -0
  209. package/dist/services/index.mjs +32 -0
  210. package/dist/services/index.mjs.map +1 -0
  211. package/dist/services/scales-cartesian.d.ts +89 -0
  212. package/dist/services/service.d.ts +11 -0
  213. package/dist/services/zoom.d.ts +21 -0
  214. package/dist/styles/_chart-holder.scss +50 -0
  215. package/dist/styles/color-palatte.scss +458 -0
  216. package/dist/styles/colors.scss +131 -0
  217. package/dist/styles/components/_color-legend.scss +11 -0
  218. package/dist/styles/components/_edge.scss +65 -0
  219. package/dist/styles/components/_grid.scss +30 -0
  220. package/dist/styles/components/_marker.scss +7 -0
  221. package/dist/styles/components/_meter-title.scss +37 -0
  222. package/dist/styles/components/_tooltip.scss +132 -0
  223. package/dist/styles/components/diagrams/_card-node.scss +97 -0
  224. package/dist/styles/components/diagrams/_edge.scss +66 -0
  225. package/dist/styles/components/diagrams/_shape-node.scss +89 -0
  226. package/dist/styles/components/diagrams/index.scss +4 -0
  227. package/dist/styles/graphs/_alluvial.scss +17 -0
  228. package/dist/styles/graphs/_bullet.scss +36 -0
  229. package/dist/styles/graphs/_circle-pack.scss +36 -0
  230. package/dist/styles/graphs/_gauge.scss +23 -0
  231. package/dist/styles/graphs/_heatmap.scss +60 -0
  232. package/dist/styles/graphs/_meter.scss +34 -0
  233. package/dist/styles/graphs/_radar.scss +18 -0
  234. package/dist/styles/graphs/_scatter-stacked.scss +12 -0
  235. package/dist/styles/graphs/_tree.scss +46 -0
  236. package/dist/styles/styles.scss +40 -0
  237. package/dist/styles/tokens.scss +407 -0
  238. package/dist/styles.css +28463 -0
  239. package/dist/styles.css.map +1 -0
  240. package/dist/styles.min.css +1 -0
  241. package/dist/styles.min.css.map +1 -0
  242. package/dist/tools.d.ts +150 -0
  243. package/package.json +140 -102
  244. package/axis-chart.d.ts +0 -10
  245. package/axis-chart.js +0 -169
  246. package/axis-chart.js.map +0 -1
  247. package/build/demo/create-codesandbox.d.ts +0 -113
  248. package/build/demo/data/CHART_TYPES.d.ts +0 -128
  249. package/build/demo/data/alluvial.d.ts +0 -109
  250. package/build/demo/data/area.d.ts +0 -224
  251. package/build/demo/data/bar.d.ts +0 -681
  252. package/build/demo/data/boxplot.d.ts +0 -34
  253. package/build/demo/data/bubble.d.ts +0 -141
  254. package/build/demo/data/bullet.d.ts +0 -24
  255. package/build/demo/data/choropleth.d.ts +0 -738
  256. package/build/demo/data/circle-pack.d.ts +0 -91
  257. package/build/demo/data/combo.d.ts +0 -482
  258. package/build/demo/data/donut.d.ts +0 -64
  259. package/build/demo/data/gauge.d.ts +0 -40
  260. package/build/demo/data/heatmap.d.ts +0 -125
  261. package/build/demo/data/high-scale.d.ts +0 -1
  262. package/build/demo/data/hightlight.d.ts +0 -40
  263. package/build/demo/data/histogram.d.ts +0 -63
  264. package/build/demo/data/index.d.ts +0 -33
  265. package/build/demo/data/line.d.ts +0 -361
  266. package/build/demo/data/lollipop.d.ts +0 -39
  267. package/build/demo/data/meter.d.ts +0 -95
  268. package/build/demo/data/pie.d.ts +0 -46
  269. package/build/demo/data/radar.d.ts +0 -63
  270. package/build/demo/data/scatter.d.ts +0 -118
  271. package/build/demo/data/step.d.ts +0 -96
  272. package/build/demo/data/time-series-axis.d.ts +0 -368
  273. package/build/demo/data/toolbar.d.ts +0 -12
  274. package/build/demo/data/topojson-110.d.ts +0 -360
  275. package/build/demo/data/tree.d.ts +0 -30
  276. package/build/demo/data/treemap.d.ts +0 -15
  277. package/build/demo/data/wordcloud.d.ts +0 -14
  278. package/build/demo/data/zoom-bar.d.ts +0 -94
  279. package/build/demo/utils.d.ts +0 -40
  280. package/build/src/axis-chart.d.ts +0 -10
  281. package/build/src/chart.d.ts +0 -14
  282. package/build/src/charts/alluvial.d.ts +0 -8
  283. package/build/src/charts/area-stacked.d.ts +0 -6
  284. package/build/src/charts/area.d.ts +0 -6
  285. package/build/src/charts/bar-grouped.d.ts +0 -6
  286. package/build/src/charts/bar-simple.d.ts +0 -6
  287. package/build/src/charts/bar-stacked.d.ts +0 -6
  288. package/build/src/charts/boxplot.d.ts +0 -8
  289. package/build/src/charts/bubble.d.ts +0 -6
  290. package/build/src/charts/bullet.d.ts +0 -8
  291. package/build/src/charts/choropleth.d.ts +0 -10
  292. package/build/src/charts/circle-pack.d.ts +0 -8
  293. package/build/src/charts/combo.d.ts +0 -7
  294. package/build/src/charts/donut.d.ts +0 -6
  295. package/build/src/charts/gauge.d.ts +0 -8
  296. package/build/src/charts/heatmap.d.ts +0 -10
  297. package/build/src/charts/histogram.d.ts +0 -8
  298. package/build/src/charts/index.d.ts +0 -25
  299. package/build/src/charts/line.d.ts +0 -6
  300. package/build/src/charts/lollipop.d.ts +0 -6
  301. package/build/src/charts/meter.d.ts +0 -8
  302. package/build/src/charts/pie.d.ts +0 -8
  303. package/build/src/charts/radar.d.ts +0 -8
  304. package/build/src/charts/scatter.d.ts +0 -6
  305. package/build/src/charts/tree.d.ts +0 -8
  306. package/build/src/charts/treemap.d.ts +0 -8
  307. package/build/src/charts/wordcloud.d.ts +0 -8
  308. package/build/src/components/axes/axis.d.ts +0 -24
  309. package/build/src/components/axes/chart-clip.d.ts +0 -13
  310. package/build/src/components/axes/grid-brush.d.ts +0 -10
  311. package/build/src/components/axes/grid.d.ts +0 -22
  312. package/build/src/components/axes/hover-axis.d.ts +0 -10
  313. package/build/src/components/axes/ruler-binned.d.ts +0 -7
  314. package/build/src/components/axes/ruler-stacked.d.ts +0 -4
  315. package/build/src/components/axes/ruler.d.ts +0 -27
  316. package/build/src/components/axes/toolbar.d.ts +0 -40
  317. package/build/src/components/axes/two-dimensional-axes.d.ts +0 -16
  318. package/build/src/components/axes/zero-line.d.ts +0 -7
  319. package/build/src/components/axes/zoom-bar.d.ts +0 -28
  320. package/build/src/components/component.d.ts +0 -28
  321. package/build/src/components/diagrams/buildPaths.d.ts +0 -63
  322. package/build/src/components/diagrams/markerDefinitions.d.ts +0 -37
  323. package/build/src/components/essentials/canvas-chart-clip.d.ts +0 -6
  324. package/build/src/components/essentials/color-scale-legend.d.ts +0 -20
  325. package/build/src/components/essentials/geo-projection.d.ts +0 -16
  326. package/build/src/components/essentials/highlights.d.ts +0 -13
  327. package/build/src/components/essentials/legend.d.ts +0 -11
  328. package/build/src/components/essentials/modal.d.ts +0 -14
  329. package/build/src/components/essentials/threshold.d.ts +0 -20
  330. package/build/src/components/essentials/title-meter.d.ts +0 -30
  331. package/build/src/components/essentials/title.d.ts +0 -20
  332. package/build/src/components/essentials/tooltip-axis.d.ts +0 -4
  333. package/build/src/components/essentials/tooltip.d.ts +0 -22
  334. package/build/src/components/graphs/alluvial.d.ts +0 -14
  335. package/build/src/components/graphs/area-stacked.d.ts +0 -11
  336. package/build/src/components/graphs/area.d.ts +0 -12
  337. package/build/src/components/graphs/bar-grouped.d.ts +0 -22
  338. package/build/src/components/graphs/bar-simple.d.ts +0 -12
  339. package/build/src/components/graphs/bar-stacked.d.ts +0 -13
  340. package/build/src/components/graphs/bar.d.ts +0 -5
  341. package/build/src/components/graphs/boxplot.d.ts +0 -9
  342. package/build/src/components/graphs/bubble.d.ts +0 -13
  343. package/build/src/components/graphs/bullet.d.ts +0 -12
  344. package/build/src/components/graphs/choropleth.d.ts +0 -6
  345. package/build/src/components/graphs/circle-pack.d.ts +0 -19
  346. package/build/src/components/graphs/donut.d.ts +0 -9
  347. package/build/src/components/graphs/gauge.d.ts +0 -27
  348. package/build/src/components/graphs/heatmap.d.ts +0 -25
  349. package/build/src/components/graphs/histogram.d.ts +0 -12
  350. package/build/src/components/graphs/line.d.ts +0 -11
  351. package/build/src/components/graphs/lollipop.d.ts +0 -14
  352. package/build/src/components/graphs/meter.d.ts +0 -10
  353. package/build/src/components/graphs/pie.d.ts +0 -16
  354. package/build/src/components/graphs/radar.d.ts +0 -25
  355. package/build/src/components/graphs/scatter-stacked.d.ts +0 -8
  356. package/build/src/components/graphs/scatter.d.ts +0 -21
  357. package/build/src/components/graphs/skeleton-lines.d.ts +0 -11
  358. package/build/src/components/graphs/skeleton.d.ts +0 -22
  359. package/build/src/components/graphs/tree.d.ts +0 -9
  360. package/build/src/components/graphs/treemap.d.ts +0 -11
  361. package/build/src/components/graphs/wordcloud.d.ts +0 -12
  362. package/build/src/components/index.d.ts +0 -53
  363. package/build/src/components/layout/layout.d.ts +0 -17
  364. package/build/src/components/layout/spacer.d.ts +0 -5
  365. package/build/src/configuration-non-customizable.d.ts +0 -263
  366. package/build/src/configuration.d.ts +0 -46
  367. package/build/src/interfaces/a11y.d.ts +0 -12
  368. package/build/src/interfaces/axis-scales.d.ts +0 -201
  369. package/build/src/interfaces/charts.d.ts +0 -512
  370. package/build/src/interfaces/components.d.ts +0 -231
  371. package/build/src/interfaces/enums.d.ts +0 -261
  372. package/build/src/interfaces/events.d.ts +0 -239
  373. package/build/src/interfaces/index.d.ts +0 -7
  374. package/build/src/interfaces/layout.d.ts +0 -15
  375. package/build/src/interfaces/model.d.ts +0 -35
  376. package/build/src/interfaces/truncation.d.ts +0 -17
  377. package/build/src/model/alluvial.d.ts +0 -8
  378. package/build/src/model/binned-charts.d.ts +0 -7
  379. package/build/src/model/boxplot.d.ts +0 -14
  380. package/build/src/model/bullet.d.ts +0 -14
  381. package/build/src/model/cartesian-charts.d.ts +0 -24
  382. package/build/src/model/choropleth.d.ts +0 -29
  383. package/build/src/model/circle-pack.d.ts +0 -36
  384. package/build/src/model/gauge.d.ts +0 -9
  385. package/build/src/model/heatmap.d.ts +0 -52
  386. package/build/src/model/meter.d.ts +0 -19
  387. package/build/src/model/model.d.ts +0 -107
  388. package/build/src/model/pie.d.ts +0 -9
  389. package/build/src/model/radar.d.ts +0 -7
  390. package/build/src/model/tree.d.ts +0 -14
  391. package/build/src/model/treemap.d.ts +0 -8
  392. package/build/src/model/wordcloud.d.ts +0 -7
  393. package/build/src/services/angle-utils.d.ts +0 -205
  394. package/build/src/services/canvas-zoom.d.ts +0 -11
  395. package/build/src/services/color-scale-utils.d.ts +0 -10
  396. package/build/src/services/curves.d.ts +0 -25
  397. package/build/src/services/essentials/dom-utils.d.ts +0 -39
  398. package/build/src/services/essentials/events.d.ts +0 -8
  399. package/build/src/services/essentials/files.d.ts +0 -6
  400. package/build/src/services/essentials/gradient-utils.d.ts +0 -6
  401. package/build/src/services/essentials/transitions.d.ts +0 -13
  402. package/build/src/services/index.d.ts +0 -10
  403. package/build/src/services/scales-cartesian.d.ts +0 -86
  404. package/build/src/services/service.d.ts +0 -10
  405. package/build/src/services/time-series.d.ts +0 -787
  406. package/build/src/services/zoom.d.ts +0 -21
  407. package/build/src/tools.d.ts +0 -2427
  408. package/build/stories/all.stories.d.ts +0 -1
  409. package/build/stories/tutorials/api.d.ts +0 -4
  410. package/build/stories/tutorials/color-palette.d.ts +0 -4
  411. package/build/stories/tutorials/combo-charts.d.ts +0 -4
  412. package/build/stories/tutorials/dual-axes.d.ts +0 -4
  413. package/build/stories/tutorials/event-listeners.d.ts +0 -4
  414. package/build/stories/tutorials/getting-started/angular.d.ts +0 -5
  415. package/build/stories/tutorials/getting-started/react.d.ts +0 -5
  416. package/build/stories/tutorials/getting-started/vanilla.d.ts +0 -5
  417. package/build/stories/tutorials/getting-started/vue.d.ts +0 -5
  418. package/build/stories/tutorials/index.d.ts +0 -11
  419. package/build/stories/tutorials/tabular-data-format.d.ts +0 -4
  420. package/build/stories/tutorials/themes.d.ts +0 -4
  421. package/build/stories/tutorials.stories.d.ts +0 -1
  422. package/bundle.js +0 -17
  423. package/chart.d.ts +0 -14
  424. package/chart.js +0 -198
  425. package/chart.js.map +0 -1
  426. package/charts/alluvial.d.ts +0 -8
  427. package/charts/alluvial.js +0 -46
  428. package/charts/alluvial.js.map +0 -1
  429. package/charts/area-stacked.d.ts +0 -6
  430. package/charts/area-stacked.js +0 -55
  431. package/charts/area-stacked.js.map +0 -1
  432. package/charts/area.d.ts +0 -6
  433. package/charts/area.js +0 -54
  434. package/charts/area.js.map +0 -1
  435. package/charts/bar-grouped.d.ts +0 -6
  436. package/charts/bar-grouped.js +0 -49
  437. package/charts/bar-grouped.js.map +0 -1
  438. package/charts/bar-simple.d.ts +0 -6
  439. package/charts/bar-simple.js +0 -49
  440. package/charts/bar-simple.js.map +0 -1
  441. package/charts/bar-stacked.d.ts +0 -6
  442. package/charts/bar-stacked.js +0 -50
  443. package/charts/bar-stacked.js.map +0 -1
  444. package/charts/boxplot.d.ts +0 -8
  445. package/charts/boxplot.js +0 -55
  446. package/charts/boxplot.js.map +0 -1
  447. package/charts/bubble.d.ts +0 -6
  448. package/charts/bubble.js +0 -49
  449. package/charts/bubble.js.map +0 -1
  450. package/charts/bullet.d.ts +0 -8
  451. package/charts/bullet.js +0 -50
  452. package/charts/bullet.js.map +0 -1
  453. package/charts/choropleth.d.ts +0 -10
  454. package/charts/choropleth.js +0 -141
  455. package/charts/choropleth.js.map +0 -1
  456. package/charts/circle-pack.d.ts +0 -8
  457. package/charts/circle-pack.js +0 -45
  458. package/charts/circle-pack.js.map +0 -1
  459. package/charts/combo.d.ts +0 -7
  460. package/charts/combo.js +0 -132
  461. package/charts/combo.js.map +0 -1
  462. package/charts/donut.d.ts +0 -6
  463. package/charts/donut.js +0 -46
  464. package/charts/donut.js.map +0 -1
  465. package/charts/gauge.d.ts +0 -8
  466. package/charts/gauge.js +0 -42
  467. package/charts/gauge.js.map +0 -1
  468. package/charts/heatmap.d.ts +0 -10
  469. package/charts/heatmap.js +0 -142
  470. package/charts/heatmap.js.map +0 -1
  471. package/charts/histogram.d.ts +0 -8
  472. package/charts/histogram.js +0 -48
  473. package/charts/histogram.js.map +0 -1
  474. package/charts/index.d.ts +0 -25
  475. package/charts/index.js +0 -26
  476. package/charts/index.js.map +0 -1
  477. package/charts/line.d.ts +0 -6
  478. package/charts/line.js +0 -48
  479. package/charts/line.js.map +0 -1
  480. package/charts/lollipop.d.ts +0 -6
  481. package/charts/lollipop.js +0 -50
  482. package/charts/lollipop.js.map +0 -1
  483. package/charts/meter.d.ts +0 -8
  484. package/charts/meter.js +0 -94
  485. package/charts/meter.js.map +0 -1
  486. package/charts/pie.d.ts +0 -8
  487. package/charts/pie.js +0 -55
  488. package/charts/pie.js.map +0 -1
  489. package/charts/radar.d.ts +0 -8
  490. package/charts/radar.js +0 -44
  491. package/charts/radar.js.map +0 -1
  492. package/charts/scatter.d.ts +0 -6
  493. package/charts/scatter.js +0 -49
  494. package/charts/scatter.js.map +0 -1
  495. package/charts/tree.d.ts +0 -8
  496. package/charts/tree.js +0 -47
  497. package/charts/tree.js.map +0 -1
  498. package/charts/treemap.d.ts +0 -8
  499. package/charts/treemap.js +0 -43
  500. package/charts/treemap.js.map +0 -1
  501. package/charts/wordcloud.d.ts +0 -8
  502. package/charts/wordcloud.js +0 -49
  503. package/charts/wordcloud.js.map +0 -1
  504. package/components/axes/axis.d.ts +0 -24
  505. package/components/axes/axis.js +0 -587
  506. package/components/axes/axis.js.map +0 -1
  507. package/components/axes/chart-clip.d.ts +0 -13
  508. package/components/axes/chart-clip.js +0 -63
  509. package/components/axes/chart-clip.js.map +0 -1
  510. package/components/axes/grid-brush.d.ts +0 -10
  511. package/components/axes/grid-brush.js +0 -170
  512. package/components/axes/grid-brush.js.map +0 -1
  513. package/components/axes/grid.d.ts +0 -22
  514. package/components/axes/grid.js +0 -235
  515. package/components/axes/grid.js.map +0 -1
  516. package/components/axes/hover-axis.js +0 -243
  517. package/components/axes/hover-axis.js.map +0 -1
  518. package/components/axes/ruler-binned.d.ts +0 -7
  519. package/components/axes/ruler-binned.js +0 -136
  520. package/components/axes/ruler-binned.js.map +0 -1
  521. package/components/axes/ruler-stacked.js +0 -26
  522. package/components/axes/ruler-stacked.js.map +0 -1
  523. package/components/axes/ruler.d.ts +0 -27
  524. package/components/axes/ruler.js +0 -209
  525. package/components/axes/ruler.js.map +0 -1
  526. package/components/axes/toolbar.d.ts +0 -40
  527. package/components/axes/toolbar.js +0 -558
  528. package/components/axes/toolbar.js.map +0 -1
  529. package/components/axes/two-dimensional-axes.d.ts +0 -16
  530. package/components/axes/two-dimensional-axes.js +0 -134
  531. package/components/axes/two-dimensional-axes.js.map +0 -1
  532. package/components/axes/zero-line.d.ts +0 -7
  533. package/components/axes/zero-line.js +0 -76
  534. package/components/axes/zero-line.js.map +0 -1
  535. package/components/axes/zoom-bar.d.ts +0 -28
  536. package/components/axes/zoom-bar.js +0 -490
  537. package/components/axes/zoom-bar.js.map +0 -1
  538. package/components/component.d.ts +0 -28
  539. package/components/component.js +0 -102
  540. package/components/component.js.map +0 -1
  541. package/components/diagrams/buildPaths.d.ts +0 -39
  542. package/components/diagrams/buildPaths.js +0 -71
  543. package/components/diagrams/buildPaths.js.map +0 -1
  544. package/components/diagrams/markerDefinitions.js +0 -38
  545. package/components/diagrams/markerDefinitions.js.map +0 -1
  546. package/components/essentials/canvas-chart-clip.d.ts +0 -6
  547. package/components/essentials/canvas-chart-clip.js +0 -46
  548. package/components/essentials/canvas-chart-clip.js.map +0 -1
  549. package/components/essentials/color-scale-legend.d.ts +0 -20
  550. package/components/essentials/color-scale-legend.js +0 -237
  551. package/components/essentials/color-scale-legend.js.map +0 -1
  552. package/components/essentials/geo-projection.d.ts +0 -16
  553. package/components/essentials/geo-projection.js +0 -160
  554. package/components/essentials/geo-projection.js.map +0 -1
  555. package/components/essentials/highlights.d.ts +0 -13
  556. package/components/essentials/highlights.js +0 -196
  557. package/components/essentials/highlights.js.map +0 -1
  558. package/components/essentials/legend.d.ts +0 -11
  559. package/components/essentials/legend.js +0 -428
  560. package/components/essentials/legend.js.map +0 -1
  561. package/components/essentials/modal.d.ts +0 -14
  562. package/components/essentials/modal.js +0 -89
  563. package/components/essentials/modal.js.map +0 -1
  564. package/components/essentials/threshold.d.ts +0 -20
  565. package/components/essentials/threshold.js +0 -306
  566. package/components/essentials/threshold.js.map +0 -1
  567. package/components/essentials/title-meter.d.ts +0 -30
  568. package/components/essentials/title-meter.js +0 -279
  569. package/components/essentials/title-meter.js.map +0 -1
  570. package/components/essentials/title.d.ts +0 -20
  571. package/components/essentials/title.js +0 -138
  572. package/components/essentials/title.js.map +0 -1
  573. package/components/essentials/tooltip-axis.js +0 -142
  574. package/components/essentials/tooltip-axis.js.map +0 -1
  575. package/components/essentials/tooltip.d.ts +0 -22
  576. package/components/essentials/tooltip.js +0 -263
  577. package/components/essentials/tooltip.js.map +0 -1
  578. package/components/graphs/alluvial.d.ts +0 -14
  579. package/components/graphs/alluvial.js +0 -535
  580. package/components/graphs/alluvial.js.map +0 -1
  581. package/components/graphs/area-stacked.d.ts +0 -11
  582. package/components/graphs/area-stacked.js +0 -131
  583. package/components/graphs/area-stacked.js.map +0 -1
  584. package/components/graphs/area.d.ts +0 -12
  585. package/components/graphs/area.js +0 -260
  586. package/components/graphs/area.js.map +0 -1
  587. package/components/graphs/bar-grouped.d.ts +0 -22
  588. package/components/graphs/bar-grouped.js +0 -312
  589. package/components/graphs/bar-grouped.js.map +0 -1
  590. package/components/graphs/bar-simple.d.ts +0 -12
  591. package/components/graphs/bar-simple.js +0 -218
  592. package/components/graphs/bar-simple.js.map +0 -1
  593. package/components/graphs/bar-stacked.d.ts +0 -13
  594. package/components/graphs/bar-stacked.js +0 -281
  595. package/components/graphs/bar-stacked.js.map +0 -1
  596. package/components/graphs/bar.d.ts +0 -5
  597. package/components/graphs/bar.js +0 -58
  598. package/components/graphs/bar.js.map +0 -1
  599. package/components/graphs/boxplot.d.ts +0 -9
  600. package/components/graphs/boxplot.js +0 -485
  601. package/components/graphs/boxplot.js.map +0 -1
  602. package/components/graphs/bubble.d.ts +0 -13
  603. package/components/graphs/bubble.js +0 -113
  604. package/components/graphs/bubble.js.map +0 -1
  605. package/components/graphs/bullet.d.ts +0 -12
  606. package/components/graphs/bullet.js +0 -395
  607. package/components/graphs/bullet.js.map +0 -1
  608. package/components/graphs/choropleth.d.ts +0 -6
  609. package/components/graphs/choropleth.js +0 -106
  610. package/components/graphs/choropleth.js.map +0 -1
  611. package/components/graphs/circle-pack.d.ts +0 -19
  612. package/components/graphs/circle-pack.js +0 -388
  613. package/components/graphs/circle-pack.js.map +0 -1
  614. package/components/graphs/donut.d.ts +0 -9
  615. package/components/graphs/donut.js +0 -116
  616. package/components/graphs/donut.js.map +0 -1
  617. package/components/graphs/gauge.d.ts +0 -27
  618. package/components/graphs/gauge.js +0 -347
  619. package/components/graphs/gauge.js.map +0 -1
  620. package/components/graphs/heatmap.d.ts +0 -25
  621. package/components/graphs/heatmap.js +0 -388
  622. package/components/graphs/heatmap.js.map +0 -1
  623. package/components/graphs/histogram.d.ts +0 -12
  624. package/components/graphs/histogram.js +0 -220
  625. package/components/graphs/histogram.js.map +0 -1
  626. package/components/graphs/line.d.ts +0 -11
  627. package/components/graphs/line.js +0 -179
  628. package/components/graphs/line.js.map +0 -1
  629. package/components/graphs/lollipop.d.ts +0 -14
  630. package/components/graphs/lollipop.js +0 -164
  631. package/components/graphs/lollipop.js.map +0 -1
  632. package/components/graphs/meter.d.ts +0 -10
  633. package/components/graphs/meter.js +0 -284
  634. package/components/graphs/meter.js.map +0 -1
  635. package/components/graphs/pie.d.ts +0 -16
  636. package/components/graphs/pie.js +0 -438
  637. package/components/graphs/pie.js.map +0 -1
  638. package/components/graphs/radar.d.ts +0 -25
  639. package/components/graphs/radar.js +0 -737
  640. package/components/graphs/radar.js.map +0 -1
  641. package/components/graphs/scatter-stacked.d.ts +0 -8
  642. package/components/graphs/scatter-stacked.js +0 -140
  643. package/components/graphs/scatter-stacked.js.map +0 -1
  644. package/components/graphs/scatter.d.ts +0 -21
  645. package/components/graphs/scatter.js +0 -360
  646. package/components/graphs/scatter.js.map +0 -1
  647. package/components/graphs/skeleton-lines.d.ts +0 -11
  648. package/components/graphs/skeleton-lines.js +0 -84
  649. package/components/graphs/skeleton-lines.js.map +0 -1
  650. package/components/graphs/skeleton.d.ts +0 -22
  651. package/components/graphs/skeleton.js +0 -272
  652. package/components/graphs/skeleton.js.map +0 -1
  653. package/components/graphs/tree.d.ts +0 -9
  654. package/components/graphs/tree.js +0 -262
  655. package/components/graphs/tree.js.map +0 -1
  656. package/components/graphs/treemap.d.ts +0 -11
  657. package/components/graphs/treemap.js +0 -344
  658. package/components/graphs/treemap.js.map +0 -1
  659. package/components/graphs/wordcloud.d.ts +0 -12
  660. package/components/graphs/wordcloud.js +0 -268
  661. package/components/graphs/wordcloud.js.map +0 -1
  662. package/components/index.d.ts +0 -53
  663. package/components/index.js +0 -59
  664. package/components/index.js.map +0 -1
  665. package/components/layout/layout.d.ts +0 -17
  666. package/components/layout/layout.js +0 -191
  667. package/components/layout/layout.js.map +0 -1
  668. package/components/layout/spacer.d.ts +0 -5
  669. package/components/layout/spacer.js +0 -33
  670. package/components/layout/spacer.js.map +0 -1
  671. package/configuration-non-customizable.d.ts +0 -263
  672. package/configuration-non-customizable.js +0 -276
  673. package/configuration-non-customizable.js.map +0 -1
  674. package/configuration.d.ts +0 -46
  675. package/configuration.js +0 -552
  676. package/configuration.js.map +0 -1
  677. package/demo/create-codesandbox.d.ts +0 -65
  678. package/demo/create-codesandbox.js +0 -173
  679. package/demo/create-codesandbox.js.map +0 -1
  680. package/demo/data/CHART_TYPES.d.ts +0 -128
  681. package/demo/data/CHART_TYPES.js +0 -128
  682. package/demo/data/CHART_TYPES.js.map +0 -1
  683. package/demo/data/alluvial.d.ts +0 -109
  684. package/demo/data/alluvial.js +0 -328
  685. package/demo/data/alluvial.js.map +0 -1
  686. package/demo/data/area.d.ts +0 -224
  687. package/demo/data/area.js +0 -330
  688. package/demo/data/area.js.map +0 -1
  689. package/demo/data/bar.d.ts +0 -681
  690. package/demo/data/bar.js +0 -915
  691. package/demo/data/bar.js.map +0 -1
  692. package/demo/data/boxplot.d.ts +0 -34
  693. package/demo/data/boxplot.js +0 -48
  694. package/demo/data/boxplot.js.map +0 -1
  695. package/demo/data/bubble.d.ts +0 -141
  696. package/demo/data/bubble.js +0 -182
  697. package/demo/data/bubble.js.map +0 -1
  698. package/demo/data/bullet.d.ts +0 -24
  699. package/demo/data/bullet.js +0 -55
  700. package/demo/data/bullet.js.map +0 -1
  701. package/demo/data/bundle.js +0 -1
  702. package/demo/data/choropleth.d.ts +0 -738
  703. package/demo/data/choropleth.js +0 -1684
  704. package/demo/data/choropleth.js.map +0 -1
  705. package/demo/data/circle-pack.d.ts +0 -91
  706. package/demo/data/circle-pack.js +0 -224
  707. package/demo/data/circle-pack.js.map +0 -1
  708. package/demo/data/combo.d.ts +0 -482
  709. package/demo/data/combo.js +0 -571
  710. package/demo/data/combo.js.map +0 -1
  711. package/demo/data/donut.d.ts +0 -64
  712. package/demo/data/donut.js +0 -60
  713. package/demo/data/donut.js.map +0 -1
  714. package/demo/data/gauge.d.ts +0 -40
  715. package/demo/data/gauge.js +0 -41
  716. package/demo/data/gauge.js.map +0 -1
  717. package/demo/data/heatmap.d.ts +0 -125
  718. package/demo/data/heatmap.js +0 -1149
  719. package/demo/data/heatmap.js.map +0 -1
  720. package/demo/data/high-scale.d.ts +0 -1
  721. package/demo/data/high-scale.js +0 -5
  722. package/demo/data/high-scale.js.map +0 -1
  723. package/demo/data/hightlight.d.ts +0 -40
  724. package/demo/data/hightlight.js +0 -44
  725. package/demo/data/hightlight.js.map +0 -1
  726. package/demo/data/histogram.d.ts +0 -63
  727. package/demo/data/histogram.js +0 -312
  728. package/demo/data/histogram.js.map +0 -1
  729. package/demo/data/index.d.ts +0 -33
  730. package/demo/data/index.js +0 -1305
  731. package/demo/data/index.js.map +0 -1
  732. package/demo/data/line.d.ts +0 -361
  733. package/demo/data/line.js +0 -480
  734. package/demo/data/line.js.map +0 -1
  735. package/demo/data/lollipop.d.ts +0 -39
  736. package/demo/data/lollipop.js +0 -37
  737. package/demo/data/lollipop.js.map +0 -1
  738. package/demo/data/meter.d.ts +0 -95
  739. package/demo/data/meter.js +0 -114
  740. package/demo/data/meter.js.map +0 -1
  741. package/demo/data/pie.d.ts +0 -46
  742. package/demo/data/pie.js +0 -55
  743. package/demo/data/pie.js.map +0 -1
  744. package/demo/data/radar.d.ts +0 -63
  745. package/demo/data/radar.js +0 -118
  746. package/demo/data/radar.js.map +0 -1
  747. package/demo/data/scatter.d.ts +0 -118
  748. package/demo/data/scatter.js +0 -143
  749. package/demo/data/scatter.js.map +0 -1
  750. package/demo/data/step.d.ts +0 -96
  751. package/demo/data/step.js +0 -27
  752. package/demo/data/step.js.map +0 -1
  753. package/demo/data/time-series-axis.d.ts +0 -368
  754. package/demo/data/time-series-axis.js +0 -436
  755. package/demo/data/time-series-axis.js.map +0 -1
  756. package/demo/data/toolbar.d.ts +0 -12
  757. package/demo/data/toolbar.js +0 -67
  758. package/demo/data/toolbar.js.map +0 -1
  759. package/demo/data/topojson-110.d.ts +0 -360
  760. package/demo/data/topojson-110.js +0 -40724
  761. package/demo/data/topojson-110.js.map +0 -1
  762. package/demo/data/tree.d.ts +0 -30
  763. package/demo/data/tree.js +0 -209
  764. package/demo/data/tree.js.map +0 -1
  765. package/demo/data/treemap.d.ts +0 -15
  766. package/demo/data/treemap.js +0 -93
  767. package/demo/data/treemap.js.map +0 -1
  768. package/demo/data/wordcloud.d.ts +0 -14
  769. package/demo/data/wordcloud.js +0 -105
  770. package/demo/data/wordcloud.js.map +0 -1
  771. package/demo/data/zoom-bar.d.ts +0 -94
  772. package/demo/data/zoom-bar.js +0 -187
  773. package/demo/data/zoom-bar.js.map +0 -1
  774. package/demo/styles.css +0 -31231
  775. package/demo/styles.css.map +0 -1
  776. package/demo/styles.min.css +0 -1
  777. package/demo/styles.min.css.map +0 -1
  778. package/demo/tsconfig.tsbuildinfo +0 -1451
  779. package/demo/utils.d.ts +0 -24
  780. package/demo/utils.js +0 -222
  781. package/demo/utils.js.map +0 -1
  782. package/index.d.ts +0 -4
  783. package/index.js +0 -6
  784. package/index.js.map +0 -1
  785. package/interfaces/a11y.js +0 -14
  786. package/interfaces/a11y.js.map +0 -1
  787. package/interfaces/axis-scales.d.ts +0 -201
  788. package/interfaces/axis-scales.js +0 -1
  789. package/interfaces/axis-scales.js.map +0 -1
  790. package/interfaces/charts.d.ts +0 -512
  791. package/interfaces/charts.js +0 -1
  792. package/interfaces/charts.js.map +0 -1
  793. package/interfaces/components.d.ts +0 -231
  794. package/interfaces/components.js +0 -1
  795. package/interfaces/components.js.map +0 -1
  796. package/interfaces/enums.js +0 -296
  797. package/interfaces/enums.js.map +0 -1
  798. package/interfaces/events.js +0 -269
  799. package/interfaces/events.js.map +0 -1
  800. package/interfaces/index.d.ts +0 -7
  801. package/interfaces/index.js +0 -3
  802. package/interfaces/index.js.map +0 -1
  803. package/interfaces/layout.d.ts +0 -15
  804. package/interfaces/layout.js +0 -1
  805. package/interfaces/layout.js.map +0 -1
  806. package/interfaces/model.d.ts +0 -35
  807. package/interfaces/model.js +0 -1
  808. package/interfaces/model.js.map +0 -1
  809. package/interfaces/truncation.d.ts +0 -17
  810. package/interfaces/truncation.js +0 -1
  811. package/interfaces/truncation.js.map +0 -1
  812. package/model/alluvial.js +0 -47
  813. package/model/alluvial.js.map +0 -1
  814. package/model/binned-charts.d.ts +0 -7
  815. package/model/binned-charts.js +0 -52
  816. package/model/binned-charts.js.map +0 -1
  817. package/model/boxplot.js +0 -174
  818. package/model/boxplot.js.map +0 -1
  819. package/model/bullet.js +0 -74
  820. package/model/bullet.js.map +0 -1
  821. package/model/cartesian-charts.d.ts +0 -24
  822. package/model/cartesian-charts.js +0 -202
  823. package/model/cartesian-charts.js.map +0 -1
  824. package/model/choropleth.js +0 -105
  825. package/model/choropleth.js.map +0 -1
  826. package/model/circle-pack.js +0 -189
  827. package/model/circle-pack.js.map +0 -1
  828. package/model/gauge.js +0 -51
  829. package/model/gauge.js.map +0 -1
  830. package/model/heatmap.d.ts +0 -52
  831. package/model/heatmap.js +0 -220
  832. package/model/heatmap.js.map +0 -1
  833. package/model/meter.d.ts +0 -19
  834. package/model/meter.js +0 -118
  835. package/model/meter.js.map +0 -1
  836. package/model/model.d.ts +0 -107
  837. package/model/model.js +0 -712
  838. package/model/model.js.map +0 -1
  839. package/model/pie.js +0 -66
  840. package/model/pie.js.map +0 -1
  841. package/model/radar.js +0 -52
  842. package/model/radar.js.map +0 -1
  843. package/model/tree.js +0 -56
  844. package/model/tree.js.map +0 -1
  845. package/model/treemap.js +0 -44
  846. package/model/treemap.js.map +0 -1
  847. package/model/wordcloud.js +0 -47
  848. package/model/wordcloud.js.map +0 -1
  849. package/polyfills.d.ts +0 -0
  850. package/polyfills.js +0 -29
  851. package/polyfills.js.map +0 -1
  852. package/services/angle-utils.d.ts +0 -16
  853. package/services/angle-utils.js +0 -82
  854. package/services/angle-utils.js.map +0 -1
  855. package/services/canvas-zoom.js +0 -72
  856. package/services/canvas-zoom.js.map +0 -1
  857. package/services/color-scale-utils.js +0 -64
  858. package/services/color-scale-utils.js.map +0 -1
  859. package/services/curves.d.ts +0 -25
  860. package/services/curves.js +0 -77
  861. package/services/curves.js.map +0 -1
  862. package/services/essentials/dom-utils.d.ts +0 -39
  863. package/services/essentials/dom-utils.js +0 -423
  864. package/services/essentials/dom-utils.js.map +0 -1
  865. package/services/essentials/events.d.ts +0 -8
  866. package/services/essentials/events.js +0 -53
  867. package/services/essentials/events.js.map +0 -1
  868. package/services/essentials/files.d.ts +0 -6
  869. package/services/essentials/files.js +0 -60
  870. package/services/essentials/files.js.map +0 -1
  871. package/services/essentials/gradient-utils.d.ts +0 -6
  872. package/services/essentials/gradient-utils.js +0 -85
  873. package/services/essentials/gradient-utils.js.map +0 -1
  874. package/services/essentials/transitions.d.ts +0 -13
  875. package/services/essentials/transitions.js +0 -51
  876. package/services/essentials/transitions.js.map +0 -1
  877. package/services/index.d.ts +0 -10
  878. package/services/index.js +0 -13
  879. package/services/index.js.map +0 -1
  880. package/services/scales-cartesian.d.ts +0 -86
  881. package/services/scales-cartesian.js +0 -656
  882. package/services/scales-cartesian.js.map +0 -1
  883. package/services/service.d.ts +0 -10
  884. package/services/service.js +0 -24
  885. package/services/service.js.map +0 -1
  886. package/services/time-series.js +0 -147
  887. package/services/time-series.js.map +0 -1
  888. package/services/zoom.d.ts +0 -21
  889. package/services/zoom.js +0 -217
  890. package/services/zoom.js.map +0 -1
  891. package/styles/_chart-holder.scss +0 -50
  892. package/styles/color-palatte.scss +0 -458
  893. package/styles/colors.scss +0 -155
  894. package/styles/components/_color-legend.scss +0 -11
  895. package/styles/components/_edge.scss +0 -65
  896. package/styles/components/_grid.scss +0 -30
  897. package/styles/components/_marker.scss +0 -7
  898. package/styles/components/_meter-title.scss +0 -37
  899. package/styles/components/_tooltip.scss +0 -132
  900. package/styles/components/diagrams/_card-node.scss +0 -97
  901. package/styles/components/diagrams/_edge.scss +0 -66
  902. package/styles/components/diagrams/_shape-node.scss +0 -89
  903. package/styles/components/diagrams/index.scss +0 -4
  904. package/styles/graphs/_alluvial.scss +0 -17
  905. package/styles/graphs/_bullet.scss +0 -36
  906. package/styles/graphs/_circle-pack.scss +0 -36
  907. package/styles/graphs/_gauge.scss +0 -23
  908. package/styles/graphs/_heatmap.scss +0 -60
  909. package/styles/graphs/_meter.scss +0 -34
  910. package/styles/graphs/_radar.scss +0 -18
  911. package/styles/graphs/_scatter-stacked.scss +0 -12
  912. package/styles/graphs/_tree.scss +0 -47
  913. package/styles/styles.scss +0 -35
  914. package/styles/tokens.scss +0 -416
  915. package/styles.css +0 -6325
  916. package/styles.css.map +0 -1
  917. package/styles.min.css +0 -1
  918. package/styles.min.css.map +0 -1
  919. package/tools.d.ts +0 -144
  920. package/tools.js +0 -348
  921. package/tools.js.map +0 -1
  922. package/tsconfig.tsbuildinfo +0 -3816
  923. /package/{components → dist/components}/axes/hover-axis.d.ts +0 -0
  924. /package/{components → dist/components}/axes/ruler-stacked.d.ts +0 -0
  925. /package/{components → dist/components}/diagrams/markerDefinitions.d.ts +0 -0
  926. /package/{components → dist/components}/essentials/tooltip-axis.d.ts +0 -0
  927. /package/{interfaces → dist/interfaces}/a11y.d.ts +0 -0
  928. /package/{interfaces → dist/interfaces}/enums.d.ts +0 -0
  929. /package/{interfaces → dist/interfaces}/events.d.ts +0 -0
  930. /package/{model → dist/model}/alluvial.d.ts +0 -0
  931. /package/{model → dist/model}/boxplot.d.ts +0 -0
  932. /package/{model → dist/model}/bullet.d.ts +0 -0
  933. /package/{model → dist/model}/choropleth.d.ts +0 -0
  934. /package/{model → dist/model}/circle-pack.d.ts +0 -0
  935. /package/{model → dist/model}/gauge.d.ts +0 -0
  936. /package/{model → dist/model}/pie.d.ts +0 -0
  937. /package/{model → dist/model}/radar.d.ts +0 -0
  938. /package/{model → dist/model}/tree.d.ts +0 -0
  939. /package/{model → dist/model}/treemap.d.ts +0 -0
  940. /package/{model → dist/model}/wordcloud.d.ts +0 -0
  941. /package/{services → dist/services}/canvas-zoom.d.ts +0 -0
  942. /package/{services → dist/services}/color-scale-utils.d.ts +0 -0
  943. /package/{services → dist/services}/time-series.d.ts +0 -0
  944. /package/{styles → dist/styles}/_type.scss +0 -0
  945. /package/{styles → dist/styles}/components/_axis.scss +0 -0
  946. /package/{styles → dist/styles}/components/_callouts.scss +0 -0
  947. /package/{styles → dist/styles}/components/_grid-brush.scss +0 -0
  948. /package/{styles → dist/styles}/components/_highlights.scss +0 -0
  949. /package/{styles → dist/styles}/components/_layout.scss +0 -0
  950. /package/{styles → dist/styles}/components/_legend.scss +0 -0
  951. /package/{styles → dist/styles}/components/_modal.scss +0 -0
  952. /package/{styles → dist/styles}/components/_ruler.scss +0 -0
  953. /package/{styles → dist/styles}/components/_skeleton-lines.scss +0 -0
  954. /package/{styles → dist/styles}/components/_skeleton.scss +0 -0
  955. /package/{styles → dist/styles}/components/_threshold.scss +0 -0
  956. /package/{styles → dist/styles}/components/_title.scss +0 -0
  957. /package/{styles → dist/styles}/components/_toolbar.scss +0 -0
  958. /package/{styles → dist/styles}/components/_zero-line.scss +0 -0
  959. /package/{styles → dist/styles}/components/_zoom-bar.scss +0 -0
  960. /package/{styles → dist/styles}/components/diagrams/_marker.scss +0 -0
  961. /package/{styles → dist/styles}/components/index.scss +0 -0
  962. /package/{styles → dist/styles}/graphs/_area.scss +0 -0
  963. /package/{styles → dist/styles}/graphs/_bubble.scss +0 -0
  964. /package/{styles → dist/styles}/graphs/_choropleth.scss +0 -0
  965. /package/{styles → dist/styles}/graphs/_donut.scss +0 -0
  966. /package/{styles → dist/styles}/graphs/_line.scss +0 -0
  967. /package/{styles → dist/styles}/graphs/_lollipop.scss +0 -0
  968. /package/{styles → dist/styles}/graphs/_pie.scss +0 -0
  969. /package/{styles → dist/styles}/graphs/_scatter.scss +0 -0
  970. /package/{styles → dist/styles}/graphs/_treemap.scss +0 -0
  971. /package/{styles → dist/styles}/graphs/_wordcloud.scss +0 -0
  972. /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
- }