@tamagui/animations-motion 3.0.0-beta.765.1 → 3.0.0-beta.804.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.
@@ -32,7 +32,6 @@ function createAnimations(_animations) {
32
32
  }
33
33
  }
34
34
  return {
35
- isReactNative: false,
36
35
  isStub: true,
37
36
  animations: _animations,
38
37
  View: void 0,
@@ -32,7 +32,6 @@ function createAnimations(_animations) {
32
32
  }
33
33
  }
34
34
  return {
35
- isReactNative: false,
36
35
  isStub: true,
37
36
  animations: _animations,
38
37
  View: void 0,
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":[],"sources":["cjs/index.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar index_native_exports = {};\n__export(index_native_exports, {\n createAnimations: () => createAnimations\n});\nmodule.exports = __toCommonJS(index_native_exports);\nvar hasWarnedOnce = false;\nfunction createAnimations(_animations) {\n if (process.env.NODE_ENV === \"development\") {\n if (!hasWarnedOnce) {\n hasWarnedOnce = true;\n console.warn(\"[@tamagui/animations-motion] This animation driver only works on web. On native, use @tamagui/animations-react-native or @tamagui/animations-reanimated instead.\");\n }\n }\n return {\n isReactNative: false,\n isStub: true,\n animations: _animations,\n View: void 0,\n Text: void 0\n };\n}\n//# sourceMappingURL=index.native.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,uBAAuB,CAAC;AAC5B,SAAS,sBAAsB,EAC7B,wBAAwB,iBAC1B,CAAC;AACD,OAAO,UAAU,aAAa,oBAAoB;AAClD,IAAI,gBAAgB;AACpB,SAAS,iBAAiB,aAAa;CACrC,IAAI,QAAQ,IAAI,aAAa,eAAe;EAC1C,IAAI,CAAC,eAAe;GAClB,gBAAgB;GAChB,QAAQ,KAAK,kKAAkK;EACjL;CACF;CACA,OAAO;EACL,eAAe;EACf,QAAQ;EACR,YAAY;EACZ,MAAM,KAAK;EACX,MAAM,KAAK;CACb;AACF"}
1
+ {"version":3,"file":"index.native.js","names":[],"sources":["cjs/index.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar index_native_exports = {};\n__export(index_native_exports, {\n createAnimations: () => createAnimations\n});\nmodule.exports = __toCommonJS(index_native_exports);\nvar hasWarnedOnce = false;\nfunction createAnimations(_animations) {\n if (process.env.NODE_ENV === \"development\") {\n if (!hasWarnedOnce) {\n hasWarnedOnce = true;\n console.warn(\"[@tamagui/animations-motion] This animation driver only works on web. On native, use @tamagui/animations-react-native or @tamagui/animations-reanimated instead.\");\n }\n }\n return {\n isStub: true,\n animations: _animations,\n View: void 0,\n Text: void 0\n };\n}\n//# sourceMappingURL=index.native.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,uBAAuB,CAAC;AAC5B,SAAS,sBAAsB,EAC7B,wBAAwB,iBAC1B,CAAC;AACD,OAAO,UAAU,aAAa,oBAAoB;AAClD,IAAI,gBAAgB;AACpB,SAAS,iBAAiB,aAAa;CACrC,IAAI,QAAQ,IAAI,aAAa,eAAe;EAC1C,IAAI,CAAC,eAAe;GAClB,gBAAgB;GAChB,QAAQ,KAAK,kKAAkK;EACjL;CACF;CACA,OAAO;EACL,QAAQ;EACR,YAAY;EACZ,MAAM,KAAK;EACX,MAAM,KAAK;CACb;AACF"}
@@ -1,6 +1,7 @@
1
1
  import { getEffectiveAnimation, normalizeTransition } from "@tamagui/animation-helpers";
2
2
  import { ResetPresence, usePresence } from "@tamagui/use-presence";
3
- import { Text, View, createRefComponent, fixStyles, getConfig, getSplitStyles, hooks, nonAnimatableStyleProps, normalizeValueWithProperty, styleToCSS, transformsToString, useComposedRefs, useIsomorphicLayoutEffect, useThemeWithState } from "@tamagui/web";
3
+ import { Text, View, createRefComponent, getConfig, getSplitStyles, hooks, nonAnimatableStyleProps, useComposedRefs, useIsomorphicLayoutEffect } from "@tamagui/web";
4
+ import { fixStyles, normalizeValueWithProperty, styleToCSS, transformsToString, useThemeWithState } from "@tamagui/web/internal-runtime";
4
5
  import { animate, motionValue, useAnimate, useMotionValue, useMotionValueEvent } from "motion/react";
5
6
  import React, { useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
6
7
  import { jsx } from "react/jsx-runtime";
@@ -49,7 +50,6 @@ function createAnimations(animations) {
49
50
  return {
50
51
  View: MotionView,
51
52
  Text: MotionText,
52
- isReactNative: false,
53
53
  inputStyle: "css",
54
54
  outputStyle: "inline",
55
55
  avoidReRenders: true,
@@ -1 +1 @@
1
- {"version":3,"file":"createAnimations.js","names":["animateMotionValue"],"sources":["esm/createAnimations.js"],"sourcesContent":["import { getEffectiveAnimation, normalizeTransition } from \"@tamagui/animation-helpers\";\nimport { ResetPresence, usePresence } from \"@tamagui/use-presence\";\nimport {\n fixStyles,\n getConfig,\n getSplitStyles,\n hooks,\n nonAnimatableStyleProps,\n normalizeValueWithProperty,\n styleToCSS,\n Text,\n useComposedRefs,\n useIsomorphicLayoutEffect,\n useThemeWithState,\n View,\n createRefComponent,\n transformsToString\n} from \"@tamagui/web\";\nimport {\n animate as animateMotionValue,\n motionValue,\n useAnimate,\n useMotionValue,\n useMotionValueEvent\n} from \"motion/react\";\nimport React, { useEffect, useLayoutEffect, useMemo, useRef, useState } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nconst isServer = typeof window === \"undefined\";\nfunction useAnimateSSRSafe() {\n if (isServer) {\n return [useRef(null), (() => {\n })];\n }\n return useAnimate();\n}\nconst asStyleRecord = (style) => style && typeof style === \"object\" && !Array.isArray(style) ? style : {};\nfunction assignInlineStyles(node, styles) {\n for (const key in styles) {\n node.style[key] = normalizeValueWithProperty(styles[key], key);\n }\n}\nconst MotionValueStrategy = /* @__PURE__ */ new WeakMap();\nconst PendingMotionOnFinish = /* @__PURE__ */ new WeakMap();\nfunction settlePendingMotionOnFinish(mv, controls) {\n const onFinish = PendingMotionOnFinish.get(mv);\n if (!onFinish) return;\n PendingMotionOnFinish.delete(mv);\n controls.then(() => onFinish()).catch(() => onFinish());\n}\nconst PopperPositionAnims = /* @__PURE__ */ new WeakMap();\nfunction parseTranslate(transform) {\n if (!transform || transform === \"none\") return { x: 0, y: 0 };\n try {\n const m = new DOMMatrixReadOnly(transform);\n if (!m.is2D || m.a !== 1 || m.b !== 0 || m.c !== 0 || m.d !== 1) return null;\n return { x: m.e, y: m.f };\n } catch {\n return null;\n }\n}\nfunction createAnimations(animations) {\n let isHydratingGlobal;\n const hydratingComponents = /* @__PURE__ */ new Set();\n return {\n View: MotionView,\n Text: MotionText,\n isReactNative: false,\n inputStyle: \"css\",\n outputStyle: \"inline\",\n avoidReRenders: true,\n animations,\n usePresence,\n ResetPresence,\n onMount() {\n isHydratingGlobal = false;\n hydratingComponents.forEach((cb) => cb());\n },\n useAnimations: (animationProps) => {\n if (isHydratingGlobal === void 0 && !getConfig().settings.disableSSR) {\n isHydratingGlobal = true;\n }\n const {\n props,\n style,\n componentState,\n stateRef,\n useStyleEmitter,\n presence,\n onTransition,\n styleProps\n } = animationProps;\n const animationKey = Array.isArray(props.transition) ? props.transition[0] : props.transition;\n const isComponentHydrating = componentState.unmounted === true;\n const isMounting = componentState.unmounted === \"should-enter\";\n const isEntering = !!componentState.unmounted;\n const isExiting = presence?.[0] === false;\n const sendExitComplete = presence?.[1];\n const refs = useRef(null);\n if (!refs.current) {\n refs.current = {\n isFirstRender: true,\n lastDoAnimate: null,\n lastDontAnimate: null,\n controls: null,\n lastAnimateAt: 0,\n disposed: false,\n wasExiting: false,\n isExiting: false,\n sendExitComplete: void 0,\n animationState: \"default\",\n frozenExitTarget: null,\n exitCompleteScheduled: false,\n enterCompleteScheduled: false,\n disableAnimation: true,\n wasEntering: false,\n wasDisabled: false,\n onTransition: void 0,\n enterStarted: false,\n exitStarted: false,\n updateInFlight: false,\n updateControls: null,\n wasNoClass: !!styleProps.noClass\n };\n }\n const emit = (phase, cause, finished) => {\n refs.current.onTransition?.(\n phase === \"end\" ? { phase, cause, finished } : { phase, cause }\n );\n };\n const justFinishedEntering = refs.current.wasEntering && !isEntering;\n useEffect(() => {\n refs.current.wasEntering = isEntering;\n });\n const animationState = isExiting ? \"exit\" : isMounting || justFinishedEntering ? \"enter\" : \"default\";\n const disableAnimation = isComponentHydrating || isMounting || !animationKey;\n const [scope] = useAnimateSSRSafe();\n refs.current.isExiting = isExiting;\n refs.current.sendExitComplete = sendExitComplete;\n refs.current.animationState = animationState;\n refs.current.disableAnimation = disableAnimation;\n refs.current.onTransition = onTransition;\n const justStartedExiting = isExiting && !refs.current.wasExiting;\n const justStoppedExiting = !isExiting && refs.current.wasExiting;\n if (justStartedExiting || justStoppedExiting) {\n refs.current.frozenExitTarget = null;\n refs.current.exitCompleteScheduled = false;\n refs.current.enterCompleteScheduled = false;\n }\n useEffect(() => {\n refs.current.wasExiting = isExiting;\n });\n useIsomorphicLayoutEffect(() => {\n if (justStoppedExiting && refs.current.exitStarted) {\n refs.current.exitStarted = false;\n emit(\"end\", \"exit\", false);\n }\n }, [justStoppedExiting]);\n const {\n dontAnimate = {},\n doAnimate,\n animationOptions\n } = getMotionAnimatedProps(props, style, disableAnimation, animationState);\n const [firstRenderStyle] = useState(style);\n if (refs.current.isFirstRender) {\n refs.current.lastDontAnimate = firstRenderStyle;\n }\n const [isHydrating, setIsHydrating] = useState(isHydratingGlobal);\n useLayoutEffect(() => {\n if (isHydratingGlobal) {\n hydratingComponents.add(() => {\n setIsHydrating(false);\n });\n }\n return () => {\n refs.current.disposed = true;\n };\n }, []);\n const flushAnimation = ({\n doAnimate: doAnimateRaw = {},\n animationOptions: passedOptions = {},\n dontAnimate: dontAnimate2\n }) => {\n let startedControls = null;\n const isCurrentlyExiting = refs.current.isExiting;\n const currentSendExitComplete = refs.current.sendExitComplete;\n const currentAnimationState = refs.current.animationState;\n let doAnimate2 = doAnimateRaw;\n if (isCurrentlyExiting && refs.current.frozenExitTarget) {\n doAnimate2 = refs.current.frozenExitTarget;\n }\n const animationOptions2 = isCurrentlyExiting && currentSendExitComplete ? getAnimationOptions(props.transition ?? null, \"exit\") : passedOptions;\n try {\n const node = stateRef.current.host;\n if (refs.current.isFirstRender) {\n refs.current.lastDontAnimate = null;\n refs.current.lastDoAnimate = null;\n }\n if (process.env.NODE_ENV === \"development\") {\n if (props[\"debug\"] && props[\"debug\"] !== \"profile\") {\n console.groupCollapsed(\n `[motion] animate (${JSON.stringify(getDiff(refs.current.lastDoAnimate, doAnimate2), null, 2)})`\n );\n console.info({\n props,\n componentState,\n doAnimate: doAnimate2,\n dontAnimate: dontAnimate2,\n animationOptions: animationOptions2,\n animationProps,\n lastDoAnimate: { ...refs.current.lastDoAnimate },\n lastDontAnimate: { ...refs.current.lastDontAnimate },\n isExiting,\n style,\n node\n });\n console.groupCollapsed(`trace >`);\n console.trace();\n console.groupEnd();\n console.groupEnd();\n }\n }\n if (!(node instanceof HTMLElement)) {\n return;\n }\n const prevDont = refs.current.lastDontAnimate;\n if (dontAnimate2) {\n if (prevDont) {\n removeRemovedStyles(prevDont, dontAnimate2, node, doAnimate2);\n const changed = getDiff(prevDont, dontAnimate2);\n if (changed) {\n assignInlineStyles(node, changed);\n }\n } else {\n assignInlineStyles(node, dontAnimate2);\n }\n } else if (prevDont) {\n removeRemovedStyles(prevDont, {}, node, doAnimate2);\n }\n if (doAnimate2) {\n if (prevDont) {\n for (const key in prevDont) {\n if (key in doAnimate2) {\n node.style[key] = normalizeValueWithProperty(prevDont[key], key);\n if (refs.current.lastDoAnimate) {\n refs.current.lastDoAnimate[key] = prevDont[key];\n }\n }\n }\n }\n const lastAnimated = refs.current.lastDoAnimate;\n if (lastAnimated) {\n removeRemovedStyles(lastAnimated, doAnimate2, node, dontAnimate2);\n }\n const diff = getDiff(refs.current.lastDoAnimate, doAnimate2);\n if (diff) {\n if (isCurrentlyExiting && !refs.current.frozenExitTarget) {\n refs.current.frozenExitTarget = { ...doAnimate2 };\n }\n const isPopperPosition = node.hasAttribute(\"data-popper-animate-position\");\n let popperHandledTransform = false;\n if (isPopperPosition && !isCurrentlyExiting && typeof diff.transform === \"string\") {\n const target = parseTranslate(diff.transform);\n if (target) {\n let entry = PopperPositionAnims.get(node);\n if (!entry) {\n let seed = target;\n try {\n seed = parseTranslate(getComputedStyle(node).transform) ?? target;\n } catch {\n }\n const x = motionValue(seed.x);\n const y = motionValue(seed.y);\n const write = () => {\n node.style.transform = `translate3d(${x.get()}px, ${y.get()}px, 0)`;\n };\n x.on(\"change\", write);\n y.on(\"change\", write);\n entry = { x, y, stop: null };\n PopperPositionAnims.set(node, entry);\n }\n if (!entry.stop) {\n try {\n const live = parseTranslate(getComputedStyle(node).transform);\n if (live) {\n entry.x.jump(live.x);\n entry.y.jump(live.y);\n }\n } catch {\n }\n }\n for (const anim of node.getAnimations()) {\n try {\n const kf = anim.effect?.getKeyframes?.();\n if (kf?.some((k) => \"transform\" in k)) {\n anim.cancel();\n }\n } catch {\n }\n }\n const opts = animationOptions2;\n const positionTransition = opts.transform ?? opts.default ?? animationOptions2;\n const cx = animateMotionValue(\n entry.x,\n target.x,\n positionTransition\n );\n const cy = animateMotionValue(\n entry.y,\n target.y,\n positionTransition\n );\n entry.stop = () => {\n cx.stop();\n cy.stop();\n };\n popperHandledTransform = true;\n }\n }\n if (isCurrentlyExiting) {\n const entry = PopperPositionAnims.get(node);\n if (entry?.stop) {\n entry.stop();\n entry.stop = null;\n }\n }\n let midFlightValues = null;\n if (refs.current.controls) {\n try {\n const computed = getComputedStyle(node);\n midFlightValues = {};\n for (const key in diff) {\n const val = computed[key];\n if (val !== void 0 && val !== \"\") {\n midFlightValues[key] = val;\n }\n }\n } catch {\n }\n if (isCurrentlyExiting) {\n refs.current.controls.stop();\n }\n if (midFlightValues) {\n for (const key in midFlightValues) {\n if (key === \"transform\" && popperHandledTransform) continue;\n node.style[key] = midFlightValues[key];\n }\n }\n if (isPopperPosition && !popperHandledTransform) {\n const anims = node.getAnimations();\n for (const anim of anims) {\n anim.cancel();\n }\n }\n }\n const fixedDiff = fixTransparentColors(\n diff,\n refs.current.lastDoAnimate,\n doAnimate2\n );\n let waapiDiff = Object.fromEntries(\n Object.entries(fixedDiff).map(([key, value]) => [\n key,\n Array.isArray(value) ? value.map((item) => normalizeValueWithProperty(item, key)) : normalizeValueWithProperty(value, key)\n ])\n );\n if (popperHandledTransform && \"transform\" in waapiDiff) {\n waapiDiff = { ...waapiDiff };\n delete waapiDiff.transform;\n }\n if ((isPopperPosition || isCurrentlyExiting) && midFlightValues?.transform && waapiDiff.transform) {\n waapiDiff.transform = [midFlightValues.transform, waapiDiff.transform];\n }\n if (Object.keys(waapiDiff).length > 0) {\n startedControls = animateMotionValue(\n node,\n waapiDiff,\n animationOptions2\n );\n refs.current.controls = startedControls;\n }\n refs.current.lastAnimateAt = Date.now();\n }\n }\n refs.current.lastDontAnimate = dontAnimate2 ? { ...dontAnimate2 } : {};\n refs.current.lastDoAnimate = doAnimate2 ? { ...doAnimate2 } : {};\n } finally {\n if (isCurrentlyExiting && currentSendExitComplete) {\n if (refs.current.enterStarted) {\n refs.current.enterStarted = false;\n emit(\"end\", \"enter\", false);\n }\n if (startedControls) {\n if (!refs.current.exitStarted) {\n refs.current.exitStarted = true;\n emit(\"start\", \"exit\");\n }\n refs.current.exitCompleteScheduled = true;\n const complete = (finished) => {\n if (!refs.current.isExiting) return;\n if (refs.current.exitStarted) {\n refs.current.exitStarted = false;\n emit(\"end\", \"exit\", finished);\n }\n currentSendExitComplete();\n };\n startedControls.finished.then(() => complete(true)).catch(() => complete(false));\n } else if (!refs.current.exitCompleteScheduled) {\n emit(\"start\", \"exit\");\n emit(\"end\", \"exit\", true);\n currentSendExitComplete();\n }\n } else if (currentAnimationState === \"enter\") {\n if (startedControls) {\n if (!refs.current.enterStarted) {\n refs.current.enterStarted = true;\n emit(\"start\", \"enter\");\n }\n refs.current.enterCompleteScheduled = true;\n const complete = (finished) => {\n if (refs.current.disposed || refs.current.animationState !== \"enter\")\n return;\n if (refs.current.enterStarted) {\n refs.current.enterStarted = false;\n emit(\"end\", \"enter\", finished);\n }\n };\n startedControls.finished.then(() => complete(true)).catch(() => complete(false));\n } else if (!refs.current.enterCompleteScheduled && !refs.current.disableAnimation) {\n emit(\"start\", \"enter\");\n emit(\"end\", \"enter\", true);\n }\n } else if (startedControls) {\n const controls = startedControls;\n if (refs.current.updateInFlight) {\n emit(\"end\", \"update\", false);\n }\n refs.current.updateInFlight = true;\n refs.current.updateControls = controls;\n emit(\"start\", \"update\");\n const settle = (finished) => {\n if (refs.current.updateControls !== controls) return;\n refs.current.updateInFlight = false;\n refs.current.updateControls = null;\n emit(\"end\", \"update\", finished);\n };\n controls.finished.then(() => settle(true)).catch(() => settle(false));\n }\n }\n };\n useStyleEmitter?.((nextStyle, effectiveTransition) => {\n const animationProps2 = getMotionAnimatedProps(\n props,\n nextStyle,\n disableAnimation,\n refs.current.animationState,\n effectiveTransition\n );\n flushAnimation(animationProps2);\n });\n useIsomorphicLayoutEffect(() => {\n if (refs.current.isFirstRender) {\n refs.current.isFirstRender = false;\n refs.current.wasDisabled = disableAnimation;\n if (isHydrating) {\n if (doAnimate && Object.keys(doAnimate).length > 0) {\n refs.current.lastDoAnimate = { ...doAnimate };\n } else {\n refs.current.lastDoAnimate = dontAnimate ? { ...dontAnimate } : {};\n }\n refs.current.lastDontAnimate = dontAnimate ? { ...dontAnimate } : {};\n refs.current.lastAnimateAt = Date.now();\n return;\n }\n refs.current.lastDontAnimate = dontAnimate ? { ...dontAnimate } : {};\n refs.current.lastDoAnimate = doAnimate ? { ...doAnimate } : {};\n return;\n }\n const justEnabled = refs.current.wasDisabled && !disableAnimation;\n refs.current.wasDisabled = disableAnimation;\n const justStrippedClasses = !refs.current.wasNoClass && !!styleProps.noClass;\n refs.current.wasNoClass = !!styleProps.noClass;\n if ((justEnabled || justStrippedClasses) && animationState !== \"enter\") {\n const node = stateRef.current.host;\n if (node instanceof HTMLElement) {\n if (dontAnimate) assignInlineStyles(node, dontAnimate);\n if (doAnimate) assignInlineStyles(node, doAnimate);\n const entry = PopperPositionAnims.get(node);\n if (entry) {\n const target = parseTranslate(\n doAnimate?.transform ?? dontAnimate?.transform\n );\n if (target) {\n entry.stop?.();\n entry.stop = null;\n entry.x.jump(target.x);\n entry.y.jump(target.y);\n }\n }\n }\n refs.current.lastDontAnimate = dontAnimate ? { ...dontAnimate } : {};\n refs.current.lastDoAnimate = doAnimate ? { ...doAnimate } : {};\n return;\n }\n flushAnimation({\n doAnimate,\n dontAnimate,\n animationOptions\n });\n }, [style, isExiting, disableAnimation, styleProps.noClass]);\n if (process.env.NODE_ENV === \"development\") {\n if (props[\"debug\"] && props[\"debug\"] !== \"profile\") {\n console.groupCollapsed(`[motion] render`);\n console.info({\n style,\n doAnimate,\n dontAnimate,\n scope,\n animationOptions,\n isExiting,\n isFirstRender: refs.current.isFirstRender,\n animationProps\n });\n console.groupEnd();\n }\n }\n return {\n style: firstRenderStyle,\n ref: scope,\n render: \"div\"\n };\n },\n useAnimatedNumber(initial) {\n const motionValue2 = useMotionValue(initial);\n return React.useMemo(\n () => ({\n getInstance() {\n return motionValue2;\n },\n getValue() {\n return motionValue2.get();\n },\n setValue(next, config = { type: \"spring\" }, onFinish) {\n if (config.type === \"direct\") {\n MotionValueStrategy.set(motionValue2, { type: \"direct\" });\n motionValue2.set(next);\n onFinish?.();\n return;\n }\n MotionValueStrategy.set(motionValue2, config);\n if (onFinish) {\n const prior = PendingMotionOnFinish.get(motionValue2);\n if (prior) {\n PendingMotionOnFinish.delete(motionValue2);\n prior();\n }\n PendingMotionOnFinish.set(motionValue2, onFinish);\n }\n motionValue2.set(next);\n },\n stop() {\n motionValue2.stop();\n }\n }),\n [motionValue2]\n );\n },\n useAnimatedNumberReaction({ value }, onValue) {\n const instance = value.getInstance();\n useMotionValueEvent(instance, \"change\", onValue);\n },\n useAnimatedNumberStyle(val, getStyleProp) {\n const motionValue2 = val.getInstance();\n const getStyleRef = useRef(getStyleProp);\n getStyleRef.current = getStyleProp;\n return useMemo(() => {\n return {\n getStyle: (cur) => {\n return getStyleRef.current(cur);\n },\n motionValue: motionValue2\n };\n }, []);\n },\n useAnimatedNumbersStyle(vals, getStyleProp) {\n const motionValues = vals.map((v) => v.getInstance());\n const getStyleRef = useRef(getStyleProp);\n getStyleRef.current = getStyleProp;\n return useMemo(() => {\n return {\n getStyle: (...currentValues) => getStyleRef.current(...currentValues),\n motionValues\n };\n }, []);\n }\n };\n function getMotionAnimatedProps(props, style, disable, animationState = \"default\", transitionOverride) {\n if (disable) {\n return {\n dontAnimate: style\n };\n }\n const animationOptions = getAnimationOptions(\n transitionOverride ?? props.transition ?? null,\n animationState\n );\n let dontAnimate;\n let doAnimate;\n const animateOnly = props.animateOnly;\n for (const key in style) {\n const value = style[key];\n if (disableAnimationProps.has(key) || animateOnly && !animateOnly.includes(key)) {\n dontAnimate ||= {};\n dontAnimate[key] = value;\n } else {\n doAnimate ||= {};\n doAnimate[key] = value;\n }\n }\n return {\n dontAnimate,\n doAnimate,\n animationOptions\n };\n }\n function getAnimationOptions(transitionProp, animationState = \"default\") {\n const normalized = normalizeTransition(transitionProp);\n let effectiveKey = getEffectiveAnimation(normalized, animationState);\n if (!effectiveKey && animationState === \"default\") {\n effectiveKey = normalized.enter || normalized.exit || null;\n }\n const globalConfigOverride = normalized.config ? { ...normalized.config } : void 0;\n if (!effectiveKey && Object.keys(normalized.properties).length === 0 && !globalConfigOverride) {\n return {};\n }\n const defaultConfig = effectiveKey ? withInferredType(animations[effectiveKey]) : null;\n const delay = normalized.delay;\n const result = {};\n if (defaultConfig) {\n Object.assign(result, defaultConfig);\n }\n if (globalConfigOverride) {\n Object.assign(result, globalConfigOverride);\n if (result.type === void 0 && result.duration !== void 0 && result.damping === void 0 && result.stiffness === void 0 && result.mass === void 0) {\n result.type = \"tween\";\n }\n }\n if (delay) {\n result.delay = delay;\n }\n if (defaultConfig || globalConfigOverride || delay) {\n result.default = {\n ...defaultConfig,\n ...globalConfigOverride,\n ...delay ? { delay } : null\n };\n }\n for (const [propName, animationNameOrConfig] of Object.entries(\n normalized.properties\n )) {\n if (typeof animationNameOrConfig === \"string\") {\n result[propName] = withInferredType(animations[animationNameOrConfig]);\n } else if (animationNameOrConfig && typeof animationNameOrConfig === \"object\") {\n const baseConfig = animationNameOrConfig.type ? withInferredType(animations[animationNameOrConfig.type]) : defaultConfig;\n result[propName] = {\n ...baseConfig,\n ...animationNameOrConfig\n };\n }\n }\n convertMsToS(result);\n convertMsToS(result.default);\n for (const key in result) {\n if (key !== \"default\" && typeof result[key] === \"object\") {\n convertMsToS(result[key]);\n }\n }\n return result;\n }\n}\nfunction withInferredType(config) {\n if (!config) {\n return { type: \"spring\" };\n }\n const isTimingBased = config.duration !== void 0 && config.damping === void 0 && config.stiffness === void 0 && config.mass === void 0;\n return { type: isTimingBased ? \"tween\" : \"spring\", ...config };\n}\nfunction convertMsToS(config) {\n if (!config) return;\n if (typeof config.delay === \"number\") config.delay = config.delay / 1e3;\n if (typeof config.duration === \"number\") {\n const isTimingBased = config.type === \"tween\" || config.type === void 0 && config.damping === void 0 && config.stiffness === void 0 && config.mass === void 0;\n if (isTimingBased) {\n config.duration = config.duration / 1e3;\n }\n }\n}\nfunction removeRemovedStyles(prev, next, node, dontClearIfIn) {\n for (const key in prev) {\n if (!(key in next)) {\n if (dontClearIfIn && key in dontClearIfIn) {\n continue;\n }\n node.style[key] = \"\";\n }\n }\n}\nconst disableAnimationProps = /* @__PURE__ */ new Set([\n ...Object.keys(nonAnimatableStyleProps),\n \"flexBasis\"\n]);\nfunction motionPropsEqual(a, b) {\n for (const key in a) {\n if (!(key in b)) return false;\n }\n for (const key in b) {\n if (key === \"children\") continue;\n const av = a[key];\n const bv = b[key];\n if (typeof bv === \"function\" && typeof av === \"function\") continue;\n if (!Object.is(av, bv)) return false;\n }\n return true;\n}\nfunction motionStylesEqual(a, b) {\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n const sa = a[i];\n const sb = b[i];\n if (sa === sb) continue;\n if (!sa || !sb) return false;\n let aCount = 0;\n for (const key in sa) {\n aCount++;\n if (!Object.is(sa[key], sb[key])) return false;\n }\n let bCount = 0;\n for (const _key in sb) {\n bCount++;\n }\n if (aCount !== bCount) return false;\n }\n return true;\n}\nconst MotionView = createMotionView(\"div\");\nconst MotionText = createMotionView(\"span\");\nconst transformAliases = {\n x: \"translateX\",\n y: \"translateY\",\n scale: \"scale\",\n scaleX: \"scaleX\",\n scaleY: \"scaleY\",\n rotate: \"rotate\",\n rotateX: \"rotateX\",\n rotateY: \"rotateY\",\n rotateZ: \"rotateZ\",\n skewX: \"skewX\",\n skewY: \"skewY\"\n};\nfunction compileAnimatedStyle(initialSource, initialResolved) {\n const shorthands = getConfig().shorthands;\n const entries = Object.keys(initialSource).map((source) => ({\n source,\n target: shorthands?.[source] ?? source,\n tokenValue: typeof initialSource[source] === \"string\" && initialResolved[shorthands?.[source] ?? source] !== initialSource[source] ? initialResolved[shorthands?.[source] ?? source] : void 0\n }));\n return (sourceStyle) => {\n const resolved = {};\n const transforms = [];\n for (const entry of entries) {\n const value = sourceStyle[entry.source];\n if (value === void 0) continue;\n if (entry.source === \"transform\" && Array.isArray(value)) {\n resolved.transform = transformsToString(value);\n } else if (entry.source in transformAliases) {\n transforms.push({ [transformAliases[entry.source]]: value });\n } else {\n resolved[entry.target] = entry.tokenValue ?? normalizeValueWithProperty(value, entry.target);\n }\n }\n if (transforms.length) resolved.transform = transformsToString(transforms);\n return resolved;\n };\n}\nfunction createMotionView(defaultTag) {\n const isText = defaultTag === \"span\";\n const Component = createRefComponent((propsIn, ref) => {\n const { forwardedRef, animation, render = defaultTag, style, ...propsRest } = propsIn;\n const [scope, animate] = useAnimateSSRSafe();\n const hostRef = useRef(null);\n const seededNode = useRef(null);\n const seededInCurrentFrame = useRef(false);\n const queuedAnimationFrames = useRef(/* @__PURE__ */ new WeakMap());\n const composedRefs = useComposedRefs(forwardedRef, ref, hostRef, scope);\n const stateRef = useRef(null);\n if (!stateRef.current) {\n stateRef.current = {\n get host() {\n return hostRef.current;\n }\n };\n }\n const [_, state] = useThemeWithState({});\n const styles = Array.isArray(style) ? style : [style];\n const [animatedStyle, nonAnimatedStyles] = (() => {\n let animatedStyle2;\n const nonAnimatedStyles2 = [];\n for (const style2 of styles) {\n if (style2.getStyle) {\n animatedStyle2 = style2;\n } else {\n nonAnimatedStyles2.push(style2);\n }\n }\n return [animatedStyle2, nonAnimatedStyles2];\n })();\n function getProps(props2) {\n if (process.env.NODE_ENV === \"development\" && propsIn.debug === \"profile\" && typeof performance !== \"undefined\") {\n performance.mark(\"tamagui-motion-style-split\");\n }\n const out = getSplitStyles(\n props2,\n isText ? Text.staticConfig : View.staticConfig,\n state?.theme,\n state?.name,\n {\n unmounted: false\n },\n {\n isAnimated: false,\n noClass: true,\n resolveValues: \"auto\"\n }\n );\n if (!out) {\n return {};\n }\n if (out.viewProps.style) {\n fixStyles(out.viewProps.style);\n styleToCSS(out.viewProps.style);\n }\n return out.viewProps;\n }\n const resolvedAnimatedStyle = useMemo(() => {\n if (!animatedStyle) return null;\n const currentValues = animatedStyle.motionValues ? animatedStyle.motionValues.map((value) => value.get()) : animatedStyle.motionValue ? [animatedStyle.motionValue.get()] : [];\n const initialSource = animatedStyle.getStyle(...currentValues);\n const initialResolved = asStyleRecord(getProps({ style: initialSource }).style);\n return {\n initial: initialResolved,\n resolve: compileAnimatedStyle(initialSource, initialResolved)\n };\n }, [animatedStyle, state?.theme, state?.name]);\n const memoRef = useRef(null);\n let props;\n const cached = memoRef.current;\n if (cached && cached.theme === state?.theme && cached.themeName === state?.name && motionStylesEqual(cached.styles, nonAnimatedStyles) && motionPropsEqual(cached.propsRest, propsRest)) {\n props = { ...cached.result };\n for (const key in propsRest) {\n const val = propsRest[key];\n if (key === \"children\" || typeof val === \"function\") {\n props[key] = val;\n }\n }\n } else {\n props = getProps({ ...propsRest, style: nonAnimatedStyles });\n memoRef.current = {\n propsRest,\n styles: nonAnimatedStyles,\n theme: state?.theme,\n themeName: state?.name,\n result: props\n };\n }\n if (resolvedAnimatedStyle) {\n props = {\n ...props,\n style: {\n ...asStyleRecord(props.style),\n ...resolvedAnimatedStyle.initial\n }\n };\n }\n const Element = render || \"div\";\n const transformedProps = hooks.usePropsTransform?.(render, props, stateRef, false);\n useIsomorphicLayoutEffect(() => {\n if (!animatedStyle) return;\n const node = hostRef.current;\n if (node instanceof HTMLElement && seededNode.current !== node) {\n const currentStyle = animatedStyle.motionValues ? animatedStyle.getStyle(\n ...animatedStyle.motionValues.map((value) => value.get())\n ) : animatedStyle.motionValue ? animatedStyle.getStyle(animatedStyle.motionValue.get()) : null;\n const webStyle = currentStyle && resolvedAnimatedStyle?.resolve(currentStyle);\n if (webStyle) {\n assignInlineStyles(node, webStyle);\n seededNode.current = node;\n seededInCurrentFrame.current = true;\n requestAnimationFrame(() => {\n if (seededNode.current === node) seededInCurrentFrame.current = false;\n });\n }\n }\n const toTransition = (animationConfig) => animationConfig?.type === \"timing\" ? { type: \"tween\", duration: (animationConfig.duration || 0) / 1e3 } : animationConfig?.type === \"direct\" ? { type: \"tween\", duration: 0 } : { type: \"spring\", ...animationConfig };\n const animateNodeTo = (nextStyle, transition, motionValue3) => {\n if (!(node instanceof HTMLElement) || hostRef.current !== node) return;\n const webStyle = resolvedAnimatedStyle?.resolve(nextStyle);\n if (!webStyle) return;\n settlePendingMotionOnFinish(\n motionValue3,\n animate(node, webStyle, transition)\n );\n };\n const animateChangedValue = (nextStyle, transition, motionValue3) => {\n if (seededInCurrentFrame.current && seededNode.current === node) {\n const queuedFrame = queuedAnimationFrames.current.get(motionValue3);\n if (queuedFrame !== void 0) cancelAnimationFrame(queuedFrame);\n const frame = requestAnimationFrame(() => {\n if (queuedAnimationFrames.current.get(motionValue3) !== frame) return;\n queuedAnimationFrames.current.delete(motionValue3);\n if (hostRef.current === node) {\n animateNodeTo(nextStyle, transition, motionValue3);\n } else {\n const onFinish = PendingMotionOnFinish.get(motionValue3);\n PendingMotionOnFinish.delete(motionValue3);\n onFinish?.();\n }\n });\n queuedAnimationFrames.current.set(motionValue3, frame);\n return;\n }\n animateNodeTo(nextStyle, transition, motionValue3);\n };\n if (animatedStyle.motionValues) {\n const mvs = animatedStyle.motionValues;\n const styleForAll = () => animatedStyle.getStyle(...mvs.map((value) => value.get()));\n const unsubs = mvs.map(\n (mv) => mv.on(\n \"change\",\n () => animateChangedValue(\n styleForAll(),\n toTransition(MotionValueStrategy.get(mv)),\n mv\n )\n )\n );\n return () => unsubs.forEach((fn) => fn());\n }\n const motionValue2 = animatedStyle.motionValue;\n if (!motionValue2) return;\n return motionValue2.on(\n \"change\",\n (value) => animateChangedValue(\n animatedStyle.getStyle(value),\n toTransition(MotionValueStrategy.get(motionValue2)),\n motionValue2\n )\n );\n }, [animatedStyle, resolvedAnimatedStyle]);\n return /* @__PURE__ */ jsx(Element, { ...transformedProps, ref: composedRefs });\n });\n Component[\"acceptRenderProp\"] = true;\n return Component;\n}\nfunction getDiff(previous, next) {\n if (!previous) {\n return next;\n }\n let diff = null;\n for (const key in next) {\n if (next[key] !== previous[key]) {\n diff ||= {};\n diff[key] = next[key];\n }\n }\n return diff;\n}\nfunction fixTransparentColors(diff, previous, next) {\n let result = diff;\n for (const key in diff) {\n if (diff[key] === \"transparent\") {\n let fixed = \"rgba(0, 0, 0, 0)\";\n const candidates = [previous?.[key], next?.[key]];\n for (const candidate of candidates) {\n if (typeof candidate === \"string\" && candidate !== \"transparent\") {\n const rgbaMatch = candidate.match(/^rgba?\\(([^,]+),\\s*([^,]+),\\s*([^,)]+)/);\n if (rgbaMatch) {\n fixed = `rgba(${rgbaMatch[1]}, ${rgbaMatch[2]}, ${rgbaMatch[3]}, 0)`;\n break;\n }\n }\n }\n if (result === diff) {\n result = { ...diff };\n }\n result[key] = fixed;\n }\n }\n return result;\n}\nexport {\n createAnimations,\n disableAnimationProps\n};\n//# sourceMappingURL=createAnimations.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"createAnimations.js","names":["animateMotionValue"],"sources":["esm/createAnimations.js"],"sourcesContent":["import { getEffectiveAnimation, normalizeTransition } from \"@tamagui/animation-helpers\";\nimport { ResetPresence, usePresence } from \"@tamagui/use-presence\";\nimport {\n getConfig,\n getSplitStyles,\n hooks,\n nonAnimatableStyleProps,\n Text,\n useComposedRefs,\n useIsomorphicLayoutEffect,\n View,\n createRefComponent\n} from \"@tamagui/web\";\nimport {\n fixStyles,\n normalizeValueWithProperty,\n styleToCSS,\n transformsToString,\n useThemeWithState\n} from \"@tamagui/web/internal-runtime\";\nimport {\n animate as animateMotionValue,\n motionValue,\n useAnimate,\n useMotionValue,\n useMotionValueEvent\n} from \"motion/react\";\nimport React, { useEffect, useLayoutEffect, useMemo, useRef, useState } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nconst isServer = typeof window === \"undefined\";\nfunction useAnimateSSRSafe() {\n if (isServer) {\n return [useRef(null), (() => {\n })];\n }\n return useAnimate();\n}\nconst asStyleRecord = (style) => style && typeof style === \"object\" && !Array.isArray(style) ? style : {};\nfunction assignInlineStyles(node, styles) {\n for (const key in styles) {\n node.style[key] = normalizeValueWithProperty(styles[key], key);\n }\n}\nconst MotionValueStrategy = /* @__PURE__ */ new WeakMap();\nconst PendingMotionOnFinish = /* @__PURE__ */ new WeakMap();\nfunction settlePendingMotionOnFinish(mv, controls) {\n const onFinish = PendingMotionOnFinish.get(mv);\n if (!onFinish) return;\n PendingMotionOnFinish.delete(mv);\n controls.then(() => onFinish()).catch(() => onFinish());\n}\nconst PopperPositionAnims = /* @__PURE__ */ new WeakMap();\nfunction parseTranslate(transform) {\n if (!transform || transform === \"none\") return { x: 0, y: 0 };\n try {\n const m = new DOMMatrixReadOnly(transform);\n if (!m.is2D || m.a !== 1 || m.b !== 0 || m.c !== 0 || m.d !== 1) return null;\n return { x: m.e, y: m.f };\n } catch {\n return null;\n }\n}\nfunction createAnimations(animations) {\n let isHydratingGlobal;\n const hydratingComponents = /* @__PURE__ */ new Set();\n return {\n View: MotionView,\n Text: MotionText,\n inputStyle: \"css\",\n outputStyle: \"inline\",\n avoidReRenders: true,\n animations,\n usePresence,\n ResetPresence,\n onMount() {\n isHydratingGlobal = false;\n hydratingComponents.forEach((cb) => cb());\n },\n useAnimations: (animationProps) => {\n if (isHydratingGlobal === void 0 && !getConfig().settings.disableSSR) {\n isHydratingGlobal = true;\n }\n const {\n props,\n style,\n componentState,\n stateRef,\n useStyleEmitter,\n presence,\n onTransition,\n styleProps\n } = animationProps;\n const animationKey = Array.isArray(props.transition) ? props.transition[0] : props.transition;\n const isComponentHydrating = componentState.unmounted === true;\n const isMounting = componentState.unmounted === \"should-enter\";\n const isEntering = !!componentState.unmounted;\n const isExiting = presence?.[0] === false;\n const sendExitComplete = presence?.[1];\n const refs = useRef(null);\n if (!refs.current) {\n refs.current = {\n isFirstRender: true,\n lastDoAnimate: null,\n lastDontAnimate: null,\n controls: null,\n lastAnimateAt: 0,\n disposed: false,\n wasExiting: false,\n isExiting: false,\n sendExitComplete: void 0,\n animationState: \"default\",\n frozenExitTarget: null,\n exitCompleteScheduled: false,\n enterCompleteScheduled: false,\n disableAnimation: true,\n wasEntering: false,\n wasDisabled: false,\n onTransition: void 0,\n enterStarted: false,\n exitStarted: false,\n updateInFlight: false,\n updateControls: null,\n wasNoClass: !!styleProps.noClass\n };\n }\n const emit = (phase, cause, finished) => {\n refs.current.onTransition?.(\n phase === \"end\" ? { phase, cause, finished } : { phase, cause }\n );\n };\n const justFinishedEntering = refs.current.wasEntering && !isEntering;\n useEffect(() => {\n refs.current.wasEntering = isEntering;\n });\n const animationState = isExiting ? \"exit\" : isMounting || justFinishedEntering ? \"enter\" : \"default\";\n const disableAnimation = isComponentHydrating || isMounting || !animationKey;\n const [scope] = useAnimateSSRSafe();\n refs.current.isExiting = isExiting;\n refs.current.sendExitComplete = sendExitComplete;\n refs.current.animationState = animationState;\n refs.current.disableAnimation = disableAnimation;\n refs.current.onTransition = onTransition;\n const justStartedExiting = isExiting && !refs.current.wasExiting;\n const justStoppedExiting = !isExiting && refs.current.wasExiting;\n if (justStartedExiting || justStoppedExiting) {\n refs.current.frozenExitTarget = null;\n refs.current.exitCompleteScheduled = false;\n refs.current.enterCompleteScheduled = false;\n }\n useEffect(() => {\n refs.current.wasExiting = isExiting;\n });\n useIsomorphicLayoutEffect(() => {\n if (justStoppedExiting && refs.current.exitStarted) {\n refs.current.exitStarted = false;\n emit(\"end\", \"exit\", false);\n }\n }, [justStoppedExiting]);\n const {\n dontAnimate = {},\n doAnimate,\n animationOptions\n } = getMotionAnimatedProps(props, style, disableAnimation, animationState);\n const [firstRenderStyle] = useState(style);\n if (refs.current.isFirstRender) {\n refs.current.lastDontAnimate = firstRenderStyle;\n }\n const [isHydrating, setIsHydrating] = useState(isHydratingGlobal);\n useLayoutEffect(() => {\n if (isHydratingGlobal) {\n hydratingComponents.add(() => {\n setIsHydrating(false);\n });\n }\n return () => {\n refs.current.disposed = true;\n };\n }, []);\n const flushAnimation = ({\n doAnimate: doAnimateRaw = {},\n animationOptions: passedOptions = {},\n dontAnimate: dontAnimate2\n }) => {\n let startedControls = null;\n const isCurrentlyExiting = refs.current.isExiting;\n const currentSendExitComplete = refs.current.sendExitComplete;\n const currentAnimationState = refs.current.animationState;\n let doAnimate2 = doAnimateRaw;\n if (isCurrentlyExiting && refs.current.frozenExitTarget) {\n doAnimate2 = refs.current.frozenExitTarget;\n }\n const animationOptions2 = isCurrentlyExiting && currentSendExitComplete ? getAnimationOptions(props.transition ?? null, \"exit\") : passedOptions;\n try {\n const node = stateRef.current.host;\n if (refs.current.isFirstRender) {\n refs.current.lastDontAnimate = null;\n refs.current.lastDoAnimate = null;\n }\n if (process.env.NODE_ENV === \"development\") {\n if (props[\"debug\"] && props[\"debug\"] !== \"profile\") {\n console.groupCollapsed(\n `[motion] animate (${JSON.stringify(getDiff(refs.current.lastDoAnimate, doAnimate2), null, 2)})`\n );\n console.info({\n props,\n componentState,\n doAnimate: doAnimate2,\n dontAnimate: dontAnimate2,\n animationOptions: animationOptions2,\n animationProps,\n lastDoAnimate: { ...refs.current.lastDoAnimate },\n lastDontAnimate: { ...refs.current.lastDontAnimate },\n isExiting,\n style,\n node\n });\n console.groupCollapsed(`trace >`);\n console.trace();\n console.groupEnd();\n console.groupEnd();\n }\n }\n if (!(node instanceof HTMLElement)) {\n return;\n }\n const prevDont = refs.current.lastDontAnimate;\n if (dontAnimate2) {\n if (prevDont) {\n removeRemovedStyles(prevDont, dontAnimate2, node, doAnimate2);\n const changed = getDiff(prevDont, dontAnimate2);\n if (changed) {\n assignInlineStyles(node, changed);\n }\n } else {\n assignInlineStyles(node, dontAnimate2);\n }\n } else if (prevDont) {\n removeRemovedStyles(prevDont, {}, node, doAnimate2);\n }\n if (doAnimate2) {\n if (prevDont) {\n for (const key in prevDont) {\n if (key in doAnimate2) {\n node.style[key] = normalizeValueWithProperty(prevDont[key], key);\n if (refs.current.lastDoAnimate) {\n refs.current.lastDoAnimate[key] = prevDont[key];\n }\n }\n }\n }\n const lastAnimated = refs.current.lastDoAnimate;\n if (lastAnimated) {\n removeRemovedStyles(lastAnimated, doAnimate2, node, dontAnimate2);\n }\n const diff = getDiff(refs.current.lastDoAnimate, doAnimate2);\n if (diff) {\n if (isCurrentlyExiting && !refs.current.frozenExitTarget) {\n refs.current.frozenExitTarget = { ...doAnimate2 };\n }\n const isPopperPosition = node.hasAttribute(\"data-popper-animate-position\");\n let popperHandledTransform = false;\n if (isPopperPosition && !isCurrentlyExiting && typeof diff.transform === \"string\") {\n const target = parseTranslate(diff.transform);\n if (target) {\n let entry = PopperPositionAnims.get(node);\n if (!entry) {\n let seed = target;\n try {\n seed = parseTranslate(getComputedStyle(node).transform) ?? target;\n } catch {\n }\n const x = motionValue(seed.x);\n const y = motionValue(seed.y);\n const write = () => {\n node.style.transform = `translate3d(${x.get()}px, ${y.get()}px, 0)`;\n };\n x.on(\"change\", write);\n y.on(\"change\", write);\n entry = { x, y, stop: null };\n PopperPositionAnims.set(node, entry);\n }\n if (!entry.stop) {\n try {\n const live = parseTranslate(getComputedStyle(node).transform);\n if (live) {\n entry.x.jump(live.x);\n entry.y.jump(live.y);\n }\n } catch {\n }\n }\n for (const anim of node.getAnimations()) {\n try {\n const kf = anim.effect?.getKeyframes?.();\n if (kf?.some((k) => \"transform\" in k)) {\n anim.cancel();\n }\n } catch {\n }\n }\n const opts = animationOptions2;\n const positionTransition = opts.transform ?? opts.default ?? animationOptions2;\n const cx = animateMotionValue(\n entry.x,\n target.x,\n positionTransition\n );\n const cy = animateMotionValue(\n entry.y,\n target.y,\n positionTransition\n );\n entry.stop = () => {\n cx.stop();\n cy.stop();\n };\n popperHandledTransform = true;\n }\n }\n if (isCurrentlyExiting) {\n const entry = PopperPositionAnims.get(node);\n if (entry?.stop) {\n entry.stop();\n entry.stop = null;\n }\n }\n let midFlightValues = null;\n if (refs.current.controls) {\n try {\n const computed = getComputedStyle(node);\n midFlightValues = {};\n for (const key in diff) {\n const val = computed[key];\n if (val !== void 0 && val !== \"\") {\n midFlightValues[key] = val;\n }\n }\n } catch {\n }\n if (isCurrentlyExiting) {\n refs.current.controls.stop();\n }\n if (midFlightValues) {\n for (const key in midFlightValues) {\n if (key === \"transform\" && popperHandledTransform) continue;\n node.style[key] = midFlightValues[key];\n }\n }\n if (isPopperPosition && !popperHandledTransform) {\n const anims = node.getAnimations();\n for (const anim of anims) {\n anim.cancel();\n }\n }\n }\n const fixedDiff = fixTransparentColors(\n diff,\n refs.current.lastDoAnimate,\n doAnimate2\n );\n let waapiDiff = Object.fromEntries(\n Object.entries(fixedDiff).map(([key, value]) => [\n key,\n Array.isArray(value) ? value.map((item) => normalizeValueWithProperty(item, key)) : normalizeValueWithProperty(value, key)\n ])\n );\n if (popperHandledTransform && \"transform\" in waapiDiff) {\n waapiDiff = { ...waapiDiff };\n delete waapiDiff.transform;\n }\n if ((isPopperPosition || isCurrentlyExiting) && midFlightValues?.transform && waapiDiff.transform) {\n waapiDiff.transform = [midFlightValues.transform, waapiDiff.transform];\n }\n if (Object.keys(waapiDiff).length > 0) {\n startedControls = animateMotionValue(\n node,\n waapiDiff,\n animationOptions2\n );\n refs.current.controls = startedControls;\n }\n refs.current.lastAnimateAt = Date.now();\n }\n }\n refs.current.lastDontAnimate = dontAnimate2 ? { ...dontAnimate2 } : {};\n refs.current.lastDoAnimate = doAnimate2 ? { ...doAnimate2 } : {};\n } finally {\n if (isCurrentlyExiting && currentSendExitComplete) {\n if (refs.current.enterStarted) {\n refs.current.enterStarted = false;\n emit(\"end\", \"enter\", false);\n }\n if (startedControls) {\n if (!refs.current.exitStarted) {\n refs.current.exitStarted = true;\n emit(\"start\", \"exit\");\n }\n refs.current.exitCompleteScheduled = true;\n const complete = (finished) => {\n if (!refs.current.isExiting) return;\n if (refs.current.exitStarted) {\n refs.current.exitStarted = false;\n emit(\"end\", \"exit\", finished);\n }\n currentSendExitComplete();\n };\n startedControls.finished.then(() => complete(true)).catch(() => complete(false));\n } else if (!refs.current.exitCompleteScheduled) {\n emit(\"start\", \"exit\");\n emit(\"end\", \"exit\", true);\n currentSendExitComplete();\n }\n } else if (currentAnimationState === \"enter\") {\n if (startedControls) {\n if (!refs.current.enterStarted) {\n refs.current.enterStarted = true;\n emit(\"start\", \"enter\");\n }\n refs.current.enterCompleteScheduled = true;\n const complete = (finished) => {\n if (refs.current.disposed || refs.current.animationState !== \"enter\")\n return;\n if (refs.current.enterStarted) {\n refs.current.enterStarted = false;\n emit(\"end\", \"enter\", finished);\n }\n };\n startedControls.finished.then(() => complete(true)).catch(() => complete(false));\n } else if (!refs.current.enterCompleteScheduled && !refs.current.disableAnimation) {\n emit(\"start\", \"enter\");\n emit(\"end\", \"enter\", true);\n }\n } else if (startedControls) {\n const controls = startedControls;\n if (refs.current.updateInFlight) {\n emit(\"end\", \"update\", false);\n }\n refs.current.updateInFlight = true;\n refs.current.updateControls = controls;\n emit(\"start\", \"update\");\n const settle = (finished) => {\n if (refs.current.updateControls !== controls) return;\n refs.current.updateInFlight = false;\n refs.current.updateControls = null;\n emit(\"end\", \"update\", finished);\n };\n controls.finished.then(() => settle(true)).catch(() => settle(false));\n }\n }\n };\n useStyleEmitter?.((nextStyle, effectiveTransition) => {\n const animationProps2 = getMotionAnimatedProps(\n props,\n nextStyle,\n disableAnimation,\n refs.current.animationState,\n effectiveTransition\n );\n flushAnimation(animationProps2);\n });\n useIsomorphicLayoutEffect(() => {\n if (refs.current.isFirstRender) {\n refs.current.isFirstRender = false;\n refs.current.wasDisabled = disableAnimation;\n if (isHydrating) {\n if (doAnimate && Object.keys(doAnimate).length > 0) {\n refs.current.lastDoAnimate = { ...doAnimate };\n } else {\n refs.current.lastDoAnimate = dontAnimate ? { ...dontAnimate } : {};\n }\n refs.current.lastDontAnimate = dontAnimate ? { ...dontAnimate } : {};\n refs.current.lastAnimateAt = Date.now();\n return;\n }\n refs.current.lastDontAnimate = dontAnimate ? { ...dontAnimate } : {};\n refs.current.lastDoAnimate = doAnimate ? { ...doAnimate } : {};\n return;\n }\n const justEnabled = refs.current.wasDisabled && !disableAnimation;\n refs.current.wasDisabled = disableAnimation;\n const justStrippedClasses = !refs.current.wasNoClass && !!styleProps.noClass;\n refs.current.wasNoClass = !!styleProps.noClass;\n if ((justEnabled || justStrippedClasses) && animationState !== \"enter\") {\n const node = stateRef.current.host;\n if (node instanceof HTMLElement) {\n if (dontAnimate) assignInlineStyles(node, dontAnimate);\n if (doAnimate) assignInlineStyles(node, doAnimate);\n const entry = PopperPositionAnims.get(node);\n if (entry) {\n const target = parseTranslate(\n doAnimate?.transform ?? dontAnimate?.transform\n );\n if (target) {\n entry.stop?.();\n entry.stop = null;\n entry.x.jump(target.x);\n entry.y.jump(target.y);\n }\n }\n }\n refs.current.lastDontAnimate = dontAnimate ? { ...dontAnimate } : {};\n refs.current.lastDoAnimate = doAnimate ? { ...doAnimate } : {};\n return;\n }\n flushAnimation({\n doAnimate,\n dontAnimate,\n animationOptions\n });\n }, [style, isExiting, disableAnimation, styleProps.noClass]);\n if (process.env.NODE_ENV === \"development\") {\n if (props[\"debug\"] && props[\"debug\"] !== \"profile\") {\n console.groupCollapsed(`[motion] render`);\n console.info({\n style,\n doAnimate,\n dontAnimate,\n scope,\n animationOptions,\n isExiting,\n isFirstRender: refs.current.isFirstRender,\n animationProps\n });\n console.groupEnd();\n }\n }\n return {\n style: firstRenderStyle,\n ref: scope,\n render: \"div\"\n };\n },\n useAnimatedNumber(initial) {\n const motionValue2 = useMotionValue(initial);\n return React.useMemo(\n () => ({\n getInstance() {\n return motionValue2;\n },\n getValue() {\n return motionValue2.get();\n },\n setValue(next, config = { type: \"spring\" }, onFinish) {\n if (config.type === \"direct\") {\n MotionValueStrategy.set(motionValue2, { type: \"direct\" });\n motionValue2.set(next);\n onFinish?.();\n return;\n }\n MotionValueStrategy.set(motionValue2, config);\n if (onFinish) {\n const prior = PendingMotionOnFinish.get(motionValue2);\n if (prior) {\n PendingMotionOnFinish.delete(motionValue2);\n prior();\n }\n PendingMotionOnFinish.set(motionValue2, onFinish);\n }\n motionValue2.set(next);\n },\n stop() {\n motionValue2.stop();\n }\n }),\n [motionValue2]\n );\n },\n useAnimatedNumberReaction({ value }, onValue) {\n const instance = value.getInstance();\n useMotionValueEvent(instance, \"change\", onValue);\n },\n useAnimatedNumberStyle(val, getStyleProp) {\n const motionValue2 = val.getInstance();\n const getStyleRef = useRef(getStyleProp);\n getStyleRef.current = getStyleProp;\n return useMemo(() => {\n return {\n getStyle: (cur) => {\n return getStyleRef.current(cur);\n },\n motionValue: motionValue2\n };\n }, []);\n },\n useAnimatedNumbersStyle(vals, getStyleProp) {\n const motionValues = vals.map((v) => v.getInstance());\n const getStyleRef = useRef(getStyleProp);\n getStyleRef.current = getStyleProp;\n return useMemo(() => {\n return {\n getStyle: (...currentValues) => getStyleRef.current(...currentValues),\n motionValues\n };\n }, []);\n }\n };\n function getMotionAnimatedProps(props, style, disable, animationState = \"default\", transitionOverride) {\n if (disable) {\n return {\n dontAnimate: style\n };\n }\n const animationOptions = getAnimationOptions(\n transitionOverride ?? props.transition ?? null,\n animationState\n );\n let dontAnimate;\n let doAnimate;\n const animateOnly = props.animateOnly;\n for (const key in style) {\n const value = style[key];\n if (disableAnimationProps.has(key) || animateOnly && !animateOnly.includes(key)) {\n dontAnimate ||= {};\n dontAnimate[key] = value;\n } else {\n doAnimate ||= {};\n doAnimate[key] = value;\n }\n }\n return {\n dontAnimate,\n doAnimate,\n animationOptions\n };\n }\n function getAnimationOptions(transitionProp, animationState = \"default\") {\n const normalized = normalizeTransition(transitionProp);\n let effectiveKey = getEffectiveAnimation(normalized, animationState);\n if (!effectiveKey && animationState === \"default\") {\n effectiveKey = normalized.enter || normalized.exit || null;\n }\n const globalConfigOverride = normalized.config ? { ...normalized.config } : void 0;\n if (!effectiveKey && Object.keys(normalized.properties).length === 0 && !globalConfigOverride) {\n return {};\n }\n const defaultConfig = effectiveKey ? withInferredType(animations[effectiveKey]) : null;\n const delay = normalized.delay;\n const result = {};\n if (defaultConfig) {\n Object.assign(result, defaultConfig);\n }\n if (globalConfigOverride) {\n Object.assign(result, globalConfigOverride);\n if (result.type === void 0 && result.duration !== void 0 && result.damping === void 0 && result.stiffness === void 0 && result.mass === void 0) {\n result.type = \"tween\";\n }\n }\n if (delay) {\n result.delay = delay;\n }\n if (defaultConfig || globalConfigOverride || delay) {\n result.default = {\n ...defaultConfig,\n ...globalConfigOverride,\n ...delay ? { delay } : null\n };\n }\n for (const [propName, animationNameOrConfig] of Object.entries(\n normalized.properties\n )) {\n if (typeof animationNameOrConfig === \"string\") {\n result[propName] = withInferredType(animations[animationNameOrConfig]);\n } else if (animationNameOrConfig && typeof animationNameOrConfig === \"object\") {\n const baseConfig = animationNameOrConfig.type ? withInferredType(animations[animationNameOrConfig.type]) : defaultConfig;\n result[propName] = {\n ...baseConfig,\n ...animationNameOrConfig\n };\n }\n }\n convertMsToS(result);\n convertMsToS(result.default);\n for (const key in result) {\n if (key !== \"default\" && typeof result[key] === \"object\") {\n convertMsToS(result[key]);\n }\n }\n return result;\n }\n}\nfunction withInferredType(config) {\n if (!config) {\n return { type: \"spring\" };\n }\n const isTimingBased = config.duration !== void 0 && config.damping === void 0 && config.stiffness === void 0 && config.mass === void 0;\n return { type: isTimingBased ? \"tween\" : \"spring\", ...config };\n}\nfunction convertMsToS(config) {\n if (!config) return;\n if (typeof config.delay === \"number\") config.delay = config.delay / 1e3;\n if (typeof config.duration === \"number\") {\n const isTimingBased = config.type === \"tween\" || config.type === void 0 && config.damping === void 0 && config.stiffness === void 0 && config.mass === void 0;\n if (isTimingBased) {\n config.duration = config.duration / 1e3;\n }\n }\n}\nfunction removeRemovedStyles(prev, next, node, dontClearIfIn) {\n for (const key in prev) {\n if (!(key in next)) {\n if (dontClearIfIn && key in dontClearIfIn) {\n continue;\n }\n node.style[key] = \"\";\n }\n }\n}\nconst disableAnimationProps = /* @__PURE__ */ new Set([\n ...Object.keys(nonAnimatableStyleProps),\n \"flexBasis\"\n]);\nfunction motionPropsEqual(a, b) {\n for (const key in a) {\n if (!(key in b)) return false;\n }\n for (const key in b) {\n if (key === \"children\") continue;\n const av = a[key];\n const bv = b[key];\n if (typeof bv === \"function\" && typeof av === \"function\") continue;\n if (!Object.is(av, bv)) return false;\n }\n return true;\n}\nfunction motionStylesEqual(a, b) {\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n const sa = a[i];\n const sb = b[i];\n if (sa === sb) continue;\n if (!sa || !sb) return false;\n let aCount = 0;\n for (const key in sa) {\n aCount++;\n if (!Object.is(sa[key], sb[key])) return false;\n }\n let bCount = 0;\n for (const _key in sb) {\n bCount++;\n }\n if (aCount !== bCount) return false;\n }\n return true;\n}\nconst MotionView = createMotionView(\"div\");\nconst MotionText = createMotionView(\"span\");\nconst transformAliases = {\n x: \"translateX\",\n y: \"translateY\",\n scale: \"scale\",\n scaleX: \"scaleX\",\n scaleY: \"scaleY\",\n rotate: \"rotate\",\n rotateX: \"rotateX\",\n rotateY: \"rotateY\",\n rotateZ: \"rotateZ\",\n skewX: \"skewX\",\n skewY: \"skewY\"\n};\nfunction compileAnimatedStyle(initialSource, initialResolved) {\n const shorthands = getConfig().shorthands;\n const entries = Object.keys(initialSource).map((source) => ({\n source,\n target: shorthands?.[source] ?? source,\n tokenValue: typeof initialSource[source] === \"string\" && initialResolved[shorthands?.[source] ?? source] !== initialSource[source] ? initialResolved[shorthands?.[source] ?? source] : void 0\n }));\n return (sourceStyle) => {\n const resolved = {};\n const transforms = [];\n for (const entry of entries) {\n const value = sourceStyle[entry.source];\n if (value === void 0) continue;\n if (entry.source === \"transform\" && Array.isArray(value)) {\n resolved.transform = transformsToString(value);\n } else if (entry.source in transformAliases) {\n transforms.push({ [transformAliases[entry.source]]: value });\n } else {\n resolved[entry.target] = entry.tokenValue ?? normalizeValueWithProperty(value, entry.target);\n }\n }\n if (transforms.length) resolved.transform = transformsToString(transforms);\n return resolved;\n };\n}\nfunction createMotionView(defaultTag) {\n const isText = defaultTag === \"span\";\n const Component = createRefComponent((propsIn, ref) => {\n const { forwardedRef, animation, render = defaultTag, style, ...propsRest } = propsIn;\n const [scope, animate] = useAnimateSSRSafe();\n const hostRef = useRef(null);\n const seededNode = useRef(null);\n const seededInCurrentFrame = useRef(false);\n const queuedAnimationFrames = useRef(/* @__PURE__ */ new WeakMap());\n const composedRefs = useComposedRefs(forwardedRef, ref, hostRef, scope);\n const stateRef = useRef(null);\n if (!stateRef.current) {\n stateRef.current = {\n get host() {\n return hostRef.current;\n }\n };\n }\n const [_, state] = useThemeWithState({});\n const styles = Array.isArray(style) ? style : [style];\n const [animatedStyle, nonAnimatedStyles] = (() => {\n let animatedStyle2;\n const nonAnimatedStyles2 = [];\n for (const style2 of styles) {\n if (style2.getStyle) {\n animatedStyle2 = style2;\n } else {\n nonAnimatedStyles2.push(style2);\n }\n }\n return [animatedStyle2, nonAnimatedStyles2];\n })();\n function getProps(props2) {\n if (process.env.NODE_ENV === \"development\" && propsIn.debug === \"profile\" && typeof performance !== \"undefined\") {\n performance.mark(\"tamagui-motion-style-split\");\n }\n const out = getSplitStyles(\n props2,\n isText ? Text.staticConfig : View.staticConfig,\n state?.theme,\n state?.name,\n {\n unmounted: false\n },\n {\n isAnimated: false,\n noClass: true,\n resolveValues: \"auto\"\n }\n );\n if (!out) {\n return {};\n }\n if (out.viewProps.style) {\n fixStyles(out.viewProps.style);\n styleToCSS(out.viewProps.style);\n }\n return out.viewProps;\n }\n const resolvedAnimatedStyle = useMemo(() => {\n if (!animatedStyle) return null;\n const currentValues = animatedStyle.motionValues ? animatedStyle.motionValues.map((value) => value.get()) : animatedStyle.motionValue ? [animatedStyle.motionValue.get()] : [];\n const initialSource = animatedStyle.getStyle(...currentValues);\n const initialResolved = asStyleRecord(getProps({ style: initialSource }).style);\n return {\n initial: initialResolved,\n resolve: compileAnimatedStyle(initialSource, initialResolved)\n };\n }, [animatedStyle, state?.theme, state?.name]);\n const memoRef = useRef(null);\n let props;\n const cached = memoRef.current;\n if (cached && cached.theme === state?.theme && cached.themeName === state?.name && motionStylesEqual(cached.styles, nonAnimatedStyles) && motionPropsEqual(cached.propsRest, propsRest)) {\n props = { ...cached.result };\n for (const key in propsRest) {\n const val = propsRest[key];\n if (key === \"children\" || typeof val === \"function\") {\n props[key] = val;\n }\n }\n } else {\n props = getProps({ ...propsRest, style: nonAnimatedStyles });\n memoRef.current = {\n propsRest,\n styles: nonAnimatedStyles,\n theme: state?.theme,\n themeName: state?.name,\n result: props\n };\n }\n if (resolvedAnimatedStyle) {\n props = {\n ...props,\n style: {\n ...asStyleRecord(props.style),\n ...resolvedAnimatedStyle.initial\n }\n };\n }\n const Element = render || \"div\";\n const transformedProps = hooks.usePropsTransform?.(render, props, stateRef, false);\n useIsomorphicLayoutEffect(() => {\n if (!animatedStyle) return;\n const node = hostRef.current;\n if (node instanceof HTMLElement && seededNode.current !== node) {\n const currentStyle = animatedStyle.motionValues ? animatedStyle.getStyle(\n ...animatedStyle.motionValues.map((value) => value.get())\n ) : animatedStyle.motionValue ? animatedStyle.getStyle(animatedStyle.motionValue.get()) : null;\n const webStyle = currentStyle && resolvedAnimatedStyle?.resolve(currentStyle);\n if (webStyle) {\n assignInlineStyles(node, webStyle);\n seededNode.current = node;\n seededInCurrentFrame.current = true;\n requestAnimationFrame(() => {\n if (seededNode.current === node) seededInCurrentFrame.current = false;\n });\n }\n }\n const toTransition = (animationConfig) => animationConfig?.type === \"timing\" ? { type: \"tween\", duration: (animationConfig.duration || 0) / 1e3 } : animationConfig?.type === \"direct\" ? { type: \"tween\", duration: 0 } : { type: \"spring\", ...animationConfig };\n const animateNodeTo = (nextStyle, transition, motionValue3) => {\n if (!(node instanceof HTMLElement) || hostRef.current !== node) return;\n const webStyle = resolvedAnimatedStyle?.resolve(nextStyle);\n if (!webStyle) return;\n settlePendingMotionOnFinish(\n motionValue3,\n animate(node, webStyle, transition)\n );\n };\n const animateChangedValue = (nextStyle, transition, motionValue3) => {\n if (seededInCurrentFrame.current && seededNode.current === node) {\n const queuedFrame = queuedAnimationFrames.current.get(motionValue3);\n if (queuedFrame !== void 0) cancelAnimationFrame(queuedFrame);\n const frame = requestAnimationFrame(() => {\n if (queuedAnimationFrames.current.get(motionValue3) !== frame) return;\n queuedAnimationFrames.current.delete(motionValue3);\n if (hostRef.current === node) {\n animateNodeTo(nextStyle, transition, motionValue3);\n } else {\n const onFinish = PendingMotionOnFinish.get(motionValue3);\n PendingMotionOnFinish.delete(motionValue3);\n onFinish?.();\n }\n });\n queuedAnimationFrames.current.set(motionValue3, frame);\n return;\n }\n animateNodeTo(nextStyle, transition, motionValue3);\n };\n if (animatedStyle.motionValues) {\n const mvs = animatedStyle.motionValues;\n const styleForAll = () => animatedStyle.getStyle(...mvs.map((value) => value.get()));\n const unsubs = mvs.map(\n (mv) => mv.on(\n \"change\",\n () => animateChangedValue(\n styleForAll(),\n toTransition(MotionValueStrategy.get(mv)),\n mv\n )\n )\n );\n return () => unsubs.forEach((fn) => fn());\n }\n const motionValue2 = animatedStyle.motionValue;\n if (!motionValue2) return;\n return motionValue2.on(\n \"change\",\n (value) => animateChangedValue(\n animatedStyle.getStyle(value),\n toTransition(MotionValueStrategy.get(motionValue2)),\n motionValue2\n )\n );\n }, [animatedStyle, resolvedAnimatedStyle]);\n return /* @__PURE__ */ jsx(Element, { ...transformedProps, ref: composedRefs });\n });\n Component[\"acceptRenderProp\"] = true;\n return Component;\n}\nfunction getDiff(previous, next) {\n if (!previous) {\n return next;\n }\n let diff = null;\n for (const key in next) {\n if (next[key] !== previous[key]) {\n diff ||= {};\n diff[key] = next[key];\n }\n }\n return diff;\n}\nfunction fixTransparentColors(diff, previous, next) {\n let result = diff;\n for (const key in diff) {\n if (diff[key] === \"transparent\") {\n let fixed = \"rgba(0, 0, 0, 0)\";\n const candidates = [previous?.[key], next?.[key]];\n for (const candidate of candidates) {\n if (typeof candidate === \"string\" && candidate !== \"transparent\") {\n const rgbaMatch = candidate.match(/^rgba?\\(([^,]+),\\s*([^,]+),\\s*([^,)]+)/);\n if (rgbaMatch) {\n fixed = `rgba(${rgbaMatch[1]}, ${rgbaMatch[2]}, ${rgbaMatch[3]}, 0)`;\n break;\n }\n }\n }\n if (result === diff) {\n result = { ...diff };\n }\n result[key] = fixed;\n }\n }\n return result;\n}\nexport {\n createAnimations,\n disableAnimationProps\n};\n//# sourceMappingURL=createAnimations.js.map\n"],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { getEffectiveAnimation, normalizeTransition } from "@tamagui/animation-helpers";
3
3
  import { ResetPresence, usePresence } from "@tamagui/use-presence";
4
- import { Text, View, createRefComponent, fixStyles, getConfig, getSplitStyles, hooks, nonAnimatableStyleProps, normalizeValueWithProperty, styleToCSS, transformsToString, useComposedRefs, useIsomorphicLayoutEffect, useThemeWithState } from "@tamagui/web";
4
+ import { Text, View, createRefComponent, getConfig, getSplitStyles, hooks, nonAnimatableStyleProps, useComposedRefs, useIsomorphicLayoutEffect } from "@tamagui/web";
5
+ import { fixStyles, normalizeValueWithProperty, styleToCSS, transformsToString, useThemeWithState } from "@tamagui/web/internal-runtime";
5
6
  import { animate, motionValue, useAnimate, useMotionValue, useMotionValueEvent } from "motion/react";
6
7
  import React, { useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
7
8
 
@@ -66,7 +67,6 @@ function createAnimations(animations) {
66
67
  return {
67
68
  View: MotionView,
68
69
  Text: MotionText,
69
- isReactNative: false,
70
70
  inputStyle: "css",
71
71
  outputStyle: "inline",
72
72
  avoidReRenders: true,