@cloudscape-design/components 3.0.220 → 3.0.222

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1000) hide show
  1. package/alert/index.js +4 -4
  2. package/alert/index.js.map +1 -1
  3. package/alert/internal.js +14 -15
  4. package/alert/internal.js.map +1 -1
  5. package/annotation-context/annotation/annotation-icon.js +1 -2
  6. package/annotation-context/annotation/annotation-icon.js.map +1 -1
  7. package/annotation-context/annotation/annotation-popover.js +6 -7
  8. package/annotation-context/annotation/annotation-popover.js.map +1 -1
  9. package/annotation-context/annotation/annotation-trigger.js +4 -6
  10. package/annotation-context/annotation/annotation-trigger.js.map +1 -1
  11. package/annotation-context/annotation/closed-annotation.js +4 -5
  12. package/annotation-context/annotation/closed-annotation.js.map +1 -1
  13. package/annotation-context/annotation/open-annotation.js +2 -3
  14. package/annotation-context/annotation/open-annotation.js.map +1 -1
  15. package/annotation-context/context.js +7 -7
  16. package/annotation-context/context.js.map +1 -1
  17. package/annotation-context/index.js +62 -69
  18. package/annotation-context/index.js.map +1 -1
  19. package/app-layout/content-wrapper/index.js +2 -3
  20. package/app-layout/content-wrapper/index.js.map +1 -1
  21. package/app-layout/defaults.js +13 -14
  22. package/app-layout/defaults.js.map +1 -1
  23. package/app-layout/drawer.js +16 -18
  24. package/app-layout/drawer.js.map +1 -1
  25. package/app-layout/index.js +111 -113
  26. package/app-layout/index.js.map +1 -1
  27. package/app-layout/mobile-toolbar/index.js +7 -9
  28. package/app-layout/mobile-toolbar/index.js.map +1 -1
  29. package/app-layout/navigation-panel.js +5 -8
  30. package/app-layout/navigation-panel.js.map +1 -1
  31. package/app-layout/notifications/index.js +2 -2
  32. package/app-layout/notifications/index.js.map +1 -1
  33. package/app-layout/toggles/index.js +14 -22
  34. package/app-layout/toggles/index.js.map +1 -1
  35. package/app-layout/tools-and-split-panel.js +6 -9
  36. package/app-layout/tools-and-split-panel.js.map +1 -1
  37. package/app-layout/utils/use-content-height.js +14 -15
  38. package/app-layout/utils/use-content-height.js.map +1 -1
  39. package/app-layout/utils/use-content-width.js +8 -8
  40. package/app-layout/utils/use-content-width.js.map +1 -1
  41. package/app-layout/utils/use-focus-control.js +7 -8
  42. package/app-layout/utils/use-focus-control.js.map +1 -1
  43. package/app-layout/utils/use-observed-element.js +3 -3
  44. package/app-layout/utils/use-observed-element.js.map +1 -1
  45. package/app-layout/utils/use-window-width.js +4 -4
  46. package/app-layout/utils/use-window-width.js.map +1 -1
  47. package/app-layout/visual-refresh/app-bar.js +19 -20
  48. package/app-layout/visual-refresh/app-bar.js.map +1 -1
  49. package/app-layout/visual-refresh/background.js +9 -10
  50. package/app-layout/visual-refresh/background.js.map +1 -1
  51. package/app-layout/visual-refresh/context.js +101 -59
  52. package/app-layout/visual-refresh/context.js.map +1 -1
  53. package/app-layout/visual-refresh/header.js +6 -7
  54. package/app-layout/visual-refresh/header.js.map +1 -1
  55. package/app-layout/visual-refresh/index.js +3 -4
  56. package/app-layout/visual-refresh/index.js.map +1 -1
  57. package/app-layout/visual-refresh/layout.js +18 -21
  58. package/app-layout/visual-refresh/layout.js.map +1 -1
  59. package/app-layout/visual-refresh/main.js +17 -18
  60. package/app-layout/visual-refresh/main.js.map +1 -1
  61. package/app-layout/visual-refresh/navigation.js +22 -24
  62. package/app-layout/visual-refresh/navigation.js.map +1 -1
  63. package/app-layout/visual-refresh/notifications.js +6 -7
  64. package/app-layout/visual-refresh/notifications.js.map +1 -1
  65. package/app-layout/visual-refresh/split-panel.js +36 -43
  66. package/app-layout/visual-refresh/split-panel.js.map +1 -1
  67. package/app-layout/visual-refresh/tools.js +32 -34
  68. package/app-layout/visual-refresh/tools.js.map +1 -1
  69. package/app-layout/visual-refresh/trigger-button.js +5 -8
  70. package/app-layout/visual-refresh/trigger-button.js.map +1 -1
  71. package/area-chart/chart-container.js +18 -19
  72. package/area-chart/chart-container.js.map +1 -1
  73. package/area-chart/elements/area-chart-filter.js +7 -8
  74. package/area-chart/elements/area-chart-filter.js.map +1 -1
  75. package/area-chart/elements/area-chart-legend.js +6 -9
  76. package/area-chart/elements/area-chart-legend.js.map +1 -1
  77. package/area-chart/elements/area-series.js +12 -13
  78. package/area-chart/elements/area-series.js.map +1 -1
  79. package/area-chart/elements/chart-popover.js +4 -6
  80. package/area-chart/elements/chart-popover.js.map +1 -1
  81. package/area-chart/elements/data-series.js +14 -17
  82. package/area-chart/elements/data-series.js.map +1 -1
  83. package/area-chart/elements/highlighted-point.js +6 -7
  84. package/area-chart/elements/highlighted-point.js.map +1 -1
  85. package/area-chart/elements/threshold-series.js +5 -7
  86. package/area-chart/elements/threshold-series.js.map +1 -1
  87. package/area-chart/elements/use-highlight-details.js +28 -30
  88. package/area-chart/elements/use-highlight-details.js.map +1 -1
  89. package/area-chart/elements/vertical-marker.js +6 -7
  90. package/area-chart/elements/vertical-marker.js.map +1 -1
  91. package/area-chart/index.js +4 -4
  92. package/area-chart/index.js.map +1 -1
  93. package/area-chart/internal.js +40 -41
  94. package/area-chart/internal.js.map +1 -1
  95. package/area-chart/model/async-store.js +23 -30
  96. package/area-chart/model/async-store.js.map +1 -1
  97. package/area-chart/model/compute-chart-props.js +11 -12
  98. package/area-chart/model/compute-chart-props.js.map +1 -1
  99. package/area-chart/model/create-series-decorator.js +11 -13
  100. package/area-chart/model/create-series-decorator.js.map +1 -1
  101. package/area-chart/model/interactions-store.js +47 -54
  102. package/area-chart/model/interactions-store.js.map +1 -1
  103. package/area-chart/model/use-chart-model.js +85 -89
  104. package/area-chart/model/use-chart-model.js.map +1 -1
  105. package/area-chart/model/use-filter-props.js +6 -6
  106. package/area-chart/model/use-filter-props.js.map +1 -1
  107. package/area-chart/model/use-highlight-props.js +6 -6
  108. package/area-chart/model/use-highlight-props.js.map +1 -1
  109. package/area-chart/model/utils.js +46 -59
  110. package/area-chart/model/utils.js.map +1 -1
  111. package/attribute-editor/additional-info.js +2 -5
  112. package/attribute-editor/additional-info.js.map +1 -1
  113. package/attribute-editor/index.js +5 -5
  114. package/attribute-editor/index.js.map +1 -1
  115. package/attribute-editor/internal.js +20 -20
  116. package/attribute-editor/internal.js.map +1 -1
  117. package/attribute-editor/row.js +17 -25
  118. package/attribute-editor/row.js.map +1 -1
  119. package/autosuggest/autosuggest-option.js +12 -12
  120. package/autosuggest/autosuggest-option.js.map +1 -1
  121. package/autosuggest/index.js +6 -6
  122. package/autosuggest/index.js.map +1 -1
  123. package/autosuggest/internal.js +39 -39
  124. package/autosuggest/internal.js.map +1 -1
  125. package/autosuggest/load-more-controller.js +10 -14
  126. package/autosuggest/load-more-controller.js.map +1 -1
  127. package/autosuggest/options-controller.js +31 -32
  128. package/autosuggest/options-controller.js.map +1 -1
  129. package/autosuggest/options-list.js +12 -13
  130. package/autosuggest/options-list.js.map +1 -1
  131. package/autosuggest/plain-list.js +15 -17
  132. package/autosuggest/plain-list.js.map +1 -1
  133. package/autosuggest/utils/utils.js +12 -12
  134. package/autosuggest/utils/utils.js.map +1 -1
  135. package/autosuggest/virtual-list.js +14 -16
  136. package/autosuggest/virtual-list.js.map +1 -1
  137. package/badge/index.js +6 -6
  138. package/badge/index.js.map +1 -1
  139. package/bar-chart/index.js +6 -6
  140. package/bar-chart/index.js.map +1 -1
  141. package/box/index.js +4 -4
  142. package/box/index.js.map +1 -1
  143. package/box/internal.js +12 -12
  144. package/box/internal.js.map +1 -1
  145. package/breadcrumb-group/index.js +4 -4
  146. package/breadcrumb-group/index.js.map +1 -1
  147. package/breadcrumb-group/internal.js +24 -25
  148. package/breadcrumb-group/internal.js.map +1 -1
  149. package/breadcrumb-group/item/item.js +32 -34
  150. package/breadcrumb-group/item/item.js.map +1 -1
  151. package/button/icon-helper.js +6 -6
  152. package/button/icon-helper.js.map +1 -1
  153. package/button/index.js +6 -6
  154. package/button/index.js.map +1 -1
  155. package/button/internal.js +32 -33
  156. package/button/internal.js.map +1 -1
  157. package/button-dropdown/category-elements/category-element.js +3 -5
  158. package/button-dropdown/category-elements/category-element.js.map +1 -1
  159. package/button-dropdown/category-elements/expandable-category-element.js +23 -26
  160. package/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  161. package/button-dropdown/category-elements/mobile-expandable-category-element.js +27 -30
  162. package/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  163. package/button-dropdown/index.js +6 -6
  164. package/button-dropdown/index.js.map +1 -1
  165. package/button-dropdown/internal.js +28 -29
  166. package/button-dropdown/internal.js.map +1 -1
  167. package/button-dropdown/item-element/index.js +30 -36
  168. package/button-dropdown/item-element/index.js.map +1 -1
  169. package/button-dropdown/items-list.js +3 -4
  170. package/button-dropdown/items-list.js.map +1 -1
  171. package/button-dropdown/mobile-expandable-group/mobile-expandable-group.js +2 -4
  172. package/button-dropdown/mobile-expandable-group/mobile-expandable-group.js.map +1 -1
  173. package/button-dropdown/tooltip.js +22 -24
  174. package/button-dropdown/tooltip.js.map +1 -1
  175. package/button-dropdown/utils/create-items-tree.js +21 -23
  176. package/button-dropdown/utils/create-items-tree.js.map +1 -1
  177. package/button-dropdown/utils/menu-item.js +6 -9
  178. package/button-dropdown/utils/menu-item.js.map +1 -1
  179. package/button-dropdown/utils/move-highlight.js +3 -4
  180. package/button-dropdown/utils/move-highlight.js.map +1 -1
  181. package/button-dropdown/utils/use-button-dropdown.js +31 -33
  182. package/button-dropdown/utils/use-button-dropdown.js.map +1 -1
  183. package/button-dropdown/utils/use-hidden-description.js +3 -3
  184. package/button-dropdown/utils/use-hidden-description.js.map +1 -1
  185. package/button-dropdown/utils/use-highlighted-menu.js +40 -42
  186. package/button-dropdown/utils/use-highlighted-menu.js.map +1 -1
  187. package/button-dropdown/utils/utils.js +5 -9
  188. package/button-dropdown/utils/utils.js.map +1 -1
  189. package/calendar/grid/index.js +25 -28
  190. package/calendar/grid/index.js.map +1 -1
  191. package/calendar/header/header-button.js +4 -6
  192. package/calendar/header/header-button.js.map +1 -1
  193. package/calendar/header/index.js +1 -2
  194. package/calendar/header/index.js.map +1 -1
  195. package/calendar/index.js +4 -4
  196. package/calendar/index.js.map +1 -1
  197. package/calendar/internal.js +27 -27
  198. package/calendar/internal.js.map +1 -1
  199. package/calendar/utils/intl.js +12 -13
  200. package/calendar/utils/intl.js.map +1 -1
  201. package/calendar/utils/navigation.js +3 -3
  202. package/calendar/utils/navigation.js.map +1 -1
  203. package/cards/cards-layout-helper.js +12 -12
  204. package/cards/cards-layout-helper.js.map +1 -1
  205. package/cards/index.js +53 -63
  206. package/cards/index.js.map +1 -1
  207. package/checkbox/index.js +4 -4
  208. package/checkbox/index.js.map +1 -1
  209. package/checkbox/internal.d.ts +1 -0
  210. package/checkbox/internal.d.ts.map +1 -1
  211. package/checkbox/internal.js +9 -9
  212. package/checkbox/internal.js.map +1 -1
  213. package/code-editor/ace-modes.js +1 -1
  214. package/code-editor/ace-modes.js.map +1 -1
  215. package/code-editor/ace-themes.js +2 -2
  216. package/code-editor/ace-themes.js.map +1 -1
  217. package/code-editor/error-screen.js +3 -4
  218. package/code-editor/error-screen.js.map +1 -1
  219. package/code-editor/index.js +61 -65
  220. package/code-editor/index.js.map +1 -1
  221. package/code-editor/listeners.js +5 -5
  222. package/code-editor/listeners.js.map +1 -1
  223. package/code-editor/loading-screen.js +2 -2
  224. package/code-editor/loading-screen.js.map +1 -1
  225. package/code-editor/pane.js +21 -25
  226. package/code-editor/pane.js.map +1 -1
  227. package/code-editor/preferences-modal.js +12 -13
  228. package/code-editor/preferences-modal.js.map +1 -1
  229. package/code-editor/resizable-box/index.js +14 -15
  230. package/code-editor/resizable-box/index.js.map +1 -1
  231. package/code-editor/setup-editor.js +20 -20
  232. package/code-editor/setup-editor.js.map +1 -1
  233. package/code-editor/status-bar.js +19 -22
  234. package/code-editor/status-bar.js.map +1 -1
  235. package/code-editor/tab-button.js +7 -10
  236. package/code-editor/tab-button.js.map +1 -1
  237. package/code-editor/util.js +6 -6
  238. package/code-editor/util.js.map +1 -1
  239. package/collection-preferences/index.js +21 -23
  240. package/collection-preferences/index.js.map +1 -1
  241. package/collection-preferences/utils.js +25 -57
  242. package/collection-preferences/utils.js.map +1 -1
  243. package/collection-preferences/visible-content.js +23 -27
  244. package/collection-preferences/visible-content.js.map +1 -1
  245. package/column-layout/index.js +6 -6
  246. package/column-layout/index.js.map +1 -1
  247. package/column-layout/internal.js +20 -21
  248. package/column-layout/internal.js.map +1 -1
  249. package/column-layout/util.js +2 -2
  250. package/column-layout/util.js.map +1 -1
  251. package/container/index.js +5 -5
  252. package/container/index.js.map +1 -1
  253. package/container/internal.js +30 -31
  254. package/container/internal.js.map +1 -1
  255. package/container/use-sticky-header.js +25 -25
  256. package/container/use-sticky-header.js.map +1 -1
  257. package/content-layout/index.js +2 -3
  258. package/content-layout/index.js.map +1 -1
  259. package/content-layout/internal.js +15 -16
  260. package/content-layout/internal.js.map +1 -1
  261. package/date-input/index.js +3 -4
  262. package/date-input/index.js.map +1 -1
  263. package/date-input/internal.js +8 -8
  264. package/date-input/internal.js.map +1 -1
  265. package/date-picker/index.js +28 -28
  266. package/date-picker/index.js.map +1 -1
  267. package/date-range-picker/calendar/grids/grid.js +54 -57
  268. package/date-range-picker/calendar/grids/grid.js.map +1 -1
  269. package/date-range-picker/calendar/grids/index.js +27 -28
  270. package/date-range-picker/calendar/grids/index.js.map +1 -1
  271. package/date-range-picker/calendar/header/header-button.js +4 -6
  272. package/date-range-picker/calendar/header/header-button.js.map +1 -1
  273. package/date-range-picker/calendar/header/index.js +6 -7
  274. package/date-range-picker/calendar/header/index.js.map +1 -1
  275. package/date-range-picker/calendar/index.js +40 -45
  276. package/date-range-picker/calendar/index.js.map +1 -1
  277. package/date-range-picker/calendar/range-inputs.js +5 -6
  278. package/date-range-picker/calendar/range-inputs.js.map +1 -1
  279. package/date-range-picker/calendar/utils.js +2 -2
  280. package/date-range-picker/calendar/utils.js.map +1 -1
  281. package/date-range-picker/dropdown.js +29 -34
  282. package/date-range-picker/dropdown.js.map +1 -1
  283. package/date-range-picker/index.js +40 -43
  284. package/date-range-picker/index.js.map +1 -1
  285. package/date-range-picker/mode-switcher.js +2 -3
  286. package/date-range-picker/mode-switcher.js.map +1 -1
  287. package/date-range-picker/relative-range/index.js +36 -40
  288. package/date-range-picker/relative-range/index.js.map +1 -1
  289. package/date-range-picker/time-offset.js +5 -5
  290. package/date-range-picker/time-offset.js.map +1 -1
  291. package/date-range-picker/utils.js +4 -5
  292. package/date-range-picker/utils.js.map +1 -1
  293. package/expandable-section/expandable-section-container.js +5 -5
  294. package/expandable-section/expandable-section-container.js.map +1 -1
  295. package/expandable-section/expandable-section-header.js +18 -23
  296. package/expandable-section/expandable-section-header.js.map +1 -1
  297. package/expandable-section/index.js +4 -4
  298. package/expandable-section/index.js.map +1 -1
  299. package/expandable-section/internal.js +22 -22
  300. package/expandable-section/internal.js.map +1 -1
  301. package/flashbar/collapsible-flashbar.js +103 -118
  302. package/flashbar/collapsible-flashbar.js.map +1 -1
  303. package/flashbar/common.js +26 -35
  304. package/flashbar/common.js.map +1 -1
  305. package/flashbar/constant.js +1 -1
  306. package/flashbar/constant.js.map +1 -1
  307. package/flashbar/flash.js +23 -26
  308. package/flashbar/flash.js.map +1 -1
  309. package/flashbar/index.js +3 -4
  310. package/flashbar/index.js.map +1 -1
  311. package/flashbar/internal/analytics.js +12 -12
  312. package/flashbar/internal/analytics.js.map +1 -1
  313. package/flashbar/non-collapsible-flashbar.js +10 -10
  314. package/flashbar/non-collapsible-flashbar.js.map +1 -1
  315. package/flashbar/utils.js +25 -27
  316. package/flashbar/utils.js.map +1 -1
  317. package/form/index.js +4 -4
  318. package/form/index.js.map +1 -1
  319. package/form/internal.js +5 -6
  320. package/form/internal.js.map +1 -1
  321. package/form-field/index.js +4 -4
  322. package/form-field/index.js.map +1 -1
  323. package/form-field/internal.js +20 -23
  324. package/form-field/internal.js.map +1 -1
  325. package/form-field/util.js +9 -10
  326. package/form-field/util.js.map +1 -1
  327. package/grid/index.js +6 -6
  328. package/grid/index.js.map +1 -1
  329. package/grid/internal.js +14 -15
  330. package/grid/internal.js.map +1 -1
  331. package/header/index.js +4 -4
  332. package/header/index.js.map +1 -1
  333. package/header/internal.js +15 -15
  334. package/header/internal.js.map +1 -1
  335. package/help-panel/index.js +7 -7
  336. package/help-panel/index.js.map +1 -1
  337. package/hotspot/index.js +12 -12
  338. package/hotspot/index.js.map +1 -1
  339. package/icon/icons.js +1 -1
  340. package/icon/index.js +4 -4
  341. package/icon/index.js.map +1 -1
  342. package/icon/internal.js +18 -18
  343. package/icon/internal.js.map +1 -1
  344. package/input/index.js +36 -17
  345. package/input/index.js.map +1 -1
  346. package/input/internal.js +30 -25
  347. package/input/internal.js.map +1 -1
  348. package/input/utils.js +4 -5
  349. package/input/utils.js.map +1 -1
  350. package/internal/animate.js +27 -32
  351. package/internal/animate.js.map +1 -1
  352. package/internal/base-component/index.js +2 -2
  353. package/internal/base-component/index.js.map +1 -1
  354. package/internal/breakpoints.js +7 -12
  355. package/internal/breakpoints.js.map +1 -1
  356. package/internal/components/abstract-switch/index.d.ts +2 -1
  357. package/internal/components/abstract-switch/index.d.ts.map +1 -1
  358. package/internal/components/abstract-switch/index.js +19 -19
  359. package/internal/components/abstract-switch/index.js.map +1 -1
  360. package/internal/components/abstract-switch/styles.css.js +13 -12
  361. package/internal/components/abstract-switch/styles.scoped.css +21 -21
  362. package/internal/components/abstract-switch/styles.selectors.js +13 -12
  363. package/internal/components/autosuggest-input/index.js +38 -38
  364. package/internal/components/autosuggest-input/index.js.map +1 -1
  365. package/internal/components/button-trigger/index.js +7 -7
  366. package/internal/components/button-trigger/index.js.map +1 -1
  367. package/internal/components/cartesian-chart/axis-label.js +1 -2
  368. package/internal/components/cartesian-chart/axis-label.js.map +1 -1
  369. package/internal/components/cartesian-chart/bottom-labels.js +20 -26
  370. package/internal/components/cartesian-chart/bottom-labels.js.map +1 -1
  371. package/internal/components/cartesian-chart/constants.js +5 -5
  372. package/internal/components/cartesian-chart/constants.js.map +1 -1
  373. package/internal/components/cartesian-chart/emphasized-baseline.js +4 -5
  374. package/internal/components/cartesian-chart/emphasized-baseline.js.map +1 -1
  375. package/internal/components/cartesian-chart/highlighted-point.js +1 -2
  376. package/internal/components/cartesian-chart/highlighted-point.js.map +1 -1
  377. package/internal/components/cartesian-chart/label-utils.js +20 -24
  378. package/internal/components/cartesian-chart/label-utils.js.map +1 -1
  379. package/internal/components/cartesian-chart/labels-measure.js +6 -7
  380. package/internal/components/cartesian-chart/labels-measure.js.map +1 -1
  381. package/internal/components/cartesian-chart/left-labels.js +13 -17
  382. package/internal/components/cartesian-chart/left-labels.js.map +1 -1
  383. package/internal/components/cartesian-chart/scales.js +21 -26
  384. package/internal/components/cartesian-chart/scales.js.map +1 -1
  385. package/internal/components/cartesian-chart/ticks.js +9 -10
  386. package/internal/components/cartesian-chart/ticks.js.map +1 -1
  387. package/internal/components/cartesian-chart/vertical-grid-lines.js +3 -4
  388. package/internal/components/cartesian-chart/vertical-grid-lines.js.map +1 -1
  389. package/internal/components/cartesian-chart/vertical-marker.js +3 -4
  390. package/internal/components/cartesian-chart/vertical-marker.js.map +1 -1
  391. package/internal/components/chart-filter/index.js +13 -14
  392. package/internal/components/chart-filter/index.js.map +1 -1
  393. package/internal/components/chart-legend/index.js +26 -29
  394. package/internal/components/chart-legend/index.js.map +1 -1
  395. package/internal/components/chart-plot/application-controller.js +21 -25
  396. package/internal/components/chart-plot/application-controller.js.map +1 -1
  397. package/internal/components/chart-plot/focus-outline.js +7 -8
  398. package/internal/components/chart-plot/focus-outline.js.map +1 -1
  399. package/internal/components/chart-plot/index.js +33 -34
  400. package/internal/components/chart-plot/index.js.map +1 -1
  401. package/internal/components/chart-popover/index.js +11 -12
  402. package/internal/components/chart-popover/index.js.map +1 -1
  403. package/internal/components/chart-series-details/index.js +13 -17
  404. package/internal/components/chart-series-details/index.js.map +1 -1
  405. package/internal/components/chart-series-marker/index.js +2 -3
  406. package/internal/components/chart-series-marker/index.js.map +1 -1
  407. package/internal/components/chart-status-container/index.js +8 -10
  408. package/internal/components/chart-status-container/index.js.map +1 -1
  409. package/internal/components/checkbox-icon/index.js +18 -19
  410. package/internal/components/checkbox-icon/index.js.map +1 -1
  411. package/internal/components/dark-ribbon/index.js +13 -14
  412. package/internal/components/dark-ribbon/index.js.map +1 -1
  413. package/internal/components/dropdown/context.js +4 -5
  414. package/internal/components/dropdown/context.js.map +1 -1
  415. package/internal/components/dropdown/dropdown-fit-handler.js +74 -81
  416. package/internal/components/dropdown/dropdown-fit-handler.js.map +1 -1
  417. package/internal/components/dropdown/index.js +57 -65
  418. package/internal/components/dropdown/index.js.map +1 -1
  419. package/internal/components/dropdown-footer/index.js +2 -6
  420. package/internal/components/dropdown-footer/index.js.map +1 -1
  421. package/internal/components/dropdown-status/index.js +5 -7
  422. package/internal/components/dropdown-status/index.js.map +1 -1
  423. package/internal/components/filtering-token/index.js +4 -6
  424. package/internal/components/filtering-token/index.js.map +1 -1
  425. package/internal/components/focus-lock/index.js +10 -11
  426. package/internal/components/focus-lock/index.js.map +1 -1
  427. package/internal/components/focus-lock/utils.js +4 -4
  428. package/internal/components/focus-lock/utils.js.map +1 -1
  429. package/internal/components/live-region/index.js +10 -10
  430. package/internal/components/live-region/index.js.map +1 -1
  431. package/internal/components/masked-input/index.js +22 -24
  432. package/internal/components/masked-input/index.js.map +1 -1
  433. package/internal/components/masked-input/keyboard-handler.js +18 -18
  434. package/internal/components/masked-input/keyboard-handler.js.map +1 -1
  435. package/internal/components/masked-input/use-mask.js +24 -28
  436. package/internal/components/masked-input/use-mask.js.map +1 -1
  437. package/internal/components/masked-input/utils/keys.js +4 -6
  438. package/internal/components/masked-input/utils/keys.js.map +1 -1
  439. package/internal/components/masked-input/utils/mask-format.js +103 -113
  440. package/internal/components/masked-input/utils/mask-format.js.map +1 -1
  441. package/internal/components/masked-input/utils/strings.js +1 -4
  442. package/internal/components/masked-input/utils/strings.js.map +1 -1
  443. package/internal/components/menu-dropdown/index.js +10 -12
  444. package/internal/components/menu-dropdown/index.js.map +1 -1
  445. package/internal/components/option/highlight-match.js +14 -18
  446. package/internal/components/option/highlight-match.js.map +1 -1
  447. package/internal/components/option/index.js +13 -13
  448. package/internal/components/option/index.js.map +1 -1
  449. package/internal/components/option/option-announcer.js +1 -1
  450. package/internal/components/option/option-announcer.js.map +1 -1
  451. package/internal/components/option/option-parts.js +28 -45
  452. package/internal/components/option/option-parts.js.map +1 -1
  453. package/internal/components/option/utils/filter-options.js +16 -19
  454. package/internal/components/option/utils/filter-options.js.map +1 -1
  455. package/internal/components/option/utils/flatten-options.js +15 -15
  456. package/internal/components/option/utils/flatten-options.js.map +1 -1
  457. package/internal/components/option/utils/prepare-options.js +3 -3
  458. package/internal/components/option/utils/prepare-options.js.map +1 -1
  459. package/internal/components/options-list/index.js +19 -20
  460. package/internal/components/options-list/index.js.map +1 -1
  461. package/internal/components/options-list/utils/test-indexes.js +11 -11
  462. package/internal/components/options-list/utils/test-indexes.js.map +1 -1
  463. package/internal/components/options-list/utils/use-highlight-option.js +17 -21
  464. package/internal/components/options-list/utils/use-highlight-option.js.map +1 -1
  465. package/internal/components/options-list/utils/use-ids.js +2 -2
  466. package/internal/components/options-list/utils/use-ids.js.map +1 -1
  467. package/internal/components/options-list/utils/use-keyboard.js +6 -8
  468. package/internal/components/options-list/utils/use-keyboard.js.map +1 -1
  469. package/internal/components/options-list/utils/use-open-state.js +6 -7
  470. package/internal/components/options-list/utils/use-open-state.js.map +1 -1
  471. package/internal/components/portal/index.js +5 -6
  472. package/internal/components/portal/index.js.map +1 -1
  473. package/internal/components/screenreader-only/index.js +1 -2
  474. package/internal/components/screenreader-only/index.js.map +1 -1
  475. package/internal/components/selectable-item/index.js +25 -26
  476. package/internal/components/selectable-item/index.js.map +1 -1
  477. package/internal/components/tab-trap/index.js +1 -2
  478. package/internal/components/tab-trap/index.js.map +1 -1
  479. package/internal/components/transition/index.js +16 -16
  480. package/internal/components/transition/index.js.map +1 -1
  481. package/internal/components/visual-context/index.js +6 -7
  482. package/internal/components/visual-context/index.js.map +1 -1
  483. package/internal/context/app-layout-context.js +2 -2
  484. package/internal/context/app-layout-context.js.map +1 -1
  485. package/internal/context/form-field-context.js +4 -4
  486. package/internal/context/form-field-context.js.map +1 -1
  487. package/internal/context/split-panel-context.js +3 -3
  488. package/internal/context/split-panel-context.js.map +1 -1
  489. package/internal/debounce.js +6 -11
  490. package/internal/debounce.js.map +1 -1
  491. package/internal/environment.js +1 -1
  492. package/internal/events/index.js +12 -16
  493. package/internal/events/index.js.map +1 -1
  494. package/internal/focus-tracker.js +22 -27
  495. package/internal/focus-tracker.js.map +1 -1
  496. package/internal/generated/custom-css-properties/index.js +2 -2
  497. package/internal/generated/custom-css-properties/index.js.map +1 -1
  498. package/internal/hooks/check-controlled/index.js +1 -1
  499. package/internal/hooks/check-controlled/index.js.map +1 -1
  500. package/internal/hooks/container-queries/use-container-breakpoints.js +2 -2
  501. package/internal/hooks/container-queries/use-container-breakpoints.js.map +1 -1
  502. package/internal/hooks/container-queries/use-container-query.js +5 -6
  503. package/internal/hooks/container-queries/use-container-query.js.map +1 -1
  504. package/internal/hooks/container-queries/use-resize-observer.js +13 -13
  505. package/internal/hooks/container-queries/use-resize-observer.js.map +1 -1
  506. package/internal/hooks/focus-visible/index.js +8 -8
  507. package/internal/hooks/focus-visible/index.js.map +1 -1
  508. package/internal/hooks/forward-focus/index.js +5 -9
  509. package/internal/hooks/forward-focus/index.js.map +1 -1
  510. package/internal/hooks/forward-focus/radio-group.js +7 -7
  511. package/internal/hooks/forward-focus/radio-group.js.map +1 -1
  512. package/internal/hooks/use-base-component/component-metadata.js +5 -5
  513. package/internal/hooks/use-base-component/component-metadata.js.map +1 -1
  514. package/internal/hooks/use-base-component/index.js +1 -1
  515. package/internal/hooks/use-base-component/index.js.map +1 -1
  516. package/internal/hooks/use-controllable/index.js +16 -17
  517. package/internal/hooks/use-controllable/index.js.map +1 -1
  518. package/internal/hooks/use-date-cache/index.js +2 -2
  519. package/internal/hooks/use-date-cache/index.js.map +1 -1
  520. package/internal/hooks/use-debounce-callback/index.js +3 -7
  521. package/internal/hooks/use-debounce-callback/index.js.map +1 -1
  522. package/internal/hooks/use-dynamic-overlap/index.js +4 -4
  523. package/internal/hooks/use-dynamic-overlap/index.js.map +1 -1
  524. package/internal/hooks/use-effect-on-update.js +2 -2
  525. package/internal/hooks/use-effect-on-update.js.map +1 -1
  526. package/internal/hooks/use-focus-tracker.js +7 -8
  527. package/internal/hooks/use-focus-tracker.js.map +1 -1
  528. package/internal/hooks/use-has-rendered/index.js +6 -6
  529. package/internal/hooks/use-has-rendered/index.js.map +1 -1
  530. package/internal/hooks/use-merge-refs/index.js +5 -9
  531. package/internal/hooks/use-merge-refs/index.js.map +1 -1
  532. package/internal/hooks/use-mobile/index.js +7 -7
  533. package/internal/hooks/use-mobile/index.js.map +1 -1
  534. package/internal/hooks/use-mouse-down-target.js +5 -5
  535. package/internal/hooks/use-mouse-down-target.js.map +1 -1
  536. package/internal/hooks/use-mutation-observer/index.js +5 -5
  537. package/internal/hooks/use-mutation-observer/index.js.map +1 -1
  538. package/internal/hooks/use-portal-mode-classes/index.js +10 -12
  539. package/internal/hooks/use-portal-mode-classes/index.js.map +1 -1
  540. package/internal/hooks/use-previous/index.js +3 -3
  541. package/internal/hooks/use-previous/index.js.map +1 -1
  542. package/internal/hooks/use-scroll-sync/index.js +8 -9
  543. package/internal/hooks/use-scroll-sync/index.js.map +1 -1
  544. package/internal/hooks/use-singleton-handler/index.js +12 -14
  545. package/internal/hooks/use-singleton-handler/index.js.map +1 -1
  546. package/internal/hooks/use-stable-event-handler/index.js +3 -10
  547. package/internal/hooks/use-stable-event-handler/index.js.map +1 -1
  548. package/internal/hooks/use-telemetry/index.js +2 -2
  549. package/internal/hooks/use-telemetry/index.js.map +1 -1
  550. package/internal/hooks/use-telemetry/telemetry.js +3 -4
  551. package/internal/hooks/use-telemetry/telemetry.js.map +1 -1
  552. package/internal/hooks/use-unique-id/index.js +3 -3
  553. package/internal/hooks/use-unique-id/index.js.map +1 -1
  554. package/internal/hooks/use-visual-mode/index.js +11 -11
  555. package/internal/hooks/use-visual-mode/index.js.map +1 -1
  556. package/internal/is-development.js +1 -1
  557. package/internal/is-development.js.map +1 -1
  558. package/internal/logging.js +2 -2
  559. package/internal/logging.js.map +1 -1
  560. package/internal/manifest.json +1 -1
  561. package/internal/metrics/log-clients.js +18 -27
  562. package/internal/metrics/log-clients.js.map +1 -1
  563. package/internal/metrics/metrics-formatters.js +11 -14
  564. package/internal/metrics/metrics-formatters.js.map +1 -1
  565. package/internal/metrics/metrics.js +27 -33
  566. package/internal/metrics/metrics.js.map +1 -1
  567. package/internal/motion.js +2 -2
  568. package/internal/motion.js.map +1 -1
  569. package/internal/styles/colors.js +1 -1
  570. package/internal/styles/colors.js.map +1 -1
  571. package/internal/utils/browser-scrollbar-size.js +5 -5
  572. package/internal/utils/browser-scrollbar-size.js.map +1 -1
  573. package/internal/utils/calculate-once.js +2 -2
  574. package/internal/utils/calculate-once.js.map +1 -1
  575. package/internal/utils/check-safe-url.js +4 -4
  576. package/internal/utils/check-safe-url.js.map +1 -1
  577. package/internal/utils/create-category-color-scale.js +6 -9
  578. package/internal/utils/create-category-color-scale.js.map +1 -1
  579. package/internal/utils/date-time/format-date-range.js +3 -3
  580. package/internal/utils/date-time/format-date-range.js.map +1 -1
  581. package/internal/utils/date-time/format-date.js +4 -4
  582. package/internal/utils/date-time/format-date.js.map +1 -1
  583. package/internal/utils/date-time/format-time.js +5 -5
  584. package/internal/utils/date-time/format-time.js.map +1 -1
  585. package/internal/utils/date-time/format-timezone-offset.js +4 -4
  586. package/internal/utils/date-time/format-timezone-offset.js.map +1 -1
  587. package/internal/utils/date-time/is-iso-date-only.js +1 -1
  588. package/internal/utils/date-time/is-iso-date-only.js.map +1 -1
  589. package/internal/utils/date-time/join-date-time.js +3 -3
  590. package/internal/utils/date-time/join-date-time.js.map +1 -1
  591. package/internal/utils/date-time/parse-date.js +5 -6
  592. package/internal/utils/date-time/parse-date.js.map +1 -1
  593. package/internal/utils/date-time/parse-timezone-offset.js +5 -5
  594. package/internal/utils/date-time/parse-timezone-offset.js.map +1 -1
  595. package/internal/utils/date-time/shift-timezone-offset.js +6 -6
  596. package/internal/utils/date-time/shift-timezone-offset.js.map +1 -1
  597. package/internal/utils/dom.js +12 -12
  598. package/internal/utils/dom.js.map +1 -1
  599. package/internal/utils/external-props.js +3 -3
  600. package/internal/utils/external-props.js.map +1 -1
  601. package/internal/utils/focus-svg-element.js +1 -1
  602. package/internal/utils/focus-svg-element.js.map +1 -1
  603. package/internal/utils/locale/merge-locales.js +1 -1
  604. package/internal/utils/locale/merge-locales.js.map +1 -1
  605. package/internal/utils/locale/normalize-locale.js +3 -3
  606. package/internal/utils/locale/normalize-locale.js.map +1 -1
  607. package/internal/utils/promises.js +7 -11
  608. package/internal/utils/promises.js.map +1 -1
  609. package/internal/utils/scrollable-containers.js +14 -18
  610. package/internal/utils/scrollable-containers.js.map +1 -1
  611. package/internal/utils/strings/join-strings.js +1 -5
  612. package/internal/utils/strings/join-strings.js.map +1 -1
  613. package/internal/utils/strings/pad-left-zeros.js +1 -1
  614. package/internal/utils/strings/pad-left-zeros.js.map +1 -1
  615. package/internal/utils/throttle.js +10 -15
  616. package/internal/utils/throttle.js.map +1 -1
  617. package/internal/utils/use-container-width.js +3 -5
  618. package/internal/utils/use-container-width.js.map +1 -1
  619. package/line-chart/index.js +6 -6
  620. package/line-chart/index.js.map +1 -1
  621. package/link/index.js +5 -5
  622. package/link/index.js.map +1 -1
  623. package/link/internal.js +25 -25
  624. package/link/internal.js.map +1 -1
  625. package/mixed-line-bar-chart/bar-groups.js +3 -4
  626. package/mixed-line-bar-chart/bar-groups.js.map +1 -1
  627. package/mixed-line-bar-chart/bar-series.js +24 -33
  628. package/mixed-line-bar-chart/bar-series.js.map +1 -1
  629. package/mixed-line-bar-chart/chart-container.js +123 -138
  630. package/mixed-line-bar-chart/chart-container.js.map +1 -1
  631. package/mixed-line-bar-chart/chart-filters.js +10 -17
  632. package/mixed-line-bar-chart/chart-filters.js.map +1 -1
  633. package/mixed-line-bar-chart/chart-legend.js +9 -13
  634. package/mixed-line-bar-chart/chart-legend.js.map +1 -1
  635. package/mixed-line-bar-chart/chart-popover.js +3 -4
  636. package/mixed-line-bar-chart/chart-popover.js.map +1 -1
  637. package/mixed-line-bar-chart/data-series.js +13 -17
  638. package/mixed-line-bar-chart/data-series.js.map +1 -1
  639. package/mixed-line-bar-chart/domain.js +32 -39
  640. package/mixed-line-bar-chart/domain.js.map +1 -1
  641. package/mixed-line-bar-chart/format-highlighted.js +13 -14
  642. package/mixed-line-bar-chart/format-highlighted.js.map +1 -1
  643. package/mixed-line-bar-chart/hooks/use-mouse-hover.js +32 -34
  644. package/mixed-line-bar-chart/hooks/use-mouse-hover.js.map +1 -1
  645. package/mixed-line-bar-chart/hooks/use-navigation.js +48 -57
  646. package/mixed-line-bar-chart/hooks/use-navigation.js.map +1 -1
  647. package/mixed-line-bar-chart/hooks/use-popover.js +7 -7
  648. package/mixed-line-bar-chart/hooks/use-popover.js.map +1 -1
  649. package/mixed-line-bar-chart/index.js +4 -4
  650. package/mixed-line-bar-chart/index.js.map +1 -1
  651. package/mixed-line-bar-chart/internal.js +47 -49
  652. package/mixed-line-bar-chart/internal.js.map +1 -1
  653. package/mixed-line-bar-chart/line-series.js +19 -24
  654. package/mixed-line-bar-chart/line-series.js.map +1 -1
  655. package/mixed-line-bar-chart/make-scaled-bar-groups.js +10 -11
  656. package/mixed-line-bar-chart/make-scaled-bar-groups.js.map +1 -1
  657. package/mixed-line-bar-chart/make-scaled-series.js +30 -38
  658. package/mixed-line-bar-chart/make-scaled-series.js.map +1 -1
  659. package/mixed-line-bar-chart/utils.js +18 -21
  660. package/mixed-line-bar-chart/utils.js.map +1 -1
  661. package/modal/body-scroll.js +4 -4
  662. package/modal/body-scroll.js.map +1 -1
  663. package/modal/index.js +4 -4
  664. package/modal/index.js.map +1 -1
  665. package/modal/internal.js +24 -25
  666. package/modal/internal.js.map +1 -1
  667. package/multiselect/index.js +5 -5
  668. package/multiselect/index.js.map +1 -1
  669. package/multiselect/internal.js +81 -88
  670. package/multiselect/internal.js.map +1 -1
  671. package/package.json +1 -1
  672. package/pagination/index.js +2 -3
  673. package/pagination/index.js.map +1 -1
  674. package/pagination/internal.js +16 -17
  675. package/pagination/internal.js.map +1 -1
  676. package/pagination/utils.js +12 -12
  677. package/pagination/utils.js.map +1 -1
  678. package/pie-chart/index.js +38 -39
  679. package/pie-chart/index.js.map +1 -1
  680. package/pie-chart/labels.js +38 -42
  681. package/pie-chart/labels.js.map +1 -1
  682. package/pie-chart/pie-chart.js +65 -67
  683. package/pie-chart/pie-chart.js.map +1 -1
  684. package/pie-chart/responsive-text.js +9 -10
  685. package/pie-chart/responsive-text.js.map +1 -1
  686. package/pie-chart/segments.js +27 -31
  687. package/pie-chart/segments.js.map +1 -1
  688. package/pie-chart/utils.js +32 -35
  689. package/pie-chart/utils.js.map +1 -1
  690. package/popover/arrow.js +2 -2
  691. package/popover/arrow.js.map +1 -1
  692. package/popover/body.js +16 -19
  693. package/popover/body.js.map +1 -1
  694. package/popover/container.js +52 -55
  695. package/popover/container.js.map +1 -1
  696. package/popover/index.js +6 -6
  697. package/popover/index.js.map +1 -1
  698. package/popover/internal.js +28 -28
  699. package/popover/internal.js.map +1 -1
  700. package/popover/utils/positions.js +54 -66
  701. package/popover/utils/positions.js.map +1 -1
  702. package/progress-bar/index.js +17 -17
  703. package/progress-bar/index.js.map +1 -1
  704. package/progress-bar/internal.js +12 -16
  705. package/progress-bar/internal.js.map +1 -1
  706. package/property-filter/controller.js +117 -125
  707. package/property-filter/controller.js.map +1 -1
  708. package/property-filter/filter-options.js +8 -11
  709. package/property-filter/filter-options.js.map +1 -1
  710. package/property-filter/index.js +50 -50
  711. package/property-filter/index.js.map +1 -1
  712. package/property-filter/property-editor.js +4 -5
  713. package/property-filter/property-editor.js.map +1 -1
  714. package/property-filter/property-filter-autosuggest.js +39 -39
  715. package/property-filter/property-filter-autosuggest.js.map +1 -1
  716. package/property-filter/token-editor.js +55 -66
  717. package/property-filter/token-editor.js.map +1 -1
  718. package/property-filter/token.js +9 -11
  719. package/property-filter/token.js.map +1 -1
  720. package/property-filter/use-load-items.js +8 -12
  721. package/property-filter/use-load-items.js.map +1 -1
  722. package/property-filter/utils.js +13 -18
  723. package/property-filter/utils.js.map +1 -1
  724. package/radio-group/index.js +3 -4
  725. package/radio-group/index.js.map +1 -1
  726. package/radio-group/internal.js +9 -9
  727. package/radio-group/internal.js.map +1 -1
  728. package/radio-group/radio-button.js +12 -15
  729. package/radio-group/radio-button.js.map +1 -1
  730. package/s3-resource-selector/index.js +29 -29
  731. package/s3-resource-selector/index.js.map +1 -1
  732. package/s3-resource-selector/s3-in-context/index.js +16 -18
  733. package/s3-resource-selector/s3-in-context/index.js.map +1 -1
  734. package/s3-resource-selector/s3-in-context/search-input.js +3 -4
  735. package/s3-resource-selector/s3-in-context/search-input.js.map +1 -1
  736. package/s3-resource-selector/s3-in-context/use-versions-fetch.js +16 -16
  737. package/s3-resource-selector/s3-in-context/use-versions-fetch.js.map +1 -1
  738. package/s3-resource-selector/s3-in-context/validation.js +6 -6
  739. package/s3-resource-selector/s3-in-context/validation.js.map +1 -1
  740. package/s3-resource-selector/s3-modal/basic-table.js +19 -20
  741. package/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  742. package/s3-resource-selector/s3-modal/buckets-table.js +11 -13
  743. package/s3-resource-selector/s3-modal/buckets-table.js.map +1 -1
  744. package/s3-resource-selector/s3-modal/column-formats.js +5 -5
  745. package/s3-resource-selector/s3-modal/column-formats.js.map +1 -1
  746. package/s3-resource-selector/s3-modal/empty-state.js +1 -2
  747. package/s3-resource-selector/s3-modal/empty-state.js.map +1 -1
  748. package/s3-resource-selector/s3-modal/index.js +37 -43
  749. package/s3-resource-selector/s3-modal/index.js.map +1 -1
  750. package/s3-resource-selector/s3-modal/objects-table.js +12 -14
  751. package/s3-resource-selector/s3-modal/objects-table.js.map +1 -1
  752. package/s3-resource-selector/s3-modal/table-utils.js +9 -12
  753. package/s3-resource-selector/s3-modal/table-utils.js.map +1 -1
  754. package/s3-resource-selector/s3-modal/versions-table.js +10 -12
  755. package/s3-resource-selector/s3-modal/versions-table.js.map +1 -1
  756. package/s3-resource-selector/utils.js +1 -1
  757. package/s3-resource-selector/utils.js.map +1 -1
  758. package/segmented-control/index.js +2 -3
  759. package/segmented-control/index.js.map +1 -1
  760. package/segmented-control/internal-segmented-control.js +16 -17
  761. package/segmented-control/internal-segmented-control.js.map +1 -1
  762. package/segmented-control/internal.js +14 -14
  763. package/segmented-control/internal.js.map +1 -1
  764. package/segmented-control/segment.js +3 -6
  765. package/segmented-control/segment.js.map +1 -1
  766. package/select/index.js +6 -6
  767. package/select/index.js.map +1 -1
  768. package/select/internal.js +58 -58
  769. package/select/internal.js.map +1 -1
  770. package/select/parts/filter.js +4 -4
  771. package/select/parts/filter.js.map +1 -1
  772. package/select/parts/item.js +10 -10
  773. package/select/parts/item.js.map +1 -1
  774. package/select/parts/multiselect-item.js +13 -14
  775. package/select/parts/multiselect-item.js.map +1 -1
  776. package/select/parts/plain-list.js +13 -15
  777. package/select/parts/plain-list.js.map +1 -1
  778. package/select/parts/trigger.js +7 -9
  779. package/select/parts/trigger.js.map +1 -1
  780. package/select/parts/virtual-list.js +27 -33
  781. package/select/parts/virtual-list.js.map +1 -1
  782. package/select/utils/check-option-value-field.js +2 -2
  783. package/select/utils/check-option-value-field.js.map +1 -1
  784. package/select/utils/connect-options.js +6 -7
  785. package/select/utils/connect-options.js.map +1 -1
  786. package/select/utils/get-item-props.js +4 -7
  787. package/select/utils/get-item-props.js.map +1 -1
  788. package/select/utils/render-options.js +13 -15
  789. package/select/utils/render-options.js.map +1 -1
  790. package/select/utils/use-announcement.js +10 -11
  791. package/select/utils/use-announcement.js.map +1 -1
  792. package/select/utils/use-load-items.js +16 -19
  793. package/select/utils/use-load-items.js.map +1 -1
  794. package/select/utils/use-native-search.js +20 -29
  795. package/select/utils/use-native-search.js.map +1 -1
  796. package/select/utils/use-select.js +89 -96
  797. package/select/utils/use-select.js.map +1 -1
  798. package/side-navigation/index.js +10 -10
  799. package/side-navigation/index.js.map +1 -1
  800. package/side-navigation/internal.js +35 -46
  801. package/side-navigation/internal.js.map +1 -1
  802. package/side-navigation/util.js +9 -12
  803. package/side-navigation/util.js.map +1 -1
  804. package/space-between/index.js +4 -4
  805. package/space-between/index.js.map +1 -1
  806. package/space-between/internal.js +7 -7
  807. package/space-between/internal.js.map +1 -1
  808. package/spinner/index.js +4 -4
  809. package/spinner/index.js.map +1 -1
  810. package/spinner/internal.js +4 -4
  811. package/spinner/internal.js.map +1 -1
  812. package/split-panel/bottom.js +22 -25
  813. package/split-panel/bottom.js.map +1 -1
  814. package/split-panel/icons/bottom-icon-refresh.js +11 -13
  815. package/split-panel/icons/bottom-icon-refresh.js.map +1 -1
  816. package/split-panel/icons/bottom-icon.js +1 -1
  817. package/split-panel/icons/bottom-icon.js.map +1 -1
  818. package/split-panel/icons/resize-handler.js +3 -6
  819. package/split-panel/icons/resize-handler.js.map +1 -1
  820. package/split-panel/icons/side-position-refresh.js +12 -14
  821. package/split-panel/icons/side-position-refresh.js.map +1 -1
  822. package/split-panel/icons/side-position.js +1 -1
  823. package/split-panel/icons/side-position.js.map +1 -1
  824. package/split-panel/index.js +65 -65
  825. package/split-panel/index.js.map +1 -1
  826. package/split-panel/preferences-modal.js +9 -9
  827. package/split-panel/preferences-modal.js.map +1 -1
  828. package/split-panel/side.js +12 -15
  829. package/split-panel/side.js.map +1 -1
  830. package/split-panel/utils/size-utils.js +3 -3
  831. package/split-panel/utils/size-utils.js.map +1 -1
  832. package/split-panel/utils/use-keyboard-events.js +13 -17
  833. package/split-panel/utils/use-keyboard-events.js.map +1 -1
  834. package/split-panel/utils/use-pointer-events.js +12 -13
  835. package/split-panel/utils/use-pointer-events.js.map +1 -1
  836. package/status-indicator/index.js +4 -4
  837. package/status-indicator/index.js.map +1 -1
  838. package/status-indicator/internal.js +9 -10
  839. package/status-indicator/internal.js.map +1 -1
  840. package/table/body-cell/click-away.js +9 -10
  841. package/table/body-cell/click-away.js.map +1 -1
  842. package/table/body-cell/index.js +18 -18
  843. package/table/body-cell/index.js.map +1 -1
  844. package/table/body-cell/inline-editor.js +32 -46
  845. package/table/body-cell/inline-editor.js.map +1 -1
  846. package/table/body-cell/td-element.js +2 -4
  847. package/table/body-cell/td-element.js.map +1 -1
  848. package/table/body-cell/use-stable-scroll-position.js +10 -13
  849. package/table/body-cell/use-stable-scroll-position.js.map +1 -1
  850. package/table/header-cell/index.d.ts +4 -2
  851. package/table/header-cell/index.d.ts.map +1 -1
  852. package/table/header-cell/index.js +33 -34
  853. package/table/header-cell/index.js.map +1 -1
  854. package/table/header-cell/utils.js +10 -12
  855. package/table/header-cell/utils.js.map +1 -1
  856. package/table/index.js +5 -5
  857. package/table/index.js.map +1 -1
  858. package/table/internal.d.ts.map +1 -1
  859. package/table/internal.js +94 -118
  860. package/table/internal.js.map +1 -1
  861. package/table/resizer/index.d.ts +5 -1
  862. package/table/resizer/index.d.ts.map +1 -1
  863. package/table/resizer/index.js +40 -39
  864. package/table/resizer/index.js.map +1 -1
  865. package/table/selection-control/index.d.ts +4 -1
  866. package/table/selection-control/index.d.ts.map +1 -1
  867. package/table/selection-control/index.js +11 -11
  868. package/table/selection-control/index.js.map +1 -1
  869. package/table/sticky-header.d.ts +2 -2
  870. package/table/sticky-header.d.ts.map +1 -1
  871. package/table/sticky-header.js +16 -15
  872. package/table/sticky-header.js.map +1 -1
  873. package/table/sticky-scrollbar.js +5 -6
  874. package/table/sticky-scrollbar.js.map +1 -1
  875. package/table/sticky-scrolling.js +10 -10
  876. package/table/sticky-scrolling.js.map +1 -1
  877. package/table/thead.d.ts +11 -3
  878. package/table/thead.d.ts.map +1 -1
  879. package/table/thead.js +13 -13
  880. package/table/thead.js.map +1 -1
  881. package/table/tools-header.js +4 -5
  882. package/table/tools-header.js.map +1 -1
  883. package/table/use-column-widths.js +34 -44
  884. package/table/use-column-widths.js.map +1 -1
  885. package/table/use-row-events.js +10 -11
  886. package/table/use-row-events.js.map +1 -1
  887. package/table/use-selection.js +75 -81
  888. package/table/use-selection.js.map +1 -1
  889. package/table/use-sticky-header.js +16 -16
  890. package/table/use-sticky-header.js.map +1 -1
  891. package/table/use-sticky-scrollbar.js +42 -42
  892. package/table/use-sticky-scrollbar.js.map +1 -1
  893. package/table/use-table-focus-navigation.js +27 -28
  894. package/table/use-table-focus-navigation.js.map +1 -1
  895. package/table/utils.js +7 -7
  896. package/table/utils.js.map +1 -1
  897. package/tabs/index.js +30 -33
  898. package/tabs/index.js.map +1 -1
  899. package/tabs/scroll-utils.js +12 -13
  900. package/tabs/scroll-utils.js.map +1 -1
  901. package/tabs/smooth-scroll.js +17 -17
  902. package/tabs/smooth-scroll.js.map +1 -1
  903. package/tabs/tab-header-bar.js +61 -66
  904. package/tabs/tab-header-bar.js.map +1 -1
  905. package/tag-editor/index.js +59 -72
  906. package/tag-editor/index.js.map +1 -1
  907. package/tag-editor/internal.js +21 -29
  908. package/tag-editor/internal.js.map +1 -1
  909. package/tag-editor/utils.js +7 -8
  910. package/tag-editor/utils.js.map +1 -1
  911. package/tag-editor/validation.js +16 -18
  912. package/tag-editor/validation.js.map +1 -1
  913. package/text-content/index.js +6 -6
  914. package/text-content/index.js.map +1 -1
  915. package/text-filter/index.js +3 -4
  916. package/text-filter/index.js.map +1 -1
  917. package/text-filter/internal.js +10 -10
  918. package/text-filter/internal.js.map +1 -1
  919. package/textarea/index.js +23 -24
  920. package/textarea/index.js.map +1 -1
  921. package/theming/index.js +2 -3
  922. package/theming/index.js.map +1 -1
  923. package/tiles/index.js +3 -4
  924. package/tiles/index.js.map +1 -1
  925. package/tiles/internal.js +17 -17
  926. package/tiles/internal.js.map +1 -1
  927. package/tiles/tile.js +7 -9
  928. package/tiles/tile.js.map +1 -1
  929. package/time-input/index.js +5 -5
  930. package/time-input/index.js.map +1 -1
  931. package/time-input/internal.js +9 -9
  932. package/time-input/internal.js.map +1 -1
  933. package/toggle/index.js +3 -4
  934. package/toggle/index.js.map +1 -1
  935. package/toggle/internal.js +15 -16
  936. package/toggle/internal.js.map +1 -1
  937. package/token-group/dismiss-button.js +5 -7
  938. package/token-group/dismiss-button.js.map +1 -1
  939. package/token-group/index.js +4 -4
  940. package/token-group/index.js.map +1 -1
  941. package/token-group/internal.js +14 -14
  942. package/token-group/internal.js.map +1 -1
  943. package/token-group/toggle.js +7 -9
  944. package/token-group/toggle.js.map +1 -1
  945. package/top-navigation/1.0-beta/index.js +4 -4
  946. package/top-navigation/1.0-beta/index.js.map +1 -1
  947. package/top-navigation/1.0-beta/internal.js +43 -46
  948. package/top-navigation/1.0-beta/internal.js.map +1 -1
  949. package/top-navigation/1.0-beta/parts/overflow-menu.js +16 -17
  950. package/top-navigation/1.0-beta/parts/overflow-menu.js.map +1 -1
  951. package/top-navigation/1.0-beta/parts/utility.js +9 -12
  952. package/top-navigation/1.0-beta/parts/utility.js.map +1 -1
  953. package/top-navigation/1.0-beta/use-top-navigation.js +46 -54
  954. package/top-navigation/1.0-beta/use-top-navigation.js.map +1 -1
  955. package/top-navigation/index.js +4 -4
  956. package/top-navigation/index.js.map +1 -1
  957. package/top-navigation/internal.js +64 -71
  958. package/top-navigation/internal.js.map +1 -1
  959. package/top-navigation/parts/overflow-menu/header.js +3 -4
  960. package/top-navigation/parts/overflow-menu/header.js.map +1 -1
  961. package/top-navigation/parts/overflow-menu/index.js +4 -5
  962. package/top-navigation/parts/overflow-menu/index.js.map +1 -1
  963. package/top-navigation/parts/overflow-menu/menu-item.js +56 -61
  964. package/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
  965. package/top-navigation/parts/overflow-menu/router.js +11 -13
  966. package/top-navigation/parts/overflow-menu/router.js.map +1 -1
  967. package/top-navigation/parts/overflow-menu/views/submenu.js +6 -8
  968. package/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
  969. package/top-navigation/parts/overflow-menu/views/utilities.js +5 -7
  970. package/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
  971. package/top-navigation/parts/utility.js +12 -15
  972. package/top-navigation/parts/utility.js.map +1 -1
  973. package/top-navigation/use-top-navigation.js +52 -59
  974. package/top-navigation/use-top-navigation.js.map +1 -1
  975. package/tutorial-panel/components/tutorial-detail-view/congratulation-screen.js +5 -7
  976. package/tutorial-panel/components/tutorial-detail-view/congratulation-screen.js.map +1 -1
  977. package/tutorial-panel/components/tutorial-detail-view/index.js +6 -7
  978. package/tutorial-panel/components/tutorial-detail-view/index.js.map +1 -1
  979. package/tutorial-panel/components/tutorial-detail-view/task-list.js +8 -15
  980. package/tutorial-panel/components/tutorial-detail-view/task-list.js.map +1 -1
  981. package/tutorial-panel/components/tutorial-detail-view/task.js +5 -6
  982. package/tutorial-panel/components/tutorial-detail-view/task.js.map +1 -1
  983. package/tutorial-panel/components/tutorial-list/index.js +19 -22
  984. package/tutorial-panel/components/tutorial-list/index.js.map +1 -1
  985. package/tutorial-panel/index.js +8 -8
  986. package/tutorial-panel/index.js.map +1 -1
  987. package/wizard/index.js +28 -28
  988. package/wizard/index.js.map +1 -1
  989. package/wizard/internal/analytics.js +32 -42
  990. package/wizard/internal/analytics.js.map +1 -1
  991. package/wizard/unmount.js +6 -13
  992. package/wizard/unmount.js.map +1 -1
  993. package/wizard/wizard-actions.js +7 -8
  994. package/wizard/wizard-actions.js.map +1 -1
  995. package/wizard/wizard-form-header.js +2 -3
  996. package/wizard/wizard-form-header.js.map +1 -1
  997. package/wizard/wizard-form.js +14 -16
  998. package/wizard/wizard-form.js.map +1 -1
  999. package/wizard/wizard-navigation.js +19 -25
  1000. package/wizard/wizard-navigation.js.map +1 -1
@@ -1,52 +1,47 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { containsOrEqual } from './utils/dom';
4
- var FocusTracker = /** @class */ (function () {
5
- function FocusTracker(node, _a, viewportId) {
6
- var onFocusEnter = _a.onFocusEnter, onFocusLeave = _a.onFocusLeave;
7
- if (viewportId === void 0) { viewportId = ''; }
8
- var _this = this;
4
+ export default class FocusTracker {
5
+ constructor(node, { onFocusEnter, onFocusLeave }, viewportId = '') {
9
6
  this.node = node;
10
7
  this.currentlyFocused = false;
11
- this.focusInListener = function (event) {
12
- var focusIsInside = containsOrEqual(_this.node, event.target);
13
- if (!_this.currentlyFocused && focusIsInside) {
14
- _this.triggerFocus();
8
+ this.focusInListener = (event) => {
9
+ const focusIsInside = containsOrEqual(this.node, event.target);
10
+ if (!this.currentlyFocused && focusIsInside) {
11
+ this.triggerFocus();
15
12
  }
16
13
  };
17
- this.focusOutListener = function (event) {
18
- var nextFocused = event.relatedTarget;
19
- var isNextFocusedInParent = !containsOrEqual(_this.node, nextFocused);
20
- if (_this.viewportId) {
21
- var viewport = document.getElementById(_this.viewportId);
14
+ this.focusOutListener = (event) => {
15
+ const nextFocused = event.relatedTarget;
16
+ let isNextFocusedInParent = !containsOrEqual(this.node, nextFocused);
17
+ if (this.viewportId) {
18
+ const viewport = document.getElementById(this.viewportId);
22
19
  isNextFocusedInParent = isNextFocusedInParent && !containsOrEqual(viewport, nextFocused);
23
20
  }
24
- if (_this.currentlyFocused && (nextFocused === null || isNextFocusedInParent)) {
25
- _this.triggerBlur();
21
+ if (this.currentlyFocused && (nextFocused === null || isNextFocusedInParent)) {
22
+ this.triggerBlur();
26
23
  }
27
24
  };
28
25
  this.onFocusEnter = onFocusEnter;
29
26
  this.onFocusLeave = onFocusLeave;
30
27
  this.viewportId = viewportId;
31
28
  }
32
- FocusTracker.prototype.initialize = function () {
29
+ initialize() {
33
30
  this.currentlyFocused = containsOrEqual(this.node, document.activeElement);
34
31
  document.addEventListener('focusin', this.focusInListener);
35
32
  document.addEventListener('focusout', this.focusOutListener);
36
- };
37
- FocusTracker.prototype.destroy = function () {
33
+ }
34
+ destroy() {
38
35
  document.removeEventListener('focusin', this.focusInListener);
39
36
  document.removeEventListener('focusout', this.focusOutListener);
40
- };
41
- FocusTracker.prototype.triggerBlur = function () {
37
+ }
38
+ triggerBlur() {
42
39
  this.currentlyFocused = false;
43
40
  this.onFocusLeave();
44
- };
45
- FocusTracker.prototype.triggerFocus = function () {
41
+ }
42
+ triggerFocus() {
46
43
  this.currentlyFocused = true;
47
44
  this.onFocusEnter();
48
- };
49
- return FocusTracker;
50
- }());
51
- export default FocusTracker;
45
+ }
46
+ }
52
47
  //# sourceMappingURL=focus-tracker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"focus-tracker.js","sourceRoot":"","sources":["../../../src/internal/focus-tracker.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAO9C;IAOE,sBAAoB,IAAiB,EAAE,EAAmD,EAAE,UAAe;YAAlE,YAAY,kBAAA,EAAE,YAAY,kBAAA;QAAyB,2BAAA,EAAA,eAAe;QAA3G,iBAIC;QAJmB,SAAI,GAAJ,IAAI,CAAa;QAF7B,qBAAgB,GAAG,KAAK,CAAC;QAmBzB,oBAAe,GAAG,UAAC,KAAiB;YAC1C,IAAM,aAAa,GAAG,eAAe,CAAC,KAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAc,CAAC,CAAC;YACvE,IAAI,CAAC,KAAI,CAAC,gBAAgB,IAAI,aAAa,EAAE;gBAC3C,KAAI,CAAC,YAAY,EAAE,CAAC;aACrB;QACH,CAAC,CAAC;QAEM,qBAAgB,GAAG,UAAC,KAAiB;YAC3C,IAAM,WAAW,GAAG,KAAK,CAAC,aAAqB,CAAC;YAChD,IAAI,qBAAqB,GAAG,CAAC,eAAe,CAAC,KAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAErE,IAAI,KAAI,CAAC,UAAU,EAAE;gBACnB,IAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;gBAC1D,qBAAqB,GAAG,qBAAqB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;aAC1F;YACD,IAAI,KAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,qBAAqB,CAAC,EAAE;gBAC5E,KAAI,CAAC,WAAW,EAAE,CAAC;aACpB;QACH,CAAC,CAAC;QAlCA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,iCAAU,GAAV;QACE,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,aAAoB,CAAC,CAAC;QAClF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3D,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAED,8BAAO,GAAP;QACE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9D,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClE,CAAC;IAsBO,kCAAW,GAAnB;QACE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,mCAAY,GAApB;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IACH,mBAAC;AAAD,CAAC,AArDD,IAqDC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { containsOrEqual } from './utils/dom';\n\ninterface FocusTrackerOptions {\n onFocusEnter: () => void;\n onFocusLeave: () => void;\n}\n\nexport default class FocusTracker {\n private readonly onFocusLeave: () => void;\n private readonly onFocusEnter: () => void;\n private readonly viewportId: string;\n\n private currentlyFocused = false;\n\n constructor(private node: HTMLElement, { onFocusEnter, onFocusLeave }: FocusTrackerOptions, viewportId = '') {\n this.onFocusEnter = onFocusEnter;\n this.onFocusLeave = onFocusLeave;\n this.viewportId = viewportId;\n }\n\n initialize() {\n this.currentlyFocused = containsOrEqual(this.node, document.activeElement as any);\n document.addEventListener('focusin', this.focusInListener);\n document.addEventListener('focusout', this.focusOutListener);\n }\n\n destroy() {\n document.removeEventListener('focusin', this.focusInListener);\n document.removeEventListener('focusout', this.focusOutListener);\n }\n\n private focusInListener = (event: FocusEvent) => {\n const focusIsInside = containsOrEqual(this.node, event.target as Node);\n if (!this.currentlyFocused && focusIsInside) {\n this.triggerFocus();\n }\n };\n\n private focusOutListener = (event: FocusEvent) => {\n const nextFocused = event.relatedTarget as Node;\n let isNextFocusedInParent = !containsOrEqual(this.node, nextFocused);\n\n if (this.viewportId) {\n const viewport = document.getElementById(this.viewportId);\n isNextFocusedInParent = isNextFocusedInParent && !containsOrEqual(viewport, nextFocused);\n }\n if (this.currentlyFocused && (nextFocused === null || isNextFocusedInParent)) {\n this.triggerBlur();\n }\n };\n\n private triggerBlur() {\n this.currentlyFocused = false;\n this.onFocusLeave();\n }\n\n private triggerFocus() {\n this.currentlyFocused = true;\n this.onFocusEnter();\n }\n}\n"]}
1
+ {"version":3,"file":"focus-tracker.js","sourceRoot":"","sources":["../../../src/internal/focus-tracker.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAO9C,MAAM,CAAC,OAAO,OAAO,YAAY;IAO/B,YAAoB,IAAiB,EAAE,EAAE,YAAY,EAAE,YAAY,EAAuB,EAAE,UAAU,GAAG,EAAE;QAAvF,SAAI,GAAJ,IAAI,CAAa;QAF7B,qBAAgB,GAAG,KAAK,CAAC;QAmBzB,oBAAe,GAAG,CAAC,KAAiB,EAAE,EAAE;YAC9C,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAc,CAAC,CAAC;YACvE,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,aAAa,EAAE;gBAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;QACH,CAAC,CAAC;QAEM,qBAAgB,GAAG,CAAC,KAAiB,EAAE,EAAE;YAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,aAAqB,CAAC;YAChD,IAAI,qBAAqB,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAErE,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC1D,qBAAqB,GAAG,qBAAqB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;aAC1F;YACD,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,qBAAqB,CAAC,EAAE;gBAC5E,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;QACH,CAAC,CAAC;QAlCA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,UAAU;QACR,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,aAAoB,CAAC,CAAC;QAClF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3D,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO;QACL,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9D,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClE,CAAC;IAsBO,WAAW;QACjB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;CACF","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { containsOrEqual } from './utils/dom';\n\ninterface FocusTrackerOptions {\n onFocusEnter: () => void;\n onFocusLeave: () => void;\n}\n\nexport default class FocusTracker {\n private readonly onFocusLeave: () => void;\n private readonly onFocusEnter: () => void;\n private readonly viewportId: string;\n\n private currentlyFocused = false;\n\n constructor(private node: HTMLElement, { onFocusEnter, onFocusLeave }: FocusTrackerOptions, viewportId = '') {\n this.onFocusEnter = onFocusEnter;\n this.onFocusLeave = onFocusLeave;\n this.viewportId = viewportId;\n }\n\n initialize() {\n this.currentlyFocused = containsOrEqual(this.node, document.activeElement as any);\n document.addEventListener('focusin', this.focusInListener);\n document.addEventListener('focusout', this.focusOutListener);\n }\n\n destroy() {\n document.removeEventListener('focusin', this.focusInListener);\n document.removeEventListener('focusout', this.focusOutListener);\n }\n\n private focusInListener = (event: FocusEvent) => {\n const focusIsInside = containsOrEqual(this.node, event.target as Node);\n if (!this.currentlyFocused && focusIsInside) {\n this.triggerFocus();\n }\n };\n\n private focusOutListener = (event: FocusEvent) => {\n const nextFocused = event.relatedTarget as Node;\n let isNextFocusedInParent = !containsOrEqual(this.node, nextFocused);\n\n if (this.viewportId) {\n const viewport = document.getElementById(this.viewportId);\n isNextFocusedInParent = isNextFocusedInParent && !containsOrEqual(viewport, nextFocused);\n }\n if (this.currentlyFocused && (nextFocused === null || isNextFocusedInParent)) {\n this.triggerBlur();\n }\n };\n\n private triggerBlur() {\n this.currentlyFocused = false;\n this.onFocusLeave();\n }\n\n private triggerFocus() {\n this.currentlyFocused = true;\n this.onFocusEnter();\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- var customCSSPropertiesMap = {
1
+ const customCSSPropertiesMap = {
2
2
  offsetTop: '--awsui-offset-top-lgrg0d',
3
3
  offsetTopWithNotifications: '--awsui-offset-top-with-notifications-lgrg0d',
4
4
  contentGapLeft: '--awsui-content-gap-left-lgrg0d',
@@ -28,7 +28,7 @@ var customCSSPropertiesMap = {
28
28
  flashbarStackIndex: '--awsui-flashbar-stack-index-lgrg0d',
29
29
  flashbarStickyBottomMargin: '--awsui-flashbar-sticky-bottom-margin-lgrg0d',
30
30
  stackedNotificationsBottomMargin: '--awsui-stacked-notifications-bottom-margin-lgrg0d',
31
- stackedNotificationsDefaultBottomMargin: '--awsui-stacked-notifications-default-bottom-margin-lgrg0d'
31
+ stackedNotificationsDefaultBottomMargin: '--awsui-stacked-notifications-default-bottom-margin-lgrg0d',
32
32
  };
33
33
  export default customCSSPropertiesMap;
34
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/generated/custom-css-properties/index.ts"],"names":[],"mappings":"AAAA,IAAM,sBAAsB,GAA2B;IACrD,SAAS,EAAE,2BAA2B;IACtC,0BAA0B,EAAE,8CAA8C;IAC1E,cAAc,EAAE,iCAAiC;IACjD,eAAe,EAAE,kCAAkC;IACnD,aAAa,EAAE,+BAA+B;IAC9C,sBAAsB,EAAE,0CAA0C;IAClE,sBAAsB,EAAE,0CAA0C;IAClE,YAAY,EAAE,8BAA8B;IAC5C,YAAY,EAAE,8BAA8B;IAC5C,WAAW,EAAE,6BAA6B;IAC1C,cAAc,EAAE,iCAAiC;IACjD,eAAe,EAAE,kCAAkC;IACnD,eAAe,EAAE,kCAAkC;IACnD,mBAAmB,EAAE,qCAAqC;IAC1D,aAAa,EAAE,+BAA+B;IAC9C,eAAe,EAAE,iCAAiC;IAClD,4BAA4B,EAAE,iDAAiD;IAC/E,sBAAsB,EAAE,0CAA0C;IAClE,gBAAgB,EAAE,mCAAmC;IACrD,kBAAkB,EAAE,sCAAsC;IAC1D,kBAAkB,EAAE,sCAAsC;IAC1D,aAAa,EAAE,gCAAgC;IAC/C,UAAU,EAAE,4BAA4B;IACxC,6BAA6B,EAAE,iDAAiD;IAChF,mBAAmB,EAAE,sCAAsC;IAC3D,kBAAkB,EAAE,qCAAqC;IACzD,kBAAkB,EAAE,qCAAqC;IACzD,0BAA0B,EAAE,8CAA8C;IAC1E,gCAAgC,EAAE,oDAAoD;IACtF,uCAAuC,EAAE,4DAA4D;CACtG,CAAC;AACF,eAAe,sBAAsB,CAAC","sourcesContent":["const customCSSPropertiesMap: Record<string, string> = {\n offsetTop: '--awsui-offset-top-lgrg0d',\n offsetTopWithNotifications: '--awsui-offset-top-with-notifications-lgrg0d',\n contentGapLeft: '--awsui-content-gap-left-lgrg0d',\n contentGapRight: '--awsui-content-gap-right-lgrg0d',\n contentHeight: '--awsui-content-height-lgrg0d',\n defaultMaxContentWidth: '--awsui-default-max-content-width-lgrg0d',\n defaultMinContentWidth: '--awsui-default-min-content-width-lgrg0d',\n footerHeight: '--awsui-footer-height-lgrg0d',\n headerHeight: '--awsui-header-height-lgrg0d',\n layoutWidth: '--awsui-layout-width-lgrg0d',\n mainOffsetLeft: '--awsui-main-offset-left-lgrg0d',\n maxContentWidth: '--awsui-max-content-width-lgrg0d',\n minContentWidth: '--awsui-min-content-width-lgrg0d',\n notificationsHeight: '--awsui-notifications-height-lgrg0d',\n overlapHeight: '--awsui-overlap-height-lgrg0d',\n navigationWidth: '--awsui-navigation-width-lgrg0d',\n splitPanelReportedHeaderSize: '--awsui-split-panel-reported-header-size-lgrg0d',\n splitPanelReportedSize: '--awsui-split-panel-reported-size-lgrg0d',\n splitPanelHeight: '--awsui-split-panel-height-lgrg0d',\n splitPanelMinWidth: '--awsui-split-panel-min-width-lgrg0d',\n splitPanelMaxWidth: '--awsui-split-panel-max-width-lgrg0d',\n toolsMaxWidth: '--awsui-tools-max-width-lgrg0d',\n toolsWidth: '--awsui-tools-width-lgrg0d',\n toolsAnimationStartingOpacity: '--awsui-tools-animation-starting-opacity-lgrg0d',\n contentScrollMargin: '--awsui-content-scroll-margin-lgrg0d',\n flashbarStackDepth: '--awsui-flashbar-stack-depth-lgrg0d',\n flashbarStackIndex: '--awsui-flashbar-stack-index-lgrg0d',\n flashbarStickyBottomMargin: '--awsui-flashbar-sticky-bottom-margin-lgrg0d',\n stackedNotificationsBottomMargin: '--awsui-stacked-notifications-bottom-margin-lgrg0d',\n stackedNotificationsDefaultBottomMargin: '--awsui-stacked-notifications-default-bottom-margin-lgrg0d',\n};\nexport default customCSSPropertiesMap;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/generated/custom-css-properties/index.ts"],"names":[],"mappings":"AAAA,MAAM,sBAAsB,GAA2B;IACrD,SAAS,EAAE,2BAA2B;IACtC,0BAA0B,EAAE,8CAA8C;IAC1E,cAAc,EAAE,iCAAiC;IACjD,eAAe,EAAE,kCAAkC;IACnD,aAAa,EAAE,+BAA+B;IAC9C,sBAAsB,EAAE,0CAA0C;IAClE,sBAAsB,EAAE,0CAA0C;IAClE,YAAY,EAAE,8BAA8B;IAC5C,YAAY,EAAE,8BAA8B;IAC5C,WAAW,EAAE,6BAA6B;IAC1C,cAAc,EAAE,iCAAiC;IACjD,eAAe,EAAE,kCAAkC;IACnD,eAAe,EAAE,kCAAkC;IACnD,mBAAmB,EAAE,qCAAqC;IAC1D,aAAa,EAAE,+BAA+B;IAC9C,eAAe,EAAE,iCAAiC;IAClD,4BAA4B,EAAE,iDAAiD;IAC/E,sBAAsB,EAAE,0CAA0C;IAClE,gBAAgB,EAAE,mCAAmC;IACrD,kBAAkB,EAAE,sCAAsC;IAC1D,kBAAkB,EAAE,sCAAsC;IAC1D,aAAa,EAAE,gCAAgC;IAC/C,UAAU,EAAE,4BAA4B;IACxC,6BAA6B,EAAE,iDAAiD;IAChF,mBAAmB,EAAE,sCAAsC;IAC3D,kBAAkB,EAAE,qCAAqC;IACzD,kBAAkB,EAAE,qCAAqC;IACzD,0BAA0B,EAAE,8CAA8C;IAC1E,gCAAgC,EAAE,oDAAoD;IACtF,uCAAuC,EAAE,4DAA4D;CACtG,CAAC;AACF,eAAe,sBAAsB,CAAC","sourcesContent":["const customCSSPropertiesMap: Record<string, string> = {\n offsetTop: '--awsui-offset-top-lgrg0d',\n offsetTopWithNotifications: '--awsui-offset-top-with-notifications-lgrg0d',\n contentGapLeft: '--awsui-content-gap-left-lgrg0d',\n contentGapRight: '--awsui-content-gap-right-lgrg0d',\n contentHeight: '--awsui-content-height-lgrg0d',\n defaultMaxContentWidth: '--awsui-default-max-content-width-lgrg0d',\n defaultMinContentWidth: '--awsui-default-min-content-width-lgrg0d',\n footerHeight: '--awsui-footer-height-lgrg0d',\n headerHeight: '--awsui-header-height-lgrg0d',\n layoutWidth: '--awsui-layout-width-lgrg0d',\n mainOffsetLeft: '--awsui-main-offset-left-lgrg0d',\n maxContentWidth: '--awsui-max-content-width-lgrg0d',\n minContentWidth: '--awsui-min-content-width-lgrg0d',\n notificationsHeight: '--awsui-notifications-height-lgrg0d',\n overlapHeight: '--awsui-overlap-height-lgrg0d',\n navigationWidth: '--awsui-navigation-width-lgrg0d',\n splitPanelReportedHeaderSize: '--awsui-split-panel-reported-header-size-lgrg0d',\n splitPanelReportedSize: '--awsui-split-panel-reported-size-lgrg0d',\n splitPanelHeight: '--awsui-split-panel-height-lgrg0d',\n splitPanelMinWidth: '--awsui-split-panel-min-width-lgrg0d',\n splitPanelMaxWidth: '--awsui-split-panel-max-width-lgrg0d',\n toolsMaxWidth: '--awsui-tools-max-width-lgrg0d',\n toolsWidth: '--awsui-tools-width-lgrg0d',\n toolsAnimationStartingOpacity: '--awsui-tools-animation-starting-opacity-lgrg0d',\n contentScrollMargin: '--awsui-content-scroll-margin-lgrg0d',\n flashbarStackDepth: '--awsui-flashbar-stack-depth-lgrg0d',\n flashbarStackIndex: '--awsui-flashbar-stack-index-lgrg0d',\n flashbarStickyBottomMargin: '--awsui-flashbar-sticky-bottom-margin-lgrg0d',\n stackedNotificationsBottomMargin: '--awsui-stacked-notifications-bottom-margin-lgrg0d',\n stackedNotificationsDefaultBottomMargin: '--awsui-stacked-notifications-default-bottom-margin-lgrg0d',\n};\nexport default customCSSPropertiesMap;\n"]}
@@ -4,7 +4,7 @@ import { isDevelopment } from '../../is-development';
4
4
  import { warnOnce } from '../../logging';
5
5
  export default function checkControlled(componentName, propertyName, propertyValue, handlerName, handlerValue) {
6
6
  if (propertyValue !== undefined && handlerValue === undefined && isDevelopment) {
7
- warnOnce(componentName, "You provided `".concat(propertyName, "` prop without an `").concat(handlerName, "` handler. This will render a read-only component. If the component should be mutable, set an `").concat(handlerName, "` handler."));
7
+ warnOnce(componentName, `You provided \`${propertyName}\` prop without an \`${handlerName}\` handler. This will render a read-only component. If the component should be mutable, set an \`${handlerName}\` handler.`);
8
8
  }
9
9
  }
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/check-controlled/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,aAAqB,EACrB,YAAoB,EACpB,aAAoC,EACpC,WAAmB,EACnB,YAAoE;IAEpE,IAAI,aAAa,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,IAAI,aAAa,EAAE;QAC9E,QAAQ,CACN,aAAa,EACb,wBAAkB,YAAY,gCAAwB,WAAW,4GAAoG,WAAW,eAAa,CAC9L,CAAC;KACH;AACH,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { isDevelopment } from '../../is-development';\nimport { warnOnce } from '../../logging';\nimport { NonCancelableEventHandler } from '../../events';\n\nexport default function checkControlled<ValueType, EventDetailType>(\n componentName: string,\n propertyName: string,\n propertyValue: ValueType | undefined,\n handlerName: string,\n handlerValue: NonCancelableEventHandler<EventDetailType> | undefined\n) {\n if (propertyValue !== undefined && handlerValue === undefined && isDevelopment) {\n warnOnce(\n componentName,\n `You provided \\`${propertyName}\\` prop without an \\`${handlerName}\\` handler. This will render a read-only component. If the component should be mutable, set an \\`${handlerName}\\` handler.`\n );\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/check-controlled/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,aAAqB,EACrB,YAAoB,EACpB,aAAoC,EACpC,WAAmB,EACnB,YAAoE;IAEpE,IAAI,aAAa,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,IAAI,aAAa,EAAE;QAC9E,QAAQ,CACN,aAAa,EACb,kBAAkB,YAAY,wBAAwB,WAAW,oGAAoG,WAAW,aAAa,CAC9L,CAAC;KACH;AACH,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { isDevelopment } from '../../is-development';\nimport { warnOnce } from '../../logging';\nimport { NonCancelableEventHandler } from '../../events';\n\nexport default function checkControlled<ValueType, EventDetailType>(\n componentName: string,\n propertyName: string,\n propertyValue: ValueType | undefined,\n handlerName: string,\n handlerValue: NonCancelableEventHandler<EventDetailType> | undefined\n) {\n if (propertyValue !== undefined && handlerValue === undefined && isDevelopment) {\n warnOnce(\n componentName,\n `You provided \\`${propertyName}\\` prop without an \\`${handlerName}\\` handler. This will render a read-only component. If the component should be mutable, set an \\`${handlerName}\\` handler.`\n );\n }\n}\n"]}
@@ -9,8 +9,8 @@ import { getMatchingBreakpoint } from '../../breakpoints';
9
9
  */
10
10
  export function useContainerBreakpoints(triggers) {
11
11
  // triggers.join() gives us a stable value to use for the dependencies argument
12
- var triggersDep = triggers === null || triggers === void 0 ? void 0 : triggers.join();
12
+ const triggersDep = triggers === null || triggers === void 0 ? void 0 : triggers.join();
13
13
  // eslint-disable-next-line react-hooks/exhaustive-deps
14
- return useContainerQuery(function (rect) { return getMatchingBreakpoint(rect.width, triggers); }, [triggersDep]);
14
+ return useContainerQuery(rect => getMatchingBreakpoint(rect.width, triggers), [triggersDep]);
15
15
  }
16
16
  //# sourceMappingURL=use-container-breakpoints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-container-breakpoints.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/container-queries/use-container-breakpoints.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAc,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAY;IAEZ,+EAA+E;IAC/E,IAAM,WAAW,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE,CAAC;IACrC,uDAAuD;IACvD,OAAO,iBAAiB,CAAC,UAAA,IAAI,IAAI,OAAA,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAA3C,CAA2C,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AAC/F,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport { useContainerQuery } from './use-container-query';\nimport { Breakpoint, getMatchingBreakpoint } from '../../breakpoints';\n\n/**\n * Re-renders the component when the breakpoint for the component changes. Scopes the re-renders to the specific\n * breakpoints you want to break at. \"default\" is always included as a fallback, so [\"xs\"] would trigger for\n * \"default\" and \"xs\".\n *\n * @param triggers The relevant breakpoints to trigger for.\n */\nexport function useContainerBreakpoints<T extends readonly Breakpoint[]>(\n triggers?: T\n): [T[number] | 'default' | null, React.Ref<any>] {\n // triggers.join() gives us a stable value to use for the dependencies argument\n const triggersDep = triggers?.join();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useContainerQuery(rect => getMatchingBreakpoint(rect.width, triggers), [triggersDep]);\n}\n"]}
1
+ {"version":3,"file":"use-container-breakpoints.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/container-queries/use-container-breakpoints.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAc,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAY;IAEZ,+EAA+E;IAC/E,MAAM,WAAW,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE,CAAC;IACrC,uDAAuD;IACvD,OAAO,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AAC/F,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport { useContainerQuery } from './use-container-query';\nimport { Breakpoint, getMatchingBreakpoint } from '../../breakpoints';\n\n/**\n * Re-renders the component when the breakpoint for the component changes. Scopes the re-renders to the specific\n * breakpoints you want to break at. \"default\" is always included as a fallback, so [\"xs\"] would trigger for\n * \"default\" and \"xs\".\n *\n * @param triggers The relevant breakpoints to trigger for.\n */\nexport function useContainerBreakpoints<T extends readonly Breakpoint[]>(\n triggers?: T\n): [T[number] | 'default' | null, React.Ref<any>] {\n // triggers.join() gives us a stable value to use for the dependencies argument\n const triggersDep = triggers?.join();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useContainerQuery(rect => getMatchingBreakpoint(rect.width, triggers), [triggersDep]);\n}\n"]}
@@ -20,14 +20,13 @@ import { useResizeObserver } from './use-resize-observer';
20
20
  * @param deps Dependency list to indicate when the mapFn changes
21
21
  * @returns A tuple of observation value and a reference to be attached to the target element.
22
22
  */
23
- export function useContainerQuery(mapFn, deps) {
24
- if (deps === void 0) { deps = []; }
25
- var elementRef = useRef(null);
26
- var _a = useState(null), state = _a[0], setState = _a[1];
23
+ export function useContainerQuery(mapFn, deps = []) {
24
+ const elementRef = useRef(null);
25
+ const [state, setState] = useState(null);
27
26
  // Update getElement when deps change to trigger new observation.
28
27
  // eslint-disable-next-line react-hooks/exhaustive-deps
29
- var getElement = useCallback(function () { return elementRef.current; }, deps);
30
- useResizeObserver(getElement, function (entry) { return setState(function (prevState) { return mapFn(entry, prevState); }); });
28
+ const getElement = useCallback(() => elementRef.current, deps);
29
+ useResizeObserver(getElement, entry => setState(prevState => mapFn(entry, prevState)));
31
30
  return [state, elementRef];
32
31
  }
33
32
  //# sourceMappingURL=use-container-query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-container-query.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/container-queries/use-container-query.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAwD,EACxD,IAA+B;IAA/B,qBAAA,EAAA,SAA+B;IAE/B,IAAM,UAAU,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IACvC,IAAA,KAAoB,QAAQ,CAAW,IAAI,CAAC,EAA3C,KAAK,QAAA,EAAE,QAAQ,QAA4B,CAAC;IAEnD,iEAAiE;IACjE,uDAAuD;IACvD,IAAM,UAAU,GAAG,WAAW,CAAC,cAAM,OAAA,UAAU,CAAC,OAAO,EAAlB,CAAkB,EAAE,IAAI,CAAC,CAAC;IAE/D,iBAAiB,CAAC,UAAU,EAAE,UAAA,KAAK,IAAI,OAAA,QAAQ,CAAC,UAAA,SAAS,IAAI,OAAA,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,EAAvB,CAAuB,CAAC,EAA9C,CAA8C,CAAC,CAAC;IAEvF,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC7B,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef, useState, useCallback } from 'react';\nimport { ContainerQueryEntry } from './interfaces';\nimport { useResizeObserver } from './use-resize-observer';\n\n/**\n * Attaches resize-observer to the referenced element and keeps last observation in state.\n * The hook allows to limit the amount of re-renders to only when the observed value changes.\n *\n * Examples:\n * // Switching display mode under a given condition (only re-renders when mode changes):\n * const [smallMode, ref] = useContainerQuery(entry => entry.contentBoxHeight <= smallModeHeight, [smallModeHeight]);\n *\n * // Obtain observer entity (re-renders with each observation):\n * const [entry, ref] = useContainerQuery(entry => entry);\n *\n * // Using prevState to avoid unnecessary re-renders:\n * const [value, ref] = useContainerQuery((entry, prevValue) => shouldUpdate(entry) ? getValue(entry) : prevValue);\n *\n * @param mapFn Function to convert ContainerQueryEntry to a custom type S\n * @param deps Dependency list to indicate when the mapFn changes\n * @returns A tuple of observation value and a reference to be attached to the target element.\n */\nexport function useContainerQuery<S>(\n mapFn: (entry: ContainerQueryEntry, prev: null | S) => S,\n deps: React.DependencyList = []\n): [null | S, React.Ref<any>] {\n const elementRef = useRef<HTMLElement>(null);\n const [state, setState] = useState<S | null>(null);\n\n // Update getElement when deps change to trigger new observation.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const getElement = useCallback(() => elementRef.current, deps);\n\n useResizeObserver(getElement, entry => setState(prevState => mapFn(entry, prevState)));\n\n return [state, elementRef];\n}\n"]}
1
+ {"version":3,"file":"use-container-query.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/container-queries/use-container-query.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAwD,EACxD,OAA6B,EAAE;IAE/B,MAAM,UAAU,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAW,IAAI,CAAC,CAAC;IAEnD,iEAAiE;IACjE,uDAAuD;IACvD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE/D,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAEvF,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC7B,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef, useState, useCallback } from 'react';\nimport { ContainerQueryEntry } from './interfaces';\nimport { useResizeObserver } from './use-resize-observer';\n\n/**\n * Attaches resize-observer to the referenced element and keeps last observation in state.\n * The hook allows to limit the amount of re-renders to only when the observed value changes.\n *\n * Examples:\n * // Switching display mode under a given condition (only re-renders when mode changes):\n * const [smallMode, ref] = useContainerQuery(entry => entry.contentBoxHeight <= smallModeHeight, [smallModeHeight]);\n *\n * // Obtain observer entity (re-renders with each observation):\n * const [entry, ref] = useContainerQuery(entry => entry);\n *\n * // Using prevState to avoid unnecessary re-renders:\n * const [value, ref] = useContainerQuery((entry, prevValue) => shouldUpdate(entry) ? getValue(entry) : prevValue);\n *\n * @param mapFn Function to convert ContainerQueryEntry to a custom type S\n * @param deps Dependency list to indicate when the mapFn changes\n * @returns A tuple of observation value and a reference to be attached to the target element.\n */\nexport function useContainerQuery<S>(\n mapFn: (entry: ContainerQueryEntry, prev: null | S) => S,\n deps: React.DependencyList = []\n): [null | S, React.Ref<any>] {\n const elementRef = useRef<HTMLElement>(null);\n const [state, setState] = useState<S | null>(null);\n\n // Update getElement when deps change to trigger new observation.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const getElement = useCallback(() => elementRef.current, deps);\n\n useResizeObserver(getElement, entry => setState(prevState => mapFn(entry, prevState)));\n\n return [state, elementRef];\n}\n"]}
@@ -19,12 +19,12 @@ import { useStableEventHandler } from '../use-stable-event-handler';
19
19
  * @param onObserve Function to fire when observation occurs
20
20
  */
21
21
  export function useResizeObserver(elementRef, onObserve) {
22
- var stableOnObserve = useStableEventHandler(onObserve);
22
+ const stableOnObserve = useStableEventHandler(onObserve);
23
23
  // This effect provides a synchronous update required to prevent flakiness when initial state and first observed state are different.
24
24
  // Can potentially conflict with React concurrent mode: https://17.reactjs.org/docs/concurrent-mode-intro.html.
25
25
  // A possible solution would be to make consumers not render any content until the first (asynchronous) observation is available.
26
- useLayoutEffect(function () {
27
- var element = typeof elementRef === 'function' ? elementRef() : elementRef === null || elementRef === void 0 ? void 0 : elementRef.current;
26
+ useLayoutEffect(() => {
27
+ const element = typeof elementRef === 'function' ? elementRef() : elementRef === null || elementRef === void 0 ? void 0 : elementRef.current;
28
28
  if (element) {
29
29
  onObserve(convertResizeObserverEntry(new ResizeObserverEntry(element)));
30
30
  }
@@ -32,20 +32,20 @@ export function useResizeObserver(elementRef, onObserve) {
32
32
  // This effect is only needed for the first render to provide a synchronous update.
33
33
  // eslint-disable-next-line react-hooks/exhaustive-deps
34
34
  []);
35
- useEffect(function () {
36
- var element = typeof elementRef === 'function' ? elementRef() : elementRef === null || elementRef === void 0 ? void 0 : elementRef.current;
35
+ useEffect(() => {
36
+ const element = typeof elementRef === 'function' ? elementRef() : elementRef === null || elementRef === void 0 ? void 0 : elementRef.current;
37
37
  if (element) {
38
- var connected_1 = true;
39
- var observer_1 = new ResizeObserver(function (entries) {
38
+ let connected = true;
39
+ const observer = new ResizeObserver(entries => {
40
40
  // Prevent observe notifications on already unmounted component.
41
- if (connected_1) {
41
+ if (connected) {
42
42
  stableOnObserve(convertResizeObserverEntry(entries[0]));
43
43
  }
44
44
  });
45
- observer_1.observe(element);
46
- return function () {
47
- connected_1 = false;
48
- observer_1.disconnect();
45
+ observer.observe(element);
46
+ return () => {
47
+ connected = false;
48
+ observer.disconnect();
49
49
  };
50
50
  }
51
51
  }, [elementRef, stableOnObserve]);
@@ -58,7 +58,7 @@ function convertResizeObserverEntry(entry) {
58
58
  borderBoxWidth: entry.borderBoxSize[0].inlineSize,
59
59
  borderBoxHeight: entry.borderBoxSize[0].blockSize,
60
60
  width: entry.contentBoxSize[0].inlineSize,
61
- height: entry.contentBoxSize[0].blockSize
61
+ height: entry.contentBoxSize[0].blockSize,
62
62
  };
63
63
  }
64
64
  //# sourceMappingURL=use-resize-observer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-resize-observer.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/container-queries/use-resize-observer.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAc,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAKpE;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAA4B,EAAE,SAA+C;IAC7G,IAAM,eAAe,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAEzD,qIAAqI;IACrI,+GAA+G;IAC/G,iIAAiI;IACjI,eAAe,CACb;QACE,IAAM,OAAO,GAAG,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAC;QACtF,IAAI,OAAO,EAAE;YACX,SAAS,CAAC,0BAA0B,CAAC,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACzE;IACH,CAAC;IACD,mFAAmF;IACnF,uDAAuD;IACvD,EAAE,CACH,CAAC;IAEF,SAAS,CAAC;QACR,IAAM,OAAO,GAAG,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAC;QACtF,IAAI,OAAO,EAAE;YACX,IAAI,WAAS,GAAG,IAAI,CAAC;YACrB,IAAM,UAAQ,GAAG,IAAI,cAAc,CAAC,UAAA,OAAO;gBACzC,gEAAgE;gBAChE,IAAI,WAAS,EAAE;oBACb,eAAe,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzD;YACH,CAAC,CAAC,CAAC;YACH,UAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO;gBACL,WAAS,GAAG,KAAK,CAAC;gBAClB,UAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,CAAC,CAAC;SACH;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,0BAA0B,CAAC,KAA0B;IAC5D,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU;QACnD,gBAAgB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;QACnD,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU;QACjD,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;QACjD,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU;QACzC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;KAC1C,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ResizeObserver, ResizeObserverEntry } from '@juggle/resize-observer';\nimport React, { useEffect, useLayoutEffect } from 'react';\nimport { useStableEventHandler } from '../use-stable-event-handler';\nimport { ContainerQueryEntry } from './interfaces';\n\ntype ElementReference = (() => Element | null) | React.RefObject<Element>;\n\n/**\n * Attaches resize-observer to the referenced element.\n *\n * Examples:\n * // With React reference\n * const ref = useRef(null)\n * useResizeObserver(ref, (entry) => setState(getWidth(entry)))\n *\n * // With ID reference\n * const getElement = useCallback(() => document.getElementById(id), [id])\n * useResizeObserver(getElement, (entry) => setState(getWidth(entry)))\n *\n * @param elementRef React reference or memoized getter for the target element\n * @param onObserve Function to fire when observation occurs\n */\nexport function useResizeObserver(elementRef: ElementReference, onObserve: (entry: ContainerQueryEntry) => void) {\n const stableOnObserve = useStableEventHandler(onObserve);\n\n // This effect provides a synchronous update required to prevent flakiness when initial state and first observed state are different.\n // Can potentially conflict with React concurrent mode: https://17.reactjs.org/docs/concurrent-mode-intro.html.\n // A possible solution would be to make consumers not render any content until the first (asynchronous) observation is available.\n useLayoutEffect(\n () => {\n const element = typeof elementRef === 'function' ? elementRef() : elementRef?.current;\n if (element) {\n onObserve(convertResizeObserverEntry(new ResizeObserverEntry(element)));\n }\n },\n // This effect is only needed for the first render to provide a synchronous update.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n\n useEffect(() => {\n const element = typeof elementRef === 'function' ? elementRef() : elementRef?.current;\n if (element) {\n let connected = true;\n const observer = new ResizeObserver(entries => {\n // Prevent observe notifications on already unmounted component.\n if (connected) {\n stableOnObserve(convertResizeObserverEntry(entries[0]));\n }\n });\n observer.observe(element);\n return () => {\n connected = false;\n observer.disconnect();\n };\n }\n }, [elementRef, stableOnObserve]);\n}\n\nfunction convertResizeObserverEntry(entry: ResizeObserverEntry): ContainerQueryEntry {\n return {\n target: entry.target,\n contentBoxWidth: entry.contentBoxSize[0].inlineSize,\n contentBoxHeight: entry.contentBoxSize[0].blockSize,\n borderBoxWidth: entry.borderBoxSize[0].inlineSize,\n borderBoxHeight: entry.borderBoxSize[0].blockSize,\n width: entry.contentBoxSize[0].inlineSize,\n height: entry.contentBoxSize[0].blockSize,\n };\n}\n"]}
1
+ {"version":3,"file":"use-resize-observer.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/container-queries/use-resize-observer.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAc,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAKpE;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAA4B,EAAE,SAA+C;IAC7G,MAAM,eAAe,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAEzD,qIAAqI;IACrI,+GAA+G;IAC/G,iIAAiI;IACjI,eAAe,CACb,GAAG,EAAE;QACH,MAAM,OAAO,GAAG,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAC;QACtF,IAAI,OAAO,EAAE;YACX,SAAS,CAAC,0BAA0B,CAAC,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACzE;IACH,CAAC;IACD,mFAAmF;IACnF,uDAAuD;IACvD,EAAE,CACH,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAC;QACtF,IAAI,OAAO,EAAE;YACX,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE;gBAC5C,gEAAgE;gBAChE,IAAI,SAAS,EAAE;oBACb,eAAe,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzD;YACH,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO,GAAG,EAAE;gBACV,SAAS,GAAG,KAAK,CAAC;gBAClB,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,CAAC,CAAC;SACH;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,0BAA0B,CAAC,KAA0B;IAC5D,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU;QACnD,gBAAgB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;QACnD,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU;QACjD,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;QACjD,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU;QACzC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;KAC1C,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ResizeObserver, ResizeObserverEntry } from '@juggle/resize-observer';\nimport React, { useEffect, useLayoutEffect } from 'react';\nimport { useStableEventHandler } from '../use-stable-event-handler';\nimport { ContainerQueryEntry } from './interfaces';\n\ntype ElementReference = (() => Element | null) | React.RefObject<Element>;\n\n/**\n * Attaches resize-observer to the referenced element.\n *\n * Examples:\n * // With React reference\n * const ref = useRef(null)\n * useResizeObserver(ref, (entry) => setState(getWidth(entry)))\n *\n * // With ID reference\n * const getElement = useCallback(() => document.getElementById(id), [id])\n * useResizeObserver(getElement, (entry) => setState(getWidth(entry)))\n *\n * @param elementRef React reference or memoized getter for the target element\n * @param onObserve Function to fire when observation occurs\n */\nexport function useResizeObserver(elementRef: ElementReference, onObserve: (entry: ContainerQueryEntry) => void) {\n const stableOnObserve = useStableEventHandler(onObserve);\n\n // This effect provides a synchronous update required to prevent flakiness when initial state and first observed state are different.\n // Can potentially conflict with React concurrent mode: https://17.reactjs.org/docs/concurrent-mode-intro.html.\n // A possible solution would be to make consumers not render any content until the first (asynchronous) observation is available.\n useLayoutEffect(\n () => {\n const element = typeof elementRef === 'function' ? elementRef() : elementRef?.current;\n if (element) {\n onObserve(convertResizeObserverEntry(new ResizeObserverEntry(element)));\n }\n },\n // This effect is only needed for the first render to provide a synchronous update.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n\n useEffect(() => {\n const element = typeof elementRef === 'function' ? elementRef() : elementRef?.current;\n if (element) {\n let connected = true;\n const observer = new ResizeObserver(entries => {\n // Prevent observe notifications on already unmounted component.\n if (connected) {\n stableOnObserve(convertResizeObserverEntry(entries[0]));\n }\n });\n observer.observe(element);\n return () => {\n connected = false;\n observer.disconnect();\n };\n }\n }, [elementRef, stableOnObserve]);\n}\n\nfunction convertResizeObserverEntry(entry: ResizeObserverEntry): ContainerQueryEntry {\n return {\n target: entry.target,\n contentBoxWidth: entry.contentBoxSize[0].inlineSize,\n contentBoxHeight: entry.contentBoxSize[0].blockSize,\n borderBoxWidth: entry.borderBoxSize[0].inlineSize,\n borderBoxHeight: entry.borderBoxSize[0].blockSize,\n width: entry.contentBoxSize[0].inlineSize,\n height: entry.contentBoxSize[0].blockSize,\n };\n}\n"]}
@@ -2,28 +2,28 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { KeyCode } from '../../keycode';
4
4
  import { createSingletonState } from '../use-singleton-handler';
5
- var useFocusSingleton = createSingletonState({
5
+ const useFocusSingleton = createSingletonState({
6
6
  initialState: false,
7
- factory: function (setIsKeyboard) {
8
- var handleMousedown = function () { return setIsKeyboard(false); };
9
- var handleKeydown = function (event) {
7
+ factory: setIsKeyboard => {
8
+ const handleMousedown = () => setIsKeyboard(false);
9
+ const handleKeydown = (event) => {
10
10
  // we do not want to highlight focused element
11
11
  // when special keys are pressed
12
- var isSpecialKey = [KeyCode.shift, KeyCode.alt, KeyCode.control, KeyCode.meta].indexOf(event.keyCode) > -1;
12
+ const isSpecialKey = [KeyCode.shift, KeyCode.alt, KeyCode.control, KeyCode.meta].indexOf(event.keyCode) > -1;
13
13
  if (!isSpecialKey) {
14
14
  setIsKeyboard(true);
15
15
  }
16
16
  };
17
17
  document.addEventListener('mousedown', handleMousedown);
18
18
  document.addEventListener('keydown', handleKeydown);
19
- return function () {
19
+ return () => {
20
20
  document.removeEventListener('mousedown', handleMousedown);
21
21
  document.removeEventListener('keydown', handleKeydown);
22
22
  };
23
- }
23
+ },
24
24
  });
25
25
  export default function useFocusVisible() {
26
- var visible = useFocusSingleton();
26
+ const visible = useFocusSingleton();
27
27
  return visible ? { 'data-awsui-focus-visible': visible } : {};
28
28
  }
29
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/focus-visible/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,IAAM,iBAAiB,GAAG,oBAAoB,CAAU;IACtD,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,UAAA,aAAa;QACpB,IAAM,eAAe,GAAG,cAAM,OAAA,aAAa,CAAC,KAAK,CAAC,EAApB,CAAoB,CAAC;QACnD,IAAM,aAAa,GAAG,UAAC,KAAoB;YACzC,8CAA8C;YAC9C,gCAAgC;YAChC,IAAM,YAAY,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAE7G,IAAI,CAAC,YAAY,EAAE;gBACjB,aAAa,CAAC,IAAI,CAAC,CAAC;aACrB;QACH,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACxD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpD,OAAO;YACL,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC3D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,UAAU,eAAe;IACrC,IAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAChE,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { KeyCode } from '../../keycode';\nimport { createSingletonState } from '../use-singleton-handler';\n\nconst useFocusSingleton = createSingletonState<boolean>({\n initialState: false,\n factory: setIsKeyboard => {\n const handleMousedown = () => setIsKeyboard(false);\n const handleKeydown = (event: KeyboardEvent) => {\n // we do not want to highlight focused element\n // when special keys are pressed\n const isSpecialKey = [KeyCode.shift, KeyCode.alt, KeyCode.control, KeyCode.meta].indexOf(event.keyCode) > -1;\n\n if (!isSpecialKey) {\n setIsKeyboard(true);\n }\n };\n document.addEventListener('mousedown', handleMousedown);\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('mousedown', handleMousedown);\n document.removeEventListener('keydown', handleKeydown);\n };\n },\n});\n\nexport default function useFocusVisible() {\n const visible = useFocusSingleton();\n return visible ? { 'data-awsui-focus-visible': visible } : {};\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/focus-visible/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,iBAAiB,GAAG,oBAAoB,CAAU;IACtD,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,aAAa,CAAC,EAAE;QACvB,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC7C,8CAA8C;YAC9C,gCAAgC;YAChC,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAE7G,IAAI,CAAC,YAAY,EAAE;gBACjB,aAAa,CAAC,IAAI,CAAC,CAAC;aACrB;QACH,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACxD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpD,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC3D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,UAAU,eAAe;IACrC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAChE,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { KeyCode } from '../../keycode';\nimport { createSingletonState } from '../use-singleton-handler';\n\nconst useFocusSingleton = createSingletonState<boolean>({\n initialState: false,\n factory: setIsKeyboard => {\n const handleMousedown = () => setIsKeyboard(false);\n const handleKeydown = (event: KeyboardEvent) => {\n // we do not want to highlight focused element\n // when special keys are pressed\n const isSpecialKey = [KeyCode.shift, KeyCode.alt, KeyCode.control, KeyCode.meta].indexOf(event.keyCode) > -1;\n\n if (!isSpecialKey) {\n setIsKeyboard(true);\n }\n };\n document.addEventListener('mousedown', handleMousedown);\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('mousedown', handleMousedown);\n document.removeEventListener('keydown', handleKeydown);\n };\n },\n});\n\nexport default function useFocusVisible() {\n const visible = useFocusSingleton();\n return visible ? { 'data-awsui-focus-visible': visible } : {};\n}\n"]}
@@ -2,15 +2,11 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { useImperativeHandle } from 'react';
4
4
  export default function useForwardFocus(mainRef, controlRef) {
5
- useImperativeHandle(mainRef, function () { return ({
6
- focus: function () {
5
+ useImperativeHandle(mainRef, () => ({
6
+ focus(...args) {
7
7
  var _a;
8
- var args = [];
9
- for (var _i = 0; _i < arguments.length; _i++) {
10
- args[_i] = arguments[_i];
11
- }
12
- (_a = controlRef.current) === null || _a === void 0 ? void 0 : _a.focus.apply(_a, args);
13
- }
14
- }); }, [controlRef]);
8
+ (_a = controlRef.current) === null || _a === void 0 ? void 0 : _a.focus(...args);
9
+ },
10
+ }), [controlRef]);
15
11
  }
16
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/forward-focus/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAc,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAMnD,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,OAAuB,EACvB,UAA4D;IAE5D,mBAAmB,CACjB,OAAO,EACP,cAAM,OAAA,CAAC;QACL,KAAK;;YAAC,cAAyC;iBAAzC,UAAyC,EAAzC,qBAAyC,EAAzC,IAAyC;gBAAzC,yBAAyC;;YAC7C,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,WAAI,IAAI,CAAC,CAAC;QACrC,CAAC;KACF,CAAC,EAJI,CAIJ,EACF,CAAC,UAAU,CAAC,CACb,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useImperativeHandle } from 'react';\n\nexport interface ForwardFocusRef {\n focus(): void;\n}\n\nexport default function useForwardFocus(\n mainRef: React.Ref<any>,\n controlRef: React.RefObject<{ focus: HTMLElement['focus'] }>\n) {\n useImperativeHandle(\n mainRef,\n () => ({\n focus(...args: Parameters<HTMLElement['focus']>) {\n controlRef.current?.focus(...args);\n },\n }),\n [controlRef]\n );\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/forward-focus/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAc,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAMnD,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,OAAuB,EACvB,UAA4D;IAE5D,mBAAmB,CACjB,OAAO,EACP,GAAG,EAAE,CAAC,CAAC;QACL,KAAK,CAAC,GAAG,IAAsC;;YAC7C,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACrC,CAAC;KACF,CAAC,EACF,CAAC,UAAU,CAAC,CACb,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useImperativeHandle } from 'react';\n\nexport interface ForwardFocusRef {\n focus(): void;\n}\n\nexport default function useForwardFocus(\n mainRef: React.Ref<any>,\n controlRef: React.RefObject<{ focus: HTMLElement['focus'] }>\n) {\n useImperativeHandle(\n mainRef,\n () => ({\n focus(...args: Parameters<HTMLElement['focus']>) {\n controlRef.current?.focus(...args);\n },\n }),\n [controlRef]\n );\n}\n"]}
@@ -6,18 +6,18 @@ import { useImperativeHandle, useRef } from 'react';
6
6
  * child element should be focused.
7
7
  */
8
8
  export default function useRadioGroupForwardFocus(forwardedRef, items, value) {
9
- var itemRef = useRef(null);
10
- var itemIndex = items && findIndex(items, function (item) { return item.value === value; });
11
- useImperativeHandle(forwardedRef, function () { return ({
12
- focus: function () {
9
+ const itemRef = useRef(null);
10
+ const itemIndex = items && findIndex(items, item => item.value === value);
11
+ useImperativeHandle(forwardedRef, () => ({
12
+ focus() {
13
13
  var _a;
14
14
  (_a = itemRef.current) === null || _a === void 0 ? void 0 : _a.focus();
15
- }
16
- }); });
15
+ },
16
+ }));
17
17
  return [itemRef, itemIndex !== undefined && itemIndex !== -1 ? itemIndex : 0];
18
18
  }
19
19
  function findIndex(items, predicate) {
20
- for (var i = 0; i < items.length; i++) {
20
+ for (let i = 0; i < items.length; i++) {
21
21
  if (predicate(items[i])) {
22
22
  return i;
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/forward-focus/radio-group.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAc,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAM3D;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAC/C,YAAwC,EACxC,KAAmD,EACnD,KAAoB;IAEpB,IAAM,OAAO,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IACtD,IAAM,SAAS,GAAG,KAAK,IAAI,SAAS,CAAC,KAAK,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,KAAK,KAAK,KAAK,EAApB,CAAoB,CAAC,CAAC;IAC1E,mBAAmB,CAAC,YAAY,EAAE,cAAM,OAAA,CAAC;QACvC,KAAK;;YACH,MAAA,OAAO,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;QAC3B,CAAC;KACF,CAAC,EAJsC,CAItC,CAAC,CAAC;IAEJ,OAAO,CAAC,OAAO,EAAE,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,SAAS,CAAI,KAAuB,EAAE,SAAwB;IACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YACvB,OAAO,CAAC,CAAC;SACV;KACF;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useImperativeHandle, useRef } from 'react';\n\nexport interface ForwardFocusRef {\n focus(): void;\n}\n\n/**\n * Focus forwarding helper for radio groups where only the first selected\n * child element should be focused.\n */\nexport default function useRadioGroupForwardFocus(\n forwardedRef: React.Ref<ForwardFocusRef>,\n items: ReadonlyArray<{ value: string }> | undefined,\n value: string | null\n): [React.Ref<HTMLInputElement>, number] {\n const itemRef = useRef<HTMLInputElement | null>(null);\n const itemIndex = items && findIndex(items, item => item.value === value);\n useImperativeHandle(forwardedRef, () => ({\n focus() {\n itemRef.current?.focus();\n },\n }));\n\n return [itemRef, itemIndex !== undefined && itemIndex !== -1 ? itemIndex : 0];\n}\n\nfunction findIndex<T>(items: ReadonlyArray<T>, predicate: (t: T) => any): number {\n for (let i = 0; i < items.length; i++) {\n if (predicate(items[i])) {\n return i;\n }\n }\n return -1;\n}\n"]}
1
+ {"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/forward-focus/radio-group.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAc,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAM3D;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAC/C,YAAwC,EACxC,KAAmD,EACnD,KAAoB;IAEpB,MAAM,OAAO,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,KAAK,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAC1E,mBAAmB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;QACvC,KAAK;;YACH,MAAA,OAAO,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;QAC3B,CAAC;KACF,CAAC,CAAC,CAAC;IAEJ,OAAO,CAAC,OAAO,EAAE,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,SAAS,CAAI,KAAuB,EAAE,SAAwB;IACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YACvB,OAAO,CAAC,CAAC;SACV;KACF;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useImperativeHandle, useRef } from 'react';\n\nexport interface ForwardFocusRef {\n focus(): void;\n}\n\n/**\n * Focus forwarding helper for radio groups where only the first selected\n * child element should be focused.\n */\nexport default function useRadioGroupForwardFocus(\n forwardedRef: React.Ref<ForwardFocusRef>,\n items: ReadonlyArray<{ value: string }> | undefined,\n value: string | null\n): [React.Ref<HTMLInputElement>, number] {\n const itemRef = useRef<HTMLInputElement | null>(null);\n const itemIndex = items && findIndex(items, item => item.value === value);\n useImperativeHandle(forwardedRef, () => ({\n focus() {\n itemRef.current?.focus();\n },\n }));\n\n return [itemRef, itemIndex !== undefined && itemIndex !== -1 ? itemIndex : 0];\n}\n\nfunction findIndex<T>(items: ReadonlyArray<T>, predicate: (t: T) => any): number {\n for (let i = 0; i < items.length; i++) {\n if (predicate(items[i])) {\n return i;\n }\n }\n return -1;\n}\n"]}
@@ -2,13 +2,13 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { useEffect, useRef } from 'react';
4
4
  // TODO: move to component-toolkit/internal/base-component
5
- export var COMPONENT_METADATA_KEY = '__awsuiMetadata__';
5
+ export const COMPONENT_METADATA_KEY = '__awsuiMetadata__';
6
6
  export function useComponentMetadata(componentName, packageVersion) {
7
- var elementRef = useRef(null);
8
- useEffect(function () {
7
+ const elementRef = useRef(null);
8
+ useEffect(() => {
9
9
  if (elementRef.current && !Object.prototype.hasOwnProperty.call(elementRef.current, COMPONENT_METADATA_KEY)) {
10
- var node = elementRef.current;
11
- var metadata = { name: componentName, version: packageVersion };
10
+ const node = elementRef.current;
11
+ const metadata = { name: componentName, version: packageVersion };
12
12
  Object.freeze(metadata);
13
13
  Object.defineProperty(node, COMPONENT_METADATA_KEY, { value: metadata, writable: false });
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"component-metadata.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/use-base-component/component-metadata.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1C,0DAA0D;AAE1D,MAAM,CAAC,IAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAE1D,MAAM,UAAU,oBAAoB,CAAU,aAAqB,EAAE,cAAsB;IAUzF,IAAM,UAAU,GAAG,MAAM,CAAI,IAAI,CAAC,CAAC;IAEnC,SAAS,CAAC;QACR,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,sBAAsB,CAAC,EAAE;YAC3G,IAAM,IAAI,GAAG,UAAU,CAAC,OAAyC,CAAC;YAClE,IAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;YAElE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACxB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;SAC3F;QACD,yEAAyE;QACzE,2DAA2D;QAC3D,uDAAuD;IACzD,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAEzB,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useEffect, useRef } from 'react';\n\n// TODO: move to component-toolkit/internal/base-component\n\nexport const COMPONENT_METADATA_KEY = '__awsuiMetadata__';\n\nexport function useComponentMetadata<T = any>(componentName: string, packageVersion: string) {\n interface AwsUiMetadata {\n name: string;\n version: string;\n }\n\n interface HTMLMetadataElement extends HTMLElement {\n [COMPONENT_METADATA_KEY]: AwsUiMetadata;\n }\n\n const elementRef = useRef<T>(null);\n\n useEffect(() => {\n if (elementRef.current && !Object.prototype.hasOwnProperty.call(elementRef.current, COMPONENT_METADATA_KEY)) {\n const node = elementRef.current as unknown as HTMLMetadataElement;\n const metadata = { name: componentName, version: packageVersion };\n\n Object.freeze(metadata);\n Object.defineProperty(node, COMPONENT_METADATA_KEY, { value: metadata, writable: false });\n }\n // Some component refs change dynamically. E.g. The Modal component where\n // the content gets rendered conditionally inside a Portal.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [elementRef.current]);\n\n return elementRef;\n}\n"]}
1
+ {"version":3,"file":"component-metadata.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/use-base-component/component-metadata.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1C,0DAA0D;AAE1D,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAE1D,MAAM,UAAU,oBAAoB,CAAU,aAAqB,EAAE,cAAsB;IAUzF,MAAM,UAAU,GAAG,MAAM,CAAI,IAAI,CAAC,CAAC;IAEnC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,sBAAsB,CAAC,EAAE;YAC3G,MAAM,IAAI,GAAG,UAAU,CAAC,OAAyC,CAAC;YAClE,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;YAElE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACxB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;SAC3F;QACD,yEAAyE;QACzE,2DAA2D;QAC3D,uDAAuD;IACzD,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAEzB,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useEffect, useRef } from 'react';\n\n// TODO: move to component-toolkit/internal/base-component\n\nexport const COMPONENT_METADATA_KEY = '__awsuiMetadata__';\n\nexport function useComponentMetadata<T = any>(componentName: string, packageVersion: string) {\n interface AwsUiMetadata {\n name: string;\n version: string;\n }\n\n interface HTMLMetadataElement extends HTMLElement {\n [COMPONENT_METADATA_KEY]: AwsUiMetadata;\n }\n\n const elementRef = useRef<T>(null);\n\n useEffect(() => {\n if (elementRef.current && !Object.prototype.hasOwnProperty.call(elementRef.current, COMPONENT_METADATA_KEY)) {\n const node = elementRef.current as unknown as HTMLMetadataElement;\n const metadata = { name: componentName, version: packageVersion };\n\n Object.freeze(metadata);\n Object.defineProperty(node, COMPONENT_METADATA_KEY, { value: metadata, writable: false });\n }\n // Some component refs change dynamically. E.g. The Modal component where\n // the content gets rendered conditionally inside a Portal.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [elementRef.current]);\n\n return elementRef;\n}\n"]}
@@ -8,7 +8,7 @@ import { PACKAGE_VERSION } from '../../environment';
8
8
  */
9
9
  export default function useBaseComponent(componentName) {
10
10
  useTelemetry(componentName);
11
- var elementRef = useComponentMetadata(componentName, PACKAGE_VERSION);
11
+ const elementRef = useComponentMetadata(componentName, PACKAGE_VERSION);
12
12
  return { __internalRootRef: elementRef };
13
13
  }
14
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/use-base-component/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMpD;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAU,aAAqB;IACrE,YAAY,CAAC,aAAa,CAAC,CAAC;IAC5B,IAAM,UAAU,GAAG,oBAAoB,CAAI,aAAa,EAAE,eAAe,CAAC,CAAC;IAC3E,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;AAC3C,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { MutableRefObject } from 'react';\nimport { useComponentMetadata } from './component-metadata';\nimport { useTelemetry } from '../use-telemetry';\nimport { PACKAGE_VERSION } from '../../environment';\n\nexport interface InternalBaseComponentProps {\n __internalRootRef?: MutableRefObject<any> | null;\n}\n\n/**\n * This hook is used for components which are exported to customers. The returned __internalRootRef needs to be\n * attached to the (internal) component's root DOM node. The hook takes care of attaching the metadata to this\n * root DOM node and emits the telemetry for this component.\n */\nexport default function useBaseComponent<T = any>(componentName: string) {\n useTelemetry(componentName);\n const elementRef = useComponentMetadata<T>(componentName, PACKAGE_VERSION);\n return { __internalRootRef: elementRef };\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/use-base-component/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMpD;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAU,aAAqB;IACrE,YAAY,CAAC,aAAa,CAAC,CAAC;IAC5B,MAAM,UAAU,GAAG,oBAAoB,CAAI,aAAa,EAAE,eAAe,CAAC,CAAC;IAC3E,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;AAC3C,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { MutableRefObject } from 'react';\nimport { useComponentMetadata } from './component-metadata';\nimport { useTelemetry } from '../use-telemetry';\nimport { PACKAGE_VERSION } from '../../environment';\n\nexport interface InternalBaseComponentProps {\n __internalRootRef?: MutableRefObject<any> | null;\n}\n\n/**\n * This hook is used for components which are exported to customers. The returned __internalRootRef needs to be\n * attached to the (internal) component's root DOM node. The hook takes care of attaching the metadata to this\n * root DOM node and emits the telemetry for this component.\n */\nexport default function useBaseComponent<T = any>(componentName: string) {\n useTelemetry(componentName);\n const elementRef = useComponentMetadata<T>(componentName, PACKAGE_VERSION);\n return { __internalRootRef: elementRef };\n}\n"]}
@@ -40,37 +40,36 @@ import { warnOnce } from '../../logging';
40
40
  * @param defaultValue initial value for uncontrolled mode
41
41
  * @param description property metadata
42
42
  */
43
- export function useControllable(controlledValue, handler, defaultValue, _a) {
44
- var componentName = _a.componentName, changeHandler = _a.changeHandler, controlledProp = _a.controlledProp;
43
+ export function useControllable(controlledValue, handler, defaultValue, { componentName, changeHandler, controlledProp }) {
45
44
  // The decision whether a component is controlled or uncontrolled is made on its first render and cannot be changed afterwards.
46
- var isControlled = React.useState(controlledValue !== undefined)[0];
45
+ const isControlled = React.useState(controlledValue !== undefined)[0];
47
46
  if (isDevelopment) {
48
47
  // Print a warning if the component switches between controlled and uncontrolled mode.
49
48
  // eslint-disable-next-line react-hooks/rules-of-hooks
50
- React.useEffect(function () {
49
+ React.useEffect(() => {
51
50
  if (isControlled && handler === undefined) {
52
- warnOnce(componentName, "You provided a `".concat(controlledProp, "` prop without an `").concat(changeHandler, "` handler. This will render a non-interactive component."));
51
+ warnOnce(componentName, `You provided a \`${controlledProp}\` prop without an \`${changeHandler}\` handler. This will render a non-interactive component.`);
53
52
  }
54
53
  }, [handler, isControlled, componentName, changeHandler, controlledProp]);
55
54
  // eslint-disable-next-line react-hooks/rules-of-hooks
56
- React.useEffect(function () {
57
- var isControlledNow = controlledValue !== undefined;
55
+ React.useEffect(() => {
56
+ const isControlledNow = controlledValue !== undefined;
58
57
  if (isControlled !== isControlledNow) {
59
- var initialMode = isControlled ? 'controlled' : 'uncontrolled';
60
- var modeNow = isControlledNow ? 'controlled' : 'uncontrolled';
61
- warnOnce(componentName, "A component tried to change ".concat(initialMode, " '").concat(controlledProp, "' property to be ").concat(modeNow, ". ") +
62
- "This is not supported. Properties should not switch from ".concat(initialMode, " to ").concat(modeNow, " (or vice versa). ") +
63
- "Decide between using a controlled or uncontrolled mode for the lifetime of the component. " +
64
- "More info: https://fb.me/react-controlled-components");
58
+ const initialMode = isControlled ? 'controlled' : 'uncontrolled';
59
+ const modeNow = isControlledNow ? 'controlled' : 'uncontrolled';
60
+ warnOnce(componentName, `A component tried to change ${initialMode} '${controlledProp}' property to be ${modeNow}. ` +
61
+ `This is not supported. Properties should not switch from ${initialMode} to ${modeNow} (or vice versa). ` +
62
+ `Decide between using a controlled or uncontrolled mode for the lifetime of the component. ` +
63
+ `More info: https://fb.me/react-controlled-components`);
65
64
  }
66
65
  }, [isControlled, controlledProp, componentName, controlledValue]);
67
66
  }
68
67
  // This is the value that is used if the component is uncontrolled.
69
- var _b = React.useState(defaultValue), valueState = _b[0], setValue = _b[1];
70
- var _c = React.useState(false), valueHasBeenSet = _c[0], setValueHasBeenSet = _c[1];
68
+ const [valueState, setValue] = React.useState(defaultValue);
69
+ const [valueHasBeenSet, setValueHasBeenSet] = React.useState(false);
71
70
  // We track changes to the defaultValue
72
- var currentUncontrolledValue = valueHasBeenSet ? valueState : defaultValue;
73
- var setUncontrolledValue = React.useCallback(function (newValue) {
71
+ const currentUncontrolledValue = valueHasBeenSet ? valueState : defaultValue;
72
+ const setUncontrolledValue = React.useCallback((newValue) => {
74
73
  setValue(newValue);
75
74
  setValueHasBeenSet(true);
76
75
  }, [setValue, setValueHasBeenSet]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/use-controllable/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,eAAe,CAC7B,eAA0B,EAC1B,OAAkD,EAClD,YAAuB,EACvB,EAAqE;QAAnE,aAAa,mBAAA,EAAE,aAAa,mBAAA,EAAE,cAAc,oBAAA;IAE9C,+HAA+H;IAC/H,IAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtE,IAAI,aAAa,EAAE;QACjB,sFAAsF;QAEtF,sDAAsD;QACtD,KAAK,CAAC,SAAS,CAAC;YACd,IAAI,YAAY,IAAI,OAAO,KAAK,SAAS,EAAE;gBACzC,QAAQ,CACN,aAAa,EACb,0BAAoB,cAAc,gCAAwB,aAAa,6DAA2D,CACnI,CAAC;aACH;QACH,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;QAE1E,sDAAsD;QACtD,KAAK,CAAC,SAAS,CAAC;YACd,IAAM,eAAe,GAAG,eAAe,KAAK,SAAS,CAAC;YACtD,IAAI,YAAY,KAAK,eAAe,EAAE;gBACpC,IAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC;gBACjE,IAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC;gBAChE,QAAQ,CACN,aAAa,EACb,sCAA+B,WAAW,eAAK,cAAc,8BAAoB,OAAO,OAAI;oBAC1F,mEAA4D,WAAW,iBAAO,OAAO,uBAAoB;oBACzG,4FAA4F;oBAC5F,sDAAsD,CACzD,CAAC;aACH;QACH,CAAC,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;KACpE;IAED,mEAAmE;IAC7D,IAAA,KAAyB,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAApD,UAAU,QAAA,EAAE,QAAQ,QAAgC,CAAC;IACtD,IAAA,KAAwC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAA5D,eAAe,QAAA,EAAE,kBAAkB,QAAyB,CAAC;IAEpE,uCAAuC;IACvC,IAAM,wBAAwB,GAAG,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;IAE7E,IAAM,oBAAoB,GAAG,KAAK,CAAC,WAAW,CAC5C,UAAC,QAAyC;QACxC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnB,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,EACD,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAC/B,CAAC;IAEF,IAAI,YAAY,EAAE;QAChB,OAAO,CAAC,eAAe,EAAE,eAAe,CAAU,CAAC;KACpD;SAAM;QACL,OAAO,CAAC,wBAAwB,EAAE,oBAAoB,CAAU,CAAC;KAClE;AACH,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,KAAK,CAAC,CAAC;AAChB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport * as React from 'react';\nimport { isDevelopment } from '../../is-development';\nimport { warnOnce } from '../../logging';\n\ninterface PropertyDescription {\n componentName: string;\n controlledProp: string;\n changeHandler: string;\n}\n\n/**\n * This hook allows you to make a component that can be used both in controlled mode and uncontrolled mode.\n * Pass in your component's props, and then implement your component as if it was only controlled.\n * When calling onChange callbacks (or the equivalent for your property), you need to call both the callback returned by this function\n * as well as the callback provided in your component's props.\n *\n * A component determines its mode (either controlled or uncontrolled) on the first render and keeps it for its lifetime. The mode cannot\n * be switched later.\n *\n *\n * Example usage:\n * ```jsx\n * const [checked, setChecked] = useControllable(\n * props,\n * props.defaultEnabled ?? false,\n * {\n * componentName: 'MyCheckboxComponent',\n * controlledProp: 'enabled',\n * changeHandler: 'onCheckedStatusChange'\n * }\n * )\n *\n * return\n * <input\n * type=\"checkbox\"\n * checked={checked}\n * onChange={event => {\n * setChecked(event.target.checked);\n * fireNonCancelableEvent(props.onCheckedStatusChange, { checked: event.target.checked })\n * }} />\n * ```\n *\n * @param controlledValue value for the controlled mode\n * @param handler update handler for controlled mode\n * @param defaultValue initial value for uncontrolled mode\n * @param description property metadata\n */\nexport function useControllable<ValueType>(\n controlledValue: ValueType,\n handler: ((...args: any[]) => unknown) | undefined,\n defaultValue: ValueType,\n { componentName, changeHandler, controlledProp }: PropertyDescription\n) {\n // The decision whether a component is controlled or uncontrolled is made on its first render and cannot be changed afterwards.\n const isControlled = React.useState(controlledValue !== undefined)[0];\n\n if (isDevelopment) {\n // Print a warning if the component switches between controlled and uncontrolled mode.\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (isControlled && handler === undefined) {\n warnOnce(\n componentName,\n `You provided a \\`${controlledProp}\\` prop without an \\`${changeHandler}\\` handler. This will render a non-interactive component.`\n );\n }\n }, [handler, isControlled, componentName, changeHandler, controlledProp]);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n const isControlledNow = controlledValue !== undefined;\n if (isControlled !== isControlledNow) {\n const initialMode = isControlled ? 'controlled' : 'uncontrolled';\n const modeNow = isControlledNow ? 'controlled' : 'uncontrolled';\n warnOnce(\n componentName,\n `A component tried to change ${initialMode} '${controlledProp}' property to be ${modeNow}. ` +\n `This is not supported. Properties should not switch from ${initialMode} to ${modeNow} (or vice versa). ` +\n `Decide between using a controlled or uncontrolled mode for the lifetime of the component. ` +\n `More info: https://fb.me/react-controlled-components`\n );\n }\n }, [isControlled, controlledProp, componentName, controlledValue]);\n }\n\n // This is the value that is used if the component is uncontrolled.\n const [valueState, setValue] = React.useState(defaultValue);\n const [valueHasBeenSet, setValueHasBeenSet] = React.useState(false);\n\n // We track changes to the defaultValue\n const currentUncontrolledValue = valueHasBeenSet ? valueState : defaultValue;\n\n const setUncontrolledValue = React.useCallback(\n (newValue: React.SetStateAction<ValueType>) => {\n setValue(newValue);\n setValueHasBeenSet(true);\n },\n [setValue, setValueHasBeenSet]\n );\n\n if (isControlled) {\n return [controlledValue, defaultCallback] as const;\n } else {\n return [currentUncontrolledValue, setUncontrolledValue] as const;\n }\n}\n\nfunction defaultCallback() {\n return void 0;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/use-controllable/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,eAAe,CAC7B,eAA0B,EAC1B,OAAkD,EAClD,YAAuB,EACvB,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAuB;IAErE,+HAA+H;IAC/H,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtE,IAAI,aAAa,EAAE;QACjB,sFAAsF;QAEtF,sDAAsD;QACtD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;YACnB,IAAI,YAAY,IAAI,OAAO,KAAK,SAAS,EAAE;gBACzC,QAAQ,CACN,aAAa,EACb,oBAAoB,cAAc,wBAAwB,aAAa,2DAA2D,CACnI,CAAC;aACH;QACH,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;QAE1E,sDAAsD;QACtD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;YACnB,MAAM,eAAe,GAAG,eAAe,KAAK,SAAS,CAAC;YACtD,IAAI,YAAY,KAAK,eAAe,EAAE;gBACpC,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC;gBACjE,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC;gBAChE,QAAQ,CACN,aAAa,EACb,+BAA+B,WAAW,KAAK,cAAc,oBAAoB,OAAO,IAAI;oBAC1F,4DAA4D,WAAW,OAAO,OAAO,oBAAoB;oBACzG,4FAA4F;oBAC5F,sDAAsD,CACzD,CAAC;aACH;QACH,CAAC,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;KACpE;IAED,mEAAmE;IACnE,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpE,uCAAuC;IACvC,MAAM,wBAAwB,GAAG,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;IAE7E,MAAM,oBAAoB,GAAG,KAAK,CAAC,WAAW,CAC5C,CAAC,QAAyC,EAAE,EAAE;QAC5C,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnB,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,EACD,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAC/B,CAAC;IAEF,IAAI,YAAY,EAAE;QAChB,OAAO,CAAC,eAAe,EAAE,eAAe,CAAU,CAAC;KACpD;SAAM;QACL,OAAO,CAAC,wBAAwB,EAAE,oBAAoB,CAAU,CAAC;KAClE;AACH,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,KAAK,CAAC,CAAC;AAChB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport * as React from 'react';\nimport { isDevelopment } from '../../is-development';\nimport { warnOnce } from '../../logging';\n\ninterface PropertyDescription {\n componentName: string;\n controlledProp: string;\n changeHandler: string;\n}\n\n/**\n * This hook allows you to make a component that can be used both in controlled mode and uncontrolled mode.\n * Pass in your component's props, and then implement your component as if it was only controlled.\n * When calling onChange callbacks (or the equivalent for your property), you need to call both the callback returned by this function\n * as well as the callback provided in your component's props.\n *\n * A component determines its mode (either controlled or uncontrolled) on the first render and keeps it for its lifetime. The mode cannot\n * be switched later.\n *\n *\n * Example usage:\n * ```jsx\n * const [checked, setChecked] = useControllable(\n * props,\n * props.defaultEnabled ?? false,\n * {\n * componentName: 'MyCheckboxComponent',\n * controlledProp: 'enabled',\n * changeHandler: 'onCheckedStatusChange'\n * }\n * )\n *\n * return\n * <input\n * type=\"checkbox\"\n * checked={checked}\n * onChange={event => {\n * setChecked(event.target.checked);\n * fireNonCancelableEvent(props.onCheckedStatusChange, { checked: event.target.checked })\n * }} />\n * ```\n *\n * @param controlledValue value for the controlled mode\n * @param handler update handler for controlled mode\n * @param defaultValue initial value for uncontrolled mode\n * @param description property metadata\n */\nexport function useControllable<ValueType>(\n controlledValue: ValueType,\n handler: ((...args: any[]) => unknown) | undefined,\n defaultValue: ValueType,\n { componentName, changeHandler, controlledProp }: PropertyDescription\n) {\n // The decision whether a component is controlled or uncontrolled is made on its first render and cannot be changed afterwards.\n const isControlled = React.useState(controlledValue !== undefined)[0];\n\n if (isDevelopment) {\n // Print a warning if the component switches between controlled and uncontrolled mode.\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (isControlled && handler === undefined) {\n warnOnce(\n componentName,\n `You provided a \\`${controlledProp}\\` prop without an \\`${changeHandler}\\` handler. This will render a non-interactive component.`\n );\n }\n }, [handler, isControlled, componentName, changeHandler, controlledProp]);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n const isControlledNow = controlledValue !== undefined;\n if (isControlled !== isControlledNow) {\n const initialMode = isControlled ? 'controlled' : 'uncontrolled';\n const modeNow = isControlledNow ? 'controlled' : 'uncontrolled';\n warnOnce(\n componentName,\n `A component tried to change ${initialMode} '${controlledProp}' property to be ${modeNow}. ` +\n `This is not supported. Properties should not switch from ${initialMode} to ${modeNow} (or vice versa). ` +\n `Decide between using a controlled or uncontrolled mode for the lifetime of the component. ` +\n `More info: https://fb.me/react-controlled-components`\n );\n }\n }, [isControlled, controlledProp, componentName, controlledValue]);\n }\n\n // This is the value that is used if the component is uncontrolled.\n const [valueState, setValue] = React.useState(defaultValue);\n const [valueHasBeenSet, setValueHasBeenSet] = React.useState(false);\n\n // We track changes to the defaultValue\n const currentUncontrolledValue = valueHasBeenSet ? valueState : defaultValue;\n\n const setUncontrolledValue = React.useCallback(\n (newValue: React.SetStateAction<ValueType>) => {\n setValue(newValue);\n setValueHasBeenSet(true);\n },\n [setValue, setValueHasBeenSet]\n );\n\n if (isControlled) {\n return [controlledValue, defaultCallback] as const;\n } else {\n return [currentUncontrolledValue, setUncontrolledValue] as const;\n }\n}\n\nfunction defaultCallback() {\n return void 0;\n}\n"]}
@@ -2,8 +2,8 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { useRef } from 'react';
4
4
  export function useDateCache() {
5
- var cacheRef = useRef({});
6
- return function (date) {
5
+ const cacheRef = useRef({});
6
+ return (date) => {
7
7
  if (cacheRef.current[date.getTime()]) {
8
8
  return cacheRef.current[date.getTime()];
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/use-date-cache/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,MAAM,UAAU,YAAY;IAC1B,IAAM,QAAQ,GAAG,MAAM,CAA0B,EAAE,CAAC,CAAC;IAErD,OAAO,UAAC,IAAU;QAChB,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;YACpC,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;SACzC;QACD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useRef } from 'react';\n\nexport function useDateCache(): (date: Date) => Date {\n const cacheRef = useRef<{ [key: number]: Date }>({});\n\n return (date: Date) => {\n if (cacheRef.current[date.getTime()]) {\n return cacheRef.current[date.getTime()];\n }\n cacheRef.current[date.getTime()] = date;\n return date;\n };\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/use-date-cache/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,MAAM,UAAU,YAAY;IAC1B,MAAM,QAAQ,GAAG,MAAM,CAA0B,EAAE,CAAC,CAAC;IAErD,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;YACpC,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;SACzC;QACD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useRef } from 'react';\n\nexport function useDateCache(): (date: Date) => Date {\n const cacheRef = useRef<{ [key: number]: Date }>({});\n\n return (date: Date) => {\n if (cacheRef.current[date.getTime()]) {\n return cacheRef.current[date.getTime()];\n }\n cacheRef.current[date.getTime()] = date;\n return date;\n };\n}\n"]}