@tamagui/animations-moti 1.115.5 → 1.116.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.
@@ -34,46 +34,82 @@ __export(createAnimations_exports, {
34
34
  createAnimations: () => createAnimations
35
35
  });
36
36
  module.exports = __toCommonJS(createAnimations_exports);
37
- var import_react = __toESM(require("react")),
38
- import_use_presence = require("@tamagui/use-presence"),
37
+ var import_use_presence = require("@tamagui/use-presence"),
38
+ import_web = require("@tamagui/web"),
39
39
  import_author = require("moti/author"),
40
- import_react_native_reanimated = __toESM(require("react-native-reanimated"));
41
- const onlyAnimateKeys = {
42
- transform: !0,
43
- opacity: !0,
44
- height: !0,
45
- width: !0,
46
- backgroundColor: !0,
47
- borderColor: !0,
48
- borderLeftColor: !0,
49
- borderRightColor: !0,
50
- borderTopColor: !0,
51
- borderBottomColor: !0,
52
- borderRadius: !0,
53
- borderTopLeftRadius: !0,
54
- borderTopRightRadius: !0,
55
- borderBottomLeftRadius: !0,
56
- borderBottomRightRadius: !0,
57
- borderLeftWidth: !0,
58
- borderRightWidth: !0,
59
- borderTopWidth: !0,
60
- borderBottomWidth: !0,
61
- color: !0,
62
- left: !0,
63
- right: !0,
64
- top: !0,
65
- bottom: !0,
66
- fontSize: !0,
67
- fontWeight: !0,
68
- lineHeight: !0,
69
- letterSpacing: !0
70
- };
40
+ import_react = __toESM(require("react")),
41
+ import_react_native_reanimated = __toESM(require("react-native-reanimated")),
42
+ import_jsx_runtime = require("react/jsx-runtime");
43
+ function createTamaguiAnimatedComponent(defaultTag = "div") {
44
+ const Component = import_react_native_reanimated.default.createAnimatedComponent((0, import_react.forwardRef)((propsIn, ref) => {
45
+ const {
46
+ forwardedRef,
47
+ style,
48
+ disableClassName,
49
+ animation,
50
+ tag = defaultTag,
51
+ ...props
52
+ } = propsIn,
53
+ hostRef = (0, import_react.useRef)(),
54
+ composedRefs = (0, import_web.useComposedRefs)(forwardedRef, ref, hostRef),
55
+ stateRef = (0, import_react.useRef)();
56
+ stateRef.current || (stateRef.current = {
57
+ get host() {
58
+ return hostRef.current;
59
+ }
60
+ });
61
+ const styleFlat = [].concat(style).flat(100).reduce((acc, cur) => (cur && Object.assign(acc, cur), acc), {}),
62
+ styleOut = (0, import_web.getStylesAtomic)(styleFlat).reduce((acc, [key, value]) => (acc[key] = value, acc), {}),
63
+ Element = tag,
64
+ finalProps = {
65
+ ...import_web.hooks.usePropsTransform?.(tag, props, stateRef, !1),
66
+ style: styleOut,
67
+ ref: composedRefs
68
+ };
69
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Element, {
70
+ ...finalProps
71
+ });
72
+ }));
73
+ return Component.acceptTagProp = !0, Component;
74
+ }
75
+ const AnimatedView = createTamaguiAnimatedComponent("div"),
76
+ AnimatedText = createTamaguiAnimatedComponent("span"),
77
+ onlyAnimateKeys = {
78
+ transform: !0,
79
+ opacity: !0,
80
+ height: !0,
81
+ width: !0,
82
+ backgroundColor: !0,
83
+ borderColor: !0,
84
+ borderLeftColor: !0,
85
+ borderRightColor: !0,
86
+ borderTopColor: !0,
87
+ borderBottomColor: !0,
88
+ borderRadius: !0,
89
+ borderTopLeftRadius: !0,
90
+ borderTopRightRadius: !0,
91
+ borderBottomLeftRadius: !0,
92
+ borderBottomRightRadius: !0,
93
+ borderLeftWidth: !0,
94
+ borderRightWidth: !0,
95
+ borderTopWidth: !0,
96
+ borderBottomWidth: !0,
97
+ color: !0,
98
+ left: !0,
99
+ right: !0,
100
+ top: !0,
101
+ bottom: !0,
102
+ fontSize: !0,
103
+ fontWeight: !0,
104
+ lineHeight: !0,
105
+ letterSpacing: !0
106
+ };
71
107
  function createAnimations(animations) {
72
108
  return {
73
- // View: isWeb ? AnimatedView : Animated.View,
74
- // Text: isWeb ? AnimatedText : Animated.Text,
75
- View: import_react_native_reanimated.default.View,
76
- Text: import_react_native_reanimated.default.Text,
109
+ View: import_web.isWeb ? AnimatedView : import_react_native_reanimated.default.View,
110
+ Text: import_web.isWeb ? AnimatedText : import_react_native_reanimated.default.Text,
111
+ // View: Animated.View,
112
+ // Text: Animated.Text,
77
113
  isReactNative: !0,
78
114
  animations,
79
115
  usePresence: import_use_presence.usePresence,
@@ -151,8 +187,7 @@ function createAnimations(animations) {
151
187
  }
152
188
  }
153
189
  componentState.unmounted === "should-enter" && (dontAnimate = style);
154
- const animateStr = JSON.stringify(animate),
155
- styles = import_react.default.useMemo(() => JSON.parse(animateStr), [animateStr]),
190
+ const styles = animate,
156
191
  isExiting = !!presence?.[1],
157
192
  presenceContext = import_react.default.useContext(import_use_presence.PresenceContext),
158
193
  usePresenceValue = presence || void 0;
@@ -179,6 +214,7 @@ function createAnimations(animations) {
179
214
  },
180
215
  moti = (0, import_author.useMotify)(motiProps);
181
216
  return process.env.NODE_ENV === "development" && props.debug && console.info("useMotify(", JSON.stringify(motiProps, null, 2) + ")", {
217
+ "componentState.unmounted": componentState.unmounted,
182
218
  animationProps,
183
219
  motiProps,
184
220
  moti,
@@ -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": ["Animated", "React"]
6
6
  }
@@ -26,7 +26,32 @@ __export(createAnimations_exports, {
26
26
  createAnimations: () => createAnimations
27
27
  });
28
28
  module.exports = __toCommonJS(createAnimations_exports);
29
- var import_react = __toESM(require("react")), import_use_presence = require("@tamagui/use-presence"), import_author = require("moti/author"), import_react_native_reanimated = __toESM(require("react-native-reanimated")), onlyAnimateKeys = {
29
+ var import_jsx_runtime = require("react/jsx-runtime"), import_use_presence = require("@tamagui/use-presence"), import_web = require("@tamagui/web"), import_author = require("moti/author"), import_react = __toESM(require("react")), import_react_native_reanimated = __toESM(require("react-native-reanimated"));
30
+ function createTamaguiAnimatedComponent() {
31
+ var defaultTag = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "div", Component = import_react_native_reanimated.default.createAnimatedComponent(/* @__PURE__ */ (0, import_react.forwardRef)(function(propsIn, ref) {
32
+ var _hooks_usePropsTransform, { forwardedRef, style, disableClassName, animation, tag = defaultTag, ...props } = propsIn, hostRef = (0, import_react.useRef)(), composedRefs = (0, import_web.useComposedRefs)(forwardedRef, ref, hostRef), stateRef = (0, import_react.useRef)();
33
+ stateRef.current || (stateRef.current = {
34
+ get host() {
35
+ return hostRef.current;
36
+ }
37
+ });
38
+ var styleFlat = [].concat(style).flat(100).reduce(function(acc, cur) {
39
+ return cur && Object.assign(acc, cur), acc;
40
+ }, {}), styleOut = (0, import_web.getStylesAtomic)(styleFlat).reduce(function(acc, param) {
41
+ var [key, value] = param;
42
+ return acc[key] = value, acc;
43
+ }, {}), Element = tag, transformedProps = (_hooks_usePropsTransform = import_web.hooks.usePropsTransform) === null || _hooks_usePropsTransform === void 0 ? void 0 : _hooks_usePropsTransform.call(import_web.hooks, tag, props, stateRef, !1), finalProps = {
44
+ ...transformedProps,
45
+ style: styleOut,
46
+ ref: composedRefs
47
+ };
48
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Element, {
49
+ ...finalProps
50
+ });
51
+ }));
52
+ return Component.acceptTagProp = !0, Component;
53
+ }
54
+ var AnimatedView = createTamaguiAnimatedComponent("div"), AnimatedText = createTamaguiAnimatedComponent("span"), onlyAnimateKeys = {
30
55
  transform: !0,
31
56
  opacity: !0,
32
57
  height: !0,
@@ -58,10 +83,10 @@ var import_react = __toESM(require("react")), import_use_presence = require("@ta
58
83
  };
59
84
  function createAnimations(animations) {
60
85
  return {
61
- // View: isWeb ? AnimatedView : Animated.View,
62
- // Text: isWeb ? AnimatedText : Animated.Text,
63
- View: import_react_native_reanimated.default.View,
64
- Text: import_react_native_reanimated.default.Text,
86
+ View: import_web.isWeb ? AnimatedView : import_react_native_reanimated.default.View,
87
+ Text: import_web.isWeb ? AnimatedText : import_react_native_reanimated.default.Text,
88
+ // View: Animated.View,
89
+ // Text: Animated.Text,
65
90
  isReactNative: !0,
66
91
  animations,
67
92
  usePresence: import_use_presence.usePresence,
@@ -155,11 +180,14 @@ function createAnimations(animations) {
155
180
  }
156
181
  }
157
182
  componentState.unmounted === "should-enter" && (dontAnimate = style);
158
- var animateStr = JSON.stringify(animate), styles = import_react.default.useMemo(function() {
159
- return JSON.parse(animateStr);
160
- }, [
161
- animateStr
162
- ]), isExiting = !!(presence != null && presence[1]), presenceContext = import_react.default.useContext(import_use_presence.PresenceContext), usePresenceValue = presence || void 0, transition = isHydrating ? {
183
+ var styles = function() {
184
+ var animateStr = JSON.stringify(animate);
185
+ return import_react.default.useMemo(function() {
186
+ return JSON.parse(animateStr);
187
+ }, [
188
+ animateStr
189
+ ]);
190
+ }(), isExiting = !!(presence != null && presence[1]), presenceContext = import_react.default.useContext(import_use_presence.PresenceContext), usePresenceValue = presence || void 0, transition = isHydrating ? {
163
191
  type: "transition",
164
192
  duration: 0
165
193
  } : animations[animationKey], hasClonedTransition = !1;
@@ -181,6 +209,7 @@ function createAnimations(animations) {
181
209
  exit: isExiting ? styles : void 0
182
210
  }, moti = (0, import_author.useMotify)(motiProps);
183
211
  return process.env.NODE_ENV === "development" && props.debug && console.info("useMotify(", JSON.stringify(motiProps, null, 2) + ")", {
212
+ "componentState.unmounted": componentState.unmounted,
184
213
  animationProps,
185
214
  motiProps,
186
215
  moti,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Users/n8/tamagui/code/core/animations-moti/src/createAnimations.tsx"],
4
- "mappings": "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",
5
- "names": ["onlyAnimateKeys", "transform", "opacity", "height", "width", "backgroundColor", "borderColor", "borderLeftColor", "borderRightColor", "borderTopColor", "borderBottomColor", "borderRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderBottomLeftRadius", "borderBottomRightRadius", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth", "color", "left", "right", "top", "bottom", "fontSize", "fontWeight", "lineHeight", "letterSpacing", "createAnimations", "animations", "View", "Animated", "Text", "isReactNative", "usePresence", "ResetPresence", "useAnimatedNumber", "initial", "sharedValue", "useSharedValue", "React", "useMemo", "getInstance", "getValue", "value", "setValue", "next", "config", "type", "onFinish", "withSpring", "runOnJS", "undefined", "withTiming", "stop", "cancelAnimation", "useAnimatedNumberReaction", "onValue", "instance", "useAnimatedReaction", "prev", "useAnimatedNumberStyle", "val", "getStyle", "derivedValue", "useDerivedValue", "useAnimatedStyle", "useAnimations", "animationProps", "props", "presence", "style", "componentState", "animationKey", "Array", "isArray", "animation", "isHydrating", "unmounted", "disableAnimation", "animate", "dontAnimate", "animateOnly", "key", "startsWith", "includes", "animateStr", "JSON", "stringify", "styles", "parse", "isExiting", "Boolean", "presenceContext", "useContext", "PresenceContext", "usePresenceValue", "transition", "duration", "hasClonedTransition", "Object", "assign", "motiProps", "exit", "moti", "useMotify", "process", "env", "NODE_ENV", "console", "info"]
4
+ "mappings": "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",
5
+ "names": ["createTamaguiAnimatedComponent", "defaultTag", "Component", "Animated", "createAnimatedComponent", "forwardRef", "propsIn", "ref", "hooks", "forwardedRef", "style", "disableClassName", "animation", "tag", "props", "hostRef", "useRef", "composedRefs", "useComposedRefs", "stateRef", "current", "host", "styleFlat", "concat", "flat", "reduce", "acc", "cur", "Object", "assign", "styleOut", "getStylesAtomic", "key", "value", "Element", "transformedProps", "usePropsTransform", "finalProps", "_jsx", "AnimatedView", "AnimatedText", "onlyAnimateKeys", "transform", "opacity", "height", "width", "backgroundColor", "borderColor", "borderLeftColor", "borderRightColor", "borderTopColor", "borderBottomColor", "borderRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderBottomLeftRadius", "borderBottomRightRadius", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth", "color", "left", "right", "top", "bottom", "fontSize", "fontWeight", "lineHeight", "letterSpacing", "createAnimations", "animations", "View", "isWeb", "Text", "isReactNative", "usePresence", "ResetPresence", "useAnimatedNumber", "initial", "sharedValue", "useSharedValue", "React", "useMemo", "getInstance", "getValue", "setValue", "next", "config", "type", "onFinish", "withSpring", "runOnJS", "undefined", "withTiming", "stop", "cancelAnimation", "useAnimatedNumberReaction", "onValue", "instance", "useAnimatedReaction", "prev", "useAnimatedNumberStyle", "val", "getStyle", "derivedValue", "useDerivedValue", "useAnimatedStyle", "useAnimations", "animationProps", "presence", "componentState", "animationKey", "Array", "isArray", "isHydrating", "unmounted", "disableAnimation", "animate", "dontAnimate", "animateOnly", "startsWith", "includes", "styles", "animateStr", "JSON", "stringify", "parse", "isExiting", "Boolean", "presenceContext", "useContext", "PresenceContext", "usePresenceValue", "transition", "duration", "hasClonedTransition", "motiProps", "exit", "moti", "useMotify", "process", "env", "NODE_ENV", "console", "info"]
6
6
  }
@@ -1,6 +1,12 @@
1
- import React from "react";
2
1
  import { PresenceContext, ResetPresence, usePresence } from "@tamagui/use-presence";
2
+ import {
3
+ getStylesAtomic,
4
+ hooks,
5
+ isWeb,
6
+ useComposedRefs
7
+ } from "@tamagui/web";
3
8
  import { useMotify } from "moti/author";
9
+ import React, { forwardRef, useRef } from "react";
4
10
  import Animated, {
5
11
  cancelAnimation,
6
12
  runOnJS,
@@ -11,7 +17,34 @@ import Animated, {
11
17
  withSpring,
12
18
  withTiming
13
19
  } from "react-native-reanimated";
14
- const onlyAnimateKeys = {
20
+ import { jsx } from "react/jsx-runtime";
21
+ function createTamaguiAnimatedComponent(defaultTag = "div") {
22
+ const Component = Animated.createAnimatedComponent(
23
+ forwardRef((propsIn, ref) => {
24
+ const {
25
+ forwardedRef,
26
+ style,
27
+ disableClassName,
28
+ animation,
29
+ tag = defaultTag,
30
+ ...props
31
+ } = propsIn, hostRef = useRef(), composedRefs = useComposedRefs(forwardedRef, ref, hostRef), stateRef = useRef();
32
+ stateRef.current || (stateRef.current = {
33
+ get host() {
34
+ return hostRef.current;
35
+ }
36
+ });
37
+ const styleFlat = [].concat(style).flat(100).reduce((acc, cur) => (cur && Object.assign(acc, cur), acc), {}), styleOut = getStylesAtomic(styleFlat).reduce((acc, [key, value]) => (acc[key] = value, acc), {}), Element = tag, finalProps = {
38
+ ...hooks.usePropsTransform?.(tag, props, stateRef, !1),
39
+ style: styleOut,
40
+ ref: composedRefs
41
+ };
42
+ return /* @__PURE__ */ jsx(Element, { ...finalProps });
43
+ })
44
+ );
45
+ return Component.acceptTagProp = !0, Component;
46
+ }
47
+ const AnimatedView = createTamaguiAnimatedComponent("div"), AnimatedText = createTamaguiAnimatedComponent("span"), onlyAnimateKeys = {
15
48
  transform: !0,
16
49
  opacity: !0,
17
50
  height: !0,
@@ -43,10 +76,10 @@ const onlyAnimateKeys = {
43
76
  };
44
77
  function createAnimations(animations) {
45
78
  return {
46
- // View: isWeb ? AnimatedView : Animated.View,
47
- // Text: isWeb ? AnimatedText : Animated.Text,
48
- View: Animated.View,
49
- Text: Animated.Text,
79
+ View: isWeb ? AnimatedView : Animated.View,
80
+ Text: isWeb ? AnimatedText : Animated.Text,
81
+ // View: Animated.View,
82
+ // Text: Animated.Text,
50
83
  isReactNative: !0,
51
84
  animations,
52
85
  usePresence,
@@ -120,7 +153,7 @@ function createAnimations(animations) {
120
153
  }
121
154
  }
122
155
  componentState.unmounted === "should-enter" && (dontAnimate = style);
123
- const animateStr = JSON.stringify(animate), styles = React.useMemo(() => JSON.parse(animateStr), [animateStr]), isExiting = !!presence?.[1], presenceContext = React.useContext(PresenceContext), usePresenceValue = presence || void 0;
156
+ const styles = animate, isExiting = !!presence?.[1], presenceContext = React.useContext(PresenceContext), usePresenceValue = presence || void 0;
124
157
  let transition = isHydrating ? { type: "transition", duration: 0 } : animations[animationKey], hasClonedTransition = !1;
125
158
  if (Array.isArray(props.animation)) {
126
159
  const config = props.animation[1];
@@ -138,6 +171,7 @@ function createAnimations(animations) {
138
171
  exit: isExiting ? styles : void 0
139
172
  }, moti = useMotify(motiProps);
140
173
  return process.env.NODE_ENV === "development" && props.debug && console.info("useMotify(", JSON.stringify(motiProps, null, 2) + ")", {
174
+ "componentState.unmounted": componentState.unmounted,
141
175
  animationProps,
142
176
  motiProps,
143
177
  moti,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createAnimations.tsx"],
4
- "mappings": "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",
4
+ "mappings": "AAAA,SAAS,iBAAiB,eAAe,mBAAmB;AAC5D;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAGK;AAEP,SAAS,iBAAiB;AAE1B,OAAO,SAAS,YAAY,cAAc;AAG1C,OAAO;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAoDM;AA7Cb,SAAS,+BAA+B,aAAa,OAAO;AAC1D,QAAM,YAAY,SAAS;AAAA,IACzB,WAAW,CAAC,SAAc,QAAQ;AAChC,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,MAAM;AAAA,QACN,GAAG;AAAA,MACL,IAAI,SACE,UAAU,OAAO,GACjB,eAAe,gBAAgB,cAAc,KAAK,OAAO,GACzD,WAAW,OAAY;AAC7B,MAAK,SAAS,YACZ,SAAS,UAAU;AAAA,QACjB,IAAI,OAAO;AACT,iBAAO,QAAQ;AAAA,QACjB;AAAA,MACF;AAGF,YAAM,YAAY,CAAC,EAChB,OAAO,KAAK,EACZ,KAAK,GAAG,EACR,OAAO,CAAC,KAAK,SACR,OACF,OAAO,OAAO,KAAK,GAAG,GAEjB,MACN,CAAC,CAAC,GAED,WAAW,gBAAgB,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,OAClE,IAAI,GAAG,IAAI,OACJ,MACN,CAAC,CAAC,GAEC,UAAU,KAEV,aAAa;AAAA,QACjB,GAFuB,MAAM,oBAAoB,KAAK,OAAO,UAAU,EAAK;AAAA,QAG5E,OAAO;AAAA,QACP,KAAK;AAAA,MACP;AAEA,aAAO,oBAAC,WAAS,GAAG,YAAY;AAAA,IAClC,CAAC;AAAA,EACH;AACA,mBAAU,gBAAmB,IACtB;AACT;AAEA,MAAM,eAAe,+BAA+B,KAAK,GACnD,eAAe,+BAA+B,MAAM,GAUpD,kBAAgF;AAAA,EACpF,WAAW;AAAA,EACX,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,cAAc;AAAA,EACd,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,yBAAyB;AAAA,EACzB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AAAA,EACP,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,eAAe;AACjB;AAEO,SAAS,iBACd,YACoB;AACpB,SAAO;AAAA,IACL,MAAM,QAAQ,eAAe,SAAS;AAAA,IACtC,MAAM,QAAQ,eAAe,SAAS;AAAA;AAAA;AAAA,IAGtC,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IAEA,kBAAkB,SAA4D;AAC5E,YAAM,cAAc,eAAe,OAAO;AAE1C,aAAO,MAAM;AAAA,QACX,OAAO;AAAA,UACL,cAAc;AACZ;AACA,mBAAO;AAAA,UACT;AAAA,UACA,WAAW;AACT;AACA,mBAAO,YAAY;AAAA,UACrB;AAAA,UACA,SAAS,MAAM,SAAS,EAAE,MAAM,SAAS,GAAG,UAAU;AACpD;AACA,YAAI,OAAO,SAAS,YAClB,YAAY,QAAQ,MACpB,WAAW,KACF,OAAO,SAAS,WACzB,YAAY,QAAQ;AAAA,cAClB;AAAA,cACA;AAAA,cACA,WACI,MAAM;AACJ;AACA,wBAAQ,QAAQ,EAAE;AAAA,cACpB,IACA;AAAA,YACN,IAEA,YAAY,QAAQ;AAAA,cAClB;AAAA,cACA;AAAA,cACA,WACI,MAAM;AACJ;AACA,wBAAQ,QAAQ,EAAE;AAAA,cACpB,IACA;AAAA,YACN;AAAA,UAEJ;AAAA,UACA,OAAO;AACL;AACA,4BAAgB,WAAW;AAAA,UAC7B;AAAA,QACF;AAAA,QACA,CAAC,WAAW;AAAA,MACd;AAAA,IACF;AAAA,IAEA,0BAA0B,EAAE,MAAM,GAAG,SAAS;AAC5C,YAAM,WAAW,MAAM,YAAY;AACnC,aAAO;AAAA,QACL,MACS,SAAS;AAAA,QAElB,CAAC,MAAM,SAAS;AACd,UAAI,SAAS,QAGX,QAAQ,OAAO,EAAE,IAAI;AAAA,QAEzB;AAAA;AAAA,QAEA,CAAC,SAAS,QAAQ;AAAA,MACpB;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,uBAAuB,KAAK,UAAU;AACpC,YAAM,WAAW,IAAI,YAAY,GAG3B,eAAe,gBAAgB,MAC5B,SAAS,OAEf,CAAC,UAAU,QAAQ,CAAC;AAEvB,aAAO,iBAAiB,MACf,SAAS,aAAa,KAAK,GAEjC,CAAC,KAAK,UAAU,cAAc,QAAQ,CAAC;AAAA,IAC5C;AAAA,IAEA,eAAe,CAAC,mBAAmB;AACjC,YAAM,EAAE,OAAO,UAAU,OAAO,eAAe,IAAI,gBAC7C,eAAe,MAAM,QAAQ,MAAM,SAAS,IAC9C,MAAM,UAAU,CAAC,IACjB,MAAM,WAEJ,cAAc,eAAe,cAAc,IAC3C,mBAAmB,eAAe,CAAC;AAEzC,UAAI,UAAU,CAAC,GACX,cAAc,CAAC;AAEnB,UAAI;AACF,sBAAc;AAAA,WACT;AACL,cAAM,cAAc,MAAM;AAC1B,mBAAW,OAAO,OAAO;AACvB,gBAAM,QAAQ,MAAM,GAAG;AACvB,UACE,CAAC,gBAAgB,GAAG,KACpB,UAAU,UACT,OAAO,SAAU,YAAY,MAAM,WAAW,MAAM,KACpD,eAAe,CAAC,YAAY,SAAS,GAAG,IAEzC,YAAY,GAAG,IAAI,QAEnB,QAAQ,GAAG,IAAI;AAAA,QAEnB;AAAA,MACF;AAGA,MAAI,eAAe,cAAc,mBAC/B,cAAc;AAKhB,YAAM,SAKK,SAIL,YAAY,EAAQ,WAAW,CAAC,GAChC,kBAAkB,MAAM,WAAW,eAAe,GAClD,mBAAoB,YAAY;AAKtC,UAAI,aAAa,cACb,EAAE,MAAM,cAAc,UAAU,EAAE,IACjC,WAAW,YAAuC,GAEnD,sBAAsB;AAE1B,UAAI,MAAM,QAAQ,MAAM,SAAS,GAAG;AAClC,cAAM,SAAS,MAAM,UAAU,CAAC;AAChC,YAAI,UAAU,OAAO,UAAW;AAC9B,qBAAW,OAAO,QAAQ;AACxB,kBAAM,MAAM,OAAO,GAAG;AAItB,YAAK,wBACH,aAAa,OAAO,OAAO,CAAC,GAAG,UAAU,GACzC,sBAAsB,KAIpB,OAAO,OAAQ,WACjB,WAAW,GAAG,IAAI,WAAW,GAAG,IAEhC,WAAW,GAAG,IAAI;AAAA,UAEtB;AAAA,MAEJ;AAEA,YAAM,YAAY;AAAA,QAChB,SAAS,aAAa,eAAe,cAAc,KAAO,CAAC,IAAI;AAAA,QAC/D,YAAY,eAAe,YAAY,EAAE,UAAU,EAAE,IAAI;AAAA,QACzD;AAAA,QACA;AAAA,QACA,MAAM,YAAY,SAAS;AAAA,MAC7B,GAEM,OAAO,UAAU,SAAS;AAEhC,aAAI,QAAQ,IAAI,aAAa,iBAAiB,MAAM,SAClD,QAAQ,KAAK,cAAc,KAAK,UAAU,WAAW,MAAM,CAAC,IAAI,KAAK;AAAA,QACnE,4BAA4B,eAAe;AAAA,QAC3C;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,CAAC,aAAa,KAAK,KAAK;AAAA,MACjC,CAAC,GAGI;AAAA,QACL,OAAO,CAAC,aAAa,KAAK,KAAK;AAAA,MACjC;AAAA,IACF;AAAA,EACF;AACF;",
5
5
  "names": []
6
6
  }
@@ -1,43 +1,79 @@
1
- import React from "react";
2
1
  import { PresenceContext, ResetPresence, usePresence } from "@tamagui/use-presence";
2
+ import { getStylesAtomic, hooks, isWeb, useComposedRefs } from "@tamagui/web";
3
3
  import { useMotify } from "moti/author";
4
+ import React, { forwardRef, useRef } from "react";
4
5
  import Animated, { cancelAnimation, runOnJS, useAnimatedReaction, useAnimatedStyle, useDerivedValue, useSharedValue, withSpring, withTiming } from "react-native-reanimated";
5
- const onlyAnimateKeys = {
6
- transform: !0,
7
- opacity: !0,
8
- height: !0,
9
- width: !0,
10
- backgroundColor: !0,
11
- borderColor: !0,
12
- borderLeftColor: !0,
13
- borderRightColor: !0,
14
- borderTopColor: !0,
15
- borderBottomColor: !0,
16
- borderRadius: !0,
17
- borderTopLeftRadius: !0,
18
- borderTopRightRadius: !0,
19
- borderBottomLeftRadius: !0,
20
- borderBottomRightRadius: !0,
21
- borderLeftWidth: !0,
22
- borderRightWidth: !0,
23
- borderTopWidth: !0,
24
- borderBottomWidth: !0,
25
- color: !0,
26
- left: !0,
27
- right: !0,
28
- top: !0,
29
- bottom: !0,
30
- fontSize: !0,
31
- fontWeight: !0,
32
- lineHeight: !0,
33
- letterSpacing: !0
34
- };
6
+ import { jsx } from "react/jsx-runtime";
7
+ function createTamaguiAnimatedComponent(defaultTag = "div") {
8
+ const Component = Animated.createAnimatedComponent(forwardRef((propsIn, ref) => {
9
+ const {
10
+ forwardedRef,
11
+ style,
12
+ disableClassName,
13
+ animation,
14
+ tag = defaultTag,
15
+ ...props
16
+ } = propsIn,
17
+ hostRef = useRef(),
18
+ composedRefs = useComposedRefs(forwardedRef, ref, hostRef),
19
+ stateRef = useRef();
20
+ stateRef.current || (stateRef.current = {
21
+ get host() {
22
+ return hostRef.current;
23
+ }
24
+ });
25
+ const styleFlat = [].concat(style).flat(100).reduce((acc, cur) => (cur && Object.assign(acc, cur), acc), {}),
26
+ styleOut = getStylesAtomic(styleFlat).reduce((acc, [key, value]) => (acc[key] = value, acc), {}),
27
+ Element = tag,
28
+ finalProps = {
29
+ ...hooks.usePropsTransform?.(tag, props, stateRef, !1),
30
+ style: styleOut,
31
+ ref: composedRefs
32
+ };
33
+ return /* @__PURE__ */jsx(Element, {
34
+ ...finalProps
35
+ });
36
+ }));
37
+ return Component.acceptTagProp = !0, Component;
38
+ }
39
+ const AnimatedView = createTamaguiAnimatedComponent("div"),
40
+ AnimatedText = createTamaguiAnimatedComponent("span"),
41
+ onlyAnimateKeys = {
42
+ transform: !0,
43
+ opacity: !0,
44
+ height: !0,
45
+ width: !0,
46
+ backgroundColor: !0,
47
+ borderColor: !0,
48
+ borderLeftColor: !0,
49
+ borderRightColor: !0,
50
+ borderTopColor: !0,
51
+ borderBottomColor: !0,
52
+ borderRadius: !0,
53
+ borderTopLeftRadius: !0,
54
+ borderTopRightRadius: !0,
55
+ borderBottomLeftRadius: !0,
56
+ borderBottomRightRadius: !0,
57
+ borderLeftWidth: !0,
58
+ borderRightWidth: !0,
59
+ borderTopWidth: !0,
60
+ borderBottomWidth: !0,
61
+ color: !0,
62
+ left: !0,
63
+ right: !0,
64
+ top: !0,
65
+ bottom: !0,
66
+ fontSize: !0,
67
+ fontWeight: !0,
68
+ lineHeight: !0,
69
+ letterSpacing: !0
70
+ };
35
71
  function createAnimations(animations) {
36
72
  return {
37
- // View: isWeb ? AnimatedView : Animated.View,
38
- // Text: isWeb ? AnimatedText : Animated.Text,
39
- View: Animated.View,
40
- Text: Animated.Text,
73
+ View: isWeb ? AnimatedView : Animated.View,
74
+ Text: isWeb ? AnimatedText : Animated.Text,
75
+ // View: Animated.View,
76
+ // Text: Animated.Text,
41
77
  isReactNative: !0,
42
78
  animations,
43
79
  usePresence,
@@ -115,8 +151,7 @@ function createAnimations(animations) {
115
151
  }
116
152
  }
117
153
  componentState.unmounted === "should-enter" && (dontAnimate = style);
118
- const animateStr = JSON.stringify(animate),
119
- styles = React.useMemo(() => JSON.parse(animateStr), [animateStr]),
154
+ const styles = animate,
120
155
  isExiting = !!presence?.[1],
121
156
  presenceContext = React.useContext(PresenceContext),
122
157
  usePresenceValue = presence || void 0;
@@ -143,6 +178,7 @@ function createAnimations(animations) {
143
178
  },
144
179
  moti = useMotify(motiProps);
145
180
  return process.env.NODE_ENV === "development" && props.debug && console.info("useMotify(", JSON.stringify(motiProps, null, 2) + ")", {
181
+ "componentState.unmounted": componentState.unmounted,
146
182
  animationProps,
147
183
  motiProps,
148
184
  moti,
@@ -1 +1 @@
1
- {"version":3,"names":["React","PresenceContext","ResetPresence","usePresence","useMotify","Animated","cancelAnimation","runOnJS","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","withSpring","withTiming","onlyAnimateKeys","transform","opacity","height","width","backgroundColor","borderColor","borderLeftColor","borderRightColor","borderTopColor","borderBottomColor","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","color","left","right","top","bottom","fontSize","fontWeight","lineHeight","letterSpacing","createAnimations","animations","View","Text","isReactNative","useAnimatedNumber","initial","sharedValue","useMemo","getInstance","getValue","value","setValue","next","config","type","onFinish","stop","useAnimatedNumberReaction","onValue","instance","prev","useAnimatedNumberStyle","val","getStyle","derivedValue","useAnimations","animationProps","props","presence","style","componentState","animationKey","Array","isArray","animation","isHydrating","unmounted","disableAnimation","animate","dontAnimate","animateOnly","key","startsWith","includes","animateStr","JSON","stringify","styles","parse","isExiting","presenceContext","useContext","usePresenceValue","transition","duration","hasClonedTransition","Object","assign","motiProps","exit","moti","process","env","NODE_ENV","debug","console","info"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PresenceContext","ResetPresence","usePresence","getStylesAtomic","hooks","isWeb","useComposedRefs","useMotify","React","forwardRef","useRef","Animated","cancelAnimation","runOnJS","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","withSpring","withTiming","jsx","createTamaguiAnimatedComponent","defaultTag","Component","createAnimatedComponent","propsIn","ref","forwardedRef","style","disableClassName","animation","tag","props","hostRef","composedRefs","stateRef","current","host","styleFlat","concat","flat","reduce","acc","cur","Object","assign","styleOut","key","value","Element","finalProps","usePropsTransform","acceptTagProp","AnimatedView","AnimatedText","onlyAnimateKeys","transform","opacity","height","width","backgroundColor","borderColor","borderLeftColor","borderRightColor","borderTopColor","borderBottomColor","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","color","left","right","top","bottom","fontSize","fontWeight","lineHeight","letterSpacing","createAnimations","animations","View","Text","isReactNative","useAnimatedNumber","initial","sharedValue","useMemo","getInstance","getValue","setValue","next","config","type","onFinish","stop","useAnimatedNumberReaction","onValue","instance","prev","useAnimatedNumberStyle","val","getStyle","derivedValue","useAnimations","animationProps","presence","componentState","animationKey","Array","isArray","isHydrating","unmounted","disableAnimation","animate","dontAnimate","animateOnly","startsWith","includes","styles","isExiting","presenceContext","useContext","usePresenceValue","transition","duration","hasClonedTransition","motiProps","exit","moti","process","env","NODE_ENV","debug","console","info","JSON","stringify"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,34 @@
1
- import React from "react";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { PresenceContext, ResetPresence, usePresence } from "@tamagui/use-presence";
3
+ import { getStylesAtomic, hooks, isWeb, useComposedRefs } from "@tamagui/web";
3
4
  import { useMotify } from "moti/author";
5
+ import React, { forwardRef, useRef } from "react";
4
6
  import Animated, { cancelAnimation, runOnJS, useAnimatedReaction, useAnimatedStyle, useDerivedValue, useSharedValue, withSpring, withTiming } from "react-native-reanimated";
5
- var onlyAnimateKeys = {
7
+ function createTamaguiAnimatedComponent() {
8
+ var defaultTag = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "div", Component = Animated.createAnimatedComponent(/* @__PURE__ */ forwardRef(function(propsIn, ref) {
9
+ var _hooks_usePropsTransform, { forwardedRef, style, disableClassName, animation, tag = defaultTag, ...props } = propsIn, hostRef = useRef(), composedRefs = useComposedRefs(forwardedRef, ref, hostRef), stateRef = useRef();
10
+ stateRef.current || (stateRef.current = {
11
+ get host() {
12
+ return hostRef.current;
13
+ }
14
+ });
15
+ var styleFlat = [].concat(style).flat(100).reduce(function(acc, cur) {
16
+ return cur && Object.assign(acc, cur), acc;
17
+ }, {}), styleOut = getStylesAtomic(styleFlat).reduce(function(acc, param) {
18
+ var [key, value] = param;
19
+ return acc[key] = value, acc;
20
+ }, {}), Element = tag, transformedProps = (_hooks_usePropsTransform = hooks.usePropsTransform) === null || _hooks_usePropsTransform === void 0 ? void 0 : _hooks_usePropsTransform.call(hooks, tag, props, stateRef, !1), finalProps = {
21
+ ...transformedProps,
22
+ style: styleOut,
23
+ ref: composedRefs
24
+ };
25
+ return /* @__PURE__ */ _jsx(Element, {
26
+ ...finalProps
27
+ });
28
+ }));
29
+ return Component.acceptTagProp = !0, Component;
30
+ }
31
+ var AnimatedView = createTamaguiAnimatedComponent("div"), AnimatedText = createTamaguiAnimatedComponent("span"), onlyAnimateKeys = {
6
32
  transform: !0,
7
33
  opacity: !0,
8
34
  height: !0,
@@ -34,10 +60,10 @@ var onlyAnimateKeys = {
34
60
  };
35
61
  function createAnimations(animations) {
36
62
  return {
37
- // View: isWeb ? AnimatedView : Animated.View,
38
- // Text: isWeb ? AnimatedText : Animated.Text,
39
- View: Animated.View,
40
- Text: Animated.Text,
63
+ View: isWeb ? AnimatedView : Animated.View,
64
+ Text: isWeb ? AnimatedText : Animated.Text,
65
+ // View: Animated.View,
66
+ // Text: Animated.Text,
41
67
  isReactNative: !0,
42
68
  animations,
43
69
  usePresence,
@@ -131,11 +157,14 @@ function createAnimations(animations) {
131
157
  }
132
158
  }
133
159
  componentState.unmounted === "should-enter" && (dontAnimate = style);
134
- var animateStr = JSON.stringify(animate), styles = React.useMemo(function() {
135
- return JSON.parse(animateStr);
136
- }, [
137
- animateStr
138
- ]), isExiting = !!presence?.[1], presenceContext = React.useContext(PresenceContext), usePresenceValue = presence || void 0, transition = isHydrating ? {
160
+ var styles = function() {
161
+ var animateStr = JSON.stringify(animate);
162
+ return React.useMemo(function() {
163
+ return JSON.parse(animateStr);
164
+ }, [
165
+ animateStr
166
+ ]);
167
+ }(), isExiting = !!presence?.[1], presenceContext = React.useContext(PresenceContext), usePresenceValue = presence || void 0, transition = isHydrating ? {
139
168
  type: "transition",
140
169
  duration: 0
141
170
  } : animations[animationKey], hasClonedTransition = !1;
@@ -157,6 +186,7 @@ function createAnimations(animations) {
157
186
  exit: isExiting ? styles : void 0
158
187
  }, moti = useMotify(motiProps);
159
188
  return process.env.NODE_ENV === "development" && props.debug && console.info("useMotify(", JSON.stringify(motiProps, null, 2) + ")", {
189
+ "componentState.unmounted": componentState.unmounted,
160
190
  animationProps,
161
191
  motiProps,
162
192
  moti,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Users/n8/tamagui/code/core/animations-moti/src/createAnimations.tsx"],
4
- "mappings": "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",
5
- "names": ["React", "PresenceContext", "ResetPresence", "usePresence", "useMotify", "Animated", "cancelAnimation", "runOnJS", "useAnimatedReaction", "useAnimatedStyle", "useDerivedValue", "useSharedValue", "withSpring", "withTiming", "onlyAnimateKeys", "transform", "opacity", "height", "width", "backgroundColor", "borderColor", "borderLeftColor", "borderRightColor", "borderTopColor", "borderBottomColor", "borderRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderBottomLeftRadius", "borderBottomRightRadius", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth", "color", "left", "right", "top", "bottom", "fontSize", "fontWeight", "lineHeight", "letterSpacing", "createAnimations", "animations", "View", "Text", "isReactNative", "useAnimatedNumber", "initial", "sharedValue", "useMemo", "getInstance", "getValue", "value", "setValue", "next", "config", "type", "onFinish", "undefined", "stop", "useAnimatedNumberReaction", "onValue", "instance", "prev", "useAnimatedNumberStyle", "val", "getStyle", "derivedValue", "useAnimations", "animationProps", "props", "presence", "style", "componentState", "animationKey", "Array", "isArray", "animation", "isHydrating", "unmounted", "disableAnimation", "animate", "dontAnimate", "animateOnly", "key", "startsWith", "includes", "animateStr", "JSON", "stringify", "styles", "parse", "isExiting", "Boolean", "presenceContext", "useContext", "usePresenceValue", "transition", "duration", "hasClonedTransition", "Object", "assign", "motiProps", "exit", "moti", "process", "env", "NODE_ENV", "console", "info"]
4
+ "mappings": "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",
5
+ "names": ["PresenceContext", "ResetPresence", "usePresence", "getStylesAtomic", "hooks", "isWeb", "useComposedRefs", "useMotify", "React", "forwardRef", "useRef", "Animated", "cancelAnimation", "runOnJS", "useAnimatedReaction", "useAnimatedStyle", "useDerivedValue", "useSharedValue", "withSpring", "withTiming", "createTamaguiAnimatedComponent", "defaultTag", "Component", "createAnimatedComponent", "propsIn", "ref", "forwardedRef", "style", "disableClassName", "animation", "tag", "props", "hostRef", "composedRefs", "stateRef", "current", "host", "styleFlat", "concat", "flat", "reduce", "acc", "cur", "Object", "assign", "styleOut", "key", "value", "Element", "transformedProps", "usePropsTransform", "finalProps", "AnimatedView", "AnimatedText", "onlyAnimateKeys", "transform", "opacity", "height", "width", "backgroundColor", "borderColor", "borderLeftColor", "borderRightColor", "borderTopColor", "borderBottomColor", "borderRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderBottomLeftRadius", "borderBottomRightRadius", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth", "color", "left", "right", "top", "bottom", "fontSize", "fontWeight", "lineHeight", "letterSpacing", "createAnimations", "animations", "View", "Text", "isReactNative", "useAnimatedNumber", "initial", "sharedValue", "useMemo", "getInstance", "getValue", "setValue", "next", "config", "type", "onFinish", "undefined", "stop", "useAnimatedNumberReaction", "onValue", "instance", "prev", "useAnimatedNumberStyle", "val", "getStyle", "derivedValue", "useAnimations", "animationProps", "presence", "componentState", "animationKey", "Array", "isArray", "isHydrating", "unmounted", "disableAnimation", "animate", "dontAnimate", "animateOnly", "startsWith", "includes", "styles", "animateStr", "JSON", "stringify", "parse", "isExiting", "Boolean", "presenceContext", "useContext", "usePresenceValue", "transition", "duration", "hasClonedTransition", "motiProps", "exit", "moti", "process", "env", "NODE_ENV", "console", "info"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/animations-moti",
3
- "version": "1.115.5",
3
+ "version": "1.116.1",
4
4
  "source": "src/index.ts",
5
5
  "license": "MIT",
6
6
  "types": "./types/index.d.ts",
@@ -15,12 +15,12 @@
15
15
  "dist"
16
16
  ],
17
17
  "dependencies": {
18
- "@tamagui/use-presence": "1.115.5",
19
- "@tamagui/web": "1.115.5",
18
+ "@tamagui/use-presence": "1.116.1",
19
+ "@tamagui/web": "1.116.1",
20
20
  "moti": "^0.29.0"
21
21
  },
22
22
  "devDependencies": {
23
- "@tamagui/build": "1.115.5",
23
+ "@tamagui/build": "1.116.1",
24
24
  "react": "^18.2.0 || ^19.0.0",
25
25
  "react-native-reanimated": "~3.11.0"
26
26
  },
@@ -1,9 +1,16 @@
1
- import React from 'react'
2
1
  import { PresenceContext, ResetPresence, usePresence } from '@tamagui/use-presence'
3
- import type { AnimationDriver, UniversalAnimatedNumber } from '@tamagui/web'
2
+ import {
3
+ getStylesAtomic,
4
+ hooks,
5
+ isWeb,
6
+ useComposedRefs,
7
+ type AnimationDriver,
8
+ type UniversalAnimatedNumber,
9
+ } from '@tamagui/web'
4
10
  import type { TransitionConfig } from 'moti'
5
11
  import { useMotify } from 'moti/author'
6
12
  import type { CSSProperties } from 'react'
13
+ import React, { forwardRef, useRef } from 'react'
7
14
  import type { TextStyle } from 'react-native'
8
15
  import type { SharedValue } from 'react-native-reanimated'
9
16
  import Animated, {
@@ -19,31 +26,71 @@ import Animated, {
19
26
 
20
27
  type ReanimatedAnimatedNumber = SharedValue<number>
21
28
 
22
- // function createTamaguiAnimatedComponent(tag = 'div') {
23
- // const Component = Animated.createAnimatedComponent(
24
- // forwardRef(({ forwardedRef, style, ...props }: any, ref) => {
25
- // const composedRefs = useComposedRefs(forwardedRef, ref)
26
- // const Element = props.tag || tag
27
-
28
- // // TODO this block should be exported by web as styleToWebStyle()
29
- // const webStyle = style
30
- // styleToCSS(style)
31
- // if (Array.isArray(webStyle.transform)) {
32
- // style.transform = transformsToString(style.transform)
33
- // }
34
- // for (const key in style) {
35
- // style[key] = normalizeValueWithProperty(style[key], key)
36
- // }
37
-
38
- // return <Element {...props} style={style} ref={composedRefs} />
39
- // })
40
- // )
41
- // Component['acceptTagProp'] = true
42
- // return Component
43
- // }
44
-
45
- // const AnimatedView = createTamaguiAnimatedComponent('div')
46
- // const AnimatedText = createTamaguiAnimatedComponent('span')
29
+ // this is our own custom reanimated animated component so we can allow data- attributes, className etc
30
+ // this should ultimately be merged with react-native-web-lite
31
+
32
+ function createTamaguiAnimatedComponent(defaultTag = 'div') {
33
+ const Component = Animated.createAnimatedComponent(
34
+ forwardRef((propsIn: any, ref) => {
35
+ const {
36
+ forwardedRef,
37
+ style,
38
+ disableClassName,
39
+ animation,
40
+ tag = defaultTag,
41
+ ...props
42
+ } = propsIn
43
+ const hostRef = useRef()
44
+ const composedRefs = useComposedRefs(forwardedRef, ref, hostRef)
45
+ const stateRef = useRef<any>()
46
+ if (!stateRef.current) {
47
+ stateRef.current = {
48
+ get host() {
49
+ return hostRef.current
50
+ },
51
+ }
52
+ }
53
+
54
+ const styleFlat = []
55
+ .concat(style)
56
+ .flat(100)
57
+ .reduce((acc, cur) => {
58
+ if (cur) {
59
+ Object.assign(acc, cur)
60
+ }
61
+ return acc
62
+ }, {})
63
+
64
+ const styleOut = getStylesAtomic(styleFlat).reduce((acc, [key, value]) => {
65
+ acc[key] = value
66
+ return acc
67
+ }, {})
68
+
69
+ const Element = tag
70
+ const transformedProps = hooks.usePropsTransform?.(tag, props, stateRef, false)
71
+ const finalProps = {
72
+ ...transformedProps,
73
+ style: styleOut,
74
+ ref: composedRefs,
75
+ }
76
+
77
+ return <Element {...finalProps} />
78
+ })
79
+ )
80
+ Component['acceptTagProp'] = true
81
+ return Component
82
+ }
83
+
84
+ const AnimatedView = createTamaguiAnimatedComponent('div')
85
+ const AnimatedText = createTamaguiAnimatedComponent('span')
86
+
87
+ // const AnimatedView = styled(View, {
88
+ // disableClassName: true,
89
+ // })
90
+
91
+ // const AnimatedText = styled(Text, {
92
+ // disableClassName: true,
93
+ // })
47
94
 
48
95
  const onlyAnimateKeys: { [key in keyof TextStyle | keyof CSSProperties]?: boolean } = {
49
96
  transform: true,
@@ -80,10 +127,10 @@ export function createAnimations<A extends Record<string, TransitionConfig>>(
80
127
  animations: A
81
128
  ): AnimationDriver<A> {
82
129
  return {
83
- // View: isWeb ? AnimatedView : Animated.View,
84
- // Text: isWeb ? AnimatedText : Animated.Text,
85
- View: Animated.View,
86
- Text: Animated.Text,
130
+ View: isWeb ? AnimatedView : Animated.View,
131
+ Text: isWeb ? AnimatedText : Animated.Text,
132
+ // View: Animated.View,
133
+ // Text: Animated.Text,
87
134
  isReactNative: true,
88
135
  animations,
89
136
  usePresence,
@@ -214,8 +261,14 @@ export function createAnimations<A extends Record<string, TransitionConfig>>(
214
261
 
215
262
  // without this, the driver breaks on native
216
263
  // stringifying -> parsing fixes that
217
- const animateStr = JSON.stringify(animate)
218
- const styles = React.useMemo(() => JSON.parse(animateStr), [animateStr])
264
+ const styles = (() => {
265
+ if (process.env.TAMAGUI_TARGET === 'native') {
266
+ const animateStr = JSON.stringify(animate)
267
+ return React.useMemo(() => JSON.parse(animateStr), [animateStr])
268
+ } else {
269
+ return animate
270
+ }
271
+ })()
219
272
 
220
273
  const isExiting = Boolean(presence?.[1])
221
274
  const presenceContext = React.useContext(PresenceContext)
@@ -265,6 +318,7 @@ export function createAnimations<A extends Record<string, TransitionConfig>>(
265
318
 
266
319
  if (process.env.NODE_ENV === 'development' && props['debug']) {
267
320
  console.info(`useMotify(`, JSON.stringify(motiProps, null, 2) + ')', {
321
+ 'componentState.unmounted': componentState.unmounted,
268
322
  animationProps,
269
323
  motiProps,
270
324
  moti,
@@ -1,4 +1,4 @@
1
- import type { AnimationDriver } from '@tamagui/web';
1
+ import { type AnimationDriver } from '@tamagui/web';
2
2
  import type { TransitionConfig } from 'moti';
3
3
  export declare function createAnimations<A extends Record<string, TransitionConfig>>(animations: A): AnimationDriver<A>;
4
4
  //# sourceMappingURL=createAnimations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createAnimations.d.ts","sourceRoot":"","sources":["../src/createAnimations.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAA2B,MAAM,cAAc,CAAA;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAA;AA2E5C,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACzE,UAAU,EAAE,CAAC,GACZ,eAAe,CAAC,CAAC,CAAC,CAuMpB"}
1
+ {"version":3,"file":"createAnimations.d.ts","sourceRoot":"","sources":["../src/createAnimations.tsx"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,eAAe,EAErB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAA;AAoH5C,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACzE,UAAU,EAAE,CAAC,GACZ,eAAe,CAAC,CAAC,CAAC,CA8MpB"}