@tamagui/web 1.2.5

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 (556) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/Tamagui.js +77 -0
  3. package/dist/cjs/Tamagui.js.map +7 -0
  4. package/dist/cjs/addTheme.js +78 -0
  5. package/dist/cjs/addTheme.js.map +7 -0
  6. package/dist/cjs/config.js +91 -0
  7. package/dist/cjs/config.js.map +7 -0
  8. package/dist/cjs/constants/constants.js +49 -0
  9. package/dist/cjs/constants/constants.js.map +7 -0
  10. package/dist/cjs/constants/isDevTools.js +37 -0
  11. package/dist/cjs/constants/isDevTools.js.map +7 -0
  12. package/dist/cjs/contexts/ButtonNestingContext.js +30 -0
  13. package/dist/cjs/contexts/ButtonNestingContext.js.map +7 -0
  14. package/dist/cjs/contexts/FontLanguageContext.js +30 -0
  15. package/dist/cjs/contexts/FontLanguageContext.js.map +7 -0
  16. package/dist/cjs/contexts/TextAncestorContext.js +30 -0
  17. package/dist/cjs/contexts/TextAncestorContext.js.map +7 -0
  18. package/dist/cjs/createComponent.js +874 -0
  19. package/dist/cjs/createComponent.js.map +7 -0
  20. package/dist/cjs/createFont.js +69 -0
  21. package/dist/cjs/createFont.js.map +7 -0
  22. package/dist/cjs/createShorthands.js +31 -0
  23. package/dist/cjs/createShorthands.js.map +7 -0
  24. package/dist/cjs/createTamagui.js +206 -0
  25. package/dist/cjs/createTamagui.js.map +7 -0
  26. package/dist/cjs/createTheme.js +31 -0
  27. package/dist/cjs/createTheme.js.map +7 -0
  28. package/dist/cjs/createTokens.js +39 -0
  29. package/dist/cjs/createTokens.js.map +7 -0
  30. package/dist/cjs/createVariable.js +111 -0
  31. package/dist/cjs/createVariable.js.map +7 -0
  32. package/dist/cjs/createVariables.js +60 -0
  33. package/dist/cjs/createVariables.js.map +7 -0
  34. package/dist/cjs/helpers/RNComponents.js +40 -0
  35. package/dist/cjs/helpers/RNComponents.js.map +7 -0
  36. package/dist/cjs/helpers/ThemeManager.js +234 -0
  37. package/dist/cjs/helpers/ThemeManager.js.map +7 -0
  38. package/dist/cjs/helpers/ThemeManagerContext.js +30 -0
  39. package/dist/cjs/helpers/ThemeManagerContext.js.map +7 -0
  40. package/dist/cjs/helpers/createMediaStyle.js +67 -0
  41. package/dist/cjs/helpers/createMediaStyle.js.map +7 -0
  42. package/dist/cjs/helpers/createPropMapper.js +423 -0
  43. package/dist/cjs/helpers/createPropMapper.js.map +7 -0
  44. package/dist/cjs/helpers/createProxy.js +43 -0
  45. package/dist/cjs/helpers/createProxy.js.map +7 -0
  46. package/dist/cjs/helpers/expandStyle.js +95 -0
  47. package/dist/cjs/helpers/expandStyle.js.map +7 -0
  48. package/dist/cjs/helpers/expandStyles.js +116 -0
  49. package/dist/cjs/helpers/expandStyles.js.map +7 -0
  50. package/dist/cjs/helpers/extendStaticConfig.js +91 -0
  51. package/dist/cjs/helpers/extendStaticConfig.js.map +7 -0
  52. package/dist/cjs/helpers/getAnimationDriver.js +32 -0
  53. package/dist/cjs/helpers/getAnimationDriver.js.map +7 -0
  54. package/dist/cjs/helpers/getExpandedShorthands.js +40 -0
  55. package/dist/cjs/helpers/getExpandedShorthands.js.map +7 -0
  56. package/dist/cjs/helpers/getFontLanguage.js +29 -0
  57. package/dist/cjs/helpers/getFontLanguage.js.map +7 -0
  58. package/dist/cjs/helpers/getSplitStyles.js +850 -0
  59. package/dist/cjs/helpers/getSplitStyles.js.map +7 -0
  60. package/dist/cjs/helpers/getStylesAtomic.js +226 -0
  61. package/dist/cjs/helpers/getStylesAtomic.js.map +7 -0
  62. package/dist/cjs/helpers/getStylesAtomic.native.js +38 -0
  63. package/dist/cjs/helpers/getStylesAtomic.native.js.map +7 -0
  64. package/dist/cjs/helpers/getThemeCSSRules.js +110 -0
  65. package/dist/cjs/helpers/getThemeCSSRules.js.map +7 -0
  66. package/dist/cjs/helpers/getThemeCSSRules.native.js +31 -0
  67. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +7 -0
  68. package/dist/cjs/helpers/getVariantExtras.js +92 -0
  69. package/dist/cjs/helpers/getVariantExtras.js.map +7 -0
  70. package/dist/cjs/helpers/insertStyleRule.js +218 -0
  71. package/dist/cjs/helpers/insertStyleRule.js.map +7 -0
  72. package/dist/cjs/helpers/isObj.js +29 -0
  73. package/dist/cjs/helpers/isObj.js.map +7 -0
  74. package/dist/cjs/helpers/isTamaguiComponent.js +32 -0
  75. package/dist/cjs/helpers/isTamaguiComponent.js.map +7 -0
  76. package/dist/cjs/helpers/isTamaguiElement.js +33 -0
  77. package/dist/cjs/helpers/isTamaguiElement.js.map +7 -0
  78. package/dist/cjs/helpers/matchMedia.js +42 -0
  79. package/dist/cjs/helpers/matchMedia.js.map +7 -0
  80. package/dist/cjs/helpers/matchMedia.native.js +48 -0
  81. package/dist/cjs/helpers/matchMedia.native.js.map +7 -0
  82. package/dist/cjs/helpers/mergeProps.js +54 -0
  83. package/dist/cjs/helpers/mergeProps.js.map +7 -0
  84. package/dist/cjs/helpers/mergeTransform.js +47 -0
  85. package/dist/cjs/helpers/mergeTransform.js.map +7 -0
  86. package/dist/cjs/helpers/normalizeColor.js +71 -0
  87. package/dist/cjs/helpers/normalizeColor.js.map +7 -0
  88. package/dist/cjs/helpers/normalizeValueWithProperty.js +138 -0
  89. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +7 -0
  90. package/dist/cjs/helpers/proxyThemeVariables.js +40 -0
  91. package/dist/cjs/helpers/proxyThemeVariables.js.map +7 -0
  92. package/dist/cjs/helpers/pseudoDescriptors.js +53 -0
  93. package/dist/cjs/helpers/pseudoDescriptors.js.map +7 -0
  94. package/dist/cjs/helpers/registerCSSVariable.js +40 -0
  95. package/dist/cjs/helpers/registerCSSVariable.js.map +7 -0
  96. package/dist/cjs/helpers/themeable.js +62 -0
  97. package/dist/cjs/helpers/themeable.js.map +7 -0
  98. package/dist/cjs/helpers/themes.js +78 -0
  99. package/dist/cjs/helpers/themes.js.map +7 -0
  100. package/dist/cjs/helpers/timer.js +35 -0
  101. package/dist/cjs/helpers/timer.js.map +7 -0
  102. package/dist/cjs/helpers/useShallowSetState.js +59 -0
  103. package/dist/cjs/helpers/useShallowSetState.js.map +7 -0
  104. package/dist/cjs/helpers/warnOnce.js +38 -0
  105. package/dist/cjs/helpers/warnOnce.js.map +7 -0
  106. package/dist/cjs/helpers/withStaticProperties.js +32 -0
  107. package/dist/cjs/helpers/withStaticProperties.js.map +7 -0
  108. package/dist/cjs/hooks/getThemeUnwrapped.js +34 -0
  109. package/dist/cjs/hooks/getThemeUnwrapped.js.map +7 -0
  110. package/dist/cjs/hooks/useId.js +29 -0
  111. package/dist/cjs/hooks/useId.js.map +7 -0
  112. package/dist/cjs/hooks/useIsTouchDevice.js +33 -0
  113. package/dist/cjs/hooks/useIsTouchDevice.js.map +7 -0
  114. package/dist/cjs/hooks/useMedia.js +263 -0
  115. package/dist/cjs/hooks/useMedia.js.map +7 -0
  116. package/dist/cjs/hooks/useSafeRef.js +59 -0
  117. package/dist/cjs/hooks/useSafeRef.js.map +7 -0
  118. package/dist/cjs/hooks/useServerHooks.js +36 -0
  119. package/dist/cjs/hooks/useServerHooks.js.map +7 -0
  120. package/dist/cjs/hooks/useStyle.js +61 -0
  121. package/dist/cjs/hooks/useStyle.js.map +7 -0
  122. package/dist/cjs/hooks/useTheme.js +230 -0
  123. package/dist/cjs/hooks/useTheme.js.map +7 -0
  124. package/dist/cjs/hooks/useThemeName.js +52 -0
  125. package/dist/cjs/hooks/useThemeName.js.map +7 -0
  126. package/dist/cjs/index.js +104 -0
  127. package/dist/cjs/index.js.map +7 -0
  128. package/dist/cjs/inject-styles.js +40 -0
  129. package/dist/cjs/inject-styles.js.map +7 -0
  130. package/dist/cjs/insertFont.js +93 -0
  131. package/dist/cjs/insertFont.js.map +7 -0
  132. package/dist/cjs/setupHooks.js +34 -0
  133. package/dist/cjs/setupHooks.js.map +7 -0
  134. package/dist/cjs/setupReactNative.js +51 -0
  135. package/dist/cjs/setupReactNative.js.map +7 -0
  136. package/dist/cjs/styled.js +95 -0
  137. package/dist/cjs/styled.js.map +7 -0
  138. package/dist/cjs/types.js +17 -0
  139. package/dist/cjs/types.js.map +7 -0
  140. package/dist/cjs/updateTheme.js +47 -0
  141. package/dist/cjs/updateTheme.js.map +7 -0
  142. package/dist/cjs/views/FontLanguage.js +41 -0
  143. package/dist/cjs/views/FontLanguage.js.map +7 -0
  144. package/dist/cjs/views/FontLanguage.native.js +35 -0
  145. package/dist/cjs/views/FontLanguage.native.js.map +7 -0
  146. package/dist/cjs/views/FontLanguage.types.js +17 -0
  147. package/dist/cjs/views/FontLanguage.types.js.map +7 -0
  148. package/dist/cjs/views/Slot.js +92 -0
  149. package/dist/cjs/views/Slot.js.map +7 -0
  150. package/dist/cjs/views/Stack.js +38 -0
  151. package/dist/cjs/views/Stack.js.map +7 -0
  152. package/dist/cjs/views/TamaguiProvider.js +90 -0
  153. package/dist/cjs/views/TamaguiProvider.js.map +7 -0
  154. package/dist/cjs/views/Text.js +94 -0
  155. package/dist/cjs/views/Text.js.map +7 -0
  156. package/dist/cjs/views/Theme.js +88 -0
  157. package/dist/cjs/views/Theme.js.map +7 -0
  158. package/dist/cjs/views/ThemeProvider.js +70 -0
  159. package/dist/cjs/views/ThemeProvider.js.map +7 -0
  160. package/dist/esm/Tamagui.js +41 -0
  161. package/dist/esm/Tamagui.js.map +7 -0
  162. package/dist/esm/addTheme.js +54 -0
  163. package/dist/esm/addTheme.js.map +7 -0
  164. package/dist/esm/config.js +58 -0
  165. package/dist/esm/config.js.map +7 -0
  166. package/dist/esm/constants/constants.js +22 -0
  167. package/dist/esm/constants/constants.js.map +7 -0
  168. package/dist/esm/constants/isDevTools.js +13 -0
  169. package/dist/esm/constants/isDevTools.js.map +7 -0
  170. package/dist/esm/contexts/ButtonNestingContext.js +6 -0
  171. package/dist/esm/contexts/ButtonNestingContext.js.map +7 -0
  172. package/dist/esm/contexts/FontLanguageContext.js +6 -0
  173. package/dist/esm/contexts/FontLanguageContext.js.map +7 -0
  174. package/dist/esm/contexts/TextAncestorContext.js +6 -0
  175. package/dist/esm/contexts/TextAncestorContext.js.map +7 -0
  176. package/dist/esm/createComponent.js +849 -0
  177. package/dist/esm/createComponent.js.map +7 -0
  178. package/dist/esm/createFont.js +45 -0
  179. package/dist/esm/createFont.js.map +7 -0
  180. package/dist/esm/createShorthands.js +7 -0
  181. package/dist/esm/createShorthands.js.map +7 -0
  182. package/dist/esm/createTamagui.js +190 -0
  183. package/dist/esm/createTamagui.js.map +7 -0
  184. package/dist/esm/createTheme.js +7 -0
  185. package/dist/esm/createTheme.js.map +7 -0
  186. package/dist/esm/createTokens.js +15 -0
  187. package/dist/esm/createTokens.js.map +7 -0
  188. package/dist/esm/createVariable.js +78 -0
  189. package/dist/esm/createVariable.js.map +7 -0
  190. package/dist/esm/createVariables.js +35 -0
  191. package/dist/esm/createVariables.js.map +7 -0
  192. package/dist/esm/helpers/RNComponents.js +16 -0
  193. package/dist/esm/helpers/RNComponents.js.map +7 -0
  194. package/dist/esm/helpers/ThemeManager.js +209 -0
  195. package/dist/esm/helpers/ThemeManager.js.map +7 -0
  196. package/dist/esm/helpers/ThemeManagerContext.js +6 -0
  197. package/dist/esm/helpers/ThemeManagerContext.js.map +7 -0
  198. package/dist/esm/helpers/createMediaStyle.js +42 -0
  199. package/dist/esm/helpers/createMediaStyle.js.map +7 -0
  200. package/dist/esm/helpers/createPropMapper.js +396 -0
  201. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  202. package/dist/esm/helpers/createProxy.js +19 -0
  203. package/dist/esm/helpers/createProxy.js.map +7 -0
  204. package/dist/esm/helpers/expandStyle.js +71 -0
  205. package/dist/esm/helpers/expandStyle.js.map +7 -0
  206. package/dist/esm/helpers/expandStyles.js +90 -0
  207. package/dist/esm/helpers/expandStyles.js.map +7 -0
  208. package/dist/esm/helpers/extendStaticConfig.js +66 -0
  209. package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
  210. package/dist/esm/helpers/getAnimationDriver.js +8 -0
  211. package/dist/esm/helpers/getAnimationDriver.js.map +7 -0
  212. package/dist/esm/helpers/getExpandedShorthands.js +16 -0
  213. package/dist/esm/helpers/getExpandedShorthands.js.map +7 -0
  214. package/dist/esm/helpers/getFontLanguage.js +5 -0
  215. package/dist/esm/helpers/getFontLanguage.js.map +7 -0
  216. package/dist/esm/helpers/getSplitStyles.js +849 -0
  217. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  218. package/dist/esm/helpers/getStylesAtomic.js +200 -0
  219. package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
  220. package/dist/esm/helpers/getStylesAtomic.native.js +12 -0
  221. package/dist/esm/helpers/getStylesAtomic.native.js.map +7 -0
  222. package/dist/esm/helpers/getThemeCSSRules.js +86 -0
  223. package/dist/esm/helpers/getThemeCSSRules.js.map +7 -0
  224. package/dist/esm/helpers/getThemeCSSRules.native.js +7 -0
  225. package/dist/esm/helpers/getThemeCSSRules.native.js.map +7 -0
  226. package/dist/esm/helpers/getVariantExtras.js +67 -0
  227. package/dist/esm/helpers/getVariantExtras.js.map +7 -0
  228. package/dist/esm/helpers/insertStyleRule.js +186 -0
  229. package/dist/esm/helpers/insertStyleRule.js.map +7 -0
  230. package/dist/esm/helpers/isObj.js +5 -0
  231. package/dist/esm/helpers/isObj.js.map +7 -0
  232. package/dist/esm/helpers/isTamaguiComponent.js +8 -0
  233. package/dist/esm/helpers/isTamaguiComponent.js.map +7 -0
  234. package/dist/esm/helpers/isTamaguiElement.js +9 -0
  235. package/dist/esm/helpers/isTamaguiElement.js.map +7 -0
  236. package/dist/esm/helpers/matchMedia.js +17 -0
  237. package/dist/esm/helpers/matchMedia.js.map +7 -0
  238. package/dist/esm/helpers/matchMedia.native.js +23 -0
  239. package/dist/esm/helpers/matchMedia.native.js.map +7 -0
  240. package/dist/esm/helpers/mergeProps.js +30 -0
  241. package/dist/esm/helpers/mergeProps.js.map +7 -0
  242. package/dist/esm/helpers/mergeTransform.js +21 -0
  243. package/dist/esm/helpers/mergeTransform.js.map +7 -0
  244. package/dist/esm/helpers/normalizeColor.js +36 -0
  245. package/dist/esm/helpers/normalizeColor.js.map +7 -0
  246. package/dist/esm/helpers/normalizeValueWithProperty.js +113 -0
  247. package/dist/esm/helpers/normalizeValueWithProperty.js.map +7 -0
  248. package/dist/esm/helpers/proxyThemeVariables.js +16 -0
  249. package/dist/esm/helpers/proxyThemeVariables.js.map +7 -0
  250. package/dist/esm/helpers/pseudoDescriptors.js +29 -0
  251. package/dist/esm/helpers/pseudoDescriptors.js.map +7 -0
  252. package/dist/esm/helpers/registerCSSVariable.js +14 -0
  253. package/dist/esm/helpers/registerCSSVariable.js.map +7 -0
  254. package/dist/esm/helpers/themeable.js +28 -0
  255. package/dist/esm/helpers/themeable.js.map +7 -0
  256. package/dist/esm/helpers/themes.js +53 -0
  257. package/dist/esm/helpers/themes.js.map +7 -0
  258. package/dist/esm/helpers/timer.js +11 -0
  259. package/dist/esm/helpers/timer.js.map +7 -0
  260. package/dist/esm/helpers/useShallowSetState.js +35 -0
  261. package/dist/esm/helpers/useShallowSetState.js.map +7 -0
  262. package/dist/esm/helpers/warnOnce.js +14 -0
  263. package/dist/esm/helpers/warnOnce.js.map +7 -0
  264. package/dist/esm/helpers/withStaticProperties.js +8 -0
  265. package/dist/esm/helpers/withStaticProperties.js.map +7 -0
  266. package/dist/esm/hooks/getThemeUnwrapped.js +9 -0
  267. package/dist/esm/hooks/getThemeUnwrapped.js.map +7 -0
  268. package/dist/esm/hooks/useId.js +5 -0
  269. package/dist/esm/hooks/useId.js.map +7 -0
  270. package/dist/esm/hooks/useIsTouchDevice.js +9 -0
  271. package/dist/esm/hooks/useIsTouchDevice.js.map +7 -0
  272. package/dist/esm/hooks/useMedia.js +225 -0
  273. package/dist/esm/hooks/useMedia.js.map +7 -0
  274. package/dist/esm/hooks/useSafeRef.js +35 -0
  275. package/dist/esm/hooks/useSafeRef.js.map +7 -0
  276. package/dist/esm/hooks/useServerHooks.js +11 -0
  277. package/dist/esm/hooks/useServerHooks.js.map +7 -0
  278. package/dist/esm/hooks/useStyle.js +37 -0
  279. package/dist/esm/hooks/useStyle.js.map +7 -0
  280. package/dist/esm/hooks/useTheme.js +205 -0
  281. package/dist/esm/hooks/useTheme.js.map +7 -0
  282. package/dist/esm/hooks/useThemeName.js +28 -0
  283. package/dist/esm/hooks/useThemeName.js.map +7 -0
  284. package/dist/esm/index.js +77 -0
  285. package/dist/esm/index.js.map +7 -0
  286. package/dist/esm/inject-styles.js +16 -0
  287. package/dist/esm/inject-styles.js.map +7 -0
  288. package/dist/esm/insertFont.js +67 -0
  289. package/dist/esm/insertFont.js.map +7 -0
  290. package/dist/esm/setupHooks.js +9 -0
  291. package/dist/esm/setupHooks.js.map +7 -0
  292. package/dist/esm/setupReactNative.js +25 -0
  293. package/dist/esm/setupReactNative.js.map +7 -0
  294. package/dist/esm/styled.js +71 -0
  295. package/dist/esm/styled.js.map +7 -0
  296. package/dist/esm/types.js +1 -0
  297. package/dist/esm/types.js.map +7 -0
  298. package/dist/esm/updateTheme.js +23 -0
  299. package/dist/esm/updateTheme.js.map +7 -0
  300. package/dist/esm/views/FontLanguage.js +17 -0
  301. package/dist/esm/views/FontLanguage.js.map +7 -0
  302. package/dist/esm/views/FontLanguage.native.js +11 -0
  303. package/dist/esm/views/FontLanguage.native.js.map +7 -0
  304. package/dist/esm/views/FontLanguage.types.js +1 -0
  305. package/dist/esm/views/FontLanguage.types.js.map +7 -0
  306. package/dist/esm/views/Slot.js +66 -0
  307. package/dist/esm/views/Slot.js.map +7 -0
  308. package/dist/esm/views/Stack.js +14 -0
  309. package/dist/esm/views/Stack.js.map +7 -0
  310. package/dist/esm/views/TamaguiProvider.js +56 -0
  311. package/dist/esm/views/TamaguiProvider.js.map +7 -0
  312. package/dist/esm/views/Text.js +70 -0
  313. package/dist/esm/views/Text.js.map +7 -0
  314. package/dist/esm/views/Theme.js +63 -0
  315. package/dist/esm/views/Theme.js.map +7 -0
  316. package/dist/esm/views/ThemeProvider.js +45 -0
  317. package/dist/esm/views/ThemeProvider.js.map +7 -0
  318. package/package.json +73 -0
  319. package/reset.css +37 -0
  320. package/src/Tamagui.ts +48 -0
  321. package/src/addTheme.ts +65 -0
  322. package/src/config.ts +62 -0
  323. package/src/constants/constants.ts +17 -0
  324. package/src/constants/isDevTools.ts +12 -0
  325. package/src/contexts/ButtonNestingContext.tsx +3 -0
  326. package/src/contexts/FontLanguageContext.tsx +5 -0
  327. package/src/contexts/TextAncestorContext.tsx +3 -0
  328. package/src/createComponent.tsx +1133 -0
  329. package/src/createFont.ts +50 -0
  330. package/src/createShorthands.ts +7 -0
  331. package/src/createTamagui.ts +253 -0
  332. package/src/createTheme.ts +13 -0
  333. package/src/createTokens.ts +46 -0
  334. package/src/createVariable.ts +93 -0
  335. package/src/createVariables.ts +55 -0
  336. package/src/helpers/RNComponents.tsx +14 -0
  337. package/src/helpers/ThemeManager.tsx +285 -0
  338. package/src/helpers/ThemeManagerContext.tsx +5 -0
  339. package/src/helpers/createMediaStyle.ts +55 -0
  340. package/src/helpers/createPropMapper.ts +562 -0
  341. package/src/helpers/createProxy.ts +16 -0
  342. package/src/helpers/expandStyle.ts +82 -0
  343. package/src/helpers/expandStyles.ts +107 -0
  344. package/src/helpers/extendStaticConfig.ts +78 -0
  345. package/src/helpers/getAnimationDriver.tsx +5 -0
  346. package/src/helpers/getExpandedShorthands.ts +17 -0
  347. package/src/helpers/getFontLanguage.ts +2 -0
  348. package/src/helpers/getSplitStyles.tsx +1133 -0
  349. package/src/helpers/getStylesAtomic.native.ts +8 -0
  350. package/src/helpers/getStylesAtomic.ts +274 -0
  351. package/src/helpers/getThemeCSSRules.native.ts +3 -0
  352. package/src/helpers/getThemeCSSRules.ts +120 -0
  353. package/src/helpers/getVariantExtras.tsx +85 -0
  354. package/src/helpers/insertStyleRule.tsx +218 -0
  355. package/src/helpers/isObj.ts +1 -0
  356. package/src/helpers/isTamaguiComponent.tsx +11 -0
  357. package/src/helpers/isTamaguiElement.tsx +11 -0
  358. package/src/helpers/matchMedia.native.ts +23 -0
  359. package/src/helpers/matchMedia.ts +16 -0
  360. package/src/helpers/mergeProps.ts +56 -0
  361. package/src/helpers/mergeTransform.ts +30 -0
  362. package/src/helpers/normalizeColor.ts +38 -0
  363. package/src/helpers/normalizeValueWithProperty.ts +129 -0
  364. package/src/helpers/proxyThemeVariables.tsx +15 -0
  365. package/src/helpers/pseudoDescriptors.ts +40 -0
  366. package/src/helpers/registerCSSVariable.ts +13 -0
  367. package/src/helpers/themeable.tsx +44 -0
  368. package/src/helpers/themes.ts +67 -0
  369. package/src/helpers/timer.ts +9 -0
  370. package/src/helpers/useShallowSetState.tsx +41 -0
  371. package/src/helpers/warnOnce.tsx +11 -0
  372. package/src/helpers/withStaticProperties.tsx +7 -0
  373. package/src/hooks/getThemeUnwrapped.tsx +5 -0
  374. package/src/hooks/useId.tsx +1 -0
  375. package/src/hooks/useIsTouchDevice.tsx +6 -0
  376. package/src/hooks/useMedia.tsx +298 -0
  377. package/src/hooks/useSafeRef.ts +45 -0
  378. package/src/hooks/useServerHooks.tsx +12 -0
  379. package/src/hooks/useStyle.tsx +49 -0
  380. package/src/hooks/useTheme.tsx +274 -0
  381. package/src/hooks/useThemeName.tsx +27 -0
  382. package/src/index.ts +72 -0
  383. package/src/inject-styles.ts +20 -0
  384. package/src/insertFont.ts +73 -0
  385. package/src/setupHooks.ts +35 -0
  386. package/src/setupReactNative.ts +22 -0
  387. package/src/styled.tsx +195 -0
  388. package/src/types.tsx +1459 -0
  389. package/src/updateTheme.ts +26 -0
  390. package/src/views/FontLanguage.native.tsx +12 -0
  391. package/src/views/FontLanguage.tsx +16 -0
  392. package/src/views/FontLanguage.types.ts +13 -0
  393. package/src/views/Slot.tsx +95 -0
  394. package/src/views/Stack.tsx +25 -0
  395. package/src/views/TamaguiProvider.tsx +65 -0
  396. package/src/views/Text.tsx +87 -0
  397. package/src/views/Theme.tsx +83 -0
  398. package/src/views/ThemeProvider.tsx +55 -0
  399. package/types/Tamagui.d.ts +30 -0
  400. package/types/Tamagui.d.ts.map +1 -0
  401. package/types/addTheme.d.ts +32 -0
  402. package/types/addTheme.d.ts.map +1 -0
  403. package/types/config.d.ts +49 -0
  404. package/types/config.d.ts.map +1 -0
  405. package/types/constants/constants.d.ts +21 -0
  406. package/types/constants/constants.d.ts.map +1 -0
  407. package/types/constants/isDevTools.d.ts +2 -0
  408. package/types/constants/isDevTools.d.ts.map +1 -0
  409. package/types/contexts/ButtonNestingContext.d.ts +3 -0
  410. package/types/contexts/ButtonNestingContext.d.ts.map +1 -0
  411. package/types/contexts/FontLanguageContext.d.ts +5 -0
  412. package/types/contexts/FontLanguageContext.d.ts.map +1 -0
  413. package/types/contexts/TextAncestorContext.d.ts +3 -0
  414. package/types/contexts/TextAncestorContext.d.ts.map +1 -0
  415. package/types/createComponent.d.ts +23 -0
  416. package/types/createComponent.d.ts.map +1 -0
  417. package/types/createFont.d.ts +3 -0
  418. package/types/createFont.d.ts.map +1 -0
  419. package/types/createShorthands.d.ts +3 -0
  420. package/types/createShorthands.d.ts.map +1 -0
  421. package/types/createTamagui.d.ts +3 -0
  422. package/types/createTamagui.d.ts.map +1 -0
  423. package/types/createTheme.d.ts +7 -0
  424. package/types/createTheme.d.ts.map +1 -0
  425. package/types/createTokens.d.ts +28 -0
  426. package/types/createTokens.d.ts.map +1 -0
  427. package/types/createVariable.d.ts +26 -0
  428. package/types/createVariable.d.ts.map +1 -0
  429. package/types/createVariables.d.ts +11 -0
  430. package/types/createVariables.d.ts.map +1 -0
  431. package/types/helpers/RNComponents.d.ts +2 -0
  432. package/types/helpers/RNComponents.d.ts.map +1 -0
  433. package/types/helpers/ThemeManager.d.ts +36 -0
  434. package/types/helpers/ThemeManager.d.ts.map +1 -0
  435. package/types/helpers/ThemeManagerContext.d.ts +4 -0
  436. package/types/helpers/ThemeManagerContext.d.ts.map +1 -0
  437. package/types/helpers/createMediaStyle.d.ts +5 -0
  438. package/types/helpers/createMediaStyle.d.ts.map +1 -0
  439. package/types/helpers/createPropMapper.d.ts +7 -0
  440. package/types/helpers/createPropMapper.d.ts.map +1 -0
  441. package/types/helpers/createProxy.d.ts +2 -0
  442. package/types/helpers/createProxy.d.ts.map +1 -0
  443. package/types/helpers/expandStyle.d.ts +6 -0
  444. package/types/helpers/expandStyle.d.ts.map +1 -0
  445. package/types/helpers/expandStyles.d.ts +26 -0
  446. package/types/helpers/expandStyles.d.ts.map +1 -0
  447. package/types/helpers/extendStaticConfig.d.ts +4 -0
  448. package/types/helpers/extendStaticConfig.d.ts.map +1 -0
  449. package/types/helpers/getAnimationDriver.d.ts +6 -0
  450. package/types/helpers/getAnimationDriver.d.ts.map +1 -0
  451. package/types/helpers/getExpandedShorthands.d.ts +3 -0
  452. package/types/helpers/getExpandedShorthands.d.ts.map +1 -0
  453. package/types/helpers/getFontLanguage.d.ts +2 -0
  454. package/types/helpers/getFontLanguage.d.ts.map +1 -0
  455. package/types/helpers/getSplitStyles.d.ts +31 -0
  456. package/types/helpers/getSplitStyles.d.ts.map +1 -0
  457. package/types/helpers/getStylesAtomic.d.ts +18 -0
  458. package/types/helpers/getStylesAtomic.d.ts.map +1 -0
  459. package/types/helpers/getStylesAtomic.native.d.ts +4 -0
  460. package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
  461. package/types/helpers/getThemeCSSRules.d.ts +8 -0
  462. package/types/helpers/getThemeCSSRules.d.ts.map +1 -0
  463. package/types/helpers/getThemeCSSRules.native.d.ts +2 -0
  464. package/types/helpers/getThemeCSSRules.native.d.ts.map +1 -0
  465. package/types/helpers/getVariantExtras.d.ts +5 -0
  466. package/types/helpers/getVariantExtras.d.ts.map +1 -0
  467. package/types/helpers/insertStyleRule.d.ts +11 -0
  468. package/types/helpers/insertStyleRule.d.ts.map +1 -0
  469. package/types/helpers/isObj.d.ts +2 -0
  470. package/types/helpers/isObj.d.ts.map +1 -0
  471. package/types/helpers/isTamaguiComponent.d.ts +5 -0
  472. package/types/helpers/isTamaguiComponent.d.ts.map +1 -0
  473. package/types/helpers/isTamaguiElement.d.ts +3 -0
  474. package/types/helpers/isTamaguiElement.d.ts.map +1 -0
  475. package/types/helpers/matchMedia.d.ts +6 -0
  476. package/types/helpers/matchMedia.d.ts.map +1 -0
  477. package/types/helpers/matchMedia.native.d.ts +4 -0
  478. package/types/helpers/matchMedia.native.d.ts.map +1 -0
  479. package/types/helpers/mergeProps.d.ts +17 -0
  480. package/types/helpers/mergeProps.d.ts.map +1 -0
  481. package/types/helpers/mergeTransform.d.ts +9 -0
  482. package/types/helpers/mergeTransform.d.ts.map +1 -0
  483. package/types/helpers/normalizeColor.d.ts +4 -0
  484. package/types/helpers/normalizeColor.d.ts.map +1 -0
  485. package/types/helpers/normalizeValueWithProperty.d.ts +7 -0
  486. package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -0
  487. package/types/helpers/proxyThemeVariables.d.ts +2 -0
  488. package/types/helpers/proxyThemeVariables.d.ts.map +1 -0
  489. package/types/helpers/pseudoDescriptors.d.ts +10 -0
  490. package/types/helpers/pseudoDescriptors.d.ts.map +1 -0
  491. package/types/helpers/registerCSSVariable.d.ts +5 -0
  492. package/types/helpers/registerCSSVariable.d.ts.map +1 -0
  493. package/types/helpers/themeable.d.ts +12 -0
  494. package/types/helpers/themeable.d.ts.map +1 -0
  495. package/types/helpers/themes.d.ts +4 -0
  496. package/types/helpers/themes.d.ts.map +1 -0
  497. package/types/helpers/timer.d.ts +2 -0
  498. package/types/helpers/timer.d.ts.map +1 -0
  499. package/types/helpers/useShallowSetState.d.ts +5 -0
  500. package/types/helpers/useShallowSetState.d.ts.map +1 -0
  501. package/types/helpers/warnOnce.d.ts +2 -0
  502. package/types/helpers/warnOnce.d.ts.map +1 -0
  503. package/types/helpers/withStaticProperties.d.ts +2 -0
  504. package/types/helpers/withStaticProperties.d.ts.map +1 -0
  505. package/types/hooks/getThemeUnwrapped.d.ts +3 -0
  506. package/types/hooks/getThemeUnwrapped.d.ts.map +1 -0
  507. package/types/hooks/useId.d.ts +2 -0
  508. package/types/hooks/useId.d.ts.map +1 -0
  509. package/types/hooks/useIsTouchDevice.d.ts +2 -0
  510. package/types/hooks/useIsTouchDevice.d.ts.map +1 -0
  511. package/types/hooks/useMedia.d.ts +33 -0
  512. package/types/hooks/useMedia.d.ts.map +1 -0
  513. package/types/hooks/useSafeRef.d.ts +4 -0
  514. package/types/hooks/useSafeRef.d.ts.map +1 -0
  515. package/types/hooks/useServerHooks.d.ts +4 -0
  516. package/types/hooks/useServerHooks.d.ts.map +1 -0
  517. package/types/hooks/useStyle.d.ts +8 -0
  518. package/types/hooks/useStyle.d.ts.map +1 -0
  519. package/types/hooks/useTheme.d.ts +25 -0
  520. package/types/hooks/useTheme.d.ts.map +1 -0
  521. package/types/hooks/useThemeName.d.ts +5 -0
  522. package/types/hooks/useThemeName.d.ts.map +1 -0
  523. package/types/index.d.ts +56 -0
  524. package/types/index.d.ts.map +1 -0
  525. package/types/inject-styles.d.ts +7 -0
  526. package/types/inject-styles.d.ts.map +1 -0
  527. package/types/insertFont.d.ts +9 -0
  528. package/types/insertFont.d.ts.map +1 -0
  529. package/types/setupHooks.d.ts +14 -0
  530. package/types/setupHooks.d.ts.map +1 -0
  531. package/types/setupReactNative.d.ts +5 -0
  532. package/types/setupReactNative.d.ts.map +1 -0
  533. package/types/styled.d.ts +20 -0
  534. package/types/styled.d.ts.map +1 -0
  535. package/types/types.d.ts +715 -0
  536. package/types/types.d.ts.map +1 -0
  537. package/types/updateTheme.d.ts +30 -0
  538. package/types/updateTheme.d.ts.map +1 -0
  539. package/types/views/FontLanguage.d.ts +4 -0
  540. package/types/views/FontLanguage.d.ts.map +1 -0
  541. package/types/views/FontLanguage.native.d.ts +4 -0
  542. package/types/views/FontLanguage.native.d.ts.map +1 -0
  543. package/types/views/FontLanguage.types.d.ts +11 -0
  544. package/types/views/FontLanguage.types.d.ts.map +1 -0
  545. package/types/views/Slot.d.ts +11 -0
  546. package/types/views/Slot.d.ts.map +1 -0
  547. package/types/views/Stack.d.ts +4 -0
  548. package/types/views/Stack.d.ts.map +1 -0
  549. package/types/views/TamaguiProvider.d.ts +4 -0
  550. package/types/views/TamaguiProvider.d.ts.map +1 -0
  551. package/types/views/Text.d.ts +4 -0
  552. package/types/views/Text.d.ts.map +1 -0
  553. package/types/views/Theme.d.ts +8 -0
  554. package/types/views/Theme.d.ts.map +1 -0
  555. package/types/views/ThemeProvider.d.ts +12 -0
  556. package/types/views/ThemeProvider.d.ts.map +1 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/FontLanguage.types.ts"],
4
+ "sourcesContent": ["import React from 'react'\n\nimport { FontLanguages, FontTokens } from '../types'\n\ntype FontFamilies = FontTokens extends `$${infer Token}` ? Token : never\n\nexport type LanguageContextType = Partial<{\n [key in FontFamilies]: FontLanguages | 'default'\n}>\n\nexport type FontLanguageProps = LanguageContextType & {\n children?: React.ReactNode\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var Slot_exports = {};
20
+ __export(Slot_exports, {
21
+ Slot: () => Slot,
22
+ Slottable: () => Slottable,
23
+ mergeEvent: () => mergeEvent
24
+ });
25
+ module.exports = __toCommonJS(Slot_exports);
26
+ var import_jsx_runtime = require("react/jsx-runtime");
27
+ var import_compose_refs = require("@tamagui/compose-refs");
28
+ var import_constants = require("@tamagui/constants");
29
+ var import_react = require("react");
30
+ const Slot = (0, import_react.forwardRef)(function Slot2(props, forwardedRef) {
31
+ const { children, ...slotProps } = props;
32
+ if ((0, import_react.isValidElement)(children)) {
33
+ const childProps = {
34
+ ...mergeSlotProps(children, slotProps),
35
+ ref: (0, import_compose_refs.composeRefs)(forwardedRef, children.ref)
36
+ };
37
+ return (0, import_react.cloneElement)(children, childProps);
38
+ }
39
+ return import_react.Children.count(children) > 1 ? import_react.Children.only(null) : null;
40
+ });
41
+ const Slottable = ({ children }) => {
42
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
43
+ };
44
+ const pressMap = import_constants.isWeb ? {
45
+ onPress: "onClick",
46
+ onPressOut: "onMouseUp",
47
+ onPressIn: "onMouseDown"
48
+ } : {};
49
+ function mergeSlotProps(child, slotProps) {
50
+ const childProps = child.props;
51
+ const overrideProps = { ...childProps };
52
+ const isHTMLChild = typeof child.type === "string";
53
+ if (isHTMLChild) {
54
+ for (const key in pressMap) {
55
+ if (key in slotProps) {
56
+ slotProps[pressMap[key]] = slotProps[key];
57
+ delete slotProps[key];
58
+ }
59
+ }
60
+ }
61
+ for (let propName in childProps) {
62
+ const slotPropValue = slotProps[propName];
63
+ const childPropValue = childProps[propName];
64
+ if (isHTMLChild && pressMap[propName]) {
65
+ propName = pressMap[propName];
66
+ delete overrideProps[propName];
67
+ }
68
+ const isHandler = handleRegex.test(propName);
69
+ if (isHandler) {
70
+ overrideProps[propName] = mergeEvent(childPropValue, slotPropValue);
71
+ } else if (propName === "style") {
72
+ overrideProps[propName] = { ...slotPropValue, ...childPropValue };
73
+ } else if (propName === "className") {
74
+ overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
75
+ }
76
+ }
77
+ return { ...slotProps, ...overrideProps };
78
+ }
79
+ const handleRegex = /^on[A-Z]/;
80
+ function mergeEvent(a, b) {
81
+ return (...args) => {
82
+ a == null ? void 0 : a(...args);
83
+ b == null ? void 0 : b(...args);
84
+ };
85
+ }
86
+ // Annotate the CommonJS export names for ESM import in node:
87
+ 0 && (module.exports = {
88
+ Slot,
89
+ Slottable,
90
+ mergeEvent
91
+ });
92
+ //# sourceMappingURL=Slot.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/Slot.tsx"],
4
+ "sourcesContent": ["// via radix\n\nimport { composeRefs } from '@tamagui/compose-refs'\nimport { isWeb } from '@tamagui/constants'\nimport { Children, ReactNode, cloneElement, forwardRef, isValidElement } from 'react'\n\n/* -------------------------------------------------------------------------------------------------\n * Slot\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SlotProps {\n children: ReactNode\n}\n\nexport const Slot = forwardRef<any, SlotProps>(function Slot(props, forwardedRef) {\n const { children, ...slotProps } = props\n\n if (isValidElement(children)) {\n const childProps = {\n ...mergeSlotProps(children, slotProps),\n ref: composeRefs(forwardedRef, (children as any).ref),\n }\n return cloneElement(children, childProps)\n }\n\n return Children.count(children) > 1 ? Children.only(null) : null\n})\n\n/* -------------------------------------------------------------------------------------------------\n * Slottable\n * -----------------------------------------------------------------------------------------------*/\n\nexport const Slottable = ({ children }: { children: ReactNode }) => {\n return <>{children}</>\n}\n\n/* ---------------------------------------------------------------------------------------------- */\n\nconst pressMap = isWeb\n ? {\n onPress: 'onClick',\n onPressOut: 'onMouseUp',\n onPressIn: 'onMouseDown',\n }\n : {}\n\nfunction mergeSlotProps(child: any, slotProps: Record<string, any>) {\n const childProps = child.props\n\n // all child props should override\n const overrideProps = { ...childProps }\n const isHTMLChild = typeof child.type === 'string'\n\n if (isHTMLChild) {\n for (const key in pressMap) {\n if (key in slotProps) {\n slotProps[pressMap[key]] = slotProps[key]\n delete slotProps[key]\n }\n }\n }\n\n for (let propName in childProps) {\n const slotPropValue = slotProps[propName]\n const childPropValue = childProps[propName]\n\n if (isHTMLChild && pressMap[propName]) {\n propName = pressMap[propName]\n delete overrideProps[propName]\n }\n\n const isHandler = handleRegex.test(propName)\n // if it's a handler, modify the override by composing the base handler\n if (isHandler) {\n overrideProps[propName] = mergeEvent(childPropValue, slotPropValue)\n }\n // if it's `style`, we merge them\n else if (propName === 'style') {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue }\n } else if (propName === 'className') {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(' ')\n }\n }\n\n return { ...slotProps, ...overrideProps }\n}\n\nconst handleRegex = /^on[A-Z]/\n\nexport function mergeEvent(a?: Function, b?: Function) {\n return (...args: unknown[]) => {\n a?.(...args)\n b?.(...args)\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiCS;AA/BT,0BAA4B;AAC5B,uBAAsB;AACtB,mBAA8E;AAUvE,MAAM,WAAO,yBAA2B,SAASA,MAAK,OAAO,cAAc;AAChF,QAAM,EAAE,UAAU,GAAG,UAAU,IAAI;AAEnC,UAAI,6BAAe,QAAQ,GAAG;AAC5B,UAAM,aAAa;AAAA,MACjB,GAAG,eAAe,UAAU,SAAS;AAAA,MACrC,SAAK,iCAAY,cAAe,SAAiB,GAAG;AAAA,IACtD;AACA,eAAO,2BAAa,UAAU,UAAU;AAAA,EAC1C;AAEA,SAAO,sBAAS,MAAM,QAAQ,IAAI,IAAI,sBAAS,KAAK,IAAI,IAAI;AAC9D,CAAC;AAMM,MAAM,YAAY,CAAC,EAAE,SAAS,MAA+B;AAClE,SAAO,2EAAG,UAAS;AACrB;AAIA,MAAM,WAAW,yBACb;AAAA,EACE,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,WAAW;AACb,IACA,CAAC;AAEL,SAAS,eAAe,OAAY,WAAgC;AAClE,QAAM,aAAa,MAAM;AAGzB,QAAM,gBAAgB,EAAE,GAAG,WAAW;AACtC,QAAM,cAAc,OAAO,MAAM,SAAS;AAE1C,MAAI,aAAa;AACf,eAAW,OAAO,UAAU;AAC1B,UAAI,OAAO,WAAW;AACpB,kBAAU,SAAS,GAAG,CAAC,IAAI,UAAU,GAAG;AACxC,eAAO,UAAU,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACF;AAEA,WAAS,YAAY,YAAY;AAC/B,UAAM,gBAAgB,UAAU,QAAQ;AACxC,UAAM,iBAAiB,WAAW,QAAQ;AAE1C,QAAI,eAAe,SAAS,QAAQ,GAAG;AACrC,iBAAW,SAAS,QAAQ;AAC5B,aAAO,cAAc,QAAQ;AAAA,IAC/B;AAEA,UAAM,YAAY,YAAY,KAAK,QAAQ;AAE3C,QAAI,WAAW;AACb,oBAAc,QAAQ,IAAI,WAAW,gBAAgB,aAAa;AAAA,IACpE,WAES,aAAa,SAAS;AAC7B,oBAAc,QAAQ,IAAI,EAAE,GAAG,eAAe,GAAG,eAAe;AAAA,IAClE,WAAW,aAAa,aAAa;AACnC,oBAAc,QAAQ,IAAI,CAAC,eAAe,cAAc,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,IACpF;AAAA,EACF;AAEA,SAAO,EAAE,GAAG,WAAW,GAAG,cAAc;AAC1C;AAEA,MAAM,cAAc;AAEb,SAAS,WAAW,GAAc,GAAc;AACrD,SAAO,IAAI,SAAoB;AAC7B,2BAAI,GAAG;AACP,2BAAI,GAAG;AAAA,EACT;AACF;",
6
+ "names": ["Slot"]
7
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var Stack_exports = {};
20
+ __export(Stack_exports, {
21
+ Stack: () => Stack
22
+ });
23
+ module.exports = __toCommonJS(Stack_exports);
24
+ var import_constants = require("../constants/constants");
25
+ var import_createComponent = require("../createComponent");
26
+ const Stack = (0, import_createComponent.createComponent)({
27
+ componentName: "Stack",
28
+ acceptsClassName: true,
29
+ defaultProps: {
30
+ ...import_constants.stackDefaultStyles,
31
+ flexDirection: "column"
32
+ }
33
+ });
34
+ // Annotate the CommonJS export names for ESM import in node:
35
+ 0 && (module.exports = {
36
+ Stack
37
+ });
38
+ //# sourceMappingURL=Stack.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/Stack.tsx"],
4
+ "sourcesContent": ["import type { View } from 'react-native'\n\nimport { stackDefaultStyles } from '../constants/constants'\nimport { createComponent } from '../createComponent'\nimport { StackProps, StackPropsBase } from '../types'\n\nexport const Stack = createComponent<StackProps, View, StackPropsBase>({\n componentName: 'Stack',\n acceptsClassName: true,\n defaultProps: {\n ...stackDefaultStyles,\n flexDirection: 'column',\n },\n})\n\n// test types\n// export const YStack = styled(Stack, {\n// flexDirection: 'column',\n// })\n// // test types\n// const x00 = <Stack missing={0} /> // should err\n// const x0 = <YStack missing={0} /> // should err\n// const x1 = (props: StackProps) => <YStack {...props} />\n// type ys = typeof YStack\n// type ysv = ys extends StaticComponent<any, infer V> ? V : unknown\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,uBAAmC;AACnC,6BAAgC;AAGzB,MAAM,YAAQ,wCAAkD;AAAA,EACrE,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,cAAc;AAAA,IACZ,GAAG;AAAA,IACH,eAAe;AAAA,EACjB;AACF,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var TamaguiProvider_exports = {};
30
+ __export(TamaguiProvider_exports, {
31
+ TamaguiProvider: () => TamaguiProvider
32
+ });
33
+ module.exports = __toCommonJS(TamaguiProvider_exports);
34
+ var import_jsx_runtime = require("react/jsx-runtime");
35
+ var import_constants = require("@tamagui/constants");
36
+ var React = __toESM(require("react"));
37
+ var import_ButtonNestingContext = require("../contexts/ButtonNestingContext");
38
+ var import_TextAncestorContext = require("../contexts/TextAncestorContext");
39
+ var import_useMedia = require("../hooks/useMedia");
40
+ var import_ThemeProvider = require("./ThemeProvider");
41
+ function TamaguiProvider({
42
+ children,
43
+ disableInjectCSS,
44
+ config,
45
+ ...themePropsProvider
46
+ }) {
47
+ if (import_constants.isRSC) {
48
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
49
+ "span",
50
+ {
51
+ style: { display: "contents" },
52
+ className: `t_${Object.keys(config.themes)[0] || "light"}`,
53
+ children
54
+ }
55
+ );
56
+ }
57
+ if (!(import_constants.isWeb && import_constants.isServer)) {
58
+ (0, import_useMedia.useMediaListeners)(config);
59
+ }
60
+ if (import_constants.isClient) {
61
+ React.useLayoutEffect(() => {
62
+ if (document.documentElement.classList.contains("t_unmounted")) {
63
+ document.documentElement.classList.remove("t_unmounted");
64
+ }
65
+ if (disableInjectCSS)
66
+ return;
67
+ const style = document.createElement("style");
68
+ style.appendChild(document.createTextNode(config.getCSS()));
69
+ document.head.appendChild(style);
70
+ return () => {
71
+ document.head.removeChild(style);
72
+ };
73
+ }, [config, disableInjectCSS]);
74
+ }
75
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ButtonNestingContext.ButtonNestingContext.Provider, { value: false, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TextAncestorContext.TextAncestorContext.Provider, { value: false, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
76
+ import_ThemeProvider.ThemeProvider,
77
+ {
78
+ themeClassNameOnRoot: config.themeClassNameOnRoot,
79
+ disableRootThemeClass: config.disableRootThemeClass,
80
+ ...themePropsProvider,
81
+ defaultTheme: themePropsProvider.defaultTheme ?? Object.keys(config.themes)[0],
82
+ children
83
+ }
84
+ ) }) });
85
+ }
86
+ // Annotate the CommonJS export names for ESM import in node:
87
+ 0 && (module.exports = {
88
+ TamaguiProvider
89
+ });
90
+ //# sourceMappingURL=TamaguiProvider.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/TamaguiProvider.tsx"],
4
+ "sourcesContent": ["import { isClient, isRSC, isServer, isWeb } from '@tamagui/constants'\nimport * as React from 'react'\n\nimport { ButtonNestingContext } from '../contexts/ButtonNestingContext'\nimport { TextAncestorContext } from '../contexts/TextAncestorContext'\nimport { useMediaListeners } from '../hooks/useMedia'\nimport type { TamaguiProviderProps } from '../types'\nimport { ThemeProvider } from './ThemeProvider'\n\nexport function TamaguiProvider({\n children,\n disableInjectCSS,\n config,\n ...themePropsProvider\n}: TamaguiProviderProps) {\n if (isRSC) {\n return (\n <span\n style={{ display: 'contents' }}\n className={`t_${Object.keys(config.themes)[0] || 'light'}`}\n >\n {children}\n </span>\n )\n }\n\n if (!(isWeb && isServer)) {\n useMediaListeners(config)\n }\n\n if (isClient) {\n // inject CSS if asked to (not SSR compliant)\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(() => {\n // for easier support of hidden-until-js mount animations\n // user must set t_unmounted on documentElement from SSR\n if (document.documentElement.classList.contains('t_unmounted')) {\n document.documentElement.classList.remove('t_unmounted')\n }\n\n if (disableInjectCSS) return\n const style = document.createElement('style')\n style.appendChild(document.createTextNode(config.getCSS()))\n document.head.appendChild(style)\n return () => {\n document.head.removeChild(style)\n }\n }, [config, disableInjectCSS])\n }\n\n return (\n <ButtonNestingContext.Provider value={false}>\n <TextAncestorContext.Provider value={false}>\n <ThemeProvider\n themeClassNameOnRoot={config.themeClassNameOnRoot}\n disableRootThemeClass={config.disableRootThemeClass}\n {...themePropsProvider}\n defaultTheme={themePropsProvider.defaultTheme ?? Object.keys(config.themes)[0]}\n >\n {children}\n </ThemeProvider>\n </TextAncestorContext.Provider>\n </ButtonNestingContext.Provider>\n )\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBM;AAjBN,uBAAiD;AACjD,YAAuB;AAEvB,kCAAqC;AACrC,iCAAoC;AACpC,sBAAkC;AAElC,2BAA8B;AAEvB,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAyB;AACvB,MAAI,wBAAO;AACT,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAO,EAAE,SAAS,WAAW;AAAA,QAC7B,WAAW,KAAK,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC,KAAK;AAAA,QAEhD;AAAA;AAAA,IACH;AAAA,EAEJ;AAEA,MAAI,EAAE,0BAAS,4BAAW;AACxB,2CAAkB,MAAM;AAAA,EAC1B;AAEA,MAAI,2BAAU;AAGZ,UAAM,gBAAgB,MAAM;AAG1B,UAAI,SAAS,gBAAgB,UAAU,SAAS,aAAa,GAAG;AAC9D,iBAAS,gBAAgB,UAAU,OAAO,aAAa;AAAA,MACzD;AAEA,UAAI;AAAkB;AACtB,YAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,YAAM,YAAY,SAAS,eAAe,OAAO,OAAO,CAAC,CAAC;AAC1D,eAAS,KAAK,YAAY,KAAK;AAC/B,aAAO,MAAM;AACX,iBAAS,KAAK,YAAY,KAAK;AAAA,MACjC;AAAA,IACF,GAAG,CAAC,QAAQ,gBAAgB,CAAC;AAAA,EAC/B;AAEA,SACE,4CAAC,iDAAqB,UAArB,EAA8B,OAAO,OACpC,sDAAC,+CAAoB,UAApB,EAA6B,OAAO,OACnC;AAAA,IAAC;AAAA;AAAA,MACC,sBAAsB,OAAO;AAAA,MAC7B,uBAAuB,OAAO;AAAA,MAC7B,GAAG;AAAA,MACJ,cAAc,mBAAmB,gBAAgB,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC;AAAA,MAE5E;AAAA;AAAA,EACH,GACF,GACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var Text_exports = {};
20
+ __export(Text_exports, {
21
+ Text: () => Text
22
+ });
23
+ module.exports = __toCommonJS(Text_exports);
24
+ var import_constants = require("@tamagui/constants");
25
+ var import_helpers = require("@tamagui/helpers");
26
+ var import_createComponent = require("../createComponent");
27
+ const ellipseStyle = {
28
+ maxWidth: "100%",
29
+ overflow: "hidden",
30
+ textOverflow: "ellipsis",
31
+ whiteSpace: "nowrap"
32
+ };
33
+ const Text = (0, import_createComponent.createComponent)({
34
+ componentName: "Text",
35
+ acceptsClassName: true,
36
+ isText: true,
37
+ defaultProps: {
38
+ // @ts-ignore
39
+ display: "flex",
40
+ fontFamily: "System",
41
+ ...import_constants.isWeb ? {
42
+ display: "inline",
43
+ boxSizing: "border-box",
44
+ wordWrap: "break-word",
45
+ margin: 0
46
+ } : {
47
+ suppressHighlighting: true
48
+ }
49
+ },
50
+ inlineWhenUnflattened: /* @__PURE__ */ new Set(["fontFamily"]),
51
+ variants: {
52
+ ...import_constants.isWeb && {
53
+ numberOfLines: {
54
+ 1: ellipseStyle,
55
+ ":number": (numberOfLines) => numberOfLines >= 1 ? {
56
+ WebkitLineClamp: numberOfLines,
57
+ WebkitBoxOrient: "vertical",
58
+ display: "-webkit-box",
59
+ overflow: "hidden"
60
+ } : null
61
+ }
62
+ },
63
+ // ??
64
+ ellipsizeMode: {
65
+ "...": () => null
66
+ },
67
+ selectable: {
68
+ true: {
69
+ userSelect: "text",
70
+ cursor: "text"
71
+ },
72
+ false: {
73
+ userSelect: "none",
74
+ cursor: "default"
75
+ }
76
+ },
77
+ ellipse: {
78
+ true: import_constants.isWeb ? ellipseStyle : {
79
+ numberOfLines: 1,
80
+ lineBreakMode: "clip"
81
+ }
82
+ }
83
+ },
84
+ deoptProps: new Set(import_constants.isWeb ? [] : ["ellipse"]),
85
+ validStyles: {
86
+ ...import_helpers.validStyles,
87
+ ...import_helpers.stylePropsTextOnly
88
+ }
89
+ });
90
+ // Annotate the CommonJS export names for ESM import in node:
91
+ 0 && (module.exports = {
92
+ Text
93
+ });
94
+ //# sourceMappingURL=Text.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/Text.tsx"],
4
+ "sourcesContent": ["import { isWeb } from '@tamagui/constants'\nimport { stylePropsTextOnly, validStyles } from '@tamagui/helpers'\nimport type { Text as TextView } from 'react-native'\n\nimport { createComponent } from '../createComponent'\nimport { TextProps, TextPropsBase } from '../types'\n\nconst ellipseStyle = {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n}\n\nexport const Text = createComponent<TextProps, TextView, TextPropsBase>({\n componentName: 'Text',\n acceptsClassName: true,\n isText: true,\n\n defaultProps: {\n // @ts-ignore\n display: 'flex',\n fontFamily: 'System',\n ...(isWeb\n ? {\n display: 'inline',\n boxSizing: 'border-box',\n wordWrap: 'break-word',\n margin: 0,\n }\n : {\n suppressHighlighting: true,\n }),\n },\n\n inlineWhenUnflattened: new Set(['fontFamily']),\n\n variants: {\n ...(isWeb && {\n numberOfLines: {\n 1: ellipseStyle,\n\n ':number': (numberOfLines) =>\n numberOfLines >= 1\n ? {\n WebkitLineClamp: numberOfLines,\n WebkitBoxOrient: 'vertical',\n display: '-webkit-box',\n overflow: 'hidden',\n }\n : null,\n },\n }),\n\n // ??\n ellipsizeMode: {\n '...': () => null,\n },\n\n selectable: {\n true: {\n userSelect: 'text',\n cursor: 'text',\n },\n false: {\n userSelect: 'none',\n cursor: 'default',\n },\n },\n\n ellipse: {\n true: isWeb\n ? ellipseStyle\n : {\n numberOfLines: 1,\n lineBreakMode: 'clip',\n },\n },\n },\n\n deoptProps: new Set(isWeb ? [] : ['ellipse']),\n\n validStyles: {\n ...validStyles,\n ...stylePropsTextOnly,\n },\n})\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAsB;AACtB,qBAAgD;AAGhD,6BAAgC;AAGhC,MAAM,eAAe;AAAA,EACnB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,cAAc;AAAA,EACd,YAAY;AACd;AAEO,MAAM,WAAO,wCAAoD;AAAA,EACtE,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,QAAQ;AAAA,EAER,cAAc;AAAA;AAAA,IAEZ,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,GAAI,yBACA;AAAA,MACE,SAAS;AAAA,MACT,WAAW;AAAA,MACX,UAAU;AAAA,MACV,QAAQ;AAAA,IACV,IACA;AAAA,MACE,sBAAsB;AAAA,IACxB;AAAA,EACN;AAAA,EAEA,uBAAuB,oBAAI,IAAI,CAAC,YAAY,CAAC;AAAA,EAE7C,UAAU;AAAA,IACR,GAAI,0BAAS;AAAA,MACX,eAAe;AAAA,QACb,GAAG;AAAA,QAEH,WAAW,CAAC,kBACV,iBAAiB,IACb;AAAA,UACE,iBAAiB;AAAA,UACjB,iBAAiB;AAAA,UACjB,SAAS;AAAA,UACT,UAAU;AAAA,QACZ,IACA;AAAA,MACR;AAAA,IACF;AAAA;AAAA,IAGA,eAAe;AAAA,MACb,OAAO,MAAM;AAAA,IACf;AAAA,IAEA,YAAY;AAAA,MACV,MAAM;AAAA,QACJ,YAAY;AAAA,QACZ,QAAQ;AAAA,MACV;AAAA,MACA,OAAO;AAAA,QACL,YAAY;AAAA,QACZ,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IAEA,SAAS;AAAA,MACP,MAAM,yBACF,eACA;AAAA,QACE,eAAe;AAAA,QACf,eAAe;AAAA,MACjB;AAAA,IACN;AAAA,EACF;AAAA,EAEA,YAAY,IAAI,IAAI,yBAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;AAAA,EAE5C,aAAa;AAAA,IACX,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AACF,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var Theme_exports = {};
20
+ __export(Theme_exports, {
21
+ Theme: () => Theme,
22
+ useThemedChildren: () => useThemedChildren
23
+ });
24
+ module.exports = __toCommonJS(Theme_exports);
25
+ var import_jsx_runtime = require("react/jsx-runtime");
26
+ var import_constants = require("@tamagui/constants");
27
+ var import_react = require("react");
28
+ var import_createVariable = require("../createVariable");
29
+ var import_ThemeManagerContext = require("../helpers/ThemeManagerContext");
30
+ var import_useServerHooks = require("../hooks/useServerHooks");
31
+ var import_useTheme = require("../hooks/useTheme");
32
+ function Theme(props) {
33
+ if (props.disable)
34
+ return props.children;
35
+ const isRoot = !!props["_isRoot"];
36
+ const themeState = (0, import_useTheme.useChangeThemeEffect)(props, isRoot);
37
+ const children = props["data-themeable"] ? import_react.Children.map(
38
+ props.children,
39
+ (child) => (0, import_react.cloneElement)(child, { ["data-themeable"]: true })
40
+ ) : props.children;
41
+ return useThemedChildren(themeState, children, props);
42
+ }
43
+ function useThemedChildren(themeState, children, options) {
44
+ const { themeManager, isNewTheme, className, theme } = themeState;
45
+ const { shallow, forceClassName } = options;
46
+ const hasEverThemed = (0, import_useServerHooks.useServerRef)(false);
47
+ if (isNewTheme) {
48
+ hasEverThemed.current = true;
49
+ }
50
+ if (!isNewTheme && !hasEverThemed.current && !forceClassName && !shallow) {
51
+ return children;
52
+ }
53
+ let next = children;
54
+ if (shallow && themeManager) {
55
+ next = import_react.Children.map(next, (child) => {
56
+ return (0, import_react.cloneElement)(
57
+ child,
58
+ void 0,
59
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Theme, { name: themeManager.state.parentName, children: child.props.children })
60
+ );
61
+ });
62
+ }
63
+ next = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ThemeManagerContext.ThemeManagerContext.Provider, { value: themeManager, children: next });
64
+ if (import_constants.isWeb) {
65
+ const enableClassName = forceClassName === true || forceClassName !== false && isNewTheme;
66
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
67
+ "span",
68
+ {
69
+ className: "_dsp_contents",
70
+ ...theme && enableClassName && {
71
+ className: `${className} ${forceClassName ? "forced1" : ""} _dsp_contents`,
72
+ style: {
73
+ // in order to provide currentColor, set color by default
74
+ color: (0, import_createVariable.variableToString)(theme.color)
75
+ }
76
+ },
77
+ children: next
78
+ }
79
+ );
80
+ }
81
+ return next;
82
+ }
83
+ // Annotate the CommonJS export names for ESM import in node:
84
+ 0 && (module.exports = {
85
+ Theme,
86
+ useThemedChildren
87
+ });
88
+ //# sourceMappingURL=Theme.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/Theme.tsx"],
4
+ "sourcesContent": ["import { isWeb } from '@tamagui/constants'\nimport { Children, cloneElement } from 'react'\n\nimport { variableToString } from '../createVariable'\nimport { ThemeManagerContext } from '../helpers/ThemeManagerContext'\nimport { useServerRef } from '../hooks/useServerHooks'\nimport { ChangedThemeResponse, useChangeThemeEffect } from '../hooks/useTheme'\nimport { ThemeProps } from '../types'\n\nexport function Theme(props: ThemeProps) {\n // @ts-expect-error only for internal views\n if (props.disable) return props.children\n const isRoot = !!props['_isRoot']\n const themeState = useChangeThemeEffect(props, isRoot)\n const children = props['data-themeable']\n ? Children.map(props.children, (child) =>\n cloneElement(child, { ['data-themeable']: true })\n )\n : props.children\n\n return useThemedChildren(themeState, children, props)\n}\n\nexport function useThemedChildren(\n themeState: ChangedThemeResponse,\n children: any,\n options: { forceClassName?: boolean; shallow?: boolean }\n) {\n const { themeManager, isNewTheme, className, theme } = themeState\n const { shallow, forceClassName } = options\n\n const hasEverThemed = useServerRef(false)\n if (isNewTheme) {\n hasEverThemed.current = true\n }\n\n // once a theme is set it always passes the context to avoid reparenting\n // until then no context to avoid lots of context\n if (!isNewTheme && !hasEverThemed.current && !forceClassName && !shallow) {\n return children\n }\n\n // be sure to memoize shouldReset to avoid reparenting\n let next = children\n\n if (shallow && themeManager) {\n next = Children.map(next, (child) => {\n return cloneElement(\n child,\n undefined,\n <Theme name={themeManager.state.parentName}>{child.props.children}</Theme>\n )\n })\n }\n\n next = (\n <ThemeManagerContext.Provider value={themeManager}>\n {next}\n </ThemeManagerContext.Provider>\n )\n\n if (isWeb) {\n const enableClassName =\n forceClassName === true || (forceClassName !== false && isNewTheme)\n return (\n <span\n className=\"_dsp_contents\"\n {...(theme &&\n enableClassName && {\n className: `${className} ${forceClassName ? 'forced1' : ''} _dsp_contents`,\n style: {\n // in order to provide currentColor, set color by default\n color: variableToString(theme.color),\n },\n })}\n >\n {next}\n </span>\n )\n }\n\n return next\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkDQ;AAlDR,uBAAsB;AACtB,mBAAuC;AAEvC,4BAAiC;AACjC,iCAAoC;AACpC,4BAA6B;AAC7B,sBAA2D;AAGpD,SAAS,MAAM,OAAmB;AAEvC,MAAI,MAAM;AAAS,WAAO,MAAM;AAChC,QAAM,SAAS,CAAC,CAAC,MAAM,SAAS;AAChC,QAAM,iBAAa,sCAAqB,OAAO,MAAM;AACrD,QAAM,WAAW,MAAM,gBAAgB,IACnC,sBAAS;AAAA,IAAI,MAAM;AAAA,IAAU,CAAC,cAC5B,2BAAa,OAAO,EAAE,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAAA,EAClD,IACA,MAAM;AAEV,SAAO,kBAAkB,YAAY,UAAU,KAAK;AACtD;AAEO,SAAS,kBACd,YACA,UACA,SACA;AACA,QAAM,EAAE,cAAc,YAAY,WAAW,MAAM,IAAI;AACvD,QAAM,EAAE,SAAS,eAAe,IAAI;AAEpC,QAAM,oBAAgB,oCAAa,KAAK;AACxC,MAAI,YAAY;AACd,kBAAc,UAAU;AAAA,EAC1B;AAIA,MAAI,CAAC,cAAc,CAAC,cAAc,WAAW,CAAC,kBAAkB,CAAC,SAAS;AACxE,WAAO;AAAA,EACT;AAGA,MAAI,OAAO;AAEX,MAAI,WAAW,cAAc;AAC3B,WAAO,sBAAS,IAAI,MAAM,CAAC,UAAU;AACnC,iBAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA,4CAAC,SAAM,MAAM,aAAa,MAAM,YAAa,gBAAM,MAAM,UAAS;AAAA,MACpE;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SACE,4CAAC,+CAAoB,UAApB,EAA6B,OAAO,cAClC,gBACH;AAGF,MAAI,wBAAO;AACT,UAAM,kBACJ,mBAAmB,QAAS,mBAAmB,SAAS;AAC1D,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACT,GAAI,SACH,mBAAmB;AAAA,UACjB,WAAW,GAAG,aAAa,iBAAiB,YAAY;AAAA,UACxD,OAAO;AAAA;AAAA,YAEL,WAAO,wCAAiB,MAAM,KAAK;AAAA,UACrC;AAAA,QACF;AAAA,QAED;AAAA;AAAA,IACH;AAAA,EAEJ;AAEA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var ThemeProvider_exports = {};
20
+ __export(ThemeProvider_exports, {
21
+ ThemeProvider: () => ThemeProvider,
22
+ ThemeProviderRootContext: () => ThemeProviderRootContext
23
+ });
24
+ module.exports = __toCommonJS(ThemeProvider_exports);
25
+ var import_jsx_runtime = require("react/jsx-runtime");
26
+ var import_constants = require("@tamagui/constants");
27
+ var import_react = require("react");
28
+ var import_constants2 = require("../constants/constants");
29
+ var import_Theme = require("./Theme");
30
+ const ThemeProviderRootContext = (0, import_react.createContext)(null);
31
+ const ThemeProvider = (props) => {
32
+ if (import_constants.isClient) {
33
+ (0, import_react.useLayoutEffect)(() => {
34
+ if (props.disableRootThemeClass)
35
+ return;
36
+ const cn = `${import_constants2.THEME_CLASSNAME_PREFIX}${props.defaultTheme}`;
37
+ const target = props.themeClassNameOnRoot ? document.documentElement : document.body;
38
+ target.classList.add(cn);
39
+ return () => {
40
+ target.classList.remove(cn);
41
+ };
42
+ }, [props.defaultTheme, props.disableRootThemeClass, props.themeClassNameOnRoot]);
43
+ }
44
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
45
+ ThemeProviderRootContext.Provider,
46
+ {
47
+ value: (0, import_react.useMemo)(() => {
48
+ return {
49
+ defaultTheme: props.defaultTheme
50
+ };
51
+ }, []),
52
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
53
+ import_Theme.Theme,
54
+ {
55
+ className: props.className,
56
+ name: props.defaultTheme,
57
+ forceClassName: props.disableRootThemeClass ? false : void 0,
58
+ _isRoot: true,
59
+ children: props.children
60
+ }
61
+ )
62
+ }
63
+ );
64
+ };
65
+ // Annotate the CommonJS export names for ESM import in node:
66
+ 0 && (module.exports = {
67
+ ThemeProvider,
68
+ ThemeProviderRootContext
69
+ });
70
+ //# sourceMappingURL=ThemeProvider.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/ThemeProvider.tsx"],
4
+ "sourcesContent": ["import { isClient } from '@tamagui/constants'\nimport { createContext, useLayoutEffect, useMemo } from 'react'\n\nimport { THEME_CLASSNAME_PREFIX } from '../constants/constants'\nimport { Theme } from './Theme'\n\nexport type ThemeProviderProps = {\n className?: string\n defaultTheme: string\n disableRootThemeClass?: boolean\n themeClassNameOnRoot?: boolean\n children?: any\n reset?: boolean\n}\n\nexport const ThemeProviderRootContext = createContext<Pick<\n ThemeProviderProps,\n 'defaultTheme'\n> | null>(null)\n\nexport const ThemeProvider = (props: ThemeProviderProps) => {\n // ensure theme is attached to root body node as well to work with modals by default\n if (isClient) {\n useLayoutEffect(() => {\n if (props.disableRootThemeClass) return\n const cn = `${THEME_CLASSNAME_PREFIX}${props.defaultTheme}`\n const target = props.themeClassNameOnRoot ? document.documentElement : document.body\n target.classList.add(cn)\n return () => {\n target.classList.remove(cn)\n }\n }, [props.defaultTheme, props.disableRootThemeClass, props.themeClassNameOnRoot])\n }\n\n return (\n <ThemeProviderRootContext.Provider\n value={useMemo(() => {\n return {\n defaultTheme: props.defaultTheme,\n }\n // NOTE DON'T CHANGE THIS ITS ONLY USED BY useThemeName for SSR safety for now...\n }, [])}\n >\n <Theme\n className={props.className}\n name={props.defaultTheme}\n forceClassName={props.disableRootThemeClass ? false : undefined}\n // @ts-expect-error\n _isRoot\n >\n {props.children}\n </Theme>\n </ThemeProviderRootContext.Provider>\n )\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2CM;AA3CN,uBAAyB;AACzB,mBAAwD;AAExD,IAAAA,oBAAuC;AACvC,mBAAsB;AAWf,MAAM,+BAA2B,4BAG9B,IAAI;AAEP,MAAM,gBAAgB,CAAC,UAA8B;AAE1D,MAAI,2BAAU;AACZ,sCAAgB,MAAM;AACpB,UAAI,MAAM;AAAuB;AACjC,YAAM,KAAK,GAAG,2CAAyB,MAAM;AAC7C,YAAM,SAAS,MAAM,uBAAuB,SAAS,kBAAkB,SAAS;AAChF,aAAO,UAAU,IAAI,EAAE;AACvB,aAAO,MAAM;AACX,eAAO,UAAU,OAAO,EAAE;AAAA,MAC5B;AAAA,IACF,GAAG,CAAC,MAAM,cAAc,MAAM,uBAAuB,MAAM,oBAAoB,CAAC;AAAA,EAClF;AAEA,SACE;AAAA,IAAC,yBAAyB;AAAA,IAAzB;AAAA,MACC,WAAO,sBAAQ,MAAM;AACnB,eAAO;AAAA,UACL,cAAc,MAAM;AAAA,QACtB;AAAA,MAEF,GAAG,CAAC,CAAC;AAAA,MAEL;AAAA,QAAC;AAAA;AAAA,UACC,WAAW,MAAM;AAAA,UACjB,MAAM,MAAM;AAAA,UACZ,gBAAgB,MAAM,wBAAwB,QAAQ;AAAA,UAEtD,SAAO;AAAA,UAEN,gBAAM;AAAA;AAAA,MACT;AAAA;AAAA,EACF;AAEJ;",
6
+ "names": ["import_constants"]
7
+ }
@@ -0,0 +1,41 @@
1
+ import * as Helpers from "@tamagui/helpers";
2
+ import { getConfig } from "./config";
3
+ import { getAllRules, getAllSelectors, getAllTransforms } from "./helpers/insertStyleRule";
4
+ import { mediaState } from "./hooks/useMedia";
5
+ class TamaguiManager {
6
+ constructor() {
7
+ this.Helpers = Helpers;
8
+ }
9
+ get mediaState() {
10
+ return { ...mediaState };
11
+ }
12
+ get config() {
13
+ return getConfig();
14
+ }
15
+ get insertedRules() {
16
+ return getAllRules();
17
+ }
18
+ get allSelectors() {
19
+ return getAllSelectors();
20
+ }
21
+ get allTransforms() {
22
+ return getAllTransforms();
23
+ }
24
+ get identifierToValue() {
25
+ return identifierToValue;
26
+ }
27
+ }
28
+ const Tamagui = new TamaguiManager();
29
+ const identifierToValue = /* @__PURE__ */ new Map();
30
+ const getValueFromIdentifier = (identifier) => {
31
+ return identifierToValue.get(identifier);
32
+ };
33
+ const setIdentifierValue = (identifier, value) => {
34
+ identifierToValue.set(identifier, value);
35
+ };
36
+ export {
37
+ Tamagui,
38
+ getValueFromIdentifier,
39
+ setIdentifierValue
40
+ };
41
+ //# sourceMappingURL=Tamagui.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Tamagui.ts"],
4
+ "sourcesContent": ["import * as Helpers from '@tamagui/helpers'\n\nimport { getConfig } from './config'\nimport { getAllRules, getAllSelectors, getAllTransforms } from './helpers/insertStyleRule'\nimport { mediaState } from './hooks/useMedia'\n\n// easy introspection\n// only included in dev mode\n\nclass TamaguiManager {\n Helpers = Helpers\n\n get mediaState() {\n return { ...mediaState }\n }\n\n get config() {\n return getConfig()\n }\n\n get insertedRules() {\n return getAllRules()\n }\n\n get allSelectors() {\n return getAllSelectors()\n }\n\n get allTransforms() {\n return getAllTransforms()\n }\n\n get identifierToValue() {\n return identifierToValue\n }\n}\n\nexport const Tamagui = new TamaguiManager()\n\nconst identifierToValue = new Map<string, any>()\n\nexport const getValueFromIdentifier = (identifier: string) => {\n return identifierToValue.get(identifier)\n}\n\nexport const setIdentifierValue = (identifier: string, value: any) => {\n identifierToValue.set(identifier, value)\n}\n"],
5
+ "mappings": "AAAA,YAAY,aAAa;AAEzB,SAAS,iBAAiB;AAC1B,SAAS,aAAa,iBAAiB,wBAAwB;AAC/D,SAAS,kBAAkB;AAK3B,MAAM,eAAe;AAAA,EAArB;AACE,mBAAU;AAAA;AAAA,EAEV,IAAI,aAAa;AACf,WAAO,EAAE,GAAG,WAAW;AAAA,EACzB;AAAA,EAEA,IAAI,SAAS;AACX,WAAO,UAAU;AAAA,EACnB;AAAA,EAEA,IAAI,gBAAgB;AAClB,WAAO,YAAY;AAAA,EACrB;AAAA,EAEA,IAAI,eAAe;AACjB,WAAO,gBAAgB;AAAA,EACzB;AAAA,EAEA,IAAI,gBAAgB;AAClB,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EAEA,IAAI,oBAAoB;AACtB,WAAO;AAAA,EACT;AACF;AAEO,MAAM,UAAU,IAAI,eAAe;AAE1C,MAAM,oBAAoB,oBAAI,IAAiB;AAExC,MAAM,yBAAyB,CAAC,eAAuB;AAC5D,SAAO,kBAAkB,IAAI,UAAU;AACzC;AAEO,MAAM,qBAAqB,CAAC,YAAoB,UAAe;AACpE,oBAAkB,IAAI,YAAY,KAAK;AACzC;",
6
+ "names": []
7
+ }