@igo2/sdg-core 1.0.0-next.79 → 1.0.0-next.80

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 (51) hide show
  1. package/package.json +2 -2
  2. package/src/_index.scss +2 -1
  3. package/src/layout/_breakpoints.scss +36 -42
  4. package/src/style/_elevation.scss +54 -0
  5. package/src/style/_index.scss +3 -0
  6. package/src/style/_sass-utils.scss +24 -0
  7. package/src/style/_typography-utils.scss +23 -0
  8. package/src/style/_typography.scss +139 -0
  9. package/src/style/overrides/_index.scss +2 -2
  10. package/src/style/overrides/igo2-lib/_index.scss +5 -2
  11. package/src/style/overrides/igo2-lib/_list.scss +22 -0
  12. package/src/style/overrides/igo2-lib/_panel.scss +7 -0
  13. package/src/style/overrides/igo2-lib/_search-bar.scss +70 -0
  14. package/src/style/overrides/material/_button.scss +118 -0
  15. package/src/style/overrides/material/_dialog.scss +37 -0
  16. package/src/style/overrides/material/_divider.scss +11 -0
  17. package/src/style/overrides/material/_form-field.scss +20 -0
  18. package/src/style/overrides/material/_icon.scss +34 -0
  19. package/src/style/overrides/material/_index.scss +12 -1
  20. package/src/style/overrides/material/_input.scss +5 -0
  21. package/src/style/overrides/material/_sidenav.scss +9 -0
  22. package/src/theme/_index.scss +1 -3
  23. package/src/theme/material/_index.scss +1 -0
  24. package/src/theme/material/_theme.scss +241 -0
  25. package/src/tokens/_index.scss +7 -0
  26. package/src/tokens/_sys-colors.scss +99 -0
  27. package/src/tokens/_sys-elevation.scss +17 -0
  28. package/src/tokens/_sys-layout.scss +28 -0
  29. package/src/tokens/_sys-palettes.scss +72 -0
  30. package/src/tokens/_sys-typography.scss +109 -0
  31. package/src/tokens/_system.scss +56 -0
  32. package/src/tokens/_token-utils.scss +79 -0
  33. package/src/style/overrides/igo2-lib/_index-theme.scss +0 -13
  34. package/src/style/overrides/igo2-lib/_search-bar-theme.scss +0 -33
  35. package/src/style/overrides/igo2-lib/list.scss +0 -24
  36. package/src/style/overrides/igo2-lib/panel.scss +0 -8
  37. package/src/style/overrides/igo2-lib/scrollbar.scss +0 -15
  38. package/src/style/overrides/igo2-lib/search-bar.scss +0 -43
  39. package/src/style/overrides/material/_button-theme.scss +0 -81
  40. package/src/style/overrides/material/_index-theme.scss +0 -13
  41. package/src/style/overrides/material/button.scss +0 -5
  42. package/src/style/overrides/material/dialog.scss +0 -36
  43. package/src/style/overrides/material/form-field.scss +0 -5
  44. package/src/style/overrides/material/input.scss +0 -5
  45. package/src/theme/_colors.scss +0 -128
  46. package/src/theme/_palettes.scss +0 -112
  47. package/src/theme/_theme.scss +0 -46
  48. package/src/typography/_index.scss +0 -2
  49. package/src/typography/typography.scss +0 -173
  50. package/src/typography/typography.utils.scss +0 -18
  51. /package/src/layout/{layout.scss → bootstrap-layout.scss} +0 -0
@@ -0,0 +1,11 @@
1
+ @use 'sass:map';
2
+ @use '@angular/material' as mat;
3
+ @use '../../../tokens/sys-colors';
4
+
5
+ @mixin overrides() {
6
+ @include mat.divider-overrides(
7
+ (
8
+ color: rgba(map.get(sys-colors.$light-colors, 'black'), 0.12)
9
+ )
10
+ );
11
+ }
@@ -0,0 +1,20 @@
1
+ @use 'sass:map';
2
+ @use '@angular/material' as mat;
3
+ @use '../../../tokens/sys-colors';
4
+
5
+ @mixin overrides() {
6
+ .mat-mdc-text-field-wrapper,
7
+ .mdc-notched-outline__leading,
8
+ .mdc-notched-outline__trailing {
9
+ border-radius: 0 !important;
10
+ }
11
+
12
+ @include mat.form-field-overrides(
13
+ (
14
+ outlined-outline-color: rgba(
15
+ map.get(sys-colors.$light-colors, 'black'),
16
+ 0.38
17
+ )
18
+ )
19
+ );
20
+ }
@@ -0,0 +1,34 @@
1
+ @use '@angular/material' as mat;
2
+
3
+ @mixin overrides() {
4
+ @include color-variants-backwards-compatibility();
5
+ }
6
+
7
+ // Material custom color variants backwards compatibility
8
+ @mixin color-variants-backwards-compatibility() {
9
+ .mat-icon {
10
+ &.mat-accent {
11
+ @include mat.icon-overrides(
12
+ (
13
+ color: var(--sdg-color-pink-normal)
14
+ )
15
+ );
16
+ }
17
+
18
+ &.mat-primary {
19
+ @include mat.icon-overrides(
20
+ (
21
+ color: var(--sdg-color-blue-piv)
22
+ )
23
+ );
24
+ }
25
+
26
+ &.mat-warn {
27
+ @include mat.icon-overrides(
28
+ (
29
+ color: var(--sdg-color-red-normal)
30
+ )
31
+ );
32
+ }
33
+ }
34
+ }
@@ -1,6 +1,17 @@
1
1
  @use './button';
2
2
  @use './dialog';
3
+ @use './divider';
3
4
  @use './form-field';
5
+ @use './icon';
4
6
  @use './input';
7
+ @use './sidenav';
5
8
 
6
- @forward './index-theme' as override-material-*;
9
+ @mixin overrides() {
10
+ @include button.overrides();
11
+ @include dialog.overrides();
12
+ @include divider.overrides();
13
+ @include form-field.overrides();
14
+ @include icon.overrides();
15
+ @include input.overrides();
16
+ @include sidenav.overrides();
17
+ }
@@ -0,0 +1,5 @@
1
+ @mixin overrides() {
2
+ .mat-mdc-input-element {
3
+ color: var(--sdg-color-grey-medium) !important;
4
+ }
5
+ }
@@ -0,0 +1,9 @@
1
+ @use '@angular/material' as mat;
2
+
3
+ @mixin overrides() {
4
+ @include mat.sidenav-overrides(
5
+ (
6
+ container-shape: 0
7
+ )
8
+ );
9
+ }
@@ -1,3 +1 @@
1
- @forward './colors';
2
- @forward './palettes';
3
- @forward './theme';
1
+ @forward './material' as material-*;
@@ -0,0 +1 @@
1
+ @forward './theme';
@@ -0,0 +1,241 @@
1
+ @use '@angular/material' as mat;
2
+ @use 'sass:map';
3
+ @use 'sass:color';
4
+ @use '../../tokens/sys-palettes';
5
+ @use '../../tokens/sys-typography';
6
+
7
+ // This file was generated by running 'ng generate @angular/material:theme-color'.
8
+ // Proceed with caution if making changes to this file.
9
+ // Note: Color palettes are generated from primary: #095797, error: #bb3a23
10
+ // But was adjusted manually to fit the _sys_palette.scss files
11
+ $_palettes: (
12
+ primary: (
13
+ 0: #000000,
14
+ 10: map.get(sys-palettes.$palettes, 'blue', 800),
15
+ 20: map.get(sys-palettes.$palettes, 'blue', 700),
16
+ 25: color.adjust(
17
+ map.get(sys-palettes.$palettes, 'blue', 700),
18
+ $lightness: 1%
19
+ ),
20
+ 30: color.adjust(
21
+ map.get(sys-palettes.$palettes, 'blue', 700),
22
+ $lightness: 2%
23
+ ),
24
+ 35: map.get(sys-palettes.$palettes, 'blue', 650),
25
+ // Button background
26
+ 40: map.get(sys-palettes.$palettes, 'blue', 600),
27
+ 50: map.get(sys-palettes.$palettes, 'blue', 550),
28
+ 60: map.get(sys-palettes.$palettes, 'blue', 500),
29
+ 70: map.get(sys-palettes.$palettes, 'blue', 400),
30
+ 80: map.get(sys-palettes.$palettes, 'blue', 350),
31
+ 90: map.get(sys-palettes.$palettes, 'blue', 300),
32
+ 95: map.get(sys-palettes.$palettes, 'blue', 200),
33
+ 98: map.get(sys-palettes.$palettes, 'blue', 150),
34
+ 99: map.get(sys-palettes.$palettes, 'blue', 100),
35
+ 100: #ffffff
36
+ ),
37
+ secondary: (
38
+ 0: #000000,
39
+ 10: #061c34,
40
+ 20: #1d314a,
41
+ 25: #293d56,
42
+ 30: #344861,
43
+ 35: #40546e,
44
+ 40: #4c607a,
45
+ 50: #657894,
46
+ 60: #7e92af,
47
+ 70: #99adca,
48
+ 80: #b4c8e7,
49
+ 90: #d3e4ff,
50
+ 95: #eaf1ff,
51
+ 98: #ffffff,
52
+ 99: #ffffff,
53
+ 100: #ffffff
54
+ ),
55
+ neutral: (
56
+ 0: #000000,
57
+ 10: #191c20,
58
+ 20: #2e3035,
59
+ 25: #393b40,
60
+ 30: #44474c,
61
+ 35: #505257,
62
+ 40: #5c5e63,
63
+ 50: #75777c,
64
+ 60: #8f9196,
65
+ 70: #a9abb1,
66
+ 80: #c5c6cc,
67
+ 90: #e1e2e8,
68
+ 95: #f0f0f6,
69
+ 98: #ffffff,
70
+ 99: #ffffff,
71
+ 100: #ffffff,
72
+ 4: #0c0e12,
73
+ 6: #111418,
74
+ 12: #1d2024,
75
+ 17: #272a2f,
76
+ 22: #323539,
77
+ 24: #37393e,
78
+ 87: #d9dae0,
79
+ 92: #e7e8ee,
80
+ 94: #ededf4,
81
+ 96: #f2f3f9
82
+ ),
83
+ neutral-variant: (
84
+ 0: #000000,
85
+ 10: #161c24,
86
+ 20: #2b3139,
87
+ 25: #363c45,
88
+ 30: #414750,
89
+ 35: #4d535c,
90
+ 40: #595f68,
91
+ 50: #727781,
92
+ 60: #8b919b,
93
+ 70: #a6abb6,
94
+ 80: #c1c7d2,
95
+ 90: #dee3ee,
96
+ 95: #ecf1fc,
97
+ 98: #ffffff,
98
+ 99: #ffffff,
99
+ 100: #ffffff
100
+ ),
101
+ error: (
102
+ 0: #000000,
103
+ 10: map.get(sys-palettes.$palettes, 'red', 800),
104
+ 20: color.adjust(
105
+ map.get(sys-palettes.$palettes, 'red', 800),
106
+ $lightness: 2%
107
+ ),
108
+ 25: map.get(sys-palettes.$palettes, 'red', 700),
109
+ 30: color.adjust(
110
+ map.get(sys-palettes.$palettes, 'red', 700),
111
+ $lightness: 2%
112
+ ),
113
+ 35: map.get(sys-palettes.$palettes, 'red', 550),
114
+ 40: color.adjust(
115
+ map.get(sys-palettes.$palettes, 'red', 550),
116
+ $lightness: 2%
117
+ ),
118
+ 50: map.get(sys-palettes.$palettes, 'red', 500),
119
+ 60: map.get(sys-palettes.$palettes, 'red', 400),
120
+ 70: map.get(sys-palettes.$palettes, 'red', 300),
121
+ 80: map.get(sys-palettes.$palettes, 'red', 200),
122
+ 90: map.get(sys-palettes.$palettes, 'red', 50),
123
+ 95: #ffede9,
124
+ 98: #fff8f6,
125
+ 99: #fffbff,
126
+ 100: #ffffff
127
+ )
128
+ );
129
+
130
+ $_rest: (
131
+ secondary: map.get($_palettes, secondary),
132
+ neutral: map.get($_palettes, neutral),
133
+ neutral-variant: map.get($_palettes, neutral-variant),
134
+ error: map.get($_palettes, error)
135
+ );
136
+
137
+ $primary-palette: map.merge(map.get($_palettes, primary), $_rest);
138
+
139
+ @function _high-contrast-value($light, $dark, $theme-type) {
140
+ @if ($theme-type == light) {
141
+ @return $light;
142
+ }
143
+ @if ($theme-type == dark) {
144
+ @return $dark;
145
+ }
146
+ @if ($theme-type == color-scheme) {
147
+ @return light-dark(#{$light}, #{$dark});
148
+ }
149
+
150
+ @error 'Unknown theme-type #{$theme-type}. Expected light, dark, or color-scheme';
151
+ }
152
+
153
+ @mixin high-contrast-overrides($theme-type) {
154
+ @include mat.theme-overrides(
155
+ (
156
+ primary: _high-contrast-value(#002d54, #e9f0ff, $theme-type),
157
+ on-primary: _high-contrast-value(#ffffff, #000000, $theme-type),
158
+ primary-container: _high-contrast-value(#004b85, #9ac5ff, $theme-type),
159
+ on-primary-container: _high-contrast-value(#ffffff, #000c1c, $theme-type),
160
+ inverse-primary: _high-contrast-value(#a2c9ff, #004982, $theme-type),
161
+ primary-fixed: _high-contrast-value(#004b85, #d3e4ff, $theme-type),
162
+ primary-fixed-dim: _high-contrast-value(#00345f, #a2c9ff, $theme-type),
163
+ on-primary-fixed: _high-contrast-value(#ffffff, #000000, $theme-type),
164
+ on-primary-fixed-variant: _high-contrast-value(
165
+ #ffffff,
166
+ #001226,
167
+ $theme-type
168
+ ),
169
+ secondary: _high-contrast-value(#192d45, #e9f0ff, $theme-type),
170
+ on-secondary: _high-contrast-value(#ffffff, #000000, $theme-type),
171
+ secondary-container: _high-contrast-value(#374a64, #b0c4e3, $theme-type),
172
+ on-secondary-container: _high-contrast-value(
173
+ #ffffff,
174
+ #000c1c,
175
+ $theme-type
176
+ ),
177
+ secondary-fixed: _high-contrast-value(#374a64, #d3e4ff, $theme-type),
178
+ secondary-fixed-dim: _high-contrast-value(#20344c, #b4c8e7, $theme-type),
179
+ on-secondary-fixed: _high-contrast-value(#ffffff, #000000, $theme-type),
180
+ on-secondary-fixed-variant: _high-contrast-value(
181
+ #ffffff,
182
+ #001226,
183
+ $theme-type
184
+ ),
185
+ tertiary: _high-contrast-value(#46135a, #feeaff, $theme-type),
186
+ on-tertiary: _high-contrast-value(#ffffff, #000000, $theme-type),
187
+ tertiary-container: _high-contrast-value(#67337a, #eaadfd, $theme-type),
188
+ on-tertiary-container: _high-contrast-value(#ffffff, #190025, $theme-type),
189
+ tertiary-fixed: _high-contrast-value(#67337a, #f9d8ff, $theme-type),
190
+ tertiary-fixed-dim: _high-contrast-value(#4e1b61, #edb1ff, $theme-type),
191
+ on-tertiary-fixed: _high-contrast-value(#ffffff, #000000, $theme-type),
192
+ on-tertiary-fixed-variant: _high-contrast-value(
193
+ #ffffff,
194
+ #220031,
195
+ $theme-type
196
+ ),
197
+ background: _high-contrast-value(#f8f9ff, #111418, $theme-type),
198
+ on-background: _high-contrast-value(#191c20, #e1e2e8, $theme-type),
199
+ surface: _high-contrast-value(#f8f9ff, #111418, $theme-type),
200
+ surface-dim: _high-contrast-value(#b7b8be, #111418, $theme-type),
201
+ surface-bright: _high-contrast-value(#f8f9ff, #4e5055, $theme-type),
202
+ surface-container-low: _high-contrast-value(#f0f0f6, #1d2024, $theme-type),
203
+ surface-container-lowest: _high-contrast-value(
204
+ #ffffff,
205
+ #000000,
206
+ $theme-type
207
+ ),
208
+ surface-container: _high-contrast-value(#e1e2e8, #2e3035, $theme-type),
209
+ surface-container-high: _high-contrast-value(
210
+ #d3d4da,
211
+ #393b40,
212
+ $theme-type
213
+ ),
214
+ surface-container-highest: _high-contrast-value(
215
+ #c5c6cc,
216
+ #44474c,
217
+ $theme-type
218
+ ),
219
+ on-surface: _high-contrast-value(#000000, #ffffff, $theme-type),
220
+ shadow: _high-contrast-value(#000000, #000000, $theme-type),
221
+ scrim: _high-contrast-value(#000000, #000000, $theme-type),
222
+ surface-tint: _high-contrast-value(#1c60a1, #a2c9ff, $theme-type),
223
+ inverse-surface: _high-contrast-value(#2e3035, #e1e2e8, $theme-type),
224
+ inverse-on-surface: _high-contrast-value(#ffffff, #000000, $theme-type),
225
+ outline: _high-contrast-value(#272c35, #ebf0fc, $theme-type),
226
+ outline-variant: _high-contrast-value(#444953, #bec3ce, $theme-type),
227
+ error: _high-contrast-value(#5d0900, #ffece8, $theme-type),
228
+ on-error: _high-contrast-value(#ffffff, #000000, $theme-type),
229
+ error-container: _high-contrast-value(#901a06, #ffaf9e, $theme-type),
230
+ on-error-container: _high-contrast-value(#ffffff, #200100, $theme-type),
231
+ surface-variant: _high-contrast-value(#dee3ee, #414750, $theme-type),
232
+ on-surface-variant: _high-contrast-value(#000000, #ffffff, $theme-type)
233
+ )
234
+ );
235
+ }
236
+
237
+ $theme: (
238
+ color: $primary-palette,
239
+ typography: var(--sdg-font-family-text),
240
+ density: 0
241
+ );
@@ -0,0 +1,7 @@
1
+ @forward './sys-colors';
2
+ @forward './sys-elevation';
3
+ @forward './sys-layout';
4
+ @forward './sys-palettes';
5
+ @forward './sys-typography';
6
+ @forward './system';
7
+ @forward './token-utils';
@@ -0,0 +1,99 @@
1
+ @use 'sass:map';
2
+ @use './token-utils';
3
+ @use './sys-palettes';
4
+
5
+ $light-colors: (
6
+ 'blue': (
7
+ pale: map.get(sys-palettes.$palettes, 'blue', 100),
8
+ light: map.get(sys-palettes.$palettes, 'blue', 350),
9
+ normal: map.get(sys-palettes.$palettes, 'blue', 550),
10
+ piv: map.get(sys-palettes.$palettes, 'blue', 600),
11
+ medium: map.get(sys-palettes.$palettes, 'blue', 650),
12
+ dark: map.get(sys-palettes.$palettes, 'blue', 700)
13
+ ),
14
+ 'grey': (
15
+ pale: map.get(sys-palettes.$palettes, 'grey', 100),
16
+ light: map.get(sys-palettes.$palettes, 'grey', 200),
17
+ normal: map.get(sys-palettes.$palettes, 'grey', 350),
18
+ medium: map.get(sys-palettes.$palettes, 'grey', 450),
19
+ dark: map.get(sys-palettes.$palettes, 'grey', 600)
20
+ ),
21
+ 'pink': (
22
+ pale: map.get(sys-palettes.$palettes, 'red', 50),
23
+ normal: map.get(sys-palettes.$palettes, 'red', 300)
24
+ ),
25
+ 'red': (
26
+ normal: map.get(sys-palettes.$palettes, 'red', 500),
27
+ dark: map.get(sys-palettes.$palettes, 'red', 800)
28
+ ),
29
+ 'green': (
30
+ pale: map.get(sys-palettes.$palettes, 'green', 100),
31
+ normal: map.get(sys-palettes.$palettes, 'green', 500),
32
+ dark: map.get(sys-palettes.$palettes, 'green', 600)
33
+ ),
34
+ 'yellow': (
35
+ pale: map.get(sys-palettes.$palettes, 'yellow', 100),
36
+ normal: map.get(sys-palettes.$palettes, 'yellow', 400),
37
+ dark: map.get(sys-palettes.$palettes, 'yellow', 600)
38
+ ),
39
+ 'violet': (
40
+ normal: map.get(sys-palettes.$palettes, 'violet', 500)
41
+ ),
42
+ 'white': #ffffff,
43
+ 'black': #000000,
44
+ accent: map.get(sys-palettes.$palettes, 'red', 300),
45
+ text: var(--sdg-color-blue-dark),
46
+ background: var(--sdg-color-white)
47
+ );
48
+
49
+ // https://design.quebec.ca/design/bases/theme-sombre
50
+ $dark-colors: (
51
+ blue: (
52
+ pale: map.get(sys-palettes.$palettes, 'blue', 800),
53
+ light: map.get(sys-palettes.$palettes, 'blue', 500),
54
+ normal: map.get(sys-palettes.$palettes, 'blue', 400),
55
+ piv: map.get(sys-palettes.$palettes, 'blue', 300),
56
+ medium: map.get(sys-palettes.$palettes, 'blue', 200),
57
+ dark: map.get(sys-palettes.$palettes, 'blue', 150)
58
+ ),
59
+ grey: (
60
+ pale: map.get(sys-palettes.$palettes, 'grey', 850),
61
+ light: map.get(sys-palettes.$palettes, 'grey', 700),
62
+ normal: map.get(sys-palettes.$palettes, 'grey', 500),
63
+ medium: map.get(sys-palettes.$palettes, 'grey', 400),
64
+ dark: map.get(sys-palettes.$palettes, 'grey', 300)
65
+ ),
66
+ pink: (
67
+ pale: map.get(sys-palettes.$palettes, 'red', 800),
68
+ normal: map.get(sys-palettes.$palettes, 'red', 550)
69
+ ),
70
+ red: (
71
+ normal: map.get(sys-palettes.$palettes, 'red', 400),
72
+ dark: map.get(sys-palettes.$palettes, 'red', 200)
73
+ ),
74
+ green: (
75
+ pale: map.get(sys-palettes.$palettes, 'green', 800),
76
+ normal: map.get(sys-palettes.$palettes, 'green', 400),
77
+ dark: map.get(sys-palettes.$palettes, 'green', 200)
78
+ ),
79
+ yellow: (
80
+ pale: map.get(sys-palettes.$palettes, 'yellow', 800),
81
+ normal: map.get(sys-palettes.$palettes, 'yellow', 650),
82
+ dark: map.get(sys-palettes.$palettes, 'yellow', 450)
83
+ ),
84
+ violet: (
85
+ normal: map.get(sys-palettes.$palettes, 'violet', 300)
86
+ ),
87
+ accent: map.get(sys-palettes.$palettes, 'red', 350),
88
+ text: map.get(sys-palettes.$palettes, 'grey', 150),
89
+ background: map.get(sys-palettes.$palettes, 'grey', 900)
90
+ );
91
+
92
+ @function sys-color-values() {
93
+ @return token-utils.flatten-tokens-map($light-colors, 'color');
94
+ }
95
+
96
+ @function sys-dark-color-values() {
97
+ $values: map.merge($light-colors, $dark-colors);
98
+ @return token-utils.flatten-tokens-map($values, 'color');
99
+ }
@@ -0,0 +1,17 @@
1
+ @use 'sass:map';
2
+ @use '../style/elevation';
3
+
4
+ @function sys-elevation-values() {
5
+ $result: ();
6
+
7
+ @each $key, $value in elevation.$shadow-elevations {
8
+ $result: map.merge(
9
+ $result,
10
+ (
11
+ 'elevation-#{$key}': elevation.get-box-shadow($key)
12
+ )
13
+ );
14
+ }
15
+
16
+ @return $result;
17
+ }
@@ -0,0 +1,28 @@
1
+ @use './token-utils';
2
+ @use '../layout/breakpoints';
3
+ @use '../style/typography-utils' as *;
4
+
5
+ @function sys-layout-values() {
6
+ $base-spacer: 8 !default;
7
+
8
+ $values: (
9
+ max-content-width: 825px,
10
+ spacer: (
11
+ 8: rem(1 * $base-spacer),
12
+ 16: rem(2 * $base-spacer),
13
+ 24: rem(3 * $base-spacer),
14
+ 32: rem(4 * $base-spacer),
15
+ 48: rem(6 * $base-spacer),
16
+ 72: rem(9 * $base-spacer),
17
+ 96: rem(12 * $base-spacer),
18
+ xs: var(--sdg-spacer-8),
19
+ sm: var(--sdg-spacer-16),
20
+ md: var(--sdg-spacer-24),
21
+ lg: var(--sdg-spacer-48),
22
+ xl: var(--sdg-spacer-96)
23
+ ),
24
+ grid: breakpoints.get-grid-tokens()
25
+ );
26
+
27
+ @return token-utils.flatten-tokens-map($values);
28
+ }
@@ -0,0 +1,72 @@
1
+ @use 'sass:color';
2
+
3
+ @use './token-utils';
4
+
5
+ $dark-blue: #223654;
6
+
7
+ // https://design.quebec.ca/bases/couleurs
8
+ $palettes: (
9
+ 'blue': (
10
+ 100: #dae6f0,
11
+ 150: #c6dbee,
12
+ 200: #adcdeb,
13
+ 300: #72b2eb,
14
+ 350: #4a98d9,
15
+ 400: #3b95e1,
16
+ 500: #0078cc,
17
+ 550: #1472bf,
18
+ 600: #095797,
19
+ 650: #19406c,
20
+ 700: #223654,
21
+ 800: #162b47
22
+ ),
23
+ 'grey': (
24
+ 100: #f1f1f2,
25
+ 150: #d7d8dd,
26
+ 200: #c5cad2,
27
+ 300: #a7acbc,
28
+ 350: #8893a2,
29
+ 400: #8590a8,
30
+ 450: #6b778a,
31
+ 500: #6a7688,
32
+ 600: #4e5662,
33
+ 700: #3b424c,
34
+ 850: #1c2025,
35
+ 900: #121519
36
+ ),
37
+ 'red': (
38
+ 50: #ffdbd6,
39
+ 200: #f3bcb6,
40
+ 300: #e58271,
41
+ 350: #f17b6c,
42
+ 400: #f26049,
43
+ 500: #cb381f,
44
+ 550: #bb3a23,
45
+ 700: #692519,
46
+ 800: #4f180e
47
+ ),
48
+ 'green': (
49
+ 100: #d7f0bb,
50
+ 200: #b0d493,
51
+ 400: #6e9c57,
52
+ 500: #4f813d,
53
+ 600: #2c4024,
54
+ 800: #1e2f17
55
+ ),
56
+ 'yellow': (
57
+ 100: #f8e69a,
58
+ 400: #e0ad03,
59
+ 450: #ac7900,
60
+ 600: #ad781c,
61
+ 650: #6d4512,
62
+ 800: #3f240c
63
+ ),
64
+ 'violet': (
65
+ 300: #b3a5d4,
66
+ 500: #6b4fa1
67
+ )
68
+ );
69
+
70
+ @function sys-palette-values() {
71
+ @return token-utils.flatten-tokens-map($palettes, 'palette');
72
+ }
@@ -0,0 +1,109 @@
1
+ @use 'sass:map';
2
+ @use '../style/typography-utils' as *;
3
+ @use './token-utils';
4
+
5
+ $typography: (
6
+ font: (
7
+ family: (
8
+ text: (
9
+ 'Open Sans',
10
+ sans-serif
11
+ ),
12
+ title: (
13
+ 'Roboto',
14
+ sans-serif
15
+ )
16
+ ),
17
+ size: (
18
+ root-percent: #{$percent-root-font-size}#{'%'},
19
+ h6: rem(16),
20
+ h5: rem(19),
21
+ h4: rem(21),
22
+ h3: rem(28),
23
+ h2: rem(36),
24
+ h1: rem(48),
25
+ 80: rem(12),
26
+ 90: rem(14),
27
+ 100: rem(16),
28
+ 120: rem(18),
29
+ 200: rem(22),
30
+ xs: var(--sdg-font-size-80),
31
+ sm: var(--sdg-font-size-90),
32
+ md: var(--sdg-font-size-100),
33
+ lg: var(--sdg-font-size-120),
34
+ xl: var(--sdg-font-size-200),
35
+ content: var(--sdg-font-size-md)
36
+ ),
37
+ weight: (
38
+ regular: 400,
39
+ medium: 500,
40
+ semi-bold: 600,
41
+ bold: 700
42
+ )
43
+ ),
44
+ line-height: (
45
+ h6: rem(20),
46
+ h5: rem(24),
47
+ h4: rem(24),
48
+ h3: rem(32),
49
+ h2: rem(40),
50
+ h1: rem(56),
51
+ 90: rem(20),
52
+ 100: rem(24),
53
+ 120: rem(28),
54
+ 200: rem(32),
55
+ sm: var(--sdg-line-height-90),
56
+ md: var(--sdg-line-height-100),
57
+ lg: var(--sdg-line-height-120),
58
+ xl: var(--sdg-line-height-200)
59
+ ),
60
+ title: (
61
+ margin: (
62
+ h1: (
63
+ mt: var(--sdg-spacer-72),
64
+ mb: var(--sdg-spacer-32)
65
+ ),
66
+ h2: (
67
+ mt: var(--sdg-spacer-lg),
68
+ mb: var(--sdg-spacer-sm)
69
+ ),
70
+ h3: (
71
+ mt: var(--sdg-spacer-md),
72
+ mb: var(--sdg-spacer-sm)
73
+ ),
74
+ h4: (
75
+ mt: var(--sdg-spacer-md),
76
+ mb: var(--sdg-spacer-xs)
77
+ ),
78
+ h5: (
79
+ mt: var(--sdg-spacer-sm),
80
+ mb: 0
81
+ ),
82
+ h6: (
83
+ mt: var(--sdg-spacer-sm),
84
+ mb: 0
85
+ )
86
+ )
87
+ )
88
+ );
89
+
90
+ $typography-mobile: (
91
+ font: (
92
+ size: (
93
+ h3: rem(25),
94
+ h2: rem(28),
95
+ h1: rem(36)
96
+ )
97
+ ),
98
+ line-height: (
99
+ h2: rem(40),
100
+ h1: rem(56)
101
+ )
102
+ );
103
+
104
+ @function sys-typography-values() {
105
+ @return map.merge(
106
+ token-utils.flatten-tokens-map($typography),
107
+ token-utils.flatten-tokens-map($typography-mobile, 'mobile')
108
+ );
109
+ }