|
1 | 1 | /* Overlay */
|
2 | 2 |
|
| 3 | +dialog.Overlay:not([open]) { |
| 4 | + display: none; |
| 5 | +} |
| 6 | + |
3 | 7 | .Overlay--hidden {
|
4 | 8 | display: none !important;
|
5 | 9 | }
|
|
13 | 17 |
|
14 | 18 | .Overlay {
|
15 | 19 | display: flex;
|
| 20 | + inset: 0; |
| 21 | + position: static; |
| 22 | + margin: auto; |
| 23 | + padding: 0; |
16 | 24 | width: min(var(--overlay-width), 100vw - 2rem);
|
17 | 25 | min-width: 192px;
|
18 | 26 | max-height: min(calc(100vh - 2rem), var(--overlay-height));
|
19 | 27 | white-space: normal;
|
20 | 28 | flex-direction: column;
|
21 | 29 | background-color: var(--overlay-bgColor);
|
| 30 | + color: var(--fgColor-default); |
| 31 | + border: 0; |
22 | 32 | border-radius: var(--borderRadius-large);
|
23 | 33 | box-shadow: var(--shadow-floating-small);
|
24 | 34 | opacity: 1;
|
|
74 | 84 | height: auto;
|
75 | 85 | }
|
76 | 86 |
|
| 87 | + &.Overlay--placement-left, &.Overlay--placement-right { |
| 88 | + height: 100%; |
| 89 | + max-height: unset; |
| 90 | + } |
| 91 | + |
| 92 | + &.Overlay--placement-left { |
| 93 | + inset: 0 auto 0 0; |
| 94 | + border-top-left-radius: 0; |
| 95 | + border-bottom-left-radius: 0; |
| 96 | + } |
| 97 | + |
| 98 | + &.Overlay--placement-right { |
| 99 | + inset: 0 0 0 auto; |
| 100 | + border-top-right-radius: 0; |
| 101 | + border-bottom-right-radius: 0; |
| 102 | + } |
| 103 | + |
77 | 104 | /* start deprecate in favor of Alpha::Dialog */
|
78 | 105 | &.Overlay--height-xsmall {
|
79 | 106 | height: min(192px, 100vh - 2rem);
|
|
295 | 322 | }
|
296 | 323 | }
|
297 | 324 |
|
298 |
| -@define-mixin Overlay-backdrop { |
299 |
| - position: fixed; |
300 |
| - top: 0; |
301 |
| - right: 0; |
302 |
| - bottom: 0; |
303 |
| - left: 0; |
304 |
| - z-index: 999; |
305 |
| - display: flex; |
306 |
| - background-color: var(--overlay-backdrop-bgColor, var(--color-neutral-muted)); |
307 |
| -} |
308 |
| - |
309 |
| -@define-mixin Overlay-backdrop--transparent { |
310 |
| - position: absolute; |
311 |
| - z-index: 999; |
312 |
| - background-color: transparent; |
313 |
| -} |
314 |
| - |
315 | 325 | /* variants must be mixins so we can extend within a media query (@extend is not supported inside media queries) */
|
316 | 326 |
|
317 | 327 | /* border-radius repeats within placement options to ensure the original radius is reset when two classes co-exist */
|
318 | 328 |
|
319 |
| -/* center */ |
320 |
| -@define-mixin Overlay-backdrop--center { |
321 |
| - @mixin Overlay-backdrop; |
322 |
| - |
323 |
| - align-items: center; |
324 |
| - justify-content: center; |
325 |
| -} |
326 |
| - |
327 |
| -/* anchor */ |
328 |
| -@define-mixin Overlay-backdrop--anchor { |
329 |
| - @mixin Overlay-backdrop--transparent; |
| 329 | +/* full width */ |
| 330 | +.Overlay--full { |
| 331 | + width: 100%; |
| 332 | + max-width: 100vw; |
| 333 | + height: 100%; |
| 334 | + max-height: 100vh; |
| 335 | + border-radius: unset !important; |
| 336 | + flex-grow: 1; |
330 | 337 | }
|
331 | 338 |
|
332 |
| -/* anchor side(s) */ |
333 |
| -@define-mixin Overlay-backdrop--side $responsiveVariant { |
334 |
| - @mixin Overlay-backdrop; |
335 |
| - |
336 |
| - /* default left */ |
337 |
| - align-items: center; |
338 |
| - justify-content: left; |
339 |
| - |
340 |
| - &.Overlay-backdrop--placement-left$(responsiveVariant) { |
341 |
| - align-items: center; |
342 |
| - justify-content: left; |
343 |
| - |
344 |
| - & > .Overlay$(responsiveVariant) { |
345 |
| - height: 100vh; |
346 |
| - max-height: unset; |
347 |
| - border-radius: var(--borderRadius-large); |
348 |
| - border-top-left-radius: 0; |
349 |
| - border-bottom-left-radius: 0; |
| 339 | +/* responsive variants */ |
350 | 340 |
|
351 |
| - @media screen and (prefers-reduced-motion: no-preference) { |
352 |
| - animation: 250ms cubic-bezier(0.33, 1, 0.68, 1) 0s 1 normal none running Overlay--motion-slideInRight; |
353 |
| - } |
354 |
| - } |
| 341 | +/* --viewportRange-narrowLandscape */ |
| 342 | +@media (max-width: 767px) { |
| 343 | + .Overlay--placement-left-whenNarrow, .Overlay--placement-right-whenNarrow { |
| 344 | + height: 100%; |
| 345 | + max-height: 100vh; |
355 | 346 | }
|
356 | 347 |
|
357 |
| - &.Overlay-backdrop--placement-right$(responsiveVariant) { |
358 |
| - align-items: center; |
359 |
| - justify-content: right; |
360 |
| - |
361 |
| - & > .Overlay$(responsiveVariant) { |
362 |
| - height: 100vh; |
363 |
| - max-height: unset; |
364 |
| - border-radius: var(--borderRadius-large); |
365 |
| - border-top-right-radius: 0; |
366 |
| - border-bottom-right-radius: 0; |
367 |
| - |
368 |
| - @media screen and (prefers-reduced-motion: no-preference) { |
369 |
| - animation: 250ms cubic-bezier(0.33, 1, 0.68, 1) 0s 1 normal none running Overlay--motion-slideInLeft; |
370 |
| - } |
371 |
| - } |
| 348 | + .Overlay--placement-left-whenNarrow { |
| 349 | + inset: 0 auto 0 0; |
| 350 | + border-top-left-radius: 0; |
| 351 | + border-bottom-left-radius: 0; |
372 | 352 | }
|
373 | 353 |
|
374 |
| - &.Overlay-backdrop--placement-bottom$(responsiveVariant) { |
375 |
| - align-items: end; |
376 |
| - justify-content: center; |
377 |
| - |
378 |
| - & > .Overlay$(responsiveVariant) { |
379 |
| - width: 100vw; |
380 |
| - height: auto; |
381 |
| - max-height: calc(100vh - 2rem); |
382 |
| - border-radius: var(--borderRadius-large); |
383 |
| - border-bottom-right-radius: 0; |
384 |
| - border-bottom-left-radius: 0; |
385 |
| - |
386 |
| - @media screen and (prefers-reduced-motion: no-preference) { |
387 |
| - animation: 250ms cubic-bezier(0.33, 1, 0.68, 1) 0s 1 normal none running Overlay--motion-slideUp; |
388 |
| - } |
389 |
| - } |
| 354 | + .Overlay--placement-right-whenNarrow { |
| 355 | + inset: 0 0 0 auto; |
| 356 | + border-top-right-radius: 0; |
| 357 | + border-bottom-right-radius: 0; |
390 | 358 | }
|
391 | 359 |
|
392 |
| - &.Overlay-backdrop--placement-top$(responsiveVariant) { |
393 |
| - align-items: start; |
394 |
| - justify-content: center; |
395 |
| - |
396 |
| - & > .Overlay$(responsiveVariant) { |
397 |
| - border-radius: var(--borderRadius-large); |
398 |
| - border-top-left-radius: 0; |
399 |
| - border-top-right-radius: 0; |
400 |
| - |
401 |
| - @media screen and (prefers-reduced-motion: no-preference) { |
402 |
| - animation: 250ms cubic-bezier(0.33, 1, 0.68, 1) 0s 1 normal none running Overlay--motion-slideDown; |
403 |
| - } |
404 |
| - } |
| 360 | + .Overlay--placement-bottom-whenNarrow { |
| 361 | + width: 100%; |
| 362 | + max-width: 100vw; |
| 363 | + inset: auto 0 0; |
| 364 | + border-bottom-left-radius: 0; |
| 365 | + border-bottom-right-radius: 0; |
405 | 366 | }
|
406 |
| -} |
407 | 367 |
|
408 |
| -/* full width */ |
409 |
| -@define-mixin Overlay-backdrop--full { |
410 |
| - @mixin Overlay-backdrop; |
411 |
| - |
412 |
| - & .Overlay { |
| 368 | + .Overlay--full-whenNarrow { |
413 | 369 | width: 100%;
|
414 | 370 | max-width: 100vw;
|
415 | 371 | height: 100%;
|
|
419 | 375 | }
|
420 | 376 | }
|
421 | 377 |
|
422 |
| -/* Overlay variant classnames */ |
423 |
| -.Overlay-backdrop--center { |
424 |
| - @mixin Overlay-backdrop--center; |
425 |
| -} |
426 |
| - |
427 |
| -.Overlay-backdrop--anchor { |
428 |
| - @mixin Overlay-backdrop--anchor; |
429 |
| -} |
430 |
| - |
431 |
| -.Overlay-backdrop--side { |
432 |
| - @mixin Overlay-backdrop--side; |
433 |
| -} |
434 |
| - |
435 |
| -.Overlay-backdrop--full { |
436 |
| - @mixin Overlay-backdrop--full; |
437 |
| -} |
438 |
| - |
439 |
| -/* responsive variants */ |
440 |
| - |
441 |
| -/* --viewportRange-narrowLandscape */ |
442 |
| -@media (max-width: 767px) { |
443 |
| - .Overlay-backdrop--center-whenNarrow { |
444 |
| - @mixin Overlay-backdrop--center; |
445 |
| - } |
446 |
| - |
447 |
| - .Overlay-backdrop--anchor-whenNarrow { |
448 |
| - @mixin Overlay-backdrop--anchor; |
449 |
| - } |
450 |
| - |
451 |
| - .Overlay-backdrop--side-whenNarrow { |
452 |
| - @mixin Overlay-backdrop--side -whenNarrow; |
453 |
| - } |
454 |
| - |
455 |
| - .Overlay-backdrop--full-whenNarrow { |
456 |
| - @mixin Overlay-backdrop--full; |
457 |
| - } |
458 |
| -} |
459 |
| - |
460 | 378 | @keyframes Overlay--motion-slideDown {
|
461 | 379 | from {
|
462 | 380 | transform: translateY(-100%);
|
|
0 commit comments