@gitlab/ui 113.3.2 → 113.4.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.
- package/CHANGELOG.md +7 -0
- package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +5 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/tailwind.css.map +1 -1
- package/package.json +4 -4
- package/src/components/base/animated_icon/animated_icon.scss +2 -2
- package/src/components/base/avatar/avatar.scss +12 -9
- package/src/components/base/badge/badge.scss +1 -1
- package/src/components/base/breadcrumb/breadcrumb.scss +1 -1
- package/src/components/base/button/button.scss +4 -4
- package/src/components/base/form/form_input/form_input.scss +4 -4
- package/src/components/base/new_dropdowns/base_dropdown/base_dropdown.vue +14 -4
- package/src/components/base/new_dropdowns/dropdown_item.scss +2 -2
- package/src/components/base/pagination/pagination.scss +4 -4
- package/src/components/charts/single_stat/single_stat.scss +3 -1
- package/src/scss/functions.scss +4 -3
- package/src/scss/mixins.scss +6 -4
- package/src/scss/variables.scss +9 -8
- package/src/vendor/bootstrap/scss/_custom-forms.scss +3 -3
- package/src/vendor/bootstrap/scss/_dropdown.scss +2 -1
- package/src/vendor/bootstrap/scss/_forms.scss +2 -1
- package/src/vendor/bootstrap/scss/_functions.scss +36 -30
- package/src/vendor/bootstrap/scss/_list-group.scss +2 -1
- package/src/vendor/bootstrap/scss/_modal.scss +1 -1
- package/src/vendor/bootstrap/scss/_navbar.scss +2 -1
- package/src/vendor/bootstrap/scss/_popover.scss +2 -1
- package/src/vendor/bootstrap/scss/_root.scss +3 -2
- package/src/vendor/bootstrap/scss/_tables.scss +2 -1
- package/src/vendor/bootstrap/scss/_variables.scss +21 -17
- package/src/vendor/bootstrap/scss/mixins/_alert.scss +3 -2
- package/src/vendor/bootstrap/scss/mixins/_background-variant.scss +3 -2
- package/src/vendor/bootstrap/scss/mixins/_badge.scss +2 -1
- package/src/vendor/bootstrap/scss/mixins/_border-radius.scss +5 -3
- package/src/vendor/bootstrap/scss/mixins/_box-shadow.scss +6 -5
- package/src/vendor/bootstrap/scss/mixins/_breakpoints.scss +6 -4
- package/src/vendor/bootstrap/scss/mixins/_buttons.scss +6 -5
- package/src/vendor/bootstrap/scss/mixins/_forms.scss +3 -2
- package/src/vendor/bootstrap/scss/mixins/_gradients.scss +2 -1
- package/src/vendor/bootstrap/scss/mixins/_grid-framework.scss +2 -1
- package/src/vendor/bootstrap/scss/mixins/_grid.scss +4 -3
- package/src/vendor/bootstrap/scss/mixins/_list-group.scss +2 -1
- package/src/vendor/bootstrap/scss/mixins/_table-row.scss +2 -1
- package/src/vendor/bootstrap/scss/mixins/_text-emphasis.scss +2 -1
- package/src/vendor/bootstrap/scss/mixins/_transition.scss +5 -4
- package/src/vendor/bootstrap/scss/utilities/_display.scss +2 -1
- package/src/vendor/bootstrap/scss/utilities/_embed.scss +5 -3
- package/src/vendor/bootstrap/scss/utilities/_flex.scss +2 -1
- package/src/vendor/bootstrap/scss/utilities/_float.scss +2 -1
- package/src/vendor/bootstrap/scss/utilities/_spacing.scss +2 -1
- package/src/vendor/bootstrap/scss/utilities/_text.scss +2 -1
- package/src/vendor/bootstrap/scss/vendor/_rfs.scss +13 -10
- package/src/vendor/bootstrap-vue/src/_variables.scss +3 -1
- package/src/vendor/bootstrap-vue/src/components/form-input/_form-input.scss +8 -6
- package/src/vendor/bootstrap-vue/src/components/table/_table.scss +5 -2
- package/src/vendor/bootstrap-vue/src/components/toast/_toast.scss +4 -2
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
@use "sass:color";
|
|
2
|
+
@use "sass:list";
|
|
3
|
+
@use "sass:map";
|
|
4
|
+
@use "sass:math";
|
|
5
|
+
@use "sass:meta";
|
|
6
|
+
@use "sass:string";
|
|
1
7
|
// Bootstrap functions
|
|
2
8
|
//
|
|
3
9
|
// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.
|
|
@@ -8,9 +14,9 @@
|
|
|
8
14
|
$prev-key: null;
|
|
9
15
|
$prev-num: null;
|
|
10
16
|
@each $key, $num in $map {
|
|
11
|
-
@if $prev-num == null or unit($num) == "%" or unit($prev-num) == "%" {
|
|
17
|
+
@if $prev-num == null or math.unit($num) == "%" or math.unit($prev-num) == "%" {
|
|
12
18
|
// Do nothing
|
|
13
|
-
} @else if not
|
|
19
|
+
} @else if not math.compatible($prev-num, $num) {
|
|
14
20
|
@warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
|
|
15
21
|
} @else if $prev-num >= $num {
|
|
16
22
|
@warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
|
|
@@ -23,9 +29,9 @@
|
|
|
23
29
|
// Starts at zero
|
|
24
30
|
// Used to ensure the min-width of the lowest breakpoint starts at 0.
|
|
25
31
|
@mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") {
|
|
26
|
-
@if length($map) > 0 {
|
|
27
|
-
$values: map
|
|
28
|
-
$first-value: nth($values, 1);
|
|
32
|
+
@if list.length($map) > 0 {
|
|
33
|
+
$values: map.values($map);
|
|
34
|
+
$first-value: list.nth($values, 1);
|
|
29
35
|
@if $first-value != 0 {
|
|
30
36
|
@warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
|
|
31
37
|
}
|
|
@@ -41,10 +47,10 @@
|
|
|
41
47
|
// @param {String} $replace ('') - New value
|
|
42
48
|
// @return {String} - Updated string
|
|
43
49
|
@function str-replace($string, $search, $replace: "") {
|
|
44
|
-
$index:
|
|
50
|
+
$index: string.index($string, $search);
|
|
45
51
|
|
|
46
52
|
@if $index {
|
|
47
|
-
@return
|
|
53
|
+
@return string.slice($string, 1, $index - 1) + $replace + str-replace(string.slice($string, $index + string.length($search)), $search, $replace);
|
|
48
54
|
}
|
|
49
55
|
|
|
50
56
|
@return $string;
|
|
@@ -55,11 +61,11 @@
|
|
|
55
61
|
// Requires the use of quotes around data URIs.
|
|
56
62
|
|
|
57
63
|
@function escape-svg($string) {
|
|
58
|
-
@if
|
|
64
|
+
@if string.index($string, "data:image/svg+xml") {
|
|
59
65
|
@each $char, $encoded in $escaped-characters {
|
|
60
66
|
// Do not escape the url brackets
|
|
61
|
-
@if
|
|
62
|
-
$string: url("#{str-replace(
|
|
67
|
+
@if string.index($string, "url(") == 1 {
|
|
68
|
+
$string: url("#{str-replace(string.slice($string, 6, -3), $char, $encoded)}");
|
|
63
69
|
} @else {
|
|
64
70
|
$string: str-replace($string, $char, $encoded);
|
|
65
71
|
}
|
|
@@ -71,9 +77,9 @@
|
|
|
71
77
|
|
|
72
78
|
// Color contrast
|
|
73
79
|
@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {
|
|
74
|
-
$r: red($color);
|
|
75
|
-
$g: green($color);
|
|
76
|
-
$b: blue($color);
|
|
80
|
+
$r: color.red($color);
|
|
81
|
+
$g: color.green($color);
|
|
82
|
+
$b: color.blue($color);
|
|
77
83
|
|
|
78
84
|
$yiq: (($r * 299) + ($g * 587) + ($b * 114)) * .001;
|
|
79
85
|
|
|
@@ -86,24 +92,24 @@
|
|
|
86
92
|
|
|
87
93
|
// Retrieve color Sass maps
|
|
88
94
|
@function color($key: "blue") {
|
|
89
|
-
@return map
|
|
95
|
+
@return map.get($colors, $key);
|
|
90
96
|
}
|
|
91
97
|
|
|
92
98
|
@function theme-color($key: "primary") {
|
|
93
|
-
@return map
|
|
99
|
+
@return map.get($theme-colors, $key);
|
|
94
100
|
}
|
|
95
101
|
|
|
96
102
|
@function gray($key: "100") {
|
|
97
|
-
@return map
|
|
103
|
+
@return map.get($grays, $key);
|
|
98
104
|
}
|
|
99
105
|
|
|
100
106
|
// Request a theme color level
|
|
101
107
|
@function theme-color-level($color-name: "primary", $level: 0) {
|
|
102
108
|
$color: theme-color($color-name);
|
|
103
109
|
$color-base: if($level > 0, $black, $white);
|
|
104
|
-
$level: abs($level);
|
|
110
|
+
$level: math.abs($level);
|
|
105
111
|
|
|
106
|
-
@return mix($color-base, $color, $level * $theme-color-interval);
|
|
112
|
+
@return color.mix($color-base, $color, $level * $theme-color-interval);
|
|
107
113
|
}
|
|
108
114
|
|
|
109
115
|
// Return valid calc
|
|
@@ -116,11 +122,11 @@
|
|
|
116
122
|
@return $value1;
|
|
117
123
|
}
|
|
118
124
|
|
|
119
|
-
@if type-of($value1) == number and type-of($value2) == number and
|
|
125
|
+
@if meta.type-of($value1) == number and meta.type-of($value2) == number and math.compatible($value1, $value2) {
|
|
120
126
|
@return $value1 + $value2;
|
|
121
127
|
}
|
|
122
128
|
|
|
123
|
-
@return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(" + ") + $value2);
|
|
129
|
+
@return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + string.unquote(" + ") + $value2);
|
|
124
130
|
}
|
|
125
131
|
|
|
126
132
|
@function subtract($value1, $value2, $return-calc: true) {
|
|
@@ -136,21 +142,21 @@
|
|
|
136
142
|
@return $value1;
|
|
137
143
|
}
|
|
138
144
|
|
|
139
|
-
@if type-of($value1) == number and type-of($value2) == number and
|
|
145
|
+
@if meta.type-of($value1) == number and meta.type-of($value2) == number and math.compatible($value1, $value2) {
|
|
140
146
|
@return $value1 - $value2;
|
|
141
147
|
}
|
|
142
148
|
|
|
143
|
-
@if type-of($value2) != number {
|
|
144
|
-
$value2: unquote("(") + $value2 + unquote(")");
|
|
149
|
+
@if meta.type-of($value2) != number {
|
|
150
|
+
$value2: string.unquote("(") + $value2 + string.unquote(")");
|
|
145
151
|
}
|
|
146
152
|
|
|
147
|
-
@return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(" - ") + $value2);
|
|
153
|
+
@return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + string.unquote(" - ") + $value2);
|
|
148
154
|
}
|
|
149
155
|
|
|
150
156
|
@function divide($dividend, $divisor, $precision: 10) {
|
|
151
157
|
$sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);
|
|
152
|
-
$dividend: abs($dividend);
|
|
153
|
-
$divisor: abs($divisor);
|
|
158
|
+
$dividend: math.abs($dividend);
|
|
159
|
+
$divisor: math.abs($divisor);
|
|
154
160
|
@if $dividend == 0 {
|
|
155
161
|
@return 0;
|
|
156
162
|
}
|
|
@@ -175,16 +181,16 @@
|
|
|
175
181
|
}
|
|
176
182
|
}
|
|
177
183
|
$result: $result * $factor * $sign;
|
|
178
|
-
$dividend-unit: unit($dividend);
|
|
179
|
-
$divisor-unit: unit($divisor);
|
|
184
|
+
$dividend-unit: math.unit($dividend);
|
|
185
|
+
$divisor-unit: math.unit($divisor);
|
|
180
186
|
$unit-map: (
|
|
181
187
|
"px": 1px,
|
|
182
188
|
"rem": 1rem,
|
|
183
189
|
"em": 1em,
|
|
184
190
|
"%": 1%
|
|
185
191
|
);
|
|
186
|
-
@if ($dividend-unit != $divisor-unit and map
|
|
187
|
-
$result: $result * map
|
|
192
|
+
@if ($dividend-unit != $divisor-unit and map.has-key($unit-map, $dividend-unit)) {
|
|
193
|
+
$result: $result * map.get($unit-map, $dividend-unit);
|
|
188
194
|
}
|
|
189
195
|
@return $result;
|
|
190
196
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use "sass:map";
|
|
1
2
|
// Base class
|
|
2
3
|
//
|
|
3
4
|
// Easily usable on <ul>, <ol>, or <div>.
|
|
@@ -89,7 +90,7 @@
|
|
|
89
90
|
//
|
|
90
91
|
// Change the layout of list group items from vertical (default) to horizontal.
|
|
91
92
|
|
|
92
|
-
@each $breakpoint in map
|
|
93
|
+
@each $breakpoint in map.keys($grid-breakpoints) {
|
|
93
94
|
@include media-breakpoint-up($breakpoint) {
|
|
94
95
|
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
|
95
96
|
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
|
|
43
43
|
// When fading in the modal, animate it to slide down
|
|
44
44
|
.modal.fade & {
|
|
45
|
-
@include transition($modal-transition);
|
|
46
45
|
transform: $modal-fade-transform;
|
|
46
|
+
@include transition($modal-transition);
|
|
47
47
|
}
|
|
48
48
|
.modal.show & {
|
|
49
49
|
transform: $modal-show-transform;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use "sass:map";
|
|
1
2
|
// Contents
|
|
2
3
|
//
|
|
3
4
|
// Navbar
|
|
@@ -147,7 +148,7 @@
|
|
|
147
148
|
// Generate series of `.navbar-expand-*` responsive classes for configuring
|
|
148
149
|
// where your navbar collapses.
|
|
149
150
|
.navbar-expand {
|
|
150
|
-
@each $breakpoint in map
|
|
151
|
+
@each $breakpoint in map.keys($grid-breakpoints) {
|
|
151
152
|
$next: breakpoint-next($breakpoint, $grid-breakpoints);
|
|
152
153
|
$infix: breakpoint-infix($next, $grid-breakpoints);
|
|
153
154
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use "sass:color";
|
|
1
2
|
.popover {
|
|
2
3
|
position: absolute;
|
|
3
4
|
top: 0;
|
|
@@ -156,7 +157,7 @@
|
|
|
156
157
|
@include font-size($font-size-base);
|
|
157
158
|
color: $popover-header-color;
|
|
158
159
|
background-color: $popover-header-bg;
|
|
159
|
-
border-bottom: $popover-border-width solid
|
|
160
|
+
border-bottom: $popover-border-width solid color.adjust($popover-header-bg, $lightness: -5%);
|
|
160
161
|
@include border-top-radius($popover-inner-border-radius);
|
|
161
162
|
|
|
162
163
|
&:empty {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use "sass:meta";
|
|
1
2
|
:root {
|
|
2
3
|
// Custom variable values only support SassScript inside `#{}`.
|
|
3
4
|
@each $color, $value in $colors {
|
|
@@ -14,6 +15,6 @@
|
|
|
14
15
|
|
|
15
16
|
// Use `inspect` for lists so that quoted items keep the quotes.
|
|
16
17
|
// See https://github.com/sass/sass/issues/2383#issuecomment-336349172
|
|
17
|
-
--font-family-sans-serif: #{inspect($font-family-sans-serif)};
|
|
18
|
-
--font-family-monospace: #{inspect($font-family-monospace)};
|
|
18
|
+
--font-family-sans-serif: #{meta.inspect($font-family-sans-serif)};
|
|
19
|
+
--font-family-monospace: #{meta.inspect($font-family-monospace)};
|
|
19
20
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use "sass:map";
|
|
1
2
|
//
|
|
2
3
|
// Condensed table w/ half padding
|
|
3
4
|
//
|
|
@@ -136,7 +137,7 @@
|
|
|
136
137
|
// size of where your table will overflow.
|
|
137
138
|
|
|
138
139
|
.table-responsive {
|
|
139
|
-
@each $breakpoint in map
|
|
140
|
+
@each $breakpoint in map.keys($grid-breakpoints) {
|
|
140
141
|
$next: breakpoint-next($breakpoint, $grid-breakpoints);
|
|
141
142
|
$infix: breakpoint-infix($next, $grid-breakpoints);
|
|
142
143
|
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
@use "sass:color";
|
|
2
|
+
@use "sass:list";
|
|
3
|
+
@use "sass:map";
|
|
4
|
+
@use "sass:string";
|
|
1
5
|
// Variables
|
|
2
6
|
//
|
|
3
7
|
// Variables should follow the `$component-state-property-size` formula for
|
|
@@ -18,7 +22,7 @@ $gray-900: #212529 !default;
|
|
|
18
22
|
$black: #000 !default;
|
|
19
23
|
|
|
20
24
|
$grays: () !default;
|
|
21
|
-
$grays: map
|
|
25
|
+
$grays: map.merge(
|
|
22
26
|
(
|
|
23
27
|
"100": $gray-100,
|
|
24
28
|
"200": $gray-200,
|
|
@@ -45,7 +49,7 @@ $teal: #20c997 !default;
|
|
|
45
49
|
$cyan: #17a2b8 !default;
|
|
46
50
|
|
|
47
51
|
$colors: () !default;
|
|
48
|
-
$colors: map
|
|
52
|
+
$colors: map.merge(
|
|
49
53
|
(
|
|
50
54
|
"blue": $blue,
|
|
51
55
|
"indigo": $indigo,
|
|
@@ -74,7 +78,7 @@ $light: $gray-100 !default;
|
|
|
74
78
|
$dark: $gray-800 !default;
|
|
75
79
|
|
|
76
80
|
$theme-colors: () !default;
|
|
77
|
-
$theme-colors: map
|
|
81
|
+
$theme-colors: map.merge(
|
|
78
82
|
(
|
|
79
83
|
"primary": $primary,
|
|
80
84
|
"secondary": $secondary,
|
|
@@ -135,7 +139,7 @@ $enable-deprecation-messages: true !default;
|
|
|
135
139
|
|
|
136
140
|
$spacer: 1rem !default;
|
|
137
141
|
$spacers: () !default;
|
|
138
|
-
$spacers: map
|
|
142
|
+
$spacers: map.merge(
|
|
139
143
|
(
|
|
140
144
|
0: 0,
|
|
141
145
|
1: ($spacer * .25),
|
|
@@ -149,7 +153,7 @@ $spacers: map-merge(
|
|
|
149
153
|
|
|
150
154
|
// This variable affects the `.h-*` and `.w-*` classes.
|
|
151
155
|
$sizes: () !default;
|
|
152
|
-
$sizes: map
|
|
156
|
+
$sizes: map.merge(
|
|
153
157
|
(
|
|
154
158
|
25: 25%,
|
|
155
159
|
50: 50%,
|
|
@@ -175,7 +179,7 @@ $body-color: $gray-900 !default;
|
|
|
175
179
|
|
|
176
180
|
$link-color: theme-color("primary") !default;
|
|
177
181
|
$link-decoration: none !default;
|
|
178
|
-
$link-hover-color:
|
|
182
|
+
$link-hover-color: color.adjust($link-color, $lightness: -15%) !default;
|
|
179
183
|
$link-hover-decoration: underline !default;
|
|
180
184
|
// Darken percentage for links with `.text-*` class (e.g. `.text-success`)
|
|
181
185
|
$emphasized-link-hover-darken-percentage: 15% !default;
|
|
@@ -260,7 +264,7 @@ $transition-collapse: height .35s ease !default;
|
|
|
260
264
|
$transition-collapse-width: width .35s ease !default;
|
|
261
265
|
|
|
262
266
|
$embed-responsive-aspect-ratios: () !default;
|
|
263
|
-
$embed-responsive-aspect-ratios: join(
|
|
267
|
+
$embed-responsive-aspect-ratios: list.join(
|
|
264
268
|
(
|
|
265
269
|
(21 9),
|
|
266
270
|
(16 9),
|
|
@@ -371,7 +375,7 @@ $table-dark-bg: $gray-800 !default;
|
|
|
371
375
|
$table-dark-accent-bg: rgba($white, .05) !default;
|
|
372
376
|
$table-dark-hover-color: $table-dark-color !default;
|
|
373
377
|
$table-dark-hover-bg: rgba($white, .075) !default;
|
|
374
|
-
$table-dark-border-color:
|
|
378
|
+
$table-dark-border-color: color.adjust($table-dark-bg, $lightness: 7.5%) !default;
|
|
375
379
|
|
|
376
380
|
$table-striped-order: odd !default;
|
|
377
381
|
|
|
@@ -484,7 +488,7 @@ $input-border-radius-lg: $border-radius-lg !default;
|
|
|
484
488
|
$input-border-radius-sm: $border-radius-sm !default;
|
|
485
489
|
|
|
486
490
|
$input-focus-bg: $input-bg !default;
|
|
487
|
-
$input-focus-border-color:
|
|
491
|
+
$input-focus-border-color: color.adjust($component-active-bg, $lightness: 25%) !default;
|
|
488
492
|
$input-focus-color: $input-color !default;
|
|
489
493
|
$input-focus-width: $input-btn-focus-width !default;
|
|
490
494
|
$input-focus-box-shadow: $input-btn-focus-box-shadow !default;
|
|
@@ -549,7 +553,7 @@ $custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default
|
|
|
549
553
|
$custom-control-indicator-focus-border-color: $input-focus-border-color !default;
|
|
550
554
|
|
|
551
555
|
$custom-control-indicator-active-color: $component-active-color !default;
|
|
552
|
-
$custom-control-indicator-active-bg:
|
|
556
|
+
$custom-control-indicator-active-bg: color.adjust($component-active-bg, $lightness: 35%) !default;
|
|
553
557
|
$custom-control-indicator-active-box-shadow: null !default;
|
|
554
558
|
$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;
|
|
555
559
|
|
|
@@ -624,7 +628,7 @@ $custom-range-thumb-border-radius: 1rem !default;
|
|
|
624
628
|
$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;
|
|
625
629
|
$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;
|
|
626
630
|
$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge
|
|
627
|
-
$custom-range-thumb-active-bg:
|
|
631
|
+
$custom-range-thumb-active-bg: color.adjust($component-active-bg, $lightness: 35%) !default;
|
|
628
632
|
$custom-range-thumb-disabled-bg: $gray-500 !default;
|
|
629
633
|
|
|
630
634
|
$custom-file-height: $input-height !default;
|
|
@@ -664,7 +668,7 @@ $form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;
|
|
|
664
668
|
$form-feedback-icon-invalid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>") !default;
|
|
665
669
|
|
|
666
670
|
$form-validation-states: () !default;
|
|
667
|
-
$form-validation-states: map
|
|
671
|
+
$form-validation-states: map.merge(
|
|
668
672
|
(
|
|
669
673
|
"valid": (
|
|
670
674
|
"color": $form-feedback-valid-color,
|
|
@@ -774,7 +778,7 @@ $dropdown-divider-margin-y: $nav-divider-margin-y !default;
|
|
|
774
778
|
$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;
|
|
775
779
|
|
|
776
780
|
$dropdown-link-color: $gray-900 !default;
|
|
777
|
-
$dropdown-link-hover-color:
|
|
781
|
+
$dropdown-link-hover-color: color.adjust($gray-900, $lightness: -5%) !default;
|
|
778
782
|
$dropdown-link-hover-bg: $gray-200 !default;
|
|
779
783
|
|
|
780
784
|
$dropdown-link-active-color: $component-active-color !default;
|
|
@@ -890,7 +894,7 @@ $popover-border-radius: $border-radius-lg !default;
|
|
|
890
894
|
$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;
|
|
891
895
|
$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;
|
|
892
896
|
|
|
893
|
-
$popover-header-bg:
|
|
897
|
+
$popover-header-bg: color.adjust($popover-bg, $lightness: -3%) !default;
|
|
894
898
|
$popover-header-color: $headings-color !default;
|
|
895
899
|
$popover-header-padding-y: .5rem !default;
|
|
896
900
|
$popover-header-padding-x: .75rem !default;
|
|
@@ -903,7 +907,7 @@ $popover-arrow-width: 1rem !default;
|
|
|
903
907
|
$popover-arrow-height: .5rem !default;
|
|
904
908
|
$popover-arrow-color: $popover-bg !default;
|
|
905
909
|
|
|
906
|
-
$popover-arrow-outer-color:
|
|
910
|
+
$popover-arrow-outer-color: color.adjust($popover-border-color, $alpha: .05) !default;
|
|
907
911
|
|
|
908
912
|
|
|
909
913
|
// Toasts
|
|
@@ -1068,7 +1072,7 @@ $breadcrumb-margin-bottom: 1rem !default;
|
|
|
1068
1072
|
$breadcrumb-bg: $gray-200 !default;
|
|
1069
1073
|
$breadcrumb-divider-color: $gray-600 !default;
|
|
1070
1074
|
$breadcrumb-active-color: $gray-600 !default;
|
|
1071
|
-
$breadcrumb-divider: quote("/") !default;
|
|
1075
|
+
$breadcrumb-divider: string.quote("/") !default;
|
|
1072
1076
|
|
|
1073
1077
|
$breadcrumb-border-radius: $border-radius !default;
|
|
1074
1078
|
|
|
@@ -1146,4 +1150,4 @@ $user-selects: all, auto, none !default;
|
|
|
1146
1150
|
// Printing
|
|
1147
1151
|
|
|
1148
1152
|
$print-page-size: a3 !default;
|
|
1149
|
-
$print-body-min-width: map
|
|
1153
|
+
$print-body-min-width: map.get($grid-breakpoints, "lg") !default;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
@use "sass:color";
|
|
1
2
|
@mixin alert-variant($background, $border, $color) {
|
|
2
3
|
color: $color;
|
|
3
4
|
@include gradient-bg($background);
|
|
4
5
|
border-color: $border;
|
|
5
6
|
|
|
6
7
|
hr {
|
|
7
|
-
border-top-color:
|
|
8
|
+
border-top-color: color.adjust($border, $lightness: -5%);
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
.alert-link {
|
|
11
|
-
color:
|
|
12
|
+
color: color.adjust($color, $lightness: -10%);
|
|
12
13
|
}
|
|
13
14
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use "sass:color";
|
|
1
2
|
// stylelint-disable declaration-no-important
|
|
2
3
|
|
|
3
4
|
// Contextual backgrounds
|
|
@@ -9,7 +10,7 @@
|
|
|
9
10
|
a#{$parent},
|
|
10
11
|
button#{$parent} {
|
|
11
12
|
@include hover-focus() {
|
|
12
|
-
background-color:
|
|
13
|
+
background-color: color.adjust($color, $lightness: -10%) !important;
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
16
|
@include deprecate("The `bg-variant` mixin", "v4.4.0", "v5", $ignore-warning);
|
|
@@ -17,7 +18,7 @@
|
|
|
17
18
|
|
|
18
19
|
@mixin bg-gradient-variant($parent, $color, $ignore-warning: false) {
|
|
19
20
|
#{$parent} {
|
|
20
|
-
background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;
|
|
21
|
+
background: $color linear-gradient(180deg, color.mix($body-bg, $color, 15%), $color) repeat-x !important;
|
|
21
22
|
}
|
|
22
23
|
@include deprecate("The `bg-gradient-variant` mixin", "v4.5.0", "v5", $ignore-warning);
|
|
23
24
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use "sass:color";
|
|
1
2
|
@mixin badge-variant($bg) {
|
|
2
3
|
color: color-yiq($bg);
|
|
3
4
|
background-color: $bg;
|
|
@@ -5,7 +6,7 @@
|
|
|
5
6
|
@at-root a#{&} {
|
|
6
7
|
@include hover-focus() {
|
|
7
8
|
color: color-yiq($bg);
|
|
8
|
-
background-color:
|
|
9
|
+
background-color: color.adjust($bg, $lightness: -10%);
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
&:focus,
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@use "sass:list";
|
|
2
|
+
@use "sass:meta";
|
|
1
3
|
// stylelint-disable property-disallowed-list
|
|
2
4
|
// Single side border-radius
|
|
3
5
|
|
|
@@ -5,10 +7,10 @@
|
|
|
5
7
|
@function valid-radius($radius) {
|
|
6
8
|
$return: ();
|
|
7
9
|
@each $value in $radius {
|
|
8
|
-
@if type-of($value) == number {
|
|
9
|
-
$return: append($return, max($value, 0));
|
|
10
|
+
@if meta.type-of($value) == number {
|
|
11
|
+
$return: list.append($return, max($value, 0));
|
|
10
12
|
} @else {
|
|
11
|
-
$return: append($return, $value);
|
|
13
|
+
$return: list.append($return, $value);
|
|
12
14
|
}
|
|
13
15
|
}
|
|
14
16
|
@return $return;
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
+
@use "sass:list";
|
|
1
2
|
@mixin box-shadow($shadow...) {
|
|
2
3
|
@if $enable-shadows {
|
|
3
4
|
$result: ();
|
|
4
5
|
|
|
5
|
-
@if (length($shadow) == 1) {
|
|
6
|
+
@if (list.length($shadow) == 1) {
|
|
6
7
|
// We can pass `@include box-shadow(none);`
|
|
7
8
|
$result: $shadow;
|
|
8
9
|
} @else {
|
|
9
10
|
// Filter to avoid invalid properties for example `box-shadow: none, 1px 1px black;`
|
|
10
|
-
@for $i from 1 through length($shadow) {
|
|
11
|
-
@if nth($shadow, $i) != "none" {
|
|
12
|
-
$result: append($result, nth($shadow, $i), "comma");
|
|
11
|
+
@for $i from 1 through list.length($shadow) {
|
|
12
|
+
@if list.nth($shadow, $i) != "none" {
|
|
13
|
+
$result: list.append($result, list.nth($shadow, $i), "comma");
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
16
|
}
|
|
16
|
-
@if (length($result) > 0) {
|
|
17
|
+
@if (list.length($result) > 0) {
|
|
17
18
|
box-shadow: $result;
|
|
18
19
|
}
|
|
19
20
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@use "sass:list";
|
|
2
|
+
@use "sass:map";
|
|
1
3
|
// Breakpoint viewport sizes and media queries.
|
|
2
4
|
//
|
|
3
5
|
// Breakpoints are defined as a map of (name: minimum width), order from small to large:
|
|
@@ -14,9 +16,9 @@
|
|
|
14
16
|
// md
|
|
15
17
|
// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))
|
|
16
18
|
// md
|
|
17
|
-
@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map
|
|
18
|
-
$n: index($breakpoint-names, $name);
|
|
19
|
-
@return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);
|
|
19
|
+
@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {
|
|
20
|
+
$n: list.index($breakpoint-names, $name);
|
|
21
|
+
@return if($n != null and $n < list.length($breakpoint-names), list.nth($breakpoint-names, $n + 1), null);
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
// Minimum breakpoint width. Null for the smallest (first) breakpoint.
|
|
@@ -24,7 +26,7 @@
|
|
|
24
26
|
// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
|
|
25
27
|
// 576px
|
|
26
28
|
@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {
|
|
27
|
-
$min: map
|
|
29
|
+
$min: map.get($breakpoints, $name);
|
|
28
30
|
@return if($min != 0, $min, null);
|
|
29
31
|
}
|
|
30
32
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
@use "sass:color";
|
|
1
2
|
// Button variants
|
|
2
3
|
//
|
|
3
4
|
// Easily pump out default styles, as well as :hover, :focus, :active,
|
|
4
5
|
// and disabled options for all buttons
|
|
5
6
|
|
|
6
|
-
@mixin button-variant($background, $border, $hover-background:
|
|
7
|
+
@mixin button-variant($background, $border, $hover-background: color.adjust($background, $lightness: -7.5%), $hover-border: color.adjust($border, $lightness: -10%), $active-background: color.adjust($background, $lightness: -10%), $active-border: color.adjust($border, $lightness: -12.5%)) {
|
|
7
8
|
color: color-yiq($background);
|
|
8
9
|
@include gradient-bg($background);
|
|
9
10
|
border-color: $border;
|
|
@@ -21,10 +22,10 @@
|
|
|
21
22
|
@include gradient-bg($hover-background);
|
|
22
23
|
border-color: $hover-border;
|
|
23
24
|
@if $enable-shadows {
|
|
24
|
-
@include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));
|
|
25
|
+
@include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(color.mix(color-yiq($background), $border, 15%), .5));
|
|
25
26
|
} @else {
|
|
26
27
|
// Avoid using mixin so we can pass custom focus shadow properly
|
|
27
|
-
box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);
|
|
28
|
+
box-shadow: 0 0 0 $btn-focus-width rgba(color.mix(color-yiq($background), $border, 15%), .5);
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
31
|
|
|
@@ -52,10 +53,10 @@
|
|
|
52
53
|
|
|
53
54
|
&:focus {
|
|
54
55
|
@if $enable-shadows and $btn-active-box-shadow != none {
|
|
55
|
-
@include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));
|
|
56
|
+
@include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(color.mix(color-yiq($background), $border, 15%), .5));
|
|
56
57
|
} @else {
|
|
57
58
|
// Avoid using mixin so we can pass custom focus shadow properly
|
|
58
|
-
box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);
|
|
59
|
+
box-shadow: 0 0 0 $btn-focus-width rgba(color.mix(color-yiq($background), $border, 15%), .5);
|
|
59
60
|
}
|
|
60
61
|
}
|
|
61
62
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use "sass:color";
|
|
1
2
|
// Form control focus state
|
|
2
3
|
//
|
|
3
4
|
// Generate a customized focus state and for any input with the specified color,
|
|
@@ -160,8 +161,8 @@
|
|
|
160
161
|
|
|
161
162
|
&:checked {
|
|
162
163
|
~ .custom-control-label::before {
|
|
163
|
-
border-color:
|
|
164
|
-
@include gradient-bg(
|
|
164
|
+
border-color: color.adjust($color, $lightness: 10%);
|
|
165
|
+
@include gradient-bg(color.adjust($color, $lightness: 10%));
|
|
165
166
|
}
|
|
166
167
|
}
|
|
167
168
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
@use "sass:color";
|
|
1
2
|
// Gradients
|
|
2
3
|
|
|
3
4
|
@mixin gradient-bg($color) {
|
|
4
5
|
@if $enable-gradients {
|
|
5
|
-
background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;
|
|
6
|
+
background: $color linear-gradient(180deg, color.mix($body-bg, $color, 15%), $color) repeat-x;
|
|
6
7
|
} @else {
|
|
7
8
|
background-color: $color;
|
|
8
9
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use "sass:map";
|
|
1
2
|
// Framework grid generation
|
|
2
3
|
//
|
|
3
4
|
// Used only by Bootstrap to generate the correct number of grid classes given
|
|
@@ -12,7 +13,7 @@
|
|
|
12
13
|
padding-left: $gutter * .5;
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
@each $breakpoint in map
|
|
16
|
+
@each $breakpoint in map.keys($breakpoints) {
|
|
16
17
|
$infix: breakpoint-infix($breakpoint, $breakpoints);
|
|
17
18
|
|
|
18
19
|
@if $columns > 0 {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use "sass:math";
|
|
1
2
|
/// Grid system
|
|
2
3
|
//
|
|
3
4
|
// Generate semantic grid columns with these mixins.
|
|
@@ -38,11 +39,11 @@
|
|
|
38
39
|
}
|
|
39
40
|
|
|
40
41
|
@mixin make-col($size, $columns: $grid-columns) {
|
|
41
|
-
flex: 0 0 percentage(divide($size, $columns));
|
|
42
|
+
flex: 0 0 math.percentage(divide($size, $columns));
|
|
42
43
|
// Add a `max-width` to ensure content within each column does not blow out
|
|
43
44
|
// the width of the column. Applies to IE10+ and Firefox. Chrome and Safari
|
|
44
45
|
// do not appear to require this.
|
|
45
|
-
max-width: percentage(divide($size, $columns));
|
|
46
|
+
max-width: math.percentage(divide($size, $columns));
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
@mixin make-col-auto() {
|
|
@@ -53,7 +54,7 @@
|
|
|
53
54
|
|
|
54
55
|
@mixin make-col-offset($size, $columns: $grid-columns) {
|
|
55
56
|
$num: divide($size, $columns);
|
|
56
|
-
margin-left: if($num == 0, 0, percentage($num));
|
|
57
|
+
margin-left: if($num == 0, 0, math.percentage($num));
|
|
57
58
|
}
|
|
58
59
|
|
|
59
60
|
// Row columns
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use "sass:color";
|
|
1
2
|
// List Groups
|
|
2
3
|
|
|
3
4
|
@mixin list-group-item-variant($state, $background, $color) {
|
|
@@ -8,7 +9,7 @@
|
|
|
8
9
|
&.list-group-item-action {
|
|
9
10
|
@include hover-focus() {
|
|
10
11
|
color: $color;
|
|
11
|
-
background-color:
|
|
12
|
+
background-color: color.adjust($background, $lightness: -5%);
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
&.active {
|