mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
* Add new keyframes proof of concept * update esm import * add base before and after methods, add tests * add base before and after hooks * update clean up methods, add tests * add web animations support, change to arrow functions * remove console logs * add from, to, fromTo, and other properties * add more tests, fix onFinish functionality, being testing with nav transitions * add progress methods, use force linear * run linter * Add playSync * integrate animations with framework components * onFinish now supports multiple callbacks * change const to let * testing reverse * add support for both animation utilities * bug fix * export createAnimation, a few tweaks * add base tests * fix issue with onFinish being called out of order. added tests * fix race conditions in tests * clean up * fix bug where onFinish not calling for empty elements array, update test * clean up * fix treeshaking, remove old comments * remove old tests * Add test for animationbuilder backwards compat * update typings for menu controller * mock web animations in tests * run build * fix type errors * sync with master * use requestAnimationFrame instead of writeTask * fix flaky tests, fix menu * fix ordering * update webdriver * fix wrong version * Revert "fix wrong version" This reverts commitbe91296e97. Revert chromedriver update * Revert "update webdriver" This reverts commite49bc9d76e. Revert chromedriver update * expose raw animation object, add tests * add stylesheet recycling * finalize before and after hook tests * a few styling changes * fix lint warnings * get rid of old code * Fix progressStep overflow bug * disable reuse stylesheet * small updates * fix old animation create * setStyleProperty helper * reuse keyframe styles * keyframes * fix css animation issue with display: none, add tests * add comment * fix issue with progress animations and css animations * clean up * clean up pt2 * fix tests * fix linter * add fill for overlays * fix swipe to go back * clean up css animations when done * fix edge cases with css animations * fix menu open and close * add reset function * clean up reset fn * Fix issue where animation always being reset * allow updating animations on the fly * add clear onfinish method * fix linter * add callback options, expand force direction * ensure opts is defined * fix css animations open and close for menus * remove test * add extra check * clean up * fix css anim bug swipe to go back * fix pause * setup alt animation to avoid flickering * clean up * reset flags on destroy * add ability to change duration on progressEnd * fix flicker on duration change for css animations * fix ios transition * remove unneeded recursion * increase durability of updating css animations on the fly * fix gesture anim * fix web anim as well. more work for cleanup * simplify progressEnd for css animations * fix swipe to go back race condition * clean up * Add todo * fix one more bug
46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
import { EventEmitter } from '@stencil/core';
|
|
import { HTMLStencilElement } from '@stencil/core/internal';
|
|
|
|
import { Animation, AnimationBuilder, IonicAnimation, Mode } from '../interface';
|
|
|
|
export interface OverlayEventDetail<T = any> {
|
|
data?: T;
|
|
role?: string;
|
|
}
|
|
|
|
export interface OverlayInterface {
|
|
mode: Mode;
|
|
el: HTMLElement;
|
|
animated: boolean;
|
|
keyboardClose: boolean;
|
|
overlayIndex: number;
|
|
presented: boolean;
|
|
animation?: Animation | IonicAnimation;
|
|
|
|
enterAnimation?: AnimationBuilder;
|
|
leaveAnimation?: AnimationBuilder;
|
|
|
|
didPresent: EventEmitter<void>;
|
|
willPresent: EventEmitter<void>;
|
|
willDismiss: EventEmitter<OverlayEventDetail>;
|
|
didDismiss: EventEmitter<OverlayEventDetail>;
|
|
|
|
present(): Promise<void>;
|
|
dismiss(data?: any, role?: string): Promise<boolean>;
|
|
}
|
|
|
|
export interface OverlayController {
|
|
create(opts?: any): Promise<HTMLElement>;
|
|
dismiss(data?: any, role?: string, id?: string): Promise<boolean>;
|
|
getTop(): Promise<HTMLIonOverlayElement | undefined>;
|
|
}
|
|
|
|
export interface HTMLIonOverlayElement extends HTMLStencilElement {
|
|
overlayIndex: number;
|
|
backdropDismiss?: boolean;
|
|
|
|
dismiss(data?: any, role?: string): Promise<boolean>;
|
|
}
|
|
|
|
export type OverlaySelect = HTMLIonActionSheetElement | HTMLIonAlertElement | HTMLIonPopoverElement;
|