@ribajs/router
Version:
Routing extension for Riba.js inspired by Barba.js
32 lines • 2.4 kB
JavaScript
import { BaseTransition } from "./BaseTransition.js";
import { scrollToPosition } from "@ribajs/utils";
export class HideShowTransition extends BaseTransition {
action;
scrollToTop;
constructor(action = "replace", scrollToTop = true) {
super(action);
this.action = action;
this.scrollToTop = scrollToTop;
}
async start() {
if (!this.newContainerLoading) {
throw new Error("this.newContainerLoading is not set");
}
if (this.oldContainer) {
this.oldContainer.style.display = "none";
}
if (this.scrollToTop) {
await scrollToPosition(window, "start", "vertical", "smooth");
}
await this.newContainerLoading;
await this.finish();
if (this.oldContainer) {
this.oldContainer.style.display = "";
}
return;
}
async finish() {
return this.done();
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGlkZVNob3dUcmFuc2l0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL1RyYW5zaXRpb24vSGlkZVNob3dUcmFuc2l0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRakQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7SUFDMUMsTUFBTSxDQUF1QjtJQUU3QixXQUFXLENBQVU7SUFFL0IsWUFBWSxTQUErQixTQUFTLEVBQUUsV0FBVyxHQUFHLElBQUk7UUFDdEUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDM0MsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sZ0JBQWdCLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVELE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBRS9CLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRXBCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDdkMsQ0FBQztRQUVELE9BQU87SUFDVCxDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQU07UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztDQUNGIn0=