@hanzogui/animations-motion 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/README.md +72 -0
- package/dist/cjs/createAnimations.cjs +449 -0
- package/dist/cjs/createAnimations.native.js +548 -0
- package/dist/cjs/createAnimations.native.js.map +1 -0
- package/dist/cjs/index.cjs +19 -0
- package/dist/cjs/index.native.js +37 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/polyfill.cjs +1 -0
- package/dist/cjs/polyfill.native.js +4 -0
- package/dist/cjs/polyfill.native.js.map +1 -0
- package/dist/esm/createAnimations.mjs +414 -0
- package/dist/esm/createAnimations.mjs.map +1 -0
- package/dist/esm/createAnimations.native.js +510 -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 +11 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/polyfill.mjs +2 -0
- package/dist/esm/polyfill.mjs.map +1 -0
- package/dist/esm/polyfill.native.js +2 -0
- package/dist/esm/polyfill.native.js.map +1 -0
- package/package.json +53 -0
- package/src/createAnimations.tsx +905 -0
- package/src/index.native.ts +28 -0
- package/src/index.ts +3 -0
- package/src/polyfill.ts +4 -0
- package/types/createAnimations.d.ts +8 -0
- package/types/createAnimations.d.ts.map +11 -0
- package/types/index.d.ts +4 -0
- package/types/index.d.ts.map +11 -0
- package/types/index.native.d.ts +4 -0
- package/types/index.native.d.ts.map +11 -0
- package/types/polyfill.d.ts +2 -0
- package/types/polyfill.d.ts.map +11 -0
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
import { getEffectiveAnimation, normalizeTransition } from "@hanzogui/animation-helpers";
|
|
2
|
+
import { ResetPresence, usePresence } from "@hanzogui/use-presence";
|
|
3
|
+
import { fixStyles, getConfig, getSplitStyles, hooks, styleToCSS, Text, useComposedRefs, useIsomorphicLayoutEffect, useThemeWithState, View } from "@hanzogui/web";
|
|
4
|
+
import { useAnimate, useMotionValue, useMotionValueEvent } from "motion/react";
|
|
5
|
+
import React, { forwardRef, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
const isServer = typeof window > "u";
|
|
8
|
+
function useAnimateSSRSafe() {
|
|
9
|
+
return isServer ? [useRef(null), () => {}] : useAnimate();
|
|
10
|
+
}
|
|
11
|
+
const MotionValueStrategy = /* @__PURE__ */new WeakMap();
|
|
12
|
+
function createAnimations(animations) {
|
|
13
|
+
let isHydratingGlobal;
|
|
14
|
+
const hydratingComponents = /* @__PURE__ */new Set();
|
|
15
|
+
return {
|
|
16
|
+
View: MotionView,
|
|
17
|
+
Text: MotionText,
|
|
18
|
+
isReactNative: !1,
|
|
19
|
+
inputStyle: "css",
|
|
20
|
+
outputStyle: "inline",
|
|
21
|
+
avoidReRenders: !0,
|
|
22
|
+
animations,
|
|
23
|
+
usePresence,
|
|
24
|
+
ResetPresence,
|
|
25
|
+
onMount() {
|
|
26
|
+
isHydratingGlobal = !1, hydratingComponents.forEach(cb => cb());
|
|
27
|
+
},
|
|
28
|
+
useAnimations: animationProps => {
|
|
29
|
+
isHydratingGlobal === void 0 && !getConfig().settings.disableSSR && (isHydratingGlobal = !0);
|
|
30
|
+
const {
|
|
31
|
+
props,
|
|
32
|
+
style,
|
|
33
|
+
componentState,
|
|
34
|
+
stateRef,
|
|
35
|
+
useStyleEmitter,
|
|
36
|
+
presence
|
|
37
|
+
} = animationProps,
|
|
38
|
+
animationKey = Array.isArray(props.transition) ? props.transition[0] : props.transition,
|
|
39
|
+
isComponentHydrating = componentState.unmounted === !0,
|
|
40
|
+
isMounting = componentState.unmounted === "should-enter",
|
|
41
|
+
isEntering = !!componentState.unmounted,
|
|
42
|
+
isExiting = presence?.[0] === !1,
|
|
43
|
+
sendExitComplete = presence?.[1],
|
|
44
|
+
refs = useRef(null);
|
|
45
|
+
refs.current || (refs.current = {
|
|
46
|
+
isFirstRender: !0,
|
|
47
|
+
lastDoAnimate: null,
|
|
48
|
+
lastDontAnimate: null,
|
|
49
|
+
controls: null,
|
|
50
|
+
lastAnimateAt: 0,
|
|
51
|
+
disposed: !1,
|
|
52
|
+
wasExiting: !1,
|
|
53
|
+
isExiting: !1,
|
|
54
|
+
sendExitComplete: void 0,
|
|
55
|
+
animationState: "default",
|
|
56
|
+
frozenExitTarget: null,
|
|
57
|
+
exitCompleteScheduled: !1,
|
|
58
|
+
wasEntering: !1
|
|
59
|
+
});
|
|
60
|
+
const justFinishedEntering = refs.current.wasEntering && !isEntering;
|
|
61
|
+
useEffect(() => {
|
|
62
|
+
refs.current.wasEntering = isEntering;
|
|
63
|
+
});
|
|
64
|
+
const animationState = isExiting ? "exit" : isMounting || justFinishedEntering ? "enter" : "default",
|
|
65
|
+
disableAnimation = isComponentHydrating || isMounting || !animationKey,
|
|
66
|
+
[scope, animate] = useAnimateSSRSafe();
|
|
67
|
+
refs.current.isExiting = isExiting, refs.current.sendExitComplete = sendExitComplete, refs.current.animationState = animationState;
|
|
68
|
+
const justStartedExiting = isExiting && !refs.current.wasExiting,
|
|
69
|
+
justStoppedExiting = !isExiting && refs.current.wasExiting;
|
|
70
|
+
(justStartedExiting || justStoppedExiting) && (refs.current.frozenExitTarget = null, refs.current.exitCompleteScheduled = !1), useEffect(() => {
|
|
71
|
+
refs.current.wasExiting = isExiting;
|
|
72
|
+
});
|
|
73
|
+
const {
|
|
74
|
+
dontAnimate = {},
|
|
75
|
+
doAnimate,
|
|
76
|
+
animationOptions
|
|
77
|
+
} = getMotionAnimatedProps(props, style, disableAnimation, animationState),
|
|
78
|
+
[firstRenderStyle] = useState(style);
|
|
79
|
+
refs.current.isFirstRender && (refs.current.lastDontAnimate = firstRenderStyle);
|
|
80
|
+
const [isHydrating, setIsHydrating] = useState(isHydratingGlobal);
|
|
81
|
+
useLayoutEffect(() => (isHydratingGlobal && hydratingComponents.add(() => {
|
|
82
|
+
setIsHydrating(!1);
|
|
83
|
+
}), () => {
|
|
84
|
+
refs.current.disposed = !0;
|
|
85
|
+
}), []);
|
|
86
|
+
const flushAnimation = ({
|
|
87
|
+
doAnimate: doAnimateRaw = {},
|
|
88
|
+
animationOptions: passedOptions = {},
|
|
89
|
+
dontAnimate: dontAnimate2
|
|
90
|
+
}) => {
|
|
91
|
+
let startedControls = null;
|
|
92
|
+
const isCurrentlyExiting = refs.current.isExiting,
|
|
93
|
+
currentSendExitComplete = refs.current.sendExitComplete;
|
|
94
|
+
let doAnimate2 = doAnimateRaw;
|
|
95
|
+
isCurrentlyExiting && refs.current.frozenExitTarget && (doAnimate2 = refs.current.frozenExitTarget);
|
|
96
|
+
const animationOptions2 = isCurrentlyExiting && currentSendExitComplete ? getAnimationOptions(props.transition ?? null, "exit") : passedOptions;
|
|
97
|
+
try {
|
|
98
|
+
const node = stateRef.current.host;
|
|
99
|
+
if (refs.current.isFirstRender && (refs.current.lastDontAnimate = null, refs.current.lastDoAnimate = null), process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && (console.groupCollapsed(`[motion] animate (${JSON.stringify(getDiff(refs.current.lastDoAnimate, doAnimate2), null, 2)})`), console.info({
|
|
100
|
+
props,
|
|
101
|
+
componentState,
|
|
102
|
+
doAnimate: doAnimate2,
|
|
103
|
+
dontAnimate: dontAnimate2,
|
|
104
|
+
animationOptions: animationOptions2,
|
|
105
|
+
animationProps,
|
|
106
|
+
lastDoAnimate: {
|
|
107
|
+
...refs.current.lastDoAnimate
|
|
108
|
+
},
|
|
109
|
+
lastDontAnimate: {
|
|
110
|
+
...refs.current.lastDontAnimate
|
|
111
|
+
},
|
|
112
|
+
isExiting,
|
|
113
|
+
style,
|
|
114
|
+
node
|
|
115
|
+
}), console.groupCollapsed("trace >"), console.trace(), console.groupEnd(), console.groupEnd()), !(node instanceof HTMLElement)) return;
|
|
116
|
+
const prevDont = refs.current.lastDontAnimate;
|
|
117
|
+
if (dontAnimate2) if (prevDont) {
|
|
118
|
+
removeRemovedStyles(prevDont, dontAnimate2, node, doAnimate2);
|
|
119
|
+
const changed = getDiff(prevDont, dontAnimate2);
|
|
120
|
+
changed && Object.assign(node.style, changed);
|
|
121
|
+
} else Object.assign(node.style, dontAnimate2);
|
|
122
|
+
if (doAnimate2) {
|
|
123
|
+
if (prevDont) for (const key in prevDont) key in doAnimate2 && (node.style[key] = prevDont[key], refs.current.lastDoAnimate && (refs.current.lastDoAnimate[key] = prevDont[key]));
|
|
124
|
+
const lastAnimated = refs.current.lastDoAnimate;
|
|
125
|
+
lastAnimated && removeRemovedStyles(lastAnimated, doAnimate2, node, dontAnimate2);
|
|
126
|
+
const diff = getDiff(refs.current.lastDoAnimate, doAnimate2);
|
|
127
|
+
if (diff) {
|
|
128
|
+
isCurrentlyExiting && !refs.current.frozenExitTarget && (refs.current.frozenExitTarget = {
|
|
129
|
+
...doAnimate2
|
|
130
|
+
});
|
|
131
|
+
const isPopperPosition = node.hasAttribute("data-popper-animate-position");
|
|
132
|
+
let midFlightValues = null;
|
|
133
|
+
if (refs.current.controls) {
|
|
134
|
+
try {
|
|
135
|
+
const computed = getComputedStyle(node);
|
|
136
|
+
midFlightValues = {};
|
|
137
|
+
for (const key in diff) {
|
|
138
|
+
const val = computed[key];
|
|
139
|
+
val !== void 0 && val !== "" && (midFlightValues[key] = val);
|
|
140
|
+
}
|
|
141
|
+
} catch {}
|
|
142
|
+
if (isCurrentlyExiting && refs.current.controls.stop(), midFlightValues) for (const key in midFlightValues) node.style[key] = midFlightValues[key];
|
|
143
|
+
if (isPopperPosition) {
|
|
144
|
+
const anims = node.getAnimations();
|
|
145
|
+
for (const anim of anims) anim.cancel();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
const fixedDiff = fixTransparentColors(diff, refs.current.lastDoAnimate, doAnimate2);
|
|
149
|
+
midFlightValues?.transform && fixedDiff.transform && (fixedDiff.transform = [midFlightValues.transform, fixedDiff.transform]), startedControls = animate(scope.current, fixedDiff, animationOptions2), refs.current.controls = startedControls, refs.current.lastAnimateAt = Date.now();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
refs.current.lastDontAnimate = dontAnimate2 ? {
|
|
153
|
+
...dontAnimate2
|
|
154
|
+
} : {}, refs.current.lastDoAnimate = doAnimate2 ? {
|
|
155
|
+
...doAnimate2
|
|
156
|
+
} : {};
|
|
157
|
+
} finally {
|
|
158
|
+
isCurrentlyExiting && currentSendExitComplete && (startedControls ? (refs.current.exitCompleteScheduled = !0, startedControls.finished.then(() => {
|
|
159
|
+
refs.current.isExiting && currentSendExitComplete();
|
|
160
|
+
}).catch(() => {
|
|
161
|
+
refs.current.isExiting && currentSendExitComplete();
|
|
162
|
+
})) : refs.current.exitCompleteScheduled || currentSendExitComplete());
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
return useStyleEmitter?.((nextStyle, effectiveTransition) => {
|
|
166
|
+
const animationProps2 = getMotionAnimatedProps(props, nextStyle, disableAnimation, refs.current.animationState, effectiveTransition);
|
|
167
|
+
flushAnimation(animationProps2);
|
|
168
|
+
}), useIsomorphicLayoutEffect(() => {
|
|
169
|
+
if (refs.current.isFirstRender) {
|
|
170
|
+
if (refs.current.isFirstRender = !1, isHydrating) {
|
|
171
|
+
doAnimate && Object.keys(doAnimate).length > 0 ? refs.current.lastDoAnimate = {
|
|
172
|
+
...doAnimate
|
|
173
|
+
} : refs.current.lastDoAnimate = dontAnimate ? {
|
|
174
|
+
...dontAnimate
|
|
175
|
+
} : {}, refs.current.lastDontAnimate = dontAnimate ? {
|
|
176
|
+
...dontAnimate
|
|
177
|
+
} : {}, refs.current.lastAnimateAt = Date.now();
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
refs.current.lastDontAnimate = dontAnimate ? {
|
|
181
|
+
...dontAnimate
|
|
182
|
+
} : {}, refs.current.lastDoAnimate = doAnimate ? {
|
|
183
|
+
...doAnimate
|
|
184
|
+
} : {};
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
flushAnimation({
|
|
188
|
+
doAnimate,
|
|
189
|
+
dontAnimate,
|
|
190
|
+
animationOptions
|
|
191
|
+
});
|
|
192
|
+
}, [style, isExiting, disableAnimation]), process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && (console.groupCollapsed("[motion] render"), console.info({
|
|
193
|
+
style,
|
|
194
|
+
doAnimate,
|
|
195
|
+
dontAnimate,
|
|
196
|
+
scope,
|
|
197
|
+
animationOptions,
|
|
198
|
+
isExiting,
|
|
199
|
+
isFirstRender: refs.current.isFirstRender,
|
|
200
|
+
animationProps
|
|
201
|
+
}), console.groupEnd()), {
|
|
202
|
+
style: firstRenderStyle,
|
|
203
|
+
ref: scope,
|
|
204
|
+
render: "div"
|
|
205
|
+
};
|
|
206
|
+
},
|
|
207
|
+
useAnimatedNumber(initial) {
|
|
208
|
+
const motionValue = useMotionValue(initial);
|
|
209
|
+
return React.useMemo(() => ({
|
|
210
|
+
getInstance() {
|
|
211
|
+
return motionValue;
|
|
212
|
+
},
|
|
213
|
+
getValue() {
|
|
214
|
+
return motionValue.get();
|
|
215
|
+
},
|
|
216
|
+
setValue(next, config = {
|
|
217
|
+
type: "spring"
|
|
218
|
+
}, onFinish) {
|
|
219
|
+
if (config.type === "direct") MotionValueStrategy.set(motionValue, {
|
|
220
|
+
type: "direct"
|
|
221
|
+
}), motionValue.set(next), onFinish?.();else {
|
|
222
|
+
if (MotionValueStrategy.set(motionValue, config), onFinish) {
|
|
223
|
+
const unsubscribe = motionValue.on("change", value => {
|
|
224
|
+
Math.abs(value - next) < 0.01 && (unsubscribe(), onFinish());
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
motionValue.set(next);
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
stop() {
|
|
231
|
+
motionValue.stop();
|
|
232
|
+
}
|
|
233
|
+
}), [motionValue]);
|
|
234
|
+
},
|
|
235
|
+
useAnimatedNumberReaction({
|
|
236
|
+
value
|
|
237
|
+
}, onValue) {
|
|
238
|
+
const instance = value.getInstance();
|
|
239
|
+
useMotionValueEvent(instance, "change", onValue);
|
|
240
|
+
},
|
|
241
|
+
useAnimatedNumberStyle(val, getStyleProp) {
|
|
242
|
+
const motionValue = val.getInstance(),
|
|
243
|
+
getStyleRef = useRef(getStyleProp);
|
|
244
|
+
return getStyleRef.current = getStyleProp, useMemo(() => ({
|
|
245
|
+
getStyle: cur => getStyleRef.current(cur),
|
|
246
|
+
motionValue
|
|
247
|
+
}), []);
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
function getMotionAnimatedProps(props, style, disable, animationState = "default", transitionOverride) {
|
|
251
|
+
if (disable) return {
|
|
252
|
+
dontAnimate: style
|
|
253
|
+
};
|
|
254
|
+
const animationOptions = getAnimationOptions(transitionOverride ?? props.transition ?? null, animationState);
|
|
255
|
+
let dontAnimate, doAnimate;
|
|
256
|
+
const animateOnly = props.animateOnly;
|
|
257
|
+
for (const key in style) {
|
|
258
|
+
const value = style[key];
|
|
259
|
+
disableAnimationProps.has(key) || animateOnly && !animateOnly.includes(key) ? (dontAnimate ||= {}, dontAnimate[key] = value) : (doAnimate ||= {}, doAnimate[key] = value);
|
|
260
|
+
}
|
|
261
|
+
return {
|
|
262
|
+
dontAnimate,
|
|
263
|
+
doAnimate,
|
|
264
|
+
animationOptions
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
function getAnimationOptions(transitionProp, animationState = "default") {
|
|
268
|
+
const normalized = normalizeTransition(transitionProp);
|
|
269
|
+
let effectiveKey = getEffectiveAnimation(normalized, animationState);
|
|
270
|
+
!effectiveKey && animationState === "default" && (effectiveKey = normalized.enter || normalized.exit || null);
|
|
271
|
+
const globalConfigOverride = normalized.config ? {
|
|
272
|
+
...normalized.config
|
|
273
|
+
} : void 0;
|
|
274
|
+
if (!effectiveKey && Object.keys(normalized.properties).length === 0 && !globalConfigOverride) return {};
|
|
275
|
+
const defaultConfig = effectiveKey ? withInferredType(animations[effectiveKey]) : null,
|
|
276
|
+
delay = normalized.delay,
|
|
277
|
+
result = {};
|
|
278
|
+
defaultConfig && Object.assign(result, defaultConfig), globalConfigOverride && (Object.assign(result, globalConfigOverride), result.type === void 0 && result.duration !== void 0 && result.damping === void 0 && result.stiffness === void 0 && result.mass === void 0 && (result.type = "tween")), delay && (result.delay = delay), (defaultConfig || globalConfigOverride || delay) && (result.default = {
|
|
279
|
+
...defaultConfig,
|
|
280
|
+
...globalConfigOverride,
|
|
281
|
+
...(delay ? {
|
|
282
|
+
delay
|
|
283
|
+
} : null)
|
|
284
|
+
});
|
|
285
|
+
for (const [propName, animationNameOrConfig] of Object.entries(normalized.properties)) if (typeof animationNameOrConfig == "string") result[propName] = withInferredType(animations[animationNameOrConfig]);else if (animationNameOrConfig && typeof animationNameOrConfig == "object") {
|
|
286
|
+
const baseConfig = animationNameOrConfig.type ? withInferredType(animations[animationNameOrConfig.type]) : defaultConfig;
|
|
287
|
+
result[propName] = {
|
|
288
|
+
...baseConfig,
|
|
289
|
+
...animationNameOrConfig
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
convertMsToS(result), convertMsToS(result.default);
|
|
293
|
+
for (const key in result) key !== "default" && typeof result[key] == "object" && convertMsToS(result[key]);
|
|
294
|
+
return result;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
function withInferredType(config) {
|
|
298
|
+
return config ? {
|
|
299
|
+
type: config.duration !== void 0 && config.damping === void 0 && config.stiffness === void 0 && config.mass === void 0 ? "tween" : "spring",
|
|
300
|
+
...config
|
|
301
|
+
} : {
|
|
302
|
+
type: "spring"
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
function convertMsToS(config) {
|
|
306
|
+
config && (typeof config.delay == "number" && (config.delay = config.delay / 1e3), typeof config.duration == "number" && (config.type === "tween" || config.type === void 0 && config.damping === void 0 && config.stiffness === void 0 && config.mass === void 0) && (config.duration = config.duration / 1e3));
|
|
307
|
+
}
|
|
308
|
+
function removeRemovedStyles(prev, next, node, dontClearIfIn) {
|
|
309
|
+
for (const key in prev) if (!(key in next)) {
|
|
310
|
+
if (dontClearIfIn && key in dontClearIfIn) continue;
|
|
311
|
+
node.style[key] = "";
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
const disableAnimationProps = /* @__PURE__ */new Set(["alignContent", "alignItems", "boxSizing", "contain", "containerType", "display", "flexBasis", "flexDirection", "fontFamily", "justifyContent", "overflow", "overflowX", "overflowY", "pointerEvents", "position", "textWrap", "userSelect"]),
|
|
315
|
+
MotionView = createMotionView("div"),
|
|
316
|
+
MotionText = createMotionView("span");
|
|
317
|
+
function createMotionView(defaultTag) {
|
|
318
|
+
const isText = defaultTag === "span",
|
|
319
|
+
Component = forwardRef((propsIn, ref) => {
|
|
320
|
+
const {
|
|
321
|
+
forwardedRef,
|
|
322
|
+
animation,
|
|
323
|
+
render = defaultTag,
|
|
324
|
+
style,
|
|
325
|
+
...propsRest
|
|
326
|
+
} = propsIn,
|
|
327
|
+
[scope, animate] = useAnimateSSRSafe(),
|
|
328
|
+
hostRef = useRef(null),
|
|
329
|
+
composedRefs = useComposedRefs(forwardedRef, ref, hostRef, scope),
|
|
330
|
+
stateRef = useRef(null);
|
|
331
|
+
stateRef.current || (stateRef.current = {
|
|
332
|
+
get host() {
|
|
333
|
+
return hostRef.current;
|
|
334
|
+
}
|
|
335
|
+
});
|
|
336
|
+
const [_, state] = useThemeWithState({}),
|
|
337
|
+
styles = Array.isArray(style) ? style : [style],
|
|
338
|
+
[animatedStyle, nonAnimatedStyles] = (() => {
|
|
339
|
+
let animatedStyle2;
|
|
340
|
+
const nonAnimatedStyles2 = [];
|
|
341
|
+
for (const style2 of styles) style2.getStyle ? animatedStyle2 = style2 : nonAnimatedStyles2.push(style2);
|
|
342
|
+
return [animatedStyle2, nonAnimatedStyles2];
|
|
343
|
+
})();
|
|
344
|
+
function getProps(props2) {
|
|
345
|
+
const out = getSplitStyles(props2, isText ? Text.staticConfig : View.staticConfig, state?.theme, state?.name, {
|
|
346
|
+
unmounted: !1
|
|
347
|
+
}, {
|
|
348
|
+
isAnimated: !1,
|
|
349
|
+
noClass: !0,
|
|
350
|
+
resolveValues: "auto"
|
|
351
|
+
});
|
|
352
|
+
return out ? (out.viewProps.style && (fixStyles(out.viewProps.style), styleToCSS(out.viewProps.style)), out.viewProps) : {};
|
|
353
|
+
}
|
|
354
|
+
const props = getProps({
|
|
355
|
+
...propsRest,
|
|
356
|
+
style: nonAnimatedStyles
|
|
357
|
+
}),
|
|
358
|
+
Element = render || "div",
|
|
359
|
+
transformedProps = hooks.usePropsTransform?.(render, props, stateRef, !1);
|
|
360
|
+
return useEffect(() => {
|
|
361
|
+
if (animatedStyle) return animatedStyle.motionValue.on("change", value => {
|
|
362
|
+
const nextStyle = animatedStyle.getStyle(value),
|
|
363
|
+
animationConfig = MotionValueStrategy.get(animatedStyle.motionValue),
|
|
364
|
+
node = hostRef.current,
|
|
365
|
+
webStyle = getProps({
|
|
366
|
+
style: nextStyle
|
|
367
|
+
}).style;
|
|
368
|
+
if (webStyle && node instanceof HTMLElement) {
|
|
369
|
+
const motionAnimationConfig = animationConfig?.type === "timing" ? {
|
|
370
|
+
type: "tween",
|
|
371
|
+
duration: (animationConfig?.duration || 0) / 1e3
|
|
372
|
+
} : animationConfig?.type === "direct" ? {
|
|
373
|
+
type: "tween",
|
|
374
|
+
duration: 0
|
|
375
|
+
} : {
|
|
376
|
+
type: "spring",
|
|
377
|
+
...animationConfig
|
|
378
|
+
};
|
|
379
|
+
animate(node, webStyle, motionAnimationConfig);
|
|
380
|
+
}
|
|
381
|
+
});
|
|
382
|
+
}, [animatedStyle]), /* @__PURE__ */jsx(Element, {
|
|
383
|
+
...transformedProps,
|
|
384
|
+
ref: composedRefs
|
|
385
|
+
});
|
|
386
|
+
});
|
|
387
|
+
return Component.acceptRenderProp = !0, Component;
|
|
388
|
+
}
|
|
389
|
+
function getDiff(previous, next) {
|
|
390
|
+
if (!previous) return next;
|
|
391
|
+
let diff = null;
|
|
392
|
+
for (const key in next) next[key] !== previous[key] && (diff ||= {}, diff[key] = next[key]);
|
|
393
|
+
return diff;
|
|
394
|
+
}
|
|
395
|
+
function fixTransparentColors(diff, previous, next) {
|
|
396
|
+
let result = diff;
|
|
397
|
+
for (const key in diff) if (diff[key] === "transparent") {
|
|
398
|
+
let fixed = "rgba(0, 0, 0, 0)";
|
|
399
|
+
const candidates = [previous?.[key], next?.[key]];
|
|
400
|
+
for (const candidate of candidates) if (typeof candidate == "string" && candidate !== "transparent") {
|
|
401
|
+
const rgbaMatch = candidate.match(/^rgba?\(([^,]+),\s*([^,]+),\s*([^,)]+)/);
|
|
402
|
+
if (rgbaMatch) {
|
|
403
|
+
fixed = `rgba(${rgbaMatch[1]}, ${rgbaMatch[2]}, ${rgbaMatch[3]}, 0)`;
|
|
404
|
+
break;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
result === diff && (result = {
|
|
408
|
+
...diff
|
|
409
|
+
}), result[key] = fixed;
|
|
410
|
+
}
|
|
411
|
+
return result;
|
|
412
|
+
}
|
|
413
|
+
export { createAnimations, disableAnimationProps };
|
|
414
|
+
//# sourceMappingURL=createAnimations.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getEffectiveAnimation","normalizeTransition","ResetPresence","usePresence","fixStyles","getConfig","getSplitStyles","hooks","styleToCSS","Text","useComposedRefs","useIsomorphicLayoutEffect","useThemeWithState","View","useAnimate","useMotionValue","useMotionValueEvent","React","forwardRef","useEffect","useLayoutEffect","useMemo","useRef","useState","jsx","isServer","window","useAnimateSSRSafe","MotionValueStrategy","WeakMap","createAnimations","animations","isHydratingGlobal","hydratingComponents","Set","MotionView","MotionText","isReactNative","inputStyle","outputStyle","avoidReRenders","onMount","forEach","cb","useAnimations","animationProps","settings","disableSSR","props","style","componentState","stateRef","useStyleEmitter","presence","animationKey","Array","isArray","transition","isComponentHydrating","unmounted","isMounting","isEntering","isExiting","sendExitComplete","refs","current","isFirstRender","lastDoAnimate","lastDontAnimate","controls","lastAnimateAt","disposed","wasExiting","animationState","frozenExitTarget","exitCompleteScheduled","wasEntering","justFinishedEntering","disableAnimation","scope","animate","justStartedExiting","justStoppedExiting","dontAnimate","doAnimate","animationOptions","getMotionAnimatedProps","firstRenderStyle","isHydrating","setIsHydrating","add","flushAnimation","doAnimateRaw","passedOptions","dontAnimate2","startedControls","isCurrentlyExiting","currentSendExitComplete","doAnimate2","animationOptions2","getAnimationOptions","node","host","process","env","NODE_ENV","debug","console","groupCollapsed","JSON","stringify","getDiff","info","trace","groupEnd","HTMLElement","prevDont","removeRemovedStyles","changed","Object","assign","key","lastAnimated","diff","isPopperPosition","hasAttribute","midFlightValues","computed","getComputedStyle","val","stop","anims","getAnimations","anim","cancel","fixedDiff","fixTransparentColors","transform","Date","now","finished","then","catch","nextStyle","effectiveTransition","animationProps2","keys","length","ref","render","useAnimatedNumber","initial","motionValue","getInstance","getValue","get","setValue","next","config","type","onFinish","set","unsubscribe","on","value","Math","abs","useAnimatedNumberReaction","onValue","instance","useAnimatedNumberStyle","getStyleProp","getStyleRef","getStyle","cur","disable","transitionOverride","animateOnly","disableAnimationProps","has","includes","transitionProp","normalized","effectiveKey","enter","exit","globalConfigOverride","properties","defaultConfig","withInferredType","delay","result","duration","damping","stiffness","mass","default","propName","animationNameOrConfig","entries","baseConfig","convertMsToS","prev","dontClearIfIn","createMotionView","defaultTag","isText","Component","propsIn","forwardedRef","animation","propsRest","hostRef","composedRefs","_","state","styles","animatedStyle","nonAnimatedStyles","animatedStyle2","nonAnimatedStyles2","style2","push","getProps","props2","out","staticConfig","theme","name","isAnimated","noClass","resolveValues","viewProps","Element","transformedProps","usePropsTransform","animationConfig","webStyle","motionAnimationConfig","acceptRenderProp","previous","fixed","candidates","candidate","rgbaMatch","match"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,qBAAA,EAAuBC,mBAAA,QAA2B;AAC3D,SAASC,aAAA,EAAeC,WAAA,QAAmB;AAC3C,SAGEC,SAAA,EACAC,SAAA,EACAC,cAAA,EACAC,KAAA,EACAC,UAAA,EACAC,IAAA,EAGAC,eAAA,EACAC,yBAAA,EACAC,iBAAA,EACAC,IAAA,QACK;AACP,SAIEC,UAAA,EACAC,cAAA,EACAC,mBAAA,QAEK;AACP,OAAOC,KAAA,IACLC,UAAA,EACAC,SAAA,EACAC,eAAA,EACAC,OAAA,EACAC,MAAA,EACAC,QAAA,QACK;AAgzBI,SAAAC,GAAA;AA9yBX,MAAMC,QAAA,GAAW,OAAOC,MAAA,GAAW;AAKnC,SAASC,kBAAA,EAAoB;EAC3B,OAAIF,QAAA,GACK,CAACH,MAAA,CAAO,IAAI,GAAI,MAAM,CAAC,EAAS,GAElCR,UAAA,CAAW;AACpB;AAmBA,MAAMc,mBAAA,GAAsB,mBAAIC,OAAA,CAA6C;AAyBtE,SAASC,iBACdC,UAAA,EACoB;EACpB,IAAIC,iBAAA;EACJ,MAAMC,mBAAA,GAAsB,mBAAIC,GAAA,CAAc;EAE9C,OAAO;IACLrB,IAAA,EAAMsB,UAAA;IACN1B,IAAA,EAAM2B,UAAA;IACNC,aAAA,EAAe;IACfC,UAAA,EAAY;IACZC,WAAA,EAAa;IACbC,cAAA,EAAgB;IAChBT,UAAA;IACA5B,WAAA;IACAD,aAAA;IAEAuC,QAAA,EAAU;MACRT,iBAAA,GAAoB,IACpBC,mBAAA,CAAoBS,OAAA,CAASC,EAAA,IAAOA,EAAA,CAAG,CAAC;IAC1C;IAEAC,aAAA,EAAgBC,cAAA,IAAmB;MAC7Bb,iBAAA,KAAsB,UAAa,CAAC3B,SAAA,CAAU,EAAEyC,QAAA,CAASC,UAAA,KAC3Df,iBAAA,GAAoB;MAGtB,MAAM;UAAEgB,KAAA;UAAOC,KAAA;UAAOC,cAAA;UAAgBC,QAAA;UAAUC,eAAA;UAAiBC;QAAS,IACxER,cAAA;QAEIS,YAAA,GAAeC,KAAA,CAAMC,OAAA,CAAQR,KAAA,CAAMS,UAAU,IAC/CT,KAAA,CAAMS,UAAA,CAAW,CAAC,IAClBT,KAAA,CAAMS,UAAA;QAEJC,oBAAA,GAAuBR,cAAA,CAAeS,SAAA,KAAc;QACpDC,UAAA,GAAaV,cAAA,CAAeS,SAAA,KAAc;QAC1CE,UAAA,GAAa,CAAC,CAACX,cAAA,CAAeS,SAAA;QAC9BG,SAAA,GAAYT,QAAA,GAAW,CAAC,MAAM;QAC9BU,gBAAA,GAAmBV,QAAA,GAAW,CAAC;QAG/BW,IAAA,GAAO1C,MAAA,CAAmB,IAAK;MAChC0C,IAAA,CAAKC,OAAA,KACRD,IAAA,CAAKC,OAAA,GAAU;QACbC,aAAA,EAAe;QACfC,aAAA,EAAe;QACfC,eAAA,EAAiB;QACjBC,QAAA,EAAU;QACVC,aAAA,EAAe;QACfC,QAAA,EAAU;QACVC,UAAA,EAAY;QACZV,SAAA,EAAW;QACXC,gBAAA,EAAkB;QAClBU,cAAA,EAAgB;QAChBC,gBAAA,EAAkB;QAClBC,qBAAA,EAAuB;QACvBC,WAAA,EAAa;MACf;MAIF,MAAMC,oBAAA,GAAuBb,IAAA,CAAKC,OAAA,CAAQW,WAAA,IAAe,CAACf,UAAA;MAC1D1C,SAAA,CAAU,MAAM;QACd6C,IAAA,CAAKC,OAAA,CAAQW,WAAA,GAAcf,UAAA;MAC7B,CAAC;MAGD,MAAMY,cAAA,GAA+CX,SAAA,GACjD,SACAF,UAAA,IAAciB,oBAAA,GACZ,UACA;QAGAC,gBAAA,GAAmBpB,oBAAA,IAAwBE,UAAA,IAAc,CAACN,YAAA;QAE1D,CAACyB,KAAA,EAAOC,OAAO,IAAIrD,iBAAA,CAAkB;MAG3CqC,IAAA,CAAKC,OAAA,CAAQH,SAAA,GAAYA,SAAA,EACzBE,IAAA,CAAKC,OAAA,CAAQF,gBAAA,GAAmBA,gBAAA,EAChCC,IAAA,CAAKC,OAAA,CAAQQ,cAAA,GAAiBA,cAAA;MAG9B,MAAMQ,kBAAA,GAAqBnB,SAAA,IAAa,CAACE,IAAA,CAAKC,OAAA,CAAQO,UAAA;QAChDU,kBAAA,GAAqB,CAACpB,SAAA,IAAaE,IAAA,CAAKC,OAAA,CAAQO,UAAA;MAGtD,CAAIS,kBAAA,IAAsBC,kBAAA,MACxBlB,IAAA,CAAKC,OAAA,CAAQS,gBAAA,GAAmB,MAChCV,IAAA,CAAKC,OAAA,CAAQU,qBAAA,GAAwB,KAIvCxD,SAAA,CAAU,MAAM;QACd6C,IAAA,CAAKC,OAAA,CAAQO,UAAA,GAAaV,SAAA;MAC5B,CAAC;MAED,MAAM;UACJqB,WAAA,GAAc,CAAC;UACfC,SAAA;UACAC;QACF,IAAIC,sBAAA,CAAuBtC,KAAA,EAAcC,KAAA,EAAO6B,gBAAA,EAAkBL,cAAc;QAE1E,CAACc,gBAAgB,IAAIhE,QAAA,CAAS0B,KAAK;MAGrCe,IAAA,CAAKC,OAAA,CAAQC,aAAA,KACfF,IAAA,CAAKC,OAAA,CAAQG,eAAA,GAAkBmB,gBAAA;MAEjC,MAAM,CAACC,WAAA,EAAaC,cAAc,IAAIlE,QAAA,CAASS,iBAAiB;MAEhEZ,eAAA,CAAgB,OACVY,iBAAA,IACFC,mBAAA,CAAoByD,GAAA,CAAI,MAAM;QAC5BD,cAAA,CAAe,EAAK;MACtB,CAAC,GAEI,MAAM;QACXzB,IAAA,CAAKC,OAAA,CAAQM,QAAA,GAAW;MAC1B,IACC,EAAE;MAEL,MAAMoB,cAAA,GAAiBA,CAAC;QACtBP,SAAA,EAAWQ,YAAA,GAAe,CAAC;QAC3BP,gBAAA,EAAkBQ,aAAA,GAAgB,CAAC;QACnCV,WAAA,EAAAW;MACF,MAAsB;QAEpB,IAAIC,eAAA,GAA4D;QAGhE,MAAMC,kBAAA,GAAqBhC,IAAA,CAAKC,OAAA,CAAQH,SAAA;UAClCmC,uBAAA,GAA0BjC,IAAA,CAAKC,OAAA,CAAQF,gBAAA;QAI7C,IAAImC,UAAA,GAAYN,YAAA;QACZI,kBAAA,IAAsBhC,IAAA,CAAKC,OAAA,CAAQS,gBAAA,KACrCwB,UAAA,GAAYlC,IAAA,CAAKC,OAAA,CAAQS,gBAAA;QAI3B,MAAMyB,iBAAA,GACJH,kBAAA,IAAsBC,uBAAA,GAClBG,mBAAA,CAAoBpD,KAAA,CAAMS,UAAA,IAAc,MAAM,MAAM,IACpDoC,aAAA;QAEN,IAAI;UACF,MAAMQ,IAAA,GAAOlD,QAAA,CAASc,OAAA,CAAQqC,IAAA;UAkC9B,IA9BItC,IAAA,CAAKC,OAAA,CAAQC,aAAA,KACfF,IAAA,CAAKC,OAAA,CAAQG,eAAA,GAAkB,MAC/BJ,IAAA,CAAKC,OAAA,CAAQE,aAAA,GAAgB,OAG3BoC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBACvBzD,KAAA,CAAM0D,KAAA,IAAY1D,KAAA,CAAM0D,KAAA,KAAa,cACvCC,OAAA,CAAQC,cAAA,CACN,qBAAqBC,IAAA,CAAKC,SAAA,CAAUC,OAAA,CAAQ/C,IAAA,CAAKC,OAAA,CAAQE,aAAA,EAAe+B,UAAS,GAAG,MAAM,CAAC,CAAC,GAC9F,GACAS,OAAA,CAAQK,IAAA,CAAK;YACXhE,KAAA;YACAE,cAAA;YACAkC,SAAA,EAAAc,UAAA;YACAf,WAAA,EAAAW,YAAA;YACAT,gBAAA,EAAAc,iBAAA;YACAtD,cAAA;YACAsB,aAAA,EAAe;cAAE,GAAGH,IAAA,CAAKC,OAAA,CAAQE;YAAc;YAC/CC,eAAA,EAAiB;cAAE,GAAGJ,IAAA,CAAKC,OAAA,CAAQG;YAAgB;YACnDN,SAAA;YACAb,KAAA;YACAoD;UACF,CAAC,GACDM,OAAA,CAAQC,cAAA,CAAe,SAAS,GAChCD,OAAA,CAAQM,KAAA,CAAM,GACdN,OAAA,CAAQO,QAAA,CAAS,GACjBP,OAAA,CAAQO,QAAA,CAAS,IAIjB,EAAEb,IAAA,YAAgBc,WAAA,GACpB;UAIF,MAAMC,QAAA,GAAWpD,IAAA,CAAKC,OAAA,CAAQG,eAAA;UAC9B,IAAI0B,YAAA,EACF,IAAIsB,QAAA,EAAU;YACZC,mBAAA,CAAoBD,QAAA,EAAUtB,YAAA,EAAaO,IAAA,EAAMH,UAAS;YAC1D,MAAMoB,OAAA,GAAUP,OAAA,CAAQK,QAAA,EAAUtB,YAAW;YACzCwB,OAAA,IACFC,MAAA,CAAOC,MAAA,CAAOnB,IAAA,CAAKpD,KAAA,EAAOqE,OAAc;UAE5C,OACEC,MAAA,CAAOC,MAAA,CAAOnB,IAAA,CAAKpD,KAAA,EAAO6C,YAAkB;UAIhD,IAAII,UAAA,EAAW;YAGb,IAAIkB,QAAA,EACF,WAAWK,GAAA,IAAOL,QAAA,EACZK,GAAA,IAAOvB,UAAA,KACTG,IAAA,CAAKpD,KAAA,CAAMwE,GAAG,IAAIL,QAAA,CAASK,GAAG,GAC1BzD,IAAA,CAAKC,OAAA,CAAQE,aAAA,KACfH,IAAA,CAAKC,OAAA,CAAQE,aAAA,CAAcsD,GAAG,IAAIL,QAAA,CAASK,GAAG;YAMtD,MAAMC,YAAA,GAAe1D,IAAA,CAAKC,OAAA,CAAQE,aAAA;YAC9BuD,YAAA,IACFL,mBAAA,CAAoBK,YAAA,EAAcxB,UAAA,EAAWG,IAAA,EAAMP,YAAW;YAGhE,MAAM6B,IAAA,GAAOZ,OAAA,CAAQ/C,IAAA,CAAKC,OAAA,CAAQE,aAAA,EAAe+B,UAAS;YAE1D,IAAIyB,IAAA,EAAM;cAEJ3B,kBAAA,IAAsB,CAAChC,IAAA,CAAKC,OAAA,CAAQS,gBAAA,KACtCV,IAAA,CAAKC,OAAA,CAAQS,gBAAA,GAAmB;gBAAE,GAAGwB;cAAU;cAWjD,MAAM0B,gBAAA,GAAmBvB,IAAA,CAAKwB,YAAA,CAAa,8BAA8B;cACzE,IAAIC,eAAA,GAAiD;cACrD,IAAI9D,IAAA,CAAKC,OAAA,CAAQI,QAAA,EAAU;gBACzB,IAAI;kBACF,MAAM0D,QAAA,GAAWC,gBAAA,CAAiB3B,IAAI;kBACtCyB,eAAA,GAAkB,CAAC;kBACnB,WAAWL,GAAA,IAAOE,IAAA,EAAM;oBACtB,MAAMM,GAAA,GAAOF,QAAA,CAAiBN,GAAG;oBAC7BQ,GAAA,KAAQ,UAAaA,GAAA,KAAQ,OAC/BH,eAAA,CAAgBL,GAAG,IAAIQ,GAAA;kBAE3B;gBACF,QAAQ,CAER;gBASA,IAPIjC,kBAAA,IACFhC,IAAA,CAAKC,OAAA,CAAQI,QAAA,CAAS6D,IAAA,CAAK,GAMzBJ,eAAA,EACF,WAAWL,GAAA,IAAOK,eAAA,EACdzB,IAAA,CAAKpD,KAAA,CAAcwE,GAAG,IAAIK,eAAA,CAAgBL,GAAG;gBASnD,IAAIG,gBAAA,EAAkB;kBACpB,MAAMO,KAAA,GAAQ9B,IAAA,CAAK+B,aAAA,CAAc;kBACjC,WAAWC,IAAA,IAAQF,KAAA,EACjBE,IAAA,CAAKC,MAAA,CAAO;gBAEhB;cACF;cAEA,MAAMC,SAAA,GAAYC,oBAAA,CAChBb,IAAA,EACA3D,IAAA,CAAKC,OAAA,CAAQE,aAAA,EACb+B,UACF;cAII4B,eAAA,EAAiBW,SAAA,IAAaF,SAAA,CAAUE,SAAA,KAC1CF,SAAA,CAAUE,SAAA,GAAY,CAACX,eAAA,CAAgBW,SAAA,EAAWF,SAAA,CAAUE,SAAS,IAGvE1C,eAAA,GAAkBf,OAAA,CAAQD,KAAA,CAAMd,OAAA,EAASsE,SAAA,EAAWpC,iBAAgB,GACpEnC,IAAA,CAAKC,OAAA,CAAQI,QAAA,GAAW0B,eAAA,EACxB/B,IAAA,CAAKC,OAAA,CAAQK,aAAA,GAAgBoE,IAAA,CAAKC,GAAA,CAAI;YACxC;UACF;UAEA3E,IAAA,CAAKC,OAAA,CAAQG,eAAA,GAAkB0B,YAAA,GAAc;YAAE,GAAGA;UAAY,IAAI,CAAC,GACnE9B,IAAA,CAAKC,OAAA,CAAQE,aAAA,GAAgB+B,UAAA,GAAY;YAAE,GAAGA;UAAU,IAAI,CAAC;QAC/D,UAAE;UAEIF,kBAAA,IAAsBC,uBAAA,KACpBF,eAAA,IAEF/B,IAAA,CAAKC,OAAA,CAAQU,qBAAA,GAAwB,IACrCoB,eAAA,CAAgB6C,QAAA,CACbC,IAAA,CAAK,MAAM;YAGN7E,IAAA,CAAKC,OAAA,CAAQH,SAAA,IACfmC,uBAAA,CAAwB;UAE5B,CAAC,EACA6C,KAAA,CAAM,MAAM;YACP9E,IAAA,CAAKC,OAAA,CAAQH,SAAA,IACfmC,uBAAA,CAAwB;UAE5B,CAAC,KACOjC,IAAA,CAAKC,OAAA,CAAQU,qBAAA,IAIvBsB,uBAAA,CAAwB;QAK9B;MACF;MAEA,OAAA7C,eAAA,GAAkB,CAAC2F,SAAA,EAAWC,mBAAA,KAAwB;QACpD,MAAMC,eAAA,GAAiB3D,sBAAA,CACrBtC,KAAA,EACA+F,SAAA,EACAjE,gBAAA,EACAd,IAAA,CAAKC,OAAA,CAAQQ,cAAA,EACbuE,mBACF;QAEArD,cAAA,CAAesD,eAAc;MAC/B,CAAC,GAEDtI,yBAAA,CAA0B,MAAM;QAC9B,IAAIqD,IAAA,CAAKC,OAAA,CAAQC,aAAA,EAAe;UAQ9B,IAPAF,IAAA,CAAKC,OAAA,CAAQC,aAAA,GAAgB,IAOzBsB,WAAA,EAAa;YACXJ,SAAA,IAAamC,MAAA,CAAO2B,IAAA,CAAK9D,SAAS,EAAE+D,MAAA,GAAS,IAC/CnF,IAAA,CAAKC,OAAA,CAAQE,aAAA,GAAgB;cAAE,GAAGiB;YAAU,IAE5CpB,IAAA,CAAKC,OAAA,CAAQE,aAAA,GAAgBgB,WAAA,GAAc;cAAE,GAAGA;YAAY,IAAI,CAAC,GAGnEnB,IAAA,CAAKC,OAAA,CAAQG,eAAA,GAAkBe,WAAA,GAAc;cAAE,GAAGA;YAAY,IAAI,CAAC,GACnEnB,IAAA,CAAKC,OAAA,CAAQK,aAAA,GAAgBoE,IAAA,CAAKC,GAAA,CAAI;YACtC;UACF;UAGA3E,IAAA,CAAKC,OAAA,CAAQG,eAAA,GAAkBe,WAAA,GAAc;YAAE,GAAGA;UAAY,IAAI,CAAC,GACnEnB,IAAA,CAAKC,OAAA,CAAQE,aAAA,GAAgBiB,SAAA,GAAY;YAAE,GAAGA;UAAU,IAAI,CAAC;UAC7D;QACF;QAEAO,cAAA,CAAe;UACbP,SAAA;UACAD,WAAA;UACAE;QACF,CAAC;MACH,GAAG,CAACpC,KAAA,EAAOa,SAAA,EAAWgB,gBAAgB,CAAC,GAEnCyB,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBACvBzD,KAAA,CAAM0D,KAAA,IAAY1D,KAAA,CAAM0D,KAAA,KAAa,cACvCC,OAAA,CAAQC,cAAA,CAAe,iBAAiB,GACxCD,OAAA,CAAQK,IAAA,CAAK;QACX/D,KAAA;QACAmC,SAAA;QACAD,WAAA;QACAJ,KAAA;QACAM,gBAAA;QACAvB,SAAA;QACAI,aAAA,EAAeF,IAAA,CAAKC,OAAA,CAAQC,aAAA;QAC5BrB;MACF,CAAC,GACD8D,OAAA,CAAQO,QAAA,CAAS,IAId;QACLjE,KAAA,EAAOsC,gBAAA;QACP6D,GAAA,EAAKrE,KAAA;QACLsE,MAAA,EAAQ;MACV;IACF;IAEAC,kBAAkBC,OAAA,EAAwD;MACxE,MAAMC,WAAA,GAAczI,cAAA,CAAewI,OAAO;MAE1C,OAAOtI,KAAA,CAAMI,OAAA,CACX,OAAO;QACLoI,YAAA,EAAc;UACZ,OAAOD,WAAA;QACT;QACAE,SAAA,EAAW;UACT,OAAOF,WAAA,CAAYG,GAAA,CAAI;QACzB;QACAC,SAASC,IAAA,EAAMC,MAAA,GAAS;UAAEC,IAAA,EAAM;QAAS,GAAGC,QAAA,EAAU;UACpD,IAAIF,MAAA,CAAOC,IAAA,KAAS,UAClBnI,mBAAA,CAAoBqI,GAAA,CAAIT,WAAA,EAAa;YACnCO,IAAA,EAAM;UACR,CAAC,GACDP,WAAA,CAAYS,GAAA,CAAIJ,IAAI,GACpBG,QAAA,GAAW,OACN;YAGL,IAFApI,mBAAA,CAAoBqI,GAAA,CAAIT,WAAA,EAAaM,MAAM,GAEvCE,QAAA,EAAU;cACZ,MAAME,WAAA,GAAcV,WAAA,CAAYW,EAAA,CAAG,UAAWC,KAAA,IAAU;gBAClDC,IAAA,CAAKC,GAAA,CAAIF,KAAA,GAAQP,IAAI,IAAI,SAC3BK,WAAA,CAAY,GACZF,QAAA,CAAS;cAEb,CAAC;YACH;YAEAR,WAAA,CAAYS,GAAA,CAAIJ,IAAI;UACtB;QACF;QACA3B,KAAA,EAAO;UACLsB,WAAA,CAAYtB,IAAA,CAAK;QACnB;MACF,IACA,CAACsB,WAAW,CACd;IACF;IAEAe,0BAA0B;MAAEH;IAAM,GAAGI,OAAA,EAAS;MAC5C,MAAMC,QAAA,GAAWL,KAAA,CAAMX,WAAA,CAAY;MACnCzI,mBAAA,CAAoByJ,QAAA,EAAU,UAAUD,OAAO;IACjD;IAEAE,uBAAuBzC,GAAA,EAAK0C,YAAA,EAAc;MACxC,MAAMnB,WAAA,GAAcvB,GAAA,CAAIwB,WAAA,CAAY;QAC9BmB,WAAA,GAActJ,MAAA,CAA4BqJ,YAAY;MAG5D,OAAAC,WAAA,CAAY3G,OAAA,GAAU0G,YAAA,EAEftJ,OAAA,CAAQ,OACN;QACLwJ,QAAA,EAAWC,GAAA,IACFF,WAAA,CAAY3G,OAAA,CAAQ6G,GAAG;QAEhCtB;MACF,IACC,EAAE;IACP;EACF;EAEA,SAASlE,uBACPtC,KAAA,EACAC,KAAA,EACA8H,OAAA,EACAtG,cAAA,GAA+C,WAC/CuG,kBAAA,EACgB;IAChB,IAAID,OAAA,EACF,OAAO;MACL5F,WAAA,EAAalC;IACf;IAGF,MAAMoC,gBAAA,GAAmBe,mBAAA,CACvB4E,kBAAA,IAAsBhI,KAAA,CAAMS,UAAA,IAAc,MAC1CgB,cACF;IAEA,IAAIU,WAAA,EACAC,SAAA;IAEJ,MAAM6F,WAAA,GAAcjI,KAAA,CAAMiI,WAAA;IAC1B,WAAWxD,GAAA,IAAOxE,KAAA,EAAO;MACvB,MAAMmH,KAAA,GAAQnH,KAAA,CAAMwE,GAAG;MACnByD,qBAAA,CAAsBC,GAAA,CAAI1D,GAAG,KAAMwD,WAAA,IAAe,CAACA,WAAA,CAAYG,QAAA,CAAS3D,GAAG,KAC7EtC,WAAA,KAAgB,CAAC,GACjBA,WAAA,CAAYsC,GAAG,IAAI2C,KAAA,KAEnBhF,SAAA,KAAc,CAAC,GACfA,SAAA,CAAUqC,GAAG,IAAI2C,KAAA;IAErB;IAEA,OAAO;MACLjF,WAAA;MACAC,SAAA;MACAC;IACF;EACF;EAEA,SAASe,oBACPiF,cAAA,EACA5G,cAAA,GAA+C,WACnB;IAC5B,MAAM6G,UAAA,GAAarL,mBAAA,CAAoBoL,cAAc;IAErD,IAAIE,YAAA,GAAevL,qBAAA,CAAsBsL,UAAA,EAAY7G,cAAc;IAI/D,CAAC8G,YAAA,IAAgB9G,cAAA,KAAmB,cACtC8G,YAAA,GAAeD,UAAA,CAAWE,KAAA,IAASF,UAAA,CAAWG,IAAA,IAAQ;IAGxD,MAAMC,oBAAA,GAA4DJ,UAAA,CAAWxB,MAAA,GACzE;MAAE,GAAGwB,UAAA,CAAWxB;IAAO,IACvB;IAEJ,IACE,CAACyB,YAAA,IACDhE,MAAA,CAAO2B,IAAA,CAAKoC,UAAA,CAAWK,UAAU,EAAExC,MAAA,KAAW,KAC9C,CAACuC,oBAAA,EAED,OAAO,CAAC;IAGV,MAAME,aAAA,GAAgBL,YAAA,GAAeM,gBAAA,CAAiB9J,UAAA,CAAWwJ,YAAY,CAAC,IAAI;MAE5EO,KAAA,GAAQR,UAAA,CAAWQ,KAAA;MAGnBC,MAAA,GAAqC,CAAC;IAExCH,aAAA,IACFrE,MAAA,CAAOC,MAAA,CAAOuE,MAAA,EAAQH,aAAa,GAGjCF,oBAAA,KACFnE,MAAA,CAAOC,MAAA,CAAOuE,MAAA,EAAQL,oBAAoB,GAExCK,MAAA,CAAOhC,IAAA,KAAS,UAChBgC,MAAA,CAAOC,QAAA,KAAa,UACpBD,MAAA,CAAOE,OAAA,KAAY,UACnBF,MAAA,CAAOG,SAAA,KAAc,UACrBH,MAAA,CAAOI,IAAA,KAAS,WAEhBJ,MAAA,CAAOhC,IAAA,GAAO,WAId+B,KAAA,KACFC,MAAA,CAAOD,KAAA,GAAQA,KAAA,IAGbF,aAAA,IAAiBF,oBAAA,IAAwBI,KAAA,MAC3CC,MAAA,CAAOK,OAAA,GAAU;MACf,GAAGR,aAAA;MACH,GAAGF,oBAAA;MACH,IAAII,KAAA,GAAQ;QAAEA;MAAM,IAAI;IAC1B;IAGF,WAAW,CAACO,QAAA,EAAUC,qBAAqB,KAAK/E,MAAA,CAAOgF,OAAA,CACrDjB,UAAA,CAAWK,UACb,GACE,IAAI,OAAOW,qBAAA,IAA0B,UACnCP,MAAA,CAAOM,QAAQ,IAAIR,gBAAA,CAAiB9J,UAAA,CAAWuK,qBAAqB,CAAC,WAC5DA,qBAAA,IAAyB,OAAOA,qBAAA,IAA0B,UAAU;MAC7E,MAAME,UAAA,GAAaF,qBAAA,CAAsBvC,IAAA,GACrC8B,gBAAA,CAAiB9J,UAAA,CAAWuK,qBAAA,CAAsBvC,IAAI,CAAC,IACvD6B,aAAA;MAEJG,MAAA,CAAOM,QAAQ,IAAI;QACjB,GAAGG,UAAA;QACH,GAAGF;MACL;IACF;IAIFG,YAAA,CAAaV,MAAyB,GACtCU,YAAA,CAAaV,MAAA,CAAOK,OAAO;IAC3B,WAAW3E,GAAA,IAAOsE,MAAA,EACZtE,GAAA,KAAQ,aAAa,OAAOsE,MAAA,CAAOtE,GAAG,KAAM,YAC9CgF,YAAA,CAAaV,MAAA,CAAOtE,GAAG,CAAC;IAI5B,OAAOsE,MAAA;EACT;AACF;AAEA,SAASF,iBAAiB/B,MAAA,EAAsD;EAC9E,OAAKA,MAAA,GAQE;IAAEC,IAAA,EAJPD,MAAA,CAAOkC,QAAA,KAAa,UACpBlC,MAAA,CAAOmC,OAAA,KAAY,UACnBnC,MAAA,CAAOoC,SAAA,KAAc,UACrBpC,MAAA,CAAOqC,IAAA,KAAS,SACa,UAAU;IAAU,GAAGrC;EAAO,IAPpD;IAAEC,IAAA,EAAM;EAAS;AAQ5B;AAEA,SAAS0C,aAAa3C,MAAA,EAAqC;EACpDA,MAAA,KACD,OAAOA,MAAA,CAAOgC,KAAA,IAAU,aAAUhC,MAAA,CAAOgC,KAAA,GAAQhC,MAAA,CAAOgC,KAAA,GAAQ,MAChE,OAAOhC,MAAA,CAAOkC,QAAA,IAAa,aAE3BlC,MAAA,CAAOC,IAAA,KAAS,WACfD,MAAA,CAAOC,IAAA,KAAS,UACfD,MAAA,CAAOmC,OAAA,KAAY,UACnBnC,MAAA,CAAOoC,SAAA,KAAc,UACrBpC,MAAA,CAAOqC,IAAA,KAAS,YAElBrC,MAAA,CAAOkC,QAAA,GAAWlC,MAAA,CAAOkC,QAAA,GAAW;AAG1C;AAEA,SAAS3E,oBACPqF,IAAA,EACA7C,IAAA,EACAxD,IAAA,EACAsG,aAAA,EACA;EACA,WAAWlF,GAAA,IAAOiF,IAAA,EAChB,IAAI,EAAEjF,GAAA,IAAOoC,IAAA,GAAO;IAClB,IAAI8C,aAAA,IAAiBlF,GAAA,IAAOkF,aAAA,EAC1B;IAEFtG,IAAA,CAAKpD,KAAA,CAAMwE,GAAG,IAAI;EACpB;AAEJ;AAIO,MAAMyD,qBAAA,GAAqC,mBAAIhJ,GAAA,CAAY,CAChE,gBACA,cACA,aACA,WACA,iBACA,WACA,aACA,iBACA,cACA,kBACA,YACA,aACA,aACA,iBACA,YACA,YACA,aACD;EAEKC,UAAA,GAAayK,gBAAA,CAAiB,KAAK;EACnCxK,UAAA,GAAawK,gBAAA,CAAiB,MAAM;AAE1C,SAASA,iBAAiBC,UAAA,EAAoB;EAC5C,MAAMC,MAAA,GAASD,UAAA,KAAe;IAExBE,SAAA,GAAY7L,UAAA,CAAW,CAAC8L,OAAA,EAAc5D,GAAA,KAAQ;MAClD,MAAM;UAAE6D,YAAA;UAAcC,SAAA;UAAW7D,MAAA,GAASwD,UAAA;UAAY5J,KAAA;UAAO,GAAGkK;QAAU,IAAIH,OAAA;QACxE,CAACjI,KAAA,EAAOC,OAAO,IAAIrD,iBAAA,CAAkB;QACrCyL,OAAA,GAAU9L,MAAA,CAAoB,IAAI;QAClC+L,YAAA,GAAe3M,eAAA,CAAgBuM,YAAA,EAAc7D,GAAA,EAAKgE,OAAA,EAASrI,KAAK;QAEhE5B,QAAA,GAAW7B,MAAA,CAAY,IAAI;MAC5B6B,QAAA,CAASc,OAAA,KACZd,QAAA,CAASc,OAAA,GAAU;QACjB,IAAIqC,KAAA,EAAO;UACT,OAAO8G,OAAA,CAAQnJ,OAAA;QACjB;MACF;MAGF,MAAM,CAACqJ,CAAA,EAAGC,KAAK,IAAI3M,iBAAA,CAAkB,CAAC,CAAC;QAEjC4M,MAAA,GAASjK,KAAA,CAAMC,OAAA,CAAQP,KAAK,IAAIA,KAAA,GAAQ,CAACA,KAAK;QAE9C,CAACwK,aAAA,EAAeC,iBAAiB,KAAK,MAAM;UAChD,IAAIC,cAAA;UACJ,MAAMC,kBAAA,GAAmC,EAAC;UAC1C,WAAWC,MAAA,IAASL,MAAA,EACdK,MAAA,CAAMhD,QAAA,GACR8C,cAAA,GAAgBE,MAAA,GAEhBD,kBAAA,CAAkBE,IAAA,CAAKD,MAAK;UAGhC,OAAO,CAACF,cAAA,EAAeC,kBAAiB;QAC1C,GAAG;MAEH,SAASG,SAASC,MAAA,EAAY;QAC5B,MAAMC,GAAA,GAAM3N,cAAA,CACV0N,MAAA,EACAlB,MAAA,GAASrM,IAAA,CAAKyN,YAAA,GAAerN,IAAA,CAAKqN,YAAA,EAClCX,KAAA,EAAOY,KAAA,EACPZ,KAAA,EAAOa,IAAA,EACP;UACEzK,SAAA,EAAW;QACb,GACA;UACE0K,UAAA,EAAY;UACZC,OAAA,EAAS;UACTC,aAAA,EAAe;QACjB,CACF;QAEA,OAAKN,GAAA,IAIDA,GAAA,CAAIO,SAAA,CAAUvL,KAAA,KAChB7C,SAAA,CAAU6N,GAAA,CAAIO,SAAA,CAAUvL,KAAK,GAC7BzC,UAAA,CAAWyN,GAAA,CAAIO,SAAA,CAAUvL,KAAK,IAGzBgL,GAAA,CAAIO,SAAA,IARF,CAAC;MASZ;MAEA,MAAMxL,KAAA,GAAQ+K,QAAA,CAAS;UAAE,GAAGZ,SAAA;UAAWlK,KAAA,EAAOyK;QAAkB,CAAC;QAC3De,OAAA,GAAUpF,MAAA,IAAU;QACpBqF,gBAAA,GAAmBnO,KAAA,CAAMoO,iBAAA,GAAoBtF,MAAA,EAAQrG,KAAA,EAAOG,QAAA,EAAU,EAAK;MAEjF,OAAAhC,SAAA,CAAU,MAAM;QACd,IAAKsM,aAAA,EAEL,OAAOA,aAAA,CAAcjE,WAAA,CAAYW,EAAA,CAAG,UAAWC,KAAA,IAAU;UACvD,MAAMrB,SAAA,GAAY0E,aAAA,CAAc5C,QAAA,CAAST,KAAK;YACxCwE,eAAA,GAAkBhN,mBAAA,CAAoB+H,GAAA,CAAI8D,aAAA,CAAcjE,WAAW;YACnEnD,IAAA,GAAO+G,OAAA,CAAQnJ,OAAA;YAEf4K,QAAA,GAAWd,QAAA,CAAS;cAAE9K,KAAA,EAAO8F;YAAU,CAAC,EAAE9F,KAAA;UAEhD,IAAI4L,QAAA,IAAYxI,IAAA,YAAgBc,WAAA,EAAa;YAC3C,MAAM2H,qBAAA,GACJF,eAAA,EAAiB7E,IAAA,KAAS,WACtB;cACEA,IAAA,EAAM;cACNiC,QAAA,GAAW4C,eAAA,EAAiB5C,QAAA,IAAY,KAAK;YAC/C,IACA4C,eAAA,EAAiB7E,IAAA,KAAS,WACxB;cAAEA,IAAA,EAAM;cAASiC,QAAA,EAAU;YAAE,IAC7B;cACEjC,IAAA,EAAM;cACN,GAAI6E;YACN;YAER5J,OAAA,CAAQqB,IAAA,EAAMwI,QAAA,EAAiBC,qBAAqB;UACtD;QACF,CAAC;MACH,GAAG,CAACrB,aAAa,CAAC,GAEX,eAAAjM,GAAA,CAACiN,OAAA;QAAS,GAAGC,gBAAA;QAAkBtF,GAAA,EAAKiE;MAAA,CAAc;IAC3D,CAAC;EAED,OAAAN,SAAA,CAAUgC,gBAAA,GAAsB,IAEzBhC,SAAA;AACT;AAEA,SAAShG,QACPiI,QAAA,EACAnF,IAAA,EACgC;EAChC,IAAI,CAACmF,QAAA,EACH,OAAOnF,IAAA;EAGT,IAAIlC,IAAA,GAAuC;EAC3C,WAAWF,GAAA,IAAOoC,IAAA,EACZA,IAAA,CAAKpC,GAAG,MAAMuH,QAAA,CAASvH,GAAG,MAC5BE,IAAA,KAAS,CAAC,GACVA,IAAA,CAAKF,GAAG,IAAIoC,IAAA,CAAKpC,GAAG;EAGxB,OAAOE,IAAA;AACT;AAIA,SAASa,qBACPb,IAAA,EACAqH,QAAA,EACAnF,IAAA,EACyB;EACzB,IAAIkC,MAAA,GAASpE,IAAA;EACb,WAAWF,GAAA,IAAOE,IAAA,EAChB,IAAIA,IAAA,CAAKF,GAAG,MAAM,eAAe;IAC/B,IAAIwH,KAAA,GAAQ;IACZ,MAAMC,UAAA,GAAa,CAACF,QAAA,GAAWvH,GAAG,GAAGoC,IAAA,GAAOpC,GAAG,CAAC;IAChD,WAAW0H,SAAA,IAAaD,UAAA,EACtB,IAAI,OAAOC,SAAA,IAAc,YAAYA,SAAA,KAAc,eAAe;MAChE,MAAMC,SAAA,GAAYD,SAAA,CAAUE,KAAA,CAAM,wCAAwC;MAC1E,IAAID,SAAA,EAAW;QACbH,KAAA,GAAQ,QAAQG,SAAA,CAAU,CAAC,CAAC,KAAKA,SAAA,CAAU,CAAC,CAAC,KAAKA,SAAA,CAAU,CAAC,CAAC;QAC9D;MACF;IACF;IAEErD,MAAA,KAAWpE,IAAA,KACboE,MAAA,GAAS;MAAE,GAAGpE;IAAK,IAErBoE,MAAA,CAAOtE,GAAG,IAAIwH,KAAA;EAChB;EAEF,OAAOlD,MAAA;AACT","ignoreList":[]}
|