@siemens/element-theme 51.0.0-rc.7 → 51.0.0-rc.8

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 (44) hide show
  1. package/package.json +1 -1
  2. package/src/styles/_density.scss +144 -0
  3. package/src/styles/_utilities.scss +5 -0
  4. package/src/styles/_variables.scss +1 -0
  5. package/src/styles/bootstrap/_badges.scss +3 -3
  6. package/src/styles/bootstrap/_button-group.scss +3 -3
  7. package/src/styles/bootstrap/_buttons.scss +2 -3
  8. package/src/styles/bootstrap/_card.scss +18 -11
  9. package/src/styles/bootstrap/_dropdowns.scss +12 -12
  10. package/src/styles/bootstrap/_images.scss +2 -1
  11. package/src/styles/bootstrap/_modals.scss +8 -8
  12. package/src/styles/bootstrap/_pagination.scss +3 -3
  13. package/src/styles/bootstrap/_popovers.scss +1 -1
  14. package/src/styles/bootstrap/_reboot.scss +1 -1
  15. package/src/styles/bootstrap/_tables.scss +8 -6
  16. package/src/styles/bootstrap/_type.scss +65 -1
  17. package/src/styles/bootstrap/_utilities.scss +2 -7
  18. package/src/styles/bootstrap/_variables.scss +60 -54
  19. package/src/styles/bootstrap/forms/_form-check.scss +12 -12
  20. package/src/styles/bootstrap/forms/_form-control.scss +19 -13
  21. package/src/styles/bootstrap/forms/_form-file.scss +2 -2
  22. package/src/styles/bootstrap/forms/_form-label.scss +1 -1
  23. package/src/styles/bootstrap/forms/_form-layout.scss +2 -2
  24. package/src/styles/bootstrap/forms/_validation.scss +2 -2
  25. package/src/styles/bootstrap/mixins/_badge-text.scss +2 -2
  26. package/src/styles/bootstrap/mixins/_form-layout.scss +4 -4
  27. package/src/styles/bootstrap/mixins/_grid.scss +3 -3
  28. package/src/styles/bootstrap/mixins/_utilities.scss +14 -3
  29. package/src/styles/components/_application-header.scss +8 -8
  30. package/src/styles/components/_datatable.scss +20 -8
  31. package/src/styles/components/_layout.scss +12 -12
  32. package/src/styles/components/_list-item.scss +47 -17
  33. package/src/styles/components/_markdown.scss +8 -8
  34. package/src/styles/components/_pills.scss +3 -3
  35. package/src/styles/components/_search-bar.scss +67 -0
  36. package/src/styles/components/_switch.scss +4 -4
  37. package/src/styles/components/_widgets.scss +9 -7
  38. package/src/styles/mixins/_utilities.scss +259 -0
  39. package/src/styles/variables/_si-vars.scss +13 -7
  40. package/src/styles/variables/_sizing.scss +22 -0
  41. package/src/styles/variables/_spacers.scss +53 -25
  42. package/src/styles/variables/_typography.scss +86 -53
  43. package/src/styles/variables/_utilities.scss +56 -51
  44. package/src/theme.scss +3 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@siemens/element-theme",
3
- "version": "51.0.0-rc.7",
3
+ "version": "51.0.0-rc.8",
4
4
  "description": "Element CSS theme.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -0,0 +1,144 @@
1
+ @use 'selectors';
2
+ @use 'variables/typography';
3
+
4
+ @mixin define-spacer($spacer, $block-size, $inline-size) {
5
+ --si-sys-sizing-spacing-y-#{$spacer}: #{$block-size};
6
+ --si-sys-sizing-spacing-x-#{$spacer}: #{$inline-size};
7
+ }
8
+
9
+ @mixin define-font($name, $font-size, $line-height) {
10
+ --si-sys-typography-font-size-#{$name}: #{typography.px-to-rem($font-size)};
11
+ --si-sys-typography-line-height-#{$name}: #{typography.px-to-ratio($font-size, $line-height)};
12
+ }
13
+
14
+ @mixin define-sizing($name, $size) {
15
+ --si-sys-sizing-sizing-#{$name}: #{$size};
16
+ }
17
+
18
+ @mixin define-icon-size($name, $size) {
19
+ --si-sys-sizing-icon-#{$name}: #{typography.px-to-rem($size)};
20
+ }
21
+
22
+ #{selectors.$root} {
23
+ @include define-spacer(10, 2px, 2px);
24
+ @include define-spacer(20, 4px, 4px);
25
+ @include define-spacer(30, 6px, 6px);
26
+ @include define-spacer(40, 8px, 8px);
27
+ @include define-spacer(50, 12px, 12px);
28
+ @include define-spacer(60, 16px, 16px);
29
+ @include define-spacer(70, 20px, 20px);
30
+ @include define-spacer(80, 24px, 24px);
31
+ @include define-spacer(90, 32px, 32px);
32
+ @include define-spacer(100, 40px, 40px);
33
+ @include define-spacer(110, 48px, 48px);
34
+ @include define-spacer(120, 56px, 56px);
35
+ @include define-spacer(130, 64px, 64px);
36
+ @include define-spacer(140, 96px, 96px);
37
+
38
+ @include define-font(body-sm, 12px, 16px);
39
+ @include define-font(body, 14px, 16px);
40
+ @include define-font(body-lg, 16px, 20px);
41
+ @include define-font(body-paragraph, 14px, 20px);
42
+ @include define-font(h1, 28px, 36px);
43
+ @include define-font(h2, 24px, 32px);
44
+ @include define-font(h3, 20px, 24px);
45
+ @include define-font(h4, 16px, 20px);
46
+ @include define-font(h5, 14px, 20px);
47
+ @include define-font(h6, 12px, 16px);
48
+ @include define-font(display, 32px, 40px);
49
+ @include define-font(display-lg, 40px, 52px);
50
+ @include define-font(display-xl, 48px, 64px);
51
+ @include define-font(display-xxl, 58px, 72px);
52
+ @include define-font(code-sm, 12px, 16px);
53
+ @include define-font(code, 14px, 20px);
54
+ @include define-font(code-lg, 16px, 20px);
55
+
56
+ @include define-sizing(10, 2px);
57
+ @include define-sizing(20, 4px);
58
+ @include define-sizing(30, 8px);
59
+ @include define-sizing(40, 12px);
60
+ @include define-sizing(50, 16px);
61
+ @include define-sizing(60, 20px);
62
+ @include define-sizing(70, 24px);
63
+ @include define-sizing(80, 32px);
64
+ @include define-sizing(90, 40px);
65
+ @include define-sizing(100, 48px);
66
+ @include define-sizing(110, 64px);
67
+ @include define-sizing(120, 80px);
68
+ @include define-sizing(130, 96px);
69
+ @include define-sizing(140, 120px);
70
+ @include define-sizing(150, 160px);
71
+ @include define-sizing(160, 240px);
72
+ @include define-sizing(170, 320px);
73
+ @include define-sizing(180, 480px);
74
+ @include define-sizing(190, 600px);
75
+ @include define-sizing(200, 720px);
76
+
77
+ @include define-icon-size(sm, 16px);
78
+ @include define-icon-size(md, 20px);
79
+ @include define-icon-size(lg, 24px);
80
+ @include define-icon-size(xl, 32px);
81
+ @include define-icon-size(xxl, 48px);
82
+ }
83
+
84
+ .density-compact {
85
+ @include define-spacer(10, 2px, 2px);
86
+ @include define-spacer(20, 2px, 2px);
87
+ @include define-spacer(30, 4px, 4px);
88
+ @include define-spacer(40, 6px, 6px);
89
+ @include define-spacer(50, 8px, 8px);
90
+ @include define-spacer(60, 12px, 12px);
91
+ @include define-spacer(70, 16px, 16px);
92
+ @include define-spacer(80, 20px, 20px);
93
+ @include define-spacer(90, 24px, 24px);
94
+ @include define-spacer(100, 32px, 32px);
95
+ @include define-spacer(110, 40px, 40px);
96
+ @include define-spacer(120, 48px, 48px);
97
+ @include define-spacer(130, 64px, 64px);
98
+ @include define-spacer(140, 80px, 80px);
99
+
100
+ @include define-font(body-sm, 10px, 12px);
101
+ @include define-font(body, 12px, 14px);
102
+ @include define-font(body-lg, 14px, 16px);
103
+ @include define-font(body-paragraph, 12px, 16px);
104
+ @include define-font(h1, 24px, 28px);
105
+ @include define-font(h2, 20px, 24px);
106
+ @include define-font(h3, 16px, 18px);
107
+ @include define-font(h4, 14px, 16px);
108
+ @include define-font(h5, 14px, 16px);
109
+ @include define-font(h6, 12px, 16px);
110
+ @include define-font(display, 28px, 32px);
111
+ @include define-font(display-lg, 32px, 40px);
112
+ @include define-font(display-xl, 40px, 48px);
113
+ @include define-font(display-xxl, 48px, 56px);
114
+ @include define-font(code-sm, 12px, 16px);
115
+ @include define-font(code, 14px, 20px);
116
+ @include define-font(code-lg, 16px, 20px);
117
+
118
+ @include define-sizing(10, 2px);
119
+ @include define-sizing(20, 2px);
120
+ @include define-sizing(30, 4px);
121
+ @include define-sizing(40, 8px);
122
+ @include define-sizing(50, 12px);
123
+ @include define-sizing(60, 16px);
124
+ @include define-sizing(70, 20px);
125
+ @include define-sizing(80, 24px);
126
+ @include define-sizing(90, 32px);
127
+ @include define-sizing(100, 40px);
128
+ @include define-sizing(110, 48px);
129
+ @include define-sizing(120, 64px);
130
+ @include define-sizing(130, 80px);
131
+ @include define-sizing(140, 96px);
132
+ @include define-sizing(150, 120px);
133
+ @include define-sizing(160, 160px);
134
+ @include define-sizing(170, 240px);
135
+ @include define-sizing(180, 320px);
136
+ @include define-sizing(190, 480px);
137
+ @include define-sizing(200, 600px);
138
+
139
+ @include define-icon-size(sm, 12px);
140
+ @include define-icon-size(md, 16px);
141
+ @include define-icon-size(lg, 20px);
142
+ @include define-icon-size(xl, 24px);
143
+ @include define-icon-size(xxl, 32px);
144
+ }
@@ -0,0 +1,5 @@
1
+ @use 'mixins/utilities';
2
+
3
+ @include utilities.background-utilities();
4
+ @include utilities.text-utilities();
5
+ @include utilities.border-utilities();
@@ -6,6 +6,7 @@
6
6
  @forward './variables/elevation';
7
7
  @forward './variables/focus';
8
8
  @forward './variables/spacers';
9
+ @forward './variables/sizing';
9
10
  @forward './variables/zindex';
10
11
  @forward './variables/layout';
11
12
  @forward './variables/si-vars';
@@ -19,7 +19,7 @@
19
19
  padding-block: variables.$badge-padding-y;
20
20
  padding-inline: variables.$badge-padding-x;
21
21
  margin-block: 0;
22
- margin-inline: map.get(spacers.$spacers, 4);
22
+ margin-inline: map.get(spacers.$spacers-inline, 4);
23
23
  line-height: variables.$badge-line-height;
24
24
  flex-shrink: 0;
25
25
  font-size: typography.$si-font-size-body;
@@ -130,8 +130,8 @@
130
130
  &:has(> .icon) {
131
131
  display: inline-flex;
132
132
  align-items: center;
133
- gap: map.get(spacers.$spacers, 1);
134
- padding-inline: map.get(spacers.$spacers, 2) variables.$badge-padding-x;
133
+ gap: map.get(spacers.$spacers-block, 1) map.get(spacers.$spacers-inline, 1);
134
+ padding-inline: map.get(spacers.$spacers-inline, 2) variables.$badge-padding-x;
135
135
  }
136
136
  }
137
137
 
@@ -69,7 +69,7 @@
69
69
  .btn.dropdown-toggle {
70
70
  aspect-ratio: 0;
71
71
  padding-block: 0;
72
- padding-inline: calc(map.get(spacers.$spacers, 1) - var(--btn-border-width, 0px));
72
+ padding-inline: calc(map.get(spacers.$spacers-inline, 1) - var(--btn-border-width, 0px));
73
73
  border-start-start-radius: 0;
74
74
  border-end-start-radius: 0;
75
75
 
@@ -97,14 +97,14 @@
97
97
 
98
98
  &.btn-icon {
99
99
  inline-size: auto;
100
- padding-inline: map.get(spacers.$spacers, 5) - 1px;
100
+ padding-inline: calc(map.get(spacers.$spacers-inline, 5) - 1px);
101
101
  }
102
102
 
103
103
  // @deprecated Will be removed in a future major version, use .btn-icon instead.
104
104
  &.icon-only {
105
105
  inline-size: auto;
106
106
  min-inline-size: unset;
107
- padding-inline: map.get(spacers.$spacers, 5) - 1px;
107
+ padding-inline: calc(map.get(spacers.$spacers-inline, 5) - 1px);
108
108
 
109
109
  .icon {
110
110
  margin-inline: 0;
@@ -19,7 +19,7 @@ button {
19
19
  :is(.btn, .btn-close) {
20
20
  --btn-icon-size: #{$btn-icon-font-size};
21
21
  --btn-font-size: #{bootstrap-variables.$btn-font-size};
22
- --btn-font-weight: #{typography.$si-font-weight-semibold};
22
+ --btn-font-weight: #{typography.$si-font-weight-sbold};
23
23
  --btn-line-height: #{bootstrap-variables.$btn-line-height};
24
24
  --btn-padding-y: #{bootstrap-variables.$btn-padding-y};
25
25
  line-height: var(--btn-line-height);
@@ -65,7 +65,7 @@ button {
65
65
  .icon {
66
66
  font-size: var(--btn-icon-size);
67
67
  margin-block: calc((var(--btn-icon-size) - var(--btn-font-size)) / -2);
68
- margin-inline-end: #{map.get(spacers.$spacers, 2)};
68
+ margin-inline-end: #{map.get(spacers.$spacers-inline, 2)};
69
69
  }
70
70
  }
71
71
 
@@ -270,7 +270,6 @@ button {
270
270
  );
271
271
  padding-block: bootstrap-variables.$input-padding-y;
272
272
  padding-inline: bootstrap-variables.$input-padding-x;
273
-
274
273
  border-radius: bootstrap-variables.$input-border-radius;
275
274
  justify-content: flex-start;
276
275
 
@@ -43,35 +43,42 @@
43
43
  }
44
44
 
45
45
  &.accent-primary {
46
- border-inline-start: map.get(spacers.$spacers, 4) solid system-tokens.$si-sys-border-accent;
46
+ border-inline-start: map.get(spacers.$spacers-inline, 4) solid
47
+ system-tokens.$si-sys-border-accent;
47
48
  }
48
49
 
49
50
  &.accent-inactive {
50
- border-inline-start: map.get(spacers.$spacers, 4) solid system-tokens.$si-sys-border-4;
51
+ border-inline-start: map.get(spacers.$spacers-inline, 4) solid system-tokens.$si-sys-border-4;
51
52
  }
52
53
 
53
54
  &.accent-info {
54
- border-inline-start: map.get(spacers.$spacers, 4) solid system-tokens.$si-sys-border-information;
55
+ border-inline-start: map.get(spacers.$spacers-inline, 4) solid
56
+ system-tokens.$si-sys-border-information;
55
57
  }
56
58
 
57
59
  &.accent-success {
58
- border-inline-start: map.get(spacers.$spacers, 4) solid system-tokens.$si-sys-border-success;
60
+ border-inline-start: map.get(spacers.$spacers-inline, 4) solid
61
+ system-tokens.$si-sys-border-success;
59
62
  }
60
63
 
61
64
  &.accent-warning {
62
- border-inline-start: map.get(spacers.$spacers, 4) solid system-tokens.$si-sys-border-warning;
65
+ border-inline-start: map.get(spacers.$spacers-inline, 4) solid
66
+ system-tokens.$si-sys-border-warning;
63
67
  }
64
68
 
65
69
  &.accent-caution {
66
- border-inline-start: map.get(spacers.$spacers, 4) solid system-tokens.$si-sys-border-caution;
70
+ border-inline-start: map.get(spacers.$spacers-inline, 4) solid
71
+ system-tokens.$si-sys-border-caution;
67
72
  }
68
73
 
69
74
  &.accent-danger {
70
- border-inline-start: map.get(spacers.$spacers, 4) solid system-tokens.$si-sys-border-danger;
75
+ border-inline-start: map.get(spacers.$spacers-inline, 4) solid
76
+ system-tokens.$si-sys-border-danger;
71
77
  }
72
78
 
73
79
  &.accent-critical {
74
- border-inline-start: map.get(spacers.$spacers, 4) solid system-tokens.$si-sys-border-critical;
80
+ border-inline-start: map.get(spacers.$spacers-inline, 4) solid
81
+ system-tokens.$si-sys-border-critical;
75
82
  }
76
83
 
77
84
  &.action-card:not(:disabled) {
@@ -133,8 +140,8 @@ button.card {
133
140
 
134
141
  + * .card-body, // for action cards, where we wrap the content
135
142
  + .card-body {
136
- margin-block-start: map.get(spacers.$spacers, 2) * -1;
137
- padding-block-start: map.get(spacers.$spacers, 2);
143
+ margin-block-start: map.get(spacers.$negative-spacers-block, 2);
144
+ padding-block-start: map.get(spacers.$spacers-block, 2);
138
145
  }
139
146
 
140
147
  + .list-group {
@@ -167,7 +174,7 @@ button.card {
167
174
  }
168
175
 
169
176
  .card-subtitle {
170
- margin-block: (-(variables.$card-title-spacer-y) * 0.5) 0;
177
+ margin-block: calc(variables.$card-title-spacer-y * -0.5) 0;
171
178
  }
172
179
 
173
180
  .card-text:last-child {
@@ -19,7 +19,7 @@
19
19
  z-index: zindex.$zindex-dropdown;
20
20
  display: none; // none by default, but block on "open" of the menu
21
21
  min-inline-size: bootstrap-variables.$dropdown-min-width;
22
- max-block-size: calc(100vb - #{map.get(spacers.$spacers, 1) * 2});
22
+ max-block-size: calc(100vb - map.get(spacers.$spacers-block, 1) * 2);
23
23
  overflow-y: auto;
24
24
  padding-block: bootstrap-variables.$dropdown-padding-y;
25
25
  padding-inline: bootstrap-variables.$dropdown-padding-x;
@@ -29,7 +29,7 @@
29
29
  background-clip: padding-box;
30
30
  border-radius: bootstrap-variables.$dropdown-border-radius;
31
31
  box-shadow: bootstrap-variables.$dropdown-box-shadow;
32
- margin-block: map.get(spacers.$spacers, 1);
32
+ margin-block: map.get(spacers.$spacers-block, 1);
33
33
  margin-inline: 0;
34
34
  text-align: start;
35
35
 
@@ -45,8 +45,8 @@
45
45
  100vb,
46
46
  calc(
47
47
  (
48
- bootstrap-variables.$dropdown-line-height + #{2 *
49
- bootstrap-variables.$dropdown-item-padding-y}
48
+ bootstrap-variables.$dropdown-line-height + 2 *
49
+ bootstrap-variables.$dropdown-item-padding-y
50
50
  ) *
51
51
  8.3125
52
52
  )
@@ -55,7 +55,7 @@
55
55
 
56
56
  :is(.dropdown-menu, .dropdown-item) {
57
57
  .icon + .item-title {
58
- padding-inline-start: map.get(spacers.$spacers, 4);
58
+ padding-inline-start: map.get(spacers.$spacers-inline, 4);
59
59
  }
60
60
  }
61
61
 
@@ -64,13 +64,13 @@
64
64
  text-align: start;
65
65
 
66
66
  .dropdown-caret {
67
- padding-inline-start: map.get(spacers.$spacers, 2);
68
- margin-block: -#{map.get(spacers.$spacers, 2)};
69
- margin-inline: auto -#{map.get(spacers.$spacers, 2)};
67
+ padding-inline-start: map.get(spacers.$spacers-inline, 2);
68
+ margin-block: map.get(spacers.$negative-spacers-block, 2);
69
+ margin-inline: auto map.get(spacers.$negative-spacers-inline, 2);
70
70
  font-size: variables.$si-icon-font-size !important; // stylelint-disable-line declaration-no-important
71
71
  transform: rotate(var(--caret-rotate));
72
72
  // adjust the origin to account for the negative margin. Otherwise the element would visually not rotate around the center.
73
- transform-origin: calc(50% + #{map.get(spacers.$spacers, 1)}) 50%;
73
+ transform-origin: calc(50% + map.get(spacers.$spacers-inline, 1)) 50%;
74
74
  transition: transform variables.$si-caret-transition-duration;
75
75
  }
76
76
 
@@ -145,11 +145,11 @@
145
145
  }
146
146
 
147
147
  .menu-end-icon {
148
- margin-inline-end: -1 * map.get(spacers.$spacers, 3);
148
+ margin-inline-end: map.get(spacers.$negative-spacers-inline, 3);
149
149
 
150
150
  &.element-record-filled {
151
151
  font-size: 1rem;
152
- margin-inline-end: -1 * map.get(spacers.$spacers, 1);
152
+ margin-inline-end: map.get(spacers.$negative-spacers-inline, 1);
153
153
  }
154
154
  }
155
155
  }
@@ -181,7 +181,7 @@
181
181
  .dropdown-divider {
182
182
  block-size: 0;
183
183
  margin-block: bootstrap-variables.$dropdown-divider-margin-y;
184
- margin-inline: map.get(spacers.$spacers, 5);
184
+ margin-inline: map.get(spacers.$spacers-inline, 5);
185
185
  overflow: hidden;
186
186
  border-block-start: 1px solid bootstrap-variables.$dropdown-divider-bg;
187
187
  }
@@ -1,3 +1,4 @@
1
+ @use 'sass:map';
1
2
  @use '../variables/spacers';
2
3
  @use './mixins/image';
3
4
  @use './variables';
@@ -35,7 +36,7 @@
35
36
  }
36
37
 
37
38
  .figure-img {
38
- margin-block-end: spacers.$spacer * 0.5;
39
+ margin-block-end: map.get(spacers.$spacers-block, 4);
39
40
  line-height: 1;
40
41
  }
41
42
 
@@ -67,7 +67,7 @@
67
67
  }
68
68
 
69
69
  .modal-dialog-scrollable {
70
- block-size: functions.subtract(100%, variables.$modal-dialog-margin * 2);
70
+ block-size: calc(100% - (variables.$modal-dialog-margin * 2));
71
71
 
72
72
  .modal-content {
73
73
  max-block-size: 100%;
@@ -82,7 +82,7 @@
82
82
  .modal-dialog-centered {
83
83
  display: flex;
84
84
  align-items: center;
85
- min-block-size: functions.subtract(100%, variables.$modal-dialog-margin * 2);
85
+ min-block-size: calc(100% - (variables.$modal-dialog-margin * 2));
86
86
  }
87
87
 
88
88
  .modal-header {
@@ -97,7 +97,7 @@
97
97
 
98
98
  .icon {
99
99
  font-size: si-vars.$si-icon-font-size-lg;
100
- margin-inline-end: map.get(spacers.$spacers, 4);
100
+ margin-inline-end: map.get(spacers.$spacers-inline, 4);
101
101
  }
102
102
 
103
103
  .modal-title {
@@ -141,7 +141,7 @@
141
141
  // Enable `flex-grow: 1` so that the body take up as much space as possible
142
142
  // when there should be a fixed height on `.modal-dialog`.
143
143
  flex: 1 1 auto;
144
- padding-block: map.get(spacers.$spacers, 5) variables.$modal-inner-padding;
144
+ padding-block: map.get(spacers.$spacers-block, 5) variables.$modal-inner-padding;
145
145
  // use margin instead of padding so that the scrollbar isn't on the edge of the dialog
146
146
  margin-inline: variables.$modal-inner-padding;
147
147
  padding-inline: 0;
@@ -157,7 +157,7 @@
157
157
  flex-shrink: 0;
158
158
  align-items: center; // vertically center
159
159
  justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items
160
- padding: (variables.$modal-inner-padding - variables.$modal-footer-margin-between * 0.5);
160
+ padding: calc(variables.$modal-inner-padding - variables.$modal-footer-margin-between * 0.5);
161
161
  border-end-start-radius: variables.$modal-content-inner-border-radius;
162
162
  border-end-end-radius: variables.$modal-content-inner-border-radius;
163
163
 
@@ -165,7 +165,7 @@
165
165
  // This solution is far from ideal because of the universal selector usage,
166
166
  // but is needed to fix https://github.com/twbs/bootstrap/issues/24800
167
167
  > * {
168
- margin: (variables.$modal-footer-margin-between * 0.5);
168
+ margin: calc(variables.$modal-footer-margin-between * 0.5);
169
169
  }
170
170
  }
171
171
 
@@ -186,11 +186,11 @@
186
186
  }
187
187
 
188
188
  .modal-dialog-scrollable {
189
- block-size: functions.subtract(100%, variables.$modal-dialog-margin-y-sm-up * 2);
189
+ block-size: calc(100% - (variables.$modal-dialog-margin-y-sm-up * 2));
190
190
  }
191
191
 
192
192
  .modal-dialog-centered {
193
- min-block-size: functions.subtract(100%, variables.$modal-dialog-margin-y-sm-up * 2);
193
+ min-block-size: calc(100% - (variables.$modal-dialog-margin-y-sm-up * 2));
194
194
  }
195
195
 
196
196
  .modal-content {
@@ -11,7 +11,7 @@ $page-button-size: 1.5rem;
11
11
  .pagination {
12
12
  display: flex;
13
13
  margin: 0;
14
- padding-block: map.get(spacers.$spacers, 4);
14
+ padding-block: map.get(spacers.$spacers-block, 4);
15
15
  @include lists.list-unstyled();
16
16
  }
17
17
 
@@ -23,8 +23,8 @@ $page-button-size: 1.5rem;
23
23
  min-inline-size: $page-button-size;
24
24
  block-size: $page-button-size;
25
25
  padding-block: 0;
26
- padding-inline: map.get(spacers.$spacers, 2);
27
- margin-inline: map.get(spacers.$spacers, 1);
26
+ padding-inline: map.get(spacers.$spacers-inline, 2);
27
+ margin-inline: map.get(spacers.$spacers-inline, 1);
28
28
  background: transparent;
29
29
  font-size: typography.$si-font-size-h5;
30
30
  font-weight: typography.$si-font-weight-h5;
@@ -74,7 +74,7 @@ $si-popover-bg: var(--popover-bg-color, variables.$popover-bg);
74
74
  }
75
75
 
76
76
  + .popover-body {
77
- padding-block-start: map.get(spacers.$spacers, 4);
77
+ padding-block-start: map.get(spacers.$spacers-block, 4);
78
78
  }
79
79
 
80
80
  &:has(> .icon) {
@@ -414,7 +414,7 @@ textarea {
414
414
  input,
415
415
  textarea {
416
416
  &:disabled {
417
- color: variables.$text-muted;
417
+ color: variables.$text-disabled;
418
418
 
419
419
  &::placeholder {
420
420
  color: variables.$input-placeholder-disabled-color;
@@ -18,7 +18,7 @@
18
18
  --#{variables.$variable-prefix}table-hover-bg: #{variables.$table-hover-bg};
19
19
 
20
20
  inline-size: 100%;
21
- margin-block-end: spacers.$spacer;
21
+ margin-block-end: map.get(spacers.$spacers-block, 6);
22
22
  color: variables.$table-color;
23
23
  vertical-align: variables.$table-cell-vertical-align;
24
24
  border-color: variables.$table-border-color;
@@ -55,17 +55,17 @@
55
55
  vertical-align: middle;
56
56
 
57
57
  &:first-child {
58
- padding-inline-start: map.get(spacers.$spacers, 6);
58
+ padding-inline-start: map.get(spacers.$spacers-inline, 6);
59
59
  }
60
60
 
61
61
  &:last-child {
62
- padding-inline-end: map.get(spacers.$spacers, 6);
62
+ padding-inline-end: map.get(spacers.$spacers-inline, 6);
63
63
  }
64
64
  }
65
65
 
66
66
  thead {
67
67
  border-width: 0;
68
- border-block-end: map.get(spacers.$spacers, 2) solid variables.$table-border-color;
68
+ border-block-end: map.get(spacers.$spacers-block, 2) solid variables.$table-border-color;
69
69
 
70
70
  th {
71
71
  vertical-align: baseline;
@@ -96,7 +96,9 @@
96
96
  }
97
97
 
98
98
  :is(th, td) {
99
- block-size: calc(2lh + 2 * map.get(spacers.$spacers, 2) + 2 * map.get(spacers.$spacers, 5));
99
+ block-size: calc(
100
+ 2lh + 2 * map.get(spacers.$spacers-block, 2) + 2 * map.get(spacers.$spacers-block, 5)
101
+ );
100
102
  }
101
103
  }
102
104
  }
@@ -118,7 +120,7 @@
118
120
 
119
121
  tbody {
120
122
  :is(th, td) {
121
- block-size: calc(2lh + 2 * map.get(spacers.$spacers, 4));
123
+ block-size: calc(2lh + 2 * map.get(spacers.$spacers-block, 4));
122
124
  }
123
125
  }
124
126
  }
@@ -93,7 +93,7 @@
93
93
  }
94
94
 
95
95
  .blockquote-footer {
96
- margin-block: -(variables.$blockquote-margin-y) variables.$blockquote-margin-y;
96
+ margin-block: calc(variables.$blockquote-margin-y * -1) variables.$blockquote-margin-y;
97
97
  font-size: variables.$blockquote-footer-font-size;
98
98
  color: variables.$blockquote-footer-color;
99
99
 
@@ -194,6 +194,14 @@ h6,
194
194
  );
195
195
  }
196
196
 
197
+ .si-body-lg-sbold {
198
+ @include typography.si-font(
199
+ typography.$si-font-size-body-lg-sbold,
200
+ typography.$si-line-height-body-lg-sbold,
201
+ typography.$si-font-weight-body-lg-sbold
202
+ );
203
+ }
204
+
197
205
  .si-body {
198
206
  @include typography.si-font(
199
207
  typography.$si-font-size-body,
@@ -202,6 +210,14 @@ h6,
202
210
  );
203
211
  }
204
212
 
213
+ .si-body-sbold {
214
+ @include typography.si-font(
215
+ typography.$si-font-size-body-sbold,
216
+ typography.$si-line-height-body-sbold,
217
+ typography.$si-font-weight-body-sbold
218
+ );
219
+ }
220
+
205
221
  .si-body-paragraph {
206
222
  @include typography.si-font(
207
223
  typography.$si-font-size-body-paragraph,
@@ -210,6 +226,14 @@ h6,
210
226
  );
211
227
  }
212
228
 
229
+ .si-body-paragraph-sbold {
230
+ @include typography.si-font(
231
+ typography.$si-font-size-body-paragraph-sbold,
232
+ typography.$si-line-height-body-paragraph-sbold,
233
+ typography.$si-font-weight-body-paragraph-sbold
234
+ );
235
+ }
236
+
213
237
  .si-body-sm {
214
238
  @include typography.si-font(
215
239
  typography.$si-font-size-body-sm,
@@ -218,6 +242,14 @@ h6,
218
242
  );
219
243
  }
220
244
 
245
+ .si-body-sm-sbold {
246
+ @include typography.si-font(
247
+ typography.$si-font-size-body-sm-sbold,
248
+ typography.$si-line-height-body-sm-sbold,
249
+ typography.$si-font-weight-body-sm-sbold
250
+ );
251
+ }
252
+
221
253
  .si-caption {
222
254
  @include typography.si-font(
223
255
  typography.$si-font-size-caption,
@@ -235,6 +267,14 @@ h6,
235
267
  );
236
268
  }
237
269
 
270
+ .si-display-xl-sbold {
271
+ @include typography.si-font(
272
+ typography.$si-font-size-display-xl-sbold,
273
+ typography.$si-line-height-display-xl-sbold,
274
+ typography.$si-font-weight-display-xl-sbold
275
+ );
276
+ }
277
+
238
278
  .si-display-xxl {
239
279
  @include typography.si-font(
240
280
  typography.$si-font-size-display-xxl,
@@ -243,6 +283,14 @@ h6,
243
283
  );
244
284
  }
245
285
 
286
+ .si-display-xxl-sbold {
287
+ @include typography.si-font(
288
+ typography.$si-font-size-display-xxl-sbold,
289
+ typography.$si-line-height-display-xxl-sbold,
290
+ typography.$si-font-weight-display-xxl-sbold
291
+ );
292
+ }
293
+
246
294
  .si-display-lg,
247
295
  .display-2 {
248
296
  @include typography.si-font(
@@ -252,6 +300,14 @@ h6,
252
300
  );
253
301
  }
254
302
 
303
+ .si-display-lg-sbold {
304
+ @include typography.si-font(
305
+ typography.$si-font-size-display-lg-sbold,
306
+ typography.$si-line-height-display-lg-sbold,
307
+ typography.$si-font-weight-display-lg-sbold
308
+ );
309
+ }
310
+
255
311
  .si-display-bold,
256
312
  .display-3 {
257
313
  @include typography.si-font(
@@ -261,6 +317,14 @@ h6,
261
317
  );
262
318
  }
263
319
 
320
+ .si-display-sbold {
321
+ @include typography.si-font(
322
+ typography.$si-font-size-display-sbold,
323
+ typography.$si-line-height-display-sbold,
324
+ typography.$si-font-weight-display-sbold
325
+ );
326
+ }
327
+
264
328
  .si-display,
265
329
  .display-4 {
266
330
  @include typography.si-font(