react-ui-animate 4.0.0-rc.4 → 4.0.0-rc.5
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/.idea/codeStyles/Project.xml +58 -58
- package/.idea/codeStyles/codeStyleConfig.xml +4 -4
- package/.idea/misc.xml +15 -0
- package/.idea/modules.xml +7 -7
- package/.idea/prettier.xml +7 -0
- package/.idea/react-ui-animate.iml +8 -8
- package/.idea/vcs.xml +5 -5
- package/LICENSE +21 -21
- package/README.md +209 -209
- package/dist/animation/helpers/index.d.ts +1 -0
- package/dist/animation/index.d.ts +1 -2
- package/dist/animation/interpolation/colors.d.ts +25 -0
- package/dist/animation/interpolation/index.d.ts +1 -0
- package/dist/animation/interpolation/interpolate.d.ts +11 -0
- package/dist/animation/interpolation/interpolateNumbers.d.ts +8 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +52 -52
- package/dist/animation/core/inerpolate.d.ts +0 -9
- package/dist/animation/interpolation.d.ts +0 -26
- /package/dist/animation/{animationType.d.ts → helpers/animationType.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -1,209 +1,209 @@
|
|
|
1
|
-
# React UI Animate
|
|
2
|
-
|
|
3
|
-
[](https://badge.fury.io/js/react-ui-animate)
|
|
4
|
-
|
|
5
|
-
> Create smooth animations and interactive gestures in React applications effortlessly.
|
|
6
|
-
|
|
7
|
-
### Install
|
|
8
|
-
|
|
9
|
-
You can install react-ui-animate via npm or yarn:
|
|
10
|
-
|
|
11
|
-
```sh
|
|
12
|
-
npm i react-ui-animate
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
```sh
|
|
16
|
-
yarn add react-ui-animate
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
### Getting Started
|
|
20
|
-
|
|
21
|
-
The `react-ui-animate` library provides a straightforward way to add animations and gestures to your React components. Here’s how you can get started quickly:
|
|
22
|
-
|
|
23
|
-
```javascript
|
|
24
|
-
import { animate, useValue } from 'react-ui-animate';
|
|
25
|
-
|
|
26
|
-
export default function () {
|
|
27
|
-
// Initialize an animated opacity value
|
|
28
|
-
const opacity = useValue(0);
|
|
29
|
-
|
|
30
|
-
return (
|
|
31
|
-
<div>
|
|
32
|
-
{/* animate.div component uses the animated opacity value */}
|
|
33
|
-
<animate.div
|
|
34
|
-
style={{
|
|
35
|
-
opacity: opacity.value, // using opacity with value property
|
|
36
|
-
width: 100,
|
|
37
|
-
padding: 20,
|
|
38
|
-
background: '#39F',
|
|
39
|
-
}}
|
|
40
|
-
>
|
|
41
|
-
ANIMATED
|
|
42
|
-
</animate.div>
|
|
43
|
-
|
|
44
|
-
{/* Clicking the button changes the opacity smoothly to 1 */}
|
|
45
|
-
<button onClick={() => (opacity.value = 1)}>Animate Me</button>
|
|
46
|
-
</div>
|
|
47
|
-
);
|
|
48
|
-
}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
In this example, clicking the "Animate Me" button smoothly changes the opacity of the animated block from 0 to 1.
|
|
52
|
-
|
|
53
|
-
### Key Features
|
|
54
|
-
|
|
55
|
-
#### `useValue()`
|
|
56
|
-
|
|
57
|
-
The `useValue()` hook is central to creating animations. It initializes an animated value and allows you to seamlessly update it to create dynamic effects.
|
|
58
|
-
|
|
59
|
-
```javascript
|
|
60
|
-
const opacity = useValue(0); // Start with opacity set to 0
|
|
61
|
-
|
|
62
|
-
// Use in style
|
|
63
|
-
style={{
|
|
64
|
-
opacity: opacity.value, // Access the animated opacity value
|
|
65
|
-
}}
|
|
66
|
-
|
|
67
|
-
// Update the value on user interaction
|
|
68
|
-
onClick={() => (opacity.value = 1)} // Changes the opacity to 1
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
#### `animate.div`
|
|
72
|
-
|
|
73
|
-
`animate.div` is a special component designed to work with `useValue()`. It simplifies animating elements by directly using animated values.
|
|
74
|
-
|
|
75
|
-
```javascript
|
|
76
|
-
const width = useValue(100); // Start with a width of 100
|
|
77
|
-
|
|
78
|
-
<animate.div
|
|
79
|
-
style={{
|
|
80
|
-
width: width.value,
|
|
81
|
-
height: 100,
|
|
82
|
-
backgroundColor: '#39f',
|
|
83
|
-
}}
|
|
84
|
-
/>;
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
#### `interpolate`
|
|
88
|
-
|
|
89
|
-
The `interpolate()` function is useful for mapping values from one range to another, enabling more complex animations.
|
|
90
|
-
|
|
91
|
-
```javascript
|
|
92
|
-
import { useValue, animate, interpolate } from 'react-ui-animate';
|
|
93
|
-
|
|
94
|
-
const width = useValue(100); // Start with a width of 100
|
|
95
|
-
|
|
96
|
-
<animate.div
|
|
97
|
-
style={{
|
|
98
|
-
width: width.value,
|
|
99
|
-
height: 100,
|
|
100
|
-
backgroundColor: interpolate(width.value, [100, 200], ['red', 'blue']),
|
|
101
|
-
}}
|
|
102
|
-
/>;
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
In this example, as the width changes from 100 to 200, the background color smoothly transitions from red to blue.
|
|
106
|
-
|
|
107
|
-
#### Dynamic Animations and Sequence Transitions
|
|
108
|
-
|
|
109
|
-
You can dynamically modify animation configurations by assigning values to an animated value using various animation functions.
|
|
110
|
-
|
|
111
|
-
To apply a spring animation and update the value to `10`:
|
|
112
|
-
|
|
113
|
-
```jsx
|
|
114
|
-
x.value = withSpring(10);
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
To apply a timing animation with a duration of 5000 milliseconds:
|
|
118
|
-
|
|
119
|
-
```jsx
|
|
120
|
-
x.value = withTiming(10, { duration: 5000 });
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
To create sequential transitions using the `withSequence` function with dynamic modifiers like `withSpring` and `withTiming`:
|
|
124
|
-
|
|
125
|
-
```jsx
|
|
126
|
-
x.value = withSequence([withSpring(50), withTiming(100), 200]);
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
To delay an animation using the withDelay function:
|
|
130
|
-
|
|
131
|
-
```jsx
|
|
132
|
-
x.value = withDelay(1000, withSpring(100));
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
In this example, a spring animation to `100` will be applied after a 1-second delay.
|
|
136
|
-
|
|
137
|
-
#### `useMount()`
|
|
138
|
-
|
|
139
|
-
The `useMount()` hook facilitates managing the mounting and unmounting of a component with animations.
|
|
140
|
-
|
|
141
|
-
```jsx
|
|
142
|
-
import { useMount } from 'react-ui-animate';
|
|
143
|
-
|
|
144
|
-
export default function App() {
|
|
145
|
-
const [visible, setVisible] = useState(false);
|
|
146
|
-
|
|
147
|
-
const open = useMount(visible, {
|
|
148
|
-
from: 0,
|
|
149
|
-
enter: 1,
|
|
150
|
-
exit: 0,
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
return open((animation, mounted) => mounted && <animate.div />);
|
|
154
|
-
}
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
In this example,
|
|
158
|
-
|
|
159
|
-
1. A state variable `visible` determines whether the component is visible.
|
|
160
|
-
2. The `useMount` hook takes `visible` as an argument and provides animation states for mounting and unmounting.
|
|
161
|
-
3. The `open` function, returned by `useMount`, is used to conditionally render `animate.div` based on the `mounted` boolean and apply the transition animation.
|
|
162
|
-
|
|
163
|
-
### Gestures
|
|
164
|
-
|
|
165
|
-
The `react-ui-animate` library also provides several hooks for handling different types of gestures:
|
|
166
|
-
|
|
167
|
-
1. `useDrag`: Handles drag gestures on elements.
|
|
168
|
-
2. `useMouseMove`: Handles mouse movements.
|
|
169
|
-
3. `useScroll`: Handles scrolling of the document.
|
|
170
|
-
4. `useWheel`: Handles wheel rotation gestures.
|
|
171
|
-
5. `useGesture`: Handles combinations of various gestures.
|
|
172
|
-
|
|
173
|
-
**Example**: `useDrag`
|
|
174
|
-
|
|
175
|
-
Here’s an example of using the useDrag hook to enable drag gestures:
|
|
176
|
-
|
|
177
|
-
```jsx
|
|
178
|
-
import { useValue, animate, useDrag } from 'react-ui-animate';
|
|
179
|
-
|
|
180
|
-
export const Draggable = () => {
|
|
181
|
-
const translateX = useValue(0);
|
|
182
|
-
|
|
183
|
-
const bind = useDrag(function ({ down, movementX }) {
|
|
184
|
-
translateX.value = down ? movementX : 0;
|
|
185
|
-
});
|
|
186
|
-
|
|
187
|
-
return (
|
|
188
|
-
<animate.div
|
|
189
|
-
{...bind()}
|
|
190
|
-
style={{
|
|
191
|
-
width: 100,
|
|
192
|
-
height: 100,
|
|
193
|
-
backgroundColor: '#3399ff',
|
|
194
|
-
translateX: translateX.value, // Use translateX with animated value
|
|
195
|
-
}}
|
|
196
|
-
/>
|
|
197
|
-
);
|
|
198
|
-
};
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
In this example, the blue block can be dragged horizontally by clicking and dragging.
|
|
202
|
-
|
|
203
|
-
## Documentation
|
|
204
|
-
|
|
205
|
-
For detailed documentation and examples, visit the official [react-ui-animate documentation](http://react-ui-animate.js.org/).
|
|
206
|
-
|
|
207
|
-
## License
|
|
208
|
-
|
|
209
|
-
This library is licensed under the MIT License.
|
|
1
|
+
# React UI Animate
|
|
2
|
+
|
|
3
|
+
[](https://badge.fury.io/js/react-ui-animate)
|
|
4
|
+
|
|
5
|
+
> Create smooth animations and interactive gestures in React applications effortlessly.
|
|
6
|
+
|
|
7
|
+
### Install
|
|
8
|
+
|
|
9
|
+
You can install react-ui-animate via npm or yarn:
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
npm i react-ui-animate
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
yarn add react-ui-animate
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Getting Started
|
|
20
|
+
|
|
21
|
+
The `react-ui-animate` library provides a straightforward way to add animations and gestures to your React components. Here’s how you can get started quickly:
|
|
22
|
+
|
|
23
|
+
```javascript
|
|
24
|
+
import { animate, useValue } from 'react-ui-animate';
|
|
25
|
+
|
|
26
|
+
export default function () {
|
|
27
|
+
// Initialize an animated opacity value
|
|
28
|
+
const opacity = useValue(0);
|
|
29
|
+
|
|
30
|
+
return (
|
|
31
|
+
<div>
|
|
32
|
+
{/* animate.div component uses the animated opacity value */}
|
|
33
|
+
<animate.div
|
|
34
|
+
style={{
|
|
35
|
+
opacity: opacity.value, // using opacity with value property
|
|
36
|
+
width: 100,
|
|
37
|
+
padding: 20,
|
|
38
|
+
background: '#39F',
|
|
39
|
+
}}
|
|
40
|
+
>
|
|
41
|
+
ANIMATED
|
|
42
|
+
</animate.div>
|
|
43
|
+
|
|
44
|
+
{/* Clicking the button changes the opacity smoothly to 1 */}
|
|
45
|
+
<button onClick={() => (opacity.value = 1)}>Animate Me</button>
|
|
46
|
+
</div>
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
In this example, clicking the "Animate Me" button smoothly changes the opacity of the animated block from 0 to 1.
|
|
52
|
+
|
|
53
|
+
### Key Features
|
|
54
|
+
|
|
55
|
+
#### `useValue()`
|
|
56
|
+
|
|
57
|
+
The `useValue()` hook is central to creating animations. It initializes an animated value and allows you to seamlessly update it to create dynamic effects.
|
|
58
|
+
|
|
59
|
+
```javascript
|
|
60
|
+
const opacity = useValue(0); // Start with opacity set to 0
|
|
61
|
+
|
|
62
|
+
// Use in style
|
|
63
|
+
style={{
|
|
64
|
+
opacity: opacity.value, // Access the animated opacity value
|
|
65
|
+
}}
|
|
66
|
+
|
|
67
|
+
// Update the value on user interaction
|
|
68
|
+
onClick={() => (opacity.value = 1)} // Changes the opacity to 1
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
#### `animate.div`
|
|
72
|
+
|
|
73
|
+
`animate.div` is a special component designed to work with `useValue()`. It simplifies animating elements by directly using animated values.
|
|
74
|
+
|
|
75
|
+
```javascript
|
|
76
|
+
const width = useValue(100); // Start with a width of 100
|
|
77
|
+
|
|
78
|
+
<animate.div
|
|
79
|
+
style={{
|
|
80
|
+
width: width.value,
|
|
81
|
+
height: 100,
|
|
82
|
+
backgroundColor: '#39f',
|
|
83
|
+
}}
|
|
84
|
+
/>;
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
#### `interpolate`
|
|
88
|
+
|
|
89
|
+
The `interpolate()` function is useful for mapping values from one range to another, enabling more complex animations.
|
|
90
|
+
|
|
91
|
+
```javascript
|
|
92
|
+
import { useValue, animate, interpolate } from 'react-ui-animate';
|
|
93
|
+
|
|
94
|
+
const width = useValue(100); // Start with a width of 100
|
|
95
|
+
|
|
96
|
+
<animate.div
|
|
97
|
+
style={{
|
|
98
|
+
width: width.value,
|
|
99
|
+
height: 100,
|
|
100
|
+
backgroundColor: interpolate(width.value, [100, 200], ['red', 'blue']),
|
|
101
|
+
}}
|
|
102
|
+
/>;
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
In this example, as the width changes from 100 to 200, the background color smoothly transitions from red to blue.
|
|
106
|
+
|
|
107
|
+
#### Dynamic Animations and Sequence Transitions
|
|
108
|
+
|
|
109
|
+
You can dynamically modify animation configurations by assigning values to an animated value using various animation functions.
|
|
110
|
+
|
|
111
|
+
To apply a spring animation and update the value to `10`:
|
|
112
|
+
|
|
113
|
+
```jsx
|
|
114
|
+
x.value = withSpring(10);
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
To apply a timing animation with a duration of 5000 milliseconds:
|
|
118
|
+
|
|
119
|
+
```jsx
|
|
120
|
+
x.value = withTiming(10, { duration: 5000 });
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
To create sequential transitions using the `withSequence` function with dynamic modifiers like `withSpring` and `withTiming`:
|
|
124
|
+
|
|
125
|
+
```jsx
|
|
126
|
+
x.value = withSequence([withSpring(50), withTiming(100), 200]);
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
To delay an animation using the withDelay function:
|
|
130
|
+
|
|
131
|
+
```jsx
|
|
132
|
+
x.value = withDelay(1000, withSpring(100));
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
In this example, a spring animation to `100` will be applied after a 1-second delay.
|
|
136
|
+
|
|
137
|
+
#### `useMount()`
|
|
138
|
+
|
|
139
|
+
The `useMount()` hook facilitates managing the mounting and unmounting of a component with animations.
|
|
140
|
+
|
|
141
|
+
```jsx
|
|
142
|
+
import { useMount } from 'react-ui-animate';
|
|
143
|
+
|
|
144
|
+
export default function App() {
|
|
145
|
+
const [visible, setVisible] = useState(false);
|
|
146
|
+
|
|
147
|
+
const open = useMount(visible, {
|
|
148
|
+
from: 0,
|
|
149
|
+
enter: 1,
|
|
150
|
+
exit: 0,
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
return open((animation, mounted) => mounted && <animate.div />);
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
In this example,
|
|
158
|
+
|
|
159
|
+
1. A state variable `visible` determines whether the component is visible.
|
|
160
|
+
2. The `useMount` hook takes `visible` as an argument and provides animation states for mounting and unmounting.
|
|
161
|
+
3. The `open` function, returned by `useMount`, is used to conditionally render `animate.div` based on the `mounted` boolean and apply the transition animation.
|
|
162
|
+
|
|
163
|
+
### Gestures
|
|
164
|
+
|
|
165
|
+
The `react-ui-animate` library also provides several hooks for handling different types of gestures:
|
|
166
|
+
|
|
167
|
+
1. `useDrag`: Handles drag gestures on elements.
|
|
168
|
+
2. `useMouseMove`: Handles mouse movements.
|
|
169
|
+
3. `useScroll`: Handles scrolling of the document.
|
|
170
|
+
4. `useWheel`: Handles wheel rotation gestures.
|
|
171
|
+
5. `useGesture`: Handles combinations of various gestures.
|
|
172
|
+
|
|
173
|
+
**Example**: `useDrag`
|
|
174
|
+
|
|
175
|
+
Here’s an example of using the useDrag hook to enable drag gestures:
|
|
176
|
+
|
|
177
|
+
```jsx
|
|
178
|
+
import { useValue, animate, useDrag } from 'react-ui-animate';
|
|
179
|
+
|
|
180
|
+
export const Draggable = () => {
|
|
181
|
+
const translateX = useValue(0);
|
|
182
|
+
|
|
183
|
+
const bind = useDrag(function ({ down, movementX }) {
|
|
184
|
+
translateX.value = down ? movementX : 0;
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
return (
|
|
188
|
+
<animate.div
|
|
189
|
+
{...bind()}
|
|
190
|
+
style={{
|
|
191
|
+
width: 100,
|
|
192
|
+
height: 100,
|
|
193
|
+
backgroundColor: '#3399ff',
|
|
194
|
+
translateX: translateX.value, // Use translateX with animated value
|
|
195
|
+
}}
|
|
196
|
+
/>
|
|
197
|
+
);
|
|
198
|
+
};
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
In this example, the blue block can be dragged horizontally by clicking and dragging.
|
|
202
|
+
|
|
203
|
+
## Documentation
|
|
204
|
+
|
|
205
|
+
For detailed documentation and examples, visit the official [react-ui-animate documentation](http://react-ui-animate.js.org/).
|
|
206
|
+
|
|
207
|
+
## License
|
|
208
|
+
|
|
209
|
+
This library is licensed under the MIT License.
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export { interpolate, bInterpolate } from './interpolation';
|
|
2
2
|
export { MountedBlock, ScrollableBlock, TransitionBlock } from './modules';
|
|
3
3
|
export { useValue, useValues, useMount, type UseValueConfig, type UseMountConfig, } from './hooks';
|
|
4
|
-
export { AnimationConfig } from './animationType';
|
|
5
4
|
export { withSpring, withTiming, withSequence, withDelay, withEase, withConfig, withDecay, withLoop, } from './controllers';
|
|
6
|
-
export { delay } from './helpers';
|
|
5
|
+
export { delay, AnimationConfig } from './helpers';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const COLOR_NUMBER_REGEX: RegExp;
|
|
2
|
+
export declare const HEX_NAME_COLOR: RegExp;
|
|
3
|
+
interface classNameType {
|
|
4
|
+
[name: string]: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const colorNames: classNameType;
|
|
7
|
+
export declare function hexToRgba(hex: string): {
|
|
8
|
+
r: number;
|
|
9
|
+
g: number;
|
|
10
|
+
b: number;
|
|
11
|
+
a: number;
|
|
12
|
+
};
|
|
13
|
+
export declare function rgbaToHex(rgba: {
|
|
14
|
+
r: number;
|
|
15
|
+
g: number;
|
|
16
|
+
b: number;
|
|
17
|
+
a: number;
|
|
18
|
+
}): string;
|
|
19
|
+
export declare function processColor(color: number | string): {
|
|
20
|
+
r: number;
|
|
21
|
+
g: number;
|
|
22
|
+
b: number;
|
|
23
|
+
a: number;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { interpolate, bInterpolate } from './interpolate';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FluidValue } from '@raidipesh78/re-motion';
|
|
2
|
+
type ExtrapolateType = 'identity' | 'extend' | 'clamp';
|
|
3
|
+
type ExtrapolateConfig = {
|
|
4
|
+
extrapolate?: ExtrapolateType;
|
|
5
|
+
extrapolateLeft?: ExtrapolateType;
|
|
6
|
+
extrapolateRight?: ExtrapolateType;
|
|
7
|
+
};
|
|
8
|
+
type InterpolateReturnType<T> = T extends number ? number : ReturnType<FluidValue['interpolate']>;
|
|
9
|
+
export declare const interpolate: <T extends number | FluidValue>(value: T, inputRange: number[], outputRange: number[] | string[], extrapolateConfig?: ExtrapolateConfig) => InterpolateReturnType<T>;
|
|
10
|
+
export declare const bInterpolate: <T extends number | FluidValue>(value: T, minOutput: number | string, maxOutput: number | string, extrapolateConfig?: ExtrapolateConfig) => InterpolateReturnType<T>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type ExtrapolateType = 'identity' | 'extend' | 'clamp';
|
|
2
|
+
type ExtrapolateConfig = {
|
|
3
|
+
extrapolate?: ExtrapolateType;
|
|
4
|
+
extrapolateLeft?: ExtrapolateType;
|
|
5
|
+
extrapolateRight?: ExtrapolateType;
|
|
6
|
+
};
|
|
7
|
+
export declare function interpolateNumbers(value: number, inputRange: Array<number>, outputRange: Array<number | string>, extrapolateConfig?: ExtrapolateConfig): any;
|
|
8
|
+
export {};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { Easing, makeFluid as makeAnimated, fluid as animate, } from '@raidipesh78/re-motion';
|
|
2
2
|
export { AnimationConfig, MountedBlock, ScrollableBlock, TransitionBlock, } from './animation';
|
|
3
|
-
export {
|
|
3
|
+
export { interpolate, bInterpolate } from './animation';
|
|
4
4
|
export { useValue, useMount, useValues } from './animation';
|
|
5
5
|
export { withSpring, withTiming, withSequence, withDelay, withEase, withConfig, withDecay, withLoop, delay, } from './animation';
|
|
6
6
|
export { useMeasure, useOutsideClick, useWindowDimension } from './hooks';
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var t=require("@raidipesh78/re-motion"),e=require("react/jsx-runtime"),n=require("react");function i(t){var e=Object.create(null);return t&&Object.keys(t).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}})),e.default=t,Object.freeze(e)}var r=i(n),o=function(t,e,n,i){return t.interpolate(e,n,i)},s=function(t){return null!=t};function u(t,e){return"number"==typeof t?{toValue:t,config:e}:t}function a(e){if(!(s(e)&&e instanceof t.FluidValue))throw new Error("Invalid ".concat(e," type for interpolate function. Expected FluidValue."));return e}var c=function(t,e){return c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},c(t,e)};function l(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}c(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var f=function(){return f=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},f.apply(this,arguments)};function h(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],i=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var i,r,o=n.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(i=o.next()).done;)s.push(i.value)}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return s}function m(t,e,n){if(n||2===arguments.length)for(var i,r=0,o=e.length;r<o;r++)!i&&r in e||(i||(i=Array.prototype.slice.call(e,0,r)),i[r]=e[r]);return t.concat(i||Array.prototype.slice.call(e))}"function"==typeof SuppressedError&&SuppressedError;var d=function(){function e(e,n){this.iterationsSoFar=0,this.fluid=new t.FluidValue(e),this.defaultConfig=n}return e.prototype.getAnimation=function(e,n){if(s(null==n?void 0:n.duration)||(null==n?void 0:n.immediate)){if(!s(e.toValue))throw new Error("No `toValue` is defined");var i={toValue:e.toValue,delay:null==n?void 0:n.delay,duration:(null==n?void 0:n.immediate)?0:null==n?void 0:n.duration,easing:null==n?void 0:n.easing};return t.timing(this.fluid,i)}if(null==n?void 0:n.decay){var r={velocity:null==n?void 0:n.velocity,deceleration:null==n?void 0:n.deceleration,delay:null==n?void 0:n.delay};return t.decay(this.fluid,r)}if(!s(e.toValue))throw new Error("No `toValue` is defined");var o={toValue:e.toValue,delay:null==n?void 0:n.delay,mass:null==n?void 0:n.mass,tension:null==n?void 0:n.tension,friction:null==n?void 0:n.friction,restDistance:null==n?void 0:n.restDistance};return t.spring(this.fluid,o)},e.prototype.runAnimation=function(t,e){var n,i=this,r=f(f({},this.defaultConfig),t.config),o=null!==(n=null==r?void 0:r.loop)&&void 0!==n?n:0;this.fluid.removeAllListeners(),(null==r?void 0:r.onStart)&&r.onStart(this.fluid.get()),(null==r?void 0:r.onChange)&&this.fluid.addListener((function(t){var e;return null===(e=null==r?void 0:r.onChange)||void 0===e?void 0:e.call(r,t)}));var u=this.getAnimation(t,r),a=function(t){var n;t.finished&&(null===(n=null==r?void 0:r.onRest)||void 0===n||n.call(r,t.value),null==e||e(t.value))},c=function(t){t.finished&&(i.iterationsSoFar++,-1===o||i.iterationsSoFar<o?(u.reset(),u.start(c)):a(t))};u.start(s(null==r?void 0:r.loop)?c:a)},e.prototype.setFluid=function(t,e){var n=this;if(t)if(Array.isArray(t)){var i=0,r=function(o){++i!==t.length?n.runAnimation(t[i],r):e&&e(o)};this.runAnimation(t[i],r)}else this.runAnimation(t,e)},e.prototype.getFluid=function(){return this.fluid},e}(),p=function(t,e){var i=n.useRef(new d(t,e)).current,r=n.useCallback((function(t,e){i.setFluid(t,e)}),[]);return[n.useMemo((function(){return i.getFluid()}),[]),r]},y={ELASTIC:{mass:1,friction:18,tension:250},BOUNCE:{duration:500,easing:t.Easing.bounce},EASE:{mass:1,friction:26,tension:170},STIFF:{mass:1,friction:18,tension:350},WOOBLE:{mass:1,friction:8,tension:250},EASE_IN:{duration:500,easing:t.Easing.in(t.Easing.ease)},EASE_OUT:{duration:500,easing:t.Easing.out(t.Easing.ease)},EASE_IN_OUT:{duration:500,easing:t.Easing.inOut(t.Easing.ease)},POWER1:{duration:500,easing:t.Easing.bezier(.17,.42,.51,.97)},POWER2:{duration:500,easing:t.Easing.bezier(.07,.11,.13,1)},POWER3:{duration:500,easing:t.Easing.bezier(.09,.7,.16,1.04)},POWER4:{duration:500,easing:t.Easing.bezier(.05,.54,0,1.03)},LINEAR:{duration:500,easing:t.Easing.linear}};function g(t,e){var i=n.useRef(!0),r=v(p(t,f(f({},y.EASE),e)),2),o=r[0],s=r[1],a=n.useCallback((function(t){Array.isArray(t)?queueMicrotask((function(){return s(t.map((function(t){return u(t)})))})):queueMicrotask((function(){return s(u(t))}))}),[]);return n.useLayoutEffect((function(){i.current||a(t),i.current=!1}),[t,e]),{set value(t){a(t)},get value(){return o},get currentValue(){return o.get()}}}var x=function(){function t(t,e){this.fluidControllers=t.map((function(t){return new d(t,e)}))}return t.prototype.setFluid=function(t,e){this.fluidControllers.map((function(n,i){n.setFluid(t[i],e)}))},t.prototype.getFluid=function(){return this.fluidControllers.map((function(t){return t.getFluid()}))},t}();function E(t,e){var i=function(t,e){var i=v(n.useState(!1),2),r=i[0],o=i[1],s=n.useRef(e).current,a=s.from,c=s.enter,l=s.exit,f=s.config,h=v(p(a,f),2),m=h[0],d=h[1];return n.useLayoutEffect((function(){t?(o(!0),queueMicrotask((function(){return d(Array.isArray(c)?c.map((function(t){return u(t,f)})):u(c,f))}))):d(Array.isArray(l)?l.map((function(t){return u(t,f)})):u(l,f),(function(){o(!1),m.getSubscriptions().forEach((function(t){return m.removeSubscription(t)}))}))}),[t]),function(t){return t(m,r)}}(t,e);return function(t){return i((function(e,n){return t({value:e},n)}))}}function b(t){return t?1:0}function M(t,e,n){return Math.min(Math.max(t,e),n)}function w(t,e,n){return 0===e||Math.abs(e)===1/0?function(t,e){return Math.pow(t,5*e)}(t,n):t*e*n/(e+n*t)}var _=function(t,e){return{toValue:t,config:e}},I=function(t){return t.reduce((function(t,e){return Array.isArray(e)?t.push.apply(t,m([],v(I(e)),!1)):t.push(u(e)),t}),[])};function T(t,e){var n=new Map;return e.forEach((function(e){var i=v(e,3),r=i[0],o=i[1],s=i[2],u=void 0!==s&&s;n.set(r,function(t,e,n,i){return void 0===i&&(i=!1),t.forEach((function(t){t.addEventListener(e,n,i)})),function(){t.forEach((function(t){t.removeEventListener(e,n,i)}))}}(t,r,o,u))})),function(t){var e,i;try{for(var r=h(n.entries()),o=r.next();!o.done;o=r.next()){var s=v(o.value,2),u=s[0],a=s[1];if(!t)return void a();-1!==t.indexOf(u)&&a()}}catch(t){e={error:t}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(e)throw e.error}}}}var A=function(t,e){return{x:t,y:e}},O=function(){function t(){this.lastTimeStamp=Date.now(),this.isActive=!1,this.targetElements=[]}return t.prototype._initEvents=function(){},t.prototype._cancelEvents=function(){this._subscribe&&this._subscribe()},t.prototype.applyCallback=function(t){this.callback=t},t.prototype.applyGesture=function(t){var e=this,n=t.targetElement,i=t.targetElements,r=t.callback,o=t.config;return this.targetElement=n,this.targetElements=i.map((function(t){return t.current})),this.callback=r,this.config=o,this._initEvents(),function(){return e._subscribe&&e._subscribe()}},t._VELOCITY_LIMIT=20,t}(),C=function(t){function e(){var e=t.apply(this,m([],v(arguments),!1))||this;return e.movementStart=A(0,0),e.initialMovement=A(0,0),e.movement=A(0,0),e.previousMovement=A(0,0),e.translation=A(0,0),e.offset=A(0,0),e.velocity=A(0,0),e}return l(e,t),e.prototype._initEvents=function(){(this.targetElement||this.targetElements.length>0)&&(this._subscribe=T([window],[["mousedown",this.pointerDown.bind(this)],["mousemove",this.pointerMove.bind(this)],["mouseup",this.pointerUp.bind(this)],["touchstart",this.pointerDown.bind(this),{passive:!1}],["touchmove",this.pointerMove.bind(this),{passive:!1}],["touchend",this.pointerUp.bind(this)]]))},e.prototype._cancelEvents=function(){this._subscribe&&this._subscribe(["mousedown","mousemove","touchstart","touchmove"])},e.prototype._handleCallback=function(){var t=this;this.callback&&this.callback({args:[this.currentIndex],down:this.isActive,movementX:this.movement.x,movementY:this.movement.y,offsetX:this.translation.x,offsetY:this.translation.y,velocityX:this.velocity.x,velocityY:this.velocity.y,distanceX:Math.abs(this.movement.x),distanceY:Math.abs(this.movement.y),directionX:Math.sign(this.movement.x),directionY:Math.sign(this.movement.y),cancel:function(){t._cancelEvents()}})},e.prototype.pointerDown=function(t){var e;"touchstart"===t.type?this.movementStart={x:t.touches[0].clientX,y:t.touches[0].clientY}:this.movementStart={x:t.clientX,y:t.clientY},this.movement={x:0,y:0},this.offset={x:this.translation.x,y:this.translation.y},this.previousMovement={x:0,y:0},this.velocity={x:0,y:0};var n=this.targetElements.find((function(e){return e===t.target}));if(t.target===this.targetElement||n){this.isActive=!0,t.preventDefault(),n&&(this.currentIndex=this.targetElements.indexOf(n));var i=(null===(e=this.config)||void 0===e?void 0:e.initial)&&this.config.initial(),r=null==i?void 0:i.movementX,o=null==i?void 0:i.movementY;this.initialMovement={x:null!=r?r:0,y:null!=o?o:0},this.movement={x:this.initialMovement.x,y:this.initialMovement.y},this.previousMovement={x:this.initialMovement.x,y:this.initialMovement.y},this._handleCallback()}},e.prototype.pointerMove=function(t){if(this.isActive){t.preventDefault();var e=Date.now(),n=M(e-this.lastTimeStamp,.1,64);this.lastTimeStamp=e;var i=n/1e3;"touchmove"===t.type?this.movement={x:this.initialMovement.x+(t.touches[0].clientX-this.movementStart.x),y:this.initialMovement.y+(t.touches[0].clientY-this.movementStart.y)}:this.movement={x:this.initialMovement.x+(t.clientX-this.movementStart.x),y:this.initialMovement.y+(t.clientY-this.movementStart.y)},this.translation={x:this.offset.x+this.movement.x,y:this.offset.y+this.movement.y},this.velocity={x:M((this.movement.x-this.previousMovement.x)/i/1e3,-1*O._VELOCITY_LIMIT,O._VELOCITY_LIMIT),y:M((this.movement.y-this.previousMovement.y)/i/1e3,-1*O._VELOCITY_LIMIT,O._VELOCITY_LIMIT)},this.previousMovement={x:this.movement.x,y:this.movement.y},this._handleCallback()}},e.prototype.pointerUp=function(){this.isActive&&(this.isActive=!1,this._handleCallback(),this._cancelEvents(),this._initEvents())},e}(O),L=function(t){function e(){var e=t.apply(this,m([],v(arguments),!1))||this;return e.movement=A(0,0),e.previousMovement=A(0,0),e.velocity=A(0,0),e.direction=A(0,0),e}return l(e,t),e.prototype._initEvents=function(){this.targetElement?this._subscribe=T([this.targetElement],[["mousemove",this.onMouseMove.bind(this)]]):this.targetElements.length>0?this._subscribe=T(this.targetElements,[["mousemove",this.onMouseMove.bind(this)]]):this._subscribe=T([window],[["mousemove",this.onMouseMove.bind(this)]])},e.prototype._handleCallback=function(){var t;this.callback&&this.callback({args:[this.currentIndex],event:this.event,isMoving:this.isActive,target:null===(t=this.event)||void 0===t?void 0:t.target,mouseX:this.movement.x,mouseY:this.movement.y,velocityX:this.velocity.x,velocityY:this.velocity.y,directionX:this.direction.x,directionY:this.direction.y})},e.prototype.onMouseMove=function(t){var e=this,n=this.targetElements.find((function(e){return e===t.target}));n&&(this.currentIndex=this.targetElements.indexOf(n)),this.event=t;var i=Date.now(),r=Math.min(i-this.lastTimeStamp,64);this.lastTimeStamp=i;var o=r/1e3,s=t.clientX,u=t.clientY;this.movement={x:s,y:u},-1!==this.isActiveID&&(this.isActive=!0,clearTimeout(this.isActiveID)),this.isActiveID=setTimeout((function(){e.isActive=!1,e.direction={x:0,y:0},e.velocity={x:0,y:0},e._handleCallback()}),250);var a=this.movement.x-this.previousMovement.x,c=this.movement.y-this.previousMovement.y;this.direction={x:Math.sign(a),y:Math.sign(c)},this.velocity={x:M(a/o/1e3,-1*O._VELOCITY_LIMIT,O._VELOCITY_LIMIT),y:M(c/o/1e3,-1*O._VELOCITY_LIMIT,O._VELOCITY_LIMIT)},this.previousMovement={x:this.movement.x,y:this.movement.y},this._handleCallback()},e}(O),S=function(t){function e(){var e=t.apply(this,m([],v(arguments),!1))||this;return e.movement=A(0,0),e.previousMovement=A(0,0),e.direction=A(0,0),e.velocity=A(0,0),e}return l(e,t),e.prototype._initEvents=function(){this.targetElement?this._subscribe=T([this.targetElement],[["scroll",this.scrollElementListener.bind(this)]]):this._subscribe=T([window],[["scroll",this.scrollListener.bind(this)]])},e.prototype._handleCallback=function(){this.callback&&this.callback({isScrolling:this.isActive,scrollX:this.movement.x,scrollY:this.movement.y,velocityX:this.velocity.x,velocityY:this.velocity.y,directionX:this.direction.x,directionY:this.direction.y})},e.prototype.onScroll=function(t){var e=this,n=t.x,i=t.y,r=Date.now(),o=Math.min(r-this.lastTimeStamp,64);this.lastTimeStamp=r;var s=o/1e3;this.movement={x:n,y:i},-1!==this.isActiveID&&(this.isActive=!0,clearTimeout(this.isActiveID)),this.isActiveID=setTimeout((function(){e.isActive=!1,e.direction={x:0,y:0},e.velocity={x:0,y:0},e._handleCallback()}),250);var u=this.movement.x-this.previousMovement.x,a=this.movement.y-this.previousMovement.y;this.direction={x:Math.sign(u),y:Math.sign(a)},this.velocity={x:M(u/s/1e3,-1*O._VELOCITY_LIMIT,O._VELOCITY_LIMIT),y:M(a/s/1e3,-1*O._VELOCITY_LIMIT,O._VELOCITY_LIMIT)},this.previousMovement={x:this.movement.x,y:this.movement.y},this._handleCallback()},e.prototype.scrollListener=function(){var t=window.pageYOffset,e=window.pageXOffset;this.onScroll({x:e,y:t})},e.prototype.scrollElementListener=function(){var t,e,n=(null===(t=this.targetElement)||void 0===t?void 0:t.scrollLeft)||0,i=(null===(e=this.targetElement)||void 0===e?void 0:e.scrollTop)||0;this.onScroll({x:n,y:i})},e}(O),k=function(t){function e(){var e=t.apply(this,m([],v(arguments),!1))||this;return e.movement=A(0,0),e.previousMovement=A(0,0),e.direction=A(0,0),e.velocity=A(0,0),e.delta=A(0,0),e.offset=A(0,0),e.translation=A(0,0),e}return l(e,t),e.prototype._initEvents=function(){this.targetElement&&(this._subscribe=T([this.targetElement],[["wheel",this.onWheel.bind(this)]]))},e.prototype._handleCallback=function(){this.callback&&this.callback({target:this.targetElement,isWheeling:this.isActive,deltaX:this.delta.x,deltaY:this.delta.y,directionX:this.direction.x,directionY:this.direction.y,movementX:this.movement.x,movementY:this.movement.y,offsetX:this.offset.x,offsetY:this.offset.y,velocityX:this.velocity.x,velocityY:this.velocity.y})},e.prototype.onWheel=function(t){var e=this,n=t.deltaX,i=t.deltaY,r=t.deltaMode,o=Date.now(),s=Math.min(o-this.lastTimeStamp,64);this.lastTimeStamp=o;var u=s/1e3;this.isActive=!0,-1!==this.isActiveID&&(this.isActive=!0,clearTimeout(this.isActiveID)),this.isActiveID=setTimeout((function(){e.isActive=!1,e.translation={x:e.offset.x,y:e.offset.y},e._handleCallback(),e.velocity={x:0,y:0},e.movement={x:0,y:0}}),200),1===r?(n*=40,i*=40):2===r&&(n*=800,i*=800),this.delta={x:n,y:i},this.movement={x:this.movement.x+n,y:this.movement.y+i},this.offset={x:this.translation.x+this.movement.x,y:this.translation.y+this.movement.y};var a=this.movement.x-this.previousMovement.x,c=this.movement.y-this.previousMovement.y;this.direction={x:Math.sign(a),y:Math.sign(c)},this.velocity={x:M(a/u/1e3,-1*O._VELOCITY_LIMIT,O._VELOCITY_LIMIT),y:M(c/u/1e3,-1*O._VELOCITY_LIMIT,O._VELOCITY_LIMIT)},this.previousMovement={x:this.movement.x,y:this.movement.y},this._handleCallback()},e}(O),Y=function(t){var e=r.useRef(),n=r.useRef([]),i=r.useRef(new Map).current;return r.useEffect((function(){var e,n;try{for(var r=h(i.entries()),o=r.next();!o.done;o=r.next()){var s=v(o.value,2)[1],u=s.keyIndex,a=s.gesture,c=v(t[u],3)[2];a.applyCallback(c)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}}),[t]),r.useEffect((function(){return t.forEach((function(t,r){var o=v(t,4),s=o[0],u=o[1],a=o[2],c=o[3];queueMicrotask((function(){return i.set(s,{keyIndex:r,gesture:u,unsubscribe:u.applyGesture({targetElement:e.current,targetElements:n.current,callback:a,config:c})})}))})),function(){var t,e;try{for(var n=h(i.entries()),r=n.next();!r.done;r=n.next()){var o=v(r.value,2)[1].unsubscribe;o&&o()}}catch(e){t={error:e}}finally{try{r&&!r.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}}})),function(t){return null==t?{ref:e}:(n.current[t]=n.current[t]||r.createRef(),{ref:n.current[t]})}};Object.defineProperty(exports,"Easing",{enumerable:!0,get:function(){return t.Easing}}),Object.defineProperty(exports,"animate",{enumerable:!0,get:function(){return t.fluid}}),Object.defineProperty(exports,"makeAnimated",{enumerable:!0,get:function(){return t.makeFluid}}),exports.AnimationConfig=y,exports.MountedBlock=function(t){var n=t.state,i=t.children,r=t.from,o=void 0===r?0:r,s=t.enter,u=void 0===s?1:s,a=t.exit,c=E(n,{from:o,enter:u,exit:void 0===a?0:a,config:t.config});return e.jsx(e.Fragment,{children:c((function(t,e){return e&&i({value:t.value})}))})},exports.ScrollableBlock=function(t){var n=t.children,i=t.direction,o=void 0===i?"single":i,s=t.animationConfig,u=t.threshold,a=void 0===u?.2:u,c=r.useRef(null),l=g(0,s);return r.useEffect((function(){var t=c.current,e=new IntersectionObserver((function(t){v(t,1)[0].isIntersecting?l.value=1:"both"===o&&(l.value=0)}),{root:null,threshold:a});return t&&e.observe(t),function(){t&&e.unobserve(t)}}),[]),e.jsx("div",{ref:c,children:n&&n({value:l.value})})},exports.TransitionBlock=function(t){var n=t.state,i=t.children,r=t.config,o=g(b(n),r);return e.jsx(e.Fragment,{children:i({value:o.value})})},exports.bInterpolate=function(t,e,n,i){var r=a(t);return o(r,[0,1],[e,n],i)},exports.bin=b,exports.clamp=M,exports.delay=function(t){return new Promise((function(e){setTimeout((function(){return e(null)}),t)}))},exports.interpolate=function(t,e,n,i){var r=a(t);return o(r,e,n,i)},exports.mix=function(t,e,n){return e*(1-t)+n*t},exports.move=function(t,e,n){var i=t[e],r=t.length,o=e-n;if(o>0)return m(m(m(m([],v(t.slice(0,n)),!1),[i],!1),v(t.slice(n,e)),!1),v(t.slice(e+1,r)),!1);if(o<0){var s=n+1;return m(m(m(m([],v(t.slice(0,e)),!1),v(t.slice(e+1,s)),!1),[i],!1),v(t.slice(s,r)),!1)}return t},exports.rubberClamp=function(t,e,n,i){return void 0===i&&(i=.15),0===i?M(t,e,n):t<e?-w(e-t,n-e,i)+e:t>n?+w(t-n,n-e,i)+n:t},exports.snapTo=function(t,e,n){var i=t+.2*e,r=function(t){return Math.abs(t-i)},o=n.map(r),s=Math.min.apply(Math,m([],v(o),!1));return n.reduce((function(t,e){return r(e)===s?e:t}))},exports.useDrag=function(t,e){var n=r.useRef(new C).current;return Y([["drag",n,t,e]])},exports.useGesture=function(t){var e=t.onDrag,n=t.onWheel,i=t.onScroll,o=t.onMouseMove,s=r.useRef(new C).current,u=r.useRef(new k).current,a=r.useRef(new S).current,c=r.useRef(new L).current;return Y([["drag",s,e],["wheel",u,n],["scroll",a,i],["move",c,o]])},exports.useMeasure=function(t,e){var i=n.useRef(null),r=n.useRef([]),o=n.useRef(t);return n.useEffect((function(){return o.current=t,function(){o.current=function(){return!1}}}),e),n.useEffect((function(){var t=i.current||document.documentElement,e=r.current,n=new ResizeObserver((function(e){var n=v(e,1)[0].target.getBoundingClientRect(),i=n.left,r=n.top,s=n.width,u=n.height,a=window.pageXOffset,c=window.pageYOffset;if(o){if(t===document.documentElement)return;o.current({left:i+a,top:r+c,width:s,height:u,vLeft:i,vTop:r})}})),s=new ResizeObserver((function(t){var e=[],n=[],i=[],r=[],s=[],u=[];t.forEach((function(t){var o=t.target.getBoundingClientRect(),a=o.left,c=o.top,l=o.width,f=o.height,h=a+window.pageXOffset,v=c+window.pageYOffset;e.push(h),n.push(v),i.push(l),r.push(f),s.push(a),u.push(c)})),o&&o.current({left:e,top:n,width:i,height:r,vLeft:s,vTop:u})}));return t&&(t===document.documentElement&&e.length>0?e.forEach((function(t){s.observe(t.current)})):n.observe(t)),function(){t&&(t===document.documentElement&&e.length>0?e.forEach((function(t){s.unobserve(t.current)})):n.unobserve(t))}}),[]),function(t){return null==t?{ref:i}:(r.current[t]=r.current[t]||n.createRef(),{ref:r.current[t]})}},exports.useMount=E,exports.useMouseMove=function(t){var e=r.useRef(new L).current;return Y([["move",e,t]])},exports.useOutsideClick=function(t,e,i){var r=n.useRef();r.current||(r.current=e),n.useEffect((function(){return r.current=e,function(){r.current=function(){return!1}}}),i),n.useEffect((function(){var e=T([document],[["mousedown",function(e){var n=e.target;n&&n.isConnected&&(t.current&&!t.current.contains(n)&&r.current&&r.current(e))}]]);return function(){return e&&e()}}),[])},exports.useScroll=function(t){var e=r.useRef(new S).current;return Y([["scroll",e,t]])},exports.useValue=g,exports.useValues=function(t,e){var i=n.useRef(!0),r=v(function(t,e){var i=n.useRef(new x(t,e)).current,r=n.useCallback((function(t,e){i.setFluid(t,e)}),[]);return[n.useMemo((function(){return i.getFluid()}),[]),r]}(t,f(f({},y.EASE),e)),2),o=r[0],s=r[1],a=n.useCallback((function(t){var e=t.map((function(t){return Array.isArray(t)?t.map((function(t){return u(t)})):u(t)}));queueMicrotask((function(){return s(e)}))}),[]);return n.useLayoutEffect((function(){i.current||a(t),i.current=!1}),[t,e]),{set value(t){a(t)},get value(){return o},get currentValue(){return o.map((function(t){return t.get()}))}}},exports.useWheel=function(t){var e=r.useRef(new k).current;return Y([["wheel",e,t]])},exports.useWindowDimension=function(t,e){var i=n.useRef({width:0,height:0,innerWidth:0,innerHeight:0}),r=n.useRef(t);n.useEffect((function(){return r.current=t,function(){r.current=function(){return!1}}}),e),n.useEffect((function(){var t=new ResizeObserver((function(t){var e=v(t,1)[0].target,n=e.clientWidth,o=e.clientHeight,s=window.innerWidth,u=window.innerHeight;i.current={width:n,height:o,innerWidth:s,innerHeight:u},r&&r.current(f({},i.current))}));return t.observe(document.documentElement),function(){return t.unobserve(document.documentElement)}}),[])},exports.withConfig=_,exports.withDecay=function(t){return{config:f({decay:!0},t)}},exports.withDelay=function(t,e){return f(f({},e),{config:f(f({},e.config),{delay:t})})},exports.withEase=function(t,e){return _(t,f(f({},y.EASE),e))},exports.withLoop=function(t,e){if(Array.isArray(t)){for(var n=[],i=0;i<e;i++)n=n.concat(t);return n}return Array(e).fill({toValue:t.toValue,config:f(f({},t.config),{loop:e})})},exports.withSequence=function(t){return I(t)},exports.withSpring=function(t,e){return _(t,f(f({},y.ELASTIC),e))},exports.withTiming=function(t,e){return _(t,f({duration:250},e))};
|
|
1
|
+
var e=require("@raidipesh78/re-motion"),t=require("react/jsx-runtime"),n=require("react");function i(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var r=i(n),o=function(e,t){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},o(e,t)};function f(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var a=function(){return a=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},a.apply(this,arguments)};function u(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],i=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function s(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,r,o=n.call(e),f=[];try{for(;(void 0===t||t-- >0)&&!(i=o.next()).done;)f.push(i.value)}catch(e){r={error:e}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return f}function l(e,t,n){if(n||2===arguments.length)for(var i,r=0,o=t.length;r<o;r++)!i&&r in t||(i||(i=Array.prototype.slice.call(t,0,r)),i[r]=t[r]);return e.concat(i||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var c=/[+-]?\d+(\.\d+)?|[\s]?\.\d+|#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})/gi,h=/#[a-f\d]{3,}|transparent|aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|burntsienna|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen/gi,d={transparent:"#00000000",aliceblue:"#f0f8ffff",antiquewhite:"#faebd7ff",aqua:"#00ffffff",aquamarine:"#7fffd4ff",azure:"#f0ffffff",beige:"#f5f5dcff",bisque:"#ffe4c4ff",black:"#000000ff",blanchedalmond:"#ffebcdff",blue:"#0000ffff",blueviolet:"#8a2be2ff",brown:"#a52a2aff",burlywood:"#deb887ff",burntsienna:"#ea7e5dff",cadetblue:"#5f9ea0ff",chartreuse:"#7fff00ff",chocolate:"#d2691eff",coral:"#ff7f50ff",cornflowerblue:"#6495edff",cornsilk:"#fff8dcff",crimson:"#dc143cff",cyan:"#00ffffff",darkblue:"#00008bff",darkcyan:"#008b8bff",darkgoldenrod:"#b8860bff",darkgray:"#a9a9a9ff",darkgreen:"#006400ff",darkgrey:"#a9a9a9ff",darkkhaki:"#bdb76bff",darkmagenta:"#8b008bff",darkolivegreen:"#556b2fff",darkorange:"#ff8c00ff",darkorchid:"#9932ccff",darkred:"#8b0000ff",darksalmon:"#e9967aff",darkseagreen:"#8fbc8fff",darkslateblue:"#483d8bff",darkslategray:"#2f4f4fff",darkslategrey:"#2f4f4fff",darkturquoise:"#00ced1ff",darkviolet:"#9400d3ff",deeppink:"#ff1493ff",deepskyblue:"#00bfffff",dimgray:"#696969ff",dimgrey:"#696969ff",dodgerblue:"#1e90ffff",firebrick:"#b22222ff",floralwhite:"#fffaf0ff",forestgreen:"#228b22ff",fuchsia:"#ff00ffff",gainsboro:"#dcdcdcff",ghostwhite:"#f8f8ffff",gold:"#ffd700ff",goldenrod:"#daa520ff",gray:"#808080ff",green:"#008000ff",greenyellow:"#adff2fff",grey:"#808080ff",honeydew:"#f0fff0ff",hotpink:"#ff69b4ff",indianred:"#cd5c5cff",indigo:"#4b0082ff",ivory:"#fffff0ff",khaki:"#f0e68cff",lavender:"#e6e6faff",lavenderblush:"#fff0f5ff",lawngreen:"#7cfc00ff",lemonchiffon:"#fffacdff",lightblue:"#add8e6ff",lightcoral:"#f08080ff",lightcyan:"#e0ffffff",lightgoldenrodyellow:"#fafad2ff",lightgray:"#d3d3d3ff",lightgreen:"#90ee90ff",lightgrey:"#d3d3d3ff",lightpink:"#ffb6c1ff",lightsalmon:"#ffa07aff",lightseagreen:"#20b2aaff",lightskyblue:"#87cefaff",lightslategray:"#778899ff",lightslategrey:"#778899ff",lightsteelblue:"#b0c4deff",lightyellow:"#ffffe0ff",lime:"#00ff00ff",limegreen:"#32cd32ff",linen:"#faf0e6ff",magenta:"#ff00ffff",maroon:"#800000ff",mediumaquamarine:"#66cdaaff",mediumblue:"#0000cdff",mediumorchid:"#ba55d3ff",mediumpurple:"#9370dbff",mediumseagreen:"#3cb371ff",mediumslateblue:"#7b68eeff",mediumspringgreen:"#00fa9aff",mediumturquoise:"#48d1ccff",mediumvioletred:"#c71585ff",midnightblue:"#191970ff",mintcream:"#f5fffaff",mistyrose:"#ffe4e1ff",moccasin:"#ffe4b5ff",navajowhite:"#ffdeadff",navy:"#000080ff",oldlace:"#fdf5e6ff",olive:"#808000ff",olivedrab:"#6b8e23ff",orange:"#ffa500ff",orangered:"#ff4500ff",orchid:"#da70d6ff",palegoldenrod:"#eee8aaff",palegreen:"#98fb98ff",paleturquoise:"#afeeeeff",palevioletred:"#db7093ff",papayawhip:"#ffefd5ff",peachpuff:"#ffdab9ff",peru:"#cd853fff",pink:"#ffc0cbff",plum:"#dda0ddff",powderblue:"#b0e0e6ff",purple:"#800080ff",rebeccapurple:"#663399ff",red:"#ff0000ff",rosybrown:"#bc8f8fff",royalblue:"#4169e1ff",saddlebrown:"#8b4513ff",salmon:"#fa8072ff",sandybrown:"#f4a460ff",seagreen:"#2e8b57ff",seashell:"#fff5eeff",sienna:"#a0522dff",silver:"#c0c0c0ff",skyblue:"#87ceebff",slateblue:"#6a5acdff",slategray:"#708090ff",slategrey:"#708090ff",snow:"#fffafaff",springgreen:"#00ff7fff",steelblue:"#4682b4ff",tan:"#d2b48cff",teal:"#008080ff",thistle:"#d8bfd8ff",tomato:"#ff6347ff",turquoise:"#40e0d0ff",violet:"#ee82eeff",wheat:"#f5deb3ff",white:"#ffffffff",whitesmoke:"#f5f5f5ff",yellow:"#ffff00ff",yellowgreen:"#9acd32ff"};function v(e){var t=function(e){return e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(e,t,n,i){return"#"+t+t+n+n+i+i}))}(e),n=function(e){return 7===e.length?e+"FF":e}(t),i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n);return{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16),a:parseInt(i[4],16)/255}}function m(e){var t=e.r,n=e.g,i=e.b,r=e.a;return"#"+(256|t).toString(16).slice(1)+(256|n).toString(16).slice(1)+(256|i).toString(16).slice(1)+(255*r|256).toString(16).slice(1)}var p=function(e,t,n,i){var r=s(t,4),o=r[0],f=r[1],a=r[2],u=r[3],l=e;if(l<o){if("identity"===n)return l;"clamp"===n&&(l=o)}if(l>f){if("identity"===i)return l;"clamp"===i&&(l=f)}return a===u?a:o===f?e<=o?a:u:(o===-1/0?l=-l:f===1/0?l-=o:l=(l-o)/(f-o),a===-1/0?l=-l:u===1/0?l+=a:l=l*(u-a)+a,l)},g=function(e,t,n,i){var r=s(t,4),o=r[0],f=r[1],a=r[2],u=r[3];if(a.length===u.length)return a.map((function(t,r){return"string"==typeof t?function(e,t){var n=s(t,4),i=n[0],r=n[1],o=n[2],f=n[3],a=v(o),u=v(f);return m({r:p(e,[i,r,a.r,u.r],"clamp","clamp"),g:p(e,[i,r,a.g,u.g],"clamp","clamp"),b:p(e,[i,r,a.b,u.b],"clamp","clamp"),a:p(e,[i,r,a.a,u.a],"clamp","clamp")})}(e,[o,f,t,u[r]]):p(e,[o,f,t,u[r]],n,i)}));throw new Error("Array length doesn't match")},y=function(e){return e.replace(c,"$")},b=function(e){return e.match(c).map((function(e){return-1!==e.indexOf("#")?e:Number(e)}))},x=function(e){return e.replace(h,(function(e){if(-1!==e.indexOf("#"))return m(v(e));if(Object.prototype.hasOwnProperty.call(d,e))return d[e];throw new Error("String cannot be parsed!")}))};function w(e,t,n,i){var r,o,f=null==i?void 0:i.extrapolate,a=null==i?void 0:i.extrapolateLeft,l=null==i?void 0:i.extrapolateRight,c=function(e,t,n){var i=t.length,r=[];e<t[0]?r=[t[0],t[1],n[0],n[1]]:e>t[i-1]&&(r=[t[i-2],t[i-1],n[i-2],n[i-1]]);for(var o=1;o<i;++o)if(e<=t[o]){r=[t[o-1],t[o],n[o-1],n[o]];break}return r}(e,t,n),h="extend";void 0!==a?h=a:void 0!==f&&(h=f);var d,v="extend";if(void 0!==l?v=l:void 0!==f&&(v=f),n.length){if("number"==typeof n[0])return p(e,c,h,v);if(Array.isArray(n[0]))return g(e,c,h,v);var m=s(c,4),w=m[0],E=m[1],k=m[2],M=m[3],_=x(k),I=x(M),A=y(_);if(d=I,y(_).trim().replace(/\s/g,"")===y(d).trim().replace(/\s/g,"")){var O=b(_),T=b(I),S=g(e,[w,E,O,T],h,v);try{for(var C=u(S),L=C.next();!L.done;L=C.next()){var Y=L.value;A=A.replace("$",Y)}}catch(e){r={error:e}}finally{try{L&&!L.done&&(o=C.return)&&o.call(C)}finally{if(r)throw r.error}}return A}throw new Error("Output range doesn't match string format!")}throw new Error("Output range cannot be Empty")}var E=function(t,n,i,r){return t instanceof e.FluidValue?t.interpolate(n,i,r):w(t,n,i,r)},k=function(e){return null!=e};function M(e,t){return"number"==typeof e?{toValue:e,config:t}:e}var _={ELASTIC:{mass:1,friction:18,tension:250},BOUNCE:{duration:500,easing:e.Easing.bounce},EASE:{mass:1,friction:26,tension:170},STIFF:{mass:1,friction:18,tension:350},WOOBLE:{mass:1,friction:8,tension:250},EASE_IN:{duration:500,easing:e.Easing.in(e.Easing.ease)},EASE_OUT:{duration:500,easing:e.Easing.out(e.Easing.ease)},EASE_IN_OUT:{duration:500,easing:e.Easing.inOut(e.Easing.ease)},POWER1:{duration:500,easing:e.Easing.bezier(.17,.42,.51,.97)},POWER2:{duration:500,easing:e.Easing.bezier(.07,.11,.13,1)},POWER3:{duration:500,easing:e.Easing.bezier(.09,.7,.16,1.04)},POWER4:{duration:500,easing:e.Easing.bezier(.05,.54,0,1.03)},LINEAR:{duration:500,easing:e.Easing.linear}},I=function(){function t(t,n){this.iterationsSoFar=0,this.fluid=new e.FluidValue(t),this.defaultConfig=n}return t.prototype.getAnimation=function(t,n){if(k(null==n?void 0:n.duration)||(null==n?void 0:n.immediate)){if(!k(t.toValue))throw new Error("No `toValue` is defined");var i={toValue:t.toValue,delay:null==n?void 0:n.delay,duration:(null==n?void 0:n.immediate)?0:null==n?void 0:n.duration,easing:null==n?void 0:n.easing};return e.timing(this.fluid,i)}if(null==n?void 0:n.decay){var r={velocity:null==n?void 0:n.velocity,deceleration:null==n?void 0:n.deceleration,delay:null==n?void 0:n.delay};return e.decay(this.fluid,r)}if(!k(t.toValue))throw new Error("No `toValue` is defined");var o={toValue:t.toValue,delay:null==n?void 0:n.delay,mass:null==n?void 0:n.mass,tension:null==n?void 0:n.tension,friction:null==n?void 0:n.friction,restDistance:null==n?void 0:n.restDistance};return e.spring(this.fluid,o)},t.prototype.runAnimation=function(e,t){var n,i=this,r=a(a({},this.defaultConfig),e.config),o=null!==(n=null==r?void 0:r.loop)&&void 0!==n?n:0;this.fluid.removeAllListeners(),(null==r?void 0:r.onStart)&&r.onStart(this.fluid.get()),(null==r?void 0:r.onChange)&&this.fluid.addListener((function(e){var t;return null===(t=null==r?void 0:r.onChange)||void 0===t?void 0:t.call(r,e)}));var f=this.getAnimation(e,r),u=function(e){var n;e.finished&&(null===(n=null==r?void 0:r.onRest)||void 0===n||n.call(r,e.value),null==t||t(e.value))},s=function(e){e.finished&&(i.iterationsSoFar++,-1===o||i.iterationsSoFar<o?(f.reset(),f.start(s)):u(e))};f.start(k(null==r?void 0:r.loop)?s:u)},t.prototype.setFluid=function(e,t){var n=this;if(e)if(Array.isArray(e)){var i=0,r=function(o){++i!==e.length?n.runAnimation(e[i],r):t&&t(o)};this.runAnimation(e[i],r)}else this.runAnimation(e,t)},t.prototype.getFluid=function(){return this.fluid},t}(),A=function(e,t){var i=n.useRef(new I(e,t)).current,r=n.useCallback((function(e,t){i.setFluid(e,t)}),[]);return[n.useMemo((function(){return i.getFluid()}),[]),r]};function O(e,t){var i=n.useRef(!0),r=s(A(e,a(a({},_.EASE),t)),2),o=r[0],f=r[1],u=n.useCallback((function(e){Array.isArray(e)?queueMicrotask((function(){return f(e.map((function(e){return M(e)})))})):queueMicrotask((function(){return f(M(e))}))}),[]);return n.useLayoutEffect((function(){i.current||u(e),i.current=!1}),[e,t]),{set value(e){u(e)},get value(){return o},get currentValue(){return o.get()}}}var T=function(){function e(e,t){this.fluidControllers=e.map((function(e){return new I(e,t)}))}return e.prototype.setFluid=function(e,t){this.fluidControllers.map((function(n,i){n.setFluid(e[i],t)}))},e.prototype.getFluid=function(){return this.fluidControllers.map((function(e){return e.getFluid()}))},e}();function S(e,t){var i=function(e,t){var i=s(n.useState(!1),2),r=i[0],o=i[1],f=n.useRef(t).current,a=f.from,u=f.enter,l=f.exit,c=f.config,h=s(A(a,c),2),d=h[0],v=h[1];return n.useLayoutEffect((function(){e?(o(!0),queueMicrotask((function(){return v(Array.isArray(u)?u.map((function(e){return M(e,c)})):M(u,c))}))):v(Array.isArray(l)?l.map((function(e){return M(e,c)})):M(l,c),(function(){o(!1),d.getSubscriptions().forEach((function(e){return d.removeSubscription(e)}))}))}),[e]),function(e){return e(d,r)}}(e,t);return function(e){return i((function(t,n){return e({value:t},n)}))}}function C(e){return e?1:0}function L(e,t,n){return Math.min(Math.max(e,t),n)}function Y(e,t,n){return 0===t||Math.abs(t)===1/0?function(e,t){return Math.pow(e,5*t)}(e,n):e*t*n/(t+n*e)}var R=function(e,t){return{toValue:e,config:t}},V=function(e){return e.reduce((function(e,t){return Array.isArray(t)?e.push.apply(e,l([],s(V(t)),!1)):e.push(M(t)),e}),[])};function q(e,t){var n=new Map;return t.forEach((function(t){var i=s(t,3),r=i[0],o=i[1],f=i[2],a=void 0!==f&&f;n.set(r,function(e,t,n,i){return void 0===i&&(i=!1),e.forEach((function(e){e.addEventListener(t,n,i)})),function(){e.forEach((function(e){e.removeEventListener(t,n,i)}))}}(e,r,o,a))})),function(e){var t,i;try{for(var r=u(n.entries()),o=r.next();!o.done;o=r.next()){var f=s(o.value,2),a=f[0],l=f[1];if(!e)return void l();-1!==e.indexOf(a)&&l()}}catch(e){t={error:e}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}}}var D=function(e,t){return{x:e,y:t}},X=function(){function e(){this.lastTimeStamp=Date.now(),this.isActive=!1,this.targetElements=[]}return e.prototype._initEvents=function(){},e.prototype._cancelEvents=function(){this._subscribe&&this._subscribe()},e.prototype.applyCallback=function(e){this.callback=e},e.prototype.applyGesture=function(e){var t=this,n=e.targetElement,i=e.targetElements,r=e.callback,o=e.config;return this.targetElement=n,this.targetElements=i.map((function(e){return e.current})),this.callback=r,this.config=o,this._initEvents(),function(){return t._subscribe&&t._subscribe()}},e._VELOCITY_LIMIT=20,e}(),F=function(e){function t(){var t=e.apply(this,l([],s(arguments),!1))||this;return t.movementStart=D(0,0),t.initialMovement=D(0,0),t.movement=D(0,0),t.previousMovement=D(0,0),t.translation=D(0,0),t.offset=D(0,0),t.velocity=D(0,0),t}return f(t,e),t.prototype._initEvents=function(){(this.targetElement||this.targetElements.length>0)&&(this._subscribe=q([window],[["mousedown",this.pointerDown.bind(this)],["mousemove",this.pointerMove.bind(this)],["mouseup",this.pointerUp.bind(this)],["touchstart",this.pointerDown.bind(this),{passive:!1}],["touchmove",this.pointerMove.bind(this),{passive:!1}],["touchend",this.pointerUp.bind(this)]]))},t.prototype._cancelEvents=function(){this._subscribe&&this._subscribe(["mousedown","mousemove","touchstart","touchmove"])},t.prototype._handleCallback=function(){var e=this;this.callback&&this.callback({args:[this.currentIndex],down:this.isActive,movementX:this.movement.x,movementY:this.movement.y,offsetX:this.translation.x,offsetY:this.translation.y,velocityX:this.velocity.x,velocityY:this.velocity.y,distanceX:Math.abs(this.movement.x),distanceY:Math.abs(this.movement.y),directionX:Math.sign(this.movement.x),directionY:Math.sign(this.movement.y),cancel:function(){e._cancelEvents()}})},t.prototype.pointerDown=function(e){var t;"touchstart"===e.type?this.movementStart={x:e.touches[0].clientX,y:e.touches[0].clientY}:this.movementStart={x:e.clientX,y:e.clientY},this.movement={x:0,y:0},this.offset={x:this.translation.x,y:this.translation.y},this.previousMovement={x:0,y:0},this.velocity={x:0,y:0};var n=this.targetElements.find((function(t){return t===e.target}));if(e.target===this.targetElement||n){this.isActive=!0,e.preventDefault(),n&&(this.currentIndex=this.targetElements.indexOf(n));var i=(null===(t=this.config)||void 0===t?void 0:t.initial)&&this.config.initial(),r=null==i?void 0:i.movementX,o=null==i?void 0:i.movementY;this.initialMovement={x:null!=r?r:0,y:null!=o?o:0},this.movement={x:this.initialMovement.x,y:this.initialMovement.y},this.previousMovement={x:this.initialMovement.x,y:this.initialMovement.y},this._handleCallback()}},t.prototype.pointerMove=function(e){if(this.isActive){e.preventDefault();var t=Date.now(),n=L(t-this.lastTimeStamp,.1,64);this.lastTimeStamp=t;var i=n/1e3;"touchmove"===e.type?this.movement={x:this.initialMovement.x+(e.touches[0].clientX-this.movementStart.x),y:this.initialMovement.y+(e.touches[0].clientY-this.movementStart.y)}:this.movement={x:this.initialMovement.x+(e.clientX-this.movementStart.x),y:this.initialMovement.y+(e.clientY-this.movementStart.y)},this.translation={x:this.offset.x+this.movement.x,y:this.offset.y+this.movement.y},this.velocity={x:L((this.movement.x-this.previousMovement.x)/i/1e3,-1*X._VELOCITY_LIMIT,X._VELOCITY_LIMIT),y:L((this.movement.y-this.previousMovement.y)/i/1e3,-1*X._VELOCITY_LIMIT,X._VELOCITY_LIMIT)},this.previousMovement={x:this.movement.x,y:this.movement.y},this._handleCallback()}},t.prototype.pointerUp=function(){this.isActive&&(this.isActive=!1,this._handleCallback(),this._cancelEvents(),this._initEvents())},t}(X),j=function(e){function t(){var t=e.apply(this,l([],s(arguments),!1))||this;return t.movement=D(0,0),t.previousMovement=D(0,0),t.velocity=D(0,0),t.direction=D(0,0),t}return f(t,e),t.prototype._initEvents=function(){this.targetElement?this._subscribe=q([this.targetElement],[["mousemove",this.onMouseMove.bind(this)]]):this.targetElements.length>0?this._subscribe=q(this.targetElements,[["mousemove",this.onMouseMove.bind(this)]]):this._subscribe=q([window],[["mousemove",this.onMouseMove.bind(this)]])},t.prototype._handleCallback=function(){var e;this.callback&&this.callback({args:[this.currentIndex],event:this.event,isMoving:this.isActive,target:null===(e=this.event)||void 0===e?void 0:e.target,mouseX:this.movement.x,mouseY:this.movement.y,velocityX:this.velocity.x,velocityY:this.velocity.y,directionX:this.direction.x,directionY:this.direction.y})},t.prototype.onMouseMove=function(e){var t=this,n=this.targetElements.find((function(t){return t===e.target}));n&&(this.currentIndex=this.targetElements.indexOf(n)),this.event=e;var i=Date.now(),r=Math.min(i-this.lastTimeStamp,64);this.lastTimeStamp=i;var o=r/1e3,f=e.clientX,a=e.clientY;this.movement={x:f,y:a},-1!==this.isActiveID&&(this.isActive=!0,clearTimeout(this.isActiveID)),this.isActiveID=setTimeout((function(){t.isActive=!1,t.direction={x:0,y:0},t.velocity={x:0,y:0},t._handleCallback()}),250);var u=this.movement.x-this.previousMovement.x,s=this.movement.y-this.previousMovement.y;this.direction={x:Math.sign(u),y:Math.sign(s)},this.velocity={x:L(u/o/1e3,-1*X._VELOCITY_LIMIT,X._VELOCITY_LIMIT),y:L(s/o/1e3,-1*X._VELOCITY_LIMIT,X._VELOCITY_LIMIT)},this.previousMovement={x:this.movement.x,y:this.movement.y},this._handleCallback()},t}(X),W=function(e){function t(){var t=e.apply(this,l([],s(arguments),!1))||this;return t.movement=D(0,0),t.previousMovement=D(0,0),t.direction=D(0,0),t.velocity=D(0,0),t}return f(t,e),t.prototype._initEvents=function(){this.targetElement?this._subscribe=q([this.targetElement],[["scroll",this.scrollElementListener.bind(this)]]):this._subscribe=q([window],[["scroll",this.scrollListener.bind(this)]])},t.prototype._handleCallback=function(){this.callback&&this.callback({isScrolling:this.isActive,scrollX:this.movement.x,scrollY:this.movement.y,velocityX:this.velocity.x,velocityY:this.velocity.y,directionX:this.direction.x,directionY:this.direction.y})},t.prototype.onScroll=function(e){var t=this,n=e.x,i=e.y,r=Date.now(),o=Math.min(r-this.lastTimeStamp,64);this.lastTimeStamp=r;var f=o/1e3;this.movement={x:n,y:i},-1!==this.isActiveID&&(this.isActive=!0,clearTimeout(this.isActiveID)),this.isActiveID=setTimeout((function(){t.isActive=!1,t.direction={x:0,y:0},t.velocity={x:0,y:0},t._handleCallback()}),250);var a=this.movement.x-this.previousMovement.x,u=this.movement.y-this.previousMovement.y;this.direction={x:Math.sign(a),y:Math.sign(u)},this.velocity={x:L(a/f/1e3,-1*X._VELOCITY_LIMIT,X._VELOCITY_LIMIT),y:L(u/f/1e3,-1*X._VELOCITY_LIMIT,X._VELOCITY_LIMIT)},this.previousMovement={x:this.movement.x,y:this.movement.y},this._handleCallback()},t.prototype.scrollListener=function(){var e=window.pageYOffset,t=window.pageXOffset;this.onScroll({x:t,y:e})},t.prototype.scrollElementListener=function(){var e,t,n=(null===(e=this.targetElement)||void 0===e?void 0:e.scrollLeft)||0,i=(null===(t=this.targetElement)||void 0===t?void 0:t.scrollTop)||0;this.onScroll({x:n,y:i})},t}(X),P=function(e){function t(){var t=e.apply(this,l([],s(arguments),!1))||this;return t.movement=D(0,0),t.previousMovement=D(0,0),t.direction=D(0,0),t.velocity=D(0,0),t.delta=D(0,0),t.offset=D(0,0),t.translation=D(0,0),t}return f(t,e),t.prototype._initEvents=function(){this.targetElement&&(this._subscribe=q([this.targetElement],[["wheel",this.onWheel.bind(this)]]))},t.prototype._handleCallback=function(){this.callback&&this.callback({target:this.targetElement,isWheeling:this.isActive,deltaX:this.delta.x,deltaY:this.delta.y,directionX:this.direction.x,directionY:this.direction.y,movementX:this.movement.x,movementY:this.movement.y,offsetX:this.offset.x,offsetY:this.offset.y,velocityX:this.velocity.x,velocityY:this.velocity.y})},t.prototype.onWheel=function(e){var t=this,n=e.deltaX,i=e.deltaY,r=e.deltaMode,o=Date.now(),f=Math.min(o-this.lastTimeStamp,64);this.lastTimeStamp=o;var a=f/1e3;this.isActive=!0,-1!==this.isActiveID&&(this.isActive=!0,clearTimeout(this.isActiveID)),this.isActiveID=setTimeout((function(){t.isActive=!1,t.translation={x:t.offset.x,y:t.offset.y},t._handleCallback(),t.velocity={x:0,y:0},t.movement={x:0,y:0}}),200),1===r?(n*=40,i*=40):2===r&&(n*=800,i*=800),this.delta={x:n,y:i},this.movement={x:this.movement.x+n,y:this.movement.y+i},this.offset={x:this.translation.x+this.movement.x,y:this.translation.y+this.movement.y};var u=this.movement.x-this.previousMovement.x,s=this.movement.y-this.previousMovement.y;this.direction={x:Math.sign(u),y:Math.sign(s)},this.velocity={x:L(u/a/1e3,-1*X._VELOCITY_LIMIT,X._VELOCITY_LIMIT),y:L(s/a/1e3,-1*X._VELOCITY_LIMIT,X._VELOCITY_LIMIT)},this.previousMovement={x:this.movement.x,y:this.movement.y},this._handleCallback()},t}(X),z=function(e){var t=r.useRef(),n=r.useRef([]),i=r.useRef(new Map).current;return r.useEffect((function(){var t,n;try{for(var r=u(i.entries()),o=r.next();!o.done;o=r.next()){var f=s(o.value,2)[1],a=f.keyIndex,l=f.gesture,c=s(e[a],3)[2];l.applyCallback(c)}}catch(e){t={error:e}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}}),[e]),r.useEffect((function(){return e.forEach((function(e,r){var o=s(e,4),f=o[0],a=o[1],u=o[2],l=o[3];queueMicrotask((function(){return i.set(f,{keyIndex:r,gesture:a,unsubscribe:a.applyGesture({targetElement:t.current,targetElements:n.current,callback:u,config:l})})}))})),function(){var e,t;try{for(var n=u(i.entries()),r=n.next();!r.done;r=n.next()){var o=s(r.value,2)[1].unsubscribe;o&&o()}}catch(t){e={error:t}}finally{try{r&&!r.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}}})),function(e){return null==e?{ref:t}:(n.current[e]=n.current[e]||r.createRef(),{ref:n.current[e]})}};Object.defineProperty(exports,"Easing",{enumerable:!0,get:function(){return e.Easing}}),Object.defineProperty(exports,"animate",{enumerable:!0,get:function(){return e.fluid}}),Object.defineProperty(exports,"makeAnimated",{enumerable:!0,get:function(){return e.makeFluid}}),exports.AnimationConfig=_,exports.MountedBlock=function(e){var n=e.state,i=e.children,r=e.from,o=void 0===r?0:r,f=e.enter,a=void 0===f?1:f,u=e.exit,s=S(n,{from:o,enter:a,exit:void 0===u?0:u,config:e.config});return t.jsx(t.Fragment,{children:s((function(e,t){return t&&i({value:e.value})}))})},exports.ScrollableBlock=function(e){var n=e.children,i=e.direction,o=void 0===i?"single":i,f=e.animationConfig,a=e.threshold,u=void 0===a?.2:a,l=r.useRef(null),c=O(0,f);return r.useEffect((function(){var e=l.current,t=new IntersectionObserver((function(e){s(e,1)[0].isIntersecting?c.value=1:"both"===o&&(c.value=0)}),{root:null,threshold:u});return e&&t.observe(e),function(){e&&t.unobserve(e)}}),[]),t.jsx("div",{ref:l,children:n&&n({value:c.value})})},exports.TransitionBlock=function(e){var n=e.state,i=e.children,r=e.config,o=O(C(n),r);return t.jsx(t.Fragment,{children:i({value:o.value})})},exports.bInterpolate=function(e,t,n,i){return E(e,[0,1],[t,n],i)},exports.bin=C,exports.clamp=L,exports.delay=function(e){return new Promise((function(t){setTimeout((function(){return t(null)}),e)}))},exports.interpolate=E,exports.mix=function(e,t,n){return t*(1-e)+n*e},exports.move=function(e,t,n){var i=e[t],r=e.length,o=t-n;if(o>0)return l(l(l(l([],s(e.slice(0,n)),!1),[i],!1),s(e.slice(n,t)),!1),s(e.slice(t+1,r)),!1);if(o<0){var f=n+1;return l(l(l(l([],s(e.slice(0,t)),!1),s(e.slice(t+1,f)),!1),[i],!1),s(e.slice(f,r)),!1)}return e},exports.rubberClamp=function(e,t,n,i){return void 0===i&&(i=.15),0===i?L(e,t,n):e<t?-Y(t-e,n-t,i)+t:e>n?+Y(e-n,n-t,i)+n:e},exports.snapTo=function(e,t,n){var i=e+.2*t,r=function(e){return Math.abs(e-i)},o=n.map(r),f=Math.min.apply(Math,l([],s(o),!1));return n.reduce((function(e,t){return r(t)===f?t:e}))},exports.useDrag=function(e,t){var n=r.useRef(new F).current;return z([["drag",n,e,t]])},exports.useGesture=function(e){var t=e.onDrag,n=e.onWheel,i=e.onScroll,o=e.onMouseMove,f=r.useRef(new F).current,a=r.useRef(new P).current,u=r.useRef(new W).current,s=r.useRef(new j).current;return z([["drag",f,t],["wheel",a,n],["scroll",u,i],["move",s,o]])},exports.useMeasure=function(e,t){var i=n.useRef(null),r=n.useRef([]),o=n.useRef(e);return n.useEffect((function(){return o.current=e,function(){o.current=function(){return!1}}}),t),n.useEffect((function(){var e=i.current||document.documentElement,t=r.current,n=new ResizeObserver((function(t){var n=s(t,1)[0].target.getBoundingClientRect(),i=n.left,r=n.top,f=n.width,a=n.height,u=window.pageXOffset,l=window.pageYOffset;if(o){if(e===document.documentElement)return;o.current({left:i+u,top:r+l,width:f,height:a,vLeft:i,vTop:r})}})),f=new ResizeObserver((function(e){var t=[],n=[],i=[],r=[],f=[],a=[];e.forEach((function(e){var o=e.target.getBoundingClientRect(),u=o.left,s=o.top,l=o.width,c=o.height,h=u+window.pageXOffset,d=s+window.pageYOffset;t.push(h),n.push(d),i.push(l),r.push(c),f.push(u),a.push(s)})),o&&o.current({left:t,top:n,width:i,height:r,vLeft:f,vTop:a})}));return e&&(e===document.documentElement&&t.length>0?t.forEach((function(e){f.observe(e.current)})):n.observe(e)),function(){e&&(e===document.documentElement&&t.length>0?t.forEach((function(e){f.unobserve(e.current)})):n.unobserve(e))}}),[]),function(e){return null==e?{ref:i}:(r.current[e]=r.current[e]||n.createRef(),{ref:r.current[e]})}},exports.useMount=S,exports.useMouseMove=function(e){var t=r.useRef(new j).current;return z([["move",t,e]])},exports.useOutsideClick=function(e,t,i){var r=n.useRef();r.current||(r.current=t),n.useEffect((function(){return r.current=t,function(){r.current=function(){return!1}}}),i),n.useEffect((function(){var t=q([document],[["mousedown",function(t){var n=t.target;n&&n.isConnected&&(e.current&&!e.current.contains(n)&&r.current&&r.current(t))}]]);return function(){return t&&t()}}),[])},exports.useScroll=function(e){var t=r.useRef(new W).current;return z([["scroll",t,e]])},exports.useValue=O,exports.useValues=function(e,t){var i=n.useRef(!0),r=s(function(e,t){var i=n.useRef(new T(e,t)).current,r=n.useCallback((function(e,t){i.setFluid(e,t)}),[]);return[n.useMemo((function(){return i.getFluid()}),[]),r]}(e,a(a({},_.EASE),t)),2),o=r[0],f=r[1],u=n.useCallback((function(e){var t=e.map((function(e){return Array.isArray(e)?e.map((function(e){return M(e)})):M(e)}));queueMicrotask((function(){return f(t)}))}),[]);return n.useLayoutEffect((function(){i.current||u(e),i.current=!1}),[e,t]),{set value(e){u(e)},get value(){return o},get currentValue(){return o.map((function(e){return e.get()}))}}},exports.useWheel=function(e){var t=r.useRef(new P).current;return z([["wheel",t,e]])},exports.useWindowDimension=function(e,t){var i=n.useRef({width:0,height:0,innerWidth:0,innerHeight:0}),r=n.useRef(e);n.useEffect((function(){return r.current=e,function(){r.current=function(){return!1}}}),t),n.useEffect((function(){var e=new ResizeObserver((function(e){var t=s(e,1)[0].target,n=t.clientWidth,o=t.clientHeight,f=window.innerWidth,u=window.innerHeight;i.current={width:n,height:o,innerWidth:f,innerHeight:u},r&&r.current(a({},i.current))}));return e.observe(document.documentElement),function(){return e.unobserve(document.documentElement)}}),[])},exports.withConfig=R,exports.withDecay=function(e){return{config:a({decay:!0},e)}},exports.withDelay=function(e,t){return a(a({},t),{config:a(a({},t.config),{delay:e})})},exports.withEase=function(e,t){return R(e,a(a({},_.EASE),t))},exports.withLoop=function(e,t){if(Array.isArray(e)){for(var n=[],i=0;i<t;i++)n=n.concat(e);return n}return Array(t).fill({toValue:e.toValue,config:a(a({},e.config),{loop:t})})},exports.withSequence=function(e){return V(e)},exports.withSpring=function(e,t){return R(e,a(a({},_.ELASTIC),t))},exports.withTiming=function(e,t){return R(e,a({duration:250},t))};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|