UNPKG

@ribajs/router

Version:

Routing extension for Riba.js inspired by Barba.js

34 lines 2.83 kB
import { BaseTransition } from "./BaseTransition.js"; import { scrollToPosition } from "@ribajs/utils"; export class FadeTransition extends BaseTransition { scrollToTop; durationMs = 200; constructor(scrollToTop = true) { super("replace"); this.scrollToTop = scrollToTop; } async start() { if (!this.newContainerLoading) { throw new Error("this.newContainerLoading is not set"); } if (this.oldContainer) { this.oldContainer.style.transition = `opacity ${this.durationMs}ms`; this.oldContainer.style.opacity = "0"; } if (this.scrollToTop) { await scrollToPosition(window, "start", "vertical", "smooth"); } const newContainer = await this.newContainerLoading; newContainer.style.opacity = "0"; newContainer.style.transition = `opacity ${this.durationMs}ms`; setTimeout(() => { this.finish(newContainer); }, this.durationMs); return; } async finish(newContainer) { newContainer.style.opacity = "1"; return this.done(); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmFkZVRyYW5zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvVHJhbnNpdGlvbi9GYWRlVHJhbnNpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUWpELE1BQU0sT0FBTyxjQUFlLFNBQVEsY0FBYztJQUN0QyxXQUFXLENBQVU7SUFDckIsVUFBVSxHQUFHLEdBQUcsQ0FBQztJQUUzQixZQUFZLFdBQVcsR0FBRyxJQUFJO1FBQzVCLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQUs7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFdBQVcsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDO1lBQ3BFLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDeEMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sZ0JBQWdCLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBRXBELFlBQVksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUNqQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxXQUFXLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQztRQUUvRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1QixDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXBCLE9BQU87SUFDVCxDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUF5QjtRQUMzQyxZQUFZLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztDQUNGIn0=