diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2024-08-30 17:21:18 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2024-08-30 17:21:18 +0800 |
| commit | efbc2ffe6a1ee5ec38a4396305561d6515d0943e (patch) | |
| tree | 2b4c94f18f2c792dfda813050755d5c0273fae22 /node_modules/swup/src/modules/animatePageOut.ts | |
| parent | 43acceb75957c880a5ba5a31aae221394a36d5f6 (diff) | |
node fixes, updates
Diffstat (limited to 'node_modules/swup/src/modules/animatePageOut.ts')
| -rwxr-xr-x | node_modules/swup/src/modules/animatePageOut.ts | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/node_modules/swup/src/modules/animatePageOut.ts b/node_modules/swup/src/modules/animatePageOut.ts new file mode 100755 index 00000000..d42bf57f --- /dev/null +++ b/node_modules/swup/src/modules/animatePageOut.ts @@ -0,0 +1,19 @@ +import type Swup from '../Swup.js'; +import type { Visit } from './Visit.js'; + +/** + * Perform the out/leave animation of the current page. + * @returns Promise<void> + */ +export const animatePageOut = async function (this: Swup, visit: Visit) { + await this.hooks.call('animation:out:start', visit, undefined, () => { + this.classes.add('is-changing', 'is-animating', 'is-leaving'); + }); + + await this.hooks.call('animation:out:await', visit, { skip: false }, (visit, { skip }) => { + if (skip) return; + return this.awaitAnimations({ selector: visit.animation.selector }); + }); + + await this.hooks.call('animation:out:end', visit, undefined); +}; |
