elixir-toolkit-theme 1.22.0 → 1.23.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 (70) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/footer.html +25 -2
  3. data/_includes/section-navigation-tiles-simple.html +3 -0
  4. data/_includes/section-navigation-tiles.html +2 -2
  5. data/_includes/topnav.html +9 -1
  6. data/_sass/_variables.scss +1 -0
  7. data/_sass/bootstrap/_accordion.scss +56 -25
  8. data/_sass/bootstrap/_alert.scss +18 -4
  9. data/_sass/bootstrap/_badge.scss +14 -5
  10. data/_sass/bootstrap/_breadcrumb.scss +22 -10
  11. data/_sass/bootstrap/_button-group.scss +4 -1
  12. data/_sass/bootstrap/_buttons.scss +125 -29
  13. data/_sass/bootstrap/_card.scss +55 -37
  14. data/_sass/bootstrap/_carousel.scss +0 -3
  15. data/_sass/bootstrap/_close.scss +1 -1
  16. data/_sass/bootstrap/_containers.scss +1 -1
  17. data/_sass/bootstrap/_dropdown.scss +85 -76
  18. data/_sass/bootstrap/_functions.scss +9 -9
  19. data/_sass/bootstrap/_grid.scss +3 -3
  20. data/_sass/bootstrap/_helpers.scss +1 -0
  21. data/_sass/bootstrap/_list-group.scss +48 -30
  22. data/_sass/bootstrap/_maps.scss +54 -0
  23. data/_sass/bootstrap/_modal.scss +71 -43
  24. data/_sass/bootstrap/_nav.scss +53 -20
  25. data/_sass/bootstrap/_navbar.scss +93 -150
  26. data/_sass/bootstrap/_offcanvas.scss +120 -59
  27. data/_sass/bootstrap/_pagination.scss +66 -21
  28. data/_sass/bootstrap/_placeholders.scss +1 -1
  29. data/_sass/bootstrap/_popover.scss +90 -52
  30. data/_sass/bootstrap/_progress.scss +20 -9
  31. data/_sass/bootstrap/_reboot.scss +25 -40
  32. data/_sass/bootstrap/_root.scss +40 -21
  33. data/_sass/bootstrap/_spinners.scss +38 -22
  34. data/_sass/bootstrap/_tables.scss +32 -23
  35. data/_sass/bootstrap/_toasts.scss +38 -16
  36. data/_sass/bootstrap/_tooltip.scss +61 -56
  37. data/_sass/bootstrap/_type.scss +2 -0
  38. data/_sass/bootstrap/_utilities.scss +43 -26
  39. data/_sass/bootstrap/_variables.scss +128 -135
  40. data/_sass/bootstrap/bootstrap-grid.scss +3 -6
  41. data/_sass/bootstrap/bootstrap-reboot.scss +3 -7
  42. data/_sass/bootstrap/bootstrap-utilities.scss +6 -6
  43. data/_sass/bootstrap/bootstrap.scss +4 -6
  44. data/_sass/bootstrap/forms/_floating-labels.scss +15 -3
  45. data/_sass/bootstrap/forms/_form-check.scss +28 -5
  46. data/_sass/bootstrap/forms/_form-control.scss +12 -37
  47. data/_sass/bootstrap/forms/_form-select.scss +0 -1
  48. data/_sass/bootstrap/forms/_input-group.scss +19 -8
  49. data/_sass/bootstrap/helpers/_color-bg.scss +10 -0
  50. data/_sass/bootstrap/helpers/_colored-links.scss +2 -2
  51. data/_sass/bootstrap/helpers/_position.scss +7 -1
  52. data/_sass/bootstrap/helpers/_ratio.scss +2 -2
  53. data/_sass/bootstrap/helpers/_vr.scss +1 -1
  54. data/_sass/bootstrap/mixins/_alert.scss +7 -3
  55. data/_sass/bootstrap/mixins/_banner.scss +9 -0
  56. data/_sass/bootstrap/mixins/_breakpoints.scss +8 -8
  57. data/_sass/bootstrap/mixins/_buttons.scss +32 -95
  58. data/_sass/bootstrap/mixins/_container.scss +4 -2
  59. data/_sass/bootstrap/mixins/_forms.scss +18 -10
  60. data/_sass/bootstrap/mixins/_gradients.scss +1 -1
  61. data/_sass/bootstrap/mixins/_grid.scss +12 -12
  62. data/_sass/bootstrap/mixins/_pagination.scss +4 -25
  63. data/_sass/bootstrap/mixins/_reset-text.scss +1 -1
  64. data/_sass/bootstrap/mixins/_table-variants.scss +12 -9
  65. data/_sass/bootstrap/mixins/_utilities.scss +13 -5
  66. data/assets/css/main.scss +22 -3
  67. data/assets/img/ett_compact_logo_bw.svg +22 -0
  68. data/assets/js/bootstrap.bundle.min.js +3 -3
  69. data/assets/js/bootstrap.bundle.min.js.map +1 -1
  70. metadata +6 -2
@@ -1,14 +1,12 @@
1
- /*!
2
- * Bootstrap v5.1.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2021 The Bootstrap Authors
4
- * Copyright 2011-2021 Twitter, Inc.
5
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6
- */
1
+ @import "mixins/banner";
2
+ @include bsBanner("");
3
+
7
4
 
8
5
  // scss-docs-start import-stack
9
6
  // Configuration
10
7
  @import "functions";
11
8
  @import "variables";
9
+ @import "maps";
12
10
  @import "mixins";
13
11
  @import "utilities";
14
12
 
@@ -2,6 +2,7 @@
2
2
  position: relative;
3
3
 
4
4
  > .form-control,
5
+ > .form-control-plaintext,
5
6
  > .form-select {
6
7
  height: $form-floating-height;
7
8
  line-height: $form-floating-line-height;
@@ -11,16 +12,21 @@
11
12
  position: absolute;
12
13
  top: 0;
13
14
  left: 0;
15
+ width: 100%;
14
16
  height: 100%; // allow textareas
15
17
  padding: $form-floating-padding-y $form-floating-padding-x;
18
+ overflow: hidden;
19
+ text-align: start;
20
+ text-overflow: ellipsis;
21
+ white-space: nowrap;
16
22
  pointer-events: none;
17
23
  border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model
18
24
  transform-origin: 0 0;
19
25
  @include transition($form-floating-transition);
20
26
  }
21
27
 
22
- // stylelint-disable no-duplicate-selectors
23
- > .form-control {
28
+ > .form-control,
29
+ > .form-control-plaintext {
24
30
  padding: $form-floating-padding-y $form-floating-padding-x;
25
31
 
26
32
  &::placeholder {
@@ -46,6 +52,7 @@
46
52
 
47
53
  > .form-control:focus,
48
54
  > .form-control:not(:placeholder-shown),
55
+ > .form-control-plaintext,
49
56
  > .form-select {
50
57
  ~ label {
51
58
  opacity: $form-floating-label-opacity;
@@ -59,5 +66,10 @@
59
66
  transform: $form-floating-label-transform;
60
67
  }
61
68
  }
62
- // stylelint-enable no-duplicate-selectors
69
+
70
+ > .form-control-plaintext {
71
+ ~ label {
72
+ border-width: $input-border-width 0; // Required to properly position label text - as explained above
73
+ }
74
+ }
63
75
  }
@@ -14,6 +14,18 @@
14
14
  }
15
15
  }
16
16
 
17
+ .form-check-reverse {
18
+ padding-right: $form-check-padding-start;
19
+ padding-left: 0;
20
+ text-align: right;
21
+
22
+ .form-check-input {
23
+ float: right;
24
+ margin-right: $form-check-padding-start * -1;
25
+ margin-left: 0;
26
+ }
27
+ }
28
+
17
29
  .form-check-input {
18
30
  width: $form-check-input-width;
19
31
  height: $form-check-input-width;
@@ -25,7 +37,7 @@
25
37
  background-size: contain;
26
38
  border: $form-check-input-border;
27
39
  appearance: none;
28
- color-adjust: exact; // Keep themed appearance for print
40
+ print-color-adjust: exact; // Keep themed appearance for print
29
41
  @include transition($form-check-transition);
30
42
 
31
43
  &[type="checkbox"] {
@@ -53,7 +65,7 @@
53
65
 
54
66
  &[type="checkbox"] {
55
67
  @if $enable-gradients {
56
- background-image: escape-svg($form-check-input-checked-bg-image), var(--#{$variable-prefix}gradient);
68
+ background-image: escape-svg($form-check-input-checked-bg-image), var(--#{$prefix}gradient);
57
69
  } @else {
58
70
  background-image: escape-svg($form-check-input-checked-bg-image);
59
71
  }
@@ -61,7 +73,7 @@
61
73
 
62
74
  &[type="radio"] {
63
75
  @if $enable-gradients {
64
- background-image: escape-svg($form-check-radio-checked-bg-image), var(--#{$variable-prefix}gradient);
76
+ background-image: escape-svg($form-check-radio-checked-bg-image), var(--#{$prefix}gradient);
65
77
  } @else {
66
78
  background-image: escape-svg($form-check-radio-checked-bg-image);
67
79
  }
@@ -73,7 +85,7 @@
73
85
  border-color: $form-check-input-indeterminate-border-color;
74
86
 
75
87
  @if $enable-gradients {
76
- background-image: escape-svg($form-check-input-indeterminate-bg-image), var(--#{$variable-prefix}gradient);
88
+ background-image: escape-svg($form-check-input-indeterminate-bg-image), var(--#{$prefix}gradient);
77
89
  } @else {
78
90
  background-image: escape-svg($form-check-input-indeterminate-bg-image);
79
91
  }
@@ -90,6 +102,7 @@
90
102
  &[disabled],
91
103
  &:disabled {
92
104
  ~ .form-check-label {
105
+ cursor: default;
93
106
  opacity: $form-check-label-disabled-opacity;
94
107
  }
95
108
  }
@@ -123,12 +136,22 @@
123
136
  background-position: $form-switch-checked-bg-position;
124
137
 
125
138
  @if $enable-gradients {
126
- background-image: escape-svg($form-switch-checked-bg-image), var(--#{$variable-prefix}gradient);
139
+ background-image: escape-svg($form-switch-checked-bg-image), var(--#{$prefix}gradient);
127
140
  } @else {
128
141
  background-image: escape-svg($form-switch-checked-bg-image);
129
142
  }
130
143
  }
131
144
  }
145
+
146
+ &.form-check-reverse {
147
+ padding-right: $form-switch-padding-start;
148
+ padding-left: 0;
149
+
150
+ .form-check-input {
151
+ margin-right: $form-switch-padding-start * -1;
152
+ margin-left: 0;
153
+ }
154
+ }
132
155
  }
133
156
 
134
157
  .form-check-inline {
@@ -59,13 +59,13 @@
59
59
  opacity: 1;
60
60
  }
61
61
 
62
- // Disabled and read-only inputs
62
+ // Disabled inputs
63
63
  //
64
64
  // HTML5 says that controls under a fieldset > legend:first-child won't be
65
65
  // disabled if the fieldset is disabled. Due to implementation difficulty, we
66
66
  // don't honor that edge case; we style them as disabled anyway.
67
- &:disabled,
68
- &[readonly] {
67
+ &:disabled {
68
+ color: $input-disabled-color;
69
69
  background-color: $input-disabled-bg;
70
70
  border-color: $input-disabled-border-color;
71
71
  // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.
@@ -91,25 +91,6 @@
91
91
  &:hover:not(:disabled):not([readonly])::file-selector-button {
92
92
  background-color: $form-file-button-hover-bg;
93
93
  }
94
-
95
- &::-webkit-file-upload-button {
96
- padding: $input-padding-y $input-padding-x;
97
- margin: (-$input-padding-y) (-$input-padding-x);
98
- margin-inline-end: $input-padding-x;
99
- color: $form-file-button-color;
100
- @include gradient-bg($form-file-button-bg);
101
- pointer-events: none;
102
- border-color: inherit;
103
- border-style: solid;
104
- border-width: 0;
105
- border-inline-end-width: $input-border-width;
106
- border-radius: 0; // stylelint-disable-line property-disallowed-list
107
- @include transition($btn-transition);
108
- }
109
-
110
- &:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
111
- background-color: $form-file-button-hover-bg;
112
- }
113
94
  }
114
95
 
115
96
  // Readonly controls as plain text
@@ -128,6 +109,10 @@
128
109
  border: solid transparent;
129
110
  border-width: $input-border-width 0;
130
111
 
112
+ &:focus {
113
+ outline: 0;
114
+ }
115
+
131
116
  &.form-control-sm,
132
117
  &.form-control-lg {
133
118
  padding-right: 0;
@@ -153,12 +138,6 @@
153
138
  margin: (-$input-padding-y-sm) (-$input-padding-x-sm);
154
139
  margin-inline-end: $input-padding-x-sm;
155
140
  }
156
-
157
- &::-webkit-file-upload-button {
158
- padding: $input-padding-y-sm $input-padding-x-sm;
159
- margin: (-$input-padding-y-sm) (-$input-padding-x-sm);
160
- margin-inline-end: $input-padding-x-sm;
161
- }
162
141
  }
163
142
 
164
143
  .form-control-lg {
@@ -172,12 +151,6 @@
172
151
  margin: (-$input-padding-y-lg) (-$input-padding-x-lg);
173
152
  margin-inline-end: $input-padding-x-lg;
174
153
  }
175
-
176
- &::-webkit-file-upload-button {
177
- padding: $input-padding-y-lg $input-padding-x-lg;
178
- margin: (-$input-padding-y-lg) (-$input-padding-x-lg);
179
- margin-inline-end: $input-padding-x-lg;
180
- }
181
154
  }
182
155
 
183
156
  // Make sure textareas don't shrink too much when resized
@@ -200,7 +173,7 @@ textarea {
200
173
 
201
174
  .form-control-color {
202
175
  width: $form-color-width;
203
- height: auto; // Override fixed browser height
176
+ height: $input-height;
204
177
  padding: $input-padding-y;
205
178
 
206
179
  &:not(:disabled):not([readonly]) {
@@ -208,12 +181,14 @@ textarea {
208
181
  }
209
182
 
210
183
  &::-moz-color-swatch {
211
- height: if(unit($input-line-height) == "", $input-line-height * 1em, $input-line-height);
184
+ border: 0 !important; // stylelint-disable-line declaration-no-important
212
185
  @include border-radius($input-border-radius);
213
186
  }
214
187
 
215
188
  &::-webkit-color-swatch {
216
- height: if(unit($input-line-height) == "", $input-line-height * 1em, $input-line-height);
217
189
  @include border-radius($input-border-radius);
218
190
  }
191
+
192
+ &.form-control-sm { height: $input-height-sm; }
193
+ &.form-control-lg { height: $input-height-lg; }
219
194
  }
@@ -7,7 +7,6 @@
7
7
  display: block;
8
8
  width: 100%;
9
9
  padding: $form-select-padding-y $form-select-indicator-padding $form-select-padding-y $form-select-padding-x;
10
- // stylelint-disable-next-line property-no-vendor-prefix
11
10
  -moz-padding-start: subtract($form-select-padding-x, 3px); // See https://github.com/twbs/bootstrap/issues/32636
12
11
  font-family: $form-select-font-family;
13
12
  @include font-size($form-select-font-size);
@@ -10,7 +10,8 @@
10
10
  width: 100%;
11
11
 
12
12
  > .form-control,
13
- > .form-select {
13
+ > .form-select,
14
+ > .form-floating {
14
15
  position: relative; // For focus state's z-index
15
16
  flex: 1 1 auto;
16
17
  width: 1%;
@@ -19,8 +20,9 @@
19
20
 
20
21
  // Bring the "active" form control to the top of surrounding elements
21
22
  > .form-control:focus,
22
- > .form-select:focus {
23
- z-index: 3;
23
+ > .form-select:focus,
24
+ > .form-floating:focus-within {
25
+ z-index: 5;
24
26
  }
25
27
 
26
28
  // Ensure buttons are always above inputs for more visually pleasing borders.
@@ -31,7 +33,7 @@
31
33
  z-index: 2;
32
34
 
33
35
  &:focus {
34
- z-index: 3;
36
+ z-index: 5;
35
37
  }
36
38
  }
37
39
  }
@@ -96,15 +98,19 @@
96
98
  // stylelint-disable-next-line no-duplicate-selectors
97
99
  .input-group {
98
100
  &:not(.has-validation) {
99
- > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
100
- > .dropdown-toggle:nth-last-child(n + 3) {
101
+ > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
102
+ > .dropdown-toggle:nth-last-child(n + 3),
103
+ > .form-floating:not(:last-child) > .form-control,
104
+ > .form-floating:not(:last-child) > .form-select {
101
105
  @include border-end-radius(0);
102
106
  }
103
107
  }
104
108
 
105
109
  &.has-validation {
106
- > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu),
107
- > .dropdown-toggle:nth-last-child(n + 4) {
110
+ > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
111
+ > .dropdown-toggle:nth-last-child(n + 4),
112
+ > .form-floating:nth-last-child(n + 3) > .form-control,
113
+ > .form-floating:nth-last-child(n + 3) > .form-select {
108
114
  @include border-end-radius(0);
109
115
  }
110
116
  }
@@ -118,4 +124,9 @@
118
124
  margin-left: -$input-border-width;
119
125
  @include border-start-radius(0);
120
126
  }
127
+
128
+ > .form-floating:not(:first-child) > .form-control,
129
+ > .form-floating:not(:first-child) > .form-select {
130
+ @include border-start-radius(0);
131
+ }
121
132
  }
@@ -0,0 +1,10 @@
1
+ // stylelint-disable function-name-case
2
+
3
+ // All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251
4
+ @each $color, $value in $theme-colors {
5
+ $color-rgb: to-rgb($value);
6
+ .text-bg-#{$color} {
7
+ 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);
9
+ }
10
+ }
@@ -1,11 +1,11 @@
1
1
  @each $color, $value in $theme-colors {
2
2
  .link-#{$color} {
3
- color: $value;
3
+ color: $value !important; // stylelint-disable-line declaration-no-important
4
4
 
5
5
  @if $link-shade-percentage != 0 {
6
6
  &:hover,
7
7
  &:focus {
8
- color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));
8
+ color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage)) !important; // stylelint-disable-line declaration-no-important
9
9
  }
10
10
  }
11
11
  }
@@ -16,7 +16,7 @@
16
16
  z-index: $zindex-fixed;
17
17
  }
18
18
 
19
- // Responsive sticky top
19
+ // Responsive sticky top and bottom
20
20
  @each $breakpoint in map-keys($grid-breakpoints) {
21
21
  @include media-breakpoint-up($breakpoint) {
22
22
  $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
@@ -26,5 +26,11 @@
26
26
  top: 0;
27
27
  z-index: $zindex-sticky;
28
28
  }
29
+
30
+ .sticky#{$infix}-bottom {
31
+ position: sticky;
32
+ bottom: 0;
33
+ z-index: $zindex-sticky;
34
+ }
29
35
  }
30
36
  }
@@ -6,7 +6,7 @@
6
6
 
7
7
  &::before {
8
8
  display: block;
9
- padding-top: var(--#{$variable-prefix}aspect-ratio);
9
+ padding-top: var(--#{$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
- --#{$variable-prefix}aspect-ratio: #{$ratio};
24
+ --#{$prefix}aspect-ratio: #{$ratio};
25
25
  }
26
26
  }
@@ -3,6 +3,6 @@
3
3
  align-self: stretch;
4
4
  width: 1px;
5
5
  min-height: 1em;
6
- background-color: currentColor;
6
+ background-color: currentcolor;
7
7
  opacity: $hr-opacity;
8
8
  }
@@ -1,8 +1,12 @@
1
1
  // scss-docs-start alert-variant-mixin
2
2
  @mixin alert-variant($background, $border, $color) {
3
- color: $color;
4
- @include gradient-bg($background);
5
- border-color: $border;
3
+ --#{$prefix}alert-color: #{$color};
4
+ --#{$prefix}alert-bg: #{$background};
5
+ --#{$prefix}alert-border-color: #{$border};
6
+
7
+ @if $enable-gradients {
8
+ background-image: var(--#{$prefix}gradient);
9
+ }
6
10
 
7
11
  .alert-link {
8
12
  color: shade-color($color, 20%);
@@ -0,0 +1,9 @@
1
+ @mixin bsBanner($file) {
2
+ /*!
3
+ * Bootstrap #{$file} v5.2.3 (https://getbootstrap.com/)
4
+ * Copyright 2011-2022 The Bootstrap Authors
5
+ * Copyright 2011-2022 Twitter, Inc.
6
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
7
+ */
8
+ }
9
+
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // Breakpoints are defined as a map of (name: minimum width), order from small to large:
4
4
  //
5
- // (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)
5
+ // (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)
6
6
  //
7
7
  // The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.
8
8
 
@@ -10,9 +10,9 @@
10
10
  //
11
11
  // >> breakpoint-next(sm)
12
12
  // md
13
- // >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
13
+ // >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))
14
14
  // md
15
- // >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))
15
+ // >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))
16
16
  // md
17
17
  @function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {
18
18
  $n: index($breakpoint-names, $name);
@@ -24,7 +24,7 @@
24
24
 
25
25
  // Minimum breakpoint width. Null for the smallest (first) breakpoint.
26
26
  //
27
- // >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
27
+ // >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))
28
28
  // 576px
29
29
  @function breakpoint-min($name, $breakpoints: $grid-breakpoints) {
30
30
  $min: map-get($breakpoints, $name);
@@ -38,7 +38,7 @@
38
38
  // Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.
39
39
  // See https://bugs.webkit.org/show_bug.cgi?id=178261
40
40
  //
41
- // >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
41
+ // >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))
42
42
  // 767.98px
43
43
  @function breakpoint-max($name, $breakpoints: $grid-breakpoints) {
44
44
  $max: map-get($breakpoints, $name);
@@ -48,9 +48,9 @@
48
48
  // Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.
49
49
  // Useful for making responsive utilities.
50
50
  //
51
- // >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
51
+ // >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))
52
52
  // "" (Returns a blank string)
53
- // >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
53
+ // >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))
54
54
  // "-sm"
55
55
  @function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {
56
56
  @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");
@@ -109,7 +109,7 @@
109
109
  @mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {
110
110
  $min: breakpoint-min($name, $breakpoints);
111
111
  $next: breakpoint-next($name, $breakpoints);
112
- $max: breakpoint-max($next);
112
+ $max: breakpoint-max($next, $breakpoints);
113
113
 
114
114
  @if $min != null and $max != null {
115
115
  @media (min-width: $min) and (max-width: $max) {
@@ -18,59 +18,20 @@
18
18
  $disabled-border: $border,
19
19
  $disabled-color: color-contrast($disabled-background)
20
20
  ) {
21
- color: $color;
22
- @include gradient-bg($background);
23
- border-color: $border;
24
- @include box-shadow($btn-box-shadow);
25
-
26
- &:hover {
27
- color: $hover-color;
28
- @include gradient-bg($hover-background);
29
- border-color: $hover-border;
30
- }
31
-
32
- .btn-check:focus + &,
33
- &:focus {
34
- color: $hover-color;
35
- @include gradient-bg($hover-background);
36
- border-color: $hover-border;
37
- @if $enable-shadows {
38
- @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));
39
- } @else {
40
- // Avoid using mixin so we can pass custom focus shadow properly
41
- box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);
42
- }
43
- }
44
-
45
- .btn-check:checked + &,
46
- .btn-check:active + &,
47
- &:active,
48
- &.active,
49
- .show > &.dropdown-toggle {
50
- color: $active-color;
51
- background-color: $active-background;
52
- // Remove CSS gradients if they're enabled
53
- background-image: if($enable-gradients, none, null);
54
- border-color: $active-border;
55
-
56
- &:focus {
57
- @if $enable-shadows {
58
- @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));
59
- } @else {
60
- // Avoid using mixin so we can pass custom focus shadow properly
61
- box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);
62
- }
63
- }
64
- }
65
-
66
- &:disabled,
67
- &.disabled {
68
- color: $disabled-color;
69
- background-color: $disabled-background;
70
- // Remove CSS gradients if they're enabled
71
- background-image: if($enable-gradients, none, null);
72
- border-color: $disabled-border;
73
- }
21
+ --#{$prefix}btn-color: #{$color};
22
+ --#{$prefix}btn-bg: #{$background};
23
+ --#{$prefix}btn-border-color: #{$border};
24
+ --#{$prefix}btn-hover-color: #{$hover-color};
25
+ --#{$prefix}btn-hover-bg: #{$hover-background};
26
+ --#{$prefix}btn-hover-border-color: #{$hover-border};
27
+ --#{$prefix}btn-focus-shadow-rgb: #{to-rgb(mix($color, $border, 15%))};
28
+ --#{$prefix}btn-active-color: #{$active-color};
29
+ --#{$prefix}btn-active-bg: #{$active-background};
30
+ --#{$prefix}btn-active-border-color: #{$active-border};
31
+ --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};
32
+ --#{$prefix}btn-disabled-color: #{$disabled-color};
33
+ --#{$prefix}btn-disabled-bg: #{$disabled-background};
34
+ --#{$prefix}btn-disabled-border-color: #{$disabled-border};
74
35
  }
75
36
  // scss-docs-end btn-variant-mixin
76
37
 
@@ -82,52 +43,28 @@
82
43
  $active-border: $color,
83
44
  $active-color: color-contrast($active-background)
84
45
  ) {
85
- color: $color;
86
- border-color: $color;
87
-
88
- &:hover {
89
- color: $color-hover;
90
- background-color: $active-background;
91
- border-color: $active-border;
92
- }
93
-
94
- .btn-check:focus + &,
95
- &:focus {
96
- box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
97
- }
98
-
99
- .btn-check:checked + &,
100
- .btn-check:active + &,
101
- &:active,
102
- &.active,
103
- &.dropdown-toggle.show {
104
- color: $active-color;
105
- background-color: $active-background;
106
- border-color: $active-border;
107
-
108
- &:focus {
109
- @if $enable-shadows {
110
- @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));
111
- } @else {
112
- // Avoid using mixin so we can pass custom focus shadow properly
113
- box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
114
- }
115
- }
116
- }
117
-
118
- &:disabled,
119
- &.disabled {
120
- color: $color;
121
- background-color: transparent;
122
- }
46
+ --#{$prefix}btn-color: #{$color};
47
+ --#{$prefix}btn-border-color: #{$color};
48
+ --#{$prefix}btn-hover-color: #{$color-hover};
49
+ --#{$prefix}btn-hover-bg: #{$active-background};
50
+ --#{$prefix}btn-hover-border-color: #{$active-border};
51
+ --#{$prefix}btn-focus-shadow-rgb: #{to-rgb($color)};
52
+ --#{$prefix}btn-active-color: #{$active-color};
53
+ --#{$prefix}btn-active-bg: #{$active-background};
54
+ --#{$prefix}btn-active-border-color: #{$active-border};
55
+ --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};
56
+ --#{$prefix}btn-disabled-color: #{$color};
57
+ --#{$prefix}btn-disabled-bg: transparent;
58
+ --#{$prefix}btn-disabled-border-color: #{$color};
59
+ --#{$prefix}gradient: none;
123
60
  }
124
61
  // scss-docs-end btn-outline-variant-mixin
125
62
 
126
63
  // scss-docs-start btn-size-mixin
127
64
  @mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {
128
- padding: $padding-y $padding-x;
129
- @include font-size($font-size);
130
- // Manually declare to provide an override to the browser default
131
- @include border-radius($border-radius, 0);
65
+ --#{$prefix}btn-padding-y: #{$padding-y};
66
+ --#{$prefix}btn-padding-x: #{$padding-x};
67
+ @include rfs($font-size, --#{$prefix}btn-font-size);
68
+ --#{$prefix}btn-border-radius: #{$border-radius};
132
69
  }
133
70
  // scss-docs-end btn-size-mixin
@@ -1,9 +1,11 @@
1
1
  // Container mixins
2
2
 
3
3
  @mixin make-container($gutter: $container-padding-x) {
4
+ --#{$prefix}gutter-x: #{$gutter};
5
+ --#{$prefix}gutter-y: 0;
4
6
  width: 100%;
5
- padding-right: var(--#{$variable-prefix}gutter-x, #{$gutter});
6
- padding-left: var(--#{$variable-prefix}gutter-x, #{$gutter});
7
+ padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
8
+ padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
7
9
  margin-right: auto;
8
10
  margin-left: auto;
9
11
  }