@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
@@ -1,28 +1,28 @@
1
- var testIndexMap = new WeakMap();
1
+ const testIndexMap = new WeakMap();
2
2
  //retrieves the test indexes of the option for the findOption and findOptionInGroup test-utils
3
- export var getTestOptionIndexes = function (item) { return testIndexMap.get(item); };
4
- export var generateTestIndexes = function (filteredItems, getParentGroup) {
5
- var throughIndex = 1;
6
- var groupIndex = 0;
7
- var inGroupIndex = 1;
8
- var currentGroup = null;
9
- filteredItems.forEach(function (item) {
3
+ export const getTestOptionIndexes = (item) => testIndexMap.get(item);
4
+ export const generateTestIndexes = (filteredItems, getParentGroup) => {
5
+ let throughIndex = 1;
6
+ let groupIndex = 0;
7
+ let inGroupIndex = 1;
8
+ let currentGroup = null;
9
+ filteredItems.forEach(item => {
10
10
  if (!('type' in item)) {
11
11
  testIndexMap.set(item, { throughIndex: throughIndex++ });
12
12
  }
13
13
  else if (item.type === 'child') {
14
- var parentGroup = getParentGroup(item);
14
+ const parentGroup = getParentGroup(item);
15
15
  if (parentGroup && parentGroup !== currentGroup) {
16
16
  currentGroup = parentGroup;
17
17
  inGroupIndex = 1;
18
18
  testIndexMap.set(item, {
19
19
  throughIndex: throughIndex++,
20
20
  groupIndex: ++groupIndex,
21
- inGroupIndex: inGroupIndex++
21
+ inGroupIndex: inGroupIndex++,
22
22
  });
23
23
  }
24
24
  else {
25
- testIndexMap.set(item, { throughIndex: throughIndex++, groupIndex: groupIndex, inGroupIndex: inGroupIndex++ });
25
+ testIndexMap.set(item, { throughIndex: throughIndex++, groupIndex, inGroupIndex: inGroupIndex++ });
26
26
  }
27
27
  }
28
28
  });
@@ -1 +1 @@
1
- {"version":3,"file":"test-indexes.js","sourceRoot":"","sources":["../../../../../../src/internal/components/options-list/utils/test-indexes.ts"],"names":[],"mappings":"AAUA,IAAM,YAAY,GAAG,IAAI,OAAO,EAAyB,CAAC;AAC1D,8FAA8F;AAC9F,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAAqB,IAAO,IAAK,OAAA,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAtB,CAAsB,CAAC;AAC5F,MAAM,CAAC,IAAM,mBAAmB,GAAG,UACjC,aAA+B,EAC/B,cAA0C;IAE1C,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,YAAY,GAAa,IAAI,CAAC;IAClC,aAAa,CAAC,OAAO,CAAC,UAAA,IAAI;QACxB,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;YACrB,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;SAC1D;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YAChC,IAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,WAAW,IAAI,WAAW,KAAK,YAAY,EAAE;gBAC/C,YAAY,GAAG,WAAW,CAAC;gBAC3B,YAAY,GAAG,CAAC,CAAC;gBACjB,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE;oBACrB,YAAY,EAAE,YAAY,EAAE;oBAC5B,UAAU,EAAE,EAAE,UAAU;oBACxB,YAAY,EAAE,YAAY,EAAE;iBAC7B,CAAC,CAAC;aACJ;iBAAM;gBACL,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,UAAU,YAAA,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;aACpG;SACF;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\ninterface ListItem {\n type?: string;\n}\ninterface TestIndexes {\n throughIndex?: number;\n groupIndex?: number;\n inGroupIndex?: number;\n}\nconst testIndexMap = new WeakMap<ListItem, TestIndexes>();\n//retrieves the test indexes of the option for the findOption and findOptionInGroup test-utils\nexport const getTestOptionIndexes = <T extends ListItem>(item: T) => testIndexMap.get(item);\nexport const generateTestIndexes = <T extends ListItem>(\n filteredItems: ReadonlyArray<T>,\n getParentGroup: (item: T) => T | undefined\n) => {\n let throughIndex = 1;\n let groupIndex = 0;\n let inGroupIndex = 1;\n let currentGroup: T | null = null;\n filteredItems.forEach(item => {\n if (!('type' in item)) {\n testIndexMap.set(item, { throughIndex: throughIndex++ });\n } else if (item.type === 'child') {\n const parentGroup = getParentGroup(item);\n if (parentGroup && parentGroup !== currentGroup) {\n currentGroup = parentGroup;\n inGroupIndex = 1;\n testIndexMap.set(item, {\n throughIndex: throughIndex++,\n groupIndex: ++groupIndex,\n inGroupIndex: inGroupIndex++,\n });\n } else {\n testIndexMap.set(item, { throughIndex: throughIndex++, groupIndex, inGroupIndex: inGroupIndex++ });\n }\n }\n });\n};\n"]}
1
+ {"version":3,"file":"test-indexes.js","sourceRoot":"","sources":["../../../../../../src/internal/components/options-list/utils/test-indexes.ts"],"names":[],"mappings":"AAUA,MAAM,YAAY,GAAG,IAAI,OAAO,EAAyB,CAAC;AAC1D,8FAA8F;AAC9F,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAqB,IAAO,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,aAA+B,EAC/B,cAA0C,EAC1C,EAAE;IACF,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,YAAY,GAAa,IAAI,CAAC;IAClC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC3B,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;YACrB,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;SAC1D;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YAChC,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,WAAW,IAAI,WAAW,KAAK,YAAY,EAAE;gBAC/C,YAAY,GAAG,WAAW,CAAC;gBAC3B,YAAY,GAAG,CAAC,CAAC;gBACjB,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE;oBACrB,YAAY,EAAE,YAAY,EAAE;oBAC5B,UAAU,EAAE,EAAE,UAAU;oBACxB,YAAY,EAAE,YAAY,EAAE;iBAC7B,CAAC,CAAC;aACJ;iBAAM;gBACL,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;aACpG;SACF;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\ninterface ListItem {\n type?: string;\n}\ninterface TestIndexes {\n throughIndex?: number;\n groupIndex?: number;\n inGroupIndex?: number;\n}\nconst testIndexMap = new WeakMap<ListItem, TestIndexes>();\n//retrieves the test indexes of the option for the findOption and findOptionInGroup test-utils\nexport const getTestOptionIndexes = <T extends ListItem>(item: T) => testIndexMap.get(item);\nexport const generateTestIndexes = <T extends ListItem>(\n filteredItems: ReadonlyArray<T>,\n getParentGroup: (item: T) => T | undefined\n) => {\n let throughIndex = 1;\n let groupIndex = 0;\n let inGroupIndex = 1;\n let currentGroup: T | null = null;\n filteredItems.forEach(item => {\n if (!('type' in item)) {\n testIndexMap.set(item, { throughIndex: throughIndex++ });\n } else if (item.type === 'child') {\n const parentGroup = getParentGroup(item);\n if (parentGroup && parentGroup !== currentGroup) {\n currentGroup = parentGroup;\n inGroupIndex = 1;\n testIndexMap.set(item, {\n throughIndex: throughIndex++,\n groupIndex: ++groupIndex,\n inGroupIndex: inGroupIndex++,\n });\n } else {\n testIndexMap.set(item, { throughIndex: throughIndex++, groupIndex, inGroupIndex: inGroupIndex++ });\n }\n }\n });\n};\n"]}
@@ -1,18 +1,16 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { useCallback, useState } from 'react';
4
- export function useHighlightedOption(_a) {
5
- var options = _a.options, isHighlightable = _a.isHighlightable;
6
- var _b = useState(-1), highlightedIndex = _b[0], setHighlightedIndexState = _b[1];
7
- var _c = useState('keyboard'), highlightType = _c[0], setHighlightType = _c[1];
8
- var setHighlightedIndex = useCallback(function (index, highlightType) {
4
+ export function useHighlightedOption({ options, isHighlightable, }) {
5
+ const [highlightedIndex, setHighlightedIndexState] = useState(-1);
6
+ const [highlightType, setHighlightType] = useState('keyboard');
7
+ const setHighlightedIndex = useCallback((index, highlightType) => {
9
8
  setHighlightedIndexState(index);
10
9
  setHighlightType(highlightType);
11
10
  }, []);
12
- var highlightedOption = options[highlightedIndex] && isHighlightable(options[highlightedIndex]) ? options[highlightedIndex] : undefined;
13
- var moveHighlightFrom = function (direction, startIndex, highlightType) {
14
- if (startIndex === void 0) { startIndex = highlightedIndex; }
15
- var newIndex = startIndex;
11
+ const highlightedOption = options[highlightedIndex] && isHighlightable(options[highlightedIndex]) ? options[highlightedIndex] : undefined;
12
+ const moveHighlightFrom = (direction, startIndex = highlightedIndex, highlightType) => {
13
+ let newIndex = startIndex;
16
14
  do {
17
15
  newIndex += direction;
18
16
  } while (options[newIndex] && !isHighlightable(options[newIndex]));
@@ -20,22 +18,20 @@ export function useHighlightedOption(_a) {
20
18
  setHighlightedIndex(newIndex, highlightType);
21
19
  }
22
20
  };
23
- var moveHighlight = function (direction, highlightType) {
24
- return moveHighlightFrom(direction, highlightedIndex, highlightType);
25
- };
26
- var highlightOption = useCallback(function (option, highlightType) {
27
- var index = options.indexOf(option);
21
+ const moveHighlight = (direction, highlightType) => moveHighlightFrom(direction, highlightedIndex, highlightType);
22
+ const highlightOption = useCallback((option, highlightType) => {
23
+ const index = options.indexOf(option);
28
24
  setHighlightedIndex(index, highlightType);
29
25
  }, [options, setHighlightedIndex]);
30
26
  return [
31
- { highlightType: highlightType, highlightedIndex: highlightedIndex, highlightedOption: highlightedOption },
27
+ { highlightType, highlightedIndex, highlightedOption },
32
28
  {
33
- setHighlightedIndexWithMouse: function (index) { return setHighlightedIndex(index, 'mouse'); },
34
- moveHighlightWithKeyboard: function (direction) { return moveHighlight(direction, 'keyboard'); },
35
- highlightOptionWithKeyboard: function (option) { return highlightOption(option, 'keyboard'); },
36
- resetHighlightWithKeyboard: function () { return setHighlightedIndex(-1, 'keyboard'); },
37
- goHomeWithKeyboard: function () { return moveHighlightFrom(1, -1, 'keyboard'); },
38
- goEndWithKeyboard: function () { return moveHighlightFrom(-1, options.length, 'keyboard'); }
29
+ setHighlightedIndexWithMouse: (index) => setHighlightedIndex(index, 'mouse'),
30
+ moveHighlightWithKeyboard: (direction) => moveHighlight(direction, 'keyboard'),
31
+ highlightOptionWithKeyboard: (option) => highlightOption(option, 'keyboard'),
32
+ resetHighlightWithKeyboard: () => setHighlightedIndex(-1, 'keyboard'),
33
+ goHomeWithKeyboard: () => moveHighlightFrom(1, -1, 'keyboard'),
34
+ goEndWithKeyboard: () => moveHighlightFrom(-1, options.length, 'keyboard'),
39
35
  },
40
36
  ];
41
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-highlight-option.js","sourceRoot":"","sources":["../../../../../../src/internal/components/options-list/utils/use-highlight-option.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AA0B9C,MAAM,UAAU,oBAAoB,CAAa,EAGZ;QAFnC,OAAO,aAAA,EACP,eAAe,qBAAA;IAET,IAAA,KAA+C,QAAQ,CAAC,CAAC,CAAC,CAAC,EAA1D,gBAAgB,QAAA,EAAE,wBAAwB,QAAgB,CAAC;IAC5D,IAAA,KAAoC,QAAQ,CAAgB,UAAU,CAAC,EAAtE,aAAa,QAAA,EAAE,gBAAgB,QAAuC,CAAC;IAC9E,IAAM,mBAAmB,GAAG,WAAW,CAAC,UAAC,KAAa,EAAE,aAA4B;QAClF,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,iBAAiB,GACrB,OAAO,CAAC,gBAAgB,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAElH,IAAM,iBAAiB,GAAG,UAAC,SAAiB,EAAE,UAA6B,EAAE,aAA4B;QAA3D,2BAAA,EAAA,6BAA6B;QACzE,IAAI,QAAQ,GAAG,UAAU,CAAC;QAC1B,GAAG;YACD,QAAQ,IAAI,SAAS,CAAC;SACvB,QAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE;QAEnE,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;YACrB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;SAC9C;IACH,CAAC,CAAC;IAEF,IAAM,aAAa,GAAG,UAAC,SAAiB,EAAE,aAA4B;QACpE,OAAA,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,EAAE,aAAa,CAAC;IAA7D,CAA6D,CAAC;IAEhE,IAAM,eAAe,GAAG,WAAW,CACjC,UAAC,MAAkB,EAAE,aAA4B;QAC/C,IAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,mBAAmB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC5C,CAAC,EACD,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAC/B,CAAC;IAEF,OAAO;QACL,EAAE,aAAa,eAAA,EAAE,gBAAgB,kBAAA,EAAE,iBAAiB,mBAAA,EAAE;QACtD;YACE,4BAA4B,EAAE,UAAC,KAAa,IAAK,OAAA,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAnC,CAAmC;YACpF,yBAAyB,EAAE,UAAC,SAAiB,IAAK,OAAA,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,EAApC,CAAoC;YACtF,2BAA2B,EAAE,UAAC,MAAkB,IAAK,OAAA,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,EAAnC,CAAmC;YACxF,0BAA0B,EAAE,cAAM,OAAA,mBAAmB,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAnC,CAAmC;YACrE,kBAAkB,EAAE,cAAM,OAAA,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,EAApC,CAAoC;YAC9D,iBAAiB,EAAE,cAAM,OAAA,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,EAAjD,CAAiD;SAC3E;KACF,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useCallback, useState } from 'react';\n\nexport type HighlightType = 'keyboard' | 'mouse';\n\nexport interface HighlightedOptionProps<OptionType> {\n options: readonly OptionType[];\n isHighlightable: (option: OptionType) => boolean;\n}\n\nexport interface HighlightedOptionState<OptionType> {\n highlightType: HighlightType;\n highlightedIndex: number;\n highlightedOption?: OptionType;\n}\n\nexport interface HighlightedOptionHandlers<OptionType> {\n // Mouse handlers\n setHighlightedIndexWithMouse(index: number): void;\n // Keyboard handlers\n moveHighlightWithKeyboard(direction: -1 | 1): void;\n highlightOptionWithKeyboard(option: OptionType): void;\n resetHighlightWithKeyboard(): void;\n goHomeWithKeyboard(): void;\n goEndWithKeyboard(): void;\n}\n\nexport function useHighlightedOption<OptionType>({\n options,\n isHighlightable,\n}: HighlightedOptionProps<OptionType>): [HighlightedOptionState<OptionType>, HighlightedOptionHandlers<OptionType>] {\n const [highlightedIndex, setHighlightedIndexState] = useState(-1);\n const [highlightType, setHighlightType] = useState<HighlightType>('keyboard');\n const setHighlightedIndex = useCallback((index: number, highlightType: HighlightType) => {\n setHighlightedIndexState(index);\n setHighlightType(highlightType);\n }, []);\n\n const highlightedOption =\n options[highlightedIndex] && isHighlightable(options[highlightedIndex]) ? options[highlightedIndex] : undefined;\n\n const moveHighlightFrom = (direction: -1 | 1, startIndex = highlightedIndex, highlightType: HighlightType) => {\n let newIndex = startIndex;\n do {\n newIndex += direction;\n } while (options[newIndex] && !isHighlightable(options[newIndex]));\n\n if (options[newIndex]) {\n setHighlightedIndex(newIndex, highlightType);\n }\n };\n\n const moveHighlight = (direction: -1 | 1, highlightType: HighlightType) =>\n moveHighlightFrom(direction, highlightedIndex, highlightType);\n\n const highlightOption = useCallback(\n (option: OptionType, highlightType: HighlightType) => {\n const index = options.indexOf(option);\n setHighlightedIndex(index, highlightType);\n },\n [options, setHighlightedIndex]\n );\n\n return [\n { highlightType, highlightedIndex, highlightedOption },\n {\n setHighlightedIndexWithMouse: (index: number) => setHighlightedIndex(index, 'mouse'),\n moveHighlightWithKeyboard: (direction: -1 | 1) => moveHighlight(direction, 'keyboard'),\n highlightOptionWithKeyboard: (option: OptionType) => highlightOption(option, 'keyboard'),\n resetHighlightWithKeyboard: () => setHighlightedIndex(-1, 'keyboard'),\n goHomeWithKeyboard: () => moveHighlightFrom(1, -1, 'keyboard'),\n goEndWithKeyboard: () => moveHighlightFrom(-1, options.length, 'keyboard'),\n },\n ];\n}\n"]}
1
+ {"version":3,"file":"use-highlight-option.js","sourceRoot":"","sources":["../../../../../../src/internal/components/options-list/utils/use-highlight-option.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AA0B9C,MAAM,UAAU,oBAAoB,CAAa,EAC/C,OAAO,EACP,eAAe,GACoB;IACnC,MAAM,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAgB,UAAU,CAAC,CAAC;IAC9E,MAAM,mBAAmB,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,aAA4B,EAAE,EAAE;QACtF,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,iBAAiB,GACrB,OAAO,CAAC,gBAAgB,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAElH,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,UAAU,GAAG,gBAAgB,EAAE,aAA4B,EAAE,EAAE;QAC3G,IAAI,QAAQ,GAAG,UAAU,CAAC;QAC1B,GAAG;YACD,QAAQ,IAAI,SAAS,CAAC;SACvB,QAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE;QAEnE,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;YACrB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;SAC9C;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,aAA4B,EAAE,EAAE,CACxE,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAEhE,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,MAAkB,EAAE,aAA4B,EAAE,EAAE;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,mBAAmB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC5C,CAAC,EACD,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAC/B,CAAC;IAEF,OAAO;QACL,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE;QACtD;YACE,4BAA4B,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC;YACpF,yBAAyB,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC;YACtF,2BAA2B,EAAE,CAAC,MAAkB,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC;YACxF,0BAA0B,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;YACrE,kBAAkB,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC;YAC9D,iBAAiB,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC;SAC3E;KACF,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useCallback, useState } from 'react';\n\nexport type HighlightType = 'keyboard' | 'mouse';\n\nexport interface HighlightedOptionProps<OptionType> {\n options: readonly OptionType[];\n isHighlightable: (option: OptionType) => boolean;\n}\n\nexport interface HighlightedOptionState<OptionType> {\n highlightType: HighlightType;\n highlightedIndex: number;\n highlightedOption?: OptionType;\n}\n\nexport interface HighlightedOptionHandlers<OptionType> {\n // Mouse handlers\n setHighlightedIndexWithMouse(index: number): void;\n // Keyboard handlers\n moveHighlightWithKeyboard(direction: -1 | 1): void;\n highlightOptionWithKeyboard(option: OptionType): void;\n resetHighlightWithKeyboard(): void;\n goHomeWithKeyboard(): void;\n goEndWithKeyboard(): void;\n}\n\nexport function useHighlightedOption<OptionType>({\n options,\n isHighlightable,\n}: HighlightedOptionProps<OptionType>): [HighlightedOptionState<OptionType>, HighlightedOptionHandlers<OptionType>] {\n const [highlightedIndex, setHighlightedIndexState] = useState(-1);\n const [highlightType, setHighlightType] = useState<HighlightType>('keyboard');\n const setHighlightedIndex = useCallback((index: number, highlightType: HighlightType) => {\n setHighlightedIndexState(index);\n setHighlightType(highlightType);\n }, []);\n\n const highlightedOption =\n options[highlightedIndex] && isHighlightable(options[highlightedIndex]) ? options[highlightedIndex] : undefined;\n\n const moveHighlightFrom = (direction: -1 | 1, startIndex = highlightedIndex, highlightType: HighlightType) => {\n let newIndex = startIndex;\n do {\n newIndex += direction;\n } while (options[newIndex] && !isHighlightable(options[newIndex]));\n\n if (options[newIndex]) {\n setHighlightedIndex(newIndex, highlightType);\n }\n };\n\n const moveHighlight = (direction: -1 | 1, highlightType: HighlightType) =>\n moveHighlightFrom(direction, highlightedIndex, highlightType);\n\n const highlightOption = useCallback(\n (option: OptionType, highlightType: HighlightType) => {\n const index = options.indexOf(option);\n setHighlightedIndex(index, highlightType);\n },\n [options, setHighlightedIndex]\n );\n\n return [\n { highlightType, highlightedIndex, highlightedOption },\n {\n setHighlightedIndexWithMouse: (index: number) => setHighlightedIndex(index, 'mouse'),\n moveHighlightWithKeyboard: (direction: -1 | 1) => moveHighlight(direction, 'keyboard'),\n highlightOptionWithKeyboard: (option: OptionType) => highlightOption(option, 'keyboard'),\n resetHighlightWithKeyboard: () => setHighlightedIndex(-1, 'keyboard'),\n goHomeWithKeyboard: () => moveHighlightFrom(1, -1, 'keyboard'),\n goEndWithKeyboard: () => moveHighlightFrom(-1, options.length, 'keyboard'),\n },\n ];\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- export var getOptionId = function (menuId, index) {
3
+ export const getOptionId = (menuId, index) => {
4
4
  if (index < 0) {
5
5
  return undefined;
6
6
  }
7
- return "".concat(menuId, "-option-").concat(index);
7
+ return `${menuId}-option-${index}`;
8
8
  };
9
9
  //# sourceMappingURL=use-ids.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-ids.js","sourceRoot":"","sources":["../../../../../../src/internal/components/options-list/utils/use-ids.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,MAAc,EAAE,KAAa;IACvD,IAAI,KAAK,GAAG,CAAC,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,UAAG,MAAM,qBAAW,KAAK,CAAE,CAAC;AACrC,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const getOptionId = (menuId: string, index: number) => {\n if (index < 0) {\n return undefined;\n }\n return `${menuId}-option-${index}`;\n};\n"]}
1
+ {"version":3,"file":"use-ids.js","sourceRoot":"","sources":["../../../../../../src/internal/components/options-list/utils/use-ids.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE;IAC3D,IAAI,KAAK,GAAG,CAAC,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,GAAG,MAAM,WAAW,KAAK,EAAE,CAAC;AACrC,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const getOptionId = (menuId: string, index: number) => {\n if (index < 0) {\n return undefined;\n }\n return `${menuId}-option-${index}`;\n};\n"]}
@@ -2,11 +2,10 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { useCallback } from 'react';
4
4
  import { KeyCode } from '../../../keycode';
5
- var HOME = 36;
6
- var END = 35;
7
- export var useMenuKeyboard = function (_a) {
8
- var moveHighlight = _a.moveHighlight, selectOption = _a.selectOption, goHome = _a.goHome, goEnd = _a.goEnd, closeDropdown = _a.closeDropdown, isSelectingUsingSpace = _a.isSelectingUsingSpace, _b = _a.preventNativeSpace, preventNativeSpace = _b === void 0 ? false : _b;
9
- return useCallback(function (e) {
5
+ const HOME = 36;
6
+ const END = 35;
7
+ export const useMenuKeyboard = ({ moveHighlight, selectOption, goHome, goEnd, closeDropdown, isSelectingUsingSpace, preventNativeSpace = false, }) => {
8
+ return useCallback((e) => {
10
9
  switch (e.detail.keyCode) {
11
10
  case KeyCode.up:
12
11
  e.preventDefault();
@@ -38,9 +37,8 @@ export var useMenuKeyboard = function (_a) {
38
37
  }
39
38
  }, [moveHighlight, selectOption, goHome, goEnd, closeDropdown, isSelectingUsingSpace, preventNativeSpace]);
40
39
  };
41
- export var useTriggerKeyboard = function (_a) {
42
- var openDropdown = _a.openDropdown, goHome = _a.goHome;
43
- return useCallback(function (e) {
40
+ export const useTriggerKeyboard = ({ openDropdown, goHome }) => {
41
+ return useCallback((e) => {
44
42
  switch (e.detail.keyCode) {
45
43
  case KeyCode.up:
46
44
  case KeyCode.down:
@@ -1 +1 @@
1
- {"version":3,"file":"use-keyboard.js","sourceRoot":"","sources":["../../../../../../src/internal/components/options-list/utils/use-keyboard.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,WAAW,EAAoB,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C,IAAM,IAAI,GAAG,EAAE,CAAC;AAChB,IAAM,GAAG,GAAG,EAAE,CAAC;AAcf,MAAM,CAAC,IAAM,eAAe,GAAoB,UAAC,EAQhD;QAPC,aAAa,mBAAA,EACb,YAAY,kBAAA,EACZ,MAAM,YAAA,EACN,KAAK,WAAA,EACL,aAAa,mBAAA,EACb,qBAAqB,2BAAA,EACrB,0BAA0B,EAA1B,kBAAkB,mBAAG,KAAK,KAAA;IAE1B,OAAO,WAAW,CAChB,UAAC,CAA6B;QAC5B,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;YACxB,KAAK,OAAO,CAAC,EAAE;gBACb,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClB,MAAM;YACR,KAAK,OAAO,CAAC,IAAI;gBACf,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,aAAa,CAAC,CAAC,CAAC,CAAC;gBACjB,MAAM;YACR,KAAK,IAAI;gBACP,MAAM,EAAE,CAAC;gBACT,MAAM;YACR,KAAK,GAAG;gBACN,KAAK,EAAE,CAAC;gBACR,MAAM;YACR,KAAK,OAAO,CAAC,MAAM;gBACjB,aAAa,EAAE,CAAC;gBAChB,MAAM;YACR,KAAK,OAAO,CAAC,KAAK;gBAChB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,YAAY,EAAE,CAAC;gBACf,MAAM;YACR,KAAK,OAAO,CAAC,KAAK;gBAChB,IAAI,kBAAkB,EAAE;oBACtB,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,YAAY,EAAE,CAAC;oBACf,qBAAqB,CAAC,OAAO,GAAG,IAAI,CAAC;iBACtC;SACJ;IACH,CAAC,EACD,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,CACvG,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,CAAC,IAAM,kBAAkB,GAAuB,UAAC,EAAwB;QAAtB,YAAY,kBAAA,EAAE,MAAM,YAAA;IAC3E,OAAO,WAAW,CAChB,UAAC,CAA6B;QAC5B,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;YACxB,KAAK,OAAO,CAAC,EAAE,CAAC;YAChB,KAAK,OAAO,CAAC,IAAI;gBACf,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,EAAE,CAAC;gBACT,YAAY,EAAE,CAAC;gBACf,MAAM;YACR,KAAK,OAAO,CAAC,KAAK,CAAC;YACnB,KAAK,OAAO,CAAC,KAAK;gBAChB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,YAAY,EAAE,CAAC;gBACf,MAAM;SACT;IACH,CAAC,EACD,CAAC,YAAY,EAAE,MAAM,CAAC,CACvB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useCallback, MutableRefObject } from 'react';\nimport { KeyCode } from '../../../keycode';\nimport { BaseKeyDetail, CancelableEventHandler } from '../../../events';\n\nconst HOME = 36;\nconst END = 35;\n\ninterface UseMenuKeyboard {\n (inputProps: {\n moveHighlight: (direction: -1 | 1, startIndex?: number) => void;\n selectOption: () => void;\n goHome: () => void;\n goEnd: () => void;\n closeDropdown: () => void;\n isSelectingUsingSpace: MutableRefObject<boolean>;\n preventNativeSpace?: boolean;\n }): CancelableEventHandler<BaseKeyDetail>;\n}\n\nexport const useMenuKeyboard: UseMenuKeyboard = ({\n moveHighlight,\n selectOption,\n goHome,\n goEnd,\n closeDropdown,\n isSelectingUsingSpace,\n preventNativeSpace = false,\n}) => {\n return useCallback(\n (e: CustomEvent<BaseKeyDetail>) => {\n switch (e.detail.keyCode) {\n case KeyCode.up:\n e.preventDefault();\n moveHighlight(-1);\n break;\n case KeyCode.down:\n e.preventDefault();\n moveHighlight(1);\n break;\n case HOME:\n goHome();\n break;\n case END:\n goEnd();\n break;\n case KeyCode.escape:\n closeDropdown();\n break;\n case KeyCode.enter:\n e.preventDefault();\n selectOption();\n break;\n case KeyCode.space:\n if (preventNativeSpace) {\n e.preventDefault();\n selectOption();\n isSelectingUsingSpace.current = true;\n }\n }\n },\n [moveHighlight, selectOption, goHome, goEnd, closeDropdown, isSelectingUsingSpace, preventNativeSpace]\n );\n};\n\ninterface UseTriggerKeyboard {\n (inputProps: { openDropdown: () => void; goHome: () => void }): CancelableEventHandler<BaseKeyDetail>;\n}\n\nexport const useTriggerKeyboard: UseTriggerKeyboard = ({ openDropdown, goHome }) => {\n return useCallback(\n (e: CustomEvent<BaseKeyDetail>) => {\n switch (e.detail.keyCode) {\n case KeyCode.up:\n case KeyCode.down:\n e.preventDefault();\n goHome();\n openDropdown();\n break;\n case KeyCode.space:\n case KeyCode.enter:\n e.preventDefault();\n openDropdown();\n break;\n }\n },\n [openDropdown, goHome]\n );\n};\n"]}
1
+ {"version":3,"file":"use-keyboard.js","sourceRoot":"","sources":["../../../../../../src/internal/components/options-list/utils/use-keyboard.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,WAAW,EAAoB,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C,MAAM,IAAI,GAAG,EAAE,CAAC;AAChB,MAAM,GAAG,GAAG,EAAE,CAAC;AAcf,MAAM,CAAC,MAAM,eAAe,GAAoB,CAAC,EAC/C,aAAa,EACb,YAAY,EACZ,MAAM,EACN,KAAK,EACL,aAAa,EACb,qBAAqB,EACrB,kBAAkB,GAAG,KAAK,GAC3B,EAAE,EAAE;IACH,OAAO,WAAW,CAChB,CAAC,CAA6B,EAAE,EAAE;QAChC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;YACxB,KAAK,OAAO,CAAC,EAAE;gBACb,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClB,MAAM;YACR,KAAK,OAAO,CAAC,IAAI;gBACf,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,aAAa,CAAC,CAAC,CAAC,CAAC;gBACjB,MAAM;YACR,KAAK,IAAI;gBACP,MAAM,EAAE,CAAC;gBACT,MAAM;YACR,KAAK,GAAG;gBACN,KAAK,EAAE,CAAC;gBACR,MAAM;YACR,KAAK,OAAO,CAAC,MAAM;gBACjB,aAAa,EAAE,CAAC;gBAChB,MAAM;YACR,KAAK,OAAO,CAAC,KAAK;gBAChB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,YAAY,EAAE,CAAC;gBACf,MAAM;YACR,KAAK,OAAO,CAAC,KAAK;gBAChB,IAAI,kBAAkB,EAAE;oBACtB,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,YAAY,EAAE,CAAC;oBACf,qBAAqB,CAAC,OAAO,GAAG,IAAI,CAAC;iBACtC;SACJ;IACH,CAAC,EACD,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,CACvG,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,kBAAkB,GAAuB,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE;IACjF,OAAO,WAAW,CAChB,CAAC,CAA6B,EAAE,EAAE;QAChC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;YACxB,KAAK,OAAO,CAAC,EAAE,CAAC;YAChB,KAAK,OAAO,CAAC,IAAI;gBACf,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,EAAE,CAAC;gBACT,YAAY,EAAE,CAAC;gBACf,MAAM;YACR,KAAK,OAAO,CAAC,KAAK,CAAC;YACnB,KAAK,OAAO,CAAC,KAAK;gBAChB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,YAAY,EAAE,CAAC;gBACf,MAAM;SACT;IACH,CAAC,EACD,CAAC,YAAY,EAAE,MAAM,CAAC,CACvB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useCallback, MutableRefObject } from 'react';\nimport { KeyCode } from '../../../keycode';\nimport { BaseKeyDetail, CancelableEventHandler } from '../../../events';\n\nconst HOME = 36;\nconst END = 35;\n\ninterface UseMenuKeyboard {\n (inputProps: {\n moveHighlight: (direction: -1 | 1, startIndex?: number) => void;\n selectOption: () => void;\n goHome: () => void;\n goEnd: () => void;\n closeDropdown: () => void;\n isSelectingUsingSpace: MutableRefObject<boolean>;\n preventNativeSpace?: boolean;\n }): CancelableEventHandler<BaseKeyDetail>;\n}\n\nexport const useMenuKeyboard: UseMenuKeyboard = ({\n moveHighlight,\n selectOption,\n goHome,\n goEnd,\n closeDropdown,\n isSelectingUsingSpace,\n preventNativeSpace = false,\n}) => {\n return useCallback(\n (e: CustomEvent<BaseKeyDetail>) => {\n switch (e.detail.keyCode) {\n case KeyCode.up:\n e.preventDefault();\n moveHighlight(-1);\n break;\n case KeyCode.down:\n e.preventDefault();\n moveHighlight(1);\n break;\n case HOME:\n goHome();\n break;\n case END:\n goEnd();\n break;\n case KeyCode.escape:\n closeDropdown();\n break;\n case KeyCode.enter:\n e.preventDefault();\n selectOption();\n break;\n case KeyCode.space:\n if (preventNativeSpace) {\n e.preventDefault();\n selectOption();\n isSelectingUsingSpace.current = true;\n }\n }\n },\n [moveHighlight, selectOption, goHome, goEnd, closeDropdown, isSelectingUsingSpace, preventNativeSpace]\n );\n};\n\ninterface UseTriggerKeyboard {\n (inputProps: { openDropdown: () => void; goHome: () => void }): CancelableEventHandler<BaseKeyDetail>;\n}\n\nexport const useTriggerKeyboard: UseTriggerKeyboard = ({ openDropdown, goHome }) => {\n return useCallback(\n (e: CustomEvent<BaseKeyDetail>) => {\n switch (e.detail.keyCode) {\n case KeyCode.up:\n case KeyCode.down:\n e.preventDefault();\n goHome();\n openDropdown();\n break;\n case KeyCode.space:\n case KeyCode.enter:\n e.preventDefault();\n openDropdown();\n break;\n }\n },\n [openDropdown, goHome]\n );\n};\n"]}
@@ -1,22 +1,21 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { useState } from 'react';
4
- export var useOpenState = function (_a) {
5
- var onOpen = _a.onOpen, onClose = _a.onClose;
6
- var _b = useState(false), isOpen = _b[0], setIsOpen = _b[1];
7
- var openDropdown = function () {
4
+ export const useOpenState = ({ onOpen, onClose }) => {
5
+ const [isOpen, setIsOpen] = useState(false);
6
+ const openDropdown = () => {
8
7
  if (!isOpen) {
9
8
  setIsOpen(true);
10
9
  onOpen === null || onOpen === void 0 ? void 0 : onOpen();
11
10
  }
12
11
  };
13
- var closeDropdown = function () {
12
+ const closeDropdown = () => {
14
13
  if (isOpen) {
15
14
  setIsOpen(false);
16
15
  onClose === null || onClose === void 0 ? void 0 : onClose();
17
16
  }
18
17
  };
19
- var toggleDropdown = function () {
18
+ const toggleDropdown = () => {
20
19
  if (isOpen) {
21
20
  closeDropdown();
22
21
  }
@@ -24,6 +23,6 @@ export var useOpenState = function (_a) {
24
23
  openDropdown();
25
24
  }
26
25
  };
27
- return { isOpen: isOpen, openDropdown: openDropdown, closeDropdown: closeDropdown, toggleDropdown: toggleDropdown };
26
+ return { isOpen, openDropdown, closeDropdown, toggleDropdown };
28
27
  };
29
28
  //# sourceMappingURL=use-open-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-open-state.js","sourceRoot":"","sources":["../../../../../../src/internal/components/options-list/utils/use-open-state.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAOjC,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,EAAmC;QAAjC,MAAM,YAAA,EAAE,OAAO,aAAA;IACtC,IAAA,KAAsB,QAAQ,CAAC,KAAK,CAAC,EAApC,MAAM,QAAA,EAAE,SAAS,QAAmB,CAAC;IAE5C,IAAM,YAAY,GAAG;QACnB,IAAI,CAAC,MAAM,EAAE;YACX,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,MAAM,aAAN,MAAM,uBAAN,MAAM,EAAI,CAAC;SACZ;IACH,CAAC,CAAC;IAEF,IAAM,aAAa,GAAG;QACpB,IAAI,MAAM,EAAE;YACV,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;SACb;IACH,CAAC,CAAC;IAEF,IAAM,cAAc,GAAG;QACrB,IAAI,MAAM,EAAE;YACV,aAAa,EAAE,CAAC;SACjB;aAAM;YACL,YAAY,EAAE,CAAC;SAChB;IACH,CAAC,CAAC;IAEF,OAAO,EAAE,MAAM,QAAA,EAAE,YAAY,cAAA,EAAE,aAAa,eAAA,EAAE,cAAc,gBAAA,EAAE,CAAC;AACjE,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useState } from 'react';\n\ninterface OpenStateProps {\n onOpen?: () => void;\n onClose?: () => void;\n}\n\nexport const useOpenState = ({ onOpen, onClose }: OpenStateProps) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const openDropdown = () => {\n if (!isOpen) {\n setIsOpen(true);\n onOpen?.();\n }\n };\n\n const closeDropdown = () => {\n if (isOpen) {\n setIsOpen(false);\n onClose?.();\n }\n };\n\n const toggleDropdown = () => {\n if (isOpen) {\n closeDropdown();\n } else {\n openDropdown();\n }\n };\n\n return { isOpen, openDropdown, closeDropdown, toggleDropdown };\n};\n"]}
1
+ {"version":3,"file":"use-open-state.js","sourceRoot":"","sources":["../../../../../../src/internal/components/options-list/utils/use-open-state.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAOjC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAkB,EAAE,EAAE;IAClE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,CAAC,MAAM,EAAE;YACX,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,MAAM,aAAN,MAAM,uBAAN,MAAM,EAAI,CAAC;SACZ;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,MAAM,EAAE;YACV,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;SACb;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,IAAI,MAAM,EAAE;YACV,aAAa,EAAE,CAAC;SACjB;aAAM;YACL,YAAY,EAAE,CAAC;SAChB;IACH,CAAC,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC;AACjE,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useState } from 'react';\n\ninterface OpenStateProps {\n onOpen?: () => void;\n onClose?: () => void;\n}\n\nexport const useOpenState = ({ onOpen, onClose }: OpenStateProps) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const openDropdown = () => {\n if (!isOpen) {\n setIsOpen(true);\n onOpen?.();\n }\n };\n\n const closeDropdown = () => {\n if (isOpen) {\n setIsOpen(false);\n onClose?.();\n }\n };\n\n const toggleDropdown = () => {\n if (isOpen) {\n closeDropdown();\n } else {\n openDropdown();\n }\n };\n\n return { isOpen, openDropdown, closeDropdown, toggleDropdown };\n};\n"]}
@@ -6,18 +6,17 @@ import { createPortal } from 'react-dom';
6
6
  * A safe react portal component that renders to a provided node.
7
7
  * If a node isn't provided, it creates one under document.body.
8
8
  */
9
- export default function Portal(_a) {
10
- var container = _a.container, children = _a.children;
11
- var _b = useState(container !== null && container !== void 0 ? container : null), activeContainer = _b[0], setActiveContainer = _b[1];
12
- useLayoutEffect(function () {
9
+ export default function Portal({ container, children }) {
10
+ const [activeContainer, setActiveContainer] = useState(container !== null && container !== void 0 ? container : null);
11
+ useLayoutEffect(() => {
13
12
  if (container) {
14
13
  setActiveContainer(container);
15
14
  return;
16
15
  }
17
- var newContainer = document.createElement('div');
16
+ const newContainer = document.createElement('div');
18
17
  document.body.appendChild(newContainer);
19
18
  setActiveContainer(newContainer);
20
- return function () {
19
+ return () => {
21
20
  document.body.removeChild(newContainer);
22
21
  setActiveContainer(null);
23
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/portal/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAOzC;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAAoC;QAAlC,SAAS,eAAA,EAAE,QAAQ,cAAA;IAC5C,IAAA,KAAwC,QAAQ,CAAiB,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,CAAC,EAAlF,eAAe,QAAA,EAAE,kBAAkB,QAA+C,CAAC;IAE1F,eAAe,CAAC;QACd,IAAI,SAAS,EAAE;YACb,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO;SACR;QACD,IAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACxC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACjC,OAAO;YACL,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACxC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,eAAe,IAAI,YAAY,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;AACpE,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useLayoutEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nexport interface PortalProps {\n container?: Element;\n children: React.ReactNode;\n}\n\n/**\n * A safe react portal component that renders to a provided node.\n * If a node isn't provided, it creates one under document.body.\n */\nexport default function Portal({ container, children }: PortalProps) {\n const [activeContainer, setActiveContainer] = useState<Element | null>(container ?? null);\n\n useLayoutEffect(() => {\n if (container) {\n setActiveContainer(container);\n return;\n }\n const newContainer = document.createElement('div');\n document.body.appendChild(newContainer);\n setActiveContainer(newContainer);\n return () => {\n document.body.removeChild(newContainer);\n setActiveContainer(null);\n };\n }, [container]);\n\n return activeContainer && createPortal(children, activeContainer);\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/portal/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAOzC;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAe;IACjE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAiB,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,CAAC,CAAC;IAE1F,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,SAAS,EAAE;YACb,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO;SACR;QACD,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACxC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACjC,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACxC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,eAAe,IAAI,YAAY,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;AACpE,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useLayoutEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nexport interface PortalProps {\n container?: Element;\n children: React.ReactNode;\n}\n\n/**\n * A safe react portal component that renders to a provided node.\n * If a node isn't provided, it creates one under document.body.\n */\nexport default function Portal({ container, children }: PortalProps) {\n const [activeContainer, setActiveContainer] = useState<Element | null>(container ?? null);\n\n useLayoutEffect(() => {\n if (container) {\n setActiveContainer(container);\n return;\n }\n const newContainer = document.createElement('div');\n document.body.appendChild(newContainer);\n setActiveContainer(newContainer);\n return () => {\n document.body.removeChild(newContainer);\n setActiveContainer(null);\n };\n }, [container]);\n\n return activeContainer && createPortal(children, activeContainer);\n}\n"]}
@@ -1,6 +1,5 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import { __assign } from "tslib";
4
3
  import clsx from 'clsx';
5
4
  import React from 'react';
6
5
  import styles from './styles.css.js';
@@ -19,6 +18,6 @@ import styles from './styles.css.js';
19
18
  * ```
20
19
  */
21
20
  export default function ScreenreaderOnly(props) {
22
- return React.createElement("span", __assign({}, props, { className: clsx(styles.root, props.className) }));
21
+ return React.createElement("span", Object.assign({}, props, { className: clsx(styles.root, props.className) }));
23
22
  }
24
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/screenreader-only/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;;AAEtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAQrC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,KAA4B;IACnE,OAAO,yCAAU,KAAK,IAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;AAC5E,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport clsx from 'clsx';\nimport React from 'react';\nimport styles from './styles.css.js';\n\nexport interface ScreenreaderOnlyProps {\n id?: string;\n className?: string;\n children: React.ReactNode;\n}\n\n/**\n * Makes content now shown on a screen but still announced by screen-reader users.\n * The component is suitable when the aria-label cannot be used, e.g. to avoid elemnts being announced as \"blank\".\n *\n * To exclude screenreader-only content use `:not(.${screenreaderOnlyStyles.root})` selector, for example:\n *\n * ```\n * import screenreaderOnlyStyles from '~internal/components/screenreader-only/styles.css.js'\n *\n * let visibleContent = wrapper.find(`${styles.label}`).find(`:not(.${screenreaderOnlyStyles.root})`).getElement().textContent\n *\n * let screenreaderContent = wrapper.find(`${styles.label}`).find(`.${screenreaderOnlyStyles.root}`).getElement().textContent\n * ```\n */\nexport default function ScreenreaderOnly(props: ScreenreaderOnlyProps) {\n return <span {...props} className={clsx(styles.root, props.className)} />;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/screenreader-only/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAQrC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,KAA4B;IACnE,OAAO,8CAAU,KAAK,IAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;AAC5E,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport clsx from 'clsx';\nimport React from 'react';\nimport styles from './styles.css.js';\n\nexport interface ScreenreaderOnlyProps {\n id?: string;\n className?: string;\n children: React.ReactNode;\n}\n\n/**\n * Makes content now shown on a screen but still announced by screen-reader users.\n * The component is suitable when the aria-label cannot be used, e.g. to avoid elemnts being announced as \"blank\".\n *\n * To exclude screenreader-only content use `:not(.${screenreaderOnlyStyles.root})` selector, for example:\n *\n * ```\n * import screenreaderOnlyStyles from '~internal/components/screenreader-only/styles.css.js'\n *\n * let visibleContent = wrapper.find(`${styles.label}`).find(`:not(.${screenreaderOnlyStyles.root})`).getElement().textContent\n *\n * let screenreaderContent = wrapper.find(`${styles.label}`).find(`.${screenreaderOnlyStyles.root}`).getElement().textContent\n * ```\n */\nexport default function ScreenreaderOnly(props: ScreenreaderOnlyProps) {\n return <span {...props} className={clsx(styles.root, props.className)} />;\n}\n"]}
@@ -1,30 +1,29 @@
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, { useRef, useLayoutEffect } from 'react';
5
5
  import clsx from 'clsx';
6
6
  import styles from './styles.css.js';
7
7
  import { getBaseProps } from '../../base-component';
8
- var SelectableItem = function (_a, ref) {
9
- var _b;
10
- var content = _a.children, ariaSelected = _a.ariaSelected, ariaChecked = _a.ariaChecked, selected = _a.selected, highlighted = _a.highlighted, disabled = _a.disabled, hasBackground = _a.hasBackground, isParent = _a.isParent, isChild = _a.isChild, virtualPosition = _a.virtualPosition, padBottom = _a.padBottom, isNextSelected = _a.isNextSelected, useInteractiveGroups = _a.useInteractiveGroups, screenReaderContent = _a.screenReaderContent, ariaPosinset = _a.ariaPosinset, ariaSetsize = _a.ariaSetsize, highlightType = _a.highlightType, restProps = __rest(_a, ["children", "ariaSelected", "ariaChecked", "selected", "highlighted", "disabled", "hasBackground", "isParent", "isChild", "virtualPosition", "padBottom", "isNextSelected", "useInteractiveGroups", "screenReaderContent", "ariaPosinset", "ariaSetsize", "highlightType"]);
11
- var _c = getBaseProps(restProps), className = _c.className, rest = __rest(_c, ["className"]);
12
- var classNames = clsx(className, styles['selectable-item'], (_b = {},
13
- _b[styles.selected] = selected,
14
- _b[styles.highlighted] = highlighted,
15
- _b[styles['has-background']] = hasBackground,
16
- _b[styles.parent] = isParent,
17
- _b[styles.child] = isChild,
18
- _b[styles['is-keyboard']] = highlightType === 'keyboard',
19
- _b[styles.disabled] = disabled,
20
- _b[styles.virtual] = virtualPosition !== undefined,
21
- _b[styles['pad-bottom']] = padBottom,
22
- _b[styles['next-item-selected']] = isNextSelected,
23
- _b[styles.interactiveGroups] = useInteractiveGroups,
24
- _b));
25
- var contentRef = useRef(null);
26
- var screenReaderContentRef = useRef(null);
27
- useLayoutEffect(function () {
8
+ const SelectableItem = (_a, ref) => {
9
+ var { children: content, ariaSelected, ariaChecked, selected, highlighted, disabled, hasBackground, isParent, isChild, virtualPosition, padBottom, isNextSelected, useInteractiveGroups, screenReaderContent, ariaPosinset, ariaSetsize, highlightType } = _a, restProps = __rest(_a, ["children", "ariaSelected", "ariaChecked", "selected", "highlighted", "disabled", "hasBackground", "isParent", "isChild", "virtualPosition", "padBottom", "isNextSelected", "useInteractiveGroups", "screenReaderContent", "ariaPosinset", "ariaSetsize", "highlightType"]);
10
+ const _b = getBaseProps(restProps), { className } = _b, rest = __rest(_b, ["className"]);
11
+ const classNames = clsx(className, styles['selectable-item'], {
12
+ [styles.selected]: selected,
13
+ [styles.highlighted]: highlighted,
14
+ [styles['has-background']]: hasBackground,
15
+ [styles.parent]: isParent,
16
+ [styles.child]: isChild,
17
+ [styles['is-keyboard']]: highlightType === 'keyboard',
18
+ [styles.disabled]: disabled,
19
+ [styles.virtual]: virtualPosition !== undefined,
20
+ [styles['pad-bottom']]: padBottom,
21
+ [styles['next-item-selected']]: isNextSelected,
22
+ [styles.interactiveGroups]: useInteractiveGroups,
23
+ });
24
+ const contentRef = useRef(null);
25
+ const screenReaderContentRef = useRef(null);
26
+ useLayoutEffect(() => {
28
27
  // the state of aria-hidden and announcement is not set back because NVDA+Firefox would announce
29
28
  // the item which lost highlight
30
29
  // set aria-hidden true when there is announcement content, so that screen reader still announce
@@ -39,13 +38,13 @@ var SelectableItem = function (_a, ref) {
39
38
  }
40
39
  }
41
40
  }, [highlighted, screenReaderContent, contentRef, screenReaderContentRef]);
42
- var style = virtualPosition !== undefined
41
+ const style = virtualPosition !== undefined
43
42
  ? {
44
- transform: "translateY(".concat(virtualPosition, "px)")
43
+ transform: `translateY(${virtualPosition}px)`,
45
44
  }
46
45
  : undefined;
47
- var a11yProperties = {
48
- 'aria-disabled': disabled
46
+ const a11yProperties = {
47
+ 'aria-disabled': disabled,
49
48
  };
50
49
  if (isParent && !useInteractiveGroups) {
51
50
  a11yProperties['aria-hidden'] = true;
@@ -61,7 +60,7 @@ var SelectableItem = function (_a, ref) {
61
60
  a11yProperties['aria-posinset'] = ariaPosinset;
62
61
  a11yProperties['aria-setsize'] = ariaSetsize;
63
62
  }
64
- return (React.createElement("li", __assign({ role: "option", className: classNames, style: style }, a11yProperties, rest),
63
+ return (React.createElement("li", Object.assign({ role: "option", className: classNames, style: style }, a11yProperties, rest),
65
64
  React.createElement("div", { className: styles['option-content'], ref: contentRef }, content),
66
65
  React.createElement("div", { className: styles['measure-strut'], ref: ref }),
67
66
  React.createElement("div", { className: styles['screenreader-content'], ref: screenReaderContentRef })));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/selectable-item/index.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, { useRef, useLayoutEffect } from 'react';\nimport clsx from 'clsx';\nimport styles from './styles.css.js';\nimport { BaseComponentProps, getBaseProps } from '../../base-component';\nimport { HighlightType } from '../options-list/utils/use-highlight-option.js';\n\nexport type SelectableItemProps = BaseComponentProps & {\n children: React.ReactNode;\n selected?: boolean;\n highlighted?: boolean;\n disabled?: boolean;\n hasBackground?: boolean;\n isParent?: boolean;\n isChild?: boolean;\n virtualPosition?: number;\n padBottom?: boolean;\n isNextSelected?: boolean;\n useInteractiveGroups?: boolean;\n screenReaderContent?: string;\n ariaPosinset?: number;\n ariaSetsize?: number;\n highlightType?: HighlightType;\n} & ({ ariaSelected?: boolean; ariaChecked?: never } | { ariaSelected?: never; ariaChecked?: boolean | 'mixed' });\n\nconst SelectableItem = (\n {\n children: content,\n ariaSelected,\n ariaChecked,\n selected,\n highlighted,\n disabled,\n hasBackground,\n isParent,\n isChild,\n virtualPosition,\n padBottom,\n isNextSelected,\n useInteractiveGroups,\n screenReaderContent,\n ariaPosinset,\n ariaSetsize,\n highlightType,\n ...restProps\n }: SelectableItemProps,\n ref: React.Ref<HTMLDivElement>\n) => {\n const { className, ...rest } = getBaseProps(restProps);\n const classNames = clsx(className, styles['selectable-item'], {\n [styles.selected]: selected,\n [styles.highlighted]: highlighted,\n [styles['has-background']]: hasBackground,\n [styles.parent]: isParent,\n [styles.child]: isChild,\n [styles['is-keyboard']]: highlightType === 'keyboard',\n [styles.disabled]: disabled,\n [styles.virtual]: virtualPosition !== undefined,\n [styles['pad-bottom']]: padBottom,\n [styles['next-item-selected']]: isNextSelected,\n [styles.interactiveGroups]: useInteractiveGroups,\n });\n\n const contentRef = useRef<HTMLDivElement>(null);\n const screenReaderContentRef = useRef<HTMLDivElement>(null);\n\n useLayoutEffect(() => {\n // the state of aria-hidden and announcement is not set back because NVDA+Firefox would announce\n // the item which lost highlight\n // set aria-hidden true when there is announcement content, so that screen reader still announce\n // meaningful content when navigate with screen reader cursor\n // imperatively update to avoid announcement made multiple times when content updates\n if (highlighted && screenReaderContent) {\n if (contentRef.current) {\n contentRef.current.setAttribute('aria-hidden', 'true');\n }\n if (screenReaderContentRef.current) {\n screenReaderContentRef.current.textContent = screenReaderContent;\n }\n }\n }, [highlighted, screenReaderContent, contentRef, screenReaderContentRef]);\n\n const style =\n virtualPosition !== undefined\n ? {\n transform: `translateY(${virtualPosition}px)`,\n }\n : undefined;\n\n const a11yProperties: Record<string, string | number | boolean | undefined> = {\n 'aria-disabled': disabled,\n };\n\n if (isParent && !useInteractiveGroups) {\n a11yProperties['aria-hidden'] = true;\n }\n\n if (ariaSelected !== undefined) {\n a11yProperties['aria-selected'] = ariaSelected;\n }\n\n // Safari+VO needs aria-checked for multi-selection. Otherwise it only announces selected option even though another option is highlighted.\n if (ariaChecked !== undefined) {\n a11yProperties['aria-checked'] = ariaChecked;\n }\n\n if (ariaPosinset && ariaSetsize) {\n a11yProperties['aria-posinset'] = ariaPosinset;\n a11yProperties['aria-setsize'] = ariaSetsize;\n }\n\n return (\n <li role=\"option\" className={classNames} style={style} {...a11yProperties} {...rest}>\n <div className={styles['option-content']} ref={contentRef}>\n {content}\n </div>\n <div className={styles['measure-strut']} ref={ref} />\n <div className={styles['screenreader-content']} ref={screenReaderContentRef}></div>\n </li>\n );\n};\n\nexport default React.forwardRef(SelectableItem);\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/selectable-item/index.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, { useRef, useLayoutEffect } from 'react';\nimport clsx from 'clsx';\nimport styles from './styles.css.js';\nimport { BaseComponentProps, getBaseProps } from '../../base-component';\nimport { HighlightType } from '../options-list/utils/use-highlight-option.js';\n\nexport type SelectableItemProps = BaseComponentProps & {\n children: React.ReactNode;\n selected?: boolean;\n highlighted?: boolean;\n disabled?: boolean;\n hasBackground?: boolean;\n isParent?: boolean;\n isChild?: boolean;\n virtualPosition?: number;\n padBottom?: boolean;\n isNextSelected?: boolean;\n useInteractiveGroups?: boolean;\n screenReaderContent?: string;\n ariaPosinset?: number;\n ariaSetsize?: number;\n highlightType?: HighlightType;\n} & ({ ariaSelected?: boolean; ariaChecked?: never } | { ariaSelected?: never; ariaChecked?: boolean | 'mixed' });\n\nconst SelectableItem = (\n {\n children: content,\n ariaSelected,\n ariaChecked,\n selected,\n highlighted,\n disabled,\n hasBackground,\n isParent,\n isChild,\n virtualPosition,\n padBottom,\n isNextSelected,\n useInteractiveGroups,\n screenReaderContent,\n ariaPosinset,\n ariaSetsize,\n highlightType,\n ...restProps\n }: SelectableItemProps,\n ref: React.Ref<HTMLDivElement>\n) => {\n const { className, ...rest } = getBaseProps(restProps);\n const classNames = clsx(className, styles['selectable-item'], {\n [styles.selected]: selected,\n [styles.highlighted]: highlighted,\n [styles['has-background']]: hasBackground,\n [styles.parent]: isParent,\n [styles.child]: isChild,\n [styles['is-keyboard']]: highlightType === 'keyboard',\n [styles.disabled]: disabled,\n [styles.virtual]: virtualPosition !== undefined,\n [styles['pad-bottom']]: padBottom,\n [styles['next-item-selected']]: isNextSelected,\n [styles.interactiveGroups]: useInteractiveGroups,\n });\n\n const contentRef = useRef<HTMLDivElement>(null);\n const screenReaderContentRef = useRef<HTMLDivElement>(null);\n\n useLayoutEffect(() => {\n // the state of aria-hidden and announcement is not set back because NVDA+Firefox would announce\n // the item which lost highlight\n // set aria-hidden true when there is announcement content, so that screen reader still announce\n // meaningful content when navigate with screen reader cursor\n // imperatively update to avoid announcement made multiple times when content updates\n if (highlighted && screenReaderContent) {\n if (contentRef.current) {\n contentRef.current.setAttribute('aria-hidden', 'true');\n }\n if (screenReaderContentRef.current) {\n screenReaderContentRef.current.textContent = screenReaderContent;\n }\n }\n }, [highlighted, screenReaderContent, contentRef, screenReaderContentRef]);\n\n const style =\n virtualPosition !== undefined\n ? {\n transform: `translateY(${virtualPosition}px)`,\n }\n : undefined;\n\n const a11yProperties: Record<string, string | number | boolean | undefined> = {\n 'aria-disabled': disabled,\n };\n\n if (isParent && !useInteractiveGroups) {\n a11yProperties['aria-hidden'] = true;\n }\n\n if (ariaSelected !== undefined) {\n a11yProperties['aria-selected'] = ariaSelected;\n }\n\n // Safari+VO needs aria-checked for multi-selection. Otherwise it only announces selected option even though another option is highlighted.\n if (ariaChecked !== undefined) {\n a11yProperties['aria-checked'] = ariaChecked;\n }\n\n if (ariaPosinset && ariaSetsize) {\n a11yProperties['aria-posinset'] = ariaPosinset;\n a11yProperties['aria-setsize'] = ariaSetsize;\n }\n\n return (\n <li role=\"option\" className={classNames} style={style} {...a11yProperties} {...rest}>\n <div className={styles['option-content']} ref={contentRef}>\n {content}\n </div>\n <div className={styles['measure-strut']} ref={ref} />\n <div className={styles['screenreader-content']} ref={screenReaderContentRef}></div>\n </li>\n );\n};\n\nexport default React.forwardRef(SelectableItem);\n"]}
@@ -6,8 +6,7 @@ import React from 'react';
6
6
  * When the user focuses this component, the `focusNextCallback` function is called
7
7
  * which can forward the focus to another element.
8
8
  */
9
- export default function TabTrap(_a) {
10
- var focusNextCallback = _a.focusNextCallback, _b = _a.disabled, disabled = _b === void 0 ? false : _b;
9
+ export default function TabTrap({ focusNextCallback, disabled = false }) {
11
10
  return React.createElement("div", { tabIndex: disabled ? -1 : 0, onFocus: focusNextCallback });
12
11
  }
13
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/tab-trap/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAAqD;QAAnD,iBAAiB,uBAAA,EAAE,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA;IACnE,OAAO,6BAAK,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,GAAI,CAAC;AAC1E,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nexport interface TabTrapProps {\n focusNextCallback: (event: React.FocusEvent) => void;\n disabled?: boolean;\n}\n\n/**\n * This component handles focus-forwarding when using keyboard tab navigation.\n * When the user focuses this component, the `focusNextCallback` function is called\n * which can forward the focus to another element.\n */\nexport default function TabTrap({ focusNextCallback, disabled = false }: TabTrapProps) {\n return <div tabIndex={disabled ? -1 : 0} onFocus={focusNextCallback} />;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/tab-trap/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAAE,iBAAiB,EAAE,QAAQ,GAAG,KAAK,EAAgB;IACnF,OAAO,6BAAK,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,GAAI,CAAC;AAC1E,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nexport interface TabTrapProps {\n focusNextCallback: (event: React.FocusEvent) => void;\n disabled?: boolean;\n}\n\n/**\n * This component handles focus-forwarding when using keyboard tab navigation.\n * When the user focuses this component, the `focusNextCallback` function is called\n * which can forward the focus to another element.\n */\nexport default function TabTrap({ focusNextCallback, disabled = false }: TabTrapProps) {\n return <div tabIndex={disabled ? -1 : 0} onFocus={focusNextCallback} />;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { __assign, __rest } from "tslib";
1
+ import { __rest } from "tslib";
2
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  import React, { useState } from 'react';
@@ -12,19 +12,19 @@ import { useReducedMotion } from '../../hooks/use-visual-mode';
12
12
  * attached to the node that is transitioning.
13
13
  */
14
14
  export function Transition(_a) {
15
- var isIn = _a["in"], children = _a.children, _b = _a.exit, exit = _b === void 0 ? true : _b, _c = _a.onStatusChange, onStatusChange = _c === void 0 ? function () { return void 0; } : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, transitionChangeDelay = _a.transitionChangeDelay, rest = __rest(_a, ["in", "children", "exit", "onStatusChange", "disabled", "transitionChangeDelay"]);
16
- var transitionRootElement = useRef(null);
15
+ var { in: isIn, children, exit = true, onStatusChange = () => void 0, disabled = false, transitionChangeDelay } = _a, rest = __rest(_a, ["in", "children", "exit", "onStatusChange", "disabled", "transitionChangeDelay"]);
16
+ const transitionRootElement = useRef(null);
17
17
  // the initial state of the transition should be either 'exited' or 'entered' depending
18
18
  // on the `in` property, this mimicks how internally the Transition component works here:
19
19
  // https://github.com/reactjs/react-transition-group/blob/6cbd6aaedaf8e9472007640b429ddb48c6c24158/src/Transition.js#L121
20
- var _e = useState(isIn ? 'entered' : 'exited'), transitionState = _e[0], setTransitionState = _e[1];
21
- var motionDisabled = useReducedMotion(transitionRootElement) || disabled;
22
- var addTransitionEndListener = useCallback(function (done) {
23
- var node = transitionRootElement.current;
20
+ const [transitionState, setTransitionState] = useState(isIn ? 'entered' : 'exited');
21
+ const motionDisabled = useReducedMotion(transitionRootElement) || disabled;
22
+ const addTransitionEndListener = useCallback((done) => {
23
+ const node = transitionRootElement.current;
24
24
  if (node === null) {
25
25
  return;
26
26
  }
27
- var listener = function (e) {
27
+ const listener = (e) => {
28
28
  if (e.target === node) {
29
29
  node.removeEventListener('transitionend', listener);
30
30
  node.removeEventListener('animationend', listener);
@@ -34,19 +34,19 @@ export function Transition(_a) {
34
34
  node.addEventListener('transitionend', listener);
35
35
  node.addEventListener('animationend', listener);
36
36
  }, []);
37
- return (React.createElement(ReactTransitionGroupTransition, __assign({ addEndListener: addTransitionEndListener, timeout: motionDisabled ? 0 : undefined, "in": isIn, nodeRef: transitionRootElement, exit: exit, onEnter: function (isAppearing) {
37
+ return (React.createElement(ReactTransitionGroupTransition, Object.assign({ addEndListener: addTransitionEndListener, timeout: motionDisabled ? 0 : undefined, in: isIn, nodeRef: transitionRootElement, exit: exit, onEnter: isAppearing => {
38
38
  if (!isAppearing) {
39
39
  setTransitionState('enter');
40
40
  onStatusChange('enter');
41
41
  }
42
- }, onEntering: function (isAppearing) {
42
+ }, onEntering: isAppearing => {
43
43
  var _a;
44
44
  if (!isAppearing) {
45
45
  // This line forces the browser to recalculate the layout because we want the starting state in the 'enter' style
46
46
  // to be applied before the animation starts.
47
47
  void ((_a = transitionRootElement.current) === null || _a === void 0 ? void 0 : _a.offsetHeight);
48
48
  if (transitionChangeDelay === null || transitionChangeDelay === void 0 ? void 0 : transitionChangeDelay.entering) {
49
- setTimeout(function () {
49
+ setTimeout(() => {
50
50
  setTransitionState('entering');
51
51
  onStatusChange('entering');
52
52
  }, transitionChangeDelay === null || transitionChangeDelay === void 0 ? void 0 : transitionChangeDelay.entering);
@@ -56,20 +56,20 @@ export function Transition(_a) {
56
56
  onStatusChange('entering');
57
57
  }
58
58
  }
59
- }, onEntered: function (isAppearing) {
59
+ }, onEntered: isAppearing => {
60
60
  if (!isAppearing) {
61
61
  setTransitionState('entered');
62
62
  onStatusChange('entered');
63
63
  }
64
- }, onExit: function () {
64
+ }, onExit: () => {
65
65
  setTransitionState('exit');
66
66
  onStatusChange('exit');
67
- }, onExiting: function () {
67
+ }, onExiting: () => {
68
68
  setTransitionState('exiting');
69
69
  onStatusChange('exiting');
70
- }, onExited: function () {
70
+ }, onExited: () => {
71
71
  setTransitionState('exited');
72
72
  onStatusChange('exited');
73
- } }, rest), function () { return children(transitionState, transitionRootElement); }));
73
+ } }, rest), () => children(transitionState, transitionRootElement)));
74
74
  }
75
75
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/transition/index.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, { useState } from 'react';\nimport { MutableRefObject, useCallback, useRef } from 'react';\nimport {\n Transition as ReactTransitionGroupTransition,\n TransitionStatus as ReactTransitionGroupTransitionStatus,\n} from 'react-transition-group';\nimport { useReducedMotion } from '../../hooks/use-visual-mode';\n\nexport type TransitionStatus = ReactTransitionGroupTransitionStatus | 'enter' | 'exit';\n\nexport interface TransitionProps {\n in: boolean;\n exit?: boolean;\n\n disabled?: boolean;\n\n children: (state: TransitionStatus, transitioningElementRef: MutableRefObject<any>) => React.ReactNode;\n onStatusChange?: (status: TransitionStatus) => void;\n transitionChangeDelay?: { entering?: number };\n}\n\n/**\n * This component is a wrapper around the CSSTransition component.\n *\n * It provides a second parameter in its rendering function that must be\n * attached to the node that is transitioning.\n */\nexport function Transition({\n in: isIn,\n children,\n exit = true,\n onStatusChange = () => void 0,\n disabled = false,\n transitionChangeDelay,\n ...rest\n}: TransitionProps) {\n const transitionRootElement = useRef<HTMLElement>(null);\n // the initial state of the transition should be either 'exited' or 'entered' depending\n // on the `in` property, this mimicks how internally the Transition component works here:\n // https://github.com/reactjs/react-transition-group/blob/6cbd6aaedaf8e9472007640b429ddb48c6c24158/src/Transition.js#L121\n const [transitionState, setTransitionState] = useState<TransitionStatus>(isIn ? 'entered' : 'exited');\n const motionDisabled = useReducedMotion(transitionRootElement) || disabled;\n\n const addTransitionEndListener = useCallback((done: () => void) => {\n const node = transitionRootElement.current;\n\n if (node === null) {\n return;\n }\n const listener = (e: TransitionEvent | AnimationEvent) => {\n if (e.target === node) {\n node.removeEventListener('transitionend', listener);\n node.removeEventListener('animationend', listener);\n done();\n }\n };\n node.addEventListener('transitionend', listener);\n node.addEventListener('animationend', listener);\n }, []);\n\n return (\n <ReactTransitionGroupTransition\n addEndListener={addTransitionEndListener}\n timeout={motionDisabled ? 0 : undefined}\n in={isIn}\n nodeRef={transitionRootElement}\n exit={exit}\n onEnter={isAppearing => {\n if (!isAppearing) {\n setTransitionState('enter');\n onStatusChange('enter');\n }\n }}\n onEntering={isAppearing => {\n if (!isAppearing) {\n // This line forces the browser to recalculate the layout because we want the starting state in the 'enter' style\n // to be applied before the animation starts.\n void transitionRootElement.current?.offsetHeight;\n\n if (transitionChangeDelay?.entering) {\n setTimeout(() => {\n setTransitionState('entering');\n onStatusChange('entering');\n }, transitionChangeDelay?.entering);\n } else {\n setTransitionState('entering');\n onStatusChange('entering');\n }\n }\n }}\n onEntered={isAppearing => {\n if (!isAppearing) {\n setTransitionState('entered');\n onStatusChange('entered');\n }\n }}\n onExit={() => {\n setTransitionState('exit');\n onStatusChange('exit');\n }}\n onExiting={() => {\n setTransitionState('exiting');\n onStatusChange('exiting');\n }}\n onExited={() => {\n setTransitionState('exited');\n onStatusChange('exited');\n }}\n {...rest}\n >\n {() => children(transitionState, transitionRootElement)}\n </ReactTransitionGroupTransition>\n );\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/transition/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAoB,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,EACL,UAAU,IAAI,8BAA8B,GAE7C,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAe/D;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,EAQT;QARS,EACzB,EAAE,EAAE,IAAI,EACR,QAAQ,EACR,IAAI,GAAG,IAAI,EACX,cAAc,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,EAC7B,QAAQ,GAAG,KAAK,EAChB,qBAAqB,OAEL,EADb,IAAI,cAPkB,iFAQ1B,CADQ;IAEP,MAAM,qBAAqB,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IACxD,uFAAuF;IACvF,yFAAyF;IACzF,yHAAyH;IACzH,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtG,MAAM,cAAc,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,IAAI,QAAQ,CAAC;IAE3E,MAAM,wBAAwB,GAAG,WAAW,CAAC,CAAC,IAAgB,EAAE,EAAE;QAChE,MAAM,IAAI,GAAG,qBAAqB,CAAC,OAAO,CAAC;QAE3C,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,CAAC,CAAmC,EAAE,EAAE;YACvD,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE;gBACrB,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;gBACpD,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;gBACnD,IAAI,EAAE,CAAC;aACR;QACH,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,oBAAC,8BAA8B,kBAC7B,cAAc,EAAE,wBAAwB,EACxC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACvC,EAAE,EAAE,IAAI,EACR,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,CAAC,EAAE;YACrB,IAAI,CAAC,WAAW,EAAE;gBAChB,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC5B,cAAc,CAAC,OAAO,CAAC,CAAC;aACzB;QACH,CAAC,EACD,UAAU,EAAE,WAAW,CAAC,EAAE;;YACxB,IAAI,CAAC,WAAW,EAAE;gBAChB,iHAAiH;gBACjH,6CAA6C;gBAC7C,KAAK,CAAA,MAAA,qBAAqB,CAAC,OAAO,0CAAE,YAAY,CAAA,CAAC;gBAEjD,IAAI,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,QAAQ,EAAE;oBACnC,UAAU,CAAC,GAAG,EAAE;wBACd,kBAAkB,CAAC,UAAU,CAAC,CAAC;wBAC/B,cAAc,CAAC,UAAU,CAAC,CAAC;oBAC7B,CAAC,EAAE,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,QAAQ,CAAC,CAAC;iBACrC;qBAAM;oBACL,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBAC/B,cAAc,CAAC,UAAU,CAAC,CAAC;iBAC5B;aACF;QACH,CAAC,EACD,SAAS,EAAE,WAAW,CAAC,EAAE;YACvB,IAAI,CAAC,WAAW,EAAE;gBAChB,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBAC9B,cAAc,CAAC,SAAS,CAAC,CAAC;aAC3B;QACH,CAAC,EACD,MAAM,EAAE,GAAG,EAAE;YACX,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC3B,cAAc,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC,EACD,SAAS,EAAE,GAAG,EAAE;YACd,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC9B,cAAc,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE;YACb,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAC7B,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC,IACG,IAAI,GAEP,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC,CACxB,CAClC,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useState } from 'react';\nimport { MutableRefObject, useCallback, useRef } from 'react';\nimport {\n Transition as ReactTransitionGroupTransition,\n TransitionStatus as ReactTransitionGroupTransitionStatus,\n} from 'react-transition-group';\nimport { useReducedMotion } from '../../hooks/use-visual-mode';\n\nexport type TransitionStatus = ReactTransitionGroupTransitionStatus | 'enter' | 'exit';\n\nexport interface TransitionProps {\n in: boolean;\n exit?: boolean;\n\n disabled?: boolean;\n\n children: (state: TransitionStatus, transitioningElementRef: MutableRefObject<any>) => React.ReactNode;\n onStatusChange?: (status: TransitionStatus) => void;\n transitionChangeDelay?: { entering?: number };\n}\n\n/**\n * This component is a wrapper around the CSSTransition component.\n *\n * It provides a second parameter in its rendering function that must be\n * attached to the node that is transitioning.\n */\nexport function Transition({\n in: isIn,\n children,\n exit = true,\n onStatusChange = () => void 0,\n disabled = false,\n transitionChangeDelay,\n ...rest\n}: TransitionProps) {\n const transitionRootElement = useRef<HTMLElement>(null);\n // the initial state of the transition should be either 'exited' or 'entered' depending\n // on the `in` property, this mimicks how internally the Transition component works here:\n // https://github.com/reactjs/react-transition-group/blob/6cbd6aaedaf8e9472007640b429ddb48c6c24158/src/Transition.js#L121\n const [transitionState, setTransitionState] = useState<TransitionStatus>(isIn ? 'entered' : 'exited');\n const motionDisabled = useReducedMotion(transitionRootElement) || disabled;\n\n const addTransitionEndListener = useCallback((done: () => void) => {\n const node = transitionRootElement.current;\n\n if (node === null) {\n return;\n }\n const listener = (e: TransitionEvent | AnimationEvent) => {\n if (e.target === node) {\n node.removeEventListener('transitionend', listener);\n node.removeEventListener('animationend', listener);\n done();\n }\n };\n node.addEventListener('transitionend', listener);\n node.addEventListener('animationend', listener);\n }, []);\n\n return (\n <ReactTransitionGroupTransition\n addEndListener={addTransitionEndListener}\n timeout={motionDisabled ? 0 : undefined}\n in={isIn}\n nodeRef={transitionRootElement}\n exit={exit}\n onEnter={isAppearing => {\n if (!isAppearing) {\n setTransitionState('enter');\n onStatusChange('enter');\n }\n }}\n onEntering={isAppearing => {\n if (!isAppearing) {\n // This line forces the browser to recalculate the layout because we want the starting state in the 'enter' style\n // to be applied before the animation starts.\n void transitionRootElement.current?.offsetHeight;\n\n if (transitionChangeDelay?.entering) {\n setTimeout(() => {\n setTransitionState('entering');\n onStatusChange('entering');\n }, transitionChangeDelay?.entering);\n } else {\n setTransitionState('entering');\n onStatusChange('entering');\n }\n }\n }}\n onEntered={isAppearing => {\n if (!isAppearing) {\n setTransitionState('entered');\n onStatusChange('entered');\n }\n }}\n onExit={() => {\n setTransitionState('exit');\n onStatusChange('exit');\n }}\n onExiting={() => {\n setTransitionState('exiting');\n onStatusChange('exiting');\n }}\n onExited={() => {\n setTransitionState('exited');\n onStatusChange('exited');\n }}\n {...rest}\n >\n {() => children(transitionState, transitionRootElement)}\n </ReactTransitionGroupTransition>\n );\n}\n"]}