@angular-mdl/core
Version:
Angular components, directives and styles based on material design lite https://getmdl.io.
44 lines • 5.24 kB
JavaScript
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