@carbon/charts 1.8.0 → 1.9.0-next.0

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