@tamagui/core 1.0.0-alpha.38 → 1.0.0-alpha.41

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 (356) hide show
  1. package/dist/cjs/conf.js +52 -0
  2. package/dist/cjs/conf.js.map +7 -0
  3. package/dist/cjs/constants/constants.js +55 -0
  4. package/dist/cjs/constants/constants.js.map +7 -0
  5. package/dist/cjs/constants/platform.js +44 -0
  6. package/dist/cjs/constants/platform.js.map +7 -0
  7. package/dist/cjs/constants/pseudos.js +42 -0
  8. package/dist/cjs/constants/pseudos.js.map +7 -0
  9. package/dist/cjs/constants/rnw.js +45 -0
  10. package/dist/cjs/constants/rnw.js.map +7 -0
  11. package/dist/cjs/createComponent.js +539 -0
  12. package/dist/cjs/createComponent.js.map +7 -0
  13. package/dist/cjs/createFont.js +51 -0
  14. package/dist/cjs/createFont.js.map +7 -0
  15. package/dist/cjs/createShorthands.js +33 -0
  16. package/dist/cjs/createShorthands.js.map +7 -0
  17. package/dist/cjs/createTamagui.js +205 -0
  18. package/dist/cjs/createTamagui.js.map +7 -0
  19. package/dist/cjs/createTheme.js +30 -0
  20. package/dist/cjs/createTheme.js.map +7 -0
  21. package/dist/cjs/createTokens.js +56 -0
  22. package/dist/cjs/createTokens.js.map +7 -0
  23. package/dist/cjs/createVariable.js +48 -0
  24. package/dist/cjs/createVariable.js.map +7 -0
  25. package/dist/cjs/getThemeParentClassName.js +34 -0
  26. package/dist/cjs/getThemeParentClassName.js.map +7 -0
  27. package/dist/cjs/helpers/addStylesUsingClassname.js +80 -0
  28. package/dist/cjs/helpers/addStylesUsingClassname.js.map +7 -0
  29. package/dist/cjs/helpers/createMediaStyle.js +57 -0
  30. package/dist/cjs/helpers/createMediaStyle.js.map +7 -0
  31. package/dist/cjs/helpers/createPropMapper.js +198 -0
  32. package/dist/cjs/helpers/createPropMapper.js.map +7 -0
  33. package/dist/cjs/helpers/createTamaguiProvider.js +80 -0
  34. package/dist/cjs/helpers/createTamaguiProvider.js.map +7 -0
  35. package/dist/cjs/helpers/extendStaticConfig.js +83 -0
  36. package/dist/cjs/helpers/extendStaticConfig.js.map +7 -0
  37. package/dist/cjs/helpers/fixNativeShadow.js +31 -0
  38. package/dist/cjs/helpers/fixNativeShadow.js.map +7 -0
  39. package/dist/cjs/helpers/fixNativeShadow.native.js +57 -0
  40. package/dist/cjs/helpers/fixNativeShadow.native.js.map +7 -0
  41. package/dist/cjs/helpers/getSplitStyles.js +181 -0
  42. package/dist/cjs/helpers/getSplitStyles.js.map +7 -0
  43. package/dist/cjs/helpers/getStylesAtomic.js +118 -0
  44. package/dist/cjs/helpers/getStylesAtomic.js.map +7 -0
  45. package/dist/cjs/helpers/getStylesAtomic.native.js +33 -0
  46. package/dist/cjs/helpers/getStylesAtomic.native.js.map +7 -0
  47. package/dist/cjs/helpers/getThemeParentClassName.js +34 -0
  48. package/dist/cjs/helpers/getThemeParentClassName.js.map +7 -0
  49. package/dist/cjs/helpers/insertStyleRule.js +47 -0
  50. package/dist/cjs/helpers/insertStyleRule.js.map +7 -0
  51. package/dist/cjs/helpers/isObj.js +30 -0
  52. package/dist/cjs/helpers/isObj.js.map +7 -0
  53. package/dist/cjs/helpers/isTamaguiElement.js +34 -0
  54. package/dist/cjs/helpers/isTamaguiElement.js.map +7 -0
  55. package/dist/cjs/helpers/matchMedia.js +41 -0
  56. package/dist/cjs/helpers/matchMedia.js.map +7 -0
  57. package/dist/cjs/helpers/matchMedia.native.js +37 -0
  58. package/dist/cjs/helpers/matchMedia.native.js.map +7 -0
  59. package/dist/cjs/helpers/themeable.js +84 -0
  60. package/dist/cjs/helpers/themeable.js.map +7 -0
  61. package/dist/cjs/helpers/validate.js +88 -0
  62. package/dist/cjs/helpers/validate.js.map +7 -0
  63. package/dist/cjs/hooks/useConstant.js +38 -0
  64. package/dist/cjs/hooks/useConstant.js.map +7 -0
  65. package/dist/cjs/hooks/useFeatures.js +106 -0
  66. package/dist/cjs/hooks/useFeatures.js.map +7 -0
  67. package/dist/cjs/hooks/useMedia.js +208 -0
  68. package/dist/cjs/hooks/useMedia.js.map +7 -0
  69. package/dist/cjs/hooks/usePressable.js +51 -0
  70. package/dist/cjs/hooks/usePressable.js.map +7 -0
  71. package/dist/cjs/hooks/useTheme.js +119 -0
  72. package/dist/cjs/hooks/useTheme.js.map +7 -0
  73. package/dist/cjs/index.js +64 -0
  74. package/dist/cjs/index.js.map +7 -0
  75. package/dist/cjs/static/postProcessStyles.js +41 -0
  76. package/dist/cjs/static/postProcessStyles.js.map +7 -0
  77. package/dist/cjs/static.js +35 -0
  78. package/dist/cjs/static.js.map +7 -0
  79. package/dist/cjs/styled.js +73 -0
  80. package/dist/cjs/styled.js.map +7 -0
  81. package/dist/cjs/types.js +21 -0
  82. package/dist/cjs/types.js.map +7 -0
  83. package/dist/cjs/views/Animated.js +135 -0
  84. package/dist/cjs/views/Animated.js.map +7 -0
  85. package/dist/cjs/views/Stack.js +52 -0
  86. package/dist/cjs/views/Stack.js.map +7 -0
  87. package/dist/cjs/views/Text.js +94 -0
  88. package/dist/cjs/views/Text.js.map +7 -0
  89. package/dist/cjs/views/TextAncestorContext.js +46 -0
  90. package/dist/cjs/views/TextAncestorContext.js.map +7 -0
  91. package/dist/cjs/views/Theme.js +97 -0
  92. package/dist/cjs/views/Theme.js.map +7 -0
  93. package/dist/cjs/views/ThemeContext.js +30 -0
  94. package/dist/cjs/views/ThemeContext.js.map +7 -0
  95. package/dist/cjs/views/ThemeInverse.js +54 -0
  96. package/dist/cjs/views/ThemeInverse.js.map +7 -0
  97. package/dist/cjs/views/ThemeManagerContext.js +85 -0
  98. package/dist/cjs/views/ThemeManagerContext.js.map +7 -0
  99. package/dist/cjs/views/ThemeProvider.js +73 -0
  100. package/dist/cjs/views/ThemeProvider.js.map +7 -0
  101. package/dist/esm/conf.js +29 -0
  102. package/dist/esm/conf.js.map +7 -0
  103. package/dist/esm/constants/constants.js +18 -0
  104. package/dist/esm/constants/constants.js.map +7 -0
  105. package/dist/{constants → esm/constants}/platform.js +3 -2
  106. package/dist/esm/constants/platform.js.map +7 -0
  107. package/dist/esm/constants/pseudos.js +18 -0
  108. package/dist/esm/constants/pseudos.js.map +7 -0
  109. package/dist/esm/constants/rnw.js +22 -0
  110. package/dist/esm/constants/rnw.js.map +7 -0
  111. package/dist/esm/createComponent.js +469 -0
  112. package/dist/esm/createComponent.js.map +7 -0
  113. package/dist/esm/createFont.js +28 -0
  114. package/dist/esm/createFont.js.map +7 -0
  115. package/dist/{createShorthands.js → esm/createShorthands.js} +0 -0
  116. package/dist/esm/createShorthands.js.map +7 -0
  117. package/dist/esm/createTamagui.js +166 -0
  118. package/dist/esm/createTamagui.js.map +7 -0
  119. package/dist/esm/createTheme.js +7 -0
  120. package/dist/esm/createTheme.js.map +7 -0
  121. package/dist/{createTokens.js → esm/createTokens.js} +4 -0
  122. package/dist/esm/createTokens.js.map +7 -0
  123. package/dist/{createVariable.js → esm/createVariable.js} +6 -2
  124. package/dist/esm/createVariable.js.map +7 -0
  125. package/dist/esm/getThemeParentClassName.js +11 -0
  126. package/dist/esm/getThemeParentClassName.js.map +7 -0
  127. package/dist/esm/helpers/addStylesUsingClassname.js +57 -0
  128. package/dist/esm/helpers/addStylesUsingClassname.js.map +7 -0
  129. package/dist/{helpers → esm/helpers}/createMediaStyle.js +0 -0
  130. package/dist/{helpers → esm/helpers}/createMediaStyle.js.map +1 -1
  131. package/dist/esm/helpers/createPropMapper.js +162 -0
  132. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  133. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js +2 -20
  134. package/dist/esm/helpers/createTamaguiProvider.js.map +7 -0
  135. package/dist/esm/helpers/extendStaticConfig.js +60 -0
  136. package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
  137. package/dist/esm/helpers/fixNativeShadow.js +8 -0
  138. package/dist/esm/helpers/fixNativeShadow.js.map +7 -0
  139. package/dist/esm/helpers/fixNativeShadow.native.js +34 -0
  140. package/dist/esm/helpers/fixNativeShadow.native.js.map +7 -0
  141. package/dist/{helpers → esm/helpers}/getSplitStyles.js +43 -40
  142. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  143. package/dist/esm/helpers/getStylesAtomic.js +84 -0
  144. package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
  145. package/dist/esm/helpers/getStylesAtomic.native.js +10 -0
  146. package/dist/esm/helpers/getStylesAtomic.native.js.map +7 -0
  147. package/dist/esm/helpers/getThemeParentClassName.js +11 -0
  148. package/dist/esm/helpers/getThemeParentClassName.js.map +7 -0
  149. package/dist/{helpers → esm/helpers}/insertStyleRule.js +7 -0
  150. package/dist/esm/helpers/insertStyleRule.js.map +7 -0
  151. package/dist/esm/helpers/isObj.js +7 -0
  152. package/dist/esm/helpers/isObj.js.map +7 -0
  153. package/dist/esm/helpers/isTamaguiElement.js +11 -0
  154. package/dist/esm/helpers/isTamaguiElement.js.map +7 -0
  155. package/dist/{helpers → esm/helpers}/matchMedia.js +3 -0
  156. package/dist/esm/helpers/matchMedia.js.map +7 -0
  157. package/dist/{helpers → esm/helpers}/matchMedia.native.js +1 -0
  158. package/dist/{helpers → esm/helpers}/matchMedia.native.js.map +3 -3
  159. package/dist/{helpers → esm/helpers}/themeable.js +1 -1
  160. package/dist/{helpers → esm/helpers}/themeable.js.map +3 -3
  161. package/dist/esm/helpers/validate.js +60 -0
  162. package/dist/esm/helpers/validate.js.map +7 -0
  163. package/dist/{hooks → esm/hooks}/useConstant.js +0 -0
  164. package/dist/{hooks → esm/hooks}/useConstant.js.map +1 -1
  165. package/dist/{hooks → esm/hooks}/useFeatures.js +39 -51
  166. package/dist/esm/hooks/useFeatures.js.map +7 -0
  167. package/dist/{hooks → esm/hooks}/useMedia.js +21 -19
  168. package/dist/esm/hooks/useMedia.js.map +7 -0
  169. package/dist/{hooks → esm/hooks}/usePressable.js +2 -1
  170. package/dist/{hooks → esm/hooks}/usePressable.js.map +2 -2
  171. package/dist/{hooks → esm/hooks}/useTheme.js +30 -27
  172. package/dist/esm/hooks/useTheme.js.map +7 -0
  173. package/dist/{index.js → esm/index.js} +22 -5
  174. package/dist/esm/index.js.map +7 -0
  175. package/dist/{static → esm/static}/postProcessStyles.js +3 -3
  176. package/dist/esm/static/postProcessStyles.js.map +7 -0
  177. package/dist/{static.js → esm/static.js} +6 -1
  178. package/dist/esm/static.js.map +7 -0
  179. package/dist/esm/styled.js +21 -0
  180. package/dist/esm/styled.js.map +7 -0
  181. package/dist/{types.js → esm/types.js} +0 -0
  182. package/dist/{types.js.map → esm/types.js.map} +0 -0
  183. package/dist/{views → esm/views}/Animated.js +0 -0
  184. package/dist/{views → esm/views}/Animated.js.map +3 -3
  185. package/dist/{views → esm/views}/Stack.js +1 -1
  186. package/dist/esm/views/Stack.js.map +7 -0
  187. package/dist/esm/views/Text.js +60 -0
  188. package/dist/esm/views/Text.js.map +7 -0
  189. package/dist/esm/views/TextAncestorContext.js +18 -0
  190. package/dist/esm/views/TextAncestorContext.js.map +7 -0
  191. package/dist/{views → esm/views}/Theme.js +30 -24
  192. package/dist/esm/views/Theme.js.map +7 -0
  193. package/dist/{views → esm/views}/ThemeContext.js +0 -0
  194. package/dist/{views → esm/views}/ThemeContext.js.map +1 -1
  195. package/dist/{views → esm/views}/ThemeInverse.js +0 -1
  196. package/dist/{views → esm/views}/ThemeInverse.js.map +3 -3
  197. package/dist/{views → esm/views}/ThemeManagerContext.js +15 -8
  198. package/dist/esm/views/ThemeManagerContext.js.map +7 -0
  199. package/dist/{views → esm/views}/ThemeProvider.js +13 -13
  200. package/dist/esm/views/ThemeProvider.js.map +7 -0
  201. package/dist/jsx/conf.js +28 -0
  202. package/dist/jsx/constants/constants.js +17 -0
  203. package/dist/jsx/constants/platform.js +19 -0
  204. package/dist/jsx/constants/pseudos.js +17 -0
  205. package/dist/jsx/constants/rnw.js +21 -0
  206. package/dist/jsx/createComponent.js +463 -0
  207. package/dist/jsx/createFont.js +27 -0
  208. package/dist/jsx/createShorthands.js +9 -0
  209. package/dist/jsx/createTamagui.js +165 -0
  210. package/dist/jsx/createTheme.js +6 -0
  211. package/dist/jsx/createTokens.js +32 -0
  212. package/dist/jsx/createVariable.js +24 -0
  213. package/dist/jsx/getThemeParentClassName.js +10 -0
  214. package/dist/jsx/helpers/addStylesUsingClassname.js +56 -0
  215. package/dist/jsx/helpers/createMediaStyle.js +33 -0
  216. package/dist/jsx/helpers/createPropMapper.js +161 -0
  217. package/dist/jsx/helpers/createTamaguiProvider.js +19 -0
  218. package/dist/jsx/helpers/extendStaticConfig.js +59 -0
  219. package/dist/jsx/helpers/fixNativeShadow.js +7 -0
  220. package/dist/jsx/helpers/fixNativeShadow.native.js +33 -0
  221. package/dist/jsx/helpers/getSplitStyles.js +149 -0
  222. package/dist/jsx/helpers/getStylesAtomic.js +83 -0
  223. package/dist/jsx/helpers/getStylesAtomic.native.js +9 -0
  224. package/dist/jsx/helpers/getThemeParentClassName.js +10 -0
  225. package/dist/jsx/helpers/insertStyleRule.js +23 -0
  226. package/dist/jsx/helpers/isObj.js +6 -0
  227. package/dist/jsx/helpers/isTamaguiElement.js +10 -0
  228. package/dist/jsx/helpers/matchMedia.js +17 -0
  229. package/dist/jsx/helpers/matchMedia.native.js +8 -0
  230. package/dist/jsx/helpers/themeable.js +23 -0
  231. package/dist/jsx/helpers/validate.js +59 -0
  232. package/dist/jsx/hooks/useConstant.js +14 -0
  233. package/dist/jsx/hooks/useFeatures.js +57 -0
  234. package/dist/jsx/hooks/useMedia.js +174 -0
  235. package/dist/jsx/hooks/usePressable.js +13 -0
  236. package/dist/jsx/hooks/useTheme.js +96 -0
  237. package/dist/jsx/index.js +46 -0
  238. package/dist/jsx/static/postProcessStyles.js +17 -0
  239. package/dist/jsx/static.js +14 -0
  240. package/dist/jsx/styled.js +20 -0
  241. package/dist/jsx/types.js +0 -0
  242. package/dist/jsx/views/Animated.js +74 -0
  243. package/dist/jsx/views/Stack.js +11 -0
  244. package/dist/jsx/views/Text.js +59 -0
  245. package/dist/jsx/views/TextAncestorContext.js +15 -0
  246. package/dist/jsx/views/Theme.js +63 -0
  247. package/dist/jsx/views/ThemeContext.js +5 -0
  248. package/dist/jsx/views/ThemeInverse.js +22 -0
  249. package/dist/jsx/views/ThemeManagerContext.js +61 -0
  250. package/dist/jsx/views/ThemeProvider.js +39 -0
  251. package/package.json +6 -6
  252. package/types/conf.d.ts +45 -0
  253. package/types/conf.d.ts.map +1 -0
  254. package/types/constants/constants.d.ts +2 -0
  255. package/types/constants/constants.d.ts.map +1 -0
  256. package/types/constants/platform.d.ts.map +1 -0
  257. package/types/constants/pseudos.d.ts.map +1 -0
  258. package/types/constants/rnw.d.ts.map +1 -0
  259. package/types/createComponent.d.ts.map +1 -0
  260. package/types/createFont.d.ts.map +1 -0
  261. package/types/createShorthands.d.ts.map +1 -0
  262. package/types/createTamagui.d.ts +2 -43
  263. package/types/createTamagui.d.ts.map +1 -0
  264. package/types/createTheme.d.ts.map +1 -0
  265. package/types/createTokens.d.ts.map +1 -0
  266. package/types/createVariable.d.ts.map +1 -0
  267. package/types/helpers/addStylesUsingClassname.d.ts.map +1 -0
  268. package/types/helpers/createMediaStyle.d.ts.map +1 -0
  269. package/types/helpers/createPropMapper.d.ts.map +1 -0
  270. package/types/helpers/createTamaguiProvider.d.ts.map +1 -0
  271. package/types/helpers/extendStaticConfig.d.ts.map +1 -0
  272. package/types/helpers/fixNativeShadow.d.ts.map +1 -0
  273. package/types/helpers/fixNativeShadow.native.d.ts.map +1 -0
  274. package/types/helpers/getSplitStyles.d.ts.map +1 -0
  275. package/types/helpers/getStylesAtomic.d.ts.map +1 -0
  276. package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
  277. package/types/helpers/getThemeParentClassName.d.ts +2 -0
  278. package/types/helpers/getThemeParentClassName.d.ts.map +1 -0
  279. package/types/helpers/insertStyleRule.d.ts.map +1 -0
  280. package/types/helpers/isObj.d.ts.map +1 -0
  281. package/types/helpers/isTamaguiElement.d.ts.map +1 -0
  282. package/types/helpers/matchMedia.d.ts.map +1 -0
  283. package/types/helpers/matchMedia.native.d.ts.map +1 -0
  284. package/types/helpers/themeable.d.ts.map +1 -0
  285. package/types/helpers/validate.d.ts.map +1 -0
  286. package/types/hooks/useConstant.d.ts.map +1 -0
  287. package/types/hooks/useFeatures.d.ts.map +1 -0
  288. package/types/hooks/useMedia.d.ts.map +1 -0
  289. package/types/hooks/usePressable.d.ts.map +1 -0
  290. package/types/hooks/useTheme.d.ts.map +1 -0
  291. package/types/index.d.ts +2 -0
  292. package/types/index.d.ts.map +1 -0
  293. package/types/static/postProcessStyles.d.ts.map +1 -0
  294. package/types/static.d.ts.map +1 -0
  295. package/types/styled.d.ts +1 -1
  296. package/types/styled.d.ts.map +1 -0
  297. package/types/types.d.ts +2 -2
  298. package/types/types.d.ts.map +1 -0
  299. package/types/views/Animated.d.ts.map +1 -0
  300. package/types/views/Stack.d.ts.map +1 -0
  301. package/types/views/Text.d.ts.map +1 -0
  302. package/types/views/TextAncestorContext.d.ts.map +1 -0
  303. package/types/views/Theme.d.ts.map +1 -0
  304. package/types/views/ThemeContext.d.ts.map +1 -0
  305. package/types/views/ThemeInverse.d.ts.map +1 -0
  306. package/types/views/ThemeManagerContext.d.ts.map +1 -0
  307. package/types/views/ThemeProvider.d.ts +0 -1
  308. package/types/views/ThemeProvider.d.ts.map +1 -0
  309. package/dist/constants/constants.js +0 -32
  310. package/dist/constants/constants.js.map +0 -7
  311. package/dist/constants/platform.js.map +0 -7
  312. package/dist/constants/rnw.js +0 -10
  313. package/dist/constants/rnw.js.map +0 -7
  314. package/dist/constants/styleConstants.js +0 -59
  315. package/dist/constants/styleConstants.js.map +0 -7
  316. package/dist/createComponent.js +0 -395
  317. package/dist/createComponent.js.map +0 -7
  318. package/dist/createShorthands.js.map +0 -7
  319. package/dist/createTamagui.js +0 -107
  320. package/dist/createTamagui.js.map +0 -7
  321. package/dist/createTokens.js.map +0 -7
  322. package/dist/createVariable.js.map +0 -7
  323. package/dist/helpers/addStylesUsingClassname.js +0 -28
  324. package/dist/helpers/addStylesUsingClassname.js.map +0 -7
  325. package/dist/helpers/createTamaguiProvider.js.map +0 -7
  326. package/dist/helpers/extendStaticConfig.js +0 -158
  327. package/dist/helpers/extendStaticConfig.js.map +0 -7
  328. package/dist/helpers/fixNativeShadow.js +0 -38
  329. package/dist/helpers/fixNativeShadow.js.map +0 -7
  330. package/dist/helpers/getSplitStyles.js.map +0 -7
  331. package/dist/helpers/insertStyleRule.js.map +0 -7
  332. package/dist/helpers/matchMedia.js.map +0 -7
  333. package/dist/helpers/setIfChanged.js +0 -17
  334. package/dist/helpers/setIfChanged.js.map +0 -7
  335. package/dist/hooks/useFeatures.js.map +0 -7
  336. package/dist/hooks/useForceUpdate.js +0 -28
  337. package/dist/hooks/useForceUpdate.js.map +0 -7
  338. package/dist/hooks/useMedia.js.map +0 -7
  339. package/dist/hooks/useTheme.js.map +0 -7
  340. package/dist/index.cjs +0 -1837
  341. package/dist/index.cjs.map +0 -7
  342. package/dist/index.js.map +0 -7
  343. package/dist/static/postProcessStyles.js.map +0 -7
  344. package/dist/static.js.map +0 -7
  345. package/dist/styled.js +0 -28
  346. package/dist/styled.js.map +0 -7
  347. package/dist/testtypes.js +0 -1
  348. package/dist/testtypes.js.map +0 -7
  349. package/dist/views/Stack.js.map +0 -7
  350. package/dist/views/Text.js +0 -36
  351. package/dist/views/Text.js.map +0 -7
  352. package/dist/views/TextAncestorContext.js +0 -18
  353. package/dist/views/TextAncestorContext.js.map +0 -7
  354. package/dist/views/Theme.js.map +0 -7
  355. package/dist/views/ThemeManagerContext.js.map +0 -7
  356. package/dist/views/ThemeProvider.js.map +0 -7
@@ -0,0 +1,6 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const isObj = /* @__PURE__ */ __name((x) => x && !Array.isArray(x) && typeof x === "object", "isObj");
4
+ export {
5
+ isObj
6
+ };
@@ -0,0 +1,10 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { isValidElement } from "react";
4
+ const isTamaguiElement = /* @__PURE__ */ __name((child) => {
5
+ var _a;
6
+ return isValidElement(child) && !!((_a = child.type["staticConfig"]) == null ? void 0 : _a.parsed);
7
+ }, "isTamaguiElement");
8
+ export {
9
+ isTamaguiElement
10
+ };
@@ -0,0 +1,17 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const matchMedia = typeof window !== "undefined" && window.matchMedia || /* @__PURE__ */ __name(function matchMediaFallback(query) {
4
+ return {
5
+ addListener() {
6
+ if (process.env.NODE_ENV === "development" && !process.env.IS_STATIC && process.env.TAMAGUI_TARGET !== "web") {
7
+ console.log("warning: matchMedia not loading! Is native picking up .native.js files?");
8
+ }
9
+ },
10
+ removeListener() {
11
+ },
12
+ matches: false
13
+ };
14
+ }, "matchMediaFallback");
15
+ export {
16
+ matchMedia
17
+ };
@@ -0,0 +1,8 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import MediaQueryList from "@expo/match-media/build/MediaQueryList.js";
4
+ const matchMedia = /* @__PURE__ */ __name((media) => new MediaQueryList(media), "matchMedia");
5
+ globalThis["matchMedia"] = matchMedia;
6
+ export {
7
+ matchMedia
8
+ };
@@ -0,0 +1,23 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import React, { forwardRef } from "react";
4
+ import { Theme } from "../views/Theme";
5
+ import { ThemeInverse } from "../views/ThemeInverse";
6
+ const themeable = /* @__PURE__ */ __name(function graphql(component) {
7
+ const withThemeComponent = forwardRef(/* @__PURE__ */ __name(function WithTheme({ themeInverse, ...rest }, ref) {
8
+ const el = React.createElement(component, { ...rest, ref });
9
+ if (themeInverse) {
10
+ return <ThemeInverse>{el}</ThemeInverse>;
11
+ }
12
+ if (rest.theme) {
13
+ return <Theme name={rest.theme || null}>{el}</Theme>;
14
+ }
15
+ return el;
16
+ }, "WithTheme"));
17
+ const withTheme = withThemeComponent;
18
+ withTheme.displayName = `Themed(${(component == null ? void 0 : component.displayName) || (component == null ? void 0 : component.name) || "Anonymous"})`;
19
+ return withTheme;
20
+ }, "graphql");
21
+ export {
22
+ themeable
23
+ };
@@ -0,0 +1,59 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import ow from "@tamagui/ow";
4
+ const validateConfig = /* @__PURE__ */ __name((conf) => {
5
+ if (!conf) {
6
+ console.warn("no conf?");
7
+ return;
8
+ }
9
+ try {
10
+ ow(conf, validConfig);
11
+ } catch (err) {
12
+ console.log("Given config:\n", JSON.stringify(conf, null, 2));
13
+ throw err;
14
+ }
15
+ }, "validateConfig");
16
+ const validConfig = ow.object.exactShape({
17
+ defaultTheme: ow.optional.string,
18
+ disableRootThemeClass: ow.optional.boolean,
19
+ shorthands: ow.optional.object.valuesOfType(ow.string),
20
+ themes: ow.object.valuesOfType(ow.object),
21
+ tokens: ow.object.valuesOfType(ow.object),
22
+ media: ow.object.valuesOfType(ow.object)
23
+ });
24
+ const validFont = ow.object.exactShape({
25
+ family: ow.string,
26
+ size: ow.object.nonEmpty.valuesOfType(ow.number),
27
+ lineHeight: ow.object.nonEmpty.valuesOfType(ow.number),
28
+ weight: ow.object.nonEmpty.valuesOfType(ow.string),
29
+ letterSpacing: ow.object.nonEmpty.valuesOfType(ow.number)
30
+ });
31
+ const validTokens = ow.object.exactShape({
32
+ font: ow.object.valuesOfType(validFont),
33
+ size: ow.object.nonEmpty.valuesOfType(ow.number),
34
+ space: ow.object.nonEmpty.valuesOfType(ow.number),
35
+ zIndex: ow.object.nonEmpty.valuesOfType(ow.number),
36
+ radius: ow.object.nonEmpty.valuesOfType(ow.number),
37
+ color: ow.object.nonEmpty.valuesOfType(ow.string)
38
+ });
39
+ const validateTokens = /* @__PURE__ */ __name((tokens) => {
40
+ try {
41
+ ow(tokens, validTokens);
42
+ } catch (err) {
43
+ console.log("Given tokens:\n", JSON.stringify(tokens, null, 2));
44
+ throw err;
45
+ }
46
+ }, "validateTokens");
47
+ const validateFont = /* @__PURE__ */ __name((font) => {
48
+ try {
49
+ ow(font, validFont);
50
+ } catch (err) {
51
+ console.log("Given font:\n", JSON.stringify(font, null, 2));
52
+ throw err;
53
+ }
54
+ }, "validateFont");
55
+ export {
56
+ validateConfig,
57
+ validateFont,
58
+ validateTokens
59
+ };
@@ -0,0 +1,14 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { useRef } from "react";
4
+ function useConstant(fn) {
5
+ const ref = useRef();
6
+ if (!ref.current) {
7
+ ref.current = { v: fn() };
8
+ }
9
+ return ref.current.v;
10
+ }
11
+ __name(useConstant, "useConstant");
12
+ export {
13
+ useConstant
14
+ };
@@ -0,0 +1,57 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { isWeb, useIsomorphicLayoutEffect } from "../constants/platform";
4
+ import { addMediaQueryListener, mediaState, removeMediaQueryListener } from "./useMedia";
5
+ const createDefinition = /* @__PURE__ */ __name(({
6
+ Component,
7
+ propNames
8
+ }) => ({
9
+ isEnabled: (props) => propNames.some((name) => !!props[name]),
10
+ Component
11
+ }), "createDefinition");
12
+ let featureDefinitions = null;
13
+ const useFeatures = /* @__PURE__ */ __name((props, utils) => {
14
+ if (!featureDefinitions) {
15
+ featureDefinitions = loadFeatures();
16
+ }
17
+ const features = [];
18
+ for (const name in featureDefinitions) {
19
+ const { isEnabled, Component } = featureDefinitions[name];
20
+ if (isEnabled(props) && Component) {
21
+ features.push(<Component key={name} {...props} _utils={utils} />);
22
+ }
23
+ }
24
+ return features;
25
+ }, "useFeatures");
26
+ function loadFeatures() {
27
+ return {
28
+ ...!isWeb && {
29
+ mediaQuery: loadMediaQueryFeature()
30
+ }
31
+ };
32
+ }
33
+ __name(loadFeatures, "loadFeatures");
34
+ function loadMediaQueryFeature() {
35
+ const mediaPropNames = Object.keys(mediaState);
36
+ return createDefinition({
37
+ Component: (props) => {
38
+ const keys = mediaPropNames.flatMap((x) => x in props ? x.slice(1) : []);
39
+ useIsomorphicLayoutEffect(() => {
40
+ for (const key of keys) {
41
+ addMediaQueryListener(key, props._utils.forceUpdate);
42
+ }
43
+ return () => {
44
+ for (const key of keys) {
45
+ removeMediaQueryListener(key, props._utils.forceUpdate);
46
+ }
47
+ };
48
+ }, [keys.join(",")]);
49
+ return null;
50
+ },
51
+ propNames: mediaPropNames
52
+ });
53
+ }
54
+ __name(loadMediaQueryFeature, "loadMediaQueryFeature");
55
+ export {
56
+ useFeatures
57
+ };
@@ -0,0 +1,174 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { useForceUpdate } from "@tamagui/use-force-update";
4
+ import { useRef } from "react";
5
+ import { useIsomorphicLayoutEffect } from "../constants/platform";
6
+ import { matchMedia } from "../helpers/matchMedia";
7
+ import { useConstant } from "./useConstant";
8
+ const mediaState = {};
9
+ const mediaQueryListeners = {};
10
+ const addMediaQueryListener = /* @__PURE__ */ __name((key, cb) => {
11
+ mediaQueryListeners[key] = mediaQueryListeners[key] || /* @__PURE__ */ new Set();
12
+ mediaQueryListeners[key].add(cb);
13
+ }, "addMediaQueryListener");
14
+ const removeMediaQueryListener = /* @__PURE__ */ __name((key, cb) => {
15
+ var _a;
16
+ (_a = mediaQueryListeners[key]) == null ? void 0 : _a.delete(cb);
17
+ }, "removeMediaQueryListener");
18
+ let conf = null;
19
+ const mediaQueryConfig = new Proxy({}, {
20
+ get(target, key) {
21
+ if (!conf) {
22
+ console.warn("Tamagui warning: accessing media query before init");
23
+ return null;
24
+ }
25
+ return Reflect.get(conf, key);
26
+ },
27
+ ownKeys() {
28
+ if (!conf) {
29
+ console.warn("Tamagui warning: accessing media query before init");
30
+ return [];
31
+ }
32
+ return Object.keys(conf);
33
+ },
34
+ getOwnPropertyDescriptor() {
35
+ return {
36
+ enumerable: true,
37
+ configurable: true
38
+ };
39
+ }
40
+ });
41
+ const getMedia = /* @__PURE__ */ __name(() => {
42
+ if (!conf) {
43
+ throw new Error(`not configured yet`);
44
+ }
45
+ return mediaState;
46
+ }, "getMedia");
47
+ const configureMedia = /* @__PURE__ */ __name(({
48
+ queries,
49
+ defaultActive = ["sm", "xs"]
50
+ } = {}) => {
51
+ var _a;
52
+ if (conf) {
53
+ console.warn(`Already configured mediaQueries once (you may have called getMedia() before configureMedia())`);
54
+ }
55
+ if (queries) {
56
+ conf = queries;
57
+ }
58
+ for (const key in queries) {
59
+ const str = mediaObjectToString(queries[key]);
60
+ try {
61
+ const getMatch = /* @__PURE__ */ __name(() => matchMedia(str), "getMatch");
62
+ const match = getMatch();
63
+ if (!match || typeof match.addListener !== "function") {
64
+ throw new Error("\u26A0\uFE0F No match (seeing this in RN sometimes)");
65
+ }
66
+ mediaState[key] = !!match.matches;
67
+ match.addListener(() => {
68
+ const next = !!getMatch().matches;
69
+ if (next === mediaState[key])
70
+ return;
71
+ mediaState[key] = next;
72
+ const listeners = mediaQueryListeners[key];
73
+ if (listeners == null ? void 0 : listeners.size) {
74
+ for (const cb of [...listeners]) {
75
+ cb();
76
+ }
77
+ }
78
+ });
79
+ } catch (err) {
80
+ console.error("Error running media query", str, err.message, err.stack);
81
+ const isDefaultActive = (_a = defaultActive == null ? void 0 : defaultActive.includes(key)) != null ? _a : true;
82
+ mediaState[key] = isDefaultActive;
83
+ }
84
+ }
85
+ }, "configureMedia");
86
+ const useMedia = /* @__PURE__ */ __name(() => {
87
+ const forceUpdate = useForceUpdate();
88
+ const state = useRef();
89
+ if (!state.current) {
90
+ state.current = {
91
+ selections: {},
92
+ nextSelections: {},
93
+ isUnmounted: false,
94
+ isRendering: true
95
+ };
96
+ }
97
+ state.current.isRendering = true;
98
+ useIsomorphicLayoutEffect(() => {
99
+ const st = state.current;
100
+ st.isRendering = false;
101
+ for (const key in st.selections) {
102
+ if (!(key in st.nextSelections)) {
103
+ removeMediaQueryListener(key, forceUpdate);
104
+ }
105
+ }
106
+ for (const key in st.nextSelections) {
107
+ if (!(key in st.selections)) {
108
+ addMediaQueryListener(key, forceUpdate);
109
+ }
110
+ }
111
+ });
112
+ useIsomorphicLayoutEffect(() => {
113
+ return () => {
114
+ const st = state.current;
115
+ st.isUnmounted = true;
116
+ const allKeys = {
117
+ ...st.selections,
118
+ ...st.nextSelections
119
+ };
120
+ for (const key in allKeys) {
121
+ removeMediaQueryListener(key, forceUpdate);
122
+ }
123
+ };
124
+ }, []);
125
+ return useConstant(() => {
126
+ const st = state.current;
127
+ return new Proxy(mediaState, {
128
+ get(target, key) {
129
+ if (!(key in mediaState)) {
130
+ return Reflect.get(target, key);
131
+ }
132
+ if (!st.isUnmounted) {
133
+ if (st.isRendering) {
134
+ st.nextSelections[key] = true;
135
+ }
136
+ }
137
+ if (key in mediaState) {
138
+ return mediaState[key];
139
+ }
140
+ return Reflect.get(mediaState, key);
141
+ }
142
+ });
143
+ });
144
+ }, "useMedia");
145
+ function camelToHyphen(str) {
146
+ return str.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`).toLowerCase();
147
+ }
148
+ __name(camelToHyphen, "camelToHyphen");
149
+ function mediaObjectToString(query) {
150
+ if (typeof query === "string") {
151
+ return query;
152
+ }
153
+ return Object.entries(query).map(([feature, value]) => {
154
+ feature = camelToHyphen(feature);
155
+ if (typeof value === "string") {
156
+ return `(${feature}: ${value})`;
157
+ }
158
+ if (typeof value === "number" && /[height|width]$/.test(feature)) {
159
+ value = `${value}px`;
160
+ }
161
+ return `(${feature}: ${value})`;
162
+ }).join(" and ");
163
+ }
164
+ __name(mediaObjectToString, "mediaObjectToString");
165
+ export {
166
+ addMediaQueryListener,
167
+ configureMedia,
168
+ getMedia,
169
+ mediaObjectToString,
170
+ mediaQueryConfig,
171
+ mediaState,
172
+ removeMediaQueryListener,
173
+ useMedia
174
+ };
@@ -0,0 +1,13 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ var _a, _b;
4
+ import { Pressable } from "react-native";
5
+ const getPressable = (_b = (_a = Pressable) == null ? void 0 : _a["type"]) == null ? void 0 : _b["render"];
6
+ const usePressable = /* @__PURE__ */ __name((props) => {
7
+ const out = getPressable(props);
8
+ const { children, style, ...pressableProps } = out.props;
9
+ return [pressableProps, style];
10
+ }, "usePressable");
11
+ export {
12
+ usePressable
13
+ };
@@ -0,0 +1,96 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { useForceUpdate } from "@tamagui/use-force-update";
4
+ import { useContext, useEffect, useMemo, useRef, useState } from "react";
5
+ import { GET_DEFAULT_THEME } from "../constants/constants";
6
+ import { useIsomorphicLayoutEffect } from "../constants/platform";
7
+ import { Variable } from "../createVariable";
8
+ import { ThemeContext } from "../views/ThemeContext";
9
+ import { ThemeManagerContext } from "../views/ThemeManagerContext";
10
+ const areEqualSets = /* @__PURE__ */ __name((a, b) => {
11
+ if (a.size !== b.size)
12
+ return false;
13
+ for (const val in a) {
14
+ if (!b.has(val)) {
15
+ return false;
16
+ }
17
+ }
18
+ return true;
19
+ }, "areEqualSets");
20
+ const useThemeName = /* @__PURE__ */ __name((opts) => {
21
+ const parent = useContext(ThemeManagerContext);
22
+ const [name, setName] = useState(parent.name);
23
+ useIsomorphicLayoutEffect(() => {
24
+ return parent.onChangeTheme((next, manager) => {
25
+ setName((opts == null ? void 0 : opts.parent) ? manager.parentName : next);
26
+ });
27
+ }, [parent]);
28
+ return name || "light";
29
+ }, "useThemeName");
30
+ const useDefaultThemeName = /* @__PURE__ */ __name(() => {
31
+ return useContext(ThemeContext)[GET_DEFAULT_THEME];
32
+ }, "useDefaultThemeName");
33
+ const useTheme = /* @__PURE__ */ __name(() => {
34
+ var _a;
35
+ const forceUpdate = useForceUpdate();
36
+ const manager = useContext(ThemeManagerContext);
37
+ const themes = useContext(ThemeContext);
38
+ const state = useRef();
39
+ if (!state.current) {
40
+ state.current = {
41
+ uuid: {},
42
+ keys: /* @__PURE__ */ new Set(),
43
+ isRendering: true
44
+ };
45
+ }
46
+ state.current.isRendering = true;
47
+ useIsomorphicLayoutEffect(() => {
48
+ const st = state.current;
49
+ st.isRendering = false;
50
+ const cur = manager.keys.get(st.uuid);
51
+ if (!cur || !areEqualSets(st.keys, cur)) {
52
+ manager.track(st.uuid, st.keys);
53
+ }
54
+ });
55
+ useEffect(() => {
56
+ return manager.onUpdate(state.current.uuid, forceUpdate);
57
+ }, []);
58
+ const theme = (_a = manager.name ? themes[manager.name] : themes.light) != null ? _a : themes.light;
59
+ return useMemo(() => {
60
+ return new Proxy(theme, {
61
+ get(_, key) {
62
+ const name = manager.name;
63
+ if (!name) {
64
+ return Reflect.get(_, key);
65
+ }
66
+ let activeTheme = themes[name];
67
+ if (!activeTheme) {
68
+ console.error("No theme by name", name, "only:", themes, "keeping current theme");
69
+ activeTheme = theme;
70
+ }
71
+ const val = activeTheme[key];
72
+ if (process.env.NODE_ENV === "development") {
73
+ if (typeof val === "undefined") {
74
+ console.warn(`No theme value "${String(key)}" in`, activeTheme, themes);
75
+ return null;
76
+ }
77
+ if (!(val instanceof Variable)) {
78
+ console.warn("Non variable!", val);
79
+ }
80
+ if (val.name !== key) {
81
+ console.warn("Non-matching name for variable to key", key, val.name);
82
+ }
83
+ }
84
+ if (state.current.isRendering) {
85
+ state.current.keys.add(key);
86
+ }
87
+ return val;
88
+ }
89
+ });
90
+ }, []);
91
+ }, "useTheme");
92
+ export {
93
+ useDefaultThemeName,
94
+ useTheme,
95
+ useThemeName
96
+ };
@@ -0,0 +1,46 @@
1
+ export * from "./createComponent";
2
+ export * from "./createShorthands";
3
+ export * from "./createTheme";
4
+ export * from "./createTamagui";
5
+ export * from "./createFont";
6
+ import { createTokens } from "./createTokens";
7
+ export * from "./createVariable";
8
+ export * from "./styled";
9
+ export * from "./types";
10
+ import {
11
+ getHasConfigured,
12
+ getTamagui,
13
+ getThemes,
14
+ getTokens,
15
+ onConfiguredOnce,
16
+ ConfigListener
17
+ } from "./conf";
18
+ export * from "./constants/pseudos";
19
+ export * from "./constants/constants";
20
+ export * from "./constants/platform";
21
+ export * from "./constants/rnw";
22
+ export * from "./helpers/getThemeParentClassName";
23
+ export * from "./helpers/isObj";
24
+ export * from "./helpers/getStylesAtomic";
25
+ export * from "./helpers/matchMedia";
26
+ export * from "./helpers/themeable";
27
+ export * from "./helpers/isTamaguiElement";
28
+ export * from "./hooks/useConstant";
29
+ export * from "./hooks/useMedia";
30
+ export * from "./hooks/useTheme";
31
+ export * from "./views/Animated";
32
+ export * from "./views/Stack";
33
+ export * from "./views/Text";
34
+ export * from "./views/Theme";
35
+ export * from "./views/ThemeInverse";
36
+ export * from "./views/ThemeProvider";
37
+ export * from "./views/TextAncestorContext";
38
+ export {
39
+ ConfigListener,
40
+ createTokens,
41
+ getHasConfigured,
42
+ getTamagui,
43
+ getThemes,
44
+ getTokens,
45
+ onConfiguredOnce
46
+ };
@@ -0,0 +1,17 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { getSplitStyles } from "../helpers/getSplitStyles";
4
+ const postProcessStyles = /* @__PURE__ */ __name((inStyles, staticConfig, theme) => {
5
+ const { style, viewProps, pseudos, classNames } = getSplitStyles(inStyles, staticConfig, theme);
6
+ const next = {};
7
+ for (const s of style) {
8
+ if (!s)
9
+ continue;
10
+ Object.assign(next, s);
11
+ }
12
+ Object.assign(next, pseudos);
13
+ return { style: next, viewProps, classNames };
14
+ }, "postProcessStyles");
15
+ export {
16
+ postProcessStyles
17
+ };
@@ -0,0 +1,14 @@
1
+ export * from "./styled";
2
+ export * from "./createComponent";
3
+ export * from "./createFont";
4
+ export * from "./createTokens";
5
+ export * from "./createTamagui";
6
+ export * from "./constants/constants";
7
+ export * from "./hooks/useMedia";
8
+ export * from "./hooks/useTheme";
9
+ export * from "./helpers/isObj";
10
+ export * from "./helpers/getStylesAtomic";
11
+ export * from "./helpers/getSplitStyles";
12
+ export * from "@tamagui/helpers";
13
+ export * from "./constants/pseudos";
14
+ export * from "./static/postProcessStyles";
@@ -0,0 +1,20 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { createComponent } from "./createComponent";
4
+ import { extendStaticConfig } from "./helpers/extendStaticConfig";
5
+ function styled(Component, options, staticExtractionOptions) {
6
+ const staticConfigProps = (() => {
7
+ if (options) {
8
+ const { variants, ...defaultProps } = options;
9
+ return { ...staticExtractionOptions, variants, defaultProps };
10
+ }
11
+ return {};
12
+ })();
13
+ const config = extendStaticConfig(Component, staticConfigProps);
14
+ const component = createComponent(config);
15
+ return component;
16
+ }
17
+ __name(styled, "styled");
18
+ export {
19
+ styled
20
+ };
File without changes
@@ -0,0 +1,74 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { useMemo } from "react";
4
+ import {
5
+ Animated
6
+ } from "react-native";
7
+ import { useIsomorphicLayoutEffect } from "../constants/platform";
8
+ import { useConstant } from "../hooks/useConstant";
9
+ import { Stack } from "./Stack";
10
+ const defaultAnimation = {
11
+ from: {
12
+ opacity: 0,
13
+ translateY: 12
14
+ },
15
+ to: {
16
+ opacity: 1,
17
+ translateY: 0
18
+ }
19
+ };
20
+ const styleKeys = {
21
+ opacity: true,
22
+ backgroundColor: true,
23
+ borderColor: true
24
+ };
25
+ const AnimatedStack = /* @__PURE__ */ __name(({
26
+ animateState = "in",
27
+ animation = defaultAnimation,
28
+ velocity = 6,
29
+ children,
30
+ animated,
31
+ ...props
32
+ }) => {
33
+ const driver = useConstant(() => {
34
+ return new Animated.Value(0);
35
+ });
36
+ const animatedProps = useMemo(() => {
37
+ if (!animated) {
38
+ return null;
39
+ }
40
+ const styleProps = {};
41
+ const transform = [];
42
+ for (const key in animation.from) {
43
+ const fromVal = animation.from[key];
44
+ const toVal = animation.to[key];
45
+ const interpolatedVal = driver.interpolate({
46
+ inputRange: [0, 1],
47
+ outputRange: [fromVal, toVal]
48
+ });
49
+ if (styleKeys[key]) {
50
+ styleProps[key] = interpolatedVal;
51
+ } else {
52
+ transform.push({
53
+ [key]: interpolatedVal
54
+ });
55
+ }
56
+ }
57
+ return { transform, ...styleProps };
58
+ }, [animated, animateState]);
59
+ useIsomorphicLayoutEffect(() => {
60
+ if (!animated) {
61
+ return;
62
+ }
63
+ Animated.spring(driver, {
64
+ useNativeDriver: true,
65
+ velocity,
66
+ toValue: animateState === "in" ? 1 : 0
67
+ }).start();
68
+ }, [animated, animateState]);
69
+ const childrenMemo = useMemo(() => children, [children]);
70
+ return <Stack animated={animated} {...props} {...animatedProps}>{childrenMemo}</Stack>;
71
+ }, "AnimatedStack");
72
+ export {
73
+ AnimatedStack
74
+ };
@@ -0,0 +1,11 @@
1
+ import { stackDefaultStyles } from "../constants/constants";
2
+ import { createComponent } from "../createComponent";
3
+ const Stack = createComponent({
4
+ defaultProps: {
5
+ ...stackDefaultStyles,
6
+ flexDirection: "column"
7
+ }
8
+ });
9
+ export {
10
+ Stack
11
+ };