@tamagui/animations-css 2.7.7 → 3.0.0-beta.643.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/animated-number.cjs +195 -0
- package/dist/cjs/animated-number.native.cjs +292 -0
- package/dist/cjs/animated-number.native.js +294 -0
- package/dist/cjs/animated-number.native.js.map +1 -0
- package/dist/cjs/createAnimations.cjs +359 -416
- package/dist/cjs/createAnimations.native.cjs +472 -0
- package/dist/cjs/createAnimations.native.js +446 -510
- package/dist/cjs/createAnimations.native.js.map +1 -1
- package/dist/cjs/index.cjs +10 -11
- package/dist/cjs/index.native.cjs +21 -0
- package/dist/cjs/index.native.js +10 -10
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/esm/animated-number.mjs +164 -0
- package/dist/esm/animated-number.mjs.map +1 -0
- package/dist/esm/animated-number.native.js +259 -0
- package/dist/esm/animated-number.native.js.map +1 -0
- package/dist/esm/createAnimations.mjs +344 -391
- package/dist/esm/createAnimations.mjs.map +1 -1
- package/dist/esm/createAnimations.native.js +430 -485
- package/dist/esm/createAnimations.native.js.map +1 -1
- package/dist/esm/index.js +1 -2
- package/dist/esm/index.mjs +1 -2
- package/dist/esm/index.native.js +1 -2
- package/package.json +16 -7
- package/src/animated-number.tsx +262 -0
- package/src/createAnimations.tsx +305 -501
- package/types/animated-number.d.ts +19 -0
- package/types/animated-number.d.ts.map +11 -0
- 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":["normalizeTransition","getAnimatedProperties","hasAnimation","hasNormalizedAnimation","getEffectiveAnimation","getAnimationConfigsForKeys","useIsomorphicLayoutEffect","ResetPresence","usePresence","transformsToString","React","_type_of","obj","Symbol","constructor","EXTRACT_MS_REGEX","EXTRACT_S_REGEX","extractDuration","animation","msMatch","match","Number","parseInt","sMatch","Math","round","parseFloat","MS_DURATION_REGEX","S_DURATION_REGEX","applyDurationOverride","durationMs","msReplaced","replace","sReplaced","TRANSFORM_KEYS","buildTransformString","style","parts","x","y","_style_x","_style_y","push","scale","scaleX","scaleY","rotate","val","unit","includes","rotateX","rotateY","rotateZ","skewX","skewY","join","applyStylesToNode","node","transformStr","transform","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","iterator","_step","next","done","key","value","opacity","String","backgroundColor","color","err","return","createAnimations","animations","reactionListeners","WeakMap","inputStyle","outputStyle","useAnimatedNumber","initial","setVal","useState","finishTimerRef","useRef","getInstance","getValue","setValue","config","onFinish","current","clearTimeout","type","duration","setTimeout","listeners","get","forEach","listener","stop","useAnimatedNumberReaction","param","onValue","useEffect","instance","queue","Set","set","add","delete","useAnimatedNumberStyle","getStyle","useAnimatedNumbersStyle","vals","map","v","useAnimations","props","presence","componentState","stateRef","styleState","_normalized_config","isHydrating","unmounted","isEntering","isExiting","sendExitComplete","wasEnteringRef","justFinishedEntering","exitCycleIdRef","exitCompletedRef","wasExitingRef","exitInterruptedRef","sendExitCompleteRef","lastNonExitingStyleRef","justStartedExiting","justStoppedExiting","host","computedStyle","getComputedStyle","_styleState_effectiveTransition","effectiveTransition","transition","normalized","animationState","effectiveAnimationKey","defaultAnimation","animatedProperties","hasDefault","default","enter","exit","hasPerPropertyConfigs","length","keys","animateOnly","_normalized_config2","cycleId","completeExit","_sendExitCompleteRef_current","call","rafId","wasInterrupted","ignoreCancelEvents","enterStyle","exitStyle","delayStr2","delay","durationOverride2","exitTransitionString","key2","propAnimation","properties","animationValue2","filter","Boolean","getResetValue","_style_opacity","_ref","_ref1","resetStyle","resetValue","offsetHeight","resetStyle1","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","key1","resetValue1","requestAnimationFrame","maxDuration","animationConfigs","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","values","_step2","animationValue","_normalized_delay","fallbackTimeout","timeoutId","transitioningProps","completedCount","onFinishAnimation","event","target","eventProp","propertyName"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"createAnimations.native.js","names":["hasNormalizedAnimation"],"sources":["esm/createAnimations.native.js"],"sourcesContent":["import { normalizeTransition, getAnimatedProperties, hasAnimation as hasNormalizedAnimation, getEffectiveAnimation } from \"@tamagui/animation-helpers\";\nimport { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { ResetPresence, usePresence } from \"@tamagui/use-presence\";\nimport { transformsToString } from \"@tamagui/web\";\nimport React from \"react\";\nimport { useAnimatedNumber, useAnimatedNumberReaction, useAnimatedNumberStyle, useAnimatedNumbersStyle } from \"./animated-number\";\nvar hasRAF = typeof requestAnimationFrame !== \"undefined\";\nfunction waitForAnimations(node) {\n if (typeof node.getAnimations !== \"function\") {\n return Promise.resolve(true);\n }\n return new Promise(function(resolve) {\n var check = function() {\n var animations = node.getAnimations();\n if (animations.length === 0) {\n resolve(true);\n return;\n }\n Promise.all(animations.map(function(a) {\n return a.finished;\n })).then(function() {\n return resolve(true);\n }).catch(function() {\n var remaining = node.getAnimations();\n if (remaining.some(function(a) {\n return a.playState === \"running\" || a.pending;\n })) {\n check();\n return;\n }\n resolve(false);\n });\n };\n if (hasRAF) {\n requestAnimationFrame(check);\n } else {\n check();\n }\n });\n}\nvar DURATION_REGEX = /(\\d+(?:\\.\\d+)?)\\s*(?:ms|s(?!tiffness))/;\nfunction applyDurationOverride(animation, durationMs) {\n var replaced = animation.replace(DURATION_REGEX, `${durationMs}ms`);\n return replaced === animation ? `${durationMs}ms ${animation}` : replaced;\n}\nvar CSS_TRANSFORM_PROPERTIES = {\n transform: [\n \"translate\",\n \"scale\",\n \"rotate\",\n \"transform\"\n ],\n x: [\n \"translate\"\n ],\n y: [\n \"translate\"\n ],\n scale: [\n \"scale\"\n ],\n scaleX: [\n \"scale\"\n ],\n scaleY: [\n \"scale\"\n ],\n rotate: [\n \"rotate\"\n ],\n rotateX: [\n \"transform\"\n ],\n rotateY: [\n \"transform\"\n ],\n rotateZ: [\n \"transform\"\n ],\n skewX: [\n \"transform\"\n ],\n skewY: [\n \"transform\"\n ]\n};\nvar getCSSProperties = function(key) {\n return CSS_TRANSFORM_PROPERTIES[key] || [\n key\n ];\n};\nvar hyphenatedPropertyCache = {};\nvar emptyProperties = [];\nfunction hyphenateProperty(property) {\n var _hyphenatedPropertyCache, _property;\n if (property.startsWith(\"--\")) return property;\n return (_hyphenatedPropertyCache = hyphenatedPropertyCache)[_property = property] || (_hyphenatedPropertyCache[_property] = property.replace(/[A-Z]/g, function(letter) {\n return `-${letter.toLowerCase()}`;\n }));\n}\nfunction getLifecycleCSSProperties(keys) {\n if (!(keys === null || keys === void 0 ? void 0 : keys.size)) return emptyProperties;\n var properties = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = getCSSProperties(key)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var property = _step1.value;\n properties.add(hyphenateProperty(property));\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\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 return [\n ...properties\n ].sort();\n}\nfunction readComputedProperties(node, properties) {\n var computed = getComputedStyle(node);\n var values = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = properties[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var property = _step.value;\n var value = computed.getPropertyValue(property);\n if (value) values[property] = value;\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 return values;\n}\nfunction applyCSSProperties(node, values) {\n for (var property in values) {\n node.style.setProperty(property, values[property]);\n }\n}\nfunction clearCSSProperties(node, properties) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = properties[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var property = _step.value;\n node.style.removeProperty(property);\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}\nfunction createAnimations(animations) {\n return {\n animations,\n usePresence,\n ResetPresence,\n inputStyle: \"css\",\n outputStyle: \"css\",\n useAnimatedNumber,\n useAnimatedNumberReaction,\n useAnimatedNumberStyle,\n useAnimatedNumbersStyle,\n // @ts-ignore - styleState is added by createComponent\n useAnimations: function(param) {\n var { props, presence, style, componentState, stateRef, styleState, onTransition } = param;\n var _styleState_programLifecycleStyleKeys;\n var isHydrating = componentState.unmounted === true;\n var isEntering = !!componentState.unmounted;\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 wasEnteringRef = React.useRef(isEntering);\n var justFinishedEntering = wasEnteringRef.current && !isEntering;\n React.useEffect(function() {\n wasEnteringRef.current = isEntering;\n });\n var exitCycleIdRef = React.useRef(0);\n var exitCompletedRef = React.useRef(false);\n var wasExitingRef = React.useRef(false);\n var sendExitCompleteRef = React.useRef(sendExitComplete);\n var lastMountedStyleRef = React.useRef({});\n sendExitCompleteRef.current = sendExitComplete;\n var exitCSSProperties = getLifecycleCSSProperties(styleState === null || styleState === void 0 ? void 0 : (_styleState_programLifecycleStyleKeys = styleState.programLifecycleStyleKeys) === null || _styleState_programLifecycleStyleKeys === void 0 ? void 0 : _styleState_programLifecycleStyleKeys.exit);\n var exitCSSPropertiesSignature = exitCSSProperties.join(\"\\0\");\n var enterCycleIdRef = React.useRef(0);\n var enterStartedRef = React.useRef(false);\n var updateCycleIdRef = React.useRef(0);\n var updateInFlightRef = React.useRef(false);\n var prevUpdateSigRef = React.useRef(null);\n var exitStartedRef = React.useRef(false);\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 React.useEffect(function() {\n wasExitingRef.current = isExiting;\n });\n useIsomorphicLayoutEffect(function() {\n if (isExiting) return;\n var host = stateRef.current.host;\n if (!host || !exitCSSProperties.length) {\n lastMountedStyleRef.current = {};\n return;\n }\n var node = host;\n var capture = function() {\n if (stateRef.current.host !== node || wasExitingRef.current) return;\n lastMountedStyleRef.current = readComputedProperties(node, exitCSSProperties);\n };\n if (justFinishedEntering) {\n void waitForAnimations(node).then(capture);\n } else {\n capture();\n }\n }, [\n isExiting,\n justFinishedEntering,\n exitCSSPropertiesSignature\n ]);\n var _styleState_effectiveTransition;\n var effectiveTransition = (_styleState_effectiveTransition = styleState === null || styleState === void 0 ? void 0 : styleState.effectiveTransition) !== null && _styleState_effectiveTransition !== void 0 ? _styleState_effectiveTransition : props.transition;\n var normalized = normalizeTransition(effectiveTransition);\n var animationState = isExiting ? \"exit\" : isEntering || justFinishedEntering ? \"enter\" : \"default\";\n var effectiveAnimationKey = getEffectiveAnimation(normalized, animationState);\n var defaultAnimation = effectiveAnimationKey ? animations[effectiveAnimationKey] : null;\n var animatedProperties = getAnimatedProperties(normalized);\n var hasDefault = normalized.default !== null || normalized.enter !== null || normalized.exit !== null;\n var hasPerPropertyConfigs = animatedProperties.length > 0;\n var keys;\n if (props.animateOnly) {\n keys = props.animateOnly;\n } else if (hasPerPropertyConfigs && !hasDefault) {\n keys = animatedProperties;\n } else if (hasPerPropertyConfigs && hasDefault) {\n keys = [\n \"all\",\n ...animatedProperties\n ];\n } else {\n keys = [\n \"all\"\n ];\n }\n var transition;\n var getTransition = function() {\n var _normalized_config;\n if (transition !== void 0) return transition;\n var delay = normalized.delay ? ` ${normalized.delay}ms` : \"\";\n var duration = (_normalized_config = normalized.config) === null || _normalized_config === void 0 ? void 0 : _normalized_config.duration;\n transition = keys.flatMap(function(key) {\n var propertyAnimation = normalized.properties[key];\n var animation = defaultAnimation;\n if (typeof propertyAnimation === \"string\") {\n animation = animations[propertyAnimation];\n } else if (propertyAnimation === null || propertyAnimation === void 0 ? void 0 : propertyAnimation.type) {\n animation = animations[propertyAnimation.type];\n }\n if (animation && duration) {\n animation = applyDurationOverride(animation, duration);\n }\n return animation ? getCSSProperties(key).map(function(property) {\n return `${property} ${animation}${delay}`;\n }) : [];\n }).join(\", \");\n return transition;\n };\n useIsomorphicLayoutEffect(function() {\n var host = stateRef.current.host;\n if (!sendExitComplete || !isExiting || !host) return;\n var node = host;\n var cycleId = exitCycleIdRef.current;\n if (!exitStartedRef.current) {\n exitStartedRef.current = true;\n emit(\"start\", \"exit\");\n }\n var completeExit = function() {\n var finished = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;\n var _sendExitCompleteRef_current;\n if (cycleId !== exitCycleIdRef.current) return;\n if (exitCompletedRef.current) return;\n exitCompletedRef.current = true;\n if (exitStartedRef.current) {\n exitStartedRef.current = false;\n emit(\"end\", \"exit\", finished);\n }\n (_sendExitCompleteRef_current = sendExitCompleteRef.current) === null || _sendExitCompleteRef_current === void 0 ? void 0 : _sendExitCompleteRef_current.call(sendExitCompleteRef);\n };\n if (keys.length === 0) {\n completeExit();\n return;\n }\n var rafId;\n var disposed = false;\n var mountedStyle = lastMountedStyleRef.current;\n var canRestart = exitCSSProperties.length > 0 && Object.keys(mountedStyle).length > 0;\n var exitTarget;\n if (canRestart) {\n node.style.transition = \"none\";\n exitTarget = readComputedProperties(node, exitCSSProperties);\n applyCSSProperties(node, mountedStyle);\n void node.offsetHeight;\n rafId = requestAnimationFrame(function() {\n if (cycleId !== exitCycleIdRef.current) return;\n node.style.transition = getTransition();\n void node.offsetHeight;\n applyCSSProperties(node, exitTarget);\n });\n }\n void waitForAnimations(node).then(function(finished) {\n if (!disposed) completeExit(finished);\n });\n return function() {\n disposed = true;\n if (rafId !== void 0) cancelAnimationFrame(rafId);\n clearCSSProperties(node, exitCSSProperties);\n node.style.transition = \"\";\n };\n }, [\n isExiting,\n exitCSSPropertiesSignature\n ]);\n var styleSignature = onTransition ? (function() {\n var { transition: _t, ...rest } = style;\n var _styleState_classNames;\n return `${JSON.stringify((_styleState_classNames = styleState === null || styleState === void 0 ? void 0 : styleState.classNames) !== null && _styleState_classNames !== void 0 ? _styleState_classNames : null)}|${JSON.stringify(rest)}`;\n })() : \"\";\n useIsomorphicLayoutEffect(function() {\n var host = stateRef.current.host;\n if (!onTransitionRef.current || isExiting || !justFinishedEntering || !host) {\n return;\n }\n var node = host;\n var cycleId = ++enterCycleIdRef.current;\n enterStartedRef.current = true;\n emit(\"start\", \"enter\");\n void waitForAnimations(node).then(function(finished) {\n if (cycleId !== enterCycleIdRef.current || !enterStartedRef.current) return;\n enterStartedRef.current = false;\n emit(\"end\", \"enter\", finished);\n });\n }, [\n justFinishedEntering,\n isExiting\n ]);\n useIsomorphicLayoutEffect(function() {\n var host = stateRef.current.host;\n if (!onTransitionRef.current || isEntering || justFinishedEntering || isExiting || !host) {\n prevUpdateSigRef.current = styleSignature;\n return;\n }\n if (prevUpdateSigRef.current === null) {\n prevUpdateSigRef.current = styleSignature;\n return;\n }\n if (styleSignature === prevUpdateSigRef.current) return;\n prevUpdateSigRef.current = styleSignature;\n var node = host;\n if (updateInFlightRef.current) {\n emit(\"end\", \"update\", false);\n }\n updateInFlightRef.current = true;\n var cycleId = ++updateCycleIdRef.current;\n emit(\"start\", \"update\");\n void waitForAnimations(node).then(function(finished) {\n if (cycleId !== updateCycleIdRef.current) return;\n updateInFlightRef.current = false;\n emit(\"end\", \"update\", finished);\n });\n }, [\n styleSignature,\n isEntering,\n justFinishedEntering,\n isExiting\n ]);\n useIsomorphicLayoutEffect(function() {\n if (justStartedExiting && enterStartedRef.current) {\n enterCycleIdRef.current++;\n enterStartedRef.current = false;\n emit(\"end\", \"enter\", false);\n }\n if (justStoppedExiting && exitStartedRef.current && !exitCompletedRef.current) {\n exitStartedRef.current = false;\n emit(\"end\", \"exit\", false);\n }\n }, [\n justStartedExiting,\n justStoppedExiting\n ]);\n if (isHydrating) {\n return null;\n }\n if (!hasNormalizedAnimation(normalized)) {\n return null;\n }\n if (Array.isArray(style.transform)) {\n style.transform = transformsToString(style.transform);\n }\n style.transition = getTransition();\n if (process.env.NODE_ENV === \"development\" && props[\"debug\"] === \"verbose\") {\n console.info(\"CSS animation\", {\n props,\n animations,\n normalized,\n defaultAnimation,\n style,\n isEntering,\n isExiting\n });\n }\n return {\n style,\n className: isEntering ? \"t_unmounted\" : \"\"\n };\n }\n };\n}\nexport {\n createAnimations\n};\n//# sourceMappingURL=createAnimations.js.map\n"],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export * from "./createAnimations.mjs"
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
export * from "./createAnimations.mjs"
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export * from "./createAnimations.mjs"
|
|
2
|
-
//# sourceMappingURL=index.mjs.map
|
|
1
|
+
export * from "./createAnimations.mjs"
|
package/dist/esm/index.native.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export * from "./createAnimations.native.js"
|
|
2
|
-
//# sourceMappingURL=index.native.js.map
|
|
1
|
+
export * from "./createAnimations.native.js"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/animations-css",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0-beta.643.1",
|
|
4
4
|
"gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -24,6 +24,15 @@
|
|
|
24
24
|
"import": "./dist/esm/index.mjs",
|
|
25
25
|
"require": "./dist/cjs/index.cjs",
|
|
26
26
|
"default": "./dist/esm/index.mjs"
|
|
27
|
+
},
|
|
28
|
+
"./animated-number": {
|
|
29
|
+
"types": "./types/animated-number.d.ts",
|
|
30
|
+
"react-native": "./dist/esm/animated-number.native.js",
|
|
31
|
+
"browser": "./dist/esm/animated-number.mjs",
|
|
32
|
+
"module": "./dist/esm/animated-number.mjs",
|
|
33
|
+
"import": "./dist/esm/animated-number.mjs",
|
|
34
|
+
"require": "./dist/cjs/animated-number.cjs",
|
|
35
|
+
"default": "./dist/esm/animated-number.mjs"
|
|
27
36
|
}
|
|
28
37
|
},
|
|
29
38
|
"publishConfig": {
|
|
@@ -36,14 +45,14 @@
|
|
|
36
45
|
"clean:build": "tamagui-build clean:build"
|
|
37
46
|
},
|
|
38
47
|
"dependencies": {
|
|
39
|
-
"@tamagui/animation-helpers": "
|
|
40
|
-
"@tamagui/constants": "
|
|
41
|
-
"@tamagui/cubic-bezier-animator": "
|
|
42
|
-
"@tamagui/use-presence": "
|
|
43
|
-
"@tamagui/web": "
|
|
48
|
+
"@tamagui/animation-helpers": "3.0.0-beta.643.1",
|
|
49
|
+
"@tamagui/constants": "3.0.0-beta.643.1",
|
|
50
|
+
"@tamagui/cubic-bezier-animator": "3.0.0-beta.643.1",
|
|
51
|
+
"@tamagui/use-presence": "3.0.0-beta.643.1",
|
|
52
|
+
"@tamagui/web": "3.0.0-beta.643.1"
|
|
44
53
|
},
|
|
45
54
|
"devDependencies": {
|
|
46
|
-
"@tamagui/build": "
|
|
55
|
+
"@tamagui/build": "3.0.0-beta.643.1",
|
|
47
56
|
"react": ">=19",
|
|
48
57
|
"react-dom": "*"
|
|
49
58
|
},
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
AnimatedNumberStrategy,
|
|
3
|
+
UniversalAnimatedNumber,
|
|
4
|
+
UseAnimatedNumberReaction,
|
|
5
|
+
UseAnimatedNumberStyle,
|
|
6
|
+
UseAnimatedNumbersStyle,
|
|
7
|
+
} from '@tamagui/web'
|
|
8
|
+
import React from 'react'
|
|
9
|
+
import { unstable_batchedUpdates } from 'react-dom'
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The optional animated-number leaf.
|
|
13
|
+
*
|
|
14
|
+
* Zero-runtime mode rewrites the four public animated-number imports here, so
|
|
15
|
+
* this module must reach the config, the provider and the component runtime
|
|
16
|
+
* through nothing but types. It owns the CSS driver's rAF timing and spring
|
|
17
|
+
* engine, cancellation, completion callbacks, listener notification and the
|
|
18
|
+
* linked-style render. `createAnimations` uses these same functions, so there is
|
|
19
|
+
* one implementation rather than two.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
// rAF-driven animated number is browser-only. read (don't call) at module scope
|
|
23
|
+
// so ssr never touches requestAnimationFrame.
|
|
24
|
+
const hasRAF = typeof requestAnimationFrame !== 'undefined'
|
|
25
|
+
|
|
26
|
+
type CSSAnimatedNumberInstance = {
|
|
27
|
+
current: number
|
|
28
|
+
target: number
|
|
29
|
+
listeners: Set<(value: number) => void>
|
|
30
|
+
styleHost: object | null
|
|
31
|
+
raf: number | null
|
|
32
|
+
finish: (() => void) | null
|
|
33
|
+
renderTarget: () => void
|
|
34
|
+
cancel: () => void
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
type CSSAnimatedNumber = UniversalAnimatedNumber<CSSAnimatedNumberInstance>
|
|
38
|
+
|
|
39
|
+
function notifyAnimatedNumber(instance: CSSAnimatedNumberInstance, value: number) {
|
|
40
|
+
instance.current = value
|
|
41
|
+
if (instance.listeners.size === 0) return
|
|
42
|
+
unstable_batchedUpdates(() => {
|
|
43
|
+
for (const listener of instance.listeners) listener(value)
|
|
44
|
+
})
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function useAnimatedNumberStyles(
|
|
48
|
+
values: CSSAnimatedNumber[],
|
|
49
|
+
getStyle: (...current: number[]) => any
|
|
50
|
+
) {
|
|
51
|
+
const token = React.useRef<object>(null)
|
|
52
|
+
token.current ||= {}
|
|
53
|
+
const [, renderLinkedValue] = React.useReducer((value) => value + 1, 0)
|
|
54
|
+
const instances = values.map((value) => value.getInstance())
|
|
55
|
+
for (const instance of instances) {
|
|
56
|
+
if (!instance.styleHost) instance.styleHost = token.current
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
React.useEffect(() => {
|
|
60
|
+
const listener = () => renderLinkedValue()
|
|
61
|
+
for (const instance of instances) {
|
|
62
|
+
if (instance.styleHost !== token.current) instance.listeners.add(listener)
|
|
63
|
+
}
|
|
64
|
+
return () => {
|
|
65
|
+
for (const instance of instances) {
|
|
66
|
+
instance.listeners.delete(listener)
|
|
67
|
+
if (instance.styleHost === token.current) instance.styleHost = null
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}, instances)
|
|
71
|
+
|
|
72
|
+
return getStyle(
|
|
73
|
+
...instances.map((instance) =>
|
|
74
|
+
instance.styleHost === token.current ? instance.target : instance.current
|
|
75
|
+
)
|
|
76
|
+
)
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export function useAnimatedNumber(initial: number): CSSAnimatedNumber {
|
|
80
|
+
const [, renderTarget] = React.useReducer((value) => value + 1, 0)
|
|
81
|
+
const instanceRef = React.useRef<CSSAnimatedNumberInstance>(null)
|
|
82
|
+
|
|
83
|
+
if (!instanceRef.current) {
|
|
84
|
+
instanceRef.current = {
|
|
85
|
+
current: initial,
|
|
86
|
+
target: initial,
|
|
87
|
+
listeners: new Set(),
|
|
88
|
+
styleHost: null,
|
|
89
|
+
raf: null,
|
|
90
|
+
finish: null,
|
|
91
|
+
renderTarget,
|
|
92
|
+
cancel() {
|
|
93
|
+
if (this.raf !== null) cancelAnimationFrame(this.raf)
|
|
94
|
+
this.raf = null
|
|
95
|
+
this.finish = null
|
|
96
|
+
},
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
const instance = instanceRef.current
|
|
101
|
+
instance.renderTarget = renderTarget
|
|
102
|
+
React.useEffect(() => () => instance.cancel(), [instance])
|
|
103
|
+
|
|
104
|
+
return React.useMemo(
|
|
105
|
+
() => ({
|
|
106
|
+
getInstance() {
|
|
107
|
+
return instance
|
|
108
|
+
},
|
|
109
|
+
getValue() {
|
|
110
|
+
return instance.current
|
|
111
|
+
},
|
|
112
|
+
setValue(next, config = { type: 'spring' }, onFinish) {
|
|
113
|
+
instance.cancel()
|
|
114
|
+
const from = instance.current
|
|
115
|
+
instance.target = next
|
|
116
|
+
if (instance.styleHost) instance.renderTarget()
|
|
117
|
+
|
|
118
|
+
if (
|
|
119
|
+
!hasRAF ||
|
|
120
|
+
config.type === 'direct' ||
|
|
121
|
+
(config.type === 'timing' && config.duration === 0) ||
|
|
122
|
+
from === next
|
|
123
|
+
) {
|
|
124
|
+
notifyAnimatedNumber(instance, next)
|
|
125
|
+
onFinish?.()
|
|
126
|
+
return
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// css transitions interpolate the host. js only ticks when a
|
|
130
|
+
// reaction, linked style, or completion callback needs live values.
|
|
131
|
+
if (instance.listeners.size === 0 && !onFinish) {
|
|
132
|
+
instance.current = next
|
|
133
|
+
return
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
instance.finish = onFinish ?? null
|
|
137
|
+
const settle = () => {
|
|
138
|
+
instance.raf = null
|
|
139
|
+
notifyAnimatedNumber(instance, next)
|
|
140
|
+
const finish = instance.finish
|
|
141
|
+
instance.finish = null
|
|
142
|
+
finish?.()
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
if (config.type === 'timing') {
|
|
146
|
+
const startedAt = performance.now()
|
|
147
|
+
const tick = () => {
|
|
148
|
+
const progress = Math.min(
|
|
149
|
+
1,
|
|
150
|
+
(performance.now() - startedAt) / config.duration
|
|
151
|
+
)
|
|
152
|
+
if (progress === 1) {
|
|
153
|
+
settle()
|
|
154
|
+
return
|
|
155
|
+
}
|
|
156
|
+
notifyAnimatedNumber(instance, from + (next - from) * progress)
|
|
157
|
+
instance.raf = requestAnimationFrame(tick)
|
|
158
|
+
}
|
|
159
|
+
instance.raf = requestAnimationFrame(tick)
|
|
160
|
+
return
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
const {
|
|
164
|
+
stiffness = 300,
|
|
165
|
+
damping = 35,
|
|
166
|
+
mass = 1,
|
|
167
|
+
overshootClamping,
|
|
168
|
+
restSpeedThreshold: restSpeed = 0.001,
|
|
169
|
+
restDisplacementThreshold: restDisplacement = 0.001,
|
|
170
|
+
} = config as Extract<AnimatedNumberStrategy, { type: 'spring' }>
|
|
171
|
+
const displacement = from - next
|
|
172
|
+
const decayRate = damping / (2 * mass)
|
|
173
|
+
const naturalFrequency = Math.sqrt(stiffness / mass)
|
|
174
|
+
const startedAt = performance.now()
|
|
175
|
+
|
|
176
|
+
const tick = () => {
|
|
177
|
+
const elapsed = (performance.now() - startedAt) / 1000
|
|
178
|
+
let value: number
|
|
179
|
+
let velocity: number
|
|
180
|
+
if (decayRate < naturalFrequency) {
|
|
181
|
+
const dampedFrequency = Math.sqrt(naturalFrequency ** 2 - decayRate ** 2)
|
|
182
|
+
const b = (decayRate * displacement) / dampedFrequency
|
|
183
|
+
const decay = Math.exp(-decayRate * elapsed)
|
|
184
|
+
const cos = Math.cos(dampedFrequency * elapsed)
|
|
185
|
+
const sin = Math.sin(dampedFrequency * elapsed)
|
|
186
|
+
value = next + decay * (displacement * cos + b * sin)
|
|
187
|
+
velocity =
|
|
188
|
+
decay *
|
|
189
|
+
((-decayRate * displacement + b * dampedFrequency) * cos +
|
|
190
|
+
(-decayRate * b - displacement * dampedFrequency) * sin)
|
|
191
|
+
} else if (decayRate === naturalFrequency) {
|
|
192
|
+
const b = decayRate * displacement
|
|
193
|
+
const decay = Math.exp(-decayRate * elapsed)
|
|
194
|
+
value = next + (displacement + b * elapsed) * decay
|
|
195
|
+
velocity = (b - decayRate * (displacement + b * elapsed)) * decay
|
|
196
|
+
} else {
|
|
197
|
+
const frequency = Math.sqrt(decayRate ** 2 - naturalFrequency ** 2)
|
|
198
|
+
const slowRoot = -decayRate + frequency
|
|
199
|
+
const fastRoot = -decayRate - frequency
|
|
200
|
+
const slowCoefficient = (-fastRoot * displacement) / (slowRoot - fastRoot)
|
|
201
|
+
const fastCoefficient = displacement - slowCoefficient
|
|
202
|
+
value =
|
|
203
|
+
next +
|
|
204
|
+
slowCoefficient * Math.exp(slowRoot * elapsed) +
|
|
205
|
+
fastCoefficient * Math.exp(fastRoot * elapsed)
|
|
206
|
+
velocity =
|
|
207
|
+
slowCoefficient * slowRoot * Math.exp(slowRoot * elapsed) +
|
|
208
|
+
fastCoefficient * fastRoot * Math.exp(fastRoot * elapsed)
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
if (
|
|
212
|
+
overshootClamping &&
|
|
213
|
+
((from < next && value > next) || (from > next && value < next))
|
|
214
|
+
) {
|
|
215
|
+
value = next
|
|
216
|
+
velocity = 0
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
if (
|
|
220
|
+
Math.abs(velocity) <= restSpeed &&
|
|
221
|
+
Math.abs(next - value) <= restDisplacement
|
|
222
|
+
) {
|
|
223
|
+
settle()
|
|
224
|
+
return
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
notifyAnimatedNumber(instance, value)
|
|
228
|
+
instance.raf = requestAnimationFrame(tick)
|
|
229
|
+
}
|
|
230
|
+
instance.raf = requestAnimationFrame(tick)
|
|
231
|
+
},
|
|
232
|
+
stop() {
|
|
233
|
+
instance.cancel()
|
|
234
|
+
},
|
|
235
|
+
}),
|
|
236
|
+
[instance]
|
|
237
|
+
)
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
export const useAnimatedNumberReaction: UseAnimatedNumberReaction = (
|
|
241
|
+
{ value },
|
|
242
|
+
onValue
|
|
243
|
+
) => {
|
|
244
|
+
const onValueRef = React.useRef(onValue)
|
|
245
|
+
onValueRef.current = onValue
|
|
246
|
+
React.useEffect(() => {
|
|
247
|
+
const instance = value.getInstance() as CSSAnimatedNumberInstance
|
|
248
|
+
const listener = (current: number) => onValueRef.current(current)
|
|
249
|
+
instance.listeners.add(listener)
|
|
250
|
+
return () => {
|
|
251
|
+
instance.listeners.delete(listener)
|
|
252
|
+
}
|
|
253
|
+
}, [value])
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
export const useAnimatedNumberStyle: UseAnimatedNumberStyle = (val, getStyle) =>
|
|
257
|
+
useAnimatedNumberStyles([val as CSSAnimatedNumber], getStyle)
|
|
258
|
+
|
|
259
|
+
export const useAnimatedNumbersStyle: UseAnimatedNumbersStyle = (vals, getStyle) =>
|
|
260
|
+
useAnimatedNumberStyles(vals as CSSAnimatedNumber[], getStyle)
|
|
261
|
+
|
|
262
|
+
export type { CSSAnimatedNumber, CSSAnimatedNumberInstance }
|