@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.
@@ -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
- export * from "./createAnimations.mjs";
3
- //# sourceMappingURL=index.js.map
2
+
3
+ export * from "./createAnimations.mjs"
@@ -1,3 +1,3 @@
1
1
  import "./polyfill.mjs";
2
- export * from "./createAnimations.mjs";
3
- //# sourceMappingURL=index.mjs.map
2
+
3
+ export * from "./createAnimations.mjs"
@@ -1,3 +1,3 @@
1
1
  import "./polyfill.native.js";
2
- export * from "./createAnimations.native.js";
3
- //# sourceMappingURL=index.native.js.map
2
+
3
+ export * from "./createAnimations.native.js"
@@ -1,4 +1,5 @@
1
1
  if (typeof requestAnimationFrame === "undefined") {
2
- globalThis["requestAnimationFrame"] = typeof setImmediate === "undefined" ? setTimeout : setImmediate;
2
+ globalThis["requestAnimationFrame"] = typeof setImmediate === "undefined" ? setTimeout : setImmediate;
3
3
  }
4
+
4
5
  //# sourceMappingURL=polyfill.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["requestAnimationFrame","globalThis","setImmediate","setTimeout"],"sources":["../../src/polyfill.ts"],"sourcesContent":[null],"mappings":"AACA,IAAI,OAAOA,qBAAA,KAA0B,aAAa;EAChDC,UAAA,CAAW,uBAAuB,IAChC,OAAOC,YAAA,KAAiB,cAAcC,UAAA,GAAaD,YAAA;AACvD","ignoreList":[]}
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
- globalThis["requestAnimationFrame"] = typeof setImmediate === "undefined" ? setTimeout : setImmediate;
2
+ globalThis["requestAnimationFrame"] = typeof setImmediate === "undefined" ? setTimeout : setImmediate;
3
3
  }
4
+
4
5
  //# sourceMappingURL=polyfill.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["requestAnimationFrame","globalThis","setImmediate","setTimeout"],"sources":["../../src/polyfill.ts"],"sourcesContent":[null],"mappings":"AACA,IAAI,OAAOA,qBAAA,KAA0B,aAAa;EAChDC,UAAA,CAAW,uBAAuB,IAChC,OAAOC,YAAA,KAAiB,cAAcC,UAAA,GAAaD,YAAA;AACvD","ignoreList":[]}
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": "2.7.7",
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": "2.7.7",
42
- "@tamagui/constants": "2.7.7",
43
- "@tamagui/use-presence": "2.7.7",
44
- "@tamagui/web": "2.7.7"
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": "2.7.7",
47
+ "@tamagui/build": "3.0.0-beta.637.1",
48
48
  "react": ">=19",
49
- "react-native": "0.83.2"
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": {
@@ -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 { Animated, type Text, type View } from 'react-native'
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
- // a color string that RN's color interpolation can actually parse. var(...),
90
- // calc(...) and empty strings reach createInterpolationFromStringOutputRange /
91
- // mapStringToNumericComponents and throw ('.map of null' / 'outputRange must
92
- // contain color or value with numeric component'). those must be applied as a
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
- if (typeof value !== 'string') return false
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
- return getStyle(value.getInstance())
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
- onDidAnimate,
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
- !!onDidAnimate,
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 (like $theme-dark)
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 themed colors (var(), calc(), empty) crash RN
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
- // handle zero-completion case immediately
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
- onDidAnimate?.()
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
- let cancel = false
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
- const [_, number, after] = input.match(/([-0-9]+)(deg|%|px)/) ?? []
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
  }