@ilo-org/styles 1.2.3 → 1.3.0

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 (70) hide show
  1. package/css/components/accordion.css +1 -1
  2. package/css/components/blockquote.css +0 -0
  3. package/css/components/breadcrumb.css +1 -1
  4. package/css/components/callout.css +1 -1
  5. package/css/components/card.css +1 -1
  6. package/css/components/checkbox.css +1 -1
  7. package/css/components/contextmenu.css +1 -1
  8. package/css/components/credit.css +1 -1
  9. package/css/components/datepicker.css +1 -1
  10. package/css/components/detailcard.css +1 -1
  11. package/css/components/dropdown.css +1 -1
  12. package/css/components/featurecard.css +1 -1
  13. package/css/components/fieldset.css +1 -1
  14. package/css/components/footer.css +1 -1
  15. package/css/components/formcontrol.css +1 -1
  16. package/css/components/image.css +1 -1
  17. package/css/components/linklist.css +1 -1
  18. package/css/components/list.css +1 -1
  19. package/css/components/navigation.css +1 -1
  20. package/css/components/notification.css +1 -1
  21. package/css/components/pagination.css +1 -1
  22. package/css/components/profile.css +1 -1
  23. package/css/components/readmore.css +1 -1
  24. package/css/components/richtext.css +1 -1
  25. package/css/components/searchfield.css +1 -1
  26. package/css/components/socialmedia.css +1 -1
  27. package/css/components/table.css +1 -1
  28. package/css/components/tableofcontents.css +1 -1
  29. package/css/components/tabs.css +1 -1
  30. package/css/components/tag.css +1 -1
  31. package/css/components/tooltip.css +1 -1
  32. package/css/components/video.css +1 -1
  33. package/css/global.css +1 -1
  34. package/css/global.css.map +1 -1
  35. package/css/index.css +2 -2
  36. package/css/index.css.map +1 -1
  37. package/css/monorepo.css +2 -2
  38. package/css/monorepo.css.map +1 -1
  39. package/package.json +2 -2
  40. package/scss/_mixins.scss +7 -10
  41. package/scss/_typography.scss +0 -29
  42. package/scss/_typographymonorepo.scss +0 -29
  43. package/scss/components/_accordion.scss +3 -3
  44. package/scss/components/_blockquote.scss +112 -0
  45. package/scss/components/_breadcrumb.scss +35 -17
  46. package/scss/components/_callout.scss +7 -7
  47. package/scss/components/_checkbox.scss +2 -1
  48. package/scss/components/_contextmenu.scss +18 -24
  49. package/scss/components/_credit.scss +2 -5
  50. package/scss/components/_datepicker.scss +1 -0
  51. package/scss/components/_detailcard.scss +16 -8
  52. package/scss/components/_dropdown.scss +5 -5
  53. package/scss/components/_featurecard.scss +4 -4
  54. package/scss/components/_fieldset.scss +5 -1
  55. package/scss/components/_footer.scss +2 -68
  56. package/scss/components/_formcontrol.scss +3 -3
  57. package/scss/components/_image.scss +4 -4
  58. package/scss/components/_linklist.scss +10 -13
  59. package/scss/components/_navigation.scss +24 -24
  60. package/scss/components/_notification.scss +12 -6
  61. package/scss/components/_pagination.scss +12 -12
  62. package/scss/components/_profile.scss +11 -8
  63. package/scss/components/_readmore.scss +2 -2
  64. package/scss/components/_richtext.scss +126 -311
  65. package/scss/components/_socialmedia.scss +30 -25
  66. package/scss/components/_table.scss +2 -2
  67. package/scss/components/_tableofcontents.scss +3 -3
  68. package/scss/components/_tooltip.scss +10 -4
  69. package/scss/components/_video.scss +11 -11
  70. package/scss/theme/_foundation.scss +40 -7
@@ -1,68 +1,72 @@
1
1
  @use "../tokens" as *;
2
2
  @use "../functions" as *;
3
+ @import "./blockquote";
3
4
  @import "../mixins";
4
5
 
5
6
  .ilo--richtext {
6
- font-family: var(--ilo-fonts-copy);
7
- font-weight: 400;
8
- @include font-styles("base");
9
-
10
- a {
11
- @include linkstyles();
12
- background: none;
7
+ & > * {
8
+ margin-top: spacing(4);
9
+ margin-bottom: spacing(4);
13
10
 
14
- &:hover {
15
- background: none;
11
+ &:first-child {
12
+ margin-top: 0;
16
13
  }
17
14
  }
18
15
 
19
- img {
20
- width: 100%;
16
+ h1,
17
+ h2,
18
+ h3,
19
+ h4,
20
+ h5 {
21
+ font-weight: var(--ilo-font-weight-bold);
22
+ margin-top: spacing(14);
21
23
  }
22
24
 
23
- p {
24
- margin-bottom: spacing(6);
25
+ blockquote,
26
+ video,
27
+ audio,
28
+ figure,
29
+ hr,
30
+ article,
31
+ pre {
32
+ margin-top: spacing(14);
33
+ margin-bottom: spacing(14);
25
34
  }
26
35
 
27
- p + figure,
28
- p + img,
29
- p + blockquote,
30
- ul + img,
31
- ol + img,
32
- dl + img,
33
- p + hr,
34
- ul + hr,
35
- ol + hr,
36
- dl + hr,
37
- blockquote + hr {
38
- @include textmargin(
39
- "margin-top",
40
- map-get($spacing, "padding-7"),
41
- "body-small",
42
- "copy",
43
- 0,
44
- 0
45
- );
36
+ h1 {
37
+ font-size: var(--ilo-font-size-4xlg);
38
+ line-height: var(--ilo-line-height-sm);
39
+ letter-spacing: var(--ilo-letter-spacing-xsm);
46
40
  }
47
41
 
48
- iframe {
49
- margin-block: spacing(8) spacing(14);
42
+ h2 {
43
+ font-size: var(--ilo-font-size-xlg);
44
+ line-height: var(--ilo-line-height-md);
45
+ letter-spacing: var(--ilo-letter-spacing-xsm);
50
46
  }
51
47
 
52
- figure {
53
- width: 100%;
54
- margin-bottom: spacing(14);
48
+ h3 {
49
+ font-size: var(--ilo-font-size-lg);
50
+ line-height: var(--ilo-line-height-lg);
51
+ letter-spacing: var(--ilo-letter-spacing-sm);
55
52
  }
56
53
 
57
- figcaption {
58
- border-left: 3px solid #b8c4cc;
59
- color: $color-font-caption;
60
- font-weight: 400;
61
- margin-top: spacing(4);
62
- padding-left: spacing(2);
63
- @include font-styles("image-caption");
54
+ h4,
55
+ h5,
56
+ h6 {
57
+ font-size: var(--ilo-font-size-md);
58
+ line-height: var(--ilo-line-height-xlg);
59
+ letter-spacing: var(--ilo-letter-spacing-sm);
60
+ }
61
+
62
+ p {
63
+ font-weight: var(--ilo-font-weight-regular);
64
+ font-size: var(--ilo-font-size-md);
65
+ line-height: var(--ilo-line-height-2xlg);
66
+ letter-spacing: var(--ilo-letter-spacing-md);
64
67
  }
65
68
 
69
+ // Italic and bold styles
66
70
  em,
67
71
  i {
68
72
  font-style: italic;
@@ -73,142 +77,76 @@
73
77
  font-weight: 700;
74
78
  }
75
79
 
76
- hr {
77
- background-color: $color-ux-horizontal-rule-default;
78
- border: none;
79
- height: px-to-rem(4px);
80
- margin-bottom: spacing(14);
81
- }
82
-
83
- h1,
84
- h2,
85
- h3,
86
- h4,
87
- h5 {
88
- font-family: var(--ilo-fonts-display);
89
- font-weight: 700;
90
- margin-top: spacing(14);
91
- }
80
+ // Link styles
81
+ a {
82
+ @include linkstyles();
83
+ background: none;
92
84
 
93
- h1 {
94
- @include textmargin(
95
- "margin-bottom",
96
- map-get($spacing, "padding-4"),
97
- "headline-2",
98
- "display",
99
- "body-small",
100
- "copy"
101
- );
102
- @include font-styles("rich-text-heading-1-md");
85
+ &:hover {
86
+ background: none;
87
+ }
103
88
  }
104
89
 
105
- h2 {
106
- @include textmargin(
107
- "margin-bottom",
108
- map-get($spacing, "padding-4"),
109
- "headline-3",
110
- "display",
111
- "body-small",
112
- "copy"
113
- );
114
- @include font-styles("rich-text-heading-2-md");
90
+ // Image styles
91
+ img {
92
+ width: 100%;
115
93
  }
116
94
 
117
- h3 {
118
- @include textmargin(
119
- "margin-bottom",
120
- map-get($spacing, "padding-3"),
121
- "headline-4",
122
- "display",
123
- "body-small",
124
- "copy"
125
- );
126
- @include font-styles("rich-text-heading-3-md");
95
+ // Figure styles
96
+ figure {
97
+ width: 100%;
127
98
  }
128
99
 
129
- h4 {
130
- @include textmargin(
131
- "margin-bottom",
132
- map-get($spacing, "padding-3"),
133
- "headline-5",
134
- "display",
135
- "body-small",
136
- "copy"
137
- );
138
- @include font-styles("rich-text-heading-4-md");
100
+ // Figcaption styles
101
+ figcaption {
102
+ border-left: var(--ilo-border-lg) solid var(--ilo-color-borders-default);
103
+ color: var(--ilo-color-gray-accessible);
104
+ font-weight: var(--ilo-font-weight-regular);
105
+ margin-top: spacing(4);
106
+ padding-left: spacing(2);
107
+ @include font-styles("image-caption");
139
108
  }
140
109
 
141
- h5 {
142
- @include textmargin(
143
- "margin-bottom",
144
- map-get($spacing, "padding-3"),
145
- "headline-6",
146
- "display",
147
- "body-small",
148
- "copy"
149
- );
150
- @include font-styles("rich-text-heading-5-md");
110
+ // Horizontal rule (hr) styles
111
+ hr {
112
+ background-color: var(--ilo-color-borders-default);
113
+ border: none;
114
+ height: px-to-rem(4px);
151
115
  }
152
116
 
153
- blockquote {
154
- background-color: $color-ux-background-highlight;
155
- background-position: right top;
156
- background-repeat: no-repeat;
157
- background-size: px-to-rem(72px) px-to-rem(40px);
158
- display: block;
159
- font-family: var(--ilo-fonts-display);
160
- margin: spacing(6) 0 spacing(10) 0;
161
- padding: spacing(19) 0 spacing(9) spacing(8); // check
117
+ .responsive-video-embed {
162
118
  position: relative;
163
- width: fit-content;
164
- @include cornercut(72px, 40px);
165
-
166
- p {
167
- color: $color-font-blockquote;
168
- font-weight: 300;
169
- margin-bottom: spacing(6);
170
- padding: 0 spacing(12) 0 0;
171
- position: relative;
172
- @include font-styles("pull-quote-sm");
173
-
174
- &:after {
175
- background-repeat: no-repeat;
176
- bottom: 0;
177
- content: "";
178
- display: inline-block;
179
- height: px-to-rem(20px);
180
- position: absolute;
181
- right: 0;
182
- transform: scaleX(-1);
183
- width: px-to-rem(26.5px);
184
- @include dataurlicon("quote", $color-font-blockquote);
185
- }
186
- }
187
-
188
- cite {
189
- color: $color-font-cite;
190
- font-weight: 400;
191
- @include font-styles("pull-quote-cite");
192
- }
119
+ width: 100%;
120
+ padding-bottom: 56.25%;
121
+ height: 0;
122
+ overflow: hidden;
123
+ }
193
124
 
194
- &:before {
195
- background-repeat: no-repeat;
196
- content: "";
197
- display: inline-block;
198
- height: px-to-rem(40px);
199
- left: 0;
200
- position: absolute;
201
- width: px-to-rem(53px);
202
- top: 0;
203
- @include dataurlicon("quote", $color-font-blockquote);
204
- }
125
+ .responsive-video-embed iframe {
126
+ position: absolute;
127
+ top: 0;
128
+ left: 0;
129
+ width: 100%;
130
+ height: 100%;
131
+ border: 0; /* Optional: to remove iframe border */
205
132
  }
206
133
 
207
- // Repeat list styles from the list component
134
+ // Blockquote styles
135
+ @include blockquote;
136
+
137
+ // List styles (invincible list)
208
138
  @include invincible-list;
209
139
 
140
+ // Responsive styles for medium breakpoint
210
141
  @include breakpoint("md") {
211
- @include font-styles("base");
142
+ & > * {
143
+ margin-top: spacing(6);
144
+ margin-bottom: spacing(6);
145
+
146
+ &:first-child {
147
+ margin-top: 0;
148
+ }
149
+ }
212
150
 
213
151
  h1,
214
152
  h2,
@@ -218,179 +156,56 @@
218
156
  margin-top: spacing(16);
219
157
  }
220
158
 
159
+ blockquote,
160
+ video,
161
+ audio,
162
+ figure,
163
+ article,
164
+ hr,
165
+ pre {
166
+ margin-top: spacing(16);
167
+ margin-bottom: spacing(16);
168
+ }
169
+
221
170
  h1 {
222
- @include textmargin(
223
- "margin-bottom",
224
- map-get($spacing, "padding-5"),
225
- "headline-1",
226
- "display",
227
- "body-large",
228
- "copy"
229
- );
230
- @include font-styles("rich-text-heading-1");
171
+ font-size: var(--ilo-font-size-5xlg);
172
+ line-height: var(--ilo-line-height-xsm);
173
+ letter-spacing: var(--ilo-letter-spacing-xsm);
231
174
  }
232
175
 
233
176
  h2 {
234
- @include textmargin(
235
- "margin-bottom",
236
- map-get($spacing, "padding-5"),
237
- "headline-2",
238
- "display",
239
- "body-large",
240
- "copy"
241
- );
242
- @include font-styles("rich-text-heading-2");
177
+ font-size: var(--ilo-font-size-3xlg);
243
178
  }
244
179
 
245
180
  h3 {
246
- @include textmargin(
247
- "margin-bottom",
248
- map-get($spacing, "padding-4"),
249
- "headline-3",
250
- "display",
251
- "body-large",
252
- "copy"
253
- );
254
- @include font-styles("rich-text-heading-3");
255
- }
256
-
257
- h4 {
258
- @include textmargin(
259
- "margin-bottom",
260
- map-get($spacing, "padding-4"),
261
- "headline-4",
262
- "display",
263
- "body-large",
264
- "copy"
265
- );
266
- @include font-styles("rich-text-heading-4");
181
+ font-size: var(--ilo-font-size-xlg);
182
+ line-height: var(--ilo-line-height-md);
183
+ letter-spacing: var(--ilo-letter-spacing-xsm);
267
184
  }
268
185
 
269
- h5 {
270
- @include textmargin(
271
- "margin-bottom",
272
- map-get($spacing, "padding-4"),
273
- "headline-5",
274
- "display",
275
- "body-large",
276
- "copy"
277
- );
278
- @include font-styles("rich-text-heading-5");
186
+ h4,
187
+ h5,
188
+ h6 {
189
+ font-size: var(--ilo-font-size-lg);
190
+ line-height: var(--ilo-line-height-lg);
279
191
  }
280
192
 
281
193
  p {
282
- @include textmargin(
283
- "margin-bottom",
284
- map-get($spacing, "padding-3"),
285
- "body-large",
286
- "copy",
287
- "body-large",
288
- "copy"
289
- );
290
- }
291
-
292
- p + figure,
293
- p + img,
294
- p + blockquote,
295
- ul + img,
296
- ol + img,
297
- dl + img,
298
- p + hr,
299
- ul + hr,
300
- ol + hr,
301
- dl + hr,
302
- blockquote + hr {
303
- @include textmargin(
304
- "margin-top",
305
- map-get($spacing, "padding-8"),
306
- "body-large",
307
- "copy",
308
- 0,
309
- 0
310
- );
311
- }
312
-
313
- hr {
314
- margin-bottom: spacing(19);
315
- }
316
-
317
- iframe {
318
- margin-block: calc(spacing(9) + px-to-rem(2)) spacing(14);
194
+ font-size: var(--ilo-font-size-lg);
319
195
  }
320
196
 
321
197
  figure {
322
198
  width: 100%;
323
- @include textmargin(
324
- "margin-bottom",
325
- map-get($spacing, "padding-8"),
326
- "body-large",
327
- "copy",
328
- 0,
329
- 0
330
- );
331
- }
332
-
333
- blockquote {
334
- background-size: px-to-rem(86px) px-to-rem(48px);
335
- margin: spacing(8) 0 spacing(19) 0;
336
- padding: spacing(16) 0 spacing(12) spacing(12);
337
- @include cornercut(86px, 48px);
338
-
339
- p {
340
- margin-bottom: spacing(6);
341
- padding: 0 spacing(12) 0 0;
342
- position: relative;
343
- @include font-styles("pull-quote-lg");
344
-
345
- &:after {
346
- height: px-to-rem(24px);
347
- width: px-to-rem(32px);
348
- }
349
- }
350
-
351
- &:before {
352
- height: px-to-rem(48px);
353
- width: px-to-rem(64px);
354
- }
355
199
  }
356
200
  }
357
201
 
202
+ // RTL (Right-to-left) support
358
203
  [dir="rtl"] & {
359
204
  figcaption {
360
205
  border-left: none;
361
- border-right: 3px solid #b8c4cc;
206
+ border-right: var(--ilo-border-lg) solid var(--ilo-color-borders-default);
362
207
  padding-left: 0;
363
208
  padding-right: spacing(2);
364
209
  }
365
-
366
- blockquote {
367
- background-position: -1px -1px;
368
- padding: spacing(14) spacing(8) spacing(9) 0;
369
- @include cornercut(72px, 40px, "left");
370
-
371
- p {
372
- padding: 0 0 0 spacing(12);
373
-
374
- &:after {
375
- left: 0;
376
- right: auto;
377
- transform: scaleX(1);
378
- }
379
- }
380
-
381
- &:before {
382
- left: auto;
383
- right: 0;
384
- transform: scaleX(-1);
385
- }
386
-
387
- @include breakpoint("md") {
388
- padding: spacing(15) spacing(12) spacing(12) 0;
389
-
390
- blockquote {
391
- @include cornercut(86px, 48px, "left");
392
- }
393
- }
394
- }
395
210
  }
396
211
  }
@@ -6,7 +6,6 @@
6
6
  .ilo--social-media {
7
7
  $c: &;
8
8
  $default-theme: "light";
9
- $icon-size: $spacing-spacing-4;
10
9
 
11
10
  @mixin get-icon($icon, $theme: $default-theme) {
12
11
  @include dataurlicon(
@@ -49,7 +48,19 @@
49
48
  &--list {
50
49
  display: inline-flex;
51
50
  flex-flow: row wrap;
52
- gap: spacing(4);
51
+ gap: spacing(5);
52
+ $list: &;
53
+
54
+ &__size {
55
+ &__large {
56
+ gap: spacing(6);
57
+
58
+ & #{$list}--item--icon {
59
+ height: px-to-rem(36px);
60
+ width: px-to-rem(36px);
61
+ }
62
+ }
63
+ }
53
64
 
54
65
  &--item {
55
66
  display: inline-block;
@@ -59,20 +70,14 @@
59
70
  &--icon {
60
71
  background-position: center;
61
72
  background-repeat: no-repeat;
62
- background-size: auto #{$icon-size};
73
+
63
74
  text-indent: -999px;
64
75
  border-radius: 2px;
65
76
  display: inline-block;
66
- height: px-to-rem($icon-size + 8px);
67
- width: px-to-rem($icon-size + 8px);
77
+ height: px-to-rem(24px);
78
+ width: px-to-rem(24px);
68
79
  transition: all 0.1s ease-in-out;
69
80
 
70
- &__large {
71
- background-size: auto px-to-rem(24px);
72
- height: px-to-rem(36px);
73
- width: px-to-rem(36px);
74
- }
75
-
76
81
  &:hover {
77
82
  background-color: map-get(
78
83
  $color,
@@ -94,58 +99,58 @@
94
99
  }
95
100
 
96
101
  &__facebook {
97
- @include get-icon("facebook");
102
+ @include get-icon("social_facebook");
98
103
 
99
104
  #{$c}__theme__dark & {
100
- @include get-icon("facebook", "dark");
105
+ @include get-icon("social_facebook", "dark");
101
106
  }
102
107
  }
103
108
 
104
109
  &__x {
105
- @include get-icon("x");
110
+ @include get-icon("social_x");
106
111
 
107
112
  #{$c}__theme__dark & {
108
- @include get-icon("x", "dark");
113
+ @include get-icon("social_x", "dark");
109
114
  }
110
115
  }
111
116
 
112
117
  &__instagram {
113
- @include get-icon("instagram");
118
+ @include get-icon("social_instagram");
114
119
 
115
120
  #{$c}__theme__dark & {
116
- @include get-icon("instagram", "dark");
121
+ @include get-icon("social_instagram", "dark");
117
122
  }
118
123
  }
119
124
 
120
125
  &__youtube {
121
- @include get-icon("youtube");
126
+ @include get-icon("social_youtube");
122
127
 
123
128
  #{$c}__theme__dark & {
124
- @include get-icon("youtube", "dark");
129
+ @include get-icon("social_youtube", "dark");
125
130
  }
126
131
  }
127
132
 
128
133
  &__linkedin {
129
- @include get-icon("linkedin");
134
+ @include get-icon("social_linkedin");
130
135
 
131
136
  #{$c}__theme__dark & {
132
- @include get-icon("linkedin", "dark");
137
+ @include get-icon("social_linkedin", "dark");
133
138
  }
134
139
  }
135
140
 
136
141
  &__flickr {
137
- @include get-icon("flickr");
142
+ @include get-icon("social_flickr");
138
143
 
139
144
  #{$c}__theme__dark & {
140
- @include get-icon("flickr", "dark");
145
+ @include get-icon("social_flickr", "dark");
141
146
  }
142
147
  }
143
148
 
144
149
  &__tiktok {
145
- @include get-icon("tiktok");
150
+ @include get-icon("social_tiktok");
146
151
 
147
152
  #{$c}__theme__dark & {
148
- @include get-icon("tiktok", "dark");
153
+ @include get-icon("social_tiktok", "dark");
149
154
  }
150
155
  }
151
156
  }
@@ -65,7 +65,7 @@
65
65
 
66
66
  &:after {
67
67
  background-color: $color-base-neutrals-lighter;
68
- background-image: url("#{colortodataurlicon("arrow", $color-ux-labels-actionable)}");
68
+ background-image: url("#{colortodataurlicon('chevron_down', $color-ux-labels-actionable)}");
69
69
  background-position: center center;
70
70
  background-repeat: no-repeat;
71
71
  background-size: 75%;
@@ -87,7 +87,7 @@
87
87
 
88
88
  &:after {
89
89
  background-color: $color-base-blue-light;
90
- background-image: url("#{colortodataurlicon("arrow", $color-base-blue-medium)}");
90
+ background-image: url("#{colortodataurlicon('chevron_down', $color-base-blue-medium)}");
91
91
  }
92
92
  }
93
93
 
@@ -139,7 +139,7 @@
139
139
  position: relative;
140
140
  text-decoration: none;
141
141
  width: calc(100% - 16px);
142
- @include dataurlicon("stemarrow", $color-ux-labels-actionable);
142
+ @include dataurlicon("arrow_down", $color-ux-labels-actionable);
143
143
  @include font-styles("label-medium");
144
144
  @include globaltransition("background-color, border, color");
145
145
 
@@ -155,7 +155,7 @@
155
155
  padding: spacing(4) spacing(4) spacing(4);
156
156
  padding-inline-end: spacing(12);
157
157
  width: 100%;
158
- @include dataurlicon("stemarrow", $color-ux-labels-hover);
158
+ @include dataurlicon("arrow_down", $color-ux-labels-hover);
159
159
  @include globaltransition("background-color, border, color");
160
160
  }
161
161
 
@@ -172,7 +172,7 @@
172
172
  padding-inline-end: spacing(12);
173
173
  width: 100%;
174
174
  @include dataurlicon(
175
- "stemarrow",
175
+ "arrow_down",
176
176
  $color-ux-tableofcontents-items-active-icon
177
177
  );
178
178
  z-index: 5;