1
- $bslib-sidebar-bg : rgba (var (--bs-emphasis-color-rgb , 0 , 0 , 0 ), 0.05 ) !default ;
1
+ $bslib-sidebar-bg : rgba (var (--bs-emphasis-color-rgb , 0 ,0 , 0 ), 0.05 ) !default ;
2
2
$bslib-sidebar-fg : var (--bs-emphasis-color , black ) !default ;
3
- $bslib-sidebar-toggle-bg : rgba (
4
- var (--bs-emphasis-color-rgb , 0 , 0 , 0 ),
5
- 0.1
6
- ) !default ;
7
- $bslib-sidebar-border : var (--bs-card-border-width , #{$card-border-width } ) solid
8
- var (--bs-card-border-color , #{$card-border-color } ) !default ;
9
- $bslib-sidebar-column-sidebar : Min (
10
- calc (100% - var (--bslib-sidebar-icon-size )),
11
- var (--bslib-sidebar-width , 275px )
12
- );
3
+ $bslib-sidebar-toggle-bg : rgba (var (--bs-emphasis-color-rgb , 0 ,0 ,0 ), 0.1 ) !default ;
4
+ $bslib-sidebar-border : var (--bs-card-border-width , #{$card-border-width } ) solid var (--bs-card-border-color , #{$card-border-color } ) !default ;
5
+ $bslib-sidebar-column-sidebar : Min (calc (100% - var (--bslib-sidebar-icon-size )), var (--bslib-sidebar-width , 250px ));
6
+
13
7
14
8
.bslib-sidebar-layout {
15
9
--bslib-sidebar-transition-duration : 500ms ;
@@ -24,32 +18,21 @@ $bslib-sidebar-column-sidebar: Min(
24
18
--bslib-sidebar-toggle-bg : #{$bslib-sidebar-toggle-bg } ;
25
19
--bslib-sidebar-padding : calc (var (--bslib-spacer ) * 1.5 );
26
20
--bslib-sidebar-icon-size : var (--bslib-spacer , 1rem );
27
- --bslib-sidebar-icon-button-size : calc (
28
- var (--bslib-sidebar-icon-size , 1rem ) * 2
29
- );
30
- --bslib-sidebar-padding-icon : calc (
31
- var (--bslib-sidebar-icon-button-size , 2rem ) * 1.5
32
- );
21
+ --bslib-sidebar-icon-button-size : calc (var (--bslib-sidebar-icon-size , 1rem ) * 2 );
22
+ --bslib-sidebar-padding-icon : calc (var (--bslib-sidebar-icon-button-size , 2rem ) * 1.5 );
33
23
// We intentionally don't give a value here, but it could be set by someone else
34
24
// --bslib-collapse-toggle-border: ;
35
- --bslib-collapse-toggle-border-radius : var (
36
- --bs-border-radius ,
37
- #{$border-radius }
38
- );
25
+ --bslib-collapse-toggle-border-radius : var (--bs-border-radius , #{$border-radius } );
39
26
--bslib-collapse-toggle-transform : 0deg ;
40
27
--bslib-sidebar-toggle-transition-easing : cubic-bezier (1 , 0 , 0 , 1 );
41
28
--bslib-collapse-toggle-right-transform : 180deg ;
42
29
--bslib-sidebar-column-main : minmax (0 , 1fr );
43
-
30
+
44
31
display : grid !important ;
45
- grid-template-columns : $bslib-sidebar-column-sidebar var (
46
- --bslib-sidebar-column-main
47
- );
32
+ grid-template-columns : $bslib-sidebar-column-sidebar var (--bslib-sidebar-column-main );
48
33
position : relative ;
49
34
50
- @include transition (
51
- grid-template-columns ease-in-out var (--bslib-sidebar-transition-duration )
52
- );
35
+ @include transition (grid-template-columns ease-in-out var (--bslib-sidebar-transition-duration ));
53
36
54
37
border : var (--bslib-sidebar-border );
55
38
border-radius : var (--bslib-sidebar-border-radius );
@@ -61,8 +44,7 @@ $bslib-sidebar-column-sidebar: Min(
61
44
border-radius : initial ;
62
45
}
63
46
64
- > .main ,
65
- > .sidebar {
47
+ > .main , > .sidebar {
66
48
grid-row : 1 / 2 ;
67
49
border-radius : inherit ;
68
50
overflow : auto ;
@@ -73,8 +55,7 @@ $bslib-sidebar-column-sidebar: Min(
73
55
border-top-left-radius : 0 ;
74
56
border-bottom-left-radius : 0 ;
75
57
padding : var (--bslib-sidebar-padding );
76
- transition : padding var (--bslib-sidebar-transition-easing-x )
77
- var (--bslib-sidebar-transition-duration );
58
+ transition : padding var (--bslib-sidebar-transition-easing-x ) var (--bslib-sidebar-transition-duration );
78
59
color : var (--bslib-sidebar-main-fg );
79
60
background-color : var (--bslib-sidebar-main-bg );
80
61
}
@@ -109,7 +90,7 @@ $bslib-sidebar-column-sidebar: Min(
109
90
margin-left : calc (-1 * var (--bslib-sidebar-padding ));
110
91
margin-right : calc (-1 * var (--bslib-sidebar-padding ));
111
92
& :last-child {
112
- margin-bottom : calc (-1 * var (--bslib-sidebar-padding ));
93
+ margin-bottom : calc (-1 * var (--bslib-sidebar-padding ));
113
94
}
114
95
& :not (:last-child ) {
115
96
margin-bottom : $spacer ;
@@ -125,12 +106,10 @@ $bslib-sidebar-column-sidebar: Min(
125
106
// But in our usage, the accordions might not be the first or last item in
126
107
// the sidebar. In that case, it's better to keep the top/bottom borders.
127
108
> .accordion :not (:first-child ) .accordion-item :first-child {
128
- border-top : var (--#{$prefix}accordion-border-width ) solid
129
- var (--#{$prefix}accordion-border-color );
109
+ border-top : var (--#{$prefix}accordion-border-width ) solid var (--#{$prefix}accordion-border-color );
130
110
}
131
111
> .accordion :not (:last-child ) .accordion-item :last-child {
132
- border-bottom : var (--#{$prefix}accordion-border-width ) solid
133
- var (--#{$prefix}accordion-border-color );
112
+ border-bottom : var (--#{$prefix}accordion-border-width ) solid var (--#{$prefix}accordion-border-color );
134
113
}
135
114
136
115
& .has-accordion > .sidebar-title {
@@ -169,14 +148,11 @@ $bslib-sidebar-column-sidebar: Min(
169
148
padding : 0 ;
170
149
color : var (--bslib-sidebar-fg );
171
150
background-color : unset ; // don't take `button` background color
172
- transition : color var (--bslib-sidebar-transition-easing-x )
173
- var (--bslib-sidebar-transition-duration ),
174
- top var (--bslib-sidebar-transition-easing-x )
175
- var (--bslib-sidebar-transition-duration ),
176
- right var (--bslib-sidebar-transition-easing-x )
177
- var (--bslib-sidebar-transition-duration ),
178
- left var (--bslib-sidebar-transition-easing-x )
179
- var (--bslib-sidebar-transition-duration );
151
+ transition :
152
+ color var (--bslib-sidebar-transition-easing-x ) var (--bslib-sidebar-transition-duration ),
153
+ top var (--bslib-sidebar-transition-easing-x ) var (--bslib-sidebar-transition-duration ),
154
+ right var (--bslib-sidebar-transition-easing-x ) var (--bslib-sidebar-transition-duration ),
155
+ left var (--bslib-sidebar-transition-easing-x ) var (--bslib-sidebar-transition-duration );
180
156
181
157
& :hover {
182
158
background-color : var (--bslib-sidebar-toggle-bg );
@@ -189,8 +165,7 @@ $bslib-sidebar-column-sidebar: Min(
189
165
transform : rotateY (var (--bslib-collapse-toggle-transform ));
190
166
// N.B. since mobile view won't trigger a transition of grid-template-columns,
191
167
// we transition this toggle to ensure _some_ transition event always happens.
192
- transition : transform var (--bslib-sidebar-toggle-transition-easing )
193
- var (--bslib-sidebar-transition-duration );
168
+ transition : transform var (--bslib-sidebar-toggle-transition-easing ) var (--bslib-sidebar-transition-duration );
194
169
}
195
170
196
171
& :hover > .collapse-icon {
@@ -273,19 +248,15 @@ $bslib-sidebar-column-sidebar: Min(
273
248
color : var (--bslib-sidebar-main-fg );
274
249
// The CSS variable (set via JS) is here to help avoid overlapping toggles
275
250
top : calc (
276
- var (--bslib-sidebar-overlap-counter , 0 ) *
277
- calc (var (--bslib-sidebar-icon-size ) + var (--bslib-sidebar-padding )) +
278
- var (--bslib-sidebar-icon-size , 1rem ) / 2
279
- );
280
- right : calc (
281
- -2.5 * var (--bslib-sidebar-icon-size ) - var (--bs-card-border-width , 1px )
282
- );
251
+ var (--bslib-sidebar-overlap-counter , 0 ) *
252
+ calc (var (--bslib-sidebar-icon-size ) +
253
+ var (--bslib-sidebar-padding )
254
+ ) + var (--bslib-sidebar-icon-size , 1rem ) / 2 );
255
+ right : calc (-2.5 * var (--bslib-sidebar-icon-size ) - var (--bs-card-border-width , 1px ));
283
256
}
284
257
285
258
& .sidebar-right > .collapse-toggle {
286
- left : calc (
287
- -2.5 * var (--bslib-sidebar-icon-size ) - var (--bs-card-border-width , 1px )
288
- );
259
+ left : calc (-2.5 * var (--bslib-sidebar-icon-size ) - var (--bs-card-border-width , 1px ));
289
260
right : unset ;
290
261
}
291
262
}
@@ -306,12 +277,9 @@ $bslib-sidebar-column-sidebar: Min(
306
277
--bslib-sidebar-js-init-collapsed : true;
307
278
}
308
279
309
- & ,
310
- & .sidebar-right {
280
+ & , & .sidebar-right {
311
281
// Remove sidebar borders in mobile view (except always-open, added below)
312
- > .sidebar {
313
- border : none ;
314
- }
282
+ > .sidebar { border : none }
315
283
316
284
// Main area takes up entire layout area to avoid layout shift when
317
285
// sidebar is expanded as an overlay.
@@ -333,12 +301,8 @@ $bslib-sidebar-column-sidebar: Min(
333
301
& :not ([data-bslib-sidebar-open = " always" ]) {
334
302
// Sidebar layer has to be lifted up to cover other (nested) sidebars
335
303
& :not (.sidebar-collapsed ) {
336
- > .sidebar {
337
- z-index : 1 ;
338
- }
339
- > .collapse-toggle {
340
- z-index : 1 ;
341
- }
304
+ > .sidebar { z-index : 1 ; }
305
+ > .collapse-toggle { z-index : 1 ; }
342
306
}
343
307
344
308
// Either sidebar or main area take up entire layout depending on state
@@ -356,6 +320,7 @@ $bslib-sidebar-column-sidebar: Min(
356
320
}
357
321
}
358
322
323
+
359
324
// Keep padding on main contents when sidebar is expanded (avoid shifts)
360
325
& :not (.sidebar-right ) > .main {
361
326
padding-left : var (--bslib-sidebar-padding-icon );
@@ -367,8 +332,7 @@ $bslib-sidebar-column-sidebar: Min(
367
332
// Make main contents transparent while sidebar is expanded
368
333
> .main {
369
334
opacity : 0 ;
370
- transition : opacity var (--bslib-sidebar-transition-easing-x )
371
- var (--bslib-sidebar-transition-duration );
335
+ transition : opacity var (--bslib-sidebar-transition-easing-x ) var (--bslib-sidebar-transition-duration )
372
336
}
373
337
& .sidebar-collapsed > .main {
374
338
opacity : 1 ;
0 commit comments