UNPKG

@angular-mdl/core

Version:

Angular components, directives and styles based on material design lite https://getmdl.io.

44 lines 5.24 kB
export class NativeWebAnimationPlayer { constructor(element, keyframes, duration, easing) { this.element = element; this.keyframes = keyframes; this.duration = duration; this.easing = easing; this.onDoneCallback = []; } onDone(fn) { this.onDoneCallback.push(fn); } play() { const animation = this.element.animate(this.keyframes, { duration: this.duration, easing: this.easing, fill: "forwards", }); animation.addEventListener("finish", () => this.onDoneCallback.forEach((fn) => fn())); } } export class NoopAnimationPlayer { constructor() { this.onDoneCallback = []; } onDone(fn) { this.onDoneCallback.push(fn); } play() { this.onDoneCallback.forEach((fn) => fn()); } } export class Animations { } export class NativeWebAnimations { animate(element, keyframes, duration, easing) { return new NativeWebAnimationPlayer(element, keyframes, duration, easing); } } export class NoopWebAnimations { animate() { return new NoopAnimationPlayer(); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb21tb24vYW5pbWF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLE9BQU8sd0JBQXdCO0lBR25DLFlBQ1UsT0FBb0IsRUFDcEIsU0FBK0MsRUFDL0MsUUFBZ0IsRUFDaEIsTUFBYztRQUhkLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFDcEIsY0FBUyxHQUFULFNBQVMsQ0FBc0M7UUFDL0MsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTmhCLG1CQUFjLEdBQW1CLEVBQUUsQ0FBQztJQU96QyxDQUFDO0lBRUosTUFBTSxDQUFDLEVBQWM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUk7UUFDRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3JELFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsSUFBSSxFQUFFLFVBQVU7U0FDakIsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FDeEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQzFDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sbUJBQW1CO0lBQWhDO1FBQ1UsbUJBQWMsR0FBbUIsRUFBRSxDQUFDO0lBUzlDLENBQUM7SUFQQyxNQUFNLENBQUMsRUFBYztRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBZ0IsVUFBVTtDQU8vQjtBQUVELE1BQU0sT0FBTyxtQkFBbUI7SUFDdkIsT0FBTyxDQUNaLE9BQW9CLEVBQ3BCLFNBQStDLEVBQy9DLFFBQWdCLEVBQ2hCLE1BQWM7UUFFZCxPQUFPLElBQUksd0JBQXdCLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUUsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGlCQUFpQjtJQUNyQixPQUFPO1FBQ1osT0FBTyxJQUFJLG1CQUFtQixFQUFFLENBQUM7SUFDbkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBbmltYXRpb25QbGF5ZXIge1xuICBvbkRvbmUoZm46ICgpID0+IHZvaWQpOiB2b2lkO1xuXG4gIHBsYXkoKTogdm9pZDtcbn1cblxuZXhwb3J0IGNsYXNzIE5hdGl2ZVdlYkFuaW1hdGlvblBsYXllciBpbXBsZW1lbnRzIEFuaW1hdGlvblBsYXllciB7XG4gIHByaXZhdGUgb25Eb25lQ2FsbGJhY2s6ICgoKSA9PiB2b2lkKVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgICBwcml2YXRlIGtleWZyYW1lczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfVtdLFxuICAgIHByaXZhdGUgZHVyYXRpb246IG51bWJlcixcbiAgICBwcml2YXRlIGVhc2luZzogc3RyaW5nXG4gICkge31cblxuICBvbkRvbmUoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uRG9uZUNhbGxiYWNrLnB1c2goZm4pO1xuICB9XG5cbiAgcGxheSgpOiB2b2lkIHtcbiAgICBjb25zdCBhbmltYXRpb24gPSB0aGlzLmVsZW1lbnQuYW5pbWF0ZSh0aGlzLmtleWZyYW1lcywge1xuICAgICAgZHVyYXRpb246IHRoaXMuZHVyYXRpb24sXG4gICAgICBlYXNpbmc6IHRoaXMuZWFzaW5nLFxuICAgICAgZmlsbDogXCJmb3J3YXJkc1wiLFxuICAgIH0pO1xuXG4gICAgYW5pbWF0aW9uLmFkZEV2ZW50TGlzdGVuZXIoXCJmaW5pc2hcIiwgKCkgPT5cbiAgICAgIHRoaXMub25Eb25lQ2FsbGJhY2suZm9yRWFjaCgoZm4pID0+IGZuKCkpXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTm9vcEFuaW1hdGlvblBsYXllciBpbXBsZW1lbnRzIEFuaW1hdGlvblBsYXllciB7XG4gIHByaXZhdGUgb25Eb25lQ2FsbGJhY2s6ICgoKSA9PiB2b2lkKVtdID0gW107XG5cbiAgb25Eb25lKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkRvbmVDYWxsYmFjay5wdXNoKGZuKTtcbiAgfVxuXG4gIHBsYXkoKTogdm9pZCB7XG4gICAgdGhpcy5vbkRvbmVDYWxsYmFjay5mb3JFYWNoKChmbikgPT4gZm4oKSk7XG4gIH1cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFuaW1hdGlvbnMge1xuICBhYnN0cmFjdCBhbmltYXRlKFxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICAgIGtleWZyYW1lczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfVtdLFxuICAgIGR1cmF0aW9uOiBudW1iZXIsXG4gICAgZWFzaW5nOiBzdHJpbmdcbiAgKTogQW5pbWF0aW9uUGxheWVyO1xufVxuXG5leHBvcnQgY2xhc3MgTmF0aXZlV2ViQW5pbWF0aW9ucyBpbXBsZW1lbnRzIEFuaW1hdGlvbnMge1xuICBwdWJsaWMgYW5pbWF0ZShcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgICBrZXlmcmFtZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIH1bXSxcbiAgICBkdXJhdGlvbjogbnVtYmVyLFxuICAgIGVhc2luZzogc3RyaW5nXG4gICk6IEFuaW1hdGlvblBsYXllciB7XG4gICAgcmV0dXJuIG5ldyBOYXRpdmVXZWJBbmltYXRpb25QbGF5ZXIoZWxlbWVudCwga2V5ZnJhbWVzLCBkdXJhdGlvbiwgZWFzaW5nKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTm9vcFdlYkFuaW1hdGlvbnMgaW1wbGVtZW50cyBBbmltYXRpb25zIHtcbiAgcHVibGljIGFuaW1hdGUoKTogQW5pbWF0aW9uUGxheWVyIHtcbiAgICByZXR1cm4gbmV3IE5vb3BBbmltYXRpb25QbGF5ZXIoKTtcbiAgfVxufVxuIl19