summaryrefslogtreecommitdiff
path: root/node_modules/swup/src/modules/animatePageIn.ts
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2024-08-30 17:21:18 +0800
committerlittleblack111 <littleblack11111@gmail.com>2024-08-30 17:21:18 +0800
commitefbc2ffe6a1ee5ec38a4396305561d6515d0943e (patch)
tree2b4c94f18f2c792dfda813050755d5c0273fae22 /node_modules/swup/src/modules/animatePageIn.ts
parent43acceb75957c880a5ba5a31aae221394a36d5f6 (diff)
node fixes, updates
Diffstat (limited to 'node_modules/swup/src/modules/animatePageIn.ts')
-rwxr-xr-xnode_modules/swup/src/modules/animatePageIn.ts32
1 files changed, 32 insertions, 0 deletions
diff --git a/node_modules/swup/src/modules/animatePageIn.ts b/node_modules/swup/src/modules/animatePageIn.ts
new file mode 100755
index 00000000..fc384b73
--- /dev/null
+++ b/node_modules/swup/src/modules/animatePageIn.ts
@@ -0,0 +1,32 @@
+import type Swup from '../Swup.js';
+import { nextTick } from '../utils.js';
+import type { Visit } from './Visit.js';
+
+/**
+ * Perform the in/enter animation of the next page.
+ * @returns Promise<void>
+ */
+export const animatePageIn = async function (this: Swup, visit: Visit) {
+ // Check if failed/aborted in the meantime
+ if (visit.done) return;
+
+ const animation = this.hooks.call(
+ 'animation:in:await',
+ visit,
+ { skip: false },
+ (visit, { skip }) => {
+ if (skip) return;
+ return this.awaitAnimations({ selector: visit.animation.selector });
+ }
+ );
+
+ await nextTick();
+
+ await this.hooks.call('animation:in:start', visit, undefined, () => {
+ this.classes.remove('is-animating');
+ });
+
+ await animation;
+
+ await this.hooks.call('animation:in:end', visit, undefined);
+};