bootstrap 4.6.0 → 5.0.0.beta2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +2 -1
- data/README.md +7 -4
- data/assets/javascripts/bootstrap-global-this-define.js +6 -0
- data/assets/javascripts/bootstrap-global-this-undefine.js +2 -0
- data/assets/javascripts/bootstrap-sprockets.js +14 -8
- data/assets/javascripts/bootstrap.js +2152 -1633
- data/assets/javascripts/bootstrap.min.js +2 -2
- data/assets/javascripts/bootstrap/alert.js +179 -64
- data/assets/javascripts/bootstrap/base-component.js +75 -0
- data/assets/javascripts/bootstrap/button.js +94 -143
- data/assets/javascripts/bootstrap/carousel.js +386 -202
- data/assets/javascripts/bootstrap/collapse.js +349 -132
- data/assets/javascripts/bootstrap/dom/data.js +81 -0
- data/assets/javascripts/bootstrap/dom/event-handler.js +310 -0
- data/assets/javascripts/bootstrap/dom/manipulator.js +86 -0
- data/assets/javascripts/bootstrap/dom/selector-engine.js +93 -0
- data/assets/javascripts/bootstrap/dropdown.js +387 -224
- data/assets/javascripts/bootstrap/modal.js +391 -220
- data/assets/javascripts/bootstrap/popover.js +94 -49
- data/assets/javascripts/bootstrap/scrollspy.js +212 -80
- data/assets/javascripts/bootstrap/tab.js +198 -79
- data/assets/javascripts/bootstrap/toast.js +211 -78
- data/assets/javascripts/bootstrap/tooltip.js +558 -300
- data/assets/stylesheets/_bootstrap-grid.scss +51 -16
- data/assets/stylesheets/_bootstrap-reboot.scss +4 -1
- data/assets/stylesheets/_bootstrap.scss +15 -8
- data/assets/stylesheets/bootstrap/_accordion.scss +126 -0
- data/assets/stylesheets/bootstrap/_alert.scss +15 -10
- data/assets/stylesheets/bootstrap/_badge.scss +2 -27
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +3 -17
- data/assets/stylesheets/bootstrap/_button-group.scss +21 -45
- data/assets/stylesheets/bootstrap/_buttons.scss +27 -60
- data/assets/stylesheets/bootstrap/_card.scss +21 -92
- data/assets/stylesheets/bootstrap/_carousel.scss +65 -33
- data/assets/stylesheets/bootstrap/_close.scss +30 -30
- data/assets/stylesheets/bootstrap/_containers.scss +41 -0
- data/assets/stylesheets/bootstrap/_dropdown.scss +95 -38
- data/assets/stylesheets/bootstrap/_forms.scss +9 -347
- data/assets/stylesheets/bootstrap/_functions.scss +84 -23
- data/assets/stylesheets/bootstrap/_grid.scss +3 -54
- data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
- data/assets/stylesheets/bootstrap/_list-group.scss +17 -8
- data/assets/stylesheets/bootstrap/_mixins.scss +7 -13
- data/assets/stylesheets/bootstrap/_modal.scss +41 -46
- data/assets/stylesheets/bootstrap/_nav.scss +16 -4
- data/assets/stylesheets/bootstrap/_navbar.scss +43 -71
- data/assets/stylesheets/bootstrap/_pagination.scss +10 -20
- data/assets/stylesheets/bootstrap/_popover.scss +15 -27
- data/assets/stylesheets/bootstrap/_progress.scss +2 -4
- data/assets/stylesheets/bootstrap/_reboot.scss +314 -163
- data/assets/stylesheets/bootstrap/_root.scss +5 -8
- data/assets/stylesheets/bootstrap/_spinners.scss +5 -5
- data/assets/stylesheets/bootstrap/_tables.scss +79 -114
- data/assets/stylesheets/bootstrap/_toasts.scss +20 -15
- data/assets/stylesheets/bootstrap/_tooltip.scss +17 -17
- data/assets/stylesheets/bootstrap/_transitions.scss +0 -1
- data/assets/stylesheets/bootstrap/_type.scss +38 -59
- data/assets/stylesheets/bootstrap/_utilities.scss +566 -18
- data/assets/stylesheets/bootstrap/_variables.scss +673 -463
- 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 +152 -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 +67 -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 +8 -8
- 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 +8 -8
- data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +27 -88
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +13 -11
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +83 -32
- 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 +1 -1
- data/assets/stylesheets/bootstrap/mixins/_utilities.scss +68 -0
- data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +29 -0
- data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +234 -126
- data/bootstrap.gemspec +1 -3
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +20 -5
- data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
- data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
- data/test/dummy_rails/app/views/pages/root.html +89 -0
- data/test/dummy_rails/config/application.rb +0 -3
- data/test/gemfiles/rails_6_1.gemfile +7 -0
- metadata +44 -75
- data/assets/javascripts/bootstrap/util.js +0 -192
- data/assets/stylesheets/bootstrap/_code.scss +0 -48
- data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -526
- data/assets/stylesheets/bootstrap/_input-group.scss +0 -208
- 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 -80
- 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 -72
- data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
- data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
@@ -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
|
//
|
@@ -70,41 +93,79 @@
|
|
70
93
|
}
|
71
94
|
|
72
95
|
// Color contrast
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
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
|
+
}
|
77
116
|
|
78
|
-
|
117
|
+
@warn "Found no color leading to #{$min-contrast-ratio}:1 contrast ratio against #{$background}...";
|
79
118
|
|
80
|
-
@
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
119
|
+
@return $max-ratio-color;
|
120
|
+
}
|
121
|
+
|
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));
|
85
127
|
}
|
86
128
|
|
87
|
-
//
|
88
|
-
|
89
|
-
|
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);
|
90
145
|
}
|
91
146
|
|
92
|
-
|
93
|
-
|
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);
|
94
151
|
}
|
95
152
|
|
96
|
-
|
97
|
-
|
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);
|
98
157
|
}
|
99
158
|
|
100
|
-
//
|
101
|
-
@function
|
102
|
-
$color
|
103
|
-
|
104
|
-
$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
|
+
}
|
105
163
|
|
106
|
-
|
164
|
+
// Shade the color if the weight is positive, else tint it
|
165
|
+
@function shift-color($color, $weight) {
|
166
|
+
@return if($weight > 0, shade-color($color, $weight), tint-color($color, -$weight));
|
107
167
|
}
|
168
|
+
// scss-docs-end color-functions
|
108
169
|
|
109
170
|
// Return valid calc
|
110
171
|
@function add($value1, $value2, $return-calc: true) {
|
@@ -1,46 +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
|
-
// 100% wide container at all breakpoints
|
9
|
-
.container-fluid {
|
10
|
-
@include make-container();
|
11
|
-
}
|
12
|
-
|
13
|
-
// Responsive containers that are 100% wide until a breakpoint
|
14
|
-
@each $breakpoint, $container-max-width in $container-max-widths {
|
15
|
-
.container-#{$breakpoint} {
|
16
|
-
@extend .container-fluid;
|
17
|
-
}
|
18
|
-
|
19
|
-
@include media-breakpoint-up($breakpoint, $grid-breakpoints) {
|
20
|
-
%responsive-container-#{$breakpoint} {
|
21
|
-
max-width: $container-max-width;
|
22
|
-
}
|
23
|
-
|
24
|
-
// Extend each breakpoint which is smaller or equal to the current breakpoint
|
25
|
-
$extend-breakpoint: true;
|
26
|
-
|
27
|
-
@each $name, $width in $grid-breakpoints {
|
28
|
-
@if ($extend-breakpoint) {
|
29
|
-
.container#{breakpoint-infix($name, $grid-breakpoints)} {
|
30
|
-
@extend %responsive-container-#{$breakpoint};
|
31
|
-
}
|
32
|
-
|
33
|
-
// Once the current breakpoint is reached, stop extending
|
34
|
-
@if ($breakpoint == $name) {
|
35
|
-
$extend-breakpoint: false;
|
36
|
-
}
|
37
|
-
}
|
38
|
-
}
|
39
|
-
}
|
40
|
-
}
|
41
|
-
}
|
42
|
-
|
43
|
-
|
44
1
|
// Row
|
45
2
|
//
|
46
3
|
// Rows contain your columns.
|
@@ -48,22 +5,14 @@
|
|
48
5
|
@if $enable-grid-classes {
|
49
6
|
.row {
|
50
7
|
@include make-row();
|
51
|
-
}
|
52
8
|
|
53
|
-
|
54
|
-
|
55
|
-
.no-gutters {
|
56
|
-
margin-right: 0;
|
57
|
-
margin-left: 0;
|
58
|
-
|
59
|
-
> .col,
|
60
|
-
> [class*="col-"] {
|
61
|
-
padding-right: 0;
|
62
|
-
padding-left: 0;
|
9
|
+
> * {
|
10
|
+
@include make-col-ready();
|
63
11
|
}
|
64
12
|
}
|
65
13
|
}
|
66
14
|
|
15
|
+
|
67
16
|
// Columns
|
68
17
|
//
|
69
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;
|
@@ -98,13 +99,13 @@
|
|
98
99
|
|
99
100
|
> .list-group-item {
|
100
101
|
&:first-child {
|
101
|
-
@include border-bottom-
|
102
|
-
@include border-top-
|
102
|
+
@include border-bottom-start-radius($list-group-border-radius);
|
103
|
+
@include border-top-end-radius(0);
|
103
104
|
}
|
104
105
|
|
105
106
|
&:last-child {
|
106
|
-
@include border-top-
|
107
|
-
@include border-bottom-
|
107
|
+
@include border-top-end-radius($list-group-border-radius);
|
108
|
+
@include border-bottom-start-radius(0);
|
108
109
|
}
|
109
110
|
|
110
111
|
&.active {
|
@@ -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
|
+
$list-group-background: shift-color($value, $list-group-item-bg-scale);
|
156
|
+
$list-group-color: shift-color($value, $list-group-item-color-scale);
|
157
|
+
@if (contrast-ratio($list-group-background, $list-group-color) < $min-contrast-ratio) {
|
158
|
+
$list-group-color: mix($value, color-contrast($list-group-background), abs($alert-color-scale));
|
159
|
+
}
|
160
|
+
|
161
|
+
@include list-group-item-variant($state, $list-group-background, $list-group-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;
|
@@ -205,20 +177,11 @@
|
|
205
177
|
}
|
206
178
|
|
207
179
|
.modal-dialog-scrollable {
|
208
|
-
|
209
|
-
|
210
|
-
.modal-content {
|
211
|
-
max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);
|
212
|
-
}
|
180
|
+
height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);
|
213
181
|
}
|
214
182
|
|
215
183
|
.modal-dialog-centered {
|
216
184
|
min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);
|
217
|
-
|
218
|
-
&::before {
|
219
|
-
height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);
|
220
|
-
height: min-content;
|
221
|
-
}
|
222
185
|
}
|
223
186
|
|
224
187
|
.modal-content {
|
@@ -238,3 +201,35 @@
|
|
238
201
|
@include media-breakpoint-up(xl) {
|
239
202
|
.modal-xl { max-width: $modal-xl; }
|
240
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
|
+
}
|