@cloudscape-design/components 3.0.221 → 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 (999) 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/index.js +4 -4
  340. package/icon/index.js.map +1 -1
  341. package/icon/internal.js +18 -18
  342. package/icon/internal.js.map +1 -1
  343. package/input/index.js +36 -17
  344. package/input/index.js.map +1 -1
  345. package/input/internal.js +30 -25
  346. package/input/internal.js.map +1 -1
  347. package/input/utils.js +4 -5
  348. package/input/utils.js.map +1 -1
  349. package/internal/animate.js +27 -32
  350. package/internal/animate.js.map +1 -1
  351. package/internal/base-component/index.js +2 -2
  352. package/internal/base-component/index.js.map +1 -1
  353. package/internal/breakpoints.js +7 -12
  354. package/internal/breakpoints.js.map +1 -1
  355. package/internal/components/abstract-switch/index.d.ts +2 -1
  356. package/internal/components/abstract-switch/index.d.ts.map +1 -1
  357. package/internal/components/abstract-switch/index.js +19 -19
  358. package/internal/components/abstract-switch/index.js.map +1 -1
  359. package/internal/components/abstract-switch/styles.css.js +13 -12
  360. package/internal/components/abstract-switch/styles.scoped.css +21 -21
  361. package/internal/components/abstract-switch/styles.selectors.js +13 -12
  362. package/internal/components/autosuggest-input/index.js +38 -38
  363. package/internal/components/autosuggest-input/index.js.map +1 -1
  364. package/internal/components/button-trigger/index.js +7 -7
  365. package/internal/components/button-trigger/index.js.map +1 -1
  366. package/internal/components/cartesian-chart/axis-label.js +1 -2
  367. package/internal/components/cartesian-chart/axis-label.js.map +1 -1
  368. package/internal/components/cartesian-chart/bottom-labels.js +20 -26
  369. package/internal/components/cartesian-chart/bottom-labels.js.map +1 -1
  370. package/internal/components/cartesian-chart/constants.js +5 -5
  371. package/internal/components/cartesian-chart/constants.js.map +1 -1
  372. package/internal/components/cartesian-chart/emphasized-baseline.js +4 -5
  373. package/internal/components/cartesian-chart/emphasized-baseline.js.map +1 -1
  374. package/internal/components/cartesian-chart/highlighted-point.js +1 -2
  375. package/internal/components/cartesian-chart/highlighted-point.js.map +1 -1
  376. package/internal/components/cartesian-chart/label-utils.js +20 -24
  377. package/internal/components/cartesian-chart/label-utils.js.map +1 -1
  378. package/internal/components/cartesian-chart/labels-measure.js +6 -7
  379. package/internal/components/cartesian-chart/labels-measure.js.map +1 -1
  380. package/internal/components/cartesian-chart/left-labels.js +13 -17
  381. package/internal/components/cartesian-chart/left-labels.js.map +1 -1
  382. package/internal/components/cartesian-chart/scales.js +21 -26
  383. package/internal/components/cartesian-chart/scales.js.map +1 -1
  384. package/internal/components/cartesian-chart/ticks.js +9 -10
  385. package/internal/components/cartesian-chart/ticks.js.map +1 -1
  386. package/internal/components/cartesian-chart/vertical-grid-lines.js +3 -4
  387. package/internal/components/cartesian-chart/vertical-grid-lines.js.map +1 -1
  388. package/internal/components/cartesian-chart/vertical-marker.js +3 -4
  389. package/internal/components/cartesian-chart/vertical-marker.js.map +1 -1
  390. package/internal/components/chart-filter/index.js +13 -14
  391. package/internal/components/chart-filter/index.js.map +1 -1
  392. package/internal/components/chart-legend/index.js +26 -29
  393. package/internal/components/chart-legend/index.js.map +1 -1
  394. package/internal/components/chart-plot/application-controller.js +21 -25
  395. package/internal/components/chart-plot/application-controller.js.map +1 -1
  396. package/internal/components/chart-plot/focus-outline.js +7 -8
  397. package/internal/components/chart-plot/focus-outline.js.map +1 -1
  398. package/internal/components/chart-plot/index.js +33 -34
  399. package/internal/components/chart-plot/index.js.map +1 -1
  400. package/internal/components/chart-popover/index.js +11 -12
  401. package/internal/components/chart-popover/index.js.map +1 -1
  402. package/internal/components/chart-series-details/index.js +13 -17
  403. package/internal/components/chart-series-details/index.js.map +1 -1
  404. package/internal/components/chart-series-marker/index.js +2 -3
  405. package/internal/components/chart-series-marker/index.js.map +1 -1
  406. package/internal/components/chart-status-container/index.js +8 -10
  407. package/internal/components/chart-status-container/index.js.map +1 -1
  408. package/internal/components/checkbox-icon/index.js +18 -19
  409. package/internal/components/checkbox-icon/index.js.map +1 -1
  410. package/internal/components/dark-ribbon/index.js +13 -14
  411. package/internal/components/dark-ribbon/index.js.map +1 -1
  412. package/internal/components/dropdown/context.js +4 -5
  413. package/internal/components/dropdown/context.js.map +1 -1
  414. package/internal/components/dropdown/dropdown-fit-handler.js +74 -81
  415. package/internal/components/dropdown/dropdown-fit-handler.js.map +1 -1
  416. package/internal/components/dropdown/index.js +57 -65
  417. package/internal/components/dropdown/index.js.map +1 -1
  418. package/internal/components/dropdown-footer/index.js +2 -6
  419. package/internal/components/dropdown-footer/index.js.map +1 -1
  420. package/internal/components/dropdown-status/index.js +5 -7
  421. package/internal/components/dropdown-status/index.js.map +1 -1
  422. package/internal/components/filtering-token/index.js +4 -6
  423. package/internal/components/filtering-token/index.js.map +1 -1
  424. package/internal/components/focus-lock/index.js +10 -11
  425. package/internal/components/focus-lock/index.js.map +1 -1
  426. package/internal/components/focus-lock/utils.js +4 -4
  427. package/internal/components/focus-lock/utils.js.map +1 -1
  428. package/internal/components/live-region/index.js +10 -10
  429. package/internal/components/live-region/index.js.map +1 -1
  430. package/internal/components/masked-input/index.js +22 -24
  431. package/internal/components/masked-input/index.js.map +1 -1
  432. package/internal/components/masked-input/keyboard-handler.js +18 -18
  433. package/internal/components/masked-input/keyboard-handler.js.map +1 -1
  434. package/internal/components/masked-input/use-mask.js +24 -28
  435. package/internal/components/masked-input/use-mask.js.map +1 -1
  436. package/internal/components/masked-input/utils/keys.js +4 -6
  437. package/internal/components/masked-input/utils/keys.js.map +1 -1
  438. package/internal/components/masked-input/utils/mask-format.js +103 -113
  439. package/internal/components/masked-input/utils/mask-format.js.map +1 -1
  440. package/internal/components/masked-input/utils/strings.js +1 -4
  441. package/internal/components/masked-input/utils/strings.js.map +1 -1
  442. package/internal/components/menu-dropdown/index.js +10 -12
  443. package/internal/components/menu-dropdown/index.js.map +1 -1
  444. package/internal/components/option/highlight-match.js +14 -18
  445. package/internal/components/option/highlight-match.js.map +1 -1
  446. package/internal/components/option/index.js +13 -13
  447. package/internal/components/option/index.js.map +1 -1
  448. package/internal/components/option/option-announcer.js +1 -1
  449. package/internal/components/option/option-announcer.js.map +1 -1
  450. package/internal/components/option/option-parts.js +28 -45
  451. package/internal/components/option/option-parts.js.map +1 -1
  452. package/internal/components/option/utils/filter-options.js +16 -19
  453. package/internal/components/option/utils/filter-options.js.map +1 -1
  454. package/internal/components/option/utils/flatten-options.js +15 -15
  455. package/internal/components/option/utils/flatten-options.js.map +1 -1
  456. package/internal/components/option/utils/prepare-options.js +3 -3
  457. package/internal/components/option/utils/prepare-options.js.map +1 -1
  458. package/internal/components/options-list/index.js +19 -20
  459. package/internal/components/options-list/index.js.map +1 -1
  460. package/internal/components/options-list/utils/test-indexes.js +11 -11
  461. package/internal/components/options-list/utils/test-indexes.js.map +1 -1
  462. package/internal/components/options-list/utils/use-highlight-option.js +17 -21
  463. package/internal/components/options-list/utils/use-highlight-option.js.map +1 -1
  464. package/internal/components/options-list/utils/use-ids.js +2 -2
  465. package/internal/components/options-list/utils/use-ids.js.map +1 -1
  466. package/internal/components/options-list/utils/use-keyboard.js +6 -8
  467. package/internal/components/options-list/utils/use-keyboard.js.map +1 -1
  468. package/internal/components/options-list/utils/use-open-state.js +6 -7
  469. package/internal/components/options-list/utils/use-open-state.js.map +1 -1
  470. package/internal/components/portal/index.js +5 -6
  471. package/internal/components/portal/index.js.map +1 -1
  472. package/internal/components/screenreader-only/index.js +1 -2
  473. package/internal/components/screenreader-only/index.js.map +1 -1
  474. package/internal/components/selectable-item/index.js +25 -26
  475. package/internal/components/selectable-item/index.js.map +1 -1
  476. package/internal/components/tab-trap/index.js +1 -2
  477. package/internal/components/tab-trap/index.js.map +1 -1
  478. package/internal/components/transition/index.js +16 -16
  479. package/internal/components/transition/index.js.map +1 -1
  480. package/internal/components/visual-context/index.js +6 -7
  481. package/internal/components/visual-context/index.js.map +1 -1
  482. package/internal/context/app-layout-context.js +2 -2
  483. package/internal/context/app-layout-context.js.map +1 -1
  484. package/internal/context/form-field-context.js +4 -4
  485. package/internal/context/form-field-context.js.map +1 -1
  486. package/internal/context/split-panel-context.js +3 -3
  487. package/internal/context/split-panel-context.js.map +1 -1
  488. package/internal/debounce.js +6 -11
  489. package/internal/debounce.js.map +1 -1
  490. package/internal/environment.js +1 -1
  491. package/internal/events/index.js +12 -16
  492. package/internal/events/index.js.map +1 -1
  493. package/internal/focus-tracker.js +22 -27
  494. package/internal/focus-tracker.js.map +1 -1
  495. package/internal/generated/custom-css-properties/index.js +2 -2
  496. package/internal/generated/custom-css-properties/index.js.map +1 -1
  497. package/internal/hooks/check-controlled/index.js +1 -1
  498. package/internal/hooks/check-controlled/index.js.map +1 -1
  499. package/internal/hooks/container-queries/use-container-breakpoints.js +2 -2
  500. package/internal/hooks/container-queries/use-container-breakpoints.js.map +1 -1
  501. package/internal/hooks/container-queries/use-container-query.js +5 -6
  502. package/internal/hooks/container-queries/use-container-query.js.map +1 -1
  503. package/internal/hooks/container-queries/use-resize-observer.js +13 -13
  504. package/internal/hooks/container-queries/use-resize-observer.js.map +1 -1
  505. package/internal/hooks/focus-visible/index.js +8 -8
  506. package/internal/hooks/focus-visible/index.js.map +1 -1
  507. package/internal/hooks/forward-focus/index.js +5 -9
  508. package/internal/hooks/forward-focus/index.js.map +1 -1
  509. package/internal/hooks/forward-focus/radio-group.js +7 -7
  510. package/internal/hooks/forward-focus/radio-group.js.map +1 -1
  511. package/internal/hooks/use-base-component/component-metadata.js +5 -5
  512. package/internal/hooks/use-base-component/component-metadata.js.map +1 -1
  513. package/internal/hooks/use-base-component/index.js +1 -1
  514. package/internal/hooks/use-base-component/index.js.map +1 -1
  515. package/internal/hooks/use-controllable/index.js +16 -17
  516. package/internal/hooks/use-controllable/index.js.map +1 -1
  517. package/internal/hooks/use-date-cache/index.js +2 -2
  518. package/internal/hooks/use-date-cache/index.js.map +1 -1
  519. package/internal/hooks/use-debounce-callback/index.js +3 -7
  520. package/internal/hooks/use-debounce-callback/index.js.map +1 -1
  521. package/internal/hooks/use-dynamic-overlap/index.js +4 -4
  522. package/internal/hooks/use-dynamic-overlap/index.js.map +1 -1
  523. package/internal/hooks/use-effect-on-update.js +2 -2
  524. package/internal/hooks/use-effect-on-update.js.map +1 -1
  525. package/internal/hooks/use-focus-tracker.js +7 -8
  526. package/internal/hooks/use-focus-tracker.js.map +1 -1
  527. package/internal/hooks/use-has-rendered/index.js +6 -6
  528. package/internal/hooks/use-has-rendered/index.js.map +1 -1
  529. package/internal/hooks/use-merge-refs/index.js +5 -9
  530. package/internal/hooks/use-merge-refs/index.js.map +1 -1
  531. package/internal/hooks/use-mobile/index.js +7 -7
  532. package/internal/hooks/use-mobile/index.js.map +1 -1
  533. package/internal/hooks/use-mouse-down-target.js +5 -5
  534. package/internal/hooks/use-mouse-down-target.js.map +1 -1
  535. package/internal/hooks/use-mutation-observer/index.js +5 -5
  536. package/internal/hooks/use-mutation-observer/index.js.map +1 -1
  537. package/internal/hooks/use-portal-mode-classes/index.js +10 -12
  538. package/internal/hooks/use-portal-mode-classes/index.js.map +1 -1
  539. package/internal/hooks/use-previous/index.js +3 -3
  540. package/internal/hooks/use-previous/index.js.map +1 -1
  541. package/internal/hooks/use-scroll-sync/index.js +8 -9
  542. package/internal/hooks/use-scroll-sync/index.js.map +1 -1
  543. package/internal/hooks/use-singleton-handler/index.js +12 -14
  544. package/internal/hooks/use-singleton-handler/index.js.map +1 -1
  545. package/internal/hooks/use-stable-event-handler/index.js +3 -10
  546. package/internal/hooks/use-stable-event-handler/index.js.map +1 -1
  547. package/internal/hooks/use-telemetry/index.js +2 -2
  548. package/internal/hooks/use-telemetry/index.js.map +1 -1
  549. package/internal/hooks/use-telemetry/telemetry.js +3 -4
  550. package/internal/hooks/use-telemetry/telemetry.js.map +1 -1
  551. package/internal/hooks/use-unique-id/index.js +3 -3
  552. package/internal/hooks/use-unique-id/index.js.map +1 -1
  553. package/internal/hooks/use-visual-mode/index.js +11 -11
  554. package/internal/hooks/use-visual-mode/index.js.map +1 -1
  555. package/internal/is-development.js +1 -1
  556. package/internal/is-development.js.map +1 -1
  557. package/internal/logging.js +2 -2
  558. package/internal/logging.js.map +1 -1
  559. package/internal/manifest.json +1 -1
  560. package/internal/metrics/log-clients.js +18 -27
  561. package/internal/metrics/log-clients.js.map +1 -1
  562. package/internal/metrics/metrics-formatters.js +11 -14
  563. package/internal/metrics/metrics-formatters.js.map +1 -1
  564. package/internal/metrics/metrics.js +27 -33
  565. package/internal/metrics/metrics.js.map +1 -1
  566. package/internal/motion.js +2 -2
  567. package/internal/motion.js.map +1 -1
  568. package/internal/styles/colors.js +1 -1
  569. package/internal/styles/colors.js.map +1 -1
  570. package/internal/utils/browser-scrollbar-size.js +5 -5
  571. package/internal/utils/browser-scrollbar-size.js.map +1 -1
  572. package/internal/utils/calculate-once.js +2 -2
  573. package/internal/utils/calculate-once.js.map +1 -1
  574. package/internal/utils/check-safe-url.js +4 -4
  575. package/internal/utils/check-safe-url.js.map +1 -1
  576. package/internal/utils/create-category-color-scale.js +6 -9
  577. package/internal/utils/create-category-color-scale.js.map +1 -1
  578. package/internal/utils/date-time/format-date-range.js +3 -3
  579. package/internal/utils/date-time/format-date-range.js.map +1 -1
  580. package/internal/utils/date-time/format-date.js +4 -4
  581. package/internal/utils/date-time/format-date.js.map +1 -1
  582. package/internal/utils/date-time/format-time.js +5 -5
  583. package/internal/utils/date-time/format-time.js.map +1 -1
  584. package/internal/utils/date-time/format-timezone-offset.js +4 -4
  585. package/internal/utils/date-time/format-timezone-offset.js.map +1 -1
  586. package/internal/utils/date-time/is-iso-date-only.js +1 -1
  587. package/internal/utils/date-time/is-iso-date-only.js.map +1 -1
  588. package/internal/utils/date-time/join-date-time.js +3 -3
  589. package/internal/utils/date-time/join-date-time.js.map +1 -1
  590. package/internal/utils/date-time/parse-date.js +5 -6
  591. package/internal/utils/date-time/parse-date.js.map +1 -1
  592. package/internal/utils/date-time/parse-timezone-offset.js +5 -5
  593. package/internal/utils/date-time/parse-timezone-offset.js.map +1 -1
  594. package/internal/utils/date-time/shift-timezone-offset.js +6 -6
  595. package/internal/utils/date-time/shift-timezone-offset.js.map +1 -1
  596. package/internal/utils/dom.js +12 -12
  597. package/internal/utils/dom.js.map +1 -1
  598. package/internal/utils/external-props.js +3 -3
  599. package/internal/utils/external-props.js.map +1 -1
  600. package/internal/utils/focus-svg-element.js +1 -1
  601. package/internal/utils/focus-svg-element.js.map +1 -1
  602. package/internal/utils/locale/merge-locales.js +1 -1
  603. package/internal/utils/locale/merge-locales.js.map +1 -1
  604. package/internal/utils/locale/normalize-locale.js +3 -3
  605. package/internal/utils/locale/normalize-locale.js.map +1 -1
  606. package/internal/utils/promises.js +7 -11
  607. package/internal/utils/promises.js.map +1 -1
  608. package/internal/utils/scrollable-containers.js +14 -18
  609. package/internal/utils/scrollable-containers.js.map +1 -1
  610. package/internal/utils/strings/join-strings.js +1 -5
  611. package/internal/utils/strings/join-strings.js.map +1 -1
  612. package/internal/utils/strings/pad-left-zeros.js +1 -1
  613. package/internal/utils/strings/pad-left-zeros.js.map +1 -1
  614. package/internal/utils/throttle.js +10 -15
  615. package/internal/utils/throttle.js.map +1 -1
  616. package/internal/utils/use-container-width.js +3 -5
  617. package/internal/utils/use-container-width.js.map +1 -1
  618. package/line-chart/index.js +6 -6
  619. package/line-chart/index.js.map +1 -1
  620. package/link/index.js +5 -5
  621. package/link/index.js.map +1 -1
  622. package/link/internal.js +25 -25
  623. package/link/internal.js.map +1 -1
  624. package/mixed-line-bar-chart/bar-groups.js +3 -4
  625. package/mixed-line-bar-chart/bar-groups.js.map +1 -1
  626. package/mixed-line-bar-chart/bar-series.js +24 -33
  627. package/mixed-line-bar-chart/bar-series.js.map +1 -1
  628. package/mixed-line-bar-chart/chart-container.js +123 -138
  629. package/mixed-line-bar-chart/chart-container.js.map +1 -1
  630. package/mixed-line-bar-chart/chart-filters.js +10 -17
  631. package/mixed-line-bar-chart/chart-filters.js.map +1 -1
  632. package/mixed-line-bar-chart/chart-legend.js +9 -13
  633. package/mixed-line-bar-chart/chart-legend.js.map +1 -1
  634. package/mixed-line-bar-chart/chart-popover.js +3 -4
  635. package/mixed-line-bar-chart/chart-popover.js.map +1 -1
  636. package/mixed-line-bar-chart/data-series.js +13 -17
  637. package/mixed-line-bar-chart/data-series.js.map +1 -1
  638. package/mixed-line-bar-chart/domain.js +32 -39
  639. package/mixed-line-bar-chart/domain.js.map +1 -1
  640. package/mixed-line-bar-chart/format-highlighted.js +13 -14
  641. package/mixed-line-bar-chart/format-highlighted.js.map +1 -1
  642. package/mixed-line-bar-chart/hooks/use-mouse-hover.js +32 -34
  643. package/mixed-line-bar-chart/hooks/use-mouse-hover.js.map +1 -1
  644. package/mixed-line-bar-chart/hooks/use-navigation.js +48 -57
  645. package/mixed-line-bar-chart/hooks/use-navigation.js.map +1 -1
  646. package/mixed-line-bar-chart/hooks/use-popover.js +7 -7
  647. package/mixed-line-bar-chart/hooks/use-popover.js.map +1 -1
  648. package/mixed-line-bar-chart/index.js +4 -4
  649. package/mixed-line-bar-chart/index.js.map +1 -1
  650. package/mixed-line-bar-chart/internal.js +47 -49
  651. package/mixed-line-bar-chart/internal.js.map +1 -1
  652. package/mixed-line-bar-chart/line-series.js +19 -24
  653. package/mixed-line-bar-chart/line-series.js.map +1 -1
  654. package/mixed-line-bar-chart/make-scaled-bar-groups.js +10 -11
  655. package/mixed-line-bar-chart/make-scaled-bar-groups.js.map +1 -1
  656. package/mixed-line-bar-chart/make-scaled-series.js +30 -38
  657. package/mixed-line-bar-chart/make-scaled-series.js.map +1 -1
  658. package/mixed-line-bar-chart/utils.js +18 -21
  659. package/mixed-line-bar-chart/utils.js.map +1 -1
  660. package/modal/body-scroll.js +4 -4
  661. package/modal/body-scroll.js.map +1 -1
  662. package/modal/index.js +4 -4
  663. package/modal/index.js.map +1 -1
  664. package/modal/internal.js +24 -25
  665. package/modal/internal.js.map +1 -1
  666. package/multiselect/index.js +5 -5
  667. package/multiselect/index.js.map +1 -1
  668. package/multiselect/internal.js +81 -88
  669. package/multiselect/internal.js.map +1 -1
  670. package/package.json +1 -1
  671. package/pagination/index.js +2 -3
  672. package/pagination/index.js.map +1 -1
  673. package/pagination/internal.js +16 -17
  674. package/pagination/internal.js.map +1 -1
  675. package/pagination/utils.js +12 -12
  676. package/pagination/utils.js.map +1 -1
  677. package/pie-chart/index.js +38 -39
  678. package/pie-chart/index.js.map +1 -1
  679. package/pie-chart/labels.js +38 -42
  680. package/pie-chart/labels.js.map +1 -1
  681. package/pie-chart/pie-chart.js +65 -67
  682. package/pie-chart/pie-chart.js.map +1 -1
  683. package/pie-chart/responsive-text.js +9 -10
  684. package/pie-chart/responsive-text.js.map +1 -1
  685. package/pie-chart/segments.js +27 -31
  686. package/pie-chart/segments.js.map +1 -1
  687. package/pie-chart/utils.js +32 -35
  688. package/pie-chart/utils.js.map +1 -1
  689. package/popover/arrow.js +2 -2
  690. package/popover/arrow.js.map +1 -1
  691. package/popover/body.js +16 -19
  692. package/popover/body.js.map +1 -1
  693. package/popover/container.js +52 -55
  694. package/popover/container.js.map +1 -1
  695. package/popover/index.js +6 -6
  696. package/popover/index.js.map +1 -1
  697. package/popover/internal.js +28 -28
  698. package/popover/internal.js.map +1 -1
  699. package/popover/utils/positions.js +54 -66
  700. package/popover/utils/positions.js.map +1 -1
  701. package/progress-bar/index.js +17 -17
  702. package/progress-bar/index.js.map +1 -1
  703. package/progress-bar/internal.js +12 -16
  704. package/progress-bar/internal.js.map +1 -1
  705. package/property-filter/controller.js +117 -125
  706. package/property-filter/controller.js.map +1 -1
  707. package/property-filter/filter-options.js +8 -11
  708. package/property-filter/filter-options.js.map +1 -1
  709. package/property-filter/index.js +50 -50
  710. package/property-filter/index.js.map +1 -1
  711. package/property-filter/property-editor.js +4 -5
  712. package/property-filter/property-editor.js.map +1 -1
  713. package/property-filter/property-filter-autosuggest.js +39 -39
  714. package/property-filter/property-filter-autosuggest.js.map +1 -1
  715. package/property-filter/token-editor.js +55 -66
  716. package/property-filter/token-editor.js.map +1 -1
  717. package/property-filter/token.js +9 -11
  718. package/property-filter/token.js.map +1 -1
  719. package/property-filter/use-load-items.js +8 -12
  720. package/property-filter/use-load-items.js.map +1 -1
  721. package/property-filter/utils.js +13 -18
  722. package/property-filter/utils.js.map +1 -1
  723. package/radio-group/index.js +3 -4
  724. package/radio-group/index.js.map +1 -1
  725. package/radio-group/internal.js +9 -9
  726. package/radio-group/internal.js.map +1 -1
  727. package/radio-group/radio-button.js +12 -15
  728. package/radio-group/radio-button.js.map +1 -1
  729. package/s3-resource-selector/index.js +29 -29
  730. package/s3-resource-selector/index.js.map +1 -1
  731. package/s3-resource-selector/s3-in-context/index.js +16 -18
  732. package/s3-resource-selector/s3-in-context/index.js.map +1 -1
  733. package/s3-resource-selector/s3-in-context/search-input.js +3 -4
  734. package/s3-resource-selector/s3-in-context/search-input.js.map +1 -1
  735. package/s3-resource-selector/s3-in-context/use-versions-fetch.js +16 -16
  736. package/s3-resource-selector/s3-in-context/use-versions-fetch.js.map +1 -1
  737. package/s3-resource-selector/s3-in-context/validation.js +6 -6
  738. package/s3-resource-selector/s3-in-context/validation.js.map +1 -1
  739. package/s3-resource-selector/s3-modal/basic-table.js +19 -20
  740. package/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  741. package/s3-resource-selector/s3-modal/buckets-table.js +11 -13
  742. package/s3-resource-selector/s3-modal/buckets-table.js.map +1 -1
  743. package/s3-resource-selector/s3-modal/column-formats.js +5 -5
  744. package/s3-resource-selector/s3-modal/column-formats.js.map +1 -1
  745. package/s3-resource-selector/s3-modal/empty-state.js +1 -2
  746. package/s3-resource-selector/s3-modal/empty-state.js.map +1 -1
  747. package/s3-resource-selector/s3-modal/index.js +37 -43
  748. package/s3-resource-selector/s3-modal/index.js.map +1 -1
  749. package/s3-resource-selector/s3-modal/objects-table.js +12 -14
  750. package/s3-resource-selector/s3-modal/objects-table.js.map +1 -1
  751. package/s3-resource-selector/s3-modal/table-utils.js +9 -12
  752. package/s3-resource-selector/s3-modal/table-utils.js.map +1 -1
  753. package/s3-resource-selector/s3-modal/versions-table.js +10 -12
  754. package/s3-resource-selector/s3-modal/versions-table.js.map +1 -1
  755. package/s3-resource-selector/utils.js +1 -1
  756. package/s3-resource-selector/utils.js.map +1 -1
  757. package/segmented-control/index.js +2 -3
  758. package/segmented-control/index.js.map +1 -1
  759. package/segmented-control/internal-segmented-control.js +16 -17
  760. package/segmented-control/internal-segmented-control.js.map +1 -1
  761. package/segmented-control/internal.js +14 -14
  762. package/segmented-control/internal.js.map +1 -1
  763. package/segmented-control/segment.js +3 -6
  764. package/segmented-control/segment.js.map +1 -1
  765. package/select/index.js +6 -6
  766. package/select/index.js.map +1 -1
  767. package/select/internal.js +58 -58
  768. package/select/internal.js.map +1 -1
  769. package/select/parts/filter.js +4 -4
  770. package/select/parts/filter.js.map +1 -1
  771. package/select/parts/item.js +10 -10
  772. package/select/parts/item.js.map +1 -1
  773. package/select/parts/multiselect-item.js +13 -14
  774. package/select/parts/multiselect-item.js.map +1 -1
  775. package/select/parts/plain-list.js +13 -15
  776. package/select/parts/plain-list.js.map +1 -1
  777. package/select/parts/trigger.js +7 -9
  778. package/select/parts/trigger.js.map +1 -1
  779. package/select/parts/virtual-list.js +27 -33
  780. package/select/parts/virtual-list.js.map +1 -1
  781. package/select/utils/check-option-value-field.js +2 -2
  782. package/select/utils/check-option-value-field.js.map +1 -1
  783. package/select/utils/connect-options.js +6 -7
  784. package/select/utils/connect-options.js.map +1 -1
  785. package/select/utils/get-item-props.js +4 -7
  786. package/select/utils/get-item-props.js.map +1 -1
  787. package/select/utils/render-options.js +13 -15
  788. package/select/utils/render-options.js.map +1 -1
  789. package/select/utils/use-announcement.js +10 -11
  790. package/select/utils/use-announcement.js.map +1 -1
  791. package/select/utils/use-load-items.js +16 -19
  792. package/select/utils/use-load-items.js.map +1 -1
  793. package/select/utils/use-native-search.js +20 -29
  794. package/select/utils/use-native-search.js.map +1 -1
  795. package/select/utils/use-select.js +89 -96
  796. package/select/utils/use-select.js.map +1 -1
  797. package/side-navigation/index.js +10 -10
  798. package/side-navigation/index.js.map +1 -1
  799. package/side-navigation/internal.js +35 -46
  800. package/side-navigation/internal.js.map +1 -1
  801. package/side-navigation/util.js +9 -12
  802. package/side-navigation/util.js.map +1 -1
  803. package/space-between/index.js +4 -4
  804. package/space-between/index.js.map +1 -1
  805. package/space-between/internal.js +7 -7
  806. package/space-between/internal.js.map +1 -1
  807. package/spinner/index.js +4 -4
  808. package/spinner/index.js.map +1 -1
  809. package/spinner/internal.js +4 -4
  810. package/spinner/internal.js.map +1 -1
  811. package/split-panel/bottom.js +22 -25
  812. package/split-panel/bottom.js.map +1 -1
  813. package/split-panel/icons/bottom-icon-refresh.js +11 -13
  814. package/split-panel/icons/bottom-icon-refresh.js.map +1 -1
  815. package/split-panel/icons/bottom-icon.js +1 -1
  816. package/split-panel/icons/bottom-icon.js.map +1 -1
  817. package/split-panel/icons/resize-handler.js +3 -6
  818. package/split-panel/icons/resize-handler.js.map +1 -1
  819. package/split-panel/icons/side-position-refresh.js +12 -14
  820. package/split-panel/icons/side-position-refresh.js.map +1 -1
  821. package/split-panel/icons/side-position.js +1 -1
  822. package/split-panel/icons/side-position.js.map +1 -1
  823. package/split-panel/index.js +65 -65
  824. package/split-panel/index.js.map +1 -1
  825. package/split-panel/preferences-modal.js +9 -9
  826. package/split-panel/preferences-modal.js.map +1 -1
  827. package/split-panel/side.js +12 -15
  828. package/split-panel/side.js.map +1 -1
  829. package/split-panel/utils/size-utils.js +3 -3
  830. package/split-panel/utils/size-utils.js.map +1 -1
  831. package/split-panel/utils/use-keyboard-events.js +13 -17
  832. package/split-panel/utils/use-keyboard-events.js.map +1 -1
  833. package/split-panel/utils/use-pointer-events.js +12 -13
  834. package/split-panel/utils/use-pointer-events.js.map +1 -1
  835. package/status-indicator/index.js +4 -4
  836. package/status-indicator/index.js.map +1 -1
  837. package/status-indicator/internal.js +9 -10
  838. package/status-indicator/internal.js.map +1 -1
  839. package/table/body-cell/click-away.js +9 -10
  840. package/table/body-cell/click-away.js.map +1 -1
  841. package/table/body-cell/index.js +18 -18
  842. package/table/body-cell/index.js.map +1 -1
  843. package/table/body-cell/inline-editor.js +32 -46
  844. package/table/body-cell/inline-editor.js.map +1 -1
  845. package/table/body-cell/td-element.js +2 -4
  846. package/table/body-cell/td-element.js.map +1 -1
  847. package/table/body-cell/use-stable-scroll-position.js +10 -13
  848. package/table/body-cell/use-stable-scroll-position.js.map +1 -1
  849. package/table/header-cell/index.d.ts +4 -2
  850. package/table/header-cell/index.d.ts.map +1 -1
  851. package/table/header-cell/index.js +33 -34
  852. package/table/header-cell/index.js.map +1 -1
  853. package/table/header-cell/utils.js +10 -12
  854. package/table/header-cell/utils.js.map +1 -1
  855. package/table/index.js +5 -5
  856. package/table/index.js.map +1 -1
  857. package/table/internal.d.ts.map +1 -1
  858. package/table/internal.js +94 -118
  859. package/table/internal.js.map +1 -1
  860. package/table/resizer/index.d.ts +5 -1
  861. package/table/resizer/index.d.ts.map +1 -1
  862. package/table/resizer/index.js +40 -39
  863. package/table/resizer/index.js.map +1 -1
  864. package/table/selection-control/index.d.ts +4 -1
  865. package/table/selection-control/index.d.ts.map +1 -1
  866. package/table/selection-control/index.js +11 -11
  867. package/table/selection-control/index.js.map +1 -1
  868. package/table/sticky-header.d.ts +2 -2
  869. package/table/sticky-header.d.ts.map +1 -1
  870. package/table/sticky-header.js +16 -15
  871. package/table/sticky-header.js.map +1 -1
  872. package/table/sticky-scrollbar.js +5 -6
  873. package/table/sticky-scrollbar.js.map +1 -1
  874. package/table/sticky-scrolling.js +10 -10
  875. package/table/sticky-scrolling.js.map +1 -1
  876. package/table/thead.d.ts +11 -3
  877. package/table/thead.d.ts.map +1 -1
  878. package/table/thead.js +13 -13
  879. package/table/thead.js.map +1 -1
  880. package/table/tools-header.js +4 -5
  881. package/table/tools-header.js.map +1 -1
  882. package/table/use-column-widths.js +34 -44
  883. package/table/use-column-widths.js.map +1 -1
  884. package/table/use-row-events.js +10 -11
  885. package/table/use-row-events.js.map +1 -1
  886. package/table/use-selection.js +75 -81
  887. package/table/use-selection.js.map +1 -1
  888. package/table/use-sticky-header.js +16 -16
  889. package/table/use-sticky-header.js.map +1 -1
  890. package/table/use-sticky-scrollbar.js +42 -42
  891. package/table/use-sticky-scrollbar.js.map +1 -1
  892. package/table/use-table-focus-navigation.js +27 -28
  893. package/table/use-table-focus-navigation.js.map +1 -1
  894. package/table/utils.js +7 -7
  895. package/table/utils.js.map +1 -1
  896. package/tabs/index.js +30 -33
  897. package/tabs/index.js.map +1 -1
  898. package/tabs/scroll-utils.js +12 -13
  899. package/tabs/scroll-utils.js.map +1 -1
  900. package/tabs/smooth-scroll.js +17 -17
  901. package/tabs/smooth-scroll.js.map +1 -1
  902. package/tabs/tab-header-bar.js +61 -66
  903. package/tabs/tab-header-bar.js.map +1 -1
  904. package/tag-editor/index.js +59 -72
  905. package/tag-editor/index.js.map +1 -1
  906. package/tag-editor/internal.js +21 -29
  907. package/tag-editor/internal.js.map +1 -1
  908. package/tag-editor/utils.js +7 -8
  909. package/tag-editor/utils.js.map +1 -1
  910. package/tag-editor/validation.js +16 -18
  911. package/tag-editor/validation.js.map +1 -1
  912. package/text-content/index.js +6 -6
  913. package/text-content/index.js.map +1 -1
  914. package/text-filter/index.js +3 -4
  915. package/text-filter/index.js.map +1 -1
  916. package/text-filter/internal.js +10 -10
  917. package/text-filter/internal.js.map +1 -1
  918. package/textarea/index.js +23 -24
  919. package/textarea/index.js.map +1 -1
  920. package/theming/index.js +2 -3
  921. package/theming/index.js.map +1 -1
  922. package/tiles/index.js +3 -4
  923. package/tiles/index.js.map +1 -1
  924. package/tiles/internal.js +17 -17
  925. package/tiles/internal.js.map +1 -1
  926. package/tiles/tile.js +7 -9
  927. package/tiles/tile.js.map +1 -1
  928. package/time-input/index.js +5 -5
  929. package/time-input/index.js.map +1 -1
  930. package/time-input/internal.js +9 -9
  931. package/time-input/internal.js.map +1 -1
  932. package/toggle/index.js +3 -4
  933. package/toggle/index.js.map +1 -1
  934. package/toggle/internal.js +15 -16
  935. package/toggle/internal.js.map +1 -1
  936. package/token-group/dismiss-button.js +5 -7
  937. package/token-group/dismiss-button.js.map +1 -1
  938. package/token-group/index.js +4 -4
  939. package/token-group/index.js.map +1 -1
  940. package/token-group/internal.js +14 -14
  941. package/token-group/internal.js.map +1 -1
  942. package/token-group/toggle.js +7 -9
  943. package/token-group/toggle.js.map +1 -1
  944. package/top-navigation/1.0-beta/index.js +4 -4
  945. package/top-navigation/1.0-beta/index.js.map +1 -1
  946. package/top-navigation/1.0-beta/internal.js +43 -46
  947. package/top-navigation/1.0-beta/internal.js.map +1 -1
  948. package/top-navigation/1.0-beta/parts/overflow-menu.js +16 -17
  949. package/top-navigation/1.0-beta/parts/overflow-menu.js.map +1 -1
  950. package/top-navigation/1.0-beta/parts/utility.js +9 -12
  951. package/top-navigation/1.0-beta/parts/utility.js.map +1 -1
  952. package/top-navigation/1.0-beta/use-top-navigation.js +46 -54
  953. package/top-navigation/1.0-beta/use-top-navigation.js.map +1 -1
  954. package/top-navigation/index.js +4 -4
  955. package/top-navigation/index.js.map +1 -1
  956. package/top-navigation/internal.js +64 -71
  957. package/top-navigation/internal.js.map +1 -1
  958. package/top-navigation/parts/overflow-menu/header.js +3 -4
  959. package/top-navigation/parts/overflow-menu/header.js.map +1 -1
  960. package/top-navigation/parts/overflow-menu/index.js +4 -5
  961. package/top-navigation/parts/overflow-menu/index.js.map +1 -1
  962. package/top-navigation/parts/overflow-menu/menu-item.js +56 -61
  963. package/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
  964. package/top-navigation/parts/overflow-menu/router.js +11 -13
  965. package/top-navigation/parts/overflow-menu/router.js.map +1 -1
  966. package/top-navigation/parts/overflow-menu/views/submenu.js +6 -8
  967. package/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
  968. package/top-navigation/parts/overflow-menu/views/utilities.js +5 -7
  969. package/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
  970. package/top-navigation/parts/utility.js +12 -15
  971. package/top-navigation/parts/utility.js.map +1 -1
  972. package/top-navigation/use-top-navigation.js +52 -59
  973. package/top-navigation/use-top-navigation.js.map +1 -1
  974. package/tutorial-panel/components/tutorial-detail-view/congratulation-screen.js +5 -7
  975. package/tutorial-panel/components/tutorial-detail-view/congratulation-screen.js.map +1 -1
  976. package/tutorial-panel/components/tutorial-detail-view/index.js +6 -7
  977. package/tutorial-panel/components/tutorial-detail-view/index.js.map +1 -1
  978. package/tutorial-panel/components/tutorial-detail-view/task-list.js +8 -15
  979. package/tutorial-panel/components/tutorial-detail-view/task-list.js.map +1 -1
  980. package/tutorial-panel/components/tutorial-detail-view/task.js +5 -6
  981. package/tutorial-panel/components/tutorial-detail-view/task.js.map +1 -1
  982. package/tutorial-panel/components/tutorial-list/index.js +19 -22
  983. package/tutorial-panel/components/tutorial-list/index.js.map +1 -1
  984. package/tutorial-panel/index.js +8 -8
  985. package/tutorial-panel/index.js.map +1 -1
  986. package/wizard/index.js +28 -28
  987. package/wizard/index.js.map +1 -1
  988. package/wizard/internal/analytics.js +32 -42
  989. package/wizard/internal/analytics.js.map +1 -1
  990. package/wizard/unmount.js +6 -13
  991. package/wizard/unmount.js.map +1 -1
  992. package/wizard/wizard-actions.js +7 -8
  993. package/wizard/wizard-actions.js.map +1 -1
  994. package/wizard/wizard-form-header.js +2 -3
  995. package/wizard/wizard-form-header.js.map +1 -1
  996. package/wizard/wizard-form.js +14 -16
  997. package/wizard/wizard-form.js.map +1 -1
  998. package/wizard/wizard-navigation.js +19 -25
  999. package/wizard/wizard-navigation.js.map +1 -1
@@ -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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-navigation.js","sourceRoot":"","sources":["../../../../src/mixed-line-bar-chart/hooks/use-navigation.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 React, { useCallback, useMemo, useState } from 'react';\nimport { KeyCode } from '../../internal/keycode';\nimport { ChartContainerProps } from '../chart-container';\nimport { ChartDataTypes, MixedLineBarChartProps, VerticalMarkerX } from '../interfaces';\nimport { ChartScale, NumericChartScale } from '../../internal/components/cartesian-chart/scales';\nimport { findNavigableSeries, isXThreshold, isYThreshold, nextValidDomainIndex } from '../utils';\nimport { ScaledPoint } from '../make-scaled-series';\nimport { ScaledBarGroup } from '../make-scaled-bar-groups';\n\nexport type UseNavigationProps<T extends ChartDataTypes> = Pick<\n ChartContainerProps<T>,\n 'highlightedSeries' | 'series' | 'visibleSeries'\n> & {\n xScale: ChartScale;\n yScale: NumericChartScale;\n barGroups: ScaledBarGroup<T>[];\n scaledSeries: ReadonlyArray<ScaledPoint<T>>;\n\n highlightedPoint: ScaledPoint<T> | null;\n highlightedGroupIndex: number | null;\n isHandlersDisabled: boolean;\n\n pinPopover(pinned?: boolean): void;\n highlightSeries(series: MixedLineBarChartProps.ChartSeries<T> | null): void;\n highlightGroup(groupIndex: number): void;\n highlightPoint(point: ScaledPoint<T> | null): void;\n highlightX: (verticalMarker: VerticalMarkerX<T> | null) => void;\n clearHighlightedSeries(): void;\n verticalMarkerX: VerticalMarkerX<T> | null;\n};\n\nexport function useNavigation<T extends ChartDataTypes>({\n series,\n visibleSeries,\n scaledSeries,\n barGroups,\n xScale,\n yScale,\n highlightedPoint,\n highlightedGroupIndex,\n highlightedSeries,\n isHandlersDisabled,\n pinPopover,\n highlightSeries,\n highlightGroup,\n highlightPoint,\n highlightX,\n verticalMarkerX,\n}: UseNavigationProps<T>) {\n const [targetX, setTargetX] = useState<T | null>(null);\n const [xIndex, setXIndex] = useState(0);\n\n // There are two different types of navigation:\n // 1) Group navigation for any chart that contains a bar series\n // 2) Line navigation for any chart that only contains lines and thresholds\n const isGroupNavigation = useMemo(() => visibleSeries.some(({ series }) => series.type === 'bar'), [visibleSeries]);\n\n // Make a list of series that can be navigated between. Bar series are treated as one.\n const { navigableSeries } = useMemo(() => findNavigableSeries(visibleSeries), [visibleSeries]);\n const containsMultipleSeries = navigableSeries.length > 1;\n\n const onBarGroupFocus = () => {\n const groupIndex = highlightedGroupIndex ?? 0;\n setTargetX((xScale.domain as T[])[groupIndex]);\n highlightGroup(groupIndex);\n };\n\n const onLineFocus = () => {\n if (verticalMarkerX === null) {\n if (containsMultipleSeries) {\n moveToLineGroupIndex(0);\n } else {\n moveBetweenSeries(0);\n }\n }\n };\n\n const onFocus = () => {\n if (isGroupNavigation) {\n onBarGroupFocus();\n } else {\n onLineFocus();\n }\n };\n\n // Returns all the unique X coordinates in scaledSeries.\n // Assumes scaledSeries is sorted by `x`.\n const allUniqueX = useMemo(() => {\n const result = [];\n for (let i = 0; i < scaledSeries.length; i += 1) {\n const point = scaledSeries[i];\n if (point !== undefined && (!result.length || result[result.length - 1].scaledX !== point.x)) {\n result.push({ scaledX: point.x, datum: point.datum });\n }\n }\n return result;\n }, [scaledSeries]);\n\n const moveBetweenSeries = useCallback(\n (direction: number) => {\n if (isGroupNavigation) {\n return;\n }\n\n const xOffset = xScale.isCategorical() ? Math.max(0, xScale.d3Scale.bandwidth() - 1) / 2 : 0;\n const MAX_SERIES_INDEX = navigableSeries.length - 1;\n\n // Find the index of the currently highlighted series (if any)\n let previousSeriesIndex = -1;\n if (highlightedSeries) {\n previousSeriesIndex = navigableSeries.indexOf(highlightedSeries);\n }\n\n // Move forwards or backwards to the new series\n // If index === -1, show all data points from all series at the given X instead of one single series\n const firstPossibleIndex = containsMultipleSeries ? -1 : 0;\n let nextSeriesIndex = 0;\n if (previousSeriesIndex !== null) {\n nextSeriesIndex = previousSeriesIndex + direction;\n if (nextSeriesIndex > MAX_SERIES_INDEX) {\n nextSeriesIndex = firstPossibleIndex;\n } else if (nextSeriesIndex < firstPossibleIndex) {\n nextSeriesIndex = MAX_SERIES_INDEX;\n }\n }\n if (nextSeriesIndex === -1) {\n highlightSeries(null);\n highlightPoint(null);\n return;\n }\n const nextSeries = navigableSeries[nextSeriesIndex];\n const nextInternalSeries = series.filter(({ series }) => series === nextSeries)[0];\n\n // 2. Find point in the next series\n let targetXPoint = (xScale.d3Scale(targetX as any) ?? NaN) + xOffset;\n if (!isFinite(targetXPoint)) {\n targetXPoint = 0;\n }\n\n if (nextSeries.type === 'line') {\n const nextScaledSeries = scaledSeries.filter(it => it.series === nextSeries);\n const closestNextSeriesPoint = nextScaledSeries.reduce(\n (prev, curr) => (Math.abs(curr.x - targetXPoint) < Math.abs(prev.x - targetXPoint) ? curr : prev),\n { x: -Infinity, y: -Infinity }\n );\n highlightPoint({ ...closestNextSeriesPoint, color: nextInternalSeries.color, series: nextSeries });\n } else if (isYThreshold(nextSeries)) {\n const scaledTargetIndex = scaledSeries.map(it => it.datum?.x || null).indexOf(targetX);\n highlightPoint({\n x: targetXPoint,\n y: yScale.d3Scale(nextSeries.y) ?? NaN,\n color: nextInternalSeries.color,\n series: nextSeries,\n datum: scaledSeries[scaledTargetIndex]?.datum,\n });\n } else if (isXThreshold(nextSeries)) {\n highlightPoint({\n x: xScale.d3Scale(nextSeries.x as any) ?? NaN,\n y: yScale.d3Scale.range()[0],\n color: nextInternalSeries.color,\n series: nextSeries,\n datum: { x: nextSeries.x, y: NaN },\n });\n }\n },\n [\n isGroupNavigation,\n xScale,\n navigableSeries,\n highlightedSeries,\n containsMultipleSeries,\n highlightSeries,\n highlightPoint,\n series,\n targetX,\n scaledSeries,\n yScale,\n ]\n );\n\n const moveWithinSeries = useCallback(\n (direction: number) => {\n const series = highlightedSeries || visibleSeries[0].series;\n\n if (series.type === 'line' || isYThreshold(series)) {\n const targetScaledSeries = scaledSeries.filter(it => it.series === series);\n const previousPoint = highlightedPoint || targetScaledSeries[0];\n const indexOfPreviousPoint = targetScaledSeries.map(it => it.x).indexOf(previousPoint.x);\n const nextPointIndex = circleIndex(indexOfPreviousPoint + direction, [0, targetScaledSeries.length - 1]);\n const nextPoint = targetScaledSeries[nextPointIndex];\n\n setTargetX(nextPoint.datum?.x || null);\n setXIndex(nextPointIndex);\n highlightPoint(nextPoint);\n } else if (series.type === 'bar') {\n const xDomain = xScale.domain as T[];\n const MAX_GROUP_INDEX = xDomain.length - 1;\n\n let nextGroupIndex = 0;\n if (highlightedGroupIndex !== null) {\n // find next group\n nextGroupIndex = highlightedGroupIndex + direction;\n if (nextGroupIndex > MAX_GROUP_INDEX) {\n nextGroupIndex = 0;\n } else if (nextGroupIndex < 0) {\n nextGroupIndex = MAX_GROUP_INDEX;\n }\n }\n\n const nextDomainIndex = nextValidDomainIndex(nextGroupIndex, barGroups, direction);\n setTargetX(xDomain[nextDomainIndex]);\n highlightGroup(nextDomainIndex);\n }\n },\n [\n highlightedSeries,\n visibleSeries,\n scaledSeries,\n highlightedPoint,\n highlightPoint,\n xScale.domain,\n highlightedGroupIndex,\n barGroups,\n highlightGroup,\n ]\n );\n\n const moveToLineGroupIndex = useCallback(\n (index: number) => {\n const point = allUniqueX[index];\n setXIndex(index);\n setTargetX(point.datum?.x || null);\n highlightX({ scaledX: point?.scaledX ?? null, label: point.datum?.x ?? null });\n },\n [allUniqueX, highlightX]\n );\n\n const moveWithinXAxis = useCallback(\n (direction: number) => {\n if (highlightedSeries || isGroupNavigation) {\n moveWithinSeries(direction);\n } else {\n const nextPointGroupIndex = circleIndex(xIndex + direction, [0, allUniqueX.length - 1]);\n moveToLineGroupIndex(nextPointGroupIndex);\n }\n },\n [highlightedSeries, isGroupNavigation, moveWithinSeries, xIndex, allUniqueX.length, moveToLineGroupIndex]\n );\n\n const onKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n const keyCode = event.keyCode;\n if (\n keyCode !== KeyCode.up &&\n keyCode !== KeyCode.right &&\n keyCode !== KeyCode.down &&\n keyCode !== KeyCode.left &&\n keyCode !== KeyCode.space &&\n keyCode !== KeyCode.enter\n ) {\n return;\n }\n\n event.preventDefault();\n\n if (isHandlersDisabled) {\n return;\n }\n\n if (keyCode === KeyCode.down || keyCode === KeyCode.up) {\n moveBetweenSeries(keyCode === KeyCode.down ? 1 : -1);\n } else if (keyCode === KeyCode.left || keyCode === KeyCode.right) {\n moveWithinXAxis(keyCode === KeyCode.right ? 1 : -1);\n } else if (keyCode === KeyCode.enter || keyCode === KeyCode.space) {\n pinPopover();\n }\n },\n [isHandlersDisabled, moveBetweenSeries, moveWithinXAxis, pinPopover]\n );\n\n return { isGroupNavigation, onFocus, onKeyDown, xIndex };\n}\n\n// Returns given index if it is in range or the opposite range boundary otherwise.\nfunction circleIndex(index: number, [from, to]: [number, number]): number {\n if (index < from) {\n return to;\n }\n if (index > to) {\n return from;\n }\n return index;\n}\n"]}
1
+ {"version":3,"file":"use-navigation.js","sourceRoot":"","sources":["../../../../src/mixed-line-bar-chart/hooks/use-navigation.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 React, { useCallback, useMemo, useState } from 'react';\nimport { KeyCode } from '../../internal/keycode';\nimport { ChartContainerProps } from '../chart-container';\nimport { ChartDataTypes, MixedLineBarChartProps, VerticalMarkerX } from '../interfaces';\nimport { ChartScale, NumericChartScale } from '../../internal/components/cartesian-chart/scales';\nimport { findNavigableSeries, isXThreshold, isYThreshold, nextValidDomainIndex } from '../utils';\nimport { ScaledPoint } from '../make-scaled-series';\nimport { ScaledBarGroup } from '../make-scaled-bar-groups';\n\nexport type UseNavigationProps<T extends ChartDataTypes> = Pick<\n ChartContainerProps<T>,\n 'highlightedSeries' | 'series' | 'visibleSeries'\n> & {\n xScale: ChartScale;\n yScale: NumericChartScale;\n barGroups: ScaledBarGroup<T>[];\n scaledSeries: ReadonlyArray<ScaledPoint<T>>;\n\n highlightedPoint: ScaledPoint<T> | null;\n highlightedGroupIndex: number | null;\n isHandlersDisabled: boolean;\n\n pinPopover(pinned?: boolean): void;\n highlightSeries(series: MixedLineBarChartProps.ChartSeries<T> | null): void;\n highlightGroup(groupIndex: number): void;\n highlightPoint(point: ScaledPoint<T> | null): void;\n highlightX: (verticalMarker: VerticalMarkerX<T> | null) => void;\n clearHighlightedSeries(): void;\n verticalMarkerX: VerticalMarkerX<T> | null;\n};\n\nexport function useNavigation<T extends ChartDataTypes>({\n series,\n visibleSeries,\n scaledSeries,\n barGroups,\n xScale,\n yScale,\n highlightedPoint,\n highlightedGroupIndex,\n highlightedSeries,\n isHandlersDisabled,\n pinPopover,\n highlightSeries,\n highlightGroup,\n highlightPoint,\n highlightX,\n verticalMarkerX,\n}: UseNavigationProps<T>) {\n const [targetX, setTargetX] = useState<T | null>(null);\n const [xIndex, setXIndex] = useState(0);\n\n // There are two different types of navigation:\n // 1) Group navigation for any chart that contains a bar series\n // 2) Line navigation for any chart that only contains lines and thresholds\n const isGroupNavigation = useMemo(() => visibleSeries.some(({ series }) => series.type === 'bar'), [visibleSeries]);\n\n // Make a list of series that can be navigated between. Bar series are treated as one.\n const { navigableSeries } = useMemo(() => findNavigableSeries(visibleSeries), [visibleSeries]);\n const containsMultipleSeries = navigableSeries.length > 1;\n\n const onBarGroupFocus = () => {\n const groupIndex = highlightedGroupIndex ?? 0;\n setTargetX((xScale.domain as T[])[groupIndex]);\n highlightGroup(groupIndex);\n };\n\n const onLineFocus = () => {\n if (verticalMarkerX === null) {\n if (containsMultipleSeries) {\n moveToLineGroupIndex(0);\n } else {\n moveBetweenSeries(0);\n }\n }\n };\n\n const onFocus = () => {\n if (isGroupNavigation) {\n onBarGroupFocus();\n } else {\n onLineFocus();\n }\n };\n\n // Returns all the unique X coordinates in scaledSeries.\n // Assumes scaledSeries is sorted by `x`.\n const allUniqueX = useMemo(() => {\n const result = [];\n for (let i = 0; i < scaledSeries.length; i += 1) {\n const point = scaledSeries[i];\n if (point !== undefined && (!result.length || result[result.length - 1].scaledX !== point.x)) {\n result.push({ scaledX: point.x, datum: point.datum });\n }\n }\n return result;\n }, [scaledSeries]);\n\n const moveBetweenSeries = useCallback(\n (direction: number) => {\n if (isGroupNavigation) {\n return;\n }\n\n const xOffset = xScale.isCategorical() ? Math.max(0, xScale.d3Scale.bandwidth() - 1) / 2 : 0;\n const MAX_SERIES_INDEX = navigableSeries.length - 1;\n\n // Find the index of the currently highlighted series (if any)\n let previousSeriesIndex = -1;\n if (highlightedSeries) {\n previousSeriesIndex = navigableSeries.indexOf(highlightedSeries);\n }\n\n // Move forwards or backwards to the new series\n // If index === -1, show all data points from all series at the given X instead of one single series\n const firstPossibleIndex = containsMultipleSeries ? -1 : 0;\n let nextSeriesIndex = 0;\n if (previousSeriesIndex !== null) {\n nextSeriesIndex = previousSeriesIndex + direction;\n if (nextSeriesIndex > MAX_SERIES_INDEX) {\n nextSeriesIndex = firstPossibleIndex;\n } else if (nextSeriesIndex < firstPossibleIndex) {\n nextSeriesIndex = MAX_SERIES_INDEX;\n }\n }\n if (nextSeriesIndex === -1) {\n highlightSeries(null);\n highlightPoint(null);\n return;\n }\n const nextSeries = navigableSeries[nextSeriesIndex];\n const nextInternalSeries = series.filter(({ series }) => series === nextSeries)[0];\n\n // 2. Find point in the next series\n let targetXPoint = (xScale.d3Scale(targetX as any) ?? NaN) + xOffset;\n if (!isFinite(targetXPoint)) {\n targetXPoint = 0;\n }\n\n if (nextSeries.type === 'line') {\n const nextScaledSeries = scaledSeries.filter(it => it.series === nextSeries);\n const closestNextSeriesPoint = nextScaledSeries.reduce(\n (prev, curr) => (Math.abs(curr.x - targetXPoint) < Math.abs(prev.x - targetXPoint) ? curr : prev),\n { x: -Infinity, y: -Infinity }\n );\n highlightPoint({ ...closestNextSeriesPoint, color: nextInternalSeries.color, series: nextSeries });\n } else if (isYThreshold(nextSeries)) {\n const scaledTargetIndex = scaledSeries.map(it => it.datum?.x || null).indexOf(targetX);\n highlightPoint({\n x: targetXPoint,\n y: yScale.d3Scale(nextSeries.y) ?? NaN,\n color: nextInternalSeries.color,\n series: nextSeries,\n datum: scaledSeries[scaledTargetIndex]?.datum,\n });\n } else if (isXThreshold(nextSeries)) {\n highlightPoint({\n x: xScale.d3Scale(nextSeries.x as any) ?? NaN,\n y: yScale.d3Scale.range()[0],\n color: nextInternalSeries.color,\n series: nextSeries,\n datum: { x: nextSeries.x, y: NaN },\n });\n }\n },\n [\n isGroupNavigation,\n xScale,\n navigableSeries,\n highlightedSeries,\n containsMultipleSeries,\n highlightSeries,\n highlightPoint,\n series,\n targetX,\n scaledSeries,\n yScale,\n ]\n );\n\n const moveWithinSeries = useCallback(\n (direction: number) => {\n const series = highlightedSeries || visibleSeries[0].series;\n\n if (series.type === 'line' || isYThreshold(series)) {\n const targetScaledSeries = scaledSeries.filter(it => it.series === series);\n const previousPoint = highlightedPoint || targetScaledSeries[0];\n const indexOfPreviousPoint = targetScaledSeries.map(it => it.x).indexOf(previousPoint.x);\n const nextPointIndex = circleIndex(indexOfPreviousPoint + direction, [0, targetScaledSeries.length - 1]);\n const nextPoint = targetScaledSeries[nextPointIndex];\n\n setTargetX(nextPoint.datum?.x || null);\n setXIndex(nextPointIndex);\n highlightPoint(nextPoint);\n } else if (series.type === 'bar') {\n const xDomain = xScale.domain as T[];\n const MAX_GROUP_INDEX = xDomain.length - 1;\n\n let nextGroupIndex = 0;\n if (highlightedGroupIndex !== null) {\n // find next group\n nextGroupIndex = highlightedGroupIndex + direction;\n if (nextGroupIndex > MAX_GROUP_INDEX) {\n nextGroupIndex = 0;\n } else if (nextGroupIndex < 0) {\n nextGroupIndex = MAX_GROUP_INDEX;\n }\n }\n\n const nextDomainIndex = nextValidDomainIndex(nextGroupIndex, barGroups, direction);\n setTargetX(xDomain[nextDomainIndex]);\n highlightGroup(nextDomainIndex);\n }\n },\n [\n highlightedSeries,\n visibleSeries,\n scaledSeries,\n highlightedPoint,\n highlightPoint,\n xScale.domain,\n highlightedGroupIndex,\n barGroups,\n highlightGroup,\n ]\n );\n\n const moveToLineGroupIndex = useCallback(\n (index: number) => {\n const point = allUniqueX[index];\n setXIndex(index);\n setTargetX(point.datum?.x || null);\n highlightX({ scaledX: point?.scaledX ?? null, label: point.datum?.x ?? null });\n },\n [allUniqueX, highlightX]\n );\n\n const moveWithinXAxis = useCallback(\n (direction: number) => {\n if (highlightedSeries || isGroupNavigation) {\n moveWithinSeries(direction);\n } else {\n const nextPointGroupIndex = circleIndex(xIndex + direction, [0, allUniqueX.length - 1]);\n moveToLineGroupIndex(nextPointGroupIndex);\n }\n },\n [highlightedSeries, isGroupNavigation, moveWithinSeries, xIndex, allUniqueX.length, moveToLineGroupIndex]\n );\n\n const onKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n const keyCode = event.keyCode;\n if (\n keyCode !== KeyCode.up &&\n keyCode !== KeyCode.right &&\n keyCode !== KeyCode.down &&\n keyCode !== KeyCode.left &&\n keyCode !== KeyCode.space &&\n keyCode !== KeyCode.enter\n ) {\n return;\n }\n\n event.preventDefault();\n\n if (isHandlersDisabled) {\n return;\n }\n\n if (keyCode === KeyCode.down || keyCode === KeyCode.up) {\n moveBetweenSeries(keyCode === KeyCode.down ? 1 : -1);\n } else if (keyCode === KeyCode.left || keyCode === KeyCode.right) {\n moveWithinXAxis(keyCode === KeyCode.right ? 1 : -1);\n } else if (keyCode === KeyCode.enter || keyCode === KeyCode.space) {\n pinPopover();\n }\n },\n [isHandlersDisabled, moveBetweenSeries, moveWithinXAxis, pinPopover]\n );\n\n return { isGroupNavigation, onFocus, onKeyDown, xIndex };\n}\n\n// Returns given index if it is in range or the opposite range boundary otherwise.\nfunction circleIndex(index: number, [from, to]: [number, number]): number {\n if (index < from) {\n return to;\n }\n if (index > to) {\n return from;\n }\n return index;\n}\n"]}
@@ -2,12 +2,12 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { useCallback, useState } from 'react';
4
4
  export function usePopover() {
5
- var _a = useState('closed'), state = _a[0], setState = _a[1];
6
- var isPopoverOpen = state !== 'closed';
7
- var isPopoverPinned = state === 'pinned';
8
- var showPopover = useCallback(function () { return setState('open'); }, []);
9
- var pinPopover = useCallback(function () { return setState('pinned'); }, []);
10
- var dismissPopover = useCallback(function () { return setState('closed'); }, []);
11
- return { isPopoverOpen: isPopoverOpen, isPopoverPinned: isPopoverPinned, showPopover: showPopover, pinPopover: pinPopover, dismissPopover: dismissPopover };
5
+ const [state, setState] = useState('closed');
6
+ const isPopoverOpen = state !== 'closed';
7
+ const isPopoverPinned = state === 'pinned';
8
+ const showPopover = useCallback(() => setState('open'), []);
9
+ const pinPopover = useCallback(() => setState('pinned'), []);
10
+ const dismissPopover = useCallback(() => setState('closed'), []);
11
+ return { isPopoverOpen, isPopoverPinned, showPopover, pinPopover, dismissPopover };
12
12
  }
13
13
  //# sourceMappingURL=use-popover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-popover.js","sourceRoot":"","sources":["../../../../src/mixed-line-bar-chart/hooks/use-popover.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9C,MAAM,UAAU,UAAU;IAClB,IAAA,KAAoB,QAAQ,CAA+B,QAAQ,CAAC,EAAnE,KAAK,QAAA,EAAE,QAAQ,QAAoD,CAAC;IAE3E,IAAM,aAAa,GAAG,KAAK,KAAK,QAAQ,CAAC;IACzC,IAAM,eAAe,GAAG,KAAK,KAAK,QAAQ,CAAC;IAE3C,IAAM,WAAW,GAAG,WAAW,CAAC,cAAM,OAAA,QAAQ,CAAC,MAAM,CAAC,EAAhB,CAAgB,EAAE,EAAE,CAAC,CAAC;IAC5D,IAAM,UAAU,GAAG,WAAW,CAAC,cAAM,OAAA,QAAQ,CAAC,QAAQ,CAAC,EAAlB,CAAkB,EAAE,EAAE,CAAC,CAAC;IAC7D,IAAM,cAAc,GAAG,WAAW,CAAC,cAAM,OAAA,QAAQ,CAAC,QAAQ,CAAC,EAAlB,CAAkB,EAAE,EAAE,CAAC,CAAC;IAEjE,OAAO,EAAE,aAAa,eAAA,EAAE,eAAe,iBAAA,EAAE,WAAW,aAAA,EAAE,UAAU,YAAA,EAAE,cAAc,gBAAA,EAAE,CAAC;AACrF,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useCallback, useState } from 'react';\n\nexport function usePopover() {\n const [state, setState] = useState<'open' | 'closed' | 'pinned'>('closed');\n\n const isPopoverOpen = state !== 'closed';\n const isPopoverPinned = state === 'pinned';\n\n const showPopover = useCallback(() => setState('open'), []);\n const pinPopover = useCallback(() => setState('pinned'), []);\n const dismissPopover = useCallback(() => setState('closed'), []);\n\n return { isPopoverOpen, isPopoverPinned, showPopover, pinPopover, dismissPopover };\n}\n"]}
1
+ {"version":3,"file":"use-popover.js","sourceRoot":"","sources":["../../../../src/mixed-line-bar-chart/hooks/use-popover.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9C,MAAM,UAAU,UAAU;IACxB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAA+B,QAAQ,CAAC,CAAC;IAE3E,MAAM,aAAa,GAAG,KAAK,KAAK,QAAQ,CAAC;IACzC,MAAM,eAAe,GAAG,KAAK,KAAK,QAAQ,CAAC;IAE3C,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEjE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AACrF,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useCallback, useState } from 'react';\n\nexport function usePopover() {\n const [state, setState] = useState<'open' | 'closed' | 'pinned'>('closed');\n\n const isPopoverOpen = state !== 'closed';\n const isPopoverPinned = state === 'pinned';\n\n const showPopover = useCallback(() => setState('open'), []);\n const pinPopover = useCallback(() => setState('pinned'), []);\n const dismissPopover = useCallback(() => setState('closed'), []);\n\n return { isPopoverOpen, isPopoverPinned, showPopover, pinPopover, dismissPopover };\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { __assign, __rest } from "tslib";
1
+ import { __rest } from "tslib";
2
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  import React from 'react';
@@ -6,9 +6,9 @@ import { applyDisplayName } from '../internal/utils/apply-display-name';
6
6
  import InternalMixedLineBarChart from './internal';
7
7
  import useBaseComponent from '../internal/hooks/use-base-component';
8
8
  function MixedLineBarChart(_a) {
9
- var _b = _a.series, series = _b === void 0 ? [] : _b, _c = _a.height, height = _c === void 0 ? 500 : _c, _d = _a.xScaleType, xScaleType = _d === void 0 ? 'linear' : _d, _e = _a.yScaleType, yScaleType = _e === void 0 ? 'linear' : _e, _f = _a.stackedBars, stackedBars = _f === void 0 ? false : _f, _g = _a.horizontalBars, horizontalBars = _g === void 0 ? false : _g, _h = _a.statusType, statusType = _h === void 0 ? 'finished' : _h, _j = _a.detailPopoverSize, detailPopoverSize = _j === void 0 ? 'medium' : _j, _k = _a.emphasizeBaselineAxis, emphasizeBaselineAxis = _k === void 0 ? true : _k, props = __rest(_a, ["series", "height", "xScaleType", "yScaleType", "stackedBars", "horizontalBars", "statusType", "detailPopoverSize", "emphasizeBaselineAxis"]);
10
- var baseComponentProps = useBaseComponent('MixedLineBarChart');
11
- return (React.createElement(InternalMixedLineBarChart, __assign({ series: series, height: height, xScaleType: xScaleType, yScaleType: yScaleType, stackedBars: stackedBars, horizontalBars: horizontalBars, statusType: statusType, detailPopoverSize: detailPopoverSize, emphasizeBaselineAxis: emphasizeBaselineAxis }, props, baseComponentProps)));
9
+ var { series = [], height = 500, xScaleType = 'linear', yScaleType = 'linear', stackedBars = false, horizontalBars = false, statusType = 'finished', detailPopoverSize = 'medium', emphasizeBaselineAxis = true } = _a, props = __rest(_a, ["series", "height", "xScaleType", "yScaleType", "stackedBars", "horizontalBars", "statusType", "detailPopoverSize", "emphasizeBaselineAxis"]);
10
+ const baseComponentProps = useBaseComponent('MixedLineBarChart');
11
+ return (React.createElement(InternalMixedLineBarChart, Object.assign({ series: series, height: height, xScaleType: xScaleType, yScaleType: yScaleType, stackedBars: stackedBars, horizontalBars: horizontalBars, statusType: statusType, detailPopoverSize: detailPopoverSize, emphasizeBaselineAxis: emphasizeBaselineAxis }, props, baseComponentProps)));
12
12
  }
13
13
  applyDisplayName(MixedLineBarChart, 'MixedLineBarChart');
14
14
  export default MixedLineBarChart;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,yBAAyB,MAAM,YAAY,CAAC;AACnD,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AAIpE,SAAS,iBAAiB,CAAmC,EAWjC;IAV1B,IAAA,cAAW,EAAX,MAAM,mBAAG,EAAE,KAAA,EACX,cAAY,EAAZ,MAAM,mBAAG,GAAG,KAAA,EACZ,kBAAqB,EAArB,UAAU,mBAAG,QAAQ,KAAA,EACrB,kBAAqB,EAArB,UAAU,mBAAG,QAAQ,KAAA,EACrB,mBAAmB,EAAnB,WAAW,mBAAG,KAAK,KAAA,EACnB,sBAAsB,EAAtB,cAAc,mBAAG,KAAK,KAAA,EACtB,kBAAuB,EAAvB,UAAU,mBAAG,UAAU,KAAA,EACvB,yBAA4B,EAA5B,iBAAiB,mBAAG,QAAQ,KAAA,EAC5B,6BAA4B,EAA5B,qBAAqB,mBAAG,IAAI,KAAA,EACzB,KAAK,cAVmD,6IAW5D,CADS;IAER,IAAM,kBAAkB,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IACjE,OAAO,CACL,oBAAC,yBAAyB,aACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,EACtB,iBAAiB,EAAE,iBAAiB,EACpC,qBAAqB,EAAE,qBAAqB,IACxC,KAAK,EACL,kBAAkB,EACtB,CACH,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;AAEzD,eAAe,iBAAiB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\n\nimport { MixedLineBarChartProps } from './interfaces';\nimport InternalMixedLineBarChart from './internal';\nimport useBaseComponent from '../internal/hooks/use-base-component';\n\nexport { MixedLineBarChartProps };\n\nfunction MixedLineBarChart<T extends number | string | Date>({\n series = [],\n height = 500,\n xScaleType = 'linear',\n yScaleType = 'linear',\n stackedBars = false,\n horizontalBars = false,\n statusType = 'finished',\n detailPopoverSize = 'medium',\n emphasizeBaselineAxis = true,\n ...props\n}: MixedLineBarChartProps<T>) {\n const baseComponentProps = useBaseComponent('MixedLineBarChart');\n return (\n <InternalMixedLineBarChart\n series={series}\n height={height}\n xScaleType={xScaleType}\n yScaleType={yScaleType}\n stackedBars={stackedBars}\n horizontalBars={horizontalBars}\n statusType={statusType}\n detailPopoverSize={detailPopoverSize}\n emphasizeBaselineAxis={emphasizeBaselineAxis}\n {...props}\n {...baseComponentProps}\n />\n );\n}\n\napplyDisplayName(MixedLineBarChart, 'MixedLineBarChart');\n\nexport default MixedLineBarChart;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,yBAAyB,MAAM,YAAY,CAAC;AACnD,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AAIpE,SAAS,iBAAiB,CAAmC,EAWjC;QAXiC,EAC3D,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,GAAG,EACZ,UAAU,GAAG,QAAQ,EACrB,UAAU,GAAG,QAAQ,EACrB,WAAW,GAAG,KAAK,EACnB,cAAc,GAAG,KAAK,EACtB,UAAU,GAAG,UAAU,EACvB,iBAAiB,GAAG,QAAQ,EAC5B,qBAAqB,GAAG,IAAI,OAEF,EADvB,KAAK,cAVmD,6IAW5D,CADS;IAER,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IACjE,OAAO,CACL,oBAAC,yBAAyB,kBACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,EACtB,iBAAiB,EAAE,iBAAiB,EACpC,qBAAqB,EAAE,qBAAqB,IACxC,KAAK,EACL,kBAAkB,EACtB,CACH,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;AAEzD,eAAe,iBAAiB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\n\nimport { MixedLineBarChartProps } from './interfaces';\nimport InternalMixedLineBarChart from './internal';\nimport useBaseComponent from '../internal/hooks/use-base-component';\n\nexport { MixedLineBarChartProps };\n\nfunction MixedLineBarChart<T extends number | string | Date>({\n series = [],\n height = 500,\n xScaleType = 'linear',\n yScaleType = 'linear',\n stackedBars = false,\n horizontalBars = false,\n statusType = 'finished',\n detailPopoverSize = 'medium',\n emphasizeBaselineAxis = true,\n ...props\n}: MixedLineBarChartProps<T>) {\n const baseComponentProps = useBaseComponent('MixedLineBarChart');\n return (\n <InternalMixedLineBarChart\n series={series}\n height={height}\n xScaleType={xScaleType}\n yScaleType={yScaleType}\n stackedBars={stackedBars}\n horizontalBars={horizontalBars}\n statusType={statusType}\n detailPopoverSize={detailPopoverSize}\n emphasizeBaselineAxis={emphasizeBaselineAxis}\n {...props}\n {...baseComponentProps}\n />\n );\n}\n\napplyDisplayName(MixedLineBarChart, 'MixedLineBarChart');\n\nexport default MixedLineBarChart;\n"]}
@@ -1,4 +1,4 @@
1
- import { __assign, __rest } from "tslib";
1
+ import { __rest } from "tslib";
2
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  import React, { useEffect, useMemo, useRef, useState } from 'react';
@@ -21,77 +21,75 @@ import { useMergeRefs } from '../internal/hooks/use-merge-refs';
21
21
  import { nodeContains } from '../internal/utils/dom';
22
22
  import { isXThreshold, isYThreshold } from './utils';
23
23
  export default function InternalMixedLineBarChart(_a) {
24
- var _b;
25
- var height = _a.height, xScaleType = _a.xScaleType, yScaleType = _a.yScaleType, xDomain = _a.xDomain, yDomain = _a.yDomain, controlledHighlightedSeries = _a.highlightedSeries, controlledVisibleSeries = _a.visibleSeries, externalSeries = _a.series, onFilterChange = _a.onFilterChange, controlledOnHighlightChange = _a.onHighlightChange, i18nStrings = _a.i18nStrings, ariaLabel = _a.ariaLabel, ariaLabelledby = _a.ariaLabelledby, ariaDescription = _a.ariaDescription, xTitle = _a.xTitle, yTitle = _a.yTitle, stackedBars = _a.stackedBars, horizontalBars = _a.horizontalBars, hideFilter = _a.hideFilter, additionalFilters = _a.additionalFilters, hideLegend = _a.hideLegend, legendTitle = _a.legendTitle, statusType = _a.statusType, detailPopoverSize = _a.detailPopoverSize, emphasizeBaselineAxis = _a.emphasizeBaselineAxis, empty = _a.empty, noMatch = _a.noMatch, errorText = _a.errorText, loadingText = _a.loadingText, recoveryText = _a.recoveryText, onRecoveryClick = _a.onRecoveryClick, _c = _a.__internalRootRef, __internalRootRef = _c === void 0 ? null : _c, props = __rest(_a, ["height", "xScaleType", "yScaleType", "xDomain", "yDomain", "highlightedSeries", "visibleSeries", "series", "onFilterChange", "onHighlightChange", "i18nStrings", "ariaLabel", "ariaLabelledby", "ariaDescription", "xTitle", "yTitle", "stackedBars", "horizontalBars", "hideFilter", "additionalFilters", "hideLegend", "legendTitle", "statusType", "detailPopoverSize", "emphasizeBaselineAxis", "empty", "noMatch", "errorText", "loadingText", "recoveryText", "onRecoveryClick", "__internalRootRef"]);
26
- var baseProps = getBaseProps(props);
27
- var containerRef = useRef(null);
28
- useEffect(function () {
29
- var gotBarSeries = externalSeries.some(function (s) { return s.type === 'bar'; });
30
- var gotLineSeries = externalSeries.some(function (s) { return s.type === 'line'; });
24
+ var { height, xScaleType, yScaleType, xDomain, yDomain, highlightedSeries: controlledHighlightedSeries, visibleSeries: controlledVisibleSeries, series: externalSeries, onFilterChange, onHighlightChange: controlledOnHighlightChange, i18nStrings, ariaLabel, ariaLabelledby, ariaDescription, xTitle, yTitle, stackedBars, horizontalBars, hideFilter, additionalFilters, hideLegend, legendTitle, statusType, detailPopoverSize, emphasizeBaselineAxis, empty, noMatch, errorText, loadingText, recoveryText, onRecoveryClick, __internalRootRef = null } = _a, props = __rest(_a, ["height", "xScaleType", "yScaleType", "xDomain", "yDomain", "highlightedSeries", "visibleSeries", "series", "onFilterChange", "onHighlightChange", "i18nStrings", "ariaLabel", "ariaLabelledby", "ariaDescription", "xTitle", "yTitle", "stackedBars", "horizontalBars", "hideFilter", "additionalFilters", "hideLegend", "legendTitle", "statusType", "detailPopoverSize", "emphasizeBaselineAxis", "empty", "noMatch", "errorText", "loadingText", "recoveryText", "onRecoveryClick", "__internalRootRef"]);
25
+ const baseProps = getBaseProps(props);
26
+ const containerRef = useRef(null);
27
+ useEffect(() => {
28
+ const gotBarSeries = externalSeries.some(s => s.type === 'bar');
29
+ const gotLineSeries = externalSeries.some(s => s.type === 'line');
31
30
  if (xScaleType !== 'categorical' && gotBarSeries) {
32
- warnOnce('MixedLineBarChart', "Bar series cannot be used with a ".concat(xScaleType, " scale. Use a categorical x axis instead."));
31
+ warnOnce('MixedLineBarChart', `Bar series cannot be used with a ${xScaleType} scale. Use a categorical x axis instead.`);
33
32
  }
34
33
  if (horizontalBars && gotLineSeries) {
35
- warnOnce('MixedLineBarChart', "Property horizontalBars can only be used with charts that contain only bar or threshold series.");
34
+ warnOnce('MixedLineBarChart', `Property horizontalBars can only be used with charts that contain only bar or threshold series.`);
36
35
  }
37
- for (var _i = 0, externalSeries_1 = externalSeries; _i < externalSeries_1.length; _i++) {
38
- var s = externalSeries_1[_i];
36
+ for (const s of externalSeries) {
39
37
  if (s.type === 'threshold' && s.x !== undefined && s.y !== undefined) {
40
- warnOnce('MixedLineBarChart', "Series of type \"threshold\" must contain either x or y property.");
38
+ warnOnce('MixedLineBarChart', `Series of type "threshold" must contain either x or y property.`);
41
39
  }
42
40
  if (s.type === 'threshold' && s.x === undefined && s.y === undefined) {
43
- warnOnce('MixedLineBarChart', "Series of type \"threshold\" must contain either x or y property.");
41
+ warnOnce('MixedLineBarChart', `Series of type "threshold" must contain either x or y property.`);
44
42
  }
45
43
  }
46
44
  }, [xScaleType, horizontalBars, externalSeries]);
47
- var series = useMemo(function () {
45
+ const series = useMemo(() => {
48
46
  // Generate series colors if not explicitly provided.
49
47
  // The thresholds use a dedicated colour scale.
50
- var colors = createCategoryColorScale(externalSeries, function (it) { return isYThreshold(it) || isXThreshold(it); }, function (it) { return it.color || null; });
51
- return externalSeries.map(function (s, i) { return ({ index: i, color: colors[i], series: s }); });
48
+ const colors = createCategoryColorScale(externalSeries, it => isYThreshold(it) || isXThreshold(it), it => it.color || null);
49
+ return externalSeries.map((s, i) => ({ index: i, color: colors[i], series: s }));
52
50
  }, [externalSeries]);
53
- var _d = useState(null), highlightedPoint = _d[0], setHighlightedPoint = _d[1];
54
- var _e = useState(null), highlightedGroupIndex = _e[0], setHighlightedGroupIndex = _e[1];
55
- var _f = useControllable(controlledHighlightedSeries, controlledOnHighlightChange, null, {
51
+ const [highlightedPoint, setHighlightedPoint] = useState(null);
52
+ const [highlightedGroupIndex, setHighlightedGroupIndex] = useState(null);
53
+ const [highlightedSeries = null, setHighlightedSeries] = useControllable(controlledHighlightedSeries, controlledOnHighlightChange, null, {
56
54
  componentName: 'MixedLineBarChart',
57
55
  controlledProp: 'highlightedSeries',
58
- changeHandler: 'onHighlightChange'
59
- }), _g = _f[0], highlightedSeries = _g === void 0 ? null : _g, setHighlightedSeries = _f[1];
60
- var _h = useState(highlightedSeries), legendSeries = _h[0], setLegendSeries = _h[1];
61
- useEffect(function () {
56
+ changeHandler: 'onHighlightChange',
57
+ });
58
+ const [legendSeries, setLegendSeries] = useState(highlightedSeries);
59
+ useEffect(() => {
62
60
  setLegendSeries(controlledHighlightedSeries || null);
63
61
  }, [controlledHighlightedSeries]);
64
- var _j = useControllable(controlledVisibleSeries, onFilterChange, externalSeries, {
62
+ const [externalVisibleSeries, setExternalVisibleSeries] = useControllable(controlledVisibleSeries, onFilterChange, externalSeries, {
65
63
  componentName: 'MixedLineBarChart',
66
64
  controlledProp: 'visibleSeries',
67
- changeHandler: 'onFilterChange'
68
- }), externalVisibleSeries = _j[0], setExternalVisibleSeries = _j[1];
65
+ changeHandler: 'onFilterChange',
66
+ });
69
67
  if (isDevelopment) {
70
68
  // eslint-disable-next-line react-hooks/rules-of-hooks
71
- var previousSeries = usePrevious(externalSeries);
72
- var hasPrevious = !!(previousSeries && previousSeries.length);
73
- var hasCurrent = !!externalSeries.length;
69
+ const previousSeries = usePrevious(externalSeries);
70
+ const hasPrevious = !!(previousSeries && previousSeries.length);
71
+ const hasCurrent = !!externalSeries.length;
74
72
  if (hasPrevious && hasCurrent && externalSeries !== previousSeries && !controlledVisibleSeries && !hideFilter) {
75
73
  warnOnce('MixedLineBarChart', 'The `series` value passed into the component changed. ' +
76
74
  'This may cause problems with filtering - we recommend that you make the `series` value constant, ' +
77
75
  'or provide a `visibleSeries` value that derives from the current `series` value.');
78
76
  }
79
77
  }
80
- var visibleSeries = useMemo(function () { return series.filter(function (s) { return (externalVisibleSeries === null || externalVisibleSeries === void 0 ? void 0 : externalVisibleSeries.indexOf(s.series)) !== -1; }); }, [series, externalVisibleSeries]);
81
- var filterChange = function (selectedSeries) {
78
+ const visibleSeries = useMemo(() => series.filter(s => (externalVisibleSeries === null || externalVisibleSeries === void 0 ? void 0 : externalVisibleSeries.indexOf(s.series)) !== -1), [series, externalVisibleSeries]);
79
+ const filterChange = (selectedSeries) => {
82
80
  setExternalVisibleSeries(selectedSeries);
83
81
  fireNonCancelableEvent(onFilterChange, {
84
- visibleSeries: selectedSeries
82
+ visibleSeries: selectedSeries,
85
83
  });
86
84
  };
87
- var onHighlightChange = function (series) {
85
+ const onHighlightChange = (series) => {
88
86
  setHighlightedSeries(series);
89
87
  fireNonCancelableEvent(controlledOnHighlightChange, {
90
- highlightedSeries: series
88
+ highlightedSeries: series,
91
89
  });
92
90
  setLegendSeries(series);
93
91
  };
94
- var onBlur = function (event) {
92
+ const onBlur = (event) => {
95
93
  if (event.relatedTarget && !nodeContains(containerRef.current, event.relatedTarget)) {
96
94
  highlightedSeries && onHighlightChange(highlightedSeries);
97
95
  setHighlightedPoint(null);
@@ -99,23 +97,23 @@ export default function InternalMixedLineBarChart(_a) {
99
97
  setLegendSeries(null);
100
98
  }
101
99
  };
102
- var _k = getChartStatus({
100
+ const { isEmpty, isNoMatch, showChart } = getChartStatus({
103
101
  externalData: externalSeries,
104
102
  visibleData: visibleSeries || [],
105
- statusType: statusType
106
- }), isEmpty = _k.isEmpty, isNoMatch = _k.isNoMatch, showChart = _k.showChart;
107
- var showFilters = statusType === 'finished' && (!isEmpty || isNoMatch);
108
- var showLegend = !hideLegend && !isEmpty && statusType === 'finished';
109
- var reserveLegendSpace = !showChart && !hideLegend;
110
- var reserveFilterSpace = !showChart && !isNoMatch && (!hideFilter || additionalFilters);
111
- var mergedRef = useMergeRefs(containerRef, __internalRootRef);
112
- return (React.createElement("div", __assign({}, baseProps, { className: clsx(baseProps.className, styles.root), ref: mergedRef, onBlur: onBlur }),
103
+ statusType,
104
+ });
105
+ const showFilters = statusType === 'finished' && (!isEmpty || isNoMatch);
106
+ const showLegend = !hideLegend && !isEmpty && statusType === 'finished';
107
+ const reserveLegendSpace = !showChart && !hideLegend;
108
+ const reserveFilterSpace = !showChart && !isNoMatch && (!hideFilter || additionalFilters);
109
+ const mergedRef = useMergeRefs(containerRef, __internalRootRef);
110
+ return (React.createElement("div", Object.assign({}, baseProps, { className: clsx(baseProps.className, styles.root), ref: mergedRef, onBlur: onBlur }),
113
111
  showFilters && (React.createElement(InternalBox, { className: cartesianStyles['filter-container'], margin: { bottom: 'l' } },
114
112
  React.createElement(InternalChartFilters, { series: series, visibleSeries: externalVisibleSeries || [], onChange: filterChange, i18nStrings: i18nStrings, hideFilter: hideFilter, additionalFilters: additionalFilters }))),
115
- React.createElement("div", { className: clsx(styles.content, (_b = {},
116
- _b[styles['content--reserve-filter']] = reserveFilterSpace,
117
- _b[styles['content--reserve-legend']] = reserveLegendSpace,
118
- _b)), style: { minHeight: height } },
113
+ React.createElement("div", { className: clsx(styles.content, {
114
+ [styles['content--reserve-filter']]: reserveFilterSpace,
115
+ [styles['content--reserve-legend']]: reserveLegendSpace,
116
+ }), style: { minHeight: height } },
119
117
  React.createElement(ChartStatusContainer, { isEmpty: isEmpty, isNoMatch: isNoMatch, showChart: showChart, statusType: statusType, empty: empty, noMatch: noMatch, loadingText: loadingText, errorText: errorText, recoveryText: recoveryText, onRecoveryClick: onRecoveryClick }),
120
118
  showChart && (React.createElement(ChartContainer, { height: height, xScaleType: xScaleType, yScaleType: yScaleType, xDomain: xDomain, yDomain: yDomain, xTickFormatter: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.xTickFormatter, yTickFormatter: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.yTickFormatter, emphasizeBaselineAxis: emphasizeBaselineAxis, stackedBars: stackedBars, horizontalBars: horizontalBars, series: series, visibleSeries: visibleSeries, highlightedSeries: highlightedSeries, onHighlightChange: onHighlightChange, highlightedPoint: highlightedPoint, setHighlightedPoint: setHighlightedPoint, highlightedGroupIndex: highlightedGroupIndex, setHighlightedGroupIndex: setHighlightedGroupIndex, detailPopoverSize: detailPopoverSize, xTitle: xTitle, yTitle: yTitle, ariaLabel: ariaLabel, ariaLabelledby: ariaLabelledby, ariaDescription: ariaDescription, i18nStrings: i18nStrings, plotContainerRef: containerRef }))),
121
119
  showLegend && (React.createElement(InternalBox, { margin: { top: 'm' } },