@telus-uds/components-base 1.3.0 → 1.5.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 (344) hide show
  1. package/.turbo/turbo-build.log +5 -2
  2. package/CHANGELOG.json +82 -0
  3. package/CHANGELOG.md +42 -2
  4. package/__tests__/ActivityIndicator/ActivityIndicator.test.jsx +35 -0
  5. package/__tests__/ActivityIndicator/__snapshots__/ActivityIndicator.test.jsx.snap +287 -0
  6. package/babel.config.js +27 -5
  7. package/component-docs.json +121 -438
  8. package/lib/A11yText/index.js +5 -4
  9. package/lib/ActivityIndicator/Spinner.js +46 -37
  10. package/lib/ActivityIndicator/Spinner.native.js +26 -15
  11. package/lib/Box/Box.js +4 -4
  12. package/lib/Button/ButtonBase.js +7 -8
  13. package/lib/Card/Card.js +5 -4
  14. package/lib/Card/PressableCardBase.js +6 -11
  15. package/lib/Checkbox/Checkbox.js +4 -6
  16. package/lib/Divider/Divider.js +12 -11
  17. package/lib/ExpandCollapse/Control.js +7 -7
  18. package/lib/ExpandCollapse/ExpandCollapse.js +6 -2
  19. package/lib/ExpandCollapse/Panel.js +6 -7
  20. package/lib/Feedback/Feedback.js +6 -5
  21. package/lib/Fieldset/Fieldset.js +1 -3
  22. package/lib/HorizontalScroll/HorizontalScroll.js +5 -7
  23. package/lib/HorizontalScroll/HorizontalScrollButton.js +23 -49
  24. package/lib/IconButton/IconButton.js +6 -6
  25. package/lib/InputLabel/InputLabel.js +7 -2
  26. package/lib/InputSupports/InputSupports.js +2 -2
  27. package/lib/Link/LinkBase.js +5 -6
  28. package/lib/List/List.js +4 -6
  29. package/lib/List/ListItem.js +6 -2
  30. package/lib/Modal/Modal.js +6 -2
  31. package/lib/Notification/Notification.js +12 -8
  32. package/lib/Pagination/Pagination.js +8 -3
  33. package/lib/Progress/Progress.js +5 -4
  34. package/lib/Progress/ProgressBar.js +8 -7
  35. package/lib/Radio/Radio.js +4 -6
  36. package/lib/Radio/RadioButton.js +6 -3
  37. package/lib/Radio/RadioGroup.js +7 -2
  38. package/lib/RadioCard/RadioCard.js +4 -4
  39. package/lib/RadioCard/RadioCardGroup.js +9 -6
  40. package/lib/Search/Search.js +7 -2
  41. package/lib/Select/Select.js +10 -9
  42. package/lib/SideNav/Item.js +7 -7
  43. package/lib/SideNav/SideNav.js +7 -3
  44. package/lib/Skeleton/Skeleton.js +6 -2
  45. package/lib/Spacer/Spacer.js +7 -18
  46. package/lib/StackView/StackView.js +7 -7
  47. package/lib/StackView/StackWrapBox.js +6 -7
  48. package/lib/StackView/StackWrapGap.js +6 -5
  49. package/lib/StepTracker/Step.js +7 -3
  50. package/lib/StepTracker/StepTracker.js +7 -7
  51. package/lib/Tabs/Tabs.js +6 -2
  52. package/lib/Tabs/TabsItem.js +6 -5
  53. package/lib/Tags/Tags.js +5 -6
  54. package/lib/TextInput/TextArea.js +13 -14
  55. package/lib/TextInput/TextInput.js +13 -14
  56. package/lib/TextInput/TextInputBase.js +5 -3
  57. package/lib/ToggleSwitch/ToggleSwitch.js +10 -9
  58. package/lib/ToggleSwitch/ToggleSwitchGroup.js +5 -7
  59. package/lib/Tooltip/Tooltip.js +7 -2
  60. package/lib/TooltipButton/TooltipButton.js +7 -2
  61. package/lib/Typography/Typography.js +8 -6
  62. package/lib/index.js +7 -0
  63. package/lib/utils/children.js +5 -1
  64. package/lib/utils/index.js +14 -0
  65. package/lib/utils/props/index.js +9 -0
  66. package/lib/{InputSupports/propTypes.js → utils/props/inputSupportsProps.js} +2 -3
  67. package/lib/utils/ssr.js +51 -0
  68. package/lib-module/A11yInfoProvider/index.js +62 -0
  69. package/lib-module/A11yText/index.js +55 -0
  70. package/lib-module/ActivityIndicator/Spinner.js +76 -0
  71. package/lib-module/ActivityIndicator/Spinner.native.js +143 -0
  72. package/lib-module/ActivityIndicator/index.js +40 -0
  73. package/lib-module/ActivityIndicator/shared.js +12 -0
  74. package/lib-module/BaseProvider/index.js +26 -0
  75. package/lib-module/Box/Box.js +243 -0
  76. package/lib-module/Box/index.js +2 -0
  77. package/lib-module/Button/Button.js +25 -0
  78. package/lib-module/Button/ButtonBase.js +254 -0
  79. package/lib-module/Button/ButtonGroup.js +164 -0
  80. package/lib-module/Button/ButtonLink.js +39 -0
  81. package/lib-module/Button/index.js +4 -0
  82. package/lib-module/Button/propTypes.js +36 -0
  83. package/lib-module/Card/Card.js +83 -0
  84. package/lib-module/Card/CardBase.js +62 -0
  85. package/lib-module/Card/PressableCardBase.js +113 -0
  86. package/lib-module/Card/index.js +4 -0
  87. package/lib-module/Checkbox/Checkbox.js +321 -0
  88. package/lib-module/Checkbox/CheckboxGroup.js +218 -0
  89. package/lib-module/Checkbox/CheckboxInput.js +58 -0
  90. package/lib-module/Checkbox/CheckboxInput.native.js +6 -0
  91. package/lib-module/Checkbox/index.js +3 -0
  92. package/lib-module/Divider/Divider.js +123 -0
  93. package/lib-module/Divider/index.js +2 -0
  94. package/lib-module/ExpandCollapse/Accordion.js +15 -0
  95. package/lib-module/ExpandCollapse/Control.js +130 -0
  96. package/lib-module/ExpandCollapse/ExpandCollapse.js +94 -0
  97. package/lib-module/ExpandCollapse/Panel.js +158 -0
  98. package/lib-module/ExpandCollapse/index.js +7 -0
  99. package/lib-module/Feedback/Feedback.js +144 -0
  100. package/lib-module/Feedback/index.js +2 -0
  101. package/lib-module/Fieldset/Fieldset.js +145 -0
  102. package/lib-module/Fieldset/FieldsetContainer.js +29 -0
  103. package/lib-module/Fieldset/FieldsetContainer.native.js +20 -0
  104. package/lib-module/Fieldset/Legend.js +21 -0
  105. package/lib-module/Fieldset/Legend.native.js +28 -0
  106. package/lib-module/Fieldset/cssReset.js +14 -0
  107. package/lib-module/Fieldset/index.js +2 -0
  108. package/lib-module/FlexGrid/Col/Col.js +265 -0
  109. package/lib-module/FlexGrid/Col/index.js +2 -0
  110. package/lib-module/FlexGrid/FlexGrid.js +147 -0
  111. package/lib-module/FlexGrid/Row/Row.js +177 -0
  112. package/lib-module/FlexGrid/Row/index.js +2 -0
  113. package/lib-module/FlexGrid/helpers/index.js +18 -0
  114. package/lib-module/FlexGrid/index.js +2 -0
  115. package/lib-module/FlexGrid/providers/GutterContext.js +3 -0
  116. package/lib-module/HorizontalScroll/HorizontalScroll.js +170 -0
  117. package/lib-module/HorizontalScroll/HorizontalScrollButton.js +77 -0
  118. package/lib-module/HorizontalScroll/ScrollViewEnd.js +47 -0
  119. package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +24 -0
  120. package/lib-module/HorizontalScroll/dictionary.js +11 -0
  121. package/lib-module/HorizontalScroll/index.js +11 -0
  122. package/lib-module/HorizontalScroll/itemPositions.js +106 -0
  123. package/lib-module/Icon/Icon.js +61 -0
  124. package/lib-module/Icon/IconText.js +81 -0
  125. package/lib-module/Icon/index.js +4 -0
  126. package/lib-module/IconButton/IconButton.js +115 -0
  127. package/lib-module/IconButton/index.js +2 -0
  128. package/lib-module/InputLabel/InputLabel.js +131 -0
  129. package/lib-module/InputLabel/LabelContent.js +24 -0
  130. package/lib-module/InputLabel/LabelContent.native.js +16 -0
  131. package/lib-module/InputLabel/index.js +2 -0
  132. package/lib-module/InputSupports/InputSupports.js +88 -0
  133. package/lib-module/InputSupports/index.js +2 -0
  134. package/lib-module/InputSupports/useInputSupports.js +31 -0
  135. package/lib-module/Link/ChevronLink.js +51 -0
  136. package/lib-module/Link/InlinePressable.js +37 -0
  137. package/lib-module/Link/InlinePressable.native.js +85 -0
  138. package/lib-module/Link/Link.js +27 -0
  139. package/lib-module/Link/LinkBase.js +210 -0
  140. package/lib-module/Link/TextButton.js +43 -0
  141. package/lib-module/Link/index.js +5 -0
  142. package/lib-module/List/List.js +55 -0
  143. package/lib-module/List/ListItem.js +213 -0
  144. package/lib-module/List/index.js +5 -0
  145. package/lib-module/Modal/Modal.js +208 -0
  146. package/lib-module/Modal/dictionary.js +9 -0
  147. package/lib-module/Modal/index.js +2 -0
  148. package/lib-module/Notification/Notification.js +196 -0
  149. package/lib-module/Notification/dictionary.js +8 -0
  150. package/lib-module/Notification/index.js +2 -0
  151. package/lib-module/Pagination/PageButton.js +65 -0
  152. package/lib-module/Pagination/Pagination.js +140 -0
  153. package/lib-module/Pagination/SideButton.js +103 -0
  154. package/lib-module/Pagination/dictionary.js +18 -0
  155. package/lib-module/Pagination/index.js +2 -0
  156. package/lib-module/Pagination/usePagination.js +72 -0
  157. package/lib-module/Progress/Progress.js +85 -0
  158. package/lib-module/Progress/ProgressBar.js +134 -0
  159. package/lib-module/Progress/ProgressBarBackground.js +41 -0
  160. package/lib-module/Progress/index.js +4 -0
  161. package/lib-module/Radio/Radio.js +263 -0
  162. package/lib-module/Radio/RadioButton.js +128 -0
  163. package/lib-module/Radio/RadioGroup.js +225 -0
  164. package/lib-module/Radio/RadioInput.js +60 -0
  165. package/lib-module/Radio/RadioInput.native.js +6 -0
  166. package/lib-module/Radio/index.js +3 -0
  167. package/lib-module/RadioCard/RadioCard.js +218 -0
  168. package/lib-module/RadioCard/RadioCardGroup.js +232 -0
  169. package/lib-module/RadioCard/index.js +3 -0
  170. package/lib-module/Search/Search.js +233 -0
  171. package/lib-module/Search/dictionary.js +12 -0
  172. package/lib-module/Search/index.js +2 -0
  173. package/lib-module/Select/Group.js +20 -0
  174. package/lib-module/Select/Group.native.js +14 -0
  175. package/lib-module/Select/Item.js +17 -0
  176. package/lib-module/Select/Item.native.js +9 -0
  177. package/lib-module/Select/Picker.js +67 -0
  178. package/lib-module/Select/Picker.native.js +110 -0
  179. package/lib-module/Select/Select.js +317 -0
  180. package/lib-module/Select/index.js +6 -0
  181. package/lib-module/SideNav/Item.js +139 -0
  182. package/lib-module/SideNav/ItemContent.js +45 -0
  183. package/lib-module/SideNav/ItemsGroup.js +115 -0
  184. package/lib-module/SideNav/SideNav.js +133 -0
  185. package/lib-module/SideNav/index.js +1 -0
  186. package/lib-module/Skeleton/Skeleton.js +117 -0
  187. package/lib-module/Skeleton/index.js +2 -0
  188. package/lib-module/Skeleton/skeleton.constant.js +3 -0
  189. package/lib-module/Skeleton/skeletonWebAnimation.js +18 -0
  190. package/lib-module/Skeleton/useSkeletonNativeAnimation.js +24 -0
  191. package/lib-module/Spacer/Spacer.js +97 -0
  192. package/lib-module/Spacer/index.js +2 -0
  193. package/lib-module/StackView/StackView.js +124 -0
  194. package/lib-module/StackView/StackWrap.js +48 -0
  195. package/lib-module/StackView/StackWrap.native.js +3 -0
  196. package/lib-module/StackView/StackWrapBox.js +114 -0
  197. package/lib-module/StackView/StackWrapGap.js +58 -0
  198. package/lib-module/StackView/common.js +32 -0
  199. package/lib-module/StackView/getStackedContent.js +123 -0
  200. package/lib-module/StackView/index.js +5 -0
  201. package/lib-module/StepTracker/Step.js +229 -0
  202. package/lib-module/StepTracker/StepTracker.js +175 -0
  203. package/lib-module/StepTracker/dictionary.js +10 -0
  204. package/lib-module/StepTracker/index.js +2 -0
  205. package/lib-module/Tabs/Tabs.js +113 -0
  206. package/lib-module/Tabs/TabsItem.js +215 -0
  207. package/lib-module/Tabs/index.js +2 -0
  208. package/lib-module/Tags/Tags.js +238 -0
  209. package/lib-module/Tags/index.js +2 -0
  210. package/lib-module/TextInput/TextArea.js +88 -0
  211. package/lib-module/TextInput/TextInput.js +60 -0
  212. package/lib-module/TextInput/TextInputBase.js +233 -0
  213. package/lib-module/TextInput/index.js +3 -0
  214. package/lib-module/TextInput/propTypes.js +31 -0
  215. package/lib-module/ThemeProvider/ThemeProvider.js +35 -0
  216. package/lib-module/ThemeProvider/index.js +6 -0
  217. package/lib-module/ThemeProvider/useSetTheme.js +22 -0
  218. package/lib-module/ThemeProvider/useTheme.js +14 -0
  219. package/lib-module/ThemeProvider/useThemeTokens.js +105 -0
  220. package/lib-module/ThemeProvider/utils/index.js +2 -0
  221. package/lib-module/ThemeProvider/utils/styles.js +174 -0
  222. package/lib-module/ThemeProvider/utils/theme-tokens.js +151 -0
  223. package/lib-module/ToggleSwitch/ToggleSwitch.js +224 -0
  224. package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +202 -0
  225. package/lib-module/ToggleSwitch/index.js +3 -0
  226. package/lib-module/Tooltip/Backdrop.js +52 -0
  227. package/lib-module/Tooltip/Backdrop.native.js +43 -0
  228. package/lib-module/Tooltip/Tooltip.js +332 -0
  229. package/lib-module/Tooltip/dictionary.js +8 -0
  230. package/lib-module/Tooltip/getTooltipPosition.js +164 -0
  231. package/lib-module/Tooltip/index.js +2 -0
  232. package/lib-module/TooltipButton/TooltipButton.js +71 -0
  233. package/lib-module/TooltipButton/index.js +2 -0
  234. package/lib-module/Typography/Typography.js +118 -0
  235. package/lib-module/Typography/index.js +2 -0
  236. package/lib-module/ViewportProvider/ViewportProvider.js +28 -0
  237. package/lib-module/ViewportProvider/index.js +3 -0
  238. package/lib-module/ViewportProvider/useViewport.js +3 -0
  239. package/lib-module/ViewportProvider/useViewportListener.js +43 -0
  240. package/lib-module/index.js +48 -0
  241. package/lib-module/utils/a11y/index.js +2 -0
  242. package/lib-module/utils/a11y/semantics.js +154 -0
  243. package/lib-module/utils/a11y/textSize.js +34 -0
  244. package/lib-module/utils/animation/index.js +2 -0
  245. package/lib-module/utils/animation/useVerticalExpandAnimation.js +49 -0
  246. package/lib-module/utils/children.js +118 -0
  247. package/lib-module/utils/index.js +15 -0
  248. package/lib-module/utils/info/index.js +7 -0
  249. package/lib-module/utils/info/platform/index.js +11 -0
  250. package/lib-module/utils/info/platform/platform.android.js +1 -0
  251. package/lib-module/utils/info/platform/platform.ios.js +1 -0
  252. package/lib-module/utils/info/platform/platform.js +1 -0
  253. package/lib-module/utils/info/platform/platform.native.js +4 -0
  254. package/lib-module/utils/info/versions.js +5 -0
  255. package/lib-module/utils/input.js +180 -0
  256. package/lib-module/utils/pressability.js +97 -0
  257. package/lib-module/utils/props/a11yProps.js +140 -0
  258. package/lib-module/utils/props/clickProps.js +25 -0
  259. package/lib-module/utils/props/componentPropType.js +63 -0
  260. package/lib-module/utils/props/copyPropTypes.js +2 -0
  261. package/lib-module/utils/props/getPropSelector.js +6 -0
  262. package/lib-module/utils/props/hrefAttrsProp.js +30 -0
  263. package/lib-module/utils/props/index.js +16 -0
  264. package/lib-module/utils/props/inputSupportsProps.js +54 -0
  265. package/lib-module/utils/props/linkProps.js +47 -0
  266. package/lib-module/utils/props/paddingProp.js +9 -0
  267. package/lib-module/utils/props/pressProps.js +42 -0
  268. package/lib-module/utils/props/rectProp.js +9 -0
  269. package/lib-module/utils/props/responsiveProps.js +30 -0
  270. package/lib-module/utils/props/selectSystemProps.js +24 -0
  271. package/lib-module/utils/props/spacingProps.js +56 -0
  272. package/lib-module/utils/props/tokens.js +120 -0
  273. package/lib-module/utils/props/variantProp.js +18 -0
  274. package/lib-module/utils/props/viewProps.js +22 -0
  275. package/lib-module/utils/ssr.js +35 -0
  276. package/lib-module/utils/useCopy.js +42 -0
  277. package/lib-module/utils/useHash.js +44 -0
  278. package/lib-module/utils/useHash.native.js +7 -0
  279. package/lib-module/utils/useResponsiveProp.js +47 -0
  280. package/lib-module/utils/useSpacingScale.js +123 -0
  281. package/lib-module/utils/useUniqueId.js +12 -0
  282. package/lib-module/utils/withLinkRouter.js +82 -0
  283. package/package.json +9 -5
  284. package/src/A11yText/index.jsx +7 -3
  285. package/src/ActivityIndicator/Spinner.jsx +56 -44
  286. package/src/ActivityIndicator/Spinner.native.jsx +20 -12
  287. package/src/Box/Box.jsx +10 -9
  288. package/src/Button/ButtonBase.jsx +9 -8
  289. package/src/Card/Card.jsx +7 -4
  290. package/src/Card/PressableCardBase.jsx +12 -12
  291. package/src/Checkbox/Checkbox.jsx +12 -5
  292. package/src/Divider/Divider.jsx +17 -10
  293. package/src/ExpandCollapse/Control.jsx +12 -7
  294. package/src/ExpandCollapse/ExpandCollapse.jsx +13 -3
  295. package/src/ExpandCollapse/Panel.jsx +15 -5
  296. package/src/Feedback/Feedback.jsx +13 -3
  297. package/src/Fieldset/Fieldset.jsx +1 -1
  298. package/src/HorizontalScroll/HorizontalScroll.jsx +13 -6
  299. package/src/HorizontalScroll/HorizontalScrollButton.jsx +21 -58
  300. package/src/IconButton/IconButton.jsx +12 -8
  301. package/src/InputLabel/InputLabel.jsx +16 -2
  302. package/src/InputSupports/InputSupports.jsx +1 -1
  303. package/src/Link/LinkBase.jsx +10 -9
  304. package/src/List/List.jsx +12 -5
  305. package/src/List/ListItem.jsx +16 -2
  306. package/src/Modal/Modal.jsx +63 -50
  307. package/src/Notification/Notification.jsx +23 -6
  308. package/src/Pagination/Pagination.jsx +10 -3
  309. package/src/Progress/Progress.jsx +5 -3
  310. package/src/Progress/ProgressBar.jsx +8 -6
  311. package/src/Radio/Radio.jsx +13 -5
  312. package/src/Radio/RadioButton.jsx +13 -3
  313. package/src/Radio/RadioGroup.jsx +14 -2
  314. package/src/RadioCard/RadioCard.jsx +9 -6
  315. package/src/RadioCard/RadioCardGroup.jsx +16 -4
  316. package/src/Search/Search.jsx +15 -3
  317. package/src/Select/Select.jsx +21 -7
  318. package/src/SideNav/Item.jsx +15 -7
  319. package/src/SideNav/SideNav.jsx +13 -2
  320. package/src/Skeleton/Skeleton.jsx +55 -43
  321. package/src/Spacer/Spacer.jsx +8 -16
  322. package/src/StackView/StackView.jsx +13 -12
  323. package/src/StackView/StackWrapBox.jsx +12 -12
  324. package/src/StackView/StackWrapGap.jsx +9 -7
  325. package/src/StepTracker/Step.jsx +7 -4
  326. package/src/StepTracker/StepTracker.jsx +8 -8
  327. package/src/Tabs/Tabs.jsx +16 -3
  328. package/src/Tabs/TabsItem.jsx +13 -9
  329. package/src/Tags/Tags.jsx +20 -5
  330. package/src/TextInput/TextArea.jsx +20 -8
  331. package/src/TextInput/TextInput.jsx +20 -8
  332. package/src/TextInput/TextInputBase.jsx +13 -3
  333. package/src/ToggleSwitch/ToggleSwitch.jsx +16 -5
  334. package/src/ToggleSwitch/ToggleSwitchGroup.jsx +14 -6
  335. package/src/Tooltip/Tooltip.jsx +13 -3
  336. package/src/TooltipButton/TooltipButton.jsx +6 -4
  337. package/src/Typography/Typography.jsx +10 -6
  338. package/src/index.js +1 -1
  339. package/src/utils/children.jsx +2 -1
  340. package/src/utils/index.js +1 -0
  341. package/src/utils/props/index.js +1 -0
  342. package/src/{InputSupports/propTypes.js → utils/props/inputSupportsProps.js} +2 -4
  343. package/src/utils/ssr.js +35 -0
  344. package/release-context.json +0 -7
@@ -25,18 +25,20 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
25
25
 
26
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; }
27
27
 
28
+ const [selectProps, selectedSystemPropTypes] = (0, _props.selectSystemProps)([_props.a11yProps, _props.viewProps]);
28
29
  /**
29
30
  * A11yText is a zero-size invisible element that adds text to be read by screen readers.
30
31
  *
31
32
  * It should be used to add selectable screen-reader-only text to the main document flow,
32
33
  * as a sibling to blocks of text like paragraphs and interactive elements like buttons.
33
34
  */
35
+
34
36
  const A11yText = /*#__PURE__*/(0, _react.forwardRef)(({
35
37
  text,
36
38
  heading,
37
39
  ...rest
38
40
  }, ref) => {
39
- const a11y = _props.a11yProps.select({
41
+ const selectedProps = selectProps({
40
42
  // On iOS, needs `accessible` to be true to be focusable without non-a11y content.
41
43
  // On Web, `accessible` causes RNW to set attributes that may make the element be treated as a group.
42
44
  // On Android, may cause this to be skipped when with `<Text>` siblings in an `accessible` View,
@@ -46,15 +48,14 @@ const A11yText = /*#__PURE__*/(0, _react.forwardRef)(({
46
48
  accessibilityRole: heading ? 'header' : 'text',
47
49
  ...rest
48
50
  });
49
-
50
51
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
51
52
  style: styles.invisible,
52
53
  ref: ref,
53
- ...a11y
54
+ ...selectedProps
54
55
  });
55
56
  });
56
57
  A11yText.displayName = 'A11yText';
57
- A11yText.propTypes = {
58
+ A11yText.propTypes = { ...selectedSystemPropTypes,
58
59
  text: _propTypes.default.string.isRequired,
59
60
  heading: _propTypes.default.bool
60
61
  };
@@ -9,6 +9,8 @@ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _shared = require("./shared");
11
11
 
12
+ var _A11yInfoProvider = require("../A11yInfoProvider");
13
+
12
14
  var _jsxRuntime = require("react/jsx-runtime");
13
15
 
14
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -37,44 +39,51 @@ const Spinner = /*#__PURE__*/(0, _react.forwardRef)(({
37
39
  color,
38
40
  thickness,
39
41
  label
40
- }, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
41
- ref: ref,
42
- width: `${size}px`,
43
- height: `${size}px`,
44
- viewBox: "0 0 48 48",
45
- "aria-valuetext": label,
46
- role: "progressbar",
47
- "aria-busy": true,
48
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
49
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("animateTransform", {
50
- attributeName: "transform",
51
- type: "rotate",
52
- values: `-180 24 24;${360 + _shared.MIN_STROKE_ANGLE - 180} 24 24`,
53
- ...animationProps
54
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("circle", {
55
- fill: "none",
56
- stroke: color,
57
- strokeWidth: thickness * 48 / size,
58
- strokeLinecap: "round",
59
- cx: "24",
60
- cy: "24",
61
- r: "20",
62
- strokeDasharray: [MIN_SVG_LENGTH, SVG_CIRCUMFERENCE],
63
- strokeDashoffset: 0,
64
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("animate", {
65
- attributeName: "stroke-dashoffset",
66
- values: `0;-10;${MIN_SVG_LENGTH - SVG_CIRCUMFERENCE}`,
67
- ...animationProps,
68
- ...bezierProps
69
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("animate", {
70
- attributeName: "stroke-dasharray",
71
- values: `${MIN_SVG_LENGTH}, 200;${MAX_SVG_LENGTH}, 200;${MIN_SVG_LENGTH}, 200`,
72
- ...animationProps,
73
- ...bezierProps
42
+ }, ref) => {
43
+ const {
44
+ reduceMotionEnabled
45
+ } = (0, _A11yInfoProvider.useA11yInfo)();
46
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
47
+ ref: ref,
48
+ width: `${size}px`,
49
+ height: `${size}px`,
50
+ viewBox: "0 0 48 48",
51
+ "aria-valuetext": label,
52
+ role: "progressbar",
53
+ "aria-busy": true,
54
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
55
+ children: [reduceMotionEnabled ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)("animateTransform", {
56
+ attributeName: "transform",
57
+ type: "rotate",
58
+ values: `-180 24 24;${360 + _shared.MIN_STROKE_ANGLE - 180} 24 24`,
59
+ ...animationProps
60
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
61
+ fill: "none",
62
+ stroke: color,
63
+ strokeWidth: thickness * 48 / size,
64
+ strokeLinecap: "round",
65
+ cx: "24",
66
+ cy: "24",
67
+ r: "20",
68
+ strokeDasharray: reduceMotionEnabled ? MAX_SVG_LENGTH : [MIN_SVG_LENGTH, SVG_CIRCUMFERENCE],
69
+ strokeDashoffset: 0,
70
+ children: reduceMotionEnabled ? null : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
71
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("animate", {
72
+ attributeName: "stroke-dashoffset",
73
+ values: `0;-10;${MIN_SVG_LENGTH - SVG_CIRCUMFERENCE}`,
74
+ ...animationProps,
75
+ ...bezierProps
76
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("animate", {
77
+ attributeName: "stroke-dasharray",
78
+ values: `${MIN_SVG_LENGTH}, 200;${MAX_SVG_LENGTH}, 200;${MIN_SVG_LENGTH}, 200`,
79
+ ...animationProps,
80
+ ...bezierProps
81
+ })]
82
+ })
74
83
  })]
75
- })]
76
- })
77
- }));
84
+ })
85
+ });
86
+ });
78
87
  Spinner.displayName = 'Spinner';
79
88
  Spinner.propTypes = _shared.propTypes;
80
89
  var _default = Spinner;
@@ -17,6 +17,8 @@ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Vi
17
17
 
18
18
  var _shared = require("./shared");
19
19
 
20
+ var _A11yInfoProvider = require("../A11yInfoProvider");
21
+
20
22
  var _jsxRuntime = require("react/jsx-runtime");
21
23
 
22
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -37,6 +39,10 @@ const Spinner = /*#__PURE__*/(0, _react.forwardRef)(({
37
39
  current: timer
38
40
  } = _react.default.useRef(new _Animated.default.Value(0));
39
41
 
42
+ const {
43
+ reduceMotionEnabled
44
+ } = (0, _A11yInfoProvider.useA11yInfo)();
45
+
40
46
  _react.default.useLayoutEffect(() => {
41
47
  const loop = _Animated.default.timing(timer, {
42
48
  duration: _shared.DURATION,
@@ -47,8 +53,8 @@ const Spinner = /*#__PURE__*/(0, _react.forwardRef)(({
47
53
  isInteraction: false
48
54
  });
49
55
 
50
- _Animated.default.loop(loop).start();
51
- }, [timer]);
56
+ if (!reduceMotionEnabled) _Animated.default.loop(loop).start();else loop.stop();
57
+ }, [timer, reduceMotionEnabled]);
52
58
 
53
59
  const frames = 60 * _shared.DURATION / 1000;
54
60
 
@@ -56,9 +62,10 @@ const Spinner = /*#__PURE__*/(0, _react.forwardRef)(({
56
62
 
57
63
  const containerStyle = {
58
64
  width: size,
59
- height: size / 2,
65
+ height: size / (reduceMotionEnabled ? 1.5 : 2),
60
66
  overflow: 'hidden'
61
- }; // Credit to https://github.com/n4kz/react-native-indicators and https://github.com/callstack/react-native-paper for this
67
+ };
68
+ const animationFrequency = reduceMotionEnabled ? [0] : [0, 1]; // Credit to https://github.com/n4kz/react-native-indicators and https://github.com/callstack/react-native-paper for this
62
69
 
63
70
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
64
71
  ref: ref,
@@ -75,7 +82,7 @@ const Spinner = /*#__PURE__*/(0, _react.forwardRef)(({
75
82
  height: size
76
83
  }],
77
84
  collapsable: false,
78
- children: [0, 1].map(index => {
85
+ children: animationFrequency.map(index => {
79
86
  const inputRange = Array.from(new Array(frames), (_, frameIndex) => frameIndex / (frames - 1));
80
87
  const outputRange = Array.from(new Array(frames), (_, frameIndex) => {
81
88
  let progress = 2 * frameIndex / (frames - 1);
@@ -90,26 +97,30 @@ const Spinner = /*#__PURE__*/(0, _react.forwardRef)(({
90
97
  });
91
98
  const layerStyle = {
92
99
  width: size,
93
- height: size,
94
- transform: [{
100
+ height: size
101
+ };
102
+ const viewportStyle = {
103
+ width: size,
104
+ height: size
105
+ };
106
+
107
+ if (!reduceMotionEnabled) {
108
+ layerStyle.transform = [{
95
109
  rotate: timer.interpolate({
96
110
  inputRange: [0, 1],
97
111
  outputRange: [`${0 + ea + sa}deg`, `${2 * 360 + ea + sa}deg`]
98
112
  })
99
- }]
100
- };
101
- const viewportStyle = {
102
- width: size,
103
- height: size,
104
- transform: [{
113
+ }];
114
+ viewportStyle.transform = [{
105
115
  translateY: index ? -size / 2 : 0
106
116
  }, {
107
117
  rotate: timer.interpolate({
108
118
  inputRange,
109
119
  outputRange
110
120
  })
111
- }]
112
- };
121
+ }];
122
+ }
123
+
113
124
  const offsetStyle = index ? {
114
125
  top: size / 2
115
126
  } : null;
package/lib/Box/Box.js CHANGED
@@ -25,12 +25,14 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
25
25
 
26
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; }
27
27
 
28
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
28
29
  /**
29
30
  * @typedef {import('../utils/props/spacingProps.js').SpacingValue} SpacingValue
30
31
  * @typedef {import('../utils/props/spacingProps.js').SpacingIndex} SpacingIndex
31
32
  * @typedef {import('../utils/props/spacingProps.js').SpacingObject} SpacingObject
32
33
  * @typedef {import('../utils/props/spacingProps.js').SpacingOptions} SpacingOptions
33
34
  */
35
+
34
36
  const selectBoxStyles = tokens => {
35
37
  const styles = {
36
38
  backgroundColor: tokens.backgroundColor
@@ -131,8 +133,7 @@ const Box = /*#__PURE__*/(0, _react.forwardRef)(({
131
133
  ...rest
132
134
  }, ref) => {
133
135
  const props = { ...(0, _utils.getA11yPropsFromHtmlTag)(tag, accessibilityRole),
134
- ..._utils.a11yProps.select(rest),
135
- ..._utils.viewProps.select(rest)
136
+ ...selectProps(rest)
136
137
  };
137
138
  const themeTokens = (0, _ThemeProvider.useThemeTokens)('Box', tokens, variant);
138
139
  const styles = {
@@ -165,8 +166,7 @@ const Box = /*#__PURE__*/(0, _react.forwardRef)(({
165
166
  });
166
167
  });
167
168
  Box.displayName = 'Box';
168
- Box.propTypes = { ..._utils.a11yProps.propTypes,
169
- ..._utils.viewProps.types,
169
+ Box.propTypes = { ...selectedSystemPropTypes,
170
170
  variant: _utils.variantProp.propType,
171
171
  tokens: (0, _utils.getTokensPropType)('Box'),
172
172
 
@@ -31,6 +31,8 @@ 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, _utils2.selectSystemProps)([_utils2.a11yProps, _utils2.linkProps, _utils2.viewProps]);
35
+
34
36
  const getOuterBorderOffset = ({
35
37
  outerBorderGap = 0,
36
38
  outerBorderWidth = 0
@@ -181,7 +183,6 @@ const ButtonBase = /*#__PURE__*/(0, _react.forwardRef)(({
181
183
  // alias for inactive
182
184
  inactive = disabled,
183
185
  selected = false,
184
- dataSet,
185
186
  ...rawRest
186
187
  }, ref) => {
187
188
  const {
@@ -196,11 +197,11 @@ const ButtonBase = /*#__PURE__*/(0, _react.forwardRef)(({
196
197
 
197
198
  const resolveButtonTokens = pressableState => (0, _utils2.resolvePressableTokens)(tokens, pressableState, extraButtonState);
198
199
 
199
- const a11y = _utils2.a11yProps.select(rest);
200
+ const systemProps = selectProps(rest);
200
201
 
201
202
  const getPressableStyle = pressableState => {
202
203
  const themeTokens = resolveButtonTokens(pressableState);
203
- return [staticStyles.row, selectWebOnlyStyles(inactive, themeTokens, a11y), selectOuterContainerStyles(themeTokens), selectOuterWidthStyles(themeTokens)];
204
+ return [staticStyles.row, selectWebOnlyStyles(inactive, themeTokens, systemProps), selectOuterContainerStyles(themeTokens), selectOuterWidthStyles(themeTokens)];
204
205
  };
205
206
 
206
207
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default, {
@@ -212,9 +213,8 @@ const ButtonBase = /*#__PURE__*/(0, _react.forwardRef)(({
212
213
  }),
213
214
  style: getPressableStyle,
214
215
  disabled: inactive,
215
- dataSet: dataSet,
216
216
  hrefAttrs: hrefAttrs,
217
- ...a11y,
217
+ ...systemProps,
218
218
  children: pressableState => {
219
219
  const themeTokens = resolveButtonTokens(pressableState);
220
220
  const containerStyles = selectInnerContainerStyles(themeTokens);
@@ -245,9 +245,8 @@ const ButtonBase = /*#__PURE__*/(0, _react.forwardRef)(({
245
245
  ButtonBase.displayName = 'ButtonBase';
246
246
  ButtonBase.propTypes = {
247
247
  id: _propTypes.default.string,
248
- ..._utils2.a11yProps.types,
249
- ..._propTypes2.default,
250
- ..._utils2.linkProps.types
248
+ ...selectedSystemPropTypes,
249
+ ..._propTypes2.default
251
250
  };
252
251
  ButtonBase.defaultProps = {
253
252
  id: undefined
package/lib/Card/Card.js CHANGED
@@ -23,6 +23,7 @@ var _jsxRuntime = require("react/jsx-runtime");
23
23
 
24
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
25
 
26
+ const [selectProps, selectedSystemPropTypes] = (0, _props.selectSystemProps)([_props.a11yProps, _props.viewProps]);
26
27
  /**
27
28
  * A basic card component, unstyled by default.
28
29
  *
@@ -71,6 +72,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
71
72
  * you automatically make inaccessible its children, which may or may not be appropriate
72
73
  * depending on what you are trying to achieve.
73
74
  */
75
+
74
76
  const Card = ({
75
77
  children,
76
78
  tokens,
@@ -85,16 +87,15 @@ const Card = ({
85
87
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardBase.default, {
86
88
  tokens: themeTokens,
87
89
  dataSet: dataSet,
88
- ...rest,
90
+ ...selectProps(rest),
89
91
  children: children
90
92
  });
91
93
  };
92
94
 
93
- Card.propTypes = {
95
+ Card.propTypes = { ...selectedSystemPropTypes,
94
96
  children: _propTypes.default.node,
95
97
  tokens: (0, _utils.getTokensPropType)('Card'),
96
- variant: _utils.variantProp.propType,
97
- ..._props.a11yProps.types
98
+ variant: _utils.variantProp.propType
98
99
  };
99
100
  var _default = Card;
100
101
  exports.default = _default;
@@ -19,8 +19,6 @@ var _ThemeProvider = require("../ThemeProvider");
19
19
 
20
20
  var _utils = require("../utils");
21
21
 
22
- var _props = require("../utils/props");
23
-
24
22
  var _CardBase = _interopRequireDefault(require("./CardBase"));
25
23
 
26
24
  var _jsxRuntime = require("react/jsx-runtime");
@@ -31,6 +29,7 @@ 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]);
34
33
  const tokenKeys = [...(0, _utils.getTokenNames)('Card'), // Outer border tokens. TODO: centralise common token sets like these as part of
35
34
  // https://github.com/telus/universal-design-system/issues/782
36
35
  'outerBorderColor', 'outerBorderWidth', 'outerBorderGap'];
@@ -61,11 +60,6 @@ const PressableCardBase = /*#__PURE__*/(0, _react.forwardRef)(({
61
60
  } = _utils.clickProps.toPressProps(rawRest);
62
61
 
63
62
  const viewport = (0, _ViewportProvider.useViewport)();
64
-
65
- const a11y = _props.a11yProps.select({ ...rest,
66
- accessibilityRole
67
- });
68
-
69
63
  const additionalState = {
70
64
  checked,
71
65
  validation,
@@ -124,7 +118,9 @@ const PressableCardBase = /*#__PURE__*/(0, _react.forwardRef)(({
124
118
  onKeyDown: handleKeyDown,
125
119
  hrefAttrs: hrefAttrs,
126
120
  style: getOuterBorderStyle,
127
- ...a11y,
121
+ ...selectProps({ ...rest,
122
+ accessibilityRole
123
+ }),
128
124
  children: pressableState => /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardBase.default, {
129
125
  tokens: getCardTokens(pressableState),
130
126
  children: typeof children === 'function' ? children(getCardState(pressableState)) : children
@@ -132,14 +128,13 @@ const PressableCardBase = /*#__PURE__*/(0, _react.forwardRef)(({
132
128
  });
133
129
  });
134
130
  PressableCardBase.displayName = 'PressableCardBase';
135
- PressableCardBase.propTypes = {
131
+ PressableCardBase.propTypes = { ...selectedSystemPropTypes,
136
132
  children: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.node]),
137
133
  tokens: (0, _utils.getTokensSetPropType)(tokenKeys, {
138
134
  requireAll: true,
139
135
  allowFunction: true
140
136
  }),
141
- variant: _utils.variantProp.propType,
142
- ..._props.a11yProps.types
137
+ variant: _utils.variantProp.propType
143
138
  };
144
139
 
145
140
  var _default = (0, _utils.withLinkRouter)(PressableCardBase);
@@ -31,8 +31,6 @@ var _ThemeProvider = require("../ThemeProvider");
31
31
 
32
32
  var _utils = require("../utils");
33
33
 
34
- var _props = require("../utils/props");
35
-
36
34
  var _useUniqueId = _interopRequireDefault(require("../utils/useUniqueId"));
37
35
 
38
36
  var _jsxRuntime = require("react/jsx-runtime");
@@ -43,6 +41,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
43
41
 
44
42
  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; }
45
43
 
44
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
45
+
46
46
  const selectInputStyles = ({
47
47
  iconBackgroundColor,
48
48
  inputBorderColor,
@@ -200,8 +200,6 @@ const Checkbox = /*#__PURE__*/(0, _react.forwardRef)(({
200
200
  if ((event === null || event === void 0 ? void 0 : event.key) === ' ') handleChange(event);
201
201
  };
202
202
 
203
- const accessibilityProps = _props.a11yProps.select(rest);
204
-
205
203
  const uniqueId = (0, _useUniqueId.default)('checkbox');
206
204
  const inputId = id ?? uniqueId;
207
205
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
@@ -219,7 +217,7 @@ const Checkbox = /*#__PURE__*/(0, _react.forwardRef)(({
219
217
  checked: isChecked,
220
218
  disabled: inactive
221
219
  },
222
- ...accessibilityProps,
220
+ ...selectProps(rest),
223
221
  children: ({
224
222
  focused: focus,
225
223
  hovered: hover,
@@ -273,7 +271,7 @@ const Checkbox = /*#__PURE__*/(0, _react.forwardRef)(({
273
271
  });
274
272
  });
275
273
  Checkbox.displayName = 'Checkbox';
276
- Checkbox.propTypes = { ..._props.a11yProps.propTypes,
274
+ Checkbox.propTypes = { ...selectedSystemPropTypes,
277
275
 
278
276
  /**
279
277
  * Use `checked` for controlled Checkbox. For uncontrolled Checkbox, use the `defaultChecked` prop.
@@ -29,6 +29,7 @@ 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
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
32
33
  /**
33
34
  * @typedef {import('../utils/props/spacingProps.js').SpacingIndex} SpacingIndex
34
35
  * @typedef {import('../utils/props/spacingProps.js').SpacingObject} SpacingObject
@@ -70,12 +71,13 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
70
71
  *
71
72
  * For accessibility purposes a divider component will be described with ARIA attributes, i.e. `role="separator"` and `aria-orientation="vertical/horizontal"`.
72
73
  */
74
+
73
75
  const Divider = /*#__PURE__*/(0, _react.forwardRef)(({
74
76
  variant,
75
77
  vertical = false,
76
78
  space,
77
79
  tokens,
78
- testID
80
+ ...rest
79
81
  }, ref) => {
80
82
  const {
81
83
  color,
@@ -94,11 +96,17 @@ const Divider = /*#__PURE__*/(0, _react.forwardRef)(({
94
96
  accessibilityRole: 'separator'
95
97
  } : // There are no such equivalent attributes for native
96
98
  {};
99
+ const {
100
+ testID,
101
+ ...selectedProps
102
+ } = selectProps({ ...a11y,
103
+ ...rest
104
+ });
97
105
  const divider = /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
98
106
  ref: ref,
99
107
  style: [styles.divider, borderStyles],
100
108
  testID: testID,
101
- ...a11y
109
+ ...selectedProps
102
110
  });
103
111
  if (!space) return divider;
104
112
  const spacerProps = {
@@ -114,7 +122,7 @@ const Divider = /*#__PURE__*/(0, _react.forwardRef)(({
114
122
  });
115
123
  });
116
124
  Divider.displayName = 'Divider';
117
- Divider.propTypes = {
125
+ Divider.propTypes = { ...selectedSystemPropTypes,
118
126
  tokens: (0, _utils.getTokensPropType)('Divider'),
119
127
  space: _utils.spacingProps.types.spacingValue,
120
128
  variant: _utils.variantProp.propType,
@@ -123,14 +131,7 @@ Divider.propTypes = {
123
131
  * By default, the divider is a horizontal line the full width of its parent.
124
132
  * With `vertical` prop and when inside a container with { flexDirection: row }, draws a full height vertical line.
125
133
  */
126
- vertical: _propTypes.default.bool,
127
-
128
- /**
129
- * @ignore
130
- * In tests, the only way to select dividers is with testID prop and getByTestId, since they have no content,
131
- * no accessibility role on native, and there is no equivalent of nextSibling in React Native Testing Library.
132
- */
133
- testID: _propTypes.default.string
134
+ vertical: _propTypes.default.bool
134
135
  };
135
136
 
136
137
  const styles = _StyleSheet.default.create({
@@ -25,6 +25,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
25
25
 
26
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; }
27
27
 
28
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
29
+
28
30
  function selectContainerStyles({
29
31
  backgroundColor,
30
32
  borderColor,
@@ -77,15 +79,13 @@ const ExpandCollapseControl = /*#__PURE__*/(0, _react.forwardRef)(({
77
79
  tokens,
78
80
  accessibilityRole = 'button',
79
81
  variant,
80
- rest
82
+ ...rest
81
83
  }, ref) => {
82
84
  const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('ExpandCollapseControl', tokens, variant);
83
-
84
- const a11y = _utils.a11yProps.select({ ...rest,
85
+ const selectedProps = selectProps({ ...rest,
85
86
  accessibilityRole
86
87
  });
87
-
88
- a11y.accessibilityState = { ...(a11y.accessibilityState || {}),
88
+ selectedProps.accessibilityState = { ...(selectedProps.accessibilityState || {}),
89
89
  expanded: isExpanded
90
90
  };
91
91
 
@@ -106,7 +106,7 @@ const ExpandCollapseControl = /*#__PURE__*/(0, _react.forwardRef)(({
106
106
 
107
107
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default, {
108
108
  ref: ref,
109
- ...a11y,
109
+ ...selectedProps,
110
110
  onPress: onPress,
111
111
  style: getPressableStyle,
112
112
  children: pressableState => {
@@ -125,7 +125,7 @@ const ExpandCollapseControl = /*#__PURE__*/(0, _react.forwardRef)(({
125
125
  });
126
126
  });
127
127
  ExpandCollapseControl.displayName = 'ExpandCollapseControl';
128
- ExpandCollapseControl.propTypes = { ..._utils.a11yProps.propTypes,
128
+ ExpandCollapseControl.propTypes = { ...selectedSystemPropTypes,
129
129
  tokens: (0, _utils.getTokensPropType)('ExpandCollapseControl'),
130
130
  variant: _utils.variantProp.propType,
131
131
 
@@ -23,6 +23,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
23
23
 
24
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; }
25
25
 
26
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
27
+
26
28
  function selectBorderStyles(tokens) {
27
29
  return {
28
30
  borderBottomWidth: tokens.borderWidth,
@@ -46,7 +48,8 @@ const ExpandCollapse = /*#__PURE__*/(0, _react.forwardRef)(({
46
48
  maxOpen,
47
49
  open,
48
50
  initialOpen,
49
- onChange
51
+ onChange,
52
+ ...rest
50
53
  }, ref) => {
51
54
  const {
52
55
  currentValues: openIds,
@@ -64,6 +67,7 @@ const ExpandCollapse = /*#__PURE__*/(0, _react.forwardRef)(({
64
67
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
65
68
  ref: ref,
66
69
  style: selectBorderStyles(themeTokens),
70
+ ...selectProps(rest),
67
71
  children: typeof children === 'function' ? children({
68
72
  openIds,
69
73
  onToggle,
@@ -74,7 +78,7 @@ const ExpandCollapse = /*#__PURE__*/(0, _react.forwardRef)(({
74
78
  });
75
79
  });
76
80
  ExpandCollapse.displayName = 'ExpandCollapse';
77
- ExpandCollapse.propTypes = {
81
+ ExpandCollapse.propTypes = { ...selectedSystemPropTypes,
78
82
  variant: _utils.variantProp.propType,
79
83
  tokens: (0, _utils.getTokensPropType)('ExpandCollapse'),
80
84
 
@@ -31,7 +31,8 @@ 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
- // just void functions for now, since there are no style tokens for a panel or control at this point
34
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]); // just void functions for now, since there are no style tokens for a panel or control at this point
35
+
35
36
  const selectGroupStyles = () => {};
36
37
 
37
38
  const selectContainerStyles = ({
@@ -71,10 +72,8 @@ const ExpandCollapsePanel = /*#__PURE__*/(0, _react.forwardRef)(({
71
72
  }, ref) => {
72
73
  const [containerHeight, setContainerHeight] = (0, _react.useState)(null);
73
74
  const isExpanded = openIds.includes(panelId);
74
-
75
- const a11y = _utils.a11yProps.select(rest);
76
-
77
- a11y.accessibilityState = { ...(a11y.accessibilityState || {}),
75
+ const selectedProps = selectProps(rest);
76
+ selectedProps.accessibilityState = { ...(selectedProps.accessibilityState || {}),
78
77
  expanded: isExpanded
79
78
  };
80
79
  const themeTokens = (0, _ThemeProvider.useThemeTokens)('ExpandCollapsePanel', tokens, variant, {
@@ -112,7 +111,7 @@ const ExpandCollapsePanel = /*#__PURE__*/(0, _react.forwardRef)(({
112
111
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
113
112
  ref: ref,
114
113
  style: selectGroupStyles(themeTokens),
115
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Control.default, { ...a11y,
114
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Control.default, { ...selectedProps,
116
115
  isExpanded: isExpanded,
117
116
  tokens: controlTokens,
118
117
  onPress: handleControlPress,
@@ -132,7 +131,7 @@ const ExpandCollapsePanel = /*#__PURE__*/(0, _react.forwardRef)(({
132
131
  });
133
132
  });
134
133
  ExpandCollapsePanel.displayName = 'ExpandCollapsePanel';
135
- ExpandCollapsePanel.propTypes = {
134
+ ExpandCollapsePanel.propTypes = { ...selectedSystemPropTypes,
136
135
  variant: _utils.variantProp.propType,
137
136
  tokens: (0, _utils.getTokensPropType)('ExpandCollapsePanel'),
138
137