@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":"axis.js","sourceRoot":"","sources":["axis.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from '../component';\nimport {\n\tAxisPositions,\n\tEvents,\n\tScaleTypes,\n\tRoles,\n\tTruncationTypes,\n} from '../../interfaces';\nimport * as Tools from '../../tools';\nimport { ChartModel } from '../../model/model';\nimport { DOMUtils } from '../../services';\nimport {\n\tAxisTitleOrientations,\n\tRenderTypes,\n\tTickRotations,\n} from '../../interfaces/enums';\nimport * as Configuration from '../../configuration';\nimport {\n\tcomputeTimeIntervalName,\n\tformatTick,\n\tisTickPrimary,\n} from '../../services/time-series';\n\n// D3 Imports\nimport { select } from 'd3-selection';\nimport { axisBottom, axisLeft, axisRight, axisTop } from 'd3-axis';\n\nexport class Axis extends Component {\n\ttype = 'axes';\n\trenderType = RenderTypes.SVG;\n\n\tmargins: any;\n\ttruncation = {\n\t\t[AxisPositions.LEFT]: false,\n\t\t[AxisPositions.RIGHT]: false,\n\t\t[AxisPositions.TOP]: false,\n\t\t[AxisPositions.BOTTOM]: false,\n\t};\n\n\tscale: any;\n\tscaleType: ScaleTypes;\n\n\tconstructor(model: ChartModel, services: any, configs?: any) {\n\t\tsuper(model, services, configs);\n\n\t\tif (configs) {\n\t\t\tthis.configs = configs;\n\t\t}\n\n\t\tthis.margins = this.configs.margins;\n\t}\n\n\trender(animate = true) {\n\t\tconst { position: axisPosition } = this.configs;\n\t\tconst options = this.getOptions();\n\t\tconst isAxisVisible = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'axes',\n\t\t\taxisPosition,\n\t\t\t'visible'\n\t\t);\n\n\t\tconst svg = this.getComponentContainer();\n\t\tconst { width, height } = DOMUtils.getSVGElementSize(svg, {\n\t\t\tuseAttrs: true,\n\t\t});\n\n\t\t// Add axis into the parent\n\t\tconst container = DOMUtils.appendOrSelect(\n\t\t\tsvg,\n\t\t\t`g.axis.${axisPosition}`\n\t\t);\n\t\tlet startPosition, endPosition;\n\t\tif (\n\t\t\taxisPosition === AxisPositions.BOTTOM ||\n\t\t\taxisPosition === AxisPositions.TOP\n\t\t) {\n\t\t\tstartPosition = this.configs.axes[AxisPositions.LEFT]\n\t\t\t\t? this.margins.left\n\t\t\t\t: 0;\n\t\t\tendPosition = this.configs.axes[AxisPositions.RIGHT]\n\t\t\t\t? width - this.margins.right\n\t\t\t\t: width;\n\t\t} else {\n\t\t\tstartPosition = height - this.margins.bottom;\n\t\t\tendPosition = this.margins.top;\n\t\t}\n\n\t\t// Grab the scale off of the Scales service\n\t\tconst scale = this.services.cartesianScales.getScaleByPosition(\n\t\t\taxisPosition\n\t\t);\n\n\t\tif (\n\t\t\tthis.scaleType === ScaleTypes.LABELS ||\n\t\t\tthis.scaleType === ScaleTypes.LABELS_RATIO\n\t\t) {\n\t\t\tscale.rangeRound([startPosition, endPosition]);\n\t\t} else {\n\t\t\tscale.range([startPosition, endPosition]);\n\t\t}\n\n\t\t// Identify the corresponding d3 axis function\n\t\tlet axisFunction;\n\t\tswitch (axisPosition) {\n\t\t\tcase AxisPositions.LEFT:\n\t\t\t\taxisFunction = axisLeft;\n\t\t\t\tbreak;\n\t\t\tcase AxisPositions.BOTTOM:\n\t\t\t\taxisFunction = axisBottom;\n\t\t\t\tbreak;\n\t\t\tcase AxisPositions.RIGHT:\n\t\t\t\taxisFunction = axisRight;\n\t\t\t\tbreak;\n\t\t\tcase AxisPositions.TOP:\n\t\t\t\taxisFunction = axisTop;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tcontainer.attr('aria-label', `${axisPosition} axis`);\n\t\tconst axisRefExists = !container.select(`g.ticks`).empty();\n\t\tlet axisRef = DOMUtils.appendOrSelect(container, `g.ticks`);\n\t\tif (!axisRefExists) {\n\t\t\taxisRef.attr('role', `${Roles.GRAPHICS_OBJECT} ${Roles.GROUP}`);\n\t\t\taxisRef.attr('aria-label', `${axisPosition} ticks`);\n\t\t}\n\n\t\t// We draw the invisible axis because of the async nature of d3 transitions\n\t\t// To be able to tell the final width & height of the axis when initiaing the transition\n\t\t// The invisible axis is updated instantly and without a transition\n\t\tconst invisibleAxisRef = DOMUtils.appendOrSelect(\n\t\t\tcontainer,\n\t\t\t`g.ticks.invisible`\n\t\t)\n\t\t\t.style('opacity', '0')\n\t\t\t.style('pointer-events', 'none')\n\t\t\t.attr('aria-hidden', true)\n\t\t\t.attr('aria-label', `invisible ${axisPosition} ticks`);\n\n\t\tconst axisOptions = Tools.getProperty(options, 'axes', axisPosition);\n\t\tconst isTimeScaleType =\n\t\t\tthis.scaleType === ScaleTypes.TIME ||\n\t\t\taxisOptions.scaleType === ScaleTypes.TIME;\n\t\tconst isVerticalAxis =\n\t\t\taxisPosition === AxisPositions.LEFT ||\n\t\t\taxisPosition === AxisPositions.RIGHT;\n\n\t\t// if zoomDomain is available, scale type is time, and axis position isBOTTOM or TOP\n\t\t// update scale domain to zoomDomain.\n\t\tconst zoomDomain = this.model.get('zoomDomain');\n\t\tif (zoomDomain && isTimeScaleType && !isVerticalAxis) {\n\t\t\tscale.domain(zoomDomain);\n\t\t}\n\n\t\tif (!isAxisVisible) {\n\t\t\taxisRef.attr('aria-hidden', true);\n\t\t\treturn;\n\t\t}\n\n\t\tconst axisScaleType = Tools.getProperty(axisOptions, 'scaleType');\n\t\tconst isDataLoading = Tools.getProperty(options, 'data', 'loading');\n\t\tconst numberOfTicksProvided = Tools.getProperty(\n\t\t\taxisOptions,\n\t\t\t'ticks',\n\t\t\t'number'\n\t\t);\n\n\t\t// user can provide custom ticks to be displayed\n\t\t// ticks need to be in the domain of the axis data\n\t\tconst userProvidedTickValues = Tools.getProperty(\n\t\t\taxisOptions,\n\t\t\t'ticks',\n\t\t\t'values'\n\t\t);\n\n\t\t// get user provided custom values for truncation\n\t\tconst truncationType = Tools.getProperty(\n\t\t\taxisOptions,\n\t\t\t'truncation',\n\t\t\t'type'\n\t\t);\n\t\tconst truncationThreshold = Tools.getProperty(\n\t\t\taxisOptions,\n\t\t\t'truncation',\n\t\t\t'threshold'\n\t\t);\n\t\tconst truncationNumCharacter = Tools.getProperty(\n\t\t\taxisOptions,\n\t\t\t'truncation',\n\t\t\t'numCharacter'\n\t\t);\n\n\t\tconst isNumberOfTicksProvided = numberOfTicksProvided !== null;\n\t\tconst timeScaleOptions = Tools.getProperty(options, 'timeScale');\n\n\t\t// Append to DOM a fake tick to get the right computed font height\n\t\tconst fakeTick = DOMUtils.appendOrSelect(invisibleAxisRef, `g.tick`);\n\t\tconst fakeTickText = DOMUtils.appendOrSelect(fakeTick, `text`).text(\n\t\t\t'0'\n\t\t);\n\t\tconst tickHeight = DOMUtils.getSVGElementSize(fakeTickText.node(), {\n\t\t\tuseBBox: true,\n\t\t}).height;\n\t\tfakeTick.remove();\n\n\t\tconst scaleType =\n\t\t\tthis.scaleType || axisOptions.scaleType || ScaleTypes.LINEAR;\n\n\t\t// Initialize axis object\n\t\tconst axis = axisFunction(scale).tickSizeOuter(0);\n\n\t\tif (scale.ticks) {\n\t\t\tlet numberOfTicks;\n\n\t\t\tif (isNumberOfTicksProvided) {\n\t\t\t\tnumberOfTicks = numberOfTicksProvided;\n\t\t\t} else {\n\t\t\t\tnumberOfTicks = Configuration.axis.ticks.number;\n\t\t\t\tif (isVerticalAxis) {\n\t\t\t\t\t// Set how many ticks based on height\n\t\t\t\t\tnumberOfTicks = this.getNumberOfFittingTicks(\n\t\t\t\t\t\theight,\n\t\t\t\t\t\ttickHeight,\n\t\t\t\t\t\tConfiguration.axis.ticks.verticalSpaceRatio\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// scale continuous\n\t\t\t// remove 0 ticks for skeleton\n\t\t\tif (scale.ticks().length === 1 && scale.ticks()[0] === 0) {\n\t\t\t\tnumberOfTicks = 0;\n\t\t\t}\n\n\t\t\taxis.ticks(numberOfTicks);\n\n\t\t\tif (isTimeScaleType) {\n\t\t\t\tif (!scale.ticks(numberOfTicks).length) {\n\t\t\t\t\taxis.tickValues([]);\n\t\t\t\t} else {\n\t\t\t\t\tconst addSpaceOnEdges = Tools.getProperty(\n\t\t\t\t\t\toptions,\n\t\t\t\t\t\t'timeScale',\n\t\t\t\t\t\t'addSpaceOnEdges'\n\t\t\t\t\t);\n\n\t\t\t\t\tconst customDomain = Tools.getProperty(\n\t\t\t\t\t\toptions,\n\t\t\t\t\t\t'axes',\n\t\t\t\t\t\taxisPosition,\n\t\t\t\t\t\t'domain'\n\t\t\t\t\t);\n\n\t\t\t\t\tlet tickValues;\n\t\t\t\t\t// scale.nice() will change scale domain which causes extra space near chart edge\n\t\t\t\t\t// so use another scale instance to avoid impacts to original scale\n\t\t\t\t\tconst tempScale = scale.copy();\n\t\t\t\t\tif (addSpaceOnEdges && !customDomain) {\n\t\t\t\t\t\ttempScale.nice(numberOfTicks);\n\t\t\t\t\t}\n\t\t\t\t\ttickValues = tempScale.ticks(numberOfTicks);\n\n\t\t\t\t\t// Remove labels on the edges\n\t\t\t\t\t// If there are more than 2 labels to show\n\t\t\t\t\tif (\n\t\t\t\t\t\taddSpaceOnEdges &&\n\t\t\t\t\t\ttickValues.length > 2 &&\n\t\t\t\t\t\t!customDomain\n\t\t\t\t\t) {\n\t\t\t\t\t\ttickValues.splice(tickValues.length - 1, 1);\n\t\t\t\t\t\ttickValues.splice(0, 1);\n\t\t\t\t\t}\n\n\t\t\t\t\taxis.tickValues(tickValues);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// create the right ticks formatter\n\t\tlet formatter;\n\t\tconst userProvidedFormatter = Tools.getProperty(\n\t\t\taxisOptions,\n\t\t\t'ticks',\n\t\t\t'formatter'\n\t\t);\n\t\tif (isTimeScaleType) {\n\t\t\tconst timeInterval = computeTimeIntervalName(axis.tickValues());\n\t\t\tif (userProvidedFormatter === null) {\n\t\t\t\tformatter = (t: number, i: number) =>\n\t\t\t\t\tformatTick(\n\t\t\t\t\t\tt,\n\t\t\t\t\t\ti,\n\t\t\t\t\t\taxis.tickValues(),\n\t\t\t\t\t\ttimeInterval,\n\t\t\t\t\t\ttimeScaleOptions\n\t\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tformatter = (t: number, i: number) => {\n\t\t\t\t\tconst defaultFormattedValue = formatTick(\n\t\t\t\t\t\tt,\n\t\t\t\t\t\ti,\n\t\t\t\t\t\taxis.tickValues(),\n\t\t\t\t\t\ttimeInterval,\n\t\t\t\t\t\ttimeScaleOptions\n\t\t\t\t\t);\n\t\t\t\t\treturn userProvidedFormatter(t, i, defaultFormattedValue);\n\t\t\t\t};\n\t\t\t}\n\t\t} else {\n\t\t\tif (userProvidedFormatter === null) {\n\t\t\t\tif (scaleType === ScaleTypes.LINEAR) {\n\t\t\t\t\tformatter = (t) => t.toLocaleString();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tformatter = userProvidedFormatter;\n\t\t\t}\n\t\t}\n\n\t\t// Set ticks formatter\n\t\taxis.tickFormat(formatter);\n\n\t\t// prioritize using a custom array of values rather than number of ticks\n\t\t// if both are provided. custom tick values need to be within the domain of the scale\n\t\tconst [\n\t\t\tlowerBound,\n\t\t\tupperBound,\n\t\t] = this.services.cartesianScales\n\t\t\t.getScaleByPosition(axisPosition)\n\t\t\t.domain();\n\t\tlet validTicks;\n\t\tif (userProvidedTickValues) {\n\t\t\tif (isTimeScaleType) {\n\t\t\t\t// sanitize user-provided tick values\n\t\t\t\tuserProvidedTickValues.forEach((userProvidedTickValue, i) => {\n\t\t\t\t\tif (userProvidedTickValue.getTime === undefined) {\n\t\t\t\t\t\tuserProvidedTickValues[i] = new Date(\n\t\t\t\t\t\t\tuserProvidedTickValue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// check the supplied ticks are within the time domain\n\t\t\t\tvalidTicks = userProvidedTickValues.filter((tick) => {\n\t\t\t\t\tconst tickTimestamp = tick.getTime();\n\t\t\t\t\treturn (\n\t\t\t\t\t\ttickTimestamp >= new Date(lowerBound).getTime() &&\n\t\t\t\t\t\ttickTimestamp <= new Date(upperBound).getTime()\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t} else if (axisScaleType === ScaleTypes.LABELS) {\n\t\t\t\tconst discreteDomain = this.services.cartesianScales\n\t\t\t\t\t.getScaleByPosition(axisPosition)\n\t\t\t\t\t.domain();\n\t\t\t\tvalidTicks = userProvidedTickValues.filter((tick) =>\n\t\t\t\t\tdiscreteDomain.includes(tick)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// continuous scales\n\t\t\t\tvalidTicks = userProvidedTickValues.filter(\n\t\t\t\t\t(tick) => tick >= lowerBound && tick <= upperBound\n\t\t\t\t);\n\t\t\t}\n\n\t\t\taxis.tickValues(validTicks);\n\t\t}\n\n\t\t// Position and transition the axis\n\t\tswitch (axisPosition) {\n\t\t\tcase AxisPositions.LEFT:\n\t\t\t\taxisRef.attr('transform', `translate(${this.margins.left}, 0)`);\n\t\t\t\tbreak;\n\t\t\tcase AxisPositions.BOTTOM:\n\t\t\t\taxisRef.attr(\n\t\t\t\t\t'transform',\n\t\t\t\t\t`translate(0, ${height - this.margins.bottom})`\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase AxisPositions.RIGHT:\n\t\t\t\taxisRef.attr(\n\t\t\t\t\t'transform',\n\t\t\t\t\t`translate(${width - this.margins.right}, 0)`\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase AxisPositions.TOP:\n\t\t\t\taxisRef.attr('transform', `translate(0, ${this.margins.top})`);\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Position the axis title\n\t\t// check that data exists, if they don't, doesn't show the title axis\n\t\tconst isDataEmpty = this.model.isDataEmpty();\n\t\tif (axisOptions.title) {\n\t\t\tconst axisTitleRef = DOMUtils.appendOrSelect(\n\t\t\t\tcontainer,\n\t\t\t\t`text.axis-title`\n\t\t\t).html(isDataEmpty || isDataLoading ? '' : axisOptions.title);\n\n\t\t\t// vertical axes can have override for title orientation\n\t\t\tconst titleOrientation = Tools.getProperty(\n\t\t\t\taxisOptions,\n\t\t\t\t'titleOrientation'\n\t\t\t);\n\t\t\tswitch (axisPosition) {\n\t\t\t\tcase AxisPositions.LEFT:\n\t\t\t\t\tif (titleOrientation === AxisTitleOrientations.RIGHT) {\n\t\t\t\t\t\taxisTitleRef\n\t\t\t\t\t\t\t.attr('transform', 'rotate(90)')\n\t\t\t\t\t\t\t.attr('y', 0)\n\t\t\t\t\t\t\t.attr('x', scale.range()[0] / 2)\n\t\t\t\t\t\t\t.attr('dy', '-0.5em')\n\t\t\t\t\t\t\t.style('text-anchor', 'middle');\n\t\t\t\t\t} else {\n\t\t\t\t\t\taxisTitleRef\n\t\t\t\t\t\t\t.attr('transform', 'rotate(-90)')\n\t\t\t\t\t\t\t.attr('y', 0)\n\t\t\t\t\t\t\t.attr('x', -(scale.range()[0] / 2))\n\t\t\t\t\t\t\t.attr('dy', '0.75em')\n\t\t\t\t\t\t\t.style('text-anchor', 'middle');\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase AxisPositions.BOTTOM:\n\t\t\t\t\taxisTitleRef\n\t\t\t\t\t\t.attr(\n\t\t\t\t\t\t\t'transform',\n\t\t\t\t\t\t\t`translate(${\n\t\t\t\t\t\t\t\tthis.margins.left / 2 + scale.range()[1] / 2\n\t\t\t\t\t\t\t}, ${height + 4})`\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.style('text-anchor', 'middle');\n\t\t\t\t\tbreak;\n\t\t\t\tcase AxisPositions.RIGHT:\n\t\t\t\t\tif (titleOrientation === AxisTitleOrientations.LEFT) {\n\t\t\t\t\t\taxisTitleRef\n\t\t\t\t\t\t\t.attr('transform', 'rotate(-90)')\n\t\t\t\t\t\t\t.attr('y', width)\n\t\t\t\t\t\t\t.attr('x', -(scale.range()[0] / 2))\n\t\t\t\t\t\t\t.style('text-anchor', 'middle');\n\t\t\t\t\t} else {\n\t\t\t\t\t\taxisTitleRef\n\t\t\t\t\t\t\t.attr('transform', 'rotate(90)')\n\t\t\t\t\t\t\t.attr('y', -width)\n\t\t\t\t\t\t\t.attr('x', scale.range()[0] / 2)\n\t\t\t\t\t\t\t.attr('dy', '0.75em')\n\t\t\t\t\t\t\t.style('text-anchor', 'middle');\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase AxisPositions.TOP:\n\t\t\t\t\tconst { height: titleHeight } = DOMUtils.getSVGElementSize(\n\t\t\t\t\t\taxisTitleRef,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tuseBBox: true,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\taxisTitleRef\n\t\t\t\t\t\t.attr(\n\t\t\t\t\t\t\t'transform',\n\t\t\t\t\t\t\t`translate(${\n\t\t\t\t\t\t\t\tthis.margins.left / 2 + scale.range()[1] / 2\n\t\t\t\t\t\t\t}, ${titleHeight / 2})`\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.style('text-anchor', 'middle');\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Apply new axis to the axis element\n\t\tif (isTimeScaleType) {\n\t\t\tconst timeInterval = computeTimeIntervalName(axis.tickValues());\n\t\t\tconst showDayName = timeScaleOptions.showDayName;\n\t\t\tconst axisRefSelection = axisRef;\n\n\t\t\tif (animate) {\n\t\t\t\taxisRef = axisRef.transition().call((t) =>\n\t\t\t\t\tthis.services.transitions.setupTransition({\n\t\t\t\t\t\ttransition: t,\n\t\t\t\t\t\tname: 'axis-update',\n\t\t\t\t\t\tanimate,\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\t\t\taxisRef = axisRef.call(axis);\n\n\t\t\t// Manipulate tick labels to make bold those that are in long format\n\t\t\tconst ticks = axisRefSelection\n\t\t\t\t.selectAll('.tick')\n\t\t\t\t.data(axis.tickValues(), scale)\n\t\t\t\t.order()\n\t\t\t\t.select('text');\n\t\t\tticks.style('font-weight', (tick: number, i: number) => {\n\t\t\t\treturn isTickPrimary(\n\t\t\t\t\ttick,\n\t\t\t\t\ti,\n\t\t\t\t\taxis.tickValues(),\n\t\t\t\t\ttimeInterval,\n\t\t\t\t\tshowDayName\n\t\t\t\t)\n\t\t\t\t\t? 'bold'\n\t\t\t\t\t: 'normal';\n\t\t\t});\n\t\t} else {\n\t\t\tif (!animate || !axisRefExists) {\n\t\t\t\taxisRef = axisRef.call(axis);\n\t\t\t} else {\n\t\t\t\taxisRef = axisRef\n\t\t\t\t\t.transition()\n\t\t\t\t\t.call((t) =>\n\t\t\t\t\t\tthis.services.transitions.setupTransition({\n\t\t\t\t\t\t\ttransition: t,\n\t\t\t\t\t\t\tname: 'axis-update',\n\t\t\t\t\t\t\tanimate,\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t\t.call(axis);\n\t\t\t}\n\t\t}\n\n\t\tinvisibleAxisRef.call(axis);\n\n\t\tif (\n\t\t\taxisPosition === AxisPositions.BOTTOM ||\n\t\t\taxisPosition === AxisPositions.TOP\n\t\t) {\n\t\t\tlet shouldRotateTicks = false;\n\t\t\t// user could decide if tick rotation is required during zoom domain changing\n\t\t\tconst tickRotation = Tools.getProperty(\n\t\t\t\taxisOptions,\n\t\t\t\t'ticks',\n\t\t\t\t'rotation'\n\t\t\t);\n\n\t\t\tif (tickRotation === TickRotations.ALWAYS) {\n\t\t\t\tshouldRotateTicks = true;\n\t\t\t} else if (tickRotation === TickRotations.NEVER) {\n\t\t\t\tshouldRotateTicks = false;\n\t\t\t} else if (!tickRotation || tickRotation === TickRotations.AUTO) {\n\t\t\t\t// if the option is not set or set to AUTO\n\n\t\t\t\t// depending on if tick rotation is necessary by calculating space\n\t\t\t\t// If we're dealing with a discrete scale type\n\t\t\t\t// We're able to grab the spacing between the ticks\n\t\t\t\tif (scale.step) {\n\t\t\t\t\tconst textNodes = invisibleAxisRef\n\t\t\t\t\t\t.selectAll('g.tick text')\n\t\t\t\t\t\t.nodes();\n\n\t\t\t\t\t// If any ticks are any larger than the scale step size\n\t\t\t\t\tshouldRotateTicks = textNodes.some(\n\t\t\t\t\t\t(textNode) =>\n\t\t\t\t\t\t\tDOMUtils.getSVGElementSize(textNode, {\n\t\t\t\t\t\t\t\tuseBBox: true,\n\t\t\t\t\t\t\t}).width >= scale.step()\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tshouldRotateTicks = false;\n\n\t\t\t\t\tconst mockTextPiece = invisibleAxisRef\n\t\t\t\t\t\t.append('text')\n\t\t\t\t\t\t.text('A');\n\n\t\t\t\t\tconst averageLetterWidth = DOMUtils.getSVGElementSize(\n\t\t\t\t\t\tmockTextPiece.node(),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tuseBBox: true,\n\t\t\t\t\t\t}\n\t\t\t\t\t).width;\n\n\t\t\t\t\tlet lastStartPosition;\n\n\t\t\t\t\t// Find out whether any text nodes roughly collide\n\t\t\t\t\tinvisibleAxisRef.selectAll('g.tick').each(function () {\n\t\t\t\t\t\tconst selection = select(this);\n\t\t\t\t\t\tconst xTransformation = parseFloat(\n\t\t\t\t\t\t\tTools.getProperty(\n\t\t\t\t\t\t\t\tTools.getTranslationValues(this),\n\t\t\t\t\t\t\t\t'tx'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\txTransformation !== null &&\n\t\t\t\t\t\t\tlastStartPosition +\n\t\t\t\t\t\t\t\tselection.text().length *\n\t\t\t\t\t\t\t\t\taverageLetterWidth *\n\t\t\t\t\t\t\t\t\t0.8 >=\n\t\t\t\t\t\t\t\txTransformation\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tshouldRotateTicks = true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlastStartPosition = xTransformation;\n\t\t\t\t\t});\n\n\t\t\t\t\t// Cleanup mock text piece\n\t\t\t\t\tmockTextPiece.remove();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (shouldRotateTicks) {\n\t\t\t\tif (!isNumberOfTicksProvided) {\n\t\t\t\t\taxis.ticks(\n\t\t\t\t\t\tthis.getNumberOfFittingTicks(\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\ttickHeight,\n\t\t\t\t\t\t\tConfiguration.axis.ticks.horizontalSpaceRatio\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\t\tinvisibleAxisRef.call(axis);\n\t\t\t\t\taxisRef.call(axis);\n\t\t\t\t}\n\n\t\t\t\tcontainer\n\t\t\t\t\t.selectAll('g.ticks g.tick text')\n\t\t\t\t\t.attr('transform', `rotate(-45)`)\n\t\t\t\t\t.attr(\n\t\t\t\t\t\t'text-anchor',\n\t\t\t\t\t\taxisPosition === AxisPositions.TOP ? 'start' : 'end'\n\t\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tcontainer\n\t\t\t\t\t.selectAll('g.ticks g.tick text')\n\t\t\t\t\t.attr('transform', null)\n\t\t\t\t\t.attr('text-anchor', null);\n\t\t\t}\n\t\t}\n\n\t\t// we don't need to show axes on empty state and on skeleton state\n\t\t// because the Skeleton component draws them\n\t\tif (isDataLoading) {\n\t\t\tcontainer.attr('opacity', 0);\n\t\t} else {\n\t\t\tcontainer.attr('opacity', 1);\n\t\t}\n\n\t\taxisRef.selectAll('g.tick').attr('aria-label', (d) => d);\n\n\t\tinvisibleAxisRef.selectAll('g.tick').attr('aria-label', (d) => d);\n\n\t\t// truncate the label if it's too long\n\t\t// only applies to discrete type\n\t\tif (\n\t\t\ttruncationType !== TruncationTypes.NONE &&\n\t\t\taxisScaleType === ScaleTypes.LABELS &&\n\t\t\t!userProvidedTickValues\n\t\t) {\n\t\t\tconst axisTickLabels = this.services.cartesianScales.getScaleDomain(\n\t\t\t\taxisPosition\n\t\t\t);\n\t\t\tif (axisTickLabels.length > 0) {\n\t\t\t\tconst tick_html = svg\n\t\t\t\t\t.select(`g.axis.${axisPosition} g.ticks g.tick`)\n\t\t\t\t\t.html();\n\n\t\t\t\tcontainer.selectAll('g.ticks g.tick').html(tick_html);\n\n\t\t\t\tconst self = this;\n\t\t\t\tcontainer\n\t\t\t\t\t.selectAll('g.tick text')\n\t\t\t\t\t.data(axisTickLabels)\n\t\t\t\t\t.text(function (d) {\n\t\t\t\t\t\tif (d.length > truncationThreshold) {\n\t\t\t\t\t\t\tself.truncation[axisPosition] = true;\n\t\t\t\t\t\t\treturn Tools.truncateLabel(\n\t\t\t\t\t\t\t\td,\n\t\t\t\t\t\t\t\ttruncationType,\n\t\t\t\t\t\t\t\ttruncationNumCharacter\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn d;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\tthis.getInvisibleAxisRef()\n\t\t\t\t\t.selectAll('g.tick text')\n\t\t\t\t\t.data(axisTickLabels)\n\t\t\t\t\t.text(function (d) {\n\t\t\t\t\t\tif (d.length > truncationThreshold) {\n\t\t\t\t\t\t\treturn Tools.truncateLabel(\n\t\t\t\t\t\t\t\td,\n\t\t\t\t\t\t\t\ttruncationType,\n\t\t\t\t\t\t\t\ttruncationNumCharacter\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn d;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\tcontainer\n\t\t\t\t\t.selectAll('g.ticks')\n\t\t\t\t\t.html(this.getInvisibleAxisRef().html());\n\n\t\t\t\tcontainer.selectAll('g.tick text').data(axisTickLabels);\n\t\t\t}\n\t\t}\n\t\t// Add event listeners to elements drawn\n\t\tthis.addEventListeners();\n\t}\n\n\taddEventListeners() {\n\t\tconst svg = this.getComponentContainer();\n\t\tconst { position: axisPosition } = this.configs;\n\t\tconst container = DOMUtils.appendOrSelect(\n\t\t\tsvg,\n\t\t\t`g.axis.${axisPosition}`\n\t\t);\n\t\tconst options = this.getOptions();\n\t\tconst axisOptions = Tools.getProperty(options, 'axes', axisPosition);\n\t\tconst axisScaleType = Tools.getProperty(axisOptions, 'scaleType');\n\t\tconst truncationThreshold = Tools.getProperty(\n\t\t\taxisOptions,\n\t\t\t'truncation',\n\t\t\t'threshold'\n\t\t);\n\n\t\tconst self = this;\n\t\tcontainer\n\t\t\t.selectAll('g.tick text')\n\t\t\t.on('mouseover', function (event, datum) {\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(\n\t\t\t\t\tEvents.Axis.LABEL_MOUSEOVER,\n\t\t\t\t\t{\n\t\t\t\t\t\tevent,\n\t\t\t\t\t\telement: select(this),\n\t\t\t\t\t\tdatum,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tif (\n\t\t\t\t\taxisScaleType === ScaleTypes.LABELS &&\n\t\t\t\t\tdatum.length > truncationThreshold\n\t\t\t\t) {\n\t\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.SHOW, {\n\t\t\t\t\t\tevent,\n\t\t\t\t\t\thoveredElement: select(this),\n\t\t\t\t\t\tcontent: datum,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on('mousemove', function (event, datum) {\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(\n\t\t\t\t\tEvents.Axis.LABEL_MOUSEMOVE,\n\t\t\t\t\t{\n\t\t\t\t\t\tevent,\n\t\t\t\t\t\telement: select(this),\n\t\t\t\t\t\tdatum,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tif (\n\t\t\t\t\taxisScaleType === ScaleTypes.LABELS &&\n\t\t\t\t\tdatum.length > truncationThreshold\n\t\t\t\t) {\n\t\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.MOVE, {\n\t\t\t\t\t\tevent,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on('click', function (event, datum) {\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(Events.Axis.LABEL_CLICK, {\n\t\t\t\t\tevent,\n\t\t\t\t\telement: select(this),\n\t\t\t\t\tdatum,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on('mouseout', function (event, datum) {\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(Events.Axis.LABEL_MOUSEOUT, {\n\t\t\t\t\tevent,\n\t\t\t\t\telement: select(this),\n\t\t\t\t\tdatum,\n\t\t\t\t});\n\n\t\t\t\tif (axisScaleType === ScaleTypes.LABELS) {\n\t\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.HIDE);\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tgetInvisibleAxisRef() {\n\t\tconst { position: axisPosition } = this.configs;\n\n\t\treturn this.getComponentContainer().select(\n\t\t\t`g.axis.${axisPosition} g.ticks.invisible`\n\t\t);\n\t}\n\n\tgetTitleRef() {\n\t\tconst { position: axisPosition } = this.configs;\n\n\t\treturn this.getComponentContainer().select(\n\t\t\t`g.axis.${axisPosition} text.axis-title`\n\t\t);\n\t}\n\n\tgetNumberOfFittingTicks(size, tickSize, spaceRatio) {\n\t\tconst numberOfTicksFit = Math.floor(size / (tickSize * spaceRatio));\n\t\treturn Tools.clamp(\n\t\t\tnumberOfTicksFit,\n\t\t\t2,\n\t\t\tConfiguration.axis.ticks.number\n\t\t);\n\t}\n\n\tdestroy() {\n\t\tconst svg = this.getComponentContainer();\n\t\tconst { position: axisPosition } = this.configs;\n\t\tconst container = DOMUtils.appendOrSelect(\n\t\t\tsvg,\n\t\t\t`g.axis.${axisPosition}`\n\t\t);\n\n\t\t// Remove event listeners\n\t\tcontainer\n\t\t\t.selectAll('g.tick text')\n\t\t\t.on('mouseover', null)\n\t\t\t.on('mousemove', null)\n\t\t\t.on('mouseout', null);\n\t}\n}\n"]}
@@ -1,13 +0,0 @@
1
- import { Component } from '../component';
2
- import { ChartModel } from '../../model/model';
3
- import { RenderTypes } from '../../interfaces';
4
- export declare class ChartClip extends Component {
5
- type: string;
6
- renderType: RenderTypes;
7
- chartClipId: string;
8
- chartClipPath: any;
9
- constructor(model: ChartModel, services: any, configs?: any);
10
- init(): void;
11
- render(animate?: boolean): void;
12
- createClipPath(): void;
13
- }
@@ -1,63 +0,0 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- extendStatics(d, b);
10
- function __() { this.constructor = d; }
11
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
- };
13
- })();
14
- // Internal Imports
15
- import { Component } from '../component';
16
- import { DOMUtils } from '../../services';
17
- import { RenderTypes } from '../../interfaces';
18
- // This class is used to create the clipPath to clip the chart components
19
- // It's necessary for zoom in/out behavior
20
- var ChartClip = /** @class */ (function (_super) {
21
- __extends(ChartClip, _super);
22
- function ChartClip(model, services, configs) {
23
- var _this = _super.call(this, model, services, configs) || this;
24
- _this.type = 'chart-clip';
25
- _this.renderType = RenderTypes.SVG;
26
- // Give every chart-clip a distinct ID
27
- // so they don't interfere each other in a page with multiple charts
28
- _this.chartClipId = 'chart-clip-id-' + Math.floor(Math.random() * 99999999999);
29
- _this.init();
30
- return _this;
31
- }
32
- ChartClip.prototype.init = function () {
33
- // set unique chartClipId in this chart to model
34
- this.model.set({ chartClipId: this.chartClipId }, { skipUpdate: true });
35
- };
36
- ChartClip.prototype.render = function (animate) {
37
- if (animate === void 0) { animate = true; }
38
- // Create the clipPath
39
- this.createClipPath();
40
- };
41
- ChartClip.prototype.createClipPath = function () {
42
- var svg = this.parent;
43
- var cartesianScales = this.services.cartesianScales;
44
- var mainXScale = cartesianScales.getMainXScale();
45
- var mainYScale = cartesianScales.getMainYScale();
46
- var _a = mainXScale.range(), xScaleStart = _a[0], xScaleEnd = _a[1];
47
- var _b = mainYScale.range(), yScaleEnd = _b[0], yScaleStart = _b[1];
48
- // Get height
49
- this.chartClipPath = DOMUtils.appendOrSelect(svg, "clipPath." + this.type).attr('id', this.chartClipId);
50
- var clipRect = DOMUtils.appendOrSelect(this.chartClipPath, "rect." + this.type);
51
- if (xScaleEnd - xScaleStart > 0) {
52
- clipRect
53
- .attr('x', xScaleStart)
54
- .attr('y', yScaleStart)
55
- .attr('width', xScaleEnd - xScaleStart)
56
- .attr('height', yScaleEnd - yScaleStart);
57
- }
58
- this.chartClipPath.merge(clipRect).lower();
59
- };
60
- return ChartClip;
61
- }(Component));
62
- export { ChartClip };
63
- //# sourceMappingURL=../../../src/components/axes/chart-clip.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chart-clip.js","sourceRoot":"","sources":["chart-clip.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,yEAAyE;AACzE,0CAA0C;AAC1C;IAA+B,6BAAS;IAUvC,mBAAY,KAAiB,EAAE,QAAa,EAAE,OAAa;QAA3D,YACC,kBAAM,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,SAE/B;QAZD,UAAI,GAAG,YAAY,CAAC;QACpB,gBAAU,GAAG,WAAW,CAAC,GAAG,CAAC;QAE7B,sCAAsC;QACtC,oEAAoE;QACpE,iBAAW,GAAG,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC;QAMxE,KAAI,CAAC,IAAI,EAAE,CAAC;;IACb,CAAC;IAED,wBAAI,GAAJ;QACC,gDAAgD;QAChD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,0BAAM,GAAN,UAAO,OAAc;QAAd,wBAAA,EAAA,cAAc;QACpB,sBAAsB;QACtB,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAED,kCAAc,GAAd;QACC,IAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QAChB,IAAA,+CAAe,CAAmB;QAC1C,IAAM,UAAU,GAAG,eAAe,CAAC,aAAa,EAAE,CAAC;QACnD,IAAM,UAAU,GAAG,eAAe,CAAC,aAAa,EAAE,CAAC;QAE7C,IAAA,uBAA6C,EAA5C,mBAAW,EAAE,iBAA+B,CAAC;QAC9C,IAAA,uBAA6C,EAA5C,iBAAS,EAAE,mBAAiC,CAAC;QAEpD,aAAa;QACb,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,cAAc,CAC3C,GAAG,EACH,cAAY,IAAI,CAAC,IAAM,CACvB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/B,IAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CACvC,IAAI,CAAC,aAAa,EAClB,UAAQ,IAAI,CAAC,IAAM,CACnB,CAAC;QAEF,IAAI,SAAS,GAAG,WAAW,GAAG,CAAC,EAAE;YAChC,QAAQ;iBACN,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC;iBACtB,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC;iBACtB,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,WAAW,CAAC;iBACtC,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC;SAC1C;QAED,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IACF,gBAAC;AAAD,CAAC,AAtDD,CAA+B,SAAS,GAsDvC","sourcesContent":["// Internal Imports\nimport { Component } from '../component';\nimport { DOMUtils } from '../../services';\nimport { ChartModel } from '../../model/model';\nimport { RenderTypes } from '../../interfaces';\n\n// This class is used to create the clipPath to clip the chart components\n// It's necessary for zoom in/out behavior\nexport class ChartClip extends Component {\n\ttype = 'chart-clip';\n\trenderType = RenderTypes.SVG;\n\n\t// Give every chart-clip a distinct ID\n\t// so they don't interfere each other in a page with multiple charts\n\tchartClipId = 'chart-clip-id-' + Math.floor(Math.random() * 99999999999);\n\n\tchartClipPath: any;\n\n\tconstructor(model: ChartModel, services: any, configs?: any) {\n\t\tsuper(model, services, configs);\n\t\tthis.init();\n\t}\n\n\tinit() {\n\t\t// set unique chartClipId in this chart to model\n\t\tthis.model.set({ chartClipId: this.chartClipId }, { skipUpdate: true });\n\t}\n\n\trender(animate = true) {\n\t\t// Create the clipPath\n\t\tthis.createClipPath();\n\t}\n\n\tcreateClipPath() {\n\t\tconst svg = this.parent;\n\t\tconst { cartesianScales } = this.services;\n\t\tconst mainXScale = cartesianScales.getMainXScale();\n\t\tconst mainYScale = cartesianScales.getMainYScale();\n\n\t\tconst [xScaleStart, xScaleEnd] = mainXScale.range();\n\t\tconst [yScaleEnd, yScaleStart] = mainYScale.range();\n\n\t\t// Get height\n\t\tthis.chartClipPath = DOMUtils.appendOrSelect(\n\t\t\tsvg,\n\t\t\t`clipPath.${this.type}`\n\t\t).attr('id', this.chartClipId);\n\t\tconst clipRect = DOMUtils.appendOrSelect(\n\t\t\tthis.chartClipPath,\n\t\t\t`rect.${this.type}`\n\t\t);\n\n\t\tif (xScaleEnd - xScaleStart > 0) {\n\t\t\tclipRect\n\t\t\t\t.attr('x', xScaleStart)\n\t\t\t\t.attr('y', yScaleStart)\n\t\t\t\t.attr('width', xScaleEnd - xScaleStart)\n\t\t\t\t.attr('height', yScaleEnd - yScaleStart);\n\t\t}\n\n\t\tthis.chartClipPath.merge(clipRect).lower();\n\t}\n}\n"]}
@@ -1,170 +0,0 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- extendStatics(d, b);
10
- function __() { this.constructor = d; }
11
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
- };
13
- })();
14
- // Internal Imports
15
- import { Component } from '../component';
16
- import { RenderTypes, ScaleTypes } from '../../interfaces';
17
- import { DOMUtils } from '../../services';
18
- // D3 Imports
19
- import { brushX } from 'd3-brush';
20
- import { scaleTime } from 'd3-scale';
21
- // @ts-ignore
22
- // ts-ignore is needed because `@types/d3`
23
- // is missing the `pointer` function
24
- import { pointer } from 'd3-selection';
25
- // This class is used for handle brush events in chart
26
- var ChartBrush = /** @class */ (function (_super) {
27
- __extends(ChartBrush, _super);
28
- function ChartBrush() {
29
- var _this = _super !== null && _super.apply(this, arguments) || this;
30
- _this.type = 'grid-brush';
31
- _this.renderType = RenderTypes.SVG;
32
- _this.selectionSelector = 'rect.selection'; // needs to match the class name in d3.brush
33
- _this.frontSelectionSelector = 'rect.frontSelection'; // needs to match the class name in _grid-brush.scss
34
- return _this;
35
- }
36
- ChartBrush.prototype.render = function (animate) {
37
- var _this = this;
38
- if (animate === void 0) { animate = true; }
39
- var svg = this.parent;
40
- // use this area to display selection above all graphs
41
- var frontSelectionArea = this.getComponentContainer();
42
- var backdrop = DOMUtils.appendOrSelect(svg, 'svg.chart-grid-backdrop');
43
- // use this area to handle d3 brush events
44
- var brushArea = DOMUtils.appendOrSelect(backdrop, "g." + this.type);
45
- // set an id for rect.selection to be referred
46
- var d3Selection = DOMUtils.appendOrSelect(brushArea, this.selectionSelector);
47
- var _a = DOMUtils.getSVGElementSize(backdrop, {
48
- useAttrs: true,
49
- }), width = _a.width, height = _a.height;
50
- var cartesianScales = this.services.cartesianScales;
51
- var mainXScaleType = cartesianScales.getMainXScaleType();
52
- var mainXScale = cartesianScales.getMainXScale();
53
- var _b = mainXScale.range(), xScaleStart = _b[0], xScaleEnd = _b[1];
54
- frontSelectionArea.attr('transform', "translate(" + xScaleStart + ",0)");
55
- var frontSelection = DOMUtils.appendOrSelect(frontSelectionArea, this.frontSelectionSelector);
56
- if (mainXScale && mainXScaleType === ScaleTypes.TIME) {
57
- // get current zoomDomain
58
- var zoomDomain_1 = this.model.get('zoomDomain');
59
- if (zoomDomain_1 === undefined) {
60
- // default to full range with extended domain
61
- zoomDomain_1 = this.services.zoom.getDefaultZoomBarDomain();
62
- if (zoomDomain_1) {
63
- this.model.set({ zoomDomain: zoomDomain_1 }, { animate: false });
64
- }
65
- }
66
- var updateSelectionDash_1 = function (selection) {
67
- // set end drag point to dash
68
- var selectionWidth = selection[1] - selection[0];
69
- var dashArray = '0,' + selectionWidth.toString(); // top (invisible)
70
- // right
71
- var dashCount = Math.floor(height / ChartBrush.DASH_LENGTH);
72
- var totalRightDash = dashCount * ChartBrush.DASH_LENGTH;
73
- for (var i = 0; i < dashCount; i++) {
74
- dashArray += ',' + ChartBrush.DASH_LENGTH; // for each full length dash
75
- }
76
- dashArray += ',' + (height - totalRightDash); // for rest of the right height
77
- // if dash count is even, one more ",0" is needed to make total right dash pattern even
78
- if (dashCount % 2 === 1) {
79
- dashArray += ',0';
80
- }
81
- dashArray += ',' + selectionWidth.toString(); // bottom (invisible)
82
- dashArray += ',' + height.toString(); // left
83
- frontSelection.attr('stroke-dasharray', dashArray);
84
- };
85
- var brushEventHandler = function (event) {
86
- // selection range: [0, width]
87
- var selection = event.selection;
88
- if (selection === null || selection[0] === selection[1]) {
89
- return;
90
- }
91
- // copy the d3 selection attrs to front selection element
92
- frontSelection
93
- .attr('x', parseFloat(d3Selection.attr('x')) +
94
- parseFloat(backdrop.attr('x')))
95
- .attr('y', d3Selection.attr('y'))
96
- .attr('width', d3Selection.attr('width'))
97
- .attr('height', d3Selection.attr('height'))
98
- .style('cursor', 'pointer')
99
- .style('display', null);
100
- updateSelectionDash_1(selection);
101
- };
102
- // assume max range is [0, width]
103
- var updateZoomDomain_1 = function (startPoint, endPoint) {
104
- // create xScale based on current zoomDomain
105
- var xScale = scaleTime().range([0, width]).domain(zoomDomain_1);
106
- var newDomain = [
107
- xScale.invert(startPoint),
108
- xScale.invert(endPoint),
109
- ];
110
- // if selected start time and end time are the same
111
- // reset to default full range
112
- if (newDomain[0].valueOf() === newDomain[1].valueOf()) {
113
- // same as d3 behavior and zoom bar behavior: set to default full range
114
- newDomain = _this.services.zoom.getDefaultZoomBarDomain();
115
- }
116
- // only if zoomDomain needs update
117
- if (zoomDomain_1[0].valueOf() !== newDomain[0].valueOf() ||
118
- zoomDomain_1[1].valueOf() !== newDomain[1].valueOf()) {
119
- _this.services.zoom.handleDomainChange(newDomain);
120
- }
121
- };
122
- var brush_1;
123
- var brushed = function (event) {
124
- // max selection range: [0, width]
125
- var selection = event.selection;
126
- if (selection !== null) {
127
- // updateZoomDomain assumes max range is [0, width]
128
- updateZoomDomain_1(selection[0], selection[1]);
129
- // clear brush selection
130
- brushArea.call(brush_1.move, null);
131
- // hide frontSelection
132
- frontSelection.style('display', 'none');
133
- }
134
- };
135
- if (height != 0 && width != 0) {
136
- // leave some space to display selection strokes besides axis
137
- brush_1 = brushX()
138
- .extent([
139
- [0, 0],
140
- [width - 1, height],
141
- ])
142
- .on('start brush end', brushEventHandler)
143
- .on('end.brushed', brushed);
144
- brushArea.call(brush_1);
145
- }
146
- var zoomRatio_1 = this.services.zoom.getZoomRatio();
147
- backdrop.on('click', function (event) {
148
- if (event.shiftKey) {
149
- var holder = this.services.domUtils.getHolder();
150
- // clickedX range: [0, width]
151
- var clickedX = pointer(brushArea.node(), holder)[0];
152
- var leftPoint = clickedX - (width * zoomRatio_1) / 2;
153
- if (leftPoint < 0) {
154
- leftPoint = 0;
155
- }
156
- var rightPoint = clickedX + (width * zoomRatio_1) / 2;
157
- if (rightPoint > width) {
158
- rightPoint = width;
159
- }
160
- // updateZoomDomain assumes max range is [0, width]
161
- updateZoomDomain_1(leftPoint, rightPoint);
162
- }
163
- });
164
- }
165
- };
166
- ChartBrush.DASH_LENGTH = 4;
167
- return ChartBrush;
168
- }(Component));
169
- export { ChartBrush };
170
- //# sourceMappingURL=../../../src/components/axes/grid-brush.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid-brush.js","sourceRoot":"","sources":["grid-brush.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from '../component';\nimport { Events, RenderTypes, ScaleTypes } from '../../interfaces';\nimport { DOMUtils } from '../../services';\n\n// D3 Imports\nimport { brushX } from 'd3-brush';\nimport { scaleTime } from 'd3-scale';\n// @ts-ignore\n// ts-ignore is needed because `@types/d3`\n// is missing the `pointer` function\nimport { pointer } from 'd3-selection';\n\n// This class is used for handle brush events in chart\nexport class ChartBrush extends Component {\n\tstatic DASH_LENGTH = 4;\n\n\ttype = 'grid-brush';\n\trenderType = RenderTypes.SVG;\n\n\tselectionSelector = 'rect.selection'; // needs to match the class name in d3.brush\n\n\tfrontSelectionSelector = 'rect.frontSelection'; // needs to match the class name in _grid-brush.scss\n\n\trender(animate = true) {\n\t\tconst svg = this.parent;\n\n\t\t// use this area to display selection above all graphs\n\t\tconst frontSelectionArea = this.getComponentContainer();\n\t\tconst backdrop = DOMUtils.appendOrSelect(\n\t\t\tsvg,\n\t\t\t'svg.chart-grid-backdrop'\n\t\t);\n\t\t// use this area to handle d3 brush events\n\t\tconst brushArea = DOMUtils.appendOrSelect(backdrop, `g.${this.type}`);\n\n\t\t// set an id for rect.selection to be referred\n\t\tconst d3Selection = DOMUtils.appendOrSelect(\n\t\t\tbrushArea,\n\t\t\tthis.selectionSelector\n\t\t);\n\n\t\tconst { width, height } = DOMUtils.getSVGElementSize(backdrop, {\n\t\t\tuseAttrs: true,\n\t\t});\n\n\t\tconst { cartesianScales } = this.services;\n\t\tconst mainXScaleType = cartesianScales.getMainXScaleType();\n\t\tconst mainXScale = cartesianScales.getMainXScale();\n\t\tconst [xScaleStart, xScaleEnd] = mainXScale.range();\n\t\tfrontSelectionArea.attr('transform', `translate(${xScaleStart},0)`);\n\t\tconst frontSelection = DOMUtils.appendOrSelect(\n\t\t\tfrontSelectionArea,\n\t\t\tthis.frontSelectionSelector\n\t\t);\n\n\t\tif (mainXScale && mainXScaleType === ScaleTypes.TIME) {\n\t\t\t// get current zoomDomain\n\t\t\tlet zoomDomain = this.model.get('zoomDomain');\n\t\t\tif (zoomDomain === undefined) {\n\t\t\t\t// default to full range with extended domain\n\t\t\t\tzoomDomain = this.services.zoom.getDefaultZoomBarDomain();\n\t\t\t\tif (zoomDomain) {\n\t\t\t\t\tthis.model.set(\n\t\t\t\t\t\t{ zoomDomain: zoomDomain },\n\t\t\t\t\t\t{ animate: false }\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst updateSelectionDash = (selection) => {\n\t\t\t\t// set end drag point to dash\n\t\t\t\tconst selectionWidth = selection[1] - selection[0];\n\t\t\t\tlet dashArray = '0,' + selectionWidth.toString(); // top (invisible)\n\n\t\t\t\t// right\n\t\t\t\tconst dashCount = Math.floor(height / ChartBrush.DASH_LENGTH);\n\t\t\t\tconst totalRightDash = dashCount * ChartBrush.DASH_LENGTH;\n\t\t\t\tfor (let i = 0; i < dashCount; i++) {\n\t\t\t\t\tdashArray += ',' + ChartBrush.DASH_LENGTH; // for each full length dash\n\t\t\t\t}\n\t\t\t\tdashArray += ',' + (height - totalRightDash); // for rest of the right height\n\t\t\t\t// if dash count is even, one more \",0\" is needed to make total right dash pattern even\n\t\t\t\tif (dashCount % 2 === 1) {\n\t\t\t\t\tdashArray += ',0';\n\t\t\t\t}\n\t\t\t\tdashArray += ',' + selectionWidth.toString(); // bottom (invisible)\n\t\t\t\tdashArray += ',' + height.toString(); // left\n\t\t\t\tfrontSelection.attr('stroke-dasharray', dashArray);\n\t\t\t};\n\n\t\t\tconst brushEventHandler = (event) => {\n\t\t\t\t// selection range: [0, width]\n\t\t\t\tconst selection = event.selection;\n\t\t\t\tif (selection === null || selection[0] === selection[1]) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// copy the d3 selection attrs to front selection element\n\t\t\t\tfrontSelection\n\t\t\t\t\t.attr(\n\t\t\t\t\t\t'x',\n\t\t\t\t\t\tparseFloat(d3Selection.attr('x')) +\n\t\t\t\t\t\t\tparseFloat(backdrop.attr('x'))\n\t\t\t\t\t)\n\t\t\t\t\t.attr('y', d3Selection.attr('y'))\n\t\t\t\t\t.attr('width', d3Selection.attr('width'))\n\t\t\t\t\t.attr('height', d3Selection.attr('height'))\n\t\t\t\t\t.style('cursor', 'pointer')\n\t\t\t\t\t.style('display', null);\n\n\t\t\t\tupdateSelectionDash(selection);\n\t\t\t};\n\n\t\t\t// assume max range is [0, width]\n\t\t\tconst updateZoomDomain = (startPoint, endPoint) => {\n\t\t\t\t// create xScale based on current zoomDomain\n\t\t\t\tconst xScale = scaleTime().range([0, width]).domain(zoomDomain);\n\n\t\t\t\tlet newDomain = [\n\t\t\t\t\txScale.invert(startPoint),\n\t\t\t\t\txScale.invert(endPoint),\n\t\t\t\t];\n\t\t\t\t// if selected start time and end time are the same\n\t\t\t\t// reset to default full range\n\t\t\t\tif (newDomain[0].valueOf() === newDomain[1].valueOf()) {\n\t\t\t\t\t// same as d3 behavior and zoom bar behavior: set to default full range\n\t\t\t\t\tnewDomain = this.services.zoom.getDefaultZoomBarDomain();\n\t\t\t\t}\n\n\t\t\t\t// only if zoomDomain needs update\n\t\t\t\tif (\n\t\t\t\t\tzoomDomain[0].valueOf() !== newDomain[0].valueOf() ||\n\t\t\t\t\tzoomDomain[1].valueOf() !== newDomain[1].valueOf()\n\t\t\t\t) {\n\t\t\t\t\tthis.services.zoom.handleDomainChange(newDomain);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tlet brush;\n\n\t\t\tconst brushed = (event) => {\n\t\t\t\t// max selection range: [0, width]\n\t\t\t\tconst selection = event.selection;\n\n\t\t\t\tif (selection !== null) {\n\t\t\t\t\t// updateZoomDomain assumes max range is [0, width]\n\t\t\t\t\tupdateZoomDomain(selection[0], selection[1]);\n\n\t\t\t\t\t// clear brush selection\n\t\t\t\t\tbrushArea.call(brush.move, null);\n\t\t\t\t\t// hide frontSelection\n\t\t\t\t\tfrontSelection.style('display', 'none');\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (height != 0 && width != 0) {\n\t\t\t\t// leave some space to display selection strokes besides axis\n\t\t\t\tbrush = brushX()\n\t\t\t\t\t.extent([\n\t\t\t\t\t\t[0, 0],\n\t\t\t\t\t\t[width - 1, height],\n\t\t\t\t\t])\n\t\t\t\t\t.on('start brush end', brushEventHandler)\n\t\t\t\t\t.on('end.brushed', brushed);\n\n\t\t\t\tbrushArea.call(brush);\n\t\t\t}\n\n\t\t\tconst zoomRatio = this.services.zoom.getZoomRatio();\n\t\t\tbackdrop.on('click', function (event) {\n\t\t\t\tif (event.shiftKey) {\n\t\t\t\t\tconst holder = this.services.domUtils.getHolder();\n\n\t\t\t\t\t// clickedX range: [0, width]\n\t\t\t\t\tconst clickedX = pointer(brushArea.node(), holder)[0];\n\n\t\t\t\t\tlet leftPoint = clickedX - (width * zoomRatio) / 2;\n\t\t\t\t\tif (leftPoint < 0) {\n\t\t\t\t\t\tleftPoint = 0;\n\t\t\t\t\t}\n\t\t\t\t\tlet rightPoint = clickedX + (width * zoomRatio) / 2;\n\t\t\t\t\tif (rightPoint > width) {\n\t\t\t\t\t\trightPoint = width;\n\t\t\t\t\t}\n\t\t\t\t\t// updateZoomDomain assumes max range is [0, width]\n\t\t\t\t\tupdateZoomDomain(leftPoint, rightPoint);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n}\n"]}
@@ -1,235 +0,0 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- extendStatics(d, b);
10
- function __() { this.constructor = d; }
11
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
- };
13
- })();
14
- // Internal Imports
15
- import { Component } from '../component';
16
- import * as Tools from '../../tools';
17
- import { DOMUtils } from '../../services';
18
- import { RenderTypes } from '../../interfaces';
19
- // D3 Imports
20
- import { axisBottom, axisLeft } from 'd3-axis';
21
- var Grid = /** @class */ (function (_super) {
22
- __extends(Grid, _super);
23
- function Grid() {
24
- var _this = _super !== null && _super.apply(this, arguments) || this;
25
- _this.type = 'grid';
26
- _this.renderType = RenderTypes.SVG;
27
- return _this;
28
- }
29
- Grid.prototype.render = function (animate) {
30
- if (animate === void 0) { animate = true; }
31
- var isXGridEnabled = Tools.getProperty(this.getOptions(), 'grid', 'x', 'enabled');
32
- var isYGridEnabled = Tools.getProperty(this.getOptions(), 'grid', 'y', 'enabled');
33
- // Draw the backdrop
34
- this.drawBackdrop(isXGridEnabled, isYGridEnabled);
35
- if (!isXGridEnabled && !isYGridEnabled) {
36
- return;
37
- }
38
- if (isXGridEnabled) {
39
- DOMUtils.appendOrSelect(this.backdrop, 'g.x.grid');
40
- this.drawXGrid(animate);
41
- }
42
- if (isYGridEnabled) {
43
- DOMUtils.appendOrSelect(this.backdrop, 'g.y.grid');
44
- this.drawYGrid(animate);
45
- }
46
- };
47
- Grid.prototype.drawXGrid = function (animate) {
48
- var _this = this;
49
- var svg = this.parent;
50
- var height = this.backdrop.attr('height');
51
- var mainXScale = this.services.cartesianScales.getMainXScale();
52
- var xGrid = axisBottom(mainXScale)
53
- .tickSizeInner(-height)
54
- .tickSizeOuter(0);
55
- // if the main range axis has a custom domain, align the gridlines to the ticks
56
- var alignToTicks = Tools.getProperty(this.getOptions(), 'grid', 'x', 'alignWithAxisTicks');
57
- if (alignToTicks) {
58
- var mainXPosition = this.services.cartesianScales.getDomainAxisPosition();
59
- var customDomain = Tools.getProperty(this.getOptions(), 'axes', mainXPosition, 'ticks', 'values');
60
- // use custom domain if there is one
61
- // otherwise d3 defaults to using one gridline per tick
62
- if (customDomain) {
63
- xGrid.tickValues(customDomain);
64
- }
65
- }
66
- else {
67
- // Determine number of ticks
68
- var numberOfTicks = Tools.getProperty(this.getOptions(), 'grid', 'x', 'numberOfTicks');
69
- xGrid.ticks(numberOfTicks);
70
- }
71
- var g = svg
72
- .select('.x.grid')
73
- .attr('transform', "translate(" + -this.backdrop.attr('x') + ", " + height + ")");
74
- if (animate) {
75
- g.transition()
76
- .call(function (t) {
77
- return _this.services.transitions.setupTransition({
78
- transition: t,
79
- name: 'grid-update',
80
- animate: animate,
81
- });
82
- })
83
- .call(xGrid);
84
- }
85
- else {
86
- g.call(xGrid);
87
- }
88
- this.cleanGrid(g);
89
- };
90
- Grid.prototype.drawYGrid = function (animate) {
91
- var _this = this;
92
- var svg = this.parent;
93
- var width = this.backdrop.attr('width');
94
- var mainYScale = this.services.cartesianScales.getMainYScale();
95
- var yGrid = axisLeft(mainYScale)
96
- .tickSizeInner(-width)
97
- .tickSizeOuter(0);
98
- // if the main range axis has a custom domain, align the gridlines to the ticks
99
- var alignToTicks = Tools.getProperty(this.getOptions(), 'grid', 'y', 'alignWithAxisTicks');
100
- if (alignToTicks) {
101
- var mainYPosition = this.services.cartesianScales.getRangeAxisPosition();
102
- var customDomain = Tools.getProperty(this.getOptions(), 'axes', mainYPosition, 'ticks', 'values');
103
- // use custom domain if there is one
104
- // otherwise d3 defaults to using one gridline per tick
105
- if (customDomain) {
106
- yGrid.tickValues(customDomain);
107
- }
108
- }
109
- else {
110
- // Determine number of ticks
111
- var numberOfTicks = Tools.getProperty(this.getOptions(), 'grid', 'y', 'numberOfTicks');
112
- yGrid.ticks(numberOfTicks);
113
- }
114
- var g = svg
115
- .select('.y.grid')
116
- .attr('transform', "translate(0, " + -this.backdrop.attr('y') + ")");
117
- if (animate) {
118
- g.transition()
119
- .call(function (t) {
120
- return _this.services.transitions.setupTransition({
121
- transition: t,
122
- name: 'grid-update',
123
- animate: animate,
124
- });
125
- })
126
- .call(yGrid);
127
- }
128
- else {
129
- g.call(yGrid);
130
- }
131
- this.cleanGrid(g);
132
- };
133
- /**
134
- * Returns the threshold for the gridline tooltips based on the mouse location.
135
- * Calculated based on the mouse position between the two closest gridlines or edges of chart.
136
- */
137
- Grid.prototype.getGridlineThreshold = function (mousePos) {
138
- // use the space between axis grid ticks to adjust the threshold for the tooltips
139
- var svg = this.parent;
140
- // sort in ascending x translation value order
141
- var gridlinesX = svg
142
- .selectAll('.x.grid .tick')
143
- .nodes()
144
- .sort(function (a, b) {
145
- return (Number(Tools.getTranslationValues(a).tx) -
146
- Number(Tools.getTranslationValues(b).tx));
147
- });
148
- // find the 2 gridlines on either side of the mouse
149
- var floor = -1;
150
- var ceiling;
151
- if (!gridlinesX.length) {
152
- return;
153
- }
154
- gridlinesX.forEach(function (line, i) {
155
- if (mousePos[0] >= +Tools.getTranslationValues(line).tx) {
156
- floor++;
157
- }
158
- });
159
- ceiling = floor + 1 < gridlinesX.length ? floor + 1 : gridlinesX.length;
160
- // get the 'step' between chart gridlines
161
- var line1 = gridlinesX[floor];
162
- var line2 = gridlinesX[ceiling];
163
- var lineSpacing;
164
- // if the mouse is on edge of charts (mouseX < first gridline || mouseX > last gridline)
165
- // we can use the chart edge to determind the threshold for the gridlines
166
- if (!line1) {
167
- // we are between the first gridline and the chart edge
168
- lineSpacing = +Tools.getTranslationValues(line2).tx;
169
- }
170
- else if (!line2) {
171
- // we need to use the chart right bounds in case there isnt a domain axis
172
- var gridElement = svg.select('rect.chart-grid-backdrop').node();
173
- var width = DOMUtils.getSVGElementSize(gridElement).width;
174
- lineSpacing = width - +Tools.getTranslationValues(line1).tx;
175
- }
176
- else {
177
- // there are two gridlines to use
178
- lineSpacing =
179
- +Tools.getTranslationValues(line2).tx -
180
- +Tools.getTranslationValues(line1).tx;
181
- }
182
- var threshold = this.getOptions().tooltip.gridline.threshold;
183
- // return the threshold
184
- return lineSpacing * threshold;
185
- };
186
- /**
187
- * Returns the active gridlines based on the gridline threshold and mouse position.
188
- * @param position mouse positon
189
- */
190
- Grid.prototype.getActiveGridline = function (position) {
191
- var userSpecifiedThreshold = Tools.getProperty(this.getOptions, 'tooltip', 'gridline', 'threshold');
192
- var threshold = userSpecifiedThreshold
193
- ? userSpecifiedThreshold
194
- : this.getGridlineThreshold(position);
195
- var svg = this.parent;
196
- var xGridlines = svg.selectAll('.x.grid .tick').filter(function () {
197
- var translations = Tools.getTranslationValues(this);
198
- // threshold for when to display a gridline tooltip
199
- var bounds = {
200
- min: Number(translations.tx) - threshold,
201
- max: Number(translations.tx) + threshold,
202
- };
203
- return bounds.min <= position[0] && position[0] <= bounds.max;
204
- });
205
- return xGridlines;
206
- };
207
- Grid.prototype.drawBackdrop = function (isXGridEnabled, isYGridEnabled) {
208
- var svg = this.parent;
209
- var mainXScale = this.services.cartesianScales.getMainXScale();
210
- var mainYScale = this.services.cartesianScales.getMainYScale();
211
- var _a = mainXScale.range(), xScaleStart = _a[0], xScaleEnd = _a[1];
212
- var _b = mainYScale.range(), yScaleEnd = _b[0], yScaleStart = _b[1];
213
- // Get height from the grid
214
- this.backdrop = DOMUtils.appendOrSelect(svg, 'svg.chart-grid-backdrop');
215
- var backdropRect = DOMUtils.appendOrSelect(this.backdrop, isXGridEnabled || isYGridEnabled
216
- ? 'rect.chart-grid-backdrop.stroked'
217
- : 'rect.chart-grid-backdrop');
218
- this.backdrop
219
- .merge(backdropRect)
220
- .attr('x', xScaleStart)
221
- .attr('y', yScaleStart)
222
- .attr('width', Math.abs(xScaleEnd - xScaleStart))
223
- .attr('height', Math.abs(yScaleEnd - yScaleStart))
224
- .lower();
225
- backdropRect.attr('width', '100%').attr('height', '100%');
226
- };
227
- Grid.prototype.cleanGrid = function (g) {
228
- // Remove extra elements
229
- g.selectAll('text').remove();
230
- g.select('.domain').remove();
231
- };
232
- return Grid;
233
- }(Component));
234
- export { Grid };
235
- //# sourceMappingURL=../../../src/components/axes/grid.js.map