@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
@@ -4,7 +4,7 @@ import StepTracker from '../../StepTracker'
4
4
  import StackView from '../../StackView'
5
5
  import { variantProp } from '../../utils'
6
6
 
7
- const CarouselStepTracker = ({ variant }) => {
7
+ const CarouselStepTracker = React.forwardRef(({ variant }, ref) => {
8
8
  const {
9
9
  activeIndex,
10
10
  totalItems,
@@ -27,7 +27,7 @@ const CarouselStepTracker = ({ variant }) => {
27
27
 
28
28
  const steps = Array.from(Array(totalItems)).map((_, index) => String(index))
29
29
  return (
30
- <StackView direction="row" tokens={stackViewTokens}>
30
+ <StackView direction="row" tokens={stackViewTokens} ref={ref}>
31
31
  <StepTracker
32
32
  current={activeIndex}
33
33
  steps={steps}
@@ -41,7 +41,9 @@ const CarouselStepTracker = ({ variant }) => {
41
41
  />
42
42
  </StackView>
43
43
  )
44
- }
44
+ })
45
+
46
+ CarouselStepTracker.displayName = 'CarouselStepTracker'
45
47
 
46
48
  CarouselStepTracker.propTypes = {
47
49
  variant: variantProp.propType
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
 
4
4
  import { useResponsiveProp } from '../../utils'
@@ -7,7 +7,7 @@ import Carousel from '../Carousel'
7
7
  /**
8
8
  * @deprecated Please use Carousel and pass the `tabs` prop.
9
9
  */
10
- const CarouselTabs = forwardRef(({ items, refocus = true, ...carouselProps }, ref) => {
10
+ const CarouselTabs = React.forwardRef(({ items, refocus = true, ...carouselProps }, ref) => {
11
11
  const tabs = useResponsiveProp({ md: items })
12
12
 
13
13
  return (
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useEffect, useRef, useState } from 'react'
1
+ import React from 'react'
2
2
  import { View } from 'react-native'
3
3
 
4
4
  import PropTypes from 'prop-types'
@@ -11,16 +11,16 @@ const selectTabPanelStyle = () => ({
11
11
  backgroundColor: 'transparent'
12
12
  })
13
13
 
14
- const CarouselTabsPanel = forwardRef(({ items }, ref) => {
14
+ const CarouselTabsPanel = React.forwardRef(({ items }, ref) => {
15
15
  const { activeIndex, goTo } = useCarousel()
16
- const nextFocusRef = useRef()
17
- const firstTabRef = useRef()
18
- const [isInverse, setIsInverse] = useState(false)
16
+ const nextFocusRef = React.useRef()
17
+ const firstTabRef = React.useRef()
18
+ const [isInverse, setIsInverse] = React.useState(false)
19
19
 
20
20
  const lastTabSelected = activeIndex === items.length - 1
21
21
 
22
22
  // Get current select tab style
23
- useEffect(() => {
23
+ React.useEffect(() => {
24
24
  const [selectedVariantIsInverse] = items.filter((_, index) => index === activeIndex)
25
25
  setIsInverse(selectedVariantIsInverse?.inverse)
26
26
  }, [items, activeIndex])
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useState } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import { Pressable, Text, Platform } from 'react-native'
4
4
 
@@ -64,12 +64,12 @@ const selectTextStyles = ({
64
64
  color
65
65
  })
66
66
 
67
- const CarouselTabsPanelItem = forwardRef(
67
+ const CarouselTabsPanelItem = React.forwardRef(
68
68
  ({ title, selected, inactive, variant, tokens, accessibilityRole = 'tab', ...rest }, ref) => {
69
69
  // Workaround for React Native Web https://github.com/necolas/react-native-web/issues/2357
70
70
  // Don't allow disabled to be set while focus is true else focus state gets locked `true`
71
71
  // (must refocus _after_ calling `goTo`, else focus target content is not up to date)
72
- const [isFocused, setIsFocused] = useState(false)
72
+ const [isFocused, setIsFocused] = React.useState(false)
73
73
  const disabled = (inactive || selected) && !isFocused
74
74
 
75
75
  const getTokens = useThemeTokensCallback('CarouselTabsPanelItem', tokens, variant)
@@ -17,7 +17,7 @@ const selectPressableTokens = ({ borderColor, borderRadius, borderWidth, margin,
17
17
  * `Carousel.Thumbnail` is used to wrap the content of an individual slide and is suppsoed to be the
18
18
  * only top-level component passed to the `Carousel`
19
19
  */
20
- const CarouselThumbnail = ({ accessibilityLabel, alt, index, src }) => {
20
+ const CarouselThumbnail = React.forwardRef(({ accessibilityLabel, alt, index, src }, ref) => {
21
21
  const { activeIndex, itemLabel, totalItems, getCopyWithPlaceholders, goTo } = useCarousel()
22
22
  const getThumbnailTokens = useThemeTokensCallback('CarouselThumbnail')
23
23
  const viewport = useViewport()
@@ -70,6 +70,7 @@ const CarouselThumbnail = ({ accessibilityLabel, alt, index, src }) => {
70
70
  index === activeIndex ? [styles.selected, { outline: 'none' }] : styles.nonSelected
71
71
  ]
72
72
  }}
73
+ ref={ref}
73
74
  >
74
75
  <Image
75
76
  accessibilityIgnoresInvertColors
@@ -80,7 +81,10 @@ const CarouselThumbnail = ({ accessibilityLabel, alt, index, src }) => {
80
81
  />
81
82
  </Pressable>
82
83
  )
83
- }
84
+ })
85
+
86
+ CarouselThumbnail.displayName = 'CarouselThumbnail'
87
+
84
88
  CarouselThumbnail.propTypes = {
85
89
  accessibilityLabel: PropTypes.string,
86
90
  alt: PropTypes.string,
@@ -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 { View } from 'react-native'
4
4
  import { useCarousel } from './CarouselContext'
@@ -7,7 +7,7 @@ import { StackWrap } from '../StackView'
7
7
  import { useThemeTokens } from '../ThemeProvider'
8
8
  import { useViewport } from '../ViewportProvider'
9
9
 
10
- const CarouselThumbnailNavigation = forwardRef(({ thumbnails = [] }, ref) => {
10
+ const CarouselThumbnailNavigation = React.forwardRef(({ thumbnails = [] }, ref) => {
11
11
  const viewport = useViewport()
12
12
  const { alignItems } = useThemeTokens('CarouselThumbnail', {}, { viewport })
13
13
  const { totalItems } = useCarousel()
@@ -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 { Platform, Pressable, StyleSheet, Text, View } from 'react-native'
4
4
 
@@ -122,7 +122,7 @@ const selectFeedbackTokens = ({ feedbackMarginBottom, feedbackMarginTop, feedbac
122
122
  * or the internal state in case of uncontrolled checkbox.
123
123
  *
124
124
  */
125
- const Checkbox = forwardRef(
125
+ const Checkbox = React.forwardRef(
126
126
  (
127
127
  {
128
128
  checked,
@@ -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 { Platform, StyleSheet, View } from 'react-native'
4
4
 
@@ -75,7 +75,7 @@ export const selectCheckboxTokens = (themeTokens, prefix) =>
75
75
  * The visual toggle of a checkbox input. Is not interactive on its own, should be used inside
76
76
  * an interactive parent that passes down props when interacted with. Used in CheckboxCard
77
77
  */
78
- const CheckboxButton = forwardRef(
78
+ const CheckboxButton = React.forwardRef(
79
79
  (
80
80
  {
81
81
  isChecked,
@@ -92,11 +92,9 @@ const CheckboxButton = forwardRef(
92
92
  },
93
93
  ref
94
94
  ) => {
95
- const { icon: IconComponent, ...stateTokens } = useThemeTokens(
96
- 'Checkbox',
97
- {},
98
- { checked: isChecked }
99
- )
95
+ const { icon: IconComponent, ...stateTokens } = useThemeTokens('Checkbox', tokens, {
96
+ checked: isChecked
97
+ })
100
98
  const iconTokens = selectIconTokens(stateTokens)
101
99
 
102
100
  return (
@@ -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
 
@@ -72,7 +72,7 @@ const [selectItemProps, selectedItemPropTypes] = selectSystemProps([
72
72
  * />
73
73
  * ```
74
74
  */
75
- const CheckboxGroup = forwardRef(
75
+ const CheckboxGroup = React.forwardRef(
76
76
  (
77
77
  {
78
78
  tokens,
@@ -1,11 +1,23 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
 
4
4
  /**
5
5
  * On Web we need to include an actual input but hide it.
6
6
  */
7
- const CheckboxInput = forwardRef(
8
- ({ checked, defaultChecked, disabled, id, isControlled, name, onChange, value }, ref) => {
7
+ const CheckboxInput = React.forwardRef(
8
+ (
9
+ {
10
+ checked,
11
+ defaultChecked,
12
+ disabled = false,
13
+ id,
14
+ isControlled,
15
+ name,
16
+ onChange = () => {},
17
+ value
18
+ },
19
+ ref
20
+ ) => {
9
21
  const handleClick = (event) => {
10
22
  // Cancel the click dispatched via the label tag, since it's already wrapped
11
23
  // in <Pressable>
@@ -43,13 +55,4 @@ CheckboxInput.propTypes = {
43
55
  value: PropTypes.string
44
56
  }
45
57
 
46
- CheckboxInput.defaultProps = {
47
- checked: undefined,
48
- defaultChecked: undefined,
49
- disabled: false,
50
- name: undefined,
51
- onChange: () => {},
52
- value: undefined
53
- }
54
-
55
58
  export default CheckboxInput
@@ -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 { StyleSheet, Text, View } from 'react-native'
4
4
 
@@ -24,7 +24,7 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([
24
24
  viewProps
25
25
  ])
26
26
 
27
- const CheckboxCard = forwardRef(
27
+ const CheckboxCard = React.forwardRef(
28
28
  (
29
29
  {
30
30
  tokens,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
 
4
4
  import { useViewport } from '../ViewportProvider'
@@ -24,7 +24,7 @@ const [selectItemProps, selectedItemPropTypes] = selectSystemProps([
24
24
  viewProps
25
25
  ])
26
26
 
27
- const CheckboxCardGroup = forwardRef(
27
+ const CheckboxCardGroup = React.forwardRef(
28
28
  (
29
29
  {
30
30
  copy = 'en',
@@ -1,9 +1,10 @@
1
- import React, { forwardRef, useMemo } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
 
4
4
  import { View, Pressable, Platform } from 'react-native'
5
5
  import { resolvePressableTokens } from '../utils/pressability'
6
6
  import { applyShadowToken } from '../ThemeProvider'
7
+ import { getTokensPropType } from '../utils'
7
8
 
8
9
  const selectGeneralBubbleTokens = ({
9
10
  outerBubbleHeight,
@@ -50,13 +51,13 @@ const selectBorderBubbleTokens = ({
50
51
  borderRadius: bubbleBorderRadius
51
52
  })
52
53
 
53
- const ColourBubble = forwardRef(
54
+ const ColourBubble = React.forwardRef(
54
55
  ({ tokens = {}, id, colourHexCode, colourName, isSelected, onPress }, ref) => {
55
56
  const defaultTokens = tokens({ selected: isSelected })
56
57
 
57
58
  const resolveColourBubbleTokens = (pressState) => resolvePressableTokens(tokens, pressState, {})
58
59
 
59
- const themeTokens = useMemo(() => tokens(), [tokens])
60
+ const themeTokens = React.useMemo(() => tokens(), [tokens])
60
61
 
61
62
  return (
62
63
  <Pressable
@@ -83,7 +84,7 @@ ColourBubble.propTypes = {
83
84
  /**
84
85
  * Colour toggle tokens callback.
85
86
  */
86
- tokens: PropTypes.func,
87
+ tokens: getTokensPropType('ColourToggle'),
87
88
  /**
88
89
  * ID of each colour bubble
89
90
  */
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useState } from 'react'
1
+ import React from 'react'
2
2
  import { View } from 'react-native'
3
3
  import PropTypes from 'prop-types'
4
4
 
@@ -10,9 +10,9 @@ import ColourBubble from './ColourBubble'
10
10
 
11
11
  const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps])
12
12
 
13
- const ColourToggle = forwardRef(
13
+ const ColourToggle = React.forwardRef(
14
14
  ({ tokens, variant, defaultColourId, items, onChange, ...rest }, ref) => {
15
- const [currentColourId, setCurrentColourId] = useState(defaultColourId)
15
+ const [currentColourId, setCurrentColourId] = React.useState(defaultColourId)
16
16
  const getTokens = useThemeTokensCallback('ColourToggle', tokens, variant)
17
17
 
18
18
  const { space } = getTokens()
@@ -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 { View, StyleSheet, Platform } from 'react-native'
4
4
  import { useThemeTokens } from '../ThemeProvider'
@@ -55,7 +55,7 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, vie
55
55
  *
56
56
  * For accessibility purposes a divider component will be described with ARIA attributes, i.e. `role="separator"` and `aria-orientation="vertical/horizontal"`.
57
57
  */
58
- const Divider = forwardRef(({ variant, vertical = false, space, tokens, ...rest }, ref) => {
58
+ const Divider = React.forwardRef(({ variant, vertical = false, space, tokens, ...rest }, ref) => {
59
59
  const { color, width } = useThemeTokens('Divider', tokens, variant)
60
60
 
61
61
  const borderStyles = vertical
@@ -1,10 +1,12 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import ExpandCollapse from './ExpandCollapse'
3
3
 
4
4
  /**
5
5
  * 'Accordion' is a shorthand for an ExpandCollapse where only one item may be open at a time
6
6
  */
7
- const Accordion = forwardRef((props, ref) => <ExpandCollapse ref={ref} {...props} maxOpen={1} />)
7
+ const Accordion = React.forwardRef((props, ref) => (
8
+ <ExpandCollapse ref={ref} {...props} maxOpen={1} />
9
+ ))
8
10
  Accordion.displayName = 'Accordion'
9
11
  Accordion.propTypes = ExpandCollapse.propTypes
10
12
 
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import { Pressable, View, Platform, StyleSheet } from 'react-native'
3
3
  import PropTypes from 'prop-types'
4
4
 
@@ -66,7 +66,7 @@ function selectIconTokens(tokens) {
66
66
  }
67
67
  }
68
68
 
69
- const ExpandCollapseControl = forwardRef(
69
+ const ExpandCollapseControl = React.forwardRef(
70
70
  (
71
71
  { onPress, isExpanded, children, tokens, accessibilityRole = 'button', variant, ...rest },
72
72
  ref
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import { View, StyleSheet } from 'react-native'
3
3
  import PropTypes from 'prop-types'
4
4
 
@@ -29,7 +29,7 @@ function selectBorderStyles(tokens) {
29
29
  * <ExpandCollapse.Panel> children, and assign the panels explicit `panelId` props. The panels may be
30
30
  * nested (they do not need to be direct children), and non-interactive items may be included too.
31
31
  */
32
- const ExpandCollapse = forwardRef(
32
+ const ExpandCollapse = React.forwardRef(
33
33
  ({ children, tokens, variant, maxOpen, open, initialOpen, onChange, ...rest }, ref) => {
34
34
  const {
35
35
  currentValues: openIds,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useState } from 'react'
1
+ import React from 'react'
2
2
  import { Animated, Platform, View, Text } from 'react-native'
3
3
  import PropTypes from 'prop-types'
4
4
  import ABBPropTypes from 'airbnb-prop-types'
@@ -81,7 +81,7 @@ const selectControlPanelStyles = ({ contentPanelBackgroundColor }) => ({
81
81
  * The panel does not need to be a direct child of the `<ExpandCollapse>` (unless this is required
82
82
  * by the chosen accessibility props for a particular accessibility tools).
83
83
  */
84
- const ExpandCollapsePanel = forwardRef(
84
+ const ExpandCollapsePanel = React.forwardRef(
85
85
  (
86
86
  {
87
87
  openIds = [],
@@ -100,7 +100,7 @@ const ExpandCollapsePanel = forwardRef(
100
100
  },
101
101
  ref
102
102
  ) => {
103
- const [containerHeight, setContainerHeight] = useState(null)
103
+ const [containerHeight, setContainerHeight] = React.useState(null)
104
104
  const isExpanded = openIds.includes(panelId)
105
105
  const getCopy = useCopy({ dictionary, copy })
106
106
 
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import { StyleSheet, Text, View } from 'react-native'
3
3
  import PropTypes from 'prop-types'
4
4
 
@@ -55,7 +55,7 @@ const selectIconContainerStyles = ({ iconGap }) => ({
55
55
  * ### Accessibility
56
56
  * All accessibility props set on this component will be applied to the outer container.
57
57
  */
58
- const Feedback = forwardRef(
58
+ const Feedback = React.forwardRef(
59
59
  ({ title, children, id, validation, tokens, variant, ...rest }, ref) => {
60
60
  const themeTokens = useThemeTokens('Feedback', tokens, {
61
61
  ...variant,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
 
4
4
  import Feedback from '../Feedback'
@@ -15,7 +15,7 @@ import useInputSupports from '../InputSupports/useInputSupports'
15
15
  *
16
16
  * Follows the same theming and most of the same props as InputSupports.
17
17
  */
18
- const Fieldset = forwardRef(
18
+ const Fieldset = React.forwardRef(
19
19
  (
20
20
  {
21
21
  copy = 'en',
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
 
4
4
  import cssReset from './cssReset'
@@ -10,7 +10,7 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, htm
10
10
  /**
11
11
  * On Web, wraps children with a HTML `<fieldset>` and sets its attributes as necessary.
12
12
  */
13
- const FieldsetContainer = forwardRef(
13
+ const FieldsetContainer = React.forwardRef(
14
14
  (
15
15
  {
16
16
  children,
@@ -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 { View } from 'react-native'
4
4
 
@@ -8,7 +8,7 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, vie
8
8
 
9
9
  // No equivalent of `<fieldset>` on native, so just apply accessibility role to container.
10
10
  // If a11y testing finds any additional handling is needed at the container level, add it here.
11
- const FieldsetContainer = forwardRef(({ children, accessibilityRole, ...rest }, ref) => (
11
+ const FieldsetContainer = React.forwardRef(({ children, accessibilityRole, ...rest }, ref) => (
12
12
  <View ref={ref} accessibilityRole={accessibilityRole} {...selectProps(rest)}>
13
13
  {children}
14
14
  </View>
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
 
4
4
  import cssReset from './cssReset'
@@ -7,7 +7,7 @@ import cssReset from './cssReset'
7
7
  * On Web, wraps children in HTML `<legend>` tag.
8
8
  * On Native, `<legend>` does not exist, wraps in a width 100% block to follow <legend>'s behaviour in a flex.
9
9
  */
10
- const Legend = forwardRef(({ children }, ref) => (
10
+ const Legend = React.forwardRef(({ children }, ref) => (
11
11
  <legend ref={ref} style={cssReset}>
12
12
  {children}
13
13
  </legend>
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import { View, StyleSheet } from 'react-native'
3
3
  import PropTypes from 'prop-types'
4
4
 
@@ -6,7 +6,7 @@ import PropTypes from 'prop-types'
6
6
  * On Web, wraps children in HTML `<legend>` tag.
7
7
  * On Native, `<legend>` does not exist, wraps in a width 100% block to follow <legend>'s behaviour in a flex.
8
8
  */
9
- const Legend = forwardRef(({ children }, ref) => (
9
+ const Legend = React.forwardRef(({ children }, ref) => (
10
10
  <View ref={ref} style={staticStyles.stretch}>
11
11
  {children}
12
12
  </View>
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useContext } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import { Platform } from 'react-native'
4
4
 
@@ -8,7 +8,7 @@ import { responsiveProps, BaseView, StyleSheet, createMediaQueryStyles } from '.
8
8
  import { useViewport } from '../../ViewportProvider'
9
9
  import { useTheme } from '../../ThemeProvider'
10
10
 
11
- const Col = forwardRef(
11
+ const Col = React.forwardRef(
12
12
  (
13
13
  {
14
14
  horizontalAlign,
@@ -28,7 +28,7 @@ const Col = forwardRef(
28
28
  },
29
29
  ref
30
30
  ) => {
31
- const gutter = useContext(GutterContext)
31
+ const gutter = React.useContext(GutterContext)
32
32
  const viewport = useViewport()
33
33
  const {
34
34
  themeOptions: { enableMediaQueryStyleSheet }
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
 
4
4
  import { viewports } from '@telus-uds/system-constants'
@@ -25,7 +25,7 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, vie
25
25
  * A mobile-first flexbox grid.
26
26
  */
27
27
 
28
- const FlexGrid = forwardRef(
28
+ const FlexGrid = React.forwardRef(
29
29
  (
30
30
  {
31
31
  limitWidth = true,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
 
4
4
  import applyInheritance from '../helpers'
@@ -52,7 +52,7 @@ const distributeStyles = (distribute) => {
52
52
  }
53
53
  }
54
54
 
55
- const Row = forwardRef(
55
+ const Row = React.forwardRef(
56
56
  (
57
57
  {
58
58
  horizontalAlign,