@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,223 +0,0 @@
1
- import React, { forwardRef } from 'react';
2
- import View from "react-native-web/dist/exports/View";
3
- import Platform from "react-native-web/dist/exports/Platform";
4
- import StyleSheet from "react-native-web/dist/exports/StyleSheet";
5
- import PropTypes from 'prop-types';
6
- import { useThemeTokens, applyTextStyles } from '../ThemeProvider';
7
- import { a11yProps, getTokensPropType, selectSystemProps, variantProp, viewProps, wrapStringsInText } from '../utils';
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- import { Fragment as _Fragment } from "react/jsx-runtime";
10
- import { jsxs as _jsxs } from "react/jsx-runtime";
11
- const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
12
-
13
- const selectBulletStyles = ({
14
- itemBulletWidth,
15
- itemBulletHeight,
16
- itemBulletColor
17
- }) => ({
18
- width: itemBulletWidth,
19
- height: itemBulletHeight,
20
- borderRadius: itemBulletHeight / 2,
21
- backgroundColor: itemBulletColor
22
- });
23
-
24
- const selectBulletContainerStyles = ({
25
- itemBulletContainerWidth,
26
- itemBulletContainerAlign
27
- }) => ({
28
- width: itemBulletContainerWidth,
29
- alignItems: itemBulletContainerAlign
30
- });
31
-
32
- const selectItemIconTokens = ({
33
- itemIconSize,
34
- itemIconColor
35
- }) => ({
36
- size: itemIconSize,
37
- color: itemIconColor
38
- });
39
-
40
- const selectSideItemContainerStyles = ({
41
- listGutter,
42
- iconMarginTop
43
- }) => ({
44
- marginTop: iconMarginTop,
45
- marginRight: listGutter
46
- }); // Align bullets with the top line of text the same way icons are aligned
47
-
48
-
49
- const selectBulletPositioningStyles = ({
50
- itemIconSize
51
- }) => ({
52
- width: itemIconSize,
53
- height: itemIconSize
54
- });
55
-
56
- const selectItemStyles = ({
57
- itemFontWeight,
58
- itemFontSize,
59
- itemLineHeight,
60
- itemFontName
61
- }) => applyTextStyles({
62
- fontWeight: itemFontWeight,
63
- fontSize: itemFontSize,
64
- lineHeight: itemLineHeight,
65
- fontName: itemFontName
66
- });
67
-
68
- const selectItemBlockStyles = ({
69
- interItemMargin
70
- }) => ({
71
- marginBottom: interItemMargin
72
- });
73
-
74
- const selectDividerStyles = ({
75
- dividerColor,
76
- dividerSize,
77
- interItemMarginWithDivider
78
- }) => ({
79
- borderBottomWidth: dividerSize,
80
- borderColor: dividerColor,
81
- marginBottom: interItemMarginWithDivider,
82
- paddingBottom: interItemMarginWithDivider
83
- });
84
- /**
85
- * ListItem is responsible for rendering icon or a bullet as side item
86
- */
87
-
88
-
89
- const ListItem = /*#__PURE__*/forwardRef(({
90
- tokens,
91
- variant,
92
- icon,
93
- iconColor,
94
- iconSize,
95
- showDivider,
96
- children,
97
- isLastItem,
98
- ...rest
99
- }, ref) => {
100
- const themeTokens = useThemeTokens('List', tokens, variant);
101
- const itemStyles = selectItemStyles(themeTokens);
102
- const itemBlockStyles = selectItemBlockStyles(themeTokens);
103
- const dividerStyles = selectDividerStyles(themeTokens);
104
- const itemBulletContainerStyles = selectBulletContainerStyles(themeTokens);
105
- const itemBulletStyles = selectBulletStyles(themeTokens);
106
- const itemBulletPositioningStyles = selectBulletPositioningStyles(themeTokens);
107
- const iconTokens = selectItemIconTokens(themeTokens);
108
- const sideItemContainerStyles = selectSideItemContainerStyles(themeTokens);
109
- const accessibilityRole = Platform.select({
110
- web: 'listitem',
111
- default: 'item'
112
- });
113
-
114
- const renderItem = () => /*#__PURE__*/_jsx(View, {
115
- style: staticStyles.wrap,
116
- children: wrapStringsInText(children, {
117
- style: itemStyles
118
- })
119
- });
120
- /**
121
- * Function responsible returning styling, in case the item is the last shouldn't
122
- * add extra margin on the bottom, if "showDivider" is true it should add a divider
123
- * and custom margin and padding, otherwise just adds a margin to the bottom
124
- */
125
-
126
-
127
- const getContainerStyle = () => {
128
- if (isLastItem) {
129
- return undefined;
130
- }
131
-
132
- if (showDivider) {
133
- return dividerStyles;
134
- }
135
-
136
- return itemBlockStyles;
137
- };
138
- /**
139
- * Renders item bullet or Icon in case it's defined
140
- * in case children are string the icon is centered otherwise
141
- * it will align itself at start of the container
142
- */
143
-
144
-
145
- const renderMarker = () => {
146
- const IconComponent = icon || /*#__PURE__*/_jsx(_Fragment, {});
147
-
148
- if (icon) {
149
- return /*#__PURE__*/_jsx(View, {
150
- style: sideItemContainerStyles,
151
- children: /*#__PURE__*/_jsx(IconComponent, {
152
- size: iconSize || iconTokens.size,
153
- color: iconColor || iconTokens.color
154
- })
155
- });
156
- }
157
-
158
- return /*#__PURE__*/_jsx(View, {
159
- style: [sideItemContainerStyles, itemBulletContainerStyles],
160
- children: /*#__PURE__*/_jsx(View, {
161
- style: [staticStyles.bulletPositioning, itemBulletPositioningStyles],
162
- children: /*#__PURE__*/_jsx(View, {
163
- style: itemBulletStyles,
164
- testID: "unordered-item-bullet"
165
- })
166
- })
167
- });
168
- };
169
-
170
- return /*#__PURE__*/_jsxs(View, {
171
- ref: ref,
172
- style: [staticStyles.itemContainer, getContainerStyle()],
173
- accessibilityRole: accessibilityRole,
174
- ...selectProps(rest),
175
- children: [renderMarker(), renderItem()]
176
- });
177
- });
178
- ListItem.displayName = 'ListItem';
179
- const staticStyles = StyleSheet.create({
180
- itemContainer: {
181
- flexDirection: 'row'
182
- },
183
- wrap: {
184
- flex: 1
185
- },
186
- bulletPositioning: {
187
- alignItems: 'center',
188
- justifyContent: 'center'
189
- }
190
- });
191
- ListItem.propTypes = { ...selectedSystemPropTypes,
192
- tokens: getTokensPropType('List'),
193
- variant: variantProp.propType,
194
- children: PropTypes.node.isRequired,
195
-
196
- /**
197
- * Renders side item icon
198
- */
199
- icon: PropTypes.func,
200
-
201
- /**
202
- * Will set display icon color
203
- */
204
- iconColor: PropTypes.string,
205
-
206
- /**
207
- * Allow the user define the icon size if not defined the theme's file
208
- */
209
- iconSize: PropTypes.number,
210
-
211
- /**
212
- * @ignore
213
- * Defined by parent if it's last item on the list
214
- */
215
- isLastItem: PropTypes.bool,
216
-
217
- /**
218
- * @ignore
219
- * In case it is not the last item allow display divider
220
- */
221
- showDivider: PropTypes.bool
222
- };
223
- export default ListItem;
@@ -1,5 +0,0 @@
1
- import List from './List';
2
- import ListItem from './ListItem';
3
- List.Item = ListItem;
4
- export { List as ListBase, ListItem };
5
- export default List;
@@ -1,208 +0,0 @@
1
- import React, { forwardRef } from 'react';
2
- import StyleSheet from "react-native-web/dist/exports/StyleSheet";
3
- import TouchableWithoutFeedback from "react-native-web/dist/exports/TouchableWithoutFeedback";
4
- import View from "react-native-web/dist/exports/View";
5
- import NativeModal from "react-native-web/dist/exports/Modal";
6
- import Platform from "react-native-web/dist/exports/Platform";
7
- import PropTypes from 'prop-types';
8
- import { applyShadowToken, useThemeTokens } from '../ThemeProvider';
9
- import { a11yProps, copyPropTypes, getTokensPropType, selectSystemProps, useCopy, variantProp, viewProps, selectTokens } from '../utils';
10
- import { useViewport } from '../ViewportProvider';
11
- import IconButton from '../IconButton';
12
- import dictionary from './dictionary';
13
- import { jsx as _jsx } from "react/jsx-runtime";
14
- import { jsxs as _jsxs } from "react/jsx-runtime";
15
- const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
16
-
17
- const selectContainerStyles = ({
18
- containerPaddingLeft,
19
- containerPaddingRight,
20
- containerPaddingTop,
21
- containerPaddingBottom,
22
- maxWidth,
23
- height
24
- }) => ({
25
- height,
26
- maxWidth,
27
- paddingLeft: containerPaddingLeft,
28
- paddingRight: containerPaddingRight,
29
- paddingTop: containerPaddingTop,
30
- paddingBottom: containerPaddingBottom
31
- });
32
-
33
- const selectModalStyles = ({
34
- backgroundColor,
35
- borderRadius,
36
- height,
37
- paddingLeft,
38
- paddingRight,
39
- paddingTop,
40
- paddingBottom,
41
- shadow
42
- }) => ({
43
- backgroundColor,
44
- borderRadius,
45
- height,
46
- paddingLeft,
47
- paddingRight,
48
- paddingTop,
49
- paddingBottom,
50
- ...applyShadowToken(shadow)
51
- });
52
-
53
- const selectBackdropStyles = ({
54
- backdropColor,
55
- backdropOpacity
56
- }) => ({
57
- backgroundColor: backdropColor,
58
- opacity: backdropOpacity
59
- });
60
-
61
- const selectCloseButtonContainerStyles = ({
62
- paddingRight,
63
- paddingTop
64
- }) => ({
65
- paddingRight,
66
- paddingTop
67
- });
68
- /**
69
- * A modal window is a secondary window that opens on top of the main one.
70
- * Users have to interact with it before they can carry out their task and return to the main window.
71
- * Use to reveal additional information to a user after they have performed an explicit interaction.
72
- * They are a strongly discouraged pattern; it's preferred to have all relevant information within a page,
73
- * and irrelevant information either linked externally or omitted.
74
- *
75
- * - Must only appear after a customer interaction, not on page load or any other circumstance
76
- * - Open a modal based on explicit customer action e.g. clicking on a button/link/form field
77
- * - Only one modal should be "current" at any time
78
- * - Read [WebAIM's documentation](https://www.w3.org/TR/wai-aria-practices/examples/dialog-modal/dialog.html) to create accessible modals
79
- * - Don’t use modals to reinforce or repeat information already available in the parent page or view
80
- * - Don’t use modals consecutively
81
- */
82
-
83
-
84
- const Modal = /*#__PURE__*/forwardRef(({
85
- children,
86
- isOpen,
87
- onClose,
88
- maxWidth,
89
- tokens,
90
- variant,
91
- copy,
92
- closeButton,
93
- ...rest
94
- }, ref) => {
95
- const viewport = useViewport();
96
- const themeTokens = useThemeTokens('Modal', tokens, variant, {
97
- viewport,
98
- maxWidth
99
- });
100
- const {
101
- closeIcon: CloseIconComponent
102
- } = themeTokens;
103
- const getCopy = useCopy({
104
- dictionary,
105
- copy
106
- });
107
- const closeLabel = getCopy('closeButton');
108
-
109
- const handleClose = () => {
110
- if (typeof onClose === 'function') onClose();
111
- };
112
-
113
- const handleKeyUp = event => {
114
- if (event.key === 'Escape') onClose();
115
- }; // Show the custom react node passed to `closedButton` or the default close button if `closeButton` is `undefined`.
116
- // Hide the close button if `closeButton` is `null`.
117
-
118
-
119
- const showCloseButton = closeButton !== null;
120
-
121
- if (!isOpen) {
122
- return null;
123
- }
124
-
125
- return /*#__PURE__*/_jsx(NativeModal, {
126
- transparent: true,
127
- ...selectProps(rest),
128
- children: /*#__PURE__*/_jsxs(View, {
129
- style: [staticStyles.positioningContainer],
130
- children: [/*#__PURE__*/_jsx(View, {
131
- style: [staticStyles.sizingContainer, selectContainerStyles(themeTokens)],
132
- pointerEvents: "box-none" // don't capture backdrop press events
133
- ,
134
- children: /*#__PURE__*/_jsxs(View, {
135
- ref: ref,
136
- style: [staticStyles.modal, selectModalStyles(themeTokens)],
137
- onKeyUp: handleKeyUp,
138
- children: [showCloseButton && /*#__PURE__*/_jsx(View, {
139
- style: [staticStyles.closeButtonContainer, selectCloseButtonContainerStyles(themeTokens)],
140
- children: closeButton || /*#__PURE__*/_jsx(IconButton, {
141
- onPress: handleClose,
142
- icon: CloseIconComponent,
143
- accessibilityRole: "button",
144
- accessibilityLabel: closeLabel,
145
- tokens: selectTokens('IconButton', themeTokens, 'close')
146
- })
147
- }), children]
148
- })
149
- }), /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
150
- onPress: handleClose,
151
- children: /*#__PURE__*/_jsx(View, {
152
- style: [staticStyles.backdrop, selectBackdropStyles(themeTokens)]
153
- })
154
- })]
155
- })
156
- });
157
- });
158
- Modal.displayName = 'Modal';
159
- Modal.propTypes = { ...selectedSystemPropTypes,
160
- children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
161
- copy: copyPropTypes,
162
- isOpen: PropTypes.bool,
163
- onClose: PropTypes.func,
164
- maxWidth: PropTypes.bool,
165
- tokens: getTokensPropType('Modal'),
166
- variant: variantProp.propType,
167
-
168
- /**
169
- * Pass a react node to override the default close button or pass `null` to hide the close button.
170
- */
171
- closeButton: PropTypes.node
172
- };
173
- export default Modal;
174
- const staticStyles = StyleSheet.create({
175
- backdrop: {
176
- position: 'absolute',
177
- top: 0,
178
- left: 0,
179
- right: 0,
180
- bottom: 0,
181
- zIndex: -1,
182
- ...Platform.select({
183
- web: {
184
- cursor: 'pointer'
185
- }
186
- })
187
- },
188
- positioningContainer: {
189
- flexBasis: '100%',
190
- alignItems: 'center',
191
- justifyContent: 'center'
192
- },
193
- sizingContainer: {
194
- maxHeight: '100%',
195
- // so that the container can expand up to the full viewport height
196
- width: '100%' // ensure that the modal actually expands to the set maxWidth
197
-
198
- },
199
- modal: {
200
- maxHeight: '100%' // so that the modal can expand vertically up to the sizing container's height (exclusive of its vertical padding)
201
-
202
- },
203
- closeButtonContainer: {
204
- position: 'absolute',
205
- top: 0,
206
- right: 0
207
- }
208
- });
@@ -1,9 +0,0 @@
1
- export default {
2
- en: {
3
- // English text from TDS Community `Modal`
4
- closeButton: 'Close'
5
- },
6
- fr: {
7
- closeButton: 'Fermer'
8
- }
9
- };
@@ -1,2 +0,0 @@
1
- import Modal from './Modal';
2
- export default Modal;
@@ -1,196 +0,0 @@
1
- import React, { forwardRef, useState } from 'react';
2
- import StyleSheet from "react-native-web/dist/exports/StyleSheet";
3
- import View from "react-native-web/dist/exports/View";
4
- import PropTypes from 'prop-types';
5
- import { applyTextStyles, useThemeTokens } from '../ThemeProvider';
6
- import { a11yProps, getTokensPropType, selectSystemProps, selectTokens, variantProp, viewProps, wrapStringsInText } from '../utils';
7
- import ButtonBase from '../Button/ButtonBase';
8
- import useCopy from '../utils/useCopy';
9
- import dictionary from './dictionary';
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
- import { jsxs as _jsxs } from "react/jsx-runtime";
12
- const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
13
-
14
- const selectContainerStyles = tokens => ({ ...tokens
15
- });
16
-
17
- const selectTextStyles = tokens => applyTextStyles(selectTokens('Typography', tokens));
18
-
19
- const selectIconProps = ({
20
- iconSize,
21
- iconColor
22
- }) => ({
23
- size: iconSize,
24
- color: iconColor
25
- });
26
-
27
- const selectIconContainerStyles = ({
28
- iconGap
29
- }) => ({
30
- paddingRight: iconGap
31
- });
32
-
33
- const selectDismissIconProps = ({
34
- dismissIconSize,
35
- dismissIconColor
36
- }) => ({
37
- size: dismissIconSize,
38
- color: dismissIconColor
39
- });
40
-
41
- const selectDismissButtonContainerStyles = ({
42
- dismissButtonGap
43
- }) => ({
44
- paddingLeft: dismissButtonGap
45
- });
46
- /**
47
- * A banner that highlights important messages:
48
- * - Status message to show there is an error or outage of services
49
- * - Confirmation message in response to user action
50
- * - Account information letting the user know they have almost used all their data
51
- *
52
- * ## Usage criteria
53
- * - Use simple text content only, such as bold test or links. Don’t use other complex components or paragraphs
54
- * - Show notifications before the content that the message is related to, otherwise show at the top of the main content
55
- * - Show system notifications at the top of the page, below the navigation, and expands the full-width of the viewport
56
- * - When showing multiple notifications, show them in order of importance from top to bottom
57
- * - Use variants to visually show the type of message contained within the Notification.
58
- * - The icon and colour will indicate meaning and importance
59
- *
60
- * ### Variants
61
- * - Use `variant.style` to set the visual style of the notification
62
- * - Use `dismissible` prop to enable dismissible functionality
63
- * - Use `system` prop to set the visual style of the notification and denote an announcement from the system or application
64
- *
65
- * ### When to use the system prop?
66
- * - Use `system` to show system-based messages coming from the application
67
- * - Don’t use `system` when the message is in response to user action
68
- *
69
- * ## Variants
70
- *
71
- * #### Success
72
- * Use the success variant to provide feedback of a successful operation. The message will include an icon to indicate meaning and importance.
73
- *
74
- * #### Warning
75
- * Use the warning variant to provide feedback of a warning; users would still be able to proceed forward.
76
- * The message will include an icon to indicate meaning and importance.
77
- *
78
- * #### Error
79
- * Use the error variant to provide feedback of a failed operation. The message will include an icon to indicate meaning and importance.
80
- *
81
- * #### Dismissible
82
- * Dismissible notifications should only be used for default or success notifications where there is no action needed from the user.
83
- * If the information is passive then it should be dismissible as indicated by an interactive close button on the far right.
84
- * If the notification requires an action then make the option(s) clear with a `ChevronLink` or `Link`.
85
- *
86
- * Use the `dismissible` prop to allow users to dismiss the Notification at any time. Once dismissed, the Notification is removed from the DOM.
87
- *
88
- * Please note:
89
- *
90
- * - Default and Success variants are dismissible
91
- * - Error and Warning variants are not dismissible
92
- *
93
- * #### System message
94
- * Use full-width `Notifications` to show system-based messages coming from the application, not in response to user action.
95
- * Show system notifications at the top of the page, below the navigation, and expands the full-width of the viewport
96
- */
97
-
98
-
99
- const Notification = /*#__PURE__*/forwardRef(({
100
- children,
101
- system,
102
- dismissible,
103
- copy = 'en',
104
- tokens,
105
- variant,
106
- ...rest
107
- }, ref) => {
108
- const [isDismissed, setIsDismissed] = useState(false);
109
- const themeTokens = useThemeTokens('Notification', tokens, variant, {
110
- system
111
- });
112
- const getCopy = useCopy({
113
- dictionary,
114
- copy
115
- });
116
-
117
- if (isDismissed) {
118
- return null;
119
- }
120
-
121
- const textStyles = selectTextStyles(themeTokens);
122
- const content = wrapStringsInText(typeof children === 'function' ? children({
123
- textStyles
124
- }) : children, {
125
- style: textStyles
126
- });
127
- const {
128
- icon: IconComponent,
129
- dismissIcon: DismissIconComponent
130
- } = themeTokens;
131
-
132
- const onDismissPress = () => setIsDismissed(true); // TODO: replace the dismiss button with IconButton when implemented (https://github.com/telus/universal-design-system/issues/281)
133
-
134
-
135
- return /*#__PURE__*/_jsxs(View, {
136
- ref: ref,
137
- style: [staticStyles.container, selectContainerStyles(themeTokens)],
138
- ...selectProps(rest),
139
- children: [IconComponent && /*#__PURE__*/_jsx(View, {
140
- style: selectIconContainerStyles(themeTokens),
141
- children: /*#__PURE__*/_jsx(IconComponent, { ...selectIconProps(themeTokens)
142
- })
143
- }), /*#__PURE__*/_jsx(View, {
144
- style: staticStyles.contentContainer,
145
- children: content && typeof content === 'function' ? content({
146
- textStyles,
147
- variant
148
- }) : content
149
- }), dismissible && DismissIconComponent && /*#__PURE__*/_jsx(View, {
150
- style: selectDismissButtonContainerStyles(themeTokens),
151
- children: /*#__PURE__*/_jsx(ButtonBase, {
152
- onPress: onDismissPress,
153
- accessibilityRole: "button",
154
- accessibilityLabel: getCopy('dismiss'),
155
- children: () => /*#__PURE__*/_jsx(DismissIconComponent, { ...selectDismissIconProps(themeTokens)
156
- })
157
- })
158
- })]
159
- });
160
- });
161
- Notification.displayName = 'Notification';
162
- Notification.propTypes = { ...selectedSystemPropTypes,
163
-
164
- /**
165
- * Content of the `Notification`.
166
- */
167
- children: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.func]),
168
-
169
- /**
170
- * Use `system` prop to set the visual style of the notification and denote an announcement from the system or application
171
- */
172
- system: PropTypes.bool,
173
-
174
- /**
175
- * Use the `dismissible` prop to allow users to dismiss the Notification at any time.
176
- */
177
- dismissible: PropTypes.bool,
178
-
179
- /**
180
- * Select english or french copy for the accessible label of the dismiss button.
181
- */
182
- copy: PropTypes.oneOfType([PropTypes.oneOf(['en', 'fr']), PropTypes.shape({
183
- dismiss: PropTypes.string
184
- })]),
185
- tokens: getTokensPropType('Notification'),
186
- variant: variantProp.propType
187
- };
188
- export default Notification;
189
- const staticStyles = StyleSheet.create({
190
- container: {
191
- flexDirection: 'row'
192
- },
193
- contentContainer: {
194
- flex: 1
195
- }
196
- });
@@ -1,8 +0,0 @@
1
- export default {
2
- en: {
3
- dismiss: 'Close'
4
- },
5
- fr: {
6
- dismiss: 'Fermer'
7
- }
8
- };
@@ -1,2 +0,0 @@
1
- import Notification from './Notification';
2
- export default Notification;