@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
@@ -29,74 +29,71 @@ import { usePopover } from './hooks/use-popover';
29
29
  import styles from './styles.css.js';
30
30
  import useContainerWidth from '../internal/utils/use-container-width';
31
31
  import { useMergeRefs } from '../internal/hooks/use-merge-refs';
32
- var LEFT_LABELS_MARGIN = 16;
33
- var BOTTOM_LABELS_OFFSET = 12;
32
+ const LEFT_LABELS_MARGIN = 16;
33
+ const BOTTOM_LABELS_OFFSET = 12;
34
34
  export default function ChartContainer(_a) {
35
35
  var _b, _c;
36
- var plotHeight = _a.height, series = _a.series, visibleSeries = _a.visibleSeries, highlightedSeries = _a.highlightedSeries, onHighlightChange = _a.onHighlightChange, highlightedPoint = _a.highlightedPoint, setHighlightedPoint = _a.setHighlightedPoint, highlightedGroupIndex = _a.highlightedGroupIndex, setHighlightedGroupIndex = _a.setHighlightedGroupIndex, _d = _a.detailPopoverSize, detailPopoverSize = _d === void 0 ? 'medium' : _d, _e = _a.stackedBars, stackedBars = _e === void 0 ? false : _e, _f = _a.horizontalBars, horizontalBars = _f === void 0 ? false : _f, xScaleType = _a.xScaleType, yScaleType = _a.yScaleType, xTickFormatter = _a.xTickFormatter, yTickFormatter = _a.yTickFormatter, emphasizeBaselineAxis = _a.emphasizeBaselineAxis, xTitle = _a.xTitle, yTitle = _a.yTitle, ariaLabel = _a.ariaLabel, ariaLabelledby = _a.ariaLabelledby, ariaDescription = _a.ariaDescription, _g = _a.i18nStrings, i18nStrings = _g === void 0 ? {} : _g, plotContainerRef = _a.plotContainerRef, props = __rest(_a, ["height", "series", "visibleSeries", "highlightedSeries", "onHighlightChange", "highlightedPoint", "setHighlightedPoint", "highlightedGroupIndex", "setHighlightedGroupIndex", "detailPopoverSize", "stackedBars", "horizontalBars", "xScaleType", "yScaleType", "xTickFormatter", "yTickFormatter", "emphasizeBaselineAxis", "xTitle", "yTitle", "ariaLabel", "ariaLabelledby", "ariaDescription", "i18nStrings", "plotContainerRef"]);
37
- var plotRef = useRef(null);
38
- var verticalMarkerRef = useRef(null);
39
- var _h = useState(0), leftLabelsWidth = _h[0], setLeftLabelsWidth = _h[1];
40
- var _j = useState(0), bottomLabelsHeight = _j[0], setBottomLabelsHeight = _j[1];
41
- var _k = useState(null), verticalMarkerX = _k[0], setVerticalMarkerX = _k[1];
42
- var _l = useContainerWidth(500), containerWidth = _l[0], containerMeasureRef = _l[1];
43
- var plotWidth = containerWidth ? containerWidth - leftLabelsWidth - LEFT_LABELS_MARGIN : 500;
44
- var containerRefObject = useRef(null);
45
- var containerRef = useMergeRefs(containerMeasureRef, containerRefObject);
46
- var popoverRef = useRef(null);
47
- var isRefresh = useVisualRefresh();
48
- var linesOnly = series.every(function (_a) {
49
- var series = _a.series;
50
- return series.type === 'line' || series.type === 'threshold';
51
- });
52
- var xDomain = (props.xDomain || computeDomainX(series, xScaleType));
53
- var yDomain = (props.yDomain || computeDomainY(series, yScaleType, stackedBars));
54
- var xTickCount = getXTickCount(plotWidth);
55
- var yTickCount = getYTickCount(plotHeight);
56
- var rangeBottomTop = [0, plotHeight];
57
- var rangeTopBottom = [plotHeight, 0];
58
- var rangeLeftRight = [0, plotWidth];
59
- var xScale = new ChartScale(xScaleType, xDomain, horizontalBars ? rangeBottomTop : rangeLeftRight, linesOnly);
60
- var yScale = new NumericChartScale(yScaleType, yDomain, horizontalBars ? rangeLeftRight : rangeTopBottom, props.yDomain ? null : yTickCount);
61
- var xTicks = createXTicks(xScale, xTickCount);
62
- var yTicks = createYTicks(yScale, yTickCount);
36
+ var { height: plotHeight, series, visibleSeries, highlightedSeries, onHighlightChange, highlightedPoint, setHighlightedPoint, highlightedGroupIndex, setHighlightedGroupIndex, detailPopoverSize = 'medium', stackedBars = false, horizontalBars = false, xScaleType, yScaleType, xTickFormatter, yTickFormatter, emphasizeBaselineAxis, xTitle, yTitle, ariaLabel, ariaLabelledby, ariaDescription, i18nStrings = {}, plotContainerRef } = _a, props = __rest(_a, ["height", "series", "visibleSeries", "highlightedSeries", "onHighlightChange", "highlightedPoint", "setHighlightedPoint", "highlightedGroupIndex", "setHighlightedGroupIndex", "detailPopoverSize", "stackedBars", "horizontalBars", "xScaleType", "yScaleType", "xTickFormatter", "yTickFormatter", "emphasizeBaselineAxis", "xTitle", "yTitle", "ariaLabel", "ariaLabelledby", "ariaDescription", "i18nStrings", "plotContainerRef"]);
37
+ const plotRef = useRef(null);
38
+ const verticalMarkerRef = useRef(null);
39
+ const [leftLabelsWidth, setLeftLabelsWidth] = useState(0);
40
+ const [bottomLabelsHeight, setBottomLabelsHeight] = useState(0);
41
+ const [verticalMarkerX, setVerticalMarkerX] = useState(null);
42
+ const [containerWidth, containerMeasureRef] = useContainerWidth(500);
43
+ const plotWidth = containerWidth ? containerWidth - leftLabelsWidth - LEFT_LABELS_MARGIN : 500;
44
+ const containerRefObject = useRef(null);
45
+ const containerRef = useMergeRefs(containerMeasureRef, containerRefObject);
46
+ const popoverRef = useRef(null);
47
+ const isRefresh = useVisualRefresh();
48
+ const linesOnly = series.every(({ series }) => series.type === 'line' || series.type === 'threshold');
49
+ const xDomain = (props.xDomain || computeDomainX(series, xScaleType));
50
+ const yDomain = (props.yDomain || computeDomainY(series, yScaleType, stackedBars));
51
+ const xTickCount = getXTickCount(plotWidth);
52
+ const yTickCount = getYTickCount(plotHeight);
53
+ const rangeBottomTop = [0, plotHeight];
54
+ const rangeTopBottom = [plotHeight, 0];
55
+ const rangeLeftRight = [0, plotWidth];
56
+ const xScale = new ChartScale(xScaleType, xDomain, horizontalBars ? rangeBottomTop : rangeLeftRight, linesOnly);
57
+ const yScale = new NumericChartScale(yScaleType, yDomain, horizontalBars ? rangeLeftRight : rangeTopBottom, props.yDomain ? null : yTickCount);
58
+ const xTicks = createXTicks(xScale, xTickCount);
59
+ const yTicks = createYTicks(yScale, yTickCount);
63
60
  /**
64
61
  * Interactions
65
62
  */
66
- var highlightedPointRef = useRef(null);
67
- var highlightedGroupRef = useRef(null);
68
- var _m = useState(false), isPlotFocused = _m[0], setPlotFocused = _m[1];
63
+ const highlightedPointRef = useRef(null);
64
+ const highlightedGroupRef = useRef(null);
65
+ const [isPlotFocused, setPlotFocused] = useState(false);
69
66
  // Some chart components are rendered against "x" or "y" axes,
70
67
  // When "horizontalBars" is enabled, the axes are inverted.
71
- var x = !horizontalBars ? 'x' : 'y';
72
- var y = !horizontalBars ? 'y' : 'x';
73
- var xy = {
68
+ const x = !horizontalBars ? 'x' : 'y';
69
+ const y = !horizontalBars ? 'y' : 'x';
70
+ const xy = {
74
71
  ticks: { x: xTicks, y: yTicks },
75
72
  scale: { x: xScale, y: yScale },
76
73
  tickFormatter: { x: xTickFormatter, y: yTickFormatter },
77
74
  title: { x: xTitle, y: yTitle },
78
- ariaRoleDescription: { x: i18nStrings.xAxisAriaRoleDescription, y: i18nStrings.yAxisAriaRoleDescription }
75
+ ariaRoleDescription: { x: i18nStrings.xAxisAriaRoleDescription, y: i18nStrings.yAxisAriaRoleDescription },
79
76
  };
80
- var scaledSeries = makeScaledSeries(visibleSeries, xScale, yScale);
81
- var barGroups = makeScaledBarGroups(visibleSeries, xScale, plotWidth, plotHeight, y);
82
- var _o = usePopover(), isPopoverOpen = _o.isPopoverOpen, isPopoverPinned = _o.isPopoverPinned, showPopover = _o.showPopover, pinPopover = _o.pinPopover, dismissPopover = _o.dismissPopover;
77
+ const scaledSeries = makeScaledSeries(visibleSeries, xScale, yScale);
78
+ const barGroups = makeScaledBarGroups(visibleSeries, xScale, plotWidth, plotHeight, y);
79
+ const { isPopoverOpen, isPopoverPinned, showPopover, pinPopover, dismissPopover } = usePopover();
83
80
  // Allows to add a delay between popover is dismissed and handlers are enabled to prevent immediate popover reopening.
84
- var _p = useState(!isPopoverPinned), isHandlersDisabled = _p[0], setHandlersDisabled = _p[1];
85
- useEffect(function () {
81
+ const [isHandlersDisabled, setHandlersDisabled] = useState(!isPopoverPinned);
82
+ useEffect(() => {
86
83
  if (isPopoverPinned) {
87
84
  setHandlersDisabled(true);
88
85
  }
89
86
  else {
90
- var timeoutId_1 = setTimeout(function () { return setHandlersDisabled(false); }, 25);
91
- return function () { return clearTimeout(timeoutId_1); };
87
+ const timeoutId = setTimeout(() => setHandlersDisabled(false), 25);
88
+ return () => clearTimeout(timeoutId);
92
89
  }
93
90
  }, [isPopoverPinned]);
94
- var highlightSeries = useCallback(function (series) {
91
+ const highlightSeries = useCallback((series) => {
95
92
  if (series !== highlightedSeries) {
96
93
  onHighlightChange(series);
97
94
  }
98
95
  }, [highlightedSeries, onHighlightChange]);
99
- var highlightPoint = useCallback(function (point) {
96
+ const highlightPoint = useCallback((point) => {
100
97
  var _a, _b;
101
98
  setHighlightedGroupIndex(null);
102
99
  setHighlightedPoint(point);
@@ -104,66 +101,66 @@ export default function ChartContainer(_a) {
104
101
  highlightSeries(point.series);
105
102
  setVerticalMarkerX({
106
103
  scaledX: point.x,
107
- label: (_b = (_a = point.datum) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : null
104
+ label: (_b = (_a = point.datum) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : null,
108
105
  });
109
106
  }
110
107
  }, [setHighlightedGroupIndex, setHighlightedPoint, highlightSeries]);
111
- var clearAllHighlights = useCallback(function () {
108
+ const clearAllHighlights = useCallback(() => {
112
109
  setHighlightedPoint(null);
113
110
  highlightSeries(null);
114
111
  setHighlightedGroupIndex(null);
115
112
  }, [highlightSeries, setHighlightedGroupIndex, setHighlightedPoint]);
116
113
  // Highlight all points at a given X in a line chart
117
- var highlightX = useCallback(function (marker) {
114
+ const highlightX = useCallback((marker) => {
118
115
  if (marker) {
119
116
  clearAllHighlights();
120
117
  }
121
118
  setVerticalMarkerX(marker);
122
119
  }, [clearAllHighlights]);
123
120
  // Highlight all points and bars at a given X index in a mixed line and bar chart
124
- var highlightGroup = useCallback(function (groupIndex) {
121
+ const highlightGroup = useCallback((groupIndex) => {
125
122
  highlightSeries(null);
126
123
  setHighlightedPoint(null);
127
124
  setHighlightedGroupIndex(groupIndex);
128
125
  }, [highlightSeries, setHighlightedPoint, setHighlightedGroupIndex]);
129
- var clearHighlightedSeries = useCallback(function () {
126
+ const clearHighlightedSeries = useCallback(() => {
130
127
  clearAllHighlights();
131
128
  dismissPopover();
132
129
  }, [dismissPopover, clearAllHighlights]);
133
- var _q = useNavigation({
134
- series: series,
135
- visibleSeries: visibleSeries,
136
- scaledSeries: scaledSeries,
137
- barGroups: barGroups,
138
- xScale: xScale,
139
- yScale: yScale,
140
- highlightedPoint: highlightedPoint,
141
- highlightedGroupIndex: highlightedGroupIndex,
142
- highlightedSeries: highlightedSeries,
143
- isHandlersDisabled: isHandlersDisabled,
144
- pinPopover: pinPopover,
145
- highlightSeries: highlightSeries,
146
- highlightGroup: highlightGroup,
147
- highlightPoint: highlightPoint,
148
- highlightX: highlightX,
149
- clearHighlightedSeries: clearHighlightedSeries,
150
- verticalMarkerX: verticalMarkerX
151
- }), isGroupNavigation = _q.isGroupNavigation, handlers = __rest(_q, ["isGroupNavigation"]);
152
- var _r = useMouseHover({
153
- scaledSeries: scaledSeries,
154
- barGroups: barGroups,
155
- plotRef: plotRef,
156
- popoverRef: popoverRef,
157
- highlightPoint: highlightPoint,
158
- highlightGroup: highlightGroup,
159
- clearHighlightedSeries: clearHighlightedSeries,
160
- isGroupNavigation: isGroupNavigation,
161
- isHandlersDisabled: isHandlersDisabled,
162
- highlightX: highlightX
163
- }), onSVGMouseMove = _r.onSVGMouseMove, onSVGMouseOut = _r.onSVGMouseOut, onPopoverLeave = _r.onPopoverLeave;
130
+ const _d = useNavigation({
131
+ series,
132
+ visibleSeries,
133
+ scaledSeries,
134
+ barGroups,
135
+ xScale,
136
+ yScale,
137
+ highlightedPoint,
138
+ highlightedGroupIndex,
139
+ highlightedSeries,
140
+ isHandlersDisabled,
141
+ pinPopover,
142
+ highlightSeries,
143
+ highlightGroup,
144
+ highlightPoint,
145
+ highlightX,
146
+ clearHighlightedSeries,
147
+ verticalMarkerX,
148
+ }), { isGroupNavigation } = _d, handlers = __rest(_d, ["isGroupNavigation"]);
149
+ const { onSVGMouseMove, onSVGMouseOut, onPopoverLeave } = useMouseHover({
150
+ scaledSeries,
151
+ barGroups,
152
+ plotRef,
153
+ popoverRef,
154
+ highlightPoint,
155
+ highlightGroup,
156
+ clearHighlightedSeries,
157
+ isGroupNavigation,
158
+ isHandlersDisabled,
159
+ highlightX,
160
+ });
164
161
  // There are multiple ways to indicate what X is selected.
165
162
  // TODO: make a uniform verticalMarkerX state to fit all use-cases.
166
- var highlightedX = useMemo(function () {
163
+ const highlightedX = useMemo(() => {
167
164
  var _a, _b;
168
165
  if (highlightedGroupIndex !== null) {
169
166
  return barGroups[highlightedGroupIndex].x;
@@ -173,27 +170,27 @@ export default function ChartContainer(_a) {
173
170
  }
174
171
  return (_b = (_a = highlightedPoint === null || highlightedPoint === void 0 ? void 0 : highlightedPoint.datum) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : null;
175
172
  }, [highlightedPoint, verticalMarkerX, highlightedGroupIndex, barGroups]);
176
- useEffect(function () {
177
- var onKeyDown = function (event) {
173
+ useEffect(() => {
174
+ const onKeyDown = (event) => {
178
175
  if (event.key === 'Escape') {
179
176
  dismissPopover();
180
177
  }
181
178
  };
182
179
  document.addEventListener('keydown', onKeyDown);
183
- return function () { return document.removeEventListener('keydown', onKeyDown); };
180
+ return () => document.removeEventListener('keydown', onKeyDown);
184
181
  }, [dismissPopover]);
185
- useLayoutEffect(function () {
182
+ useLayoutEffect(() => {
186
183
  if (highlightedX !== null || highlightedPoint !== null) {
187
184
  showPopover();
188
185
  }
189
186
  }, [highlightedX, highlightedPoint, showPopover]);
190
- var onPopoverDismiss = function (outsideClick) {
187
+ const onPopoverDismiss = (outsideClick) => {
191
188
  dismissPopover();
192
189
  if (!outsideClick) {
193
190
  // The delay is needed to bypass focus events caused by click or keypress needed to unpin the popover.
194
- setTimeout(function () {
191
+ setTimeout(() => {
195
192
  var _a, _b;
196
- var isSomeInnerElementFocused = highlightedPoint || highlightedGroupIndex !== null || verticalMarkerX;
193
+ const isSomeInnerElementFocused = highlightedPoint || highlightedGroupIndex !== null || verticalMarkerX;
197
194
  if (isSomeInnerElementFocused) {
198
195
  (_a = plotRef.current) === null || _a === void 0 ? void 0 : _a.focusApplication();
199
196
  }
@@ -207,7 +204,7 @@ export default function ChartContainer(_a) {
207
204
  setVerticalMarkerX(null);
208
205
  }
209
206
  };
210
- var onSVGMouseDown = function (e) {
207
+ const onSVGMouseDown = (e) => {
211
208
  if (isPopoverOpen) {
212
209
  if (isPopoverPinned) {
213
210
  dismissPopover();
@@ -221,7 +218,7 @@ export default function ChartContainer(_a) {
221
218
  showPopover();
222
219
  }
223
220
  };
224
- var onSVGFocus = function (event, trigger) {
221
+ const onSVGFocus = (event, trigger) => {
225
222
  setPlotFocused(true);
226
223
  if (trigger === 'keyboard') {
227
224
  handlers.onFocus();
@@ -230,10 +227,10 @@ export default function ChartContainer(_a) {
230
227
  // noop: clicks are handled separately
231
228
  }
232
229
  };
233
- var onSVGBlur = function (event) {
230
+ const onSVGBlur = (event) => {
234
231
  var _a;
235
232
  setPlotFocused(false);
236
- var blurTarget = event.relatedTarget || event.target;
233
+ const blurTarget = event.relatedTarget || event.target;
237
234
  if (blurTarget === null ||
238
235
  !(blurTarget instanceof Element) ||
239
236
  !nodeContains(containerRefObject.current, blurTarget)) {
@@ -247,78 +244,66 @@ export default function ChartContainer(_a) {
247
244
  }
248
245
  }
249
246
  };
250
- var onSVGKeyDown = handlers.onKeyDown;
251
- var xOffset = xScale.isCategorical() ? Math.max(0, xScale.d3Scale.bandwidth() - 1) / 2 : 0;
252
- var verticalLineX = null;
247
+ const onSVGKeyDown = handlers.onKeyDown;
248
+ const xOffset = xScale.isCategorical() ? Math.max(0, xScale.d3Scale.bandwidth() - 1) / 2 : 0;
249
+ let verticalLineX = null;
253
250
  if (verticalMarkerX !== null) {
254
251
  verticalLineX = verticalMarkerX.scaledX;
255
252
  }
256
253
  else if (isGroupNavigation && highlightedGroupIndex !== null) {
257
- var x_1 = (_b = xScale.d3Scale(barGroups[highlightedGroupIndex].x)) !== null && _b !== void 0 ? _b : null;
258
- if (x_1 !== null) {
259
- verticalLineX = xOffset + x_1;
254
+ const x = (_b = xScale.d3Scale(barGroups[highlightedGroupIndex].x)) !== null && _b !== void 0 ? _b : null;
255
+ if (x !== null) {
256
+ verticalLineX = xOffset + x;
260
257
  }
261
258
  }
262
- var point = useMemo(function () {
263
- return highlightedPoint
264
- ? {
265
- key: "".concat(highlightedPoint.x, "-").concat(highlightedPoint.y),
266
- x: highlightedPoint.x,
267
- y: highlightedPoint.y,
268
- color: highlightedPoint.color
269
- }
270
- : null;
271
- }, [highlightedPoint]);
272
- var verticalMarkers = useMemo(function () {
273
- return verticalLineX !== null
274
- ? scaledSeries
275
- .filter(function (_a) {
276
- var x = _a.x, y = _a.y;
277
- return (x === verticalLineX || isNaN(x)) && !isNaN(y);
278
- })
279
- .map(function (_a, index) {
280
- var x = _a.x, y = _a.y, color = _a.color;
281
- return ({
282
- key: "".concat(index, "-").concat(x, "-").concat(y),
283
- x: !horizontalBars ? verticalLineX || 0 : y,
284
- y: !horizontalBars ? y : verticalLineX || 0,
285
- color: color
286
- });
287
- })
288
- : [];
289
- }, [scaledSeries, verticalLineX, horizontalBars]);
290
- var highlightedElementRef = isGroupNavigation
259
+ const point = useMemo(() => highlightedPoint
260
+ ? {
261
+ key: `${highlightedPoint.x}-${highlightedPoint.y}`,
262
+ x: highlightedPoint.x,
263
+ y: highlightedPoint.y,
264
+ color: highlightedPoint.color,
265
+ }
266
+ : null, [highlightedPoint]);
267
+ const verticalMarkers = useMemo(() => verticalLineX !== null
268
+ ? scaledSeries
269
+ .filter(({ x, y }) => (x === verticalLineX || isNaN(x)) && !isNaN(y))
270
+ .map(({ x, y, color }, index) => ({
271
+ key: `${index}-${x}-${y}`,
272
+ x: !horizontalBars ? verticalLineX || 0 : y,
273
+ y: !horizontalBars ? y : verticalLineX || 0,
274
+ color: color,
275
+ }))
276
+ : [], [scaledSeries, verticalLineX, horizontalBars]);
277
+ const highlightedElementRef = isGroupNavigation
291
278
  ? highlightedGroupRef
292
279
  : highlightedPoint
293
280
  ? highlightedPointRef
294
281
  : verticalMarkerRef;
295
- var highlightDetails = useMemo(function () {
282
+ const highlightDetails = useMemo(() => {
296
283
  if (highlightedX === null) {
297
284
  return null;
298
285
  }
299
286
  // When series point is highlighted show the corresponding series and matching x-thresholds.
300
287
  if (highlightedPoint) {
301
- var seriesToShow = visibleSeries.filter(function (series) { return series.series === (highlightedPoint === null || highlightedPoint === void 0 ? void 0 : highlightedPoint.series) || isXThreshold(series.series); });
288
+ const seriesToShow = visibleSeries.filter(series => series.series === (highlightedPoint === null || highlightedPoint === void 0 ? void 0 : highlightedPoint.series) || isXThreshold(series.series));
302
289
  return formatHighlighted(highlightedX, seriesToShow, xTickFormatter);
303
290
  }
304
291
  // Otherwise - show all visible series details.
305
292
  return formatHighlighted(highlightedX, visibleSeries, xTickFormatter);
306
293
  }, [highlightedX, highlightedPoint, visibleSeries, xTickFormatter]);
307
- var activeAriaLabel = useMemo(function () {
308
- return highlightDetails
309
- ? "".concat(highlightDetails.position, ", ").concat(highlightDetails.details.map(function (d) { return d.key + ' ' + d.value; }).join(','))
310
- : '';
311
- }, [highlightDetails]);
294
+ const activeAriaLabel = useMemo(() => highlightDetails
295
+ ? `${highlightDetails.position}, ${highlightDetails.details.map(d => d.key + ' ' + d.value).join(',')}`
296
+ : '', [highlightDetails]);
312
297
  // Live region is used when nothing is focused e.g. when hovering.
313
- var activeLiveRegion = activeAriaLabel && !highlightedPoint && highlightedGroupIndex === null ? activeAriaLabel : '';
314
- var isLineXKeyboardFocused = isPlotFocused && !highlightedPoint && verticalMarkerX;
298
+ const activeLiveRegion = activeAriaLabel && !highlightedPoint && highlightedGroupIndex === null ? activeAriaLabel : '';
299
+ const isLineXKeyboardFocused = isPlotFocused && !highlightedPoint && verticalMarkerX;
315
300
  return (React.createElement("div", { className: styles['chart-container'], ref: containerRef },
316
301
  React.createElement(AxisLabel, { axis: y, position: "left", title: xy.title[y] }),
317
302
  React.createElement("div", { className: styles['chart-container__horizontal'] },
318
303
  React.createElement(LabelsMeasure, { ticks: xy.ticks[y], scale: xy.scale[y], tickFormatter: xy.tickFormatter[y], autoWidth: setLeftLabelsWidth }),
319
304
  React.createElement("div", { className: styles['chart-container__vertical'] },
320
305
  React.createElement(ChartPlot, { ref: plotRef, width: plotWidth, height: plotHeight, offsetBottom: bottomLabelsHeight, isClickable: isPopoverOpen && !isPopoverPinned, ariaLabel: ariaLabel, ariaLabelledby: ariaLabelledby, ariaDescription: ariaDescription, ariaRoleDescription: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.chartAriaRoleDescription, ariaLiveRegion: activeLiveRegion, activeElementRef: highlightedElementRef, activeElementKey: isPlotFocused &&
321
- ((_c = highlightedGroupIndex === null || highlightedGroupIndex === void 0 ? void 0 : highlightedGroupIndex.toString()) !== null && _c !== void 0 ? _c : (isLineXKeyboardFocused ? "point-index-".concat(handlers.xIndex) : point === null || point === void 0 ? void 0 : point.key)), activeElementFocusOffset: isGroupNavigation ? 0 : isLineXKeyboardFocused ? { x: 8, y: 0 } : 3, onMouseMove: onSVGMouseMove, onMouseOut: onSVGMouseOut, onMouseDown: onSVGMouseDown, onFocus: onSVGFocus, onBlur: onSVGBlur, onKeyDown: onSVGKeyDown },
306
+ ((_c = highlightedGroupIndex === null || highlightedGroupIndex === void 0 ? void 0 : highlightedGroupIndex.toString()) !== null && _c !== void 0 ? _c : (isLineXKeyboardFocused ? `point-index-${handlers.xIndex}` : point === null || point === void 0 ? void 0 : point.key)), activeElementFocusOffset: isGroupNavigation ? 0 : isLineXKeyboardFocused ? { x: 8, y: 0 } : 3, onMouseMove: onSVGMouseMove, onMouseOut: onSVGMouseOut, onMouseDown: onSVGMouseDown, onFocus: onSVGFocus, onBlur: onSVGBlur, onKeyDown: onSVGKeyDown },
322
307
  React.createElement(LeftLabels, { axis: y, ticks: xy.ticks[y], scale: xy.scale[y], tickFormatter: xy.tickFormatter[y], title: xy.title[y], ariaRoleDescription: xy.ariaRoleDescription[y], width: plotWidth, height: plotHeight }),
323
308
  horizontalBars && React.createElement(VerticalGridLines, { scale: yScale, ticks: yTicks, height: plotHeight }),
324
309
  emphasizeBaselineAxis && linesOnly && (React.createElement(EmphasizedBaseline, { axis: x, scale: yScale, width: plotWidth, height: plotHeight })),
@@ -1 +1 @@
1
- {"version":3,"file":"chart-container.js","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/chart-container.tsx"],"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, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\n\nimport { nodeContains } from '../internal/utils/dom';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\n\nimport { getXTickCount, getYTickCount, createXTicks, createYTicks } from '../internal/components/cartesian-chart/ticks';\nimport ChartPlot, { ChartPlotRef } from '../internal/components/chart-plot';\nimport AxisLabel from '../internal/components/cartesian-chart/axis-label';\nimport LabelsMeasure from '../internal/components/cartesian-chart/labels-measure';\nimport LeftLabels from '../internal/components/cartesian-chart/left-labels';\nimport BottomLabels from '../internal/components/cartesian-chart/bottom-labels';\nimport VerticalGridLines from '../internal/components/cartesian-chart/vertical-grid-lines';\nimport EmphasizedBaseline from '../internal/components/cartesian-chart/emphasized-baseline';\nimport HighlightedPoint from '../internal/components/cartesian-chart/highlighted-point';\nimport VerticalMarker from '../internal/components/cartesian-chart/vertical-marker';\nimport { ChartScale, NumericChartScale } from '../internal/components/cartesian-chart/scales';\nimport ChartPopover from './chart-popover';\nimport { ChartDataTypes, InternalChartSeries, MixedLineBarChartProps, ScaleType, VerticalMarkerX } from './interfaces';\nimport { computeDomainX, computeDomainY } from './domain';\nimport { isXThreshold } from './utils';\nimport makeScaledSeries, { ScaledPoint } from './make-scaled-series';\nimport makeScaledBarGroups, { ScaledBarGroup } from './make-scaled-bar-groups';\nimport formatHighlighted from './format-highlighted';\nimport DataSeries from './data-series';\nimport BarGroups from './bar-groups';\nimport { useMouseHover } from './hooks/use-mouse-hover';\nimport { useNavigation } from './hooks/use-navigation';\nimport { usePopover } from './hooks/use-popover';\n\nimport styles from './styles.css.js';\nimport { CartesianChartProps } from '../internal/components/cartesian-chart/interfaces';\nimport useContainerWidth from '../internal/utils/use-container-width';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\n\nconst LEFT_LABELS_MARGIN = 16;\nconst BOTTOM_LABELS_OFFSET = 12;\n\ntype TickFormatter = undefined | ((value: ChartDataTypes) => string);\n\nexport interface ChartContainerProps<T extends ChartDataTypes> {\n series: ReadonlyArray<InternalChartSeries<T>>;\n visibleSeries: ReadonlyArray<InternalChartSeries<T>>;\n\n height: number;\n detailPopoverSize: MixedLineBarChartProps<T>['detailPopoverSize'];\n\n xScaleType: ScaleType;\n yScaleType: 'linear' | 'log';\n\n xDomain: MixedLineBarChartProps<T>['xDomain'];\n yDomain: MixedLineBarChartProps<T>['yDomain'];\n\n xTickFormatter?: CartesianChartProps.TickFormatter<T>;\n yTickFormatter?: CartesianChartProps.TickFormatter<number>;\n\n xTitle?: string;\n yTitle?: string;\n\n stackedBars?: boolean;\n emphasizeBaselineAxis: boolean;\n horizontalBars?: boolean;\n\n highlightedSeries?: MixedLineBarChartProps<T>['highlightedSeries'];\n onHighlightChange: (series: InternalChartSeries<T>['series'] | null) => void;\n highlightedPoint: ScaledPoint<T> | null;\n setHighlightedPoint: (point: ScaledPoint<T> | null) => void;\n highlightedGroupIndex: number | null;\n setHighlightedGroupIndex: (groupIndex: number | null) => void;\n\n ariaLabel: MixedLineBarChartProps<T>['ariaLabel'];\n ariaLabelledby: MixedLineBarChartProps<T>['ariaLabelledby'];\n ariaDescription: MixedLineBarChartProps<T>['ariaDescription'];\n i18nStrings: MixedLineBarChartProps<T>['i18nStrings'];\n\n plotContainerRef: React.RefObject<HTMLDivElement>;\n}\n\nexport default function ChartContainer<T extends ChartDataTypes>({\n height: plotHeight,\n series,\n visibleSeries,\n highlightedSeries,\n onHighlightChange,\n highlightedPoint,\n setHighlightedPoint,\n highlightedGroupIndex,\n setHighlightedGroupIndex,\n detailPopoverSize = 'medium',\n stackedBars = false,\n horizontalBars = false,\n xScaleType,\n yScaleType,\n xTickFormatter,\n yTickFormatter,\n emphasizeBaselineAxis,\n xTitle,\n yTitle,\n ariaLabel,\n ariaLabelledby,\n ariaDescription,\n i18nStrings = {},\n plotContainerRef,\n ...props\n}: ChartContainerProps<T>) {\n const plotRef = useRef<ChartPlotRef>(null);\n const verticalMarkerRef = useRef<SVGLineElement>(null);\n\n const [leftLabelsWidth, setLeftLabelsWidth] = useState(0);\n const [bottomLabelsHeight, setBottomLabelsHeight] = useState(0);\n const [verticalMarkerX, setVerticalMarkerX] = useState<VerticalMarkerX<T> | null>(null);\n const [containerWidth, containerMeasureRef] = useContainerWidth(500);\n const plotWidth = containerWidth ? containerWidth - leftLabelsWidth - LEFT_LABELS_MARGIN : 500;\n const containerRefObject = useRef(null);\n const containerRef = useMergeRefs(containerMeasureRef, containerRefObject);\n const popoverRef = useRef<HTMLElement | null>(null);\n\n const isRefresh = useVisualRefresh();\n\n const linesOnly = series.every(({ series }) => series.type === 'line' || series.type === 'threshold');\n\n const xDomain = (props.xDomain || computeDomainX(series, xScaleType)) as\n | readonly number[]\n | readonly string[]\n | readonly Date[];\n const yDomain = (props.yDomain || computeDomainY(series, yScaleType, stackedBars)) as readonly number[];\n\n const xTickCount = getXTickCount(plotWidth);\n const yTickCount = getYTickCount(plotHeight);\n\n const rangeBottomTop: [number, number] = [0, plotHeight];\n const rangeTopBottom: [number, number] = [plotHeight, 0];\n const rangeLeftRight: [number, number] = [0, plotWidth];\n const xScale = new ChartScale(xScaleType, xDomain, horizontalBars ? rangeBottomTop : rangeLeftRight, linesOnly);\n const yScale = new NumericChartScale(\n yScaleType,\n yDomain,\n horizontalBars ? rangeLeftRight : rangeTopBottom,\n props.yDomain ? null : yTickCount\n );\n\n const xTicks = createXTicks(xScale, xTickCount);\n const yTicks = createYTicks(yScale, yTickCount);\n\n /**\n * Interactions\n */\n const highlightedPointRef = useRef<SVGGElement>(null);\n const highlightedGroupRef = useRef<SVGRectElement>(null);\n const [isPlotFocused, setPlotFocused] = useState(false);\n\n // Some chart components are rendered against \"x\" or \"y\" axes,\n // When \"horizontalBars\" is enabled, the axes are inverted.\n const x = !horizontalBars ? 'x' : 'y';\n const y = !horizontalBars ? 'y' : 'x';\n const xy = {\n ticks: { x: xTicks, y: yTicks },\n scale: { x: xScale, y: yScale },\n tickFormatter: { x: xTickFormatter, y: yTickFormatter },\n title: { x: xTitle, y: yTitle },\n ariaRoleDescription: { x: i18nStrings.xAxisAriaRoleDescription, y: i18nStrings.yAxisAriaRoleDescription },\n };\n\n const scaledSeries = makeScaledSeries(visibleSeries, xScale, yScale);\n const barGroups: ScaledBarGroup<T>[] = makeScaledBarGroups(visibleSeries, xScale, plotWidth, plotHeight, y);\n\n const { isPopoverOpen, isPopoverPinned, showPopover, pinPopover, dismissPopover } = usePopover();\n\n // Allows to add a delay between popover is dismissed and handlers are enabled to prevent immediate popover reopening.\n const [isHandlersDisabled, setHandlersDisabled] = useState(!isPopoverPinned);\n useEffect(() => {\n if (isPopoverPinned) {\n setHandlersDisabled(true);\n } else {\n const timeoutId = setTimeout(() => setHandlersDisabled(false), 25);\n return () => clearTimeout(timeoutId);\n }\n }, [isPopoverPinned]);\n\n const highlightSeries = useCallback(\n (series: MixedLineBarChartProps.ChartSeries<T> | null) => {\n if (series !== highlightedSeries) {\n onHighlightChange(series);\n }\n },\n [highlightedSeries, onHighlightChange]\n );\n\n const highlightPoint = useCallback(\n (point: ScaledPoint<T> | null) => {\n setHighlightedGroupIndex(null);\n setHighlightedPoint(point);\n if (point) {\n highlightSeries(point.series);\n setVerticalMarkerX({\n scaledX: point.x,\n label: point.datum?.x ?? null,\n });\n }\n },\n [setHighlightedGroupIndex, setHighlightedPoint, highlightSeries]\n );\n\n const clearAllHighlights = useCallback(() => {\n setHighlightedPoint(null);\n highlightSeries(null);\n setHighlightedGroupIndex(null);\n }, [highlightSeries, setHighlightedGroupIndex, setHighlightedPoint]);\n\n // Highlight all points at a given X in a line chart\n const highlightX = useCallback(\n (marker: VerticalMarkerX<T> | null) => {\n if (marker) {\n clearAllHighlights();\n }\n setVerticalMarkerX(marker);\n },\n [clearAllHighlights]\n );\n\n // Highlight all points and bars at a given X index in a mixed line and bar chart\n const highlightGroup = useCallback(\n (groupIndex: number) => {\n highlightSeries(null);\n setHighlightedPoint(null);\n setHighlightedGroupIndex(groupIndex);\n },\n [highlightSeries, setHighlightedPoint, setHighlightedGroupIndex]\n );\n\n const clearHighlightedSeries = useCallback(() => {\n clearAllHighlights();\n dismissPopover();\n }, [dismissPopover, clearAllHighlights]);\n\n const { isGroupNavigation, ...handlers } = useNavigation({\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 clearHighlightedSeries,\n verticalMarkerX,\n });\n\n const { onSVGMouseMove, onSVGMouseOut, onPopoverLeave } = useMouseHover<T>({\n scaledSeries,\n barGroups,\n plotRef,\n popoverRef,\n highlightPoint,\n highlightGroup,\n clearHighlightedSeries,\n isGroupNavigation,\n isHandlersDisabled,\n highlightX,\n });\n\n // There are multiple ways to indicate what X is selected.\n // TODO: make a uniform verticalMarkerX state to fit all use-cases.\n const highlightedX = useMemo(() => {\n if (highlightedGroupIndex !== null) {\n return barGroups[highlightedGroupIndex].x;\n }\n if (verticalMarkerX !== null) {\n return verticalMarkerX.label;\n }\n return highlightedPoint?.datum?.x ?? null;\n }, [highlightedPoint, verticalMarkerX, highlightedGroupIndex, barGroups]);\n\n useEffect(() => {\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n dismissPopover();\n }\n };\n document.addEventListener('keydown', onKeyDown);\n return () => document.removeEventListener('keydown', onKeyDown);\n }, [dismissPopover]);\n\n useLayoutEffect(() => {\n if (highlightedX !== null || highlightedPoint !== null) {\n showPopover();\n }\n }, [highlightedX, highlightedPoint, showPopover]);\n\n const onPopoverDismiss = (outsideClick?: boolean) => {\n dismissPopover();\n\n if (!outsideClick) {\n // The delay is needed to bypass focus events caused by click or keypress needed to unpin the popover.\n setTimeout(() => {\n const isSomeInnerElementFocused = highlightedPoint || highlightedGroupIndex !== null || verticalMarkerX;\n if (isSomeInnerElementFocused) {\n plotRef.current?.focusApplication();\n } else {\n plotRef.current?.focusPlot();\n }\n }, 0);\n } else {\n clearAllHighlights();\n setVerticalMarkerX(null);\n }\n };\n\n const onSVGMouseDown = (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => {\n if (isPopoverOpen) {\n if (isPopoverPinned) {\n dismissPopover();\n } else {\n pinPopover();\n e.preventDefault();\n }\n } else {\n showPopover();\n }\n };\n\n const onSVGFocus = (event: React.FocusEvent, trigger: 'mouse' | 'keyboard') => {\n setPlotFocused(true);\n if (trigger === 'keyboard') {\n handlers.onFocus();\n } else {\n // noop: clicks are handled separately\n }\n };\n\n const onSVGBlur = (event: React.FocusEvent<Element>) => {\n setPlotFocused(false);\n const blurTarget = event.relatedTarget || event.target;\n if (\n blurTarget === null ||\n !(blurTarget instanceof Element) ||\n !nodeContains(containerRefObject.current, blurTarget)\n ) {\n setHighlightedPoint(null);\n setVerticalMarkerX(null);\n if (!plotContainerRef?.current?.contains(blurTarget)) {\n clearHighlightedSeries();\n }\n\n if (isPopoverOpen && !isPopoverPinned) {\n dismissPopover();\n }\n }\n };\n\n const onSVGKeyDown = handlers.onKeyDown;\n\n const xOffset = xScale.isCategorical() ? Math.max(0, xScale.d3Scale.bandwidth() - 1) / 2 : 0;\n\n let verticalLineX: number | null = null;\n if (verticalMarkerX !== null) {\n verticalLineX = verticalMarkerX.scaledX;\n } else if (isGroupNavigation && highlightedGroupIndex !== null) {\n const x = xScale.d3Scale(barGroups[highlightedGroupIndex].x as any) ?? null;\n if (x !== null) {\n verticalLineX = xOffset + x;\n }\n }\n\n const point = useMemo(\n () =>\n highlightedPoint\n ? {\n key: `${highlightedPoint.x}-${highlightedPoint.y}`,\n x: highlightedPoint.x,\n y: highlightedPoint.y,\n color: highlightedPoint.color,\n }\n : null,\n [highlightedPoint]\n );\n\n const verticalMarkers = useMemo(\n () =>\n verticalLineX !== null\n ? scaledSeries\n .filter(({ x, y }) => (x === verticalLineX || isNaN(x)) && !isNaN(y))\n .map(({ x, y, color }, index) => ({\n key: `${index}-${x}-${y}`,\n x: !horizontalBars ? verticalLineX || 0 : y,\n y: !horizontalBars ? y : verticalLineX || 0,\n color: color,\n }))\n : [],\n [scaledSeries, verticalLineX, horizontalBars]\n );\n\n const highlightedElementRef = isGroupNavigation\n ? highlightedGroupRef\n : highlightedPoint\n ? highlightedPointRef\n : verticalMarkerRef;\n\n const highlightDetails = useMemo(() => {\n if (highlightedX === null) {\n return null;\n }\n\n // When series point is highlighted show the corresponding series and matching x-thresholds.\n if (highlightedPoint) {\n const seriesToShow = visibleSeries.filter(\n series => series.series === highlightedPoint?.series || isXThreshold(series.series)\n );\n return formatHighlighted(highlightedX, seriesToShow, xTickFormatter);\n }\n\n // Otherwise - show all visible series details.\n return formatHighlighted(highlightedX, visibleSeries, xTickFormatter);\n }, [highlightedX, highlightedPoint, visibleSeries, xTickFormatter]);\n\n const activeAriaLabel = useMemo(\n () =>\n highlightDetails\n ? `${highlightDetails.position}, ${highlightDetails.details.map(d => d.key + ' ' + d.value).join(',')}`\n : '',\n [highlightDetails]\n );\n\n // Live region is used when nothing is focused e.g. when hovering.\n const activeLiveRegion =\n activeAriaLabel && !highlightedPoint && highlightedGroupIndex === null ? activeAriaLabel : '';\n\n const isLineXKeyboardFocused = isPlotFocused && !highlightedPoint && verticalMarkerX;\n\n return (\n <div className={styles['chart-container']} ref={containerRef}>\n <AxisLabel axis={y} position=\"left\" title={xy.title[y]} />\n <div className={styles['chart-container__horizontal']}>\n <LabelsMeasure\n ticks={xy.ticks[y]}\n scale={xy.scale[y]}\n tickFormatter={xy.tickFormatter[y] as TickFormatter}\n autoWidth={setLeftLabelsWidth}\n />\n\n <div className={styles['chart-container__vertical']}>\n <ChartPlot\n ref={plotRef}\n width={plotWidth}\n height={plotHeight}\n offsetBottom={bottomLabelsHeight}\n isClickable={isPopoverOpen && !isPopoverPinned}\n ariaLabel={ariaLabel}\n ariaLabelledby={ariaLabelledby}\n ariaDescription={ariaDescription}\n ariaRoleDescription={i18nStrings?.chartAriaRoleDescription}\n ariaLiveRegion={activeLiveRegion}\n activeElementRef={highlightedElementRef}\n activeElementKey={\n isPlotFocused &&\n (highlightedGroupIndex?.toString() ??\n (isLineXKeyboardFocused ? `point-index-${handlers.xIndex}` : point?.key))\n }\n activeElementFocusOffset={isGroupNavigation ? 0 : isLineXKeyboardFocused ? { x: 8, y: 0 } : 3}\n onMouseMove={onSVGMouseMove}\n onMouseOut={onSVGMouseOut}\n onMouseDown={onSVGMouseDown}\n onFocus={onSVGFocus}\n onBlur={onSVGBlur}\n onKeyDown={onSVGKeyDown}\n >\n <LeftLabels\n axis={y}\n ticks={xy.ticks[y]}\n scale={xy.scale[y]}\n tickFormatter={xy.tickFormatter[y] as TickFormatter}\n title={xy.title[y]}\n ariaRoleDescription={xy.ariaRoleDescription[y]}\n width={plotWidth}\n height={plotHeight}\n />\n\n {horizontalBars && <VerticalGridLines scale={yScale} ticks={yTicks} height={plotHeight} />}\n\n {emphasizeBaselineAxis && linesOnly && (\n <EmphasizedBaseline axis={x} scale={yScale} width={plotWidth} height={plotHeight} />\n )}\n\n <DataSeries\n axis={x}\n plotWidth={plotWidth}\n plotHeight={plotHeight}\n highlightedSeries={highlightedSeries ?? null}\n highlightedGroupIndex={highlightedGroupIndex}\n stackedBars={stackedBars}\n isGroupNavigation={isGroupNavigation}\n visibleSeries={visibleSeries}\n xScale={xScale}\n yScale={yScale}\n />\n\n {emphasizeBaselineAxis && !linesOnly && (\n <EmphasizedBaseline axis={x} scale={yScale} width={plotWidth} height={plotHeight} />\n )}\n\n <VerticalMarker\n key={verticalLineX || ''}\n height={plotHeight}\n showPoints={highlightedPoint === null}\n showLine={!isGroupNavigation}\n points={verticalMarkers}\n ref={verticalMarkerRef}\n />\n\n {highlightedPoint && (\n <HighlightedPoint\n ref={highlightedPointRef}\n point={point}\n role=\"button\"\n ariaLabel={activeAriaLabel}\n ariaHasPopup={true}\n ariaExpanded={isPopoverPinned}\n />\n )}\n\n {isGroupNavigation && xScale.isCategorical() && (\n <BarGroups\n ariaLabel={activeAriaLabel}\n isRefresh={isRefresh}\n isPopoverPinned={isPopoverPinned}\n barGroups={barGroups}\n highlightedGroupIndex={highlightedGroupIndex}\n highlightedGroupRef={highlightedGroupRef}\n />\n )}\n\n <BottomLabels\n axis={x}\n ticks={xy.ticks[x]}\n scale={xy.scale[x]}\n tickFormatter={xy.tickFormatter[x] as TickFormatter}\n title={xy.title[x]}\n ariaRoleDescription={xy.ariaRoleDescription[x]}\n height={plotHeight}\n width={plotWidth}\n offsetLeft={leftLabelsWidth + BOTTOM_LABELS_OFFSET}\n offsetRight={BOTTOM_LABELS_OFFSET}\n autoHeight={setBottomLabelsHeight}\n />\n </ChartPlot>\n\n <AxisLabel axis={x} position=\"bottom\" title={xy.title[x]} />\n </div>\n\n <ChartPopover\n ref={popoverRef}\n containerRef={containerRefObject}\n trackRef={highlightedElementRef}\n isOpen={isPopoverOpen}\n isPinned={isPopoverPinned}\n highlightDetails={highlightDetails}\n onDismiss={onPopoverDismiss}\n size={detailPopoverSize}\n dismissAriaLabel={i18nStrings.detailPopoverDismissAriaLabel}\n onMouseLeave={onPopoverLeave}\n />\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"chart-container.js","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/chart-container.tsx"],"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, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\n\nimport { nodeContains } from '../internal/utils/dom';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\n\nimport { getXTickCount, getYTickCount, createXTicks, createYTicks } from '../internal/components/cartesian-chart/ticks';\nimport ChartPlot, { ChartPlotRef } from '../internal/components/chart-plot';\nimport AxisLabel from '../internal/components/cartesian-chart/axis-label';\nimport LabelsMeasure from '../internal/components/cartesian-chart/labels-measure';\nimport LeftLabels from '../internal/components/cartesian-chart/left-labels';\nimport BottomLabels from '../internal/components/cartesian-chart/bottom-labels';\nimport VerticalGridLines from '../internal/components/cartesian-chart/vertical-grid-lines';\nimport EmphasizedBaseline from '../internal/components/cartesian-chart/emphasized-baseline';\nimport HighlightedPoint from '../internal/components/cartesian-chart/highlighted-point';\nimport VerticalMarker from '../internal/components/cartesian-chart/vertical-marker';\nimport { ChartScale, NumericChartScale } from '../internal/components/cartesian-chart/scales';\nimport ChartPopover from './chart-popover';\nimport { ChartDataTypes, InternalChartSeries, MixedLineBarChartProps, ScaleType, VerticalMarkerX } from './interfaces';\nimport { computeDomainX, computeDomainY } from './domain';\nimport { isXThreshold } from './utils';\nimport makeScaledSeries, { ScaledPoint } from './make-scaled-series';\nimport makeScaledBarGroups, { ScaledBarGroup } from './make-scaled-bar-groups';\nimport formatHighlighted from './format-highlighted';\nimport DataSeries from './data-series';\nimport BarGroups from './bar-groups';\nimport { useMouseHover } from './hooks/use-mouse-hover';\nimport { useNavigation } from './hooks/use-navigation';\nimport { usePopover } from './hooks/use-popover';\n\nimport styles from './styles.css.js';\nimport { CartesianChartProps } from '../internal/components/cartesian-chart/interfaces';\nimport useContainerWidth from '../internal/utils/use-container-width';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\n\nconst LEFT_LABELS_MARGIN = 16;\nconst BOTTOM_LABELS_OFFSET = 12;\n\ntype TickFormatter = undefined | ((value: ChartDataTypes) => string);\n\nexport interface ChartContainerProps<T extends ChartDataTypes> {\n series: ReadonlyArray<InternalChartSeries<T>>;\n visibleSeries: ReadonlyArray<InternalChartSeries<T>>;\n\n height: number;\n detailPopoverSize: MixedLineBarChartProps<T>['detailPopoverSize'];\n\n xScaleType: ScaleType;\n yScaleType: 'linear' | 'log';\n\n xDomain: MixedLineBarChartProps<T>['xDomain'];\n yDomain: MixedLineBarChartProps<T>['yDomain'];\n\n xTickFormatter?: CartesianChartProps.TickFormatter<T>;\n yTickFormatter?: CartesianChartProps.TickFormatter<number>;\n\n xTitle?: string;\n yTitle?: string;\n\n stackedBars?: boolean;\n emphasizeBaselineAxis: boolean;\n horizontalBars?: boolean;\n\n highlightedSeries?: MixedLineBarChartProps<T>['highlightedSeries'];\n onHighlightChange: (series: InternalChartSeries<T>['series'] | null) => void;\n highlightedPoint: ScaledPoint<T> | null;\n setHighlightedPoint: (point: ScaledPoint<T> | null) => void;\n highlightedGroupIndex: number | null;\n setHighlightedGroupIndex: (groupIndex: number | null) => void;\n\n ariaLabel: MixedLineBarChartProps<T>['ariaLabel'];\n ariaLabelledby: MixedLineBarChartProps<T>['ariaLabelledby'];\n ariaDescription: MixedLineBarChartProps<T>['ariaDescription'];\n i18nStrings: MixedLineBarChartProps<T>['i18nStrings'];\n\n plotContainerRef: React.RefObject<HTMLDivElement>;\n}\n\nexport default function ChartContainer<T extends ChartDataTypes>({\n height: plotHeight,\n series,\n visibleSeries,\n highlightedSeries,\n onHighlightChange,\n highlightedPoint,\n setHighlightedPoint,\n highlightedGroupIndex,\n setHighlightedGroupIndex,\n detailPopoverSize = 'medium',\n stackedBars = false,\n horizontalBars = false,\n xScaleType,\n yScaleType,\n xTickFormatter,\n yTickFormatter,\n emphasizeBaselineAxis,\n xTitle,\n yTitle,\n ariaLabel,\n ariaLabelledby,\n ariaDescription,\n i18nStrings = {},\n plotContainerRef,\n ...props\n}: ChartContainerProps<T>) {\n const plotRef = useRef<ChartPlotRef>(null);\n const verticalMarkerRef = useRef<SVGLineElement>(null);\n\n const [leftLabelsWidth, setLeftLabelsWidth] = useState(0);\n const [bottomLabelsHeight, setBottomLabelsHeight] = useState(0);\n const [verticalMarkerX, setVerticalMarkerX] = useState<VerticalMarkerX<T> | null>(null);\n const [containerWidth, containerMeasureRef] = useContainerWidth(500);\n const plotWidth = containerWidth ? containerWidth - leftLabelsWidth - LEFT_LABELS_MARGIN : 500;\n const containerRefObject = useRef(null);\n const containerRef = useMergeRefs(containerMeasureRef, containerRefObject);\n const popoverRef = useRef<HTMLElement | null>(null);\n\n const isRefresh = useVisualRefresh();\n\n const linesOnly = series.every(({ series }) => series.type === 'line' || series.type === 'threshold');\n\n const xDomain = (props.xDomain || computeDomainX(series, xScaleType)) as\n | readonly number[]\n | readonly string[]\n | readonly Date[];\n const yDomain = (props.yDomain || computeDomainY(series, yScaleType, stackedBars)) as readonly number[];\n\n const xTickCount = getXTickCount(plotWidth);\n const yTickCount = getYTickCount(plotHeight);\n\n const rangeBottomTop: [number, number] = [0, plotHeight];\n const rangeTopBottom: [number, number] = [plotHeight, 0];\n const rangeLeftRight: [number, number] = [0, plotWidth];\n const xScale = new ChartScale(xScaleType, xDomain, horizontalBars ? rangeBottomTop : rangeLeftRight, linesOnly);\n const yScale = new NumericChartScale(\n yScaleType,\n yDomain,\n horizontalBars ? rangeLeftRight : rangeTopBottom,\n props.yDomain ? null : yTickCount\n );\n\n const xTicks = createXTicks(xScale, xTickCount);\n const yTicks = createYTicks(yScale, yTickCount);\n\n /**\n * Interactions\n */\n const highlightedPointRef = useRef<SVGGElement>(null);\n const highlightedGroupRef = useRef<SVGRectElement>(null);\n const [isPlotFocused, setPlotFocused] = useState(false);\n\n // Some chart components are rendered against \"x\" or \"y\" axes,\n // When \"horizontalBars\" is enabled, the axes are inverted.\n const x = !horizontalBars ? 'x' : 'y';\n const y = !horizontalBars ? 'y' : 'x';\n const xy = {\n ticks: { x: xTicks, y: yTicks },\n scale: { x: xScale, y: yScale },\n tickFormatter: { x: xTickFormatter, y: yTickFormatter },\n title: { x: xTitle, y: yTitle },\n ariaRoleDescription: { x: i18nStrings.xAxisAriaRoleDescription, y: i18nStrings.yAxisAriaRoleDescription },\n };\n\n const scaledSeries = makeScaledSeries(visibleSeries, xScale, yScale);\n const barGroups: ScaledBarGroup<T>[] = makeScaledBarGroups(visibleSeries, xScale, plotWidth, plotHeight, y);\n\n const { isPopoverOpen, isPopoverPinned, showPopover, pinPopover, dismissPopover } = usePopover();\n\n // Allows to add a delay between popover is dismissed and handlers are enabled to prevent immediate popover reopening.\n const [isHandlersDisabled, setHandlersDisabled] = useState(!isPopoverPinned);\n useEffect(() => {\n if (isPopoverPinned) {\n setHandlersDisabled(true);\n } else {\n const timeoutId = setTimeout(() => setHandlersDisabled(false), 25);\n return () => clearTimeout(timeoutId);\n }\n }, [isPopoverPinned]);\n\n const highlightSeries = useCallback(\n (series: MixedLineBarChartProps.ChartSeries<T> | null) => {\n if (series !== highlightedSeries) {\n onHighlightChange(series);\n }\n },\n [highlightedSeries, onHighlightChange]\n );\n\n const highlightPoint = useCallback(\n (point: ScaledPoint<T> | null) => {\n setHighlightedGroupIndex(null);\n setHighlightedPoint(point);\n if (point) {\n highlightSeries(point.series);\n setVerticalMarkerX({\n scaledX: point.x,\n label: point.datum?.x ?? null,\n });\n }\n },\n [setHighlightedGroupIndex, setHighlightedPoint, highlightSeries]\n );\n\n const clearAllHighlights = useCallback(() => {\n setHighlightedPoint(null);\n highlightSeries(null);\n setHighlightedGroupIndex(null);\n }, [highlightSeries, setHighlightedGroupIndex, setHighlightedPoint]);\n\n // Highlight all points at a given X in a line chart\n const highlightX = useCallback(\n (marker: VerticalMarkerX<T> | null) => {\n if (marker) {\n clearAllHighlights();\n }\n setVerticalMarkerX(marker);\n },\n [clearAllHighlights]\n );\n\n // Highlight all points and bars at a given X index in a mixed line and bar chart\n const highlightGroup = useCallback(\n (groupIndex: number) => {\n highlightSeries(null);\n setHighlightedPoint(null);\n setHighlightedGroupIndex(groupIndex);\n },\n [highlightSeries, setHighlightedPoint, setHighlightedGroupIndex]\n );\n\n const clearHighlightedSeries = useCallback(() => {\n clearAllHighlights();\n dismissPopover();\n }, [dismissPopover, clearAllHighlights]);\n\n const { isGroupNavigation, ...handlers } = useNavigation({\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 clearHighlightedSeries,\n verticalMarkerX,\n });\n\n const { onSVGMouseMove, onSVGMouseOut, onPopoverLeave } = useMouseHover<T>({\n scaledSeries,\n barGroups,\n plotRef,\n popoverRef,\n highlightPoint,\n highlightGroup,\n clearHighlightedSeries,\n isGroupNavigation,\n isHandlersDisabled,\n highlightX,\n });\n\n // There are multiple ways to indicate what X is selected.\n // TODO: make a uniform verticalMarkerX state to fit all use-cases.\n const highlightedX = useMemo(() => {\n if (highlightedGroupIndex !== null) {\n return barGroups[highlightedGroupIndex].x;\n }\n if (verticalMarkerX !== null) {\n return verticalMarkerX.label;\n }\n return highlightedPoint?.datum?.x ?? null;\n }, [highlightedPoint, verticalMarkerX, highlightedGroupIndex, barGroups]);\n\n useEffect(() => {\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n dismissPopover();\n }\n };\n document.addEventListener('keydown', onKeyDown);\n return () => document.removeEventListener('keydown', onKeyDown);\n }, [dismissPopover]);\n\n useLayoutEffect(() => {\n if (highlightedX !== null || highlightedPoint !== null) {\n showPopover();\n }\n }, [highlightedX, highlightedPoint, showPopover]);\n\n const onPopoverDismiss = (outsideClick?: boolean) => {\n dismissPopover();\n\n if (!outsideClick) {\n // The delay is needed to bypass focus events caused by click or keypress needed to unpin the popover.\n setTimeout(() => {\n const isSomeInnerElementFocused = highlightedPoint || highlightedGroupIndex !== null || verticalMarkerX;\n if (isSomeInnerElementFocused) {\n plotRef.current?.focusApplication();\n } else {\n plotRef.current?.focusPlot();\n }\n }, 0);\n } else {\n clearAllHighlights();\n setVerticalMarkerX(null);\n }\n };\n\n const onSVGMouseDown = (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => {\n if (isPopoverOpen) {\n if (isPopoverPinned) {\n dismissPopover();\n } else {\n pinPopover();\n e.preventDefault();\n }\n } else {\n showPopover();\n }\n };\n\n const onSVGFocus = (event: React.FocusEvent, trigger: 'mouse' | 'keyboard') => {\n setPlotFocused(true);\n if (trigger === 'keyboard') {\n handlers.onFocus();\n } else {\n // noop: clicks are handled separately\n }\n };\n\n const onSVGBlur = (event: React.FocusEvent<Element>) => {\n setPlotFocused(false);\n const blurTarget = event.relatedTarget || event.target;\n if (\n blurTarget === null ||\n !(blurTarget instanceof Element) ||\n !nodeContains(containerRefObject.current, blurTarget)\n ) {\n setHighlightedPoint(null);\n setVerticalMarkerX(null);\n if (!plotContainerRef?.current?.contains(blurTarget)) {\n clearHighlightedSeries();\n }\n\n if (isPopoverOpen && !isPopoverPinned) {\n dismissPopover();\n }\n }\n };\n\n const onSVGKeyDown = handlers.onKeyDown;\n\n const xOffset = xScale.isCategorical() ? Math.max(0, xScale.d3Scale.bandwidth() - 1) / 2 : 0;\n\n let verticalLineX: number | null = null;\n if (verticalMarkerX !== null) {\n verticalLineX = verticalMarkerX.scaledX;\n } else if (isGroupNavigation && highlightedGroupIndex !== null) {\n const x = xScale.d3Scale(barGroups[highlightedGroupIndex].x as any) ?? null;\n if (x !== null) {\n verticalLineX = xOffset + x;\n }\n }\n\n const point = useMemo(\n () =>\n highlightedPoint\n ? {\n key: `${highlightedPoint.x}-${highlightedPoint.y}`,\n x: highlightedPoint.x,\n y: highlightedPoint.y,\n color: highlightedPoint.color,\n }\n : null,\n [highlightedPoint]\n );\n\n const verticalMarkers = useMemo(\n () =>\n verticalLineX !== null\n ? scaledSeries\n .filter(({ x, y }) => (x === verticalLineX || isNaN(x)) && !isNaN(y))\n .map(({ x, y, color }, index) => ({\n key: `${index}-${x}-${y}`,\n x: !horizontalBars ? verticalLineX || 0 : y,\n y: !horizontalBars ? y : verticalLineX || 0,\n color: color,\n }))\n : [],\n [scaledSeries, verticalLineX, horizontalBars]\n );\n\n const highlightedElementRef = isGroupNavigation\n ? highlightedGroupRef\n : highlightedPoint\n ? highlightedPointRef\n : verticalMarkerRef;\n\n const highlightDetails = useMemo(() => {\n if (highlightedX === null) {\n return null;\n }\n\n // When series point is highlighted show the corresponding series and matching x-thresholds.\n if (highlightedPoint) {\n const seriesToShow = visibleSeries.filter(\n series => series.series === highlightedPoint?.series || isXThreshold(series.series)\n );\n return formatHighlighted(highlightedX, seriesToShow, xTickFormatter);\n }\n\n // Otherwise - show all visible series details.\n return formatHighlighted(highlightedX, visibleSeries, xTickFormatter);\n }, [highlightedX, highlightedPoint, visibleSeries, xTickFormatter]);\n\n const activeAriaLabel = useMemo(\n () =>\n highlightDetails\n ? `${highlightDetails.position}, ${highlightDetails.details.map(d => d.key + ' ' + d.value).join(',')}`\n : '',\n [highlightDetails]\n );\n\n // Live region is used when nothing is focused e.g. when hovering.\n const activeLiveRegion =\n activeAriaLabel && !highlightedPoint && highlightedGroupIndex === null ? activeAriaLabel : '';\n\n const isLineXKeyboardFocused = isPlotFocused && !highlightedPoint && verticalMarkerX;\n\n return (\n <div className={styles['chart-container']} ref={containerRef}>\n <AxisLabel axis={y} position=\"left\" title={xy.title[y]} />\n <div className={styles['chart-container__horizontal']}>\n <LabelsMeasure\n ticks={xy.ticks[y]}\n scale={xy.scale[y]}\n tickFormatter={xy.tickFormatter[y] as TickFormatter}\n autoWidth={setLeftLabelsWidth}\n />\n\n <div className={styles['chart-container__vertical']}>\n <ChartPlot\n ref={plotRef}\n width={plotWidth}\n height={plotHeight}\n offsetBottom={bottomLabelsHeight}\n isClickable={isPopoverOpen && !isPopoverPinned}\n ariaLabel={ariaLabel}\n ariaLabelledby={ariaLabelledby}\n ariaDescription={ariaDescription}\n ariaRoleDescription={i18nStrings?.chartAriaRoleDescription}\n ariaLiveRegion={activeLiveRegion}\n activeElementRef={highlightedElementRef}\n activeElementKey={\n isPlotFocused &&\n (highlightedGroupIndex?.toString() ??\n (isLineXKeyboardFocused ? `point-index-${handlers.xIndex}` : point?.key))\n }\n activeElementFocusOffset={isGroupNavigation ? 0 : isLineXKeyboardFocused ? { x: 8, y: 0 } : 3}\n onMouseMove={onSVGMouseMove}\n onMouseOut={onSVGMouseOut}\n onMouseDown={onSVGMouseDown}\n onFocus={onSVGFocus}\n onBlur={onSVGBlur}\n onKeyDown={onSVGKeyDown}\n >\n <LeftLabels\n axis={y}\n ticks={xy.ticks[y]}\n scale={xy.scale[y]}\n tickFormatter={xy.tickFormatter[y] as TickFormatter}\n title={xy.title[y]}\n ariaRoleDescription={xy.ariaRoleDescription[y]}\n width={plotWidth}\n height={plotHeight}\n />\n\n {horizontalBars && <VerticalGridLines scale={yScale} ticks={yTicks} height={plotHeight} />}\n\n {emphasizeBaselineAxis && linesOnly && (\n <EmphasizedBaseline axis={x} scale={yScale} width={plotWidth} height={plotHeight} />\n )}\n\n <DataSeries\n axis={x}\n plotWidth={plotWidth}\n plotHeight={plotHeight}\n highlightedSeries={highlightedSeries ?? null}\n highlightedGroupIndex={highlightedGroupIndex}\n stackedBars={stackedBars}\n isGroupNavigation={isGroupNavigation}\n visibleSeries={visibleSeries}\n xScale={xScale}\n yScale={yScale}\n />\n\n {emphasizeBaselineAxis && !linesOnly && (\n <EmphasizedBaseline axis={x} scale={yScale} width={plotWidth} height={plotHeight} />\n )}\n\n <VerticalMarker\n key={verticalLineX || ''}\n height={plotHeight}\n showPoints={highlightedPoint === null}\n showLine={!isGroupNavigation}\n points={verticalMarkers}\n ref={verticalMarkerRef}\n />\n\n {highlightedPoint && (\n <HighlightedPoint\n ref={highlightedPointRef}\n point={point}\n role=\"button\"\n ariaLabel={activeAriaLabel}\n ariaHasPopup={true}\n ariaExpanded={isPopoverPinned}\n />\n )}\n\n {isGroupNavigation && xScale.isCategorical() && (\n <BarGroups\n ariaLabel={activeAriaLabel}\n isRefresh={isRefresh}\n isPopoverPinned={isPopoverPinned}\n barGroups={barGroups}\n highlightedGroupIndex={highlightedGroupIndex}\n highlightedGroupRef={highlightedGroupRef}\n />\n )}\n\n <BottomLabels\n axis={x}\n ticks={xy.ticks[x]}\n scale={xy.scale[x]}\n tickFormatter={xy.tickFormatter[x] as TickFormatter}\n title={xy.title[x]}\n ariaRoleDescription={xy.ariaRoleDescription[x]}\n height={plotHeight}\n width={plotWidth}\n offsetLeft={leftLabelsWidth + BOTTOM_LABELS_OFFSET}\n offsetRight={BOTTOM_LABELS_OFFSET}\n autoHeight={setBottomLabelsHeight}\n />\n </ChartPlot>\n\n <AxisLabel axis={x} position=\"bottom\" title={xy.title[x]} />\n </div>\n\n <ChartPopover\n ref={popoverRef}\n containerRef={containerRefObject}\n trackRef={highlightedElementRef}\n isOpen={isPopoverOpen}\n isPinned={isPopoverPinned}\n highlightDetails={highlightDetails}\n onDismiss={onPopoverDismiss}\n size={detailPopoverSize}\n dismissAriaLabel={i18nStrings.detailPopoverDismissAriaLabel}\n onMouseLeave={onPopoverLeave}\n />\n </div>\n </div>\n );\n}\n"]}
@@ -6,23 +6,16 @@ import InternalSpaceBetween from '../space-between/internal';
6
6
  import Filter from '../internal/components/chart-filter';
7
7
  import { chartLegendMap } from './utils';
8
8
  import styles from './styles.css.js';
9
- export default function InternalChartFilters(_a) {
10
- var _b;
11
- var series = _a.series, visibleSeries = _a.visibleSeries, onChange = _a.onChange, i18nStrings = _a.i18nStrings, hideFilter = _a.hideFilter, additionalFilters = _a.additionalFilters;
12
- var filterItems = useMemo(function () {
13
- return series.map(function (_a) {
14
- var series = _a.series, color = _a.color;
15
- return ({
16
- label: series.title,
17
- type: chartLegendMap[series.type],
18
- color: color,
19
- datum: series
20
- });
21
- });
22
- }, [series]);
23
- return (React.createElement(InternalSpaceBetween, { size: "l", direction: "horizontal", className: clsx((_b = {},
24
- _b[styles['has-default-filter']] = !hideFilter,
25
- _b)) },
9
+ export default function InternalChartFilters({ series, visibleSeries, onChange, i18nStrings, hideFilter, additionalFilters, }) {
10
+ const filterItems = useMemo(() => series.map(({ series, color }) => ({
11
+ label: series.title,
12
+ type: chartLegendMap[series.type],
13
+ color,
14
+ datum: series,
15
+ })), [series]);
16
+ return (React.createElement(InternalSpaceBetween, { size: "l", direction: "horizontal", className: clsx({
17
+ [styles['has-default-filter']]: !hideFilter,
18
+ }) },
26
19
  !hideFilter && (React.createElement(Filter, { series: filterItems, onChange: onChange, selectedSeries: visibleSeries, i18nStrings: i18nStrings })),
27
20
  additionalFilters));
28
21
  }