@tamagui/animations-react-native 2.7.7 → 3.0.0-beta.637.1
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/dist/cjs/createAnimations.cjs +562 -510
- package/dist/cjs/createAnimations.native.cjs +695 -0
- package/dist/cjs/createAnimations.native.js +638 -589
- package/dist/cjs/createAnimations.native.js.map +1 -1
- package/dist/cjs/index.cjs +10 -11
- package/dist/cjs/index.native.cjs +22 -0
- package/dist/cjs/index.native.js +10 -10
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/polyfill.cjs +3 -2
- package/dist/cjs/polyfill.native.cjs +6 -0
- package/dist/cjs/polyfill.native.js +3 -1
- package/dist/cjs/polyfill.native.js.map +1 -1
- package/dist/esm/createAnimations.mjs +541 -481
- package/dist/esm/createAnimations.mjs.map +1 -1
- package/dist/esm/createAnimations.native.js +617 -561
- package/dist/esm/createAnimations.native.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/index.native.js +2 -2
- package/dist/esm/polyfill.mjs +2 -1
- package/dist/esm/polyfill.mjs.map +1 -1
- package/dist/esm/polyfill.native.js +2 -1
- package/dist/esm/polyfill.native.js.map +1 -1
- package/package.json +9 -8
- package/src/createAnimations.tsx +146 -24
- package/types/createAnimations.d.ts.map +2 -2
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getEffectiveAnimation","normalizeTransition","isWeb","useIsomorphicLayoutEffect","ResetPresence","usePresence","useEvent","useThemeWithState","React","Animated","_type_of","obj","Symbol","constructor","isFabric","global","__nativeFabricUIManager","resolveDynamicValue","value","isDark","dynamicValue","dynamic","dark","light","animatedStyleKey","transform","opacity","colorStyleKey","backgroundColor","color","borderColor","borderLeftColor","borderRightColor","borderTopColor","borderBottomColor","layoutStyleKey","height","width","minHeight","maxHeight","minWidth","maxWidth","hasAnimatedLayoutKey","style","animateOnly","key","includes","isAnimatableColor","costlyToAnimateStyleKey","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderWidth","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","AnimatedView","View","AnimatedText","Text","useAnimatedNumber","initial","state","useRef","current","composite","val","Value","strategy","type","getInstance","getValue","stop","_state_current_composite","setValue","next","config","arguments","length","onFinish","handleFinish","param","finished","spring","toValue","useNativeDriver","start","_state_current_composite1","composite1","timing","useAnimatedNumberReaction","onValue","onChange","useEffect","id","addListener","removeListener","useAnimatedNumberStyle","getStyle","useAnimatedNumbersStyle","vals","map","v","createAnimations","animations","options","_options_useNativeDriver","nativeDriver","isReactNative","inputStyle","outputStyle","avoidReRenders","needsCustomComponent","useAnimations","props","onDidAnimate","componentState","presence","stateRef","useStyleEmitter","_themeState_name","isDisabled","unmounted","isExiting","sendExitComplete","themeState","scheme","name","startsWith","animateStyles","animatedTranforms","animationsState","WeakMap","pseudoActiveRef","exitCycleIdRef","exitCompletedRef","wasExitingRef","justStartedExiting","justStoppedExiting","hasTransitionOnly","isEntering","wasEnteringRef","justFinishedEntering","args","JSON","stringify","res","useMemo","runners","completions","animationState","nonAnimatedStyle","useNativeDriverForNode","seenAnimateKeys","Set","sawTransform","transformCount","rawVal","update","add","console","warn","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","done","_animatedTranforms_current_index","index","tkey","Object","keys","currentTransform","err","return","k","has","slice","animatedTransformStyle","r","_animationsState_current_get","key2","val2","get","interpolation","animatedStyle","fromEntries","entries","param2","k2","animated","valIn","isColorStyleKey","animateToValue","curInterpolation","interpolateArgs","_curInterpolation_current","getInterpolated","set","interpolate","getColorInterpolated","animationConfig","getAnimationConfig","transition","resolve","promise","Promise","res2","push","stopAnimation","getAnimation","animation","delay","sequence","process","env","NODE_ENV","info","forEach","cycleId","cancel","all","then","nextStyle","_effectiveTransition","pseudoActive","animatedShapeChanged","some","Array","isArray","key1","nextState","_stateRef_current_baseSetStateShallow","_stateRef_current","baseSetStateShallow","call","isColor","numVal","anim","response","currentColor","nextColor","inputRange","outputRange","reverse","postfix"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"createAnimations.native.js","names":[],"sources":["esm/createAnimations.native.js"],"sourcesContent":["import { getEffectiveAnimation, normalizeTransition } from \"@tamagui/animation-helpers\";\nimport { isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { ResetPresence, usePresence } from \"@tamagui/use-presence\";\nimport { useEvent, useThemeWithState } from \"@tamagui/web\";\nimport React from \"react\";\nimport { Animated, processColor } from \"react-native\";\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nvar isFabric = !isWeb && typeof global !== \"undefined\" && !!global.__nativeFabricUIManager;\nvar resolveDynamicValue = function(value, isDark) {\n if (value && (typeof value === \"undefined\" ? \"undefined\" : _type_of(value)) === \"object\" && \"dynamic\" in value) {\n var dynamicValue = isDark ? value.dynamic.dark : value.dynamic.light;\n return dynamicValue;\n }\n return value;\n};\nvar animatedStyleKey = {\n transform: true,\n opacity: true\n};\nvar colorStyleKey = {\n backgroundColor: true,\n color: true,\n borderColor: true,\n borderLeftColor: true,\n borderRightColor: true,\n borderTopColor: true,\n borderBottomColor: true\n};\nvar layoutStyleKey = {\n height: true,\n width: true,\n minHeight: true,\n maxHeight: true,\n minWidth: true,\n maxWidth: true\n};\nfunction hasAnimatedLayoutKey(style, isDark, animateOnly) {\n for (var key in layoutStyleKey) {\n if (animateOnly && !animateOnly.includes(key)) continue;\n if (typeof resolveDynamicValue(style[key], isDark) === \"number\") return true;\n }\n return false;\n}\nfunction isAnimatableColor(value) {\n return typeof value === \"string\" && processColor(value) != null;\n}\nvar costlyToAnimateStyleKey = {\n borderRadius: true,\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n borderWidth: true,\n borderLeftWidth: true,\n borderRightWidth: true,\n borderTopWidth: true,\n borderBottomWidth: true,\n ...colorStyleKey\n};\nvar AnimatedView = Animated.View;\nvar AnimatedText = Animated.Text;\nfunction useAnimatedNumber(initial) {\n var state = React.useRef(null);\n if (!state.current) {\n state.current = {\n composite: null,\n val: new Animated.Value(initial),\n strategy: {\n type: \"spring\"\n }\n };\n }\n return {\n getInstance() {\n return state.current.val;\n },\n getValue() {\n return state.current.val[\"_value\"];\n },\n stop() {\n var _state_current_composite;\n (_state_current_composite = state.current.composite) === null || _state_current_composite === void 0 ? void 0 : _state_current_composite.stop();\n state.current.composite = null;\n },\n setValue(next) {\n var { type, ...config } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {\n type: \"spring\"\n }, onFinish = arguments.length > 2 ? arguments[2] : void 0;\n var val = state.current.val;\n var handleFinish = onFinish ? function(param) {\n var { finished } = param;\n return finished ? onFinish() : null;\n } : void 0;\n if (type === \"direct\") {\n val.setValue(next);\n } else if (type === \"spring\") {\n var _state_current_composite;\n (_state_current_composite = state.current.composite) === null || _state_current_composite === void 0 ? void 0 : _state_current_composite.stop();\n var composite = Animated.spring(val, {\n ...config,\n toValue: next,\n useNativeDriver: isFabric\n });\n composite.start(handleFinish);\n state.current.composite = composite;\n } else {\n var _state_current_composite1;\n (_state_current_composite1 = state.current.composite) === null || _state_current_composite1 === void 0 ? void 0 : _state_current_composite1.stop();\n var composite1 = Animated.timing(val, {\n ...config,\n toValue: next,\n useNativeDriver: isFabric\n });\n composite1.start(handleFinish);\n state.current.composite = composite1;\n }\n }\n };\n}\nvar useAnimatedNumberReaction = function(param, onValue) {\n var { value } = param;\n var onChange = useEvent(function(current) {\n onValue(current.value);\n });\n React.useEffect(function() {\n var id = value.getInstance().addListener(onChange);\n return function() {\n value.getInstance().removeListener(id);\n };\n }, [\n value,\n onChange\n ]);\n};\nvar useAnimatedNumberStyle = function(value, getStyle) {\n var instance = value.getInstance();\n var animatedStyle = getStyle(instance);\n var usesAnimatedNode = hasAnimatedNode(animatedStyle);\n var [current, setCurrent] = React.useState(value.getValue());\n React.useEffect(function() {\n if (usesAnimatedNode) return;\n var id = instance.addListener(function(param) {\n var { value: next } = param;\n setCurrent(next);\n });\n return function() {\n instance.removeListener(id);\n };\n }, [\n instance,\n usesAnimatedNode\n ]);\n return usesAnimatedNode ? animatedStyle : getStyle(current);\n};\nfunction hasAnimatedNode(value) {\n if (!value || (typeof value === \"undefined\" ? \"undefined\" : _type_of(value)) !== \"object\") return false;\n if (typeof value.__getValue === \"function\") return true;\n if (Array.isArray(value)) return value.some(hasAnimatedNode);\n return Object.values(value).some(hasAnimatedNode);\n}\nvar useAnimatedNumbersStyle = function(vals, getStyle) {\n return getStyle(...vals.map(function(v) {\n return v.getInstance();\n }));\n};\nfunction createAnimations(animations, options) {\n var _options_useNativeDriver;\n var nativeDriver = (_options_useNativeDriver = options === null || options === void 0 ? void 0 : options.useNativeDriver) !== null && _options_useNativeDriver !== void 0 ? _options_useNativeDriver : isFabric;\n return {\n isReactNative: true,\n inputStyle: \"value\",\n outputStyle: \"inline\",\n avoidReRenders: true,\n animations,\n needsCustomComponent: true,\n View: AnimatedView,\n Text: AnimatedText,\n useAnimatedNumber,\n useAnimatedNumberReaction,\n useAnimatedNumberStyle,\n useAnimatedNumbersStyle,\n usePresence,\n ResetPresence,\n useAnimations: function(param) {\n var { props, onTransition, style, componentState, presence, stateRef, useStyleEmitter } = param;\n var _themeState_name;\n var isDisabled = isWeb && componentState.unmounted === true;\n var isExiting = (presence === null || presence === void 0 ? void 0 : presence[0]) === false;\n var sendExitComplete = presence === null || presence === void 0 ? void 0 : presence[1];\n var onTransitionRef = React.useRef(onTransition);\n onTransitionRef.current = onTransition;\n var emit = function(phase, cause, finished) {\n var _onTransitionRef_current;\n (_onTransitionRef_current = onTransitionRef.current) === null || _onTransitionRef_current === void 0 ? void 0 : _onTransitionRef_current.call(onTransitionRef, phase === \"end\" ? {\n phase,\n cause,\n finished\n } : {\n phase,\n cause\n });\n };\n var [, themeState] = useThemeWithState({});\n var isDark = (themeState === null || themeState === void 0 ? void 0 : themeState.scheme) === \"dark\" || (themeState === null || themeState === void 0 ? void 0 : (_themeState_name = themeState.name) === null || _themeState_name === void 0 ? void 0 : _themeState_name.startsWith(\"dark\"));\n var animateStyles = React.useRef({});\n var animatedTranforms = React.useRef([]);\n var animationsState = React.useRef(/* @__PURE__ */ new WeakMap());\n var pseudoActiveRef = React.useRef(false);\n var exitCycleIdRef = React.useRef(0);\n var exitCompletedRef = React.useRef(false);\n var wasExitingRef = React.useRef(false);\n var enterStartedRef = React.useRef(false);\n var exitStartedRef = React.useRef(false);\n var updateInFlightRef = React.useRef(false);\n var updateCycleIdRef = React.useRef(0);\n var prevStyleSigRef = React.useRef(null);\n var justStartedExiting = isExiting && !wasExitingRef.current;\n var justStoppedExiting = !isExiting && wasExitingRef.current;\n if (justStartedExiting) {\n exitCycleIdRef.current++;\n exitCompletedRef.current = false;\n }\n if (justStoppedExiting) {\n exitCycleIdRef.current++;\n }\n var animateOnly = props.animateOnly || [];\n var hasTransitionOnly = !!props.animateOnly;\n var isEntering = !!componentState.unmounted;\n var wasEnteringRef = React.useRef(isEntering);\n var justFinishedEntering = wasEnteringRef.current && !isEntering;\n React.useEffect(function() {\n wasEnteringRef.current = isEntering;\n });\n var args = [\n JSON.stringify(style),\n componentState,\n isExiting,\n !!onTransition,\n isDark,\n justFinishedEntering,\n hasTransitionOnly\n ];\n var res = React.useMemo(function() {\n var runners = [];\n var completions = [];\n var animationState = isExiting ? \"exit\" : isEntering || justFinishedEntering ? \"enter\" : \"default\";\n var nonAnimatedStyle = {};\n var useNativeDriverForNode = nativeDriver && !hasAnimatedLayoutKey(style, isDark, hasTransitionOnly ? animateOnly : void 0);\n var seenAnimateKeys = /* @__PURE__ */ new Set();\n var sawTransform = false;\n var transformCount = 0;\n for (var key in style) {\n var rawVal = style[key];\n var val = resolveDynamicValue(rawVal, isDark);\n if (val === void 0) continue;\n if (isDisabled) {\n continue;\n }\n if (animatedStyleKey[key] == null && !costlyToAnimateStyleKey[key] && !layoutStyleKey[key]) {\n nonAnimatedStyle[key] = val;\n continue;\n }\n if (hasTransitionOnly && !animateOnly.includes(key)) {\n nonAnimatedStyle[key] = val;\n continue;\n }\n if (layoutStyleKey[key] && typeof val !== \"number\") {\n nonAnimatedStyle[key] = val;\n continue;\n }\n if (colorStyleKey[key] && !isAnimatableColor(val)) {\n nonAnimatedStyle[key] = val;\n continue;\n }\n if (key !== \"transform\") {\n animateStyles.current[key] = update(key, animateStyles.current[key], val);\n seenAnimateKeys.add(key);\n continue;\n }\n if (!val) continue;\n if (typeof val === \"string\") {\n console.warn(`Warning: Tamagui can't animate string transforms yet!`);\n continue;\n }\n sawTransform = true;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = val[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var transform = _step.value;\n var _animatedTranforms_current_index;\n if (!transform) continue;\n var index = transformCount++;\n var tkey = Object.keys(transform)[0];\n var currentTransform = (_animatedTranforms_current_index = animatedTranforms.current[index]) === null || _animatedTranforms_current_index === void 0 ? void 0 : _animatedTranforms_current_index[tkey];\n animatedTranforms.current[index] = {\n [tkey]: update(tkey, currentTransform, transform[tkey])\n };\n animatedTranforms.current = [\n ...animatedTranforms.current\n ];\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n if (!isExiting && !isDisabled && !pseudoActiveRef.current) {\n for (var k in animateStyles.current) {\n if (!seenAnimateKeys.has(k)) delete animateStyles.current[k];\n }\n if (!sawTransform) {\n if (animatedTranforms.current.length) animatedTranforms.current = [];\n } else if (animatedTranforms.current.length > transformCount) {\n animatedTranforms.current = animatedTranforms.current.slice(0, transformCount);\n }\n }\n var animatedTransformStyle = animatedTranforms.current.length > 0 ? {\n transform: animatedTranforms.current.map(function(r) {\n var _animationsState_current_get;\n var key2 = Object.keys(r)[0];\n var val2 = ((_animationsState_current_get = animationsState.current.get(r[key2])) === null || _animationsState_current_get === void 0 ? void 0 : _animationsState_current_get.interpolation) || r[key2];\n return {\n [key2]: val2\n };\n })\n } : {};\n var animatedStyle = {\n ...Object.fromEntries(Object.entries(animateStyles.current).map(function(param2) {\n var [k2, v] = param2;\n var _animationsState_current_get;\n return [\n k2,\n ((_animationsState_current_get = animationsState.current.get(v)) === null || _animationsState_current_get === void 0 ? void 0 : _animationsState_current_get.interpolation) || v\n ];\n })),\n ...animatedTransformStyle\n };\n return {\n runners,\n completions,\n style: [\n nonAnimatedStyle,\n animatedStyle\n ]\n };\n function update(key2, animated, valIn) {\n var isColorStyleKey = colorStyleKey[key2];\n var [val2, type] = isColorStyleKey ? [\n 0,\n void 0\n ] : getValue(valIn);\n var animateToValue = val2;\n var value = animated || new Animated.Value(val2);\n var curInterpolation = animationsState.current.get(value);\n var interpolateArgs;\n if (type) {\n var _curInterpolation_current;\n interpolateArgs = getInterpolated((_curInterpolation_current = curInterpolation === null || curInterpolation === void 0 ? void 0 : curInterpolation.current) !== null && _curInterpolation_current !== void 0 ? _curInterpolation_current : value[\"_value\"], val2, type);\n animationsState.current.set(value, {\n interpolation: value.interpolate(interpolateArgs),\n current: val2\n });\n }\n if (isColorStyleKey) {\n animateToValue = (curInterpolation === null || curInterpolation === void 0 ? void 0 : curInterpolation.animateToValue) ? 0 : 1;\n interpolateArgs = getColorInterpolated(\n curInterpolation === null || curInterpolation === void 0 ? void 0 : curInterpolation.current,\n // valIn is the next color\n valIn,\n animateToValue\n );\n animationsState.current.set(value, {\n current: valIn,\n interpolation: value.interpolate(interpolateArgs),\n animateToValue: (curInterpolation === null || curInterpolation === void 0 ? void 0 : curInterpolation.animateToValue) ? 0 : 1\n });\n }\n if (value) {\n var animationConfig = getAnimationConfig(key2, animations, props.transition, animationState);\n var resolve;\n var promise = new Promise(function(res2) {\n resolve = res2;\n });\n completions.push(promise);\n runners.push(function() {\n value.stopAnimation();\n function getAnimation() {\n return Animated[animationConfig.type || \"spring\"](value, {\n toValue: animateToValue,\n ...animationConfig,\n useNativeDriver: useNativeDriverForNode\n });\n }\n var animation = animationConfig.delay ? Animated.sequence([\n Animated.delay(animationConfig.delay),\n getAnimation()\n ]) : getAnimation();\n animation.start(function(param2) {\n var { finished } = param2;\n if (finished || isExiting) {\n resolve();\n }\n });\n });\n }\n if (process.env.NODE_ENV === \"development\") {\n if (props[\"debug\"] === \"verbose\") {\n console.info(\" \\u{1F4A0} animate\", key2, `from (${value[\"_value\"]}) to`, valIn, `(${val2})`, \"type\", type, \"interpolate\", interpolateArgs);\n }\n }\n return value;\n }\n }, args);\n React.useEffect(function() {\n wasExitingRef.current = isExiting;\n });\n useIsomorphicLayoutEffect(function() {\n if (justStoppedExiting && exitStartedRef.current && !exitCompletedRef.current) {\n exitStartedRef.current = false;\n emit(\"end\", \"exit\", false);\n }\n }, [\n justStoppedExiting\n ]);\n useIsomorphicLayoutEffect(function() {\n res.runners.forEach(function(r) {\n return r();\n });\n var cycleId = exitCycleIdRef.current;\n var cause = isExiting ? \"exit\" : isEntering || justFinishedEntering ? \"enter\" : \"update\";\n if (cause === \"exit\") {\n if (enterStartedRef.current) {\n enterStartedRef.current = false;\n emit(\"end\", \"enter\", false);\n }\n if (updateInFlightRef.current) {\n updateInFlightRef.current = false;\n updateCycleIdRef.current++;\n emit(\"end\", \"update\", false);\n }\n }\n if (cause === \"update\") {\n var sig = args[0];\n if (prevStyleSigRef.current === null || prevStyleSigRef.current === sig) {\n prevStyleSigRef.current = sig;\n return;\n }\n prevStyleSigRef.current = sig;\n if (res.completions.length === 0) return;\n if (updateInFlightRef.current) {\n emit(\"end\", \"update\", false);\n }\n updateInFlightRef.current = true;\n var uid = ++updateCycleIdRef.current;\n emit(\"start\", \"update\");\n Promise.all(res.completions).then(function() {\n if (uid !== updateCycleIdRef.current) return;\n updateInFlightRef.current = false;\n emit(\"end\", \"update\", true);\n });\n return;\n }\n prevStyleSigRef.current = args[0];\n if (res.completions.length === 0) {\n emit(\"start\", cause);\n emit(\"end\", cause, true);\n if (isExiting && !exitCompletedRef.current) {\n exitCompletedRef.current = true;\n sendExitComplete === null || sendExitComplete === void 0 ? void 0 : sendExitComplete();\n }\n return;\n }\n if (cause === \"enter\" && !enterStartedRef.current) {\n enterStartedRef.current = true;\n emit(\"start\", \"enter\");\n }\n if (cause === \"exit\" && !exitStartedRef.current) {\n exitStartedRef.current = true;\n emit(\"start\", \"exit\");\n }\n Promise.all(res.completions).then(function() {\n if (isExiting && cycleId !== exitCycleIdRef.current) return;\n if (isExiting && exitCompletedRef.current) return;\n if (isExiting) {\n if (exitStartedRef.current) {\n exitStartedRef.current = false;\n emit(\"end\", \"exit\", true);\n }\n exitCompletedRef.current = true;\n sendExitComplete === null || sendExitComplete === void 0 ? void 0 : sendExitComplete();\n } else if (enterStartedRef.current) {\n enterStartedRef.current = false;\n emit(\"end\", \"enter\", true);\n }\n });\n }, args);\n useStyleEmitter === null || useStyleEmitter === void 0 ? void 0 : useStyleEmitter(function(nextStyle, _effectiveTransition, pseudoActive) {\n pseudoActiveRef.current = pseudoActive === true;\n var runners = [];\n var seenAnimateKeys = /* @__PURE__ */ new Set();\n var transformCount = 0;\n var animatedShapeChanged = false;\n var useNativeDriverForNode = nativeDriver && !hasAnimatedLayoutKey(nextStyle, isDark) && !Object.keys(animateStyles.current).some(function(key2) {\n return layoutStyleKey[key2];\n });\n for (var key in nextStyle) {\n var rawVal = nextStyle[key];\n var val = resolveDynamicValue(rawVal, isDark);\n if (val === void 0) continue;\n if (key === \"transform\" && Array.isArray(val)) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = val[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var transform = _step.value;\n var _animatedTranforms_current_index;\n if (!transform) continue;\n var index = transformCount++;\n var tkey = Object.keys(transform)[0];\n var currentTransform = (_animatedTranforms_current_index = animatedTranforms.current[index]) === null || _animatedTranforms_current_index === void 0 ? void 0 : _animatedTranforms_current_index[tkey];\n if (!currentTransform) animatedShapeChanged = true;\n animatedTranforms.current[index] = {\n [tkey]: update(tkey, currentTransform, transform[tkey])\n };\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } else if (animatedStyleKey[key] != null || costlyToAnimateStyleKey[key] || layoutStyleKey[key]) {\n if (layoutStyleKey[key] && typeof val !== \"number\") continue;\n if (colorStyleKey[key] && !isAnimatableColor(val)) continue;\n if (!animateStyles.current[key]) animatedShapeChanged = true;\n animateStyles.current[key] = update(key, animateStyles.current[key], val);\n seenAnimateKeys.add(key);\n }\n }\n for (var key1 in animateStyles.current) {\n if (!seenAnimateKeys.has(key1)) {\n delete animateStyles.current[key1];\n animatedShapeChanged = true;\n }\n }\n if (animatedTranforms.current.length > transformCount) {\n animatedTranforms.current = animatedTranforms.current.slice(0, transformCount);\n animatedShapeChanged = true;\n }\n runners.forEach(function(r) {\n return r();\n });\n if (animatedShapeChanged && stateRef.current.nextState) {\n var _stateRef_current_baseSetStateShallow, _stateRef_current;\n (_stateRef_current_baseSetStateShallow = (_stateRef_current = stateRef.current).baseSetStateShallow) === null || _stateRef_current_baseSetStateShallow === void 0 ? void 0 : _stateRef_current_baseSetStateShallow.call(_stateRef_current, stateRef.current.nextState);\n }\n function update(key2, animated, valIn) {\n var isColor = colorStyleKey[key2];\n var [numVal, type] = isColor ? [\n 0,\n void 0\n ] : getValue(valIn);\n var animateToValue = numVal;\n var value = animated || new Animated.Value(numVal);\n var curInterpolation = animationsState.current.get(value);\n if (type) {\n var _curInterpolation_current;\n animationsState.current.set(value, {\n interpolation: value.interpolate(getInterpolated((_curInterpolation_current = curInterpolation === null || curInterpolation === void 0 ? void 0 : curInterpolation.current) !== null && _curInterpolation_current !== void 0 ? _curInterpolation_current : value[\"_value\"], numVal, type)),\n current: numVal\n });\n }\n if (isColor) {\n animateToValue = (curInterpolation === null || curInterpolation === void 0 ? void 0 : curInterpolation.animateToValue) ? 0 : 1;\n animationsState.current.set(value, {\n current: valIn,\n interpolation: value.interpolate(getColorInterpolated(curInterpolation === null || curInterpolation === void 0 ? void 0 : curInterpolation.current, valIn, animateToValue)),\n animateToValue: (curInterpolation === null || curInterpolation === void 0 ? void 0 : curInterpolation.animateToValue) ? 0 : 1\n });\n }\n var animationConfig = getAnimationConfig(key2, animations, props.transition, \"default\");\n runners.push(function() {\n value.stopAnimation();\n var anim = Animated[animationConfig.type || \"spring\"](value, {\n toValue: animateToValue,\n ...animationConfig,\n useNativeDriver: useNativeDriverForNode\n });\n (animationConfig.delay ? Animated.sequence([\n Animated.delay(animationConfig.delay),\n anim\n ]) : anim).start();\n });\n return value;\n }\n });\n if (process.env.NODE_ENV === \"development\") {\n if (props[\"debug\"] === \"verbose\") {\n console.info(`Animated`, {\n response: res,\n inputStyle: style,\n isExiting\n });\n }\n }\n return res;\n }\n };\n}\nfunction getColorInterpolated(currentColor, nextColor, animateToValue) {\n var inputRange = [\n 0,\n 1\n ];\n var outputRange = [\n currentColor ? currentColor : nextColor,\n nextColor\n ];\n if (animateToValue === 0) {\n outputRange.reverse();\n }\n return {\n inputRange,\n outputRange\n };\n}\nfunction getInterpolated(current, next) {\n var postfix = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : \"deg\";\n if (next === current) {\n current = next - 1e-9;\n }\n var inputRange = [\n current,\n next\n ];\n var outputRange = [\n `${current}${postfix}`,\n `${next}${postfix}`\n ];\n if (next < current) {\n inputRange.reverse();\n outputRange.reverse();\n }\n return {\n inputRange,\n outputRange\n };\n}\nfunction getAnimationConfig(key, animations, transition) {\n var animationState = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : \"default\";\n var normalized = normalizeTransition(transition);\n var shortKey = transformShorthands[key];\n var _normalized_properties_key;\n var propAnimation = (_normalized_properties_key = normalized.properties[key]) !== null && _normalized_properties_key !== void 0 ? _normalized_properties_key : normalized.properties[shortKey];\n var animationType = null;\n var extraConf = {};\n if (typeof propAnimation === \"string\") {\n animationType = propAnimation;\n } else if (propAnimation && (typeof propAnimation === \"undefined\" ? \"undefined\" : _type_of(propAnimation)) === \"object\") {\n animationType = propAnimation.type || getEffectiveAnimation(normalized, animationState);\n extraConf = propAnimation;\n } else {\n animationType = getEffectiveAnimation(normalized, animationState);\n }\n if (normalized.delay && !extraConf.delay) {\n extraConf = {\n ...extraConf,\n delay: normalized.delay\n };\n }\n var found = animationType ? animations[animationType] : {};\n return {\n ...found,\n // Apply global spring config overrides (from transition={['bouncy', { stiffness: 1000 }]})\n ...normalized.config,\n // Property-specific config takes highest precedence\n ...extraConf\n };\n}\nvar transformShorthands = {\n x: \"translateX\",\n y: \"translateY\",\n translateX: \"x\",\n translateY: \"y\"\n};\nfunction getValue(input) {\n var isColor = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n if (typeof input !== \"string\") {\n return [\n input\n ];\n }\n var _input_match;\n var [_, number, after] = (_input_match = input.match(/(-?(?:\\d+\\.?\\d*|\\.\\d+))(deg|%|px)?/)) !== null && _input_match !== void 0 ? _input_match : [];\n return [\n +number,\n after\n ];\n}\nexport {\n AnimatedText,\n AnimatedView,\n createAnimations,\n useAnimatedNumber,\n useAnimatedNumberReaction,\n useAnimatedNumberStyle,\n useAnimatedNumbersStyle\n};\n//# sourceMappingURL=createAnimations.js.map\n"],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import "./polyfill.mjs";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
export * from "./createAnimations.mjs"
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import "./polyfill.mjs";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
export * from "./createAnimations.mjs"
|
package/dist/esm/index.native.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import "./polyfill.native.js";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
export * from "./createAnimations.native.js"
|
package/dist/esm/polyfill.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
if (typeof requestAnimationFrame === "undefined") {
|
|
2
|
-
|
|
2
|
+
globalThis["requestAnimationFrame"] = typeof setImmediate === "undefined" ? setTimeout : setImmediate;
|
|
3
3
|
}
|
|
4
|
+
|
|
4
5
|
//# sourceMappingURL=polyfill.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"polyfill.js","names":[],"sources":["esm/polyfill.js"],"sourcesContent":["if (typeof requestAnimationFrame === \"undefined\") {\n globalThis[\"requestAnimationFrame\"] = typeof setImmediate === \"undefined\" ? setTimeout : setImmediate;\n}\n//# sourceMappingURL=polyfill.js.map\n"],"mappings":";AAAA,IAAI,OAAO,0BAA0B,aAAa;CAChD,WAAW,2BAA2B,OAAO,iBAAiB,cAAc,aAAa;AAC3F"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
if (typeof requestAnimationFrame === "undefined") {
|
|
2
|
-
|
|
2
|
+
globalThis["requestAnimationFrame"] = typeof setImmediate === "undefined" ? setTimeout : setImmediate;
|
|
3
3
|
}
|
|
4
|
+
|
|
4
5
|
//# sourceMappingURL=polyfill.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"polyfill.native.js","names":[],"sources":["esm/polyfill.native.js"],"sourcesContent":["if (typeof requestAnimationFrame === \"undefined\") {\n globalThis[\"requestAnimationFrame\"] = typeof setImmediate === \"undefined\" ? setTimeout : setImmediate;\n}\n//# sourceMappingURL=polyfill.js.map\n"],"mappings":";AAAA,IAAI,OAAO,0BAA0B,aAAa;CAChD,WAAW,2BAA2B,OAAO,iBAAiB,cAAc,aAAa;AAC3F"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/animations-react-native",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0-beta.637.1",
|
|
4
4
|
"gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -38,18 +38,19 @@
|
|
|
38
38
|
"clean:build": "tamagui-build clean:build"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@tamagui/animation-helpers": "
|
|
42
|
-
"@tamagui/constants": "
|
|
43
|
-
"@tamagui/use-presence": "
|
|
44
|
-
"@tamagui/web": "
|
|
41
|
+
"@tamagui/animation-helpers": "3.0.0-beta.637.1",
|
|
42
|
+
"@tamagui/constants": "3.0.0-beta.637.1",
|
|
43
|
+
"@tamagui/use-presence": "3.0.0-beta.637.1",
|
|
44
|
+
"@tamagui/web": "3.0.0-beta.637.1"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@tamagui/build": "
|
|
47
|
+
"@tamagui/build": "3.0.0-beta.637.1",
|
|
48
48
|
"react": ">=19",
|
|
49
|
-
"react-native": "0.
|
|
49
|
+
"react-native": "0.86.2"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
|
-
"react": ">=19"
|
|
52
|
+
"react": ">=19",
|
|
53
|
+
"react-native-web": "*"
|
|
53
54
|
},
|
|
54
55
|
"removeSideEffects": true,
|
|
55
56
|
"repository": {
|
package/src/createAnimations.tsx
CHANGED
|
@@ -11,7 +11,13 @@ import type {
|
|
|
11
11
|
} from '@tamagui/web'
|
|
12
12
|
import { useEvent, useThemeWithState } from '@tamagui/web'
|
|
13
13
|
import React from 'react'
|
|
14
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
Animated,
|
|
16
|
+
processColor,
|
|
17
|
+
type ColorValue,
|
|
18
|
+
type Text,
|
|
19
|
+
type View,
|
|
20
|
+
} from 'react-native'
|
|
15
21
|
|
|
16
22
|
// detect Fabric (New Architecture) — Paper doesn't support native driver for all style keys
|
|
17
23
|
const isFabric =
|
|
@@ -86,16 +92,12 @@ function hasAnimatedLayoutKey(
|
|
|
86
92
|
return false
|
|
87
93
|
}
|
|
88
94
|
|
|
89
|
-
//
|
|
90
|
-
// calc(
|
|
91
|
-
//
|
|
92
|
-
//
|
|
93
|
-
// static style instead of entering interpolation.
|
|
95
|
+
// Only colors accepted by RN's own parser can enter interpolation. CSS-wide
|
|
96
|
+
// keywords, unresolved tokens, var()/calc(), and empty strings otherwise reach
|
|
97
|
+
// createInterpolationFromStringOutputRange / mapStringToNumericComponents and
|
|
98
|
+
// throw. Those values must be applied as static styles.
|
|
94
99
|
function isAnimatableColor(value: unknown): value is string {
|
|
95
|
-
|
|
96
|
-
if (value === '') return false
|
|
97
|
-
if (value.includes('var(') || value.includes('calc(')) return false
|
|
98
|
-
return true
|
|
100
|
+
return typeof value === 'string' && processColor(value as ColorValue) != null
|
|
99
101
|
}
|
|
100
102
|
|
|
101
103
|
// these style keys are costly to animate and only work with native driver on Fabric
|
|
@@ -204,7 +206,33 @@ export const useAnimatedNumberStyle: UseAnimatedNumberStyle<RNAnimatedNum> = (
|
|
|
204
206
|
value,
|
|
205
207
|
getStyle
|
|
206
208
|
) => {
|
|
207
|
-
|
|
209
|
+
const instance = value.getInstance()
|
|
210
|
+
const animatedStyle = getStyle(instance)
|
|
211
|
+
const usesAnimatedNode = hasAnimatedNode(animatedStyle)
|
|
212
|
+
const [current, setCurrent] = React.useState(value.getValue())
|
|
213
|
+
|
|
214
|
+
// preserve the native animated-node path for direct mappings. callbacks
|
|
215
|
+
// that do arithmetic require numeric values, so drive those through the
|
|
216
|
+
// value listener and render the computed style.
|
|
217
|
+
React.useEffect(() => {
|
|
218
|
+
if (usesAnimatedNode) return
|
|
219
|
+
|
|
220
|
+
const id = instance.addListener(({ value: next }) => {
|
|
221
|
+
setCurrent(next)
|
|
222
|
+
})
|
|
223
|
+
return () => {
|
|
224
|
+
instance.removeListener(id)
|
|
225
|
+
}
|
|
226
|
+
}, [instance, usesAnimatedNode])
|
|
227
|
+
|
|
228
|
+
return usesAnimatedNode ? animatedStyle : getStyle(current)
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
function hasAnimatedNode(value: unknown): boolean {
|
|
232
|
+
if (!value || typeof value !== 'object') return false
|
|
233
|
+
if (typeof (value as any).__getValue === 'function') return true
|
|
234
|
+
if (Array.isArray(value)) return value.some(hasAnimatedNode)
|
|
235
|
+
return Object.values(value).some(hasAnimatedNode)
|
|
208
236
|
}
|
|
209
237
|
|
|
210
238
|
export const useAnimatedNumbersStyle = (
|
|
@@ -237,7 +265,7 @@ export function createAnimations<A extends AnimationsConfig>(
|
|
|
237
265
|
ResetPresence,
|
|
238
266
|
useAnimations: ({
|
|
239
267
|
props,
|
|
240
|
-
|
|
268
|
+
onTransition,
|
|
241
269
|
style,
|
|
242
270
|
componentState,
|
|
243
271
|
presence,
|
|
@@ -247,6 +275,17 @@ export function createAnimations<A extends AnimationsConfig>(
|
|
|
247
275
|
const isDisabled = isWeb && componentState.unmounted === true
|
|
248
276
|
const isExiting = presence?.[0] === false
|
|
249
277
|
const sendExitComplete = presence?.[1]
|
|
278
|
+
const onTransitionRef = React.useRef(onTransition)
|
|
279
|
+
onTransitionRef.current = onTransition
|
|
280
|
+
const emit = (
|
|
281
|
+
phase: 'start' | 'end',
|
|
282
|
+
cause: 'enter' | 'exit' | 'update',
|
|
283
|
+
finished?: boolean
|
|
284
|
+
) => {
|
|
285
|
+
onTransitionRef.current?.(
|
|
286
|
+
phase === 'end' ? { phase, cause, finished } : { phase, cause }
|
|
287
|
+
)
|
|
288
|
+
}
|
|
250
289
|
const [, themeState] = useThemeWithState({})
|
|
251
290
|
// Check scheme first, then fall back to checking theme name for 'dark'
|
|
252
291
|
const isDark = themeState?.scheme === 'dark' || themeState?.name?.startsWith('dark')
|
|
@@ -272,6 +311,13 @@ export function createAnimations<A extends AnimationsConfig>(
|
|
|
272
311
|
const exitCompletedRef = React.useRef(false)
|
|
273
312
|
const wasExitingRef = React.useRef(false)
|
|
274
313
|
|
|
314
|
+
// onTransition lifecycle bookkeeping
|
|
315
|
+
const enterStartedRef = React.useRef(false)
|
|
316
|
+
const exitStartedRef = React.useRef(false)
|
|
317
|
+
const updateInFlightRef = React.useRef(false)
|
|
318
|
+
const updateCycleIdRef = React.useRef(0)
|
|
319
|
+
const prevStyleSigRef = React.useRef<string | null>(null)
|
|
320
|
+
|
|
275
321
|
// detect transition into/out of exiting state
|
|
276
322
|
const justStartedExiting = isExiting && !wasExitingRef.current
|
|
277
323
|
const justStoppedExiting = !isExiting && wasExitingRef.current
|
|
@@ -302,7 +348,7 @@ export function createAnimations<A extends AnimationsConfig>(
|
|
|
302
348
|
JSON.stringify(style),
|
|
303
349
|
componentState,
|
|
304
350
|
isExiting,
|
|
305
|
-
!!
|
|
351
|
+
!!onTransition,
|
|
306
352
|
isDark,
|
|
307
353
|
justFinishedEntering,
|
|
308
354
|
hasTransitionOnly,
|
|
@@ -342,7 +388,7 @@ export function createAnimations<A extends AnimationsConfig>(
|
|
|
342
388
|
|
|
343
389
|
for (const key in style) {
|
|
344
390
|
const rawVal = style[key]
|
|
345
|
-
// Resolve dynamic theme values
|
|
391
|
+
// Resolve dynamic theme values from flat theme clauses.
|
|
346
392
|
const val = resolveDynamicValue(rawVal, isDark)
|
|
347
393
|
if (val === undefined) continue
|
|
348
394
|
|
|
@@ -371,7 +417,7 @@ export function createAnimations<A extends AnimationsConfig>(
|
|
|
371
417
|
continue
|
|
372
418
|
}
|
|
373
419
|
|
|
374
|
-
// unparseable
|
|
420
|
+
// unparseable colors crash RN
|
|
375
421
|
// interpolation — apply them as a static style instead
|
|
376
422
|
if (colorStyleKey[key] && !isAnimatableColor(val)) {
|
|
377
423
|
nonAnimatedStyle[key] = val
|
|
@@ -556,15 +602,74 @@ export function createAnimations<A extends AnimationsConfig>(
|
|
|
556
602
|
wasExitingRef.current = isExiting
|
|
557
603
|
})
|
|
558
604
|
|
|
605
|
+
// exit interrupted by a re-enter: report the exit as finished:false
|
|
606
|
+
useIsomorphicLayoutEffect(() => {
|
|
607
|
+
if (justStoppedExiting && exitStartedRef.current && !exitCompletedRef.current) {
|
|
608
|
+
exitStartedRef.current = false
|
|
609
|
+
emit('end', 'exit', false)
|
|
610
|
+
}
|
|
611
|
+
}, [justStoppedExiting])
|
|
612
|
+
|
|
559
613
|
useIsomorphicLayoutEffect(() => {
|
|
560
614
|
res.runners.forEach((r) => r())
|
|
561
615
|
|
|
562
616
|
// capture current cycle id
|
|
563
617
|
const cycleId = exitCycleIdRef.current
|
|
564
618
|
|
|
565
|
-
|
|
619
|
+
const cause: 'enter' | 'exit' | 'update' = isExiting
|
|
620
|
+
? 'exit'
|
|
621
|
+
: isEntering || justFinishedEntering
|
|
622
|
+
? 'enter'
|
|
623
|
+
: 'update'
|
|
624
|
+
|
|
625
|
+
// interruptions: an enter or update still in flight when exit begins is
|
|
626
|
+
// reported as finished:false (its own completion promise won't resolve
|
|
627
|
+
// because the animation was stopped, not finished).
|
|
628
|
+
if (cause === 'exit') {
|
|
629
|
+
if (enterStartedRef.current) {
|
|
630
|
+
enterStartedRef.current = false
|
|
631
|
+
emit('end', 'enter', false)
|
|
632
|
+
}
|
|
633
|
+
if (updateInFlightRef.current) {
|
|
634
|
+
updateInFlightRef.current = false
|
|
635
|
+
updateCycleIdRef.current++
|
|
636
|
+
emit('end', 'update', false)
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
// in-place update: a genuine style change while mounted (not entering or
|
|
641
|
+
// exiting). guard on the style signature so lifecycle-only re-renders
|
|
642
|
+
// don't register as updates.
|
|
643
|
+
if (cause === 'update') {
|
|
644
|
+
const sig = args[0] as string
|
|
645
|
+
if (prevStyleSigRef.current === null || prevStyleSigRef.current === sig) {
|
|
646
|
+
prevStyleSigRef.current = sig
|
|
647
|
+
return
|
|
648
|
+
}
|
|
649
|
+
prevStyleSigRef.current = sig
|
|
650
|
+
if (res.completions.length === 0) return
|
|
651
|
+
if (updateInFlightRef.current) {
|
|
652
|
+
// superseded before finishing
|
|
653
|
+
emit('end', 'update', false)
|
|
654
|
+
}
|
|
655
|
+
updateInFlightRef.current = true
|
|
656
|
+
const uid = ++updateCycleIdRef.current
|
|
657
|
+
emit('start', 'update')
|
|
658
|
+
Promise.all(res.completions).then(() => {
|
|
659
|
+
if (uid !== updateCycleIdRef.current) return
|
|
660
|
+
updateInFlightRef.current = false
|
|
661
|
+
emit('end', 'update', true)
|
|
662
|
+
})
|
|
663
|
+
return
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
// keep the update signature current while entering/exiting
|
|
667
|
+
prevStyleSigRef.current = args[0] as string
|
|
668
|
+
|
|
669
|
+
// handle zero-completion case immediately (enter/exit report a pair)
|
|
566
670
|
if (res.completions.length === 0) {
|
|
567
|
-
|
|
671
|
+
emit('start', cause)
|
|
672
|
+
emit('end', cause, true)
|
|
568
673
|
if (isExiting && !exitCompletedRef.current) {
|
|
569
674
|
exitCompletedRef.current = true
|
|
570
675
|
sendExitComplete?.()
|
|
@@ -572,22 +677,34 @@ export function createAnimations<A extends AnimationsConfig>(
|
|
|
572
677
|
return
|
|
573
678
|
}
|
|
574
679
|
|
|
575
|
-
|
|
680
|
+
// enter/exit start (once per cycle; re-runs continue the same animation)
|
|
681
|
+
if (cause === 'enter' && !enterStartedRef.current) {
|
|
682
|
+
enterStartedRef.current = true
|
|
683
|
+
emit('start', 'enter')
|
|
684
|
+
}
|
|
685
|
+
if (cause === 'exit' && !exitStartedRef.current) {
|
|
686
|
+
exitStartedRef.current = true
|
|
687
|
+
emit('start', 'exit')
|
|
688
|
+
}
|
|
689
|
+
|
|
576
690
|
Promise.all(res.completions).then(() => {
|
|
577
|
-
if (cancel) return
|
|
578
691
|
// guard against stale cycle completion
|
|
579
692
|
if (isExiting && cycleId !== exitCycleIdRef.current) return
|
|
580
693
|
if (isExiting && exitCompletedRef.current) return
|
|
581
694
|
|
|
582
|
-
onDidAnimate?.()
|
|
583
695
|
if (isExiting) {
|
|
696
|
+
if (exitStartedRef.current) {
|
|
697
|
+
exitStartedRef.current = false
|
|
698
|
+
// exit 'end' fires immediately before presence safeToRemove
|
|
699
|
+
emit('end', 'exit', true)
|
|
700
|
+
}
|
|
584
701
|
exitCompletedRef.current = true
|
|
585
702
|
sendExitComplete?.()
|
|
703
|
+
} else if (enterStartedRef.current) {
|
|
704
|
+
enterStartedRef.current = false
|
|
705
|
+
emit('end', 'enter', true)
|
|
586
706
|
}
|
|
587
707
|
})
|
|
588
|
-
return () => {
|
|
589
|
-
cancel = true
|
|
590
|
-
}
|
|
591
708
|
}, args)
|
|
592
709
|
|
|
593
710
|
// avoidReRenders: receive style changes imperatively from tamagui
|
|
@@ -826,6 +943,11 @@ function getValue(input: number | string, isColor = false) {
|
|
|
826
943
|
if (typeof input !== 'string') {
|
|
827
944
|
return [input] as const
|
|
828
945
|
}
|
|
829
|
-
|
|
946
|
+
// the unit is optional: unitless numbers reach here as strings (scale, and
|
|
947
|
+
// any bare token value), and the number may be fractional. matching only
|
|
948
|
+
// `[-0-9]+` followed by a required unit read "1.5deg" as 5 and gave NaN for
|
|
949
|
+
// "0.95", and an Animated animation toward NaN never calls its completion
|
|
950
|
+
// callback, which strands whatever waits on it.
|
|
951
|
+
const [_, number, after] = input.match(/(-?(?:\d+\.?\d*|\.\d+))(deg|%|px)?/) ?? []
|
|
830
952
|
return [+number, after] as const
|
|
831
953
|
}
|