jobdone-shared-files 0.0.1-beta.5 → 0.0.1-beta.6
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.
- package/package.json +2 -2
- package/style/scss/Bootstrap/_accordion.scss +158 -0
- package/style/scss/Bootstrap/_alert.scss +68 -0
- package/style/scss/Bootstrap/_badge.scss +38 -0
- package/style/scss/Bootstrap/_breadcrumb.scss +40 -0
- package/style/scss/Bootstrap/_button-group.scss +142 -0
- package/style/scss/Bootstrap/_buttons.scss +207 -0
- package/style/scss/Bootstrap/_card.scss +238 -0
- package/style/scss/Bootstrap/_carousel.scss +238 -0
- package/style/scss/Bootstrap/_close.scss +61 -0
- package/style/scss/Bootstrap/_containers.scss +41 -0
- package/style/scss/Bootstrap/_dropdown.scss +250 -0
- package/style/scss/Bootstrap/_forms.scss +9 -0
- package/style/scss/Bootstrap/_grid.scss +33 -0
- package/style/scss/Bootstrap/_helpers.scss +10 -0
- package/style/scss/Bootstrap/_images.scss +42 -0
- package/style/scss/Bootstrap/_list-group.scss +204 -0
- package/style/scss/Bootstrap/_maps.scss +121 -0
- package/style/scss/Bootstrap/_modal.scss +237 -0
- package/style/scss/Bootstrap/_nav.scss +172 -0
- package/style/scss/Bootstrap/_navbar.scss +286 -0
- package/style/scss/Bootstrap/_offcanvas.scss +146 -0
- package/style/scss/Bootstrap/_pagination.scss +109 -0
- package/style/scss/Bootstrap/_placeholders.scss +51 -0
- package/style/scss/Bootstrap/_popover.scss +196 -0
- package/style/scss/Bootstrap/_progress.scss +68 -0
- package/style/scss/Bootstrap/_reboot.scss +610 -0
- package/style/scss/Bootstrap/_root.scss +195 -0
- package/style/scss/Bootstrap/_spinners.scss +85 -0
- package/style/scss/Bootstrap/_tables.scss +164 -0
- package/style/scss/Bootstrap/_toasts.scss +73 -0
- package/style/scss/Bootstrap/_tooltip.scss +120 -0
- package/style/scss/Bootstrap/_transitions.scss +27 -0
- package/style/scss/Bootstrap/_type.scss +106 -0
- package/style/scss/Bootstrap/_utilities.scss +748 -0
- package/style/scss/Bootstrap/_variables-dark.scss +70 -0
- package/style/scss/Bootstrap/_variables.scss +1703 -0
- package/style/scss/Bootstrap/bootstrap-grid.scss +66 -0
- package/style/scss/Bootstrap/bootstrap-reboot.scss +10 -0
- package/style/scss/Bootstrap/bootstrap-utilities.scss +19 -0
- package/style/scss/Bootstrap/bootstrap.scss +52 -0
- package/style/scss/Bootstrap/forms/_floating-labels.scss +90 -0
- package/style/scss/Bootstrap/forms/_form-check.scss +188 -0
- package/style/scss/Bootstrap/forms/_form-control.scss +201 -0
- package/style/scss/Bootstrap/forms/_form-range.scss +91 -0
- package/style/scss/Bootstrap/forms/_form-select.scss +81 -0
- package/style/scss/Bootstrap/forms/_form-text.scss +11 -0
- package/style/scss/Bootstrap/forms/_input-group.scss +132 -0
- package/style/scss/Bootstrap/forms/_labels.scss +36 -0
- package/style/scss/Bootstrap/forms/_validation.scss +12 -0
- package/style/scss/Bootstrap/helpers/_clearfix.scss +3 -0
- package/style/scss/Bootstrap/helpers/_color-bg.scss +10 -0
- package/style/scss/Bootstrap/helpers/_colored-links.scss +12 -0
- package/style/scss/Bootstrap/helpers/_position.scss +36 -0
- package/style/scss/Bootstrap/helpers/_ratio.scss +26 -0
- package/style/scss/Bootstrap/helpers/_stacks.scss +15 -0
- package/style/scss/Bootstrap/helpers/_stretched-link.scss +15 -0
- package/style/scss/Bootstrap/helpers/_text-truncation.scss +7 -0
- package/style/scss/Bootstrap/helpers/_visually-hidden.scss +8 -0
- package/style/scss/Bootstrap/helpers/_vr.scss +8 -0
- package/style/scss/Bootstrap/utilities/_api.scss +47 -0
- package/style/scss/Layout/LayoutBase.scss +939 -0
- package/style/scss/Layout/LayoutProject.scss +124 -0
- package/style/scss/Layout/LayoutSinglePage.scss +14 -0
- package/style/scss/Layout/LayoutTwoColumn.scss +56 -0
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
// stylelint-disable function-disallowed-list
|
|
2
|
+
|
|
3
|
+
// .modal-open - body class for killing the scroll
|
|
4
|
+
// .modal - container to scroll within
|
|
5
|
+
// .modal-dialog - positioning shell for the actual modal
|
|
6
|
+
// .modal-content - actual modal w/ bg and corners and stuff
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
// Container that the modal scrolls within
|
|
10
|
+
.modal {
|
|
11
|
+
// scss-docs-start modal-css-vars
|
|
12
|
+
--#{$prefix}modal-zindex: #{$zindex-modal};
|
|
13
|
+
--#{$prefix}modal-width: #{$modal-md};
|
|
14
|
+
--#{$prefix}modal-padding: #{$modal-inner-padding};
|
|
15
|
+
--#{$prefix}modal-margin: #{$modal-dialog-margin};
|
|
16
|
+
--#{$prefix}modal-color: #{$modal-content-color};
|
|
17
|
+
--#{$prefix}modal-bg: #{$modal-content-bg};
|
|
18
|
+
--#{$prefix}modal-border-color: #{$modal-content-border-color};
|
|
19
|
+
--#{$prefix}modal-border-width: #{$modal-content-border-width};
|
|
20
|
+
--#{$prefix}modal-border-radius: #{$modal-content-border-radius};
|
|
21
|
+
--#{$prefix}modal-box-shadow: #{$modal-content-box-shadow-xs};
|
|
22
|
+
--#{$prefix}modal-inner-border-radius: #{$modal-content-inner-border-radius};
|
|
23
|
+
--#{$prefix}modal-header-padding-x: #{$modal-header-padding-x};
|
|
24
|
+
--#{$prefix}modal-header-padding-y: #{$modal-header-padding-y};
|
|
25
|
+
--#{$prefix}modal-header-padding: #{$modal-header-padding}; // Todo in v6: Split this padding into x and y
|
|
26
|
+
--#{$prefix}modal-header-border-color: #{$modal-header-border-color};
|
|
27
|
+
--#{$prefix}modal-header-border-width: #{$modal-header-border-width};
|
|
28
|
+
--#{$prefix}modal-title-line-height: #{$modal-title-line-height};
|
|
29
|
+
--#{$prefix}modal-footer-gap: #{$modal-footer-margin-between};
|
|
30
|
+
--#{$prefix}modal-footer-bg: #{$modal-footer-bg};
|
|
31
|
+
--#{$prefix}modal-footer-border-color: #{$modal-footer-border-color};
|
|
32
|
+
--#{$prefix}modal-footer-border-width: #{$modal-footer-border-width};
|
|
33
|
+
// scss-docs-end modal-css-vars
|
|
34
|
+
|
|
35
|
+
position: fixed;
|
|
36
|
+
top: 0;
|
|
37
|
+
left: 0;
|
|
38
|
+
z-index: var(--#{$prefix}modal-zindex);
|
|
39
|
+
display: none;
|
|
40
|
+
width: 100%;
|
|
41
|
+
height: 100%;
|
|
42
|
+
overflow-x: hidden;
|
|
43
|
+
overflow-y: auto;
|
|
44
|
+
// Prevent Chrome on Windows from adding a focus outline. For details, see
|
|
45
|
+
// https://github.com/twbs/bootstrap/pull/10951.
|
|
46
|
+
outline: 0;
|
|
47
|
+
// We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a
|
|
48
|
+
// gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342
|
|
49
|
+
// See also https://github.com/twbs/bootstrap/issues/17695
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Shell div to position the modal with bottom padding
|
|
53
|
+
.modal-dialog {
|
|
54
|
+
position: relative;
|
|
55
|
+
width: auto;
|
|
56
|
+
margin: var(--#{$prefix}modal-margin);
|
|
57
|
+
// allow clicks to pass through for custom click handling to close modal
|
|
58
|
+
pointer-events: none;
|
|
59
|
+
|
|
60
|
+
// When fading in the modal, animate it to slide down
|
|
61
|
+
.modal.fade & {
|
|
62
|
+
@include transition($modal-transition);
|
|
63
|
+
transform: $modal-fade-transform;
|
|
64
|
+
}
|
|
65
|
+
.modal.show & {
|
|
66
|
+
transform: $modal-show-transform;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// When trying to close, animate focus to scale
|
|
70
|
+
.modal.modal-static & {
|
|
71
|
+
transform: $modal-scale-transform;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.modal-dialog-scrollable {
|
|
76
|
+
height: calc(100% - var(--#{$prefix}modal-margin) * 2);
|
|
77
|
+
|
|
78
|
+
.modal-content {
|
|
79
|
+
max-height: 100%;
|
|
80
|
+
overflow: hidden;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.modal-body {
|
|
84
|
+
overflow-y: auto;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.modal-dialog-centered {
|
|
89
|
+
display: flex;
|
|
90
|
+
align-items: center;
|
|
91
|
+
min-height: calc(100% - var(--#{$prefix}modal-margin) * 2);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// Actual modal
|
|
95
|
+
.modal-content {
|
|
96
|
+
position: relative;
|
|
97
|
+
display: flex;
|
|
98
|
+
flex-direction: column;
|
|
99
|
+
width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`
|
|
100
|
+
// counteract the pointer-events: none; in the .modal-dialog
|
|
101
|
+
color: var(--#{$prefix}modal-color);
|
|
102
|
+
pointer-events: auto;
|
|
103
|
+
background-color: var(--#{$prefix}modal-bg);
|
|
104
|
+
background-clip: padding-box;
|
|
105
|
+
border: var(--#{$prefix}modal-border-width) solid var(--#{$prefix}modal-border-color);
|
|
106
|
+
@include border-radius(var(--#{$prefix}modal-border-radius));
|
|
107
|
+
@include box-shadow(var(--#{$prefix}modal-box-shadow));
|
|
108
|
+
// Remove focus outline from opened modal
|
|
109
|
+
outline: 0;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Modal background
|
|
113
|
+
.modal-backdrop {
|
|
114
|
+
// scss-docs-start modal-backdrop-css-vars
|
|
115
|
+
--#{$prefix}backdrop-zindex: #{$zindex-modal-backdrop};
|
|
116
|
+
--#{$prefix}backdrop-bg: #{$modal-backdrop-bg};
|
|
117
|
+
--#{$prefix}backdrop-opacity: #{$modal-backdrop-opacity};
|
|
118
|
+
// scss-docs-end modal-backdrop-css-vars
|
|
119
|
+
|
|
120
|
+
@include overlay-backdrop(var(--#{$prefix}backdrop-zindex), var(--#{$prefix}backdrop-bg), var(--#{$prefix}backdrop-opacity));
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// Modal header
|
|
124
|
+
// Top section of the modal w/ title and dismiss
|
|
125
|
+
.modal-header {
|
|
126
|
+
display: flex;
|
|
127
|
+
flex-shrink: 0;
|
|
128
|
+
align-items: center;
|
|
129
|
+
justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
|
|
130
|
+
padding: var(--#{$prefix}modal-header-padding);
|
|
131
|
+
border-bottom: var(--#{$prefix}modal-header-border-width) solid var(--#{$prefix}modal-header-border-color);
|
|
132
|
+
@include border-top-radius(var(--#{$prefix}modal-inner-border-radius));
|
|
133
|
+
|
|
134
|
+
.btn-close {
|
|
135
|
+
padding: calc(var(--#{$prefix}modal-header-padding-y) * .5) calc(var(--#{$prefix}modal-header-padding-x) * .5);
|
|
136
|
+
margin: calc(-.5 * var(--#{$prefix}modal-header-padding-y)) calc(-.5 * var(--#{$prefix}modal-header-padding-x)) calc(-.5 * var(--#{$prefix}modal-header-padding-y)) auto;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// Title text within header
|
|
141
|
+
.modal-title {
|
|
142
|
+
margin-bottom: 0;
|
|
143
|
+
line-height: var(--#{$prefix}modal-title-line-height);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// Modal body
|
|
147
|
+
// Where all modal content resides (sibling of .modal-header and .modal-footer)
|
|
148
|
+
.modal-body {
|
|
149
|
+
position: relative;
|
|
150
|
+
// Enable `flex-grow: 1` so that the body take up as much space as possible
|
|
151
|
+
// when there should be a fixed height on `.modal-dialog`.
|
|
152
|
+
flex: 1 1 auto;
|
|
153
|
+
padding: var(--#{$prefix}modal-padding);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// Footer (for actions)
|
|
157
|
+
.modal-footer {
|
|
158
|
+
display: flex;
|
|
159
|
+
flex-shrink: 0;
|
|
160
|
+
flex-wrap: wrap;
|
|
161
|
+
align-items: center; // vertically center
|
|
162
|
+
justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items
|
|
163
|
+
padding: calc(var(--#{$prefix}modal-padding) - var(--#{$prefix}modal-footer-gap) * .5);
|
|
164
|
+
background-color: var(--#{$prefix}modal-footer-bg);
|
|
165
|
+
border-top: var(--#{$prefix}modal-footer-border-width) solid var(--#{$prefix}modal-footer-border-color);
|
|
166
|
+
@include border-bottom-radius(var(--#{$prefix}modal-inner-border-radius));
|
|
167
|
+
|
|
168
|
+
// Place margin between footer elements
|
|
169
|
+
// This solution is far from ideal because of the universal selector usage,
|
|
170
|
+
// but is needed to fix https://github.com/twbs/bootstrap/issues/24800
|
|
171
|
+
> * {
|
|
172
|
+
margin: calc(var(--#{$prefix}modal-footer-gap) * .5); // Todo in v6: replace with gap on parent class
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// Scale up the modal
|
|
177
|
+
@include media-breakpoint-up(sm) {
|
|
178
|
+
.modal {
|
|
179
|
+
--#{$prefix}modal-margin: #{$modal-dialog-margin-y-sm-up};
|
|
180
|
+
--#{$prefix}modal-box-shadow: #{$modal-content-box-shadow-sm-up};
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// Automatically set modal's width for larger viewports
|
|
184
|
+
.modal-dialog {
|
|
185
|
+
max-width: var(--#{$prefix}modal-width);
|
|
186
|
+
margin-right: auto;
|
|
187
|
+
margin-left: auto;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.modal-sm {
|
|
191
|
+
--#{$prefix}modal-width: #{$modal-sm};
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
@include media-breakpoint-up(lg) {
|
|
196
|
+
.modal-lg,
|
|
197
|
+
.modal-xl {
|
|
198
|
+
--#{$prefix}modal-width: #{$modal-lg};
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
@include media-breakpoint-up(xl) {
|
|
203
|
+
.modal-xl {
|
|
204
|
+
--#{$prefix}modal-width: #{$modal-xl};
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// scss-docs-start modal-fullscreen-loop
|
|
209
|
+
@each $breakpoint in map-keys($grid-breakpoints) {
|
|
210
|
+
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
|
211
|
+
$postfix: if($infix != "", $infix + "-down", "");
|
|
212
|
+
|
|
213
|
+
@include media-breakpoint-down($breakpoint) {
|
|
214
|
+
.modal-fullscreen#{$postfix} {
|
|
215
|
+
width: 100vw;
|
|
216
|
+
max-width: none;
|
|
217
|
+
height: 100%;
|
|
218
|
+
margin: 0;
|
|
219
|
+
|
|
220
|
+
.modal-content {
|
|
221
|
+
height: 100%;
|
|
222
|
+
border: 0;
|
|
223
|
+
@include border-radius(0);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.modal-header,
|
|
227
|
+
.modal-footer {
|
|
228
|
+
@include border-radius(0);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.modal-body {
|
|
232
|
+
overflow-y: auto;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
// scss-docs-end modal-fullscreen-loop
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
// Base class
|
|
2
|
+
//
|
|
3
|
+
// Kickstart any navigation component with a set of style resets. Works with
|
|
4
|
+
// `<nav>`s, `<ul>`s or `<ol>`s.
|
|
5
|
+
|
|
6
|
+
.nav {
|
|
7
|
+
// scss-docs-start nav-css-vars
|
|
8
|
+
--#{$prefix}nav-link-padding-x: #{$nav-link-padding-x};
|
|
9
|
+
--#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};
|
|
10
|
+
@include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size);
|
|
11
|
+
--#{$prefix}nav-link-font-weight: #{$nav-link-font-weight};
|
|
12
|
+
--#{$prefix}nav-link-color: #{$nav-link-color};
|
|
13
|
+
--#{$prefix}nav-link-hover-color: #{$nav-link-hover-color};
|
|
14
|
+
--#{$prefix}nav-link-disabled-color: #{$nav-link-disabled-color};
|
|
15
|
+
// scss-docs-end nav-css-vars
|
|
16
|
+
|
|
17
|
+
display: flex;
|
|
18
|
+
flex-wrap: wrap;
|
|
19
|
+
padding-left: 0;
|
|
20
|
+
margin-bottom: 0;
|
|
21
|
+
list-style: none;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.nav-link {
|
|
25
|
+
display: block;
|
|
26
|
+
padding: var(--#{$prefix}nav-link-padding-y) var(--#{$prefix}nav-link-padding-x);
|
|
27
|
+
@include font-size(var(--#{$prefix}nav-link-font-size));
|
|
28
|
+
font-weight: var(--#{$prefix}nav-link-font-weight);
|
|
29
|
+
color: var(--#{$prefix}nav-link-color);
|
|
30
|
+
text-decoration: if($link-decoration == none, null, none);
|
|
31
|
+
@include transition($nav-link-transition);
|
|
32
|
+
|
|
33
|
+
&:hover,
|
|
34
|
+
&:focus {
|
|
35
|
+
color: var(--#{$prefix}nav-link-hover-color);
|
|
36
|
+
text-decoration: if($link-hover-decoration == underline, none, null);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Disabled state lightens text
|
|
40
|
+
&.disabled {
|
|
41
|
+
color: var(--#{$prefix}nav-link-disabled-color);
|
|
42
|
+
pointer-events: none;
|
|
43
|
+
cursor: default;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
//
|
|
48
|
+
// Tabs
|
|
49
|
+
//
|
|
50
|
+
|
|
51
|
+
.nav-tabs {
|
|
52
|
+
// scss-docs-start nav-tabs-css-vars
|
|
53
|
+
--#{$prefix}nav-tabs-border-width: #{$nav-tabs-border-width};
|
|
54
|
+
--#{$prefix}nav-tabs-border-color: #{$nav-tabs-border-color};
|
|
55
|
+
--#{$prefix}nav-tabs-border-radius: #{$nav-tabs-border-radius};
|
|
56
|
+
--#{$prefix}nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color};
|
|
57
|
+
--#{$prefix}nav-tabs-link-active-color: #{$nav-tabs-link-active-color};
|
|
58
|
+
--#{$prefix}nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg};
|
|
59
|
+
--#{$prefix}nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color};
|
|
60
|
+
// scss-docs-end nav-tabs-css-vars
|
|
61
|
+
|
|
62
|
+
border-bottom: var(--#{$prefix}nav-tabs-border-width) solid var(--#{$prefix}nav-tabs-border-color);
|
|
63
|
+
|
|
64
|
+
.nav-link {
|
|
65
|
+
margin-bottom: calc(-1 * var(--#{$prefix}nav-tabs-border-width)); // stylelint-disable-line function-disallowed-list
|
|
66
|
+
background: none;
|
|
67
|
+
border: var(--#{$prefix}nav-tabs-border-width) solid transparent;
|
|
68
|
+
@include border-top-radius(var(--#{$prefix}nav-tabs-border-radius));
|
|
69
|
+
|
|
70
|
+
&:hover,
|
|
71
|
+
&:focus {
|
|
72
|
+
// Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link
|
|
73
|
+
isolation: isolate;
|
|
74
|
+
border-color: var(--#{$prefix}nav-tabs-link-hover-border-color);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
&.disabled,
|
|
78
|
+
&:disabled {
|
|
79
|
+
color: var(--#{$prefix}nav-link-disabled-color);
|
|
80
|
+
background-color: transparent;
|
|
81
|
+
border-color: transparent;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.nav-link.active,
|
|
86
|
+
.nav-item.show .nav-link {
|
|
87
|
+
color: var(--#{$prefix}nav-tabs-link-active-color);
|
|
88
|
+
background-color: var(--#{$prefix}nav-tabs-link-active-bg);
|
|
89
|
+
border-color: var(--#{$prefix}nav-tabs-link-active-border-color);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.dropdown-menu {
|
|
93
|
+
// Make dropdown border overlap tab border
|
|
94
|
+
margin-top: calc(-1 * var(--#{$prefix}nav-tabs-border-width)); // stylelint-disable-line function-disallowed-list
|
|
95
|
+
// Remove the top rounded corners here since there is a hard edge above the menu
|
|
96
|
+
@include border-top-radius(0);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
//
|
|
102
|
+
// Pills
|
|
103
|
+
//
|
|
104
|
+
|
|
105
|
+
.nav-pills {
|
|
106
|
+
// scss-docs-start nav-pills-css-vars
|
|
107
|
+
--#{$prefix}nav-pills-border-radius: #{$nav-pills-border-radius};
|
|
108
|
+
--#{$prefix}nav-pills-link-active-color: #{$nav-pills-link-active-color};
|
|
109
|
+
--#{$prefix}nav-pills-link-active-bg: #{$nav-pills-link-active-bg};
|
|
110
|
+
// scss-docs-end nav-pills-css-vars
|
|
111
|
+
|
|
112
|
+
.nav-link {
|
|
113
|
+
background: none;
|
|
114
|
+
border: 0;
|
|
115
|
+
@include border-radius(var(--#{$prefix}nav-pills-border-radius));
|
|
116
|
+
|
|
117
|
+
&:disabled {
|
|
118
|
+
color: var(--#{$prefix}nav-link-disabled-color);
|
|
119
|
+
background-color: transparent;
|
|
120
|
+
border-color: transparent;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.nav-link.active,
|
|
125
|
+
.show > .nav-link {
|
|
126
|
+
color: var(--#{$prefix}nav-pills-link-active-color);
|
|
127
|
+
@include gradient-bg(var(--#{$prefix}nav-pills-link-active-bg));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
//
|
|
133
|
+
// Justified variants
|
|
134
|
+
//
|
|
135
|
+
|
|
136
|
+
.nav-fill {
|
|
137
|
+
> .nav-link,
|
|
138
|
+
.nav-item {
|
|
139
|
+
flex: 1 1 auto;
|
|
140
|
+
text-align: center;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.nav-justified {
|
|
145
|
+
> .nav-link,
|
|
146
|
+
.nav-item {
|
|
147
|
+
flex-basis: 0;
|
|
148
|
+
flex-grow: 1;
|
|
149
|
+
text-align: center;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.nav-fill,
|
|
154
|
+
.nav-justified {
|
|
155
|
+
.nav-item .nav-link {
|
|
156
|
+
width: 100%; // Make sure button will grow
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
// Tabbable tabs
|
|
162
|
+
//
|
|
163
|
+
// Hide tabbable panes to start, show them when `.active`
|
|
164
|
+
|
|
165
|
+
.tab-content {
|
|
166
|
+
> .tab-pane {
|
|
167
|
+
display: none;
|
|
168
|
+
}
|
|
169
|
+
> .active {
|
|
170
|
+
display: block;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
// Navbar
|
|
2
|
+
//
|
|
3
|
+
// Provide a static navbar from which we expand to create full-width, fixed, and
|
|
4
|
+
// other navbar variations.
|
|
5
|
+
|
|
6
|
+
.navbar {
|
|
7
|
+
// scss-docs-start navbar-css-vars
|
|
8
|
+
--#{$prefix}navbar-padding-x: #{if($navbar-padding-x == null, 0, $navbar-padding-x)};
|
|
9
|
+
--#{$prefix}navbar-padding-y: #{$navbar-padding-y};
|
|
10
|
+
--#{$prefix}navbar-color: #{$navbar-light-color};
|
|
11
|
+
--#{$prefix}navbar-hover-color: #{$navbar-light-hover-color};
|
|
12
|
+
--#{$prefix}navbar-disabled-color: #{$navbar-light-disabled-color};
|
|
13
|
+
--#{$prefix}navbar-active-color: #{$navbar-light-active-color};
|
|
14
|
+
--#{$prefix}navbar-brand-padding-y: #{$navbar-brand-padding-y};
|
|
15
|
+
--#{$prefix}navbar-brand-margin-end: #{$navbar-brand-margin-end};
|
|
16
|
+
--#{$prefix}navbar-brand-font-size: #{$navbar-brand-font-size};
|
|
17
|
+
--#{$prefix}navbar-brand-color: #{$navbar-light-brand-color};
|
|
18
|
+
--#{$prefix}navbar-brand-hover-color: #{$navbar-light-brand-hover-color};
|
|
19
|
+
--#{$prefix}navbar-nav-link-padding-x: #{$navbar-nav-link-padding-x};
|
|
20
|
+
--#{$prefix}navbar-toggler-padding-y: #{$navbar-toggler-padding-y};
|
|
21
|
+
--#{$prefix}navbar-toggler-padding-x: #{$navbar-toggler-padding-x};
|
|
22
|
+
--#{$prefix}navbar-toggler-font-size: #{$navbar-toggler-font-size};
|
|
23
|
+
--#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-light-toggler-icon-bg)};
|
|
24
|
+
--#{$prefix}navbar-toggler-border-color: #{$navbar-light-toggler-border-color};
|
|
25
|
+
--#{$prefix}navbar-toggler-border-radius: #{$navbar-toggler-border-radius};
|
|
26
|
+
--#{$prefix}navbar-toggler-focus-width: #{$navbar-toggler-focus-width};
|
|
27
|
+
--#{$prefix}navbar-toggler-transition: #{$navbar-toggler-transition};
|
|
28
|
+
// scss-docs-end navbar-css-vars
|
|
29
|
+
|
|
30
|
+
position: relative;
|
|
31
|
+
display: flex;
|
|
32
|
+
flex-wrap: wrap; // allow us to do the line break for collapsing content
|
|
33
|
+
align-items: center;
|
|
34
|
+
justify-content: space-between; // space out brand from logo
|
|
35
|
+
padding: var(--#{$prefix}navbar-padding-y) var(--#{$prefix}navbar-padding-x);
|
|
36
|
+
@include gradient-bg();
|
|
37
|
+
|
|
38
|
+
// Because flex properties aren't inherited, we need to redeclare these first
|
|
39
|
+
// few properties so that content nested within behave properly.
|
|
40
|
+
// The `flex-wrap` property is inherited to simplify the expanded navbars
|
|
41
|
+
%container-flex-properties {
|
|
42
|
+
display: flex;
|
|
43
|
+
flex-wrap: inherit;
|
|
44
|
+
align-items: center;
|
|
45
|
+
justify-content: space-between;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
> .container,
|
|
49
|
+
> .container-fluid {
|
|
50
|
+
@extend %container-flex-properties;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@each $breakpoint, $container-max-width in $container-max-widths {
|
|
54
|
+
> .container#{breakpoint-infix($breakpoint, $container-max-widths)} {
|
|
55
|
+
@extend %container-flex-properties;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
// Navbar brand
|
|
62
|
+
//
|
|
63
|
+
// Used for brand, project, or site names.
|
|
64
|
+
|
|
65
|
+
.navbar-brand {
|
|
66
|
+
padding-top: var(--#{$prefix}navbar-brand-padding-y);
|
|
67
|
+
padding-bottom: var(--#{$prefix}navbar-brand-padding-y);
|
|
68
|
+
margin-right: var(--#{$prefix}navbar-brand-margin-end);
|
|
69
|
+
@include font-size(var(--#{$prefix}navbar-brand-font-size));
|
|
70
|
+
color: var(--#{$prefix}navbar-brand-color);
|
|
71
|
+
text-decoration: if($link-decoration == none, null, none);
|
|
72
|
+
white-space: nowrap;
|
|
73
|
+
|
|
74
|
+
&:hover,
|
|
75
|
+
&:focus {
|
|
76
|
+
color: var(--#{$prefix}navbar-brand-hover-color);
|
|
77
|
+
text-decoration: if($link-hover-decoration == underline, none, null);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
// Navbar nav
|
|
83
|
+
//
|
|
84
|
+
// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).
|
|
85
|
+
|
|
86
|
+
.navbar-nav {
|
|
87
|
+
// scss-docs-start navbar-nav-css-vars
|
|
88
|
+
--#{$prefix}nav-link-padding-x: 0;
|
|
89
|
+
--#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};
|
|
90
|
+
@include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size);
|
|
91
|
+
--#{$prefix}nav-link-font-weight: #{$nav-link-font-weight};
|
|
92
|
+
--#{$prefix}nav-link-color: var(--#{$prefix}navbar-color);
|
|
93
|
+
--#{$prefix}nav-link-hover-color: var(--#{$prefix}navbar-hover-color);
|
|
94
|
+
--#{$prefix}nav-link-disabled-color: var(--#{$prefix}navbar-disabled-color);
|
|
95
|
+
// scss-docs-end navbar-nav-css-vars
|
|
96
|
+
|
|
97
|
+
display: flex;
|
|
98
|
+
flex-direction: column; // cannot use `inherit` to get the `.navbar`s value
|
|
99
|
+
padding-left: 0;
|
|
100
|
+
margin-bottom: 0;
|
|
101
|
+
list-style: none;
|
|
102
|
+
|
|
103
|
+
.show > .nav-link,
|
|
104
|
+
.nav-link.active {
|
|
105
|
+
color: var(--#{$prefix}navbar-active-color);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.dropdown-menu {
|
|
109
|
+
position: static;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
// Navbar text
|
|
115
|
+
//
|
|
116
|
+
//
|
|
117
|
+
|
|
118
|
+
.navbar-text {
|
|
119
|
+
padding-top: $nav-link-padding-y;
|
|
120
|
+
padding-bottom: $nav-link-padding-y;
|
|
121
|
+
color: var(--#{$prefix}navbar-color);
|
|
122
|
+
|
|
123
|
+
a,
|
|
124
|
+
a:hover,
|
|
125
|
+
a:focus {
|
|
126
|
+
color: var(--#{$prefix}navbar-active-color);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
// Responsive navbar
|
|
132
|
+
//
|
|
133
|
+
// Custom styles for responsive collapsing and toggling of navbar contents.
|
|
134
|
+
// Powered by the collapse Bootstrap JavaScript plugin.
|
|
135
|
+
|
|
136
|
+
// When collapsed, prevent the toggleable navbar contents from appearing in
|
|
137
|
+
// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`
|
|
138
|
+
// on the `.navbar` parent.
|
|
139
|
+
.navbar-collapse {
|
|
140
|
+
flex-basis: 100%;
|
|
141
|
+
flex-grow: 1;
|
|
142
|
+
// For always expanded or extra full navbars, ensure content aligns itself
|
|
143
|
+
// properly vertically. Can be easily overridden with flex utilities.
|
|
144
|
+
align-items: center;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// Button for toggling the navbar when in its collapsed state
|
|
148
|
+
.navbar-toggler {
|
|
149
|
+
padding: var(--#{$prefix}navbar-toggler-padding-y) var(--#{$prefix}navbar-toggler-padding-x);
|
|
150
|
+
@include font-size(var(--#{$prefix}navbar-toggler-font-size));
|
|
151
|
+
line-height: 1;
|
|
152
|
+
color: var(--#{$prefix}navbar-color);
|
|
153
|
+
background-color: transparent; // remove default button style
|
|
154
|
+
border: var(--#{$prefix}border-width) solid var(--#{$prefix}navbar-toggler-border-color); // remove default button style
|
|
155
|
+
@include border-radius(var(--#{$prefix}navbar-toggler-border-radius));
|
|
156
|
+
@include transition(var(--#{$prefix}navbar-toggler-transition));
|
|
157
|
+
|
|
158
|
+
&:hover {
|
|
159
|
+
text-decoration: none;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
&:focus {
|
|
163
|
+
text-decoration: none;
|
|
164
|
+
outline: 0;
|
|
165
|
+
box-shadow: 0 0 0 var(--#{$prefix}navbar-toggler-focus-width);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// Keep as a separate element so folks can easily override it with another icon
|
|
170
|
+
// or image file as needed.
|
|
171
|
+
.navbar-toggler-icon {
|
|
172
|
+
display: inline-block;
|
|
173
|
+
width: 1.5em;
|
|
174
|
+
height: 1.5em;
|
|
175
|
+
vertical-align: middle;
|
|
176
|
+
background-image: var(--#{$prefix}navbar-toggler-icon-bg);
|
|
177
|
+
background-repeat: no-repeat;
|
|
178
|
+
background-position: center;
|
|
179
|
+
background-size: 100%;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.navbar-nav-scroll {
|
|
183
|
+
max-height: var(--#{$prefix}scroll-height, 75vh);
|
|
184
|
+
overflow-y: auto;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// scss-docs-start navbar-expand-loop
|
|
188
|
+
// Generate series of `.navbar-expand-*` responsive classes for configuring
|
|
189
|
+
// where your navbar collapses.
|
|
190
|
+
.navbar-expand {
|
|
191
|
+
@each $breakpoint in map-keys($grid-breakpoints) {
|
|
192
|
+
$next: breakpoint-next($breakpoint, $grid-breakpoints);
|
|
193
|
+
$infix: breakpoint-infix($next, $grid-breakpoints);
|
|
194
|
+
|
|
195
|
+
// stylelint-disable-next-line scss/selector-no-union-class-name
|
|
196
|
+
&#{$infix} {
|
|
197
|
+
@include media-breakpoint-up($next) {
|
|
198
|
+
flex-wrap: nowrap;
|
|
199
|
+
justify-content: flex-start;
|
|
200
|
+
|
|
201
|
+
.navbar-nav {
|
|
202
|
+
flex-direction: row;
|
|
203
|
+
|
|
204
|
+
.dropdown-menu {
|
|
205
|
+
position: absolute;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.nav-link {
|
|
209
|
+
padding-right: var(--#{$prefix}navbar-nav-link-padding-x);
|
|
210
|
+
padding-left: var(--#{$prefix}navbar-nav-link-padding-x);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
.navbar-nav-scroll {
|
|
215
|
+
overflow: visible;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.navbar-collapse {
|
|
219
|
+
display: flex !important; // stylelint-disable-line declaration-no-important
|
|
220
|
+
flex-basis: auto;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.navbar-toggler {
|
|
224
|
+
display: none;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
.offcanvas {
|
|
228
|
+
// stylelint-disable declaration-no-important
|
|
229
|
+
position: static;
|
|
230
|
+
z-index: auto;
|
|
231
|
+
flex-grow: 1;
|
|
232
|
+
width: auto !important;
|
|
233
|
+
height: auto !important;
|
|
234
|
+
visibility: visible !important;
|
|
235
|
+
background-color: transparent !important;
|
|
236
|
+
border: 0 !important;
|
|
237
|
+
transform: none !important;
|
|
238
|
+
@include box-shadow(none);
|
|
239
|
+
@include transition(none);
|
|
240
|
+
// stylelint-enable declaration-no-important
|
|
241
|
+
|
|
242
|
+
.offcanvas-header {
|
|
243
|
+
display: none;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.offcanvas-body {
|
|
247
|
+
display: flex;
|
|
248
|
+
flex-grow: 0;
|
|
249
|
+
padding: 0;
|
|
250
|
+
overflow-y: visible;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
// scss-docs-end navbar-expand-loop
|
|
258
|
+
|
|
259
|
+
// Navbar themes
|
|
260
|
+
//
|
|
261
|
+
// Styles for switching between navbars with light or dark background.
|
|
262
|
+
|
|
263
|
+
.navbar-light {
|
|
264
|
+
@include deprecate("`.navbar-light`", "v5.2.0", "v6.0.0", true);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.navbar-dark {
|
|
268
|
+
// scss-docs-start navbar-dark-css-vars
|
|
269
|
+
--#{$prefix}navbar-color: #{$navbar-dark-color};
|
|
270
|
+
--#{$prefix}navbar-hover-color: #{$navbar-dark-hover-color};
|
|
271
|
+
--#{$prefix}navbar-disabled-color: #{$navbar-dark-disabled-color};
|
|
272
|
+
--#{$prefix}navbar-active-color: #{$navbar-dark-active-color};
|
|
273
|
+
--#{$prefix}navbar-brand-color: #{$navbar-dark-brand-color};
|
|
274
|
+
--#{$prefix}navbar-brand-hover-color: #{$navbar-dark-brand-hover-color};
|
|
275
|
+
--#{$prefix}navbar-toggler-border-color: #{$navbar-dark-toggler-border-color};
|
|
276
|
+
--#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};
|
|
277
|
+
// scss-docs-end navbar-dark-css-vars
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
@if $enable-dark-mode {
|
|
281
|
+
@include color-mode(dark) {
|
|
282
|
+
.navbar {
|
|
283
|
+
--#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
}
|