@telus-uds/components-base 1.2.0 → 1.4.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 (415) hide show
  1. package/.turbo/turbo-build.log +8 -0
  2. package/CHANGELOG.json +61 -0
  3. package/CHANGELOG.md +45 -2
  4. package/__tests__/ActivityIndicator/ActivityIndicator.test.jsx +35 -0
  5. package/__tests__/ActivityIndicator/__snapshots__/ActivityIndicator.test.jsx.snap +287 -0
  6. package/__tests__/FlexGrid/Col.test.jsx +6 -10
  7. package/__tests__/utils/props.test.js +36 -0
  8. package/__tests__/utils/semantics.test.jsx +1 -10
  9. package/babel.config.js +27 -5
  10. package/component-docs.json +170 -494
  11. package/generate-component-docs.js +3 -0
  12. package/lib/A11yText/index.js +6 -5
  13. package/lib/ActivityIndicator/Spinner.js +46 -37
  14. package/lib/ActivityIndicator/Spinner.native.js +26 -15
  15. package/lib/ActivityIndicator/index.js +3 -3
  16. package/lib/Box/Box.js +8 -8
  17. package/lib/Button/Button.js +2 -2
  18. package/lib/Button/ButtonBase.js +7 -8
  19. package/lib/Button/ButtonGroup.js +10 -12
  20. package/lib/Button/ButtonLink.js +4 -4
  21. package/lib/Button/propTypes.js +4 -2
  22. package/lib/Card/Card.js +6 -5
  23. package/lib/Card/CardBase.js +6 -9
  24. package/lib/Card/PressableCardBase.js +6 -11
  25. package/lib/Checkbox/Checkbox.js +4 -6
  26. package/lib/Divider/Divider.js +14 -13
  27. package/lib/ExpandCollapse/Control.js +7 -7
  28. package/lib/ExpandCollapse/ExpandCollapse.js +6 -2
  29. package/lib/ExpandCollapse/Panel.js +6 -7
  30. package/lib/Feedback/Feedback.js +6 -5
  31. package/lib/Fieldset/Fieldset.js +1 -3
  32. package/lib/FlexGrid/FlexGrid.js +4 -4
  33. package/lib/FlexGrid/helpers/index.js +1 -4
  34. package/lib/HorizontalScroll/HorizontalScroll.js +5 -6
  35. package/lib/IconButton/IconButton.js +6 -6
  36. package/lib/InputLabel/InputLabel.js +7 -2
  37. package/lib/InputSupports/InputSupports.js +2 -2
  38. package/lib/Link/LinkBase.js +12 -13
  39. package/lib/List/List.js +4 -6
  40. package/lib/List/ListItem.js +6 -2
  41. package/lib/Modal/Modal.js +6 -2
  42. package/lib/Notification/Notification.js +12 -8
  43. package/lib/Pagination/Pagination.js +8 -3
  44. package/lib/Progress/Progress.js +5 -4
  45. package/lib/Progress/ProgressBar.js +8 -7
  46. package/lib/Radio/Radio.js +4 -6
  47. package/lib/Radio/RadioButton.js +6 -3
  48. package/lib/Radio/RadioGroup.js +7 -2
  49. package/lib/RadioCard/RadioCard.js +4 -4
  50. package/lib/RadioCard/RadioCardGroup.js +9 -6
  51. package/lib/Search/Search.js +7 -2
  52. package/lib/Select/Select.js +10 -9
  53. package/lib/SideNav/Item.js +7 -7
  54. package/lib/SideNav/SideNav.js +7 -3
  55. package/lib/Skeleton/Skeleton.js +6 -2
  56. package/lib/Spacer/Spacer.js +9 -20
  57. package/lib/StackView/StackView.js +7 -7
  58. package/lib/StackView/StackWrapBox.js +6 -7
  59. package/lib/StackView/StackWrapGap.js +6 -5
  60. package/lib/StackView/getStackedContent.js +1 -1
  61. package/lib/StepTracker/Step.js +7 -3
  62. package/lib/StepTracker/StepTracker.js +7 -7
  63. package/lib/Tabs/Tabs.js +6 -2
  64. package/lib/Tabs/TabsItem.js +6 -5
  65. package/lib/Tags/Tags.js +11 -12
  66. package/lib/TextInput/TextArea.js +13 -14
  67. package/lib/TextInput/TextInput.js +13 -14
  68. package/lib/TextInput/TextInputBase.js +5 -3
  69. package/lib/ThemeProvider/useThemeTokens.js +3 -3
  70. package/lib/ThemeProvider/utils/theme-tokens.js +3 -3
  71. package/lib/ToggleSwitch/ToggleSwitch.js +10 -9
  72. package/lib/ToggleSwitch/ToggleSwitchGroup.js +10 -12
  73. package/lib/Tooltip/Tooltip.js +7 -2
  74. package/lib/TooltipButton/TooltipButton.js +7 -2
  75. package/lib/Typography/Typography.js +8 -6
  76. package/lib/index.js +7 -0
  77. package/lib/utils/a11y/semantics.js +4 -3
  78. package/lib/utils/children.js +5 -1
  79. package/lib/utils/index.js +18 -4
  80. package/lib/utils/pressability.js +2 -2
  81. package/lib/utils/props/a11yProps.js +153 -0
  82. package/lib/utils/props/clickProps.js +36 -0
  83. package/lib/utils/props/componentPropType.js +70 -0
  84. package/lib/utils/props/copyPropTypes.js +14 -0
  85. package/lib/utils/props/getPropSelector.js +13 -0
  86. package/lib/utils/props/hrefAttrsProp.js +41 -0
  87. package/lib/utils/props/index.js +158 -0
  88. package/lib/{InputSupports/propTypes.js → utils/props/inputSupportsProps.js} +2 -3
  89. package/lib/utils/props/linkProps.js +64 -0
  90. package/lib/utils/props/paddingProp.js +20 -0
  91. package/lib/utils/props/pressProps.js +57 -0
  92. package/lib/utils/props/rectProp.js +20 -0
  93. package/lib/utils/props/responsiveProps.js +40 -0
  94. package/lib/utils/props/selectSystemProps.js +31 -0
  95. package/lib/utils/props/spacingProps.js +71 -0
  96. package/lib/utils/props/tokens.js +145 -0
  97. package/lib/utils/props/variantProp.js +28 -0
  98. package/lib/utils/props/viewProps.js +34 -0
  99. package/lib/utils/ssr.js +51 -0
  100. package/lib/utils/useResponsiveProp.js +1 -1
  101. package/lib/utils/useSpacingScale.js +4 -4
  102. package/lib-module/A11yInfoProvider/index.js +62 -0
  103. package/lib-module/A11yText/index.js +55 -0
  104. package/lib-module/ActivityIndicator/Spinner.js +76 -0
  105. package/lib-module/ActivityIndicator/Spinner.native.js +143 -0
  106. package/lib-module/ActivityIndicator/index.js +40 -0
  107. package/lib-module/ActivityIndicator/shared.js +12 -0
  108. package/lib-module/BaseProvider/index.js +26 -0
  109. package/lib-module/Box/Box.js +243 -0
  110. package/lib-module/Box/index.js +2 -0
  111. package/lib-module/Button/Button.js +25 -0
  112. package/lib-module/Button/ButtonBase.js +254 -0
  113. package/lib-module/Button/ButtonGroup.js +164 -0
  114. package/lib-module/Button/ButtonLink.js +39 -0
  115. package/lib-module/Button/index.js +4 -0
  116. package/lib-module/Button/propTypes.js +36 -0
  117. package/lib-module/Card/Card.js +83 -0
  118. package/lib-module/Card/CardBase.js +62 -0
  119. package/lib-module/Card/PressableCardBase.js +113 -0
  120. package/lib-module/Card/index.js +4 -0
  121. package/lib-module/Checkbox/Checkbox.js +321 -0
  122. package/lib-module/Checkbox/CheckboxGroup.js +218 -0
  123. package/lib-module/Checkbox/CheckboxInput.js +58 -0
  124. package/lib-module/Checkbox/CheckboxInput.native.js +6 -0
  125. package/lib-module/Checkbox/index.js +3 -0
  126. package/lib-module/Divider/Divider.js +123 -0
  127. package/lib-module/Divider/index.js +2 -0
  128. package/lib-module/ExpandCollapse/Accordion.js +15 -0
  129. package/lib-module/ExpandCollapse/Control.js +130 -0
  130. package/lib-module/ExpandCollapse/ExpandCollapse.js +94 -0
  131. package/lib-module/ExpandCollapse/Panel.js +158 -0
  132. package/lib-module/ExpandCollapse/index.js +7 -0
  133. package/lib-module/Feedback/Feedback.js +144 -0
  134. package/lib-module/Feedback/index.js +2 -0
  135. package/lib-module/Fieldset/Fieldset.js +145 -0
  136. package/lib-module/Fieldset/FieldsetContainer.js +29 -0
  137. package/lib-module/Fieldset/FieldsetContainer.native.js +20 -0
  138. package/lib-module/Fieldset/Legend.js +21 -0
  139. package/lib-module/Fieldset/Legend.native.js +28 -0
  140. package/lib-module/Fieldset/cssReset.js +14 -0
  141. package/lib-module/Fieldset/index.js +2 -0
  142. package/lib-module/FlexGrid/Col/Col.js +265 -0
  143. package/lib-module/FlexGrid/Col/index.js +2 -0
  144. package/lib-module/FlexGrid/FlexGrid.js +147 -0
  145. package/lib-module/FlexGrid/Row/Row.js +177 -0
  146. package/lib-module/FlexGrid/Row/index.js +2 -0
  147. package/lib-module/FlexGrid/helpers/index.js +18 -0
  148. package/lib-module/FlexGrid/index.js +2 -0
  149. package/lib-module/FlexGrid/providers/GutterContext.js +3 -0
  150. package/lib-module/HorizontalScroll/HorizontalScroll.js +171 -0
  151. package/lib-module/HorizontalScroll/HorizontalScrollButton.js +102 -0
  152. package/lib-module/HorizontalScroll/ScrollViewEnd.js +47 -0
  153. package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +24 -0
  154. package/lib-module/HorizontalScroll/dictionary.js +11 -0
  155. package/lib-module/HorizontalScroll/index.js +11 -0
  156. package/lib-module/HorizontalScroll/itemPositions.js +106 -0
  157. package/lib-module/Icon/Icon.js +61 -0
  158. package/lib-module/Icon/IconText.js +81 -0
  159. package/lib-module/Icon/index.js +4 -0
  160. package/lib-module/IconButton/IconButton.js +115 -0
  161. package/lib-module/IconButton/index.js +2 -0
  162. package/lib-module/InputLabel/InputLabel.js +131 -0
  163. package/lib-module/InputLabel/LabelContent.js +24 -0
  164. package/lib-module/InputLabel/LabelContent.native.js +16 -0
  165. package/lib-module/InputLabel/index.js +2 -0
  166. package/lib-module/InputSupports/InputSupports.js +88 -0
  167. package/lib-module/InputSupports/index.js +2 -0
  168. package/lib-module/InputSupports/useInputSupports.js +31 -0
  169. package/lib-module/Link/ChevronLink.js +51 -0
  170. package/lib-module/Link/InlinePressable.js +37 -0
  171. package/lib-module/Link/InlinePressable.native.js +85 -0
  172. package/lib-module/Link/Link.js +27 -0
  173. package/lib-module/Link/LinkBase.js +210 -0
  174. package/lib-module/Link/TextButton.js +43 -0
  175. package/lib-module/Link/index.js +5 -0
  176. package/lib-module/List/List.js +55 -0
  177. package/lib-module/List/ListItem.js +213 -0
  178. package/lib-module/List/index.js +5 -0
  179. package/lib-module/Modal/Modal.js +208 -0
  180. package/lib-module/Modal/dictionary.js +9 -0
  181. package/lib-module/Modal/index.js +2 -0
  182. package/lib-module/Notification/Notification.js +196 -0
  183. package/lib-module/Notification/dictionary.js +8 -0
  184. package/lib-module/Notification/index.js +2 -0
  185. package/lib-module/Pagination/PageButton.js +65 -0
  186. package/lib-module/Pagination/Pagination.js +140 -0
  187. package/lib-module/Pagination/SideButton.js +103 -0
  188. package/lib-module/Pagination/dictionary.js +18 -0
  189. package/lib-module/Pagination/index.js +2 -0
  190. package/lib-module/Pagination/usePagination.js +72 -0
  191. package/lib-module/Progress/Progress.js +85 -0
  192. package/lib-module/Progress/ProgressBar.js +134 -0
  193. package/lib-module/Progress/ProgressBarBackground.js +41 -0
  194. package/lib-module/Progress/index.js +4 -0
  195. package/lib-module/Radio/Radio.js +263 -0
  196. package/lib-module/Radio/RadioButton.js +128 -0
  197. package/lib-module/Radio/RadioGroup.js +225 -0
  198. package/lib-module/Radio/RadioInput.js +60 -0
  199. package/lib-module/Radio/RadioInput.native.js +6 -0
  200. package/lib-module/Radio/index.js +3 -0
  201. package/lib-module/RadioCard/RadioCard.js +218 -0
  202. package/lib-module/RadioCard/RadioCardGroup.js +232 -0
  203. package/lib-module/RadioCard/index.js +3 -0
  204. package/lib-module/Search/Search.js +233 -0
  205. package/lib-module/Search/dictionary.js +12 -0
  206. package/lib-module/Search/index.js +2 -0
  207. package/lib-module/Select/Group.js +20 -0
  208. package/lib-module/Select/Group.native.js +14 -0
  209. package/lib-module/Select/Item.js +17 -0
  210. package/lib-module/Select/Item.native.js +9 -0
  211. package/lib-module/Select/Picker.js +67 -0
  212. package/lib-module/Select/Picker.native.js +110 -0
  213. package/lib-module/Select/Select.js +317 -0
  214. package/lib-module/Select/index.js +6 -0
  215. package/lib-module/SideNav/Item.js +139 -0
  216. package/lib-module/SideNav/ItemContent.js +45 -0
  217. package/lib-module/SideNav/ItemsGroup.js +115 -0
  218. package/lib-module/SideNav/SideNav.js +133 -0
  219. package/lib-module/SideNav/index.js +1 -0
  220. package/lib-module/Skeleton/Skeleton.js +117 -0
  221. package/lib-module/Skeleton/index.js +2 -0
  222. package/lib-module/Skeleton/skeleton.constant.js +3 -0
  223. package/lib-module/Skeleton/skeletonWebAnimation.js +18 -0
  224. package/lib-module/Skeleton/useSkeletonNativeAnimation.js +24 -0
  225. package/lib-module/Spacer/Spacer.js +97 -0
  226. package/lib-module/Spacer/index.js +2 -0
  227. package/lib-module/StackView/StackView.js +124 -0
  228. package/lib-module/StackView/StackWrap.js +48 -0
  229. package/lib-module/StackView/StackWrap.native.js +3 -0
  230. package/lib-module/StackView/StackWrapBox.js +114 -0
  231. package/lib-module/StackView/StackWrapGap.js +58 -0
  232. package/lib-module/StackView/common.js +32 -0
  233. package/lib-module/StackView/getStackedContent.js +123 -0
  234. package/lib-module/StackView/index.js +5 -0
  235. package/lib-module/StepTracker/Step.js +229 -0
  236. package/lib-module/StepTracker/StepTracker.js +175 -0
  237. package/lib-module/StepTracker/dictionary.js +10 -0
  238. package/lib-module/StepTracker/index.js +2 -0
  239. package/lib-module/Tabs/Tabs.js +113 -0
  240. package/lib-module/Tabs/TabsItem.js +215 -0
  241. package/lib-module/Tabs/index.js +2 -0
  242. package/lib-module/Tags/Tags.js +238 -0
  243. package/lib-module/Tags/index.js +2 -0
  244. package/lib-module/TextInput/TextArea.js +88 -0
  245. package/lib-module/TextInput/TextInput.js +60 -0
  246. package/lib-module/TextInput/TextInputBase.js +233 -0
  247. package/lib-module/TextInput/index.js +3 -0
  248. package/lib-module/TextInput/propTypes.js +31 -0
  249. package/lib-module/ThemeProvider/ThemeProvider.js +35 -0
  250. package/lib-module/ThemeProvider/index.js +6 -0
  251. package/lib-module/ThemeProvider/useSetTheme.js +22 -0
  252. package/lib-module/ThemeProvider/useTheme.js +14 -0
  253. package/lib-module/ThemeProvider/useThemeTokens.js +105 -0
  254. package/lib-module/ThemeProvider/utils/index.js +2 -0
  255. package/lib-module/ThemeProvider/utils/styles.js +174 -0
  256. package/lib-module/ThemeProvider/utils/theme-tokens.js +151 -0
  257. package/lib-module/ToggleSwitch/ToggleSwitch.js +224 -0
  258. package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +202 -0
  259. package/lib-module/ToggleSwitch/index.js +3 -0
  260. package/lib-module/Tooltip/Backdrop.js +52 -0
  261. package/lib-module/Tooltip/Backdrop.native.js +43 -0
  262. package/lib-module/Tooltip/Tooltip.js +332 -0
  263. package/lib-module/Tooltip/dictionary.js +8 -0
  264. package/lib-module/Tooltip/getTooltipPosition.js +164 -0
  265. package/lib-module/Tooltip/index.js +2 -0
  266. package/lib-module/TooltipButton/TooltipButton.js +71 -0
  267. package/lib-module/TooltipButton/index.js +2 -0
  268. package/lib-module/Typography/Typography.js +118 -0
  269. package/lib-module/Typography/index.js +2 -0
  270. package/lib-module/ViewportProvider/ViewportProvider.js +28 -0
  271. package/lib-module/ViewportProvider/index.js +3 -0
  272. package/lib-module/ViewportProvider/useViewport.js +3 -0
  273. package/lib-module/ViewportProvider/useViewportListener.js +43 -0
  274. package/lib-module/index.js +48 -0
  275. package/lib-module/utils/a11y/index.js +2 -0
  276. package/lib-module/utils/a11y/semantics.js +154 -0
  277. package/lib-module/utils/a11y/textSize.js +34 -0
  278. package/lib-module/utils/animation/index.js +2 -0
  279. package/lib-module/utils/animation/useVerticalExpandAnimation.js +49 -0
  280. package/lib-module/utils/children.js +118 -0
  281. package/lib-module/utils/index.js +15 -0
  282. package/lib-module/utils/info/index.js +7 -0
  283. package/lib-module/utils/info/platform/index.js +11 -0
  284. package/lib-module/utils/info/platform/platform.android.js +1 -0
  285. package/lib-module/utils/info/platform/platform.ios.js +1 -0
  286. package/lib-module/utils/info/platform/platform.js +1 -0
  287. package/lib-module/utils/info/platform/platform.native.js +4 -0
  288. package/lib-module/utils/info/versions.js +5 -0
  289. package/lib-module/utils/input.js +180 -0
  290. package/lib-module/utils/pressability.js +97 -0
  291. package/lib-module/utils/props/a11yProps.js +140 -0
  292. package/lib-module/utils/props/clickProps.js +25 -0
  293. package/lib-module/utils/props/componentPropType.js +63 -0
  294. package/lib-module/utils/props/copyPropTypes.js +2 -0
  295. package/lib-module/utils/props/getPropSelector.js +6 -0
  296. package/lib-module/utils/props/hrefAttrsProp.js +30 -0
  297. package/lib-module/utils/props/index.js +16 -0
  298. package/lib-module/utils/props/inputSupportsProps.js +54 -0
  299. package/lib-module/utils/props/linkProps.js +47 -0
  300. package/lib-module/utils/props/paddingProp.js +9 -0
  301. package/lib-module/utils/props/pressProps.js +42 -0
  302. package/lib-module/utils/props/rectProp.js +9 -0
  303. package/lib-module/utils/props/responsiveProps.js +30 -0
  304. package/lib-module/utils/props/selectSystemProps.js +24 -0
  305. package/lib-module/utils/props/spacingProps.js +56 -0
  306. package/lib-module/utils/props/tokens.js +120 -0
  307. package/lib-module/utils/props/variantProp.js +18 -0
  308. package/lib-module/utils/props/viewProps.js +22 -0
  309. package/lib-module/utils/ssr.js +35 -0
  310. package/lib-module/utils/useCopy.js +42 -0
  311. package/lib-module/utils/useHash.js +44 -0
  312. package/lib-module/utils/useHash.native.js +7 -0
  313. package/lib-module/utils/useResponsiveProp.js +47 -0
  314. package/lib-module/utils/useSpacingScale.js +123 -0
  315. package/lib-module/utils/useUniqueId.js +12 -0
  316. package/lib-module/utils/withLinkRouter.js +82 -0
  317. package/package.json +9 -5
  318. package/src/A11yText/index.jsx +7 -3
  319. package/src/ActivityIndicator/Spinner.jsx +56 -44
  320. package/src/ActivityIndicator/Spinner.native.jsx +20 -12
  321. package/src/ActivityIndicator/index.jsx +1 -1
  322. package/src/Box/Box.jsx +15 -13
  323. package/src/Button/Button.jsx +1 -1
  324. package/src/Button/ButtonBase.jsx +9 -8
  325. package/src/Button/ButtonGroup.jsx +17 -8
  326. package/src/Button/ButtonLink.jsx +1 -1
  327. package/src/Button/propTypes.js +2 -1
  328. package/src/Card/Card.jsx +7 -4
  329. package/src/Card/CardBase.jsx +6 -5
  330. package/src/Card/PressableCardBase.jsx +12 -12
  331. package/src/Checkbox/Checkbox.jsx +12 -5
  332. package/src/Divider/Divider.jsx +19 -12
  333. package/src/ExpandCollapse/Control.jsx +12 -7
  334. package/src/ExpandCollapse/ExpandCollapse.jsx +13 -3
  335. package/src/ExpandCollapse/Panel.jsx +15 -5
  336. package/src/Feedback/Feedback.jsx +13 -3
  337. package/src/Fieldset/Fieldset.jsx +1 -1
  338. package/src/FlexGrid/FlexGrid.jsx +11 -5
  339. package/src/FlexGrid/helpers/index.js +1 -3
  340. package/src/HorizontalScroll/HorizontalScroll.jsx +12 -5
  341. package/src/IconButton/IconButton.jsx +12 -8
  342. package/src/InputLabel/InputLabel.jsx +16 -2
  343. package/src/InputSupports/InputSupports.jsx +1 -1
  344. package/src/Link/LinkBase.jsx +11 -10
  345. package/src/List/List.jsx +12 -5
  346. package/src/List/ListItem.jsx +16 -2
  347. package/src/Modal/Modal.jsx +63 -50
  348. package/src/Notification/Notification.jsx +23 -6
  349. package/src/Pagination/Pagination.jsx +10 -3
  350. package/src/Progress/Progress.jsx +5 -3
  351. package/src/Progress/ProgressBar.jsx +8 -6
  352. package/src/Radio/Radio.jsx +13 -5
  353. package/src/Radio/RadioButton.jsx +13 -3
  354. package/src/Radio/RadioGroup.jsx +14 -2
  355. package/src/RadioCard/RadioCard.jsx +9 -6
  356. package/src/RadioCard/RadioCardGroup.jsx +16 -4
  357. package/src/Search/Search.jsx +15 -3
  358. package/src/Select/Select.jsx +21 -7
  359. package/src/SideNav/Item.jsx +15 -7
  360. package/src/SideNav/SideNav.jsx +13 -2
  361. package/src/Skeleton/Skeleton.jsx +55 -43
  362. package/src/Spacer/Spacer.jsx +10 -18
  363. package/src/StackView/StackView.jsx +13 -12
  364. package/src/StackView/StackWrapBox.jsx +12 -12
  365. package/src/StackView/StackWrapGap.jsx +9 -7
  366. package/src/StackView/getStackedContent.jsx +1 -1
  367. package/src/StepTracker/Step.jsx +7 -4
  368. package/src/StepTracker/StepTracker.jsx +8 -8
  369. package/src/Tabs/Tabs.jsx +16 -3
  370. package/src/Tabs/TabsItem.jsx +13 -9
  371. package/src/Tags/Tags.jsx +16 -7
  372. package/src/TextInput/TextArea.jsx +20 -8
  373. package/src/TextInput/TextInput.jsx +20 -8
  374. package/src/TextInput/TextInputBase.jsx +13 -3
  375. package/src/ThemeProvider/useThemeTokens.js +3 -3
  376. package/src/ThemeProvider/utils/theme-tokens.js +3 -3
  377. package/src/ToggleSwitch/ToggleSwitch.jsx +12 -7
  378. package/src/ToggleSwitch/ToggleSwitchGroup.jsx +14 -6
  379. package/src/Tooltip/Tooltip.jsx +13 -3
  380. package/src/TooltipButton/TooltipButton.jsx +6 -4
  381. package/src/Typography/Typography.jsx +10 -6
  382. package/src/index.js +1 -1
  383. package/src/utils/a11y/semantics.js +3 -2
  384. package/src/utils/children.jsx +2 -1
  385. package/src/utils/index.js +2 -1
  386. package/src/utils/pressability.js +1 -1
  387. package/src/utils/props/a11yProps.js +151 -0
  388. package/src/utils/props/clickProps.js +31 -0
  389. package/src/utils/props/componentPropType.js +67 -0
  390. package/src/utils/props/copyPropTypes.js +3 -0
  391. package/src/utils/props/getPropSelector.js +14 -0
  392. package/src/utils/props/hrefAttrsProp.js +25 -0
  393. package/src/utils/props/index.js +16 -0
  394. package/src/{InputSupports/propTypes.js → utils/props/inputSupportsProps.js} +2 -4
  395. package/src/utils/props/linkProps.js +43 -0
  396. package/src/utils/props/paddingProp.js +10 -0
  397. package/src/utils/props/pressProps.js +45 -0
  398. package/src/utils/props/rectProp.js +10 -0
  399. package/src/utils/props/responsiveProps.js +30 -0
  400. package/src/utils/props/selectSystemProps.js +25 -0
  401. package/src/utils/props/spacingProps.js +58 -0
  402. package/src/utils/props/tokens.js +150 -0
  403. package/src/utils/props/variantProp.js +20 -0
  404. package/src/utils/props/viewProps.js +23 -0
  405. package/src/utils/ssr.js +35 -0
  406. package/src/utils/useResponsiveProp.js +1 -1
  407. package/src/utils/useSpacingScale.js +4 -4
  408. package/.ultra.cache.json +0 -1
  409. package/lib/utils/a11y/propTypes.js +0 -61
  410. package/lib/utils/a11y/propTypes.native.js +0 -47
  411. package/lib/utils/propTypes.js +0 -566
  412. package/release-context.json +0 -7
  413. package/src/utils/a11y/propTypes.js +0 -61
  414. package/src/utils/a11y/propTypes.native.js +0 -39
  415. package/src/utils/propTypes.js +0 -561
@@ -31,8 +31,6 @@ var _ThemeProvider = require("../ThemeProvider");
31
31
 
32
32
  var _utils = require("../utils");
33
33
 
34
- var _propTypes2 = require("../utils/propTypes");
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 = _propTypes2.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 = { ..._propTypes2.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,9 +29,10 @@ 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
- * @typedef {import('../utils/propTypes.js').SpacingIndex} SpacingIndex
34
- * @typedef {import('../utils/propTypes.js').SpacingObject} SpacingObject
34
+ * @typedef {import('../utils/props/spacingProps.js').SpacingIndex} SpacingIndex
35
+ * @typedef {import('../utils/props/spacingProps.js').SpacingObject} SpacingObject
35
36
  */
36
37
 
37
38
  /**
@@ -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
 
@@ -29,6 +29,8 @@ 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]);
33
+
32
34
  const selectStyles = tokens => (0, _utils.selectTokens)('Feedback', tokens);
33
35
 
34
36
  const selectTitleTextStyles = ({
@@ -102,17 +104,15 @@ const Feedback = /*#__PURE__*/(0, _react.forwardRef)(({
102
104
  style: contentTextStyles,
103
105
  children: children
104
106
  }) : children;
105
-
106
- const accessibilityProps = _utils.a11yProps.select({
107
+ const selectedProps = selectProps({
107
108
  accessibilityRole: validation === 'error' ? 'alert' : undefined,
108
109
  ...rest
109
110
  });
110
-
111
111
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
112
112
  ref: ref,
113
113
  style: selectStyles(themeTokens),
114
- ...accessibilityProps,
115
114
  nativeID: id,
115
+ ...selectedProps,
116
116
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_StackView.default, {
117
117
  space: space,
118
118
  children: [title !== undefined && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
@@ -133,7 +133,8 @@ const Feedback = /*#__PURE__*/(0, _react.forwardRef)(({
133
133
  });
134
134
  });
135
135
  Feedback.displayName = 'Feedback';
136
- Feedback.propTypes = {
136
+ Feedback.propTypes = { ...selectedSystemPropTypes,
137
+
137
138
  /**
138
139
  * Emphasized summary of the feedback. If an icon is set, it is rendered next to the title.
139
140
  */
@@ -81,9 +81,7 @@ const Fieldset = /*#__PURE__*/(0, _react.forwardRef)(({
81
81
  // fieldset / feedback / etc, wrap resolved children in a fragment, and stack with `preserveFragments`.
82
82
 
83
83
  const childContent = /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
84
- children: typeof children === 'function' ? children({
85
- a11yProps
86
- }) : children
84
+ children: typeof children === 'function' ? children(a11yProps) : children
87
85
  });
88
86
  const orderedContent = feedbackPosition === 'bottom' ? [legendContent, feedbackContent, childContent] : [legendContent, childContent, feedbackContent];
89
87
  const stackedContent = (0, _StackView.getStackedContent)(orderedContent, {
@@ -35,9 +35,11 @@ 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]);
38
39
  /**
39
40
  * A mobile-first flexbox grid.
40
41
  */
42
+
41
43
  const FlexGrid = /*#__PURE__*/(0, _react.forwardRef)(({
42
44
  limitWidth = true,
43
45
  gutter = true,
@@ -86,8 +88,7 @@ const FlexGrid = /*#__PURE__*/(0, _react.forwardRef)(({
86
88
  }
87
89
 
88
90
  const props = { ...(0, _utils.getA11yPropsFromHtmlTag)(tag, accessibilityRole),
89
- ..._utils.a11yProps.select(rest),
90
- ..._utils.viewProps.select(rest)
91
+ ...selectProps(rest)
91
92
  };
92
93
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GutterContext.default.Provider, {
93
94
  value: gutter,
@@ -113,8 +114,7 @@ const styles = _StyleSheet.default.create({
113
114
  }
114
115
  });
115
116
 
116
- FlexGrid.propTypes = { ..._utils.a11yProps.propTypes,
117
- ..._utils.viewProps.types,
117
+ FlexGrid.propTypes = { ...selectedSystemPropTypes,
118
118
 
119
119
  /**
120
120
  * Whether or not to give the grid a fixed width. This also centres the grid horizontally.
@@ -8,11 +8,8 @@ exports.default = void 0;
8
8
  const applyInheritance = sizes => {
9
9
  let prevSize;
10
10
  return sizes.map((size, index) => {
11
- if (size) {
12
- prevSize = size;
13
- }
14
-
15
11
  if (size !== undefined) {
12
+ prevSize = size;
16
13
  return size;
17
14
  }
18
15
 
@@ -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
  const tokenKeys = ['nextIcon', 'previousIcon', 'gutter', 'borderBottomWidth', 'borderBottomColor', 'buttonClearance'];
35
36
 
36
37
  const selectHorizontalScrollTokens = (themeTokens, prefix) => (0, _utils.selectTokens)(tokenKeys, themeTokens, prefix);
@@ -38,7 +39,7 @@ const selectHorizontalScrollTokens = (themeTokens, prefix) => (0, _utils.selectT
38
39
  * Base component that scrolls horizontally and displays left and right buttons if
39
40
  * there is content to the left and the right which can be scrolled to.
40
41
  *
41
- * @TODO revist `ScrollButton` after IconButton is stable.
42
+ * @TODO revisit `ScrollButton` after IconButton is stable.
42
43
  */
43
44
 
44
45
 
@@ -138,9 +139,7 @@ const HorizontalScroll = /*#__PURE__*/(0, _react.forwardRef)(({
138
139
 
139
140
  const scrollNext = () => scrollTo(scrollOffset + scrollDistance);
140
141
 
141
- const scrollPrevious = () => scrollTo(scrollOffset - scrollDistance);
142
-
143
- const a11y = _utils.a11yProps.select(rest); // On Web, being scrollable in one direction prevents overflow: visible in the other direction.
142
+ const scrollPrevious = () => scrollTo(scrollOffset - scrollDistance); // On Web, being scrollable in one direction prevents overflow: visible in the other direction.
144
143
  // Apply a fixed margin gutter that tab highlight effects can overhang without getting trimmed.
145
144
 
146
145
 
@@ -159,7 +158,7 @@ const HorizontalScroll = /*#__PURE__*/(0, _react.forwardRef)(({
159
158
  borderBottomWidth,
160
159
  borderBottomColor
161
160
  }],
162
- ...a11y,
161
+ ...selectProps(rest),
163
162
  children: children
164
163
  }), showPreviousButton && /*#__PURE__*/(0, _jsxRuntime.jsx)(ScrollButton, {
165
164
  icon: previousIcon,
@@ -188,7 +187,7 @@ const staticStyles = _StyleSheet.default.create({
188
187
  }
189
188
  });
190
189
 
191
- HorizontalScroll.propTypes = {
190
+ HorizontalScroll.propTypes = { ...selectedSystemPropTypes,
192
191
  itemPositions: _itemPositions.itemPositionsPropType,
193
192
  ScrollButton: _propTypes.default.elementType,
194
193
  tokens: (0, _utils.getTokensSetPropType)(tokenKeys, {
@@ -21,8 +21,6 @@ var _ThemeProvider = require("../ThemeProvider");
21
21
 
22
22
  var _utils = require("../utils");
23
23
 
24
- var _propTypes2 = require("../utils/propTypes");
25
-
26
24
  var _Icon = _interopRequireDefault(require("../Icon"));
27
25
 
28
26
  var _jsxRuntime = require("react/jsx-runtime");
@@ -33,6 +31,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
33
31
 
34
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; }
35
33
 
34
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
35
+
36
36
  const selectOuterStyle = ({
37
37
  backgroundColor,
38
38
  borderRadius,
@@ -91,7 +91,7 @@ const IconButton = /*#__PURE__*/(0, _react.forwardRef)(({
91
91
  ...rest
92
92
  } = _utils.clickProps.toPressProps(rawRest);
93
93
 
94
- const a11y = _propTypes2.a11yProps.select({ ...rest,
94
+ const selectedProps = selectProps({ ...rest,
95
95
  accessibilityRole
96
96
  });
97
97
 
@@ -110,14 +110,14 @@ const IconButton = /*#__PURE__*/(0, _react.forwardRef)(({
110
110
  onPress: handlePress,
111
111
  hrefAttrs: hrefAttrs,
112
112
  style: getOuterStyle,
113
- ...a11y,
113
+ ...selectedProps,
114
114
  children: pressableState => {
115
115
  const themeTokens = getTokens((0, _utils.resolvePressableState)(pressableState));
116
116
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
117
117
  style: selectInnerStyle(themeTokens),
118
118
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.default, {
119
119
  icon: IconComponent,
120
- title: a11y.accessibilityLabel,
120
+ title: selectedProps.accessibilityLabel,
121
121
  tokens: (0, _utils.selectTokens)('Icon', themeTokens, 'icon')
122
122
  })
123
123
  });
@@ -125,7 +125,7 @@ const IconButton = /*#__PURE__*/(0, _react.forwardRef)(({
125
125
  });
126
126
  });
127
127
  IconButton.displayName = 'IconButton';
128
- IconButton.propTypes = { ..._propTypes2.a11yProps.types,
128
+ IconButton.propTypes = { ...selectedSystemPropTypes,
129
129
  variant: _utils.variantProp.propType,
130
130
  tokens: (0, _utils.getTokensPropType)('IconButton'),
131
131
  icon: _propTypes.default.elementType.isRequired,
@@ -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, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
35
+
34
36
  const selectLabelStyles = tokens => (0, _ThemeProvider.applyTextStyles)((0, _utils.selectTokens)('Typography', tokens));
35
37
 
36
38
  const selectHintStyles = ({
@@ -61,7 +63,8 @@ const InputLabel = /*#__PURE__*/(0, _react.forwardRef)(({
61
63
  hintId,
62
64
  tooltip,
63
65
  tokens,
64
- variant
66
+ variant,
67
+ ...rest
65
68
  }, ref) => {
66
69
  const themeTokens = (0, _ThemeProvider.useThemeTokens)('InputLabel', tokens, variant);
67
70
  const hasTooltip = tooltip !== undefined;
@@ -69,6 +72,7 @@ const InputLabel = /*#__PURE__*/(0, _react.forwardRef)(({
69
72
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
70
73
  ref: ref,
71
74
  style: [staticStyles.container, !isHintInline && staticStyles.containerWithHintBelow],
75
+ ...selectProps(rest),
72
76
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.default, {
73
77
  style: [selectLabelStyles(themeTokens), selectGapStyles(themeTokens), staticStyles.label],
74
78
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LabelContent.default, {
@@ -92,7 +96,8 @@ const InputLabel = /*#__PURE__*/(0, _react.forwardRef)(({
92
96
  });
93
97
  });
94
98
  InputLabel.displayName = 'InputLabel';
95
- InputLabel.propTypes = {
99
+ InputLabel.propTypes = { ...selectedSystemPropTypes,
100
+
96
101
  /**
97
102
  * The input label.
98
103
  */
@@ -61,8 +61,8 @@ const InputSupports = /*#__PURE__*/(0, _react.forwardRef)(({
61
61
  tooltip: tooltip,
62
62
  forId: inputId
63
63
  }), typeof children === 'function' ? children({
64
- a11yProps,
65
- inputId
64
+ inputId,
65
+ ...a11yProps
66
66
  }) : children, feedback && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Feedback.default, {
67
67
  id: feedbackId,
68
68
  title: feedback,
@@ -15,7 +15,7 @@ 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
 
@@ -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, _props.selectSystemProps)([_props.a11yProps, _props.linkProps, _props.viewProps]);
39
+
38
40
  const selectOuterBorderStyles = ({
39
41
  outerBorderColor,
40
42
  outerBorderWidth,
@@ -129,23 +131,22 @@ const LinkBase = /*#__PURE__*/(0, _react.forwardRef)(({
129
131
  tokens = {},
130
132
  children,
131
133
  accessibilityRole = 'link',
132
- dataSet,
133
134
  ...rawRest
134
135
  }, ref) => {
135
136
  const {
136
137
  onPress,
137
138
  ...props
138
- } = _propTypes2.clickProps.toPressProps(rawRest);
139
+ } = _props.clickProps.toPressProps(rawRest);
139
140
 
140
141
  const {
141
142
  hrefAttrs,
142
143
  rest
143
- } = _propTypes2.hrefAttrsProp.bundle(props);
144
+ } = _props.hrefAttrsProp.bundle(props);
144
145
 
145
- const linkPropSet = _propTypes2.linkProps.select({
146
+ const selectedProps = selectProps({
146
147
  accessibilityRole,
147
148
  href,
148
- onPress: _propTypes2.linkProps.handleHref({
149
+ onPress: _props.linkProps.handleHref({
149
150
  href,
150
151
  onPress
151
152
  }),
@@ -159,9 +160,8 @@ const LinkBase = /*#__PURE__*/(0, _react.forwardRef)(({
159
160
 
160
161
 
161
162
  const blockLeftStyle = _Platform.default.OS === 'web' && staticStyles.blockLeft;
162
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InlinePressable.default, { ...linkPropSet,
163
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InlinePressable.default, { ...selectedProps,
163
164
  ref: ref,
164
- dataSet: dataSet,
165
165
  style: linkState => {
166
166
  const themeTokens = resolveLinkTokens(linkState);
167
167
  const outerBorderStyles = selectOuterBorderStyles(themeTokens);
@@ -195,10 +195,9 @@ const LinkBase = /*#__PURE__*/(0, _react.forwardRef)(({
195
195
  });
196
196
  });
197
197
  LinkBase.displayName = 'LinkBase';
198
- LinkBase.propTypes = { ..._propTypes2.a11yProps.types,
199
- ..._propTypes2.linkProps.types,
200
- tokens: (0, _propTypes2.getTokensPropType)('Link'),
201
- variant: _propTypes2.variantProp.propType,
198
+ LinkBase.propTypes = { ...selectedSystemPropTypes,
199
+ tokens: (0, _props.getTokensPropType)('Link'),
200
+ variant: _props.variantProp.propType,
202
201
 
203
202
  /**
204
203
  * Optional variant that may be passed down to the link's icon if there is one
@@ -220,7 +219,7 @@ LinkBase.propTypes = { ..._propTypes2.a11yProps.types,
220
219
  * On Web if href is passed, React Native Web maps this object's props to
221
220
  * `rel`, `target` and `download` attrs.
222
221
  */
223
- hrefAttrs: _propTypes.default.shape(_propTypes2.hrefAttrsProp.types)
222
+ hrefAttrs: _propTypes.default.shape(_props.hrefAttrsProp.types)
224
223
  };
225
224
 
226
225
  const staticStyles = _StyleSheet.default.create({
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,