@tamagui/core 1.0.0-alpha.9 → 1.0.0-beta.0

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 (656) hide show
  1. package/dist/cjs/Tamagui.js +69 -0
  2. package/dist/cjs/Tamagui.js.map +7 -0
  3. package/dist/cjs/ThemeContext.js +29 -0
  4. package/dist/cjs/ThemeContext.js.map +7 -0
  5. package/dist/cjs/ThemeManager.js +211 -0
  6. package/dist/cjs/ThemeManager.js.map +7 -0
  7. package/dist/cjs/conf.js +64 -0
  8. package/dist/cjs/conf.js.map +7 -0
  9. package/dist/cjs/constants/constants.js +21 -15
  10. package/dist/cjs/constants/constants.js.map +2 -2
  11. package/dist/cjs/constants/platform.js +33 -18
  12. package/dist/cjs/constants/platform.js.map +2 -2
  13. package/dist/cjs/constants/pseudos.js +19 -3
  14. package/dist/cjs/constants/pseudos.js.map +1 -1
  15. package/dist/cjs/constants/rnw.js +21 -3
  16. package/dist/cjs/constants/rnw.js.map +2 -2
  17. package/dist/cjs/contexts/ButtonInsideButtonContext.js +29 -0
  18. package/dist/cjs/contexts/ButtonInsideButtonContext.js.map +7 -0
  19. package/dist/cjs/createComponent.js +371 -225
  20. package/dist/cjs/createComponent.js.map +2 -2
  21. package/dist/cjs/createFont.js +15 -15
  22. package/dist/cjs/createFont.js.map +1 -1
  23. package/dist/cjs/createShorthands.js +19 -3
  24. package/dist/cjs/createShorthands.js.map +1 -1
  25. package/dist/cjs/createTamagui.js +156 -122
  26. package/dist/cjs/createTamagui.js.map +2 -2
  27. package/dist/cjs/createTheme.js +15 -28
  28. package/dist/cjs/createTheme.js.map +2 -2
  29. package/dist/cjs/createTokens.js +19 -22
  30. package/dist/cjs/createTokens.js.map +2 -2
  31. package/dist/cjs/createVariable.js +49 -19
  32. package/dist/cjs/createVariable.js.map +2 -2
  33. package/dist/cjs/defaultComponentState.js +1 -0
  34. package/dist/{helpers/pseudos.js.map → cjs/defaultComponentState.js.map} +0 -0
  35. package/dist/cjs/helpers/RNComponents.js +38 -0
  36. package/dist/cjs/helpers/RNComponents.js.map +7 -0
  37. package/dist/cjs/helpers/addStylesUsingClassname.js +37 -29
  38. package/dist/cjs/helpers/addStylesUsingClassname.js.map +2 -2
  39. package/dist/cjs/helpers/areEqualSets.js +38 -0
  40. package/dist/cjs/helpers/areEqualSets.js.map +7 -0
  41. package/dist/cjs/helpers/createMediaStyle.js +19 -21
  42. package/dist/cjs/helpers/createMediaStyle.js.map +2 -2
  43. package/dist/cjs/helpers/createPropMapper.js +157 -119
  44. package/dist/cjs/helpers/createPropMapper.js.map +2 -2
  45. package/dist/cjs/helpers/createShallowUpdate.js +55 -0
  46. package/dist/cjs/helpers/createShallowUpdate.js.map +7 -0
  47. package/dist/cjs/helpers/createTamaguiProvider.js +45 -26
  48. package/dist/cjs/helpers/createTamaguiProvider.js.map +2 -2
  49. package/dist/cjs/helpers/extendStaticConfig.js +27 -27
  50. package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
  51. package/dist/cjs/helpers/fixNativeShadow.js +19 -3
  52. package/dist/cjs/helpers/fixNativeShadow.js.map +1 -1
  53. package/dist/cjs/helpers/fixNativeShadow.native.js +42 -22
  54. package/dist/cjs/helpers/fixNativeShadow.native.js.map +2 -2
  55. package/dist/cjs/helpers/getExpandedShorthands.js +41 -0
  56. package/dist/cjs/helpers/getExpandedShorthands.js.map +7 -0
  57. package/dist/cjs/helpers/getSize.js +35 -0
  58. package/dist/cjs/helpers/getSize.js.map +7 -0
  59. package/dist/cjs/helpers/getSplitStyles.js +225 -98
  60. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  61. package/dist/cjs/helpers/getStylesAtomic.js +116 -56
  62. package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
  63. package/dist/cjs/helpers/getStylesAtomic.native.js +19 -3
  64. package/dist/cjs/helpers/getStylesAtomic.native.js.map +1 -1
  65. package/dist/cjs/helpers/getThemeParentClassName.js +33 -0
  66. package/dist/cjs/helpers/getThemeParentClassName.js.map +7 -0
  67. package/dist/cjs/helpers/insertStyleRule.js +101 -25
  68. package/dist/cjs/helpers/insertStyleRule.js.map +2 -2
  69. package/dist/cjs/helpers/isObj.js +19 -3
  70. package/dist/cjs/helpers/isObj.js.map +1 -1
  71. package/dist/cjs/helpers/isTamaguiElement.js +15 -15
  72. package/dist/cjs/helpers/isTamaguiElement.js.map +1 -1
  73. package/dist/cjs/helpers/matchMedia.js +19 -3
  74. package/dist/cjs/helpers/matchMedia.js.map +1 -1
  75. package/dist/cjs/helpers/matchMedia.native.js +16 -13
  76. package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
  77. package/dist/cjs/helpers/proxyThemeVariables.js +40 -0
  78. package/dist/cjs/helpers/proxyThemeVariables.js.map +7 -0
  79. package/dist/cjs/helpers/themeable.js +29 -24
  80. package/dist/cjs/helpers/themeable.js.map +2 -2
  81. package/dist/cjs/helpers/validate.js +88 -47
  82. package/dist/cjs/helpers/validate.js.map +2 -2
  83. package/dist/cjs/helpers/withStaticProperties.js +32 -0
  84. package/dist/cjs/helpers/withStaticProperties.js.map +7 -0
  85. package/dist/cjs/helpers/wrapThemeManagerContext.js +39 -0
  86. package/dist/cjs/helpers/wrapThemeManagerContext.js.map +7 -0
  87. package/dist/cjs/hooks/useConstant.js +15 -15
  88. package/dist/cjs/hooks/useConstant.js.map +1 -1
  89. package/dist/cjs/hooks/useFeatures.js +146 -18
  90. package/dist/cjs/hooks/useFeatures.js.map +2 -2
  91. package/dist/cjs/hooks/useIsMounted.js +41 -0
  92. package/dist/cjs/hooks/useIsMounted.js.map +7 -0
  93. package/dist/cjs/hooks/useIsTouchDevice.js +39 -0
  94. package/dist/cjs/hooks/useIsTouchDevice.js.map +7 -0
  95. package/dist/cjs/hooks/useMedia.js +54 -59
  96. package/dist/cjs/hooks/useMedia.js.map +2 -2
  97. package/dist/cjs/hooks/usePressable.js +15 -15
  98. package/dist/cjs/hooks/usePressable.js.map +1 -1
  99. package/dist/cjs/hooks/useTheme.js +175 -67
  100. package/dist/cjs/hooks/useTheme.js.map +2 -2
  101. package/dist/cjs/hooks/useUnmountEffect.js +33 -0
  102. package/dist/cjs/hooks/useUnmountEffect.js.map +7 -0
  103. package/dist/cjs/index.js +71 -43
  104. package/dist/cjs/index.js.map +2 -2
  105. package/dist/cjs/static/postProcessStyles.js +15 -15
  106. package/dist/cjs/static/postProcessStyles.js.map +1 -1
  107. package/dist/cjs/static.js +26 -27
  108. package/dist/cjs/static.js.map +2 -2
  109. package/dist/cjs/styled.js +42 -20
  110. package/dist/cjs/styled.js.map +3 -3
  111. package/dist/cjs/tamagui-base.css +11 -0
  112. package/dist/cjs/tamagui-base.css.map +7 -0
  113. package/dist/cjs/types-rnw.js +16 -0
  114. package/dist/cjs/types-rnw.js.map +7 -0
  115. package/dist/cjs/types.js +14 -2
  116. package/dist/cjs/types.js.map +2 -2
  117. package/dist/cjs/views/Animated.js +20 -17
  118. package/dist/cjs/views/Animated.js.map +1 -1
  119. package/dist/cjs/views/Stack.js +17 -16
  120. package/dist/cjs/views/Stack.js.map +2 -2
  121. package/dist/cjs/views/Text.js +23 -21
  122. package/dist/cjs/views/Text.js.map +2 -2
  123. package/dist/cjs/views/TextAncestorContext.js +25 -21
  124. package/dist/cjs/views/TextAncestorContext.js.map +2 -2
  125. package/dist/cjs/views/Theme.js +36 -64
  126. package/dist/cjs/views/Theme.js.map +2 -2
  127. package/dist/cjs/views/ThemeContext.js +15 -15
  128. package/dist/cjs/views/ThemeContext.js.map +1 -1
  129. package/dist/cjs/views/ThemeInverse.js +20 -16
  130. package/dist/cjs/views/ThemeInverse.js.map +2 -2
  131. package/dist/cjs/views/ThemeManagerContext.js +19 -18
  132. package/dist/cjs/views/ThemeManagerContext.js.map +1 -1
  133. package/dist/cjs/views/ThemeProvider.js +37 -37
  134. package/dist/cjs/views/ThemeProvider.js.map +2 -2
  135. package/dist/cjs/views/ThemeReset.js +63 -0
  136. package/dist/cjs/views/ThemeReset.js.map +7 -0
  137. package/dist/esm/Tamagui.js +42 -0
  138. package/dist/esm/Tamagui.js.map +7 -0
  139. package/dist/{views → esm}/ThemeContext.js +0 -0
  140. package/dist/esm/ThemeContext.js.map +7 -0
  141. package/dist/esm/ThemeManager.js +187 -0
  142. package/dist/esm/ThemeManager.js.map +7 -0
  143. package/dist/esm/conf.js +36 -0
  144. package/dist/esm/conf.js.map +7 -0
  145. package/dist/{constants → esm/constants}/constants.js +4 -0
  146. package/dist/esm/constants/constants.js.map +7 -0
  147. package/dist/{constants → esm/constants}/platform.js +8 -1
  148. package/dist/esm/constants/platform.js.map +7 -0
  149. package/dist/{constants → esm/constants}/pseudos.js +0 -0
  150. package/dist/{constants → esm/constants}/pseudos.js.map +2 -2
  151. package/dist/{constants → esm/constants}/rnw.js +2 -0
  152. package/dist/esm/constants/rnw.js.map +7 -0
  153. package/dist/esm/contexts/ButtonInsideButtonContext.js +6 -0
  154. package/dist/esm/contexts/ButtonInsideButtonContext.js.map +7 -0
  155. package/dist/esm/createComponent.js +606 -0
  156. package/dist/esm/createComponent.js.map +7 -0
  157. package/dist/{createFont.js → esm/createFont.js} +0 -0
  158. package/dist/{createFont.js.map → esm/createFont.js.map} +2 -2
  159. package/dist/{createShorthands.js → esm/createShorthands.js} +0 -0
  160. package/dist/{createShorthands.js.map → esm/createShorthands.js.map} +2 -2
  161. package/dist/esm/createTamagui.js +202 -0
  162. package/dist/esm/createTamagui.js.map +7 -0
  163. package/dist/esm/createTheme.js +7 -0
  164. package/dist/esm/createTheme.js.map +7 -0
  165. package/dist/{createTokens.js → esm/createTokens.js} +2 -6
  166. package/dist/esm/createTokens.js.map +7 -0
  167. package/dist/esm/createVariable.js +49 -0
  168. package/dist/esm/createVariable.js.map +7 -0
  169. package/dist/esm/defaultComponentState.js +1 -0
  170. package/dist/{types.js.map → esm/defaultComponentState.js.map} +0 -0
  171. package/dist/esm/helpers/RNComponents.js +12 -0
  172. package/dist/esm/helpers/RNComponents.js.map +7 -0
  173. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js +20 -13
  174. package/dist/esm/helpers/addStylesUsingClassname.js.map +7 -0
  175. package/dist/esm/helpers/areEqualSets.js +16 -0
  176. package/dist/esm/helpers/areEqualSets.js.map +7 -0
  177. package/dist/{helpers → esm/helpers}/createMediaStyle.js +3 -6
  178. package/dist/esm/helpers/createMediaStyle.js.map +7 -0
  179. package/dist/esm/helpers/createPropMapper.js +206 -0
  180. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  181. package/dist/esm/helpers/createShallowUpdate.js +19 -0
  182. package/dist/esm/helpers/createShallowUpdate.js.map +7 -0
  183. package/dist/esm/helpers/createTamaguiProvider.js +40 -0
  184. package/dist/esm/helpers/createTamaguiProvider.js.map +7 -0
  185. package/dist/{helpers → esm/helpers}/extendStaticConfig.js +17 -14
  186. package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
  187. package/dist/{helpers → esm/helpers}/fixNativeShadow.js +0 -0
  188. package/dist/{helpers → esm/helpers}/fixNativeShadow.js.map +2 -2
  189. package/dist/esm/helpers/fixNativeShadow.native.js +34 -0
  190. package/dist/esm/helpers/fixNativeShadow.native.js.map +7 -0
  191. package/dist/esm/helpers/getExpandedShorthands.js +19 -0
  192. package/dist/esm/helpers/getExpandedShorthands.js.map +7 -0
  193. package/dist/esm/helpers/getSize.js +13 -0
  194. package/dist/esm/helpers/getSize.js.map +7 -0
  195. package/dist/esm/helpers/getSplitStyles.js +278 -0
  196. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  197. package/dist/esm/helpers/getStylesAtomic.js +131 -0
  198. package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
  199. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js +0 -0
  200. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js.map +2 -2
  201. package/dist/esm/helpers/getThemeParentClassName.js +11 -0
  202. package/dist/esm/helpers/getThemeParentClassName.js.map +7 -0
  203. package/dist/esm/helpers/insertStyleRule.js +94 -0
  204. package/dist/esm/helpers/insertStyleRule.js.map +7 -0
  205. package/dist/{helpers → esm/helpers}/isObj.js +0 -0
  206. package/dist/{helpers → esm/helpers}/isObj.js.map +2 -2
  207. package/dist/{helpers → esm/helpers}/isTamaguiElement.js +2 -1
  208. package/dist/{helpers → esm/helpers}/isTamaguiElement.js.map +2 -2
  209. package/dist/{helpers → esm/helpers}/matchMedia.js +0 -0
  210. package/dist/{helpers → esm/helpers}/matchMedia.js.map +2 -2
  211. package/dist/{helpers → esm/helpers}/matchMedia.native.js +0 -0
  212. package/dist/{helpers → esm/helpers}/matchMedia.native.js.map +2 -2
  213. package/dist/esm/helpers/proxyThemeVariables.js +18 -0
  214. package/dist/esm/helpers/proxyThemeVariables.js.map +7 -0
  215. package/dist/{helpers → esm/helpers}/themeable.js +12 -10
  216. package/dist/esm/helpers/themeable.js.map +7 -0
  217. package/dist/esm/helpers/validate.js +76 -0
  218. package/dist/esm/helpers/validate.js.map +7 -0
  219. package/dist/esm/helpers/withStaticProperties.js +10 -0
  220. package/dist/esm/helpers/withStaticProperties.js.map +7 -0
  221. package/dist/esm/helpers/wrapThemeManagerContext.js +14 -0
  222. package/dist/esm/helpers/wrapThemeManagerContext.js.map +7 -0
  223. package/dist/{hooks → esm/hooks}/useConstant.js +0 -0
  224. package/dist/{hooks → esm/hooks}/useConstant.js.map +2 -2
  225. package/dist/esm/hooks/useFeatures.js +173 -0
  226. package/dist/esm/hooks/useFeatures.js.map +7 -0
  227. package/dist/esm/hooks/useIsMounted.js +19 -0
  228. package/dist/esm/hooks/useIsMounted.js.map +7 -0
  229. package/dist/esm/hooks/useIsTouchDevice.js +17 -0
  230. package/dist/esm/hooks/useIsTouchDevice.js.map +7 -0
  231. package/dist/{hooks → esm/hooks}/useMedia.js +31 -42
  232. package/dist/esm/hooks/useMedia.js.map +7 -0
  233. package/dist/{hooks → esm/hooks}/usePressable.js +2 -1
  234. package/dist/{hooks → esm/hooks}/usePressable.js.map +2 -2
  235. package/dist/esm/hooks/useTheme.js +178 -0
  236. package/dist/esm/hooks/useTheme.js.map +7 -0
  237. package/dist/esm/hooks/useUnmountEffect.js +11 -0
  238. package/dist/esm/hooks/useUnmountEffect.js.map +7 -0
  239. package/dist/{index.js → esm/index.js} +25 -5
  240. package/dist/esm/index.js.map +7 -0
  241. package/dist/{static → esm/static}/postProcessStyles.js +0 -0
  242. package/dist/{static → esm/static}/postProcessStyles.js.map +2 -2
  243. package/dist/{static.js → esm/static.js} +4 -2
  244. package/dist/esm/static.js.map +7 -0
  245. package/dist/esm/styled.js +45 -0
  246. package/dist/esm/styled.js.map +7 -0
  247. package/dist/esm/tamagui-base.css +11 -0
  248. package/dist/esm/tamagui-base.css.map +7 -0
  249. package/dist/esm/types-rnw.js +1 -0
  250. package/dist/esm/types-rnw.js.map +7 -0
  251. package/dist/{types.js → esm/types.js} +0 -0
  252. package/dist/esm/types.js.map +7 -0
  253. package/dist/{views → esm/views}/Animated.js +0 -0
  254. package/dist/{views → esm/views}/Animated.js.map +2 -2
  255. package/dist/{views → esm/views}/Stack.js +1 -0
  256. package/dist/esm/views/Stack.js.map +7 -0
  257. package/dist/{views → esm/views}/Text.js +6 -4
  258. package/dist/esm/views/Text.js.map +7 -0
  259. package/dist/esm/views/TextAncestorContext.js +18 -0
  260. package/dist/esm/views/TextAncestorContext.js.map +7 -0
  261. package/dist/esm/views/Theme.js +35 -0
  262. package/dist/esm/views/Theme.js.map +7 -0
  263. package/dist/esm/views/ThemeContext.js +6 -0
  264. package/dist/{views → esm/views}/ThemeContext.js.map +2 -2
  265. package/dist/{views → esm/views}/ThemeInverse.js +1 -1
  266. package/dist/{views → esm/views}/ThemeInverse.js.map +3 -3
  267. package/dist/{views → esm/views}/ThemeManagerContext.js +5 -4
  268. package/dist/{views → esm/views}/ThemeManagerContext.js.map +2 -2
  269. package/dist/esm/views/ThemeProvider.js +42 -0
  270. package/dist/esm/views/ThemeProvider.js.map +7 -0
  271. package/dist/esm/views/ThemeReset.js +38 -0
  272. package/dist/esm/views/ThemeReset.js.map +7 -0
  273. package/dist/jsx/Tamagui.js +41 -0
  274. package/dist/jsx/ThemeContext.js +5 -0
  275. package/dist/jsx/ThemeManager.js +186 -0
  276. package/dist/jsx/conf.js +35 -0
  277. package/dist/jsx/constants/constants.js +17 -0
  278. package/dist/jsx/constants/platform.js +25 -0
  279. package/dist/jsx/constants/pseudos.js +17 -0
  280. package/dist/jsx/constants/rnw.js +23 -0
  281. package/dist/jsx/contexts/ButtonInsideButtonContext.js +5 -0
  282. package/dist/jsx/createComponent.js +592 -0
  283. package/dist/jsx/createFont.js +27 -0
  284. package/dist/jsx/createShorthands.js +9 -0
  285. package/dist/jsx/createTamagui.js +201 -0
  286. package/dist/jsx/createTheme.js +6 -0
  287. package/dist/jsx/createTokens.js +28 -0
  288. package/dist/jsx/createVariable.js +48 -0
  289. package/dist/jsx/defaultComponentState.js +0 -0
  290. package/dist/jsx/helpers/RNComponents.js +11 -0
  291. package/dist/jsx/helpers/addStylesUsingClassname.js +63 -0
  292. package/dist/jsx/helpers/areEqualSets.js +15 -0
  293. package/dist/jsx/helpers/createMediaStyle.js +30 -0
  294. package/dist/jsx/helpers/createPropMapper.js +205 -0
  295. package/dist/jsx/helpers/createShallowUpdate.js +18 -0
  296. package/dist/jsx/helpers/createTamaguiProvider.js +34 -0
  297. package/dist/jsx/helpers/extendStaticConfig.js +61 -0
  298. package/dist/jsx/helpers/fixNativeShadow.js +7 -0
  299. package/dist/jsx/helpers/fixNativeShadow.native.js +33 -0
  300. package/dist/jsx/helpers/getExpandedShorthands.js +18 -0
  301. package/dist/jsx/helpers/getSize.js +12 -0
  302. package/dist/jsx/helpers/getSplitStyles.js +277 -0
  303. package/dist/jsx/helpers/getStylesAtomic.js +130 -0
  304. package/dist/jsx/helpers/getStylesAtomic.native.js +9 -0
  305. package/dist/jsx/helpers/getThemeParentClassName.js +10 -0
  306. package/dist/jsx/helpers/insertStyleRule.js +93 -0
  307. package/dist/jsx/helpers/isObj.js +6 -0
  308. package/dist/jsx/helpers/isTamaguiElement.js +10 -0
  309. package/dist/jsx/helpers/matchMedia.js +17 -0
  310. package/dist/jsx/helpers/matchMedia.native.js +8 -0
  311. package/dist/jsx/helpers/proxyThemeVariables.js +17 -0
  312. package/dist/jsx/helpers/themeable.js +24 -0
  313. package/dist/jsx/helpers/validate.js +75 -0
  314. package/dist/jsx/helpers/withStaticProperties.js +9 -0
  315. package/dist/jsx/helpers/wrapThemeManagerContext.js +10 -0
  316. package/dist/jsx/hooks/useConstant.js +14 -0
  317. package/dist/jsx/hooks/useFeatures.js +167 -0
  318. package/dist/jsx/hooks/useIsMounted.js +18 -0
  319. package/dist/jsx/hooks/useIsTouchDevice.js +16 -0
  320. package/dist/jsx/hooks/useMedia.js +159 -0
  321. package/dist/jsx/hooks/usePressable.js +13 -0
  322. package/dist/jsx/hooks/useTheme.js +177 -0
  323. package/dist/jsx/hooks/useUnmountEffect.js +10 -0
  324. package/dist/jsx/index.js +51 -0
  325. package/dist/jsx/static/postProcessStyles.js +17 -0
  326. package/dist/jsx/static.js +16 -0
  327. package/dist/jsx/styled.js +44 -0
  328. package/dist/jsx/tamagui-base.css +10 -0
  329. package/dist/jsx/types-rnw.js +0 -0
  330. package/dist/jsx/types.js +0 -0
  331. package/dist/jsx/views/Animated.js +74 -0
  332. package/dist/jsx/views/Stack.js +12 -0
  333. package/dist/jsx/views/Text.js +61 -0
  334. package/dist/jsx/views/TextAncestorContext.js +15 -0
  335. package/dist/jsx/views/Theme.js +31 -0
  336. package/dist/jsx/views/ThemeContext.js +5 -0
  337. package/dist/jsx/views/ThemeInverse.js +22 -0
  338. package/dist/jsx/views/ThemeManagerContext.js +61 -0
  339. package/dist/jsx/views/ThemeProvider.js +35 -0
  340. package/dist/jsx/views/ThemeReset.js +34 -0
  341. package/package.json +22 -20
  342. package/types/Tamagui.d.ts +30 -0
  343. package/types/Tamagui.d.ts.map +1 -0
  344. package/types/ThemeContext.d.ts +7 -0
  345. package/types/ThemeContext.d.ts.map +1 -0
  346. package/types/ThemeManager.d.ts +49 -0
  347. package/types/ThemeManager.d.ts.map +1 -0
  348. package/types/conf.d.ts +27 -0
  349. package/types/conf.d.ts.map +1 -0
  350. package/{dist/packages/core/src → types}/constants/constants.d.ts +2 -0
  351. package/types/constants/constants.d.ts.map +1 -0
  352. package/{dist/packages/core/src → types}/constants/platform.d.ts +3 -0
  353. package/types/constants/platform.d.ts.map +1 -0
  354. package/{dist/packages/core/src → types}/constants/rnw.d.ts +0 -0
  355. package/types/constants/rnw.d.ts.map +1 -0
  356. package/types/contexts/ButtonInsideButtonContext.d.ts +3 -0
  357. package/types/contexts/ButtonInsideButtonContext.d.ts.map +1 -0
  358. package/types/createComponent.d.ts +19 -0
  359. package/types/createComponent.d.ts.map +1 -0
  360. package/types/createFont.d.ts +3 -0
  361. package/types/createFont.d.ts.map +1 -0
  362. package/{dist/packages/core/src → types}/createShorthands.d.ts +0 -0
  363. package/types/createShorthands.d.ts.map +1 -0
  364. package/types/createTamagui.d.ts +18 -0
  365. package/types/createTamagui.d.ts.map +1 -0
  366. package/types/createTheme.d.ts +7 -0
  367. package/types/createTheme.d.ts.map +1 -0
  368. package/{dist/packages/core/src → types}/createTokens.d.ts +0 -16
  369. package/types/createTokens.d.ts.map +1 -0
  370. package/types/createVariable.d.ts +20 -0
  371. package/types/createVariable.d.ts.map +1 -0
  372. package/types/defaultComponentState.d.ts +1 -0
  373. package/types/defaultComponentState.d.ts.map +1 -0
  374. package/types/helpers/RNComponents.d.ts +2 -0
  375. package/types/helpers/RNComponents.d.ts.map +1 -0
  376. package/types/helpers/addStylesUsingClassname.d.ts +3 -0
  377. package/types/helpers/addStylesUsingClassname.d.ts.map +1 -0
  378. package/types/helpers/areEqualSets.d.ts +2 -0
  379. package/types/helpers/areEqualSets.d.ts.map +1 -0
  380. package/{dist/packages/core/src → types}/helpers/createMediaStyle.d.ts +1 -1
  381. package/types/helpers/createMediaStyle.d.ts.map +1 -0
  382. package/types/helpers/createPropMapper.d.ts +4 -0
  383. package/types/helpers/createPropMapper.d.ts.map +1 -0
  384. package/types/helpers/createShallowUpdate.d.ts +4 -0
  385. package/types/helpers/createShallowUpdate.d.ts.map +1 -0
  386. package/types/helpers/createTamaguiProvider.d.ts +7 -0
  387. package/types/helpers/createTamaguiProvider.d.ts.map +1 -0
  388. package/types/helpers/extendStaticConfig.d.ts +4 -0
  389. package/types/helpers/extendStaticConfig.d.ts.map +1 -0
  390. package/{dist/packages/core/src → types}/helpers/fixNativeShadow.d.ts +0 -0
  391. package/types/helpers/fixNativeShadow.d.ts.map +1 -0
  392. package/types/helpers/fixNativeShadow.native.d.ts +2 -0
  393. package/types/helpers/fixNativeShadow.native.d.ts.map +1 -0
  394. package/types/helpers/getExpandedShorthands.d.ts +3 -0
  395. package/types/helpers/getExpandedShorthands.d.ts.map +1 -0
  396. package/types/helpers/getSize.d.ts +3 -0
  397. package/types/helpers/getSize.d.ts.map +1 -0
  398. package/types/helpers/getSplitStyles.d.ts +19 -0
  399. package/types/helpers/getSplitStyles.d.ts.map +1 -0
  400. package/types/helpers/getStylesAtomic.d.ts +27 -0
  401. package/types/helpers/getStylesAtomic.d.ts.map +1 -0
  402. package/{dist/packages/core/src → types}/helpers/getStylesAtomic.native.d.ts +0 -0
  403. package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
  404. package/types/helpers/insertStyleRule.d.ts +8 -0
  405. package/types/helpers/insertStyleRule.d.ts.map +1 -0
  406. package/types/helpers/isObj.d.ts +2 -0
  407. package/types/helpers/isObj.d.ts.map +1 -0
  408. package/types/helpers/isTamaguiElement.d.ts +3 -0
  409. package/types/helpers/isTamaguiElement.d.ts.map +1 -0
  410. package/{dist/packages/core/src → types}/helpers/matchMedia.d.ts +0 -0
  411. package/types/helpers/matchMedia.d.ts.map +1 -0
  412. package/{dist/packages/core/src → types}/helpers/matchMedia.native.d.ts +0 -0
  413. package/types/helpers/matchMedia.native.d.ts.map +1 -0
  414. package/types/helpers/proxyThemeVariables.d.ts +2 -0
  415. package/types/helpers/proxyThemeVariables.d.ts.map +1 -0
  416. package/types/helpers/themeable.d.ts +12 -0
  417. package/types/helpers/themeable.d.ts.map +1 -0
  418. package/types/helpers/validate.d.ts +4 -0
  419. package/types/helpers/validate.d.ts.map +1 -0
  420. package/types/helpers/withStaticProperties.d.ts +2 -0
  421. package/types/helpers/withStaticProperties.d.ts.map +1 -0
  422. package/types/helpers/wrapThemeManagerContext.d.ts +3 -0
  423. package/types/helpers/wrapThemeManagerContext.d.ts.map +1 -0
  424. package/{dist/packages/core/src → types}/hooks/useConstant.d.ts +0 -0
  425. package/types/hooks/useConstant.d.ts.map +1 -0
  426. package/types/hooks/useFeatures.d.ts +18 -0
  427. package/types/hooks/useFeatures.d.ts.map +1 -0
  428. package/types/hooks/useIsMounted.d.ts +3 -0
  429. package/types/hooks/useIsMounted.d.ts.map +1 -0
  430. package/types/hooks/useIsTouchDevice.d.ts +2 -0
  431. package/types/hooks/useIsTouchDevice.d.ts.map +1 -0
  432. package/{dist/packages/core/src → types}/hooks/useMedia.d.ts +2 -6
  433. package/types/hooks/useMedia.d.ts.map +1 -0
  434. package/{dist/packages/core/src → types}/hooks/usePressable.d.ts +0 -0
  435. package/types/hooks/usePressable.d.ts.map +1 -0
  436. package/types/hooks/useTheme.d.ts +36 -0
  437. package/types/hooks/useTheme.d.ts.map +1 -0
  438. package/types/hooks/useUnmountEffect.d.ts +2 -0
  439. package/types/hooks/useUnmountEffect.d.ts.map +1 -0
  440. package/types/index.d.ts +42 -0
  441. package/types/index.d.ts.map +1 -0
  442. package/{dist/packages/core/src → types}/static.d.ts +7 -2
  443. package/types/static.d.ts.map +1 -0
  444. package/types/styled.d.ts +16 -0
  445. package/types/styled.d.ts.map +1 -0
  446. package/types/types-rnw.d.ts +74 -0
  447. package/types/types-rnw.d.ts.map +1 -0
  448. package/types/types.d.ts +406 -0
  449. package/types/types.d.ts.map +1 -0
  450. package/types/views/Stack.d.ts +4 -0
  451. package/types/views/Stack.d.ts.map +1 -0
  452. package/types/views/Text.d.ts +4 -0
  453. package/types/views/Text.d.ts.map +1 -0
  454. package/types/views/TextAncestorContext.d.ts +5 -0
  455. package/types/views/TextAncestorContext.d.ts.map +1 -0
  456. package/types/views/Theme.d.ts +12 -0
  457. package/types/views/Theme.d.ts.map +1 -0
  458. package/{dist/packages/core/src → types}/views/ThemeInverse.d.ts +0 -0
  459. package/types/views/ThemeInverse.d.ts.map +1 -0
  460. package/{dist/packages/core/src → types}/views/ThemeProvider.d.ts +1 -1
  461. package/types/views/ThemeProvider.d.ts.map +1 -0
  462. package/types/views/ThemeReset.d.ts +4 -0
  463. package/types/views/ThemeReset.d.ts.map +1 -0
  464. package/LICENSE +0 -21
  465. package/dist/constants/constants.js.map +0 -7
  466. package/dist/constants/platform.js.map +0 -7
  467. package/dist/constants/rnw.js.map +0 -7
  468. package/dist/constants/styleConstants.js +0 -46
  469. package/dist/constants/styleConstants.js.map +0 -7
  470. package/dist/createComponent.js +0 -463
  471. package/dist/createComponent.js.map +0 -7
  472. package/dist/createTamagui.js +0 -168
  473. package/dist/createTamagui.js.map +0 -7
  474. package/dist/createTheme.js +0 -20
  475. package/dist/createTheme.js.map +0 -7
  476. package/dist/createTokens.js.map +0 -7
  477. package/dist/createVariable.js +0 -25
  478. package/dist/createVariable.js.map +0 -7
  479. package/dist/helpers/addStylesUsingClassname.js.map +0 -7
  480. package/dist/helpers/createMediaStyle.js.map +0 -7
  481. package/dist/helpers/createPropMapper.js +0 -153
  482. package/dist/helpers/createPropMapper.js.map +0 -7
  483. package/dist/helpers/createTamaguiProvider.js +0 -25
  484. package/dist/helpers/createTamaguiProvider.js.map +0 -7
  485. package/dist/helpers/extendStaticConfig.js.map +0 -7
  486. package/dist/helpers/fixNativeShadow.native.js +0 -30
  487. package/dist/helpers/fixNativeShadow.native.js.map +0 -7
  488. package/dist/helpers/getSplitStyles.js +0 -150
  489. package/dist/helpers/getSplitStyles.js.map +0 -7
  490. package/dist/helpers/getStylesAtomic.js +0 -83
  491. package/dist/helpers/getStylesAtomic.js.map +0 -7
  492. package/dist/helpers/insertStyleRule.js +0 -24
  493. package/dist/helpers/insertStyleRule.js.map +0 -7
  494. package/dist/helpers/isComponent.js +0 -10
  495. package/dist/helpers/isComponent.js.map +0 -7
  496. package/dist/helpers/isTamaguiComponent.js +0 -10
  497. package/dist/helpers/isTamaguiComponent.js.map +0 -7
  498. package/dist/helpers/pseudos.js +0 -1
  499. package/dist/helpers/themeable.js.map +0 -7
  500. package/dist/helpers/validate.js +0 -60
  501. package/dist/helpers/validate.js.map +0 -7
  502. package/dist/helpers/validateConfig.js +0 -46
  503. package/dist/helpers/validateConfig.js.map +0 -7
  504. package/dist/helpers/validateTokens.js +0 -29
  505. package/dist/helpers/validateTokens.js.map +0 -7
  506. package/dist/hooks/useFeatures.js +0 -63
  507. package/dist/hooks/useFeatures.js.map +0 -7
  508. package/dist/hooks/useForceUpdate.js +0 -28
  509. package/dist/hooks/useForceUpdate.js.map +0 -7
  510. package/dist/hooks/useMedia.js.map +0 -7
  511. package/dist/hooks/useTheme.js +0 -89
  512. package/dist/hooks/useTheme.js.map +0 -7
  513. package/dist/index.cjs +0 -2202
  514. package/dist/index.cjs.map +0 -7
  515. package/dist/index.js.map +0 -7
  516. package/dist/packages/core/src/constants/constants.d.ts.map +0 -1
  517. package/dist/packages/core/src/constants/platform.d.ts.map +0 -1
  518. package/dist/packages/core/src/constants/pseudos.d.ts +0 -15
  519. package/dist/packages/core/src/constants/pseudos.d.ts.map +0 -1
  520. package/dist/packages/core/src/constants/rnw.d.ts.map +0 -1
  521. package/dist/packages/core/src/createComponent.d.ts +0 -16
  522. package/dist/packages/core/src/createComponent.d.ts.map +0 -1
  523. package/dist/packages/core/src/createShorthands.d.ts.map +0 -1
  524. package/dist/packages/core/src/createTamagui.d.ts +0 -37
  525. package/dist/packages/core/src/createTamagui.d.ts.map +0 -1
  526. package/dist/packages/core/src/createTheme.d.ts +0 -5
  527. package/dist/packages/core/src/createTheme.d.ts.map +0 -1
  528. package/dist/packages/core/src/createTokens.d.ts.map +0 -1
  529. package/dist/packages/core/src/createVariable.d.ts +0 -14
  530. package/dist/packages/core/src/createVariable.d.ts.map +0 -1
  531. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts +0 -2
  532. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts.map +0 -1
  533. package/dist/packages/core/src/helpers/createMediaStyle.d.ts.map +0 -1
  534. package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts +0 -5
  535. package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts.map +0 -1
  536. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts +0 -5
  537. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts.map +0 -1
  538. package/dist/packages/core/src/helpers/fixNativeShadow.d.ts.map +0 -1
  539. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts +0 -2
  540. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts.map +0 -1
  541. package/dist/packages/core/src/helpers/getSplitStyles.d.ts +0 -15
  542. package/dist/packages/core/src/helpers/getSplitStyles.d.ts.map +0 -1
  543. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts +0 -3
  544. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts.map +0 -1
  545. package/dist/packages/core/src/helpers/getStylesAtomic.native.d.ts.map +0 -1
  546. package/dist/packages/core/src/helpers/insertStyleRule.d.ts +0 -2
  547. package/dist/packages/core/src/helpers/insertStyleRule.d.ts.map +0 -1
  548. package/dist/packages/core/src/helpers/matchMedia.d.ts.map +0 -1
  549. package/dist/packages/core/src/helpers/matchMedia.native.d.ts.map +0 -1
  550. package/dist/packages/core/src/helpers/themeable.d.ts +0 -10
  551. package/dist/packages/core/src/helpers/themeable.d.ts.map +0 -1
  552. package/dist/packages/core/src/hooks/useConstant.d.ts.map +0 -1
  553. package/dist/packages/core/src/hooks/useFeatures.d.ts +0 -5
  554. package/dist/packages/core/src/hooks/useFeatures.d.ts.map +0 -1
  555. package/dist/packages/core/src/hooks/useForceUpdate.d.ts +0 -2
  556. package/dist/packages/core/src/hooks/useForceUpdate.d.ts.map +0 -1
  557. package/dist/packages/core/src/hooks/useMedia.d.ts.map +0 -1
  558. package/dist/packages/core/src/hooks/usePressable.d.ts.map +0 -1
  559. package/dist/packages/core/src/hooks/useTheme.d.ts +0 -18
  560. package/dist/packages/core/src/hooks/useTheme.d.ts.map +0 -1
  561. package/dist/packages/core/src/index.d.ts +0 -27
  562. package/dist/packages/core/src/index.d.ts.map +0 -1
  563. package/dist/packages/core/src/static/postProcessStyles.d.ts +0 -7
  564. package/dist/packages/core/src/static/postProcessStyles.d.ts.map +0 -1
  565. package/dist/packages/core/src/static.d.ts.map +0 -1
  566. package/dist/packages/core/src/styled.d.ts +0 -16
  567. package/dist/packages/core/src/styled.d.ts.map +0 -1
  568. package/dist/packages/core/src/types.d.ts +0 -305
  569. package/dist/packages/core/src/types.d.ts.map +0 -1
  570. package/dist/packages/core/src/views/Animated.d.ts +0 -15
  571. package/dist/packages/core/src/views/Animated.d.ts.map +0 -1
  572. package/dist/packages/core/src/views/Stack.d.ts +0 -3
  573. package/dist/packages/core/src/views/Stack.d.ts.map +0 -1
  574. package/dist/packages/core/src/views/Text.d.ts +0 -3
  575. package/dist/packages/core/src/views/Text.d.ts.map +0 -1
  576. package/dist/packages/core/src/views/TextAncestorContext.d.ts +0 -3
  577. package/dist/packages/core/src/views/TextAncestorContext.d.ts.map +0 -1
  578. package/dist/packages/core/src/views/Theme.d.ts +0 -8
  579. package/dist/packages/core/src/views/Theme.d.ts.map +0 -1
  580. package/dist/packages/core/src/views/ThemeContext.d.ts +0 -18
  581. package/dist/packages/core/src/views/ThemeContext.d.ts.map +0 -1
  582. package/dist/packages/core/src/views/ThemeInverse.d.ts.map +0 -1
  583. package/dist/packages/core/src/views/ThemeManagerContext.d.ts +0 -15
  584. package/dist/packages/core/src/views/ThemeManagerContext.d.ts.map +0 -1
  585. package/dist/packages/core/src/views/ThemeProvider.d.ts.map +0 -1
  586. package/dist/packages/helpers/src/AllRules.d.ts +0 -3
  587. package/dist/packages/helpers/src/AllRules.d.ts.map +0 -1
  588. package/dist/packages/helpers/src/concatClassName.d.ts +0 -2
  589. package/dist/packages/helpers/src/concatClassName.d.ts.map +0 -1
  590. package/dist/packages/helpers/src/index.d.ts +0 -5
  591. package/dist/packages/helpers/src/index.d.ts.map +0 -1
  592. package/dist/packages/helpers/src/types.d.ts +0 -8
  593. package/dist/packages/helpers/src/types.d.ts.map +0 -1
  594. package/dist/packages/helpers/src/validStyleProps.d.ts +0 -475
  595. package/dist/packages/helpers/src/validStyleProps.d.ts.map +0 -1
  596. package/dist/static.js.map +0 -7
  597. package/dist/styled.js +0 -21
  598. package/dist/styled.js.map +0 -7
  599. package/dist/views/SafeAreaProvider.js +0 -30
  600. package/dist/views/SafeAreaProvider.js.map +0 -7
  601. package/dist/views/Stack.js.map +0 -7
  602. package/dist/views/Text.js.map +0 -7
  603. package/dist/views/TextAncestorContext.js +0 -18
  604. package/dist/views/TextAncestorContext.js.map +0 -7
  605. package/dist/views/Theme.js +0 -65
  606. package/dist/views/Theme.js.map +0 -7
  607. package/dist/views/ThemeProvider.js +0 -45
  608. package/dist/views/ThemeProvider.js.map +0 -7
  609. package/src/constants/constants.ts +0 -12
  610. package/src/constants/platform.ts +0 -15
  611. package/src/constants/pseudos.ts +0 -14
  612. package/src/constants/rnw.tsx +0 -20
  613. package/src/createComponent.tsx +0 -612
  614. package/src/createFont.ts +0 -31
  615. package/src/createShorthands.ts +0 -5
  616. package/src/createTamagui.ts +0 -217
  617. package/src/createTheme.ts +0 -19
  618. package/src/createTokens.ts +0 -88
  619. package/src/createVariable.ts +0 -26
  620. package/src/helpers/addStylesUsingClassname.tsx +0 -60
  621. package/src/helpers/createMediaStyle.ts +0 -46
  622. package/src/helpers/createPropMapper.ts +0 -184
  623. package/src/helpers/createTamaguiProvider.tsx +0 -22
  624. package/src/helpers/extendStaticConfig.ts +0 -68
  625. package/src/helpers/fixNativeShadow.native.tsx +0 -27
  626. package/src/helpers/fixNativeShadow.tsx +0 -2
  627. package/src/helpers/getSplitStyles.tsx +0 -200
  628. package/src/helpers/getStylesAtomic.native.ts +0 -3
  629. package/src/helpers/getStylesAtomic.ts +0 -103
  630. package/src/helpers/insertStyleRule.tsx +0 -18
  631. package/src/helpers/isObj.ts +0 -1
  632. package/src/helpers/isTamaguiElement.tsx +0 -5
  633. package/src/helpers/matchMedia.native.ts +0 -6
  634. package/src/helpers/matchMedia.ts +0 -17
  635. package/src/helpers/themeable.tsx +0 -42
  636. package/src/helpers/validate.ts +0 -59
  637. package/src/hooks/useConstant.tsx +0 -10
  638. package/src/hooks/useFeatures.tsx +0 -79
  639. package/src/hooks/useMedia.tsx +0 -194
  640. package/src/hooks/usePressable.tsx +0 -9
  641. package/src/hooks/useTheme.tsx +0 -106
  642. package/src/index.ts +0 -32
  643. package/src/static/postProcessStyles.tsx +0 -20
  644. package/src/static.ts +0 -22
  645. package/src/styled.ts +0 -82
  646. package/src/types.tsx +0 -562
  647. package/src/views/Animated.tsx +0 -121
  648. package/src/views/Stack.tsx +0 -21
  649. package/src/views/Text.tsx +0 -66
  650. package/src/views/TextAncestorContext.tsx +0 -12
  651. package/src/views/Theme.tsx +0 -90
  652. package/src/views/ThemeContext.tsx +0 -5
  653. package/src/views/ThemeInverse.tsx +0 -22
  654. package/src/views/ThemeManagerContext.tsx +0 -62
  655. package/src/views/ThemeProvider.tsx +0 -52
  656. package/types.d.ts +0 -559
@@ -0,0 +1,35 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import React, { memo, useMemo } from "react";
4
+ import { isWeb } from "../constants/platform";
5
+ import { wrapThemeManagerContext } from "../helpers/wrapThemeManagerContext";
6
+ import { useChangeThemeEffect } from "../hooks/useTheme";
7
+ React["createElement"];
8
+ const Theme = memo(/* @__PURE__ */ __name(function Theme2(props) {
9
+ var _a, _b;
10
+ const { name, theme, themeManager, themes, className } = useChangeThemeEffect(props.name, props.componentName, props);
11
+ if (!themes || !name || !theme) {
12
+ if (name && !theme && process.env.NODE_ENV === "development") {
13
+ console.warn(`No theme found by name ${name}`);
14
+ }
15
+ return props.children;
16
+ }
17
+ const contents = useMemo(() => wrapThemeManagerContext(props.children, themeManager), [props.children, themeManager]);
18
+ if (isWeb) {
19
+ return /* @__PURE__ */ React.createElement("span", {
20
+ className: [
21
+ `tui_Theme`,
22
+ ...!props.disableThemeClass ? [props.className, className].filter(Boolean) : []
23
+ ].join(" "),
24
+ style: {
25
+ display: "contents",
26
+ color: (_b = (_a = themes[name]) == null ? void 0 : _a.color) == null ? void 0 : _b.toString()
27
+ }
28
+ }, contents);
29
+ }
30
+ return contents;
31
+ }, "Theme"));
32
+ export {
33
+ Theme
34
+ };
35
+ //# sourceMappingURL=Theme.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/Theme.tsx"],
4
+ "sourcesContent": ["import React, { memo, useMemo } from 'react'\n\nimport { isWeb } from '../constants/platform'\nimport { wrapThemeManagerContext } from '../helpers/wrapThemeManagerContext'\nimport { useChangeThemeEffect } from '../hooks/useTheme'\nimport { ThemeName } from '../types'\n\n// bugfix esbuild strips react jsx: 'preserve'\nReact['createElement']\n\nexport type ThemeProps = {\n className?: string\n disableThemeClass?: boolean\n name: Exclude<ThemeName, number> | null\n componentName?: string\n children?: any\n debug?: boolean\n}\n\nexport const Theme = memo(function Theme(props: ThemeProps) {\n const { name, theme, themeManager, themes, className } = useChangeThemeEffect(\n props.name,\n props.componentName,\n props\n )\n\n if (!themes || !name || !theme) {\n if (name && !theme && process.env.NODE_ENV === 'development') {\n console.warn(`No theme found by name ${name}`)\n }\n return props.children\n }\n\n // memo here, changing theme without re-rendering all children is a critical optimization\n // may require some effort of end user to memoize but without this memo they'd have no option\n const contents = useMemo(\n () => wrapThemeManagerContext(props.children, themeManager),\n [props.children, themeManager]\n )\n\n if (isWeb) {\n return (\n <span\n className={[\n `tui_Theme`,\n ...(!props.disableThemeClass ? [props.className, className].filter(Boolean) : []),\n ].join(' ')}\n style={{\n display: 'contents',\n // in order to provide currentColor, set color by default\n color: themes[name]?.color?.toString(),\n }}\n >\n {contents}\n </span>\n )\n }\n\n return contents\n})\n"],
5
+ "mappings": ";;AAAA;AAEA;AACA;AACA;AAIA,MAAM;AAWC,MAAM,QAAQ,KAAK,uCAAe,OAAmB;AAnB5D;AAoBE,QAAM,EAAE,MAAM,OAAO,cAAc,QAAQ,cAAc,qBACvD,MAAM,MACN,MAAM,eACN,KACF;AAEA,MAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO;AAC9B,QAAI,QAAQ,CAAC,SAAS,QAAQ,IAAI,aAAa,eAAe;AAC5D,cAAQ,KAAK,0BAA0B,MAAM;AAAA,IAC/C;AACA,WAAO,MAAM;AAAA,EACf;AAIA,QAAM,WAAW,QACf,MAAM,wBAAwB,MAAM,UAAU,YAAY,GAC1D,CAAC,MAAM,UAAU,YAAY,CAC/B;AAEA,MAAI,OAAO;AACT,WACE,oCAAC;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA,GAAI,CAAC,MAAM,oBAAoB,CAAC,MAAM,WAAW,SAAS,EAAE,OAAO,OAAO,IAAI,CAAC;AAAA,MACjF,EAAE,KAAK,GAAG;AAAA,MACV,OAAO;AAAA,QACL,SAAS;AAAA,QAET,OAAO,mBAAO,UAAP,mBAAc,UAAd,mBAAqB;AAAA,MAC9B;AAAA,OAEC,QACH;AAAA,EAEJ;AAEA,SAAO;AACT,GAxC0B,QAwCzB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,6 @@
1
+ import { createContext } from "react";
2
+ const ThemeContext = createContext(null);
3
+ export {
4
+ ThemeContext
5
+ };
6
+ //# sourceMappingURL=ThemeContext.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/views/ThemeContext.tsx"],
3
+ "sources": ["../../../src/views/ThemeContext.tsx"],
4
4
  "sourcesContent": ["import { createContext } from 'react'\n\nimport { Themes } from '../types'\n\nexport const ThemeContext = createContext<Themes>(null as any)\n"],
5
- "mappings": "AAAA;AAIO,MAAM,eAAe,cAAsB;",
5
+ "mappings": "AAAA;AAIO,MAAM,eAAe,cAAsB,IAAW;",
6
6
  "names": []
7
7
  }
@@ -14,7 +14,7 @@ __name(setThemeInversions, "setThemeInversions");
14
14
  const ThemeInverse = /* @__PURE__ */ __name((props) => {
15
15
  const themeName = useThemeName();
16
16
  const defaultTheme = useDefaultThemeName();
17
- const name = inversions[themeName] || inversions[defaultTheme] || null;
17
+ const name = inversions[themeName] || inversions[defaultTheme || ""] || null;
18
18
  return /* @__PURE__ */ React.createElement(Theme, {
19
19
  name
20
20
  }, props.children);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/views/ThemeInverse.tsx"],
4
- "sourcesContent": ["import React from 'react'\n\nimport { useDefaultThemeName, useThemeName } from '../hooks/useTheme'\nimport { Theme } from './Theme'\n\ntype StringRecord = { [key: string]: string }\n\nlet inversions: StringRecord = {\n light: 'dark',\n dark: 'light',\n}\n\nexport function setThemeInversions(next: StringRecord) {\n inversions = next\n}\n\nexport const ThemeInverse = (props: { children: any }) => {\n const themeName = useThemeName()\n const defaultTheme = useDefaultThemeName()\n const name = inversions[themeName] || inversions[defaultTheme] || null\n return <Theme name={name}>{props.children}</Theme>\n}\n"],
5
- "mappings": ";;AAAA;AAEA;AACA;AAIA,IAAI,aAA2B;AAAA,EAC7B,OAAO;AAAA,EACP,MAAM;AAAA;AAGD,4BAA4B,MAAoB;AACrD,eAAa;AAAA;AADC;AAIT,MAAM,eAAe,wBAAC,UAA6B;AACxD,QAAM,YAAY;AAClB,QAAM,eAAe;AACrB,QAAM,OAAO,WAAW,cAAc,WAAW,iBAAiB;AAClE,SAAO,oCAAC,OAAD;AAAA,IAAO;AAAA,KAAa,MAAM;AAAA,GAJP;",
3
+ "sources": ["../../../src/views/ThemeInverse.tsx"],
4
+ "sourcesContent": ["import React from 'react'\n\nimport { useDefaultThemeName, useThemeName } from '../hooks/useTheme'\nimport { Theme } from './Theme'\n\ntype StringRecord = { [key: string]: string }\n\nlet inversions: StringRecord = {\n light: 'dark',\n dark: 'light',\n}\n\nexport function setThemeInversions(next: StringRecord) {\n inversions = next\n}\n\nexport const ThemeInverse = (props: { children: any }) => {\n const themeName = useThemeName()\n const defaultTheme = useDefaultThemeName()\n const name = inversions[themeName] || inversions[defaultTheme || ''] || null\n return <Theme name={name}>{props.children}</Theme>\n}\n"],
5
+ "mappings": ";;AAAA;AAEA;AACA;AAIA,IAAI,aAA2B;AAAA,EAC7B,OAAO;AAAA,EACP,MAAM;AACR;AAEO,4BAA4B,MAAoB;AACrD,eAAa;AACf;AAFgB;AAIT,MAAM,eAAe,wBAAC,UAA6B;AACxD,QAAM,YAAY,aAAa;AAC/B,QAAM,eAAe,oBAAoB;AACzC,QAAM,OAAO,WAAW,cAAc,WAAW,gBAAgB,OAAO;AACxE,SAAO,oCAAC;AAAA,IAAM;AAAA,KAAa,MAAM,QAAS;AAC5C,GAL4B;",
6
6
  "names": []
7
7
  }
@@ -5,9 +5,9 @@ class ThemeManager {
5
5
  constructor() {
6
6
  this.name = "light";
7
7
  this.parentName = null;
8
- this.keys = new Map();
9
- this.listeners = new Map();
10
- this.themeListeners = new Set();
8
+ this.keys = /* @__PURE__ */ new Map();
9
+ this.listeners = /* @__PURE__ */ new Map();
10
+ this.themeListeners = /* @__PURE__ */ new Set();
11
11
  this.theme = null;
12
12
  }
13
13
  setActiveTheme({
@@ -28,12 +28,13 @@ class ThemeManager {
28
28
  this.keys.set(uuid, keys);
29
29
  }
30
30
  update() {
31
+ var _a;
31
32
  if (!this.name) {
32
33
  this.keys.clear();
33
34
  }
34
35
  for (const [uuid, keys] of this.keys.entries()) {
35
36
  if (keys.size) {
36
- this.listeners.get(uuid)?.();
37
+ (_a = this.listeners.get(uuid)) == null ? void 0 : _a();
37
38
  }
38
39
  }
39
40
  this.themeListeners.forEach((cb) => cb(this.name, this));
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/views/ThemeManagerContext.tsx"],
3
+ "sources": ["../../../src/views/ThemeManagerContext.tsx"],
4
4
  "sourcesContent": ["import { createContext } from 'react'\n\ntype ThemeListener = (name: string | null, themeManager: ThemeManager) => void\n\nexport class ThemeManager {\n name: string | null = 'light'\n parentName: string | null = null\n keys = new Map<any, Set<string>>()\n listeners = new Map<any, Function>()\n themeListeners = new Set<ThemeListener>()\n theme = null\n\n setActiveTheme({\n name,\n theme,\n parentName,\n }: {\n parentName?: string | null\n name: string | null\n theme?: any\n }) {\n if (name === this.name) return\n this.name = name\n this.theme = theme\n this.parentName = parentName || null\n this.update()\n }\n\n track(uuid: any, keys: Set<string>) {\n if (!this.name) return\n this.keys.set(uuid, keys)\n }\n\n update() {\n if (!this.name) {\n this.keys.clear()\n }\n for (const [uuid, keys] of this.keys.entries()) {\n if (keys.size) {\n this.listeners.get(uuid)?.()\n }\n }\n this.themeListeners.forEach((cb) => cb(this.name, this))\n }\n\n onChangeTheme(cb: ThemeListener) {\n this.themeListeners.add(cb)\n return () => {\n this.themeListeners.delete(cb)\n }\n }\n\n onUpdate(uuid: any, cb: Function) {\n this.listeners.set(uuid, cb)\n return () => {\n this.listeners.delete(uuid)\n this.keys.delete(uuid)\n }\n }\n}\n\nexport const ThemeManagerContext = createContext<ThemeManager>(new ThemeManager())\n"],
5
- "mappings": ";;AAAA;AAIO,mBAAmB;AAAA,EAAnB,cAJP;AAKE,gBAAsB;AACtB,sBAA4B;AAC5B,gBAAO,IAAI;AACX,qBAAY,IAAI;AAChB,0BAAiB,IAAI;AACrB,iBAAQ;AAAA;AAAA,EAER,eAAe;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,KAKC;AACD,QAAI,SAAS,KAAK;AAAM;AACxB,SAAK,OAAO;AACZ,SAAK,QAAQ;AACb,SAAK,aAAa,cAAc;AAChC,SAAK;AAAA;AAAA,EAGP,MAAM,MAAW,MAAmB;AAClC,QAAI,CAAC,KAAK;AAAM;AAChB,SAAK,KAAK,IAAI,MAAM;AAAA;AAAA,EAGtB,SAAS;AACP,QAAI,CAAC,KAAK,MAAM;AACd,WAAK,KAAK;AAAA;AAEZ,eAAW,CAAC,MAAM,SAAS,KAAK,KAAK,WAAW;AAC9C,UAAI,KAAK,MAAM;AACb,aAAK,UAAU,IAAI;AAAA;AAAA;AAGvB,SAAK,eAAe,QAAQ,CAAC,OAAO,GAAG,KAAK,MAAM;AAAA;AAAA,EAGpD,cAAc,IAAmB;AAC/B,SAAK,eAAe,IAAI;AACxB,WAAO,MAAM;AACX,WAAK,eAAe,OAAO;AAAA;AAAA;AAAA,EAI/B,SAAS,MAAW,IAAc;AAChC,SAAK,UAAU,IAAI,MAAM;AACzB,WAAO,MAAM;AACX,WAAK,UAAU,OAAO;AACtB,WAAK,KAAK,OAAO;AAAA;AAAA;AAAA;AApDhB;AAyDA,MAAM,sBAAsB,cAA4B,IAAI;",
5
+ "mappings": ";;AAAA;AAIO,MAAM,aAAa;AAAA,EAAnB;AACL,gBAAsB;AACtB,sBAA4B;AAC5B,gBAAO,oBAAI,IAAsB;AACjC,qBAAY,oBAAI,IAAmB;AACnC,0BAAiB,oBAAI,IAAmB;AACxC,iBAAQ;AAAA;AAAA,EAER,eAAe;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,KAKC;AACD,QAAI,SAAS,KAAK;AAAM;AACxB,SAAK,OAAO;AACZ,SAAK,QAAQ;AACb,SAAK,aAAa,cAAc;AAChC,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,MAAM,MAAW,MAAmB;AAClC,QAAI,CAAC,KAAK;AAAM;AAChB,SAAK,KAAK,IAAI,MAAM,IAAI;AAAA,EAC1B;AAAA,EAEA,SAAS;AAjCX;AAkCI,QAAI,CAAC,KAAK,MAAM;AACd,WAAK,KAAK,MAAM;AAAA,IAClB;AACA,eAAW,CAAC,MAAM,SAAS,KAAK,KAAK,QAAQ,GAAG;AAC9C,UAAI,KAAK,MAAM;AACb,mBAAK,UAAU,IAAI,IAAI,MAAvB;AAAA,MACF;AAAA,IACF;AACA,SAAK,eAAe,QAAQ,CAAC,OAAO,GAAG,KAAK,MAAM,IAAI,CAAC;AAAA,EACzD;AAAA,EAEA,cAAc,IAAmB;AAC/B,SAAK,eAAe,IAAI,EAAE;AAC1B,WAAO,MAAM;AACX,WAAK,eAAe,OAAO,EAAE;AAAA,IAC/B;AAAA,EACF;AAAA,EAEA,SAAS,MAAW,IAAc;AAChC,SAAK,UAAU,IAAI,MAAM,EAAE;AAC3B,WAAO,MAAM;AACX,WAAK,UAAU,OAAO,IAAI;AAC1B,WAAK,KAAK,OAAO,IAAI;AAAA,IACvB;AAAA,EACF;AACF;AAvDO;AAyDA,MAAM,sBAAsB,cAA4B,IAAI,aAAa,CAAC;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,42 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import React, { useLayoutEffect, useMemo } from "react";
4
+ import { getHasConfigured } from "../conf";
5
+ import { THEME_CLASSNAME_PREFIX } from "../constants/constants";
6
+ import { ThemeContext } from "../ThemeContext";
7
+ import { Theme } from "./Theme";
8
+ React["createElement"];
9
+ const ThemeProvider = /* @__PURE__ */ __name((props) => {
10
+ if (!getHasConfigured()) {
11
+ throw new Error(`Missing configureThemes() call, add to your root file`);
12
+ }
13
+ if (typeof document !== "undefined") {
14
+ useLayoutEffect(() => {
15
+ if (props.disableRootThemeClass) {
16
+ return;
17
+ }
18
+ const cn = `${THEME_CLASSNAME_PREFIX}${props.defaultTheme}`;
19
+ document.body.classList.add(cn);
20
+ return () => {
21
+ document.body.classList.remove(cn);
22
+ };
23
+ }, [props.disableRootThemeClass]);
24
+ }
25
+ const themeContext = useMemo(() => {
26
+ return {
27
+ themes: props.themes,
28
+ defaultTheme: props.defaultTheme
29
+ };
30
+ }, [props.themes]);
31
+ return /* @__PURE__ */ React.createElement(ThemeContext.Provider, {
32
+ value: themeContext
33
+ }, /* @__PURE__ */ React.createElement(Theme, {
34
+ className: props.className,
35
+ name: props.defaultTheme,
36
+ disableThemeClass: props.disableRootThemeClass
37
+ }, props.children));
38
+ }, "ThemeProvider");
39
+ export {
40
+ ThemeProvider
41
+ };
42
+ //# sourceMappingURL=ThemeProvider.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/ThemeProvider.tsx"],
4
+ "sourcesContent": ["import React, { useLayoutEffect, useMemo } from 'react'\n\nimport { getHasConfigured } from '../conf'\nimport { THEME_CLASSNAME_PREFIX } from '../constants/constants'\nimport { ThemeContext } from '../ThemeContext'\nimport { Theme } from './Theme'\n\n// bugfix esbuild strips react jsx: 'preserve'\nReact['createElement']\n\nexport type ThemeProviderProps = {\n className?: string\n themes: any\n defaultTheme: string\n disableRootThemeClass?: boolean\n children?: any\n}\n\nexport const ThemeProvider = (props: ThemeProviderProps) => {\n if (!getHasConfigured()) {\n throw new Error(`Missing configureThemes() call, add to your root file`)\n }\n\n // ensure theme is attached to root body node as well to work with modals by default\n if (typeof document !== 'undefined') {\n useLayoutEffect(() => {\n if (props.disableRootThemeClass) {\n return\n }\n const cn = `${THEME_CLASSNAME_PREFIX}${props.defaultTheme}`\n document.body.classList.add(cn)\n return () => {\n document.body.classList.remove(cn)\n }\n }, [props.disableRootThemeClass])\n }\n\n const themeContext = useMemo(() => {\n return {\n themes: props.themes,\n defaultTheme: props.defaultTheme,\n }\n }, [props.themes])\n\n return (\n <ThemeContext.Provider value={themeContext}>\n <Theme\n className={props.className}\n name={props.defaultTheme}\n disableThemeClass={props.disableRootThemeClass}\n >\n {props.children}\n </Theme>\n </ThemeContext.Provider>\n )\n}\n"],
5
+ "mappings": ";;AAAA;AAEA;AACA;AACA;AACA;AAGA,MAAM;AAUC,MAAM,gBAAgB,wBAAC,UAA8B;AAC1D,MAAI,CAAC,iBAAiB,GAAG;AACvB,UAAM,IAAI,MAAM,uDAAuD;AAAA,EACzE;AAGA,MAAI,OAAO,aAAa,aAAa;AACnC,oBAAgB,MAAM;AACpB,UAAI,MAAM,uBAAuB;AAC/B;AAAA,MACF;AACA,YAAM,KAAK,GAAG,yBAAyB,MAAM;AAC7C,eAAS,KAAK,UAAU,IAAI,EAAE;AAC9B,aAAO,MAAM;AACX,iBAAS,KAAK,UAAU,OAAO,EAAE;AAAA,MACnC;AAAA,IACF,GAAG,CAAC,MAAM,qBAAqB,CAAC;AAAA,EAClC;AAEA,QAAM,eAAe,QAAQ,MAAM;AACjC,WAAO;AAAA,MACL,QAAQ,MAAM;AAAA,MACd,cAAc,MAAM;AAAA,IACtB;AAAA,EACF,GAAG,CAAC,MAAM,MAAM,CAAC;AAEjB,SACE,oCAAC,aAAa,UAAb;AAAA,IAAsB,OAAO;AAAA,KAC5B,oCAAC;AAAA,IACC,WAAW,MAAM;AAAA,IACjB,MAAM,MAAM;AAAA,IACZ,mBAAmB,MAAM;AAAA,KAExB,MAAM,QACT,CACF;AAEJ,GArC6B;",
6
+ "names": []
7
+ }
@@ -0,0 +1,38 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import React, { useContext, useLayoutEffect, useState } from "react";
4
+ import { isWeb } from "../constants/platform";
5
+ import { ThemeManagerContext } from "../ThemeManager";
6
+ import { Theme } from "./Theme";
7
+ React["createElement"];
8
+ const ThemeReset = /* @__PURE__ */ __name((props) => {
9
+ const themeManager = useContext(ThemeManagerContext);
10
+ const [name, setName] = useState(null);
11
+ if (!isWeb || typeof document !== "undefined") {
12
+ useLayoutEffect(() => {
13
+ if (!themeManager)
14
+ return;
15
+ if (name !== themeManager.parentName) {
16
+ setName(themeManager.parentName);
17
+ }
18
+ }, [themeManager == null ? void 0 : themeManager.parentName]);
19
+ useLayoutEffect(() => {
20
+ if (!themeManager)
21
+ return;
22
+ return themeManager.onChangeTheme(() => {
23
+ setName(themeManager.parentName);
24
+ });
25
+ }, []);
26
+ }
27
+ if (!themeManager || !props.children) {
28
+ return props.children || null;
29
+ }
30
+ return /* @__PURE__ */ React.createElement(Theme, {
31
+ className: "tui-theme-reset",
32
+ name
33
+ }, props.children);
34
+ }, "ThemeReset");
35
+ export {
36
+ ThemeReset
37
+ };
38
+ //# sourceMappingURL=ThemeReset.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/ThemeReset.tsx"],
4
+ "sourcesContent": ["import React, { useContext, useLayoutEffect, useState } from 'react'\n\nimport { isWeb } from '../constants/platform'\nimport { ThemeManagerContext } from '../ThemeManager'\nimport { Theme } from './Theme'\n\n// bugfix esbuild strips react jsx: 'preserve'\nReact['createElement']\n\n// resets the theme to the parent theme\nexport const ThemeReset = (props: { children?: any }) => {\n const themeManager = useContext(ThemeManagerContext)\n const [name, setName] = useState<string | null>(null)\n\n // this component doesn't work with SSR, so must run only client side\n // we could at least prevent more flickering by having the ssr head script\n // that changes to dark initially also go through and change all of these\n if (!isWeb || typeof document !== 'undefined') {\n useLayoutEffect(() => {\n if (!themeManager) return\n if (name !== themeManager.parentName) {\n setName(themeManager.parentName)\n }\n }, [themeManager?.parentName])\n\n useLayoutEffect(() => {\n if (!themeManager) return\n return themeManager.onChangeTheme(() => {\n setName(themeManager.parentName)\n })\n }, [])\n }\n\n if (!themeManager || !props.children) {\n return props.children || null\n }\n\n return (\n <Theme className=\"tui-theme-reset\" name={name}>\n {props.children}\n </Theme>\n )\n}\n"],
5
+ "mappings": ";;AAAA;AAEA;AACA;AACA;AAGA,MAAM;AAGC,MAAM,aAAa,wBAAC,UAA8B;AACvD,QAAM,eAAe,WAAW,mBAAmB;AACnD,QAAM,CAAC,MAAM,WAAW,SAAwB,IAAI;AAKpD,MAAI,CAAC,SAAS,OAAO,aAAa,aAAa;AAC7C,oBAAgB,MAAM;AACpB,UAAI,CAAC;AAAc;AACnB,UAAI,SAAS,aAAa,YAAY;AACpC,gBAAQ,aAAa,UAAU;AAAA,MACjC;AAAA,IACF,GAAG,CAAC,6CAAc,UAAU,CAAC;AAE7B,oBAAgB,MAAM;AACpB,UAAI,CAAC;AAAc;AACnB,aAAO,aAAa,cAAc,MAAM;AACtC,gBAAQ,aAAa,UAAU;AAAA,MACjC,CAAC;AAAA,IACH,GAAG,CAAC,CAAC;AAAA,EACP;AAEA,MAAI,CAAC,gBAAgB,CAAC,MAAM,UAAU;AACpC,WAAO,MAAM,YAAY;AAAA,EAC3B;AAEA,SACE,oCAAC;AAAA,IAAM,WAAU;AAAA,IAAkB;AAAA,KAChC,MAAM,QACT;AAEJ,GAhC0B;",
6
+ "names": []
7
+ }
@@ -0,0 +1,41 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import * as Helpers from "@tamagui/helpers";
4
+ import { getConfig } from "./conf";
5
+ import { rnw } from "./constants/rnw";
6
+ import { getAllSelectors, getAllTransforms, getInsertedRules } from "./helpers/insertStyleRule";
7
+ class TamaguiManager {
8
+ constructor() {
9
+ this.rnw = rnw;
10
+ this.Helpers = Helpers;
11
+ }
12
+ get config() {
13
+ return getConfig();
14
+ }
15
+ get insertedRules() {
16
+ return getInsertedRules();
17
+ }
18
+ get allSelectors() {
19
+ return getAllSelectors();
20
+ }
21
+ get allTransforms() {
22
+ return getAllTransforms();
23
+ }
24
+ get identifierToValue() {
25
+ return identifierToValue;
26
+ }
27
+ }
28
+ __name(TamaguiManager, "TamaguiManager");
29
+ const Tamagui = new TamaguiManager();
30
+ const identifierToValue = /* @__PURE__ */ new Map();
31
+ const getValueFromIdentifier = /* @__PURE__ */ __name((identifier) => {
32
+ return identifierToValue.get(identifier);
33
+ }, "getValueFromIdentifier");
34
+ const setIdentifierValue = /* @__PURE__ */ __name((identifier, value) => {
35
+ identifierToValue.set(identifier, value);
36
+ }, "setIdentifierValue");
37
+ export {
38
+ Tamagui,
39
+ getValueFromIdentifier,
40
+ setIdentifierValue
41
+ };
@@ -0,0 +1,5 @@
1
+ import { createContext } from "react";
2
+ const ThemeContext = createContext(null);
3
+ export {
4
+ ThemeContext
5
+ };
@@ -0,0 +1,186 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ var __accessCheck = (obj, member, msg) => {
4
+ if (!member.has(obj))
5
+ throw TypeError("Cannot " + msg);
6
+ };
7
+ var __privateAdd = (obj, member, value) => {
8
+ if (member.has(obj))
9
+ throw TypeError("Cannot add the same private member more than once");
10
+ member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
11
+ };
12
+ var __privateMethod = (obj, member, method) => {
13
+ __accessCheck(obj, member, "access private method");
14
+ return method;
15
+ };
16
+ var _getClassName, getClassName_fn;
17
+ import { createContext } from "react";
18
+ import { getThemes } from "./conf";
19
+ import { THEME_CLASSNAME_PREFIX, THEME_NAME_SEPARATOR } from "./constants/constants";
20
+ class ThemeManager {
21
+ constructor(name = "", theme = null, parentManager = null) {
22
+ this.name = name;
23
+ this.theme = theme;
24
+ this.parentManager = parentManager;
25
+ __privateAdd(this, _getClassName);
26
+ this.keys = /* @__PURE__ */ new Map();
27
+ this.listeners = /* @__PURE__ */ new Map();
28
+ this.themeListeners = /* @__PURE__ */ new Set();
29
+ this.className = null;
30
+ let parent = parentManager;
31
+ let tries = 0;
32
+ while (true) {
33
+ tries++;
34
+ if (tries > 10) {
35
+ throw new Error(`Nested 10 of the same theme in a row, likely error`);
36
+ }
37
+ if (!parent)
38
+ break;
39
+ if (parent.name === name) {
40
+ parent = parent.parentManager;
41
+ } else {
42
+ this.parentManager = parent;
43
+ break;
44
+ }
45
+ }
46
+ }
47
+ get parentName() {
48
+ var _a;
49
+ return ((_a = this.parentManager) == null ? void 0 : _a.name) || null;
50
+ }
51
+ get fullName() {
52
+ return this.getNextTheme().name || this.name || "";
53
+ }
54
+ getValue(key) {
55
+ let theme = this.theme;
56
+ let manager = this;
57
+ while (true) {
58
+ if (!theme)
59
+ return;
60
+ if (key in theme) {
61
+ return theme[key];
62
+ }
63
+ manager = this.parentManager;
64
+ if (!manager) {
65
+ return;
66
+ }
67
+ if (manager.theme === theme) {
68
+ return;
69
+ }
70
+ theme = manager.theme;
71
+ }
72
+ }
73
+ update({ name, theme, className } = {}) {
74
+ const sameNameOrClassName = this.className ? className == this.className : name === this.name;
75
+ if (sameNameOrClassName) {
76
+ return false;
77
+ }
78
+ this.className = className || null;
79
+ this.name = name || "";
80
+ this.theme = theme;
81
+ this.notifyListeners();
82
+ return true;
83
+ }
84
+ getNextTheme(opts = {}, props) {
85
+ const { themes = getThemes(), name, componentName } = opts;
86
+ if (!name) {
87
+ if (componentName) {
88
+ const names = [
89
+ `${this.name}_${componentName}`,
90
+ `${withoutComponentName(this.name)}_${componentName}`
91
+ ];
92
+ for (const name2 of names) {
93
+ if (name2 in themes) {
94
+ return { name: name2, theme: themes[name2], className: __privateMethod(this, _getClassName, getClassName_fn).call(this, name2) };
95
+ }
96
+ }
97
+ }
98
+ return {
99
+ name: this.name,
100
+ theme: this.theme
101
+ };
102
+ }
103
+ let nextName = name || this.name || "";
104
+ let parentName = this.fullName;
105
+ while (true) {
106
+ if (nextName in themes) {
107
+ break;
108
+ }
109
+ nextName = `${parentName}_${name}`;
110
+ if (nextName in themes) {
111
+ break;
112
+ }
113
+ if (!parentName.includes(THEME_NAME_SEPARATOR)) {
114
+ console.warn("theme not found", name);
115
+ break;
116
+ }
117
+ parentName = parentName.slice(0, parentName.lastIndexOf(THEME_NAME_SEPARATOR));
118
+ }
119
+ if (componentName) {
120
+ const names = [
121
+ `${nextName}_${componentName}`,
122
+ `${withoutComponentName(nextName)}_${componentName}`
123
+ ];
124
+ for (const name2 of names) {
125
+ if (name2 in themes) {
126
+ nextName = name2;
127
+ }
128
+ }
129
+ }
130
+ let theme = themes[nextName];
131
+ if (!theme) {
132
+ theme = themes[`light_${nextName}`];
133
+ }
134
+ if (process.env.NODE_ENV === "development" && props && props["debug"]) {
135
+ console.log("getNextTheme", { name: opts.name, nextName, parentName });
136
+ }
137
+ return {
138
+ name: nextName,
139
+ theme,
140
+ className: __privateMethod(this, _getClassName, getClassName_fn).call(this, nextName)
141
+ };
142
+ }
143
+ track(uuid, keys) {
144
+ if (!this.name)
145
+ return;
146
+ this.keys.set(uuid, keys);
147
+ }
148
+ notifyListeners() {
149
+ var _a;
150
+ if (!this.name) {
151
+ this.keys.clear();
152
+ }
153
+ for (const [uuid, keys] of this.keys.entries()) {
154
+ if (keys.size) {
155
+ (_a = this.listeners.get(uuid)) == null ? void 0 : _a();
156
+ }
157
+ }
158
+ this.themeListeners.forEach((cb) => cb(this.name, this));
159
+ }
160
+ onChangeTheme(cb) {
161
+ this.themeListeners.add(cb);
162
+ return () => {
163
+ this.themeListeners.delete(cb);
164
+ };
165
+ }
166
+ onUpdate(uuid, cb) {
167
+ this.listeners.set(uuid, cb);
168
+ return () => {
169
+ this.listeners.delete(uuid);
170
+ this.keys.delete(uuid);
171
+ };
172
+ }
173
+ }
174
+ __name(ThemeManager, "ThemeManager");
175
+ _getClassName = new WeakSet();
176
+ getClassName_fn = /* @__PURE__ */ __name(function(name) {
177
+ return `${THEME_CLASSNAME_PREFIX}${name} tui_theme`.replace("light_", "").replace("dark_", "");
178
+ }, "#getClassName");
179
+ const ThemeManagerContext = createContext(null);
180
+ const emptyManager = new ThemeManager();
181
+ const withoutComponentName = /* @__PURE__ */ __name((name) => name.replace(/\_[A-Z][a-z]+$/, ""), "withoutComponentName");
182
+ export {
183
+ ThemeManager,
184
+ ThemeManagerContext,
185
+ emptyManager
186
+ };
@@ -0,0 +1,35 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { Tamagui } from "./Tamagui";
4
+ let conf;
5
+ const setConfig = /* @__PURE__ */ __name((next) => {
6
+ conf = next;
7
+ if (configListeners.size) {
8
+ configListeners.forEach((cb) => cb(conf));
9
+ configListeners.clear();
10
+ }
11
+ }, "setConfig");
12
+ const getHasConfigured = /* @__PURE__ */ __name(() => !!conf, "getHasConfigured");
13
+ const getConfig = /* @__PURE__ */ __name(() => conf, "getConfig");
14
+ const getTokens = /* @__PURE__ */ __name(() => conf.tokensParsed, "getTokens");
15
+ const getThemes = /* @__PURE__ */ __name(() => conf.themes, "getThemes");
16
+ const configListeners = /* @__PURE__ */ new Set();
17
+ const onConfiguredOnce = /* @__PURE__ */ __name((cb) => {
18
+ if (conf) {
19
+ cb(conf);
20
+ } else {
21
+ configListeners.add(cb);
22
+ }
23
+ if (!globalThis["Tamagui"]) {
24
+ globalThis["Tamagui"] = Tamagui;
25
+ }
26
+ }, "onConfiguredOnce");
27
+ export {
28
+ configListeners,
29
+ getConfig,
30
+ getHasConfigured,
31
+ getThemes,
32
+ getTokens,
33
+ onConfiguredOnce,
34
+ setConfig
35
+ };
@@ -0,0 +1,17 @@
1
+ import { isWeb } from "./platform";
2
+ const THEME_NAME_SEPARATOR = "_";
3
+ const THEME_CLASSNAME_PREFIX = `tui_`;
4
+ const stackDefaultStyles = {
5
+ alignItems: "stretch",
6
+ flexShrink: 0,
7
+ ...isWeb && {
8
+ display: "flex",
9
+ flexBasis: "auto",
10
+ boxSizing: "border-box"
11
+ }
12
+ };
13
+ export {
14
+ THEME_CLASSNAME_PREFIX,
15
+ THEME_NAME_SEPARATOR,
16
+ stackDefaultStyles
17
+ };
@@ -0,0 +1,25 @@
1
+ var _a, _b, _c;
2
+ import { useEffect, useLayoutEffect } from "react";
3
+ import { Platform } from "react-native";
4
+ const isAndroid = ((_a = Platform) == null ? void 0 : _a.OS) === "android";
5
+ const isIOS = ((_b = Platform) == null ? void 0 : _b.OS) === "ios";
6
+ const isWeb = process.env.TAMAGUI_TARGET !== "native" && (process.env.TAMAGUI_TARGET === "web" || ((_c = Platform) == null ? void 0 : _c.OS) === "web");
7
+ const isSSR = isWeb && typeof window === "undefined";
8
+ const isClient = isWeb && typeof window !== "undefined";
9
+ const useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect;
10
+ const isChrome = typeof navigator !== "undefined" && /Chrome/.test(navigator.userAgent || "");
11
+ const supportsTouchWeb = typeof window !== "undefined" && "ontouchstart" in window;
12
+ const isTouchDevice = !isWeb || supportsTouchWeb;
13
+ const isWebIOS = isWeb && typeof navigator !== "undefined" && (/iPad|iPhone|iPod/.test(navigator.platform) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1) && !window["MSStream"];
14
+ export {
15
+ isAndroid,
16
+ isChrome,
17
+ isClient,
18
+ isIOS,
19
+ isSSR,
20
+ isTouchDevice,
21
+ isWeb,
22
+ isWebIOS,
23
+ supportsTouchWeb,
24
+ useIsomorphicLayoutEffect
25
+ };
@@ -0,0 +1,17 @@
1
+ const pseudos = {
2
+ focusStyle: {
3
+ name: "focus",
4
+ priority: 3
5
+ },
6
+ pressStyle: {
7
+ name: "active",
8
+ priority: 2
9
+ },
10
+ hoverStyle: {
11
+ name: "hover",
12
+ priority: 1
13
+ }
14
+ };
15
+ export {
16
+ pseudos
17
+ };
@@ -0,0 +1,23 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const interopRequire = /* @__PURE__ */ __name((src) => "default" in src ? src.default : src, "interopRequire");
4
+ const rnw = {};
5
+ if (process.env.IS_STATIC === "is_static") {
6
+ const createDOMProps = require("react-native-web/dist/cjs/modules/createDOMProps/index.js");
7
+ const createCompileableStyle = require("react-native-web/dist/cjs/exports/StyleSheet/createCompileableStyle");
8
+ const createReactDOMStyle = require("react-native-web/dist/cjs/exports/StyleSheet/createReactDOMStyle");
9
+ const i18Style = require("react-native-web/dist/cjs/exports/StyleSheet/i18nStyle");
10
+ const atomic = require("react-native-web/dist/cjs/exports/StyleSheet/compile").atomic;
11
+ Object.assign(rnw, {
12
+ createDOMProps,
13
+ createCompileableStyle,
14
+ createReactDOMStyle,
15
+ i18Style,
16
+ atomic
17
+ });
18
+ } else if (process.env.TAMAGUI_TARGET === "web") {
19
+ Object.assign(rnw, interopRequire(require("react-native-web").TamaguiExports));
20
+ }
21
+ export {
22
+ rnw
23
+ };
@@ -0,0 +1,5 @@
1
+ import { createContext } from "react";
2
+ const ButtonInsideButtonContext = createContext(false);
3
+ export {
4
+ ButtonInsideButtonContext
5
+ };