@tamagui/animations-css 2.7.7 → 3.0.0-beta.1097.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.
Files changed (44) hide show
  1. package/dist/cjs/animated-number.cjs +194 -0
  2. package/dist/cjs/animated-number.native.cjs +291 -0
  3. package/dist/cjs/animated-number.native.js +293 -0
  4. package/dist/cjs/animated-number.native.js.map +1 -0
  5. package/dist/cjs/createAnimations.cjs +321 -418
  6. package/dist/cjs/createAnimations.native.cjs +430 -0
  7. package/dist/cjs/createAnimations.native.js +405 -511
  8. package/dist/cjs/createAnimations.native.js.map +1 -1
  9. package/dist/cjs/extras.cjs +36 -0
  10. package/dist/cjs/extras.native.cjs +38 -0
  11. package/dist/cjs/extras.native.js +40 -0
  12. package/dist/cjs/extras.native.js.map +1 -0
  13. package/dist/cjs/index.cjs +9 -11
  14. package/dist/cjs/index.native.cjs +20 -0
  15. package/dist/cjs/index.native.js +9 -10
  16. package/dist/cjs/index.native.js.map +1 -1
  17. package/dist/esm/animated-number.mjs +164 -0
  18. package/dist/esm/animated-number.mjs.map +1 -0
  19. package/dist/esm/animated-number.native.js +259 -0
  20. package/dist/esm/animated-number.native.js.map +1 -0
  21. package/dist/esm/createAnimations.mjs +307 -393
  22. package/dist/esm/createAnimations.mjs.map +1 -1
  23. package/dist/esm/createAnimations.native.js +390 -486
  24. package/dist/esm/createAnimations.native.js.map +1 -1
  25. package/dist/esm/extras.mjs +17 -0
  26. package/dist/esm/extras.mjs.map +1 -0
  27. package/dist/esm/extras.native.js +17 -0
  28. package/dist/esm/extras.native.js.map +1 -0
  29. package/dist/esm/index.js +1 -2
  30. package/dist/esm/index.mjs +1 -2
  31. package/dist/esm/index.native.js +1 -2
  32. package/package.json +27 -9
  33. package/src/animated-number.tsx +262 -0
  34. package/src/createAnimations.tsx +294 -555
  35. package/src/extras.ts +24 -0
  36. package/types/animated-number.d.ts +19 -0
  37. package/types/animated-number.d.ts.map +11 -0
  38. package/types/createAnimations.d.ts +2 -1
  39. package/types/createAnimations.d.ts.map +2 -2
  40. package/types/extras.d.ts +6 -0
  41. package/types/extras.d.ts.map +11 -0
  42. package/dist/esm/index.js.map +0 -1
  43. package/dist/esm/index.mjs.map +0 -1
  44. 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":[],"sources":["esm/createAnimations.native.js"],"sourcesContent":["import { forAnimationState, hasTransition, resolveTransition, toCSSTransition } from \"@tamagui/animation-helpers\";\nimport { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { ResetPresence, usePresence } from \"@tamagui/use-presence\";\nimport { transformsToString } from \"@tamagui/web/internal-runtime\";\nimport React from \"react\";\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 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 // @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 animationState = isExiting ? \"exit\" : isEntering || justFinishedEntering ? \"enter\" : \"default\";\n var resolved = forAnimationState(resolveTransition(effectiveTransition, {\n animations\n }), animationState);\n var hasKeys = hasTransition(resolved);\n var transition;\n var getTransition = function() {\n if (transition !== void 0) return transition;\n var _toCSSTransition;\n transition = (_toCSSTransition = toCSSTransition(resolved)) !== null && _toCSSTransition !== void 0 ? _toCSSTransition : \"\";\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 (!hasKeys) {\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 (!hasTransition(resolved)) {\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 resolved,\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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"}
@@ -0,0 +1,17 @@
1
+ import { useAnimatedNumber, useAnimatedNumberReaction, useAnimatedNumberStyle, useAnimatedNumbersStyle } from "./animated-number.mjs";
2
+ import { createAnimations as createAnimations$1 } from "./createAnimations.mjs";
3
+
4
+ export * from "./animated-number.mjs"
5
+
6
+ function createAnimations(animations) {
7
+ return {
8
+ ...createAnimations$1(animations),
9
+ useAnimatedNumber,
10
+ useAnimatedNumberReaction,
11
+ useAnimatedNumberStyle,
12
+ useAnimatedNumbersStyle
13
+ };
14
+ }
15
+
16
+ export { createAnimations };
17
+ //# sourceMappingURL=extras.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extras.js","names":["createCoreAnimations"],"sources":["esm/extras.js"],"sourcesContent":["import {\n useAnimatedNumber,\n useAnimatedNumberReaction,\n useAnimatedNumberStyle,\n useAnimatedNumbersStyle\n} from \"./animated-number\";\nimport { createAnimations as createCoreAnimations } from \"./createAnimations\";\nexport * from \"./animated-number\";\nfunction createAnimations(animations) {\n return {\n ...createCoreAnimations(animations),\n useAnimatedNumber,\n useAnimatedNumberReaction,\n useAnimatedNumberStyle,\n useAnimatedNumbersStyle\n };\n}\nexport {\n createAnimations\n};\n//# sourceMappingURL=extras.js.map\n"],"mappings":";;;;;;AAQA,SAAS,iBAAiB,YAAY;CACpC,OAAO;EACL,GAAGA,mBAAqB,UAAU;EAClC;EACA;EACA;EACA;CACF;AACF"}
@@ -0,0 +1,17 @@
1
+ import { useAnimatedNumber, useAnimatedNumberReaction, useAnimatedNumberStyle, useAnimatedNumbersStyle } from "./animated-number.native.js";
2
+ import { createAnimations as createAnimations$1 } from "./createAnimations.native.js";
3
+
4
+ export * from "./animated-number.native.js"
5
+
6
+ function createAnimations(animations) {
7
+ return {
8
+ ...createAnimations$1(animations),
9
+ useAnimatedNumber,
10
+ useAnimatedNumberReaction,
11
+ useAnimatedNumberStyle,
12
+ useAnimatedNumbersStyle
13
+ };
14
+ }
15
+
16
+ export { createAnimations };
17
+ //# sourceMappingURL=extras.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extras.native.js","names":["createCoreAnimations"],"sources":["esm/extras.native.js"],"sourcesContent":["import { useAnimatedNumber, useAnimatedNumberReaction, useAnimatedNumberStyle, useAnimatedNumbersStyle } from \"./animated-number\";\nimport { createAnimations as createCoreAnimations } from \"./createAnimations\";\nexport * from \"./animated-number\";\nfunction createAnimations(animations) {\n return {\n ...createCoreAnimations(animations),\n useAnimatedNumber,\n useAnimatedNumberReaction,\n useAnimatedNumberStyle,\n useAnimatedNumbersStyle\n };\n}\nexport {\n createAnimations\n};\n//# sourceMappingURL=extras.js.map\n"],"mappings":";;;;;;AAGA,SAAS,iBAAiB,YAAY;CACpC,OAAO;EACL,GAAGA,mBAAqB,UAAU;EAClC;EACA;EACA;EACA;CACF;AACF"}
package/dist/esm/index.js CHANGED
@@ -1,2 +1 @@
1
- export * from "./createAnimations.mjs";
2
- //# sourceMappingURL=index.js.map
1
+ export * from "./createAnimations.mjs"
@@ -1,2 +1 @@
1
- export * from "./createAnimations.mjs";
2
- //# sourceMappingURL=index.mjs.map
1
+ export * from "./createAnimations.mjs"
@@ -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": "2.7.7",
3
+ "version": "3.0.0-beta.1097.1",
4
4
  "gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
5
5
  "license": "MIT",
6
6
  "source": "src/index.ts",
@@ -24,6 +24,24 @@
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"
36
+ },
37
+ "./extras": {
38
+ "types": "./types/extras.d.ts",
39
+ "react-native": "./dist/esm/extras.native.js",
40
+ "browser": "./dist/esm/extras.mjs",
41
+ "module": "./dist/esm/extras.mjs",
42
+ "import": "./dist/esm/extras.mjs",
43
+ "require": "./dist/cjs/extras.cjs",
44
+ "default": "./dist/esm/extras.mjs"
27
45
  }
28
46
  },
29
47
  "publishConfig": {
@@ -36,16 +54,16 @@
36
54
  "clean:build": "tamagui-build clean:build"
37
55
  },
38
56
  "dependencies": {
39
- "@tamagui/animation-helpers": "2.7.7",
40
- "@tamagui/constants": "2.7.7",
41
- "@tamagui/cubic-bezier-animator": "2.7.7",
42
- "@tamagui/use-presence": "2.7.7",
43
- "@tamagui/web": "2.7.7"
57
+ "@tamagui/animation-helpers": "3.0.0-beta.1097.1",
58
+ "@tamagui/constants": "3.0.0-beta.1097.1",
59
+ "@tamagui/cubic-bezier-animator": "3.0.0-beta.1097.1",
60
+ "@tamagui/use-presence": "3.0.0-beta.1097.1",
61
+ "@tamagui/web": "3.0.0-beta.1097.1"
44
62
  },
45
63
  "devDependencies": {
46
- "@tamagui/build": "2.7.7",
47
- "react": ">=19",
48
- "react-dom": "*"
64
+ "@tamagui/build": "3.0.0-beta.1097.1",
65
+ "react": "19.2.3",
66
+ "react-dom": "19.2.3"
49
67
  },
50
68
  "peerDependencies": {
51
69
  "react": ">=19",
@@ -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. The `/extras` factory composes these functions onto the
19
+ * core transition driver.
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 }