@tamagui/core 1.0.0-alpha.5 → 1.0.0-alpha.55

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 (497) 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 +543 -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 +48 -0
  24. package/dist/cjs/createVariable.js.map +7 -0
  25. package/dist/cjs/getThemeParentClassName.js +34 -0
  26. package/dist/cjs/getThemeParentClassName.js.map +7 -0
  27. package/dist/cjs/helpers/addStylesUsingClassname.js +80 -0
  28. package/dist/cjs/helpers/addStylesUsingClassname.js.map +7 -0
  29. package/dist/cjs/helpers/createMediaStyle.js +57 -0
  30. package/dist/cjs/helpers/createMediaStyle.js.map +7 -0
  31. package/dist/cjs/helpers/createPropMapper.js +201 -0
  32. package/dist/cjs/helpers/createPropMapper.js.map +7 -0
  33. package/dist/cjs/helpers/createTamaguiProvider.js +80 -0
  34. package/dist/cjs/helpers/createTamaguiProvider.js.map +7 -0
  35. package/dist/cjs/helpers/extendStaticConfig.js +83 -0
  36. package/dist/cjs/helpers/extendStaticConfig.js.map +7 -0
  37. package/dist/cjs/helpers/fixNativeShadow.js +31 -0
  38. package/dist/cjs/helpers/fixNativeShadow.js.map +7 -0
  39. package/dist/cjs/helpers/fixNativeShadow.native.js +57 -0
  40. package/dist/cjs/helpers/fixNativeShadow.native.js.map +7 -0
  41. package/dist/cjs/helpers/getSplitStyles.js +181 -0
  42. package/dist/cjs/helpers/getSplitStyles.js.map +7 -0
  43. package/dist/cjs/helpers/getStylesAtomic.js +118 -0
  44. package/dist/cjs/helpers/getStylesAtomic.js.map +7 -0
  45. package/dist/cjs/helpers/getStylesAtomic.native.js +33 -0
  46. package/dist/cjs/helpers/getStylesAtomic.native.js.map +7 -0
  47. package/dist/cjs/helpers/getThemeParentClassName.js +34 -0
  48. package/dist/cjs/helpers/getThemeParentClassName.js.map +7 -0
  49. package/dist/cjs/helpers/insertStyleRule.js +47 -0
  50. package/dist/cjs/helpers/insertStyleRule.js.map +7 -0
  51. package/dist/cjs/helpers/isObj.js +30 -0
  52. package/dist/cjs/helpers/isObj.js.map +7 -0
  53. package/dist/cjs/helpers/isTamaguiElement.js +34 -0
  54. package/dist/cjs/helpers/isTamaguiElement.js.map +7 -0
  55. package/dist/cjs/helpers/matchMedia.js +41 -0
  56. package/dist/cjs/helpers/matchMedia.js.map +7 -0
  57. package/dist/cjs/helpers/matchMedia.native.js +37 -0
  58. package/dist/cjs/helpers/matchMedia.native.js.map +7 -0
  59. package/dist/cjs/helpers/themeable.js +84 -0
  60. package/dist/cjs/helpers/themeable.js.map +7 -0
  61. package/dist/cjs/helpers/validate.js +88 -0
  62. package/dist/cjs/helpers/validate.js.map +7 -0
  63. package/dist/cjs/hooks/useConstant.js +38 -0
  64. package/dist/cjs/hooks/useConstant.js.map +7 -0
  65. package/dist/cjs/hooks/useFeatures.js +106 -0
  66. package/dist/cjs/hooks/useFeatures.js.map +7 -0
  67. package/dist/cjs/hooks/useMedia.js +208 -0
  68. package/dist/cjs/hooks/useMedia.js.map +7 -0
  69. package/dist/cjs/hooks/usePressable.js +51 -0
  70. package/dist/cjs/hooks/usePressable.js.map +7 -0
  71. package/dist/cjs/hooks/useTheme.js +121 -0
  72. package/dist/cjs/hooks/useTheme.js.map +7 -0
  73. package/dist/cjs/index.js +63 -0
  74. package/dist/cjs/index.js.map +7 -0
  75. package/dist/cjs/static/postProcessStyles.js +41 -0
  76. package/dist/cjs/static/postProcessStyles.js.map +7 -0
  77. package/dist/cjs/static.js +35 -0
  78. package/dist/cjs/static.js.map +7 -0
  79. package/dist/cjs/styled.js +73 -0
  80. package/dist/cjs/styled.js.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/Animated.js +135 -0
  84. package/dist/cjs/views/Animated.js.map +7 -0
  85. package/dist/cjs/views/Stack.js +52 -0
  86. package/dist/cjs/views/Stack.js.map +7 -0
  87. package/dist/cjs/views/Text.js +94 -0
  88. package/dist/cjs/views/Text.js.map +7 -0
  89. package/dist/cjs/views/TextAncestorContext.js +46 -0
  90. package/dist/cjs/views/TextAncestorContext.js.map +7 -0
  91. package/dist/cjs/views/Theme.js +97 -0
  92. package/dist/cjs/views/Theme.js.map +7 -0
  93. package/dist/cjs/views/ThemeContext.js +30 -0
  94. package/dist/cjs/views/ThemeContext.js.map +7 -0
  95. package/dist/cjs/views/ThemeInverse.js +54 -0
  96. package/dist/cjs/views/ThemeInverse.js.map +7 -0
  97. package/dist/cjs/views/ThemeManagerContext.js +85 -0
  98. package/dist/cjs/views/ThemeManagerContext.js.map +7 -0
  99. package/dist/cjs/views/ThemeProvider.js +73 -0
  100. package/dist/cjs/views/ThemeProvider.js.map +7 -0
  101. package/dist/esm/conf.js +29 -0
  102. package/dist/esm/conf.js.map +7 -0
  103. package/dist/{constants → esm/constants}/constants.js +4 -0
  104. package/dist/esm/constants/constants.js.map +7 -0
  105. package/dist/{constants → esm/constants}/platform.js +2 -1
  106. package/dist/{constants → esm/constants}/platform.js.map +2 -2
  107. package/dist/{constants → esm/constants}/pseudos.js +0 -0
  108. package/dist/{constants → esm/constants}/pseudos.js.map +1 -1
  109. package/dist/{constants → esm/constants}/rnw.js +0 -0
  110. package/dist/{constants → esm/constants}/rnw.js.map +1 -1
  111. package/dist/{createComponent.js → esm/createComponent.js} +99 -71
  112. package/dist/esm/createComponent.js.map +7 -0
  113. package/dist/{createFont.js → esm/createFont.js} +4 -0
  114. package/dist/esm/createFont.js.map +7 -0
  115. package/dist/{createShorthands.js → esm/createShorthands.js} +0 -0
  116. package/dist/{createShorthands.js.map → esm/createShorthands.js.map} +1 -1
  117. package/dist/esm/createTamagui.js +166 -0
  118. package/dist/esm/createTamagui.js.map +7 -0
  119. package/dist/esm/createTheme.js +7 -0
  120. package/dist/esm/createTheme.js.map +7 -0
  121. package/dist/{createTokens.js → esm/createTokens.js} +4 -0
  122. package/dist/esm/createTokens.js.map +7 -0
  123. package/dist/{createVariable.js → esm/createVariable.js} +3 -0
  124. package/dist/{createVariable.js.map → esm/createVariable.js.map} +3 -3
  125. package/dist/esm/getThemeParentClassName.js +11 -0
  126. package/dist/esm/getThemeParentClassName.js.map +7 -0
  127. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js +1 -1
  128. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js.map +3 -3
  129. package/dist/{helpers → esm/helpers}/createMediaStyle.js +0 -0
  130. package/dist/{helpers → esm/helpers}/createMediaStyle.js.map +1 -1
  131. package/dist/{helpers → esm/helpers}/createPropMapper.js +28 -16
  132. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  133. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js +0 -0
  134. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js.map +1 -1
  135. package/dist/{helpers → esm/helpers}/extendStaticConfig.js +4 -2
  136. package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
  137. package/dist/{helpers → esm/helpers}/fixNativeShadow.js +0 -0
  138. package/dist/{helpers → esm/helpers}/fixNativeShadow.js.map +1 -1
  139. package/dist/esm/helpers/fixNativeShadow.native.js +34 -0
  140. package/dist/esm/helpers/fixNativeShadow.native.js.map +7 -0
  141. package/dist/{helpers → esm/helpers}/getSplitStyles.js +13 -23
  142. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  143. package/dist/{helpers → esm/helpers}/getStylesAtomic.js +2 -1
  144. package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
  145. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js +0 -0
  146. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js.map +1 -1
  147. package/dist/esm/helpers/getThemeParentClassName.js +11 -0
  148. package/dist/esm/helpers/getThemeParentClassName.js.map +7 -0
  149. package/dist/{helpers → esm/helpers}/insertStyleRule.js +0 -0
  150. package/dist/{helpers → esm/helpers}/insertStyleRule.js.map +1 -1
  151. package/dist/{helpers → esm/helpers}/isObj.js +0 -0
  152. package/dist/{helpers → esm/helpers}/isObj.js.map +1 -1
  153. package/dist/esm/helpers/isTamaguiElement.js +11 -0
  154. package/dist/esm/helpers/isTamaguiElement.js.map +7 -0
  155. package/dist/{helpers → esm/helpers}/matchMedia.js +3 -0
  156. package/dist/esm/helpers/matchMedia.js.map +7 -0
  157. package/dist/{helpers → esm/helpers}/matchMedia.native.js +1 -0
  158. package/dist/{helpers → esm/helpers}/matchMedia.native.js.map +3 -3
  159. package/dist/{helpers → esm/helpers}/themeable.js +1 -1
  160. package/dist/{helpers → esm/helpers}/themeable.js.map +2 -2
  161. package/dist/esm/helpers/validate.js +60 -0
  162. package/dist/esm/helpers/validate.js.map +7 -0
  163. package/dist/{hooks → esm/hooks}/useConstant.js +0 -0
  164. package/dist/{hooks → esm/hooks}/useConstant.js.map +1 -1
  165. package/dist/{hooks → esm/hooks}/useFeatures.js +39 -51
  166. package/dist/esm/hooks/useFeatures.js.map +7 -0
  167. package/dist/{hooks → esm/hooks}/useMedia.js +10 -6
  168. package/dist/esm/hooks/useMedia.js.map +7 -0
  169. package/dist/{hooks → esm/hooks}/usePressable.js +2 -1
  170. package/dist/{hooks → esm/hooks}/usePressable.js.map +2 -2
  171. package/dist/{hooks → esm/hooks}/useTheme.js +21 -15
  172. package/dist/esm/hooks/useTheme.js.map +7 -0
  173. package/dist/{index.js → esm/index.js} +9 -2
  174. package/dist/esm/index.js.map +7 -0
  175. package/dist/{static → esm/static}/postProcessStyles.js +0 -0
  176. package/dist/{static → esm/static}/postProcessStyles.js.map +1 -1
  177. package/dist/{static.js → esm/static.js} +0 -0
  178. package/dist/{static.js.map → esm/static.js.map} +1 -1
  179. package/dist/{styled.js → esm/styled.js} +0 -0
  180. package/dist/esm/styled.js.map +7 -0
  181. package/dist/{types.js → esm/types.js} +0 -0
  182. package/dist/{types.js.map → esm/types.js.map} +0 -0
  183. package/dist/{views → esm/views}/Animated.js +0 -0
  184. package/dist/{views → esm/views}/Animated.js.map +1 -1
  185. package/dist/{views → esm/views}/Stack.js +0 -0
  186. package/dist/{views → esm/views}/Stack.js.map +1 -1
  187. package/dist/{views → esm/views}/Text.js +2 -2
  188. package/dist/esm/views/Text.js.map +7 -0
  189. package/dist/esm/views/TextAncestorContext.js +18 -0
  190. package/dist/esm/views/TextAncestorContext.js.map +7 -0
  191. package/dist/{views → esm/views}/Theme.js +27 -14
  192. package/dist/esm/views/Theme.js.map +7 -0
  193. package/dist/{views → esm/views}/ThemeContext.js +0 -0
  194. package/dist/{views → esm/views}/ThemeContext.js.map +1 -1
  195. package/dist/{views → esm/views}/ThemeInverse.js +0 -1
  196. package/dist/{views → esm/views}/ThemeInverse.js.map +3 -3
  197. package/dist/{views → esm/views}/ThemeManagerContext.js +15 -8
  198. package/dist/esm/views/ThemeManagerContext.js.map +7 -0
  199. package/dist/{views → esm/views}/ThemeProvider.js +3 -3
  200. package/dist/esm/views/ThemeProvider.js.map +7 -0
  201. package/dist/jsx/conf.js +28 -0
  202. package/dist/jsx/constants/constants.js +17 -0
  203. package/dist/jsx/constants/platform.js +19 -0
  204. package/dist/jsx/constants/pseudos.js +17 -0
  205. package/dist/jsx/constants/rnw.js +21 -0
  206. package/dist/jsx/createComponent.js +467 -0
  207. package/dist/jsx/createFont.js +27 -0
  208. package/dist/jsx/createShorthands.js +9 -0
  209. package/dist/jsx/createTamagui.js +165 -0
  210. package/dist/jsx/createTheme.js +6 -0
  211. package/dist/jsx/createTokens.js +32 -0
  212. package/dist/jsx/createVariable.js +24 -0
  213. package/dist/jsx/getThemeParentClassName.js +10 -0
  214. package/dist/jsx/helpers/addStylesUsingClassname.js +56 -0
  215. package/dist/jsx/helpers/createMediaStyle.js +33 -0
  216. package/dist/jsx/helpers/createPropMapper.js +164 -0
  217. package/dist/jsx/helpers/createTamaguiProvider.js +19 -0
  218. package/dist/jsx/helpers/extendStaticConfig.js +60 -0
  219. package/dist/jsx/helpers/fixNativeShadow.js +7 -0
  220. package/dist/jsx/helpers/fixNativeShadow.native.js +33 -0
  221. package/dist/jsx/helpers/getSplitStyles.js +149 -0
  222. package/dist/jsx/helpers/getStylesAtomic.js +83 -0
  223. package/dist/jsx/helpers/getStylesAtomic.native.js +9 -0
  224. package/dist/jsx/helpers/getThemeParentClassName.js +10 -0
  225. package/dist/jsx/helpers/insertStyleRule.js +23 -0
  226. package/dist/jsx/helpers/isObj.js +6 -0
  227. package/dist/jsx/helpers/isTamaguiElement.js +10 -0
  228. package/dist/jsx/helpers/matchMedia.js +17 -0
  229. package/dist/jsx/helpers/matchMedia.native.js +8 -0
  230. package/dist/jsx/helpers/themeable.js +23 -0
  231. package/dist/jsx/helpers/validate.js +59 -0
  232. package/dist/jsx/hooks/useConstant.js +14 -0
  233. package/dist/jsx/hooks/useFeatures.js +57 -0
  234. package/dist/jsx/hooks/useMedia.js +174 -0
  235. package/dist/jsx/hooks/usePressable.js +13 -0
  236. package/dist/jsx/hooks/useTheme.js +98 -0
  237. package/dist/jsx/index.js +38 -0
  238. package/dist/jsx/static/postProcessStyles.js +17 -0
  239. package/dist/jsx/static.js +14 -0
  240. package/dist/jsx/styled.js +20 -0
  241. package/dist/jsx/types.js +0 -0
  242. package/dist/jsx/views/Animated.js +74 -0
  243. package/dist/jsx/views/Stack.js +11 -0
  244. package/dist/jsx/views/Text.js +59 -0
  245. package/dist/jsx/views/TextAncestorContext.js +15 -0
  246. package/dist/jsx/views/Theme.js +63 -0
  247. package/dist/jsx/views/ThemeContext.js +5 -0
  248. package/dist/jsx/views/ThemeInverse.js +22 -0
  249. package/dist/jsx/views/ThemeManagerContext.js +61 -0
  250. package/dist/jsx/views/ThemeProvider.js +39 -0
  251. package/package.json +17 -19
  252. package/types/conf.d.ts +44 -0
  253. package/types/conf.d.ts.map +1 -0
  254. package/{dist/packages/core/src → types}/constants/constants.d.ts +2 -0
  255. package/types/constants/constants.d.ts.map +1 -0
  256. package/{dist/packages/core/src → types}/constants/platform.d.ts +0 -0
  257. package/types/constants/platform.d.ts.map +1 -0
  258. package/{dist/packages/core/src → types}/constants/pseudos.d.ts +0 -0
  259. package/types/constants/pseudos.d.ts.map +1 -0
  260. package/{dist/packages/core/src → types}/constants/rnw.d.ts +0 -0
  261. package/types/constants/rnw.d.ts.map +1 -0
  262. package/types/createComponent.d.ts +17 -0
  263. package/types/createComponent.d.ts.map +1 -0
  264. package/types/createFont.d.ts +3 -0
  265. package/types/createFont.d.ts.map +1 -0
  266. package/{dist/packages/core/src → types}/createShorthands.d.ts +0 -0
  267. package/types/createShorthands.d.ts.map +1 -0
  268. package/types/createTamagui.d.ts +13 -0
  269. package/types/createTamagui.d.ts.map +1 -0
  270. package/types/createTheme.d.ts +7 -0
  271. package/types/createTheme.d.ts.map +1 -0
  272. package/{dist/packages/core/src → types}/createTokens.d.ts +24 -14
  273. package/types/createTokens.d.ts.map +1 -0
  274. package/{dist/packages/core/src → types}/createVariable.d.ts +1 -0
  275. package/types/createVariable.d.ts.map +1 -0
  276. package/types/helpers/addStylesUsingClassname.d.ts +3 -0
  277. package/types/helpers/addStylesUsingClassname.d.ts.map +1 -0
  278. package/{dist/packages/core/src → types}/helpers/createMediaStyle.d.ts +0 -0
  279. package/types/helpers/createMediaStyle.d.ts.map +1 -0
  280. package/types/helpers/createPropMapper.d.ts +3 -0
  281. package/types/helpers/createPropMapper.d.ts.map +1 -0
  282. package/{dist/packages/core/src → types}/helpers/createTamaguiProvider.d.ts +0 -0
  283. package/types/helpers/createTamaguiProvider.d.ts.map +1 -0
  284. package/{dist/packages/core/src → types}/helpers/extendStaticConfig.d.ts +1 -1
  285. package/types/helpers/extendStaticConfig.d.ts.map +1 -0
  286. package/{dist/packages/core/src → types}/helpers/fixNativeShadow.d.ts +0 -0
  287. package/types/helpers/fixNativeShadow.d.ts.map +1 -0
  288. package/types/helpers/fixNativeShadow.native.d.ts +2 -0
  289. package/types/helpers/fixNativeShadow.native.d.ts.map +1 -0
  290. package/{dist/packages/core/src → types}/helpers/getSplitStyles.d.ts +0 -0
  291. package/types/helpers/getSplitStyles.d.ts.map +1 -0
  292. package/types/helpers/getStylesAtomic.d.ts +3 -0
  293. package/types/helpers/getStylesAtomic.d.ts.map +1 -0
  294. package/{dist/packages/core/src → types}/helpers/getStylesAtomic.native.d.ts +0 -0
  295. package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
  296. package/types/helpers/getThemeParentClassName.d.ts +2 -0
  297. package/types/helpers/getThemeParentClassName.d.ts.map +1 -0
  298. package/{dist/packages/core/src → types}/helpers/insertStyleRule.d.ts +0 -0
  299. package/types/helpers/insertStyleRule.d.ts.map +1 -0
  300. package/types/helpers/isObj.d.ts +2 -0
  301. package/types/helpers/isObj.d.ts.map +1 -0
  302. package/types/helpers/isTamaguiElement.d.ts +3 -0
  303. package/types/helpers/isTamaguiElement.d.ts.map +1 -0
  304. package/{dist/packages/core/src → types}/helpers/matchMedia.d.ts +0 -0
  305. package/types/helpers/matchMedia.d.ts.map +1 -0
  306. package/{dist/packages/core/src → types}/helpers/matchMedia.native.d.ts +0 -0
  307. package/types/helpers/matchMedia.native.d.ts.map +1 -0
  308. package/{dist/packages/core/src → types}/helpers/themeable.d.ts +0 -0
  309. package/types/helpers/themeable.d.ts.map +1 -0
  310. package/types/helpers/validate.d.ts +4 -0
  311. package/types/helpers/validate.d.ts.map +1 -0
  312. package/{dist/packages/core/src → types}/hooks/useConstant.d.ts +0 -0
  313. package/types/hooks/useConstant.d.ts.map +1 -0
  314. package/{dist/packages/core/src → types}/hooks/useFeatures.d.ts +0 -0
  315. package/types/hooks/useFeatures.d.ts.map +1 -0
  316. package/{dist/packages/core/src → types}/hooks/useMedia.d.ts +0 -0
  317. package/types/hooks/useMedia.d.ts.map +1 -0
  318. package/{dist/packages/core/src → types}/hooks/usePressable.d.ts +0 -0
  319. package/types/hooks/usePressable.d.ts.map +1 -0
  320. package/types/hooks/useTheme.d.ts +7 -0
  321. package/types/hooks/useTheme.d.ts.map +1 -0
  322. package/{dist/packages/core/src → types}/index.d.ts +5 -1
  323. package/types/index.d.ts.map +1 -0
  324. package/{dist/packages/core/src → types}/static/postProcessStyles.d.ts +0 -0
  325. package/types/static/postProcessStyles.d.ts.map +1 -0
  326. package/{dist/packages/core/src → types}/static.d.ts +3 -0
  327. package/types/static.d.ts.map +1 -0
  328. package/types/styled.d.ts +21 -0
  329. package/types/styled.d.ts.map +1 -0
  330. package/{dist/packages/core/src → types}/types.d.ts +88 -70
  331. package/types/types.d.ts.map +1 -0
  332. package/{dist/packages/core/src → types}/views/Animated.d.ts +0 -0
  333. package/types/views/Animated.d.ts.map +1 -0
  334. package/{dist/packages/core/src → types}/views/Stack.d.ts +0 -0
  335. package/types/views/Stack.d.ts.map +1 -0
  336. package/types/views/Text.d.ts +3 -0
  337. package/types/views/Text.d.ts.map +1 -0
  338. package/types/views/TextAncestorContext.d.ts +5 -0
  339. package/types/views/TextAncestorContext.d.ts.map +1 -0
  340. package/{dist/packages/core/src → types}/views/Theme.d.ts +1 -1
  341. package/types/views/Theme.d.ts.map +1 -0
  342. package/{dist/packages/core/src → types}/views/ThemeContext.d.ts +0 -0
  343. package/types/views/ThemeContext.d.ts.map +1 -0
  344. package/{dist/packages/core/src → types}/views/ThemeInverse.d.ts +0 -0
  345. package/types/views/ThemeInverse.d.ts.map +1 -0
  346. package/types/views/ThemeManagerContext.d.ts +22 -0
  347. package/types/views/ThemeManagerContext.d.ts.map +1 -0
  348. package/{dist/packages/core/src → types}/views/ThemeProvider.d.ts +0 -1
  349. package/types/views/ThemeProvider.d.ts.map +1 -0
  350. package/dist/constants/constants.js.map +0 -7
  351. package/dist/constants/styleConstants.js +0 -46
  352. package/dist/constants/styleConstants.js.map +0 -7
  353. package/dist/createComponent.js.map +0 -7
  354. package/dist/createFont.js.map +0 -7
  355. package/dist/createTamagui.js +0 -159
  356. package/dist/createTamagui.js.map +0 -7
  357. package/dist/createTheme.js +0 -20
  358. package/dist/createTheme.js.map +0 -7
  359. package/dist/createTokens.js.map +0 -7
  360. package/dist/helpers/createPropMapper.js.map +0 -7
  361. package/dist/helpers/extendStaticConfig.js.map +0 -7
  362. package/dist/helpers/fixNativeShadow.native.js +0 -30
  363. package/dist/helpers/fixNativeShadow.native.js.map +0 -7
  364. package/dist/helpers/getSplitStyles.js.map +0 -7
  365. package/dist/helpers/getStylesAtomic.js.map +0 -7
  366. package/dist/helpers/matchMedia.js.map +0 -7
  367. package/dist/helpers/pseudos.js +0 -1
  368. package/dist/helpers/pseudos.js.map +0 -7
  369. package/dist/hooks/useFeatures.js.map +0 -7
  370. package/dist/hooks/useForceUpdate.js +0 -28
  371. package/dist/hooks/useForceUpdate.js.map +0 -7
  372. package/dist/hooks/useMedia.js.map +0 -7
  373. package/dist/hooks/useTheme.js.map +0 -7
  374. package/dist/index.cjs +0 -2103
  375. package/dist/index.cjs.map +0 -7
  376. package/dist/index.js.map +0 -7
  377. package/dist/packages/core/src/constants/constants.d.ts.map +0 -1
  378. package/dist/packages/core/src/constants/platform.d.ts.map +0 -1
  379. package/dist/packages/core/src/constants/pseudos.d.ts.map +0 -1
  380. package/dist/packages/core/src/constants/rnw.d.ts.map +0 -1
  381. package/dist/packages/core/src/createComponent.d.ts +0 -16
  382. package/dist/packages/core/src/createComponent.d.ts.map +0 -1
  383. package/dist/packages/core/src/createShorthands.d.ts.map +0 -1
  384. package/dist/packages/core/src/createTamagui.d.ts +0 -37
  385. package/dist/packages/core/src/createTamagui.d.ts.map +0 -1
  386. package/dist/packages/core/src/createTheme.d.ts +0 -5
  387. package/dist/packages/core/src/createTheme.d.ts.map +0 -1
  388. package/dist/packages/core/src/createTokens.d.ts.map +0 -1
  389. package/dist/packages/core/src/createVariable.d.ts.map +0 -1
  390. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts +0 -2
  391. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts.map +0 -1
  392. package/dist/packages/core/src/helpers/createMediaStyle.d.ts.map +0 -1
  393. package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts.map +0 -1
  394. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts.map +0 -1
  395. package/dist/packages/core/src/helpers/fixNativeShadow.d.ts.map +0 -1
  396. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts +0 -2
  397. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts.map +0 -1
  398. package/dist/packages/core/src/helpers/getSplitStyles.d.ts.map +0 -1
  399. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts +0 -3
  400. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts.map +0 -1
  401. package/dist/packages/core/src/helpers/getStylesAtomic.native.d.ts.map +0 -1
  402. package/dist/packages/core/src/helpers/insertStyleRule.d.ts.map +0 -1
  403. package/dist/packages/core/src/helpers/matchMedia.d.ts.map +0 -1
  404. package/dist/packages/core/src/helpers/matchMedia.native.d.ts.map +0 -1
  405. package/dist/packages/core/src/helpers/themeable.d.ts.map +0 -1
  406. package/dist/packages/core/src/hooks/useConstant.d.ts.map +0 -1
  407. package/dist/packages/core/src/hooks/useFeatures.d.ts.map +0 -1
  408. package/dist/packages/core/src/hooks/useForceUpdate.d.ts +0 -2
  409. package/dist/packages/core/src/hooks/useForceUpdate.d.ts.map +0 -1
  410. package/dist/packages/core/src/hooks/useMedia.d.ts.map +0 -1
  411. package/dist/packages/core/src/hooks/usePressable.d.ts.map +0 -1
  412. package/dist/packages/core/src/hooks/useTheme.d.ts +0 -18
  413. package/dist/packages/core/src/hooks/useTheme.d.ts.map +0 -1
  414. package/dist/packages/core/src/index.d.ts.map +0 -1
  415. package/dist/packages/core/src/static/postProcessStyles.d.ts.map +0 -1
  416. package/dist/packages/core/src/static.d.ts.map +0 -1
  417. package/dist/packages/core/src/styled.d.ts +0 -16
  418. package/dist/packages/core/src/styled.d.ts.map +0 -1
  419. package/dist/packages/core/src/types.d.ts.map +0 -1
  420. package/dist/packages/core/src/views/Animated.d.ts.map +0 -1
  421. package/dist/packages/core/src/views/Stack.d.ts.map +0 -1
  422. package/dist/packages/core/src/views/Text.d.ts +0 -3
  423. package/dist/packages/core/src/views/Text.d.ts.map +0 -1
  424. package/dist/packages/core/src/views/TextAncestorContext.d.ts +0 -3
  425. package/dist/packages/core/src/views/TextAncestorContext.d.ts.map +0 -1
  426. package/dist/packages/core/src/views/Theme.d.ts.map +0 -1
  427. package/dist/packages/core/src/views/ThemeContext.d.ts.map +0 -1
  428. package/dist/packages/core/src/views/ThemeInverse.d.ts.map +0 -1
  429. package/dist/packages/core/src/views/ThemeManagerContext.d.ts +0 -15
  430. package/dist/packages/core/src/views/ThemeManagerContext.d.ts.map +0 -1
  431. package/dist/packages/core/src/views/ThemeProvider.d.ts.map +0 -1
  432. package/dist/packages/helpers/src/AllRules.d.ts +0 -3
  433. package/dist/packages/helpers/src/AllRules.d.ts.map +0 -1
  434. package/dist/packages/helpers/src/concatClassName.d.ts +0 -2
  435. package/dist/packages/helpers/src/concatClassName.d.ts.map +0 -1
  436. package/dist/packages/helpers/src/index.d.ts +0 -5
  437. package/dist/packages/helpers/src/index.d.ts.map +0 -1
  438. package/dist/packages/helpers/src/types.d.ts +0 -8
  439. package/dist/packages/helpers/src/types.d.ts.map +0 -1
  440. package/dist/packages/helpers/src/validStyleProps.d.ts +0 -475
  441. package/dist/packages/helpers/src/validStyleProps.d.ts.map +0 -1
  442. package/dist/styled.js.map +0 -7
  443. package/dist/views/SafeAreaProvider.js +0 -30
  444. package/dist/views/SafeAreaProvider.js.map +0 -7
  445. package/dist/views/Text.js.map +0 -7
  446. package/dist/views/TextAncestorContext.js +0 -18
  447. package/dist/views/TextAncestorContext.js.map +0 -7
  448. package/dist/views/Theme.js.map +0 -7
  449. package/dist/views/ThemeManagerContext.js.map +0 -7
  450. package/dist/views/ThemeProvider.js.map +0 -7
  451. package/src/constants/constants.ts +0 -12
  452. package/src/constants/platform.ts +0 -15
  453. package/src/constants/pseudos.ts +0 -14
  454. package/src/constants/rnw.tsx +0 -20
  455. package/src/createComponent.tsx +0 -597
  456. package/src/createFont.ts +0 -26
  457. package/src/createShorthands.ts +0 -5
  458. package/src/createTamagui.ts +0 -207
  459. package/src/createTheme.ts +0 -19
  460. package/src/createTokens.ts +0 -83
  461. package/src/createVariable.ts +0 -22
  462. package/src/helpers/addStylesUsingClassname.tsx +0 -60
  463. package/src/helpers/createMediaStyle.ts +0 -46
  464. package/src/helpers/createPropMapper.ts +0 -184
  465. package/src/helpers/createTamaguiProvider.tsx +0 -22
  466. package/src/helpers/extendStaticConfig.ts +0 -68
  467. package/src/helpers/fixNativeShadow.native.tsx +0 -27
  468. package/src/helpers/fixNativeShadow.tsx +0 -2
  469. package/src/helpers/getSplitStyles.tsx +0 -210
  470. package/src/helpers/getStylesAtomic.native.ts +0 -3
  471. package/src/helpers/getStylesAtomic.ts +0 -103
  472. package/src/helpers/insertStyleRule.tsx +0 -18
  473. package/src/helpers/isObj.ts +0 -1
  474. package/src/helpers/matchMedia.native.ts +0 -3
  475. package/src/helpers/matchMedia.ts +0 -9
  476. package/src/helpers/themeable.tsx +0 -42
  477. package/src/hooks/useConstant.tsx +0 -10
  478. package/src/hooks/useFeatures.tsx +0 -78
  479. package/src/hooks/useMedia.tsx +0 -194
  480. package/src/hooks/usePressable.tsx +0 -9
  481. package/src/hooks/useTheme.tsx +0 -107
  482. package/src/index.ts +0 -32
  483. package/src/static/postProcessStyles.tsx +0 -20
  484. package/src/static.ts +0 -22
  485. package/src/styled.ts +0 -82
  486. package/src/types.tsx +0 -561
  487. package/src/views/Animated.tsx +0 -121
  488. package/src/views/SafeAreaProvider.tsx +0 -33
  489. package/src/views/Stack.tsx +0 -21
  490. package/src/views/Text.tsx +0 -66
  491. package/src/views/TextAncestorContext.tsx +0 -12
  492. package/src/views/Theme.tsx +0 -73
  493. package/src/views/ThemeContext.tsx +0 -5
  494. package/src/views/ThemeInverse.tsx +0 -23
  495. package/src/views/ThemeManagerContext.tsx +0 -50
  496. package/src/views/ThemeProvider.tsx +0 -52
  497. package/types.d.ts +0 -557
@@ -0,0 +1,543 @@
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
+ Spacer: () => Spacer,
61
+ createComponent: () => createComponent,
62
+ mouseUps: () => mouseUps,
63
+ spacedChildren: () => spacedChildren
64
+ });
65
+ var import_helpers = require("@tamagui/helpers");
66
+ var import_use_force_update = require("@tamagui/use-force-update");
67
+ var import_react = __toESM(require("react"));
68
+ var import_react_native = require("react-native");
69
+ var import_conf = require("./conf");
70
+ var import_constants = require("./constants/constants");
71
+ var import_platform = require("./constants/platform");
72
+ var import_rnw = require("./constants/rnw");
73
+ var import_addStylesUsingClassname = require("./helpers/addStylesUsingClassname");
74
+ var import_extendStaticConfig = require("./helpers/extendStaticConfig");
75
+ var import_getSplitStyles = require("./helpers/getSplitStyles");
76
+ var import_useFeatures = require("./hooks/useFeatures");
77
+ var import_usePressable = require("./hooks/usePressable");
78
+ var import_useTheme = require("./hooks/useTheme");
79
+ var import_TextAncestorContext = require("./views/TextAncestorContext");
80
+ const mouseUps = /* @__PURE__ */ new Set();
81
+ if (typeof document !== "undefined") {
82
+ document.addEventListener("mouseup", () => {
83
+ mouseUps.forEach((x) => x());
84
+ mouseUps.clear();
85
+ });
86
+ }
87
+ const defaultComponentState = {
88
+ hover: false,
89
+ press: false,
90
+ pressIn: false
91
+ };
92
+ function createShallowUpdate(setter) {
93
+ return (next) => {
94
+ setter((prev) => {
95
+ for (const key in next) {
96
+ if (prev[key] !== next[key]) {
97
+ return __spreadValues(__spreadValues({}, prev), next);
98
+ }
99
+ }
100
+ return prev;
101
+ });
102
+ };
103
+ }
104
+ __name(createShallowUpdate, "createShallowUpdate");
105
+ function createComponent(configIn) {
106
+ let staticConfig;
107
+ if ("parsed" in configIn) {
108
+ staticConfig = configIn;
109
+ } else {
110
+ staticConfig = (0, import_extendStaticConfig.parseStaticConfig)(configIn);
111
+ }
112
+ const { Component, validStyles, isText, isZStack } = staticConfig;
113
+ const validStyleProps = validStyles ?? import_helpers.stylePropsView;
114
+ let defaultProps = null;
115
+ let tamaguiConfig;
116
+ let defaultNativeStyle = null;
117
+ let defaultsClassName = "";
118
+ let initialTheme;
119
+ const component = (0, import_react.forwardRef)((props, forwardedRef) => {
120
+ var _b;
121
+ const forceUpdate = (0, import_use_force_update.useForceUpdate)();
122
+ const features = (0, import_useFeatures.useFeatures)(props, { forceUpdate });
123
+ const theme = (0, import_useTheme.useTheme)();
124
+ const [state, set_] = (0, import_react.useState)(defaultComponentState);
125
+ const set = createShallowUpdate(set_);
126
+ if (process.env.NODE_ENV === "development" && !isText && import_platform.isWeb) {
127
+ import_react.Children.toArray(props.children).forEach((item) => {
128
+ if (typeof item === "string") {
129
+ console.error(`Unexpected text node: ${item}. A text node cannot be a child of a <View>.`);
130
+ }
131
+ });
132
+ }
133
+ const hasTextAncestor = import_platform.isWeb ? (0, import_react.useContext)(import_TextAncestorContext.TextAncestorContext) : false;
134
+ const hostRef = (0, import_react.useRef)(null);
135
+ const {
136
+ viewProps: viewPropsIn,
137
+ pseudos,
138
+ style,
139
+ classNames
140
+ } = (0, import_getSplitStyles.getSplitStyles)(props, staticConfig, theme);
141
+ const _a = viewPropsIn, {
142
+ tag,
143
+ hitSlop,
144
+ children,
145
+ pointerEvents,
146
+ onPress,
147
+ onPressIn,
148
+ onPressOut,
149
+ onHoverIn,
150
+ onHoverOut,
151
+ space,
152
+ disabled,
153
+ onMouseEnter,
154
+ onMouseLeave,
155
+ hrefAttrs,
156
+ onMoveShouldSetResponder,
157
+ onMoveShouldSetResponderCapture,
158
+ onResponderEnd,
159
+ onResponderGrant,
160
+ onResponderMove,
161
+ onResponderReject,
162
+ onResponderRelease,
163
+ onResponderStart,
164
+ onResponderTerminate,
165
+ onResponderTerminationRequest,
166
+ onScrollShouldSetResponder,
167
+ onScrollShouldSetResponderCapture,
168
+ onSelectionChangeShouldSetResponder,
169
+ onSelectionChangeShouldSetResponderCapture,
170
+ onStartShouldSetResponder,
171
+ onStartShouldSetResponderCapture,
172
+ onMouseDown,
173
+ onClick,
174
+ accessible,
175
+ accessibilityRole,
176
+ onLayout
177
+ } = _a, viewProps = __objRest(_a, [
178
+ "tag",
179
+ "hitSlop",
180
+ "children",
181
+ "pointerEvents",
182
+ "onPress",
183
+ "onPressIn",
184
+ "onPressOut",
185
+ "onHoverIn",
186
+ "onHoverOut",
187
+ "space",
188
+ "disabled",
189
+ "onMouseEnter",
190
+ "onMouseLeave",
191
+ "hrefAttrs",
192
+ "onMoveShouldSetResponder",
193
+ "onMoveShouldSetResponderCapture",
194
+ "onResponderEnd",
195
+ "onResponderGrant",
196
+ "onResponderMove",
197
+ "onResponderReject",
198
+ "onResponderRelease",
199
+ "onResponderStart",
200
+ "onResponderTerminate",
201
+ "onResponderTerminationRequest",
202
+ "onScrollShouldSetResponder",
203
+ "onScrollShouldSetResponderCapture",
204
+ "onSelectionChangeShouldSetResponder",
205
+ "onSelectionChangeShouldSetResponderCapture",
206
+ "onStartShouldSetResponder",
207
+ "onStartShouldSetResponderCapture",
208
+ "onMouseDown",
209
+ "onClick",
210
+ "accessible",
211
+ "accessibilityRole",
212
+ "onLayout"
213
+ ]);
214
+ if (!import_platform.isWeb) {
215
+ if (accessible)
216
+ viewProps.accessible = accessible;
217
+ if (accessibilityRole)
218
+ viewProps.accessibilityRole = accessibilityRole;
219
+ }
220
+ if (import_platform.isWeb) {
221
+ import_rnw.rnw.useResponderEvents(hostRef, {
222
+ onMoveShouldSetResponder,
223
+ onMoveShouldSetResponderCapture,
224
+ onResponderEnd,
225
+ onResponderGrant,
226
+ onResponderMove,
227
+ onResponderReject,
228
+ onResponderRelease,
229
+ onResponderStart,
230
+ onResponderTerminate,
231
+ onResponderTerminationRequest,
232
+ onScrollShouldSetResponder,
233
+ onScrollShouldSetResponderCapture,
234
+ onSelectionChangeShouldSetResponder,
235
+ onSelectionChangeShouldSetResponderCapture,
236
+ onStartShouldSetResponder,
237
+ onStartShouldSetResponderCapture
238
+ });
239
+ }
240
+ const internal = (0, import_react.useRef)();
241
+ if (!internal.current) {
242
+ internal.current = {
243
+ isMounted: true
244
+ };
245
+ }
246
+ (0, import_react.useEffect)(() => {
247
+ internal.current.isMounted = true;
248
+ return () => {
249
+ mouseUps.delete(unPress);
250
+ internal.current.isMounted = false;
251
+ };
252
+ }, []);
253
+ const isInternalComponent = !Component || typeof Component === "string";
254
+ const element = import_platform.isWeb ? isInternalComponent ? tag || Component : Component : Component;
255
+ const ReactView = !import_platform.isWeb ? import_react_native.View : element || (hasTextAncestor ? "span" : "div");
256
+ const ReactText = !import_platform.isWeb ? import_react_native.Text : element || "span";
257
+ const ViewComponent = isText ? ReactText : ReactView;
258
+ const isHovering = !import_platform.isTouchDevice && !disabled && pseudos && state.hover;
259
+ const isPressing = !disabled && pseudos && state.press;
260
+ const styles = [
261
+ defaultNativeStyle ? defaultNativeStyle.base : null,
262
+ style,
263
+ isHovering ? pseudos.hoverStyle || null : null,
264
+ isPressing ? pseudos.pressStyle || null : null
265
+ ];
266
+ if (import_platform.isWeb) {
267
+ const stylesClassNames = (0, import_addStylesUsingClassname.useStylesAsClassname)(styles);
268
+ const classList = isText ? [
269
+ defaultsClassName,
270
+ classNames,
271
+ stylesClassNames,
272
+ props.className
273
+ ] : [defaultsClassName, props.className, classNames, stylesClassNames];
274
+ const className = (0, import_helpers.concatClassName)(...classList);
275
+ if (process.env.NODE_ENV === "development") {
276
+ if (props["debug"]) {
277
+ console.log("\u{1F95A} className", { style, styles, classList, stylesClassNames, className: className.trim().split(" ") });
278
+ }
279
+ }
280
+ viewProps.className = className;
281
+ } else {
282
+ viewProps.style = styles;
283
+ }
284
+ if (pointerEvents) {
285
+ viewProps.pointerEvents = pointerEvents;
286
+ }
287
+ if (import_platform.isWeb) {
288
+ const platformMethodsRef = import_rnw.rnw.usePlatformMethods(viewProps);
289
+ const setRef = import_rnw.rnw.useMergeRefs(hostRef, platformMethodsRef, forwardedRef);
290
+ viewProps.ref = setRef;
291
+ if (props.href != null && hrefAttrs != null) {
292
+ const { download, rel, target } = hrefAttrs;
293
+ if (download != null) {
294
+ viewProps.download = download;
295
+ }
296
+ if (rel != null) {
297
+ viewProps.rel = rel;
298
+ }
299
+ if (typeof target === "string") {
300
+ viewProps.target = target.charAt(0) !== "_" ? "_" + target : target;
301
+ }
302
+ }
303
+ } else {
304
+ if (forwardedRef) {
305
+ viewProps.ref = forwardedRef;
306
+ }
307
+ }
308
+ const attachPress = !!(pseudos && pseudos.pressStyle || onPress || onPressOut || onPressIn || onClick);
309
+ const attachHover = import_platform.isWeb && !import_platform.isTouchDevice && !!(pseudos && pseudos.hoverStyle || onHoverIn || onHoverOut || onMouseEnter || onMouseLeave);
310
+ 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);
311
+ if (shouldAttach) {
312
+ internal.current.hasEverHadEvents = true;
313
+ }
314
+ const unPress = (0, import_react.useCallback)(() => {
315
+ if (!internal.current.isMounted)
316
+ return;
317
+ set({
318
+ press: false,
319
+ pressIn: false
320
+ });
321
+ }, []);
322
+ const events = shouldAttach ? __spreadProps(__spreadValues(__spreadValues({}, !import_platform.isWeb && {
323
+ onPressOut: (e) => {
324
+ unPress();
325
+ onPressOut == null ? void 0 : onPressOut(e);
326
+ }
327
+ }), import_platform.isWeb && !import_platform.isTouchDevice && {
328
+ onMouseEnter: attachHover || attachPress ? (e) => {
329
+ let next = {};
330
+ if (attachHover) {
331
+ next.hover = true;
332
+ }
333
+ if (state.pressIn) {
334
+ next.press = true;
335
+ }
336
+ if (Object.keys(next).length) {
337
+ set(next);
338
+ }
339
+ onHoverIn == null ? void 0 : onHoverIn(e);
340
+ onMouseEnter == null ? void 0 : onMouseEnter(e);
341
+ } : void 0,
342
+ onMouseLeave: attachHover || attachPress ? (e) => {
343
+ let next = {};
344
+ mouseUps.add(unPress);
345
+ if (attachHover) {
346
+ next.hover = false;
347
+ }
348
+ if (state.pressIn) {
349
+ next.press = false;
350
+ next.pressIn = false;
351
+ }
352
+ if (Object.keys(next).length) {
353
+ set(next);
354
+ }
355
+ onHoverOut == null ? void 0 : onHoverOut(e);
356
+ onMouseLeave == null ? void 0 : onMouseLeave(e);
357
+ } : void 0
358
+ }), {
359
+ onMouseDown: attachPress ? (e) => {
360
+ set({
361
+ press: true,
362
+ pressIn: true
363
+ });
364
+ onPressIn == null ? void 0 : onPressIn(e);
365
+ onMouseDown == null ? void 0 : onMouseDown(e);
366
+ } : onPressIn,
367
+ onClick: attachPress ? (e) => {
368
+ onPress == null ? void 0 : onPress(e);
369
+ onClick == null ? void 0 : onClick(e);
370
+ unPress();
371
+ onPressOut == null ? void 0 : onPressOut(e);
372
+ } : onPressOut
373
+ }) : null;
374
+ if (events) {
375
+ if (typeof ViewComponent !== "string") {
376
+ const [pressProps] = (0, import_usePressable.usePressable)({
377
+ disabled,
378
+ hitSlop,
379
+ onPressIn: events.onMouseDown,
380
+ onPressOut: events.onPressOut,
381
+ onPress: events.onClick
382
+ });
383
+ Object.assign(viewProps, pressProps);
384
+ } else {
385
+ Object.assign(viewProps, events);
386
+ }
387
+ }
388
+ const childEls = spacedChildren({
389
+ children,
390
+ space,
391
+ flexDirection: props.flexDirection || (defaultProps == null ? void 0 : defaultProps.flexDirection),
392
+ isZStack
393
+ });
394
+ let content;
395
+ if (import_platform.isWeb && import_rnw.rnw) {
396
+ const domProps = import_rnw.rnw.createDOMProps(viewProps);
397
+ const className = domProps.className && domProps.className !== viewProps.className ? `${domProps.className} ${viewProps.className}` : viewProps.className;
398
+ Object.assign(viewProps, domProps);
399
+ if (staticConfig.isReactNativeWeb) {
400
+ viewProps.dataSet = viewProps.dataSet || {};
401
+ Object.assign(viewProps.dataSet, { __className: className });
402
+ } else {
403
+ viewProps.className = className;
404
+ }
405
+ content = (0, import_react.createElement)(ViewComponent, viewProps, childEls);
406
+ } else {
407
+ content = (0, import_react.createElement)(ViewComponent, viewProps, childEls);
408
+ }
409
+ const shouldWrapTextAncestor = import_platform.isWeb && isText && !hasTextAncestor;
410
+ if (shouldWrapTextAncestor) {
411
+ content = (0, import_react.createElement)(import_TextAncestorContext.TextAncestorContext.Provider, { value: true }, content);
412
+ }
413
+ if (process.env.NODE_ENV === "development") {
414
+ if (props["debug"]) {
415
+ viewProps["debug"] = true;
416
+ console.log("\u{1F95A} props in:", props);
417
+ console.log("\u{1F95A} props out:", viewProps, (_b = viewProps.className) == null ? void 0 : _b.split(" "));
418
+ console.log("\u{1F95A} etc:", { shouldAttach, ViewComponent, viewProps, styles, pseudos, content, childEls, configIn });
419
+ if (import_platform.isWeb)
420
+ console.log("\u{1F95A} component info", { staticConfig, tamaguiConfig });
421
+ }
422
+ }
423
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, features, content);
424
+ });
425
+ (0, import_conf.onConfiguredOnce)((conf) => {
426
+ var _a;
427
+ tamaguiConfig = conf;
428
+ initialTheme = conf.themes[conf.defaultTheme || Object.keys(conf.themes)[0]];
429
+ const next = (0, import_getSplitStyles.getSplitStyles)(staticConfig.defaultProps, staticConfig, initialTheme, true);
430
+ if (import_platform.isWeb) {
431
+ if (next.classNames) {
432
+ defaultsClassName += next.classNames + " ";
433
+ }
434
+ defaultsClassName += (0, import_addStylesUsingClassname.addStylesUsingClassname)([next.style, next.pseudos]);
435
+ } else {
436
+ const sheetStyles = {};
437
+ for (const style of next.style) {
438
+ Object.assign(sheetStyles, style);
439
+ }
440
+ defaultNativeStyle = import_react_native.StyleSheet.create({
441
+ base: sheetStyles
442
+ });
443
+ }
444
+ component.defaultProps = __spreadValues(__spreadValues({}, next.viewProps), component.defaultProps);
445
+ if (process.env.NODE_ENV === "development") {
446
+ if ((_a = staticConfig.defaultProps) == null ? void 0 : _a.debug) {
447
+ console.log("tamagui debug component:", next, defaultsClassName, component.defaultProps);
448
+ }
449
+ }
450
+ });
451
+ component["staticConfig"] = __spreadValues({
452
+ validStyles: validStyleProps
453
+ }, staticConfig);
454
+ const res = component;
455
+ res["extractable"] = (Component2, conf) => {
456
+ Component2["staticConfig"] = (0, import_extendStaticConfig.extendStaticConfig)(res, __spreadProps(__spreadValues({}, conf), {
457
+ neverFlatten: true,
458
+ defaultProps: __spreadValues(__spreadValues({}, Component2.defaultProps), conf == null ? void 0 : conf.defaultProps)
459
+ }));
460
+ return Component2;
461
+ };
462
+ return res;
463
+ }
464
+ __name(createComponent, "createComponent");
465
+ let hasWarnedOnce = false;
466
+ const Spacer = createComponent({
467
+ defaultProps: __spreadProps(__spreadValues({}, import_constants.stackDefaultStyles), {
468
+ size: true
469
+ }),
470
+ variants: {
471
+ size: {
472
+ "...size": (size, { tokens }) => {
473
+ size = size == true ? "$true" : size;
474
+ return {
475
+ width: tokens.size[size] ?? size,
476
+ height: tokens.size[size] ?? size
477
+ };
478
+ }
479
+ },
480
+ direction: {
481
+ horizontal: {
482
+ height: 0
483
+ },
484
+ vertical: {
485
+ width: 0
486
+ }
487
+ }
488
+ }
489
+ });
490
+ function spacedChildren({
491
+ isZStack,
492
+ children,
493
+ space,
494
+ flexDirection
495
+ }) {
496
+ var _a;
497
+ if (!space && !isZStack) {
498
+ return children;
499
+ }
500
+ const childrenList = import_react.Children.toArray(children);
501
+ const len = childrenList.length;
502
+ if (len === 1) {
503
+ return children;
504
+ }
505
+ const next = [];
506
+ for (const [index, child] of childrenList.entries()) {
507
+ if (child === null || child === void 0) {
508
+ continue;
509
+ }
510
+ const key = `${(child == null ? void 0 : child["key"]) ?? index}`;
511
+ next.push(/* @__PURE__ */ import_react.default.createElement(import_react.Fragment, {
512
+ key
513
+ }, isZStack ? /* @__PURE__ */ import_react.default.createElement(Absolute, null, child) : child));
514
+ if ((_a = child == null ? void 0 : child["type"]) == null ? void 0 : _a["isVisuallyHidden"]) {
515
+ continue;
516
+ }
517
+ if (index !== len - 1) {
518
+ if (space) {
519
+ next.push(/* @__PURE__ */ import_react.default.createElement(Spacer, {
520
+ key: `${key}_spacer`,
521
+ direction: flexDirection === "row" || flexDirection === "row-reverse" ? "horizontal" : "vertical",
522
+ size: space
523
+ }));
524
+ }
525
+ }
526
+ }
527
+ return next;
528
+ }
529
+ __name(spacedChildren, "spacedChildren");
530
+ const Absolute = /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ import_react.default.createElement(import_react_native.View, {
531
+ style: sheet.fullscreen
532
+ }, children), "Absolute");
533
+ const sheet = import_react_native.StyleSheet.create({
534
+ fullscreen: {
535
+ position: "absolute",
536
+ top: 0,
537
+ left: 0,
538
+ right: 0,
539
+ bottom: 0
540
+ }
541
+ });
542
+ module.exports = __toCommonJS(createComponent_exports);
543
+ //# sourceMappingURL=createComponent.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/createComponent.tsx"],
4
+ "sourcesContent": ["import { 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('\uD83E\uDD5A 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('\uD83E\uDD5A props in:', props)\n console.log('\uD83E\uDD5A props out:', viewProps, viewProps.className?.split(' '))\n // prettier-ignore\n console.log('\uD83E\uDD5A etc:', { shouldAttach, ViewComponent, viewProps, styles, pseudos, content, childEls, configIn })\n // only on browser because node expands it huge\n if (isWeb) console.log('\uD83E\uDD5A component info', { staticConfig, tamaguiConfig })\n }\n }\n\n return (\n <>\n {features}\n {content}\n </>\n )\n })\n\n // Once configuration is run and all components are registered\n // get default props + className and analyze styles\n onConfiguredOnce((conf) => {\n tamaguiConfig = conf\n initialTheme = conf.themes[conf.defaultTheme || Object.keys(conf.themes)[0]]\n const next = getSplitStyles(staticConfig.defaultProps, staticConfig, initialTheme, true)\n if (isWeb) {\n if (next.classNames) {\n defaultsClassName += next.classNames + ' '\n }\n defaultsClassName += addStylesUsingClassname([next.style, next.pseudos])\n } else {\n // native, create a default StyleSheet\n // TODO handle next.pseudos\n const sheetStyles = {}\n for (const style of next.style) {\n Object.assign(sheetStyles, style)\n }\n defaultNativeStyle = StyleSheet.create({\n base: sheetStyles,\n })\n }\n // @ts-ignore\n component.defaultProps = {\n ...next.viewProps,\n ...component.defaultProps,\n }\n if (process.env.NODE_ENV === 'development') {\n if (staticConfig.defaultProps?.debug) {\n console.log('tamagui debug component:', next, defaultsClassName, component.defaultProps)\n }\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(<Fragment key={key}>{isZStack ? <Absolute>{child}</Absolute> : child}</Fragment>)\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\n// for now not so \"tamagui-y\"\nconst Absolute = ({ children }) => <View style={sheet.fullscreen}>{children}</View>\nconst sheet = StyleSheet.create({\n fullscreen: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n },\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
+ }