bootstrap 5.0.0.alpha2 → 5.0.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.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/README.md +7 -4
  4. data/assets/javascripts/bootstrap-global-this-define.js +6 -0
  5. data/assets/javascripts/bootstrap-global-this-undefine.js +2 -0
  6. data/assets/javascripts/bootstrap-sprockets.js +10 -7
  7. data/assets/javascripts/bootstrap.js +2554 -2564
  8. data/assets/javascripts/bootstrap.min.js +3 -3
  9. data/assets/javascripts/bootstrap/alert.js +119 -115
  10. data/assets/javascripts/bootstrap/base-component.js +63 -0
  11. data/assets/javascripts/bootstrap/button.js +67 -69
  12. data/assets/javascripts/bootstrap/carousel.js +340 -331
  13. data/assets/javascripts/bootstrap/collapse.js +214 -209
  14. data/assets/javascripts/bootstrap/dom/data.js +35 -48
  15. data/assets/javascripts/bootstrap/dom/event-handler.js +105 -98
  16. data/assets/javascripts/bootstrap/dom/manipulator.js +26 -34
  17. data/assets/javascripts/bootstrap/dom/selector-engine.js +28 -41
  18. data/assets/javascripts/bootstrap/dropdown.js +392 -325
  19. data/assets/javascripts/bootstrap/modal.js +492 -434
  20. data/assets/javascripts/bootstrap/offcanvas.js +671 -0
  21. data/assets/javascripts/bootstrap/popover.js +114 -132
  22. data/assets/javascripts/bootstrap/scrollspy.js +172 -180
  23. data/assets/javascripts/bootstrap/tab.js +168 -144
  24. data/assets/javascripts/bootstrap/toast.js +141 -150
  25. data/assets/javascripts/bootstrap/tooltip.js +466 -452
  26. data/assets/stylesheets/_bootstrap-grid.scss +9 -9
  27. data/assets/stylesheets/_bootstrap-reboot.scss +3 -3
  28. data/assets/stylesheets/_bootstrap.scss +5 -3
  29. data/assets/stylesheets/bootstrap/_accordion.scss +118 -0
  30. data/assets/stylesheets/bootstrap/_alert.scss +10 -3
  31. data/assets/stylesheets/bootstrap/_breadcrumb.scss +2 -4
  32. data/assets/stylesheets/bootstrap/_button-group.scss +5 -7
  33. data/assets/stylesheets/bootstrap/_buttons.scss +2 -15
  34. data/assets/stylesheets/bootstrap/_card.scss +2 -29
  35. data/assets/stylesheets/bootstrap/_carousel.scss +35 -18
  36. data/assets/stylesheets/bootstrap/_close.scss +2 -3
  37. data/assets/stylesheets/bootstrap/_dropdown.scss +33 -29
  38. data/assets/stylesheets/bootstrap/_forms.scss +1 -1
  39. data/assets/stylesheets/bootstrap/_functions.scss +11 -12
  40. data/assets/stylesheets/bootstrap/_list-group.scss +23 -6
  41. data/assets/stylesheets/bootstrap/_mixins.scss +1 -0
  42. data/assets/stylesheets/bootstrap/_modal.scss +2 -9
  43. data/assets/stylesheets/bootstrap/_nav.scss +12 -0
  44. data/assets/stylesheets/bootstrap/_navbar.scss +15 -2
  45. data/assets/stylesheets/bootstrap/_offcanvas.scss +77 -0
  46. data/assets/stylesheets/bootstrap/_pagination.scss +3 -3
  47. data/assets/stylesheets/bootstrap/_popover.scss +10 -22
  48. data/assets/stylesheets/bootstrap/_progress.scss +4 -1
  49. data/assets/stylesheets/bootstrap/_reboot.scss +48 -44
  50. data/assets/stylesheets/bootstrap/_root.scss +5 -5
  51. data/assets/stylesheets/bootstrap/_spinners.scss +18 -5
  52. data/assets/stylesheets/bootstrap/_tables.scss +15 -16
  53. data/assets/stylesheets/bootstrap/_toasts.scss +15 -12
  54. data/assets/stylesheets/bootstrap/_tooltip.scss +12 -12
  55. data/assets/stylesheets/bootstrap/_transitions.scss +2 -0
  56. data/assets/stylesheets/bootstrap/_utilities.scss +133 -70
  57. data/assets/stylesheets/bootstrap/_variables.scss +363 -207
  58. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +5 -5
  59. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +61 -0
  60. data/assets/stylesheets/bootstrap/forms/_form-check.scss +21 -11
  61. data/assets/stylesheets/bootstrap/forms/_form-control.scss +112 -9
  62. data/assets/stylesheets/bootstrap/forms/_form-range.scss +1 -46
  63. data/assets/stylesheets/bootstrap/forms/_form-select.scss +1 -16
  64. data/assets/stylesheets/bootstrap/forms/_input-group.scss +21 -40
  65. data/assets/stylesheets/bootstrap/forms/_validation.scss +1 -1
  66. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +2 -2
  67. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +2 -2
  68. data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +1 -1
  69. data/assets/stylesheets/bootstrap/mixins/_alert.scss +3 -1
  70. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +8 -6
  71. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +10 -5
  72. data/assets/stylesheets/bootstrap/mixins/_caret.scss +8 -6
  73. data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
  74. data/assets/stylesheets/bootstrap/mixins/_container.scss +2 -4
  75. data/assets/stylesheets/bootstrap/mixins/_forms.scss +26 -22
  76. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +5 -1
  77. data/assets/stylesheets/bootstrap/mixins/_grid.scss +18 -13
  78. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +3 -1
  79. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +5 -3
  80. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +7 -7
  81. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +19 -0
  82. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +3 -2
  83. data/assets/stylesheets/bootstrap/utilities/_api.scss +1 -1
  84. data/bootstrap.gemspec +1 -3
  85. data/lib/bootstrap/version.rb +2 -2
  86. data/tasks/updater/js.rb +20 -5
  87. data/tasks/updater/network.rb +7 -1
  88. data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
  89. data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
  90. data/test/dummy_rails/app/views/pages/root.html +89 -0
  91. data/test/dummy_rails/config/application.rb +0 -3
  92. data/test/gemfiles/rails_6_1.gemfile +7 -0
  93. metadata +20 -40
  94. data/assets/javascripts/bootstrap/dom/polyfill.js +0 -110
  95. data/assets/stylesheets/bootstrap/forms/_form-file.scss +0 -91
  96. data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
@@ -10,8 +10,7 @@
10
10
  width: 100%;
11
11
 
12
12
  > .form-control,
13
- > .form-select,
14
- > .form-file {
13
+ > .form-select {
15
14
  position: relative; // For focus state's z-index
16
15
  flex: 1 1 auto;
17
16
  width: 1%;
@@ -20,26 +19,10 @@
20
19
 
21
20
  // Bring the "active" form control to the top of surrounding elements
22
21
  > .form-control:focus,
23
- > .form-select:focus,
24
- > .form-file .form-file-input:focus ~ .form-file-label {
22
+ > .form-select:focus {
25
23
  z-index: 3;
26
24
  }
27
25
 
28
- // Bring the custom file input above the label
29
- > .form-file {
30
- > .form-file-input:focus {
31
- z-index: 4;
32
- }
33
-
34
- &:not(:last-child) > .form-file-label {
35
- @include border-right-radius(0);
36
- }
37
-
38
- &:not(:first-child) > .form-file-label {
39
- @include border-left-radius(0);
40
- }
41
- }
42
-
43
26
  // Ensure buttons are always above inputs for more visually pleasing borders.
44
27
  // This isn't needed for `.input-group-text` since it shares the same border-color
45
28
  // as our inputs.
@@ -80,14 +63,6 @@
80
63
  // Remix the default form control sizing classes into new ones for easier
81
64
  // manipulation.
82
65
 
83
- .input-group-lg > .form-control {
84
- min-height: $input-height-lg;
85
- }
86
-
87
- .input-group-lg > .form-select {
88
- height: $input-height-lg;
89
- }
90
-
91
66
  .input-group-lg > .form-control,
92
67
  .input-group-lg > .form-select,
93
68
  .input-group-lg > .input-group-text,
@@ -97,14 +72,6 @@
97
72
  @include border-radius($input-border-radius-lg);
98
73
  }
99
74
 
100
- .input-group-sm > .form-control {
101
- min-height: $input-height-sm;
102
- }
103
-
104
- .input-group-sm > .form-select {
105
- height: $input-height-sm;
106
- }
107
-
108
75
  .input-group-sm > .form-control,
109
76
  .input-group-sm > .form-select,
110
77
  .input-group-sm > .input-group-text,
@@ -128,13 +95,27 @@
128
95
 
129
96
  // stylelint-disable-next-line no-duplicate-selectors
130
97
  .input-group {
131
- > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
132
- > .dropdown-toggle:nth-last-child(n + 3) {
133
- @include border-right-radius(0);
98
+ &:not(.has-validation) {
99
+ > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
100
+ > .dropdown-toggle:nth-last-child(n + 3) {
101
+ @include border-end-radius(0);
102
+ }
103
+ }
104
+
105
+ &.has-validation {
106
+ > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu),
107
+ > .dropdown-toggle:nth-last-child(n + 4) {
108
+ @include border-end-radius(0);
109
+ }
110
+ }
111
+
112
+ $validation-messages: "";
113
+ @each $state in map-keys($form-validation-states) {
114
+ $validation-messages: $validation-messages + ":not(." + unquote($state) + "-tooltip)" + ":not(." + unquote($state) + "-feedback)";
134
115
  }
135
116
 
136
- > :not(:first-child):not(.dropdown-menu) {
117
+ > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {
137
118
  margin-left: -$input-border-width;
138
- @include border-left-radius(0);
119
+ @include border-start-radius(0);
139
120
  }
140
121
  }
@@ -7,6 +7,6 @@
7
7
 
8
8
  // scss-docs-start form-validation-states-loop
9
9
  @each $state, $data in $form-validation-states {
10
- @include form-validation-state($state, map-get($data, color), map-get($data, icon));
10
+ @include form-validation-state($state, $data...);
11
11
  }
12
12
  // scss-docs-end form-validation-states-loop
@@ -2,10 +2,10 @@
2
2
  .link-#{$color} {
3
3
  color: $value;
4
4
 
5
- @if $emphasized-link-hover-darken-percentage != 0 {
5
+ @if $link-shade-percentage != 0 {
6
6
  &:hover,
7
7
  &:focus {
8
- color: if(color-contrast($value) == $color-contrast-light, darken($value, $emphasized-link-hover-darken-percentage), lighten($value, $emphasized-link-hover-darken-percentage));
8
+ color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));
9
9
  }
10
10
  }
11
11
  }
@@ -6,7 +6,7 @@
6
6
 
7
7
  &::before {
8
8
  display: block;
9
- padding-top: var(--aspect-ratio);
9
+ padding-top: var(--#{$variable-prefix}aspect-ratio);
10
10
  content: "";
11
11
  }
12
12
 
@@ -21,6 +21,6 @@
21
21
 
22
22
  @each $key, $ratio in $aspect-ratios {
23
23
  .ratio-#{$key} {
24
- --aspect-ratio: #{$ratio};
24
+ --#{$variable-prefix}aspect-ratio: #{$ratio};
25
25
  }
26
26
  }
@@ -3,6 +3,6 @@
3
3
  //
4
4
 
5
5
  .visually-hidden,
6
- .visually-hidden-focusable:not(:focus) {
6
+ .visually-hidden-focusable:not(:focus):not(:focus-within) {
7
7
  @include visually-hidden();
8
8
  }
@@ -1,9 +1,11 @@
1
+ // scss-docs-start alert-variant-mixin
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
  .alert-link {
7
- color: darken($color, 10%);
8
+ color: shade-color($color, 20%);
8
9
  }
9
10
  }
11
+ // scss-docs-end alert-variant-mixin
@@ -14,6 +14,7 @@
14
14
  @return $return;
15
15
  }
16
16
 
17
+ // scss-docs-start border-radius-mixins
17
18
  @mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {
18
19
  @if $enable-rounded {
19
20
  border-radius: valid-radius($radius);
@@ -30,7 +31,7 @@
30
31
  }
31
32
  }
32
33
 
33
- @mixin border-right-radius($radius: $border-radius) {
34
+ @mixin border-end-radius($radius: $border-radius) {
34
35
  @if $enable-rounded {
35
36
  border-top-right-radius: valid-radius($radius);
36
37
  border-bottom-right-radius: valid-radius($radius);
@@ -44,33 +45,34 @@
44
45
  }
45
46
  }
46
47
 
47
- @mixin border-left-radius($radius: $border-radius) {
48
+ @mixin border-start-radius($radius: $border-radius) {
48
49
  @if $enable-rounded {
49
50
  border-top-left-radius: valid-radius($radius);
50
51
  border-bottom-left-radius: valid-radius($radius);
51
52
  }
52
53
  }
53
54
 
54
- @mixin border-top-left-radius($radius: $border-radius) {
55
+ @mixin border-top-start-radius($radius: $border-radius) {
55
56
  @if $enable-rounded {
56
57
  border-top-left-radius: valid-radius($radius);
57
58
  }
58
59
  }
59
60
 
60
- @mixin border-top-right-radius($radius: $border-radius) {
61
+ @mixin border-top-end-radius($radius: $border-radius) {
61
62
  @if $enable-rounded {
62
63
  border-top-right-radius: valid-radius($radius);
63
64
  }
64
65
  }
65
66
 
66
- @mixin border-bottom-right-radius($radius: $border-radius) {
67
+ @mixin border-bottom-end-radius($radius: $border-radius) {
67
68
  @if $enable-rounded {
68
69
  border-bottom-right-radius: valid-radius($radius);
69
70
  }
70
71
  }
71
72
 
72
- @mixin border-bottom-left-radius($radius: $border-radius) {
73
+ @mixin border-bottom-start-radius($radius: $border-radius) {
73
74
  @if $enable-rounded {
74
75
  border-bottom-left-radius: valid-radius($radius);
75
76
  }
76
77
  }
78
+ // scss-docs-end border-radius-mixins
@@ -3,15 +3,16 @@
3
3
  // Easily pump out default styles, as well as :hover, :focus, :active,
4
4
  // and disabled options for all buttons
5
5
 
6
+ // scss-docs-start btn-variant-mixin
6
7
  @mixin button-variant(
7
8
  $background,
8
9
  $border,
9
10
  $color: color-contrast($background),
10
- $hover-background: if($color == $color-contrast-light, darken($background, 7.5%), lighten($background, 7.5%)),
11
- $hover-border: if($color == $color-contrast-light, darken($border, 10%), lighten($border, 5%)),
11
+ $hover-background: if($color == $color-contrast-light, shade-color($background, $btn-hover-bg-shade-amount), tint-color($background, $btn-hover-bg-tint-amount)),
12
+ $hover-border: if($color == $color-contrast-light, shade-color($border, $btn-hover-border-shade-amount), tint-color($border, $btn-hover-border-tint-amount)),
12
13
  $hover-color: color-contrast($hover-background),
13
- $active-background: if($color == $color-contrast-light, darken($background, 10%), lighten($background, 10%)),
14
- $active-border: if($color == $color-contrast-light, darken($border, 12.5%), lighten($border, 5%)),
14
+ $active-background: if($color == $color-contrast-light, shade-color($background,$btn-active-bg-shade-amount), tint-color($background, $btn-active-bg-tint-amount)),
15
+ $active-border: if($color == $color-contrast-light, shade-color($border, $btn-active-border-shade-amount), tint-color($border, $btn-active-border-tint-amount)),
15
16
  $active-color: color-contrast($active-background),
16
17
  $disabled-background: $background,
17
18
  $disabled-border: $border,
@@ -71,7 +72,9 @@
71
72
  border-color: $disabled-border;
72
73
  }
73
74
  }
75
+ // scss-docs-end btn-variant-mixin
74
76
 
77
+ // scss-docs-start btn-outline-variant-mixin
75
78
  @mixin button-outline-variant(
76
79
  $color,
77
80
  $color-hover: color-contrast($color),
@@ -118,11 +121,13 @@
118
121
  background-color: transparent;
119
122
  }
120
123
  }
124
+ // scss-docs-end btn-outline-variant-mixin
121
125
 
122
- // Button sizes
126
+ // scss-docs-start btn-size-mixin
123
127
  @mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {
124
128
  padding: $padding-y $padding-x;
125
129
  @include font-size($font-size);
126
130
  // Manually declare to provide an override to the browser default
127
131
  @include border-radius($border-radius, 0);
128
132
  }
133
+ // scss-docs-end btn-size-mixin
@@ -1,3 +1,4 @@
1
+ // scss-docs-start caret-mixins
1
2
  @mixin caret-down {
2
3
  border-top: $caret-width solid;
3
4
  border-right: $caret-width solid transparent;
@@ -12,14 +13,14 @@
12
13
  border-left: $caret-width solid transparent;
13
14
  }
14
15
 
15
- @mixin caret-right {
16
+ @mixin caret-end {
16
17
  border-top: $caret-width solid transparent;
17
18
  border-right: 0;
18
19
  border-bottom: $caret-width solid transparent;
19
20
  border-left: $caret-width solid;
20
21
  }
21
22
 
22
- @mixin caret-left {
23
+ @mixin caret-start {
23
24
  border-top: $caret-width solid transparent;
24
25
  border-right: $caret-width solid;
25
26
  border-bottom: $caret-width solid transparent;
@@ -36,12 +37,12 @@
36
37
  @include caret-down();
37
38
  } @else if $direction == up {
38
39
  @include caret-up();
39
- } @else if $direction == right {
40
- @include caret-right();
40
+ } @else if $direction == end {
41
+ @include caret-end();
41
42
  }
42
43
  }
43
44
 
44
- @if $direction == left {
45
+ @if $direction == start {
45
46
  &::after {
46
47
  display: none;
47
48
  }
@@ -51,7 +52,7 @@
51
52
  margin-right: $caret-spacing;
52
53
  vertical-align: $caret-vertical-align;
53
54
  content: "";
54
- @include caret-left();
55
+ @include caret-start();
55
56
  }
56
57
  }
57
58
 
@@ -60,3 +61,4 @@
60
61
  }
61
62
  }
62
63
  }
64
+ // scss-docs-end caret-mixins
@@ -0,0 +1,7 @@
1
+ // scss-docs-start mixin-color-scheme
2
+ @mixin color-scheme($name) {
3
+ @media (prefers-color-scheme: #{$name}) {
4
+ @content;
5
+ }
6
+ }
7
+ // scss-docs-end mixin-color-scheme
@@ -1,11 +1,9 @@
1
1
  // Container mixins
2
2
 
3
3
  @mixin make-container($gutter: $container-padding-x) {
4
- --bs-gutter-x: #{$gutter};
5
-
6
4
  width: 100%;
7
- padding-right: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list
8
- padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-disallowed-list
5
+ padding-right: var(--#{$variable-prefix}gutter-x, #{$gutter});
6
+ padding-left: var(--#{$variable-prefix}gutter-x, #{$gutter});
9
7
  margin-right: auto;
10
8
  margin-left: auto;
11
9
  }
@@ -1,5 +1,7 @@
1
1
  // This mixin uses an `if()` technique to be compatible with Dart Sass
2
2
  // See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details
3
+
4
+ // scss-docs-start form-validation-mixins
3
5
  @mixin form-validation-state-selector($state) {
4
6
  @if ($state == "valid" or $state == "invalid") {
5
7
  .was-validated #{if(&, "&", "")}:#{$state},
@@ -13,7 +15,14 @@
13
15
  }
14
16
  }
15
17
 
16
- @mixin form-validation-state($state, $color, $icon) {
18
+ @mixin form-validation-state(
19
+ $state,
20
+ $color,
21
+ $icon,
22
+ $tooltip-color: color-contrast($color),
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)
25
+ ) {
17
26
  .#{$state}-feedback {
18
27
  display: none;
19
28
  width: 100%;
@@ -33,8 +42,8 @@
33
42
  margin-top: .1rem;
34
43
  @include font-size($form-feedback-tooltip-font-size);
35
44
  line-height: $form-feedback-tooltip-line-height;
36
- color: color-contrast($color);
37
- background-color: rgba($color, $form-feedback-tooltip-opacity);
45
+ color: $tooltip-color;
46
+ background-color: $tooltip-bg-color;
38
47
  @include border-radius($form-feedback-tooltip-border-radius);
39
48
  }
40
49
 
@@ -59,7 +68,7 @@
59
68
 
60
69
  &:focus {
61
70
  border-color: $color;
62
- box-shadow: 0 0 0 $input-focus-width rgba($color, $input-btn-focus-color-opacity);
71
+ box-shadow: $focus-box-shadow;
63
72
  }
64
73
  }
65
74
  }
@@ -79,15 +88,18 @@
79
88
  border-color: $color;
80
89
 
81
90
  @if $enable-validation-icons {
82
- padding-right: $form-select-feedback-icon-padding-right;
83
- background-image: escape-svg($form-select-indicator), escape-svg($icon);
84
- background-position: $form-select-bg-position, $form-select-feedback-icon-position;
85
- background-size: $form-select-bg-size, $form-select-feedback-icon-size;
91
+ &:not([multiple]):not([size]),
92
+ &:not([multiple])[size="1"] {
93
+ padding-right: $form-select-feedback-icon-padding-end;
94
+ background-image: escape-svg($form-select-indicator), escape-svg($icon);
95
+ background-position: $form-select-bg-position, $form-select-feedback-icon-position;
96
+ background-size: $form-select-bg-size, $form-select-feedback-icon-size;
97
+ }
86
98
  }
87
99
 
88
100
  &:focus {
89
101
  border-color: $color;
90
- box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
102
+ box-shadow: $focus-box-shadow;
91
103
  }
92
104
  }
93
105
  }
@@ -101,7 +113,7 @@
101
113
  }
102
114
 
103
115
  &:focus {
104
- box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
116
+ box-shadow: $focus-box-shadow;
105
117
  }
106
118
 
107
119
  ~ .form-check-label {
@@ -115,19 +127,11 @@
115
127
  }
116
128
  }
117
129
 
118
- // custom file
119
- .form-file-input {
130
+ .input-group .form-control,
131
+ .input-group .form-select {
120
132
  @include form-validation-state-selector($state) {
121
- ~ .form-file-label {
122
- border-color: $color;
123
- }
124
-
125
- &:focus {
126
- ~ .form-file-label {
127
- border-color: $color;
128
- box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
129
- }
130
- }
133
+ z-index: 3;
131
134
  }
132
135
  }
133
136
  }
137
+ // scss-docs-end form-validation-mixins
@@ -1,13 +1,16 @@
1
1
  // Gradients
2
2
 
3
+ // scss-docs-start gradient-bg-mixin
3
4
  @mixin gradient-bg($color: null) {
4
5
  background-color: $color;
5
6
 
6
7
  @if $enable-gradients {
7
- background-image: var(--bs-gradient);
8
+ background-image: var(--#{$variable-prefix}gradient);
8
9
  }
9
10
  }
11
+ // scss-docs-end gradient-bg-mixin
10
12
 
13
+ // scss-docs-start gradient-mixins
11
14
  // Horizontal gradient, from left to right
12
15
  //
13
16
  // Creates two color stops, start and end, by specifying a color and position for each color stop.
@@ -41,3 +44,4 @@
41
44
  @mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {
42
45
  background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
43
46
  }
47
+ // scss-docs-end gradient-mixins