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.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- 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 +10 -7
- data/assets/javascripts/bootstrap.js +2554 -2564
- data/assets/javascripts/bootstrap.min.js +3 -3
- data/assets/javascripts/bootstrap/alert.js +119 -115
- data/assets/javascripts/bootstrap/base-component.js +63 -0
- data/assets/javascripts/bootstrap/button.js +67 -69
- data/assets/javascripts/bootstrap/carousel.js +340 -331
- data/assets/javascripts/bootstrap/collapse.js +214 -209
- data/assets/javascripts/bootstrap/dom/data.js +35 -48
- data/assets/javascripts/bootstrap/dom/event-handler.js +105 -98
- data/assets/javascripts/bootstrap/dom/manipulator.js +26 -34
- data/assets/javascripts/bootstrap/dom/selector-engine.js +28 -41
- data/assets/javascripts/bootstrap/dropdown.js +392 -325
- data/assets/javascripts/bootstrap/modal.js +492 -434
- data/assets/javascripts/bootstrap/offcanvas.js +671 -0
- data/assets/javascripts/bootstrap/popover.js +114 -132
- data/assets/javascripts/bootstrap/scrollspy.js +172 -180
- data/assets/javascripts/bootstrap/tab.js +168 -144
- data/assets/javascripts/bootstrap/toast.js +141 -150
- data/assets/javascripts/bootstrap/tooltip.js +466 -452
- data/assets/stylesheets/_bootstrap-grid.scss +9 -9
- data/assets/stylesheets/_bootstrap-reboot.scss +3 -3
- data/assets/stylesheets/_bootstrap.scss +5 -3
- data/assets/stylesheets/bootstrap/_accordion.scss +118 -0
- data/assets/stylesheets/bootstrap/_alert.scss +10 -3
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +2 -4
- data/assets/stylesheets/bootstrap/_button-group.scss +5 -7
- data/assets/stylesheets/bootstrap/_buttons.scss +2 -15
- data/assets/stylesheets/bootstrap/_card.scss +2 -29
- data/assets/stylesheets/bootstrap/_carousel.scss +35 -18
- data/assets/stylesheets/bootstrap/_close.scss +2 -3
- data/assets/stylesheets/bootstrap/_dropdown.scss +33 -29
- data/assets/stylesheets/bootstrap/_forms.scss +1 -1
- data/assets/stylesheets/bootstrap/_functions.scss +11 -12
- data/assets/stylesheets/bootstrap/_list-group.scss +23 -6
- data/assets/stylesheets/bootstrap/_mixins.scss +1 -0
- data/assets/stylesheets/bootstrap/_modal.scss +2 -9
- data/assets/stylesheets/bootstrap/_nav.scss +12 -0
- data/assets/stylesheets/bootstrap/_navbar.scss +15 -2
- data/assets/stylesheets/bootstrap/_offcanvas.scss +77 -0
- data/assets/stylesheets/bootstrap/_pagination.scss +3 -3
- data/assets/stylesheets/bootstrap/_popover.scss +10 -22
- data/assets/stylesheets/bootstrap/_progress.scss +4 -1
- data/assets/stylesheets/bootstrap/_reboot.scss +48 -44
- data/assets/stylesheets/bootstrap/_root.scss +5 -5
- data/assets/stylesheets/bootstrap/_spinners.scss +18 -5
- data/assets/stylesheets/bootstrap/_tables.scss +15 -16
- data/assets/stylesheets/bootstrap/_toasts.scss +15 -12
- data/assets/stylesheets/bootstrap/_tooltip.scss +12 -12
- data/assets/stylesheets/bootstrap/_transitions.scss +2 -0
- data/assets/stylesheets/bootstrap/_utilities.scss +133 -70
- data/assets/stylesheets/bootstrap/_variables.scss +363 -207
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +5 -5
- data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +61 -0
- data/assets/stylesheets/bootstrap/forms/_form-check.scss +21 -11
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +112 -9
- data/assets/stylesheets/bootstrap/forms/_form-range.scss +1 -46
- data/assets/stylesheets/bootstrap/forms/_form-select.scss +1 -16
- data/assets/stylesheets/bootstrap/forms/_input-group.scss +21 -40
- data/assets/stylesheets/bootstrap/forms/_validation.scss +1 -1
- data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +2 -2
- data/assets/stylesheets/bootstrap/helpers/_ratio.scss +2 -2
- data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +3 -1
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +8 -6
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +10 -5
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +8 -6
- data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
- data/assets/stylesheets/bootstrap/mixins/_container.scss +2 -4
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +26 -22
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +5 -1
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +18 -13
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +3 -1
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +5 -3
- data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +7 -7
- data/assets/stylesheets/bootstrap/mixins/_utilities.scss +19 -0
- data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +3 -2
- data/assets/stylesheets/bootstrap/utilities/_api.scss +1 -1
- data/bootstrap.gemspec +1 -3
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +20 -5
- data/tasks/updater/network.rb +7 -1
- 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 +20 -40
- data/assets/javascripts/bootstrap/dom/polyfill.js +0 -110
- data/assets/stylesheets/bootstrap/forms/_form-file.scss +0 -91
- data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
|
@@ -9,8 +9,7 @@
|
|
|
9
9
|
height: $btn-close-height;
|
|
10
10
|
padding: $btn-close-padding-y $btn-close-padding-x;
|
|
11
11
|
color: $btn-close-color;
|
|
12
|
-
background: transparent escape-svg($btn-close-bg)
|
|
13
|
-
background-clip: content-box;
|
|
12
|
+
background: transparent escape-svg($btn-close-bg) center / $btn-close-width auto no-repeat; // include transparent for button elements
|
|
14
13
|
border: 0; // for button elements
|
|
15
14
|
@include border-radius();
|
|
16
15
|
opacity: $btn-close-opacity;
|
|
@@ -23,7 +22,7 @@
|
|
|
23
22
|
}
|
|
24
23
|
|
|
25
24
|
&:focus {
|
|
26
|
-
outline:
|
|
25
|
+
outline: 0;
|
|
27
26
|
box-shadow: $btn-close-focus-shadow;
|
|
28
27
|
opacity: $btn-close-focus-opacity;
|
|
29
28
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// The dropdown wrapper (`<div>`)
|
|
2
2
|
.dropup,
|
|
3
|
-
.
|
|
3
|
+
.dropend,
|
|
4
4
|
.dropdown,
|
|
5
|
-
.
|
|
5
|
+
.dropstart {
|
|
6
6
|
position: relative;
|
|
7
7
|
}
|
|
8
8
|
|
|
@@ -16,13 +16,11 @@
|
|
|
16
16
|
// The dropdown menu
|
|
17
17
|
.dropdown-menu {
|
|
18
18
|
position: absolute;
|
|
19
|
-
top: 100%;
|
|
20
|
-
left: 0;
|
|
21
19
|
z-index: $zindex-dropdown;
|
|
22
20
|
display: none; // none by default, but block on "open" of the menu
|
|
23
21
|
min-width: $dropdown-min-width;
|
|
24
22
|
padding: $dropdown-padding-y $dropdown-padding-x;
|
|
25
|
-
margin:
|
|
23
|
+
margin: 0; // Override default margin of ul
|
|
26
24
|
@include font-size($dropdown-font-size);
|
|
27
25
|
color: $dropdown-color;
|
|
28
26
|
text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
|
|
@@ -32,21 +30,38 @@
|
|
|
32
30
|
border: $dropdown-border-width solid $dropdown-border-color;
|
|
33
31
|
@include border-radius($dropdown-border-radius);
|
|
34
32
|
@include box-shadow($dropdown-box-shadow);
|
|
33
|
+
|
|
34
|
+
&[data-bs-popper] {
|
|
35
|
+
top: 100%;
|
|
36
|
+
left: 0;
|
|
37
|
+
margin-top: $dropdown-spacer;
|
|
38
|
+
}
|
|
35
39
|
}
|
|
36
40
|
|
|
37
41
|
// scss-docs-start responsive-breakpoints
|
|
42
|
+
// We deliberately hardcode the `bs-` prefix because we check
|
|
43
|
+
// this custom property in JS to determine Popper's positioning
|
|
44
|
+
|
|
38
45
|
@each $breakpoint in map-keys($grid-breakpoints) {
|
|
39
46
|
@include media-breakpoint-up($breakpoint) {
|
|
40
47
|
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
|
41
48
|
|
|
42
|
-
.dropdown-menu#{$infix}-
|
|
43
|
-
|
|
44
|
-
|
|
49
|
+
.dropdown-menu#{$infix}-start {
|
|
50
|
+
--bs-position: start;
|
|
51
|
+
|
|
52
|
+
&[data-bs-popper] {
|
|
53
|
+
right: auto #{"/* rtl:ignore */"};
|
|
54
|
+
left: 0 #{"/* rtl:ignore */"};
|
|
55
|
+
}
|
|
45
56
|
}
|
|
46
57
|
|
|
47
|
-
.dropdown-menu#{$infix}-
|
|
48
|
-
|
|
49
|
-
|
|
58
|
+
.dropdown-menu#{$infix}-end {
|
|
59
|
+
--bs-position: end;
|
|
60
|
+
|
|
61
|
+
&[data-bs-popper] {
|
|
62
|
+
right: 0 #{"/* rtl:ignore */"};
|
|
63
|
+
left: auto #{"/* rtl:ignore */"};
|
|
64
|
+
}
|
|
50
65
|
}
|
|
51
66
|
}
|
|
52
67
|
}
|
|
@@ -55,7 +70,7 @@
|
|
|
55
70
|
// Allow for dropdowns to go bottom up (aka, dropup-menu)
|
|
56
71
|
// Just add .dropup after the standard .dropdown class and you're set.
|
|
57
72
|
.dropup {
|
|
58
|
-
.dropdown-menu {
|
|
73
|
+
.dropdown-menu[data-bs-popper] {
|
|
59
74
|
top: auto;
|
|
60
75
|
bottom: 100%;
|
|
61
76
|
margin-top: 0;
|
|
@@ -67,8 +82,8 @@
|
|
|
67
82
|
}
|
|
68
83
|
}
|
|
69
84
|
|
|
70
|
-
.
|
|
71
|
-
.dropdown-menu {
|
|
85
|
+
.dropend {
|
|
86
|
+
.dropdown-menu[data-bs-popper] {
|
|
72
87
|
top: 0;
|
|
73
88
|
right: auto;
|
|
74
89
|
left: 100%;
|
|
@@ -77,15 +92,15 @@
|
|
|
77
92
|
}
|
|
78
93
|
|
|
79
94
|
.dropdown-toggle {
|
|
80
|
-
@include caret(
|
|
95
|
+
@include caret(end);
|
|
81
96
|
&::after {
|
|
82
97
|
vertical-align: 0;
|
|
83
98
|
}
|
|
84
99
|
}
|
|
85
100
|
}
|
|
86
101
|
|
|
87
|
-
.
|
|
88
|
-
.dropdown-menu {
|
|
102
|
+
.dropstart {
|
|
103
|
+
.dropdown-menu[data-bs-popper] {
|
|
89
104
|
top: 0;
|
|
90
105
|
right: 100%;
|
|
91
106
|
left: auto;
|
|
@@ -94,24 +109,13 @@
|
|
|
94
109
|
}
|
|
95
110
|
|
|
96
111
|
.dropdown-toggle {
|
|
97
|
-
@include caret(
|
|
112
|
+
@include caret(start);
|
|
98
113
|
&::before {
|
|
99
114
|
vertical-align: 0;
|
|
100
115
|
}
|
|
101
116
|
}
|
|
102
117
|
}
|
|
103
118
|
|
|
104
|
-
// When enabled Popper.js, reset basic dropdown position
|
|
105
|
-
// stylelint-disable-next-line no-duplicate-selectors
|
|
106
|
-
.dropdown-menu {
|
|
107
|
-
&[x-placement^="top"],
|
|
108
|
-
&[x-placement^="right"],
|
|
109
|
-
&[x-placement^="bottom"],
|
|
110
|
-
&[x-placement^="left"] {
|
|
111
|
-
right: auto;
|
|
112
|
-
bottom: auto;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
119
|
|
|
116
120
|
// Dividers (basically an `<hr>`) within the dropdown
|
|
117
121
|
.dropdown-divider {
|
|
@@ -150,23 +150,22 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003
|
|
|
150
150
|
@return mix(rgba($foreground, 1), $background, opacity($foreground) * 100);
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
-
//
|
|
154
|
-
//
|
|
155
|
-
@function color
|
|
156
|
-
|
|
157
|
-
$level: abs($level);
|
|
158
|
-
|
|
159
|
-
@return mix($color-base, $color, $level * $theme-color-interval);
|
|
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);
|
|
160
157
|
}
|
|
161
|
-
// scss-docs-end color-level
|
|
162
158
|
|
|
163
|
-
|
|
164
|
-
|
|
159
|
+
// Shade a color: mix a color with black
|
|
160
|
+
@function shade-color($color, $weight) {
|
|
161
|
+
@return mix(black, $color, $weight);
|
|
165
162
|
}
|
|
166
163
|
|
|
167
|
-
|
|
168
|
-
|
|
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));
|
|
169
167
|
}
|
|
168
|
+
// scss-docs-end color-functions
|
|
170
169
|
|
|
171
170
|
// Return valid calc
|
|
172
171
|
@function add($value1, $value2, $return-calc: true) {
|
|
@@ -12,6 +12,17 @@
|
|
|
12
12
|
@include border-radius($list-group-border-radius);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
.list-group-numbered {
|
|
16
|
+
list-style-type: none;
|
|
17
|
+
counter-reset: section;
|
|
18
|
+
|
|
19
|
+
> li::before {
|
|
20
|
+
// Increments only this instance of the section counter
|
|
21
|
+
content: counters(section, ".") ". ";
|
|
22
|
+
counter-increment: section;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
15
26
|
|
|
16
27
|
// Interactive list items
|
|
17
28
|
//
|
|
@@ -99,13 +110,13 @@
|
|
|
99
110
|
|
|
100
111
|
> .list-group-item {
|
|
101
112
|
&:first-child {
|
|
102
|
-
@include border-bottom-
|
|
103
|
-
@include border-top-
|
|
113
|
+
@include border-bottom-start-radius($list-group-border-radius);
|
|
114
|
+
@include border-top-end-radius(0);
|
|
104
115
|
}
|
|
105
116
|
|
|
106
117
|
&:last-child {
|
|
107
|
-
@include border-top-
|
|
108
|
-
@include border-bottom-
|
|
118
|
+
@include border-top-end-radius($list-group-border-radius);
|
|
119
|
+
@include border-bottom-start-radius(0);
|
|
109
120
|
}
|
|
110
121
|
|
|
111
122
|
&.active {
|
|
@@ -151,7 +162,13 @@
|
|
|
151
162
|
// Add modifier classes to change text and background color on individual items.
|
|
152
163
|
// Organizationally, this must come after the `:hover` states.
|
|
153
164
|
|
|
154
|
-
@each $
|
|
155
|
-
|
|
165
|
+
@each $state, $value in $theme-colors {
|
|
166
|
+
$list-group-background: shift-color($value, $list-group-item-bg-scale);
|
|
167
|
+
$list-group-color: shift-color($value, $list-group-item-color-scale);
|
|
168
|
+
@if (contrast-ratio($list-group-background, $list-group-color) < $min-contrast-ratio) {
|
|
169
|
+
$list-group-color: mix($value, color-contrast($list-group-background), abs($list-group-item-color-scale));
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
@include list-group-item-variant($state, $list-group-background, $list-group-color);
|
|
156
173
|
}
|
|
157
174
|
// scss-docs-end list-group-modifiers
|
|
@@ -159,15 +159,6 @@
|
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
// Measure scrollbar width for padding body during modal show/hide
|
|
163
|
-
.modal-scrollbar-measure {
|
|
164
|
-
position: absolute;
|
|
165
|
-
top: -9999px;
|
|
166
|
-
width: 50px;
|
|
167
|
-
height: 50px;
|
|
168
|
-
overflow: scroll;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
162
|
// Scale up the modal
|
|
172
163
|
@include media-breakpoint-up(sm) {
|
|
173
164
|
// Automatically set modal's width for larger viewports
|
|
@@ -202,6 +193,7 @@
|
|
|
202
193
|
.modal-xl { max-width: $modal-xl; }
|
|
203
194
|
}
|
|
204
195
|
|
|
196
|
+
// scss-docs-start modal-fullscreen-loop
|
|
205
197
|
@each $breakpoint in map-keys($grid-breakpoints) {
|
|
206
198
|
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
|
207
199
|
$postfix: if($infix != "", $infix + "-down", "");
|
|
@@ -233,3 +225,4 @@
|
|
|
233
225
|
}
|
|
234
226
|
}
|
|
235
227
|
}
|
|
228
|
+
// scss-docs-end modal-fullscreen-loop
|
|
@@ -43,12 +43,15 @@
|
|
|
43
43
|
|
|
44
44
|
.nav-link {
|
|
45
45
|
margin-bottom: -$nav-tabs-border-width;
|
|
46
|
+
background: none;
|
|
46
47
|
border: $nav-tabs-border-width solid transparent;
|
|
47
48
|
@include border-top-radius($nav-tabs-border-radius);
|
|
48
49
|
|
|
49
50
|
&:hover,
|
|
50
51
|
&:focus {
|
|
51
52
|
border-color: $nav-tabs-link-hover-border-color;
|
|
53
|
+
// Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link
|
|
54
|
+
isolation: isolate;
|
|
52
55
|
}
|
|
53
56
|
|
|
54
57
|
&.disabled {
|
|
@@ -80,6 +83,8 @@
|
|
|
80
83
|
|
|
81
84
|
.nav-pills {
|
|
82
85
|
.nav-link {
|
|
86
|
+
background: none;
|
|
87
|
+
border: 0;
|
|
83
88
|
@include border-radius($nav-pills-border-radius);
|
|
84
89
|
}
|
|
85
90
|
|
|
@@ -112,6 +117,13 @@
|
|
|
112
117
|
}
|
|
113
118
|
}
|
|
114
119
|
|
|
120
|
+
.nav-fill,
|
|
121
|
+
.nav-justified {
|
|
122
|
+
.nav-item .nav-link {
|
|
123
|
+
width: 100%; // Make sure button will grow
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
115
127
|
|
|
116
128
|
// Tabbable tabs
|
|
117
129
|
//
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
.navbar-brand {
|
|
57
57
|
padding-top: $navbar-brand-padding-y;
|
|
58
58
|
padding-bottom: $navbar-brand-padding-y;
|
|
59
|
-
margin-right: $navbar-brand-margin-
|
|
59
|
+
margin-right: $navbar-brand-margin-end;
|
|
60
60
|
@include font-size($navbar-brand-font-size);
|
|
61
61
|
text-decoration: if($link-decoration == none, null, none);
|
|
62
62
|
white-space: nowrap;
|
|
@@ -109,10 +109,11 @@
|
|
|
109
109
|
// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`
|
|
110
110
|
// on the `.navbar` parent.
|
|
111
111
|
.navbar-collapse {
|
|
112
|
+
flex-basis: 100%;
|
|
113
|
+
flex-grow: 1;
|
|
112
114
|
// For always expanded or extra full navbars, ensure content aligns itself
|
|
113
115
|
// properly vertically. Can be easily overridden with flex utilities.
|
|
114
116
|
align-items: center;
|
|
115
|
-
width: 100%;
|
|
116
117
|
}
|
|
117
118
|
|
|
118
119
|
// Button for toggling the navbar when in its collapsed state
|
|
@@ -148,6 +149,12 @@
|
|
|
148
149
|
background-size: 100%;
|
|
149
150
|
}
|
|
150
151
|
|
|
152
|
+
.navbar-nav-scroll {
|
|
153
|
+
max-height: var(--#{$variable-prefix}scroll-height, 75vh);
|
|
154
|
+
overflow-y: auto;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// scss-docs-start navbar-expand-loop
|
|
151
158
|
// Generate series of `.navbar-expand-*` responsive classes for configuring
|
|
152
159
|
// where your navbar collapses.
|
|
153
160
|
.navbar-expand {
|
|
@@ -174,8 +181,13 @@
|
|
|
174
181
|
}
|
|
175
182
|
}
|
|
176
183
|
|
|
184
|
+
.navbar-nav-scroll {
|
|
185
|
+
overflow: visible;
|
|
186
|
+
}
|
|
187
|
+
|
|
177
188
|
.navbar-collapse {
|
|
178
189
|
display: flex !important; // stylelint-disable-line declaration-no-important
|
|
190
|
+
flex-basis: auto;
|
|
179
191
|
}
|
|
180
192
|
|
|
181
193
|
.navbar-toggler {
|
|
@@ -185,6 +197,7 @@
|
|
|
185
197
|
}
|
|
186
198
|
}
|
|
187
199
|
}
|
|
200
|
+
// scss-docs-end navbar-expand-loop
|
|
188
201
|
|
|
189
202
|
|
|
190
203
|
// Navbar themes
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
.offcanvas {
|
|
2
|
+
position: fixed;
|
|
3
|
+
bottom: 0;
|
|
4
|
+
z-index: $zindex-offcanvas;
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
max-width: 100%;
|
|
8
|
+
color: $offcanvas-color;
|
|
9
|
+
visibility: hidden;
|
|
10
|
+
background-color: $offcanvas-bg-color;
|
|
11
|
+
background-clip: padding-box;
|
|
12
|
+
outline: 0;
|
|
13
|
+
@include box-shadow($offcanvas-box-shadow);
|
|
14
|
+
@include transition(transform $offcanvas-transition-duration ease-in-out);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.offcanvas-header {
|
|
18
|
+
display: flex;
|
|
19
|
+
align-items: center;
|
|
20
|
+
justify-content: space-between;
|
|
21
|
+
padding: $offcanvas-padding-y $offcanvas-padding-x;
|
|
22
|
+
|
|
23
|
+
.btn-close {
|
|
24
|
+
padding: ($offcanvas-padding-y / 2) ($offcanvas-padding-x / 2);
|
|
25
|
+
margin: ($offcanvas-padding-y / -2) ($offcanvas-padding-x / -2) ($offcanvas-padding-y / -2) auto;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.offcanvas-title {
|
|
30
|
+
margin-bottom: 0;
|
|
31
|
+
line-height: $offcanvas-title-line-height;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.offcanvas-body {
|
|
35
|
+
flex-grow: 1;
|
|
36
|
+
padding: $offcanvas-padding-y $offcanvas-padding-x;
|
|
37
|
+
overflow-y: auto;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.offcanvas-start {
|
|
41
|
+
top: 0;
|
|
42
|
+
left: 0;
|
|
43
|
+
width: $offcanvas-horizontal-width;
|
|
44
|
+
border-right: $offcanvas-border-width solid $offcanvas-border-color;
|
|
45
|
+
transform: translateX(-100%);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.offcanvas-end {
|
|
49
|
+
top: 0;
|
|
50
|
+
right: 0;
|
|
51
|
+
width: $offcanvas-horizontal-width;
|
|
52
|
+
border-left: $offcanvas-border-width solid $offcanvas-border-color;
|
|
53
|
+
transform: translateX(100%);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.offcanvas-top {
|
|
57
|
+
top: 0;
|
|
58
|
+
right: 0;
|
|
59
|
+
left: 0;
|
|
60
|
+
height: $offcanvas-vertical-height;
|
|
61
|
+
max-height: 100%;
|
|
62
|
+
border-bottom: $offcanvas-border-width solid $offcanvas-border-color;
|
|
63
|
+
transform: translateY(-100%);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.offcanvas-bottom {
|
|
67
|
+
right: 0;
|
|
68
|
+
left: 0;
|
|
69
|
+
height: $offcanvas-vertical-height;
|
|
70
|
+
max-height: 100%;
|
|
71
|
+
border-top: $offcanvas-border-width solid $offcanvas-border-color;
|
|
72
|
+
transform: translateY(100%);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.offcanvas.show {
|
|
76
|
+
transform: none;
|
|
77
|
+
}
|