@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.
- package/package.json +2 -2
- package/src/_index.scss +2 -1
- package/src/layout/_breakpoints.scss +36 -42
- package/src/style/_elevation.scss +54 -0
- package/src/style/_index.scss +3 -0
- package/src/style/_sass-utils.scss +24 -0
- package/src/style/_typography-utils.scss +23 -0
- package/src/style/_typography.scss +139 -0
- package/src/style/overrides/_index.scss +2 -2
- package/src/style/overrides/igo2-lib/_index.scss +5 -2
- package/src/style/overrides/igo2-lib/_list.scss +22 -0
- package/src/style/overrides/igo2-lib/_panel.scss +7 -0
- package/src/style/overrides/igo2-lib/_search-bar.scss +70 -0
- package/src/style/overrides/material/_button.scss +118 -0
- package/src/style/overrides/material/_dialog.scss +37 -0
- package/src/style/overrides/material/_divider.scss +11 -0
- package/src/style/overrides/material/_form-field.scss +20 -0
- package/src/style/overrides/material/_icon.scss +34 -0
- package/src/style/overrides/material/_index.scss +12 -1
- package/src/style/overrides/material/_input.scss +5 -0
- package/src/style/overrides/material/_sidenav.scss +9 -0
- package/src/theme/_index.scss +1 -3
- package/src/theme/material/_index.scss +1 -0
- package/src/theme/material/_theme.scss +241 -0
- package/src/tokens/_index.scss +7 -0
- package/src/tokens/_sys-colors.scss +99 -0
- package/src/tokens/_sys-elevation.scss +17 -0
- package/src/tokens/_sys-layout.scss +28 -0
- package/src/tokens/_sys-palettes.scss +72 -0
- package/src/tokens/_sys-typography.scss +109 -0
- package/src/tokens/_system.scss +56 -0
- package/src/tokens/_token-utils.scss +79 -0
- package/src/style/overrides/igo2-lib/_index-theme.scss +0 -13
- package/src/style/overrides/igo2-lib/_search-bar-theme.scss +0 -33
- package/src/style/overrides/igo2-lib/list.scss +0 -24
- package/src/style/overrides/igo2-lib/panel.scss +0 -8
- package/src/style/overrides/igo2-lib/scrollbar.scss +0 -15
- package/src/style/overrides/igo2-lib/search-bar.scss +0 -43
- package/src/style/overrides/material/_button-theme.scss +0 -81
- package/src/style/overrides/material/_index-theme.scss +0 -13
- package/src/style/overrides/material/button.scss +0 -5
- package/src/style/overrides/material/dialog.scss +0 -36
- package/src/style/overrides/material/form-field.scss +0 -5
- package/src/style/overrides/material/input.scss +0 -5
- package/src/theme/_colors.scss +0 -128
- package/src/theme/_palettes.scss +0 -112
- package/src/theme/_theme.scss +0 -46
- package/src/typography/_index.scss +0 -2
- package/src/typography/typography.scss +0 -173
- package/src/typography/typography.utils.scss +0 -18
- /package/src/layout/{layout.scss → bootstrap-layout.scss} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@igo2/sdg-core",
|
|
3
|
-
"version": "1.0.0-next.
|
|
3
|
+
"version": "1.0.0-next.80",
|
|
4
4
|
"license": "LiLiQ-R",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"default": "./fesm2022/igo2-sdg-core.mjs"
|
|
15
15
|
},
|
|
16
16
|
"./layout": {
|
|
17
|
-
"sass": "./src/layout/layout.scss"
|
|
17
|
+
"sass": "./src/layout/bootstrap-layout.scss"
|
|
18
18
|
},
|
|
19
19
|
"./package.json": {
|
|
20
20
|
"default": "./package.json"
|
package/src/_index.scss
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
2
|
|
|
3
3
|
// https://design.quebec.ca/design/bases/grille-8px#c84016
|
|
4
|
-
$
|
|
5
|
-
|
|
4
|
+
$grids: (
|
|
5
|
+
sm: (
|
|
6
6
|
min-width: 0,
|
|
7
7
|
max-width: 575px,
|
|
8
8
|
container-max-width: container-max-width('mobile'),
|
|
@@ -10,7 +10,7 @@ $breakpoints: (
|
|
|
10
10
|
spacing: 16px,
|
|
11
11
|
margins: 8px
|
|
12
12
|
),
|
|
13
|
-
|
|
13
|
+
md: (
|
|
14
14
|
min-width: 576px,
|
|
15
15
|
max-width: 767px,
|
|
16
16
|
container-max-width: container-max-width('mobile-landscape'),
|
|
@@ -18,7 +18,7 @@ $breakpoints: (
|
|
|
18
18
|
spacing: 16px,
|
|
19
19
|
margins: 8px
|
|
20
20
|
),
|
|
21
|
-
|
|
21
|
+
lg: (
|
|
22
22
|
min-width: 768px,
|
|
23
23
|
max-width: 991px,
|
|
24
24
|
container-max-width: container-max-width('tablet'),
|
|
@@ -26,7 +26,7 @@ $breakpoints: (
|
|
|
26
26
|
spacing: 24px,
|
|
27
27
|
margins: 12px
|
|
28
28
|
),
|
|
29
|
-
|
|
29
|
+
xl: (
|
|
30
30
|
min-width: 992px,
|
|
31
31
|
max-width: 1199px,
|
|
32
32
|
container-max-width: container-max-width('laptop'),
|
|
@@ -34,7 +34,7 @@ $breakpoints: (
|
|
|
34
34
|
spacing: 24px,
|
|
35
35
|
margins: 12px
|
|
36
36
|
),
|
|
37
|
-
|
|
37
|
+
max: (
|
|
38
38
|
min-width: 1200px,
|
|
39
39
|
max-width: 9999px,
|
|
40
40
|
container-max-width: container-max-width('desktop'),
|
|
@@ -42,18 +42,33 @@ $breakpoints: (
|
|
|
42
42
|
spacing: 32px,
|
|
43
43
|
margins: 16px
|
|
44
44
|
)
|
|
45
|
-
);
|
|
46
|
-
|
|
47
|
-
$max-content-width: 825px;
|
|
45
|
+
) !default;
|
|
48
46
|
|
|
49
47
|
$devices: (
|
|
50
|
-
mobile: '
|
|
51
|
-
mobile-landscape: '
|
|
52
|
-
tablet: '
|
|
53
|
-
laptop: '
|
|
54
|
-
desktop: '
|
|
48
|
+
mobile: 'sm',
|
|
49
|
+
mobile-landscape: 'md',
|
|
50
|
+
tablet: 'lg',
|
|
51
|
+
laptop: 'xl',
|
|
52
|
+
desktop: 'max'
|
|
55
53
|
);
|
|
56
54
|
|
|
55
|
+
// Flattens a nested map, concatenating keys with '-' and returning a flat map.
|
|
56
|
+
@function get-grid-tokens() {
|
|
57
|
+
$result: ();
|
|
58
|
+
@each $breakpoint, $valueMap in $grids {
|
|
59
|
+
@each $key, $value in $valueMap {
|
|
60
|
+
$full-key: $key + '-' + $breakpoint;
|
|
61
|
+
$result: map.merge(
|
|
62
|
+
$result,
|
|
63
|
+
(
|
|
64
|
+
$full-key: $value
|
|
65
|
+
)
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
@return $result;
|
|
70
|
+
}
|
|
71
|
+
|
|
57
72
|
@function breakpoint($device) {
|
|
58
73
|
@return map.get($devices, $device);
|
|
59
74
|
}
|
|
@@ -61,46 +76,25 @@ $devices: (
|
|
|
61
76
|
@function min-width($device) {
|
|
62
77
|
$breakpoint: breakpoint($device);
|
|
63
78
|
@if $breakpoint {
|
|
64
|
-
@return map.get($
|
|
79
|
+
@return map.get($grids, $breakpoint, min-width);
|
|
65
80
|
}
|
|
66
81
|
}
|
|
67
82
|
|
|
68
83
|
@function max-width($device) {
|
|
69
84
|
$breakpoint: breakpoint($device);
|
|
70
85
|
@if $breakpoint {
|
|
71
|
-
@return map.get($
|
|
86
|
+
@return map.get($grids, $breakpoint, max-width);
|
|
72
87
|
}
|
|
73
88
|
}
|
|
74
89
|
|
|
75
90
|
@function container-max-width($device) {
|
|
76
91
|
$breakpoint: breakpoint($device);
|
|
77
|
-
$margins: map.get($
|
|
92
|
+
$margins: map.get($grids, $breakpoint, margins);
|
|
78
93
|
|
|
79
|
-
@if $breakpoint == '
|
|
80
|
-
@return calc(map.get($
|
|
94
|
+
@if $breakpoint == 'sm' {
|
|
95
|
+
@return calc(map.get($grids, $breakpoint, max-width) - 2 * $margins);
|
|
81
96
|
} @else {
|
|
82
|
-
@return calc(map.get($
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
@function columns($device) {
|
|
87
|
-
$breakpoint: breakpoint($device);
|
|
88
|
-
@if $breakpoint {
|
|
89
|
-
@return map.get($breakpoints, $breakpoint, columns);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
@function spacing($device) {
|
|
94
|
-
$breakpoint: breakpoint($device);
|
|
95
|
-
@if $breakpoint {
|
|
96
|
-
@return map.get($breakpoints, $breakpoint, spacing);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
@function margins($device) {
|
|
101
|
-
$breakpoint: breakpoint($device);
|
|
102
|
-
@if $breakpoint {
|
|
103
|
-
@return map.get($breakpoints, $breapoint, margins);
|
|
97
|
+
@return calc(map.get($grids, $breakpoint, min-width) - 2 * $margins);
|
|
104
98
|
}
|
|
105
99
|
}
|
|
106
100
|
|
|
@@ -110,7 +104,7 @@ $devices: (
|
|
|
110
104
|
@mixin media($device) {
|
|
111
105
|
$breakpoint: breakpoint($device);
|
|
112
106
|
@if $breakpoint {
|
|
113
|
-
$max-width: map.get($
|
|
107
|
+
$max-width: map.get($grids, $breakpoint, max-width);
|
|
114
108
|
@if $max-width {
|
|
115
109
|
@media (max-width: $max-width) {
|
|
116
110
|
@content;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
@use 'sass:math';
|
|
3
|
+
@use 'sass:meta';
|
|
4
|
+
@use 'sass:string';
|
|
5
|
+
@use './sass-utils';
|
|
6
|
+
@use '../tokens/sys-palettes';
|
|
7
|
+
|
|
8
|
+
$shadow-elevations: (
|
|
9
|
+
0: '0px 0px 0px 0px',
|
|
10
|
+
1: '0px 1px 4px 0px ',
|
|
11
|
+
2: '0px 2px 8px 0px',
|
|
12
|
+
3: '0px 4px 16px 0px',
|
|
13
|
+
4: '0px 6px 24px 0px'
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
// The default color "dark-blue" or "#223654" for elevation shadows.
|
|
17
|
+
$color: map.get(sys-palettes.$palettes, 'blue', 700) !default;
|
|
18
|
+
|
|
19
|
+
// Applies the correct css rules to an element to give it the elevation specified by $zValue.
|
|
20
|
+
// The $zValue must be between 0 and 4.
|
|
21
|
+
@mixin elevation($zValue, $color: $color, $opacity: null) {
|
|
22
|
+
box-shadow: get-box-shadow($zValue, $color, $opacity);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@function get-box-shadow($zValue, $shadow-color: $color, $opacity: null) {
|
|
26
|
+
@if $zValue == null {
|
|
27
|
+
@return null;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@if (sass-utils.is-css-var-name($zValue)) {
|
|
31
|
+
@return $zValue;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@if meta.type-of($zValue) != number or not math.is-unitless($zValue) {
|
|
35
|
+
@error '$zValue must be a unitless number, but received `#{$zValue}`';
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@if $zValue < 0 or $zValue > 4 {
|
|
39
|
+
@error '$zValue must be between 0 and 4, but received `#{$zValue}`';
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
$z-value: map.get($shadow-elevations, $zValue);
|
|
43
|
+
$color: _compute-color-opacity($shadow-color, 0.24);
|
|
44
|
+
|
|
45
|
+
@return string.unquote('#{$z-value} #{$color}');
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
@function _compute-color-opacity($color, $opacity) {
|
|
49
|
+
@if meta.type-of($color) == color and $opacity != null {
|
|
50
|
+
@return rgba($color, $opacity);
|
|
51
|
+
} @else {
|
|
52
|
+
@return $color;
|
|
53
|
+
}
|
|
54
|
+
}
|
package/src/style/_index.scss
CHANGED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
@use 'sass:meta';
|
|
2
|
+
|
|
3
|
+
/// Include content under the current selector (&) or the document root if there is no current
|
|
4
|
+
/// selector.
|
|
5
|
+
/// @param {String} $root [html] The default root selector to use when there is no current selector.
|
|
6
|
+
/// @output The given content under the current selector, or root selector if there is no current
|
|
7
|
+
/// selector.
|
|
8
|
+
/// @content Content to output under the current selector, or root selector if there is no current
|
|
9
|
+
/// selector.
|
|
10
|
+
@mixin current-selector-or-root($root: html) {
|
|
11
|
+
@if & {
|
|
12
|
+
@content;
|
|
13
|
+
} @else {
|
|
14
|
+
#{$root} {
|
|
15
|
+
@content;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Returns whether the $value is a CSS variable name based on whether it's a string prefixed
|
|
21
|
+
// by "--".
|
|
22
|
+
@function is-css-var-name($value) {
|
|
23
|
+
@return meta.type-of($value) == string and string.index($value, '--') == 1;
|
|
24
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
@use 'sass:math';
|
|
2
|
+
|
|
3
|
+
$percent-root-font-size: 100 !default;
|
|
4
|
+
$rem-ratio: math.div(1, 0.16 * $percent-root-font-size);
|
|
5
|
+
|
|
6
|
+
@function rem($px-size) {
|
|
7
|
+
@return $px-size * $rem-ratio * 1rem;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
@function rem-ratio($px-size) {
|
|
11
|
+
@return math.div($px-size, 16 * $percent-root-font-size * 0.01) * 1rem;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@mixin title-border {
|
|
15
|
+
&:after {
|
|
16
|
+
content: '';
|
|
17
|
+
display: block;
|
|
18
|
+
margin: 0;
|
|
19
|
+
width: 48px;
|
|
20
|
+
padding-top: 4px;
|
|
21
|
+
border-bottom: 4px solid var(--sdg-color-pink-normal);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
@use '../layout/breakpoints';
|
|
2
|
+
@use './typography-utils' as *;
|
|
3
|
+
@use '../tokens/token-utils';
|
|
4
|
+
|
|
5
|
+
@mixin typo-set-base-styles {
|
|
6
|
+
:root {
|
|
7
|
+
font-size: var(--sdg-font-size-root-percent);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
body {
|
|
11
|
+
color: var(--sdg-color-text);
|
|
12
|
+
font-family: var(--sdg-font-family-text);
|
|
13
|
+
font-size: var(--sdg-font-size-md);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
a {
|
|
17
|
+
word-break: break-word;
|
|
18
|
+
overflow-wrap: break-word;
|
|
19
|
+
cursor: pointer;
|
|
20
|
+
color: var(--sdg-color-blue-piv);
|
|
21
|
+
text-decoration: underline;
|
|
22
|
+
background-color: transparent;
|
|
23
|
+
width: fit-content;
|
|
24
|
+
max-inline-size: var(--sdg-max-content-width);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
a:hover {
|
|
28
|
+
text-decoration: none;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
button {
|
|
32
|
+
font-family: var(--sdg-font-family-text);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
p,
|
|
36
|
+
ul,
|
|
37
|
+
ol,
|
|
38
|
+
u,
|
|
39
|
+
.text {
|
|
40
|
+
color: var(--sdg-color-text);
|
|
41
|
+
font-size: var(--sdg-font-size-md);
|
|
42
|
+
line-height: 24px;
|
|
43
|
+
max-inline-size: var(--sdg-max-content-width);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
ul,
|
|
47
|
+
ol {
|
|
48
|
+
margin-top: 0;
|
|
49
|
+
margin-bottom: 24px;
|
|
50
|
+
padding-left: 16px;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
p {
|
|
54
|
+
margin-bottom: 24px !important;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
li {
|
|
58
|
+
margin-top: 16px;
|
|
59
|
+
margin-bottom: 16px;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
strong {
|
|
63
|
+
font-weight: 600;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
h1,
|
|
67
|
+
h2,
|
|
68
|
+
h3,
|
|
69
|
+
h4,
|
|
70
|
+
h5,
|
|
71
|
+
h6,
|
|
72
|
+
.h1,
|
|
73
|
+
.h2,
|
|
74
|
+
.h3,
|
|
75
|
+
.h4,
|
|
76
|
+
.h5,
|
|
77
|
+
.h6 {
|
|
78
|
+
font-family: var(--sdg-font-family-title) !important;
|
|
79
|
+
font-weight: bold !important;
|
|
80
|
+
color: var(--sdg-color-text);
|
|
81
|
+
max-inline-size: var(--sdg-max-content-width);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
h1 {
|
|
85
|
+
@include header-font('h1');
|
|
86
|
+
@include title-border;
|
|
87
|
+
|
|
88
|
+
@include breakpoints.media(mobile) {
|
|
89
|
+
font-size: var(--sdg-mobile-font-size-h1);
|
|
90
|
+
line-height: var(--sdg-mobile-line-height-h1);
|
|
91
|
+
margin-top: var(--sdg-spacer-lg) !important;
|
|
92
|
+
margin-bottom: var(--sdg-spacer-sm) !important;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
h2 {
|
|
97
|
+
@include header-font('h2');
|
|
98
|
+
|
|
99
|
+
@include breakpoints.media(mobile) {
|
|
100
|
+
font-size: var(--sdg-mobile-font-size-h2);
|
|
101
|
+
line-height: var(--sdg-mobile-line-height-h2);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
h3 {
|
|
106
|
+
@include header-font('h3');
|
|
107
|
+
|
|
108
|
+
@include breakpoints.media(mobile) {
|
|
109
|
+
font-size: var(--sdg-mobile-font-size-h3);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
h4 {
|
|
114
|
+
@include header-font('h4');
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
h5 {
|
|
118
|
+
@include header-font('h5');
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
h6 {
|
|
122
|
+
@include header-font('h6');
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.accroche {
|
|
126
|
+
font-size: var(--sdg-font-size-lg);
|
|
127
|
+
line-height: var(--sdg-line-height-lg);
|
|
128
|
+
font-weight: 600;
|
|
129
|
+
max-width: var(--sdg-max-content-width);
|
|
130
|
+
padding-bottom: 24px;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
@mixin header-font($header) {
|
|
135
|
+
font-size: var(--sdg-font-size-#{$header});
|
|
136
|
+
line-height: var(--sdg-line-height-#{$header});
|
|
137
|
+
margin-top: var(--sdg-title-margin-#{$header}-mt) !important;
|
|
138
|
+
margin-bottom: var(--sdg-title-margin-#{$header}-mb) !important;
|
|
139
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
@forward './igo2-lib'
|
|
2
|
-
@forward './material'
|
|
1
|
+
@forward './igo2-lib' as igo2-lib-*;
|
|
2
|
+
@forward './material' as material-*;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
@mixin overrides() {
|
|
2
|
+
igo-search-results-item {
|
|
3
|
+
.mdc-list-item__primary-text {
|
|
4
|
+
white-space: normal;
|
|
5
|
+
overflow: hidden;
|
|
6
|
+
text-overflow: ellipsis;
|
|
7
|
+
max-height: unset !important;
|
|
8
|
+
line-height: 18px !important;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
igo-list
|
|
13
|
+
[igolistitem][color='accent'].igo-list-item-selected
|
|
14
|
+
> mat-list-item {
|
|
15
|
+
background-color: var(--sdg-color-blue-pale);
|
|
16
|
+
|
|
17
|
+
h4,
|
|
18
|
+
small {
|
|
19
|
+
color: var(--sdg-color-blue-piv) !important;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
@use '@angular/material' as mat;
|
|
3
|
+
|
|
4
|
+
@mixin overrides() {
|
|
5
|
+
igo-search-bar {
|
|
6
|
+
background-color: var(--sdg-color-background);
|
|
7
|
+
|
|
8
|
+
// Workaroung, OPEN SANS font add a mysterious 1px for the height
|
|
9
|
+
.mat-mdc-form-field-infix {
|
|
10
|
+
max-height: 40px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
button[mat-icon-button] {
|
|
14
|
+
border-radius: 0;
|
|
15
|
+
background-color: var(--sdg-color-blue-piv);
|
|
16
|
+
|
|
17
|
+
&:hover {
|
|
18
|
+
background-color: var(--sdg-color-blue-normal);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
mat-icon {
|
|
23
|
+
color: var(--sdg-color-white);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@include mat.form-field-overrides(
|
|
27
|
+
(
|
|
28
|
+
container-height: 40px,
|
|
29
|
+
container-vertical-padding: 8px
|
|
30
|
+
)
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
.mdc-icon-button.mat-mdc-button-base {
|
|
34
|
+
@include mat.icon-button-overrides(
|
|
35
|
+
(
|
|
36
|
+
state-layer-size: 40px
|
|
37
|
+
)
|
|
38
|
+
);
|
|
39
|
+
// reset the default padding of Material. Igo is overriding it
|
|
40
|
+
padding: calc(
|
|
41
|
+
calc(
|
|
42
|
+
var(--mdc-icon-button-state-layer-size, 40px) - var(
|
|
43
|
+
--mdc-icon-button-icon-size,
|
|
44
|
+
24px
|
|
45
|
+
)
|
|
46
|
+
) /
|
|
47
|
+
2
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
igo-search-results {
|
|
53
|
+
igo-collapsible {
|
|
54
|
+
.mdc-list-item__primary-text {
|
|
55
|
+
color: var(--sdg-color-blue-dark);
|
|
56
|
+
font-weight: bold;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
igo-search-results-item {
|
|
61
|
+
.mdc-list-item__primary-text {
|
|
62
|
+
font-weight: normal;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.mdc-list-item--with-leading-icon .mdc-list-item__start {
|
|
67
|
+
color: var(--sdg-color-blue-dark);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
@use '@angular/material' as mat;
|
|
2
|
+
|
|
3
|
+
@mixin overrides() {
|
|
4
|
+
.mdc-button {
|
|
5
|
+
$height: 56px;
|
|
6
|
+
$font-size: var(--sdg-font-size-md);
|
|
7
|
+
$border-radius: 0;
|
|
8
|
+
$horizontal-padding: 16px;
|
|
9
|
+
|
|
10
|
+
min-width: calc($height * 2) !important;
|
|
11
|
+
max-width: 360px;
|
|
12
|
+
line-height: var(--sdg-line-height-md) !important;
|
|
13
|
+
|
|
14
|
+
@include mat.button-overrides(
|
|
15
|
+
(
|
|
16
|
+
filled-container-height: $height,
|
|
17
|
+
filled-label-text-size: $font-size,
|
|
18
|
+
filled-label-text-weight: bold,
|
|
19
|
+
filled-container-shape: $border-radius,
|
|
20
|
+
filled-horizontal-padding: $horizontal-padding,
|
|
21
|
+
outlined-container-height: $height,
|
|
22
|
+
outlined-label-text-size: $font-size,
|
|
23
|
+
outlined-label-text-weight: bold,
|
|
24
|
+
outlined-container-shape: $border-radius,
|
|
25
|
+
outlined-horizontal-padding: $horizontal-padding,
|
|
26
|
+
protected-container-height: $height,
|
|
27
|
+
protected-label-text-size: $font-size,
|
|
28
|
+
protected-label-text-weight: bold,
|
|
29
|
+
protected-container-shape: $border-radius,
|
|
30
|
+
protected-horizontal-padding: $horizontal-padding,
|
|
31
|
+
text-container-height: $height,
|
|
32
|
+
text-label-text-size: $font-size,
|
|
33
|
+
text-label-text-weight: bold,
|
|
34
|
+
text-container-shape: $border-radius,
|
|
35
|
+
text-horizontal-padding: $horizontal-padding
|
|
36
|
+
)
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
&[compact] {
|
|
40
|
+
$height: 40px;
|
|
41
|
+
@include mat.button-overrides(
|
|
42
|
+
(
|
|
43
|
+
filled-container-height: $height,
|
|
44
|
+
outlined-container-height: $height,
|
|
45
|
+
protected-container-height: $height,
|
|
46
|
+
text-container-height: $height
|
|
47
|
+
)
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
min-width: calc($height * 2) !important;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.mat-mdc-outlined-button {
|
|
55
|
+
border-color: currentColor !important;
|
|
56
|
+
border-width: 2px !important;
|
|
57
|
+
|
|
58
|
+
&[compact] {
|
|
59
|
+
border-width: 1px !important;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.mdc-fab {
|
|
64
|
+
$background: var(--sdg-color-blue-piv);
|
|
65
|
+
$foreground: var(--sdg-color-white);
|
|
66
|
+
$border-radius: 0;
|
|
67
|
+
|
|
68
|
+
@include mat.fab-overrides(
|
|
69
|
+
(
|
|
70
|
+
container-color: $background,
|
|
71
|
+
container-shape: $border-radius,
|
|
72
|
+
foreground-color: $foreground,
|
|
73
|
+
small-container-color: $background,
|
|
74
|
+
small-container-shape: $border-radius,
|
|
75
|
+
small-foreground-color: $foreground
|
|
76
|
+
)
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@include color-variants-backwards-compatibility();
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Material custom color variants backwards compatibility
|
|
84
|
+
@mixin color-variants-backwards-compatibility() {
|
|
85
|
+
.mdc-button {
|
|
86
|
+
&.mat-warn {
|
|
87
|
+
@include mat.button-overrides(
|
|
88
|
+
(
|
|
89
|
+
filled-container-color: var(--sdg-color-red-normal)
|
|
90
|
+
)
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
&.mat-primary {
|
|
94
|
+
@include mat.button-overrides(
|
|
95
|
+
(
|
|
96
|
+
filled-container-color: var(--sdg-color-blue-piv)
|
|
97
|
+
)
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.mdc-icon-button {
|
|
103
|
+
&.mat-warn {
|
|
104
|
+
@include mat.icon-button-overrides(
|
|
105
|
+
(
|
|
106
|
+
icon-color: var(--sdg-color-red-normal)
|
|
107
|
+
)
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
&.mat-primary {
|
|
111
|
+
@include mat.icon-button-overrides(
|
|
112
|
+
(
|
|
113
|
+
icon-color: var(--sdg-color-blue-piv)
|
|
114
|
+
)
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
@use '../../../style/typography-utils';
|
|
2
|
+
|
|
3
|
+
@mixin overrides() {
|
|
4
|
+
.mdc-dialog {
|
|
5
|
+
max-width: 600px;
|
|
6
|
+
|
|
7
|
+
&__surface {
|
|
8
|
+
border-radius: 0 !important;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
&__title {
|
|
12
|
+
padding-top: 8px !important; // Workaround, this should be 32px but Material apply a default height for the title.
|
|
13
|
+
padding-bottom: 24px !important;
|
|
14
|
+
|
|
15
|
+
@include typography-utils.title-border;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
&__tile,
|
|
19
|
+
&__content,
|
|
20
|
+
&__actions {
|
|
21
|
+
padding-left: 32px !important;
|
|
22
|
+
padding-right: 32px !important;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&__actions {
|
|
26
|
+
padding-top: 24px !important;
|
|
27
|
+
padding-bottom: 32px !important;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.close-button {
|
|
31
|
+
$iconButtonPadding: 8px;
|
|
32
|
+
position: absolute;
|
|
33
|
+
top: 16px - $iconButtonPadding;
|
|
34
|
+
right: 16px - $iconButtonPadding;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|