@ionic/core
Version:
Base components for Ionic
26 lines (25 loc) • 971 B
JavaScript
export function iosLeaveAnimation(AnimationC, baseEl, position) {
const baseAnimation = new AnimationC();
const wrapperAnimation = new AnimationC();
const hostEl = baseEl.host || baseEl;
const wrapperEl = baseEl.querySelector('.toast-wrapper');
wrapperAnimation.addElement(wrapperEl);
const bottom = `calc(-10px - var(--ion-safe-area-bottom, 0px))`;
const top = `calc(10px + var(--ion-safe-area-top, 0px))`;
switch (position) {
case 'top':
wrapperAnimation.fromTo('translateY', top, '-100%');
break;
case 'middle':
wrapperAnimation.fromTo('opacity', 0.99, 0);
break;
default:
wrapperAnimation.fromTo('translateY', bottom, '100%');
break;
}
return Promise.resolve(baseAnimation
.addElement(hostEl)
.easing('cubic-bezier(.36,.66,.04,1)')
.duration(300)
.add(wrapperAnimation));
}