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