|
1 | 1 | .sidebar {
|
| 2 | + --#{$variable-prefix}sidebar-width: #{$sidebar-width}; |
| 3 | + ~ * { |
| 4 | + --#{$variable-prefix}sidebar-width: #{$sidebar-width}; |
| 5 | + } |
| 6 | + |
2 | 7 | position: relative;
|
3 | 8 | display: flex;
|
4 | 9 | // $sidebar-width is the width of the columns
|
5 |
| - flex: 0 0 $sidebar-width; |
| 10 | + flex: 0 0 var(--#{$variable-prefix}sidebar-width); |
6 | 11 | flex-direction: column;
|
7 | 12 | // put the nav on the left
|
8 | 13 | order: -1;
|
9 |
| - width: $sidebar-width; |
| 14 | + width: var(--#{$variable-prefix}sidebar-width); |
10 | 15 | padding: $sidebar-padding-y $sidebar-padding-x;
|
11 | 16 | color: var(--#{$variable-prefix}sidebar-color, $sidebar-color);
|
12 | 17 | background: var(--#{$variable-prefix}sidebar-bg, $sidebar-bg);
|
|
17 | 22 | &:not(.sidebar-end){
|
18 | 23 | @include ltr-rtl("margin-left", 0);
|
19 | 24 | ~ * {
|
20 |
| - --#{$variable-prefix}sidebar-occupy-start: #{$sidebar-width}; |
| 25 | + --#{$variable-prefix}sidebar-occupy-start: #{var(--#{$variable-prefix}sidebar-width)}; |
21 | 26 | }
|
22 | 27 | }
|
23 | 28 |
|
24 | 29 | &.sidebar-end {
|
25 | 30 | order: 99;
|
26 | 31 | @include ltr-rtl("margin-right", 0);
|
27 | 32 | ~ * {
|
28 |
| - --#{$variable-prefix}sidebar-occupy-end: #{$sidebar-width}; |
| 33 | + --#{$variable-prefix}sidebar-occupy-end: #{var(--#{$variable-prefix}sidebar-width)}; |
29 | 34 | }
|
30 | 35 | }
|
31 | 36 |
|
32 |
| - &.hide { |
33 |
| - &:not(.sidebar-end){ |
34 |
| - @include ltr-rtl("margin-left", - $sidebar-width); |
35 |
| - ~ * { |
36 |
| - --#{$variable-prefix}sidebar-occupy-start: 0; |
| 37 | + @include media-breakpoint-up($mobile-breakpoint) { |
| 38 | + &.hide { |
| 39 | + &:not(.sidebar-end){ |
| 40 | + @include ltr-rtl("margin-left", calc(-1 * var(--#{$variable-prefix}sidebar-width))); |
| 41 | + ~ * { |
| 42 | + --#{$variable-prefix}sidebar-occupy-start: 0; |
| 43 | + } |
37 | 44 | }
|
38 |
| - } |
39 |
| - &.sidebar-end { |
40 |
| - @include ltr-rtl("margin-right", - $sidebar-width); |
41 |
| - ~ * { |
42 |
| - --#{$variable-prefix}sidebar-occupy-end: 0; |
| 45 | + &.sidebar-end { |
| 46 | + @include ltr-rtl("margin-right", calc(-1 * var(--#{$variable-prefix}sidebar-width))); |
| 47 | + ~ * { |
| 48 | + --#{$variable-prefix}sidebar-occupy-end: 0; |
| 49 | + } |
43 | 50 | }
|
44 | 51 | }
|
45 | 52 | }
|
|
50 | 57 |
|
51 | 58 | @each $width, $value in $sidebar-widths {
|
52 | 59 | &.sidebar-#{$width} {
|
53 |
| - flex: 0 0 $value; |
54 |
| - width: $value; |
55 |
| - |
56 |
| - &:not(.sidebar-end) { |
57 |
| - ~ * { |
58 |
| - --#{$variable-prefix}sidebar-occupy-start: #{$value}; |
59 |
| - } |
60 |
| - } |
61 |
| - &.sidebar-end { |
62 |
| - ~ * { |
63 |
| - --#{$variable-prefix}sidebar-occupy-end: #{$value}; |
64 |
| - } |
65 |
| - } |
| 60 | + --#{$variable-prefix}sidebar-width: #{$value}; |
66 | 61 |
|
67 |
| - &.hide { |
68 |
| - &:not(.sidebar-end){ |
69 |
| - @include ltr-rtl("margin-left", - $value); |
70 |
| - ~ * { |
71 |
| - --#{$variable-prefix}sidebar-occupy-start: 0; |
72 |
| - } |
73 |
| - } |
74 |
| - &.sidebar-end { |
75 |
| - @include ltr-rtl("margin-right", - $value); |
76 |
| - ~ * { |
77 |
| - --#{$variable-prefix}sidebar-occupy-end: 0; |
78 |
| - } |
79 |
| - } |
| 62 | + ~ * { |
| 63 | + --#{$variable-prefix}sidebar-width: #{$value}; |
80 | 64 | }
|
81 | 65 | }
|
82 | 66 | }
|
|
129 | 113 | bottom: 0;
|
130 | 114 | z-index: $zindex-fixed + 1;
|
131 | 115 |
|
132 |
| - &:not(.sidebar-end){ |
| 116 | + &:not(.sidebar-end) { |
133 | 117 | @include ltr-rtl("left", 0);
|
134 | 118 | ~ * {
|
135 | 119 | --#{$variable-prefix}sidebar-occupy-start: 0 !important; // stylelint-disable-line
|
136 | 120 | }
|
| 121 | + |
| 122 | + &:not(.show) { |
| 123 | + @include ltr-rtl("margin-left", calc(-1 * var(--#{$variable-prefix}sidebar-width))); |
| 124 | + } |
137 | 125 | }
|
138 | 126 | &.sidebar-end {
|
139 | 127 | @include ltr-rtl("right", 0);
|
140 | 128 | ~ * {
|
141 | 129 | --#{$variable-prefix}sidebar-occupy-end: 0 !important; // stylelint-disable-line
|
142 | 130 | }
|
| 131 | + |
| 132 | + &:not(.show) { |
| 133 | + @include ltr-rtl("margin-right", calc(-1 * var(--#{$variable-prefix}sidebar-width))); |
| 134 | + } |
143 | 135 | }
|
144 | 136 | }
|
145 | 137 | }
|
|
262 | 254 | &.show { opacity: $sidebar-backdrop-opacity; }
|
263 | 255 | }
|
264 | 256 | }
|
265 |
| - |
266 |
| -// Responsive behavior |
267 |
| -@each $breakpoint in map-keys($grid-breakpoints) { |
268 |
| - @include media-breakpoint-down(breakpoint-next($breakpoint)) { |
269 |
| - $infix: breakpoint-infix($breakpoint, $grid-breakpoints); |
270 |
| - .sidebar:not(.show).sidebar-self-hiding#{$infix} { |
271 |
| - &:not(.sidebar-end) { |
272 |
| - @include ltr-rtl("margin-left", - $sidebar-width); |
273 |
| - |
274 |
| - @each $width, $value in $sidebar-widths { |
275 |
| - &.sidebar-#{$width} { |
276 |
| - @include ltr-rtl("margin-left", - $value); |
277 |
| - } |
278 |
| - } |
279 |
| - ~ * { |
280 |
| - --#{$variable-prefix}sidebar-occupy-start: 0; |
281 |
| - } |
282 |
| - } |
283 |
| - &.sidebar-end { |
284 |
| - @include ltr-rtl("margin-right", - $sidebar-width); |
285 |
| - |
286 |
| - @each $width, $value in $sidebar-widths { |
287 |
| - &.sidebar-#{$width} { |
288 |
| - @include ltr-rtl("margin-right", - $value); |
289 |
| - } |
290 |
| - } |
291 |
| - ~ * { |
292 |
| - --#{$variable-prefix}sidebar-occupy-end: 0; |
293 |
| - } |
294 |
| - } |
295 |
| - } |
296 |
| - } |
297 |
| -} |
0 commit comments