@telus-uds/components-web 4.19.2 → 5.0.0-alpha.1

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 (477) hide show
  1. package/.eslintrc.cjs +12 -0
  2. package/CHANGELOG.md +29 -1
  3. package/lib/cjs/Badge/Badge.js +26 -27
  4. package/lib/cjs/BlockQuote/BlockQuote.js +26 -27
  5. package/lib/cjs/Breadcrumbs/{Item/Item.js → BreadcrumbItem.js} +36 -37
  6. package/lib/cjs/Breadcrumbs/Breadcrumbs.js +7 -8
  7. package/lib/cjs/Callout/Callout.js +24 -25
  8. package/lib/cjs/Card/Card.js +75 -78
  9. package/lib/cjs/Card/CardContent.js +53 -29
  10. package/lib/cjs/Card/CardFooter.js +29 -19
  11. package/lib/cjs/Countdown/Countdown.js +7 -8
  12. package/lib/cjs/Countdown/Segment.js +10 -11
  13. package/lib/cjs/Countdown/dictionary.js +2 -2
  14. package/lib/cjs/Countdown/types.js +2 -6
  15. package/lib/cjs/Countdown/useCountdown.js +2 -2
  16. package/lib/cjs/DatePicker/CalendarContainer.js +66 -67
  17. package/lib/cjs/DatePicker/DatePicker.js +27 -28
  18. package/lib/cjs/DatePicker/dictionary.js +3 -4
  19. package/lib/cjs/DatePicker/reactDatesCss.js +2 -3
  20. package/lib/cjs/Disclaimer/Disclaimer.js +28 -13
  21. package/lib/cjs/Footnote/Footnote.js +107 -107
  22. package/lib/cjs/Footnote/FootnoteLink.js +28 -19
  23. package/lib/cjs/Footnote/dictionary.js +2 -2
  24. package/lib/cjs/IconButton/IconButton.js +3 -4
  25. package/lib/cjs/Image/Image.js +9 -3
  26. package/lib/cjs/Image/server.js +4 -6
  27. package/lib/cjs/List/List.js +7 -3
  28. package/lib/cjs/List/ListItem.js +3 -4
  29. package/lib/cjs/NavigationBar/NavigationBar.js +8 -9
  30. package/lib/cjs/NavigationBar/NavigationItem.js +10 -11
  31. package/lib/cjs/NavigationBar/NavigationSubMenu.js +10 -11
  32. package/lib/cjs/NavigationBar/collapseItems.js +2 -2
  33. package/lib/cjs/NavigationBar/resolveItemSelection.js +2 -2
  34. package/lib/cjs/OptimizeImage/OptimizeImage.js +6 -8
  35. package/lib/cjs/OptimizeImage/utils/getFallbackUrl.js +3 -4
  36. package/lib/cjs/OptimizeImage/utils/getImageUrls.js +9 -10
  37. package/lib/cjs/OptimizeImage/utils/getOptimizedUrl.js +3 -4
  38. package/lib/cjs/OptimizeImage/utils/hasWebpSupport.js +1 -1
  39. package/lib/cjs/OptimizeImage/utils/index.js +8 -9
  40. package/lib/cjs/OptimizeImage/utils/isSvgUrl.js +1 -1
  41. package/lib/cjs/OrderedList/OrderedList.js +6 -9
  42. package/lib/cjs/OrderedList/OrderedListBase.js +4 -7
  43. package/lib/cjs/OrderedList/{Item.js → OrderedListItem.js} +46 -39
  44. package/lib/cjs/OrderedList/{ItemBase.js → OrderedListItemBase.js} +7 -7
  45. package/lib/cjs/OrderedList/constants.js +0 -1
  46. package/lib/cjs/Paragraph/Paragraph.js +10 -11
  47. package/lib/cjs/PreviewCard/PreviewCard.js +18 -26
  48. package/lib/cjs/PreviewCard/{AuthorDate.js → PreviewCardAuthorDate.js} +6 -6
  49. package/lib/cjs/PriceLockup/PriceLockup.js +49 -48
  50. package/lib/cjs/PriceLockup/dictionary.js +2 -2
  51. package/lib/cjs/PriceLockup/tokens.js +3 -3
  52. package/lib/cjs/Progress/ProgressBar.js +14 -17
  53. package/lib/cjs/QuantitySelector/QuantitySelector.js +8 -9
  54. package/lib/cjs/QuantitySelector/{SideButton.js → QuantitySelectorSideButton.js} +5 -6
  55. package/lib/cjs/QuantitySelector/dictionary.js +2 -2
  56. package/lib/cjs/ResponsiveImage/ResponsiveImage.js +3 -4
  57. package/lib/cjs/Ribbon/Ribbon.js +48 -57
  58. package/lib/cjs/SkeletonProvider/SkeletonImage.js +3 -4
  59. package/lib/cjs/SkeletonProvider/SkeletonProvider.js +10 -10
  60. package/lib/cjs/SkeletonProvider/SkeletonTypography.js +3 -4
  61. package/lib/cjs/Span/Span.js +6 -7
  62. package/lib/cjs/Spinner/Spinner.js +29 -29
  63. package/lib/cjs/Spinner/SpinnerContent.js +6 -7
  64. package/lib/cjs/StoryCard/StoryCard.js +17 -21
  65. package/lib/cjs/Table/Table.js +32 -25
  66. package/lib/cjs/Table/{Body.js → TableBody.js} +5 -6
  67. package/lib/cjs/Table/{Cell.js → TableCell.js} +58 -59
  68. package/lib/cjs/Table/{Header.js → TableHeader.js} +7 -8
  69. package/lib/cjs/Table/{Row.js → TableRow.js} +18 -19
  70. package/lib/cjs/Table/{SubHeading.js → TableSubHeading.js} +7 -8
  71. package/lib/cjs/TermsAndConditions/ExpandCollapse.js +18 -19
  72. package/lib/cjs/TermsAndConditions/TermsAndConditions.js +44 -44
  73. package/lib/cjs/TermsAndConditions/dictionary.js +2 -2
  74. package/lib/cjs/Testimonial/Testimonial.js +24 -31
  75. package/lib/cjs/Toast/Toast.js +29 -30
  76. package/lib/cjs/Video/ControlBar/ControlBar.js +48 -47
  77. package/lib/cjs/Video/ControlBar/Controls/VideoButton/VideoButton.js +6 -6
  78. package/lib/cjs/Video/ControlBar/Controls/VideoMenu/VideoMenu.js +30 -32
  79. package/lib/cjs/Video/ControlBar/Controls/VideoProgressBar/VideoProgressBar.js +35 -35
  80. package/lib/cjs/Video/ControlBar/Controls/VolumeSlider/VolumeSlider.js +42 -42
  81. package/lib/cjs/Video/MiddleControlButton/MiddleControlButton.js +15 -15
  82. package/lib/cjs/Video/Video.js +27 -29
  83. package/lib/cjs/Video/videoText.js +3 -4
  84. package/lib/cjs/VideoPicker/VideoPicker.js +36 -31
  85. package/lib/cjs/VideoPicker/VideoPickerPlayer.js +5 -6
  86. package/lib/cjs/VideoPicker/VideoPickerThumbnail.js +26 -23
  87. package/lib/cjs/VideoPicker/VideoSlider.js +3 -4
  88. package/lib/cjs/WaffleGrid/WaffleGrid.js +51 -49
  89. package/lib/cjs/WebVideo/WebVideo.js +7 -8
  90. package/lib/cjs/baseExports.js +84 -6
  91. package/lib/cjs/index.js +179 -104
  92. package/lib/cjs/server.js +2 -3
  93. package/lib/cjs/shared/ConditionalWrapper/ConditionalWrapper.js +3 -3
  94. package/lib/cjs/shared/FullBleedContent/FullBleedContent.js +28 -22
  95. package/lib/cjs/shared/FullBleedContent/getFullBleedBorderRadius.js +2 -2
  96. package/lib/cjs/shared/FullBleedContent/index.js +11 -9
  97. package/lib/cjs/shared/FullBleedContent/useFullBleedContentProps.js +2 -2
  98. package/lib/cjs/shared/VideoSplash/SplashButton/SplashButton.js +9 -9
  99. package/lib/cjs/shared/VideoSplash/SplashButtonWithDetails/SplashButtonWithDetails.js +36 -36
  100. package/lib/cjs/shared/VideoSplash/VideoSplash.js +12 -12
  101. package/lib/cjs/shared/VideoSplash/helpers.js +2 -3
  102. package/lib/cjs/utils/index.js +14 -15
  103. package/lib/cjs/utils/isElementFocusable.js +2 -2
  104. package/lib/cjs/utils/logger.js +2 -6
  105. package/lib/cjs/utils/media.js +1 -1
  106. package/lib/cjs/utils/renderStructuredContent.js +2 -2
  107. package/lib/cjs/utils/scrollToAnchor.js +2 -2
  108. package/lib/cjs/utils/ssr.js +2 -2
  109. package/lib/cjs/utils/theming/get-theme-from-server.js +1 -1
  110. package/lib/cjs/utils/theming/with-client-theme.js +2 -2
  111. package/lib/cjs/utils/theming/with-server-theme.js +4 -4
  112. package/lib/cjs/utils/transforms.js +2 -5
  113. package/lib/cjs/utils/useOverlaidPosition.js +2 -2
  114. package/lib/cjs/utils/useTypographyTheme.js +2 -2
  115. package/lib/esm/Badge/Badge.js +25 -26
  116. package/lib/esm/BlockQuote/BlockQuote.js +25 -26
  117. package/lib/esm/Breadcrumbs/{Item/Item.js → BreadcrumbItem.js} +35 -36
  118. package/lib/esm/Breadcrumbs/Breadcrumbs.js +6 -7
  119. package/lib/esm/Callout/Callout.js +23 -24
  120. package/lib/esm/Card/Card.js +59 -61
  121. package/lib/esm/Card/CardContent.js +52 -28
  122. package/lib/esm/Card/CardFooter.js +28 -19
  123. package/lib/esm/Countdown/Countdown.js +4 -5
  124. package/lib/esm/Countdown/Segment.js +8 -9
  125. package/lib/esm/Countdown/dictionary.js +1 -1
  126. package/lib/esm/Countdown/types.js +1 -5
  127. package/lib/esm/Countdown/useCountdown.js +2 -3
  128. package/lib/esm/DatePicker/CalendarContainer.js +64 -65
  129. package/lib/esm/DatePicker/DatePicker.js +18 -19
  130. package/lib/esm/DatePicker/dictionary.js +2 -3
  131. package/lib/esm/DatePicker/reactDatesCss.js +1 -2
  132. package/lib/esm/Disclaimer/Disclaimer.js +27 -12
  133. package/lib/esm/Footnote/Footnote.js +104 -104
  134. package/lib/esm/Footnote/FootnoteLink.js +26 -17
  135. package/lib/esm/Footnote/dictionary.js +1 -1
  136. package/lib/esm/IconButton/IconButton.js +2 -3
  137. package/lib/esm/Image/Image.js +10 -1
  138. package/lib/esm/Image/server.js +4 -4
  139. package/lib/esm/List/List.js +2 -2
  140. package/lib/esm/List/ListItem.js +2 -3
  141. package/lib/esm/NavigationBar/NavigationBar.js +5 -6
  142. package/lib/esm/NavigationBar/NavigationItem.js +9 -10
  143. package/lib/esm/NavigationBar/NavigationSubMenu.js +7 -8
  144. package/lib/esm/NavigationBar/collapseItems.js +2 -3
  145. package/lib/esm/NavigationBar/resolveItemSelection.js +2 -3
  146. package/lib/esm/OptimizeImage/OptimizeImage.js +4 -6
  147. package/lib/esm/OptimizeImage/utils/getFallbackUrl.js +2 -2
  148. package/lib/esm/OptimizeImage/utils/getImageUrls.js +3 -3
  149. package/lib/esm/OptimizeImage/utils/getOptimizedUrl.js +2 -2
  150. package/lib/esm/OptimizeImage/utils/hasWebpSupport.js +1 -1
  151. package/lib/esm/OptimizeImage/utils/index.js +4 -4
  152. package/lib/esm/OptimizeImage/utils/isSvgUrl.js +1 -1
  153. package/lib/esm/OrderedList/OrderedList.js +4 -7
  154. package/lib/esm/OrderedList/OrderedListBase.js +3 -6
  155. package/lib/esm/OrderedList/{Item.js → OrderedListItem.js} +45 -38
  156. package/lib/esm/OrderedList/{ItemBase.js → OrderedListItemBase.js} +5 -6
  157. package/lib/esm/OrderedList/constants.js +0 -1
  158. package/lib/esm/Paragraph/Paragraph.js +9 -10
  159. package/lib/esm/PreviewCard/PreviewCard.js +16 -21
  160. package/lib/esm/PreviewCard/{AuthorDate.js → PreviewCardAuthorDate.js} +4 -5
  161. package/lib/esm/PriceLockup/PriceLockup.js +45 -44
  162. package/lib/esm/PriceLockup/dictionary.js +1 -1
  163. package/lib/esm/PriceLockup/tokens.js +1 -1
  164. package/lib/esm/Progress/ProgressBar.js +13 -16
  165. package/lib/esm/QuantitySelector/QuantitySelector.js +6 -7
  166. package/lib/esm/QuantitySelector/{SideButton.js → QuantitySelectorSideButton.js} +4 -5
  167. package/lib/esm/QuantitySelector/dictionary.js +1 -1
  168. package/lib/esm/ResponsiveImage/ResponsiveImage.js +2 -3
  169. package/lib/esm/Ribbon/Ribbon.js +47 -56
  170. package/lib/esm/SkeletonProvider/SkeletonImage.js +2 -3
  171. package/lib/esm/SkeletonProvider/SkeletonProvider.js +6 -7
  172. package/lib/esm/SkeletonProvider/SkeletonTypography.js +2 -3
  173. package/lib/esm/Span/Span.js +5 -6
  174. package/lib/esm/Spinner/Spinner.js +24 -24
  175. package/lib/esm/Spinner/SpinnerContent.js +5 -6
  176. package/lib/esm/StoryCard/StoryCard.js +15 -16
  177. package/lib/esm/Table/Table.js +31 -24
  178. package/lib/esm/Table/{Body.js → TableBody.js} +4 -5
  179. package/lib/esm/Table/{Cell.js → TableCell.js} +57 -58
  180. package/lib/esm/Table/{Header.js → TableHeader.js} +6 -7
  181. package/lib/esm/Table/{Row.js → TableRow.js} +17 -18
  182. package/lib/esm/Table/{SubHeading.js → TableSubHeading.js} +6 -7
  183. package/lib/esm/TermsAndConditions/ExpandCollapse.js +18 -19
  184. package/lib/esm/TermsAndConditions/TermsAndConditions.js +40 -40
  185. package/lib/esm/TermsAndConditions/dictionary.js +1 -1
  186. package/lib/esm/Testimonial/Testimonial.js +22 -29
  187. package/lib/esm/Toast/Toast.js +28 -29
  188. package/lib/esm/Video/ControlBar/ControlBar.js +33 -33
  189. package/lib/esm/Video/ControlBar/Controls/VideoButton/VideoButton.js +5 -6
  190. package/lib/esm/Video/ControlBar/Controls/VideoMenu/VideoMenu.js +28 -31
  191. package/lib/esm/Video/ControlBar/Controls/VideoProgressBar/VideoProgressBar.js +33 -34
  192. package/lib/esm/Video/ControlBar/Controls/VolumeSlider/VolumeSlider.js +38 -39
  193. package/lib/esm/Video/MiddleControlButton/MiddleControlButton.js +14 -15
  194. package/lib/esm/Video/Video.js +19 -21
  195. package/lib/esm/Video/videoText.js +2 -3
  196. package/lib/esm/VideoPicker/VideoPicker.js +32 -27
  197. package/lib/esm/VideoPicker/VideoPickerPlayer.js +3 -4
  198. package/lib/esm/VideoPicker/VideoPickerThumbnail.js +24 -21
  199. package/lib/esm/VideoPicker/VideoSlider.js +2 -3
  200. package/lib/esm/WaffleGrid/WaffleGrid.js +49 -46
  201. package/lib/esm/WebVideo/WebVideo.js +5 -6
  202. package/lib/esm/baseExports.js +1 -1
  203. package/lib/esm/index.js +46 -37
  204. package/lib/esm/server.js +1 -2
  205. package/lib/esm/shared/ConditionalWrapper/ConditionalWrapper.js +2 -3
  206. package/lib/esm/shared/FullBleedContent/FullBleedContent.js +25 -20
  207. package/lib/esm/shared/FullBleedContent/getFullBleedBorderRadius.js +2 -3
  208. package/lib/esm/shared/FullBleedContent/index.js +3 -4
  209. package/lib/esm/shared/FullBleedContent/useFullBleedContentProps.js +3 -5
  210. package/lib/esm/shared/VideoSplash/SplashButton/SplashButton.js +8 -9
  211. package/lib/esm/shared/VideoSplash/SplashButtonWithDetails/SplashButtonWithDetails.js +35 -36
  212. package/lib/esm/shared/VideoSplash/VideoSplash.js +8 -9
  213. package/lib/esm/shared/VideoSplash/helpers.js +1 -1
  214. package/lib/esm/utils/index.js +7 -7
  215. package/lib/esm/utils/isElementFocusable.js +2 -3
  216. package/lib/esm/utils/logger.js +0 -4
  217. package/lib/esm/utils/media.js +1 -1
  218. package/lib/esm/utils/renderStructuredContent.js +2 -3
  219. package/lib/esm/utils/scrollToAnchor.js +2 -3
  220. package/lib/esm/utils/ssr.js +2 -3
  221. package/lib/esm/utils/theming/get-theme-from-server.js +1 -1
  222. package/lib/esm/utils/theming/with-client-theme.js +2 -3
  223. package/lib/esm/utils/theming/with-server-theme.js +3 -4
  224. package/lib/esm/utils/transforms.js +1 -4
  225. package/lib/esm/utils/useOverlaidPosition.js +2 -3
  226. package/lib/esm/utils/useTypographyTheme.js +2 -3
  227. package/package.json +13 -22
  228. package/src/Badge/Badge.jsx +18 -20
  229. package/src/BlockQuote/BlockQuote.jsx +18 -20
  230. package/src/Breadcrumbs/{Item/Item.jsx → BreadcrumbItem.jsx} +20 -21
  231. package/src/Breadcrumbs/Breadcrumbs.jsx +6 -9
  232. package/src/Callout/Callout.jsx +16 -18
  233. package/src/Card/Card.jsx +55 -58
  234. package/src/Card/CardContent.jsx +52 -28
  235. package/src/Card/CardFooter.jsx +27 -13
  236. package/src/Countdown/Countdown.jsx +3 -5
  237. package/src/Countdown/Segment.jsx +6 -8
  238. package/src/Countdown/dictionary.js +1 -1
  239. package/src/Countdown/types.js +0 -2
  240. package/src/Countdown/useCountdown.js +1 -3
  241. package/src/DatePicker/CalendarContainer.jsx +65 -67
  242. package/src/DatePicker/DatePicker.jsx +17 -19
  243. package/src/DatePicker/dictionary.js +1 -3
  244. package/src/DatePicker/reactDatesCss.js +1 -3
  245. package/src/Disclaimer/Disclaimer.jsx +15 -8
  246. package/src/Footnote/Footnote.jsx +104 -93
  247. package/src/Footnote/FootnoteLink.jsx +16 -13
  248. package/src/Footnote/dictionary.js +1 -1
  249. package/src/IconButton/IconButton.jsx +1 -3
  250. package/src/Image/Image.jsx +9 -1
  251. package/src/Image/server.js +4 -4
  252. package/src/List/List.jsx +2 -2
  253. package/src/List/ListItem.jsx +1 -3
  254. package/src/NavigationBar/NavigationBar.jsx +4 -6
  255. package/src/NavigationBar/NavigationItem.jsx +6 -8
  256. package/src/NavigationBar/NavigationSubMenu.jsx +7 -8
  257. package/src/NavigationBar/collapseItems.js +1 -3
  258. package/src/NavigationBar/resolveItemSelection.js +1 -3
  259. package/src/OptimizeImage/OptimizeImage.jsx +3 -6
  260. package/src/OptimizeImage/utils/getFallbackUrl.js +2 -2
  261. package/src/OptimizeImage/utils/getImageUrls.js +3 -3
  262. package/src/OptimizeImage/utils/getOptimizedUrl.js +2 -9
  263. package/src/OptimizeImage/utils/hasWebpSupport.js +1 -1
  264. package/src/OptimizeImage/utils/index.js +4 -4
  265. package/src/OptimizeImage/utils/isSvgUrl.js +1 -1
  266. package/src/OrderedList/OrderedList.jsx +3 -8
  267. package/src/OrderedList/OrderedListBase.jsx +2 -7
  268. package/src/OrderedList/{Item.jsx → OrderedListItem.jsx} +44 -32
  269. package/src/OrderedList/{ItemBase.jsx → OrderedListItemBase.jsx} +4 -4
  270. package/src/OrderedList/constants.js +0 -1
  271. package/src/Paragraph/Paragraph.jsx +7 -9
  272. package/src/PreviewCard/PreviewCard.jsx +16 -32
  273. package/src/PreviewCard/{AuthorDate.jsx → PreviewCardAuthorDate.jsx} +3 -5
  274. package/src/PriceLockup/PriceLockup.jsx +33 -31
  275. package/src/PriceLockup/dictionary.js +1 -1
  276. package/src/PriceLockup/tokens.js +1 -1
  277. package/src/Progress/ProgressBar.jsx +33 -30
  278. package/src/QuantitySelector/QuantitySelector.jsx +5 -7
  279. package/src/QuantitySelector/{SideButton.jsx → QuantitySelectorSideButton.jsx} +3 -4
  280. package/src/QuantitySelector/dictionary.js +1 -1
  281. package/src/ResponsiveImage/ResponsiveImage.jsx +1 -3
  282. package/src/Ribbon/Ribbon.jsx +35 -44
  283. package/src/SkeletonProvider/SkeletonImage.jsx +1 -3
  284. package/src/SkeletonProvider/SkeletonProvider.jsx +5 -9
  285. package/src/SkeletonProvider/SkeletonTypography.jsx +1 -3
  286. package/src/Span/Span.jsx +11 -11
  287. package/src/Spinner/Spinner.jsx +17 -19
  288. package/src/Spinner/SpinnerContent.jsx +4 -6
  289. package/src/StoryCard/StoryCard.jsx +15 -16
  290. package/src/Table/Table.jsx +81 -75
  291. package/src/Table/{Body.jsx → TableBody.jsx} +3 -5
  292. package/src/Table/{Cell.jsx → TableCell.jsx} +69 -65
  293. package/src/Table/{Header.jsx → TableHeader.jsx} +6 -8
  294. package/src/Table/{Row.jsx → TableRow.jsx} +11 -12
  295. package/src/Table/{SubHeading.jsx → TableSubHeading.jsx} +6 -8
  296. package/src/TermsAndConditions/ExpandCollapse.jsx +18 -19
  297. package/src/TermsAndConditions/TermsAndConditions.jsx +37 -37
  298. package/src/TermsAndConditions/dictionary.js +1 -1
  299. package/src/Testimonial/Testimonial.jsx +20 -28
  300. package/src/Toast/Toast.jsx +38 -37
  301. package/src/Video/ControlBar/ControlBar.jsx +28 -25
  302. package/src/Video/ControlBar/Controls/VideoButton/VideoButton.jsx +4 -6
  303. package/src/Video/ControlBar/Controls/VideoMenu/VideoMenu.jsx +26 -30
  304. package/src/Video/ControlBar/Controls/VideoProgressBar/VideoProgressBar.jsx +31 -33
  305. package/src/Video/ControlBar/Controls/VolumeSlider/VolumeSlider.jsx +40 -40
  306. package/src/Video/MiddleControlButton/MiddleControlButton.jsx +10 -12
  307. package/src/Video/Video.jsx +697 -683
  308. package/src/Video/videoText.js +1 -3
  309. package/src/VideoPicker/VideoPicker.jsx +37 -25
  310. package/src/VideoPicker/VideoPickerPlayer.jsx +2 -4
  311. package/src/VideoPicker/VideoPickerThumbnail.jsx +26 -15
  312. package/src/VideoPicker/VideoSlider.jsx +1 -3
  313. package/src/WaffleGrid/WaffleGrid.jsx +31 -27
  314. package/src/WebVideo/WebVideo.jsx +4 -6
  315. package/src/baseExports.js +26 -13
  316. package/src/index.js +46 -37
  317. package/src/server.js +1 -2
  318. package/src/shared/ConditionalWrapper/ConditionalWrapper.jsx +1 -3
  319. package/src/shared/FullBleedContent/FullBleedContent.jsx +26 -19
  320. package/src/shared/FullBleedContent/getFullBleedBorderRadius.js +1 -3
  321. package/src/shared/FullBleedContent/index.js +3 -8
  322. package/src/shared/FullBleedContent/useFullBleedContentProps.js +2 -5
  323. package/src/shared/VideoSplash/SplashButton/SplashButton.jsx +5 -7
  324. package/src/shared/VideoSplash/SplashButtonWithDetails/SplashButtonWithDetails.jsx +25 -25
  325. package/src/shared/VideoSplash/VideoSplash.jsx +7 -9
  326. package/src/shared/VideoSplash/helpers.js +1 -1
  327. package/src/utils/index.js +7 -7
  328. package/src/utils/isElementFocusable.js +1 -3
  329. package/src/utils/logger.js +0 -5
  330. package/src/utils/media.js +1 -1
  331. package/src/utils/renderStructuredContent.jsx +1 -3
  332. package/src/utils/scrollToAnchor.js +1 -3
  333. package/src/utils/ssr.js +1 -3
  334. package/src/utils/theming/get-theme-from-server.js +1 -1
  335. package/src/utils/theming/with-client-theme.jsx +1 -3
  336. package/src/utils/theming/with-server-theme.jsx +2 -4
  337. package/src/utils/transforms.js +0 -2
  338. package/src/utils/useOverlaidPosition.js +1 -3
  339. package/src/utils/useTypographyTheme.js +1 -3
  340. package/types/Autocomplete.d.ts +1 -3
  341. package/types/Badge.d.ts +1 -3
  342. package/types/BaseProvider.d.ts +1 -3
  343. package/types/BlockQuote.d.ts +1 -3
  344. package/types/Box.d.ts +1 -3
  345. package/types/BreadcrumbItem.d.ts +1 -3
  346. package/types/Breadcrumbs.d.ts +2 -4
  347. package/types/Callout.d.ts +1 -3
  348. package/types/Card.d.ts +1 -3
  349. package/types/Cell.d.ts +1 -3
  350. package/types/ControlBar.d.ts +1 -3
  351. package/types/Countdown.d.ts +1 -3
  352. package/types/DatePicker.d.ts +1 -3
  353. package/types/FileUpload.d.ts +1 -3
  354. package/types/Footnote.d.ts +1 -3
  355. package/types/FootnoteLink.d.ts +1 -3
  356. package/types/Listbox.d.ts +1 -3
  357. package/types/MiddleControlButton.d.ts +1 -3
  358. package/types/MultiSelectFilter.d.ts +1 -3
  359. package/types/PriceLockup.d.ts +1 -3
  360. package/types/QuantitySelector.d.ts +1 -3
  361. package/types/Ribbon.d.ts +1 -3
  362. package/types/Spinner.d.ts +1 -3
  363. package/types/Table.d.ts +1 -3
  364. package/types/Tooltip.d.ts +1 -3
  365. package/types/TooltipButton.d.ts +1 -3
  366. package/types/Typography.d.ts +1 -3
  367. package/types/Video.d.ts +1 -3
  368. package/types/VideoButton.d.ts +1 -3
  369. package/types/VideoMenu.d.ts +1 -3
  370. package/types/VideoProgressBar.d.ts +1 -3
  371. package/types/VolumeSlider.d.ts +1 -3
  372. package/types/WebVideo.d.ts +1 -3
  373. package/lib/cjs/Badge/index.js +0 -9
  374. package/lib/cjs/BlockQuote/index.js +0 -9
  375. package/lib/cjs/Breadcrumbs/index.js +0 -13
  376. package/lib/cjs/Callout/index.js +0 -9
  377. package/lib/cjs/Card/index.js +0 -9
  378. package/lib/cjs/Countdown/index.js +0 -9
  379. package/lib/cjs/DatePicker/index.js +0 -9
  380. package/lib/cjs/Disclaimer/index.js +0 -13
  381. package/lib/cjs/Footnote/index.js +0 -11
  382. package/lib/cjs/IconButton/index.js +0 -9
  383. package/lib/cjs/Image/index.js +0 -20
  384. package/lib/cjs/List/index.js +0 -17
  385. package/lib/cjs/NavigationBar/index.js +0 -11
  386. package/lib/cjs/OptimizeImage/index.js +0 -9
  387. package/lib/cjs/OrderedList/index.js +0 -17
  388. package/lib/cjs/Paragraph/index.js +0 -9
  389. package/lib/cjs/PreviewCard/index.js +0 -9
  390. package/lib/cjs/PriceLockup/index.js +0 -9
  391. package/lib/cjs/Progress/index.js +0 -11
  392. package/lib/cjs/QuantitySelector/index.js +0 -9
  393. package/lib/cjs/ResponsiveImage/index.js +0 -9
  394. package/lib/cjs/Ribbon/index.js +0 -9
  395. package/lib/cjs/SkeletonProvider/index.js +0 -9
  396. package/lib/cjs/Span/index.js +0 -9
  397. package/lib/cjs/Spinner/index.js +0 -9
  398. package/lib/cjs/StoryCard/index.js +0 -9
  399. package/lib/cjs/Table/index.js +0 -24
  400. package/lib/cjs/TermsAndConditions/index.js +0 -13
  401. package/lib/cjs/Testimonial/index.js +0 -9
  402. package/lib/cjs/Toast/index.js +0 -9
  403. package/lib/cjs/Video/index.js +0 -9
  404. package/lib/cjs/VideoPicker/index.js +0 -9
  405. package/lib/cjs/WaffleGrid/index.js +0 -9
  406. package/lib/cjs/WebVideo/index.js +0 -9
  407. package/lib/cjs/shared/ConditionalWrapper/index.js +0 -9
  408. package/lib/esm/Badge/index.js +0 -2
  409. package/lib/esm/BlockQuote/index.js +0 -2
  410. package/lib/esm/Breadcrumbs/index.js +0 -1
  411. package/lib/esm/Callout/index.js +0 -2
  412. package/lib/esm/Card/index.js +0 -2
  413. package/lib/esm/Countdown/index.js +0 -2
  414. package/lib/esm/DatePicker/index.js +0 -2
  415. package/lib/esm/Disclaimer/index.js +0 -1
  416. package/lib/esm/Footnote/index.js +0 -4
  417. package/lib/esm/IconButton/index.js +0 -2
  418. package/lib/esm/Image/index.js +0 -9
  419. package/lib/esm/List/index.js +0 -5
  420. package/lib/esm/NavigationBar/index.js +0 -4
  421. package/lib/esm/OptimizeImage/index.js +0 -2
  422. package/lib/esm/OrderedList/index.js +0 -5
  423. package/lib/esm/Paragraph/index.js +0 -2
  424. package/lib/esm/PreviewCard/index.js +0 -2
  425. package/lib/esm/PriceLockup/index.js +0 -2
  426. package/lib/esm/Progress/index.js +0 -4
  427. package/lib/esm/QuantitySelector/index.js +0 -2
  428. package/lib/esm/ResponsiveImage/index.js +0 -2
  429. package/lib/esm/Ribbon/index.js +0 -2
  430. package/lib/esm/SkeletonProvider/index.js +0 -2
  431. package/lib/esm/Span/index.js +0 -2
  432. package/lib/esm/Spinner/index.js +0 -2
  433. package/lib/esm/StoryCard/index.js +0 -2
  434. package/lib/esm/Table/index.js +0 -17
  435. package/lib/esm/TermsAndConditions/index.js +0 -1
  436. package/lib/esm/Testimonial/index.js +0 -2
  437. package/lib/esm/Toast/index.js +0 -2
  438. package/lib/esm/Video/index.js +0 -2
  439. package/lib/esm/VideoPicker/index.js +0 -2
  440. package/lib/esm/WaffleGrid/index.js +0 -2
  441. package/lib/esm/WebVideo/index.js +0 -2
  442. package/lib/esm/shared/ConditionalWrapper/index.js +0 -2
  443. package/src/Badge/index.js +0 -3
  444. package/src/BlockQuote/index.js +0 -3
  445. package/src/Breadcrumbs/index.js +0 -1
  446. package/src/Callout/index.js +0 -3
  447. package/src/Card/index.js +0 -3
  448. package/src/Countdown/index.js +0 -3
  449. package/src/DatePicker/index.js +0 -3
  450. package/src/Disclaimer/index.js +0 -1
  451. package/src/Footnote/index.js +0 -6
  452. package/src/IconButton/index.js +0 -3
  453. package/src/Image/index.js +0 -10
  454. package/src/List/index.js +0 -8
  455. package/src/NavigationBar/index.js +0 -6
  456. package/src/OptimizeImage/index.js +0 -3
  457. package/src/OrderedList/index.js +0 -8
  458. package/src/Paragraph/index.js +0 -3
  459. package/src/PreviewCard/index.js +0 -3
  460. package/src/PriceLockup/index.js +0 -3
  461. package/src/Progress/index.js +0 -6
  462. package/src/QuantitySelector/index.js +0 -3
  463. package/src/ResponsiveImage/index.js +0 -3
  464. package/src/Ribbon/index.js +0 -3
  465. package/src/SkeletonProvider/index.js +0 -3
  466. package/src/Span/index.js +0 -3
  467. package/src/Spinner/index.js +0 -3
  468. package/src/StoryCard/index.js +0 -3
  469. package/src/Table/index.js +0 -20
  470. package/src/TermsAndConditions/index.js +0 -1
  471. package/src/Testimonial/index.js +0 -3
  472. package/src/Toast/index.js +0 -3
  473. package/src/Video/index.js +0 -3
  474. package/src/VideoPicker/index.js +0 -3
  475. package/src/WaffleGrid/index.js +0 -3
  476. package/src/WebVideo/index.js +0 -3
  477. package/src/shared/ConditionalWrapper/index.js +0 -3
package/src/Card/Card.jsx CHANGED
@@ -18,13 +18,14 @@ import {
18
18
  useAllViewportTokens
19
19
  } from '@telus-uds/components-base'
20
20
  import styled from 'styled-components'
21
- import CardContent from './CardContent'
22
- import CardFooter from './CardFooter'
23
- import FullBleedContent, {
21
+ import { CardContent } from './CardContent'
22
+ import { CardFooter } from './CardFooter'
23
+ import {
24
+ FullBleedContent,
24
25
  getFullBleedBorderRadius,
25
26
  useFullBleedContentProps
26
27
  } from '../shared/FullBleedContent'
27
- import ConditionalWrapper from '../shared/ConditionalWrapper'
28
+ import { ConditionalWrapper } from '../shared/ConditionalWrapper/ConditionalWrapper'
28
29
 
29
30
  // Passes React Native-oriented system props through UDS Card
30
31
  const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps])
@@ -87,7 +88,7 @@ const getCardContentTokens = (baseTokens, options = {}) => {
87
88
  * ### With Footer
88
89
  *
89
90
  * Pass any component or simply a string in the `footer` prop in order to render
90
- * a card with a footer (which uses the `alternative` background).
91
+ * a card with a footer (which uses the `feature2` style).
91
92
  *
92
93
  * ### With Full Bleed Content
93
94
  *
@@ -108,32 +109,27 @@ const getCardContentTokens = (baseTokens, options = {}) => {
108
109
  * ## Accessibility
109
110
  * `Card` component accepts all the standard accessibility props.
110
111
  */
111
- const DynamicWidthContainer = styled.div.withConfig({
112
- shouldForwardProp: (prop) =>
113
- !['marginTop', 'marginBottom', 'marginLeft', 'marginRight', 'height', 'alignSelf'].includes(
114
- prop
115
- )
116
- })(
112
+ const DynamicWidthContainer = styled.div(
117
113
  ({
118
- width,
119
- display,
120
- borderRadius,
121
- overflow,
122
- marginTop,
123
- marginBottom,
124
- marginLeft,
125
- marginRight,
126
- alignSelf
114
+ $width,
115
+ $display,
116
+ $borderRadius,
117
+ $overflow,
118
+ $marginTop,
119
+ $marginBottom,
120
+ $marginLeft,
121
+ $marginRight,
122
+ $alignSelf
127
123
  }) => ({
128
- width,
129
- display,
130
- borderRadius,
131
- overflow,
132
- marginTop,
133
- marginBottom,
134
- marginLeft,
135
- marginRight,
136
- alignSelf
124
+ width: $width,
125
+ display: $display,
126
+ borderRadius: $borderRadius,
127
+ overflow: $overflow,
128
+ marginTop: $marginTop,
129
+ marginBottom: $marginBottom,
130
+ marginLeft: $marginLeft,
131
+ marginRight: $marginRight,
132
+ alignSelf: $alignSelf
137
133
  })
138
134
  )
139
135
 
@@ -144,39 +140,39 @@ const InteractiveCardWrapper = styled.div(() => ({
144
140
  flexDirection: 'column'
145
141
  }))
146
142
 
147
- const InteractiveOverlay = styled.div(({ overlayOpacity, borderRadius }) => ({
143
+ const InteractiveOverlay = styled.div(({ $overlayOpacity, $borderRadius }) => ({
148
144
  position: 'absolute',
149
145
  top: 0,
150
146
  left: 0,
151
147
  right: 0,
152
148
  bottom: 0,
153
- backgroundColor: `rgba(0, 0, 0, ${overlayOpacity || 0})`,
154
- borderRadius,
149
+ backgroundColor: `rgba(0, 0, 0, ${$overlayOpacity || 0})`,
150
+ borderRadius: $borderRadius,
155
151
  pointerEvents: 'none',
156
152
  transition: 'background-color 0.2s ease',
157
153
  zIndex: 1
158
154
  }))
159
155
 
160
- const FocusBorder = styled.div(({ borderWidth, borderColor, borderRadius }) => ({
156
+ const FocusBorder = styled.div(({ $borderWidth, $borderColor, $borderRadius }) => ({
161
157
  position: 'absolute',
162
158
  top: 0,
163
159
  left: 0,
164
160
  right: 0,
165
161
  bottom: 0,
166
- borderWidth,
167
- borderColor,
168
- borderRadius,
162
+ borderWidth: $borderWidth,
163
+ borderColor: $borderColor,
164
+ borderRadius: $borderRadius,
169
165
  borderStyle: 'solid',
170
166
  pointerEvents: 'none',
171
167
  zIndex: 2
172
168
  }))
173
169
 
174
170
  const FullBleedPaddingWrapper = styled.div(
175
- ({ paddingTop, paddingBottom, paddingLeft, paddingRight }) => ({
176
- paddingTop,
177
- paddingBottom,
178
- paddingLeft,
179
- paddingRight,
171
+ ({ $paddingTop, $paddingBottom, $paddingLeft, $paddingRight }) => ({
172
+ paddingTop: $paddingTop,
173
+ paddingBottom: $paddingBottom,
174
+ paddingLeft: $paddingLeft,
175
+ paddingRight: $paddingRight,
180
176
  display: 'flex',
181
177
  flexDirection: 'column'
182
178
  })
@@ -204,14 +200,14 @@ const calculateFullBleedPadding = (themeTokens, fullBleedPadding, paddingSides)
204
200
  }
205
201
 
206
202
  return {
207
- paddingTop: applyPadding('Top'),
208
- paddingBottom: applyPadding('Bottom'),
209
- paddingLeft: applyPadding('Left'),
210
- paddingRight: applyPadding('Right')
203
+ $paddingTop: applyPadding('Top'),
204
+ $paddingBottom: applyPadding('Bottom'),
205
+ $paddingLeft: applyPadding('Left'),
206
+ $paddingRight: applyPadding('Right')
211
207
  }
212
208
  }
213
209
 
214
- const Card = React.forwardRef(
210
+ export const Card = React.forwardRef(
215
211
  (
216
212
  {
217
213
  children,
@@ -394,10 +390,10 @@ const Card = React.forwardRef(
394
390
  (fullBleedContentPosition === POSITION.LEFT || fullBleedContentPosition === POSITION.RIGHT)
395
391
 
396
392
  const contentWrapperStyleProps = {
397
- ...(hasValidImgCol && { width: adaptiveContentWidth }),
398
- ...(hasValidImgCol && imgColCurrentViewport >= maxCol && { display: 'none' }),
393
+ ...(hasValidImgCol && { $width: adaptiveContentWidth }),
394
+ ...(hasValidImgCol && imgColCurrentViewport >= maxCol && { $display: 'none' }),
399
395
  ...(fullBleedContentChildrenAlign && {
400
- alignSelf: fullBleedContentChildrenAlign
396
+ $alignSelf: fullBleedContentChildrenAlign
401
397
  })
402
398
  }
403
399
 
@@ -434,10 +430,10 @@ const Card = React.forwardRef(
434
430
  fullBleedContentPosition === POSITION.TOP || fullBleedContentPosition === POSITION.BOTTOM
435
431
 
436
432
  const imageWrapperStyleProps = {
437
- ...(isImageWidthAdjustable && { width: fullBleedImageWidth }),
433
+ ...(isImageWidthAdjustable && { $width: fullBleedImageWidth }),
438
434
  ...(isImageWidthAdjustable &&
439
- imgColCurrentViewport >= maxCol && { borderRadius, overflow: 'hidden' }),
440
- ...(isImageWidthAdjustable && imgColCurrentViewport === 0 && { display: 'none' })
435
+ imgColCurrentViewport >= maxCol && { $borderRadius: borderRadius, $overflow: 'hidden' }),
436
+ ...(isImageWidthAdjustable && imgColCurrentViewport === 0 && { $display: 'none' })
441
437
  }
442
438
 
443
439
  return (
@@ -562,12 +558,15 @@ const Card = React.forwardRef(
562
558
  </ConditionalWrapper>
563
559
  )}
564
560
  </StackView>
565
- <InteractiveOverlay overlayOpacity={overlayOpacity} borderRadius={borderRadius} />
561
+ <InteractiveOverlay
562
+ $overlayOpacity={overlayOpacity}
563
+ $borderRadius={borderRadius}
564
+ />
566
565
  {showFocusBorder && (
567
566
  <FocusBorder
568
- borderWidth={`${focusTokens.borderWidth}px`}
569
- borderColor={focusTokens.borderColor}
570
- borderRadius={borderRadius}
567
+ $borderWidth={`${focusTokens.borderWidth}px`}
568
+ $borderColor={focusTokens.borderColor}
569
+ $borderRadius={borderRadius}
571
570
  />
572
571
  )}
573
572
  </InteractiveCardWrapper>
@@ -754,5 +753,3 @@ Card.propTypes = {
754
753
  */
755
754
  dataSet: PropTypes.object
756
755
  }
757
-
758
- export default Card
@@ -16,45 +16,45 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([htmlAttrs])
16
16
 
17
17
  const CardContentContainer = styled.div(
18
18
  ({
19
- borderRadius,
20
- paddingBottom,
21
- paddingLeft,
22
- paddingRight,
23
- paddingTop,
24
- withFooter,
25
- contentAlignItems: alignItems,
26
- contentFlexGrow: flexGrow,
27
- contentFlexShrink: flexShrink,
28
- contentJustifyContent: justifyContent,
29
- borderWidth,
30
- alignSelf,
31
- backgroundColor
19
+ $borderRadius,
20
+ $paddingBottom,
21
+ $paddingLeft,
22
+ $paddingRight,
23
+ $paddingTop,
24
+ $withFooter,
25
+ $contentAlignItems: alignItems,
26
+ $contentFlexGrow: flexGrow,
27
+ $contentFlexShrink: flexShrink,
28
+ $contentJustifyContent: justifyContent,
29
+ $borderWidth,
30
+ $alignSelf,
31
+ $backgroundColor
32
32
  }) => ({
33
33
  // We need to make sure to have sharp corners on the bottom
34
34
  // if the card has a footer
35
- borderBottomLeftRadius: withFooter ? 0 : borderRadius,
36
- borderBottomRightRadius: withFooter ? 0 : borderRadius,
37
- borderTopLeftRadius: borderRadius,
38
- borderTopRightRadius: borderRadius,
39
- paddingBottom: paddingBottom - borderWidth,
40
- paddingLeft: paddingLeft - borderWidth,
41
- paddingRight: paddingRight - borderWidth,
42
- paddingTop: paddingTop - borderWidth,
35
+ borderBottomLeftRadius: $withFooter ? 0 : $borderRadius,
36
+ borderBottomRightRadius: $withFooter ? 0 : $borderRadius,
37
+ borderTopLeftRadius: $borderRadius,
38
+ borderTopRightRadius: $borderRadius,
39
+ paddingBottom: $paddingBottom - $borderWidth,
40
+ paddingLeft: $paddingLeft - $borderWidth,
41
+ paddingRight: $paddingRight - $borderWidth,
42
+ paddingTop: $paddingTop - $borderWidth,
43
43
  display: 'flex',
44
44
  flexDirection: 'column',
45
45
  alignItems,
46
46
  flexGrow,
47
47
  flexShrink,
48
48
  justifyContent,
49
- alignSelf,
50
- backgroundColor
49
+ alignSelf: $alignSelf,
50
+ backgroundColor: $backgroundColor
51
51
  })
52
52
  )
53
53
 
54
54
  /**
55
55
  * Card content, applying the card tokens as per the theme used.
56
56
  */
57
- const CardContent = React.forwardRef(
57
+ export const CardContent = React.forwardRef(
58
58
  (
59
59
  { children, flexContent, tokens, variant, withFooter = false, backgroundImage, ...rest },
60
60
  ref
@@ -140,11 +140,37 @@ const CardContent = React.forwardRef(
140
140
  themeTokens = allTokens.current
141
141
  }
142
142
 
143
+ const {
144
+ borderRadius,
145
+ paddingBottom,
146
+ paddingLeft,
147
+ paddingRight,
148
+ paddingTop,
149
+ contentAlignItems,
150
+ contentFlexGrow,
151
+ contentFlexShrink,
152
+ contentJustifyContent,
153
+ borderWidth,
154
+ alignSelf,
155
+ backgroundColor
156
+ } = themeTokens
157
+
143
158
  return (
144
159
  <CardContentContainer
145
- {...themeTokens}
160
+ $borderRadius={borderRadius}
161
+ $paddingBottom={paddingBottom}
162
+ $paddingLeft={paddingLeft}
163
+ $paddingRight={paddingRight}
164
+ $paddingTop={paddingTop}
165
+ $contentAlignItems={contentAlignItems}
166
+ $contentFlexGrow={contentFlexGrow}
167
+ $contentFlexShrink={contentFlexShrink}
168
+ $contentJustifyContent={contentJustifyContent}
169
+ $borderWidth={borderWidth}
170
+ $alignSelf={alignSelf}
171
+ $backgroundColor={backgroundColor}
146
172
  flexContent={flexContent}
147
- withFooter={withFooter}
173
+ $withFooter={withFooter}
148
174
  ref={ref}
149
175
  data-media={mediaIds}
150
176
  {...selectProps(rest)}
@@ -185,5 +211,3 @@ CardContent.propTypes = {
185
211
  */
186
212
  backgroundImage: PropTypes.object
187
213
  }
188
-
189
- export default CardContent
@@ -14,34 +14,50 @@ import { htmlAttrs } from '../utils'
14
14
  const [selectProps, selectedSystemPropTypes] = selectSystemProps([htmlAttrs])
15
15
 
16
16
  const CardFooterContainer = styled.div(
17
- ({ backgroundColor, borderRadius, paddingBottom, paddingLeft, paddingRight, paddingTop }) => ({
18
- backgroundColor,
19
- borderBottomLeftRadius: borderRadius,
20
- borderBottomRightRadius: borderRadius,
17
+ ({
18
+ $backgroundColor,
19
+ $borderRadius,
20
+ $paddingBottom,
21
+ $paddingLeft,
22
+ $paddingRight,
23
+ $paddingTop
24
+ }) => ({
25
+ backgroundColor: $backgroundColor,
26
+ borderBottomLeftRadius: $borderRadius,
27
+ borderBottomRightRadius: $borderRadius,
21
28
  // @todo circle back to the following non-standard value to
22
29
  // see if it can be integrated into the palette
23
30
  boxShadow: 'inset 0px 1px 3px rgba(0, 0, 0, 0.05)',
24
- paddingBottom,
25
- paddingLeft,
26
- paddingRight,
27
- paddingTop
31
+ paddingBottom: $paddingBottom,
32
+ paddingLeft: $paddingLeft,
33
+ paddingRight: $paddingRight,
34
+ paddingTop: $paddingTop
28
35
  })
29
36
  )
30
37
 
31
38
  /**
32
39
  * Card footer, applying the tokens as per the theme used.
33
40
  */
34
- const CardFooter = ({ children, padding, tokens, variant, ...rest }) => {
41
+ export const CardFooter = ({ children, padding, tokens, variant, ...rest }) => {
35
42
  const viewport = useViewport()
36
43
  const themeTokens = useThemeTokens(
37
44
  'Card',
38
45
  tokens,
39
- { ...variant, background: 'alternative' },
46
+ { ...variant, style: 'feature2' },
40
47
  { viewport }
41
48
  )
49
+ const { paddingBottom, paddingLeft, paddingRight, paddingTop } = padding || themeTokens
42
50
 
43
51
  return (
44
- <CardFooterContainer {...themeTokens} {...padding} {...selectProps(rest)}>
52
+ <CardFooterContainer
53
+ $paddingBottom={paddingBottom}
54
+ $paddingLeft={paddingLeft}
55
+ $paddingRight={paddingRight}
56
+ $paddingTop={paddingTop}
57
+ $borderRadius={themeTokens.borderRadius}
58
+ $backgroundColor={themeTokens.backgroundColor}
59
+ {...selectProps(rest)}
60
+ >
45
61
  {children}
46
62
  </CardFooterContainer>
47
63
  )
@@ -66,5 +82,3 @@ CardFooter.propTypes = {
66
82
  */
67
83
  variant: variantProp.propType
68
84
  }
69
-
70
- export default CardFooter
@@ -19,8 +19,8 @@ import styled from 'styled-components'
19
19
  // Reading these from the RN palette since they will be used to generate
20
20
  // the `Typography` tokens
21
21
  import { htmlAttrs, transformGradient } from '../utils'
22
- import Segment from './Segment'
23
- import useCountdown from './useCountdown'
22
+ import { Segment } from './Segment'
23
+ import { useCountdown } from './useCountdown'
24
24
  import { countdownVariantPropType, dictionaryContentShape } from './types'
25
25
 
26
26
  const DAYS = 'days'
@@ -72,7 +72,7 @@ const getMainTextTokens = ({
72
72
  fontName: textTimerFontName
73
73
  })
74
74
 
75
- const Countdown = React.forwardRef(
75
+ export const Countdown = React.forwardRef(
76
76
  (
77
77
  {
78
78
  copy = 'en',
@@ -266,5 +266,3 @@ Countdown.propTypes = {
266
266
  */
267
267
  units: PropTypes.arrayOf(PropTypes.oneOf([DAYS, HOURS, MINUTES, SECONDS]))
268
268
  }
269
-
270
- export default Countdown
@@ -2,7 +2,7 @@ import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import { StackView, Typography, useCopy } from '@telus-uds/components-base'
4
4
  import styled from 'styled-components'
5
- import dictionary from './dictionary'
5
+ import { dictionary } from './dictionary'
6
6
  import { countdownVariantPropType, dictionaryContentShape } from './types'
7
7
  // !TODO: put this back
8
8
  import { SEGMENT_WIDTH_TO_FONT_SIZE_RATIO } from './constants'
@@ -10,19 +10,19 @@ import { SEGMENT_WIDTH_TO_FONT_SIZE_RATIO } from './constants'
10
10
  // Pads with zeros on the left if it's a single digit number
11
11
  const pad = (number, segmentWidth = 2) => String(number).padStart(segmentWidth, '0')
12
12
 
13
- const Container = styled.div(({ segmentFontSize, segmentWidth = 2, variant: { feature } }) => ({
13
+ const Container = styled.div(({ $segmentFontSize, $segmentWidth = 2, variant: { feature } }) => ({
14
14
  justifyContent: 'space-evenly',
15
15
  display: 'inline-flex',
16
16
  ...(feature && {
17
17
  // This is required because when the numbers for Countdown change, the character widths will change and thereby effecting the container demensions.
18
- width: `${segmentFontSize * SEGMENT_WIDTH_TO_FONT_SIZE_RATIO * segmentWidth}px`,
18
+ width: `${$segmentFontSize * SEGMENT_WIDTH_TO_FONT_SIZE_RATIO * $segmentWidth}px`,
19
19
  display: 'flex'
20
20
  })
21
21
  }))
22
22
  // A segment of the countdown string: we need to make sure it
23
23
  // keeps its width constant to prevent the whole component from
24
24
  // being automatically resized while using variable size fonts
25
- const Segment = React.forwardRef(
25
+ export const Segment = React.forwardRef(
26
26
  (
27
27
  {
28
28
  copy = 'en',
@@ -43,8 +43,8 @@ const Segment = React.forwardRef(
43
43
 
44
44
  return (
45
45
  <Container
46
- segmentFontSize={segmentFontSize}
47
- segmentWidth={segmentWidth}
46
+ $segmentFontSize={segmentFontSize}
47
+ $segmentWidth={segmentWidth}
48
48
  variant={variant}
49
49
  ref={ref}
50
50
  >
@@ -88,5 +88,3 @@ Segment.propTypes = {
88
88
  mainTextMediaIds: PropTypes.string,
89
89
  variant: countdownVariantPropType
90
90
  }
91
-
92
- export default Segment
@@ -1,4 +1,4 @@
1
- export default {
1
+ export const dictionary = {
2
2
  en: {
3
3
  days: 'Days',
4
4
  day: 'Day',
@@ -19,5 +19,3 @@ export const dictionaryContentShape = PropTypes.shape({
19
19
  seconds: PropTypes.string.isRequired,
20
20
  second: PropTypes.string.isRequired
21
21
  })
22
-
23
- export default { countdownVariantPropType, dictionaryContentShape }
@@ -12,7 +12,7 @@ const getTimeCounts = (countdown) => {
12
12
  return [days, hours, minutes, seconds]
13
13
  }
14
14
 
15
- const useCountdown = (targetTime) => {
15
+ export const useCountdown = (targetTime) => {
16
16
  const countdownTime = new Date(targetTime).getTime()
17
17
  if (!countdownTime) {
18
18
  throw new Error('Invalid target time is provided!')
@@ -30,5 +30,3 @@ const useCountdown = (targetTime) => {
30
30
 
31
31
  return getTimeCounts(countdown)
32
32
  }
33
-
34
- export default useCountdown