@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:36 GMT
4
+ * Generated on Mon, 12 Jan 2026 14:53:14 GMT
5
5
  *
6
6
  */
7
7
 
package/build/rn/theme.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  *
3
3
  * Do not edit directly
4
- * Generated on Wed, 19 Nov 2025 05:49:36 GMT
4
+ * Generated on Mon, 12 Jan 2026 14:53:15 GMT
5
5
  *
6
6
  */
7
7
 
@@ -28,10 +28,12 @@ const PaletteIconUser = require('@telus-uds/palette-koodo/build/rn/icons/User')
28
28
  const PaletteIconSubtract = require('@telus-uds/palette-koodo/build/rn/icons/Subtract')
29
29
  const PaletteIconExpand = require('@telus-uds/palette-koodo/build/rn/icons/Expand')
30
30
  const PaletteIconPlayVideo = require('@telus-uds/palette-koodo/build/rn/icons/PlayVideo')
31
+ const PaletteIconEyeUnmasked = require('@telus-uds/palette-koodo/build/rn/icons/EyeUnmasked')
31
32
  const PaletteIconBullet = require('@telus-uds/palette-koodo/build/rn/icons/Bullet')
32
33
  const PaletteIconTimes = require('@telus-uds/palette-koodo/build/rn/icons/Times')
33
34
  const PaletteIconTagFilled = require('@telus-uds/palette-koodo/build/rn/icons/TagFilled')
34
35
  const PaletteIconSpyglass = require('@telus-uds/palette-koodo/build/rn/icons/Spyglass')
36
+ const PaletteIconArrowLeft = require('@telus-uds/palette-koodo/build/rn/icons/ArrowLeft')
35
37
  const PaletteIconPlaySolid = require('@telus-uds/palette-koodo/build/rn/icons/PlaySolid')
36
38
  const PaletteIconToolTipFilled = require('@telus-uds/palette-koodo/build/rn/icons/ToolTipFilled')
37
39
  const PaletteIconTooltip = require('@telus-uds/palette-koodo/build/rn/icons/Tooltip')
@@ -42,7 +44,6 @@ const PaletteIconAmex = require('@telus-uds/palette-koodo/build/rn/icons/Amex')
42
44
  const PaletteIconCreditCard = require('@telus-uds/palette-koodo/build/rn/icons/CreditCard')
43
45
  const PaletteIconMasterCard = require('@telus-uds/palette-koodo/build/rn/icons/MasterCard')
44
46
  const PaletteIconEyeMasked = require('@telus-uds/palette-koodo/build/rn/icons/EyeMasked')
45
- const PaletteIconEyeUnmasked = require('@telus-uds/palette-koodo/build/rn/icons/EyeUnmasked')
46
47
  const PaletteIconVisa = require('@telus-uds/palette-koodo/build/rn/icons/Visa')
47
48
  const PaletteIconTooltipSymbol = require('@telus-uds/palette-koodo/build/rn/icons/TooltipSymbol')
48
49
  const PaletteIconReplay = require('@telus-uds/palette-koodo/build/rn/icons/Replay')
@@ -50,7 +51,6 @@ const PaletteIconClosedCaptions = require('@telus-uds/palette-koodo/build/rn/ico
50
51
  const PaletteIconFullscreenExpand = require('@telus-uds/palette-koodo/build/rn/icons/FullscreenExpand')
51
52
  const PaletteIconFullscreenMinimize = require('@telus-uds/palette-koodo/build/rn/icons/FullscreenMinimize')
52
53
  const PaletteIconSettingsSolid = require('@telus-uds/palette-koodo/build/rn/icons/SettingsSolid')
53
- const PaletteIconArrowLeft = require('@telus-uds/palette-koodo/build/rn/icons/ArrowLeft')
54
54
  const PaletteIconMuted = require('@telus-uds/palette-koodo/build/rn/icons/Muted')
55
55
  const PaletteIconUnmuted = require('@telus-uds/palette-koodo/build/rn/icons/Unmuted')
56
56
 
@@ -542,7 +542,7 @@ module.exports = {
542
542
  {
543
543
  if: { priority: 'low' },
544
544
  tokens: {
545
- backgroundColor: '#ffffff',
545
+ backgroundColor: 'rgba(0, 0, 0, 0)',
546
546
  borderBottomWidth: 1,
547
547
  borderColor: '#000000',
548
548
  color: '#000000',
@@ -1762,6 +1762,10 @@ module.exports = {
1762
1762
  spread: 0
1763
1763
  },
1764
1764
  inputWidth: 32,
1765
+ marginBottom: 0,
1766
+ marginLeft: 0,
1767
+ marginRight: 0,
1768
+ marginTop: 0,
1765
1769
  maxHeight: '100%',
1766
1770
  minWidth: null,
1767
1771
  overflowY: 'visible',
@@ -2285,6 +2289,10 @@ module.exports = {
2285
2289
  fontWeight: '700',
2286
2290
  letterSpacing: 0,
2287
2291
  lineHeight: 1.4,
2292
+ marginBottom: 0,
2293
+ marginLeft: 0,
2294
+ marginRight: 0,
2295
+ marginTop: 0,
2288
2296
  minWidth: 288,
2289
2297
  outerBorderColor: 'transparent',
2290
2298
  outerBorderGap: 0,
@@ -3815,12 +3823,13 @@ module.exports = {
3815
3823
  action: {
3816
3824
  type: 'variant',
3817
3825
  values: [
3818
- 'add', 'close',
3819
- 'expand', 'moveDown',
3820
- 'moveLeft', 'moveRight',
3821
- 'moveUp', 'play',
3822
- 'subtract', 'menu',
3823
- 'cart', 'profile'
3826
+ 'add', 'close',
3827
+ 'expand', 'moveDown',
3828
+ 'moveLeft', 'moveRight',
3829
+ 'moveUp', 'play',
3830
+ 'subtract', 'menu',
3831
+ 'cart', 'profile',
3832
+ 'visibility'
3824
3833
  ]
3825
3834
  },
3826
3835
  compact: {
@@ -3828,6 +3837,11 @@ module.exports = {
3828
3837
  type: 'variant',
3829
3838
  values: [ true ]
3830
3839
  },
3840
+ contained: {
3841
+ description: 'Filled background',
3842
+ type: 'variant',
3843
+ values: [ true ]
3844
+ },
3831
3845
  focus: {
3832
3846
  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.",
3833
3847
  platforms: [ 'rn', 'web' ],
@@ -3865,6 +3879,11 @@ module.exports = {
3865
3879
  type: 'variant',
3866
3880
  values: [ true ]
3867
3881
  },
3882
+ selected: {
3883
+ 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`.',
3884
+ type: 'state',
3885
+ values: [ true ]
3886
+ },
3868
3887
  size: { type: 'variant', values: [ 'small', 'large' ] }
3869
3888
  },
3870
3889
  rules: [
@@ -3944,32 +3963,86 @@ module.exports = {
3944
3963
  tokens: { icon: PaletteIconPlayVideo }
3945
3964
  },
3946
3965
  {
3947
- if: { inverse: true },
3966
+ if: { action: 'visibility' },
3967
+ tokens: { icon: PaletteIconEyeUnmasked }
3968
+ },
3969
+ {
3970
+ if: { contained: true },
3948
3971
  tokens: {
3949
- backgroundColor: 'rgba(0, 0, 0, 0)',
3950
- borderColor: 'rgba(0, 0, 0, 0)',
3972
+ backgroundColor: '#ffffff',
3973
+ borderColor: '#000000',
3974
+ borderWidth: 1
3975
+ }
3976
+ },
3977
+ {
3978
+ if: { raised: true },
3979
+ tokens: {
3980
+ backgroundColor: 'transparent',
3981
+ borderColor: '#000000',
3982
+ borderRadius: 4,
3983
+ borderWidth: 1,
3984
+ iconColor: '#000000',
3985
+ padding: 8,
3986
+ shadow: {
3987
+ blur: 2,
3988
+ color: 'rgba(0, 0, 0, 0.2)',
3989
+ inset: false,
3990
+ offsetX: 0,
3991
+ offsetY: 2,
3992
+ spread: 0
3993
+ }
3994
+ }
3995
+ },
3996
+ { if: { inverse: true }, tokens: { iconColor: '#ffffff' } },
3997
+ {
3998
+ if: { contained: true, inverse: true },
3999
+ tokens: {
4000
+ backgroundColor: 'transparent',
4001
+ borderColor: '#ffffff',
4002
+ borderWidth: 1,
3951
4003
  iconColor: '#ffffff'
3952
4004
  }
3953
4005
  },
3954
4006
  {
3955
4007
  if: { hover: true },
4008
+ tokens: { backgroundColor: 'rgba(0, 0, 0, 0.1)', borderWidth: null }
4009
+ },
4010
+ {
4011
+ if: { focus: true },
3956
4012
  tokens: {
3957
- backgroundColor: '#000000',
3958
- iconColor: '#ffffff',
3959
- iconScale: 1.1
4013
+ backgroundColor: 'rgba(0, 0, 0, 0)',
4014
+ borderColor: '#000000',
4015
+ borderWidth: 1
3960
4016
  }
3961
4017
  },
3962
4018
  {
3963
- if: { hover: true, inverse: true },
3964
- tokens: { backgroundColor: '#ffffff', iconColor: '#000000' }
4019
+ if: { pressed: true },
4020
+ tokens: {
4021
+ backgroundColor: 'rgba(0, 0, 0, 0.2)',
4022
+ borderWidth: null,
4023
+ iconColor: '#666666'
4024
+ }
3965
4025
  },
3966
4026
  {
3967
- if: { focus: true },
4027
+ if: { selected: true },
3968
4028
  tokens: {
3969
- backgroundColor: 'transparent',
4029
+ backgroundColor: 'rgba(0, 0, 0, 0)',
4030
+ borderBottomWidth: 2,
3970
4031
  borderColor: '#000000',
3971
- iconColor: '#000000',
3972
- outerBorderColor: 'rgba(0, 0, 0, 0)'
4032
+ borderLeftWidth: null,
4033
+ borderRadius: 0,
4034
+ borderRightWidth: null,
4035
+ borderTopWidth: null,
4036
+ borderWidth: null,
4037
+ iconColor: '#000000'
4038
+ }
4039
+ },
4040
+ {
4041
+ if: { hover: true, inverse: true },
4042
+ tokens: {
4043
+ backgroundColor: '#ffffff',
4044
+ borderWidth: null,
4045
+ iconColor: '#000000'
3973
4046
  }
3974
4047
  },
3975
4048
  {
@@ -3977,56 +4050,111 @@ module.exports = {
3977
4050
  tokens: {
3978
4051
  backgroundColor: 'transparent',
3979
4052
  borderColor: '#ffffff',
3980
- iconColor: '#ffffff',
3981
- outerBorderColor: 'rgba(0, 0, 0, 0)',
3982
- outerBorderWidth: 0
4053
+ borderWidth: 1,
4054
+ iconColor: '#ffffff'
4055
+ }
4056
+ },
4057
+ {
4058
+ if: { inverse: true, pressed: true },
4059
+ tokens: {
4060
+ backgroundColor: '#c9c8c8',
4061
+ borderWidth: null,
4062
+ iconColor: '#000000'
3983
4063
  }
3984
4064
  },
3985
4065
  {
3986
- if: { password: true },
3987
- tokens: { borderColor: 'transparent' }
4066
+ if: { inverse: true, selected: true },
4067
+ tokens: {
4068
+ backgroundColor: 'rgba(0, 0, 0, 0)',
4069
+ borderBottomWidth: 2,
4070
+ borderColor: '#ffffff',
4071
+ borderLeftWidth: null,
4072
+ borderRadius: 0,
4073
+ borderRightWidth: null,
4074
+ borderTopWidth: null,
4075
+ borderWidth: null,
4076
+ iconColor: '#ffffff'
4077
+ }
3988
4078
  },
3989
4079
  {
3990
- if: { focus: true, password: true },
4080
+ if: { contained: true, hover: true },
3991
4081
  tokens: {
4082
+ backgroundColor: 'rgba(0, 0, 0, 0.1)',
3992
4083
  borderColor: '#000000',
3993
- borderWidth: 3,
3994
- outerBorderWidth: 0
4084
+ borderWidth: 1,
4085
+ iconColor: '#000000'
3995
4086
  }
3996
4087
  },
3997
4088
  {
3998
- if: { inactive: null, pressed: true },
3999
- tokens: { backgroundColor: '#404040', iconColor: '#666666' }
4089
+ if: { contained: true, focus: true },
4090
+ tokens: {
4091
+ backgroundColor: '#ffffff',
4092
+ borderColor: '#000000',
4093
+ borderWidth: 3,
4094
+ iconColor: '#000000'
4095
+ }
4000
4096
  },
4001
4097
  {
4002
- if: { inverse: true, pressed: true },
4098
+ if: { contained: true, pressed: true },
4003
4099
  tokens: {
4004
- backgroundColor: '#c9c8c8',
4005
- borderColor: '#c9c8c8',
4006
- iconColor: '#000000',
4007
- outerBorderWidth: 0
4100
+ backgroundColor: 'rgba(0, 0, 0, 0.2)',
4101
+ borderColor: '#000000',
4102
+ borderWidth: 1,
4103
+ iconColor: '#666666'
4008
4104
  }
4009
4105
  },
4010
4106
  {
4011
- if: { password: true, pressed: true },
4107
+ if: { contained: true, selected: true },
4012
4108
  tokens: {
4013
- backgroundColor: '#000000',
4109
+ backgroundColor: '#ffffff',
4110
+ borderBottomWidth: null,
4014
4111
  borderColor: '#000000',
4015
- iconColor: '#000000',
4016
- outerBorderGap: 0
4112
+ borderRadius: 4,
4113
+ borderWidth: 1,
4114
+ iconColor: '#000000'
4017
4115
  }
4018
4116
  },
4019
4117
  {
4020
- if: { size: 'large' },
4021
- tokens: { iconSize: 24, padding: 12 }
4118
+ if: { contained: true, hover: true, inverse: true },
4119
+ tokens: {
4120
+ backgroundColor: 'rgba(255, 255, 255, 0.2)',
4121
+ borderColor: '#ffffff',
4122
+ borderWidth: 1,
4123
+ iconColor: '#ffffff'
4124
+ }
4022
4125
  },
4023
- { if: { size: 'small' }, tokens: { iconSize: 16, padding: 4 } },
4024
4126
  {
4025
- description: 'Raised IconButtons follow different design patterns to other variants',
4026
- if: { raised: true },
4127
+ if: { contained: true, focus: true, inverse: true },
4128
+ tokens: {
4129
+ backgroundColor: 'transparent',
4130
+ borderColor: '#ffffff',
4131
+ borderWidth: 3,
4132
+ iconColor: '#ffffff'
4133
+ }
4134
+ },
4135
+ {
4136
+ if: { contained: true, inverse: true, pressed: true },
4137
+ tokens: {
4138
+ backgroundColor: 'rgba(255, 255, 255, 0.4)',
4139
+ borderColor: '#ffffff',
4140
+ borderWidth: 1,
4141
+ iconColor: '#ffffff'
4142
+ }
4143
+ },
4144
+ {
4145
+ if: { contained: true, inverse: true, selected: true },
4027
4146
  tokens: {
4028
4147
  backgroundColor: '#ffffff',
4148
+ borderWidth: null,
4149
+ iconColor: '#000000'
4150
+ }
4151
+ },
4152
+ {
4153
+ if: { hover: true, raised: true },
4154
+ tokens: {
4155
+ backgroundColor: 'rgba(0, 0, 0, 0.1)',
4029
4156
  borderColor: '#000000',
4157
+ borderWidth: 1,
4030
4158
  shadow: {
4031
4159
  blur: 2,
4032
4160
  color: 'rgba(0, 0, 0, 0.2)',
@@ -4037,46 +4165,82 @@ module.exports = {
4037
4165
  }
4038
4166
  }
4039
4167
  },
4040
- {
4041
- if: { hover: true, raised: true },
4042
- tokens: { backgroundColor: '#000000', iconColor: '#ffffff' }
4043
- },
4044
- {
4045
- if: { raised: true, size: 'large' },
4046
- tokens: { iconSize: 24, padding: 12 }
4047
- },
4048
- { if: { raised: true, size: 'small' }, tokens: { padding: 8 } },
4049
4168
  {
4050
4169
  if: { focus: true, raised: true },
4051
- tokens: { borderWidth: 3 }
4170
+ tokens: {
4171
+ borderColor: '#000000',
4172
+ borderWidth: 3,
4173
+ iconColor: '#000000'
4174
+ }
4052
4175
  },
4053
4176
  {
4054
4177
  if: { pressed: true, raised: true },
4055
4178
  tokens: {
4056
- backgroundColor: '#404040',
4057
- borderColor: '#404040',
4058
- iconColor: '#666666'
4179
+ backgroundColor: '#c9c8c8',
4180
+ borderColor: '#000000',
4181
+ borderWidth: 1,
4182
+ iconColor: '#000000'
4183
+ }
4184
+ },
4185
+ {
4186
+ if: { raised: true, selected: true },
4187
+ tokens: {
4188
+ backgroundColor: '#ffffff',
4189
+ borderBottomWidth: null,
4190
+ borderColor: '#000000',
4191
+ borderRadius: 4,
4192
+ borderWidth: 1,
4193
+ iconColor: '#000000',
4194
+ shadow: {
4195
+ blur: 2,
4196
+ color: 'rgba(0, 0, 0, 0.2)',
4197
+ inset: false,
4198
+ offsetX: 0,
4199
+ offsetY: 2,
4200
+ spread: 0
4201
+ }
4059
4202
  }
4060
4203
  },
4061
- { if: { compact: true }, tokens: { outerBorderGap: 0 } },
4062
4204
  {
4063
4205
  if: { inactive: true },
4064
4206
  tokens: {
4065
4207
  backgroundColor: '#efefef',
4208
+ borderWidth: 0,
4066
4209
  iconColor: '#c9c8c8',
4067
- outerBorderColor: 'rgba(0, 0, 0, 0)',
4068
- outerBorderWidth: 0
4210
+ outerBorderColor: 'rgba(0, 0, 0, 0)'
4069
4211
  }
4212
+ },
4213
+ {
4214
+ if: { inactive: true, inverse: true },
4215
+ tokens: {
4216
+ backgroundColor: 'rgba(0, 0, 0, 0)',
4217
+ borderWidth: 0,
4218
+ iconColor: 'rgba(255, 255, 255, 0.4)',
4219
+ outerBorderColor: 'rgba(0, 0, 0, 0)'
4220
+ }
4221
+ },
4222
+ {
4223
+ if: { contained: true, inactive: true, inverse: true },
4224
+ tokens: {
4225
+ backgroundColor: 'rgba(255, 255, 255, 0.2)',
4226
+ borderWidth: 0,
4227
+ iconColor: 'rgba(255, 255, 255, 0.4)',
4228
+ outerBorderColor: 'rgba(0, 0, 0, 0)'
4229
+ }
4230
+ },
4231
+ {
4232
+ if: { size: 'large' },
4233
+ tokens: { iconSize: 24, padding: 10 }
4070
4234
  }
4071
4235
  ],
4072
4236
  tokens: {
4073
- backgroundColor: 'rgba(0, 0, 0, 0)',
4237
+ backgroundColor: 'transparent',
4074
4238
  borderBottomLeftRadius: null,
4075
4239
  borderBottomRightRadius: null,
4076
4240
  borderBottomWidth: null,
4077
4241
  borderColor: 'transparent',
4078
4242
  borderLeftWidth: null,
4079
- borderRadius: 99999999999999,
4243
+ borderRadius: 4,
4080
4244
  borderRightWidth: null,
4081
4245
  borderTopLeftRadius: null,
4082
4246
  borderTopRightRadius: null,
@@ -4613,6 +4777,7 @@ module.exports = {
4613
4777
  type: 'state',
4614
4778
  values: [ true, false ]
4615
4779
  },
4780
+ secondLevel: { type: 'variant', values: [ true ] },
4616
4781
  style: { type: 'variant', values: [ 'default', 'lightest', 'light' ] }
4617
4782
  },
4618
4783
  rules: [
@@ -4733,9 +4898,24 @@ module.exports = {
4733
4898
  itemFontName: 'StagSans',
4734
4899
  itemFontWeight: '600'
4735
4900
  }
4901
+ },
4902
+ {
4903
+ if: { secondLevel: true },
4904
+ tokens: {
4905
+ groupIcon: PaletteIconChevronRight,
4906
+ secondLevelParentIcon: PaletteIconChevronRight
4907
+ }
4908
+ },
4909
+ {
4910
+ if: { secondLevel: true },
4911
+ tokens: {
4912
+ groupIcon: PaletteIconChevronRight,
4913
+ secondLevelParentIcon: PaletteIconChevronRight
4914
+ }
4736
4915
  }
4737
4916
  ],
4738
4917
  tokens: {
4918
+ borderRadius: 4,
4739
4919
  containerBackgroundColor: 'rgba(0, 0, 0, 0)',
4740
4920
  groupBackgroundColor: 'rgba(0, 0, 0, 0)',
4741
4921
  groupBorderBottomColor: 'rgba(0, 0, 0, 0)',
@@ -4783,6 +4963,25 @@ module.exports = {
4783
4963
  lineHeight: 1.5,
4784
4964
  minHeight: '100%',
4785
4965
  minWidth: '100%',
4966
+ secondLevelBackIcon: PaletteIconChevronLeft,
4967
+ secondLevelBackIconColor: '#000000',
4968
+ secondLevelBackIconSize: 16,
4969
+ secondLevelBackLinkColor: '#000000',
4970
+ secondLevelBackLinkFontName: 'StagSans',
4971
+ secondLevelBackLinkFontSize: 16,
4972
+ secondLevelBackLinkFontWeight: '600',
4973
+ secondLevelCloseButtonBorderWidth: 0,
4974
+ secondLevelCloseButtonPadding: 8,
4975
+ secondLevelCloseIcon: PaletteIconClose,
4976
+ secondLevelCloseIconSize: 16,
4977
+ secondLevelDividerColor: '#c9c8c8',
4978
+ secondLevelDividerWidth: 1,
4979
+ secondLevelHeaderBackgroundColor: '#ffffff',
4980
+ secondLevelHeaderPaddingBottom: 4,
4981
+ secondLevelHeaderPaddingLeft: 16,
4982
+ secondLevelHeaderPaddingRight: 16,
4983
+ secondLevelHeaderPaddingTop: 4,
4984
+ secondLevelParentIcon: PaletteIconChevronRight,
4786
4985
  shadow: {
4787
4986
  blur: 2,
4788
4987
  color: 'rgba(0, 0, 0, 0.2)',
@@ -6591,6 +6790,10 @@ module.exports = {
6591
6790
  fontWeight: '700',
6592
6791
  letterSpacing: 0,
6593
6792
  lineHeight: 1.4,
6793
+ marginBottom: 0,
6794
+ marginLeft: 0,
6795
+ marginRight: 0,
6796
+ marginTop: 0,
6594
6797
  minWidth: 288,
6595
6798
  outerBorderColor: 'transparent',
6596
6799
  outerBorderGap: 0,
@@ -6963,6 +7166,88 @@ module.exports = {
6963
7166
  validationIconSize: 24
6964
7167
  }
6965
7168
  },
7169
+ Shortcuts: {
7170
+ appearances: {
7171
+ viewport: {
7172
+ description: 'The size label for the current screen viewport based on the current screen width',
7173
+ type: 'state',
7174
+ values: [ 'xs', 'sm', 'md', 'lg', 'xl' ]
7175
+ }
7176
+ },
7177
+ rules: [
7178
+ { if: { viewport: 'md' }, tokens: { mainContainerGap: 16 } },
7179
+ { if: { viewport: 'lg' }, tokens: { mainContainerGap: 16 } },
7180
+ { if: { viewport: 'xl' }, tokens: { mainContainerGap: 16 } }
7181
+ ],
7182
+ tokens: {
7183
+ mainContainerBottomPadding: 0,
7184
+ mainContainerGap: 8,
7185
+ mainContainerLeftPadding: 16,
7186
+ mainContainerRightPadding: 16,
7187
+ mainContainerTopPadding: 0,
7188
+ nextIcon: PaletteIconArrowRight,
7189
+ previousIcon: PaletteIconArrowLeft
7190
+ }
7191
+ },
7192
+ ShortcutsItem: {
7193
+ appearances: {
7194
+ focus: {
7195
+ 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.",
7196
+ platforms: [ 'rn', 'web' ],
7197
+ type: 'state',
7198
+ values: [ true, false ]
7199
+ },
7200
+ hover: {
7201
+ description: "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
7202
+ platforms: [ 'rn', 'web' ],
7203
+ type: 'state',
7204
+ values: [ true, false ]
7205
+ },
7206
+ pressed: {
7207
+ 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.',
7208
+ type: 'state',
7209
+ values: [ true, false ]
7210
+ }
7211
+ },
7212
+ rules: [
7213
+ {
7214
+ if: { hover: true },
7215
+ tokens: { borderColor: '#000000', labelUnderline: 'underline' }
7216
+ },
7217
+ { if: { focus: true }, tokens: { borderColor: '#000000' } },
7218
+ {
7219
+ if: { pressed: true },
7220
+ tokens: { iconColor: '#666666', labelFontColor: '#666666' }
7221
+ }
7222
+ ],
7223
+ tokens: {
7224
+ borderColor: 'transparent',
7225
+ borderRadius: 4,
7226
+ borderWidth: 1,
7227
+ iconBackgroundColor: '#efefef',
7228
+ iconColor: '#000000',
7229
+ iconContainerPaddingBottom: 8,
7230
+ iconContainerPaddingLeft: 8,
7231
+ iconContainerPaddingRight: 8,
7232
+ iconContainerPaddingTop: 8,
7233
+ iconSize: 24,
7234
+ iconWidth: 16,
7235
+ imageHeight: 56,
7236
+ imageWidth: 56,
7237
+ labelContainerPaddingBottom: 0,
7238
+ labelContainerPaddingLeft: 8,
7239
+ labelContainerPaddingRight: 8,
7240
+ labelContainerPaddingTop: 0,
7241
+ labelFontColor: '#000000',
7242
+ labelFontName: 'StagSans',
7243
+ labelFontSize: 14,
7244
+ labelFontWeight: '400',
7245
+ labelLineHeight: 1.42857142857,
7246
+ labelTextAlign: 'center',
7247
+ labelUnderline: 'none',
7248
+ width: 72
7249
+ }
7250
+ },
6966
7251
  SideNav: {
6967
7252
  appearances: {},
6968
7253
  rules: [],
@@ -9466,5 +9751,5 @@ module.exports = {
9466
9751
  tokens: { size: 96 }
9467
9752
  }
9468
9753
  },
9469
- metadata: { name: 'theme-koodo', themeTokensVersion: '4.16.0' }
9754
+ metadata: { name: 'theme-koodo', themeTokensVersion: '4.18.0' }
9470
9755
  }
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  *
3
3
  * Do not edit directly
4
- * Generated on Wed, 19 Nov 2025 05:49:57 GMT
4
+ * Generated on Mon, 12 Jan 2026 14:53:36 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:57 GMT
4
+ * Generated on Mon, 12 Jan 2026 14:53:36 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:57 GMT
4
+ * Generated on Mon, 12 Jan 2026 14:53:36 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:57 GMT
4
+ * Generated on Mon, 12 Jan 2026 14:53:36 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:57 GMT
4
+ * Generated on Mon, 12 Jan 2026 14:53:36 GMT
5
5
  *
6
6
  */
7
7
 
package/build/web/Box.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  *
3
3
  * Do not edit directly
4
- * Generated on Wed, 19 Nov 2025 05:49:57 GMT
4
+ * Generated on Mon, 12 Jan 2026 14:53:36 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:57 GMT
4
+ * Generated on Mon, 12 Jan 2026 14:53:36 GMT
5
5
  *
6
6
  */
7
7