@telus-uds/components-base 1.84.0 → 1.85.1

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 +26 -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 +9 -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 +9 -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 +38 -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
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useCallback, useEffect } from 'react';
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import ScrollView from "react-native-web/dist/exports/ScrollView";
4
4
  import debounce from 'lodash.debounce';
@@ -12,16 +12,16 @@ const DEBOUNCE_MS = 100;
12
12
  * so we need to work around it with debouncing on `onScroll`. See:
13
13
  * https://github.com/necolas/react-native-web/issues/1021
14
14
  */
15
- const ScrollViewEnd = /*#__PURE__*/forwardRef((_ref, ref) => {
15
+ const ScrollViewEnd = /*#__PURE__*/React.forwardRef((_ref, ref) => {
16
16
  let {
17
17
  onScrollEnd,
18
- onScroll,
18
+ onScroll = null,
19
19
  ...props
20
20
  } = _ref;
21
21
  // Return debounced function directly from useCallback so it has .cancel method etc.
22
22
  // Linter complains this stops it automatically scanning the deps, but we can check them manually.
23
23
  // eslint-disable-next-line react-hooks/exhaustive-deps
24
- const debounceScrollEnd = useCallback(debounce(event => onScrollEnd(event), DEBOUNCE_MS), [onScrollEnd]);
24
+ const debounceScrollEnd = React.useCallback(debounce(event => onScrollEnd(event), DEBOUNCE_MS), [onScrollEnd]);
25
25
 
26
26
  // Call any onScroll handler immediately, and any onScrollEnd handler after 100ms of no scrolling
27
27
  const handleScroll = event => {
@@ -30,7 +30,7 @@ const ScrollViewEnd = /*#__PURE__*/forwardRef((_ref, ref) => {
30
30
  };
31
31
 
32
32
  // Cancel any lingering debounce timeouts on dismount
33
- useEffect(() => debounceScrollEnd.cancel);
33
+ React.useEffect(() => debounceScrollEnd.cancel);
34
34
  return /*#__PURE__*/_jsx(ScrollView, {
35
35
  ref: ref,
36
36
  ...props,
@@ -43,7 +43,4 @@ ScrollViewEnd.propTypes = {
43
43
  onScrollEnd: PropTypes.func.isRequired,
44
44
  onScroll: PropTypes.func
45
45
  };
46
- ScrollViewEnd.defaultProps = {
47
- onScroll: null
48
- };
49
46
  export default ScrollViewEnd;
@@ -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 ScrollView from "react-native-web/dist/exports/ScrollView";
4
4
  /**
@@ -7,7 +7,7 @@ import ScrollView from "react-native-web/dist/exports/ScrollView";
7
7
  * React Native has two scroll end handlers, we want to treat them both the same.
8
8
  */
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
- const ScrollViewEnd = /*#__PURE__*/forwardRef((_ref, ref) => {
10
+ const ScrollViewEnd = /*#__PURE__*/React.forwardRef((_ref, ref) => {
11
11
  let {
12
12
  onScrollEnd,
13
13
  ...props
@@ -1,11 +1,11 @@
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 View from "react-native-web/dist/exports/View";
4
4
  import PropTypes from 'prop-types';
5
5
  import { useThemeTokens } from '../ThemeProvider';
6
6
  import { getTokensPropType, scaleWithText, variantProp } from '../utils';
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
- const Icon = /*#__PURE__*/forwardRef((_ref, ref) => {
8
+ const Icon = /*#__PURE__*/React.forwardRef((_ref, ref) => {
9
9
  let {
10
10
  icon: IconComponent,
11
11
  accessibilityLabel,
@@ -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 View from "react-native-web/dist/exports/View";
@@ -15,7 +15,7 @@ import { spacingProps } from '../utils';
15
15
  * - within a container with `flexDirection: 'row'`
16
16
  */
17
17
  import { jsx as _jsx } from "react/jsx-runtime";
18
- const IconText = /*#__PURE__*/forwardRef((_ref, ref) => {
18
+ const IconText = /*#__PURE__*/React.forwardRef((_ref, ref) => {
19
19
  var _iconProps$tokens, _iconProps$tokens2;
20
20
  let {
21
21
  space,
@@ -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 Pressable from "react-native-web/dist/exports/Pressable";
4
4
  import Platform from "react-native-web/dist/exports/Platform";
@@ -114,7 +114,7 @@ const selectInnerStyle = (_ref2, password) => {
114
114
  * based on these to an outer border and a base Card component. Not intended to be used in
115
115
  * apps or sites directly: build themed components on top of this.
116
116
  */
117
- const IconButton = /*#__PURE__*/forwardRef((_ref3, ref) => {
117
+ const IconButton = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
118
118
  let {
119
119
  tokens,
120
120
  variant = {},
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
2
2
  import StyleSheet from "react-native-web/dist/exports/StyleSheet";
3
3
  import Text from "react-native-web/dist/exports/Text";
4
4
  import View from "react-native-web/dist/exports/View";
@@ -40,7 +40,7 @@ const selectGapStyles = _ref2 => {
40
40
  marginRight: gap
41
41
  };
42
42
  };
43
- const InputLabel = /*#__PURE__*/forwardRef((_ref3, ref) => {
43
+ const InputLabel = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
44
44
  let {
45
45
  copy = 'en',
46
46
  label,
@@ -1,7 +1,7 @@
1
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
- const LabelContent = /*#__PURE__*/forwardRef((_ref, ref) => {
4
+ const LabelContent = /*#__PURE__*/React.forwardRef((_ref, ref) => {
5
5
  let {
6
6
  children,
7
7
  forId
@@ -1,8 +1,8 @@
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"; // Since there's no equivalent for web's <label> element we're simply rendering whatever is passed to this component.
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
- const LabelContent = /*#__PURE__*/forwardRef((_ref, ref) => {
5
+ const LabelContent = /*#__PURE__*/React.forwardRef((_ref, ref) => {
6
6
  let {
7
7
  children
8
8
  } = _ref;
@@ -1,13 +1,14 @@
1
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import InputLabel from '../InputLabel';
4
4
  import Feedback from '../Feedback';
5
5
  import StackView from '../StackView';
6
6
  import { useThemeTokens } from '../ThemeProvider';
7
7
  import useInputSupports from './useInputSupports';
8
+ import { getTokensPropType } from '../utils';
8
9
  import { jsx as _jsx } from "react/jsx-runtime";
9
10
  import { jsxs as _jsxs } from "react/jsx-runtime";
10
- const InputSupports = /*#__PURE__*/forwardRef((_ref, ref) => {
11
+ const InputSupports = /*#__PURE__*/React.forwardRef((_ref, ref) => {
11
12
  let {
12
13
  children,
13
14
  copy = 'en',
@@ -84,7 +85,7 @@ InputSupports.propTypes = {
84
85
  /**
85
86
  * Additional tokens to override the default feedback tokens.
86
87
  */
87
- feedbackTokens: PropTypes.objectOf(PropTypes.string),
88
+ feedbackTokens: getTokensPropType('Feedback'),
88
89
  /**
89
90
  * Content of an optional `Tooltip`. If set, a tooltip button will be shown next to the label.
90
91
  */
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { useThemeTokensCallback } from '../ThemeProvider';
4
4
  import { selectTokens, getTokensPropType, linkProps } from '../utils';
@@ -11,7 +11,7 @@ import LinkBase from './LinkBase';
11
11
  * ChevronLink is not intended to be deeply themable; variants passed to ChevronLink are forwarded to Link.
12
12
  */
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
- const ChevronLink = /*#__PURE__*/forwardRef((_ref, ref) => {
14
+ const ChevronLink = /*#__PURE__*/React.forwardRef((_ref, ref) => {
15
15
  let {
16
16
  direction = 'right',
17
17
  children,
@@ -1,9 +1,12 @@
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 StyleSheet from "react-native-web/dist/exports/StyleSheet";
4
+ import PropTypes from 'prop-types';
5
+
4
6
  /**
5
7
  * @typedef {import('react-native').PressableProps} PressableProps
6
8
  */
9
+
7
10
  /**
8
11
  * InlinePressable is an alternative to React Native's Pressable that works better when nested
9
12
  * inline inside Text. It accepts the same props as React Native's Pressable.
@@ -12,10 +15,8 @@ import StyleSheet from "react-native-web/dist/exports/StyleSheet";
12
15
  *
13
16
  * @param {PressableProps} PressableProps
14
17
  */
15
- // React Native exports prop Types but not propTypes, use JSDoc types here rather than duplicate RN
16
- // eslint-disable-next-line react/prop-types
17
18
  import { jsx as _jsx } from "react/jsx-runtime";
18
- const InlinePressable = /*#__PURE__*/forwardRef((_ref, ref) => {
19
+ const InlinePressable = /*#__PURE__*/React.forwardRef((_ref, ref) => {
19
20
  let {
20
21
  children,
21
22
  inlineFlex = true,
@@ -30,6 +31,11 @@ const InlinePressable = /*#__PURE__*/forwardRef((_ref, ref) => {
30
31
  });
31
32
  });
32
33
  InlinePressable.displayName = 'InlinePressable';
34
+ InlinePressable.propTypes = {
35
+ children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
36
+ inlineFlex: PropTypes.bool,
37
+ style: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.func])
38
+ };
33
39
  const staticStyles = StyleSheet.create({
34
40
  inline: {
35
41
  // Stop Pressable defaulting to (block) flex
@@ -1,10 +1,13 @@
1
1
  /* eslint-disable camelcase */
2
- import React, { forwardRef, useState } from 'react';
2
+ import React from 'react';
3
3
  import Text from "react-native-web/dist/exports/Text";
4
4
  import TouchableWithoutFeedback from "react-native-web/dist/exports/TouchableWithoutFeedback";
5
+ import PropTypes from 'prop-types';
6
+
5
7
  /**
6
8
  * @typedef {import('react-native').PressableProps} PressableProps
7
9
  */
10
+
8
11
  // TouchableWithoutFeedback and Pressable have similar but not identical props APIs
9
12
  import { jsx as _jsx } from "react/jsx-runtime";
10
13
  const pressablePropsToTouchable = _ref => {
@@ -40,19 +43,17 @@ const pressablePropsToTouchable = _ref => {
40
43
  *
41
44
  * @param {PressableProps} PressableProps
42
45
  */
43
- // React Native exports prop Types but not propTypes, use JSDoc types here rather than duplicate RN
44
- // eslint-disable-next-line react/prop-types
45
- const InlinePressable = /*#__PURE__*/forwardRef((_ref2, ref) => {
46
+ const InlinePressable = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
46
47
  let {
47
48
  onPress,
48
49
  children,
49
50
  style,
50
51
  ...rest
51
52
  } = _ref2;
52
- const [isFocused, setIsFocused] = useState(false);
53
+ const [isFocused, setIsFocused] = React.useState(false);
53
54
  const handleFocus = () => setIsFocused(true);
54
55
  const handleBlur = () => setIsFocused(false);
55
- const [isPressed, setIsPressed] = useState(false);
56
+ const [isPressed, setIsPressed] = React.useState(false);
56
57
  const handlePressIn = () => setIsPressed(true);
57
58
  const handlePressOut = () => setIsPressed(false);
58
59
  const pressState = {
@@ -78,4 +79,9 @@ const InlinePressable = /*#__PURE__*/forwardRef((_ref2, ref) => {
78
79
  });
79
80
  });
80
81
  InlinePressable.displayName = 'InlinePressable';
82
+ InlinePressable.propTypes = {
83
+ children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
84
+ style: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.func]),
85
+ onPress: PropTypes.func
86
+ };
81
87
  export default InlinePressable;
@@ -1,8 +1,8 @@
1
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
2
2
  import { useThemeTokensCallback } from '../ThemeProvider';
3
3
  import LinkBase from './LinkBase';
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
- const Link = /*#__PURE__*/forwardRef((_ref, ref) => {
5
+ const Link = /*#__PURE__*/React.forwardRef((_ref, ref) => {
6
6
  let {
7
7
  href,
8
8
  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 Text from "react-native-web/dist/exports/Text";
4
4
  import Platform from "react-native-web/dist/exports/Platform";
@@ -131,7 +131,7 @@ const selectIconTokens = _ref5 => {
131
131
  * dropped in favour of investigating if a full-featured CSS-in-JS package could or
132
132
  * should be used more widely (e.g. styled components)
133
133
  */
134
- const LinkBase = /*#__PURE__*/forwardRef((_ref6, ref) => {
134
+ const LinkBase = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
135
135
  let {
136
136
  href,
137
137
  icon,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { useThemeTokensCallback } from '../ThemeProvider';
4
4
  import LinkBase from './LinkBase';
@@ -10,7 +10,7 @@ import { variantProp } from '../utils';
10
10
  * take place on the current page, or for navigation within an app.
11
11
  */
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
- const TextButton = /*#__PURE__*/forwardRef((_ref, ref) => {
13
+ const TextButton = /*#__PURE__*/React.forwardRef((_ref, ref) => {
14
14
  let {
15
15
  onPress,
16
16
  children,
@@ -1,6 +1,7 @@
1
- import React, { cloneElement, forwardRef, Children } 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
+ import StyleSheet from "react-native-web/dist/exports/StyleSheet";
4
5
  import PropTypes from 'prop-types';
5
6
  import { a11yProps, getTokensPropType, selectSystemProps, variantProp, viewProps } from '../utils';
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -16,7 +17,7 @@ const isListItem = element => {
16
17
  * An unordered List component has a child a ListItem that
17
18
  * allows icon, dividers and customized typography
18
19
  */
19
- const List = /*#__PURE__*/forwardRef((_ref, ref) => {
20
+ const List = /*#__PURE__*/React.forwardRef((_ref, ref) => {
20
21
  let {
21
22
  children,
22
23
  showDivider,
@@ -28,12 +29,12 @@ const List = /*#__PURE__*/forwardRef((_ref, ref) => {
28
29
  }),
29
30
  ...rest
30
31
  } = _ref;
31
- const items = Children.map(children, (child, index) => {
32
+ const items = React.Children.map(children, (child, index) => {
32
33
  // Pass ListItem-specific props to children (by name so teams can add their own ListItems)
33
34
  if (isListItem(child)) {
34
- return /*#__PURE__*/cloneElement(child, {
35
+ return /*#__PURE__*/React.cloneElement(child, {
35
36
  showDivider,
36
- isLastItem: index + 1 === Children.count(children),
37
+ isLastItem: index + 1 === React.Children.count(children),
37
38
  tokens,
38
39
  variant,
39
40
  ...child.props
@@ -43,15 +44,18 @@ const List = /*#__PURE__*/forwardRef((_ref, ref) => {
43
44
  });
44
45
  return /*#__PURE__*/_jsx(View, {
45
46
  ref: ref,
46
- style: {
47
- flexShrink: 1,
48
- flex: 1
49
- },
47
+ style: styles.list,
50
48
  accessibilityRole: accessibilityRole,
51
49
  ...selectProps(rest),
52
50
  children: items
53
51
  });
54
52
  });
53
+ const styles = StyleSheet.create({
54
+ list: {
55
+ flex: 1,
56
+ flexShrink: 1
57
+ }
58
+ });
55
59
  List.displayName = 'List';
56
60
  List.propTypes = {
57
61
  ...selectedSystemPropTypes,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
2
2
  import ListItemBase from './ListItemBase';
3
3
  import { useThemeTokens } from '../ThemeProvider';
4
4
  import { variantProp } from '../utils';
@@ -7,7 +7,7 @@ import { variantProp } from '../utils';
7
7
  * ListItem is responsible for rendering icon or a bullet as side item
8
8
  */
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
- const ListItem = /*#__PURE__*/forwardRef((_ref, ref) => {
10
+ const ListItem = /*#__PURE__*/React.forwardRef((_ref, ref) => {
11
11
  let {
12
12
  tokens,
13
13
  variant,
@@ -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 Platform from "react-native-web/dist/exports/Platform";
4
4
  import StyleSheet from "react-native-web/dist/exports/StyleSheet";
@@ -36,7 +36,7 @@ const selectDividerStyles = _ref2 => {
36
36
  /**
37
37
  * ListItem is responsible for rendering icon or a bullet as side item
38
38
  */
39
- const ListItemBase = /*#__PURE__*/forwardRef((_ref3, ref) => {
39
+ const ListItemBase = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
40
40
  let {
41
41
  tokens,
42
42
  icon,
@@ -86,7 +86,7 @@ const ListItemBase = /*#__PURE__*/forwardRef((_ref3, ref) => {
86
86
  };
87
87
  return /*#__PURE__*/_jsx(View, {
88
88
  ref: ref,
89
- style: [staticStyles.itemContainer, getContainerStyle()],
89
+ style: [staticStyles.container, getContainerStyle()],
90
90
  accessibilityRole: accessibilityRole,
91
91
  ...selectProps(rest),
92
92
  children: typeof children === 'function' ? children({
@@ -96,10 +96,7 @@ const ListItemBase = /*#__PURE__*/forwardRef((_ref3, ref) => {
96
96
  iconSize,
97
97
  isLastItem
98
98
  }) : /*#__PURE__*/_jsxs(View, {
99
- style: [{
100
- flex: 1,
101
- flexDirection: 'row'
102
- }],
99
+ style: staticStyles.container,
103
100
  children: [/*#__PURE__*/_jsx(ListItemMark, {
104
101
  tokens: {
105
102
  ...tokens,
@@ -126,7 +123,8 @@ const ListItemBase = /*#__PURE__*/forwardRef((_ref3, ref) => {
126
123
  });
127
124
  ListItemBase.displayName = 'ListItem';
128
125
  const staticStyles = StyleSheet.create({
129
- itemContainer: {
126
+ container: {
127
+ flex: 1,
130
128
  flexDirection: 'row'
131
129
  },
132
130
  titleAndContentContainer: {
@@ -38,7 +38,7 @@ const selectItemTextStyles = (_ref, themeOptions) => {
38
38
  * It's the responsibility of themes to make sure that these text tokens align the first line of
39
39
  * text nicely against the bullet or icon rendered by ListIconMark.
40
40
  */
41
- const ListItemContent = _ref2 => {
41
+ const ListItemContent = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
42
42
  let {
43
43
  tokens,
44
44
  children
@@ -52,11 +52,13 @@ const ListItemContent = _ref2 => {
52
52
  textDecorationLine: tokens.itemUnderline,
53
53
  textDecorationColor: tokens.itemFontColor
54
54
  }],
55
+ ref: ref,
55
56
  children: wrapStringsInText(children, {
56
57
  style: textStyles
57
58
  })
58
59
  });
59
- };
60
+ });
61
+ ListItemContent.displayName = 'ListItemContent';
60
62
  const staticStyles = StyleSheet.create({
61
63
  wrap: {
62
64
  flex: 1,
@@ -60,7 +60,7 @@ const selectBulletContainerStyles = _ref4 => {
60
60
  * It's the responsibility of themes to make sure that the supplied tokens align the
61
61
  * icon or bullet nicely against the first line of text in a ListIconContent.
62
62
  */
63
- const ListItemMark = _ref5 => {
63
+ const ListItemMark = /*#__PURE__*/React.forwardRef((_ref5, ref) => {
64
64
  let {
65
65
  icon,
66
66
  iconColor,
@@ -88,6 +88,7 @@ const ListItemMark = _ref5 => {
88
88
  const itemBulletPositioningStyles = selectBulletPositioningStyles(themeTokens);
89
89
  return /*#__PURE__*/_jsx(View, {
90
90
  style: [sideItemContainerStyles, itemBulletContainerStyles],
91
+ ref: ref,
91
92
  children: /*#__PURE__*/_jsx(View, {
92
93
  style: [staticStyles.bulletPositioning, itemBulletPositioningStyles],
93
94
  testID: "unordered-item-bullet",
@@ -99,7 +100,8 @@ const ListItemMark = _ref5 => {
99
100
  })
100
101
  })
101
102
  });
102
- };
103
+ });
104
+ ListItemMark.displayName = 'ListItemMark';
103
105
  ListItemMark.propTypes = {
104
106
  tokens: PropTypes.shape(tokenTypes).isRequired,
105
107
  /**
@@ -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 Pressable from "react-native-web/dist/exports/Pressable";
@@ -36,7 +36,7 @@ const selectPressableStyles = _ref => {
36
36
  })
37
37
  };
38
38
  };
39
- const PressableListItemBase = /*#__PURE__*/forwardRef((_ref2, ref) => {
39
+ const PressableListItemBase = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
40
40
  let {
41
41
  href,
42
42
  tokens,
@@ -19,7 +19,7 @@ const styles = StyleSheet.create({
19
19
  boxSizing: 'border-box'
20
20
  }
21
21
  });
22
- const GroupControl = _ref => {
22
+ const GroupControl = /*#__PURE__*/React.forwardRef((_ref, ref) => {
23
23
  let {
24
24
  expanded,
25
25
  pressed,
@@ -73,6 +73,7 @@ const GroupControl = _ref => {
73
73
  paddingTop: groupPaddingTop - groupBorderWidth,
74
74
  paddingBottom: groupPaddingBottom - groupBorderWidth
75
75
  }],
76
+ ref: ref,
76
77
  children: [/*#__PURE__*/_jsx(Text, {
77
78
  children: label
78
79
  }), /*#__PURE__*/_jsx(Spacer, {
@@ -88,7 +89,8 @@ const GroupControl = _ref => {
88
89
  }
89
90
  })]
90
91
  });
91
- };
92
+ });
93
+ GroupControl.displayName = 'GroupControl';
92
94
  GroupControl.propTypes = {
93
95
  id: PropTypes.string,
94
96
  expanded: PropTypes.bool,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useCallback, useEffect, useRef, useState } from 'react';
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import View from "react-native-web/dist/exports/View";
4
4
  import StyleSheet from "react-native-web/dist/exports/StyleSheet";
@@ -19,7 +19,7 @@ const styles = StyleSheet.create({
19
19
  }
20
20
  });
21
21
  const getInitialOpen = (items, selectedId) => items.filter(item => item.items && item.items.some(nestedItem => (nestedItem.id ?? nestedItem.label) === selectedId)).map(item => item.id ?? item.label);
22
- const Listbox = /*#__PURE__*/forwardRef((_ref, ref) => {
22
+ const Listbox = /*#__PURE__*/React.forwardRef((_ref, ref) => {
23
23
  let {
24
24
  items = [],
25
25
  firstItemRef = null,
@@ -34,7 +34,7 @@ const Listbox = /*#__PURE__*/forwardRef((_ref, ref) => {
34
34
  tokens
35
35
  } = _ref;
36
36
  const initialOpen = getInitialOpen(items, defaultSelectedId);
37
- const [selectedId, setSelectedId] = useState(defaultSelectedId);
37
+ const [selectedId, setSelectedId] = React.useState(defaultSelectedId);
38
38
  const {
39
39
  minHeight,
40
40
  minWidth
@@ -42,10 +42,10 @@ const Listbox = /*#__PURE__*/forwardRef((_ref, ref) => {
42
42
 
43
43
  // We need to keep track of each item's ref in order to be able to
44
44
  // focus on a specific item via keyboard navigation
45
- const itemRefs = useRef([]);
45
+ const itemRefs = React.useRef([]);
46
46
  if (firstItemRef !== null && firstItemRef !== void 0 && firstItemRef.current) itemRefs.current[0] = firstItemRef.current;
47
- const [focusedIndex, setFocusedIndex] = useState(0);
48
- const handleKeydown = useCallback(event => {
47
+ const [focusedIndex, setFocusedIndex] = React.useState(0);
48
+ const handleKeydown = React.useCallback(event => {
49
49
  const nextItemRef = itemRefs.current[focusedIndex + 1];
50
50
  const prevItemRef = itemRefs.current[focusedIndex - 1];
51
51
  if (event.key === 'ArrowUp' || event.shiftKey && event.key === 'Tab') {
@@ -77,7 +77,7 @@ const Listbox = /*#__PURE__*/forwardRef((_ref, ref) => {
77
77
  }, [focusedIndex, onClose, parentRef, firstItemRef]);
78
78
 
79
79
  // Add listeners for mouse clicks outside and for key presses
80
- useEffect(() => {
80
+ React.useEffect(() => {
81
81
  if (Platform.OS === 'web') {
82
82
  window.addEventListener('click', onClose);
83
83
  window.addEventListener('keydown', handleKeydown);
@@ -1,4 +1,4 @@
1
- import React, { useContext } from 'react';
1
+ import React from 'react';
2
2
  const ListboxContext = /*#__PURE__*/React.createContext({});
3
- const useListboxContext = () => useContext(ListboxContext);
3
+ const useListboxContext = () => React.useContext(ListboxContext);
4
4
  export { ListboxContext, useListboxContext };
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable react-native-a11y/has-valid-accessibility-role */
2
- import React, { forwardRef } from 'react';
2
+ import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import View from "react-native-web/dist/exports/View";
5
5
  import StyleSheet from "react-native-web/dist/exports/StyleSheet";
@@ -26,7 +26,7 @@ const getAccessibilityRole = () => Platform.select({
26
26
  android: 'none',
27
27
  web: 'listitem'
28
28
  });
29
- const ListboxGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
29
+ const ListboxGroup = /*#__PURE__*/React.forwardRef((_ref, ref) => {
30
30
  let {
31
31
  id,
32
32
  label,
@@ -1,5 +1,4 @@
1
- /* eslint-disable react/require-default-props */
2
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
3
2
  import PropTypes from 'prop-types';
4
3
  import View from "react-native-web/dist/exports/View";
5
4
  import StyleSheet from "react-native-web/dist/exports/StyleSheet";
@@ -20,7 +19,7 @@ const styles = StyleSheet.create({
20
19
  paddingLeft: 24
21
20
  }
22
21
  });
23
- const ListboxItem = /*#__PURE__*/forwardRef((_ref, ref) => {
22
+ const ListboxItem = /*#__PURE__*/React.forwardRef((_ref, ref) => {
24
23
  let {
25
24
  href,
26
25
  label,
@@ -1,5 +1,4 @@
1
- /* eslint-disable react/require-default-props */
2
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
3
2
  import PropTypes from 'prop-types';
4
3
  import View from "react-native-web/dist/exports/View";
5
4
  import StyleSheet from "react-native-web/dist/exports/StyleSheet";
@@ -24,7 +23,7 @@ const staticStyles = StyleSheet.create({
24
23
  });
25
24
  const paddingVertical = 0;
26
25
  const paddingHorizontal = 0;
27
- const DropdownOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {
26
+ const DropdownOverlay = /*#__PURE__*/React.forwardRef((_ref, ref) => {
28
27
  let {
29
28
  children,
30
29
  isReady = false,
@@ -1,5 +1,4 @@
1
- /* eslint-disable react/require-default-props */
2
- import React, { forwardRef } from 'react';
1
+ import React from 'react';
3
2
  import PropTypes from 'prop-types';
4
3
  import Pressable from "react-native-web/dist/exports/Pressable";
5
4
  import Text from "react-native-web/dist/exports/Text";
@@ -51,7 +50,7 @@ const getItemStyles = _ref => {
51
50
  justifyContent: 'center'
52
51
  };
53
52
  };
54
- const PressableItem = /*#__PURE__*/forwardRef((_ref2, ref) => {
53
+ const PressableItem = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
55
54
  let {
56
55
  children,
57
56
  href,