@cloudscape-design/components 3.0.221 → 3.0.223

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 (1002) 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/interfaces.d.ts +4 -0
  264. package/date-input/interfaces.d.ts.map +1 -1
  265. package/date-input/interfaces.js.map +1 -1
  266. package/date-input/internal.js +8 -8
  267. package/date-input/internal.js.map +1 -1
  268. package/date-picker/index.js +28 -28
  269. package/date-picker/index.js.map +1 -1
  270. package/date-range-picker/calendar/grids/grid.js +54 -57
  271. package/date-range-picker/calendar/grids/grid.js.map +1 -1
  272. package/date-range-picker/calendar/grids/index.js +27 -28
  273. package/date-range-picker/calendar/grids/index.js.map +1 -1
  274. package/date-range-picker/calendar/header/header-button.js +4 -6
  275. package/date-range-picker/calendar/header/header-button.js.map +1 -1
  276. package/date-range-picker/calendar/header/index.js +6 -7
  277. package/date-range-picker/calendar/header/index.js.map +1 -1
  278. package/date-range-picker/calendar/index.js +40 -45
  279. package/date-range-picker/calendar/index.js.map +1 -1
  280. package/date-range-picker/calendar/range-inputs.js +5 -6
  281. package/date-range-picker/calendar/range-inputs.js.map +1 -1
  282. package/date-range-picker/calendar/utils.js +2 -2
  283. package/date-range-picker/calendar/utils.js.map +1 -1
  284. package/date-range-picker/dropdown.js +29 -34
  285. package/date-range-picker/dropdown.js.map +1 -1
  286. package/date-range-picker/index.js +40 -43
  287. package/date-range-picker/index.js.map +1 -1
  288. package/date-range-picker/mode-switcher.js +2 -3
  289. package/date-range-picker/mode-switcher.js.map +1 -1
  290. package/date-range-picker/relative-range/index.js +36 -40
  291. package/date-range-picker/relative-range/index.js.map +1 -1
  292. package/date-range-picker/time-offset.js +5 -5
  293. package/date-range-picker/time-offset.js.map +1 -1
  294. package/date-range-picker/utils.js +4 -5
  295. package/date-range-picker/utils.js.map +1 -1
  296. package/expandable-section/expandable-section-container.js +5 -5
  297. package/expandable-section/expandable-section-container.js.map +1 -1
  298. package/expandable-section/expandable-section-header.js +18 -23
  299. package/expandable-section/expandable-section-header.js.map +1 -1
  300. package/expandable-section/index.js +4 -4
  301. package/expandable-section/index.js.map +1 -1
  302. package/expandable-section/internal.js +22 -22
  303. package/expandable-section/internal.js.map +1 -1
  304. package/flashbar/collapsible-flashbar.js +103 -118
  305. package/flashbar/collapsible-flashbar.js.map +1 -1
  306. package/flashbar/common.js +26 -35
  307. package/flashbar/common.js.map +1 -1
  308. package/flashbar/constant.js +1 -1
  309. package/flashbar/constant.js.map +1 -1
  310. package/flashbar/flash.js +23 -26
  311. package/flashbar/flash.js.map +1 -1
  312. package/flashbar/index.js +3 -4
  313. package/flashbar/index.js.map +1 -1
  314. package/flashbar/internal/analytics.js +12 -12
  315. package/flashbar/internal/analytics.js.map +1 -1
  316. package/flashbar/non-collapsible-flashbar.js +10 -10
  317. package/flashbar/non-collapsible-flashbar.js.map +1 -1
  318. package/flashbar/utils.js +25 -27
  319. package/flashbar/utils.js.map +1 -1
  320. package/form/index.js +4 -4
  321. package/form/index.js.map +1 -1
  322. package/form/internal.js +5 -6
  323. package/form/internal.js.map +1 -1
  324. package/form-field/index.js +4 -4
  325. package/form-field/index.js.map +1 -1
  326. package/form-field/internal.js +20 -23
  327. package/form-field/internal.js.map +1 -1
  328. package/form-field/util.js +9 -10
  329. package/form-field/util.js.map +1 -1
  330. package/grid/index.js +6 -6
  331. package/grid/index.js.map +1 -1
  332. package/grid/internal.js +14 -15
  333. package/grid/internal.js.map +1 -1
  334. package/header/index.js +4 -4
  335. package/header/index.js.map +1 -1
  336. package/header/internal.js +15 -15
  337. package/header/internal.js.map +1 -1
  338. package/help-panel/index.js +7 -7
  339. package/help-panel/index.js.map +1 -1
  340. package/hotspot/index.js +12 -12
  341. package/hotspot/index.js.map +1 -1
  342. package/icon/index.js +4 -4
  343. package/icon/index.js.map +1 -1
  344. package/icon/internal.js +18 -18
  345. package/icon/internal.js.map +1 -1
  346. package/input/index.js +36 -17
  347. package/input/index.js.map +1 -1
  348. package/input/internal.js +30 -25
  349. package/input/internal.js.map +1 -1
  350. package/input/utils.js +4 -5
  351. package/input/utils.js.map +1 -1
  352. package/internal/animate.js +27 -32
  353. package/internal/animate.js.map +1 -1
  354. package/internal/base-component/index.js +2 -2
  355. package/internal/base-component/index.js.map +1 -1
  356. package/internal/breakpoints.js +7 -12
  357. package/internal/breakpoints.js.map +1 -1
  358. package/internal/components/abstract-switch/index.d.ts +2 -1
  359. package/internal/components/abstract-switch/index.d.ts.map +1 -1
  360. package/internal/components/abstract-switch/index.js +19 -19
  361. package/internal/components/abstract-switch/index.js.map +1 -1
  362. package/internal/components/abstract-switch/styles.css.js +13 -12
  363. package/internal/components/abstract-switch/styles.scoped.css +21 -21
  364. package/internal/components/abstract-switch/styles.selectors.js +13 -12
  365. package/internal/components/autosuggest-input/index.js +38 -38
  366. package/internal/components/autosuggest-input/index.js.map +1 -1
  367. package/internal/components/button-trigger/index.js +7 -7
  368. package/internal/components/button-trigger/index.js.map +1 -1
  369. package/internal/components/cartesian-chart/axis-label.js +1 -2
  370. package/internal/components/cartesian-chart/axis-label.js.map +1 -1
  371. package/internal/components/cartesian-chart/bottom-labels.js +20 -26
  372. package/internal/components/cartesian-chart/bottom-labels.js.map +1 -1
  373. package/internal/components/cartesian-chart/constants.js +5 -5
  374. package/internal/components/cartesian-chart/constants.js.map +1 -1
  375. package/internal/components/cartesian-chart/emphasized-baseline.js +4 -5
  376. package/internal/components/cartesian-chart/emphasized-baseline.js.map +1 -1
  377. package/internal/components/cartesian-chart/highlighted-point.js +1 -2
  378. package/internal/components/cartesian-chart/highlighted-point.js.map +1 -1
  379. package/internal/components/cartesian-chart/label-utils.js +20 -24
  380. package/internal/components/cartesian-chart/label-utils.js.map +1 -1
  381. package/internal/components/cartesian-chart/labels-measure.js +6 -7
  382. package/internal/components/cartesian-chart/labels-measure.js.map +1 -1
  383. package/internal/components/cartesian-chart/left-labels.js +13 -17
  384. package/internal/components/cartesian-chart/left-labels.js.map +1 -1
  385. package/internal/components/cartesian-chart/scales.js +21 -26
  386. package/internal/components/cartesian-chart/scales.js.map +1 -1
  387. package/internal/components/cartesian-chart/ticks.js +9 -10
  388. package/internal/components/cartesian-chart/ticks.js.map +1 -1
  389. package/internal/components/cartesian-chart/vertical-grid-lines.js +3 -4
  390. package/internal/components/cartesian-chart/vertical-grid-lines.js.map +1 -1
  391. package/internal/components/cartesian-chart/vertical-marker.js +3 -4
  392. package/internal/components/cartesian-chart/vertical-marker.js.map +1 -1
  393. package/internal/components/chart-filter/index.js +13 -14
  394. package/internal/components/chart-filter/index.js.map +1 -1
  395. package/internal/components/chart-legend/index.js +26 -29
  396. package/internal/components/chart-legend/index.js.map +1 -1
  397. package/internal/components/chart-plot/application-controller.js +21 -25
  398. package/internal/components/chart-plot/application-controller.js.map +1 -1
  399. package/internal/components/chart-plot/focus-outline.js +7 -8
  400. package/internal/components/chart-plot/focus-outline.js.map +1 -1
  401. package/internal/components/chart-plot/index.js +33 -34
  402. package/internal/components/chart-plot/index.js.map +1 -1
  403. package/internal/components/chart-popover/index.js +11 -12
  404. package/internal/components/chart-popover/index.js.map +1 -1
  405. package/internal/components/chart-series-details/index.js +13 -17
  406. package/internal/components/chart-series-details/index.js.map +1 -1
  407. package/internal/components/chart-series-marker/index.js +2 -3
  408. package/internal/components/chart-series-marker/index.js.map +1 -1
  409. package/internal/components/chart-status-container/index.js +8 -10
  410. package/internal/components/chart-status-container/index.js.map +1 -1
  411. package/internal/components/checkbox-icon/index.js +18 -19
  412. package/internal/components/checkbox-icon/index.js.map +1 -1
  413. package/internal/components/dark-ribbon/index.js +13 -14
  414. package/internal/components/dark-ribbon/index.js.map +1 -1
  415. package/internal/components/dropdown/context.js +4 -5
  416. package/internal/components/dropdown/context.js.map +1 -1
  417. package/internal/components/dropdown/dropdown-fit-handler.js +74 -81
  418. package/internal/components/dropdown/dropdown-fit-handler.js.map +1 -1
  419. package/internal/components/dropdown/index.js +57 -65
  420. package/internal/components/dropdown/index.js.map +1 -1
  421. package/internal/components/dropdown-footer/index.js +2 -6
  422. package/internal/components/dropdown-footer/index.js.map +1 -1
  423. package/internal/components/dropdown-status/index.js +5 -7
  424. package/internal/components/dropdown-status/index.js.map +1 -1
  425. package/internal/components/filtering-token/index.js +4 -6
  426. package/internal/components/filtering-token/index.js.map +1 -1
  427. package/internal/components/focus-lock/index.js +10 -11
  428. package/internal/components/focus-lock/index.js.map +1 -1
  429. package/internal/components/focus-lock/utils.js +4 -4
  430. package/internal/components/focus-lock/utils.js.map +1 -1
  431. package/internal/components/live-region/index.js +10 -10
  432. package/internal/components/live-region/index.js.map +1 -1
  433. package/internal/components/masked-input/index.js +22 -24
  434. package/internal/components/masked-input/index.js.map +1 -1
  435. package/internal/components/masked-input/keyboard-handler.js +18 -18
  436. package/internal/components/masked-input/keyboard-handler.js.map +1 -1
  437. package/internal/components/masked-input/use-mask.js +24 -28
  438. package/internal/components/masked-input/use-mask.js.map +1 -1
  439. package/internal/components/masked-input/utils/keys.js +4 -6
  440. package/internal/components/masked-input/utils/keys.js.map +1 -1
  441. package/internal/components/masked-input/utils/mask-format.js +103 -113
  442. package/internal/components/masked-input/utils/mask-format.js.map +1 -1
  443. package/internal/components/masked-input/utils/strings.js +1 -4
  444. package/internal/components/masked-input/utils/strings.js.map +1 -1
  445. package/internal/components/menu-dropdown/index.js +10 -12
  446. package/internal/components/menu-dropdown/index.js.map +1 -1
  447. package/internal/components/option/highlight-match.js +14 -18
  448. package/internal/components/option/highlight-match.js.map +1 -1
  449. package/internal/components/option/index.js +13 -13
  450. package/internal/components/option/index.js.map +1 -1
  451. package/internal/components/option/option-announcer.js +1 -1
  452. package/internal/components/option/option-announcer.js.map +1 -1
  453. package/internal/components/option/option-parts.js +28 -45
  454. package/internal/components/option/option-parts.js.map +1 -1
  455. package/internal/components/option/utils/filter-options.js +16 -19
  456. package/internal/components/option/utils/filter-options.js.map +1 -1
  457. package/internal/components/option/utils/flatten-options.js +15 -15
  458. package/internal/components/option/utils/flatten-options.js.map +1 -1
  459. package/internal/components/option/utils/prepare-options.js +3 -3
  460. package/internal/components/option/utils/prepare-options.js.map +1 -1
  461. package/internal/components/options-list/index.js +19 -20
  462. package/internal/components/options-list/index.js.map +1 -1
  463. package/internal/components/options-list/utils/test-indexes.js +11 -11
  464. package/internal/components/options-list/utils/test-indexes.js.map +1 -1
  465. package/internal/components/options-list/utils/use-highlight-option.js +17 -21
  466. package/internal/components/options-list/utils/use-highlight-option.js.map +1 -1
  467. package/internal/components/options-list/utils/use-ids.js +2 -2
  468. package/internal/components/options-list/utils/use-ids.js.map +1 -1
  469. package/internal/components/options-list/utils/use-keyboard.js +6 -8
  470. package/internal/components/options-list/utils/use-keyboard.js.map +1 -1
  471. package/internal/components/options-list/utils/use-open-state.js +6 -7
  472. package/internal/components/options-list/utils/use-open-state.js.map +1 -1
  473. package/internal/components/portal/index.js +5 -6
  474. package/internal/components/portal/index.js.map +1 -1
  475. package/internal/components/screenreader-only/index.js +1 -2
  476. package/internal/components/screenreader-only/index.js.map +1 -1
  477. package/internal/components/selectable-item/index.js +25 -26
  478. package/internal/components/selectable-item/index.js.map +1 -1
  479. package/internal/components/tab-trap/index.js +1 -2
  480. package/internal/components/tab-trap/index.js.map +1 -1
  481. package/internal/components/transition/index.js +16 -16
  482. package/internal/components/transition/index.js.map +1 -1
  483. package/internal/components/visual-context/index.js +6 -7
  484. package/internal/components/visual-context/index.js.map +1 -1
  485. package/internal/context/app-layout-context.js +2 -2
  486. package/internal/context/app-layout-context.js.map +1 -1
  487. package/internal/context/form-field-context.js +4 -4
  488. package/internal/context/form-field-context.js.map +1 -1
  489. package/internal/context/split-panel-context.js +3 -3
  490. package/internal/context/split-panel-context.js.map +1 -1
  491. package/internal/debounce.js +6 -11
  492. package/internal/debounce.js.map +1 -1
  493. package/internal/environment.js +1 -1
  494. package/internal/events/index.js +12 -16
  495. package/internal/events/index.js.map +1 -1
  496. package/internal/focus-tracker.js +22 -27
  497. package/internal/focus-tracker.js.map +1 -1
  498. package/internal/generated/custom-css-properties/index.js +2 -2
  499. package/internal/generated/custom-css-properties/index.js.map +1 -1
  500. package/internal/hooks/check-controlled/index.js +1 -1
  501. package/internal/hooks/check-controlled/index.js.map +1 -1
  502. package/internal/hooks/container-queries/use-container-breakpoints.js +2 -2
  503. package/internal/hooks/container-queries/use-container-breakpoints.js.map +1 -1
  504. package/internal/hooks/container-queries/use-container-query.js +5 -6
  505. package/internal/hooks/container-queries/use-container-query.js.map +1 -1
  506. package/internal/hooks/container-queries/use-resize-observer.js +13 -13
  507. package/internal/hooks/container-queries/use-resize-observer.js.map +1 -1
  508. package/internal/hooks/focus-visible/index.js +8 -8
  509. package/internal/hooks/focus-visible/index.js.map +1 -1
  510. package/internal/hooks/forward-focus/index.js +5 -9
  511. package/internal/hooks/forward-focus/index.js.map +1 -1
  512. package/internal/hooks/forward-focus/radio-group.js +7 -7
  513. package/internal/hooks/forward-focus/radio-group.js.map +1 -1
  514. package/internal/hooks/use-base-component/component-metadata.js +5 -5
  515. package/internal/hooks/use-base-component/component-metadata.js.map +1 -1
  516. package/internal/hooks/use-base-component/index.js +1 -1
  517. package/internal/hooks/use-base-component/index.js.map +1 -1
  518. package/internal/hooks/use-controllable/index.js +16 -17
  519. package/internal/hooks/use-controllable/index.js.map +1 -1
  520. package/internal/hooks/use-date-cache/index.js +2 -2
  521. package/internal/hooks/use-date-cache/index.js.map +1 -1
  522. package/internal/hooks/use-debounce-callback/index.js +3 -7
  523. package/internal/hooks/use-debounce-callback/index.js.map +1 -1
  524. package/internal/hooks/use-dynamic-overlap/index.js +4 -4
  525. package/internal/hooks/use-dynamic-overlap/index.js.map +1 -1
  526. package/internal/hooks/use-effect-on-update.js +2 -2
  527. package/internal/hooks/use-effect-on-update.js.map +1 -1
  528. package/internal/hooks/use-focus-tracker.js +7 -8
  529. package/internal/hooks/use-focus-tracker.js.map +1 -1
  530. package/internal/hooks/use-has-rendered/index.js +6 -6
  531. package/internal/hooks/use-has-rendered/index.js.map +1 -1
  532. package/internal/hooks/use-merge-refs/index.js +5 -9
  533. package/internal/hooks/use-merge-refs/index.js.map +1 -1
  534. package/internal/hooks/use-mobile/index.js +7 -7
  535. package/internal/hooks/use-mobile/index.js.map +1 -1
  536. package/internal/hooks/use-mouse-down-target.js +5 -5
  537. package/internal/hooks/use-mouse-down-target.js.map +1 -1
  538. package/internal/hooks/use-mutation-observer/index.js +5 -5
  539. package/internal/hooks/use-mutation-observer/index.js.map +1 -1
  540. package/internal/hooks/use-portal-mode-classes/index.js +10 -12
  541. package/internal/hooks/use-portal-mode-classes/index.js.map +1 -1
  542. package/internal/hooks/use-previous/index.js +3 -3
  543. package/internal/hooks/use-previous/index.js.map +1 -1
  544. package/internal/hooks/use-scroll-sync/index.js +8 -9
  545. package/internal/hooks/use-scroll-sync/index.js.map +1 -1
  546. package/internal/hooks/use-singleton-handler/index.js +12 -14
  547. package/internal/hooks/use-singleton-handler/index.js.map +1 -1
  548. package/internal/hooks/use-stable-event-handler/index.js +3 -10
  549. package/internal/hooks/use-stable-event-handler/index.js.map +1 -1
  550. package/internal/hooks/use-telemetry/index.js +2 -2
  551. package/internal/hooks/use-telemetry/index.js.map +1 -1
  552. package/internal/hooks/use-telemetry/telemetry.js +3 -4
  553. package/internal/hooks/use-telemetry/telemetry.js.map +1 -1
  554. package/internal/hooks/use-unique-id/index.js +3 -3
  555. package/internal/hooks/use-unique-id/index.js.map +1 -1
  556. package/internal/hooks/use-visual-mode/index.js +11 -11
  557. package/internal/hooks/use-visual-mode/index.js.map +1 -1
  558. package/internal/is-development.js +1 -1
  559. package/internal/is-development.js.map +1 -1
  560. package/internal/logging.js +2 -2
  561. package/internal/logging.js.map +1 -1
  562. package/internal/manifest.json +1 -1
  563. package/internal/metrics/log-clients.js +18 -27
  564. package/internal/metrics/log-clients.js.map +1 -1
  565. package/internal/metrics/metrics-formatters.js +11 -14
  566. package/internal/metrics/metrics-formatters.js.map +1 -1
  567. package/internal/metrics/metrics.js +27 -33
  568. package/internal/metrics/metrics.js.map +1 -1
  569. package/internal/motion.js +2 -2
  570. package/internal/motion.js.map +1 -1
  571. package/internal/styles/colors.js +1 -1
  572. package/internal/styles/colors.js.map +1 -1
  573. package/internal/utils/browser-scrollbar-size.js +5 -5
  574. package/internal/utils/browser-scrollbar-size.js.map +1 -1
  575. package/internal/utils/calculate-once.js +2 -2
  576. package/internal/utils/calculate-once.js.map +1 -1
  577. package/internal/utils/check-safe-url.js +4 -4
  578. package/internal/utils/check-safe-url.js.map +1 -1
  579. package/internal/utils/create-category-color-scale.js +6 -9
  580. package/internal/utils/create-category-color-scale.js.map +1 -1
  581. package/internal/utils/date-time/format-date-range.js +3 -3
  582. package/internal/utils/date-time/format-date-range.js.map +1 -1
  583. package/internal/utils/date-time/format-date.js +4 -4
  584. package/internal/utils/date-time/format-date.js.map +1 -1
  585. package/internal/utils/date-time/format-time.js +5 -5
  586. package/internal/utils/date-time/format-time.js.map +1 -1
  587. package/internal/utils/date-time/format-timezone-offset.js +4 -4
  588. package/internal/utils/date-time/format-timezone-offset.js.map +1 -1
  589. package/internal/utils/date-time/is-iso-date-only.js +1 -1
  590. package/internal/utils/date-time/is-iso-date-only.js.map +1 -1
  591. package/internal/utils/date-time/join-date-time.js +3 -3
  592. package/internal/utils/date-time/join-date-time.js.map +1 -1
  593. package/internal/utils/date-time/parse-date.js +5 -6
  594. package/internal/utils/date-time/parse-date.js.map +1 -1
  595. package/internal/utils/date-time/parse-timezone-offset.js +5 -5
  596. package/internal/utils/date-time/parse-timezone-offset.js.map +1 -1
  597. package/internal/utils/date-time/shift-timezone-offset.js +6 -6
  598. package/internal/utils/date-time/shift-timezone-offset.js.map +1 -1
  599. package/internal/utils/dom.js +12 -12
  600. package/internal/utils/dom.js.map +1 -1
  601. package/internal/utils/external-props.js +3 -3
  602. package/internal/utils/external-props.js.map +1 -1
  603. package/internal/utils/focus-svg-element.js +1 -1
  604. package/internal/utils/focus-svg-element.js.map +1 -1
  605. package/internal/utils/locale/merge-locales.js +1 -1
  606. package/internal/utils/locale/merge-locales.js.map +1 -1
  607. package/internal/utils/locale/normalize-locale.js +3 -3
  608. package/internal/utils/locale/normalize-locale.js.map +1 -1
  609. package/internal/utils/promises.js +7 -11
  610. package/internal/utils/promises.js.map +1 -1
  611. package/internal/utils/scrollable-containers.js +14 -18
  612. package/internal/utils/scrollable-containers.js.map +1 -1
  613. package/internal/utils/strings/join-strings.js +1 -5
  614. package/internal/utils/strings/join-strings.js.map +1 -1
  615. package/internal/utils/strings/pad-left-zeros.js +1 -1
  616. package/internal/utils/strings/pad-left-zeros.js.map +1 -1
  617. package/internal/utils/throttle.js +10 -15
  618. package/internal/utils/throttle.js.map +1 -1
  619. package/internal/utils/use-container-width.js +3 -5
  620. package/internal/utils/use-container-width.js.map +1 -1
  621. package/line-chart/index.js +6 -6
  622. package/line-chart/index.js.map +1 -1
  623. package/link/index.js +5 -5
  624. package/link/index.js.map +1 -1
  625. package/link/internal.js +25 -25
  626. package/link/internal.js.map +1 -1
  627. package/mixed-line-bar-chart/bar-groups.js +3 -4
  628. package/mixed-line-bar-chart/bar-groups.js.map +1 -1
  629. package/mixed-line-bar-chart/bar-series.js +24 -33
  630. package/mixed-line-bar-chart/bar-series.js.map +1 -1
  631. package/mixed-line-bar-chart/chart-container.js +123 -138
  632. package/mixed-line-bar-chart/chart-container.js.map +1 -1
  633. package/mixed-line-bar-chart/chart-filters.js +10 -17
  634. package/mixed-line-bar-chart/chart-filters.js.map +1 -1
  635. package/mixed-line-bar-chart/chart-legend.js +9 -13
  636. package/mixed-line-bar-chart/chart-legend.js.map +1 -1
  637. package/mixed-line-bar-chart/chart-popover.js +3 -4
  638. package/mixed-line-bar-chart/chart-popover.js.map +1 -1
  639. package/mixed-line-bar-chart/data-series.js +13 -17
  640. package/mixed-line-bar-chart/data-series.js.map +1 -1
  641. package/mixed-line-bar-chart/domain.js +32 -39
  642. package/mixed-line-bar-chart/domain.js.map +1 -1
  643. package/mixed-line-bar-chart/format-highlighted.js +13 -14
  644. package/mixed-line-bar-chart/format-highlighted.js.map +1 -1
  645. package/mixed-line-bar-chart/hooks/use-mouse-hover.js +32 -34
  646. package/mixed-line-bar-chart/hooks/use-mouse-hover.js.map +1 -1
  647. package/mixed-line-bar-chart/hooks/use-navigation.js +48 -57
  648. package/mixed-line-bar-chart/hooks/use-navigation.js.map +1 -1
  649. package/mixed-line-bar-chart/hooks/use-popover.js +7 -7
  650. package/mixed-line-bar-chart/hooks/use-popover.js.map +1 -1
  651. package/mixed-line-bar-chart/index.js +4 -4
  652. package/mixed-line-bar-chart/index.js.map +1 -1
  653. package/mixed-line-bar-chart/internal.js +47 -49
  654. package/mixed-line-bar-chart/internal.js.map +1 -1
  655. package/mixed-line-bar-chart/line-series.js +19 -24
  656. package/mixed-line-bar-chart/line-series.js.map +1 -1
  657. package/mixed-line-bar-chart/make-scaled-bar-groups.js +10 -11
  658. package/mixed-line-bar-chart/make-scaled-bar-groups.js.map +1 -1
  659. package/mixed-line-bar-chart/make-scaled-series.js +30 -38
  660. package/mixed-line-bar-chart/make-scaled-series.js.map +1 -1
  661. package/mixed-line-bar-chart/utils.js +18 -21
  662. package/mixed-line-bar-chart/utils.js.map +1 -1
  663. package/modal/body-scroll.js +4 -4
  664. package/modal/body-scroll.js.map +1 -1
  665. package/modal/index.js +4 -4
  666. package/modal/index.js.map +1 -1
  667. package/modal/internal.js +24 -25
  668. package/modal/internal.js.map +1 -1
  669. package/multiselect/index.js +5 -5
  670. package/multiselect/index.js.map +1 -1
  671. package/multiselect/internal.js +81 -88
  672. package/multiselect/internal.js.map +1 -1
  673. package/package.json +1 -1
  674. package/pagination/index.js +2 -3
  675. package/pagination/index.js.map +1 -1
  676. package/pagination/internal.js +16 -17
  677. package/pagination/internal.js.map +1 -1
  678. package/pagination/utils.js +12 -12
  679. package/pagination/utils.js.map +1 -1
  680. package/pie-chart/index.js +38 -39
  681. package/pie-chart/index.js.map +1 -1
  682. package/pie-chart/labels.js +38 -42
  683. package/pie-chart/labels.js.map +1 -1
  684. package/pie-chart/pie-chart.js +65 -67
  685. package/pie-chart/pie-chart.js.map +1 -1
  686. package/pie-chart/responsive-text.js +9 -10
  687. package/pie-chart/responsive-text.js.map +1 -1
  688. package/pie-chart/segments.js +27 -31
  689. package/pie-chart/segments.js.map +1 -1
  690. package/pie-chart/utils.js +32 -35
  691. package/pie-chart/utils.js.map +1 -1
  692. package/popover/arrow.js +2 -2
  693. package/popover/arrow.js.map +1 -1
  694. package/popover/body.js +16 -19
  695. package/popover/body.js.map +1 -1
  696. package/popover/container.js +52 -55
  697. package/popover/container.js.map +1 -1
  698. package/popover/index.js +6 -6
  699. package/popover/index.js.map +1 -1
  700. package/popover/internal.js +28 -28
  701. package/popover/internal.js.map +1 -1
  702. package/popover/utils/positions.js +54 -66
  703. package/popover/utils/positions.js.map +1 -1
  704. package/progress-bar/index.js +17 -17
  705. package/progress-bar/index.js.map +1 -1
  706. package/progress-bar/internal.js +12 -16
  707. package/progress-bar/internal.js.map +1 -1
  708. package/property-filter/controller.js +117 -125
  709. package/property-filter/controller.js.map +1 -1
  710. package/property-filter/filter-options.js +8 -11
  711. package/property-filter/filter-options.js.map +1 -1
  712. package/property-filter/index.js +50 -50
  713. package/property-filter/index.js.map +1 -1
  714. package/property-filter/property-editor.js +4 -5
  715. package/property-filter/property-editor.js.map +1 -1
  716. package/property-filter/property-filter-autosuggest.js +39 -39
  717. package/property-filter/property-filter-autosuggest.js.map +1 -1
  718. package/property-filter/token-editor.js +55 -66
  719. package/property-filter/token-editor.js.map +1 -1
  720. package/property-filter/token.js +9 -11
  721. package/property-filter/token.js.map +1 -1
  722. package/property-filter/use-load-items.js +8 -12
  723. package/property-filter/use-load-items.js.map +1 -1
  724. package/property-filter/utils.js +13 -18
  725. package/property-filter/utils.js.map +1 -1
  726. package/radio-group/index.js +3 -4
  727. package/radio-group/index.js.map +1 -1
  728. package/radio-group/internal.js +9 -9
  729. package/radio-group/internal.js.map +1 -1
  730. package/radio-group/radio-button.js +12 -15
  731. package/radio-group/radio-button.js.map +1 -1
  732. package/s3-resource-selector/index.js +29 -29
  733. package/s3-resource-selector/index.js.map +1 -1
  734. package/s3-resource-selector/s3-in-context/index.js +16 -18
  735. package/s3-resource-selector/s3-in-context/index.js.map +1 -1
  736. package/s3-resource-selector/s3-in-context/search-input.js +3 -4
  737. package/s3-resource-selector/s3-in-context/search-input.js.map +1 -1
  738. package/s3-resource-selector/s3-in-context/use-versions-fetch.js +16 -16
  739. package/s3-resource-selector/s3-in-context/use-versions-fetch.js.map +1 -1
  740. package/s3-resource-selector/s3-in-context/validation.js +6 -6
  741. package/s3-resource-selector/s3-in-context/validation.js.map +1 -1
  742. package/s3-resource-selector/s3-modal/basic-table.js +19 -20
  743. package/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  744. package/s3-resource-selector/s3-modal/buckets-table.js +11 -13
  745. package/s3-resource-selector/s3-modal/buckets-table.js.map +1 -1
  746. package/s3-resource-selector/s3-modal/column-formats.js +5 -5
  747. package/s3-resource-selector/s3-modal/column-formats.js.map +1 -1
  748. package/s3-resource-selector/s3-modal/empty-state.js +1 -2
  749. package/s3-resource-selector/s3-modal/empty-state.js.map +1 -1
  750. package/s3-resource-selector/s3-modal/index.js +37 -43
  751. package/s3-resource-selector/s3-modal/index.js.map +1 -1
  752. package/s3-resource-selector/s3-modal/objects-table.js +12 -14
  753. package/s3-resource-selector/s3-modal/objects-table.js.map +1 -1
  754. package/s3-resource-selector/s3-modal/table-utils.js +9 -12
  755. package/s3-resource-selector/s3-modal/table-utils.js.map +1 -1
  756. package/s3-resource-selector/s3-modal/versions-table.js +10 -12
  757. package/s3-resource-selector/s3-modal/versions-table.js.map +1 -1
  758. package/s3-resource-selector/utils.js +1 -1
  759. package/s3-resource-selector/utils.js.map +1 -1
  760. package/segmented-control/index.js +2 -3
  761. package/segmented-control/index.js.map +1 -1
  762. package/segmented-control/internal-segmented-control.js +16 -17
  763. package/segmented-control/internal-segmented-control.js.map +1 -1
  764. package/segmented-control/internal.js +14 -14
  765. package/segmented-control/internal.js.map +1 -1
  766. package/segmented-control/segment.js +3 -6
  767. package/segmented-control/segment.js.map +1 -1
  768. package/select/index.js +6 -6
  769. package/select/index.js.map +1 -1
  770. package/select/internal.js +58 -58
  771. package/select/internal.js.map +1 -1
  772. package/select/parts/filter.js +4 -4
  773. package/select/parts/filter.js.map +1 -1
  774. package/select/parts/item.js +10 -10
  775. package/select/parts/item.js.map +1 -1
  776. package/select/parts/multiselect-item.js +13 -14
  777. package/select/parts/multiselect-item.js.map +1 -1
  778. package/select/parts/plain-list.js +13 -15
  779. package/select/parts/plain-list.js.map +1 -1
  780. package/select/parts/trigger.js +7 -9
  781. package/select/parts/trigger.js.map +1 -1
  782. package/select/parts/virtual-list.js +27 -33
  783. package/select/parts/virtual-list.js.map +1 -1
  784. package/select/utils/check-option-value-field.js +2 -2
  785. package/select/utils/check-option-value-field.js.map +1 -1
  786. package/select/utils/connect-options.js +6 -7
  787. package/select/utils/connect-options.js.map +1 -1
  788. package/select/utils/get-item-props.js +4 -7
  789. package/select/utils/get-item-props.js.map +1 -1
  790. package/select/utils/render-options.js +13 -15
  791. package/select/utils/render-options.js.map +1 -1
  792. package/select/utils/use-announcement.js +10 -11
  793. package/select/utils/use-announcement.js.map +1 -1
  794. package/select/utils/use-load-items.js +16 -19
  795. package/select/utils/use-load-items.js.map +1 -1
  796. package/select/utils/use-native-search.js +20 -29
  797. package/select/utils/use-native-search.js.map +1 -1
  798. package/select/utils/use-select.js +89 -96
  799. package/select/utils/use-select.js.map +1 -1
  800. package/side-navigation/index.js +10 -10
  801. package/side-navigation/index.js.map +1 -1
  802. package/side-navigation/internal.js +35 -46
  803. package/side-navigation/internal.js.map +1 -1
  804. package/side-navigation/util.js +9 -12
  805. package/side-navigation/util.js.map +1 -1
  806. package/space-between/index.js +4 -4
  807. package/space-between/index.js.map +1 -1
  808. package/space-between/internal.js +7 -7
  809. package/space-between/internal.js.map +1 -1
  810. package/spinner/index.js +4 -4
  811. package/spinner/index.js.map +1 -1
  812. package/spinner/internal.js +4 -4
  813. package/spinner/internal.js.map +1 -1
  814. package/split-panel/bottom.js +22 -25
  815. package/split-panel/bottom.js.map +1 -1
  816. package/split-panel/icons/bottom-icon-refresh.js +11 -13
  817. package/split-panel/icons/bottom-icon-refresh.js.map +1 -1
  818. package/split-panel/icons/bottom-icon.js +1 -1
  819. package/split-panel/icons/bottom-icon.js.map +1 -1
  820. package/split-panel/icons/resize-handler.js +3 -6
  821. package/split-panel/icons/resize-handler.js.map +1 -1
  822. package/split-panel/icons/side-position-refresh.js +12 -14
  823. package/split-panel/icons/side-position-refresh.js.map +1 -1
  824. package/split-panel/icons/side-position.js +1 -1
  825. package/split-panel/icons/side-position.js.map +1 -1
  826. package/split-panel/index.js +65 -65
  827. package/split-panel/index.js.map +1 -1
  828. package/split-panel/preferences-modal.js +9 -9
  829. package/split-panel/preferences-modal.js.map +1 -1
  830. package/split-panel/side.js +12 -15
  831. package/split-panel/side.js.map +1 -1
  832. package/split-panel/utils/size-utils.js +3 -3
  833. package/split-panel/utils/size-utils.js.map +1 -1
  834. package/split-panel/utils/use-keyboard-events.js +13 -17
  835. package/split-panel/utils/use-keyboard-events.js.map +1 -1
  836. package/split-panel/utils/use-pointer-events.js +12 -13
  837. package/split-panel/utils/use-pointer-events.js.map +1 -1
  838. package/status-indicator/index.js +4 -4
  839. package/status-indicator/index.js.map +1 -1
  840. package/status-indicator/internal.js +9 -10
  841. package/status-indicator/internal.js.map +1 -1
  842. package/table/body-cell/click-away.js +9 -10
  843. package/table/body-cell/click-away.js.map +1 -1
  844. package/table/body-cell/index.js +18 -18
  845. package/table/body-cell/index.js.map +1 -1
  846. package/table/body-cell/inline-editor.js +32 -46
  847. package/table/body-cell/inline-editor.js.map +1 -1
  848. package/table/body-cell/td-element.js +2 -4
  849. package/table/body-cell/td-element.js.map +1 -1
  850. package/table/body-cell/use-stable-scroll-position.js +10 -13
  851. package/table/body-cell/use-stable-scroll-position.js.map +1 -1
  852. package/table/header-cell/index.d.ts +4 -2
  853. package/table/header-cell/index.d.ts.map +1 -1
  854. package/table/header-cell/index.js +33 -34
  855. package/table/header-cell/index.js.map +1 -1
  856. package/table/header-cell/utils.js +10 -12
  857. package/table/header-cell/utils.js.map +1 -1
  858. package/table/index.js +5 -5
  859. package/table/index.js.map +1 -1
  860. package/table/internal.d.ts.map +1 -1
  861. package/table/internal.js +94 -118
  862. package/table/internal.js.map +1 -1
  863. package/table/resizer/index.d.ts +5 -1
  864. package/table/resizer/index.d.ts.map +1 -1
  865. package/table/resizer/index.js +40 -39
  866. package/table/resizer/index.js.map +1 -1
  867. package/table/selection-control/index.d.ts +4 -1
  868. package/table/selection-control/index.d.ts.map +1 -1
  869. package/table/selection-control/index.js +11 -11
  870. package/table/selection-control/index.js.map +1 -1
  871. package/table/sticky-header.d.ts +2 -2
  872. package/table/sticky-header.d.ts.map +1 -1
  873. package/table/sticky-header.js +16 -15
  874. package/table/sticky-header.js.map +1 -1
  875. package/table/sticky-scrollbar.js +5 -6
  876. package/table/sticky-scrollbar.js.map +1 -1
  877. package/table/sticky-scrolling.js +10 -10
  878. package/table/sticky-scrolling.js.map +1 -1
  879. package/table/thead.d.ts +11 -3
  880. package/table/thead.d.ts.map +1 -1
  881. package/table/thead.js +13 -13
  882. package/table/thead.js.map +1 -1
  883. package/table/tools-header.js +4 -5
  884. package/table/tools-header.js.map +1 -1
  885. package/table/use-column-widths.js +34 -44
  886. package/table/use-column-widths.js.map +1 -1
  887. package/table/use-row-events.js +10 -11
  888. package/table/use-row-events.js.map +1 -1
  889. package/table/use-selection.js +75 -81
  890. package/table/use-selection.js.map +1 -1
  891. package/table/use-sticky-header.js +16 -16
  892. package/table/use-sticky-header.js.map +1 -1
  893. package/table/use-sticky-scrollbar.js +42 -42
  894. package/table/use-sticky-scrollbar.js.map +1 -1
  895. package/table/use-table-focus-navigation.js +27 -28
  896. package/table/use-table-focus-navigation.js.map +1 -1
  897. package/table/utils.js +7 -7
  898. package/table/utils.js.map +1 -1
  899. package/tabs/index.js +30 -33
  900. package/tabs/index.js.map +1 -1
  901. package/tabs/scroll-utils.js +12 -13
  902. package/tabs/scroll-utils.js.map +1 -1
  903. package/tabs/smooth-scroll.js +17 -17
  904. package/tabs/smooth-scroll.js.map +1 -1
  905. package/tabs/tab-header-bar.js +61 -66
  906. package/tabs/tab-header-bar.js.map +1 -1
  907. package/tag-editor/index.js +59 -72
  908. package/tag-editor/index.js.map +1 -1
  909. package/tag-editor/internal.js +21 -29
  910. package/tag-editor/internal.js.map +1 -1
  911. package/tag-editor/utils.js +7 -8
  912. package/tag-editor/utils.js.map +1 -1
  913. package/tag-editor/validation.js +16 -18
  914. package/tag-editor/validation.js.map +1 -1
  915. package/text-content/index.js +6 -6
  916. package/text-content/index.js.map +1 -1
  917. package/text-filter/index.js +3 -4
  918. package/text-filter/index.js.map +1 -1
  919. package/text-filter/internal.js +10 -10
  920. package/text-filter/internal.js.map +1 -1
  921. package/textarea/index.js +23 -24
  922. package/textarea/index.js.map +1 -1
  923. package/theming/index.js +2 -3
  924. package/theming/index.js.map +1 -1
  925. package/tiles/index.js +3 -4
  926. package/tiles/index.js.map +1 -1
  927. package/tiles/internal.js +17 -17
  928. package/tiles/internal.js.map +1 -1
  929. package/tiles/tile.js +7 -9
  930. package/tiles/tile.js.map +1 -1
  931. package/time-input/index.js +5 -5
  932. package/time-input/index.js.map +1 -1
  933. package/time-input/internal.js +9 -9
  934. package/time-input/internal.js.map +1 -1
  935. package/toggle/index.js +3 -4
  936. package/toggle/index.js.map +1 -1
  937. package/toggle/internal.js +15 -16
  938. package/toggle/internal.js.map +1 -1
  939. package/token-group/dismiss-button.js +5 -7
  940. package/token-group/dismiss-button.js.map +1 -1
  941. package/token-group/index.js +4 -4
  942. package/token-group/index.js.map +1 -1
  943. package/token-group/internal.js +14 -14
  944. package/token-group/internal.js.map +1 -1
  945. package/token-group/toggle.js +7 -9
  946. package/token-group/toggle.js.map +1 -1
  947. package/top-navigation/1.0-beta/index.js +4 -4
  948. package/top-navigation/1.0-beta/index.js.map +1 -1
  949. package/top-navigation/1.0-beta/internal.js +43 -46
  950. package/top-navigation/1.0-beta/internal.js.map +1 -1
  951. package/top-navigation/1.0-beta/parts/overflow-menu.js +16 -17
  952. package/top-navigation/1.0-beta/parts/overflow-menu.js.map +1 -1
  953. package/top-navigation/1.0-beta/parts/utility.js +9 -12
  954. package/top-navigation/1.0-beta/parts/utility.js.map +1 -1
  955. package/top-navigation/1.0-beta/use-top-navigation.js +46 -54
  956. package/top-navigation/1.0-beta/use-top-navigation.js.map +1 -1
  957. package/top-navigation/index.js +4 -4
  958. package/top-navigation/index.js.map +1 -1
  959. package/top-navigation/internal.js +64 -71
  960. package/top-navigation/internal.js.map +1 -1
  961. package/top-navigation/parts/overflow-menu/header.js +3 -4
  962. package/top-navigation/parts/overflow-menu/header.js.map +1 -1
  963. package/top-navigation/parts/overflow-menu/index.js +4 -5
  964. package/top-navigation/parts/overflow-menu/index.js.map +1 -1
  965. package/top-navigation/parts/overflow-menu/menu-item.js +56 -61
  966. package/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
  967. package/top-navigation/parts/overflow-menu/router.js +11 -13
  968. package/top-navigation/parts/overflow-menu/router.js.map +1 -1
  969. package/top-navigation/parts/overflow-menu/views/submenu.js +6 -8
  970. package/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
  971. package/top-navigation/parts/overflow-menu/views/utilities.js +5 -7
  972. package/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
  973. package/top-navigation/parts/utility.js +12 -15
  974. package/top-navigation/parts/utility.js.map +1 -1
  975. package/top-navigation/use-top-navigation.js +52 -59
  976. package/top-navigation/use-top-navigation.js.map +1 -1
  977. package/tutorial-panel/components/tutorial-detail-view/congratulation-screen.js +5 -7
  978. package/tutorial-panel/components/tutorial-detail-view/congratulation-screen.js.map +1 -1
  979. package/tutorial-panel/components/tutorial-detail-view/index.js +6 -7
  980. package/tutorial-panel/components/tutorial-detail-view/index.js.map +1 -1
  981. package/tutorial-panel/components/tutorial-detail-view/task-list.js +8 -15
  982. package/tutorial-panel/components/tutorial-detail-view/task-list.js.map +1 -1
  983. package/tutorial-panel/components/tutorial-detail-view/task.js +5 -6
  984. package/tutorial-panel/components/tutorial-detail-view/task.js.map +1 -1
  985. package/tutorial-panel/components/tutorial-list/index.js +19 -22
  986. package/tutorial-panel/components/tutorial-list/index.js.map +1 -1
  987. package/tutorial-panel/index.js +8 -8
  988. package/tutorial-panel/index.js.map +1 -1
  989. package/wizard/index.js +28 -28
  990. package/wizard/index.js.map +1 -1
  991. package/wizard/internal/analytics.js +32 -42
  992. package/wizard/internal/analytics.js.map +1 -1
  993. package/wizard/unmount.js +6 -13
  994. package/wizard/unmount.js.map +1 -1
  995. package/wizard/wizard-actions.js +7 -8
  996. package/wizard/wizard-actions.js.map +1 -1
  997. package/wizard/wizard-form-header.js +2 -3
  998. package/wizard/wizard-form-header.js.map +1 -1
  999. package/wizard/wizard-form.js +14 -16
  1000. package/wizard/wizard-form.js.map +1 -1
  1001. package/wizard/wizard-navigation.js +19 -25
  1002. package/wizard/wizard-navigation.js.map +1 -1
@@ -3,8 +3,7 @@
3
3
  import React from 'react';
4
4
  import InternalButton from '../../../button/internal';
5
5
  import styles from '../../styles.css.js';
6
- var Header = function (_a) {
7
- var children = _a.children, secondaryText = _a.secondaryText, backIconAriaLabel = _a.backIconAriaLabel, dismissIconAriaLabel = _a.dismissIconAriaLabel, onBack = _a.onBack, onClose = _a.onClose;
6
+ const Header = ({ children, secondaryText, backIconAriaLabel, dismissIconAriaLabel, onBack, onClose, }) => {
8
7
  return (React.createElement("div", { className: styles['overflow-menu-header'] },
9
8
  onBack && (React.createElement(InternalButton
10
9
  // Used for test-utils, which require the selectable element to have a classname.
@@ -12,7 +11,7 @@ var Header = function (_a) {
12
11
  , {
13
12
  // Used for test-utils, which require the selectable element to have a classname.
14
13
  // eslint-disable-next-line react/forbid-component-props
15
- className: styles['overflow-menu-back-button'], ariaLabel: backIconAriaLabel, iconName: "angle-left", variant: "icon", onClick: function () { return onBack(); } })),
14
+ className: styles['overflow-menu-back-button'], ariaLabel: backIconAriaLabel, iconName: "angle-left", variant: "icon", onClick: () => onBack() })),
16
15
  React.createElement("h2", { className: styles['overflow-menu-header-text'] },
17
16
  React.createElement("div", { className: styles['overflow-menu-header-text--title'] }, children),
18
17
  secondaryText && React.createElement("div", { className: styles['overflow-menu-header-text--secondary'] }, secondaryText)),
@@ -20,7 +19,7 @@ var Header = function (_a) {
20
19
  // eslint-disable-next-line react/forbid-component-props
21
20
  , {
22
21
  // eslint-disable-next-line react/forbid-component-props
23
- className: styles['overflow-menu-dismiss-button'], ariaLabel: dismissIconAriaLabel, iconName: "close", variant: "icon", onClick: function () { return onClose && onClose(); } })));
22
+ className: styles['overflow-menu-dismiss-button'], ariaLabel: dismissIconAriaLabel, iconName: "close", variant: "icon", onClick: () => onClose && onClose() })));
24
23
  };
25
24
  export default Header;
26
25
  //# sourceMappingURL=header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../../src/top-navigation/parts/overflow-menu/header.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,cAAc,MAAM,0BAA0B,CAAC;AACtD,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAUzC,IAAM,MAAM,GAA0B,UAAC,EAOtC;QANC,QAAQ,cAAA,EACR,aAAa,mBAAA,EACb,iBAAiB,uBAAA,EACjB,oBAAoB,0BAAA,EACpB,MAAM,YAAA,EACN,OAAO,aAAA;IAEP,OAAO,CACL,6BAAK,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC;QAC3C,MAAM,IAAI,CACT,oBAAC,cAAc;QACb,iFAAiF;QACjF,wDAAwD;;YADxD,iFAAiF;YACjF,wDAAwD;YACxD,SAAS,EAAE,MAAM,CAAC,2BAA2B,CAAC,EAC9C,SAAS,EAAE,iBAAiB,EAC5B,QAAQ,EAAC,YAAY,EACrB,OAAO,EAAC,MAAM,EACd,OAAO,EAAE,cAAM,OAAA,MAAM,EAAE,EAAR,CAAQ,GACvB,CACH;QACD,4BAAI,SAAS,EAAE,MAAM,CAAC,2BAA2B,CAAC;YAChD,6BAAK,SAAS,EAAE,MAAM,CAAC,kCAAkC,CAAC,IAAG,QAAQ,CAAO;YAC3E,aAAa,IAAI,6BAAK,SAAS,EAAE,MAAM,CAAC,sCAAsC,CAAC,IAAG,aAAa,CAAO,CACpG;QACL,oBAAC,cAAc;QACb,wDAAwD;;YAAxD,wDAAwD;YACxD,SAAS,EAAE,MAAM,CAAC,8BAA8B,CAAC,EACjD,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAC,OAAO,EAChB,OAAO,EAAC,MAAM,EACd,OAAO,EAAE,cAAM,OAAA,OAAO,IAAI,OAAO,EAAE,EAApB,CAAoB,GACnC,CACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport InternalButton from '../../../button/internal';\nimport styles from '../../styles.css.js';\nexport interface HeaderProps {\n dismissIconAriaLabel?: string;\n backIconAriaLabel?: string;\n secondaryText?: string;\n onClose?: () => void;\n onBack?: () => void;\n children: React.ReactNode;\n}\n\nconst Header: React.FC<HeaderProps> = ({\n children,\n secondaryText,\n backIconAriaLabel,\n dismissIconAriaLabel,\n onBack,\n onClose,\n}) => {\n return (\n <div className={styles['overflow-menu-header']}>\n {onBack && (\n <InternalButton\n // Used for test-utils, which require the selectable element to have a classname.\n // eslint-disable-next-line react/forbid-component-props\n className={styles['overflow-menu-back-button']}\n ariaLabel={backIconAriaLabel}\n iconName=\"angle-left\"\n variant=\"icon\"\n onClick={() => onBack()}\n />\n )}\n <h2 className={styles['overflow-menu-header-text']}>\n <div className={styles['overflow-menu-header-text--title']}>{children}</div>\n {secondaryText && <div className={styles['overflow-menu-header-text--secondary']}>{secondaryText}</div>}\n </h2>\n <InternalButton\n // eslint-disable-next-line react/forbid-component-props\n className={styles['overflow-menu-dismiss-button']}\n ariaLabel={dismissIconAriaLabel}\n iconName=\"close\"\n variant=\"icon\"\n onClick={() => onClose && onClose()}\n />\n </div>\n );\n};\n\nexport default Header;\n"]}
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../../src/top-navigation/parts/overflow-menu/header.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,cAAc,MAAM,0BAA0B,CAAC;AACtD,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAUzC,MAAM,MAAM,GAA0B,CAAC,EACrC,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,MAAM,EACN,OAAO,GACR,EAAE,EAAE;IACH,OAAO,CACL,6BAAK,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC;QAC3C,MAAM,IAAI,CACT,oBAAC,cAAc;QACb,iFAAiF;QACjF,wDAAwD;;YADxD,iFAAiF;YACjF,wDAAwD;YACxD,SAAS,EAAE,MAAM,CAAC,2BAA2B,CAAC,EAC9C,SAAS,EAAE,iBAAiB,EAC5B,QAAQ,EAAC,YAAY,EACrB,OAAO,EAAC,MAAM,EACd,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,GACvB,CACH;QACD,4BAAI,SAAS,EAAE,MAAM,CAAC,2BAA2B,CAAC;YAChD,6BAAK,SAAS,EAAE,MAAM,CAAC,kCAAkC,CAAC,IAAG,QAAQ,CAAO;YAC3E,aAAa,IAAI,6BAAK,SAAS,EAAE,MAAM,CAAC,sCAAsC,CAAC,IAAG,aAAa,CAAO,CACpG;QACL,oBAAC,cAAc;QACb,wDAAwD;;YAAxD,wDAAwD;YACxD,SAAS,EAAE,MAAM,CAAC,8BAA8B,CAAC,EACjD,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAC,OAAO,EAChB,OAAO,EAAC,MAAM,EACd,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,IAAI,OAAO,EAAE,GACnC,CACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport InternalButton from '../../../button/internal';\nimport styles from '../../styles.css.js';\nexport interface HeaderProps {\n dismissIconAriaLabel?: string;\n backIconAriaLabel?: string;\n secondaryText?: string;\n onClose?: () => void;\n onBack?: () => void;\n children: React.ReactNode;\n}\n\nconst Header: React.FC<HeaderProps> = ({\n children,\n secondaryText,\n backIconAriaLabel,\n dismissIconAriaLabel,\n onBack,\n onClose,\n}) => {\n return (\n <div className={styles['overflow-menu-header']}>\n {onBack && (\n <InternalButton\n // Used for test-utils, which require the selectable element to have a classname.\n // eslint-disable-next-line react/forbid-component-props\n className={styles['overflow-menu-back-button']}\n ariaLabel={backIconAriaLabel}\n iconName=\"angle-left\"\n variant=\"icon\"\n onClick={() => onBack()}\n />\n )}\n <h2 className={styles['overflow-menu-header-text']}>\n <div className={styles['overflow-menu-header-text--title']}>{children}</div>\n {secondaryText && <div className={styles['overflow-menu-header-text--secondary']}>{secondaryText}</div>}\n </h2>\n <InternalButton\n // eslint-disable-next-line react/forbid-component-props\n className={styles['overflow-menu-dismiss-button']}\n ariaLabel={dismissIconAriaLabel}\n iconName=\"close\"\n variant=\"icon\"\n onClick={() => onClose && onClose()}\n />\n </div>\n );\n};\n\nexport default Header;\n"]}
@@ -5,16 +5,15 @@ import Router, { Route } from './router';
5
5
  import UtilitiesView from './views/utilities';
6
6
  import SubmenuView from './views/submenu';
7
7
  import styles from '../../styles.css.js';
8
- var OverflowMenu = function (_a) {
9
- var headerText = _a.headerText, dismissIconAriaLabel = _a.dismissIconAriaLabel, backIconAriaLabel = _a.backIconAriaLabel, _b = _a.items, items = _b === void 0 ? [] : _b, onClose = _a.onClose;
10
- return (React.createElement("div", { className: styles['overflow-menu'], onKeyUp: function (event) {
8
+ const OverflowMenu = ({ headerText, dismissIconAriaLabel, backIconAriaLabel, items = [], onClose, }) => {
9
+ return (React.createElement("div", { className: styles['overflow-menu'], onKeyUp: event => {
11
10
  if (event.key === 'Escape') {
12
11
  onClose === null || onClose === void 0 ? void 0 : onClose();
13
12
  }
14
13
  } },
15
14
  React.createElement(Router, null,
16
- React.createElement(Route, { view: "utilities", element: function (data) { return (React.createElement(UtilitiesView, { headerText: headerText, items: items, focusIndex: data === null || data === void 0 ? void 0 : data.utilityIndex, dismissIconAriaLabel: dismissIconAriaLabel, backIconAriaLabel: backIconAriaLabel, onClose: onClose })); } }),
17
- React.createElement(Route, { view: "dropdown-menu", element: function (data) { return (React.createElement(SubmenuView, { headerText: data === null || data === void 0 ? void 0 : data.headerText, headerSecondaryText: data === null || data === void 0 ? void 0 : data.headerSecondaryText, dismissIconAriaLabel: dismissIconAriaLabel, backIconAriaLabel: backIconAriaLabel, definition: data === null || data === void 0 ? void 0 : data.definition, utilityIndex: data === null || data === void 0 ? void 0 : data.utilityIndex, onClose: onClose })); } }))));
15
+ React.createElement(Route, { view: "utilities", element: data => (React.createElement(UtilitiesView, { headerText: headerText, items: items, focusIndex: data === null || data === void 0 ? void 0 : data.utilityIndex, dismissIconAriaLabel: dismissIconAriaLabel, backIconAriaLabel: backIconAriaLabel, onClose: onClose })) }),
16
+ React.createElement(Route, { view: "dropdown-menu", element: data => (React.createElement(SubmenuView, { headerText: data === null || data === void 0 ? void 0 : data.headerText, headerSecondaryText: data === null || data === void 0 ? void 0 : data.headerSecondaryText, dismissIconAriaLabel: dismissIconAriaLabel, backIconAriaLabel: backIconAriaLabel, definition: data === null || data === void 0 ? void 0 : data.definition, utilityIndex: data === null || data === void 0 ? void 0 : data.utilityIndex, onClose: onClose })) }))));
18
17
  };
19
18
  export default OverflowMenu;
20
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/top-navigation/parts/overflow-menu/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAI1C,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAczC,IAAM,YAAY,GAAG,UAAC,EAMF;QALlB,UAAU,gBAAA,EACV,oBAAoB,0BAAA,EACpB,iBAAiB,uBAAA,EACjB,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EACV,OAAO,aAAA;IAEP,OAAO,CACL,6BACE,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,EAClC,OAAO,EAAE,UAAA,KAAK;YACZ,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;gBAC1B,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;aACb;QACH,CAAC;QAED,oBAAC,MAAM;YACL,oBAAC,KAAK,IACJ,IAAI,EAAC,WAAW,EAChB,OAAO,EAAE,UAAA,IAAI,IAAI,OAAA,CACf,oBAAC,aAAa,IACZ,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,EAC9B,oBAAoB,EAAE,oBAAoB,EAC1C,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,OAAO,GAChB,CACH,EATgB,CAShB,GACD;YACF,oBAAC,KAAK,IACJ,IAAI,EAAC,eAAe,EACpB,OAAO,EAAE,UAAA,IAAI,IAAI,OAAA,CACf,oBAAC,WAAW,IACV,UAAU,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAC5B,mBAAmB,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,EAC9C,oBAAoB,EAAE,oBAAoB,EAC1C,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAC5B,YAAY,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,EAChC,OAAO,EAAE,OAAO,GAChB,CACH,EAVgB,CAUhB,GACD,CACK,CACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport Router, { Route } from './router';\nimport UtilitiesView from './views/utilities';\nimport SubmenuView from './views/submenu';\n\nimport { HeaderProps } from './header';\n\nimport styles from '../../styles.css.js';\nimport { TopNavigationProps } from '../../interfaces';\ninterface OverflowMenuProps {\n headerText?: string;\n items?: TopNavigationProps['utilities'];\n dismissIconAriaLabel?: HeaderProps['dismissIconAriaLabel'];\n backIconAriaLabel?: HeaderProps['backIconAriaLabel'];\n onClose?: HeaderProps['onClose'];\n}\n\nexport interface View extends Omit<OverflowMenuProps, 'items'> {\n headerSecondaryText?: HeaderProps['secondaryText'];\n}\n\nconst OverflowMenu = ({\n headerText,\n dismissIconAriaLabel,\n backIconAriaLabel,\n items = [],\n onClose,\n}: OverflowMenuProps) => {\n return (\n <div\n className={styles['overflow-menu']}\n onKeyUp={event => {\n if (event.key === 'Escape') {\n onClose?.();\n }\n }}\n >\n <Router>\n <Route\n view=\"utilities\"\n element={data => (\n <UtilitiesView\n headerText={headerText}\n items={items}\n focusIndex={data?.utilityIndex}\n dismissIconAriaLabel={dismissIconAriaLabel}\n backIconAriaLabel={backIconAriaLabel}\n onClose={onClose}\n />\n )}\n />\n <Route\n view=\"dropdown-menu\"\n element={data => (\n <SubmenuView\n headerText={data?.headerText}\n headerSecondaryText={data?.headerSecondaryText}\n dismissIconAriaLabel={dismissIconAriaLabel}\n backIconAriaLabel={backIconAriaLabel}\n definition={data?.definition}\n utilityIndex={data?.utilityIndex}\n onClose={onClose}\n />\n )}\n />\n </Router>\n </div>\n );\n};\n\nexport default OverflowMenu;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/top-navigation/parts/overflow-menu/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAI1C,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAczC,MAAM,YAAY,GAAG,CAAC,EACpB,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,GAAG,EAAE,EACV,OAAO,GACW,EAAE,EAAE;IACtB,OAAO,CACL,6BACE,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,EAClC,OAAO,EAAE,KAAK,CAAC,EAAE;YACf,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;gBAC1B,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;aACb;QACH,CAAC;QAED,oBAAC,MAAM;YACL,oBAAC,KAAK,IACJ,IAAI,EAAC,WAAW,EAChB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CACf,oBAAC,aAAa,IACZ,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,EAC9B,oBAAoB,EAAE,oBAAoB,EAC1C,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,OAAO,GAChB,CACH,GACD;YACF,oBAAC,KAAK,IACJ,IAAI,EAAC,eAAe,EACpB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CACf,oBAAC,WAAW,IACV,UAAU,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAC5B,mBAAmB,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,EAC9C,oBAAoB,EAAE,oBAAoB,EAC1C,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAC5B,YAAY,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,EAChC,OAAO,EAAE,OAAO,GAChB,CACH,GACD,CACK,CACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport Router, { Route } from './router';\nimport UtilitiesView from './views/utilities';\nimport SubmenuView from './views/submenu';\n\nimport { HeaderProps } from './header';\n\nimport styles from '../../styles.css.js';\nimport { TopNavigationProps } from '../../interfaces';\ninterface OverflowMenuProps {\n headerText?: string;\n items?: TopNavigationProps['utilities'];\n dismissIconAriaLabel?: HeaderProps['dismissIconAriaLabel'];\n backIconAriaLabel?: HeaderProps['backIconAriaLabel'];\n onClose?: HeaderProps['onClose'];\n}\n\nexport interface View extends Omit<OverflowMenuProps, 'items'> {\n headerSecondaryText?: HeaderProps['secondaryText'];\n}\n\nconst OverflowMenu = ({\n headerText,\n dismissIconAriaLabel,\n backIconAriaLabel,\n items = [],\n onClose,\n}: OverflowMenuProps) => {\n return (\n <div\n className={styles['overflow-menu']}\n onKeyUp={event => {\n if (event.key === 'Escape') {\n onClose?.();\n }\n }}\n >\n <Router>\n <Route\n view=\"utilities\"\n element={data => (\n <UtilitiesView\n headerText={headerText}\n items={items}\n focusIndex={data?.utilityIndex}\n dismissIconAriaLabel={dismissIconAriaLabel}\n backIconAriaLabel={backIconAriaLabel}\n onClose={onClose}\n />\n )}\n />\n <Route\n view=\"dropdown-menu\"\n element={data => (\n <SubmenuView\n headerText={data?.headerText}\n headerSecondaryText={data?.headerSecondaryText}\n dismissIconAriaLabel={dismissIconAriaLabel}\n backIconAriaLabel={backIconAriaLabel}\n definition={data?.definition}\n utilityIndex={data?.utilityIndex}\n onClose={onClose}\n />\n )}\n />\n </Router>\n </div>\n );\n};\n\nexport default OverflowMenu;\n"]}
@@ -1,4 +1,4 @@
1
- import { __assign, __rest } from "tslib";
1
+ import { __rest } from "tslib";
2
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  import React, { forwardRef, useState } from 'react';
@@ -9,92 +9,87 @@ import useFocusVisible from '../../../internal/hooks/focus-visible';
9
9
  import InternalIcon from '../../../icon/internal';
10
10
  import { useNavigate } from './router';
11
11
  import styles from '../../styles.css.js';
12
- var ListItem = function (_a) {
13
- var children = _a.children, startIcon = _a.startIcon, endIcon = _a.endIcon;
12
+ const ListItem = ({ children, startIcon, endIcon }) => {
14
13
  return (React.createElement(React.Fragment, null,
15
14
  startIcon && React.createElement("span", { className: styles['overflow-menu-list-item-icon'] }, startIcon),
16
15
  React.createElement("span", { className: styles['overflow-menu-list-item-text'] }, children),
17
16
  endIcon && endIcon));
18
17
  };
19
- var LinkItem = forwardRef(function (_a, ref) {
20
- var children = _a.children, external = _a.external, href = _a.href, startIcon = _a.startIcon, endIcon = _a.endIcon, onFollow = _a.onFollow, context = _a.context, testId = _a.testId;
21
- var focusVisible = useFocusVisible();
22
- var rel = external ? 'noopener noreferrer' : undefined;
23
- var target = external ? '_blank' : undefined;
24
- var anchorProps = {
25
- rel: rel,
26
- target: target,
27
- href: href,
28
- onClick: function (event) {
18
+ const LinkItem = forwardRef(({ children, external, href, startIcon, endIcon, onFollow, context, testId }, ref) => {
19
+ const focusVisible = useFocusVisible();
20
+ const rel = external ? 'noopener noreferrer' : undefined;
21
+ const target = external ? '_blank' : undefined;
22
+ const anchorProps = {
23
+ rel,
24
+ target,
25
+ href,
26
+ onClick(event) {
29
27
  if (isPlainLeftClick(event)) {
30
28
  onFollow === null || onFollow === void 0 ? void 0 : onFollow(event);
31
29
  }
32
- }
30
+ },
33
31
  };
34
- var buttonProps = {
32
+ const buttonProps = {
35
33
  role: 'button',
36
34
  tabIndex: 0,
37
- onKeyDown: function (event) {
35
+ onKeyDown(event) {
38
36
  if (event.key === ' ') {
39
37
  event.preventDefault();
40
38
  }
41
39
  },
42
- onKeyUp: function (event) {
40
+ onKeyUp(event) {
43
41
  if (event.key === ' ' || event.key === 'Enter') {
44
42
  onFollow === null || onFollow === void 0 ? void 0 : onFollow(event);
45
43
  }
46
44
  },
47
- onClick: onFollow
45
+ onClick: onFollow,
48
46
  };
49
- return (React.createElement("a", __assign({ ref: ref, className: clsx(styles['overflow-menu-control'], styles['overflow-menu-control-link'], context && styles["overflow-menu-control-".concat(context)]) }, (typeof href === 'string' ? anchorProps : buttonProps), focusVisible, (testId ? { 'data-testid': testId } : {})),
47
+ return (React.createElement("a", Object.assign({ ref: ref, className: clsx(styles['overflow-menu-control'], styles['overflow-menu-control-link'], context && styles[`overflow-menu-control-${context}`]) }, (typeof href === 'string' ? anchorProps : buttonProps), focusVisible, (testId ? { 'data-testid': testId } : {})),
50
48
  React.createElement(ListItem, { startIcon: startIcon, endIcon: endIcon }, children)));
51
49
  });
52
- var ButtonItem = forwardRef(function (_a, ref) {
53
- var children = _a.children, startIcon = _a.startIcon, endIcon = _a.endIcon, onClick = _a.onFollow, testId = _a.testId;
54
- var focusVisible = useFocusVisible();
55
- return (React.createElement("button", __assign({ ref: ref, className: styles['overflow-menu-control'], onClick: onClick }, focusVisible, (typeof testId === 'string' ? { 'data-testid': testId } : {})),
50
+ const ButtonItem = forwardRef(({ children, startIcon, endIcon, onFollow: onClick, testId }, ref) => {
51
+ const focusVisible = useFocusVisible();
52
+ return (React.createElement("button", Object.assign({ ref: ref, className: styles['overflow-menu-control'], onClick: onClick }, focusVisible, (typeof testId === 'string' ? { 'data-testid': testId } : {})),
56
53
  React.createElement(ListItem, { startIcon: startIcon, endIcon: endIcon }, children)));
57
54
  });
58
- var NavigationItem = forwardRef(function (_a, ref) {
59
- var startIcon = _a.startIcon, children = _a.children, index = _a.index, testId = _a.testId, definition = __rest(_a, ["startIcon", "children", "index", "testId"]);
60
- var navigate = useNavigate();
61
- return (React.createElement(ButtonItem, { ref: ref, startIcon: startIcon, endIcon: React.createElement(InternalIcon, { name: "angle-right" }), testId: testId, onFollow: function () {
62
- return navigate('dropdown-menu', {
63
- definition: definition,
64
- headerText: definition.text || definition.title,
65
- headerSecondaryText: definition.description,
66
- utilityIndex: index
67
- });
68
- } }, children));
55
+ const NavigationItem = forwardRef((_a, ref) => {
56
+ var { startIcon, children, index, testId } = _a, definition = __rest(_a, ["startIcon", "children", "index", "testId"]);
57
+ const navigate = useNavigate();
58
+ return (React.createElement(ButtonItem, { ref: ref, startIcon: startIcon, endIcon: React.createElement(InternalIcon, { name: "angle-right" }), testId: testId, onFollow: () => navigate('dropdown-menu', {
59
+ definition,
60
+ headerText: definition.text || definition.title,
61
+ headerSecondaryText: definition.description,
62
+ utilityIndex: index,
63
+ }) }, children));
69
64
  });
70
- var ExpandableItem = function (_a) {
71
- var children = _a.children, onItemClick = _a.onItemClick, definition = __rest(_a, ["children", "onItemClick"]);
72
- var focusVisible = useFocusVisible();
73
- var _b = useState(false), expanded = _b[0], setExpanded = _b[1];
74
- var headerId = useUniqueId('overflow-menu-item');
65
+ const ExpandableItem = (_a) => {
66
+ var { children, onItemClick } = _a, definition = __rest(_a, ["children", "onItemClick"]);
67
+ const focusVisible = useFocusVisible();
68
+ const [expanded, setExpanded] = useState(false);
69
+ const headerId = useUniqueId('overflow-menu-item');
75
70
  return (React.createElement(React.Fragment, null,
76
- React.createElement("button", __assign({ className: clsx(styles['overflow-menu-control'], styles['overflow-menu-control-expandable-menu-trigger']), onClick: function () { return setExpanded(function (value) { return !value; }); }, "aria-expanded": expanded }, focusVisible),
71
+ React.createElement("button", Object.assign({ className: clsx(styles['overflow-menu-control'], styles['overflow-menu-control-expandable-menu-trigger']), onClick: () => setExpanded(value => !value), "aria-expanded": expanded }, focusVisible),
77
72
  React.createElement(ListItem, { endIcon: React.createElement("span", { className: clsx(styles.icon, expanded && styles.expanded) },
78
73
  React.createElement(InternalIcon, { name: "caret-up-filled" })) },
79
74
  React.createElement("span", { id: headerId }, children))),
80
- expanded && (React.createElement("ul", { className: clsx(styles['overflow-menu-list'], styles['overflow-menu-list-submenu']), "aria-labelledby": headerId }, definition.items.map(function (item, index) {
81
- var isGroup = typeof item.items !== 'undefined';
82
- return (React.createElement("li", { key: index, className: clsx(styles["overflow-menu-list-item"], styles["overflow-menu-list-item-dropdown-menu"]) }, dropdownComponentFactory(item, isGroup, onItemClick)));
75
+ expanded && (React.createElement("ul", { className: clsx(styles['overflow-menu-list'], styles['overflow-menu-list-submenu']), "aria-labelledby": headerId }, definition.items.map((item, index) => {
76
+ const isGroup = typeof item.items !== 'undefined';
77
+ return (React.createElement("li", { key: index, className: clsx(styles[`overflow-menu-list-item`], styles[`overflow-menu-list-item-dropdown-menu`]) }, dropdownComponentFactory(item, isGroup, onItemClick)));
83
78
  })))));
84
79
  };
85
80
  function utilityComponentFactory(utility, index, ref) {
86
- var label = utility.text || utility.title;
87
- var hasIcon = !!utility.iconName || !!utility.iconUrl || !!utility.iconAlt || !!utility.iconSvg;
88
- var startIcon = hasIcon && (React.createElement(InternalIcon, { name: utility.iconName, url: utility.iconUrl, alt: utility.iconAlt, svg: utility.iconSvg }));
81
+ const label = utility.text || utility.title;
82
+ const hasIcon = !!utility.iconName || !!utility.iconUrl || !!utility.iconAlt || !!utility.iconSvg;
83
+ const startIcon = hasIcon && (React.createElement(InternalIcon, { name: utility.iconName, url: utility.iconUrl, alt: utility.iconAlt, svg: utility.iconSvg }));
89
84
  switch (utility.type) {
90
85
  case 'button': {
91
- var handleClick = function (event) {
86
+ const handleClick = (event) => {
92
87
  fireCancelableEvent(utility.onClick, {}, event);
93
88
  };
94
89
  if (utility.variant === 'primary-button') {
95
- return (React.createElement(ButtonItem, { ref: ref, startIcon: startIcon, onFollow: handleClick, testId: "__".concat(index) }, label));
90
+ return (React.createElement(ButtonItem, { ref: ref, startIcon: startIcon, onFollow: handleClick, testId: `__${index}` }, label));
96
91
  }
97
- return (React.createElement(LinkItem, { ref: ref, startIcon: startIcon, href: utility.href, external: utility.external, testId: "__".concat(index), onFollow: handleClick },
92
+ return (React.createElement(LinkItem, { ref: ref, startIcon: startIcon, href: utility.href, external: utility.external, testId: `__${index}`, onFollow: handleClick },
98
93
  label,
99
94
  utility.external && (React.createElement(React.Fragment, null,
100
95
  ' ',
@@ -102,30 +97,30 @@ function utilityComponentFactory(utility, index, ref) {
102
97
  React.createElement(InternalIcon, { name: "external", size: "normal" }))))));
103
98
  }
104
99
  case 'menu-dropdown': {
105
- return (React.createElement(NavigationItem, __assign({ ref: ref, startIcon: startIcon, index: index }, utility, { testId: "__".concat(index) }), label));
100
+ return (React.createElement(NavigationItem, Object.assign({ ref: ref, startIcon: startIcon, index: index }, utility, { testId: `__${index}` }), label));
106
101
  }
107
102
  }
108
103
  }
109
104
  function dropdownComponentFactory(item, expandable, onItemClick) {
110
- var label = item.text;
111
- var hasIcon = !!item.iconName || !!item.iconUrl || !!item.iconAlt || !!item.iconSvg;
112
- var startIcon = hasIcon && (React.createElement(InternalIcon, { name: item.iconName, url: item.iconUrl, alt: item.iconAlt, svg: item.iconSvg }));
105
+ const label = item.text;
106
+ const hasIcon = !!item.iconName || !!item.iconUrl || !!item.iconAlt || !!item.iconSvg;
107
+ const startIcon = hasIcon && (React.createElement(InternalIcon, { name: item.iconName, url: item.iconUrl, alt: item.iconAlt, svg: item.iconSvg }));
113
108
  if (expandable) {
114
- return (React.createElement(ExpandableItem, __assign({}, item, { onItemClick: onItemClick }), label));
109
+ return (React.createElement(ExpandableItem, Object.assign({}, item, { onItemClick: onItemClick }), label));
115
110
  }
116
- return (React.createElement(LinkItem, { startIcon: startIcon, href: item.href, external: item.external, context: "dropdown-menu", testId: item.id, onFollow: function () { return onItemClick(item); } },
111
+ return (React.createElement(LinkItem, { startIcon: startIcon, href: item.href, external: item.external, context: "dropdown-menu", testId: item.id, onFollow: () => onItemClick(item) },
117
112
  label,
118
113
  item.external && (React.createElement(React.Fragment, null,
119
114
  ' ',
120
115
  React.createElement("span", { "aria-label": item.externalIconAriaLabel, role: item.externalIconAriaLabel ? 'img' : undefined },
121
116
  React.createElement(InternalIcon, { name: "external", size: "normal" }))))));
122
117
  }
123
- export var UtilityMenuItem = forwardRef(function (_a, ref) {
124
- var index = _a.index, props = __rest(_a, ["index"]);
125
- return (React.createElement("li", { className: clsx(styles["overflow-menu-list-item"], styles["overflow-menu-list-item-utility"]) }, utilityComponentFactory(props, index, ref)));
118
+ export const UtilityMenuItem = forwardRef((_a, ref) => {
119
+ var { index } = _a, props = __rest(_a, ["index"]);
120
+ return (React.createElement("li", { className: clsx(styles[`overflow-menu-list-item`], styles[`overflow-menu-list-item-utility`]) }, utilityComponentFactory(props, index, ref)));
126
121
  });
127
- export var SubmenuItem = function (props) {
128
- var expandable = typeof props.items !== 'undefined';
129
- return (React.createElement("li", { className: clsx(styles["overflow-menu-list-item"], styles["overflow-menu-list-item-submenu"], expandable && styles["overflow-menu-list-item-expandable"]) }, dropdownComponentFactory(props, expandable, props.onItemClick)));
122
+ export const SubmenuItem = (props) => {
123
+ const expandable = typeof props.items !== 'undefined';
124
+ return (React.createElement("li", { className: clsx(styles[`overflow-menu-list-item`], styles[`overflow-menu-list-item-submenu`], expandable && styles[`overflow-menu-list-item-expandable`]) }, dropdownComponentFactory(props, expandable, props.onItemClick)));
130
125
  };
131
126
  //# sourceMappingURL=menu-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.js","sourceRoot":"","sources":["../../../../../src/top-navigation/parts/overflow-menu/menu-item.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, { forwardRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { fireCancelableEvent, isPlainLeftClick } from '../../../internal/events';\nimport { useUniqueId } from '../../../internal/hooks/use-unique-id';\nimport useFocusVisible from '../../../internal/hooks/focus-visible';\n\nimport { LinkProps } from '../../../link/interfaces';\nimport { ButtonDropdownProps } from '../../../button-dropdown/interfaces';\nimport InternalIcon from '../../../icon/internal';\n\nimport { useNavigate } from './router';\nimport { TopNavigationProps } from '../../interfaces';\nimport styles from '../../styles.css.js';\n\ninterface ListItemProps {\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n context?: 'dropdown-menu';\n children?: React.ReactNode;\n testId?: string;\n}\n\nconst ListItem = ({ children, startIcon, endIcon }: ListItemProps) => {\n return (\n <>\n {startIcon && <span className={styles['overflow-menu-list-item-icon']}>{startIcon}</span>}\n <span className={styles['overflow-menu-list-item-text']}>{children}</span>\n {endIcon && endIcon}\n </>\n );\n};\n\ninterface LinkItemProps extends ButtonItemProps, Pick<LinkProps, 'href' | 'external'> {}\n\nconst LinkItem = forwardRef(\n (\n { children, external, href, startIcon, endIcon, onFollow, context, testId }: LinkItemProps,\n ref: React.Ref<HTMLAnchorElement>\n ) => {\n const focusVisible = useFocusVisible();\n const rel = external ? 'noopener noreferrer' : undefined;\n const target = external ? '_blank' : undefined;\n\n const anchorProps = {\n rel,\n target,\n href,\n onClick(event: React.MouseEvent) {\n if (isPlainLeftClick(event)) {\n onFollow?.(event);\n }\n },\n };\n\n const buttonProps = {\n role: 'button',\n tabIndex: 0,\n onKeyDown(event: React.KeyboardEvent) {\n if (event.key === ' ') {\n event.preventDefault();\n }\n },\n onKeyUp(event: React.KeyboardEvent) {\n if (event.key === ' ' || event.key === 'Enter') {\n onFollow?.(event);\n }\n },\n onClick: onFollow,\n };\n\n return (\n <a\n ref={ref}\n className={clsx(\n styles['overflow-menu-control'],\n styles['overflow-menu-control-link'],\n context && styles[`overflow-menu-control-${context}`]\n )}\n {...(typeof href === 'string' ? anchorProps : buttonProps)}\n {...focusVisible}\n {...(testId ? { 'data-testid': testId } : {})}\n >\n <ListItem startIcon={startIcon} endIcon={endIcon}>\n {children}\n </ListItem>\n </a>\n );\n }\n);\n\ninterface ButtonItemProps extends ListItemProps {\n onFollow?: (event: React.SyntheticEvent) => void;\n}\n\nconst ButtonItem = forwardRef(\n (\n { children, startIcon, endIcon, onFollow: onClick, testId }: ButtonItemProps & { testId?: string },\n ref: React.Ref<HTMLButtonElement>\n ) => {\n const focusVisible = useFocusVisible();\n\n return (\n <button\n ref={ref}\n className={styles['overflow-menu-control']}\n onClick={onClick}\n {...focusVisible}\n {...(typeof testId === 'string' ? { 'data-testid': testId } : {})}\n >\n <ListItem startIcon={startIcon} endIcon={endIcon}>\n {children}\n </ListItem>\n </button>\n );\n }\n);\n\nconst NavigationItem = forwardRef(\n (\n {\n startIcon,\n children,\n index,\n testId,\n ...definition\n }: ButtonItemProps & TopNavigationProps.MenuDropdownUtility & { index: number; testId?: string },\n ref: React.Ref<HTMLButtonElement>\n ) => {\n const navigate = useNavigate();\n return (\n <ButtonItem\n ref={ref}\n startIcon={startIcon}\n endIcon={<InternalIcon name=\"angle-right\" />}\n testId={testId}\n onFollow={() =>\n navigate('dropdown-menu', {\n definition,\n headerText: definition.text || definition.title,\n headerSecondaryText: definition.description,\n utilityIndex: index,\n })\n }\n >\n {children}\n </ButtonItem>\n );\n }\n);\n\nconst ExpandableItem: React.FC<\n ButtonItemProps & ButtonDropdownProps.ItemGroup & { onItemClick: (item: ButtonDropdownProps.Item) => void }\n> = ({ children, onItemClick, ...definition }) => {\n const focusVisible = useFocusVisible();\n const [expanded, setExpanded] = useState(false);\n const headerId = useUniqueId('overflow-menu-item');\n\n return (\n <>\n <button\n className={clsx(styles['overflow-menu-control'], styles['overflow-menu-control-expandable-menu-trigger'])}\n onClick={() => setExpanded(value => !value)}\n aria-expanded={expanded}\n {...focusVisible}\n >\n <ListItem\n endIcon={\n <span className={clsx(styles.icon, expanded && styles.expanded)}>\n <InternalIcon name=\"caret-up-filled\" />\n </span>\n }\n >\n <span id={headerId}>{children}</span>\n </ListItem>\n </button>\n {expanded && (\n <ul\n className={clsx(styles['overflow-menu-list'], styles['overflow-menu-list-submenu'])}\n aria-labelledby={headerId}\n >\n {definition.items.map((item, index) => {\n const isGroup = typeof (item as ButtonDropdownProps.ItemGroup).items !== 'undefined';\n\n return (\n <li\n key={index}\n className={clsx(styles[`overflow-menu-list-item`], styles[`overflow-menu-list-item-dropdown-menu`])}\n >\n {dropdownComponentFactory(item, isGroup, onItemClick)}\n </li>\n );\n })}\n </ul>\n )}\n </>\n );\n};\n\nfunction utilityComponentFactory(\n utility: TopNavigationProps.Utility,\n index: number,\n ref?: React.Ref<HTMLAnchorElement & HTMLButtonElement>\n) {\n const label = utility.text || utility.title;\n const hasIcon = !!utility.iconName || !!utility.iconUrl || !!utility.iconAlt || !!utility.iconSvg;\n const startIcon = hasIcon && (\n <InternalIcon name={utility.iconName} url={utility.iconUrl} alt={utility.iconAlt} svg={utility.iconSvg} />\n );\n\n switch (utility.type) {\n case 'button': {\n const handleClick = (event: Event | React.SyntheticEvent) => {\n fireCancelableEvent(utility.onClick, {}, event);\n };\n\n if (utility.variant === 'primary-button') {\n return (\n <ButtonItem ref={ref} startIcon={startIcon} onFollow={handleClick} testId={`__${index}`}>\n {label}\n </ButtonItem>\n );\n }\n\n return (\n <LinkItem\n ref={ref}\n startIcon={startIcon}\n href={utility.href}\n external={utility.external}\n testId={`__${index}`}\n onFollow={handleClick}\n >\n {label}\n {utility.external && (\n <>\n {' '}\n <span aria-label={utility.externalIconAriaLabel} role={utility.externalIconAriaLabel ? 'img' : undefined}>\n <InternalIcon name=\"external\" size=\"normal\" />\n </span>\n </>\n )}\n </LinkItem>\n );\n }\n case 'menu-dropdown': {\n return (\n <NavigationItem\n ref={ref}\n startIcon={startIcon}\n index={index}\n {...(utility as TopNavigationProps.MenuDropdownUtility)}\n testId={`__${index}`}\n >\n {label}\n </NavigationItem>\n );\n }\n }\n}\n\nfunction dropdownComponentFactory(\n item: ButtonDropdownProps.ItemOrGroup,\n expandable: boolean,\n onItemClick: (item: ButtonDropdownProps.Item) => void\n) {\n const label = item.text;\n const hasIcon = !!item.iconName || !!item.iconUrl || !!item.iconAlt || !!item.iconSvg;\n const startIcon = hasIcon && (\n <InternalIcon name={item.iconName} url={item.iconUrl} alt={item.iconAlt} svg={item.iconSvg} />\n );\n\n if (expandable) {\n return (\n <ExpandableItem {...(item as ButtonDropdownProps.ItemGroup)} onItemClick={onItemClick}>\n {label}\n </ExpandableItem>\n );\n }\n\n return (\n <LinkItem\n startIcon={startIcon}\n href={item.href}\n external={item.external}\n context=\"dropdown-menu\"\n testId={item.id}\n onFollow={() => onItemClick(item as ButtonDropdownProps.Item)}\n >\n {label}\n {item.external && (\n <>\n {' '}\n <span aria-label={item.externalIconAriaLabel} role={item.externalIconAriaLabel ? 'img' : undefined}>\n <InternalIcon name=\"external\" size=\"normal\" />\n </span>\n </>\n )}\n </LinkItem>\n );\n}\n\ntype UtilityMenuItemProps = TopNavigationProps.Utility & { index: number };\n\nexport const UtilityMenuItem = forwardRef(\n ({ index, ...props }: UtilityMenuItemProps, ref: React.Ref<HTMLAnchorElement & HTMLButtonElement>) => {\n return (\n <li className={clsx(styles[`overflow-menu-list-item`], styles[`overflow-menu-list-item-utility`])}>\n {utilityComponentFactory(props, index, ref)}\n </li>\n );\n }\n);\n\ntype SubmenuItemProps = ButtonDropdownProps.ItemOrGroup & { onItemClick: (item: ButtonDropdownProps.Item) => void };\n\nexport const SubmenuItem = (props: SubmenuItemProps) => {\n const expandable = typeof (props as ButtonDropdownProps.ItemGroup).items !== 'undefined';\n\n return (\n <li\n className={clsx(\n styles[`overflow-menu-list-item`],\n styles[`overflow-menu-list-item-submenu`],\n expandable && styles[`overflow-menu-list-item-expandable`]\n )}\n >\n {dropdownComponentFactory(props, expandable, props.onItemClick)}\n </li>\n );\n};\n"]}
1
+ {"version":3,"file":"menu-item.js","sourceRoot":"","sources":["../../../../../src/top-navigation/parts/overflow-menu/menu-item.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, { forwardRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { fireCancelableEvent, isPlainLeftClick } from '../../../internal/events';\nimport { useUniqueId } from '../../../internal/hooks/use-unique-id';\nimport useFocusVisible from '../../../internal/hooks/focus-visible';\n\nimport { LinkProps } from '../../../link/interfaces';\nimport { ButtonDropdownProps } from '../../../button-dropdown/interfaces';\nimport InternalIcon from '../../../icon/internal';\n\nimport { useNavigate } from './router';\nimport { TopNavigationProps } from '../../interfaces';\nimport styles from '../../styles.css.js';\n\ninterface ListItemProps {\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n context?: 'dropdown-menu';\n children?: React.ReactNode;\n testId?: string;\n}\n\nconst ListItem = ({ children, startIcon, endIcon }: ListItemProps) => {\n return (\n <>\n {startIcon && <span className={styles['overflow-menu-list-item-icon']}>{startIcon}</span>}\n <span className={styles['overflow-menu-list-item-text']}>{children}</span>\n {endIcon && endIcon}\n </>\n );\n};\n\ninterface LinkItemProps extends ButtonItemProps, Pick<LinkProps, 'href' | 'external'> {}\n\nconst LinkItem = forwardRef(\n (\n { children, external, href, startIcon, endIcon, onFollow, context, testId }: LinkItemProps,\n ref: React.Ref<HTMLAnchorElement>\n ) => {\n const focusVisible = useFocusVisible();\n const rel = external ? 'noopener noreferrer' : undefined;\n const target = external ? '_blank' : undefined;\n\n const anchorProps = {\n rel,\n target,\n href,\n onClick(event: React.MouseEvent) {\n if (isPlainLeftClick(event)) {\n onFollow?.(event);\n }\n },\n };\n\n const buttonProps = {\n role: 'button',\n tabIndex: 0,\n onKeyDown(event: React.KeyboardEvent) {\n if (event.key === ' ') {\n event.preventDefault();\n }\n },\n onKeyUp(event: React.KeyboardEvent) {\n if (event.key === ' ' || event.key === 'Enter') {\n onFollow?.(event);\n }\n },\n onClick: onFollow,\n };\n\n return (\n <a\n ref={ref}\n className={clsx(\n styles['overflow-menu-control'],\n styles['overflow-menu-control-link'],\n context && styles[`overflow-menu-control-${context}`]\n )}\n {...(typeof href === 'string' ? anchorProps : buttonProps)}\n {...focusVisible}\n {...(testId ? { 'data-testid': testId } : {})}\n >\n <ListItem startIcon={startIcon} endIcon={endIcon}>\n {children}\n </ListItem>\n </a>\n );\n }\n);\n\ninterface ButtonItemProps extends ListItemProps {\n onFollow?: (event: React.SyntheticEvent) => void;\n}\n\nconst ButtonItem = forwardRef(\n (\n { children, startIcon, endIcon, onFollow: onClick, testId }: ButtonItemProps & { testId?: string },\n ref: React.Ref<HTMLButtonElement>\n ) => {\n const focusVisible = useFocusVisible();\n\n return (\n <button\n ref={ref}\n className={styles['overflow-menu-control']}\n onClick={onClick}\n {...focusVisible}\n {...(typeof testId === 'string' ? { 'data-testid': testId } : {})}\n >\n <ListItem startIcon={startIcon} endIcon={endIcon}>\n {children}\n </ListItem>\n </button>\n );\n }\n);\n\nconst NavigationItem = forwardRef(\n (\n {\n startIcon,\n children,\n index,\n testId,\n ...definition\n }: ButtonItemProps & TopNavigationProps.MenuDropdownUtility & { index: number; testId?: string },\n ref: React.Ref<HTMLButtonElement>\n ) => {\n const navigate = useNavigate();\n return (\n <ButtonItem\n ref={ref}\n startIcon={startIcon}\n endIcon={<InternalIcon name=\"angle-right\" />}\n testId={testId}\n onFollow={() =>\n navigate('dropdown-menu', {\n definition,\n headerText: definition.text || definition.title,\n headerSecondaryText: definition.description,\n utilityIndex: index,\n })\n }\n >\n {children}\n </ButtonItem>\n );\n }\n);\n\nconst ExpandableItem: React.FC<\n ButtonItemProps & ButtonDropdownProps.ItemGroup & { onItemClick: (item: ButtonDropdownProps.Item) => void }\n> = ({ children, onItemClick, ...definition }) => {\n const focusVisible = useFocusVisible();\n const [expanded, setExpanded] = useState(false);\n const headerId = useUniqueId('overflow-menu-item');\n\n return (\n <>\n <button\n className={clsx(styles['overflow-menu-control'], styles['overflow-menu-control-expandable-menu-trigger'])}\n onClick={() => setExpanded(value => !value)}\n aria-expanded={expanded}\n {...focusVisible}\n >\n <ListItem\n endIcon={\n <span className={clsx(styles.icon, expanded && styles.expanded)}>\n <InternalIcon name=\"caret-up-filled\" />\n </span>\n }\n >\n <span id={headerId}>{children}</span>\n </ListItem>\n </button>\n {expanded && (\n <ul\n className={clsx(styles['overflow-menu-list'], styles['overflow-menu-list-submenu'])}\n aria-labelledby={headerId}\n >\n {definition.items.map((item, index) => {\n const isGroup = typeof (item as ButtonDropdownProps.ItemGroup).items !== 'undefined';\n\n return (\n <li\n key={index}\n className={clsx(styles[`overflow-menu-list-item`], styles[`overflow-menu-list-item-dropdown-menu`])}\n >\n {dropdownComponentFactory(item, isGroup, onItemClick)}\n </li>\n );\n })}\n </ul>\n )}\n </>\n );\n};\n\nfunction utilityComponentFactory(\n utility: TopNavigationProps.Utility,\n index: number,\n ref?: React.Ref<HTMLAnchorElement & HTMLButtonElement>\n) {\n const label = utility.text || utility.title;\n const hasIcon = !!utility.iconName || !!utility.iconUrl || !!utility.iconAlt || !!utility.iconSvg;\n const startIcon = hasIcon && (\n <InternalIcon name={utility.iconName} url={utility.iconUrl} alt={utility.iconAlt} svg={utility.iconSvg} />\n );\n\n switch (utility.type) {\n case 'button': {\n const handleClick = (event: Event | React.SyntheticEvent) => {\n fireCancelableEvent(utility.onClick, {}, event);\n };\n\n if (utility.variant === 'primary-button') {\n return (\n <ButtonItem ref={ref} startIcon={startIcon} onFollow={handleClick} testId={`__${index}`}>\n {label}\n </ButtonItem>\n );\n }\n\n return (\n <LinkItem\n ref={ref}\n startIcon={startIcon}\n href={utility.href}\n external={utility.external}\n testId={`__${index}`}\n onFollow={handleClick}\n >\n {label}\n {utility.external && (\n <>\n {' '}\n <span aria-label={utility.externalIconAriaLabel} role={utility.externalIconAriaLabel ? 'img' : undefined}>\n <InternalIcon name=\"external\" size=\"normal\" />\n </span>\n </>\n )}\n </LinkItem>\n );\n }\n case 'menu-dropdown': {\n return (\n <NavigationItem\n ref={ref}\n startIcon={startIcon}\n index={index}\n {...(utility as TopNavigationProps.MenuDropdownUtility)}\n testId={`__${index}`}\n >\n {label}\n </NavigationItem>\n );\n }\n }\n}\n\nfunction dropdownComponentFactory(\n item: ButtonDropdownProps.ItemOrGroup,\n expandable: boolean,\n onItemClick: (item: ButtonDropdownProps.Item) => void\n) {\n const label = item.text;\n const hasIcon = !!item.iconName || !!item.iconUrl || !!item.iconAlt || !!item.iconSvg;\n const startIcon = hasIcon && (\n <InternalIcon name={item.iconName} url={item.iconUrl} alt={item.iconAlt} svg={item.iconSvg} />\n );\n\n if (expandable) {\n return (\n <ExpandableItem {...(item as ButtonDropdownProps.ItemGroup)} onItemClick={onItemClick}>\n {label}\n </ExpandableItem>\n );\n }\n\n return (\n <LinkItem\n startIcon={startIcon}\n href={item.href}\n external={item.external}\n context=\"dropdown-menu\"\n testId={item.id}\n onFollow={() => onItemClick(item as ButtonDropdownProps.Item)}\n >\n {label}\n {item.external && (\n <>\n {' '}\n <span aria-label={item.externalIconAriaLabel} role={item.externalIconAriaLabel ? 'img' : undefined}>\n <InternalIcon name=\"external\" size=\"normal\" />\n </span>\n </>\n )}\n </LinkItem>\n );\n}\n\ntype UtilityMenuItemProps = TopNavigationProps.Utility & { index: number };\n\nexport const UtilityMenuItem = forwardRef(\n ({ index, ...props }: UtilityMenuItemProps, ref: React.Ref<HTMLAnchorElement & HTMLButtonElement>) => {\n return (\n <li className={clsx(styles[`overflow-menu-list-item`], styles[`overflow-menu-list-item-utility`])}>\n {utilityComponentFactory(props, index, ref)}\n </li>\n );\n }\n);\n\ntype SubmenuItemProps = ButtonDropdownProps.ItemOrGroup & { onItemClick: (item: ButtonDropdownProps.Item) => void };\n\nexport const SubmenuItem = (props: SubmenuItemProps) => {\n const expandable = typeof (props as ButtonDropdownProps.ItemGroup).items !== 'undefined';\n\n return (\n <li\n className={clsx(\n styles[`overflow-menu-list-item`],\n styles[`overflow-menu-list-item-submenu`],\n expandable && styles[`overflow-menu-list-item-expandable`]\n )}\n >\n {dropdownComponentFactory(props, expandable, props.onItemClick)}\n </li>\n );\n};\n"]}
@@ -1,18 +1,17 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import React, { createContext, useContext, useState } from 'react';
4
- var defaultCtx = { state: { view: 'utilities', data: null }, setState: function () { } };
5
- export var ViewContext = createContext(defaultCtx);
6
- export var useNavigate = function () {
7
- var setState = useContext(ViewContext).setState;
8
- var navigate = function (view, data) {
9
- setState({ view: view, data: data });
4
+ const defaultCtx = { state: { view: 'utilities', data: null }, setState: () => { } };
5
+ export const ViewContext = createContext(defaultCtx);
6
+ export const useNavigate = () => {
7
+ const { setState } = useContext(ViewContext);
8
+ const navigate = (view, data) => {
9
+ setState({ view, data });
10
10
  };
11
11
  return navigate;
12
12
  };
13
- export var Route = function (_a) {
14
- var view = _a.view, element = _a.element;
15
- var state = useContext(ViewContext).state;
13
+ export const Route = ({ view, element }) => {
14
+ const { state } = useContext(ViewContext);
16
15
  if (view === state.view) {
17
16
  if (typeof element === 'function') {
18
17
  return element(state.data);
@@ -21,10 +20,9 @@ export var Route = function (_a) {
21
20
  }
22
21
  return null;
23
22
  };
24
- var Router = function (_a) {
25
- var children = _a.children;
26
- var _b = useState({ view: 'utilities', data: null }), state = _b[0], setState = _b[1];
27
- return React.createElement(ViewContext.Provider, { value: { state: state, setState: setState } }, children);
23
+ const Router = ({ children }) => {
24
+ const [state, setState] = useState({ view: 'utilities', data: null });
25
+ return React.createElement(ViewContext.Provider, { value: { state, setState } }, children);
28
26
  };
29
27
  export default Router;
30
28
  //# sourceMappingURL=router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../../src/top-navigation/parts/overflow-menu/router.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,aAAa,EAA4B,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAsB7F,IAAM,UAAU,GAAiB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,cAAO,CAAC,EAAE,CAAC;AAClG,MAAM,CAAC,IAAM,WAAW,GAAG,aAAa,CAAe,UAAU,CAAC,CAAC;AAEnE,MAAM,CAAC,IAAM,WAAW,GAAG;IACjB,IAAA,QAAQ,GAAK,UAAU,CAAC,WAAW,CAAC,SAA5B,CAA6B;IAE7C,IAAM,QAAQ,GAAG,UAAC,IAAU,EAAE,IAAS;QACrC,QAAQ,CAAC,EAAE,IAAI,MAAA,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAOF,MAAM,CAAC,IAAM,KAAK,GAAG,UAAC,EAA6B;QAA3B,IAAI,UAAA,EAAE,OAAO,aAAA;IAC3B,IAAA,KAAK,GAAK,UAAU,CAAC,WAAW,CAAC,MAA5B,CAA6B;IAE1C,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE;QACvB,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;YACjC,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC5B;QAED,OAAO,0CAAG,OAAO,CAAI,CAAC;KACvB;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAMF,IAAM,MAAM,GAAG,UAAC,EAAyB;QAAvB,QAAQ,cAAA;IAClB,IAAA,KAAoB,QAAQ,CAAa,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAA1E,KAAK,QAAA,EAAE,QAAQ,QAA2D,CAAC;IAClF,OAAO,oBAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,OAAA,EAAE,QAAQ,UAAA,EAAE,IAAG,QAAQ,CAAwB,CAAC;AAC7F,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { createContext, Dispatch, SetStateAction, useContext, useState } from 'react';\n\ntype View = 'utilities' | 'dropdown-menu';\n\ninterface RouteData {\n headerText?: string;\n headerSecondaryText?: string;\n definition?: any;\n\n utilityIndex?: number;\n}\n\ninterface RouteState {\n view: View;\n data: RouteData | null;\n}\n\ninterface IViewContext {\n state: RouteState;\n setState: Dispatch<SetStateAction<RouteState>>;\n}\n\nconst defaultCtx: IViewContext = { state: { view: 'utilities', data: null }, setState: () => {} };\nexport const ViewContext = createContext<IViewContext>(defaultCtx);\n\nexport const useNavigate = () => {\n const { setState } = useContext(ViewContext);\n\n const navigate = (view: View, data: any) => {\n setState({ view, data });\n };\n\n return navigate;\n};\n\ninterface RouteProps {\n view: View;\n element?: React.ReactNode | ((data: RouteData | null) => React.ReactElement);\n}\n\nexport const Route = ({ view, element }: RouteProps) => {\n const { state } = useContext(ViewContext);\n\n if (view === state.view) {\n if (typeof element === 'function') {\n return element(state.data);\n }\n\n return <>{element}</>;\n }\n\n return null;\n};\n\ninterface RouterProps {\n children?: React.ReactNode;\n}\n\nconst Router = ({ children }: RouterProps) => {\n const [state, setState] = useState<RouteState>({ view: 'utilities', data: null });\n return <ViewContext.Provider value={{ state, setState }}>{children}</ViewContext.Provider>;\n};\n\nexport default Router;\n"]}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../../src/top-navigation/parts/overflow-menu/router.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,aAAa,EAA4B,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAsB7F,MAAM,UAAU,GAAiB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;AAClG,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAe,UAAU,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAE,IAAS,EAAE,EAAE;QACzC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAc,EAAE,EAAE;IACrD,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAE1C,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE;QACvB,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;YACjC,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC5B;QAED,OAAO,0CAAG,OAAO,CAAI,CAAC;KACvB;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAMF,MAAM,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAe,EAAE,EAAE;IAC3C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAa,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClF,OAAO,oBAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAG,QAAQ,CAAwB,CAAC;AAC7F,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { createContext, Dispatch, SetStateAction, useContext, useState } from 'react';\n\ntype View = 'utilities' | 'dropdown-menu';\n\ninterface RouteData {\n headerText?: string;\n headerSecondaryText?: string;\n definition?: any;\n\n utilityIndex?: number;\n}\n\ninterface RouteState {\n view: View;\n data: RouteData | null;\n}\n\ninterface IViewContext {\n state: RouteState;\n setState: Dispatch<SetStateAction<RouteState>>;\n}\n\nconst defaultCtx: IViewContext = { state: { view: 'utilities', data: null }, setState: () => {} };\nexport const ViewContext = createContext<IViewContext>(defaultCtx);\n\nexport const useNavigate = () => {\n const { setState } = useContext(ViewContext);\n\n const navigate = (view: View, data: any) => {\n setState({ view, data });\n };\n\n return navigate;\n};\n\ninterface RouteProps {\n view: View;\n element?: React.ReactNode | ((data: RouteData | null) => React.ReactElement);\n}\n\nexport const Route = ({ view, element }: RouteProps) => {\n const { state } = useContext(ViewContext);\n\n if (view === state.view) {\n if (typeof element === 'function') {\n return element(state.data);\n }\n\n return <>{element}</>;\n }\n\n return null;\n};\n\ninterface RouterProps {\n children?: React.ReactNode;\n}\n\nconst Router = ({ children }: RouterProps) => {\n const [state, setState] = useState<RouteState>({ view: 'utilities', data: null });\n return <ViewContext.Provider value={{ state, setState }}>{children}</ViewContext.Provider>;\n};\n\nexport default Router;\n"]}
@@ -1,4 +1,3 @@
1
- import { __assign } from "tslib";
2
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
2
  // SPDX-License-Identifier: Apache-2.0
4
3
  import React from 'react';
@@ -10,17 +9,16 @@ import { SubmenuItem } from '../menu-item';
10
9
  import { useUniqueId } from '../../../../internal/hooks/use-unique-id';
11
10
  import styles from '../../../styles.css.js';
12
11
  import { fireCancelableEvent } from '../../../../internal/events';
13
- var SubmenuView = function (_a) {
14
- var onClose = _a.onClose, utilityIndex = _a.utilityIndex, headerText = _a.headerText, headerSecondaryText = _a.headerSecondaryText, dismissIconAriaLabel = _a.dismissIconAriaLabel, backIconAriaLabel = _a.backIconAriaLabel, definition = _a.definition;
15
- var navigate = useNavigate();
16
- var headerId = useUniqueId('overflow-menu-header');
12
+ const SubmenuView = ({ onClose, utilityIndex, headerText, headerSecondaryText, dismissIconAriaLabel, backIconAriaLabel, definition, }) => {
13
+ const navigate = useNavigate();
14
+ const headerId = useUniqueId('overflow-menu-header');
17
15
  return (React.createElement(FocusLock, { returnFocus: true },
18
- React.createElement(Header, { secondaryText: headerSecondaryText, dismissIconAriaLabel: dismissIconAriaLabel, backIconAriaLabel: backIconAriaLabel, onClose: onClose, onBack: function () { return navigate('utilities', { utilityIndex: utilityIndex }); } },
16
+ React.createElement(Header, { secondaryText: headerSecondaryText, dismissIconAriaLabel: dismissIconAriaLabel, backIconAriaLabel: backIconAriaLabel, onClose: onClose, onBack: () => navigate('utilities', { utilityIndex }) },
19
17
  React.createElement("span", { id: headerId }, headerText)),
20
- React.createElement("ul", { className: clsx(styles['overflow-menu-list'], styles['overflow-menu-list-submenu']), "aria-labelledby": headerId }, definition.items.map(function (item, index) { return (React.createElement(SubmenuItem, __assign({ key: index }, item, { onItemClick: function (item) {
18
+ React.createElement("ul", { className: clsx(styles['overflow-menu-list'], styles['overflow-menu-list-submenu']), "aria-labelledby": headerId }, definition.items.map((item, index) => (React.createElement(SubmenuItem, Object.assign({ key: index }, item, { onItemClick: item => {
21
19
  fireCancelableEvent(definition.onItemClick, { id: item.id, href: item.href, external: item.external });
22
20
  onClose === null || onClose === void 0 ? void 0 : onClose();
23
- } }))); }))));
21
+ } })))))));
24
22
  };
25
23
  export default SubmenuView;
26
24
  //# sourceMappingURL=submenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"submenu.js","sourceRoot":"","sources":["../../../../../../src/top-navigation/parts/overflow-menu/views/submenu.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAKvE,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAOlE,IAAM,WAAW,GAAG,UAAC,EAQF;QAPjB,OAAO,aAAA,EACP,YAAY,kBAAA,EACZ,UAAU,gBAAA,EACV,mBAAmB,yBAAA,EACnB,oBAAoB,0BAAA,EACpB,iBAAiB,uBAAA,EACjB,UAAU,gBAAA;IAEV,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAM,QAAQ,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAErD,OAAO,CACL,oBAAC,SAAS,IAAC,WAAW,EAAE,IAAI;QAC1B,oBAAC,MAAM,IACL,aAAa,EAAE,mBAAmB,EAClC,oBAAoB,EAAE,oBAAoB,EAC1C,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,cAAM,OAAA,QAAQ,CAAC,WAAW,EAAE,EAAE,YAAY,cAAA,EAAE,CAAC,EAAvC,CAAuC;YAErD,8BAAM,EAAE,EAAE,QAAQ,IAAG,UAAU,CAAQ,CAChC;QACT,4BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,4BAA4B,CAAC,CAAC,qBAClE,QAAQ,IAEvB,UAAqD,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,CACjF,oBAAC,WAAW,aACV,GAAG,EAAE,KAAK,IACN,IAAI,IACR,WAAW,EAAE,UAAA,IAAI;gBACf,mBAAmB,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvG,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;YACd,CAAC,IACD,CACH,EATkF,CASlF,CAAC,CACC,CACK,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\nimport FocusLock from 'react-focus-lock';\n\nimport { useNavigate } from '../router';\nimport Header from '../header';\nimport { SubmenuItem } from '../menu-item';\nimport { useUniqueId } from '../../../../internal/hooks/use-unique-id';\n\nimport { TopNavigationProps } from '../../../interfaces';\n\nimport { View } from '..';\nimport styles from '../../../styles.css.js';\nimport { fireCancelableEvent } from '../../../../internal/events';\n\ninterface SubmenuViewProps extends View {\n definition: TopNavigationProps.MenuDropdownUtility;\n utilityIndex?: number;\n}\n\nconst SubmenuView = ({\n onClose,\n utilityIndex,\n headerText,\n headerSecondaryText,\n dismissIconAriaLabel,\n backIconAriaLabel,\n definition,\n}: SubmenuViewProps) => {\n const navigate = useNavigate();\n const headerId = useUniqueId('overflow-menu-header');\n\n return (\n <FocusLock returnFocus={true}>\n <Header\n secondaryText={headerSecondaryText}\n dismissIconAriaLabel={dismissIconAriaLabel}\n backIconAriaLabel={backIconAriaLabel}\n onClose={onClose}\n onBack={() => navigate('utilities', { utilityIndex })}\n >\n <span id={headerId}>{headerText}</span>\n </Header>\n <ul\n className={clsx(styles['overflow-menu-list'], styles['overflow-menu-list-submenu'])}\n aria-labelledby={headerId}\n >\n {(definition as TopNavigationProps.MenuDropdownUtility).items.map((item, index) => (\n <SubmenuItem\n key={index}\n {...item}\n onItemClick={item => {\n fireCancelableEvent(definition.onItemClick, { id: item.id, href: item.href, external: item.external });\n onClose?.();\n }}\n />\n ))}\n </ul>\n </FocusLock>\n );\n};\n\nexport default SubmenuView;\n"]}
1
+ {"version":3,"file":"submenu.js","sourceRoot":"","sources":["../../../../../../src/top-navigation/parts/overflow-menu/views/submenu.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAKvE,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAOlE,MAAM,WAAW,GAAG,CAAC,EACnB,OAAO,EACP,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,GACO,EAAE,EAAE;IACrB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAErD,OAAO,CACL,oBAAC,SAAS,IAAC,WAAW,EAAE,IAAI;QAC1B,oBAAC,MAAM,IACL,aAAa,EAAE,mBAAmB,EAClC,oBAAoB,EAAE,oBAAoB,EAC1C,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,CAAC;YAErD,8BAAM,EAAE,EAAE,QAAQ,IAAG,UAAU,CAAQ,CAChC;QACT,4BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,4BAA4B,CAAC,CAAC,qBAClE,QAAQ,IAEvB,UAAqD,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACjF,oBAAC,WAAW,kBACV,GAAG,EAAE,KAAK,IACN,IAAI,IACR,WAAW,EAAE,IAAI,CAAC,EAAE;gBAClB,mBAAmB,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvG,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;YACd,CAAC,IACD,CACH,CAAC,CACC,CACK,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\nimport FocusLock from 'react-focus-lock';\n\nimport { useNavigate } from '../router';\nimport Header from '../header';\nimport { SubmenuItem } from '../menu-item';\nimport { useUniqueId } from '../../../../internal/hooks/use-unique-id';\n\nimport { TopNavigationProps } from '../../../interfaces';\n\nimport { View } from '..';\nimport styles from '../../../styles.css.js';\nimport { fireCancelableEvent } from '../../../../internal/events';\n\ninterface SubmenuViewProps extends View {\n definition: TopNavigationProps.MenuDropdownUtility;\n utilityIndex?: number;\n}\n\nconst SubmenuView = ({\n onClose,\n utilityIndex,\n headerText,\n headerSecondaryText,\n dismissIconAriaLabel,\n backIconAriaLabel,\n definition,\n}: SubmenuViewProps) => {\n const navigate = useNavigate();\n const headerId = useUniqueId('overflow-menu-header');\n\n return (\n <FocusLock returnFocus={true}>\n <Header\n secondaryText={headerSecondaryText}\n dismissIconAriaLabel={dismissIconAriaLabel}\n backIconAriaLabel={backIconAriaLabel}\n onClose={onClose}\n onBack={() => navigate('utilities', { utilityIndex })}\n >\n <span id={headerId}>{headerText}</span>\n </Header>\n <ul\n className={clsx(styles['overflow-menu-list'], styles['overflow-menu-list-submenu'])}\n aria-labelledby={headerId}\n >\n {(definition as TopNavigationProps.MenuDropdownUtility).items.map((item, index) => (\n <SubmenuItem\n key={index}\n {...item}\n onItemClick={item => {\n fireCancelableEvent(definition.onItemClick, { id: item.id, href: item.href, external: item.external });\n onClose?.();\n }}\n />\n ))}\n </ul>\n </FocusLock>\n );\n};\n\nexport default SubmenuView;\n"]}
@@ -1,4 +1,3 @@
1
- import { __assign } from "tslib";
2
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
2
  // SPDX-License-Identifier: Apache-2.0
4
3
  import React, { useEffect, useRef } from 'react';
@@ -7,11 +6,10 @@ import Header from '../header';
7
6
  import { UtilityMenuItem } from '../menu-item';
8
7
  import styles from '../../../styles.css.js';
9
8
  import { useUniqueId } from '../../../../internal/hooks/use-unique-id';
10
- var UtilitiesView = function (_a) {
11
- var headerText = _a.headerText, dismissIconAriaLabel = _a.dismissIconAriaLabel, onClose = _a.onClose, _b = _a.items, items = _b === void 0 ? [] : _b, focusIndex = _a.focusIndex;
12
- var headerId = useUniqueId('overflow-menu-header');
13
- var ref = useRef(null);
14
- useEffect(function () {
9
+ const UtilitiesView = ({ headerText, dismissIconAriaLabel, onClose, items = [], focusIndex }) => {
10
+ const headerId = useUniqueId('overflow-menu-header');
11
+ const ref = useRef(null);
12
+ useEffect(() => {
15
13
  var _a;
16
14
  // A focus index is used to set the focus back to the submenu trigger
17
15
  // returning from a submenu.
@@ -22,7 +20,7 @@ var UtilitiesView = function (_a) {
22
20
  return (React.createElement(FocusLock, { returnFocus: true },
23
21
  React.createElement(Header, { dismissIconAriaLabel: dismissIconAriaLabel, onClose: onClose },
24
22
  React.createElement("span", { id: headerId }, headerText)),
25
- React.createElement("ul", { className: styles['overflow-menu-list'], "aria-labelledby": headerId }, items.map(function (utility, index) { return (React.createElement(UtilityMenuItem, __assign({ key: index, index: index, ref: index === focusIndex ? ref : undefined }, utility))); }))));
23
+ React.createElement("ul", { className: styles['overflow-menu-list'], "aria-labelledby": headerId }, items.map((utility, index) => (React.createElement(UtilityMenuItem, Object.assign({ key: index, index: index, ref: index === focusIndex ? ref : undefined }, utility)))))));
26
24
  };
27
25
  export default UtilitiesView;
28
26
  //# sourceMappingURL=utilities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../../../../../src/top-navigation/parts/overflow-menu/views/utilities.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAK/C,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAOvE,IAAM,aAAa,GAAG,UAAC,EAAyF;QAAvF,UAAU,gBAAA,EAAE,oBAAoB,0BAAA,EAAE,OAAO,aAAA,EAAE,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EAAE,UAAU,gBAAA;IACxF,IAAM,QAAQ,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAAC;IACrD,IAAM,GAAG,GAAG,MAAM,CAAwC,IAAI,CAAC,CAAC;IAEhE,SAAS,CAAC;;QACR,qEAAqE;QACrE,4BAA4B;QAC5B,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAClC,MAAA,GAAG,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;SACtB;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO,CACL,oBAAC,SAAS,IAAC,WAAW,EAAE,IAAI;QAC1B,oBAAC,MAAM,IAAC,oBAAoB,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO;YAClE,8BAAM,EAAE,EAAE,QAAQ,IAAG,UAAU,CAAQ,CAChC;QACT,4BAAI,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC,qBAAmB,QAAQ,IACnE,KAAK,CAAC,GAAG,CAAC,UAAC,OAAO,EAAE,KAAK,IAAK,OAAA,CAC7B,oBAAC,eAAe,aAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAM,OAAO,EAAI,CACxG,EAF8B,CAE9B,CAAC,CACC,CACK,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef } from 'react';\nimport FocusLock from 'react-focus-lock';\n\nimport Header from '../header';\nimport { UtilityMenuItem } from '../menu-item';\n\nimport { TopNavigationProps } from '../../../interfaces';\n\nimport { View } from '..';\nimport styles from '../../../styles.css.js';\nimport { useUniqueId } from '../../../../internal/hooks/use-unique-id';\n\ninterface UtilitiesViewProps extends View {\n items: TopNavigationProps['utilities'];\n focusIndex?: number;\n}\n\nconst UtilitiesView = ({ headerText, dismissIconAriaLabel, onClose, items = [], focusIndex }: UtilitiesViewProps) => {\n const headerId = useUniqueId('overflow-menu-header');\n const ref = useRef<HTMLAnchorElement & HTMLButtonElement>(null);\n\n useEffect(() => {\n // A focus index is used to set the focus back to the submenu trigger\n // returning from a submenu.\n if (typeof focusIndex === 'number') {\n ref.current?.focus();\n }\n }, [focusIndex]);\n\n return (\n <FocusLock returnFocus={true}>\n <Header dismissIconAriaLabel={dismissIconAriaLabel} onClose={onClose}>\n <span id={headerId}>{headerText}</span>\n </Header>\n <ul className={styles['overflow-menu-list']} aria-labelledby={headerId}>\n {items.map((utility, index) => (\n <UtilityMenuItem key={index} index={index} ref={index === focusIndex ? ref : undefined} {...utility} />\n ))}\n </ul>\n </FocusLock>\n );\n};\n\nexport default UtilitiesView;\n"]}
1
+ {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../../../../../src/top-navigation/parts/overflow-menu/views/utilities.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAK/C,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAOvE,MAAM,aAAa,GAAG,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,GAAG,EAAE,EAAE,UAAU,EAAsB,EAAE,EAAE;IAClH,MAAM,QAAQ,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,MAAM,CAAwC,IAAI,CAAC,CAAC;IAEhE,SAAS,CAAC,GAAG,EAAE;;QACb,qEAAqE;QACrE,4BAA4B;QAC5B,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAClC,MAAA,GAAG,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;SACtB;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO,CACL,oBAAC,SAAS,IAAC,WAAW,EAAE,IAAI;QAC1B,oBAAC,MAAM,IAAC,oBAAoB,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO;YAClE,8BAAM,EAAE,EAAE,QAAQ,IAAG,UAAU,CAAQ,CAChC;QACT,4BAAI,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC,qBAAmB,QAAQ,IACnE,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAC7B,oBAAC,eAAe,kBAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAM,OAAO,EAAI,CACxG,CAAC,CACC,CACK,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef } from 'react';\nimport FocusLock from 'react-focus-lock';\n\nimport Header from '../header';\nimport { UtilityMenuItem } from '../menu-item';\n\nimport { TopNavigationProps } from '../../../interfaces';\n\nimport { View } from '..';\nimport styles from '../../../styles.css.js';\nimport { useUniqueId } from '../../../../internal/hooks/use-unique-id';\n\ninterface UtilitiesViewProps extends View {\n items: TopNavigationProps['utilities'];\n focusIndex?: number;\n}\n\nconst UtilitiesView = ({ headerText, dismissIconAriaLabel, onClose, items = [], focusIndex }: UtilitiesViewProps) => {\n const headerId = useUniqueId('overflow-menu-header');\n const ref = useRef<HTMLAnchorElement & HTMLButtonElement>(null);\n\n useEffect(() => {\n // A focus index is used to set the focus back to the submenu trigger\n // returning from a submenu.\n if (typeof focusIndex === 'number') {\n ref.current?.focus();\n }\n }, [focusIndex]);\n\n return (\n <FocusLock returnFocus={true}>\n <Header dismissIconAriaLabel={dismissIconAriaLabel} onClose={onClose}>\n <span id={headerId}>{headerText}</span>\n </Header>\n <ul className={styles['overflow-menu-list']} aria-labelledby={headerId}>\n {items.map((utility, index) => (\n <UtilityMenuItem key={index} index={index} ref={index === focusIndex ? ref : undefined} {...utility} />\n ))}\n </ul>\n </FocusLock>\n );\n};\n\nexport default UtilitiesView;\n"]}