@telus-uds/theme-allium 0.0.2-prerelease.2 → 0.0.2-prerelease.6

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 (56) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/build/theme.js +2841 -0
  3. package/package.json +12 -9
  4. package/src/components/ActivityIndicator.js +6 -8
  5. package/src/components/Box.js +11 -22
  6. package/src/components/Button.js +77 -115
  7. package/src/components/ButtonGroup.js +8 -17
  8. package/src/components/ButtonGroupItem.js +98 -0
  9. package/src/components/Card.js +42 -43
  10. package/src/components/Checkbox.js +59 -0
  11. package/src/components/CheckboxGroup.js +8 -0
  12. package/src/components/ChevronLink.js +12 -0
  13. package/src/components/Divider.js +5 -7
  14. package/src/components/ExpandCollapse.js +4 -13
  15. package/src/components/ExpandCollapseControl.js +17 -37
  16. package/src/components/ExpandCollapsePanel.js +7 -20
  17. package/src/components/Feedback.js +66 -0
  18. package/src/components/Icon.js +8 -7
  19. package/src/components/InputLabel.js +23 -0
  20. package/src/components/InputSupports.js +7 -0
  21. package/src/components/Link.js +67 -96
  22. package/src/components/List.js +68 -0
  23. package/src/components/Modal.js +57 -0
  24. package/src/components/Notification.js +90 -0
  25. package/src/components/Pagination.js +11 -20
  26. package/src/components/PaginationPageButton.js +35 -51
  27. package/src/components/PaginationSideButton.js +46 -76
  28. package/src/components/Progress.js +13 -0
  29. package/src/components/ProgressBar.js +31 -0
  30. package/src/components/Radio.js +69 -0
  31. package/src/components/RadioCard.js +123 -0
  32. package/src/components/RadioCardGroup.js +24 -0
  33. package/src/components/RadioGroup.js +8 -0
  34. package/src/components/Search.js +57 -0
  35. package/src/components/SearchButton.js +71 -0
  36. package/src/components/Select.js +78 -0
  37. package/src/components/SideNav.js +4 -13
  38. package/src/components/SideNavItem.js +49 -54
  39. package/src/components/SideNavItemsGroup.js +18 -32
  40. package/src/components/Skeleton.js +14 -0
  41. package/src/components/StackView.js +10 -0
  42. package/src/components/StepTracker.js +59 -0
  43. package/src/components/Tabs.js +13 -0
  44. package/src/components/TabsItem.js +81 -0
  45. package/src/components/TabsScrollButton.js +34 -0
  46. package/src/components/Tags.js +13 -0
  47. package/src/components/TagsItem.js +126 -0
  48. package/src/components/TextArea.js +8 -0
  49. package/src/components/TextInput.js +73 -0
  50. package/src/components/ToggleSwitch.js +53 -67
  51. package/src/components/Tooltip.js +37 -0
  52. package/src/components/TooltipButton.js +61 -0
  53. package/src/components/Typography.js +109 -93
  54. package/src/components/index.js +52 -42
  55. package/src/components/spacingScale.js +23 -36
  56. package/src/index.js +3 -3
@@ -0,0 +1,59 @@
1
+ module.exports = {
2
+ appearances: {
3
+ viewport: '{appearances.system.viewport}'
4
+ },
5
+ tokens: {
6
+ completedIcon: '{system.icon.none}',
7
+ completedIconColor: '{system.color.none}',
8
+ completedIconSize: '{system.size.none}',
9
+ connectorColor: '{palette.color.greyShuttle}',
10
+ connectorHeight: '{palette.border.border1}',
11
+ connectorMinWidth: '{palette.size.size16}',
12
+ connectorCompletedHeight: '{palette.border.border3}',
13
+ connectorCompletedColor: '{palette.color.purpleDeluge}',
14
+ containerPaddingBottom: '{system.size.none}',
15
+ containerPaddingLeft: '{system.size.none}',
16
+ containerPaddingRight: '{system.size.none}',
17
+ containerPaddingTop: '{system.size.none}',
18
+ knobBackgroundColor: '{palette.color.transparent}',
19
+ knobBorderWidth: '{palette.border.border1}',
20
+ knobBorderColor: '{palette.color.greyShuttle}',
21
+ knobCompletedBackgroundColor: '{palette.color.purpleDeluge}',
22
+ knobCompletedBorderColor: '{palette.color.purpleDeluge}',
23
+ knobCompletedPaddingLeft: '{system.size.none}',
24
+ knobCompletedPaddingTop: '{system.size.none}',
25
+ knobCurrentBackgroundColor: '{palette.color.transparent}',
26
+ knobCurrentBorderColor: '{palette.color.purpleDeluge}',
27
+ knobCurrentBorderWidth: '{palette.border.border2}',
28
+ knobCurrentInnerColor: '{palette.color.purpleDeluge}',
29
+ knobCurrentInnerSize: '{palette.size.size8}',
30
+ knobCurrentPaddingLeft: '{palette.size.size2}',
31
+ knobCurrentPaddingTop: '{palette.size.size2}',
32
+ knobSize: '{palette.size.size16}',
33
+ labelColor: '{palette.color.greyCharcoal}',
34
+ labelCurrentColor: '{palette.color.purpleDeluge}',
35
+ labelCurrentFontWeight: '{palette.fontWeight.weight700}',
36
+ labelCurrentFontName: '{palette.fontName.HelveticaNow}',
37
+ labelDirection: '{system.direction.column}',
38
+ labelFontSize: '{palette.fontSize.size16}',
39
+ labelFontWeight: '{palette.fontWeight.weight400}',
40
+ labelFontName: '{palette.fontName.HelveticaNow}',
41
+ labelGap: '{palette.size.size0}',
42
+ labelLineHeight: '{palette.lineHeight.ratio10to7}',
43
+ labelMarginTop: '{palette.size.size8}',
44
+ labelPaddingLeft: '{palette.size.size16}',
45
+ labelPaddingRight: '{palette.size.size16}',
46
+ showStepLabel: '{system.show.false}',
47
+ showStepName: '{system.show.true}',
48
+ showStepTrackerLabel: '{system.show.true}'
49
+ },
50
+ rules: [
51
+ {
52
+ if: { viewport: ['lg', 'xl'] },
53
+ tokens: {
54
+ showStepLabel: '{system.show.true}',
55
+ showStepTrackerLabel: '{system.show.false}'
56
+ }
57
+ }
58
+ ]
59
+ }
@@ -0,0 +1,13 @@
1
+ module.exports = {
2
+ appearances: {},
3
+ tokens: {
4
+ nextIcon: '{palette.icon.ArrowRight}',
5
+ previousIcon: '{palette.icon.ArrowLeft}',
6
+ space: '{system.integer.0}',
7
+ gutter: '{palette.size.size2}',
8
+ borderBottomWidth: '{palette.border.border1}',
9
+ borderBottomColor: '{palette.color.greyShuttle}',
10
+ buttonClearance: '{palette.size.size16}'
11
+ },
12
+ rules: []
13
+ }
@@ -0,0 +1,81 @@
1
+ module.exports = {
2
+ appearances: {
3
+ pressed: '{appearances.TabsItem.pressed}',
4
+ hover: '{appearances.TabsItem.pressed}',
5
+ focus: '{appearances.TabsItem.pressed}',
6
+ selected: '{appearances.TabsItem.pressed}'
7
+ },
8
+ tokens: {
9
+ highlightColor: '{system.color.transparent}',
10
+ highlightBarHeight: '{system.border.zero}',
11
+ highlightBarBorderRadius: '{system.radius.zero}',
12
+ highlightBarBorderWidth: '{system.border.zero}',
13
+ highlightTriangleSize: '{system.size.zero}',
14
+
15
+ backgroundColor: '{system.color.transparent}',
16
+ borderColor: '{system.color.transparent}',
17
+ borderWidth: '{system.border.zero}',
18
+ borderRadius: '{palette.radius.pill32}',
19
+ maxWidth: '{palette.size.size192}',
20
+ space: '{system.integer.1}',
21
+ paddingHorizontal: '{palette.size.size24}',
22
+ paddingVertical: '{palette.size.size8}',
23
+
24
+ textAlign: '{system.textAlign.center}',
25
+ lineHeight: '{palette.lineHeight.ratio8to7}',
26
+ color: '{palette.color.greyShuttle}',
27
+ fontSize: '{palette.fontSize.size14}',
28
+ letterSpacing: '{system.letterSpacing.none}',
29
+ textTransform: '{system.textTransform.none}',
30
+ fontScaleCap: '{palette.fontSize.size64}',
31
+
32
+ fontWeight: '{palette.fontWeight.weight700}',
33
+ fontName: '{palette.fontName.HelveticaNow}'
34
+ },
35
+ rules: [
36
+ {
37
+ if: { selected: true },
38
+ description:
39
+ "The design uses height of 3: there's (rightly) no '3' in the Allium palette but the effect is 1px above and below a 1px line",
40
+ tokens: {
41
+ highlightBarBorderWidth: '{palette.border.border1}',
42
+ highlightBarHeight: '{palette.border.border1}',
43
+ highlightColor: '{palette.color.purpleTelus}',
44
+ highlightBarBorderRadius: '{palette.radius.pill32}',
45
+
46
+ color: '{palette.color.purpleTelus}',
47
+ backgroundColor: '{palette.color.greyAthens}'
48
+ }
49
+ },
50
+ {
51
+ if: { hover: true },
52
+ tokens: {
53
+ borderColor: '{palette.color.greyCloud}',
54
+ borderWidth: '{palette.border.border2}'
55
+ }
56
+ },
57
+ {
58
+ if: { focus: true },
59
+ tokens: {
60
+ color: '{palette.color.purpleTelus}',
61
+ borderColor: '{palette.color.purpleTelus}',
62
+ borderWidth: '{palette.border.border2}'
63
+ }
64
+ },
65
+ {
66
+ if: { pressed: true },
67
+ tokens: {
68
+ color: '{palette.color.white}',
69
+ backgroundColor: '{palette.color.greyShuttle}',
70
+ borderColor: '{system.color.transparent}',
71
+ borderWidth: '{system.border.zero}'
72
+ }
73
+ },
74
+ {
75
+ if: { focus: true, pressed: true },
76
+ tokens: {
77
+ backgroundColor: '{palette.color.purpleTelus}'
78
+ }
79
+ }
80
+ ]
81
+ }
@@ -0,0 +1,34 @@
1
+ module.exports = {
2
+ appearances: {
3
+ hover: '{appearances.TabsScrollButton.hover}',
4
+ focus: '{appearances.TabsScrollButton.focus}',
5
+ pressed: '{appearances.TabsScrollButton.pressed}'
6
+ },
7
+ tokens: {
8
+ borderRadius: '{palette.radius.pill32}',
9
+ backgroundColor: '{palette.color.white}',
10
+ borderColor: '{palette.color.greyCloud}',
11
+ borderWidth: '{palette.border.border1}',
12
+ padding: '{system.size.zero}',
13
+ shadow: '{palette.shadow.surfaceRaised}',
14
+ iconSize: '{palette.size.size32}',
15
+ iconColor: '{palette.color.greyShuttle}'
16
+ },
17
+ // TODO: refine the states etc when designs for icon buttons are finalized
18
+ rules: [
19
+ {
20
+ if: { hover: true },
21
+ tokens: {
22
+ borderColor: '{palette.color.greyCharcoal}',
23
+ iconColor: '{palette.color.greyCharcoal}'
24
+ }
25
+ },
26
+ {
27
+ if: { pressed: true },
28
+ tokens: {
29
+ backgroundColor: '{palette.color.greyShuttle}',
30
+ iconColor: '{palette.color.white}'
31
+ }
32
+ }
33
+ ]
34
+ }
@@ -0,0 +1,13 @@
1
+ module.exports = {
2
+ appearances: {
3
+ viewport: '{appearances.system.viewport}'
4
+ },
5
+ tokens: {
6
+ space: '{system.integer.1}',
7
+ direction: '{system.direction.row}',
8
+ alignItems: '{system.flexAlign.center}',
9
+ justifyContent: '{system.flexJustifyContent.flexStart}',
10
+ flexGrow: '{system.integer.0}'
11
+ },
12
+ rules: [{ if: { viewport: ['lg', 'xl'] }, tokens: { space: '{system.integer.3}' } }]
13
+ }
@@ -0,0 +1,126 @@
1
+ module.exports = {
2
+ appearances: {
3
+ hover: '{appearances.TagsItem.hover}',
4
+ focus: '{appearances.TagsItem.focus}',
5
+ pressed: '{appearances.TagsItem.pressed}',
6
+ selected: '{appearances.TagsItem.selected}',
7
+ inactive: '{appearances.TagsItem.inactive}'
8
+ },
9
+ tokens: {
10
+ // Icon tokens
11
+ iconSize: '{palette.size.size16}',
12
+ iconColor: '{palette.color.greyThunder}',
13
+ iconTranslateX: '{system.integer.0}',
14
+ iconTranslateY: '{system.integer.0}',
15
+
16
+ icon: '{palette.icon.Add}',
17
+ iconPosition: '{system.position.right}',
18
+ iconSpace: '{system.integer.2}',
19
+ iconBackground: '{palette.color.greyAthens}',
20
+ iconBorderRadius: '{palette.radius.pill32}',
21
+ iconAlignSelf: '{system.flexAlign.center}',
22
+ iconPadding: '{palette.size.size2}',
23
+
24
+ // Button tokens, very similar to ButtonGroup
25
+ borderColor: '{palette.color.greyCloud}',
26
+ borderWidth: '{palette.border.border1}',
27
+ borderRadius: '{palette.radius.pill32}',
28
+ shadow: '{system.shadow.none}',
29
+
30
+ fontSize: '{palette.fontSize.size14}',
31
+ color: '{palette.color.greyShuttle}',
32
+ lineHeight: '{palette.lineHeight.ratio10to7}',
33
+ textAlign: '{system.flexJustifyContent.center}',
34
+ alignSelf: '{system.flexAlign.center}',
35
+ fontName: '{palette.fontName.HelveticaNow}',
36
+ fontWeight: '{palette.fontWeight.weight700}',
37
+
38
+ backgroundColor: '{palette.color.white}',
39
+ opacity: '{system.opacity.opaque}',
40
+ paddingLeft: '{palette.size.size16}',
41
+ paddingRight: '{palette.size.size8}',
42
+ paddingTop: '{palette.size.size8}',
43
+ paddingBottom: '{palette.size.size8}',
44
+ width: '{system.size.none}',
45
+ minWidth: '{system.size.zero}',
46
+
47
+ outerBorderColor: '{palette.color.transparent}',
48
+ outerBorderWidth: '{palette.border.border2}',
49
+ outerBorderGap: '{palette.border.border2}',
50
+ outerBackgroundColor: '{palette.color.transparent}'
51
+ },
52
+ rules: [
53
+ {
54
+ if: { pressed: true },
55
+ tokens: {
56
+ borderWidth: '{palette.border.none}',
57
+ backgroundColor: '{palette.color.greyShuttle}',
58
+ borderColor: '{palette.color.greyShuttle}',
59
+ color: '{palette.color.white}',
60
+
61
+ iconColor: '{palette.color.white}',
62
+ iconBackground: '{palette.color.greyCharcoal}'
63
+ }
64
+ },
65
+ {
66
+ if: { focus: true },
67
+ tokens: {
68
+ borderColor: '{palette.color.greyShuttle}',
69
+ outerBorderColor: '{palette.color.greyShuttle}',
70
+ outerBorderGap: '{palette.size.size2}',
71
+ outerBorderWidth: '{palette.size.size2}'
72
+ }
73
+ },
74
+ { if: { hover: true }, tokens: { borderWidth: '{palette.border.border3}' } },
75
+ {
76
+ if: { selected: true },
77
+ tokens: {
78
+ borderWidth: '{palette.border.none}',
79
+ backgroundColor: '{palette.color.purpleTelus}',
80
+ color: '{palette.color.white}',
81
+
82
+ icon: '{palette.icon.Close}',
83
+ iconColor: '{palette.color.white}',
84
+ iconBackground: '{palette.color.purpleDeluge}'
85
+ }
86
+ },
87
+ {
88
+ if: { selected: true, hover: true },
89
+ tokens: {
90
+ backgroundColor: '{palette.color.purpleDeluge}',
91
+
92
+ iconBackground: '{palette.color.purpleTelus}'
93
+ }
94
+ },
95
+ {
96
+ if: { selected: true, pressed: true },
97
+ tokens: {
98
+ backgroundColor: '{palette.color.purpleDark}',
99
+
100
+ iconBackground: '{palette.color.purpleDeluge}'
101
+ }
102
+ },
103
+ {
104
+ if: { selected: true, focus: true },
105
+ tokens: {
106
+ outerBorderColor: '{palette.color.purpleTelus}'
107
+ }
108
+ },
109
+ {
110
+ if: { selected: true, focus: true, pressed: true },
111
+ tokens: {
112
+ outerBorderColor: '{palette.color.purpleDark}',
113
+
114
+ iconBackground: '{palette.color.purpleDeluge}'
115
+ }
116
+ },
117
+ {
118
+ if: { inactive: true },
119
+ tokens: {
120
+ backgroundColor: '{palette.color.greyCloud}',
121
+ color: '{palette.color.white}',
122
+ borderWidth: '{system.border.zero}'
123
+ }
124
+ }
125
+ ]
126
+ }
@@ -0,0 +1,8 @@
1
+ module.exports = {
2
+ appearances: {},
3
+ tokens: {
4
+ minLines: '{system.integer.5}',
5
+ maxLines: '{system.integer.8}'
6
+ },
7
+ rules: []
8
+ }
@@ -0,0 +1,73 @@
1
+ module.exports = {
2
+ appearances: {
3
+ validation: '{appearances.TextInput.validation}',
4
+ hover: '{appearances.TextInput.hover}',
5
+ focus: '{appearances.TextInput.focus}',
6
+ inactive: '{appearances.TextInput.inactive}'
7
+ },
8
+ tokens: {
9
+ backgroundColor: '{palette.color.white}',
10
+ color: '{palette.color.greyCharcoal}',
11
+ borderWidth: '{palette.border.border1}',
12
+ borderColor: '{palette.color.greyShuttle}',
13
+ borderRadius: '{palette.radius.radius4}',
14
+ paddingTop: '{palette.size.size12}',
15
+ paddingBottom: '{palette.size.size12}',
16
+ paddingLeft: '{palette.size.size16}',
17
+ paddingRight: '{palette.size.size16}',
18
+
19
+ outerBackgroundColor: '{palette.color.transparent}',
20
+ outerBorderWidth: '{palette.border.border2}',
21
+ outerBorderColor: '{palette.color.transparent}',
22
+
23
+ fontName: '{palette.fontName.HelveticaNow}',
24
+ fontWeight: '{palette.fontWeight.weight400}',
25
+
26
+ fontSize: '{palette.fontSize.size16}',
27
+ lineHeight: '{palette.lineHeight.ratio3to2}',
28
+
29
+ icon: '{system.icon.none}',
30
+ iconSize: '{palette.fontSize.size24}',
31
+ iconColor: '{palette.color.transparent}'
32
+ },
33
+ rules: [
34
+ {
35
+ if: { hover: true, inactive: null },
36
+ tokens: {
37
+ outerBorderColor: '{palette.color.greyMystic}',
38
+ outerBackgroundColor: '{palette.color.greyMystic}'
39
+ }
40
+ },
41
+ {
42
+ if: { validation: 'success' },
43
+ tokens: {
44
+ borderColor: '{palette.color.greenAccessible}',
45
+ icon: '{palette.icon.NotificationSuccess}',
46
+ iconColor: '{palette.color.greenAccessible}'
47
+ }
48
+ },
49
+ {
50
+ if: { validation: 'error' },
51
+ tokens: {
52
+ borderColor: '{palette.color.red}',
53
+ icon: '{palette.icon.NotificationError}',
54
+ iconColor: '{palette.color.red}'
55
+ }
56
+ },
57
+ {
58
+ if: { focus: true },
59
+ tokens: {
60
+ borderColor: '{palette.color.purpleDeluge}',
61
+ borderWidth: '{palette.border.border3}',
62
+ icon: '{system.icon.none}'
63
+ }
64
+ },
65
+ {
66
+ if: { inactive: true },
67
+ tokens: {
68
+ backgroundColor: '{palette.color.greyAthens}',
69
+ borderColor: '{palette.color.greyAthens}'
70
+ }
71
+ }
72
+ ]
73
+ }
@@ -1,125 +1,111 @@
1
- import palette from '@telus-uds/palette-allium'
2
- import {
3
- toggleSwitchAppearances,
4
- getToggleSwitchSchema,
5
- validateComponentTheme
6
- } from '@telus-uds/tools-theme'
7
- import checkmarkIcon from '@telus-uds/palette-allium/build/rn/icons/checkmark.icon.svg'
8
-
9
- const ToggleSwitch = {
1
+ module.exports = {
10
2
  appearances: {
11
- focus: toggleSwitchAppearances.focus,
12
- hover: toggleSwitchAppearances.hover,
13
- pressed: toggleSwitchAppearances.pressed,
14
- inactive: toggleSwitchAppearances.inactive,
15
- selected: toggleSwitchAppearances.selected
3
+ focus: '{appearances.ToggleSwitch.focus}',
4
+ hover: '{appearances.ToggleSwitch.hover}',
5
+ pressed: '{appearances.ToggleSwitch.pressed}',
6
+ inactive: '{appearances.ToggleSwitch.inactive}',
7
+ selected: '{appearances.ToggleSwitch.selected}'
16
8
  },
17
9
  tokens: {
18
- borderColor: palette.color.transparent,
19
- borderWidth: palette.border.none,
20
- borderRadius: palette.radius.pill32,
21
- outerBorderColor: palette.color.transparent,
22
- outerBorderWidth: palette.border.none,
23
- outerBorderGap: palette.size.size0,
24
- outerBorderRadius: palette.radius.pill32,
25
- outerBackgroundColor: palette.color.transparent,
26
- backgroundColor: palette.color.greyShuttle,
27
- opacity: 1,
28
- paddingLeft: 0,
29
- paddingRight: 0,
30
- paddingTop: 0,
31
- paddingBottom: 0,
32
- shadow: palette.shadow.surfaceInset,
10
+ borderColor: '{palette.color.transparent}',
11
+ borderWidth: '{palette.border.none}',
12
+ borderRadius: '{palette.radius.pill32}',
13
+ outerBorderColor: '{palette.color.transparent}',
14
+ outerBorderWidth: '{palette.border.none}',
15
+ outerBorderGap: '{palette.size.size0}',
16
+ outerBackgroundColor: '{palette.color.transparent}',
17
+ backgroundColor: '{palette.color.greyShuttle}',
18
+ opacity: '{system.opacity.opaque}',
19
+ paddingLeft: '{system.size.zero}',
20
+ paddingRight: '{system.size.zero}',
21
+ paddingTop: '{system.size.zero}',
22
+ paddingBottom: '{system.size.zero}',
23
+ shadow: '{palette.shadow.surfaceInset}',
24
+ alignSelf: '{system.flexAlign.flexStart}',
33
25
 
34
- icon: null,
35
- width: palette.size.size40,
36
- trackBorderWidth: palette.border.border3,
37
- trackBorderColor: palette.color.transparent,
38
- trackBorderRadius: palette.radius.pill32,
39
- iconSize: palette.size.size12,
40
- iconColor: palette.color.greyShuttle,
41
- switchSize: palette.size.size16,
42
- switchColor: palette.color.white,
43
- switchBorderColor: palette.color.transparent,
44
- switchBorderWidth: palette.border.none,
45
- switchBorderRadius: palette.radius.pill32,
46
- switchShadow: palette.shadow.surfaceRaised
26
+ icon: '{system.icon.none}',
27
+ width: '{palette.size.size40}',
28
+ trackBorderWidth: '{palette.border.border3}',
29
+ trackBorderColor: '{palette.color.transparent}',
30
+ trackBorderRadius: '{palette.radius.pill32}',
31
+ iconSize: '{palette.size.size12}',
32
+ iconColor: '{palette.color.greyShuttle}',
33
+ switchSize: '{palette.size.size16}',
34
+ switchColor: '{palette.color.white}',
35
+ switchBorderColor: '{palette.color.transparent}',
36
+ switchBorderWidth: '{palette.border.none}',
37
+ switchBorderRadius: '{palette.radius.pill32}',
38
+ switchShadow: '{palette.shadow.surfaceRaised}'
47
39
  },
48
40
  rules: [
49
41
  {
50
42
  if: { hover: true },
51
43
  tokens: {
52
- backgroundColor: palette.color.greyCharcoal
44
+ backgroundColor: '{palette.color.greyCharcoal}'
53
45
  }
54
46
  },
55
47
  {
56
48
  if: { pressed: true },
57
49
  tokens: {
58
- backgroundColor: palette.color.greyThunder
50
+ backgroundColor: '{palette.color.greyThunder}'
59
51
  }
60
52
  },
61
53
  {
62
54
  if: { focus: true },
63
55
  tokens: {
64
- outerBackgroundColor: palette.color.white,
65
- outerBorderGap: palette.border.border3,
66
- outerBorderWidth: palette.border.border2,
67
- outerBorderColor: palette.color.greyShuttle
56
+ outerBackgroundColor: '{palette.color.white}',
57
+ outerBorderGap: '{palette.border.border3}',
58
+ outerBorderWidth: '{palette.border.border2}',
59
+ outerBorderColor: '{palette.color.greyShuttle}'
68
60
  }
69
61
  },
70
62
  {
71
63
  if: { focus: true, pressed: true },
72
64
  tokens: {
73
- outerBorderColor: palette.color.greyThunder
65
+ outerBorderColor: '{palette.color.greyThunder}'
74
66
  }
75
67
  },
76
68
  {
77
69
  if: { selected: true },
78
70
  tokens: {
79
- icon: checkmarkIcon,
80
- backgroundColor: palette.color.greenAccessible,
81
- iconColor: palette.color.greenAccessible
71
+ icon: '{palette.icon.Checkmark}',
72
+ backgroundColor: '{palette.color.greenAccessible}',
73
+ iconColor: '{palette.color.greenAccessible}'
82
74
  }
83
75
  },
84
76
  {
85
77
  if: { selected: true, hover: true },
86
78
  tokens: {
87
- backgroundColor: palette.color.greenSanFelix,
88
- iconColor: palette.color.greenSanFelix
79
+ backgroundColor: '{palette.color.greenSanFelix}',
80
+ iconColor: '{palette.color.greenSanFelix}'
89
81
  }
90
82
  },
91
83
  {
92
84
  if: { selected: true, pressed: true },
93
85
  tokens: {
94
- backgroundColor: palette.color.greenDarkFern,
95
- iconColor: palette.color.greenDarkFern
86
+ backgroundColor: '{palette.color.greenDarkFern}',
87
+ iconColor: '{palette.color.greenDarkFern}'
96
88
  }
97
89
  },
98
90
  {
99
91
  if: { selected: true, focus: true },
100
92
  tokens: {
101
- outerBorderColor: palette.color.greenAccessible
93
+ outerBorderColor: '{palette.color.greenAccessible}'
102
94
  }
103
95
  },
104
96
  {
105
97
  if: { selected: true, focus: true, pressed: true },
106
98
  tokens: {
107
- outerBorderColor: palette.color.greenDarkFern
99
+ outerBorderColor: '{palette.color.greenDarkFern}'
108
100
  }
109
101
  },
110
102
  {
111
103
  if: { inactive: true },
112
104
  tokens: {
113
- backgroundColor: palette.color.greyCloud,
114
- outerBorderColor: palette.color.greyCloud,
115
- iconColor: palette.color.greyShuttle
105
+ backgroundColor: '{palette.color.greyCloud}',
106
+ outerBorderColor: '{palette.color.greyCloud}',
107
+ iconColor: '{palette.color.greyShuttle}'
116
108
  }
117
109
  }
118
110
  ]
119
111
  }
120
-
121
- // TODO: replace this with a build step similar to Palettes
122
- // https://github.com/telus/universal-design-system/issues/167
123
- validateComponentTheme(ToggleSwitch, getToggleSwitchSchema(palette), 'ToggleSwitch')
124
-
125
- export default ToggleSwitch
@@ -0,0 +1,37 @@
1
+ module.exports = {
2
+ appearances: {
3
+ inverse: {
4
+ values: [true],
5
+ type: 'variant'
6
+ }
7
+ },
8
+ tokens: {
9
+ backgroundColor: '{palette.color.greyThunder}',
10
+ paddingTop: '{palette.size.size8}',
11
+ paddingBottom: '{palette.size.size8}',
12
+ paddingLeft: '{palette.size.size16}',
13
+ paddingRight: '{palette.size.size16}',
14
+ borderRadius: '{palette.radius.radius8}',
15
+ shadow: '{palette.shadow.elevation1}',
16
+
17
+ color: '{palette.color.white}',
18
+ fontSize: '{palette.fontSize.size14}',
19
+ lineHeight: '{palette.lineHeight.ratio3to2}',
20
+
21
+ fontName: '{palette.fontName.HelveticaNow}',
22
+ fontWeight: '{palette.fontWeight.weight400}',
23
+
24
+ arrowWidth: '{palette.size.size16}',
25
+ arrowBorderRadius: '{palette.radius.radius1}',
26
+ arrowOffset: '{palette.size.size4}'
27
+ },
28
+ rules: [
29
+ {
30
+ if: { inverse: true },
31
+ tokens: {
32
+ backgroundColor: '{palette.color.white}',
33
+ color: '{palette.color.greyCharcoal}'
34
+ }
35
+ }
36
+ ]
37
+ }