|
1 | 1 | // stylelint-disable function-disallowed-list |
2 | | - |
3 | 2 | .sidebar { |
4 | 3 | // scss-docs-start sidebar-css-vars |
5 | 4 | --#{$prefix}sidebar-zindex: #{$zindex-sidebar}; |
|
24 | 23 | box-shadow: none; |
25 | 24 | @include transition($sidebar-transition); |
26 | 25 |
|
27 | | - &.sidebar-fixed, |
28 | | - &.sidebar-narrow, |
29 | | - &.sidebar-narrow-unfoldable, |
30 | | - &.sidebar-overlaid { |
31 | | - z-index: var(--#{$prefix}sidebar-zindex); |
32 | | - } |
33 | | - |
34 | 26 | &:not(.sidebar-end){ |
35 | 27 | @include ltr-rtl("margin-left", 0); |
36 | | - ~ * { |
37 | | - --#{$prefix}sidebar-occupy-start: #{$sidebar-width}; |
38 | | - } |
39 | 28 | } |
40 | 29 |
|
41 | 30 | &.sidebar-end { |
42 | 31 | order: 99; |
43 | 32 | @include ltr-rtl("margin-right", 0); |
44 | | - ~ * { |
45 | | - --#{$prefix}sidebar-occupy-end: #{$sidebar-width}; |
46 | | - } |
47 | 33 | } |
48 | 34 |
|
49 | | - @each $width, $value in $sidebar-widths { |
50 | | - &.sidebar-#{$width} { |
51 | | - --#{$prefix}sidebar-width: #{$value}; |
52 | | - @include media-breakpoint-up($mobile-breakpoint) { |
53 | | - &:not(.sidebar-end):not(.hide) { |
54 | | - ~ * { |
55 | | - --#{$prefix}sidebar-occupy-start: #{$value}; |
56 | | - } |
57 | | - } |
58 | | - &.sidebar-end:not(.hide) { |
59 | | - ~ * { |
60 | | - --#{$prefix}sidebar-occupy-end: #{$value}; |
61 | | - } |
62 | | - } |
| 35 | + @include media-breakpoint-up($mobile-breakpoint) { |
| 36 | + &:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid) { |
| 37 | + &:not(.sidebar-end) ~ * { |
| 38 | + --#{$prefix}sidebar-occupy-start: #{$sidebar-width}; |
| 39 | + } |
| 40 | + &.sidebar-end ~ * { |
| 41 | + --#{$prefix}sidebar-occupy-end: #{$sidebar-width}; |
63 | 42 | } |
64 | 43 | } |
65 | | - } |
66 | 44 |
|
67 | | - @include media-breakpoint-up($mobile-breakpoint) { |
68 | 45 | &.hide { |
69 | | - &:not(.sidebar-end){ |
| 46 | + &:not(.sidebar-end) { |
70 | 47 | @include ltr-rtl("margin-left", calc(-1 * var(--#{$prefix}sidebar-width))); |
71 | | - ~ * { |
72 | | - --#{$prefix}sidebar-occupy-start: 0; |
73 | | - } |
74 | 48 | } |
75 | 49 | &.sidebar-end { |
76 | 50 | @include ltr-rtl("margin-right", calc(-1 * var(--#{$prefix}sidebar-width))); |
77 | | - ~ * { |
78 | | - --#{$prefix}sidebar-occupy-end: 0; |
79 | | - } |
80 | | - } |
81 | | - } |
82 | | - } |
83 | 51 |
|
84 | | - &.sidebar-fixed { |
85 | | - @include media-breakpoint-up($mobile-breakpoint) { |
86 | | - position: fixed; |
87 | | - top: 0; |
88 | | - bottom: 0; |
89 | | - |
90 | | - &:not(.sidebar-end) { |
91 | | - @include ltr-rtl("left", 0); |
92 | 52 | } |
93 | | - |
94 | | - &.sidebar-end { |
95 | | - @include ltr-rtl("right", 0); |
96 | | - } |
97 | | - } |
98 | | - } |
99 | | - |
100 | | - &.sidebar-sticky { |
101 | | - @include media-breakpoint-up($mobile-breakpoint) { |
102 | | - position: sticky; |
103 | | - top: 0; |
104 | | - height: 100vh; |
105 | 53 | } |
106 | 54 | } |
107 | 55 |
|
108 | | - &.sidebar-overlaid { |
109 | | - // scss-docs-start sidebar-overlaid-css-vars |
110 | | - --#{$prefix}sidebar-overlaid-box-shadow: #{$sidebar-overlaid-box-shadow}; |
111 | | - // scss-docs-end sidebar-overlaid-css-vars |
| 56 | + @include media-breakpoint-down($mobile-breakpoint) { |
| 57 | + // Some of our components use this property to detect if the sidebar has mobile behavior. |
| 58 | + --#{$prefix}is-mobile: true; |
112 | 59 |
|
113 | 60 | position: fixed; |
114 | 61 | top: 0; |
115 | 62 | bottom: 0; |
| 63 | + z-index: var(--#{$prefix}sidebar-zindex); |
116 | 64 |
|
117 | | - &:not(.sidebar-end){ |
| 65 | + &:not(.sidebar-end) { |
118 | 66 | @include ltr-rtl("left", 0); |
119 | | - @include ltr-rtl("margin-left", calc(-1 * var(--#{$prefix}sidebar-width))); |
120 | | - ~ * { |
121 | | - --#{$prefix}sidebar-occupy-start: 0 !important; // stylelint-disable-line |
| 67 | + |
| 68 | + &:not(.show) { |
| 69 | + @include ltr-rtl("margin-left", calc(-1 * var(--#{$prefix}sidebar-width))); |
122 | 70 | } |
123 | 71 | } |
124 | 72 |
|
125 | 73 | &.sidebar-end { |
126 | 74 | @include ltr-rtl("right", 0); |
127 | | - @include ltr-rtl("margin-right", calc(-1 * var(--#{$prefix}sidebar-width))); |
128 | | - ~ * { |
129 | | - --#{$prefix}sidebar-occupy-end: 0 !important; // stylelint-disable-line |
| 75 | + |
| 76 | + &:not(.show) { |
| 77 | + @include ltr-rtl("margin-right", calc(-1 * var(--#{$prefix}sidebar-width))); |
130 | 78 | } |
131 | 79 | } |
| 80 | + } |
| 81 | +} |
132 | 82 |
|
133 | | - &.show { |
134 | | - box-shadow: var(--#{$prefix}sidebar-overlaid-box-shadow); |
| 83 | +.sidebar-fixed { |
| 84 | + position: fixed; |
| 85 | + top: 0; |
| 86 | + bottom: 0; |
| 87 | + z-index: var(--#{$prefix}sidebar-zindex); |
135 | 88 |
|
136 | | - &:not(.sidebar-end) { |
137 | | - @include ltr-rtl("margin-left", 0); |
138 | | - } |
| 89 | + &:not(.sidebar-end) { |
| 90 | + @include ltr-rtl("left", 0); |
| 91 | + } |
139 | 92 |
|
140 | | - &.sidebar-end { |
141 | | - @include ltr-rtl("margin-right", 0); |
142 | | - } |
143 | | - } |
| 93 | + &.sidebar-end { |
| 94 | + @include ltr-rtl("right", 0); |
144 | 95 | } |
| 96 | +} |
145 | 97 |
|
146 | | - @include media-breakpoint-down($mobile-breakpoint) { |
147 | | - // Some of our components use this property to detect if the sidebar has mobile behavior. |
148 | | - --#{$prefix}is-mobile: true; |
| 98 | +.sidebar-overlaid { |
| 99 | + // scss-docs-start sidebar-overlaid-css-vars |
| 100 | + --#{$prefix}sidebar-overlaid-box-shadow: #{$sidebar-overlaid-box-shadow}; |
| 101 | + // scss-docs-end sidebar-overlaid-css-vars |
149 | 102 |
|
150 | | - position: fixed; |
151 | | - top: 0; |
152 | | - bottom: 0; |
153 | | - z-index: var(--#{$prefix}sidebar-zindex); |
| 103 | + @extend .sidebar-fixed; |
154 | 104 |
|
155 | | - &:not(.sidebar-end) { |
156 | | - @include ltr-rtl("left", 0); |
157 | | - ~ * { |
158 | | - --#{$prefix}sidebar-occupy-start: 0 !important; // stylelint-disable-line |
159 | | - } |
| 105 | + &:not(.sidebar-end){ |
| 106 | + @include ltr-rtl("margin-left", calc(-1 * var(--#{$prefix}sidebar-width))); |
| 107 | + } |
160 | 108 |
|
161 | | - &:not(.show) { |
162 | | - @include ltr-rtl("margin-left", calc(-1 * var(--#{$prefix}sidebar-width))); |
163 | | - } |
| 109 | + &.sidebar-end { |
| 110 | + @include ltr-rtl("margin-right", calc(-1 * var(--#{$prefix}sidebar-width))); |
| 111 | + } |
| 112 | + |
| 113 | + &.show { |
| 114 | + box-shadow: var(--#{$prefix}sidebar-overlaid-box-shadow); |
| 115 | + |
| 116 | + &:not(.sidebar-end) { |
| 117 | + @include ltr-rtl("margin-left", 0); |
164 | 118 | } |
| 119 | + |
165 | 120 | &.sidebar-end { |
166 | | - @include ltr-rtl("right", 0); |
167 | | - ~ * { |
168 | | - --#{$prefix}sidebar-occupy-end: 0 !important; // stylelint-disable-line |
169 | | - } |
| 121 | + @include ltr-rtl("margin-right", 0); |
| 122 | + } |
| 123 | + } |
| 124 | +} |
170 | 125 |
|
171 | | - &:not(.show) { |
172 | | - @include ltr-rtl("margin-right", calc(-1 * var(--#{$prefix}sidebar-width))); |
| 126 | +@each $width, $value in $sidebar-widths { |
| 127 | + .sidebar-#{$width} { |
| 128 | + --#{$prefix}sidebar-width: #{$value}; |
| 129 | + |
| 130 | + @include media-breakpoint-up($mobile-breakpoint) { |
| 131 | + &:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid) { |
| 132 | + &:not(.sidebar-end) ~ * { |
| 133 | + --#{$prefix}sidebar-occupy-start: #{$value}; |
| 134 | + } |
| 135 | + &.sidebar-end ~ * { |
| 136 | + --#{$prefix}sidebar-occupy-end: #{$value}; |
| 137 | + } |
173 | 138 | } |
174 | 139 | } |
175 | 140 | } |
|
0 commit comments