|
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