@ilo-org/styles 0.0.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 (55) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +74 -0
  3. package/build/css/components/index.css +5924 -0
  4. package/build/css/components/index.css.map +1 -0
  5. package/build/css/index.css +6183 -0
  6. package/build/css/index.css.map +1 -0
  7. package/package.json +35 -0
  8. package/scss/_animations.scss +29 -0
  9. package/scss/_config.scss +6 -0
  10. package/scss/_functions.scss +126 -0
  11. package/scss/_mixins.scss +331 -0
  12. package/scss/_reset.scss +166 -0
  13. package/scss/_tokens.scss +5 -0
  14. package/scss/_typography.scss +72 -0
  15. package/scss/components/_accordion.scss +102 -0
  16. package/scss/components/_breadcrumb.scss +258 -0
  17. package/scss/components/_button.scss +272 -0
  18. package/scss/components/_callout.scss +151 -0
  19. package/scss/components/_card.scss +667 -0
  20. package/scss/components/_cardgroup.scss +45 -0
  21. package/scss/components/_checkbox.scss +124 -0
  22. package/scss/components/_contextmenu.scss +75 -0
  23. package/scss/components/_credit.scss +82 -0
  24. package/scss/components/_datepicker.scss +19 -0
  25. package/scss/components/_dropdown.scss +115 -0
  26. package/scss/components/_empty.scss +33 -0
  27. package/scss/components/_fieldset.scss +74 -0
  28. package/scss/components/_file-upload.scss +130 -0
  29. package/scss/components/_footer.scss +329 -0
  30. package/scss/components/_formgroup.scss +20 -0
  31. package/scss/components/_heading.scss +74 -0
  32. package/scss/components/_hero.scss +445 -0
  33. package/scss/components/_image.scss +42 -0
  34. package/scss/components/_input.scss +71 -0
  35. package/scss/components/_link.scss +6 -0
  36. package/scss/components/_linklist.scss +148 -0
  37. package/scss/components/_list.scss +79 -0
  38. package/scss/components/_loading.scss +93 -0
  39. package/scss/components/_modal.scss +84 -0
  40. package/scss/components/_notification.scss +162 -0
  41. package/scss/components/_pagination.scss +238 -0
  42. package/scss/components/_profile.scss +138 -0
  43. package/scss/components/_radio.scss +121 -0
  44. package/scss/components/_readmore.scss +53 -0
  45. package/scss/components/_richtext.scss +390 -0
  46. package/scss/components/_searchfield.scss +66 -0
  47. package/scss/components/_table.scss +177 -0
  48. package/scss/components/_tableofcontents.scss +98 -0
  49. package/scss/components/_tabs.scss +194 -0
  50. package/scss/components/_tag.scss +103 -0
  51. package/scss/components/_textarea.scss +89 -0
  52. package/scss/components/_tooltip.scss +198 -0
  53. package/scss/components/_video.scss +674 -0
  54. package/scss/components/index.scss +39 -0
  55. package/scss/index.scss +11 -0
@@ -0,0 +1,329 @@
1
+ @use "../tokens" as *;
2
+ @use "../functions" as *;
3
+ @import "../mixins";
4
+
5
+ .ilo--footer {
6
+ &--main {
7
+ background-color: $color-base-blue-dark;
8
+ border-bottom: px-to-rem(6px) solid $color-base-red-medium;
9
+ padding: 0 px-to-rem(32px);
10
+ position: relative;
11
+
12
+ & > * {
13
+ position: relative;
14
+ z-index: 1;
15
+ }
16
+
17
+ &:after {
18
+ background-color: $color-base-blue-medium;
19
+ clip-path: polygon(63.75% 0%, 100% 63.75%, 100% 0);
20
+ content: "";
21
+ height: 100%;
22
+ left: 0;
23
+ position: absolute;
24
+ top: 0;
25
+ width: 100%;
26
+ z-index: 0;
27
+ }
28
+ }
29
+
30
+ &--secondary {
31
+ background-color: $color-base-neutrals-white;
32
+ padding: px-to-rem(36px) px-to-rem(16px) 0 px-to-rem(16px);
33
+ }
34
+
35
+ &--headline {
36
+ color: $color-base-neutrals-white;
37
+ font-family: $fonts-display;
38
+ font-weight: map-get($type, "weights", "label");
39
+ @include font-styles("body-small");
40
+ @include textmargin(
41
+ "margin-bottom",
42
+ 10px,
43
+ "body-small",
44
+ "display",
45
+ "body-xxs",
46
+ "display"
47
+ );
48
+ @include textmargin("margin-top", 22px, "body-small", "display", 0, 0);
49
+ }
50
+
51
+ &--subhead {
52
+ color: #bedcfa;
53
+ font-family: $fonts-display;
54
+ font-weight: map-get($type, "weights", "section");
55
+ @include font-styles("body-xxs");
56
+ @include textmargin("margin-bottom", 28px, "body-xxs", "display", 0, 0);
57
+ }
58
+
59
+ .address {
60
+ margin-bottom: px-to-rem(42px);
61
+ }
62
+
63
+ .address--line {
64
+ color: $color-base-neutrals-white;
65
+ @include font-styles("body-xxs");
66
+ @include textmargin(
67
+ "margin-bottom",
68
+ 8px,
69
+ "body-xxs",
70
+ "display",
71
+ "body-xxs",
72
+ "display"
73
+ );
74
+ }
75
+
76
+ .connect {
77
+ margin: px-to-rem(55px) 0;
78
+ }
79
+
80
+ .social--headline {
81
+ color: $color-base-neutrals-white;
82
+ font-family: $fonts-display;
83
+ font-weight: map-get($type, "weights", "label");
84
+ @include font-styles("body-small");
85
+ @include textmargin("margin-bottom", 28px, "body-small", "display", 0, 0);
86
+ }
87
+
88
+ .social--links {
89
+ display: flex;
90
+ margin-bottom: px-to-rem(45px);
91
+ }
92
+
93
+ .social--links--item {
94
+ height: px-to-rem(16px);
95
+ margin-right: px-to-rem(20px);
96
+ position: relative;
97
+ width: px-to-rem(16px);
98
+
99
+ &:last-of-type {
100
+ margin-right: none;
101
+ }
102
+ }
103
+
104
+ .social--links--link {
105
+ background-repeat: no-repeat;
106
+ background-size: contain;
107
+ border: 0;
108
+ display: inline-block;
109
+ height: px-to-rem(16px);
110
+ margin: -1px;
111
+ padding: 0;
112
+ position: absolute;
113
+ overflow: hidden;
114
+ text-indent: -999rem;
115
+ width: px-to-rem(16px);
116
+
117
+ &.facebook {
118
+ @include dataurlicon("facebook", $color-base-neutrals-white);
119
+ }
120
+
121
+ &.instagram {
122
+ @include dataurlicon("instagram", $color-base-neutrals-white);
123
+ }
124
+
125
+ &.twitter {
126
+ @include dataurlicon("twitter", $color-base-neutrals-white);
127
+ }
128
+
129
+ &.youtube {
130
+ @include dataurlicon("youtube", $color-base-neutrals-white);
131
+ }
132
+ }
133
+
134
+ .legal,
135
+ .secondarylinks {
136
+ color: $color-base-neutrals-medium;
137
+ display: inline;
138
+ font-family: $fonts-copy;
139
+ @include font-styles("body-xxs");
140
+ }
141
+
142
+ .secondarylinks--list,
143
+ .secondarylinks--list--item {
144
+ display: inline;
145
+ list-style: none;
146
+ }
147
+
148
+ .secondarylinks--list--item:not(first-child) {
149
+ &:before {
150
+ content: " | ";
151
+ }
152
+ }
153
+
154
+ .secondarylinks--list--item a {
155
+ color: $color-base-neutrals-medium;
156
+
157
+ &:visited {
158
+ color: map-get($color, "link", "text-footer", "visited");
159
+ }
160
+
161
+ &:hover {
162
+ color: map-get($color, "link", "text-footer", "hover");
163
+ }
164
+
165
+ &:active {
166
+ color: map-get($color, "link", "text-footer", "active");
167
+ outline: none;
168
+ }
169
+
170
+ &:focus {
171
+ color: map-get($color, "link", "text-footer", "focus");
172
+ outline: none;
173
+ }
174
+ }
175
+
176
+ .anchorlink {
177
+ background: map-get($color, "ux", "readmore", "default", "background");
178
+ border-bottom: 0.1071811361rem solid $brand-ilo-grey-light;
179
+ color: $color-ux-labels-actionable;
180
+ display: block;
181
+ font-family: $fonts-display;
182
+ height: px-to-rem(map-get($spacing, "ux", "readmore", "default", "height"));
183
+ margin: px-to-rem(12px) auto 0 auto;
184
+ padding: px-to-rem($spacing-padding-2) px-to-rem($spacing-padding-4)
185
+ px-to-rem($spacing-padding-2) 0;
186
+ position: relative;
187
+ text-align: left;
188
+ text-decoration: none;
189
+ @include font-styles("label-medium");
190
+ width: max-content;
191
+
192
+ &:after {
193
+ background-repeat: no-repeat;
194
+ content: "";
195
+ display: inline-block;
196
+ height: px-to-rem(24px);
197
+ position: absolute;
198
+ right: px-to-rem(2px);
199
+ top: 50%;
200
+ transform: translateY(-50%) rotateX(180deg);
201
+ transform-origin: center center;
202
+ width: px-to-rem(24px);
203
+ @include dataurlicon("arrow", $color-ux-labels-actionable);
204
+ }
205
+
206
+ &:hover {
207
+ background: map-get($color, "ux", "readmore", "hover", "background");
208
+ border-bottom: 0.1071811361rem solid $color-base-blue-medium;
209
+ color: $color-ux-labels-hover;
210
+ cursor: pointer;
211
+ transition: background 150ms linear, border 150ms linear,
212
+ color 150ms linear;
213
+
214
+ &:after {
215
+ @include dataurlicon("arrow", $color-ux-labels-hover);
216
+ }
217
+ }
218
+ }
219
+
220
+ @include breakpoint("medium") {
221
+ &--main {
222
+ display: grid;
223
+ grid-template-columns: minmax(0, 50%) minmax(0, 50%);
224
+ gap: 0px 64px;
225
+ grid-template-areas:
226
+ "site-info address"
227
+ "site-info links"
228
+ "site-info connect";
229
+ align-content: start;
230
+ align-items: start;
231
+ padding: px-to-rem(40px) px-to-rem(32px) px-to-rem(40px) px-to-rem(32px);
232
+ }
233
+
234
+ .site--info {
235
+ grid-area: site-info;
236
+ }
237
+
238
+ .address {
239
+ grid-area: address;
240
+ }
241
+
242
+ .connect {
243
+ grid-area: connect;
244
+ margin-bottom: 0;
245
+ }
246
+
247
+ .links {
248
+ grid-area: links;
249
+ }
250
+
251
+ &--logo {
252
+ width: 100%;
253
+ }
254
+
255
+ &--secondary {
256
+ padding: px-to-rem(18px) px-to-rem(16px);
257
+ position: relative;
258
+ }
259
+
260
+ .legal,
261
+ .secondarylinks {
262
+ display: block;
263
+ float: left;
264
+ }
265
+
266
+ .secondarylinks {
267
+ margin-right: px-to-rem(126px);
268
+ }
269
+
270
+ .anchorlink {
271
+ display: inline-block;
272
+ margin: 0;
273
+ position: absolute;
274
+ right: 16px;
275
+ top: 0;
276
+ }
277
+ }
278
+
279
+ @include breakpoint("large") {
280
+ &--main {
281
+ display: grid;
282
+ grid-template-columns: 19.2% 25.1% calc(32.5% + 64px);
283
+ grid-template-rows: 0.6fr 1.4fr;
284
+ gap: 0px 64px;
285
+ grid-template-areas:
286
+ "site-info address connect"
287
+ "site-info links connect";
288
+ padding: px-to-rem(56px) px-to-rem(70px) px-to-rem(64px) px-to-rem(70px);
289
+ }
290
+
291
+ &--logo {
292
+ width: 100%;
293
+ }
294
+
295
+ .connect {
296
+ display: grid;
297
+ grid-template-columns: minmax(0, 40%), 60%;
298
+ grid-template-rows: repeat(3, minmax(0, 1fr));
299
+ grid-area: connect;
300
+ margin: 0 0 0 calc(18.9% + 64px);
301
+ }
302
+
303
+ .social--headline {
304
+ text-align: left;
305
+ }
306
+
307
+ .ilo--button {
308
+ align-self: start;
309
+ justify-self: start;
310
+ }
311
+
312
+ &--secondary {
313
+ padding: px-to-rem(18px) px-to-rem(70px);
314
+ position: relative;
315
+ }
316
+
317
+ .secondarylinks {
318
+ margin-right: px-to-rem(140px);
319
+ }
320
+
321
+ .anchorlink {
322
+ display: inline-block;
323
+ margin: 0;
324
+ position: absolute;
325
+ right: 70px;
326
+ top: 0;
327
+ }
328
+ }
329
+ }
@@ -0,0 +1,20 @@
1
+ @use "../tokens" as *;
2
+ @use "../functions" as *;
3
+ @import "../mixins";
4
+
5
+ .ilo--formgroup {
6
+ &--legend {
7
+ display: block;
8
+ font-family: $fonts-display;
9
+ font-weight: map-get($type, "weights", "label");
10
+ @include font-styles("legend");
11
+ @include textmargin(
12
+ "margin-bottom",
13
+ map-get($spacing, "padding-5"),
14
+ "legend",
15
+ "display",
16
+ "label-small",
17
+ "display"
18
+ );
19
+ }
20
+ }
@@ -0,0 +1,74 @@
1
+ @use "../tokens" as *;
2
+ @use "../functions" as *;
3
+ @import "../mixins";
4
+
5
+ .ilo--h1,
6
+ .ilo--h2,
7
+ .ilo--h3,
8
+ .ilo--h4,
9
+ .ilo--h5,
10
+ .ilo--h6 {
11
+ color: inherit;
12
+ font-family: $fonts-display;
13
+ font-weight: 700;
14
+
15
+ &--default {
16
+ color: $color-font-base;
17
+ }
18
+
19
+ &--actionable {
20
+ color: $color-base-purple-medium;
21
+ }
22
+
23
+ &--light {
24
+ color: $color-base-neutrals-white;
25
+ }
26
+ }
27
+
28
+ .ilo--h1 {
29
+ @include font-styles("headline-2");
30
+
31
+ @include breakpoint("medium") {
32
+ @include font-styles("headline-1");
33
+ }
34
+ }
35
+
36
+ .ilo--h2 {
37
+ @include font-styles("headline-3");
38
+
39
+ @include breakpoint("medium") {
40
+ @include font-styles("headline-2");
41
+ }
42
+ }
43
+
44
+ .ilo--h3 {
45
+ @include font-styles("headline-4");
46
+
47
+ @include breakpoint("medium") {
48
+ @include font-styles("headline-3");
49
+ }
50
+ }
51
+
52
+ .ilo--h4 {
53
+ @include font-styles("headline-5");
54
+
55
+ @include breakpoint("medium") {
56
+ @include font-styles("headline-4");
57
+ }
58
+ }
59
+
60
+ .ilo--h5 {
61
+ @include font-styles("headline-6");
62
+
63
+ @include breakpoint("medium") {
64
+ @include font-styles("headline-5");
65
+ }
66
+ }
67
+
68
+ .ilo--h6 {
69
+ @include font-styles("headline-6");
70
+
71
+ @include breakpoint("medium") {
72
+ @include font-styles("headline-6");
73
+ }
74
+ }