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

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 (331) hide show
  1. package/dist/cjs/constants/constants.js +50 -0
  2. package/dist/cjs/constants/constants.js.map +7 -0
  3. package/dist/cjs/constants/platform.js +43 -0
  4. package/dist/cjs/constants/platform.js.map +7 -0
  5. package/dist/cjs/constants/pseudos.js +25 -0
  6. package/dist/cjs/constants/pseudos.js.map +7 -0
  7. package/dist/cjs/constants/rnw.js +28 -0
  8. package/dist/cjs/constants/rnw.js.map +7 -0
  9. package/dist/cjs/createComponent.js +529 -0
  10. package/dist/cjs/createComponent.js.map +7 -0
  11. package/dist/cjs/createFont.js +50 -0
  12. package/dist/cjs/createFont.js.map +7 -0
  13. package/dist/cjs/createShorthands.js +16 -0
  14. package/dist/cjs/createShorthands.js.map +7 -0
  15. package/dist/cjs/createTamagui.js +223 -0
  16. package/dist/cjs/createTamagui.js.map +7 -0
  17. package/dist/cjs/createTheme.js +13 -0
  18. package/dist/cjs/createTheme.js.map +7 -0
  19. package/dist/cjs/createTokens.js +55 -0
  20. package/dist/cjs/createTokens.js.map +7 -0
  21. package/dist/cjs/createVariable.js +47 -0
  22. package/dist/cjs/createVariable.js.map +7 -0
  23. package/dist/cjs/helpers/addStylesUsingClassname.js +79 -0
  24. package/dist/cjs/helpers/addStylesUsingClassname.js.map +7 -0
  25. package/dist/cjs/helpers/createMediaStyle.js +56 -0
  26. package/dist/cjs/helpers/createMediaStyle.js.map +7 -0
  27. package/dist/cjs/helpers/createPropMapper.js +197 -0
  28. package/dist/cjs/helpers/createPropMapper.js.map +7 -0
  29. package/dist/cjs/helpers/createTamaguiProvider.js +74 -0
  30. package/dist/cjs/helpers/createTamaguiProvider.js.map +7 -0
  31. package/dist/cjs/helpers/extendStaticConfig.js +82 -0
  32. package/dist/cjs/helpers/extendStaticConfig.js.map +7 -0
  33. package/dist/cjs/helpers/fixNativeShadow.js +14 -0
  34. package/dist/cjs/helpers/fixNativeShadow.js.map +7 -0
  35. package/dist/cjs/helpers/fixNativeShadow.native.js +40 -0
  36. package/dist/cjs/helpers/fixNativeShadow.native.js.map +7 -0
  37. package/dist/cjs/helpers/getSplitStyles.js +180 -0
  38. package/dist/cjs/helpers/getSplitStyles.js.map +7 -0
  39. package/dist/cjs/helpers/getStylesAtomic.js +117 -0
  40. package/dist/cjs/helpers/getStylesAtomic.js.map +7 -0
  41. package/dist/cjs/helpers/getStylesAtomic.native.js +16 -0
  42. package/dist/cjs/helpers/getStylesAtomic.native.js.map +7 -0
  43. package/dist/cjs/helpers/insertStyleRule.js +46 -0
  44. package/dist/cjs/helpers/insertStyleRule.js.map +7 -0
  45. package/dist/cjs/helpers/isObj.js +13 -0
  46. package/dist/cjs/helpers/isObj.js.map +7 -0
  47. package/dist/cjs/helpers/isTamaguiElement.js +33 -0
  48. package/dist/cjs/helpers/isTamaguiElement.js.map +7 -0
  49. package/dist/cjs/helpers/matchMedia.js +24 -0
  50. package/dist/cjs/helpers/matchMedia.js.map +7 -0
  51. package/dist/cjs/helpers/matchMedia.native.js +31 -0
  52. package/dist/cjs/helpers/matchMedia.native.js.map +7 -0
  53. package/dist/cjs/helpers/themeable.js +78 -0
  54. package/dist/cjs/helpers/themeable.js.map +7 -0
  55. package/dist/cjs/helpers/validate.js +82 -0
  56. package/dist/cjs/helpers/validate.js.map +7 -0
  57. package/dist/cjs/hooks/useConstant.js +37 -0
  58. package/dist/cjs/hooks/useConstant.js.map +7 -0
  59. package/dist/cjs/hooks/useFeatures.js +100 -0
  60. package/dist/cjs/hooks/useFeatures.js.map +7 -0
  61. package/dist/cjs/hooks/useMedia.js +207 -0
  62. package/dist/cjs/hooks/useMedia.js.map +7 -0
  63. package/dist/cjs/hooks/usePressable.js +50 -0
  64. package/dist/cjs/hooks/usePressable.js.map +7 -0
  65. package/dist/cjs/hooks/useTheme.js +118 -0
  66. package/dist/cjs/hooks/useTheme.js.map +7 -0
  67. package/dist/cjs/index.js +55 -0
  68. package/dist/cjs/index.js.map +7 -0
  69. package/dist/cjs/static/postProcessStyles.js +40 -0
  70. package/dist/cjs/static/postProcessStyles.js.map +7 -0
  71. package/dist/cjs/static.js +34 -0
  72. package/dist/cjs/static.js.map +7 -0
  73. package/dist/cjs/styled.js +72 -0
  74. package/dist/cjs/styled.js.map +7 -0
  75. package/dist/cjs/types.js +4 -0
  76. package/dist/cjs/types.js.map +7 -0
  77. package/dist/cjs/views/Animated.js +129 -0
  78. package/dist/cjs/views/Animated.js.map +7 -0
  79. package/dist/cjs/views/Stack.js +51 -0
  80. package/dist/cjs/views/Stack.js.map +7 -0
  81. package/dist/cjs/views/Text.js +93 -0
  82. package/dist/cjs/views/Text.js.map +7 -0
  83. package/dist/cjs/views/TextAncestorContext.js +40 -0
  84. package/dist/cjs/views/TextAncestorContext.js.map +7 -0
  85. package/dist/cjs/views/Theme.js +91 -0
  86. package/dist/cjs/views/Theme.js.map +7 -0
  87. package/dist/cjs/views/ThemeContext.js +29 -0
  88. package/dist/cjs/views/ThemeContext.js.map +7 -0
  89. package/dist/cjs/views/ThemeInverse.js +48 -0
  90. package/dist/cjs/views/ThemeInverse.js.map +7 -0
  91. package/dist/cjs/views/ThemeManagerContext.js +84 -0
  92. package/dist/cjs/views/ThemeManagerContext.js.map +7 -0
  93. package/dist/cjs/views/ThemeProvider.js +67 -0
  94. package/dist/cjs/views/ThemeProvider.js.map +7 -0
  95. package/dist/esm/constants/constants.js +14 -0
  96. package/dist/esm/constants/constants.js.map +7 -0
  97. package/dist/{constants → esm/constants}/platform.js +3 -2
  98. package/dist/esm/constants/platform.js.map +7 -0
  99. package/dist/esm/constants/pseudos.js +18 -0
  100. package/dist/esm/constants/pseudos.js.map +7 -0
  101. package/dist/esm/constants/rnw.js +22 -0
  102. package/dist/esm/constants/rnw.js.map +7 -0
  103. package/dist/esm/createComponent.js +465 -0
  104. package/dist/esm/createComponent.js.map +7 -0
  105. package/dist/esm/createFont.js +28 -0
  106. package/dist/esm/createFont.js.map +7 -0
  107. package/dist/{createShorthands.js → esm/createShorthands.js} +0 -0
  108. package/dist/esm/createShorthands.js.map +7 -0
  109. package/dist/esm/createTamagui.js +185 -0
  110. package/dist/esm/createTamagui.js.map +7 -0
  111. package/dist/esm/createTheme.js +7 -0
  112. package/dist/esm/createTheme.js.map +7 -0
  113. package/dist/{createTokens.js → esm/createTokens.js} +4 -0
  114. package/dist/esm/createTokens.js.map +7 -0
  115. package/dist/{createVariable.js → esm/createVariable.js} +6 -2
  116. package/dist/esm/createVariable.js.map +7 -0
  117. package/dist/esm/helpers/addStylesUsingClassname.js +57 -0
  118. package/dist/esm/helpers/addStylesUsingClassname.js.map +7 -0
  119. package/dist/{helpers → esm/helpers}/createMediaStyle.js +0 -0
  120. package/dist/{helpers → esm/helpers}/createMediaStyle.js.map +1 -1
  121. package/dist/esm/helpers/createPropMapper.js +162 -0
  122. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  123. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js +2 -20
  124. package/dist/esm/helpers/createTamaguiProvider.js.map +7 -0
  125. package/dist/esm/helpers/extendStaticConfig.js +60 -0
  126. package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
  127. package/dist/esm/helpers/fixNativeShadow.js +8 -0
  128. package/dist/esm/helpers/fixNativeShadow.js.map +7 -0
  129. package/dist/esm/helpers/fixNativeShadow.native.js +34 -0
  130. package/dist/esm/helpers/fixNativeShadow.native.js.map +7 -0
  131. package/dist/{helpers → esm/helpers}/getSplitStyles.js +43 -40
  132. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  133. package/dist/esm/helpers/getStylesAtomic.js +84 -0
  134. package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
  135. package/dist/esm/helpers/getStylesAtomic.native.js +10 -0
  136. package/dist/esm/helpers/getStylesAtomic.native.js.map +7 -0
  137. package/dist/{helpers → esm/helpers}/insertStyleRule.js +7 -0
  138. package/dist/esm/helpers/insertStyleRule.js.map +7 -0
  139. package/dist/esm/helpers/isObj.js +7 -0
  140. package/dist/esm/helpers/isObj.js.map +7 -0
  141. package/dist/esm/helpers/isTamaguiElement.js +11 -0
  142. package/dist/esm/helpers/isTamaguiElement.js.map +7 -0
  143. package/dist/{helpers → esm/helpers}/matchMedia.js +3 -0
  144. package/dist/esm/helpers/matchMedia.js.map +7 -0
  145. package/dist/{helpers → esm/helpers}/matchMedia.native.js +1 -0
  146. package/dist/{helpers → esm/helpers}/matchMedia.native.js.map +3 -3
  147. package/dist/{helpers → esm/helpers}/themeable.js +1 -1
  148. package/dist/{helpers → esm/helpers}/themeable.js.map +3 -3
  149. package/dist/esm/helpers/validate.js +60 -0
  150. package/dist/esm/helpers/validate.js.map +7 -0
  151. package/dist/{hooks → esm/hooks}/useConstant.js +0 -0
  152. package/dist/{hooks → esm/hooks}/useConstant.js.map +1 -1
  153. package/dist/{hooks → esm/hooks}/useFeatures.js +39 -51
  154. package/dist/esm/hooks/useFeatures.js.map +7 -0
  155. package/dist/{hooks → esm/hooks}/useMedia.js +20 -18
  156. package/dist/esm/hooks/useMedia.js.map +7 -0
  157. package/dist/{hooks → esm/hooks}/usePressable.js +2 -1
  158. package/dist/{hooks → esm/hooks}/usePressable.js.map +2 -2
  159. package/dist/{hooks → esm/hooks}/useTheme.js +28 -25
  160. package/dist/esm/hooks/useTheme.js.map +7 -0
  161. package/dist/{index.js → esm/index.js} +6 -4
  162. package/dist/esm/index.js.map +7 -0
  163. package/dist/{static → esm/static}/postProcessStyles.js +3 -3
  164. package/dist/esm/static/postProcessStyles.js.map +7 -0
  165. package/dist/{static.js → esm/static.js} +6 -1
  166. package/dist/esm/static.js.map +7 -0
  167. package/dist/esm/styled.js +21 -0
  168. package/dist/esm/styled.js.map +7 -0
  169. package/dist/{types.js → esm/types.js} +0 -0
  170. package/dist/{types.js.map → esm/types.js.map} +0 -0
  171. package/dist/{views → esm/views}/Animated.js +0 -0
  172. package/dist/{views → esm/views}/Animated.js.map +3 -3
  173. package/dist/{views → esm/views}/Stack.js +1 -1
  174. package/dist/esm/views/Stack.js.map +7 -0
  175. package/dist/esm/views/Text.js +60 -0
  176. package/dist/esm/views/Text.js.map +7 -0
  177. package/dist/esm/views/TextAncestorContext.js +18 -0
  178. package/dist/esm/views/TextAncestorContext.js.map +7 -0
  179. package/dist/{views → esm/views}/Theme.js +29 -23
  180. package/dist/esm/views/Theme.js.map +7 -0
  181. package/dist/{views → esm/views}/ThemeContext.js +0 -0
  182. package/dist/{views → esm/views}/ThemeContext.js.map +1 -1
  183. package/dist/{views → esm/views}/ThemeInverse.js +0 -1
  184. package/dist/{views → esm/views}/ThemeInverse.js.map +3 -3
  185. package/dist/{views → esm/views}/ThemeManagerContext.js +13 -6
  186. package/dist/esm/views/ThemeManagerContext.js.map +7 -0
  187. package/dist/{views → esm/views}/ThemeProvider.js +10 -10
  188. package/dist/esm/views/ThemeProvider.js.map +7 -0
  189. package/dist/jsx/constants/constants.js +13 -0
  190. package/dist/jsx/constants/platform.js +19 -0
  191. package/dist/jsx/constants/pseudos.js +17 -0
  192. package/dist/jsx/constants/rnw.js +21 -0
  193. package/dist/jsx/createComponent.js +459 -0
  194. package/dist/jsx/createFont.js +27 -0
  195. package/dist/jsx/createShorthands.js +9 -0
  196. package/dist/jsx/createTamagui.js +184 -0
  197. package/dist/jsx/createTheme.js +6 -0
  198. package/dist/jsx/createTokens.js +32 -0
  199. package/dist/jsx/createVariable.js +24 -0
  200. package/dist/jsx/helpers/addStylesUsingClassname.js +56 -0
  201. package/dist/jsx/helpers/createMediaStyle.js +33 -0
  202. package/dist/jsx/helpers/createPropMapper.js +161 -0
  203. package/dist/jsx/helpers/createTamaguiProvider.js +19 -0
  204. package/dist/jsx/helpers/extendStaticConfig.js +59 -0
  205. package/dist/jsx/helpers/fixNativeShadow.js +7 -0
  206. package/dist/jsx/helpers/fixNativeShadow.native.js +33 -0
  207. package/dist/jsx/helpers/getSplitStyles.js +149 -0
  208. package/dist/jsx/helpers/getStylesAtomic.js +83 -0
  209. package/dist/jsx/helpers/getStylesAtomic.native.js +9 -0
  210. package/dist/jsx/helpers/insertStyleRule.js +23 -0
  211. package/dist/jsx/helpers/isObj.js +6 -0
  212. package/dist/jsx/helpers/isTamaguiElement.js +10 -0
  213. package/dist/jsx/helpers/matchMedia.js +17 -0
  214. package/dist/jsx/helpers/matchMedia.native.js +8 -0
  215. package/dist/jsx/helpers/themeable.js +23 -0
  216. package/dist/jsx/helpers/validate.js +59 -0
  217. package/dist/jsx/hooks/useConstant.js +14 -0
  218. package/dist/jsx/hooks/useFeatures.js +57 -0
  219. package/dist/jsx/hooks/useMedia.js +174 -0
  220. package/dist/jsx/hooks/usePressable.js +13 -0
  221. package/dist/jsx/hooks/useTheme.js +96 -0
  222. package/dist/jsx/index.js +31 -0
  223. package/dist/jsx/static/postProcessStyles.js +17 -0
  224. package/dist/jsx/static.js +14 -0
  225. package/dist/jsx/styled.js +20 -0
  226. package/dist/jsx/types.js +0 -0
  227. package/dist/jsx/views/Animated.js +74 -0
  228. package/dist/jsx/views/Stack.js +11 -0
  229. package/dist/jsx/views/Text.js +59 -0
  230. package/dist/jsx/views/TextAncestorContext.js +15 -0
  231. package/dist/jsx/views/Theme.js +63 -0
  232. package/dist/jsx/views/ThemeContext.js +5 -0
  233. package/dist/jsx/views/ThemeInverse.js +22 -0
  234. package/dist/jsx/views/ThemeManagerContext.js +61 -0
  235. package/dist/jsx/views/ThemeProvider.js +39 -0
  236. package/package.json +6 -6
  237. package/types/constants/constants.d.ts.map +1 -0
  238. package/types/constants/platform.d.ts.map +1 -0
  239. package/types/constants/pseudos.d.ts.map +1 -0
  240. package/types/constants/rnw.d.ts.map +1 -0
  241. package/types/createComponent.d.ts.map +1 -0
  242. package/types/createFont.d.ts.map +1 -0
  243. package/types/createShorthands.d.ts.map +1 -0
  244. package/types/createTamagui.d.ts.map +1 -0
  245. package/types/createTheme.d.ts.map +1 -0
  246. package/types/createTokens.d.ts.map +1 -0
  247. package/types/createVariable.d.ts.map +1 -0
  248. package/types/helpers/addStylesUsingClassname.d.ts.map +1 -0
  249. package/types/helpers/createMediaStyle.d.ts.map +1 -0
  250. package/types/helpers/createPropMapper.d.ts.map +1 -0
  251. package/types/helpers/createTamaguiProvider.d.ts.map +1 -0
  252. package/types/helpers/extendStaticConfig.d.ts.map +1 -0
  253. package/types/helpers/fixNativeShadow.d.ts.map +1 -0
  254. package/types/helpers/fixNativeShadow.native.d.ts.map +1 -0
  255. package/types/helpers/getSplitStyles.d.ts.map +1 -0
  256. package/types/helpers/getStylesAtomic.d.ts.map +1 -0
  257. package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
  258. package/types/helpers/insertStyleRule.d.ts.map +1 -0
  259. package/types/helpers/isObj.d.ts.map +1 -0
  260. package/types/helpers/isTamaguiElement.d.ts.map +1 -0
  261. package/types/helpers/matchMedia.d.ts.map +1 -0
  262. package/types/helpers/matchMedia.native.d.ts.map +1 -0
  263. package/types/helpers/themeable.d.ts.map +1 -0
  264. package/types/helpers/validate.d.ts.map +1 -0
  265. package/types/hooks/useConstant.d.ts.map +1 -0
  266. package/types/hooks/useFeatures.d.ts.map +1 -0
  267. package/types/hooks/useMedia.d.ts.map +1 -0
  268. package/types/hooks/usePressable.d.ts.map +1 -0
  269. package/types/hooks/useTheme.d.ts.map +1 -0
  270. package/types/index.d.ts.map +1 -0
  271. package/types/static/postProcessStyles.d.ts.map +1 -0
  272. package/types/static.d.ts.map +1 -0
  273. package/types/styled.d.ts.map +1 -0
  274. package/types/types.d.ts.map +1 -0
  275. package/types/views/Animated.d.ts.map +1 -0
  276. package/types/views/Stack.d.ts.map +1 -0
  277. package/types/views/Text.d.ts.map +1 -0
  278. package/types/views/TextAncestorContext.d.ts.map +1 -0
  279. package/types/views/Theme.d.ts.map +1 -0
  280. package/types/views/ThemeContext.d.ts.map +1 -0
  281. package/types/views/ThemeInverse.d.ts.map +1 -0
  282. package/types/views/ThemeManagerContext.d.ts.map +1 -0
  283. package/types/views/ThemeProvider.d.ts.map +1 -0
  284. package/dist/constants/constants.js +0 -32
  285. package/dist/constants/constants.js.map +0 -7
  286. package/dist/constants/platform.js.map +0 -7
  287. package/dist/constants/rnw.js +0 -10
  288. package/dist/constants/rnw.js.map +0 -7
  289. package/dist/constants/styleConstants.js +0 -59
  290. package/dist/constants/styleConstants.js.map +0 -7
  291. package/dist/createComponent.js +0 -395
  292. package/dist/createComponent.js.map +0 -7
  293. package/dist/createShorthands.js.map +0 -7
  294. package/dist/createTamagui.js +0 -107
  295. package/dist/createTamagui.js.map +0 -7
  296. package/dist/createTokens.js.map +0 -7
  297. package/dist/createVariable.js.map +0 -7
  298. package/dist/helpers/addStylesUsingClassname.js +0 -28
  299. package/dist/helpers/addStylesUsingClassname.js.map +0 -7
  300. package/dist/helpers/createTamaguiProvider.js.map +0 -7
  301. package/dist/helpers/extendStaticConfig.js +0 -158
  302. package/dist/helpers/extendStaticConfig.js.map +0 -7
  303. package/dist/helpers/fixNativeShadow.js +0 -38
  304. package/dist/helpers/fixNativeShadow.js.map +0 -7
  305. package/dist/helpers/getSplitStyles.js.map +0 -7
  306. package/dist/helpers/insertStyleRule.js.map +0 -7
  307. package/dist/helpers/matchMedia.js.map +0 -7
  308. package/dist/helpers/setIfChanged.js +0 -17
  309. package/dist/helpers/setIfChanged.js.map +0 -7
  310. package/dist/hooks/useFeatures.js.map +0 -7
  311. package/dist/hooks/useForceUpdate.js +0 -28
  312. package/dist/hooks/useForceUpdate.js.map +0 -7
  313. package/dist/hooks/useMedia.js.map +0 -7
  314. package/dist/hooks/useTheme.js.map +0 -7
  315. package/dist/index.cjs +0 -1837
  316. package/dist/index.cjs.map +0 -7
  317. package/dist/index.js.map +0 -7
  318. package/dist/static/postProcessStyles.js.map +0 -7
  319. package/dist/static.js.map +0 -7
  320. package/dist/styled.js +0 -28
  321. package/dist/styled.js.map +0 -7
  322. package/dist/testtypes.js +0 -1
  323. package/dist/testtypes.js.map +0 -7
  324. package/dist/views/Stack.js.map +0 -7
  325. package/dist/views/Text.js +0 -36
  326. package/dist/views/Text.js.map +0 -7
  327. package/dist/views/TextAncestorContext.js +0 -18
  328. package/dist/views/TextAncestorContext.js.map +0 -7
  329. package/dist/views/Theme.js.map +0 -7
  330. package/dist/views/ThemeManagerContext.js.map +0 -7
  331. package/dist/views/ThemeProvider.js.map +0 -7
@@ -3,7 +3,7 @@ import { createComponent } from "../createComponent";
3
3
  const Stack = createComponent({
4
4
  defaultProps: {
5
5
  ...stackDefaultStyles,
6
- flexDirection: "row"
6
+ flexDirection: "column"
7
7
  }
8
8
  });
9
9
  export {
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/Stack.tsx"],
4
+ "sourcesContent": ["import { stackDefaultStyles } from '../constants/constants'\nimport { createComponent } from '../createComponent'\nimport { StackProps } from '../types'\n\nexport const Stack = createComponent<StackProps>({\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;AACA;AAGO,MAAM,QAAQ,gBAA4B;AAAA,EAC/C,cAAc;AAAA,OACT;AAAA,IACH,eAAe;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,60 @@
1
+ import { stylePropsTextOnly, validStyles } from "@tamagui/helpers";
2
+ import { isWeb } from "../constants/platform";
3
+ import { createComponent } from "../createComponent";
4
+ const ellipseStyle = {
5
+ maxWidth: "100%",
6
+ overflow: "hidden",
7
+ textOverflow: "ellipsis",
8
+ whiteSpace: "nowrap"
9
+ };
10
+ const Text = createComponent({
11
+ isText: true,
12
+ defaultProps: {
13
+ display: isWeb ? "inline" : "inline-flex",
14
+ boxSizing: "border-box",
15
+ fontFamily: "System",
16
+ wordWrap: "break-word"
17
+ },
18
+ variants: {
19
+ numberOfLines: {
20
+ 1: ellipseStyle,
21
+ "[number]": (lines) => lines > 1 ? { WebkitLineClamp: 1 } : null
22
+ },
23
+ selectable: {
24
+ true: {
25
+ userSelect: "text"
26
+ },
27
+ false: {
28
+ userSelect: "none"
29
+ }
30
+ },
31
+ pressable: {
32
+ true: {
33
+ cursor: "pointer"
34
+ }
35
+ },
36
+ ellipse: {
37
+ true: isWeb ? ellipseStyle : {
38
+ numberOfLines: 1,
39
+ lineBreakMode: "clip"
40
+ }
41
+ }
42
+ },
43
+ deoptProps: new Set(isWeb ? [] : ["ellipse"]),
44
+ validStyles: {
45
+ ...validStyles,
46
+ ...stylePropsTextOnly,
47
+ ...isWeb && {
48
+ userSelect: true,
49
+ textOverflow: true,
50
+ whiteSpace: true,
51
+ wordWrap: true,
52
+ selectable: true,
53
+ cursor: true
54
+ }
55
+ }
56
+ });
57
+ export {
58
+ Text
59
+ };
60
+ //# sourceMappingURL=Text.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/Text.tsx"],
4
+ "sourcesContent": ["import { stylePropsTextOnly, validStyles } from '@tamagui/helpers'\n\nimport { isWeb } from '../constants/platform'\nimport { createComponent } from '../createComponent'\nimport { TextProps } from '../types'\n\nconst ellipseStyle = {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n}\n\nexport const Text = createComponent<TextProps>({\n isText: true,\n defaultProps: {\n display: isWeb ? 'inline' : 'inline-flex',\n boxSizing: 'border-box',\n fontFamily: 'System',\n wordWrap: 'break-word',\n },\n variants: {\n numberOfLines: {\n 1: ellipseStyle,\n // TODO imply fn, test 1, could do types `>1` `<2`\n '[number]': (lines) => (lines > 1 ? { WebkitLineClamp: 1 } : null),\n },\n\n selectable: {\n true: {\n userSelect: 'text',\n },\n false: {\n userSelect: 'none',\n },\n },\n\n pressable: {\n true: {\n cursor: 'pointer',\n },\n },\n\n ellipse: {\n true: isWeb\n ? ellipseStyle\n : {\n numberOfLines: 1,\n lineBreakMode: 'clip',\n },\n },\n },\n deoptProps: new Set(isWeb ? [] : ['ellipse']),\n validStyles: {\n ...validStyles,\n ...stylePropsTextOnly,\n ...(isWeb && {\n userSelect: true,\n textOverflow: true,\n whiteSpace: true,\n wordWrap: true,\n selectable: true,\n cursor: true,\n }),\n },\n})\n"],
5
+ "mappings": "AAAA;AAEA;AACA;AAGA,MAAM,eAAe;AAAA,EACnB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,cAAc;AAAA,EACd,YAAY;AAAA;AAGP,MAAM,OAAO,gBAA2B;AAAA,EAC7C,QAAQ;AAAA,EACR,cAAc;AAAA,IACZ,SAAS,QAAQ,WAAW;AAAA,IAC5B,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,UAAU;AAAA;AAAA,EAEZ,UAAU;AAAA,IACR,eAAe;AAAA,MACb,GAAG;AAAA,MAEH,YAAY,CAAC,UAAW,QAAQ,IAAI,EAAE,iBAAiB,MAAM;AAAA;AAAA,IAG/D,YAAY;AAAA,MACV,MAAM;AAAA,QACJ,YAAY;AAAA;AAAA,MAEd,OAAO;AAAA,QACL,YAAY;AAAA;AAAA;AAAA,IAIhB,WAAW;AAAA,MACT,MAAM;AAAA,QACJ,QAAQ;AAAA;AAAA;AAAA,IAIZ,SAAS;AAAA,MACP,MAAM,QACF,eACA;AAAA,QACE,eAAe;AAAA,QACf,eAAe;AAAA;AAAA;AAAA;AAAA,EAIzB,YAAY,IAAI,IAAI,QAAQ,KAAK,CAAC;AAAA,EAClC,aAAa;AAAA,OACR;AAAA,OACA;AAAA,OACC,SAAS;AAAA,MACX,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,QAAQ;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,18 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ var _a, _b;
4
+ import React, { createContext } from "react";
5
+ import { rnw } from "../constants/rnw";
6
+ const FallbackNativeContext = createContext(false);
7
+ const TextAncestorContext = (_b = (_a = rnw) == null ? void 0 : _a.TextAncestorContext) != null ? _b : FallbackNativeContext;
8
+ const TextAncestorProvider = /* @__PURE__ */ __name((props) => {
9
+ return /* @__PURE__ */ React.createElement(TextAncestorContext.Provider, {
10
+ value: false
11
+ }, props.children);
12
+ }, "TextAncestorProvider");
13
+ export {
14
+ FallbackNativeContext,
15
+ TextAncestorContext,
16
+ TextAncestorProvider
17
+ };
18
+ //# sourceMappingURL=TextAncestorContext.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/TextAncestorContext.tsx"],
4
+ "sourcesContent": ["import React, { createContext } from 'react'\n\nimport { rnw } from '../constants/rnw'\n\nexport const FallbackNativeContext = createContext(false)\n\nexport const TextAncestorContext = rnw?.TextAncestorContext ?? FallbackNativeContext\n\nexport const TextAncestorProvider = (props) => {\n return <TextAncestorContext.Provider value={false}>{props.children}</TextAncestorContext.Provider>\n}\n"],
5
+ "mappings": ";;AAAA;AAAA;AAEA;AAEO,MAAM,wBAAwB,cAAc;AAE5C,MAAM,sBAAsB,uCAAK,wBAAL,YAA4B;AAExD,MAAM,uBAAuB,wBAAC,UAAU;AAC7C,SAAO,oCAAC,oBAAoB,UAArB;AAAA,IAA8B,OAAO;AAAA,KAAQ,MAAM;AAAA,GADxB;",
6
+ "names": []
7
+ }
@@ -7,27 +7,43 @@ import { useConstant } from "../hooks/useConstant";
7
7
  import { ThemeContext } from "./ThemeContext";
8
8
  import { ThemeManager, ThemeManagerContext } from "./ThemeManagerContext";
9
9
  const Theme = /* @__PURE__ */ __name((props) => {
10
+ var _a, _b;
10
11
  const parent = useContext(ThemeManagerContext);
11
12
  const themes = useContext(ThemeContext);
12
13
  const [parentName, setParentName] = useState(parent.name || "light");
13
- const { name, theme } = getTheme(props.name, parentName, themes);
14
+ if (!themes) {
15
+ console.warn("Error, no themes in context", props);
16
+ return props.children;
17
+ }
18
+ const nextNameParent = `${props.name}-${parentName}`;
19
+ const nextNameParentParent = `${props.name}-${parent.parentName}`;
20
+ const name = !props.name ? null : props.name in themes ? props.name : nextNameParent in themes ? nextNameParent : nextNameParentParent in themes ? nextNameParentParent : null;
21
+ const theme = name ? themes[name] : null;
14
22
  const themeManager = useConstant(() => {
23
+ if (!theme) {
24
+ return null;
25
+ }
15
26
  const manager = new ThemeManager();
16
27
  if (name) {
17
- manager.setActiveTheme(name, themes[name]);
28
+ manager.setActiveTheme({ name, theme: themes[name], parentName });
18
29
  }
19
30
  return manager;
20
31
  });
21
32
  useIsomorphicLayoutEffect(() => {
22
- themeManager.setActiveTheme(name, theme);
33
+ if (!themeManager) {
34
+ return;
35
+ }
36
+ if (name) {
37
+ themeManager.setActiveTheme({ name, theme, parentName });
38
+ }
23
39
  return parent.onChangeTheme((next) => {
24
40
  if (next) {
25
- themeManager.setActiveTheme(next, themes[next]);
41
+ themeManager.setActiveTheme({ name: next, theme: themes[next], parentName });
26
42
  setParentName(next);
27
43
  }
28
44
  });
29
- }, [themes, name]);
30
- if (!name) {
45
+ }, [themes, name, parentName]);
46
+ if (!name || !theme) {
31
47
  return props.children;
32
48
  }
33
49
  const contents = themeManager ? /* @__PURE__ */ React.createElement(ThemeManagerContext.Provider, {
@@ -37,26 +53,16 @@ const Theme = /* @__PURE__ */ __name((props) => {
37
53
  if (props.disableThemeClass) {
38
54
  return contents;
39
55
  }
40
- return /* @__PURE__ */ React.createElement("div", {
41
- className: getThemeParentClassName(name),
42
- style: { display: "contents", color: themes[name]?.["color"] }
43
- }, contents);
56
+ if (name) {
57
+ const color = (_b = (_a = themes[name]) == null ? void 0 : _a["color"]) == null ? void 0 : _b["variable"];
58
+ return /* @__PURE__ */ React.createElement("div", {
59
+ className: getThemeParentClassName(props.name),
60
+ style: { display: "contents", color }
61
+ }, contents);
62
+ }
44
63
  }
45
64
  return contents;
46
65
  }, "Theme");
47
- function getTheme(name, parentName, themes) {
48
- let fullName = name || parentName || "";
49
- let nextTheme = themes[fullName];
50
- if (name && !nextTheme) {
51
- const themeSchemeName = `${fullName}-${parentName}`;
52
- if (themes[themeSchemeName]) {
53
- fullName = themeSchemeName;
54
- nextTheme = themes[themeSchemeName];
55
- }
56
- }
57
- return { name: fullName, theme: nextTheme };
58
- }
59
- __name(getTheme, "getTheme");
60
66
  export {
61
67
  Theme
62
68
  };
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/Theme.tsx"],
4
+ "sourcesContent": ["import React, { useContext, useState } from 'react'\n\nimport { isWeb, useIsomorphicLayoutEffect } from '../constants/platform'\nimport { getThemeParentClassName } from '../createTamagui'\nimport { useConstant } from '../hooks/useConstant'\nimport { ThemeName } from '../types'\nimport { ThemeContext } from './ThemeContext'\nimport { ThemeManager, ThemeManagerContext } from './ThemeManagerContext'\n\nexport type ThemeProps = {\n disableThemeClass?: boolean\n name: Exclude<ThemeName, number> | null\n children?: any\n}\n\nexport const Theme = (props: ThemeProps) => {\n const parent = useContext(ThemeManagerContext)\n const themes = useContext(ThemeContext)\n const [parentName, setParentName] = useState(parent.name || 'light')\n if (!themes) {\n console.warn('Error, no themes in context', props)\n return props.children\n }\n\n const nextNameParent = `${props.name}-${parentName}`\n const nextNameParentParent = `${props.name}-${parent.parentName}`\n const name = !props.name\n ? null\n : props.name in themes\n ? props.name\n : nextNameParent in themes\n ? nextNameParent\n : nextNameParentParent in themes\n ? nextNameParentParent\n : null\n const theme = name ? themes[name] : null\n const themeManager = useConstant<ThemeManager | null>(() => {\n if (!theme) {\n return null\n }\n const manager = new ThemeManager()\n if (name) {\n manager.setActiveTheme({ name, theme: themes[name], parentName })\n }\n return manager\n })\n\n useIsomorphicLayoutEffect(() => {\n if (!themeManager) {\n return\n }\n if (name) {\n themeManager.setActiveTheme({ name, theme, parentName })\n }\n return parent.onChangeTheme((next) => {\n if (next) {\n themeManager.setActiveTheme({ name: next, theme: themes[next], parentName })\n setParentName(next)\n }\n })\n }, [themes, name, parentName])\n\n if (!name || !theme) {\n return props.children\n }\n\n const contents = themeManager ? (\n <ThemeManagerContext.Provider value={themeManager}>\n {props.children}\n </ThemeManagerContext.Provider>\n ) : (\n props.children\n )\n\n if (isWeb) {\n if (props.disableThemeClass) {\n return contents\n }\n if (name) {\n const color = themes[name]?.['color']?.['variable']\n return (\n <div\n className={getThemeParentClassName(props.name)}\n // in order to provide currentColor, set color by default\n style={{ display: 'contents', color }}\n >\n {contents}\n </div>\n )\n }\n }\n\n return contents\n}\n"],
5
+ "mappings": ";;AAAA;AAEA;AACA;AACA;AAEA;AACA;AAQO,MAAM,QAAQ,wBAAC,UAAsB;AAf5C;AAgBE,QAAM,SAAS,WAAW;AAC1B,QAAM,SAAS,WAAW;AAC1B,QAAM,CAAC,YAAY,iBAAiB,SAAS,OAAO,QAAQ;AAC5D,MAAI,CAAC,QAAQ;AACX,YAAQ,KAAK,+BAA+B;AAC5C,WAAO,MAAM;AAAA;AAGf,QAAM,iBAAiB,GAAG,MAAM,QAAQ;AACxC,QAAM,uBAAuB,GAAG,MAAM,QAAQ,OAAO;AACrD,QAAM,OAAO,CAAC,MAAM,OAChB,OACA,MAAM,QAAQ,SACd,MAAM,OACN,kBAAkB,SAClB,iBACA,wBAAwB,SACxB,uBACA;AACJ,QAAM,QAAQ,OAAO,OAAO,QAAQ;AACpC,QAAM,eAAe,YAAiC,MAAM;AAC1D,QAAI,CAAC,OAAO;AACV,aAAO;AAAA;AAET,UAAM,UAAU,IAAI;AACpB,QAAI,MAAM;AACR,cAAQ,eAAe,EAAE,MAAM,OAAO,OAAO,OAAO;AAAA;AAEtD,WAAO;AAAA;AAGT,4BAA0B,MAAM;AAC9B,QAAI,CAAC,cAAc;AACjB;AAAA;AAEF,QAAI,MAAM;AACR,mBAAa,eAAe,EAAE,MAAM,OAAO;AAAA;AAE7C,WAAO,OAAO,cAAc,CAAC,SAAS;AACpC,UAAI,MAAM;AACR,qBAAa,eAAe,EAAE,MAAM,MAAM,OAAO,OAAO,OAAO;AAC/D,sBAAc;AAAA;AAAA;AAAA,KAGjB,CAAC,QAAQ,MAAM;AAElB,MAAI,CAAC,QAAQ,CAAC,OAAO;AACnB,WAAO,MAAM;AAAA;AAGf,QAAM,WAAW,eACf,oCAAC,oBAAoB,UAArB;AAAA,IAA8B,OAAO;AAAA,KAClC,MAAM,YAGT,MAAM;AAGR,MAAI,OAAO;AACT,QAAI,MAAM,mBAAmB;AAC3B,aAAO;AAAA;AAET,QAAI,MAAM;AACR,YAAM,QAAQ,mBAAO,UAAP,mBAAe,aAAf,mBAA0B;AACxC,aACE,oCAAC,OAAD;AAAA,QACE,WAAW,wBAAwB,MAAM;AAAA,QAEzC,OAAO,EAAE,SAAS,YAAY;AAAA,SAE7B;AAAA;AAAA;AAMT,SAAO;AAAA,GA7EY;",
6
+ "names": []
7
+ }
File without changes
@@ -1,6 +1,6 @@
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
5
  "mappings": "AAAA;AAIO,MAAM,eAAe,cAAsB;",
6
6
  "names": []
@@ -15,7 +15,6 @@ const ThemeInverse = /* @__PURE__ */ __name((props) => {
15
15
  const themeName = useThemeName();
16
16
  const defaultTheme = useDefaultThemeName();
17
17
  const name = inversions[themeName] || inversions[defaultTheme] || null;
18
- console.log("todo fixme invert", { themeName, defaultTheme, next: name });
19
18
  return /* @__PURE__ */ React.createElement(Theme, {
20
19
  name
21
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 console.log('todo fixme invert', { themeName, defaultTheme, next: name })\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,UAAQ,IAAI,qBAAqB,EAAE,WAAW,cAAc,MAAM;AAClE,SAAO,oCAAC,OAAD;AAAA,IAAO;AAAA,KAAa,MAAM;AAAA,GALP;",
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;",
6
6
  "names": []
7
7
  }
@@ -4,16 +4,22 @@ import { createContext } from "react";
4
4
  class ThemeManager {
5
5
  constructor() {
6
6
  this.name = "light";
7
+ this.parentName = null;
7
8
  this.keys = new Map();
8
9
  this.listeners = new Map();
9
- this.callbacks = new Set();
10
+ this.themeListeners = new Set();
10
11
  this.theme = null;
11
12
  }
12
- setActiveTheme(name, theme) {
13
+ setActiveTheme({
14
+ name,
15
+ theme,
16
+ parentName
17
+ }) {
13
18
  if (name === this.name)
14
19
  return;
15
20
  this.name = name;
16
21
  this.theme = theme;
22
+ this.parentName = parentName || null;
17
23
  this.update();
18
24
  }
19
25
  track(uuid, keys) {
@@ -22,20 +28,21 @@ class ThemeManager {
22
28
  this.keys.set(uuid, keys);
23
29
  }
24
30
  update() {
31
+ var _a;
25
32
  if (!this.name) {
26
33
  this.keys.clear();
27
34
  }
28
35
  for (const [uuid, keys] of this.keys.entries()) {
29
36
  if (keys.size) {
30
- this.listeners.get(uuid)?.();
37
+ (_a = this.listeners.get(uuid)) == null ? void 0 : _a();
31
38
  }
32
39
  }
33
- this.callbacks.forEach((cb) => cb(this.name));
40
+ this.themeListeners.forEach((cb) => cb(this.name, this));
34
41
  }
35
42
  onChangeTheme(cb) {
36
- this.callbacks.add(cb);
43
+ this.themeListeners.add(cb);
37
44
  return () => {
38
- this.callbacks.delete(cb);
45
+ this.themeListeners.delete(cb);
39
46
  };
40
47
  }
41
48
  onUpdate(uuid, cb) {
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/ThemeManagerContext.tsx"],
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;AAjCX;AAkCI,QAAI,CAAC,KAAK,MAAM;AACd,WAAK,KAAK;AAAA;AAEZ,eAAW,CAAC,MAAM,SAAS,KAAK,KAAK,WAAW;AAC9C,UAAI,KAAK,MAAM;AACb,mBAAK,UAAU,IAAI,UAAnB;AAAA;AAAA;AAGJ,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;",
6
+ "names": []
7
+ }
@@ -22,17 +22,17 @@ const ThemeProvider = /* @__PURE__ */ __name((props) => {
22
22
  };
23
23
  }
24
24
  }, []);
25
+ const themeContext = useMemo(() => {
26
+ return new Proxy(props.themes, {
27
+ get(target, key) {
28
+ if (key === GET_DEFAULT_THEME)
29
+ return props.defaultTheme;
30
+ return Reflect.get(target, key);
31
+ }
32
+ });
33
+ }, [props.themes]);
25
34
  return /* @__PURE__ */ React.createElement(ThemeContext.Provider, {
26
- value: useMemo(() => {
27
- console.log("wut are", props.themes);
28
- return new Proxy(props.themes, {
29
- get(target, key) {
30
- if (key === GET_DEFAULT_THEME)
31
- return props.defaultTheme;
32
- return Reflect.get(target, key);
33
- }
34
- });
35
- }, [props.themes])
35
+ value: themeContext
36
36
  }, /* @__PURE__ */ React.createElement(Theme, {
37
37
  name: props.defaultTheme,
38
38
  disableThemeClass: props.disableRootThemeClass
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/ThemeProvider.tsx"],
4
+ "sourcesContent": ["import React, { useMemo } from 'react'\n\nimport { useIsomorphicLayoutEffect } from '../constants/platform'\nimport { getHasConfigured, getThemeParentClassName } from '../createTamagui'\nimport { Theme } from './Theme'\nimport { ThemeContext } from './ThemeContext'\n\nexport type ThemeProviderProps = {\n themes: any\n defaultTheme: string\n disableRootThemeClass?: boolean\n children?: any\n}\n\nexport const GET_DEFAULT_THEME = '___TGUI'\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 useIsomorphicLayoutEffect(() => {\n if (props.disableRootThemeClass) {\n return\n }\n if (typeof document !== 'undefined') {\n const cns = getThemeParentClassName(`${props.defaultTheme}`).split(' ')\n cns.forEach((cn) => document.body.classList.add(cn))\n return () => {\n cns.forEach((cn) => document.body.classList.remove(cn))\n }\n }\n }, [])\n\n const themeContext = useMemo(() => {\n return new Proxy(props.themes, {\n get(target, key) {\n if (key === GET_DEFAULT_THEME) return props.defaultTheme\n return Reflect.get(target, key)\n },\n })\n }, [props.themes])\n\n return (\n <ThemeContext.Provider value={themeContext}>\n <Theme name={props.defaultTheme} disableThemeClass={props.disableRootThemeClass}>\n {props.children}\n </Theme>\n </ThemeContext.Provider>\n )\n}\n"],
5
+ "mappings": ";;AAAA;AAEA;AACA;AACA;AACA;AASO,MAAM,oBAAoB;AAE1B,MAAM,gBAAgB,wBAAC,UAA8B;AAC1D,MAAI,CAAC,oBAAoB;AACvB,UAAM,IAAI,MAAM;AAAA;AAIlB,4BAA0B,MAAM;AAC9B,QAAI,MAAM,uBAAuB;AAC/B;AAAA;AAEF,QAAI,OAAO,aAAa,aAAa;AACnC,YAAM,MAAM,wBAAwB,GAAG,MAAM,gBAAgB,MAAM;AACnE,UAAI,QAAQ,CAAC,OAAO,SAAS,KAAK,UAAU,IAAI;AAChD,aAAO,MAAM;AACX,YAAI,QAAQ,CAAC,OAAO,SAAS,KAAK,UAAU,OAAO;AAAA;AAAA;AAAA,KAGtD;AAEH,QAAM,eAAe,QAAQ,MAAM;AACjC,WAAO,IAAI,MAAM,MAAM,QAAQ;AAAA,MAC7B,IAAI,QAAQ,KAAK;AACf,YAAI,QAAQ;AAAmB,iBAAO,MAAM;AAC5C,eAAO,QAAQ,IAAI,QAAQ;AAAA;AAAA;AAAA,KAG9B,CAAC,MAAM;AAEV,SACE,oCAAC,aAAa,UAAd;AAAA,IAAuB,OAAO;AAAA,KAC5B,oCAAC,OAAD;AAAA,IAAO,MAAM,MAAM;AAAA,IAAc,mBAAmB,MAAM;AAAA,KACvD,MAAM;AAAA,GA/Bc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,13 @@
1
+ import { isWeb } from "./platform";
2
+ const stackDefaultStyles = {
3
+ alignItems: "stretch",
4
+ flexShrink: 0,
5
+ ...isWeb && {
6
+ display: "flex",
7
+ flexBasis: "auto",
8
+ boxSizing: "border-box"
9
+ }
10
+ };
11
+ export {
12
+ stackDefaultStyles
13
+ };
@@ -0,0 +1,19 @@
1
+ var _a;
2
+ import { useEffect, useLayoutEffect } from "react";
3
+ import { Platform } from "react-native";
4
+ const isWeb = process.env.TAMAGUI_TARGET === "web" ? true : ((_a = Platform) == null ? void 0 : _a.OS) === "web";
5
+ const isSSR = isWeb && typeof window === "undefined";
6
+ const useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect;
7
+ const isChrome = typeof navigator !== "undefined" && /Chrome/.test(navigator.userAgent || "");
8
+ const supportsTouchWeb = typeof window !== "undefined" && "ontouchstart" in window;
9
+ const isTouchDevice = !isWeb || supportsTouchWeb;
10
+ const isWebIOS = isWeb && typeof navigator !== "undefined" && (/iPad|iPhone|iPod/.test(navigator.platform) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1) && !window["MSStream"];
11
+ export {
12
+ isChrome,
13
+ isSSR,
14
+ isTouchDevice,
15
+ isWeb,
16
+ isWebIOS,
17
+ supportsTouchWeb,
18
+ useIsomorphicLayoutEffect
19
+ };
@@ -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,21 @@
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 createCompileableStyle = require("react-native-web/dist/cjs/exports/StyleSheet/createCompileableStyle");
7
+ const createReactDOMStyle = require("react-native-web/dist/cjs/exports/StyleSheet/createReactDOMStyle");
8
+ const i18Style = require("react-native-web/dist/cjs/exports/StyleSheet/i18nStyle");
9
+ const atomic = require("react-native-web/dist/cjs/exports/StyleSheet/compile").atomic;
10
+ Object.assign(rnw, {
11
+ createCompileableStyle,
12
+ createReactDOMStyle,
13
+ i18Style,
14
+ atomic
15
+ });
16
+ } else if (process.env.TAMAGUI_TARGET === "web") {
17
+ Object.assign(rnw, interopRequire(require("react-native-web").TamaguiExports));
18
+ }
19
+ export {
20
+ rnw
21
+ };