@tamagui/animations-motion 1.129.6 → 1.129.7

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.
@@ -77,18 +77,24 @@ function createAnimations(animationsProp) {
77
77
  doAnimate,
78
78
  animationOptions
79
79
  } = (0, import_react2.useMemo)(() => getMotionAnimatedProps(props, style, disableAnimation), [presenceContext, animationKey, styleKey]),
80
- runAnimation = (animationStyle, animationOptions2) => {
81
- if (!animationStyle || !(stateRef.current.host instanceof HTMLElement)) return;
82
- if ((0, import_core.fixStyles)(animationStyle), (0, import_core.styleToCSS)(animationStyle), !lastAnimationStyle.current) {
83
- lastAnimationStyle.current = animationStyle, controls.current = animate(scope.current, animationStyle, {
80
+ runAnimation = (nextStyle, animationOptions2) => {
81
+ if (!nextStyle || !(stateRef.current.host instanceof HTMLElement)) return;
82
+ if ((0, import_core.fixStyles)(nextStyle), (0, import_core.styleToCSS)(nextStyle), !lastAnimationStyle.current) {
83
+ lastAnimationStyle.current = nextStyle, controls.current = animate(scope.current, nextStyle, {
84
84
  duration: 0,
85
85
  type: "tween"
86
- }), controls.current.complete();
86
+ }), controls.current.complete(), scope.animations = [];
87
87
  return;
88
88
  }
89
89
  const diff = {};
90
- for (const key in animationStyle) animationStyle[key] !== lastAnimationStyle.current[key] && (diff[key] = animationStyle[key]);
91
- controls.current = animate(scope.current, diff, animationOptions2), lastAnimationStyle.current = animationStyle;
90
+ for (const key in nextStyle) nextStyle[key] !== lastAnimationStyle.current[key] && (diff[key] = nextStyle[key]);
91
+ process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info("[animations-motion] animate (", JSON.stringify(diff, null, 2) + ")"), scope.animations = scope.animations.filter(x => {
92
+ try {
93
+ return x.state !== "finished" && x.state !== "idle";
94
+ } catch {
95
+ return !0;
96
+ }
97
+ }), controls.current = animate(scope.current, diff, animationOptions2), lastAnimationStyle.current = nextStyle;
92
98
  };
93
99
  return useStyleEmitter?.(nextStyle => {
94
100
  const {
@@ -100,12 +106,7 @@ function createAnimations(animationsProp) {
100
106
  lastAnimationStyle.current = null;
101
107
  }, []), (0, import_react2.useLayoutEffect)(() => {
102
108
  doAnimate && runAnimation(doAnimate, animationOptions);
103
- }, [JSON.stringify(doAnimate), lastAnimationStyle]), process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info("[animations-motion](", JSON.stringify(doAnimate, null, 2) + ")", {
104
- doAnimate,
105
- dontAnimate,
106
- animationOptions,
107
- props
108
- }), {
109
+ }, [JSON.stringify(doAnimate), lastAnimationStyle]), process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info("[animations-motion] render (", JSON.stringify(dontAnimate, null, 2) + ")"), {
109
110
  style: dontAnimate,
110
111
  ref: scope,
111
112
  tag: "div"
@@ -50,20 +50,29 @@ function createAnimations(animationsProp) {
50
50
  props,
51
51
  style,
52
52
  disableAnimation
53
- ), [presenceContext, animationKey, styleKey]), runAnimation = (animationStyle, animationOptions2) => {
54
- if (!animationStyle || !(stateRef.current.host instanceof HTMLElement))
53
+ ), [presenceContext, animationKey, styleKey]), runAnimation = (nextStyle, animationOptions2) => {
54
+ if (!nextStyle || !(stateRef.current.host instanceof HTMLElement))
55
55
  return;
56
- if ((0, import_core.fixStyles)(animationStyle), (0, import_core.styleToCSS)(animationStyle), !lastAnimationStyle.current) {
57
- lastAnimationStyle.current = animationStyle, controls.current = animate(scope.current, animationStyle, {
56
+ if ((0, import_core.fixStyles)(nextStyle), (0, import_core.styleToCSS)(nextStyle), !lastAnimationStyle.current) {
57
+ lastAnimationStyle.current = nextStyle, controls.current = animate(scope.current, nextStyle, {
58
58
  duration: 0,
59
59
  type: "tween"
60
- }), controls.current.complete();
60
+ }), controls.current.complete(), scope.animations = [];
61
61
  return;
62
62
  }
63
63
  const diff = {};
64
- for (const key in animationStyle)
65
- animationStyle[key] !== lastAnimationStyle.current[key] && (diff[key] = animationStyle[key]);
66
- controls.current = animate(scope.current, diff, animationOptions2), lastAnimationStyle.current = animationStyle;
64
+ for (const key in nextStyle)
65
+ nextStyle[key] !== lastAnimationStyle.current[key] && (diff[key] = nextStyle[key]);
66
+ process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info(
67
+ "[animations-motion] animate (",
68
+ JSON.stringify(diff, null, 2) + ")"
69
+ ), scope.animations = scope.animations.filter((x) => {
70
+ try {
71
+ return x.state !== "finished" && x.state !== "idle";
72
+ } catch {
73
+ return !0;
74
+ }
75
+ }), controls.current = animate(scope.current, diff, animationOptions2), lastAnimationStyle.current = nextStyle;
67
76
  };
68
77
  return useStyleEmitter?.((nextStyle) => {
69
78
  const { doAnimate: doAnimate2, animationOptions: animationOptions2 } = getMotionAnimatedProps(
@@ -76,12 +85,10 @@ function createAnimations(animationsProp) {
76
85
  lastAnimationStyle.current = null;
77
86
  }, []), (0, import_react2.useLayoutEffect)(() => {
78
87
  doAnimate && runAnimation(doAnimate, animationOptions);
79
- }, [JSON.stringify(doAnimate), lastAnimationStyle]), process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info("[animations-motion](", JSON.stringify(doAnimate, null, 2) + ")", {
80
- doAnimate,
81
- dontAnimate,
82
- animationOptions,
83
- props
84
- }), {
88
+ }, [JSON.stringify(doAnimate), lastAnimationStyle]), process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info(
89
+ "[animations-motion] render (",
90
+ JSON.stringify(dontAnimate, null, 2) + ")"
91
+ ), {
85
92
  style: dontAnimate,
86
93
  ref: scope,
87
94
  tag: "div"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createAnimations.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["import_react", "React", "animationOptions", "doAnimate", "props"]
6
6
  }
@@ -53,19 +53,25 @@ function createAnimations(animationsProp) {
53
53
  presenceContext,
54
54
  animationKey,
55
55
  styleKey
56
- ]), runAnimation = function(animationStyle, animationOptions2) {
57
- if (animationStyle && stateRef.current.host instanceof HTMLElement) {
58
- if ((0, import_core.fixStyles)(animationStyle), (0, import_core.styleToCSS)(animationStyle), !lastAnimationStyle.current) {
59
- lastAnimationStyle.current = animationStyle, controls.current = animate(scope.current, animationStyle, {
56
+ ]), runAnimation = function(nextStyle, animationOptions2) {
57
+ if (nextStyle && stateRef.current.host instanceof HTMLElement) {
58
+ if ((0, import_core.fixStyles)(nextStyle), (0, import_core.styleToCSS)(nextStyle), !lastAnimationStyle.current) {
59
+ lastAnimationStyle.current = nextStyle, controls.current = animate(scope.current, nextStyle, {
60
60
  duration: 0,
61
61
  type: "tween"
62
- }), controls.current.complete();
62
+ }), controls.current.complete(), scope.animations = [];
63
63
  return;
64
64
  }
65
65
  var diff = {};
66
- for (var key2 in animationStyle)
67
- animationStyle[key2] !== lastAnimationStyle.current[key2] && (diff[key2] = animationStyle[key2]);
68
- controls.current = animate(scope.current, diff, animationOptions2), lastAnimationStyle.current = animationStyle;
66
+ for (var key2 in nextStyle)
67
+ nextStyle[key2] !== lastAnimationStyle.current[key2] && (diff[key2] = nextStyle[key2]);
68
+ process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info("[animations-motion] animate (", JSON.stringify(diff, null, 2) + ")"), scope.animations = scope.animations.filter(function(x) {
69
+ try {
70
+ return x.state !== "finished" && x.state !== "idle";
71
+ } catch {
72
+ return !0;
73
+ }
74
+ }), controls.current = animate(scope.current, diff, animationOptions2), lastAnimationStyle.current = nextStyle;
69
75
  }
70
76
  };
71
77
  return useStyleEmitter == null || useStyleEmitter(function(nextStyle) {
@@ -80,12 +86,7 @@ function createAnimations(animationsProp) {
80
86
  }, [
81
87
  JSON.stringify(doAnimate),
82
88
  lastAnimationStyle
83
- ]), process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info("[animations-motion](", JSON.stringify(doAnimate, null, 2) + ")", {
84
- doAnimate,
85
- dontAnimate,
86
- animationOptions,
87
- props
88
- }), {
89
+ ]), process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info("[animations-motion] render (", JSON.stringify(dontAnimate, null, 2) + ")"), {
89
90
  style: dontAnimate,
90
91
  ref: scope,
91
92
  tag: "div"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createAnimations.tsx"],
4
- "mappings": "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",
5
- "names": ["import_react", "MotionValueStrategy", "WeakMap", "createAnimations", "animationsProp", "animations", "key", "type", "View", "MotionView", "Text", "MotionText", "isReactNative", "supportsCSSVars", "needsWebStyles", "avoidReRenders", "usePresence", "ResetPresence", "useAnimations", "animationProps", "props", "style", "componentState", "stateRef", "useStyleEmitter", "animationKey", "Array", "isArray", "animation", "isHydrating", "unmounted", "disableAnimation", "presenceContext", "React", "useContext", "PresenceContext", "scope", "animate", "useAnimate", "lastAnimationStyle", "useRef", "controls", "styleKey", "JSON", "stringify", "dontAnimate", "doAnimate", "animationOptions", "useMemo", "motionAnimationState", "getMotionAnimatedProps", "runAnimation", "animationStyle", "current", "host", "HTMLElement", "fixStyles", "styleToCSS", "duration", "complete", "diff", "nextStyle", "useEffect", "useLayoutEffect", "process", "env", "NODE_ENV", "console", "info", "ref", "tag", "useAnimatedNumber", "initial", "motionValue", "useMotionValue", "getInstance", "getValue", "get", "setValue", "next", "config", "onFinish", "set", "unsubscribe", "on", "value", "Math", "abs", "stop", "useAnimatedNumberReaction", "onValue", "instance", "useMotionValueEvent", "useAnimatedNumberStyle", "val", "getStyleProp", "getStyleRef", "getStyle", "cur", "disable", "animationPropToAnimationConfig", "animateOnly", "disableAnimationProps", "has", "includes", "animationProp", "defaultAnimationKey", "specificAnimations", "default", "Object", "fromEntries", "keys", "flatMap", "Set", "createMotionView", "defaultTag", "isText", "Component", "forwardRef", "propsIn", "hooks", "forwardedRef", "propsRest", "hostRef", "composedRefs", "useComposedRefs", "_", "state", "useThemeWithState", "styles", "animatedStyle", "nonAnimatedStyles", "find", "x", "filter", "getProps", "out", "getSplitStyles", "staticConfig", "theme", "name", "isAnimated", "noClass", "resolveValues", "viewProps", "Element", "transformedProps", "usePropsTransform", "animationConfig", "node", "webStyle", "motionAnimationConfig", "_jsx"]
4
+ "mappings": "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",
5
+ "names": ["import_react", "MotionValueStrategy", "WeakMap", "createAnimations", "animationsProp", "animations", "key", "type", "View", "MotionView", "Text", "MotionText", "isReactNative", "supportsCSSVars", "needsWebStyles", "avoidReRenders", "usePresence", "ResetPresence", "useAnimations", "animationProps", "props", "style", "componentState", "stateRef", "useStyleEmitter", "animationKey", "Array", "isArray", "animation", "isHydrating", "unmounted", "disableAnimation", "presenceContext", "React", "useContext", "PresenceContext", "scope", "animate", "useAnimate", "lastAnimationStyle", "useRef", "controls", "styleKey", "JSON", "stringify", "dontAnimate", "doAnimate", "animationOptions", "useMemo", "motionAnimationState", "getMotionAnimatedProps", "runAnimation", "nextStyle", "current", "host", "HTMLElement", "fixStyles", "styleToCSS", "duration", "complete", "diff", "process", "env", "NODE_ENV", "console", "info", "filter", "x", "state", "useEffect", "useLayoutEffect", "ref", "tag", "useAnimatedNumber", "initial", "motionValue", "useMotionValue", "getInstance", "getValue", "get", "setValue", "next", "config", "onFinish", "set", "unsubscribe", "on", "value", "Math", "abs", "stop", "useAnimatedNumberReaction", "onValue", "instance", "useMotionValueEvent", "useAnimatedNumberStyle", "val", "getStyleProp", "getStyleRef", "getStyle", "cur", "disable", "animationPropToAnimationConfig", "animateOnly", "disableAnimationProps", "has", "includes", "animationProp", "defaultAnimationKey", "specificAnimations", "default", "Object", "fromEntries", "keys", "flatMap", "Set", "createMotionView", "defaultTag", "isText", "Component", "forwardRef", "propsIn", "hooks", "forwardedRef", "propsRest", "hostRef", "composedRefs", "useComposedRefs", "_", "useThemeWithState", "styles", "animatedStyle", "nonAnimatedStyles", "find", "getProps", "out", "getSplitStyles", "staticConfig", "theme", "name", "isAnimated", "noClass", "resolveValues", "viewProps", "Element", "transformedProps", "usePropsTransform", "animationConfig", "node", "webStyle", "motionAnimationConfig", "_jsx"]
6
6
  }
@@ -40,20 +40,29 @@ function createAnimations(animationsProp) {
40
40
  props,
41
41
  style,
42
42
  disableAnimation
43
- ), [presenceContext, animationKey, styleKey]), runAnimation = (animationStyle, animationOptions2) => {
44
- if (!animationStyle || !(stateRef.current.host instanceof HTMLElement))
43
+ ), [presenceContext, animationKey, styleKey]), runAnimation = (nextStyle, animationOptions2) => {
44
+ if (!nextStyle || !(stateRef.current.host instanceof HTMLElement))
45
45
  return;
46
- if (fixStyles(animationStyle), styleToCSS(animationStyle), !lastAnimationStyle.current) {
47
- lastAnimationStyle.current = animationStyle, controls.current = animate(scope.current, animationStyle, {
46
+ if (fixStyles(nextStyle), styleToCSS(nextStyle), !lastAnimationStyle.current) {
47
+ lastAnimationStyle.current = nextStyle, controls.current = animate(scope.current, nextStyle, {
48
48
  duration: 0,
49
49
  type: "tween"
50
- }), controls.current.complete();
50
+ }), controls.current.complete(), scope.animations = [];
51
51
  return;
52
52
  }
53
53
  const diff = {};
54
- for (const key in animationStyle)
55
- animationStyle[key] !== lastAnimationStyle.current[key] && (diff[key] = animationStyle[key]);
56
- controls.current = animate(scope.current, diff, animationOptions2), lastAnimationStyle.current = animationStyle;
54
+ for (const key in nextStyle)
55
+ nextStyle[key] !== lastAnimationStyle.current[key] && (diff[key] = nextStyle[key]);
56
+ process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info(
57
+ "[animations-motion] animate (",
58
+ JSON.stringify(diff, null, 2) + ")"
59
+ ), scope.animations = scope.animations.filter((x) => {
60
+ try {
61
+ return x.state !== "finished" && x.state !== "idle";
62
+ } catch {
63
+ return !0;
64
+ }
65
+ }), controls.current = animate(scope.current, diff, animationOptions2), lastAnimationStyle.current = nextStyle;
57
66
  };
58
67
  return useStyleEmitter?.((nextStyle) => {
59
68
  const { doAnimate: doAnimate2, animationOptions: animationOptions2 } = getMotionAnimatedProps(
@@ -66,12 +75,10 @@ function createAnimations(animationsProp) {
66
75
  lastAnimationStyle.current = null;
67
76
  }, []), useLayoutEffect(() => {
68
77
  doAnimate && runAnimation(doAnimate, animationOptions);
69
- }, [JSON.stringify(doAnimate), lastAnimationStyle]), process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info("[animations-motion](", JSON.stringify(doAnimate, null, 2) + ")", {
70
- doAnimate,
71
- dontAnimate,
72
- animationOptions,
73
- props
74
- }), {
78
+ }, [JSON.stringify(doAnimate), lastAnimationStyle]), process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info(
79
+ "[animations-motion] render (",
80
+ JSON.stringify(dontAnimate, null, 2) + ")"
81
+ ), {
75
82
  style: dontAnimate,
76
83
  ref: scope,
77
84
  tag: "div"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createAnimations.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["animationOptions", "doAnimate", "props"]
6
6
  }
@@ -41,18 +41,24 @@ function createAnimations(animationsProp) {
41
41
  doAnimate,
42
42
  animationOptions
43
43
  } = useMemo(() => getMotionAnimatedProps(props, style, disableAnimation), [presenceContext, animationKey, styleKey]),
44
- runAnimation = (animationStyle, animationOptions2) => {
45
- if (!animationStyle || !(stateRef.current.host instanceof HTMLElement)) return;
46
- if (fixStyles(animationStyle), styleToCSS(animationStyle), !lastAnimationStyle.current) {
47
- lastAnimationStyle.current = animationStyle, controls.current = animate(scope.current, animationStyle, {
44
+ runAnimation = (nextStyle, animationOptions2) => {
45
+ if (!nextStyle || !(stateRef.current.host instanceof HTMLElement)) return;
46
+ if (fixStyles(nextStyle), styleToCSS(nextStyle), !lastAnimationStyle.current) {
47
+ lastAnimationStyle.current = nextStyle, controls.current = animate(scope.current, nextStyle, {
48
48
  duration: 0,
49
49
  type: "tween"
50
- }), controls.current.complete();
50
+ }), controls.current.complete(), scope.animations = [];
51
51
  return;
52
52
  }
53
53
  const diff = {};
54
- for (const key in animationStyle) animationStyle[key] !== lastAnimationStyle.current[key] && (diff[key] = animationStyle[key]);
55
- controls.current = animate(scope.current, diff, animationOptions2), lastAnimationStyle.current = animationStyle;
54
+ for (const key in nextStyle) nextStyle[key] !== lastAnimationStyle.current[key] && (diff[key] = nextStyle[key]);
55
+ process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info("[animations-motion] animate (", JSON.stringify(diff, null, 2) + ")"), scope.animations = scope.animations.filter(x => {
56
+ try {
57
+ return x.state !== "finished" && x.state !== "idle";
58
+ } catch {
59
+ return !0;
60
+ }
61
+ }), controls.current = animate(scope.current, diff, animationOptions2), lastAnimationStyle.current = nextStyle;
56
62
  };
57
63
  return useStyleEmitter?.(nextStyle => {
58
64
  const {
@@ -64,12 +70,7 @@ function createAnimations(animationsProp) {
64
70
  lastAnimationStyle.current = null;
65
71
  }, []), useLayoutEffect(() => {
66
72
  doAnimate && runAnimation(doAnimate, animationOptions);
67
- }, [JSON.stringify(doAnimate), lastAnimationStyle]), process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info("[animations-motion](", JSON.stringify(doAnimate, null, 2) + ")", {
68
- doAnimate,
69
- dontAnimate,
70
- animationOptions,
71
- props
72
- }), {
73
+ }, [JSON.stringify(doAnimate), lastAnimationStyle]), process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info("[animations-motion] render (", JSON.stringify(dontAnimate, null, 2) + ")"), {
73
74
  style: dontAnimate,
74
75
  ref: scope,
75
76
  tag: "div"
@@ -1 +1 @@
1
- {"version":3,"names":["fixStyles","getSplitStyles","hooks","styleToCSS","Text","useComposedRefs","useThemeWithState","View","PresenceContext","ResetPresence","usePresence","useAnimate","useMotionValue","useMotionValueEvent","React","forwardRef","useEffect","useLayoutEffect","useMemo","useRef","jsx","MotionValueStrategy","WeakMap","createAnimations","animationsProp","animations","key","type","MotionView","MotionText","isReactNative","supportsCSSVars","needsWebStyles","avoidReRenders","useAnimations","animationProps","props","style","componentState","stateRef","useStyleEmitter","animationKey","Array","isArray","animation","disableAnimation","unmounted","presenceContext","useContext","scope","animate","lastAnimationStyle","controls","styleKey","JSON","stringify","dontAnimate","doAnimate","animationOptions","getMotionAnimatedProps","runAnimation","animationStyle","animationOptions2","current","host","HTMLElement","duration","complete","diff","nextStyle","doAnimate2","process","env","NODE_ENV","debug","console","info","ref","tag","useAnimatedNumber","initial","motionValue","getInstance","getValue","get","setValue","next","config","onFinish","set","unsubscribe","on","value","Math","abs","stop","useAnimatedNumberReaction","onValue","instance","useAnimatedNumberStyle","val","getStyleProp","getStyleRef","getStyle","cur","disable","animationPropToAnimationConfig","animateOnly","disableAnimationProps","has","includes","animationProp","defaultAnimationKey","specificAnimations","default","Object","fromEntries","keys","flatMap","Set","createMotionView","defaultTag","isText","Component","propsIn","forwardedRef","propsRest","hostRef","composedRefs","_","state","styles","animatedStyle","nonAnimatedStyles","find","x","filter","getProps","props2","out","staticConfig","theme","name","isAnimated","noClass","resolveValues","viewProps","Element","transformedProps","usePropsTransform","animationConfig","node","webStyle","motionAnimationConfig","acceptTagProp"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAIEA,SAAA,EACAC,cAAA,EACAC,KAAA,EACAC,UAAA,EACAC,IAAA,EAEAC,eAAA,EACAC,iBAAA,EACAC,IAAA,QACK;AACP,SAASC,eAAA,EAAiBC,aAAA,EAAeC,WAAA,QAAmB;AAC5D,SAIEC,UAAA,EACAC,cAAA,EACAC,mBAAA,QAEK;AACP,OAAOC,KAAA,IAASC,UAAA,EAAYC,SAAA,EAAWC,eAAA,EAAiBC,OAAA,EAASC,MAAA,QAAc;AAoZpE,SAAAC,GAAA;AAxYX,MAAMC,mBAAA,GAAsB,mBAAIC,OAAA,CAA6C;AAEtE,SAASC,iBACdC,cAAA,EACoB;EAIpB,MAAMC,UAAA,GAAgB,CAAC;EACvB,WAAWC,GAAA,IAAOF,cAAA,EAChBC,UAAA,CAAWC,GAAG,IAAI;IAChBC,IAAA,EAAM;IACN,GAAGH,cAAA,CAAeE,GAAG;EACvB;EAGF,OAAO;IAAA;IAELnB,IAAA,EAAMqB,UAAA;IACNxB,IAAA,EAAMyB,UAAA;IACNC,aAAA,EAAe;IACfC,eAAA,EAAiB;IACjBC,cAAA,EAAgB;IAChBC,cAAA,EAAgB;IAChBR,UAAA;IACAf,WAAA;IACAD,aAAA;IAEAyB,aAAA,EAAgBC,cAAA,IAAmB;MACjC,MAAM;UAAEC,KAAA;UAAOC,KAAA;UAAOC,cAAA;UAAgBC,QAAA;UAAUC;QAAgB,IAAIL,cAAA;QAE9DM,YAAA,GAAeC,KAAA,CAAMC,OAAA,CAAQP,KAAA,CAAMQ,SAAS,IAC9CR,KAAA,CAAMQ,SAAA,CAAU,CAAC,IACjBR,KAAA,CAAMQ,SAAA;QAGJC,gBAAA,GADcP,cAAA,CAAeQ,SAAA,KAAc,MACT,CAACL,YAAA;QACnCM,eAAA,GAAkBjC,KAAA,CAAMkC,UAAA,CAAWxC,eAAe;QAElD,CAACyC,KAAA,EAAOC,OAAO,IAAIvC,UAAA,CAAW;QAC9BwC,kBAAA,GAAqBhC,MAAA,CAAsB,IAAI;QAC/CiC,QAAA,GAAWjC,MAAA,CAAiD,IAAI;QAChEkC,QAAA,GAAWC,IAAA,CAAKC,SAAA,CAAUlB,KAAK;QAE/B;UAAEmB,WAAA;UAAaC,SAAA;UAAWC;QAAiB,IAAIxC,OAAA,CAAQ,MAC9ByC,sBAAA,CAC3BvB,KAAA,EACAC,KAAA,EACAQ,gBACF,GAEC,CAACE,eAAA,EAAiBN,YAAA,EAAcY,QAAQ,CAAC;QAItCO,YAAA,GAAeA,CACnBC,cAAA,EACAC,iBAAA,KACG;UAEH,IADI,CAACD,cAAA,IACD,EAAEtB,QAAA,CAASwB,OAAA,CAAQC,IAAA,YAAgBC,WAAA,GACrC;UAOF,IAHAjE,SAAA,CAAU6D,cAAc,GACxB1D,UAAA,CAAW0D,cAAc,GAErB,CAACV,kBAAA,CAAmBY,OAAA,EAAS;YAE/BZ,kBAAA,CAAmBY,OAAA,GAAUF,cAAA,EAC7BT,QAAA,CAASW,OAAA,GAAUb,OAAA,CAAQD,KAAA,CAAMc,OAAA,EAASF,cAAA,EAAgB;cACxDK,QAAA,EAAU;cACVvC,IAAA,EAAM;YACR,CAAC,GACDyB,QAAA,CAASW,OAAA,CAAQI,QAAA,CAAS;YAC1B;UACF;UAEA,MAAMC,IAAA,GAAO,CAAC;UACd,WAAW1C,GAAA,IAAOmC,cAAA,EACZA,cAAA,CAAenC,GAAG,MAAMyB,kBAAA,CAAmBY,OAAA,CAAQrC,GAAG,MACxD0C,IAAA,CAAK1C,GAAG,IAAImC,cAAA,CAAenC,GAAG;UAKlC0B,QAAA,CAASW,OAAA,GAAUb,OAAA,CAAQD,KAAA,CAAMc,OAAA,EAASK,IAAA,EAAMN,iBAAgB,GAChEX,kBAAA,CAAmBY,OAAA,GAAUF,cAAA;QAC/B;MAEA,OAAArB,eAAA,GAAmB6B,SAAA,IAAc;QAC/B,MAAM;UAAEZ,SAAA,EAAAa,UAAA;UAAWZ,gBAAA,EAAAI;QAAiB,IAAIH,sBAAA,CACtCvB,KAAA,EACAiC,SAAA,EACAxB,gBACF;QACAe,YAAA,CAAaU,UAAA,EAAWR,iBAAgB;MAC1C,CAAC,GAMD9C,SAAA,CAAU,MACD,MAAM;QACXmC,kBAAA,CAAmBY,OAAA,GAAU;MAC/B,GACC,EAAE,GAEL9C,eAAA,CAAgB,MAAM;QACfwC,SAAA,IACLG,YAAA,CAAaH,SAAA,EAAWC,gBAAgB;MAC1C,GAAG,CAACJ,IAAA,CAAKC,SAAA,CAAUE,SAAS,GAAGN,kBAAkB,CAAC,GAGhDoB,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBACzBrC,KAAA,CAAMsC,KAAA,IACNtC,KAAA,CAAMsC,KAAA,KAAa,aAEnBC,OAAA,CAAQC,IAAA,CAAK,wBAAwBtB,IAAA,CAAKC,SAAA,CAAUE,SAAA,EAAW,MAAM,CAAC,IAAI,KAAK;QAC7EA,SAAA;QACAD,WAAA;QACAE,gBAAA;QACAtB;MACF,CAAC,GAKI;QACLC,KAAA,EAAOmB,WAAA;QACPqB,GAAA,EAAK5B,KAAA;QACL6B,GAAA,EAAK;MACP;IACF;IAEAC,kBAAkBC,OAAA,EAAwD;MACxE,MAAMC,WAAA,GAAcrE,cAAA,CAAeoE,OAAO;MAE1C,OAAOlE,KAAA,CAAMI,OAAA,CACX,OAAO;QACLgE,YAAA,EAAc;UACZ,OAAOD,WAAA;QACT;QACAE,SAAA,EAAW;UACT,OAAOF,WAAA,CAAYG,GAAA,CAAI;QACzB;QACAC,SAASC,IAAA,EAAMC,MAAA,GAAS;UAAE5D,IAAA,EAAM;QAAS,GAAG6D,QAAA,EAAU;UACpD,IAAID,MAAA,CAAO5D,IAAA,KAAS,UAClBN,mBAAA,CAAoBoE,GAAA,CAAIR,WAAA,EAAa;YACnCtD,IAAA,EAAM;UACR,CAAC,GACDsD,WAAA,CAAYQ,GAAA,CAAIH,IAAI,GACpBE,QAAA,GAAW,OACN;YAGL,IAFAnE,mBAAA,CAAoBoE,GAAA,CAAIR,WAAA,EAAaM,MAAM,GAEvCC,QAAA,EAAU;cACZ,MAAME,WAAA,GAAcT,WAAA,CAAYU,EAAA,CAAG,UAAWC,KAAA,IAAU;gBAClDC,IAAA,CAAKC,GAAA,CAAIF,KAAA,GAAQN,IAAI,IAAI,SAC3BI,WAAA,CAAY,GACZF,QAAA,CAAS;cAEb,CAAC;YACH;YAEAP,WAAA,CAAYQ,GAAA,CAAIH,IAAI;UAEtB;QACF;QACAS,KAAA,EAAO;UACLd,WAAA,CAAYc,IAAA,CAAK;QACnB;MACF,IACA,CAACd,WAAW,CACd;IACF;IAEAe,0BAA0B;MAAEJ;IAAM,GAAGK,OAAA,EAAS;MAC5C,MAAMC,QAAA,GAAWN,KAAA,CAAMV,WAAA,CAAY;MACnCrE,mBAAA,CAAoBqF,QAAA,EAAU,UAAUD,OAAO;IACjD;IAEAE,uBAAuBC,GAAA,EAAKC,YAAA,EAAc;MACxC,MAAMpB,WAAA,GAAcmB,GAAA,CAAIlB,WAAA,CAAY;QAC9BoB,WAAA,GAAcnF,MAAA,CAA4BkF,YAAY;MAG5D,OAAAC,WAAA,CAAYvC,OAAA,GAAUsC,YAAA,EAGfnF,OAAA,CAAQ,OACN;QACLqF,QAAA,EAAWC,GAAA,IACFF,WAAA,CAAYvC,OAAA,CAAQyC,GAAG;QAEhCvB;MACF,IACC,EAAE;IACP;EACF;EAEA,SAAStB,uBACPvB,KAAA,EACAC,KAAA,EACAoE,OAAA,GAAU,IACV;IACA,IAAIA,OAAA,EACF,OAAO;MACLjD,WAAA,EAAanB,KAAA;MACboB,SAAA,EAAW;IACb;IAGF,MAAMC,gBAAA,GAAmBgD,8BAAA,CAA+BtE,KAAA,CAAMQ,SAAS;IAEvE,IAAIY,WAAA,GAAc,CAAC;MACfC,SAAA,GAA4C;IAEhD,MAAMkD,WAAA,GAAcvE,KAAA,CAAMuE,WAAA;IAC1B,WAAWjF,GAAA,IAAOW,KAAA,EAAO;MACvB,MAAMuD,KAAA,GAAQvD,KAAA,CAAMX,GAAG;MACnBkF,qBAAA,CAAsBC,GAAA,CAAInF,GAAG,KAAMiF,WAAA,IAAe,CAACA,WAAA,CAAYG,QAAA,CAASpF,GAAG,IAC7E8B,WAAA,CAAY9B,GAAG,IAAIkE,KAAA,IAEnBnC,SAAA,KAAc,CAAC,GACfA,SAAA,CAAU/B,GAAG,IAAIkE,KAAA;IAErB;IAEA,OAAO;MACLpC,WAAA;MACAC,SAAA;MACAC;IACF;EACF;EAEA,SAASgD,+BACPK,aAAA,EACkB;IAClB,IAAIC,mBAAA,GAAsB;MACtBC,kBAAA,GAAqB,CAAC;IAa1B,OAXI,OAAOF,aAAA,IAAkB,WAC3BC,mBAAA,GAAsBD,aAAA,GACbrE,KAAA,CAAMC,OAAA,CAAQoE,aAAa,MAChC,OAAOA,aAAA,CAAc,CAAC,KAAM,YAC9BC,mBAAA,GAAsBD,aAAA,CAAc,CAAC,GACrCE,kBAAA,GAAqBF,aAAA,CAAc,CAAC,KAEpCE,kBAAA,GAAqBF,aAAA,GAIpBC,mBAAA,GAIE;MACLE,OAAA,EAASzF,UAAA,CAAWuF,mBAAmB;MACvC,GAAGG,MAAA,CAAOC,WAAA,CACRD,MAAA,CAAOE,IAAA,CAAKJ,kBAAkB,EAAEK,OAAA,CAAS5F,GAAA,IACnCD,UAAA,CAAWC,GAAG,IACT,CAAC,CAACA,GAAA,EAAKD,UAAA,CAAWC,GAAG,CAAC,CAAC,IAEzB,EACR,CACH;IACF,IAbS,CAAC;EAcZ;AACF;AAGA,MAAMkF,qBAAA,GAAwB,mBAAIW,GAAA,CAAY,CAC5C,gBACA,cACA,kBACA,aACA,WACA,WACA,aACA,iBACA,cACA,kBACA,aACA,YACA,aACA,YACA,YACA,iBACA,YACA,WACD;EAEK3F,UAAA,GAAa4F,gBAAA,CAAiB,KAAK;EACnC3F,UAAA,GAAa2F,gBAAA,CAAiB,MAAM;AAE1C,SAASA,iBAAiBC,UAAA,EAAoB;EAM5C,MAAMC,MAAA,GAASD,UAAA,KAAe;IAExBE,SAAA,GAAY5G,UAAA,CAAW,CAAC6G,OAAA,EAAc/C,GAAA,KAAQ;MAClD,MAAM;UAAEgD,YAAA;UAAcjF,SAAA;UAAWkC,GAAA,GAAM2C,UAAA;UAAYpF,KAAA;UAAO,GAAGyF;QAAU,IAAIF,OAAA;QACrE,CAAC3E,KAAA,EAAOC,OAAO,IAAIvC,UAAA,CAAW;QAC9BoH,OAAA,GAAU5G,MAAA,CAAoB,IAAI;QAClC6G,YAAA,GAAe3H,eAAA,CAAgBwH,YAAA,EAAchD,GAAA,EAAKkD,OAAA,EAAS9E,KAAK;QAEhEV,QAAA,GAAWpB,MAAA,CAAY,IAAI;MAC5BoB,QAAA,CAASwB,OAAA,KACZxB,QAAA,CAASwB,OAAA,GAAU;QACjB,IAAIC,KAAA,EAAO;UACT,OAAO+D,OAAA,CAAQhE,OAAA;QACjB;MACF;MAGF,MAAM,CAACkE,CAAA,EAAGC,KAAK,IAAI5H,iBAAA,CAAkB,CAAC,CAAC;QAEjC6H,MAAA,GAASzF,KAAA,CAAMC,OAAA,CAAQN,KAAK,IAAIA,KAAA,GAAQ,CAACA,KAAK;QAG9C,CAAC+F,aAAA,EAAeC,iBAAiB,IAC9B,CACLF,MAAA,CAAOG,IAAA,CAAMC,CAAA,IAAMA,CAAA,CAAEhC,QAAQ,GAC7B4B,MAAA,CAAOK,MAAA,CAAQD,CAAA,IAAM,CAACA,CAAA,CAAEhC,QAAQ,EAClC;MAGF,SAASkC,SAASC,MAAA,EAAY;QAC5B,MAAMC,GAAA,GAAM1I,cAAA,CACVyI,MAAA,EACAhB,MAAA,GAAStH,IAAA,CAAKwI,YAAA,GAAerI,IAAA,CAAKqI,YAAA,EAClCV,KAAA,EAAOW,KAAA,EACPX,KAAA,EAAOY,IAAA,EACP;UACEhG,SAAA,EAAW;QACb,GACA;UACEiG,UAAA,EAAY;UACZC,OAAA,EAAS;UAAA;UAETC,aAAA,EAAe;QACjB,CACF;QAGA,OAAIN,GAAA,CAAIO,SAAA,CAAU7G,KAAA,KAChBrC,SAAA,CAAU2I,GAAA,CAAIO,SAAA,CAAU7G,KAAK,GAC7BlC,UAAA,CAAWwI,GAAA,CAAIO,SAAA,CAAU7G,KAAK,IAGzBsG,GAAA,CAAIO,SAAA;MACb;MAEA,MAAM9G,KAAA,GAAQqG,QAAA,CAAS;UAAE,GAAGX,SAAA;UAAWzF,KAAA,EAAOgG;QAAkB,CAAC;QAC3Dc,OAAA,GAAUrE,GAAA,IAAO;QACjBsE,gBAAA,GAAmBlJ,KAAA,CAAMmJ,iBAAA,GAAoBvE,GAAA,EAAK1C,KAAA,EAAOG,QAAA,EAAU,EAAK;MAE9E,OAAAvB,SAAA,CAAU,MAAM;QACd,IAAKoH,aAAA,EAEL,OAAOA,aAAA,CAAcnD,WAAA,CAAYU,EAAA,CAAG,UAAWC,KAAA,IAAU;UACvD,MAAMvB,SAAA,GAAY+D,aAAA,CAAc7B,QAAA,CAASX,KAAK;YACxC0D,eAAA,GAAkBjI,mBAAA,CAAoB+D,GAAA,CAAIgD,aAAA,CAAcnD,WAAW;YACnEsE,IAAA,GAAOxB,OAAA,CAAQhE,OAAA;YAEfyF,QAAA,GAAWf,QAAA,CAAS;cAAEpG,KAAA,EAAOgC;YAAU,CAAC,EAAEhC,KAAA;UAEhD,IAAImH,QAAA,IAAYD,IAAA,YAAgBtF,WAAA,EAAa;YAC3C,MAAMwF,qBAAA,GACJH,eAAA,EAAiB3H,IAAA,KAAS,WACtB;cACEA,IAAA,EAAM;cACNuC,QAAA,GAAWoF,eAAA,EAAiBpF,QAAA,IAAY,KAAK;YAC/C,IACAoF,eAAA,EAAiB3H,IAAA,KAAS,WACxB;cAAEA,IAAA,EAAM;cAASuC,QAAA,EAAU;YAAE,IAC7B;cACEvC,IAAA,EAAM;cACN,GAAI2H;YACN;YAERpG,OAAA,CAAQqG,IAAA,EAAMC,QAAA,EAAiBC,qBAAqB;UACtD;QACF,CAAC;MACH,GAAG,CAACrB,aAAa,CAAC,GAEX,eAAAhH,GAAA,CAAC+H,OAAA;QAAS,GAAGC,gBAAA;QAAkBvE,GAAA,EAAKmD;MAAA,CAAc;IAC3D,CAAC;EAED,OAAAL,SAAA,CAAU+B,aAAA,GAAmB,IAEtB/B,SAAA;AACT","ignoreList":[]}
1
+ {"version":3,"names":["fixStyles","getSplitStyles","hooks","styleToCSS","Text","useComposedRefs","useThemeWithState","View","PresenceContext","ResetPresence","usePresence","useAnimate","useMotionValue","useMotionValueEvent","React","forwardRef","useEffect","useLayoutEffect","useMemo","useRef","jsx","MotionValueStrategy","WeakMap","createAnimations","animationsProp","animations","key","type","MotionView","MotionText","isReactNative","supportsCSSVars","needsWebStyles","avoidReRenders","useAnimations","animationProps","props","style","componentState","stateRef","useStyleEmitter","animationKey","Array","isArray","animation","disableAnimation","unmounted","presenceContext","useContext","scope","animate","lastAnimationStyle","controls","styleKey","JSON","stringify","dontAnimate","doAnimate","animationOptions","getMotionAnimatedProps","runAnimation","nextStyle","animationOptions2","current","host","HTMLElement","duration","complete","diff","process","env","NODE_ENV","debug","console","info","filter","x","state","doAnimate2","ref","tag","useAnimatedNumber","initial","motionValue","getInstance","getValue","get","setValue","next","config","onFinish","set","unsubscribe","on","value","Math","abs","stop","useAnimatedNumberReaction","onValue","instance","useAnimatedNumberStyle","val","getStyleProp","getStyleRef","getStyle","cur","disable","animationPropToAnimationConfig","animateOnly","disableAnimationProps","has","includes","animationProp","defaultAnimationKey","specificAnimations","default","Object","fromEntries","keys","flatMap","Set","createMotionView","defaultTag","isText","Component","propsIn","forwardedRef","propsRest","hostRef","composedRefs","_","styles","animatedStyle","nonAnimatedStyles","find","getProps","props2","out","staticConfig","theme","name","isAnimated","noClass","resolveValues","viewProps","Element","transformedProps","usePropsTransform","animationConfig","node","webStyle","motionAnimationConfig","acceptTagProp"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -45,18 +45,24 @@ function createAnimations(animationsProp) {
45
45
  var motionAnimationState = getMotionAnimatedProps(props, style, disableAnimation);
46
46
  return motionAnimationState;
47
47
  }, [presenceContext, animationKey, styleKey]),
48
- runAnimation = function (animationStyle, animationOptions2) {
49
- if (animationStyle && stateRef.current.host instanceof HTMLElement) {
50
- if (fixStyles(animationStyle), styleToCSS(animationStyle), !lastAnimationStyle.current) {
51
- lastAnimationStyle.current = animationStyle, controls.current = animate(scope.current, animationStyle, {
48
+ runAnimation = function (nextStyle, animationOptions2) {
49
+ if (nextStyle && stateRef.current.host instanceof HTMLElement) {
50
+ if (fixStyles(nextStyle), styleToCSS(nextStyle), !lastAnimationStyle.current) {
51
+ lastAnimationStyle.current = nextStyle, controls.current = animate(scope.current, nextStyle, {
52
52
  duration: 0,
53
53
  type: "tween"
54
- }), controls.current.complete();
54
+ }), controls.current.complete(), scope.animations = [];
55
55
  return;
56
56
  }
57
57
  var diff = {};
58
- for (var key2 in animationStyle) animationStyle[key2] !== lastAnimationStyle.current[key2] && (diff[key2] = animationStyle[key2]);
59
- controls.current = animate(scope.current, diff, animationOptions2), lastAnimationStyle.current = animationStyle;
58
+ for (var key2 in nextStyle) nextStyle[key2] !== lastAnimationStyle.current[key2] && (diff[key2] = nextStyle[key2]);
59
+ process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info("[animations-motion] animate (", JSON.stringify(diff, null, 2) + ")"), scope.animations = scope.animations.filter(function (x) {
60
+ try {
61
+ return x.state !== "finished" && x.state !== "idle";
62
+ } catch {
63
+ return !0;
64
+ }
65
+ }), controls.current = animate(scope.current, diff, animationOptions2), lastAnimationStyle.current = nextStyle;
60
66
  }
61
67
  };
62
68
  return useStyleEmitter?.(function (nextStyle) {
@@ -71,12 +77,7 @@ function createAnimations(animationsProp) {
71
77
  };
72
78
  }, []), useLayoutEffect(function () {
73
79
  doAnimate && runAnimation(doAnimate, animationOptions);
74
- }, [JSON.stringify(doAnimate), lastAnimationStyle]), process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info("[animations-motion](", JSON.stringify(doAnimate, null, 2) + ")", {
75
- doAnimate,
76
- dontAnimate,
77
- animationOptions,
78
- props
79
- }), {
80
+ }, [JSON.stringify(doAnimate), lastAnimationStyle]), process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info("[animations-motion] render (", JSON.stringify(dontAnimate, null, 2) + ")"), {
80
81
  style: dontAnimate,
81
82
  ref: scope,
82
83
  tag: "div"
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","fixStyles","getSplitStyles","hooks","styleToCSS","Text","useComposedRefs","useThemeWithState","View","PresenceContext","ResetPresence","usePresence","useAnimate","useMotionValue","useMotionValueEvent","React","forwardRef","useEffect","useLayoutEffect","useMemo","useRef","MotionValueStrategy","WeakMap","createAnimations","animationsProp","animations","key","type","MotionView","MotionText","isReactNative","supportsCSSVars","needsWebStyles","avoidReRenders","useAnimations","animationProps","props","style","componentState","stateRef","useStyleEmitter","animationKey","Array","isArray","animation","isHydrating","unmounted","disableAnimation","presenceContext","useContext","scope","animate","lastAnimationStyle","controls","styleKey","JSON","stringify","dontAnimate","doAnimate","animationOptions","motionAnimationState","getMotionAnimatedProps","runAnimation","animationStyle","animationOptions2","current","host","HTMLElement","duration","complete","diff","key2","nextStyle","doAnimate2","process","env","NODE_ENV","debug","console","info","ref","tag","useAnimatedNumber","initial","motionValue","getInstance","getValue","get","setValue","next","config","arguments","length","onFinish","set","unsubscribe","on","value","Math","abs","stop","useAnimatedNumberReaction","param","onValue","instance","useAnimatedNumberStyle","val","getStyleProp","getStyleRef","getStyle","cur","disable","animationPropToAnimationConfig","animateOnly","disableAnimationProps","has","includes","animationProp","defaultAnimationKey","specificAnimations","default","Object","fromEntries","keys","flatMap","Set","createMotionView","defaultTag","isText","Component","propsIn","_hooks_usePropsTransform","forwardedRef","propsRest","hostRef","composedRefs","_","state","styles","animatedStyle","nonAnimatedStyles","find","x","filter","getProps","props2","out","staticConfig","theme","name","isAnimated","noClass","resolveValues","viewProps","Element","transformedProps","usePropsTransform","call","animationConfig","node","webStyle","motionAnimationConfig"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,GAAA,IAAAC,IAAA;AAAA,SAIEC,SAAA,EAAAC,cAAA,EAAAC,KAAA,EAAAC,UAAA,EAAAC,IAAA,EAAAC,eAAA,EAAAC,iBAAA,EAAAC,IAAA;AAAA,SACAC,eAAA,EAAAC,aAAA,EAAAC,WAAA;AAAA,SACAC,UAAA,EAAAC,cAAA,EAAAC,mBAAA;AAAA,OACAC,KAAA,IAAAC,UAAA,EAAAC,SAAA,EAAAC,eAAA,EAAAC,OAAA,EAAAC,MAAA;AAAA,IACAC,mBAAA,sBAAAC,OAAA;AAAA,SAEAC,iBAAAC,cAAA;EACA,IAAAC,UAAA;EACA,SAAAC,GAAA,IAAAF,cAAA,EAAAC,UACK,CAAAC,GAAA;IACPC,IAAS;IACT,GAAAH,cAAA,CAAAE,GAAA;EAIE;EACA;IACA;IAAAlB,IAEK,EAAAoB,UAAA;IACPvB,IAAO,EAAAwB,UAAS;IAoZLC,aAAA;IAxYXC,eAAM;IAECC,cAAS;IAMdC,cAAM,GAAgB,CAAC;IACvBR,UAAW;IACTd,WAAW;IAAOD,aACV;IAAAwB,aACH,WAAAA,CAAkBC,cAAA;MACvB;UAAAC,KAAA;UAAAC,KAAA;UAAAC,cAAA;UAAAC,QAAA;UAAAC;QAAA,IAAAL,cAAA;QAAAM,YAAA,GAAAC,KAAA,CAAAC,OAAA,CAAAP,KAAA,CAAAQ,SAAA,IAAAR,KAAA,CAAAQ,SAAA,MAAAR,KAAA,CAAAQ,SAAA;QAAAC,WAAA,GAAAP,cAAA,CAAAQ,SAAA;QAAAC,gBAAA,GAAAF,WAAA,KAAAJ,YAAA;QAAAO,eAAA,GAAAjC,KAAA,CAAAkC,UAAA,CAAAxC,eAAA;QAAA,CAAAyC,KAAA,EAAAC,OAAA,IAAAvC,UAAA;QAAAwC,kBAAA,GAAAhC,MAAA;QAAAiC,QAAA,GAAAjC,MAAA;QAAAkC,QAAA,GAAAC,IAAA,CAAAC,SAAA,CAAAnB,KAAA;QAAA;UAAAoB,WAAA;UAAAC,SAAA;UAAAC;QAAA,IAAAxC,OAAA;UAGF,IAAOyC,oBAAA,GAAAC,sBAAA,CAAAzB,KAAA,EAAAC,KAAA,EAAAU,gBAAA;UAAA,OAAAa,oBAAA;QAEL,IACAZ,eAAM,EACNP,YAAe,EACfa,QAAA,CACA;QAAAQ,YAAgB,YAAAA,CAAAC,cAAA,EAAAC,iBAAA;UAChB,IAAAD,cAAgB,IAAAxB,QAAA,CAAA0B,OAAA,CAAAC,IAAA,YAAAC,WAAA;YAChB,IAAAlE,SAAA,CAAA8D,cAAA,GAAA3D,UAAA,CAAA2D,cAAA,IAAAX,kBAAA,CAAAa,OAAA;cACAb,kBAAA,CAAAa,OAAA,GAAAF,cAAA,EAAAV,QAAA,CAAAY,OAAA,GAAAd,OAAA,CAAAD,KAAA,CAAAe,OAAA,EAAAF,cAAA;gBACAK,QAAA;gBAEAzC,IAAA,EAAgB;cACR,EAAE,EAAA0B,QAAO,CAAAY,OAAO,CAAAI,QAAA;cAiBlB;YACA;YACA,IAAAC,IAAA;YAGA,SAAAC,IAAA,IAAiBR,cAAc,EAQ7BA,cAAC,CAAAQ,IACD,MAAEnB,kBAAiB,CAAAa,OAAA,CAAAM,IAAgB,MAAAD,IAAA,CAAAC,IAAA,IAAAR,cAAA,CAAAQ,IAAA;YACrClB,QAAA,CAAAY,OAAA,GAAAd,OAAA,CAAAD,KAAA,CAAAe,OAAA,EAAAK,IAAA,EAAAN,iBAAA,GAAAZ,kBAAA,CAAAa,OAAA,GAAAF,cAAA;UAOF;QAEE;MAC0D,OACxDvB,eAAU,aAAAgC,SAAA;QAAA,IACV;UAAAd,SAAM,EAAAe,UAAA;UAAAd,gBAAA,EAAAK;QAAA,IAAAH,sBAAA,CAAAzB,KAAA,EAAAoC,SAAA,EAAAzB,gBAAA;QAAAe,YAER,CAAAW,UAAiB,EAAAT,iBAAS;MAC1B,IAAA/C,SAAA;QACF;UAEAmC,kBAAc,CAAAa,OAAA;QACd;MACE,KAAI,GAAA/C,eAAkB,aAAM;QAM9BwC,SAAS,IAAAI,YAAU,CAAAJ,SAAc,EAAAC,gBAAe;MAElD,IAEAJ,IAAA,CAAAC,SAAA,CAAAE,SAAmB,GACjBN,kBAAQ,CAAgC,GACtCsB,OAAA,CAAAC,GAAA,CAAAC,QAAA,sBAAAxC,KAAA,CAAAyC,KAAA,IAAAzC,KAAA,CAAAyC,KAAA,kBAAAC,OAAA,CAAAC,IAAA,yBAAAxB,IAAA,CAAAC,SAAA,CAAAE,SAAA;QAAAA,SACA;QAAAD,WACA;QACFE,gBAAA;QACAvB;MACF,CAAC,GAMD;QAEIC,KAAA,EAAAoB,WAAA;QACFuB,GACG,EAAA9B,KAEL;QACO+B,GAAA;MAEP;IAOiF;IAC7EC,iBACAA,CAAAC,OAAA;MAAA,IACAC,WAAA,GAAAvE,cAAA,CAAAsE,OAAA;MAAA,OACApE,KAAA,CAAAI,OAAA;QACD,OAKI;UACLkE,WAAOA,CAAA;YACP,OAAKD,WAAA;UACL;UACFE,SAAA;YACF,OAAAF,WAAA,CAAAG,GAAA;UAEA;UACEC,QAAMA,CAAAC,IAAA;YAEN,IAAOC,MAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;gBACXhE,IAAO;cACL;cAAAkE,QAAA,GAAcF,SAAA,CAAAC,MAAA,OAAAD,SAAA;YACZ,IAAAD,MAAO,CAAA/D,IAAA,eACTN,mBAAA,CAAAyE,GAAA,CAAAV,WAAA;cACAzD,IAAA,EAAW;YACT,IAAAyD,WAAO,CAAAU,GAAY,CAAAL,IAAI,GAAAI,QAAA,UACzB;cACA,IAAAxE,mBAA0B,CAAAyE,GAAA,CAAMV,WAAS,EAAGM,MAAA,GAAUG,QAAA,EAChD,IAAAE,WAAO,GAASX,WAAA,CAAAY,EAAA,qBAAAC,KAAA;gBAClBC,IAAA,CAAAC,GAAA,CAAAF,KAAA,GAAoBR,IAAI,aAAaM,WAAA,IAAAF,QAAA;cACnC;cACFT,WACA,CAAAU,GAAA,CAAYL,IAAI;YACL;UAIX;UACE;UACEW,KAAA;YAEWhB,WAEZ,CAAAgB,IAAA;UAAA;QAGH;MAAoB,IAEtBhB,WACF;IAEE;IAAiBiB,yBACnBA,CAAAC,KAAA,EAAAC,OAAA;MAAA,IACF;UAAAN;QAAA,IAAAK,KAAA;QAAAE,QAAA,GAAAP,KAAA,CAAAZ,WAAA;MAAAvE,mBACY,CAAA0F,QAAA,YAAAD,OAAA;IAAA;IAEhBE,uBAAAC,GAAA,EAAAC,YAAA;MAEA,IAAAvB,WAAA,GAAAsB,GAAA,CAAArB,WAAkC,EAAG;QAAAuB,WAAS,GAAAxF,MAAA,CAAAuF,YAAA;MAC5C,OAAMC,WAAW,CAAA3C,OAAM,GAAA0C,YAAY,EAAAxF,OAAA;QACnC;UACF0F,QAAA,WAAAA,CAAAC,GAAA;YAEA,OAAAF,WAAuB,CAAA3C,OAAK,CAAA6C,GAAA;UAC1B;UAIA1B;QAKI;MACgC,GAEhC;IAAA;EAEC;EAET,SAAAvB,uBAAAzB,KAAA,EAAAC,KAAA;IAEA,IAAA0E,OAAS,GAAApB,SAAA,CAAAC,MACP,QACAD,SACA,QAAU,KACV,IAAAA,SAAA;IACA,IAAIoB,OAAA,EACF,OAAO;MACLtD,WAAA,EAAapB,KAAA;MACbqB,SAAA,EAAW;IACb;IAGF,IAAAC,gBAAM,GAAAqD,8BAAmB,CAAA5E,KAA+B,CAAAQ,SAAM;MAASa,WAAA;MAAAC,SAAA;MAAAuD,WAAA,GAAA7E,KAAA,CAAA6E,WAAA;IAEvE,KAAI,IAAA1C,IAAA,IAAAlC,KACA;MAEJ,IAAM4D,KAAA,GAAA5D,KAAA,CAAckC,IAAA;MACpB2C,qBAAkB,CAAAC,GAAO,CAAA5C,IAAA,KAAA0C,WAAA,KAAAA,WAAA,CAAAG,QAAA,CAAA7C,IAAA,IAAAd,WAAA,CAAAc,IAAA,IAAA0B,KAAA,IAAAvC,SAAA,KAAAA,SAAA,QAAAA,SAAA,CAAAa,IAAA,IAAA0B,KAAA;IACvB;IACA,OAAI;MAMNxC,WAAA;MAEAC,SAAO;MACLC;IAAA;EACA;EACA,SACFqD,+BAAAK,aAAA;IACF,IAAAC,mBAAA;MAAAC,kBAAA;IAEA,OAAS,OAAAF,aAAA,YACP,GAAAC,mBACkB,GAAAD,aAAA,GAAA3E,KAAA,CAAAC,OAAA,CAAA0E,aAAA,aAAAA,aAAA,mBAAAC,mBAAA,GAAAD,aAAA,KAAAE,kBAAA,GAAAF,aAAA,OAAAE,kBAAA,GAAAF,aAAA,GAAAC,mBAAA;MAClBE,OAAI,EAAA/F,UAAA,CAAA6F,mBACA;MAaJ,GAAAG,MAXI,CAAAC,WAAO,CAAAD,MAAA,CAAkBE,IAAA,CAAAJ,kBAC3B,EAAAK,OAAA,CAAsB,UAAArD,IAAA;QAetB,OAAS9C,UAAA,CAAW8C,IAAA,KACjB,CACDA,IAAO,EAMT9C,UAAA,CAAA8C,IAAA,EAZQ,CAcZ;MACF;IAGA,IAAM;EACJ;AAAA;AACA,IACA2C,qBAAA,sBAAAW,GAAA,EACA,gBACA,cACA,kBACA,aACA,WACA,WACA,aACA,iBACA,cACA,kBACA,aACA,YACA,aACA,YACA,YACD,eAEkB,EAGnB,UAAS,EAMP,UAAM,CAGJ;EAAAjG,UAAQ,GAAAkG,gBAAc,MAAW;EAAAjG,UAAM,GAAYiG,gBAAU,OAAU,CAAI;AAM3E,SAAKA,gBACHA,CAAAC,UAAS;EAAU,IACjBC,MAAI,GAAAD,UAAO;IAAAE,SAAA,kBAAAjH,UAAA,WAAAkH,OAAA,EAAAlD,GAAA;MACT,IAAAmD,wBAAe;QAAA;UAAAC,YAAA;UAAAxF,SAAA;UAAAqC,GAAA,GAAA8C,UAAA;UAAA1F,KAAA;UAAA,GAAAgG;QAAA,IAAAH,OAAA;QAAA,CAAAhF,KAAA,EAAAC,OAAA,IAAAvC,UAAA;QAAA0H,OAAA,GAAAlH,MAAA;QAAAmH,YAAA,GAAAjI,eAAA,CAAA8H,YAAA,EAAApD,GAAA,EAAAsD,OAAA,EAAApF,KAAA;QAAAX,QAAA,GAAAnB,MAAA;MAAAmB,QACjB,CAAA0B,OAAA,KAAA1B,QAAA,CAAA0B,OAAA;QACF,IAAAC,KAAA;UAGF,OAAUoE,OAAK,CAAIrE,OAAA;QAOf;MAA6B,EAC7B;MACF,KAAAuE,CAAA,EAAAC,KAAA,IAAAlI,iBAAA;QAAAmI,MAAA,GAAAhG,KAAA,CAAAC,OAAA,CAAAN,KAAA,IAAAA,KAAA,IAGFA,KAAA,CACE;QAAA,CAAAsG,aAAY,EAAAC,iBAAA;UAAA,OACV,CACAF,MAAA,CAAAG,IAAS,WAAKC,CAAA;YACd,OAAOA,CAAA,CAAAjC,QAAA;UACP,IACA6B,MAAA,CAAAK,MAAA,WAAAD,CAAA;YACE,QAAAA,CAAA,CAAAjC,QAAW;UACb;QACA;MACc,SACZmC,QAASA,CAAAC,MAAA;QAAA,IAAAC,GAAA,GAAAhJ,cAAA,CAAA+I,MAAA,EAAAjB,MAAA,GAAA3H,IAAA,CAAA8I,YAAA,GAAA3I,IAAA,CAAA2I,YAAA,EAAAV,KAAA,EAAAW,KAAA,EAAAX,KAAA,EAAAY,IAAA;UAAAvG,SAET;QAAe,GACjB;UACFwG,UAAA;UAGAC,OAAI,EAAI;UAMV;UAEAC,aAAc;QAId;QACE,OAAKN,GAAA,CAAAO,SAAA,CAAApH,KAAA,KAAApC,SAAA,CAAAiJ,GAAA,CAAAO,SAAA,CAAApH,KAAA,GAAAjC,UAAA,CAAA8I,GAAA,CAAAO,SAAA,CAAApH,KAAA,IAAA6G,GAAA,CAAAO,SAAA;MAEL;MACE,IAAArH,KAAA,GAAM4G,QAAA;UAMN,GAAAX,SAAI;UACFhG,KAAA,EAAAuG;QAEM;QAAAc,OACE,GAAAzE,GAAM;QAAA0E,gBAAA,IAAAxB,wBAAA,GAAAhI,KAAA,CAAAyJ,iBAAA,cAAAzB,wBAAA,uBAAAA,wBAAA,CAAA0B,IAAA,CAAA1J,KAAA,EAAA8E,GAAA,EAAA7C,KAAA,EAAAG,QAAA;MAAA,OAAAtB,SACN,aAAW;QAAkC,IAAA0H,aAE/C,EAEE,OACEA,aAAM,CAAAvD,WAAA,CAAAY,EAAA,qBAAAC,KAAA;UAAA,IACNzB,SAAI,GAAAmE,aAAA,CAAA9B,QAAA,CAAAZ,KAAA;YAAA6D,eAAA,GAAAzI,mBAAA,CAAAkE,GAAA,CAAAoD,aAAA,CAAAvD,WAAA;YAAA2E,IAAA,GAAAzB,OAAA,CAAArE,OAAA;YAAA+F,QAAA,GAAAhB,QAAA;cACN3G,KAAA,EAAAmC;YAER,GAAAnC,KAAA;UACF,IAAA2H,QAAA,IAAAD,IAAA,YAAA5F,WAAA;YACD,IAAA8F,qBAAA,GAAAH,eAAA,EAAAnI,IAAA;cACCA,IAAA,SAEG;cACRyC,QAAA,GAAA0F,eAAA,EAAA1F,QAAA;YAED,IAAA0F,eAAU,EAAAnI,IAAmB,KAEtB;cACTA,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","fixStyles","getSplitStyles","hooks","styleToCSS","Text","useComposedRefs","useThemeWithState","View","PresenceContext","ResetPresence","usePresence","useAnimate","useMotionValue","useMotionValueEvent","React","forwardRef","useEffect","useLayoutEffect","useMemo","useRef","MotionValueStrategy","WeakMap","createAnimations","animationsProp","animations","key","type","MotionView","MotionText","isReactNative","supportsCSSVars","needsWebStyles","avoidReRenders","useAnimations","animationProps","props","style","componentState","stateRef","useStyleEmitter","animationKey","Array","isArray","animation","isHydrating","unmounted","disableAnimation","presenceContext","useContext","scope","animate","lastAnimationStyle","controls","styleKey","JSON","stringify","dontAnimate","doAnimate","animationOptions","motionAnimationState","getMotionAnimatedProps","runAnimation","nextStyle","animationOptions2","current","host","HTMLElement","duration","complete","diff","key2","process","env","NODE_ENV","debug","console","info","filter","x","state","doAnimate2","ref","tag","useAnimatedNumber","initial","motionValue","getInstance","getValue","get","setValue","next","config","arguments","length","onFinish","set","unsubscribe","on","value","Math","abs","stop","useAnimatedNumberReaction","param","onValue","instance","useAnimatedNumberStyle","val","getStyleProp","getStyleRef","getStyle","cur","disable","animationPropToAnimationConfig","animateOnly","disableAnimationProps","has","includes","animationProp","defaultAnimationKey","specificAnimations","default","Object","fromEntries","keys","flatMap","Set","createMotionView","defaultTag","isText","Component","propsIn","_hooks_usePropsTransform","forwardedRef","propsRest","hostRef","composedRefs","_","styles","animatedStyle","nonAnimatedStyles","find","getProps","props2","out","staticConfig","theme","name","isAnimated","noClass","resolveValues","viewProps","Element","transformedProps","usePropsTransform","call","animationConfig","node","webStyle","motionAnimationConfig"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/animations-motion",
3
- "version": "1.129.6",
3
+ "version": "1.129.7",
4
4
  "source": "src/index.ts",
5
5
  "license": "MIT",
6
6
  "types": "./types/index.d.ts",
@@ -29,12 +29,12 @@
29
29
  }
30
30
  },
31
31
  "dependencies": {
32
- "@tamagui/core": "1.129.6",
33
- "@tamagui/use-presence": "1.129.6",
32
+ "@tamagui/core": "1.129.7",
33
+ "@tamagui/use-presence": "1.129.7",
34
34
  "motion": "^12.19.1"
35
35
  },
36
36
  "devDependencies": {
37
- "@tamagui/build": "1.129.6",
37
+ "@tamagui/build": "1.129.7",
38
38
  "react": "*"
39
39
  },
40
40
  "scripts": {
@@ -90,39 +90,59 @@ export function createAnimations<A extends Record<string, AnimationConfig>>(
90
90
  // const id = useId()
91
91
 
92
92
  const runAnimation = (
93
- animationStyle: Record<string, unknown> | null,
93
+ nextStyle: Record<string, unknown> | null,
94
94
  animationOptions: AnimationOptions | undefined
95
95
  ) => {
96
- if (!animationStyle) return
96
+ if (!nextStyle) return
97
97
  if (!(stateRef.current.host instanceof HTMLElement)) {
98
98
  return
99
99
  }
100
100
 
101
101
  // ideally this would just come from tamagui
102
- fixStyles(animationStyle)
103
- styleToCSS(animationStyle)
102
+ fixStyles(nextStyle)
103
+ styleToCSS(nextStyle)
104
104
 
105
105
  if (!lastAnimationStyle.current) {
106
106
  // console.log('first', id, animationStyle)
107
- lastAnimationStyle.current = animationStyle
108
- controls.current = animate(scope.current, animationStyle, {
107
+ lastAnimationStyle.current = nextStyle
108
+ controls.current = animate(scope.current, nextStyle, {
109
109
  duration: 0,
110
110
  type: 'tween',
111
111
  })
112
112
  controls.current.complete()
113
+ scope.animations = []
113
114
  return
114
115
  }
115
116
 
116
117
  const diff = {}
117
- for (const key in animationStyle) {
118
- if (animationStyle[key] !== lastAnimationStyle.current[key]) {
119
- diff[key] = animationStyle[key]
118
+ for (const key in nextStyle) {
119
+ if (nextStyle[key] !== lastAnimationStyle.current[key]) {
120
+ diff[key] = nextStyle[key]
120
121
  }
121
122
  }
122
123
 
123
- // console.log('animate', id, diff)
124
+ if (
125
+ process.env.NODE_ENV === 'development' &&
126
+ props['debug'] &&
127
+ props['debug'] !== 'profile'
128
+ ) {
129
+ console.info(
130
+ `[animations-motion] animate (`,
131
+ JSON.stringify(diff, null, 2) + ')'
132
+ )
133
+ }
134
+
135
+ // for some reason it keeps adding and never removes
136
+ scope.animations = scope.animations.filter((x) => {
137
+ try {
138
+ return x.state !== 'finished' && x.state !== 'idle'
139
+ } catch {
140
+ // it can error
141
+ return true
142
+ }
143
+ })
124
144
  controls.current = animate(scope.current, diff, animationOptions)
125
- lastAnimationStyle.current = animationStyle
145
+ lastAnimationStyle.current = nextStyle
126
146
  }
127
147
 
128
148
  useStyleEmitter?.((nextStyle) => {
@@ -154,16 +174,12 @@ export function createAnimations<A extends Record<string, AnimationConfig>>(
154
174
  props['debug'] &&
155
175
  props['debug'] !== 'profile'
156
176
  ) {
157
- console.info(`[animations-motion](`, JSON.stringify(doAnimate, null, 2) + ')', {
158
- doAnimate,
159
- dontAnimate,
160
- animationOptions,
161
- props,
162
- })
177
+ console.info(
178
+ `[animations-motion] render (`,
179
+ JSON.stringify(dontAnimate, null, 2) + ')'
180
+ )
163
181
  }
164
182
 
165
- // console.log('render', id, scope)
166
-
167
183
  return {
168
184
  style: dontAnimate,
169
185
  ref: scope,
@@ -7,7 +7,7 @@
7
7
  "src/createAnimations.tsx"
8
8
  ],
9
9
  "sourcesContent": [
10
- "import {\n type AnimatedNumberStrategy,\n type AnimationDriver,\n type AnimationProp,\n fixStyles,\n getSplitStyles,\n hooks,\n styleToCSS,\n Text,\n type UniversalAnimatedNumber,\n useComposedRefs,\n useThemeWithState,\n View,\n} from '@tamagui/core'\nimport { PresenceContext, ResetPresence, usePresence } from '@tamagui/use-presence'\nimport {\n type AnimationOptions,\n type AnimationPlaybackControlsWithThen,\n type MotionValue,\n useAnimate,\n useMotionValue,\n useMotionValueEvent,\n type ValueTransition,\n} from 'motion/react'\nimport React, { forwardRef, useEffect, useLayoutEffect, useMemo, useRef } from 'react'\n\n// TODO: useAnimatedNumber style could avoid re-rendering\n\ntype MotionAnimatedNumber = MotionValue<number>\ntype AnimationConfig = ValueTransition\n\ntype MotionAnimatedNumberStyle = {\n getStyle: (cur: number) => Record<string, unknown>\n motionValue: MotionValue<number>\n}\n\nconst MotionValueStrategy = new WeakMap<MotionValue, AnimatedNumberStrategy>()\n\nexport function createAnimations<A extends Record<string, AnimationConfig>>(\n animationsProp: A\n): AnimationDriver<A> {\n // normalize, it doesn't assume type: 'spring' even if damping etc there so we do that\n // which also matches the moti driver\n // @ts-expect-error avoid doing a spread for no reason, sub-constraint type issue\n const animations: A = {}\n for (const key in animationsProp) {\n animations[key] = {\n type: 'spring',\n ...animationsProp[key],\n }\n }\n\n return {\n // this is only used by Sheet basically for now to pass result of useAnimatedStyle to\n View: MotionView,\n Text: MotionText,\n isReactNative: false,\n supportsCSSVars: true,\n needsWebStyles: true,\n avoidReRenders: true,\n animations,\n usePresence,\n ResetPresence,\n\n useAnimations: (animationProps) => {\n const { props, style, componentState, stateRef, useStyleEmitter } = animationProps\n\n const animationKey = Array.isArray(props.animation)\n ? props.animation[0]\n : props.animation\n\n const isHydrating = componentState.unmounted === true\n const disableAnimation = isHydrating || !animationKey\n const presenceContext = React.useContext(PresenceContext)\n\n const [scope, animate] = useAnimate()\n const lastAnimationStyle = useRef<Object | null>(null)\n const controls = useRef<AnimationPlaybackControlsWithThen | null>(null)\n const styleKey = JSON.stringify(style)\n\n const { dontAnimate, doAnimate, animationOptions } = useMemo(() => {\n const motionAnimationState = getMotionAnimatedProps(\n props as any,\n style,\n disableAnimation\n )\n return motionAnimationState\n }, [presenceContext, animationKey, styleKey])\n\n // const id = useId()\n\n const runAnimation = (\n animationStyle: Record<string, unknown> | null,\n animationOptions: AnimationOptions | undefined\n ) => {\n if (!animationStyle) return\n if (!(stateRef.current.host instanceof HTMLElement)) {\n return\n }\n\n // ideally this would just come from tamagui\n fixStyles(animationStyle)\n styleToCSS(animationStyle)\n\n if (!lastAnimationStyle.current) {\n // console.log('first', id, animationStyle)\n lastAnimationStyle.current = animationStyle\n controls.current = animate(scope.current, animationStyle, {\n duration: 0,\n type: 'tween',\n })\n controls.current.complete()\n return\n }\n\n const diff = {}\n for (const key in animationStyle) {\n if (animationStyle[key] !== lastAnimationStyle.current[key]) {\n diff[key] = animationStyle[key]\n }\n }\n\n // console.log('animate', id, diff)\n controls.current = animate(scope.current, diff, animationOptions)\n lastAnimationStyle.current = animationStyle\n }\n\n useStyleEmitter?.((nextStyle) => {\n const { doAnimate, animationOptions } = getMotionAnimatedProps(\n props as any,\n nextStyle,\n disableAnimation\n )\n runAnimation(doAnimate, animationOptions)\n })\n\n // strict mode correctness fix, idk why i thought it would clear a useRef\n // before running strict? if you remove this you'll see the next\n // useLayoutEffect re-run and animate due to lastAnimationStyle.current\n // being set when in theory it should be clear\n useEffect(() => {\n return () => {\n lastAnimationStyle.current = null\n }\n }, [])\n\n useLayoutEffect(() => {\n if (!doAnimate) return\n runAnimation(doAnimate, animationOptions)\n }, [JSON.stringify(doAnimate), lastAnimationStyle])\n\n if (\n process.env.NODE_ENV === 'development' &&\n props['debug'] &&\n props['debug'] !== 'profile'\n ) {\n console.info(`[animations-motion](`, JSON.stringify(doAnimate, null, 2) + ')', {\n doAnimate,\n dontAnimate,\n animationOptions,\n props,\n })\n }\n\n // console.log('render', id, scope)\n\n return {\n style: dontAnimate,\n ref: scope,\n tag: 'div',\n }\n },\n\n useAnimatedNumber(initial): UniversalAnimatedNumber<MotionAnimatedNumber> {\n const motionValue = useMotionValue(initial)\n\n return React.useMemo(\n () => ({\n getInstance() {\n return motionValue\n },\n getValue() {\n return motionValue.get()\n },\n setValue(next, config = { type: 'spring' }, onFinish) {\n if (config.type === 'direct') {\n MotionValueStrategy.set(motionValue, {\n type: 'direct',\n })\n motionValue.set(next)\n onFinish?.()\n } else {\n MotionValueStrategy.set(motionValue, config)\n\n if (onFinish) {\n const unsubscribe = motionValue.on('change', (value) => {\n if (Math.abs(value - next) < 0.01) {\n unsubscribe()\n onFinish()\n }\n })\n }\n\n motionValue.set(next)\n // Motion doesn't have a direct onFinish callback, so we simulate it\n }\n },\n stop() {\n motionValue.stop()\n },\n }),\n [motionValue]\n )\n },\n\n useAnimatedNumberReaction({ value }, onValue) {\n const instance = value.getInstance() as MotionValue<number>\n useMotionValueEvent(instance, 'change', onValue)\n },\n\n useAnimatedNumberStyle(val, getStyleProp) {\n const motionValue = val.getInstance() as MotionValue<number>\n const getStyleRef = useRef<typeof getStyleProp>(getStyleProp)\n\n // we need to change useAnimatedNumberStyle to have dep args to be concurrent safe\n getStyleRef.current = getStyleProp\n\n // never changes\n return useMemo(() => {\n return {\n getStyle: (cur) => {\n return getStyleRef.current(cur)\n },\n motionValue,\n } satisfies MotionAnimatedNumberStyle\n }, [])\n },\n }\n\n function getMotionAnimatedProps(\n props: { animation: AnimationProp | null; animateOnly?: string[] },\n style: Record<string, unknown>,\n disable = false\n ) {\n if (disable) {\n return {\n dontAnimate: style,\n doAnimate: null,\n }\n }\n\n const animationOptions = animationPropToAnimationConfig(props.animation)\n\n let dontAnimate = {}\n let doAnimate: Record<string, unknown> | null = null\n\n const animateOnly = props.animateOnly as string[] | undefined\n for (const key in style) {\n const value = style[key]\n if (disableAnimationProps.has(key) || (animateOnly && !animateOnly.includes(key))) {\n dontAnimate[key] = value\n } else {\n doAnimate ||= {}\n doAnimate[key] = value\n }\n }\n\n return {\n dontAnimate,\n doAnimate,\n animationOptions,\n }\n }\n\n function animationPropToAnimationConfig(\n animationProp: AnimationProp | null\n ): AnimationOptions {\n let defaultAnimationKey = ''\n let specificAnimations = {}\n\n if (typeof animationProp === 'string') {\n defaultAnimationKey = animationProp\n } else if (Array.isArray(animationProp)) {\n if (typeof animationProp[0] === 'string') {\n defaultAnimationKey = animationProp[0]\n specificAnimations = animationProp[1]\n } else {\n specificAnimations = animationProp\n }\n }\n\n if (!defaultAnimationKey) {\n return {}\n }\n\n return {\n default: animations[defaultAnimationKey],\n ...Object.fromEntries(\n Object.keys(specificAnimations).flatMap((key) => {\n if (animations[key]) {\n return [[key, animations[key]]]\n }\n return []\n })\n ),\n }\n }\n}\n\n// sort of temporary\nconst disableAnimationProps = new Set<string>([\n 'alignContent',\n 'alignItems',\n 'backdropFilter',\n 'boxSizing',\n 'contain',\n 'display',\n 'flexBasis',\n 'flexDirection',\n 'flexShrink',\n 'justifyContent',\n 'maxHeight',\n 'maxWidth',\n 'minHeight',\n 'minWidth',\n 'overflow',\n 'pointerEvents',\n 'position',\n 'textWrap',\n])\n\nconst MotionView = createMotionView('div')\nconst MotionText = createMotionView('span')\n\nfunction createMotionView(defaultTag: string) {\n // return forwardRef((props: any, ref) => {\n // console.log('rendering?', props)\n // const Element = motion[props.tag || defaultTag]\n // return <Element ref={ref} {...props} />\n // })\n const isText = defaultTag === 'span'\n\n const Component = forwardRef((propsIn: any, ref) => {\n const { forwardedRef, animation, tag = defaultTag, style, ...propsRest } = propsIn\n const [scope, animate] = useAnimate()\n const hostRef = useRef<HTMLElement>(null)\n const composedRefs = useComposedRefs(forwardedRef, ref, hostRef, scope)\n\n const stateRef = useRef<any>(null)\n if (!stateRef.current) {\n stateRef.current = {\n get host() {\n return hostRef.current\n },\n }\n }\n\n const [_, state] = useThemeWithState({})\n\n const styles = Array.isArray(style) ? style : [style]\n\n // we can assume just one animatedStyle max for now\n const [animatedStyle, nonAnimatedStyles] = (() => {\n return [\n styles.find((x) => x.getStyle) as MotionAnimatedNumberStyle | undefined,\n styles.filter((x) => !x.getStyle),\n ] as const\n })()\n\n function getProps(props: any) {\n const out = getSplitStyles(\n props,\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 // noMergeStyle: true,\n resolveValues: 'auto',\n }\n )\n\n // we can definitely get rid of this here\n if (out.viewProps.style) {\n fixStyles(out.viewProps.style)\n styleToCSS(out.viewProps.style)\n }\n\n return out.viewProps\n }\n\n const props = getProps({ ...propsRest, style: nonAnimatedStyles })\n const Element = tag || 'div'\n const transformedProps = hooks.usePropsTransform?.(tag, props, stateRef, false)\n\n useEffect(() => {\n if (!animatedStyle) return\n\n return animatedStyle.motionValue.on('change', (value) => {\n const nextStyle = animatedStyle.getStyle(value)\n const animationConfig = MotionValueStrategy.get(animatedStyle.motionValue)\n const node = hostRef.current\n\n const webStyle = getProps({ style: nextStyle }).style\n\n if (webStyle && node instanceof HTMLElement) {\n const motionAnimationConfig =\n animationConfig?.type === 'timing'\n ? {\n type: 'tween',\n duration: (animationConfig?.duration || 0) / 1000,\n }\n : animationConfig?.type === 'direct'\n ? { type: 'tween', duration: 0 }\n : {\n type: 'spring',\n ...(animationConfig as any),\n }\n\n animate(node, webStyle as any, motionAnimationConfig)\n }\n })\n }, [animatedStyle])\n\n return <Element {...transformedProps} ref={composedRefs} />\n })\n\n Component['acceptTagProp'] = true\n\n return Component\n}\n"
10
+ "import {\n type AnimatedNumberStrategy,\n type AnimationDriver,\n type AnimationProp,\n fixStyles,\n getSplitStyles,\n hooks,\n styleToCSS,\n Text,\n type UniversalAnimatedNumber,\n useComposedRefs,\n useThemeWithState,\n View,\n} from '@tamagui/core'\nimport { PresenceContext, ResetPresence, usePresence } from '@tamagui/use-presence'\nimport {\n type AnimationOptions,\n type AnimationPlaybackControlsWithThen,\n type MotionValue,\n useAnimate,\n useMotionValue,\n useMotionValueEvent,\n type ValueTransition,\n} from 'motion/react'\nimport React, { forwardRef, useEffect, useLayoutEffect, useMemo, useRef } from 'react'\n\n// TODO: useAnimatedNumber style could avoid re-rendering\n\ntype MotionAnimatedNumber = MotionValue<number>\ntype AnimationConfig = ValueTransition\n\ntype MotionAnimatedNumberStyle = {\n getStyle: (cur: number) => Record<string, unknown>\n motionValue: MotionValue<number>\n}\n\nconst MotionValueStrategy = new WeakMap<MotionValue, AnimatedNumberStrategy>()\n\nexport function createAnimations<A extends Record<string, AnimationConfig>>(\n animationsProp: A\n): AnimationDriver<A> {\n // normalize, it doesn't assume type: 'spring' even if damping etc there so we do that\n // which also matches the moti driver\n // @ts-expect-error avoid doing a spread for no reason, sub-constraint type issue\n const animations: A = {}\n for (const key in animationsProp) {\n animations[key] = {\n type: 'spring',\n ...animationsProp[key],\n }\n }\n\n return {\n // this is only used by Sheet basically for now to pass result of useAnimatedStyle to\n View: MotionView,\n Text: MotionText,\n isReactNative: false,\n supportsCSSVars: true,\n needsWebStyles: true,\n avoidReRenders: true,\n animations,\n usePresence,\n ResetPresence,\n\n useAnimations: (animationProps) => {\n const { props, style, componentState, stateRef, useStyleEmitter } = animationProps\n\n const animationKey = Array.isArray(props.animation)\n ? props.animation[0]\n : props.animation\n\n const isHydrating = componentState.unmounted === true\n const disableAnimation = isHydrating || !animationKey\n const presenceContext = React.useContext(PresenceContext)\n\n const [scope, animate] = useAnimate()\n const lastAnimationStyle = useRef<Object | null>(null)\n const controls = useRef<AnimationPlaybackControlsWithThen | null>(null)\n const styleKey = JSON.stringify(style)\n\n const { dontAnimate, doAnimate, animationOptions } = useMemo(() => {\n const motionAnimationState = getMotionAnimatedProps(\n props as any,\n style,\n disableAnimation\n )\n return motionAnimationState\n }, [presenceContext, animationKey, styleKey])\n\n // const id = useId()\n\n const runAnimation = (\n nextStyle: Record<string, unknown> | null,\n animationOptions: AnimationOptions | undefined\n ) => {\n if (!nextStyle) return\n if (!(stateRef.current.host instanceof HTMLElement)) {\n return\n }\n\n // ideally this would just come from tamagui\n fixStyles(nextStyle)\n styleToCSS(nextStyle)\n\n if (!lastAnimationStyle.current) {\n // console.log('first', id, animationStyle)\n lastAnimationStyle.current = nextStyle\n controls.current = animate(scope.current, nextStyle, {\n duration: 0,\n type: 'tween',\n })\n controls.current.complete()\n scope.animations = []\n return\n }\n\n const diff = {}\n for (const key in nextStyle) {\n if (nextStyle[key] !== lastAnimationStyle.current[key]) {\n diff[key] = nextStyle[key]\n }\n }\n\n if (\n process.env.NODE_ENV === 'development' &&\n props['debug'] &&\n props['debug'] !== 'profile'\n ) {\n console.info(\n `[animations-motion] animate (`,\n JSON.stringify(diff, null, 2) + ')'\n )\n }\n\n // for some reason it keeps adding and never removes\n scope.animations = scope.animations.filter((x) => {\n try {\n return x.state !== 'finished' && x.state !== 'idle'\n } catch {\n // it can error\n return true\n }\n })\n controls.current = animate(scope.current, diff, animationOptions)\n lastAnimationStyle.current = nextStyle\n }\n\n useStyleEmitter?.((nextStyle) => {\n const { doAnimate, animationOptions } = getMotionAnimatedProps(\n props as any,\n nextStyle,\n disableAnimation\n )\n runAnimation(doAnimate, animationOptions)\n })\n\n // strict mode correctness fix, idk why i thought it would clear a useRef\n // before running strict? if you remove this you'll see the next\n // useLayoutEffect re-run and animate due to lastAnimationStyle.current\n // being set when in theory it should be clear\n useEffect(() => {\n return () => {\n lastAnimationStyle.current = null\n }\n }, [])\n\n useLayoutEffect(() => {\n if (!doAnimate) return\n runAnimation(doAnimate, animationOptions)\n }, [JSON.stringify(doAnimate), lastAnimationStyle])\n\n if (\n process.env.NODE_ENV === 'development' &&\n props['debug'] &&\n props['debug'] !== 'profile'\n ) {\n console.info(\n `[animations-motion] render (`,\n JSON.stringify(dontAnimate, null, 2) + ')'\n )\n }\n\n return {\n style: dontAnimate,\n ref: scope,\n tag: 'div',\n }\n },\n\n useAnimatedNumber(initial): UniversalAnimatedNumber<MotionAnimatedNumber> {\n const motionValue = useMotionValue(initial)\n\n return React.useMemo(\n () => ({\n getInstance() {\n return motionValue\n },\n getValue() {\n return motionValue.get()\n },\n setValue(next, config = { type: 'spring' }, onFinish) {\n if (config.type === 'direct') {\n MotionValueStrategy.set(motionValue, {\n type: 'direct',\n })\n motionValue.set(next)\n onFinish?.()\n } else {\n MotionValueStrategy.set(motionValue, config)\n\n if (onFinish) {\n const unsubscribe = motionValue.on('change', (value) => {\n if (Math.abs(value - next) < 0.01) {\n unsubscribe()\n onFinish()\n }\n })\n }\n\n motionValue.set(next)\n // Motion doesn't have a direct onFinish callback, so we simulate it\n }\n },\n stop() {\n motionValue.stop()\n },\n }),\n [motionValue]\n )\n },\n\n useAnimatedNumberReaction({ value }, onValue) {\n const instance = value.getInstance() as MotionValue<number>\n useMotionValueEvent(instance, 'change', onValue)\n },\n\n useAnimatedNumberStyle(val, getStyleProp) {\n const motionValue = val.getInstance() as MotionValue<number>\n const getStyleRef = useRef<typeof getStyleProp>(getStyleProp)\n\n // we need to change useAnimatedNumberStyle to have dep args to be concurrent safe\n getStyleRef.current = getStyleProp\n\n // never changes\n return useMemo(() => {\n return {\n getStyle: (cur) => {\n return getStyleRef.current(cur)\n },\n motionValue,\n } satisfies MotionAnimatedNumberStyle\n }, [])\n },\n }\n\n function getMotionAnimatedProps(\n props: { animation: AnimationProp | null; animateOnly?: string[] },\n style: Record<string, unknown>,\n disable = false\n ) {\n if (disable) {\n return {\n dontAnimate: style,\n doAnimate: null,\n }\n }\n\n const animationOptions = animationPropToAnimationConfig(props.animation)\n\n let dontAnimate = {}\n let doAnimate: Record<string, unknown> | null = null\n\n const animateOnly = props.animateOnly as string[] | undefined\n for (const key in style) {\n const value = style[key]\n if (disableAnimationProps.has(key) || (animateOnly && !animateOnly.includes(key))) {\n dontAnimate[key] = value\n } else {\n doAnimate ||= {}\n doAnimate[key] = value\n }\n }\n\n return {\n dontAnimate,\n doAnimate,\n animationOptions,\n }\n }\n\n function animationPropToAnimationConfig(\n animationProp: AnimationProp | null\n ): AnimationOptions {\n let defaultAnimationKey = ''\n let specificAnimations = {}\n\n if (typeof animationProp === 'string') {\n defaultAnimationKey = animationProp\n } else if (Array.isArray(animationProp)) {\n if (typeof animationProp[0] === 'string') {\n defaultAnimationKey = animationProp[0]\n specificAnimations = animationProp[1]\n } else {\n specificAnimations = animationProp\n }\n }\n\n if (!defaultAnimationKey) {\n return {}\n }\n\n return {\n default: animations[defaultAnimationKey],\n ...Object.fromEntries(\n Object.keys(specificAnimations).flatMap((key) => {\n if (animations[key]) {\n return [[key, animations[key]]]\n }\n return []\n })\n ),\n }\n }\n}\n\n// sort of temporary\nconst disableAnimationProps = new Set<string>([\n 'alignContent',\n 'alignItems',\n 'backdropFilter',\n 'boxSizing',\n 'contain',\n 'display',\n 'flexBasis',\n 'flexDirection',\n 'flexShrink',\n 'justifyContent',\n 'maxHeight',\n 'maxWidth',\n 'minHeight',\n 'minWidth',\n 'overflow',\n 'pointerEvents',\n 'position',\n 'textWrap',\n])\n\nconst MotionView = createMotionView('div')\nconst MotionText = createMotionView('span')\n\nfunction createMotionView(defaultTag: string) {\n // return forwardRef((props: any, ref) => {\n // console.log('rendering?', props)\n // const Element = motion[props.tag || defaultTag]\n // return <Element ref={ref} {...props} />\n // })\n const isText = defaultTag === 'span'\n\n const Component = forwardRef((propsIn: any, ref) => {\n const { forwardedRef, animation, tag = defaultTag, style, ...propsRest } = propsIn\n const [scope, animate] = useAnimate()\n const hostRef = useRef<HTMLElement>(null)\n const composedRefs = useComposedRefs(forwardedRef, ref, hostRef, scope)\n\n const stateRef = useRef<any>(null)\n if (!stateRef.current) {\n stateRef.current = {\n get host() {\n return hostRef.current\n },\n }\n }\n\n const [_, state] = useThemeWithState({})\n\n const styles = Array.isArray(style) ? style : [style]\n\n // we can assume just one animatedStyle max for now\n const [animatedStyle, nonAnimatedStyles] = (() => {\n return [\n styles.find((x) => x.getStyle) as MotionAnimatedNumberStyle | undefined,\n styles.filter((x) => !x.getStyle),\n ] as const\n })()\n\n function getProps(props: any) {\n const out = getSplitStyles(\n props,\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 // noMergeStyle: true,\n resolveValues: 'auto',\n }\n )\n\n // we can definitely get rid of this here\n if (out.viewProps.style) {\n fixStyles(out.viewProps.style)\n styleToCSS(out.viewProps.style)\n }\n\n return out.viewProps\n }\n\n const props = getProps({ ...propsRest, style: nonAnimatedStyles })\n const Element = tag || 'div'\n const transformedProps = hooks.usePropsTransform?.(tag, props, stateRef, false)\n\n useEffect(() => {\n if (!animatedStyle) return\n\n return animatedStyle.motionValue.on('change', (value) => {\n const nextStyle = animatedStyle.getStyle(value)\n const animationConfig = MotionValueStrategy.get(animatedStyle.motionValue)\n const node = hostRef.current\n\n const webStyle = getProps({ style: nextStyle }).style\n\n if (webStyle && node instanceof HTMLElement) {\n const motionAnimationConfig =\n animationConfig?.type === 'timing'\n ? {\n type: 'tween',\n duration: (animationConfig?.duration || 0) / 1000,\n }\n : animationConfig?.type === 'direct'\n ? { type: 'tween', duration: 0 }\n : {\n type: 'spring',\n ...(animationConfig as any),\n }\n\n animate(node, webStyle as any, motionAnimationConfig)\n }\n })\n }, [animatedStyle])\n\n return <Element {...transformedProps} ref={composedRefs} />\n })\n\n Component['acceptTagProp'] = true\n\n return Component\n}\n"
11
11
  ],
12
12
  "version": 3
13
13
  }