@telus-uds/components-base 1.1.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (432) hide show
  1. package/.turbo/turbo-build.log +8 -0
  2. package/CHANGELOG.json +38 -0
  3. package/CHANGELOG.md +35 -2
  4. package/__fixtures__/Accessible.js +4 -2
  5. package/__fixtures__/Accessible.native.js +5 -2
  6. package/__fixtures__/testTheme.js +9 -0
  7. package/__tests__/ActivityIndicator/ActivityIndicator.test.jsx +35 -0
  8. package/__tests__/ActivityIndicator/__snapshots__/ActivityIndicator.test.jsx.snap +287 -0
  9. package/__tests__/FlexGrid/Col.test.jsx +6 -10
  10. package/__tests__/HorizontalScroll/HorizontalScroll.test.jsx +1 -0
  11. package/__tests__/ToggleSwitch/ToggleSwitch.test.jsx +10 -0
  12. package/__tests__/ToggleSwitch/ToggleSwitchGroup.test.jsx +192 -0
  13. package/__tests__/utils/props.test.js +36 -0
  14. package/__tests__/utils/semantics.test.jsx +1 -10
  15. package/babel.config.js +27 -5
  16. package/component-docs.json +638 -1145
  17. package/generate-component-docs.js +3 -0
  18. package/lib/A11yText/index.js +6 -5
  19. package/lib/ActivityIndicator/Spinner.js +46 -37
  20. package/lib/ActivityIndicator/Spinner.native.js +26 -15
  21. package/lib/ActivityIndicator/index.js +3 -3
  22. package/lib/Box/Box.js +8 -8
  23. package/lib/Button/Button.js +2 -2
  24. package/lib/Button/ButtonBase.js +25 -12
  25. package/lib/Button/ButtonGroup.js +10 -12
  26. package/lib/Button/ButtonLink.js +4 -4
  27. package/lib/Button/propTypes.js +4 -2
  28. package/lib/Card/Card.js +6 -5
  29. package/lib/Card/CardBase.js +6 -9
  30. package/lib/Card/PressableCardBase.js +15 -14
  31. package/lib/Checkbox/Checkbox.js +4 -8
  32. package/lib/Divider/Divider.js +14 -13
  33. package/lib/ExpandCollapse/Control.js +7 -7
  34. package/lib/ExpandCollapse/ExpandCollapse.js +6 -2
  35. package/lib/ExpandCollapse/Panel.js +6 -7
  36. package/lib/Feedback/Feedback.js +6 -5
  37. package/lib/Fieldset/Fieldset.js +1 -3
  38. package/lib/FlexGrid/FlexGrid.js +4 -4
  39. package/lib/FlexGrid/helpers/index.js +1 -4
  40. package/lib/HorizontalScroll/HorizontalScroll.js +5 -6
  41. package/lib/IconButton/IconButton.js +14 -9
  42. package/lib/InputLabel/InputLabel.js +7 -2
  43. package/lib/InputSupports/InputSupports.js +2 -2
  44. package/lib/Link/LinkBase.js +21 -15
  45. package/lib/List/List.js +4 -6
  46. package/lib/List/ListItem.js +6 -2
  47. package/lib/Modal/Modal.js +6 -2
  48. package/lib/Notification/Notification.js +7 -2
  49. package/lib/Pagination/PageButton.js +3 -1
  50. package/lib/Pagination/Pagination.js +22 -5
  51. package/lib/Pagination/SideButton.js +3 -1
  52. package/lib/Progress/Progress.js +5 -4
  53. package/lib/Progress/ProgressBar.js +8 -7
  54. package/lib/Radio/Radio.js +4 -8
  55. package/lib/Radio/RadioButton.js +6 -3
  56. package/lib/Radio/RadioGroup.js +7 -2
  57. package/lib/RadioCard/RadioCard.js +4 -4
  58. package/lib/RadioCard/RadioCardGroup.js +9 -6
  59. package/lib/Search/Search.js +7 -2
  60. package/lib/Select/Select.js +10 -9
  61. package/lib/SideNav/Item.js +7 -7
  62. package/lib/SideNav/SideNav.js +7 -3
  63. package/lib/Skeleton/Skeleton.js +6 -2
  64. package/lib/Spacer/Spacer.js +9 -20
  65. package/lib/StackView/StackView.js +7 -7
  66. package/lib/StackView/StackWrapBox.js +6 -7
  67. package/lib/StackView/StackWrapGap.js +6 -5
  68. package/lib/StackView/getStackedContent.js +1 -1
  69. package/lib/StepTracker/Step.js +7 -3
  70. package/lib/StepTracker/StepTracker.js +7 -7
  71. package/lib/Tabs/Tabs.js +16 -4
  72. package/lib/Tabs/TabsItem.js +18 -11
  73. package/lib/Tags/Tags.js +11 -12
  74. package/lib/TextInput/TextArea.js +13 -14
  75. package/lib/TextInput/TextInput.js +13 -14
  76. package/lib/TextInput/TextInputBase.js +5 -3
  77. package/lib/ThemeProvider/useThemeTokens.js +3 -3
  78. package/lib/ThemeProvider/utils/theme-tokens.js +3 -3
  79. package/lib/ToggleSwitch/ToggleSwitch.js +106 -43
  80. package/lib/ToggleSwitch/ToggleSwitchGroup.js +228 -0
  81. package/lib/ToggleSwitch/index.js +14 -4
  82. package/lib/Tooltip/Tooltip.js +7 -2
  83. package/lib/TooltipButton/TooltipButton.js +7 -2
  84. package/lib/Typography/Typography.js +8 -6
  85. package/lib/index.js +20 -8
  86. package/lib/utils/a11y/semantics.js +4 -3
  87. package/lib/utils/children.js +5 -1
  88. package/lib/utils/index.js +28 -5
  89. package/lib/utils/pressability.js +2 -2
  90. package/lib/utils/props/a11yProps.js +153 -0
  91. package/lib/utils/props/clickProps.js +36 -0
  92. package/lib/utils/props/componentPropType.js +70 -0
  93. package/lib/utils/props/copyPropTypes.js +14 -0
  94. package/lib/utils/props/getPropSelector.js +13 -0
  95. package/lib/utils/props/hrefAttrsProp.js +41 -0
  96. package/lib/utils/props/index.js +158 -0
  97. package/lib/{InputSupports/propTypes.js → utils/props/inputSupportsProps.js} +2 -3
  98. package/lib/utils/props/linkProps.js +64 -0
  99. package/lib/utils/props/paddingProp.js +20 -0
  100. package/lib/utils/props/pressProps.js +57 -0
  101. package/lib/utils/props/rectProp.js +20 -0
  102. package/lib/utils/props/responsiveProps.js +40 -0
  103. package/lib/utils/props/selectSystemProps.js +31 -0
  104. package/lib/utils/props/spacingProps.js +71 -0
  105. package/lib/utils/props/tokens.js +145 -0
  106. package/lib/utils/props/variantProp.js +28 -0
  107. package/lib/utils/props/viewProps.js +34 -0
  108. package/lib/utils/ssr.js +51 -0
  109. package/lib/utils/useResponsiveProp.js +1 -1
  110. package/lib/utils/useSpacingScale.js +4 -4
  111. package/lib/utils/withLinkRouter.js +98 -0
  112. package/lib-module/A11yInfoProvider/index.js +62 -0
  113. package/lib-module/A11yText/index.js +55 -0
  114. package/lib-module/ActivityIndicator/Spinner.js +76 -0
  115. package/lib-module/ActivityIndicator/Spinner.native.js +143 -0
  116. package/lib-module/ActivityIndicator/index.js +40 -0
  117. package/lib-module/ActivityIndicator/shared.js +12 -0
  118. package/lib-module/BaseProvider/index.js +26 -0
  119. package/lib-module/Box/Box.js +243 -0
  120. package/lib-module/Box/index.js +2 -0
  121. package/lib-module/Button/Button.js +25 -0
  122. package/lib-module/Button/ButtonBase.js +254 -0
  123. package/lib-module/Button/ButtonGroup.js +164 -0
  124. package/lib-module/Button/ButtonLink.js +39 -0
  125. package/lib-module/Button/index.js +4 -0
  126. package/lib-module/Button/propTypes.js +36 -0
  127. package/lib-module/Card/Card.js +83 -0
  128. package/lib-module/Card/CardBase.js +62 -0
  129. package/lib-module/Card/PressableCardBase.js +113 -0
  130. package/lib-module/Card/index.js +4 -0
  131. package/lib-module/Checkbox/Checkbox.js +321 -0
  132. package/lib-module/Checkbox/CheckboxGroup.js +218 -0
  133. package/lib-module/Checkbox/CheckboxInput.js +58 -0
  134. package/lib-module/Checkbox/CheckboxInput.native.js +6 -0
  135. package/lib-module/Checkbox/index.js +3 -0
  136. package/lib-module/Divider/Divider.js +123 -0
  137. package/lib-module/Divider/index.js +2 -0
  138. package/lib-module/ExpandCollapse/Accordion.js +15 -0
  139. package/lib-module/ExpandCollapse/Control.js +130 -0
  140. package/lib-module/ExpandCollapse/ExpandCollapse.js +94 -0
  141. package/lib-module/ExpandCollapse/Panel.js +158 -0
  142. package/lib-module/ExpandCollapse/index.js +7 -0
  143. package/lib-module/Feedback/Feedback.js +144 -0
  144. package/lib-module/Feedback/index.js +2 -0
  145. package/lib-module/Fieldset/Fieldset.js +145 -0
  146. package/lib-module/Fieldset/FieldsetContainer.js +29 -0
  147. package/lib-module/Fieldset/FieldsetContainer.native.js +20 -0
  148. package/lib-module/Fieldset/Legend.js +21 -0
  149. package/lib-module/Fieldset/Legend.native.js +28 -0
  150. package/lib-module/Fieldset/cssReset.js +14 -0
  151. package/lib-module/Fieldset/index.js +2 -0
  152. package/lib-module/FlexGrid/Col/Col.js +265 -0
  153. package/lib-module/FlexGrid/Col/index.js +2 -0
  154. package/lib-module/FlexGrid/FlexGrid.js +147 -0
  155. package/lib-module/FlexGrid/Row/Row.js +177 -0
  156. package/lib-module/FlexGrid/Row/index.js +2 -0
  157. package/lib-module/FlexGrid/helpers/index.js +18 -0
  158. package/lib-module/FlexGrid/index.js +2 -0
  159. package/lib-module/FlexGrid/providers/GutterContext.js +3 -0
  160. package/lib-module/HorizontalScroll/HorizontalScroll.js +171 -0
  161. package/lib-module/HorizontalScroll/HorizontalScrollButton.js +102 -0
  162. package/lib-module/HorizontalScroll/ScrollViewEnd.js +47 -0
  163. package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +24 -0
  164. package/lib-module/HorizontalScroll/dictionary.js +11 -0
  165. package/lib-module/HorizontalScroll/index.js +11 -0
  166. package/lib-module/HorizontalScroll/itemPositions.js +106 -0
  167. package/lib-module/Icon/Icon.js +61 -0
  168. package/lib-module/Icon/IconText.js +81 -0
  169. package/lib-module/Icon/index.js +4 -0
  170. package/lib-module/IconButton/IconButton.js +115 -0
  171. package/lib-module/IconButton/index.js +2 -0
  172. package/lib-module/InputLabel/InputLabel.js +131 -0
  173. package/lib-module/InputLabel/LabelContent.js +24 -0
  174. package/lib-module/InputLabel/LabelContent.native.js +16 -0
  175. package/lib-module/InputLabel/index.js +2 -0
  176. package/lib-module/InputSupports/InputSupports.js +88 -0
  177. package/lib-module/InputSupports/index.js +2 -0
  178. package/lib-module/InputSupports/useInputSupports.js +31 -0
  179. package/lib-module/Link/ChevronLink.js +51 -0
  180. package/lib-module/Link/InlinePressable.js +37 -0
  181. package/lib-module/Link/InlinePressable.native.js +85 -0
  182. package/lib-module/Link/Link.js +27 -0
  183. package/lib-module/Link/LinkBase.js +210 -0
  184. package/lib-module/Link/TextButton.js +43 -0
  185. package/lib-module/Link/index.js +5 -0
  186. package/lib-module/List/List.js +55 -0
  187. package/lib-module/List/ListItem.js +213 -0
  188. package/lib-module/List/index.js +5 -0
  189. package/lib-module/Modal/Modal.js +208 -0
  190. package/lib-module/Modal/dictionary.js +9 -0
  191. package/lib-module/Modal/index.js +2 -0
  192. package/lib-module/Notification/Notification.js +196 -0
  193. package/lib-module/Notification/dictionary.js +8 -0
  194. package/lib-module/Notification/index.js +2 -0
  195. package/lib-module/Pagination/PageButton.js +65 -0
  196. package/lib-module/Pagination/Pagination.js +140 -0
  197. package/lib-module/Pagination/SideButton.js +103 -0
  198. package/lib-module/Pagination/dictionary.js +18 -0
  199. package/lib-module/Pagination/index.js +2 -0
  200. package/lib-module/Pagination/usePagination.js +72 -0
  201. package/lib-module/Progress/Progress.js +85 -0
  202. package/lib-module/Progress/ProgressBar.js +134 -0
  203. package/lib-module/Progress/ProgressBarBackground.js +41 -0
  204. package/lib-module/Progress/index.js +4 -0
  205. package/lib-module/Radio/Radio.js +263 -0
  206. package/lib-module/Radio/RadioButton.js +128 -0
  207. package/lib-module/Radio/RadioGroup.js +225 -0
  208. package/lib-module/Radio/RadioInput.js +60 -0
  209. package/lib-module/Radio/RadioInput.native.js +6 -0
  210. package/lib-module/Radio/index.js +3 -0
  211. package/lib-module/RadioCard/RadioCard.js +218 -0
  212. package/lib-module/RadioCard/RadioCardGroup.js +232 -0
  213. package/lib-module/RadioCard/index.js +3 -0
  214. package/lib-module/Search/Search.js +233 -0
  215. package/lib-module/Search/dictionary.js +12 -0
  216. package/lib-module/Search/index.js +2 -0
  217. package/lib-module/Select/Group.js +20 -0
  218. package/lib-module/Select/Group.native.js +14 -0
  219. package/lib-module/Select/Item.js +17 -0
  220. package/lib-module/Select/Item.native.js +9 -0
  221. package/lib-module/Select/Picker.js +67 -0
  222. package/lib-module/Select/Picker.native.js +110 -0
  223. package/lib-module/Select/Select.js +317 -0
  224. package/lib-module/Select/index.js +6 -0
  225. package/lib-module/SideNav/Item.js +139 -0
  226. package/lib-module/SideNav/ItemContent.js +45 -0
  227. package/lib-module/SideNav/ItemsGroup.js +115 -0
  228. package/lib-module/SideNav/SideNav.js +133 -0
  229. package/lib-module/SideNav/index.js +1 -0
  230. package/lib-module/Skeleton/Skeleton.js +117 -0
  231. package/lib-module/Skeleton/index.js +2 -0
  232. package/lib-module/Skeleton/skeleton.constant.js +3 -0
  233. package/lib-module/Skeleton/skeletonWebAnimation.js +18 -0
  234. package/lib-module/Skeleton/useSkeletonNativeAnimation.js +24 -0
  235. package/lib-module/Spacer/Spacer.js +97 -0
  236. package/lib-module/Spacer/index.js +2 -0
  237. package/lib-module/StackView/StackView.js +124 -0
  238. package/lib-module/StackView/StackWrap.js +48 -0
  239. package/lib-module/StackView/StackWrap.native.js +3 -0
  240. package/lib-module/StackView/StackWrapBox.js +114 -0
  241. package/lib-module/StackView/StackWrapGap.js +58 -0
  242. package/lib-module/StackView/common.js +32 -0
  243. package/lib-module/StackView/getStackedContent.js +123 -0
  244. package/lib-module/StackView/index.js +5 -0
  245. package/lib-module/StepTracker/Step.js +229 -0
  246. package/lib-module/StepTracker/StepTracker.js +175 -0
  247. package/lib-module/StepTracker/dictionary.js +10 -0
  248. package/lib-module/StepTracker/index.js +2 -0
  249. package/lib-module/Tabs/Tabs.js +113 -0
  250. package/lib-module/Tabs/TabsItem.js +215 -0
  251. package/lib-module/Tabs/index.js +2 -0
  252. package/lib-module/Tags/Tags.js +238 -0
  253. package/lib-module/Tags/index.js +2 -0
  254. package/lib-module/TextInput/TextArea.js +88 -0
  255. package/lib-module/TextInput/TextInput.js +60 -0
  256. package/lib-module/TextInput/TextInputBase.js +233 -0
  257. package/lib-module/TextInput/index.js +3 -0
  258. package/lib-module/TextInput/propTypes.js +31 -0
  259. package/lib-module/ThemeProvider/ThemeProvider.js +35 -0
  260. package/lib-module/ThemeProvider/index.js +6 -0
  261. package/lib-module/ThemeProvider/useSetTheme.js +22 -0
  262. package/lib-module/ThemeProvider/useTheme.js +14 -0
  263. package/lib-module/ThemeProvider/useThemeTokens.js +105 -0
  264. package/lib-module/ThemeProvider/utils/index.js +2 -0
  265. package/lib-module/ThemeProvider/utils/styles.js +174 -0
  266. package/lib-module/ThemeProvider/utils/theme-tokens.js +151 -0
  267. package/lib-module/ToggleSwitch/ToggleSwitch.js +224 -0
  268. package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +202 -0
  269. package/lib-module/ToggleSwitch/index.js +3 -0
  270. package/lib-module/Tooltip/Backdrop.js +52 -0
  271. package/lib-module/Tooltip/Backdrop.native.js +43 -0
  272. package/lib-module/Tooltip/Tooltip.js +332 -0
  273. package/lib-module/Tooltip/dictionary.js +8 -0
  274. package/lib-module/Tooltip/getTooltipPosition.js +164 -0
  275. package/lib-module/Tooltip/index.js +2 -0
  276. package/lib-module/TooltipButton/TooltipButton.js +71 -0
  277. package/lib-module/TooltipButton/index.js +2 -0
  278. package/lib-module/Typography/Typography.js +118 -0
  279. package/lib-module/Typography/index.js +2 -0
  280. package/lib-module/ViewportProvider/ViewportProvider.js +28 -0
  281. package/lib-module/ViewportProvider/index.js +3 -0
  282. package/lib-module/ViewportProvider/useViewport.js +3 -0
  283. package/lib-module/ViewportProvider/useViewportListener.js +43 -0
  284. package/lib-module/index.js +48 -0
  285. package/lib-module/utils/a11y/index.js +2 -0
  286. package/lib-module/utils/a11y/semantics.js +154 -0
  287. package/lib-module/utils/a11y/textSize.js +34 -0
  288. package/lib-module/utils/animation/index.js +2 -0
  289. package/lib-module/utils/animation/useVerticalExpandAnimation.js +49 -0
  290. package/lib-module/utils/children.js +118 -0
  291. package/lib-module/utils/index.js +15 -0
  292. package/lib-module/utils/info/index.js +7 -0
  293. package/lib-module/utils/info/platform/index.js +11 -0
  294. package/lib-module/utils/info/platform/platform.android.js +1 -0
  295. package/lib-module/utils/info/platform/platform.ios.js +1 -0
  296. package/lib-module/utils/info/platform/platform.js +1 -0
  297. package/lib-module/utils/info/platform/platform.native.js +4 -0
  298. package/lib-module/utils/info/versions.js +5 -0
  299. package/lib-module/utils/input.js +180 -0
  300. package/lib-module/utils/pressability.js +97 -0
  301. package/lib-module/utils/props/a11yProps.js +140 -0
  302. package/lib-module/utils/props/clickProps.js +25 -0
  303. package/lib-module/utils/props/componentPropType.js +63 -0
  304. package/lib-module/utils/props/copyPropTypes.js +2 -0
  305. package/lib-module/utils/props/getPropSelector.js +6 -0
  306. package/lib-module/utils/props/hrefAttrsProp.js +30 -0
  307. package/lib-module/utils/props/index.js +16 -0
  308. package/lib-module/utils/props/inputSupportsProps.js +54 -0
  309. package/lib-module/utils/props/linkProps.js +47 -0
  310. package/lib-module/utils/props/paddingProp.js +9 -0
  311. package/lib-module/utils/props/pressProps.js +42 -0
  312. package/lib-module/utils/props/rectProp.js +9 -0
  313. package/lib-module/utils/props/responsiveProps.js +30 -0
  314. package/lib-module/utils/props/selectSystemProps.js +24 -0
  315. package/lib-module/utils/props/spacingProps.js +56 -0
  316. package/lib-module/utils/props/tokens.js +120 -0
  317. package/lib-module/utils/props/variantProp.js +18 -0
  318. package/lib-module/utils/props/viewProps.js +22 -0
  319. package/lib-module/utils/ssr.js +35 -0
  320. package/lib-module/utils/useCopy.js +42 -0
  321. package/lib-module/utils/useHash.js +44 -0
  322. package/lib-module/utils/useHash.native.js +7 -0
  323. package/lib-module/utils/useResponsiveProp.js +47 -0
  324. package/lib-module/utils/useSpacingScale.js +123 -0
  325. package/lib-module/utils/useUniqueId.js +12 -0
  326. package/lib-module/utils/withLinkRouter.js +82 -0
  327. package/package.json +9 -5
  328. package/src/A11yText/index.jsx +7 -3
  329. package/src/ActivityIndicator/Spinner.jsx +56 -44
  330. package/src/ActivityIndicator/Spinner.native.jsx +20 -12
  331. package/src/ActivityIndicator/index.jsx +1 -1
  332. package/src/Box/Box.jsx +15 -13
  333. package/src/Button/Button.jsx +1 -1
  334. package/src/Button/ButtonBase.jsx +20 -12
  335. package/src/Button/ButtonGroup.jsx +17 -8
  336. package/src/Button/ButtonLink.jsx +1 -1
  337. package/src/Button/propTypes.js +2 -1
  338. package/src/Card/Card.jsx +7 -4
  339. package/src/Card/CardBase.jsx +6 -5
  340. package/src/Card/PressableCardBase.jsx +16 -14
  341. package/src/Checkbox/Checkbox.jsx +12 -7
  342. package/src/Divider/Divider.jsx +19 -12
  343. package/src/ExpandCollapse/Control.jsx +12 -7
  344. package/src/ExpandCollapse/ExpandCollapse.jsx +13 -3
  345. package/src/ExpandCollapse/Panel.jsx +15 -5
  346. package/src/Feedback/Feedback.jsx +13 -3
  347. package/src/Fieldset/Fieldset.jsx +1 -1
  348. package/src/FlexGrid/FlexGrid.jsx +11 -5
  349. package/src/FlexGrid/helpers/index.js +1 -3
  350. package/src/HorizontalScroll/HorizontalScroll.jsx +12 -5
  351. package/src/IconButton/IconButton.jsx +18 -12
  352. package/src/InputLabel/InputLabel.jsx +16 -2
  353. package/src/InputSupports/InputSupports.jsx +1 -1
  354. package/src/Link/LinkBase.jsx +15 -12
  355. package/src/List/List.jsx +12 -5
  356. package/src/List/ListItem.jsx +16 -2
  357. package/src/Modal/Modal.jsx +63 -50
  358. package/src/Notification/Notification.jsx +17 -3
  359. package/src/Pagination/PageButton.jsx +3 -2
  360. package/src/Pagination/Pagination.jsx +38 -4
  361. package/src/Pagination/SideButton.jsx +2 -2
  362. package/src/Progress/Progress.jsx +5 -3
  363. package/src/Progress/ProgressBar.jsx +8 -6
  364. package/src/Radio/Radio.jsx +13 -7
  365. package/src/Radio/RadioButton.jsx +13 -3
  366. package/src/Radio/RadioGroup.jsx +14 -2
  367. package/src/RadioCard/RadioCard.jsx +9 -6
  368. package/src/RadioCard/RadioCardGroup.jsx +16 -4
  369. package/src/Search/Search.jsx +15 -3
  370. package/src/Select/Select.jsx +21 -7
  371. package/src/SideNav/Item.jsx +15 -7
  372. package/src/SideNav/SideNav.jsx +13 -2
  373. package/src/Skeleton/Skeleton.jsx +55 -43
  374. package/src/Spacer/Spacer.jsx +10 -18
  375. package/src/StackView/StackView.jsx +13 -12
  376. package/src/StackView/StackWrapBox.jsx +12 -12
  377. package/src/StackView/StackWrapGap.jsx +9 -7
  378. package/src/StackView/getStackedContent.jsx +1 -1
  379. package/src/StepTracker/Step.jsx +7 -4
  380. package/src/StepTracker/StepTracker.jsx +8 -8
  381. package/src/Tabs/Tabs.jsx +63 -23
  382. package/src/Tabs/TabsItem.jsx +22 -14
  383. package/src/Tags/Tags.jsx +16 -7
  384. package/src/TextInput/TextArea.jsx +20 -8
  385. package/src/TextInput/TextInput.jsx +20 -8
  386. package/src/TextInput/TextInputBase.jsx +13 -3
  387. package/src/ThemeProvider/useThemeTokens.js +3 -3
  388. package/src/ThemeProvider/utils/theme-tokens.js +3 -3
  389. package/src/ToggleSwitch/ToggleSwitch.jsx +104 -41
  390. package/src/ToggleSwitch/ToggleSwitchGroup.jsx +211 -0
  391. package/src/ToggleSwitch/index.js +2 -1
  392. package/src/Tooltip/Tooltip.jsx +13 -3
  393. package/src/TooltipButton/TooltipButton.jsx +6 -4
  394. package/src/Typography/Typography.jsx +10 -6
  395. package/src/index.js +2 -2
  396. package/src/utils/a11y/semantics.js +3 -2
  397. package/src/utils/children.jsx +2 -1
  398. package/src/utils/index.js +3 -1
  399. package/src/utils/pressability.js +1 -1
  400. package/src/utils/props/a11yProps.js +151 -0
  401. package/src/utils/props/clickProps.js +31 -0
  402. package/src/utils/props/componentPropType.js +67 -0
  403. package/src/utils/props/copyPropTypes.js +3 -0
  404. package/src/utils/props/getPropSelector.js +14 -0
  405. package/src/utils/props/hrefAttrsProp.js +25 -0
  406. package/src/utils/props/index.js +16 -0
  407. package/src/{InputSupports/propTypes.js → utils/props/inputSupportsProps.js} +2 -4
  408. package/src/utils/props/linkProps.js +43 -0
  409. package/src/utils/props/paddingProp.js +10 -0
  410. package/src/utils/props/pressProps.js +45 -0
  411. package/src/utils/props/rectProp.js +10 -0
  412. package/src/utils/props/responsiveProps.js +30 -0
  413. package/src/utils/props/selectSystemProps.js +25 -0
  414. package/src/utils/props/spacingProps.js +58 -0
  415. package/src/utils/props/tokens.js +150 -0
  416. package/src/utils/props/variantProp.js +20 -0
  417. package/src/utils/props/viewProps.js +23 -0
  418. package/src/utils/ssr.js +35 -0
  419. package/src/utils/useResponsiveProp.js +1 -1
  420. package/src/utils/useSpacingScale.js +4 -4
  421. package/src/utils/withLinkRouter.jsx +68 -0
  422. package/stories/TextInput/TextArea.stories.jsx +1 -0
  423. package/stories/ToggleSwitch/ToggleSwitch.stories.jsx +5 -1
  424. package/stories/ToggleSwitch/ToggleSwitchGroup.stories.jsx +81 -0
  425. package/.ultra.cache.json +0 -1
  426. package/lib/utils/a11y/propTypes.js +0 -61
  427. package/lib/utils/a11y/propTypes.native.js +0 -47
  428. package/lib/utils/propTypes.js +0 -541
  429. package/release-context.json +0 -7
  430. package/src/utils/a11y/propTypes.js +0 -61
  431. package/src/utils/a11y/propTypes.native.js +0 -39
  432. package/src/utils/propTypes.js +0 -531
@@ -15,10 +15,12 @@ var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/export
15
15
 
16
16
  var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
17
17
 
18
- var _propTypes2 = require("../utils/propTypes");
18
+ var _props = require("../utils/props");
19
19
 
20
20
  var _pressability = require("../utils/pressability");
21
21
 
22
+ var _utils = require("../utils");
23
+
22
24
  var _InlinePressable = _interopRequireDefault(require("./InlinePressable"));
23
25
 
24
26
  var _ThemeProvider = require("../ThemeProvider");
@@ -33,6 +35,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
33
35
 
34
36
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
37
 
38
+ const [selectProps, selectedSystemPropTypes] = (0, _props.selectSystemProps)([_props.a11yProps, _props.linkProps, _props.viewProps]);
39
+
36
40
  const selectOuterBorderStyles = ({
37
41
  outerBorderColor,
38
42
  outerBorderWidth,
@@ -120,7 +124,6 @@ const selectIconTokens = ({
120
124
 
121
125
  const LinkBase = /*#__PURE__*/(0, _react.forwardRef)(({
122
126
  href,
123
- onPress,
124
127
  icon,
125
128
  iconPosition = icon ? 'left' : undefined,
126
129
  iconProps,
@@ -128,18 +131,22 @@ const LinkBase = /*#__PURE__*/(0, _react.forwardRef)(({
128
131
  tokens = {},
129
132
  children,
130
133
  accessibilityRole = 'link',
131
- dataSet,
132
- ...props
134
+ ...rawRest
133
135
  }, ref) => {
136
+ const {
137
+ onPress,
138
+ ...props
139
+ } = _props.clickProps.toPressProps(rawRest);
140
+
134
141
  const {
135
142
  hrefAttrs,
136
143
  rest
137
- } = _propTypes2.hrefAttrsProp.bundle(props);
144
+ } = _props.hrefAttrsProp.bundle(props);
138
145
 
139
- const linkPropSet = _propTypes2.linkProps.select({
146
+ const selectedProps = selectProps({
140
147
  accessibilityRole,
141
148
  href,
142
- onPress: _propTypes2.linkProps.handleHref({
149
+ onPress: _props.linkProps.handleHref({
143
150
  href,
144
151
  onPress
145
152
  }),
@@ -153,9 +160,8 @@ const LinkBase = /*#__PURE__*/(0, _react.forwardRef)(({
153
160
 
154
161
 
155
162
  const blockLeftStyle = _Platform.default.OS === 'web' && staticStyles.blockLeft;
156
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InlinePressable.default, { ...linkPropSet,
163
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InlinePressable.default, { ...selectedProps,
157
164
  ref: ref,
158
- dataSet: dataSet,
159
165
  style: linkState => {
160
166
  const themeTokens = resolveLinkTokens(linkState);
161
167
  const outerBorderStyles = selectOuterBorderStyles(themeTokens);
@@ -189,10 +195,9 @@ const LinkBase = /*#__PURE__*/(0, _react.forwardRef)(({
189
195
  });
190
196
  });
191
197
  LinkBase.displayName = 'LinkBase';
192
- LinkBase.propTypes = { ..._propTypes2.a11yProps.types,
193
- ..._propTypes2.linkProps.types,
194
- tokens: (0, _propTypes2.getTokensPropType)('Link'),
195
- variant: _propTypes2.variantProp.propType,
198
+ LinkBase.propTypes = { ...selectedSystemPropTypes,
199
+ tokens: (0, _props.getTokensPropType)('Link'),
200
+ variant: _props.variantProp.propType,
196
201
 
197
202
  /**
198
203
  * Optional variant that may be passed down to the link's icon if there is one
@@ -214,7 +219,7 @@ LinkBase.propTypes = { ..._propTypes2.a11yProps.types,
214
219
  * On Web if href is passed, React Native Web maps this object's props to
215
220
  * `rel`, `target` and `download` attrs.
216
221
  */
217
- hrefAttrs: _propTypes.default.shape(_propTypes2.hrefAttrsProp.types)
222
+ hrefAttrs: _propTypes.default.shape(_props.hrefAttrsProp.types)
218
223
  };
219
224
 
220
225
  const staticStyles = _StyleSheet.default.create({
@@ -231,5 +236,6 @@ const staticStyles = _StyleSheet.default.create({
231
236
  }
232
237
  });
233
238
 
234
- var _default = LinkBase;
239
+ var _default = (0, _utils.withLinkRouter)(LinkBase);
240
+
235
241
  exports.default = _default;
package/lib/List/List.js CHANGED
@@ -15,8 +15,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
 
16
16
  var _utils = require("../utils");
17
17
 
18
- var _propTypes2 = require("../utils/propTypes");
19
-
20
18
  var _ListItem = _interopRequireDefault(require("./ListItem"));
21
19
 
22
20
  var _jsxRuntime = require("react/jsx-runtime");
@@ -27,10 +25,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
27
25
 
28
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
27
 
28
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
30
29
  /**
31
30
  * An unordered List component has a child a ListItem that
32
31
  * allows icon, dividers and customized typography
33
32
  */
33
+
34
34
  const List = /*#__PURE__*/(0, _react.forwardRef)(({
35
35
  children,
36
36
  showDivider,
@@ -43,8 +43,6 @@ const List = /*#__PURE__*/(0, _react.forwardRef)(({
43
43
  default: 'none'
44
44
  });
45
45
 
46
- const a11y = _propTypes2.a11yProps.select(rest);
47
-
48
46
  const items = _react.Children.map(children, (child, index) => {
49
47
  if (child.type.name === _ListItem.default.name) {
50
48
  return /*#__PURE__*/(0, _react.cloneElement)(child, {
@@ -61,12 +59,12 @@ const List = /*#__PURE__*/(0, _react.forwardRef)(({
61
59
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
62
60
  ref: ref,
63
61
  accessibilityRole: accessibilityRole,
64
- ...a11y,
62
+ ...selectProps(rest),
65
63
  children: items
66
64
  });
67
65
  });
68
66
  List.displayName = 'List';
69
- List.propTypes = { ..._propTypes2.a11yProps.types,
67
+ List.propTypes = { ...selectedSystemPropTypes,
70
68
  tokens: (0, _utils.getTokensPropType)('List'),
71
69
  variant: _utils.variantProp.propType,
72
70
  children: (0, _utils.componentPropType)('ListItem'),
@@ -27,6 +27,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
27
27
 
28
28
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
29
 
30
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
31
+
30
32
  const selectBulletStyles = ({
31
33
  itemBulletWidth,
32
34
  itemBulletHeight,
@@ -108,7 +110,8 @@ const ListItem = /*#__PURE__*/(0, _react.forwardRef)(({
108
110
  iconSize,
109
111
  showDivider,
110
112
  children,
111
- isLastItem
113
+ isLastItem,
114
+ ...rest
112
115
  }, ref) => {
113
116
  const themeTokens = (0, _ThemeProvider.useThemeTokens)('List', tokens, variant);
114
117
  const itemStyles = selectItemStyles(themeTokens);
@@ -182,6 +185,7 @@ const ListItem = /*#__PURE__*/(0, _react.forwardRef)(({
182
185
  ref: ref,
183
186
  style: [staticStyles.itemContainer, getContainerStyle()],
184
187
  accessibilityRole: accessibilityRole,
188
+ ...selectProps(rest),
185
189
  children: [renderMarker(), renderItem()]
186
190
  });
187
191
  });
@@ -196,7 +200,7 @@ const staticStyles = _StyleSheet.default.create({
196
200
  }
197
201
  });
198
202
 
199
- ListItem.propTypes = {
203
+ ListItem.propTypes = { ...selectedSystemPropTypes,
200
204
  tokens: (0, _utils.getTokensPropType)('List'),
201
205
  variant: _utils.variantProp.propType,
202
206
  children: _propTypes.default.node.isRequired,
@@ -37,6 +37,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
37
37
 
38
38
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
39
 
40
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
41
+
40
42
  const selectContainerStyles = ({
41
43
  containerPaddingLeft,
42
44
  containerPaddingRight,
@@ -119,7 +121,8 @@ const Modal = /*#__PURE__*/(0, _react.forwardRef)(({
119
121
  maxWidth,
120
122
  tokens,
121
123
  variant,
122
- copy
124
+ copy,
125
+ ...rest
123
126
  }, ref) => {
124
127
  const viewport = (0, _ViewportProvider.useViewport)();
125
128
  const themeTokens = (0, _ThemeProvider.useThemeTokens)('Modal', tokens, variant, {
@@ -150,6 +153,7 @@ const Modal = /*#__PURE__*/(0, _react.forwardRef)(({
150
153
 
151
154
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Modal.default, {
152
155
  transparent: true,
156
+ ...selectProps(rest),
153
157
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
154
158
  style: [staticStyles.positioningContainer],
155
159
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
@@ -182,7 +186,7 @@ const Modal = /*#__PURE__*/(0, _react.forwardRef)(({
182
186
  });
183
187
  });
184
188
  Modal.displayName = 'Modal';
185
- Modal.propTypes = {
189
+ Modal.propTypes = { ...selectedSystemPropTypes,
186
190
  children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.arrayOf(_propTypes.default.node)]),
187
191
  copy: _utils.copyPropTypes,
188
192
  isOpen: _propTypes.default.bool,
@@ -33,6 +33,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
33
33
 
34
34
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
35
 
36
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
37
+
36
38
  const selectContainerStyles = tokens => ({ ...tokens
37
39
  });
38
40
 
@@ -124,7 +126,8 @@ const Notification = /*#__PURE__*/(0, _react.forwardRef)(({
124
126
  dismissible,
125
127
  copy = 'en',
126
128
  tokens,
127
- variant
129
+ variant,
130
+ ...rest
128
131
  }, ref) => {
129
132
  const [isDismissed, setIsDismissed] = (0, _react.useState)(false);
130
133
  const themeTokens = (0, _ThemeProvider.useThemeTokens)('Notification', tokens, variant, {
@@ -155,6 +158,7 @@ const Notification = /*#__PURE__*/(0, _react.forwardRef)(({
155
158
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
156
159
  ref: ref,
157
160
  style: [staticStyles.container, selectContainerStyles(themeTokens)],
161
+ ...selectProps(rest),
158
162
  children: [IconComponent && /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
159
163
  style: selectIconContainerStyles(themeTokens),
160
164
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(IconComponent, { ...selectIconProps(themeTokens)
@@ -178,7 +182,8 @@ const Notification = /*#__PURE__*/(0, _react.forwardRef)(({
178
182
  });
179
183
  });
180
184
  Notification.displayName = 'Notification';
181
- Notification.propTypes = {
185
+ Notification.propTypes = { ...selectedSystemPropTypes,
186
+
182
187
  /**
183
188
  * Content of the `Notification`.
184
189
  */
@@ -85,5 +85,7 @@ PageButton.propTypes = { ..._utils.linkProps.types,
85
85
  variant: _utils.variantProp.propType,
86
86
  tokens: (0, _utils.getTokensPropType)('PaginationPageButton')
87
87
  };
88
- var _default = PageButton;
88
+
89
+ var _default = (0, _utils.withLinkRouter)(PageButton);
90
+
89
91
  exports.default = _default;
@@ -35,6 +35,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
35
35
 
36
36
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
37
 
38
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
39
+
38
40
  const selectTextStyles = ({
39
41
  color,
40
42
  fontName,
@@ -55,7 +57,10 @@ const Pagination = /*#__PURE__*/(0, _react.forwardRef)(({
55
57
  variant,
56
58
  tokens,
57
59
  sideButtonVariant,
58
- sideButtonTokens
60
+ sideButtonTokens,
61
+ LinkRouter,
62
+ linkRouterProps,
63
+ ...rest
59
64
  }, ref) => {
60
65
  const viewport = (0, _ViewportProvider.useViewport)();
61
66
  const {
@@ -93,13 +98,21 @@ const Pagination = /*#__PURE__*/(0, _react.forwardRef)(({
93
98
  direction: "previous",
94
99
  copy: copy,
95
100
  variant: sideButtonVariant,
96
- tokens: sideButtonTokens
97
- }), ...items.map((child, itemIndex) => {
101
+ tokens: sideButtonTokens,
102
+ LinkRouter: LinkRouter,
103
+ linkRouterProps: linkRouterProps
104
+ }), ...items.map((_child, itemIndex) => {
98
105
  const buttonLabel = `${itemIndex + 1}`;
99
106
  const itemProps = getItemProps(itemIndex);
107
+ const ItemLinkRouter = itemProps.LinkRouter ?? LinkRouter;
108
+ const itemLinkRouterProps = { ...linkRouterProps,
109
+ ...itemProps.linkRouterProps
110
+ };
100
111
 
101
112
  if (shouldRenderButton(itemIndex)) {
102
113
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PageButton.default, { ...itemProps,
114
+ LinkRouter: ItemLinkRouter,
115
+ linkRouterProps: itemLinkRouterProps,
103
116
  label: buttonLabel,
104
117
  copy: copy,
105
118
  isActive: isItemActive(itemIndex)
@@ -118,11 +131,14 @@ const Pagination = /*#__PURE__*/(0, _react.forwardRef)(({
118
131
  direction: "next",
119
132
  copy: copy,
120
133
  variant: sideButtonVariant,
121
- tokens: sideButtonTokens
134
+ tokens: sideButtonTokens,
135
+ LinkRouter: LinkRouter,
136
+ linkRouterProps: linkRouterProps
122
137
  })];
123
138
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
124
139
  style: staticStyles.container,
125
140
  ref: ref,
141
+ ...selectProps(rest),
126
142
  children: buttons // keep the keys in-line with the page numbers regardless of which buttons are actually rendered
127
143
  .map((element, index) => [element, `page-${index + 1}`]).filter(([element]) => element !== null).map(([element, key]) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
128
144
  right: gap,
@@ -132,7 +148,8 @@ const Pagination = /*#__PURE__*/(0, _react.forwardRef)(({
132
148
  });
133
149
  _PageButton.default.displayName = 'PageButton';
134
150
  Pagination.PageButton = _PageButton.default;
135
- Pagination.propTypes = {
151
+ Pagination.propTypes = { ...selectedSystemPropTypes,
152
+ ..._utils.withLinkRouter.propTypes,
136
153
  children: (0, _utils.componentPropType)('PageButton'),
137
154
  copy: _utils.copyPropTypes,
138
155
  variant: _utils.variantProp.propType,
@@ -125,5 +125,7 @@ SideButton.propTypes = {
125
125
  copy: _utils.copyPropTypes,
126
126
  ..._utils.linkProps.types
127
127
  };
128
- var _default = SideButton;
128
+
129
+ var _default = (0, _utils.withLinkRouter)(SideButton);
130
+
129
131
  exports.default = _default;
@@ -11,8 +11,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
12
  var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
13
13
 
14
- var _propTypes2 = require("../utils/propTypes");
15
-
16
14
  var _ThemeProvider = require("../ThemeProvider");
17
15
 
18
16
  var _utils = require("../utils");
@@ -25,6 +23,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
25
23
 
26
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
25
 
26
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
27
+
28
28
  const selectProgressStyles = ({
29
29
  backgroundColor,
30
30
  borderWidth,
@@ -79,12 +79,13 @@ const Progress = /*#__PURE__*/(0, _react.forwardRef)(({
79
79
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
80
80
  ref: ref,
81
81
  style: selectProgressStyles(themeTokens),
82
- ..._propTypes2.a11yProps.select(rest),
82
+ ...selectProps(rest),
83
83
  children: children
84
84
  });
85
85
  });
86
86
  Progress.displayName = 'Progress';
87
- Progress.propTypes = {
87
+ Progress.propTypes = { ...selectedSystemPropTypes,
88
+
88
89
  /**
89
90
  * Use the `children` prop to supply one or several `ProgressBar`s.
90
91
  */
@@ -17,8 +17,6 @@ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Vi
17
17
 
18
18
  var _ProgressBarBackground = _interopRequireDefault(require("./ProgressBarBackground"));
19
19
 
20
- var _propTypes2 = require("../utils/propTypes");
21
-
22
20
  var _ThemeProvider = require("../ThemeProvider");
23
21
 
24
22
  var _utils = require("../utils");
@@ -31,6 +29,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
31
29
 
32
30
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
31
 
32
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
33
+
34
34
  const selectBarStyles = ({
35
35
  backgroundColor,
36
36
  borderRadius,
@@ -94,7 +94,7 @@ const ProgressBar = /*#__PURE__*/(0, _react.forwardRef)(({
94
94
  throw new Error('ProgressBar: `percentage` cannot exceed 100');
95
95
  }
96
96
 
97
- const accessibilityProps = {
97
+ const selectedProps = selectProps({
98
98
  accessibilityRole: 'progressbar',
99
99
  accessibilityValue: {
100
100
  min: 0,
@@ -102,19 +102,20 @@ const ProgressBar = /*#__PURE__*/(0, _react.forwardRef)(({
102
102
  now: percentage,
103
103
  text: `${percentage}%`
104
104
  },
105
- ..._propTypes2.a11yProps.select(rest)
106
- };
105
+ ...rest
106
+ });
107
107
  return percentage > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
108
108
  ref: ref,
109
109
  style: [staticStyles.bar, selectBarStyles(themeTokens, percentage)],
110
- ...accessibilityProps,
110
+ ...selectedProps,
111
111
  children: children ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ProgressBarBackground.default, {
112
112
  variant: variant
113
113
  })
114
114
  }) : null;
115
115
  });
116
116
  ProgressBar.displayName = 'ProgressBar';
117
- ProgressBar.propTypes = {
117
+ ProgressBar.propTypes = { ...selectedSystemPropTypes,
118
+
118
119
  /**
119
120
  * Optional children that can be used to customize the progress bar filling.
120
121
  */
@@ -25,8 +25,6 @@ var _ThemeProvider = require("../ThemeProvider");
25
25
 
26
26
  var _utils = require("../utils");
27
27
 
28
- var _propTypes2 = require("../utils/propTypes");
29
-
30
28
  var _StackView = _interopRequireDefault(require("../StackView"));
31
29
 
32
30
  var _jsxRuntime = require("react/jsx-runtime");
@@ -37,8 +35,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
37
35
 
38
36
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
37
 
40
- // @todo move `LabelContent` outside of the `InputLabel` and fix
41
- // the issue with the cursor not being pointer on Web
38
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
39
+
42
40
  const selectContainerStyles = ({
43
41
  containerBackgroundColor,
44
42
  containerBorderRadius,
@@ -165,8 +163,6 @@ const Radio = /*#__PURE__*/(0, _react.forwardRef)(({
165
163
  if ((event === null || event === void 0 ? void 0 : event.key) === ' ') handleChange(event);
166
164
  };
167
165
 
168
- const accessibilityProps = _propTypes2.a11yProps.select(rest);
169
-
170
166
  const uniqueId = (0, _utils.useUniqueId)('radio');
171
167
  const inputId = id ?? uniqueId;
172
168
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default, {
@@ -179,7 +175,7 @@ const Radio = /*#__PURE__*/(0, _react.forwardRef)(({
179
175
  checked: isChecked,
180
176
  disabled: inactive
181
177
  },
182
- ...accessibilityProps,
178
+ ...selectProps(rest),
183
179
  children: ({
184
180
  focused: focus,
185
181
  hovered: hover,
@@ -220,7 +216,7 @@ const Radio = /*#__PURE__*/(0, _react.forwardRef)(({
220
216
  });
221
217
  });
222
218
  Radio.displayName = 'Radio';
223
- Radio.propTypes = { ..._propTypes2.a11yProps.propTypes,
219
+ Radio.propTypes = { ...selectedSystemPropTypes,
224
220
 
225
221
  /**
226
222
  * Use `checked` for controlled Radio. For uncontrolled Radio, use the `defaultChecked` prop.
@@ -29,8 +29,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
29
29
 
30
30
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
31
 
32
- // TODO: roll out a standard approach to token sets
32
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]); // TODO: roll out a standard approach to token sets
33
33
  // https://github.com/telus/universal-design-system/issues/782
34
+
34
35
  const tokenKeys = ['checkedBackgroundColor', 'checkedSize', 'inputBackgroundColor', 'inputBorderColor', 'inputBorderWidth', 'inputOutlineColor', 'inputOutlineWidth', 'inputSize', 'outerBorderColor', 'outerBorderWidth', 'outerBorderGap', 'inputSize'];
35
36
 
36
37
  const selectRadioButtonTokens = (themeTokens, prefix) => (0, _utils.selectTokens)(tokenKeys, themeTokens, prefix);
@@ -99,13 +100,15 @@ const RadioButton = /*#__PURE__*/(0, _react.forwardRef)(({
99
100
  isControlled,
100
101
  handleChange,
101
102
  name: inputName,
102
- value
103
+ value,
104
+ ...rest
103
105
  }, ref) => {
104
106
  const themeTokens = (0, _ThemeProvider.validateThemeTokens)((0, _ThemeProvider.resolveThemeTokens)(tokens, {
105
107
  checked: isChecked
106
108
  }), (0, _utils.getTokensSetPropType)(tokenKeys), 'RadioButton');
107
109
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
108
110
  style: selectOuterBorderStyles(themeTokens),
111
+ ...selectProps(rest),
109
112
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
110
113
  style: [staticStyles.defaultInputStyles, selectInputStyles(themeTokens, isChecked)],
111
114
  testID: "Radio-Input",
@@ -127,7 +130,7 @@ const RadioButton = /*#__PURE__*/(0, _react.forwardRef)(({
127
130
  });
128
131
  });
129
132
  RadioButton.displayName = 'RadioButton';
130
- RadioButton.propTypes = {
133
+ RadioButton.propTypes = { ...selectedSystemPropTypes,
131
134
  isChecked: _propTypes.default.bool,
132
135
  tokens: (0, _utils.getTokensSetPropType)(tokenKeys, {
133
136
  allowFunction: true
@@ -31,6 +31,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
31
31
 
32
32
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
33
 
34
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
34
35
  /**
35
36
  * A group of Radios that behave as a radio group. Use when users select a single choice from mutually
36
37
  * exclusive options.
@@ -79,6 +80,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
79
80
  * />
80
81
  * ```
81
82
  */
83
+
82
84
  const RadioGroup = /*#__PURE__*/(0, _react.forwardRef)(({
83
85
  tokens,
84
86
  radioTokens,
@@ -94,7 +96,8 @@ const RadioGroup = /*#__PURE__*/(0, _react.forwardRef)(({
94
96
  onChange,
95
97
  readOnly,
96
98
  name: inputGroupName,
97
- inactive
99
+ inactive,
100
+ ...rest
98
101
  }, ref) => {
99
102
  const viewport = (0, _ViewportProvider.useViewport)();
100
103
  const {
@@ -149,6 +152,7 @@ const RadioGroup = /*#__PURE__*/(0, _react.forwardRef)(({
149
152
  inactive: inactive,
150
153
  validation: validation,
151
154
  accessibilityRole: "radiogroup",
155
+ ...selectProps(rest),
152
156
  children: (0, _StackView.getStackedContent)(radios, {
153
157
  space,
154
158
  direction: 'column'
@@ -156,7 +160,8 @@ const RadioGroup = /*#__PURE__*/(0, _react.forwardRef)(({
156
160
  });
157
161
  });
158
162
  RadioGroup.displayName = 'RadioGroup';
159
- RadioGroup.propTypes = {
163
+ RadioGroup.propTypes = { ...selectedSystemPropTypes,
164
+
160
165
  /**
161
166
  * Optional theme token overrides for the outer RadioGroup component
162
167
  */
@@ -33,6 +33,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
33
33
 
34
34
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
35
 
36
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
36
37
  /**
37
38
  * A Card that behaves like a radio button. Use when users select a single choice from mutually exclusive options
38
39
  * with need to show additional information for each option. The whole card is interactive as one item.
@@ -68,6 +69,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
68
69
  * accessibility role `'radio'` and accessibility state that depends on the other props (`checked`, `inactive`)
69
70
  * or the internal state in case of uncontrolled radio button.
70
71
  */
72
+
71
73
  const RadioCard = /*#__PURE__*/(0, _react.forwardRef)(({
72
74
  tokens,
73
75
  variant,
@@ -98,8 +100,6 @@ const RadioCard = /*#__PURE__*/(0, _react.forwardRef)(({
98
100
  }
99
101
  };
100
102
 
101
- const a11y = _utils.a11yProps.select(rest);
102
-
103
103
  const uniqueId = (0, _utils.useUniqueId)('RadioCard');
104
104
  const inputId = id ?? uniqueId;
105
105
  const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('RadioCard', tokens, variant);
@@ -117,7 +117,7 @@ const RadioCard = /*#__PURE__*/(0, _react.forwardRef)(({
117
117
  checked: isChecked,
118
118
  disabled: inactive
119
119
  },
120
- ...a11y,
120
+ ...selectProps(rest),
121
121
  children: cardState => {
122
122
  const {
123
123
  radioSpace,
@@ -161,7 +161,7 @@ const RadioCard = /*#__PURE__*/(0, _react.forwardRef)(({
161
161
  });
162
162
  });
163
163
  RadioCard.displayName = 'RadioCard';
164
- RadioCard.propTypes = { ..._utils.a11yProps.propTypes,
164
+ RadioCard.propTypes = { ...selectedSystemPropTypes,
165
165
 
166
166
  /**
167
167
  * Content to be displayed at the top of the card alongside the radio button