elixir-toolkit-theme 2.1.0 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_includes/contributor-carousel-selection.html +2 -3
- data/_includes/contributor-minitiles-page.html +2 -3
- data/_includes/contributor-tiles-all.html +2 -3
- data/_includes/news.html +1 -1
- data/_includes/resource-table-all.html +1 -1
- data/_includes/section-navigation-tiles.html +20 -2
- data/_layouts/default.html +2 -2
- data/_layouts/page.html +1 -1
- data/_sass/bootstrap/_accordion.scss +9 -0
- data/_sass/bootstrap/_alert.scss +8 -11
- data/_sass/bootstrap/_button-group.scss +2 -2
- data/_sass/bootstrap/_buttons.scss +3 -3
- data/_sass/bootstrap/_card.scss +5 -0
- data/_sass/bootstrap/_carousel.scss +20 -2
- data/_sass/bootstrap/_close.scss +32 -9
- data/_sass/bootstrap/_dropdown.scss +1 -0
- data/_sass/bootstrap/_functions.scss +1 -1
- data/_sass/bootstrap/_grid.scss +6 -0
- data/_sass/bootstrap/_helpers.scss +2 -0
- data/_sass/bootstrap/_list-group.scss +12 -7
- data/_sass/bootstrap/_maps.scss +120 -0
- data/_sass/bootstrap/_mixins.scss +1 -2
- data/_sass/bootstrap/_nav.scss +42 -17
- data/_sass/bootstrap/_navbar.scss +15 -4
- data/_sass/bootstrap/_offcanvas.scss +4 -2
- data/_sass/bootstrap/_pagination.scss +1 -1
- data/_sass/bootstrap/_progress.scss +10 -1
- data/_sass/bootstrap/_reboot.scss +7 -7
- data/_sass/bootstrap/_root.scss +121 -10
- data/_sass/bootstrap/_tables.scss +18 -11
- data/_sass/bootstrap/_tooltip.scss +4 -5
- data/_sass/bootstrap/_utilities.scss +172 -13
- data/_sass/bootstrap/_variables-dark.scss +85 -0
- data/_sass/bootstrap/_variables.scss +268 -157
- data/_sass/bootstrap/bootstrap-grid.scss +1 -3
- data/_sass/bootstrap/bootstrap-reboot.scss +1 -0
- data/_sass/bootstrap/bootstrap-utilities.scss +1 -0
- data/_sass/bootstrap/bootstrap.scss +1 -0
- data/_sass/bootstrap/forms/_floating-labels.scss +23 -3
- data/_sass/bootstrap/forms/_form-check.scss +25 -12
- data/_sass/bootstrap/forms/_form-control.scss +24 -4
- data/_sass/bootstrap/forms/_form-range.scss +3 -3
- data/_sass/bootstrap/forms/_form-select.scss +12 -3
- data/_sass/bootstrap/forms/_input-group.scss +1 -1
- data/_sass/bootstrap/helpers/_color-bg.scss +1 -4
- data/_sass/bootstrap/helpers/_colored-links.scss +20 -2
- data/_sass/bootstrap/helpers/_focus-ring.scss +5 -0
- data/_sass/bootstrap/helpers/_icon-link.scss +25 -0
- data/_sass/bootstrap/helpers/_vr.scss +1 -1
- data/_sass/bootstrap/mixins/_alert.scss +4 -1
- data/_sass/bootstrap/mixins/_banner.scss +2 -4
- data/_sass/bootstrap/mixins/_caret.scss +30 -25
- data/_sass/bootstrap/mixins/_color-mode.scss +21 -0
- data/_sass/bootstrap/mixins/_forms.scss +8 -7
- data/_sass/bootstrap/mixins/_list-group.scss +2 -0
- data/_sass/bootstrap/mixins/_utilities.scss +1 -1
- data/_sass/bootstrap/mixins/_visually-hidden.scss +5 -1
- data/_sass/bootstrap/tests/jasmine.js +16 -0
- data/_sass/bootstrap/tests/mixins/_color-modes.test.scss +69 -0
- data/_sass/bootstrap/tests/mixins/_media-query-color-mode-full.test.scss +8 -0
- data/_sass/bootstrap/tests/mixins/_utilities.test.scss +393 -0
- data/_sass/bootstrap/tests/sass-true/register.js +14 -0
- data/_sass/bootstrap/tests/sass-true/runner.js +17 -0
- data/_sass/bootstrap/tests/utilities/_api.test.scss +75 -0
- data/_sass/bootstrap/vendor/_rfs.scss +23 -29
- data/assets/css/dataTables.bootstrap5.min.css +2 -2
- data/assets/css/main.scss +13 -1
- data/assets/js/anchor.min.js +3 -3
- data/assets/js/bootstrap.bundle.min.js +3 -3
- data/assets/js/bootstrap.bundle.min.js.map +1 -1
- data/assets/js/dataTables.bootstrap5.min.js +4 -14
- data/assets/js/jquery.dataTables.min.js +4 -187
- data/assets/js/jquery.min.js +2 -2
- data/assets/js/jquery.min.map +1 -1
- metadata +13 -2
@@ -5,9 +5,9 @@ $include-column-box-sizing: true !default;
|
|
5
5
|
|
6
6
|
@import "functions";
|
7
7
|
@import "variables";
|
8
|
+
@import "variables-dark";
|
8
9
|
@import "maps";
|
9
10
|
|
10
|
-
@import "mixins/lists";
|
11
11
|
@import "mixins/breakpoints";
|
12
12
|
@import "mixins/container";
|
13
13
|
@import "mixins/grid";
|
@@ -15,8 +15,6 @@ $include-column-box-sizing: true !default;
|
|
15
15
|
|
16
16
|
@import "vendor/rfs";
|
17
17
|
|
18
|
-
@import "root";
|
19
|
-
|
20
18
|
@import "containers";
|
21
19
|
@import "grid";
|
22
20
|
|
@@ -5,6 +5,7 @@
|
|
5
5
|
> .form-control-plaintext,
|
6
6
|
> .form-select {
|
7
7
|
height: $form-floating-height;
|
8
|
+
min-height: $form-floating-height;
|
8
9
|
line-height: $form-floating-line-height;
|
9
10
|
}
|
10
11
|
|
@@ -12,7 +13,7 @@
|
|
12
13
|
position: absolute;
|
13
14
|
top: 0;
|
14
15
|
left: 0;
|
15
|
-
|
16
|
+
z-index: 2;
|
16
17
|
height: 100%; // allow textareas
|
17
18
|
padding: $form-floating-padding-y $form-floating-padding-x;
|
18
19
|
overflow: hidden;
|
@@ -55,14 +56,24 @@
|
|
55
56
|
> .form-control-plaintext,
|
56
57
|
> .form-select {
|
57
58
|
~ label {
|
58
|
-
|
59
|
+
color: rgba(var(--#{$prefix}body-color-rgb), #{$form-floating-label-opacity});
|
59
60
|
transform: $form-floating-label-transform;
|
61
|
+
|
62
|
+
&::after {
|
63
|
+
position: absolute;
|
64
|
+
inset: $form-floating-padding-y ($form-floating-padding-x * .5);
|
65
|
+
z-index: -1;
|
66
|
+
height: $form-floating-label-height;
|
67
|
+
content: "";
|
68
|
+
background-color: $input-bg;
|
69
|
+
@include border-radius($input-border-radius);
|
70
|
+
}
|
60
71
|
}
|
61
72
|
}
|
62
73
|
// Duplicated because `:-webkit-autofill` invalidates other selectors when grouped
|
63
74
|
> .form-control:-webkit-autofill {
|
64
75
|
~ label {
|
65
|
-
|
76
|
+
color: rgba(var(--#{$prefix}body-color-rgb), #{$form-floating-label-opacity});
|
66
77
|
transform: $form-floating-label-transform;
|
67
78
|
}
|
68
79
|
}
|
@@ -72,4 +83,13 @@
|
|
72
83
|
border-width: $input-border-width 0; // Required to properly position label text - as explained above
|
73
84
|
}
|
74
85
|
}
|
86
|
+
|
87
|
+
> :disabled ~ label,
|
88
|
+
> .form-control:disabled ~ label { // Required for `.form-control`s because of specificity
|
89
|
+
color: $form-floating-label-disabled-color;
|
90
|
+
|
91
|
+
&::after {
|
92
|
+
background-color: $input-disabled-bg;
|
93
|
+
}
|
94
|
+
}
|
75
95
|
}
|
@@ -27,16 +27,19 @@
|
|
27
27
|
}
|
28
28
|
|
29
29
|
.form-check-input {
|
30
|
+
--#{$prefix}form-check-bg: #{$form-check-input-bg};
|
31
|
+
|
30
32
|
width: $form-check-input-width;
|
31
33
|
height: $form-check-input-width;
|
32
34
|
margin-top: ($line-height-base - $form-check-input-width) * .5; // line-height minus check height
|
33
35
|
vertical-align: top;
|
34
|
-
|
36
|
+
appearance: none;
|
37
|
+
background-color: var(--#{$prefix}form-check-bg);
|
38
|
+
background-image: var(--#{$prefix}form-check-bg-image);
|
35
39
|
background-repeat: no-repeat;
|
36
40
|
background-position: center;
|
37
41
|
background-size: contain;
|
38
42
|
border: $form-check-input-border;
|
39
|
-
appearance: none;
|
40
43
|
print-color-adjust: exact; // Keep themed appearance for print
|
41
44
|
@include transition($form-check-transition);
|
42
45
|
|
@@ -65,17 +68,17 @@
|
|
65
68
|
|
66
69
|
&[type="checkbox"] {
|
67
70
|
@if $enable-gradients {
|
68
|
-
|
71
|
+
--#{$prefix}form-check-bg-image: #{escape-svg($form-check-input-checked-bg-image)}, var(--#{$prefix}gradient);
|
69
72
|
} @else {
|
70
|
-
|
73
|
+
--#{$prefix}form-check-bg-image: #{escape-svg($form-check-input-checked-bg-image)};
|
71
74
|
}
|
72
75
|
}
|
73
76
|
|
74
77
|
&[type="radio"] {
|
75
78
|
@if $enable-gradients {
|
76
|
-
|
79
|
+
--#{$prefix}form-check-bg-image: #{escape-svg($form-check-radio-checked-bg-image)}, var(--#{$prefix}gradient);
|
77
80
|
} @else {
|
78
|
-
|
81
|
+
--#{$prefix}form-check-bg-image: #{escape-svg($form-check-radio-checked-bg-image)};
|
79
82
|
}
|
80
83
|
}
|
81
84
|
}
|
@@ -85,9 +88,9 @@
|
|
85
88
|
border-color: $form-check-input-indeterminate-border-color;
|
86
89
|
|
87
90
|
@if $enable-gradients {
|
88
|
-
|
91
|
+
--#{$prefix}form-check-bg-image: #{escape-svg($form-check-input-indeterminate-bg-image)}, var(--#{$prefix}gradient);
|
89
92
|
} @else {
|
90
|
-
|
93
|
+
--#{$prefix}form-check-bg-image: #{escape-svg($form-check-input-indeterminate-bg-image)};
|
91
94
|
}
|
92
95
|
}
|
93
96
|
|
@@ -121,24 +124,26 @@
|
|
121
124
|
padding-left: $form-switch-padding-start;
|
122
125
|
|
123
126
|
.form-check-input {
|
127
|
+
--#{$prefix}form-switch-bg: #{escape-svg($form-switch-bg-image)};
|
128
|
+
|
124
129
|
width: $form-switch-width;
|
125
130
|
margin-left: $form-switch-padding-start * -1;
|
126
|
-
background-image:
|
131
|
+
background-image: var(--#{$prefix}form-switch-bg);
|
127
132
|
background-position: left center;
|
128
133
|
@include border-radius($form-switch-border-radius);
|
129
134
|
@include transition($form-switch-transition);
|
130
135
|
|
131
136
|
&:focus {
|
132
|
-
|
137
|
+
--#{$prefix}form-switch-bg: #{escape-svg($form-switch-focus-bg-image)};
|
133
138
|
}
|
134
139
|
|
135
140
|
&:checked {
|
136
141
|
background-position: $form-switch-checked-bg-position;
|
137
142
|
|
138
143
|
@if $enable-gradients {
|
139
|
-
|
144
|
+
--#{$prefix}form-switch-bg: #{escape-svg($form-switch-checked-bg-image)}, var(--#{$prefix}gradient);
|
140
145
|
} @else {
|
141
|
-
|
146
|
+
--#{$prefix}form-switch-bg: #{escape-svg($form-switch-checked-bg-image)};
|
142
147
|
}
|
143
148
|
}
|
144
149
|
}
|
@@ -173,3 +178,11 @@
|
|
173
178
|
}
|
174
179
|
}
|
175
180
|
}
|
181
|
+
|
182
|
+
@if $enable-dark-mode {
|
183
|
+
@include color-mode(dark) {
|
184
|
+
.form-switch .form-check-input:not(:checked):not(:focus) {
|
185
|
+
--#{$prefix}form-switch-bg: #{escape-svg($form-switch-bg-image-dark)};
|
186
|
+
}
|
187
|
+
}
|
188
|
+
}
|
@@ -11,10 +11,10 @@
|
|
11
11
|
font-weight: $input-font-weight;
|
12
12
|
line-height: $input-line-height;
|
13
13
|
color: $input-color;
|
14
|
+
appearance: none; // Fix appearance for date inputs in Safari
|
14
15
|
background-color: $input-bg;
|
15
16
|
background-clip: padding-box;
|
16
17
|
border: $input-border-width solid $input-border-color;
|
17
|
-
appearance: none; // Fix appearance for date inputs in Safari
|
18
18
|
|
19
19
|
// Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.
|
20
20
|
@include border-radius($input-border-radius, 0);
|
@@ -44,12 +44,31 @@
|
|
44
44
|
}
|
45
45
|
}
|
46
46
|
|
47
|
-
// Add some height to date inputs on iOS
|
48
|
-
// https://github.com/twbs/bootstrap/issues/23307
|
49
|
-
// TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved
|
50
47
|
&::-webkit-date-and-time-value {
|
48
|
+
// On Android Chrome, form-control's "width: 100%" makes the input width too small
|
49
|
+
// Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109
|
50
|
+
//
|
51
|
+
// On iOS Safari, form-control's "appearance: none" + "width: 100%" makes the input width too small
|
52
|
+
// Tested under iOS 16.2 / Safari 16.2
|
53
|
+
min-width: 85px; // Seems to be a good minimum safe width
|
54
|
+
|
55
|
+
// Add some height to date inputs on iOS
|
56
|
+
// https://github.com/twbs/bootstrap/issues/23307
|
57
|
+
// TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved
|
51
58
|
// Multiply line-height by 1em if it has no unit
|
52
59
|
height: if(unit($input-line-height) == "", $input-line-height * 1em, $input-line-height);
|
60
|
+
|
61
|
+
// Android Chrome type="date" is taller than the other inputs
|
62
|
+
// because of "margin: 1px 24px 1px 4px" inside the shadow DOM
|
63
|
+
// Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109
|
64
|
+
margin: 0;
|
65
|
+
}
|
66
|
+
|
67
|
+
// Prevent excessive date input height in Webkit
|
68
|
+
// https://github.com/twbs/bootstrap/issues/34433
|
69
|
+
&::-webkit-datetime-edit {
|
70
|
+
display: block;
|
71
|
+
padding: 0;
|
53
72
|
}
|
54
73
|
|
55
74
|
// Placeholder
|
@@ -186,6 +205,7 @@ textarea {
|
|
186
205
|
}
|
187
206
|
|
188
207
|
&::-webkit-color-swatch {
|
208
|
+
border: 0 !important; // stylelint-disable-line declaration-no-important
|
189
209
|
@include border-radius($input-border-radius);
|
190
210
|
}
|
191
211
|
|
@@ -8,8 +8,8 @@
|
|
8
8
|
width: 100%;
|
9
9
|
height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);
|
10
10
|
padding: 0; // Need to reset padding
|
11
|
-
background-color: transparent;
|
12
11
|
appearance: none;
|
12
|
+
background-color: transparent;
|
13
13
|
|
14
14
|
&:focus {
|
15
15
|
outline: 0;
|
@@ -28,12 +28,12 @@
|
|
28
28
|
width: $form-range-thumb-width;
|
29
29
|
height: $form-range-thumb-height;
|
30
30
|
margin-top: ($form-range-track-height - $form-range-thumb-height) * .5; // Webkit specific
|
31
|
+
appearance: none;
|
31
32
|
@include gradient-bg($form-range-thumb-bg);
|
32
33
|
border: $form-range-thumb-border;
|
33
34
|
@include border-radius($form-range-thumb-border-radius);
|
34
35
|
@include box-shadow($form-range-thumb-box-shadow);
|
35
36
|
@include transition($form-range-thumb-transition);
|
36
|
-
appearance: none;
|
37
37
|
|
38
38
|
&:active {
|
39
39
|
@include gradient-bg($form-range-thumb-active-bg);
|
@@ -54,12 +54,12 @@
|
|
54
54
|
&::-moz-range-thumb {
|
55
55
|
width: $form-range-thumb-width;
|
56
56
|
height: $form-range-thumb-height;
|
57
|
+
appearance: none;
|
57
58
|
@include gradient-bg($form-range-thumb-bg);
|
58
59
|
border: $form-range-thumb-border;
|
59
60
|
@include border-radius($form-range-thumb-border-radius);
|
60
61
|
@include box-shadow($form-range-thumb-box-shadow);
|
61
62
|
@include transition($form-range-thumb-transition);
|
62
|
-
appearance: none;
|
63
63
|
|
64
64
|
&:active {
|
65
65
|
@include gradient-bg($form-range-thumb-active-bg);
|
@@ -4,17 +4,19 @@
|
|
4
4
|
// https://primer.github.io/.
|
5
5
|
|
6
6
|
.form-select {
|
7
|
+
--#{$prefix}form-select-bg-img: #{escape-svg($form-select-indicator)};
|
8
|
+
|
7
9
|
display: block;
|
8
10
|
width: 100%;
|
9
11
|
padding: $form-select-padding-y $form-select-indicator-padding $form-select-padding-y $form-select-padding-x;
|
10
|
-
-moz-padding-start: subtract($form-select-padding-x, 3px); // See https://github.com/twbs/bootstrap/issues/32636
|
11
12
|
font-family: $form-select-font-family;
|
12
13
|
@include font-size($form-select-font-size);
|
13
14
|
font-weight: $form-select-font-weight;
|
14
15
|
line-height: $form-select-line-height;
|
15
16
|
color: $form-select-color;
|
17
|
+
appearance: none;
|
16
18
|
background-color: $form-select-bg;
|
17
|
-
background-image:
|
19
|
+
background-image: var(--#{$prefix}form-select-bg-img), var(--#{$prefix}form-select-bg-icon, none);
|
18
20
|
background-repeat: no-repeat;
|
19
21
|
background-position: $form-select-bg-position;
|
20
22
|
background-size: $form-select-bg-size;
|
@@ -22,7 +24,6 @@
|
|
22
24
|
@include border-radius($form-select-border-radius, 0);
|
23
25
|
@include box-shadow($form-select-box-shadow);
|
24
26
|
@include transition($form-select-transition);
|
25
|
-
appearance: none;
|
26
27
|
|
27
28
|
&:focus {
|
28
29
|
border-color: $form-select-focus-border-color;
|
@@ -69,3 +70,11 @@
|
|
69
70
|
@include font-size($form-select-font-size-lg);
|
70
71
|
@include border-radius($form-select-border-radius-lg);
|
71
72
|
}
|
73
|
+
|
74
|
+
@if $enable-dark-mode {
|
75
|
+
@include color-mode(dark) {
|
76
|
+
.form-select {
|
77
|
+
--#{$prefix}form-select-bg-img: #{escape-svg($form-select-indicator-dark)};
|
78
|
+
}
|
79
|
+
}
|
80
|
+
}
|
@@ -121,7 +121,7 @@
|
|
121
121
|
}
|
122
122
|
|
123
123
|
> :not(:first-child):not(.dropdown-menu)#{$validation-messages} {
|
124
|
-
margin-left:
|
124
|
+
margin-left: calc(#{$input-border-width} * -1); // stylelint-disable-line function-disallowed-list
|
125
125
|
@include border-start-radius(0);
|
126
126
|
}
|
127
127
|
|
@@ -1,10 +1,7 @@
|
|
1
|
-
// stylelint-disable function-name-case
|
2
|
-
|
3
1
|
// All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251
|
4
2
|
@each $color, $value in $theme-colors {
|
5
|
-
$color-rgb: to-rgb($value);
|
6
3
|
.text-bg-#{$color} {
|
7
4
|
color: color-contrast($value) if($enable-important-utilities, !important, null);
|
8
|
-
background-color: RGBA($color-rgb, var(--#{$prefix}bg-opacity, 1)) if($enable-important-utilities, !important, null);
|
5
|
+
background-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}bg-opacity, 1)) if($enable-important-utilities, !important, null);
|
9
6
|
}
|
10
7
|
}
|
@@ -1,12 +1,30 @@
|
|
1
|
+
// All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251
|
1
2
|
@each $color, $value in $theme-colors {
|
2
3
|
.link-#{$color} {
|
3
|
-
color: $
|
4
|
+
color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}link-opacity, 1)) if($enable-important-utilities, !important, null);
|
5
|
+
text-decoration-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}link-underline-opacity, 1)) if($enable-important-utilities, !important, null);
|
4
6
|
|
5
7
|
@if $link-shade-percentage != 0 {
|
6
8
|
&:hover,
|
7
9
|
&:focus {
|
8
|
-
color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage))
|
10
|
+
$hover-color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));
|
11
|
+
color: RGBA(#{to-rgb($hover-color)}, var(--#{$prefix}link-opacity, 1)) if($enable-important-utilities, !important, null);
|
12
|
+
text-decoration-color: RGBA(to-rgb($hover-color), var(--#{$prefix}link-underline-opacity, 1)) if($enable-important-utilities, !important, null);
|
9
13
|
}
|
10
14
|
}
|
11
15
|
}
|
12
16
|
}
|
17
|
+
|
18
|
+
// One-off special link helper as a bridge until v6
|
19
|
+
.link-body-emphasis {
|
20
|
+
color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-opacity, 1)) if($enable-important-utilities, !important, null);
|
21
|
+
text-decoration-color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-underline-opacity, 1)) if($enable-important-utilities, !important, null);
|
22
|
+
|
23
|
+
@if $link-shade-percentage != 0 {
|
24
|
+
&:hover,
|
25
|
+
&:focus {
|
26
|
+
color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-opacity, .75)) if($enable-important-utilities, !important, null);
|
27
|
+
text-decoration-color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-underline-opacity, .75)) if($enable-important-utilities, !important, null);
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
.focus-ring:focus {
|
2
|
+
outline: 0;
|
3
|
+
// By default, there is no `--bs-focus-ring-x`, `--bs-focus-ring-y`, or `--bs-focus-ring-blur`, but we provide CSS variables with fallbacks to initial `0` values
|
4
|
+
box-shadow: var(--#{$prefix}focus-ring-x, 0) var(--#{$prefix}focus-ring-y, 0) var(--#{$prefix}focus-ring-blur, 0) var(--#{$prefix}focus-ring-width) var(--#{$prefix}focus-ring-color);
|
5
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
.icon-link {
|
2
|
+
display: inline-flex;
|
3
|
+
gap: $icon-link-gap;
|
4
|
+
align-items: center;
|
5
|
+
text-decoration-color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, .5));
|
6
|
+
text-underline-offset: $icon-link-underline-offset;
|
7
|
+
backface-visibility: hidden;
|
8
|
+
|
9
|
+
> .bi {
|
10
|
+
flex-shrink: 0;
|
11
|
+
width: $icon-link-icon-size;
|
12
|
+
height: $icon-link-icon-size;
|
13
|
+
fill: currentcolor;
|
14
|
+
@include transition($icon-link-icon-transition);
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
.icon-link-hover {
|
19
|
+
&:hover,
|
20
|
+
&:focus-visible {
|
21
|
+
> .bi {
|
22
|
+
transform: var(--#{$prefix}icon-link-transform, $icon-link-icon-transform);
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
@@ -1,15 +1,18 @@
|
|
1
|
+
@include deprecate("`alert-variant()`", "v5.3.0", "v6.0.0");
|
2
|
+
|
1
3
|
// scss-docs-start alert-variant-mixin
|
2
4
|
@mixin alert-variant($background, $border, $color) {
|
3
5
|
--#{$prefix}alert-color: #{$color};
|
4
6
|
--#{$prefix}alert-bg: #{$background};
|
5
7
|
--#{$prefix}alert-border-color: #{$border};
|
8
|
+
--#{$prefix}alert-link-color: #{shade-color($color, 20%)};
|
6
9
|
|
7
10
|
@if $enable-gradients {
|
8
11
|
background-image: var(--#{$prefix}gradient);
|
9
12
|
}
|
10
13
|
|
11
14
|
.alert-link {
|
12
|
-
color:
|
15
|
+
color: var(--#{$prefix}alert-link-color);
|
13
16
|
}
|
14
17
|
}
|
15
18
|
// scss-docs-end alert-variant-mixin
|
@@ -1,9 +1,7 @@
|
|
1
1
|
@mixin bsBanner($file) {
|
2
2
|
/*!
|
3
|
-
* Bootstrap #{$file} v5.
|
4
|
-
* Copyright 2011-
|
5
|
-
* Copyright 2011-2022 Twitter, Inc.
|
3
|
+
* Bootstrap #{$file} v5.3.1 (https://getbootstrap.com/)
|
4
|
+
* Copyright 2011-2023 The Bootstrap Authors
|
6
5
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
7
6
|
*/
|
8
7
|
}
|
9
|
-
|
@@ -1,44 +1,49 @@
|
|
1
1
|
// scss-docs-start caret-mixins
|
2
|
-
@mixin caret-down {
|
3
|
-
border-top: $
|
4
|
-
border-right: $
|
2
|
+
@mixin caret-down($width: $caret-width) {
|
3
|
+
border-top: $width solid;
|
4
|
+
border-right: $width solid transparent;
|
5
5
|
border-bottom: 0;
|
6
|
-
border-left: $
|
6
|
+
border-left: $width solid transparent;
|
7
7
|
}
|
8
8
|
|
9
|
-
@mixin caret-up {
|
9
|
+
@mixin caret-up($width: $caret-width) {
|
10
10
|
border-top: 0;
|
11
|
-
border-right: $
|
12
|
-
border-bottom: $
|
13
|
-
border-left: $
|
11
|
+
border-right: $width solid transparent;
|
12
|
+
border-bottom: $width solid;
|
13
|
+
border-left: $width solid transparent;
|
14
14
|
}
|
15
15
|
|
16
|
-
@mixin caret-end {
|
17
|
-
border-top: $
|
16
|
+
@mixin caret-end($width: $caret-width) {
|
17
|
+
border-top: $width solid transparent;
|
18
18
|
border-right: 0;
|
19
|
-
border-bottom: $
|
20
|
-
border-left: $
|
19
|
+
border-bottom: $width solid transparent;
|
20
|
+
border-left: $width solid;
|
21
21
|
}
|
22
22
|
|
23
|
-
@mixin caret-start {
|
24
|
-
border-top: $
|
25
|
-
border-right: $
|
26
|
-
border-bottom: $
|
23
|
+
@mixin caret-start($width: $caret-width) {
|
24
|
+
border-top: $width solid transparent;
|
25
|
+
border-right: $width solid;
|
26
|
+
border-bottom: $width solid transparent;
|
27
27
|
}
|
28
28
|
|
29
|
-
@mixin caret(
|
29
|
+
@mixin caret(
|
30
|
+
$direction: down,
|
31
|
+
$width: $caret-width,
|
32
|
+
$spacing: $caret-spacing,
|
33
|
+
$vertical-align: $caret-vertical-align
|
34
|
+
) {
|
30
35
|
@if $enable-caret {
|
31
36
|
&::after {
|
32
37
|
display: inline-block;
|
33
|
-
margin-left: $
|
34
|
-
vertical-align: $
|
38
|
+
margin-left: $spacing;
|
39
|
+
vertical-align: $vertical-align;
|
35
40
|
content: "";
|
36
41
|
@if $direction == down {
|
37
|
-
@include caret-down();
|
42
|
+
@include caret-down($width);
|
38
43
|
} @else if $direction == up {
|
39
|
-
@include caret-up();
|
44
|
+
@include caret-up($width);
|
40
45
|
} @else if $direction == end {
|
41
|
-
@include caret-end();
|
46
|
+
@include caret-end($width);
|
42
47
|
}
|
43
48
|
}
|
44
49
|
|
@@ -49,10 +54,10 @@
|
|
49
54
|
|
50
55
|
&::before {
|
51
56
|
display: inline-block;
|
52
|
-
margin-right: $
|
53
|
-
vertical-align: $
|
57
|
+
margin-right: $spacing;
|
58
|
+
vertical-align: $vertical-align;
|
54
59
|
content: "";
|
55
|
-
@include caret-start();
|
60
|
+
@include caret-start($width);
|
56
61
|
}
|
57
62
|
}
|
58
63
|
|
@@ -0,0 +1,21 @@
|
|
1
|
+
// scss-docs-start color-mode-mixin
|
2
|
+
@mixin color-mode($mode: light, $root: false) {
|
3
|
+
@if $color-mode-type == "media-query" {
|
4
|
+
@if $root == true {
|
5
|
+
@media (prefers-color-scheme: $mode) {
|
6
|
+
:root {
|
7
|
+
@content;
|
8
|
+
}
|
9
|
+
}
|
10
|
+
} @else {
|
11
|
+
@media (prefers-color-scheme: $mode) {
|
12
|
+
@content;
|
13
|
+
}
|
14
|
+
}
|
15
|
+
} @else {
|
16
|
+
[data-bs-theme="#{$mode}"] {
|
17
|
+
@content;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
}
|
21
|
+
// scss-docs-end color-mode-mixin
|
@@ -21,7 +21,8 @@
|
|
21
21
|
$icon,
|
22
22
|
$tooltip-color: color-contrast($color),
|
23
23
|
$tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),
|
24
|
-
$focus-box-shadow: 0 0 $input-btn-focus-blur $input-focus-width rgba($color, $input-btn-focus-color-opacity)
|
24
|
+
$focus-box-shadow: 0 0 $input-btn-focus-blur $input-focus-width rgba($color, $input-btn-focus-color-opacity),
|
25
|
+
$border-color: $color
|
25
26
|
) {
|
26
27
|
.#{$state}-feedback {
|
27
28
|
display: none;
|
@@ -56,7 +57,7 @@
|
|
56
57
|
|
57
58
|
.form-control {
|
58
59
|
@include form-validation-state-selector($state) {
|
59
|
-
border-color: $color;
|
60
|
+
border-color: $border-color;
|
60
61
|
|
61
62
|
@if $enable-validation-icons {
|
62
63
|
padding-right: $input-height-inner;
|
@@ -67,7 +68,7 @@
|
|
67
68
|
}
|
68
69
|
|
69
70
|
&:focus {
|
70
|
-
border-color: $color;
|
71
|
+
border-color: $border-color;
|
71
72
|
box-shadow: $focus-box-shadow;
|
72
73
|
}
|
73
74
|
}
|
@@ -85,20 +86,20 @@
|
|
85
86
|
|
86
87
|
.form-select {
|
87
88
|
@include form-validation-state-selector($state) {
|
88
|
-
border-color: $color;
|
89
|
+
border-color: $border-color;
|
89
90
|
|
90
91
|
@if $enable-validation-icons {
|
91
92
|
&:not([multiple]):not([size]),
|
92
93
|
&:not([multiple])[size="1"] {
|
94
|
+
--#{$prefix}form-select-bg-icon: #{escape-svg($icon)};
|
93
95
|
padding-right: $form-select-feedback-icon-padding-end;
|
94
|
-
background-image: escape-svg($form-select-indicator), escape-svg($icon);
|
95
96
|
background-position: $form-select-bg-position, $form-select-feedback-icon-position;
|
96
97
|
background-size: $form-select-bg-size, $form-select-feedback-icon-size;
|
97
98
|
}
|
98
99
|
}
|
99
100
|
|
100
101
|
&:focus {
|
101
|
-
border-color: $color;
|
102
|
+
border-color: $border-color;
|
102
103
|
box-shadow: $focus-box-shadow;
|
103
104
|
}
|
104
105
|
}
|
@@ -114,7 +115,7 @@
|
|
114
115
|
|
115
116
|
.form-check-input {
|
116
117
|
@include form-validation-state-selector($state) {
|
117
|
-
border-color: $color;
|
118
|
+
border-color: $border-color;
|
118
119
|
|
119
120
|
&:checked {
|
120
121
|
background-color: $color;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
// Utility generator
|
2
2
|
// Used to generate utilities & print utilities
|
3
|
-
@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {
|
3
|
+
@mixin generate-utility($utility, $infix: "", $is-rfs-media-query: false) {
|
4
4
|
$values: map-get($utility, values);
|
5
5
|
|
6
6
|
// If the values are a list or string, convert it into a map
|