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

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 (622) hide show
  1. package/dist/cjs/Tamagui.js +52 -0
  2. package/dist/cjs/Tamagui.js.map +7 -0
  3. package/dist/cjs/ThemeContext.js +25 -0
  4. package/dist/cjs/ThemeContext.js.map +7 -0
  5. package/dist/cjs/ThemeManager.js +181 -0
  6. package/dist/cjs/ThemeManager.js.map +7 -0
  7. package/dist/cjs/conf.js +55 -0
  8. package/dist/cjs/conf.js.map +7 -0
  9. package/dist/cjs/constants/constants.js +15 -15
  10. package/dist/cjs/constants/constants.js.map +2 -2
  11. package/dist/cjs/constants/platform.js +18 -18
  12. package/dist/cjs/constants/platform.js.map +2 -2
  13. package/dist/cjs/constants/rnw.js +17 -3
  14. package/dist/cjs/constants/rnw.js.map +2 -2
  15. package/dist/cjs/contexts/ButtonInsideButtonContext.js +25 -0
  16. package/dist/cjs/contexts/ButtonInsideButtonContext.js.map +7 -0
  17. package/dist/cjs/createComponent.js +344 -206
  18. package/dist/cjs/createComponent.js.map +2 -2
  19. package/dist/cjs/createFont.js +11 -15
  20. package/dist/cjs/createFont.js.map +1 -1
  21. package/dist/cjs/createShorthands.js +15 -3
  22. package/dist/cjs/createShorthands.js.map +1 -1
  23. package/dist/cjs/createTamagui.js +109 -104
  24. package/dist/cjs/createTamagui.js.map +2 -2
  25. package/dist/cjs/createTheme.js +11 -28
  26. package/dist/cjs/createTheme.js.map +2 -2
  27. package/dist/cjs/createTokens.js +12 -16
  28. package/dist/cjs/createTokens.js.map +1 -1
  29. package/dist/cjs/createVariable.js +33 -19
  30. package/dist/cjs/createVariable.js.map +2 -2
  31. package/dist/cjs/defaultComponentState.js +31 -0
  32. package/dist/cjs/defaultComponentState.js.map +7 -0
  33. package/dist/cjs/devtools.js +34 -0
  34. package/dist/cjs/devtools.js.map +7 -0
  35. package/dist/cjs/helpers/addStylesUsingClassname.js +29 -29
  36. package/dist/cjs/helpers/addStylesUsingClassname.js.map +2 -2
  37. package/dist/cjs/helpers/areEqualSets.js +34 -0
  38. package/dist/cjs/helpers/areEqualSets.js.map +7 -0
  39. package/dist/cjs/helpers/createMediaStyle.js +11 -15
  40. package/dist/cjs/helpers/createMediaStyle.js.map +1 -1
  41. package/dist/cjs/helpers/createPropMapper.js +151 -115
  42. package/dist/cjs/helpers/createPropMapper.js.map +2 -2
  43. package/dist/cjs/helpers/createTamaguiProvider.js +42 -23
  44. package/dist/cjs/helpers/createTamaguiProvider.js.map +2 -2
  45. package/dist/cjs/helpers/extendStaticConfig.js +23 -26
  46. package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
  47. package/dist/cjs/helpers/fixNativeShadow.js +15 -3
  48. package/dist/cjs/helpers/fixNativeShadow.js.map +1 -1
  49. package/dist/cjs/helpers/fixNativeShadow.native.js +38 -22
  50. package/dist/cjs/helpers/fixNativeShadow.native.js.map +2 -2
  51. package/dist/cjs/helpers/getExpandedShorthands.js +37 -0
  52. package/dist/cjs/helpers/getExpandedShorthands.js.map +7 -0
  53. package/dist/cjs/helpers/getSplitStyles.js +175 -98
  54. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  55. package/dist/cjs/helpers/getStylesAtomic.js +98 -56
  56. package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
  57. package/dist/cjs/helpers/getStylesAtomic.native.js +15 -3
  58. package/dist/cjs/helpers/getStylesAtomic.native.js.map +1 -1
  59. package/dist/cjs/helpers/insertStyleRule.js +77 -23
  60. package/dist/cjs/helpers/insertStyleRule.js.map +2 -2
  61. package/dist/cjs/helpers/isObj.js +15 -3
  62. package/dist/cjs/helpers/isObj.js.map +1 -1
  63. package/dist/cjs/helpers/isTamaguiElement.js +11 -15
  64. package/dist/cjs/helpers/isTamaguiElement.js.map +1 -1
  65. package/dist/cjs/helpers/matchMedia.js +15 -3
  66. package/dist/cjs/helpers/matchMedia.js.map +1 -1
  67. package/dist/cjs/helpers/matchMedia.native.js +12 -13
  68. package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
  69. package/dist/cjs/helpers/themeable.js +24 -24
  70. package/dist/cjs/helpers/themeable.js.map +2 -2
  71. package/dist/cjs/helpers/validate.js +46 -47
  72. package/dist/cjs/helpers/validate.js.map +2 -2
  73. package/dist/cjs/helpers/withStaticProperties.js +28 -0
  74. package/dist/cjs/helpers/withStaticProperties.js.map +7 -0
  75. package/dist/cjs/helpers/wrapThemeManagerContext.js +35 -0
  76. package/dist/cjs/helpers/wrapThemeManagerContext.js.map +7 -0
  77. package/dist/cjs/hooks/useConstant.js +11 -15
  78. package/dist/cjs/hooks/useConstant.js.map +1 -1
  79. package/dist/cjs/hooks/useFeatures.js +55 -16
  80. package/dist/cjs/hooks/useFeatures.js.map +2 -2
  81. package/dist/cjs/hooks/useIsMounted.js +37 -0
  82. package/dist/cjs/hooks/useIsMounted.js.map +7 -0
  83. package/dist/cjs/hooks/useIsTouchDevice.js +35 -0
  84. package/dist/cjs/hooks/useIsTouchDevice.js.map +7 -0
  85. package/dist/cjs/hooks/useMedia.js +25 -23
  86. package/dist/cjs/hooks/useMedia.js.map +2 -2
  87. package/dist/cjs/hooks/usePressable.js +11 -15
  88. package/dist/cjs/hooks/usePressable.js.map +1 -1
  89. package/dist/cjs/hooks/useTheme.js +162 -67
  90. package/dist/cjs/hooks/useTheme.js.map +2 -2
  91. package/dist/cjs/hooks/useUnmountEffect.js +29 -0
  92. package/dist/cjs/hooks/useUnmountEffect.js.map +7 -0
  93. package/dist/cjs/index.js +56 -43
  94. package/dist/cjs/index.js.map +2 -2
  95. package/dist/cjs/spacedChildren.js +86 -0
  96. package/dist/cjs/spacedChildren.js.map +7 -0
  97. package/dist/cjs/static.js +23 -27
  98. package/dist/cjs/static.js.map +2 -2
  99. package/dist/cjs/styled.js +45 -16
  100. package/dist/cjs/styled.js.map +3 -3
  101. package/dist/cjs/types-rnw.js +16 -0
  102. package/dist/cjs/types-rnw.js.map +7 -0
  103. package/dist/cjs/types.js +14 -2
  104. package/dist/cjs/types.js.map +2 -2
  105. package/dist/cjs/views/Stack.js +12 -16
  106. package/dist/cjs/views/Stack.js.map +2 -2
  107. package/dist/cjs/views/Text.js +18 -21
  108. package/dist/cjs/views/Text.js.map +2 -2
  109. package/dist/cjs/views/TextAncestorContext.js +19 -21
  110. package/dist/cjs/views/TextAncestorContext.js.map +2 -2
  111. package/dist/cjs/views/Theme.js +33 -56
  112. package/dist/cjs/views/Theme.js.map +2 -2
  113. package/dist/cjs/views/ThemeInverse.js +15 -16
  114. package/dist/cjs/views/ThemeInverse.js.map +2 -2
  115. package/dist/cjs/views/ThemeProvider.js +32 -37
  116. package/dist/cjs/views/ThemeProvider.js.map +2 -2
  117. package/dist/cjs/views/ThemeReset.js +59 -0
  118. package/dist/cjs/views/ThemeReset.js.map +7 -0
  119. package/dist/esm/Tamagui.js +34 -0
  120. package/dist/esm/Tamagui.js.map +7 -0
  121. package/dist/{views → esm}/ThemeContext.js +0 -0
  122. package/dist/esm/ThemeContext.js.map +7 -0
  123. package/dist/esm/ThemeManager.js +179 -0
  124. package/dist/esm/ThemeManager.js.map +7 -0
  125. package/dist/esm/conf.js +37 -0
  126. package/dist/esm/conf.js.map +7 -0
  127. package/dist/{constants → esm/constants}/constants.js +4 -0
  128. package/dist/esm/constants/constants.js.map +7 -0
  129. package/dist/{constants → esm/constants}/platform.js +6 -1
  130. package/dist/esm/constants/platform.js.map +7 -0
  131. package/dist/{constants → esm/constants}/pseudos.js +0 -0
  132. package/dist/{constants → esm/constants}/pseudos.js.map +2 -2
  133. package/dist/{constants → esm/constants}/rnw.js +2 -0
  134. package/dist/esm/constants/rnw.js.map +7 -0
  135. package/dist/esm/contexts/ButtonInsideButtonContext.js +6 -0
  136. package/dist/esm/contexts/ButtonInsideButtonContext.js.map +7 -0
  137. package/dist/esm/createComponent.js +611 -0
  138. package/dist/esm/createComponent.js.map +7 -0
  139. package/dist/{createFont.js → esm/createFont.js} +0 -0
  140. package/dist/{createFont.js.map → esm/createFont.js.map} +2 -2
  141. package/dist/{createShorthands.js → esm/createShorthands.js} +0 -0
  142. package/dist/{createShorthands.js.map → esm/createShorthands.js.map} +2 -2
  143. package/dist/esm/createTamagui.js +177 -0
  144. package/dist/esm/createTamagui.js.map +7 -0
  145. package/dist/esm/createTheme.js +7 -0
  146. package/dist/esm/createTheme.js.map +7 -0
  147. package/dist/{createTokens.js → esm/createTokens.js} +0 -0
  148. package/dist/{createTokens.js.map → esm/createTokens.js.map} +2 -2
  149. package/dist/esm/createVariable.js +43 -0
  150. package/dist/esm/createVariable.js.map +7 -0
  151. package/dist/esm/defaultComponentState.js +12 -0
  152. package/dist/esm/defaultComponentState.js.map +7 -0
  153. package/dist/esm/devtools.js +16 -0
  154. package/dist/esm/devtools.js.map +7 -0
  155. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js +16 -12
  156. package/dist/esm/helpers/addStylesUsingClassname.js.map +7 -0
  157. package/dist/esm/helpers/areEqualSets.js +16 -0
  158. package/dist/esm/helpers/areEqualSets.js.map +7 -0
  159. package/dist/{helpers → esm/helpers}/createMediaStyle.js +0 -0
  160. package/dist/{helpers → esm/helpers}/createMediaStyle.js.map +2 -2
  161. package/dist/esm/helpers/createPropMapper.js +208 -0
  162. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  163. package/dist/esm/helpers/createTamaguiProvider.js +43 -0
  164. package/dist/esm/helpers/createTamaguiProvider.js.map +7 -0
  165. package/dist/{helpers → esm/helpers}/extendStaticConfig.js +14 -14
  166. package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
  167. package/dist/{helpers → esm/helpers}/fixNativeShadow.js +0 -0
  168. package/dist/{helpers → esm/helpers}/fixNativeShadow.js.map +2 -2
  169. package/dist/esm/helpers/fixNativeShadow.native.js +34 -0
  170. package/dist/esm/helpers/fixNativeShadow.native.js.map +7 -0
  171. package/dist/esm/helpers/getExpandedShorthands.js +19 -0
  172. package/dist/esm/helpers/getExpandedShorthands.js.map +7 -0
  173. package/dist/esm/helpers/getSplitStyles.js +234 -0
  174. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  175. package/dist/esm/helpers/getStylesAtomic.js +118 -0
  176. package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
  177. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js +0 -0
  178. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js.map +2 -2
  179. package/dist/esm/helpers/insertStyleRule.js +82 -0
  180. package/dist/esm/helpers/insertStyleRule.js.map +7 -0
  181. package/dist/{helpers → esm/helpers}/isObj.js +0 -0
  182. package/dist/{helpers → esm/helpers}/isObj.js.map +2 -2
  183. package/dist/{helpers → esm/helpers}/isTamaguiElement.js +2 -1
  184. package/dist/{helpers → esm/helpers}/isTamaguiElement.js.map +2 -2
  185. package/dist/{helpers → esm/helpers}/matchMedia.js +0 -0
  186. package/dist/{helpers → esm/helpers}/matchMedia.js.map +2 -2
  187. package/dist/{helpers → esm/helpers}/matchMedia.native.js +0 -0
  188. package/dist/{helpers → esm/helpers}/matchMedia.native.js.map +2 -2
  189. package/dist/{helpers → esm/helpers}/themeable.js +11 -10
  190. package/dist/esm/helpers/themeable.js.map +7 -0
  191. package/dist/esm/helpers/validate.js +63 -0
  192. package/dist/esm/helpers/validate.js.map +7 -0
  193. package/dist/esm/helpers/withStaticProperties.js +10 -0
  194. package/dist/esm/helpers/withStaticProperties.js.map +7 -0
  195. package/dist/esm/helpers/wrapThemeManagerContext.js +14 -0
  196. package/dist/esm/helpers/wrapThemeManagerContext.js.map +7 -0
  197. package/dist/{hooks → esm/hooks}/useConstant.js +0 -0
  198. package/dist/{hooks → esm/hooks}/useConstant.js.map +2 -2
  199. package/dist/{hooks → esm/hooks}/useFeatures.js +31 -0
  200. package/dist/esm/hooks/useFeatures.js.map +7 -0
  201. package/dist/esm/hooks/useIsMounted.js +19 -0
  202. package/dist/esm/hooks/useIsMounted.js.map +7 -0
  203. package/dist/esm/hooks/useIsTouchDevice.js +17 -0
  204. package/dist/esm/hooks/useIsTouchDevice.js.map +7 -0
  205. package/dist/{hooks → esm/hooks}/useMedia.js +13 -6
  206. package/dist/esm/hooks/useMedia.js.map +7 -0
  207. package/dist/{hooks → esm/hooks}/usePressable.js +2 -1
  208. package/dist/{hooks → esm/hooks}/usePressable.js.map +2 -2
  209. package/dist/esm/hooks/useTheme.js +173 -0
  210. package/dist/esm/hooks/useTheme.js.map +7 -0
  211. package/dist/esm/hooks/useUnmountEffect.js +11 -0
  212. package/dist/esm/hooks/useUnmountEffect.js.map +7 -0
  213. package/dist/{index.js → esm/index.js} +21 -5
  214. package/dist/esm/index.js.map +7 -0
  215. package/dist/esm/spacedChildren.js +52 -0
  216. package/dist/esm/spacedChildren.js.map +7 -0
  217. package/dist/{static.js → esm/static.js} +1 -2
  218. package/dist/{static.js.map → esm/static.js.map} +3 -3
  219. package/dist/esm/styled.js +53 -0
  220. package/dist/esm/styled.js.map +7 -0
  221. package/dist/esm/tamagui-base.css +8 -0
  222. package/dist/esm/tamagui-base.css.map +7 -0
  223. package/dist/esm/types-rnw.js +1 -0
  224. package/dist/{helpers/pseudos.js.map → esm/types-rnw.js.map} +0 -0
  225. package/dist/{types.js → esm/types.js} +0 -0
  226. package/dist/{types.js.map → esm/types.js.map} +0 -0
  227. package/dist/{views → esm/views}/Stack.js +0 -0
  228. package/dist/esm/views/Stack.js.map +7 -0
  229. package/dist/{views → esm/views}/Text.js +5 -4
  230. package/dist/esm/views/Text.js.map +7 -0
  231. package/dist/esm/views/TextAncestorContext.js +18 -0
  232. package/dist/esm/views/TextAncestorContext.js.map +7 -0
  233. package/dist/esm/views/Theme.js +44 -0
  234. package/dist/esm/views/Theme.js.map +7 -0
  235. package/dist/{views → esm/views}/ThemeInverse.js +1 -1
  236. package/dist/{views → esm/views}/ThemeInverse.js.map +3 -3
  237. package/dist/esm/views/ThemeProvider.js +41 -0
  238. package/dist/esm/views/ThemeProvider.js.map +7 -0
  239. package/dist/esm/views/ThemeReset.js +38 -0
  240. package/dist/esm/views/ThemeReset.js.map +7 -0
  241. package/dist/jsx/Tamagui.js +33 -0
  242. package/dist/jsx/ThemeContext.js +5 -0
  243. package/dist/jsx/ThemeManager.js +178 -0
  244. package/dist/jsx/conf.js +36 -0
  245. package/dist/jsx/constants/constants.js +17 -0
  246. package/dist/jsx/constants/platform.js +23 -0
  247. package/dist/jsx/constants/pseudos.js +17 -0
  248. package/dist/jsx/constants/rnw.js +23 -0
  249. package/dist/jsx/contexts/ButtonInsideButtonContext.js +5 -0
  250. package/dist/jsx/createComponent.js +598 -0
  251. package/dist/jsx/createFont.js +27 -0
  252. package/dist/jsx/createShorthands.js +9 -0
  253. package/dist/jsx/createTamagui.js +176 -0
  254. package/dist/jsx/createTheme.js +6 -0
  255. package/dist/jsx/createTokens.js +32 -0
  256. package/dist/jsx/createVariable.js +42 -0
  257. package/dist/jsx/defaultComponentState.js +11 -0
  258. package/dist/jsx/devtools.js +15 -0
  259. package/dist/jsx/helpers/addStylesUsingClassname.js +60 -0
  260. package/dist/jsx/helpers/areEqualSets.js +15 -0
  261. package/dist/jsx/helpers/createMediaStyle.js +33 -0
  262. package/dist/jsx/helpers/createPropMapper.js +207 -0
  263. package/dist/jsx/helpers/createTamaguiProvider.js +35 -0
  264. package/dist/jsx/helpers/extendStaticConfig.js +58 -0
  265. package/dist/jsx/helpers/fixNativeShadow.js +7 -0
  266. package/dist/jsx/helpers/fixNativeShadow.native.js +33 -0
  267. package/dist/jsx/helpers/getExpandedShorthands.js +18 -0
  268. package/dist/jsx/helpers/getSplitStyles.js +233 -0
  269. package/dist/jsx/helpers/getStylesAtomic.js +117 -0
  270. package/dist/jsx/helpers/getStylesAtomic.native.js +9 -0
  271. package/dist/jsx/helpers/insertStyleRule.js +81 -0
  272. package/dist/jsx/helpers/isObj.js +6 -0
  273. package/dist/jsx/helpers/isTamaguiElement.js +10 -0
  274. package/dist/jsx/helpers/matchMedia.js +17 -0
  275. package/dist/jsx/helpers/matchMedia.native.js +8 -0
  276. package/dist/jsx/helpers/themeable.js +24 -0
  277. package/dist/jsx/helpers/validate.js +62 -0
  278. package/dist/jsx/helpers/withStaticProperties.js +9 -0
  279. package/dist/jsx/helpers/wrapThemeManagerContext.js +10 -0
  280. package/dist/jsx/hooks/useConstant.js +14 -0
  281. package/dist/jsx/hooks/useFeatures.js +88 -0
  282. package/dist/jsx/hooks/useIsMounted.js +18 -0
  283. package/dist/jsx/hooks/useIsTouchDevice.js +16 -0
  284. package/dist/jsx/hooks/useMedia.js +177 -0
  285. package/dist/jsx/hooks/usePressable.js +13 -0
  286. package/dist/jsx/hooks/useTheme.js +172 -0
  287. package/dist/jsx/hooks/useUnmountEffect.js +10 -0
  288. package/dist/jsx/index.js +47 -0
  289. package/dist/jsx/spacedChildren.js +44 -0
  290. package/dist/jsx/static.js +13 -0
  291. package/dist/jsx/styled.js +52 -0
  292. package/dist/jsx/tamagui-base.css +7 -0
  293. package/dist/jsx/types-rnw.js +0 -0
  294. package/dist/jsx/types.js +0 -0
  295. package/dist/jsx/views/Stack.js +11 -0
  296. package/dist/jsx/views/Text.js +60 -0
  297. package/dist/jsx/views/TextAncestorContext.js +15 -0
  298. package/dist/jsx/views/Theme.js +40 -0
  299. package/dist/jsx/views/ThemeInverse.js +22 -0
  300. package/dist/jsx/views/ThemeProvider.js +35 -0
  301. package/dist/jsx/views/ThemeReset.js +34 -0
  302. package/package.json +22 -20
  303. package/types/Tamagui.d.ts +13 -0
  304. package/types/Tamagui.d.ts.map +1 -0
  305. package/types/ThemeContext.d.ts +7 -0
  306. package/types/ThemeContext.d.ts.map +1 -0
  307. package/types/ThemeManager.d.ts +49 -0
  308. package/types/ThemeManager.d.ts.map +1 -0
  309. package/types/conf.d.ts +25 -0
  310. package/types/conf.d.ts.map +1 -0
  311. package/{dist/packages/core/src → types}/constants/constants.d.ts +2 -0
  312. package/types/constants/constants.d.ts.map +1 -0
  313. package/{dist/packages/core/src → types}/constants/platform.d.ts +2 -0
  314. package/types/constants/platform.d.ts.map +1 -0
  315. package/{dist/packages/core/src → types}/constants/rnw.d.ts +0 -0
  316. package/types/constants/rnw.d.ts.map +1 -0
  317. package/types/contexts/ButtonInsideButtonContext.d.ts +3 -0
  318. package/types/contexts/ButtonInsideButtonContext.d.ts.map +1 -0
  319. package/types/createComponent.d.ts +21 -0
  320. package/types/createComponent.d.ts.map +1 -0
  321. package/types/createFont.d.ts +3 -0
  322. package/types/createFont.d.ts.map +1 -0
  323. package/{dist/packages/core/src → types}/createShorthands.d.ts +0 -0
  324. package/types/createShorthands.d.ts.map +1 -0
  325. package/types/createTamagui.d.ts +16 -0
  326. package/types/createTamagui.d.ts.map +1 -0
  327. package/types/createTheme.d.ts +7 -0
  328. package/types/createTheme.d.ts.map +1 -0
  329. package/{dist/packages/core/src → types}/createTokens.d.ts +24 -14
  330. package/types/createTokens.d.ts.map +1 -0
  331. package/{dist/packages/core/src → types}/createVariable.d.ts +6 -1
  332. package/types/createVariable.d.ts.map +1 -0
  333. package/types/defaultComponentState.d.ts +13 -0
  334. package/types/defaultComponentState.d.ts.map +1 -0
  335. package/types/devtools.d.ts.map +1 -0
  336. package/types/helpers/addStylesUsingClassname.d.ts +3 -0
  337. package/types/helpers/addStylesUsingClassname.d.ts.map +1 -0
  338. package/types/helpers/areEqualSets.d.ts +2 -0
  339. package/types/helpers/areEqualSets.d.ts.map +1 -0
  340. package/{dist/packages/core/src → types}/helpers/createMediaStyle.d.ts +0 -0
  341. package/types/helpers/createMediaStyle.d.ts.map +1 -0
  342. package/types/helpers/createPropMapper.d.ts +4 -0
  343. package/types/helpers/createPropMapper.d.ts.map +1 -0
  344. package/types/helpers/createTamaguiProvider.d.ts +7 -0
  345. package/types/helpers/createTamaguiProvider.d.ts.map +1 -0
  346. package/types/helpers/extendStaticConfig.d.ts +4 -0
  347. package/types/helpers/extendStaticConfig.d.ts.map +1 -0
  348. package/{dist/packages/core/src → types}/helpers/fixNativeShadow.d.ts +0 -0
  349. package/types/helpers/fixNativeShadow.d.ts.map +1 -0
  350. package/types/helpers/fixNativeShadow.native.d.ts +2 -0
  351. package/types/helpers/fixNativeShadow.native.d.ts.map +1 -0
  352. package/types/helpers/getExpandedShorthands.d.ts +3 -0
  353. package/types/helpers/getExpandedShorthands.d.ts.map +1 -0
  354. package/types/helpers/getSplitStyles.d.ts +27 -0
  355. package/types/helpers/getSplitStyles.d.ts.map +1 -0
  356. package/types/helpers/getStylesAtomic.d.ts +27 -0
  357. package/types/helpers/getStylesAtomic.d.ts.map +1 -0
  358. package/{dist/packages/core/src → types}/helpers/getStylesAtomic.native.d.ts +0 -0
  359. package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
  360. package/types/helpers/insertStyleRule.d.ts +7 -0
  361. package/types/helpers/insertStyleRule.d.ts.map +1 -0
  362. package/types/helpers/isObj.d.ts +2 -0
  363. package/types/helpers/isObj.d.ts.map +1 -0
  364. package/types/helpers/isTamaguiElement.d.ts +3 -0
  365. package/types/helpers/isTamaguiElement.d.ts.map +1 -0
  366. package/{dist/packages/core/src → types}/helpers/matchMedia.d.ts +0 -0
  367. package/types/helpers/matchMedia.d.ts.map +1 -0
  368. package/{dist/packages/core/src → types}/helpers/matchMedia.native.d.ts +0 -0
  369. package/types/helpers/matchMedia.native.d.ts.map +1 -0
  370. package/types/helpers/themeable.d.ts +10 -0
  371. package/types/helpers/themeable.d.ts.map +1 -0
  372. package/types/helpers/validate.d.ts +4 -0
  373. package/types/helpers/validate.d.ts.map +1 -0
  374. package/types/helpers/withStaticProperties.d.ts +2 -0
  375. package/types/helpers/withStaticProperties.d.ts.map +1 -0
  376. package/types/helpers/wrapThemeManagerContext.d.ts +3 -0
  377. package/types/helpers/wrapThemeManagerContext.d.ts.map +1 -0
  378. package/{dist/packages/core/src → types}/hooks/useConstant.d.ts +0 -0
  379. package/types/hooks/useConstant.d.ts.map +1 -0
  380. package/types/hooks/useFeatures.d.ts +16 -0
  381. package/types/hooks/useFeatures.d.ts.map +1 -0
  382. package/types/hooks/useIsMounted.d.ts +3 -0
  383. package/types/hooks/useIsMounted.d.ts.map +1 -0
  384. package/types/hooks/useIsTouchDevice.d.ts +2 -0
  385. package/types/hooks/useIsTouchDevice.d.ts.map +1 -0
  386. package/{dist/packages/core/src → types}/hooks/useMedia.d.ts +0 -0
  387. package/types/hooks/useMedia.d.ts.map +1 -0
  388. package/{dist/packages/core/src → types}/hooks/usePressable.d.ts +0 -0
  389. package/types/hooks/usePressable.d.ts.map +1 -0
  390. package/types/hooks/useTheme.d.ts +36 -0
  391. package/types/hooks/useTheme.d.ts.map +1 -0
  392. package/types/hooks/useUnmountEffect.d.ts +2 -0
  393. package/types/hooks/useUnmountEffect.d.ts.map +1 -0
  394. package/{dist/packages/core/src → types}/index.d.ts +16 -3
  395. package/types/index.d.ts.map +1 -0
  396. package/types/spacedChildren.d.ts +9 -0
  397. package/types/spacedChildren.d.ts.map +1 -0
  398. package/{dist/packages/core/src → types}/static.d.ts +4 -2
  399. package/types/static.d.ts.map +1 -0
  400. package/types/styled.d.ts +11 -0
  401. package/types/styled.d.ts.map +1 -0
  402. package/types/types-rnw.d.ts +79 -0
  403. package/types/types-rnw.d.ts.map +1 -0
  404. package/types/types.d.ts +366 -0
  405. package/types/types.d.ts.map +1 -0
  406. package/types/views/Stack.d.ts +4 -0
  407. package/types/views/Stack.d.ts.map +1 -0
  408. package/types/views/Text.d.ts +4 -0
  409. package/types/views/Text.d.ts.map +1 -0
  410. package/types/views/TextAncestorContext.d.ts +5 -0
  411. package/types/views/TextAncestorContext.d.ts.map +1 -0
  412. package/types/views/Theme.d.ts +11 -0
  413. package/types/views/Theme.d.ts.map +1 -0
  414. package/{dist/packages/core/src → types}/views/ThemeInverse.d.ts +0 -0
  415. package/types/views/ThemeInverse.d.ts.map +1 -0
  416. package/{dist/packages/core/src → types}/views/ThemeProvider.d.ts +0 -1
  417. package/types/views/ThemeProvider.d.ts.map +1 -0
  418. package/types/views/ThemeReset.d.ts +4 -0
  419. package/types/views/ThemeReset.d.ts.map +1 -0
  420. package/dist/cjs/constants/pseudos.js +0 -25
  421. package/dist/cjs/constants/pseudos.js.map +0 -7
  422. package/dist/cjs/static/postProcessStyles.js +0 -40
  423. package/dist/cjs/static/postProcessStyles.js.map +0 -7
  424. package/dist/cjs/views/Animated.js +0 -129
  425. package/dist/cjs/views/Animated.js.map +0 -7
  426. package/dist/cjs/views/ThemeContext.js +0 -29
  427. package/dist/cjs/views/ThemeContext.js.map +0 -7
  428. package/dist/cjs/views/ThemeManagerContext.js +0 -84
  429. package/dist/cjs/views/ThemeManagerContext.js.map +0 -7
  430. package/dist/constants/constants.js.map +0 -7
  431. package/dist/constants/platform.js.map +0 -7
  432. package/dist/constants/rnw.js.map +0 -7
  433. package/dist/constants/styleConstants.js +0 -46
  434. package/dist/constants/styleConstants.js.map +0 -7
  435. package/dist/createComponent.js +0 -463
  436. package/dist/createComponent.js.map +0 -7
  437. package/dist/createTamagui.js +0 -168
  438. package/dist/createTamagui.js.map +0 -7
  439. package/dist/createTheme.js +0 -20
  440. package/dist/createTheme.js.map +0 -7
  441. package/dist/createVariable.js +0 -25
  442. package/dist/createVariable.js.map +0 -7
  443. package/dist/helpers/addStylesUsingClassname.js.map +0 -7
  444. package/dist/helpers/createPropMapper.js +0 -153
  445. package/dist/helpers/createPropMapper.js.map +0 -7
  446. package/dist/helpers/createTamaguiProvider.js +0 -25
  447. package/dist/helpers/createTamaguiProvider.js.map +0 -7
  448. package/dist/helpers/extendStaticConfig.js.map +0 -7
  449. package/dist/helpers/fixNativeShadow.native.js +0 -30
  450. package/dist/helpers/fixNativeShadow.native.js.map +0 -7
  451. package/dist/helpers/getSplitStyles.js +0 -150
  452. package/dist/helpers/getSplitStyles.js.map +0 -7
  453. package/dist/helpers/getStylesAtomic.js +0 -83
  454. package/dist/helpers/getStylesAtomic.js.map +0 -7
  455. package/dist/helpers/insertStyleRule.js +0 -24
  456. package/dist/helpers/insertStyleRule.js.map +0 -7
  457. package/dist/helpers/isComponent.js +0 -10
  458. package/dist/helpers/isComponent.js.map +0 -7
  459. package/dist/helpers/isTamaguiComponent.js +0 -10
  460. package/dist/helpers/isTamaguiComponent.js.map +0 -7
  461. package/dist/helpers/pseudos.js +0 -1
  462. package/dist/helpers/themeable.js.map +0 -7
  463. package/dist/helpers/validate.js +0 -60
  464. package/dist/helpers/validate.js.map +0 -7
  465. package/dist/helpers/validateConfig.js +0 -46
  466. package/dist/helpers/validateConfig.js.map +0 -7
  467. package/dist/helpers/validateTokens.js +0 -29
  468. package/dist/helpers/validateTokens.js.map +0 -7
  469. package/dist/hooks/useFeatures.js.map +0 -7
  470. package/dist/hooks/useForceUpdate.js +0 -28
  471. package/dist/hooks/useForceUpdate.js.map +0 -7
  472. package/dist/hooks/useMedia.js.map +0 -7
  473. package/dist/hooks/useTheme.js +0 -89
  474. package/dist/hooks/useTheme.js.map +0 -7
  475. package/dist/index.cjs +0 -2202
  476. package/dist/index.cjs.map +0 -7
  477. package/dist/index.js.map +0 -7
  478. package/dist/packages/core/src/constants/constants.d.ts.map +0 -1
  479. package/dist/packages/core/src/constants/platform.d.ts.map +0 -1
  480. package/dist/packages/core/src/constants/pseudos.d.ts +0 -15
  481. package/dist/packages/core/src/constants/pseudos.d.ts.map +0 -1
  482. package/dist/packages/core/src/constants/rnw.d.ts.map +0 -1
  483. package/dist/packages/core/src/createComponent.d.ts +0 -16
  484. package/dist/packages/core/src/createComponent.d.ts.map +0 -1
  485. package/dist/packages/core/src/createShorthands.d.ts.map +0 -1
  486. package/dist/packages/core/src/createTamagui.d.ts +0 -37
  487. package/dist/packages/core/src/createTamagui.d.ts.map +0 -1
  488. package/dist/packages/core/src/createTheme.d.ts +0 -5
  489. package/dist/packages/core/src/createTheme.d.ts.map +0 -1
  490. package/dist/packages/core/src/createTokens.d.ts.map +0 -1
  491. package/dist/packages/core/src/createVariable.d.ts.map +0 -1
  492. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts +0 -2
  493. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts.map +0 -1
  494. package/dist/packages/core/src/helpers/createMediaStyle.d.ts.map +0 -1
  495. package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts +0 -5
  496. package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts.map +0 -1
  497. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts +0 -5
  498. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts.map +0 -1
  499. package/dist/packages/core/src/helpers/fixNativeShadow.d.ts.map +0 -1
  500. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts +0 -2
  501. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts.map +0 -1
  502. package/dist/packages/core/src/helpers/getSplitStyles.d.ts +0 -15
  503. package/dist/packages/core/src/helpers/getSplitStyles.d.ts.map +0 -1
  504. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts +0 -3
  505. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts.map +0 -1
  506. package/dist/packages/core/src/helpers/getStylesAtomic.native.d.ts.map +0 -1
  507. package/dist/packages/core/src/helpers/insertStyleRule.d.ts +0 -2
  508. package/dist/packages/core/src/helpers/insertStyleRule.d.ts.map +0 -1
  509. package/dist/packages/core/src/helpers/matchMedia.d.ts.map +0 -1
  510. package/dist/packages/core/src/helpers/matchMedia.native.d.ts.map +0 -1
  511. package/dist/packages/core/src/helpers/themeable.d.ts +0 -10
  512. package/dist/packages/core/src/helpers/themeable.d.ts.map +0 -1
  513. package/dist/packages/core/src/hooks/useConstant.d.ts.map +0 -1
  514. package/dist/packages/core/src/hooks/useFeatures.d.ts +0 -5
  515. package/dist/packages/core/src/hooks/useFeatures.d.ts.map +0 -1
  516. package/dist/packages/core/src/hooks/useForceUpdate.d.ts +0 -2
  517. package/dist/packages/core/src/hooks/useForceUpdate.d.ts.map +0 -1
  518. package/dist/packages/core/src/hooks/useMedia.d.ts.map +0 -1
  519. package/dist/packages/core/src/hooks/usePressable.d.ts.map +0 -1
  520. package/dist/packages/core/src/hooks/useTheme.d.ts +0 -18
  521. package/dist/packages/core/src/hooks/useTheme.d.ts.map +0 -1
  522. package/dist/packages/core/src/index.d.ts.map +0 -1
  523. package/dist/packages/core/src/static/postProcessStyles.d.ts +0 -7
  524. package/dist/packages/core/src/static/postProcessStyles.d.ts.map +0 -1
  525. package/dist/packages/core/src/static.d.ts.map +0 -1
  526. package/dist/packages/core/src/styled.d.ts +0 -16
  527. package/dist/packages/core/src/styled.d.ts.map +0 -1
  528. package/dist/packages/core/src/types.d.ts +0 -305
  529. package/dist/packages/core/src/types.d.ts.map +0 -1
  530. package/dist/packages/core/src/views/Animated.d.ts +0 -15
  531. package/dist/packages/core/src/views/Animated.d.ts.map +0 -1
  532. package/dist/packages/core/src/views/Stack.d.ts +0 -3
  533. package/dist/packages/core/src/views/Stack.d.ts.map +0 -1
  534. package/dist/packages/core/src/views/Text.d.ts +0 -3
  535. package/dist/packages/core/src/views/Text.d.ts.map +0 -1
  536. package/dist/packages/core/src/views/TextAncestorContext.d.ts +0 -3
  537. package/dist/packages/core/src/views/TextAncestorContext.d.ts.map +0 -1
  538. package/dist/packages/core/src/views/Theme.d.ts +0 -8
  539. package/dist/packages/core/src/views/Theme.d.ts.map +0 -1
  540. package/dist/packages/core/src/views/ThemeContext.d.ts +0 -18
  541. package/dist/packages/core/src/views/ThemeContext.d.ts.map +0 -1
  542. package/dist/packages/core/src/views/ThemeInverse.d.ts.map +0 -1
  543. package/dist/packages/core/src/views/ThemeManagerContext.d.ts +0 -15
  544. package/dist/packages/core/src/views/ThemeManagerContext.d.ts.map +0 -1
  545. package/dist/packages/core/src/views/ThemeProvider.d.ts.map +0 -1
  546. package/dist/packages/helpers/src/AllRules.d.ts +0 -3
  547. package/dist/packages/helpers/src/AllRules.d.ts.map +0 -1
  548. package/dist/packages/helpers/src/concatClassName.d.ts +0 -2
  549. package/dist/packages/helpers/src/concatClassName.d.ts.map +0 -1
  550. package/dist/packages/helpers/src/index.d.ts +0 -5
  551. package/dist/packages/helpers/src/index.d.ts.map +0 -1
  552. package/dist/packages/helpers/src/types.d.ts +0 -8
  553. package/dist/packages/helpers/src/types.d.ts.map +0 -1
  554. package/dist/packages/helpers/src/validStyleProps.d.ts +0 -475
  555. package/dist/packages/helpers/src/validStyleProps.d.ts.map +0 -1
  556. package/dist/static/postProcessStyles.js +0 -18
  557. package/dist/static/postProcessStyles.js.map +0 -7
  558. package/dist/styled.js +0 -21
  559. package/dist/styled.js.map +0 -7
  560. package/dist/views/Animated.js +0 -79
  561. package/dist/views/Animated.js.map +0 -7
  562. package/dist/views/SafeAreaProvider.js +0 -30
  563. package/dist/views/SafeAreaProvider.js.map +0 -7
  564. package/dist/views/Stack.js.map +0 -7
  565. package/dist/views/Text.js.map +0 -7
  566. package/dist/views/TextAncestorContext.js +0 -18
  567. package/dist/views/TextAncestorContext.js.map +0 -7
  568. package/dist/views/Theme.js +0 -65
  569. package/dist/views/Theme.js.map +0 -7
  570. package/dist/views/ThemeContext.js.map +0 -7
  571. package/dist/views/ThemeManagerContext.js +0 -61
  572. package/dist/views/ThemeManagerContext.js.map +0 -7
  573. package/dist/views/ThemeProvider.js +0 -45
  574. package/dist/views/ThemeProvider.js.map +0 -7
  575. package/src/constants/constants.ts +0 -12
  576. package/src/constants/platform.ts +0 -15
  577. package/src/constants/pseudos.ts +0 -14
  578. package/src/constants/rnw.tsx +0 -20
  579. package/src/createComponent.tsx +0 -612
  580. package/src/createFont.ts +0 -31
  581. package/src/createShorthands.ts +0 -5
  582. package/src/createTamagui.ts +0 -217
  583. package/src/createTheme.ts +0 -19
  584. package/src/createTokens.ts +0 -88
  585. package/src/createVariable.ts +0 -26
  586. package/src/helpers/addStylesUsingClassname.tsx +0 -60
  587. package/src/helpers/createMediaStyle.ts +0 -46
  588. package/src/helpers/createPropMapper.ts +0 -184
  589. package/src/helpers/createTamaguiProvider.tsx +0 -22
  590. package/src/helpers/extendStaticConfig.ts +0 -68
  591. package/src/helpers/fixNativeShadow.native.tsx +0 -27
  592. package/src/helpers/fixNativeShadow.tsx +0 -2
  593. package/src/helpers/getSplitStyles.tsx +0 -200
  594. package/src/helpers/getStylesAtomic.native.ts +0 -3
  595. package/src/helpers/getStylesAtomic.ts +0 -103
  596. package/src/helpers/insertStyleRule.tsx +0 -18
  597. package/src/helpers/isObj.ts +0 -1
  598. package/src/helpers/isTamaguiElement.tsx +0 -5
  599. package/src/helpers/matchMedia.native.ts +0 -6
  600. package/src/helpers/matchMedia.ts +0 -17
  601. package/src/helpers/themeable.tsx +0 -42
  602. package/src/helpers/validate.ts +0 -59
  603. package/src/hooks/useConstant.tsx +0 -10
  604. package/src/hooks/useFeatures.tsx +0 -79
  605. package/src/hooks/useMedia.tsx +0 -194
  606. package/src/hooks/usePressable.tsx +0 -9
  607. package/src/hooks/useTheme.tsx +0 -106
  608. package/src/index.ts +0 -32
  609. package/src/static/postProcessStyles.tsx +0 -20
  610. package/src/static.ts +0 -22
  611. package/src/styled.ts +0 -82
  612. package/src/types.tsx +0 -562
  613. package/src/views/Animated.tsx +0 -121
  614. package/src/views/Stack.tsx +0 -21
  615. package/src/views/Text.tsx +0 -66
  616. package/src/views/TextAncestorContext.tsx +0 -12
  617. package/src/views/Theme.tsx +0 -90
  618. package/src/views/ThemeContext.tsx +0 -5
  619. package/src/views/ThemeInverse.tsx +0 -22
  620. package/src/views/ThemeManagerContext.tsx +0 -62
  621. package/src/views/ThemeProvider.tsx +0 -52
  622. package/types.d.ts +0 -559
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/types.tsx"],
4
- "sourcesContent": ["import React, { RefObject } from 'react'\nimport { TextProps as ReactTextProps, TextStyle } from 'react-native'\nimport { GestureResponderEvent, View, ViewProps, ViewStyle } from 'react-native'\n\nimport { Variable } from './createVariable'\nimport { ThemeProviderProps } from './views/ThemeProvider'\n\n// to prevent things from going circular, hoisting some types in this file\n// to generally order them as building up towards TamaguiConfig\n\nexport interface CreateTokens<Val extends number | string | Variable = number | string | Variable> {\n font: { [key: string]: GenericFont }\n color: { [key: string]: Val }\n space: { [key: string]: Val }\n size: { [key: string]: Val }\n radius: { [key: string]: Val }\n zIndex: { [key: string]: Val }\n}\n\ntype GenericTokens = CreateTokens\ntype GenericThemes = {\n [key: string]: {\n // defined for our tamagui kit , we could do this inside `tamagui`\n // but maybe helpful to have some sort of universally shared things +\n // + enforce if they want their own, redefine in their design sys\n bg: string | Variable\n bg2: string | Variable\n bg3: string | Variable\n bg4: string | Variable\n color: string | Variable\n color2: string | Variable\n color3: string | Variable\n color4: string | Variable\n borderColor: string | Variable\n borderColor2: string | Variable\n shadowColor: string | Variable\n shadowColor2: string | Variable\n }\n}\ntype GenericShorthands = {}\ntype GenericMedia<K extends string = string> = {\n // name => media shorthand name (camelCase) => value\n [key in K]: {\n [key: string]: number | string\n }\n}\n\n// this is the \"main\" typed object, which users re-define\n// (internal) keep all types directly on this object and reference them from elsewhere\n//\n// const config = createTamagui(...)\n// type MyConfig = typeof config\n// declare module 'tamagui' {\n// export interface TamaguiCustomConfig extends MyConfig {}\n// }\n// now your whole app/kit should be typed correctly\n//\nexport interface TamaguiCustomConfig {}\n\nexport interface TamaguiConfig\n extends Omit<GenericTamaguiConfig, keyof TamaguiCustomConfig>,\n TamaguiCustomConfig {}\n\nexport type CreateTamaguiConfig<\n A extends GenericTokens,\n B extends GenericThemes,\n C extends GenericShorthands,\n D extends GenericMedia\n> = Partial<Pick<ThemeProviderProps, 'defaultTheme' | 'disableRootThemeClass'>> & {\n tokens: A\n themes: B\n shorthands: C\n media: D\n}\n\n// for use in creation functions so it doesnt get overwrtitten\nexport type GenericTamaguiConfig = CreateTamaguiConfig<\n GenericTokens,\n GenericThemes,\n GenericShorthands,\n GenericMedia\n>\n\n// since TamaguiConfig will be re-declared, these will all be typed globally\nexport type ThemeObject = TamaguiConfig['themes'][keyof TamaguiConfig['themes']]\nexport type Tokens = TamaguiConfig['tokens']\nexport type Shorthands = TamaguiConfig['shorthands']\nexport type Media = TamaguiConfig['media']\nexport type Themes = TamaguiConfig['themes']\n// themes\nexport type ThemeName = keyof Themes extends `${infer Prefix}-${string}`\n ? Prefix | keyof Themes\n : keyof Themes\nexport type ThemeKeys = keyof ThemeObject\nexport type ThemeKeyVariables = `$${ThemeKeys}`\n// export type Spaces = TamaguiConfig['tokens']['spaces'][keyof TamaguiConfig['tokens']['spaces']]\n// export type FontSizes = TamaguiConfig['tokens']['fontSizes'][keyof TamaguiConfig['tokens']['fontSizes']]\n// export type Colors = TamaguiConfig['tokens']['colors'][keyof TamaguiConfig['tokens']['colors']]\n\n// this is the config generated via createTamagui()\nexport type TamaguiInternalConfig<\n A extends GenericTokens = GenericTokens,\n B extends GenericThemes = GenericThemes,\n C extends GenericShorthands = GenericShorthands,\n D extends GenericMedia = GenericMedia\n> = CreateTamaguiConfig<A, B, C, D> & {\n Provider: (props: TamaguiProviderProps) => any\n // with $ prefixes for fast lookups (one time cost at startup vs every render)\n themeParsed: { [key: string]: Variable }\n tokensParsed: CreateTokens<Variable>\n themeConfig: any\n getCSS: () => string\n parsed: boolean\n}\n\n// prevents const intersections from being clobbered into string, keeping the consts\nexport type UnionableString = string & {}\nexport type UnionableNumber = number & {}\nexport type PropTypes<A extends StaticComponent> = A extends React.FunctionComponent<infer Props>\n ? Props\n : unknown\n\nexport type GenericFont = {\n size: { [key: string | number]: number | Variable }\n lineHeight: { [key: string | number]: number | Variable }\n letterSpacing: { [key: string | number]: number | Variable }\n weight: { [key: string | number]: string | Variable }\n family: string | Variable\n}\n\n// media\nexport type MediaKeys = keyof Media\nexport type MediaQueryObject = { [key: string]: string | number | string }\nexport type MediaQueryState = {\n [key in string]: boolean\n}\nexport type MediaQueryKey = keyof Media\nexport type MediaProps<A> = {\n [key in `$${MediaQueryKey}`]?: A\n}\nexport type MediaQueries = {\n [key in MediaQueryKey]: MediaQueryObject\n}\nexport type ConfigureMediaQueryOptions = {\n queries?: MediaQueries\n defaultActive?: MediaQueryKey[]\n}\n\nexport type TransformStyleProps = {\n x?: number\n y?: number\n perspective?: number\n scale?: number\n scaleX?: number\n scaleY?: number\n skewX?: string\n skewY?: string\n matrix?: number[]\n rotate?: string\n rotateY?: string\n rotateX?: string\n rotateZ?: string\n}\n\n// createComponent props helpers\n\n//\n// base props that are accepted by createComponent (additional to react-native-web)\n//\ntype ComponentPropsBase = {\n className?: string\n tag?: string\n animated?: boolean\n onHoverIn?: (e: MouseEvent) => any\n onHoverOut?: (e: MouseEvent) => any\n onPress?: (e: GestureResponderEvent) => any\n onPressIn?: (e: GestureResponderEvent) => any\n onPressOut?: (e: GestureResponderEvent) => any\n // WEB ONLY\n onMouseEnter?: (e: GestureResponderEvent) => any\n // WEB ONLY\n onMouseLeave?: (e: GestureResponderEvent) => any\n space?: Tokens['space'][keyof Tokens['space']] | boolean | string | number\n pointerEvents?: string\n}\n\ntype GetTokenFontKeysFor<A extends 'size' | 'weight' | 'letterSpacing' | 'family' | 'lineHeight'> =\n keyof Tokens['font'][keyof Tokens['font']][A]\n\nexport type SpaceTokens = `$${keyof Tokens['space']}`\n\n//\n// adds in theme short values to relevant props\n//\ntype ThemeValue<A> = Omit<A, string> | UnionableString | Variable\nexport type WithThemeValues<T extends object> = {\n [K in keyof T]:\n | ThemeValue<T[K]>\n | (K extends ColorableKeys\n ? ThemeKeyVariables\n : K extends SizeKeys\n ? `$${keyof Tokens['size']}`\n : K extends FontKeys\n ? `$${keyof Tokens['font']}`\n : K extends FontSizeKeys\n ? `$${GetTokenFontKeysFor<'size'>}`\n : K extends SpaceKeys\n ? `$${keyof Tokens['space']}`\n : K extends ColorKeys\n ? `$${keyof Tokens['color']}`\n : K extends ZIndexKeys\n ? `$${keyof Tokens['zIndex']}`\n : K extends LineHeightKeys\n ? `$${GetTokenFontKeysFor<'lineHeight'>}`\n : K extends FontWeightKeys\n ? `$${GetTokenFontKeysFor<'weight'>}`\n : K extends FontLetterSpacingKeys\n ? `$${GetTokenFontKeysFor<'letterSpacing'>}`\n : {})\n}\n\n//\n// adds in shorthand props\n//\ntype WithShorthands<StyleProps> = {\n [Key in keyof Shorthands]?: Shorthands[Key] extends keyof StyleProps\n ? StyleProps[Shorthands[Key]] | null\n : {}\n}\n\n//\n// add both theme and shorthands\n//\ntype WithThemeAndShorthands<A extends object> = WithThemeValues<A> &\n WithShorthands<WithThemeValues<A>>\n\n//\n// adds theme and shorthands + pseudo styles with both\n//\ntype WithThemeShorthandsAndPseudos<A extends object> = WithThemeAndShorthands<A> & {\n hoverStyle?: WithThemeAndShorthands<A> | null\n pressStyle?: WithThemeAndShorthands<A> | null\n}\n\n//\n// adds theme, shorthands, psuedos, then all the previous to media queries\n//\ntype WithThemeShorthandsPseudosAndMedia<A extends object> = WithThemeShorthandsAndPseudos<A> &\n MediaProps<WithThemeShorthandsAndPseudos<A>>\n\n//\n// Stack\n//\n\ntype WebOnlyStyleProps = {\n // WEB ONLY\n cursor?: string\n // WEB ONLY\n contain?: 'none' | 'strict' | 'content' | 'size' | 'layout' | 'paint' | string\n // WEB ONLY values: inherit, inline, block, content\n display?: 'inherit' | 'none' | 'inline' | 'block' | 'contents' | 'flex' | 'inline-flex'\n // WEB ONLY pointerEvents can be a style prop\n pointerEvents?: ViewProps['pointerEvents']\n}\n\ntype StackStyleProps = WithThemeShorthandsPseudosAndMedia<\n Omit<ViewStyle, 'display' | 'backfaceVisibility' | 'elevation'> &\n TransformStyleProps &\n WebOnlyStyleProps\n>\n\nexport type StackProps = Omit<RNWInternalProps, 'children'> &\n Omit<ViewProps, 'display' | 'children'> &\n StackStyleProps &\n ComponentPropsBase & {\n ref?: RefObject<View | HTMLElement> | ((node: View | HTMLElement) => any)\n children?: any | any[]\n }\n\n//\n// Text props\n//\n\n// type EnhancedTextStyleProps = WithThemeValues<\n// Omit<TextStyle, 'display' | 'backfaceVisibility'> & TransformStyleProps\n// >\n// export type TextStylePropsBase = EnhancedTextStyleProps\n// export type TextStyleProps<S = TextStylePropsBase> = S & {\n// hoverStyle?: S | null\n// pressStyle?: S | null\n// }\n\ntype TextStyleProps = WithThemeShorthandsPseudosAndMedia<\n Omit<TextStyle, 'display' | 'backfaceVisibility'> & TransformStyleProps & WebOnlyStyleProps\n>\n\nexport type TextProps = Omit<ReactTextProps, 'style'> &\n TextStyleProps &\n ComponentPropsBase & {\n ellipse?: boolean\n selectable?: boolean\n textDecorationDistance?: number\n }\n\n//\n// StaticComponent\n//\n\nexport type StaticComponent<\n Props = any,\n VariantProps = any,\n StaticConfParsed = StaticConfigParsed,\n ParentVariantProps = any\n> = React.FunctionComponent<Props> & {\n staticConfig: StaticConfParsed\n variantProps?: VariantProps\n\n /*\n * Only needed for more complex components\n * If you create a styled frame component this is a HoC to extract\n * styles from all parents.\n */\n extractable: <X>(a: X, opts?: StaticConfig) => X\n}\n\nexport type TamaguiProviderProps = Partial<Omit<ThemeProviderProps, 'children'>> & {\n initialWindowMetrics?: any\n fallback?: any\n children?: any\n}\n\nexport type RNWInternalProps = {\n accessibilityState?: {\n busy?: boolean\n checked?: boolean | 'mixed'\n disabled?: boolean\n expanded?: boolean\n grabbed?: boolean\n hidden?: boolean\n invalid?: boolean\n modal?: boolean\n pressed?: boolean\n readonly?: boolean\n required?: boolean\n selected?: boolean\n }\n accessibilityValue?: {\n max?: number\n min?: number\n now?: number\n text?: string\n }\n children?: any\n focusable?: boolean\n nativeID?: string\n onBlur?: (e: any) => void\n onClick?: (e: any) => void\n onClickCapture?: (e: any) => void\n onContextMenu?: (e: any) => void\n onFocus?: (e: any) => void\n onKeyDown?: (e: any) => void\n onKeyUp?: (e: any) => void\n onMoveShouldSetResponder?: (e: any) => boolean\n onMoveShouldSetResponderCapture?: (e: any) => boolean\n onResponderEnd?: (e: any) => void\n onResponderGrant?: (e: any) => void\n onResponderMove?: (e: any) => void\n onResponderReject?: (e: any) => void\n onResponderRelease?: (e: any) => void\n onResponderStart?: (e: any) => void\n onResponderTerminate?: (e: any) => void\n onResponderTerminationRequest?: (e: any) => boolean\n onScrollShouldSetResponder?: (e: any) => boolean\n onScrollShouldSetResponderCapture?: (e: any) => boolean\n onSelectionChangeShouldSetResponder?: (e: any) => boolean\n onSelectionChangeShouldSetResponderCapture?: (e: any) => boolean\n onStartShouldSetResponder?: (e: any) => boolean\n onStartShouldSetResponderCapture?: (e: any) => boolean\n pointerEvents?: 'box-none' | 'none' | 'box-only' | 'auto'\n testID?: string\n // unstable\n dataSet?: Object\n onMouseDown?: (e: any) => void\n onMouseEnter?: (e: any) => void\n onMouseLeave?: (e: any) => void\n onMouseMove?: (e: any) => void\n onMouseOver?: (e: any) => void\n onMouseOut?: (e: any) => void\n onMouseUp?: (e: any) => void\n onScroll?: (e: any) => void\n onTouchCancel?: (e: any) => void\n onTouchCancelCapture?: (e: any) => void\n onTouchEnd?: (e: any) => void\n onTouchEndCapture?: (e: any) => void\n onTouchMove?: (e: any) => void\n onTouchMoveCapture?: (e: any) => void\n onTouchStart?: (e: any) => void\n onTouchStartCapture?: (e: any) => void\n onWheel?: (e: any) => void\n href?: string\n hrefAttrs?: { download?: boolean; rel?: string; target?: string }\n}\n\nexport type StaticConfigParsed = StaticConfig & {\n parsed: true\n propMapper: (\n key: string,\n value: any,\n theme: ThemeObject,\n props: any\n ) => undefined | boolean | { [key: string]: any }\n variantsParsed?: {\n [key: string]: {\n [key: string]: any\n }\n }\n}\n\nexport type StaticConfig = {\n Component?: StaticComponent\n\n variants?: {\n [key: string]: {\n [key: string]:\n | ((a: any, b: any) => any)\n | {\n [key: string]: any\n }\n }\n }\n\n /*\n * If you need to pass context or something, prevents from ever\n * flattening. The 'jsx' option means it will never flatten. if you\n * pass JSX as a children (if its purely string, it will still flatten).\n */\n neverFlatten?: boolean | 'jsx'\n\n /*\n * Determines ultimate output tag (Text vs View)\n */\n isText?: boolean\n\n /*\n * Which style keys are allowed to be extracted.\n */\n validStyles?: { [key: string]: boolean }\n\n /*\n * Allows for defining extra valid props to be extracted beyond\n * the default ones.\n */\n validPropsExtra?: { [key: string]: any }\n\n /*\n * Same as React.defaultProps, be sure to sync\n */\n defaultProps?: any\n\n /*\n * If this prop is encountered, bail on all optimization.\n */\n deoptProps?: Set<string>\n\n /*\n * A bit odd, only for more advanced heirarchies.\n * Indicates that the component will set this prop so the\n * static extraction can ensure it sets them to ={undefined}\n * so they get overriddent. In the future, this can be smarter.\n */\n ensureOverriddenProp?: { [key: string]: boolean }\n\n /*\n * We need to wrap children\n */\n isZStack?: boolean\n}\n\ntype ColorableKeys =\n | 'color'\n | 'backgroundColor'\n | 'borderColor'\n | 'borderTopColor'\n | 'borderBottomColor'\n | 'borderLeftColor'\n | 'borderRightColor'\n | 'shadowColor'\n\ntype SizeKeys = 'width' | 'height' | 'minWidth' | 'minHeight' | 'maxWidth' | 'maxHeight'\n\ntype FontKeys = 'fontFamily'\n\ntype FontSizeKeys = 'fontSize'\n\ntype FontWeightKeys = 'fontWeight'\n\ntype FontLetterSpacingKeys = 'letterSpacing'\n\ntype LineHeightKeys = 'lineHeight'\n\ntype ZIndexKeys = 'zIndex'\n\ntype ColorKeys =\n | 'color'\n | 'backgroundColor'\n | 'borderColor'\n | 'borderBottomColor'\n | 'borderTopColor'\n | 'borderLeftColor'\n | 'borderRightColor'\n\ntype SpaceKeys =\n | 'padding'\n | 'paddingHorizontal'\n | 'paddingVertical'\n | 'paddingLeft'\n | 'paddingTop'\n | 'paddingBottom'\n | 'paddingLeft'\n | 'paddingRight'\n | 'paddingEnd'\n | 'paddingStart'\n | 'margin'\n | 'marginHorizontal'\n | 'marginVertical'\n | 'marginLeft'\n | 'marginTop'\n | 'marginBottom'\n | 'marginLeft'\n | 'marginRight'\n | 'marginEnd'\n | 'marginStart'\n | 'x'\n | 'y'\n | 'scale'\n | 'scaleX'\n | 'scaleY'\n | 'borderTopEndRadius'\n | 'borderTopLeftRadius'\n | 'borderTopRightRadius'\n | 'borderTopStartRadius'\n | 'borderBottomEndRadius'\n | 'borderBottomLeftRadius'\n | 'borderBottomRightRadius'\n | 'borderBottomStartRadius'\n | 'borderBottomWidth'\n | 'borderLeftWidth'\n | 'borderRadius'\n | 'borderRightWidth'\n | 'borderTopEndRadius'\n | 'borderTopLeftRadius'\n | 'borderTopRightRadius'\n | 'borderEndWidth'\n | 'borderStartWidth'\n | 'borderTopStartRadius'\n | 'borderTopWidth'\n | 'borderWidth'\n | 'left'\n | 'top'\n | 'right'\n | 'bottom'\n | 'shadowOffset'\n"],
5
- "mappings": ";;AAAA;",
4
+ "sourcesContent": ["// TODO split this into own package @tamagui/types to share with animations packages\n\nimport CSS from 'csstype'\nimport React from 'react'\nimport {\n GestureResponderEvent,\n Image,\n ImageProps,\n TextProps as ReactTextProps,\n Text,\n TextInput,\n TextInputProps,\n TextStyle,\n View,\n ViewProps,\n ViewStyle,\n} from 'react-native'\n\nimport { Variable } from './createVariable'\nimport { ResolveVariableTypes } from './helpers/createPropMapper'\nimport { RNWTextProps, RNWViewProps } from './types-rnw'\nimport { ThemeProviderProps } from './views/ThemeProvider'\n\nexport type ConfigListener = (conf: TamaguiInternalConfig) => void\n\n// to prevent things from going circular, hoisting some types in this file\n// to generally order them as building up towards TamaguiConfig\n\nexport type VariableVal = number | string | Variable\nexport type VariableColorVal = string | Variable\n\ntype GenericKey = string | number | symbol\n\nexport interface CreateTokens<Val extends VariableVal = VariableVal> {\n font: { [key: GenericKey]: GenericFont }\n color: { [key: GenericKey]: Val }\n space: { [key: GenericKey]: Val }\n size: { [key: GenericKey]: Val }\n radius: { [key: GenericKey]: Val }\n zIndex: { [key: GenericKey]: Val }\n}\n\nexport type TamaguiBaseTheme = {\n // defined for our tamagui kit , we could do this inside `tamagui`\n // but maybe helpful to have some sort of universally shared things +\n // + enforce if they want their own, redefine in their design sys\n background: VariableColorVal\n backgroundHover: VariableColorVal\n backgroundPress: VariableColorVal\n backgroundFocus: VariableColorVal\n color: VariableColorVal\n colorHover: VariableColorVal\n colorPress: VariableColorVal\n colorFocus: VariableColorVal\n borderColor: VariableColorVal\n borderColorHover: VariableColorVal\n borderColorPress: VariableColorVal\n borderColorFocus: VariableColorVal\n shadowColor: VariableColorVal\n shadowColorHover: VariableColorVal\n shadowColorPress: VariableColorVal\n shadowColorFocus: VariableColorVal\n}\n\ntype GenericTokens = CreateTokens\ntype GenericThemes = {\n [key: string]:\n | Partial<TamaguiBaseTheme> & {\n [key: string]: VariableVal\n }\n}\ntype GenericShorthands = {\n // [key: string]: string\n}\n\ntype GenericMedia<K extends string = string> = {\n // name => media shorthand name (camelCase) => value\n [key in K]: {\n [key: string]: number | string\n }\n}\ntype GenericAnimations = {\n [key: string]:\n | string\n | {\n [key: string]: any\n }\n}\n\n// this is the \"main\" typed object, which users re-define\n// (internal) keep all types directly on this object and reference them from elsewhere\n//\n// const config = createTamagui(...)\n// type MyConfig = typeof config\n// declare module 'tamagui' {\n// export interface TamaguiCustomConfig extends MyConfig {}\n// }\n// now your whole app/kit should be typed correctly\n//\nexport interface TamaguiCustomConfig {}\n\nexport interface TamaguiConfig\n extends Omit<GenericTamaguiConfig, keyof TamaguiCustomConfig>,\n TamaguiCustomConfig {}\n\nexport type CreateTamaguiConfig<\n A extends GenericTokens,\n B extends GenericThemes,\n C extends GenericShorthands = GenericShorthands,\n D extends GenericMedia = GenericMedia,\n E extends GenericAnimations = GenericAnimations\n> = Partial<Pick<ThemeProviderProps, 'defaultTheme' | 'disableRootThemeClass'>> & {\n tokens: A\n themes: B\n shorthands: C\n media: D\n animations: AnimationDriver<E>\n}\n\n// for use in creation functions so it doesnt get overwrtitten\nexport type GenericTamaguiConfig = CreateTamaguiConfig<\n GenericTokens,\n GenericThemes,\n GenericShorthands,\n GenericMedia,\n GenericAnimations\n>\n\n// since TamaguiConfig will be re-declared, these will all be typed globally\nexport type ThemeObject = TamaguiConfig['themes'][keyof TamaguiConfig['themes']]\nexport type Tokens = TamaguiConfig['tokens']\nexport type Shorthands = TamaguiConfig['shorthands']\nexport type Media = TamaguiConfig['media']\nexport type Themes = TamaguiConfig['themes']\nexport type ThemeName = GetAltThemeNames<keyof Themes>\n// export type ThemeNameWithSubThemes = GetSubThemes<ThemeName>\nexport type ThemeKeys = keyof ThemeObject\nexport type ThemeTokens = `$${ThemeKeys}`\nexport type AnimationKeys = GetAnimationKeys<TamaguiConfig> & {}\n\ntype GetAltThemeNames<S> = (S extends `${string}_${infer Alt}` ? GetAltThemeNames<Alt> : S) | S\n\n// this is the config generated via createTamagui()\nexport type TamaguiInternalConfig<\n A extends GenericTokens = GenericTokens,\n B extends GenericThemes = GenericThemes,\n C extends GenericShorthands = GenericShorthands,\n D extends GenericMedia = GenericMedia,\n E extends GenericAnimations = GenericAnimations\n> = CreateTamaguiConfig<A, B, C, D, E> & {\n // TODO need to make it this but this breaks types, revisit\n // animations: E //AnimationDriver<E>\n Provider: (props: TamaguiProviderProps) => any\n // with $ prefixes for fast lookups (one time cost at startup vs every render)\n tokensParsed: CreateTokens<Variable>\n themeConfig: any\n getCSS: () => string\n parsed: boolean\n}\n\nexport type GetAnimationKeys<A extends GenericTamaguiConfig> = keyof A['animations']['animations']\n\n// prevents const intersections from being clobbered into string, keeping the consts\nexport type UnionableString = string & {}\nexport type UnionableNumber = number & {}\nexport type PropTypes<A extends StaticComponent> = A extends React.FunctionComponent<infer Props>\n ? Props\n : unknown\n\nexport type GenericFont = {\n size: { [key: string | number]: number | Variable }\n lineHeight: { [key: string | number]: number | Variable }\n letterSpacing: { [key: string | number]: number | Variable }\n weight: { [key: string | number]: number | string | Variable }\n family: string | Variable\n}\n\n// media\nexport type MediaKeys = keyof Media\nexport type MediaQueryObject = { [key: string]: string | number | string }\nexport type MediaQueryState = {\n [key in string]: boolean\n}\nexport type MediaQueryKey = keyof Media\nexport type MediaPropKeys = `$${MediaQueryKey}`\nexport type MediaProps<A> = {\n [key in MediaPropKeys]?: A\n}\nexport type MediaQueries = {\n [key in MediaQueryKey]: MediaQueryObject\n}\nexport type ConfigureMediaQueryOptions = {\n queries?: MediaQueries\n defaultActive?: MediaQueryKey[]\n}\n\nexport type TransformStyleProps = {\n x?: number\n y?: number\n perspective?: number\n scale?: number\n scaleX?: number\n scaleY?: number\n skewX?: string\n skewY?: string\n matrix?: number[]\n rotate?: string\n rotateY?: string\n rotateX?: string\n rotateZ?: string\n}\n\n// createComponent props helpers\n\n//\n// base props that are accepted by createComponent (additional to react-native-web)\n//\ntype Something<A> = A extends symbol ? Something<{}> : A\n\ntype ComponentPropsBase = Something<{\n debug?: boolean | 'break' | 'verbose'\n disabled?: boolean\n className?: string\n id?: string\n tag?: string\n theme?: ThemeName | null\n onHoverIn?: (e: MouseEvent) => any\n onHoverOut?: (e: MouseEvent) => any\n onPress?: (e: GestureResponderEvent) => any\n onPressIn?: (e: GestureResponderEvent) => any\n onPressOut?: (e: GestureResponderEvent) => any\n // WEB ONLY\n onMouseEnter?: (e: GestureResponderEvent) => any\n // WEB ONLY\n onMouseLeave?: (e: GestureResponderEvent) => any\n space?: SpaceTokens\n}>\n\ntype GetTokenFontKeysFor<A extends 'size' | 'weight' | 'letterSpacing' | 'family' | 'lineHeight'> =\n keyof Tokens['font'][keyof Tokens['font']][A]\n\ntype GetTokenString<A> = A extends string | number ? `$${A}` : `$${string}`\n\nexport type SizeTokens = GetTokenString<keyof Tokens['size']> | number\nexport type FontTokens = GetTokenString<keyof Tokens['font']>\nexport type FontSizeTokens = `$${GetTokenFontKeysFor<'size'>}` | number\nexport type FontLineHeightTokens = `$${GetTokenFontKeysFor<'lineHeight'>}` | number\nexport type FontWeightTokens =\n | `$${GetTokenFontKeysFor<'weight'>}`\n | `${1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9}00`\nexport type FontLetterSpacingTokens = `$${GetTokenFontKeysFor<'letterSpacing'>}` | number\nexport type SpaceTokens = GetTokenString<keyof Tokens['space']> | number | boolean\nexport type ColorTokens =\n | GetTokenString<keyof Tokens['color']>\n | GetTokenString<keyof ThemeObject>\n | CSSColorNames\nexport type ZIndexTokens = GetTokenString<keyof Tokens['zIndex']> | number\n\n//\n// adds theme short values to relevant props\n//\n\nexport type ThemeValueByCategory<K extends string | number | symbol> = K extends 'theme'\n ? ThemeTokens\n : K extends 'size'\n ? SizeTokens\n : K extends 'font'\n ? FontTokens\n : K extends 'fontSize'\n ? FontSizeTokens\n : K extends 'space'\n ? SpaceTokens\n : K extends 'color'\n ? ColorTokens\n : K extends 'zIndex'\n ? ZIndexTokens\n : K extends 'lineHeight'\n ? FontLineHeightTokens\n : K extends 'fontWeight'\n ? FontWeightTokens\n : K extends 'letterSpacing'\n ? FontLetterSpacingTokens\n : {}\n\nexport type ThemeValueGet<K extends string | number | symbol> = K extends 'theme'\n ? ThemeTokens\n : K extends SizeKeys\n ? SizeTokens\n : K extends FontKeys\n ? FontTokens\n : K extends FontSizeKeys\n ? FontSizeTokens\n : K extends SpaceKeys\n ? K extends 'shadowOffset'\n ? { width: SpaceTokens; height: SpaceTokens }\n : SpaceTokens\n : K extends ColorKeys\n ? ColorTokens\n : K extends ZIndexKeys\n ? ZIndexTokens\n : K extends LineHeightKeys\n ? FontLineHeightTokens\n : K extends FontWeightKeys\n ? FontWeightTokens\n : K extends FontLetterSpacingKeys\n ? FontLetterSpacingTokens\n : never\n\nexport type ThemeValueFallback = UnionableString | Variable\n\nexport type WithThemeValues<T extends object> = {\n [K in keyof T]: ThemeValueGet<K> extends never\n ? T[K]\n : ThemeValueGet<K> | Exclude<T[K], string> | ThemeValueFallback\n}\n\n// adds shorthand props\nexport type WithShorthands<StyleProps> = {\n [Key in keyof Shorthands]?: Shorthands[Key] extends keyof StyleProps\n ? StyleProps[Shorthands[Key]] | null\n : undefined\n}\n\n// adds pseudo props\nexport type PseudoProps<A> = {\n hoverStyle?: A | null\n pressStyle?: A | null\n focusStyle?: A | null\n exitStyle?: A | null\n enterStyle?: A | null\n}\n\nexport type PsuedoPropKeys = keyof PseudoProps<any>\n\n//\n// add both theme and shorthands\n//\ntype WithThemeAndShorthands<A extends object> = WithThemeValues<A> &\n WithShorthands<WithThemeValues<A>>\n\n//\n// combines all of theme, shorthands, psuedos...\n//\ntype WithThemeShorthandsAndPseudos<A extends object> =\n | WithThemeAndShorthands<A> & PseudoProps<WithThemeAndShorthands<A>>\n\n//\n// ... media queries and animations\n//\ntype WithThemeShorthandsPseudosMediaAnimation<A extends object> = WithThemeShorthandsAndPseudos<A> &\n MediaProps<WithThemeShorthandsAndPseudos<A>> & {\n animation?: AnimationKeys\n }\n\n//\n// Stack\n//\n\ntype WebOnlyStyleProps = {\n // WEB ONLY\n cursor?: string\n // WEB ONLY\n contain?: 'none' | 'strict' | 'content' | 'size' | 'layout' | 'paint' | string\n // WEB ONLY values: inherit, inline, block, content\n display?: 'inherit' | 'none' | 'inline' | 'block' | 'contents' | 'flex' | 'inline-flex'\n // WEB ONLY pointerEvents can be a style prop\n pointerEvents?: ViewProps['pointerEvents']\n}\n\nexport type StackStylePropsBase = Omit<ViewStyle, 'display' | 'backfaceVisibility' | 'elevation'> &\n TransformStyleProps &\n WebOnlyStyleProps\n\nexport type StackStyleProps = WithThemeShorthandsPseudosMediaAnimation<StackStylePropsBase>\n\nexport type StackProps = Omit<ViewProps, 'display' | 'children'> &\n RNWViewProps &\n StackStyleProps &\n ComponentPropsBase & {\n // ref?: RefObject<View | HTMLElement> | ((node: View | HTMLElement) => any)\n children?: any | any[]\n }\n\n//\n// Text props\n//\n\nexport type TextStylePropsBase = Omit<TextStyle, 'display' | 'backfaceVisibility'> &\n TransformStyleProps &\n WebOnlyStyleProps & {\n ellipse?: boolean\n selectable?: boolean\n textDecorationDistance?: number\n userSelect?: CSS.Properties['userSelect']\n textOverflow?: CSS.Properties['textOverflow']\n whiteSpace?: CSS.Properties['whiteSpace']\n wordWrap?: CSS.Properties['wordWrap']\n cursor?: CSS.Properties['cursor']\n }\n\nexport type TextStyleProps = WithThemeShorthandsPseudosMediaAnimation<TextStylePropsBase>\n\nexport type TextProps = ReactTextProps & RNWTextProps & TextStyleProps & ComponentPropsBase\n\n// could actually infer from parent\nexport type ViewOrTextProps = WithThemeShorthandsPseudosMediaAnimation<\n Omit<TextStylePropsBase, keyof StackStylePropsBase> & StackStylePropsBase\n>\n\n//\n// StaticComponent\n//\n\nexport type StaticComponent<\n Props = any,\n VariantProps = any,\n Ref = any,\n StaticConfParsed extends StaticConfigParsed = StaticConfigParsed\n> = React.ForwardRefExoticComponent<React.PropsWithoutRef<Props> & React.RefAttributes<Ref>> &\n StaticComponentObject<StaticConfParsed, VariantProps>\n\ntype StaticComponentObject<Conf extends StaticConfigParsed, VariantProps extends any> = {\n staticConfig: Conf\n variantProps?: VariantProps\n /*\n * Only needed for more complex components\n * If you create a styled frame component this is a HoC to extract\n * styles from all parents.\n */\n extractable: <X>(a: X, opts?: StaticConfig) => X\n}\n\nexport type TamaguiProviderProps = Partial<Omit<ThemeProviderProps, 'children'>> & {\n injectCSS?: boolean\n fallback?: any\n children?: any\n}\n\nexport type StaticConfigParsed = StaticConfig & {\n parsed: true\n propMapper: (\n key: string,\n value: any,\n theme: ThemeObject,\n props: any,\n staticConfig: StaticConfig,\n resolveVariablesAs?: ResolveVariableTypes,\n avoidDefaultProps?: boolean\n ) => undefined | boolean | { [key: string]: any }\n variantsParsed?: {\n [key: string]: {\n [key: string]: any\n }\n }\n}\n\nexport type StaticConfig = {\n Component?: React.FunctionComponent<any> & StaticComponentObject<any, any>\n\n variants?: {\n [key: string]: {\n [key: string]:\n | ((a: any, b: any) => any)\n | {\n [key: string]: any\n }\n }\n }\n\n /**\n * Used for applying sub theme style\n */\n componentName?: string\n\n /**\n * If you need to pass context or something, prevents from ever\n * flattening. The 'jsx' option means it will never flatten. if you\n * pass JSX as a children (if its purely string, it will still flatten).\n */\n neverFlatten?: boolean | 'jsx'\n\n /**\n * Determines ultimate output tag (Text vs View)\n */\n isText?: boolean\n\n /**\n * Attempts to attach focus styles at runtime (useful for native)\n */\n isInput?: boolean\n\n /**\n * React native web images need special handling for className support\n */\n isImage?: boolean\n\n /**\n * Which style keys are allowed to be extracted.\n */\n validStyles?: { [key: string]: boolean }\n\n /**\n * Same as React.defaultProps, be sure to sync\n */\n defaultProps?: any\n\n /**\n * If these props are encountered, bail on all optimization.\n */\n deoptProps?: Set<string>\n\n /**\n * If these props are encountered, leave them un-extracted.\n */\n inlineProps?: Set<string>\n\n /**\n * A bit odd, only for more advanced heirarchies.\n * Indicates that the component will set this prop so the\n * static extraction can ensure it sets them to ={undefined}\n * so they get overriddent. In the future, this can be smarter.\n */\n ensureOverriddenProp?: { [key: string]: boolean }\n\n /**\n * Auto-detected, but can ovverride. Wraps children to space them on top\n */\n isZStack?: boolean\n\n /**\n * Merges into defaultProps later on, used internally yonly\n */\n defaultVariants?: { [key: string]: any }\n\n /**\n * Auto-detect, but can ovverride, passes styles properly to react-native-web\n */\n isReactNativeWeb?: boolean\n\n /**\n * Memoize the component\n */\n memo?: boolean\n\n /**\n * Auto-detect, but can ovverride, passes styles properly to react-native-web\n */\n isTamagui?: boolean\n}\n\n/**\n * --------------------------------------------\n * variants\n * --------------------------------------------\n */\n\nexport type StylableComponent =\n | StaticComponent\n | React.Component\n | React.ForwardRefExoticComponent<any>\n | (new (props: any) => any)\n | typeof View\n | typeof Text\n | typeof TextInput\n | typeof Image\n\nexport type GetProps<A extends StylableComponent> = A extends StaticComponent<infer Props>\n ? Props\n : A extends React.Component<infer Props>\n ? Omit<Props, keyof StackProps> & StackProps\n : A extends new (props: infer Props) => any\n ? Omit<Props, keyof StackProps> & StackProps\n : A extends typeof View\n ? ViewProps\n : A extends typeof Text\n ? TextProps\n : A extends typeof TextInput\n ? Partial<TextInputProps> & TextProps\n : A extends typeof Image\n ? Partial<ImageProps> & StackProps\n : {}\n\nexport type VariantDefinitions<MyProps> = {\n [propName: string]:\n | {\n [Key in '...fontSize']?: FontSizeVariantSpreadFunction<MyProps>\n }\n | {\n [Key in '...size']?: SizeVariantSpreadFunction<MyProps>\n }\n | {\n [Key in '...color']?: ColorVariantSpreadFunction<MyProps>\n }\n | {\n [Key in '...lineHeight']?: FontLineHeightVariantSpreadFunction<MyProps>\n }\n | {\n [Key in '...letterSpacing']?: FontLetterSpacingVariantSpreadFunction<MyProps>\n }\n | {\n [Key in '...zIndex']?: ZIndexVariantSpreadFunction<MyProps>\n }\n | {\n [Key in '...theme']?: ThemeVariantSpreadFunction<MyProps>\n }\n | {\n [Key in string]: MyProps\n }\n | {\n [Key in number]: MyProps\n }\n}\n\nexport type GetVariantProps<Variants extends Object> = {\n [key in keyof Variants]?: GetVariantValues<keyof Variants[key], keyof Variants[key]>\n}\n\nexport type VariantSpreadExtras<Props> = {\n tokens: TamaguiConfig['tokens']\n theme: Themes extends { [key: string]: infer B } ? B : unknown\n props: Props\n}\n\nexport type VariantSpreadFunction<Props, Val = any> = (\n val: Val,\n config: VariantSpreadExtras<Props>\n) =>\n | WithVariableValues<TextStylePropsBase>\n | WithVariableValues<StackStylePropsBase>\n | null\n | undefined\n\ntype WithVariableValues<A extends { [key: string]: any }> = {\n [Key in keyof A]: A[Key] | Variable\n}\n\nexport type GetVariants<Props> = void | {\n [key: string]: {\n [key: string]: Partial<Props> | VariantSpreadFunction<Props>\n }\n}\n\nexport type GetVariantValues<Key, Val> = Key extends `...${infer VariantSpread}`\n ? ThemeValueByCategory<VariantSpread>\n : Key extends 'true' | 'false'\n ? boolean\n : Key extends ':string'\n ? string\n : Key extends ':boolean'\n ? boolean\n : Key extends ':number'\n ? number\n : Val\n\nexport type FontSizeVariantSpreadFunction<A> = VariantSpreadFunction<A, FontSizeTokens>\nexport type SizeVariantSpreadFunction<A> = VariantSpreadFunction<A, SizeTokens>\nexport type ColorVariantSpreadFunction<A> = VariantSpreadFunction<A, ColorTokens>\nexport type FontLineHeightVariantSpreadFunction<A> = VariantSpreadFunction<A, FontLineHeightTokens>\nexport type FontLetterSpacingVariantSpreadFunction<A> = VariantSpreadFunction<\n A,\n FontLetterSpacingTokens\n>\nexport type ZIndexVariantSpreadFunction<A> = VariantSpreadFunction<A, ZIndexTokens>\nexport type ThemeVariantSpreadFunction<A> = VariantSpreadFunction<A, ThemeTokens>\n\n/**\n * --------------------------------------------\n * end variants\n * --------------------------------------------\n */\n\ntype SizeKeys = 'width' | 'height' | 'minWidth' | 'minHeight' | 'maxWidth' | 'maxHeight'\n\ntype FontKeys = 'fontFamily'\n\ntype FontSizeKeys = 'fontSize'\n\ntype FontWeightKeys = 'fontWeight'\n\ntype FontLetterSpacingKeys = 'letterSpacing'\n\ntype LineHeightKeys = 'lineHeight'\n\ntype ZIndexKeys = 'zIndex'\n\ntype ColorKeys =\n | 'color'\n | 'backgroundColor'\n | 'borderColor'\n | 'borderBottomColor'\n | 'borderTopColor'\n | 'borderLeftColor'\n | 'borderRightColor'\n | 'shadowColor'\n\ntype SpaceKeys =\n | 'space'\n | 'padding'\n | 'paddingHorizontal'\n | 'paddingVertical'\n | 'paddingLeft'\n | 'paddingTop'\n | 'paddingBottom'\n | 'paddingLeft'\n | 'paddingRight'\n | 'paddingEnd'\n | 'paddingStart'\n | 'margin'\n | 'marginHorizontal'\n | 'marginVertical'\n | 'marginLeft'\n | 'marginTop'\n | 'marginBottom'\n | 'marginLeft'\n | 'marginRight'\n | 'marginEnd'\n | 'marginStart'\n | 'x'\n | 'y'\n | 'scale'\n | 'scaleX'\n | 'scaleY'\n | 'borderTopEndRadius'\n | 'borderTopLeftRadius'\n | 'borderTopRightRadius'\n | 'borderTopStartRadius'\n | 'borderBottomEndRadius'\n | 'borderBottomLeftRadius'\n | 'borderBottomRightRadius'\n | 'borderBottomStartRadius'\n | 'borderBottomWidth'\n | 'borderLeftWidth'\n | 'borderRadius'\n | 'borderRightWidth'\n | 'borderTopEndRadius'\n | 'borderTopLeftRadius'\n | 'borderTopRightRadius'\n | 'borderEndWidth'\n | 'borderStartWidth'\n | 'borderTopStartRadius'\n | 'borderTopWidth'\n | 'borderWidth'\n | 'left'\n | 'top'\n | 'right'\n | 'bottom'\n | 'shadowOffset'\n\ntype CSSColorNames =\n | 'aliceblue'\n | 'antiquewhite'\n | 'aqua'\n | 'aquamarine'\n | 'azure'\n | 'beige'\n | 'bisque'\n | 'black'\n | 'blanchedalmond'\n | 'blue'\n | 'blueviolet'\n | 'brown'\n | 'burlywood'\n | 'cadetblue'\n | 'chartreuse'\n | 'chocolate'\n | 'coral'\n | 'cornflowerblue'\n | 'cornsilk'\n | 'crimson'\n | 'cyan'\n | 'darkblue'\n | 'darkcyan'\n | 'darkgoldenrod'\n | 'darkgray'\n | 'darkgreen'\n | 'darkkhaki'\n | 'darkmagenta'\n | 'darkolivegreen'\n | 'darkorange'\n | 'darkorchid'\n | 'darkred'\n | 'darksalmon'\n | 'darkseagreen'\n | 'darkslateblue'\n | 'darkslategray'\n | 'darkturquoise'\n | 'darkviolet'\n | 'deeppink'\n | 'deepskyblue'\n | 'dimgray'\n | 'dodgerblue'\n | 'firebrick'\n | 'floralwhite'\n | 'forestgreen'\n | 'fuchsia'\n | 'gainsboro'\n | 'ghostwhite'\n | 'gold'\n | 'goldenrod'\n | 'gray'\n | 'green'\n | 'greenyellow'\n | 'honeydew'\n | 'hotpink'\n | 'indianred '\n | 'indigo '\n | 'ivory'\n | 'khaki'\n | 'lavender'\n | 'lavenderblush'\n | 'lawngreen'\n | 'lemonchiffon'\n | 'lightblue'\n | 'lightcoral'\n | 'lightcyan'\n | 'lightgoldenrodyellow'\n | 'lightgrey'\n | 'lightgreen'\n | 'lightpink'\n | 'lightsalmon'\n | 'lightseagreen'\n | 'lightskyblue'\n | 'lightslategray'\n | 'lightsteelblue'\n | 'lightyellow'\n | 'lime'\n | 'limegreen'\n | 'linen'\n | 'magenta'\n | 'maroon'\n | 'mediumaquamarine'\n | 'mediumblue'\n | 'mediumorchid'\n | 'mediumpurple'\n | 'mediumseagreen'\n | 'mediumslateblue'\n | 'mediumspringgreen'\n | 'mediumturquoise'\n | 'mediumvioletred'\n | 'midnightblue'\n | 'mintcream'\n | 'mistyrose'\n | 'moccasin'\n | 'navajowhite'\n | 'navy'\n | 'oldlace'\n | 'olive'\n | 'olivedrab'\n | 'orange'\n | 'orangered'\n | 'orchid'\n | 'palegoldenrod'\n | 'palegreen'\n | 'paleturquoise'\n | 'palevioletred'\n | 'papayawhip'\n | 'peachpuff'\n | 'peru'\n | 'pink'\n | 'plum'\n | 'powderblue'\n | 'purple'\n | 'red'\n | 'rosybrown'\n | 'royalblue'\n | 'saddlebrown'\n | 'salmon'\n | 'sandybrown'\n | 'seagreen'\n | 'seashell'\n | 'sienna'\n | 'silver'\n | 'skyblue'\n | 'slateblue'\n | 'slategray'\n | 'snow'\n | 'springgreen'\n | 'steelblue'\n | 'tan'\n | 'teal'\n | 'thistle'\n | 'tomato'\n | 'turquoise'\n | 'violet'\n | 'wheat'\n | 'white'\n | 'whitesmoke'\n | 'yellow'\n | 'yellowgreen'\n\n// Animations:\n\ntype AnimationConfig = {\n [key: string]: any\n}\n\nexport type AnimationDriver<A extends AnimationConfig = AnimationConfig> = {\n avoidClasses?: boolean\n useAnimations: UseAnimationHook\n animations: A\n View?: any\n Text?: any\n}\n\nexport type UseAnimationProps = { animation: string; [key: string]: any }\nexport type UseAnimationState = {\n style: ViewStyle | null | undefined\n isMounted: boolean\n exitStyle?: ViewStyle | null\n onDidAnimate?: any\n delay?: number\n}\n\nexport type UseAnimationHook = (\n props: UseAnimationProps,\n state: UseAnimationState\n) => {\n style?: StackStylePropsBase\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -1,11 +1,9 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __defProps = Object.defineProperties;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
6
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
- var __getProtoOf = Object.getPrototypeOf;
9
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
10
8
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
9
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -21,28 +19,26 @@ var __spreadValues = (a, b) => {
21
19
  return a;
22
20
  };
23
21
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
25
22
  var __export = (target, all) => {
26
- __markAsModule(target);
27
23
  for (var name in all)
28
24
  __defProp(target, name, { get: all[name], enumerable: true });
29
25
  };
30
- var __reExport = (target, module2, desc) => {
31
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
32
- for (let key of __getOwnPropNames(module2))
33
- if (!__hasOwnProp.call(target, key) && key !== "default")
34
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
26
+ var __copyProps = (to, from, except, desc) => {
27
+ if (from && typeof from === "object" || typeof from === "function") {
28
+ for (let key of __getOwnPropNames(from))
29
+ if (!__hasOwnProp.call(to, key) && key !== except)
30
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
35
31
  }
36
- return target;
32
+ return to;
37
33
  };
38
- var __toModule = (module2) => {
39
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
40
- };
41
- __export(exports, {
34
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
35
+ var Stack_exports = {};
36
+ __export(Stack_exports, {
42
37
  Stack: () => Stack
43
38
  });
44
- var import_constants = __toModule(require("../constants/constants"));
45
- var import_createComponent = __toModule(require("../createComponent"));
39
+ module.exports = __toCommonJS(Stack_exports);
40
+ var import_constants = require("../constants/constants");
41
+ var import_createComponent = require("../createComponent");
46
42
  const Stack = (0, import_createComponent.createComponent)({
47
43
  defaultProps: __spreadProps(__spreadValues({}, import_constants.stackDefaultStyles), {
48
44
  flexDirection: "column"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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;AAAA;AAAA;AAAA,uBAAmC;AACnC,6BAAgC;AAGzB,MAAM,QAAQ,4CAA4B;AAAA,EAC/C,cAAc,iCACT,sCADS;AAAA,IAEZ,eAAe;AAAA;AAAA;",
4
+ "sourcesContent": ["import { View } from 'react-native'\n\nimport { stackDefaultStyles } from '../constants/constants'\nimport { createComponent } from '../createComponent'\nimport { StackProps } from '../types'\n\nexport const Stack = createComponent<StackProps, View>({\n defaultProps: {\n ...stackDefaultStyles,\n flexDirection: 'column',\n },\n})\n\n// test types\n// export const YStack = styled(Stack, {\n// flexDirection: 'column',\n// })\n// // test types\n// const x00 = <Stack missing={0} /> // should err\n// const x0 = <YStack missing={0} /> // should err\n// const x1 = (props: StackProps) => <YStack {...props} />\n// type ys = typeof YStack\n// type ysv = ys extends StaticComponent<any, infer V> ? V : unknown\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,uBAAmC;AACnC,6BAAgC;AAGzB,MAAM,QAAQ,4CAAkC;AAAA,EACrD,cAAc,iCACT,sCADS;AAAA,IAEZ,eAAe;AAAA,EACjB;AACF,CAAC;",
6
6
  "names": []
7
7
  }
@@ -1,9 +1,7 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
4
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
7
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -18,29 +16,27 @@ var __spreadValues = (a, b) => {
18
16
  }
19
17
  return a;
20
18
  };
21
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
22
19
  var __export = (target, all) => {
23
- __markAsModule(target);
24
20
  for (var name in all)
25
21
  __defProp(target, name, { get: all[name], enumerable: true });
26
22
  };
27
- var __reExport = (target, module2, desc) => {
28
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
29
- for (let key of __getOwnPropNames(module2))
30
- if (!__hasOwnProp.call(target, key) && key !== "default")
31
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
23
+ var __copyProps = (to, from, except, desc) => {
24
+ if (from && typeof from === "object" || typeof from === "function") {
25
+ for (let key of __getOwnPropNames(from))
26
+ if (!__hasOwnProp.call(to, key) && key !== except)
27
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
32
28
  }
33
- return target;
29
+ return to;
34
30
  };
35
- var __toModule = (module2) => {
36
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
37
- };
38
- __export(exports, {
31
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32
+ var Text_exports = {};
33
+ __export(Text_exports, {
39
34
  Text: () => Text
40
35
  });
41
- var import_platform = __toModule(require("../constants/platform"));
42
- var import_createComponent = __toModule(require("../createComponent"));
43
- var import_static = __toModule(require("../static"));
36
+ module.exports = __toCommonJS(Text_exports);
37
+ var import_helpers = require("@tamagui/helpers");
38
+ var import_platform = require("../constants/platform");
39
+ var import_createComponent = require("../createComponent");
44
40
  const ellipseStyle = {
45
41
  maxWidth: "100%",
46
42
  overflow: "hidden",
@@ -50,7 +46,7 @@ const ellipseStyle = {
50
46
  const Text = (0, import_createComponent.createComponent)({
51
47
  isText: true,
52
48
  defaultProps: {
53
- display: import_platform.isWeb ? "inline" : "inline-flex",
49
+ display: import_platform.isWeb ? "inline" : "flex",
54
50
  boxSizing: "border-box",
55
51
  fontFamily: "System",
56
52
  wordWrap: "break-word"
@@ -58,11 +54,12 @@ const Text = (0, import_createComponent.createComponent)({
58
54
  variants: {
59
55
  numberOfLines: {
60
56
  1: ellipseStyle,
61
- "[number]": (lines) => lines > 1 ? { WebkitLineClamp: 1 } : null
57
+ ":number": (lines) => lines > 1 ? { WebkitLineClamp: 1 } : null
62
58
  },
63
59
  selectable: {
64
60
  true: {
65
- userSelect: "text"
61
+ userSelect: "text",
62
+ cursor: "text"
66
63
  },
67
64
  false: {
68
65
  userSelect: "none"
@@ -81,7 +78,7 @@ const Text = (0, import_createComponent.createComponent)({
81
78
  }
82
79
  },
83
80
  deoptProps: new Set(import_platform.isWeb ? [] : ["ellipse"]),
84
- validStyles: __spreadValues(__spreadValues(__spreadValues({}, import_static.validStyles), import_static.stylePropsTextOnly), import_platform.isWeb && {
81
+ validStyles: __spreadValues(__spreadValues(__spreadValues({}, import_helpers.validStyles), import_helpers.stylePropsTextOnly), import_platform.isWeb && {
85
82
  userSelect: true,
86
83
  textOverflow: true,
87
84
  whiteSpace: true,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/Text.tsx"],
4
- "sourcesContent": ["import { isWeb } from '../constants/platform'\nimport { createComponent } from '../createComponent'\nimport { stylePropsTextOnly, validStyles } from '../static'\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 // TODO document\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;AAAA;AAAA;AAAA,sBAAsB;AACtB,6BAAgC;AAChC,oBAAgD;AAGhD,MAAM,eAAe;AAAA,EACnB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,cAAc;AAAA,EACd,YAAY;AAAA;AAGP,MAAM,OAAO,4CAA2B;AAAA,EAC7C,QAAQ;AAAA,EACR,cAAc;AAAA,IACZ,SAAS,wBAAQ,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,wBACF,eACA;AAAA,QACE,eAAe;AAAA,QACf,eAAe;AAAA;AAAA;AAAA;AAAA,EAKzB,YAAY,IAAI,IAAI,wBAAQ,KAAK,CAAC;AAAA,EAClC,aAAa,iDACR,4BACA,mCACC,yBAAS;AAAA,IACX,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,QAAQ;AAAA;AAAA;",
4
+ "sourcesContent": ["import { stylePropsTextOnly, validStyles } from '@tamagui/helpers'\nimport { Text as TextView } from 'react-native'\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, TextView>({\n isText: true,\n defaultProps: {\n display: isWeb ? '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 cursor: '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;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAgD;AAGhD,sBAAsB;AACtB,6BAAgC;AAGhC,MAAM,eAAe;AAAA,EACnB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,cAAc;AAAA,EACd,YAAY;AACd;AAEO,MAAM,OAAO,4CAAqC;AAAA,EACvD,QAAQ;AAAA,EACR,cAAc;AAAA,IACZ,SAAS,wBAAQ,WAAW;AAAA,IAC5B,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,UAAU;AAAA,EACZ;AAAA,EACA,UAAU;AAAA,IACR,eAAe;AAAA,MACb,GAAG;AAAA,MAEH,WAAW,CAAC,UAAW,QAAQ,IAAI,EAAE,iBAAiB,EAAE,IAAI;AAAA,IAC9D;AAAA,IAEA,YAAY;AAAA,MACV,MAAM;AAAA,QACJ,YAAY;AAAA,QACZ,QAAQ;AAAA,MACV;AAAA,MACA,OAAO;AAAA,QACL,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IAEA,WAAW;AAAA,MACT,MAAM;AAAA,QACJ,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IAEA,SAAS;AAAA,MACP,MAAM,wBACF,eACA;AAAA,QACE,eAAe;AAAA,QACf,eAAe;AAAA,MACjB;AAAA,IACN;AAAA,EACF;AAAA,EACA,YAAY,IAAI,IAAI,wBAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;AAAA,EAC5C,aAAa,iDACR,6BACA,oCACC,yBAAS;AAAA,IACX,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,QAAQ;AAAA,EACV;AAEJ,CAAC;",
6
6
  "names": []
7
7
  }
@@ -4,38 +4,36 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
7
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
8
  var __export = (target, all) => {
10
- __markAsModule(target);
11
9
  for (var name in all)
12
10
  __defProp(target, name, { get: all[name], enumerable: true });
13
11
  };
14
- var __reExport = (target, module2, desc) => {
15
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
16
- for (let key of __getOwnPropNames(module2))
17
- if (!__hasOwnProp.call(target, key) && key !== "default")
18
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
17
  }
20
- return target;
18
+ return to;
21
19
  };
22
- var __toModule = (module2) => {
23
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
24
- };
25
- __export(exports, {
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
+ var TextAncestorContext_exports = {};
23
+ __export(TextAncestorContext_exports, {
24
+ FallbackNativeContext: () => FallbackNativeContext,
26
25
  TextAncestorContext: () => TextAncestorContext,
27
26
  TextAncestorProvider: () => TextAncestorProvider
28
27
  });
29
- var import_react = __toModule(require("react"));
30
- var import_rnw = __toModule(require("../constants/rnw"));
28
+ module.exports = __toCommonJS(TextAncestorContext_exports);
29
+ var import_react = __toESM(require("react"));
30
+ var import_rnw = require("../constants/rnw");
31
31
  var _a;
32
- const TextAncestorContext = (_a = import_rnw.rnw) == null ? void 0 : _a.TextAncestorContext;
32
+ const FallbackNativeContext = (0, import_react.createContext)(false);
33
+ const TextAncestorContext = ((_a = import_rnw.rnw) == null ? void 0 : _a.TextAncestorContext) ?? FallbackNativeContext;
33
34
  const TextAncestorProvider = /* @__PURE__ */ __name((props) => {
34
- if (TextAncestorContext) {
35
- return /* @__PURE__ */ import_react.default.createElement(TextAncestorContext.Provider, {
36
- value: false
37
- }, props.children);
38
- }
39
- return props.children;
35
+ return /* @__PURE__ */ import_react.default.createElement(TextAncestorContext.Provider, {
36
+ value: false
37
+ }, props.children);
40
38
  }, "TextAncestorProvider");
41
39
  //# sourceMappingURL=TextAncestorContext.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/TextAncestorContext.tsx"],
4
- "sourcesContent": ["import React from 'react'\n\nimport { rnw } from '../constants/rnw'\n\nexport const TextAncestorContext = rnw?.TextAncestorContext\n\nexport const TextAncestorProvider = (props) => {\n if (TextAncestorContext) {\n return <TextAncestorContext.Provider value={false}>{props.children}</TextAncestorContext.Provider>\n }\n return props.children\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAElB,iBAAoB;AAFpB;AAIO,MAAM,sBAAsB,4CAAK;AAEjC,MAAM,uBAAuB,wBAAC,UAAU;AAC7C,MAAI,qBAAqB;AACvB,WAAO,mDAAC,oBAAoB,UAArB;AAAA,MAA8B,OAAO;AAAA,OAAQ,MAAM;AAAA;AAE5D,SAAO,MAAM;AAAA,GAJqB;",
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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAqC;AAErC,iBAAoB;AAFpB;AAIO,MAAM,wBAAwB,gCAAc,KAAK;AAEjD,MAAM,sBAAsB,6CAAK,wBAAuB;AAExD,MAAM,uBAAuB,wBAAC,UAAU;AAC7C,SAAO,mDAAC,oBAAoB,UAApB;AAAA,IAA6B,OAAO;AAAA,KAAQ,MAAM,QAAS;AACrE,GAFoC;",
6
6
  "names": []
7
7
  }
@@ -4,85 +4,62 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
7
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
8
  var __export = (target, all) => {
10
- __markAsModule(target);
11
9
  for (var name in all)
12
10
  __defProp(target, name, { get: all[name], enumerable: true });
13
11
  };
14
- var __reExport = (target, module2, desc) => {
15
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
16
- for (let key of __getOwnPropNames(module2))
17
- if (!__hasOwnProp.call(target, key) && key !== "default")
18
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
17
  }
20
- return target;
18
+ return to;
21
19
  };
22
- var __toModule = (module2) => {
23
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
24
- };
25
- __export(exports, {
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
+ var Theme_exports = {};
23
+ __export(Theme_exports, {
26
24
  Theme: () => Theme
27
25
  });
28
- var import_react = __toModule(require("react"));
29
- var import_platform = __toModule(require("../constants/platform"));
30
- var import_createTamagui = __toModule(require("../createTamagui"));
31
- var import_useConstant = __toModule(require("../hooks/useConstant"));
32
- var import_ThemeContext = __toModule(require("./ThemeContext"));
33
- var import_ThemeManagerContext = __toModule(require("./ThemeManagerContext"));
34
- const Theme = /* @__PURE__ */ __name((props) => {
26
+ module.exports = __toCommonJS(Theme_exports);
27
+ var import_react = __toESM(require("react"));
28
+ var import_platform = require("../constants/platform");
29
+ var import_wrapThemeManagerContext = require("../helpers/wrapThemeManagerContext");
30
+ var import_static = require("../static");
31
+ import_react.default["createElement"];
32
+ const Theme = (0, import_react.memo)(/* @__PURE__ */ __name(function Theme2(props) {
35
33
  var _a, _b;
36
- const parent = (0, import_react.useContext)(import_ThemeManagerContext.ThemeManagerContext);
37
- const themes = (0, import_react.useContext)(import_ThemeContext.ThemeContext);
38
- const [parentName, setParentName] = (0, import_react.useState)(parent.name || "light");
34
+ const { name, theme, themeManager, themes, className } = (0, import_static.useChangeThemeEffect)(props.name, void 0, props);
35
+ const contents = (0, import_react.useMemo)(() => {
36
+ if (!name || !theme) {
37
+ return props.children;
38
+ }
39
+ return (0, import_wrapThemeManagerContext.wrapThemeManagerContext)(props.children, themeManager);
40
+ }, [props.children, themeManager]);
39
41
  if (!themes) {
40
42
  console.warn("Error, no themes in context", props);
41
43
  return props.children;
42
44
  }
43
- const name = props.name;
44
- const nextNameParent = `${name}-${parentName}`;
45
- const nextNameParentParent = `${name}-${parent.parentName}`;
46
- const activeName = !name ? null : name in themes ? name : nextNameParent in themes ? nextNameParent : nextNameParentParent in themes ? nextNameParentParent : null;
47
- const theme = activeName ? themes[activeName] : null;
48
- const themeManager = (0, import_useConstant.useConstant)(() => {
49
- if (!theme) {
50
- return null;
51
- }
52
- const manager = new import_ThemeManagerContext.ThemeManager();
53
- if (name) {
54
- manager.setActiveTheme({ name, theme: themes[name], parentName });
55
- }
56
- return manager;
57
- });
58
- (0, import_platform.useIsomorphicLayoutEffect)(() => {
59
- if (!themeManager) {
60
- return;
61
- }
62
- themeManager.setActiveTheme({ name: activeName, theme, parentName });
63
- return parent.onChangeTheme((next) => {
64
- if (next) {
65
- themeManager.setActiveTheme({ name: next, theme: themes[next], parentName });
66
- setParentName(next);
67
- }
68
- });
69
- }, [themes, activeName, parentName]);
70
45
  if (!name || !theme) {
46
+ if (process.env.NODE_ENV === "development" && name && !theme) {
47
+ console.warn(`No theme found by name ${name}`);
48
+ }
71
49
  return props.children;
72
50
  }
73
- const contents = themeManager ? /* @__PURE__ */ import_react.default.createElement(import_ThemeManagerContext.ThemeManagerContext.Provider, {
74
- value: themeManager
75
- }, props.children) : props.children;
76
51
  if (import_platform.isWeb) {
77
52
  if (props.disableThemeClass) {
78
53
  return contents;
79
54
  }
80
- const color = (_b = (_a = themes[name]) == null ? void 0 : _a["color"]) == null ? void 0 : _b["variable"];
81
55
  return /* @__PURE__ */ import_react.default.createElement("div", {
82
- className: (0, import_createTamagui.getThemeParentClassName)(name),
83
- style: { display: "contents", color }
56
+ className: props.className ? `${className || ""} ${props.className || ""}` : className || "",
57
+ style: {
58
+ display: "contents",
59
+ color: (_b = (_a = themes[name]) == null ? void 0 : _a.color) == null ? void 0 : _b.toString()
60
+ }
84
61
  }, contents);
85
62
  }
86
63
  return contents;
87
- }, "Theme");
64
+ }, "Theme"));
88
65
  //# sourceMappingURL=Theme.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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: ThemeName | 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 const name = props.name as string\n const nextNameParent = `${name}-${parentName}`\n const nextNameParentParent = `${name}-${parent.parentName}`\n const activeName = !name\n ? null\n : name in themes\n ? name\n : nextNameParent in themes\n ? nextNameParent\n : nextNameParentParent in themes\n ? nextNameParentParent\n : null\n const theme = activeName ? themes[activeName] : 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 themeManager.setActiveTheme({ name: activeName, theme, parentName })\n return parent.onChangeTheme((next) => {\n if (next) {\n themeManager.setActiveTheme({ name: next, theme: themes[next], parentName })\n setParentName(next)\n }\n })\n }, [themes, activeName, 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 const color = themes[name]?.['color']?.['variable']\n return (\n <div\n className={getThemeParentClassName(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 return contents\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,mBAA4C;AAE5C,sBAAiD;AACjD,2BAAwC;AACxC,yBAA4B;AAE5B,0BAA6B;AAC7B,iCAAkD;AAQ3C,MAAM,QAAQ,wBAAC,UAAsB;AAf5C;AAgBE,QAAM,SAAS,6BAAW;AAC1B,QAAM,SAAS,6BAAW;AAC1B,QAAM,CAAC,YAAY,iBAAiB,2BAAS,OAAO,QAAQ;AAC5D,MAAI,CAAC,QAAQ;AACX,YAAQ,KAAK,+BAA+B;AAC5C,WAAO,MAAM;AAAA;AAEf,QAAM,OAAO,MAAM;AACnB,QAAM,iBAAiB,GAAG,QAAQ;AAClC,QAAM,uBAAuB,GAAG,QAAQ,OAAO;AAC/C,QAAM,aAAa,CAAC,OAChB,OACA,QAAQ,SACR,OACA,kBAAkB,SAClB,iBACA,wBAAwB,SACxB,uBACA;AACJ,QAAM,QAAQ,aAAa,OAAO,cAAc;AAChD,QAAM,eAAe,oCAAiC,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,iDAA0B,MAAM;AAC9B,QAAI,CAAC,cAAc;AACjB;AAAA;AAEF,iBAAa,eAAe,EAAE,MAAM,YAAY,OAAO;AACvD,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,YAAY;AAExB,MAAI,CAAC,QAAQ,CAAC,OAAO;AACnB,WAAO,MAAM;AAAA;AAGf,QAAM,WAAW,eACf,mDAAC,+CAAoB,UAArB;AAAA,IAA8B,OAAO;AAAA,KAClC,MAAM,YAGT,MAAM;AAGR,MAAI,uBAAO;AACT,QAAI,MAAM,mBAAmB;AAC3B,aAAO;AAAA;AAET,UAAM,QAAQ,mBAAO,UAAP,mBAAe,aAAf,mBAA0B;AACxC,WACE,mDAAC,OAAD;AAAA,MACE,WAAW,kDAAwB;AAAA,MAEnC,OAAO,EAAE,SAAS,YAAY;AAAA,OAE7B;AAAA;AAKP,SAAO;AAAA,GAzEY;",
4
+ "sourcesContent": ["import React, { memo, useMemo } from 'react'\n\nimport { isWeb } from '../constants/platform'\nimport { wrapThemeManagerContext } from '../helpers/wrapThemeManagerContext'\nimport { useChangeThemeEffect } from '../static'\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 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 undefined,\n props\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 if (!name || !theme) {\n return props.children\n }\n return wrapThemeManagerContext(props.children, themeManager)\n }, [props.children, themeManager])\n\n if (!themes) {\n console.warn('Error, no themes in context', props)\n return props.children\n }\n\n if (!name || !theme) {\n if (process.env.NODE_ENV === 'development' && name && !theme) {\n console.warn(`No theme found by name ${name}`)\n }\n return props.children\n }\n\n if (isWeb) {\n if (props.disableThemeClass) {\n return contents\n }\n return (\n <div\n className={\n props.className ? `${className || ''} ${props.className || ''}` : className || ''\n }\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 </div>\n )\n }\n\n return contents\n})\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAqC;AAErC,sBAAsB;AACtB,qCAAwC;AACxC,oBAAqC;AAIrC,qBAAM;AAUC,MAAM,QAAQ,uBAAK,uCAAe,OAAmB;AAlB5D;AAmBE,QAAM,EAAE,MAAM,OAAO,cAAc,QAAQ,cAAc,wCACvD,MAAM,MACN,QACA,KACF;AAIA,QAAM,WAAW,0BAAQ,MAAM;AAC7B,QAAI,CAAC,QAAQ,CAAC,OAAO;AACnB,aAAO,MAAM;AAAA,IACf;AACA,WAAO,4DAAwB,MAAM,UAAU,YAAY;AAAA,EAC7D,GAAG,CAAC,MAAM,UAAU,YAAY,CAAC;AAEjC,MAAI,CAAC,QAAQ;AACX,YAAQ,KAAK,+BAA+B,KAAK;AACjD,WAAO,MAAM;AAAA,EACf;AAEA,MAAI,CAAC,QAAQ,CAAC,OAAO;AACnB,QAAI,QAAQ,IAAI,aAAa,iBAAiB,QAAQ,CAAC,OAAO;AAC5D,cAAQ,KAAK,0BAA0B,MAAM;AAAA,IAC/C;AACA,WAAO,MAAM;AAAA,EACf;AAEA,MAAI,uBAAO;AACT,QAAI,MAAM,mBAAmB;AAC3B,aAAO;AAAA,IACT;AACA,WACE,mDAAC;AAAA,MACC,WACE,MAAM,YAAY,GAAG,aAAa,MAAM,MAAM,aAAa,OAAO,aAAa;AAAA,MAEjF,OAAO;AAAA,QACL,SAAS;AAAA,QAET,OAAO,mBAAO,UAAP,mBAAc,UAAd,mBAAqB;AAAA,MAC9B;AAAA,OAEC,QACH;AAAA,EAEJ;AAEA,SAAO;AACT,GAjD0B,QAiDzB;",
6
6
  "names": []
7
7
  }
@@ -4,31 +4,30 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
7
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
8
  var __export = (target, all) => {
10
- __markAsModule(target);
11
9
  for (var name in all)
12
10
  __defProp(target, name, { get: all[name], enumerable: true });
13
11
  };
14
- var __reExport = (target, module2, desc) => {
15
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
16
- for (let key of __getOwnPropNames(module2))
17
- if (!__hasOwnProp.call(target, key) && key !== "default")
18
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
17
  }
20
- return target;
18
+ return to;
21
19
  };
22
- var __toModule = (module2) => {
23
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
24
- };
25
- __export(exports, {
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
+ var ThemeInverse_exports = {};
23
+ __export(ThemeInverse_exports, {
26
24
  ThemeInverse: () => ThemeInverse,
27
25
  setThemeInversions: () => setThemeInversions
28
26
  });
29
- var import_react = __toModule(require("react"));
30
- var import_useTheme = __toModule(require("../hooks/useTheme"));
31
- var import_Theme = __toModule(require("./Theme"));
27
+ module.exports = __toCommonJS(ThemeInverse_exports);
28
+ var import_react = __toESM(require("react"));
29
+ var import_useTheme = require("../hooks/useTheme");
30
+ var import_Theme = require("./Theme");
32
31
  let inversions = {
33
32
  light: "dark",
34
33
  dark: "light"
@@ -40,7 +39,7 @@ __name(setThemeInversions, "setThemeInversions");
40
39
  const ThemeInverse = /* @__PURE__ */ __name((props) => {
41
40
  const themeName = (0, import_useTheme.useThemeName)();
42
41
  const defaultTheme = (0, import_useTheme.useDefaultThemeName)();
43
- const name = inversions[themeName] || inversions[defaultTheme] || null;
42
+ const name = inversions[themeName] || inversions[defaultTheme || ""] || null;
44
43
  return /* @__PURE__ */ import_react.default.createElement(import_Theme.Theme, {
45
44
  name
46
45
  }, props.children);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAElB,sBAAkD;AAClD,mBAAsB;AAItB,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,mDAAC,oBAAD;AAAA,IAAO;AAAA,KAAa,MAAM;AAAA,GAJP;",
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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAElB,sBAAkD;AAClD,mBAAsB;AAItB,IAAI,aAA2B;AAAA,EAC7B,OAAO;AAAA,EACP,MAAM;AACR;AAEO,4BAA4B,MAAoB;AACrD,eAAa;AACf;AAFgB;AAIT,MAAM,eAAe,wBAAC,UAA6B;AACxD,QAAM,YAAY,kCAAa;AAC/B,QAAM,eAAe,yCAAoB;AACzC,QAAM,OAAO,WAAW,cAAc,WAAW,gBAAgB,OAAO;AACxE,SAAO,mDAAC;AAAA,IAAM;AAAA,KAAa,MAAM,QAAS;AAC5C,GAL4B;",
6
6
  "names": []
7
7
  }