@telus-uds/components-base 1.83.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 (474) hide show
  1. package/CHANGELOG.md +36 -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 +11 -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 +308 -129
  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 +20 -13
  44. package/lib/ExpandCollapse/Panel.js +15 -5
  45. package/lib/ExpandCollapse/dictionary.js +17 -0
  46. package/lib/Feedback/Feedback.js +2 -4
  47. package/lib/Fieldset/Fieldset.js +2 -4
  48. package/lib/Fieldset/FieldsetContainer.js +2 -4
  49. package/lib/Fieldset/FieldsetContainer.native.js +2 -4
  50. package/lib/Fieldset/Legend.js +2 -4
  51. package/lib/Fieldset/Legend.native.js +2 -4
  52. package/lib/FlexGrid/Col/Col.js +3 -5
  53. package/lib/FlexGrid/FlexGrid.js +2 -4
  54. package/lib/FlexGrid/Row/Row.js +2 -4
  55. package/lib/Footnote/Footnote.js +9 -9
  56. package/lib/Footnote/FootnoteLink.js +5 -3
  57. package/lib/HorizontalScroll/HorizontalScroll.js +8 -10
  58. package/lib/HorizontalScroll/HorizontalScrollButton.js +2 -4
  59. package/lib/HorizontalScroll/ScrollViewEnd.js +5 -10
  60. package/lib/HorizontalScroll/ScrollViewEnd.native.js +2 -4
  61. package/lib/Icon/Icon.js +2 -4
  62. package/lib/Icon/IconText.js +6 -6
  63. package/lib/IconButton/IconButton.js +2 -4
  64. package/lib/InputLabel/InputLabel.js +2 -4
  65. package/lib/InputLabel/LabelContent.js +2 -4
  66. package/lib/InputLabel/LabelContent.native.js +2 -4
  67. package/lib/InputSupports/InputSupports.js +4 -5
  68. package/lib/Link/ChevronLink.js +2 -4
  69. package/lib/Link/InlinePressable.js +8 -7
  70. package/lib/Link/InlinePressable.native.js +10 -8
  71. package/lib/Link/Link.js +2 -4
  72. package/lib/Link/LinkBase.js +2 -4
  73. package/lib/Link/TextButton.js +2 -4
  74. package/lib/List/List.js +13 -11
  75. package/lib/List/ListItem.js +2 -4
  76. package/lib/List/ListItemBase.js +6 -10
  77. package/lib/List/ListItemContent.js +4 -2
  78. package/lib/List/ListItemMark.js +4 -2
  79. package/lib/List/PressableListItemBase.js +2 -4
  80. package/lib/Listbox/GroupControl.js +4 -2
  81. package/lib/Listbox/Listbox.js +6 -6
  82. package/lib/Listbox/ListboxContext.js +3 -4
  83. package/lib/Listbox/ListboxGroup.js +2 -4
  84. package/lib/Listbox/ListboxItem.js +2 -6
  85. package/lib/Listbox/ListboxOverlay.js +2 -6
  86. package/lib/Listbox/PressableItem.js +2 -6
  87. package/lib/Modal/Modal.js +5 -7
  88. package/lib/Modal/ModalContent.js +7 -7
  89. package/lib/Modal/WebModal.js +19 -10
  90. package/lib/MultiSelectFilter/ModalOverlay.js +2 -4
  91. package/lib/MultiSelectFilter/MultiSelectFilter.js +10 -10
  92. package/lib/Notification/Notification.js +5 -7
  93. package/lib/OrderedList/Item.js +4 -10
  94. package/lib/OrderedList/ItemBase.js +2 -4
  95. package/lib/OrderedList/OrderedList.js +5 -13
  96. package/lib/OrderedList/OrderedListBase.js +2 -4
  97. package/lib/Pagination/PageButton.js +1 -1
  98. package/lib/Pagination/Pagination.js +1 -1
  99. package/lib/Pagination/SideButton.js +2 -4
  100. package/lib/PriceLockup/PriceLockup.js +5 -5
  101. package/lib/ProductCard/ProductCard.js +3 -2
  102. package/lib/ProductCardGroup/ProductCardGroup.js +5 -6
  103. package/lib/Progress/Progress.js +2 -4
  104. package/lib/Progress/ProgressBar.js +2 -4
  105. package/lib/Progress/ProgressBarBackground.js +2 -4
  106. package/lib/QuickLinks/QuickLinks.js +2 -4
  107. package/lib/QuickLinks/QuickLinksCard.js +4 -2
  108. package/lib/QuickLinks/QuickLinksItem.js +2 -4
  109. package/lib/QuickLinksFeature/QuickLinksFeature.js +9 -7
  110. package/lib/QuickLinksFeature/QuickLinksFeatureItem.js +10 -12
  111. package/lib/Radio/Radio.js +3 -3
  112. package/lib/Radio/RadioButton.js +61 -15
  113. package/lib/Radio/RadioGroup.js +2 -4
  114. package/lib/Radio/RadioInput.js +6 -18
  115. package/lib/RadioCard/RadioCard.js +3 -3
  116. package/lib/RadioCard/RadioCardGroup.js +3 -3
  117. package/lib/Responsive/Responsive.js +3 -2
  118. package/lib/Responsive/ResponsiveWithMediaQueryStyleSheet.js +3 -2
  119. package/lib/Search/Search.js +2 -4
  120. package/lib/Select/Group.js +4 -2
  121. package/lib/Select/Item.js +4 -2
  122. package/lib/Select/Picker.js +2 -4
  123. package/lib/Select/Picker.native.js +3 -5
  124. package/lib/Select/Select.js +4 -6
  125. package/lib/SideNav/Item.js +2 -4
  126. package/lib/SideNav/ItemContent.js +4 -2
  127. package/lib/SideNav/ItemsGroup.js +2 -4
  128. package/lib/SideNav/SideNav.js +2 -2
  129. package/lib/Skeleton/Skeleton.js +2 -4
  130. package/lib/SkipLink/SkipLink.js +2 -4
  131. package/lib/Spacer/Spacer.js +2 -4
  132. package/lib/StackView/StackView.js +2 -4
  133. package/lib/StackView/StackWrap.js +3 -5
  134. package/lib/StackView/StackWrapBox.js +2 -4
  135. package/lib/StackView/StackWrapGap.js +2 -4
  136. package/lib/StackView/getStackedContent.js +3 -3
  137. package/lib/StepTracker/Step.js +4 -2
  138. package/lib/StepTracker/StepTracker.js +2 -4
  139. package/lib/Tabs/Tabs.js +4 -4
  140. package/lib/Tabs/TabsItem.js +3 -5
  141. package/lib/Tags/Tags.js +2 -4
  142. package/lib/TextInput/TextArea.js +3 -5
  143. package/lib/TextInput/TextInput.js +2 -4
  144. package/lib/TextInput/TextInputBase.js +7 -9
  145. package/lib/ThemeProvider/ThemeProvider.js +5 -7
  146. package/lib/Timeline/Timeline.js +2 -4
  147. package/lib/ToggleSwitch/ToggleSwitch.js +2 -4
  148. package/lib/ToggleSwitch/ToggleSwitchGroup.js +2 -4
  149. package/lib/Tooltip/Tooltip.js +6 -8
  150. package/lib/Tooltip/Tooltip.native.js +12 -14
  151. package/lib/TooltipButton/TooltipButton.js +4 -2
  152. package/lib/Typography/Typography.js +2 -4
  153. package/lib/Validator/Validator.js +11 -13
  154. package/lib/ViewportProvider/ViewportProvider.js +2 -4
  155. package/lib/index.js +8 -0
  156. package/lib/utils/BaseView/BaseView.js +2 -4
  157. package/lib/utils/children.js +4 -6
  158. package/lib/utils/withLinkRouter.js +3 -5
  159. package/lib-module/A11yInfoProvider/index.js +8 -8
  160. package/lib-module/A11yText/index.js +2 -2
  161. package/lib-module/ActivityIndicator/Spinner.js +2 -2
  162. package/lib-module/ActivityIndicator/Spinner.native.js +2 -2
  163. package/lib-module/Autocomplete/Autocomplete.js +13 -14
  164. package/lib-module/Autocomplete/Loading.js +4 -2
  165. package/lib-module/Autocomplete/Suggestions.js +2 -2
  166. package/lib-module/Badge/Badge.js +2 -2
  167. package/lib-module/BaseProvider/HydrationContext.js +5 -5
  168. package/lib-module/Box/Box.js +5 -5
  169. package/lib-module/Button/Button.js +2 -2
  170. package/lib-module/Button/ButtonBase.js +2 -5
  171. package/lib-module/Button/ButtonDropdown.js +2 -2
  172. package/lib-module/Button/ButtonGroup.js +11 -2
  173. package/lib-module/Button/ButtonLink.js +2 -2
  174. package/lib-module/Card/Card.js +159 -14
  175. package/lib-module/Card/CardBase.js +2 -2
  176. package/lib-module/Card/PressableCardBase.js +4 -4
  177. package/lib-module/CardGroup/CardGroup.js +210 -0
  178. package/lib-module/CardGroup/dictionary.js +8 -0
  179. package/lib-module/CardGroup/index.js +2 -0
  180. package/lib-module/Carousel/Carousel.js +308 -129
  181. package/lib-module/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +2 -2
  182. package/lib-module/Carousel/CarouselItem/CarouselItem.js +3 -2
  183. package/lib-module/Carousel/CarouselStepTracker/CarouselStepTracker.js +4 -2
  184. package/lib-module/Carousel/CarouselTabs/CarouselTabs.js +2 -2
  185. package/lib-module/Carousel/CarouselTabs/CarouselTabsPanel.js +6 -6
  186. package/lib-module/Carousel/CarouselTabs/CarouselTabsPanelItem.js +3 -3
  187. package/lib-module/Carousel/CarouselThumbnail.js +4 -2
  188. package/lib-module/Carousel/CarouselThumbnailNavigation.js +2 -2
  189. package/lib-module/Checkbox/Checkbox.js +2 -2
  190. package/lib-module/Checkbox/CheckboxButton.js +3 -3
  191. package/lib-module/Checkbox/CheckboxGroup.js +2 -2
  192. package/lib-module/Checkbox/CheckboxInput.js +4 -12
  193. package/lib-module/CheckboxCard/CheckboxCard.js +2 -2
  194. package/lib-module/CheckboxCardGroup/CheckboxCardGroup.js +2 -2
  195. package/lib-module/ColourToggle/ColourBubble.js +5 -4
  196. package/lib-module/ColourToggle/ColourToggle.js +3 -3
  197. package/lib-module/Divider/Divider.js +2 -2
  198. package/lib-module/ExpandCollapse/Accordion.js +2 -2
  199. package/lib-module/ExpandCollapse/Control.js +2 -2
  200. package/lib-module/ExpandCollapse/ExpandCollapse.js +20 -11
  201. package/lib-module/ExpandCollapse/Panel.js +16 -4
  202. package/lib-module/ExpandCollapse/dictionary.js +10 -0
  203. package/lib-module/Feedback/Feedback.js +2 -2
  204. package/lib-module/Fieldset/Fieldset.js +2 -2
  205. package/lib-module/Fieldset/FieldsetContainer.js +2 -2
  206. package/lib-module/Fieldset/FieldsetContainer.native.js +2 -2
  207. package/lib-module/Fieldset/Legend.js +2 -2
  208. package/lib-module/Fieldset/Legend.native.js +2 -2
  209. package/lib-module/FlexGrid/Col/Col.js +3 -3
  210. package/lib-module/FlexGrid/FlexGrid.js +2 -2
  211. package/lib-module/FlexGrid/Row/Row.js +2 -2
  212. package/lib-module/Footnote/Footnote.js +9 -7
  213. package/lib-module/Footnote/FootnoteLink.js +5 -4
  214. package/lib-module/HorizontalScroll/HorizontalScroll.js +8 -8
  215. package/lib-module/HorizontalScroll/HorizontalScrollButton.js +2 -2
  216. package/lib-module/HorizontalScroll/ScrollViewEnd.js +5 -8
  217. package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +2 -2
  218. package/lib-module/Icon/Icon.js +2 -2
  219. package/lib-module/Icon/IconText.js +5 -5
  220. package/lib-module/IconButton/IconButton.js +2 -2
  221. package/lib-module/InputLabel/InputLabel.js +2 -2
  222. package/lib-module/InputLabel/LabelContent.js +2 -2
  223. package/lib-module/InputLabel/LabelContent.native.js +2 -2
  224. package/lib-module/InputSupports/InputSupports.js +4 -3
  225. package/lib-module/Link/ChevronLink.js +2 -2
  226. package/lib-module/Link/InlinePressable.js +10 -4
  227. package/lib-module/Link/InlinePressable.native.js +12 -6
  228. package/lib-module/Link/Link.js +2 -2
  229. package/lib-module/Link/LinkBase.js +2 -2
  230. package/lib-module/Link/TextButton.js +2 -2
  231. package/lib-module/List/List.js +13 -9
  232. package/lib-module/List/ListItem.js +2 -2
  233. package/lib-module/List/ListItemBase.js +6 -8
  234. package/lib-module/List/ListItemContent.js +4 -2
  235. package/lib-module/List/ListItemMark.js +4 -2
  236. package/lib-module/List/PressableListItemBase.js +2 -2
  237. package/lib-module/Listbox/GroupControl.js +4 -2
  238. package/lib-module/Listbox/Listbox.js +7 -7
  239. package/lib-module/Listbox/ListboxContext.js +2 -2
  240. package/lib-module/Listbox/ListboxGroup.js +2 -2
  241. package/lib-module/Listbox/ListboxItem.js +2 -3
  242. package/lib-module/Listbox/ListboxOverlay.js +2 -3
  243. package/lib-module/Listbox/PressableItem.js +2 -3
  244. package/lib-module/Modal/Modal.js +5 -5
  245. package/lib-module/Modal/ModalContent.js +7 -5
  246. package/lib-module/Modal/WebModal.js +19 -10
  247. package/lib-module/MultiSelectFilter/ModalOverlay.js +2 -2
  248. package/lib-module/MultiSelectFilter/MultiSelectFilter.js +10 -8
  249. package/lib-module/Notification/Notification.js +5 -5
  250. package/lib-module/OrderedList/Item.js +4 -8
  251. package/lib-module/OrderedList/ItemBase.js +2 -2
  252. package/lib-module/OrderedList/OrderedList.js +6 -12
  253. package/lib-module/OrderedList/OrderedListBase.js +2 -2
  254. package/lib-module/Pagination/PageButton.js +2 -2
  255. package/lib-module/Pagination/Pagination.js +2 -2
  256. package/lib-module/Pagination/SideButton.js +2 -2
  257. package/lib-module/PriceLockup/PriceLockup.js +5 -5
  258. package/lib-module/ProductCard/ProductCard.js +3 -2
  259. package/lib-module/ProductCardGroup/ProductCardGroup.js +5 -4
  260. package/lib-module/Progress/Progress.js +2 -2
  261. package/lib-module/Progress/ProgressBar.js +2 -2
  262. package/lib-module/Progress/ProgressBarBackground.js +2 -2
  263. package/lib-module/QuickLinks/QuickLinks.js +2 -2
  264. package/lib-module/QuickLinks/QuickLinksCard.js +4 -2
  265. package/lib-module/QuickLinks/QuickLinksItem.js +2 -2
  266. package/lib-module/QuickLinksFeature/QuickLinksFeature.js +9 -5
  267. package/lib-module/QuickLinksFeature/QuickLinksFeatureItem.js +10 -10
  268. package/lib-module/Radio/Radio.js +2 -2
  269. package/lib-module/Radio/RadioButton.js +62 -14
  270. package/lib-module/Radio/RadioGroup.js +2 -2
  271. package/lib-module/Radio/RadioInput.js +6 -16
  272. package/lib-module/RadioCard/RadioCard.js +2 -2
  273. package/lib-module/RadioCard/RadioCardGroup.js +2 -2
  274. package/lib-module/Responsive/Responsive.js +3 -2
  275. package/lib-module/Responsive/ResponsiveWithMediaQueryStyleSheet.js +3 -2
  276. package/lib-module/Search/Search.js +2 -2
  277. package/lib-module/Select/Group.js +4 -2
  278. package/lib-module/Select/Item.js +4 -2
  279. package/lib-module/Select/Picker.js +2 -2
  280. package/lib-module/Select/Picker.native.js +3 -3
  281. package/lib-module/Select/Select.js +4 -4
  282. package/lib-module/SideNav/Item.js +2 -2
  283. package/lib-module/SideNav/ItemContent.js +4 -2
  284. package/lib-module/SideNav/ItemsGroup.js +2 -2
  285. package/lib-module/SideNav/SideNav.js +3 -3
  286. package/lib-module/Skeleton/Skeleton.js +2 -2
  287. package/lib-module/SkipLink/SkipLink.js +2 -2
  288. package/lib-module/Spacer/Spacer.js +2 -2
  289. package/lib-module/StackView/StackView.js +2 -2
  290. package/lib-module/StackView/StackWrap.js +3 -3
  291. package/lib-module/StackView/StackWrapBox.js +2 -2
  292. package/lib-module/StackView/StackWrapGap.js +2 -2
  293. package/lib-module/StackView/getStackedContent.js +4 -4
  294. package/lib-module/StepTracker/Step.js +4 -2
  295. package/lib-module/StepTracker/StepTracker.js +2 -2
  296. package/lib-module/Tabs/Tabs.js +3 -3
  297. package/lib-module/Tabs/TabsItem.js +3 -3
  298. package/lib-module/Tags/Tags.js +2 -2
  299. package/lib-module/TextInput/TextArea.js +3 -3
  300. package/lib-module/TextInput/TextInput.js +2 -2
  301. package/lib-module/TextInput/TextInputBase.js +7 -7
  302. package/lib-module/ThemeProvider/ThemeProvider.js +5 -5
  303. package/lib-module/Timeline/Timeline.js +2 -2
  304. package/lib-module/ToggleSwitch/ToggleSwitch.js +2 -2
  305. package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +2 -2
  306. package/lib-module/Tooltip/Tooltip.js +6 -6
  307. package/lib-module/Tooltip/Tooltip.native.js +12 -12
  308. package/lib-module/TooltipButton/TooltipButton.js +4 -2
  309. package/lib-module/Typography/Typography.js +2 -2
  310. package/lib-module/Validator/Validator.js +11 -11
  311. package/lib-module/ViewportProvider/ViewportProvider.js +2 -2
  312. package/lib-module/index.js +1 -0
  313. package/lib-module/utils/BaseView/BaseView.js +2 -2
  314. package/lib-module/utils/children.js +4 -4
  315. package/lib-module/utils/withLinkRouter.js +3 -3
  316. package/package.json +2 -2
  317. package/src/A11yInfoProvider/index.jsx +8 -8
  318. package/src/A11yText/index.jsx +2 -2
  319. package/src/ActivityIndicator/Spinner.jsx +2 -2
  320. package/src/ActivityIndicator/Spinner.native.jsx +2 -2
  321. package/src/Autocomplete/Autocomplete.jsx +15 -14
  322. package/src/Autocomplete/Loading.jsx +6 -3
  323. package/src/Autocomplete/Suggestions.jsx +2 -2
  324. package/src/Badge/Badge.jsx +2 -2
  325. package/src/BaseProvider/HydrationContext.jsx +5 -5
  326. package/src/Box/Box.jsx +5 -5
  327. package/src/Button/Button.jsx +11 -9
  328. package/src/Button/ButtonBase.jsx +2 -3
  329. package/src/Button/ButtonDropdown.jsx +2 -2
  330. package/src/Button/ButtonGroup.jsx +11 -2
  331. package/src/Button/ButtonLink.jsx +2 -2
  332. package/src/Card/Card.jsx +151 -11
  333. package/src/Card/CardBase.jsx +2 -2
  334. package/src/Card/PressableCardBase.jsx +18 -4
  335. package/src/CardGroup/CardGroup.jsx +249 -0
  336. package/src/CardGroup/dictionary.js +8 -0
  337. package/src/CardGroup/index.js +3 -0
  338. package/src/Carousel/Carousel.jsx +338 -117
  339. package/src/Carousel/CarouselFirstFocus/CarouselFirstFocus.jsx +2 -2
  340. package/src/Carousel/CarouselItem/CarouselItem.jsx +19 -17
  341. package/src/Carousel/CarouselStepTracker/CarouselStepTracker.jsx +5 -3
  342. package/src/Carousel/CarouselTabs/CarouselTabs.jsx +2 -2
  343. package/src/Carousel/CarouselTabs/CarouselTabsPanel.jsx +6 -6
  344. package/src/Carousel/CarouselTabs/CarouselTabsPanelItem.jsx +3 -3
  345. package/src/Carousel/CarouselThumbnail.jsx +6 -2
  346. package/src/Carousel/CarouselThumbnailNavigation.jsx +2 -2
  347. package/src/Checkbox/Checkbox.jsx +2 -2
  348. package/src/Checkbox/CheckboxButton.jsx +5 -7
  349. package/src/Checkbox/CheckboxGroup.jsx +2 -2
  350. package/src/Checkbox/CheckboxInput.jsx +15 -12
  351. package/src/CheckboxCard/CheckboxCard.jsx +2 -2
  352. package/src/CheckboxCardGroup/CheckboxCardGroup.jsx +2 -2
  353. package/src/ColourToggle/ColourBubble.jsx +5 -4
  354. package/src/ColourToggle/ColourToggle.jsx +3 -3
  355. package/src/Divider/Divider.jsx +2 -2
  356. package/src/ExpandCollapse/Accordion.jsx +4 -2
  357. package/src/ExpandCollapse/Control.jsx +2 -2
  358. package/src/ExpandCollapse/ExpandCollapse.jsx +15 -7
  359. package/src/ExpandCollapse/Panel.jsx +30 -8
  360. package/src/ExpandCollapse/dictionary.js +10 -0
  361. package/src/Feedback/Feedback.jsx +2 -2
  362. package/src/Fieldset/Fieldset.jsx +2 -2
  363. package/src/Fieldset/FieldsetContainer.jsx +2 -2
  364. package/src/Fieldset/FieldsetContainer.native.jsx +2 -2
  365. package/src/Fieldset/Legend.jsx +2 -2
  366. package/src/Fieldset/Legend.native.jsx +2 -2
  367. package/src/FlexGrid/Col/Col.jsx +3 -3
  368. package/src/FlexGrid/FlexGrid.jsx +2 -2
  369. package/src/FlexGrid/Row/Row.jsx +2 -2
  370. package/src/Footnote/Footnote.jsx +111 -98
  371. package/src/Footnote/FootnoteLink.jsx +35 -31
  372. package/src/HorizontalScroll/HorizontalScroll.jsx +8 -8
  373. package/src/HorizontalScroll/HorizontalScrollButton.jsx +2 -2
  374. package/src/HorizontalScroll/ScrollViewEnd.jsx +4 -8
  375. package/src/HorizontalScroll/ScrollViewEnd.native.jsx +2 -2
  376. package/src/Icon/Icon.jsx +2 -2
  377. package/src/Icon/IconText.jsx +7 -5
  378. package/src/IconButton/IconButton.jsx +2 -2
  379. package/src/InputLabel/InputLabel.jsx +2 -2
  380. package/src/InputLabel/LabelContent.jsx +2 -2
  381. package/src/InputLabel/LabelContent.native.jsx +2 -2
  382. package/src/InputSupports/InputSupports.jsx +4 -3
  383. package/src/Link/ChevronLink.jsx +2 -2
  384. package/src/Link/InlinePressable.jsx +22 -15
  385. package/src/Link/InlinePressable.native.jsx +12 -6
  386. package/src/Link/Link.jsx +2 -2
  387. package/src/Link/LinkBase.jsx +2 -2
  388. package/src/Link/TextButton.jsx +2 -2
  389. package/src/List/List.jsx +15 -7
  390. package/src/List/ListItem.jsx +2 -2
  391. package/src/List/ListItemBase.jsx +6 -12
  392. package/src/List/ListItemContent.jsx +5 -2
  393. package/src/List/ListItemMark.jsx +5 -3
  394. package/src/List/PressableListItemBase.jsx +2 -2
  395. package/src/Listbox/GroupControl.jsx +5 -2
  396. package/src/Listbox/Listbox.jsx +7 -7
  397. package/src/Listbox/ListboxContext.js +2 -2
  398. package/src/Listbox/ListboxGroup.jsx +2 -2
  399. package/src/Listbox/ListboxItem.jsx +2 -3
  400. package/src/Listbox/ListboxOverlay.jsx +2 -3
  401. package/src/Listbox/PressableItem.jsx +2 -3
  402. package/src/Modal/Modal.jsx +5 -5
  403. package/src/Modal/ModalContent.jsx +132 -125
  404. package/src/Modal/WebModal.jsx +17 -8
  405. package/src/MultiSelectFilter/ModalOverlay.jsx +2 -2
  406. package/src/MultiSelectFilter/MultiSelectFilter.jsx +263 -252
  407. package/src/Notification/Notification.jsx +5 -5
  408. package/src/OrderedList/Item.jsx +4 -6
  409. package/src/OrderedList/ItemBase.jsx +2 -2
  410. package/src/OrderedList/OrderedList.jsx +4 -7
  411. package/src/OrderedList/OrderedListBase.jsx +2 -2
  412. package/src/Pagination/PageButton.jsx +2 -2
  413. package/src/Pagination/Pagination.jsx +2 -2
  414. package/src/Pagination/SideButton.jsx +2 -2
  415. package/src/PriceLockup/PriceLockup.jsx +93 -88
  416. package/src/ProductCard/ProductCard.jsx +90 -84
  417. package/src/ProductCardGroup/ProductCardGroup.jsx +5 -5
  418. package/src/Progress/Progress.jsx +2 -2
  419. package/src/Progress/ProgressBar.jsx +2 -2
  420. package/src/Progress/ProgressBarBackground.jsx +4 -2
  421. package/src/QuickLinks/QuickLinks.jsx +2 -2
  422. package/src/QuickLinks/QuickLinksCard.jsx +9 -3
  423. package/src/QuickLinks/QuickLinksItem.jsx +2 -2
  424. package/src/QuickLinksFeature/QuickLinksFeature.jsx +31 -27
  425. package/src/QuickLinksFeature/QuickLinksFeatureItem.jsx +3 -3
  426. package/src/Radio/Radio.jsx +2 -2
  427. package/src/Radio/RadioButton.jsx +58 -6
  428. package/src/Radio/RadioGroup.jsx +2 -2
  429. package/src/Radio/RadioInput.jsx +15 -14
  430. package/src/RadioCard/RadioCard.jsx +2 -2
  431. package/src/RadioCard/RadioCardGroup.jsx +2 -2
  432. package/src/Responsive/Responsive.jsx +8 -3
  433. package/src/Responsive/ResponsiveWithMediaQueryStyleSheet.jsx +23 -16
  434. package/src/Search/Search.jsx +2 -2
  435. package/src/Select/Group.jsx +9 -3
  436. package/src/Select/Item.jsx +7 -1
  437. package/src/Select/Picker.jsx +2 -2
  438. package/src/Select/Picker.native.jsx +3 -3
  439. package/src/Select/Select.jsx +4 -4
  440. package/src/SideNav/Item.jsx +2 -2
  441. package/src/SideNav/ItemContent.jsx +7 -3
  442. package/src/SideNav/ItemsGroup.jsx +2 -2
  443. package/src/SideNav/SideNav.jsx +3 -3
  444. package/src/Skeleton/Skeleton.jsx +2 -2
  445. package/src/SkipLink/SkipLink.jsx +2 -2
  446. package/src/Spacer/Spacer.jsx +2 -2
  447. package/src/StackView/StackView.jsx +2 -2
  448. package/src/StackView/StackWrap.jsx +3 -3
  449. package/src/StackView/StackWrapBox.jsx +2 -2
  450. package/src/StackView/StackWrapGap.jsx +2 -2
  451. package/src/StackView/getStackedContent.jsx +4 -4
  452. package/src/StepTracker/Step.jsx +75 -67
  453. package/src/StepTracker/StepTracker.jsx +2 -2
  454. package/src/Tabs/Tabs.jsx +3 -3
  455. package/src/Tabs/TabsItem.jsx +3 -3
  456. package/src/Tags/Tags.jsx +2 -2
  457. package/src/TextInput/TextArea.jsx +3 -3
  458. package/src/TextInput/TextInput.jsx +2 -2
  459. package/src/TextInput/TextInputBase.jsx +7 -7
  460. package/src/ThemeProvider/ThemeProvider.jsx +5 -5
  461. package/src/Timeline/Timeline.jsx +2 -2
  462. package/src/ToggleSwitch/ToggleSwitch.jsx +2 -2
  463. package/src/ToggleSwitch/ToggleSwitchGroup.jsx +2 -2
  464. package/src/Tooltip/Tooltip.jsx +6 -6
  465. package/src/Tooltip/Tooltip.native.jsx +12 -12
  466. package/src/TooltipButton/TooltipButton.jsx +5 -2
  467. package/src/Typography/Typography.jsx +2 -2
  468. package/src/Validator/Validator.jsx +11 -11
  469. package/src/ViewportProvider/ViewportProvider.jsx +2 -2
  470. package/src/index.js +1 -0
  471. package/src/utils/BaseView/BaseView.jsx +2 -2
  472. package/src/utils/children.jsx +4 -4
  473. package/src/utils/withLinkRouter.jsx +3 -3
  474. package/types/ExpandCollapse.d.ts +1 -1
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useState } from 'react';
1
+ import React from 'react';
2
2
  import View from "react-native-web/dist/exports/View";
3
3
  import Platform from "react-native-web/dist/exports/Platform";
4
4
  import StyleSheet from "react-native-web/dist/exports/StyleSheet";
@@ -181,7 +181,7 @@ const selectCustomFeedbackStyles = _ref7 => {
181
181
  * NOTE: this does not work on native platforms - the grouped items will be shown at the same level as the non-grouped items.
182
182
  *
183
183
  */
184
- const Select = /*#__PURE__*/forwardRef((_ref8, ref) => {
184
+ const Select = /*#__PURE__*/React.forwardRef((_ref8, ref) => {
185
185
  let {
186
186
  value,
187
187
  initialValue,
@@ -205,10 +205,10 @@ const Select = /*#__PURE__*/forwardRef((_ref8, ref) => {
205
205
  onChange,
206
206
  readOnly
207
207
  });
208
- const [isFocused, setIsFocused] = useState(false);
208
+ const [isFocused, setIsFocused] = React.useState(false);
209
209
  const handleFocus = () => setIsFocused(true);
210
210
  const handleBlur = () => setIsFocused(false);
211
- const [isHovered, setIsHovered] = useState(false);
211
+ const [isHovered, setIsHovered] = React.useState(false);
212
212
  const handleMouseOver = () => setIsHovered(true);
213
213
  const handleMouseOut = () => setIsHovered(false);
214
214
  const {
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
2
2
  import Pressable from "react-native-web/dist/exports/Pressable";
3
3
  import Platform from "react-native-web/dist/exports/Platform";
4
4
  import PropTypes from 'prop-types';
@@ -39,7 +39,7 @@ function selectItemStyles(_ref) {
39
39
 
40
40
  This component can only be accessed as a name-spaced component: `SideNav.Item`.
41
41
  */
42
- const Item = /*#__PURE__*/forwardRef((_ref2, ref) => {
42
+ const Item = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
43
43
  let {
44
44
  children,
45
45
  itemId,
@@ -21,7 +21,7 @@ export function selectAccentStyles(tokens) {
21
21
  /**
22
22
  * Content inside an item or control in a SideNav, themed by the SideNavItem theme
23
23
  */
24
- const ItemContent = _ref => {
24
+ const ItemContent = /*#__PURE__*/React.forwardRef((_ref, ref) => {
25
25
  let {
26
26
  children,
27
27
  tokens
@@ -30,12 +30,14 @@ const ItemContent = _ref => {
30
30
  return /*#__PURE__*/_jsxs(_Fragment, {
31
31
  children: [/*#__PURE__*/_jsx(Typography, {
32
32
  tokens: typographyTokens,
33
+ ref: ref,
33
34
  children: children
34
35
  }), /*#__PURE__*/_jsx(View, {
35
36
  style: [staticStyles.absolute, selectAccentStyles(tokens)]
36
37
  })]
37
38
  });
38
- };
39
+ });
40
+ ItemContent.displayName = 'ItemContent';
39
41
  ItemContent.propTypes = {
40
42
  tokens: getTokensPropType('SideNavItem'),
41
43
  children: PropTypes.node
@@ -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 ItemContent from './ItemContent';
4
4
  import ExpandCollapse from '../ExpandCollapse';
@@ -16,7 +16,7 @@ import { useThemeTokensCallback } from '../ThemeProvider';
16
16
  - Use `SideNav.ItemsGroup` with large pages that have multiple sections
17
17
  */
18
18
  import { jsx as _jsx } from "react/jsx-runtime";
19
- const ItemsGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
19
+ const ItemsGroup = /*#__PURE__*/React.forwardRef((_ref, ref) => {
20
20
  let {
21
21
  children,
22
22
  label,
@@ -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 ExpandCollapse from '../ExpandCollapse';
4
4
  import Item from './Item';
@@ -21,7 +21,7 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, vie
21
21
  - Use in conjunction with a large amount of educational / informational content
22
22
  - Allow the user to navigate between options frequently and efficiently
23
23
  */
24
- const SideNav = /*#__PURE__*/forwardRef((_ref, ref) => {
24
+ const SideNav = /*#__PURE__*/React.forwardRef((_ref, ref) => {
25
25
  let {
26
26
  children,
27
27
  variant = {},
@@ -32,7 +32,7 @@ const SideNav = /*#__PURE__*/forwardRef((_ref, ref) => {
32
32
  ...rest
33
33
  } = _ref;
34
34
  const themeTokens = useThemeTokens('SideNav', tokens, variant);
35
- const [active, setActive] = useState({
35
+ const [active, setActive] = React.useState({
36
36
  groupId: undefined,
37
37
  itemId: undefined
38
38
  });
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
2
2
  import Animated from "react-native-web/dist/exports/Animated";
3
3
  import Platform from "react-native-web/dist/exports/Platform";
4
4
  import StyleSheet from "react-native-web/dist/exports/StyleSheet";
@@ -51,7 +51,7 @@ const selectSquareStyles = _ref4 => {
51
51
  borderRadius: radius
52
52
  };
53
53
  };
54
- const Skeleton = /*#__PURE__*/forwardRef((_ref5, ref) => {
54
+ const Skeleton = /*#__PURE__*/React.forwardRef((_ref5, ref) => {
55
55
  let {
56
56
  tokens,
57
57
  variant,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
2
2
  import Platform from "react-native-web/dist/exports/Platform";
3
3
  import Pressable from "react-native-web/dist/exports/Pressable";
4
4
  import StyleSheet from "react-native-web/dist/exports/StyleSheet";
@@ -105,7 +105,7 @@ const selectTextStyles = _ref2 => {
105
105
  *
106
106
  * Skip link supports all the common a11y and link props.
107
107
  */
108
- const SkipLink = /*#__PURE__*/forwardRef((_ref3, ref) => {
108
+ const SkipLink = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
109
109
  let {
110
110
  tokens,
111
111
  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
  import StyleSheet from "react-native-web/dist/exports/StyleSheet";
4
4
  import View from "react-native-web/dist/exports/View";
@@ -56,7 +56,7 @@ const selectSizeStyle = (size, direction) => ({
56
56
  * Spacer has no content and is ignored by tools such as screen readers. Use `Divider` for
57
57
  * separations between elements that may be treated as semantically meaningful on web.
58
58
  */
59
- const Spacer = /*#__PURE__*/forwardRef((_ref, ref) => {
59
+ const Spacer = /*#__PURE__*/React.forwardRef((_ref, ref) => {
60
60
  let {
61
61
  space = 1,
62
62
  direction = 'column',
@@ -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-web/dist/exports/View";
4
4
  import Divider from '../Divider';
@@ -52,7 +52,7 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, vie
52
52
  * It applies no accessibility props of its own, unless `divider` prop is passed (`Divider` has a
53
53
  * semantic role but only on web, not within native apps).
54
54
  */
55
- const StackView = /*#__PURE__*/forwardRef((_ref, ref) => {
55
+ const StackView = /*#__PURE__*/React.forwardRef((_ref, ref) => {
56
56
  let {
57
57
  space = 0,
58
58
  divider,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useState } from 'react';
1
+ import React from 'react';
2
2
  import Platform from "react-native-web/dist/exports/Platform";
3
3
  import useSafeLayoutEffect from '../utils/useSafeLayoutEffect';
4
4
  import StackWrapBox from './StackWrapBox';
@@ -22,8 +22,8 @@ const exampleGapValue = '1px';
22
22
  * wrapped lines of items. By default, this `gap` is the same as the gap between spaced items.
23
23
  * If a different spacing is desired between wrapped lines, pass a spacing value to the `gap` prop.
24
24
  */
25
- const StackWrap = /*#__PURE__*/forwardRef((props, ref) => {
26
- const [canUseCSSGap, setCanUseCSSGap] = useState(false);
25
+ const StackWrap = /*#__PURE__*/React.forwardRef((props, ref) => {
26
+ const [canUseCSSGap, setCanUseCSSGap] = React.useState(false);
27
27
  const {
28
28
  space
29
29
  } = props;
@@ -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-web/dist/exports/View";
4
4
  import { a11yProps, getA11yPropsFromHtmlTag, getTokensPropType, layoutTags, responsiveProps, selectSystemProps, spacingProps, useSpacingScale, useResponsiveProp, viewProps } from '../utils';
@@ -33,7 +33,7 @@ const spaceSides = {
33
33
  * Unlike the cleaner and more side-effect-free CSS gap StackWrap implementation, this renders a Box (View)
34
34
  * between the container and the stacked children, and requires a negative margin on the container.
35
35
  */
36
- const StackWrapBox = /*#__PURE__*/forwardRef((_ref, ref) => {
36
+ const StackWrapBox = /*#__PURE__*/React.forwardRef((_ref, ref) => {
37
37
  let {
38
38
  space = 1,
39
39
  gap = space,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
2
2
  import View from "react-native-web/dist/exports/View";
3
3
  import StackWrapBox from './StackWrapBox';
4
4
  import { a11yProps, getA11yPropsFromHtmlTag, selectSystemProps, useSpacingScale, useResponsiveProp, viewProps } from '../utils';
@@ -19,7 +19,7 @@ const [selectProps] = selectSystemProps([a11yProps, viewProps]);
19
19
  * - The `space` between items is the same as the `gap` between wrapped rows (this is the
20
20
  * default if `gap` prop is undefined)
21
21
  */
22
- const StackWrapGap = /*#__PURE__*/forwardRef((_ref, ref) => {
22
+ const StackWrapGap = /*#__PURE__*/React.forwardRef((_ref, ref) => {
23
23
  let {
24
24
  space = 1,
25
25
  tokens,
@@ -1,4 +1,4 @@
1
- import React, { Children, Fragment } from 'react';
1
+ import React from 'react';
2
2
  import Box from '../Box';
3
3
  import Divider from '../Divider';
4
4
  import Spacer from '../Spacer';
@@ -46,7 +46,7 @@ const getStackedContent = (children, _ref) => {
46
46
 
47
47
  // Avoid surprises if children contains comments, nulls, or is a variable wrapped as a fragment
48
48
  const topLevelChildren = preserveFragments ? children : unpackFragment(children);
49
- const validChildren = Children.toArray(topLevelChildren).filter(Boolean);
49
+ const validChildren = React.Children.toArray(topLevelChildren).filter(Boolean);
50
50
  const content = validChildren.reduce((newChildren, child, index) => {
51
51
  const boxID = `Stack-Box-${index}`;
52
52
  const item = box ?
@@ -112,10 +112,10 @@ const getStackedContent = (children, _ref) => {
112
112
  const unpackFragment = child => {
113
113
  var _child$props;
114
114
  // If this level is a set of top-level siblings rather than one child, check each in turn
115
- if (Children.count(child) > 1) return Children.map(child, unpackFragment);
115
+ if (React.Children.count(child) > 1) return React.Children.map(child, unpackFragment);
116
116
 
117
117
  // When a fragment is found, unpack its children to the top level and check them
118
- if ((child === null || child === void 0 ? void 0 : child.type) === Fragment) return unpackFragment((_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.children);
118
+ if ((child === null || child === void 0 ? void 0 : child.type) === React.Fragment) return unpackFragment((_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.children);
119
119
 
120
120
  // Stop unpacking as soon as any non-fragment child is found
121
121
  return child;
@@ -155,7 +155,7 @@ const getStepTestID = (isCompleted, isCurrent) => {
155
155
  /**
156
156
  * A single step of a StepTracker.
157
157
  */
158
- const Step = _ref8 => {
158
+ const Step = /*#__PURE__*/React.forwardRef((_ref8, ref) => {
159
159
  let {
160
160
  label,
161
161
  name,
@@ -189,6 +189,7 @@ const Step = _ref8 => {
189
189
  accessibilityLabel: label,
190
190
  accessibilityLevel: 2,
191
191
  accessibilityCurrent: status === stepIndex,
192
+ ref: ref,
192
193
  ...selectProps(rest),
193
194
  children: [/*#__PURE__*/_jsxs(StackView, {
194
195
  direction: "row",
@@ -226,7 +227,8 @@ const Step = _ref8 => {
226
227
  })]
227
228
  })]
228
229
  });
229
- };
230
+ });
231
+ Step.displayName = 'Step';
230
232
  Step.propTypes = {
231
233
  ...selectedSystemPropTypes,
232
234
  label: PropTypes.string.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 StyleSheet from "react-native-web/dist/exports/StyleSheet";
4
4
  import Text from "react-native-web/dist/exports/Text";
@@ -85,7 +85,7 @@ const selectStepTrackerLabelStyles = (_ref3, themeOptions) => {
85
85
  * - `accessibilityValue.text` (`aria-valuetext`): `<Current Step Label>`,
86
86
  *
87
87
  */
88
- const StepTracker = /*#__PURE__*/forwardRef((_ref4, ref) => {
88
+ const StepTracker = /*#__PURE__*/React.forwardRef((_ref4, ref) => {
89
89
  let {
90
90
  current = 0,
91
91
  copy = 'en',
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useCallback } from 'react';
1
+ import React from 'react';
2
2
  import Platform from "react-native-web/dist/exports/Platform";
3
3
  import PropTypes from 'prop-types';
4
4
  import ABBPropTypes from 'airbnb-prop-types';
@@ -43,7 +43,7 @@ const getStackViewTokens = variant => {
43
43
  * `navigation`as the `accessibilityRole` to te Tabs component, this will cause
44
44
  * TabItems to default to a role of link and obtain aria-current behaviour.
45
45
  */
46
- const Tabs = /*#__PURE__*/forwardRef((_ref, ref) => {
46
+ const Tabs = /*#__PURE__*/React.forwardRef((_ref, ref) => {
47
47
  let {
48
48
  tokens,
49
49
  itemTokens,
@@ -70,7 +70,7 @@ const Tabs = /*#__PURE__*/forwardRef((_ref, ref) => {
70
70
  onChange
71
71
  });
72
72
  const [itemPositions, isPositioningReady] = useItemPositions();
73
- useHash(useCallback((hash, event) => {
73
+ useHash(React.useCallback((hash, event) => {
74
74
  const hashItem = hash && items.find(_ref2 => {
75
75
  let {
76
76
  href
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useEffect } from 'react';
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import Platform from "react-native-web/dist/exports/Platform";
4
4
  import Pressable from "react-native-web/dist/exports/Pressable";
@@ -80,7 +80,7 @@ const selectContainerStyles = _ref3 => {
80
80
  *
81
81
  * This is rendered automatically by `Tabs` and isn't intended be used directly.
82
82
  */
83
- const TabsItem = /*#__PURE__*/forwardRef((_ref4, ref) => {
83
+ const TabsItem = /*#__PURE__*/React.forwardRef((_ref4, ref) => {
84
84
  let {
85
85
  href,
86
86
  variant,
@@ -135,7 +135,7 @@ const TabsItem = /*#__PURE__*/forwardRef((_ref4, ref) => {
135
135
  accessibilityState,
136
136
  ...rest
137
137
  });
138
- useEffect(() => {
138
+ React.useEffect(() => {
139
139
  // If this is selected while off-screen, scroll it into view
140
140
  if (selected) {
141
141
  const position = itemPositions.positions[index];
@@ -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
  import Platform from "react-native-web/dist/exports/Platform";
@@ -55,7 +55,7 @@ const separateIconTextTokens = (_ref, returnRest) => {
55
55
  };
56
56
  const selectIconTextTokens = tokens => separateIconTextTokens(tokens, false);
57
57
  const selectNonIconTextTokens = tokens => separateIconTextTokens(tokens, true);
58
- const Tags = /*#__PURE__*/forwardRef((_ref2, ref) => {
58
+ const Tags = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
59
59
  let {
60
60
  variant,
61
61
  tokens,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useState } from 'react';
1
+ import React from 'react';
2
2
  import Platform from "react-native-web/dist/exports/Platform";
3
3
  import { a11yProps, focusHandlerProps, getTokensPropType, inputSupportsProps, selectSystemProps, textInputHandlerProps, textInputProps, variantProp, viewProps } from '../utils';
4
4
  import InputSupports from '../InputSupports';
@@ -32,14 +32,14 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, foc
32
32
  * or an indicator that the field is optional.
33
33
  * It is a more usable and accessible option than the HTML `placeholder` attribute.
34
34
  */
35
- const TextArea = /*#__PURE__*/forwardRef((_ref, ref) => {
35
+ const TextArea = /*#__PURE__*/React.forwardRef((_ref, ref) => {
36
36
  let {
37
37
  tokens,
38
38
  variant = {},
39
39
  ...rest
40
40
  } = _ref;
41
41
  const themeTokens = useThemeTokens('TextArea', tokens, variant);
42
- const [inputHeight, setInputHeight] = useState();
42
+ const [inputHeight, setInputHeight] = React.useState();
43
43
 
44
44
  // adjust the text area's height as new lines are added to the content
45
45
  const onHeightChange = _ref2 => {
@@ -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 { a11yProps, focusHandlerProps, getTokensPropType, inputSupportsProps, selectSystemProps, textInputHandlerProps, textInputProps, variantProp, viewProps } from '../utils';
4
4
  import InputSupports from '../InputSupports';
@@ -27,7 +27,7 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, foc
27
27
  * supported props and <a href="https://reactnative.dev/docs/textinput" target="_blank">React Native Web documentation</a> for
28
28
  * their implementation on the web.
29
29
  */
30
- const TextInput = /*#__PURE__*/forwardRef((_ref, ref) => {
30
+ const TextInput = /*#__PURE__*/React.forwardRef((_ref, ref) => {
31
31
  let {
32
32
  tokens,
33
33
  nativeID,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useEffect, useRef, useState } from 'react';
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import Platform from "react-native-web/dist/exports/Platform";
4
4
  import StyleSheet from "react-native-web/dist/exports/StyleSheet";
@@ -175,7 +175,7 @@ const getIcon = function () {
175
175
  testID: selectedIcon.testID
176
176
  });
177
177
  };
178
- const TextInputBase = /*#__PURE__*/forwardRef((_ref7, ref) => {
178
+ const TextInputBase = /*#__PURE__*/React.forwardRef((_ref7, ref) => {
179
179
  let {
180
180
  buttons = [],
181
181
  copy = 'en',
@@ -198,8 +198,8 @@ const TextInputBase = /*#__PURE__*/forwardRef((_ref7, ref) => {
198
198
  onKeyPress,
199
199
  ...rest
200
200
  } = _ref7;
201
- const [isFocused, setIsFocused] = useState(false);
202
- const [showPassword, setShowPassword] = useState(false);
201
+ const [isFocused, setIsFocused] = React.useState(false);
202
+ const [showPassword, setShowPassword] = React.useState(false);
203
203
  const handleFocus = event => {
204
204
  setIsFocused(true);
205
205
  if (typeof onFocus === 'function') onFocus(event);
@@ -208,7 +208,7 @@ const TextInputBase = /*#__PURE__*/forwardRef((_ref7, ref) => {
208
208
  setIsFocused(false);
209
209
  if (typeof onBlur === 'function') onBlur(event);
210
210
  };
211
- const [isHovered, setIsHovered] = useState(false);
211
+ const [isHovered, setIsHovered] = React.useState(false);
212
212
  const handleMouseOver = event => {
213
213
  setIsHovered(true);
214
214
  if (typeof onMouseOver === 'function') onMouseOver(event);
@@ -217,7 +217,7 @@ const TextInputBase = /*#__PURE__*/forwardRef((_ref7, ref) => {
217
217
  setIsHovered(false);
218
218
  if (typeof onMouseOut === 'function') onMouseOut(event);
219
219
  };
220
- const defaultRef = useRef();
220
+ const defaultRef = React.useRef();
221
221
  const inputRef = ref ?? defaultRef;
222
222
  const {
223
223
  currentValue,
@@ -239,7 +239,7 @@ const TextInputBase = /*#__PURE__*/forwardRef((_ref7, ref) => {
239
239
  const isNumeric = numeric || type === 'card' || type === 'number';
240
240
  const isPassword = password || type === 'password';
241
241
  const element = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current;
242
- useEffect(() => {
242
+ React.useEffect(() => {
243
243
  if (Platform.OS === 'web' && pattern && element) {
244
244
  // React Native Web doesn't support `pattern`, so we have to attach it via a ref,
245
245
  // which a `pattern` user must provide anyway to call .checkValidity() on the element.
@@ -1,11 +1,11 @@
1
- import React, { createContext, useEffect, useState } from 'react';
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { validateThemeTokensVersion } from './utils';
4
4
  import responsiveProps from '../utils/props/responsiveProps';
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
6
  export const uninitialisedError = new Error('Theme context used outside of ThemeProvider');
7
- export const ThemeContext = /*#__PURE__*/createContext(uninitialisedError);
8
- export const ThemeSetterContext = /*#__PURE__*/createContext(uninitialisedError);
7
+ export const ThemeContext = /*#__PURE__*/React.createContext(uninitialisedError);
8
+ export const ThemeSetterContext = /*#__PURE__*/React.createContext(uninitialisedError);
9
9
 
10
10
  // These options default to `true` in v1.x to match legacy defaults and avoid breaking changes.
11
11
  // This should change in future major releases to become "opt-in" legacy support.
@@ -24,8 +24,8 @@ const ThemeProvider = _ref => {
24
24
  defaultTheme,
25
25
  themeOptions = {}
26
26
  } = _ref;
27
- const [theme, setTheme] = useState(defaultTheme);
28
- useEffect(() => {
27
+ const [theme, setTheme] = React.useState(defaultTheme);
28
+ React.useEffect(() => {
29
29
  if (theme.metadata.name !== defaultTheme.metadata.name) {
30
30
  setTheme(defaultTheme);
31
31
  }
@@ -1,5 +1,5 @@
1
1
  import PropTypes from 'prop-types';
2
- import React, { forwardRef } from 'react';
2
+ import React from 'react';
3
3
  import View from "react-native-web/dist/exports/View";
4
4
  import { useThemeTokens } from '../ThemeProvider';
5
5
  import { getTokensPropType, variantProp, a11yProps, viewProps, selectSystemProps, getA11yPropsFromHtmlTag, layoutTags } from '../utils';
@@ -93,7 +93,7 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, vie
93
93
  * ## A11y guidelines
94
94
  * Timeline link supports all the common a11y props.
95
95
  */
96
- const Timeline = /*#__PURE__*/forwardRef((_ref7, ref) => {
96
+ const Timeline = /*#__PURE__*/React.forwardRef((_ref7, ref) => {
97
97
  let {
98
98
  tokens,
99
99
  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
  import Platform from "react-native-web/dist/exports/Platform";
4
4
  import StyleSheet from "react-native-web/dist/exports/StyleSheet";
@@ -119,7 +119,7 @@ const selectLabelTokens = _ref8 => {
119
119
  lineHeight: labelLineHeight
120
120
  };
121
121
  };
122
- const ToggleSwitch = /*#__PURE__*/forwardRef((_ref9, ref) => {
122
+ const ToggleSwitch = /*#__PURE__*/React.forwardRef((_ref9, ref) => {
123
123
  let {
124
124
  copy = 'en',
125
125
  value,
@@ -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
  import Platform from "react-native-web/dist/exports/Platform";
@@ -11,7 +11,7 @@ import { a11yProps, containUniqueFields, focusHandlerProps, getTokensPropType, s
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
13
13
  const [selectItemProps, selectedItemPropTypes] = selectSystemProps([a11yProps, focusHandlerProps, viewProps]);
14
- const ToggleSwitchGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
14
+ const ToggleSwitchGroup = /*#__PURE__*/React.forwardRef((_ref, ref) => {
15
15
  let {
16
16
  copy = 'en',
17
17
  variant,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useEffect, useRef, useState } from 'react';
1
+ import React from 'react';
2
2
  import Platform from "react-native-web/dist/exports/Platform";
3
3
  import Pressable from "react-native-web/dist/exports/Pressable";
4
4
  import StyleSheet from "react-native-web/dist/exports/StyleSheet";
@@ -110,7 +110,7 @@ const defaultControl = (pressableState, variant) => /*#__PURE__*/_jsx(TooltipBut
110
110
  * - You may use one when the information is useful only to a small percentage of users (ie. tech savvy people wouldn't need this info).
111
111
  * - Tooltips may also be useful when vertical space is an issue.
112
112
  */
113
- const Tooltip = /*#__PURE__*/forwardRef((_ref6, ref) => {
113
+ const Tooltip = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
114
114
  let {
115
115
  children,
116
116
  content,
@@ -123,9 +123,9 @@ const Tooltip = /*#__PURE__*/forwardRef((_ref6, ref) => {
123
123
  nativeID,
124
124
  ...rest
125
125
  } = _ref6;
126
- const [isOpen, setIsOpen] = useState(false);
127
- const arrowRef = useRef();
128
- const [tooltipDimensions, setTooltipDimensions] = useState(null);
126
+ const [isOpen, setIsOpen] = React.useState(false);
127
+ const arrowRef = React.useRef();
128
+ const [tooltipDimensions, setTooltipDimensions] = React.useState(null);
129
129
  const positions = {
130
130
  auto: undefined,
131
131
  // Auto needs to specifically bet set to undefined
@@ -195,7 +195,7 @@ const Tooltip = /*#__PURE__*/forwardRef((_ref6, ref) => {
195
195
  });
196
196
  }
197
197
  };
198
- useEffect(() => {
198
+ React.useEffect(() => {
199
199
  if (!isOpen) {
200
200
  setTooltipDimensions(null);
201
201
  }
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useEffect, useRef, useState } from 'react';
1
+ import React from 'react';
2
2
  import Dimensions from "react-native-web/dist/exports/Dimensions";
3
3
  import Platform from "react-native-web/dist/exports/Platform";
4
4
  import Pressable from "react-native-web/dist/exports/Pressable";
@@ -139,7 +139,7 @@ const defaultControl = (pressableState, variant) => /*#__PURE__*/_jsx(TooltipBut
139
139
  * - You may use one when the information is useful only to a small percentage of users (ie. tech savvy people wouldn't need this info).
140
140
  * - Tooltips may also be useful when vertical space is an issue.
141
141
  */
142
- const Tooltip = /*#__PURE__*/forwardRef((_ref6, ref) => {
142
+ const Tooltip = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
143
143
  let {
144
144
  children,
145
145
  content,
@@ -152,12 +152,12 @@ const Tooltip = /*#__PURE__*/forwardRef((_ref6, ref) => {
152
152
  nativeID,
153
153
  ...rest
154
154
  } = _ref6;
155
- const [isOpen, setIsOpen] = useState(false);
156
- const controlRef = useRef();
157
- const [controlLayout, setControlLayout] = useState(null);
158
- const [tooltipDimensions, setTooltipDimensions] = useState(null);
159
- const [windowDimensions, setWindowDimensions] = useState(Dimensions.get('window'));
160
- const [tooltipPosition, setTooltipPosition] = useState(null);
155
+ const [isOpen, setIsOpen] = React.useState(false);
156
+ const controlRef = React.useRef();
157
+ const [controlLayout, setControlLayout] = React.useState(null);
158
+ const [tooltipDimensions, setTooltipDimensions] = React.useState(null);
159
+ const [windowDimensions, setWindowDimensions] = React.useState(Dimensions.get('window'));
160
+ const [tooltipPosition, setTooltipPosition] = React.useState(null);
161
161
  const getCopy = useCopy({
162
162
  dictionary,
163
163
  copy
@@ -167,7 +167,7 @@ const Tooltip = /*#__PURE__*/forwardRef((_ref6, ref) => {
167
167
  arrowWidth,
168
168
  arrowOffset
169
169
  } = themeTokens;
170
- useEffect(() => {
170
+ React.useEffect(() => {
171
171
  const subscription = Dimensions.addEventListener('change', _ref7 => {
172
172
  let {
173
173
  window
@@ -213,7 +213,7 @@ const Tooltip = /*#__PURE__*/forwardRef((_ref6, ref) => {
213
213
  });
214
214
  }
215
215
  };
216
- useEffect(() => {
216
+ React.useEffect(() => {
217
217
  if (isOpen) {
218
218
  controlRef.current.measureInWindow((x, y, width, height) => {
219
219
  setControlLayout({
@@ -229,10 +229,10 @@ const Tooltip = /*#__PURE__*/forwardRef((_ref6, ref) => {
229
229
  setTooltipPosition(null);
230
230
  }
231
231
  }, [isOpen]);
232
- useEffect(() => {
232
+ React.useEffect(() => {
233
233
  setIsOpen(false);
234
234
  }, [windowDimensions]);
235
- useEffect(() => {
235
+ React.useEffect(() => {
236
236
  if (tooltipPosition !== null && !(tooltipPosition !== null && tooltipPosition !== void 0 && tooltipPosition.isNormalized) || !isOpen || controlLayout === null || tooltipDimensions == null) {
237
237
  return;
238
238
  }
@@ -38,7 +38,7 @@ const selectIconTokens = _ref2 => {
38
38
  * In fact though, it isn't actually a pressable - it's meant to be used as pressable's content.
39
39
  * Due to this any interaction states (e.g. pressed, hover, etc.) has to be passed down to it as a prop.
40
40
  */
41
- const TooltipButton = _ref3 => {
41
+ const TooltipButton = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
42
42
  let {
43
43
  pressableState,
44
44
  tokens,
@@ -54,6 +54,7 @@ const TooltipButton = _ref3 => {
54
54
  margin: -themeTokens.outerBorderWidth
55
55
  }, staticStyles.bubblePointerEvents],
56
56
  ...selectProps(rest),
57
+ ref: ref,
57
58
  children: /*#__PURE__*/_jsx(View, {
58
59
  style: selectInnerContainerStyles(themeTokens),
59
60
  children: IconComponent && /*#__PURE__*/_jsx(Icon, {
@@ -62,7 +63,8 @@ const TooltipButton = _ref3 => {
62
63
  })
63
64
  })
64
65
  });
65
- };
66
+ });
67
+ TooltipButton.displayName = 'TooltipButton';
66
68
  const staticStyles = StyleSheet.create({
67
69
  bubblePointerEvents: {
68
70
  ...Platform.select({