@telus-uds/theme-koodo 7.19.0 → 7.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/build/android/Button.json +4 -4
  2. package/build/android/Card.json +4 -0
  3. package/build/android/CheckboxCard.json +4 -0
  4. package/build/android/IconButton.json +320 -73
  5. package/build/android/Listbox.json +62 -0
  6. package/build/android/RadioCard.json +4 -0
  7. package/build/android/Shortcuts.json +44 -0
  8. package/build/android/ShortcutsItem.json +77 -0
  9. package/build/android/schema.json +1437 -797
  10. package/build/android/theme.json +520 -78
  11. package/build/ios/Button.json +4 -4
  12. package/build/ios/Card.json +4 -0
  13. package/build/ios/CheckboxCard.json +4 -0
  14. package/build/ios/IconButton.json +320 -73
  15. package/build/ios/Listbox.json +62 -0
  16. package/build/ios/RadioCard.json +4 -0
  17. package/build/ios/Shortcuts.json +44 -0
  18. package/build/ios/ShortcutsItem.json +77 -0
  19. package/build/ios/schema.json +1437 -797
  20. package/build/ios/theme.json +520 -78
  21. package/build/rn/ActionCard.js +1 -1
  22. package/build/rn/ActivityIndicator.js +1 -1
  23. package/build/rn/Autocomplete.js +1 -1
  24. package/build/rn/Badge.js +1 -1
  25. package/build/rn/BlockQuote.js +1 -1
  26. package/build/rn/Box.js +1 -1
  27. package/build/rn/Breadcrumbs.js +1 -1
  28. package/build/rn/Button.js +2 -2
  29. package/build/rn/ButtonDropdown.js +1 -1
  30. package/build/rn/ButtonGroup.js +1 -1
  31. package/build/rn/ButtonGroupItem.js +1 -1
  32. package/build/rn/Callout.js +1 -1
  33. package/build/rn/Card.js +5 -1
  34. package/build/rn/CardGroup.js +1 -1
  35. package/build/rn/Carousel.js +1 -1
  36. package/build/rn/CarouselTabsPanelItem.js +1 -1
  37. package/build/rn/CarouselThumbnail.js +1 -1
  38. package/build/rn/Checkbox.js +1 -1
  39. package/build/rn/CheckboxCard.js +5 -1
  40. package/build/rn/CheckboxCardGroup.js +1 -1
  41. package/build/rn/CheckboxGroup.js +1 -1
  42. package/build/rn/ChevronLink.js +1 -1
  43. package/build/rn/ColourToggle.js +1 -1
  44. package/build/rn/Countdown.js +1 -1
  45. package/build/rn/DatePicker.js +1 -1
  46. package/build/rn/Disclaimer.js +1 -1
  47. package/build/rn/Divider.js +1 -1
  48. package/build/rn/DownloadApp.js +1 -1
  49. package/build/rn/ExpandCollapse.js +1 -1
  50. package/build/rn/ExpandCollapseControl.js +1 -1
  51. package/build/rn/ExpandCollapseMini.js +1 -1
  52. package/build/rn/ExpandCollapseMiniControl.js +1 -1
  53. package/build/rn/ExpandCollapsePanel.js +1 -1
  54. package/build/rn/Feedback.js +1 -1
  55. package/build/rn/Fieldset.js +1 -1
  56. package/build/rn/FileUpload.js +1 -1
  57. package/build/rn/Footnote.js +1 -1
  58. package/build/rn/FootnoteLink.js +1 -1
  59. package/build/rn/HorizontalScrollButton.js +1 -1
  60. package/build/rn/Icon.js +1 -1
  61. package/build/rn/IconButton.js +219 -56
  62. package/build/rn/Image.js +1 -1
  63. package/build/rn/InputLabel.js +1 -1
  64. package/build/rn/InputSupports.js +1 -1
  65. package/build/rn/Link.js +1 -1
  66. package/build/rn/List.js +1 -1
  67. package/build/rn/Listbox.js +39 -1
  68. package/build/rn/Modal.js +1 -1
  69. package/build/rn/MultiSelectFilter.js +1 -1
  70. package/build/rn/NavigationBar.js +1 -1
  71. package/build/rn/Notification.js +1 -1
  72. package/build/rn/OrderedList.js +1 -1
  73. package/build/rn/Pagination.js +1 -1
  74. package/build/rn/PaginationPageButton.js +1 -1
  75. package/build/rn/PaginationSideButton.js +1 -1
  76. package/build/rn/PreviewCard.js +1 -1
  77. package/build/rn/PriceLockup.js +1 -1
  78. package/build/rn/ProductCard.js +1 -1
  79. package/build/rn/Progress.js +1 -1
  80. package/build/rn/ProgressBar.js +1 -1
  81. package/build/rn/QuantitySelector.js +1 -1
  82. package/build/rn/QuantitySelectorSideButton.js +1 -1
  83. package/build/rn/QuickLinks.js +1 -1
  84. package/build/rn/QuickLinksButton.js +1 -1
  85. package/build/rn/QuickLinksCard.js +1 -1
  86. package/build/rn/QuickLinksFeature.js +1 -1
  87. package/build/rn/QuickLinksFeatureItem.js +1 -1
  88. package/build/rn/QuickLinksList.js +1 -1
  89. package/build/rn/Radio.js +1 -1
  90. package/build/rn/RadioCard.js +5 -1
  91. package/build/rn/RadioCardGroup.js +1 -1
  92. package/build/rn/RadioGroup.js +1 -1
  93. package/build/rn/Ribbon.js +1 -1
  94. package/build/rn/Search.js +1 -1
  95. package/build/rn/SearchButton.js +1 -1
  96. package/build/rn/Select.js +1 -1
  97. package/build/rn/Shortcuts.js +33 -0
  98. package/build/rn/ShortcutsItem.js +68 -0
  99. package/build/rn/SideNav.js +1 -1
  100. package/build/rn/SideNavItem.js +1 -1
  101. package/build/rn/SideNavItemsGroup.js +1 -1
  102. package/build/rn/Skeleton.js +1 -1
  103. package/build/rn/SkipLink.js +1 -1
  104. package/build/rn/Spinner.js +1 -1
  105. package/build/rn/SplashButton.js +1 -1
  106. package/build/rn/SplashButtonWithDetails.js +1 -1
  107. package/build/rn/StackView.js +1 -1
  108. package/build/rn/Status.js +1 -1
  109. package/build/rn/StepTracker.js +1 -1
  110. package/build/rn/StoryCard.js +1 -1
  111. package/build/rn/TabBar.js +1 -1
  112. package/build/rn/TabBarItem.js +1 -1
  113. package/build/rn/Table.js +1 -1
  114. package/build/rn/Tabs.js +1 -1
  115. package/build/rn/TabsItem.js +1 -1
  116. package/build/rn/Tags.js +1 -1
  117. package/build/rn/TagsItem.js +1 -1
  118. package/build/rn/TermsAndConditions.js +1 -1
  119. package/build/rn/Testimonial.js +1 -1
  120. package/build/rn/TextArea.js +1 -1
  121. package/build/rn/TextInput.js +1 -1
  122. package/build/rn/Timeline.js +1 -1
  123. package/build/rn/Toast.js +1 -1
  124. package/build/rn/ToggleSwitch.js +1 -1
  125. package/build/rn/ToggleSwitchGroup.js +1 -1
  126. package/build/rn/Tooltip.js +1 -1
  127. package/build/rn/TooltipButton.js +1 -1
  128. package/build/rn/Typography.js +1 -1
  129. package/build/rn/Video.js +1 -1
  130. package/build/rn/VideoButton.js +1 -1
  131. package/build/rn/VideoControlBar.js +1 -1
  132. package/build/rn/VideoMenu.js +1 -1
  133. package/build/rn/VideoMiddleControlButton.js +1 -1
  134. package/build/rn/VideoPicker.js +1 -1
  135. package/build/rn/VideoPickerSlider.js +1 -1
  136. package/build/rn/VideoPickerThumbnail.js +1 -1
  137. package/build/rn/VideoProgressBar.js +1 -1
  138. package/build/rn/VideoVolumeSlider.js +1 -1
  139. package/build/rn/WaffleGrid.js +1 -1
  140. package/build/rn/schema.json +1437 -797
  141. package/build/rn/spacingScale.js +1 -1
  142. package/build/rn/theme.js +350 -65
  143. package/build/web/ActionCard.js +1 -1
  144. package/build/web/ActivityIndicator.js +1 -1
  145. package/build/web/Autocomplete.js +1 -1
  146. package/build/web/Badge.js +1 -1
  147. package/build/web/BlockQuote.js +1 -1
  148. package/build/web/Box.js +1 -1
  149. package/build/web/Breadcrumbs.js +1 -1
  150. package/build/web/Button.js +2 -2
  151. package/build/web/ButtonDropdown.js +1 -1
  152. package/build/web/ButtonGroup.js +1 -1
  153. package/build/web/ButtonGroupItem.js +1 -1
  154. package/build/web/Callout.js +1 -1
  155. package/build/web/Card.js +5 -1
  156. package/build/web/CardGroup.js +1 -1
  157. package/build/web/Carousel.js +1 -1
  158. package/build/web/CarouselTabsPanelItem.js +1 -1
  159. package/build/web/CarouselThumbnail.js +1 -1
  160. package/build/web/Checkbox.js +1 -1
  161. package/build/web/CheckboxCard.js +5 -1
  162. package/build/web/CheckboxCardGroup.js +1 -1
  163. package/build/web/CheckboxGroup.js +1 -1
  164. package/build/web/ChevronLink.js +1 -1
  165. package/build/web/ColourToggle.js +1 -1
  166. package/build/web/Countdown.js +1 -1
  167. package/build/web/DatePicker.js +1 -1
  168. package/build/web/Disclaimer.js +1 -1
  169. package/build/web/Divider.js +1 -1
  170. package/build/web/DownloadApp.js +1 -1
  171. package/build/web/ExpandCollapse.js +1 -1
  172. package/build/web/ExpandCollapseControl.js +1 -1
  173. package/build/web/ExpandCollapseMini.js +1 -1
  174. package/build/web/ExpandCollapseMiniControl.js +1 -1
  175. package/build/web/ExpandCollapsePanel.js +1 -1
  176. package/build/web/Feedback.js +1 -1
  177. package/build/web/Fieldset.js +1 -1
  178. package/build/web/FileUpload.js +1 -1
  179. package/build/web/Footnote.js +1 -1
  180. package/build/web/FootnoteLink.js +1 -1
  181. package/build/web/HorizontalScrollButton.js +1 -1
  182. package/build/web/Icon.js +1 -1
  183. package/build/web/IconButton.js +219 -56
  184. package/build/web/Image.js +1 -1
  185. package/build/web/InputLabel.js +1 -1
  186. package/build/web/InputSupports.js +1 -1
  187. package/build/web/Link.js +1 -1
  188. package/build/web/List.js +1 -1
  189. package/build/web/Listbox.js +39 -1
  190. package/build/web/Modal.js +1 -1
  191. package/build/web/MultiSelectFilter.js +1 -1
  192. package/build/web/NavigationBar.js +1 -1
  193. package/build/web/Notification.js +1 -1
  194. package/build/web/OrderedList.js +1 -1
  195. package/build/web/Pagination.js +1 -1
  196. package/build/web/PaginationPageButton.js +1 -1
  197. package/build/web/PaginationSideButton.js +1 -1
  198. package/build/web/PreviewCard.js +1 -1
  199. package/build/web/PriceLockup.js +1 -1
  200. package/build/web/ProductCard.js +1 -1
  201. package/build/web/Progress.js +1 -1
  202. package/build/web/ProgressBar.js +1 -1
  203. package/build/web/QuantitySelector.js +1 -1
  204. package/build/web/QuantitySelectorSideButton.js +1 -1
  205. package/build/web/QuickLinks.js +1 -1
  206. package/build/web/QuickLinksButton.js +1 -1
  207. package/build/web/QuickLinksCard.js +1 -1
  208. package/build/web/QuickLinksFeature.js +1 -1
  209. package/build/web/QuickLinksFeatureItem.js +1 -1
  210. package/build/web/QuickLinksList.js +1 -1
  211. package/build/web/Radio.js +1 -1
  212. package/build/web/RadioCard.js +5 -1
  213. package/build/web/RadioCardGroup.js +1 -1
  214. package/build/web/RadioGroup.js +1 -1
  215. package/build/web/Ribbon.js +1 -1
  216. package/build/web/Search.js +1 -1
  217. package/build/web/SearchButton.js +1 -1
  218. package/build/web/Select.js +1 -1
  219. package/build/web/Shortcuts.js +33 -0
  220. package/build/web/ShortcutsItem.js +68 -0
  221. package/build/web/SideNav.js +1 -1
  222. package/build/web/SideNavItem.js +1 -1
  223. package/build/web/SideNavItemsGroup.js +1 -1
  224. package/build/web/Skeleton.js +1 -1
  225. package/build/web/SkipLink.js +1 -1
  226. package/build/web/Spinner.js +1 -1
  227. package/build/web/SplashButton.js +1 -1
  228. package/build/web/SplashButtonWithDetails.js +1 -1
  229. package/build/web/StackView.js +1 -1
  230. package/build/web/Status.js +1 -1
  231. package/build/web/StepTracker.js +1 -1
  232. package/build/web/StoryCard.js +1 -1
  233. package/build/web/TabBar.js +1 -1
  234. package/build/web/TabBarItem.js +1 -1
  235. package/build/web/Table.js +1 -1
  236. package/build/web/Tabs.js +1 -1
  237. package/build/web/TabsItem.js +1 -1
  238. package/build/web/Tags.js +1 -1
  239. package/build/web/TagsItem.js +1 -1
  240. package/build/web/TermsAndConditions.js +1 -1
  241. package/build/web/Testimonial.js +1 -1
  242. package/build/web/TextArea.js +1 -1
  243. package/build/web/TextInput.js +1 -1
  244. package/build/web/Timeline.js +1 -1
  245. package/build/web/Toast.js +1 -1
  246. package/build/web/ToggleSwitch.js +1 -1
  247. package/build/web/ToggleSwitchGroup.js +1 -1
  248. package/build/web/Tooltip.js +1 -1
  249. package/build/web/TooltipButton.js +1 -1
  250. package/build/web/Typography.js +1 -1
  251. package/build/web/Video.js +1 -1
  252. package/build/web/VideoButton.js +1 -1
  253. package/build/web/VideoControlBar.js +1 -1
  254. package/build/web/VideoMenu.js +1 -1
  255. package/build/web/VideoMiddleControlButton.js +1 -1
  256. package/build/web/VideoPicker.js +1 -1
  257. package/build/web/VideoPickerSlider.js +1 -1
  258. package/build/web/VideoPickerThumbnail.js +1 -1
  259. package/build/web/VideoProgressBar.js +1 -1
  260. package/build/web/VideoVolumeSlider.js +1 -1
  261. package/build/web/WaffleGrid.js +1 -1
  262. package/build/web/index.js +3 -1
  263. package/build/web/schema.json +1437 -797
  264. package/build/web/spacingScale.js +1 -1
  265. package/build/web/theme.js +350 -65
  266. package/package.json +4 -4
  267. package/theme.json +371 -68
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  *
3
3
  * Do not edit directly
4
- * Generated on Wed, 19 Nov 2025 05:49:58 GMT
4
+ * Generated on Mon, 12 Jan 2026 14:53:37 GMT
5
5
  *
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  *
3
3
  * Do not edit directly
4
- * Generated on Wed, 19 Nov 2025 05:49:58 GMT
4
+ * Generated on Mon, 12 Jan 2026 14:53:37 GMT
5
5
  *
6
6
  */
7
7
 
@@ -28,10 +28,12 @@ import PaletteIconUser from '@telus-uds/palette-koodo/build/rn/icons/User'
28
28
  import PaletteIconSubtract from '@telus-uds/palette-koodo/build/rn/icons/Subtract'
29
29
  import PaletteIconExpand from '@telus-uds/palette-koodo/build/rn/icons/Expand'
30
30
  import PaletteIconPlayVideo from '@telus-uds/palette-koodo/build/rn/icons/PlayVideo'
31
+ import PaletteIconEyeUnmasked from '@telus-uds/palette-koodo/build/rn/icons/EyeUnmasked'
31
32
  import PaletteIconBullet from '@telus-uds/palette-koodo/build/rn/icons/Bullet'
32
33
  import PaletteIconTimes from '@telus-uds/palette-koodo/build/rn/icons/Times'
33
34
  import PaletteIconTagFilled from '@telus-uds/palette-koodo/build/rn/icons/TagFilled'
34
35
  import PaletteIconSpyglass from '@telus-uds/palette-koodo/build/rn/icons/Spyglass'
36
+ import PaletteIconArrowLeft from '@telus-uds/palette-koodo/build/rn/icons/ArrowLeft'
35
37
  import PaletteIconPlaySolid from '@telus-uds/palette-koodo/build/rn/icons/PlaySolid'
36
38
  import PaletteIconToolTipFilled from '@telus-uds/palette-koodo/build/rn/icons/ToolTipFilled'
37
39
  import PaletteIconTooltip from '@telus-uds/palette-koodo/build/rn/icons/Tooltip'
@@ -42,7 +44,6 @@ import PaletteIconAmex from '@telus-uds/palette-koodo/build/rn/icons/Amex'
42
44
  import PaletteIconCreditCard from '@telus-uds/palette-koodo/build/rn/icons/CreditCard'
43
45
  import PaletteIconMasterCard from '@telus-uds/palette-koodo/build/rn/icons/MasterCard'
44
46
  import PaletteIconEyeMasked from '@telus-uds/palette-koodo/build/rn/icons/EyeMasked'
45
- import PaletteIconEyeUnmasked from '@telus-uds/palette-koodo/build/rn/icons/EyeUnmasked'
46
47
  import PaletteIconVisa from '@telus-uds/palette-koodo/build/rn/icons/Visa'
47
48
  import PaletteIconTooltipSymbol from '@telus-uds/palette-koodo/build/rn/icons/TooltipSymbol'
48
49
  import PaletteIconReplay from '@telus-uds/palette-koodo/build/rn/icons/Replay'
@@ -50,7 +51,6 @@ import PaletteIconClosedCaptions from '@telus-uds/palette-koodo/build/rn/icons/C
50
51
  import PaletteIconFullscreenExpand from '@telus-uds/palette-koodo/build/rn/icons/FullscreenExpand'
51
52
  import PaletteIconFullscreenMinimize from '@telus-uds/palette-koodo/build/rn/icons/FullscreenMinimize'
52
53
  import PaletteIconSettingsSolid from '@telus-uds/palette-koodo/build/rn/icons/SettingsSolid'
53
- import PaletteIconArrowLeft from '@telus-uds/palette-koodo/build/rn/icons/ArrowLeft'
54
54
  import PaletteIconMuted from '@telus-uds/palette-koodo/build/rn/icons/Muted'
55
55
  import PaletteIconUnmuted from '@telus-uds/palette-koodo/build/rn/icons/Unmuted'
56
56
  const theme = {
@@ -541,7 +541,7 @@ const theme = {
541
541
  {
542
542
  if: { priority: 'low' },
543
543
  tokens: {
544
- backgroundColor: '#ffffff',
544
+ backgroundColor: 'rgba(0, 0, 0, 0)',
545
545
  borderBottomWidth: 1,
546
546
  borderColor: '#000000',
547
547
  color: '#000000',
@@ -1761,6 +1761,10 @@ const theme = {
1761
1761
  spread: 0
1762
1762
  },
1763
1763
  inputWidth: 32,
1764
+ marginBottom: 0,
1765
+ marginLeft: 0,
1766
+ marginRight: 0,
1767
+ marginTop: 0,
1764
1768
  maxHeight: '100%',
1765
1769
  minWidth: null,
1766
1770
  overflowY: 'visible',
@@ -2284,6 +2288,10 @@ const theme = {
2284
2288
  fontWeight: '700',
2285
2289
  letterSpacing: 0,
2286
2290
  lineHeight: 1.4,
2291
+ marginBottom: 0,
2292
+ marginLeft: 0,
2293
+ marginRight: 0,
2294
+ marginTop: 0,
2287
2295
  minWidth: 288,
2288
2296
  outerBorderColor: 'transparent',
2289
2297
  outerBorderGap: 0,
@@ -3814,12 +3822,13 @@ const theme = {
3814
3822
  action: {
3815
3823
  type: 'variant',
3816
3824
  values: [
3817
- 'add', 'close',
3818
- 'expand', 'moveDown',
3819
- 'moveLeft', 'moveRight',
3820
- 'moveUp', 'play',
3821
- 'subtract', 'menu',
3822
- 'cart', 'profile'
3825
+ 'add', 'close',
3826
+ 'expand', 'moveDown',
3827
+ 'moveLeft', 'moveRight',
3828
+ 'moveUp', 'play',
3829
+ 'subtract', 'menu',
3830
+ 'cart', 'profile',
3831
+ 'visibility'
3823
3832
  ]
3824
3833
  },
3825
3834
  compact: {
@@ -3827,6 +3836,11 @@ const theme = {
3827
3836
  type: 'variant',
3828
3837
  values: [ true ]
3829
3838
  },
3839
+ contained: {
3840
+ description: 'Filled background',
3841
+ type: 'variant',
3842
+ values: [ true ]
3843
+ },
3830
3844
  focus: {
3831
3845
  description: "Currently only web has good support for this. Applies when an interactive component's focus handler is triggered, such as keyboard tabbing or selection.",
3832
3846
  platforms: [ 'rn', 'web' ],
@@ -3864,6 +3878,11 @@ const theme = {
3864
3878
  type: 'variant',
3865
3879
  values: [ true ]
3866
3880
  },
3881
+ selected: {
3882
+ description: 'Applies while an interactive component is the currently selected one in a set of states or components, for example a button in a `ButtonGroup`.',
3883
+ type: 'state',
3884
+ values: [ true ]
3885
+ },
3867
3886
  size: { type: 'variant', values: [ 'small', 'large' ] }
3868
3887
  },
3869
3888
  rules: [
@@ -3943,32 +3962,86 @@ const theme = {
3943
3962
  tokens: { icon: PaletteIconPlayVideo }
3944
3963
  },
3945
3964
  {
3946
- if: { inverse: true },
3965
+ if: { action: 'visibility' },
3966
+ tokens: { icon: PaletteIconEyeUnmasked }
3967
+ },
3968
+ {
3969
+ if: { contained: true },
3947
3970
  tokens: {
3948
- backgroundColor: 'rgba(0, 0, 0, 0)',
3949
- borderColor: 'rgba(0, 0, 0, 0)',
3971
+ backgroundColor: '#ffffff',
3972
+ borderColor: '#000000',
3973
+ borderWidth: 1
3974
+ }
3975
+ },
3976
+ {
3977
+ if: { raised: true },
3978
+ tokens: {
3979
+ backgroundColor: 'transparent',
3980
+ borderColor: '#000000',
3981
+ borderRadius: 4,
3982
+ borderWidth: 1,
3983
+ iconColor: '#000000',
3984
+ padding: 8,
3985
+ shadow: {
3986
+ blur: 2,
3987
+ color: 'rgba(0, 0, 0, 0.2)',
3988
+ inset: false,
3989
+ offsetX: 0,
3990
+ offsetY: 2,
3991
+ spread: 0
3992
+ }
3993
+ }
3994
+ },
3995
+ { if: { inverse: true }, tokens: { iconColor: '#ffffff' } },
3996
+ {
3997
+ if: { contained: true, inverse: true },
3998
+ tokens: {
3999
+ backgroundColor: 'transparent',
4000
+ borderColor: '#ffffff',
4001
+ borderWidth: 1,
3950
4002
  iconColor: '#ffffff'
3951
4003
  }
3952
4004
  },
3953
4005
  {
3954
4006
  if: { hover: true },
4007
+ tokens: { backgroundColor: 'rgba(0, 0, 0, 0.1)', borderWidth: null }
4008
+ },
4009
+ {
4010
+ if: { focus: true },
3955
4011
  tokens: {
3956
- backgroundColor: '#000000',
3957
- iconColor: '#ffffff',
3958
- iconScale: 1.1
4012
+ backgroundColor: 'rgba(0, 0, 0, 0)',
4013
+ borderColor: '#000000',
4014
+ borderWidth: 1
3959
4015
  }
3960
4016
  },
3961
4017
  {
3962
- if: { hover: true, inverse: true },
3963
- tokens: { backgroundColor: '#ffffff', iconColor: '#000000' }
4018
+ if: { pressed: true },
4019
+ tokens: {
4020
+ backgroundColor: 'rgba(0, 0, 0, 0.2)',
4021
+ borderWidth: null,
4022
+ iconColor: '#666666'
4023
+ }
3964
4024
  },
3965
4025
  {
3966
- if: { focus: true },
4026
+ if: { selected: true },
3967
4027
  tokens: {
3968
- backgroundColor: 'transparent',
4028
+ backgroundColor: 'rgba(0, 0, 0, 0)',
4029
+ borderBottomWidth: 2,
3969
4030
  borderColor: '#000000',
3970
- iconColor: '#000000',
3971
- outerBorderColor: 'rgba(0, 0, 0, 0)'
4031
+ borderLeftWidth: null,
4032
+ borderRadius: 0,
4033
+ borderRightWidth: null,
4034
+ borderTopWidth: null,
4035
+ borderWidth: null,
4036
+ iconColor: '#000000'
4037
+ }
4038
+ },
4039
+ {
4040
+ if: { hover: true, inverse: true },
4041
+ tokens: {
4042
+ backgroundColor: '#ffffff',
4043
+ borderWidth: null,
4044
+ iconColor: '#000000'
3972
4045
  }
3973
4046
  },
3974
4047
  {
@@ -3976,56 +4049,111 @@ const theme = {
3976
4049
  tokens: {
3977
4050
  backgroundColor: 'transparent',
3978
4051
  borderColor: '#ffffff',
3979
- iconColor: '#ffffff',
3980
- outerBorderColor: 'rgba(0, 0, 0, 0)',
3981
- outerBorderWidth: 0
4052
+ borderWidth: 1,
4053
+ iconColor: '#ffffff'
4054
+ }
4055
+ },
4056
+ {
4057
+ if: { inverse: true, pressed: true },
4058
+ tokens: {
4059
+ backgroundColor: '#c9c8c8',
4060
+ borderWidth: null,
4061
+ iconColor: '#000000'
3982
4062
  }
3983
4063
  },
3984
4064
  {
3985
- if: { password: true },
3986
- tokens: { borderColor: 'transparent' }
4065
+ if: { inverse: true, selected: true },
4066
+ tokens: {
4067
+ backgroundColor: 'rgba(0, 0, 0, 0)',
4068
+ borderBottomWidth: 2,
4069
+ borderColor: '#ffffff',
4070
+ borderLeftWidth: null,
4071
+ borderRadius: 0,
4072
+ borderRightWidth: null,
4073
+ borderTopWidth: null,
4074
+ borderWidth: null,
4075
+ iconColor: '#ffffff'
4076
+ }
3987
4077
  },
3988
4078
  {
3989
- if: { focus: true, password: true },
4079
+ if: { contained: true, hover: true },
3990
4080
  tokens: {
4081
+ backgroundColor: 'rgba(0, 0, 0, 0.1)',
3991
4082
  borderColor: '#000000',
3992
- borderWidth: 3,
3993
- outerBorderWidth: 0
4083
+ borderWidth: 1,
4084
+ iconColor: '#000000'
3994
4085
  }
3995
4086
  },
3996
4087
  {
3997
- if: { inactive: null, pressed: true },
3998
- tokens: { backgroundColor: '#404040', iconColor: '#666666' }
4088
+ if: { contained: true, focus: true },
4089
+ tokens: {
4090
+ backgroundColor: '#ffffff',
4091
+ borderColor: '#000000',
4092
+ borderWidth: 3,
4093
+ iconColor: '#000000'
4094
+ }
3999
4095
  },
4000
4096
  {
4001
- if: { inverse: true, pressed: true },
4097
+ if: { contained: true, pressed: true },
4002
4098
  tokens: {
4003
- backgroundColor: '#c9c8c8',
4004
- borderColor: '#c9c8c8',
4005
- iconColor: '#000000',
4006
- outerBorderWidth: 0
4099
+ backgroundColor: 'rgba(0, 0, 0, 0.2)',
4100
+ borderColor: '#000000',
4101
+ borderWidth: 1,
4102
+ iconColor: '#666666'
4007
4103
  }
4008
4104
  },
4009
4105
  {
4010
- if: { password: true, pressed: true },
4106
+ if: { contained: true, selected: true },
4011
4107
  tokens: {
4012
- backgroundColor: '#000000',
4108
+ backgroundColor: '#ffffff',
4109
+ borderBottomWidth: null,
4013
4110
  borderColor: '#000000',
4014
- iconColor: '#000000',
4015
- outerBorderGap: 0
4111
+ borderRadius: 4,
4112
+ borderWidth: 1,
4113
+ iconColor: '#000000'
4016
4114
  }
4017
4115
  },
4018
4116
  {
4019
- if: { size: 'large' },
4020
- tokens: { iconSize: 24, padding: 12 }
4117
+ if: { contained: true, hover: true, inverse: true },
4118
+ tokens: {
4119
+ backgroundColor: 'rgba(255, 255, 255, 0.2)',
4120
+ borderColor: '#ffffff',
4121
+ borderWidth: 1,
4122
+ iconColor: '#ffffff'
4123
+ }
4021
4124
  },
4022
- { if: { size: 'small' }, tokens: { iconSize: 16, padding: 4 } },
4023
4125
  {
4024
- description: 'Raised IconButtons follow different design patterns to other variants',
4025
- if: { raised: true },
4126
+ if: { contained: true, focus: true, inverse: true },
4127
+ tokens: {
4128
+ backgroundColor: 'transparent',
4129
+ borderColor: '#ffffff',
4130
+ borderWidth: 3,
4131
+ iconColor: '#ffffff'
4132
+ }
4133
+ },
4134
+ {
4135
+ if: { contained: true, inverse: true, pressed: true },
4136
+ tokens: {
4137
+ backgroundColor: 'rgba(255, 255, 255, 0.4)',
4138
+ borderColor: '#ffffff',
4139
+ borderWidth: 1,
4140
+ iconColor: '#ffffff'
4141
+ }
4142
+ },
4143
+ {
4144
+ if: { contained: true, inverse: true, selected: true },
4026
4145
  tokens: {
4027
4146
  backgroundColor: '#ffffff',
4147
+ borderWidth: null,
4148
+ iconColor: '#000000'
4149
+ }
4150
+ },
4151
+ {
4152
+ if: { hover: true, raised: true },
4153
+ tokens: {
4154
+ backgroundColor: 'rgba(0, 0, 0, 0.1)',
4028
4155
  borderColor: '#000000',
4156
+ borderWidth: 1,
4029
4157
  shadow: {
4030
4158
  blur: 2,
4031
4159
  color: 'rgba(0, 0, 0, 0.2)',
@@ -4036,46 +4164,82 @@ const theme = {
4036
4164
  }
4037
4165
  }
4038
4166
  },
4039
- {
4040
- if: { hover: true, raised: true },
4041
- tokens: { backgroundColor: '#000000', iconColor: '#ffffff' }
4042
- },
4043
- {
4044
- if: { raised: true, size: 'large' },
4045
- tokens: { iconSize: 24, padding: 12 }
4046
- },
4047
- { if: { raised: true, size: 'small' }, tokens: { padding: 8 } },
4048
4167
  {
4049
4168
  if: { focus: true, raised: true },
4050
- tokens: { borderWidth: 3 }
4169
+ tokens: {
4170
+ borderColor: '#000000',
4171
+ borderWidth: 3,
4172
+ iconColor: '#000000'
4173
+ }
4051
4174
  },
4052
4175
  {
4053
4176
  if: { pressed: true, raised: true },
4054
4177
  tokens: {
4055
- backgroundColor: '#404040',
4056
- borderColor: '#404040',
4057
- iconColor: '#666666'
4178
+ backgroundColor: '#c9c8c8',
4179
+ borderColor: '#000000',
4180
+ borderWidth: 1,
4181
+ iconColor: '#000000'
4182
+ }
4183
+ },
4184
+ {
4185
+ if: { raised: true, selected: true },
4186
+ tokens: {
4187
+ backgroundColor: '#ffffff',
4188
+ borderBottomWidth: null,
4189
+ borderColor: '#000000',
4190
+ borderRadius: 4,
4191
+ borderWidth: 1,
4192
+ iconColor: '#000000',
4193
+ shadow: {
4194
+ blur: 2,
4195
+ color: 'rgba(0, 0, 0, 0.2)',
4196
+ inset: false,
4197
+ offsetX: 0,
4198
+ offsetY: 2,
4199
+ spread: 0
4200
+ }
4058
4201
  }
4059
4202
  },
4060
- { if: { compact: true }, tokens: { outerBorderGap: 0 } },
4061
4203
  {
4062
4204
  if: { inactive: true },
4063
4205
  tokens: {
4064
4206
  backgroundColor: '#efefef',
4207
+ borderWidth: 0,
4065
4208
  iconColor: '#c9c8c8',
4066
- outerBorderColor: 'rgba(0, 0, 0, 0)',
4067
- outerBorderWidth: 0
4209
+ outerBorderColor: 'rgba(0, 0, 0, 0)'
4068
4210
  }
4211
+ },
4212
+ {
4213
+ if: { inactive: true, inverse: true },
4214
+ tokens: {
4215
+ backgroundColor: 'rgba(0, 0, 0, 0)',
4216
+ borderWidth: 0,
4217
+ iconColor: 'rgba(255, 255, 255, 0.4)',
4218
+ outerBorderColor: 'rgba(0, 0, 0, 0)'
4219
+ }
4220
+ },
4221
+ {
4222
+ if: { contained: true, inactive: true, inverse: true },
4223
+ tokens: {
4224
+ backgroundColor: 'rgba(255, 255, 255, 0.2)',
4225
+ borderWidth: 0,
4226
+ iconColor: 'rgba(255, 255, 255, 0.4)',
4227
+ outerBorderColor: 'rgba(0, 0, 0, 0)'
4228
+ }
4229
+ },
4230
+ {
4231
+ if: { size: 'large' },
4232
+ tokens: { iconSize: 24, padding: 10 }
4069
4233
  }
4070
4234
  ],
4071
4235
  tokens: {
4072
- backgroundColor: 'rgba(0, 0, 0, 0)',
4236
+ backgroundColor: 'transparent',
4073
4237
  borderBottomLeftRadius: null,
4074
4238
  borderBottomRightRadius: null,
4075
4239
  borderBottomWidth: null,
4076
4240
  borderColor: 'transparent',
4077
4241
  borderLeftWidth: null,
4078
- borderRadius: 99999999999999,
4242
+ borderRadius: 4,
4079
4243
  borderRightWidth: null,
4080
4244
  borderTopLeftRadius: null,
4081
4245
  borderTopRightRadius: null,
@@ -4612,6 +4776,7 @@ const theme = {
4612
4776
  type: 'state',
4613
4777
  values: [ true, false ]
4614
4778
  },
4779
+ secondLevel: { type: 'variant', values: [ true ] },
4615
4780
  style: { type: 'variant', values: [ 'default', 'lightest', 'light' ] }
4616
4781
  },
4617
4782
  rules: [
@@ -4732,9 +4897,24 @@ const theme = {
4732
4897
  itemFontName: 'StagSans',
4733
4898
  itemFontWeight: '600'
4734
4899
  }
4900
+ },
4901
+ {
4902
+ if: { secondLevel: true },
4903
+ tokens: {
4904
+ groupIcon: PaletteIconChevronRight,
4905
+ secondLevelParentIcon: PaletteIconChevronRight
4906
+ }
4907
+ },
4908
+ {
4909
+ if: { secondLevel: true },
4910
+ tokens: {
4911
+ groupIcon: PaletteIconChevronRight,
4912
+ secondLevelParentIcon: PaletteIconChevronRight
4913
+ }
4735
4914
  }
4736
4915
  ],
4737
4916
  tokens: {
4917
+ borderRadius: 4,
4738
4918
  containerBackgroundColor: 'rgba(0, 0, 0, 0)',
4739
4919
  groupBackgroundColor: 'rgba(0, 0, 0, 0)',
4740
4920
  groupBorderBottomColor: 'rgba(0, 0, 0, 0)',
@@ -4782,6 +4962,25 @@ const theme = {
4782
4962
  lineHeight: 1.5,
4783
4963
  minHeight: '100%',
4784
4964
  minWidth: '100%',
4965
+ secondLevelBackIcon: PaletteIconChevronLeft,
4966
+ secondLevelBackIconColor: '#000000',
4967
+ secondLevelBackIconSize: 16,
4968
+ secondLevelBackLinkColor: '#000000',
4969
+ secondLevelBackLinkFontName: 'StagSans',
4970
+ secondLevelBackLinkFontSize: 16,
4971
+ secondLevelBackLinkFontWeight: '600',
4972
+ secondLevelCloseButtonBorderWidth: 0,
4973
+ secondLevelCloseButtonPadding: 8,
4974
+ secondLevelCloseIcon: PaletteIconClose,
4975
+ secondLevelCloseIconSize: 16,
4976
+ secondLevelDividerColor: '#c9c8c8',
4977
+ secondLevelDividerWidth: 1,
4978
+ secondLevelHeaderBackgroundColor: '#ffffff',
4979
+ secondLevelHeaderPaddingBottom: 4,
4980
+ secondLevelHeaderPaddingLeft: 16,
4981
+ secondLevelHeaderPaddingRight: 16,
4982
+ secondLevelHeaderPaddingTop: 4,
4983
+ secondLevelParentIcon: PaletteIconChevronRight,
4785
4984
  shadow: {
4786
4985
  blur: 2,
4787
4986
  color: 'rgba(0, 0, 0, 0.2)',
@@ -6590,6 +6789,10 @@ const theme = {
6590
6789
  fontWeight: '700',
6591
6790
  letterSpacing: 0,
6592
6791
  lineHeight: 1.4,
6792
+ marginBottom: 0,
6793
+ marginLeft: 0,
6794
+ marginRight: 0,
6795
+ marginTop: 0,
6593
6796
  minWidth: 288,
6594
6797
  outerBorderColor: 'transparent',
6595
6798
  outerBorderGap: 0,
@@ -6962,6 +7165,88 @@ const theme = {
6962
7165
  validationIconSize: 24
6963
7166
  }
6964
7167
  },
7168
+ Shortcuts: {
7169
+ appearances: {
7170
+ viewport: {
7171
+ description: 'The size label for the current screen viewport based on the current screen width',
7172
+ type: 'state',
7173
+ values: [ 'xs', 'sm', 'md', 'lg', 'xl' ]
7174
+ }
7175
+ },
7176
+ rules: [
7177
+ { if: { viewport: 'md' }, tokens: { mainContainerGap: 16 } },
7178
+ { if: { viewport: 'lg' }, tokens: { mainContainerGap: 16 } },
7179
+ { if: { viewport: 'xl' }, tokens: { mainContainerGap: 16 } }
7180
+ ],
7181
+ tokens: {
7182
+ mainContainerBottomPadding: 0,
7183
+ mainContainerGap: 8,
7184
+ mainContainerLeftPadding: 16,
7185
+ mainContainerRightPadding: 16,
7186
+ mainContainerTopPadding: 0,
7187
+ nextIcon: PaletteIconArrowRight,
7188
+ previousIcon: PaletteIconArrowLeft
7189
+ }
7190
+ },
7191
+ ShortcutsItem: {
7192
+ appearances: {
7193
+ focus: {
7194
+ description: "Currently only web has good support for this. Applies when an interactive component's focus handler is triggered, such as keyboard tabbing or selection.",
7195
+ platforms: [ 'rn', 'web' ],
7196
+ type: 'state',
7197
+ values: [ true, false ]
7198
+ },
7199
+ hover: {
7200
+ description: "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
7201
+ platforms: [ 'rn', 'web' ],
7202
+ type: 'state',
7203
+ values: [ true, false ]
7204
+ },
7205
+ pressed: {
7206
+ description: 'Applies while an interactive component is being physically pressed. Most visible on touchscreen taps; in React Native Web, this is visible on web mouse clicks only if the pressable is held down.',
7207
+ type: 'state',
7208
+ values: [ true, false ]
7209
+ }
7210
+ },
7211
+ rules: [
7212
+ {
7213
+ if: { hover: true },
7214
+ tokens: { borderColor: '#000000', labelUnderline: 'underline' }
7215
+ },
7216
+ { if: { focus: true }, tokens: { borderColor: '#000000' } },
7217
+ {
7218
+ if: { pressed: true },
7219
+ tokens: { iconColor: '#666666', labelFontColor: '#666666' }
7220
+ }
7221
+ ],
7222
+ tokens: {
7223
+ borderColor: 'transparent',
7224
+ borderRadius: 4,
7225
+ borderWidth: 1,
7226
+ iconBackgroundColor: '#efefef',
7227
+ iconColor: '#000000',
7228
+ iconContainerPaddingBottom: 8,
7229
+ iconContainerPaddingLeft: 8,
7230
+ iconContainerPaddingRight: 8,
7231
+ iconContainerPaddingTop: 8,
7232
+ iconSize: 24,
7233
+ iconWidth: 16,
7234
+ imageHeight: 56,
7235
+ imageWidth: 56,
7236
+ labelContainerPaddingBottom: 0,
7237
+ labelContainerPaddingLeft: 8,
7238
+ labelContainerPaddingRight: 8,
7239
+ labelContainerPaddingTop: 0,
7240
+ labelFontColor: '#000000',
7241
+ labelFontName: 'StagSans',
7242
+ labelFontSize: 14,
7243
+ labelFontWeight: '400',
7244
+ labelLineHeight: 1.42857142857,
7245
+ labelTextAlign: 'center',
7246
+ labelUnderline: 'none',
7247
+ width: 72
7248
+ }
7249
+ },
6965
7250
  SideNav: {
6966
7251
  appearances: {},
6967
7252
  rules: [],
@@ -9465,6 +9750,6 @@ const theme = {
9465
9750
  tokens: { size: 96 }
9466
9751
  }
9467
9752
  },
9468
- metadata: { name: 'theme-koodo', themeTokensVersion: '4.16.0' }
9753
+ metadata: { name: 'theme-koodo', themeTokensVersion: '4.18.0' }
9469
9754
  }
9470
9755
  export default theme
package/package.json CHANGED
@@ -5,8 +5,8 @@
5
5
  },
6
6
  "description": "Koodo theme",
7
7
  "devDependencies": {
8
- "@telus-uds/palette-koodo": "^3.9.0",
9
- "@telus-uds/system-theme-tokens": "^4.16.0"
8
+ "@telus-uds/palette-koodo": "^3.11.0",
9
+ "@telus-uds/system-theme-tokens": "^4.18.0"
10
10
  },
11
11
  "files": [
12
12
  "build",
@@ -21,7 +21,7 @@
21
21
  "module": "build/web/index.js",
22
22
  "name": "@telus-uds/theme-koodo",
23
23
  "peerDependencies": {
24
- "@telus-uds/palette-koodo": "^3.9.0"
24
+ "@telus-uds/palette-koodo": "^3.11.0"
25
25
  },
26
26
  "repository": {
27
27
  "type": "git",
@@ -32,5 +32,5 @@
32
32
  "build": "UDS_PALETTE=@telus-uds/palette-koodo system-tokens-build-theme",
33
33
  "dev": "nodemon -w src -x 'npm run build'"
34
34
  },
35
- "version": "7.19.0"
35
+ "version": "7.21.0"
36
36
  }