@gitlab/ui 113.3.2 → 113.5.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 +14 -0
- package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +6 -2
- package/dist/components/base/new_dropdowns/listbox/listbox.js +145 -44
- package/dist/components/base/new_dropdowns/listbox/listbox_search_input.js +2 -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 +15 -5
- package/src/components/base/new_dropdowns/dropdown_item.scss +2 -2
- package/src/components/base/new_dropdowns/listbox/listbox.vue +321 -186
- package/src/components/base/new_dropdowns/listbox/listbox_search_input.vue +2 -0
- 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
- package/translations.js +3 -0
package/src/scss/functions.scss
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
@use 'sass:math';
|
|
2
|
+
@use 'sass:meta';
|
|
2
3
|
|
|
3
4
|
/*
|
|
4
5
|
* SASS preserves units in arithmetic operations. For example:
|
|
@@ -11,7 +12,7 @@
|
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
@function strip-unit($number) {
|
|
14
|
-
@if type-of($number) == 'number' and not unitless($number) {
|
|
15
|
+
@if meta.type-of($number) == 'number' and not math.is-unitless($number) {
|
|
15
16
|
@return math.div($number, extract-unit($number));
|
|
16
17
|
}
|
|
17
18
|
|
|
@@ -39,9 +40,9 @@
|
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
@function px-to-rem($px, $font-size-base: 16px) {
|
|
42
|
-
@if type-of($px) == 'number' {
|
|
43
|
+
@if meta.type-of($px) == 'number' {
|
|
43
44
|
@return single-unit-rem($px, $font-size-base);
|
|
44
|
-
} @else if type-of($px) == 'list' {
|
|
45
|
+
} @else if meta.type-of($px) == 'list' {
|
|
45
46
|
@return multiple-units-rem($px, $font-size-base);
|
|
46
47
|
} @else {
|
|
47
48
|
@return $px;
|
package/src/scss/mixins.scss
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
|
|
1
3
|
@mixin str-truncated($max-width: 82%) {
|
|
2
4
|
display: inline-block;
|
|
3
5
|
overflow: hidden;
|
|
@@ -102,7 +104,7 @@
|
|
|
102
104
|
* @param $name Breakpoint name, such as `sm` or `md`.
|
|
103
105
|
*/
|
|
104
106
|
@mixin gl-media-breakpoint-up($name) {
|
|
105
|
-
$min: map
|
|
107
|
+
$min: map.get($breakpoints, $name);
|
|
106
108
|
@if $min == null {
|
|
107
109
|
@error "#{$name} is not a valid breakpoint for this @media query.";
|
|
108
110
|
}
|
|
@@ -127,7 +129,7 @@
|
|
|
127
129
|
* @param $name Breakpoint, such as `sm` or `md`. `xs` is not valid
|
|
128
130
|
*/
|
|
129
131
|
@mixin gl-media-breakpoint-down($name) {
|
|
130
|
-
$max: map
|
|
132
|
+
$max: map.get($breakpoints, $name);
|
|
131
133
|
@if ($max == null or $max == 0) {
|
|
132
134
|
@error "#{$name} is not a valid breakpoint for this @media query.";
|
|
133
135
|
}
|
|
@@ -153,14 +155,14 @@
|
|
|
153
155
|
@function get-font-size-variable($size, $fixed) {
|
|
154
156
|
@if $fixed == true {
|
|
155
157
|
@if map-has-key($gl-font-sizes-fixed, $size) {
|
|
156
|
-
@return map
|
|
158
|
+
@return map.get($gl-font-sizes-fixed, $size);
|
|
157
159
|
} @else {
|
|
158
160
|
@error "#{$size} is not a valid fixed font size property";
|
|
159
161
|
@return null;
|
|
160
162
|
}
|
|
161
163
|
} @else {
|
|
162
164
|
@if map-has-key($gl-font-sizes, $size) {
|
|
163
|
-
@return map
|
|
165
|
+
@return map.get($gl-font-sizes, $size);
|
|
164
166
|
} @else {
|
|
165
167
|
@error "#{$size} is not a valid font size property";
|
|
166
168
|
@return null;
|
package/src/scss/variables.scss
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
1
2
|
@import 'functions';
|
|
2
3
|
@import '../tokens/build/scss/tokens';
|
|
3
4
|
|
|
@@ -108,14 +109,14 @@ $gl-font-sizes-fixed: (
|
|
|
108
109
|
|
|
109
110
|
// dynamic scale (default) resizes based on viewport width
|
|
110
111
|
$gl-font-sizes: (
|
|
111
|
-
100: map
|
|
112
|
-
200: map
|
|
113
|
-
300: map
|
|
114
|
-
400: map
|
|
115
|
-
500: clamp-between(map
|
|
116
|
-
600: clamp-between(map
|
|
117
|
-
700: clamp-between(map
|
|
118
|
-
800: clamp-between(map
|
|
112
|
+
100: map.get($gl-font-sizes-fixed, 100),
|
|
113
|
+
200: map.get($gl-font-sizes-fixed, 200),
|
|
114
|
+
300: map.get($gl-font-sizes-fixed, 300),
|
|
115
|
+
400: map.get($gl-font-sizes-fixed, 400),
|
|
116
|
+
500: clamp-between(map.get($gl-font-sizes-fixed, 500), px-to-rem(20px)),
|
|
117
|
+
600: clamp-between(map.get($gl-font-sizes-fixed, 600), px-to-rem(25px)),
|
|
118
|
+
700: clamp-between(map.get($gl-font-sizes-fixed, 700), px-to-rem(30px)),
|
|
119
|
+
800: clamp-between(map.get($gl-font-sizes-fixed, 800), px-to-rem(36px)),
|
|
119
120
|
);
|
|
120
121
|
|
|
121
122
|
// Heading variables
|
|
@@ -404,6 +404,7 @@
|
|
|
404
404
|
}
|
|
405
405
|
|
|
406
406
|
&::-webkit-slider-thumb {
|
|
407
|
+
appearance: none;
|
|
407
408
|
width: $custom-range-thumb-width;
|
|
408
409
|
height: $custom-range-thumb-height;
|
|
409
410
|
margin-top: ($custom-range-track-height - $custom-range-thumb-height) * .5; // Webkit specific
|
|
@@ -412,7 +413,6 @@
|
|
|
412
413
|
@include border-radius($custom-range-thumb-border-radius);
|
|
413
414
|
@include box-shadow($custom-range-thumb-box-shadow);
|
|
414
415
|
@include transition($custom-forms-transition);
|
|
415
|
-
appearance: none;
|
|
416
416
|
|
|
417
417
|
&:active {
|
|
418
418
|
@include gradient-bg($custom-range-thumb-active-bg);
|
|
@@ -431,6 +431,7 @@
|
|
|
431
431
|
}
|
|
432
432
|
|
|
433
433
|
&::-moz-range-thumb {
|
|
434
|
+
appearance: none;
|
|
434
435
|
width: $custom-range-thumb-width;
|
|
435
436
|
height: $custom-range-thumb-height;
|
|
436
437
|
@include gradient-bg($custom-range-thumb-bg);
|
|
@@ -438,7 +439,6 @@
|
|
|
438
439
|
@include border-radius($custom-range-thumb-border-radius);
|
|
439
440
|
@include box-shadow($custom-range-thumb-box-shadow);
|
|
440
441
|
@include transition($custom-forms-transition);
|
|
441
|
-
appearance: none;
|
|
442
442
|
|
|
443
443
|
&:active {
|
|
444
444
|
@include gradient-bg($custom-range-thumb-active-bg);
|
|
@@ -457,6 +457,7 @@
|
|
|
457
457
|
}
|
|
458
458
|
|
|
459
459
|
&::-ms-thumb {
|
|
460
|
+
appearance: none;
|
|
460
461
|
width: $custom-range-thumb-width;
|
|
461
462
|
height: $custom-range-thumb-height;
|
|
462
463
|
margin-top: 0; // Edge specific
|
|
@@ -467,7 +468,6 @@
|
|
|
467
468
|
@include border-radius($custom-range-thumb-border-radius);
|
|
468
469
|
@include box-shadow($custom-range-thumb-box-shadow);
|
|
469
470
|
@include transition($custom-forms-transition);
|
|
470
|
-
appearance: none;
|
|
471
471
|
|
|
472
472
|
&:active {
|
|
473
473
|
@include gradient-bg($custom-range-thumb-active-bg);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use "sass:map";
|
|
1
2
|
// The dropdown wrapper (`<div>`)
|
|
2
3
|
.dropup,
|
|
3
4
|
.dropright,
|
|
@@ -35,7 +36,7 @@
|
|
|
35
36
|
@include box-shadow($dropdown-box-shadow);
|
|
36
37
|
}
|
|
37
38
|
|
|
38
|
-
@each $breakpoint in map
|
|
39
|
+
@each $breakpoint in map.keys($grid-breakpoints) {
|
|
39
40
|
@include media-breakpoint-up($breakpoint) {
|
|
40
41
|
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
|
41
42
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use "sass:map";
|
|
1
2
|
// stylelint-disable selector-no-qualifying-type
|
|
2
3
|
|
|
3
4
|
//
|
|
@@ -260,7 +261,7 @@ textarea.form-control {
|
|
|
260
261
|
// server side validation.
|
|
261
262
|
|
|
262
263
|
@each $state, $data in $form-validation-states {
|
|
263
|
-
@include form-validation-state($state, map
|
|
264
|
+
@include form-validation-state($state, map.get($data, color), map.get($data, icon));
|
|
264
265
|
}
|
|
265
266
|
|
|
266
267
|
// Inline forms
|
|
@@ -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;
|