vevet 5.0.10 → 5.1.0

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.
Files changed (156) hide show
  1. package/README.md +18 -16
  2. package/lib/cdn/vevet.iife.min.js +9 -9
  3. package/lib/cjs/base/Module/index.js +2 -1
  4. package/lib/cjs/base/Module/index.js.map +1 -1
  5. package/lib/cjs/components/Canvas/index.js +1 -1
  6. package/lib/cjs/components/CanvasMedia/index.js +1 -1
  7. package/lib/cjs/components/Cursor/index.js +28 -13
  8. package/lib/cjs/components/Cursor/index.js.map +1 -1
  9. package/lib/cjs/components/InView/index.js +1 -1
  10. package/lib/cjs/components/Marquee/index.js +1 -1
  11. package/lib/cjs/components/Pointers/index.js +4 -1
  12. package/lib/cjs/components/Pointers/index.js.map +1 -1
  13. package/lib/cjs/components/Preloader/index.js +1 -1
  14. package/lib/cjs/components/ProgressPreloader/index.js +1 -1
  15. package/lib/cjs/components/Raf/index.js +1 -1
  16. package/lib/cjs/components/ScrollProgress/index.js +1 -1
  17. package/lib/cjs/components/Scrollbar/index.js +2 -1
  18. package/lib/cjs/components/Scrollbar/index.js.map +1 -1
  19. package/lib/cjs/components/Snap/Slide/index.js +1 -0
  20. package/lib/cjs/components/Snap/Slide/index.js.map +1 -1
  21. package/lib/cjs/components/Snap/Swipe/index.js +120 -23
  22. package/lib/cjs/components/Snap/Swipe/index.js.map +1 -1
  23. package/lib/cjs/components/Snap/Track/index.js +12 -1
  24. package/lib/cjs/components/Snap/Track/index.js.map +1 -1
  25. package/lib/cjs/components/Snap/Wheel/index.js +247 -54
  26. package/lib/cjs/components/Snap/Wheel/index.js.map +1 -1
  27. package/lib/cjs/components/Snap/index.js +98 -40
  28. package/lib/cjs/components/Snap/index.js.map +1 -1
  29. package/lib/cjs/components/SplitText/index.js +1 -1
  30. package/lib/cjs/components/Swipe/index.js +97 -47
  31. package/lib/cjs/components/Swipe/index.js.map +1 -1
  32. package/lib/cjs/components/Timeline/index.js +1 -1
  33. package/lib/cjs/internal/mergeWithNoUndefined.js +24 -0
  34. package/lib/cjs/internal/mergeWithNoUndefined.js.map +1 -0
  35. package/lib/cjs/manifest.json +1 -1
  36. package/lib/cjs/utils/common/toPixels.js +3 -0
  37. package/lib/cjs/utils/common/toPixels.js.map +1 -1
  38. package/lib/cjs/utils/listeners/onResize.js +1 -1
  39. package/lib/cjs/utils/listeners/onResize.js.map +1 -1
  40. package/lib/cjs/utils/math/clamp.js +3 -1
  41. package/lib/cjs/utils/math/clamp.js.map +1 -1
  42. package/lib/cjs/utils/math/inRange.js +4 -4
  43. package/lib/esm/base/Module/index.js +2 -1
  44. package/lib/esm/base/Module/index.js.map +1 -1
  45. package/lib/esm/components/Canvas/index.js +1 -1
  46. package/lib/esm/components/CanvasMedia/index.js +1 -1
  47. package/lib/esm/components/Cursor/index.js +28 -13
  48. package/lib/esm/components/Cursor/index.js.map +1 -1
  49. package/lib/esm/components/InView/index.js +1 -1
  50. package/lib/esm/components/Marquee/index.js +1 -1
  51. package/lib/esm/components/Pointers/index.js +4 -1
  52. package/lib/esm/components/Pointers/index.js.map +1 -1
  53. package/lib/esm/components/Preloader/index.js +1 -1
  54. package/lib/esm/components/ProgressPreloader/index.js +1 -1
  55. package/lib/esm/components/Raf/index.js +1 -1
  56. package/lib/esm/components/ScrollProgress/index.js +1 -1
  57. package/lib/esm/components/Scrollbar/index.js +2 -1
  58. package/lib/esm/components/Scrollbar/index.js.map +1 -1
  59. package/lib/esm/components/Snap/Slide/index.js +1 -0
  60. package/lib/esm/components/Snap/Slide/index.js.map +1 -1
  61. package/lib/esm/components/Snap/Swipe/index.js +104 -23
  62. package/lib/esm/components/Snap/Swipe/index.js.map +1 -1
  63. package/lib/esm/components/Snap/Track/index.js +12 -1
  64. package/lib/esm/components/Snap/Track/index.js.map +1 -1
  65. package/lib/esm/components/Snap/Wheel/index.js +224 -55
  66. package/lib/esm/components/Snap/Wheel/index.js.map +1 -1
  67. package/lib/esm/components/Snap/index.js +84 -29
  68. package/lib/esm/components/Snap/index.js.map +1 -1
  69. package/lib/esm/components/SplitText/index.js +1 -1
  70. package/lib/esm/components/Swipe/index.js +93 -43
  71. package/lib/esm/components/Swipe/index.js.map +1 -1
  72. package/lib/esm/components/Timeline/index.js +1 -1
  73. package/lib/esm/internal/mergeWithNoUndefined.js +10 -0
  74. package/lib/esm/internal/mergeWithNoUndefined.js.map +1 -0
  75. package/lib/esm/manifest.json +1 -1
  76. package/lib/esm/utils/common/toPixels.js +3 -0
  77. package/lib/esm/utils/common/toPixels.js.map +1 -1
  78. package/lib/esm/utils/listeners/onResize.js +1 -1
  79. package/lib/esm/utils/listeners/onResize.js.map +1 -1
  80. package/lib/esm/utils/math/clamp.js +3 -1
  81. package/lib/esm/utils/math/clamp.js.map +1 -1
  82. package/lib/esm/utils/math/inRange.js +4 -4
  83. package/lib/types/base/Module/index.d.ts.map +1 -1
  84. package/lib/types/components/Canvas/index.d.ts +1 -1
  85. package/lib/types/components/CanvasMedia/index.d.ts +1 -1
  86. package/lib/types/components/Cursor/index.d.ts +5 -1
  87. package/lib/types/components/Cursor/index.d.ts.map +1 -1
  88. package/lib/types/components/InView/index.d.ts +1 -1
  89. package/lib/types/components/Marquee/index.d.ts +1 -1
  90. package/lib/types/components/Pointers/index.d.ts +1 -1
  91. package/lib/types/components/Pointers/index.d.ts.map +1 -1
  92. package/lib/types/components/Preloader/index.d.ts +1 -1
  93. package/lib/types/components/ProgressPreloader/index.d.ts +1 -1
  94. package/lib/types/components/Raf/index.d.ts +1 -1
  95. package/lib/types/components/ScrollProgress/index.d.ts +1 -1
  96. package/lib/types/components/Scrollbar/index.d.ts +1 -1
  97. package/lib/types/components/Scrollbar/index.d.ts.map +1 -1
  98. package/lib/types/components/Snap/Slide/index.d.ts.map +1 -1
  99. package/lib/types/components/Snap/Swipe/index.d.ts +12 -1
  100. package/lib/types/components/Snap/Swipe/index.d.ts.map +1 -1
  101. package/lib/types/components/Snap/Swipe/types.d.ts +10 -0
  102. package/lib/types/components/Snap/Swipe/types.d.ts.map +1 -1
  103. package/lib/types/components/Snap/Track/index.d.ts +2 -0
  104. package/lib/types/components/Snap/Track/index.d.ts.map +1 -1
  105. package/lib/types/components/Snap/Wheel/index.d.ts +28 -6
  106. package/lib/types/components/Snap/Wheel/index.d.ts.map +1 -1
  107. package/lib/types/components/Snap/Wheel/types.d.ts +9 -3
  108. package/lib/types/components/Snap/Wheel/types.d.ts.map +1 -1
  109. package/lib/types/components/Snap/index.d.ts +12 -8
  110. package/lib/types/components/Snap/index.d.ts.map +1 -1
  111. package/lib/types/components/Snap/types.d.ts +19 -5
  112. package/lib/types/components/Snap/types.d.ts.map +1 -1
  113. package/lib/types/components/SplitText/index.d.ts +1 -1
  114. package/lib/types/components/Swipe/index.d.ts +3 -7
  115. package/lib/types/components/Swipe/index.d.ts.map +1 -1
  116. package/lib/types/components/Swipe/types.d.ts +16 -2
  117. package/lib/types/components/Swipe/types.d.ts.map +1 -1
  118. package/lib/types/components/Timeline/index.d.ts +1 -1
  119. package/lib/types/internal/mergeWithNoUndefined.d.ts +2 -0
  120. package/lib/types/internal/mergeWithNoUndefined.d.ts.map +1 -0
  121. package/lib/types/utils/common/toPixels.d.ts.map +1 -1
  122. package/lib/types/utils/listeners/onResize.d.ts +1 -0
  123. package/lib/types/utils/listeners/onResize.d.ts.map +1 -1
  124. package/lib/types/utils/math/clamp.d.ts.map +1 -1
  125. package/lib/types/utils/math/inRange.d.ts +4 -4
  126. package/package.json +1 -1
  127. package/src/base/Module/index.ts +8 -5
  128. package/src/components/Canvas/index.ts +1 -1
  129. package/src/components/CanvasMedia/index.ts +1 -1
  130. package/src/components/Cursor/index.ts +35 -15
  131. package/src/components/InView/index.ts +1 -1
  132. package/src/components/Marquee/index.ts +1 -1
  133. package/src/components/Pointers/index.ts +5 -1
  134. package/src/components/Preloader/index.ts +1 -1
  135. package/src/components/ProgressPreloader/index.ts +1 -1
  136. package/src/components/Raf/index.ts +1 -1
  137. package/src/components/ScrollProgress/index.ts +1 -1
  138. package/src/components/Scrollbar/index.ts +2 -1
  139. package/src/components/Snap/Slide/index.ts +1 -0
  140. package/src/components/Snap/Swipe/index.ts +138 -25
  141. package/src/components/Snap/Swipe/types.ts +12 -0
  142. package/src/components/Snap/Track/index.ts +15 -1
  143. package/src/components/Snap/Wheel/index.ts +291 -60
  144. package/src/components/Snap/Wheel/types.ts +10 -3
  145. package/src/components/Snap/index.ts +81 -39
  146. package/src/components/Snap/types.ts +24 -5
  147. package/src/components/SplitText/index.ts +1 -1
  148. package/src/components/Swipe/index.ts +123 -55
  149. package/src/components/Swipe/types.ts +20 -2
  150. package/src/components/Timeline/index.ts +1 -1
  151. package/src/internal/mergeWithNoUndefined.ts +20 -0
  152. package/src/manifest.json +1 -1
  153. package/src/utils/common/toPixels.ts +2 -0
  154. package/src/utils/listeners/onResize.ts +2 -1
  155. package/src/utils/math/clamp.ts +4 -1
  156. package/src/utils/math/inRange.ts +4 -4
@@ -1,6 +1,6 @@
1
1
  import { Module } from '../../base';
2
2
  import { Timeline } from '../Timeline';
3
- import { ISnapCallbacksMap, ISnapMagnet, ISnapMutableProps, ISnapNexPrevArg, ISnapStaticProps, ISnapToSlideArg } from './types';
3
+ import { ISnapCallbacksMap, ISnapMagnet, ISnapMutableProps, ISnapNexPrevArg, ISnapStaticProps, ISnapToSlideArg, ISnapTransitionArg } from './types';
4
4
  import { TRequiredProps } from '../../internal/requiredProps';
5
5
  import { Raf } from '../Raf';
6
6
  import { IOnResize } from '../../utils';
@@ -17,7 +17,7 @@ export * from './Slide';
17
17
  *
18
18
  * Please not that the class does not apply any styles to the slides, it only handles the logic.
19
19
  *
20
- * [Documentation](https://antonbobrov.github.io/vevet/docs/components/Snap)
20
+ * [Documentation](https://vevetjs.com/docs/Snap)
21
21
  *
22
22
  * @group Components
23
23
  */
@@ -80,12 +80,14 @@ export declare class Snap<CallbacksMap extends ISnapCallbacksMap = ISnapCallback
80
80
  get track(): SnapTrack;
81
81
  /** If transition in progress */
82
82
  get isTransitioning(): boolean;
83
+ /** If swipe in progress */
84
+ get isSwiping(): boolean;
83
85
  /** Reflow: update static values of slides */
84
86
  protected _reflow(): void;
85
87
  /** Handle RAF update, interpolate track values */
86
88
  protected _handleRaf(): void;
87
- /** Render slides logic */
88
- protected _render(frameDuration?: number): void;
89
+ /** Render slides */
90
+ render(frameDuration?: number): void;
89
91
  /** Update slides values */
90
92
  protected _updateSlidesCoords(): void;
91
93
  /** Get first slide size */
@@ -94,18 +96,20 @@ export declare class Snap<CallbacksMap extends ISnapCallbacksMap = ISnapCallback
94
96
  protected _updateSlidesProgress(): void;
95
97
  /** Get nearest magnet */
96
98
  protected get magnet(): ISnapMagnet | undefined;
99
+ /** Get nearest magnet to the current position */
100
+ getNearestMagnet(coord: number): ISnapMagnet | undefined;
97
101
  /** Cancel sticky behavior */
98
102
  cancelTransition(): void;
99
103
  /** Stick to the nearest magnet */
100
104
  stick(): void;
101
105
  /** Go to a definite coordinate */
102
- toCoord(coordinate: number, duration?: import("./types").TSnapDuration): boolean;
106
+ toCoord(coordinate: number, options?: ISnapTransitionArg): boolean;
103
107
  /** Go to a slide by index */
104
- toSlide(targetIndex: number, { direction, duration }?: ISnapToSlideArg): boolean;
108
+ toSlide(targetIndex: number, { direction, ...options }?: ISnapToSlideArg): boolean;
105
109
  /** Go to next slide */
106
- next({ duration, skip, }?: ISnapNexPrevArg): boolean;
110
+ next({ skip, ...options }?: ISnapNexPrevArg): boolean;
107
111
  /** Go to previous slide */
108
- prev({ duration, skip, }?: ISnapNexPrevArg): boolean;
112
+ prev({ skip, ...options }?: ISnapNexPrevArg): boolean;
109
113
  /**
110
114
  * Destroys the component and clears all timeouts and resources.
111
115
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Snap/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Snap/index.ts"],"names":[],"mappings":"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"}
@@ -53,10 +53,10 @@ export interface ISnapMutableProps extends IModuleMutableProps, ISnapWheelProps,
53
53
  */
54
54
  lerp?: number;
55
55
  /**
56
- * Disables `friction` and snapping to the nearest slide.
56
+ * Enables freemode, with or without sticky magnets.
57
57
  * @default false
58
58
  */
59
- freemode?: boolean;
59
+ freemode?: boolean | 'sticky';
60
60
  /**
61
61
  * Stick to the nearest slide on window resize
62
62
  * @default true
@@ -66,7 +66,7 @@ export interface ISnapMutableProps extends IModuleMutableProps, ISnapWheelProps,
66
66
  * Friction that makes the slides tend to the nearest slide magnet. The value is a number between 0 and 1
67
67
  * which is multiplied by the `lerp` value.
68
68
  * 0 disables friction
69
- * @default 0.15
69
+ * @default 0
70
70
  */
71
71
  friction?: number;
72
72
  /**
@@ -127,6 +127,14 @@ export interface ISnapCallbacksMap extends IModuleCallbacksMap {
127
127
  timelineUpdate: ITimelineProgressArg;
128
128
  /** Fired on timeline animation end */
129
129
  timelineEnd: undefined;
130
+ /** Fired on inertia start */
131
+ swipeInertiaStart: undefined;
132
+ /** Fired on inertia end */
133
+ swipeInertiaEnd: undefined;
134
+ /** Fired on inertia cancel */
135
+ swipeInertiaCancel: undefined;
136
+ /** Fired on inertia fail */
137
+ swipeInertiaFail: undefined;
130
138
  }
131
139
  export type TSnapDuration = number | ((distance: number) => number);
132
140
  export interface ISnapMagnet {
@@ -137,11 +145,17 @@ export interface ISnapMagnet {
137
145
  /** Difference with current coordinate */
138
146
  diff: number;
139
147
  }
140
- export interface ISnapNexPrevArg {
148
+ export interface ISnapTransitionArg {
141
149
  duration?: TSnapDuration;
150
+ easing?: TEasingType;
151
+ onStart?: () => void;
152
+ onUpdate?: (data: ITimelineProgressArg) => void;
153
+ onEnd?: () => void;
154
+ }
155
+ export interface ISnapNexPrevArg extends ISnapTransitionArg {
142
156
  skip?: number;
143
157
  }
144
- export interface ISnapToSlideArg {
158
+ export interface ISnapToSlideArg extends ISnapTransitionArg {
145
159
  direction?: 'next' | 'prev' | null;
146
160
  duration?: TSnapDuration;
147
161
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Snap/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Snap/types.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export * from './types';
15
15
  *
16
16
  * **Note**: Apply `fontKerning: none` to prevent layout shifts.
17
17
  *
18
- * [Documentation](https://antonbobrov.github.io/vevet/docs/components/SplitText)
18
+ * [Documentation](https://vevetjs.com/docs/SplitText)
19
19
  *
20
20
  * @group Components
21
21
  */
@@ -14,7 +14,7 @@ export * from './types';
14
14
  * - Does not transform elements, only computes coordinates.
15
15
  * - Does not persist state after swipe completion.
16
16
  *
17
- * [Documentation](https://antonbobrov.github.io/vevet/docs/components/Swipe)
17
+ * [Documentation](https://vevetjs.com/docs/Swipe)
18
18
  *
19
19
  * @group Components
20
20
  */
@@ -78,16 +78,12 @@ export declare class Swipe<CallbacksMap extends ISwipeCallbacksMap = ISwipeCallb
78
78
  protected _handleEnd(): void;
79
79
  /** Reset swipe states */
80
80
  protected _reset(): void;
81
+ /** Returns current velocity */
82
+ protected get velocity(): ISwipeMatrix;
81
83
  /** Apply inertia-based movement */
82
84
  protected _endWithInertia(): void;
83
85
  /** Destroy inertia animation */
84
86
  cancelInertia(): void;
85
- /** Returns current velocity */
86
- protected get velocity(): {
87
- x: number;
88
- y: number;
89
- angle: number;
90
- } | undefined;
91
87
  /** Start coordinate */
92
88
  get start(): ISwipeMatrix;
93
89
  /** Previous coordinate */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Swipe/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Swipe/index.ts"],"names":[],"mappings":"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"}
@@ -95,7 +95,7 @@ export interface ISwipeMutableProps extends IModuleMutableProps {
95
95
  inertia?: boolean;
96
96
  /**
97
97
  * Inertia duration.
98
- * @default `(distance) => clamp(distance, 350, 1000)`
98
+ * @default `(distance) => clamp(distance, 500, 2000)`
99
99
  */
100
100
  inertiaDuration?: (distance: number) => number;
101
101
  /**
@@ -103,11 +103,21 @@ export interface ISwipeMutableProps extends IModuleMutableProps {
103
103
  * @default EaseOutCubic
104
104
  */
105
105
  inertiaEasing?: TEasingType;
106
+ /**
107
+ * Final velocity modifier.
108
+ * @default false
109
+ */
110
+ velocityModifier?: false | ((velocity: ISwipeMatrix) => ISwipeMatrix);
106
111
  /**
107
112
  * Inertia strength.
108
- * @default 0.5
113
+ * @default 1
109
114
  */
110
115
  inertiaRatio?: number;
116
+ /**
117
+ * Minimum calculated distance to trigger inertia.
118
+ * @default 50
119
+ */
120
+ inertiaDistanceThreshold?: number;
111
121
  }
112
122
  export interface ISwipeCallbacksMap extends IModuleCallbacksMap {
113
123
  /** Swipe start event. */
@@ -140,6 +150,10 @@ export interface ISwipeCallbacksMap extends IModuleCallbacksMap {
140
150
  inertia: undefined;
141
151
  /** Triggered on inertia end. */
142
152
  inertiaEnd: undefined;
153
+ /** Triggered when inertia fails to start because of lack of momentum. */
154
+ inertiaFail: undefined;
155
+ /** Triggered when inertia is cancelled. */
156
+ inertiaCancel: undefined;
143
157
  }
144
158
  export interface ISwipeVec2 {
145
159
  x: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Swipe/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Swipe/types.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export * from './types';
6
6
  * A timeline class for managing animations with easing and precise progress control.
7
7
  * It provides methods for playing, reversing, pausing, and resetting the timeline.
8
8
  *
9
- * [Documentation](https://antonbobrov.github.io/vevet/docs/components/Timeline)
9
+ * [Documentation](https://vevetjs.com/docs/Timeline)
10
10
  *
11
11
  * @group Components
12
12
  */
@@ -0,0 +1,2 @@
1
+ export declare function mergeWithNoUndefined<S extends Record<string, any>, A extends Record<string, any>>(source: S, add: A): S & Record<keyof A, A[keyof A]>;
2
+ //# sourceMappingURL=mergeWithNoUndefined.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeWithNoUndefined.d.ts","sourceRoot":"","sources":["../../../src/internal/mergeWithNoUndefined.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAClC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,mCAgBlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"toPixels.d.ts","sourceRoot":"","sources":["../../../../src/utils/common/toPixels.ts"],"names":[],"mappings":"AAEA,KAAK,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,oBAAoB,EAAE,MAAM,CAAC;KAC9B;CACF;AAID;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,UA0C9C"}
1
+ {"version":3,"file":"toPixels.d.ts","sourceRoot":"","sources":["../../../../src/utils/common/toPixels.ts"],"names":[],"mappings":"AAEA,KAAK,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,oBAAoB,EAAE,MAAM,CAAC;KAC9B;CACF;AAID;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,UA4C9C"}
@@ -11,6 +11,7 @@ export interface IOnResizeProps {
11
11
  element?: Element | Element[] | null;
12
12
  /**
13
13
  * Target viewport property for resize events (enables viewport listeners).
14
+ * @default 'width'
14
15
  */
15
16
  viewportTarget?: keyof IViewportCallbacksMap;
16
17
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"onResize.d.ts","sourceRoot":"","sources":["../../../../src/utils/listeners/onResize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,MAAM,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,QAAQ,EAAE,iBAAiB,CAAC;IAE5B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;IAErC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,qBAAqB,CAAC;IAE7C;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB;;OAEG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,OAAO,EACP,cAAc,EACd,cAAkB,EAClB,IAAI,GACL,EAAE,cAAc,GAAG,SAAS,CAsD5B"}
1
+ {"version":3,"file":"onResize.d.ts","sourceRoot":"","sources":["../../../../src/utils/listeners/onResize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,MAAM,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,QAAQ,EAAE,iBAAiB,CAAC;IAE5B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;IAErC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,qBAAqB,CAAC;IAE7C;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB;;OAEG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,OAAO,EACP,cAAwB,EACxB,cAAkB,EAClB,IAAI,GACL,EAAE,cAAc,GAAG,SAAS,CAsD5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"clamp.d.ts","sourceRoot":"","sources":["../../../../src/utils/math/clamp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAI,EAAE,GAAG,SAAI,UAEpD"}
1
+ {"version":3,"file":"clamp.d.ts","sourceRoot":"","sources":["../../../../src/utils/math/clamp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAI,EAAE,GAAG,SAAI,UAKpD"}
@@ -9,16 +9,16 @@
9
9
  * @group Utils
10
10
  *
11
11
  * @example
12
- * inScope(0, 0, 1);
12
+ * inRange(0, 0, 1);
13
13
  * // => true (0 is within the range [0, 1])
14
14
  *
15
- * inScope(1, 0, 1);
15
+ * inRange(1, 0, 1);
16
16
  * // => true (1 is within the range [0, 1])
17
17
  *
18
- * inScope(2, 0, 1);
18
+ * inRange(2, 0, 1);
19
19
  * // => false (2 is outside the range [0, 1])
20
20
  *
21
- * inScope(-1, 0, 1);
21
+ * inRange(-1, 0, 1);
22
22
  * // => false (-1 is outside the range [0, 1])
23
23
  */
24
24
  export declare function inRange(value: number, min?: number, max?: number): boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vevet",
3
- "version": "5.0.10",
3
+ "version": "5.1.0",
4
4
  "description": "Vevet is a JavaScript library for creative development that simplifies crafting rich interactions like split text animations, carousels, marquees, preloading, and more.",
5
5
  "scripts": {
6
6
  "storybook": "storybook dev -p 6006",
@@ -5,6 +5,7 @@ import {
5
5
  IModuleMutableProps,
6
6
  IModuleStaticProps,
7
7
  } from './types';
8
+ import { mergeWithNoUndefined } from '@/internal/mergeWithNoUndefined';
8
9
 
9
10
  // todo: jsdoc
10
11
 
@@ -79,11 +80,13 @@ export class Module<
79
80
  constructor(props?: StaticProps & MutableProps) {
80
81
  this._callbacks = new Callbacks();
81
82
 
82
- this._props = {
83
- ...this._getStatic(),
84
- ...this._getMutable(),
85
- ...props,
86
- } as TRequiredProps<MutableProps & StaticProps>;
83
+ this._props = mergeWithNoUndefined(
84
+ {
85
+ ...this._getStatic(),
86
+ ...this._getMutable(),
87
+ },
88
+ { ...props },
89
+ ) as TRequiredProps<MutableProps & StaticProps>;
87
90
  }
88
91
 
89
92
  /**
@@ -14,7 +14,7 @@ export * from './types';
14
14
  /**
15
15
  * A class for managing an HTML5 Canvas element and its 2D context.
16
16
  *
17
- * [Documentation](https://antonbobrov.github.io/vevet/docs/components/Canvas)
17
+ * [Documentation](https://vevetjs.com/docs/Canvas)
18
18
  *
19
19
  * @group Components
20
20
  */
@@ -14,7 +14,7 @@ export * from './types';
14
14
  * The `CanvasMedia` class allows pre-rendering of media (such as images or video) onto a canvas.
15
15
  * This can be useful for reducing payloads by preparing the media for further use in a more optimized form.
16
16
  *
17
- * [Documentation](https://antonbobrov.github.io/vevet/docs/components/CanvasMedia)
17
+ * [Documentation](https://vevetjs.com/docs/CanvasMedia)
18
18
  *
19
19
  * @group Components
20
20
  */
@@ -20,7 +20,7 @@ export * from './types';
20
20
  * A customizable custom cursor component with smooth animations and hover interactions.
21
21
  * Supports dynamic appearance changes and enhanced user interaction.
22
22
  *
23
- * [Documentation](https://antonbobrov.github.io/vevet/docs/components/Cursor)
23
+ * [Documentation](https://vevetjs.com/docs/Cursor)
24
24
  *
25
25
  * @group Components
26
26
  */
@@ -377,24 +377,22 @@ export class Cursor<
377
377
  * @returns Returns a destructor
378
378
  */
379
379
  public attachElement(settings: ICursorHoveredElement, enterTimeout = 100) {
380
- const final: ICursorHoveredElement = {
380
+ const data: ICursorHoveredElement = {
381
381
  width: null,
382
382
  height: null,
383
383
  ...settings,
384
384
  };
385
385
 
386
- const { element } = final;
386
+ const { element } = data;
387
387
 
388
388
  let timeout: NodeJS.Timeout | undefined;
389
389
 
390
- const mouseEnter = addEventListener(element, 'mouseenter', () => {
391
- timeout = setTimeout(() => {
392
- this.hoveredElement = { ...final };
390
+ if (element.matches(':hover')) {
391
+ this._handleElementEnter(data);
392
+ }
393
393
 
394
- if (final.type) {
395
- this._toggleType(final.type, true);
396
- }
397
- }, enterTimeout);
394
+ const mouseEnter = addEventListener(element, 'mouseenter', () => {
395
+ timeout = setTimeout(() => this._handleElementEnter(data), enterTimeout);
398
396
  });
399
397
 
400
398
  const mouseLeave = addEventListener(element, 'mouseleave', () => {
@@ -402,11 +400,7 @@ export class Cursor<
402
400
  clearTimeout(timeout);
403
401
  }
404
402
 
405
- this.hoveredElement = undefined;
406
-
407
- if (final.type) {
408
- this._toggleType(final.type, false);
409
- }
403
+ this._handleElementLeave(data);
410
404
  });
411
405
 
412
406
  const remove = () => {
@@ -427,6 +421,32 @@ export class Cursor<
427
421
  return () => remove();
428
422
  }
429
423
 
424
+ /** Handle element enter */
425
+ protected _handleElementEnter(data: ICursorHoveredElement) {
426
+ this.hoveredElement = { ...data };
427
+
428
+ if (data.type) {
429
+ this._toggleType(data.type, true);
430
+ }
431
+
432
+ if (this.props.enabled) {
433
+ this._raf.play();
434
+ }
435
+ }
436
+
437
+ /** Handle element leave */
438
+ protected _handleElementLeave(data: ICursorHoveredElement) {
439
+ this.hoveredElement = undefined;
440
+
441
+ if (data.type) {
442
+ this._toggleType(data.type, false);
443
+ }
444
+
445
+ if (this.props.enabled) {
446
+ this._raf.play();
447
+ }
448
+ }
449
+
430
450
  /**
431
451
  * Registers a cursor type.
432
452
  */
@@ -15,7 +15,7 @@ export * from './types';
15
15
  * InView is a visibility detection utility that leverages the `IntersectionObserver` API to monitor when elements enter or leave the viewport.
16
16
  * It provides customizable options for triggering events, delaying visibility changes, and dynamically adding CSS classes to elements based on their visibility state.
17
17
  *
18
- * [Documentation](https://antonbobrov.github.io/vevet/docs/components/InView)
18
+ * [Documentation](https://vevetjs.com/docs/InView)
19
19
  *
20
20
  * @group Components
21
21
  */
@@ -19,7 +19,7 @@ export * from './types';
19
19
  * This component is designed to loop elements horizontally within a container,
20
20
  * with support for customization such as speed, gap, pause on hover, and more.
21
21
  *
22
- * [Documentation](https://antonbobrov.github.io/vevet/docs/components/Marquee)
22
+ * [Documentation](https://vevetjs.com/docs/Marquee)
23
23
  *
24
24
  * @group Components
25
25
  */
@@ -19,7 +19,7 @@ export * from './types';
19
19
  * For proper functionality, ensure the container has an appropriate
20
20
  * [touch-action](https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action) property.
21
21
  *
22
- * [Documentation](https://antonbobrov.github.io/vevet/docs/components/Pointers)
22
+ * [Documentation](https://vevetjs.com/docs/Pointers)
23
23
  *
24
24
  * @group Components
25
25
  */
@@ -259,6 +259,10 @@ export class Pointers<
259
259
  pointer.prev = { ...pointer.current };
260
260
  pointer.current = { x, y };
261
261
 
262
+ // Update diff
263
+ pointer.diff.x = pointer.current.x - pointer.start.x;
264
+ pointer.diff.y = pointer.current.y - pointer.start.y;
265
+
262
266
  // Update step
263
267
  pointer.step.x = pointer.current.x - pointer.prev.x;
264
268
  pointer.step.y = pointer.current.y - pointer.prev.y;
@@ -14,7 +14,7 @@ export * from './types';
14
14
  * Page preloader component that manages the visibility and lifecycle of a loading screen.
15
15
  * The module does not provide styling for the container.
16
16
  *
17
- * [Documentation](https://antonbobrov.github.io/vevet/docs/components/Preloader)
17
+ * [Documentation](https://vevetjs.com/docs/Preloader)
18
18
  *
19
19
  * @group Components
20
20
  */
@@ -22,7 +22,7 @@ const PAGE_RESOURCE = `vevet-page-${Math.random()}`;
22
22
  * Page preloader for calculating and displaying the loading progress of resources (images, videos, custom elements).
23
23
  * Provides smooth progress transitions.
24
24
  *
25
- * [Documentation](https://antonbobrov.github.io/vevet/docs/components/ProgressPreloader)
25
+ * [Documentation](https://vevetjs.com/docs/ProgressPreloader)
26
26
  *
27
27
  * @group Components
28
28
  */
@@ -7,7 +7,7 @@ export * from './types';
7
7
  /**
8
8
  * Manages an animation frame loop with configurable FPS and playback controls.
9
9
  *
10
- * [Documentation](https://antonbobrov.github.io/vevet/docs/components/Raf)
10
+ * [Documentation](https://vevetjs.com/docs/Raf)
11
11
  *
12
12
  * @group Components
13
13
  */
@@ -16,7 +16,7 @@ export * from './types';
16
16
  *
17
17
  * This component can be used for creating scroll-based animations such as parallax effects.
18
18
  *
19
- * [Documentation](https://antonbobrov.github.io/vevet/docs/components/ScrollProgress)
19
+ * [Documentation](https://vevetjs.com/docs/ScrollProgress)
20
20
  *
21
21
  * @group Components
22
22
  */
@@ -15,7 +15,7 @@ export * from './types';
15
15
  /**
16
16
  * A custom scrollbar component. Supports both `window` and `HTMLElement` containers.
17
17
  *
18
- * [Documentation](https://antonbobrov.github.io/vevet/docs/components/Scrollbar)
18
+ * [Documentation](https://vevetjs.com/docs/Scrollbar)
19
19
  *
20
20
  * @group Components
21
21
  */
@@ -288,6 +288,7 @@ export class Scrollbar<
288
288
 
289
289
  return onResize({
290
290
  element: [this.track, this.parent, this.scrollElement, ...children],
291
+ viewportTarget: 'width',
291
292
  resizeDebounce: this.props.resizeDebounce,
292
293
  callback: () => this.resize(),
293
294
  });
@@ -176,6 +176,7 @@ export class SnapSlide {
176
176
  if (this.element && this.sizeProp === 'auto') {
177
177
  this._onResize = onResize({
178
178
  element: this.element,
179
+ viewportTarget: 'width',
179
180
  callback: () => this.resize(),
180
181
  name: 'Snap Slide',
181
182
  });