3 @import '~@proton/styles/scss/lib';
23 @function duration($key) {
24 @return map.get($keyframes, $key) * 1s;
27 @function delay($key) {
29 @each $k, $v in $keyframes {
40 border-radius: var(--border-radius-lg);
50 background-image: linear-gradient(to bottom, var(--interaction-norm-minor-2), var(--interaction-norm));
54 &-gmail-username-inbox {
58 max-inline-size: 100%;
59 margin-block-end: 1.5rem;
60 flex-flow: row nowrap;
72 border-radius: var(--border-radius-lg);
73 box-shadow: var(--shadow-lifted);
74 background-color: var(--background-norm);
75 animation: duration(envelope) easing(ease-out-quart) delay(initial_pause) both anime-gsma-gmail-logo;
77 @keyframes anime-gsma-gmail-logo {
99 max-inline-size: calc(100% - #{rem(56)});
100 padding-inline: 1rem;
101 justify-content: center;
103 animation: duration(inbox) easing(ease-out-back) delay(envelope) both anime-gsma-username;
105 @keyframes anime-gsma-username {
120 inset-inline: #{rem(56) * -1} 0;
122 transform-origin: center right;
124 border-radius: var(--border-radius-lg) var(--border-radius-md) var(--border-radius-md) var(--border-radius-lg);
125 box-shadow: var(--shadow-norm);
126 background-color: var(--background-norm);
127 animation: duration(inbox) easing(ease-out-back) delay(envelope) both anime-gsma-username-background;
129 @keyframes anime-gsma-username-background {
144 text-overflow: ellipsis;
152 min-block-size: rem(35);
153 margin-block-end: 1.5rem;
154 flex-flow: row nowrap;
155 align-items: stretch;
157 animation: duration(new-mail) easing(ease-out-back) delay(inbox_pause) both anime-gsma-auto-forward;
159 @keyframes anime-gsma-auto-forward {
176 animation: duration(forwarded) easing(ease-out-quad) delay(new-mail_pause) both anime-gsma-envelope;
178 @keyframes anime-gsma-envelope {
180 inset-inline-start: 0;
184 inset-inline-start: calc(100% - #{rem(55)});
189 inline-size: rem(55);
191 box-shadow: var(--shadow-norm);
192 animation: duration(forwarded) easing(ease-in-quart) delay(new-mail_pause) both anime-gsma-envelope-img;
194 @keyframes anime-gsma-envelope-img {
214 inset-block-start: -0.75rem;
215 inset-inline-end: -0.75rem;
220 justify-content: center;
223 background-color: var(--signal-danger);
224 color: var(--signal-danger-contrast);
226 animation: duration(forwarded) easing(ease-in-cubic) delay(new-mail_pause) both anime-gsma-envelope-count;
228 @keyframes anime-gsma-envelope-count {
230 inset-block-start: -0.75rem;
234 inset-block-start: calc(100% + 0.75rem);
243 padding-block: 0.5rem;
244 padding-inline: 1rem;
245 justify-content: center;
247 border-radius: var(--border-radius-md);
248 box-shadow: var(--shadow-norm);
249 background-color: var(--background-norm);
250 animation: duration(forwarded) easing(ease-out-quad) delay(new-mail_pause) both anime-gsma-new-email;
252 @keyframes anime-gsma-new-email {
254 inset-inline-start: 0;
263 inset-inline-start: calc(100% - 4.5rem);
271 inset-block-start: 0;
272 inset-inline-start: 0;
275 padding-block: 0.5rem;
276 padding-inline: 1rem;
277 justify-content: center;
279 border-radius: var(--border-radius-md);
280 box-shadow: var(--shadow-norm);
281 background-color: var(--background-norm);
282 animation: duration(forwarded) easing(ease-out-cubic) delay(new-mail_pause) both anime-gsma-forwarded;
284 @keyframes anime-gsma-forwarded {
286 translate: calc(-100% - 2rem) 0;
299 inline-size: rem(56);
302 margin-block-end: 1.5rem;
303 margin-inline-start: auto;
305 border-radius: var(--border-radius-lg);
306 box-shadow: var(--shadow-lifted);
307 background-color: var(--background-norm);
308 animation: duration(forwarded) easing(ease-out-quint) delay(new-mail_pause) both anime-gsma-proton;
310 @keyframes anime-gsma-proton {
331 margin-block-end: 1.5rem;
332 flex-flow: row nowrap;
333 justify-content: flex-end;
338 min-block-size: rem(50);
339 padding-block: 0.5rem;
340 padding-inline: 1rem;
341 flex-flow: row nowrap;
342 justify-content: stretch;
343 border-radius: var(--border-radius-md);
344 box-shadow: var(--shadow-norm);
345 animation: anime-gsma-rte-inner easing(ease-out-cubic) both;
347 @keyframes anime-gsma-rte-inner {
349 translate: 0 -1.5rem;
361 flex-flow: row nowrap;
362 justify-content: flex-start;
364 animation: anime-gsma-rte-inner-content easing(ease-out-cubic) both;
365 animation-duration: inherit;
366 animation-delay: inherit;
368 @keyframes anime-gsma-rte-inner-content {
370 translate: 0 -2.5rem;
383 margin-inline-end: 0.5rem;
385 animation: anime-gsma-icon-rotate easing(ease-out-cubic) both;
386 animation-duration: inherit;
387 animation-delay: inherit;
389 @keyframes anime-gsma-icon-rotate {
407 animation-duration: duration(received);
408 animation-delay: delay(forwarded_pause);
414 animation-duration: duration(trackers);
415 animation-delay: delay(received_pause);
419 animation-duration: duration(trackers);
420 animation-delay: #{delay(received_pause) + math.div(duration(trackers), 2)};
428 animation-duration: duration(encrypted);
429 animation-delay: delay(trackers_pause);
433 animation-duration: duration(encrypted);
434 animation-delay: #{delay(trackers_pause) + math.div(duration(encrypted), 2)};
438 // Class override only for reduce mode where everything is smaller
439 &.gsma--reduced-height {
444 .gsma-gmail-username-inbox {
445 margin-block-end: 1rem;
459 margin-block-end: 0.75rem;
467 min-block-size: rem(30);
468 padding-inline: 0.75rem;
469 padding-block: 0.375rem;
473 inline-size: rem(20);
480 animation: duration(forwarded) easing(ease-in-cubic) delay(new-mail_pause) both
481 anime-gsma-envelope-count-reduced;
483 @keyframes anime-gsma-envelope-count-reduced {
485 inset-block-start: -0.75rem;
489 inset-block-start: 1.5rem;
495 @include media('<=small') {
498 .gsma-gmail-username-inbox {
499 margin-block-end: 0.75rem;
502 max-inline-size: calc(100% - #{rem(40)});
505 inset-inline: #{rem(40) * -1} 0;
511 margin-block-start: 0.375rem;
512 animation: duration(forwarded) easing(ease-out-quad) delay(new-mail_pause) both anime-gsma-envelope-small;
514 @keyframes anime-gsma-envelope-small {
516 inset-inline-start: 0;
520 inset-inline-start: calc(100% - #{rem(48)});
525 inline-size: rem(45);
530 inset-block-start: -0.5rem;
531 inset-inline-end: -0.5rem;
534 animation: duration(forwarded) easing(ease-in-cubic) delay(new-mail_pause) both
535 anime-gsma-envelope-count-reduced-small;
537 @keyframes anime-gsma-envelope-count-reduced-small {
539 inset-block-start: -0.75rem;
543 inset-block-start: 1.375rem;
551 inline-size: rem(40);
559 margin-block-end: 0.5rem;
567 min-block-size: rem(28);
568 padding-inline: 0.5rem;
569 padding-block: 0.25rem;
573 inline-size: rem(16);