@tamagui/core 1.0.0-alpha.6 → 1.0.0-alpha.66

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 (512) hide show
  1. package/dist/cjs/conf.js +52 -0
  2. package/dist/cjs/conf.js.map +7 -0
  3. package/dist/cjs/constants/constants.js +55 -0
  4. package/dist/cjs/constants/constants.js.map +7 -0
  5. package/dist/cjs/constants/platform.js +44 -0
  6. package/dist/cjs/constants/platform.js.map +7 -0
  7. package/dist/cjs/constants/pseudos.js +42 -0
  8. package/dist/cjs/constants/pseudos.js.map +7 -0
  9. package/dist/cjs/constants/rnw.js +45 -0
  10. package/dist/cjs/constants/rnw.js.map +7 -0
  11. package/dist/cjs/createComponent.js +544 -0
  12. package/dist/cjs/createComponent.js.map +7 -0
  13. package/dist/cjs/createFont.js +51 -0
  14. package/dist/cjs/createFont.js.map +7 -0
  15. package/dist/cjs/createShorthands.js +33 -0
  16. package/dist/cjs/createShorthands.js.map +7 -0
  17. package/dist/cjs/createTamagui.js +205 -0
  18. package/dist/cjs/createTamagui.js.map +7 -0
  19. package/dist/cjs/createTheme.js +30 -0
  20. package/dist/cjs/createTheme.js.map +7 -0
  21. package/dist/cjs/createTokens.js +56 -0
  22. package/dist/cjs/createTokens.js.map +7 -0
  23. package/dist/cjs/createVariable.js +53 -0
  24. package/dist/cjs/createVariable.js.map +7 -0
  25. package/dist/cjs/helpers/addStylesUsingClassname.js +80 -0
  26. package/dist/cjs/helpers/addStylesUsingClassname.js.map +7 -0
  27. package/dist/cjs/helpers/createMediaStyle.js +57 -0
  28. package/dist/cjs/helpers/createMediaStyle.js.map +7 -0
  29. package/dist/cjs/helpers/createPropMapper.js +199 -0
  30. package/dist/cjs/helpers/createPropMapper.js.map +7 -0
  31. package/dist/cjs/helpers/createTamaguiProvider.js +80 -0
  32. package/dist/cjs/helpers/createTamaguiProvider.js.map +7 -0
  33. package/dist/cjs/helpers/extendStaticConfig.js +83 -0
  34. package/dist/cjs/helpers/extendStaticConfig.js.map +7 -0
  35. package/dist/cjs/helpers/fixNativeShadow.js +31 -0
  36. package/dist/cjs/helpers/fixNativeShadow.js.map +7 -0
  37. package/dist/cjs/helpers/fixNativeShadow.native.js +57 -0
  38. package/dist/cjs/helpers/fixNativeShadow.native.js.map +7 -0
  39. package/dist/cjs/helpers/getSplitStyles.js +186 -0
  40. package/dist/cjs/helpers/getSplitStyles.js.map +7 -0
  41. package/dist/cjs/helpers/getStylesAtomic.js +118 -0
  42. package/dist/cjs/helpers/getStylesAtomic.js.map +7 -0
  43. package/dist/cjs/helpers/getStylesAtomic.native.js +33 -0
  44. package/dist/cjs/helpers/getStylesAtomic.native.js.map +7 -0
  45. package/dist/cjs/helpers/getThemeParentClassName.js +34 -0
  46. package/dist/cjs/helpers/getThemeParentClassName.js.map +7 -0
  47. package/dist/cjs/helpers/insertStyleRule.js +47 -0
  48. package/dist/cjs/helpers/insertStyleRule.js.map +7 -0
  49. package/dist/cjs/helpers/isObj.js +30 -0
  50. package/dist/cjs/helpers/isObj.js.map +7 -0
  51. package/dist/cjs/helpers/isTamaguiElement.js +34 -0
  52. package/dist/cjs/helpers/isTamaguiElement.js.map +7 -0
  53. package/dist/cjs/helpers/matchMedia.js +41 -0
  54. package/dist/cjs/helpers/matchMedia.js.map +7 -0
  55. package/dist/cjs/helpers/matchMedia.native.js +37 -0
  56. package/dist/cjs/helpers/matchMedia.native.js.map +7 -0
  57. package/dist/cjs/helpers/themeable.js +84 -0
  58. package/dist/cjs/helpers/themeable.js.map +7 -0
  59. package/dist/cjs/helpers/validate.js +88 -0
  60. package/dist/cjs/helpers/validate.js.map +7 -0
  61. package/dist/cjs/hooks/useConstant.js +38 -0
  62. package/dist/cjs/hooks/useConstant.js.map +7 -0
  63. package/dist/cjs/hooks/useFeatures.js +106 -0
  64. package/dist/cjs/hooks/useFeatures.js.map +7 -0
  65. package/dist/cjs/hooks/useMedia.js +211 -0
  66. package/dist/cjs/hooks/useMedia.js.map +7 -0
  67. package/dist/cjs/hooks/usePressable.js +51 -0
  68. package/dist/cjs/hooks/usePressable.js.map +7 -0
  69. package/dist/cjs/hooks/useTheme.js +121 -0
  70. package/dist/cjs/hooks/useTheme.js.map +7 -0
  71. package/dist/cjs/index.js +63 -0
  72. package/dist/cjs/index.js.map +7 -0
  73. package/dist/cjs/static/postProcessStyles.js +41 -0
  74. package/dist/cjs/static/postProcessStyles.js.map +7 -0
  75. package/dist/cjs/static.js +35 -0
  76. package/dist/cjs/static.js.map +7 -0
  77. package/dist/cjs/styled.js +73 -0
  78. package/dist/cjs/styled.js.map +7 -0
  79. package/dist/cjs/tamagui-base.css +11 -0
  80. package/dist/cjs/tamagui-base.css.map +7 -0
  81. package/dist/cjs/types.js +21 -0
  82. package/dist/cjs/types.js.map +7 -0
  83. package/dist/cjs/views/AbsoluteFullscreen.js +38 -0
  84. package/dist/cjs/views/AbsoluteFullscreen.js.map +7 -0
  85. package/dist/cjs/views/AbsoluteFullscreen.native.js +1 -0
  86. package/dist/{helpers/pseudos.js.map → cjs/views/AbsoluteFullscreen.native.js.map} +0 -0
  87. package/dist/cjs/views/Animated.js +135 -0
  88. package/dist/cjs/views/Animated.js.map +7 -0
  89. package/dist/cjs/views/Stack.js +52 -0
  90. package/dist/cjs/views/Stack.js.map +7 -0
  91. package/dist/cjs/views/Text.js +94 -0
  92. package/dist/cjs/views/Text.js.map +7 -0
  93. package/dist/cjs/views/TextAncestorContext.js +46 -0
  94. package/dist/cjs/views/TextAncestorContext.js.map +7 -0
  95. package/dist/cjs/views/Theme.js +97 -0
  96. package/dist/cjs/views/Theme.js.map +7 -0
  97. package/dist/cjs/views/ThemeContext.js +30 -0
  98. package/dist/cjs/views/ThemeContext.js.map +7 -0
  99. package/dist/cjs/views/ThemeInverse.js +54 -0
  100. package/dist/cjs/views/ThemeInverse.js.map +7 -0
  101. package/dist/cjs/views/ThemeManagerContext.js +85 -0
  102. package/dist/cjs/views/ThemeManagerContext.js.map +7 -0
  103. package/dist/cjs/views/ThemeProvider.js +73 -0
  104. package/dist/cjs/views/ThemeProvider.js.map +7 -0
  105. package/dist/esm/conf.js +29 -0
  106. package/dist/esm/conf.js.map +7 -0
  107. package/dist/{constants → esm/constants}/constants.js +4 -0
  108. package/dist/esm/constants/constants.js.map +7 -0
  109. package/dist/{constants → esm/constants}/platform.js +2 -1
  110. package/dist/esm/constants/platform.js.map +7 -0
  111. package/dist/{constants → esm/constants}/pseudos.js +0 -0
  112. package/dist/{constants → esm/constants}/pseudos.js.map +1 -1
  113. package/dist/{constants → esm/constants}/rnw.js +0 -0
  114. package/dist/{constants → esm/constants}/rnw.js.map +1 -1
  115. package/dist/{createComponent.js → esm/createComponent.js} +97 -82
  116. package/dist/esm/createComponent.js.map +7 -0
  117. package/dist/{createFont.js → esm/createFont.js} +4 -0
  118. package/dist/esm/createFont.js.map +7 -0
  119. package/dist/{createShorthands.js → esm/createShorthands.js} +0 -0
  120. package/dist/{createShorthands.js.map → esm/createShorthands.js.map} +1 -1
  121. package/dist/{createTamagui.js → esm/createTamagui.js} +71 -64
  122. package/dist/esm/createTamagui.js.map +7 -0
  123. package/dist/esm/createTheme.js +7 -0
  124. package/dist/esm/createTheme.js.map +7 -0
  125. package/dist/{createTokens.js → esm/createTokens.js} +4 -0
  126. package/dist/esm/createTokens.js.map +7 -0
  127. package/dist/{createVariable.js → esm/createVariable.js} +8 -3
  128. package/dist/esm/createVariable.js.map +7 -0
  129. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js +1 -1
  130. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js.map +3 -3
  131. package/dist/{helpers → esm/helpers}/createMediaStyle.js +0 -0
  132. package/dist/{helpers → esm/helpers}/createMediaStyle.js.map +1 -1
  133. package/dist/{helpers → esm/helpers}/createPropMapper.js +48 -24
  134. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  135. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js +0 -0
  136. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js.map +1 -1
  137. package/dist/{helpers → esm/helpers}/extendStaticConfig.js +4 -2
  138. package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
  139. package/dist/{helpers → esm/helpers}/fixNativeShadow.js +0 -0
  140. package/dist/{helpers → esm/helpers}/fixNativeShadow.js.map +1 -1
  141. package/dist/esm/helpers/fixNativeShadow.native.js +34 -0
  142. package/dist/esm/helpers/fixNativeShadow.native.js.map +7 -0
  143. package/dist/{helpers → esm/helpers}/getSplitStyles.js +20 -13
  144. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  145. package/dist/{helpers → esm/helpers}/getStylesAtomic.js +2 -1
  146. package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
  147. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js +0 -0
  148. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js.map +1 -1
  149. package/dist/esm/helpers/getThemeParentClassName.js +11 -0
  150. package/dist/esm/helpers/getThemeParentClassName.js.map +7 -0
  151. package/dist/{helpers → esm/helpers}/insertStyleRule.js +0 -0
  152. package/dist/{helpers → esm/helpers}/insertStyleRule.js.map +1 -1
  153. package/dist/{helpers → esm/helpers}/isObj.js +0 -0
  154. package/dist/{helpers → esm/helpers}/isObj.js.map +1 -1
  155. package/dist/{helpers → esm/helpers}/isTamaguiElement.js +2 -1
  156. package/dist/{helpers → esm/helpers}/isTamaguiElement.js.map +2 -2
  157. package/dist/{helpers → esm/helpers}/matchMedia.js +3 -0
  158. package/dist/esm/helpers/matchMedia.js.map +7 -0
  159. package/dist/{helpers → esm/helpers}/matchMedia.native.js +1 -0
  160. package/dist/{helpers → esm/helpers}/matchMedia.native.js.map +3 -3
  161. package/dist/{helpers → esm/helpers}/themeable.js +1 -1
  162. package/dist/{helpers → esm/helpers}/themeable.js.map +2 -2
  163. package/dist/esm/helpers/validate.js +60 -0
  164. package/dist/esm/helpers/validate.js.map +7 -0
  165. package/dist/{hooks → esm/hooks}/useConstant.js +0 -0
  166. package/dist/{hooks → esm/hooks}/useConstant.js.map +1 -1
  167. package/dist/{hooks → esm/hooks}/useFeatures.js +39 -51
  168. package/dist/esm/hooks/useFeatures.js.map +7 -0
  169. package/dist/{hooks → esm/hooks}/useMedia.js +13 -6
  170. package/dist/esm/hooks/useMedia.js.map +7 -0
  171. package/dist/{hooks → esm/hooks}/usePressable.js +2 -1
  172. package/dist/{hooks → esm/hooks}/usePressable.js.map +2 -2
  173. package/dist/{hooks → esm/hooks}/useTheme.js +22 -16
  174. package/dist/esm/hooks/useTheme.js.map +7 -0
  175. package/dist/{index.js → esm/index.js} +8 -1
  176. package/dist/esm/index.js.map +7 -0
  177. package/dist/{static → esm/static}/postProcessStyles.js +0 -0
  178. package/dist/{static → esm/static}/postProcessStyles.js.map +1 -1
  179. package/dist/{static.js → esm/static.js} +0 -0
  180. package/dist/{static.js.map → esm/static.js.map} +1 -1
  181. package/dist/{styled.js → esm/styled.js} +0 -0
  182. package/dist/esm/styled.js.map +7 -0
  183. package/dist/esm/tamagui-base.css +11 -0
  184. package/dist/esm/tamagui-base.css.map +7 -0
  185. package/dist/{types.js → esm/types.js} +0 -0
  186. package/dist/{types.js.map → esm/types.js.map} +0 -0
  187. package/dist/esm/views/AbsoluteFullscreen.js +14 -0
  188. package/dist/esm/views/AbsoluteFullscreen.js.map +7 -0
  189. package/dist/esm/views/AbsoluteFullscreen.native.js +1 -0
  190. package/dist/esm/views/AbsoluteFullscreen.native.js.map +7 -0
  191. package/dist/{views → esm/views}/Animated.js +0 -0
  192. package/dist/{views → esm/views}/Animated.js.map +1 -1
  193. package/dist/{views → esm/views}/Stack.js +0 -0
  194. package/dist/{views → esm/views}/Stack.js.map +1 -1
  195. package/dist/{views → esm/views}/Text.js +2 -2
  196. package/dist/esm/views/Text.js.map +7 -0
  197. package/dist/esm/views/TextAncestorContext.js +18 -0
  198. package/dist/esm/views/TextAncestorContext.js.map +7 -0
  199. package/dist/{views → esm/views}/Theme.js +20 -14
  200. package/dist/esm/views/Theme.js.map +7 -0
  201. package/dist/{views → esm/views}/ThemeContext.js +0 -0
  202. package/dist/{views → esm/views}/ThemeContext.js.map +1 -1
  203. package/dist/{views → esm/views}/ThemeInverse.js +0 -0
  204. package/dist/{views → esm/views}/ThemeInverse.js.map +1 -1
  205. package/dist/{views → esm/views}/ThemeManagerContext.js +15 -8
  206. package/dist/esm/views/ThemeManagerContext.js.map +7 -0
  207. package/dist/{views → esm/views}/ThemeProvider.js +3 -3
  208. package/dist/esm/views/ThemeProvider.js.map +7 -0
  209. package/dist/jsx/conf.js +28 -0
  210. package/dist/jsx/constants/constants.js +17 -0
  211. package/dist/jsx/constants/platform.js +19 -0
  212. package/dist/jsx/constants/pseudos.js +17 -0
  213. package/dist/jsx/constants/rnw.js +21 -0
  214. package/dist/jsx/createComponent.js +466 -0
  215. package/dist/jsx/createFont.js +27 -0
  216. package/dist/jsx/createShorthands.js +9 -0
  217. package/dist/jsx/createTamagui.js +165 -0
  218. package/dist/jsx/createTheme.js +6 -0
  219. package/dist/jsx/createTokens.js +32 -0
  220. package/dist/jsx/createVariable.js +29 -0
  221. package/dist/jsx/helpers/addStylesUsingClassname.js +56 -0
  222. package/dist/jsx/helpers/createMediaStyle.js +33 -0
  223. package/dist/jsx/helpers/createPropMapper.js +176 -0
  224. package/dist/jsx/helpers/createTamaguiProvider.js +19 -0
  225. package/dist/jsx/helpers/extendStaticConfig.js +60 -0
  226. package/dist/jsx/helpers/fixNativeShadow.js +7 -0
  227. package/dist/jsx/helpers/fixNativeShadow.native.js +33 -0
  228. package/dist/jsx/helpers/getSplitStyles.js +154 -0
  229. package/dist/jsx/helpers/getStylesAtomic.js +83 -0
  230. package/dist/jsx/helpers/getStylesAtomic.native.js +9 -0
  231. package/dist/jsx/helpers/getThemeParentClassName.js +10 -0
  232. package/dist/jsx/helpers/insertStyleRule.js +23 -0
  233. package/dist/jsx/helpers/isObj.js +6 -0
  234. package/dist/jsx/helpers/isTamaguiElement.js +10 -0
  235. package/dist/jsx/helpers/matchMedia.js +17 -0
  236. package/dist/jsx/helpers/matchMedia.native.js +8 -0
  237. package/dist/jsx/helpers/themeable.js +23 -0
  238. package/dist/jsx/helpers/validate.js +59 -0
  239. package/dist/jsx/hooks/useConstant.js +14 -0
  240. package/dist/jsx/hooks/useFeatures.js +57 -0
  241. package/dist/jsx/hooks/useMedia.js +177 -0
  242. package/dist/jsx/hooks/usePressable.js +13 -0
  243. package/dist/jsx/hooks/useTheme.js +98 -0
  244. package/dist/jsx/index.js +38 -0
  245. package/dist/jsx/static/postProcessStyles.js +17 -0
  246. package/dist/jsx/static.js +14 -0
  247. package/dist/jsx/styled.js +20 -0
  248. package/dist/jsx/tamagui-base.css +10 -0
  249. package/dist/jsx/types.js +0 -0
  250. package/dist/jsx/views/AbsoluteFullscreen.js +13 -0
  251. package/dist/jsx/views/AbsoluteFullscreen.native.js +0 -0
  252. package/dist/jsx/views/Animated.js +74 -0
  253. package/dist/jsx/views/Stack.js +11 -0
  254. package/dist/jsx/views/Text.js +59 -0
  255. package/dist/jsx/views/TextAncestorContext.js +15 -0
  256. package/dist/jsx/views/Theme.js +63 -0
  257. package/dist/jsx/views/ThemeContext.js +5 -0
  258. package/dist/jsx/views/ThemeInverse.js +22 -0
  259. package/dist/jsx/views/ThemeManagerContext.js +61 -0
  260. package/dist/jsx/views/ThemeProvider.js +39 -0
  261. package/package.json +19 -17
  262. package/types/conf.d.ts +44 -0
  263. package/types/conf.d.ts.map +1 -0
  264. package/{dist/packages/core/src → types}/constants/constants.d.ts +2 -0
  265. package/types/constants/constants.d.ts.map +1 -0
  266. package/{dist/packages/core/src → types}/constants/platform.d.ts +0 -0
  267. package/types/constants/platform.d.ts.map +1 -0
  268. package/{dist/packages/core/src → types}/constants/pseudos.d.ts +0 -0
  269. package/types/constants/pseudos.d.ts.map +1 -0
  270. package/{dist/packages/core/src → types}/constants/rnw.d.ts +0 -0
  271. package/types/constants/rnw.d.ts.map +1 -0
  272. package/types/createComponent.d.ts +20 -0
  273. package/types/createComponent.d.ts.map +1 -0
  274. package/types/createFont.d.ts +3 -0
  275. package/types/createFont.d.ts.map +1 -0
  276. package/{dist/packages/core/src → types}/createShorthands.d.ts +0 -0
  277. package/types/createShorthands.d.ts.map +1 -0
  278. package/types/createTamagui.d.ts +13 -0
  279. package/types/createTamagui.d.ts.map +1 -0
  280. package/types/createTheme.d.ts +7 -0
  281. package/types/createTheme.d.ts.map +1 -0
  282. package/{dist/packages/core/src → types}/createTokens.d.ts +24 -14
  283. package/types/createTokens.d.ts.map +1 -0
  284. package/{dist/packages/core/src → types}/createVariable.d.ts +4 -1
  285. package/types/createVariable.d.ts.map +1 -0
  286. package/types/helpers/addStylesUsingClassname.d.ts +3 -0
  287. package/types/helpers/addStylesUsingClassname.d.ts.map +1 -0
  288. package/{dist/packages/core/src → types}/helpers/createMediaStyle.d.ts +0 -0
  289. package/types/helpers/createMediaStyle.d.ts.map +1 -0
  290. package/types/helpers/createPropMapper.d.ts +3 -0
  291. package/types/helpers/createPropMapper.d.ts.map +1 -0
  292. package/{dist/packages/core/src → types}/helpers/createTamaguiProvider.d.ts +0 -0
  293. package/types/helpers/createTamaguiProvider.d.ts.map +1 -0
  294. package/types/helpers/extendStaticConfig.d.ts +5 -0
  295. package/types/helpers/extendStaticConfig.d.ts.map +1 -0
  296. package/{dist/packages/core/src → types}/helpers/fixNativeShadow.d.ts +0 -0
  297. package/types/helpers/fixNativeShadow.d.ts.map +1 -0
  298. package/types/helpers/fixNativeShadow.native.d.ts +2 -0
  299. package/types/helpers/fixNativeShadow.native.d.ts.map +1 -0
  300. package/{dist/packages/core/src → types}/helpers/getSplitStyles.d.ts +1 -1
  301. package/types/helpers/getSplitStyles.d.ts.map +1 -0
  302. package/types/helpers/getStylesAtomic.d.ts +3 -0
  303. package/types/helpers/getStylesAtomic.d.ts.map +1 -0
  304. package/{dist/packages/core/src → types}/helpers/getStylesAtomic.native.d.ts +0 -0
  305. package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
  306. package/types/helpers/getThemeParentClassName.d.ts +2 -0
  307. package/types/helpers/getThemeParentClassName.d.ts.map +1 -0
  308. package/{dist/packages/core/src → types}/helpers/insertStyleRule.d.ts +0 -0
  309. package/types/helpers/insertStyleRule.d.ts.map +1 -0
  310. package/types/helpers/isObj.d.ts +2 -0
  311. package/types/helpers/isObj.d.ts.map +1 -0
  312. package/types/helpers/isTamaguiElement.d.ts +3 -0
  313. package/types/helpers/isTamaguiElement.d.ts.map +1 -0
  314. package/{dist/packages/core/src → types}/helpers/matchMedia.d.ts +0 -0
  315. package/types/helpers/matchMedia.d.ts.map +1 -0
  316. package/{dist/packages/core/src → types}/helpers/matchMedia.native.d.ts +0 -0
  317. package/types/helpers/matchMedia.native.d.ts.map +1 -0
  318. package/{dist/packages/core/src → types}/helpers/themeable.d.ts +0 -0
  319. package/types/helpers/themeable.d.ts.map +1 -0
  320. package/types/helpers/validate.d.ts +4 -0
  321. package/types/helpers/validate.d.ts.map +1 -0
  322. package/{dist/packages/core/src → types}/hooks/useConstant.d.ts +0 -0
  323. package/types/hooks/useConstant.d.ts.map +1 -0
  324. package/{dist/packages/core/src → types}/hooks/useFeatures.d.ts +0 -0
  325. package/types/hooks/useFeatures.d.ts.map +1 -0
  326. package/{dist/packages/core/src → types}/hooks/useMedia.d.ts +0 -0
  327. package/types/hooks/useMedia.d.ts.map +1 -0
  328. package/{dist/packages/core/src → types}/hooks/usePressable.d.ts +0 -0
  329. package/types/hooks/usePressable.d.ts.map +1 -0
  330. package/types/hooks/useTheme.d.ts +7 -0
  331. package/types/hooks/useTheme.d.ts.map +1 -0
  332. package/{dist/packages/core/src → types}/index.d.ts +5 -1
  333. package/types/index.d.ts.map +1 -0
  334. package/{dist/packages/core/src → types}/static/postProcessStyles.d.ts +0 -0
  335. package/types/static/postProcessStyles.d.ts.map +1 -0
  336. package/{dist/packages/core/src → types}/static.d.ts +3 -0
  337. package/types/static.d.ts.map +1 -0
  338. package/types/styled.d.ts +21 -0
  339. package/types/styled.d.ts.map +1 -0
  340. package/{dist/packages/core/src → types}/types.d.ts +89 -70
  341. package/types/types.d.ts.map +1 -0
  342. package/{dist/packages/core/src → types}/views/Animated.d.ts +0 -0
  343. package/types/views/Animated.d.ts.map +1 -0
  344. package/{dist/packages/core/src → types}/views/Stack.d.ts +0 -0
  345. package/types/views/Stack.d.ts.map +1 -0
  346. package/types/views/Text.d.ts +3 -0
  347. package/types/views/Text.d.ts.map +1 -0
  348. package/types/views/TextAncestorContext.d.ts +5 -0
  349. package/types/views/TextAncestorContext.d.ts.map +1 -0
  350. package/{dist/packages/core/src → types}/views/Theme.d.ts +1 -1
  351. package/types/views/Theme.d.ts.map +1 -0
  352. package/{dist/packages/core/src → types}/views/ThemeContext.d.ts +0 -0
  353. package/types/views/ThemeContext.d.ts.map +1 -0
  354. package/{dist/packages/core/src → types}/views/ThemeInverse.d.ts +0 -0
  355. package/types/views/ThemeInverse.d.ts.map +1 -0
  356. package/types/views/ThemeManagerContext.d.ts +22 -0
  357. package/types/views/ThemeManagerContext.d.ts.map +1 -0
  358. package/{dist/packages/core/src → types}/views/ThemeProvider.d.ts +0 -1
  359. package/types/views/ThemeProvider.d.ts.map +1 -0
  360. package/dist/constants/constants.js.map +0 -7
  361. package/dist/constants/platform.js.map +0 -7
  362. package/dist/constants/styleConstants.js +0 -46
  363. package/dist/constants/styleConstants.js.map +0 -7
  364. package/dist/createComponent.js.map +0 -7
  365. package/dist/createFont.js.map +0 -7
  366. package/dist/createTamagui.js.map +0 -7
  367. package/dist/createTheme.js +0 -20
  368. package/dist/createTheme.js.map +0 -7
  369. package/dist/createTokens.js.map +0 -7
  370. package/dist/createVariable.js.map +0 -7
  371. package/dist/helpers/createPropMapper.js.map +0 -7
  372. package/dist/helpers/extendStaticConfig.js.map +0 -7
  373. package/dist/helpers/fixNativeShadow.native.js +0 -30
  374. package/dist/helpers/fixNativeShadow.native.js.map +0 -7
  375. package/dist/helpers/getSplitStyles.js.map +0 -7
  376. package/dist/helpers/getStylesAtomic.js.map +0 -7
  377. package/dist/helpers/isComponent.js +0 -10
  378. package/dist/helpers/isComponent.js.map +0 -7
  379. package/dist/helpers/isTamaguiComponent.js +0 -10
  380. package/dist/helpers/isTamaguiComponent.js.map +0 -7
  381. package/dist/helpers/matchMedia.js.map +0 -7
  382. package/dist/helpers/pseudos.js +0 -1
  383. package/dist/hooks/useFeatures.js.map +0 -7
  384. package/dist/hooks/useForceUpdate.js +0 -28
  385. package/dist/hooks/useForceUpdate.js.map +0 -7
  386. package/dist/hooks/useMedia.js.map +0 -7
  387. package/dist/hooks/useTheme.js.map +0 -7
  388. package/dist/index.cjs +0 -2137
  389. package/dist/index.cjs.map +0 -7
  390. package/dist/index.js.map +0 -7
  391. package/dist/packages/core/src/constants/constants.d.ts.map +0 -1
  392. package/dist/packages/core/src/constants/platform.d.ts.map +0 -1
  393. package/dist/packages/core/src/constants/pseudos.d.ts.map +0 -1
  394. package/dist/packages/core/src/constants/rnw.d.ts.map +0 -1
  395. package/dist/packages/core/src/createComponent.d.ts +0 -16
  396. package/dist/packages/core/src/createComponent.d.ts.map +0 -1
  397. package/dist/packages/core/src/createShorthands.d.ts.map +0 -1
  398. package/dist/packages/core/src/createTamagui.d.ts +0 -37
  399. package/dist/packages/core/src/createTamagui.d.ts.map +0 -1
  400. package/dist/packages/core/src/createTheme.d.ts +0 -5
  401. package/dist/packages/core/src/createTheme.d.ts.map +0 -1
  402. package/dist/packages/core/src/createTokens.d.ts.map +0 -1
  403. package/dist/packages/core/src/createVariable.d.ts.map +0 -1
  404. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts +0 -2
  405. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts.map +0 -1
  406. package/dist/packages/core/src/helpers/createMediaStyle.d.ts.map +0 -1
  407. package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts.map +0 -1
  408. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts +0 -5
  409. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts.map +0 -1
  410. package/dist/packages/core/src/helpers/fixNativeShadow.d.ts.map +0 -1
  411. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts +0 -2
  412. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts.map +0 -1
  413. package/dist/packages/core/src/helpers/getSplitStyles.d.ts.map +0 -1
  414. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts +0 -3
  415. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts.map +0 -1
  416. package/dist/packages/core/src/helpers/getStylesAtomic.native.d.ts.map +0 -1
  417. package/dist/packages/core/src/helpers/insertStyleRule.d.ts.map +0 -1
  418. package/dist/packages/core/src/helpers/matchMedia.d.ts.map +0 -1
  419. package/dist/packages/core/src/helpers/matchMedia.native.d.ts.map +0 -1
  420. package/dist/packages/core/src/helpers/themeable.d.ts.map +0 -1
  421. package/dist/packages/core/src/hooks/useConstant.d.ts.map +0 -1
  422. package/dist/packages/core/src/hooks/useFeatures.d.ts.map +0 -1
  423. package/dist/packages/core/src/hooks/useForceUpdate.d.ts +0 -2
  424. package/dist/packages/core/src/hooks/useForceUpdate.d.ts.map +0 -1
  425. package/dist/packages/core/src/hooks/useMedia.d.ts.map +0 -1
  426. package/dist/packages/core/src/hooks/usePressable.d.ts.map +0 -1
  427. package/dist/packages/core/src/hooks/useTheme.d.ts +0 -18
  428. package/dist/packages/core/src/hooks/useTheme.d.ts.map +0 -1
  429. package/dist/packages/core/src/index.d.ts.map +0 -1
  430. package/dist/packages/core/src/static/postProcessStyles.d.ts.map +0 -1
  431. package/dist/packages/core/src/static.d.ts.map +0 -1
  432. package/dist/packages/core/src/styled.d.ts +0 -16
  433. package/dist/packages/core/src/styled.d.ts.map +0 -1
  434. package/dist/packages/core/src/types.d.ts.map +0 -1
  435. package/dist/packages/core/src/views/Animated.d.ts.map +0 -1
  436. package/dist/packages/core/src/views/Stack.d.ts.map +0 -1
  437. package/dist/packages/core/src/views/Text.d.ts +0 -3
  438. package/dist/packages/core/src/views/Text.d.ts.map +0 -1
  439. package/dist/packages/core/src/views/TextAncestorContext.d.ts +0 -3
  440. package/dist/packages/core/src/views/TextAncestorContext.d.ts.map +0 -1
  441. package/dist/packages/core/src/views/Theme.d.ts.map +0 -1
  442. package/dist/packages/core/src/views/ThemeContext.d.ts.map +0 -1
  443. package/dist/packages/core/src/views/ThemeInverse.d.ts.map +0 -1
  444. package/dist/packages/core/src/views/ThemeManagerContext.d.ts +0 -15
  445. package/dist/packages/core/src/views/ThemeManagerContext.d.ts.map +0 -1
  446. package/dist/packages/core/src/views/ThemeProvider.d.ts.map +0 -1
  447. package/dist/packages/helpers/src/AllRules.d.ts +0 -3
  448. package/dist/packages/helpers/src/AllRules.d.ts.map +0 -1
  449. package/dist/packages/helpers/src/concatClassName.d.ts +0 -2
  450. package/dist/packages/helpers/src/concatClassName.d.ts.map +0 -1
  451. package/dist/packages/helpers/src/index.d.ts +0 -5
  452. package/dist/packages/helpers/src/index.d.ts.map +0 -1
  453. package/dist/packages/helpers/src/types.d.ts +0 -8
  454. package/dist/packages/helpers/src/types.d.ts.map +0 -1
  455. package/dist/packages/helpers/src/validStyleProps.d.ts +0 -475
  456. package/dist/packages/helpers/src/validStyleProps.d.ts.map +0 -1
  457. package/dist/styled.js.map +0 -7
  458. package/dist/views/SafeAreaProvider.js +0 -30
  459. package/dist/views/SafeAreaProvider.js.map +0 -7
  460. package/dist/views/Text.js.map +0 -7
  461. package/dist/views/TextAncestorContext.js +0 -18
  462. package/dist/views/TextAncestorContext.js.map +0 -7
  463. package/dist/views/Theme.js.map +0 -7
  464. package/dist/views/ThemeManagerContext.js.map +0 -7
  465. package/dist/views/ThemeProvider.js.map +0 -7
  466. package/src/constants/constants.ts +0 -12
  467. package/src/constants/platform.ts +0 -15
  468. package/src/constants/pseudos.ts +0 -14
  469. package/src/constants/rnw.tsx +0 -20
  470. package/src/createComponent.tsx +0 -608
  471. package/src/createFont.ts +0 -26
  472. package/src/createShorthands.ts +0 -5
  473. package/src/createTamagui.ts +0 -207
  474. package/src/createTheme.ts +0 -19
  475. package/src/createTokens.ts +0 -83
  476. package/src/createVariable.ts +0 -26
  477. package/src/helpers/addStylesUsingClassname.tsx +0 -60
  478. package/src/helpers/createMediaStyle.ts +0 -46
  479. package/src/helpers/createPropMapper.ts +0 -184
  480. package/src/helpers/createTamaguiProvider.tsx +0 -22
  481. package/src/helpers/extendStaticConfig.ts +0 -68
  482. package/src/helpers/fixNativeShadow.native.tsx +0 -27
  483. package/src/helpers/fixNativeShadow.tsx +0 -2
  484. package/src/helpers/getSplitStyles.tsx +0 -197
  485. package/src/helpers/getStylesAtomic.native.ts +0 -3
  486. package/src/helpers/getStylesAtomic.ts +0 -103
  487. package/src/helpers/insertStyleRule.tsx +0 -18
  488. package/src/helpers/isObj.ts +0 -1
  489. package/src/helpers/isTamaguiElement.tsx +0 -5
  490. package/src/helpers/matchMedia.native.ts +0 -3
  491. package/src/helpers/matchMedia.ts +0 -9
  492. package/src/helpers/themeable.tsx +0 -42
  493. package/src/hooks/useConstant.tsx +0 -10
  494. package/src/hooks/useFeatures.tsx +0 -78
  495. package/src/hooks/useMedia.tsx +0 -194
  496. package/src/hooks/usePressable.tsx +0 -9
  497. package/src/hooks/useTheme.tsx +0 -107
  498. package/src/index.ts +0 -32
  499. package/src/static/postProcessStyles.tsx +0 -20
  500. package/src/static.ts +0 -22
  501. package/src/styled.ts +0 -82
  502. package/src/types.tsx +0 -561
  503. package/src/views/Animated.tsx +0 -121
  504. package/src/views/Stack.tsx +0 -21
  505. package/src/views/Text.tsx +0 -66
  506. package/src/views/TextAncestorContext.tsx +0 -12
  507. package/src/views/Theme.tsx +0 -80
  508. package/src/views/ThemeContext.tsx +0 -5
  509. package/src/views/ThemeInverse.tsx +0 -22
  510. package/src/views/ThemeManagerContext.tsx +0 -50
  511. package/src/views/ThemeProvider.tsx +0 -52
  512. package/types.d.ts +0 -555
@@ -0,0 +1,544 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
25
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
26
+ var __objRest = (source, exclude) => {
27
+ var target = {};
28
+ for (var prop in source)
29
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
30
+ target[prop] = source[prop];
31
+ if (source != null && __getOwnPropSymbols)
32
+ for (var prop of __getOwnPropSymbols(source)) {
33
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
34
+ target[prop] = source[prop];
35
+ }
36
+ return target;
37
+ };
38
+ var __export = (target, all) => {
39
+ for (var name in all)
40
+ __defProp(target, name, { get: all[name], enumerable: true });
41
+ };
42
+ var __reExport = (target, module2, copyDefault, desc) => {
43
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
44
+ for (let key of __getOwnPropNames(module2))
45
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
46
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
47
+ }
48
+ return target;
49
+ };
50
+ var __toESM = (module2, isNodeMode) => {
51
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
52
+ };
53
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
54
+ return (module2, temp) => {
55
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
56
+ };
57
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
58
+ var createComponent_exports = {};
59
+ __export(createComponent_exports, {
60
+ AbsoluteFill: () => AbsoluteFill,
61
+ Spacer: () => Spacer,
62
+ createComponent: () => createComponent,
63
+ mouseUps: () => mouseUps,
64
+ spacedChildren: () => spacedChildren
65
+ });
66
+ var import_tamagui_base = require("./tamagui-base.css");
67
+ var import_helpers = require("@tamagui/helpers");
68
+ var import_use_force_update = require("@tamagui/use-force-update");
69
+ var import_react = __toESM(require("react"));
70
+ var import_react_native = require("react-native");
71
+ var import_conf = require("./conf");
72
+ var import_constants = require("./constants/constants");
73
+ var import_platform = require("./constants/platform");
74
+ var import_rnw = require("./constants/rnw");
75
+ var import_addStylesUsingClassname = require("./helpers/addStylesUsingClassname");
76
+ var import_extendStaticConfig = require("./helpers/extendStaticConfig");
77
+ var import_getSplitStyles = require("./helpers/getSplitStyles");
78
+ var import_useFeatures = require("./hooks/useFeatures");
79
+ var import_usePressable = require("./hooks/usePressable");
80
+ var import_useTheme = require("./hooks/useTheme");
81
+ var import_TextAncestorContext = require("./views/TextAncestorContext");
82
+ const mouseUps = /* @__PURE__ */ new Set();
83
+ if (typeof document !== "undefined") {
84
+ document.addEventListener("mouseup", () => {
85
+ mouseUps.forEach((x) => x());
86
+ mouseUps.clear();
87
+ });
88
+ }
89
+ const defaultComponentState = {
90
+ hover: false,
91
+ press: false,
92
+ pressIn: false
93
+ };
94
+ function createShallowUpdate(setter) {
95
+ return (next) => {
96
+ setter((prev) => {
97
+ for (const key in next) {
98
+ if (prev[key] !== next[key]) {
99
+ return __spreadValues(__spreadValues({}, prev), next);
100
+ }
101
+ }
102
+ return prev;
103
+ });
104
+ };
105
+ }
106
+ __name(createShallowUpdate, "createShallowUpdate");
107
+ function createComponent(configIn) {
108
+ let staticConfig;
109
+ if ("parsed" in configIn) {
110
+ staticConfig = configIn;
111
+ } else {
112
+ staticConfig = (0, import_extendStaticConfig.parseStaticConfig)(configIn);
113
+ }
114
+ const { Component, validStyles, isText, isZStack } = staticConfig;
115
+ const validStyleProps = validStyles ?? import_helpers.stylePropsView;
116
+ let defaultProps = null;
117
+ let tamaguiConfig;
118
+ let defaultNativeStyle = null;
119
+ let defaultsClassName = "";
120
+ let initialTheme;
121
+ const component = (0, import_react.forwardRef)((props, forwardedRef) => {
122
+ var _b;
123
+ const forceUpdate = (0, import_use_force_update.useForceUpdate)();
124
+ const features = (0, import_useFeatures.useFeatures)(props, { forceUpdate });
125
+ const theme = (0, import_useTheme.useTheme)();
126
+ const [state, set_] = (0, import_react.useState)(defaultComponentState);
127
+ const set = createShallowUpdate(set_);
128
+ if (process.env.NODE_ENV === "development" && !isText && import_platform.isWeb) {
129
+ import_react.Children.toArray(props.children).forEach((item) => {
130
+ if (typeof item === "string") {
131
+ console.error(`Unexpected text node: ${item}. A text node cannot be a child of a <View>.`);
132
+ }
133
+ });
134
+ }
135
+ const hasTextAncestor = import_platform.isWeb ? (0, import_react.useContext)(import_TextAncestorContext.TextAncestorContext) : false;
136
+ const hostRef = (0, import_react.useRef)(null);
137
+ const {
138
+ viewProps: viewPropsIn,
139
+ pseudos,
140
+ style,
141
+ classNames
142
+ } = (0, import_getSplitStyles.getSplitStyles)(props, staticConfig, theme);
143
+ const _a = viewPropsIn, {
144
+ tag,
145
+ hitSlop,
146
+ children,
147
+ pointerEvents,
148
+ onPress,
149
+ onPressIn,
150
+ onPressOut,
151
+ onHoverIn,
152
+ onHoverOut,
153
+ space,
154
+ disabled,
155
+ onMouseEnter,
156
+ onMouseLeave,
157
+ hrefAttrs,
158
+ onMoveShouldSetResponder,
159
+ onMoveShouldSetResponderCapture,
160
+ onResponderEnd,
161
+ onResponderGrant,
162
+ onResponderMove,
163
+ onResponderReject,
164
+ onResponderRelease,
165
+ onResponderStart,
166
+ onResponderTerminate,
167
+ onResponderTerminationRequest,
168
+ onScrollShouldSetResponder,
169
+ onScrollShouldSetResponderCapture,
170
+ onSelectionChangeShouldSetResponder,
171
+ onSelectionChangeShouldSetResponderCapture,
172
+ onStartShouldSetResponder,
173
+ onStartShouldSetResponderCapture,
174
+ onMouseDown,
175
+ onClick,
176
+ accessible,
177
+ accessibilityRole,
178
+ onLayout
179
+ } = _a, viewProps = __objRest(_a, [
180
+ "tag",
181
+ "hitSlop",
182
+ "children",
183
+ "pointerEvents",
184
+ "onPress",
185
+ "onPressIn",
186
+ "onPressOut",
187
+ "onHoverIn",
188
+ "onHoverOut",
189
+ "space",
190
+ "disabled",
191
+ "onMouseEnter",
192
+ "onMouseLeave",
193
+ "hrefAttrs",
194
+ "onMoveShouldSetResponder",
195
+ "onMoveShouldSetResponderCapture",
196
+ "onResponderEnd",
197
+ "onResponderGrant",
198
+ "onResponderMove",
199
+ "onResponderReject",
200
+ "onResponderRelease",
201
+ "onResponderStart",
202
+ "onResponderTerminate",
203
+ "onResponderTerminationRequest",
204
+ "onScrollShouldSetResponder",
205
+ "onScrollShouldSetResponderCapture",
206
+ "onSelectionChangeShouldSetResponder",
207
+ "onSelectionChangeShouldSetResponderCapture",
208
+ "onStartShouldSetResponder",
209
+ "onStartShouldSetResponderCapture",
210
+ "onMouseDown",
211
+ "onClick",
212
+ "accessible",
213
+ "accessibilityRole",
214
+ "onLayout"
215
+ ]);
216
+ if (!import_platform.isWeb) {
217
+ if (accessible)
218
+ viewProps.accessible = accessible;
219
+ if (accessibilityRole)
220
+ viewProps.accessibilityRole = accessibilityRole;
221
+ }
222
+ if (import_platform.isWeb) {
223
+ import_rnw.rnw.useResponderEvents(hostRef, {
224
+ onMoveShouldSetResponder,
225
+ onMoveShouldSetResponderCapture,
226
+ onResponderEnd,
227
+ onResponderGrant,
228
+ onResponderMove,
229
+ onResponderReject,
230
+ onResponderRelease,
231
+ onResponderStart,
232
+ onResponderTerminate,
233
+ onResponderTerminationRequest,
234
+ onScrollShouldSetResponder,
235
+ onScrollShouldSetResponderCapture,
236
+ onSelectionChangeShouldSetResponder,
237
+ onSelectionChangeShouldSetResponderCapture,
238
+ onStartShouldSetResponder,
239
+ onStartShouldSetResponderCapture
240
+ });
241
+ }
242
+ const internal = (0, import_react.useRef)();
243
+ if (!internal.current) {
244
+ internal.current = {
245
+ isMounted: true
246
+ };
247
+ }
248
+ (0, import_react.useEffect)(() => {
249
+ internal.current.isMounted = true;
250
+ return () => {
251
+ mouseUps.delete(unPress);
252
+ internal.current.isMounted = false;
253
+ };
254
+ }, []);
255
+ const isInternalComponent = !Component || typeof Component === "string";
256
+ const element = import_platform.isWeb ? isInternalComponent ? tag || Component : Component : Component;
257
+ const ReactView = !import_platform.isWeb ? import_react_native.View : element || (hasTextAncestor ? "span" : "div");
258
+ const ReactText = !import_platform.isWeb ? import_react_native.Text : element || "span";
259
+ const ViewComponent = isText ? ReactText : ReactView;
260
+ const isHovering = !import_platform.isTouchDevice && !disabled && pseudos && state.hover;
261
+ const isPressing = !disabled && pseudos && state.press;
262
+ const styles = [
263
+ defaultNativeStyle ? defaultNativeStyle.base : null,
264
+ style,
265
+ isHovering ? pseudos.hoverStyle || null : null,
266
+ isPressing ? pseudos.pressStyle || null : null
267
+ ];
268
+ if (import_platform.isWeb) {
269
+ const stylesClassNames = (0, import_addStylesUsingClassname.useStylesAsClassname)(styles);
270
+ const classList = isText ? [
271
+ defaultsClassName,
272
+ classNames,
273
+ stylesClassNames,
274
+ props.className
275
+ ] : [defaultsClassName, props.className, classNames, stylesClassNames];
276
+ const className = (0, import_helpers.concatClassName)(...classList);
277
+ if (process.env.NODE_ENV === "development") {
278
+ if (props["debug"]) {
279
+ console.log("\xBB className", { style, styles, classList, stylesClassNames, className: className.trim().split(" ") });
280
+ }
281
+ }
282
+ viewProps.className = className;
283
+ } else {
284
+ viewProps.style = styles;
285
+ }
286
+ if (pointerEvents) {
287
+ viewProps.pointerEvents = pointerEvents;
288
+ }
289
+ if (import_platform.isWeb) {
290
+ const platformMethodsRef = import_rnw.rnw.usePlatformMethods(viewProps);
291
+ const setRef = import_rnw.rnw.useMergeRefs(hostRef, platformMethodsRef, forwardedRef);
292
+ viewProps.ref = setRef;
293
+ if (props.href != null && hrefAttrs != null) {
294
+ const { download, rel, target } = hrefAttrs;
295
+ if (download != null) {
296
+ viewProps.download = download;
297
+ }
298
+ if (rel != null) {
299
+ viewProps.rel = rel;
300
+ }
301
+ if (typeof target === "string") {
302
+ viewProps.target = target.charAt(0) !== "_" ? "_" + target : target;
303
+ }
304
+ }
305
+ } else {
306
+ if (forwardedRef) {
307
+ viewProps.ref = forwardedRef;
308
+ }
309
+ }
310
+ const attachPress = !!(pseudos && pseudos.pressStyle || onPress || onPressOut || onPressIn || onClick);
311
+ const attachHover = import_platform.isWeb && !import_platform.isTouchDevice && !!(pseudos && pseudos.hoverStyle || onHoverIn || onHoverOut || onMouseEnter || onMouseLeave);
312
+ const shouldAttach = internal.current.hasEverHadEvents || attachPress || attachHover || "pressStyle" in props || "onPress" in props || "onPressIn" in props || "onPressOut" in props || import_platform.isWeb && ("hoverStyle" in props || "onClick" in props || "onHoverIn" in props || "onHoverOut" in props || "onMouseEnter" in props || "onMouseLeave" in props);
313
+ if (shouldAttach) {
314
+ internal.current.hasEverHadEvents = true;
315
+ }
316
+ const unPress = (0, import_react.useCallback)(() => {
317
+ if (!internal.current.isMounted)
318
+ return;
319
+ set({
320
+ press: false,
321
+ pressIn: false
322
+ });
323
+ }, []);
324
+ const events = shouldAttach ? __spreadProps(__spreadValues(__spreadValues({}, !import_platform.isWeb && {
325
+ onPressOut: (e) => {
326
+ unPress();
327
+ onPressOut == null ? void 0 : onPressOut(e);
328
+ }
329
+ }), import_platform.isWeb && !import_platform.isTouchDevice && {
330
+ onMouseEnter: attachHover || attachPress ? (e) => {
331
+ let next = {};
332
+ if (attachHover) {
333
+ next.hover = true;
334
+ }
335
+ if (state.pressIn) {
336
+ next.press = true;
337
+ }
338
+ if (Object.keys(next).length) {
339
+ set(next);
340
+ }
341
+ onHoverIn == null ? void 0 : onHoverIn(e);
342
+ onMouseEnter == null ? void 0 : onMouseEnter(e);
343
+ } : void 0,
344
+ onMouseLeave: attachHover || attachPress ? (e) => {
345
+ let next = {};
346
+ mouseUps.add(unPress);
347
+ if (attachHover) {
348
+ next.hover = false;
349
+ }
350
+ if (state.pressIn) {
351
+ next.press = false;
352
+ next.pressIn = false;
353
+ }
354
+ if (Object.keys(next).length) {
355
+ set(next);
356
+ }
357
+ onHoverOut == null ? void 0 : onHoverOut(e);
358
+ onMouseLeave == null ? void 0 : onMouseLeave(e);
359
+ } : void 0
360
+ }), {
361
+ onMouseDown: attachPress ? (e) => {
362
+ set({
363
+ press: true,
364
+ pressIn: true
365
+ });
366
+ onPressIn == null ? void 0 : onPressIn(e);
367
+ onMouseDown == null ? void 0 : onMouseDown(e);
368
+ } : onPressIn,
369
+ onClick: attachPress ? (e) => {
370
+ onPress == null ? void 0 : onPress(e);
371
+ onClick == null ? void 0 : onClick(e);
372
+ unPress();
373
+ onPressOut == null ? void 0 : onPressOut(e);
374
+ } : onPressOut
375
+ }) : null;
376
+ if (events) {
377
+ if (typeof ViewComponent !== "string") {
378
+ const [pressProps] = (0, import_usePressable.usePressable)({
379
+ disabled,
380
+ hitSlop,
381
+ onPressIn: events.onMouseDown,
382
+ onPressOut: events.onPressOut,
383
+ onPress: events.onClick
384
+ });
385
+ Object.assign(viewProps, pressProps);
386
+ } else {
387
+ Object.assign(viewProps, events);
388
+ }
389
+ }
390
+ const childEls = spacedChildren({
391
+ children,
392
+ space,
393
+ flexDirection: props.flexDirection || (defaultProps == null ? void 0 : defaultProps.flexDirection),
394
+ isZStack
395
+ });
396
+ let content;
397
+ if (import_platform.isWeb && import_rnw.rnw) {
398
+ const domProps = import_rnw.rnw.createDOMProps(viewProps);
399
+ const className = domProps.className && domProps.className !== viewProps.className ? `${domProps.className} ${viewProps.className}` : viewProps.className;
400
+ Object.assign(viewProps, domProps);
401
+ if (staticConfig.isReactNativeWeb) {
402
+ viewProps.dataSet = viewProps.dataSet || {};
403
+ Object.assign(viewProps.dataSet, { __className: className });
404
+ } else {
405
+ viewProps.className = className;
406
+ }
407
+ content = (0, import_react.createElement)(ViewComponent, viewProps, childEls);
408
+ } else {
409
+ content = (0, import_react.createElement)(ViewComponent, viewProps, childEls);
410
+ }
411
+ const shouldWrapTextAncestor = import_platform.isWeb && isText && !hasTextAncestor;
412
+ if (shouldWrapTextAncestor) {
413
+ content = (0, import_react.createElement)(import_TextAncestorContext.TextAncestorContext.Provider, { value: true }, content);
414
+ }
415
+ if (process.env.NODE_ENV === "development") {
416
+ if (props["debug"]) {
417
+ viewProps["debug"] = true;
418
+ console.log("\xBB props in:", props);
419
+ console.log("\xBB props out:", viewProps, (_b = viewProps.className) == null ? void 0 : _b.split(" "));
420
+ console.log("\xBB etc:", { shouldAttach, ViewComponent, viewProps, styles, pseudos, content, childEls });
421
+ if (typeof window !== "undefined") {
422
+ console.log("\xBB component info", { staticConfig, tamaguiConfig });
423
+ }
424
+ }
425
+ }
426
+ if (features.length) {
427
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, features, content);
428
+ }
429
+ return content;
430
+ });
431
+ (0, import_conf.onConfiguredOnce)((conf) => {
432
+ var _a;
433
+ const shouldDebug = (_a = staticConfig.defaultProps) == null ? void 0 : _a.debug;
434
+ tamaguiConfig = conf;
435
+ initialTheme = conf.themes[conf.defaultTheme || Object.keys(conf.themes)[0]];
436
+ const { classNames, pseudos, style, viewProps } = (0, import_getSplitStyles.getSplitStyles)(staticConfig.defaultProps, staticConfig, initialTheme);
437
+ if (import_platform.isWeb) {
438
+ if (classNames) {
439
+ defaultsClassName += classNames + " ";
440
+ }
441
+ defaultsClassName += (0, import_addStylesUsingClassname.addStylesUsingClassname)([style, pseudos]);
442
+ if (process.env.NODE_ENV === "development" && shouldDebug) {
443
+ console.log("tamagui \u{1F41B}:", { defaultsClassName: defaultsClassName.split(" ") });
444
+ }
445
+ } else {
446
+ const sheetStyles = {};
447
+ for (const styleObj of style) {
448
+ Object.assign(sheetStyles, styleObj);
449
+ }
450
+ defaultNativeStyle = import_react_native.StyleSheet.create({
451
+ base: sheetStyles
452
+ });
453
+ }
454
+ component.defaultProps = __spreadValues(__spreadValues({}, viewProps), component.defaultProps);
455
+ if (process.env.NODE_ENV === "development" && shouldDebug) {
456
+ console.log("tamagui \u{1F41B}:", { initialTheme, classNames, pseudos, style, viewProps, defaultsClassName, component });
457
+ }
458
+ });
459
+ component["staticConfig"] = __spreadValues({
460
+ validStyles: validStyleProps
461
+ }, staticConfig);
462
+ const res = component;
463
+ res["extractable"] = (Component2, conf) => {
464
+ Component2["staticConfig"] = (0, import_extendStaticConfig.extendStaticConfig)(res, __spreadProps(__spreadValues({}, conf), {
465
+ neverFlatten: true,
466
+ defaultProps: __spreadValues(__spreadValues({}, Component2.defaultProps), conf == null ? void 0 : conf.defaultProps)
467
+ }));
468
+ return Component2;
469
+ };
470
+ return res;
471
+ }
472
+ __name(createComponent, "createComponent");
473
+ let hasWarnedOnce = false;
474
+ const Spacer = createComponent({
475
+ defaultProps: __spreadProps(__spreadValues({}, import_constants.stackDefaultStyles), {
476
+ size: true
477
+ }),
478
+ variants: {
479
+ size: {
480
+ "...size": (size, { tokens }) => {
481
+ size = size == true ? "$true" : size;
482
+ return {
483
+ width: tokens.size[size] ?? size,
484
+ height: tokens.size[size] ?? size
485
+ };
486
+ }
487
+ },
488
+ direction: {
489
+ horizontal: {
490
+ height: 0
491
+ },
492
+ vertical: {
493
+ width: 0
494
+ }
495
+ }
496
+ }
497
+ });
498
+ function spacedChildren({
499
+ isZStack,
500
+ children,
501
+ space,
502
+ flexDirection
503
+ }) {
504
+ var _a;
505
+ if (!space && !isZStack) {
506
+ return children;
507
+ }
508
+ const childrenList = import_react.Children.toArray(children);
509
+ const len = childrenList.length;
510
+ if (len === 1) {
511
+ return children;
512
+ }
513
+ const next = [];
514
+ for (const [index, child] of childrenList.entries()) {
515
+ if (child === null || child === void 0) {
516
+ continue;
517
+ }
518
+ const key = `${(child == null ? void 0 : child["key"]) ?? index}`;
519
+ next.push(/* @__PURE__ */ import_react.default.createElement(import_react.Fragment, {
520
+ key
521
+ }, isZStack ? /* @__PURE__ */ import_react.default.createElement(AbsoluteFill, null, child) : child));
522
+ if ((_a = child == null ? void 0 : child["type"]) == null ? void 0 : _a["isVisuallyHidden"]) {
523
+ continue;
524
+ }
525
+ if (index !== len - 1) {
526
+ if (space) {
527
+ next.push(/* @__PURE__ */ import_react.default.createElement(Spacer, {
528
+ key: `${key}_spacer`,
529
+ direction: flexDirection === "row" || flexDirection === "row-reverse" ? "horizontal" : "vertical",
530
+ size: space
531
+ }));
532
+ }
533
+ }
534
+ }
535
+ return next;
536
+ }
537
+ __name(spacedChildren, "spacedChildren");
538
+ const AbsoluteFill = /* @__PURE__ */ __name((props) => import_platform.isWeb ? /* @__PURE__ */ import_react.default.createElement("div", {
539
+ className: "tamagui-absolute-fill"
540
+ }, props.children) : /* @__PURE__ */ import_react.default.createElement(import_react_native.View, {
541
+ style: import_react_native.StyleSheet.absoluteFill
542
+ }, props.child), "AbsoluteFill");
543
+ module.exports = __toCommonJS(createComponent_exports);
544
+ //# sourceMappingURL=createComponent.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/createComponent.tsx"],
4
+ "sourcesContent": ["import './tamagui-base.css'\n\nimport { concatClassName, stylePropsView } from '@tamagui/helpers'\nimport { useForceUpdate } from '@tamagui/use-force-update'\nimport React, {\n Children,\n Fragment,\n createElement,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport { StyleSheet, Text, View, ViewStyle } from 'react-native'\n\nimport { onConfiguredOnce } from './conf'\nimport { stackDefaultStyles } from './constants/constants'\nimport { isTouchDevice, isWeb } from './constants/platform'\nimport { rnw } from './constants/rnw'\nimport { addStylesUsingClassname, useStylesAsClassname } from './helpers/addStylesUsingClassname'\nimport { extendStaticConfig, parseStaticConfig } from './helpers/extendStaticConfig'\nimport { getSplitStyles } from './helpers/getSplitStyles'\nimport { useFeatures } from './hooks/useFeatures'\nimport { usePressable } from './hooks/usePressable'\nimport { useTheme } from './hooks/useTheme'\nimport {\n SpaceTokens,\n StaticComponent,\n StaticConfig,\n StaticConfigParsed,\n TamaguiInternalConfig,\n} from './types'\nimport { TextAncestorContext } from './views/TextAncestorContext'\n\nexport const mouseUps = new Set<Function>()\n\nif (typeof document !== 'undefined') {\n document.addEventListener('mouseup', () => {\n mouseUps.forEach((x) => x())\n mouseUps.clear()\n })\n}\n\ntype DefaultProps = {}\n\nconst defaultComponentState = {\n hover: false,\n press: false,\n pressIn: false,\n}\n\ntype ComponentState = typeof defaultComponentState\n\nfunction createShallowUpdate(setter: React.Dispatch<React.SetStateAction<ComponentState>>) {\n return (next: Partial<ComponentState>) => {\n setter((prev) => {\n for (const key in next) {\n if (prev[key] !== next[key]) {\n return { ...prev, ...next }\n }\n }\n return prev\n })\n }\n}\n\nexport function createComponent<ComponentPropTypes extends Object = DefaultProps>(\n configIn: Partial<StaticConfig> | StaticConfigParsed\n) {\n let staticConfig: StaticConfigParsed\n if ('parsed' in configIn) {\n staticConfig = configIn\n } else {\n staticConfig = parseStaticConfig(configIn)\n }\n\n const { Component, validStyles, isText, isZStack } = staticConfig\n const validStyleProps = validStyles ?? stylePropsView\n\n // split out default styles vs props so we can assign it to component.defaultProps\n let defaultProps = null as any\n let tamaguiConfig: TamaguiInternalConfig\n\n // web uses className, native uses style\n let defaultNativeStyle: StyleSheet.NamedStyles<{ base: {} }> | null = null\n let defaultsClassName = ''\n let initialTheme: any\n\n // see onConfiguredOnce below which attaches a name then to this component\n\n const component = forwardRef<View, ComponentPropTypes>((props: any, forwardedRef) => {\n const forceUpdate = useForceUpdate()\n const features = useFeatures(props, { forceUpdate })\n const theme = useTheme()\n const [state, set_] = useState<ComponentState>(defaultComponentState)\n const set = createShallowUpdate(set_)\n\n // from react-native-web\n if (process.env.NODE_ENV === 'development' && !isText && isWeb) {\n Children.toArray(props.children).forEach((item) => {\n if (typeof item === 'string') {\n console.error(`Unexpected text node: ${item}. A text node cannot be a child of a <View>.`)\n }\n })\n }\n\n const hasTextAncestor = isWeb ? useContext(TextAncestorContext) : false\n const hostRef = useRef(null)\n\n const {\n viewProps: viewPropsIn,\n pseudos,\n style,\n classNames,\n } = getSplitStyles(props, staticConfig, theme)\n\n const {\n tag,\n hitSlop,\n children,\n pointerEvents,\n onPress,\n onPressIn,\n onPressOut,\n onHoverIn,\n onHoverOut,\n space,\n disabled,\n onMouseEnter,\n onMouseLeave,\n hrefAttrs,\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture,\n onMouseDown,\n onClick,\n\n accessible,\n accessibilityRole,\n\n // TODO feature load layout hook\n onLayout,\n ...viewProps\n } = viewPropsIn\n\n if (!isWeb) {\n if (accessible) viewProps.accessible = accessible\n if (accessibilityRole) viewProps.accessibilityRole = accessibilityRole\n }\n\n if (isWeb) {\n // from react-native-web\n rnw.useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture,\n })\n }\n\n // hasEverHadEvents prevents repareting if you remove onPress or similar...\n const internal = useRef<{ isMounted: boolean; hasEverHadEvents?: boolean }>()\n if (!internal.current) {\n internal.current = {\n isMounted: true,\n }\n }\n\n useEffect(() => {\n internal.current!.isMounted = true\n return () => {\n mouseUps.delete(unPress)\n internal.current!.isMounted = false\n }\n }, [])\n\n // element\n const isInternalComponent = !Component || typeof Component === 'string'\n // default to tag, fallback to component (when both strings)\n const element = isWeb ? (isInternalComponent ? tag || Component : Component) : Component\n const ReactView = !isWeb ? View : element || (hasTextAncestor ? 'span' : 'div')\n const ReactText = !isWeb ? Text : element || 'span'\n const ViewComponent = isText ? ReactText : ReactView\n\n // styles\n const isHovering = !isTouchDevice && !disabled && pseudos && state.hover\n const isPressing = !disabled && pseudos && state.press\n\n const styles = [\n defaultNativeStyle ? defaultNativeStyle.base : null,\n // parity w react-native-web, only for text in text\n // TODO this should be able to be done w css to replicate after extraction:\n // (.text .text { display: inline-flex; }) (but if they set display we'd need stronger precendence)\n // isText && hasTextAncestor && isWeb ? { display: 'inline-flex' } : null,\n style,\n isHovering ? pseudos.hoverStyle || null : null,\n isPressing ? pseudos.pressStyle || null : null,\n ]\n\n if (isWeb) {\n const stylesClassNames = useStylesAsClassname(styles)\n const classList = isText\n ? [\n defaultsClassName,\n // hasTextAncestor === true && cssText.textHasAncestor,\n // TODO MOVE TO VARIANTS [number] [any]\n // numberOfLines != null && numberOfLines > 1 && cssText.textMultiLine,\n classNames,\n stylesClassNames,\n props.className,\n ]\n : [defaultsClassName, props.className, classNames, stylesClassNames]\n\n // @ts-ignore we are optimizing using arguments\n const className = concatClassName(...classList)\n if (process.env.NODE_ENV === 'development') {\n if (props['debug']) {\n // prettier-ignore\n console.log('\u00BB className', { style, styles, classList, stylesClassNames, className: className.trim().split(' ') })\n }\n }\n viewProps.className = className\n } else {\n viewProps.style = styles\n }\n\n if (pointerEvents) {\n viewProps.pointerEvents = pointerEvents\n }\n\n if (isWeb) {\n // from react-native-web\n const platformMethodsRef = rnw.usePlatformMethods(viewProps)\n const setRef = rnw.useMergeRefs(hostRef, platformMethodsRef, forwardedRef)\n viewProps.ref = setRef\n if (props.href != null && hrefAttrs != null) {\n const { download, rel, target } = hrefAttrs\n if (download != null) {\n viewProps.download = download\n }\n if (rel != null) {\n viewProps.rel = rel\n }\n if (typeof target === 'string') {\n viewProps.target = target.charAt(0) !== '_' ? '_' + target : target\n }\n }\n } else {\n if (forwardedRef) {\n viewProps.ref = forwardedRef\n }\n }\n\n const attachPress = !!(\n (pseudos && pseudos.pressStyle) ||\n onPress ||\n onPressOut ||\n onPressIn ||\n onClick\n )\n const attachHover =\n isWeb &&\n !isTouchDevice &&\n !!((pseudos && pseudos.hoverStyle) || onHoverIn || onHoverOut || onMouseEnter || onMouseLeave)\n\n // check presence to prevent reparenting bugs, allows for onPress={x ? function : undefined} usage\n // while avoiding reparenting...\n // once proper reparenting is supported, we can remove this and use that...\n const shouldAttach =\n internal.current.hasEverHadEvents ||\n attachPress ||\n attachHover ||\n 'pressStyle' in props ||\n 'onPress' in props ||\n 'onPressIn' in props ||\n 'onPressOut' in props ||\n (isWeb &&\n ('hoverStyle' in props ||\n 'onClick' in props ||\n 'onHoverIn' in props ||\n 'onHoverOut' in props ||\n 'onMouseEnter' in props ||\n 'onMouseLeave' in props))\n\n // never remove events as we wrap in a div (for now, may be able to remove..)\n if (shouldAttach) {\n internal.current.hasEverHadEvents = true\n }\n\n const unPress = useCallback(() => {\n if (!internal.current!.isMounted) return\n set({\n press: false,\n pressIn: false,\n })\n }, [])\n\n const events = shouldAttach\n ? {\n ...(!isWeb && {\n // non web\n onPressOut: (e) => {\n unPress()\n onPressOut?.(e)\n },\n }),\n ...(isWeb &&\n !isTouchDevice && {\n onMouseEnter:\n attachHover || attachPress\n ? (e) => {\n let next: Partial<typeof state> = {}\n if (attachHover) {\n next.hover = true\n }\n if (state.pressIn) {\n next.press = true\n }\n if (Object.keys(next).length) {\n set(next)\n }\n onHoverIn?.(e)\n onMouseEnter?.(e)\n }\n : undefined,\n onMouseLeave:\n attachHover || attachPress\n ? (e) => {\n let next: Partial<typeof state> = {}\n mouseUps.add(unPress)\n if (attachHover) {\n next.hover = false\n }\n if (state.pressIn) {\n next.press = false\n next.pressIn = false\n }\n if (Object.keys(next).length) {\n set(next)\n }\n onHoverOut?.(e)\n onMouseLeave?.(e)\n }\n : undefined,\n }),\n onMouseDown: attachPress\n ? (e) => {\n set({\n press: true,\n pressIn: true,\n })\n onPressIn?.(e)\n onMouseDown?.(e)\n }\n : (onPressIn as any),\n onClick: attachPress\n ? (e) => {\n // this caused issue with next.js passing href\n // e.preventDefault()\n onPress?.(e)\n onClick?.(e)\n unPress()\n onPressOut?.(e)\n }\n : (onPressOut as any),\n }\n : null\n\n if (events) {\n if (typeof ViewComponent !== 'string') {\n // TODO once we do the above we can then rely entirely on pressStyle returned here isntead of above pressStyle logic\n const [pressProps] = usePressable({\n disabled,\n hitSlop,\n onPressIn: events.onMouseDown,\n onPressOut: events.onPressOut,\n onPress: events.onClick,\n })\n Object.assign(viewProps, pressProps)\n } else {\n Object.assign(viewProps, events)\n }\n }\n\n const childEls = spacedChildren({\n children,\n space,\n flexDirection: props.flexDirection || defaultProps?.flexDirection,\n isZStack: isZStack,\n })\n\n let content: any\n\n // replicate react-native-web's `createElement`\n if (isWeb && rnw) {\n const domProps = rnw.createDOMProps(viewProps)\n const className =\n domProps.className && domProps.className !== viewProps.className\n ? `${domProps.className} ${viewProps.className}`\n : viewProps.className\n Object.assign(viewProps, domProps)\n\n if (staticConfig.isReactNativeWeb) {\n viewProps.dataSet = viewProps.dataSet || {}\n Object.assign(viewProps.dataSet, { __className: className })\n } else {\n // we already handle Text/View properly\n viewProps.className = className\n }\n\n content = createElement(ViewComponent, viewProps, childEls)\n } else {\n content = createElement(ViewComponent, viewProps, childEls)\n }\n\n const shouldWrapTextAncestor = isWeb && isText && !hasTextAncestor\n if (shouldWrapTextAncestor) {\n // from react-native-web\n content = createElement(TextAncestorContext.Provider, { value: true }, content)\n }\n\n if (process.env.NODE_ENV === 'development') {\n if (props['debug']) {\n viewProps['debug'] = true\n console.log('\u00BB props in:', props)\n console.log('\u00BB props out:', viewProps, viewProps.className?.split(' '))\n // prettier-ignore\n console.log('\u00BB etc:', { shouldAttach, ViewComponent, viewProps, styles, pseudos, content, childEls })\n // only on browser because node expands it huge\n if (typeof window !== 'undefined') {\n console.log('\u00BB component info', { staticConfig, tamaguiConfig })\n }\n }\n }\n\n if (features.length) {\n return (\n <>\n {features}\n {content}\n </>\n )\n }\n\n return content\n })\n\n // Once configuration is run and all components are registered\n // get default props + className and analyze styles\n onConfiguredOnce((conf) => {\n const shouldDebug = staticConfig.defaultProps?.debug\n tamaguiConfig = conf\n initialTheme = conf.themes[conf.defaultTheme || Object.keys(conf.themes)[0]]\n const { classNames, pseudos, style, viewProps } = getSplitStyles(\n staticConfig.defaultProps,\n staticConfig,\n initialTheme\n )\n if (isWeb) {\n if (classNames) {\n defaultsClassName += classNames + ' '\n }\n defaultsClassName += addStylesUsingClassname([style, pseudos])\n if (process.env.NODE_ENV === 'development' && shouldDebug) {\n // prettier-ignore\n console.log('tamagui \uD83D\uDC1B:', { defaultsClassName: defaultsClassName.split(' ') })\n }\n } else {\n // native, create a default StyleSheet\n // TODO handle pseudos\n const sheetStyles = {}\n for (const styleObj of style) {\n Object.assign(sheetStyles, styleObj)\n }\n defaultNativeStyle = StyleSheet.create({\n base: sheetStyles,\n })\n }\n // @ts-ignore\n component.defaultProps = {\n ...viewProps,\n ...component.defaultProps,\n }\n if (process.env.NODE_ENV === 'development' && shouldDebug) {\n // prettier-ignore\n console.log('tamagui \uD83D\uDC1B:', { initialTheme, classNames, pseudos, style, viewProps, defaultsClassName, component })\n }\n })\n\n component['staticConfig'] = {\n validStyles: validStyleProps,\n ...staticConfig,\n }\n\n const res = component as any as StaticComponent<ComponentPropTypes, void>\n\n // add extractable HoC\n res['extractable'] = (Component: any, conf?: StaticConfig) => {\n Component['staticConfig'] = extendStaticConfig(res, {\n ...conf,\n neverFlatten: true,\n defaultProps: {\n ...Component.defaultProps,\n ...conf?.defaultProps,\n },\n })\n return Component\n }\n\n return res\n}\n\nlet hasWarnedOnce = false\n\n// dont used styled() here to avoid circular deps\n// keep inline to avoid circular deps\n\nexport const Spacer = createComponent<{ size?: number | SpaceTokens; flex?: boolean | number }>({\n defaultProps: {\n ...stackDefaultStyles,\n size: true,\n },\n variants: {\n size: {\n '...size': (size, { tokens }) => {\n size = size == true ? '$true' : size\n return {\n width: tokens.size[size] ?? size,\n height: tokens.size[size] ?? size,\n }\n },\n },\n\n direction: {\n horizontal: {\n height: 0,\n },\n vertical: {\n width: 0,\n },\n },\n },\n})\n\nexport function spacedChildren({\n isZStack,\n children,\n space,\n flexDirection,\n}: {\n isZStack?: boolean\n children: any\n space?: any\n flexDirection?: ViewStyle['flexDirection']\n}) {\n if (!space && !isZStack) {\n return children\n }\n const childrenList = Children.toArray(children)\n const len = childrenList.length\n if (len === 1) {\n return children\n }\n const next: any[] = []\n for (const [index, child] of childrenList.entries()) {\n if (child === null || child === undefined) {\n continue\n }\n\n const key = `${child?.['key'] ?? index}`\n\n next.push(\n <Fragment key={key}>{isZStack ? <AbsoluteFill>{child}</AbsoluteFill> : child}</Fragment>\n )\n\n // allows for custom visually hidden components that dont insert spacing\n if (child?.['type']?.['isVisuallyHidden']) {\n continue\n }\n\n if (index !== len - 1) {\n if (space) {\n next.push(\n <Spacer\n key={`${key}_spacer`}\n // @ts-ignore TODO\n direction={\n flexDirection === 'row' || flexDirection === 'row-reverse' ? 'horizontal' : 'vertical'\n }\n size={space}\n />\n )\n }\n }\n }\n return next\n}\n\nexport const AbsoluteFill = (props: any) =>\n isWeb ? (\n <div className=\"tamagui-absolute-fill\">{props.children}</div>\n ) : (\n <View style={StyleSheet.absoluteFill}>{props.child}</View>\n )\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,51 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __reExport = (target, module2, copyDefault, desc) => {
12
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
13
+ for (let key of __getOwnPropNames(module2))
14
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
15
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
16
+ }
17
+ return target;
18
+ };
19
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
20
+ return (module2, temp) => {
21
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
22
+ };
23
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
24
+ var createFont_exports = {};
25
+ __export(createFont_exports, {
26
+ createFont: () => createFont
27
+ });
28
+ var import_validate = require("./helpers/validate");
29
+ const createFont = /* @__PURE__ */ __name((font) => {
30
+ if (process.env.NODE_ENV === "development") {
31
+ (0, import_validate.validateFont)(font);
32
+ }
33
+ const sizeKeys = Object.keys(font.size);
34
+ for (const key in font) {
35
+ if (key === "size" || key === "family")
36
+ continue;
37
+ const section = font[key];
38
+ const keys = Object.keys(section);
39
+ let fillVal = section[keys[0]];
40
+ for (const sKey of sizeKeys) {
41
+ if (!(sKey in section)) {
42
+ section[sKey] = fillVal;
43
+ } else {
44
+ fillVal = section[sKey];
45
+ }
46
+ }
47
+ }
48
+ return Object.freeze(font);
49
+ }, "createFont");
50
+ module.exports = __toCommonJS(createFont_exports);
51
+ //# sourceMappingURL=createFont.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/createFont.ts"],
4
+ "sourcesContent": ["import { validateFont } from './helpers/validate'\nimport { GenericFont } from './types'\n\nexport const createFont = <A extends GenericFont>(font: A): A => {\n if (process.env.NODE_ENV === 'development') {\n validateFont(font)\n }\n\n // fills in any missing values based on size keys being standard\n const sizeKeys = Object.keys(font.size)\n\n for (const key in font) {\n if (key === 'size' || key === 'family') continue\n const section = font[key]\n const keys = Object.keys(section)\n\n // fill with first filled in value to start\n let fillVal = section[keys[0]]\n\n for (const sKey of sizeKeys) {\n if (!(sKey in section)) {\n section[sKey] = fillVal\n } else {\n // if exists, set as the fillVal\n fillVal = section[sKey]\n }\n }\n }\n\n return Object.freeze(font)\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA6B;AAGtB,MAAM,aAAa,wBAAwB,SAAe;AAC/D,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,sCAAa;AAAA;AAIf,QAAM,WAAW,OAAO,KAAK,KAAK;AAElC,aAAW,OAAO,MAAM;AACtB,QAAI,QAAQ,UAAU,QAAQ;AAAU;AACxC,UAAM,UAAU,KAAK;AACrB,UAAM,OAAO,OAAO,KAAK;AAGzB,QAAI,UAAU,QAAQ,KAAK;AAE3B,eAAW,QAAQ,UAAU;AAC3B,UAAI,CAAE,SAAQ,UAAU;AACtB,gBAAQ,QAAQ;AAAA,aACX;AAEL,kBAAU,QAAQ;AAAA;AAAA;AAAA;AAKxB,SAAO,OAAO,OAAO;AAAA,GA1BG;",
6
+ "names": []
7
+ }