@ilo-org/styles 0.6.1 → 0.7.1

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 (37) hide show
  1. package/build/css/components/index.css +782 -1092
  2. package/build/css/components/index.css.map +1 -1
  3. package/build/css/global.css +1 -1
  4. package/build/css/index.css +782 -1092
  5. package/build/css/index.css.map +1 -1
  6. package/build/css/monorepo.css +782 -1092
  7. package/build/css/monorepo.css.map +1 -1
  8. package/build/minified/index.css +1 -1
  9. package/build/minified/index.css.map +1 -1
  10. package/build/minified/monorepo.css +1 -1
  11. package/build/minified/monorepo.css.map +1 -1
  12. package/css/components/card.css +1 -1
  13. package/css/components/cardgroup.css +1 -1
  14. package/css/components/herocard.css +1 -1
  15. package/css/global.css.map +1 -1
  16. package/css/index.css +1 -1
  17. package/css/index.css.map +1 -1
  18. package/css/monorepo.css +1 -1
  19. package/css/monorepo.css.map +1 -1
  20. package/package.json +1 -1
  21. package/scss/_mixins.scss +19 -20
  22. package/scss/components/_card.scss +79 -1376
  23. package/scss/components/_cardgroup.scss +66 -24
  24. package/scss/components/_datacard.scss +90 -0
  25. package/scss/components/_detailcard.scss +150 -0
  26. package/scss/components/_factlistcard.scss +110 -0
  27. package/scss/components/_featurecard.scss +218 -0
  28. package/scss/components/_herocard.scss +3 -19
  29. package/scss/components/_multilinkcard.scss +189 -0
  30. package/scss/components/_promocard.scss +157 -0
  31. package/scss/components/_statcard.scss +76 -0
  32. package/scss/components/_textcard.scss +135 -0
  33. package/scss/components/index.scss +8 -0
  34. package/css/components/experiment.css +0 -1
  35. package/css/components/formcontrol.css +0 -1
  36. package/css/components/textinput.css +0 -1
  37. package/css/components/toggle.css +0 -1
@@ -3,45 +3,87 @@
3
3
  @import "../mixins";
4
4
 
5
5
  .ilo--cardgroup {
6
- $card: ".ilo--card";
6
+ $c: &;
7
7
 
8
- &--inner {
9
- display: flex;
10
- flex-wrap: wrap;
11
- justify-content: space-between;
12
- margin: auto;
13
- row-gap: px-to-rem(32px);
8
+ &__collapsed {
9
+ #{$c}--inner {
10
+ gap: 0 !important;
11
+ }
12
+ }
14
13
 
15
- .right-to-left & {
16
- flex-direction: row-reverse;
14
+ &__justify {
15
+ &__start {
16
+ #{$c}--inner {
17
+ justify-content: flex-start;
18
+ }
17
19
  }
18
20
 
19
- #{$card} {
20
- width: 100%;
21
+ &__between {
22
+ #{$c}--inner {
23
+ justify-content: space-between;
24
+ }
21
25
  }
22
- }
23
26
 
24
- &--two {
25
- @include breakpoint("large") {
26
- #{$card} {
27
- width: calc(50% - 16px);
27
+ &__center {
28
+ #{$c}--inner {
29
+ justify-content: center;
28
30
  }
29
31
  }
30
32
  }
31
33
 
32
- &--three {
34
+ &__count {
33
35
  @include breakpoint("large") {
34
- #{$card} {
35
- width: calc(33.333% - 21px);
36
+ &__one {
37
+ #{$c}--inner {
38
+ gap: 0;
39
+ }
40
+
41
+ #{$c}--card {
42
+ flex: 1 1 100%;
43
+ }
44
+ }
45
+
46
+ &__two {
47
+ #{$c}--inner {
48
+ gap: 16px;
49
+ }
50
+
51
+ #{$c}--card {
52
+ flex: 0 1 calc(50% - 16px);
53
+ }
54
+ }
55
+
56
+ &__three {
57
+ #{$c}--inner {
58
+ gap: 21px;
59
+ }
60
+
61
+ #{$c}--card {
62
+ flex: 0 1 calc(33.3333% - 21px);
63
+ }
64
+ }
65
+
66
+ &__four {
67
+ #{$c}--inner {
68
+ gap: 24px;
69
+ }
70
+
71
+ #{$c}--card {
72
+ flex: 0 1 calc(25% - 24px);
73
+ }
36
74
  }
37
75
  }
38
76
  }
39
77
 
40
- &--four {
41
- @include breakpoint("large") {
42
- #{$card} {
43
- width: calc(25% - 24px);
44
- }
78
+ &--inner {
79
+ display: flex;
80
+ flex-flow: row wrap;
81
+ justify-content: center;
82
+ margin: auto;
83
+ width: 100%;
84
+
85
+ .right-to-left & {
86
+ flex-direction: row-reverse;
45
87
  }
46
88
  }
47
89
 
@@ -0,0 +1,90 @@
1
+ @use "../tokens" as *;
2
+ @use "../functions" as *;
3
+ @use "../animations" as *;
4
+ @import "../mixins";
5
+
6
+ .ilo--card {
7
+ $self: &;
8
+
9
+ &__type {
10
+ &__data {
11
+ --max-width: #{px-to-rem(301px)};
12
+
13
+ background: $brand-ilo-light-blue;
14
+ border-bottom: px-to-rem(3px) solid #82afdc;
15
+ margin-top: px-to-rem(40px);
16
+ padding: px-to-rem(24px) px-to-rem(56px);
17
+ position: relative;
18
+ width: 100%;
19
+
20
+ &:hover,
21
+ &:focus,
22
+ &:focus-within {
23
+ background: $brand-ilo-light-blue;
24
+ }
25
+
26
+ &#{$self}__size {
27
+ &__narrow {
28
+ --max-width: #{px-to-rem(301px)};
29
+
30
+ @include cornercut(72px, 40px);
31
+ }
32
+
33
+ &__wide,
34
+ &__fluid {
35
+ --max-width: #{px-to-rem(600px)};
36
+
37
+ @include cornercut(87px, 48px);
38
+ }
39
+ }
40
+
41
+ #{$self}--image--wrapper {
42
+ width: max(px-to-rem(205px), 50%);
43
+ }
44
+
45
+ &--content-label {
46
+ @include font-styles("body-xs");
47
+ @include textmargin(
48
+ "margin-bottom",
49
+ 16px,
50
+ "body-xs",
51
+ "copy",
52
+ "headline-5",
53
+ "display"
54
+ );
55
+ color: $brand-ilo-grey-accessible;
56
+ }
57
+
58
+ &--content-copy {
59
+ @include font-styles("headline-5");
60
+ @include textmargin(
61
+ "margin-bottom",
62
+ 40px,
63
+ "headline-5",
64
+ "display",
65
+ "body-xs",
66
+ "copy"
67
+ );
68
+ color: $brand-ilo-grey-charcoal;
69
+ font-family: $fonts-display;
70
+ font-weight: 500;
71
+ }
72
+
73
+ &--content-files {
74
+ margin-bottom: px-to-rem(40px);
75
+ }
76
+
77
+ .ilo--link {
78
+ @include font-styles("headline-6");
79
+ }
80
+
81
+ &--file {
82
+ margin: px-to-rem(4px) px-to-rem(8px) px-to-rem(4px) 0;
83
+
84
+ &:last-of-type {
85
+ margin-right: 0;
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
@@ -0,0 +1,150 @@
1
+ @use "../tokens" as *;
2
+ @use "../functions" as *;
3
+ @use "../animations" as *;
4
+ @import "../mixins";
5
+
6
+ .ilo--card {
7
+ $self: &;
8
+
9
+ &__type {
10
+ &__detail {
11
+ --max-width: #{px-to-rem(343px)};
12
+
13
+ border-bottom: px-to-rem(3px) solid $brand-ilo-grey-light;
14
+ padding: px-to-rem(24px) 0;
15
+ position: relative;
16
+
17
+ @include breakpoint("large") {
18
+ padding: px-to-rem(32px) 0;
19
+ }
20
+
21
+ &:hover,
22
+ &:focus,
23
+ &:focus-within {
24
+ @include card-drop-shadow;
25
+
26
+ picture::before {
27
+ opacity: 0.4;
28
+ z-index: 2;
29
+ }
30
+
31
+ #{$self}--date-extra {
32
+ &::before {
33
+ @include dataurlicon("equilateraltriangle", $brand-ilo-blue);
34
+ }
35
+ }
36
+ }
37
+
38
+ #{$self}--title {
39
+ @include font-styles("headline-6");
40
+
41
+ @include breakpoint("large") {
42
+ #{$self}__size__wide & {
43
+ @include font-styles("headline-5");
44
+ }
45
+
46
+ #{$self}__size__wide & {
47
+ @include font-styles("headline-6");
48
+ }
49
+ }
50
+ }
51
+
52
+ &#{$self}__size {
53
+ &__wide,
54
+ &__fluid {
55
+ --max-width: #{px-to-rem(745px)};
56
+
57
+ #{$self}--title {
58
+ @include breakpoint("large") {
59
+ @include font-styles("headline-5");
60
+ }
61
+ }
62
+
63
+ #{$self}--image--wrapper {
64
+ @include breakpoint("large") {
65
+ flex: 0 0 px-to-rem(196px);
66
+ }
67
+ }
68
+
69
+ #{$self}--picture {
70
+ @include breakpoint("large") {
71
+ width: px-to-rem(196px);
72
+ }
73
+ }
74
+ }
75
+
76
+ &__narrow {
77
+ --max-width: #{px-to-rem(343px)};
78
+ }
79
+ }
80
+
81
+ picture {
82
+ display: flex;
83
+ position: relative;
84
+
85
+ &::before {
86
+ background-color: $brand-ilo-blue;
87
+ content: "";
88
+ display: block;
89
+ height: 100%;
90
+ left: 0;
91
+ opacity: 0;
92
+ position: absolute;
93
+ top: 0;
94
+ width: 100%;
95
+ z-index: -1;
96
+ @include globaltransition("opacity");
97
+ }
98
+ }
99
+
100
+ #{$self}--wrap {
101
+ display: flex;
102
+
103
+ .right-to-left & {
104
+ flex-direction: row-reverse;
105
+ }
106
+ }
107
+
108
+ #{$self}--title {
109
+ @include font-styles("headline-6");
110
+ }
111
+
112
+ #{$self}--image--wrapper {
113
+ flex: 0 0 px-to-rem(77px);
114
+ }
115
+
116
+ #{$self}--picture {
117
+ object-fit: contain;
118
+ width: px-to-rem(77px);
119
+ }
120
+
121
+ #{$self}--content {
122
+ padding: 0 px-to-rem(24px);
123
+ }
124
+
125
+ #{$self}--date-extra {
126
+ @include font-styles("body-small");
127
+ margin-bottom: 0;
128
+ padding-left: px-to-rem(24px);
129
+ position: relative;
130
+
131
+ &::before {
132
+ background-repeat: no-repeat;
133
+ content: "";
134
+ display: inline-block;
135
+ height: px-to-rem(14px);
136
+ left: 0;
137
+ position: absolute;
138
+ top: 50%;
139
+ transform: rotate(-90deg) translateX(50%);
140
+ width: px-to-rem(12px);
141
+ @include dataurlicon("equilateraltriangle", $brand-ilo-grey-charcoal);
142
+ }
143
+ }
144
+
145
+ #{$self}--date {
146
+ @include font-styles("body-small");
147
+ }
148
+ }
149
+ }
150
+ }
@@ -0,0 +1,110 @@
1
+ @use "../tokens" as *;
2
+ @use "../functions" as *;
3
+ @use "../animations" as *;
4
+ @import "../mixins";
5
+
6
+ .ilo--card {
7
+ $self: &;
8
+
9
+ &__type {
10
+ &__factlist {
11
+ --max-width: #{px-to-rem(375px)};
12
+
13
+ border-bottom: px-to-rem(3px) solid $brand-ilo-grey-ui;
14
+ padding: px-to-rem(24px) px-to-rem(48px);
15
+
16
+ @include cornercut(72px, 40px);
17
+
18
+ @include breakpoint("large") {
19
+ padding: px-to-rem(40px) px-to-rem(56px);
20
+ }
21
+
22
+ &#{$self}__size {
23
+ &__wide {
24
+ --max-width: #{px-to-rem(856px)};
25
+
26
+ padding: px-to-rem(40px) px-to-rem(52px);
27
+
28
+ @include breakpoint("medium") {
29
+ padding: px-to-rem(40px) px-to-rem(60px);
30
+ @include cornercut(87px, 48px);
31
+ }
32
+ }
33
+
34
+ // &__standard {
35
+ // padding: px-to-rem(40px) px-to-rem(52px);
36
+
37
+ // @include breakpoint("medium") {
38
+ // padding: px-to-rem(40px) px-to-rem(60px);
39
+ // }
40
+ // }
41
+
42
+ &__narrow {
43
+ --max-width: #{px-to-rem(375px)};
44
+
45
+ padding: px-to-rem(24px) px-to-rem(48px);
46
+ @include cornercut(72px, 40px);
47
+
48
+ @include breakpoint("medium") {
49
+ padding: px-to-rem(24px) px-to-rem(48px);
50
+ }
51
+ }
52
+ }
53
+
54
+ &#{$self}__theme {
55
+ &__dark {
56
+ border-bottom: px-to-rem(3px) solid $color-base-red-medium;
57
+
58
+ #{$self}--title {
59
+ color: $brand-ilo-white;
60
+ }
61
+
62
+ .ilo--list__item {
63
+ color: $brand-ilo-white;
64
+
65
+ &:last-of-type {
66
+ margin-bottom: 0;
67
+ }
68
+ }
69
+
70
+ &:hover,
71
+ &:focus,
72
+ &:focus-within {
73
+ #{$self}--title {
74
+ color: $brand-ilo-white;
75
+ }
76
+
77
+ .ilo--list__item {
78
+ color: $brand-ilo-white;
79
+ }
80
+ }
81
+ }
82
+ }
83
+
84
+ #{$self}--title {
85
+ color: $brand-ilo-grey-charcoal;
86
+ @include font-styles("headline-5");
87
+ @include textmargin(
88
+ "margin-bottom",
89
+ 32px,
90
+ "headline-5",
91
+ "display",
92
+ "body-small",
93
+ "copy"
94
+ );
95
+
96
+ @include breakpoint("large") {
97
+ @include font-styles("headline-4");
98
+ @include textmargin(
99
+ "margin-bottom",
100
+ 40px,
101
+ "headline-4",
102
+ "display",
103
+ "base",
104
+ "copy"
105
+ );
106
+ }
107
+ }
108
+ }
109
+ }
110
+ }
@@ -0,0 +1,218 @@
1
+ @use "../tokens" as *;
2
+ @use "../functions" as *;
3
+ @use "../animations" as *;
4
+ @import "../mixins";
5
+
6
+ .ilo--card {
7
+ $self: &;
8
+
9
+ &__type {
10
+ &__feature {
11
+ --max-width: #{px-to-rem(412px)};
12
+
13
+ border-bottom: px-to-rem(3px) solid $brand-ilo-grey-ui;
14
+ display: flex;
15
+ margin-top: 0;
16
+ position: relative;
17
+
18
+ &#{$self}__theme__dark {
19
+ border-bottom: px-to-rem(3px) solid $color-base-red-medium;
20
+
21
+ .ilo--link-list {
22
+ border-top: 2px solid rgba($brand-ilo-grey-light, 0.25);
23
+
24
+ &--link {
25
+ color: $brand-ilo-white;
26
+ @include dataurlicon("arrowright", $brand-ilo-white);
27
+ }
28
+ }
29
+
30
+ &:hover,
31
+ &:focus,
32
+ &:focus-within {
33
+ .ilo--link-list {
34
+ &--link {
35
+ color: $brand-ilo-blue;
36
+ @include dataurlicon("arrowright", $brand-ilo-blue);
37
+ }
38
+ }
39
+ }
40
+ }
41
+
42
+ picture::before {
43
+ @include globaltransition("opacity");
44
+ }
45
+
46
+ &:hover,
47
+ &:focus,
48
+ &:focus-within {
49
+ background-color: $brand-ilo-white;
50
+ border-bottom: px-to-rem(3px) solid $brand-ilo-blue;
51
+ @include card-drop-shadow;
52
+
53
+ picture::before {
54
+ opacity: 0.4;
55
+ z-index: 1;
56
+ @include globaltransition("opacity");
57
+ }
58
+
59
+ #{$self}--picture {
60
+ filter: saturate(0);
61
+ }
62
+ }
63
+
64
+ .ilo--link-list {
65
+ border-top: px-to-rem(2px) solid $brand-ilo-grey-light;
66
+ margin-left: px-to-rem(-24px);
67
+ margin-right: px-to-rem(-24px);
68
+ margin-top: px-to-rem(34px);
69
+ position: relative;
70
+ z-index: 2;
71
+
72
+ &--link,
73
+ &--link:hover {
74
+ border-bottom: none;
75
+ padding-left: px-to-rem(24px);
76
+ padding-right: px-to-rem(24px);
77
+ }
78
+ }
79
+
80
+ &#{$self}__size {
81
+ &__narrow {
82
+ #{$self}--wrap {
83
+ display: flex;
84
+ flex-wrap: wrap;
85
+ width: 100%;
86
+ }
87
+
88
+ #{$self}--content {
89
+ width: 100%;
90
+ }
91
+
92
+ #{$self}--image--wrapper {
93
+ width: 100%;
94
+ }
95
+ }
96
+
97
+ &__wide,
98
+ &__fluid {
99
+ --max-width: #{px-to-rem(754px)};
100
+
101
+ @include breakpoint("medium") {
102
+ #{$self}--wrap {
103
+ flex-direction: row;
104
+
105
+ .right-to-left & {
106
+ flex-direction: row-reverse;
107
+ }
108
+ }
109
+
110
+ #{$self}--content {
111
+ display: flex;
112
+ flex-direction: row;
113
+ flex-wrap: wrap;
114
+ position: relative;
115
+ width: 50%;
116
+ }
117
+
118
+ #{$self}--image--wrapper {
119
+ width: 50%;
120
+ }
121
+
122
+ #{$self}--image {
123
+ object-fit: cover;
124
+ }
125
+
126
+ #{$self}--date {
127
+ align-self: flex-end;
128
+ width: 100%;
129
+ }
130
+
131
+ #{$self}--eyebrow {
132
+ width: 100%;
133
+ }
134
+
135
+ #{$self}--title {
136
+ width: 100%;
137
+ }
138
+
139
+ .ilo--link-list {
140
+ width: calc(100% + 48px);
141
+ align-self: flex-end;
142
+ }
143
+ }
144
+ }
145
+ }
146
+
147
+ #{$self}--wrap {
148
+ display: flex;
149
+ flex-direction: column;
150
+ width: 100%;
151
+ }
152
+
153
+ picture {
154
+ display: flex;
155
+ height: 100%;
156
+ position: relative;
157
+
158
+ &::before {
159
+ background-color: $brand-ilo-blue;
160
+ content: "";
161
+ display: block;
162
+ height: 100%;
163
+ left: 0;
164
+ opacity: 0;
165
+ position: absolute;
166
+ top: 0;
167
+ transition: opacity 150ms ease-in-out;
168
+ width: 100%;
169
+ z-index: -1;
170
+ }
171
+ }
172
+
173
+ #{$self}--content {
174
+ display: flex;
175
+ flex: 1 1 auto;
176
+ flex-direction: column;
177
+ padding: px-to-rem(24px) px-to-rem(24px) px-to-rem(40px);
178
+ }
179
+
180
+ &#{$self}__linklist {
181
+ #{$self}--content {
182
+ padding-bottom: 0;
183
+ }
184
+ }
185
+
186
+ #{$self}--title {
187
+ @include font-styles("headline-5");
188
+ @include textmargin(
189
+ "margin-bottom",
190
+ 40px,
191
+ "headline-5",
192
+ "display",
193
+ "body-eyebrow",
194
+ "copy"
195
+ );
196
+ font-family: $fonts-display;
197
+ font-weight: 700;
198
+ }
199
+
200
+ #{$self}--eyebrow {
201
+ @include font-styles("body-eyebrow");
202
+ @include textmargin(
203
+ "margin-bottom",
204
+ 10px,
205
+ "body-eyebrow",
206
+ "copy",
207
+ "headline-5",
208
+ "display"
209
+ );
210
+ }
211
+
212
+ #{$self}--date {
213
+ margin-bottom: 0;
214
+ margin-top: auto;
215
+ }
216
+ }
217
+ }
218
+ }
@@ -5,8 +5,8 @@
5
5
  .ilo--hero-card {
6
6
  $c: &;
7
7
  $semi-transparent: 0.6;
8
- $padding-lg: 64px;
9
- $padding-sm: 39px;
8
+ $padding-lg: $spacing-padding-8;
9
+ $padding-sm: $spacing-padding-5;
10
10
 
11
11
  height: 100%;
12
12
  position: relative;
@@ -74,23 +74,7 @@
74
74
  }
75
75
 
76
76
  &__cornercut {
77
- clip-path: polygon(
78
- 0 0,
79
- calc(100% - $padding-lg) 0,
80
- 100% $padding-sm,
81
- 100% 100%,
82
- 0 100%
83
- );
84
-
85
- @include breakpoint("large") {
86
- clip-path: polygon(
87
- 0 0,
88
- calc(100% - $padding-lg) 0,
89
- 100% $padding-lg,
90
- 100% 100%,
91
- 0 100%
92
- );
93
- }
77
+ @include cornercut(116px, 64px);
94
78
  }
95
79
 
96
80
  &--datecopy {