@juleshry/vue-animejs 0.4.3 β 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -5
- package/dist/composables/use-animatable.d.ts +11 -2
- package/dist/composables/use-animatable.d.ts.map +1 -1
- package/dist/composables/use-animate.d.ts +3 -3
- package/dist/composables/use-animate.d.ts.map +1 -1
- package/dist/composables/use-draggable.d.ts +20 -2
- package/dist/composables/use-draggable.d.ts.map +1 -1
- package/dist/composables/use-layout.d.ts +11 -0
- package/dist/composables/use-layout.d.ts.map +1 -1
- package/dist/composables/use-raw-animate.d.ts +13 -6
- package/dist/composables/use-raw-animate.d.ts.map +1 -1
- package/dist/composables/use-scope.d.ts +14 -0
- package/dist/composables/use-scope.d.ts.map +1 -1
- package/dist/composables/use-svg.d.ts +6 -0
- package/dist/composables/use-svg.d.ts.map +1 -1
- package/dist/composables/use-text.d.ts +12 -0
- package/dist/composables/use-text.d.ts.map +1 -1
- package/dist/composables/use-timeline.d.ts +8 -7
- package/dist/composables/use-timeline.d.ts.map +1 -1
- package/dist/composables/use-timer.d.ts +18 -0
- package/dist/composables/use-timer.d.ts.map +1 -1
- package/dist/composables/use-waapi.d.ts +19 -0
- package/dist/composables/use-waapi.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +98 -101
- package/dist/index.js.map +1 -1
- package/dist/utils/resolve-target.d.ts +17 -0
- package/dist/utils/resolve-target.d.ts.map +1 -0
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<img src="./docs/src/public/icon.
|
|
2
|
+
<img src="./docs/src/public/icon-animated.svg" alt="vue-animejs" width="120" />
|
|
3
3
|
|
|
4
4
|
<h1 align="center">vue-animejs</h1>
|
|
5
5
|
<p align="center">Vue 3 composables for <a href="https://animejs.com/">Anime.js</a> v4 β reactive animations that integrate naturally with Vue's reactivity system and component lifecycle.</p>
|
|
6
|
+
<p align="center"><a href="https://vue-animejs.juleshry.dev">π Documentation</a></p>
|
|
7
|
+
<p align="center"><a href="https://app.netlify.com/projects/vue-animejs/deploys"><img src="https://api.netlify.com/api/v1/badges/8017f5b4-47b7-45e4-a5d6-269d638a71ab/deploy-status" alt="Netlify Status" /></a></p>
|
|
6
8
|
</div>
|
|
7
9
|
|
|
8
10
|
> [!WARNING]
|
|
@@ -295,10 +297,9 @@ See the [Contributing Guide](./CONTRIBUTING.md).
|
|
|
295
297
|
## πΊοΈ TODO
|
|
296
298
|
|
|
297
299
|
- [ ] Allow reactive refs inside option objects
|
|
298
|
-
- [ ]
|
|
299
|
-
- [ ]
|
|
300
|
-
- [ ] Deploy the docs website
|
|
300
|
+
- [ ] Finish doc website
|
|
301
|
+
- [ ] Add components and directives
|
|
301
302
|
|
|
302
303
|
## π License
|
|
303
304
|
|
|
304
|
-
[MIT](./LICENSE.md) Β© 2025-present [Jules Hery](https://github.com/juleshry)
|
|
305
|
+
[MIT](./LICENSE.md) Β© 2025-present [Jules Hery](https://github.com/juleshry)
|
|
@@ -1,8 +1,17 @@
|
|
|
1
|
-
import { type AnimatableObject, type AnimatableParams
|
|
1
|
+
import { type AnimatableObject, type AnimatableParams } from "animejs";
|
|
2
2
|
import { type DeepReadonly, type MaybeRef, type ShallowRef } from "vue";
|
|
3
|
+
import { type AnimationTargets } from "@src/utils/resolve-target.ts";
|
|
3
4
|
export interface UseAnimatableReturn {
|
|
5
|
+
/** The underlying Anime.js animatable instance. `undefined` until the target is available. */
|
|
4
6
|
animatable: DeepReadonly<ShallowRef<AnimatableObject | undefined>>;
|
|
7
|
+
/** Cancels the animatable and restores all animated properties to their original values. */
|
|
5
8
|
revert: () => AnimatableObject | undefined;
|
|
6
9
|
}
|
|
7
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Wraps Anime.js `createAnimatable()` into a Vue composable. Reactively re-creates the animatable when the target or options change, and reverts it automatically on unmount.
|
|
12
|
+
*
|
|
13
|
+
* @param targets - The element(s) to make animatable. Accepts a template ref, a CSS selector, a DOM element, or a reactive ref to any of these.
|
|
14
|
+
* @param options - Anime.js animatable parameters. Accepts a plain object or a reactive ref / computed. Defaults to `{}`.
|
|
15
|
+
*/
|
|
16
|
+
export declare function useAnimatable(targets: AnimationTargets, options?: MaybeRef<AnimatableParams>): UseAnimatableReturn;
|
|
8
17
|
//# sourceMappingURL=use-animatable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-animatable.d.ts","sourceRoot":"","sources":["../../src/composables/use-animatable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"use-animatable.d.ts","sourceRoot":"","sources":["../../src/composables/use-animatable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAuC,MAAM,SAAS,CAAA;AAC3G,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,QAAQ,EAEb,KAAK,UAAU,EAIhB,MAAM,KAAK,CAAA;AAEZ,OAAO,EAAE,KAAK,gBAAgB,EAAiB,MAAM,8BAA8B,CAAA;AAEnF,MAAM,WAAW,mBAAmB;IAClC,8FAA8F;IAC9F,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAA;IAClE,4FAA4F;IAC5F,MAAM,EAAE,MAAM,gBAAgB,GAAG,SAAS,CAAA;CAC3C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE,QAAQ,CAAC,gBAAgB,CAAM,GACvC,mBAAmB,CAkCrB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type DeepReadonly, type MaybeRef, type ShallowRef } from "vue";
|
|
2
|
-
import { type JSAnimation, type
|
|
3
|
-
import { type
|
|
2
|
+
import { type JSAnimation, type AnimationParams } from "animejs";
|
|
3
|
+
import { type AnimationTargets } from "@src/utils/resolve-target.ts";
|
|
4
4
|
export interface UseAnimateReturn {
|
|
5
5
|
/** The underlying Anime.js animation instance. `undefined` until the target is available. */
|
|
6
6
|
animation: DeepReadonly<ShallowRef<JSAnimation | undefined>>;
|
|
@@ -37,5 +37,5 @@ export interface UseAnimateReturn {
|
|
|
37
37
|
* @param _target - The element(s) to animate. Accepts a template ref, a CSS selector, a DOM element, or a reactive ref to any of these.
|
|
38
38
|
* @param _options - Anime.js animation parameters. Accepts a plain object or a reactive ref / computed. Defaults to `{}`.
|
|
39
39
|
*/
|
|
40
|
-
export declare function useAnimate(_target:
|
|
40
|
+
export declare function useAnimate(_target: AnimationTargets, _options?: MaybeRef<AnimationParams>): UseAnimateReturn;
|
|
41
41
|
//# sourceMappingURL=use-animate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-animate.d.ts","sourceRoot":"","sources":["../../src/composables/use-animate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAA6C,MAAM,KAAK,CAAA;AAClH,OAAO,EAAE,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"use-animate.d.ts","sourceRoot":"","sources":["../../src/composables/use-animate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAA6C,MAAM,KAAK,CAAA;AAClH,OAAO,EAAE,KAAK,WAAW,EAA8B,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAE5F,OAAO,EAAE,KAAK,gBAAgB,EAAiB,MAAM,8BAA8B,CAAA;AAEnF,MAAM,WAAW,gBAAgB;IAC/B,6FAA6F;IAC7F,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,CAAA;IAC5D,uCAAuC;IACvC,IAAI,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IACnC,mCAAmC;IACnC,OAAO,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IACtC,oDAAoD;IACpD,KAAK,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IACpC,iDAAiD;IACjD,OAAO,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IACtC,qDAAqD;IACrD,SAAS,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IACxC,mCAAmC;IACnC,MAAM,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IACrC,qDAAqD;IACrD,QAAQ,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IACvC,mEAAmE;IACnE,MAAM,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IACrC,2FAA2F;IAC3F,MAAM,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IACrC,gHAAgH;IAChH,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAA;IACvD,wCAAwC;IACxC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,KAAK,WAAW,GAAG,SAAS,CAAA;IACpH,sDAAsD;IACtD,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAA;IACzD,uEAAuE;IACvE,OAAO,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,GAAE,QAAQ,CAAC,eAAe,CAAM,GAAG,gBAAgB,CAgGhH"}
|
|
@@ -1,17 +1,35 @@
|
|
|
1
1
|
import { type DeepReadonly, type MaybeRef, type ShallowRef } from "vue";
|
|
2
|
-
import { type Draggable, type DraggableParams, type
|
|
2
|
+
import { type Draggable, type DraggableParams, type EasingParam } from "animejs";
|
|
3
|
+
import { type AnimationTargets } from "@src/utils/resolve-target.ts";
|
|
3
4
|
export interface UseDraggableReturn {
|
|
5
|
+
/** The underlying Anime.js draggable instance. `undefined` until the target is available. */
|
|
4
6
|
draggable: DeepReadonly<ShallowRef<Draggable | undefined>>;
|
|
7
|
+
/** Disables drag interactions without destroying the instance. */
|
|
5
8
|
disable: () => void;
|
|
9
|
+
/** Re-enables drag interactions after `disable()`. */
|
|
6
10
|
enable: () => void;
|
|
11
|
+
/** Moves the draggable to the given x position. Pass `true` to suppress the update callback. */
|
|
7
12
|
setX: (x: number, muteUpdateCallback?: boolean) => void;
|
|
13
|
+
/** Moves the draggable to the given y position. Pass `true` to suppress the update callback. */
|
|
8
14
|
setY: (y: number, muteUpdateCallback?: boolean) => void;
|
|
15
|
+
/** Animates the draggable into the visible viewport. */
|
|
9
16
|
animateInView: (duration?: number, gap?: number, ease?: EasingParam) => void;
|
|
17
|
+
/** Scrolls the draggable into the visible viewport. */
|
|
10
18
|
scrollInView: (duration?: number, gap?: number, ease?: EasingParam) => void;
|
|
19
|
+
/** Stops any in-progress snap or momentum animation. */
|
|
11
20
|
stop: () => void;
|
|
21
|
+
/** Resets the draggable position to its initial state. */
|
|
12
22
|
reset: () => void;
|
|
23
|
+
/** Cancels the draggable and restores the element to its original state. */
|
|
13
24
|
revert: () => void;
|
|
25
|
+
/** Re-reads the element's size and container bounds. */
|
|
14
26
|
refresh: () => void;
|
|
15
27
|
}
|
|
16
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Wraps Anime.js `createDraggable()` into a Vue composable. Reactively re-creates the draggable when the target or options change, and reverts it automatically on unmount.
|
|
30
|
+
*
|
|
31
|
+
* @param targets - The element(s) to make draggable. Accepts a template ref, a CSS selector, a DOM element, or a reactive ref to any of these.
|
|
32
|
+
* @param options - Anime.js draggable parameters. Accepts a plain object or a reactive ref / computed. Defaults to `{}`.
|
|
33
|
+
*/
|
|
34
|
+
export declare function useDraggable(targets: AnimationTargets, options?: MaybeRef<DraggableParams>): UseDraggableReturn;
|
|
17
35
|
//# sourceMappingURL=use-draggable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-draggable.d.ts","sourceRoot":"","sources":["../../src/composables/use-draggable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAS,KAAK,QAAQ,EAAY,KAAK,UAAU,EAA4B,MAAM,KAAK,CAAA;AAElH,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"use-draggable.d.ts","sourceRoot":"","sources":["../../src/composables/use-draggable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAS,KAAK,QAAQ,EAAY,KAAK,UAAU,EAA4B,MAAM,KAAK,CAAA;AAElH,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAAmB,KAAK,WAAW,EAAE,MAAM,SAAS,CAAA;AACjG,OAAO,EAAE,KAAK,gBAAgB,EAAiB,MAAM,8BAA8B,CAAA;AAEnF,MAAM,WAAW,kBAAkB;IACjC,6FAA6F;IAC7F,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAA;IAC1D,kEAAkE;IAClE,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,sDAAsD;IACtD,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,gGAAgG;IAChG,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IACvD,gGAAgG;IAChG,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IACvD,wDAAwD;IACxD,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,IAAI,CAAA;IAC5E,uDAAuD;IACvD,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,IAAI,CAAA;IAC3E,wDAAwD;IACxD,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,wDAAwD;IACxD,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,GAAE,QAAQ,CAAC,eAAe,CAAM,GAAG,kBAAkB,CA6EnH"}
|
|
@@ -2,11 +2,22 @@ import { type MaybeComputedElementRef } from "@vueuse/core";
|
|
|
2
2
|
import { type AutoLayout, type AutoLayoutParams, type DOMTargetSelector, type LayoutAnimationParams, type Timeline } from "animejs";
|
|
3
3
|
import { type DeepReadonly, type MaybeRef, type ShallowRef } from "vue";
|
|
4
4
|
export interface UseLayoutReturn {
|
|
5
|
+
/** The underlying Anime.js `AutoLayout` instance. `undefined` until the root element is available. */
|
|
5
6
|
layout: DeepReadonly<ShallowRef<AutoLayout | undefined>>;
|
|
7
|
+
/** Snapshots the current positions of all tracked children so the next layout change can be animated. */
|
|
6
8
|
record: () => void;
|
|
9
|
+
/** Animates all children from their recorded positions to their new positions. */
|
|
7
10
|
animate: (params?: LayoutAnimationParams) => Timeline | undefined;
|
|
11
|
+
/** Records, applies the callback (which triggers a layout change), then animates the transition. */
|
|
8
12
|
update: (callback: (layout: AutoLayout) => void, params?: LayoutAnimationParams) => void;
|
|
13
|
+
/** Cancels the layout watcher and restores all elements to their original state. */
|
|
9
14
|
revert: () => void;
|
|
10
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Wraps Anime.js `createLayout()` into a Vue composable. Reactively re-creates the layout observer when the root element or params change, and reverts it automatically on unmount.
|
|
18
|
+
*
|
|
19
|
+
* @param root - The container element whose children will be tracked. Accepts a template ref, a CSS selector, or a reactive ref to either.
|
|
20
|
+
* @param params - Anime.js auto-layout parameters. Accepts a plain object or a reactive ref / computed.
|
|
21
|
+
*/
|
|
11
22
|
export declare function useLayout(root: MaybeRef<DOMTargetSelector> | MaybeComputedElementRef, params: MaybeRef<AutoLayoutParams>): UseLayoutReturn;
|
|
12
23
|
//# sourceMappingURL=use-layout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-layout.d.ts","sourceRoot":"","sources":["../../src/composables/use-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,uBAAuB,
|
|
1
|
+
{"version":3,"file":"use-layout.d.ts","sourceRoot":"","sources":["../../src/composables/use-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,uBAAuB,EAAkB,MAAM,cAAc,CAAA;AAE3E,OAAO,EACL,KAAK,UAAU,EACf,KAAK,gBAAgB,EAErB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EACd,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,KAAK,YAAY,EAAS,KAAK,QAAQ,EAAY,KAAK,UAAU,EAA4B,MAAM,KAAK,CAAA;AAElH,MAAM,WAAW,eAAe;IAC9B,sGAAsG;IACtG,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAA;IACxD,yGAAyG;IACzG,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,kFAAkF;IAClF,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,qBAAqB,KAAK,QAAQ,GAAG,SAAS,CAAA;IACjE,oGAAoG;IACpG,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAA;IACxF,oFAAoF;IACpF,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,uBAAuB,EAC3D,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GACjC,eAAe,CAyCjB"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
import { AnimationParams,
|
|
2
|
-
import { MaybeRef } from "vue";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { type AnimationParams, type JSAnimation } from "animejs";
|
|
2
|
+
import { type MaybeRef } from "vue";
|
|
3
|
+
import { type AnimationTargets } from "@src/utils/resolve-target.ts";
|
|
4
|
+
/** The Anime.js `JSAnimation` instance returned by `useRawAnimate`. */
|
|
5
|
+
export type UseRawAnimateReturn = JSAnimation;
|
|
6
|
+
/**
|
|
7
|
+
* Thin wrapper around Anime.js `animate()`. Resolves the target (unwrapping refs and Vue component
|
|
8
|
+
* refs via `.$el`) and immediately starts the animation.
|
|
9
|
+
*
|
|
10
|
+
* @param _target - The element(s) to animate. Accepts a template ref, a Vue component ref, a CSS selector, a DOM element, or a reactive ref to any of these.
|
|
11
|
+
* @param _options - Anime.js animation parameters. Accepts a plain object or a reactive ref / computed. Defaults to `{}`.
|
|
12
|
+
*/
|
|
13
|
+
export declare function useRawAnimate(_target: AnimationTargets, _options?: MaybeRef<AnimationParams>): UseRawAnimateReturn;
|
|
7
14
|
//# sourceMappingURL=use-raw-animate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-raw-animate.d.ts","sourceRoot":"","sources":["../../src/composables/use-raw-animate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"use-raw-animate.d.ts","sourceRoot":"","sources":["../../src/composables/use-raw-animate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,EAAE,KAAK,QAAQ,EAAS,MAAM,KAAK,CAAA;AAC1C,OAAO,EAAE,KAAK,gBAAgB,EAAiB,MAAM,8BAA8B,CAAA;AAEnF,uEAAuE;AACvE,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAA;AAE7C;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,gBAAgB,EACzB,QAAQ,GAAE,QAAQ,CAAC,eAAe,CAAM,GACvC,mBAAmB,CAQrB"}
|
|
@@ -1,13 +1,27 @@
|
|
|
1
1
|
import { type Scope, type ScopeMethod, type ScopeParams, type Tickable } from "animejs";
|
|
2
2
|
import { type DeepReadonly, type MaybeRef, type ShallowRef } from "vue";
|
|
3
3
|
export interface UseScopeReturn {
|
|
4
|
+
/** The underlying Anime.js `Scope` instance. */
|
|
4
5
|
scope: DeepReadonly<ShallowRef<Scope>>;
|
|
6
|
+
/** Registers an anonymous method on the scope. Queued automatically if called before mount. */
|
|
5
7
|
add: (method: ScopeMethod) => void;
|
|
8
|
+
/** Registers a named method on the scope so it can be called via `scope.methods[name]()`. Queued automatically if called before mount. */
|
|
6
9
|
registerMethod: (methodName: string, method: ScopeMethod) => void;
|
|
10
|
+
/** Registers a method that runs exactly once on the scope. Queued automatically if called before mount. */
|
|
7
11
|
addOnce: (method: ScopeMethod) => void;
|
|
12
|
+
/** Keeps the time of another tickable (animation, timer) in sync with this scope. */
|
|
8
13
|
keepTime: (method: (scope: Scope) => Tickable) => void;
|
|
14
|
+
/** Cancels the scope and reverts all animations and tickables it owns. */
|
|
9
15
|
revert: () => void;
|
|
16
|
+
/** Re-reads default values and media-query breakpoints for the scope. */
|
|
10
17
|
refresh: () => void;
|
|
11
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Wraps Anime.js `createScope()` into a Vue composable. Reactively re-creates the scope when params change, replays all registered methods, and reverts it automatically on unmount.
|
|
21
|
+
*
|
|
22
|
+
* Methods added before mount are queued and replayed once the component is mounted.
|
|
23
|
+
*
|
|
24
|
+
* @param params - Anime.js scope parameters. Accepts a plain object or a reactive ref / computed.
|
|
25
|
+
*/
|
|
12
26
|
export declare function useScope(params: MaybeRef<ScopeParams>): UseScopeReturn;
|
|
13
27
|
//# sourceMappingURL=use-scope.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-scope.d.ts","sourceRoot":"","sources":["../../src/composables/use-scope.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AACpG,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,QAAQ,EAEb,KAAK,UAAU,EAIhB,MAAM,KAAK,CAAA;AAEZ,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IACtC,GAAG,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;IAClC,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;IACjE,OAAO,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;IACtC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,QAAQ,KAAK,IAAI,CAAA;IACtD,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,cAAc,CAyEtE"}
|
|
1
|
+
{"version":3,"file":"use-scope.d.ts","sourceRoot":"","sources":["../../src/composables/use-scope.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AACpG,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,QAAQ,EAEb,KAAK,UAAU,EAIhB,MAAM,KAAK,CAAA;AAEZ,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IACtC,+FAA+F;IAC/F,GAAG,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;IAClC,0IAA0I;IAC1I,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;IACjE,2GAA2G;IAC3G,OAAO,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;IACtC,qFAAqF;IACrF,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,QAAQ,KAAK,IAAI,CAAA;IACtD,0EAA0E;IAC1E,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,yEAAyE;IACzE,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,cAAc,CAyEtE"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { type TargetsParam } from "animejs";
|
|
2
2
|
import { type MaybeRef } from "vue";
|
|
3
3
|
export interface UseSvgReturn {
|
|
4
|
+
/** Returns an interpolated morph target value that transitions the current path to the given `path`. Accepts a reactive ref for the path. */
|
|
4
5
|
morphTo: (path: MaybeRef<TargetsParam>, precision?: MaybeRef<number>) => void;
|
|
6
|
+
/** Creates a drawable SVG element whose stroke can be animated with `strokeDashoffset`. `start` and `end` control the visible portion (0β1). */
|
|
5
7
|
createDrawable: (selector: MaybeRef<TargetsParam>, start?: MaybeRef<number>, end?: MaybeRef<number>) => void;
|
|
8
|
+
/** Creates a motion-path object from an SVG `<path>` that can be used as a `translateX` / `translateY` animation target. */
|
|
6
9
|
createMotionPath: (path: MaybeRef<TargetsParam>, offset?: MaybeRef<number>) => void;
|
|
7
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Exposes Anime.js SVG utilities (`svg.morphTo`, `svg.createDrawable`, `svg.createMotionPath`) as a Vue composable, automatically unwrapping reactive refs passed to each helper.
|
|
13
|
+
*/
|
|
8
14
|
export declare function useSvg(): UseSvgReturn;
|
|
9
15
|
//# sourceMappingURL=use-svg.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-svg.d.ts","sourceRoot":"","sources":["../../src/composables/use-svg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,KAAK,QAAQ,EAAS,MAAM,KAAK,CAAA;AAE1C,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IAC7E,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IAC5G,gBAAgB,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;CACpF;AAED,wBAAgB,MAAM,IAAI,YAAY,CAkBrC"}
|
|
1
|
+
{"version":3,"file":"use-svg.d.ts","sourceRoot":"","sources":["../../src/composables/use-svg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,KAAK,QAAQ,EAAS,MAAM,KAAK,CAAA;AAE1C,MAAM,WAAW,YAAY;IAC3B,6IAA6I;IAC7I,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IAC7E,gJAAgJ;IAChJ,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IAC5G,4HAA4H;IAC5H,gBAAgB,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;CACpF;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,YAAY,CAkBrC"}
|
|
@@ -2,12 +2,24 @@ import { type TextSplitter, type TextSplitterParams } from "animejs";
|
|
|
2
2
|
import { type MaybeComputedElementRef } from "@vueuse/core";
|
|
3
3
|
import { type ComputedRef, type DeepReadonly, type MaybeRef, type ShallowRef } from "vue";
|
|
4
4
|
export interface UseTextReturn {
|
|
5
|
+
/** The underlying Anime.js `TextSplitter` instance. `undefined` until the target is available. */
|
|
5
6
|
splitter: DeepReadonly<ShallowRef<TextSplitter | undefined>>;
|
|
7
|
+
/** Reactive array of `<span>` elements representing each line after splitting. */
|
|
6
8
|
lines: ComputedRef<HTMLElement[]>;
|
|
9
|
+
/** Reactive array of `<span>` elements representing each word after splitting. */
|
|
7
10
|
words: ComputedRef<HTMLElement[]>;
|
|
11
|
+
/** Reactive array of `<span>` elements representing each character after splitting. */
|
|
8
12
|
chars: ComputedRef<HTMLElement[]>;
|
|
13
|
+
/** Removes all split `<span>` wrappers and restores the original text content. */
|
|
9
14
|
revert: () => void;
|
|
15
|
+
/** Re-splits the text, updating `lines`, `words`, and `chars` to reflect any DOM or size changes. */
|
|
10
16
|
refresh: () => void;
|
|
11
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Wraps Anime.js `splitText()` into a Vue composable. Reactively re-splits the text when the target or params change, and reverts the DOM automatically on unmount.
|
|
20
|
+
*
|
|
21
|
+
* @param _target - The element(s) whose text content should be split. Accepts a template ref, a CSS selector, a DOM element, or a reactive ref to any of these.
|
|
22
|
+
* @param _params - Anime.js text-splitter parameters. Accepts a plain object or a reactive ref / computed.
|
|
23
|
+
*/
|
|
12
24
|
export declare function useText(_target: MaybeRef<HTMLElement | NodeList | string | HTMLElement[]> | MaybeComputedElementRef, _params?: MaybeRef<TextSplitterParams>): UseTextReturn;
|
|
13
25
|
//# sourceMappingURL=use-text.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-text.d.ts","sourceRoot":"","sources":["../../src/composables/use-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC/E,OAAO,EAAE,KAAK,uBAAuB,
|
|
1
|
+
{"version":3,"file":"use-text.d.ts","sourceRoot":"","sources":["../../src/composables/use-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC/E,OAAO,EAAE,KAAK,uBAAuB,EAAkB,MAAM,cAAc,CAAA;AAE3E,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,UAAU,EAChB,MAAM,KAAK,CAAA;AAEZ,MAAM,WAAW,aAAa;IAC5B,kGAAkG;IAClG,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,CAAA;IAC5D,kFAAkF;IAClF,KAAK,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAA;IACjC,kFAAkF;IAClF,KAAK,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAA;IACjC,uFAAuF;IACvF,KAAK,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAA;IACjC,kFAAkF;IAClF,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,qGAAqG;IACrG,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,OAAO,EAAE,QAAQ,CAAC,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,EAAE,CAAC,GAAG,uBAAuB,EAC5F,OAAO,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GACrC,aAAa,CA0Cf"}
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
import { type MaybeRef, type ShallowRef, type DeepReadonly } from "vue";
|
|
2
|
-
import { type AnimationParams, type Callback, type StaggerFunction, type
|
|
2
|
+
import { type AnimationParams, type Callback, type StaggerFunction, type Tickable, type Timeline, type TimelineParams, type TimelinePosition, type Timer } from "animejs";
|
|
3
|
+
import { type AnimationTargets } from "@src/utils/resolve-target.ts";
|
|
3
4
|
export type TimelineChain = Timeline & {
|
|
4
5
|
/** Adds an animation to the timeline and returns a chainable object. */
|
|
5
|
-
add: (targets:
|
|
6
|
+
add: (targets: AnimationTargets, params: AnimationParams, position?: TimelinePosition | StaggerFunction<number | string>) => TimelineChain;
|
|
6
7
|
/** Sets a property to a value at a point in the timeline without animating it, then returns a chainable object. */
|
|
7
|
-
set: (targets:
|
|
8
|
+
set: (targets: AnimationTargets, params: AnimationParams, position?: TimelinePosition) => TimelineChain;
|
|
8
9
|
/** Removes an animation target (or a specific property) from the timeline and returns a chainable object. */
|
|
9
|
-
remove: (targets:
|
|
10
|
+
remove: (targets: AnimationTargets, propertyName?: string) => TimelineChain;
|
|
10
11
|
};
|
|
11
12
|
export interface UseTimelineReturn {
|
|
12
13
|
/** The underlying Anime.js timeline instance. */
|
|
13
14
|
timeline: DeepReadonly<ShallowRef<Timeline>>;
|
|
14
15
|
/** Adds an animation to the timeline. Accepts a template ref or any valid Anime.js target. Returns a chainable object. */
|
|
15
|
-
add: (targets:
|
|
16
|
+
add: (targets: AnimationTargets, params: AnimationParams, position?: TimelinePosition | StaggerFunction<number | string>) => TimelineChain;
|
|
16
17
|
/** Sets a property to a value at a point in the timeline without animating it. Returns a chainable object. */
|
|
17
|
-
set: (targets:
|
|
18
|
+
set: (targets: AnimationTargets, params: AnimationParams, position?: TimelinePosition) => TimelineChain;
|
|
18
19
|
/** Removes an animation target (or a specific property) from the timeline. Returns a chainable object. */
|
|
19
|
-
remove: (targets:
|
|
20
|
+
remove: (targets: AnimationTargets, propertyName?: string) => TimelineChain;
|
|
20
21
|
/** Synchronises another tickable (animation, timer) into the timeline at the given position. */
|
|
21
22
|
sync: (synced?: Tickable, position?: TimelinePosition) => Timeline;
|
|
22
23
|
/** Adds a named label at a position so it can be referenced by `.add()` or `.seek()`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-timeline.d.ts","sourceRoot":"","sources":["../../src/composables/use-timeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAA4B,KAAK,YAAY,EAAY,MAAM,KAAK,CAAA;AAC3G,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,QAAQ,EAEb,KAAK,eAAe,EACpB,KAAK,
|
|
1
|
+
{"version":3,"file":"use-timeline.d.ts","sourceRoot":"","sources":["../../src/composables/use-timeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,37 @@
|
|
|
1
1
|
import { type Timer, type TimerParams } from "animejs";
|
|
2
2
|
import { type MaybeRef, type ShallowRef, type DeepReadonly } from "vue";
|
|
3
3
|
export interface UseTimerReturn {
|
|
4
|
+
/** The underlying Anime.js timer instance. */
|
|
4
5
|
timer: DeepReadonly<ShallowRef<Timer>>;
|
|
6
|
+
/** Starts or resumes the timer. */
|
|
5
7
|
play: () => Timer;
|
|
8
|
+
/** Reverses the timer's playback direction. */
|
|
6
9
|
reverse: () => Timer;
|
|
10
|
+
/** Pauses the timer at the current position. */
|
|
7
11
|
pause: () => Timer;
|
|
12
|
+
/** Restarts the timer from the beginning. */
|
|
8
13
|
restart: () => Timer;
|
|
14
|
+
/** Toggles between forward and reverse direction. */
|
|
9
15
|
alternate: () => Timer;
|
|
16
|
+
/** Resumes from a paused state. */
|
|
10
17
|
resume: () => Timer;
|
|
18
|
+
/** Jumps immediately to the end of the timer duration. */
|
|
11
19
|
complete: () => Timer;
|
|
20
|
+
/** Resets the timer to its initial state. Pass `true` for a soft reset that preserves the current cycle. */
|
|
12
21
|
reset: (softReset?: boolean) => Timer;
|
|
22
|
+
/** Stops the timer and removes it from the Anime.js engine. */
|
|
13
23
|
cancel: () => Timer;
|
|
24
|
+
/** Cancels the timer and restores any associated state to its original values. */
|
|
14
25
|
revert: () => Timer;
|
|
26
|
+
/** Seeks to a specific time (in ms). */
|
|
15
27
|
seek: (time: number, muteCallbacks?: boolean | number, internalRender?: boolean | number) => Timer;
|
|
28
|
+
/** Rescales the timer to a new total duration. */
|
|
16
29
|
stretch: (newDuration: number) => Timer;
|
|
17
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Wraps Anime.js `createTimer()` into a Vue composable. Reactively re-creates the timer when options change, and cancels it automatically on unmount.
|
|
33
|
+
*
|
|
34
|
+
* @param options - Anime.js timer parameters. Accepts a plain object or a reactive ref / computed. Defaults to `{}`.
|
|
35
|
+
*/
|
|
18
36
|
export declare function useTimer(options?: MaybeRef<TimerParams>): UseTimerReturn;
|
|
19
37
|
//# sourceMappingURL=use-timer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-timer.d.ts","sourceRoot":"","sources":["../../src/composables/use-timer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAA4B,KAAK,YAAY,EAAY,MAAM,KAAK,CAAA;AAG3G,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IACtC,IAAI,EAAE,MAAM,KAAK,CAAA;IACjB,OAAO,EAAE,MAAM,KAAK,CAAA;IACpB,KAAK,EAAE,MAAM,KAAK,CAAA;IAClB,OAAO,EAAE,MAAM,KAAK,CAAA;IACpB,SAAS,EAAE,MAAM,KAAK,CAAA;IACtB,MAAM,EAAE,MAAM,KAAK,CAAA;IACnB,QAAQ,EAAE,MAAM,KAAK,CAAA;IACrB,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,KAAK,CAAA;IACrC,MAAM,EAAE,MAAM,KAAK,CAAA;IACnB,MAAM,EAAE,MAAM,KAAK,CAAA;IACnB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,KAAK,KAAK,CAAA;IAClG,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,KAAK,CAAA;CACxC;AAED,wBAAgB,QAAQ,CAAC,OAAO,GAAE,QAAQ,CAAC,WAAW,CAAM,GAAG,cAAc,CAgF5E"}
|
|
1
|
+
{"version":3,"file":"use-timer.d.ts","sourceRoot":"","sources":["../../src/composables/use-timer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAA4B,KAAK,YAAY,EAAY,MAAM,KAAK,CAAA;AAG3G,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IACtC,mCAAmC;IACnC,IAAI,EAAE,MAAM,KAAK,CAAA;IACjB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,KAAK,CAAA;IACpB,gDAAgD;IAChD,KAAK,EAAE,MAAM,KAAK,CAAA;IAClB,6CAA6C;IAC7C,OAAO,EAAE,MAAM,KAAK,CAAA;IACpB,qDAAqD;IACrD,SAAS,EAAE,MAAM,KAAK,CAAA;IACtB,mCAAmC;IACnC,MAAM,EAAE,MAAM,KAAK,CAAA;IACnB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,KAAK,CAAA;IACrB,4GAA4G;IAC5G,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,KAAK,CAAA;IACrC,+DAA+D;IAC/D,MAAM,EAAE,MAAM,KAAK,CAAA;IACnB,kFAAkF;IAClF,MAAM,EAAE,MAAM,KAAK,CAAA;IACnB,wCAAwC;IACxC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,KAAK,KAAK,CAAA;IAClG,kDAAkD;IAClD,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,KAAK,CAAA;CACxC;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,OAAO,GAAE,QAAQ,CAAC,WAAW,CAAM,GAAG,cAAc,CAgF5E"}
|
|
@@ -2,19 +2,38 @@ import { type MaybeComputedElementRef } from "@vueuse/core";
|
|
|
2
2
|
import { type WAAPIAnimationParams, type DOMTargetsParam, type WAAPIAnimation, type EasingFunction } from "animejs";
|
|
3
3
|
import { DeepReadonly, type MaybeRef, ShallowRef } from "vue";
|
|
4
4
|
export interface UseWaapiReturn {
|
|
5
|
+
/** The underlying Anime.js WAAPI animation instance. `undefined` until the target is available. */
|
|
5
6
|
animation: DeepReadonly<ShallowRef<WAAPIAnimation | undefined>>;
|
|
7
|
+
/** Resumes from a paused state. */
|
|
6
8
|
resume: () => WAAPIAnimation | undefined;
|
|
9
|
+
/** Pauses the animation at the current position. */
|
|
7
10
|
pause: () => WAAPIAnimation | undefined;
|
|
11
|
+
/** Toggles between forward and reverse direction. */
|
|
8
12
|
alternate: () => WAAPIAnimation | undefined;
|
|
13
|
+
/** Starts or resumes the animation. */
|
|
9
14
|
play: () => WAAPIAnimation | undefined;
|
|
15
|
+
/** Reverses playback direction. */
|
|
10
16
|
reverse: () => WAAPIAnimation | undefined;
|
|
17
|
+
/** Seeks to a specific time (in ms). Accepts a reactive ref for the time value. */
|
|
11
18
|
seek: (time: MaybeRef<number>, muteCallbacks?: MaybeRef<boolean>) => WAAPIAnimation | undefined;
|
|
19
|
+
/** Restarts the animation from the beginning. */
|
|
12
20
|
restart: () => WAAPIAnimation | undefined;
|
|
21
|
+
/** Commits the current animated styles to the element's inline style, then cancels the animation. */
|
|
13
22
|
commitStyles: () => WAAPIAnimation | undefined;
|
|
23
|
+
/** Jumps immediately to the end of the animation. */
|
|
14
24
|
complete: () => WAAPIAnimation | undefined;
|
|
25
|
+
/** Stops the animation and removes it from the WAAPI engine. */
|
|
15
26
|
cancel: () => WAAPIAnimation | undefined;
|
|
27
|
+
/** Cancels the animation and restores all animated properties to their original values. */
|
|
16
28
|
revert: () => WAAPIAnimation | undefined;
|
|
29
|
+
/** Converts an Anime.js easing function to a CSS `cubic-bezier()` string usable by WAAPI. */
|
|
17
30
|
convertEase: (fn: MaybeRef<EasingFunction>, samples?: MaybeRef<number>) => string;
|
|
18
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Wraps Anime.js `waapi.animate()` into a Vue composable. Reactively re-creates the WAAPI animation when the target or options change, and stops it automatically on unmount.
|
|
34
|
+
*
|
|
35
|
+
* @param targets - The DOM element(s) to animate via WAAPI. Accepts a template ref, a CSS selector, a DOM element, or a reactive ref to any of these.
|
|
36
|
+
* @param options - Anime.js WAAPI animation parameters. Accepts a plain object or a reactive ref / computed. Defaults to `{}`.
|
|
37
|
+
*/
|
|
19
38
|
export declare function useWaapi(targets: MaybeRef<DOMTargetsParam> | MaybeComputedElementRef, options?: MaybeRef<WAAPIAnimationParams>): UseWaapiReturn;
|
|
20
39
|
//# sourceMappingURL=use-waapi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-waapi.d.ts","sourceRoot":"","sources":["../../src/composables/use-waapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,uBAAuB,
|
|
1
|
+
{"version":3,"file":"use-waapi.d.ts","sourceRoot":"","sources":["../../src/composables/use-waapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,uBAAuB,EAAkB,MAAM,cAAc,CAAA;AAE3E,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,eAAe,EAEpB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,YAAY,EAAS,KAAK,QAAQ,EAAY,UAAU,EAA4B,MAAM,KAAK,CAAA;AAExG,MAAM,WAAW,cAAc;IAC7B,mGAAmG;IACnG,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,CAAA;IAC/D,mCAAmC;IACnC,MAAM,EAAE,MAAM,cAAc,GAAG,SAAS,CAAA;IACxC,oDAAoD;IACpD,KAAK,EAAE,MAAM,cAAc,GAAG,SAAS,CAAA;IACvC,qDAAqD;IACrD,SAAS,EAAE,MAAM,cAAc,GAAG,SAAS,CAAA;IAC3C,uCAAuC;IACvC,IAAI,EAAE,MAAM,cAAc,GAAG,SAAS,CAAA;IACtC,mCAAmC;IACnC,OAAO,EAAE,MAAM,cAAc,GAAG,SAAS,CAAA;IACzC,mFAAmF;IACnF,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,cAAc,GAAG,SAAS,CAAA;IAC/F,iDAAiD;IACjD,OAAO,EAAE,MAAM,cAAc,GAAG,SAAS,CAAA;IACzC,qGAAqG;IACrG,YAAY,EAAE,MAAM,cAAc,GAAG,SAAS,CAAA;IAC9C,qDAAqD;IACrD,QAAQ,EAAE,MAAM,cAAc,GAAG,SAAS,CAAA;IAC1C,gEAAgE;IAChE,MAAM,EAAE,MAAM,cAAc,GAAG,SAAS,CAAA;IACxC,2FAA2F;IAC3F,MAAM,EAAE,MAAM,cAAc,GAAG,SAAS,CAAA;IACxC,6FAA6F;IAC7F,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAM,CAAA;CAClF;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,uBAAuB,EAC5D,OAAO,GAAE,QAAQ,CAAC,oBAAoB,CAAM,GAC3C,cAAc,CA2EhB"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`vue`),t=require(`animejs`),n=require(`@vueuse/core`);function r(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`vue`),t=require(`animejs`),n=require(`@vueuse/core`);function r(e){return(0,n.unrefElement)(e)}function i(i,a={}){let o=(0,e.shallowRef)(),{stop:s}=(0,e.watch)([()=>r(i),()=>(0,e.unref)(a)],([e,t])=>{c(e,t)},{flush:`post`,immediate:!(0,e.isRef)(i)});(0,n.tryOnUnmounted)(()=>{s(),g()});function c(e,n){if(_(),!e){console.warn(`Target element is null or undefined`),o.value=void 0;return}o.value=(0,t.animate)(e,n)}function l(){return o.value?.play()}function u(){return o.value?.reverse()}function d(){return o.value?.pause()}function f(){return o.value?.restart()}function p(){return o.value?.alternate()}function m(){return o.value?.resume()}function h(){return o.value?.complete()}function g(){return o.value?.cancel()}function _(){return o.value?.revert()}function v(e){return o.value?.reset(e)}function y(e,t,n){return o.value?.seek(e,t,n)}function b(e){return o.value?.stretch(e)}function x(){return o.value?.refresh()}return{animation:(0,e.readonly)(o),play:l,reverse:u,pause:d,restart:f,alternate:p,resume:m,complete:h,cancel:g,revert:_,reset:v,seek:y,stretch:b,refresh:x}}function a(n,i={}){let a=r(n);return a||console.warn(`Target is undefined`),(0,t.animate)(a,(0,e.unref)(i))}function o(r={}){let i=(0,e.shallowRef)((0,t.createTimer)((0,e.unref)(r))),{stop:a}=(0,e.watch)(()=>(0,e.unref)(r),e=>{m(),i.value=(0,t.createTimer)(e)},{deep:1});(0,n.tryOnUnmounted)(()=>{a(),m()});function o(){return i.value.play()}function s(){return i.value.reverse()}function c(){return i.value.pause()}function l(){return i.value.restart()}function u(){return i.value.alternate()}function d(){return i.value.resume()}function f(){return i.value.complete()}function p(e){return i.value.reset(e)}function m(){return i.value.cancel()}function h(){return i.value.revert()}function g(e,t,n){return i.value.seek(e,t,n)}function _(e){return i.value.stretch(e)}return{timer:(0,e.readonly)(i),play:o,reverse:s,pause:c,restart:l,alternate:u,resume:d,complete:f,reset:p,cancel:m,revert:h,seek:g,stretch:_}}function s(i={}){let a=!1,o=[],s=(0,e.shallowRef)((0,t.createTimeline)((0,e.unref)(i)));function c(){for(let e of o)e.type===`add`?s.value.add(r(e.targets),e.params,e.position):s.value.set(r(e.targets),e.params,e.position)}let{stop:l}=(0,e.watch)(()=>(0,e.unref)(i),e=>{E(),s.value=(0,t.createTimeline)(e),c()},{flush:`post`,deep:1});(0,n.tryOnMounted)(()=>{a=!0,c()}),(0,n.tryOnUnmounted)(()=>{l(),T()});function u(e,t,n){return o.push({type:`add`,targets:e,params:t,position:n}),a?{...s.value.add(r(e),t,n),add:u,set:d,remove:f}:{...s.value,add:u,set:d,remove:f}}function d(e,t,n){return o.push({type:`set`,targets:e,params:t,position:n}),a?{...s.value.set(r(e),t,n),add:u,set:d,remove:f}:{...s.value,add:u,set:d,remove:f}}function f(e,t){return a?{...s.value.remove(r(e),t),add:u,set:d,remove:f}:(console.warn(`Cannot remove from timeline before mount`),{...s.value,add:u,set:d,remove:f})}function p(e,t){return s.value.sync(e,t)}function m(e,t){return s.value.label(e,t)}function h(e,t){return s.value.call(e,t)}function g(e){return s.value.init(e)}function _(){return s.value.play()}function v(){return s.value.reverse()}function y(){return s.value.pause()}function b(){return s.value.restart()}function x(){return s.value.alternate()}function S(){return s.value.resume()}function C(){return s.value.complete()}function w(e){return s.value.reset(e)}function T(){return s.value.cancel()}function E(){return s.value.revert()}function D(e,t,n){return s.value.seek(e,t,n)}function O(e){return s.value.stretch(e)}function k(){return s.value.refresh()}return{timeline:(0,e.readonly)(s),add:u,set:d,sync:p,label:m,remove:f,call:h,init:g,play:_,reverse:v,pause:y,restart:b,alternate:x,resume:S,complete:C,reset:w,cancel:T,revert:E,seek:D,stretch:O,refresh:k}}function c(i,a={}){let o=(0,e.shallowRef)(),{stop:s}=(0,e.watch)((0,e.computed)(()=>({el:r(i),opt:(0,e.unref)(a)})),({el:e,opt:n})=>{if(c(),!e){console.warn(`Targets element is null or undefined`),o.value=void 0;return}o.value=(0,t.createAnimatable)(e,n)},{flush:`post`,immediate:!(0,e.isRef)(i)});(0,n.tryOnUnmounted)(()=>{s(),c()});function c(){return o.value?.revert()}return{animatable:(0,e.readonly)(o),revert:c}}function l(i,a={}){let o=(0,e.shallowRef)(),{stop:s}=(0,e.watch)([()=>r(i),()=>(0,e.unref)(a)],([e,n])=>{if(g(),!e){console.warn(`Targets element is null or undefined`),o.value=void 0;return}o.value=(0,t.createDraggable)(e,n)},{flush:`post`,immediate:!(0,e.isRef)(i)});(0,n.tryOnUnmounted)(()=>{g(),s()});function c(){return o.value?.disable()}function l(){return o.value?.enable()}function u(e,t){return o.value?.setX(e,t)}function d(e,t){return o.value?.setY(e,t)}function f(e,t,n){return o.value?.animateInView(e,t,n)}function p(e,t,n){return o.value?.scrollInView(e,t,n)}function m(){return o.value?.stop()}function h(){return o.value?.reset()}function g(){return o.value?.revert()}function _(){return o.value?.refresh()}return{draggable:(0,e.readonly)(o),disable:c,enable:l,setX:u,setY:d,animateInView:f,scrollInView:p,stop:m,reset:h,revert:g,refresh:_}}function u(i,a){let o=(0,e.shallowRef)(),{stop:s}=(0,e.watch)([()=>r(i),()=>(0,e.unref)(a)],([e,n])=>{if(d(),!e){console.warn(`Target element is null or undefined`),o.value=void 0;return}o.value=(0,t.createLayout)(e,n)},{flush:`post`,immediate:!(0,e.isRef)(i)});(0,n.tryOnUnmounted)(()=>{d(),s()});function c(){return o.value?.record()}function l(e){return o.value?.animate(e)}function u(e,t){return o.value?.update(e,t)}function d(){return o.value?.revert()}return{layout:(0,e.readonly)(o),record:c,animate:l,update:u,revert:d}}function d(){function n(n,r){return t.svg.morphTo((0,e.unref)(n),(0,e.unref)(r))}function r(n,r,i){return t.svg.createDrawable((0,e.unref)(n),(0,e.unref)(r),(0,e.unref)(i))}function i(n,r){return t.svg.createMotionPath((0,e.unref)(n),(0,e.unref)(r))}return{morphTo:n,createDrawable:r,createMotionPath:i}}function f(i,a){let o=(0,e.shallowRef)(),s=(0,e.computed)(()=>o.value?.lines??[]),c=(0,e.computed)(()=>o.value?.words??[]),l=(0,e.computed)(()=>o.value?.chars??[]),{stop:u}=(0,e.watch)([()=>r(i),()=>(0,e.unref)(a)],([e,n])=>{d(),o.value=void 0,e&&(o.value=(0,t.splitText)(e,n))},{flush:`post`,immediate:!(0,e.isRef)(i)});(0,n.tryOnUnmounted)(()=>{u(),o.value=void 0,d()});function d(){o.value?.revert()}function f(){o.value?.refresh()}return{splitter:(0,e.readonly)(o),lines:s,words:c,chars:l,revert:d,refresh:f}}function p(i,a={}){let o=(0,e.shallowRef)(),{stop:s}=(0,e.watch)([()=>r(i),()=>(0,e.unref)(a)],([e,n])=>{o.value=t.waapi.animate(e,n)},{flush:`post`,immediate:!(0,e.isRef)(i)});(0,n.tryOnUnmounted)(()=>{s()});function c(){return o.value?.resume()}function l(){return o.value?.pause()}function u(){return o.value?.alternate()}function d(){return o.value?.play()}function f(){return o.value?.reverse()}function p(t,n){return o.value?.seek((0,e.unref)(t),(0,e.unref)(n))}function h(){return o.value?.restart()}function g(){return o.value?.commitStyles()}function _(){return o.value?.complete()}function v(){return o.value?.cancel()}function y(){return o.value?.revert()}return{animation:(0,e.readonly)(o),resume:c,pause:l,alternate:u,play:d,reverse:f,seek:p,restart:h,commitStyles:g,complete:_,cancel:v,revert:y,convertEase:m}}function m(n,r=100){return t.waapi.convertEase((0,e.unref)(n),(0,e.unref)(r))}function h(r){let i=(0,e.shallowRef)((0,t.createScope)((0,e.unref)(r))),a=[],o=[],s=[],c=!1,l=(0,e.isRef)(r)?(0,e.watch)(r,e=>{i.value.revert(),i.value=(0,t.createScope)(e)},{flush:`post`}):void 0;(0,n.tryOnMounted)(()=>{c=!0;for(let e of a)i.value.add(e);for(let[e,t]of o)i.value.add(e,t);for(let e of s)i.value.addOnce(e);a.length=0,o.length=0,s.length=0}),(0,n.tryOnUnmounted)(()=>{i.value.revert(),l?.()});function u(e){return c?i.value.add(e):void a.push(e)}function d(e,t){return c?i.value.add(e,t):void o.push([e,t])}function f(e){return c?i.value.addOnce(e):void s.push(e)}function p(e){return i.value.keepTime(e)}function m(){return i.value.revert()}function h(){return i.value.refresh()}return{scope:(0,e.shallowReadonly)(i),add:u,registerMethod:d,addOnce:f,keepTime:p,revert:m,refresh:h}}exports.useAnimatable=c,exports.useAnimate=i,exports.useDraggable=l,exports.useLayout=u,exports.useRawAnimate=a,exports.useScope=h,exports.useSvg=d,exports.useText=f,exports.useTimeline=s,exports.useTimer=o,exports.useWaapi=p;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|