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