@carbon/charts 0.41.20 → 0.41.24

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 (417) hide show
  1. package/CHANGELOG.md +28 -46
  2. package/axis-chart.d.ts +4 -4
  3. package/axis-chart.js +46 -46
  4. package/axis-chart.js.map +1 -1
  5. package/build/demo/create-codesandbox.d.ts +42 -42
  6. package/build/demo/data/bar.d.ts +2 -2
  7. package/build/demo/data/index.d.ts +13 -13
  8. package/build/demo/data/line.d.ts +4 -4
  9. package/build/demo/data/meter.d.ts +1 -1
  10. package/build/src/axis-chart.d.ts +4 -4
  11. package/build/src/chart.d.ts +3 -3
  12. package/build/src/charts/area-stacked.d.ts +2 -2
  13. package/build/src/charts/area.d.ts +2 -2
  14. package/build/src/charts/bar-grouped.d.ts +2 -2
  15. package/build/src/charts/bar-simple.d.ts +2 -2
  16. package/build/src/charts/bar-stacked.d.ts +2 -2
  17. package/build/src/charts/bubble.d.ts +2 -2
  18. package/build/src/charts/combo.d.ts +2 -2
  19. package/build/src/charts/donut.d.ts +2 -2
  20. package/build/src/charts/gauge.d.ts +3 -3
  21. package/build/src/charts/index.d.ts +16 -16
  22. package/build/src/charts/line.d.ts +2 -2
  23. package/build/src/charts/lollipop.d.ts +2 -2
  24. package/build/src/charts/meter.d.ts +3 -3
  25. package/build/src/charts/pie.d.ts +3 -3
  26. package/build/src/charts/radar.d.ts +2 -2
  27. package/build/src/charts/scatter.d.ts +2 -2
  28. package/build/src/charts/treemap.d.ts +2 -2
  29. package/build/src/components/axes/axis.d.ts +3 -3
  30. package/build/src/components/axes/chart-clip.d.ts +2 -2
  31. package/build/src/components/axes/grid-brush.d.ts +1 -1
  32. package/build/src/components/axes/grid.d.ts +1 -1
  33. package/build/src/components/axes/ruler-stacked.d.ts +1 -1
  34. package/build/src/components/axes/ruler.d.ts +2 -2
  35. package/build/src/components/axes/toolbar.d.ts +2 -2
  36. package/build/src/components/axes/two-dimensional-axes.d.ts +2 -2
  37. package/build/src/components/axes/zero-line.d.ts +1 -1
  38. package/build/src/components/axes/zoom-bar.d.ts +2 -2
  39. package/build/src/components/component.d.ts +1 -1
  40. package/build/src/components/essentials/legend.d.ts +1 -1
  41. package/build/src/components/essentials/threshold.d.ts +3 -3
  42. package/build/src/components/essentials/title-meter.d.ts +1 -1
  43. package/build/src/components/essentials/title.d.ts +1 -1
  44. package/build/src/components/essentials/tooltip-axis.d.ts +1 -1
  45. package/build/src/components/essentials/tooltip.d.ts +3 -3
  46. package/build/src/components/graphs/area-stacked.d.ts +1 -1
  47. package/build/src/components/graphs/area.d.ts +1 -1
  48. package/build/src/components/graphs/bar-grouped.d.ts +2 -2
  49. package/build/src/components/graphs/bar-simple.d.ts +1 -1
  50. package/build/src/components/graphs/bar-stacked.d.ts +1 -1
  51. package/build/src/components/graphs/bar.d.ts +1 -1
  52. package/build/src/components/graphs/bubble.d.ts +2 -2
  53. package/build/src/components/graphs/donut.d.ts +1 -1
  54. package/build/src/components/graphs/gauge.d.ts +1 -1
  55. package/build/src/components/graphs/line.d.ts +1 -1
  56. package/build/src/components/graphs/lollipop.d.ts +1 -1
  57. package/build/src/components/graphs/meter.d.ts +1 -1
  58. package/build/src/components/graphs/pie.d.ts +1 -1
  59. package/build/src/components/graphs/radar.d.ts +1 -1
  60. package/build/src/components/graphs/scatter-stacked.d.ts +1 -1
  61. package/build/src/components/graphs/scatter.d.ts +2 -2
  62. package/build/src/components/graphs/skeleton-lines.d.ts +1 -1
  63. package/build/src/components/graphs/skeleton.d.ts +1 -1
  64. package/build/src/components/graphs/treemap.d.ts +1 -1
  65. package/build/src/components/index.d.ts +36 -36
  66. package/build/src/components/layout/layout.d.ts +3 -3
  67. package/build/src/components/layout/spacer.d.ts +1 -1
  68. package/build/src/configuration-non-customizable.d.ts +7 -7
  69. package/build/src/configuration.d.ts +2 -2
  70. package/build/src/interfaces/axis-scales.d.ts +7 -7
  71. package/build/src/interfaces/charts.d.ts +11 -4
  72. package/build/src/interfaces/components.d.ts +3 -3
  73. package/build/src/interfaces/enums.d.ts +1 -1
  74. package/build/src/interfaces/index.d.ts +7 -7
  75. package/build/src/interfaces/layout.d.ts +1 -1
  76. package/build/src/interfaces/model.d.ts +1 -1
  77. package/build/src/model-cartesian-charts.d.ts +1 -1
  78. package/build/src/model-gauge.d.ts +1 -1
  79. package/build/src/model-meter.d.ts +1 -1
  80. package/build/src/model-pie.d.ts +1 -1
  81. package/build/src/model.d.ts +1 -9
  82. package/build/src/services/angle-utils.d.ts +1 -1
  83. package/build/src/services/curves.d.ts +2 -2
  84. package/build/src/services/essentials/dom-utils.d.ts +2 -2
  85. package/build/src/services/essentials/events.d.ts +1 -1
  86. package/build/src/services/essentials/gradient-utils.d.ts +1 -1
  87. package/build/src/services/essentials/transitions.d.ts +2 -2
  88. package/build/src/services/index.d.ts +7 -7
  89. package/build/src/services/scales-cartesian.d.ts +2 -2
  90. package/build/src/services/service.d.ts +1 -1
  91. package/build/src/services/time-series.d.ts +1 -1
  92. package/build/src/services/zoom.d.ts +2 -2
  93. package/build/src/tools.d.ts +2 -2
  94. package/build/stories/all.stories.d.ts +1 -1
  95. package/build/stories/tutorials/index.d.ts +11 -11
  96. package/build/stories/tutorials.stories.d.ts +1 -1
  97. package/bundle.js +1 -1
  98. package/chart.d.ts +3 -3
  99. package/chart.js +35 -35
  100. package/chart.js.map +1 -1
  101. package/charts/area-stacked.d.ts +2 -2
  102. package/charts/area-stacked.js +8 -8
  103. package/charts/area-stacked.js.map +1 -1
  104. package/charts/area.d.ts +2 -2
  105. package/charts/area.js +8 -8
  106. package/charts/area.js.map +1 -1
  107. package/charts/bar-grouped.d.ts +2 -2
  108. package/charts/bar-grouped.js +7 -7
  109. package/charts/bar-grouped.js.map +1 -1
  110. package/charts/bar-simple.d.ts +2 -2
  111. package/charts/bar-simple.js +7 -7
  112. package/charts/bar-simple.js.map +1 -1
  113. package/charts/bar-stacked.d.ts +2 -2
  114. package/charts/bar-stacked.js +7 -7
  115. package/charts/bar-stacked.js.map +1 -1
  116. package/charts/bubble.d.ts +2 -2
  117. package/charts/bubble.js +7 -7
  118. package/charts/bubble.js.map +1 -1
  119. package/charts/combo.d.ts +2 -2
  120. package/charts/combo.js +12 -12
  121. package/charts/combo.js.map +1 -1
  122. package/charts/donut.d.ts +2 -2
  123. package/charts/donut.js +7 -7
  124. package/charts/donut.js.map +1 -1
  125. package/charts/gauge.d.ts +3 -3
  126. package/charts/gauge.js +5 -5
  127. package/charts/gauge.js.map +1 -1
  128. package/charts/index.d.ts +16 -16
  129. package/charts/index.js +16 -16
  130. package/charts/index.js.map +1 -1
  131. package/charts/line.d.ts +2 -2
  132. package/charts/line.js +5 -5
  133. package/charts/line.js.map +1 -1
  134. package/charts/lollipop.d.ts +2 -2
  135. package/charts/lollipop.js +7 -7
  136. package/charts/lollipop.js.map +1 -1
  137. package/charts/meter.d.ts +3 -3
  138. package/charts/meter.js +18 -18
  139. package/charts/meter.js.map +1 -1
  140. package/charts/pie.d.ts +3 -3
  141. package/charts/pie.js +8 -8
  142. package/charts/pie.js.map +1 -1
  143. package/charts/radar.d.ts +2 -2
  144. package/charts/radar.js +5 -5
  145. package/charts/radar.js.map +1 -1
  146. package/charts/scatter.d.ts +2 -2
  147. package/charts/scatter.js +7 -7
  148. package/charts/scatter.js.map +1 -1
  149. package/charts/treemap.d.ts +2 -2
  150. package/charts/treemap.js +4 -4
  151. package/charts/treemap.js.map +1 -1
  152. package/components/axes/axis.d.ts +3 -3
  153. package/components/axes/axis.js +98 -98
  154. package/components/axes/axis.js.map +1 -1
  155. package/components/axes/chart-clip.d.ts +2 -2
  156. package/components/axes/chart-clip.js +9 -9
  157. package/components/axes/chart-clip.js.map +1 -1
  158. package/components/axes/grid-brush.d.ts +1 -1
  159. package/components/axes/grid-brush.js +32 -32
  160. package/components/axes/grid-brush.js.map +1 -1
  161. package/components/axes/grid.d.ts +1 -1
  162. package/components/axes/grid.js +34 -34
  163. package/components/axes/grid.js.map +1 -1
  164. package/components/axes/ruler-stacked.d.ts +1 -1
  165. package/components/axes/ruler-stacked.js +5 -5
  166. package/components/axes/ruler-stacked.js.map +1 -1
  167. package/components/axes/ruler.d.ts +2 -2
  168. package/components/axes/ruler.js +36 -36
  169. package/components/axes/ruler.js.map +1 -1
  170. package/components/axes/toolbar.d.ts +2 -2
  171. package/components/axes/toolbar.js +85 -85
  172. package/components/axes/toolbar.js.map +1 -1
  173. package/components/axes/two-dimensional-axes.d.ts +2 -2
  174. package/components/axes/two-dimensional-axes.js +13 -13
  175. package/components/axes/two-dimensional-axes.js.map +1 -1
  176. package/components/axes/zero-line.d.ts +1 -1
  177. package/components/axes/zero-line.js +12 -12
  178. package/components/axes/zero-line.js.map +1 -1
  179. package/components/axes/zoom-bar.d.ts +2 -2
  180. package/components/axes/zoom-bar.js +114 -114
  181. package/components/axes/zoom-bar.js.map +1 -1
  182. package/components/component.d.ts +1 -1
  183. package/components/component.js +13 -13
  184. package/components/component.js.map +1 -1
  185. package/components/essentials/legend.d.ts +1 -1
  186. package/components/essentials/legend.js +95 -92
  187. package/components/essentials/legend.js.map +1 -1
  188. package/components/essentials/threshold.d.ts +3 -3
  189. package/components/essentials/threshold.js +39 -39
  190. package/components/essentials/threshold.js.map +1 -1
  191. package/components/essentials/title-meter.d.ts +1 -1
  192. package/components/essentials/title-meter.js +42 -42
  193. package/components/essentials/title-meter.js.map +1 -1
  194. package/components/essentials/title.d.ts +1 -1
  195. package/components/essentials/title.js +19 -19
  196. package/components/essentials/title.js.map +1 -1
  197. package/components/essentials/tooltip-axis.d.ts +1 -1
  198. package/components/essentials/tooltip-axis.js +23 -23
  199. package/components/essentials/tooltip-axis.js.map +1 -1
  200. package/components/essentials/tooltip.d.ts +3 -3
  201. package/components/essentials/tooltip.js +31 -31
  202. package/components/essentials/tooltip.js.map +1 -1
  203. package/components/graphs/area-stacked.d.ts +1 -1
  204. package/components/graphs/area-stacked.js +28 -29
  205. package/components/graphs/area-stacked.js.map +1 -1
  206. package/components/graphs/area.d.ts +1 -1
  207. package/components/graphs/area.js +62 -57
  208. package/components/graphs/area.js.map +1 -1
  209. package/components/graphs/bar-grouped.d.ts +2 -2
  210. package/components/graphs/bar-grouped.js +56 -56
  211. package/components/graphs/bar-grouped.js.map +1 -1
  212. package/components/graphs/bar-simple.d.ts +1 -1
  213. package/components/graphs/bar-simple.js +45 -45
  214. package/components/graphs/bar-simple.js.map +1 -1
  215. package/components/graphs/bar-stacked.d.ts +1 -1
  216. package/components/graphs/bar-stacked.js +50 -51
  217. package/components/graphs/bar-stacked.js.map +1 -1
  218. package/components/graphs/bar.d.ts +1 -1
  219. package/components/graphs/bar.js +4 -4
  220. package/components/graphs/bar.js.map +1 -1
  221. package/components/graphs/bubble.d.ts +2 -2
  222. package/components/graphs/bubble.js +19 -19
  223. package/components/graphs/bubble.js.map +1 -1
  224. package/components/graphs/donut.d.ts +1 -1
  225. package/components/graphs/donut.js +20 -20
  226. package/components/graphs/donut.js.map +1 -1
  227. package/components/graphs/gauge.d.ts +1 -1
  228. package/components/graphs/gauge.js +89 -87
  229. package/components/graphs/gauge.js.map +1 -1
  230. package/components/graphs/line.d.ts +1 -1
  231. package/components/graphs/line.js +33 -33
  232. package/components/graphs/line.js.map +1 -1
  233. package/components/graphs/lollipop.d.ts +1 -1
  234. package/components/graphs/lollipop.js +32 -32
  235. package/components/graphs/lollipop.js.map +1 -1
  236. package/components/graphs/meter.d.ts +1 -1
  237. package/components/graphs/meter.js +39 -39
  238. package/components/graphs/meter.js.map +1 -1
  239. package/components/graphs/pie.d.ts +1 -1
  240. package/components/graphs/pie.js +102 -100
  241. package/components/graphs/pie.js.map +1 -1
  242. package/components/graphs/radar.d.ts +1 -1
  243. package/components/graphs/radar.js +180 -180
  244. package/components/graphs/radar.js.map +1 -1
  245. package/components/graphs/scatter-stacked.d.ts +1 -1
  246. package/components/graphs/scatter-stacked.js +22 -22
  247. package/components/graphs/scatter-stacked.js.map +1 -1
  248. package/components/graphs/scatter.d.ts +2 -2
  249. package/components/graphs/scatter.js +67 -66
  250. package/components/graphs/scatter.js.map +1 -1
  251. package/components/graphs/skeleton-lines.d.ts +1 -1
  252. package/components/graphs/skeleton-lines.js +27 -27
  253. package/components/graphs/skeleton-lines.js.map +1 -1
  254. package/components/graphs/skeleton.d.ts +1 -1
  255. package/components/graphs/skeleton.js +85 -85
  256. package/components/graphs/skeleton.js.map +1 -1
  257. package/components/graphs/treemap.d.ts +1 -1
  258. package/components/graphs/treemap.js +82 -82
  259. package/components/graphs/treemap.js.map +1 -1
  260. package/components/index.d.ts +36 -36
  261. package/components/index.js +36 -36
  262. package/components/index.js.map +1 -1
  263. package/components/layout/layout.d.ts +3 -3
  264. package/components/layout/layout.js +28 -28
  265. package/components/layout/layout.js.map +1 -1
  266. package/components/layout/spacer.d.ts +1 -1
  267. package/components/layout/spacer.js +10 -10
  268. package/components/layout/spacer.js.map +1 -1
  269. package/configuration-non-customizable.d.ts +7 -7
  270. package/configuration-non-customizable.js +37 -37
  271. package/configuration-non-customizable.js.map +1 -1
  272. package/configuration.d.ts +2 -2
  273. package/configuration.js +81 -78
  274. package/configuration.js.map +1 -1
  275. package/demo/create-codesandbox.d.ts +42 -42
  276. package/demo/create-codesandbox.js +100 -100
  277. package/demo/create-codesandbox.js.map +1 -1
  278. package/demo/data/area.js +220 -190
  279. package/demo/data/area.js.map +1 -1
  280. package/demo/data/bar.d.ts +2 -2
  281. package/demo/data/bar.js +302 -302
  282. package/demo/data/bar.js.map +1 -1
  283. package/demo/data/bubble.js +108 -108
  284. package/demo/data/bubble.js.map +1 -1
  285. package/demo/data/combo.js +323 -323
  286. package/demo/data/combo.js.map +1 -1
  287. package/demo/data/donut.js +19 -19
  288. package/demo/data/donut.js.map +1 -1
  289. package/demo/data/gauge.js +20 -20
  290. package/demo/data/gauge.js.map +1 -1
  291. package/demo/data/high-scale.js +3 -3
  292. package/demo/data/high-scale.js.map +1 -1
  293. package/demo/data/index.d.ts +13 -13
  294. package/demo/data/index.js +299 -299
  295. package/demo/data/index.js.map +1 -1
  296. package/demo/data/line.d.ts +4 -4
  297. package/demo/data/line.js +332 -332
  298. package/demo/data/line.js.map +1 -1
  299. package/demo/data/lollipop.js +19 -19
  300. package/demo/data/lollipop.js.map +1 -1
  301. package/demo/data/meter.d.ts +1 -1
  302. package/demo/data/meter.js +22 -22
  303. package/demo/data/meter.js.map +1 -1
  304. package/demo/data/pie.js +17 -17
  305. package/demo/data/pie.js.map +1 -1
  306. package/demo/data/radar.js +84 -84
  307. package/demo/data/radar.js.map +1 -1
  308. package/demo/data/scatter.js +125 -125
  309. package/demo/data/scatter.js.map +1 -1
  310. package/demo/data/step.js +11 -11
  311. package/demo/data/step.js.map +1 -1
  312. package/demo/data/time-series-axis.js +164 -164
  313. package/demo/data/time-series-axis.js.map +1 -1
  314. package/demo/data/toolbar.js +15 -15
  315. package/demo/data/toolbar.js.map +1 -1
  316. package/demo/data/treemap.js +63 -63
  317. package/demo/data/treemap.js.map +1 -1
  318. package/demo/data/zoom-bar.js +65 -65
  319. package/demo/data/zoom-bar.js.map +1 -1
  320. package/demo/styles.css +1 -1
  321. package/demo/styles.min.css +1 -1
  322. package/demo/tsconfig.tsbuildinfo +45 -45
  323. package/index.d.ts +3 -3
  324. package/index.js +3 -3
  325. package/index.js.map +1 -1
  326. package/interfaces/a11y.js.map +1 -1
  327. package/interfaces/axis-scales.d.ts +7 -7
  328. package/interfaces/axis-scales.js.map +1 -1
  329. package/interfaces/charts.d.ts +11 -4
  330. package/interfaces/charts.js.map +1 -1
  331. package/interfaces/components.d.ts +3 -3
  332. package/interfaces/components.js.map +1 -1
  333. package/interfaces/enums.d.ts +1 -1
  334. package/interfaces/enums.js +1 -1
  335. package/interfaces/enums.js.map +1 -1
  336. package/interfaces/events.js.map +1 -1
  337. package/interfaces/index.d.ts +7 -7
  338. package/interfaces/index.js +2 -2
  339. package/interfaces/index.js.map +1 -1
  340. package/interfaces/layout.d.ts +1 -1
  341. package/interfaces/layout.js.map +1 -1
  342. package/interfaces/model.d.ts +1 -1
  343. package/interfaces/model.js.map +1 -1
  344. package/model-cartesian-charts.d.ts +1 -1
  345. package/model-cartesian-charts.js +7 -7
  346. package/model-cartesian-charts.js.map +1 -1
  347. package/model-gauge.d.ts +1 -1
  348. package/model-gauge.js +2 -2
  349. package/model-gauge.js.map +1 -1
  350. package/model-meter.d.ts +1 -1
  351. package/model-meter.js +7 -7
  352. package/model-meter.js.map +1 -1
  353. package/model-pie.d.ts +1 -1
  354. package/model-pie.js +1 -1
  355. package/model-pie.js.map +1 -1
  356. package/model.d.ts +1 -9
  357. package/model.js +31 -42
  358. package/model.js.map +1 -1
  359. package/package.json +2 -3
  360. package/polyfills.js +9 -9
  361. package/polyfills.js.map +1 -1
  362. package/services/angle-utils.d.ts +1 -1
  363. package/services/angle-utils.js +9 -9
  364. package/services/angle-utils.js.map +1 -1
  365. package/services/curves.d.ts +2 -2
  366. package/services/curves.js +6 -6
  367. package/services/curves.js.map +1 -1
  368. package/services/essentials/dom-utils.d.ts +2 -2
  369. package/services/essentials/dom-utils.js +37 -37
  370. package/services/essentials/dom-utils.js.map +1 -1
  371. package/services/essentials/events.d.ts +1 -1
  372. package/services/essentials/events.js +3 -3
  373. package/services/essentials/events.js.map +1 -1
  374. package/services/essentials/gradient-utils.d.ts +1 -1
  375. package/services/essentials/gradient-utils.js +25 -25
  376. package/services/essentials/gradient-utils.js.map +1 -1
  377. package/services/essentials/transitions.d.ts +2 -2
  378. package/services/essentials/transitions.js +8 -8
  379. package/services/essentials/transitions.js.map +1 -1
  380. package/services/index.d.ts +7 -7
  381. package/services/index.js +7 -7
  382. package/services/index.js.map +1 -1
  383. package/services/scales-cartesian.d.ts +2 -2
  384. package/services/scales-cartesian.js +57 -60
  385. package/services/scales-cartesian.js.map +1 -1
  386. package/services/service.d.ts +1 -1
  387. package/services/service.js.map +1 -1
  388. package/services/time-series.d.ts +1 -1
  389. package/services/time-series.js +27 -27
  390. package/services/time-series.js.map +1 -1
  391. package/services/zoom.d.ts +2 -2
  392. package/services/zoom.js +20 -20
  393. package/services/zoom.js.map +1 -1
  394. package/styles/_type.scss +7 -7
  395. package/styles/color-palatte.scss +218 -218
  396. package/styles/colors.scss +3 -3
  397. package/styles/components/_axis.scss +5 -5
  398. package/styles/components/_ruler.scss +2 -2
  399. package/styles/components/_threshold.scss +1 -1
  400. package/styles/components/_title.scss +3 -3
  401. package/styles/components/_toolbar.scss +1 -1
  402. package/styles/components/_tooltip.scss +6 -6
  403. package/styles/components/index.scss +16 -16
  404. package/styles/graphs/_bubble.scss +1 -1
  405. package/styles/graphs/_radar.scss +2 -2
  406. package/styles/graphs/_scatter.scss +1 -1
  407. package/styles/graphs/_treemap.scss +1 -1
  408. package/styles/graphs/index.scss +9 -9
  409. package/styles/styles-g10.scss +2 -2
  410. package/styles/styles-g100.scss +2 -2
  411. package/styles/styles-g90.scss +2 -2
  412. package/styles/styles-white.scss +2 -2
  413. package/styles/styles.scss +10 -10
  414. package/tools.d.ts +2 -2
  415. package/tools.js +26 -26
  416. package/tools.js.map +1 -1
  417. package/tsconfig.tsbuildinfo +173 -173
@@ -12,20 +12,20 @@ var __extends = (this && this.__extends) || (function () {
12
12
  };
13
13
  })();
14
14
  // Internal Imports
15
- import { Component } from "../component";
16
- import { Events, Roles, ToolbarControlTypes } from "../../interfaces";
17
- import { Tools } from "../../tools";
18
- import { DOMUtils } from "../../services";
19
- import * as Configuration from "../../configuration";
15
+ import { Component } from '../component';
16
+ import { Events, Roles, ToolbarControlTypes } from '../../interfaces';
17
+ import { Tools } from '../../tools';
18
+ import { DOMUtils } from '../../services';
19
+ import * as Configuration from '../../configuration';
20
20
  // D3 Imports
21
- import { event, select } from "d3-selection";
21
+ import { event, select } from 'd3-selection';
22
22
  // import the settings for the css prefix
23
- import settings from "carbon-components/es/globals/js/settings";
23
+ import settings from 'carbon-components/es/globals/js/settings';
24
24
  var Toolbar = /** @class */ (function (_super) {
25
25
  __extends(Toolbar, _super);
26
26
  function Toolbar() {
27
27
  var _this = _super !== null && _super.apply(this, arguments) || this;
28
- _this.type = "toolbar";
28
+ _this.type = 'toolbar';
29
29
  // x, y coordinate of overflow menu
30
30
  _this.overflowMenuX = 0;
31
31
  _this.overflowMenuY = 0;
@@ -39,9 +39,9 @@ var Toolbar = /** @class */ (function (_super) {
39
39
  var options = this.getOptions();
40
40
  // Grab the tooltip element
41
41
  var holder = select(this.services.domUtils.getHolder());
42
- var chartPrefix = Tools.getProperty(options, "style", "prefix");
42
+ var chartPrefix = Tools.getProperty(options, 'style', 'prefix');
43
43
  this.overflowMenu = DOMUtils.appendOrSelect(holder, "div." + settings.prefix + "--" + chartPrefix + "--overflowMenu");
44
- this.overflowMenu.style("max-width", null);
44
+ this.overflowMenu.style('max-width', null);
45
45
  // listen to show overflow menu event to render the overflow menu
46
46
  this.services.events.addEventListener(Events.Toolbar.SHOW_OVERFLOW_MENU, function () {
47
47
  _this.overflowMenu.html(_this.getOverflowMenuHTML());
@@ -51,23 +51,23 @@ var Toolbar = /** @class */ (function (_super) {
51
51
  _this.overflowMenu.html(null);
52
52
  });
53
53
  // hide overflow menu if user clicks on somewhere in web page
54
- document.body.addEventListener("click", function () {
54
+ document.body.addEventListener('click', function () {
55
55
  return _this.updateOverflowMenu(false);
56
56
  });
57
57
  };
58
58
  Toolbar.prototype.render = function (animate) {
59
59
  if (animate === void 0) { animate = true; }
60
- var isDataLoading = Tools.getProperty(this.getOptions(), "data", "loading");
60
+ var isDataLoading = Tools.getProperty(this.getOptions(), 'data', 'loading');
61
61
  // size of toolbar button with background
62
62
  var buttonSize = Configuration.toolbar.buttonSize;
63
- var parentY = parseFloat(this.parent.node().getAttribute("y"));
63
+ var parentY = parseFloat(this.parent.node().getAttribute('y'));
64
64
  var svg = this.getContainerSVG();
65
65
  // TODO -- adjust toolbar Y position to align title component
66
66
  // before layout component supports vertical alignment center
67
67
  var Y_OFFSET = -6;
68
- svg.attr("transform", "translate(0, " + (parentY + Y_OFFSET) + ")");
68
+ svg.attr('transform', "translate(0, " + (parentY + Y_OFFSET) + ")");
69
69
  var width = DOMUtils.getSVGElementSize(this.services.domUtils.getMainSVG(), {
70
- useAttrs: true
70
+ useAttrs: true,
71
71
  }).width;
72
72
  // overflow menu width is 160px
73
73
  // it's set by Carbon component
@@ -77,10 +77,10 @@ var Toolbar = /** @class */ (function (_super) {
77
77
  // assume the overflow icon has right alignment in layout
78
78
  this.overflowMenuX = width - overflowMenuWidth;
79
79
  this.overflowMenuY = parentY + Y_OFFSET + buttonSize;
80
- var container = DOMUtils.appendOrSelect(svg, "svg.toolbar-container")
81
- .attr("width", "100%")
82
- .attr("height", Configuration.toolbar.height)
83
- .attr("opacity", 1);
80
+ var container = DOMUtils.appendOrSelect(svg, 'svg.toolbar-container')
81
+ .attr('width', '100%')
82
+ .attr('height', Configuration.toolbar.height)
83
+ .attr('opacity', 1);
84
84
  // clean children first
85
85
  container.html(null);
86
86
  // get the toolbar buttons
@@ -92,55 +92,55 @@ var Toolbar = /** @class */ (function (_super) {
92
92
  // loading or empty state
93
93
  if (isDataLoading || buttonList.length === 0) {
94
94
  // put an empty rect to keep space unchanged
95
- DOMUtils.appendOrSelect(container, "svg.toolbar-loading-spacer")
96
- .append("rect")
97
- .attr("height", Configuration.toolbar.height)
98
- .attr("width", buttonSize * 3) // value doesn't matter but can't be empty
99
- .attr("opacity", 0);
95
+ DOMUtils.appendOrSelect(container, 'svg.toolbar-loading-spacer')
96
+ .append('rect')
97
+ .attr('height', Configuration.toolbar.height)
98
+ .attr('width', buttonSize * 3) // value doesn't matter but can't be empty
99
+ .attr('opacity', 0);
100
100
  }
101
101
  else {
102
102
  // render toolbar buttons sequentially
103
103
  var buttonXPosition_1 = 0;
104
104
  buttonList.forEach(function (button) {
105
105
  // button container
106
- var buttonContainer = DOMUtils.appendOrSelect(container, "svg." + button.id).classed("toolbar-button", true);
106
+ var buttonContainer = DOMUtils.appendOrSelect(container, "svg." + button.id).classed('toolbar-button', true);
107
107
  // add button background rect
108
- var buttonBackground = DOMUtils.appendOrSelect(buttonContainer, "rect.toolbar-button-background")
109
- .attr("x", buttonXPosition_1)
110
- .attr("y", 0)
111
- .attr("width", buttonSize)
112
- .attr("height", buttonSize);
113
- var buttonIcon = DOMUtils.appendOrSelect(buttonContainer, "svg.toolbar-button-icon")
114
- .attr("x", buttonXPosition_1 + Configuration.toolbar.iconPadding)
115
- .attr("y", Configuration.toolbar.iconPadding)
116
- .attr("width", Configuration.toolbar.iconSize)
117
- .attr("height", Configuration.toolbar.iconSize)
118
- .attr("viewBox", "0 0 32 32")
119
- .attr("role", Roles.IMG);
108
+ var buttonBackground = DOMUtils.appendOrSelect(buttonContainer, 'rect.toolbar-button-background')
109
+ .attr('x', buttonXPosition_1)
110
+ .attr('y', 0)
111
+ .attr('width', buttonSize)
112
+ .attr('height', buttonSize);
113
+ var buttonIcon = DOMUtils.appendOrSelect(buttonContainer, 'svg.toolbar-button-icon')
114
+ .attr('x', buttonXPosition_1 + Configuration.toolbar.iconPadding)
115
+ .attr('y', Configuration.toolbar.iconPadding)
116
+ .attr('width', Configuration.toolbar.iconSize)
117
+ .attr('height', Configuration.toolbar.iconSize)
118
+ .attr('viewBox', '0 0 32 32')
119
+ .attr('role', Roles.IMG);
120
120
  buttonIcon.html(button.iconSVGContent);
121
121
  if (button.shouldBeDisabled()) {
122
122
  buttonContainer
123
- .classed("toolbar-button--disabled", true)
124
- .classed("toolbar-button--focusable", false)
125
- .attr("tabindex", -1)
126
- .attr("role", null);
127
- buttonIcon.classed("toolbar-button-icon--disabled", true);
128
- buttonBackground.classed("toolbar-button-background--disabled", true);
129
- buttonContainer.on("click", null).on("keyup", null);
123
+ .classed('toolbar-button--disabled', true)
124
+ .classed('toolbar-button--focusable', false)
125
+ .attr('tabindex', -1)
126
+ .attr('role', null);
127
+ buttonIcon.classed('toolbar-button-icon--disabled', true);
128
+ buttonBackground.classed('toolbar-button-background--disabled', true);
129
+ buttonContainer.on('click', null).on('keyup', null);
130
130
  }
131
131
  else {
132
132
  buttonContainer
133
- .classed("toolbar-button--disabled", false)
134
- .classed("toolbar-button--focusable", true)
135
- .attr("tabindex", 0)
136
- .attr("role", Roles.BUTTON);
137
- buttonIcon.classed("toolbar-button-icon--disabled", false);
138
- buttonBackground.classed("toolbar-button-background--disabled", false);
133
+ .classed('toolbar-button--disabled', false)
134
+ .classed('toolbar-button--focusable', true)
135
+ .attr('tabindex', 0)
136
+ .attr('role', Roles.BUTTON);
137
+ buttonIcon.classed('toolbar-button-icon--disabled', false);
138
+ buttonBackground.classed('toolbar-button-background--disabled', false);
139
139
  buttonContainer
140
- .on("click", button.clickFunction)
141
- .on("keyup", function () {
142
- if ((event.key && event.key === "Enter") ||
143
- event.key === " ") {
140
+ .on('click', button.clickFunction)
141
+ .on('keyup', function () {
142
+ if ((event.key && event.key === 'Enter') ||
143
+ event.key === ' ') {
144
144
  event.preventDefault();
145
145
  button.clickFunction();
146
146
  }
@@ -148,7 +148,7 @@ var Toolbar = /** @class */ (function (_super) {
148
148
  }
149
149
  buttonXPosition_1 += buttonSize;
150
150
  });
151
- this.overflowButton = this.getContainerSVG().select("svg.toolbar-overflow-menu");
151
+ this.overflowButton = this.getContainerSVG().select('svg.toolbar-overflow-menu');
152
152
  if (this.isOverflowMenuOpen()) {
153
153
  // keep overflow menu displayed
154
154
  this.updateOverflowMenu(true);
@@ -157,14 +157,14 @@ var Toolbar = /** @class */ (function (_super) {
157
157
  };
158
158
  Toolbar.prototype.isOverflowMenuOpen = function () {
159
159
  return (this.overflowMenu
160
- .selectAll("ul.bx--overflow-menu-options--open")
160
+ .selectAll('ul.bx--overflow-menu-options--open')
161
161
  .size() > 0);
162
162
  };
163
163
  // show/hide overflow menu
164
164
  Toolbar.prototype.updateOverflowMenu = function (show) {
165
165
  // update overflow button background
166
166
  if (this.overflowButton) {
167
- this.overflowButton.classed("toolbar-button--hovered", show);
167
+ this.overflowButton.classed('toolbar-button--hovered', show);
168
168
  }
169
169
  if (show) {
170
170
  this.services.events.dispatchEvent(Events.Toolbar.SHOW_OVERFLOW_MENU);
@@ -185,10 +185,10 @@ var Toolbar = /** @class */ (function (_super) {
185
185
  }
186
186
  // only if previous enabled menu item found
187
187
  if (previousItemIndex < overflowMenuItems.length) {
188
- var previousItemNode = select("#" +
188
+ var previousItemNode = select('#' +
189
189
  overflowMenuItems[previousItemIndex].id +
190
190
  this.overflowMenuItemId).node();
191
- if ("focus" in previousItemNode) {
191
+ if ('focus' in previousItemNode) {
192
192
  previousItemNode.focus();
193
193
  }
194
194
  }
@@ -205,10 +205,10 @@ var Toolbar = /** @class */ (function (_super) {
205
205
  }
206
206
  // only if next enabled menu item found
207
207
  if (nextItemIndex > -1) {
208
- var nextItemNode = select("#" +
208
+ var nextItemNode = select('#' +
209
209
  overflowMenuItems[nextItemIndex].id +
210
210
  this.overflowMenuItemId).node();
211
- if ("focus" in nextItemNode) {
211
+ if ('focus' in nextItemNode) {
212
212
  nextItemNode.focus();
213
213
  }
214
214
  }
@@ -226,24 +226,24 @@ var Toolbar = /** @class */ (function (_super) {
226
226
  var self_1 = this;
227
227
  var overflowMenuItems = this.getOverflowMenuItems();
228
228
  overflowMenuItems.forEach(function (menuItem, index) {
229
- var element = select("#" + menuItem.id + _this.overflowMenuItemId);
229
+ var element = select('#' + menuItem.id + _this.overflowMenuItemId);
230
230
  if (element !== null) {
231
- element.on("click", function () {
231
+ element.on('click', function () {
232
232
  // call the specified function
233
233
  menuItem.clickFunction();
234
234
  // hide overflow menu
235
235
  self_1.updateOverflowMenu(false);
236
236
  });
237
- element.on("keyup", function () {
238
- if (event.key === "Enter") {
237
+ element.on('keyup', function () {
238
+ if (event.key === 'Enter') {
239
239
  // call the specified function
240
240
  menuItem.clickFunction();
241
241
  }
242
- else if (event.key === "ArrowUp") {
242
+ else if (event.key === 'ArrowUp') {
243
243
  // focus on previous menu item
244
244
  self_1.focusOnPreviousEnabledMenuItem(index);
245
245
  }
246
- else if (event.key === "ArrowDown") {
246
+ else if (event.key === 'ArrowDown') {
247
247
  // focus on next menu item
248
248
  self_1.focusOnNextEnabledMenuItem(index);
249
249
  }
@@ -261,15 +261,15 @@ var Toolbar = /** @class */ (function (_super) {
261
261
  var overflowMenuItems = this.getOverflowMenuItems();
262
262
  // don't render whole overflow menu if no overflow menu item
263
263
  if (!overflowMenuItems || overflowMenuItems.length === 0) {
264
- return "";
264
+ return '';
265
265
  }
266
266
  var overflowMenuHtml;
267
267
  overflowMenuHtml = "<div data-floating-menu-container=\"true\" data-floating-menu-direction=\"bottom\" role=\"main\">\n\t\t\t<ul class=\"bx--overflow-menu-options bx--overflow-menu--flip bx--overflow-menu-options--open\"\n\t\t\t\ttabindex=\"-1\" role=\"" + Roles.MENU + "\" aria-label=\"Menu\" data-floating-menu-direction=\"bottom\"\n\t\t\t\tstyle=\"left:" + this.overflowMenuX + "px; top:" + this.overflowMenuY + "px;\">";
268
268
  // generate html for each overflow menu items
269
269
  overflowMenuItems.forEach(function (menuItem, index) {
270
- var menuItemClasses = "bx--overflow-menu-options__option".concat(menuItem.shouldBeDisabled()
271
- ? " bx--overflow-menu-options__option--disabled" // class for disabled menu item
272
- : "");
270
+ var menuItemClasses = 'bx--overflow-menu-options__option'.concat(menuItem.shouldBeDisabled()
271
+ ? ' bx--overflow-menu-options__option--disabled' // class for disabled menu item
272
+ : '');
273
273
  overflowMenuHtml += "<li class=\"" + menuItemClasses + "\" role=\"" + Roles.MENU_ITEM + "\">\n\t\t\t\t<button class=\"bx--overflow-menu-options__btn\"\n\t\t\t\t\tdata-floating-menu-primary-focus=\"" + (index === 0) + "\"\n\t\t\t\t\ttabindex=\"-1\" index=\"" + index + "\" title=\"" + menuItem.text + "\"\n\t\t\t\t\tid=\"" + (menuItem.id + _this.overflowMenuItemId) + "\">\n\t\t\t\t\t<div class=\"bx--overflow-menu-options__option-content\">\n\t\t\t\t\t\t" + menuItem.text + "\n\t\t\t\t\t</div>\n\t\t\t\t</button>\n\t\t\t</li>";
274
274
  });
275
275
  overflowMenuHtml += "</ul></div>";
@@ -277,8 +277,8 @@ var Toolbar = /** @class */ (function (_super) {
277
277
  };
278
278
  Toolbar.prototype.getControlConfigs = function () {
279
279
  var _this = this;
280
- var numberOfIcons = Tools.getProperty(this.getOptions(), "toolbar", "numberOfIcons");
281
- var controls = Tools.getProperty(this.getOptions(), "toolbar", "controls");
280
+ var numberOfIcons = Tools.getProperty(this.getOptions(), 'toolbar', 'numberOfIcons');
281
+ var controls = Tools.getProperty(this.getOptions(), 'toolbar', 'controls');
282
282
  var controlList = [];
283
283
  controls.forEach(function (control) {
284
284
  var controlConfig = _this.getControlConfigByType(control.type);
@@ -290,13 +290,13 @@ var Toolbar = /** @class */ (function (_super) {
290
290
  });
291
291
  if (controlList.length <= numberOfIcons) {
292
292
  return {
293
- buttonList: controlList
293
+ buttonList: controlList,
294
294
  };
295
295
  }
296
296
  return {
297
297
  // leave one button for overflow button
298
298
  buttonList: controlList.splice(0, numberOfIcons - 1),
299
- overflowMenuItemList: controlList
299
+ overflowMenuItemList: controlList,
300
300
  };
301
301
  };
302
302
  Toolbar.prototype.getOverflowMenuItems = function () {
@@ -312,10 +312,10 @@ var Toolbar = /** @class */ (function (_super) {
312
312
  Toolbar.prototype.getOverflowButtonConfig = function () {
313
313
  var _this = this;
314
314
  return {
315
- id: "toolbar-overflow-menu",
315
+ id: 'toolbar-overflow-menu',
316
316
  shouldBeDisabled: function () { return false; },
317
317
  iconSVGContent: "<circle cx=\"16\" cy=\"8\" r=\"2\"></circle>\n\t\t\t\t\t\t\t <circle cx=\"16\" cy=\"16\" r=\"2\"></circle>\n\t\t\t\t\t\t\t <circle cx=\"16\" cy=\"24\" r=\"2\"></circle>",
318
- clickFunction: function () { return _this.toggleOverflowMenu(); }
318
+ clickFunction: function () { return _this.toggleOverflowMenu(); },
319
319
  };
320
320
  };
321
321
  Toolbar.prototype.getControlConfigByType = function (controlType) {
@@ -327,44 +327,44 @@ var Toolbar = /** @class */ (function (_super) {
327
327
  case ToolbarControlTypes.ZOOM_IN:
328
328
  if (isZoomBarEnabled) {
329
329
  controlConfig = {
330
- id: "toolbar-zoomIn",
330
+ id: 'toolbar-zoomIn',
331
331
  shouldBeDisabled: function () {
332
332
  return _this.services.zoom.isMinZoomDomain();
333
333
  },
334
334
  iconSVGContent: this.getControlIconByType(controlType),
335
- clickFunction: function () { return _this.services.zoom.zoomIn(); }
335
+ clickFunction: function () { return _this.services.zoom.zoomIn(); },
336
336
  };
337
337
  }
338
338
  break;
339
339
  case ToolbarControlTypes.ZOOM_OUT:
340
340
  if (isZoomBarEnabled) {
341
341
  controlConfig = {
342
- id: "toolbar-zoomOut",
342
+ id: 'toolbar-zoomOut',
343
343
  shouldBeDisabled: function () {
344
344
  return _this.services.zoom.isMaxZoomDomain();
345
345
  },
346
346
  iconSVGContent: this.getControlIconByType(controlType),
347
- clickFunction: function () { return _this.services.zoom.zoomOut(); }
347
+ clickFunction: function () { return _this.services.zoom.zoomOut(); },
348
348
  };
349
349
  }
350
350
  break;
351
351
  case ToolbarControlTypes.RESET_ZOOM:
352
352
  if (isZoomBarEnabled) {
353
353
  controlConfig = {
354
- id: "toolbar-resetZoom",
354
+ id: 'toolbar-resetZoom',
355
355
  shouldBeDisabled: function () {
356
356
  return _this.services.zoom.isMaxZoomDomain();
357
357
  },
358
358
  iconSVGContent: this.getControlIconByType(controlType),
359
359
  clickFunction: function () {
360
360
  return _this.services.zoom.resetZoomDomain();
361
- }
361
+ },
362
362
  };
363
363
  }
364
364
  break;
365
365
  // add more toolbar control configuration here
366
366
  default:
367
- throw Error("Not supported toolbar control type: " + controlType);
367
+ throw Error('Not supported toolbar control type: ' + controlType);
368
368
  }
369
369
  return controlConfig;
370
370
  };
@@ -379,7 +379,7 @@ var Toolbar = /** @class */ (function (_super) {
379
379
  // add more icons here
380
380
  // svg icon must be with 32x32 viewBox
381
381
  default:
382
- throw Error("Not supported toolbar control type: " + controlType);
382
+ throw Error('Not supported toolbar control type: ' + controlType);
383
383
  }
384
384
  };
385
385
  return Toolbar;
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar.js","sourceRoot":"","sources":["toolbar.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from \"../component\";\nimport { Events, Roles, ToolbarControlTypes } from \"../../interfaces\";\nimport { Tools } from \"../../tools\";\nimport { DOMUtils } from \"../../services\";\nimport * as Configuration from \"../../configuration\";\n\n// D3 Imports\nimport { event, select } from \"d3-selection\";\n\n// import the settings for the css prefix\nimport settings from \"carbon-components/es/globals/js/settings\";\n\nexport class Toolbar extends Component {\n\ttype = \"toolbar\";\n\n\t// overflow menu button to control background color\n\toverflowButton: any;\n\n\t// ul options list element\n\toverflowMenu: any;\n\n\t// x, y coordinate of overflow menu\n\toverflowMenuX = 0;\n\toverflowMenuY = 0;\n\n\t// Use a random number to create overflow menu item unique ID\n\t// so they don't interfere the other overflow menu item in a page\n\toverflowMenuItemId = Math.floor(Math.random() * 99999999999);\n\n\tinit() {\n\t\tconst options = this.getOptions();\n\n\t\t// Grab the tooltip element\n\t\tconst holder = select(this.services.domUtils.getHolder());\n\t\tconst chartPrefix = Tools.getProperty(options, \"style\", \"prefix\");\n\n\t\tthis.overflowMenu = DOMUtils.appendOrSelect(\n\t\t\tholder,\n\t\t\t`div.${settings.prefix}--${chartPrefix}--overflowMenu`\n\t\t);\n\n\t\tthis.overflowMenu.style(\"max-width\", null);\n\n\t\t// listen to show overflow menu event to render the overflow menu\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Toolbar.SHOW_OVERFLOW_MENU,\n\t\t\t() => {\n\t\t\t\tthis.overflowMenu.html(this.getOverflowMenuHTML());\n\t\t\t}\n\t\t);\n\n\t\t// listen to hide overflow menu event to hide the overflow menu\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Toolbar.HIDE_OVERFLOW_MENU,\n\t\t\t() => {\n\t\t\t\tthis.overflowMenu.html(null);\n\t\t\t}\n\t\t);\n\t\t// hide overflow menu if user clicks on somewhere in web page\n\t\tdocument.body.addEventListener(\"click\", () =>\n\t\t\tthis.updateOverflowMenu(false)\n\t\t);\n\t}\n\n\trender(animate = true) {\n\t\tconst isDataLoading = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t\"data\",\n\t\t\t\"loading\"\n\t\t);\n\n\t\t// size of toolbar button with background\n\t\tconst buttonSize = Configuration.toolbar.buttonSize;\n\t\tconst parentY = parseFloat(this.parent.node().getAttribute(\"y\"));\n\n\t\tconst svg = this.getContainerSVG();\n\n\t\t// TODO -- adjust toolbar Y position to align title component\n\t\t// before layout component supports vertical alignment center\n\t\tconst Y_OFFSET = -6;\n\t\tsvg.attr(\"transform\", `translate(0, ${parentY + Y_OFFSET})`);\n\n\t\tconst { width } = DOMUtils.getSVGElementSize(\n\t\t\tthis.services.domUtils.getMainSVG(),\n\t\t\t{\n\t\t\t\tuseAttrs: true\n\t\t\t}\n\t\t);\n\n\t\t// overflow menu width is 160px\n\t\t// it's set by Carbon component\n\t\tconst overflowMenuWidth = 160;\n\t\t// no good solution to get correct Toolbar position\n\t\t// parent x doesn't work well\n\t\t// assume the overflow icon has right alignment in layout\n\t\tthis.overflowMenuX = width - overflowMenuWidth;\n\t\tthis.overflowMenuY = parentY + Y_OFFSET + buttonSize;\n\t\tconst container = DOMUtils.appendOrSelect(svg, \"svg.toolbar-container\")\n\t\t\t.attr(\"width\", \"100%\")\n\t\t\t.attr(\"height\", Configuration.toolbar.height)\n\t\t\t.attr(\"opacity\", 1);\n\n\t\t// clean children first\n\t\tcontainer.html(null);\n\n\t\t// get the toolbar buttons\n\t\tconst { buttonList, overflowMenuItemList } = this.getControlConfigs();\n\n\t\t// overflow button is required only if overflow menu item list is valid\n\t\tif (!!overflowMenuItemList) {\n\t\t\tbuttonList.push(this.getOverflowButtonConfig());\n\t\t}\n\n\t\t// loading or empty state\n\t\tif (isDataLoading || buttonList.length === 0) {\n\t\t\t// put an empty rect to keep space unchanged\n\t\t\tDOMUtils.appendOrSelect(container, \"svg.toolbar-loading-spacer\")\n\t\t\t\t.append(\"rect\")\n\t\t\t\t.attr(\"height\", Configuration.toolbar.height)\n\t\t\t\t.attr(\"width\", buttonSize * 3) // value doesn't matter but can't be empty\n\t\t\t\t.attr(\"opacity\", 0);\n\t\t} else {\n\t\t\t// render toolbar buttons sequentially\n\t\t\tlet buttonXPosition = 0;\n\t\t\tbuttonList.forEach((button) => {\n\t\t\t\t// button container\n\t\t\t\tconst buttonContainer = DOMUtils.appendOrSelect(\n\t\t\t\t\tcontainer,\n\t\t\t\t\t`svg.${button.id}`\n\t\t\t\t).classed(\"toolbar-button\", true);\n\n\t\t\t\t// add button background rect\n\t\t\t\tconst buttonBackground = DOMUtils.appendOrSelect(\n\t\t\t\t\tbuttonContainer,\n\t\t\t\t\t\"rect.toolbar-button-background\"\n\t\t\t\t)\n\t\t\t\t\t.attr(\"x\", buttonXPosition)\n\t\t\t\t\t.attr(\"y\", 0)\n\t\t\t\t\t.attr(\"width\", buttonSize)\n\t\t\t\t\t.attr(\"height\", buttonSize);\n\n\t\t\t\tconst buttonIcon = DOMUtils.appendOrSelect(\n\t\t\t\t\tbuttonContainer,\n\t\t\t\t\t\"svg.toolbar-button-icon\"\n\t\t\t\t)\n\t\t\t\t\t.attr(\n\t\t\t\t\t\t\"x\",\n\t\t\t\t\t\tbuttonXPosition + Configuration.toolbar.iconPadding\n\t\t\t\t\t)\n\t\t\t\t\t.attr(\"y\", Configuration.toolbar.iconPadding)\n\t\t\t\t\t.attr(\"width\", Configuration.toolbar.iconSize)\n\t\t\t\t\t.attr(\"height\", Configuration.toolbar.iconSize)\n\t\t\t\t\t.attr(\"viewBox\", \"0 0 32 32\")\n\t\t\t\t\t.attr(\"role\", Roles.IMG);\n\n\t\t\t\tbuttonIcon.html(button.iconSVGContent);\n\t\t\t\tif (button.shouldBeDisabled()) {\n\t\t\t\t\tbuttonContainer\n\t\t\t\t\t\t.classed(\"toolbar-button--disabled\", true)\n\t\t\t\t\t\t.classed(\"toolbar-button--focusable\", false)\n\t\t\t\t\t\t.attr(\"tabindex\", -1)\n\t\t\t\t\t\t.attr(\"role\", null);\n\t\t\t\t\tbuttonIcon.classed(\"toolbar-button-icon--disabled\", true);\n\t\t\t\t\tbuttonBackground.classed(\n\t\t\t\t\t\t\"toolbar-button-background--disabled\",\n\t\t\t\t\t\ttrue\n\t\t\t\t\t);\n\t\t\t\t\tbuttonContainer.on(\"click\", null).on(\"keyup\", null);\n\t\t\t\t} else {\n\t\t\t\t\tbuttonContainer\n\t\t\t\t\t\t.classed(\"toolbar-button--disabled\", false)\n\t\t\t\t\t\t.classed(\"toolbar-button--focusable\", true)\n\t\t\t\t\t\t.attr(\"tabindex\", 0)\n\t\t\t\t\t\t.attr(\"role\", Roles.BUTTON);\n\t\t\t\t\tbuttonIcon.classed(\"toolbar-button-icon--disabled\", false);\n\t\t\t\t\tbuttonBackground.classed(\n\t\t\t\t\t\t\"toolbar-button-background--disabled\",\n\t\t\t\t\t\tfalse\n\t\t\t\t\t);\n\t\t\t\t\tbuttonContainer\n\t\t\t\t\t\t.on(\"click\", button.clickFunction)\n\t\t\t\t\t\t.on(\"keyup\", () => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t(event.key && event.key === \"Enter\") ||\n\t\t\t\t\t\t\t\tevent.key === \" \"\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\t\t\t\tbutton.clickFunction();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbuttonXPosition += buttonSize;\n\t\t\t});\n\n\t\t\tthis.overflowButton = this.getContainerSVG().select(\n\t\t\t\t\"svg.toolbar-overflow-menu\"\n\t\t\t);\n\n\t\t\tif (this.isOverflowMenuOpen()) {\n\t\t\t\t// keep overflow menu displayed\n\t\t\t\tthis.updateOverflowMenu(true);\n\t\t\t}\n\t\t}\n\t}\n\n\tisOverflowMenuOpen() {\n\t\treturn (\n\t\t\tthis.overflowMenu\n\t\t\t\t.selectAll(\"ul.bx--overflow-menu-options--open\")\n\t\t\t\t.size() > 0\n\t\t);\n\t}\n\n\t// show/hide overflow menu\n\tupdateOverflowMenu(show: boolean) {\n\t\t// update overflow button background\n\t\tif (this.overflowButton) {\n\t\t\tthis.overflowButton.classed(\"toolbar-button--hovered\", show);\n\t\t}\n\t\tif (show) {\n\t\t\tthis.services.events.dispatchEvent(\n\t\t\t\tEvents.Toolbar.SHOW_OVERFLOW_MENU\n\t\t\t);\n\t\t} else {\n\t\t\tthis.services.events.dispatchEvent(\n\t\t\t\tEvents.Toolbar.HIDE_OVERFLOW_MENU\n\t\t\t);\n\t\t}\n\t}\n\n\tfocusOnPreviousEnabledMenuItem(currentItemIndex) {\n\t\tconst overflowMenuItems = this.getOverflowMenuItems();\n\t\tlet previousItemIndex = overflowMenuItems.length;\n\t\tfor (let i = currentItemIndex - 1; i >= 0; i--) {\n\t\t\tconst previousOverflowMenuItem = overflowMenuItems[i];\n\t\t\tif (!previousOverflowMenuItem.shouldBeDisabled()) {\n\t\t\t\tpreviousItemIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// only if previous enabled menu item found\n\t\tif (previousItemIndex < overflowMenuItems.length) {\n\t\t\tconst previousItemNode = select(\n\t\t\t\t\"#\" +\n\t\t\t\t\toverflowMenuItems[previousItemIndex].id +\n\t\t\t\t\tthis.overflowMenuItemId\n\t\t\t).node();\n\t\t\tif (\"focus\" in previousItemNode) {\n\t\t\t\tpreviousItemNode.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tfocusOnNextEnabledMenuItem(currentItemIndex) {\n\t\tconst overflowMenuItems = this.getOverflowMenuItems();\n\t\tlet nextItemIndex = -1;\n\t\tfor (let i = currentItemIndex + 1; i < overflowMenuItems.length; i++) {\n\t\t\tconst nextOverflowMenuItem = overflowMenuItems[i];\n\t\t\tif (!nextOverflowMenuItem.shouldBeDisabled()) {\n\t\t\t\tnextItemIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// only if next enabled menu item found\n\t\tif (nextItemIndex > -1) {\n\t\t\tconst nextItemNode = select(\n\t\t\t\t\"#\" +\n\t\t\t\t\toverflowMenuItems[nextItemIndex].id +\n\t\t\t\t\tthis.overflowMenuItemId\n\t\t\t).node();\n\t\t\tif (\"focus\" in nextItemNode) {\n\t\t\t\tnextItemNode.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\ttoggleOverflowMenu() {\n\t\tif (this.isOverflowMenuOpen()) {\n\t\t\t// hide overflow menu\n\t\t\tthis.updateOverflowMenu(false);\n\t\t} else {\n\t\t\t// show overflow menu\n\t\t\tthis.updateOverflowMenu(true);\n\n\t\t\t// setup overflow menu item event listener\n\t\t\tconst self = this;\n\t\t\tconst overflowMenuItems = this.getOverflowMenuItems();\n\t\t\toverflowMenuItems.forEach((menuItem, index) => {\n\t\t\t\tconst element = select(\n\t\t\t\t\t\"#\" + menuItem.id + this.overflowMenuItemId\n\t\t\t\t);\n\t\t\t\tif (element !== null) {\n\t\t\t\t\telement.on(\"click\", () => {\n\t\t\t\t\t\t// call the specified function\n\t\t\t\t\t\tmenuItem.clickFunction();\n\n\t\t\t\t\t\t// hide overflow menu\n\t\t\t\t\t\tself.updateOverflowMenu(false);\n\t\t\t\t\t});\n\t\t\t\t\telement.on(\"keyup\", () => {\n\t\t\t\t\t\tif (event.key === \"Enter\") {\n\t\t\t\t\t\t\t// call the specified function\n\t\t\t\t\t\t\tmenuItem.clickFunction();\n\t\t\t\t\t\t} else if (event.key === \"ArrowUp\") {\n\t\t\t\t\t\t\t// focus on previous menu item\n\t\t\t\t\t\t\tself.focusOnPreviousEnabledMenuItem(index);\n\t\t\t\t\t\t} else if (event.key === \"ArrowDown\") {\n\t\t\t\t\t\t\t// focus on next menu item\n\t\t\t\t\t\t\tself.focusOnNextEnabledMenuItem(index);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Not hide overflow menu by keyboard arrow up/down event\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// default to focus on the first enabled menu item\n\t\t\tself.focusOnNextEnabledMenuItem(-1);\n\t\t}\n\t\tevent.stopImmediatePropagation();\n\t}\n\n\tgetOverflowMenuHTML() {\n\t\tconst overflowMenuItems = this.getOverflowMenuItems();\n\t\t// don't render whole overflow menu if no overflow menu item\n\t\tif (!overflowMenuItems || overflowMenuItems.length === 0) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tlet overflowMenuHtml;\n\t\toverflowMenuHtml = `<div data-floating-menu-container=\"true\" data-floating-menu-direction=\"bottom\" role=\"main\">\n\t\t\t<ul class=\"bx--overflow-menu-options bx--overflow-menu--flip bx--overflow-menu-options--open\"\n\t\t\t\ttabindex=\"-1\" role=\"${Roles.MENU}\" aria-label=\"Menu\" data-floating-menu-direction=\"bottom\"\n\t\t\t\tstyle=\"left:${this.overflowMenuX}px; top:${this.overflowMenuY}px;\">`;\n\n\t\t// generate html for each overflow menu items\n\t\toverflowMenuItems.forEach((menuItem, index) => {\n\t\t\tconst menuItemClasses = \"bx--overflow-menu-options__option\".concat(\n\t\t\t\tmenuItem.shouldBeDisabled()\n\t\t\t\t\t? \" bx--overflow-menu-options__option--disabled\" // class for disabled menu item\n\t\t\t\t\t: \"\"\n\t\t\t);\n\t\t\toverflowMenuHtml += `<li class=\"${menuItemClasses}\" role=\"${\n\t\t\t\tRoles.MENU_ITEM\n\t\t\t}\">\n\t\t\t\t<button class=\"bx--overflow-menu-options__btn\"\n\t\t\t\t\tdata-floating-menu-primary-focus=\"${index === 0}\"\n\t\t\t\t\ttabindex=\"-1\" index=\"${index}\" title=\"${menuItem.text}\"\n\t\t\t\t\tid=\"${menuItem.id + this.overflowMenuItemId}\">\n\t\t\t\t\t<div class=\"bx--overflow-menu-options__option-content\">\n\t\t\t\t\t\t${menuItem.text}\n\t\t\t\t\t</div>\n\t\t\t\t</button>\n\t\t\t</li>`;\n\t\t});\n\n\t\toverflowMenuHtml += `</ul></div>`;\n\t\treturn overflowMenuHtml;\n\t}\n\n\tgetControlConfigs() {\n\t\tconst numberOfIcons = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t\"toolbar\",\n\t\t\t\"numberOfIcons\"\n\t\t);\n\t\tconst controls = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t\"toolbar\",\n\t\t\t\"controls\"\n\t\t);\n\t\tconst controlList = [];\n\t\tcontrols.forEach((control) => {\n\t\t\tconst controlConfig = this.getControlConfigByType(control.type);\n\n\t\t\t// add to list if config is valid\n\t\t\tif (controlConfig) {\n\t\t\t\tcontrolConfig.text = control.text ? control.text : control.type;\n\t\t\t\tcontrolList.push(controlConfig);\n\t\t\t}\n\t\t});\n\n\t\tif (controlList.length <= numberOfIcons) {\n\t\t\treturn {\n\t\t\t\tbuttonList: controlList\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\t// leave one button for overflow button\n\t\t\tbuttonList: controlList.splice(0, numberOfIcons - 1),\n\t\t\toverflowMenuItemList: controlList\n\t\t};\n\t}\n\n\tgetOverflowMenuItems() {\n\t\tconst { overflowMenuItemList } = this.getControlConfigs();\n\t\tif (!!overflowMenuItemList) {\n\t\t\treturn overflowMenuItemList;\n\t\t} else {\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t// special button config for overflow button\n\tgetOverflowButtonConfig() {\n\t\treturn {\n\t\t\tid: \"toolbar-overflow-menu\",\n\t\t\tshouldBeDisabled: () => false,\n\t\t\ticonSVGContent: `<circle cx=\"16\" cy=\"8\" r=\"2\"></circle>\n\t\t\t\t\t\t\t <circle cx=\"16\" cy=\"16\" r=\"2\"></circle>\n\t\t\t\t\t\t\t <circle cx=\"16\" cy=\"24\" r=\"2\"></circle>`,\n\t\t\tclickFunction: () => this.toggleOverflowMenu()\n\t\t};\n\t}\n\n\tgetControlConfigByType(controlType: ToolbarControlTypes) {\n\t\tconst isZoomBarEnabled =\n\t\t\tthis.services.zoom.isZoomBarEnabled() &&\n\t\t\t!this.services.zoom.isEmptyState();\n\n\t\tlet controlConfig;\n\t\tswitch (controlType) {\n\t\t\tcase ToolbarControlTypes.ZOOM_IN:\n\t\t\t\tif (isZoomBarEnabled) {\n\t\t\t\t\tcontrolConfig = {\n\t\t\t\t\t\tid: \"toolbar-zoomIn\",\n\t\t\t\t\t\tshouldBeDisabled: () =>\n\t\t\t\t\t\t\tthis.services.zoom.isMinZoomDomain(),\n\t\t\t\t\t\ticonSVGContent: this.getControlIconByType(controlType),\n\t\t\t\t\t\tclickFunction: () => this.services.zoom.zoomIn()\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ToolbarControlTypes.ZOOM_OUT:\n\t\t\t\tif (isZoomBarEnabled) {\n\t\t\t\t\tcontrolConfig = {\n\t\t\t\t\t\tid: \"toolbar-zoomOut\",\n\t\t\t\t\t\tshouldBeDisabled: () =>\n\t\t\t\t\t\t\tthis.services.zoom.isMaxZoomDomain(),\n\t\t\t\t\t\ticonSVGContent: this.getControlIconByType(controlType),\n\t\t\t\t\t\tclickFunction: () => this.services.zoom.zoomOut()\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ToolbarControlTypes.RESET_ZOOM:\n\t\t\t\tif (isZoomBarEnabled) {\n\t\t\t\t\tcontrolConfig = {\n\t\t\t\t\t\tid: \"toolbar-resetZoom\",\n\t\t\t\t\t\tshouldBeDisabled: () =>\n\t\t\t\t\t\t\tthis.services.zoom.isMaxZoomDomain(),\n\t\t\t\t\t\ticonSVGContent: this.getControlIconByType(controlType),\n\t\t\t\t\t\tclickFunction: () =>\n\t\t\t\t\t\t\tthis.services.zoom.resetZoomDomain()\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t// add more toolbar control configuration here\n\n\t\t\tdefault:\n\t\t\t\tthrow Error(\n\t\t\t\t\t\"Not supported toolbar control type: \" + controlType\n\t\t\t\t);\n\t\t}\n\t\treturn controlConfig;\n\t}\n\n\tgetControlIconByType(controlType: ToolbarControlTypes) {\n\t\tswitch (controlType) {\n\t\t\tcase ToolbarControlTypes.ZOOM_IN:\n\t\t\t\treturn `<polygon points=\"19 13 15 13 15 9 13 9 13 13 9 13 9 15 13 15 13 19 15 19 15 15 19 15 19 13\"/>\n \t\t\t\t\t<path d=\"M22.45,21A10.87,10.87,0,0,0,25,14,11,11,0,1,0,14,25a10.87,10.87,0,0,0,7-2.55L28.59,30,30,28.59ZM14,23a9,9,0,1,1,9-9A9,9,0,0,1,14,23Z\"/>`;\n\t\t\tcase ToolbarControlTypes.ZOOM_OUT:\n\t\t\t\treturn `<rect x=\"9\" y=\"13\" width=\"10\" height=\"2\"/>\n\t\t\t\t\t\t<path d=\"M22.45,21A10.87,10.87,0,0,0,25,14,11,11,0,1,0,14,25a10.87,10.87,0,0,0,7-2.55L28.59,30,30,28.59ZM14,23a9,9,0,1,1,9-9A9,9,0,0,1,14,23Z\"/>`;\n\t\t\tcase ToolbarControlTypes.RESET_ZOOM:\n\t\t\t\treturn `<path d=\"M22.4478,21A10.855,10.855,0,0,0,25,14,10.99,10.99,0,0,0,6,6.4658V2H4v8h8V8H7.332a8.9768,8.9768,0,1,1-2.1,8H3.1912A11.0118,11.0118,0,0,0,14,25a10.855,10.855,0,0,0,7-2.5522L28.5859,30,30,28.5859Z\"/>`;\n\n\t\t\t// add more icons here\n\t\t\t// svg icon must be with 32x32 viewBox\n\n\t\t\tdefault:\n\t\t\t\tthrow Error(\n\t\t\t\t\t\"Not supported toolbar control type: \" + controlType\n\t\t\t\t);\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"toolbar.js","sourceRoot":"","sources":["toolbar.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from '../component';\nimport { Events, Roles, ToolbarControlTypes } from '../../interfaces';\nimport { Tools } from '../../tools';\nimport { DOMUtils } from '../../services';\nimport * as Configuration from '../../configuration';\n\n// D3 Imports\nimport { event, select } from 'd3-selection';\n\n// import the settings for the css prefix\nimport settings from 'carbon-components/es/globals/js/settings';\n\nexport class Toolbar extends Component {\n\ttype = 'toolbar';\n\n\t// overflow menu button to control background color\n\toverflowButton: any;\n\n\t// ul options list element\n\toverflowMenu: any;\n\n\t// x, y coordinate of overflow menu\n\toverflowMenuX = 0;\n\toverflowMenuY = 0;\n\n\t// Use a random number to create overflow menu item unique ID\n\t// so they don't interfere the other overflow menu item in a page\n\toverflowMenuItemId = Math.floor(Math.random() * 99999999999);\n\n\tinit() {\n\t\tconst options = this.getOptions();\n\n\t\t// Grab the tooltip element\n\t\tconst holder = select(this.services.domUtils.getHolder());\n\t\tconst chartPrefix = Tools.getProperty(options, 'style', 'prefix');\n\n\t\tthis.overflowMenu = DOMUtils.appendOrSelect(\n\t\t\tholder,\n\t\t\t`div.${settings.prefix}--${chartPrefix}--overflowMenu`\n\t\t);\n\n\t\tthis.overflowMenu.style('max-width', null);\n\n\t\t// listen to show overflow menu event to render the overflow menu\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Toolbar.SHOW_OVERFLOW_MENU,\n\t\t\t() => {\n\t\t\t\tthis.overflowMenu.html(this.getOverflowMenuHTML());\n\t\t\t}\n\t\t);\n\n\t\t// listen to hide overflow menu event to hide the overflow menu\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Toolbar.HIDE_OVERFLOW_MENU,\n\t\t\t() => {\n\t\t\t\tthis.overflowMenu.html(null);\n\t\t\t}\n\t\t);\n\t\t// hide overflow menu if user clicks on somewhere in web page\n\t\tdocument.body.addEventListener('click', () =>\n\t\t\tthis.updateOverflowMenu(false)\n\t\t);\n\t}\n\n\trender(animate = true) {\n\t\tconst isDataLoading = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t'data',\n\t\t\t'loading'\n\t\t);\n\n\t\t// size of toolbar button with background\n\t\tconst buttonSize = Configuration.toolbar.buttonSize;\n\t\tconst parentY = parseFloat(this.parent.node().getAttribute('y'));\n\n\t\tconst svg = this.getContainerSVG();\n\n\t\t// TODO -- adjust toolbar Y position to align title component\n\t\t// before layout component supports vertical alignment center\n\t\tconst Y_OFFSET = -6;\n\t\tsvg.attr('transform', `translate(0, ${parentY + Y_OFFSET})`);\n\n\t\tconst { width } = DOMUtils.getSVGElementSize(\n\t\t\tthis.services.domUtils.getMainSVG(),\n\t\t\t{\n\t\t\t\tuseAttrs: true,\n\t\t\t}\n\t\t);\n\n\t\t// overflow menu width is 160px\n\t\t// it's set by Carbon component\n\t\tconst overflowMenuWidth = 160;\n\t\t// no good solution to get correct Toolbar position\n\t\t// parent x doesn't work well\n\t\t// assume the overflow icon has right alignment in layout\n\t\tthis.overflowMenuX = width - overflowMenuWidth;\n\t\tthis.overflowMenuY = parentY + Y_OFFSET + buttonSize;\n\t\tconst container = DOMUtils.appendOrSelect(svg, 'svg.toolbar-container')\n\t\t\t.attr('width', '100%')\n\t\t\t.attr('height', Configuration.toolbar.height)\n\t\t\t.attr('opacity', 1);\n\n\t\t// clean children first\n\t\tcontainer.html(null);\n\n\t\t// get the toolbar buttons\n\t\tconst { buttonList, overflowMenuItemList } = this.getControlConfigs();\n\n\t\t// overflow button is required only if overflow menu item list is valid\n\t\tif (!!overflowMenuItemList) {\n\t\t\tbuttonList.push(this.getOverflowButtonConfig());\n\t\t}\n\n\t\t// loading or empty state\n\t\tif (isDataLoading || buttonList.length === 0) {\n\t\t\t// put an empty rect to keep space unchanged\n\t\t\tDOMUtils.appendOrSelect(container, 'svg.toolbar-loading-spacer')\n\t\t\t\t.append('rect')\n\t\t\t\t.attr('height', Configuration.toolbar.height)\n\t\t\t\t.attr('width', buttonSize * 3) // value doesn't matter but can't be empty\n\t\t\t\t.attr('opacity', 0);\n\t\t} else {\n\t\t\t// render toolbar buttons sequentially\n\t\t\tlet buttonXPosition = 0;\n\t\t\tbuttonList.forEach((button) => {\n\t\t\t\t// button container\n\t\t\t\tconst buttonContainer = DOMUtils.appendOrSelect(\n\t\t\t\t\tcontainer,\n\t\t\t\t\t`svg.${button.id}`\n\t\t\t\t).classed('toolbar-button', true);\n\n\t\t\t\t// add button background rect\n\t\t\t\tconst buttonBackground = DOMUtils.appendOrSelect(\n\t\t\t\t\tbuttonContainer,\n\t\t\t\t\t'rect.toolbar-button-background'\n\t\t\t\t)\n\t\t\t\t\t.attr('x', buttonXPosition)\n\t\t\t\t\t.attr('y', 0)\n\t\t\t\t\t.attr('width', buttonSize)\n\t\t\t\t\t.attr('height', buttonSize);\n\n\t\t\t\tconst buttonIcon = DOMUtils.appendOrSelect(\n\t\t\t\t\tbuttonContainer,\n\t\t\t\t\t'svg.toolbar-button-icon'\n\t\t\t\t)\n\t\t\t\t\t.attr(\n\t\t\t\t\t\t'x',\n\t\t\t\t\t\tbuttonXPosition + Configuration.toolbar.iconPadding\n\t\t\t\t\t)\n\t\t\t\t\t.attr('y', Configuration.toolbar.iconPadding)\n\t\t\t\t\t.attr('width', Configuration.toolbar.iconSize)\n\t\t\t\t\t.attr('height', Configuration.toolbar.iconSize)\n\t\t\t\t\t.attr('viewBox', '0 0 32 32')\n\t\t\t\t\t.attr('role', Roles.IMG);\n\n\t\t\t\tbuttonIcon.html(button.iconSVGContent);\n\t\t\t\tif (button.shouldBeDisabled()) {\n\t\t\t\t\tbuttonContainer\n\t\t\t\t\t\t.classed('toolbar-button--disabled', true)\n\t\t\t\t\t\t.classed('toolbar-button--focusable', false)\n\t\t\t\t\t\t.attr('tabindex', -1)\n\t\t\t\t\t\t.attr('role', null);\n\t\t\t\t\tbuttonIcon.classed('toolbar-button-icon--disabled', true);\n\t\t\t\t\tbuttonBackground.classed(\n\t\t\t\t\t\t'toolbar-button-background--disabled',\n\t\t\t\t\t\ttrue\n\t\t\t\t\t);\n\t\t\t\t\tbuttonContainer.on('click', null).on('keyup', null);\n\t\t\t\t} else {\n\t\t\t\t\tbuttonContainer\n\t\t\t\t\t\t.classed('toolbar-button--disabled', false)\n\t\t\t\t\t\t.classed('toolbar-button--focusable', true)\n\t\t\t\t\t\t.attr('tabindex', 0)\n\t\t\t\t\t\t.attr('role', Roles.BUTTON);\n\t\t\t\t\tbuttonIcon.classed('toolbar-button-icon--disabled', false);\n\t\t\t\t\tbuttonBackground.classed(\n\t\t\t\t\t\t'toolbar-button-background--disabled',\n\t\t\t\t\t\tfalse\n\t\t\t\t\t);\n\t\t\t\t\tbuttonContainer\n\t\t\t\t\t\t.on('click', button.clickFunction)\n\t\t\t\t\t\t.on('keyup', () => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t(event.key && event.key === 'Enter') ||\n\t\t\t\t\t\t\t\tevent.key === ' '\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\t\t\t\tbutton.clickFunction();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbuttonXPosition += buttonSize;\n\t\t\t});\n\n\t\t\tthis.overflowButton = this.getContainerSVG().select(\n\t\t\t\t'svg.toolbar-overflow-menu'\n\t\t\t);\n\n\t\t\tif (this.isOverflowMenuOpen()) {\n\t\t\t\t// keep overflow menu displayed\n\t\t\t\tthis.updateOverflowMenu(true);\n\t\t\t}\n\t\t}\n\t}\n\n\tisOverflowMenuOpen() {\n\t\treturn (\n\t\t\tthis.overflowMenu\n\t\t\t\t.selectAll('ul.bx--overflow-menu-options--open')\n\t\t\t\t.size() > 0\n\t\t);\n\t}\n\n\t// show/hide overflow menu\n\tupdateOverflowMenu(show: boolean) {\n\t\t// update overflow button background\n\t\tif (this.overflowButton) {\n\t\t\tthis.overflowButton.classed('toolbar-button--hovered', show);\n\t\t}\n\t\tif (show) {\n\t\t\tthis.services.events.dispatchEvent(\n\t\t\t\tEvents.Toolbar.SHOW_OVERFLOW_MENU\n\t\t\t);\n\t\t} else {\n\t\t\tthis.services.events.dispatchEvent(\n\t\t\t\tEvents.Toolbar.HIDE_OVERFLOW_MENU\n\t\t\t);\n\t\t}\n\t}\n\n\tfocusOnPreviousEnabledMenuItem(currentItemIndex) {\n\t\tconst overflowMenuItems = this.getOverflowMenuItems();\n\t\tlet previousItemIndex = overflowMenuItems.length;\n\t\tfor (let i = currentItemIndex - 1; i >= 0; i--) {\n\t\t\tconst previousOverflowMenuItem = overflowMenuItems[i];\n\t\t\tif (!previousOverflowMenuItem.shouldBeDisabled()) {\n\t\t\t\tpreviousItemIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// only if previous enabled menu item found\n\t\tif (previousItemIndex < overflowMenuItems.length) {\n\t\t\tconst previousItemNode = select(\n\t\t\t\t'#' +\n\t\t\t\t\toverflowMenuItems[previousItemIndex].id +\n\t\t\t\t\tthis.overflowMenuItemId\n\t\t\t).node();\n\t\t\tif ('focus' in previousItemNode) {\n\t\t\t\tpreviousItemNode.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tfocusOnNextEnabledMenuItem(currentItemIndex) {\n\t\tconst overflowMenuItems = this.getOverflowMenuItems();\n\t\tlet nextItemIndex = -1;\n\t\tfor (let i = currentItemIndex + 1; i < overflowMenuItems.length; i++) {\n\t\t\tconst nextOverflowMenuItem = overflowMenuItems[i];\n\t\t\tif (!nextOverflowMenuItem.shouldBeDisabled()) {\n\t\t\t\tnextItemIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// only if next enabled menu item found\n\t\tif (nextItemIndex > -1) {\n\t\t\tconst nextItemNode = select(\n\t\t\t\t'#' +\n\t\t\t\t\toverflowMenuItems[nextItemIndex].id +\n\t\t\t\t\tthis.overflowMenuItemId\n\t\t\t).node();\n\t\t\tif ('focus' in nextItemNode) {\n\t\t\t\tnextItemNode.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\ttoggleOverflowMenu() {\n\t\tif (this.isOverflowMenuOpen()) {\n\t\t\t// hide overflow menu\n\t\t\tthis.updateOverflowMenu(false);\n\t\t} else {\n\t\t\t// show overflow menu\n\t\t\tthis.updateOverflowMenu(true);\n\n\t\t\t// setup overflow menu item event listener\n\t\t\tconst self = this;\n\t\t\tconst overflowMenuItems = this.getOverflowMenuItems();\n\t\t\toverflowMenuItems.forEach((menuItem, index) => {\n\t\t\t\tconst element = select(\n\t\t\t\t\t'#' + menuItem.id + this.overflowMenuItemId\n\t\t\t\t);\n\t\t\t\tif (element !== null) {\n\t\t\t\t\telement.on('click', () => {\n\t\t\t\t\t\t// call the specified function\n\t\t\t\t\t\tmenuItem.clickFunction();\n\n\t\t\t\t\t\t// hide overflow menu\n\t\t\t\t\t\tself.updateOverflowMenu(false);\n\t\t\t\t\t});\n\t\t\t\t\telement.on('keyup', () => {\n\t\t\t\t\t\tif (event.key === 'Enter') {\n\t\t\t\t\t\t\t// call the specified function\n\t\t\t\t\t\t\tmenuItem.clickFunction();\n\t\t\t\t\t\t} else if (event.key === 'ArrowUp') {\n\t\t\t\t\t\t\t// focus on previous menu item\n\t\t\t\t\t\t\tself.focusOnPreviousEnabledMenuItem(index);\n\t\t\t\t\t\t} else if (event.key === 'ArrowDown') {\n\t\t\t\t\t\t\t// focus on next menu item\n\t\t\t\t\t\t\tself.focusOnNextEnabledMenuItem(index);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Not hide overflow menu by keyboard arrow up/down event\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// default to focus on the first enabled menu item\n\t\t\tself.focusOnNextEnabledMenuItem(-1);\n\t\t}\n\t\tevent.stopImmediatePropagation();\n\t}\n\n\tgetOverflowMenuHTML() {\n\t\tconst overflowMenuItems = this.getOverflowMenuItems();\n\t\t// don't render whole overflow menu if no overflow menu item\n\t\tif (!overflowMenuItems || overflowMenuItems.length === 0) {\n\t\t\treturn '';\n\t\t}\n\n\t\tlet overflowMenuHtml;\n\t\toverflowMenuHtml = `<div data-floating-menu-container=\"true\" data-floating-menu-direction=\"bottom\" role=\"main\">\n\t\t\t<ul class=\"bx--overflow-menu-options bx--overflow-menu--flip bx--overflow-menu-options--open\"\n\t\t\t\ttabindex=\"-1\" role=\"${Roles.MENU}\" aria-label=\"Menu\" data-floating-menu-direction=\"bottom\"\n\t\t\t\tstyle=\"left:${this.overflowMenuX}px; top:${this.overflowMenuY}px;\">`;\n\n\t\t// generate html for each overflow menu items\n\t\toverflowMenuItems.forEach((menuItem, index) => {\n\t\t\tconst menuItemClasses = 'bx--overflow-menu-options__option'.concat(\n\t\t\t\tmenuItem.shouldBeDisabled()\n\t\t\t\t\t? ' bx--overflow-menu-options__option--disabled' // class for disabled menu item\n\t\t\t\t\t: ''\n\t\t\t);\n\t\t\toverflowMenuHtml += `<li class=\"${menuItemClasses}\" role=\"${\n\t\t\t\tRoles.MENU_ITEM\n\t\t\t}\">\n\t\t\t\t<button class=\"bx--overflow-menu-options__btn\"\n\t\t\t\t\tdata-floating-menu-primary-focus=\"${index === 0}\"\n\t\t\t\t\ttabindex=\"-1\" index=\"${index}\" title=\"${menuItem.text}\"\n\t\t\t\t\tid=\"${menuItem.id + this.overflowMenuItemId}\">\n\t\t\t\t\t<div class=\"bx--overflow-menu-options__option-content\">\n\t\t\t\t\t\t${menuItem.text}\n\t\t\t\t\t</div>\n\t\t\t\t</button>\n\t\t\t</li>`;\n\t\t});\n\n\t\toverflowMenuHtml += `</ul></div>`;\n\t\treturn overflowMenuHtml;\n\t}\n\n\tgetControlConfigs() {\n\t\tconst numberOfIcons = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t'toolbar',\n\t\t\t'numberOfIcons'\n\t\t);\n\t\tconst controls = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t'toolbar',\n\t\t\t'controls'\n\t\t);\n\t\tconst controlList = [];\n\t\tcontrols.forEach((control) => {\n\t\t\tconst controlConfig = this.getControlConfigByType(control.type);\n\n\t\t\t// add to list if config is valid\n\t\t\tif (controlConfig) {\n\t\t\t\tcontrolConfig.text = control.text ? control.text : control.type;\n\t\t\t\tcontrolList.push(controlConfig);\n\t\t\t}\n\t\t});\n\n\t\tif (controlList.length <= numberOfIcons) {\n\t\t\treturn {\n\t\t\t\tbuttonList: controlList,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\t// leave one button for overflow button\n\t\t\tbuttonList: controlList.splice(0, numberOfIcons - 1),\n\t\t\toverflowMenuItemList: controlList,\n\t\t};\n\t}\n\n\tgetOverflowMenuItems() {\n\t\tconst { overflowMenuItemList } = this.getControlConfigs();\n\t\tif (!!overflowMenuItemList) {\n\t\t\treturn overflowMenuItemList;\n\t\t} else {\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t// special button config for overflow button\n\tgetOverflowButtonConfig() {\n\t\treturn {\n\t\t\tid: 'toolbar-overflow-menu',\n\t\t\tshouldBeDisabled: () => false,\n\t\t\ticonSVGContent: `<circle cx=\"16\" cy=\"8\" r=\"2\"></circle>\n\t\t\t\t\t\t\t <circle cx=\"16\" cy=\"16\" r=\"2\"></circle>\n\t\t\t\t\t\t\t <circle cx=\"16\" cy=\"24\" r=\"2\"></circle>`,\n\t\t\tclickFunction: () => this.toggleOverflowMenu(),\n\t\t};\n\t}\n\n\tgetControlConfigByType(controlType: ToolbarControlTypes) {\n\t\tconst isZoomBarEnabled =\n\t\t\tthis.services.zoom.isZoomBarEnabled() &&\n\t\t\t!this.services.zoom.isEmptyState();\n\n\t\tlet controlConfig;\n\t\tswitch (controlType) {\n\t\t\tcase ToolbarControlTypes.ZOOM_IN:\n\t\t\t\tif (isZoomBarEnabled) {\n\t\t\t\t\tcontrolConfig = {\n\t\t\t\t\t\tid: 'toolbar-zoomIn',\n\t\t\t\t\t\tshouldBeDisabled: () =>\n\t\t\t\t\t\t\tthis.services.zoom.isMinZoomDomain(),\n\t\t\t\t\t\ticonSVGContent: this.getControlIconByType(controlType),\n\t\t\t\t\t\tclickFunction: () => this.services.zoom.zoomIn(),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ToolbarControlTypes.ZOOM_OUT:\n\t\t\t\tif (isZoomBarEnabled) {\n\t\t\t\t\tcontrolConfig = {\n\t\t\t\t\t\tid: 'toolbar-zoomOut',\n\t\t\t\t\t\tshouldBeDisabled: () =>\n\t\t\t\t\t\t\tthis.services.zoom.isMaxZoomDomain(),\n\t\t\t\t\t\ticonSVGContent: this.getControlIconByType(controlType),\n\t\t\t\t\t\tclickFunction: () => this.services.zoom.zoomOut(),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ToolbarControlTypes.RESET_ZOOM:\n\t\t\t\tif (isZoomBarEnabled) {\n\t\t\t\t\tcontrolConfig = {\n\t\t\t\t\t\tid: 'toolbar-resetZoom',\n\t\t\t\t\t\tshouldBeDisabled: () =>\n\t\t\t\t\t\t\tthis.services.zoom.isMaxZoomDomain(),\n\t\t\t\t\t\ticonSVGContent: this.getControlIconByType(controlType),\n\t\t\t\t\t\tclickFunction: () =>\n\t\t\t\t\t\t\tthis.services.zoom.resetZoomDomain(),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t// add more toolbar control configuration here\n\n\t\t\tdefault:\n\t\t\t\tthrow Error(\n\t\t\t\t\t'Not supported toolbar control type: ' + controlType\n\t\t\t\t);\n\t\t}\n\t\treturn controlConfig;\n\t}\n\n\tgetControlIconByType(controlType: ToolbarControlTypes) {\n\t\tswitch (controlType) {\n\t\t\tcase ToolbarControlTypes.ZOOM_IN:\n\t\t\t\treturn `<polygon points=\"19 13 15 13 15 9 13 9 13 13 9 13 9 15 13 15 13 19 15 19 15 15 19 15 19 13\"/>\n \t\t\t\t\t<path d=\"M22.45,21A10.87,10.87,0,0,0,25,14,11,11,0,1,0,14,25a10.87,10.87,0,0,0,7-2.55L28.59,30,30,28.59ZM14,23a9,9,0,1,1,9-9A9,9,0,0,1,14,23Z\"/>`;\n\t\t\tcase ToolbarControlTypes.ZOOM_OUT:\n\t\t\t\treturn `<rect x=\"9\" y=\"13\" width=\"10\" height=\"2\"/>\n\t\t\t\t\t\t<path d=\"M22.45,21A10.87,10.87,0,0,0,25,14,11,11,0,1,0,14,25a10.87,10.87,0,0,0,7-2.55L28.59,30,30,28.59ZM14,23a9,9,0,1,1,9-9A9,9,0,0,1,14,23Z\"/>`;\n\t\t\tcase ToolbarControlTypes.RESET_ZOOM:\n\t\t\t\treturn `<path d=\"M22.4478,21A10.855,10.855,0,0,0,25,14,10.99,10.99,0,0,0,6,6.4658V2H4v8h8V8H7.332a8.9768,8.9768,0,1,1-2.1,8H3.1912A11.0118,11.0118,0,0,0,14,25a10.855,10.855,0,0,0,7-2.5522L28.5859,30,30,28.5859Z\"/>`;\n\n\t\t\t// add more icons here\n\t\t\t// svg icon must be with 32x32 viewBox\n\n\t\t\tdefault:\n\t\t\t\tthrow Error(\n\t\t\t\t\t'Not supported toolbar control type: ' + controlType\n\t\t\t\t);\n\t\t}\n\t}\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { Component } from "../component";
2
- import { Threshold } from "../essentials/threshold";
1
+ import { Component } from '../component';
2
+ import { Threshold } from '../essentials/threshold';
3
3
  export declare class TwoDimensionalAxes extends Component {
4
4
  type: string;
5
5
  children: any;
@@ -23,25 +23,25 @@ var __assign = (this && this.__assign) || function () {
23
23
  return __assign.apply(this, arguments);
24
24
  };
25
25
  // Internal Imports
26
- import { Component } from "../component";
27
- import { AxisPositions } from "../../interfaces";
28
- import { Axis } from "./axis";
29
- import { Tools } from "../../tools";
30
- import { DOMUtils } from "../../services";
31
- import { Threshold } from "../essentials/threshold";
32
- import { Events } from "./../../interfaces";
26
+ import { Component } from '../component';
27
+ import { AxisPositions } from '../../interfaces';
28
+ import { Axis } from './axis';
29
+ import { Tools } from '../../tools';
30
+ import { DOMUtils } from '../../services';
31
+ import { Threshold } from '../essentials/threshold';
32
+ import { Events } from './../../interfaces';
33
33
  var TwoDimensionalAxes = /** @class */ (function (_super) {
34
34
  __extends(TwoDimensionalAxes, _super);
35
35
  function TwoDimensionalAxes() {
36
36
  var _this = _super !== null && _super.apply(this, arguments) || this;
37
- _this.type = "2D-axes";
37
+ _this.type = '2D-axes';
38
38
  _this.children = {};
39
39
  _this.thresholds = [];
40
40
  _this.margins = {
41
41
  top: 0,
42
42
  right: 0,
43
43
  bottom: 0,
44
- left: 0
44
+ left: 0,
45
45
  };
46
46
  return _this;
47
47
  }
@@ -50,7 +50,7 @@ var TwoDimensionalAxes = /** @class */ (function (_super) {
50
50
  if (animate === void 0) { animate = false; }
51
51
  var axes = {};
52
52
  var axisPositions = Object.keys(AxisPositions);
53
- var axesOptions = Tools.getProperty(this.getOptions(), "axes");
53
+ var axesOptions = Tools.getProperty(this.getOptions(), 'axes');
54
54
  axisPositions.forEach(function (axisPosition) {
55
55
  var axisOptions = axesOptions[AxisPositions[axisPosition]];
56
56
  if (axisOptions) {
@@ -66,7 +66,7 @@ var TwoDimensionalAxes = /** @class */ (function (_super) {
66
66
  var axisComponent = new Axis(_this.model, _this.services, {
67
67
  position: axisPosition,
68
68
  axes: _this.configs.axes,
69
- margins: _this.margins
69
+ margins: _this.margins,
70
70
  });
71
71
  // Set model, services & parent for the new axis component
72
72
  axisComponent.setModel(_this.model);
@@ -96,7 +96,7 @@ var TwoDimensionalAxes = /** @class */ (function (_super) {
96
96
  }
97
97
  else {
98
98
  offset = DOMUtils.getSVGElementSize(child.getTitleRef(), {
99
- useBBox: true
99
+ useBBox: true,
100
100
  }).height;
101
101
  if (axisPosition === AxisPositions.LEFT ||
102
102
  axisPosition === AxisPositions.RIGHT) {
@@ -138,7 +138,7 @@ var TwoDimensionalAxes = /** @class */ (function (_super) {
138
138
  };
139
139
  TwoDimensionalAxes.prototype.addAxisThresholds = function (animate, axisPosition) {
140
140
  var _this = this;
141
- var axesOptions = Tools.getProperty(this.getOptions(), "axes", axisPosition);
141
+ var axesOptions = Tools.getProperty(this.getOptions(), 'axes', axisPosition);
142
142
  var thresholds = axesOptions.thresholds;
143
143
  if (thresholds) {
144
144
  thresholds.forEach(function (thresholdConfig, i) {