|
39 | 39 | display: block; |
40 | 40 | } |
41 | 41 |
|
42 | | - // Auto adjust margins for auto-placed popovers |
43 | | - &[data-popper-placement^="top"] { |
44 | | - margin-bottom: @su8 + 2px; |
| 42 | + &[data-popper-placement^="top"] > .s-popover--arrow { |
| 43 | + bottom: -@su6; |
| 44 | + |
| 45 | + &:after { |
| 46 | + bottom: 1px; |
| 47 | + } |
45 | 48 | } |
46 | 49 |
|
47 | | - &[data-popper-placement^="right"] { |
48 | | - margin-left: @su8 + 2px; |
| 50 | + &[data-popper-placement^="bottom"] > .s-popover--arrow { |
| 51 | + top: -@su6; |
| 52 | + |
| 53 | + &:after { |
| 54 | + top: 1px; |
| 55 | + } |
49 | 56 | } |
50 | 57 |
|
51 | | - &[data-popper-placement^="bottom"] { |
52 | | - margin-top: @su8 + 2px; |
| 58 | + &[data-popper-placement^="left"] > .s-popover--arrow { |
| 59 | + right: -@su6; |
| 60 | + |
| 61 | + &:after { |
| 62 | + right: 1px; |
| 63 | + } |
53 | 64 | } |
54 | 65 |
|
55 | | - &[data-popper-placement^="left"] { |
56 | | - margin-right: @su8 + 2px; |
| 66 | + &[data-popper-placement^="right"] > .s-popover--arrow { |
| 67 | + left: -@su6; |
| 68 | + |
| 69 | + &:after { |
| 70 | + left: 1px; |
| 71 | + } |
57 | 72 | } |
58 | 73 | } |
59 | 74 |
|
|
92 | 107 | // $ BASE STYLE |
93 | 108 | // Sets the base arrow style for tooltips, popovers, and dropdowns. |
94 | 109 | // ---------------------------------------------------------------------------- |
| 110 | + |
95 | 111 | .s-popover--arrow, |
| 112 | +.s-popover--arrow:before, |
| 113 | +.s-popover--arrow:after { |
| 114 | + position: absolute; |
| 115 | + width: @su12; |
| 116 | + height: @su12; |
| 117 | + z-index: -1; |
| 118 | +} |
| 119 | + |
| 120 | +.s-popover--arrow { |
| 121 | + color: var(--white); |
| 122 | +} |
| 123 | + |
| 124 | +#stacks-internals #darkmode('', { |
| 125 | + .s-popover--arrow { |
| 126 | + color: var(--black-075); |
| 127 | + } |
| 128 | + |
| 129 | + .s-popover--arrow:before { |
| 130 | + background: currentColor; |
| 131 | + } |
| 132 | +}); |
| 133 | + |
| 134 | +.s-popover--arrow:before { |
| 135 | + // This renders our border |
| 136 | + content: ''; |
| 137 | + transform: rotate(45deg); |
| 138 | + background: var(--black-150); |
| 139 | +} |
| 140 | + |
| 141 | +.s-popover--arrow:after { |
| 142 | + // This renders our foreground color |
| 143 | + content: ''; |
| 144 | + transform: rotate(45deg); |
| 145 | + background: currentColor; |
| 146 | +} |
| 147 | + |
96 | 148 | .s-popover--arrow__tl, |
97 | 149 | .s-popover--arrow__tc, |
98 | 150 | .s-popover--arrow__tr, |
|
118 | 170 | } |
119 | 171 |
|
120 | 172 | #stacks-internals #darkmode('', { |
121 | | - .s-popover--arrow, |
122 | 173 | .s-popover--arrow__tl, |
123 | 174 | .s-popover--arrow__tc, |
124 | 175 | .s-popover--arrow__tr, |
|
140 | 191 | // ============================================================================ |
141 | 192 | // $$ TOP |
142 | 193 | // ---------------------------------------------------------------------------- |
143 | | -.s-popover[data-popper-placement^="bottom"] .s-popover--arrow, |
144 | 194 | .s-popover--arrow__tl, |
145 | 195 | .s-popover--arrow__tc, |
146 | 196 | .s-popover--arrow__tr { |
|
150 | 200 | } |
151 | 201 | &:before { |
152 | 202 | top: -(@su8); |
153 | | - border-bottom-color: var(--black-100); |
| 203 | + border-bottom-color: var(--black-150); |
154 | 204 | } |
155 | 205 | &:after { |
156 | 206 | top: -(@su8 - 1); |
|
160 | 210 |
|
161 | 211 | // $$ BOTTOM |
162 | 212 | // ---------------------------------------------------------------------------- |
163 | | -.s-popover[data-popper-placement^="top"] .s-popover--arrow, |
164 | 213 | .s-popover--arrow__bl, |
165 | 214 | .s-popover--arrow__bc, |
166 | 215 | .s-popover--arrow__br { |
|
170 | 219 | } |
171 | 220 | &:before { |
172 | 221 | bottom: -(@su8); |
173 | | - border-top-color: var(--black-100); |
| 222 | + border-top-color: var(--black-150); |
174 | 223 | } |
175 | 224 | &:after { |
176 | 225 | bottom: -(@su8 - 1); |
|
180 | 229 |
|
181 | 230 | // $$ TOP & BOTTOM LEFT |
182 | 231 | // ---------------------------------------------------------------------------- |
183 | | -.s-popover[data-popper-placement="top-start"] .s-popover--arrow, |
184 | | -.s-popover[data-popper-placement="bottom-start"] .s-popover--arrow, |
185 | 232 | .s-popover--arrow__tl, |
186 | 233 | .s-popover--arrow__bl { |
187 | 234 | &:before, |
|
192 | 239 |
|
193 | 240 | // $$ TOP & BOTTOM CENTER |
194 | 241 | // ---------------------------------------------------------------------------- |
195 | | -.s-popover[data-popper-placement="top"] .s-popover--arrow, |
196 | | -.s-popover[data-popper-placement="bottom"] .s-popover--arrow, |
197 | 242 | .s-popover--arrow__tc, |
198 | 243 | .s-popover--arrow__bc { |
199 | 244 | &:before, |
|
205 | 250 |
|
206 | 251 | // $$ TOP & BOTTOM RIGHT |
207 | 252 | // ---------------------------------------------------------------------------- |
208 | | -.s-popover[data-popper-placement="top-end"] .s-popover--arrow, |
209 | | -.s-popover[data-popper-placement="bottom-end"] .s-popover--arrow, |
210 | 253 | .s-popover--arrow__tr, |
211 | 254 | .s-popover--arrow__br { |
212 | 255 | &:before, |
|
217 | 260 |
|
218 | 261 | // $$ LEFT |
219 | 262 | // ---------------------------------------------------------------------------- |
220 | | -.s-popover[data-popper-placement^="right"] .s-popover--arrow, |
221 | 263 | .s-popover--arrow__lt, |
222 | 264 | .s-popover--arrow__lc, |
223 | 265 | .s-popover--arrow__lb { |
|
227 | 269 | } |
228 | 270 | &:before { |
229 | 271 | left: -(@su8); |
230 | | - border-right-color: var(--black-100); |
| 272 | + border-right-color: var(--black-150); |
231 | 273 | } |
232 | 274 | &:after { |
233 | 275 | left: -(@su8 - 1); |
|
237 | 279 |
|
238 | 280 | // $$ RIGHT |
239 | 281 | // ---------------------------------------------------------------------------- |
240 | | -.s-popover[data-popper-placement^="left"] .s-popover--arrow, |
241 | 282 | .s-popover--arrow__rt, |
242 | 283 | .s-popover--arrow__rc, |
243 | 284 | .s-popover--arrow__rb { |
|
247 | 288 | } |
248 | 289 | &:before { |
249 | 290 | right: -(@su8); |
250 | | - border-left-color: var(--black-100); |
| 291 | + border-left-color: var(--black-150); |
251 | 292 | } |
252 | 293 | &:after { |
253 | 294 | right: -(@su8 - 1); |
|
257 | 298 |
|
258 | 299 | // $$ LEFT & RIGHT TOP |
259 | 300 | // ---------------------------------------------------------------------------- |
260 | | -.s-popover[data-popper-placement="left-start"] .s-popover--arrow, |
261 | | -.s-popover[data-popper-placement="right-start"] .s-popover--arrow, |
262 | 301 | .s-popover--arrow__lt, |
263 | 302 | .s-popover--arrow__rt { |
264 | 303 | &:before, |
|
269 | 308 |
|
270 | 309 | // $$ LEFT & RIGHT CENTER |
271 | 310 | // ---------------------------------------------------------------------------- |
272 | | -.s-popover[data-popper-placement="left"] .s-popover--arrow, |
273 | | -.s-popover[data-popper-placement="right"] .s-popover--arrow, |
274 | 311 | .s-popover--arrow__lc, |
275 | 312 | .s-popover--arrow__rc { |
276 | 313 | &:before, |
|
282 | 319 |
|
283 | 320 | // $$ LEFT & RIGHT BOTTOM |
284 | 321 | // ---------------------------------------------------------------------------- |
285 | | -.s-popover[data-popper-placement="left-end"] .s-popover--arrow, |
286 | | -.s-popover[data-popper-placement="right-end"] .s-popover--arrow, |
287 | 322 | .s-popover--arrow__lb, |
288 | 323 | .s-popover--arrow__rb { |
289 | 324 | &:before, |
|
0 commit comments