bootstrap 4.5.0 → 5.0.0.alpha3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/README.md +5 -2
- data/assets/javascripts/bootstrap-sprockets.js +12 -9
- data/assets/javascripts/bootstrap.js +1852 -1266
- data/assets/javascripts/bootstrap.min.js +3 -3
- data/assets/javascripts/bootstrap/alert.js +149 -69
- data/assets/javascripts/bootstrap/button.js +71 -141
- data/assets/javascripts/bootstrap/carousel.js +291 -192
- data/assets/javascripts/bootstrap/collapse.js +285 -161
- data/assets/javascripts/bootstrap/dom/data.js +81 -0
- data/assets/javascripts/bootstrap/dom/event-handler.js +307 -0
- data/assets/javascripts/bootstrap/dom/manipulator.js +85 -0
- data/assets/javascripts/bootstrap/dom/selector-engine.js +98 -0
- data/assets/javascripts/bootstrap/dropdown.js +240 -218
- data/assets/javascripts/bootstrap/modal.js +342 -234
- data/assets/javascripts/bootstrap/popover.js +82 -106
- data/assets/javascripts/bootstrap/scrollspy.js +154 -114
- data/assets/javascripts/bootstrap/tab.js +166 -80
- data/assets/javascripts/bootstrap/toast.js +171 -113
- data/assets/javascripts/bootstrap/tooltip.js +351 -219
- data/assets/stylesheets/_bootstrap-grid.scss +52 -16
- data/assets/stylesheets/_bootstrap-reboot.scss +5 -2
- data/assets/stylesheets/_bootstrap.scss +16 -9
- data/assets/stylesheets/bootstrap/_accordion.scss +125 -0
- data/assets/stylesheets/bootstrap/_alert.scss +15 -9
- data/assets/stylesheets/bootstrap/_badge.scss +2 -27
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +3 -19
- data/assets/stylesheets/bootstrap/_button-group.scss +16 -40
- data/assets/stylesheets/bootstrap/_buttons.scss +27 -60
- data/assets/stylesheets/bootstrap/_card.scss +30 -97
- data/assets/stylesheets/bootstrap/_carousel.scss +30 -15
- data/assets/stylesheets/bootstrap/_close.scss +30 -30
- data/assets/stylesheets/bootstrap/_containers.scss +41 -0
- data/assets/stylesheets/bootstrap/_dropdown.scss +52 -8
- data/assets/stylesheets/bootstrap/_forms.scss +9 -347
- data/assets/stylesheets/bootstrap/_functions.scss +88 -23
- data/assets/stylesheets/bootstrap/_grid.scss +3 -58
- data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
- data/assets/stylesheets/bootstrap/_list-group.scss +14 -5
- data/assets/stylesheets/bootstrap/_mixins.scss +7 -13
- data/assets/stylesheets/bootstrap/_modal.scss +41 -47
- data/assets/stylesheets/bootstrap/_nav.scss +14 -8
- data/assets/stylesheets/bootstrap/_navbar.scss +43 -74
- data/assets/stylesheets/bootstrap/_pagination.scss +10 -20
- data/assets/stylesheets/bootstrap/_popover.scss +6 -6
- data/assets/stylesheets/bootstrap/_progress.scss +3 -5
- data/assets/stylesheets/bootstrap/_reboot.scss +310 -171
- data/assets/stylesheets/bootstrap/_root.scss +5 -9
- data/assets/stylesheets/bootstrap/_spinners.scss +13 -4
- data/assets/stylesheets/bootstrap/_tables.scss +80 -114
- data/assets/stylesheets/bootstrap/_toasts.scss +6 -2
- data/assets/stylesheets/bootstrap/_tooltip.scss +5 -5
- data/assets/stylesheets/bootstrap/_transitions.scss +0 -1
- data/assets/stylesheets/bootstrap/_type.scss +38 -59
- data/assets/stylesheets/bootstrap/_utilities.scss +545 -18
- data/assets/stylesheets/bootstrap/_variables.scss +653 -469
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
- data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +61 -0
- data/assets/stylesheets/bootstrap/forms/_form-check.scss +151 -0
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +223 -0
- data/assets/stylesheets/bootstrap/forms/_form-range.scss +91 -0
- data/assets/stylesheets/bootstrap/forms/_form-select.scss +68 -0
- data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
- data/assets/stylesheets/bootstrap/forms/_input-group.scss +121 -0
- data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
- data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
- data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
- data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
- data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
- data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
- data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
- data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
- data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +1 -5
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +9 -9
- data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +7 -9
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +14 -10
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +65 -47
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +4 -4
- data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_container.scss +11 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +17 -77
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +9 -11
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +84 -33
- data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +3 -2
- data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +15 -8
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_utilities.scss +49 -0
- data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +28 -0
- data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +234 -126
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +3 -3
- metadata +33 -41
- data/assets/javascripts/bootstrap/util.js +0 -192
- data/assets/stylesheets/bootstrap/_code.scss +0 -48
- data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -522
- data/assets/stylesheets/bootstrap/_input-group.scss +0 -192
- data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
- data/assets/stylesheets/bootstrap/_media.scss +0 -8
- data/assets/stylesheets/bootstrap/_print.scss +0 -141
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -23
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
- data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -81
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -34
- data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
- data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
- data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
- data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
- data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
- data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
- data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
- data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
- data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
- data/assets/stylesheets/bootstrap/utilities/_interactions.scss +0 -5
- data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
- data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
- data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
- data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
- data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
- data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
- data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -71
- data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
@@ -32,6 +32,29 @@
|
|
32
32
|
}
|
33
33
|
}
|
34
34
|
|
35
|
+
// Internal Bootstrap function to turn maps into its negative variant.
|
36
|
+
// It prefixes the keys with `n` and makes the value negative.
|
37
|
+
@function negativify-map($map) {
|
38
|
+
$result: ();
|
39
|
+
@each $key, $value in $map {
|
40
|
+
@if $key != 0 {
|
41
|
+
$result: map-merge($result, ("n" + $key: (-$value)));
|
42
|
+
}
|
43
|
+
}
|
44
|
+
@return $result;
|
45
|
+
}
|
46
|
+
|
47
|
+
// Get multiple keys from a sass map
|
48
|
+
@function map-get-multiple($map, $values) {
|
49
|
+
$result: ();
|
50
|
+
@each $key, $value in $map {
|
51
|
+
@if (index($values, $key) != null) {
|
52
|
+
$result: map-merge($result, ($key: $value));
|
53
|
+
}
|
54
|
+
}
|
55
|
+
@return $result;
|
56
|
+
}
|
57
|
+
|
35
58
|
// Replace `$search` with `$replace` in `$string`
|
36
59
|
// Used on our SVG icon backgrounds for custom forms.
|
37
60
|
//
|
@@ -51,6 +74,9 @@
|
|
51
74
|
}
|
52
75
|
|
53
76
|
// See https://codepen.io/kevinweber/pen/dXWoRw
|
77
|
+
//
|
78
|
+
// Requires the use of quotes around data URIs.
|
79
|
+
|
54
80
|
@function escape-svg($string) {
|
55
81
|
@if str-index($string, "data:image/svg+xml") {
|
56
82
|
@each $char, $encoded in $escaped-characters {
|
@@ -67,41 +93,80 @@
|
|
67
93
|
}
|
68
94
|
|
69
95
|
// Color contrast
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
96
|
+
// See https://github.com/twbs/bootstrap/pull/30168
|
97
|
+
|
98
|
+
// A list of pre-calculated numbers of pow(($value / 255 + .055) / 1.055, 2.4). (from 0 to 255)
|
99
|
+
// stylelint-disable-next-line scss/dollar-variable-default, scss/dollar-variable-pattern
|
100
|
+
$_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 .0033 .0037 .004 .0044 .0048 .0052 .0056 .006 .0065 .007 .0075 .008 .0086 .0091 .0097 .0103 .011 .0116 .0123 .013 .0137 .0144 .0152 .016 .0168 .0176 .0185 .0194 .0203 .0212 .0222 .0232 .0242 .0252 .0262 .0273 .0284 .0296 .0307 .0319 .0331 .0343 .0356 .0369 .0382 .0395 .0409 .0423 .0437 .0452 .0467 .0482 .0497 .0513 .0529 .0545 .0561 .0578 .0595 .0612 .063 .0648 .0666 .0685 .0704 .0723 .0742 .0762 .0782 .0802 .0823 .0844 .0865 .0887 .0908 .0931 .0953 .0976 .0999 .1022 .1046 .107 .1095 .1119 .1144 .117 .1195 .1221 .1248 .1274 .1301 .1329 .1356 .1384 .1413 .1441 .147 .15 .1529 .1559 .159 .162 .1651 .1683 .1714 .1746 .1779 .1812 .1845 .1878 .1912 .1946 .1981 .2016 .2051 .2086 .2122 .2159 .2195 .2232 .227 .2307 .2346 .2384 .2423 .2462 .2502 .2542 .2582 .2623 .2664 .2705 .2747 .2789 .2831 .2874 .2918 .2961 .3005 .305 .3095 .314 .3185 .3231 .3278 .3325 .3372 .3419 .3467 .3515 .3564 .3613 .3663 .3712 .3763 .3813 .3864 .3916 .3968 .402 .4072 .4125 .4179 .4233 .4287 .4342 .4397 .4452 .4508 .4564 .4621 .4678 .4735 .4793 .4851 .491 .4969 .5029 .5089 .5149 .521 .5271 .5333 .5395 .5457 .552 .5583 .5647 .5711 .5776 .5841 .5906 .5972 .6038 .6105 .6172 .624 .6308 .6376 .6445 .6514 .6584 .6654 .6724 .6795 .6867 .6939 .7011 .7084 .7157 .7231 .7305 .7379 .7454 .7529 .7605 .7682 .7758 .7835 .7913 .7991 .807 .8148 .8228 .8308 .8388 .8469 .855 .8632 .8714 .8796 .8879 .8963 .9047 .9131 .9216 .9301 .9387 .9473 .956 .9647 .9734 .9823 .9911 1;
|
101
|
+
|
102
|
+
@function color-contrast($background, $color-contrast-dark: $color-contrast-dark, $color-contrast-light: $color-contrast-light, $min-contrast-ratio: $min-contrast-ratio) {
|
103
|
+
$foregrounds: $color-contrast-light, $color-contrast-dark, $white, $black;
|
104
|
+
$max-ratio: 0;
|
105
|
+
$max-ratio-color: null;
|
106
|
+
|
107
|
+
@each $color in $foregrounds {
|
108
|
+
$contrast-ratio: contrast-ratio($background, $color);
|
109
|
+
@if $contrast-ratio > $min-contrast-ratio {
|
110
|
+
@return $color;
|
111
|
+
} @else if $contrast-ratio > $max-ratio {
|
112
|
+
$max-ratio: $contrast-ratio;
|
113
|
+
$max-ratio-color: $color;
|
114
|
+
}
|
115
|
+
}
|
74
116
|
|
75
|
-
|
117
|
+
@warn "Found no color leading to #{$min-contrast-ratio}:1 contrast ratio against #{$background}...";
|
76
118
|
|
77
|
-
@
|
78
|
-
@return $dark;
|
79
|
-
} @else {
|
80
|
-
@return $light;
|
81
|
-
}
|
119
|
+
@return $max-ratio-color;
|
82
120
|
}
|
83
121
|
|
84
|
-
|
85
|
-
|
86
|
-
|
122
|
+
@function contrast-ratio($background, $foreground: $color-contrast-light) {
|
123
|
+
$l1: luminance($background);
|
124
|
+
$l2: luminance(opaque($background, $foreground));
|
125
|
+
|
126
|
+
@return if($l1 > $l2, ($l1 + .05) / ($l2 + .05), ($l2 + .05) / ($l1 + .05));
|
87
127
|
}
|
88
128
|
|
89
|
-
|
90
|
-
|
129
|
+
// Return WCAG2.0 relative luminance
|
130
|
+
// See https://www.w3.org/WAI/GL/wiki/Relative_luminance
|
131
|
+
// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
|
132
|
+
@function luminance($color) {
|
133
|
+
$rgb: (
|
134
|
+
"r": red($color),
|
135
|
+
"g": green($color),
|
136
|
+
"b": blue($color)
|
137
|
+
);
|
138
|
+
|
139
|
+
@each $name, $value in $rgb {
|
140
|
+
$value: if($value / 255 < .03928, $value / 255 / 12.92, nth($_luminance-list, $value + 1));
|
141
|
+
$rgb: map-merge($rgb, ($name: $value));
|
142
|
+
}
|
143
|
+
|
144
|
+
@return (map-get($rgb, "r") * .2126) + (map-get($rgb, "g") * .7152) + (map-get($rgb, "b") * .0722);
|
145
|
+
}
|
146
|
+
|
147
|
+
// Return opaque color
|
148
|
+
// opaque(#fff, rgba(0, 0, 0, .5)) => #808080
|
149
|
+
@function opaque($background, $foreground) {
|
150
|
+
@return mix(rgba($foreground, 1), $background, opacity($foreground) * 100);
|
91
151
|
}
|
92
152
|
|
93
|
-
|
94
|
-
|
153
|
+
// scss-docs-start color-functions
|
154
|
+
// Tint a color: mix a color with white
|
155
|
+
@function tint-color($color, $weight) {
|
156
|
+
@return mix(white, $color, $weight);
|
95
157
|
}
|
96
158
|
|
97
|
-
//
|
98
|
-
@function
|
99
|
-
$color
|
100
|
-
|
101
|
-
$level: abs($level);
|
159
|
+
// Shade a color: mix a color with black
|
160
|
+
@function shade-color($color, $weight) {
|
161
|
+
@return mix(black, $color, $weight);
|
162
|
+
}
|
102
163
|
|
103
|
-
|
164
|
+
// Scale a color:
|
165
|
+
// Shade the color if the weight is positive, else tint it
|
166
|
+
@function scale-color($color, $weight) {
|
167
|
+
@return if($weight > 0, shade-color($color, $weight), tint-color($color, -$weight));
|
104
168
|
}
|
169
|
+
// scss-docs-end color-functions
|
105
170
|
|
106
171
|
// Return valid calc
|
107
172
|
@function add($value1, $value2, $return-calc: true) {
|
@@ -1,50 +1,3 @@
|
|
1
|
-
// Container widths
|
2
|
-
//
|
3
|
-
// Set the container width, and override it for fixed navbars in media queries.
|
4
|
-
|
5
|
-
@if $enable-grid-classes {
|
6
|
-
// Single container class with breakpoint max-widths
|
7
|
-
.container {
|
8
|
-
@include make-container();
|
9
|
-
@include make-container-max-widths();
|
10
|
-
}
|
11
|
-
|
12
|
-
// 100% wide container at all breakpoints
|
13
|
-
.container-fluid {
|
14
|
-
@include make-container();
|
15
|
-
}
|
16
|
-
|
17
|
-
// Responsive containers that are 100% wide until a breakpoint
|
18
|
-
@each $breakpoint, $container-max-width in $container-max-widths {
|
19
|
-
.container-#{$breakpoint} {
|
20
|
-
@extend .container-fluid;
|
21
|
-
}
|
22
|
-
|
23
|
-
@include media-breakpoint-up($breakpoint, $grid-breakpoints) {
|
24
|
-
%responsive-container-#{$breakpoint} {
|
25
|
-
max-width: $container-max-width;
|
26
|
-
}
|
27
|
-
|
28
|
-
// Extend each breakpoint which is smaller or equal to the current breakpoint
|
29
|
-
$extend-breakpoint: true;
|
30
|
-
|
31
|
-
@each $name, $width in $grid-breakpoints {
|
32
|
-
@if ($extend-breakpoint) {
|
33
|
-
.container#{breakpoint-infix($name, $grid-breakpoints)} {
|
34
|
-
@extend %responsive-container-#{$breakpoint};
|
35
|
-
}
|
36
|
-
|
37
|
-
// Once the current breakpoint is reached, stop extending
|
38
|
-
@if ($breakpoint == $name) {
|
39
|
-
$extend-breakpoint: false;
|
40
|
-
}
|
41
|
-
}
|
42
|
-
}
|
43
|
-
}
|
44
|
-
}
|
45
|
-
}
|
46
|
-
|
47
|
-
|
48
1
|
// Row
|
49
2
|
//
|
50
3
|
// Rows contain your columns.
|
@@ -52,22 +5,14 @@
|
|
52
5
|
@if $enable-grid-classes {
|
53
6
|
.row {
|
54
7
|
@include make-row();
|
55
|
-
}
|
56
8
|
|
57
|
-
|
58
|
-
|
59
|
-
.no-gutters {
|
60
|
-
margin-right: 0;
|
61
|
-
margin-left: 0;
|
62
|
-
|
63
|
-
> .col,
|
64
|
-
> [class*="col-"] {
|
65
|
-
padding-right: 0;
|
66
|
-
padding-left: 0;
|
9
|
+
> * {
|
10
|
+
@include make-col-ready();
|
67
11
|
}
|
68
12
|
}
|
69
13
|
}
|
70
14
|
|
15
|
+
|
71
16
|
// Columns
|
72
17
|
//
|
73
18
|
// Common styles for small and large grid columns
|
@@ -24,7 +24,8 @@
|
|
24
24
|
text-align: inherit; // For `<button>`s (anchors inherit)
|
25
25
|
|
26
26
|
// Hover state
|
27
|
-
|
27
|
+
&:hover,
|
28
|
+
&:focus {
|
28
29
|
z-index: 1; // Place hover/focus items above their siblings for proper border styling
|
29
30
|
color: $list-group-action-hover-color;
|
30
31
|
text-decoration: none;
|
@@ -111,7 +112,7 @@
|
|
111
112
|
margin-top: 0;
|
112
113
|
}
|
113
114
|
|
114
|
-
|
115
|
+
+ .list-group-item {
|
115
116
|
border-top-width: $list-group-border-width;
|
116
117
|
border-left-width: 0;
|
117
118
|
|
@@ -144,11 +145,19 @@
|
|
144
145
|
}
|
145
146
|
|
146
147
|
|
147
|
-
//
|
148
|
+
// scss-docs-start list-group-modifiers
|
149
|
+
// List group contextual variants
|
148
150
|
//
|
149
151
|
// Add modifier classes to change text and background color on individual items.
|
150
152
|
// Organizationally, this must come after the `:hover` states.
|
151
153
|
|
152
|
-
@each $
|
153
|
-
|
154
|
+
@each $state, $value in $theme-colors {
|
155
|
+
$background: scale-color($value, $list-group-item-bg-scale);
|
156
|
+
$color: scale-color($value, $list-group-item-color-scale);
|
157
|
+
@if (contrast-ratio($background, $color) < $min-contrast-ratio) {
|
158
|
+
$color: mix($value, color-contrast($background), abs($alert-color-scale));
|
159
|
+
}
|
160
|
+
|
161
|
+
@include list-group-item-variant($state, $background, $color);
|
154
162
|
}
|
163
|
+
// scss-docs-end list-group-modifiers
|
@@ -8,19 +8,16 @@
|
|
8
8
|
// Deprecate
|
9
9
|
@import "mixins/deprecate";
|
10
10
|
|
11
|
-
//
|
11
|
+
// Helpers
|
12
12
|
@import "mixins/breakpoints";
|
13
|
-
@import "mixins/hover";
|
14
13
|
@import "mixins/image";
|
15
|
-
@import "mixins/badge";
|
16
14
|
@import "mixins/resize";
|
17
|
-
@import "mixins/
|
18
|
-
@import "mixins/size";
|
15
|
+
@import "mixins/visually-hidden";
|
19
16
|
@import "mixins/reset-text";
|
20
|
-
@import "mixins/text-emphasis";
|
21
|
-
@import "mixins/text-hide";
|
22
17
|
@import "mixins/text-truncate";
|
23
|
-
|
18
|
+
|
19
|
+
// Utilities
|
20
|
+
@import "mixins/utilities";
|
24
21
|
|
25
22
|
// Components
|
26
23
|
@import "mixins/alert";
|
@@ -29,12 +26,10 @@
|
|
29
26
|
@import "mixins/pagination";
|
30
27
|
@import "mixins/lists";
|
31
28
|
@import "mixins/list-group";
|
32
|
-
@import "mixins/nav-divider";
|
33
29
|
@import "mixins/forms";
|
34
|
-
@import "mixins/table-
|
30
|
+
@import "mixins/table-variants";
|
35
31
|
|
36
32
|
// Skins
|
37
|
-
@import "mixins/background-variant";
|
38
33
|
@import "mixins/border-radius";
|
39
34
|
@import "mixins/box-shadow";
|
40
35
|
@import "mixins/gradients";
|
@@ -42,6 +37,5 @@
|
|
42
37
|
|
43
38
|
// Layout
|
44
39
|
@import "mixins/clearfix";
|
45
|
-
@import "mixins/
|
40
|
+
@import "mixins/container";
|
46
41
|
@import "mixins/grid";
|
47
|
-
@import "mixins/float";
|
@@ -56,19 +56,13 @@
|
|
56
56
|
}
|
57
57
|
|
58
58
|
.modal-dialog-scrollable {
|
59
|
-
|
60
|
-
max-height: subtract(100%, $modal-dialog-margin * 2);
|
59
|
+
height: subtract(100%, $modal-dialog-margin * 2);
|
61
60
|
|
62
61
|
.modal-content {
|
63
|
-
max-height:
|
62
|
+
max-height: 100%;
|
64
63
|
overflow: hidden;
|
65
64
|
}
|
66
65
|
|
67
|
-
.modal-header,
|
68
|
-
.modal-footer {
|
69
|
-
flex-shrink: 0;
|
70
|
-
}
|
71
|
-
|
72
66
|
.modal-body {
|
73
67
|
overflow-y: auto;
|
74
68
|
}
|
@@ -78,29 +72,6 @@
|
|
78
72
|
display: flex;
|
79
73
|
align-items: center;
|
80
74
|
min-height: subtract(100%, $modal-dialog-margin * 2);
|
81
|
-
|
82
|
-
// Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)
|
83
|
-
&::before {
|
84
|
-
display: block; // IE10
|
85
|
-
height: subtract(100vh, $modal-dialog-margin * 2);
|
86
|
-
height: min-content; // Reset height to 0 except on IE
|
87
|
-
content: "";
|
88
|
-
}
|
89
|
-
|
90
|
-
// Ensure `.modal-body` shows scrollbar (IE10/11)
|
91
|
-
&.modal-dialog-scrollable {
|
92
|
-
flex-direction: column;
|
93
|
-
justify-content: center;
|
94
|
-
height: 100%;
|
95
|
-
|
96
|
-
.modal-content {
|
97
|
-
max-height: none;
|
98
|
-
}
|
99
|
-
|
100
|
-
&::before {
|
101
|
-
content: none;
|
102
|
-
}
|
103
|
-
}
|
104
75
|
}
|
105
76
|
|
106
77
|
// Actual modal
|
@@ -140,16 +111,16 @@
|
|
140
111
|
// Top section of the modal w/ title and dismiss
|
141
112
|
.modal-header {
|
142
113
|
display: flex;
|
143
|
-
|
114
|
+
flex-shrink: 0;
|
115
|
+
align-items: center;
|
144
116
|
justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
|
145
117
|
padding: $modal-header-padding;
|
146
118
|
border-bottom: $modal-header-border-width solid $modal-header-border-color;
|
147
119
|
@include border-top-radius($modal-content-inner-border-radius);
|
148
120
|
|
149
|
-
.close {
|
150
|
-
padding: $modal-header-padding;
|
151
|
-
|
152
|
-
margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;
|
121
|
+
.btn-close {
|
122
|
+
padding: ($modal-header-padding-y / 2) ($modal-header-padding-x / 2);
|
123
|
+
margin: ($modal-header-padding-y / -2) ($modal-header-padding-x / -2) ($modal-header-padding-y / -2) auto;
|
153
124
|
}
|
154
125
|
}
|
155
126
|
|
@@ -173,6 +144,7 @@
|
|
173
144
|
.modal-footer {
|
174
145
|
display: flex;
|
175
146
|
flex-wrap: wrap;
|
147
|
+
flex-shrink: 0;
|
176
148
|
align-items: center; // vertically center
|
177
149
|
justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items
|
178
150
|
padding: $modal-inner-padding - $modal-footer-margin-between / 2;
|
@@ -182,7 +154,6 @@
|
|
182
154
|
// Place margin between footer elements
|
183
155
|
// This solution is far from ideal because of the universal selector usage,
|
184
156
|
// but is needed to fix https://github.com/twbs/bootstrap/issues/24800
|
185
|
-
// stylelint-disable-next-line selector-max-universal
|
186
157
|
> * {
|
187
158
|
margin: $modal-footer-margin-between / 2;
|
188
159
|
}
|
@@ -206,20 +177,11 @@
|
|
206
177
|
}
|
207
178
|
|
208
179
|
.modal-dialog-scrollable {
|
209
|
-
|
210
|
-
|
211
|
-
.modal-content {
|
212
|
-
max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);
|
213
|
-
}
|
180
|
+
height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);
|
214
181
|
}
|
215
182
|
|
216
183
|
.modal-dialog-centered {
|
217
184
|
min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);
|
218
|
-
|
219
|
-
&::before {
|
220
|
-
height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);
|
221
|
-
height: min-content;
|
222
|
-
}
|
223
185
|
}
|
224
186
|
|
225
187
|
.modal-content {
|
@@ -239,3 +201,35 @@
|
|
239
201
|
@include media-breakpoint-up(xl) {
|
240
202
|
.modal-xl { max-width: $modal-xl; }
|
241
203
|
}
|
204
|
+
|
205
|
+
@each $breakpoint in map-keys($grid-breakpoints) {
|
206
|
+
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
207
|
+
$postfix: if($infix != "", $infix + "-down", "");
|
208
|
+
|
209
|
+
@include media-breakpoint-down($breakpoint) {
|
210
|
+
.modal-fullscreen#{$postfix} {
|
211
|
+
width: 100vw;
|
212
|
+
max-width: none;
|
213
|
+
height: 100%;
|
214
|
+
margin: 0;
|
215
|
+
|
216
|
+
.modal-content {
|
217
|
+
height: 100%;
|
218
|
+
border: 0;
|
219
|
+
@include border-radius(0);
|
220
|
+
}
|
221
|
+
|
222
|
+
.modal-header {
|
223
|
+
@include border-radius(0);
|
224
|
+
}
|
225
|
+
|
226
|
+
.modal-body {
|
227
|
+
overflow-y: auto;
|
228
|
+
}
|
229
|
+
|
230
|
+
.modal-footer {
|
231
|
+
@include border-radius(0);
|
232
|
+
}
|
233
|
+
}
|
234
|
+
}
|
235
|
+
}
|