@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,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, { useImperativeHandle, useRef, useState } from 'react';
@@ -14,26 +14,26 @@ import { useMergeRefs } from '../internal/hooks/use-merge-refs';
14
14
  import { useUniqueId } from '../internal/hooks/use-unique-id';
15
15
  import { usePrevious } from '../internal/hooks/use-previous';
16
16
  import LiveRegion from '../internal/components/live-region';
17
- var InternalAttributeEditor = React.forwardRef(function (_a, ref) {
18
- var additionalInfo = _a.additionalInfo, disableAddButton = _a.disableAddButton, definition = _a.definition, items = _a.items, _b = _a.isItemRemovable, isItemRemovable = _b === void 0 ? function () { return true; } : _b, empty = _a.empty, addButtonText = _a.addButtonText, removeButtonText = _a.removeButtonText, i18nStrings = _a.i18nStrings, onAddButtonClick = _a.onAddButtonClick, onRemoveButtonClick = _a.onRemoveButtonClick, _c = _a.__internalRootRef, __internalRootRef = _c === void 0 ? null : _c, props = __rest(_a, ["additionalInfo", "disableAddButton", "definition", "items", "isItemRemovable", "empty", "addButtonText", "removeButtonText", "i18nStrings", "onAddButtonClick", "onRemoveButtonClick", "__internalRootRef"]);
19
- var _d = useContainerBreakpoints(['default', 'xxs', 'xs']), breakpoint = _d[0], breakpointRef = _d[1];
20
- var removeButtonRefs = useRef([]);
21
- var wasNonEmpty = useRef(false);
22
- var _e = useState(''), removalAnnouncement = _e[0], setRemovalAnnouncement = _e[1];
23
- var baseProps = getBaseProps(props);
24
- var isEmpty = items && items.length === 0;
17
+ const InternalAttributeEditor = React.forwardRef((_a, ref) => {
18
+ var { additionalInfo, disableAddButton, definition, items, isItemRemovable = () => true, empty, addButtonText, removeButtonText, i18nStrings, onAddButtonClick, onRemoveButtonClick, __internalRootRef = null } = _a, props = __rest(_a, ["additionalInfo", "disableAddButton", "definition", "items", "isItemRemovable", "empty", "addButtonText", "removeButtonText", "i18nStrings", "onAddButtonClick", "onRemoveButtonClick", "__internalRootRef"]);
19
+ const [breakpoint, breakpointRef] = useContainerBreakpoints(['default', 'xxs', 'xs']);
20
+ const removeButtonRefs = useRef([]);
21
+ const wasNonEmpty = useRef(false);
22
+ const [removalAnnouncement, setRemovalAnnouncement] = useState('');
23
+ const baseProps = getBaseProps(props);
24
+ const isEmpty = items && items.length === 0;
25
25
  wasNonEmpty.current = wasNonEmpty.current || !isEmpty;
26
- useImperativeHandle(ref, function () { return ({
27
- focusRemoveButton: function (rowIndex) {
26
+ useImperativeHandle(ref, () => ({
27
+ focusRemoveButton(rowIndex) {
28
28
  var _a;
29
29
  (_a = removeButtonRefs.current[rowIndex]) === null || _a === void 0 ? void 0 : _a.focus();
30
- }
31
- }); });
32
- var mergedRef = useMergeRefs(breakpointRef, __internalRootRef);
33
- var additionalInfoId = useUniqueId('attribute-editor-info');
34
- var infoAriaDescribedBy = additionalInfo ? additionalInfoId : undefined;
35
- var prevItemsLength = usePrevious(items.length);
36
- React.useEffect(function () {
30
+ },
31
+ }));
32
+ const mergedRef = useMergeRefs(breakpointRef, __internalRootRef);
33
+ const additionalInfoId = useUniqueId('attribute-editor-info');
34
+ const infoAriaDescribedBy = additionalInfo ? additionalInfoId : undefined;
35
+ const prevItemsLength = usePrevious(items.length);
36
+ React.useEffect(() => {
37
37
  if (prevItemsLength && prevItemsLength > items.length && (i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.itemRemovedAriaLive)) {
38
38
  setRemovalAnnouncement(i18nStrings.itemRemovedAriaLive);
39
39
  }
@@ -43,10 +43,10 @@ var InternalAttributeEditor = React.forwardRef(function (_a, ref) {
43
43
  // we only want to announce when the number of items decreases (i.e. when an item is removed)
44
44
  // eslint-disable-next-line react-hooks/exhaustive-deps
45
45
  }, [items, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.itemRemovedAriaLive]);
46
- return (React.createElement("div", __assign({}, baseProps, { ref: mergedRef, className: clsx(baseProps.className, styles.root) }),
46
+ return (React.createElement("div", Object.assign({}, baseProps, { ref: mergedRef, className: clsx(baseProps.className, styles.root) }),
47
47
  React.createElement(InternalBox, { margin: { bottom: 'l' } },
48
48
  isEmpty && React.createElement("div", { className: clsx(styles.empty, wasNonEmpty.current && styles['empty-appear']) }, empty),
49
- items.map(function (item, index) { return (React.createElement(Row, { key: index, index: index, breakpoint: breakpoint, item: item, definition: definition, i18nStrings: i18nStrings, removable: isItemRemovable(item), removeButtonText: removeButtonText, removeButtonRefs: removeButtonRefs.current, onRemoveButtonClick: onRemoveButtonClick })); })),
49
+ items.map((item, index) => (React.createElement(Row, { key: index, index: index, breakpoint: breakpoint, item: item, definition: definition, i18nStrings: i18nStrings, removable: isItemRemovable(item), removeButtonText: removeButtonText, removeButtonRefs: removeButtonRefs.current, onRemoveButtonClick: onRemoveButtonClick })))),
50
50
  React.createElement(InternalButton, { className: styles['add-button'], disabled: disableAddButton, onClick: onAddButtonClick, formAction: "none", __nativeAttributes: { 'aria-describedby': infoAriaDescribedBy } }, addButtonText),
51
51
  React.createElement(LiveRegion, { "data-testid": "removal-announcement", delay: 5, key: items.length }, removalAnnouncement),
52
52
  !!additionalInfo && React.createElement(AdditionalInfo, { id: infoAriaDescribedBy }, additionalInfo)));
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/attribute-editor/internal.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, { useImperativeHandle, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { getBaseProps } from '../internal/base-component';\n\nimport { ButtonProps } from '../button/interfaces';\nimport { InternalButton } from '../button/internal';\n\nimport { AttributeEditorForwardRefType, AttributeEditorProps } from './interfaces';\nimport { AdditionalInfo } from './additional-info';\nimport { Row } from './row';\n\nimport styles from './styles.css.js';\nimport { useContainerBreakpoints } from '../internal/hooks/container-queries';\nimport InternalBox from '../box/internal';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { SomeRequired } from '../internal/types';\nimport { useUniqueId } from '../internal/hooks/use-unique-id';\nimport { usePrevious } from '../internal/hooks/use-previous';\nimport LiveRegion from '../internal/components/live-region';\n\ntype InternalAttributeEditorProps<T> = SomeRequired<AttributeEditorProps<T>, 'items'> & InternalBaseComponentProps;\n\nconst InternalAttributeEditor = React.forwardRef(\n <T,>(\n {\n additionalInfo,\n disableAddButton,\n definition,\n items,\n isItemRemovable = () => true,\n empty,\n addButtonText,\n removeButtonText,\n i18nStrings,\n onAddButtonClick,\n onRemoveButtonClick,\n __internalRootRef = null,\n ...props\n }: InternalAttributeEditorProps<T>,\n ref: React.Ref<AttributeEditorProps.Ref>\n ) => {\n const [breakpoint, breakpointRef] = useContainerBreakpoints(['default', 'xxs', 'xs']);\n const removeButtonRefs = useRef<Array<ButtonProps.Ref | undefined>>([]);\n const wasNonEmpty = useRef<boolean>(false);\n const [removalAnnouncement, setRemovalAnnouncement] = useState<string>('');\n\n const baseProps = getBaseProps(props);\n const isEmpty = items && items.length === 0;\n\n wasNonEmpty.current = wasNonEmpty.current || !isEmpty;\n\n useImperativeHandle(ref, () => ({\n focusRemoveButton(rowIndex: number) {\n removeButtonRefs.current[rowIndex]?.focus();\n },\n }));\n\n const mergedRef = useMergeRefs(breakpointRef, __internalRootRef);\n\n const additionalInfoId = useUniqueId('attribute-editor-info');\n const infoAriaDescribedBy = additionalInfo ? additionalInfoId : undefined;\n\n const prevItemsLength = usePrevious(items.length);\n\n React.useEffect(() => {\n if (prevItemsLength && prevItemsLength > items.length && i18nStrings?.itemRemovedAriaLive) {\n setRemovalAnnouncement(i18nStrings.itemRemovedAriaLive);\n } else {\n setRemovalAnnouncement('');\n }\n // we only want to announce when the number of items decreases (i.e. when an item is removed)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items, i18nStrings?.itemRemovedAriaLive]);\n\n return (\n <div {...baseProps} ref={mergedRef} className={clsx(baseProps.className, styles.root)}>\n <InternalBox margin={{ bottom: 'l' }}>\n {isEmpty && <div className={clsx(styles.empty, wasNonEmpty.current && styles['empty-appear'])}>{empty}</div>}\n {items.map((item, index) => (\n <Row\n key={index}\n index={index}\n breakpoint={breakpoint}\n item={item}\n definition={definition}\n i18nStrings={i18nStrings}\n removable={isItemRemovable(item)}\n removeButtonText={removeButtonText}\n removeButtonRefs={removeButtonRefs.current}\n onRemoveButtonClick={onRemoveButtonClick}\n />\n ))}\n </InternalBox>\n\n <InternalButton\n className={styles['add-button']}\n disabled={disableAddButton}\n onClick={onAddButtonClick}\n formAction=\"none\"\n __nativeAttributes={{ 'aria-describedby': infoAriaDescribedBy }}\n >\n {addButtonText}\n </InternalButton>\n <LiveRegion data-testid=\"removal-announcement\" delay={5} key={items.length}>\n {removalAnnouncement}\n </LiveRegion>\n {!!additionalInfo && <AdditionalInfo id={infoAriaDescribedBy}>{additionalInfo}</AdditionalInfo>}\n </div>\n );\n }\n) as AttributeEditorForwardRefType;\n\nexport default InternalAttributeEditor;\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/attribute-editor/internal.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, { useImperativeHandle, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { getBaseProps } from '../internal/base-component';\n\nimport { ButtonProps } from '../button/interfaces';\nimport { InternalButton } from '../button/internal';\n\nimport { AttributeEditorForwardRefType, AttributeEditorProps } from './interfaces';\nimport { AdditionalInfo } from './additional-info';\nimport { Row } from './row';\n\nimport styles from './styles.css.js';\nimport { useContainerBreakpoints } from '../internal/hooks/container-queries';\nimport InternalBox from '../box/internal';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { SomeRequired } from '../internal/types';\nimport { useUniqueId } from '../internal/hooks/use-unique-id';\nimport { usePrevious } from '../internal/hooks/use-previous';\nimport LiveRegion from '../internal/components/live-region';\n\ntype InternalAttributeEditorProps<T> = SomeRequired<AttributeEditorProps<T>, 'items'> & InternalBaseComponentProps;\n\nconst InternalAttributeEditor = React.forwardRef(\n <T,>(\n {\n additionalInfo,\n disableAddButton,\n definition,\n items,\n isItemRemovable = () => true,\n empty,\n addButtonText,\n removeButtonText,\n i18nStrings,\n onAddButtonClick,\n onRemoveButtonClick,\n __internalRootRef = null,\n ...props\n }: InternalAttributeEditorProps<T>,\n ref: React.Ref<AttributeEditorProps.Ref>\n ) => {\n const [breakpoint, breakpointRef] = useContainerBreakpoints(['default', 'xxs', 'xs']);\n const removeButtonRefs = useRef<Array<ButtonProps.Ref | undefined>>([]);\n const wasNonEmpty = useRef<boolean>(false);\n const [removalAnnouncement, setRemovalAnnouncement] = useState<string>('');\n\n const baseProps = getBaseProps(props);\n const isEmpty = items && items.length === 0;\n\n wasNonEmpty.current = wasNonEmpty.current || !isEmpty;\n\n useImperativeHandle(ref, () => ({\n focusRemoveButton(rowIndex: number) {\n removeButtonRefs.current[rowIndex]?.focus();\n },\n }));\n\n const mergedRef = useMergeRefs(breakpointRef, __internalRootRef);\n\n const additionalInfoId = useUniqueId('attribute-editor-info');\n const infoAriaDescribedBy = additionalInfo ? additionalInfoId : undefined;\n\n const prevItemsLength = usePrevious(items.length);\n\n React.useEffect(() => {\n if (prevItemsLength && prevItemsLength > items.length && i18nStrings?.itemRemovedAriaLive) {\n setRemovalAnnouncement(i18nStrings.itemRemovedAriaLive);\n } else {\n setRemovalAnnouncement('');\n }\n // we only want to announce when the number of items decreases (i.e. when an item is removed)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items, i18nStrings?.itemRemovedAriaLive]);\n\n return (\n <div {...baseProps} ref={mergedRef} className={clsx(baseProps.className, styles.root)}>\n <InternalBox margin={{ bottom: 'l' }}>\n {isEmpty && <div className={clsx(styles.empty, wasNonEmpty.current && styles['empty-appear'])}>{empty}</div>}\n {items.map((item, index) => (\n <Row\n key={index}\n index={index}\n breakpoint={breakpoint}\n item={item}\n definition={definition}\n i18nStrings={i18nStrings}\n removable={isItemRemovable(item)}\n removeButtonText={removeButtonText}\n removeButtonRefs={removeButtonRefs.current}\n onRemoveButtonClick={onRemoveButtonClick}\n />\n ))}\n </InternalBox>\n\n <InternalButton\n className={styles['add-button']}\n disabled={disableAddButton}\n onClick={onAddButtonClick}\n formAction=\"none\"\n __nativeAttributes={{ 'aria-describedby': infoAriaDescribedBy }}\n >\n {addButtonText}\n </InternalButton>\n <LiveRegion data-testid=\"removal-announcement\" delay={5} key={items.length}>\n {removalAnnouncement}\n </LiveRegion>\n {!!additionalInfo && <AdditionalInfo id={infoAriaDescribedBy}>{additionalInfo}</AdditionalInfo>}\n </div>\n );\n }\n) as AttributeEditorForwardRefType;\n\nexport default InternalAttributeEditor;\n"]}
@@ -10,40 +10,32 @@ import InternalGrid from '../grid/internal';
10
10
  import { InternalButton } from '../button/internal';
11
11
  import clsx from 'clsx';
12
12
  import { generateUniqueId } from '../internal/hooks/use-unique-id';
13
- var Divider = function () { return React.createElement(InternalBox, { className: styles.divider, padding: { top: 'l' } }); };
13
+ const Divider = () => React.createElement(InternalBox, { className: styles.divider, padding: { top: 'l' } });
14
14
  function render(item, itemIndex, slot) {
15
15
  return typeof slot === 'function' ? slot(item, itemIndex) : slot;
16
16
  }
17
- var GRID_DEFINITION = [{ colspan: { "default": 12, xs: 9 } }];
18
- var REMOVABLE_GRID_DEFINITION = [{ colspan: { "default": 12, xs: 9 } }, { colspan: { "default": 12, xs: 3 } }];
19
- export var Row = React.memo(function (_a) {
20
- var breakpoint = _a.breakpoint, item = _a.item, definition = _a.definition, _b = _a.i18nStrings, i18nStrings = _b === void 0 ? {} : _b, index = _a.index, removable = _a.removable, removeButtonText = _a.removeButtonText, removeButtonRefs = _a.removeButtonRefs, onRemoveButtonClick = _a.onRemoveButtonClick;
21
- var isNarrowViewport = breakpoint === 'default' || breakpoint === 'xxs';
22
- var isWideViewport = !isNarrowViewport;
23
- var handleRemoveClick = useCallback(function () {
17
+ const GRID_DEFINITION = [{ colspan: { default: 12, xs: 9 } }];
18
+ const REMOVABLE_GRID_DEFINITION = [{ colspan: { default: 12, xs: 9 } }, { colspan: { default: 12, xs: 3 } }];
19
+ export const Row = React.memo(({ breakpoint, item, definition, i18nStrings = {}, index, removable, removeButtonText, removeButtonRefs, onRemoveButtonClick, }) => {
20
+ const isNarrowViewport = breakpoint === 'default' || breakpoint === 'xxs';
21
+ const isWideViewport = !isNarrowViewport;
22
+ const handleRemoveClick = useCallback(() => {
24
23
  fireNonCancelableEvent(onRemoveButtonClick, { itemIndex: index });
25
24
  }, [onRemoveButtonClick, index]);
26
- var firstControlId = generateUniqueId('first-control-id-');
25
+ const firstControlId = generateUniqueId('first-control-id-');
27
26
  return (React.createElement(InternalBox, { className: styles.row, margin: { bottom: 's' } },
28
- React.createElement("div", { role: "group", "aria-labelledby": "".concat(firstControlId, "-label ").concat(firstControlId) },
27
+ React.createElement("div", { role: "group", "aria-labelledby": `${firstControlId}-label ${firstControlId}` },
29
28
  React.createElement(InternalGrid, { __breakpoint: breakpoint, gridDefinition: removable ? REMOVABLE_GRID_DEFINITION : GRID_DEFINITION },
30
- React.createElement(InternalColumnLayout, { className: styles['row-control'], columns: definition.length, __breakpoint: breakpoint }, definition.map(function (_a, defIndex) {
31
- var info = _a.info, label = _a.label, constraintText = _a.constraintText, errorText = _a.errorText, control = _a.control;
32
- return (React.createElement(InternalFormField, { key: defIndex, className: styles.field, label: label, info: info, constraintText: render(item, index, constraintText), errorText: render(item, index, errorText), stretch: true, i18nStrings: { errorIconAriaLabel: i18nStrings.errorIconAriaLabel }, __hideLabel: isWideViewport && index > 0, controlId: defIndex === 0 ? firstControlId : undefined }, render(item, index, control)));
33
- })),
34
- removable && (React.createElement(ButtonContainer, { index: index, isNarrowViewport: isNarrowViewport, hasLabel: definition.some(function (row) { return row.label; }) },
35
- React.createElement(InternalButton, { className: styles['remove-button'], formAction: "none", ref: function (ref) {
29
+ React.createElement(InternalColumnLayout, { className: styles['row-control'], columns: definition.length, __breakpoint: breakpoint }, definition.map(({ info, label, constraintText, errorText, control }, defIndex) => (React.createElement(InternalFormField, { key: defIndex, className: styles.field, label: label, info: info, constraintText: render(item, index, constraintText), errorText: render(item, index, errorText), stretch: true, i18nStrings: { errorIconAriaLabel: i18nStrings.errorIconAriaLabel }, __hideLabel: isWideViewport && index > 0, controlId: defIndex === 0 ? firstControlId : undefined }, render(item, index, control))))),
30
+ removable && (React.createElement(ButtonContainer, { index: index, isNarrowViewport: isNarrowViewport, hasLabel: definition.some(row => row.label) },
31
+ React.createElement(InternalButton, { className: styles['remove-button'], formAction: "none", ref: ref => {
36
32
  removeButtonRefs[index] = ref !== null && ref !== void 0 ? ref : undefined;
37
33
  }, onClick: handleRemoveClick }, removeButtonText))))),
38
34
  isNarrowViewport && React.createElement(Divider, null)));
39
35
  });
40
- var ButtonContainer = function (_a) {
41
- var _b;
42
- var index = _a.index, children = _a.children, isNarrowViewport = _a.isNarrowViewport, hasLabel = _a.hasLabel;
43
- return (React.createElement("div", { className: clsx((_b = {},
44
- _b[styles['button-container-haslabel']] = !isNarrowViewport && index === 0 && hasLabel,
45
- _b[styles['button-container-nolabel']] = !isNarrowViewport && index === 0 && !hasLabel,
46
- _b[styles['right-align']] = isNarrowViewport,
47
- _b)) }, children));
48
- };
36
+ const ButtonContainer = ({ index, children, isNarrowViewport, hasLabel }) => (React.createElement("div", { className: clsx({
37
+ [styles['button-container-haslabel']]: !isNarrowViewport && index === 0 && hasLabel,
38
+ [styles['button-container-nolabel']]: !isNarrowViewport && index === 0 && !hasLabel,
39
+ [styles['right-align']]: isNarrowViewport,
40
+ }) }, children));
49
41
  //# sourceMappingURL=row.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"row.js","sourceRoot":"","sources":["../../../src/attribute-editor/row.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 InternalBox from '../box/internal';\nimport styles from './styles.css.js';\nimport React, { useCallback } from 'react';\nimport InternalFormField from '../form-field/internal';\nimport InternalColumnLayout, { ColumnLayoutBreakpoint } from '../column-layout/internal';\nimport { AttributeEditorProps } from './interfaces';\nimport { ButtonProps } from '../button/interfaces';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../internal/events';\nimport InternalGrid from '../grid/internal';\nimport { InternalButton } from '../button/internal';\nimport clsx from 'clsx';\nimport { generateUniqueId } from '../internal/hooks/use-unique-id';\n\nconst Divider = () => <InternalBox className={styles.divider} padding={{ top: 'l' }} />;\n\nexport interface RowProps<T> {\n breakpoint: ColumnLayoutBreakpoint | null;\n item: T;\n definition: ReadonlyArray<AttributeEditorProps.FieldDefinition<T>>;\n i18nStrings: AttributeEditorProps.I18nStrings | undefined;\n index: number;\n removable: boolean;\n removeButtonText: string;\n removeButtonRefs: Array<ButtonProps.Ref | undefined>;\n onRemoveButtonClick?: NonCancelableEventHandler<AttributeEditorProps.RemoveButtonClickDetail>;\n}\n\nfunction render<T>(\n item: T,\n itemIndex: number,\n slot: AttributeEditorProps.FieldRenderable<T> | React.ReactNode | undefined\n) {\n return typeof slot === 'function' ? slot(item, itemIndex) : slot;\n}\n\nconst GRID_DEFINITION = [{ colspan: { default: 12, xs: 9 } }];\nconst REMOVABLE_GRID_DEFINITION = [{ colspan: { default: 12, xs: 9 } }, { colspan: { default: 12, xs: 3 } }];\nexport const Row = React.memo(\n <T,>({\n breakpoint,\n item,\n definition,\n i18nStrings = {},\n index,\n removable,\n removeButtonText,\n removeButtonRefs,\n onRemoveButtonClick,\n }: RowProps<T>) => {\n const isNarrowViewport = breakpoint === 'default' || breakpoint === 'xxs';\n const isWideViewport = !isNarrowViewport;\n\n const handleRemoveClick = useCallback(() => {\n fireNonCancelableEvent(onRemoveButtonClick, { itemIndex: index });\n }, [onRemoveButtonClick, index]);\n\n const firstControlId = generateUniqueId('first-control-id-');\n\n return (\n <InternalBox className={styles.row} margin={{ bottom: 's' }}>\n <div role=\"group\" aria-labelledby={`${firstControlId}-label ${firstControlId}`}>\n <InternalGrid\n __breakpoint={breakpoint}\n gridDefinition={removable ? REMOVABLE_GRID_DEFINITION : GRID_DEFINITION}\n >\n <InternalColumnLayout\n className={styles['row-control']}\n columns={definition.length}\n __breakpoint={breakpoint}\n >\n {definition.map(({ info, label, constraintText, errorText, control }, defIndex) => (\n <InternalFormField\n key={defIndex}\n className={styles.field}\n label={label}\n info={info}\n constraintText={render(item, index, constraintText)}\n errorText={render(item, index, errorText)}\n stretch={true}\n i18nStrings={{ errorIconAriaLabel: i18nStrings.errorIconAriaLabel }}\n __hideLabel={isWideViewport && index > 0}\n controlId={defIndex === 0 ? firstControlId : undefined}\n >\n {render(item, index, control)}\n </InternalFormField>\n ))}\n </InternalColumnLayout>\n {removable && (\n <ButtonContainer\n index={index}\n isNarrowViewport={isNarrowViewport}\n hasLabel={definition.some(row => row.label)}\n >\n <InternalButton\n className={styles['remove-button']}\n formAction=\"none\"\n ref={ref => {\n removeButtonRefs[index] = ref ?? undefined;\n }}\n onClick={handleRemoveClick}\n >\n {removeButtonText}\n </InternalButton>\n </ButtonContainer>\n )}\n </InternalGrid>\n </div>\n {isNarrowViewport && <Divider />}\n </InternalBox>\n );\n }\n);\n\ninterface ButtonContainer {\n index: number;\n children: React.ReactNode;\n isNarrowViewport: boolean;\n hasLabel: boolean;\n}\n\nconst ButtonContainer = ({ index, children, isNarrowViewport, hasLabel }: ButtonContainer) => (\n <div\n className={clsx({\n [styles['button-container-haslabel']]: !isNarrowViewport && index === 0 && hasLabel,\n [styles['button-container-nolabel']]: !isNarrowViewport && index === 0 && !hasLabel,\n [styles['right-align']]: isNarrowViewport,\n })}\n >\n {children}\n </div>\n);\n"]}
1
+ {"version":3,"file":"row.js","sourceRoot":"","sources":["../../../src/attribute-editor/row.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 InternalBox from '../box/internal';\nimport styles from './styles.css.js';\nimport React, { useCallback } from 'react';\nimport InternalFormField from '../form-field/internal';\nimport InternalColumnLayout, { ColumnLayoutBreakpoint } from '../column-layout/internal';\nimport { AttributeEditorProps } from './interfaces';\nimport { ButtonProps } from '../button/interfaces';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../internal/events';\nimport InternalGrid from '../grid/internal';\nimport { InternalButton } from '../button/internal';\nimport clsx from 'clsx';\nimport { generateUniqueId } from '../internal/hooks/use-unique-id';\n\nconst Divider = () => <InternalBox className={styles.divider} padding={{ top: 'l' }} />;\n\nexport interface RowProps<T> {\n breakpoint: ColumnLayoutBreakpoint | null;\n item: T;\n definition: ReadonlyArray<AttributeEditorProps.FieldDefinition<T>>;\n i18nStrings: AttributeEditorProps.I18nStrings | undefined;\n index: number;\n removable: boolean;\n removeButtonText: string;\n removeButtonRefs: Array<ButtonProps.Ref | undefined>;\n onRemoveButtonClick?: NonCancelableEventHandler<AttributeEditorProps.RemoveButtonClickDetail>;\n}\n\nfunction render<T>(\n item: T,\n itemIndex: number,\n slot: AttributeEditorProps.FieldRenderable<T> | React.ReactNode | undefined\n) {\n return typeof slot === 'function' ? slot(item, itemIndex) : slot;\n}\n\nconst GRID_DEFINITION = [{ colspan: { default: 12, xs: 9 } }];\nconst REMOVABLE_GRID_DEFINITION = [{ colspan: { default: 12, xs: 9 } }, { colspan: { default: 12, xs: 3 } }];\nexport const Row = React.memo(\n <T,>({\n breakpoint,\n item,\n definition,\n i18nStrings = {},\n index,\n removable,\n removeButtonText,\n removeButtonRefs,\n onRemoveButtonClick,\n }: RowProps<T>) => {\n const isNarrowViewport = breakpoint === 'default' || breakpoint === 'xxs';\n const isWideViewport = !isNarrowViewport;\n\n const handleRemoveClick = useCallback(() => {\n fireNonCancelableEvent(onRemoveButtonClick, { itemIndex: index });\n }, [onRemoveButtonClick, index]);\n\n const firstControlId = generateUniqueId('first-control-id-');\n\n return (\n <InternalBox className={styles.row} margin={{ bottom: 's' }}>\n <div role=\"group\" aria-labelledby={`${firstControlId}-label ${firstControlId}`}>\n <InternalGrid\n __breakpoint={breakpoint}\n gridDefinition={removable ? REMOVABLE_GRID_DEFINITION : GRID_DEFINITION}\n >\n <InternalColumnLayout\n className={styles['row-control']}\n columns={definition.length}\n __breakpoint={breakpoint}\n >\n {definition.map(({ info, label, constraintText, errorText, control }, defIndex) => (\n <InternalFormField\n key={defIndex}\n className={styles.field}\n label={label}\n info={info}\n constraintText={render(item, index, constraintText)}\n errorText={render(item, index, errorText)}\n stretch={true}\n i18nStrings={{ errorIconAriaLabel: i18nStrings.errorIconAriaLabel }}\n __hideLabel={isWideViewport && index > 0}\n controlId={defIndex === 0 ? firstControlId : undefined}\n >\n {render(item, index, control)}\n </InternalFormField>\n ))}\n </InternalColumnLayout>\n {removable && (\n <ButtonContainer\n index={index}\n isNarrowViewport={isNarrowViewport}\n hasLabel={definition.some(row => row.label)}\n >\n <InternalButton\n className={styles['remove-button']}\n formAction=\"none\"\n ref={ref => {\n removeButtonRefs[index] = ref ?? undefined;\n }}\n onClick={handleRemoveClick}\n >\n {removeButtonText}\n </InternalButton>\n </ButtonContainer>\n )}\n </InternalGrid>\n </div>\n {isNarrowViewport && <Divider />}\n </InternalBox>\n );\n }\n);\n\ninterface ButtonContainer {\n index: number;\n children: React.ReactNode;\n isNarrowViewport: boolean;\n hasLabel: boolean;\n}\n\nconst ButtonContainer = ({ index, children, isNarrowViewport, hasLabel }: ButtonContainer) => (\n <div\n className={clsx({\n [styles['button-container-haslabel']]: !isNarrowViewport && index === 0 && hasLabel,\n [styles['button-container-nolabel']]: !isNarrowViewport && index === 0 && !hasLabel,\n [styles['right-align']]: isNarrowViewport,\n })}\n >\n {children}\n </div>\n);\n"]}
@@ -1,4 +1,4 @@
1
- import { __assign, __rest } from "tslib";
1
+ import { __rest } from "tslib";
2
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  import React from 'react';
@@ -7,14 +7,14 @@ import SelectableItem from '../internal/components/selectable-item';
7
7
  import { getBaseProps } from '../internal/base-component';
8
8
  import { getTestOptionIndexes } from '../internal/components/options-list/utils/test-indexes';
9
9
  import styles from './styles.css.js';
10
- var AutosuggestOption = function (_a, ref) {
11
- var _b = _a.nativeAttributes, nativeAttributes = _b === void 0 ? {} : _b, highlightText = _a.highlightText, option = _a.option, highlighted = _a.highlighted, highlightType = _a.highlightType, current = _a.current, enteredTextLabel = _a.enteredTextLabel, virtualPosition = _a.virtualPosition, padBottom = _a.padBottom, screenReaderContent = _a.screenReaderContent, ariaSetsize = _a.ariaSetsize, ariaPosinset = _a.ariaPosinset, rest = __rest(_a, ["nativeAttributes", "highlightText", "option", "highlighted", "highlightType", "current", "enteredTextLabel", "virtualPosition", "padBottom", "screenReaderContent", "ariaSetsize", "ariaPosinset"]);
12
- var baseProps = getBaseProps(rest);
13
- var useEntered = 'type' in option && option.type === 'use-entered';
14
- var isParent = 'type' in option && option.type === 'parent';
15
- var isChild = 'type' in option && option.type === 'child';
16
- var _c = getTestOptionIndexes(option) || {}, throughIndex = _c.throughIndex, inGroupIndex = _c.inGroupIndex, groupIndex = _c.groupIndex;
17
- var optionContent;
10
+ const AutosuggestOption = (_a, ref) => {
11
+ var { nativeAttributes = {}, highlightText, option, highlighted, highlightType, current, enteredTextLabel, virtualPosition, padBottom, screenReaderContent, ariaSetsize, ariaPosinset } = _a, rest = __rest(_a, ["nativeAttributes", "highlightText", "option", "highlighted", "highlightType", "current", "enteredTextLabel", "virtualPosition", "padBottom", "screenReaderContent", "ariaSetsize", "ariaPosinset"]);
12
+ const baseProps = getBaseProps(rest);
13
+ const useEntered = 'type' in option && option.type === 'use-entered';
14
+ const isParent = 'type' in option && option.type === 'parent';
15
+ const isChild = 'type' in option && option.type === 'child';
16
+ const { throughIndex, inGroupIndex, groupIndex } = getTestOptionIndexes(option) || {};
17
+ let optionContent;
18
18
  if (useEntered) {
19
19
  optionContent = enteredTextLabel(option.value || '');
20
20
  // we don't want fancy generated content for screenreader for the "Use..." option,
@@ -25,14 +25,14 @@ var AutosuggestOption = function (_a, ref) {
25
25
  optionContent = option.label;
26
26
  }
27
27
  else {
28
- var a11yProperties = {};
28
+ const a11yProperties = {};
29
29
  if (nativeAttributes['aria-label']) {
30
30
  a11yProperties['aria-label'] = nativeAttributes['aria-label'];
31
31
  }
32
- optionContent = (React.createElement("div", __assign({}, a11yProperties),
32
+ optionContent = (React.createElement("div", Object.assign({}, a11yProperties),
33
33
  React.createElement(OptionComponent, { option: option, highlightedOption: highlighted, highlightText: highlightText })));
34
34
  }
35
- return (React.createElement(SelectableItem, __assign({}, baseProps, { className: styles.option, ariaSelected: current, highlighted: highlighted, disabled: option.disabled, hasBackground: useEntered, isParent: isParent, isChild: isChild, virtualPosition: virtualPosition, "data-test-index": throughIndex, "data-in-group-index": inGroupIndex, "data-group-index": groupIndex, ref: ref, padBottom: padBottom, screenReaderContent: screenReaderContent, ariaSetsize: ariaSetsize, ariaPosinset: ariaPosinset, highlightType: highlightType }), optionContent));
35
+ return (React.createElement(SelectableItem, Object.assign({}, baseProps, { className: styles.option, ariaSelected: current, highlighted: highlighted, disabled: option.disabled, hasBackground: useEntered, isParent: isParent, isChild: isChild, virtualPosition: virtualPosition, "data-test-index": throughIndex, "data-in-group-index": inGroupIndex, "data-group-index": groupIndex, ref: ref, padBottom: padBottom, screenReaderContent: screenReaderContent, ariaSetsize: ariaSetsize, ariaPosinset: ariaPosinset, highlightType: highlightType }), optionContent));
36
36
  };
37
37
  export default React.memo(React.forwardRef(AutosuggestOption));
38
38
  //# sourceMappingURL=autosuggest-option.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"autosuggest-option.js","sourceRoot":"","sources":["../../../src/autosuggest/autosuggest-option.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,cAAc,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAsB,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AAE9F,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAmBrC,IAAM,iBAAiB,GAAG,UACxB,EAcyB,EACzB,GAA8B;IAd5B,IAAA,wBAAqB,EAArB,gBAAgB,mBAAG,EAAE,KAAA,EACrB,aAAa,mBAAA,EACb,MAAM,YAAA,EACN,WAAW,iBAAA,EACX,aAAa,mBAAA,EACb,OAAO,aAAA,EACP,gBAAgB,sBAAA,EAChB,eAAe,qBAAA,EACf,SAAS,eAAA,EACT,mBAAmB,yBAAA,EACnB,WAAW,iBAAA,EACX,YAAY,kBAAA,EACT,IAAI,cAbT,oMAcC,CADQ;IAIT,IAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,IAAM,UAAU,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC;IACrE,IAAM,QAAQ,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;IAC9D,IAAM,OAAO,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC;IACtD,IAAA,KAA6C,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,EAA7E,YAAY,kBAAA,EAAE,YAAY,kBAAA,EAAE,UAAU,gBAAuC,CAAC;IAEtF,IAAI,aAAa,CAAC;IAClB,IAAI,UAAU,EAAE;QACd,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACrD,kFAAkF;QAClF,gCAAgC;QAChC,mBAAmB,GAAG,SAAS,CAAC;KACjC;SAAM,IAAI,QAAQ,EAAE;QACnB,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;KAC9B;SAAM;QACL,IAAM,cAAc,GAA+C,EAAE,CAAC;QACtE,IAAI,gBAAgB,CAAC,YAAY,CAAC,EAAE;YAClC,cAAc,CAAC,YAAY,CAAC,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;SAC/D;QAED,aAAa,GAAG,CACd,wCAAS,cAAc;YACrB,oBAAC,eAAe,IAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,GAAI,CAC7F,CACP,CAAC;KACH;IAED,OAAO,CACL,oBAAC,cAAc,eACT,SAAS,IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EACxB,YAAY,EAAE,OAAO,EACrB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,aAAa,EAAE,UAAU,EACzB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,qBACf,YAAY,yBACR,YAAY,sBACf,UAAU,EAC5B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,mBAAmB,EACxC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,KAE3B,aAAa,CACC,CAClB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport OptionComponent from '../internal/components/option';\nimport SelectableItem from '../internal/components/selectable-item';\nimport { BaseComponentProps, getBaseProps } from '../internal/base-component';\nimport { getTestOptionIndexes } from '../internal/components/options-list/utils/test-indexes';\n\nimport styles from './styles.css.js';\nimport { AutosuggestItem } from './interfaces';\nimport { HighlightType } from '../internal/components/options-list/utils/use-highlight-option';\n\nexport interface AutosuggestOptionProps extends BaseComponentProps {\n nativeAttributes?: Record<string, any>;\n highlightText: string;\n option: AutosuggestItem;\n highlighted: boolean;\n highlightType: HighlightType;\n current: boolean;\n enteredTextLabel: (value: string) => string;\n virtualPosition?: number;\n padBottom?: boolean;\n screenReaderContent?: string;\n ariaSetsize?: number;\n ariaPosinset?: number;\n}\n\nconst AutosuggestOption = (\n {\n nativeAttributes = {},\n highlightText,\n option,\n highlighted,\n highlightType,\n current,\n enteredTextLabel,\n virtualPosition,\n padBottom,\n screenReaderContent,\n ariaSetsize,\n ariaPosinset,\n ...rest\n }: AutosuggestOptionProps,\n ref: React.Ref<HTMLDivElement>\n) => {\n const baseProps = getBaseProps(rest);\n const useEntered = 'type' in option && option.type === 'use-entered';\n const isParent = 'type' in option && option.type === 'parent';\n const isChild = 'type' in option && option.type === 'child';\n const { throughIndex, inGroupIndex, groupIndex } = getTestOptionIndexes(option) || {};\n\n let optionContent;\n if (useEntered) {\n optionContent = enteredTextLabel(option.value || '');\n // we don't want fancy generated content for screenreader for the \"Use...\" option,\n // just the visible text is fine\n screenReaderContent = undefined;\n } else if (isParent) {\n optionContent = option.label;\n } else {\n const a11yProperties: AutosuggestOptionProps['nativeAttributes'] = {};\n if (nativeAttributes['aria-label']) {\n a11yProperties['aria-label'] = nativeAttributes['aria-label'];\n }\n\n optionContent = (\n <div {...a11yProperties}>\n <OptionComponent option={option} highlightedOption={highlighted} highlightText={highlightText} />\n </div>\n );\n }\n\n return (\n <SelectableItem\n {...baseProps}\n className={styles.option}\n ariaSelected={current}\n highlighted={highlighted}\n disabled={option.disabled}\n hasBackground={useEntered}\n isParent={isParent}\n isChild={isChild}\n virtualPosition={virtualPosition}\n data-test-index={throughIndex}\n data-in-group-index={inGroupIndex}\n data-group-index={groupIndex}\n ref={ref}\n padBottom={padBottom}\n screenReaderContent={screenReaderContent}\n ariaSetsize={ariaSetsize}\n ariaPosinset={ariaPosinset}\n highlightType={highlightType}\n >\n {optionContent}\n </SelectableItem>\n );\n};\n\nexport default React.memo(React.forwardRef(AutosuggestOption));\n"]}
1
+ {"version":3,"file":"autosuggest-option.js","sourceRoot":"","sources":["../../../src/autosuggest/autosuggest-option.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,cAAc,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAsB,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AAE9F,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAmBrC,MAAM,iBAAiB,GAAG,CACxB,EAcyB,EACzB,GAA8B,EAC9B,EAAE;QAhBF,EACE,gBAAgB,GAAG,EAAE,EACrB,aAAa,EACb,MAAM,EACN,WAAW,EACX,aAAa,EACb,OAAO,EACP,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,WAAW,EACX,YAAY,OAEW,EADpB,IAAI,cAbT,oMAcC,CADQ;IAIT,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC;IACrE,MAAM,QAAQ,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;IAC9D,MAAM,OAAO,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC;IAC5D,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAEtF,IAAI,aAAa,CAAC;IAClB,IAAI,UAAU,EAAE;QACd,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACrD,kFAAkF;QAClF,gCAAgC;QAChC,mBAAmB,GAAG,SAAS,CAAC;KACjC;SAAM,IAAI,QAAQ,EAAE;QACnB,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;KAC9B;SAAM;QACL,MAAM,cAAc,GAA+C,EAAE,CAAC;QACtE,IAAI,gBAAgB,CAAC,YAAY,CAAC,EAAE;YAClC,cAAc,CAAC,YAAY,CAAC,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;SAC/D;QAED,aAAa,GAAG,CACd,6CAAS,cAAc;YACrB,oBAAC,eAAe,IAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,GAAI,CAC7F,CACP,CAAC;KACH;IAED,OAAO,CACL,oBAAC,cAAc,oBACT,SAAS,IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EACxB,YAAY,EAAE,OAAO,EACrB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,aAAa,EAAE,UAAU,EACzB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,qBACf,YAAY,yBACR,YAAY,sBACf,UAAU,EAC5B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,mBAAmB,EACxC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,KAE3B,aAAa,CACC,CAClB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport OptionComponent from '../internal/components/option';\nimport SelectableItem from '../internal/components/selectable-item';\nimport { BaseComponentProps, getBaseProps } from '../internal/base-component';\nimport { getTestOptionIndexes } from '../internal/components/options-list/utils/test-indexes';\n\nimport styles from './styles.css.js';\nimport { AutosuggestItem } from './interfaces';\nimport { HighlightType } from '../internal/components/options-list/utils/use-highlight-option';\n\nexport interface AutosuggestOptionProps extends BaseComponentProps {\n nativeAttributes?: Record<string, any>;\n highlightText: string;\n option: AutosuggestItem;\n highlighted: boolean;\n highlightType: HighlightType;\n current: boolean;\n enteredTextLabel: (value: string) => string;\n virtualPosition?: number;\n padBottom?: boolean;\n screenReaderContent?: string;\n ariaSetsize?: number;\n ariaPosinset?: number;\n}\n\nconst AutosuggestOption = (\n {\n nativeAttributes = {},\n highlightText,\n option,\n highlighted,\n highlightType,\n current,\n enteredTextLabel,\n virtualPosition,\n padBottom,\n screenReaderContent,\n ariaSetsize,\n ariaPosinset,\n ...rest\n }: AutosuggestOptionProps,\n ref: React.Ref<HTMLDivElement>\n) => {\n const baseProps = getBaseProps(rest);\n const useEntered = 'type' in option && option.type === 'use-entered';\n const isParent = 'type' in option && option.type === 'parent';\n const isChild = 'type' in option && option.type === 'child';\n const { throughIndex, inGroupIndex, groupIndex } = getTestOptionIndexes(option) || {};\n\n let optionContent;\n if (useEntered) {\n optionContent = enteredTextLabel(option.value || '');\n // we don't want fancy generated content for screenreader for the \"Use...\" option,\n // just the visible text is fine\n screenReaderContent = undefined;\n } else if (isParent) {\n optionContent = option.label;\n } else {\n const a11yProperties: AutosuggestOptionProps['nativeAttributes'] = {};\n if (nativeAttributes['aria-label']) {\n a11yProperties['aria-label'] = nativeAttributes['aria-label'];\n }\n\n optionContent = (\n <div {...a11yProperties}>\n <OptionComponent option={option} highlightedOption={highlighted} highlightText={highlightText} />\n </div>\n );\n }\n\n return (\n <SelectableItem\n {...baseProps}\n className={styles.option}\n ariaSelected={current}\n highlighted={highlighted}\n disabled={option.disabled}\n hasBackground={useEntered}\n isParent={isParent}\n isChild={isChild}\n virtualPosition={virtualPosition}\n data-test-index={throughIndex}\n data-in-group-index={inGroupIndex}\n data-group-index={groupIndex}\n ref={ref}\n padBottom={padBottom}\n screenReaderContent={screenReaderContent}\n ariaSetsize={ariaSetsize}\n ariaPosinset={ariaPosinset}\n highlightType={highlightType}\n >\n {optionContent}\n </SelectableItem>\n );\n};\n\nexport default React.memo(React.forwardRef(AutosuggestOption));\n"]}
@@ -1,4 +1,4 @@
1
- import { __assign, __rest } from "tslib";
1
+ import { __rest } from "tslib";
2
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  import React from 'react';
@@ -6,11 +6,11 @@ import InternalAutosuggest from './internal';
6
6
  import { getExternalProps } from '../internal/utils/external-props';
7
7
  import { applyDisplayName } from '../internal/utils/apply-display-name';
8
8
  import useBaseComponent from '../internal/hooks/use-base-component';
9
- var Autosuggest = React.forwardRef(function (_a, ref) {
10
- var _b = _a.filteringType, filteringType = _b === void 0 ? 'auto' : _b, _c = _a.statusType, statusType = _c === void 0 ? 'finished' : _c, _d = _a.disableBrowserAutocorrect, disableBrowserAutocorrect = _d === void 0 ? false : _d, props = __rest(_a, ["filteringType", "statusType", "disableBrowserAutocorrect"]);
11
- var baseComponentProps = useBaseComponent('Autosuggest');
12
- var externalProps = getExternalProps(props);
13
- return (React.createElement(InternalAutosuggest, __assign({ filteringType: filteringType, statusType: statusType, disableBrowserAutocorrect: disableBrowserAutocorrect }, externalProps, baseComponentProps, { ref: ref })));
9
+ const Autosuggest = React.forwardRef((_a, ref) => {
10
+ var { filteringType = 'auto', statusType = 'finished', disableBrowserAutocorrect = false } = _a, props = __rest(_a, ["filteringType", "statusType", "disableBrowserAutocorrect"]);
11
+ const baseComponentProps = useBaseComponent('Autosuggest');
12
+ const externalProps = getExternalProps(props);
13
+ return (React.createElement(InternalAutosuggest, Object.assign({ filteringType: filteringType, statusType: statusType, disableBrowserAutocorrect: disableBrowserAutocorrect }, externalProps, baseComponentProps, { ref: ref })));
14
14
  });
15
15
  applyDisplayName(Autosuggest, 'Autosuggest');
16
16
  export default Autosuggest;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/autosuggest/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,mBAAmB,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AAIpE,IAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAClC,UACE,EAAkH,EAClH,GAAoC;IADlC,IAAA,qBAAsB,EAAtB,aAAa,mBAAG,MAAM,KAAA,EAAE,kBAAuB,EAAvB,UAAU,mBAAG,UAAU,KAAA,EAAE,iCAAiC,EAAjC,yBAAyB,mBAAG,KAAK,KAAA,EAAK,KAAK,cAA9F,4DAAgG,CAAF;IAG9F,IAAM,kBAAkB,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC3D,IAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CACL,oBAAC,mBAAmB,aAClB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,yBAAyB,EAAE,yBAAyB,IAChD,aAAa,EACb,kBAAkB,IACtB,GAAG,EAAE,GAAG,IACR,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAC7C,eAAe,WAAW,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport { AutosuggestProps } from './interfaces';\nimport InternalAutosuggest from './internal';\nimport { getExternalProps } from '../internal/utils/external-props';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport useBaseComponent from '../internal/hooks/use-base-component';\n\nexport { AutosuggestProps };\n\nconst Autosuggest = React.forwardRef(\n (\n { filteringType = 'auto', statusType = 'finished', disableBrowserAutocorrect = false, ...props }: AutosuggestProps,\n ref: React.Ref<AutosuggestProps.Ref>\n ) => {\n const baseComponentProps = useBaseComponent('Autosuggest');\n const externalProps = getExternalProps(props);\n return (\n <InternalAutosuggest\n filteringType={filteringType}\n statusType={statusType}\n disableBrowserAutocorrect={disableBrowserAutocorrect}\n {...externalProps}\n {...baseComponentProps}\n ref={ref}\n />\n );\n }\n);\n\napplyDisplayName(Autosuggest, 'Autosuggest');\nexport default Autosuggest;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/autosuggest/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,mBAAmB,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AAIpE,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAClC,CACE,EAAkH,EAClH,GAAoC,EACpC,EAAE;QAFF,EAAE,aAAa,GAAG,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,yBAAyB,GAAG,KAAK,OAA8B,EAAzB,KAAK,cAA9F,4DAAgG,CAAF;IAG9F,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CACL,oBAAC,mBAAmB,kBAClB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,yBAAyB,EAAE,yBAAyB,IAChD,aAAa,EACb,kBAAkB,IACtB,GAAG,EAAE,GAAG,IACR,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAC7C,eAAe,WAAW,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport { AutosuggestProps } from './interfaces';\nimport InternalAutosuggest from './internal';\nimport { getExternalProps } from '../internal/utils/external-props';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport useBaseComponent from '../internal/hooks/use-base-component';\n\nexport { AutosuggestProps };\n\nconst Autosuggest = React.forwardRef(\n (\n { filteringType = 'auto', statusType = 'finished', disableBrowserAutocorrect = false, ...props }: AutosuggestProps,\n ref: React.Ref<AutosuggestProps.Ref>\n ) => {\n const baseComponentProps = useBaseComponent('Autosuggest');\n const externalProps = getExternalProps(props);\n return (\n <InternalAutosuggest\n filteringType={filteringType}\n statusType={statusType}\n disableBrowserAutocorrect={disableBrowserAutocorrect}\n {...externalProps}\n {...baseComponentProps}\n ref={ref}\n />\n );\n }\n);\n\napplyDisplayName(Autosuggest, 'Autosuggest');\nexport default Autosuggest;\n"]}
@@ -1,6 +1,6 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import { __assign, __rest } from "tslib";
3
+ import { __rest } from "tslib";
4
4
  import React, { useImperativeHandle, useRef } from 'react';
5
5
  import { useAutosuggestItems } from './options-controller';
6
6
  import { useDropdownStatus } from '../internal/components/dropdown-status';
@@ -15,82 +15,82 @@ import { useAutosuggestLoadMore } from './load-more-controller';
15
15
  import AutosuggestInput from '../internal/components/autosuggest-input';
16
16
  import { useFormFieldContext } from '../contexts/form-field';
17
17
  import clsx from 'clsx';
18
- var InternalAutosuggest = React.forwardRef(function (props, ref) {
18
+ const InternalAutosuggest = React.forwardRef((props, ref) => {
19
19
  var _a;
20
- var value = props.value, onChange = props.onChange, onBlur = props.onBlur, onFocus = props.onFocus, onKeyUp = props.onKeyUp, onLoadItems = props.onLoadItems, options = props.options, _b = props.filteringType, filteringType = _b === void 0 ? 'auto' : _b, _c = props.statusType, statusType = _c === void 0 ? 'finished' : _c, recoveryText = props.recoveryText, placeholder = props.placeholder, clearAriaLabel = props.clearAriaLabel, name = props.name, disabled = props.disabled, _d = props.disableBrowserAutocorrect, disableBrowserAutocorrect = _d === void 0 ? false : _d, autoFocus = props.autoFocus, readOnly = props.readOnly, ariaLabel = props.ariaLabel, ariaRequired = props.ariaRequired, enteredTextLabel = props.enteredTextLabel, onKeyDown = props.onKeyDown, virtualScroll = props.virtualScroll, expandToViewport = props.expandToViewport, onSelect = props.onSelect, selectedAriaLabel = props.selectedAriaLabel, renderHighlightedAriaLive = props.renderHighlightedAriaLive, __internalRootRef = props.__internalRootRef, restProps = __rest(props, ["value", "onChange", "onBlur", "onFocus", "onKeyUp", "onLoadItems", "options", "filteringType", "statusType", "recoveryText", "placeholder", "clearAriaLabel", "name", "disabled", "disableBrowserAutocorrect", "autoFocus", "readOnly", "ariaLabel", "ariaRequired", "enteredTextLabel", "onKeyDown", "virtualScroll", "expandToViewport", "onSelect", "selectedAriaLabel", "renderHighlightedAriaLive", "__internalRootRef"]);
20
+ const { value, onChange, onBlur, onFocus, onKeyUp, onLoadItems, options, filteringType = 'auto', statusType = 'finished', recoveryText, placeholder, clearAriaLabel, name, disabled, disableBrowserAutocorrect = false, autoFocus, readOnly, ariaLabel, ariaRequired, enteredTextLabel, onKeyDown, virtualScroll, expandToViewport, onSelect, selectedAriaLabel, renderHighlightedAriaLive, __internalRootRef } = props, restProps = __rest(props, ["value", "onChange", "onBlur", "onFocus", "onKeyUp", "onLoadItems", "options", "filteringType", "statusType", "recoveryText", "placeholder", "clearAriaLabel", "name", "disabled", "disableBrowserAutocorrect", "autoFocus", "readOnly", "ariaLabel", "ariaRequired", "enteredTextLabel", "onKeyDown", "virtualScroll", "expandToViewport", "onSelect", "selectedAriaLabel", "renderHighlightedAriaLive", "__internalRootRef"]);
21
21
  checkControlled('Autosuggest', 'value', value, 'onChange', onChange);
22
22
  checkOptionValueField('Autosuggest', 'options', options);
23
- var autosuggestInputRef = useRef(null);
24
- useImperativeHandle(ref, function () { return ({
25
- focus: function () { var _a; return (_a = autosuggestInputRef.current) === null || _a === void 0 ? void 0 : _a.focus(); },
26
- select: function () { var _a; return (_a = autosuggestInputRef.current) === null || _a === void 0 ? void 0 : _a.select(); }
27
- }); }, []);
28
- var _e = useAutosuggestItems({
23
+ const autosuggestInputRef = useRef(null);
24
+ useImperativeHandle(ref, () => ({
25
+ focus: () => { var _a; return (_a = autosuggestInputRef.current) === null || _a === void 0 ? void 0 : _a.focus(); },
26
+ select: () => { var _a; return (_a = autosuggestInputRef.current) === null || _a === void 0 ? void 0 : _a.select(); },
27
+ }), []);
28
+ const [autosuggestItemsState, autosuggestItemsHandlers] = useAutosuggestItems({
29
29
  options: options || [],
30
30
  filterValue: value,
31
31
  filterText: value,
32
- filteringType: filteringType,
32
+ filteringType,
33
33
  hideEnteredTextLabel: false,
34
- onSelectItem: function (option) {
34
+ onSelectItem: (option) => {
35
35
  var _a;
36
- var value = option.value || '';
37
- fireNonCancelableEvent(onChange, { value: value });
38
- fireNonCancelableEvent(onSelect, { value: value });
36
+ const value = option.value || '';
37
+ fireNonCancelableEvent(onChange, { value });
38
+ fireNonCancelableEvent(onSelect, { value });
39
39
  (_a = autosuggestInputRef.current) === null || _a === void 0 ? void 0 : _a.close();
40
- }
41
- }), autosuggestItemsState = _e[0], autosuggestItemsHandlers = _e[1];
42
- var autosuggestLoadMoreHandlers = useAutosuggestLoadMore({
43
- options: options,
44
- statusType: statusType,
45
- onLoadItems: function (detail) { return fireNonCancelableEvent(onLoadItems, detail); }
40
+ },
46
41
  });
47
- var handleChange = function (event) {
42
+ const autosuggestLoadMoreHandlers = useAutosuggestLoadMore({
43
+ options,
44
+ statusType,
45
+ onLoadItems: (detail) => fireNonCancelableEvent(onLoadItems, detail),
46
+ });
47
+ const handleChange = (event) => {
48
48
  autosuggestItemsHandlers.setShowAll(false);
49
49
  autosuggestItemsHandlers.resetHighlightWithKeyboard();
50
50
  fireNonCancelableEvent(onChange, event.detail);
51
51
  };
52
- var handleDelayedInput = function (event) {
52
+ const handleDelayedInput = (event) => {
53
53
  autosuggestLoadMoreHandlers.fireLoadMoreOnInputChange(event.detail.value);
54
54
  };
55
- var handleBlur = function () {
55
+ const handleBlur = () => {
56
56
  fireNonCancelableEvent(onBlur, null);
57
57
  };
58
- var handleFocus = function () {
58
+ const handleFocus = () => {
59
59
  autosuggestItemsHandlers.setShowAll(true);
60
60
  autosuggestLoadMoreHandlers.fireLoadMoreOnInputFocus();
61
61
  fireNonCancelableEvent(onFocus, null);
62
62
  };
63
- var handleKeyUp = function (e) {
63
+ const handleKeyUp = (e) => {
64
64
  fireCancelableEvent(onKeyUp, e.detail);
65
65
  };
66
- var handleKeyDown = function (e) {
66
+ const handleKeyDown = (e) => {
67
67
  fireCancelableEvent(onKeyDown, e.detail);
68
68
  };
69
- var handlePressArrowDown = function () {
69
+ const handlePressArrowDown = () => {
70
70
  autosuggestItemsHandlers.moveHighlightWithKeyboard(1);
71
71
  };
72
- var handlePressArrowUp = function () {
72
+ const handlePressArrowUp = () => {
73
73
  autosuggestItemsHandlers.moveHighlightWithKeyboard(-1);
74
74
  };
75
- var handlePressEnter = function () {
75
+ const handlePressEnter = () => {
76
76
  return autosuggestItemsHandlers.selectHighlightedOptionWithKeyboard();
77
77
  };
78
- var handleCloseDropdown = function () {
78
+ const handleCloseDropdown = () => {
79
79
  autosuggestItemsHandlers.resetHighlightWithKeyboard();
80
80
  };
81
- var handleRecoveryClick = function () {
81
+ const handleRecoveryClick = () => {
82
82
  var _a;
83
83
  autosuggestLoadMoreHandlers.fireLoadMoreOnRecoveryClick();
84
84
  (_a = autosuggestInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
85
85
  };
86
- var formFieldContext = useFormFieldContext(restProps);
87
- var selfControlId = useUniqueId('input');
88
- var controlId = (_a = formFieldContext.controlId) !== null && _a !== void 0 ? _a : selfControlId;
89
- var listId = useUniqueId('list');
90
- var highlightedOptionId = autosuggestItemsState.highlightedOption ? generateUniqueId() : undefined;
91
- var isEmpty = !value && !autosuggestItemsState.items.length;
92
- var dropdownStatus = useDropdownStatus(__assign(__assign({}, props), { isEmpty: isEmpty, recoveryText: recoveryText, onRecoveryClick: handleRecoveryClick }));
93
- return (React.createElement(AutosuggestInput, __assign({}, restProps, { className: clsx(styles.root, restProps.className), ref: autosuggestInputRef, __internalRootRef: __internalRootRef, value: value, onChange: handleChange, onBlur: handleBlur, onFocus: handleFocus, onKeyUp: handleKeyUp, onKeyDown: handleKeyDown, name: name, controlId: controlId, placeholder: placeholder, disabled: disabled, readOnly: readOnly, autoFocus: autoFocus, ariaLabel: ariaLabel, ariaRequired: ariaRequired, clearAriaLabel: clearAriaLabel, disableBrowserAutocorrect: disableBrowserAutocorrect, expandToViewport: expandToViewport, ariaControls: listId, ariaActivedescendant: highlightedOptionId, dropdownExpanded: autosuggestItemsState.items.length > 1 || dropdownStatus.content !== null, dropdownContent: React.createElement(AutosuggestOptionsList, { autosuggestItemsState: autosuggestItemsState, autosuggestItemsHandlers: autosuggestItemsHandlers, highlightedOptionId: highlightedOptionId, highlightText: value, listId: listId, controlId: controlId, enteredTextLabel: enteredTextLabel, handleLoadMore: autosuggestLoadMoreHandlers.fireLoadMoreOnScroll, hasDropdownStatus: dropdownStatus.content !== null, virtualScroll: virtualScroll, selectedAriaLabel: selectedAriaLabel, renderHighlightedAriaLive: renderHighlightedAriaLive, listBottom: !dropdownStatus.isSticky ? React.createElement(DropdownFooter, { content: dropdownStatus.content }) : null }), dropdownFooter: dropdownStatus.isSticky ? (React.createElement(DropdownFooter, { content: dropdownStatus.content, hasItems: autosuggestItemsState.items.length >= 1 })) : null, loopFocus: statusType === 'error' && !!recoveryText, onCloseDropdown: handleCloseDropdown, onDelayedInput: handleDelayedInput, onPressArrowDown: handlePressArrowDown, onPressArrowUp: handlePressArrowUp, onPressEnter: handlePressEnter })));
86
+ const formFieldContext = useFormFieldContext(restProps);
87
+ const selfControlId = useUniqueId('input');
88
+ const controlId = (_a = formFieldContext.controlId) !== null && _a !== void 0 ? _a : selfControlId;
89
+ const listId = useUniqueId('list');
90
+ const highlightedOptionId = autosuggestItemsState.highlightedOption ? generateUniqueId() : undefined;
91
+ const isEmpty = !value && !autosuggestItemsState.items.length;
92
+ const dropdownStatus = useDropdownStatus(Object.assign(Object.assign({}, props), { isEmpty, recoveryText, onRecoveryClick: handleRecoveryClick }));
93
+ return (React.createElement(AutosuggestInput, Object.assign({}, restProps, { className: clsx(styles.root, restProps.className), ref: autosuggestInputRef, __internalRootRef: __internalRootRef, value: value, onChange: handleChange, onBlur: handleBlur, onFocus: handleFocus, onKeyUp: handleKeyUp, onKeyDown: handleKeyDown, name: name, controlId: controlId, placeholder: placeholder, disabled: disabled, readOnly: readOnly, autoFocus: autoFocus, ariaLabel: ariaLabel, ariaRequired: ariaRequired, clearAriaLabel: clearAriaLabel, disableBrowserAutocorrect: disableBrowserAutocorrect, expandToViewport: expandToViewport, ariaControls: listId, ariaActivedescendant: highlightedOptionId, dropdownExpanded: autosuggestItemsState.items.length > 1 || dropdownStatus.content !== null, dropdownContent: React.createElement(AutosuggestOptionsList, { autosuggestItemsState: autosuggestItemsState, autosuggestItemsHandlers: autosuggestItemsHandlers, highlightedOptionId: highlightedOptionId, highlightText: value, listId: listId, controlId: controlId, enteredTextLabel: enteredTextLabel, handleLoadMore: autosuggestLoadMoreHandlers.fireLoadMoreOnScroll, hasDropdownStatus: dropdownStatus.content !== null, virtualScroll: virtualScroll, selectedAriaLabel: selectedAriaLabel, renderHighlightedAriaLive: renderHighlightedAriaLive, listBottom: !dropdownStatus.isSticky ? React.createElement(DropdownFooter, { content: dropdownStatus.content }) : null }), dropdownFooter: dropdownStatus.isSticky ? (React.createElement(DropdownFooter, { content: dropdownStatus.content, hasItems: autosuggestItemsState.items.length >= 1 })) : null, loopFocus: statusType === 'error' && !!recoveryText, onCloseDropdown: handleCloseDropdown, onDelayedInput: handleDelayedInput, onPressArrowDown: handlePressArrowDown, onPressArrowUp: handlePressArrowUp, onPressEnter: handlePressEnter })));
94
94
  });
95
95
  export default InternalAutosuggest;
96
96
  //# sourceMappingURL=internal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/autosuggest/internal.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\n\nimport React, { Ref, useImperativeHandle, useRef } from 'react';\n\nimport { useAutosuggestItems } from './options-controller';\nimport { AutosuggestItem, AutosuggestProps } from './interfaces';\n\nimport { useDropdownStatus } from '../internal/components/dropdown-status';\nimport DropdownFooter from '../internal/components/dropdown-footer';\n\nimport { generateUniqueId, useUniqueId } from '../internal/hooks/use-unique-id';\nimport {\n BaseKeyDetail,\n fireCancelableEvent,\n fireNonCancelableEvent,\n NonCancelableCustomEvent,\n} from '../internal/events';\nimport { BaseChangeDetail } from '../input/interfaces';\nimport styles from './styles.css.js';\nimport { checkOptionValueField } from '../select/utils/check-option-value-field';\nimport checkControlled from '../internal/hooks/check-controlled';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport AutosuggestOptionsList from './options-list';\nimport { useAutosuggestLoadMore } from './load-more-controller';\nimport { OptionsLoadItemsDetail } from '../internal/components/dropdown/interfaces';\nimport AutosuggestInput, { AutosuggestInputRef } from '../internal/components/autosuggest-input';\nimport { useFormFieldContext } from '../contexts/form-field';\nimport clsx from 'clsx';\n\nexport interface InternalAutosuggestProps extends AutosuggestProps, InternalBaseComponentProps {}\n\nconst InternalAutosuggest = React.forwardRef((props: InternalAutosuggestProps, ref: Ref<AutosuggestProps.Ref>) => {\n const {\n value,\n onChange,\n onBlur,\n onFocus,\n onKeyUp,\n onLoadItems,\n options,\n filteringType = 'auto',\n statusType = 'finished',\n recoveryText,\n placeholder,\n clearAriaLabel,\n name,\n disabled,\n disableBrowserAutocorrect = false,\n autoFocus,\n readOnly,\n ariaLabel,\n ariaRequired,\n enteredTextLabel,\n onKeyDown,\n virtualScroll,\n expandToViewport,\n onSelect,\n selectedAriaLabel,\n renderHighlightedAriaLive,\n __internalRootRef,\n ...restProps\n } = props;\n\n checkControlled('Autosuggest', 'value', value, 'onChange', onChange);\n checkOptionValueField('Autosuggest', 'options', options);\n\n const autosuggestInputRef = useRef<AutosuggestInputRef>(null);\n useImperativeHandle(\n ref,\n () => ({\n focus: () => autosuggestInputRef.current?.focus(),\n select: () => autosuggestInputRef.current?.select(),\n }),\n []\n );\n\n const [autosuggestItemsState, autosuggestItemsHandlers] = useAutosuggestItems({\n options: options || [],\n filterValue: value,\n filterText: value,\n filteringType,\n hideEnteredTextLabel: false,\n onSelectItem: (option: AutosuggestItem) => {\n const value = option.value || '';\n fireNonCancelableEvent(onChange, { value });\n fireNonCancelableEvent(onSelect, { value });\n autosuggestInputRef.current?.close();\n },\n });\n\n const autosuggestLoadMoreHandlers = useAutosuggestLoadMore({\n options,\n statusType,\n onLoadItems: (detail: OptionsLoadItemsDetail) => fireNonCancelableEvent(onLoadItems, detail),\n });\n\n const handleChange = (event: NonCancelableCustomEvent<BaseChangeDetail>) => {\n autosuggestItemsHandlers.setShowAll(false);\n autosuggestItemsHandlers.resetHighlightWithKeyboard();\n fireNonCancelableEvent(onChange, event.detail);\n };\n\n const handleDelayedInput = (event: NonCancelableCustomEvent<BaseChangeDetail>) => {\n autosuggestLoadMoreHandlers.fireLoadMoreOnInputChange(event.detail.value);\n };\n\n const handleBlur = () => {\n fireNonCancelableEvent(onBlur, null);\n };\n\n const handleFocus = () => {\n autosuggestItemsHandlers.setShowAll(true);\n autosuggestLoadMoreHandlers.fireLoadMoreOnInputFocus();\n fireNonCancelableEvent(onFocus, null);\n };\n\n const handleKeyUp = (e: CustomEvent<BaseKeyDetail>) => {\n fireCancelableEvent(onKeyUp, e.detail);\n };\n\n const handleKeyDown = (e: CustomEvent<BaseKeyDetail>) => {\n fireCancelableEvent(onKeyDown, e.detail);\n };\n\n const handlePressArrowDown = () => {\n autosuggestItemsHandlers.moveHighlightWithKeyboard(1);\n };\n\n const handlePressArrowUp = () => {\n autosuggestItemsHandlers.moveHighlightWithKeyboard(-1);\n };\n\n const handlePressEnter = () => {\n return autosuggestItemsHandlers.selectHighlightedOptionWithKeyboard();\n };\n\n const handleCloseDropdown = () => {\n autosuggestItemsHandlers.resetHighlightWithKeyboard();\n };\n\n const handleRecoveryClick = () => {\n autosuggestLoadMoreHandlers.fireLoadMoreOnRecoveryClick();\n autosuggestInputRef.current?.focus();\n };\n\n const formFieldContext = useFormFieldContext(restProps);\n const selfControlId = useUniqueId('input');\n const controlId = formFieldContext.controlId ?? selfControlId;\n const listId = useUniqueId('list');\n const highlightedOptionId = autosuggestItemsState.highlightedOption ? generateUniqueId() : undefined;\n\n const isEmpty = !value && !autosuggestItemsState.items.length;\n const dropdownStatus = useDropdownStatus({ ...props, isEmpty, recoveryText, onRecoveryClick: handleRecoveryClick });\n\n return (\n <AutosuggestInput\n {...restProps}\n className={clsx(styles.root, restProps.className)}\n ref={autosuggestInputRef}\n __internalRootRef={__internalRootRef}\n value={value}\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyUp={handleKeyUp}\n onKeyDown={handleKeyDown}\n name={name}\n controlId={controlId}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n autoFocus={autoFocus}\n ariaLabel={ariaLabel}\n ariaRequired={ariaRequired}\n clearAriaLabel={clearAriaLabel}\n disableBrowserAutocorrect={disableBrowserAutocorrect}\n expandToViewport={expandToViewport}\n ariaControls={listId}\n ariaActivedescendant={highlightedOptionId}\n dropdownExpanded={autosuggestItemsState.items.length > 1 || dropdownStatus.content !== null}\n dropdownContent={\n <AutosuggestOptionsList\n autosuggestItemsState={autosuggestItemsState}\n autosuggestItemsHandlers={autosuggestItemsHandlers}\n highlightedOptionId={highlightedOptionId}\n highlightText={value}\n listId={listId}\n controlId={controlId}\n enteredTextLabel={enteredTextLabel}\n handleLoadMore={autosuggestLoadMoreHandlers.fireLoadMoreOnScroll}\n hasDropdownStatus={dropdownStatus.content !== null}\n virtualScroll={virtualScroll}\n selectedAriaLabel={selectedAriaLabel}\n renderHighlightedAriaLive={renderHighlightedAriaLive}\n listBottom={!dropdownStatus.isSticky ? <DropdownFooter content={dropdownStatus.content} /> : null}\n />\n }\n dropdownFooter={\n dropdownStatus.isSticky ? (\n <DropdownFooter content={dropdownStatus.content} hasItems={autosuggestItemsState.items.length >= 1} />\n ) : null\n }\n loopFocus={statusType === 'error' && !!recoveryText}\n onCloseDropdown={handleCloseDropdown}\n onDelayedInput={handleDelayedInput}\n onPressArrowDown={handlePressArrowDown}\n onPressArrowUp={handlePressArrowUp}\n onPressEnter={handlePressEnter}\n />\n );\n});\n\nexport default InternalAutosuggest;\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/autosuggest/internal.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\n\nimport React, { Ref, useImperativeHandle, useRef } from 'react';\n\nimport { useAutosuggestItems } from './options-controller';\nimport { AutosuggestItem, AutosuggestProps } from './interfaces';\n\nimport { useDropdownStatus } from '../internal/components/dropdown-status';\nimport DropdownFooter from '../internal/components/dropdown-footer';\n\nimport { generateUniqueId, useUniqueId } from '../internal/hooks/use-unique-id';\nimport {\n BaseKeyDetail,\n fireCancelableEvent,\n fireNonCancelableEvent,\n NonCancelableCustomEvent,\n} from '../internal/events';\nimport { BaseChangeDetail } from '../input/interfaces';\nimport styles from './styles.css.js';\nimport { checkOptionValueField } from '../select/utils/check-option-value-field';\nimport checkControlled from '../internal/hooks/check-controlled';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport AutosuggestOptionsList from './options-list';\nimport { useAutosuggestLoadMore } from './load-more-controller';\nimport { OptionsLoadItemsDetail } from '../internal/components/dropdown/interfaces';\nimport AutosuggestInput, { AutosuggestInputRef } from '../internal/components/autosuggest-input';\nimport { useFormFieldContext } from '../contexts/form-field';\nimport clsx from 'clsx';\n\nexport interface InternalAutosuggestProps extends AutosuggestProps, InternalBaseComponentProps {}\n\nconst InternalAutosuggest = React.forwardRef((props: InternalAutosuggestProps, ref: Ref<AutosuggestProps.Ref>) => {\n const {\n value,\n onChange,\n onBlur,\n onFocus,\n onKeyUp,\n onLoadItems,\n options,\n filteringType = 'auto',\n statusType = 'finished',\n recoveryText,\n placeholder,\n clearAriaLabel,\n name,\n disabled,\n disableBrowserAutocorrect = false,\n autoFocus,\n readOnly,\n ariaLabel,\n ariaRequired,\n enteredTextLabel,\n onKeyDown,\n virtualScroll,\n expandToViewport,\n onSelect,\n selectedAriaLabel,\n renderHighlightedAriaLive,\n __internalRootRef,\n ...restProps\n } = props;\n\n checkControlled('Autosuggest', 'value', value, 'onChange', onChange);\n checkOptionValueField('Autosuggest', 'options', options);\n\n const autosuggestInputRef = useRef<AutosuggestInputRef>(null);\n useImperativeHandle(\n ref,\n () => ({\n focus: () => autosuggestInputRef.current?.focus(),\n select: () => autosuggestInputRef.current?.select(),\n }),\n []\n );\n\n const [autosuggestItemsState, autosuggestItemsHandlers] = useAutosuggestItems({\n options: options || [],\n filterValue: value,\n filterText: value,\n filteringType,\n hideEnteredTextLabel: false,\n onSelectItem: (option: AutosuggestItem) => {\n const value = option.value || '';\n fireNonCancelableEvent(onChange, { value });\n fireNonCancelableEvent(onSelect, { value });\n autosuggestInputRef.current?.close();\n },\n });\n\n const autosuggestLoadMoreHandlers = useAutosuggestLoadMore({\n options,\n statusType,\n onLoadItems: (detail: OptionsLoadItemsDetail) => fireNonCancelableEvent(onLoadItems, detail),\n });\n\n const handleChange = (event: NonCancelableCustomEvent<BaseChangeDetail>) => {\n autosuggestItemsHandlers.setShowAll(false);\n autosuggestItemsHandlers.resetHighlightWithKeyboard();\n fireNonCancelableEvent(onChange, event.detail);\n };\n\n const handleDelayedInput = (event: NonCancelableCustomEvent<BaseChangeDetail>) => {\n autosuggestLoadMoreHandlers.fireLoadMoreOnInputChange(event.detail.value);\n };\n\n const handleBlur = () => {\n fireNonCancelableEvent(onBlur, null);\n };\n\n const handleFocus = () => {\n autosuggestItemsHandlers.setShowAll(true);\n autosuggestLoadMoreHandlers.fireLoadMoreOnInputFocus();\n fireNonCancelableEvent(onFocus, null);\n };\n\n const handleKeyUp = (e: CustomEvent<BaseKeyDetail>) => {\n fireCancelableEvent(onKeyUp, e.detail);\n };\n\n const handleKeyDown = (e: CustomEvent<BaseKeyDetail>) => {\n fireCancelableEvent(onKeyDown, e.detail);\n };\n\n const handlePressArrowDown = () => {\n autosuggestItemsHandlers.moveHighlightWithKeyboard(1);\n };\n\n const handlePressArrowUp = () => {\n autosuggestItemsHandlers.moveHighlightWithKeyboard(-1);\n };\n\n const handlePressEnter = () => {\n return autosuggestItemsHandlers.selectHighlightedOptionWithKeyboard();\n };\n\n const handleCloseDropdown = () => {\n autosuggestItemsHandlers.resetHighlightWithKeyboard();\n };\n\n const handleRecoveryClick = () => {\n autosuggestLoadMoreHandlers.fireLoadMoreOnRecoveryClick();\n autosuggestInputRef.current?.focus();\n };\n\n const formFieldContext = useFormFieldContext(restProps);\n const selfControlId = useUniqueId('input');\n const controlId = formFieldContext.controlId ?? selfControlId;\n const listId = useUniqueId('list');\n const highlightedOptionId = autosuggestItemsState.highlightedOption ? generateUniqueId() : undefined;\n\n const isEmpty = !value && !autosuggestItemsState.items.length;\n const dropdownStatus = useDropdownStatus({ ...props, isEmpty, recoveryText, onRecoveryClick: handleRecoveryClick });\n\n return (\n <AutosuggestInput\n {...restProps}\n className={clsx(styles.root, restProps.className)}\n ref={autosuggestInputRef}\n __internalRootRef={__internalRootRef}\n value={value}\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyUp={handleKeyUp}\n onKeyDown={handleKeyDown}\n name={name}\n controlId={controlId}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n autoFocus={autoFocus}\n ariaLabel={ariaLabel}\n ariaRequired={ariaRequired}\n clearAriaLabel={clearAriaLabel}\n disableBrowserAutocorrect={disableBrowserAutocorrect}\n expandToViewport={expandToViewport}\n ariaControls={listId}\n ariaActivedescendant={highlightedOptionId}\n dropdownExpanded={autosuggestItemsState.items.length > 1 || dropdownStatus.content !== null}\n dropdownContent={\n <AutosuggestOptionsList\n autosuggestItemsState={autosuggestItemsState}\n autosuggestItemsHandlers={autosuggestItemsHandlers}\n highlightedOptionId={highlightedOptionId}\n highlightText={value}\n listId={listId}\n controlId={controlId}\n enteredTextLabel={enteredTextLabel}\n handleLoadMore={autosuggestLoadMoreHandlers.fireLoadMoreOnScroll}\n hasDropdownStatus={dropdownStatus.content !== null}\n virtualScroll={virtualScroll}\n selectedAriaLabel={selectedAriaLabel}\n renderHighlightedAriaLive={renderHighlightedAriaLive}\n listBottom={!dropdownStatus.isSticky ? <DropdownFooter content={dropdownStatus.content} /> : null}\n />\n }\n dropdownFooter={\n dropdownStatus.isSticky ? (\n <DropdownFooter content={dropdownStatus.content} hasItems={autosuggestItemsState.items.length >= 1} />\n ) : null\n }\n loopFocus={statusType === 'error' && !!recoveryText}\n onCloseDropdown={handleCloseDropdown}\n onDelayedInput={handleDelayedInput}\n onPressArrowDown={handlePressArrowDown}\n onPressArrowUp={handlePressArrowUp}\n onPressEnter={handlePressEnter}\n />\n );\n});\n\nexport default InternalAutosuggest;\n"]}
@@ -1,27 +1,23 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { useRef } from 'react';
4
- export var useAutosuggestLoadMore = function (_a) {
5
- var _b = _a.options, options = _b === void 0 ? [] : _b, statusType = _a.statusType, onLoadItems = _a.onLoadItems;
6
- var lastFilteringText = useRef(null);
7
- var fireLoadMore = function (_a) {
8
- var _b;
9
- var firstPage = _a.firstPage, samePage = _a.samePage, filteringText = _a.filteringText;
4
+ export const useAutosuggestLoadMore = ({ options = [], statusType, onLoadItems, }) => {
5
+ const lastFilteringText = useRef(null);
6
+ const fireLoadMore = ({ firstPage, samePage, filteringText, }) => {
7
+ var _a;
10
8
  if (filteringText === undefined || lastFilteringText.current !== filteringText) {
11
9
  if (filteringText !== undefined) {
12
10
  lastFilteringText.current = filteringText;
13
11
  }
14
- onLoadItems({ filteringText: (_b = lastFilteringText.current) !== null && _b !== void 0 ? _b : '', firstPage: firstPage, samePage: samePage });
12
+ onLoadItems({ filteringText: (_a = lastFilteringText.current) !== null && _a !== void 0 ? _a : '', firstPage, samePage });
15
13
  }
16
14
  };
17
- var fireLoadMoreOnScroll = function () {
15
+ const fireLoadMoreOnScroll = () => {
18
16
  options.length > 0 && statusType === 'pending' && fireLoadMore({ firstPage: false, samePage: false });
19
17
  };
20
- var fireLoadMoreOnRecoveryClick = function () { return fireLoadMore({ firstPage: false, samePage: true }); };
21
- var fireLoadMoreOnInputFocus = function () { return fireLoadMore({ firstPage: true, samePage: false, filteringText: '' }); };
22
- var fireLoadMoreOnInputChange = function (filteringText) {
23
- return fireLoadMore({ firstPage: true, samePage: false, filteringText: filteringText });
24
- };
25
- return { fireLoadMoreOnScroll: fireLoadMoreOnScroll, fireLoadMoreOnRecoveryClick: fireLoadMoreOnRecoveryClick, fireLoadMoreOnInputFocus: fireLoadMoreOnInputFocus, fireLoadMoreOnInputChange: fireLoadMoreOnInputChange };
18
+ const fireLoadMoreOnRecoveryClick = () => fireLoadMore({ firstPage: false, samePage: true });
19
+ const fireLoadMoreOnInputFocus = () => fireLoadMore({ firstPage: true, samePage: false, filteringText: '' });
20
+ const fireLoadMoreOnInputChange = (filteringText) => fireLoadMore({ firstPage: true, samePage: false, filteringText });
21
+ return { fireLoadMoreOnScroll, fireLoadMoreOnRecoveryClick, fireLoadMoreOnInputFocus, fireLoadMoreOnInputChange };
26
22
  };
27
23
  //# sourceMappingURL=load-more-controller.js.map