@ilo-org/styles 0.11.3-next.3 → 0.13.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 (112) hide show
  1. package/build/css/components/index.css +574 -820
  2. package/build/css/components/index.css.map +1 -1
  3. package/build/css/global.css +1 -1
  4. package/build/css/global.css.map +1 -1
  5. package/build/css/index.css +574 -820
  6. package/build/css/index.css.map +1 -1
  7. package/build/css/monorepo.css +574 -820
  8. package/build/css/monorepo.css.map +1 -1
  9. package/build/minified/index.css +1 -1
  10. package/build/minified/index.css.map +1 -1
  11. package/build/minified/monorepo.css +1 -1
  12. package/build/minified/monorepo.css.map +1 -1
  13. package/css/components/accordion.css +1 -1
  14. package/css/components/breadcrumb.css +1 -1
  15. package/css/components/button.css +1 -1
  16. package/css/components/callout.css +1 -1
  17. package/css/components/card.css +1 -1
  18. package/css/components/cardgroup.css +1 -1
  19. package/css/components/checkbox.css +1 -1
  20. package/css/components/credit.css +1 -1
  21. package/css/components/datacard.css +1 -1
  22. package/css/components/datepicker.css +1 -1
  23. package/css/components/detailcard.css +1 -1
  24. package/css/components/dropdown.css +1 -1
  25. package/css/components/factlistcard.css +1 -1
  26. package/css/components/featurecard.css +1 -1
  27. package/css/components/fieldset.css +1 -1
  28. package/css/components/file-upload.css +1 -1
  29. package/css/components/footer.css +1 -1
  30. package/css/components/form.css +1 -1
  31. package/css/components/formcontrol.css +1 -1
  32. package/css/components/hero.css +1 -1
  33. package/css/components/herocard.css +1 -1
  34. package/css/components/image.css +1 -1
  35. package/css/components/input.css +1 -1
  36. package/css/components/linklist.css +1 -1
  37. package/css/components/list.css +1 -1
  38. package/css/components/multilinkcard.css +1 -1
  39. package/css/components/navigation.css +1 -1
  40. package/css/components/notification.css +1 -1
  41. package/css/components/pagination.css +1 -1
  42. package/css/components/profile.css +1 -1
  43. package/css/components/promocard.css +1 -1
  44. package/css/components/readmore.css +1 -1
  45. package/css/components/richtext.css +1 -1
  46. package/css/components/searchfield.css +1 -1
  47. package/css/components/socialmedia.css +1 -1
  48. package/css/components/statcard.css +1 -1
  49. package/css/components/table.css +1 -1
  50. package/css/components/tableofcontents.css +1 -1
  51. package/css/components/tabs.css +1 -1
  52. package/css/components/tag.css +1 -1
  53. package/css/components/textarea.css +1 -1
  54. package/css/components/textcard.css +1 -1
  55. package/css/components/textinput.css +1 -1
  56. package/css/components/tooltip.css +1 -1
  57. package/css/components/video.css +1 -1
  58. package/css/global.css.map +1 -1
  59. package/css/index.css +2 -8
  60. package/css/index.css.map +1 -1
  61. package/css/monorepo.css +2 -8
  62. package/css/monorepo.css.map +1 -1
  63. package/package.json +3 -3
  64. package/scss/_functions.scss +7 -7
  65. package/scss/_mixins.scss +11 -3
  66. package/scss/components/_accordion.scss +12 -11
  67. package/scss/components/_breadcrumb.scss +49 -58
  68. package/scss/components/_button.scss +27 -27
  69. package/scss/components/_callout.scss +10 -9
  70. package/scss/components/_card.scss +4 -15
  71. package/scss/components/_cardgroup.scss +0 -4
  72. package/scss/components/_contextmenu.scss +4 -4
  73. package/scss/components/_credit.scss +1 -1
  74. package/scss/components/_datacard.scss +5 -5
  75. package/scss/components/_datepicker.scss +4 -0
  76. package/scss/components/_detailcard.scss +12 -9
  77. package/scss/components/_dropdown.scss +16 -5
  78. package/scss/components/_factlistcard.scss +4 -17
  79. package/scss/components/_featurecard.scss +11 -7
  80. package/scss/components/_fieldset.scss +6 -2
  81. package/scss/components/_file-upload.scss +4 -7
  82. package/scss/components/_footer.scss +34 -54
  83. package/scss/components/_form.scss +1 -1
  84. package/scss/components/_formcontrol.scss +10 -2
  85. package/scss/components/_hero.scss +64 -138
  86. package/scss/components/_herocard.scss +2 -6
  87. package/scss/components/_image.scss +6 -7
  88. package/scss/components/_input.scss +5 -7
  89. package/scss/components/_linklist.scss +24 -20
  90. package/scss/components/_list.scss +15 -20
  91. package/scss/components/_loading.scss +8 -8
  92. package/scss/components/_multilinkcard.scss +17 -68
  93. package/scss/components/_navigation.scss +44 -57
  94. package/scss/components/_notification.scss +19 -28
  95. package/scss/components/_pagination.scss +6 -12
  96. package/scss/components/_profile.scss +3 -3
  97. package/scss/components/_promocard.scss +24 -72
  98. package/scss/components/_readmore.scss +7 -6
  99. package/scss/components/_richtext.scss +32 -38
  100. package/scss/components/_searchfield.scss +8 -11
  101. package/scss/components/_socialmedia.scss +6 -22
  102. package/scss/components/_statcard.scss +5 -5
  103. package/scss/components/_table.scss +10 -26
  104. package/scss/components/_tableofcontents.scss +19 -50
  105. package/scss/components/_tabs.scss +7 -13
  106. package/scss/components/_tag.scss +3 -8
  107. package/scss/components/_textarea.scss +8 -14
  108. package/scss/components/_textcard.scss +11 -10
  109. package/scss/components/_textinput.scss +5 -14
  110. package/scss/components/_toggle.scss +2 -6
  111. package/scss/components/_tooltip.scss +49 -137
  112. package/scss/components/_video.scss +65 -57
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ilo-org/styles",
3
3
  "description": "Styles for products using ILO's Design System",
4
- "version": "0.11.3-next.3",
4
+ "version": "0.13.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/international-labour-organization/designsystem.git",
@@ -20,7 +20,7 @@
20
20
  "dependencies": {
21
21
  "@ilo-org/fonts": "0.1.2",
22
22
  "@ilo-org/icons": "0.2.1",
23
- "@ilo-org/themes": "0.7.0-next.0"
23
+ "@ilo-org/themes": "0.7.0"
24
24
  },
25
25
  "devDependencies": {
26
26
  "cssnano": "^5.1.13",
@@ -32,7 +32,7 @@
32
32
  "gulp-rename": "^2.0.0",
33
33
  "gulp-sass": "^5.1.0",
34
34
  "gulp-sourcemaps": "^3.0.0",
35
- "postcss": "^8.4.21",
35
+ "postcss": "^8.4.31",
36
36
  "postcss-cli": "^10.0.0",
37
37
  "sass": "^1.62.1"
38
38
  },
@@ -49,17 +49,17 @@
49
49
  }
50
50
 
51
51
  // =========================================
52
- // Vertical Spacing
52
+ // Spacing Helper
53
53
  //
54
- // ensure that everything increments by 0.5
55
- // @param {Number} $size - number of times to multiply $padding-base
56
- // @return {*} - desired size, rounded to nearest 0.5, multiplied by $padding-base, in rems
54
+ // spacing will be calculated by multiples of 4
55
+ // @param {Number} $size - number of times to multiply $padding-root, check tokens/spacing/base.json
56
+ // @return {*} - desired size, rounded to nearest integer, multiplied by $padding-base, in rems
57
57
  // =========================================
58
58
 
59
59
  @function spacing($size) {
60
- $scaled: $size * $padding-base;
61
- @if ($size % 0.5 != 0) {
62
- $scaled: round($size) * $padding-base;
60
+ $scaled: $size * $spacing-root;
61
+ @if ($size % 1 != 0) {
62
+ $scaled: round($size) * $spacing-root;
63
63
  }
64
64
  @return px-to-rem($scaled);
65
65
  }
package/scss/_mixins.scss CHANGED
@@ -357,10 +357,10 @@
357
357
  // ======================================
358
358
 
359
359
  @mixin card-drop-shadow {
360
- filter: drop-shadow(0px 0.8px 1.6px rgba(30, 45, 190, 0.038))
361
- drop-shadow(0px 4px 8px rgba(30, 45, 190, 0.054))
360
+ filter: drop-shadow(0px -4px 16px rgba(30, 45, 190, 0.05))
362
361
  drop-shadow(0px 10px 20px rgba(30, 45, 190, 0.08))
363
- drop-shadow(0px -4px 16px rgba(30, 45, 190, 0.054));
362
+ drop-shadow(0px 4px 8px rgba(30, 45, 190, 0.05))
363
+ drop-shadow(0px 0.8px 1.6px rgba(30, 45, 190, 0.04));
364
364
  }
365
365
 
366
366
  // ======================================
@@ -403,3 +403,11 @@
403
403
  }
404
404
  }
405
405
  }
406
+
407
+ @mixin hero-grid-rows($min-height: $spacing-hero-image-min-height) {
408
+ grid-template-rows:
409
+ minmax($min-height, 1fr)
410
+ $spacing-hero-tooltip-height
411
+ $spacing-hero-card-corner-cut-height-sm
412
+ auto;
413
+ }
@@ -5,6 +5,7 @@
5
5
  .ilo--accordion {
6
6
  $transition-timing: 500ms;
7
7
  $scroll-max-height: 300px;
8
+ margin-right: spacing(1);
8
9
 
9
10
  &--button {
10
11
  display: flex;
@@ -14,8 +15,7 @@
14
15
 
15
16
  width: 100%;
16
17
  margin: 0;
17
- padding: px-to-rem(calc($spacing-ui-padding-lg - 6px)) px-to-rem(36px)
18
- px-to-rem(calc($spacing-ui-padding-lg - 6px)) 0;
18
+ padding: spacing(4) spacing(4) spacing(4) 0;
19
19
 
20
20
  background-color: $color-ux-background-default;
21
21
  background-position: calc(100% - px-to-rem(6px)) center;
@@ -36,8 +36,7 @@
36
36
 
37
37
  &--large {
38
38
  @include font-styles("headline-6");
39
- padding: px-to-rem(calc($spacing-ui-padding-lg - 3px)) px-to-rem(36px)
40
- px-to-rem(calc($spacing-ui-padding-lg - 3px)) 0;
39
+ padding: spacing(5) spacing(4) spacing(5) 0;
41
40
  }
42
41
 
43
42
  &:hover,
@@ -59,13 +58,11 @@
59
58
 
60
59
  @include breakpoint("medium") {
61
60
  @include font-styles("label-medium");
62
- padding: px-to-rem(calc($spacing-ui-padding-xl - 14px)) px-to-rem(36px)
63
- px-to-rem(calc($spacing-ui-padding-xl - 14px)) 0;
61
+ padding: spacing(4) spacing(4) spacing(4) 0;
64
62
 
65
63
  &--large {
66
64
  @include font-styles("headline-6");
67
- padding: px-to-rem(calc($spacing-ui-padding-lg - 3px)) px-to-rem(36px)
68
- px-to-rem(calc($spacing-ui-padding-lg - 3px)) 0;
65
+ padding: spacing(5) spacing(4) spacing(5) 0;
69
66
  }
70
67
  }
71
68
 
@@ -76,6 +73,10 @@
76
73
  &[aria-expanded="false"] {
77
74
  @include dataurlicon("add", $color-ux-labels-actionable);
78
75
  }
76
+
77
+ [dir="rtl"] & {
78
+ background-position: calc(0% + px-to-rem(6px)) center;
79
+ }
79
80
  }
80
81
 
81
82
  &--panel {
@@ -86,8 +87,8 @@
86
87
  overflow: hidden;
87
88
 
88
89
  .ilo--accordion--innerpanel {
89
- padding-bottom: px-to-rem($spacing-ui-padding-sm);
90
- padding-top: px-to-rem(8px);
90
+ padding-bottom: spacing(9);
91
+ padding-top: spacing(2);
91
92
  }
92
93
 
93
94
  &--open {
@@ -97,7 +98,7 @@
97
98
  &#{$panel}__scroll {
98
99
  max-height: $scroll-max-height;
99
100
  overflow-y: auto;
100
- padding-right: px-to-rem($spacing-ui-padding-xl);
101
+ padding-right: spacing(8);
101
102
  }
102
103
  }
103
104
  }
@@ -12,9 +12,9 @@
12
12
  background-color: $color-base-neutrals-white;
13
13
  display: inline-flex;
14
14
  justify-content: flex-start;
15
- padding-block: px-to-rem(16px);
15
+ padding-block: spacing(4);
16
16
  padding-inline-end: 0;
17
- padding-inline-start: var(--card-padding-start);
17
+ padding-inline-start: var(--breadcrumb-padding);
18
18
  position: relative;
19
19
  &.context--menu {
20
20
  padding: 0;
@@ -23,19 +23,20 @@
23
23
 
24
24
  &--link {
25
25
  align-items: center;
26
- background-position: right 52%;
26
+ background-position: right;
27
27
  background-repeat: no-repeat;
28
28
  color: map-get($color, "link", "text", "default");
29
29
  display: inline-flex;
30
- height: px-to-rem($spacing-padding-2);
31
- padding: 0 px-to-rem($spacing-padding-3) 0 px-to-rem(10px);
30
+ height: px-to-rem(16px);
31
+ padding-block: 0;
32
+ padding-inline-start: spacing(4);
33
+ padding-inline-end: spacing(6);
32
34
  text-decoration: none;
33
35
  text-decoration-thickness: px-to-rem($borders-base);
34
36
  @include dataurlicon("breadcrumbdivider", $color-link-text-default);
35
37
 
36
- .right-to-left & {
37
- background-position: 0 52%;
38
- padding: 0 px-to-rem(10px) 0 px-to-rem($spacing-padding-3);
38
+ [dir="rtl"] & {
39
+ background-position: left;
39
40
  @include dataurlicon("breadcrumbdividerrtl", $color-link-text-default);
40
41
  }
41
42
 
@@ -56,7 +57,7 @@
56
57
  text-decoration-thickness: px-to-rem($borders-base);
57
58
  @include dataurlicon("breadcrumbdivider", $color-link-text-hover);
58
59
 
59
- .right-to-left & {
60
+ [dir="rtl"] & {
60
61
  @include dataurlicon("breadcrumbdividerrtl", $color-link-text-hover);
61
62
  }
62
63
  }
@@ -65,18 +66,14 @@
65
66
  &--item {
66
67
  align-items: center;
67
68
  display: flex;
68
- height: px-to-rem($spacing-padding-2);
69
+ height: px-to-rem(16px);
69
70
 
70
71
  &.home {
71
72
  align-items: center;
72
73
  display: flex;
73
74
  position: relative;
74
- width: 17px;
75
75
 
76
76
  .ilo--breadcrumb--link {
77
- padding-left: 0;
78
- width: px-to-rem(38px);
79
-
80
77
  &--label {
81
78
  @include isVisuallyHidden();
82
79
  }
@@ -86,13 +83,20 @@
86
83
  background-repeat: no-repeat;
87
84
  content: "";
88
85
  display: block;
89
- height: px-to-rem($spacing-padding-2);
86
+ height: px-to-rem(16px);
90
87
  left: 0;
91
88
  position: absolute;
92
89
  top: 0;
93
- width: px-to-rem($spacing-padding-2);
90
+ width: px-to-rem(16px);
94
91
  @include dataurlicon("home", $color-link-text-default);
95
92
  }
93
+
94
+ [dir="rtl"] & {
95
+ &:before {
96
+ left: initial;
97
+ right: 0;
98
+ }
99
+ }
96
100
  }
97
101
 
98
102
  &:hover,
@@ -115,7 +119,7 @@
115
119
  .ilo--breadcrumb--item--context {
116
120
  align-items: flex-start;
117
121
  display: flex;
118
- height: px-to-rem($spacing-padding-2);
122
+ height: px-to-rem(16px);
119
123
  }
120
124
 
121
125
  &.contextmenu {
@@ -137,14 +141,14 @@
137
141
  background-repeat: no-repeat;
138
142
  content: "";
139
143
  display: block;
140
- height: px-to-rem($spacing-padding-2);
144
+ height: px-to-rem(16px);
141
145
  right: -7px;
142
146
  position: absolute;
143
147
  top: 0;
144
- width: px-to-rem($spacing-padding-2);
148
+ width: px-to-rem(16px);
145
149
  @include dataurlicon("breadcrumbdivider", $color-link-text-default);
146
150
 
147
- .right-to-left & {
151
+ [dir="rtl"] & {
148
152
  right: auto;
149
153
  left: -7px;
150
154
  @include dataurlicon(
@@ -180,12 +184,12 @@
180
184
  $color-ux-background-highlight
181
185
  );
182
186
  content: "";
183
- height: px-to-rem($spacing-padding-1-5);
187
+ height: px-to-rem(12px);
184
188
  position: absolute;
185
- left: 50%;
189
+ // left: 50%;
186
190
  top: -#{px-to-rem(6px)};
187
191
  transform: translateX(-50%) rotate(135deg);
188
- width: px-to-rem($spacing-padding-1-5);
192
+ width: px-to-rem(12px);
189
193
  }
190
194
 
191
195
  &:hover {
@@ -195,7 +199,7 @@
195
199
  .ilo--breadcrumb--item {
196
200
  display: inline-block;
197
201
  height: auto;
198
- padding: 0 px-to-rem($spacing-padding-1);
202
+ padding: 0 spacing(2);
199
203
  position: relative;
200
204
  width: 100%;
201
205
 
@@ -233,7 +237,7 @@
233
237
  font-family: $fonts-copy;
234
238
  font-weight: map-get($type, "weights", "section");
235
239
  height: auto;
236
- padding: px-to-rem($spacing-padding-2) 0;
240
+ padding: spacing(4) 0;
237
241
  text-decoration: none;
238
242
  width: 100%;
239
243
  @include font-styles("body-xxs");
@@ -254,50 +258,37 @@
254
258
  text-decoration: underline;
255
259
  text-decoration-thickness: px-to-rem($borders-base);
256
260
  }
257
-
258
- .right-to-left & {
259
- text-align: center;
260
- }
261
261
  }
262
262
  }
263
263
  }
264
264
  }
265
265
 
266
- @include breakpoint("medium") {
267
- &--items {
268
- &:after {
269
- background: linear-gradient(
270
- to bottom right,
271
- white 50%,
272
- transparent 50%
273
- );
274
- content: "";
275
- display: inline-block;
276
- height: 47px;
277
- position: absolute;
278
- right: -47px;
279
- top: 0;
280
- width: 47px;
281
-
282
- .right-to-left & {
283
- right: auto;
284
- left: -47px;
285
- transform: scaleX(-1);
286
- }
266
+ &--items {
267
+ &:after {
268
+ background: linear-gradient(to bottom right, white 50%, transparent 50%);
269
+ content: "";
270
+ display: inline-block;
271
+ height: 47px;
272
+ position: absolute;
273
+ right: -47px;
274
+ top: 0;
275
+ width: 47px;
276
+
277
+ [dir="rtl"] & {
278
+ right: auto;
279
+ left: -47px;
280
+ transform: scaleX(-1);
287
281
  }
282
+ }
288
283
 
289
- &.context--menu {
290
- &:after {
291
- content: none;
292
- }
284
+ &.context--menu {
285
+ &:after {
286
+ content: none;
293
287
  }
294
288
  }
295
289
  }
296
290
 
297
- .right-to-left & {
298
- direction: rtl;
299
- }
300
-
291
+ // @TODO: This shouldn't be here, we should handle this through Storybook configuation
301
292
  &.storybook {
302
293
  background-color: $brand-ilo-grey-ui;
303
294
  height: 100vh;
@@ -20,8 +20,8 @@
20
20
 
21
21
  .ilo--icon {
22
22
  height: 100%;
23
- max-height: calc($spacing-icons-icon-height-lg * 2);
24
- max-width: calc($spacing-icons-icon-height-lg * 2);
23
+ max-height: px-to-rem(32px);
24
+ max-width: px-to-rem(32px);
25
25
  position: absolute;
26
26
  width: 100%;
27
27
  }
@@ -29,24 +29,24 @@
29
29
  &.icon__position--left {
30
30
  .link__label,
31
31
  .button__label {
32
- padding-left: $spacing-boxpadding-button-icon-large-left;
32
+ padding-left: spacing(12);
33
33
  }
34
34
 
35
35
  .ilo--icon {
36
- left: calc($spacing-icons-icon-padding-lg - 9px);
37
- top: calc($spacing-boxpadding-button-icon-large-top - 3px);
36
+ left: px-to-rem(13px);
37
+ top: px-to-rem(7px);
38
38
  }
39
39
  }
40
40
 
41
41
  &.icon__position--right {
42
42
  .link__label,
43
43
  .button__label {
44
- padding-right: $spacing-boxpadding-button-icon-large-right;
44
+ padding-right: spacing(12);
45
45
  }
46
46
 
47
47
  .ilo--icon {
48
- right: calc($spacing-icons-icon-padding-lg - 9px);
49
- top: calc($spacing-boxpadding-button-icon-large-top - 3px);
48
+ right: px-to-rem(13px);
49
+ top: px-to-rem(7px);
50
50
  }
51
51
  }
52
52
 
@@ -60,7 +60,7 @@
60
60
  &--large {
61
61
  .link__label,
62
62
  .button__label {
63
- @include boxpadding("button", "large");
63
+ padding: spacing(3) spacing(6);
64
64
  @include font-styles("button-large");
65
65
  }
66
66
 
@@ -78,38 +78,38 @@
78
78
  &--medium {
79
79
  .link__label,
80
80
  .button__label {
81
- @include boxpadding("button", "medium");
81
+ padding: spacing(2) spacing(5);
82
82
  @include font-styles("button-medium");
83
83
  }
84
84
 
85
85
  &.icon {
86
86
  .ilo--icon {
87
- max-height: calc($spacing-icons-icon-height-m * 2);
88
- max-width: calc($spacing-icons-icon-height-m * 2);
87
+ max-height: px-to-rem(30px);
88
+ max-width: px-to-rem(30px);
89
89
  position: absolute;
90
90
  }
91
91
 
92
92
  &.icon__position--left {
93
93
  .link__label,
94
94
  .button__label {
95
- padding-left: $spacing-boxpadding-button-icon-medium-left;
95
+ padding-left: spacing(11);
96
96
  }
97
97
 
98
98
  .ilo--icon {
99
- left: calc($spacing-icons-icon-padding-m - 9px);
100
- top: calc($spacing-boxpadding-button-icon-medium-top - 6px);
99
+ left: px-to-rem(10px);
100
+ top: px-to-rem(3px);
101
101
  }
102
102
  }
103
103
 
104
104
  &.icon__position--right {
105
105
  .link__label,
106
106
  .button__label {
107
- padding-right: $spacing-boxpadding-button-icon-medium-right;
107
+ padding-right: spacing(11);
108
108
  }
109
109
 
110
110
  .ilo--icon {
111
- right: calc($spacing-icons-icon-padding-m - 9px);
112
- top: calc($spacing-boxpadding-button-icon-medium-top - 6px);
111
+ right: px-to-rem(10px);
112
+ top: px-to-rem(3px);
113
113
  }
114
114
  }
115
115
  }
@@ -128,38 +128,38 @@
128
128
  &--small {
129
129
  .link__label,
130
130
  .button__label {
131
- @include boxpadding("button", "small");
131
+ padding: spacing(1) spacing(4);
132
132
  @include font-styles("button-small");
133
133
  }
134
134
 
135
135
  &.icon {
136
136
  .ilo--icon {
137
- max-height: calc($spacing-icons-icon-height-sm * 2);
138
- max-width: calc($spacing-icons-icon-height-sm * 2);
137
+ max-height: px-to-rem(28px);
138
+ max-width: px-to-rem(28px);
139
139
  position: absolute;
140
140
  }
141
141
 
142
142
  &.icon__position--left {
143
143
  .link__label,
144
144
  .button__label {
145
- padding-left: $spacing-boxpadding-button-icon-small-left;
145
+ padding-left: spacing(9);
146
146
  }
147
147
 
148
148
  .ilo--icon {
149
- left: calc($spacing-icons-icon-padding-sm - 9px);
150
- top: calc($spacing-boxpadding-button-icon-small-top - 4px);
149
+ left: px-to-rem(6px);
150
+ top: px-to-rem(1px);
151
151
  }
152
152
  }
153
153
 
154
154
  &.icon__position--right {
155
155
  .link__label,
156
156
  .button__label {
157
- padding-right: $spacing-boxpadding-button-icon-small-right;
157
+ padding-right: spacing(9);
158
158
  }
159
159
 
160
160
  .ilo--icon {
161
- right: calc($spacing-icons-icon-padding-sm - 9px);
162
- top: calc($spacing-boxpadding-button-icon-small-top - 4px);
161
+ right: px-to-rem(6px);
162
+ top: px-to-rem(1px);
163
163
  }
164
164
  }
165
165
  }
@@ -8,7 +8,7 @@
8
8
  $self: &;
9
9
 
10
10
  &--collapse:not(.ilo--callout--open) {
11
- max-height: 78px;
11
+ max-height: 64px;
12
12
  overflow: hidden;
13
13
  }
14
14
 
@@ -22,18 +22,19 @@
22
22
  }
23
23
 
24
24
  &--sidebar {
25
- padding: px-to-rem($spacing-padding-3 + 2) px-to-rem(12px);
25
+ display: flex;
26
+ flex-direction: column;
27
+ align-items: center;
28
+ padding: spacing(5) spacing(2);
26
29
  width: px-to-rem(40px);
27
30
 
28
31
  #{$self}--icon {
29
- position: relative;
30
- top: px-to-rem(1.5px);
32
+ margin: spacing(1);
31
33
  }
32
34
  }
33
35
 
34
36
  &--content {
35
- padding: px-to-rem($spacing-padding-3 + 2) px-to-rem($spacing-padding-3 - 2)
36
- px-to-rem($spacing-padding-3);
37
+ padding: spacing(6);
37
38
  width: 100%;
38
39
  font-size: px-to-rem(14.93px);
39
40
  }
@@ -41,7 +42,7 @@
41
42
  &--header {
42
43
  display: flex;
43
44
  justify-content: space-between;
44
- padding: 0 0 px-to-rem(24px);
45
+ padding-bottom: spacing(3);
45
46
  }
46
47
 
47
48
  &--title {
@@ -60,7 +61,7 @@
60
61
  cursor: pointer;
61
62
  font-family: $fonts-display;
62
63
  font-weight: 500;
63
- padding-right: 32px;
64
+ padding-right: spacing(8);
64
65
  position: relative;
65
66
 
66
67
  &--icon {
@@ -80,7 +81,7 @@
80
81
  }
81
82
 
82
83
  &--footer {
83
- padding: px-to-rem(24px) 0 0 0;
84
+ padding-top: spacing(5);
84
85
  }
85
86
 
86
87
  .icon {
@@ -5,8 +5,7 @@
5
5
 
6
6
  .ilo--card {
7
7
  $self: &;
8
- $transition-timing: 150ms;
9
-
8
+ $transition-timing: 250ms;
10
9
  box-sizing: border-box;
11
10
  position: relative;
12
11
  background-color: map-get($color, "base", "neutrals", "white");
@@ -19,10 +18,6 @@
19
18
  --max-width: 100% !important;
20
19
  }
21
20
 
22
- .right-to-left & {
23
- text-align: right;
24
- }
25
-
26
21
  &__action:hover,
27
22
  &__action:focus,
28
23
  &__action:focus-within {
@@ -91,6 +86,7 @@
91
86
 
92
87
  &--wrapper {
93
88
  max-width: var(--max-width);
89
+ transition: filter $transition-timing ease-out;
94
90
 
95
91
  &:hover,
96
92
  &:focus,
@@ -150,14 +146,7 @@
150
146
  &--eyebrow {
151
147
  color: $brand-ilo-purple;
152
148
  @include font-styles("body-small");
153
- @include textmargin(
154
- "margin-bottom",
155
- 16px,
156
- "headline-5",
157
- "display",
158
- "body-small",
159
- "copy"
160
- );
149
+ margin-bottom: spacing(3);
161
150
  @include globaltransition("color");
162
151
 
163
152
  #{$self}--link:hover &,
@@ -194,8 +183,8 @@
194
183
  &--intro {
195
184
  color: $brand-ilo-grey-charcoal;
196
185
  @include font-styles("body-small");
197
- @include textmargin("margin-bottom", 30px, "body-small", "copy", 0, 0);
198
186
  @include globaltransition("color");
187
+ margin-bottom: spacing(8);
199
188
 
200
189
  #{$self}--link:hover &,
201
190
  #{$self}--link:focus &,
@@ -48,10 +48,6 @@
48
48
  row-gap: $gap-size;
49
49
  margin: auto;
50
50
  width: 100%;
51
-
52
- .right-to-left & {
53
- flex-direction: row-reverse;
54
- }
55
51
  }
56
52
 
57
53
  .ilo--card,
@@ -15,16 +15,16 @@
15
15
  background-size: contain;
16
16
  @include dataurlicon("halfsquaretriangle", $color-ux-background-highlight);
17
17
  content: "";
18
- height: px-to-rem($spacing-padding-1-5);
18
+ height: px-to-rem(12px);
19
19
  position: absolute;
20
20
  left: 50%;
21
21
  top: -#{px-to-rem(6px)};
22
22
  transform: translateX(-50%) rotate(135deg);
23
- width: px-to-rem($spacing-padding-1-5);
23
+ width: px-to-rem(12px);
24
24
  }
25
25
 
26
26
  &--item {
27
- padding: 0 px-to-rem($spacing-padding-1);
27
+ padding: 0 spacing(2);
28
28
 
29
29
  &:first-of-type {
30
30
  border-top-left-radius: 2px;
@@ -60,7 +60,7 @@
60
60
  display: inline-block;
61
61
  font-family: $fonts-copy;
62
62
  font-weight: map-get($type, "weights", "section");
63
- padding: px-to-rem($spacing-padding-2) px-to-rem($spacing-padding-1);
63
+ padding: spacing(4) spacing(2);
64
64
  text-decoration: none;
65
65
  width: 100%;
66
66
  @include font-styles("body-xxs");
@@ -80,7 +80,7 @@
80
80
  }
81
81
  }
82
82
 
83
- .right-to-left & {
83
+ [dir="rtl"] & {
84
84
  &:after {
85
85
  background-position: top left;
86
86
  left: auto;