@tamagui/web 2.0.0-1768636514428 → 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 (207) 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 +25 -7
  12. package/dist/cjs/createComponent.js +23 -7
  13. package/dist/cjs/createComponent.js.map +1 -1
  14. package/dist/cjs/createComponent.native.js +34 -8
  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 +2 -1
  22. package/dist/cjs/helpers/getSplitStyles.js +1 -1
  23. package/dist/cjs/helpers/getSplitStyles.js.map +1 -1
  24. package/dist/cjs/helpers/getSplitStyles.native.js +1 -0
  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/helpers/mergeRenderElementProps.cjs +32 -0
  30. package/dist/cjs/helpers/mergeRenderElementProps.js +25 -0
  31. package/dist/cjs/helpers/mergeRenderElementProps.js.map +6 -0
  32. package/dist/cjs/helpers/mergeRenderElementProps.native.js +35 -0
  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 +23 -6
  86. package/dist/esm/createComponent.js.map +1 -1
  87. package/dist/esm/createComponent.mjs +25 -7
  88. package/dist/esm/createComponent.mjs.map +1 -1
  89. package/dist/esm/createComponent.native.js +34 -8
  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 +1 -1
  98. package/dist/esm/helpers/getSplitStyles.js.map +1 -1
  99. package/dist/esm/helpers/getSplitStyles.mjs +2 -1
  100. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  101. package/dist/esm/helpers/getSplitStyles.native.js +1 -0
  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 +45 -10
  166. package/src/createTamagui.ts +2 -2
  167. package/src/helpers/getSplitStyles.tsx +4 -2
  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
@@ -1 +1 @@
1
- {"version":3,"names":["isWeb","React","Children","cloneElement","forwardRef","isValidElement","useRef","variableToString","useThemeWithState","getThemeState","hasThemeUpdatingProps","ThemeStateContext","ThemeDebug","jsx","Theme","props","ref","disable","children","passThrough","isRoot","_isRoot","_","themeState","finalChildren","map","child","only","stateRef","hasEverThemed","getThemedChildren","avoidForwardRef","shallow","forceClassName","state","current","shouldRenderChildrenWithTheme","isNew","process","env","NODE_ENV","debug","themeProps","Provider","value","id","isInverse","name","requiresExtraWrapper","parentId","parentState","Error","toArray","console","warn","themeSpanProps","getThemeClassNameAndColor","baseStyle","contain","inertContainedStyle","inertStyle","className","color","style","className2","startsWith","display","empty","themeColor","theme","themeClassName","replace","schemePrefix","themeNameParts","split","themeClasses","length","hierarchyClasses","i","push","slice","join"],"sources":["../../../src/views/Theme.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isWeb","React","Children","cloneElement","forwardRef","isValidElement","useRef","variableToString","useThemeWithState","getThemeState","hasThemeUpdatingProps","ThemeStateContext","ThemeDebug","jsx","Theme","props","ref","disable","children","passThrough","isRoot","_isRoot","_","themeState","finalChildren","map","child","only","stateRef","hasEverThemed","getThemedChildren","avoidForwardRef","shallow","forceClassName","state","current","shouldRenderChildrenWithTheme","isNew","process","env","NODE_ENV","debug","themeProps","Provider","value","id","isInverse","name","requiresExtraWrapper","parentId","parentState","Error","toArray","console","warn","themeSpanProps","getThemeClassNameAndColor","baseStyle","contain","inertContainedStyle","inertStyle","className","color","style","className2","startsWith","display","empty","themeColor","theme","themeClassName","replace","schemePrefix","themeNameParts","split","themeClasses","length","hierarchyClasses","i","push","slice","join"],"sources":["../../../src/views/Theme.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","isWeb","React","Children","cloneElement","forwardRef","isValidElement","useRef","variableToString","useThemeWithState","getThemeState","hasThemeUpdatingProps","ThemeStateContext","ThemeDebug","Theme","props","ref","disable","children","passThrough","isRoot","_isRoot","_","themeState","disableDirectChildTheme","finalChildren","map","child","only","stateRef","hasEverThemed","getThemedChildren","avoidForwardRef","arguments","length","shallow","forceClassName","state","current","shouldRenderChildrenWithTheme","isNew","process","env","NODE_ENV","debug","themeProps","Provider","value","id","isInverse","name","requiresExtraWrapper","parentId","parentState","Error","toArray","console","warn","themeSpanProps","getThemeClassNameAndColor","baseStyle","contain","inertContainedStyle","inertStyle","className","color","style","className1","startsWith","display","empty","themeColor","theme","themeClassName","replace","schemePrefix","themeNameParts","split","themeClasses","hierarchyClasses","i","push","slice","join"],"sources":["../../../src/views/Theme.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","isWeb","React","Children","cloneElement","forwardRef","isValidElement","useRef","variableToString","useThemeWithState","getThemeState","hasThemeUpdatingProps","ThemeStateContext","ThemeDebug","Theme","props","ref","disable","children","passThrough","isRoot","_isRoot","_","themeState","disableDirectChildTheme","finalChildren","map","child","only","stateRef","hasEverThemed","getThemedChildren","avoidForwardRef","arguments","length","shallow","forceClassName","state","current","shouldRenderChildrenWithTheme","isNew","process","env","NODE_ENV","debug","themeProps","Provider","value","id","isInverse","name","requiresExtraWrapper","parentId","parentState","Error","toArray","console","warn","themeSpanProps","getThemeClassNameAndColor","baseStyle","contain","inertContainedStyle","inertStyle","className","color","style","className1","startsWith","display","empty","themeColor","theme","themeClassName","replace","schemePrefix","themeNameParts","split","themeClasses","hierarchyClasses","i","push","slice","join"],"sources":["../../../src/views/Theme.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/web",
3
- "version": "2.0.0-1768636514428",
3
+ "version": "2.0.0-1768696252732",
4
4
  "type": "module",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/cjs",
@@ -28,16 +28,16 @@
28
28
  "reset.css"
29
29
  ],
30
30
  "dependencies": {
31
- "@tamagui/compose-refs": "2.0.0-1768636514428",
32
- "@tamagui/constants": "2.0.0-1768636514428",
33
- "@tamagui/helpers": "2.0.0-1768636514428",
34
- "@tamagui/is-equal-shallow": "2.0.0-1768636514428",
35
- "@tamagui/normalize-css-color": "2.0.0-1768636514428",
36
- "@tamagui/timer": "2.0.0-1768636514428",
37
- "@tamagui/types": "2.0.0-1768636514428",
38
- "@tamagui/use-did-finish-ssr": "2.0.0-1768636514428",
39
- "@tamagui/use-event": "2.0.0-1768636514428",
40
- "@tamagui/use-force-update": "2.0.0-1768636514428"
31
+ "@tamagui/compose-refs": "2.0.0-1768696252732",
32
+ "@tamagui/constants": "2.0.0-1768696252732",
33
+ "@tamagui/helpers": "2.0.0-1768696252732",
34
+ "@tamagui/is-equal-shallow": "2.0.0-1768696252732",
35
+ "@tamagui/normalize-css-color": "2.0.0-1768696252732",
36
+ "@tamagui/timer": "2.0.0-1768696252732",
37
+ "@tamagui/types": "2.0.0-1768696252732",
38
+ "@tamagui/use-did-finish-ssr": "2.0.0-1768696252732",
39
+ "@tamagui/use-event": "2.0.0-1768696252732",
40
+ "@tamagui/use-force-update": "2.0.0-1768696252732"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "react": "*",
@@ -45,7 +45,7 @@
45
45
  "react-native": "*"
46
46
  },
47
47
  "devDependencies": {
48
- "@tamagui/build": "2.0.0-1768636514428",
48
+ "@tamagui/build": "2.0.0-1768696252732",
49
49
  "@testing-library/react": "^16.1.0",
50
50
  "csstype": "^3.0.10",
51
51
  "react": "*",
@@ -0,0 +1,256 @@
1
+ /**
2
+ * Type tests for animatedBy prop and animation driver configuration.
3
+ *
4
+ * These tests ensure type-safe inference for:
5
+ * 1. Single animation driver config
6
+ * 2. Multiple animation drivers config
7
+ * 3. TypeOverride for lazy-loaded drivers
8
+ * 4. Combination scenarios
9
+ *
10
+ * Run with: yarn test:types
11
+ */
12
+
13
+ import { expectTypeOf, describe, test } from 'vitest'
14
+ import type {
15
+ AnimationDriver,
16
+ AnimationDriverKeys,
17
+ AnimationsConfig,
18
+ AnimationsConfigObject,
19
+ CreateTamaguiConfig,
20
+ TransitionKeys,
21
+ TypeOverride,
22
+ TamaguiComponentPropsBaseBase,
23
+ } from './types'
24
+
25
+ // =============================================================================
26
+ // Mock types for testing
27
+ // =============================================================================
28
+
29
+ type MockCSSAnimations = { slow: any; fast: any }
30
+ type MockSpringAnimations = { bouncy: any; stiff: any }
31
+
32
+ type MockCSSDriver = AnimationDriver<MockCSSAnimations>
33
+ type MockSpringDriver = AnimationDriver<MockSpringAnimations>
34
+
35
+ // =============================================================================
36
+ // Test: AnimationsConfig types
37
+ // =============================================================================
38
+
39
+ describe('AnimationsConfig types', () => {
40
+ test('AnimationsConfig accepts single driver', () => {
41
+ expectTypeOf<MockCSSDriver>().toMatchTypeOf<AnimationsConfig>()
42
+ })
43
+
44
+ test('AnimationsConfig accepts multi-driver object', () => {
45
+ type MultiDriver = {
46
+ default: MockCSSDriver
47
+ spring: MockSpringDriver
48
+ }
49
+ expectTypeOf<MultiDriver>().toMatchTypeOf<AnimationsConfig>()
50
+ })
51
+
52
+ test('AnimationsConfigObject requires default key', () => {
53
+ type ValidConfig = {
54
+ default: MockCSSDriver
55
+ spring: MockSpringDriver
56
+ }
57
+ expectTypeOf<ValidConfig>().toMatchTypeOf<AnimationsConfigObject>()
58
+
59
+ // This should fail - no default key
60
+ type InvalidConfig = {
61
+ spring: MockSpringDriver
62
+ }
63
+ // @ts-expect-error - missing default key
64
+ expectTypeOf<InvalidConfig>().toMatchTypeOf<AnimationsConfigObject>()
65
+ })
66
+ })
67
+
68
+ // =============================================================================
69
+ // Test: CreateTamaguiConfig preserves animation shape
70
+ // =============================================================================
71
+
72
+ describe('CreateTamaguiConfig animation types', () => {
73
+ test('CreateTamaguiConfig.animations accepts single driver', () => {
74
+ type Config = CreateTamaguiConfig<any, any, any, any, MockCSSAnimations, any>
75
+ type Animations = Config['animations']
76
+
77
+ // Should be a union of AnimationDriver<E> | AnimationsConfigObject
78
+ // Single driver should be assignable to this union
79
+ const _driver: Animations = {} as MockCSSDriver
80
+ })
81
+
82
+ test('CreateTamaguiConfig.animations accepts multi-driver object', () => {
83
+ type Config = CreateTamaguiConfig<any, any, any, any, MockCSSAnimations, any>
84
+ type Animations = Config['animations']
85
+
86
+ // Multi-driver object should also be assignable
87
+ type MultiDriver = {
88
+ default: MockCSSDriver
89
+ spring: MockSpringDriver
90
+ }
91
+ const _multi: Animations = {} as MultiDriver
92
+ })
93
+ })
94
+
95
+ // =============================================================================
96
+ // Test: TransitionKeys inference
97
+ // =============================================================================
98
+
99
+ describe('TransitionKeys inference', () => {
100
+ test('TransitionKeys type exists and is string-based', () => {
101
+ // TransitionKeys should be a string union of animation names
102
+ expectTypeOf<TransitionKeys>().toMatchTypeOf<string>()
103
+ })
104
+ })
105
+
106
+ // =============================================================================
107
+ // Test: AnimationDriverKeys inference
108
+ // =============================================================================
109
+
110
+ describe('AnimationDriverKeys inference', () => {
111
+ test('AnimationDriverKeys is string or string union', () => {
112
+ // Should be at least 'default'
113
+ expectTypeOf<'default'>().toMatchTypeOf<AnimationDriverKeys>()
114
+ })
115
+
116
+ test('TypeOverride.animationDrivers exists in interface', () => {
117
+ // TypeOverride should have animationDrivers method
118
+ type AnimDriversFn = TypeOverride['animationDrivers']
119
+ expectTypeOf<AnimDriversFn>().toBeFunction()
120
+ })
121
+
122
+ /**
123
+ * FIXED: AnimationDriverKeys now combines inferred keys with TypeOverride.
124
+ *
125
+ * New implementation:
126
+ * 'default'
127
+ * | InferredAnimationDriverKeys
128
+ * | (ReturnType<TypeOverride['animationDrivers']> extends 1 ? never : ReturnType<...>)
129
+ *
130
+ * This ensures both config-defined drivers AND lazy-loaded drivers are available.
131
+ */
132
+ test('AnimationDriverKeys always includes default', () => {
133
+ // 'default' is always available regardless of config
134
+ expectTypeOf<'default'>().toMatchTypeOf<AnimationDriverKeys>()
135
+ })
136
+ })
137
+
138
+ // =============================================================================
139
+ // Test: animatedBy prop on components
140
+ // =============================================================================
141
+
142
+ describe('animatedBy prop', () => {
143
+ test('animatedBy exists on TamaguiComponentPropsBaseBase', () => {
144
+ type Props = TamaguiComponentPropsBaseBase
145
+ expectTypeOf<Props>().toHaveProperty('animatedBy')
146
+ })
147
+
148
+ test('animatedBy accepts null', () => {
149
+ type Props = TamaguiComponentPropsBaseBase
150
+ type AnimatedBy = Props['animatedBy']
151
+ expectTypeOf<null>().toMatchTypeOf<AnimatedBy>()
152
+ })
153
+
154
+ test('animatedBy accepts "default"', () => {
155
+ type Props = TamaguiComponentPropsBaseBase
156
+ type AnimatedBy = NonNullable<Props['animatedBy']>
157
+ expectTypeOf<'default'>().toMatchTypeOf<AnimatedBy>()
158
+ })
159
+ })
160
+
161
+ // =============================================================================
162
+ // Test: Type regression scenarios
163
+ // =============================================================================
164
+
165
+ describe('Type regression scenarios', () => {
166
+ /**
167
+ * Scenario 1: Single driver config
168
+ * User sets: animations: cssDriver
169
+ * Expected animatedBy values: 'default' only
170
+ * Expected transition values: keys from cssDriver's animations
171
+ */
172
+ test('single driver config scenario', () => {
173
+ // animatedBy should only allow 'default' since there's one driver
174
+ // This is correct behavior
175
+ })
176
+
177
+ /**
178
+ * Scenario 2: Multiple drivers config
179
+ * User sets: animations: { default: css, spring: moti, physics: reanimated }
180
+ * Expected animatedBy values: 'default' | 'spring' | 'physics'
181
+ * Expected transition values: keys from default driver's animations
182
+ *
183
+ * FIXED: CreateTamaguiConfig.animations now accepts AnimationsConfigObject
184
+ * which preserves the multi-driver shape for type inference.
185
+ */
186
+ test('multiple drivers config scenario - CreateTamaguiConfig accepts it', () => {
187
+ type Config = CreateTamaguiConfig<any, any, any, any, MockCSSAnimations, any>
188
+ type Animations = Config['animations']
189
+
190
+ // Multi-driver config is now accepted
191
+ type MultiDriverConfig = {
192
+ default: MockCSSDriver
193
+ spring: MockSpringDriver
194
+ }
195
+ const _config: Animations = {} as MultiDriverConfig
196
+ })
197
+
198
+ /**
199
+ * Scenario 3: TypeOverride for lazy loading
200
+ * User uses TypeOverride to add 'lazySpring' driver loaded at runtime
201
+ * Expected animatedBy values: inferred keys + 'lazySpring'
202
+ *
203
+ * FIXED: AnimationDriverKeys now always includes:
204
+ * - 'default' (always)
205
+ * - InferredAnimationDriverKeys (from config)
206
+ * - TypeOverride keys (when defined)
207
+ */
208
+ test('TypeOverride combines with inferred', () => {
209
+ // Both inferred and override keys should be included
210
+ // 'default' is always available
211
+ expectTypeOf<'default'>().toMatchTypeOf<AnimationDriverKeys>()
212
+ })
213
+
214
+ /**
215
+ * Scenario 4: Both multiple drivers + TypeOverride
216
+ * Config: { default: css, spring: moti }
217
+ * Override: 'physics'
218
+ * Expected: 'default' | 'spring' | 'physics'
219
+ *
220
+ * FIXED: The union type combines all sources
221
+ */
222
+ test('combined multiple drivers and override', () => {
223
+ // All keys should be available from both sources
224
+ // Note: actual inference depends on user's TamaguiConfig setup
225
+ expectTypeOf<'default'>().toMatchTypeOf<AnimationDriverKeys>()
226
+ })
227
+ })
228
+
229
+ // =============================================================================
230
+ // Documentation: Applied fixes
231
+ // =============================================================================
232
+
233
+ /**
234
+ * SUMMARY OF APPLIED TYPE FIXES:
235
+ *
236
+ * 1. CreateTamaguiConfig (line ~737):
237
+ * FIXED: Changed from `animations: AnimationDriver<E>`
238
+ * To: `animations: AnimationDriver<E> | AnimationsConfigObject`
239
+ * This preserves the multi-driver object shape for type inference.
240
+ *
241
+ * 2. AnimationDriverKeys (line ~888-895):
242
+ * FIXED: Changed from conditional (inferred OR override)
243
+ * To: Union of all sources:
244
+ * | 'default'
245
+ * | InferredAnimationDriverKeys
246
+ * | (TypeOverride extends 1 ? never : TypeOverride)
247
+ * This ensures both config-defined AND lazy-loaded drivers are available.
248
+ *
249
+ * 3. InferredAnimationDriverKeys (line 879-886):
250
+ * No changes needed - works correctly with the above fixes.
251
+ * Properly infers 'default' for single driver and keyof for multi-driver.
252
+ *
253
+ * 4. TransitionKeys (line 868-876):
254
+ * No changes needed - already handles both single and multi-driver cases.
255
+ * Uses default driver's config for animation names.
256
+ */
package/src/config.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { isWeb } from '@tamagui/constants'
2
2
  import { MISSING_THEME_MESSAGE } from './constants/constants'
3
3
  import type {
4
+ AnimationDriver,
4
5
  ConfigListener,
5
6
  GenericTamaguiSettings,
6
7
  TamaguiInternalConfig,
@@ -196,3 +197,43 @@ export function setupDev(conf: DevConfig) {
196
197
  devConfig = conf
197
198
  }
198
199
  }
200
+
201
+ /**
202
+ * Dynamically load an animation driver at runtime.
203
+ * Useful for lazy loading heavier animation drivers after initial page load.
204
+ *
205
+ * @example
206
+ * ```tsx
207
+ * // import loadAnimationDriver from tamagui
208
+ * // import createAnimations from your preferred driver (e.g. animations-reanimated)
209
+ *
210
+ * const driver = createAnimations({ bouncy: { type: 'spring', damping: 10 } })
211
+ * loadAnimationDriver('spring', driver)
212
+ * ```
213
+ */
214
+ export function loadAnimationDriver(name: string, driver: AnimationDriver) {
215
+ const config = getConfigFromGlobalOrLocal()
216
+ if (!config) {
217
+ if (process.env.NODE_ENV === 'development') {
218
+ console.warn('loadAnimationDriver called before createTamagui')
219
+ }
220
+ return
221
+ }
222
+
223
+ // Convert single driver to object format if needed
224
+ if (config.animations && !('default' in config.animations)) {
225
+ ;(config as any).animations = {
226
+ default: config.animations,
227
+ }
228
+ }
229
+
230
+ // Add the new driver
231
+ if (config.animations) {
232
+ ;(config.animations as Record<string, any>)[name] = driver
233
+ } else {
234
+ ;(config as any).animations = {
235
+ default: driver,
236
+ [name]: driver,
237
+ }
238
+ }
239
+ }
@@ -18,6 +18,7 @@ import { defaultComponentStateMounted } from './defaultComponentState'
18
18
  import { getSplitStyles, useSplitStyles } from './helpers/getSplitStyles'
19
19
  import { log } from './helpers/log'
20
20
  import { type GenericProps, mergeComponentProps } from './helpers/mergeProps'
21
+ import { mergeRenderElementProps } from './helpers/mergeRenderElementProps'
21
22
  import { objectIdentityKey } from './helpers/objectIdentityKey'
22
23
  import { setElementProps } from './helpers/setElementProps'
23
24
  import { subscribeToContextGroup } from './helpers/subscribeToContextGroup'
@@ -414,7 +415,23 @@ export function createComponent<
414
415
  }
415
416
 
416
417
  const groupContextParent = React.useContext(GroupContext)
417
- const animationDriver = componentContext.animationDriver
418
+
419
+ // Get animation driver - either from animatedBy prop lookup or context
420
+ const animationDriver = (() => {
421
+ if (props.animatedBy && config?.animations) {
422
+ const animations = config.animations
423
+ // If animations is an object with named drivers (has 'default' key)
424
+ if ('default' in animations) {
425
+ return (
426
+ (animations as Record<string, any>)[props.animatedBy] ?? animations.default
427
+ )
428
+ }
429
+ // Single driver config - only 'default' makes sense
430
+ return props.animatedBy === 'default' ? animations : null
431
+ }
432
+ return componentContext.animationDriver
433
+ })()
434
+
418
435
  const useAnimations = animationDriver?.useAnimations as UseAnimationHook | undefined
419
436
 
420
437
  const componentState = useComponentState(
@@ -497,7 +514,7 @@ export function createComponent<
497
514
  }
498
515
  }, [stateRef, groupName, groupContextParent])
499
516
 
500
- // if our animation driver supports noReRender, we'll replace this below with
517
+ // if our animation driver supports avoidReRenders, we'll replace this below with
501
518
  // a version that essentially uses an internall emitter rather than setting state
502
519
  // but still stores the current state and applies if it it needs to during render
503
520
  let setStateShallow = componentState.setStateShallow
@@ -505,9 +522,9 @@ export function createComponent<
505
522
  if (process.env.NODE_ENV === 'development' && time) time`use-state`
506
523
 
507
524
  const isTaggable = !Component || typeof Component === 'string'
508
- const tagProp = props.tag
509
- // default to tag, fallback to component (when both strings)
510
- const element = isWeb ? (isTaggable ? tagProp || Component : Component) : Component
525
+ const renderProp = props.render
526
+ // default to render prop, fallback to component (when both strings)
527
+ const element = isWeb ? (isTaggable ? renderProp || Component : Component) : Component
511
528
 
512
529
  const BaseTextComponent = BaseText || element || 'span'
513
530
  const BaseViewComponent = BaseView || element || (hasTextAncestor ? 'span' : 'div')
@@ -626,7 +643,7 @@ export function createComponent<
626
643
 
627
644
  if (process.env.NODE_ENV === 'development' && time) time`theme`
628
645
 
629
- elementType = Component || elementType
646
+ elementType = element || elementType
630
647
  const isStringElement = typeof elementType === 'string'
631
648
 
632
649
  const mediaState = useMedia(componentContext, debugProp)
@@ -918,8 +935,8 @@ export function createComponent<
918
935
  }
919
936
  }
920
937
 
921
- if (tagProp && elementType['acceptTagProp']) {
922
- viewProps.tag = tagProp
938
+ if (renderProp && elementType['acceptTagProp']) {
939
+ viewProps.render = renderProp
923
940
  }
924
941
 
925
942
  // once you set animation prop don't remove it, you can set to undefined/false
@@ -949,6 +966,7 @@ export function createComponent<
949
966
  componentState: state,
950
967
  styleProps,
951
968
  theme,
969
+ themeName,
952
970
  pseudos: pseudos || null,
953
971
  staticConfig,
954
972
  stateRef,
@@ -1384,11 +1402,28 @@ export function createComponent<
1384
1402
  if (useChildrenResult) {
1385
1403
  content = useChildrenResult
1386
1404
  } else {
1387
- content = React.createElement(elementType, viewProps, content)
1405
+ // Handle render prop variants: function, JSX element, or string
1406
+ if (typeof renderProp === 'function') {
1407
+ // Render function: full control with props and state
1408
+ const renderProps = { ...viewProps, children: content }
1409
+ content = renderProp(renderProps, state)
1410
+ } else if (
1411
+ renderProp &&
1412
+ typeof renderProp === 'object' &&
1413
+ React.isValidElement(renderProp)
1414
+ ) {
1415
+ // JSX element: clone with merged props
1416
+ const elementProps = (renderProp as React.ReactElement).props || {}
1417
+ const mergedProps = mergeRenderElementProps(elementProps, viewProps, content)
1418
+ content = React.cloneElement(renderProp as React.ReactElement, mergedProps)
1419
+ } else {
1420
+ content = React.createElement(elementType, viewProps, content)
1421
+ }
1388
1422
  }
1389
1423
 
1390
1424
  // needs to reset the presence state for nested children
1391
- const ResetPresence = config?.animations?.ResetPresence
1425
+ // Use the resolved animationDriver (handles multi-driver config)
1426
+ const ResetPresence = animationDriver?.ResetPresence
1392
1427
  const needsReset = Boolean(
1393
1428
  // not when passing down to child
1394
1429
  !asChild &&
@@ -166,9 +166,9 @@ export function createTamagui<Conf extends CreateTamaguiProps>(
166
166
  }
167
167
  }
168
168
 
169
- const sep = configIn.settings?.cssStyleSeparator || ''
169
+ const sep = ` `
170
170
  function declarationsToRuleSet(decs: string[], selector = '') {
171
- return `:root${selector} {${sep}${[...decs].join(`;${sep}`)}${sep}}`
171
+ return `:root${selector} {${sep}${[...decs].join(`;${sep}`)}\n}`
172
172
  }
173
173
 
174
174
  // non-font
@@ -37,6 +37,7 @@ import type {
37
37
  GetStyleState,
38
38
  PseudoStyles,
39
39
  RulesToInsert,
40
+ SpaceTokens,
40
41
  SplitStyleProps,
41
42
  StaticConfig,
42
43
  StyleObject,
@@ -203,6 +204,7 @@ export const getSplitStyles: StyleSplitter = (
203
204
  process.env.TAMAGUI_TARGET === 'native' ? (undefined as any) : {}
204
205
  const classNames: ClassNamesObject = {}
205
206
 
207
+ let space: SpaceTokens | null = props.space
206
208
  let pseudos: PseudoStyles | null = null
207
209
  let hasMedia: boolean | Set<string> = false
208
210
  let dynamicThemeAccess: boolean | undefined
@@ -923,10 +925,10 @@ export const getSplitStyles: StyleSplitter = (
923
925
  dynamicThemeAccess = true
924
926
  // only apply if this is the current theme
925
927
  if (isCurrentScheme) {
926
- // update mediastyle so the later merge loop uses correct value
928
+ // update mediaStyle so the later merge loop uses correct value
927
929
  mediaStyle[subKey] = val
928
930
  } else {
929
- // Remove from mediaStyle so it doesn't get merged with wrong theme's value
931
+ // remove from mediaStyle so it doesn't get merged with wrong theme's value
930
932
  delete mediaStyle[subKey]
931
933
  }
932
934
  continue
@@ -36,8 +36,6 @@ export function getThemeCSSRules(props: {
36
36
  const CNP = `.${THEME_CLASSNAME_PREFIX}`
37
37
  let vars = ''
38
38
 
39
- // themeToVariableToValueMap.set(theme, {})
40
- // const varToValMap = themeToVariableToValueMap.get(theme)
41
39
  for (const themeKey in theme) {
42
40
  const variable = theme[themeKey] as Variable
43
41
  let value: any = null
@@ -60,9 +58,9 @@ export function getThemeCSSRules(props: {
60
58
  const selectorsSet = new Set(isDarkBase || isLightBase ? baseSelectors : [])
61
59
 
62
60
  // since we dont specify dark/light in classnames we have to do an awkward specificity war
63
- // use config.maxDarkLightNesting to determine how deep you can nest until it breaks
61
+ // hardcoded to support 2 levels of nesting (e.g. light > dark or dark > light)
64
62
  if (hasDarkLight) {
65
- const maxDepth = getSetting('maxDarkLightNesting') ?? 3
63
+ const maxDepth = 2
66
64
 
67
65
  for (const subName of names) {
68
66
  const isDark = isDarkBase || subName.startsWith('dark_')
@@ -83,7 +81,6 @@ export function getThemeCSSRules(props: {
83
81
  for (let depth = 0; depth < numSelectors; depth++) {
84
82
  const isOdd = depth % 2 === 1
85
83
 
86
- // wtf is this continue:
87
84
  if (isOdd && depth < 3) {
88
85
  continue
89
86
  }
@@ -106,9 +103,6 @@ export function getThemeCSSRules(props: {
106
103
  // for light/dark/light:
107
104
  const parentSelectorString = parentSelectors.join(' ')
108
105
  selectorsSet.add(`${parentSelectorString} ${nextChildSelector}`)
109
- // selectorsSet.add(
110
- // `${parentSelectors.join(' ')} ${nextChildSelector}.is_inversed`.trim()
111
- // )
112
106
  }
113
107
  }
114
108
  }
@@ -116,7 +110,6 @@ export function getThemeCSSRules(props: {
116
110
  const selectors = [...selectorsSet].sort(sortString)
117
111
 
118
112
  // only do our :root attach if it's not light/dark - not support sub themes on root saves a lot of effort/size
119
- // this isBaseTheme logic could probably be done more efficiently above
120
113
  const selectorsString =
121
114
  selectors
122
115
  .map((x) => {
@@ -0,0 +1,17 @@
1
+ import { mergeSlotStyleProps } from './mergeSlotStyleProps'
2
+
3
+ /**
4
+ * Merges props from a render element with viewProps from Tamagui.
5
+ * viewProps takes precedence, elementProps provides fallbacks.
6
+ * Style/className are merged, refs and event handlers are composed.
7
+ */
8
+ export function mergeRenderElementProps(
9
+ elementProps: Record<string, any>,
10
+ viewProps: Record<string, any>,
11
+ children: any
12
+ ): Record<string, any> {
13
+ // elementProps as base, viewProps as overlay (viewProps wins)
14
+ const merged = mergeSlotStyleProps({ ...elementProps }, viewProps)
15
+ merged.children = children
16
+ return merged
17
+ }