@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, useContext } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import { Platform } from 'react-native'
4
4
 
@@ -8,7 +8,7 @@ import { responsiveProps, BaseView, StyleSheet, createMediaQueryStyles } from '.
8
8
  import { useViewport } from '../../ViewportProvider'
9
9
  import { useTheme } from '../../ThemeProvider'
10
10
 
11
- const Col = forwardRef(
11
+ const Col = React.forwardRef(
12
12
  (
13
13
  {
14
14
  horizontalAlign,
@@ -28,7 +28,7 @@ const Col = forwardRef(
28
28
  },
29
29
  ref
30
30
  ) => {
31
- const gutter = useContext(GutterContext)
31
+ const gutter = React.useContext(GutterContext)
32
32
  const viewport = useViewport()
33
33
  const {
34
34
  themeOptions: { enableMediaQueryStyleSheet }
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
 
4
4
  import { viewports } from '@telus-uds/system-constants'
@@ -25,7 +25,7 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, vie
25
25
  * A mobile-first flexbox grid.
26
26
  */
27
27
 
28
- const FlexGrid = forwardRef(
28
+ const FlexGrid = React.forwardRef(
29
29
  (
30
30
  {
31
31
  limitWidth = true,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
 
4
4
  import applyInheritance from '../helpers'
@@ -52,7 +52,7 @@ const distributeStyles = (distribute) => {
52
52
  }
53
53
  }
54
54
 
55
- const Row = forwardRef(
55
+ const Row = React.forwardRef(
56
56
  (
57
57
  {
58
58
  horizontalAlign,
@@ -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 {
4
4
  StyleSheet,
@@ -123,117 +123,130 @@ const selectCustomContentFontStyle = ({
123
123
  * - When `Footnote` is open, the inert prop must be set on all children of body excluding the Footnote
124
124
  * - When `Footnote` is closed, focus must return to the initiating element
125
125
  */
126
- const Footnote = ({
127
- copy = 'en',
128
- number = undefined,
129
- content = undefined,
130
- onClose,
131
- isOpen = false,
132
- tokens,
133
- variant = {},
134
- dictionary = defaultDictionary,
135
- ...rest
136
- }) => {
137
- const viewport = useViewport()
126
+ const Footnote = React.forwardRef(
127
+ (
128
+ {
129
+ copy = 'en',
130
+ number = undefined,
131
+ content = undefined,
132
+ onClose,
133
+ isOpen = false,
134
+ tokens,
135
+ variant = {},
136
+ dictionary = defaultDictionary,
137
+ ...rest
138
+ },
139
+ ref
140
+ ) => {
141
+ const viewport = useViewport()
138
142
 
139
- const themeTokens = useThemeTokens('Footnote', tokens, variant, { viewport })
140
- const themeOptions = useTheme()
143
+ const themeTokens = useThemeTokens('Footnote', tokens, variant, { viewport })
144
+ const themeOptions = useTheme()
141
145
 
142
- const getCopy = useCopy({ dictionary, copy })
146
+ const getCopy = useCopy({ dictionary, copy })
143
147
 
144
- const [isVisible, setIsVisible] = useState(false)
148
+ const [isVisible, setIsVisible] = React.useState(false)
145
149
 
146
- const screenHeight = Dimensions.get('screen').height
147
- const screenWidth = Dimensions.get('screen').width
150
+ const screenHeight = Dimensions.get('screen').height
151
+ const screenWidth = Dimensions.get('screen').width
148
152
 
149
- const getFootnoteBodyContent = useCallback(() => {
150
- if (!number || !content) {
151
- return null
152
- }
153
+ const getFootnoteBodyContent = React.useCallback(() => {
154
+ if (!number || !content) {
155
+ return null
156
+ }
153
157
 
154
- if (React.isValidElement(content)) {
155
- return <View style={selectCustomContentFontStyle(themeTokens)}>{content}</View>
156
- }
158
+ if (React.isValidElement(content)) {
159
+ return <View style={selectCustomContentFontStyle(themeTokens)}>{content}</View>
160
+ }
157
161
 
158
- return (
159
- <OrderedList start={number}>
160
- <OrderedList.Item key={number}>
161
- <Text style={selectCustomContentFontStyle(themeTokens)}>{content}</Text>
162
- </OrderedList.Item>
163
- </OrderedList>
164
- )
165
- }, [content, number, themeTokens])
162
+ return (
163
+ <OrderedList start={number}>
164
+ <OrderedList.Item key={number}>
165
+ <Text style={selectCustomContentFontStyle(themeTokens)}>{content}</Text>
166
+ </OrderedList.Item>
167
+ </OrderedList>
168
+ )
169
+ }, [content, number, themeTokens])
166
170
 
167
- useEffect(() => {
168
- if (isOpen) {
169
- setIsVisible(true)
170
- }
171
- }, [isOpen])
171
+ React.useEffect(() => {
172
+ if (isOpen) {
173
+ setIsVisible(true)
174
+ }
175
+ }, [isOpen])
172
176
 
173
- const closeFootnote = useCallback(
174
- (event, options) => {
175
- onClose(event, options)
176
- setIsVisible(false)
177
- },
178
- [onClose]
179
- )
177
+ const closeFootnote = React.useCallback(
178
+ (event, options) => {
179
+ onClose(event, options)
180
+ setIsVisible(false)
181
+ },
182
+ [onClose]
183
+ )
180
184
 
181
- const handleClose = (event) => closeFootnote(event, { returnFocus: true })
185
+ const handleClose = (event) => closeFootnote(event, { returnFocus: true })
182
186
 
183
- return (
184
- <View {...selectProps(rest)}>
185
- <Modal visible={isVisible} animationType="slide">
186
- <SafeAreaView style={staticStyles.container}>
187
- <ScrollView
188
- style={selectFootnoteStyle({
189
- screenHeight,
190
- isVisible,
191
- ...themeTokens
192
- })}
193
- >
194
- <View style={staticStyles.content}>
195
- <View
196
- style={[selectFootnoteHeaderContentStyle(themeTokens), staticStyles.headerContent]}
197
- >
198
- <Typography
199
- tokens={{
200
- fontSize: themeTokens?.headerFontSize,
201
- lineHeight: themeTokens?.headerLineHeight
202
- }}
203
- variant={{ size: 'h4' }}
204
- >
205
- {getCopy('heading')}
206
- </Typography>
207
- <TouchableWithoutFeedback
208
- onPress={handleClose}
209
- accessibilityLabel={getCopy('close')}
187
+ return (
188
+ <View {...selectProps(rest)} ref={ref}>
189
+ <Modal visible={isVisible} animationType="slide">
190
+ <SafeAreaView style={staticStyles.container}>
191
+ <ScrollView
192
+ style={selectFootnoteStyle({
193
+ screenHeight,
194
+ isVisible,
195
+ ...themeTokens
196
+ })}
197
+ >
198
+ <View style={staticStyles.content}>
199
+ <View
200
+ style={[
201
+ selectFootnoteHeaderContentStyle(themeTokens),
202
+ staticStyles.headerContent
203
+ ]}
210
204
  >
211
- <View
212
- style={[selectFootnoteCloseButtonStyle(themeTokens), staticStyles.closeButton]}
205
+ <Typography
206
+ tokens={{
207
+ fontSize: themeTokens?.headerFontSize,
208
+ lineHeight: themeTokens?.headerLineHeight
209
+ }}
210
+ variant={{ size: 'h4' }}
213
211
  >
214
- <Icon
215
- icon={themeTokens?.closeIcon}
216
- tokens={{ size: themeTokens?.closeButtonIconSize }}
217
- />
218
- </View>
219
- </TouchableWithoutFeedback>
220
- </View>
221
- <View
222
- style={selectFootnoteBodyStyle({
223
- maxWidth: themeOptions.contentMaxWidth,
224
- screenWidth,
225
- ...themeTokens
226
- })}
227
- >
228
- {getFootnoteBodyContent()}
212
+ {getCopy('heading')}
213
+ </Typography>
214
+ <TouchableWithoutFeedback
215
+ onPress={handleClose}
216
+ accessibilityLabel={getCopy('close')}
217
+ >
218
+ <View
219
+ style={[
220
+ selectFootnoteCloseButtonStyle(themeTokens),
221
+ staticStyles.closeButton
222
+ ]}
223
+ >
224
+ <Icon
225
+ icon={themeTokens?.closeIcon}
226
+ tokens={{ size: themeTokens?.closeButtonIconSize }}
227
+ />
228
+ </View>
229
+ </TouchableWithoutFeedback>
230
+ </View>
231
+ <View
232
+ style={selectFootnoteBodyStyle({
233
+ maxWidth: themeOptions.contentMaxWidth,
234
+ screenWidth,
235
+ ...themeTokens
236
+ })}
237
+ >
238
+ {getFootnoteBodyContent()}
239
+ </View>
229
240
  </View>
230
- </View>
231
- </ScrollView>
232
- </SafeAreaView>
233
- </Modal>
234
- </View>
235
- )
236
- }
241
+ </ScrollView>
242
+ </SafeAreaView>
243
+ </Modal>
244
+ </View>
245
+ )
246
+ }
247
+ )
248
+
249
+ Footnote.displayName = 'Footnote'
237
250
 
238
251
  const copyShape = PropTypes.shape({
239
252
  close: PropTypes.string.isRequired,
@@ -31,41 +31,45 @@ const selectTextStyle = ({ fontSize, lineHeight }) => ({
31
31
  })
32
32
  })
33
33
 
34
- const FootnoteLink = ({ copy = 'en', content = [], onClick, tokens, variant = {}, ...rest }) => {
35
- const themeTokens = useThemeTokens('FootnoteLink', tokens, variant)
36
- const textStyles = applyTextStyles(themeTokens)
34
+ const FootnoteLink = React.forwardRef(
35
+ ({ copy = 'en', content = [], onClick, tokens, variant = {}, ...rest }, ref) => {
36
+ const themeTokens = useThemeTokens('FootnoteLink', tokens, variant)
37
+ const textStyles = applyTextStyles(themeTokens)
37
38
 
38
- const numbers = Array.isArray(content) ? content : [content]
39
- const refs = numbers.map(() => React.createRef())
39
+ const numbers = Array.isArray(content) ? content : [content]
40
+ const refs = numbers.map(() => React.createRef())
40
41
 
41
- const handleOnClick = (index) => {
42
- onClick(numbers[index], refs[index])
42
+ const handleOnClick = (index) => {
43
+ onClick(numbers[index], refs[index])
44
+ }
45
+ const getCopy = useCopy({ dictionary, copy })
46
+
47
+ return (
48
+ <View ref={ref}>
49
+ {numbers.map((num, index) => (
50
+ <View
51
+ accessibilityLabel={getCopy('a11yLabel')}
52
+ key={num}
53
+ ref={refs[index]}
54
+ {...selectProps(rest)}
55
+ >
56
+ <TouchableWithoutFeedback onPress={handleOnClick} accessibilityRole="button">
57
+ {wrapStringsInText(`${num}${index !== numbers.length - 1 ? ',' : ''}`, {
58
+ style: {
59
+ ...textStyles,
60
+ ...staticStyles.text,
61
+ ...selectTextStyle(themeTokens)
62
+ }
63
+ })}
64
+ </TouchableWithoutFeedback>
65
+ </View>
66
+ ))}
67
+ </View>
68
+ )
43
69
  }
44
- const getCopy = useCopy({ dictionary, copy })
70
+ )
45
71
 
46
- return (
47
- <>
48
- {numbers.map((num, index) => (
49
- <View
50
- accessibilityLabel={getCopy('a11yLabel')}
51
- key={num}
52
- ref={refs[index]}
53
- {...selectProps(rest)}
54
- >
55
- <TouchableWithoutFeedback onPress={handleOnClick} accessibilityRole="button">
56
- {wrapStringsInText(`${num}${index !== numbers.length - 1 ? ',' : ''}`, {
57
- style: {
58
- ...textStyles,
59
- ...staticStyles.text,
60
- ...selectTextStyle(themeTokens)
61
- }
62
- })}
63
- </TouchableWithoutFeedback>
64
- </View>
65
- ))}
66
- </>
67
- )
68
- }
72
+ FootnoteLink.displayName = 'FootnoteLink'
69
73
 
70
74
  const copyShape = PropTypes.shape({ a11yLabel: PropTypes.string.isRequired })
71
75
 
@@ -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, StyleSheet, View } from 'react-native'
4
4
 
@@ -32,7 +32,7 @@ export const selectHorizontalScrollTokens = (themeTokens, prefix) =>
32
32
  *
33
33
  * @TODO revisit `ScrollButton` after IconButton is stable.
34
34
  */
35
- const HorizontalScroll = forwardRef(
35
+ const HorizontalScroll = React.forwardRef(
36
36
  ({ ScrollButton, tokens, itemPositions, children, ...rest }, ref) => {
37
37
  const {
38
38
  nextIcon,
@@ -48,8 +48,8 @@ const HorizontalScroll = forwardRef(
48
48
  'HorizontalScroll'
49
49
  )
50
50
 
51
- const [containerWidth, setContainerWidth] = useState(0)
52
- const [contentWidth, setContentWidth] = useState(0)
51
+ const [containerWidth, setContainerWidth] = React.useState(0)
52
+ const [contentWidth, setContentWidth] = React.useState(0)
53
53
  const handleContentWidth = (width) => setContentWidth(width)
54
54
  const handleContainerLayout = ({
55
55
  nativeEvent: {
@@ -59,7 +59,7 @@ const HorizontalScroll = forwardRef(
59
59
 
60
60
  // Update the scroll position only when scrolling actions ends to minimally rerender
61
61
  // and update which buttons are conditionally rendered.
62
- const [scrollOffset, setScrollOffset] = useState(0)
62
+ const [scrollOffset, setScrollOffset] = React.useState(0)
63
63
  const handleScrollEnd = ({
64
64
  nativeEvent: {
65
65
  contentOffset: { x }
@@ -72,7 +72,7 @@ const HorizontalScroll = forwardRef(
72
72
  const showNextButton = scrollOffset < scrollMax
73
73
  const showPreviousButton = scrollOffset > 0
74
74
 
75
- const scrollRef = useRef(null)
75
+ const scrollRef = React.useRef(null)
76
76
  const scrollTo = (targetX) => {
77
77
  if (typeof scrollRef.current?.scrollTo === 'function') {
78
78
  const x = getItemPositionScrollTarget(
@@ -102,8 +102,8 @@ const HorizontalScroll = forwardRef(
102
102
  /* eslint-disable-next-line no-param-reassign */
103
103
  itemPositions.scrollOffset = scrollOffset
104
104
 
105
- const hasWidths = itemPositions.contentWidth > 0 && itemPositions.contentWidth > 0
106
- useEffect(() => {
105
+ const hasWidths = itemPositions.contentWidth > 0
106
+ React.useEffect(() => {
107
107
  if (hasWidths) itemPositions.setIsReady(true)
108
108
  // itemPositions is a ref object so this should occur only when elements' widths are set in state
109
109
  }, [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, View } from 'react-native'
4
4
  import { variantProp, getTokensPropType, useCopy, copyPropTypes, a11yProps } from '../utils'
@@ -18,7 +18,7 @@ const selectContainerStyles = ({ offset }) => ({
18
18
  *
19
19
  * @TODO when IconButton is complete and stable revisit this and update interaction state styles.
20
20
  */
21
- const HorizontalScrollButton = forwardRef(
21
+ const HorizontalScrollButton = React.forwardRef(
22
22
  ({ direction = 'next', icon, offset, onPress, variant, tokens, copy }, ref) => {
23
23
  const themeTokens = useThemeTokens('HorizontalScrollButton', tokens, variant)
24
24
  const getCopy = useCopy({ dictionary, copy })
@@ -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'
4
4
  import debounce from 'lodash.debounce'
@@ -12,11 +12,11 @@ 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 = forwardRef(({ onScrollEnd, onScroll, ...props }, ref) => {
15
+ const ScrollViewEnd = React.forwardRef(({ onScrollEnd, onScroll = null, ...props }, ref) => {
16
16
  // Return debounced function directly from useCallback so it has .cancel method etc.
17
17
  // Linter complains this stops it automatically scanning the deps, but we can check them manually.
18
18
  // eslint-disable-next-line react-hooks/exhaustive-deps
19
- const debounceScrollEnd = useCallback(
19
+ const debounceScrollEnd = React.useCallback(
20
20
  debounce((event) => onScrollEnd(event), DEBOUNCE_MS),
21
21
  [onScrollEnd]
22
22
  )
@@ -28,7 +28,7 @@ const ScrollViewEnd = forwardRef(({ onScrollEnd, onScroll, ...props }, ref) => {
28
28
  }
29
29
 
30
30
  // Cancel any lingering debounce timeouts on dismount
31
- useEffect(() => debounceScrollEnd.cancel)
31
+ React.useEffect(() => debounceScrollEnd.cancel)
32
32
 
33
33
  return (
34
34
  <ScrollView
@@ -46,8 +46,4 @@ ScrollViewEnd.propTypes = {
46
46
  onScroll: PropTypes.func
47
47
  }
48
48
 
49
- ScrollViewEnd.defaultProps = {
50
- onScroll: null
51
- }
52
-
53
49
  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'
4
4
 
@@ -7,7 +7,7 @@ import { ScrollView } from 'react-native'
7
7
  *
8
8
  * React Native has two scroll end handlers, we want to treat them both the same.
9
9
  */
10
- const ScrollViewEnd = forwardRef(({ onScrollEnd, ...props }, ref) => (
10
+ const ScrollViewEnd = React.forwardRef(({ onScrollEnd, ...props }, ref) => (
11
11
  <ScrollView
12
12
  ref={ref}
13
13
  {...props}
package/src/Icon/Icon.jsx CHANGED
@@ -1,11 +1,11 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import { Platform, View } from 'react-native'
3
3
  import PropTypes from 'prop-types'
4
4
 
5
5
  import { useThemeTokens } from '../ThemeProvider'
6
6
  import { getTokensPropType, scaleWithText, variantProp } from '../utils'
7
7
 
8
- const Icon = forwardRef(
8
+ const Icon = React.forwardRef(
9
9
  (
10
10
  {
11
11
  icon: IconComponent,
@@ -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, View } from 'react-native'
4
4
 
@@ -14,7 +14,7 @@ import { spacingProps } from '../utils'
14
14
  * - inline within a <Text> element
15
15
  * - within a container with `flexDirection: 'row'`
16
16
  */
17
- const IconText = forwardRef(
17
+ const IconText = React.forwardRef(
18
18
  ({ space, iconPosition = 'left', icon: IconComponent, iconProps, children }, ref) => {
19
19
  const iconContent = IconComponent && (
20
20
  <Icon ref={ref} icon={IconComponent} scalesWithText {...iconProps} />
@@ -31,8 +31,10 @@ const IconText = forwardRef(
31
31
  */
32
32
  const resultY = valueTranslateY ? Math.floor(-1 * (valueTranslateY - 4)) : 0
33
33
 
34
- const iconAdjustedAndriod = (
35
- <View style={{ transform: [{ translateY: size * 0.2 }] }}>{iconContent}</View>
34
+ const iconAdjustedAndroid = (
35
+ <View style={{ transform: [{ translateY: valueTranslateY ? size * 0.2 : size * 0.01 }] }}>
36
+ {iconContent}
37
+ </View>
36
38
  )
37
39
 
38
40
  const iconAdjustedIOS = (
@@ -41,7 +43,7 @@ const IconText = forwardRef(
41
43
  </View>
42
44
  )
43
45
 
44
- const mobile = Platform.OS === 'android' ? iconAdjustedAndriod : iconAdjustedIOS
46
+ const mobile = Platform.OS === 'android' ? iconAdjustedAndroid : iconAdjustedIOS
45
47
  const adjustedContainer = Platform.OS === 'web' ? iconContent : mobile
46
48
 
47
49
  return getStackedContent(
@@ -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, Platform, StyleSheet, View } from 'react-native'
4
4
 
@@ -126,7 +126,7 @@ const selectInnerStyle = (
126
126
  * based on these to an outer border and a base Card component. Not intended to be used in
127
127
  * apps or sites directly: build themed components on top of this.
128
128
  */
129
- const IconButton = forwardRef(
129
+ const IconButton = React.forwardRef(
130
130
  (
131
131
  {
132
132
  tokens,
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import { StyleSheet, Text, View } from 'react-native'
3
3
  import PropTypes from 'prop-types'
4
4
 
@@ -35,7 +35,7 @@ const selectHintStyles = (
35
35
 
36
36
  const selectGapStyles = ({ gap }) => ({ marginRight: gap })
37
37
 
38
- const InputLabel = forwardRef(
38
+ const InputLabel = React.forwardRef(
39
39
  (
40
40
  {
41
41
  copy = 'en',
@@ -1,7 +1,7 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
 
4
- const LabelContent = forwardRef(({ children, forId }, ref) => (
4
+ const LabelContent = React.forwardRef(({ children, forId }, ref) => (
5
5
  <label ref={ref} htmlFor={forId} style={staticStyles.inheritCursor}>
6
6
  {children}
7
7
  </label>
@@ -1,9 +1,9 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import { View } from 'react-native'
4
4
 
5
5
  // Since there's no equivalent for web's <label> element we're simply rendering whatever is passed to this component.
6
- const LabelContent = forwardRef(({ children }, ref) =>
6
+ const LabelContent = React.forwardRef(({ children }, ref) =>
7
7
  ref ? <View ref={ref}>{children}</View> : children
8
8
  )
9
9
  LabelContent.displayName = 'LabelContent'
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
 
3
3
  import PropTypes from 'prop-types'
4
4
  import InputLabel from '../InputLabel'
@@ -6,8 +6,9 @@ import Feedback from '../Feedback'
6
6
  import StackView from '../StackView'
7
7
  import { useThemeTokens } from '../ThemeProvider'
8
8
  import useInputSupports from './useInputSupports'
9
+ import { getTokensPropType } from '../utils'
9
10
 
10
- const InputSupports = forwardRef(
11
+ const InputSupports = React.forwardRef(
11
12
  (
12
13
  {
13
14
  children,
@@ -87,7 +88,7 @@ InputSupports.propTypes = {
87
88
  /**
88
89
  * Additional tokens to override the default feedback tokens.
89
90
  */
90
- feedbackTokens: PropTypes.objectOf(PropTypes.string),
91
+ feedbackTokens: getTokensPropType('Feedback'),
91
92
  /**
92
93
  * Content of an optional `Tooltip`. If set, a tooltip button will be shown next to the label.
93
94
  */
@@ -1,4 +1,4 @@
1
- import React, { forwardRef } from 'react'
1
+ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
 
4
4
  import { useThemeTokensCallback } from '../ThemeProvider'
@@ -11,7 +11,7 @@ import LinkBase from './LinkBase'
11
11
  *
12
12
  * ChevronLink is not intended to be deeply themable; variants passed to ChevronLink are forwarded to Link.
13
13
  */
14
- const ChevronLink = forwardRef(
14
+ const ChevronLink = React.forwardRef(
15
15
  ({ direction = 'right', children, tokens = {}, variant, dataSet, ...otherlinkProps }, ref) => {
16
16
  const getChevronTokens = useThemeTokensCallback('ChevronLink', tokens, variant)
17
17
  const applyChevronTokens = (linkState) => {