@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 } from 'react';
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import applyInheritance from '../helpers';
4
4
  import { BaseView, StyleSheet, createMediaQueryStyles } from '../../utils';
@@ -58,7 +58,7 @@ const distributeStyles = distribute => {
58
58
  return {};
59
59
  }
60
60
  };
61
- const Row = /*#__PURE__*/forwardRef((_ref, ref) => {
61
+ const Row = /*#__PURE__*/React.forwardRef((_ref, ref) => {
62
62
  let {
63
63
  horizontalAlign,
64
64
  verticalAlign,
@@ -1,4 +1,4 @@
1
- import React, { useEffect, useState, useCallback } 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";
@@ -131,7 +131,7 @@ const selectCustomContentFontStyle = _ref5 => {
131
131
  * - When `Footnote` is open, the inert prop must be set on all children of body excluding the Footnote
132
132
  * - When `Footnote` is closed, focus must return to the initiating element
133
133
  */
134
- const Footnote = _ref6 => {
134
+ const Footnote = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
135
135
  let {
136
136
  copy = 'en',
137
137
  number = undefined,
@@ -152,10 +152,10 @@ const Footnote = _ref6 => {
152
152
  dictionary,
153
153
  copy
154
154
  });
155
- const [isVisible, setIsVisible] = useState(false);
155
+ const [isVisible, setIsVisible] = React.useState(false);
156
156
  const screenHeight = Dimensions.get('screen').height;
157
157
  const screenWidth = Dimensions.get('screen').width;
158
- const getFootnoteBodyContent = useCallback(() => {
158
+ const getFootnoteBodyContent = React.useCallback(() => {
159
159
  if (!number || !content) {
160
160
  return null;
161
161
  }
@@ -175,12 +175,12 @@ const Footnote = _ref6 => {
175
175
  }, number)
176
176
  });
177
177
  }, [content, number, themeTokens]);
178
- useEffect(() => {
178
+ React.useEffect(() => {
179
179
  if (isOpen) {
180
180
  setIsVisible(true);
181
181
  }
182
182
  }, [isOpen]);
183
- const closeFootnote = useCallback((event, options) => {
183
+ const closeFootnote = React.useCallback((event, options) => {
184
184
  onClose(event, options);
185
185
  setIsVisible(false);
186
186
  }, [onClose]);
@@ -189,6 +189,7 @@ const Footnote = _ref6 => {
189
189
  });
190
190
  return /*#__PURE__*/_jsx(View, {
191
191
  ...selectProps(rest),
192
+ ref: ref,
192
193
  children: /*#__PURE__*/_jsx(Modal, {
193
194
  visible: isVisible,
194
195
  animationType: "slide",
@@ -239,7 +240,8 @@ const Footnote = _ref6 => {
239
240
  })
240
241
  })
241
242
  });
242
- };
243
+ });
244
+ Footnote.displayName = 'Footnote';
243
245
  const copyShape = PropTypes.shape({
244
246
  close: PropTypes.string.isRequired,
245
247
  heading: PropTypes.string.isRequired
@@ -8,7 +8,6 @@ import dictionary from './dictionary';
8
8
  import { htmlAttrs, selectSystemProps, useCopy, viewProps, wrapStringsInText, variantProp } from '../utils';
9
9
  import { applyTextStyles, useThemeTokens } from '../ThemeProvider';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
- import { Fragment as _Fragment } from "react/jsx-runtime";
12
11
  const [selectProps, selectedSystemPropTypes] = selectSystemProps([htmlAttrs, viewProps]);
13
12
 
14
13
  // The top property varies between devices due to how devices render the viewport.
@@ -33,7 +32,7 @@ const selectTextStyle = _ref => {
33
32
  })
34
33
  };
35
34
  };
36
- const FootnoteLink = _ref2 => {
35
+ const FootnoteLink = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
37
36
  let {
38
37
  copy = 'en',
39
38
  content = [],
@@ -53,7 +52,8 @@ const FootnoteLink = _ref2 => {
53
52
  dictionary,
54
53
  copy
55
54
  });
56
- return /*#__PURE__*/_jsx(_Fragment, {
55
+ return /*#__PURE__*/_jsx(View, {
56
+ ref: ref,
57
57
  children: numbers.map((num, index) => /*#__PURE__*/_jsx(View, {
58
58
  accessibilityLabel: getCopy('a11yLabel'),
59
59
  ref: refs[index],
@@ -71,7 +71,8 @@ const FootnoteLink = _ref2 => {
71
71
  })
72
72
  }, num))
73
73
  });
74
- };
74
+ });
75
+ FootnoteLink.displayName = 'FootnoteLink';
75
76
  const copyShape = PropTypes.shape({
76
77
  a11yLabel: PropTypes.string.isRequired
77
78
  });
@@ -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";
@@ -19,7 +19,7 @@ export const selectHorizontalScrollTokens = (themeTokens, prefix) => selectToken
19
19
  *
20
20
  * @TODO revisit `ScrollButton` after IconButton is stable.
21
21
  */
22
- const HorizontalScroll = /*#__PURE__*/forwardRef((_ref, ref) => {
22
+ const HorizontalScroll = /*#__PURE__*/React.forwardRef((_ref, ref) => {
23
23
  let {
24
24
  ScrollButton,
25
25
  tokens,
@@ -39,8 +39,8 @@ const HorizontalScroll = /*#__PURE__*/forwardRef((_ref, ref) => {
39
39
  getTokensSetPropType(tokenKeys, {
40
40
  partial: true
41
41
  }), 'HorizontalScroll');
42
- const [containerWidth, setContainerWidth] = useState(0);
43
- const [contentWidth, setContentWidth] = useState(0);
42
+ const [containerWidth, setContainerWidth] = React.useState(0);
43
+ const [contentWidth, setContentWidth] = React.useState(0);
44
44
  const handleContentWidth = width => setContentWidth(width);
45
45
  const handleContainerLayout = _ref2 => {
46
46
  let {
@@ -55,7 +55,7 @@ const HorizontalScroll = /*#__PURE__*/forwardRef((_ref, ref) => {
55
55
 
56
56
  // Update the scroll position only when scrolling actions ends to minimally rerender
57
57
  // and update which buttons are conditionally rendered.
58
- const [scrollOffset, setScrollOffset] = useState(0);
58
+ const [scrollOffset, setScrollOffset] = React.useState(0);
59
59
  const handleScrollEnd = _ref3 => {
60
60
  let {
61
61
  nativeEvent: {
@@ -69,7 +69,7 @@ const HorizontalScroll = /*#__PURE__*/forwardRef((_ref, ref) => {
69
69
  const scrollMax = Math.max(0, contentWidth - containerWidth);
70
70
  const showNextButton = scrollOffset < scrollMax;
71
71
  const showPreviousButton = scrollOffset > 0;
72
- const scrollRef = useRef(null);
72
+ const scrollRef = React.useRef(null);
73
73
  const scrollTo = targetX => {
74
74
  var _scrollRef$current;
75
75
  if (typeof ((_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.scrollTo) === 'function') {
@@ -96,8 +96,8 @@ const HorizontalScroll = /*#__PURE__*/forwardRef((_ref, ref) => {
96
96
  itemPositions.contentWidth = contentWidth;
97
97
  /* eslint-disable-next-line no-param-reassign */
98
98
  itemPositions.scrollOffset = scrollOffset;
99
- const hasWidths = itemPositions.contentWidth > 0 && itemPositions.contentWidth > 0;
100
- useEffect(() => {
99
+ const hasWidths = itemPositions.contentWidth > 0;
100
+ React.useEffect(() => {
101
101
  if (hasWidths) itemPositions.setIsReady(true);
102
102
  // itemPositions is a ref object so this should occur only when elements' widths are set in state
103
103
  }, [hasWidths, itemPositions]);
@@ -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";
@@ -24,7 +24,7 @@ const selectContainerStyles = _ref => {
24
24
  *
25
25
  * @TODO when IconButton is complete and stable revisit this and update interaction state styles.
26
26
  */
27
- const HorizontalScrollButton = /*#__PURE__*/forwardRef((_ref2, ref) => {
27
+ const HorizontalScrollButton = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
28
28
  let {
29
29
  direction = 'next',
30
30
  icon,
@@ -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,
@@ -41,10 +41,10 @@ const IconText = /*#__PURE__*/forwardRef((_ref, ref) => {
41
41
  * The issue was mainly on IOS, the translateY style didn't match with the old calculations.
42
42
  */
43
43
  const resultY = valueTranslateY ? Math.floor(-1 * (valueTranslateY - 4)) : 0;
44
- const iconAdjustedAndriod = /*#__PURE__*/_jsx(View, {
44
+ const iconAdjustedAndroid = /*#__PURE__*/_jsx(View, {
45
45
  style: {
46
46
  transform: [{
47
- translateY: size * 0.2
47
+ translateY: valueTranslateY ? size * 0.2 : size * 0.01
48
48
  }]
49
49
  },
50
50
  children: iconContent
@@ -57,7 +57,7 @@ const IconText = /*#__PURE__*/forwardRef((_ref, ref) => {
57
57
  },
58
58
  children: iconContent
59
59
  });
60
- const mobile = Platform.OS === 'android' ? iconAdjustedAndriod : iconAdjustedIOS;
60
+ const mobile = Platform.OS === 'android' ? iconAdjustedAndroid : iconAdjustedIOS;
61
61
  const adjustedContainer = Platform.OS === 'web' ? iconContent : mobile;
62
62
  return getStackedContent(iconPosition === 'left' ? [adjustedContainer, children] : [children, adjustedContainer], {
63
63
  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,