@hanzogui/animations-css 2.0.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.
- package/LICENSE +21 -0
- package/dist/cjs/createAnimations.cjs +251 -0
- package/dist/cjs/createAnimations.native.js +337 -0
- package/dist/cjs/createAnimations.native.js.map +1 -0
- package/dist/cjs/index.cjs +18 -0
- package/dist/cjs/index.native.js +21 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/esm/createAnimations.mjs +217 -0
- package/dist/esm/createAnimations.mjs.map +1 -0
- package/dist/esm/createAnimations.native.js +300 -0
- package/dist/esm/createAnimations.native.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/index.mjs +2 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +2 -0
- package/dist/esm/index.native.js.map +1 -0
- package/package.json +54 -0
- package/src/createAnimations.tsx +698 -0
- package/src/index.ts +1 -0
- package/types/createAnimations.d.ts +4 -0
- package/types/createAnimations.d.ts.map +11 -0
- package/types/index.d.ts +3 -0
- package/types/index.d.ts.map +11 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2020 Nate Wienert
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf,
|
|
6
|
+
__hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: !0
|
|
11
|
+
});
|
|
12
|
+
},
|
|
13
|
+
__copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
15
|
+
get: () => from[key],
|
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
|
+
});
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
26
|
+
value: mod,
|
|
27
|
+
enumerable: !0
|
|
28
|
+
}) : target, mod)),
|
|
29
|
+
__toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
30
|
+
value: !0
|
|
31
|
+
}), mod);
|
|
32
|
+
var createAnimations_exports = {};
|
|
33
|
+
__export(createAnimations_exports, {
|
|
34
|
+
createAnimations: () => createAnimations
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(createAnimations_exports);
|
|
37
|
+
var import_animation_helpers = require("@hanzogui/animation-helpers"),
|
|
38
|
+
import_constants = require("@hanzogui/constants"),
|
|
39
|
+
import_use_presence = require("@hanzogui/use-presence"),
|
|
40
|
+
import_web = require("@hanzogui/web"),
|
|
41
|
+
import_react = __toESM(require("react"), 1);
|
|
42
|
+
const EXTRACT_MS_REGEX = /(\d+(?:\.\d+)?)\s*ms/,
|
|
43
|
+
EXTRACT_S_REGEX = /(\d+(?:\.\d+)?)\s*s/;
|
|
44
|
+
function extractDuration(animation) {
|
|
45
|
+
const msMatch = animation.match(EXTRACT_MS_REGEX);
|
|
46
|
+
if (msMatch) return Number.parseInt(msMatch[1], 10);
|
|
47
|
+
const sMatch = animation.match(EXTRACT_S_REGEX);
|
|
48
|
+
return sMatch ? Math.round(Number.parseFloat(sMatch[1]) * 1e3) : 300;
|
|
49
|
+
}
|
|
50
|
+
const MS_DURATION_REGEX = /(\d+(?:\.\d+)?)\s*ms/,
|
|
51
|
+
S_DURATION_REGEX = /(\d+(?:\.\d+)?)\s*s(?!tiffness)/;
|
|
52
|
+
function applyDurationOverride(animation, durationMs) {
|
|
53
|
+
const msReplaced = animation.replace(MS_DURATION_REGEX, `${durationMs}ms`);
|
|
54
|
+
if (msReplaced !== animation) return msReplaced;
|
|
55
|
+
const sReplaced = animation.replace(S_DURATION_REGEX, `${durationMs}ms`);
|
|
56
|
+
return sReplaced !== animation ? sReplaced : `${durationMs}ms ${animation}`;
|
|
57
|
+
}
|
|
58
|
+
const TRANSFORM_KEYS = ["x", "y", "scale", "scaleX", "scaleY", "rotate", "rotateX", "rotateY", "rotateZ", "skewX", "skewY"];
|
|
59
|
+
function buildTransformString(style) {
|
|
60
|
+
if (!style) return "";
|
|
61
|
+
const parts = [];
|
|
62
|
+
if (style.x !== void 0 || style.y !== void 0) {
|
|
63
|
+
const x = style.x ?? 0,
|
|
64
|
+
y = style.y ?? 0;
|
|
65
|
+
parts.push(`translate(${x}px, ${y}px)`);
|
|
66
|
+
}
|
|
67
|
+
if (style.scale !== void 0 && parts.push(`scale(${style.scale})`), style.scaleX !== void 0 && parts.push(`scaleX(${style.scaleX})`), style.scaleY !== void 0 && parts.push(`scaleY(${style.scaleY})`), style.rotate !== void 0) {
|
|
68
|
+
const val = style.rotate,
|
|
69
|
+
unit = typeof val == "string" && val.includes("deg") ? "" : "deg";
|
|
70
|
+
parts.push(`rotate(${val}${unit})`);
|
|
71
|
+
}
|
|
72
|
+
return style.rotateX !== void 0 && parts.push(`rotateX(${style.rotateX}deg)`), style.rotateY !== void 0 && parts.push(`rotateY(${style.rotateY}deg)`), style.rotateZ !== void 0 && parts.push(`rotateZ(${style.rotateZ}deg)`), style.skewX !== void 0 && parts.push(`skewX(${style.skewX}deg)`), style.skewY !== void 0 && parts.push(`skewY(${style.skewY}deg)`), parts.join(" ");
|
|
73
|
+
}
|
|
74
|
+
function applyStylesToNode(node, style) {
|
|
75
|
+
if (!style) return;
|
|
76
|
+
const transformStr = buildTransformString(style);
|
|
77
|
+
transformStr && (node.style.transform = transformStr);
|
|
78
|
+
for (const [key, value] of Object.entries(style)) TRANSFORM_KEYS.includes(key) || value !== void 0 && (key === "opacity" ? node.style.opacity = String(value) : key === "backgroundColor" ? node.style.backgroundColor = String(value) : key === "color" ? node.style.color = String(value) : node.style[key] = typeof value == "number" ? `${value}px` : String(value));
|
|
79
|
+
}
|
|
80
|
+
function createAnimations(animations) {
|
|
81
|
+
const reactionListeners = /* @__PURE__ */new WeakMap();
|
|
82
|
+
return {
|
|
83
|
+
animations,
|
|
84
|
+
usePresence: import_use_presence.usePresence,
|
|
85
|
+
ResetPresence: import_use_presence.ResetPresence,
|
|
86
|
+
inputStyle: "css",
|
|
87
|
+
outputStyle: "css",
|
|
88
|
+
useAnimatedNumber(initial) {
|
|
89
|
+
const [val, setVal] = import_react.default.useState(initial),
|
|
90
|
+
finishTimerRef = import_react.default.useRef(null);
|
|
91
|
+
return {
|
|
92
|
+
getInstance() {
|
|
93
|
+
return setVal;
|
|
94
|
+
},
|
|
95
|
+
getValue() {
|
|
96
|
+
return val;
|
|
97
|
+
},
|
|
98
|
+
setValue(next, config, onFinish) {
|
|
99
|
+
if (setVal(next), finishTimerRef.current && (clearTimeout(finishTimerRef.current), finishTimerRef.current = null), onFinish) if (!config || config.type === "direct" || config.type === "timing" && config.duration === 0) onFinish();else {
|
|
100
|
+
const duration = config.type === "timing" ? config.duration : 300;
|
|
101
|
+
finishTimerRef.current = setTimeout(onFinish, duration);
|
|
102
|
+
}
|
|
103
|
+
const listeners = reactionListeners.get(setVal);
|
|
104
|
+
listeners && listeners.forEach(listener => listener(next));
|
|
105
|
+
},
|
|
106
|
+
stop() {
|
|
107
|
+
finishTimerRef.current && (clearTimeout(finishTimerRef.current), finishTimerRef.current = null);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
},
|
|
111
|
+
useAnimatedNumberReaction({
|
|
112
|
+
value
|
|
113
|
+
}, onValue) {
|
|
114
|
+
import_react.default.useEffect(() => {
|
|
115
|
+
const instance = value.getInstance();
|
|
116
|
+
let queue = reactionListeners.get(instance);
|
|
117
|
+
if (!queue) {
|
|
118
|
+
const next = /* @__PURE__ */new Set();
|
|
119
|
+
reactionListeners.set(instance, next), queue = next;
|
|
120
|
+
}
|
|
121
|
+
return queue.add(onValue), () => {
|
|
122
|
+
queue?.delete(onValue);
|
|
123
|
+
};
|
|
124
|
+
}, []);
|
|
125
|
+
},
|
|
126
|
+
useAnimatedNumberStyle(val, getStyle) {
|
|
127
|
+
return getStyle(val.getValue());
|
|
128
|
+
},
|
|
129
|
+
// @ts-ignore - styleState is added by createComponent
|
|
130
|
+
useAnimations: ({
|
|
131
|
+
props,
|
|
132
|
+
presence,
|
|
133
|
+
style,
|
|
134
|
+
componentState,
|
|
135
|
+
stateRef,
|
|
136
|
+
styleState
|
|
137
|
+
}) => {
|
|
138
|
+
const isHydrating = componentState.unmounted === !0,
|
|
139
|
+
isEntering = !!componentState.unmounted,
|
|
140
|
+
isExiting = presence?.[0] === !1,
|
|
141
|
+
sendExitComplete = presence?.[1],
|
|
142
|
+
wasEnteringRef = import_react.default.useRef(isEntering),
|
|
143
|
+
justFinishedEntering = wasEnteringRef.current && !isEntering;
|
|
144
|
+
import_react.default.useEffect(() => {
|
|
145
|
+
wasEnteringRef.current = isEntering;
|
|
146
|
+
});
|
|
147
|
+
const exitCycleIdRef = import_react.default.useRef(0),
|
|
148
|
+
exitCompletedRef = import_react.default.useRef(!1),
|
|
149
|
+
wasExitingRef = import_react.default.useRef(!1),
|
|
150
|
+
exitInterruptedRef = import_react.default.useRef(!1),
|
|
151
|
+
justStartedExiting = isExiting && !wasExitingRef.current,
|
|
152
|
+
justStoppedExiting = !isExiting && wasExitingRef.current;
|
|
153
|
+
justStartedExiting && (exitCycleIdRef.current++, exitCompletedRef.current = !1), justStoppedExiting && (exitCycleIdRef.current++, exitInterruptedRef.current = !0), import_react.default.useEffect(() => {
|
|
154
|
+
wasExitingRef.current = isExiting;
|
|
155
|
+
});
|
|
156
|
+
const effectiveTransition = styleState?.effectiveTransition ?? props.transition,
|
|
157
|
+
normalized = (0, import_animation_helpers.normalizeTransition)(effectiveTransition),
|
|
158
|
+
effectiveAnimationKey = (0, import_animation_helpers.getEffectiveAnimation)(normalized, isExiting ? "exit" : isEntering || justFinishedEntering ? "enter" : "default"),
|
|
159
|
+
defaultAnimation = effectiveAnimationKey ? animations[effectiveAnimationKey] : null,
|
|
160
|
+
animatedProperties = (0, import_animation_helpers.getAnimatedProperties)(normalized),
|
|
161
|
+
hasDefault = normalized.default !== null || normalized.enter !== null || normalized.exit !== null,
|
|
162
|
+
hasPerPropertyConfigs = animatedProperties.length > 0;
|
|
163
|
+
let keys;
|
|
164
|
+
if (props.animateOnly ? keys = props.animateOnly : hasPerPropertyConfigs && !hasDefault ? keys = animatedProperties : hasPerPropertyConfigs && hasDefault ? keys = ["all", ...animatedProperties] : keys = ["all"], (0, import_constants.useIsomorphicLayoutEffect)(() => {
|
|
165
|
+
const host = stateRef.current.host;
|
|
166
|
+
if (!sendExitComplete || !isExiting || !host) return;
|
|
167
|
+
const node = host,
|
|
168
|
+
cycleId = exitCycleIdRef.current,
|
|
169
|
+
completeExit = () => {
|
|
170
|
+
cycleId === exitCycleIdRef.current && (exitCompletedRef.current || (exitCompletedRef.current = !0, sendExitComplete()));
|
|
171
|
+
};
|
|
172
|
+
if (keys.length === 0) {
|
|
173
|
+
completeExit();
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
let rafId;
|
|
177
|
+
const wasInterrupted = exitInterruptedRef.current;
|
|
178
|
+
let ignoreCancelEvents = wasInterrupted;
|
|
179
|
+
const enterStyle = props.enterStyle,
|
|
180
|
+
exitStyle = props.exitStyle,
|
|
181
|
+
delayStr2 = normalized.delay ? ` ${normalized.delay}ms` : "",
|
|
182
|
+
durationOverride2 = normalized.config?.duration,
|
|
183
|
+
exitTransitionString = keys.map(key => {
|
|
184
|
+
const propAnimation = normalized.properties[key];
|
|
185
|
+
let animationValue = null;
|
|
186
|
+
return typeof propAnimation == "string" ? animationValue = animations[propAnimation] : propAnimation && typeof propAnimation == "object" && propAnimation.type ? animationValue = animations[propAnimation.type] : defaultAnimation && (animationValue = defaultAnimation), animationValue && durationOverride2 && (animationValue = applyDurationOverride(animationValue, durationOverride2)), animationValue ? `${key} ${animationValue}${delayStr2}` : null;
|
|
187
|
+
}).filter(Boolean).join(", ");
|
|
188
|
+
if (wasInterrupted) {
|
|
189
|
+
if (exitInterruptedRef.current = !1, node.style.transition = "none", exitStyle) {
|
|
190
|
+
const resetStyle = {};
|
|
191
|
+
for (const key of Object.keys(exitStyle)) key === "opacity" ? resetStyle[key] = 1 : TRANSFORM_KEYS.includes(key) ? resetStyle[key] = key === "scale" || key === "scaleX" || key === "scaleY" ? 1 : 0 : enterStyle?.[key] !== void 0 && (resetStyle[key] = enterStyle[key]);
|
|
192
|
+
applyStylesToNode(node, resetStyle);
|
|
193
|
+
} else node.style.opacity = "1", node.style.transform = "none";
|
|
194
|
+
node.offsetHeight;
|
|
195
|
+
} else if (exitStyle) {
|
|
196
|
+
ignoreCancelEvents = !0, node.style.transition = "none";
|
|
197
|
+
const resetStyle = {};
|
|
198
|
+
for (const key of Object.keys(exitStyle)) key === "opacity" ? resetStyle[key] = 1 : TRANSFORM_KEYS.includes(key) ? resetStyle[key] = key === "scale" || key === "scaleX" || key === "scaleY" ? 1 : 0 : enterStyle?.[key] !== void 0 && (resetStyle[key] = enterStyle[key]);
|
|
199
|
+
applyStylesToNode(node, resetStyle), node.offsetHeight, rafId = requestAnimationFrame(() => {
|
|
200
|
+
cycleId === exitCycleIdRef.current && (node.style.transition = exitTransitionString, node.offsetHeight, applyStylesToNode(node, exitStyle), ignoreCancelEvents = !1);
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
let maxDuration = defaultAnimation ? extractDuration(defaultAnimation) : 200;
|
|
204
|
+
const animationConfigs = (0, import_animation_helpers.getAnimationConfigsForKeys)(normalized, animations, keys, defaultAnimation);
|
|
205
|
+
for (const animationValue of animationConfigs.values()) if (animationValue) {
|
|
206
|
+
const duration = extractDuration(animationValue);
|
|
207
|
+
duration > maxDuration && (maxDuration = duration);
|
|
208
|
+
}
|
|
209
|
+
const delay = normalized.delay ?? 0,
|
|
210
|
+
fallbackTimeout = maxDuration + delay,
|
|
211
|
+
timeoutId = setTimeout(() => {
|
|
212
|
+
completeExit();
|
|
213
|
+
}, fallbackTimeout),
|
|
214
|
+
transitioningProps = new Set(keys);
|
|
215
|
+
let completedCount = 0;
|
|
216
|
+
const onFinishAnimation = event => {
|
|
217
|
+
if (event.target !== node) return;
|
|
218
|
+
const eventProp = event.propertyName;
|
|
219
|
+
(transitioningProps.has(eventProp) || eventProp === "all") && (completedCount++, completedCount >= transitioningProps.size && (clearTimeout(timeoutId), completeExit()));
|
|
220
|
+
},
|
|
221
|
+
onCancelAnimation = () => {
|
|
222
|
+
ignoreCancelEvents || (clearTimeout(timeoutId), completeExit());
|
|
223
|
+
};
|
|
224
|
+
return node.addEventListener("transitionend", onFinishAnimation), node.addEventListener("transitioncancel", onCancelAnimation), wasInterrupted && (rafId = requestAnimationFrame(() => {
|
|
225
|
+
cycleId === exitCycleIdRef.current && (node.style.transition = exitTransitionString, node.offsetHeight, applyStylesToNode(node, exitStyle), ignoreCancelEvents = !1);
|
|
226
|
+
})), () => {
|
|
227
|
+
clearTimeout(timeoutId), rafId !== void 0 && cancelAnimationFrame(rafId), node.removeEventListener("transitionend", onFinishAnimation), node.removeEventListener("transitioncancel", onCancelAnimation), node.style.transition = "";
|
|
228
|
+
};
|
|
229
|
+
}, [sendExitComplete, isExiting, stateRef, keys, normalized, defaultAnimation, props.enterStyle, props.exitStyle]), isHydrating || !(0, import_animation_helpers.hasAnimation)(normalized)) return null;
|
|
230
|
+
Array.isArray(style.transform) && (style.transform = (0, import_web.transformsToString)(style.transform));
|
|
231
|
+
const delayStr = normalized.delay ? ` ${normalized.delay}ms` : "",
|
|
232
|
+
durationOverride = normalized.config?.duration;
|
|
233
|
+
return style.transition = keys.map(key => {
|
|
234
|
+
const propAnimation = normalized.properties[key];
|
|
235
|
+
let animationValue = null;
|
|
236
|
+
return typeof propAnimation == "string" ? animationValue = animations[propAnimation] : propAnimation && typeof propAnimation == "object" && propAnimation.type ? animationValue = animations[propAnimation.type] : defaultAnimation && (animationValue = defaultAnimation), animationValue && durationOverride && (animationValue = applyDurationOverride(animationValue, durationOverride)), animationValue ? `${key} ${animationValue}${delayStr}` : null;
|
|
237
|
+
}).filter(Boolean).join(", "), process.env.NODE_ENV === "development" && props.debug === "verbose" && console.info("CSS animation", {
|
|
238
|
+
props,
|
|
239
|
+
animations,
|
|
240
|
+
normalized,
|
|
241
|
+
defaultAnimation,
|
|
242
|
+
style,
|
|
243
|
+
isEntering,
|
|
244
|
+
isExiting
|
|
245
|
+
}), {
|
|
246
|
+
style,
|
|
247
|
+
className: isEntering ? "t_unmounted" : ""
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
}
|
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf,
|
|
8
|
+
__hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all) __defProp(target, name, {
|
|
11
|
+
get: all[name],
|
|
12
|
+
enumerable: !0
|
|
13
|
+
});
|
|
14
|
+
},
|
|
15
|
+
__copyProps = (to, from, except, desc) => {
|
|
16
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
17
|
+
get: () => from[key],
|
|
18
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
+
});
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
24
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
25
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
28
|
+
value: mod,
|
|
29
|
+
enumerable: !0
|
|
30
|
+
}) : target, mod)),
|
|
31
|
+
__toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
32
|
+
value: !0
|
|
33
|
+
}), mod);
|
|
34
|
+
var createAnimations_exports = {};
|
|
35
|
+
__export(createAnimations_exports, {
|
|
36
|
+
createAnimations: () => createAnimations
|
|
37
|
+
});
|
|
38
|
+
module.exports = __toCommonJS(createAnimations_exports);
|
|
39
|
+
var import_animation_helpers = require("@hanzogui/animation-helpers"),
|
|
40
|
+
import_constants = require("@hanzogui/constants"),
|
|
41
|
+
import_use_presence = require("@hanzogui/use-presence"),
|
|
42
|
+
import_web = require("@hanzogui/web"),
|
|
43
|
+
import_react = __toESM(require("react"), 1);
|
|
44
|
+
function _type_of(obj) {
|
|
45
|
+
"@swc/helpers - typeof";
|
|
46
|
+
|
|
47
|
+
return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
48
|
+
}
|
|
49
|
+
var EXTRACT_MS_REGEX = /(\d+(?:\.\d+)?)\s*ms/,
|
|
50
|
+
EXTRACT_S_REGEX = /(\d+(?:\.\d+)?)\s*s/;
|
|
51
|
+
function extractDuration(animation) {
|
|
52
|
+
var msMatch = animation.match(EXTRACT_MS_REGEX);
|
|
53
|
+
if (msMatch) return Number.parseInt(msMatch[1], 10);
|
|
54
|
+
var sMatch = animation.match(EXTRACT_S_REGEX);
|
|
55
|
+
return sMatch ? Math.round(Number.parseFloat(sMatch[1]) * 1e3) : 300;
|
|
56
|
+
}
|
|
57
|
+
var MS_DURATION_REGEX = /(\d+(?:\.\d+)?)\s*ms/,
|
|
58
|
+
S_DURATION_REGEX = /(\d+(?:\.\d+)?)\s*s(?!tiffness)/;
|
|
59
|
+
function applyDurationOverride(animation, durationMs) {
|
|
60
|
+
var msReplaced = animation.replace(MS_DURATION_REGEX, `${durationMs}ms`);
|
|
61
|
+
if (msReplaced !== animation) return msReplaced;
|
|
62
|
+
var sReplaced = animation.replace(S_DURATION_REGEX, `${durationMs}ms`);
|
|
63
|
+
return sReplaced !== animation ? sReplaced : `${durationMs}ms ${animation}`;
|
|
64
|
+
}
|
|
65
|
+
var TRANSFORM_KEYS = ["x", "y", "scale", "scaleX", "scaleY", "rotate", "rotateX", "rotateY", "rotateZ", "skewX", "skewY"];
|
|
66
|
+
function buildTransformString(style) {
|
|
67
|
+
if (!style) return "";
|
|
68
|
+
var parts = [];
|
|
69
|
+
if (style.x !== void 0 || style.y !== void 0) {
|
|
70
|
+
var _style_x,
|
|
71
|
+
x = (_style_x = style.x) !== null && _style_x !== void 0 ? _style_x : 0,
|
|
72
|
+
_style_y,
|
|
73
|
+
y = (_style_y = style.y) !== null && _style_y !== void 0 ? _style_y : 0;
|
|
74
|
+
parts.push(`translate(${x}px, ${y}px)`);
|
|
75
|
+
}
|
|
76
|
+
if (style.scale !== void 0 && parts.push(`scale(${style.scale})`), style.scaleX !== void 0 && parts.push(`scaleX(${style.scaleX})`), style.scaleY !== void 0 && parts.push(`scaleY(${style.scaleY})`), style.rotate !== void 0) {
|
|
77
|
+
var val = style.rotate,
|
|
78
|
+
unit = typeof val == "string" && val.includes("deg") ? "" : "deg";
|
|
79
|
+
parts.push(`rotate(${val}${unit})`);
|
|
80
|
+
}
|
|
81
|
+
return style.rotateX !== void 0 && parts.push(`rotateX(${style.rotateX}deg)`), style.rotateY !== void 0 && parts.push(`rotateY(${style.rotateY}deg)`), style.rotateZ !== void 0 && parts.push(`rotateZ(${style.rotateZ}deg)`), style.skewX !== void 0 && parts.push(`skewX(${style.skewX}deg)`), style.skewY !== void 0 && parts.push(`skewY(${style.skewY}deg)`), parts.join(" ");
|
|
82
|
+
}
|
|
83
|
+
function applyStylesToNode(node, style) {
|
|
84
|
+
if (style) {
|
|
85
|
+
var transformStr = buildTransformString(style);
|
|
86
|
+
transformStr && (node.style.transform = transformStr);
|
|
87
|
+
var _iteratorNormalCompletion = !0,
|
|
88
|
+
_didIteratorError = !1,
|
|
89
|
+
_iteratorError = void 0;
|
|
90
|
+
try {
|
|
91
|
+
for (var _iterator = Object.entries(style)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
92
|
+
var [key, value] = _step.value;
|
|
93
|
+
TRANSFORM_KEYS.includes(key) || value !== void 0 && (key === "opacity" ? node.style.opacity = String(value) : key === "backgroundColor" ? node.style.backgroundColor = String(value) : key === "color" ? node.style.color = String(value) : node.style[key] = typeof value == "number" ? `${value}px` : String(value));
|
|
94
|
+
}
|
|
95
|
+
} catch (err) {
|
|
96
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
97
|
+
} finally {
|
|
98
|
+
try {
|
|
99
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
100
|
+
} finally {
|
|
101
|
+
if (_didIteratorError) throw _iteratorError;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function createAnimations(animations) {
|
|
107
|
+
var reactionListeners = /* @__PURE__ */new WeakMap();
|
|
108
|
+
return {
|
|
109
|
+
animations,
|
|
110
|
+
usePresence: import_use_presence.usePresence,
|
|
111
|
+
ResetPresence: import_use_presence.ResetPresence,
|
|
112
|
+
inputStyle: "css",
|
|
113
|
+
outputStyle: "css",
|
|
114
|
+
useAnimatedNumber(initial) {
|
|
115
|
+
var [val, setVal] = import_react.default.useState(initial),
|
|
116
|
+
finishTimerRef = import_react.default.useRef(null);
|
|
117
|
+
return {
|
|
118
|
+
getInstance() {
|
|
119
|
+
return setVal;
|
|
120
|
+
},
|
|
121
|
+
getValue() {
|
|
122
|
+
return val;
|
|
123
|
+
},
|
|
124
|
+
setValue(next, config, onFinish) {
|
|
125
|
+
if (setVal(next), finishTimerRef.current && (clearTimeout(finishTimerRef.current), finishTimerRef.current = null), onFinish) if (!config || config.type === "direct" || config.type === "timing" && config.duration === 0) onFinish();else {
|
|
126
|
+
var duration = config.type === "timing" ? config.duration : 300;
|
|
127
|
+
finishTimerRef.current = setTimeout(onFinish, duration);
|
|
128
|
+
}
|
|
129
|
+
var listeners = reactionListeners.get(setVal);
|
|
130
|
+
listeners && listeners.forEach(function (listener) {
|
|
131
|
+
return listener(next);
|
|
132
|
+
});
|
|
133
|
+
},
|
|
134
|
+
stop() {
|
|
135
|
+
finishTimerRef.current && (clearTimeout(finishTimerRef.current), finishTimerRef.current = null);
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
},
|
|
139
|
+
useAnimatedNumberReaction(param, onValue) {
|
|
140
|
+
var {
|
|
141
|
+
value
|
|
142
|
+
} = param;
|
|
143
|
+
import_react.default.useEffect(function () {
|
|
144
|
+
var instance = value.getInstance(),
|
|
145
|
+
queue = reactionListeners.get(instance);
|
|
146
|
+
if (!queue) {
|
|
147
|
+
var next = /* @__PURE__ */new Set();
|
|
148
|
+
reactionListeners.set(instance, next), queue = next;
|
|
149
|
+
}
|
|
150
|
+
return queue.add(onValue), function () {
|
|
151
|
+
queue?.delete(onValue);
|
|
152
|
+
};
|
|
153
|
+
}, []);
|
|
154
|
+
},
|
|
155
|
+
useAnimatedNumberStyle(val, getStyle) {
|
|
156
|
+
return getStyle(val.getValue());
|
|
157
|
+
},
|
|
158
|
+
// @ts-ignore - styleState is added by createComponent
|
|
159
|
+
useAnimations: function (param) {
|
|
160
|
+
var {
|
|
161
|
+
props,
|
|
162
|
+
presence,
|
|
163
|
+
style,
|
|
164
|
+
componentState,
|
|
165
|
+
stateRef,
|
|
166
|
+
styleState
|
|
167
|
+
} = param,
|
|
168
|
+
_normalized_config,
|
|
169
|
+
isHydrating = componentState.unmounted === !0,
|
|
170
|
+
isEntering = !!componentState.unmounted,
|
|
171
|
+
isExiting = presence?.[0] === !1,
|
|
172
|
+
sendExitComplete = presence?.[1],
|
|
173
|
+
wasEnteringRef = import_react.default.useRef(isEntering),
|
|
174
|
+
justFinishedEntering = wasEnteringRef.current && !isEntering;
|
|
175
|
+
import_react.default.useEffect(function () {
|
|
176
|
+
wasEnteringRef.current = isEntering;
|
|
177
|
+
});
|
|
178
|
+
var exitCycleIdRef = import_react.default.useRef(0),
|
|
179
|
+
exitCompletedRef = import_react.default.useRef(!1),
|
|
180
|
+
wasExitingRef = import_react.default.useRef(!1),
|
|
181
|
+
exitInterruptedRef = import_react.default.useRef(!1),
|
|
182
|
+
justStartedExiting = isExiting && !wasExitingRef.current,
|
|
183
|
+
justStoppedExiting = !isExiting && wasExitingRef.current;
|
|
184
|
+
justStartedExiting && (exitCycleIdRef.current++, exitCompletedRef.current = !1), justStoppedExiting && (exitCycleIdRef.current++, exitInterruptedRef.current = !0), import_react.default.useEffect(function () {
|
|
185
|
+
wasExitingRef.current = isExiting;
|
|
186
|
+
});
|
|
187
|
+
var _styleState_effectiveTransition,
|
|
188
|
+
effectiveTransition = (_styleState_effectiveTransition = styleState?.effectiveTransition) !== null && _styleState_effectiveTransition !== void 0 ? _styleState_effectiveTransition : props.transition,
|
|
189
|
+
normalized = (0, import_animation_helpers.normalizeTransition)(effectiveTransition),
|
|
190
|
+
animationState = isExiting ? "exit" : isEntering || justFinishedEntering ? "enter" : "default",
|
|
191
|
+
effectiveAnimationKey = (0, import_animation_helpers.getEffectiveAnimation)(normalized, animationState),
|
|
192
|
+
defaultAnimation = effectiveAnimationKey ? animations[effectiveAnimationKey] : null,
|
|
193
|
+
animatedProperties = (0, import_animation_helpers.getAnimatedProperties)(normalized),
|
|
194
|
+
hasDefault = normalized.default !== null || normalized.enter !== null || normalized.exit !== null,
|
|
195
|
+
hasPerPropertyConfigs = animatedProperties.length > 0,
|
|
196
|
+
keys;
|
|
197
|
+
if (props.animateOnly ? keys = props.animateOnly : hasPerPropertyConfigs && !hasDefault ? keys = animatedProperties : hasPerPropertyConfigs && hasDefault ? keys = ["all", ...animatedProperties] : keys = ["all"], (0, import_constants.useIsomorphicLayoutEffect)(function () {
|
|
198
|
+
var _normalized_config2,
|
|
199
|
+
host = stateRef.current.host;
|
|
200
|
+
if (!(!sendExitComplete || !isExiting || !host)) {
|
|
201
|
+
var node = host,
|
|
202
|
+
cycleId = exitCycleIdRef.current,
|
|
203
|
+
completeExit = function () {
|
|
204
|
+
cycleId === exitCycleIdRef.current && (exitCompletedRef.current || (exitCompletedRef.current = !0, sendExitComplete()));
|
|
205
|
+
};
|
|
206
|
+
if (keys.length === 0) {
|
|
207
|
+
completeExit();
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
var rafId,
|
|
211
|
+
wasInterrupted = exitInterruptedRef.current,
|
|
212
|
+
ignoreCancelEvents = wasInterrupted,
|
|
213
|
+
enterStyle = props.enterStyle,
|
|
214
|
+
exitStyle = props.exitStyle,
|
|
215
|
+
delayStr2 = normalized.delay ? ` ${normalized.delay}ms` : "",
|
|
216
|
+
durationOverride2 = (_normalized_config2 = normalized.config) === null || _normalized_config2 === void 0 ? void 0 : _normalized_config2.duration,
|
|
217
|
+
exitTransitionString = keys.map(function (key2) {
|
|
218
|
+
var propAnimation = normalized.properties[key2],
|
|
219
|
+
animationValue2 = null;
|
|
220
|
+
return typeof propAnimation == "string" ? animationValue2 = animations[propAnimation] : propAnimation && (typeof propAnimation > "u" ? "undefined" : _type_of(propAnimation)) === "object" && propAnimation.type ? animationValue2 = animations[propAnimation.type] : defaultAnimation && (animationValue2 = defaultAnimation), animationValue2 && durationOverride2 && (animationValue2 = applyDurationOverride(animationValue2, durationOverride2)), animationValue2 ? `${key2} ${animationValue2}${delayStr2}` : null;
|
|
221
|
+
}).filter(Boolean).join(", ");
|
|
222
|
+
if (wasInterrupted) {
|
|
223
|
+
if (exitInterruptedRef.current = !1, node.style.transition = "none", exitStyle) {
|
|
224
|
+
var resetStyle = {},
|
|
225
|
+
_iteratorNormalCompletion = !0,
|
|
226
|
+
_didIteratorError = !1,
|
|
227
|
+
_iteratorError = void 0;
|
|
228
|
+
try {
|
|
229
|
+
for (var _iterator = Object.keys(exitStyle)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
230
|
+
var key = _step.value;
|
|
231
|
+
key === "opacity" ? resetStyle[key] = 1 : TRANSFORM_KEYS.includes(key) ? resetStyle[key] = key === "scale" || key === "scaleX" || key === "scaleY" ? 1 : 0 : enterStyle?.[key] !== void 0 && (resetStyle[key] = enterStyle[key]);
|
|
232
|
+
}
|
|
233
|
+
} catch (err) {
|
|
234
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
235
|
+
} finally {
|
|
236
|
+
try {
|
|
237
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
238
|
+
} finally {
|
|
239
|
+
if (_didIteratorError) throw _iteratorError;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
applyStylesToNode(node, resetStyle);
|
|
243
|
+
} else node.style.opacity = "1", node.style.transform = "none";
|
|
244
|
+
node.offsetHeight;
|
|
245
|
+
} else if (exitStyle) {
|
|
246
|
+
ignoreCancelEvents = !0, node.style.transition = "none";
|
|
247
|
+
var resetStyle1 = {},
|
|
248
|
+
_iteratorNormalCompletion1 = !0,
|
|
249
|
+
_didIteratorError1 = !1,
|
|
250
|
+
_iteratorError1 = void 0;
|
|
251
|
+
try {
|
|
252
|
+
for (var _iterator1 = Object.keys(exitStyle)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
|
|
253
|
+
var key1 = _step1.value;
|
|
254
|
+
key1 === "opacity" ? resetStyle1[key1] = 1 : TRANSFORM_KEYS.includes(key1) ? resetStyle1[key1] = key1 === "scale" || key1 === "scaleX" || key1 === "scaleY" ? 1 : 0 : enterStyle?.[key1] !== void 0 && (resetStyle1[key1] = enterStyle[key1]);
|
|
255
|
+
}
|
|
256
|
+
} catch (err) {
|
|
257
|
+
_didIteratorError1 = !0, _iteratorError1 = err;
|
|
258
|
+
} finally {
|
|
259
|
+
try {
|
|
260
|
+
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
|
|
261
|
+
} finally {
|
|
262
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
applyStylesToNode(node, resetStyle1), node.offsetHeight, rafId = requestAnimationFrame(function () {
|
|
266
|
+
cycleId === exitCycleIdRef.current && (node.style.transition = exitTransitionString, node.offsetHeight, applyStylesToNode(node, exitStyle), ignoreCancelEvents = !1);
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
var maxDuration = defaultAnimation ? extractDuration(defaultAnimation) : 200,
|
|
270
|
+
animationConfigs = (0, import_animation_helpers.getAnimationConfigsForKeys)(normalized, animations, keys, defaultAnimation),
|
|
271
|
+
_iteratorNormalCompletion2 = !0,
|
|
272
|
+
_didIteratorError2 = !1,
|
|
273
|
+
_iteratorError2 = void 0;
|
|
274
|
+
try {
|
|
275
|
+
for (var _iterator2 = animationConfigs.values()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
|
|
276
|
+
var animationValue = _step2.value;
|
|
277
|
+
if (animationValue) {
|
|
278
|
+
var duration = extractDuration(animationValue);
|
|
279
|
+
duration > maxDuration && (maxDuration = duration);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
} catch (err) {
|
|
283
|
+
_didIteratorError2 = !0, _iteratorError2 = err;
|
|
284
|
+
} finally {
|
|
285
|
+
try {
|
|
286
|
+
!_iteratorNormalCompletion2 && _iterator2.return != null && _iterator2.return();
|
|
287
|
+
} finally {
|
|
288
|
+
if (_didIteratorError2) throw _iteratorError2;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
var _normalized_delay,
|
|
292
|
+
delay = (_normalized_delay = normalized.delay) !== null && _normalized_delay !== void 0 ? _normalized_delay : 0,
|
|
293
|
+
fallbackTimeout = maxDuration + delay,
|
|
294
|
+
timeoutId = setTimeout(function () {
|
|
295
|
+
completeExit();
|
|
296
|
+
}, fallbackTimeout),
|
|
297
|
+
transitioningProps = new Set(keys),
|
|
298
|
+
completedCount = 0,
|
|
299
|
+
onFinishAnimation = function (event) {
|
|
300
|
+
if (event.target === node) {
|
|
301
|
+
var eventProp = event.propertyName;
|
|
302
|
+
(transitioningProps.has(eventProp) || eventProp === "all") && (completedCount++, completedCount >= transitioningProps.size && (clearTimeout(timeoutId), completeExit()));
|
|
303
|
+
}
|
|
304
|
+
},
|
|
305
|
+
onCancelAnimation = function () {
|
|
306
|
+
ignoreCancelEvents || (clearTimeout(timeoutId), completeExit());
|
|
307
|
+
};
|
|
308
|
+
return node.addEventListener("transitionend", onFinishAnimation), node.addEventListener("transitioncancel", onCancelAnimation), wasInterrupted && (rafId = requestAnimationFrame(function () {
|
|
309
|
+
cycleId === exitCycleIdRef.current && (node.style.transition = exitTransitionString, node.offsetHeight, applyStylesToNode(node, exitStyle), ignoreCancelEvents = !1);
|
|
310
|
+
})), function () {
|
|
311
|
+
clearTimeout(timeoutId), rafId !== void 0 && cancelAnimationFrame(rafId), node.removeEventListener("transitionend", onFinishAnimation), node.removeEventListener("transitioncancel", onCancelAnimation), node.style.transition = "";
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
}, [sendExitComplete, isExiting, stateRef, keys, normalized, defaultAnimation, props.enterStyle, props.exitStyle]), isHydrating || !(0, import_animation_helpers.hasAnimation)(normalized)) return null;
|
|
315
|
+
Array.isArray(style.transform) && (style.transform = (0, import_web.transformsToString)(style.transform));
|
|
316
|
+
var delayStr = normalized.delay ? ` ${normalized.delay}ms` : "",
|
|
317
|
+
durationOverride = (_normalized_config = normalized.config) === null || _normalized_config === void 0 ? void 0 : _normalized_config.duration;
|
|
318
|
+
return style.transition = keys.map(function (key) {
|
|
319
|
+
var propAnimation = normalized.properties[key],
|
|
320
|
+
animationValue = null;
|
|
321
|
+
return typeof propAnimation == "string" ? animationValue = animations[propAnimation] : propAnimation && (typeof propAnimation > "u" ? "undefined" : _type_of(propAnimation)) === "object" && propAnimation.type ? animationValue = animations[propAnimation.type] : defaultAnimation && (animationValue = defaultAnimation), animationValue && durationOverride && (animationValue = applyDurationOverride(animationValue, durationOverride)), animationValue ? `${key} ${animationValue}${delayStr}` : null;
|
|
322
|
+
}).filter(Boolean).join(", "), process.env.NODE_ENV === "development" && props.debug === "verbose" && console.info("CSS animation", {
|
|
323
|
+
props,
|
|
324
|
+
animations,
|
|
325
|
+
normalized,
|
|
326
|
+
defaultAnimation,
|
|
327
|
+
style,
|
|
328
|
+
isEntering,
|
|
329
|
+
isExiting
|
|
330
|
+
}), {
|
|
331
|
+
style,
|
|
332
|
+
className: isEntering ? "t_unmounted" : ""
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
//# sourceMappingURL=createAnimations.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createAnimations_exports","__export","createAnimations","module","exports","import_animation_helpers","require","import_constants","import_use_presence","import_web","import_react","__toESM","_type_of","obj","Symbol","constructor","EXTRACT_MS_REGEX","EXTRACT_S_REGEX","extractDuration","animation","msMatch","match","Number","parseInt","sMatch","Math","round","parseFloat","MS_DURATION_REGEX","S_DURATION_REGEX","applyDurationOverride","durationMs","msReplaced","replace","sReplaced","TRANSFORM_KEYS","buildTransformString","style","parts","x","y","_style_x","_style_y","push","scale","scaleX","scaleY","rotate","val","unit","includes","rotateX","rotateY","rotateZ","skewX","skewY","join","applyStylesToNode","node","transformStr","transform","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","iterator","_step","next","done","key","opacity","String","backgroundColor","color","err","return","animations","reactionListeners","WeakMap","usePresence","ResetPresence","inputStyle","outputStyle","useAnimatedNumber","initial","setVal","default","useState","finishTimerRef","useRef","getInstance","getValue","setValue","config","onFinish","current","clearTimeout","type","duration","setTimeout","listeners","get","forEach","listener","stop","useAnimatedNumberReaction","param","onValue","useEffect","instance","queue","Set","set","add","delete","useAnimatedNumberStyle","getStyle","useAnimations","props","presence","componentState","stateRef","styleState","_normalized_config","isHydrating","unmounted","isEntering","isExiting","sendExitComplete","wasEnteringRef","justFinishedEntering","exitCycleIdRef","exitCompletedRef","wasExitingRef","exitInterruptedRef","justStartedExiting","justStoppedExiting","_styleState_effectiveTransition","effectiveTransition","transition","normalized","normalizeTransition","animationState","effectiveAnimationKey","getEffectiveAnimation","defaultAnimation","animatedProperties","getAnimatedProperties","hasDefault","enter","exit","hasPerPropertyConfigs","length","keys","animateOnly","useIsomorphicLayoutEffect","_normalized_config2","host","cycleId","completeExit","rafId","wasInterrupted","ignoreCancelEvents","enterStyle","exitStyle","delayStr2","delay","durationOverride2","exitTransitionString","map","key2","propAnimation","properties","animationValue2","filter","Boolean","resetStyle","offsetHeight","resetStyle1","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","key1","requestAnimationFrame","maxDuration","animationConfigs","getAnimationConfigsForKeys","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","values","_step2","animationValue"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|