@telus-uds/components-base 1.7.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 (509) hide show
  1. package/CHANGELOG.md +41 -2
  2. package/component-docs.json +944 -691
  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 +140 -65
  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 +30 -28
  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 +29 -24
  27. package/lib/Feedback/Feedback.js +48 -35
  28. package/lib/Fieldset/Fieldset.js +22 -14
  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 +44 -30
  46. package/lib/InputLabel/LabelContent.js +12 -9
  47. package/lib/InputLabel/LabelContent.native.js +9 -6
  48. package/lib/InputSupports/InputSupports.js +17 -9
  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 +47 -34
  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 +39 -30
  70. package/lib/Radio/RadioInput.js +12 -10
  71. package/lib/RadioCard/RadioCard.js +15 -14
  72. package/lib/RadioCard/RadioCardGroup.js +34 -25
  73. package/lib/Search/Search.js +52 -32
  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 +106 -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 +95 -72
  111. package/lib/ToggleSwitch/ToggleSwitchGroup.js +42 -33
  112. package/lib/Tooltip/Backdrop.js +4 -3
  113. package/lib/Tooltip/Backdrop.native.js +5 -4
  114. package/lib/Tooltip/Tooltip.js +82 -66
  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 +32 -18
  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 +21 -11
  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 +18 -12
  144. package/src/Button/ButtonGroup.jsx +106 -41
  145. package/src/Checkbox/Checkbox.jsx +7 -4
  146. package/src/Checkbox/CheckboxGroup.jsx +3 -3
  147. package/src/ExpandCollapse/Panel.jsx +3 -1
  148. package/src/Fieldset/Fieldset.jsx +6 -0
  149. package/src/InputLabel/InputLabel.jsx +17 -2
  150. package/src/InputSupports/InputSupports.jsx +9 -1
  151. package/src/Notification/Notification.jsx +1 -1
  152. package/src/Pagination/Pagination.jsx +3 -0
  153. package/src/Radio/Radio.jsx +5 -1
  154. package/src/Radio/RadioGroup.jsx +11 -5
  155. package/src/RadioCard/RadioCard.jsx +5 -1
  156. package/src/RadioCard/RadioCardGroup.jsx +6 -0
  157. package/src/Search/Search.jsx +12 -1
  158. package/src/Select/Item.native.jsx +0 -7
  159. package/src/Skeleton/Skeleton.jsx +56 -3
  160. package/src/ToggleSwitch/ToggleSwitch.jsx +6 -0
  161. package/src/ToggleSwitch/ToggleSwitchGroup.jsx +6 -0
  162. package/src/Tooltip/Tooltip.jsx +1 -1
  163. package/src/utils/animation/useVerticalExpandAnimation.js +25 -12
  164. package/src/utils/props/inputSupportsProps.js +6 -1
  165. package/src/utils/props/tokens.js +21 -19
  166. package/.storybook/main.js +0 -4
  167. package/.storybook/preview.js +0 -37
  168. package/.turbo/turbo-build.log +0 -8
  169. package/.turbo/turbo-lint.log +0 -13
  170. package/CHANGELOG.json +0 -250
  171. package/__fixtures__/Accessible.js +0 -35
  172. package/__fixtures__/Accessible.native.js +0 -35
  173. package/__fixtures__/Theme.jsx +0 -13
  174. package/__fixtures__/Viewport.jsx +0 -17
  175. package/__fixtures__/test-utils.js +0 -25
  176. package/__fixtures__/testTheme.js +0 -1830
  177. package/__tests__/A11yText/A11yText.test.jsx +0 -34
  178. package/__tests__/ActivityIndicator/ActivityIndicator.test.jsx +0 -68
  179. package/__tests__/ActivityIndicator/__snapshots__/ActivityIndicator.test.jsx.snap +0 -287
  180. package/__tests__/Box/Box.test.jsx +0 -111
  181. package/__tests__/Button/Button.test.jsx +0 -86
  182. package/__tests__/Button/ButtonBase.test.jsx +0 -82
  183. package/__tests__/Button/ButtonGroup.test.jsx +0 -347
  184. package/__tests__/Button/ButtonLink.test.jsx +0 -61
  185. package/__tests__/Card/Card.test.jsx +0 -63
  186. package/__tests__/Checkbox/Checkbox.test.jsx +0 -94
  187. package/__tests__/Checkbox/CheckboxGroup.test.jsx +0 -246
  188. package/__tests__/Divider/Divider.test.jsx +0 -91
  189. package/__tests__/ExpandCollapse/ExpandCollapse.test.jsx +0 -109
  190. package/__tests__/Feedback/Feedback.test.jsx +0 -42
  191. package/__tests__/FlexGrid/Col.test.jsx +0 -256
  192. package/__tests__/FlexGrid/FlexGrid.test.jsx +0 -136
  193. package/__tests__/FlexGrid/Row.test.jsx +0 -273
  194. package/__tests__/HorizontalScroll/HorizontalScroll.test.jsx +0 -165
  195. package/__tests__/Icon/Icon.test.jsx +0 -61
  196. package/__tests__/IconButton/IconButton.test.jsx +0 -52
  197. package/__tests__/InputSupports/InputSupports.test.jsx +0 -50
  198. package/__tests__/Link/Link.test.jsx +0 -63
  199. package/__tests__/Link/TextButton.test.jsx +0 -35
  200. package/__tests__/List/List.test.jsx +0 -60
  201. package/__tests__/Modal/Modal.test.jsx +0 -47
  202. package/__tests__/Notification/Notification.test.jsx +0 -20
  203. package/__tests__/Pagination/Pagination.test.jsx +0 -160
  204. package/__tests__/Progress/Progress.test.jsx +0 -79
  205. package/__tests__/Radio/Radio.test.jsx +0 -87
  206. package/__tests__/Radio/RadioGroup.test.jsx +0 -220
  207. package/__tests__/RadioCard/RadioCard.test.jsx +0 -87
  208. package/__tests__/RadioCard/RadioCardGroup.test.jsx +0 -246
  209. package/__tests__/Search/Search.test.jsx +0 -73
  210. package/__tests__/Select/Select.test.jsx +0 -94
  211. package/__tests__/SideNav/SideNav.test.jsx +0 -110
  212. package/__tests__/Skeleton/Skeleton.test.jsx +0 -61
  213. package/__tests__/Spacer/Spacer.test.jsx +0 -63
  214. package/__tests__/StackView/StackView.test.jsx +0 -216
  215. package/__tests__/StackView/StackWrap.test.jsx +0 -47
  216. package/__tests__/StackView/getStackedContent.test.jsx +0 -295
  217. package/__tests__/StepTracker/StepTracker.test.jsx +0 -94
  218. package/__tests__/Tabs/Tabs.test.jsx +0 -40
  219. package/__tests__/Tags/Tags.test.jsx +0 -327
  220. package/__tests__/TextInput/TextArea.test.jsx +0 -35
  221. package/__tests__/TextInput/TextInputBase.test.jsx +0 -125
  222. package/__tests__/ThemeProvider/ThemeProvider.test.jsx +0 -77
  223. package/__tests__/ThemeProvider/useThemeTokens.test.jsx +0 -514
  224. package/__tests__/ThemeProvider/utils/theme-tokens.test.js +0 -41
  225. package/__tests__/ToggleSwitch/ToggleSwitch.test.jsx +0 -82
  226. package/__tests__/ToggleSwitch/ToggleSwitchGroup.test.jsx +0 -192
  227. package/__tests__/Tooltip/Tooltip.test.jsx +0 -65
  228. package/__tests__/Tooltip/getTooltipPosition.test.js +0 -79
  229. package/__tests__/Typography/typography.test.jsx +0 -90
  230. package/__tests__/utils/children.test.jsx +0 -128
  231. package/__tests__/utils/containUniqueFields.test.js +0 -25
  232. package/__tests__/utils/input.test.js +0 -375
  233. package/__tests__/utils/props.test.js +0 -36
  234. package/__tests__/utils/semantics.test.jsx +0 -34
  235. package/__tests__/utils/useCopy.test.js +0 -42
  236. package/__tests__/utils/useResponsiveProp.test.jsx +0 -202
  237. package/__tests__/utils/useSpacingScale.test.jsx +0 -273
  238. package/__tests__/utils/useUniqueId.test.js +0 -31
  239. package/babel.config.js +0 -35
  240. package/generate-component-docs.js +0 -72
  241. package/jest.config.js +0 -32
  242. package/lib-module/A11yInfoProvider/index.js +0 -62
  243. package/lib-module/A11yText/index.js +0 -55
  244. package/lib-module/ActivityIndicator/Spinner.js +0 -76
  245. package/lib-module/ActivityIndicator/Spinner.native.js +0 -143
  246. package/lib-module/ActivityIndicator/index.js +0 -40
  247. package/lib-module/ActivityIndicator/shared.js +0 -12
  248. package/lib-module/BaseProvider/index.js +0 -26
  249. package/lib-module/Box/Box.js +0 -243
  250. package/lib-module/Box/index.js +0 -2
  251. package/lib-module/Button/Button.js +0 -25
  252. package/lib-module/Button/ButtonBase.js +0 -254
  253. package/lib-module/Button/ButtonGroup.js +0 -173
  254. package/lib-module/Button/ButtonLink.js +0 -39
  255. package/lib-module/Button/index.js +0 -4
  256. package/lib-module/Button/propTypes.js +0 -36
  257. package/lib-module/Card/Card.js +0 -83
  258. package/lib-module/Card/CardBase.js +0 -62
  259. package/lib-module/Card/PressableCardBase.js +0 -113
  260. package/lib-module/Card/index.js +0 -4
  261. package/lib-module/Checkbox/Checkbox.js +0 -332
  262. package/lib-module/Checkbox/CheckboxGroup.js +0 -231
  263. package/lib-module/Checkbox/CheckboxInput.js +0 -58
  264. package/lib-module/Checkbox/CheckboxInput.native.js +0 -6
  265. package/lib-module/Checkbox/index.js +0 -3
  266. package/lib-module/Divider/Divider.js +0 -123
  267. package/lib-module/Divider/index.js +0 -2
  268. package/lib-module/ExpandCollapse/Accordion.js +0 -15
  269. package/lib-module/ExpandCollapse/Control.js +0 -130
  270. package/lib-module/ExpandCollapse/ExpandCollapse.js +0 -94
  271. package/lib-module/ExpandCollapse/Panel.js +0 -158
  272. package/lib-module/ExpandCollapse/index.js +0 -7
  273. package/lib-module/Feedback/Feedback.js +0 -144
  274. package/lib-module/Feedback/index.js +0 -2
  275. package/lib-module/Fieldset/Fieldset.js +0 -145
  276. package/lib-module/Fieldset/FieldsetContainer.js +0 -29
  277. package/lib-module/Fieldset/FieldsetContainer.native.js +0 -20
  278. package/lib-module/Fieldset/Legend.js +0 -21
  279. package/lib-module/Fieldset/Legend.native.js +0 -28
  280. package/lib-module/Fieldset/cssReset.js +0 -14
  281. package/lib-module/Fieldset/index.js +0 -2
  282. package/lib-module/FlexGrid/Col/Col.js +0 -275
  283. package/lib-module/FlexGrid/Col/index.js +0 -2
  284. package/lib-module/FlexGrid/FlexGrid.js +0 -147
  285. package/lib-module/FlexGrid/Row/Row.js +0 -183
  286. package/lib-module/FlexGrid/Row/index.js +0 -2
  287. package/lib-module/FlexGrid/helpers/index.js +0 -18
  288. package/lib-module/FlexGrid/index.js +0 -2
  289. package/lib-module/FlexGrid/providers/GutterContext.js +0 -3
  290. package/lib-module/HorizontalScroll/HorizontalScroll.js +0 -170
  291. package/lib-module/HorizontalScroll/HorizontalScrollButton.js +0 -77
  292. package/lib-module/HorizontalScroll/ScrollViewEnd.js +0 -47
  293. package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +0 -24
  294. package/lib-module/HorizontalScroll/dictionary.js +0 -11
  295. package/lib-module/HorizontalScroll/index.js +0 -11
  296. package/lib-module/HorizontalScroll/itemPositions.js +0 -106
  297. package/lib-module/Icon/Icon.js +0 -61
  298. package/lib-module/Icon/IconText.js +0 -81
  299. package/lib-module/Icon/index.js +0 -4
  300. package/lib-module/IconButton/IconButton.js +0 -115
  301. package/lib-module/IconButton/index.js +0 -2
  302. package/lib-module/InputLabel/InputLabel.js +0 -134
  303. package/lib-module/InputLabel/LabelContent.js +0 -24
  304. package/lib-module/InputLabel/LabelContent.native.js +0 -16
  305. package/lib-module/InputLabel/index.js +0 -2
  306. package/lib-module/InputSupports/InputSupports.js +0 -88
  307. package/lib-module/InputSupports/index.js +0 -2
  308. package/lib-module/InputSupports/useInputSupports.js +0 -31
  309. package/lib-module/Link/ChevronLink.js +0 -51
  310. package/lib-module/Link/InlinePressable.js +0 -37
  311. package/lib-module/Link/InlinePressable.native.js +0 -85
  312. package/lib-module/Link/Link.js +0 -27
  313. package/lib-module/Link/LinkBase.js +0 -223
  314. package/lib-module/Link/TextButton.js +0 -34
  315. package/lib-module/Link/index.js +0 -5
  316. package/lib-module/List/List.js +0 -55
  317. package/lib-module/List/ListItem.js +0 -223
  318. package/lib-module/List/index.js +0 -5
  319. package/lib-module/Modal/Modal.js +0 -208
  320. package/lib-module/Modal/dictionary.js +0 -9
  321. package/lib-module/Modal/index.js +0 -2
  322. package/lib-module/Notification/Notification.js +0 -196
  323. package/lib-module/Notification/dictionary.js +0 -8
  324. package/lib-module/Notification/index.js +0 -2
  325. package/lib-module/Pagination/PageButton.js +0 -65
  326. package/lib-module/Pagination/Pagination.js +0 -140
  327. package/lib-module/Pagination/SideButton.js +0 -103
  328. package/lib-module/Pagination/dictionary.js +0 -18
  329. package/lib-module/Pagination/index.js +0 -2
  330. package/lib-module/Pagination/usePagination.js +0 -72
  331. package/lib-module/Progress/Progress.js +0 -85
  332. package/lib-module/Progress/ProgressBar.js +0 -134
  333. package/lib-module/Progress/ProgressBarBackground.js +0 -41
  334. package/lib-module/Progress/index.js +0 -4
  335. package/lib-module/Radio/Radio.js +0 -274
  336. package/lib-module/Radio/RadioButton.js +0 -128
  337. package/lib-module/Radio/RadioGroup.js +0 -234
  338. package/lib-module/Radio/RadioInput.js +0 -60
  339. package/lib-module/Radio/RadioInput.native.js +0 -6
  340. package/lib-module/Radio/index.js +0 -3
  341. package/lib-module/RadioCard/RadioCard.js +0 -218
  342. package/lib-module/RadioCard/RadioCardGroup.js +0 -241
  343. package/lib-module/RadioCard/index.js +0 -3
  344. package/lib-module/Search/Search.js +0 -241
  345. package/lib-module/Search/dictionary.js +0 -12
  346. package/lib-module/Search/index.js +0 -2
  347. package/lib-module/Select/Group.js +0 -20
  348. package/lib-module/Select/Group.native.js +0 -14
  349. package/lib-module/Select/Item.js +0 -17
  350. package/lib-module/Select/Item.native.js +0 -9
  351. package/lib-module/Select/Picker.js +0 -67
  352. package/lib-module/Select/Picker.native.js +0 -110
  353. package/lib-module/Select/Select.js +0 -316
  354. package/lib-module/Select/index.js +0 -6
  355. package/lib-module/SideNav/Item.js +0 -139
  356. package/lib-module/SideNav/ItemContent.js +0 -45
  357. package/lib-module/SideNav/ItemsGroup.js +0 -115
  358. package/lib-module/SideNav/SideNav.js +0 -133
  359. package/lib-module/SideNav/index.js +0 -1
  360. package/lib-module/Skeleton/Skeleton.js +0 -117
  361. package/lib-module/Skeleton/index.js +0 -2
  362. package/lib-module/Skeleton/skeleton.constant.js +0 -3
  363. package/lib-module/Skeleton/skeletonWebAnimation.js +0 -18
  364. package/lib-module/Skeleton/useSkeletonNativeAnimation.js +0 -24
  365. package/lib-module/Spacer/Spacer.js +0 -97
  366. package/lib-module/Spacer/index.js +0 -2
  367. package/lib-module/StackView/StackView.js +0 -124
  368. package/lib-module/StackView/StackWrap.js +0 -48
  369. package/lib-module/StackView/StackWrap.native.js +0 -3
  370. package/lib-module/StackView/StackWrapBox.js +0 -114
  371. package/lib-module/StackView/StackWrapGap.js +0 -58
  372. package/lib-module/StackView/common.js +0 -32
  373. package/lib-module/StackView/getStackedContent.js +0 -123
  374. package/lib-module/StackView/index.js +0 -5
  375. package/lib-module/StepTracker/Step.js +0 -229
  376. package/lib-module/StepTracker/StepTracker.js +0 -175
  377. package/lib-module/StepTracker/dictionary.js +0 -10
  378. package/lib-module/StepTracker/index.js +0 -2
  379. package/lib-module/Tabs/Tabs.js +0 -113
  380. package/lib-module/Tabs/TabsItem.js +0 -215
  381. package/lib-module/Tabs/index.js +0 -2
  382. package/lib-module/Tags/Tags.js +0 -245
  383. package/lib-module/Tags/index.js +0 -2
  384. package/lib-module/TextInput/TextArea.js +0 -88
  385. package/lib-module/TextInput/TextInput.js +0 -68
  386. package/lib-module/TextInput/TextInputBase.js +0 -233
  387. package/lib-module/TextInput/index.js +0 -3
  388. package/lib-module/TextInput/propTypes.js +0 -37
  389. package/lib-module/ThemeProvider/ThemeProvider.js +0 -35
  390. package/lib-module/ThemeProvider/index.js +0 -6
  391. package/lib-module/ThemeProvider/useSetTheme.js +0 -22
  392. package/lib-module/ThemeProvider/useTheme.js +0 -14
  393. package/lib-module/ThemeProvider/useThemeTokens.js +0 -105
  394. package/lib-module/ThemeProvider/utils/index.js +0 -2
  395. package/lib-module/ThemeProvider/utils/styles.js +0 -174
  396. package/lib-module/ThemeProvider/utils/theme-tokens.js +0 -151
  397. package/lib-module/ToggleSwitch/ToggleSwitch.js +0 -227
  398. package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +0 -211
  399. package/lib-module/ToggleSwitch/index.js +0 -3
  400. package/lib-module/Tooltip/Backdrop.js +0 -52
  401. package/lib-module/Tooltip/Backdrop.native.js +0 -43
  402. package/lib-module/Tooltip/Tooltip.js +0 -332
  403. package/lib-module/Tooltip/dictionary.js +0 -8
  404. package/lib-module/Tooltip/getTooltipPosition.js +0 -164
  405. package/lib-module/Tooltip/index.js +0 -2
  406. package/lib-module/TooltipButton/TooltipButton.js +0 -71
  407. package/lib-module/TooltipButton/index.js +0 -2
  408. package/lib-module/Typography/Typography.js +0 -120
  409. package/lib-module/Typography/index.js +0 -2
  410. package/lib-module/ViewportProvider/ViewportProvider.js +0 -28
  411. package/lib-module/ViewportProvider/index.js +0 -3
  412. package/lib-module/ViewportProvider/useViewport.js +0 -3
  413. package/lib-module/ViewportProvider/useViewportListener.js +0 -43
  414. package/lib-module/index.js +0 -48
  415. package/lib-module/utils/a11y/index.js +0 -2
  416. package/lib-module/utils/a11y/semantics.js +0 -154
  417. package/lib-module/utils/a11y/textSize.js +0 -34
  418. package/lib-module/utils/animation/index.js +0 -2
  419. package/lib-module/utils/animation/useVerticalExpandAnimation.js +0 -49
  420. package/lib-module/utils/children.js +0 -118
  421. package/lib-module/utils/containUniqueFields.js +0 -26
  422. package/lib-module/utils/index.js +0 -16
  423. package/lib-module/utils/info/index.js +0 -7
  424. package/lib-module/utils/info/platform/index.js +0 -11
  425. package/lib-module/utils/info/platform/platform.android.js +0 -1
  426. package/lib-module/utils/info/platform/platform.ios.js +0 -1
  427. package/lib-module/utils/info/platform/platform.js +0 -1
  428. package/lib-module/utils/info/platform/platform.native.js +0 -4
  429. package/lib-module/utils/info/versions.js +0 -5
  430. package/lib-module/utils/input.js +0 -180
  431. package/lib-module/utils/pressability.js +0 -97
  432. package/lib-module/utils/props/a11yProps.js +0 -140
  433. package/lib-module/utils/props/clickProps.js +0 -25
  434. package/lib-module/utils/props/componentPropType.js +0 -63
  435. package/lib-module/utils/props/copyPropTypes.js +0 -2
  436. package/lib-module/utils/props/getPropSelector.js +0 -6
  437. package/lib-module/utils/props/handlerProps.js +0 -59
  438. package/lib-module/utils/props/hrefAttrsProp.js +0 -30
  439. package/lib-module/utils/props/index.js +0 -19
  440. package/lib-module/utils/props/inputSupportsProps.js +0 -52
  441. package/lib-module/utils/props/linkProps.js +0 -43
  442. package/lib-module/utils/props/paddingProp.js +0 -9
  443. package/lib-module/utils/props/pressProps.js +0 -42
  444. package/lib-module/utils/props/rectProp.js +0 -9
  445. package/lib-module/utils/props/responsiveProps.js +0 -30
  446. package/lib-module/utils/props/selectSystemProps.js +0 -24
  447. package/lib-module/utils/props/spacingProps.js +0 -56
  448. package/lib-module/utils/props/textInputProps.js +0 -194
  449. package/lib-module/utils/props/textProps.js +0 -59
  450. package/lib-module/utils/props/tokens.js +0 -120
  451. package/lib-module/utils/props/variantProp.js +0 -18
  452. package/lib-module/utils/props/viewProps.js +0 -22
  453. package/lib-module/utils/ssr.js +0 -35
  454. package/lib-module/utils/useCopy.js +0 -42
  455. package/lib-module/utils/useHash.js +0 -44
  456. package/lib-module/utils/useHash.native.js +0 -7
  457. package/lib-module/utils/useResponsiveProp.js +0 -47
  458. package/lib-module/utils/useSpacingScale.js +0 -123
  459. package/lib-module/utils/useUniqueId.js +0 -12
  460. package/lib-module/utils/withLinkRouter.js +0 -82
  461. package/stories/A11yText/A11yText.stories.jsx +0 -71
  462. package/stories/ActivityIndicator/ActivityIndicator.stories.jsx +0 -22
  463. package/stories/Box/Box.stories.jsx +0 -143
  464. package/stories/Button/Button.stories.jsx +0 -72
  465. package/stories/Button/ButtonGroup.stories.jsx +0 -81
  466. package/stories/Button/ButtonLink.stories.jsx +0 -30
  467. package/stories/Card/Card.stories.jsx +0 -62
  468. package/stories/Checkbox/Checkbox.stories.jsx +0 -94
  469. package/stories/Divider/Divider.stories.jsx +0 -68
  470. package/stories/ExpandCollapse/ExpandCollapse.stories.jsx +0 -112
  471. package/stories/Feedback/Feedback.stories.jsx +0 -96
  472. package/stories/FlexGrid/01 FlexGrid.stories.jsx +0 -54
  473. package/stories/FlexGrid/02 Row.stories.jsx +0 -41
  474. package/stories/FlexGrid/03 Col.stories.jsx +0 -141
  475. package/stories/Icon/Icon.stories.jsx +0 -79
  476. package/stories/IconButton/IconButton.stories.jsx +0 -50
  477. package/stories/InputLabel/InputLabel.stories.jsx +0 -39
  478. package/stories/Link/ChevronLink.stories.jsx +0 -48
  479. package/stories/Link/Link.stories.jsx +0 -90
  480. package/stories/Link/TextButton.stories.jsx +0 -79
  481. package/stories/List/List.stories.jsx +0 -117
  482. package/stories/Modal/Modal.stories.jsx +0 -54
  483. package/stories/Notification/Notification.stories.jsx +0 -82
  484. package/stories/Pagination/Pagination.stories.jsx +0 -64
  485. package/stories/Progress/Progress.stories.jsx +0 -93
  486. package/stories/Radio/Radio.stories.jsx +0 -100
  487. package/stories/RadioCard/RadioCard.stories.jsx +0 -98
  488. package/stories/Search/Search.stories.jsx +0 -66
  489. package/stories/Select/Select.stories.jsx +0 -55
  490. package/stories/SideNav/SideNav.stories.jsx +0 -42
  491. package/stories/SideNav/SideNavItem.stories.jsx +0 -9
  492. package/stories/SideNav/SideNavItemsGroup.stories.jsx +0 -17
  493. package/stories/Skeleton/Skeleton.stories.jsx +0 -36
  494. package/stories/Spacer/Spacer.stories.jsx +0 -38
  495. package/stories/StackView/StackView.stories.jsx +0 -75
  496. package/stories/StackView/StackWrap.stories.jsx +0 -64
  497. package/stories/StepTracker/StepTracker.stories.jsx +0 -71
  498. package/stories/Tabs/Tabs.stories.jsx +0 -97
  499. package/stories/Tags/Tags.stories.jsx +0 -69
  500. package/stories/TextInput/TextArea.stories.jsx +0 -101
  501. package/stories/TextInput/TextInput.stories.jsx +0 -141
  502. package/stories/ToggleSwitch/ToggleSwitch.stories.jsx +0 -64
  503. package/stories/ToggleSwitch/ToggleSwitchGroup.stories.jsx +0 -81
  504. package/stories/Tooltip/Tooltip.stories.jsx +0 -81
  505. package/stories/TooltipButton/TooltipButton.stories.jsx +0 -11
  506. package/stories/Typography/Typography.stories.jsx +0 -49
  507. package/stories/platform-supports.jsx +0 -32
  508. package/stories/platform-supports.native.jsx +0 -3
  509. package/stories/supports.jsx +0 -236
@@ -1,51 +0,0 @@
1
- import React, { forwardRef } from 'react';
2
- import PropTypes from 'prop-types';
3
- import { useThemeTokensCallback } from '../ThemeProvider';
4
- import { selectTokens, getTokensPropType } from '../utils';
5
- import LinkBase from './LinkBase';
6
- /**
7
- * `ChevronLink` is a convenience wrapper around the `Link` component to enable "directional" links.
8
- * It effectively pre-binds left and right icons, and a directional translation of the icon on hover.
9
- *
10
- * ChevronLink is not intended to be deeply themable; variants passed to ChevronLink are forwarded to Link.
11
- */
12
-
13
- import { jsx as _jsx } from "react/jsx-runtime";
14
- const ChevronLink = /*#__PURE__*/forwardRef(({
15
- direction = 'right',
16
- children,
17
- tokens,
18
- variant,
19
- dataSet,
20
- ...linkProps
21
- }, ref) => {
22
- const getChevronTokens = useThemeTokensCallback('ChevronLink', tokens, variant);
23
-
24
- const applyChevronTokens = linkState => {
25
- const {
26
- leftIcon,
27
- rightIcon,
28
- iconDisplace,
29
- ...otherTokens
30
- } = getChevronTokens(linkState);
31
- return { ...selectTokens('Link', otherTokens),
32
- icon: direction === 'right' ? rightIcon : leftIcon,
33
- iconTranslateX: iconDisplace * (direction === 'right' ? 1 : -1) || 0
34
- };
35
- };
36
-
37
- const getTokens = useThemeTokensCallback('Link', applyChevronTokens, variant);
38
- return /*#__PURE__*/_jsx(LinkBase, { ...linkProps,
39
- iconPosition: direction,
40
- tokens: getTokens,
41
- dataSet: dataSet,
42
- ref: ref,
43
- children: children
44
- });
45
- });
46
- ChevronLink.displayName = 'ChevronLink';
47
- ChevronLink.propTypes = { ...LinkBase.propTypes,
48
- tokens: getTokensPropType('ChevronLink', 'Link'),
49
- direction: PropTypes.oneOf(['left', 'right'])
50
- };
51
- export default ChevronLink;
@@ -1,37 +0,0 @@
1
- import React, { forwardRef } from 'react';
2
- import Pressable from "react-native-web/dist/exports/Pressable";
3
- import StyleSheet from "react-native-web/dist/exports/StyleSheet";
4
- /**
5
- * @typedef {import('react-native').PressableProps} PressableProps
6
- */
7
-
8
- /**
9
- * InlinePressable is an alternative to React Native's Pressable that works better when nested
10
- * inline inside Text. It accepts the same props as React Native's Pressable.
11
- *
12
- * On Web it simply passes its props to Pressable and defaults to `inline-flex` instead of `flex`.
13
- *
14
- * @param {PressableProps} PressableProps
15
- */
16
- // React Native exports prop Types but not propTypes, use JSDoc types here rather than duplicate RN
17
- // eslint-disable-next-line react/prop-types
18
-
19
- import { jsx as _jsx } from "react/jsx-runtime";
20
- const InlinePressable = /*#__PURE__*/forwardRef(({
21
- children,
22
- style,
23
- ...props
24
- }, ref) => /*#__PURE__*/_jsx(Pressable, {
25
- ref: ref,
26
- style: pressState => [staticStyles.inline, typeof style === 'function' ? style(pressState) : style],
27
- ...props,
28
- children: pressState => typeof children === 'function' ? children(pressState) : children
29
- }));
30
- InlinePressable.displayName = 'InlinePressable';
31
- const staticStyles = StyleSheet.create({
32
- inline: {
33
- // Stop Pressable defaulting to (block) flex
34
- display: 'inline-flex'
35
- }
36
- });
37
- export default InlinePressable;
@@ -1,85 +0,0 @@
1
- /* eslint-disable camelcase */
2
- import React, { forwardRef, useState } from 'react';
3
- import Text from "react-native-web/dist/exports/Text";
4
- import TouchableWithoutFeedback from "react-native-web/dist/exports/TouchableWithoutFeedback";
5
- /**
6
- * @typedef {import('react-native').PressableProps} PressableProps
7
- */
8
- // TouchableWithoutFeedback and Pressable have similar but not identical props APIs
9
-
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
-
12
- const pressablePropsToTouchable = ({
13
- unstable_pressDelay,
14
- android_disableSound,
15
- android_ripple,
16
- // Unsupported, discard it
17
- ...props
18
- }) => ({ ...props,
19
- touchSoundDisabled: android_disableSound,
20
- delayPressIn: unstable_pressDelay
21
- });
22
- /**
23
- * InlinePressable is an alternative to React Native's Pressable that works better when nested
24
- * inline inside Text. It accepts the same props as React Native's Pressable.
25
- *
26
- * There are a lot of React Native bugs around Views/Pressables nested in Text, e.g.:
27
- *
28
- * - https://github.com/facebook/react-native/issues/23601#issuecomment-468069822
29
- * - https://github.com/facebook/react-native/issues/30375
30
- * - https://github.com/facebook/react-native/issues/31955
31
- *
32
- * On Native, these can be avoided using a `Text` wrapped in a `TouchableWithoutFeedback`; the latter
33
- * injects additional handlers such as onPressIn to `Text`, resulting in a tree that is purely `Text`.
34
- *
35
- * Note that this should only be used on Native, not Web, because React Navigation's Web navigation
36
- * functions don't work in Touchables (but do work in Pressable) due to different event handling.
37
- *
38
- * @param {PressableProps} PressableProps
39
- */
40
- // React Native exports prop Types but not propTypes, use JSDoc types here rather than duplicate RN
41
- // eslint-disable-next-line react/prop-types
42
-
43
-
44
- const InlinePressable = /*#__PURE__*/forwardRef(({
45
- onPress,
46
- children,
47
- style,
48
- ...rest
49
- }, ref) => {
50
- const [isFocused, setIsFocused] = useState(false);
51
-
52
- const handleFocus = () => setIsFocused(true);
53
-
54
- const handleBlur = () => setIsFocused(false);
55
-
56
- const [isPressed, setIsPressed] = useState(false);
57
-
58
- const handlePressIn = () => setIsPressed(true);
59
-
60
- const handlePressOut = () => setIsPressed(false);
61
-
62
- const pressState = {
63
- pressed: isPressed,
64
- focus: isFocused,
65
- // limited support on native
66
- hover: false // not yet supported on native
67
-
68
- };
69
- const currentStyle = typeof style === 'function' ? style(pressState) : style;
70
- return /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
71
- onPress: onPress,
72
- onPressIn: handlePressIn,
73
- onPressOut: handlePressOut,
74
- onFocus: handleFocus,
75
- onBlur: handleBlur,
76
- ref: ref,
77
- ...pressablePropsToTouchable(rest),
78
- children: /*#__PURE__*/_jsx(Text, {
79
- style: currentStyle,
80
- children: typeof children === 'function' ? children(pressState) : children
81
- })
82
- });
83
- });
84
- InlinePressable.displayName = 'InlinePressable';
85
- export default InlinePressable;
@@ -1,27 +0,0 @@
1
- import React, { forwardRef } from 'react';
2
- import { useThemeTokensCallback } from '../ThemeProvider';
3
- import LinkBase from './LinkBase';
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- const Link = /*#__PURE__*/forwardRef(({
6
- href,
7
- children,
8
- accessibilityRole = 'link',
9
- variant = {},
10
- tokens,
11
- dataSet,
12
- ...linkProps
13
- }, ref) => {
14
- const getTokens = useThemeTokensCallback('Link', tokens, variant);
15
- return /*#__PURE__*/_jsx(LinkBase, {
16
- href: href,
17
- accessibilityRole: accessibilityRole,
18
- tokens: getTokens,
19
- ref: ref,
20
- dataSet: dataSet,
21
- ...linkProps,
22
- children: children
23
- });
24
- });
25
- Link.displayName = 'Link';
26
- Link.propTypes = LinkBase.propTypes;
27
- export default Link;
@@ -1,223 +0,0 @@
1
- import React, { forwardRef } from 'react';
2
- import PropTypes from 'prop-types';
3
- import Text from "react-native-web/dist/exports/Text";
4
- import Platform from "react-native-web/dist/exports/Platform";
5
- import StyleSheet from "react-native-web/dist/exports/StyleSheet";
6
- import { a11yProps, clickProps, getTokensPropType, hrefAttrsProp, linkProps, selectSystemProps, variantProp, viewProps } from '../utils/props';
7
- import { resolvePressableTokens } from '../utils/pressability';
8
- import { withLinkRouter } from '../utils';
9
- import InlinePressable from './InlinePressable';
10
- import { applyTextStyles, applyOuterBorder } from '../ThemeProvider';
11
- import { IconText, iconComponentPropTypes } from '../Icon';
12
- import { jsx as _jsx } from "react/jsx-runtime";
13
- const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, linkProps, viewProps]);
14
-
15
- const selectOuterBorderStyles = ({
16
- outerBorderColor,
17
- outerBorderWidth,
18
- outerBorderGap,
19
- borderRadius,
20
- outerBorderOutline
21
- }) => // A view wrapper with a border on native messes up inline text alignment
22
- // so for now make focus styles strictly web-only
23
- Platform.OS === 'web' ? {
24
- // Allow theme to define outline, or, turn off outline and use border if rounded corners required
25
- outline: outerBorderOutline,
26
- ...applyOuterBorder({
27
- outerBorderColor,
28
- outerBorderWidth,
29
- outerBorderGap,
30
- borderRadius
31
- }),
32
- // Stops focus ring stretching horizontally if parent has display: block
33
- // width: fit-content isn't supported on Firefox; can't cascade props like CSS `width: fit-content; width: --moz-fit-content;`
34
- display: 'inline-flex'
35
- } : {};
36
-
37
- const selectTextStyles = ({
38
- color
39
- }) => ({
40
- color,
41
- ...Platform.select({
42
- web: {
43
- // TODO: https://github.com/telus/universal-design-system/issues/487
44
- transition: 'color 200ms'
45
- }
46
- })
47
- });
48
-
49
- const selectBlockStyles = ({
50
- blockFontWeight,
51
- blockFontSize,
52
- blockLineHeight,
53
- blockFontName
54
- }) => applyTextStyles({
55
- fontWeight: blockFontWeight,
56
- fontSize: blockFontSize,
57
- lineHeight: blockLineHeight,
58
- fontName: blockFontName
59
- });
60
-
61
- const selectDecorationStyles = ({
62
- color,
63
- textLine,
64
- textLineStyle
65
- }) => ({
66
- color,
67
- textDecorationLine: textLine,
68
- textDecorationStyle: textLineStyle,
69
- ...Platform.select({
70
- web: {
71
- // TODO: https://github.com/telus/universal-design-system/issues/487
72
- transition: 'color 200ms'
73
- }
74
- })
75
- });
76
-
77
- const selectIconTokens = ({
78
- color,
79
- iconSize,
80
- iconTranslateX,
81
- iconTranslateY
82
- }) => ({
83
- color,
84
- translateX: iconTranslateX,
85
- translateY: iconTranslateY,
86
- size: iconSize
87
- });
88
- /**
89
- * Renders a pressable text link, with optional icon. This is rendered as a block element
90
- * only (see 'Current Limitations'). On Web, renders an `<a>` anchor tag if `href` is provided.
91
- *
92
- * ## Current limitations
93
- *
94
- * - Not yet integrated with widely-used Telus navigation packages. This will probably
95
- * require adding a `navigate` prop that aliases onPress so this can be passed to
96
- * router's Link components' `Component` or `as` props but this needs testing
97
- * as part of https://github.com/telus/universal-design-system/issues/24
98
- *
99
- * - Doesn't work inline e.g. in paragraphs. Support for inline links in native and
100
- * web was implemented in https://github.com/telus/universal-design-system/pull/233
101
- * but removed and will need to be restored at some point. When inline link support
102
- * is restored, icons in inline links on Android will be slightly off-centre
103
- * vertically (see )
104
- *
105
- * - Doesn't support :visited styles on web. Support for :visited styles was
106
- * implemented in https://github.com/telus/universal-design-system/pull/234 but
107
- * dropped in favour of investigating if a full-featured CSS-in-JS package could or
108
- * should be used more widely (e.g. styled components)
109
- */
110
-
111
-
112
- const LinkBase = /*#__PURE__*/forwardRef(({
113
- href,
114
- icon,
115
- iconPosition = icon ? 'left' : undefined,
116
- iconProps,
117
- variant,
118
- tokens = {},
119
- children,
120
- accessibilityRole = 'link',
121
- ...rawRest
122
- }, ref) => {
123
- const {
124
- onPress,
125
- ...props
126
- } = clickProps.toPressProps(rawRest);
127
- const {
128
- hrefAttrs,
129
- rest
130
- } = hrefAttrsProp.bundle(props);
131
- const selectedProps = selectProps({
132
- accessibilityRole,
133
- href,
134
- onPress: linkProps.handleHref({
135
- href,
136
- onPress
137
- }),
138
- hrefAttrs,
139
- ...rest
140
- });
141
-
142
- const resolveLinkTokens = pressState => resolvePressableTokens(tokens, pressState, {
143
- iconPosition
144
- }); // On web, this makes focus rings wrap only the link, not the entire block
145
-
146
-
147
- const blockLeftStyle = Platform.OS === 'web' && staticStyles.blockLeft;
148
- return /*#__PURE__*/_jsx(InlinePressable, { ...selectedProps,
149
- ref: ref,
150
- style: linkState => {
151
- const themeTokens = resolveLinkTokens(linkState);
152
- const outerBorderStyles = selectOuterBorderStyles(themeTokens);
153
- const decorationStyles = selectDecorationStyles(themeTokens);
154
- const hasIcon = Boolean(icon || themeTokens.icon);
155
- return [outerBorderStyles, blockLeftStyle, decorationStyles, hasIcon && staticStyles.rowContainer];
156
- },
157
- children: linkState => {
158
- const themeTokens = resolveLinkTokens(linkState);
159
- const textStyles = selectTextStyles(themeTokens);
160
- const iconTokens = selectIconTokens(themeTokens); // TODO: may need to apply some smarter text inheritance here if inline to avoid native
161
- // issues like double-application of line heights breaking align-items: baseline
162
-
163
- const blockTextStyles = selectBlockStyles(themeTokens);
164
- const IconComponent = icon || themeTokens.icon;
165
- const {
166
- iconSpace
167
- } = themeTokens;
168
- return /*#__PURE__*/_jsx(IconText, {
169
- icon: IconComponent,
170
- iconPosition: iconPosition,
171
- space: iconSpace,
172
- iconProps: { ...iconProps,
173
- tokens: iconTokens
174
- },
175
- children: /*#__PURE__*/_jsx(Text, {
176
- style: [textStyles, blockTextStyles, staticStyles.baseline],
177
- children: children
178
- })
179
- });
180
- }
181
- });
182
- });
183
- LinkBase.displayName = 'LinkBase';
184
- LinkBase.propTypes = { ...selectedSystemPropTypes,
185
- tokens: getTokensPropType('Link'),
186
- variant: variantProp.propType,
187
-
188
- /**
189
- * Optional variant that may be passed down to the link's icon if there is one
190
- */
191
- iconProps: PropTypes.exact(iconComponentPropTypes),
192
-
193
- /**
194
- * A function component for an SVG icon to render inside the link. Inherits size and color from
195
- * the link and any Typography the link is nested inside.
196
- */
197
- icon: PropTypes.func,
198
-
199
- /**
200
- * When `icon` is provided, use `iconPosition` to place the Icon to the left or right side of Link.
201
- */
202
- iconPosition: PropTypes.oneOf(['left', 'right']),
203
-
204
- /**
205
- * On Web if href is passed, React Native Web maps this object's props to
206
- * `rel`, `target` and `download` attrs.
207
- */
208
- hrefAttrs: PropTypes.shape(hrefAttrsProp.types)
209
- };
210
- const staticStyles = StyleSheet.create({
211
- blockLeft: {
212
- alignSelf: 'flex-start'
213
- },
214
- rowContainer: {
215
- flexDirection: 'row',
216
- alignItems: 'center',
217
- justifyContent: 'flex-start'
218
- },
219
- baseline: {
220
- alignSelf: 'baseline'
221
- }
222
- });
223
- export default withLinkRouter(LinkBase);
@@ -1,34 +0,0 @@
1
- import React, { forwardRef } from 'react';
2
- import PropTypes from 'prop-types';
3
- import { useThemeTokensCallback } from '../ThemeProvider';
4
- import LinkBase from './LinkBase';
5
- /**
6
- * `TextButton` is a button that looks like a Link. It uses the same theming and variants as
7
- * Link but has the accessibility role of a `Button`. It should be used for actions that
8
- * take place on the current page, or for navigation within an app.
9
- */
10
-
11
- import { jsx as _jsx } from "react/jsx-runtime";
12
- const TextButton = /*#__PURE__*/forwardRef(({
13
- onPress,
14
- children,
15
- variant,
16
- tokens,
17
- accessibilityRole = 'button',
18
- ...linkProps
19
- }, ref) => {
20
- const getTokens = useThemeTokensCallback('Link', tokens, variant);
21
- return /*#__PURE__*/_jsx(LinkBase, {
22
- onPress: onPress,
23
- accessibilityRole: accessibilityRole,
24
- tokens: getTokens,
25
- ref: ref,
26
- ...linkProps,
27
- children: children
28
- });
29
- });
30
- TextButton.displayName = 'TextButton';
31
- TextButton.propTypes = { ...LinkBase.propTypes,
32
- onPress: PropTypes.func.isRequired
33
- };
34
- export default TextButton;
@@ -1,5 +0,0 @@
1
- import ChevronLink from './ChevronLink';
2
- import Link from './Link';
3
- import LinkBase from './LinkBase';
4
- import TextButton from './TextButton';
5
- export { ChevronLink, Link, LinkBase, TextButton };
@@ -1,55 +0,0 @@
1
- import React, { cloneElement, forwardRef, Children } from 'react';
2
- import View from "react-native-web/dist/exports/View";
3
- import Platform from "react-native-web/dist/exports/Platform";
4
- import PropTypes from 'prop-types';
5
- import { a11yProps, componentPropType, getTokensPropType, selectSystemProps, variantProp, viewProps } from '../utils';
6
- import ListItem from './ListItem';
7
- import { jsx as _jsx } from "react/jsx-runtime";
8
- const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
9
- /**
10
- * An unordered List component has a child a ListItem that
11
- * allows icon, dividers and customized typography
12
- */
13
-
14
- const List = /*#__PURE__*/forwardRef(({
15
- children,
16
- showDivider,
17
- tokens,
18
- variant,
19
- ...rest
20
- }, ref) => {
21
- const accessibilityRole = Platform.select({
22
- web: 'list',
23
- default: 'none'
24
- });
25
- const items = Children.map(children, (child, index) => {
26
- if (child.type.name === ListItem.name) {
27
- return /*#__PURE__*/cloneElement(child, {
28
- showDivider,
29
- isLastItem: index + 1 === Children.count(children),
30
- tokens,
31
- variant
32
- });
33
- }
34
-
35
- return child;
36
- });
37
- return /*#__PURE__*/_jsx(View, {
38
- ref: ref,
39
- accessibilityRole: accessibilityRole,
40
- ...selectProps(rest),
41
- children: items
42
- });
43
- });
44
- List.displayName = 'List';
45
- List.propTypes = { ...selectedSystemPropTypes,
46
- tokens: getTokensPropType('List'),
47
- variant: variantProp.propType,
48
- children: componentPropType('ListItem'),
49
-
50
- /**
51
- * In case it is not the last item allow display divider
52
- */
53
- showDivider: PropTypes.bool
54
- };
55
- export default List;