bootstrap-scss 5.2.3 → 5.3.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 (53) hide show
  1. package/LICENSE +1 -2
  2. package/README.md +4 -4
  3. package/_accordion.scss +9 -0
  4. package/_alert.scss +8 -11
  5. package/_button-group.scss +2 -2
  6. package/_buttons.scss +3 -3
  7. package/_card.scss +5 -0
  8. package/_carousel.scss +20 -2
  9. package/_close.scss +32 -9
  10. package/_dropdown.scss +1 -0
  11. package/_functions.scss +1 -1
  12. package/_grid.scss +6 -0
  13. package/_helpers.scss +2 -0
  14. package/_list-group.scss +12 -7
  15. package/_maps.scss +120 -0
  16. package/_mixins.scss +1 -2
  17. package/_nav.scss +42 -17
  18. package/_navbar.scss +15 -4
  19. package/_offcanvas.scss +4 -2
  20. package/_pagination.scss +1 -1
  21. package/_progress.scss +10 -1
  22. package/_reboot.scss +7 -7
  23. package/_root.scss +121 -10
  24. package/_tables.scss +18 -11
  25. package/_tooltip.scss +4 -5
  26. package/_utilities.scss +172 -13
  27. package/_variables-dark.scss +85 -0
  28. package/_variables.scss +268 -157
  29. package/bootstrap-grid.scss +1 -3
  30. package/bootstrap-reboot.scss +1 -0
  31. package/bootstrap-utilities.scss +1 -0
  32. package/bootstrap.scss +1 -0
  33. package/forms/_floating-labels.scss +23 -3
  34. package/forms/_form-check.scss +25 -12
  35. package/forms/_form-control.scss +24 -4
  36. package/forms/_form-range.scss +3 -3
  37. package/forms/_form-select.scss +12 -3
  38. package/forms/_input-group.scss +1 -1
  39. package/helpers/_color-bg.scss +1 -4
  40. package/helpers/_colored-links.scss +20 -2
  41. package/helpers/_focus-ring.scss +5 -0
  42. package/helpers/_icon-link.scss +25 -0
  43. package/helpers/_vr.scss +1 -1
  44. package/mixins/_alert.scss +4 -1
  45. package/mixins/_banner.scss +2 -4
  46. package/mixins/_caret.scss +30 -25
  47. package/mixins/_color-mode.scss +21 -0
  48. package/mixins/_forms.scss +8 -7
  49. package/mixins/_list-group.scss +2 -0
  50. package/mixins/_utilities.scss +1 -1
  51. package/mixins/_visually-hidden.scss +5 -1
  52. package/package.json +1 -1
  53. package/vendor/_rfs.scss +23 -29
package/_offcanvas.scss CHANGED
@@ -12,6 +12,8 @@
12
12
  --#{$prefix}offcanvas-border-width: #{$offcanvas-border-width};
13
13
  --#{$prefix}offcanvas-border-color: #{$offcanvas-border-color};
14
14
  --#{$prefix}offcanvas-box-shadow: #{$offcanvas-box-shadow};
15
+ --#{$prefix}offcanvas-transition: #{transform $offcanvas-transition-duration ease-in-out};
16
+ --#{$prefix}offcanvas-title-line-height: #{$offcanvas-title-line-height};
15
17
  // scss-docs-end offcanvas-css-vars
16
18
  }
17
19
 
@@ -42,7 +44,7 @@
42
44
  background-clip: padding-box;
43
45
  outline: 0;
44
46
  @include box-shadow(var(--#{$prefix}offcanvas-box-shadow));
45
- @include transition(transform $offcanvas-transition-duration ease-in-out);
47
+ @include transition(var(--#{$prefix}offcanvas-transition));
46
48
 
47
49
  &.offcanvas-start {
48
50
  top: 0;
@@ -134,7 +136,7 @@
134
136
 
135
137
  .offcanvas-title {
136
138
  margin-bottom: 0;
137
- line-height: $offcanvas-title-line-height;
139
+ line-height: var(--#{$prefix}offcanvas-title-line-height);
138
140
  }
139
141
 
140
142
  .offcanvas-body {
package/_pagination.scss CHANGED
@@ -75,7 +75,7 @@
75
75
  margin-left: $pagination-margin-start;
76
76
  }
77
77
 
78
- @if $pagination-margin-start == ($pagination-border-width * -1) {
78
+ @if $pagination-margin-start == calc(#{$pagination-border-width} * -1) {
79
79
  &:first-child {
80
80
  .page-link {
81
81
  @include border-start-radius(var(--#{$prefix}pagination-border-radius));
package/_progress.scss CHANGED
@@ -8,7 +8,8 @@
8
8
  }
9
9
  // scss-docs-end progress-keyframes
10
10
 
11
- .progress {
11
+ .progress,
12
+ .progress-stacked {
12
13
  // scss-docs-start progress-css-vars
13
14
  --#{$prefix}progress-height: #{$progress-height};
14
15
  @include rfs($progress-font-size, --#{$prefix}progress-font-size);
@@ -46,6 +47,14 @@
46
47
  background-size: var(--#{$prefix}progress-height) var(--#{$prefix}progress-height);
47
48
  }
48
49
 
50
+ .progress-stacked > .progress {
51
+ overflow: visible;
52
+ }
53
+
54
+ .progress-stacked > .progress > .progress-bar {
55
+ width: 100%;
56
+ }
57
+
49
58
  @if $enable-transitions {
50
59
  .progress-bar-animated {
51
60
  animation: $progress-bar-animation-timing progress-bar-stripes;
package/_reboot.scss CHANGED
@@ -87,7 +87,7 @@ hr {
87
87
  font-style: $headings-font-style;
88
88
  font-weight: $headings-font-weight;
89
89
  line-height: $headings-line-height;
90
- color: $headings-color;
90
+ color: var(--#{$prefix}heading-color);
91
91
  }
92
92
 
93
93
  h1 {
@@ -241,11 +241,11 @@ sup { top: -.5em; }
241
241
  // Links
242
242
 
243
243
  a {
244
- color: var(--#{$prefix}link-color);
244
+ color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, 1));
245
245
  text-decoration: $link-decoration;
246
246
 
247
247
  &:hover {
248
- color: var(--#{$prefix}link-hover-color);
248
+ --#{$prefix}link-color-rgb: var(--#{$prefix}link-hover-color-rgb);
249
249
  text-decoration: $link-hover-decoration;
250
250
  }
251
251
  }
@@ -524,15 +524,15 @@ legend {
524
524
  height: auto;
525
525
  }
526
526
 
527
- // 1. Correct the outline style in Safari.
528
- // 2. This overrides the extra rounded corners on search inputs in iOS so that our
527
+ // 1. This overrides the extra rounded corners on search inputs in iOS so that our
529
528
  // `.form-control` class can properly style them. Note that this cannot simply
530
529
  // be added to `.form-control` as it's not specific enough. For details, see
531
530
  // https://github.com/twbs/bootstrap/issues/11586.
531
+ // 2. Correct the outline style in Safari.
532
532
 
533
533
  [type="search"] {
534
- outline-offset: -2px; // 1
535
- -webkit-appearance: textfield; // 2
534
+ -webkit-appearance: textfield; // 1
535
+ outline-offset: -2px; // 2
536
536
  }
537
537
 
538
538
  // 1. A few input types should stay LTR
package/_root.scss CHANGED
@@ -1,4 +1,5 @@
1
- :root {
1
+ :root,
2
+ [data-bs-theme="light"] {
2
3
  // Note: Custom variable values only support SassScript inside `#{}`.
3
4
 
4
5
  // Colors
@@ -21,10 +22,20 @@
21
22
  --#{$prefix}#{$color}-rgb: #{$value};
22
23
  }
23
24
 
25
+ @each $color, $value in $theme-colors-text {
26
+ --#{$prefix}#{$color}-text-emphasis: #{$value};
27
+ }
28
+
29
+ @each $color, $value in $theme-colors-bg-subtle {
30
+ --#{$prefix}#{$color}-bg-subtle: #{$value};
31
+ }
32
+
33
+ @each $color, $value in $theme-colors-border-subtle {
34
+ --#{$prefix}#{$color}-border-subtle: #{$value};
35
+ }
36
+
24
37
  --#{$prefix}white-rgb: #{to-rgb($white)};
25
38
  --#{$prefix}black-rgb: #{to-rgb($black)};
26
- --#{$prefix}body-color-rgb: #{to-rgb($body-color)};
27
- --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};
28
39
 
29
40
  // Fonts
30
41
 
@@ -39,17 +50,49 @@
39
50
  @if $font-size-root != null {
40
51
  --#{$prefix}root-font-size: #{$font-size-root};
41
52
  }
42
- --#{$prefix}body-font-family: #{$font-family-base};
53
+ --#{$prefix}body-font-family: #{inspect($font-family-base)};
43
54
  @include rfs($font-size-base, --#{$prefix}body-font-size);
44
55
  --#{$prefix}body-font-weight: #{$font-weight-base};
45
56
  --#{$prefix}body-line-height: #{$line-height-base};
46
- --#{$prefix}body-color: #{$body-color};
47
57
  @if $body-text-align != null {
48
58
  --#{$prefix}body-text-align: #{$body-text-align};
49
59
  }
60
+
61
+ --#{$prefix}body-color: #{$body-color};
62
+ --#{$prefix}body-color-rgb: #{to-rgb($body-color)};
50
63
  --#{$prefix}body-bg: #{$body-bg};
64
+ --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};
65
+
66
+ --#{$prefix}emphasis-color: #{$body-emphasis-color};
67
+ --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};
68
+
69
+ --#{$prefix}secondary-color: #{$body-secondary-color};
70
+ --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};
71
+ --#{$prefix}secondary-bg: #{$body-secondary-bg};
72
+ --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};
73
+
74
+ --#{$prefix}tertiary-color: #{$body-tertiary-color};
75
+ --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};
76
+ --#{$prefix}tertiary-bg: #{$body-tertiary-bg};
77
+ --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};
51
78
  // scss-docs-end root-body-variables
52
79
 
80
+ --#{$prefix}heading-color: #{$headings-color};
81
+
82
+ --#{$prefix}link-color: #{$link-color};
83
+ --#{$prefix}link-color-rgb: #{to-rgb($link-color)};
84
+ --#{$prefix}link-decoration: #{$link-decoration};
85
+
86
+ --#{$prefix}link-hover-color: #{$link-hover-color};
87
+ --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};
88
+
89
+ @if $link-hover-decoration != null {
90
+ --#{$prefix}link-hover-decoration: #{$link-hover-decoration};
91
+ }
92
+
93
+ --#{$prefix}code-color: #{$code-color};
94
+ --#{$prefix}highlight-bg: #{$mark-bg};
95
+
53
96
  // scss-docs-start root-border-var
54
97
  --#{$prefix}border-width: #{$border-width};
55
98
  --#{$prefix}border-style: #{$border-style};
@@ -60,14 +103,82 @@
60
103
  --#{$prefix}border-radius-sm: #{$border-radius-sm};
61
104
  --#{$prefix}border-radius-lg: #{$border-radius-lg};
62
105
  --#{$prefix}border-radius-xl: #{$border-radius-xl};
63
- --#{$prefix}border-radius-2xl: #{$border-radius-2xl};
106
+ --#{$prefix}border-radius-xxl: #{$border-radius-xxl};
107
+ --#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.3.0 for consistency
64
108
  --#{$prefix}border-radius-pill: #{$border-radius-pill};
65
109
  // scss-docs-end root-border-var
66
110
 
67
- --#{$prefix}link-color: #{$link-color};
68
- --#{$prefix}link-hover-color: #{$link-hover-color};
111
+ --#{$prefix}box-shadow: #{$box-shadow};
112
+ --#{$prefix}box-shadow-sm: #{$box-shadow-sm};
113
+ --#{$prefix}box-shadow-lg: #{$box-shadow-lg};
114
+ --#{$prefix}box-shadow-inset: #{$box-shadow-inset};
69
115
 
70
- --#{$prefix}code-color: #{$code-color};
116
+ // Focus styles
117
+ // scss-docs-start root-focus-variables
118
+ --#{$prefix}focus-ring-width: #{$focus-ring-width};
119
+ --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};
120
+ --#{$prefix}focus-ring-color: #{$focus-ring-color};
121
+ // scss-docs-end root-focus-variables
71
122
 
72
- --#{$prefix}highlight-bg: #{$mark-bg};
123
+ // scss-docs-start root-form-validation-variables
124
+ --#{$prefix}form-valid-color: #{$form-valid-color};
125
+ --#{$prefix}form-valid-border-color: #{$form-valid-border-color};
126
+ --#{$prefix}form-invalid-color: #{$form-invalid-color};
127
+ --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};
128
+ // scss-docs-end root-form-validation-variables
129
+ }
130
+
131
+ @if $enable-dark-mode {
132
+ @include color-mode(dark, true) {
133
+ color-scheme: dark;
134
+
135
+ // scss-docs-start root-dark-mode-vars
136
+ --#{$prefix}body-color: #{$body-color-dark};
137
+ --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};
138
+ --#{$prefix}body-bg: #{$body-bg-dark};
139
+ --#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};
140
+
141
+ --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};
142
+ --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};
143
+
144
+ --#{$prefix}secondary-color: #{$body-secondary-color-dark};
145
+ --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};
146
+ --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};
147
+ --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};
148
+
149
+ --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};
150
+ --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};
151
+ --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};
152
+ --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};
153
+
154
+ @each $color, $value in $theme-colors-text-dark {
155
+ --#{$prefix}#{$color}-text-emphasis: #{$value};
156
+ }
157
+
158
+ @each $color, $value in $theme-colors-bg-subtle-dark {
159
+ --#{$prefix}#{$color}-bg-subtle: #{$value};
160
+ }
161
+
162
+ @each $color, $value in $theme-colors-border-subtle-dark {
163
+ --#{$prefix}#{$color}-border-subtle: #{$value};
164
+ }
165
+
166
+ --#{$prefix}heading-color: #{$headings-color-dark};
167
+
168
+ --#{$prefix}link-color: #{$link-color-dark};
169
+ --#{$prefix}link-hover-color: #{$link-hover-color-dark};
170
+ --#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};
171
+ --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};
172
+
173
+ --#{$prefix}code-color: #{$code-color-dark};
174
+
175
+ --#{$prefix}border-color: #{$border-color-dark};
176
+ --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};
177
+
178
+ --#{$prefix}form-valid-color: #{$form-valid-color-dark};
179
+ --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};
180
+ --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};
181
+ --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};
182
+ // scss-docs-end root-dark-mode-vars
183
+ }
73
184
  }
package/_tables.scss CHANGED
@@ -3,6 +3,12 @@
3
3
  //
4
4
 
5
5
  .table {
6
+ // Reset needed for nesting tables
7
+ --#{$prefix}table-color-type: initial;
8
+ --#{$prefix}table-bg-type: initial;
9
+ --#{$prefix}table-color-state: initial;
10
+ --#{$prefix}table-bg-state: initial;
11
+ // End of reset
6
12
  --#{$prefix}table-color: #{$table-color};
7
13
  --#{$prefix}table-bg: #{$table-bg};
8
14
  --#{$prefix}table-border-color: #{$table-border-color};
@@ -16,7 +22,6 @@
16
22
 
17
23
  width: 100%;
18
24
  margin-bottom: $spacer;
19
- color: var(--#{$prefix}table-color);
20
25
  vertical-align: $table-cell-vertical-align;
21
26
  border-color: var(--#{$prefix}table-border-color);
22
27
 
@@ -27,9 +32,11 @@
27
32
  // stylelint-disable-next-line selector-max-universal
28
33
  > :not(caption) > * > * {
29
34
  padding: $table-cell-padding-y $table-cell-padding-x;
35
+ // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb
36
+ color: var(--#{$prefix}table-color-state, var(--#{$prefix}table-color-type, var(--#{$prefix}table-color)));
30
37
  background-color: var(--#{$prefix}table-bg);
31
38
  border-bottom-width: $table-border-width;
32
- box-shadow: inset 0 0 0 9999px var(--#{$prefix}table-accent-bg);
39
+ box-shadow: inset 0 0 0 9999px var(--#{$prefix}table-bg-state, var(--#{$prefix}table-bg-type, var(--#{$prefix}table-accent-bg)));
33
40
  }
34
41
 
35
42
  > tbody {
@@ -42,7 +49,7 @@
42
49
  }
43
50
 
44
51
  .table-group-divider {
45
- border-top: ($table-border-width * 2) solid $table-group-separator-color;
52
+ border-top: calc(#{$table-border-width} * 2) solid $table-group-separator-color; // stylelint-disable-line function-disallowed-list
46
53
  }
47
54
 
48
55
  //
@@ -104,16 +111,16 @@
104
111
  // For rows
105
112
  .table-striped {
106
113
  > tbody > tr:nth-of-type(#{$table-striped-order}) > * {
107
- --#{$prefix}table-accent-bg: var(--#{$prefix}table-striped-bg);
108
- color: var(--#{$prefix}table-striped-color);
114
+ --#{$prefix}table-color-type: var(--#{$prefix}table-striped-color);
115
+ --#{$prefix}table-bg-type: var(--#{$prefix}table-striped-bg);
109
116
  }
110
117
  }
111
118
 
112
119
  // For columns
113
120
  .table-striped-columns {
114
121
  > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {
115
- --#{$prefix}table-accent-bg: var(--#{$prefix}table-striped-bg);
116
- color: var(--#{$prefix}table-striped-color);
122
+ --#{$prefix}table-color-type: var(--#{$prefix}table-striped-color);
123
+ --#{$prefix}table-bg-type: var(--#{$prefix}table-striped-bg);
117
124
  }
118
125
  }
119
126
 
@@ -122,8 +129,8 @@
122
129
  // The `.table-active` class can be added to highlight rows or cells
123
130
 
124
131
  .table-active {
125
- --#{$prefix}table-accent-bg: var(--#{$prefix}table-active-bg);
126
- color: var(--#{$prefix}table-active-color);
132
+ --#{$prefix}table-color-state: var(--#{$prefix}table-active-color);
133
+ --#{$prefix}table-bg-state: var(--#{$prefix}table-active-bg);
127
134
  }
128
135
 
129
136
  // Hover effect
@@ -132,8 +139,8 @@
132
139
 
133
140
  .table-hover {
134
141
  > tbody > tr:hover > * {
135
- --#{$prefix}table-accent-bg: var(--#{$prefix}table-hover-bg);
136
- color: var(--#{$prefix}table-hover-color);
142
+ --#{$prefix}table-color-state: var(--#{$prefix}table-hover-color);
143
+ --#{$prefix}table-bg-state: var(--#{$prefix}table-hover-bg);
137
144
  }
138
145
  }
139
146
 
package/_tooltip.scss CHANGED
@@ -17,7 +17,6 @@
17
17
 
18
18
  z-index: var(--#{$prefix}tooltip-zindex);
19
19
  display: block;
20
- padding: var(--#{$prefix}tooltip-arrow-height);
21
20
  margin: var(--#{$prefix}tooltip-margin);
22
21
  @include deprecate("`$tooltip-margin`", "v5", "v5.x", true);
23
22
  // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
@@ -45,7 +44,7 @@
45
44
  }
46
45
 
47
46
  .bs-tooltip-top .tooltip-arrow {
48
- bottom: 0;
47
+ bottom: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list
49
48
 
50
49
  &::before {
51
50
  top: -1px;
@@ -56,7 +55,7 @@
56
55
 
57
56
  /* rtl:begin:ignore */
58
57
  .bs-tooltip-end .tooltip-arrow {
59
- left: 0;
58
+ left: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list
60
59
  width: var(--#{$prefix}tooltip-arrow-height);
61
60
  height: var(--#{$prefix}tooltip-arrow-width);
62
61
 
@@ -70,7 +69,7 @@
70
69
  /* rtl:end:ignore */
71
70
 
72
71
  .bs-tooltip-bottom .tooltip-arrow {
73
- top: 0;
72
+ top: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list
74
73
 
75
74
  &::before {
76
75
  bottom: -1px;
@@ -81,7 +80,7 @@
81
80
 
82
81
  /* rtl:begin:ignore */
83
82
  .bs-tooltip-start .tooltip-arrow {
84
- right: 0;
83
+ right: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list
85
84
  width: var(--#{$prefix}tooltip-arrow-height);
86
85
  height: var(--#{$prefix}tooltip-arrow-width);
87
86
 
package/_utilities.scss CHANGED
@@ -22,6 +22,20 @@ $utilities: map-merge(
22
22
  )
23
23
  ),
24
24
  // scss-docs-end utils-float
25
+ // Object Fit utilities
26
+ // scss-docs-start utils-object-fit
27
+ "object-fit": (
28
+ responsive: true,
29
+ property: object-fit,
30
+ values: (
31
+ contain: contain,
32
+ cover: cover,
33
+ fill: fill,
34
+ scale: scale-down,
35
+ none: none,
36
+ )
37
+ ),
38
+ // scss-docs-end utils-object-fit
25
39
  // Opacity utilities
26
40
  // scss-docs-start utils-opacity
27
41
  "opacity": (
@@ -40,6 +54,14 @@ $utilities: map-merge(
40
54
  property: overflow,
41
55
  values: auto hidden visible scroll,
42
56
  ),
57
+ "overflow-x": (
58
+ property: overflow-x,
59
+ values: auto hidden visible scroll,
60
+ ),
61
+ "overflow-y": (
62
+ property: overflow-y,
63
+ values: auto hidden visible scroll,
64
+ ),
43
65
  // scss-docs-end utils-overflow
44
66
  // scss-docs-start utils-display
45
67
  "display": (
@@ -47,7 +69,7 @@ $utilities: map-merge(
47
69
  print: true,
48
70
  property: display,
49
71
  class: d,
50
- values: inline inline-block block grid table table-row table-cell flex inline-flex none
72
+ values: inline inline-block block grid inline-grid table table-row table-cell flex inline-flex none
51
73
  ),
52
74
  // scss-docs-end utils-display
53
75
  // scss-docs-start utils-shadow
@@ -62,6 +84,14 @@ $utilities: map-merge(
62
84
  )
63
85
  ),
64
86
  // scss-docs-end utils-shadow
87
+ // scss-docs-start utils-focus-ring
88
+ "focus-ring": (
89
+ css-var: true,
90
+ css-variable-name: focus-ring-color,
91
+ class: focus-ring,
92
+ values: map-loop($theme-colors-rgb, rgba-css-var, "$key", "focus-ring")
93
+ ),
94
+ // scss-docs-end utils-focus-ring
65
95
  // scss-docs-start utils-position
66
96
  "position": (
67
97
  property: position,
@@ -141,9 +171,13 @@ $utilities: map-merge(
141
171
  ),
142
172
  values: $utilities-border-colors
143
173
  ),
174
+ "subtle-border-color": (
175
+ property: border-color,
176
+ class: border,
177
+ values: $utilities-border-subtle
178
+ ),
144
179
  "border-width": (
145
- css-var: true,
146
- css-variable-name: border-width,
180
+ property: border-width,
147
181
  class: border,
148
182
  values: $border-widths
149
183
  ),
@@ -450,6 +484,18 @@ $utilities: map-merge(
450
484
  class: gap,
451
485
  values: $spacers
452
486
  ),
487
+ "row-gap": (
488
+ responsive: true,
489
+ property: row-gap,
490
+ class: row-gap,
491
+ values: $spacers
492
+ ),
493
+ "column-gap": (
494
+ responsive: true,
495
+ property: column-gap,
496
+ class: column-gap,
497
+ values: $spacers
498
+ ),
453
499
  // scss-docs-end utils-spacing
454
500
  // Text
455
501
  // scss-docs-start utils-text
@@ -473,11 +519,12 @@ $utilities: map-merge(
473
519
  property: font-weight,
474
520
  class: fw,
475
521
  values: (
476
- light: $font-weight-light,
477
522
  lighter: $font-weight-lighter,
523
+ light: $font-weight-light,
478
524
  normal: $font-weight-normal,
479
- bold: $font-weight-bold,
525
+ medium: $font-weight-medium,
480
526
  semibold: $font-weight-semibold,
527
+ bold: $font-weight-bold,
481
528
  bolder: $font-weight-bolder
482
529
  )
483
530
  ),
@@ -535,9 +582,12 @@ $utilities: map-merge(
535
582
  values: map-merge(
536
583
  $utilities-text-colors,
537
584
  (
538
- "muted": $text-muted,
585
+ "muted": var(--#{$prefix}secondary-color), // deprecated
539
586
  "black-50": rgba($black, .5), // deprecated
540
587
  "white-50": rgba($white, .5), // deprecated
588
+ "body-secondary": var(--#{$prefix}secondary-color),
589
+ "body-tertiary": var(--#{$prefix}tertiary-color),
590
+ "body-emphasis": var(--#{$prefix}emphasis-color),
541
591
  "reset": inherit,
542
592
  )
543
593
  )
@@ -552,7 +602,62 @@ $utilities: map-merge(
552
602
  100: 1
553
603
  )
554
604
  ),
605
+ "text-color": (
606
+ property: color,
607
+ class: text,
608
+ values: $utilities-text-emphasis-colors
609
+ ),
555
610
  // scss-docs-end utils-color
611
+ // scss-docs-start utils-links
612
+ "link-opacity": (
613
+ css-var: true,
614
+ class: link-opacity,
615
+ state: hover,
616
+ values: (
617
+ 10: .1,
618
+ 25: .25,
619
+ 50: .5,
620
+ 75: .75,
621
+ 100: 1
622
+ )
623
+ ),
624
+ "link-offset": (
625
+ property: text-underline-offset,
626
+ class: link-offset,
627
+ state: hover,
628
+ values: (
629
+ 1: .125em,
630
+ 2: .25em,
631
+ 3: .375em,
632
+ )
633
+ ),
634
+ "link-underline": (
635
+ property: text-decoration-color,
636
+ class: link-underline,
637
+ local-vars: (
638
+ "link-underline-opacity": 1
639
+ ),
640
+ values: map-merge(
641
+ $utilities-links-underline,
642
+ (
643
+ null: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-underline-opacity, 1)),
644
+ )
645
+ )
646
+ ),
647
+ "link-underline-opacity": (
648
+ css-var: true,
649
+ class: link-underline-opacity,
650
+ state: hover,
651
+ values: (
652
+ 0: 0,
653
+ 10: .1,
654
+ 25: .25,
655
+ 50: .5,
656
+ 75: .75,
657
+ 100: 1
658
+ ),
659
+ ),
660
+ // scss-docs-end utils-links
556
661
  // scss-docs-start utils-bg-color
557
662
  "background-color": (
558
663
  property: background-color,
@@ -563,7 +668,9 @@ $utilities: map-merge(
563
668
  values: map-merge(
564
669
  $utilities-bg-colors,
565
670
  (
566
- "transparent": transparent
671
+ "transparent": transparent,
672
+ "body-secondary": rgba(var(--#{$prefix}secondary-bg-rgb), var(--#{$prefix}bg-opacity)),
673
+ "body-tertiary": rgba(var(--#{$prefix}tertiary-bg-rgb), var(--#{$prefix}bg-opacity)),
567
674
  )
568
675
  )
569
676
  ),
@@ -578,6 +685,11 @@ $utilities: map-merge(
578
685
  100: 1
579
686
  )
580
687
  ),
688
+ "subtle-background-color": (
689
+ property: background-color,
690
+ class: bg,
691
+ values: $utilities-bg-subtle
692
+ ),
581
693
  // scss-docs-end utils-bg-color
582
694
  "gradient": (
583
695
  property: background-image,
@@ -606,7 +718,7 @@ $utilities: map-merge(
606
718
  2: var(--#{$prefix}border-radius),
607
719
  3: var(--#{$prefix}border-radius-lg),
608
720
  4: var(--#{$prefix}border-radius-xl),
609
- 5: var(--#{$prefix}border-radius-2xl),
721
+ 5: var(--#{$prefix}border-radius-xxl),
610
722
  circle: 50%,
611
723
  pill: var(--#{$prefix}border-radius-pill)
612
724
  )
@@ -614,22 +726,62 @@ $utilities: map-merge(
614
726
  "rounded-top": (
615
727
  property: border-top-left-radius border-top-right-radius,
616
728
  class: rounded-top,
617
- values: (null: var(--#{$prefix}border-radius))
729
+ values: (
730
+ null: var(--#{$prefix}border-radius),
731
+ 0: 0,
732
+ 1: var(--#{$prefix}border-radius-sm),
733
+ 2: var(--#{$prefix}border-radius),
734
+ 3: var(--#{$prefix}border-radius-lg),
735
+ 4: var(--#{$prefix}border-radius-xl),
736
+ 5: var(--#{$prefix}border-radius-xxl),
737
+ circle: 50%,
738
+ pill: var(--#{$prefix}border-radius-pill)
739
+ )
618
740
  ),
619
741
  "rounded-end": (
620
742
  property: border-top-right-radius border-bottom-right-radius,
621
743
  class: rounded-end,
622
- values: (null: var(--#{$prefix}border-radius))
744
+ values: (
745
+ null: var(--#{$prefix}border-radius),
746
+ 0: 0,
747
+ 1: var(--#{$prefix}border-radius-sm),
748
+ 2: var(--#{$prefix}border-radius),
749
+ 3: var(--#{$prefix}border-radius-lg),
750
+ 4: var(--#{$prefix}border-radius-xl),
751
+ 5: var(--#{$prefix}border-radius-xxl),
752
+ circle: 50%,
753
+ pill: var(--#{$prefix}border-radius-pill)
754
+ )
623
755
  ),
624
756
  "rounded-bottom": (
625
757
  property: border-bottom-right-radius border-bottom-left-radius,
626
758
  class: rounded-bottom,
627
- values: (null: var(--#{$prefix}border-radius))
759
+ values: (
760
+ null: var(--#{$prefix}border-radius),
761
+ 0: 0,
762
+ 1: var(--#{$prefix}border-radius-sm),
763
+ 2: var(--#{$prefix}border-radius),
764
+ 3: var(--#{$prefix}border-radius-lg),
765
+ 4: var(--#{$prefix}border-radius-xl),
766
+ 5: var(--#{$prefix}border-radius-xxl),
767
+ circle: 50%,
768
+ pill: var(--#{$prefix}border-radius-pill)
769
+ )
628
770
  ),
629
771
  "rounded-start": (
630
772
  property: border-bottom-left-radius border-top-left-radius,
631
773
  class: rounded-start,
632
- values: (null: var(--#{$prefix}border-radius))
774
+ values: (
775
+ null: var(--#{$prefix}border-radius),
776
+ 0: 0,
777
+ 1: var(--#{$prefix}border-radius-sm),
778
+ 2: var(--#{$prefix}border-radius),
779
+ 3: var(--#{$prefix}border-radius-lg),
780
+ 4: var(--#{$prefix}border-radius-xl),
781
+ 5: var(--#{$prefix}border-radius-xxl),
782
+ circle: 50%,
783
+ pill: var(--#{$prefix}border-radius-pill)
784
+ )
633
785
  ),
634
786
  // scss-docs-end utils-border-radius
635
787
  // scss-docs-start utils-visibility
@@ -640,8 +792,15 @@ $utilities: map-merge(
640
792
  visible: visible,
641
793
  invisible: hidden,
642
794
  )
643
- )
795
+ ),
644
796
  // scss-docs-end utils-visibility
797
+ // scss-docs-start utils-zindex
798
+ "z-index": (
799
+ property: z-index,
800
+ class: z,
801
+ values: $zindex-levels,
802
+ )
803
+ // scss-docs-end utils-zindex
645
804
  ),
646
805
  $utilities
647
806
  );