@carbon/charts 1.8.0 → 1.9.0-rc.0

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