@telus-uds/components-base 1.8.1 → 1.8.2

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 (365) hide show
  1. package/CHANGELOG.md +13 -2
  2. package/component-docs.json +682 -675
  3. package/lib/A11yInfoProvider/index.js +4 -3
  4. package/lib/A11yText/index.js +6 -5
  5. package/lib/ActivityIndicator/Spinner.js +7 -6
  6. package/lib/ActivityIndicator/Spinner.native.js +8 -6
  7. package/lib/ActivityIndicator/index.js +6 -5
  8. package/lib/ActivityIndicator/shared.js +1 -1
  9. package/lib/BaseProvider/index.js +13 -10
  10. package/lib/Box/Box.js +20 -19
  11. package/lib/Button/Button.js +7 -6
  12. package/lib/Button/ButtonBase.js +95 -77
  13. package/lib/Button/ButtonGroup.js +33 -31
  14. package/lib/Button/ButtonLink.js +9 -7
  15. package/lib/Button/index.js +4 -4
  16. package/lib/Button/propTypes.js +1 -1
  17. package/lib/Card/Card.js +8 -7
  18. package/lib/Card/CardBase.js +35 -31
  19. package/lib/Card/PressableCardBase.js +14 -12
  20. package/lib/Checkbox/Checkbox.js +96 -82
  21. package/lib/Checkbox/CheckboxGroup.js +27 -25
  22. package/lib/Checkbox/CheckboxInput.js +12 -10
  23. package/lib/Divider/Divider.js +8 -7
  24. package/lib/ExpandCollapse/Control.js +42 -36
  25. package/lib/ExpandCollapse/ExpandCollapse.js +11 -10
  26. package/lib/ExpandCollapse/Panel.js +27 -23
  27. package/lib/Feedback/Feedback.js +48 -35
  28. package/lib/Fieldset/Fieldset.js +16 -15
  29. package/lib/Fieldset/FieldsetContainer.js +16 -13
  30. package/lib/Fieldset/FieldsetContainer.native.js +11 -8
  31. package/lib/Fieldset/Legend.js +10 -7
  32. package/lib/Fieldset/Legend.native.js +10 -7
  33. package/lib/FlexGrid/Col/Col.js +17 -16
  34. package/lib/FlexGrid/FlexGrid.js +15 -14
  35. package/lib/FlexGrid/Row/Row.js +13 -12
  36. package/lib/HorizontalScroll/HorizontalScroll.js +25 -20
  37. package/lib/HorizontalScroll/HorizontalScrollButton.js +18 -14
  38. package/lib/HorizontalScroll/ScrollViewEnd.js +6 -5
  39. package/lib/HorizontalScroll/ScrollViewEnd.native.js +12 -9
  40. package/lib/HorizontalScroll/itemPositions.js +19 -13
  41. package/lib/Icon/Icon.js +10 -9
  42. package/lib/Icon/IconText.js +8 -7
  43. package/lib/Icon/index.js +5 -5
  44. package/lib/IconButton/IconButton.js +50 -42
  45. package/lib/InputLabel/InputLabel.js +37 -30
  46. package/lib/InputLabel/LabelContent.js +12 -9
  47. package/lib/InputLabel/LabelContent.native.js +9 -6
  48. package/lib/InputSupports/InputSupports.js +11 -10
  49. package/lib/InputSupports/useInputSupports.js +7 -6
  50. package/lib/Link/ChevronLink.js +9 -8
  51. package/lib/Link/InlinePressable.js +13 -10
  52. package/lib/Link/InlinePressable.native.js +20 -16
  53. package/lib/Link/Link.js +10 -9
  54. package/lib/Link/LinkBase.js +96 -78
  55. package/lib/Link/TextButton.js +9 -8
  56. package/lib/List/List.js +9 -7
  57. package/lib/List/ListItem.js +99 -74
  58. package/lib/Modal/Modal.js +72 -59
  59. package/lib/Notification/Notification.js +46 -33
  60. package/lib/Pagination/PageButton.js +11 -10
  61. package/lib/Pagination/Pagination.js +39 -28
  62. package/lib/Pagination/SideButton.js +21 -18
  63. package/lib/Pagination/usePagination.js +5 -4
  64. package/lib/Progress/Progress.js +23 -19
  65. package/lib/Progress/ProgressBar.js +23 -19
  66. package/lib/Progress/ProgressBarBackground.js +4 -3
  67. package/lib/Radio/Radio.js +79 -68
  68. package/lib/Radio/RadioButton.js +63 -53
  69. package/lib/Radio/RadioGroup.js +28 -26
  70. package/lib/Radio/RadioInput.js +12 -10
  71. package/lib/RadioCard/RadioCard.js +15 -14
  72. package/lib/RadioCard/RadioCardGroup.js +28 -26
  73. package/lib/Search/Search.js +51 -31
  74. package/lib/Select/Group.js +5 -4
  75. package/lib/Select/Group.native.js +4 -3
  76. package/lib/Select/Item.js +10 -7
  77. package/lib/Select/Item.native.js +1 -9
  78. package/lib/Select/Picker.js +16 -15
  79. package/lib/Select/Picker.native.js +49 -38
  80. package/lib/Select/Select.js +134 -113
  81. package/lib/SideNav/Item.js +39 -33
  82. package/lib/SideNav/ItemContent.js +15 -12
  83. package/lib/SideNav/ItemsGroup.js +13 -11
  84. package/lib/SideNav/SideNav.js +19 -16
  85. package/lib/Skeleton/Skeleton.js +60 -44
  86. package/lib/Skeleton/skeleton.constant.js +1 -1
  87. package/lib/Spacer/Spacer.js +6 -5
  88. package/lib/StackView/StackView.js +12 -11
  89. package/lib/StackView/StackWrap.js +2 -2
  90. package/lib/StackView/StackWrapBox.js +12 -11
  91. package/lib/StackView/StackWrapGap.js +11 -10
  92. package/lib/StackView/common.js +14 -11
  93. package/lib/StackView/getStackedContent.js +8 -7
  94. package/lib/StackView/index.js +1 -1
  95. package/lib/StepTracker/Step.js +122 -103
  96. package/lib/StepTracker/StepTracker.js +48 -38
  97. package/lib/Tabs/Tabs.js +29 -24
  98. package/lib/Tabs/TabsItem.js +79 -68
  99. package/lib/Tags/Tags.js +67 -61
  100. package/lib/TextInput/TextArea.js +26 -20
  101. package/lib/TextInput/TextInput.js +20 -15
  102. package/lib/TextInput/TextInputBase.js +74 -62
  103. package/lib/TextInput/index.js +4 -4
  104. package/lib/ThemeProvider/ThemeProvider.js +6 -5
  105. package/lib/ThemeProvider/index.js +5 -5
  106. package/lib/ThemeProvider/useSetTheme.js +6 -3
  107. package/lib/ThemeProvider/useThemeTokens.js +7 -2
  108. package/lib/ThemeProvider/utils/styles.js +48 -41
  109. package/lib/ThemeProvider/utils/theme-tokens.js +26 -12
  110. package/lib/ToggleSwitch/ToggleSwitch.js +89 -73
  111. package/lib/ToggleSwitch/ToggleSwitchGroup.js +36 -34
  112. package/lib/Tooltip/Backdrop.js +4 -3
  113. package/lib/Tooltip/Backdrop.native.js +5 -4
  114. package/lib/Tooltip/Tooltip.js +81 -65
  115. package/lib/Tooltip/getTooltipPosition.js +29 -18
  116. package/lib/TooltipButton/TooltipButton.js +28 -21
  117. package/lib/Typography/Typography.js +37 -33
  118. package/lib/ViewportProvider/ViewportProvider.js +4 -3
  119. package/lib/ViewportProvider/useViewportListener.js +6 -3
  120. package/lib/index.js +54 -54
  121. package/lib/utils/a11y/semantics.js +5 -2
  122. package/lib/utils/a11y/textSize.js +8 -6
  123. package/lib/utils/animation/useVerticalExpandAnimation.js +6 -5
  124. package/lib/utils/children.js +2 -1
  125. package/lib/utils/index.js +10 -10
  126. package/lib/utils/input.js +22 -17
  127. package/lib/utils/pressability.js +36 -22
  128. package/lib/utils/props/clickProps.js +2 -1
  129. package/lib/utils/props/getPropSelector.js +6 -3
  130. package/lib/utils/props/handlerProps.js +25 -19
  131. package/lib/utils/props/hrefAttrsProp.js +14 -11
  132. package/lib/utils/props/index.js +12 -12
  133. package/lib/utils/props/inputSupportsProps.js +15 -12
  134. package/lib/utils/props/linkProps.js +7 -6
  135. package/lib/utils/props/pressProps.js +1 -1
  136. package/lib/utils/props/tokens.js +27 -13
  137. package/lib/utils/ssr.js +6 -2
  138. package/lib/utils/useCopy.js +6 -4
  139. package/lib/utils/useHash.js +2 -1
  140. package/lib/utils/useResponsiveProp.js +1 -1
  141. package/lib/utils/useUniqueId.js +2 -1
  142. package/lib/utils/withLinkRouter.js +6 -5
  143. package/package.json +11 -10
  144. package/src/Pagination/Pagination.jsx +3 -0
  145. package/src/Search/Search.jsx +11 -0
  146. package/src/Select/Item.native.jsx +0 -7
  147. package/lib-module/A11yInfoProvider/index.js +0 -62
  148. package/lib-module/A11yText/index.js +0 -55
  149. package/lib-module/ActivityIndicator/Spinner.js +0 -76
  150. package/lib-module/ActivityIndicator/Spinner.native.js +0 -143
  151. package/lib-module/ActivityIndicator/index.js +0 -40
  152. package/lib-module/ActivityIndicator/shared.js +0 -12
  153. package/lib-module/BaseProvider/index.js +0 -26
  154. package/lib-module/Box/Box.js +0 -243
  155. package/lib-module/Box/index.js +0 -2
  156. package/lib-module/Button/Button.js +0 -25
  157. package/lib-module/Button/ButtonBase.js +0 -254
  158. package/lib-module/Button/ButtonGroup.js +0 -245
  159. package/lib-module/Button/ButtonLink.js +0 -39
  160. package/lib-module/Button/index.js +0 -4
  161. package/lib-module/Button/propTypes.js +0 -36
  162. package/lib-module/Card/Card.js +0 -83
  163. package/lib-module/Card/CardBase.js +0 -62
  164. package/lib-module/Card/PressableCardBase.js +0 -113
  165. package/lib-module/Card/index.js +0 -4
  166. package/lib-module/Checkbox/Checkbox.js +0 -332
  167. package/lib-module/Checkbox/CheckboxGroup.js +0 -231
  168. package/lib-module/Checkbox/CheckboxInput.js +0 -58
  169. package/lib-module/Checkbox/CheckboxInput.native.js +0 -6
  170. package/lib-module/Checkbox/index.js +0 -3
  171. package/lib-module/Divider/Divider.js +0 -123
  172. package/lib-module/Divider/index.js +0 -2
  173. package/lib-module/ExpandCollapse/Accordion.js +0 -15
  174. package/lib-module/ExpandCollapse/Control.js +0 -130
  175. package/lib-module/ExpandCollapse/ExpandCollapse.js +0 -94
  176. package/lib-module/ExpandCollapse/Panel.js +0 -159
  177. package/lib-module/ExpandCollapse/index.js +0 -7
  178. package/lib-module/Feedback/Feedback.js +0 -144
  179. package/lib-module/Feedback/index.js +0 -2
  180. package/lib-module/Fieldset/Fieldset.js +0 -152
  181. package/lib-module/Fieldset/FieldsetContainer.js +0 -29
  182. package/lib-module/Fieldset/FieldsetContainer.native.js +0 -20
  183. package/lib-module/Fieldset/Legend.js +0 -21
  184. package/lib-module/Fieldset/Legend.native.js +0 -28
  185. package/lib-module/Fieldset/cssReset.js +0 -14
  186. package/lib-module/Fieldset/index.js +0 -2
  187. package/lib-module/FlexGrid/Col/Col.js +0 -275
  188. package/lib-module/FlexGrid/Col/index.js +0 -2
  189. package/lib-module/FlexGrid/FlexGrid.js +0 -147
  190. package/lib-module/FlexGrid/Row/Row.js +0 -183
  191. package/lib-module/FlexGrid/Row/index.js +0 -2
  192. package/lib-module/FlexGrid/helpers/index.js +0 -18
  193. package/lib-module/FlexGrid/index.js +0 -2
  194. package/lib-module/FlexGrid/providers/GutterContext.js +0 -3
  195. package/lib-module/HorizontalScroll/HorizontalScroll.js +0 -170
  196. package/lib-module/HorizontalScroll/HorizontalScrollButton.js +0 -77
  197. package/lib-module/HorizontalScroll/ScrollViewEnd.js +0 -47
  198. package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +0 -24
  199. package/lib-module/HorizontalScroll/dictionary.js +0 -11
  200. package/lib-module/HorizontalScroll/index.js +0 -11
  201. package/lib-module/HorizontalScroll/itemPositions.js +0 -106
  202. package/lib-module/Icon/Icon.js +0 -61
  203. package/lib-module/Icon/IconText.js +0 -81
  204. package/lib-module/Icon/index.js +0 -4
  205. package/lib-module/IconButton/IconButton.js +0 -115
  206. package/lib-module/IconButton/index.js +0 -2
  207. package/lib-module/InputLabel/InputLabel.js +0 -141
  208. package/lib-module/InputLabel/LabelContent.js +0 -24
  209. package/lib-module/InputLabel/LabelContent.native.js +0 -16
  210. package/lib-module/InputLabel/index.js +0 -2
  211. package/lib-module/InputSupports/InputSupports.js +0 -95
  212. package/lib-module/InputSupports/index.js +0 -2
  213. package/lib-module/InputSupports/useInputSupports.js +0 -31
  214. package/lib-module/Link/ChevronLink.js +0 -51
  215. package/lib-module/Link/InlinePressable.js +0 -37
  216. package/lib-module/Link/InlinePressable.native.js +0 -85
  217. package/lib-module/Link/Link.js +0 -27
  218. package/lib-module/Link/LinkBase.js +0 -223
  219. package/lib-module/Link/TextButton.js +0 -34
  220. package/lib-module/Link/index.js +0 -5
  221. package/lib-module/List/List.js +0 -55
  222. package/lib-module/List/ListItem.js +0 -223
  223. package/lib-module/List/index.js +0 -5
  224. package/lib-module/Modal/Modal.js +0 -208
  225. package/lib-module/Modal/dictionary.js +0 -9
  226. package/lib-module/Modal/index.js +0 -2
  227. package/lib-module/Notification/Notification.js +0 -196
  228. package/lib-module/Notification/dictionary.js +0 -8
  229. package/lib-module/Notification/index.js +0 -2
  230. package/lib-module/Pagination/PageButton.js +0 -65
  231. package/lib-module/Pagination/Pagination.js +0 -140
  232. package/lib-module/Pagination/SideButton.js +0 -103
  233. package/lib-module/Pagination/dictionary.js +0 -18
  234. package/lib-module/Pagination/index.js +0 -2
  235. package/lib-module/Pagination/usePagination.js +0 -72
  236. package/lib-module/Progress/Progress.js +0 -85
  237. package/lib-module/Progress/ProgressBar.js +0 -134
  238. package/lib-module/Progress/ProgressBarBackground.js +0 -41
  239. package/lib-module/Progress/index.js +0 -4
  240. package/lib-module/Radio/Radio.js +0 -274
  241. package/lib-module/Radio/RadioButton.js +0 -128
  242. package/lib-module/Radio/RadioGroup.js +0 -241
  243. package/lib-module/Radio/RadioInput.js +0 -60
  244. package/lib-module/Radio/RadioInput.native.js +0 -6
  245. package/lib-module/Radio/index.js +0 -3
  246. package/lib-module/RadioCard/RadioCard.js +0 -218
  247. package/lib-module/RadioCard/RadioCardGroup.js +0 -248
  248. package/lib-module/RadioCard/index.js +0 -3
  249. package/lib-module/Search/Search.js +0 -241
  250. package/lib-module/Search/dictionary.js +0 -12
  251. package/lib-module/Search/index.js +0 -2
  252. package/lib-module/Select/Group.js +0 -20
  253. package/lib-module/Select/Group.native.js +0 -14
  254. package/lib-module/Select/Item.js +0 -17
  255. package/lib-module/Select/Item.native.js +0 -9
  256. package/lib-module/Select/Picker.js +0 -67
  257. package/lib-module/Select/Picker.native.js +0 -110
  258. package/lib-module/Select/Select.js +0 -316
  259. package/lib-module/Select/index.js +0 -6
  260. package/lib-module/SideNav/Item.js +0 -139
  261. package/lib-module/SideNav/ItemContent.js +0 -45
  262. package/lib-module/SideNav/ItemsGroup.js +0 -115
  263. package/lib-module/SideNav/SideNav.js +0 -133
  264. package/lib-module/SideNav/index.js +0 -1
  265. package/lib-module/Skeleton/Skeleton.js +0 -163
  266. package/lib-module/Skeleton/index.js +0 -2
  267. package/lib-module/Skeleton/skeleton.constant.js +0 -3
  268. package/lib-module/Skeleton/skeletonWebAnimation.js +0 -18
  269. package/lib-module/Skeleton/useSkeletonNativeAnimation.js +0 -24
  270. package/lib-module/Spacer/Spacer.js +0 -97
  271. package/lib-module/Spacer/index.js +0 -2
  272. package/lib-module/StackView/StackView.js +0 -124
  273. package/lib-module/StackView/StackWrap.js +0 -48
  274. package/lib-module/StackView/StackWrap.native.js +0 -3
  275. package/lib-module/StackView/StackWrapBox.js +0 -114
  276. package/lib-module/StackView/StackWrapGap.js +0 -58
  277. package/lib-module/StackView/common.js +0 -32
  278. package/lib-module/StackView/getStackedContent.js +0 -123
  279. package/lib-module/StackView/index.js +0 -5
  280. package/lib-module/StepTracker/Step.js +0 -229
  281. package/lib-module/StepTracker/StepTracker.js +0 -175
  282. package/lib-module/StepTracker/dictionary.js +0 -10
  283. package/lib-module/StepTracker/index.js +0 -2
  284. package/lib-module/Tabs/Tabs.js +0 -113
  285. package/lib-module/Tabs/TabsItem.js +0 -215
  286. package/lib-module/Tabs/index.js +0 -2
  287. package/lib-module/Tags/Tags.js +0 -245
  288. package/lib-module/Tags/index.js +0 -2
  289. package/lib-module/TextInput/TextArea.js +0 -88
  290. package/lib-module/TextInput/TextInput.js +0 -68
  291. package/lib-module/TextInput/TextInputBase.js +0 -233
  292. package/lib-module/TextInput/index.js +0 -3
  293. package/lib-module/TextInput/propTypes.js +0 -37
  294. package/lib-module/ThemeProvider/ThemeProvider.js +0 -35
  295. package/lib-module/ThemeProvider/index.js +0 -6
  296. package/lib-module/ThemeProvider/useSetTheme.js +0 -22
  297. package/lib-module/ThemeProvider/useTheme.js +0 -14
  298. package/lib-module/ThemeProvider/useThemeTokens.js +0 -105
  299. package/lib-module/ThemeProvider/utils/index.js +0 -2
  300. package/lib-module/ThemeProvider/utils/styles.js +0 -174
  301. package/lib-module/ThemeProvider/utils/theme-tokens.js +0 -151
  302. package/lib-module/ToggleSwitch/ToggleSwitch.js +0 -234
  303. package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +0 -218
  304. package/lib-module/ToggleSwitch/index.js +0 -3
  305. package/lib-module/Tooltip/Backdrop.js +0 -52
  306. package/lib-module/Tooltip/Backdrop.native.js +0 -43
  307. package/lib-module/Tooltip/Tooltip.js +0 -332
  308. package/lib-module/Tooltip/dictionary.js +0 -8
  309. package/lib-module/Tooltip/getTooltipPosition.js +0 -164
  310. package/lib-module/Tooltip/index.js +0 -2
  311. package/lib-module/TooltipButton/TooltipButton.js +0 -71
  312. package/lib-module/TooltipButton/index.js +0 -2
  313. package/lib-module/Typography/Typography.js +0 -120
  314. package/lib-module/Typography/index.js +0 -2
  315. package/lib-module/ViewportProvider/ViewportProvider.js +0 -28
  316. package/lib-module/ViewportProvider/index.js +0 -3
  317. package/lib-module/ViewportProvider/useViewport.js +0 -3
  318. package/lib-module/ViewportProvider/useViewportListener.js +0 -43
  319. package/lib-module/index.js +0 -48
  320. package/lib-module/utils/a11y/index.js +0 -2
  321. package/lib-module/utils/a11y/semantics.js +0 -154
  322. package/lib-module/utils/a11y/textSize.js +0 -34
  323. package/lib-module/utils/animation/index.js +0 -2
  324. package/lib-module/utils/animation/useVerticalExpandAnimation.js +0 -61
  325. package/lib-module/utils/children.js +0 -118
  326. package/lib-module/utils/containUniqueFields.js +0 -26
  327. package/lib-module/utils/index.js +0 -16
  328. package/lib-module/utils/info/index.js +0 -7
  329. package/lib-module/utils/info/platform/index.js +0 -11
  330. package/lib-module/utils/info/platform/platform.android.js +0 -1
  331. package/lib-module/utils/info/platform/platform.ios.js +0 -1
  332. package/lib-module/utils/info/platform/platform.js +0 -1
  333. package/lib-module/utils/info/platform/platform.native.js +0 -4
  334. package/lib-module/utils/info/versions.js +0 -5
  335. package/lib-module/utils/input.js +0 -180
  336. package/lib-module/utils/pressability.js +0 -97
  337. package/lib-module/utils/props/a11yProps.js +0 -140
  338. package/lib-module/utils/props/clickProps.js +0 -25
  339. package/lib-module/utils/props/componentPropType.js +0 -63
  340. package/lib-module/utils/props/copyPropTypes.js +0 -2
  341. package/lib-module/utils/props/getPropSelector.js +0 -6
  342. package/lib-module/utils/props/handlerProps.js +0 -59
  343. package/lib-module/utils/props/hrefAttrsProp.js +0 -30
  344. package/lib-module/utils/props/index.js +0 -19
  345. package/lib-module/utils/props/inputSupportsProps.js +0 -59
  346. package/lib-module/utils/props/linkProps.js +0 -43
  347. package/lib-module/utils/props/paddingProp.js +0 -9
  348. package/lib-module/utils/props/pressProps.js +0 -42
  349. package/lib-module/utils/props/rectProp.js +0 -9
  350. package/lib-module/utils/props/responsiveProps.js +0 -30
  351. package/lib-module/utils/props/selectSystemProps.js +0 -24
  352. package/lib-module/utils/props/spacingProps.js +0 -56
  353. package/lib-module/utils/props/textInputProps.js +0 -194
  354. package/lib-module/utils/props/textProps.js +0 -59
  355. package/lib-module/utils/props/tokens.js +0 -120
  356. package/lib-module/utils/props/variantProp.js +0 -18
  357. package/lib-module/utils/props/viewProps.js +0 -22
  358. package/lib-module/utils/ssr.js +0 -35
  359. package/lib-module/utils/useCopy.js +0 -42
  360. package/lib-module/utils/useHash.js +0 -44
  361. package/lib-module/utils/useHash.native.js +0 -7
  362. package/lib-module/utils/useResponsiveProp.js +0 -47
  363. package/lib-module/utils/useSpacingScale.js +0 -123
  364. package/lib-module/utils/useUniqueId.js +0 -12
  365. package/lib-module/utils/withLinkRouter.js +0 -82
@@ -28,7 +28,8 @@ var _default = {
28
28
  * web-oriented tooling that injects web-oriented event handlers directly. For example, for
29
29
  * to support use with NextJS's 'next/link' component, which injects `onClick` prop into its child.
30
30
  */
31
- toPressProps: props => Object.fromEntries(Object.entries(props).map(([originalName, value]) => {
31
+ toPressProps: props => Object.fromEntries(Object.entries(props).map(_ref => {
32
+ let [originalName, value] = _ref;
32
33
  const translatedName = clickHandlerMapping[originalName];
33
34
  return translatedName ? [translatedName, value] : [originalName, value];
34
35
  }))
@@ -7,7 +7,10 @@ exports.default = getPropSelector;
7
7
 
8
8
  function getPropSelector(propTypes, regexp) {
9
9
  const keys = Object.keys(propTypes);
10
- return props => Object.entries(props).reduce((items, [key, value]) => keys.includes(key) || regexp && regexp.test(key) ? { ...items,
11
- [key]: value
12
- } : items, {});
10
+ return props => Object.entries(props).reduce((items, _ref) => {
11
+ let [key, value] = _ref;
12
+ return keys.includes(key) || regexp && regexp.test(key) ? { ...items,
13
+ [key]: value
14
+ } : items;
15
+ }, {});
13
16
  }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.textInputHandlerProps = exports.focusHandlerProps = void 0;
6
+ exports.textInputHandlerProps = exports.focusHandlerProps = exports.default = void 0;
7
7
 
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
 
@@ -21,13 +21,16 @@ const focusHandlerProps = {
21
21
  */
22
22
  onFocus: _propTypes.default.func
23
23
  },
24
- select: ({
25
- onBlur,
26
- onFocus
27
- }) => ({
28
- onBlur,
29
- onFocus
30
- })
24
+ select: _ref => {
25
+ let {
26
+ onBlur,
27
+ onFocus
28
+ } = _ref;
29
+ return {
30
+ onBlur,
31
+ onFocus
32
+ };
33
+ }
31
34
  };
32
35
  exports.focusHandlerProps = focusHandlerProps;
33
36
  const textInputHandlerProps = {
@@ -52,17 +55,20 @@ const textInputHandlerProps = {
52
55
  */
53
56
  onSubmitEditing: _propTypes.default.func
54
57
  },
55
- select: ({
56
- onChange,
57
- onChangeText,
58
- onSubmit,
59
- onSubmitEditing
60
- }) => ({
61
- onChange,
62
- onChangeText,
63
- onSubmit,
64
- onSubmitEditing
65
- })
58
+ select: _ref2 => {
59
+ let {
60
+ onChange,
61
+ onChangeText,
62
+ onSubmit,
63
+ onSubmitEditing
64
+ } = _ref2;
65
+ return {
66
+ onChange,
67
+ onChangeText,
68
+ onSubmit,
69
+ onSubmitEditing
70
+ };
71
+ }
66
72
  };
67
73
  exports.textInputHandlerProps = textInputHandlerProps;
68
74
  var _default = {
@@ -24,18 +24,21 @@ var _default = {
24
24
  * Takes a props object, bundles any hrefAttrs props present into one object
25
25
  * and returns that keyed as `hrefAttrs` and non-hrefAttrs props keyed as `rest`
26
26
  */
27
- bundle: ({
28
- download,
29
- rel,
30
- target,
31
- ...rest
32
- }) => ({
33
- hrefAttrs: {
27
+ bundle: _ref => {
28
+ let {
34
29
  download,
35
30
  rel,
36
- target
37
- },
38
- rest
39
- })
31
+ target,
32
+ ...rest
33
+ } = _ref;
34
+ return {
35
+ hrefAttrs: {
36
+ download,
37
+ rel,
38
+ target
39
+ },
40
+ rest
41
+ };
42
+ }
40
43
  };
41
44
  exports.default = _default;
@@ -34,16 +34,16 @@ Object.defineProperty(exports, "clickProps", {
34
34
  return _clickProps.default;
35
35
  }
36
36
  });
37
- Object.defineProperty(exports, "copyPropTypes", {
37
+ Object.defineProperty(exports, "componentPropType", {
38
38
  enumerable: true,
39
39
  get: function () {
40
- return _copyPropTypes.default;
40
+ return _componentPropType.default;
41
41
  }
42
42
  });
43
- Object.defineProperty(exports, "componentPropType", {
43
+ Object.defineProperty(exports, "copyPropTypes", {
44
44
  enumerable: true,
45
45
  get: function () {
46
- return _componentPropType.default;
46
+ return _copyPropTypes.default;
47
47
  }
48
48
  });
49
49
  Object.defineProperty(exports, "hrefAttrsProp", {
@@ -64,16 +64,16 @@ Object.defineProperty(exports, "linkProps", {
64
64
  return _linkProps.default;
65
65
  }
66
66
  });
67
- Object.defineProperty(exports, "pressProps", {
67
+ Object.defineProperty(exports, "paddingProp", {
68
68
  enumerable: true,
69
69
  get: function () {
70
- return _pressProps.default;
70
+ return _paddingProp.default;
71
71
  }
72
72
  });
73
- Object.defineProperty(exports, "paddingProp", {
73
+ Object.defineProperty(exports, "pressProps", {
74
74
  enumerable: true,
75
75
  get: function () {
76
- return _paddingProp.default;
76
+ return _pressProps.default;
77
77
  }
78
78
  });
79
79
  Object.defineProperty(exports, "rectProp", {
@@ -88,16 +88,16 @@ Object.defineProperty(exports, "responsiveProps", {
88
88
  return _responsiveProps.default;
89
89
  }
90
90
  });
91
- Object.defineProperty(exports, "spacingProps", {
91
+ Object.defineProperty(exports, "selectSystemProps", {
92
92
  enumerable: true,
93
93
  get: function () {
94
- return _spacingProps.default;
94
+ return _selectSystemProps.default;
95
95
  }
96
96
  });
97
- Object.defineProperty(exports, "selectSystemProps", {
97
+ Object.defineProperty(exports, "spacingProps", {
98
98
  enumerable: true,
99
99
  get: function () {
100
- return _selectSystemProps.default;
100
+ return _spacingProps.default;
101
101
  }
102
102
  });
103
103
  Object.defineProperty(exports, "textInputProps", {
@@ -47,16 +47,8 @@ var _default = {
47
47
  */
48
48
  validation: _propTypes.default.oneOf(['error', 'success'])
49
49
  },
50
- select: ({
51
- copy,
52
- label,
53
- hint,
54
- hintPosition,
55
- feedback,
56
- tooltip,
57
- validation
58
- }) => ({
59
- supportsProps: {
50
+ select: _ref => {
51
+ let {
60
52
  copy,
61
53
  label,
62
54
  hint,
@@ -64,7 +56,18 @@ var _default = {
64
56
  feedback,
65
57
  tooltip,
66
58
  validation
67
- }
68
- })
59
+ } = _ref;
60
+ return {
61
+ supportsProps: {
62
+ copy,
63
+ label,
64
+ hint,
65
+ hintPosition,
66
+ feedback,
67
+ tooltip,
68
+ validation
69
+ }
70
+ };
71
+ }
69
72
  };
70
73
  exports.default = _default;
@@ -44,14 +44,15 @@ var _default = {
44
44
  * @returns {(() => void)|undefined} Returns a press handler, or undefined on web if no press
45
45
  * handler is provided (expects calling component to render as `<a href={href}>` on web).
46
46
  */
47
- handleHref: ({
48
- onPress,
49
- href
50
- }) => {
47
+ handleHref: _ref => {
48
+ let {
49
+ onPress,
50
+ href
51
+ } = _ref;
51
52
  return _Platform.default.select({
52
53
  web: onPress,
53
- default: (...args) => {
54
- if (onPress) onPress(...args);
54
+ default: function () {
55
+ if (onPress) onPress(...arguments);
55
56
  if (href) _Linking.default.openURL(href);
56
57
  }
57
58
  });
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.pressPropTypes = void 0;
6
+ exports.pressPropTypes = exports.default = void 0;
7
7
 
8
8
  var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
9
9
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getTokensSetPropType = exports.getTokensPropType = exports.selectTokens = exports.getTokenNames = void 0;
6
+ exports.selectTokens = exports.getTokensSetPropType = exports.getTokensPropType = exports.getTokenNames = void 0;
7
7
 
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
 
@@ -103,16 +103,22 @@ const selectTokens = (specifier, tokens, prefix) => {
103
103
 
104
104
  exports.selectTokens = selectTokens;
105
105
 
106
- const getTokensPropType = (...componentsNames) => (props, propName, componentName) => {
107
- _propTypes.default.checkPropTypes({
108
- [propName]: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func])
109
- }, props, propName, componentName);
106
+ const getTokensPropType = function () {
107
+ for (var _len = arguments.length, componentsNames = new Array(_len), _key = 0; _key < _len; _key++) {
108
+ componentsNames[_key] = arguments[_key];
109
+ }
110
110
 
111
- if (typeof props[propName] !== 'function') {
111
+ return (props, propName, componentName) => {
112
112
  _propTypes.default.checkPropTypes({
113
- [propName]: _propTypes.default.exact(Object.fromEntries(componentsNames.flatMap(component => getTokenNames(component).map(key => [key, tokenValueType]))))
113
+ [propName]: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func])
114
114
  }, props, propName, componentName);
115
- }
115
+
116
+ if (typeof props[propName] !== 'function') {
117
+ _propTypes.default.checkPropTypes({
118
+ [propName]: _propTypes.default.exact(Object.fromEntries(componentsNames.flatMap(component => getTokenNames(component).map(key => [key, tokenValueType]))))
119
+ }, props, propName, componentName);
120
+ }
121
+ };
116
122
  };
117
123
  /**
118
124
  * Get a proptypes validator for a set of tokens that is not based on a component in the theme schema.
@@ -132,12 +138,20 @@ const getTokensPropType = (...componentsNames) => (props, propName, componentNam
132
138
 
133
139
  exports.getTokensPropType = getTokensPropType;
134
140
 
135
- const getTokensSetPropType = (componentTokenKeys, {
136
- partial = false,
137
- allowFunction = false
138
- } = {}) => {
141
+ const getTokensSetPropType = function (componentTokenKeys) {
142
+ let {
143
+ partial = false,
144
+ allowFunction = false
145
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
146
+
139
147
  const tokensObjectValidator = _propTypes.default.exact(Object.fromEntries(componentTokenKeys.map(key => [key, partial ? tokenValueType : // Some theme tokens can validly resolve to `null`, but .isRequired treats null as undefined
140
- (props, propName, ...args) => props[propName] !== null && tokenValueType.isRequired(props, propName, ...args)])));
148
+ function (props, propName) {
149
+ for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
150
+ args[_key2 - 2] = arguments[_key2];
151
+ }
152
+
153
+ return props[propName] !== null && tokenValueType.isRequired(props, propName, ...args);
154
+ }])));
141
155
 
142
156
  return allowFunction ? _propTypes.default.oneOfType([tokensObjectValidator, _propTypes.default.func]) : tokensObjectValidator;
143
157
  };
package/lib/utils/ssr.js CHANGED
@@ -21,7 +21,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
21
21
  * @param {string} [appName]
22
22
  * @returns {ReactElement[]}
23
23
  */
24
- const getReactNativeWebSSRStyles = (AppRoot, appName = 'app') => {
24
+ const getReactNativeWebSSRStyles = function (AppRoot) {
25
+ let appName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'app';
26
+
25
27
  _AppRegistry.default.registerComponent(appName, () => AppRoot);
26
28
 
27
29
  const {
@@ -43,7 +45,9 @@ const getReactNativeWebSSRStyles = (AppRoot, appName = 'app') => {
43
45
 
44
46
  exports.getReactNativeWebSSRStyles = getReactNativeWebSSRStyles;
45
47
 
46
- const getSSRStyles = (AppRoot, appName = 'app', existingStyles = []) => {
48
+ const getSSRStyles = function (AppRoot) {
49
+ let appName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'app';
50
+ let existingStyles = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
47
51
  return [...existingStyles, ...getReactNativeWebSSRStyles(AppRoot, appName) // if any other CSS-in-JS is added e.g. styled-components generate and add its styles here
48
52
  ];
49
53
  };
@@ -35,10 +35,12 @@ const DEFAULT_COPY = 'en';
35
35
 
36
36
  exports.DEFAULT_COPY = DEFAULT_COPY;
37
37
 
38
- function useCopy({
39
- dictionary,
40
- copy = DEFAULT_COPY
41
- }) {
38
+ function useCopy(_ref) {
39
+ let {
40
+ dictionary,
41
+ copy = DEFAULT_COPY
42
+ } = _ref;
43
+
42
44
  if (typeof copy === 'string') {
43
45
  return key => key ? dictionary[copy][key] : dictionary[copy];
44
46
  } // support overriding the entire copy dictionary with an object for a single language
@@ -29,7 +29,8 @@ const doAction = (action, event) => {
29
29
  */
30
30
 
31
31
 
32
- const useHash = (action, isReady = true) => {
32
+ const useHash = function (action) {
33
+ let isReady = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
33
34
  const [isDone, setIsDone] = (0, _react.useState)(false); // Do the action just once when ready after component mount, from hash on page load
34
35
 
35
36
  const isToDo = isReady && !isDone;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.resolveResponsiveProp = void 0;
6
+ exports.resolveResponsiveProp = exports.default = void 0;
7
7
 
8
8
  var _systemConstants = require("@telus-uds/system-constants");
9
9
 
@@ -9,7 +9,8 @@ var _react = require("react");
9
9
 
10
10
  let id = 0;
11
11
 
12
- function useUniqueId(prefix = '') {
12
+ function useUniqueId() {
13
+ let prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
13
14
  const [uniqueId] = (0, _react.useState)(() => {
14
15
  id += 1;
15
16
  return `${prefix}-${id}`;
@@ -50,11 +50,12 @@ const hasOwnProperty = (object, prop) => Object.prototype.hasOwnProperty.call(ob
50
50
 
51
51
 
52
52
  const withLinkRouter = Component => {
53
- const wrappedComponent = /*#__PURE__*/(0, _react.forwardRef)(({
54
- LinkRouter,
55
- linkRouterProps,
56
- ...props
57
- }, ref) => {
53
+ const wrappedComponent = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
54
+ let {
55
+ LinkRouter,
56
+ linkRouterProps,
57
+ ...props
58
+ } = _ref;
58
59
  if (!LinkRouter) return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, { ...props,
59
60
  ref: ref
60
61
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telus-uds/components-base",
3
- "version": "1.8.1",
3
+ "version": "1.8.2",
4
4
  "description": "Base components",
5
5
  "keywords": [
6
6
  "base"
@@ -22,16 +22,16 @@
22
22
  },
23
23
  "scripts": {
24
24
  "test": "jest",
25
- "lint": "yarn --cwd ../.. lint:path --color packages/components-base",
26
- "lint:fix": "yarn --cwd ../.. lint:path --fix packages/components-base",
25
+ "lint": "npm run --prefix ../.. lint:path -- --color packages/components-base",
26
+ "lint:fix": "npm run --prefix ../.. lint:path -- --fix packages/components-base",
27
27
  "format": "prettier --write .",
28
- "build": "yarn build:code && yarn build:docs",
28
+ "build": "npm run build:code && npm run build:docs",
29
29
  "build:main": "babel src -d lib",
30
30
  "build:module": "babel src -d lib-module --env-name module",
31
- "build:code": "yarn build:main && yarn build:module",
31
+ "build:code": "npm run build:main && npm run build:module",
32
32
  "build:docs": "babel-node --plugins=@nearform/babel-plugin-react-docgen generate-component-docs.js",
33
33
  "storybook": "start-storybook",
34
- "dev": "yarn build:code --watch"
34
+ "dev": "npm run build:code --watch"
35
35
  },
36
36
  "bugs": {
37
37
  "url": "https://github.com/telus/universal-design-system/issues"
@@ -44,7 +44,7 @@
44
44
  ],
45
45
  "peerDependencies": {
46
46
  "react": "^17.0.2",
47
- "react-dom": "*",
47
+ "react-dom": "^17.0.2",
48
48
  "react-native": "*",
49
49
  "react-native-web": "^0.17.0"
50
50
  },
@@ -59,12 +59,13 @@
59
59
  "@testing-library/jest-native": "^4.0.1",
60
60
  "@testing-library/react-hooks": "^7.0.1",
61
61
  "@testing-library/react-native": "^7.2.0",
62
- "react-test-renderer": "^16.3.2"
62
+ "react-test-renderer": "^16.3.2",
63
+ "webpack": "5.x"
63
64
  },
64
65
  "dependencies": {
65
66
  "airbnb-prop-types": "^2.16.0",
66
- "@telus-uds/system-constants": "^1.0.3",
67
- "@telus-uds/system-theme-tokens": "^2.0.1",
67
+ "@telus-uds/system-constants": "^1.0.4",
68
+ "@telus-uds/system-theme-tokens": "^2.0.2",
68
69
  "lodash.debounce": "^4.0.8",
69
70
  "lodash.merge": "^4.6.2",
70
71
  "prop-types": "^15.7.2",
@@ -139,6 +139,9 @@ const Pagination = forwardRef(
139
139
  )
140
140
  }
141
141
  )
142
+
143
+ Pagination.displayName = 'Pagination'
144
+
142
145
  PageButton.displayName = 'PageButton'
143
146
 
144
147
  Pagination.PageButton = PageButton
@@ -68,6 +68,7 @@ const Search = forwardRef(
68
68
  onChange,
69
69
  onSubmit,
70
70
  onClear,
71
+ onFocus,
71
72
  accessibilityLabel,
72
73
  copy = 'en',
73
74
  tokens,
@@ -112,6 +113,10 @@ const Search = forwardRef(
112
113
  if (onClear !== undefined) onClear('', event)
113
114
  }
114
115
 
116
+ const handleFocus = (event) => {
117
+ if (onFocus !== undefined) onFocus(event)
118
+ }
119
+
115
120
  const isEmpty = currentValue === ''
116
121
 
117
122
  // Accessibility label should always be present and correctly localised
@@ -140,6 +145,7 @@ const Search = forwardRef(
140
145
  value={currentValue}
141
146
  onChange={setValue}
142
147
  onSubmitEditing={handleSubmit}
148
+ onFocus={handleFocus}
143
149
  accessibilityLabel={a11yLabelText}
144
150
  />
145
151
  <View style={[staticStyles.iconsContainer, selectIconsContainerStyle(themeTokens)]}>
@@ -214,6 +220,11 @@ Search.propTypes = {
214
220
  */
215
221
  onClear: PropTypes.func,
216
222
  /**
223
+ * Triggered when the search input is focused.
224
+ */
225
+ onFocus: PropTypes.func,
226
+ /**
227
+ *
217
228
  * Use to provide an accessible label for the input (visually hidden).
218
229
  */
219
230
  accessibilityLabel: PropTypes.string,
@@ -1,10 +1,3 @@
1
- import PropTypes from 'prop-types'
2
-
3
1
  const Item = () => null
4
2
 
5
3
  export default Item
6
-
7
- Item.propTypes = {
8
- children: PropTypes.string.isRequired,
9
- value: PropTypes.string.isRequired
10
- }
@@ -1,62 +0,0 @@
1
- import React, { createContext, useContext, useEffect, useState } from 'react';
2
- import PropTypes from 'prop-types';
3
- import AccessibilityInfo from "react-native-web/dist/exports/AccessibilityInfo";
4
- import Platform from "react-native-web/dist/exports/Platform";
5
- import { jsx as _jsx } from "react/jsx-runtime";
6
- const ScreenReaderContext = /*#__PURE__*/createContext(false);
7
- const ReducedMotionContext = /*#__PURE__*/createContext(false);
8
-
9
- const A11yInfoProvider = ({
10
- children
11
- }) => {
12
- const [reduceMotionEnabled, setReduceMotionEnabled] = useState(false);
13
- const [screenReaderEnabled, setScreenReaderEnabled] = useState(false);
14
- useEffect(() => {
15
- if (process.env.NODE_ENV === 'test') {
16
- // On Jest these effects do nothing but can cause `act` state change warnings
17
- // and "...after the Jest environment has been torn down" errors, so skip them.
18
- return () => {};
19
- }
20
-
21
- AccessibilityInfo.addEventListener('reduceMotionChanged', setReduceMotionEnabled);
22
- AccessibilityInfo.addEventListener('screenReaderChanged', setScreenReaderEnabled);
23
-
24
- const setInitialA11yInfo = async () => {
25
- const [initialReduceMotionEnabled, initialScreenReaderEnabled] = await Promise.all([AccessibilityInfo.isReduceMotionEnabled(), AccessibilityInfo.isScreenReaderEnabled()]); // Browsers can't detect screen readers; in RNW isScreenReaderEnabled() is always `true`
26
- // https://github.com/necolas/react-native-web/blob/master/packages/react-native-web/src/exports/AccessibilityInfo/index.js#L14
27
-
28
- setScreenReaderEnabled(Platform.OS !== 'web' && !!initialScreenReaderEnabled); // RNW does support isReduceMotionEnabled looking for 'prefers-reduced-motion' state
29
-
30
- setReduceMotionEnabled(!!initialReduceMotionEnabled);
31
- };
32
-
33
- if (AccessibilityInfo.isReduceMotionEnabled && AccessibilityInfo.isScreenReaderEnabled) {
34
- setInitialA11yInfo();
35
- }
36
-
37
- return () => {
38
- AccessibilityInfo.removeEventListener('reduceMotionChanged', setReduceMotionEnabled);
39
- AccessibilityInfo.removeEventListener('screenReaderChanged', setScreenReaderEnabled);
40
- };
41
- }, []);
42
- return /*#__PURE__*/_jsx(ReducedMotionContext.Provider, {
43
- value: reduceMotionEnabled,
44
- children: /*#__PURE__*/_jsx(ScreenReaderContext.Provider, {
45
- value: screenReaderEnabled,
46
- children: children
47
- })
48
- });
49
- };
50
-
51
- A11yInfoProvider.propTypes = {
52
- children: PropTypes.node.isRequired
53
- };
54
- export default A11yInfoProvider;
55
- export const useA11yInfo = () => {
56
- const screenReaderEnabled = useContext(ScreenReaderContext);
57
- const reduceMotionEnabled = useContext(ReducedMotionContext);
58
- return {
59
- reduceMotionEnabled,
60
- screenReaderEnabled
61
- };
62
- };
@@ -1,55 +0,0 @@
1
- import React, { forwardRef } from 'react';
2
- import Platform from "react-native-web/dist/exports/Platform";
3
- import StyleSheet from "react-native-web/dist/exports/StyleSheet";
4
- import View from "react-native-web/dist/exports/View";
5
- import PropTypes from 'prop-types';
6
- import { a11yProps, selectSystemProps, viewProps } from '../utils/props';
7
- import { jsx as _jsx } from "react/jsx-runtime";
8
- const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
9
- /**
10
- * A11yText is a zero-size invisible element that adds text to be read by screen readers.
11
- *
12
- * It should be used to add selectable screen-reader-only text to the main document flow,
13
- * as a sibling to blocks of text like paragraphs and interactive elements like buttons.
14
- */
15
-
16
- const A11yText = /*#__PURE__*/forwardRef(({
17
- text,
18
- heading,
19
- ...rest
20
- }, ref) => {
21
- const selectedProps = selectProps({
22
- // On iOS, needs `accessible` to be true to be focusable without non-a11y content.
23
- // On Web, `accessible` causes RNW to set attributes that may make the element be treated as a group.
24
- // On Android, may cause this to be skipped when with `<Text>` siblings in an `accessible` View,
25
- // see https://github.com/facebook/react-native/issues/30851#issuecomment-790165489
26
- accessible: Platform.OS === 'ios',
27
- accessibilityLabel: text,
28
- accessibilityRole: heading ? 'header' : 'text',
29
- ...rest
30
- });
31
- return /*#__PURE__*/_jsx(View, {
32
- style: styles.invisible,
33
- ref: ref,
34
- ...selectedProps
35
- });
36
- });
37
- A11yText.displayName = 'A11yText';
38
- A11yText.propTypes = { ...selectedSystemPropTypes,
39
- text: PropTypes.string.isRequired,
40
- heading: PropTypes.bool
41
- };
42
- const styles = StyleSheet.create({
43
- invisible: {
44
- // Without width or height it is not shown
45
- minHeight: 1,
46
- minWidth: 1,
47
- // Ensures it doesn't occupy space
48
- // position: 'absolute' causes it to be read first in its container
49
- marginEnd: -1,
50
- marginBottom: -1,
51
- // Ensures it is in the correct position on Native
52
- top: -1
53
- }
54
- });
55
- export default A11yText;