@tamagui/web 2.0.0-1768586279389 → 2.0.0-1768696252732

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/dist/cjs/animationDriverTypes.test-d.cjs +49 -0
  2. package/dist/cjs/animationDriverTypes.test-d.js +51 -0
  3. package/dist/cjs/animationDriverTypes.test-d.js.map +6 -0
  4. package/dist/cjs/animationDriverTypes.test-d.native.js +52 -0
  5. package/dist/cjs/animationDriverTypes.test-d.native.js.map +1 -0
  6. package/dist/cjs/config.cjs +14 -0
  7. package/dist/cjs/config.js +14 -0
  8. package/dist/cjs/config.js.map +1 -1
  9. package/dist/cjs/config.native.js +14 -0
  10. package/dist/cjs/config.native.js.map +1 -1
  11. package/dist/cjs/createComponent.cjs +39 -16
  12. package/dist/cjs/createComponent.js +35 -15
  13. package/dist/cjs/createComponent.js.map +1 -1
  14. package/dist/cjs/createComponent.native.js +48 -19
  15. package/dist/cjs/createComponent.native.js.map +1 -1
  16. package/dist/cjs/createTamagui.cjs +3 -2
  17. package/dist/cjs/createTamagui.js +3 -2
  18. package/dist/cjs/createTamagui.js.map +1 -1
  19. package/dist/cjs/createTamagui.native.js +1 -1
  20. package/dist/cjs/createTamagui.native.js.map +1 -1
  21. package/dist/cjs/helpers/getSplitStyles.cjs +8 -2
  22. package/dist/cjs/helpers/getSplitStyles.js +7 -2
  23. package/dist/cjs/helpers/getSplitStyles.js.map +1 -1
  24. package/dist/cjs/helpers/getSplitStyles.native.js +7 -1
  25. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  26. package/dist/cjs/helpers/getThemeCSSRules.cjs +23 -26
  27. package/dist/cjs/helpers/getThemeCSSRules.js +2 -4
  28. package/dist/cjs/helpers/getThemeCSSRules.js.map +1 -1
  29. package/dist/cjs/{createTheme.cjs → helpers/mergeRenderElementProps.cjs} +11 -5
  30. package/dist/cjs/{createTheme.js → helpers/mergeRenderElementProps.js} +10 -6
  31. package/dist/cjs/helpers/mergeRenderElementProps.js.map +6 -0
  32. package/dist/cjs/{createTheme.native.js → helpers/mergeRenderElementProps.native.js} +12 -8
  33. package/dist/cjs/helpers/mergeRenderElementProps.native.js.map +1 -0
  34. package/dist/cjs/helpers/mergeSlotStyleProps.cjs +39 -0
  35. package/dist/cjs/helpers/mergeSlotStyleProps.js +29 -0
  36. package/dist/cjs/helpers/mergeSlotStyleProps.js.map +6 -0
  37. package/dist/cjs/helpers/mergeSlotStyleProps.native.js +42 -0
  38. package/dist/cjs/helpers/mergeSlotStyleProps.native.js.map +1 -0
  39. package/dist/cjs/helpers/skipProps.cjs +1 -1
  40. package/dist/cjs/helpers/skipProps.js +1 -1
  41. package/dist/cjs/helpers/skipProps.js.map +1 -1
  42. package/dist/cjs/helpers/skipProps.native.js +1 -1
  43. package/dist/cjs/helpers/skipProps.native.js.map +1 -1
  44. package/dist/cjs/helpers/useRenderElement.cjs +48 -0
  45. package/dist/cjs/helpers/useRenderElement.js +42 -0
  46. package/dist/cjs/helpers/useRenderElement.js.map +6 -0
  47. package/dist/cjs/helpers/useRenderElement.native.js +52 -0
  48. package/dist/cjs/helpers/useRenderElement.native.js.map +1 -0
  49. package/dist/cjs/hooks/getThemeProxied.js.map +1 -1
  50. package/dist/cjs/hooks/getThemeProxied.native.js +1 -1
  51. package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
  52. package/dist/cjs/index.cjs +1 -0
  53. package/dist/cjs/index.js +1 -0
  54. package/dist/cjs/index.js.map +1 -1
  55. package/dist/cjs/index.native.js +1 -0
  56. package/dist/cjs/index.native.js.map +1 -1
  57. package/dist/cjs/styled.js.map +1 -1
  58. package/dist/cjs/styled.native.js.map +1 -1
  59. package/dist/cjs/views/Configuration.js.map +1 -1
  60. package/dist/cjs/views/Configuration.native.js.map +1 -1
  61. package/dist/cjs/views/Slot.cjs +7 -21
  62. package/dist/cjs/views/Slot.js +9 -13
  63. package/dist/cjs/views/Slot.js.map +1 -1
  64. package/dist/cjs/views/Slot.native.js +5 -21
  65. package/dist/cjs/views/Slot.native.js.map +1 -1
  66. package/dist/cjs/views/TamaguiProvider.cjs +6 -2
  67. package/dist/cjs/views/TamaguiProvider.js +5 -2
  68. package/dist/cjs/views/TamaguiProvider.js.map +1 -1
  69. package/dist/cjs/views/TamaguiProvider.native.js +5 -1
  70. package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
  71. package/dist/cjs/views/Theme.js.map +1 -1
  72. package/dist/cjs/views/Theme.native.js.map +1 -1
  73. package/dist/esm/animationDriverTypes.test-d.js +51 -0
  74. package/dist/esm/animationDriverTypes.test-d.js.map +6 -0
  75. package/dist/esm/animationDriverTypes.test-d.mjs +50 -0
  76. package/dist/esm/animationDriverTypes.test-d.mjs.map +1 -0
  77. package/dist/esm/animationDriverTypes.test-d.native.js +50 -0
  78. package/dist/esm/animationDriverTypes.test-d.native.js.map +1 -0
  79. package/dist/esm/config.js +14 -0
  80. package/dist/esm/config.js.map +1 -1
  81. package/dist/esm/config.mjs +14 -1
  82. package/dist/esm/config.mjs.map +1 -1
  83. package/dist/esm/config.native.js +14 -1
  84. package/dist/esm/config.native.js.map +1 -1
  85. package/dist/esm/createComponent.js +35 -15
  86. package/dist/esm/createComponent.js.map +1 -1
  87. package/dist/esm/createComponent.mjs +40 -17
  88. package/dist/esm/createComponent.mjs.map +1 -1
  89. package/dist/esm/createComponent.native.js +49 -20
  90. package/dist/esm/createComponent.native.js.map +1 -1
  91. package/dist/esm/createTamagui.js +3 -2
  92. package/dist/esm/createTamagui.js.map +1 -1
  93. package/dist/esm/createTamagui.mjs +3 -2
  94. package/dist/esm/createTamagui.mjs.map +1 -1
  95. package/dist/esm/createTamagui.native.js +1 -1
  96. package/dist/esm/createTamagui.native.js.map +1 -1
  97. package/dist/esm/helpers/getSplitStyles.js +7 -2
  98. package/dist/esm/helpers/getSplitStyles.js.map +1 -1
  99. package/dist/esm/helpers/getSplitStyles.mjs +8 -2
  100. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  101. package/dist/esm/helpers/getSplitStyles.native.js +7 -1
  102. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  103. package/dist/esm/helpers/getThemeCSSRules.js +2 -4
  104. package/dist/esm/helpers/getThemeCSSRules.js.map +1 -1
  105. package/dist/esm/helpers/getThemeCSSRules.mjs +23 -26
  106. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
  107. package/dist/esm/helpers/mergeRenderElementProps.js +9 -0
  108. package/dist/esm/helpers/mergeRenderElementProps.js.map +6 -0
  109. package/dist/esm/helpers/mergeRenderElementProps.mjs +9 -0
  110. package/dist/esm/helpers/mergeRenderElementProps.mjs.map +1 -0
  111. package/dist/esm/helpers/mergeRenderElementProps.native.js +9 -0
  112. package/dist/esm/helpers/mergeRenderElementProps.native.js.map +1 -0
  113. package/dist/esm/helpers/mergeSlotStyleProps.js +14 -0
  114. package/dist/esm/helpers/mergeSlotStyleProps.js.map +6 -0
  115. package/dist/esm/helpers/mergeSlotStyleProps.mjs +16 -0
  116. package/dist/esm/helpers/mergeSlotStyleProps.mjs.map +1 -0
  117. package/dist/esm/helpers/mergeSlotStyleProps.native.js +16 -0
  118. package/dist/esm/helpers/mergeSlotStyleProps.native.js.map +1 -0
  119. package/dist/esm/helpers/skipProps.js +1 -1
  120. package/dist/esm/helpers/skipProps.js.map +1 -1
  121. package/dist/esm/helpers/skipProps.mjs +1 -1
  122. package/dist/esm/helpers/skipProps.mjs.map +1 -1
  123. package/dist/esm/helpers/skipProps.native.js +1 -1
  124. package/dist/esm/helpers/skipProps.native.js.map +1 -1
  125. package/dist/esm/helpers/useRenderElement.js +28 -0
  126. package/dist/esm/helpers/useRenderElement.js.map +6 -0
  127. package/dist/esm/helpers/useRenderElement.mjs +25 -0
  128. package/dist/esm/helpers/useRenderElement.mjs.map +1 -0
  129. package/dist/esm/helpers/useRenderElement.native.js +26 -0
  130. package/dist/esm/helpers/useRenderElement.native.js.map +1 -0
  131. package/dist/esm/hooks/getThemeProxied.js.map +1 -1
  132. package/dist/esm/hooks/getThemeProxied.mjs.map +1 -1
  133. package/dist/esm/hooks/getThemeProxied.native.js +1 -1
  134. package/dist/esm/hooks/getThemeProxied.native.js.map +1 -1
  135. package/dist/esm/index.js +2 -0
  136. package/dist/esm/index.js.map +1 -1
  137. package/dist/esm/index.mjs +2 -2
  138. package/dist/esm/index.mjs.map +1 -1
  139. package/dist/esm/index.native.js +2 -2
  140. package/dist/esm/index.native.js.map +1 -1
  141. package/dist/esm/styled.js.map +1 -1
  142. package/dist/esm/styled.mjs.map +1 -1
  143. package/dist/esm/styled.native.js.map +1 -1
  144. package/dist/esm/views/Configuration.js.map +1 -1
  145. package/dist/esm/views/Configuration.mjs.map +1 -1
  146. package/dist/esm/views/Configuration.native.js.map +1 -1
  147. package/dist/esm/views/Slot.js +10 -14
  148. package/dist/esm/views/Slot.js.map +1 -1
  149. package/dist/esm/views/Slot.mjs +7 -21
  150. package/dist/esm/views/Slot.mjs.map +1 -1
  151. package/dist/esm/views/Slot.native.js +7 -23
  152. package/dist/esm/views/Slot.native.js.map +1 -1
  153. package/dist/esm/views/TamaguiProvider.js +5 -2
  154. package/dist/esm/views/TamaguiProvider.js.map +1 -1
  155. package/dist/esm/views/TamaguiProvider.mjs +6 -2
  156. package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
  157. package/dist/esm/views/TamaguiProvider.native.js +5 -1
  158. package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
  159. package/dist/esm/views/Theme.js.map +1 -1
  160. package/dist/esm/views/Theme.mjs.map +1 -1
  161. package/dist/esm/views/Theme.native.js.map +1 -1
  162. package/package.json +12 -12
  163. package/src/animationDriverTypes.test-d.ts +256 -0
  164. package/src/config.ts +41 -0
  165. package/src/createComponent.tsx +69 -31
  166. package/src/createTamagui.ts +2 -2
  167. package/src/helpers/getSplitStyles.tsx +10 -3
  168. package/src/helpers/getThemeCSSRules.ts +2 -9
  169. package/src/helpers/mergeRenderElementProps.ts +17 -0
  170. package/src/helpers/mergeSlotStyleProps.ts +46 -0
  171. package/src/helpers/skipProps.ts +1 -1
  172. package/src/helpers/useRenderElement.tsx +66 -0
  173. package/src/hooks/getThemeProxied.ts +2 -1
  174. package/src/index.ts +1 -0
  175. package/src/interfaces/TamaguiComponentPropsBaseBase.tsx +19 -4
  176. package/src/styled.tsx +4 -3
  177. package/src/types.tsx +85 -25
  178. package/src/views/Configuration.tsx +0 -2
  179. package/src/views/Slot.tsx +14 -32
  180. package/src/views/TamaguiProvider.tsx +12 -1
  181. package/src/views/Theme.tsx +0 -6
  182. package/types/animationDriverTypes.type-test.d.ts +37 -0
  183. package/types/config.d.ts +15 -1
  184. package/types/config.d.ts.map +1 -1
  185. package/types/createComponent.d.ts.map +1 -1
  186. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  187. package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
  188. package/types/helpers/mergeRenderElementProps.d.ts +7 -0
  189. package/types/helpers/mergeRenderElementProps.d.ts.map +1 -0
  190. package/types/helpers/mergeSlotStyleProps.d.ts +10 -0
  191. package/types/helpers/mergeSlotStyleProps.d.ts.map +1 -0
  192. package/types/helpers/skipProps.d.ts +1 -1
  193. package/types/helpers/useRenderElement.d.ts +13 -0
  194. package/types/helpers/useRenderElement.d.ts.map +1 -0
  195. package/types/hooks/getThemeProxied.d.ts.map +1 -1
  196. package/types/index.d.ts +1 -1
  197. package/types/index.d.ts.map +1 -1
  198. package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts +8 -4
  199. package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts.map +1 -1
  200. package/types/styled.d.ts +1 -0
  201. package/types/styled.d.ts.map +1 -1
  202. package/types/types.d.ts +50 -22
  203. package/types/types.d.ts.map +1 -1
  204. package/types/views/Configuration.d.ts +0 -2
  205. package/types/views/Configuration.d.ts.map +1 -1
  206. package/types/views/Slot.d.ts.map +1 -1
  207. package/types/views/TamaguiProvider.d.ts.map +1 -1
  208. package/dist/cjs/createTheme.js.map +0 -6
  209. package/dist/cjs/createTheme.native.js.map +0 -1
  210. package/dist/esm/createTheme.js +0 -5
  211. package/dist/esm/createTheme.js.map +0 -6
  212. package/dist/esm/createTheme.mjs +0 -3
  213. package/dist/esm/createTheme.mjs.map +0 -1
  214. package/dist/esm/createTheme.native.js +0 -5
  215. package/dist/esm/createTheme.native.js.map +0 -1
  216. package/types/createTheme.d.ts.map +0 -1
@@ -0,0 +1,49 @@
1
+ var import_vitest = require("vitest");
2
+ (0, import_vitest.describe)("AnimationsConfig types", () => {
3
+ (0, import_vitest.test)("AnimationsConfig accepts single driver", () => {
4
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
5
+ }), (0, import_vitest.test)("AnimationsConfig accepts multi-driver object", () => {
6
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
7
+ }), (0, import_vitest.test)("AnimationsConfigObject requires default key", () => {
8
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf(), (0, import_vitest.expectTypeOf)().toMatchTypeOf();
9
+ });
10
+ });
11
+ (0, import_vitest.describe)("CreateTamaguiConfig animation types", () => {
12
+ (0, import_vitest.test)("CreateTamaguiConfig.animations accepts single driver", () => {
13
+ const _driver = {};
14
+ }), (0, import_vitest.test)("CreateTamaguiConfig.animations accepts multi-driver object", () => {
15
+ const _multi = {};
16
+ });
17
+ });
18
+ (0, import_vitest.describe)("TransitionKeys inference", () => {
19
+ (0, import_vitest.test)("TransitionKeys type exists and is string-based", () => {
20
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
21
+ });
22
+ });
23
+ (0, import_vitest.describe)("AnimationDriverKeys inference", () => {
24
+ (0, import_vitest.test)("AnimationDriverKeys is string or string union", () => {
25
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
26
+ }), (0, import_vitest.test)("TypeOverride.animationDrivers exists in interface", () => {
27
+ (0, import_vitest.expectTypeOf)().toBeFunction();
28
+ }), (0, import_vitest.test)("AnimationDriverKeys always includes default", () => {
29
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
30
+ });
31
+ });
32
+ (0, import_vitest.describe)("animatedBy prop", () => {
33
+ (0, import_vitest.test)("animatedBy exists on TamaguiComponentPropsBaseBase", () => {
34
+ (0, import_vitest.expectTypeOf)().toHaveProperty("animatedBy");
35
+ }), (0, import_vitest.test)("animatedBy accepts null", () => {
36
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
37
+ }), (0, import_vitest.test)('animatedBy accepts "default"', () => {
38
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
39
+ });
40
+ });
41
+ (0, import_vitest.describe)("Type regression scenarios", () => {
42
+ (0, import_vitest.test)("single driver config scenario", () => {}), (0, import_vitest.test)("multiple drivers config scenario - CreateTamaguiConfig accepts it", () => {
43
+ const _config = {};
44
+ }), (0, import_vitest.test)("TypeOverride combines with inferred", () => {
45
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
46
+ }), (0, import_vitest.test)("combined multiple drivers and override", () => {
47
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
48
+ });
49
+ });
@@ -0,0 +1,51 @@
1
+ var import_vitest = require("vitest");
2
+ (0, import_vitest.describe)("AnimationsConfig types", () => {
3
+ (0, import_vitest.test)("AnimationsConfig accepts single driver", () => {
4
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
5
+ }), (0, import_vitest.test)("AnimationsConfig accepts multi-driver object", () => {
6
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
7
+ }), (0, import_vitest.test)("AnimationsConfigObject requires default key", () => {
8
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf(), (0, import_vitest.expectTypeOf)().toMatchTypeOf();
9
+ });
10
+ });
11
+ (0, import_vitest.describe)("CreateTamaguiConfig animation types", () => {
12
+ (0, import_vitest.test)("CreateTamaguiConfig.animations accepts single driver", () => {
13
+ const _driver = {};
14
+ }), (0, import_vitest.test)("CreateTamaguiConfig.animations accepts multi-driver object", () => {
15
+ const _multi = {};
16
+ });
17
+ });
18
+ (0, import_vitest.describe)("TransitionKeys inference", () => {
19
+ (0, import_vitest.test)("TransitionKeys type exists and is string-based", () => {
20
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
21
+ });
22
+ });
23
+ (0, import_vitest.describe)("AnimationDriverKeys inference", () => {
24
+ (0, import_vitest.test)("AnimationDriverKeys is string or string union", () => {
25
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
26
+ }), (0, import_vitest.test)("TypeOverride.animationDrivers exists in interface", () => {
27
+ (0, import_vitest.expectTypeOf)().toBeFunction();
28
+ }), (0, import_vitest.test)("AnimationDriverKeys always includes default", () => {
29
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
30
+ });
31
+ });
32
+ (0, import_vitest.describe)("animatedBy prop", () => {
33
+ (0, import_vitest.test)("animatedBy exists on TamaguiComponentPropsBaseBase", () => {
34
+ (0, import_vitest.expectTypeOf)().toHaveProperty("animatedBy");
35
+ }), (0, import_vitest.test)("animatedBy accepts null", () => {
36
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
37
+ }), (0, import_vitest.test)('animatedBy accepts "default"', () => {
38
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
39
+ });
40
+ });
41
+ (0, import_vitest.describe)("Type regression scenarios", () => {
42
+ (0, import_vitest.test)("single driver config scenario", () => {
43
+ }), (0, import_vitest.test)("multiple drivers config scenario - CreateTamaguiConfig accepts it", () => {
44
+ const _config = {};
45
+ }), (0, import_vitest.test)("TypeOverride combines with inferred", () => {
46
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
47
+ }), (0, import_vitest.test)("combined multiple drivers and override", () => {
48
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
49
+ });
50
+ });
51
+ //# sourceMappingURL=animationDriverTypes.test-d.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/animationDriverTypes.test-d.ts"],
4
+ "mappings": "AAYA,oBAA6C;AAAA,IA0B7C,wBAAS,0BAA0B,MAAM;AACvC,0BAAK,0CAA0C,MAAM;AACnD,oCAA4B,EAAE,cAAgC;AAAA,EAChE,CAAC,OAED,oBAAK,gDAAgD,MAAM;AAKzD,oCAA0B,EAAE,cAAgC;AAAA,EAC9D,CAAC,OAED,oBAAK,+CAA+C,MAAM;AAKxD,oCAA0B,EAAE,cAAsC,OAOlE,4BAA4B,EAAE,cAAsC;AAAA,EACtE,CAAC;AACH,CAAC;AAAA,IAMD,wBAAS,uCAAuC,MAAM;AACpD,0BAAK,wDAAwD,MAAM;AAMjE,UAAM,UAAsB,CAAC;AAAA,EAC/B,CAAC,OAED,oBAAK,8DAA8D,MAAM;AASvE,UAAM,SAAqB,CAAC;AAAA,EAC9B,CAAC;AACH,CAAC;AAAA,IAMD,wBAAS,4BAA4B,MAAM;AACzC,0BAAK,kDAAkD,MAAM;AAE3D,oCAA6B,EAAE,cAAsB;AAAA,EACvD,CAAC;AACH,CAAC;AAAA,IAMD,wBAAS,iCAAiC,MAAM;AAC9C,0BAAK,iDAAiD,MAAM;AAE1D,oCAAwB,EAAE,cAAmC;AAAA,EAC/D,CAAC,OAED,oBAAK,qDAAqD,MAAM;AAG9D,oCAA4B,EAAE,aAAa;AAAA,EAC7C,CAAC,OAYD,oBAAK,+CAA+C,MAAM;AAExD,oCAAwB,EAAE,cAAmC;AAAA,EAC/D,CAAC;AACH,CAAC;AAAA,IAMD,wBAAS,mBAAmB,MAAM;AAChC,0BAAK,sDAAsD,MAAM;AAE/D,oCAAoB,EAAE,eAAe,YAAY;AAAA,EACnD,CAAC,OAED,oBAAK,2BAA2B,MAAM;AAGpC,oCAAmB,EAAE,cAA0B;AAAA,EACjD,CAAC,OAED,oBAAK,gCAAgC,MAAM;AAGzC,oCAAwB,EAAE,cAA0B;AAAA,EACtD,CAAC;AACH,CAAC;AAAA,IAMD,wBAAS,6BAA6B,MAAM;AAO1C,0BAAK,iCAAiC,MAAM;AAAA,EAG5C,CAAC,OAWD,oBAAK,qEAAqE,MAAM;AAS9E,UAAM,UAAsB,CAAC;AAAA,EAC/B,CAAC,OAYD,oBAAK,uCAAuC,MAAM;AAGhD,oCAAwB,EAAE,cAAmC;AAAA,EAC/D,CAAC,OAUD,oBAAK,0CAA0C,MAAM;AAGnD,oCAAwB,EAAE,cAAmC;AAAA,EAC/D,CAAC;AACH,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var import_vitest = require("vitest");
4
+ (0, import_vitest.describe)("AnimationsConfig types", function () {
5
+ (0, import_vitest.test)("AnimationsConfig accepts single driver", function () {
6
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
7
+ }), (0, import_vitest.test)("AnimationsConfig accepts multi-driver object", function () {
8
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
9
+ }), (0, import_vitest.test)("AnimationsConfigObject requires default key", function () {
10
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf(), (0, import_vitest.expectTypeOf)().toMatchTypeOf();
11
+ });
12
+ });
13
+ (0, import_vitest.describe)("CreateTamaguiConfig animation types", function () {
14
+ (0, import_vitest.test)("CreateTamaguiConfig.animations accepts single driver", function () {
15
+ var _driver = {};
16
+ }), (0, import_vitest.test)("CreateTamaguiConfig.animations accepts multi-driver object", function () {
17
+ var _multi = {};
18
+ });
19
+ });
20
+ (0, import_vitest.describe)("TransitionKeys inference", function () {
21
+ (0, import_vitest.test)("TransitionKeys type exists and is string-based", function () {
22
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
23
+ });
24
+ });
25
+ (0, import_vitest.describe)("AnimationDriverKeys inference", function () {
26
+ (0, import_vitest.test)("AnimationDriverKeys is string or string union", function () {
27
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
28
+ }), (0, import_vitest.test)("TypeOverride.animationDrivers exists in interface", function () {
29
+ (0, import_vitest.expectTypeOf)().toBeFunction();
30
+ }), (0, import_vitest.test)("AnimationDriverKeys always includes default", function () {
31
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
32
+ });
33
+ });
34
+ (0, import_vitest.describe)("animatedBy prop", function () {
35
+ (0, import_vitest.test)("animatedBy exists on TamaguiComponentPropsBaseBase", function () {
36
+ (0, import_vitest.expectTypeOf)().toHaveProperty("animatedBy");
37
+ }), (0, import_vitest.test)("animatedBy accepts null", function () {
38
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
39
+ }), (0, import_vitest.test)('animatedBy accepts "default"', function () {
40
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
41
+ });
42
+ });
43
+ (0, import_vitest.describe)("Type regression scenarios", function () {
44
+ (0, import_vitest.test)("single driver config scenario", function () {}), (0, import_vitest.test)("multiple drivers config scenario - CreateTamaguiConfig accepts it", function () {
45
+ var _config = {};
46
+ }), (0, import_vitest.test)("TypeOverride combines with inferred", function () {
47
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
48
+ }), (0, import_vitest.test)("combined multiple drivers and override", function () {
49
+ (0, import_vitest.expectTypeOf)().toMatchTypeOf();
50
+ });
51
+ });
52
+ //# sourceMappingURL=animationDriverTypes.test-d.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["import_vitest","require","describe","test","expectTypeOf","toMatchTypeOf","_driver","_multi","toBeFunction","toHaveProperty","_config"],"sources":["../../src/animationDriverTypes.test-d.ts"],"sourcesContent":[null],"mappings":"AAYA;;AAA6C,IA0B7CA,aAAA,GAAAC,OAAA,CAAS;AACP,IAAAD,aAAA,CAAAE,QAAK;EACH,IAAAF,aAAA,CAAAG,IAAA,0CAA8D;IAC/D,IAAAH,aAED,CAAAI,YAAK,IAAAC,aAAA;EAKH,QAAAL,aAAA,CAAAG,IAAA,gDAA4D;IAC7D,IAAAH,aAED,CAAAI,YAAK,IAAAC,aAAA;EAKH,QAAAL,aAAA,CAAAG,IAAA,+CAOA,cAA4B;IAC7B,IAAAH,aAAA,CAAAI,YAAA,IAAAC,aAAA,QAAAL,aAAA,CAAAI,YAAA,IAAAC,aAAA;EACF;AAAA;AAOC,IAAAL,aAAA,CAAAE,QAAK;EAMH,IAAAF,aAAM,CAAsBG,IAAC;IAC9B,IAAAG,OAED;EASE,QAAMN,aAAsB,CAAAG,IAAA;IAC7B,IAAAI,MAAA;EACF;AAAA;AAOC,IAAAP,aAAA,CAAAE,QAAK;EAEH,IAAAF,aAAA,CAAAG,IAAA,kDAAqD;IACtD,IAAAH,aAAA,CAAAI,YAAA,IAAAC,aAAA;EACF;AAAA;AAOC,IAAAL,aAAA,CAAAE,QAAK;EAEH,IAAAF,aAAA,CAAAG,IAAA,iDAA6D;IAC9D,IAAAH,aAED,CAAAI,YAAK,IAAAC,aAAA;EAGH,QAAAL,aAAA,CAAAG,IAAA,qDAA2C;IAC5C,IAAAH,aAYD,CAAAI,YAAK,IAAAI,YAAA;EAEH,QAAAR,aAAA,CAAAG,IAAA,+CAA6D;IAC9D,IAAAH,aAAA,CAAAI,YAAA,IAAAC,aAAA;EACF;AAAA;AAOC,IAAAL,aAAA,CAAAE,QAAK;EAEH,IAAAF,aAAA,CAAAG,IAAA,sDAAiD;IAClD,IAAAH,aAED,CAAAI,YAAK,IAAAK,cAAA,aAAiC;EAGpC,QAAAT,aAAA,CAAAG,IAAA,2BAA+C;IAChD,IAAAH,aAED,CAAAI,YAAK,IAAAC,aAAA;EAGH,QAAAL,aAAA,CAAAG,IAAA,gCAAoD;IACrD,IAAAH,aAAA,CAAAI,YAAA,IAAAC,aAAA;EACF;AAAA;AAaC,IAAAL,aAAA,CAAAE,QAAK,2CAAuC;EAG5C,CAAC,GAAAF,aAWD,CAAAG,IAAA,iCAAK,eASH,QAAMH,aAAuB,CAAAG,IAAA;IAC9B,IAAAO,OAYD;EAGE,QAAAV,aAAA,CAAAG,IAAA,uCAA6D;IAC9D,IAAAH,aAUD,CAAAI,YAAK,IAAAC,aAAA;EAGH,QAAAL,aAAA,CAAAG,IAAA,0CAA6D;IAC9D,IAAAH,aAAA,CAAAI,YAAA,IAAAC,aAAA;EACF","ignoreList":[]}
@@ -31,6 +31,7 @@ __export(config_exports, {
31
31
  getTokenObject: () => getTokenObject,
32
32
  getTokenValue: () => getTokenValue,
33
33
  getTokens: () => getTokens,
34
+ loadAnimationDriver: () => loadAnimationDriver,
34
35
  onConfiguredOnce: () => onConfiguredOnce,
35
36
  setConfig: () => setConfig,
36
37
  setConfigFont: () => setConfigFont,
@@ -112,4 +113,17 @@ const getTokens = ({
112
113
  let devConfig;
113
114
  function setupDev(conf2) {
114
115
  process.env.NODE_ENV === "development" && (devConfig = conf2);
116
+ }
117
+ function loadAnimationDriver(name, driver) {
118
+ const config = getConfigFromGlobalOrLocal();
119
+ if (!config) {
120
+ process.env.NODE_ENV === "development" && console.warn("loadAnimationDriver called before createTamagui");
121
+ return;
122
+ }
123
+ config.animations && !("default" in config.animations) && (config.animations = {
124
+ default: config.animations
125
+ }), config.animations ? config.animations[name] = driver : config.animations = {
126
+ default: driver,
127
+ [name]: driver
128
+ };
115
129
  }
@@ -25,6 +25,7 @@ __export(config_exports, {
25
25
  getTokenObject: () => getTokenObject,
26
26
  getTokenValue: () => getTokenValue,
27
27
  getTokens: () => getTokens,
28
+ loadAnimationDriver: () => loadAnimationDriver,
28
29
  onConfiguredOnce: () => onConfiguredOnce,
29
30
  setConfig: () => setConfig,
30
31
  setConfigFont: () => setConfigFont,
@@ -97,4 +98,17 @@ let devConfig;
97
98
  function setupDev(conf2) {
98
99
  process.env.NODE_ENV === "development" && (devConfig = conf2);
99
100
  }
101
+ function loadAnimationDriver(name, driver) {
102
+ const config = getConfigFromGlobalOrLocal();
103
+ if (!config) {
104
+ process.env.NODE_ENV === "development" && console.warn("loadAnimationDriver called before createTamagui");
105
+ return;
106
+ }
107
+ config.animations && !("default" in config.animations) && (config.animations = {
108
+ default: config.animations
109
+ }), config.animations ? config.animations[name] = driver : config.animations = {
110
+ default: driver,
111
+ [name]: driver
112
+ };
113
+ }
100
114
  //# sourceMappingURL=config.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/config.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["import_constants", "conf"]
6
6
  }
@@ -33,6 +33,7 @@ __export(config_exports, {
33
33
  getTokenObject: () => getTokenObject,
34
34
  getTokenValue: () => getTokenValue,
35
35
  getTokens: () => getTokens,
36
+ loadAnimationDriver: () => loadAnimationDriver,
36
37
  onConfiguredOnce: () => onConfiguredOnce,
37
38
  setConfig: () => setConfig,
38
39
  setConfigFont: () => setConfigFont,
@@ -143,4 +144,17 @@ var getTokens = function () {
143
144
  function setupDev(conf2) {
144
145
  process.env.NODE_ENV === "development" && (devConfig = conf2);
145
146
  }
147
+ function loadAnimationDriver(name, driver) {
148
+ var config = getConfigFromGlobalOrLocal();
149
+ if (!config) {
150
+ process.env.NODE_ENV === "development" && console.warn("loadAnimationDriver called before createTamagui");
151
+ return;
152
+ }
153
+ config.animations && !("default" in config.animations) && (config.animations = {
154
+ default: config.animations
155
+ }), config.animations ? config.animations[name] = driver : config.animations = {
156
+ default: driver,
157
+ [name]: driver
158
+ };
159
+ }
146
160
  //# sourceMappingURL=config.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","config_exports","__export","configListeners","devConfig","getConfig","getConfigMaybe","getFont","getSetting","getThemes","getToken","getTokenObject","getTokenValue","getTokens","onConfiguredOnce","setConfig","setConfigFont","setTokens","setupDev","updateConfig","useTokens","module","exports","import_constants","require","import_constants2","conf","setConfigCalledByThisInstance","haventCalledErrorMessage","process","env","NODE_ENV","MISSING_THEME_MESSAGE","getConfigFromGlobalOrLocal","globalThis","__tamaguiConfig","__tamaguiHasWarnedGlobalFallback","__tamaguiPendingCheck","setTimeout","console","warn","key","config","Error","_config_settings_key","settings","next","name","font","fontParsed","fonts","fontsParsed","tokensMerged","_","prefixed","arguments","length","tokens","tokensParsed","group","_tokensMerged_group","_tokensMerged_","_config_specificTokens_value","specificTokens","Object","keys","find","cat","useVariable","isWeb","token","variable","val","themes","Set","cb","add"],"sources":["../../src/config.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","config_exports","__export","configListeners","devConfig","getConfig","getConfigMaybe","getFont","getSetting","getThemes","getToken","getTokenObject","getTokenValue","getTokens","loadAnimationDriver","onConfiguredOnce","setConfig","setConfigFont","setTokens","setupDev","updateConfig","useTokens","module","exports","import_constants","require","import_constants2","conf","setConfigCalledByThisInstance","haventCalledErrorMessage","process","env","NODE_ENV","MISSING_THEME_MESSAGE","getConfigFromGlobalOrLocal","globalThis","__tamaguiConfig","__tamaguiHasWarnedGlobalFallback","__tamaguiPendingCheck","setTimeout","console","warn","key","config","Error","_config_settings_key","settings","next","name","font","fontParsed","fonts","fontsParsed","tokensMerged","_","prefixed","arguments","length","tokens","tokensParsed","group","_tokensMerged_group","_tokensMerged_","_config_specificTokens_value","specificTokens","Object","keys","find","cat","useVariable","isWeb","token","variable","val","themes","Set","cb","add","assign","_Object_entries_find","conf2","_conf_fontsParsed_name","entries","param","k","_conf_fontsParsed_k_family","_conf_fontsParsed_k","family","driver"],"sources":["../../src/config.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -49,6 +49,7 @@ var import_compose_refs = require("@tamagui/compose-refs"),
49
49
  import_getSplitStyles = require("./helpers/getSplitStyles.cjs"),
50
50
  import_log = require("./helpers/log.cjs"),
51
51
  import_mergeProps = require("./helpers/mergeProps.cjs"),
52
+ import_mergeRenderElementProps = require("./helpers/mergeRenderElementProps.cjs"),
52
53
  import_objectIdentityKey = require("./helpers/objectIdentityKey.cjs"),
53
54
  import_setElementProps = require("./helpers/setElementProps.cjs"),
54
55
  import_subscribeToContextGroup = require("./helpers/subscribeToContextGroup.cjs"),
@@ -203,7 +204,13 @@ function createComponent(staticConfig) {
203
204
  };
204
205
  }, [componentName2]);
205
206
  const groupContextParent = import_react.default.useContext(import_GroupContext.GroupContext),
206
- animationDriver = componentContext.animationDriver,
207
+ animationDriver = (() => {
208
+ if (props.animatedBy && config?.animations) {
209
+ const animations = config.animations;
210
+ return "default" in animations ? animations[props.animatedBy] ?? animations.default : props.animatedBy === "default" ? animations : null;
211
+ }
212
+ return componentContext.animationDriver;
213
+ })(),
207
214
  useAnimations = animationDriver?.useAnimations,
208
215
  componentState = (0, import_useComponentState.useComponentState)(props, animationDriver?.isStub ? null : animationDriver, staticConfig, config),
209
216
  {
@@ -264,8 +271,8 @@ function createComponent(staticConfig) {
264
271
  let setStateShallow = componentState.setStateShallow;
265
272
  process.env.NODE_ENV === "development" && time && time`use-state`;
266
273
  const isTaggable = !Component || typeof Component == "string",
267
- tagProp = props.tag,
268
- element = import_constants.isWeb && isTaggable && tagProp || Component,
274
+ renderProp = props.render,
275
+ element = import_constants.isWeb && isTaggable && renderProp || Component,
269
276
  BaseTextComponent = BaseText || element || "span",
270
277
  BaseViewComponent = BaseView || element || (hasTextAncestor ? "span" : "div");
271
278
  let elementType = isText ? BaseTextComponent : BaseViewComponent;
@@ -327,7 +334,7 @@ ${banner}
327
334
  }
328
335
  process.env.NODE_ENV === "development" && time && time`pre-theme-media`;
329
336
  const [theme, themeState] = (0, import_useTheme.useThemeWithState)(themeStateProps);
330
- process.env.NODE_ENV === "development" && time && time`theme`, elementType = Component || elementType;
337
+ process.env.NODE_ENV === "development" && time && time`theme`, elementType = element || elementType;
331
338
  const isStringElement = typeof elementType == "string",
332
339
  mediaState = (0, import_useMedia.useMedia)(componentContext, debugProp);
333
340
  (0, import_createVariable.setDidGetVariableValue)(!1), process.env.NODE_ENV === "development" && time && time`media`;
@@ -453,7 +460,7 @@ ${banner}
453
460
  ...nonTamaguiProps
454
461
  } = viewPropsIn || {};
455
462
  let viewProps = nonTamaguiProps;
456
- !isTaggable && props.forceStyle && (viewProps.forceStyle = props.forceStyle), isHOC && (typeof _themeProp < "u" && (viewProps.theme = _themeProp), typeof passThrough < "u" && (viewProps.passThrough = passThrough)), tagProp && elementType.acceptTagProp && (viewProps.tag = tagProp);
463
+ !isTaggable && props.forceStyle && (viewProps.forceStyle = props.forceStyle), isHOC && (typeof _themeProp < "u" && (viewProps.theme = _themeProp), typeof passThrough < "u" && (viewProps.passThrough = passThrough)), renderProp && elementType.acceptTagProp && (viewProps.render = renderProp);
457
464
  let animationStyles;
458
465
  const shouldUseAnimation =
459
466
  // if it supports css vars we run it on server too to get matching initial style
@@ -474,6 +481,7 @@ ${banner}
474
481
  componentState: state,
475
482
  styleProps,
476
483
  theme,
484
+ themeName,
477
485
  pseudos: pseudos || null,
478
486
  staticConfig,
479
487
  stateRef
@@ -521,22 +529,27 @@ If you meant to do this, you can disable this warning - either change untilMeasu
521
529
  });
522
530
  return;
523
531
  }
524
- let tm;
525
532
  if (state.unmounted) {
526
- if (animationDriver?.supportsCSS || import_constants.isAndroid) return tm = setTimeout(() => {
527
- setStateShallow({
528
- unmounted: !1
529
- });
530
- }), () => clearTimeout(tm);
533
+ if (supportsCSS) {
534
+ let cancelled = !1;
535
+ return requestAnimationFrame(() => {
536
+ cancelled || requestAnimationFrame(() => {
537
+ cancelled || setStateShallow({
538
+ unmounted: !1
539
+ });
540
+ });
541
+ }), () => {
542
+ cancelled = !0;
543
+ };
544
+ }
531
545
  setStateShallow({
532
546
  unmounted: !1
533
547
  });
534
- return;
535
548
  }
536
549
  return () => {
537
550
  componentSetStates.delete(setState);
538
551
  };
539
- }, [state.unmounted, disabled]), (0, import_constants.useIsomorphicLayoutEffect)(() => {
552
+ }, [state.unmounted, supportsCSS]), (0, import_constants.useIsomorphicLayoutEffect)(() => {
540
553
  if (!disabled && !(!pseudoGroups && !mediaGroups) && allGroupContexts) return (0, import_subscribeToContextGroup.subscribeToContextGroup)({
541
554
  groupContext: allGroupContexts,
542
555
  setStateShallow,
@@ -638,8 +651,18 @@ If you meant to do this, you can disable this warning - either change untilMeasu
638
651
  }
639
652
  });
640
653
  let useChildrenResult;
641
- import_setupHooks.hooks.useChildren && (useChildrenResult = import_setupHooks.hooks.useChildren(elementType, content, viewProps)), process.env.NODE_ENV === "development" && time && time`use-children`, useChildrenResult ? content = useChildrenResult : content = import_react.default.createElement(elementType, viewProps, content);
642
- const ResetPresence = config?.animations?.ResetPresence,
654
+ if (import_setupHooks.hooks.useChildren && (useChildrenResult = import_setupHooks.hooks.useChildren(elementType, content, viewProps)), process.env.NODE_ENV === "development" && time && time`use-children`, useChildrenResult) content = useChildrenResult;else if (typeof renderProp == "function") {
655
+ const renderProps = {
656
+ ...viewProps,
657
+ children: content
658
+ };
659
+ content = renderProp(renderProps, state);
660
+ } else if (renderProp && typeof renderProp == "object" && import_react.default.isValidElement(renderProp)) {
661
+ const elementProps = renderProp.props || {},
662
+ mergedProps = (0, import_mergeRenderElementProps.mergeRenderElementProps)(elementProps, viewProps, content);
663
+ content = import_react.default.cloneElement(renderProp, mergedProps);
664
+ } else content = import_react.default.createElement(elementType, viewProps, content);
665
+ const ResetPresence = animationDriver?.ResetPresence,
643
666
  needsReset = !!(
644
667
  // not when passing down to child
645
668
  !asChild &&
@@ -669,7 +692,7 @@ If you meant to do this, you can disable this warning - either change untilMeasu
669
692
  })), overriddenContextProps && contextForOverride) {
670
693
  const Provider = contextForOverride.Provider;
671
694
  for (const key in styledContextValue) key in overriddenContextProps || (overriddenContextProps[key] = styledContextValue[key]);
672
- debugProp && console.info("overriddenContextProps", overriddenContextProps), content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(Provider, {
695
+ content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(Provider, {
673
696
  __disableMergeDefaultValues: !0,
674
697
  ...overriddenContextProps,
675
698
  children: content
@@ -26,7 +26,7 @@ __export(createComponent_exports, {
26
26
  createComponent: () => createComponent
27
27
  });
28
28
  module.exports = __toCommonJS(createComponent_exports);
29
- var import_compose_refs = require("@tamagui/compose-refs"), import_constants = require("@tamagui/constants"), import_helpers = require("@tamagui/helpers"), import_is_equal_shallow = require("@tamagui/is-equal-shallow"), import_react = __toESM(require("react"), 1), import_config = require("./config"), import_isDevTools = require("./constants/isDevTools"), import_ComponentContext = require("./contexts/ComponentContext"), import_GroupContext = require("./contexts/GroupContext"), import_createVariable = require("./createVariable"), import_defaultComponentState = require("./defaultComponentState"), import_getSplitStyles = require("./helpers/getSplitStyles"), import_log = require("./helpers/log"), import_mergeProps = require("./helpers/mergeProps"), import_objectIdentityKey = require("./helpers/objectIdentityKey"), import_setElementProps = require("./helpers/setElementProps"), import_subscribeToContextGroup = require("./helpers/subscribeToContextGroup"), import_themeable = require("./helpers/themeable"), import_wrapStyleTags = require("./helpers/wrapStyleTags"), import_useComponentState = require("./hooks/useComponentState"), import_useMedia = require("./hooks/useMedia"), import_useTheme = require("./hooks/useTheme"), import_setupHooks = require("./setupHooks"), import_Slot = require("./views/Slot"), import_Theme = require("./views/Theme"), import_jsx_runtime = require("react/jsx-runtime");
29
+ var import_compose_refs = require("@tamagui/compose-refs"), import_constants = require("@tamagui/constants"), import_helpers = require("@tamagui/helpers"), import_is_equal_shallow = require("@tamagui/is-equal-shallow"), import_react = __toESM(require("react"), 1), import_config = require("./config"), import_isDevTools = require("./constants/isDevTools"), import_ComponentContext = require("./contexts/ComponentContext"), import_GroupContext = require("./contexts/GroupContext"), import_createVariable = require("./createVariable"), import_defaultComponentState = require("./defaultComponentState"), import_getSplitStyles = require("./helpers/getSplitStyles"), import_log = require("./helpers/log"), import_mergeProps = require("./helpers/mergeProps"), import_mergeRenderElementProps = require("./helpers/mergeRenderElementProps"), import_objectIdentityKey = require("./helpers/objectIdentityKey"), import_setElementProps = require("./helpers/setElementProps"), import_subscribeToContextGroup = require("./helpers/subscribeToContextGroup"), import_themeable = require("./helpers/themeable"), import_wrapStyleTags = require("./helpers/wrapStyleTags"), import_useComponentState = require("./hooks/useComponentState"), import_useMedia = require("./hooks/useMedia"), import_useTheme = require("./hooks/useTheme"), import_setupHooks = require("./setupHooks"), import_Slot = require("./views/Slot"), import_Theme = require("./views/Theme"), import_jsx_runtime = require("react/jsx-runtime");
30
30
  let time, debugKeyListeners, startVisualizer;
31
31
  const componentSetStates = /* @__PURE__ */ new Set(), avoidReRenderKeys = /* @__PURE__ */ new Set([
32
32
  "hover",
@@ -150,7 +150,13 @@ function createComponent(staticConfig) {
150
150
  remove(), debugKeyListeners?.delete(debugVisualizerHandler);
151
151
  };
152
152
  }, [componentName2]);
153
- const groupContextParent = import_react.default.useContext(import_GroupContext.GroupContext), animationDriver = componentContext.animationDriver, useAnimations = animationDriver?.useAnimations, componentState = (0, import_useComponentState.useComponentState)(
153
+ const groupContextParent = import_react.default.useContext(import_GroupContext.GroupContext), animationDriver = (() => {
154
+ if (props.animatedBy && config?.animations) {
155
+ const animations = config.animations;
156
+ return "default" in animations ? animations[props.animatedBy] ?? animations.default : props.animatedBy === "default" ? animations : null;
157
+ }
158
+ return componentContext.animationDriver;
159
+ })(), useAnimations = animationDriver?.useAnimations, componentState = (0, import_useComponentState.useComponentState)(
154
160
  props,
155
161
  animationDriver?.isStub ? null : animationDriver,
156
162
  staticConfig,
@@ -209,7 +215,7 @@ function createComponent(staticConfig) {
209
215
  }, [stateRef, groupName, groupContextParent]);
210
216
  let setStateShallow = componentState.setStateShallow;
211
217
  process.env.NODE_ENV === "development" && time && time`use-state`;
212
- const isTaggable = !Component || typeof Component == "string", tagProp = props.tag, element = import_constants.isWeb && isTaggable && tagProp || Component, BaseTextComponent = BaseText || element || "span", BaseViewComponent = BaseView || element || (hasTextAncestor ? "span" : "div");
218
+ const isTaggable = !Component || typeof Component == "string", renderProp = props.render, element = import_constants.isWeb && isTaggable && renderProp || Component, BaseTextComponent = BaseText || element || "span", BaseViewComponent = BaseView || element || (hasTextAncestor ? "span" : "div");
213
219
  let elementType = isText ? BaseTextComponent : BaseViewComponent;
214
220
  animationDriver && isAnimated && // this should really be behind another prop as it's not really related to
215
221
  // "needsWebStyles" basically with motion we just animate a plain div, but
@@ -242,7 +248,7 @@ ${banner}
242
248
  }
243
249
  process.env.NODE_ENV === "development" && time && time`pre-theme-media`;
244
250
  const [theme, themeState] = (0, import_useTheme.useThemeWithState)(themeStateProps);
245
- process.env.NODE_ENV === "development" && time && time`theme`, elementType = Component || elementType;
251
+ process.env.NODE_ENV === "development" && time && time`theme`, elementType = element || elementType;
246
252
  const isStringElement = typeof elementType == "string", mediaState = (0, import_useMedia.useMedia)(componentContext, debugProp);
247
253
  (0, import_createVariable.setDidGetVariableValue)(!1), process.env.NODE_ENV === "development" && time && time`media`;
248
254
  const resolveValues = (
@@ -383,7 +389,7 @@ ${banner}
383
389
  ...nonTamaguiProps
384
390
  } = viewPropsIn || {};
385
391
  let viewProps = nonTamaguiProps;
386
- !isTaggable && props.forceStyle && (viewProps.forceStyle = props.forceStyle), isHOC && (typeof _themeProp < "u" && (viewProps.theme = _themeProp), typeof passThrough < "u" && (viewProps.passThrough = passThrough)), tagProp && elementType.acceptTagProp && (viewProps.tag = tagProp);
392
+ !isTaggable && props.forceStyle && (viewProps.forceStyle = props.forceStyle), isHOC && (typeof _themeProp < "u" && (viewProps.theme = _themeProp), typeof passThrough < "u" && (viewProps.passThrough = passThrough)), renderProp && elementType.acceptTagProp && (viewProps.render = renderProp);
387
393
  let animationStyles;
388
394
  const shouldUseAnimation = (
389
395
  // if it supports css vars we run it on server too to get matching initial style
@@ -404,6 +410,7 @@ ${banner}
404
410
  componentState: state,
405
411
  styleProps,
406
412
  theme,
413
+ themeName,
407
414
  pseudos: pseudos || null,
408
415
  staticConfig,
409
416
  stateRef
@@ -463,19 +470,23 @@ If you meant to do this, you can disable this warning - either change untilMeasu
463
470
  setStateShallow({ unmounted: "should-enter" });
464
471
  return;
465
472
  }
466
- let tm;
467
473
  if (state.unmounted) {
468
- if (animationDriver?.supportsCSS || import_constants.isAndroid)
469
- return tm = setTimeout(() => {
470
- setStateShallow({ unmounted: !1 });
471
- }), () => clearTimeout(tm);
474
+ if (supportsCSS) {
475
+ let cancelled = !1;
476
+ return requestAnimationFrame(() => {
477
+ cancelled || requestAnimationFrame(() => {
478
+ cancelled || setStateShallow({ unmounted: !1 });
479
+ });
480
+ }), () => {
481
+ cancelled = !0;
482
+ };
483
+ }
472
484
  setStateShallow({ unmounted: !1 });
473
- return;
474
485
  }
475
486
  return () => {
476
487
  componentSetStates.delete(setState);
477
488
  };
478
- }, [state.unmounted, disabled]), (0, import_constants.useIsomorphicLayoutEffect)(() => {
489
+ }, [state.unmounted, supportsCSS]), (0, import_constants.useIsomorphicLayoutEffect)(() => {
479
490
  if (!disabled && !(!pseudoGroups && !mediaGroups) && allGroupContexts)
480
491
  return (0, import_subscribeToContextGroup.subscribeToContextGroup)({
481
492
  groupContext: allGroupContexts,
@@ -570,8 +581,17 @@ If you meant to do this, you can disable this warning - either change untilMeasu
570
581
  }
571
582
  });
572
583
  let useChildrenResult;
573
- import_setupHooks.hooks.useChildren && (useChildrenResult = import_setupHooks.hooks.useChildren(elementType, content, viewProps)), process.env.NODE_ENV === "development" && time && time`use-children`, useChildrenResult ? content = useChildrenResult : content = import_react.default.createElement(elementType, viewProps, content);
574
- const ResetPresence = config?.animations?.ResetPresence, needsReset = !!// not when passing down to child
584
+ if (import_setupHooks.hooks.useChildren && (useChildrenResult = import_setupHooks.hooks.useChildren(elementType, content, viewProps)), process.env.NODE_ENV === "development" && time && time`use-children`, useChildrenResult)
585
+ content = useChildrenResult;
586
+ else if (typeof renderProp == "function") {
587
+ const renderProps = { ...viewProps, children: content };
588
+ content = renderProp(renderProps, state);
589
+ } else if (renderProp && typeof renderProp == "object" && import_react.default.isValidElement(renderProp)) {
590
+ const elementProps = renderProp.props || {}, mergedProps = (0, import_mergeRenderElementProps.mergeRenderElementProps)(elementProps, viewProps, content);
591
+ content = import_react.default.cloneElement(renderProp, mergedProps);
592
+ } else
593
+ content = import_react.default.createElement(elementType, viewProps, content);
594
+ const ResetPresence = animationDriver?.ResetPresence, needsReset = !!// not when passing down to child
575
595
  (!asChild && // not when passThrough
576
596
  splitStyles && // not when HOC
577
597
  !isHOC && ResetPresence && willBeAnimated && (hasEnterStyle || presenceState)), hasEverReset = stateRef.current.hasEverResetPresence;
@@ -593,7 +613,7 @@ If you meant to do this, you can disable this warning - either change untilMeasu
593
613
  const Provider = contextForOverride.Provider;
594
614
  for (const key in styledContextValue)
595
615
  key in overriddenContextProps || (overriddenContextProps[key] = styledContextValue[key]);
596
- debugProp && console.info("overriddenContextProps", overriddenContextProps), content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Provider, { __disableMergeDefaultValues: !0, ...overriddenContextProps, children: content });
616
+ content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Provider, { __disableMergeDefaultValues: !0, ...overriddenContextProps, children: content });
597
617
  }
598
618
  if (process.env.NODE_ENV === "development" && time && time`context-override`, startedUnhydrated && splitStyles && (content = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
599
619
  content,