@cloudscape-design/components 3.0.220 → 3.0.222

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 (1000) hide show
  1. package/alert/index.js +4 -4
  2. package/alert/index.js.map +1 -1
  3. package/alert/internal.js +14 -15
  4. package/alert/internal.js.map +1 -1
  5. package/annotation-context/annotation/annotation-icon.js +1 -2
  6. package/annotation-context/annotation/annotation-icon.js.map +1 -1
  7. package/annotation-context/annotation/annotation-popover.js +6 -7
  8. package/annotation-context/annotation/annotation-popover.js.map +1 -1
  9. package/annotation-context/annotation/annotation-trigger.js +4 -6
  10. package/annotation-context/annotation/annotation-trigger.js.map +1 -1
  11. package/annotation-context/annotation/closed-annotation.js +4 -5
  12. package/annotation-context/annotation/closed-annotation.js.map +1 -1
  13. package/annotation-context/annotation/open-annotation.js +2 -3
  14. package/annotation-context/annotation/open-annotation.js.map +1 -1
  15. package/annotation-context/context.js +7 -7
  16. package/annotation-context/context.js.map +1 -1
  17. package/annotation-context/index.js +62 -69
  18. package/annotation-context/index.js.map +1 -1
  19. package/app-layout/content-wrapper/index.js +2 -3
  20. package/app-layout/content-wrapper/index.js.map +1 -1
  21. package/app-layout/defaults.js +13 -14
  22. package/app-layout/defaults.js.map +1 -1
  23. package/app-layout/drawer.js +16 -18
  24. package/app-layout/drawer.js.map +1 -1
  25. package/app-layout/index.js +111 -113
  26. package/app-layout/index.js.map +1 -1
  27. package/app-layout/mobile-toolbar/index.js +7 -9
  28. package/app-layout/mobile-toolbar/index.js.map +1 -1
  29. package/app-layout/navigation-panel.js +5 -8
  30. package/app-layout/navigation-panel.js.map +1 -1
  31. package/app-layout/notifications/index.js +2 -2
  32. package/app-layout/notifications/index.js.map +1 -1
  33. package/app-layout/toggles/index.js +14 -22
  34. package/app-layout/toggles/index.js.map +1 -1
  35. package/app-layout/tools-and-split-panel.js +6 -9
  36. package/app-layout/tools-and-split-panel.js.map +1 -1
  37. package/app-layout/utils/use-content-height.js +14 -15
  38. package/app-layout/utils/use-content-height.js.map +1 -1
  39. package/app-layout/utils/use-content-width.js +8 -8
  40. package/app-layout/utils/use-content-width.js.map +1 -1
  41. package/app-layout/utils/use-focus-control.js +7 -8
  42. package/app-layout/utils/use-focus-control.js.map +1 -1
  43. package/app-layout/utils/use-observed-element.js +3 -3
  44. package/app-layout/utils/use-observed-element.js.map +1 -1
  45. package/app-layout/utils/use-window-width.js +4 -4
  46. package/app-layout/utils/use-window-width.js.map +1 -1
  47. package/app-layout/visual-refresh/app-bar.js +19 -20
  48. package/app-layout/visual-refresh/app-bar.js.map +1 -1
  49. package/app-layout/visual-refresh/background.js +9 -10
  50. package/app-layout/visual-refresh/background.js.map +1 -1
  51. package/app-layout/visual-refresh/context.js +101 -59
  52. package/app-layout/visual-refresh/context.js.map +1 -1
  53. package/app-layout/visual-refresh/header.js +6 -7
  54. package/app-layout/visual-refresh/header.js.map +1 -1
  55. package/app-layout/visual-refresh/index.js +3 -4
  56. package/app-layout/visual-refresh/index.js.map +1 -1
  57. package/app-layout/visual-refresh/layout.js +18 -21
  58. package/app-layout/visual-refresh/layout.js.map +1 -1
  59. package/app-layout/visual-refresh/main.js +17 -18
  60. package/app-layout/visual-refresh/main.js.map +1 -1
  61. package/app-layout/visual-refresh/navigation.js +22 -24
  62. package/app-layout/visual-refresh/navigation.js.map +1 -1
  63. package/app-layout/visual-refresh/notifications.js +6 -7
  64. package/app-layout/visual-refresh/notifications.js.map +1 -1
  65. package/app-layout/visual-refresh/split-panel.js +36 -43
  66. package/app-layout/visual-refresh/split-panel.js.map +1 -1
  67. package/app-layout/visual-refresh/tools.js +32 -34
  68. package/app-layout/visual-refresh/tools.js.map +1 -1
  69. package/app-layout/visual-refresh/trigger-button.js +5 -8
  70. package/app-layout/visual-refresh/trigger-button.js.map +1 -1
  71. package/area-chart/chart-container.js +18 -19
  72. package/area-chart/chart-container.js.map +1 -1
  73. package/area-chart/elements/area-chart-filter.js +7 -8
  74. package/area-chart/elements/area-chart-filter.js.map +1 -1
  75. package/area-chart/elements/area-chart-legend.js +6 -9
  76. package/area-chart/elements/area-chart-legend.js.map +1 -1
  77. package/area-chart/elements/area-series.js +12 -13
  78. package/area-chart/elements/area-series.js.map +1 -1
  79. package/area-chart/elements/chart-popover.js +4 -6
  80. package/area-chart/elements/chart-popover.js.map +1 -1
  81. package/area-chart/elements/data-series.js +14 -17
  82. package/area-chart/elements/data-series.js.map +1 -1
  83. package/area-chart/elements/highlighted-point.js +6 -7
  84. package/area-chart/elements/highlighted-point.js.map +1 -1
  85. package/area-chart/elements/threshold-series.js +5 -7
  86. package/area-chart/elements/threshold-series.js.map +1 -1
  87. package/area-chart/elements/use-highlight-details.js +28 -30
  88. package/area-chart/elements/use-highlight-details.js.map +1 -1
  89. package/area-chart/elements/vertical-marker.js +6 -7
  90. package/area-chart/elements/vertical-marker.js.map +1 -1
  91. package/area-chart/index.js +4 -4
  92. package/area-chart/index.js.map +1 -1
  93. package/area-chart/internal.js +40 -41
  94. package/area-chart/internal.js.map +1 -1
  95. package/area-chart/model/async-store.js +23 -30
  96. package/area-chart/model/async-store.js.map +1 -1
  97. package/area-chart/model/compute-chart-props.js +11 -12
  98. package/area-chart/model/compute-chart-props.js.map +1 -1
  99. package/area-chart/model/create-series-decorator.js +11 -13
  100. package/area-chart/model/create-series-decorator.js.map +1 -1
  101. package/area-chart/model/interactions-store.js +47 -54
  102. package/area-chart/model/interactions-store.js.map +1 -1
  103. package/area-chart/model/use-chart-model.js +85 -89
  104. package/area-chart/model/use-chart-model.js.map +1 -1
  105. package/area-chart/model/use-filter-props.js +6 -6
  106. package/area-chart/model/use-filter-props.js.map +1 -1
  107. package/area-chart/model/use-highlight-props.js +6 -6
  108. package/area-chart/model/use-highlight-props.js.map +1 -1
  109. package/area-chart/model/utils.js +46 -59
  110. package/area-chart/model/utils.js.map +1 -1
  111. package/attribute-editor/additional-info.js +2 -5
  112. package/attribute-editor/additional-info.js.map +1 -1
  113. package/attribute-editor/index.js +5 -5
  114. package/attribute-editor/index.js.map +1 -1
  115. package/attribute-editor/internal.js +20 -20
  116. package/attribute-editor/internal.js.map +1 -1
  117. package/attribute-editor/row.js +17 -25
  118. package/attribute-editor/row.js.map +1 -1
  119. package/autosuggest/autosuggest-option.js +12 -12
  120. package/autosuggest/autosuggest-option.js.map +1 -1
  121. package/autosuggest/index.js +6 -6
  122. package/autosuggest/index.js.map +1 -1
  123. package/autosuggest/internal.js +39 -39
  124. package/autosuggest/internal.js.map +1 -1
  125. package/autosuggest/load-more-controller.js +10 -14
  126. package/autosuggest/load-more-controller.js.map +1 -1
  127. package/autosuggest/options-controller.js +31 -32
  128. package/autosuggest/options-controller.js.map +1 -1
  129. package/autosuggest/options-list.js +12 -13
  130. package/autosuggest/options-list.js.map +1 -1
  131. package/autosuggest/plain-list.js +15 -17
  132. package/autosuggest/plain-list.js.map +1 -1
  133. package/autosuggest/utils/utils.js +12 -12
  134. package/autosuggest/utils/utils.js.map +1 -1
  135. package/autosuggest/virtual-list.js +14 -16
  136. package/autosuggest/virtual-list.js.map +1 -1
  137. package/badge/index.js +6 -6
  138. package/badge/index.js.map +1 -1
  139. package/bar-chart/index.js +6 -6
  140. package/bar-chart/index.js.map +1 -1
  141. package/box/index.js +4 -4
  142. package/box/index.js.map +1 -1
  143. package/box/internal.js +12 -12
  144. package/box/internal.js.map +1 -1
  145. package/breadcrumb-group/index.js +4 -4
  146. package/breadcrumb-group/index.js.map +1 -1
  147. package/breadcrumb-group/internal.js +24 -25
  148. package/breadcrumb-group/internal.js.map +1 -1
  149. package/breadcrumb-group/item/item.js +32 -34
  150. package/breadcrumb-group/item/item.js.map +1 -1
  151. package/button/icon-helper.js +6 -6
  152. package/button/icon-helper.js.map +1 -1
  153. package/button/index.js +6 -6
  154. package/button/index.js.map +1 -1
  155. package/button/internal.js +32 -33
  156. package/button/internal.js.map +1 -1
  157. package/button-dropdown/category-elements/category-element.js +3 -5
  158. package/button-dropdown/category-elements/category-element.js.map +1 -1
  159. package/button-dropdown/category-elements/expandable-category-element.js +23 -26
  160. package/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  161. package/button-dropdown/category-elements/mobile-expandable-category-element.js +27 -30
  162. package/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  163. package/button-dropdown/index.js +6 -6
  164. package/button-dropdown/index.js.map +1 -1
  165. package/button-dropdown/internal.js +28 -29
  166. package/button-dropdown/internal.js.map +1 -1
  167. package/button-dropdown/item-element/index.js +30 -36
  168. package/button-dropdown/item-element/index.js.map +1 -1
  169. package/button-dropdown/items-list.js +3 -4
  170. package/button-dropdown/items-list.js.map +1 -1
  171. package/button-dropdown/mobile-expandable-group/mobile-expandable-group.js +2 -4
  172. package/button-dropdown/mobile-expandable-group/mobile-expandable-group.js.map +1 -1
  173. package/button-dropdown/tooltip.js +22 -24
  174. package/button-dropdown/tooltip.js.map +1 -1
  175. package/button-dropdown/utils/create-items-tree.js +21 -23
  176. package/button-dropdown/utils/create-items-tree.js.map +1 -1
  177. package/button-dropdown/utils/menu-item.js +6 -9
  178. package/button-dropdown/utils/menu-item.js.map +1 -1
  179. package/button-dropdown/utils/move-highlight.js +3 -4
  180. package/button-dropdown/utils/move-highlight.js.map +1 -1
  181. package/button-dropdown/utils/use-button-dropdown.js +31 -33
  182. package/button-dropdown/utils/use-button-dropdown.js.map +1 -1
  183. package/button-dropdown/utils/use-hidden-description.js +3 -3
  184. package/button-dropdown/utils/use-hidden-description.js.map +1 -1
  185. package/button-dropdown/utils/use-highlighted-menu.js +40 -42
  186. package/button-dropdown/utils/use-highlighted-menu.js.map +1 -1
  187. package/button-dropdown/utils/utils.js +5 -9
  188. package/button-dropdown/utils/utils.js.map +1 -1
  189. package/calendar/grid/index.js +25 -28
  190. package/calendar/grid/index.js.map +1 -1
  191. package/calendar/header/header-button.js +4 -6
  192. package/calendar/header/header-button.js.map +1 -1
  193. package/calendar/header/index.js +1 -2
  194. package/calendar/header/index.js.map +1 -1
  195. package/calendar/index.js +4 -4
  196. package/calendar/index.js.map +1 -1
  197. package/calendar/internal.js +27 -27
  198. package/calendar/internal.js.map +1 -1
  199. package/calendar/utils/intl.js +12 -13
  200. package/calendar/utils/intl.js.map +1 -1
  201. package/calendar/utils/navigation.js +3 -3
  202. package/calendar/utils/navigation.js.map +1 -1
  203. package/cards/cards-layout-helper.js +12 -12
  204. package/cards/cards-layout-helper.js.map +1 -1
  205. package/cards/index.js +53 -63
  206. package/cards/index.js.map +1 -1
  207. package/checkbox/index.js +4 -4
  208. package/checkbox/index.js.map +1 -1
  209. package/checkbox/internal.d.ts +1 -0
  210. package/checkbox/internal.d.ts.map +1 -1
  211. package/checkbox/internal.js +9 -9
  212. package/checkbox/internal.js.map +1 -1
  213. package/code-editor/ace-modes.js +1 -1
  214. package/code-editor/ace-modes.js.map +1 -1
  215. package/code-editor/ace-themes.js +2 -2
  216. package/code-editor/ace-themes.js.map +1 -1
  217. package/code-editor/error-screen.js +3 -4
  218. package/code-editor/error-screen.js.map +1 -1
  219. package/code-editor/index.js +61 -65
  220. package/code-editor/index.js.map +1 -1
  221. package/code-editor/listeners.js +5 -5
  222. package/code-editor/listeners.js.map +1 -1
  223. package/code-editor/loading-screen.js +2 -2
  224. package/code-editor/loading-screen.js.map +1 -1
  225. package/code-editor/pane.js +21 -25
  226. package/code-editor/pane.js.map +1 -1
  227. package/code-editor/preferences-modal.js +12 -13
  228. package/code-editor/preferences-modal.js.map +1 -1
  229. package/code-editor/resizable-box/index.js +14 -15
  230. package/code-editor/resizable-box/index.js.map +1 -1
  231. package/code-editor/setup-editor.js +20 -20
  232. package/code-editor/setup-editor.js.map +1 -1
  233. package/code-editor/status-bar.js +19 -22
  234. package/code-editor/status-bar.js.map +1 -1
  235. package/code-editor/tab-button.js +7 -10
  236. package/code-editor/tab-button.js.map +1 -1
  237. package/code-editor/util.js +6 -6
  238. package/code-editor/util.js.map +1 -1
  239. package/collection-preferences/index.js +21 -23
  240. package/collection-preferences/index.js.map +1 -1
  241. package/collection-preferences/utils.js +25 -57
  242. package/collection-preferences/utils.js.map +1 -1
  243. package/collection-preferences/visible-content.js +23 -27
  244. package/collection-preferences/visible-content.js.map +1 -1
  245. package/column-layout/index.js +6 -6
  246. package/column-layout/index.js.map +1 -1
  247. package/column-layout/internal.js +20 -21
  248. package/column-layout/internal.js.map +1 -1
  249. package/column-layout/util.js +2 -2
  250. package/column-layout/util.js.map +1 -1
  251. package/container/index.js +5 -5
  252. package/container/index.js.map +1 -1
  253. package/container/internal.js +30 -31
  254. package/container/internal.js.map +1 -1
  255. package/container/use-sticky-header.js +25 -25
  256. package/container/use-sticky-header.js.map +1 -1
  257. package/content-layout/index.js +2 -3
  258. package/content-layout/index.js.map +1 -1
  259. package/content-layout/internal.js +15 -16
  260. package/content-layout/internal.js.map +1 -1
  261. package/date-input/index.js +3 -4
  262. package/date-input/index.js.map +1 -1
  263. package/date-input/internal.js +8 -8
  264. package/date-input/internal.js.map +1 -1
  265. package/date-picker/index.js +28 -28
  266. package/date-picker/index.js.map +1 -1
  267. package/date-range-picker/calendar/grids/grid.js +54 -57
  268. package/date-range-picker/calendar/grids/grid.js.map +1 -1
  269. package/date-range-picker/calendar/grids/index.js +27 -28
  270. package/date-range-picker/calendar/grids/index.js.map +1 -1
  271. package/date-range-picker/calendar/header/header-button.js +4 -6
  272. package/date-range-picker/calendar/header/header-button.js.map +1 -1
  273. package/date-range-picker/calendar/header/index.js +6 -7
  274. package/date-range-picker/calendar/header/index.js.map +1 -1
  275. package/date-range-picker/calendar/index.js +40 -45
  276. package/date-range-picker/calendar/index.js.map +1 -1
  277. package/date-range-picker/calendar/range-inputs.js +5 -6
  278. package/date-range-picker/calendar/range-inputs.js.map +1 -1
  279. package/date-range-picker/calendar/utils.js +2 -2
  280. package/date-range-picker/calendar/utils.js.map +1 -1
  281. package/date-range-picker/dropdown.js +29 -34
  282. package/date-range-picker/dropdown.js.map +1 -1
  283. package/date-range-picker/index.js +40 -43
  284. package/date-range-picker/index.js.map +1 -1
  285. package/date-range-picker/mode-switcher.js +2 -3
  286. package/date-range-picker/mode-switcher.js.map +1 -1
  287. package/date-range-picker/relative-range/index.js +36 -40
  288. package/date-range-picker/relative-range/index.js.map +1 -1
  289. package/date-range-picker/time-offset.js +5 -5
  290. package/date-range-picker/time-offset.js.map +1 -1
  291. package/date-range-picker/utils.js +4 -5
  292. package/date-range-picker/utils.js.map +1 -1
  293. package/expandable-section/expandable-section-container.js +5 -5
  294. package/expandable-section/expandable-section-container.js.map +1 -1
  295. package/expandable-section/expandable-section-header.js +18 -23
  296. package/expandable-section/expandable-section-header.js.map +1 -1
  297. package/expandable-section/index.js +4 -4
  298. package/expandable-section/index.js.map +1 -1
  299. package/expandable-section/internal.js +22 -22
  300. package/expandable-section/internal.js.map +1 -1
  301. package/flashbar/collapsible-flashbar.js +103 -118
  302. package/flashbar/collapsible-flashbar.js.map +1 -1
  303. package/flashbar/common.js +26 -35
  304. package/flashbar/common.js.map +1 -1
  305. package/flashbar/constant.js +1 -1
  306. package/flashbar/constant.js.map +1 -1
  307. package/flashbar/flash.js +23 -26
  308. package/flashbar/flash.js.map +1 -1
  309. package/flashbar/index.js +3 -4
  310. package/flashbar/index.js.map +1 -1
  311. package/flashbar/internal/analytics.js +12 -12
  312. package/flashbar/internal/analytics.js.map +1 -1
  313. package/flashbar/non-collapsible-flashbar.js +10 -10
  314. package/flashbar/non-collapsible-flashbar.js.map +1 -1
  315. package/flashbar/utils.js +25 -27
  316. package/flashbar/utils.js.map +1 -1
  317. package/form/index.js +4 -4
  318. package/form/index.js.map +1 -1
  319. package/form/internal.js +5 -6
  320. package/form/internal.js.map +1 -1
  321. package/form-field/index.js +4 -4
  322. package/form-field/index.js.map +1 -1
  323. package/form-field/internal.js +20 -23
  324. package/form-field/internal.js.map +1 -1
  325. package/form-field/util.js +9 -10
  326. package/form-field/util.js.map +1 -1
  327. package/grid/index.js +6 -6
  328. package/grid/index.js.map +1 -1
  329. package/grid/internal.js +14 -15
  330. package/grid/internal.js.map +1 -1
  331. package/header/index.js +4 -4
  332. package/header/index.js.map +1 -1
  333. package/header/internal.js +15 -15
  334. package/header/internal.js.map +1 -1
  335. package/help-panel/index.js +7 -7
  336. package/help-panel/index.js.map +1 -1
  337. package/hotspot/index.js +12 -12
  338. package/hotspot/index.js.map +1 -1
  339. package/icon/icons.js +1 -1
  340. package/icon/index.js +4 -4
  341. package/icon/index.js.map +1 -1
  342. package/icon/internal.js +18 -18
  343. package/icon/internal.js.map +1 -1
  344. package/input/index.js +36 -17
  345. package/input/index.js.map +1 -1
  346. package/input/internal.js +30 -25
  347. package/input/internal.js.map +1 -1
  348. package/input/utils.js +4 -5
  349. package/input/utils.js.map +1 -1
  350. package/internal/animate.js +27 -32
  351. package/internal/animate.js.map +1 -1
  352. package/internal/base-component/index.js +2 -2
  353. package/internal/base-component/index.js.map +1 -1
  354. package/internal/breakpoints.js +7 -12
  355. package/internal/breakpoints.js.map +1 -1
  356. package/internal/components/abstract-switch/index.d.ts +2 -1
  357. package/internal/components/abstract-switch/index.d.ts.map +1 -1
  358. package/internal/components/abstract-switch/index.js +19 -19
  359. package/internal/components/abstract-switch/index.js.map +1 -1
  360. package/internal/components/abstract-switch/styles.css.js +13 -12
  361. package/internal/components/abstract-switch/styles.scoped.css +21 -21
  362. package/internal/components/abstract-switch/styles.selectors.js +13 -12
  363. package/internal/components/autosuggest-input/index.js +38 -38
  364. package/internal/components/autosuggest-input/index.js.map +1 -1
  365. package/internal/components/button-trigger/index.js +7 -7
  366. package/internal/components/button-trigger/index.js.map +1 -1
  367. package/internal/components/cartesian-chart/axis-label.js +1 -2
  368. package/internal/components/cartesian-chart/axis-label.js.map +1 -1
  369. package/internal/components/cartesian-chart/bottom-labels.js +20 -26
  370. package/internal/components/cartesian-chart/bottom-labels.js.map +1 -1
  371. package/internal/components/cartesian-chart/constants.js +5 -5
  372. package/internal/components/cartesian-chart/constants.js.map +1 -1
  373. package/internal/components/cartesian-chart/emphasized-baseline.js +4 -5
  374. package/internal/components/cartesian-chart/emphasized-baseline.js.map +1 -1
  375. package/internal/components/cartesian-chart/highlighted-point.js +1 -2
  376. package/internal/components/cartesian-chart/highlighted-point.js.map +1 -1
  377. package/internal/components/cartesian-chart/label-utils.js +20 -24
  378. package/internal/components/cartesian-chart/label-utils.js.map +1 -1
  379. package/internal/components/cartesian-chart/labels-measure.js +6 -7
  380. package/internal/components/cartesian-chart/labels-measure.js.map +1 -1
  381. package/internal/components/cartesian-chart/left-labels.js +13 -17
  382. package/internal/components/cartesian-chart/left-labels.js.map +1 -1
  383. package/internal/components/cartesian-chart/scales.js +21 -26
  384. package/internal/components/cartesian-chart/scales.js.map +1 -1
  385. package/internal/components/cartesian-chart/ticks.js +9 -10
  386. package/internal/components/cartesian-chart/ticks.js.map +1 -1
  387. package/internal/components/cartesian-chart/vertical-grid-lines.js +3 -4
  388. package/internal/components/cartesian-chart/vertical-grid-lines.js.map +1 -1
  389. package/internal/components/cartesian-chart/vertical-marker.js +3 -4
  390. package/internal/components/cartesian-chart/vertical-marker.js.map +1 -1
  391. package/internal/components/chart-filter/index.js +13 -14
  392. package/internal/components/chart-filter/index.js.map +1 -1
  393. package/internal/components/chart-legend/index.js +26 -29
  394. package/internal/components/chart-legend/index.js.map +1 -1
  395. package/internal/components/chart-plot/application-controller.js +21 -25
  396. package/internal/components/chart-plot/application-controller.js.map +1 -1
  397. package/internal/components/chart-plot/focus-outline.js +7 -8
  398. package/internal/components/chart-plot/focus-outline.js.map +1 -1
  399. package/internal/components/chart-plot/index.js +33 -34
  400. package/internal/components/chart-plot/index.js.map +1 -1
  401. package/internal/components/chart-popover/index.js +11 -12
  402. package/internal/components/chart-popover/index.js.map +1 -1
  403. package/internal/components/chart-series-details/index.js +13 -17
  404. package/internal/components/chart-series-details/index.js.map +1 -1
  405. package/internal/components/chart-series-marker/index.js +2 -3
  406. package/internal/components/chart-series-marker/index.js.map +1 -1
  407. package/internal/components/chart-status-container/index.js +8 -10
  408. package/internal/components/chart-status-container/index.js.map +1 -1
  409. package/internal/components/checkbox-icon/index.js +18 -19
  410. package/internal/components/checkbox-icon/index.js.map +1 -1
  411. package/internal/components/dark-ribbon/index.js +13 -14
  412. package/internal/components/dark-ribbon/index.js.map +1 -1
  413. package/internal/components/dropdown/context.js +4 -5
  414. package/internal/components/dropdown/context.js.map +1 -1
  415. package/internal/components/dropdown/dropdown-fit-handler.js +74 -81
  416. package/internal/components/dropdown/dropdown-fit-handler.js.map +1 -1
  417. package/internal/components/dropdown/index.js +57 -65
  418. package/internal/components/dropdown/index.js.map +1 -1
  419. package/internal/components/dropdown-footer/index.js +2 -6
  420. package/internal/components/dropdown-footer/index.js.map +1 -1
  421. package/internal/components/dropdown-status/index.js +5 -7
  422. package/internal/components/dropdown-status/index.js.map +1 -1
  423. package/internal/components/filtering-token/index.js +4 -6
  424. package/internal/components/filtering-token/index.js.map +1 -1
  425. package/internal/components/focus-lock/index.js +10 -11
  426. package/internal/components/focus-lock/index.js.map +1 -1
  427. package/internal/components/focus-lock/utils.js +4 -4
  428. package/internal/components/focus-lock/utils.js.map +1 -1
  429. package/internal/components/live-region/index.js +10 -10
  430. package/internal/components/live-region/index.js.map +1 -1
  431. package/internal/components/masked-input/index.js +22 -24
  432. package/internal/components/masked-input/index.js.map +1 -1
  433. package/internal/components/masked-input/keyboard-handler.js +18 -18
  434. package/internal/components/masked-input/keyboard-handler.js.map +1 -1
  435. package/internal/components/masked-input/use-mask.js +24 -28
  436. package/internal/components/masked-input/use-mask.js.map +1 -1
  437. package/internal/components/masked-input/utils/keys.js +4 -6
  438. package/internal/components/masked-input/utils/keys.js.map +1 -1
  439. package/internal/components/masked-input/utils/mask-format.js +103 -113
  440. package/internal/components/masked-input/utils/mask-format.js.map +1 -1
  441. package/internal/components/masked-input/utils/strings.js +1 -4
  442. package/internal/components/masked-input/utils/strings.js.map +1 -1
  443. package/internal/components/menu-dropdown/index.js +10 -12
  444. package/internal/components/menu-dropdown/index.js.map +1 -1
  445. package/internal/components/option/highlight-match.js +14 -18
  446. package/internal/components/option/highlight-match.js.map +1 -1
  447. package/internal/components/option/index.js +13 -13
  448. package/internal/components/option/index.js.map +1 -1
  449. package/internal/components/option/option-announcer.js +1 -1
  450. package/internal/components/option/option-announcer.js.map +1 -1
  451. package/internal/components/option/option-parts.js +28 -45
  452. package/internal/components/option/option-parts.js.map +1 -1
  453. package/internal/components/option/utils/filter-options.js +16 -19
  454. package/internal/components/option/utils/filter-options.js.map +1 -1
  455. package/internal/components/option/utils/flatten-options.js +15 -15
  456. package/internal/components/option/utils/flatten-options.js.map +1 -1
  457. package/internal/components/option/utils/prepare-options.js +3 -3
  458. package/internal/components/option/utils/prepare-options.js.map +1 -1
  459. package/internal/components/options-list/index.js +19 -20
  460. package/internal/components/options-list/index.js.map +1 -1
  461. package/internal/components/options-list/utils/test-indexes.js +11 -11
  462. package/internal/components/options-list/utils/test-indexes.js.map +1 -1
  463. package/internal/components/options-list/utils/use-highlight-option.js +17 -21
  464. package/internal/components/options-list/utils/use-highlight-option.js.map +1 -1
  465. package/internal/components/options-list/utils/use-ids.js +2 -2
  466. package/internal/components/options-list/utils/use-ids.js.map +1 -1
  467. package/internal/components/options-list/utils/use-keyboard.js +6 -8
  468. package/internal/components/options-list/utils/use-keyboard.js.map +1 -1
  469. package/internal/components/options-list/utils/use-open-state.js +6 -7
  470. package/internal/components/options-list/utils/use-open-state.js.map +1 -1
  471. package/internal/components/portal/index.js +5 -6
  472. package/internal/components/portal/index.js.map +1 -1
  473. package/internal/components/screenreader-only/index.js +1 -2
  474. package/internal/components/screenreader-only/index.js.map +1 -1
  475. package/internal/components/selectable-item/index.js +25 -26
  476. package/internal/components/selectable-item/index.js.map +1 -1
  477. package/internal/components/tab-trap/index.js +1 -2
  478. package/internal/components/tab-trap/index.js.map +1 -1
  479. package/internal/components/transition/index.js +16 -16
  480. package/internal/components/transition/index.js.map +1 -1
  481. package/internal/components/visual-context/index.js +6 -7
  482. package/internal/components/visual-context/index.js.map +1 -1
  483. package/internal/context/app-layout-context.js +2 -2
  484. package/internal/context/app-layout-context.js.map +1 -1
  485. package/internal/context/form-field-context.js +4 -4
  486. package/internal/context/form-field-context.js.map +1 -1
  487. package/internal/context/split-panel-context.js +3 -3
  488. package/internal/context/split-panel-context.js.map +1 -1
  489. package/internal/debounce.js +6 -11
  490. package/internal/debounce.js.map +1 -1
  491. package/internal/environment.js +1 -1
  492. package/internal/events/index.js +12 -16
  493. package/internal/events/index.js.map +1 -1
  494. package/internal/focus-tracker.js +22 -27
  495. package/internal/focus-tracker.js.map +1 -1
  496. package/internal/generated/custom-css-properties/index.js +2 -2
  497. package/internal/generated/custom-css-properties/index.js.map +1 -1
  498. package/internal/hooks/check-controlled/index.js +1 -1
  499. package/internal/hooks/check-controlled/index.js.map +1 -1
  500. package/internal/hooks/container-queries/use-container-breakpoints.js +2 -2
  501. package/internal/hooks/container-queries/use-container-breakpoints.js.map +1 -1
  502. package/internal/hooks/container-queries/use-container-query.js +5 -6
  503. package/internal/hooks/container-queries/use-container-query.js.map +1 -1
  504. package/internal/hooks/container-queries/use-resize-observer.js +13 -13
  505. package/internal/hooks/container-queries/use-resize-observer.js.map +1 -1
  506. package/internal/hooks/focus-visible/index.js +8 -8
  507. package/internal/hooks/focus-visible/index.js.map +1 -1
  508. package/internal/hooks/forward-focus/index.js +5 -9
  509. package/internal/hooks/forward-focus/index.js.map +1 -1
  510. package/internal/hooks/forward-focus/radio-group.js +7 -7
  511. package/internal/hooks/forward-focus/radio-group.js.map +1 -1
  512. package/internal/hooks/use-base-component/component-metadata.js +5 -5
  513. package/internal/hooks/use-base-component/component-metadata.js.map +1 -1
  514. package/internal/hooks/use-base-component/index.js +1 -1
  515. package/internal/hooks/use-base-component/index.js.map +1 -1
  516. package/internal/hooks/use-controllable/index.js +16 -17
  517. package/internal/hooks/use-controllable/index.js.map +1 -1
  518. package/internal/hooks/use-date-cache/index.js +2 -2
  519. package/internal/hooks/use-date-cache/index.js.map +1 -1
  520. package/internal/hooks/use-debounce-callback/index.js +3 -7
  521. package/internal/hooks/use-debounce-callback/index.js.map +1 -1
  522. package/internal/hooks/use-dynamic-overlap/index.js +4 -4
  523. package/internal/hooks/use-dynamic-overlap/index.js.map +1 -1
  524. package/internal/hooks/use-effect-on-update.js +2 -2
  525. package/internal/hooks/use-effect-on-update.js.map +1 -1
  526. package/internal/hooks/use-focus-tracker.js +7 -8
  527. package/internal/hooks/use-focus-tracker.js.map +1 -1
  528. package/internal/hooks/use-has-rendered/index.js +6 -6
  529. package/internal/hooks/use-has-rendered/index.js.map +1 -1
  530. package/internal/hooks/use-merge-refs/index.js +5 -9
  531. package/internal/hooks/use-merge-refs/index.js.map +1 -1
  532. package/internal/hooks/use-mobile/index.js +7 -7
  533. package/internal/hooks/use-mobile/index.js.map +1 -1
  534. package/internal/hooks/use-mouse-down-target.js +5 -5
  535. package/internal/hooks/use-mouse-down-target.js.map +1 -1
  536. package/internal/hooks/use-mutation-observer/index.js +5 -5
  537. package/internal/hooks/use-mutation-observer/index.js.map +1 -1
  538. package/internal/hooks/use-portal-mode-classes/index.js +10 -12
  539. package/internal/hooks/use-portal-mode-classes/index.js.map +1 -1
  540. package/internal/hooks/use-previous/index.js +3 -3
  541. package/internal/hooks/use-previous/index.js.map +1 -1
  542. package/internal/hooks/use-scroll-sync/index.js +8 -9
  543. package/internal/hooks/use-scroll-sync/index.js.map +1 -1
  544. package/internal/hooks/use-singleton-handler/index.js +12 -14
  545. package/internal/hooks/use-singleton-handler/index.js.map +1 -1
  546. package/internal/hooks/use-stable-event-handler/index.js +3 -10
  547. package/internal/hooks/use-stable-event-handler/index.js.map +1 -1
  548. package/internal/hooks/use-telemetry/index.js +2 -2
  549. package/internal/hooks/use-telemetry/index.js.map +1 -1
  550. package/internal/hooks/use-telemetry/telemetry.js +3 -4
  551. package/internal/hooks/use-telemetry/telemetry.js.map +1 -1
  552. package/internal/hooks/use-unique-id/index.js +3 -3
  553. package/internal/hooks/use-unique-id/index.js.map +1 -1
  554. package/internal/hooks/use-visual-mode/index.js +11 -11
  555. package/internal/hooks/use-visual-mode/index.js.map +1 -1
  556. package/internal/is-development.js +1 -1
  557. package/internal/is-development.js.map +1 -1
  558. package/internal/logging.js +2 -2
  559. package/internal/logging.js.map +1 -1
  560. package/internal/manifest.json +1 -1
  561. package/internal/metrics/log-clients.js +18 -27
  562. package/internal/metrics/log-clients.js.map +1 -1
  563. package/internal/metrics/metrics-formatters.js +11 -14
  564. package/internal/metrics/metrics-formatters.js.map +1 -1
  565. package/internal/metrics/metrics.js +27 -33
  566. package/internal/metrics/metrics.js.map +1 -1
  567. package/internal/motion.js +2 -2
  568. package/internal/motion.js.map +1 -1
  569. package/internal/styles/colors.js +1 -1
  570. package/internal/styles/colors.js.map +1 -1
  571. package/internal/utils/browser-scrollbar-size.js +5 -5
  572. package/internal/utils/browser-scrollbar-size.js.map +1 -1
  573. package/internal/utils/calculate-once.js +2 -2
  574. package/internal/utils/calculate-once.js.map +1 -1
  575. package/internal/utils/check-safe-url.js +4 -4
  576. package/internal/utils/check-safe-url.js.map +1 -1
  577. package/internal/utils/create-category-color-scale.js +6 -9
  578. package/internal/utils/create-category-color-scale.js.map +1 -1
  579. package/internal/utils/date-time/format-date-range.js +3 -3
  580. package/internal/utils/date-time/format-date-range.js.map +1 -1
  581. package/internal/utils/date-time/format-date.js +4 -4
  582. package/internal/utils/date-time/format-date.js.map +1 -1
  583. package/internal/utils/date-time/format-time.js +5 -5
  584. package/internal/utils/date-time/format-time.js.map +1 -1
  585. package/internal/utils/date-time/format-timezone-offset.js +4 -4
  586. package/internal/utils/date-time/format-timezone-offset.js.map +1 -1
  587. package/internal/utils/date-time/is-iso-date-only.js +1 -1
  588. package/internal/utils/date-time/is-iso-date-only.js.map +1 -1
  589. package/internal/utils/date-time/join-date-time.js +3 -3
  590. package/internal/utils/date-time/join-date-time.js.map +1 -1
  591. package/internal/utils/date-time/parse-date.js +5 -6
  592. package/internal/utils/date-time/parse-date.js.map +1 -1
  593. package/internal/utils/date-time/parse-timezone-offset.js +5 -5
  594. package/internal/utils/date-time/parse-timezone-offset.js.map +1 -1
  595. package/internal/utils/date-time/shift-timezone-offset.js +6 -6
  596. package/internal/utils/date-time/shift-timezone-offset.js.map +1 -1
  597. package/internal/utils/dom.js +12 -12
  598. package/internal/utils/dom.js.map +1 -1
  599. package/internal/utils/external-props.js +3 -3
  600. package/internal/utils/external-props.js.map +1 -1
  601. package/internal/utils/focus-svg-element.js +1 -1
  602. package/internal/utils/focus-svg-element.js.map +1 -1
  603. package/internal/utils/locale/merge-locales.js +1 -1
  604. package/internal/utils/locale/merge-locales.js.map +1 -1
  605. package/internal/utils/locale/normalize-locale.js +3 -3
  606. package/internal/utils/locale/normalize-locale.js.map +1 -1
  607. package/internal/utils/promises.js +7 -11
  608. package/internal/utils/promises.js.map +1 -1
  609. package/internal/utils/scrollable-containers.js +14 -18
  610. package/internal/utils/scrollable-containers.js.map +1 -1
  611. package/internal/utils/strings/join-strings.js +1 -5
  612. package/internal/utils/strings/join-strings.js.map +1 -1
  613. package/internal/utils/strings/pad-left-zeros.js +1 -1
  614. package/internal/utils/strings/pad-left-zeros.js.map +1 -1
  615. package/internal/utils/throttle.js +10 -15
  616. package/internal/utils/throttle.js.map +1 -1
  617. package/internal/utils/use-container-width.js +3 -5
  618. package/internal/utils/use-container-width.js.map +1 -1
  619. package/line-chart/index.js +6 -6
  620. package/line-chart/index.js.map +1 -1
  621. package/link/index.js +5 -5
  622. package/link/index.js.map +1 -1
  623. package/link/internal.js +25 -25
  624. package/link/internal.js.map +1 -1
  625. package/mixed-line-bar-chart/bar-groups.js +3 -4
  626. package/mixed-line-bar-chart/bar-groups.js.map +1 -1
  627. package/mixed-line-bar-chart/bar-series.js +24 -33
  628. package/mixed-line-bar-chart/bar-series.js.map +1 -1
  629. package/mixed-line-bar-chart/chart-container.js +123 -138
  630. package/mixed-line-bar-chart/chart-container.js.map +1 -1
  631. package/mixed-line-bar-chart/chart-filters.js +10 -17
  632. package/mixed-line-bar-chart/chart-filters.js.map +1 -1
  633. package/mixed-line-bar-chart/chart-legend.js +9 -13
  634. package/mixed-line-bar-chart/chart-legend.js.map +1 -1
  635. package/mixed-line-bar-chart/chart-popover.js +3 -4
  636. package/mixed-line-bar-chart/chart-popover.js.map +1 -1
  637. package/mixed-line-bar-chart/data-series.js +13 -17
  638. package/mixed-line-bar-chart/data-series.js.map +1 -1
  639. package/mixed-line-bar-chart/domain.js +32 -39
  640. package/mixed-line-bar-chart/domain.js.map +1 -1
  641. package/mixed-line-bar-chart/format-highlighted.js +13 -14
  642. package/mixed-line-bar-chart/format-highlighted.js.map +1 -1
  643. package/mixed-line-bar-chart/hooks/use-mouse-hover.js +32 -34
  644. package/mixed-line-bar-chart/hooks/use-mouse-hover.js.map +1 -1
  645. package/mixed-line-bar-chart/hooks/use-navigation.js +48 -57
  646. package/mixed-line-bar-chart/hooks/use-navigation.js.map +1 -1
  647. package/mixed-line-bar-chart/hooks/use-popover.js +7 -7
  648. package/mixed-line-bar-chart/hooks/use-popover.js.map +1 -1
  649. package/mixed-line-bar-chart/index.js +4 -4
  650. package/mixed-line-bar-chart/index.js.map +1 -1
  651. package/mixed-line-bar-chart/internal.js +47 -49
  652. package/mixed-line-bar-chart/internal.js.map +1 -1
  653. package/mixed-line-bar-chart/line-series.js +19 -24
  654. package/mixed-line-bar-chart/line-series.js.map +1 -1
  655. package/mixed-line-bar-chart/make-scaled-bar-groups.js +10 -11
  656. package/mixed-line-bar-chart/make-scaled-bar-groups.js.map +1 -1
  657. package/mixed-line-bar-chart/make-scaled-series.js +30 -38
  658. package/mixed-line-bar-chart/make-scaled-series.js.map +1 -1
  659. package/mixed-line-bar-chart/utils.js +18 -21
  660. package/mixed-line-bar-chart/utils.js.map +1 -1
  661. package/modal/body-scroll.js +4 -4
  662. package/modal/body-scroll.js.map +1 -1
  663. package/modal/index.js +4 -4
  664. package/modal/index.js.map +1 -1
  665. package/modal/internal.js +24 -25
  666. package/modal/internal.js.map +1 -1
  667. package/multiselect/index.js +5 -5
  668. package/multiselect/index.js.map +1 -1
  669. package/multiselect/internal.js +81 -88
  670. package/multiselect/internal.js.map +1 -1
  671. package/package.json +1 -1
  672. package/pagination/index.js +2 -3
  673. package/pagination/index.js.map +1 -1
  674. package/pagination/internal.js +16 -17
  675. package/pagination/internal.js.map +1 -1
  676. package/pagination/utils.js +12 -12
  677. package/pagination/utils.js.map +1 -1
  678. package/pie-chart/index.js +38 -39
  679. package/pie-chart/index.js.map +1 -1
  680. package/pie-chart/labels.js +38 -42
  681. package/pie-chart/labels.js.map +1 -1
  682. package/pie-chart/pie-chart.js +65 -67
  683. package/pie-chart/pie-chart.js.map +1 -1
  684. package/pie-chart/responsive-text.js +9 -10
  685. package/pie-chart/responsive-text.js.map +1 -1
  686. package/pie-chart/segments.js +27 -31
  687. package/pie-chart/segments.js.map +1 -1
  688. package/pie-chart/utils.js +32 -35
  689. package/pie-chart/utils.js.map +1 -1
  690. package/popover/arrow.js +2 -2
  691. package/popover/arrow.js.map +1 -1
  692. package/popover/body.js +16 -19
  693. package/popover/body.js.map +1 -1
  694. package/popover/container.js +52 -55
  695. package/popover/container.js.map +1 -1
  696. package/popover/index.js +6 -6
  697. package/popover/index.js.map +1 -1
  698. package/popover/internal.js +28 -28
  699. package/popover/internal.js.map +1 -1
  700. package/popover/utils/positions.js +54 -66
  701. package/popover/utils/positions.js.map +1 -1
  702. package/progress-bar/index.js +17 -17
  703. package/progress-bar/index.js.map +1 -1
  704. package/progress-bar/internal.js +12 -16
  705. package/progress-bar/internal.js.map +1 -1
  706. package/property-filter/controller.js +117 -125
  707. package/property-filter/controller.js.map +1 -1
  708. package/property-filter/filter-options.js +8 -11
  709. package/property-filter/filter-options.js.map +1 -1
  710. package/property-filter/index.js +50 -50
  711. package/property-filter/index.js.map +1 -1
  712. package/property-filter/property-editor.js +4 -5
  713. package/property-filter/property-editor.js.map +1 -1
  714. package/property-filter/property-filter-autosuggest.js +39 -39
  715. package/property-filter/property-filter-autosuggest.js.map +1 -1
  716. package/property-filter/token-editor.js +55 -66
  717. package/property-filter/token-editor.js.map +1 -1
  718. package/property-filter/token.js +9 -11
  719. package/property-filter/token.js.map +1 -1
  720. package/property-filter/use-load-items.js +8 -12
  721. package/property-filter/use-load-items.js.map +1 -1
  722. package/property-filter/utils.js +13 -18
  723. package/property-filter/utils.js.map +1 -1
  724. package/radio-group/index.js +3 -4
  725. package/radio-group/index.js.map +1 -1
  726. package/radio-group/internal.js +9 -9
  727. package/radio-group/internal.js.map +1 -1
  728. package/radio-group/radio-button.js +12 -15
  729. package/radio-group/radio-button.js.map +1 -1
  730. package/s3-resource-selector/index.js +29 -29
  731. package/s3-resource-selector/index.js.map +1 -1
  732. package/s3-resource-selector/s3-in-context/index.js +16 -18
  733. package/s3-resource-selector/s3-in-context/index.js.map +1 -1
  734. package/s3-resource-selector/s3-in-context/search-input.js +3 -4
  735. package/s3-resource-selector/s3-in-context/search-input.js.map +1 -1
  736. package/s3-resource-selector/s3-in-context/use-versions-fetch.js +16 -16
  737. package/s3-resource-selector/s3-in-context/use-versions-fetch.js.map +1 -1
  738. package/s3-resource-selector/s3-in-context/validation.js +6 -6
  739. package/s3-resource-selector/s3-in-context/validation.js.map +1 -1
  740. package/s3-resource-selector/s3-modal/basic-table.js +19 -20
  741. package/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  742. package/s3-resource-selector/s3-modal/buckets-table.js +11 -13
  743. package/s3-resource-selector/s3-modal/buckets-table.js.map +1 -1
  744. package/s3-resource-selector/s3-modal/column-formats.js +5 -5
  745. package/s3-resource-selector/s3-modal/column-formats.js.map +1 -1
  746. package/s3-resource-selector/s3-modal/empty-state.js +1 -2
  747. package/s3-resource-selector/s3-modal/empty-state.js.map +1 -1
  748. package/s3-resource-selector/s3-modal/index.js +37 -43
  749. package/s3-resource-selector/s3-modal/index.js.map +1 -1
  750. package/s3-resource-selector/s3-modal/objects-table.js +12 -14
  751. package/s3-resource-selector/s3-modal/objects-table.js.map +1 -1
  752. package/s3-resource-selector/s3-modal/table-utils.js +9 -12
  753. package/s3-resource-selector/s3-modal/table-utils.js.map +1 -1
  754. package/s3-resource-selector/s3-modal/versions-table.js +10 -12
  755. package/s3-resource-selector/s3-modal/versions-table.js.map +1 -1
  756. package/s3-resource-selector/utils.js +1 -1
  757. package/s3-resource-selector/utils.js.map +1 -1
  758. package/segmented-control/index.js +2 -3
  759. package/segmented-control/index.js.map +1 -1
  760. package/segmented-control/internal-segmented-control.js +16 -17
  761. package/segmented-control/internal-segmented-control.js.map +1 -1
  762. package/segmented-control/internal.js +14 -14
  763. package/segmented-control/internal.js.map +1 -1
  764. package/segmented-control/segment.js +3 -6
  765. package/segmented-control/segment.js.map +1 -1
  766. package/select/index.js +6 -6
  767. package/select/index.js.map +1 -1
  768. package/select/internal.js +58 -58
  769. package/select/internal.js.map +1 -1
  770. package/select/parts/filter.js +4 -4
  771. package/select/parts/filter.js.map +1 -1
  772. package/select/parts/item.js +10 -10
  773. package/select/parts/item.js.map +1 -1
  774. package/select/parts/multiselect-item.js +13 -14
  775. package/select/parts/multiselect-item.js.map +1 -1
  776. package/select/parts/plain-list.js +13 -15
  777. package/select/parts/plain-list.js.map +1 -1
  778. package/select/parts/trigger.js +7 -9
  779. package/select/parts/trigger.js.map +1 -1
  780. package/select/parts/virtual-list.js +27 -33
  781. package/select/parts/virtual-list.js.map +1 -1
  782. package/select/utils/check-option-value-field.js +2 -2
  783. package/select/utils/check-option-value-field.js.map +1 -1
  784. package/select/utils/connect-options.js +6 -7
  785. package/select/utils/connect-options.js.map +1 -1
  786. package/select/utils/get-item-props.js +4 -7
  787. package/select/utils/get-item-props.js.map +1 -1
  788. package/select/utils/render-options.js +13 -15
  789. package/select/utils/render-options.js.map +1 -1
  790. package/select/utils/use-announcement.js +10 -11
  791. package/select/utils/use-announcement.js.map +1 -1
  792. package/select/utils/use-load-items.js +16 -19
  793. package/select/utils/use-load-items.js.map +1 -1
  794. package/select/utils/use-native-search.js +20 -29
  795. package/select/utils/use-native-search.js.map +1 -1
  796. package/select/utils/use-select.js +89 -96
  797. package/select/utils/use-select.js.map +1 -1
  798. package/side-navigation/index.js +10 -10
  799. package/side-navigation/index.js.map +1 -1
  800. package/side-navigation/internal.js +35 -46
  801. package/side-navigation/internal.js.map +1 -1
  802. package/side-navigation/util.js +9 -12
  803. package/side-navigation/util.js.map +1 -1
  804. package/space-between/index.js +4 -4
  805. package/space-between/index.js.map +1 -1
  806. package/space-between/internal.js +7 -7
  807. package/space-between/internal.js.map +1 -1
  808. package/spinner/index.js +4 -4
  809. package/spinner/index.js.map +1 -1
  810. package/spinner/internal.js +4 -4
  811. package/spinner/internal.js.map +1 -1
  812. package/split-panel/bottom.js +22 -25
  813. package/split-panel/bottom.js.map +1 -1
  814. package/split-panel/icons/bottom-icon-refresh.js +11 -13
  815. package/split-panel/icons/bottom-icon-refresh.js.map +1 -1
  816. package/split-panel/icons/bottom-icon.js +1 -1
  817. package/split-panel/icons/bottom-icon.js.map +1 -1
  818. package/split-panel/icons/resize-handler.js +3 -6
  819. package/split-panel/icons/resize-handler.js.map +1 -1
  820. package/split-panel/icons/side-position-refresh.js +12 -14
  821. package/split-panel/icons/side-position-refresh.js.map +1 -1
  822. package/split-panel/icons/side-position.js +1 -1
  823. package/split-panel/icons/side-position.js.map +1 -1
  824. package/split-panel/index.js +65 -65
  825. package/split-panel/index.js.map +1 -1
  826. package/split-panel/preferences-modal.js +9 -9
  827. package/split-panel/preferences-modal.js.map +1 -1
  828. package/split-panel/side.js +12 -15
  829. package/split-panel/side.js.map +1 -1
  830. package/split-panel/utils/size-utils.js +3 -3
  831. package/split-panel/utils/size-utils.js.map +1 -1
  832. package/split-panel/utils/use-keyboard-events.js +13 -17
  833. package/split-panel/utils/use-keyboard-events.js.map +1 -1
  834. package/split-panel/utils/use-pointer-events.js +12 -13
  835. package/split-panel/utils/use-pointer-events.js.map +1 -1
  836. package/status-indicator/index.js +4 -4
  837. package/status-indicator/index.js.map +1 -1
  838. package/status-indicator/internal.js +9 -10
  839. package/status-indicator/internal.js.map +1 -1
  840. package/table/body-cell/click-away.js +9 -10
  841. package/table/body-cell/click-away.js.map +1 -1
  842. package/table/body-cell/index.js +18 -18
  843. package/table/body-cell/index.js.map +1 -1
  844. package/table/body-cell/inline-editor.js +32 -46
  845. package/table/body-cell/inline-editor.js.map +1 -1
  846. package/table/body-cell/td-element.js +2 -4
  847. package/table/body-cell/td-element.js.map +1 -1
  848. package/table/body-cell/use-stable-scroll-position.js +10 -13
  849. package/table/body-cell/use-stable-scroll-position.js.map +1 -1
  850. package/table/header-cell/index.d.ts +4 -2
  851. package/table/header-cell/index.d.ts.map +1 -1
  852. package/table/header-cell/index.js +33 -34
  853. package/table/header-cell/index.js.map +1 -1
  854. package/table/header-cell/utils.js +10 -12
  855. package/table/header-cell/utils.js.map +1 -1
  856. package/table/index.js +5 -5
  857. package/table/index.js.map +1 -1
  858. package/table/internal.d.ts.map +1 -1
  859. package/table/internal.js +94 -118
  860. package/table/internal.js.map +1 -1
  861. package/table/resizer/index.d.ts +5 -1
  862. package/table/resizer/index.d.ts.map +1 -1
  863. package/table/resizer/index.js +40 -39
  864. package/table/resizer/index.js.map +1 -1
  865. package/table/selection-control/index.d.ts +4 -1
  866. package/table/selection-control/index.d.ts.map +1 -1
  867. package/table/selection-control/index.js +11 -11
  868. package/table/selection-control/index.js.map +1 -1
  869. package/table/sticky-header.d.ts +2 -2
  870. package/table/sticky-header.d.ts.map +1 -1
  871. package/table/sticky-header.js +16 -15
  872. package/table/sticky-header.js.map +1 -1
  873. package/table/sticky-scrollbar.js +5 -6
  874. package/table/sticky-scrollbar.js.map +1 -1
  875. package/table/sticky-scrolling.js +10 -10
  876. package/table/sticky-scrolling.js.map +1 -1
  877. package/table/thead.d.ts +11 -3
  878. package/table/thead.d.ts.map +1 -1
  879. package/table/thead.js +13 -13
  880. package/table/thead.js.map +1 -1
  881. package/table/tools-header.js +4 -5
  882. package/table/tools-header.js.map +1 -1
  883. package/table/use-column-widths.js +34 -44
  884. package/table/use-column-widths.js.map +1 -1
  885. package/table/use-row-events.js +10 -11
  886. package/table/use-row-events.js.map +1 -1
  887. package/table/use-selection.js +75 -81
  888. package/table/use-selection.js.map +1 -1
  889. package/table/use-sticky-header.js +16 -16
  890. package/table/use-sticky-header.js.map +1 -1
  891. package/table/use-sticky-scrollbar.js +42 -42
  892. package/table/use-sticky-scrollbar.js.map +1 -1
  893. package/table/use-table-focus-navigation.js +27 -28
  894. package/table/use-table-focus-navigation.js.map +1 -1
  895. package/table/utils.js +7 -7
  896. package/table/utils.js.map +1 -1
  897. package/tabs/index.js +30 -33
  898. package/tabs/index.js.map +1 -1
  899. package/tabs/scroll-utils.js +12 -13
  900. package/tabs/scroll-utils.js.map +1 -1
  901. package/tabs/smooth-scroll.js +17 -17
  902. package/tabs/smooth-scroll.js.map +1 -1
  903. package/tabs/tab-header-bar.js +61 -66
  904. package/tabs/tab-header-bar.js.map +1 -1
  905. package/tag-editor/index.js +59 -72
  906. package/tag-editor/index.js.map +1 -1
  907. package/tag-editor/internal.js +21 -29
  908. package/tag-editor/internal.js.map +1 -1
  909. package/tag-editor/utils.js +7 -8
  910. package/tag-editor/utils.js.map +1 -1
  911. package/tag-editor/validation.js +16 -18
  912. package/tag-editor/validation.js.map +1 -1
  913. package/text-content/index.js +6 -6
  914. package/text-content/index.js.map +1 -1
  915. package/text-filter/index.js +3 -4
  916. package/text-filter/index.js.map +1 -1
  917. package/text-filter/internal.js +10 -10
  918. package/text-filter/internal.js.map +1 -1
  919. package/textarea/index.js +23 -24
  920. package/textarea/index.js.map +1 -1
  921. package/theming/index.js +2 -3
  922. package/theming/index.js.map +1 -1
  923. package/tiles/index.js +3 -4
  924. package/tiles/index.js.map +1 -1
  925. package/tiles/internal.js +17 -17
  926. package/tiles/internal.js.map +1 -1
  927. package/tiles/tile.js +7 -9
  928. package/tiles/tile.js.map +1 -1
  929. package/time-input/index.js +5 -5
  930. package/time-input/index.js.map +1 -1
  931. package/time-input/internal.js +9 -9
  932. package/time-input/internal.js.map +1 -1
  933. package/toggle/index.js +3 -4
  934. package/toggle/index.js.map +1 -1
  935. package/toggle/internal.js +15 -16
  936. package/toggle/internal.js.map +1 -1
  937. package/token-group/dismiss-button.js +5 -7
  938. package/token-group/dismiss-button.js.map +1 -1
  939. package/token-group/index.js +4 -4
  940. package/token-group/index.js.map +1 -1
  941. package/token-group/internal.js +14 -14
  942. package/token-group/internal.js.map +1 -1
  943. package/token-group/toggle.js +7 -9
  944. package/token-group/toggle.js.map +1 -1
  945. package/top-navigation/1.0-beta/index.js +4 -4
  946. package/top-navigation/1.0-beta/index.js.map +1 -1
  947. package/top-navigation/1.0-beta/internal.js +43 -46
  948. package/top-navigation/1.0-beta/internal.js.map +1 -1
  949. package/top-navigation/1.0-beta/parts/overflow-menu.js +16 -17
  950. package/top-navigation/1.0-beta/parts/overflow-menu.js.map +1 -1
  951. package/top-navigation/1.0-beta/parts/utility.js +9 -12
  952. package/top-navigation/1.0-beta/parts/utility.js.map +1 -1
  953. package/top-navigation/1.0-beta/use-top-navigation.js +46 -54
  954. package/top-navigation/1.0-beta/use-top-navigation.js.map +1 -1
  955. package/top-navigation/index.js +4 -4
  956. package/top-navigation/index.js.map +1 -1
  957. package/top-navigation/internal.js +64 -71
  958. package/top-navigation/internal.js.map +1 -1
  959. package/top-navigation/parts/overflow-menu/header.js +3 -4
  960. package/top-navigation/parts/overflow-menu/header.js.map +1 -1
  961. package/top-navigation/parts/overflow-menu/index.js +4 -5
  962. package/top-navigation/parts/overflow-menu/index.js.map +1 -1
  963. package/top-navigation/parts/overflow-menu/menu-item.js +56 -61
  964. package/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
  965. package/top-navigation/parts/overflow-menu/router.js +11 -13
  966. package/top-navigation/parts/overflow-menu/router.js.map +1 -1
  967. package/top-navigation/parts/overflow-menu/views/submenu.js +6 -8
  968. package/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
  969. package/top-navigation/parts/overflow-menu/views/utilities.js +5 -7
  970. package/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
  971. package/top-navigation/parts/utility.js +12 -15
  972. package/top-navigation/parts/utility.js.map +1 -1
  973. package/top-navigation/use-top-navigation.js +52 -59
  974. package/top-navigation/use-top-navigation.js.map +1 -1
  975. package/tutorial-panel/components/tutorial-detail-view/congratulation-screen.js +5 -7
  976. package/tutorial-panel/components/tutorial-detail-view/congratulation-screen.js.map +1 -1
  977. package/tutorial-panel/components/tutorial-detail-view/index.js +6 -7
  978. package/tutorial-panel/components/tutorial-detail-view/index.js.map +1 -1
  979. package/tutorial-panel/components/tutorial-detail-view/task-list.js +8 -15
  980. package/tutorial-panel/components/tutorial-detail-view/task-list.js.map +1 -1
  981. package/tutorial-panel/components/tutorial-detail-view/task.js +5 -6
  982. package/tutorial-panel/components/tutorial-detail-view/task.js.map +1 -1
  983. package/tutorial-panel/components/tutorial-list/index.js +19 -22
  984. package/tutorial-panel/components/tutorial-list/index.js.map +1 -1
  985. package/tutorial-panel/index.js +8 -8
  986. package/tutorial-panel/index.js.map +1 -1
  987. package/wizard/index.js +28 -28
  988. package/wizard/index.js.map +1 -1
  989. package/wizard/internal/analytics.js +32 -42
  990. package/wizard/internal/analytics.js.map +1 -1
  991. package/wizard/unmount.js +6 -13
  992. package/wizard/unmount.js.map +1 -1
  993. package/wizard/wizard-actions.js +7 -8
  994. package/wizard/wizard-actions.js.map +1 -1
  995. package/wizard/wizard-form-header.js +2 -3
  996. package/wizard/wizard-form-header.js.map +1 -1
  997. package/wizard/wizard-form.js +14 -16
  998. package/wizard/wizard-form.js.map +1 -1
  999. package/wizard/wizard-navigation.js +19 -25
  1000. package/wizard/wizard-navigation.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"domain.js","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/domain.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;;AAGtC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE7E,MAAM,UAAU,cAAc,CAAI,MAAyC,EAAE,UAAqB;IAChG,IAAI,UAAU,KAAK,aAAa,EAAE;QAChC,OAAO,MAAM,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,CAAC;YAC1B,IAAI,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;gBAC1B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAC,EAAK;wBAAH,CAAC,OAAA;oBACxB,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;wBACzB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACb;gBACH,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;gBAC1B,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;oBAClC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBACtB;aACF;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAS,CAAC,CAAC;KACf;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI;QAC7B,mCAAmC;QACnC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC7B,OAAO,GAAG,CAAC;SACZ;QAED,+CAA+C;QAC/C,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACtB,IAAA,GAAG,GAAS,GAAG,GAAZ,EAAE,GAAG,GAAI,GAAG,GAAP,CAAQ;YACvB,IAAM,MAAM,GAAG,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC9F,IAAM,MAAM,GAAG,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC9F,OAAO,CAAC,MAAM,EAAE,MAAM,CAAQ,CAAC;SAChC;QAED,qDAAqD;QACrD,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAC,EAAU,EAAE,EAAK;oBAAhB,GAAG,QAAA,EAAE,GAAG,QAAA;oBAAK,CAAC,OAAA;gBAC7C,IAAM,MAAM,GAAG,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACtE,IAAM,MAAM,GAAG,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACtE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAQ,CAAC;YACjC,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAS,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,IAAI,CAAI,GAAiB,EAAE,IAAwB;IAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,KAAK,EAAE;YACT,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;SACf;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,MAAyC,EACzC,SAA2B,EAC3B,WAAoB;IAEpB,IAAI,OAAO,GAAG,MAAM,CAAC;IAErB,mGAAmG;IACnG,IAAI,WAAW,EAAE;QACT,IAAA,KAAiC,MAAM,CAAC,MAAM,CAClD,UAAC,GAAG,EAAE,IAAI;YACR,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE;gBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAC,EAAQ;wBAAN,CAAC,OAAA,EAAE,CAAC,OAAA;oBAC9B,IAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC;oBACzD,IAAM,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,UAAA,EAAE,IAAI,OAAA,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAjB,CAAiB,CAAC,CAAC;oBACzD,IAAI,YAAY,EAAE;wBAChB,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;qBACrB;yBAAM;wBACL,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,CAAC,CAAC;qBACrB;oBACD,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC,CAAC;aACJ;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EACD;YACE,YAAY,EAAE,EAAuC;YACrD,YAAY,EAAE,EAAuC;SACtD,CACF,EApBO,YAAY,kBAAA,EAAE,YAAY,kBAoBjC,CAAC;QAEF,0DAA0D;QAC1D,IAAM,aAAa,GAA6B;YAC9C;gBACE,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,YAAmB;iBAC1B;aACF;YACD;gBACE,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,YAAmB;iBAC1B;aACF;SACF,CAAC;QAEF,2DAA2D;QAC3D,wDAAwD;QACxD,2EAA2E;QAC3E,OAAO,mCAAO,aAAa,SAAK,OAAO,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAvB,CAAuB,CAAC,OAAC,CAAC;KAC/E;IAED,IAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAC3B,UAAC,GAAG,EAAE,IAAI;QACR,mDAAmD;QACnD,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACtB,IAAA,GAAG,GAAS,GAAG,GAAZ,EAAE,GAAG,GAAI,GAAG,GAAP,CAAQ;YACvB,IAAM,MAAM,GAAG,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC9E,IAAM,MAAM,GAAG,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC9E,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACzB;QAED,mCAAmC;QACnC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC7B,OAAO,GAAG,CAAC;SACZ;QAED,qDAAqD;QACrD,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAC,EAAU,EAAE,EAAK;oBAAhB,GAAG,QAAA,EAAE,GAAG,QAAA;oBAAK,CAAC,OAAA;gBAC7C,IAAM,MAAM,GAAG,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACtD,IAAM,MAAM,GAAG,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACtD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1B,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EACD,CAAC,CAAC,EAAE,CAAC,CAAC,CACP,CAAC;IAEF,+DAA+D;IAC/D,IAAI,SAAS,KAAK,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;QAC3D,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KACvB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { InternalChartSeries, MixedLineBarChartProps, ScaleType } from './interfaces';\nimport { isDataSeries, isXThreshold, isYThreshold, matchesX } from './utils';\n\nexport function computeDomainX<T>(series: readonly InternalChartSeries<T>[], xScaleType: ScaleType) {\n if (xScaleType === 'categorical') {\n return series.reduce((acc, s) => {\n if (isDataSeries(s.series)) {\n s.series.data.forEach(({ x }) => {\n if (acc.indexOf(x) === -1) {\n acc.push(x);\n }\n });\n }\n if (isXThreshold(s.series)) {\n if (acc.indexOf(s.series.x) === -1) {\n acc.push(s.series.x);\n }\n }\n return acc;\n }, [] as T[]);\n }\n\n return series.reduce((acc, curr) => {\n // Y-thresholds don't have X value.\n if (isYThreshold(curr.series)) {\n return acc;\n }\n\n // Compare x-threshold X with current min, max.\n if (isXThreshold(curr.series)) {\n const [min, max] = acc;\n const newMin = min === undefined || min === null || curr.series.x < min ? curr.series.x : min;\n const newMax = max === undefined || max === null || max < curr.series.x ? curr.series.x : max;\n return [newMin, newMax] as T[];\n }\n\n // Compare all series X values with current min, max.\n if (isDataSeries(curr.series)) {\n return curr.series.data.reduce(([min, max], { x }) => {\n const newMin = min === undefined || min === null || x < min ? x : min;\n const newMax = max === undefined || max === null || max < x ? x : max;\n return [newMin, newMax] as T[];\n }, acc);\n }\n\n return acc;\n }, [] as T[]);\n}\n\nfunction find<Q>(arr: readonly Q[], func: (el: Q) => boolean) {\n for (let i = 0; i < arr.length; i++) {\n const found = func(arr[i]);\n if (found) {\n return arr[i];\n }\n }\n return null;\n}\n\nexport function computeDomainY<T>(\n series: readonly InternalChartSeries<T>[],\n scaleType: 'linear' | 'log',\n stackedBars: boolean\n) {\n let _series = series;\n\n // For stacked bars, we need to accumulate all the bar series into a positive and a negative series\n if (stackedBars) {\n const { positiveData, negativeData } = series.reduce(\n (acc, curr) => {\n if (curr.series.type === 'bar') {\n curr.series.data.forEach(({ x, y }) => {\n const data = y < 0 ? acc.negativeData : acc.positiveData;\n const stackedDatum = find(data, el => matchesX(el.x, x));\n if (stackedDatum) {\n stackedDatum.y += y;\n } else {\n data.push({ x, y });\n }\n return acc;\n });\n }\n return acc;\n },\n {\n positiveData: [] as MixedLineBarChartProps.Datum<T>[],\n negativeData: [] as MixedLineBarChartProps.Datum<T>[],\n }\n );\n\n // Artificial series with the sum of all bars when stacked\n const stackedSeries: InternalChartSeries<T>[] = [\n {\n color: '',\n index: NaN,\n series: {\n type: 'bar',\n title: 'positive',\n data: positiveData as any,\n },\n },\n {\n color: '',\n index: NaN,\n series: {\n type: 'bar',\n title: 'negative',\n data: negativeData as any,\n },\n },\n ];\n\n // MixedLineBarChart can also contain other non-bar series,\n // so we replace all bars with the artificial bar series\n // Then proceed to compute range with it and the remaining (non-bar) series\n _series = [...stackedSeries, ..._series.filter(s => s.series.type !== 'bar')];\n }\n\n const domain = _series.reduce(\n (acc, curr) => {\n // Compare threshold Y value with current min, max.\n if (isYThreshold(curr.series)) {\n const [min, max] = acc;\n const newMin = min === undefined || curr.series.y < min ? curr.series.y : min;\n const newMax = max === undefined || max < curr.series.y ? curr.series.y : max;\n return [newMin, newMax];\n }\n\n // X-thresholds don't have Y value.\n if (isXThreshold(curr.series)) {\n return acc;\n }\n\n // Compare all series Y values with current min, max.\n if (isDataSeries(curr.series)) {\n return curr.series.data.reduce(([min, max], { y }) => {\n const newMin = min === undefined || y < min ? y : min;\n const newMax = max === undefined || max < y ? y : max;\n return [newMin, newMax];\n }, acc);\n }\n\n return acc;\n },\n [0, 0]\n );\n\n // Log scales can't start from 0, so if possible, start from 1.\n if (scaleType === 'log' && domain[0] === 0 && domain[1] > 1) {\n return [1, domain[1]];\n }\n return domain;\n}\n"]}
1
+ {"version":3,"file":"domain.js","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/domain.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { InternalChartSeries, MixedLineBarChartProps, ScaleType } from './interfaces';\nimport { isDataSeries, isXThreshold, isYThreshold, matchesX } from './utils';\n\nexport function computeDomainX<T>(series: readonly InternalChartSeries<T>[], xScaleType: ScaleType) {\n if (xScaleType === 'categorical') {\n return series.reduce((acc, s) => {\n if (isDataSeries(s.series)) {\n s.series.data.forEach(({ x }) => {\n if (acc.indexOf(x) === -1) {\n acc.push(x);\n }\n });\n }\n if (isXThreshold(s.series)) {\n if (acc.indexOf(s.series.x) === -1) {\n acc.push(s.series.x);\n }\n }\n return acc;\n }, [] as T[]);\n }\n\n return series.reduce((acc, curr) => {\n // Y-thresholds don't have X value.\n if (isYThreshold(curr.series)) {\n return acc;\n }\n\n // Compare x-threshold X with current min, max.\n if (isXThreshold(curr.series)) {\n const [min, max] = acc;\n const newMin = min === undefined || min === null || curr.series.x < min ? curr.series.x : min;\n const newMax = max === undefined || max === null || max < curr.series.x ? curr.series.x : max;\n return [newMin, newMax] as T[];\n }\n\n // Compare all series X values with current min, max.\n if (isDataSeries(curr.series)) {\n return curr.series.data.reduce(([min, max], { x }) => {\n const newMin = min === undefined || min === null || x < min ? x : min;\n const newMax = max === undefined || max === null || max < x ? x : max;\n return [newMin, newMax] as T[];\n }, acc);\n }\n\n return acc;\n }, [] as T[]);\n}\n\nfunction find<Q>(arr: readonly Q[], func: (el: Q) => boolean) {\n for (let i = 0; i < arr.length; i++) {\n const found = func(arr[i]);\n if (found) {\n return arr[i];\n }\n }\n return null;\n}\n\nexport function computeDomainY<T>(\n series: readonly InternalChartSeries<T>[],\n scaleType: 'linear' | 'log',\n stackedBars: boolean\n) {\n let _series = series;\n\n // For stacked bars, we need to accumulate all the bar series into a positive and a negative series\n if (stackedBars) {\n const { positiveData, negativeData } = series.reduce(\n (acc, curr) => {\n if (curr.series.type === 'bar') {\n curr.series.data.forEach(({ x, y }) => {\n const data = y < 0 ? acc.negativeData : acc.positiveData;\n const stackedDatum = find(data, el => matchesX(el.x, x));\n if (stackedDatum) {\n stackedDatum.y += y;\n } else {\n data.push({ x, y });\n }\n return acc;\n });\n }\n return acc;\n },\n {\n positiveData: [] as MixedLineBarChartProps.Datum<T>[],\n negativeData: [] as MixedLineBarChartProps.Datum<T>[],\n }\n );\n\n // Artificial series with the sum of all bars when stacked\n const stackedSeries: InternalChartSeries<T>[] = [\n {\n color: '',\n index: NaN,\n series: {\n type: 'bar',\n title: 'positive',\n data: positiveData as any,\n },\n },\n {\n color: '',\n index: NaN,\n series: {\n type: 'bar',\n title: 'negative',\n data: negativeData as any,\n },\n },\n ];\n\n // MixedLineBarChart can also contain other non-bar series,\n // so we replace all bars with the artificial bar series\n // Then proceed to compute range with it and the remaining (non-bar) series\n _series = [...stackedSeries, ..._series.filter(s => s.series.type !== 'bar')];\n }\n\n const domain = _series.reduce(\n (acc, curr) => {\n // Compare threshold Y value with current min, max.\n if (isYThreshold(curr.series)) {\n const [min, max] = acc;\n const newMin = min === undefined || curr.series.y < min ? curr.series.y : min;\n const newMax = max === undefined || max < curr.series.y ? curr.series.y : max;\n return [newMin, newMax];\n }\n\n // X-thresholds don't have Y value.\n if (isXThreshold(curr.series)) {\n return acc;\n }\n\n // Compare all series Y values with current min, max.\n if (isDataSeries(curr.series)) {\n return curr.series.data.reduce(([min, max], { y }) => {\n const newMin = min === undefined || y < min ? y : min;\n const newMax = max === undefined || max < y ? y : max;\n return [newMin, newMax];\n }, acc);\n }\n\n return acc;\n },\n [0, 0]\n );\n\n // Log scales can't start from 0, so if possible, start from 1.\n if (scaleType === 'log' && domain[0] === 0 && domain[1] > 1) {\n return [1, domain[1]];\n }\n return domain;\n}\n"]}
@@ -1,26 +1,26 @@
1
1
  import { isDataSeries, isXThreshold, isYThreshold, matchesX } from './utils';
2
2
  /** Formats provided x-position and its corresponding series values. */
3
3
  export default function formatHighlighted(position, series, xTickFormatter) {
4
- var formattedPosition = xTickFormatter ? xTickFormatter(position) : position.toString();
5
- var details = [];
6
- series.forEach(function (s) {
7
- var detail = getSeriesDetail(s, position);
4
+ const formattedPosition = xTickFormatter ? xTickFormatter(position) : position.toString();
5
+ const details = [];
6
+ series.forEach(s => {
7
+ const detail = getSeriesDetail(s, position);
8
8
  if (detail) {
9
9
  details.push(detail);
10
10
  }
11
11
  });
12
- return { position: formattedPosition, details: details };
12
+ return { position: formattedPosition, details };
13
13
  }
14
14
  function getSeriesDetail(internalSeries, targetX) {
15
- var series = internalSeries.series, color = internalSeries.color;
15
+ const { series, color } = internalSeries;
16
16
  // X-thresholds are only shown when X matches.
17
17
  if (isXThreshold(series)) {
18
18
  return series.x === targetX
19
19
  ? {
20
20
  key: series.title,
21
21
  value: '',
22
- color: color,
23
- markerType: 'dashed'
22
+ color,
23
+ markerType: 'dashed',
24
24
  }
25
25
  : null;
26
26
  }
@@ -28,19 +28,18 @@ function getSeriesDetail(internalSeries, targetX) {
28
28
  return {
29
29
  key: series.title,
30
30
  value: series.valueFormatter ? series.valueFormatter(series.y) : series.y,
31
- color: color,
32
- markerType: 'dashed'
31
+ color,
32
+ markerType: 'dashed',
33
33
  };
34
34
  }
35
35
  if (isDataSeries(series)) {
36
- for (var _i = 0, _a = series.data; _i < _a.length; _i++) {
37
- var datum = _a[_i];
36
+ for (const datum of series.data) {
38
37
  if (matchesX(targetX, datum.x)) {
39
38
  return {
40
39
  key: series.title,
41
40
  value: series.valueFormatter ? series.valueFormatter(datum.y, targetX) : datum.y,
42
- color: color,
43
- markerType: series.type === 'line' ? 'line' : 'rectangle'
41
+ color,
42
+ markerType: series.type === 'line' ? 'line' : 'rectangle',
44
43
  };
45
44
  }
46
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"format-highlighted.js","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/format-highlighted.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO7E,uEAAuE;AACvE,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,QAAW,EACX,MAAyC,EACzC,cAAqD;IAErD,IAAM,iBAAiB,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAE1F,IAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,MAAM,CAAC,OAAO,CAAC,UAAA,CAAC;QACd,IAAM,MAAM,GAAG,eAAe,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE;YACV,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACtB;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,OAAO,SAAA,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,eAAe,CAAI,cAAsC,EAAE,OAAU;IACpE,IAAA,MAAM,GAAY,cAAc,OAA1B,EAAE,KAAK,GAAK,cAAc,MAAnB,CAAoB;IAEzC,8CAA8C;IAC9C,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;QACxB,OAAO,MAAM,CAAC,CAAC,KAAK,OAAO;YACzB,CAAC,CAAC;gBACE,GAAG,EAAE,MAAM,CAAC,KAAK;gBACjB,KAAK,EAAE,EAAE;gBACT,KAAK,OAAA;gBACL,UAAU,EAAE,QAAQ;aACrB;YACH,CAAC,CAAC,IAAI,CAAC;KACV;IAED,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;QACxB,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,KAAK;YACjB,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACzE,KAAK,OAAA;YACL,UAAU,EAAE,QAAQ;SACrB,CAAC;KACH;IAED,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;QACxB,KAAoB,UAAW,EAAX,KAAA,MAAM,CAAC,IAAI,EAAX,cAAW,EAAX,IAAW,EAAE;YAA5B,IAAM,KAAK,SAAA;YACd,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;gBAC9B,OAAO;oBACL,GAAG,EAAE,MAAM,CAAC,KAAK;oBACjB,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAChF,KAAK,OAAA;oBACL,UAAU,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW;iBAC1D,CAAC;aACH;SACF;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ChartDataTypes, InternalChartSeries } from './interfaces';\nimport { ChartSeriesDetailItem } from '../internal/components/chart-series-details';\nimport { CartesianChartProps } from '../internal/components/cartesian-chart/interfaces';\nimport { isDataSeries, isXThreshold, isYThreshold, matchesX } from './utils';\n\nexport interface HighlightDetails {\n position: string;\n details: ChartSeriesDetailItem[];\n}\n\n/** Formats provided x-position and its corresponding series values. */\nexport default function formatHighlighted<T extends ChartDataTypes>(\n position: T,\n series: readonly InternalChartSeries<T>[],\n xTickFormatter?: CartesianChartProps.TickFormatter<T>\n): HighlightDetails {\n const formattedPosition = xTickFormatter ? xTickFormatter(position) : position.toString();\n\n const details: ChartSeriesDetailItem[] = [];\n series.forEach(s => {\n const detail = getSeriesDetail(s, position);\n if (detail) {\n details.push(detail);\n }\n });\n\n return { position: formattedPosition, details };\n}\n\nfunction getSeriesDetail<T>(internalSeries: InternalChartSeries<T>, targetX: T): ChartSeriesDetailItem | null {\n const { series, color } = internalSeries;\n\n // X-thresholds are only shown when X matches.\n if (isXThreshold(series)) {\n return series.x === targetX\n ? {\n key: series.title,\n value: '',\n color,\n markerType: 'dashed',\n }\n : null;\n }\n\n if (isYThreshold(series)) {\n return {\n key: series.title,\n value: series.valueFormatter ? series.valueFormatter(series.y) : series.y,\n color,\n markerType: 'dashed',\n };\n }\n\n if (isDataSeries(series)) {\n for (const datum of series.data) {\n if (matchesX(targetX, datum.x)) {\n return {\n key: series.title,\n value: series.valueFormatter ? series.valueFormatter(datum.y, targetX) : datum.y,\n color,\n markerType: series.type === 'line' ? 'line' : 'rectangle',\n };\n }\n }\n }\n\n return null;\n}\n"]}
1
+ {"version":3,"file":"format-highlighted.js","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/format-highlighted.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO7E,uEAAuE;AACvE,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,QAAW,EACX,MAAyC,EACzC,cAAqD;IAErD,MAAM,iBAAiB,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAE1F,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACjB,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE;YACV,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACtB;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,eAAe,CAAI,cAAsC,EAAE,OAAU;IAC5E,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC;IAEzC,8CAA8C;IAC9C,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;QACxB,OAAO,MAAM,CAAC,CAAC,KAAK,OAAO;YACzB,CAAC,CAAC;gBACE,GAAG,EAAE,MAAM,CAAC,KAAK;gBACjB,KAAK,EAAE,EAAE;gBACT,KAAK;gBACL,UAAU,EAAE,QAAQ;aACrB;YACH,CAAC,CAAC,IAAI,CAAC;KACV;IAED,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;QACxB,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,KAAK;YACjB,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACzE,KAAK;YACL,UAAU,EAAE,QAAQ;SACrB,CAAC;KACH;IAED,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;QACxB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE;YAC/B,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;gBAC9B,OAAO;oBACL,GAAG,EAAE,MAAM,CAAC,KAAK;oBACjB,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAChF,KAAK;oBACL,UAAU,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW;iBAC1D,CAAC;aACH;SACF;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ChartDataTypes, InternalChartSeries } from './interfaces';\nimport { ChartSeriesDetailItem } from '../internal/components/chart-series-details';\nimport { CartesianChartProps } from '../internal/components/cartesian-chart/interfaces';\nimport { isDataSeries, isXThreshold, isYThreshold, matchesX } from './utils';\n\nexport interface HighlightDetails {\n position: string;\n details: ChartSeriesDetailItem[];\n}\n\n/** Formats provided x-position and its corresponding series values. */\nexport default function formatHighlighted<T extends ChartDataTypes>(\n position: T,\n series: readonly InternalChartSeries<T>[],\n xTickFormatter?: CartesianChartProps.TickFormatter<T>\n): HighlightDetails {\n const formattedPosition = xTickFormatter ? xTickFormatter(position) : position.toString();\n\n const details: ChartSeriesDetailItem[] = [];\n series.forEach(s => {\n const detail = getSeriesDetail(s, position);\n if (detail) {\n details.push(detail);\n }\n });\n\n return { position: formattedPosition, details };\n}\n\nfunction getSeriesDetail<T>(internalSeries: InternalChartSeries<T>, targetX: T): ChartSeriesDetailItem | null {\n const { series, color } = internalSeries;\n\n // X-thresholds are only shown when X matches.\n if (isXThreshold(series)) {\n return series.x === targetX\n ? {\n key: series.title,\n value: '',\n color,\n markerType: 'dashed',\n }\n : null;\n }\n\n if (isYThreshold(series)) {\n return {\n key: series.title,\n value: series.valueFormatter ? series.valueFormatter(series.y) : series.y,\n color,\n markerType: 'dashed',\n };\n }\n\n if (isDataSeries(series)) {\n for (const datum of series.data) {\n if (matchesX(targetX, datum.x)) {\n return {\n key: series.title,\n value: series.valueFormatter ? series.valueFormatter(datum.y, targetX) : datum.y,\n color,\n markerType: series.type === 'line' ? 'line' : 'rectangle',\n };\n }\n }\n }\n\n return null;\n}\n"]}
@@ -3,14 +3,13 @@
3
3
  import { nodeContains } from '../../internal/utils/dom';
4
4
  import styles from '../styles.css.js';
5
5
  import { isYThreshold } from '../utils';
6
- var MAX_HOVER_MARGIN = 6;
7
- var POPOVER_DEADZONE = 12;
8
- export function useMouseHover(_a) {
9
- var plotRef = _a.plotRef, popoverRef = _a.popoverRef, scaledSeries = _a.scaledSeries, barGroups = _a.barGroups, highlightPoint = _a.highlightPoint, highlightGroup = _a.highlightGroup, clearHighlightedSeries = _a.clearHighlightedSeries, isGroupNavigation = _a.isGroupNavigation, isHandlersDisabled = _a.isHandlersDisabled, highlightX = _a.highlightX;
10
- var isMouseOverPopover = function (event) {
6
+ const MAX_HOVER_MARGIN = 6;
7
+ const POPOVER_DEADZONE = 12;
8
+ export function useMouseHover({ plotRef, popoverRef, scaledSeries, barGroups, highlightPoint, highlightGroup, clearHighlightedSeries, isGroupNavigation, isHandlersDisabled, highlightX, }) {
9
+ const isMouseOverPopover = (event) => {
11
10
  var _a;
12
11
  if ((_a = popoverRef.current) === null || _a === void 0 ? void 0 : _a.firstChild) {
13
- var popoverPosition = popoverRef.current.firstChild.getBoundingClientRect();
12
+ const popoverPosition = popoverRef.current.firstChild.getBoundingClientRect();
14
13
  if (event.clientX > popoverPosition.x - POPOVER_DEADZONE &&
15
14
  event.clientX < popoverPosition.x + popoverPosition.width + POPOVER_DEADZONE &&
16
15
  event.clientY > popoverPosition.y - POPOVER_DEADZONE &&
@@ -20,29 +19,28 @@ export function useMouseHover(_a) {
20
19
  }
21
20
  return false;
22
21
  };
23
- var onSeriesMouseMove = function (event) {
22
+ const onSeriesMouseMove = (event) => {
24
23
  var _a, _b;
25
- var svgRect = event.target.getBoundingClientRect();
26
- var offsetX = event.clientX - svgRect.left;
27
- var closestX = scaledSeries
28
- .map(function (v) { return v.x; })
29
- .reduce(function (prev, curr) { return (Math.abs(curr - offsetX) < Math.abs(prev - offsetX) ? curr : prev); }, -Infinity);
24
+ const svgRect = event.target.getBoundingClientRect();
25
+ const offsetX = event.clientX - svgRect.left;
26
+ const closestX = scaledSeries
27
+ .map(v => v.x)
28
+ .reduce((prev, curr) => (Math.abs(curr - offsetX) < Math.abs(prev - offsetX) ? curr : prev), -Infinity);
30
29
  if (isFinite(closestX)) {
31
- var offsetY_1 = event.clientY - svgRect.top;
32
- var closestY_1 = scaledSeries
33
- .filter(function (v) { return v.x === closestX || isYThreshold(v.series); })
34
- .map(function (v) { return v.y; })
35
- .reduce(function (prev, curr) { return (Math.abs(curr - offsetY_1) < Math.abs(prev - offsetY_1) ? curr : prev); }, -Infinity);
36
- if (isFinite(closestY_1) &&
30
+ const offsetY = event.clientY - svgRect.top;
31
+ const closestY = scaledSeries
32
+ .filter(v => v.x === closestX || isYThreshold(v.series))
33
+ .map(v => v.y)
34
+ .reduce((prev, curr) => (Math.abs(curr - offsetY) < Math.abs(prev - offsetY) ? curr : prev), -Infinity);
35
+ if (isFinite(closestY) &&
37
36
  Math.abs(offsetX - closestX) < MAX_HOVER_MARGIN &&
38
- Math.abs(offsetY_1 - closestY_1) < MAX_HOVER_MARGIN) {
39
- var _c = scaledSeries.filter(function (s) { return (s.x === closestX || isYThreshold(s.series)) && s.y === closestY_1; })[0], color = _c.color, datum = _c.datum, series = _c.series;
40
- highlightPoint({ x: closestX, y: closestY_1, color: color, datum: datum, series: series });
37
+ Math.abs(offsetY - closestY) < MAX_HOVER_MARGIN) {
38
+ const [{ color, datum, series }] = scaledSeries.filter(s => (s.x === closestX || isYThreshold(s.series)) && s.y === closestY);
39
+ highlightPoint({ x: closestX, y: closestY, color, datum, series });
41
40
  }
42
41
  else {
43
- var datumX = null;
44
- for (var _i = 0, scaledSeries_1 = scaledSeries; _i < scaledSeries_1.length; _i++) {
45
- var point = scaledSeries_1[_i];
42
+ let datumX = null;
43
+ for (const point of scaledSeries) {
46
44
  if (point.x === closestX) {
47
45
  datumX = (_b = (_a = point.datum) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : null;
48
46
  break;
@@ -52,13 +50,13 @@ export function useMouseHover(_a) {
52
50
  }
53
51
  }
54
52
  };
55
- var onGroupMouseMove = function (event) {
56
- var svgRect = event.target.getBoundingClientRect();
57
- var offsetX = event.clientX - svgRect.left;
58
- var offsetY = event.clientY - svgRect.top;
53
+ const onGroupMouseMove = (event) => {
54
+ const svgRect = event.target.getBoundingClientRect();
55
+ const offsetX = event.clientX - svgRect.left;
56
+ const offsetY = event.clientY - svgRect.top;
59
57
  // If hovering over some group - highlight it.
60
- for (var groupIndex = 0; groupIndex < barGroups.length; groupIndex++) {
61
- var _a = barGroups[groupIndex].position, x = _a.x, y = _a.y, width = _a.width, height = _a.height;
58
+ for (let groupIndex = 0; groupIndex < barGroups.length; groupIndex++) {
59
+ const { position: { x, y, width, height }, } = barGroups[groupIndex];
62
60
  if (x <= offsetX && offsetX <= x + width && y <= offsetY && offsetY <= y + height) {
63
61
  highlightGroup(groupIndex);
64
62
  return;
@@ -67,7 +65,7 @@ export function useMouseHover(_a) {
67
65
  // Otherwise - clear the highlight.
68
66
  clearHighlightedSeries();
69
67
  };
70
- var onSVGMouseMove = function (event) {
68
+ const onSVGMouseMove = (event) => {
71
69
  if (event.target === plotRef.current.svg && !isHandlersDisabled && !isMouseOverPopover(event)) {
72
70
  if (isGroupNavigation) {
73
71
  onGroupMouseMove(event);
@@ -77,7 +75,7 @@ export function useMouseHover(_a) {
77
75
  }
78
76
  }
79
77
  };
80
- var onSVGMouseOut = function (event) {
78
+ const onSVGMouseOut = (event) => {
81
79
  if (isHandlersDisabled || isMouseOverPopover(event)) {
82
80
  return;
83
81
  }
@@ -87,12 +85,12 @@ export function useMouseHover(_a) {
87
85
  clearHighlightedSeries();
88
86
  }
89
87
  };
90
- var onPopoverLeave = function (event) {
88
+ const onPopoverLeave = (event) => {
91
89
  if (!plotRef.current.svg.contains(event.relatedTarget)) {
92
90
  highlightX(null);
93
91
  clearHighlightedSeries();
94
92
  }
95
93
  };
96
- return { onSVGMouseMove: onSVGMouseMove, onSVGMouseOut: onSVGMouseOut, onPopoverLeave: onPopoverLeave };
94
+ return { onSVGMouseMove, onSVGMouseOut, onPopoverLeave };
97
95
  }
98
96
  //# sourceMappingURL=use-mouse-hover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-mouse-hover.js","sourceRoot":"","sources":["../../../../src/mixed-line-bar-chart/hooks/use-mouse-hover.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { nodeContains } from '../../internal/utils/dom';\n\nimport { ScaledBarGroup } from '../make-scaled-bar-groups';\nimport { ScaledPoint } from '../make-scaled-series';\n\nimport styles from '../styles.css.js';\nimport { ChartPlotRef } from '../../internal/components/chart-plot';\nimport { VerticalMarkerX } from '../interfaces';\nimport { isYThreshold } from '../utils';\n\nconst MAX_HOVER_MARGIN = 6;\nconst POPOVER_DEADZONE = 12;\n\nexport interface UseMouseHoverProps<T> {\n plotRef: React.RefObject<ChartPlotRef>;\n popoverRef: React.RefObject<HTMLElement>;\n scaledSeries: ReadonlyArray<ScaledPoint<T>>;\n barGroups: ScaledBarGroup<T>[];\n highlightPoint: (point: ScaledPoint<T> | null) => void;\n highlightGroup: (groupIndex: number) => void;\n clearHighlightedSeries: () => void;\n isGroupNavigation: boolean;\n isHandlersDisabled: boolean;\n highlightX: (verticalMarker: VerticalMarkerX<T> | null) => void;\n}\n\nexport function useMouseHover<T>({\n plotRef,\n popoverRef,\n scaledSeries,\n barGroups,\n highlightPoint,\n highlightGroup,\n clearHighlightedSeries,\n isGroupNavigation,\n isHandlersDisabled,\n highlightX,\n}: UseMouseHoverProps<T>) {\n const isMouseOverPopover = (event: React.MouseEvent<SVGElement, MouseEvent>) => {\n if (popoverRef.current?.firstChild) {\n const popoverPosition = (popoverRef.current.firstChild as HTMLElement).getBoundingClientRect();\n if (\n event.clientX > popoverPosition.x - POPOVER_DEADZONE &&\n event.clientX < popoverPosition.x + popoverPosition.width + POPOVER_DEADZONE &&\n event.clientY > popoverPosition.y - POPOVER_DEADZONE &&\n event.clientY < popoverPosition.y + popoverPosition.height + POPOVER_DEADZONE\n ) {\n return true;\n }\n }\n return false;\n };\n\n const onSeriesMouseMove = (event: React.MouseEvent<SVGElement, MouseEvent>) => {\n const svgRect = (event.target as SVGElement).getBoundingClientRect();\n const offsetX = event.clientX - svgRect.left;\n\n const closestX = scaledSeries\n .map(v => v.x)\n .reduce((prev, curr) => (Math.abs(curr - offsetX) < Math.abs(prev - offsetX) ? curr : prev), -Infinity);\n\n if (isFinite(closestX)) {\n const offsetY = event.clientY - svgRect.top;\n const closestY = scaledSeries\n .filter(v => v.x === closestX || isYThreshold(v.series))\n .map(v => v.y)\n .reduce((prev, curr) => (Math.abs(curr - offsetY) < Math.abs(prev - offsetY) ? curr : prev), -Infinity);\n\n if (\n isFinite(closestY) &&\n Math.abs(offsetX - closestX) < MAX_HOVER_MARGIN &&\n Math.abs(offsetY - closestY) < MAX_HOVER_MARGIN\n ) {\n const [{ color, datum, series }] = scaledSeries.filter(\n s => (s.x === closestX || isYThreshold(s.series)) && s.y === closestY\n );\n highlightPoint({ x: closestX, y: closestY, color, datum, series });\n } else {\n let datumX = null;\n for (const point of scaledSeries) {\n if (point.x === closestX) {\n datumX = point.datum?.x ?? null;\n break;\n }\n }\n highlightX({ scaledX: closestX, label: datumX });\n }\n }\n };\n\n const onGroupMouseMove = (event: React.MouseEvent<SVGElement, MouseEvent>) => {\n const svgRect = (event.target as SVGElement).getBoundingClientRect();\n const offsetX = event.clientX - svgRect.left;\n const offsetY = event.clientY - svgRect.top;\n\n // If hovering over some group - highlight it.\n for (let groupIndex = 0; groupIndex < barGroups.length; groupIndex++) {\n const {\n position: { x, y, width, height },\n } = barGroups[groupIndex];\n\n if (x <= offsetX && offsetX <= x + width && y <= offsetY && offsetY <= y + height) {\n highlightGroup(groupIndex);\n return;\n }\n }\n // Otherwise - clear the highlight.\n clearHighlightedSeries();\n };\n\n const onSVGMouseMove = (event: React.MouseEvent<SVGElement, MouseEvent>) => {\n if (event.target === plotRef.current!.svg && !isHandlersDisabled && !isMouseOverPopover(event)) {\n if (isGroupNavigation) {\n onGroupMouseMove(event);\n } else if (scaledSeries.length > 0) {\n onSeriesMouseMove(event);\n }\n }\n };\n\n const onSVGMouseOut = (event: React.MouseEvent<SVGElement, MouseEvent>) => {\n if (isHandlersDisabled || isMouseOverPopover(event)) {\n return;\n }\n if (\n !nodeContains(plotRef.current!.svg, event.relatedTarget as Element) ||\n (event.relatedTarget && (event.relatedTarget as Element).classList.contains(styles.series))\n ) {\n highlightX(null);\n clearHighlightedSeries();\n }\n };\n\n const onPopoverLeave = (event: React.MouseEvent) => {\n if (!plotRef.current!.svg.contains(event.relatedTarget as Node)) {\n highlightX(null);\n clearHighlightedSeries();\n }\n };\n\n return { onSVGMouseMove, onSVGMouseOut, onPopoverLeave };\n}\n"]}
1
+ {"version":3,"file":"use-mouse-hover.js","sourceRoot":"","sources":["../../../../src/mixed-line-bar-chart/hooks/use-mouse-hover.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { nodeContains } from '../../internal/utils/dom';\n\nimport { ScaledBarGroup } from '../make-scaled-bar-groups';\nimport { ScaledPoint } from '../make-scaled-series';\n\nimport styles from '../styles.css.js';\nimport { ChartPlotRef } from '../../internal/components/chart-plot';\nimport { VerticalMarkerX } from '../interfaces';\nimport { isYThreshold } from '../utils';\n\nconst MAX_HOVER_MARGIN = 6;\nconst POPOVER_DEADZONE = 12;\n\nexport interface UseMouseHoverProps<T> {\n plotRef: React.RefObject<ChartPlotRef>;\n popoverRef: React.RefObject<HTMLElement>;\n scaledSeries: ReadonlyArray<ScaledPoint<T>>;\n barGroups: ScaledBarGroup<T>[];\n highlightPoint: (point: ScaledPoint<T> | null) => void;\n highlightGroup: (groupIndex: number) => void;\n clearHighlightedSeries: () => void;\n isGroupNavigation: boolean;\n isHandlersDisabled: boolean;\n highlightX: (verticalMarker: VerticalMarkerX<T> | null) => void;\n}\n\nexport function useMouseHover<T>({\n plotRef,\n popoverRef,\n scaledSeries,\n barGroups,\n highlightPoint,\n highlightGroup,\n clearHighlightedSeries,\n isGroupNavigation,\n isHandlersDisabled,\n highlightX,\n}: UseMouseHoverProps<T>) {\n const isMouseOverPopover = (event: React.MouseEvent<SVGElement, MouseEvent>) => {\n if (popoverRef.current?.firstChild) {\n const popoverPosition = (popoverRef.current.firstChild as HTMLElement).getBoundingClientRect();\n if (\n event.clientX > popoverPosition.x - POPOVER_DEADZONE &&\n event.clientX < popoverPosition.x + popoverPosition.width + POPOVER_DEADZONE &&\n event.clientY > popoverPosition.y - POPOVER_DEADZONE &&\n event.clientY < popoverPosition.y + popoverPosition.height + POPOVER_DEADZONE\n ) {\n return true;\n }\n }\n return false;\n };\n\n const onSeriesMouseMove = (event: React.MouseEvent<SVGElement, MouseEvent>) => {\n const svgRect = (event.target as SVGElement).getBoundingClientRect();\n const offsetX = event.clientX - svgRect.left;\n\n const closestX = scaledSeries\n .map(v => v.x)\n .reduce((prev, curr) => (Math.abs(curr - offsetX) < Math.abs(prev - offsetX) ? curr : prev), -Infinity);\n\n if (isFinite(closestX)) {\n const offsetY = event.clientY - svgRect.top;\n const closestY = scaledSeries\n .filter(v => v.x === closestX || isYThreshold(v.series))\n .map(v => v.y)\n .reduce((prev, curr) => (Math.abs(curr - offsetY) < Math.abs(prev - offsetY) ? curr : prev), -Infinity);\n\n if (\n isFinite(closestY) &&\n Math.abs(offsetX - closestX) < MAX_HOVER_MARGIN &&\n Math.abs(offsetY - closestY) < MAX_HOVER_MARGIN\n ) {\n const [{ color, datum, series }] = scaledSeries.filter(\n s => (s.x === closestX || isYThreshold(s.series)) && s.y === closestY\n );\n highlightPoint({ x: closestX, y: closestY, color, datum, series });\n } else {\n let datumX = null;\n for (const point of scaledSeries) {\n if (point.x === closestX) {\n datumX = point.datum?.x ?? null;\n break;\n }\n }\n highlightX({ scaledX: closestX, label: datumX });\n }\n }\n };\n\n const onGroupMouseMove = (event: React.MouseEvent<SVGElement, MouseEvent>) => {\n const svgRect = (event.target as SVGElement).getBoundingClientRect();\n const offsetX = event.clientX - svgRect.left;\n const offsetY = event.clientY - svgRect.top;\n\n // If hovering over some group - highlight it.\n for (let groupIndex = 0; groupIndex < barGroups.length; groupIndex++) {\n const {\n position: { x, y, width, height },\n } = barGroups[groupIndex];\n\n if (x <= offsetX && offsetX <= x + width && y <= offsetY && offsetY <= y + height) {\n highlightGroup(groupIndex);\n return;\n }\n }\n // Otherwise - clear the highlight.\n clearHighlightedSeries();\n };\n\n const onSVGMouseMove = (event: React.MouseEvent<SVGElement, MouseEvent>) => {\n if (event.target === plotRef.current!.svg && !isHandlersDisabled && !isMouseOverPopover(event)) {\n if (isGroupNavigation) {\n onGroupMouseMove(event);\n } else if (scaledSeries.length > 0) {\n onSeriesMouseMove(event);\n }\n }\n };\n\n const onSVGMouseOut = (event: React.MouseEvent<SVGElement, MouseEvent>) => {\n if (isHandlersDisabled || isMouseOverPopover(event)) {\n return;\n }\n if (\n !nodeContains(plotRef.current!.svg, event.relatedTarget as Element) ||\n (event.relatedTarget && (event.relatedTarget as Element).classList.contains(styles.series))\n ) {\n highlightX(null);\n clearHighlightedSeries();\n }\n };\n\n const onPopoverLeave = (event: React.MouseEvent) => {\n if (!plotRef.current!.svg.contains(event.relatedTarget as Node)) {\n highlightX(null);\n clearHighlightedSeries();\n }\n };\n\n return { onSVGMouseMove, onSVGMouseOut, onPopoverLeave };\n}\n"]}
@@ -1,29 +1,24 @@
1
- import { __assign } from "tslib";
2
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
2
  // SPDX-License-Identifier: Apache-2.0
4
3
  import { useCallback, useMemo, useState } from 'react';
5
4
  import { KeyCode } from '../../internal/keycode';
6
5
  import { findNavigableSeries, isXThreshold, isYThreshold, nextValidDomainIndex } from '../utils';
7
- export function useNavigation(_a) {
8
- var series = _a.series, visibleSeries = _a.visibleSeries, scaledSeries = _a.scaledSeries, barGroups = _a.barGroups, xScale = _a.xScale, yScale = _a.yScale, highlightedPoint = _a.highlightedPoint, highlightedGroupIndex = _a.highlightedGroupIndex, highlightedSeries = _a.highlightedSeries, isHandlersDisabled = _a.isHandlersDisabled, pinPopover = _a.pinPopover, highlightSeries = _a.highlightSeries, highlightGroup = _a.highlightGroup, highlightPoint = _a.highlightPoint, highlightX = _a.highlightX, verticalMarkerX = _a.verticalMarkerX;
9
- var _b = useState(null), targetX = _b[0], setTargetX = _b[1];
10
- var _c = useState(0), xIndex = _c[0], setXIndex = _c[1];
6
+ export function useNavigation({ series, visibleSeries, scaledSeries, barGroups, xScale, yScale, highlightedPoint, highlightedGroupIndex, highlightedSeries, isHandlersDisabled, pinPopover, highlightSeries, highlightGroup, highlightPoint, highlightX, verticalMarkerX, }) {
7
+ const [targetX, setTargetX] = useState(null);
8
+ const [xIndex, setXIndex] = useState(0);
11
9
  // There are two different types of navigation:
12
10
  // 1) Group navigation for any chart that contains a bar series
13
11
  // 2) Line navigation for any chart that only contains lines and thresholds
14
- var isGroupNavigation = useMemo(function () { return visibleSeries.some(function (_a) {
15
- var series = _a.series;
16
- return series.type === 'bar';
17
- }); }, [visibleSeries]);
12
+ const isGroupNavigation = useMemo(() => visibleSeries.some(({ series }) => series.type === 'bar'), [visibleSeries]);
18
13
  // Make a list of series that can be navigated between. Bar series are treated as one.
19
- var navigableSeries = useMemo(function () { return findNavigableSeries(visibleSeries); }, [visibleSeries]).navigableSeries;
20
- var containsMultipleSeries = navigableSeries.length > 1;
21
- var onBarGroupFocus = function () {
22
- var groupIndex = highlightedGroupIndex !== null && highlightedGroupIndex !== void 0 ? highlightedGroupIndex : 0;
14
+ const { navigableSeries } = useMemo(() => findNavigableSeries(visibleSeries), [visibleSeries]);
15
+ const containsMultipleSeries = navigableSeries.length > 1;
16
+ const onBarGroupFocus = () => {
17
+ const groupIndex = highlightedGroupIndex !== null && highlightedGroupIndex !== void 0 ? highlightedGroupIndex : 0;
23
18
  setTargetX(xScale.domain[groupIndex]);
24
19
  highlightGroup(groupIndex);
25
20
  };
26
- var onLineFocus = function () {
21
+ const onLineFocus = () => {
27
22
  if (verticalMarkerX === null) {
28
23
  if (containsMultipleSeries) {
29
24
  moveToLineGroupIndex(0);
@@ -33,7 +28,7 @@ export function useNavigation(_a) {
33
28
  }
34
29
  }
35
30
  };
36
- var onFocus = function () {
31
+ const onFocus = () => {
37
32
  if (isGroupNavigation) {
38
33
  onBarGroupFocus();
39
34
  }
@@ -43,32 +38,32 @@ export function useNavigation(_a) {
43
38
  };
44
39
  // Returns all the unique X coordinates in scaledSeries.
45
40
  // Assumes scaledSeries is sorted by `x`.
46
- var allUniqueX = useMemo(function () {
47
- var result = [];
48
- for (var i = 0; i < scaledSeries.length; i += 1) {
49
- var point = scaledSeries[i];
41
+ const allUniqueX = useMemo(() => {
42
+ const result = [];
43
+ for (let i = 0; i < scaledSeries.length; i += 1) {
44
+ const point = scaledSeries[i];
50
45
  if (point !== undefined && (!result.length || result[result.length - 1].scaledX !== point.x)) {
51
46
  result.push({ scaledX: point.x, datum: point.datum });
52
47
  }
53
48
  }
54
49
  return result;
55
50
  }, [scaledSeries]);
56
- var moveBetweenSeries = useCallback(function (direction) {
51
+ const moveBetweenSeries = useCallback((direction) => {
57
52
  var _a, _b, _c, _d;
58
53
  if (isGroupNavigation) {
59
54
  return;
60
55
  }
61
- var xOffset = xScale.isCategorical() ? Math.max(0, xScale.d3Scale.bandwidth() - 1) / 2 : 0;
62
- var MAX_SERIES_INDEX = navigableSeries.length - 1;
56
+ const xOffset = xScale.isCategorical() ? Math.max(0, xScale.d3Scale.bandwidth() - 1) / 2 : 0;
57
+ const MAX_SERIES_INDEX = navigableSeries.length - 1;
63
58
  // Find the index of the currently highlighted series (if any)
64
- var previousSeriesIndex = -1;
59
+ let previousSeriesIndex = -1;
65
60
  if (highlightedSeries) {
66
61
  previousSeriesIndex = navigableSeries.indexOf(highlightedSeries);
67
62
  }
68
63
  // Move forwards or backwards to the new series
69
64
  // If index === -1, show all data points from all series at the given X instead of one single series
70
- var firstPossibleIndex = containsMultipleSeries ? -1 : 0;
71
- var nextSeriesIndex = 0;
65
+ const firstPossibleIndex = containsMultipleSeries ? -1 : 0;
66
+ let nextSeriesIndex = 0;
72
67
  if (previousSeriesIndex !== null) {
73
68
  nextSeriesIndex = previousSeriesIndex + direction;
74
69
  if (nextSeriesIndex > MAX_SERIES_INDEX) {
@@ -83,29 +78,26 @@ export function useNavigation(_a) {
83
78
  highlightPoint(null);
84
79
  return;
85
80
  }
86
- var nextSeries = navigableSeries[nextSeriesIndex];
87
- var nextInternalSeries = series.filter(function (_a) {
88
- var series = _a.series;
89
- return series === nextSeries;
90
- })[0];
81
+ const nextSeries = navigableSeries[nextSeriesIndex];
82
+ const nextInternalSeries = series.filter(({ series }) => series === nextSeries)[0];
91
83
  // 2. Find point in the next series
92
- var targetXPoint = ((_a = xScale.d3Scale(targetX)) !== null && _a !== void 0 ? _a : NaN) + xOffset;
84
+ let targetXPoint = ((_a = xScale.d3Scale(targetX)) !== null && _a !== void 0 ? _a : NaN) + xOffset;
93
85
  if (!isFinite(targetXPoint)) {
94
86
  targetXPoint = 0;
95
87
  }
96
88
  if (nextSeries.type === 'line') {
97
- var nextScaledSeries = scaledSeries.filter(function (it) { return it.series === nextSeries; });
98
- var closestNextSeriesPoint = nextScaledSeries.reduce(function (prev, curr) { return (Math.abs(curr.x - targetXPoint) < Math.abs(prev.x - targetXPoint) ? curr : prev); }, { x: -Infinity, y: -Infinity });
99
- highlightPoint(__assign(__assign({}, closestNextSeriesPoint), { color: nextInternalSeries.color, series: nextSeries }));
89
+ const nextScaledSeries = scaledSeries.filter(it => it.series === nextSeries);
90
+ const closestNextSeriesPoint = nextScaledSeries.reduce((prev, curr) => (Math.abs(curr.x - targetXPoint) < Math.abs(prev.x - targetXPoint) ? curr : prev), { x: -Infinity, y: -Infinity });
91
+ highlightPoint(Object.assign(Object.assign({}, closestNextSeriesPoint), { color: nextInternalSeries.color, series: nextSeries }));
100
92
  }
101
93
  else if (isYThreshold(nextSeries)) {
102
- var scaledTargetIndex = scaledSeries.map(function (it) { var _a; return ((_a = it.datum) === null || _a === void 0 ? void 0 : _a.x) || null; }).indexOf(targetX);
94
+ const scaledTargetIndex = scaledSeries.map(it => { var _a; return ((_a = it.datum) === null || _a === void 0 ? void 0 : _a.x) || null; }).indexOf(targetX);
103
95
  highlightPoint({
104
96
  x: targetXPoint,
105
97
  y: (_b = yScale.d3Scale(nextSeries.y)) !== null && _b !== void 0 ? _b : NaN,
106
98
  color: nextInternalSeries.color,
107
99
  series: nextSeries,
108
- datum: (_c = scaledSeries[scaledTargetIndex]) === null || _c === void 0 ? void 0 : _c.datum
100
+ datum: (_c = scaledSeries[scaledTargetIndex]) === null || _c === void 0 ? void 0 : _c.datum,
109
101
  });
110
102
  }
111
103
  else if (isXThreshold(nextSeries)) {
@@ -114,7 +106,7 @@ export function useNavigation(_a) {
114
106
  y: yScale.d3Scale.range()[0],
115
107
  color: nextInternalSeries.color,
116
108
  series: nextSeries,
117
- datum: { x: nextSeries.x, y: NaN }
109
+ datum: { x: nextSeries.x, y: NaN },
118
110
  });
119
111
  }
120
112
  }, [
@@ -130,23 +122,23 @@ export function useNavigation(_a) {
130
122
  scaledSeries,
131
123
  yScale,
132
124
  ]);
133
- var moveWithinSeries = useCallback(function (direction) {
125
+ const moveWithinSeries = useCallback((direction) => {
134
126
  var _a;
135
- var series = highlightedSeries || visibleSeries[0].series;
127
+ const series = highlightedSeries || visibleSeries[0].series;
136
128
  if (series.type === 'line' || isYThreshold(series)) {
137
- var targetScaledSeries = scaledSeries.filter(function (it) { return it.series === series; });
138
- var previousPoint = highlightedPoint || targetScaledSeries[0];
139
- var indexOfPreviousPoint = targetScaledSeries.map(function (it) { return it.x; }).indexOf(previousPoint.x);
140
- var nextPointIndex = circleIndex(indexOfPreviousPoint + direction, [0, targetScaledSeries.length - 1]);
141
- var nextPoint = targetScaledSeries[nextPointIndex];
129
+ const targetScaledSeries = scaledSeries.filter(it => it.series === series);
130
+ const previousPoint = highlightedPoint || targetScaledSeries[0];
131
+ const indexOfPreviousPoint = targetScaledSeries.map(it => it.x).indexOf(previousPoint.x);
132
+ const nextPointIndex = circleIndex(indexOfPreviousPoint + direction, [0, targetScaledSeries.length - 1]);
133
+ const nextPoint = targetScaledSeries[nextPointIndex];
142
134
  setTargetX(((_a = nextPoint.datum) === null || _a === void 0 ? void 0 : _a.x) || null);
143
135
  setXIndex(nextPointIndex);
144
136
  highlightPoint(nextPoint);
145
137
  }
146
138
  else if (series.type === 'bar') {
147
- var xDomain = xScale.domain;
148
- var MAX_GROUP_INDEX = xDomain.length - 1;
149
- var nextGroupIndex = 0;
139
+ const xDomain = xScale.domain;
140
+ const MAX_GROUP_INDEX = xDomain.length - 1;
141
+ let nextGroupIndex = 0;
150
142
  if (highlightedGroupIndex !== null) {
151
143
  // find next group
152
144
  nextGroupIndex = highlightedGroupIndex + direction;
@@ -157,7 +149,7 @@ export function useNavigation(_a) {
157
149
  nextGroupIndex = MAX_GROUP_INDEX;
158
150
  }
159
151
  }
160
- var nextDomainIndex = nextValidDomainIndex(nextGroupIndex, barGroups, direction);
152
+ const nextDomainIndex = nextValidDomainIndex(nextGroupIndex, barGroups, direction);
161
153
  setTargetX(xDomain[nextDomainIndex]);
162
154
  highlightGroup(nextDomainIndex);
163
155
  }
@@ -172,24 +164,24 @@ export function useNavigation(_a) {
172
164
  barGroups,
173
165
  highlightGroup,
174
166
  ]);
175
- var moveToLineGroupIndex = useCallback(function (index) {
167
+ const moveToLineGroupIndex = useCallback((index) => {
176
168
  var _a, _b, _c, _d;
177
- var point = allUniqueX[index];
169
+ const point = allUniqueX[index];
178
170
  setXIndex(index);
179
171
  setTargetX(((_a = point.datum) === null || _a === void 0 ? void 0 : _a.x) || null);
180
172
  highlightX({ scaledX: (_b = point === null || point === void 0 ? void 0 : point.scaledX) !== null && _b !== void 0 ? _b : null, label: (_d = (_c = point.datum) === null || _c === void 0 ? void 0 : _c.x) !== null && _d !== void 0 ? _d : null });
181
173
  }, [allUniqueX, highlightX]);
182
- var moveWithinXAxis = useCallback(function (direction) {
174
+ const moveWithinXAxis = useCallback((direction) => {
183
175
  if (highlightedSeries || isGroupNavigation) {
184
176
  moveWithinSeries(direction);
185
177
  }
186
178
  else {
187
- var nextPointGroupIndex = circleIndex(xIndex + direction, [0, allUniqueX.length - 1]);
179
+ const nextPointGroupIndex = circleIndex(xIndex + direction, [0, allUniqueX.length - 1]);
188
180
  moveToLineGroupIndex(nextPointGroupIndex);
189
181
  }
190
182
  }, [highlightedSeries, isGroupNavigation, moveWithinSeries, xIndex, allUniqueX.length, moveToLineGroupIndex]);
191
- var onKeyDown = useCallback(function (event) {
192
- var keyCode = event.keyCode;
183
+ const onKeyDown = useCallback((event) => {
184
+ const keyCode = event.keyCode;
193
185
  if (keyCode !== KeyCode.up &&
194
186
  keyCode !== KeyCode.right &&
195
187
  keyCode !== KeyCode.down &&
@@ -212,11 +204,10 @@ export function useNavigation(_a) {
212
204
  pinPopover();
213
205
  }
214
206
  }, [isHandlersDisabled, moveBetweenSeries, moveWithinXAxis, pinPopover]);
215
- return { isGroupNavigation: isGroupNavigation, onFocus: onFocus, onKeyDown: onKeyDown, xIndex: xIndex };
207
+ return { isGroupNavigation, onFocus, onKeyDown, xIndex };
216
208
  }
217
209
  // Returns given index if it is in range or the opposite range boundary otherwise.
218
- function circleIndex(index, _a) {
219
- var from = _a[0], to = _a[1];
210
+ function circleIndex(index, [from, to]) {
220
211
  if (index < from) {
221
212
  return to;
222
213
  }