@telus-uds/components-base 1.84.0 → 1.85.0

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 (471) hide show
  1. package/CHANGELOG.md +18 -2
  2. package/lib/A11yInfoProvider/index.js +8 -10
  3. package/lib/A11yText/index.js +2 -4
  4. package/lib/ActivityIndicator/Spinner.js +3 -4
  5. package/lib/ActivityIndicator/Spinner.native.js +2 -4
  6. package/lib/Autocomplete/Autocomplete.js +13 -17
  7. package/lib/Autocomplete/Loading.js +4 -2
  8. package/lib/Autocomplete/Suggestions.js +2 -4
  9. package/lib/Badge/Badge.js +2 -4
  10. package/lib/BaseProvider/HydrationContext.js +5 -7
  11. package/lib/Box/Box.js +5 -7
  12. package/lib/Button/Button.js +3 -3
  13. package/lib/Button/ButtonBase.js +2 -7
  14. package/lib/Button/ButtonDropdown.js +3 -3
  15. package/lib/Button/ButtonGroup.js +2 -4
  16. package/lib/Button/ButtonLink.js +3 -3
  17. package/lib/Card/Card.js +159 -16
  18. package/lib/Card/CardBase.js +2 -4
  19. package/lib/Card/PressableCardBase.js +3 -5
  20. package/lib/CardGroup/CardGroup.js +220 -0
  21. package/lib/CardGroup/dictionary.js +15 -0
  22. package/lib/CardGroup/index.js +10 -0
  23. package/lib/Carousel/Carousel.js +67 -57
  24. package/lib/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +2 -4
  25. package/lib/Carousel/CarouselItem/CarouselItem.js +3 -2
  26. package/lib/Carousel/CarouselStepTracker/CarouselStepTracker.js +4 -2
  27. package/lib/Carousel/CarouselTabs/CarouselTabs.js +2 -4
  28. package/lib/Carousel/CarouselTabs/CarouselTabsPanel.js +6 -8
  29. package/lib/Carousel/CarouselTabs/CarouselTabsPanelItem.js +3 -5
  30. package/lib/Carousel/CarouselThumbnail.js +4 -2
  31. package/lib/Carousel/CarouselThumbnailNavigation.js +2 -4
  32. package/lib/Checkbox/Checkbox.js +2 -4
  33. package/lib/Checkbox/CheckboxButton.js +3 -5
  34. package/lib/Checkbox/CheckboxGroup.js +2 -4
  35. package/lib/Checkbox/CheckboxInput.js +4 -14
  36. package/lib/CheckboxCard/CheckboxCard.js +3 -3
  37. package/lib/CheckboxCardGroup/CheckboxCardGroup.js +3 -3
  38. package/lib/ColourToggle/ColourBubble.js +5 -6
  39. package/lib/ColourToggle/ColourToggle.js +3 -5
  40. package/lib/Divider/Divider.js +2 -4
  41. package/lib/ExpandCollapse/Accordion.js +2 -4
  42. package/lib/ExpandCollapse/Control.js +2 -4
  43. package/lib/ExpandCollapse/ExpandCollapse.js +2 -4
  44. package/lib/ExpandCollapse/Panel.js +3 -5
  45. package/lib/Feedback/Feedback.js +2 -4
  46. package/lib/Fieldset/Fieldset.js +2 -4
  47. package/lib/Fieldset/FieldsetContainer.js +2 -4
  48. package/lib/Fieldset/FieldsetContainer.native.js +2 -4
  49. package/lib/Fieldset/Legend.js +2 -4
  50. package/lib/Fieldset/Legend.native.js +2 -4
  51. package/lib/FlexGrid/Col/Col.js +3 -5
  52. package/lib/FlexGrid/FlexGrid.js +2 -4
  53. package/lib/FlexGrid/Row/Row.js +2 -4
  54. package/lib/Footnote/Footnote.js +9 -9
  55. package/lib/Footnote/FootnoteLink.js +5 -3
  56. package/lib/HorizontalScroll/HorizontalScroll.js +8 -10
  57. package/lib/HorizontalScroll/HorizontalScrollButton.js +2 -4
  58. package/lib/HorizontalScroll/ScrollViewEnd.js +5 -10
  59. package/lib/HorizontalScroll/ScrollViewEnd.native.js +2 -4
  60. package/lib/Icon/Icon.js +2 -4
  61. package/lib/Icon/IconText.js +3 -3
  62. package/lib/IconButton/IconButton.js +2 -4
  63. package/lib/InputLabel/InputLabel.js +2 -4
  64. package/lib/InputLabel/LabelContent.js +2 -4
  65. package/lib/InputLabel/LabelContent.native.js +2 -4
  66. package/lib/InputSupports/InputSupports.js +4 -5
  67. package/lib/Link/ChevronLink.js +2 -4
  68. package/lib/Link/InlinePressable.js +8 -7
  69. package/lib/Link/InlinePressable.native.js +10 -8
  70. package/lib/Link/Link.js +2 -4
  71. package/lib/Link/LinkBase.js +2 -4
  72. package/lib/Link/TextButton.js +2 -4
  73. package/lib/List/List.js +13 -11
  74. package/lib/List/ListItem.js +2 -4
  75. package/lib/List/ListItemBase.js +6 -10
  76. package/lib/List/ListItemContent.js +4 -2
  77. package/lib/List/ListItemMark.js +4 -2
  78. package/lib/List/PressableListItemBase.js +2 -4
  79. package/lib/Listbox/GroupControl.js +4 -2
  80. package/lib/Listbox/Listbox.js +6 -6
  81. package/lib/Listbox/ListboxContext.js +3 -4
  82. package/lib/Listbox/ListboxGroup.js +2 -4
  83. package/lib/Listbox/ListboxItem.js +2 -6
  84. package/lib/Listbox/ListboxOverlay.js +2 -6
  85. package/lib/Listbox/PressableItem.js +2 -6
  86. package/lib/Modal/Modal.js +5 -7
  87. package/lib/Modal/ModalContent.js +7 -7
  88. package/lib/Modal/WebModal.js +16 -9
  89. package/lib/MultiSelectFilter/ModalOverlay.js +2 -4
  90. package/lib/MultiSelectFilter/MultiSelectFilter.js +10 -10
  91. package/lib/Notification/Notification.js +5 -7
  92. package/lib/OrderedList/Item.js +4 -10
  93. package/lib/OrderedList/ItemBase.js +2 -4
  94. package/lib/OrderedList/OrderedList.js +5 -13
  95. package/lib/OrderedList/OrderedListBase.js +2 -4
  96. package/lib/Pagination/PageButton.js +1 -1
  97. package/lib/Pagination/Pagination.js +1 -1
  98. package/lib/Pagination/SideButton.js +2 -4
  99. package/lib/PriceLockup/PriceLockup.js +5 -5
  100. package/lib/ProductCard/ProductCard.js +3 -2
  101. package/lib/ProductCardGroup/ProductCardGroup.js +5 -6
  102. package/lib/Progress/Progress.js +2 -4
  103. package/lib/Progress/ProgressBar.js +2 -4
  104. package/lib/Progress/ProgressBarBackground.js +2 -4
  105. package/lib/QuickLinks/QuickLinks.js +2 -4
  106. package/lib/QuickLinks/QuickLinksCard.js +4 -2
  107. package/lib/QuickLinks/QuickLinksItem.js +2 -4
  108. package/lib/QuickLinksFeature/QuickLinksFeature.js +9 -7
  109. package/lib/QuickLinksFeature/QuickLinksFeatureItem.js +10 -12
  110. package/lib/Radio/Radio.js +3 -3
  111. package/lib/Radio/RadioButton.js +61 -15
  112. package/lib/Radio/RadioGroup.js +2 -4
  113. package/lib/Radio/RadioInput.js +6 -18
  114. package/lib/RadioCard/RadioCard.js +3 -3
  115. package/lib/RadioCard/RadioCardGroup.js +3 -3
  116. package/lib/Responsive/Responsive.js +3 -2
  117. package/lib/Responsive/ResponsiveWithMediaQueryStyleSheet.js +3 -2
  118. package/lib/Search/Search.js +2 -4
  119. package/lib/Select/Group.js +4 -2
  120. package/lib/Select/Item.js +4 -2
  121. package/lib/Select/Picker.js +2 -4
  122. package/lib/Select/Picker.native.js +3 -5
  123. package/lib/Select/Select.js +4 -6
  124. package/lib/SideNav/Item.js +2 -4
  125. package/lib/SideNav/ItemContent.js +4 -2
  126. package/lib/SideNav/ItemsGroup.js +2 -4
  127. package/lib/SideNav/SideNav.js +2 -2
  128. package/lib/Skeleton/Skeleton.js +2 -4
  129. package/lib/SkipLink/SkipLink.js +2 -4
  130. package/lib/Spacer/Spacer.js +2 -4
  131. package/lib/StackView/StackView.js +2 -4
  132. package/lib/StackView/StackWrap.js +3 -5
  133. package/lib/StackView/StackWrapBox.js +2 -4
  134. package/lib/StackView/StackWrapGap.js +2 -4
  135. package/lib/StackView/getStackedContent.js +3 -3
  136. package/lib/StepTracker/Step.js +4 -2
  137. package/lib/StepTracker/StepTracker.js +2 -4
  138. package/lib/Tabs/Tabs.js +4 -4
  139. package/lib/Tabs/TabsItem.js +3 -5
  140. package/lib/Tags/Tags.js +2 -4
  141. package/lib/TextInput/TextArea.js +3 -5
  142. package/lib/TextInput/TextInput.js +2 -4
  143. package/lib/TextInput/TextInputBase.js +7 -9
  144. package/lib/ThemeProvider/ThemeProvider.js +5 -7
  145. package/lib/Timeline/Timeline.js +2 -4
  146. package/lib/ToggleSwitch/ToggleSwitch.js +2 -4
  147. package/lib/ToggleSwitch/ToggleSwitchGroup.js +2 -4
  148. package/lib/Tooltip/Tooltip.js +6 -8
  149. package/lib/Tooltip/Tooltip.native.js +12 -14
  150. package/lib/TooltipButton/TooltipButton.js +4 -2
  151. package/lib/Typography/Typography.js +2 -4
  152. package/lib/Validator/Validator.js +11 -13
  153. package/lib/ViewportProvider/ViewportProvider.js +2 -4
  154. package/lib/index.js +8 -0
  155. package/lib/utils/BaseView/BaseView.js +2 -4
  156. package/lib/utils/children.js +4 -6
  157. package/lib/utils/withLinkRouter.js +3 -5
  158. package/lib-module/A11yInfoProvider/index.js +8 -8
  159. package/lib-module/A11yText/index.js +2 -2
  160. package/lib-module/ActivityIndicator/Spinner.js +2 -2
  161. package/lib-module/ActivityIndicator/Spinner.native.js +2 -2
  162. package/lib-module/Autocomplete/Autocomplete.js +13 -14
  163. package/lib-module/Autocomplete/Loading.js +4 -2
  164. package/lib-module/Autocomplete/Suggestions.js +2 -2
  165. package/lib-module/Badge/Badge.js +2 -2
  166. package/lib-module/BaseProvider/HydrationContext.js +5 -5
  167. package/lib-module/Box/Box.js +5 -5
  168. package/lib-module/Button/Button.js +2 -2
  169. package/lib-module/Button/ButtonBase.js +2 -5
  170. package/lib-module/Button/ButtonDropdown.js +2 -2
  171. package/lib-module/Button/ButtonGroup.js +2 -2
  172. package/lib-module/Button/ButtonLink.js +2 -2
  173. package/lib-module/Card/Card.js +159 -14
  174. package/lib-module/Card/CardBase.js +2 -2
  175. package/lib-module/Card/PressableCardBase.js +4 -4
  176. package/lib-module/CardGroup/CardGroup.js +210 -0
  177. package/lib-module/CardGroup/dictionary.js +8 -0
  178. package/lib-module/CardGroup/index.js +2 -0
  179. package/lib-module/Carousel/Carousel.js +67 -55
  180. package/lib-module/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +2 -2
  181. package/lib-module/Carousel/CarouselItem/CarouselItem.js +3 -2
  182. package/lib-module/Carousel/CarouselStepTracker/CarouselStepTracker.js +4 -2
  183. package/lib-module/Carousel/CarouselTabs/CarouselTabs.js +2 -2
  184. package/lib-module/Carousel/CarouselTabs/CarouselTabsPanel.js +6 -6
  185. package/lib-module/Carousel/CarouselTabs/CarouselTabsPanelItem.js +3 -3
  186. package/lib-module/Carousel/CarouselThumbnail.js +4 -2
  187. package/lib-module/Carousel/CarouselThumbnailNavigation.js +2 -2
  188. package/lib-module/Checkbox/Checkbox.js +2 -2
  189. package/lib-module/Checkbox/CheckboxButton.js +3 -3
  190. package/lib-module/Checkbox/CheckboxGroup.js +2 -2
  191. package/lib-module/Checkbox/CheckboxInput.js +4 -12
  192. package/lib-module/CheckboxCard/CheckboxCard.js +2 -2
  193. package/lib-module/CheckboxCardGroup/CheckboxCardGroup.js +2 -2
  194. package/lib-module/ColourToggle/ColourBubble.js +5 -4
  195. package/lib-module/ColourToggle/ColourToggle.js +3 -3
  196. package/lib-module/Divider/Divider.js +2 -2
  197. package/lib-module/ExpandCollapse/Accordion.js +2 -2
  198. package/lib-module/ExpandCollapse/Control.js +2 -2
  199. package/lib-module/ExpandCollapse/ExpandCollapse.js +2 -2
  200. package/lib-module/ExpandCollapse/Panel.js +3 -3
  201. package/lib-module/Feedback/Feedback.js +2 -2
  202. package/lib-module/Fieldset/Fieldset.js +2 -2
  203. package/lib-module/Fieldset/FieldsetContainer.js +2 -2
  204. package/lib-module/Fieldset/FieldsetContainer.native.js +2 -2
  205. package/lib-module/Fieldset/Legend.js +2 -2
  206. package/lib-module/Fieldset/Legend.native.js +2 -2
  207. package/lib-module/FlexGrid/Col/Col.js +3 -3
  208. package/lib-module/FlexGrid/FlexGrid.js +2 -2
  209. package/lib-module/FlexGrid/Row/Row.js +2 -2
  210. package/lib-module/Footnote/Footnote.js +9 -7
  211. package/lib-module/Footnote/FootnoteLink.js +5 -4
  212. package/lib-module/HorizontalScroll/HorizontalScroll.js +8 -8
  213. package/lib-module/HorizontalScroll/HorizontalScrollButton.js +2 -2
  214. package/lib-module/HorizontalScroll/ScrollViewEnd.js +5 -8
  215. package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +2 -2
  216. package/lib-module/Icon/Icon.js +2 -2
  217. package/lib-module/Icon/IconText.js +2 -2
  218. package/lib-module/IconButton/IconButton.js +2 -2
  219. package/lib-module/InputLabel/InputLabel.js +2 -2
  220. package/lib-module/InputLabel/LabelContent.js +2 -2
  221. package/lib-module/InputLabel/LabelContent.native.js +2 -2
  222. package/lib-module/InputSupports/InputSupports.js +4 -3
  223. package/lib-module/Link/ChevronLink.js +2 -2
  224. package/lib-module/Link/InlinePressable.js +10 -4
  225. package/lib-module/Link/InlinePressable.native.js +12 -6
  226. package/lib-module/Link/Link.js +2 -2
  227. package/lib-module/Link/LinkBase.js +2 -2
  228. package/lib-module/Link/TextButton.js +2 -2
  229. package/lib-module/List/List.js +13 -9
  230. package/lib-module/List/ListItem.js +2 -2
  231. package/lib-module/List/ListItemBase.js +6 -8
  232. package/lib-module/List/ListItemContent.js +4 -2
  233. package/lib-module/List/ListItemMark.js +4 -2
  234. package/lib-module/List/PressableListItemBase.js +2 -2
  235. package/lib-module/Listbox/GroupControl.js +4 -2
  236. package/lib-module/Listbox/Listbox.js +7 -7
  237. package/lib-module/Listbox/ListboxContext.js +2 -2
  238. package/lib-module/Listbox/ListboxGroup.js +2 -2
  239. package/lib-module/Listbox/ListboxItem.js +2 -3
  240. package/lib-module/Listbox/ListboxOverlay.js +2 -3
  241. package/lib-module/Listbox/PressableItem.js +2 -3
  242. package/lib-module/Modal/Modal.js +5 -5
  243. package/lib-module/Modal/ModalContent.js +7 -5
  244. package/lib-module/Modal/WebModal.js +16 -9
  245. package/lib-module/MultiSelectFilter/ModalOverlay.js +2 -2
  246. package/lib-module/MultiSelectFilter/MultiSelectFilter.js +10 -8
  247. package/lib-module/Notification/Notification.js +5 -5
  248. package/lib-module/OrderedList/Item.js +4 -8
  249. package/lib-module/OrderedList/ItemBase.js +2 -2
  250. package/lib-module/OrderedList/OrderedList.js +6 -12
  251. package/lib-module/OrderedList/OrderedListBase.js +2 -2
  252. package/lib-module/Pagination/PageButton.js +2 -2
  253. package/lib-module/Pagination/Pagination.js +2 -2
  254. package/lib-module/Pagination/SideButton.js +2 -2
  255. package/lib-module/PriceLockup/PriceLockup.js +5 -5
  256. package/lib-module/ProductCard/ProductCard.js +3 -2
  257. package/lib-module/ProductCardGroup/ProductCardGroup.js +5 -4
  258. package/lib-module/Progress/Progress.js +2 -2
  259. package/lib-module/Progress/ProgressBar.js +2 -2
  260. package/lib-module/Progress/ProgressBarBackground.js +2 -2
  261. package/lib-module/QuickLinks/QuickLinks.js +2 -2
  262. package/lib-module/QuickLinks/QuickLinksCard.js +4 -2
  263. package/lib-module/QuickLinks/QuickLinksItem.js +2 -2
  264. package/lib-module/QuickLinksFeature/QuickLinksFeature.js +9 -5
  265. package/lib-module/QuickLinksFeature/QuickLinksFeatureItem.js +10 -10
  266. package/lib-module/Radio/Radio.js +2 -2
  267. package/lib-module/Radio/RadioButton.js +62 -14
  268. package/lib-module/Radio/RadioGroup.js +2 -2
  269. package/lib-module/Radio/RadioInput.js +6 -16
  270. package/lib-module/RadioCard/RadioCard.js +2 -2
  271. package/lib-module/RadioCard/RadioCardGroup.js +2 -2
  272. package/lib-module/Responsive/Responsive.js +3 -2
  273. package/lib-module/Responsive/ResponsiveWithMediaQueryStyleSheet.js +3 -2
  274. package/lib-module/Search/Search.js +2 -2
  275. package/lib-module/Select/Group.js +4 -2
  276. package/lib-module/Select/Item.js +4 -2
  277. package/lib-module/Select/Picker.js +2 -2
  278. package/lib-module/Select/Picker.native.js +3 -3
  279. package/lib-module/Select/Select.js +4 -4
  280. package/lib-module/SideNav/Item.js +2 -2
  281. package/lib-module/SideNav/ItemContent.js +4 -2
  282. package/lib-module/SideNav/ItemsGroup.js +2 -2
  283. package/lib-module/SideNav/SideNav.js +3 -3
  284. package/lib-module/Skeleton/Skeleton.js +2 -2
  285. package/lib-module/SkipLink/SkipLink.js +2 -2
  286. package/lib-module/Spacer/Spacer.js +2 -2
  287. package/lib-module/StackView/StackView.js +2 -2
  288. package/lib-module/StackView/StackWrap.js +3 -3
  289. package/lib-module/StackView/StackWrapBox.js +2 -2
  290. package/lib-module/StackView/StackWrapGap.js +2 -2
  291. package/lib-module/StackView/getStackedContent.js +4 -4
  292. package/lib-module/StepTracker/Step.js +4 -2
  293. package/lib-module/StepTracker/StepTracker.js +2 -2
  294. package/lib-module/Tabs/Tabs.js +3 -3
  295. package/lib-module/Tabs/TabsItem.js +3 -3
  296. package/lib-module/Tags/Tags.js +2 -2
  297. package/lib-module/TextInput/TextArea.js +3 -3
  298. package/lib-module/TextInput/TextInput.js +2 -2
  299. package/lib-module/TextInput/TextInputBase.js +7 -7
  300. package/lib-module/ThemeProvider/ThemeProvider.js +5 -5
  301. package/lib-module/Timeline/Timeline.js +2 -2
  302. package/lib-module/ToggleSwitch/ToggleSwitch.js +2 -2
  303. package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +2 -2
  304. package/lib-module/Tooltip/Tooltip.js +6 -6
  305. package/lib-module/Tooltip/Tooltip.native.js +12 -12
  306. package/lib-module/TooltipButton/TooltipButton.js +4 -2
  307. package/lib-module/Typography/Typography.js +2 -2
  308. package/lib-module/Validator/Validator.js +11 -11
  309. package/lib-module/ViewportProvider/ViewportProvider.js +2 -2
  310. package/lib-module/index.js +1 -0
  311. package/lib-module/utils/BaseView/BaseView.js +2 -2
  312. package/lib-module/utils/children.js +4 -4
  313. package/lib-module/utils/withLinkRouter.js +3 -3
  314. package/package.json +2 -2
  315. package/src/A11yInfoProvider/index.jsx +8 -8
  316. package/src/A11yText/index.jsx +2 -2
  317. package/src/ActivityIndicator/Spinner.jsx +2 -2
  318. package/src/ActivityIndicator/Spinner.native.jsx +2 -2
  319. package/src/Autocomplete/Autocomplete.jsx +15 -14
  320. package/src/Autocomplete/Loading.jsx +6 -3
  321. package/src/Autocomplete/Suggestions.jsx +2 -2
  322. package/src/Badge/Badge.jsx +2 -2
  323. package/src/BaseProvider/HydrationContext.jsx +5 -5
  324. package/src/Box/Box.jsx +5 -5
  325. package/src/Button/Button.jsx +11 -9
  326. package/src/Button/ButtonBase.jsx +2 -3
  327. package/src/Button/ButtonDropdown.jsx +2 -2
  328. package/src/Button/ButtonGroup.jsx +2 -2
  329. package/src/Button/ButtonLink.jsx +2 -2
  330. package/src/Card/Card.jsx +151 -11
  331. package/src/Card/CardBase.jsx +2 -2
  332. package/src/Card/PressableCardBase.jsx +18 -4
  333. package/src/CardGroup/CardGroup.jsx +249 -0
  334. package/src/CardGroup/dictionary.js +8 -0
  335. package/src/CardGroup/index.js +3 -0
  336. package/src/Carousel/Carousel.jsx +69 -53
  337. package/src/Carousel/CarouselFirstFocus/CarouselFirstFocus.jsx +2 -2
  338. package/src/Carousel/CarouselItem/CarouselItem.jsx +19 -17
  339. package/src/Carousel/CarouselStepTracker/CarouselStepTracker.jsx +5 -3
  340. package/src/Carousel/CarouselTabs/CarouselTabs.jsx +2 -2
  341. package/src/Carousel/CarouselTabs/CarouselTabsPanel.jsx +6 -6
  342. package/src/Carousel/CarouselTabs/CarouselTabsPanelItem.jsx +3 -3
  343. package/src/Carousel/CarouselThumbnail.jsx +6 -2
  344. package/src/Carousel/CarouselThumbnailNavigation.jsx +2 -2
  345. package/src/Checkbox/Checkbox.jsx +2 -2
  346. package/src/Checkbox/CheckboxButton.jsx +5 -7
  347. package/src/Checkbox/CheckboxGroup.jsx +2 -2
  348. package/src/Checkbox/CheckboxInput.jsx +15 -12
  349. package/src/CheckboxCard/CheckboxCard.jsx +2 -2
  350. package/src/CheckboxCardGroup/CheckboxCardGroup.jsx +2 -2
  351. package/src/ColourToggle/ColourBubble.jsx +5 -4
  352. package/src/ColourToggle/ColourToggle.jsx +3 -3
  353. package/src/Divider/Divider.jsx +2 -2
  354. package/src/ExpandCollapse/Accordion.jsx +4 -2
  355. package/src/ExpandCollapse/Control.jsx +2 -2
  356. package/src/ExpandCollapse/ExpandCollapse.jsx +2 -2
  357. package/src/ExpandCollapse/Panel.jsx +3 -3
  358. package/src/Feedback/Feedback.jsx +2 -2
  359. package/src/Fieldset/Fieldset.jsx +2 -2
  360. package/src/Fieldset/FieldsetContainer.jsx +2 -2
  361. package/src/Fieldset/FieldsetContainer.native.jsx +2 -2
  362. package/src/Fieldset/Legend.jsx +2 -2
  363. package/src/Fieldset/Legend.native.jsx +2 -2
  364. package/src/FlexGrid/Col/Col.jsx +3 -3
  365. package/src/FlexGrid/FlexGrid.jsx +2 -2
  366. package/src/FlexGrid/Row/Row.jsx +2 -2
  367. package/src/Footnote/Footnote.jsx +111 -98
  368. package/src/Footnote/FootnoteLink.jsx +35 -31
  369. package/src/HorizontalScroll/HorizontalScroll.jsx +8 -8
  370. package/src/HorizontalScroll/HorizontalScrollButton.jsx +2 -2
  371. package/src/HorizontalScroll/ScrollViewEnd.jsx +4 -8
  372. package/src/HorizontalScroll/ScrollViewEnd.native.jsx +2 -2
  373. package/src/Icon/Icon.jsx +2 -2
  374. package/src/Icon/IconText.jsx +2 -2
  375. package/src/IconButton/IconButton.jsx +2 -2
  376. package/src/InputLabel/InputLabel.jsx +2 -2
  377. package/src/InputLabel/LabelContent.jsx +2 -2
  378. package/src/InputLabel/LabelContent.native.jsx +2 -2
  379. package/src/InputSupports/InputSupports.jsx +4 -3
  380. package/src/Link/ChevronLink.jsx +2 -2
  381. package/src/Link/InlinePressable.jsx +22 -15
  382. package/src/Link/InlinePressable.native.jsx +12 -6
  383. package/src/Link/Link.jsx +2 -2
  384. package/src/Link/LinkBase.jsx +2 -2
  385. package/src/Link/TextButton.jsx +2 -2
  386. package/src/List/List.jsx +15 -7
  387. package/src/List/ListItem.jsx +2 -2
  388. package/src/List/ListItemBase.jsx +6 -12
  389. package/src/List/ListItemContent.jsx +5 -2
  390. package/src/List/ListItemMark.jsx +5 -3
  391. package/src/List/PressableListItemBase.jsx +2 -2
  392. package/src/Listbox/GroupControl.jsx +5 -2
  393. package/src/Listbox/Listbox.jsx +7 -7
  394. package/src/Listbox/ListboxContext.js +2 -2
  395. package/src/Listbox/ListboxGroup.jsx +2 -2
  396. package/src/Listbox/ListboxItem.jsx +2 -3
  397. package/src/Listbox/ListboxOverlay.jsx +2 -3
  398. package/src/Listbox/PressableItem.jsx +2 -3
  399. package/src/Modal/Modal.jsx +5 -5
  400. package/src/Modal/ModalContent.jsx +132 -125
  401. package/src/Modal/WebModal.jsx +13 -8
  402. package/src/MultiSelectFilter/ModalOverlay.jsx +2 -2
  403. package/src/MultiSelectFilter/MultiSelectFilter.jsx +263 -252
  404. package/src/Notification/Notification.jsx +5 -5
  405. package/src/OrderedList/Item.jsx +4 -6
  406. package/src/OrderedList/ItemBase.jsx +2 -2
  407. package/src/OrderedList/OrderedList.jsx +4 -7
  408. package/src/OrderedList/OrderedListBase.jsx +2 -2
  409. package/src/Pagination/PageButton.jsx +2 -2
  410. package/src/Pagination/Pagination.jsx +2 -2
  411. package/src/Pagination/SideButton.jsx +2 -2
  412. package/src/PriceLockup/PriceLockup.jsx +93 -88
  413. package/src/ProductCard/ProductCard.jsx +90 -84
  414. package/src/ProductCardGroup/ProductCardGroup.jsx +5 -5
  415. package/src/Progress/Progress.jsx +2 -2
  416. package/src/Progress/ProgressBar.jsx +2 -2
  417. package/src/Progress/ProgressBarBackground.jsx +4 -2
  418. package/src/QuickLinks/QuickLinks.jsx +2 -2
  419. package/src/QuickLinks/QuickLinksCard.jsx +9 -3
  420. package/src/QuickLinks/QuickLinksItem.jsx +2 -2
  421. package/src/QuickLinksFeature/QuickLinksFeature.jsx +31 -27
  422. package/src/QuickLinksFeature/QuickLinksFeatureItem.jsx +3 -3
  423. package/src/Radio/Radio.jsx +2 -2
  424. package/src/Radio/RadioButton.jsx +58 -6
  425. package/src/Radio/RadioGroup.jsx +2 -2
  426. package/src/Radio/RadioInput.jsx +15 -14
  427. package/src/RadioCard/RadioCard.jsx +2 -2
  428. package/src/RadioCard/RadioCardGroup.jsx +2 -2
  429. package/src/Responsive/Responsive.jsx +8 -3
  430. package/src/Responsive/ResponsiveWithMediaQueryStyleSheet.jsx +23 -16
  431. package/src/Search/Search.jsx +2 -2
  432. package/src/Select/Group.jsx +9 -3
  433. package/src/Select/Item.jsx +7 -1
  434. package/src/Select/Picker.jsx +2 -2
  435. package/src/Select/Picker.native.jsx +3 -3
  436. package/src/Select/Select.jsx +4 -4
  437. package/src/SideNav/Item.jsx +2 -2
  438. package/src/SideNav/ItemContent.jsx +7 -3
  439. package/src/SideNav/ItemsGroup.jsx +2 -2
  440. package/src/SideNav/SideNav.jsx +3 -3
  441. package/src/Skeleton/Skeleton.jsx +2 -2
  442. package/src/SkipLink/SkipLink.jsx +2 -2
  443. package/src/Spacer/Spacer.jsx +2 -2
  444. package/src/StackView/StackView.jsx +2 -2
  445. package/src/StackView/StackWrap.jsx +3 -3
  446. package/src/StackView/StackWrapBox.jsx +2 -2
  447. package/src/StackView/StackWrapGap.jsx +2 -2
  448. package/src/StackView/getStackedContent.jsx +4 -4
  449. package/src/StepTracker/Step.jsx +75 -67
  450. package/src/StepTracker/StepTracker.jsx +2 -2
  451. package/src/Tabs/Tabs.jsx +3 -3
  452. package/src/Tabs/TabsItem.jsx +3 -3
  453. package/src/Tags/Tags.jsx +2 -2
  454. package/src/TextInput/TextArea.jsx +3 -3
  455. package/src/TextInput/TextInput.jsx +2 -2
  456. package/src/TextInput/TextInputBase.jsx +7 -7
  457. package/src/ThemeProvider/ThemeProvider.jsx +5 -5
  458. package/src/Timeline/Timeline.jsx +2 -2
  459. package/src/ToggleSwitch/ToggleSwitch.jsx +2 -2
  460. package/src/ToggleSwitch/ToggleSwitchGroup.jsx +2 -2
  461. package/src/Tooltip/Tooltip.jsx +6 -6
  462. package/src/Tooltip/Tooltip.native.jsx +12 -12
  463. package/src/TooltipButton/TooltipButton.jsx +5 -2
  464. package/src/Typography/Typography.jsx +2 -2
  465. package/src/Validator/Validator.jsx +11 -11
  466. package/src/ViewportProvider/ViewportProvider.jsx +2 -2
  467. package/src/index.js +1 -0
  468. package/src/utils/BaseView/BaseView.jsx +2 -2
  469. package/src/utils/children.jsx +4 -4
  470. package/src/utils/withLinkRouter.jsx +3 -3
  471. package/types/ExpandCollapse.d.ts +1 -1
package/src/Link/Link.jsx CHANGED
@@ -1,9 +1,9 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
 
3
3
  import { useThemeTokensCallback } from '../ThemeProvider'
4
4
  import LinkBase from './LinkBase'
5
5
 
6
- const Link = forwardRef(
6
+ const Link = React.forwardRef(
7
7
  (
8
8
  { href, children, accessibilityRole = 'link', variant = {}, tokens, dataSet, ...linkProps },
9
9
  ref
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import { Text, Platform, StyleSheet } from 'react-native'
4
4
  import {
@@ -119,7 +119,7 @@ const selectIconTokens = ({ color, iconSize, blockFontSize, iconTranslateX }) =>
119
119
  * dropped in favour of investigating if a full-featured CSS-in-JS package could or
120
120
  * should be used more widely (e.g. styled components)
121
121
  */
122
- const LinkBase = forwardRef(
122
+ const LinkBase = React.forwardRef(
123
123
  (
124
124
  {
125
125
  href,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import { useThemeTokensCallback } from '../ThemeProvider'
4
4
  import LinkBase from './LinkBase'
@@ -9,7 +9,7 @@ import { variantProp } from '../utils'
9
9
  * Link but has the accessibility role of a `Button`. It should be used for actions that
10
10
  * take place on the current page, or for navigation within an app.
11
11
  */
12
- const TextButton = forwardRef(
12
+ const TextButton = React.forwardRef(
13
13
  ({ onPress, children, variant, tokens, accessibilityRole = 'button', ...linkProps }, ref) => {
14
14
  const getTokens = useThemeTokensCallback('Link', tokens, variant)
15
15
  return (
package/src/List/List.jsx CHANGED
@@ -1,5 +1,5 @@
1
- import React, { cloneElement, forwardRef, Children } from 'react'
2
- import { View, Platform } from 'react-native'
1
+ import React from 'react'
2
+ import { View, Platform, StyleSheet } from 'react-native'
3
3
  import PropTypes from 'prop-types'
4
4
  import { a11yProps, getTokensPropType, selectSystemProps, variantProp, viewProps } from '../utils'
5
5
 
@@ -15,7 +15,7 @@ const isListItem = (element) => {
15
15
  * An unordered List component has a child a ListItem that
16
16
  * allows icon, dividers and customized typography
17
17
  */
18
- const List = forwardRef(
18
+ const List = React.forwardRef(
19
19
  (
20
20
  {
21
21
  children,
@@ -27,12 +27,12 @@ const List = forwardRef(
27
27
  },
28
28
  ref
29
29
  ) => {
30
- const items = Children.map(children, (child, index) => {
30
+ const items = React.Children.map(children, (child, index) => {
31
31
  // Pass ListItem-specific props to children (by name so teams can add their own ListItems)
32
32
  if (isListItem(child)) {
33
- return cloneElement(child, {
33
+ return React.cloneElement(child, {
34
34
  showDivider,
35
- isLastItem: index + 1 === Children.count(children),
35
+ isLastItem: index + 1 === React.Children.count(children),
36
36
  tokens,
37
37
  variant,
38
38
  ...child.props
@@ -44,7 +44,7 @@ const List = forwardRef(
44
44
  return (
45
45
  <View
46
46
  ref={ref}
47
- style={{ flexShrink: 1, flex: 1 }}
47
+ style={styles.list}
48
48
  accessibilityRole={accessibilityRole}
49
49
  {...selectProps(rest)}
50
50
  >
@@ -53,6 +53,14 @@ const List = forwardRef(
53
53
  )
54
54
  }
55
55
  )
56
+
57
+ const styles = StyleSheet.create({
58
+ list: {
59
+ flex: 1,
60
+ flexShrink: 1
61
+ }
62
+ })
63
+
56
64
  List.displayName = 'List'
57
65
 
58
66
  List.propTypes = {
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
 
3
3
  import ListItemBase from './ListItemBase'
4
4
  import { useThemeTokens } from '../ThemeProvider'
@@ -7,7 +7,7 @@ import { variantProp } from '../utils'
7
7
  /**
8
8
  * ListItem is responsible for rendering icon or a bullet as side item
9
9
  */
10
- const ListItem = forwardRef(({ tokens, variant, children, title, ...listItemProps }, ref) => {
10
+ const ListItem = React.forwardRef(({ tokens, variant, children, title, ...listItemProps }, ref) => {
11
11
  const themeTokens = useThemeTokens('List', tokens, variant)
12
12
  return (
13
13
  <ListItemBase tokens={themeTokens} ref={ref} {...listItemProps} title={title}>
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import { View, Platform, StyleSheet } from 'react-native'
3
3
  import PropTypes from 'prop-types'
4
4
  import { a11yProps, getTokensPropType, selectSystemProps, variantProp, viewProps } from '../utils'
@@ -24,7 +24,7 @@ const selectDividerStyles = ({ dividerColor, dividerSize, interItemMarginWithDiv
24
24
  /**
25
25
  * ListItem is responsible for rendering icon or a bullet as side item
26
26
  */
27
- const ListItemBase = forwardRef(
27
+ const ListItemBase = React.forwardRef(
28
28
  (
29
29
  {
30
30
  tokens,
@@ -74,21 +74,14 @@ const ListItemBase = forwardRef(
74
74
  return (
75
75
  <View
76
76
  ref={ref}
77
- style={[staticStyles.itemContainer, getContainerStyle()]}
77
+ style={[staticStyles.container, getContainerStyle()]}
78
78
  accessibilityRole={accessibilityRole}
79
79
  {...selectProps(rest)}
80
80
  >
81
81
  {typeof children === 'function' ? (
82
82
  children({ tokens, icon, iconColor, iconSize, isLastItem })
83
83
  ) : (
84
- <View
85
- style={[
86
- {
87
- flex: 1,
88
- flexDirection: 'row'
89
- }
90
- ]}
91
- >
84
+ <View style={staticStyles.container}>
92
85
  <ListItemMark
93
86
  tokens={{ ...tokens, iconMarginTop: adjustedIconMarginTop }}
94
87
  icon={icon}
@@ -110,7 +103,8 @@ const ListItemBase = forwardRef(
110
103
  ListItemBase.displayName = 'ListItem'
111
104
 
112
105
  const staticStyles = StyleSheet.create({
113
- itemContainer: {
106
+ container: {
107
+ flex: 1,
114
108
  flexDirection: 'row'
115
109
  },
116
110
  titleAndContentContainer: { flexDirection: 'column', flexShrink: 1 }
@@ -34,7 +34,7 @@ const selectItemTextStyles = (
34
34
  * It's the responsibility of themes to make sure that these text tokens align the first line of
35
35
  * text nicely against the bullet or icon rendered by ListIconMark.
36
36
  */
37
- const ListItemContent = ({ tokens, children }) => {
37
+ const ListItemContent = React.forwardRef(({ tokens, children }, ref) => {
38
38
  const { themeOptions } = useTheme()
39
39
  const textStyles = selectItemTextStyles(tokens, themeOptions)
40
40
  return (
@@ -46,11 +46,14 @@ const ListItemContent = ({ tokens, children }) => {
46
46
  textDecorationColor: tokens.itemFontColor
47
47
  }
48
48
  ]}
49
+ ref={ref}
49
50
  >
50
51
  {wrapStringsInText(children, { style: textStyles })}
51
52
  </View>
52
53
  )
53
- }
54
+ })
55
+
56
+ ListItemContent.displayName = 'ListItemContent'
54
57
 
55
58
  const staticStyles = StyleSheet.create({
56
59
  wrap: {
@@ -39,7 +39,7 @@ const selectBulletContainerStyles = ({ itemBulletContainerWidth, itemBulletConta
39
39
  * It's the responsibility of themes to make sure that the supplied tokens align the
40
40
  * icon or bullet nicely against the first line of text in a ListIconContent.
41
41
  */
42
- const ListItemMark = ({ icon, iconColor, iconSize, tokens = {} }) => {
42
+ const ListItemMark = React.forwardRef(({ icon, iconColor, iconSize, tokens = {} }, ref) => {
43
43
  const IconComponent = icon || <></>
44
44
 
45
45
  const themeTokens = typeof tokens === 'function' ? tokens() : tokens
@@ -61,7 +61,7 @@ const ListItemMark = ({ icon, iconColor, iconSize, tokens = {} }) => {
61
61
  const itemBulletPositioningStyles = selectBulletPositioningStyles(themeTokens)
62
62
 
63
63
  return (
64
- <View style={[sideItemContainerStyles, itemBulletContainerStyles]}>
64
+ <View style={[sideItemContainerStyles, itemBulletContainerStyles]} ref={ref}>
65
65
  <View
66
66
  style={[staticStyles.bulletPositioning, itemBulletPositioningStyles]}
67
67
  testID="unordered-item-bullet"
@@ -70,7 +70,9 @@ const ListItemMark = ({ icon, iconColor, iconSize, tokens = {} }) => {
70
70
  </View>
71
71
  </View>
72
72
  )
73
- }
73
+ })
74
+
75
+ ListItemMark.displayName = 'ListItemMark'
74
76
 
75
77
  ListItemMark.propTypes = {
76
78
  tokens: PropTypes.shape(tokenTypes).isRequired,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import ABBPropTypes from 'airbnb-prop-types'
4
4
 
@@ -36,7 +36,7 @@ const selectPressableStyles = ({
36
36
  ...Platform.select({ web: { outline: 'none' } })
37
37
  })
38
38
 
39
- const PressableListItemBase = forwardRef(
39
+ const PressableListItemBase = React.forwardRef(
40
40
  ({ href, tokens, icon, children, listItemRef, ...rest }, ref) => {
41
41
  const { onPress, ...props } = clickProps.toPressProps(rest)
42
42
  const { hrefAttrs, rest: listItemProps } = hrefAttrsProp.bundle(props)
@@ -17,7 +17,7 @@ const styles = StyleSheet.create({
17
17
  }
18
18
  })
19
19
 
20
- const GroupControl = ({ expanded, pressed, hover, focus, label, id }) => {
20
+ const GroupControl = React.forwardRef(({ expanded, pressed, hover, focus, label, id }, ref) => {
21
21
  const { selectedId, setSelectedId } = useListboxContext()
22
22
  const tokens = useThemeTokens(
23
23
  'Listbox',
@@ -69,6 +69,7 @@ const GroupControl = ({ expanded, pressed, hover, focus, label, id }) => {
69
69
  paddingBottom: groupPaddingBottom - groupBorderWidth
70
70
  }
71
71
  ]}
72
+ ref={ref}
72
73
  >
73
74
  <Text>{label}</Text>
74
75
  <Spacer space={1} direction="row" />
@@ -79,7 +80,9 @@ const GroupControl = ({ expanded, pressed, hover, focus, label, id }) => {
79
80
  />
80
81
  </View>
81
82
  )
82
- }
83
+ })
84
+
85
+ GroupControl.displayName = 'GroupControl'
83
86
 
84
87
  GroupControl.propTypes = {
85
88
  id: PropTypes.string,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useCallback, useEffect, useRef, useState } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import { View, StyleSheet, Platform } from 'react-native'
4
4
  import { useThemeTokens } from '../ThemeProvider'
@@ -25,7 +25,7 @@ const getInitialOpen = (items, selectedId) =>
25
25
  )
26
26
  .map((item) => item.id ?? item.label)
27
27
 
28
- const Listbox = forwardRef(
28
+ const Listbox = React.forwardRef(
29
29
  (
30
30
  {
31
31
  items = [],
@@ -42,16 +42,16 @@ const Listbox = forwardRef(
42
42
  ) => {
43
43
  const initialOpen = getInitialOpen(items, defaultSelectedId)
44
44
 
45
- const [selectedId, setSelectedId] = useState(defaultSelectedId)
45
+ const [selectedId, setSelectedId] = React.useState(defaultSelectedId)
46
46
 
47
47
  const { minHeight, minWidth } = useThemeTokens('Listbox', variant, tokens)
48
48
 
49
49
  // We need to keep track of each item's ref in order to be able to
50
50
  // focus on a specific item via keyboard navigation
51
- const itemRefs = useRef([])
51
+ const itemRefs = React.useRef([])
52
52
  if (firstItemRef?.current) itemRefs.current[0] = firstItemRef.current
53
- const [focusedIndex, setFocusedIndex] = useState(0)
54
- const handleKeydown = useCallback(
53
+ const [focusedIndex, setFocusedIndex] = React.useState(0)
54
+ const handleKeydown = React.useCallback(
55
55
  (event) => {
56
56
  const nextItemRef = itemRefs.current[focusedIndex + 1]
57
57
  const prevItemRef = itemRefs.current[focusedIndex - 1]
@@ -83,7 +83,7 @@ const Listbox = forwardRef(
83
83
  )
84
84
 
85
85
  // Add listeners for mouse clicks outside and for key presses
86
- useEffect(() => {
86
+ React.useEffect(() => {
87
87
  if (Platform.OS === 'web') {
88
88
  window.addEventListener('click', onClose)
89
89
  window.addEventListener('keydown', handleKeydown)
@@ -1,6 +1,6 @@
1
- import React, { useContext } from 'react'
1
+ import React from 'react'
2
2
 
3
3
  const ListboxContext = React.createContext({})
4
- const useListboxContext = () => useContext(ListboxContext)
4
+ const useListboxContext = () => React.useContext(ListboxContext)
5
5
 
6
6
  export { ListboxContext, useListboxContext }
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable react-native-a11y/has-valid-accessibility-role */
2
- import React, { forwardRef } from 'react'
2
+ import React from 'react'
3
3
  import PropTypes from 'prop-types'
4
4
  import { View, StyleSheet, Platform } from 'react-native'
5
5
  import { withLinkRouter } from '../utils'
@@ -27,7 +27,7 @@ const getAccessibilityRole = () =>
27
27
  web: 'listitem'
28
28
  })
29
29
 
30
- const ListboxGroup = forwardRef(
30
+ const ListboxGroup = React.forwardRef(
31
31
  (
32
32
  {
33
33
  id,
@@ -1,5 +1,4 @@
1
- /* eslint-disable react/require-default-props */
2
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
3
2
  import PropTypes from 'prop-types'
4
3
  import { View, StyleSheet } from 'react-native'
5
4
  import { selectSystemProps, withLinkRouter, htmlAttrs } from '../utils'
@@ -21,7 +20,7 @@ const styles = StyleSheet.create({
21
20
  }
22
21
  })
23
22
 
24
- const ListboxItem = forwardRef(
23
+ const ListboxItem = React.forwardRef(
25
24
  (
26
25
  {
27
26
  href,
@@ -1,5 +1,4 @@
1
- /* eslint-disable react/require-default-props */
2
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
3
2
  import PropTypes from 'prop-types'
4
3
  import { View, StyleSheet, Platform } from 'react-native'
5
4
  import Portal from '../Portal'
@@ -22,7 +21,7 @@ const staticStyles = StyleSheet.create({
22
21
  const paddingVertical = 0
23
22
  const paddingHorizontal = 0
24
23
 
25
- const DropdownOverlay = forwardRef(
24
+ const DropdownOverlay = React.forwardRef(
26
25
  ({ children, isReady = false, overlaidPosition, maxWidth, minWidth, onLayout }, ref) => {
27
26
  const systemTokens = useThemeTokens('Listbox', {}, {})
28
27
 
@@ -1,5 +1,4 @@
1
- /* eslint-disable react/require-default-props */
2
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
3
2
  import PropTypes from 'prop-types'
4
3
  import { Pressable, Text } from 'react-native'
5
4
  import { selectSystemProps, resolvePressableTokens, htmlAttrs } from '../utils'
@@ -48,7 +47,7 @@ const getItemStyles = ({
48
47
  justifyContent: 'center'
49
48
  })
50
49
 
51
- const PressableItem = forwardRef(
50
+ const PressableItem = React.forwardRef(
52
51
  (
53
52
  {
54
53
  children,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useEffect, useRef } from 'react'
1
+ import React from 'react'
2
2
  import {
3
3
  StyleSheet,
4
4
  TouchableWithoutFeedback,
@@ -92,7 +92,7 @@ const selectScrollViewStyles = () => ({
92
92
  * - Don’t use modals to reinforce or repeat information already available in the parent page or view
93
93
  * - Don’t use modals consecutively
94
94
  */
95
- const Modal = forwardRef(
95
+ const Modal = React.forwardRef(
96
96
  (
97
97
  {
98
98
  children,
@@ -140,10 +140,10 @@ const Modal = forwardRef(
140
140
  const showCloseButton = closeButton !== null
141
141
 
142
142
  // These refs are used to manage focus in the web modal container
143
- const focusTrapRef = useRef(null)
144
- const closeButtonRef = useRef(null)
143
+ const focusTrapRef = React.useRef(null)
144
+ const closeButtonRef = React.useRef(null)
145
145
 
146
- useEffect(() => {
146
+ React.useEffect(() => {
147
147
  if (Platform.OS === 'web') {
148
148
  const handleFocus = () => {
149
149
  // If the focus is on the last item of the web modal container, move it to the close button