|
14 | 14 | @import "@spectrum-css/commons/overlay.css";
|
15 | 15 | @import "./themes/spectrum-two.css";
|
16 | 16 |
|
| 17 | + |
| 18 | +.spectrum-Modal { |
| 19 | + --spectrum-modal-confirm-entry-animation-duration: var(--mod-modal-confirm-entry-animation-duration, var(--spectrum-animation-duration-500)); |
| 20 | + --spectrum-modal-confirm-entry-animation-delay: var(--mod-modal-confirm-entry-animation-delay, var(--spectrum-animation-duration-200)); |
| 21 | + --spectrum-modal-confirm-exit-animation-duration: var(--mod-modal-confirm-exit-animation-duration, var(--spectrum-animation-duration-100)); |
| 22 | + |
| 23 | + /* Bug: this must be 0ms, not 0 */ |
| 24 | + --spectrum-modal-confirm-exit-animation-delay: var(--mod-modal-confirm-exit-animation-delay, var(--spectrum-animation-duration-0)); |
| 25 | + |
| 26 | + /* Distance between top and bottom of modal and edge of window for fullscreen modal */ |
| 27 | + --spectrum-modal-fullscreen-margin: var(--mod-modal-fullscreen-margin, 32px); |
| 28 | +} |
| 29 | + |
17 | 30 | /* Used to position the modal */
|
18 | 31 | .spectrum-Modal-wrapper {
|
19 | 32 | position: fixed;
|
|
55 | 68 | }
|
56 | 69 |
|
57 | 70 | .spectrum-Modal {
|
58 |
| - /* Bug: this must be 0ms, not 0 */ |
59 |
| - --spectrum-modal-confirm-exit-animation-delay: var(--spectrum-animation-duration-0); |
60 |
| - |
61 |
| - /* Distance between top and bottom of modal and edge of window for fullscreen modal */ |
62 |
| - --spectrum-modal-fullscreen-margin: 32px; |
63 |
| - |
64 |
| - --spectrum-modal-confirm-exit-animation-duration: var(--spectrum-animation-duration-100); |
65 |
| - --spectrum-modal-confirm-entry-animation-duration: var(--spectrum-animation-duration-500); |
66 |
| - --spectrum-modal-confirm-entry-animation-delay: var(--spectrum-animation-duration-200); |
67 |
| - |
68 |
| - @extend %spectrum-overlay; |
| 71 | + pointer-events: none; |
| 72 | + visibility: hidden; |
| 73 | + opacity: 0; |
69 | 74 |
|
70 | 75 | /* Start offset by the animation distance -- @note this is using the global dialog token */
|
71 | 76 | transform: translateY(var(--mod-modal-confirm-entry-animation-distance, var(--spectrum-dialog-confirm-entry-animation-distance)));
|
|
78 | 83 | max-inline-size: var(--mod-modal-max-width, 90%);
|
79 | 84 |
|
80 | 85 | background: var(--mod-modal-background-color, var(--spectrum-modal-background-color));
|
81 |
| - |
82 |
| - /* border-radius includes legacy token fallback, which can be deprecated once component is migrated */ |
83 | 86 | border-radius: var(--mod-modal-confirm-border-radius, var(--spectrum-corner-radius-100));
|
84 | 87 | overflow: hidden;
|
85 | 88 | outline: none; /* Firefox shows outline */
|
86 | 89 | pointer-events: auto;
|
87 | 90 |
|
88 | 91 | /* Exit animations */
|
89 | 92 | transition:
|
90 |
| - opacity var(--mod-modal-confirm-exit-animation-duration, var(--spectrum-modal-confirm-exit-animation-duration)) var(--spectrum-animation-ease-in) var(--mod-modal-confirm-exit-animation-delay, var(--spectrum-modal-confirm-exit-animation-delay)), |
91 |
| - visibility 0ms linear calc(var(--mod-modal-confirm-exit-animation-delay, var(--spectrum-modal-confirm-exit-animation-delay)) + var(--mod-modal-confirm-exit-animation-duration, var(--spectrum-modal-confirm-exit-animation-duration))), |
92 |
| - transform 0ms linear calc(var(--mod-modal-confirm-exit-animation-delay, var(--spectrum-modal-confirm-exit-animation-delay)) + var(--mod-modal-confirm-exit-animation-duration, var(--spectrum-modal-confirm-exit-animation-duration))); |
| 93 | + opacity var(--spectrum-modal-confirm-exit-animation-duration) var(--spectrum-animation-ease-in) var(--spectrum-modal-confirm-exit-animation-delay), |
| 94 | + visibility 0ms linear calc(var(--spectrum-modal-confirm-exit-animation-delay) + var(--spectrum-modal-confirm-exit-animation-duration)), |
| 95 | + transform 0ms linear calc(var(--spectrum-modal-confirm-exit-animation-delay) + var(--spectrum-modal-confirm-exit-animation-duration)); |
93 | 96 |
|
94 | 97 | &.is-open {
|
95 |
| - @extend %spectrum-overlay--open; |
| 98 | + pointer-events: auto; |
| 99 | + visibility: visible; |
| 100 | + opacity: 1; |
96 | 101 |
|
97 | 102 | /* Entry animations */
|
| 103 | + transition-delay: var(--mod-overlay-animation-duration-opened, var(--spectrum-animation-duration-0, 0ms)); |
98 | 104 | transition:
|
99 |
| - transform var(--mod-modal-confirm-entry-animation-duration, var(--spectrum-modal-confirm-entry-animation-duration)) var(--spectrum-animation-ease-out) var(--mod-modal-confirm-entry-animation-delay, var(--spectrum-modal-confirm-entry-animation-delay)), |
100 |
| - opacity var(--mod-modal-confirm-entry-animation-duration, var(--spectrum-modal-confirm-entry-animation-duration)) var(--spectrum-animation-ease-out) var(--mod-modal-confirm-entry-animation-delay, var(--spectrum-modal-confirm-entry-animation-delay)); |
| 105 | + transform var(--spectrum-modal-confirm-entry-animation-duration) var(--spectrum-animation-ease-out) var(--spectrum-modal-confirm-entry-animation-delay), |
| 106 | + opacity var(--spectrum-modal-confirm-entry-animation-duration) var(--spectrum-animation-ease-out) var(--spectrum-modal-confirm-entry-animation-delay); |
101 | 107 |
|
102 | 108 | transform: translateY(0);
|
103 | 109 | }
|
|
123 | 129 | /** @unofficial */
|
124 | 130 | .spectrum-Modal--fullscreen {
|
125 | 131 | position: fixed;
|
126 |
| - inset-inline-start: var(--mod-modal-fullscreen-margin, var(--spectrum-modal-fullscreen-margin)); |
127 |
| - inset-block-start: var(--mod-modal-fullscreen-margin, var(--spectrum-modal-fullscreen-margin)); |
128 |
| - inset-inline-end: var(--mod-modal-fullscreen-margin, var(--spectrum-modal-fullscreen-margin)); |
129 |
| - inset-block-end: var(--mod-modal-fullscreen-margin, var(--spectrum-modal-fullscreen-margin)); |
| 132 | + inset-inline-start: var(--spectrum-modal-fullscreen-margin); |
| 133 | + inset-block-start: var(--spectrum-modal-fullscreen-margin); |
| 134 | + inset-inline-end: var(--spectrum-modal-fullscreen-margin); |
| 135 | + inset-block-end: var(--spectrum-modal-fullscreen-margin); |
130 | 136 | max-inline-size: none;
|
131 | 137 | max-block-size: none;
|
132 | 138 | }
|
|
0 commit comments