@carbon/charts 1.7.6 → 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 (949) hide show
  1. package/CHANGELOG.md +97 -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/enums.d.ts +261 -0
  180. package/dist/interfaces/events.d.ts +239 -0
  181. package/dist/interfaces/index.d.ts +12 -0
  182. package/dist/interfaces/index.js +2 -0
  183. package/dist/interfaces/index.js.map +1 -0
  184. package/dist/interfaces/index.mjs +58 -0
  185. package/dist/interfaces/index.mjs.map +1 -0
  186. package/dist/interfaces/layout.d.ts +21 -0
  187. package/dist/interfaces/model.d.ts +35 -0
  188. package/dist/interfaces/services.d.ts +20 -0
  189. package/dist/interfaces/truncation.d.ts +17 -0
  190. package/dist/model/binned-charts.d.ts +7 -0
  191. package/dist/model/cartesian-charts.d.ts +24 -0
  192. package/dist/model/choropleth.d.ts +29 -0
  193. package/dist/model/heatmap.d.ts +57 -0
  194. package/dist/model/index.d.ts +16 -0
  195. package/dist/model/index.js +3 -0
  196. package/dist/model/index.js.map +1 -0
  197. package/dist/model/index.mjs +1107 -0
  198. package/dist/model/index.mjs.map +1 -0
  199. package/dist/model/meter.d.ts +20 -0
  200. package/dist/model/model.d.ts +110 -0
  201. package/dist/services/angle-utils.d.ts +15 -0
  202. package/dist/services/color-scale-utils.d.ts +2 -0
  203. package/dist/services/curves.d.ts +24 -0
  204. package/dist/services/essentials/dom-utils.d.ts +45 -0
  205. package/dist/services/essentials/events.d.ts +8 -0
  206. package/dist/services/essentials/files.d.ts +7 -0
  207. package/dist/services/essentials/gradient-utils.d.ts +6 -0
  208. package/dist/services/essentials/index.d.ts +5 -0
  209. package/dist/services/essentials/transitions.d.ts +13 -0
  210. package/dist/services/index.d.ts +9 -0
  211. package/dist/services/index.js +2 -0
  212. package/dist/services/index.js.map +1 -0
  213. package/dist/services/index.mjs +32 -0
  214. package/dist/services/index.mjs.map +1 -0
  215. package/dist/services/scales-cartesian.d.ts +89 -0
  216. package/dist/services/service.d.ts +11 -0
  217. package/dist/services/zoom.d.ts +21 -0
  218. package/dist/styles/_chart-holder.scss +50 -0
  219. package/dist/styles/color-palatte.scss +458 -0
  220. package/dist/styles/colors.scss +131 -0
  221. package/dist/styles/components/_color-legend.scss +11 -0
  222. package/dist/styles/components/_edge.scss +65 -0
  223. package/dist/styles/components/_grid.scss +30 -0
  224. package/dist/styles/components/_marker.scss +7 -0
  225. package/dist/styles/components/_meter-title.scss +37 -0
  226. package/dist/styles/components/_tooltip.scss +132 -0
  227. package/dist/styles/components/diagrams/_card-node.scss +97 -0
  228. package/dist/styles/components/diagrams/_edge.scss +66 -0
  229. package/dist/styles/components/diagrams/_shape-node.scss +89 -0
  230. package/dist/styles/components/diagrams/index.scss +4 -0
  231. package/dist/styles/graphs/_alluvial.scss +17 -0
  232. package/dist/styles/graphs/_bullet.scss +36 -0
  233. package/dist/styles/graphs/_choropleth.scss +18 -0
  234. package/dist/styles/graphs/_circle-pack.scss +36 -0
  235. package/dist/styles/graphs/_gauge.scss +23 -0
  236. package/dist/styles/graphs/_heatmap.scss +60 -0
  237. package/dist/styles/graphs/_meter.scss +34 -0
  238. package/dist/styles/graphs/_radar.scss +18 -0
  239. package/dist/styles/graphs/_scatter-stacked.scss +12 -0
  240. package/dist/styles/graphs/_tree.scss +46 -0
  241. package/dist/styles/graphs/index.scss +19 -0
  242. package/dist/styles/styles.scss +40 -0
  243. package/dist/styles/tokens.scss +407 -0
  244. package/dist/styles.css +28463 -0
  245. package/dist/styles.css.map +1 -0
  246. package/dist/styles.min.css +1 -0
  247. package/dist/styles.min.css.map +1 -0
  248. package/dist/tools.d.ts +150 -0
  249. package/package.json +140 -101
  250. package/axis-chart.d.ts +0 -10
  251. package/axis-chart.js +0 -169
  252. package/axis-chart.js.map +0 -1
  253. package/build/demo/create-codesandbox.d.ts +0 -113
  254. package/build/demo/data/CHART_TYPES.d.ts +0 -123
  255. package/build/demo/data/alluvial.d.ts +0 -109
  256. package/build/demo/data/area.d.ts +0 -224
  257. package/build/demo/data/bar.d.ts +0 -681
  258. package/build/demo/data/boxplot.d.ts +0 -34
  259. package/build/demo/data/bubble.d.ts +0 -141
  260. package/build/demo/data/bullet.d.ts +0 -24
  261. package/build/demo/data/circle-pack.d.ts +0 -91
  262. package/build/demo/data/combo.d.ts +0 -482
  263. package/build/demo/data/donut.d.ts +0 -64
  264. package/build/demo/data/gauge.d.ts +0 -40
  265. package/build/demo/data/heatmap.d.ts +0 -125
  266. package/build/demo/data/high-scale.d.ts +0 -1
  267. package/build/demo/data/hightlight.d.ts +0 -40
  268. package/build/demo/data/histogram.d.ts +0 -63
  269. package/build/demo/data/index.d.ts +0 -32
  270. package/build/demo/data/line.d.ts +0 -361
  271. package/build/demo/data/lollipop.d.ts +0 -39
  272. package/build/demo/data/meter.d.ts +0 -95
  273. package/build/demo/data/pie.d.ts +0 -46
  274. package/build/demo/data/radar.d.ts +0 -63
  275. package/build/demo/data/scatter.d.ts +0 -118
  276. package/build/demo/data/step.d.ts +0 -96
  277. package/build/demo/data/time-series-axis.d.ts +0 -368
  278. package/build/demo/data/toolbar.d.ts +0 -12
  279. package/build/demo/data/tree.d.ts +0 -30
  280. package/build/demo/data/treemap.d.ts +0 -15
  281. package/build/demo/data/wordcloud.d.ts +0 -14
  282. package/build/demo/data/zoom-bar.d.ts +0 -94
  283. package/build/demo/utils.d.ts +0 -40
  284. package/build/src/axis-chart.d.ts +0 -10
  285. package/build/src/chart.d.ts +0 -14
  286. package/build/src/charts/alluvial.d.ts +0 -8
  287. package/build/src/charts/area-stacked.d.ts +0 -6
  288. package/build/src/charts/area.d.ts +0 -6
  289. package/build/src/charts/bar-grouped.d.ts +0 -6
  290. package/build/src/charts/bar-simple.d.ts +0 -6
  291. package/build/src/charts/bar-stacked.d.ts +0 -6
  292. package/build/src/charts/boxplot.d.ts +0 -8
  293. package/build/src/charts/bubble.d.ts +0 -6
  294. package/build/src/charts/bullet.d.ts +0 -8
  295. package/build/src/charts/circle-pack.d.ts +0 -8
  296. package/build/src/charts/combo.d.ts +0 -7
  297. package/build/src/charts/donut.d.ts +0 -6
  298. package/build/src/charts/gauge.d.ts +0 -8
  299. package/build/src/charts/heatmap.d.ts +0 -10
  300. package/build/src/charts/histogram.d.ts +0 -8
  301. package/build/src/charts/index.d.ts +0 -24
  302. package/build/src/charts/line.d.ts +0 -6
  303. package/build/src/charts/lollipop.d.ts +0 -6
  304. package/build/src/charts/meter.d.ts +0 -8
  305. package/build/src/charts/pie.d.ts +0 -8
  306. package/build/src/charts/radar.d.ts +0 -8
  307. package/build/src/charts/scatter.d.ts +0 -6
  308. package/build/src/charts/tree.d.ts +0 -8
  309. package/build/src/charts/treemap.d.ts +0 -8
  310. package/build/src/charts/wordcloud.d.ts +0 -8
  311. package/build/src/components/axes/axis.d.ts +0 -24
  312. package/build/src/components/axes/chart-clip.d.ts +0 -13
  313. package/build/src/components/axes/grid-brush.d.ts +0 -10
  314. package/build/src/components/axes/grid.d.ts +0 -22
  315. package/build/src/components/axes/hover-axis.d.ts +0 -10
  316. package/build/src/components/axes/ruler-binned.d.ts +0 -7
  317. package/build/src/components/axes/ruler-stacked.d.ts +0 -4
  318. package/build/src/components/axes/ruler.d.ts +0 -27
  319. package/build/src/components/axes/toolbar.d.ts +0 -40
  320. package/build/src/components/axes/two-dimensional-axes.d.ts +0 -16
  321. package/build/src/components/axes/zero-line.d.ts +0 -7
  322. package/build/src/components/axes/zoom-bar.d.ts +0 -28
  323. package/build/src/components/component.d.ts +0 -28
  324. package/build/src/components/diagrams/buildPaths.d.ts +0 -63
  325. package/build/src/components/diagrams/markerDefinitions.d.ts +0 -37
  326. package/build/src/components/essentials/canvas-chart-clip.d.ts +0 -6
  327. package/build/src/components/essentials/color-scale-legend.d.ts +0 -17
  328. package/build/src/components/essentials/highlights.d.ts +0 -13
  329. package/build/src/components/essentials/legend.d.ts +0 -11
  330. package/build/src/components/essentials/modal.d.ts +0 -14
  331. package/build/src/components/essentials/threshold.d.ts +0 -20
  332. package/build/src/components/essentials/title-meter.d.ts +0 -30
  333. package/build/src/components/essentials/title.d.ts +0 -20
  334. package/build/src/components/essentials/tooltip-axis.d.ts +0 -4
  335. package/build/src/components/essentials/tooltip.d.ts +0 -22
  336. package/build/src/components/graphs/alluvial.d.ts +0 -14
  337. package/build/src/components/graphs/area-stacked.d.ts +0 -11
  338. package/build/src/components/graphs/area.d.ts +0 -12
  339. package/build/src/components/graphs/bar-grouped.d.ts +0 -22
  340. package/build/src/components/graphs/bar-simple.d.ts +0 -12
  341. package/build/src/components/graphs/bar-stacked.d.ts +0 -13
  342. package/build/src/components/graphs/bar.d.ts +0 -5
  343. package/build/src/components/graphs/boxplot.d.ts +0 -9
  344. package/build/src/components/graphs/bubble.d.ts +0 -13
  345. package/build/src/components/graphs/bullet.d.ts +0 -12
  346. package/build/src/components/graphs/circle-pack.d.ts +0 -19
  347. package/build/src/components/graphs/donut.d.ts +0 -9
  348. package/build/src/components/graphs/gauge.d.ts +0 -27
  349. package/build/src/components/graphs/heatmap.d.ts +0 -25
  350. package/build/src/components/graphs/histogram.d.ts +0 -12
  351. package/build/src/components/graphs/line.d.ts +0 -11
  352. package/build/src/components/graphs/lollipop.d.ts +0 -14
  353. package/build/src/components/graphs/meter.d.ts +0 -10
  354. package/build/src/components/graphs/pie.d.ts +0 -16
  355. package/build/src/components/graphs/radar.d.ts +0 -25
  356. package/build/src/components/graphs/scatter-stacked.d.ts +0 -8
  357. package/build/src/components/graphs/scatter.d.ts +0 -21
  358. package/build/src/components/graphs/skeleton-lines.d.ts +0 -11
  359. package/build/src/components/graphs/skeleton.d.ts +0 -22
  360. package/build/src/components/graphs/tree.d.ts +0 -9
  361. package/build/src/components/graphs/treemap.d.ts +0 -11
  362. package/build/src/components/graphs/wordcloud.d.ts +0 -12
  363. package/build/src/components/index.d.ts +0 -51
  364. package/build/src/components/layout/layout.d.ts +0 -17
  365. package/build/src/components/layout/spacer.d.ts +0 -5
  366. package/build/src/configuration-non-customizable.d.ts +0 -263
  367. package/build/src/configuration.d.ts +0 -44
  368. package/build/src/interfaces/a11y.d.ts +0 -12
  369. package/build/src/interfaces/axis-scales.d.ts +0 -201
  370. package/build/src/interfaces/charts.d.ts +0 -485
  371. package/build/src/interfaces/components.d.ts +0 -231
  372. package/build/src/interfaces/enums.d.ts +0 -249
  373. package/build/src/interfaces/events.d.ts +0 -230
  374. package/build/src/interfaces/index.d.ts +0 -7
  375. package/build/src/interfaces/layout.d.ts +0 -15
  376. package/build/src/interfaces/model.d.ts +0 -35
  377. package/build/src/interfaces/truncation.d.ts +0 -17
  378. package/build/src/model/alluvial.d.ts +0 -8
  379. package/build/src/model/binned-charts.d.ts +0 -7
  380. package/build/src/model/boxplot.d.ts +0 -14
  381. package/build/src/model/bullet.d.ts +0 -14
  382. package/build/src/model/cartesian-charts.d.ts +0 -24
  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 -57
  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/curves.d.ts +0 -25
  396. package/build/src/services/essentials/dom-utils.d.ts +0 -39
  397. package/build/src/services/essentials/events.d.ts +0 -8
  398. package/build/src/services/essentials/files.d.ts +0 -6
  399. package/build/src/services/essentials/gradient-utils.d.ts +0 -6
  400. package/build/src/services/essentials/transitions.d.ts +0 -13
  401. package/build/src/services/index.d.ts +0 -9
  402. package/build/src/services/scales-cartesian.d.ts +0 -86
  403. package/build/src/services/service.d.ts +0 -10
  404. package/build/src/services/time-series.d.ts +0 -787
  405. package/build/src/services/zoom.d.ts +0 -21
  406. package/build/src/tools.d.ts +0 -2427
  407. package/build/stories/all.stories.d.ts +0 -1
  408. package/build/stories/tutorials/api.d.ts +0 -4
  409. package/build/stories/tutorials/color-palette.d.ts +0 -4
  410. package/build/stories/tutorials/combo-charts.d.ts +0 -4
  411. package/build/stories/tutorials/dual-axes.d.ts +0 -4
  412. package/build/stories/tutorials/event-listeners.d.ts +0 -4
  413. package/build/stories/tutorials/getting-started/angular.d.ts +0 -5
  414. package/build/stories/tutorials/getting-started/react.d.ts +0 -5
  415. package/build/stories/tutorials/getting-started/vanilla.d.ts +0 -5
  416. package/build/stories/tutorials/getting-started/vue.d.ts +0 -5
  417. package/build/stories/tutorials/index.d.ts +0 -11
  418. package/build/stories/tutorials/tabular-data-format.d.ts +0 -4
  419. package/build/stories/tutorials/themes.d.ts +0 -4
  420. package/build/stories/tutorials.stories.d.ts +0 -1
  421. package/bundle.js +0 -17
  422. package/chart.d.ts +0 -14
  423. package/chart.js +0 -198
  424. package/chart.js.map +0 -1
  425. package/charts/alluvial.d.ts +0 -8
  426. package/charts/alluvial.js +0 -46
  427. package/charts/alluvial.js.map +0 -1
  428. package/charts/area-stacked.d.ts +0 -6
  429. package/charts/area-stacked.js +0 -55
  430. package/charts/area-stacked.js.map +0 -1
  431. package/charts/area.d.ts +0 -6
  432. package/charts/area.js +0 -54
  433. package/charts/area.js.map +0 -1
  434. package/charts/bar-grouped.d.ts +0 -6
  435. package/charts/bar-grouped.js +0 -49
  436. package/charts/bar-grouped.js.map +0 -1
  437. package/charts/bar-simple.d.ts +0 -6
  438. package/charts/bar-simple.js +0 -49
  439. package/charts/bar-simple.js.map +0 -1
  440. package/charts/bar-stacked.d.ts +0 -6
  441. package/charts/bar-stacked.js +0 -50
  442. package/charts/bar-stacked.js.map +0 -1
  443. package/charts/boxplot.d.ts +0 -8
  444. package/charts/boxplot.js +0 -55
  445. package/charts/boxplot.js.map +0 -1
  446. package/charts/bubble.d.ts +0 -6
  447. package/charts/bubble.js +0 -49
  448. package/charts/bubble.js.map +0 -1
  449. package/charts/bullet.d.ts +0 -8
  450. package/charts/bullet.js +0 -50
  451. package/charts/bullet.js.map +0 -1
  452. package/charts/circle-pack.d.ts +0 -8
  453. package/charts/circle-pack.js +0 -45
  454. package/charts/circle-pack.js.map +0 -1
  455. package/charts/combo.d.ts +0 -7
  456. package/charts/combo.js +0 -132
  457. package/charts/combo.js.map +0 -1
  458. package/charts/donut.d.ts +0 -6
  459. package/charts/donut.js +0 -46
  460. package/charts/donut.js.map +0 -1
  461. package/charts/gauge.d.ts +0 -8
  462. package/charts/gauge.js +0 -42
  463. package/charts/gauge.js.map +0 -1
  464. package/charts/heatmap.d.ts +0 -10
  465. package/charts/heatmap.js +0 -138
  466. package/charts/heatmap.js.map +0 -1
  467. package/charts/histogram.d.ts +0 -8
  468. package/charts/histogram.js +0 -48
  469. package/charts/histogram.js.map +0 -1
  470. package/charts/index.d.ts +0 -24
  471. package/charts/index.js +0 -25
  472. package/charts/index.js.map +0 -1
  473. package/charts/line.d.ts +0 -6
  474. package/charts/line.js +0 -48
  475. package/charts/line.js.map +0 -1
  476. package/charts/lollipop.d.ts +0 -6
  477. package/charts/lollipop.js +0 -50
  478. package/charts/lollipop.js.map +0 -1
  479. package/charts/meter.d.ts +0 -8
  480. package/charts/meter.js +0 -94
  481. package/charts/meter.js.map +0 -1
  482. package/charts/pie.d.ts +0 -8
  483. package/charts/pie.js +0 -55
  484. package/charts/pie.js.map +0 -1
  485. package/charts/radar.d.ts +0 -8
  486. package/charts/radar.js +0 -44
  487. package/charts/radar.js.map +0 -1
  488. package/charts/scatter.d.ts +0 -6
  489. package/charts/scatter.js +0 -49
  490. package/charts/scatter.js.map +0 -1
  491. package/charts/tree.d.ts +0 -8
  492. package/charts/tree.js +0 -47
  493. package/charts/tree.js.map +0 -1
  494. package/charts/treemap.d.ts +0 -8
  495. package/charts/treemap.js +0 -43
  496. package/charts/treemap.js.map +0 -1
  497. package/charts/wordcloud.d.ts +0 -8
  498. package/charts/wordcloud.js +0 -49
  499. package/charts/wordcloud.js.map +0 -1
  500. package/components/axes/axis.d.ts +0 -24
  501. package/components/axes/axis.js +0 -587
  502. package/components/axes/axis.js.map +0 -1
  503. package/components/axes/chart-clip.d.ts +0 -13
  504. package/components/axes/chart-clip.js +0 -63
  505. package/components/axes/chart-clip.js.map +0 -1
  506. package/components/axes/grid-brush.d.ts +0 -10
  507. package/components/axes/grid-brush.js +0 -170
  508. package/components/axes/grid-brush.js.map +0 -1
  509. package/components/axes/grid.d.ts +0 -22
  510. package/components/axes/grid.js +0 -235
  511. package/components/axes/grid.js.map +0 -1
  512. package/components/axes/hover-axis.js +0 -243
  513. package/components/axes/hover-axis.js.map +0 -1
  514. package/components/axes/ruler-binned.d.ts +0 -7
  515. package/components/axes/ruler-binned.js +0 -136
  516. package/components/axes/ruler-binned.js.map +0 -1
  517. package/components/axes/ruler-stacked.js +0 -26
  518. package/components/axes/ruler-stacked.js.map +0 -1
  519. package/components/axes/ruler.d.ts +0 -27
  520. package/components/axes/ruler.js +0 -209
  521. package/components/axes/ruler.js.map +0 -1
  522. package/components/axes/toolbar.d.ts +0 -40
  523. package/components/axes/toolbar.js +0 -558
  524. package/components/axes/toolbar.js.map +0 -1
  525. package/components/axes/two-dimensional-axes.d.ts +0 -16
  526. package/components/axes/two-dimensional-axes.js +0 -134
  527. package/components/axes/two-dimensional-axes.js.map +0 -1
  528. package/components/axes/zero-line.d.ts +0 -7
  529. package/components/axes/zero-line.js +0 -76
  530. package/components/axes/zero-line.js.map +0 -1
  531. package/components/axes/zoom-bar.d.ts +0 -28
  532. package/components/axes/zoom-bar.js +0 -490
  533. package/components/axes/zoom-bar.js.map +0 -1
  534. package/components/component.d.ts +0 -28
  535. package/components/component.js +0 -102
  536. package/components/component.js.map +0 -1
  537. package/components/diagrams/buildPaths.d.ts +0 -39
  538. package/components/diagrams/buildPaths.js +0 -71
  539. package/components/diagrams/buildPaths.js.map +0 -1
  540. package/components/diagrams/markerDefinitions.js +0 -38
  541. package/components/diagrams/markerDefinitions.js.map +0 -1
  542. package/components/essentials/canvas-chart-clip.d.ts +0 -6
  543. package/components/essentials/canvas-chart-clip.js +0 -46
  544. package/components/essentials/canvas-chart-clip.js.map +0 -1
  545. package/components/essentials/color-scale-legend.d.ts +0 -17
  546. package/components/essentials/color-scale-legend.js +0 -230
  547. package/components/essentials/color-scale-legend.js.map +0 -1
  548. package/components/essentials/highlights.d.ts +0 -13
  549. package/components/essentials/highlights.js +0 -196
  550. package/components/essentials/highlights.js.map +0 -1
  551. package/components/essentials/legend.d.ts +0 -11
  552. package/components/essentials/legend.js +0 -428
  553. package/components/essentials/legend.js.map +0 -1
  554. package/components/essentials/modal.d.ts +0 -14
  555. package/components/essentials/modal.js +0 -89
  556. package/components/essentials/modal.js.map +0 -1
  557. package/components/essentials/threshold.d.ts +0 -20
  558. package/components/essentials/threshold.js +0 -306
  559. package/components/essentials/threshold.js.map +0 -1
  560. package/components/essentials/title-meter.d.ts +0 -30
  561. package/components/essentials/title-meter.js +0 -279
  562. package/components/essentials/title-meter.js.map +0 -1
  563. package/components/essentials/title.d.ts +0 -20
  564. package/components/essentials/title.js +0 -138
  565. package/components/essentials/title.js.map +0 -1
  566. package/components/essentials/tooltip-axis.js +0 -142
  567. package/components/essentials/tooltip-axis.js.map +0 -1
  568. package/components/essentials/tooltip.d.ts +0 -22
  569. package/components/essentials/tooltip.js +0 -263
  570. package/components/essentials/tooltip.js.map +0 -1
  571. package/components/graphs/alluvial.d.ts +0 -14
  572. package/components/graphs/alluvial.js +0 -535
  573. package/components/graphs/alluvial.js.map +0 -1
  574. package/components/graphs/area-stacked.d.ts +0 -11
  575. package/components/graphs/area-stacked.js +0 -131
  576. package/components/graphs/area-stacked.js.map +0 -1
  577. package/components/graphs/area.d.ts +0 -12
  578. package/components/graphs/area.js +0 -260
  579. package/components/graphs/area.js.map +0 -1
  580. package/components/graphs/bar-grouped.d.ts +0 -22
  581. package/components/graphs/bar-grouped.js +0 -312
  582. package/components/graphs/bar-grouped.js.map +0 -1
  583. package/components/graphs/bar-simple.d.ts +0 -12
  584. package/components/graphs/bar-simple.js +0 -218
  585. package/components/graphs/bar-simple.js.map +0 -1
  586. package/components/graphs/bar-stacked.d.ts +0 -13
  587. package/components/graphs/bar-stacked.js +0 -281
  588. package/components/graphs/bar-stacked.js.map +0 -1
  589. package/components/graphs/bar.d.ts +0 -5
  590. package/components/graphs/bar.js +0 -58
  591. package/components/graphs/bar.js.map +0 -1
  592. package/components/graphs/boxplot.d.ts +0 -9
  593. package/components/graphs/boxplot.js +0 -485
  594. package/components/graphs/boxplot.js.map +0 -1
  595. package/components/graphs/bubble.d.ts +0 -13
  596. package/components/graphs/bubble.js +0 -113
  597. package/components/graphs/bubble.js.map +0 -1
  598. package/components/graphs/bullet.d.ts +0 -12
  599. package/components/graphs/bullet.js +0 -395
  600. package/components/graphs/bullet.js.map +0 -1
  601. package/components/graphs/circle-pack.d.ts +0 -19
  602. package/components/graphs/circle-pack.js +0 -388
  603. package/components/graphs/circle-pack.js.map +0 -1
  604. package/components/graphs/donut.d.ts +0 -9
  605. package/components/graphs/donut.js +0 -116
  606. package/components/graphs/donut.js.map +0 -1
  607. package/components/graphs/gauge.d.ts +0 -27
  608. package/components/graphs/gauge.js +0 -347
  609. package/components/graphs/gauge.js.map +0 -1
  610. package/components/graphs/heatmap.d.ts +0 -25
  611. package/components/graphs/heatmap.js +0 -388
  612. package/components/graphs/heatmap.js.map +0 -1
  613. package/components/graphs/histogram.d.ts +0 -12
  614. package/components/graphs/histogram.js +0 -220
  615. package/components/graphs/histogram.js.map +0 -1
  616. package/components/graphs/line.d.ts +0 -11
  617. package/components/graphs/line.js +0 -179
  618. package/components/graphs/line.js.map +0 -1
  619. package/components/graphs/lollipop.d.ts +0 -14
  620. package/components/graphs/lollipop.js +0 -164
  621. package/components/graphs/lollipop.js.map +0 -1
  622. package/components/graphs/meter.d.ts +0 -10
  623. package/components/graphs/meter.js +0 -284
  624. package/components/graphs/meter.js.map +0 -1
  625. package/components/graphs/pie.d.ts +0 -16
  626. package/components/graphs/pie.js +0 -438
  627. package/components/graphs/pie.js.map +0 -1
  628. package/components/graphs/radar.d.ts +0 -25
  629. package/components/graphs/radar.js +0 -737
  630. package/components/graphs/radar.js.map +0 -1
  631. package/components/graphs/scatter-stacked.d.ts +0 -8
  632. package/components/graphs/scatter-stacked.js +0 -140
  633. package/components/graphs/scatter-stacked.js.map +0 -1
  634. package/components/graphs/scatter.d.ts +0 -21
  635. package/components/graphs/scatter.js +0 -360
  636. package/components/graphs/scatter.js.map +0 -1
  637. package/components/graphs/skeleton-lines.d.ts +0 -11
  638. package/components/graphs/skeleton-lines.js +0 -84
  639. package/components/graphs/skeleton-lines.js.map +0 -1
  640. package/components/graphs/skeleton.d.ts +0 -22
  641. package/components/graphs/skeleton.js +0 -272
  642. package/components/graphs/skeleton.js.map +0 -1
  643. package/components/graphs/tree.d.ts +0 -9
  644. package/components/graphs/tree.js +0 -262
  645. package/components/graphs/tree.js.map +0 -1
  646. package/components/graphs/treemap.d.ts +0 -11
  647. package/components/graphs/treemap.js +0 -344
  648. package/components/graphs/treemap.js.map +0 -1
  649. package/components/graphs/wordcloud.d.ts +0 -12
  650. package/components/graphs/wordcloud.js +0 -268
  651. package/components/graphs/wordcloud.js.map +0 -1
  652. package/components/index.d.ts +0 -51
  653. package/components/index.js +0 -57
  654. package/components/index.js.map +0 -1
  655. package/components/layout/layout.d.ts +0 -17
  656. package/components/layout/layout.js +0 -191
  657. package/components/layout/layout.js.map +0 -1
  658. package/components/layout/spacer.d.ts +0 -5
  659. package/components/layout/spacer.js +0 -33
  660. package/components/layout/spacer.js.map +0 -1
  661. package/configuration-non-customizable.d.ts +0 -263
  662. package/configuration-non-customizable.js +0 -276
  663. package/configuration-non-customizable.js.map +0 -1
  664. package/configuration.d.ts +0 -44
  665. package/configuration.js +0 -535
  666. package/configuration.js.map +0 -1
  667. package/demo/create-codesandbox.d.ts +0 -65
  668. package/demo/create-codesandbox.js +0 -155
  669. package/demo/create-codesandbox.js.map +0 -1
  670. package/demo/data/CHART_TYPES.d.ts +0 -123
  671. package/demo/data/CHART_TYPES.js +0 -123
  672. package/demo/data/CHART_TYPES.js.map +0 -1
  673. package/demo/data/alluvial.d.ts +0 -109
  674. package/demo/data/alluvial.js +0 -328
  675. package/demo/data/alluvial.js.map +0 -1
  676. package/demo/data/area.d.ts +0 -224
  677. package/demo/data/area.js +0 -330
  678. package/demo/data/area.js.map +0 -1
  679. package/demo/data/bar.d.ts +0 -681
  680. package/demo/data/bar.js +0 -915
  681. package/demo/data/bar.js.map +0 -1
  682. package/demo/data/boxplot.d.ts +0 -34
  683. package/demo/data/boxplot.js +0 -48
  684. package/demo/data/boxplot.js.map +0 -1
  685. package/demo/data/bubble.d.ts +0 -141
  686. package/demo/data/bubble.js +0 -182
  687. package/demo/data/bubble.js.map +0 -1
  688. package/demo/data/bullet.d.ts +0 -24
  689. package/demo/data/bullet.js +0 -55
  690. package/demo/data/bullet.js.map +0 -1
  691. package/demo/data/bundle.js +0 -1
  692. package/demo/data/circle-pack.d.ts +0 -91
  693. package/demo/data/circle-pack.js +0 -224
  694. package/demo/data/circle-pack.js.map +0 -1
  695. package/demo/data/combo.d.ts +0 -482
  696. package/demo/data/combo.js +0 -571
  697. package/demo/data/combo.js.map +0 -1
  698. package/demo/data/donut.d.ts +0 -64
  699. package/demo/data/donut.js +0 -60
  700. package/demo/data/donut.js.map +0 -1
  701. package/demo/data/gauge.d.ts +0 -40
  702. package/demo/data/gauge.js +0 -41
  703. package/demo/data/gauge.js.map +0 -1
  704. package/demo/data/heatmap.d.ts +0 -125
  705. package/demo/data/heatmap.js +0 -1149
  706. package/demo/data/heatmap.js.map +0 -1
  707. package/demo/data/high-scale.d.ts +0 -1
  708. package/demo/data/high-scale.js +0 -5
  709. package/demo/data/high-scale.js.map +0 -1
  710. package/demo/data/hightlight.d.ts +0 -40
  711. package/demo/data/hightlight.js +0 -44
  712. package/demo/data/hightlight.js.map +0 -1
  713. package/demo/data/histogram.d.ts +0 -63
  714. package/demo/data/histogram.js +0 -312
  715. package/demo/data/histogram.js.map +0 -1
  716. package/demo/data/index.d.ts +0 -32
  717. package/demo/data/index.js +0 -1265
  718. package/demo/data/index.js.map +0 -1
  719. package/demo/data/line.d.ts +0 -361
  720. package/demo/data/line.js +0 -480
  721. package/demo/data/line.js.map +0 -1
  722. package/demo/data/lollipop.d.ts +0 -39
  723. package/demo/data/lollipop.js +0 -37
  724. package/demo/data/lollipop.js.map +0 -1
  725. package/demo/data/meter.d.ts +0 -95
  726. package/demo/data/meter.js +0 -114
  727. package/demo/data/meter.js.map +0 -1
  728. package/demo/data/pie.d.ts +0 -46
  729. package/demo/data/pie.js +0 -55
  730. package/demo/data/pie.js.map +0 -1
  731. package/demo/data/radar.d.ts +0 -63
  732. package/demo/data/radar.js +0 -118
  733. package/demo/data/radar.js.map +0 -1
  734. package/demo/data/scatter.d.ts +0 -118
  735. package/demo/data/scatter.js +0 -143
  736. package/demo/data/scatter.js.map +0 -1
  737. package/demo/data/step.d.ts +0 -96
  738. package/demo/data/step.js +0 -27
  739. package/demo/data/step.js.map +0 -1
  740. package/demo/data/time-series-axis.d.ts +0 -368
  741. package/demo/data/time-series-axis.js +0 -436
  742. package/demo/data/time-series-axis.js.map +0 -1
  743. package/demo/data/toolbar.d.ts +0 -12
  744. package/demo/data/toolbar.js +0 -67
  745. package/demo/data/toolbar.js.map +0 -1
  746. package/demo/data/tree.d.ts +0 -30
  747. package/demo/data/tree.js +0 -209
  748. package/demo/data/tree.js.map +0 -1
  749. package/demo/data/treemap.d.ts +0 -15
  750. package/demo/data/treemap.js +0 -93
  751. package/demo/data/treemap.js.map +0 -1
  752. package/demo/data/wordcloud.d.ts +0 -14
  753. package/demo/data/wordcloud.js +0 -105
  754. package/demo/data/wordcloud.js.map +0 -1
  755. package/demo/data/zoom-bar.d.ts +0 -94
  756. package/demo/data/zoom-bar.js +0 -187
  757. package/demo/data/zoom-bar.js.map +0 -1
  758. package/demo/styles.css +0 -31006
  759. package/demo/styles.css.map +0 -1
  760. package/demo/styles.min.css +0 -1
  761. package/demo/styles.min.css.map +0 -1
  762. package/demo/tsconfig.tsbuildinfo +0 -1432
  763. package/demo/utils.d.ts +0 -24
  764. package/demo/utils.js +0 -194
  765. package/demo/utils.js.map +0 -1
  766. package/index.d.ts +0 -4
  767. package/index.js +0 -6
  768. package/index.js.map +0 -1
  769. package/interfaces/a11y.js +0 -14
  770. package/interfaces/a11y.js.map +0 -1
  771. package/interfaces/axis-scales.d.ts +0 -201
  772. package/interfaces/axis-scales.js +0 -1
  773. package/interfaces/axis-scales.js.map +0 -1
  774. package/interfaces/charts.d.ts +0 -485
  775. package/interfaces/charts.js +0 -1
  776. package/interfaces/charts.js.map +0 -1
  777. package/interfaces/components.d.ts +0 -231
  778. package/interfaces/components.js +0 -1
  779. package/interfaces/components.js.map +0 -1
  780. package/interfaces/enums.d.ts +0 -249
  781. package/interfaces/enums.js +0 -280
  782. package/interfaces/enums.js.map +0 -1
  783. package/interfaces/events.d.ts +0 -230
  784. package/interfaces/events.js +0 -259
  785. package/interfaces/events.js.map +0 -1
  786. package/interfaces/index.d.ts +0 -7
  787. package/interfaces/index.js +0 -3
  788. package/interfaces/index.js.map +0 -1
  789. package/interfaces/layout.d.ts +0 -15
  790. package/interfaces/layout.js +0 -1
  791. package/interfaces/layout.js.map +0 -1
  792. package/interfaces/model.d.ts +0 -35
  793. package/interfaces/model.js +0 -1
  794. package/interfaces/model.js.map +0 -1
  795. package/interfaces/truncation.d.ts +0 -17
  796. package/interfaces/truncation.js +0 -1
  797. package/interfaces/truncation.js.map +0 -1
  798. package/model/alluvial.js +0 -47
  799. package/model/alluvial.js.map +0 -1
  800. package/model/binned-charts.d.ts +0 -7
  801. package/model/binned-charts.js +0 -52
  802. package/model/binned-charts.js.map +0 -1
  803. package/model/boxplot.js +0 -174
  804. package/model/boxplot.js.map +0 -1
  805. package/model/bullet.js +0 -74
  806. package/model/bullet.js.map +0 -1
  807. package/model/cartesian-charts.d.ts +0 -24
  808. package/model/cartesian-charts.js +0 -202
  809. package/model/cartesian-charts.js.map +0 -1
  810. package/model/circle-pack.js +0 -189
  811. package/model/circle-pack.js.map +0 -1
  812. package/model/gauge.js +0 -51
  813. package/model/gauge.js.map +0 -1
  814. package/model/heatmap.d.ts +0 -57
  815. package/model/heatmap.js +0 -281
  816. package/model/heatmap.js.map +0 -1
  817. package/model/meter.d.ts +0 -19
  818. package/model/meter.js +0 -118
  819. package/model/meter.js.map +0 -1
  820. package/model/model.d.ts +0 -107
  821. package/model/model.js +0 -712
  822. package/model/model.js.map +0 -1
  823. package/model/pie.js +0 -66
  824. package/model/pie.js.map +0 -1
  825. package/model/radar.js +0 -52
  826. package/model/radar.js.map +0 -1
  827. package/model/tree.js +0 -56
  828. package/model/tree.js.map +0 -1
  829. package/model/treemap.js +0 -44
  830. package/model/treemap.js.map +0 -1
  831. package/model/wordcloud.js +0 -47
  832. package/model/wordcloud.js.map +0 -1
  833. package/polyfills.d.ts +0 -0
  834. package/polyfills.js +0 -29
  835. package/polyfills.js.map +0 -1
  836. package/services/angle-utils.d.ts +0 -16
  837. package/services/angle-utils.js +0 -82
  838. package/services/angle-utils.js.map +0 -1
  839. package/services/canvas-zoom.js +0 -72
  840. package/services/canvas-zoom.js.map +0 -1
  841. package/services/curves.d.ts +0 -25
  842. package/services/curves.js +0 -77
  843. package/services/curves.js.map +0 -1
  844. package/services/essentials/dom-utils.d.ts +0 -39
  845. package/services/essentials/dom-utils.js +0 -423
  846. package/services/essentials/dom-utils.js.map +0 -1
  847. package/services/essentials/events.d.ts +0 -8
  848. package/services/essentials/events.js +0 -53
  849. package/services/essentials/events.js.map +0 -1
  850. package/services/essentials/files.d.ts +0 -6
  851. package/services/essentials/files.js +0 -60
  852. package/services/essentials/files.js.map +0 -1
  853. package/services/essentials/gradient-utils.d.ts +0 -6
  854. package/services/essentials/gradient-utils.js +0 -85
  855. package/services/essentials/gradient-utils.js.map +0 -1
  856. package/services/essentials/transitions.d.ts +0 -13
  857. package/services/essentials/transitions.js +0 -51
  858. package/services/essentials/transitions.js.map +0 -1
  859. package/services/index.d.ts +0 -9
  860. package/services/index.js +0 -12
  861. package/services/index.js.map +0 -1
  862. package/services/scales-cartesian.d.ts +0 -86
  863. package/services/scales-cartesian.js +0 -656
  864. package/services/scales-cartesian.js.map +0 -1
  865. package/services/service.d.ts +0 -10
  866. package/services/service.js +0 -24
  867. package/services/service.js.map +0 -1
  868. package/services/time-series.js +0 -147
  869. package/services/time-series.js.map +0 -1
  870. package/services/zoom.d.ts +0 -21
  871. package/services/zoom.js +0 -217
  872. package/services/zoom.js.map +0 -1
  873. package/styles/_chart-holder.scss +0 -50
  874. package/styles/color-palatte.scss +0 -362
  875. package/styles/colors.scss +0 -140
  876. package/styles/components/_color-legend.scss +0 -11
  877. package/styles/components/_edge.scss +0 -65
  878. package/styles/components/_grid.scss +0 -30
  879. package/styles/components/_marker.scss +0 -7
  880. package/styles/components/_meter-title.scss +0 -37
  881. package/styles/components/_tooltip.scss +0 -132
  882. package/styles/components/diagrams/_card-node.scss +0 -97
  883. package/styles/components/diagrams/_edge.scss +0 -66
  884. package/styles/components/diagrams/_shape-node.scss +0 -89
  885. package/styles/components/diagrams/index.scss +0 -4
  886. package/styles/graphs/_alluvial.scss +0 -17
  887. package/styles/graphs/_bullet.scss +0 -36
  888. package/styles/graphs/_circle-pack.scss +0 -36
  889. package/styles/graphs/_gauge.scss +0 -23
  890. package/styles/graphs/_heatmap.scss +0 -60
  891. package/styles/graphs/_meter.scss +0 -34
  892. package/styles/graphs/_radar.scss +0 -18
  893. package/styles/graphs/_scatter-stacked.scss +0 -12
  894. package/styles/graphs/_tree.scss +0 -47
  895. package/styles/graphs/index.scss +0 -18
  896. package/styles/styles.scss +0 -35
  897. package/styles/tokens.scss +0 -416
  898. package/styles.css +0 -6313
  899. package/styles.css.map +0 -1
  900. package/styles.min.css +0 -1
  901. package/styles.min.css.map +0 -1
  902. package/tools.d.ts +0 -144
  903. package/tools.js +0 -348
  904. package/tools.js.map +0 -1
  905. package/tsconfig.tsbuildinfo +0 -3444
  906. /package/{components → dist/components}/axes/hover-axis.d.ts +0 -0
  907. /package/{components → dist/components}/axes/ruler-stacked.d.ts +0 -0
  908. /package/{components → dist/components}/diagrams/markerDefinitions.d.ts +0 -0
  909. /package/{components → dist/components}/essentials/tooltip-axis.d.ts +0 -0
  910. /package/{interfaces → dist/interfaces}/a11y.d.ts +0 -0
  911. /package/{model → dist/model}/alluvial.d.ts +0 -0
  912. /package/{model → dist/model}/boxplot.d.ts +0 -0
  913. /package/{model → dist/model}/bullet.d.ts +0 -0
  914. /package/{model → dist/model}/circle-pack.d.ts +0 -0
  915. /package/{model → dist/model}/gauge.d.ts +0 -0
  916. /package/{model → dist/model}/pie.d.ts +0 -0
  917. /package/{model → dist/model}/radar.d.ts +0 -0
  918. /package/{model → dist/model}/tree.d.ts +0 -0
  919. /package/{model → dist/model}/treemap.d.ts +0 -0
  920. /package/{model → dist/model}/wordcloud.d.ts +0 -0
  921. /package/{services → dist/services}/canvas-zoom.d.ts +0 -0
  922. /package/{services → dist/services}/time-series.d.ts +0 -0
  923. /package/{styles → dist/styles}/_type.scss +0 -0
  924. /package/{styles → dist/styles}/components/_axis.scss +0 -0
  925. /package/{styles → dist/styles}/components/_callouts.scss +0 -0
  926. /package/{styles → dist/styles}/components/_grid-brush.scss +0 -0
  927. /package/{styles → dist/styles}/components/_highlights.scss +0 -0
  928. /package/{styles → dist/styles}/components/_layout.scss +0 -0
  929. /package/{styles → dist/styles}/components/_legend.scss +0 -0
  930. /package/{styles → dist/styles}/components/_modal.scss +0 -0
  931. /package/{styles → dist/styles}/components/_ruler.scss +0 -0
  932. /package/{styles → dist/styles}/components/_skeleton-lines.scss +0 -0
  933. /package/{styles → dist/styles}/components/_skeleton.scss +0 -0
  934. /package/{styles → dist/styles}/components/_threshold.scss +0 -0
  935. /package/{styles → dist/styles}/components/_title.scss +0 -0
  936. /package/{styles → dist/styles}/components/_toolbar.scss +0 -0
  937. /package/{styles → dist/styles}/components/_zero-line.scss +0 -0
  938. /package/{styles → dist/styles}/components/_zoom-bar.scss +0 -0
  939. /package/{styles → dist/styles}/components/diagrams/_marker.scss +0 -0
  940. /package/{styles → dist/styles}/components/index.scss +0 -0
  941. /package/{styles → dist/styles}/graphs/_area.scss +0 -0
  942. /package/{styles → dist/styles}/graphs/_bubble.scss +0 -0
  943. /package/{styles → dist/styles}/graphs/_donut.scss +0 -0
  944. /package/{styles → dist/styles}/graphs/_line.scss +0 -0
  945. /package/{styles → dist/styles}/graphs/_lollipop.scss +0 -0
  946. /package/{styles → dist/styles}/graphs/_pie.scss +0 -0
  947. /package/{styles → dist/styles}/graphs/_scatter.scss +0 -0
  948. /package/{styles → dist/styles}/graphs/_treemap.scss +0 -0
  949. /package/{styles → dist/styles}/graphs/_wordcloud.scss +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"scales-cartesian.js","sourceRoot":"","sources":["scales-cartesian.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport * as Configuration from '../configuration';\nimport { Service } from './service';\nimport {\n\tAxisPositions,\n\tCartesianOrientations,\n\tScaleTypes,\n\tThresholdOptions,\n} from '../interfaces';\nimport * as Tools from '../tools';\n\n// D3 Imports\nimport { scaleBand, scaleLinear, scaleTime, scaleLog } from 'd3-scale';\nimport { extent, max } from 'd3-array';\n\n// Misc\nimport {\n\tdifferenceInYears,\n\taddYears,\n\tsubYears,\n\tdifferenceInMonths,\n\taddMonths,\n\tsubMonths,\n\tdifferenceInDays,\n\taddDays,\n\tsubDays,\n\tdifferenceInHours,\n\taddHours,\n\tsubHours,\n\tdifferenceInMinutes,\n\taddMinutes,\n\tsubMinutes,\n\tdifferenceInSeconds,\n\tsubSeconds,\n\taddSeconds,\n} from 'date-fns';\n\nexport class CartesianScales extends Service {\n\tprotected scaleTypes = {\n\t\ttop: null,\n\t\tright: null,\n\t\tbottom: null,\n\t\tleft: null,\n\t};\n\n\tprotected scales = {\n\t\ttop: null,\n\t\tright: null,\n\t\tbottom: null,\n\t\tleft: null,\n\t};\n\n\tprotected domainAxisPosition: AxisPositions;\n\tprotected rangeAxisPosition: AxisPositions;\n\tprotected secondaryDomainAxisPosition: AxisPositions;\n\tprotected secondaryRangeAxisPosition: AxisPositions;\n\n\tprotected dualAxes: Boolean;\n\n\tprotected orientation: CartesianOrientations;\n\n\tgetDomainAxisPosition({ datum = null } = {}) {\n\t\tif (this.dualAxes && datum) {\n\t\t\tconst options = this.model.getOptions();\n\t\t\tconst { groupMapsTo } = options.data;\n\t\t\tconst axesOptions = Tools.getProperty(\n\t\t\t\toptions,\n\t\t\t\t'axes',\n\t\t\t\tthis.secondaryDomainAxisPosition\n\t\t\t);\n\t\t\tconst dataset = datum[groupMapsTo];\n\t\t\tif (\n\t\t\t\taxesOptions?.correspondingDatasets &&\n\t\t\t\taxesOptions.correspondingDatasets.includes(dataset)\n\t\t\t) {\n\t\t\t\treturn this.secondaryDomainAxisPosition;\n\t\t\t}\n\t\t}\n\t\treturn this.domainAxisPosition;\n\t}\n\n\tgetRangeAxisPosition({ datum = null, groups = null } = {}) {\n\t\tif (this.dualAxes) {\n\t\t\tconst options = this.model.getOptions();\n\t\t\tconst { groupMapsTo } = options.data;\n\t\t\tconst axisOptions = Tools.getProperty(\n\t\t\t\toptions,\n\t\t\t\t'axes',\n\t\t\t\tthis.secondaryRangeAxisPosition\n\t\t\t);\n\t\t\tlet dataset;\n\t\t\tif (datum !== null) {\n\t\t\t\tdataset = datum[groupMapsTo];\n\t\t\t} else if (groups && groups.length > 0) {\n\t\t\t\tdataset = groups[0];\n\t\t\t}\n\t\t\tif (\n\t\t\t\taxisOptions?.correspondingDatasets &&\n\t\t\t\taxisOptions.correspondingDatasets.includes(dataset)\n\t\t\t) {\n\t\t\t\treturn this.secondaryRangeAxisPosition;\n\t\t\t}\n\t\t}\n\t\treturn this.rangeAxisPosition;\n\t}\n\n\tgetAxisOptions(position: AxisPositions) {\n\t\treturn Tools.getProperty(this.model.getOptions(), 'axes', position);\n\t}\n\n\tgetDomainAxisOptions() {\n\t\tconst domainAxisPosition = this.getDomainAxisPosition();\n\t\treturn this.getAxisOptions(domainAxisPosition);\n\t}\n\n\tgetRangeAxisOptions() {\n\t\tconst rangeAxisPosition = this.getRangeAxisPosition();\n\t\treturn this.getAxisOptions(rangeAxisPosition);\n\t}\n\n\tgetScaleLabel(position: AxisPositions) {\n\t\tconst axisOptions = this.getAxisOptions(position);\n\t\tlet title = axisOptions.title;\n\t\tif (!title) {\n\t\t\tif (\n\t\t\t\tposition === AxisPositions.BOTTOM ||\n\t\t\t\tposition === AxisPositions.TOP\n\t\t\t) {\n\t\t\t\treturn 'x-value';\n\t\t\t}\n\t\t\treturn 'y-value';\n\t\t}\n\t\treturn title;\n\t}\n\n\tgetDomainLabel() {\n\t\treturn this.getScaleLabel(this.getDomainAxisPosition());\n\t}\n\n\tgetRangeLabel() {\n\t\treturn this.getScaleLabel(this.getRangeAxisPosition());\n\t}\n\n\tupdate(animate = true) {\n\t\tthis.determineAxisDuality();\n\t\tthis.findDomainAndRangeAxes();\n\t\tthis.determineOrientation();\n\t\tconst axisPositions = Object.keys(AxisPositions).map(\n\t\t\t(axisPositionKey) => AxisPositions[axisPositionKey]\n\t\t);\n\t\taxisPositions.forEach((axisPosition) => {\n\t\t\tthis.scales[axisPosition] = this.createScale(axisPosition);\n\t\t});\n\t}\n\n\tfindDomainAndRangeAxes() {\n\t\t// find main axes between (left & right) && (bottom & top)\n\t\tconst verticalAxesPositions = this.findVerticalAxesPositions();\n\t\tconst horizontalAxesPositions = this.findHorizontalAxesPositions();\n\n\t\t// Now we have horizontal & vertical main axes to choose domain & range axes from\n\t\tconst domainAndRangeAxesPositions = this.findDomainAndRangeAxesPositions(\n\t\t\tverticalAxesPositions,\n\t\t\thorizontalAxesPositions\n\t\t);\n\n\t\tthis.domainAxisPosition =\n\t\t\tdomainAndRangeAxesPositions.primaryDomainAxisPosition;\n\t\tthis.rangeAxisPosition =\n\t\t\tdomainAndRangeAxesPositions.primaryRangeAxisPosition;\n\n\t\tif (this.isDualAxes()) {\n\t\t\tthis.secondaryDomainAxisPosition =\n\t\t\t\tdomainAndRangeAxesPositions.secondaryDomainAxisPosition;\n\t\t\tthis.secondaryRangeAxisPosition =\n\t\t\t\tdomainAndRangeAxesPositions.secondaryRangeAxisPosition;\n\t\t}\n\t}\n\n\tdetermineOrientation() {\n\t\tif (\n\t\t\t(this.rangeAxisPosition === AxisPositions.LEFT ||\n\t\t\t\tthis.rangeAxisPosition === AxisPositions.RIGHT) &&\n\t\t\t(this.domainAxisPosition === AxisPositions.BOTTOM ||\n\t\t\t\tthis.domainAxisPosition === AxisPositions.TOP)\n\t\t) {\n\t\t\tthis.orientation = CartesianOrientations.VERTICAL;\n\t\t} else {\n\t\t\tthis.orientation = CartesianOrientations.HORIZONTAL;\n\t\t}\n\t}\n\n\tisDualAxes() {\n\t\treturn this.dualAxes;\n\t}\n\n\t// if any of the axes objects have correspondingDatasets [] asserted we flag the chart as dual axes\n\t// it does not count as dual axes if it just has another axis turned on but is not actually using it to map a dataset\n\tdetermineAxisDuality() {\n\t\tconst options = this.model.getOptions();\n\t\tconst axesOptions = Tools.getProperty(options, 'axes');\n\n\t\tif (\n\t\t\t(axesOptions[AxisPositions.LEFT]?.correspondingDatasets &&\n\t\t\t\taxesOptions[AxisPositions.RIGHT]) ||\n\t\t\t(axesOptions[AxisPositions.RIGHT]?.correspondingDatasets &&\n\t\t\t\taxesOptions[AxisPositions.LEFT]) ||\n\t\t\t(axesOptions[AxisPositions.TOP]?.correspondingDatasets &&\n\t\t\t\taxesOptions[AxisPositions.BOTTOM]) ||\n\t\t\t(axesOptions[AxisPositions.BOTTOM]?.correspondingDatasets &&\n\t\t\t\taxesOptions[AxisPositions.TOP])\n\t\t) {\n\t\t\tthis.dualAxes = true;\n\t\t}\n\t}\n\n\tgetCustomDomainValuesByposition(axisPosition: AxisPositions) {\n\t\tconst domain = Tools.getProperty(\n\t\t\tthis.model.getOptions(),\n\t\t\t'axes',\n\t\t\taxisPosition,\n\t\t\t'domain'\n\t\t);\n\n\t\t// Check if domain is an array\n\t\tif (domain && !Array.isArray(domain)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Domain in ${axisPosition} axis is not a valid array`\n\t\t\t);\n\t\t}\n\n\t\t// Determine number of elements passed in domain depending on scale types\n\t\tif (Array.isArray(domain)) {\n\t\t\tif (\n\t\t\t\t(this.scaleTypes[axisPosition] === ScaleTypes.LINEAR ||\n\t\t\t\t\tthis.scaleTypes[axisPosition] === ScaleTypes.TIME) &&\n\t\t\t\tdomain.length !== 2\n\t\t\t) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`There can only be 2 elements in domain for scale type: ${this.scaleTypes[axisPosition]}`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn domain;\n\t}\n\n\tgetOrientation() {\n\t\treturn this.orientation;\n\t}\n\n\tgetScaleByPosition(axisPosition: AxisPositions) {\n\t\treturn this.scales[axisPosition];\n\t}\n\n\tgetScaleTypeByPosition(axisPosition: AxisPositions) {\n\t\treturn this.scaleTypes[axisPosition];\n\t}\n\n\tgetDomainAxisScaleType() {\n\t\tconst domainAxisPosition = this.getDomainAxisPosition();\n\t\treturn this.getScaleTypeByPosition(domainAxisPosition);\n\t}\n\n\tgetRangeAxisScaleType() {\n\t\tconst rangeAxisPosition = this.getRangeAxisPosition();\n\t\treturn this.getScaleTypeByPosition(rangeAxisPosition);\n\t}\n\n\tgetDomainScale() {\n\t\treturn this.scales[this.domainAxisPosition];\n\t}\n\n\tgetRangeScale() {\n\t\treturn this.scales[this.rangeAxisPosition];\n\t}\n\n\t// Find the main x-axis out of the 2 x-axis on the chart (when 2D axis is used)\n\tgetMainXAxisPosition() {\n\t\tconst possibleXAxisPositions = [\n\t\t\tAxisPositions.BOTTOM,\n\t\t\tAxisPositions.TOP,\n\t\t];\n\n\t\treturn [this.domainAxisPosition, this.rangeAxisPosition].find(\n\t\t\t(position) => possibleXAxisPositions.indexOf(position) > -1\n\t\t);\n\t}\n\n\t// Find the main y-axis out of the 2 y-axis on the chart (when 2D axis is used)\n\tgetMainYAxisPosition() {\n\t\tconst possibleYAxisPositions = [\n\t\t\tAxisPositions.LEFT,\n\t\t\tAxisPositions.RIGHT,\n\t\t];\n\n\t\treturn [this.domainAxisPosition, this.rangeAxisPosition].find(\n\t\t\t(position) => possibleYAxisPositions.indexOf(position) > -1\n\t\t);\n\t}\n\n\tgetMainXScale() {\n\t\treturn this.scales[this.getMainXAxisPosition()];\n\t}\n\n\tgetMainYScale() {\n\t\treturn this.scales[this.getMainYAxisPosition()];\n\t}\n\n\tgetValueFromScale(\n\t\tscale: any,\n\t\tscaleType: ScaleTypes,\n\t\taxisPosition: AxisPositions,\n\t\tdatum: any,\n\t\tindex?: number\n\t) {\n\t\tconst options = this.model.getOptions();\n\t\tconst axesOptions = Tools.getProperty(options, 'axes');\n\t\tconst axisOptions = axesOptions[axisPosition];\n\t\tconst { mapsTo } = axisOptions;\n\t\tconst value =\n\t\t\tTools.getProperty(datum, mapsTo) !== null ? datum[mapsTo] : datum;\n\t\tlet scaledValue;\n\t\tswitch (scaleType) {\n\t\t\tcase ScaleTypes.LABELS:\n\t\t\t\tscaledValue = scale(value) + scale.step() / 2;\n\t\t\t\tbreak;\n\t\t\tcase ScaleTypes.TIME:\n\t\t\t\tscaledValue = scale(new Date(value));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tscaledValue = scale(value);\n\t\t}\n\t\treturn scaledValue;\n\t}\n\n\tgetBoundedScaledValues(datum: any, index?: number) {\n\t\tconst { bounds } = this.model.getOptions();\n\t\tconst axisPosition = this.getRangeAxisPosition({ datum });\n\t\tconst scale = this.scales[axisPosition];\n\n\t\tconst options = this.model.getOptions();\n\t\tconst axesOptions = Tools.getProperty(options, 'axes');\n\t\tconst axisOptions = axesOptions[axisPosition];\n\t\tconst { mapsTo } = axisOptions;\n\t\tconst value = datum[mapsTo] !== undefined ? datum[mapsTo] : datum;\n\n\t\tconst boundedValues = [\n\t\t\tscale(\n\t\t\t\tTools.getProperty(datum, bounds.upperBoundMapsTo) !== null\n\t\t\t\t\t? datum[bounds.upperBoundMapsTo]\n\t\t\t\t\t: value\n\t\t\t),\n\t\t\tscale(\n\t\t\t\tTools.getProperty(datum, bounds.lowerBoundMapsTo) !== null\n\t\t\t\t\t? datum[bounds.lowerBoundMapsTo]\n\t\t\t\t\t: value\n\t\t\t),\n\t\t];\n\n\t\treturn boundedValues;\n\t}\n\n\tgetValueThroughAxisPosition(\n\t\taxisPosition: AxisPositions,\n\t\tdatum: any,\n\t\tindex?: number\n\t) {\n\t\tconst scaleType = this.scaleTypes[axisPosition];\n\t\tconst scale = this.scales[axisPosition];\n\n\t\treturn this.getValueFromScale(\n\t\t\tscale,\n\t\t\tscaleType,\n\t\t\taxisPosition,\n\t\t\tdatum,\n\t\t\tindex\n\t\t);\n\t}\n\n\tgetDomainValue(d, i) {\n\t\tconst axisPosition = this.getDomainAxisPosition({ datum: d });\n\t\treturn this.getValueThroughAxisPosition(axisPosition, d, i);\n\t}\n\n\tgetRangeValue(d, i) {\n\t\tconst axisPosition = this.getRangeAxisPosition({ datum: d });\n\t\treturn this.getValueThroughAxisPosition(axisPosition, d, i);\n\t}\n\n\tgetMainXScaleType() {\n\t\treturn this.getScaleTypeByPosition(this.getMainXAxisPosition());\n\t}\n\n\tgetMainYScaleType() {\n\t\treturn this.getScaleTypeByPosition(this.getMainYAxisPosition());\n\t}\n\n\tgetDomainIdentifier(datum?: any) {\n\t\tconst options = this.model.getOptions();\n\t\treturn Tools.getProperty(\n\t\t\toptions,\n\t\t\t'axes',\n\t\t\tthis.getDomainAxisPosition({ datum: datum }),\n\t\t\t'mapsTo'\n\t\t);\n\t}\n\n\tgetRangeIdentifier(datum?: any) {\n\t\tconst options = this.model.getOptions();\n\t\treturn Tools.getProperty(\n\t\t\toptions,\n\t\t\t'axes',\n\t\t\tthis.getRangeAxisPosition({ datum: datum }),\n\t\t\t'mapsTo'\n\t\t);\n\t}\n\n\textendsDomain(axisPosition: AxisPositions, domain: any) {\n\t\tconst options = this.model.getOptions();\n\t\tconst axisOptions = Tools.getProperty(options, 'axes', axisPosition);\n\t\tif (axisOptions.scaleType === ScaleTypes.TIME) {\n\t\t\tconst spaceToAddToEdges = Tools.getProperty(\n\t\t\t\toptions,\n\t\t\t\t'timeScale',\n\t\t\t\t'addSpaceOnEdges'\n\t\t\t);\n\t\t\treturn addSpacingToTimeDomain(domain, spaceToAddToEdges);\n\t\t} else {\n\t\t\treturn addSpacingToContinuousDomain(\n\t\t\t\tdomain,\n\t\t\t\tConfiguration.axis.paddingRatio,\n\t\t\t\taxisOptions.scaleType\n\t\t\t);\n\t\t}\n\t}\n\n\tprotected findVerticalAxesPositions() {\n\t\tconst options = this.model.getOptions();\n\t\tconst axesOptions = Tools.getProperty(options, 'axes');\n\t\tconst dualAxes = this.isDualAxes();\n\n\t\t// If right axis has been specified as `main`\n\t\tif (\n\t\t\t(Tools.getProperty(axesOptions, AxisPositions.LEFT) === null &&\n\t\t\t\tTools.getProperty(axesOptions, AxisPositions.RIGHT) !== null) ||\n\t\t\tTools.getProperty(axesOptions, AxisPositions.RIGHT, 'main') ===\n\t\t\t\ttrue ||\n\t\t\t(dualAxes &&\n\t\t\t\tTools.getProperty(\n\t\t\t\t\taxesOptions,\n\t\t\t\t\tAxisPositions.LEFT,\n\t\t\t\t\t'correspondingDatasets'\n\t\t\t\t))\n\t\t) {\n\t\t\treturn {\n\t\t\t\tprimary: AxisPositions.RIGHT,\n\t\t\t\tsecondary: AxisPositions.LEFT,\n\t\t\t};\n\t\t}\n\n\t\treturn { primary: AxisPositions.LEFT, secondary: AxisPositions.RIGHT };\n\t}\n\n\tprotected findHorizontalAxesPositions() {\n\t\tconst options = this.model.getOptions();\n\t\tconst axesOptions = Tools.getProperty(options, 'axes');\n\t\tconst dualAxes = this.isDualAxes();\n\n\t\t// If top axis has been specified as `main`\n\t\tif (\n\t\t\t(Tools.getProperty(axesOptions, AxisPositions.BOTTOM) === null &&\n\t\t\t\tTools.getProperty(axesOptions, AxisPositions.TOP) !== null) ||\n\t\t\tTools.getProperty(axesOptions, AxisPositions.TOP, 'main') ===\n\t\t\t\ttrue ||\n\t\t\t(dualAxes &&\n\t\t\t\tTools.getProperty(\n\t\t\t\t\taxesOptions,\n\t\t\t\t\tAxisPositions.BOTTOM,\n\t\t\t\t\t'correspondingDatasets'\n\t\t\t\t))\n\t\t) {\n\t\t\treturn {\n\t\t\t\tprimary: AxisPositions.TOP,\n\t\t\t\tsecondary: AxisPositions.BOTTOM,\n\t\t\t};\n\t\t}\n\n\t\treturn { primary: AxisPositions.BOTTOM, secondary: AxisPositions.TOP };\n\t}\n\n\tprotected findDomainAndRangeAxesPositions(\n\t\tverticalAxesPositions,\n\t\thorizontalAxesPositions\n\t) {\n\t\tconst options = this.model.getOptions();\n\n\t\tconst mainVerticalAxisOptions = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'axes',\n\t\t\tverticalAxesPositions.primary\n\t\t);\n\t\tconst mainHorizontalAxisOptions = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'axes',\n\t\t\thorizontalAxesPositions.primary\n\t\t);\n\n\t\tconst mainVerticalScaleType =\n\t\t\tmainVerticalAxisOptions.scaleType || ScaleTypes.LINEAR;\n\t\tconst mainHorizontalScaleType =\n\t\t\tmainHorizontalAxisOptions.scaleType || ScaleTypes.LINEAR;\n\n\t\tconst result = {\n\t\t\tprimaryDomainAxisPosition: null,\n\t\t\tsecondaryDomainAxisPosition: null,\n\t\t\tprimaryRangeAxisPosition: null,\n\t\t\tsecondaryRangeAxisPosition: null,\n\t\t};\n\n\t\t// assign to to be a vertical chart by default\n\t\tresult.primaryDomainAxisPosition = horizontalAxesPositions.primary;\n\t\tresult.primaryRangeAxisPosition = verticalAxesPositions.primary;\n\t\t// secondary axes\n\t\tresult.secondaryDomainAxisPosition = horizontalAxesPositions.secondary;\n\t\tresult.secondaryRangeAxisPosition = verticalAxesPositions.secondary;\n\n\t\t// if neither the horizontal axes are label or time\n\t\t// and atleast one of the main vertical ones are labels or time then it should be horizontal\n\t\tif (\n\t\t\t(!(\n\t\t\t\tmainHorizontalScaleType === ScaleTypes.LABELS ||\n\t\t\t\tmainHorizontalScaleType === ScaleTypes.TIME\n\t\t\t) &&\n\t\t\t\tmainVerticalScaleType === ScaleTypes.LABELS) ||\n\t\t\tmainVerticalScaleType === ScaleTypes.TIME\n\t\t) {\n\t\t\tresult.primaryDomainAxisPosition = verticalAxesPositions.primary;\n\t\t\tresult.primaryRangeAxisPosition = horizontalAxesPositions.primary;\n\t\t\t// secondary axes\n\t\t\tresult.secondaryDomainAxisPosition =\n\t\t\t\tverticalAxesPositions.secondary;\n\t\t\tresult.secondaryRangeAxisPosition =\n\t\t\t\thorizontalAxesPositions.secondary;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprotected getScaleDomain(axisPosition: AxisPositions) {\n\t\tconst options = this.model.getOptions();\n\t\tconst axisOptions = Tools.getProperty(options, 'axes', axisPosition);\n\t\tconst bounds = Tools.getProperty(options, 'bounds');\n\t\tconst { includeZero } = axisOptions;\n\t\tconst scaleType =\n\t\t\tTools.getProperty(axisOptions, 'scaleType') || ScaleTypes.LINEAR;\n\n\t\tif (this.model.isDataEmpty()) {\n\t\t\treturn [];\n\t\t}\n\n\t\tif (axisOptions.binned) {\n\t\t\tconst { bins } = this.model.getBinConfigurations();\n\n\t\t\treturn [0, max(bins, (d) => d.length)];\n\t\t} else if (axisOptions.limitDomainToBins) {\n\t\t\tconst { bins } = this.model.getBinConfigurations();\n\t\t\tconst stackKeys = this.model.getStackKeys({ bins });\n\n\t\t\treturn [\n\t\t\t\tstackKeys[0].split('-')[0],\n\t\t\t\tstackKeys[stackKeys.length - 1].split('-')[1],\n\t\t\t];\n\t\t}\n\n\t\tconst displayData = this.model.getDisplayData();\n\t\tconst {\n\t\t\textendLinearDomainBy,\n\t\t\tmapsTo,\n\t\t\tpercentage,\n\t\t\tthresholds,\n\t\t} = axisOptions;\n\t\tconst {\n\t\t\treference: ratioReference,\n\t\t\tcompareTo: ratioCompareTo,\n\t\t} = Configuration.axis.ratio;\n\n\t\t// If domain is specified return that domain\n\t\tif (axisOptions.domain) {\n\t\t\tif (scaleType === ScaleTypes.LABELS) {\n\t\t\t\treturn axisOptions.domain;\n\t\t\t} else if (scaleType === ScaleTypes.TIME) {\n\t\t\t\taxisOptions.domain = axisOptions.domain.map((d) =>\n\t\t\t\t\td.getTime === undefined ? new Date(d) : d\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn this.extendsDomain(axisPosition, axisOptions.domain);\n\t\t}\n\n\t\t// Return [0, 100] for percentage axis scale\n\t\tif (percentage) {\n\t\t\treturn [0, 100];\n\t\t}\n\n\t\t// If scale is a LABELS scale, return some labels as the domain\n\t\tif (axisOptions && scaleType === ScaleTypes.LABELS) {\n\t\t\t// Get unique values\n\t\t\treturn Tools.removeArrayDuplicates(\n\t\t\t\tdisplayData.map((d) => d[mapsTo])\n\t\t\t);\n\t\t}\n\n\t\t// Get the extent of the domain\n\t\tlet domain;\n\t\tlet allDataValues;\n\t\tconst dataGroupNames = this.model.getDataGroupNames();\n\n\t\tif (scaleType === ScaleTypes.LABELS_RATIO) {\n\t\t\treturn displayData.map(\n\t\t\t\t(datum) => `${datum[ratioReference]}/${datum[ratioCompareTo]}`\n\t\t\t);\n\t\t} else if (scaleType === ScaleTypes.TIME) {\n\t\t\tallDataValues = displayData.map(\n\t\t\t\t(datum) => +new Date(datum[mapsTo])\n\t\t\t);\n\t\t} else if (bounds && options.axes) {\n\t\t\tallDataValues = [];\n\n\t\t\tdisplayData.forEach((datum) => {\n\t\t\t\tallDataValues.push(datum[mapsTo]);\n\n\t\t\t\tif (datum[bounds.upperBoundMapsTo]) {\n\t\t\t\t\tallDataValues.push(datum[bounds.upperBoundMapsTo]);\n\t\t\t\t}\n\t\t\t\tif (datum[bounds.lowerBoundMapsTo]) {\n\t\t\t\t\tallDataValues.push(datum[bounds.lowerBoundMapsTo]);\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (\n\t\t\taxisOptions.stacked === true &&\n\t\t\tdataGroupNames &&\n\t\t\taxisPosition === this.getRangeAxisPosition()\n\t\t) {\n\t\t\tconst { groupMapsTo } = options.data;\n\t\t\tconst dataValuesGroupedByKeys = this.model.getDataValuesGroupedByKeys(\n\t\t\t\t{\n\t\t\t\t\tgroups: dataGroupNames,\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst nonStackedGroupsData = displayData.filter(\n\t\t\t\t(datum) => !dataGroupNames.includes(datum[groupMapsTo])\n\t\t\t);\n\n\t\t\tlet stackedValues = [];\n\t\t\tdataValuesGroupedByKeys.forEach((dataValues) => {\n\t\t\t\tconst { sharedStackKey, ...numericalValues } = dataValues;\n\n\t\t\t\tlet positiveSum = 0,\n\t\t\t\t\tnegativeSum = 0;\n\t\t\t\tObject.values(numericalValues).forEach((value: number) => {\n\t\t\t\t\tif (!isNaN(value)) {\n\t\t\t\t\t\tif (value < 0) {\n\t\t\t\t\t\t\tnegativeSum += value;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tpositiveSum += value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tstackedValues.push([negativeSum, positiveSum]);\n\t\t\t});\n\n\t\t\tallDataValues = [\n\t\t\t\t...Tools.flatten(stackedValues),\n\t\t\t\t...nonStackedGroupsData.map((datum) => datum[mapsTo]),\n\t\t\t];\n\t\t} else {\n\t\t\tallDataValues = [];\n\n\t\t\tdisplayData.forEach((datum) => {\n\t\t\t\tconst value = datum[mapsTo];\n\t\t\t\tif (Array.isArray(value) && value.length === 2) {\n\t\t\t\t\tallDataValues.push(value[0]);\n\t\t\t\t\tallDataValues.push(value[1]);\n\t\t\t\t} else {\n\t\t\t\t\tif (extendLinearDomainBy) {\n\t\t\t\t\t\tallDataValues.push(\n\t\t\t\t\t\t\tMath.max(datum[mapsTo], datum[extendLinearDomainBy])\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tallDataValues.push(value);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// Time can never be 0 and log of base 0 is -Infinity\n\t\tif (\n\t\t\tscaleType !== ScaleTypes.TIME &&\n\t\t\tscaleType !== ScaleTypes.LOG &&\n\t\t\tincludeZero\n\t\t) {\n\t\t\tallDataValues.push(0);\n\t\t}\n\n\t\t// Add threshold values into the scale\n\t\tif (thresholds && thresholds.length > 0) {\n\t\t\tthresholds.forEach((threshold) => {\n\t\t\t\tconst thresholdValue = Tools.getProperty(threshold, 'value');\n\t\t\t\tif (thresholdValue !== null) allDataValues.push(thresholdValue);\n\t\t\t});\n\t\t}\n\n\t\tdomain = extent(allDataValues);\n\t\tdomain = this.extendsDomain(axisPosition, domain);\n\n\t\treturn domain;\n\t}\n\n\tprotected createScale(axisPosition: AxisPositions) {\n\t\tconst options = this.model.getOptions();\n\t\tconst axisOptions = Tools.getProperty(options, 'axes', axisPosition);\n\n\t\tif (!axisOptions) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst scaleType =\n\t\t\tTools.getProperty(axisOptions, 'scaleType') || ScaleTypes.LINEAR;\n\t\tthis.scaleTypes[axisPosition] = scaleType;\n\n\t\tlet scale;\n\t\tif (scaleType === ScaleTypes.TIME) {\n\t\t\tscale = scaleTime();\n\t\t} else if (scaleType === ScaleTypes.LOG) {\n\t\t\tscale = scaleLog().base(axisOptions.base || 10);\n\t\t} else if (\n\t\t\tscaleType === ScaleTypes.LABELS ||\n\t\t\tscaleType === ScaleTypes.LABELS_RATIO\n\t\t) {\n\t\t\tscale = scaleBand();\n\t\t} else {\n\t\t\tscale = scaleLinear();\n\t\t}\n\n\t\tscale.domain(this.getScaleDomain(axisPosition));\n\n\t\treturn scale;\n\t}\n\n\tprotected getHighestDomainThreshold(): null | {\n\t\tthreshold: ThresholdOptions;\n\t\tscaleValue: number;\n\t} {\n\t\tconst axesOptions = Tools.getProperty(this.model.getOptions(), 'axes');\n\t\tconst domainAxisPosition = this.getDomainAxisPosition();\n\n\t\tconst { thresholds } = axesOptions[domainAxisPosition];\n\n\t\t// Check if thresholds exist & is not empty\n\t\tif (\n\t\t\t!Array.isArray(thresholds) ||\n\t\t\t(Array.isArray(thresholds) && !thresholds.length)\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst domainScale = this.getDomainScale();\n\t\t// Find the highest threshold for the domain\n\t\tconst highestThreshold = thresholds.sort(\n\t\t\t(a, b) => b.value - a.value\n\t\t)[0];\n\n\t\tconst scaleType = this.getScaleTypeByPosition(domainAxisPosition);\n\t\tif (\n\t\t\tscaleType === ScaleTypes.TIME &&\n\t\t\t(typeof highestThreshold.value === 'string' ||\n\t\t\t\thighestThreshold.value.getTime === undefined)\n\t\t) {\n\t\t\thighestThreshold.value = new Date(highestThreshold.value);\n\t\t}\n\n\t\treturn {\n\t\t\tthreshold: highestThreshold,\n\t\t\tscaleValue: domainScale(highestThreshold.value),\n\t\t};\n\t}\n\n\tprotected getHighestRangeThreshold(): null | {\n\t\tthreshold: ThresholdOptions;\n\t\tscaleValue: number;\n\t} {\n\t\tconst axesOptions = Tools.getProperty(this.model.getOptions(), 'axes');\n\t\tconst rangeAxisPosition = this.getRangeAxisPosition();\n\n\t\tconst { thresholds } = axesOptions[rangeAxisPosition];\n\n\t\t// Check if thresholds exist & is not empty\n\t\tif (\n\t\t\t!Array.isArray(thresholds) ||\n\t\t\t(Array.isArray(thresholds) && !thresholds.length)\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst rangeScale = this.getRangeScale();\n\t\t// Find the highest threshold for the range\n\t\tconst highestThreshold = thresholds.sort(\n\t\t\t(a, b) => b.value - a.value\n\t\t)[0];\n\n\t\treturn {\n\t\t\tthreshold: highestThreshold,\n\t\t\tscaleValue: rangeScale(highestThreshold.value),\n\t\t};\n\t}\n}\n\nfunction addSpacingToTimeDomain(domain: any, spaceToAddToEdges: number) {\n\tconst startDate = new Date(domain[0]);\n\tconst endDate = new Date(domain[1]);\n\n\tif (differenceInYears(endDate, startDate) > 1) {\n\t\treturn [\n\t\t\tsubYears(startDate, spaceToAddToEdges),\n\t\t\taddYears(endDate, spaceToAddToEdges),\n\t\t];\n\t}\n\n\tif (differenceInMonths(endDate, startDate) > 1) {\n\t\treturn [\n\t\t\tsubMonths(startDate, spaceToAddToEdges),\n\t\t\taddMonths(endDate, spaceToAddToEdges),\n\t\t];\n\t}\n\n\tif (differenceInDays(endDate, startDate) > 1) {\n\t\treturn [\n\t\t\tsubDays(startDate, spaceToAddToEdges),\n\t\t\taddDays(endDate, spaceToAddToEdges),\n\t\t];\n\t}\n\n\tif (differenceInHours(endDate, startDate) > 1) {\n\t\treturn [\n\t\t\tsubHours(startDate, spaceToAddToEdges),\n\t\t\taddHours(endDate, spaceToAddToEdges),\n\t\t];\n\t}\n\n\tif (differenceInMinutes(endDate, startDate) > 30) {\n\t\treturn [\n\t\t\tsubMinutes(startDate, spaceToAddToEdges * 30),\n\t\t\taddMinutes(endDate, spaceToAddToEdges * 30),\n\t\t];\n\t}\n\n\tif (differenceInMinutes(endDate, startDate) > 1) {\n\t\treturn [\n\t\t\tsubMinutes(startDate, spaceToAddToEdges),\n\t\t\taddMinutes(endDate, spaceToAddToEdges),\n\t\t];\n\t}\n\n\tif (differenceInSeconds(endDate, startDate) > 15) {\n\t\treturn [\n\t\t\tsubSeconds(startDate, spaceToAddToEdges * 15),\n\t\t\taddSeconds(endDate, spaceToAddToEdges * 15),\n\t\t];\n\t}\n\n\tif (differenceInSeconds(endDate, startDate) > 1) {\n\t\treturn [\n\t\t\tsubSeconds(startDate, spaceToAddToEdges),\n\t\t\taddSeconds(endDate, spaceToAddToEdges),\n\t\t];\n\t}\n\n\treturn [startDate, endDate];\n}\n\nfunction addSpacingToContinuousDomain(\n\t[lower, upper]: number[],\n\tpaddingRatio: number,\n\tscaleType?: ScaleTypes\n) {\n\tconst domainLength = upper - lower;\n\tconst padding = domainLength * paddingRatio;\n\n\t// If padding crosses 0, keep 0 as new upper bound\n\tconst newUpper = upper <= 0 && upper + padding > 0 ? 0 : upper + padding;\n\t// If padding crosses 0, keep 0 as new lower bound\n\tlet newLower = lower >= 0 && lower - padding < 0 ? 0 : lower - padding;\n\n\t// Log of base 0 or a negative number is -Infinity\n\tif (scaleType === ScaleTypes.LOG && newLower <= 0) {\n\t\tif (lower <= 0) {\n\t\t\tthrow Error(\n\t\t\t\t'Data must have values greater than 0 if log scale type is used.'\n\t\t\t);\n\t\t}\n\t\tnewLower = lower;\n\t}\n\n\treturn [newLower, newUpper];\n}\n"]}
@@ -1,10 +0,0 @@
1
- import { ChartModel } from '../model/model';
2
- export declare class Service {
3
- protected model: ChartModel;
4
- protected services: any;
5
- constructor(model: ChartModel, services: any);
6
- init(): void;
7
- update(): void;
8
- setModel(newObj: any): void;
9
- setServices(newObj: any): void;
10
- }
@@ -1,24 +0,0 @@
1
- var Service = /** @class */ (function () {
2
- function Service(model, services) {
3
- this.model = model;
4
- this.services = services;
5
- this.init();
6
- }
7
- Service.prototype.init = function () {
8
- // do nothing.
9
- };
10
- Service.prototype.update = function () {
11
- // do nothing.
12
- };
13
- // Used to pass down information to the components
14
- Service.prototype.setModel = function (newObj) {
15
- this.model = newObj;
16
- };
17
- // Used to pass down services to the components
18
- Service.prototype.setServices = function (newObj) {
19
- this.services = newObj;
20
- };
21
- return Service;
22
- }());
23
- export { Service };
24
- //# sourceMappingURL=../../src/services/service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["service.ts"],"names":[],"mappings":"AAEA;IAIC,iBAAY,KAAiB,EAAE,QAAa;QAC3C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;IAED,sBAAI,GAAJ;QACC,cAAc;IACf,CAAC;IAED,wBAAM,GAAN;QACC,cAAc;IACf,CAAC;IAED,kDAAkD;IAClD,0BAAQ,GAAR,UAAS,MAAM;QACd,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;IACrB,CAAC;IAED,+CAA+C;IAC/C,6BAAW,GAAX,UAAY,MAAM;QACjB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;IACxB,CAAC;IACF,cAAC;AAAD,CAAC,AA5BD,IA4BC","sourcesContent":["import { ChartModel } from '../model/model';\n\nexport class Service {\n\tprotected model: ChartModel;\n\tprotected services: any;\n\n\tconstructor(model: ChartModel, services: any) {\n\t\tthis.model = model;\n\t\tthis.services = services;\n\n\t\tthis.init();\n\t}\n\n\tinit() {\n\t\t// do nothing.\n\t}\n\n\tupdate() {\n\t\t// do nothing.\n\t}\n\n\t// Used to pass down information to the components\n\tsetModel(newObj) {\n\t\tthis.model = newObj;\n\t}\n\n\t// Used to pass down services to the components\n\tsetServices(newObj) {\n\t\tthis.services = newObj;\n\t}\n}\n"]}
@@ -1,147 +0,0 @@
1
- import { format } from 'date-fns';
2
- import * as Tools from '../tools';
3
- // D3 Imports
4
- import { min } from 'd3-array';
5
- export var TIME_INTERVALS = [
6
- ['15seconds', 15 * 1000],
7
- ['minute', 60 * 1000],
8
- ['30minutes', 30 * 60 * 1000],
9
- ['hourly', 60 * 60 * 1000],
10
- ['daily', 24 * 60 * 60 * 1000],
11
- ['monthly', 30 * 24 * 60 * 60 * 1000],
12
- ['quarterly', 3 * 30 * 24 * 60 * 60 * 1000],
13
- ['yearly', 12 * 30 * 24 * 60 * 60 * 1000],
14
- ];
15
- // Return true if the tick is a primary tick, false otherwise
16
- export function isTickPrimary(tick, i, allTicks, interval, showDayName) {
17
- var isFirstTick = i === 0;
18
- var hasANewWeekStarted = Number(format(new Date(tick), 'c')) === 2;
19
- var isFirstQuarter = Number(format(new Date(tick), 'q')) === 1;
20
- var previousTick = i !== 0 ? allTicks[i - 1] : null;
21
- switch (interval) {
22
- case '15seconds':
23
- return (isFirstTick ||
24
- isDayOfMonthChanged(tick) ||
25
- isMonthChanged(tick, previousTick) ||
26
- isYearChanged(tick));
27
- case 'minute':
28
- return (isFirstTick ||
29
- isDayOfMonthChanged(tick) ||
30
- isMonthChanged(tick, previousTick) ||
31
- isYearChanged(tick));
32
- case '30minutes':
33
- return (isFirstTick ||
34
- isDayOfMonthChanged(tick) ||
35
- isMonthChanged(tick, previousTick) ||
36
- isYearChanged(tick));
37
- case 'hourly':
38
- return (isFirstTick ||
39
- isDayOfMonthChanged(tick) ||
40
- isMonthChanged(tick, previousTick) ||
41
- isYearChanged(tick));
42
- case 'daily':
43
- if (!showDayName) {
44
- // daily
45
- return (isFirstTick ||
46
- isMonthChanged(tick, previousTick) ||
47
- isYearChanged(tick));
48
- }
49
- else {
50
- // weekly
51
- return isFirstTick || hasANewWeekStarted || isYearChanged(tick);
52
- }
53
- case 'monthly':
54
- return isFirstTick || isYearChanged(tick);
55
- case 'quarterly':
56
- return isFirstTick || isFirstQuarter;
57
- case 'yearly':
58
- return false;
59
- default:
60
- throw new Error(interval + " is not a valid time interval.");
61
- }
62
- }
63
- // Return the formatted current tick
64
- export function formatTick(tick, i, allTicks, interval, timeScaleOptions) {
65
- var showDayName = timeScaleOptions.showDayName;
66
- var intervalConsideringAlsoShowDayNameOption = interval === 'daily' && showDayName ? 'weekly' : interval;
67
- var date = new Date(tick);
68
- var formats = Tools.getProperty(timeScaleOptions, 'timeIntervalFormats')[intervalConsideringAlsoShowDayNameOption];
69
- var primary = Tools.getProperty(formats, 'primary');
70
- var secondary = Tools.getProperty(formats, 'secondary');
71
- var formatString = isTickPrimary(tick, i, allTicks, interval, showDayName)
72
- ? primary
73
- : secondary;
74
- // if the interval, and the timestamp includes milliseconds value
75
- if (interval === '15seconds' && date.getMilliseconds() !== 0) {
76
- // show milliseconds in tick
77
- formatString = formatString.replace('pp', 'h:mm:ss.SSS a');
78
- }
79
- var locale = timeScaleOptions.localeObject;
80
- return format(date, formatString, { locale: locale });
81
- }
82
- // Given a timestamp, return an object of useful time formats
83
- // Use Unicode date field symbol (https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table)
84
- export function getTimeformats(timestamp) {
85
- var date = new Date(timestamp);
86
- return {
87
- M: date.getMonth() + 1,
88
- d: date.getDate(),
89
- H: date.getHours(),
90
- m: date.getMinutes(),
91
- s: date.getSeconds(),
92
- };
93
- }
94
- // Find the differences between consecutive numbers in an array
95
- function getConsecutiveDifferences(elements) {
96
- if (!elements) {
97
- return;
98
- }
99
- return elements.slice(1).map(function (elem, i) { return elem - elements[i]; });
100
- }
101
- // Given a duration in ms, return the closest TIME_INTERVAL name
102
- function closestTimeIntervalName(duration) {
103
- var index = TIME_INTERVALS.reduce(function (nearestIndex, _a, i) {
104
- var intervalName = _a[0], delta = _a[1];
105
- var deltaNearest = TIME_INTERVALS[nearestIndex][1];
106
- var oldNearestSpan = Math.abs(deltaNearest - duration);
107
- var currentSpan = Math.abs(delta - duration);
108
- return oldNearestSpan < currentSpan ? nearestIndex : i;
109
- }, 0);
110
- return TIME_INTERVALS[index][0];
111
- }
112
- // Given an array of timestamps, return the interval name
113
- // between 15seconds, minute, 30minutes, hourly, daily, weekly, monthly, quarterly, yearly
114
- export function computeTimeIntervalName(ticks) {
115
- // special case: if the dataset has only one datum, we show the tick in the most detailed way possible
116
- if (ticks.length === 1) {
117
- return '15seconds';
118
- }
119
- var differences = getConsecutiveDifferences(ticks);
120
- var minDifference = min(differences);
121
- return closestTimeIntervalName(minDifference);
122
- }
123
- // Return true if the day of the month (D = 1-31) is changed, false otherwise
124
- function isDayOfMonthChanged(timestamp) {
125
- var _a = getTimeformats(timestamp), s = _a.s, m = _a.m, H = _a.H;
126
- return H === 0 && m === 0 && s === 0;
127
- }
128
- // Return true if the month (M = 1-12) is changed from previous tick's timestamp, false otherwise
129
- function isMonthChanged(timestamp, previousTimestamp) {
130
- var currentMonth = getTimeformats(timestamp).M;
131
- var previousMonth = getTimeformats(previousTimestamp).M;
132
- return currentMonth !== previousMonth;
133
- }
134
- // Return true if the year (YYYY) is changed, false otherwise
135
- function isYearChanged(timestamp) {
136
- var _a = getTimeformats(timestamp), M = _a.M, d = _a.d, s = _a.s, m = _a.m, H = _a.H;
137
- return M === 1 && d === 1 && H === 0 && m === 0 && s === 0;
138
- }
139
- // Return string value of Date with milliseconds
140
- export function formatDateTillMilliSeconds(date) {
141
- if (date === undefined) {
142
- return '';
143
- }
144
- // The only valid format with millisecond is ISO 8601
145
- return date.toISOString();
146
- }
147
- //# sourceMappingURL=../../src/services/time-series.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"time-series.js","sourceRoot":"","sources":["time-series.ts"],"names":[],"mappings":"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","sourcesContent":["import { format } from 'date-fns';\nimport { TimeScaleOptions } from '../interfaces/axis-scales';\nimport * as Tools from '../tools';\n\n// D3 Imports\nimport { min } from 'd3-array';\n\nexport const TIME_INTERVALS = [\n\t['15seconds', 15 * 1000],\n\t['minute', 60 * 1000],\n\t['30minutes', 30 * 60 * 1000],\n\t['hourly', 60 * 60 * 1000],\n\t['daily', 24 * 60 * 60 * 1000],\n\t['monthly', 30 * 24 * 60 * 60 * 1000],\n\t['quarterly', 3 * 30 * 24 * 60 * 60 * 1000],\n\t['yearly', 12 * 30 * 24 * 60 * 60 * 1000],\n];\n\n// Return true if the tick is a primary tick, false otherwise\nexport function isTickPrimary(\n\ttick: number,\n\ti: number,\n\tallTicks: Array<number>,\n\tinterval: string,\n\tshowDayName: boolean\n): boolean {\n\tconst isFirstTick = i === 0;\n\tconst hasANewWeekStarted = Number(format(new Date(tick), 'c')) === 2;\n\tconst isFirstQuarter = Number(format(new Date(tick), 'q')) === 1;\n\tconst previousTick = i !== 0 ? allTicks[i - 1] : null;\n\tswitch (interval) {\n\t\tcase '15seconds':\n\t\t\treturn (\n\t\t\t\tisFirstTick ||\n\t\t\t\tisDayOfMonthChanged(tick) ||\n\t\t\t\tisMonthChanged(tick, previousTick) ||\n\t\t\t\tisYearChanged(tick)\n\t\t\t);\n\t\tcase 'minute':\n\t\t\treturn (\n\t\t\t\tisFirstTick ||\n\t\t\t\tisDayOfMonthChanged(tick) ||\n\t\t\t\tisMonthChanged(tick, previousTick) ||\n\t\t\t\tisYearChanged(tick)\n\t\t\t);\n\t\tcase '30minutes':\n\t\t\treturn (\n\t\t\t\tisFirstTick ||\n\t\t\t\tisDayOfMonthChanged(tick) ||\n\t\t\t\tisMonthChanged(tick, previousTick) ||\n\t\t\t\tisYearChanged(tick)\n\t\t\t);\n\t\tcase 'hourly':\n\t\t\treturn (\n\t\t\t\tisFirstTick ||\n\t\t\t\tisDayOfMonthChanged(tick) ||\n\t\t\t\tisMonthChanged(tick, previousTick) ||\n\t\t\t\tisYearChanged(tick)\n\t\t\t);\n\t\tcase 'daily':\n\t\t\tif (!showDayName) {\n\t\t\t\t// daily\n\t\t\t\treturn (\n\t\t\t\t\tisFirstTick ||\n\t\t\t\t\tisMonthChanged(tick, previousTick) ||\n\t\t\t\t\tisYearChanged(tick)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// weekly\n\t\t\t\treturn isFirstTick || hasANewWeekStarted || isYearChanged(tick);\n\t\t\t}\n\t\tcase 'monthly':\n\t\t\treturn isFirstTick || isYearChanged(tick);\n\t\tcase 'quarterly':\n\t\t\treturn isFirstTick || isFirstQuarter;\n\t\tcase 'yearly':\n\t\t\treturn false;\n\t\tdefault:\n\t\t\tthrow new Error(`${interval} is not a valid time interval.`);\n\t}\n}\n\n// Return the formatted current tick\nexport function formatTick(\n\ttick: number,\n\ti: number,\n\tallTicks: Array<number>,\n\tinterval: string,\n\ttimeScaleOptions: TimeScaleOptions\n): string {\n\tconst showDayName = timeScaleOptions.showDayName;\n\tconst intervalConsideringAlsoShowDayNameOption =\n\t\tinterval === 'daily' && showDayName ? 'weekly' : interval;\n\tconst date = new Date(tick);\n\tconst formats = Tools.getProperty(timeScaleOptions, 'timeIntervalFormats')[\n\t\tintervalConsideringAlsoShowDayNameOption\n\t];\n\tconst primary = Tools.getProperty(formats, 'primary');\n\tconst secondary = Tools.getProperty(formats, 'secondary');\n\tlet formatString = isTickPrimary(tick, i, allTicks, interval, showDayName)\n\t\t? primary\n\t\t: secondary;\n\n\t// if the interval, and the timestamp includes milliseconds value\n\tif (interval === '15seconds' && date.getMilliseconds() !== 0){\n\t\t// show milliseconds in tick\n\t\tformatString = formatString.replace('pp', 'h:mm:ss.SSS a');\n\t}\n\n\tconst locale = timeScaleOptions.localeObject;\n\n\treturn format(date, formatString, { locale });\n}\n\n// Given a timestamp, return an object of useful time formats\n// Use Unicode date field symbol (https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table)\nexport function getTimeformats(timestamp: number) {\n\tconst date = new Date(timestamp);\n\treturn {\n\t\tM: date.getMonth() + 1, // month: 1-12\n\t\td: date.getDate(), // day of the month: 1-31\n\t\tH: date.getHours(), // 24-hour clock: 0-23\n\t\tm: date.getMinutes(), // minute: 0-59\n\t\ts: date.getSeconds(), // seconds: 0-59\n\t};\n}\n\n// Find the differences between consecutive numbers in an array\nfunction getConsecutiveDifferences(elements: number[]): number[] {\n\tif (!elements) {\n\t\treturn;\n\t}\n\treturn elements.slice(1).map((elem, i) => elem - elements[i]);\n}\n\n// Given a duration in ms, return the closest TIME_INTERVAL name\nfunction closestTimeIntervalName(duration: number): string {\n\tconst index = TIME_INTERVALS.reduce(\n\t\t(nearestIndex, [intervalName, delta]: [string, number], i) => {\n\t\t\tconst deltaNearest = TIME_INTERVALS[nearestIndex][1] as number;\n\t\t\tconst oldNearestSpan = Math.abs(deltaNearest - duration);\n\t\t\tconst currentSpan = Math.abs(delta - duration);\n\t\t\treturn oldNearestSpan < currentSpan ? nearestIndex : i;\n\t\t},\n\t\t0\n\t);\n\treturn TIME_INTERVALS[index][0] as string;\n}\n\n// Given an array of timestamps, return the interval name\n// between 15seconds, minute, 30minutes, hourly, daily, weekly, monthly, quarterly, yearly\nexport function computeTimeIntervalName(ticks: number[]): string {\n\t// special case: if the dataset has only one datum, we show the tick in the most detailed way possible\n\tif (ticks.length === 1) {\n\t\treturn '15seconds';\n\t}\n\tconst differences = getConsecutiveDifferences(ticks);\n\tconst minDifference = min(differences);\n\treturn closestTimeIntervalName(minDifference);\n}\n\n// Return true if the day of the month (D = 1-31) is changed, false otherwise\nfunction isDayOfMonthChanged(timestamp: number): boolean {\n\tconst { s, m, H } = getTimeformats(timestamp);\n\treturn H === 0 && m === 0 && s === 0;\n}\n\n// Return true if the month (M = 1-12) is changed from previous tick's timestamp, false otherwise\nfunction isMonthChanged(\n\ttimestamp: number,\n\tpreviousTimestamp?: number\n): boolean {\n\tconst currentMonth = getTimeformats(timestamp).M;\n\tconst previousMonth = getTimeformats(previousTimestamp).M;\n\treturn currentMonth !== previousMonth;\n}\n\n// Return true if the year (YYYY) is changed, false otherwise\nfunction isYearChanged(timestamp: number): boolean {\n\tconst { M, d, s, m, H } = getTimeformats(timestamp);\n\treturn M === 1 && d === 1 && H === 0 && m === 0 && s === 0;\n}\n\n// Return string value of Date with milliseconds\nexport function formatDateTillMilliSeconds(date: Date) {\n\tif (date === undefined) {\n\t\treturn '';\n\t}\n\n\t// The only valid format with millisecond is ISO 8601\n\treturn date.toISOString();\n}\n"]}
@@ -1,21 +0,0 @@
1
- import { Service } from './service';
2
- import { ChartModelCartesian } from '../model/cartesian-charts';
3
- export declare class Zoom extends Service {
4
- protected model: ChartModelCartesian;
5
- isZoomBarEnabled(): boolean;
6
- getZoomBarData(): any;
7
- getDefaultZoomBarDomain(zoomBarData?: any): any;
8
- handleDomainChange(newDomain: any, configs?: {
9
- dispatchEvent: boolean;
10
- }): void;
11
- getZoomRatio(): any;
12
- filterDataForRangeAxis(displayData: object[], configs?: any): object[];
13
- zoomIn(zoomRatio?: any): void;
14
- zoomOut(zoomRatio?: any): void;
15
- resetZoomDomain(): void;
16
- isMinZoomDomain(): boolean;
17
- isMaxZoomDomain(): boolean;
18
- isEmptyState(): boolean;
19
- isZoomBarLoading(position: any): any;
20
- isZoomBarLocked(position: any): any;
21
- }
package/services/zoom.js DELETED
@@ -1,217 +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 { AxisPositions, Events, ScaleTypes } from '../interfaces';
16
- import { Service } from './service';
17
- import * as Tools from '../tools';
18
- import * as Configuration from '../configuration';
19
- // D3 imports
20
- import { extent } from 'd3-array';
21
- var Zoom = /** @class */ (function (_super) {
22
- __extends(Zoom, _super);
23
- function Zoom() {
24
- return _super !== null && _super.apply(this, arguments) || this;
25
- }
26
- Zoom.prototype.isZoomBarEnabled = function () {
27
- // CartesianScales service is only available in axis charts
28
- if (!this.services.cartesianScales) {
29
- return false;
30
- }
31
- // @todo - need to update this if zoom bar in other position (bottom, left, right) is supported
32
- // check configuration
33
- if (!Tools.getProperty(this.model.getOptions(), 'zoomBar', 'top', 'enabled')) {
34
- return false;
35
- }
36
- // @todo - Zoom Bar only supports main axis at BOTTOM axis and time scale for now
37
- this.services.cartesianScales.findDomainAndRangeAxes(); // need to do this before getMainXAxisPosition()
38
- var mainXAxisPosition = this.services.cartesianScales.getMainXAxisPosition();
39
- var mainXScaleType = Tools.getProperty(this.model.getOptions(), 'axes', mainXAxisPosition, 'scaleType');
40
- return (mainXAxisPosition === AxisPositions.BOTTOM &&
41
- mainXScaleType === ScaleTypes.TIME);
42
- };
43
- // get display data for zoom bar
44
- // basically it's sum of value grouped by time
45
- Zoom.prototype.getZoomBarData = function () {
46
- var customZoomBarData = this.model.getZoomBarData();
47
- // if user already defines zoom bar data, use it
48
- if (customZoomBarData && customZoomBarData.length > 1) {
49
- return customZoomBarData;
50
- }
51
- else {
52
- // use displayData if not defined
53
- return this.model.getDisplayData();
54
- }
55
- };
56
- Zoom.prototype.getDefaultZoomBarDomain = function (zoomBarData) {
57
- var allZoomBarData = zoomBarData || this.services.zoom.getZoomBarData();
58
- var cartesianScales = this.services.cartesianScales;
59
- var mainXAxisPosition = cartesianScales.getMainXAxisPosition();
60
- var domainIdentifier = cartesianScales.getDomainIdentifier();
61
- var customDomain = Tools.getProperty(this.model.getOptions(), 'axes', mainXAxisPosition, 'domain');
62
- // return custom domain if exists && valid
63
- if (Array.isArray(customDomain) && customDomain.length === 2) {
64
- return customDomain;
65
- }
66
- // default to full range with extended domain
67
- return cartesianScales.extendsDomain(mainXAxisPosition, extent(allZoomBarData, function (d) { return d[domainIdentifier]; }));
68
- };
69
- Zoom.prototype.handleDomainChange = function (newDomain, configs) {
70
- if (configs === void 0) { configs = { dispatchEvent: true }; }
71
- this.model.set({ zoomDomain: newDomain }, { animate: false });
72
- if (configs.dispatchEvent) {
73
- this.services.events.dispatchEvent(Events.ZoomDomain.CHANGE, {
74
- newDomain: newDomain,
75
- });
76
- }
77
- };
78
- Zoom.prototype.getZoomRatio = function () {
79
- return Tools.getProperty(this.model.getOptions(), 'zoomBar', 'zoomRatio');
80
- };
81
- // filter out data not inside zoom domain
82
- // to get better range value for axis label
83
- Zoom.prototype.filterDataForRangeAxis = function (displayData, configs) {
84
- var zoomDomain = this.model.get('zoomDomain');
85
- var mergedConfigs = Object.assign({ stacked: false }, // default configs
86
- configs);
87
- var shouldUpdateRangeAxis = Tools.getProperty(this.model.getOptions(), 'zoomBar', 'updateRangeAxis');
88
- if (this.isZoomBarEnabled() && shouldUpdateRangeAxis && zoomDomain) {
89
- var domainIdentifier_1 = mergedConfigs.stacked
90
- ? 'sharedStackKey'
91
- : this.services.cartesianScales.getDomainIdentifier();
92
- var filteredData = displayData.filter(function (datum) {
93
- return new Date(datum[domainIdentifier_1]) >= zoomDomain[0] &&
94
- new Date(datum[domainIdentifier_1]) <= zoomDomain[1];
95
- });
96
- // if no data in zoom domain, use all data to get full range value
97
- // so only return filteredData if length > 0
98
- if (filteredData.length > 0) {
99
- return filteredData;
100
- }
101
- }
102
- // return original data by default
103
- return displayData;
104
- };
105
- Zoom.prototype.zoomIn = function (zoomRatio) {
106
- if (zoomRatio === void 0) { zoomRatio = this.getZoomRatio(); }
107
- // get current zoomDomain
108
- var currentZoomDomain = this.model.get('zoomDomain');
109
- var handleWidth = Configuration.zoomBar.handleWidth;
110
- var xScale = this.services.cartesianScales.getMainXScale().copy();
111
- xScale.domain(this.getDefaultZoomBarDomain()); // reset domain to default full domain
112
- // use scale range (rather than domain) to calculate
113
- // current zoom bar handle x position
114
- var currentX0 = xScale(currentZoomDomain[0]);
115
- var currentX1 = xScale(currentZoomDomain[1]);
116
- // zoom bar handles are already too close
117
- if (currentX1 - currentX0 < handleWidth + 1) {
118
- return;
119
- }
120
- var fullRange = xScale.range();
121
- var gap = currentX1 - currentX0;
122
- var diff = Math.min(((fullRange[1] - fullRange[0]) / 2) * (zoomRatio / 2), gap / 2);
123
- // new zoom bar handle x position
124
- var newX0 = currentX0 + diff;
125
- var newX1 = currentX1 - diff;
126
- // if left handle becomes right side of right handle, just make them close to each other
127
- if (newX0 >= newX1) {
128
- newX0 = currentX0 + gap / 2 - handleWidth / 2;
129
- newX1 = currentX1 - gap / 2 + handleWidth / 2;
130
- }
131
- var newDomain = [xScale.invert(newX0), xScale.invert(newX1)];
132
- // only if zoomDomain needs update
133
- if (currentZoomDomain[0].valueOf() !== newDomain[0].valueOf() ||
134
- currentZoomDomain[1].valueOf() !== newDomain[1].valueOf()) {
135
- this.handleDomainChange(newDomain);
136
- }
137
- };
138
- Zoom.prototype.zoomOut = function (zoomRatio) {
139
- if (zoomRatio === void 0) { zoomRatio = this.getZoomRatio(); }
140
- // get current zoomDomain
141
- var currentZoomDomain = this.model.get('zoomDomain');
142
- var xScale = this.services.cartesianScales.getMainXScale().copy();
143
- xScale.domain(this.getDefaultZoomBarDomain()); // reset domain to default full domain
144
- // use scale range (rather than domain) to calculate
145
- // current zoom bar handle x position
146
- var currentX0 = xScale(currentZoomDomain[0]);
147
- var currentX1 = xScale(currentZoomDomain[1]);
148
- var fullRange = xScale.range();
149
- var diff = ((fullRange[1] - fullRange[0]) / 2) * (zoomRatio / 2);
150
- // new zoom bar handle x position
151
- // max to full range
152
- var newX0 = Math.max(currentX0 - diff, fullRange[0]);
153
- var newX1 = Math.min(currentX1 + diff, fullRange[1]);
154
- var newDomain = [xScale.invert(newX0), xScale.invert(newX1)];
155
- // only if zoomDomain needs update
156
- if (currentZoomDomain[0].valueOf() !== newDomain[0].valueOf() ||
157
- currentZoomDomain[1].valueOf() !== newDomain[1].valueOf()) {
158
- this.handleDomainChange(newDomain);
159
- }
160
- };
161
- Zoom.prototype.resetZoomDomain = function () {
162
- // get current zoomDomain
163
- var currentZoomDomain = this.model.get('zoomDomain');
164
- var newDomain = this.getDefaultZoomBarDomain();
165
- // only if zoomDomain needs update
166
- if (currentZoomDomain[0].valueOf() !== newDomain[0].valueOf() ||
167
- currentZoomDomain[1].valueOf() !== newDomain[1].valueOf()) {
168
- this.handleDomainChange(newDomain);
169
- }
170
- };
171
- // check if current zoom domain is already the min zoom domain
172
- // when toolbar is rendered, we don't render chart yet
173
- // don't depend on scale range
174
- Zoom.prototype.isMinZoomDomain = function () {
175
- // get current zoomDomain
176
- var currentZoomDomain = this.model.get('zoomDomain');
177
- // assume the max zoom domain is the default zoom bar domain
178
- var maxZoomDomain = this.getDefaultZoomBarDomain();
179
- if (!currentZoomDomain || !maxZoomDomain) {
180
- return false;
181
- }
182
- var currentZoomDomainPeriod = currentZoomDomain[1].valueOf() - currentZoomDomain[0].valueOf();
183
- var maxZoomDomainPeriod = maxZoomDomain[1].valueOf() - maxZoomDomain[0].valueOf();
184
- var minZoomRatio = Tools.getProperty(this.model.getOptions(), 'zoomBar', 'minZoomRatio');
185
- // if current zoom domain is already smaller than minZoomRatio
186
- if (currentZoomDomainPeriod / maxZoomDomainPeriod < minZoomRatio) {
187
- return true;
188
- }
189
- return false;
190
- };
191
- // check if current zoom domain is already the max zoom domain
192
- Zoom.prototype.isMaxZoomDomain = function () {
193
- // get current zoom domain
194
- var currentZoomDomain = this.model.get('zoomDomain');
195
- // assume the max zoom domain is the default zoom bar domain
196
- var maxZoomDomain = this.getDefaultZoomBarDomain();
197
- if (currentZoomDomain &&
198
- maxZoomDomain &&
199
- currentZoomDomain[0].valueOf() === maxZoomDomain[0].valueOf() &&
200
- currentZoomDomain[1].valueOf() === maxZoomDomain[1].valueOf()) {
201
- return true;
202
- }
203
- return false;
204
- };
205
- Zoom.prototype.isEmptyState = function () {
206
- return this.getZoomBarData().length === 0;
207
- };
208
- Zoom.prototype.isZoomBarLoading = function (position) {
209
- return Tools.getProperty(this.model.getOptions(), 'zoomBar', position, 'loading');
210
- };
211
- Zoom.prototype.isZoomBarLocked = function (position) {
212
- return Tools.getProperty(this.model.getOptions(), 'zoomBar', position, 'locked');
213
- };
214
- return Zoom;
215
- }(Service));
216
- export { Zoom };
217
- //# sourceMappingURL=../../src/services/zoom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zoom.js","sourceRoot":"","sources":["zoom.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { AxisPositions, Events, ScaleTypes } from '../interfaces';\nimport { Service } from './service';\nimport * as Tools from '../tools';\nimport * as Configuration from '../configuration';\nimport { ChartModelCartesian } from '../model/cartesian-charts';\n\n// D3 imports\nimport { extent } from 'd3-array';\n\nexport class Zoom extends Service {\n\tprotected model: ChartModelCartesian;\n\n\tisZoomBarEnabled() {\n\t\t// CartesianScales service is only available in axis charts\n\t\tif (!this.services.cartesianScales) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// @todo - need to update this if zoom bar in other position (bottom, left, right) is supported\n\t\t// check configuration\n\t\tif (\n\t\t\t!Tools.getProperty(\n\t\t\t\tthis.model.getOptions(),\n\t\t\t\t'zoomBar',\n\t\t\t\t'top',\n\t\t\t\t'enabled'\n\t\t\t)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// @todo - Zoom Bar only supports main axis at BOTTOM axis and time scale for now\n\t\tthis.services.cartesianScales.findDomainAndRangeAxes(); // need to do this before getMainXAxisPosition()\n\t\tconst mainXAxisPosition = this.services.cartesianScales.getMainXAxisPosition();\n\t\tconst mainXScaleType = Tools.getProperty(\n\t\t\tthis.model.getOptions(),\n\t\t\t'axes',\n\t\t\tmainXAxisPosition,\n\t\t\t'scaleType'\n\t\t);\n\n\t\treturn (\n\t\t\tmainXAxisPosition === AxisPositions.BOTTOM &&\n\t\t\tmainXScaleType === ScaleTypes.TIME\n\t\t);\n\t}\n\n\t// get display data for zoom bar\n\t// basically it's sum of value grouped by time\n\tgetZoomBarData() {\n\t\tconst customZoomBarData = this.model.getZoomBarData();\n\n\t\t// if user already defines zoom bar data, use it\n\t\tif (customZoomBarData && customZoomBarData.length > 1) {\n\t\t\treturn customZoomBarData;\n\t\t} else {\n\t\t\t// use displayData if not defined\n\t\t\treturn this.model.getDisplayData();\n\t\t}\n\t}\n\n\tgetDefaultZoomBarDomain(zoomBarData?) {\n\t\tconst allZoomBarData =\n\t\t\tzoomBarData || this.services.zoom.getZoomBarData();\n\t\tconst { cartesianScales } = this.services;\n\t\tconst mainXAxisPosition = cartesianScales.getMainXAxisPosition();\n\t\tconst domainIdentifier = cartesianScales.getDomainIdentifier();\n\n\t\tconst customDomain = Tools.getProperty(\n\t\t\tthis.model.getOptions(),\n\t\t\t'axes',\n\t\t\tmainXAxisPosition,\n\t\t\t'domain'\n\t\t);\n\n\t\t// return custom domain if exists && valid\n\t\tif (Array.isArray(customDomain) && customDomain.length === 2) {\n\t\t\treturn customDomain;\n\t\t}\n\n\t\t// default to full range with extended domain\n\t\treturn cartesianScales.extendsDomain(\n\t\t\tmainXAxisPosition,\n\t\t\textent(allZoomBarData, (d: any) => d[domainIdentifier])\n\t\t);\n\t}\n\n\thandleDomainChange(newDomain, configs = { dispatchEvent: true }) {\n\t\tthis.model.set({ zoomDomain: newDomain }, { animate: false });\n\t\tif (configs.dispatchEvent) {\n\t\t\tthis.services.events.dispatchEvent(Events.ZoomDomain.CHANGE, {\n\t\t\t\tnewDomain,\n\t\t\t});\n\t\t}\n\t}\n\n\tgetZoomRatio() {\n\t\treturn Tools.getProperty(\n\t\t\tthis.model.getOptions(),\n\t\t\t'zoomBar',\n\t\t\t'zoomRatio'\n\t\t);\n\t}\n\n\t// filter out data not inside zoom domain\n\t// to get better range value for axis label\n\tfilterDataForRangeAxis(displayData: object[], configs?: any) {\n\t\tconst zoomDomain = this.model.get('zoomDomain');\n\t\tconst mergedConfigs = Object.assign(\n\t\t\t{ stacked: false }, // default configs\n\t\t\tconfigs\n\t\t);\n\t\tconst shouldUpdateRangeAxis = Tools.getProperty(\n\t\t\tthis.model.getOptions(),\n\t\t\t'zoomBar',\n\t\t\t'updateRangeAxis'\n\t\t);\n\t\tif (this.isZoomBarEnabled() && shouldUpdateRangeAxis && zoomDomain) {\n\t\t\tconst domainIdentifier = mergedConfigs.stacked\n\t\t\t\t? 'sharedStackKey'\n\t\t\t\t: this.services.cartesianScales.getDomainIdentifier();\n\t\t\tconst filteredData = displayData.filter(\n\t\t\t\t(datum) =>\n\t\t\t\t\tnew Date(datum[domainIdentifier]) >= zoomDomain[0] &&\n\t\t\t\t\tnew Date(datum[domainIdentifier]) <= zoomDomain[1]\n\t\t\t);\n\t\t\t// if no data in zoom domain, use all data to get full range value\n\t\t\t// so only return filteredData if length > 0\n\t\t\tif (filteredData.length > 0) {\n\t\t\t\treturn filteredData;\n\t\t\t}\n\t\t}\n\t\t// return original data by default\n\t\treturn displayData;\n\t}\n\n\tzoomIn(zoomRatio = this.getZoomRatio()) {\n\t\t// get current zoomDomain\n\t\tconst currentZoomDomain = this.model.get('zoomDomain');\n\t\tconst handleWidth = Configuration.zoomBar.handleWidth;\n\t\tconst xScale = this.services.cartesianScales.getMainXScale().copy();\n\t\txScale.domain(this.getDefaultZoomBarDomain()); // reset domain to default full domain\n\n\t\t// use scale range (rather than domain) to calculate\n\t\t// current zoom bar handle x position\n\t\tconst currentX0 = xScale(currentZoomDomain[0]);\n\t\tconst currentX1 = xScale(currentZoomDomain[1]);\n\n\t\t// zoom bar handles are already too close\n\t\tif (currentX1 - currentX0 < handleWidth + 1) {\n\t\t\treturn;\n\t\t}\n\t\tconst fullRange = xScale.range();\n\t\tconst gap = currentX1 - currentX0;\n\t\tconst diff = Math.min(\n\t\t\t((fullRange[1] - fullRange[0]) / 2) * (zoomRatio / 2),\n\t\t\tgap / 2\n\t\t);\n\n\t\t// new zoom bar handle x position\n\t\tlet newX0 = currentX0 + diff;\n\t\tlet newX1 = currentX1 - diff;\n\t\t// if left handle becomes right side of right handle, just make them close to each other\n\t\tif (newX0 >= newX1) {\n\t\t\tnewX0 = currentX0 + gap / 2 - handleWidth / 2;\n\t\t\tnewX1 = currentX1 - gap / 2 + handleWidth / 2;\n\t\t}\n\n\t\tconst newDomain = [xScale.invert(newX0), xScale.invert(newX1)];\n\n\t\t// only if zoomDomain needs update\n\t\tif (\n\t\t\tcurrentZoomDomain[0].valueOf() !== newDomain[0].valueOf() ||\n\t\t\tcurrentZoomDomain[1].valueOf() !== newDomain[1].valueOf()\n\t\t) {\n\t\t\tthis.handleDomainChange(newDomain);\n\t\t}\n\t}\n\n\tzoomOut(zoomRatio = this.getZoomRatio()) {\n\t\t// get current zoomDomain\n\t\tconst currentZoomDomain = this.model.get('zoomDomain');\n\t\tconst xScale = this.services.cartesianScales.getMainXScale().copy();\n\t\txScale.domain(this.getDefaultZoomBarDomain()); // reset domain to default full domain\n\n\t\t// use scale range (rather than domain) to calculate\n\t\t// current zoom bar handle x position\n\t\tconst currentX0 = xScale(currentZoomDomain[0]);\n\t\tconst currentX1 = xScale(currentZoomDomain[1]);\n\n\t\tconst fullRange = xScale.range();\n\t\tconst diff = ((fullRange[1] - fullRange[0]) / 2) * (zoomRatio / 2);\n\n\t\t// new zoom bar handle x position\n\t\t// max to full range\n\t\tconst newX0 = Math.max(currentX0 - diff, fullRange[0]);\n\t\tconst newX1 = Math.min(currentX1 + diff, fullRange[1]);\n\n\t\tconst newDomain = [xScale.invert(newX0), xScale.invert(newX1)];\n\n\t\t// only if zoomDomain needs update\n\t\tif (\n\t\t\tcurrentZoomDomain[0].valueOf() !== newDomain[0].valueOf() ||\n\t\t\tcurrentZoomDomain[1].valueOf() !== newDomain[1].valueOf()\n\t\t) {\n\t\t\tthis.handleDomainChange(newDomain);\n\t\t}\n\t}\n\n\tresetZoomDomain() {\n\t\t// get current zoomDomain\n\t\tconst currentZoomDomain = this.model.get('zoomDomain');\n\t\tconst newDomain = this.getDefaultZoomBarDomain();\n\n\t\t// only if zoomDomain needs update\n\t\tif (\n\t\t\tcurrentZoomDomain[0].valueOf() !== newDomain[0].valueOf() ||\n\t\t\tcurrentZoomDomain[1].valueOf() !== newDomain[1].valueOf()\n\t\t) {\n\t\t\tthis.handleDomainChange(newDomain);\n\t\t}\n\t}\n\n\t// check if current zoom domain is already the min zoom domain\n\t// when toolbar is rendered, we don't render chart yet\n\t// don't depend on scale range\n\tisMinZoomDomain() {\n\t\t// get current zoomDomain\n\t\tconst currentZoomDomain = this.model.get('zoomDomain');\n\t\t// assume the max zoom domain is the default zoom bar domain\n\t\tconst maxZoomDomain = this.getDefaultZoomBarDomain();\n\t\tif (!currentZoomDomain || !maxZoomDomain) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst currentZoomDomainPeriod =\n\t\t\tcurrentZoomDomain[1].valueOf() - currentZoomDomain[0].valueOf();\n\t\tconst maxZoomDomainPeriod =\n\t\t\tmaxZoomDomain[1].valueOf() - maxZoomDomain[0].valueOf();\n\t\tconst minZoomRatio = Tools.getProperty(\n\t\t\tthis.model.getOptions(),\n\t\t\t'zoomBar',\n\t\t\t'minZoomRatio'\n\t\t);\n\t\t// if current zoom domain is already smaller than minZoomRatio\n\t\tif (currentZoomDomainPeriod / maxZoomDomainPeriod < minZoomRatio) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t// check if current zoom domain is already the max zoom domain\n\tisMaxZoomDomain() {\n\t\t// get current zoom domain\n\t\tconst currentZoomDomain = this.model.get('zoomDomain');\n\t\t// assume the max zoom domain is the default zoom bar domain\n\t\tconst maxZoomDomain = this.getDefaultZoomBarDomain();\n\n\t\tif (\n\t\t\tcurrentZoomDomain &&\n\t\t\tmaxZoomDomain &&\n\t\t\tcurrentZoomDomain[0].valueOf() === maxZoomDomain[0].valueOf() &&\n\t\t\tcurrentZoomDomain[1].valueOf() === maxZoomDomain[1].valueOf()\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tisEmptyState() {\n\t\treturn this.getZoomBarData().length === 0;\n\t}\n\n\tisZoomBarLoading(position) {\n\t\treturn Tools.getProperty(\n\t\t\tthis.model.getOptions(),\n\t\t\t'zoomBar',\n\t\t\tposition,\n\t\t\t'loading'\n\t\t);\n\t}\n\n\tisZoomBarLocked(position) {\n\t\treturn Tools.getProperty(\n\t\t\tthis.model.getOptions(),\n\t\t\t'zoomBar',\n\t\t\tposition,\n\t\t\t'locked'\n\t\t);\n\t}\n}\n"]}