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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (615) hide show
  1. package/dist/cjs/Tamagui.js +52 -0
  2. package/dist/cjs/Tamagui.js.map +7 -0
  3. package/dist/cjs/ThemeContext.js +25 -0
  4. package/dist/cjs/ThemeContext.js.map +7 -0
  5. package/dist/cjs/ThemeManager.js +181 -0
  6. package/dist/cjs/ThemeManager.js.map +7 -0
  7. package/dist/cjs/conf.js +55 -0
  8. package/dist/cjs/conf.js.map +7 -0
  9. package/dist/cjs/constants/constants.js +50 -0
  10. package/dist/cjs/constants/constants.js.map +7 -0
  11. package/dist/cjs/constants/platform.js +43 -0
  12. package/dist/cjs/constants/platform.js.map +7 -0
  13. package/dist/cjs/constants/rnw.js +42 -0
  14. package/dist/cjs/constants/rnw.js.map +7 -0
  15. package/dist/cjs/contexts/ButtonInsideButtonContext.js +25 -0
  16. package/dist/cjs/contexts/ButtonInsideButtonContext.js.map +7 -0
  17. package/dist/cjs/createComponent.js +669 -0
  18. package/dist/cjs/createComponent.js.map +7 -0
  19. package/dist/cjs/createFont.js +46 -0
  20. package/dist/cjs/createFont.js.map +7 -0
  21. package/dist/cjs/createShorthands.js +28 -0
  22. package/dist/cjs/createShorthands.js.map +7 -0
  23. package/dist/cjs/createTamagui.js +211 -0
  24. package/dist/cjs/createTamagui.js.map +7 -0
  25. package/dist/cjs/createTheme.js +25 -0
  26. package/dist/cjs/createTheme.js.map +7 -0
  27. package/dist/cjs/createTokens.js +51 -0
  28. package/dist/cjs/createTokens.js.map +7 -0
  29. package/dist/cjs/createVariable.js +61 -0
  30. package/dist/cjs/createVariable.js.map +7 -0
  31. package/dist/cjs/defaultComponentState.js +31 -0
  32. package/dist/cjs/defaultComponentState.js.map +7 -0
  33. package/dist/cjs/devtools.js +34 -0
  34. package/dist/cjs/devtools.js.map +7 -0
  35. package/dist/cjs/helpers/addStylesUsingClassname.js +79 -0
  36. package/dist/cjs/helpers/addStylesUsingClassname.js.map +7 -0
  37. package/dist/cjs/helpers/areEqualSets.js +34 -0
  38. package/dist/cjs/helpers/areEqualSets.js.map +7 -0
  39. package/dist/cjs/helpers/createMediaStyle.js +52 -0
  40. package/dist/cjs/helpers/createMediaStyle.js.map +7 -0
  41. package/dist/cjs/helpers/createPropMapper.js +226 -0
  42. package/dist/cjs/helpers/createPropMapper.js.map +7 -0
  43. package/dist/cjs/helpers/createTamaguiProvider.js +93 -0
  44. package/dist/cjs/helpers/createTamaguiProvider.js.map +7 -0
  45. package/dist/cjs/helpers/extendStaticConfig.js +79 -0
  46. package/dist/cjs/helpers/extendStaticConfig.js.map +7 -0
  47. package/dist/cjs/helpers/fixNativeShadow.js +26 -0
  48. package/dist/cjs/helpers/fixNativeShadow.js.map +7 -0
  49. package/dist/cjs/helpers/fixNativeShadow.native.js +52 -0
  50. package/dist/cjs/helpers/fixNativeShadow.native.js.map +7 -0
  51. package/dist/cjs/helpers/getExpandedShorthands.js +37 -0
  52. package/dist/cjs/helpers/getExpandedShorthands.js.map +7 -0
  53. package/dist/cjs/helpers/getSplitStyles.js +257 -0
  54. package/dist/cjs/helpers/getSplitStyles.js.map +7 -0
  55. package/dist/cjs/helpers/getStylesAtomic.js +159 -0
  56. package/dist/cjs/helpers/getStylesAtomic.js.map +7 -0
  57. package/dist/cjs/helpers/getStylesAtomic.native.js +28 -0
  58. package/dist/cjs/helpers/getStylesAtomic.native.js.map +7 -0
  59. package/dist/cjs/helpers/insertStyleRule.js +100 -0
  60. package/dist/cjs/helpers/insertStyleRule.js.map +7 -0
  61. package/dist/cjs/helpers/isObj.js +25 -0
  62. package/dist/cjs/helpers/isObj.js.map +7 -0
  63. package/dist/cjs/helpers/isTamaguiElement.js +29 -0
  64. package/dist/cjs/helpers/isTamaguiElement.js.map +7 -0
  65. package/dist/cjs/helpers/matchMedia.js +36 -0
  66. package/dist/cjs/helpers/matchMedia.js.map +7 -0
  67. package/dist/cjs/helpers/matchMedia.native.js +30 -0
  68. package/dist/cjs/helpers/matchMedia.native.js.map +7 -0
  69. package/dist/cjs/helpers/themeable.js +78 -0
  70. package/dist/cjs/helpers/themeable.js.map +7 -0
  71. package/dist/cjs/helpers/validate.js +81 -0
  72. package/dist/cjs/helpers/validate.js.map +7 -0
  73. package/dist/cjs/helpers/withStaticProperties.js +28 -0
  74. package/dist/cjs/helpers/withStaticProperties.js.map +7 -0
  75. package/dist/cjs/helpers/wrapThemeManagerContext.js +35 -0
  76. package/dist/cjs/helpers/wrapThemeManagerContext.js.map +7 -0
  77. package/dist/cjs/hooks/useConstant.js +33 -0
  78. package/dist/cjs/hooks/useConstant.js.map +7 -0
  79. package/dist/cjs/hooks/useFeatures.js +139 -0
  80. package/dist/cjs/hooks/useFeatures.js.map +7 -0
  81. package/dist/cjs/hooks/useIsMounted.js +37 -0
  82. package/dist/cjs/hooks/useIsMounted.js.map +7 -0
  83. package/dist/cjs/hooks/useIsTouchDevice.js +35 -0
  84. package/dist/cjs/hooks/useIsTouchDevice.js.map +7 -0
  85. package/dist/cjs/hooks/useMedia.js +206 -0
  86. package/dist/cjs/hooks/useMedia.js.map +7 -0
  87. package/dist/cjs/hooks/usePressable.js +46 -0
  88. package/dist/cjs/hooks/usePressable.js.map +7 -0
  89. package/dist/cjs/hooks/useTheme.js +206 -0
  90. package/dist/cjs/hooks/useTheme.js.map +7 -0
  91. package/dist/cjs/hooks/useUnmountEffect.js +29 -0
  92. package/dist/cjs/hooks/useUnmountEffect.js.map +7 -0
  93. package/dist/cjs/index.js +68 -0
  94. package/dist/cjs/index.js.map +7 -0
  95. package/dist/cjs/spacedChildren.js +86 -0
  96. package/dist/cjs/spacedChildren.js.map +7 -0
  97. package/dist/cjs/static.js +30 -0
  98. package/dist/cjs/static.js.map +7 -0
  99. package/dist/cjs/styled.js +101 -0
  100. package/dist/cjs/styled.js.map +7 -0
  101. package/dist/cjs/types-rnw.js +16 -0
  102. package/dist/cjs/types-rnw.js.map +7 -0
  103. package/dist/cjs/types.js +16 -0
  104. package/dist/cjs/types.js.map +7 -0
  105. package/dist/cjs/views/Stack.js +47 -0
  106. package/dist/cjs/views/Stack.js.map +7 -0
  107. package/dist/cjs/views/Text.js +90 -0
  108. package/dist/cjs/views/Text.js.map +7 -0
  109. package/dist/cjs/views/TextAncestorContext.js +39 -0
  110. package/dist/cjs/views/TextAncestorContext.js.map +7 -0
  111. package/dist/cjs/views/Theme.js +65 -0
  112. package/dist/cjs/views/Theme.js.map +7 -0
  113. package/dist/cjs/views/ThemeInverse.js +47 -0
  114. package/dist/cjs/views/ThemeInverse.js.map +7 -0
  115. package/dist/cjs/views/ThemeProvider.js +62 -0
  116. package/dist/cjs/views/ThemeProvider.js.map +7 -0
  117. package/dist/cjs/views/ThemeReset.js +59 -0
  118. package/dist/cjs/views/ThemeReset.js.map +7 -0
  119. package/dist/esm/Tamagui.js +34 -0
  120. package/dist/esm/Tamagui.js.map +7 -0
  121. package/dist/{views → esm}/ThemeContext.js +0 -0
  122. package/dist/esm/ThemeContext.js.map +7 -0
  123. package/dist/esm/ThemeManager.js +179 -0
  124. package/dist/esm/ThemeManager.js.map +7 -0
  125. package/dist/esm/conf.js +37 -0
  126. package/dist/esm/conf.js.map +7 -0
  127. package/dist/{constants → esm/constants}/constants.js +4 -0
  128. package/dist/esm/constants/constants.js.map +7 -0
  129. package/dist/{constants → esm/constants}/platform.js +6 -1
  130. package/dist/esm/constants/platform.js.map +7 -0
  131. package/dist/{constants → esm/constants}/pseudos.js +0 -0
  132. package/dist/{constants → esm/constants}/pseudos.js.map +2 -2
  133. package/dist/{constants → esm/constants}/rnw.js +2 -0
  134. package/dist/esm/constants/rnw.js.map +7 -0
  135. package/dist/esm/contexts/ButtonInsideButtonContext.js +6 -0
  136. package/dist/esm/contexts/ButtonInsideButtonContext.js.map +7 -0
  137. package/dist/esm/createComponent.js +611 -0
  138. package/dist/esm/createComponent.js.map +7 -0
  139. package/dist/{createFont.js → esm/createFont.js} +0 -0
  140. package/dist/{createFont.js.map → esm/createFont.js.map} +2 -2
  141. package/dist/{createShorthands.js → esm/createShorthands.js} +0 -0
  142. package/dist/{createShorthands.js.map → esm/createShorthands.js.map} +2 -2
  143. package/dist/esm/createTamagui.js +177 -0
  144. package/dist/esm/createTamagui.js.map +7 -0
  145. package/dist/esm/createTheme.js +7 -0
  146. package/dist/esm/createTheme.js.map +7 -0
  147. package/dist/{createTokens.js → esm/createTokens.js} +0 -0
  148. package/dist/{createTokens.js.map → esm/createTokens.js.map} +2 -2
  149. package/dist/esm/createVariable.js +43 -0
  150. package/dist/esm/createVariable.js.map +7 -0
  151. package/dist/esm/defaultComponentState.js +12 -0
  152. package/dist/esm/defaultComponentState.js.map +7 -0
  153. package/dist/esm/devtools.js +16 -0
  154. package/dist/esm/devtools.js.map +7 -0
  155. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js +16 -12
  156. package/dist/esm/helpers/addStylesUsingClassname.js.map +7 -0
  157. package/dist/esm/helpers/areEqualSets.js +16 -0
  158. package/dist/esm/helpers/areEqualSets.js.map +7 -0
  159. package/dist/{helpers → esm/helpers}/createMediaStyle.js +0 -0
  160. package/dist/{helpers → esm/helpers}/createMediaStyle.js.map +2 -2
  161. package/dist/esm/helpers/createPropMapper.js +208 -0
  162. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  163. package/dist/esm/helpers/createTamaguiProvider.js +43 -0
  164. package/dist/esm/helpers/createTamaguiProvider.js.map +7 -0
  165. package/dist/{helpers → esm/helpers}/extendStaticConfig.js +14 -14
  166. package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
  167. package/dist/{helpers → esm/helpers}/fixNativeShadow.js +0 -0
  168. package/dist/{helpers → esm/helpers}/fixNativeShadow.js.map +2 -2
  169. package/dist/esm/helpers/fixNativeShadow.native.js +34 -0
  170. package/dist/esm/helpers/fixNativeShadow.native.js.map +7 -0
  171. package/dist/esm/helpers/getExpandedShorthands.js +19 -0
  172. package/dist/esm/helpers/getExpandedShorthands.js.map +7 -0
  173. package/dist/esm/helpers/getSplitStyles.js +234 -0
  174. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  175. package/dist/esm/helpers/getStylesAtomic.js +118 -0
  176. package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
  177. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js +0 -0
  178. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js.map +2 -2
  179. package/dist/esm/helpers/insertStyleRule.js +82 -0
  180. package/dist/esm/helpers/insertStyleRule.js.map +7 -0
  181. package/dist/{helpers → esm/helpers}/isObj.js +0 -0
  182. package/dist/{helpers → esm/helpers}/isObj.js.map +2 -2
  183. package/dist/{helpers → esm/helpers}/isTamaguiElement.js +2 -1
  184. package/dist/{helpers → esm/helpers}/isTamaguiElement.js.map +2 -2
  185. package/dist/{helpers → esm/helpers}/matchMedia.js +3 -0
  186. package/dist/esm/helpers/matchMedia.js.map +7 -0
  187. package/dist/{helpers → esm/helpers}/matchMedia.native.js +1 -0
  188. package/dist/esm/helpers/matchMedia.native.js.map +7 -0
  189. package/dist/{helpers → esm/helpers}/themeable.js +11 -10
  190. package/dist/esm/helpers/themeable.js.map +7 -0
  191. package/dist/esm/helpers/validate.js +63 -0
  192. package/dist/esm/helpers/validate.js.map +7 -0
  193. package/dist/esm/helpers/withStaticProperties.js +10 -0
  194. package/dist/esm/helpers/withStaticProperties.js.map +7 -0
  195. package/dist/esm/helpers/wrapThemeManagerContext.js +14 -0
  196. package/dist/esm/helpers/wrapThemeManagerContext.js.map +7 -0
  197. package/dist/{hooks → esm/hooks}/useConstant.js +0 -0
  198. package/dist/{hooks → esm/hooks}/useConstant.js.map +2 -2
  199. package/dist/esm/hooks/useFeatures.js +94 -0
  200. package/dist/esm/hooks/useFeatures.js.map +7 -0
  201. package/dist/esm/hooks/useIsMounted.js +19 -0
  202. package/dist/esm/hooks/useIsMounted.js.map +7 -0
  203. package/dist/esm/hooks/useIsTouchDevice.js +17 -0
  204. package/dist/esm/hooks/useIsTouchDevice.js.map +7 -0
  205. package/dist/{hooks → esm/hooks}/useMedia.js +13 -6
  206. package/dist/esm/hooks/useMedia.js.map +7 -0
  207. package/dist/{hooks → esm/hooks}/usePressable.js +2 -1
  208. package/dist/{hooks → esm/hooks}/usePressable.js.map +2 -2
  209. package/dist/esm/hooks/useTheme.js +173 -0
  210. package/dist/esm/hooks/useTheme.js.map +7 -0
  211. package/dist/esm/hooks/useUnmountEffect.js +11 -0
  212. package/dist/esm/hooks/useUnmountEffect.js.map +7 -0
  213. package/dist/{index.js → esm/index.js} +21 -5
  214. package/dist/esm/index.js.map +7 -0
  215. package/dist/esm/spacedChildren.js +52 -0
  216. package/dist/esm/spacedChildren.js.map +7 -0
  217. package/dist/{static.js → esm/static.js} +1 -2
  218. package/dist/{static.js.map → esm/static.js.map} +3 -3
  219. package/dist/esm/styled.js +53 -0
  220. package/dist/esm/styled.js.map +7 -0
  221. package/dist/esm/tamagui-base.css +8 -0
  222. package/dist/esm/tamagui-base.css.map +7 -0
  223. package/dist/esm/types-rnw.js +1 -0
  224. package/dist/{helpers/pseudos.js.map → esm/types-rnw.js.map} +0 -0
  225. package/dist/{types.js → esm/types.js} +0 -0
  226. package/dist/{types.js.map → esm/types.js.map} +0 -0
  227. package/dist/{views → esm/views}/Stack.js +0 -0
  228. package/dist/esm/views/Stack.js.map +7 -0
  229. package/dist/{views → esm/views}/Text.js +5 -4
  230. package/dist/esm/views/Text.js.map +7 -0
  231. package/dist/esm/views/TextAncestorContext.js +18 -0
  232. package/dist/esm/views/TextAncestorContext.js.map +7 -0
  233. package/dist/esm/views/Theme.js +44 -0
  234. package/dist/esm/views/Theme.js.map +7 -0
  235. package/dist/{views → esm/views}/ThemeInverse.js +1 -1
  236. package/dist/{views → esm/views}/ThemeInverse.js.map +3 -3
  237. package/dist/esm/views/ThemeProvider.js +41 -0
  238. package/dist/esm/views/ThemeProvider.js.map +7 -0
  239. package/dist/esm/views/ThemeReset.js +38 -0
  240. package/dist/esm/views/ThemeReset.js.map +7 -0
  241. package/dist/jsx/Tamagui.js +33 -0
  242. package/dist/jsx/ThemeContext.js +5 -0
  243. package/dist/jsx/ThemeManager.js +178 -0
  244. package/dist/jsx/conf.js +36 -0
  245. package/dist/jsx/constants/constants.js +17 -0
  246. package/dist/jsx/constants/platform.js +23 -0
  247. package/dist/jsx/constants/pseudos.js +17 -0
  248. package/dist/jsx/constants/rnw.js +23 -0
  249. package/dist/jsx/contexts/ButtonInsideButtonContext.js +5 -0
  250. package/dist/jsx/createComponent.js +598 -0
  251. package/dist/jsx/createFont.js +27 -0
  252. package/dist/jsx/createShorthands.js +9 -0
  253. package/dist/jsx/createTamagui.js +176 -0
  254. package/dist/jsx/createTheme.js +6 -0
  255. package/dist/jsx/createTokens.js +32 -0
  256. package/dist/jsx/createVariable.js +42 -0
  257. package/dist/jsx/defaultComponentState.js +11 -0
  258. package/dist/jsx/devtools.js +15 -0
  259. package/dist/jsx/helpers/addStylesUsingClassname.js +60 -0
  260. package/dist/jsx/helpers/areEqualSets.js +15 -0
  261. package/dist/jsx/helpers/createMediaStyle.js +33 -0
  262. package/dist/jsx/helpers/createPropMapper.js +207 -0
  263. package/dist/jsx/helpers/createTamaguiProvider.js +35 -0
  264. package/dist/jsx/helpers/extendStaticConfig.js +58 -0
  265. package/dist/jsx/helpers/fixNativeShadow.js +7 -0
  266. package/dist/jsx/helpers/fixNativeShadow.native.js +33 -0
  267. package/dist/jsx/helpers/getExpandedShorthands.js +18 -0
  268. package/dist/jsx/helpers/getSplitStyles.js +233 -0
  269. package/dist/jsx/helpers/getStylesAtomic.js +117 -0
  270. package/dist/jsx/helpers/getStylesAtomic.native.js +9 -0
  271. package/dist/jsx/helpers/insertStyleRule.js +81 -0
  272. package/dist/jsx/helpers/isObj.js +6 -0
  273. package/dist/jsx/helpers/isTamaguiElement.js +10 -0
  274. package/dist/jsx/helpers/matchMedia.js +17 -0
  275. package/dist/jsx/helpers/matchMedia.native.js +8 -0
  276. package/dist/jsx/helpers/themeable.js +24 -0
  277. package/dist/jsx/helpers/validate.js +62 -0
  278. package/dist/jsx/helpers/withStaticProperties.js +9 -0
  279. package/dist/jsx/helpers/wrapThemeManagerContext.js +10 -0
  280. package/dist/jsx/hooks/useConstant.js +14 -0
  281. package/dist/jsx/hooks/useFeatures.js +88 -0
  282. package/dist/jsx/hooks/useIsMounted.js +18 -0
  283. package/dist/jsx/hooks/useIsTouchDevice.js +16 -0
  284. package/dist/jsx/hooks/useMedia.js +177 -0
  285. package/dist/jsx/hooks/usePressable.js +13 -0
  286. package/dist/jsx/hooks/useTheme.js +172 -0
  287. package/dist/jsx/hooks/useUnmountEffect.js +10 -0
  288. package/dist/jsx/index.js +47 -0
  289. package/dist/jsx/spacedChildren.js +44 -0
  290. package/dist/jsx/static.js +13 -0
  291. package/dist/jsx/styled.js +52 -0
  292. package/dist/jsx/tamagui-base.css +7 -0
  293. package/dist/jsx/types-rnw.js +0 -0
  294. package/dist/jsx/types.js +0 -0
  295. package/dist/jsx/views/Stack.js +11 -0
  296. package/dist/jsx/views/Text.js +60 -0
  297. package/dist/jsx/views/TextAncestorContext.js +15 -0
  298. package/dist/jsx/views/Theme.js +40 -0
  299. package/dist/jsx/views/ThemeInverse.js +22 -0
  300. package/dist/jsx/views/ThemeProvider.js +35 -0
  301. package/dist/jsx/views/ThemeReset.js +34 -0
  302. package/package.json +22 -19
  303. package/types/Tamagui.d.ts +13 -0
  304. package/types/Tamagui.d.ts.map +1 -0
  305. package/types/ThemeContext.d.ts +7 -0
  306. package/types/ThemeContext.d.ts.map +1 -0
  307. package/types/ThemeManager.d.ts +49 -0
  308. package/types/ThemeManager.d.ts.map +1 -0
  309. package/types/conf.d.ts +25 -0
  310. package/types/conf.d.ts.map +1 -0
  311. package/{dist/packages/core/src → types}/constants/constants.d.ts +2 -0
  312. package/types/constants/constants.d.ts.map +1 -0
  313. package/{dist/packages/core/src → types}/constants/platform.d.ts +2 -0
  314. package/types/constants/platform.d.ts.map +1 -0
  315. package/{dist/packages/core/src → types}/constants/rnw.d.ts +0 -0
  316. package/types/constants/rnw.d.ts.map +1 -0
  317. package/types/contexts/ButtonInsideButtonContext.d.ts +3 -0
  318. package/types/contexts/ButtonInsideButtonContext.d.ts.map +1 -0
  319. package/types/createComponent.d.ts +21 -0
  320. package/types/createComponent.d.ts.map +1 -0
  321. package/types/createFont.d.ts +3 -0
  322. package/types/createFont.d.ts.map +1 -0
  323. package/{dist/packages/core/src → types}/createShorthands.d.ts +0 -0
  324. package/types/createShorthands.d.ts.map +1 -0
  325. package/types/createTamagui.d.ts +16 -0
  326. package/types/createTamagui.d.ts.map +1 -0
  327. package/types/createTheme.d.ts +7 -0
  328. package/types/createTheme.d.ts.map +1 -0
  329. package/{dist/packages/core/src → types}/createTokens.d.ts +24 -14
  330. package/types/createTokens.d.ts.map +1 -0
  331. package/{dist/packages/core/src → types}/createVariable.d.ts +6 -1
  332. package/types/createVariable.d.ts.map +1 -0
  333. package/types/defaultComponentState.d.ts +13 -0
  334. package/types/defaultComponentState.d.ts.map +1 -0
  335. package/types/devtools.d.ts.map +1 -0
  336. package/types/helpers/addStylesUsingClassname.d.ts +3 -0
  337. package/types/helpers/addStylesUsingClassname.d.ts.map +1 -0
  338. package/types/helpers/areEqualSets.d.ts +2 -0
  339. package/types/helpers/areEqualSets.d.ts.map +1 -0
  340. package/{dist/packages/core/src → types}/helpers/createMediaStyle.d.ts +0 -0
  341. package/types/helpers/createMediaStyle.d.ts.map +1 -0
  342. package/types/helpers/createPropMapper.d.ts +4 -0
  343. package/types/helpers/createPropMapper.d.ts.map +1 -0
  344. package/types/helpers/createTamaguiProvider.d.ts +7 -0
  345. package/types/helpers/createTamaguiProvider.d.ts.map +1 -0
  346. package/types/helpers/extendStaticConfig.d.ts +4 -0
  347. package/types/helpers/extendStaticConfig.d.ts.map +1 -0
  348. package/{dist/packages/core/src → types}/helpers/fixNativeShadow.d.ts +0 -0
  349. package/types/helpers/fixNativeShadow.d.ts.map +1 -0
  350. package/types/helpers/fixNativeShadow.native.d.ts +2 -0
  351. package/types/helpers/fixNativeShadow.native.d.ts.map +1 -0
  352. package/types/helpers/getExpandedShorthands.d.ts +3 -0
  353. package/types/helpers/getExpandedShorthands.d.ts.map +1 -0
  354. package/types/helpers/getSplitStyles.d.ts +27 -0
  355. package/types/helpers/getSplitStyles.d.ts.map +1 -0
  356. package/types/helpers/getStylesAtomic.d.ts +27 -0
  357. package/types/helpers/getStylesAtomic.d.ts.map +1 -0
  358. package/{dist/packages/core/src → types}/helpers/getStylesAtomic.native.d.ts +0 -0
  359. package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
  360. package/types/helpers/insertStyleRule.d.ts +7 -0
  361. package/types/helpers/insertStyleRule.d.ts.map +1 -0
  362. package/types/helpers/isObj.d.ts +2 -0
  363. package/types/helpers/isObj.d.ts.map +1 -0
  364. package/types/helpers/isTamaguiElement.d.ts +3 -0
  365. package/types/helpers/isTamaguiElement.d.ts.map +1 -0
  366. package/{dist/packages/core/src → types}/helpers/matchMedia.d.ts +0 -0
  367. package/types/helpers/matchMedia.d.ts.map +1 -0
  368. package/{dist/packages/core/src → types}/helpers/matchMedia.native.d.ts +0 -0
  369. package/types/helpers/matchMedia.native.d.ts.map +1 -0
  370. package/types/helpers/themeable.d.ts +10 -0
  371. package/types/helpers/themeable.d.ts.map +1 -0
  372. package/types/helpers/validate.d.ts +4 -0
  373. package/types/helpers/validate.d.ts.map +1 -0
  374. package/types/helpers/withStaticProperties.d.ts +2 -0
  375. package/types/helpers/withStaticProperties.d.ts.map +1 -0
  376. package/types/helpers/wrapThemeManagerContext.d.ts +3 -0
  377. package/types/helpers/wrapThemeManagerContext.d.ts.map +1 -0
  378. package/{dist/packages/core/src → types}/hooks/useConstant.d.ts +0 -0
  379. package/types/hooks/useConstant.d.ts.map +1 -0
  380. package/types/hooks/useFeatures.d.ts +16 -0
  381. package/types/hooks/useFeatures.d.ts.map +1 -0
  382. package/types/hooks/useIsMounted.d.ts +3 -0
  383. package/types/hooks/useIsMounted.d.ts.map +1 -0
  384. package/types/hooks/useIsTouchDevice.d.ts +2 -0
  385. package/types/hooks/useIsTouchDevice.d.ts.map +1 -0
  386. package/{dist/packages/core/src → types}/hooks/useMedia.d.ts +0 -0
  387. package/types/hooks/useMedia.d.ts.map +1 -0
  388. package/{dist/packages/core/src → types}/hooks/usePressable.d.ts +0 -0
  389. package/types/hooks/usePressable.d.ts.map +1 -0
  390. package/types/hooks/useTheme.d.ts +36 -0
  391. package/types/hooks/useTheme.d.ts.map +1 -0
  392. package/types/hooks/useUnmountEffect.d.ts +2 -0
  393. package/types/hooks/useUnmountEffect.d.ts.map +1 -0
  394. package/{dist/packages/core/src → types}/index.d.ts +16 -3
  395. package/types/index.d.ts.map +1 -0
  396. package/types/spacedChildren.d.ts +9 -0
  397. package/types/spacedChildren.d.ts.map +1 -0
  398. package/{dist/packages/core/src → types}/static.d.ts +4 -2
  399. package/types/static.d.ts.map +1 -0
  400. package/types/styled.d.ts +11 -0
  401. package/types/styled.d.ts.map +1 -0
  402. package/types/types-rnw.d.ts +79 -0
  403. package/types/types-rnw.d.ts.map +1 -0
  404. package/types/types.d.ts +366 -0
  405. package/types/types.d.ts.map +1 -0
  406. package/types/views/Stack.d.ts +4 -0
  407. package/types/views/Stack.d.ts.map +1 -0
  408. package/types/views/Text.d.ts +4 -0
  409. package/types/views/Text.d.ts.map +1 -0
  410. package/types/views/TextAncestorContext.d.ts +5 -0
  411. package/types/views/TextAncestorContext.d.ts.map +1 -0
  412. package/types/views/Theme.d.ts +11 -0
  413. package/types/views/Theme.d.ts.map +1 -0
  414. package/{dist/packages/core/src → types}/views/ThemeInverse.d.ts +0 -0
  415. package/types/views/ThemeInverse.d.ts.map +1 -0
  416. package/{dist/packages/core/src → types}/views/ThemeProvider.d.ts +0 -1
  417. package/types/views/ThemeProvider.d.ts.map +1 -0
  418. package/types/views/ThemeReset.d.ts +4 -0
  419. package/types/views/ThemeReset.d.ts.map +1 -0
  420. package/dist/constants/constants.js.map +0 -7
  421. package/dist/constants/platform.js.map +0 -7
  422. package/dist/constants/rnw.js.map +0 -7
  423. package/dist/constants/styleConstants.js +0 -46
  424. package/dist/constants/styleConstants.js.map +0 -7
  425. package/dist/createComponent.js +0 -459
  426. package/dist/createComponent.js.map +0 -7
  427. package/dist/createTamagui.js +0 -166
  428. package/dist/createTamagui.js.map +0 -7
  429. package/dist/createTheme.js +0 -20
  430. package/dist/createTheme.js.map +0 -7
  431. package/dist/createVariable.js +0 -25
  432. package/dist/createVariable.js.map +0 -7
  433. package/dist/helpers/addStylesUsingClassname.js.map +0 -7
  434. package/dist/helpers/createPropMapper.js +0 -153
  435. package/dist/helpers/createPropMapper.js.map +0 -7
  436. package/dist/helpers/createTamaguiProvider.js +0 -25
  437. package/dist/helpers/createTamaguiProvider.js.map +0 -7
  438. package/dist/helpers/extendStaticConfig.js.map +0 -7
  439. package/dist/helpers/fixNativeShadow.native.js +0 -30
  440. package/dist/helpers/fixNativeShadow.native.js.map +0 -7
  441. package/dist/helpers/getSplitStyles.js +0 -148
  442. package/dist/helpers/getSplitStyles.js.map +0 -7
  443. package/dist/helpers/getStylesAtomic.js +0 -83
  444. package/dist/helpers/getStylesAtomic.js.map +0 -7
  445. package/dist/helpers/insertStyleRule.js +0 -24
  446. package/dist/helpers/insertStyleRule.js.map +0 -7
  447. package/dist/helpers/isComponent.js +0 -10
  448. package/dist/helpers/isComponent.js.map +0 -7
  449. package/dist/helpers/isTamaguiComponent.js +0 -10
  450. package/dist/helpers/isTamaguiComponent.js.map +0 -7
  451. package/dist/helpers/matchMedia.js.map +0 -7
  452. package/dist/helpers/matchMedia.native.js.map +0 -7
  453. package/dist/helpers/pseudos.js +0 -1
  454. package/dist/helpers/themeable.js.map +0 -7
  455. package/dist/helpers/validate.js +0 -60
  456. package/dist/helpers/validate.js.map +0 -7
  457. package/dist/helpers/validateConfig.js +0 -46
  458. package/dist/helpers/validateConfig.js.map +0 -7
  459. package/dist/helpers/validateTokens.js +0 -29
  460. package/dist/helpers/validateTokens.js.map +0 -7
  461. package/dist/hooks/useFeatures.js +0 -75
  462. package/dist/hooks/useFeatures.js.map +0 -7
  463. package/dist/hooks/useForceUpdate.js +0 -28
  464. package/dist/hooks/useForceUpdate.js.map +0 -7
  465. package/dist/hooks/useMedia.js.map +0 -7
  466. package/dist/hooks/useTheme.js +0 -93
  467. package/dist/hooks/useTheme.js.map +0 -7
  468. package/dist/index.cjs +0 -2211
  469. package/dist/index.cjs.map +0 -7
  470. package/dist/index.js.map +0 -7
  471. package/dist/packages/core/src/constants/constants.d.ts.map +0 -1
  472. package/dist/packages/core/src/constants/platform.d.ts.map +0 -1
  473. package/dist/packages/core/src/constants/pseudos.d.ts +0 -15
  474. package/dist/packages/core/src/constants/pseudos.d.ts.map +0 -1
  475. package/dist/packages/core/src/constants/rnw.d.ts.map +0 -1
  476. package/dist/packages/core/src/createComponent.d.ts +0 -16
  477. package/dist/packages/core/src/createComponent.d.ts.map +0 -1
  478. package/dist/packages/core/src/createShorthands.d.ts.map +0 -1
  479. package/dist/packages/core/src/createTamagui.d.ts +0 -37
  480. package/dist/packages/core/src/createTamagui.d.ts.map +0 -1
  481. package/dist/packages/core/src/createTheme.d.ts +0 -5
  482. package/dist/packages/core/src/createTheme.d.ts.map +0 -1
  483. package/dist/packages/core/src/createTokens.d.ts.map +0 -1
  484. package/dist/packages/core/src/createVariable.d.ts.map +0 -1
  485. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts +0 -2
  486. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts.map +0 -1
  487. package/dist/packages/core/src/helpers/createMediaStyle.d.ts.map +0 -1
  488. package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts +0 -5
  489. package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts.map +0 -1
  490. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts +0 -5
  491. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts.map +0 -1
  492. package/dist/packages/core/src/helpers/fixNativeShadow.d.ts.map +0 -1
  493. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts +0 -2
  494. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts.map +0 -1
  495. package/dist/packages/core/src/helpers/getSplitStyles.d.ts +0 -15
  496. package/dist/packages/core/src/helpers/getSplitStyles.d.ts.map +0 -1
  497. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts +0 -3
  498. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts.map +0 -1
  499. package/dist/packages/core/src/helpers/getStylesAtomic.native.d.ts.map +0 -1
  500. package/dist/packages/core/src/helpers/insertStyleRule.d.ts +0 -2
  501. package/dist/packages/core/src/helpers/insertStyleRule.d.ts.map +0 -1
  502. package/dist/packages/core/src/helpers/matchMedia.d.ts.map +0 -1
  503. package/dist/packages/core/src/helpers/matchMedia.native.d.ts.map +0 -1
  504. package/dist/packages/core/src/helpers/themeable.d.ts +0 -10
  505. package/dist/packages/core/src/helpers/themeable.d.ts.map +0 -1
  506. package/dist/packages/core/src/hooks/useConstant.d.ts.map +0 -1
  507. package/dist/packages/core/src/hooks/useFeatures.d.ts +0 -5
  508. package/dist/packages/core/src/hooks/useFeatures.d.ts.map +0 -1
  509. package/dist/packages/core/src/hooks/useForceUpdate.d.ts +0 -2
  510. package/dist/packages/core/src/hooks/useForceUpdate.d.ts.map +0 -1
  511. package/dist/packages/core/src/hooks/useMedia.d.ts.map +0 -1
  512. package/dist/packages/core/src/hooks/usePressable.d.ts.map +0 -1
  513. package/dist/packages/core/src/hooks/useTheme.d.ts +0 -18
  514. package/dist/packages/core/src/hooks/useTheme.d.ts.map +0 -1
  515. package/dist/packages/core/src/index.d.ts.map +0 -1
  516. package/dist/packages/core/src/static/postProcessStyles.d.ts +0 -7
  517. package/dist/packages/core/src/static/postProcessStyles.d.ts.map +0 -1
  518. package/dist/packages/core/src/static.d.ts.map +0 -1
  519. package/dist/packages/core/src/styled.d.ts +0 -16
  520. package/dist/packages/core/src/styled.d.ts.map +0 -1
  521. package/dist/packages/core/src/types.d.ts +0 -305
  522. package/dist/packages/core/src/types.d.ts.map +0 -1
  523. package/dist/packages/core/src/views/Animated.d.ts +0 -15
  524. package/dist/packages/core/src/views/Animated.d.ts.map +0 -1
  525. package/dist/packages/core/src/views/Stack.d.ts +0 -3
  526. package/dist/packages/core/src/views/Stack.d.ts.map +0 -1
  527. package/dist/packages/core/src/views/Text.d.ts +0 -3
  528. package/dist/packages/core/src/views/Text.d.ts.map +0 -1
  529. package/dist/packages/core/src/views/TextAncestorContext.d.ts +0 -3
  530. package/dist/packages/core/src/views/TextAncestorContext.d.ts.map +0 -1
  531. package/dist/packages/core/src/views/Theme.d.ts +0 -8
  532. package/dist/packages/core/src/views/Theme.d.ts.map +0 -1
  533. package/dist/packages/core/src/views/ThemeContext.d.ts +0 -18
  534. package/dist/packages/core/src/views/ThemeContext.d.ts.map +0 -1
  535. package/dist/packages/core/src/views/ThemeInverse.d.ts.map +0 -1
  536. package/dist/packages/core/src/views/ThemeManagerContext.d.ts +0 -15
  537. package/dist/packages/core/src/views/ThemeManagerContext.d.ts.map +0 -1
  538. package/dist/packages/core/src/views/ThemeProvider.d.ts.map +0 -1
  539. package/dist/packages/helpers/src/AllRules.d.ts +0 -3
  540. package/dist/packages/helpers/src/AllRules.d.ts.map +0 -1
  541. package/dist/packages/helpers/src/concatClassName.d.ts +0 -2
  542. package/dist/packages/helpers/src/concatClassName.d.ts.map +0 -1
  543. package/dist/packages/helpers/src/index.d.ts +0 -5
  544. package/dist/packages/helpers/src/index.d.ts.map +0 -1
  545. package/dist/packages/helpers/src/types.d.ts +0 -8
  546. package/dist/packages/helpers/src/types.d.ts.map +0 -1
  547. package/dist/packages/helpers/src/validStyleProps.d.ts +0 -475
  548. package/dist/packages/helpers/src/validStyleProps.d.ts.map +0 -1
  549. package/dist/static/postProcessStyles.js +0 -18
  550. package/dist/static/postProcessStyles.js.map +0 -7
  551. package/dist/styled.js +0 -21
  552. package/dist/styled.js.map +0 -7
  553. package/dist/views/Animated.js +0 -79
  554. package/dist/views/Animated.js.map +0 -7
  555. package/dist/views/SafeAreaProvider.js +0 -30
  556. package/dist/views/SafeAreaProvider.js.map +0 -7
  557. package/dist/views/Stack.js.map +0 -7
  558. package/dist/views/Text.js.map +0 -7
  559. package/dist/views/TextAncestorContext.js +0 -18
  560. package/dist/views/TextAncestorContext.js.map +0 -7
  561. package/dist/views/Theme.js +0 -65
  562. package/dist/views/Theme.js.map +0 -7
  563. package/dist/views/ThemeContext.js.map +0 -7
  564. package/dist/views/ThemeManagerContext.js +0 -61
  565. package/dist/views/ThemeManagerContext.js.map +0 -7
  566. package/dist/views/ThemeProvider.js +0 -45
  567. package/dist/views/ThemeProvider.js.map +0 -7
  568. package/src/constants/constants.ts +0 -12
  569. package/src/constants/platform.ts +0 -15
  570. package/src/constants/pseudos.ts +0 -14
  571. package/src/constants/rnw.tsx +0 -20
  572. package/src/createComponent.tsx +0 -608
  573. package/src/createFont.ts +0 -31
  574. package/src/createShorthands.ts +0 -5
  575. package/src/createTamagui.ts +0 -215
  576. package/src/createTheme.ts +0 -19
  577. package/src/createTokens.ts +0 -88
  578. package/src/createVariable.ts +0 -26
  579. package/src/helpers/addStylesUsingClassname.tsx +0 -60
  580. package/src/helpers/createMediaStyle.ts +0 -46
  581. package/src/helpers/createPropMapper.ts +0 -184
  582. package/src/helpers/createTamaguiProvider.tsx +0 -22
  583. package/src/helpers/extendStaticConfig.ts +0 -68
  584. package/src/helpers/fixNativeShadow.native.tsx +0 -27
  585. package/src/helpers/fixNativeShadow.tsx +0 -2
  586. package/src/helpers/getSplitStyles.tsx +0 -197
  587. package/src/helpers/getStylesAtomic.native.ts +0 -3
  588. package/src/helpers/getStylesAtomic.ts +0 -103
  589. package/src/helpers/insertStyleRule.tsx +0 -18
  590. package/src/helpers/isObj.ts +0 -1
  591. package/src/helpers/isTamaguiElement.tsx +0 -5
  592. package/src/helpers/matchMedia.native.ts +0 -3
  593. package/src/helpers/matchMedia.ts +0 -9
  594. package/src/helpers/themeable.tsx +0 -42
  595. package/src/helpers/validate.ts +0 -59
  596. package/src/hooks/useConstant.tsx +0 -10
  597. package/src/hooks/useFeatures.tsx +0 -78
  598. package/src/hooks/useMedia.tsx +0 -194
  599. package/src/hooks/usePressable.tsx +0 -9
  600. package/src/hooks/useTheme.tsx +0 -107
  601. package/src/index.ts +0 -32
  602. package/src/static/postProcessStyles.tsx +0 -20
  603. package/src/static.ts +0 -22
  604. package/src/styled.ts +0 -82
  605. package/src/types.tsx +0 -562
  606. package/src/views/Animated.tsx +0 -121
  607. package/src/views/Stack.tsx +0 -21
  608. package/src/views/Text.tsx +0 -66
  609. package/src/views/TextAncestorContext.tsx +0 -12
  610. package/src/views/Theme.tsx +0 -90
  611. package/src/views/ThemeContext.tsx +0 -5
  612. package/src/views/ThemeInverse.tsx +0 -22
  613. package/src/views/ThemeManagerContext.tsx +0 -60
  614. package/src/views/ThemeProvider.tsx +0 -52
  615. package/types.d.ts +0 -556
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/createComponent.tsx"],
4
+ "sourcesContent": ["import { stylePropsView } from '@tamagui/helpers'\nimport { useForceUpdate } from '@tamagui/use-force-update'\nimport React, {\n Children,\n Fragment,\n createElement,\n forwardRef,\n memo,\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 { isAndroid, isTouchDevice, isWeb } from './constants/platform'\nimport { rnw } from './constants/rnw'\nimport { isVariable } from './createVariable'\nimport { ComponentState, defaultComponentState } from './defaultComponentState'\nimport { extendStaticConfig, parseStaticConfig } from './helpers/extendStaticConfig'\nimport {\n ClassNamesObject,\n PseudoStyles,\n SplitStyleResult,\n getSplitStyles,\n} from './helpers/getSplitStyles'\nimport { wrapThemeManagerContext } from './helpers/wrapThemeManagerContext'\nimport { useFeatures } from './hooks/useFeatures'\nimport { usePressable } from './hooks/usePressable'\nimport { getThemeManagerIfChanged, useTheme } from './hooks/useTheme'\nimport {\n SpaceTokens,\n StackProps,\n StaticComponent,\n StaticConfig,\n StaticConfigParsed,\n TamaguiInternalConfig,\n UseAnimationHook,\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\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, Ref = View>(\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, componentName } = staticConfig\n const componentClassName = `is_${componentName}`\n const validStyleProps = validStyles || stylePropsView\n\n // split out default styles vs props so we can assign it to component.defaultProps\n let tamaguiConfig: TamaguiInternalConfig\n let AnimatedText: any\n let AnimatedView: any\n let avoidClasses = false\n\n // web uses className, native uses style\n let defaultPseudos: PseudoStyles = {}\n let defaultNativeStyle: any\n let defaultNativeStyleSheet: StyleSheet.NamedStyles<{ base: {} }> | null = null\n let defaultsClassName: ClassNamesObject | null = null\n let initialTheme: any\n let splitStyleResult: SplitStyleResult | null = null\n\n function addPseudoToStyles(styles: any[], name: string, pseudos: any) {\n // on web use pseudo object { hoverStyle } to keep specificity with concatClassName\n const pseudoStyle = pseudos[name]\n if (pseudoStyle) {\n styles.push(isWeb ? { [name]: pseudoStyle } : pseudoStyle)\n }\n const defaultPseudoStyle = defaultPseudos[name]\n if (defaultPseudoStyle) {\n styles.push(isWeb ? { [name]: defaultPseudoStyle } : defaultPseudoStyle)\n }\n }\n\n // see onConfiguredOnce below which attaches a name then to this component\n const component = forwardRef<Ref, ComponentPropTypes>((props: any, forwardedRef) => {\n if (process.env.NODE_ENV === 'development') {\n if (props['debug']) {\n // prettier-ignore\n console.warn(componentName || Component?.displayName || Component?.name || '[Unnamed Component]', ' debug prop on:', { props: Object.entries(props) })\n if (props['debug'] === 'break') debugger\n }\n }\n\n const forceUpdate = useForceUpdate()\n const theme = useTheme(props.theme, componentName, props, forceUpdate)\n const [state, set_] = useState<ComponentState>(defaultComponentState)\n const setStateShallow = createShallowUpdate(set_)\n\n const shouldAvoidClasses = !!(state.animation && avoidClasses)\n const splitInfo = getSplitStyles(\n props,\n staticConfig,\n theme,\n shouldAvoidClasses ? { ...state, noClassNames: true, resolveVariablesAs: 'value' } : state,\n defaultsClassName\n )\n\n const { viewProps: viewPropsIn, pseudos, medias, style, classNames } = splitInfo\n const useAnimations = tamaguiConfig.animations?.useAnimations as UseAnimationHook | undefined\n const isAnimated = !!(useAnimations && props.animation)\n\n const styleWithPseudos = props.animation\n ? merge(\n { ...defaultNativeStyle, ...style },\n state.hover && pseudos.hoverStyle,\n state.press && pseudos.pressStyle,\n state.focus && pseudos.focusStyle,\n ...Object.values(medias)\n )\n : null\n\n const features = useFeatures(props, {\n forceUpdate,\n setStateShallow,\n useAnimations,\n state,\n style: styleWithPseudos,\n pseudos,\n })\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 nativeID,\n\n accessible,\n accessibilityRole,\n\n // android\n collapsable,\n focusable,\n\n // ignore from here on out\n theme: _themeProp,\n // @ts-ignore\n defaultVariants,\n\n // TODO feature load layout hook\n onLayout,\n ...viewPropsRest\n } = viewPropsIn\n\n let viewProps: StackProps = viewPropsRest\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 const hasEnterStyle = !!props.enterStyle\n\n // isMounted\n const internal = useRef<{ isMounted: boolean }>()\n if (!internal.current) {\n internal.current = {\n isMounted: true,\n }\n }\n useEffect(() => {\n if (hasEnterStyle) {\n // we need to use state to properly have mounted go from false => true\n setStateShallow({\n mounted: true,\n })\n }\n internal.current!.isMounted = true\n return () => {\n mouseUps.delete(unPress)\n internal.current!.isMounted = false\n }\n }, [])\n\n if (nativeID) {\n viewProps.id = nativeID\n }\n\n if (isAndroid) {\n if (collapsable) viewProps.collapsable = collapsable\n if (focusable) viewProps.focusable = focusable\n }\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 // get the right component\n const isTaggable = !Component || typeof Component === 'string'\n\n // default to tag, fallback to component (when both strings)\n const element = isWeb ? (isTaggable ? tag || Component : Component) : Component\n const BaseTextComponent = !isWeb ? Text : element || 'span'\n const BaseViewComponent = !isWeb ? View : element || (hasTextAncestor ? 'span' : 'div')\n let ViewComponent = isText\n ? (isAnimated ? AnimatedText || Text : null) || BaseTextComponent\n : (isAnimated ? AnimatedView || View : null) || BaseViewComponent\n\n ViewComponent = Component || ViewComponent\n\n let styles: any[]\n\n const isStringElement = typeof ViewComponent === 'string'\n const animationStyles = state.animation ? state.animation.style : null\n\n if (isStringElement && shouldAvoidClasses) {\n styles = {\n ...defaultNativeStyle,\n ...animationStyles,\n ...medias,\n }\n } else {\n styles = [\n isWeb ? null : defaultNativeStyleSheet ? (defaultNativeStyleSheet.base as ViewStyle) : 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 animationStyles ? animationStyles : style,\n medias,\n ]\n if (!animationStyles) {\n state.hover && addPseudoToStyles(styles, 'hoverStyle', pseudos)\n state.focus && addPseudoToStyles(styles, 'focusStyle', pseudos)\n state.press && addPseudoToStyles(styles, 'pressStyle', pseudos)\n }\n }\n\n // TODO i think can still render this first part using reanimated\n // that way we get some of the classnames we probably want here (componentName/font/etc)\n // can just remove && !shouldAvoidClasses and add in a viewProps.style = styles in isWeb\n\n if (isWeb) {\n // const hasntSetInitialAnimationState = props.animation && !state.animation\n // const disableInsertStyles = hasntSetInitialAnimationState || shouldAvoidClasses || false\n // const stylesClassNames = useStylesAsClassname(\n // Array.isArray(styles) ? styles : [styles],\n // disableInsertStyles,\n // props.debug\n // )\n if (!shouldAvoidClasses) {\n const fontFamilyName = isText\n ? props.fontFamily || staticConfig.defaultProps.fontFamily\n : null\n const fontFamily =\n fontFamilyName && fontFamilyName[0] === '$' ? fontFamilyName.slice(1) : null\n const classList = [\n componentName ? componentClassName : '',\n fontFamily ? `font_${fontFamily}` : '',\n theme.className,\n classNames ? Object.values(classNames).join(' ') : '',\n ]\n\n // TODO restore this to isText classList\n // hasTextAncestor === true && cssText.textHasAncestor,\n // TODO MOVE TO VARIANTS [number] [any]\n // numberOfLines != null && numberOfLines > 1 && cssText.textMultiLine,\n\n const className = classList.join(' ')\n if (process.env.NODE_ENV === 'development') {\n if (props['debug']) {\n // prettier-ignore\n console.log(' \u00BB className', { isStringElement, pseudos, state, defaultsClassName, classNames, propsClassName: props.className, style, classList, className: className.trim().split(' '), themeClassName: theme.className })\n }\n }\n viewProps.className = className\n } else {\n viewProps.style = styles\n }\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\n if (!isAnimated) {\n // @ts-ignore\n viewProps.ref = setRef\n } else {\n if (forwardedRef) {\n // @ts-ignore\n viewProps.ref = forwardedRef\n }\n }\n\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 // @ts-ignore\n viewProps.ref = forwardedRef\n }\n }\n\n // TODO need to loop active variants and see if they have matchin pseudos and apply as well\n const attachPress = !!((pseudos && pseudos.pressStyle) || onPress || onPressOut || onPressIn)\n const isHoverable = isWeb && !isTouchDevice\n const attachHover =\n isHoverable &&\n !!((pseudos && pseudos.hoverStyle) || onHoverIn || onHoverOut || onMouseEnter || onMouseLeave)\n const pressEventKey = isStringElement ? 'onClick' : 'onPress'\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 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 'onHoverIn' in props ||\n 'onHoverOut' in props ||\n 'onMouseEnter' in props ||\n 'onMouseLeave' in props))\n\n const unPress = useCallback(() => {\n if (!internal.current!.isMounted) return\n setStateShallow({\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 ...(isHoverable && {\n onMouseEnter: attachHover\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 setStateShallow(next)\n }\n onHoverIn?.(e)\n onMouseEnter?.(e)\n }\n : undefined,\n onMouseLeave: attachHover\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 setStateShallow(next)\n }\n onHoverOut?.(e)\n onMouseLeave?.(e)\n }\n : undefined,\n }),\n onMouseDown: attachPress\n ? (e) => {\n setStateShallow({\n press: true,\n pressIn: true,\n })\n onPressIn?.(e)\n onMouseDown?.(e)\n }\n : null,\n [pressEventKey]: attachPress\n ? (e) => {\n // this caused issue with next.js passing href\n // e.preventDefault()\n onPress?.(e)\n unPress()\n onPressOut?.(e)\n }\n : null,\n }\n : null\n\n let childEls = !children\n ? children\n : wrapThemeManagerContext(\n spacedChildren({\n children,\n space,\n flexDirection: props.flexDirection || staticConfig.defaultProps?.flexDirection,\n isZStack: isZStack,\n }),\n getThemeManagerIfChanged(theme)\n )\n\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 events\n ? {\n disabled,\n ...(hitSlop && {\n hitSlop,\n }),\n onPressIn: events.onMouseDown,\n onPressOut: events.onPressOut,\n onPress: events[pressEventKey],\n }\n : {\n disabled: true,\n }\n )\n\n if (events) {\n if (!isStringElement) {\n Object.assign(viewProps, pressProps)\n } else {\n Object.assign(viewProps, events)\n }\n if (isWeb && isHoverable) {\n childEls = (\n <span\n style={{\n display: 'contents',\n }}\n onMouseEnter={events.onMouseEnter}\n onMouseLeave={events.onMouseLeave}\n >\n {children}\n </span>\n )\n }\n }\n\n let content: any\n\n // replicate react-native-web's `createElement`\n if (isWeb) {\n if (staticConfig.isReactNativeWeb) {\n viewProps.dataSet = {\n ...viewProps.dataSet,\n className: viewProps.className,\n }\n } else {\n const rnProps = rnw.createDOMProps(viewProps)\n const className =\n rnProps.className && rnProps.className !== viewProps.className\n ? `${rnProps.className} ${viewProps.className}`\n : viewProps.className\n\n // additive\n Object.assign(viewProps, rnProps)\n\n // we already handle Text/View properly\n if (className) {\n viewProps.className = className\n }\n }\n }\n\n content = createElement(ViewComponent, viewProps, childEls)\n\n if (process.env.NODE_ENV === 'development') {\n if (props['debug']) {\n viewProps['debug'] = true\n // prettier-ignore\n console.log(' \u00BB ', { propsIn: { ...props }, propsOut: { ...viewProps }, animationStyles, isStringElement, classNamesIn: props.className?.split(' '), classNamesOut: viewProps.className?.split(' '), pressProps, events, shouldAttach, ViewComponent, viewProps, state, styles, pseudos, content, childEls, shouldAvoidClasses, animation: props.animation, style, defaultNativeStyle, splitStyleResult, ...(typeof window !== 'undefined' ? { theme, themeState: theme.__state, themeClassName: theme.className, staticConfig, tamaguiConfig } : null) })\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 avoidClasses = !!tamaguiConfig.animations?.avoidClasses\n AnimatedText = tamaguiConfig.animations?.Text\n AnimatedView = tamaguiConfig?.animations?.View\n initialTheme = conf.themes[conf.defaultTheme || Object.keys(conf.themes)[0]]\n splitStyleResult = getSplitStyles(staticConfig.defaultProps, staticConfig, initialTheme, {\n mounted: true,\n resolveVariablesAs: 'variable',\n })\n\n const { classNames, pseudos, style, viewProps } = splitStyleResult\n\n if (isWeb) {\n defaultsClassName = classNames\n }\n\n // for use in animations + native\n defaultPseudos = pseudos\n defaultNativeStyle = {}\n for (const key in style) {\n const v = style[key]\n defaultNativeStyle[key] = isVariable(v) ? v.val : v\n }\n defaultNativeStyleSheet = StyleSheet.create({\n base: defaultNativeStyle,\n })\n\n component.displayName = staticConfig.componentName\n\n // @ts-ignore\n component.defaultProps = {\n ...viewProps,\n ...component.defaultProps,\n }\n\n // prettier-ignore\n if (process.env.NODE_ENV === 'development' && shouldDebug && process.env.IS_STATIC !== 'is_static') {\n // prettier-ignore\n console.log(`\uD83D\uDC1B [${staticConfig.componentName || 'Component'}]`, { staticConfig, ...splitStyleResult })\n }\n })\n\n let res: StaticComponent<ComponentPropTypes, {}, Ref> = component as any\n\n if (configIn.memo) {\n res = memo(res) as any\n }\n\n res['staticConfig'] = {\n validStyles: validStyleProps,\n ...staticConfig,\n }\n\n // res.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\n// dont used styled() here to avoid circular deps\n// keep inline to avoid circular deps\n\nexport const Spacer = createComponent<\n Omit<StackProps, 'flex' | 'direction'> & {\n size?: number | SpaceTokens\n flex?: boolean | number\n direction?: 'horizontal' | 'vertical'\n }\n>({\n memo: true,\n defaultProps: {\n ...stackDefaultStyles,\n size: true,\n },\n variants: {\n size: {\n '...size': (size, { tokens }) => {\n size = size == true ? '$true' : size\n const sizePx = tokens.size[size] ?? size\n return {\n width: sizePx,\n height: sizePx,\n minWidth: sizePx,\n minHeight: sizePx,\n }\n },\n },\n\n flex: {\n true: {\n flex: 1,\n },\n },\n\n direction: {\n horizontal: {\n height: 0,\n minHeight: 0,\n },\n vertical: {\n width: 0,\n minWidth: 0,\n },\n },\n },\n})\n\nexport function spacedChildren({\n isZStack,\n children,\n space,\n flexDirection,\n spaceFlex,\n}: {\n isZStack?: boolean\n children: any\n space?: any\n spaceFlex?: boolean | number\n flexDirection?: ViewStyle['flexDirection']\n}) {\n const childrenList = Children.toArray(children)\n const len = childrenList.length\n if (len === 1) {\n return childrenList\n }\n const next: any[] = []\n for (const [index, child] of childrenList.entries()) {\n if (child === null || child === undefined) {\n continue\n }\n\n if (!child || (child['key'] && !isZStack)) {\n next.push(child)\n } else {\n next.push(\n <Fragment key={index}>{isZStack ? <AbsoluteFill>{child}</AbsoluteFill> : child}</Fragment>\n )\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={`_${index}_spacer`}\n direction={\n flexDirection === 'row' || flexDirection === 'row-reverse' ? 'horizontal' : 'vertical'\n }\n size={space}\n {...(spaceFlex && {\n flex: spaceFlex,\n })}\n />\n )\n }\n }\n }\n return next\n}\n\n// TODO this can be removed likey for bundle size, didnt help reanimated fix as i thought\nconst merge = (...styles: (ViewStyle | null | false | undefined)[]) => {\n // ensure transforms get merged without duplicates:\n // so if you have a:\n // transform: [{ scale: 1 }]\n // rest[0]:\n // transform: [{ scale: 1.1 }]\n // it gets properly merged so that rest[0] overwrites a\n if (!styles[0]) return // never happens\n const res: ViewStyle = {}\n\n const len = styles.length\n for (let i = len - 1; i >= 0; i--) {\n const cur = styles[i]\n if (!cur) continue\n\n for (const key in cur) {\n const val = cur[key]\n if (key !== 'transform') {\n if (!(key in res)) {\n res[key] = val\n }\n continue\n }\n if (!res.transform) {\n res.transform = val\n continue\n }\n // transform\n for (const t of val) {\n const tkey = Object.keys(t)[0]\n if (res.transform.find((existing) => tkey in existing)) {\n continue\n }\n res.transform.push(t)\n }\n }\n }\n\n return res\n}\n\nexport const AbsoluteFill = (props: any) =>\n isWeb ? (\n <div\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n }}\n >\n {props.children}\n </div>\n ) : (\n <View style={StyleSheet.absoluteFill}>{props.child}</View>\n )\n\n// this can be done with CSS entirely right?\n// const shouldWrapTextAncestor = isWeb && isText && !hasTextAncestor\n// if (shouldWrapTextAncestor) {\n// // from react-native-web\n// content = createElement(TextAncestorContext.Provider, { value: true }, content)\n// }\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,46 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var createFont_exports = {};
20
+ __export(createFont_exports, {
21
+ createFont: () => createFont
22
+ });
23
+ module.exports = __toCommonJS(createFont_exports);
24
+ var import_validate = require("./helpers/validate");
25
+ const createFont = /* @__PURE__ */ __name((font) => {
26
+ if (process.env.NODE_ENV === "development") {
27
+ (0, import_validate.validateFont)(font);
28
+ }
29
+ const sizeKeys = Object.keys(font.size);
30
+ for (const key in font) {
31
+ if (key === "size" || key === "family")
32
+ continue;
33
+ const section = font[key];
34
+ const keys = Object.keys(section);
35
+ let fillVal = section[keys[0]];
36
+ for (const sKey of sizeKeys) {
37
+ if (!(sKey in section)) {
38
+ section[sKey] = fillVal;
39
+ } else {
40
+ fillVal = section[sKey];
41
+ }
42
+ }
43
+ }
44
+ return Object.freeze(font);
45
+ }, "createFont");
46
+ //# 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;AAAA,sBAA6B;AAGtB,MAAM,aAAa,wBAAwB,SAAe;AAC/D,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,sCAAa,IAAI;AAAA,EACnB;AAGA,QAAM,WAAW,OAAO,KAAK,KAAK,IAAI;AAEtC,aAAW,OAAO,MAAM;AACtB,QAAI,QAAQ,UAAU,QAAQ;AAAU;AACxC,UAAM,UAAU,KAAK;AACrB,UAAM,OAAO,OAAO,KAAK,OAAO;AAGhC,QAAI,UAAU,QAAQ,KAAK;AAE3B,eAAW,QAAQ,UAAU;AAC3B,UAAI,CAAE,SAAQ,UAAU;AACtB,gBAAQ,QAAQ;AAAA,MAClB,OAAO;AAEL,kBAAU,QAAQ;AAAA,MACpB;AAAA,IACF;AAAA,EACF;AAEA,SAAO,OAAO,OAAO,IAAI;AAC3B,GA3B0B;",
6
+ "names": []
7
+ }
@@ -0,0 +1,28 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var createShorthands_exports = {};
20
+ __export(createShorthands_exports, {
21
+ createShorthands: () => createShorthands
22
+ });
23
+ module.exports = __toCommonJS(createShorthands_exports);
24
+ function createShorthands(shorthands) {
25
+ return Object.freeze(shorthands);
26
+ }
27
+ __name(createShorthands, "createShorthands");
28
+ //# sourceMappingURL=createShorthands.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/createShorthands.ts"],
4
+ "sourcesContent": ["// type helper\n\nexport function createShorthands<A extends Record<string, string>>(shorthands: A): A {\n return Object.freeze(shorthands) as any\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,0BAA4D,YAAkB;AACnF,SAAO,OAAO,OAAO,UAAU;AACjC;AAFgB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,211 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
22
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
23
+ var __export = (target, all) => {
24
+ for (var name in all)
25
+ __defProp(target, name, { get: all[name], enumerable: true });
26
+ };
27
+ var __copyProps = (to, from, except, desc) => {
28
+ if (from && typeof from === "object" || typeof from === "function") {
29
+ for (let key of __getOwnPropNames(from))
30
+ if (!__hasOwnProp.call(to, key) && key !== except)
31
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
32
+ }
33
+ return to;
34
+ };
35
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
+ var createTamagui_exports = {};
37
+ __export(createTamagui_exports, {
38
+ createTamagui: () => createTamagui
39
+ });
40
+ module.exports = __toCommonJS(createTamagui_exports);
41
+ var import_conf = require("./conf");
42
+ var import_constants = require("./constants/constants");
43
+ var import_platform = require("./constants/platform");
44
+ var import_createVariable = require("./createVariable");
45
+ var import_createTamaguiProvider = require("./helpers/createTamaguiProvider");
46
+ var import_insertStyleRule = require("./helpers/insertStyleRule");
47
+ var import_useMedia = require("./hooks/useMedia");
48
+ const createdConfigs = /* @__PURE__ */ new WeakMap();
49
+ function createTamagui(config) {
50
+ if (createdConfigs.has(config)) {
51
+ return config;
52
+ }
53
+ if ((0, import_conf.getHasConfigured)()) {
54
+ console.warn("Called createTamagui twice! Should never do so");
55
+ }
56
+ (0, import_useMedia.configureMedia)({
57
+ queries: config.media,
58
+ defaultActive: config.mediaQueryDefaultActive
59
+ });
60
+ const themeConfig = (() => {
61
+ var _a;
62
+ let cssRules = [];
63
+ const varsByValue = /* @__PURE__ */ new Map();
64
+ if (import_platform.isWeb) {
65
+ const tokenRules = /* @__PURE__ */ new Set();
66
+ const addVar = /* @__PURE__ */ __name((v) => {
67
+ varsByValue[v.val] = v;
68
+ const rule = `--${(0, import_createVariable.createCSSVariable)(v.name, false)}:${typeof v.val === "number" ? `${v.val}px` : v.val}`;
69
+ tokenRules.add(rule);
70
+ }, "addVar");
71
+ for (const key in config.tokens) {
72
+ for (const skey in config.tokens[key]) {
73
+ const val = config.tokens[key][skey];
74
+ if (key === "font") {
75
+ for (const fkey in val) {
76
+ if (fkey === "family") {
77
+ addVar(val[fkey]);
78
+ } else {
79
+ for (const fskey in val[fkey]) {
80
+ addVar(val[fkey][fskey]);
81
+ }
82
+ }
83
+ }
84
+ } else {
85
+ addVar(val);
86
+ }
87
+ }
88
+ }
89
+ const sep = process.env.NODE_ENV === "development" ? config.cssStyleSeparator || " " : "";
90
+ cssRules.push(`:root {${sep}${[...tokenRules].join(`;${sep}`)}${sep}}`);
91
+ }
92
+ const hasDarkLight = "light" in config.themes && "dark" in config.themes;
93
+ const CNP = `.${import_constants.THEME_CLASSNAME_PREFIX}`;
94
+ for (const themeName in config.themes) {
95
+ const theme = __spreadValues({}, config.themes[themeName]);
96
+ config.themes[themeName] = theme;
97
+ let vars = "";
98
+ for (const themeKey in theme) {
99
+ if (import_platform.isWeb) {
100
+ const val = theme[themeKey];
101
+ const varName = val instanceof import_createVariable.Variable ? val.name : (_a = varsByValue[val]) == null ? void 0 : _a.name;
102
+ vars += `--${themeKey}:${varName ? (0, import_createVariable.createCSSVariable)(varName) : `${val}`};`;
103
+ }
104
+ ensureThemeVariable(theme, themeKey);
105
+ }
106
+ if (import_platform.isWeb) {
107
+ const isDarkOrLightBase = themeName === "dark" || themeName === "light";
108
+ const isDark = themeName.includes("dark_");
109
+ const selector = `${CNP}${themeName}`;
110
+ const addDarkLightSels = hasDarkLight && !isDarkOrLightBase;
111
+ const selectors = [selector];
112
+ if (addDarkLightSels) {
113
+ const childSelector = `${CNP}${themeName.replace("dark_", "").replace("light_", "")}`;
114
+ const [stronger, weaker] = isDark ? ["dark", "light"] : ["light", "dark"];
115
+ const max = config.maxDarkLightNesting ?? 3;
116
+ new Array(max * 2).fill(void 0).forEach((_, pi) => {
117
+ if (pi % 2 === 1)
118
+ return;
119
+ const parents = new Array(pi + 1).fill(void 0).map((_2, psi) => {
120
+ return `${CNP}${psi % 2 === 0 ? stronger : weaker}`;
121
+ });
122
+ selectors.push(`${(parents.length > 1 ? parents.slice(1) : parents).join(" ")} ${childSelector}`);
123
+ });
124
+ }
125
+ const cssRule = `${selectors.join(", ")} {
126
+ ${vars}
127
+ }`;
128
+ cssRules.push(cssRule);
129
+ }
130
+ }
131
+ varsByValue.clear();
132
+ Object.freeze(cssRules);
133
+ return {
134
+ cssRules,
135
+ css: cssRules.join("\n")
136
+ };
137
+ })();
138
+ const tokensParsed = parseTokens(config.tokens);
139
+ const getCSS = /* @__PURE__ */ __name(() => {
140
+ return `${themeConfig.css}
141
+ ${(0, import_insertStyleRule.getInsertedRules)().join("\n")}`;
142
+ }, "getCSS");
143
+ const next = __spreadProps(__spreadValues({
144
+ animations: {},
145
+ shorthands: {},
146
+ media: {}
147
+ }, config), {
148
+ Provider: (0, import_createTamaguiProvider.createTamaguiProvider)(__spreadValues({
149
+ getCSS,
150
+ defaultTheme: "light"
151
+ }, config)),
152
+ themeConfig,
153
+ tokensParsed,
154
+ parsed: true,
155
+ getCSS
156
+ });
157
+ (0, import_conf.setConfig)(next);
158
+ if (import_conf.configListeners.size) {
159
+ import_conf.configListeners.forEach((cb) => cb(next));
160
+ import_conf.configListeners.clear();
161
+ }
162
+ createdConfigs.set(next, true);
163
+ return next;
164
+ }
165
+ __name(createTamagui, "createTamagui");
166
+ const parseTokens = /* @__PURE__ */ __name((tokens) => {
167
+ const res = {};
168
+ for (const key in tokens) {
169
+ res[key] = {};
170
+ if (key === "font") {
171
+ for (const family in tokens.font) {
172
+ const obj = {};
173
+ res.font[`$${family}`] = obj;
174
+ for (const attrKey in tokens.font[family]) {
175
+ const attr = tokens.font[family][attrKey];
176
+ if (attrKey === "family") {
177
+ obj[attrKey] = attr;
178
+ continue;
179
+ }
180
+ obj[attrKey] = Object.keys(attr).reduce((acc, cur) => {
181
+ acc[`$${cur}`] = attr[cur];
182
+ return acc;
183
+ }, {});
184
+ }
185
+ }
186
+ continue;
187
+ }
188
+ for (const skey in tokens[key]) {
189
+ res[key][`$${skey}`] = tokens[key][skey];
190
+ }
191
+ }
192
+ return res;
193
+ }, "parseTokens");
194
+ function ensureThemeVariable(theme, key) {
195
+ const val = theme[key];
196
+ if (!(0, import_createVariable.isVariable)(val)) {
197
+ theme[key] = (0, import_createVariable.createVariable)({
198
+ name: key,
199
+ val
200
+ });
201
+ } else {
202
+ if (val.name !== key) {
203
+ theme[key] = (0, import_createVariable.createVariable)({
204
+ name: key,
205
+ val: val.val
206
+ });
207
+ }
208
+ }
209
+ }
210
+ __name(ensureThemeVariable, "ensureThemeVariable");
211
+ //# sourceMappingURL=createTamagui.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/createTamagui.ts"],
4
+ "sourcesContent": ["import { configListeners, getHasConfigured, setConfig } from './conf'\nimport { THEME_CLASSNAME_PREFIX } from './constants/constants'\nimport { isWeb } from './constants/platform'\nimport { Variable, createCSSVariable, createVariable, isVariable } from './createVariable'\nimport { createTamaguiProvider } from './helpers/createTamaguiProvider'\nimport { getInsertedRules } from './helpers/insertStyleRule'\nimport { configureMedia } from './hooks/useMedia'\nimport {\n AnimationDriver,\n CreateTamaguiConfig,\n GenericTamaguiConfig,\n MediaQueryKey,\n TamaguiInternalConfig,\n} from './types'\n\nexport type CreateTamaguiProps =\n // user then re-defines the types after createTamagui returns the typed object they want\n Partial<Omit<GenericTamaguiConfig, 'themes' | 'tokens' | 'animations'>> & {\n animations?: AnimationDriver<any>\n tokens: GenericTamaguiConfig['tokens']\n themes: {\n [key: string]: {\n [key: string]: string | number | Variable\n }\n }\n\n // for the first render, determines which media queries are true\n // useful for SSR\n mediaQueryDefaultActive?: MediaQueryKey[]\n\n // what's between each CSS style rule, set to \"\\n\" to be easier to read\n // defaults: \"\\n\" when NODE_ENV=development, \"\" otherwise\n cssStyleSeparator?: string\n\n // (Advanced)\n // on the web, tamagui treats `dark` and `light` themes as special and\n // generates extra CSS to avoid having to re-render the entire page.\n // this CSS relies on specificity hacks that multiply by your sub-themes.\n // this sets the maxiumum number of nested dark/light themes you can do\n // defaults to 3 for a balance, but can be higher if you nest them deeply.\n maxDarkLightNesting?: number\n }\n\n// config is re-run by the @tamagui/static, dont double validate\nconst createdConfigs = new WeakMap<any, boolean>()\n\nexport function createTamagui<Conf extends CreateTamaguiProps>(\n config: Conf\n): Conf extends Partial<CreateTamaguiConfig<infer A, infer B, infer C, infer D, infer E>>\n ? TamaguiInternalConfig<A, B, C, D, E>\n : unknown {\n if (createdConfigs.has(config)) {\n return config as any\n }\n\n // test env loads a few times as it runs diff tests\n if (getHasConfigured()) {\n console.warn('Called createTamagui twice! Should never do so')\n // throw new Error(`#000 createTamagui called twice`)\n }\n\n configureMedia({\n queries: config.media as any,\n defaultActive: config.mediaQueryDefaultActive,\n })\n\n const themeConfig = (() => {\n let cssRules: string[] = []\n const varsByValue = new Map<string, Variable>()\n\n if (isWeb) {\n // tokens\n const tokenRules = new Set<string>()\n\n const addVar = (v: Variable) => {\n varsByValue[v.val] = v\n const rule = `--${createCSSVariable(v.name, false)}:${\n typeof v.val === 'number' ? `${v.val}px` : v.val\n }`\n tokenRules.add(rule)\n }\n\n for (const key in config.tokens) {\n for (const skey in config.tokens[key]) {\n const val = config.tokens[key][skey]\n if (key === 'font') {\n for (const fkey in val) {\n if (fkey === 'family') {\n addVar(val[fkey])\n } else {\n for (const fskey in val[fkey]) {\n addVar(val[fkey][fskey])\n }\n }\n }\n } else {\n addVar(val)\n }\n }\n }\n const sep = process.env.NODE_ENV === 'development' ? config.cssStyleSeparator || ' ' : ''\n cssRules.push(`:root {${sep}${[...tokenRules].join(`;${sep}`)}${sep}}`)\n }\n\n // special case for SSR\n const hasDarkLight = 'light' in config.themes && 'dark' in config.themes\n const CNP = `.${THEME_CLASSNAME_PREFIX}`\n\n // themes\n for (const themeName in config.themes) {\n // to allow using the same theme with diff names, be sure we don't mutate!\n const theme = { ...config.themes[themeName] }\n config.themes[themeName] = theme\n\n let vars = ''\n\n for (const themeKey in theme) {\n if (isWeb) {\n const val = theme[themeKey]\n // TODO sanity check is necessary\n const varName = val instanceof Variable ? val.name : varsByValue[val]?.name\n vars += `--${themeKey}:${varName ? createCSSVariable(varName) : `${val}`};`\n }\n\n // make sure properly names theme variables\n ensureThemeVariable(theme, themeKey)\n }\n\n if (isWeb) {\n const isDarkOrLightBase = themeName === 'dark' || themeName === 'light'\n const isDark = themeName.includes('dark_')\n const selector = `${CNP}${themeName}`\n const addDarkLightSels = hasDarkLight && !isDarkOrLightBase\n const selectors = [selector]\n // since we dont specify dark/light in classnames we have to do an awkward specificity war\n // use config.maxDarkLightNesting to determine how deep you can nest until it breaks\n if (addDarkLightSels) {\n const childSelector = `${CNP}${themeName.replace('dark_', '').replace('light_', '')}`\n const [stronger, weaker] = isDark ? ['dark', 'light'] : ['light', 'dark']\n const max = config.maxDarkLightNesting ?? 3\n new Array(max * 2).fill(undefined).forEach((_, pi) => {\n if (pi % 2 === 1) return\n const parents = new Array(pi + 1).fill(undefined).map((_, psi) => {\n return `${CNP}${psi % 2 === 0 ? stronger : weaker}`\n })\n selectors.push(\n `${(parents.length > 1 ? parents.slice(1) : parents).join(' ')} ${childSelector}`\n )\n })\n }\n const cssRule = `${selectors.join(', ')} {\\n${vars}\\n}`\n cssRules.push(cssRule)\n }\n }\n\n varsByValue.clear()\n Object.freeze(cssRules)\n\n return {\n cssRules,\n css: cssRules.join('\\n'),\n }\n })()\n\n // faster lookups token keys become $keys to match input\n const tokensParsed: any = parseTokens(config.tokens)\n\n const getCSS = () => {\n return `${themeConfig.css}\\n${getInsertedRules().join('\\n')}`\n }\n\n const next: TamaguiInternalConfig = {\n animations: {} as any,\n shorthands: {},\n media: {},\n ...config,\n Provider: createTamaguiProvider({\n getCSS,\n defaultTheme: 'light',\n ...config,\n }),\n themeConfig,\n tokensParsed,\n parsed: true,\n getCSS,\n }\n\n setConfig(next)\n\n if (configListeners.size) {\n configListeners.forEach((cb) => cb(next))\n configListeners.clear()\n }\n\n createdConfigs.set(next, true)\n\n // @ts-expect-error\n return next\n}\n\nconst parseTokens = (tokens: any) => {\n const res: any = {}\n for (const key in tokens) {\n res[key] = {}\n if (key === 'font') {\n for (const family in tokens.font) {\n const obj = {}\n res.font[`$${family}`] = obj\n for (const attrKey in tokens.font[family]) {\n const attr = tokens.font[family][attrKey]\n if (attrKey === 'family') {\n obj[attrKey] = attr\n continue\n }\n obj[attrKey] = Object.keys(attr).reduce((acc, cur) => {\n acc[`$${cur}`] = attr[cur]\n return acc\n }, {})\n }\n }\n continue\n }\n for (const skey in tokens[key]) {\n res[key][`$${skey}`] = tokens[key][skey]\n }\n }\n\n return res\n}\n\n// mutates, freeze after\n// shared by createTamagui so extracted here\nfunction ensureThemeVariable(theme: any, key: string) {\n const val = theme[key]\n if (!isVariable(val)) {\n theme[key] = createVariable({\n name: key,\n val,\n })\n } else {\n if (val.name !== key) {\n // rename to theme name\n theme[key] = createVariable({\n name: key,\n val: val.val,\n })\n }\n }\n}\n\n// for quick testing types:\n// const x = createTamagui({\n// shorthands: {},\n// media: {},\n// themes: {},\n// tokens: {\n// font: {},\n// color: {},\n// radius: {},\n// size: {},\n// space: {},\n// zIndex: {},\n// },\n// })\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,25 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var createTheme_exports = {};
20
+ __export(createTheme_exports, {
21
+ createTheme: () => createTheme
22
+ });
23
+ module.exports = __toCommonJS(createTheme_exports);
24
+ const createTheme = /* @__PURE__ */ __name((theme) => theme, "createTheme");
25
+ //# sourceMappingURL=createTheme.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/createTheme.ts"],
4
+ "sourcesContent": ["import { Variable } from './createVariable'\n\ntype GenericTheme = { [key: string]: string | Variable }\n\nexport const createTheme = <Theme extends GenericTheme>(\n theme: Theme\n): {\n [K in keyof Theme]: Theme[K] | string | Variable\n} => theme\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,MAAM,cAAc,wBACzB,UAGG,OAJsB;",
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 __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var createTokens_exports = {};
20
+ __export(createTokens_exports, {
21
+ createTokens: () => createTokens,
22
+ mapTokensToVariables: () => mapTokensToVariables
23
+ });
24
+ module.exports = __toCommonJS(createTokens_exports);
25
+ var import_createVariable = require("./createVariable");
26
+ var import_validate = require("./helpers/validate");
27
+ function createTokens(tokens) {
28
+ if (process.env.NODE_ENV === "development") {
29
+ (0, import_validate.validateTokens)(tokens);
30
+ }
31
+ return setupTokens(tokens);
32
+ }
33
+ __name(createTokens, "createTokens");
34
+ function setupTokens(tokens) {
35
+ return mapTokensToVariables(tokens);
36
+ }
37
+ __name(setupTokens, "setupTokens");
38
+ const mapTokensToVariables = /* @__PURE__ */ __name((tokens, parentPath = "") => {
39
+ const res = {};
40
+ for (const key in tokens) {
41
+ const val = tokens[key];
42
+ const name = parentPath ? `${parentPath}-${key}` : key;
43
+ if (val && typeof val === "object") {
44
+ res[key] = mapTokensToVariables(tokens[key], name);
45
+ } else {
46
+ res[key] = (0, import_createVariable.createVariable)({ val, name });
47
+ }
48
+ }
49
+ return res;
50
+ }, "mapTokensToVariables");
51
+ //# sourceMappingURL=createTokens.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/createTokens.ts"],
4
+ "sourcesContent": ["import { Variable, createVariable } from './createVariable'\nimport { validateTokens } from './helpers/validate'\nimport { CreateTokens } from './types'\n\n// tokens.color.dark.red ===> { var: `color-dark-red`, val: '' }\n\nexport function createTokens<T extends CreateTokens>(tokens: T): MakeTokens<T> {\n if (process.env.NODE_ENV === 'development') {\n validateTokens(tokens)\n }\n\n return setupTokens(tokens) as any\n}\n\nfunction setupTokens(tokens: any) {\n return mapTokensToVariables(tokens)\n}\n\nexport const mapTokensToVariables = (\n tokens: CreateTokens,\n parentPath = ''\n): CreateTokens<Variable> => {\n const res = {}\n for (const key in tokens) {\n const val = tokens[key]\n const name = parentPath ? `${parentPath}-${key}` : key\n if (val && typeof val === 'object') {\n res[key] = mapTokensToVariables(tokens[key], name)\n } else {\n res[key] = createVariable({ val, name })\n }\n }\n // @ts-expect-error\n return res\n}\n\n// verbose but gives us nice types...\ntype MakeTokens<T> = T extends {\n font: {\n [key in infer A]: {\n size: infer B\n lineHeight: infer C\n letterSpacing: infer D\n weight: infer Z\n family: infer Y\n }\n }\n color: infer E\n space: infer F\n size: infer G\n radius: infer H\n zIndex: infer J\n}\n ? {\n font: {\n [key in A]: {\n size: {\n [key in keyof B]: Variable\n }\n lineHeight: {\n [key in keyof C]: Variable\n }\n letterSpacing: {\n [key in keyof D]: Variable\n }\n weight: {\n [key in keyof Z]: Variable\n }\n family: Y\n }\n }\n color: {\n [key in keyof E]: Variable\n }\n space: {\n [key in keyof F]: Variable\n }\n size: {\n [key in keyof G]: Variable\n }\n radius: {\n [key in keyof H]: Variable\n }\n zIndex: {\n [key in keyof J]: Variable\n }\n }\n : never\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAyC;AACzC,sBAA+B;AAKxB,sBAA8C,QAA0B;AAC7E,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,wCAAe,MAAM;AAAA,EACvB;AAEA,SAAO,YAAY,MAAM;AAC3B;AANgB;AAQhB,qBAAqB,QAAa;AAChC,SAAO,qBAAqB,MAAM;AACpC;AAFS;AAIF,MAAM,uBAAuB,wBAClC,QACA,aAAa,OACc;AAC3B,QAAM,MAAM,CAAC;AACb,aAAW,OAAO,QAAQ;AACxB,UAAM,MAAM,OAAO;AACnB,UAAM,OAAO,aAAa,GAAG,cAAc,QAAQ;AACnD,QAAI,OAAO,OAAO,QAAQ,UAAU;AAClC,UAAI,OAAO,qBAAqB,OAAO,MAAM,IAAI;AAAA,IACnD,OAAO;AACL,UAAI,OAAO,0CAAe,EAAE,KAAK,KAAK,CAAC;AAAA,IACzC;AAAA,EACF;AAEA,SAAO;AACT,GAhBoC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,61 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var createVariable_exports = {};
20
+ __export(createVariable_exports, {
21
+ IS_VARIABLE_SYMBOL: () => IS_VARIABLE_SYMBOL,
22
+ Variable: () => Variable,
23
+ createCSSVariable: () => createCSSVariable,
24
+ createVariable: () => createVariable,
25
+ getVariableValue: () => getVariableValue,
26
+ isVariable: () => isVariable
27
+ });
28
+ module.exports = __toCommonJS(createVariable_exports);
29
+ var import_platform = require("./constants/platform");
30
+ var _a;
31
+ const IS_VARIABLE_SYMBOL = "__isVariable__";
32
+ class Variable {
33
+ constructor({ val, name }) {
34
+ this[_a] = true;
35
+ this.val = isVariable(val) ? val.val : val;
36
+ this.name = name;
37
+ this.variable = import_platform.isWeb ? createCSSVariable(name) : this.val;
38
+ }
39
+ toString() {
40
+ return `${import_platform.isWeb ? this.variable : this.val}`;
41
+ }
42
+ }
43
+ __name(Variable, "Variable");
44
+ _a = IS_VARIABLE_SYMBOL;
45
+ const createVariable = /* @__PURE__ */ __name((props) => new Variable(props), "createVariable");
46
+ function isVariable(v) {
47
+ return v instanceof Variable || v && v[IS_VARIABLE_SYMBOL];
48
+ }
49
+ __name(isVariable, "isVariable");
50
+ function getVariableValue(v) {
51
+ if (isVariable(v)) {
52
+ return v.val;
53
+ }
54
+ return v;
55
+ }
56
+ __name(getVariableValue, "getVariableValue");
57
+ const createCSSVariable = /* @__PURE__ */ __name((val, includeVar = true) => {
58
+ const name = val.replace(/[^a-z0-9\_\-]+/i, "_");
59
+ return includeVar ? `var(--${name})` : name;
60
+ }, "createCSSVariable");
61
+ //# sourceMappingURL=createVariable.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/createVariable.ts"],
4
+ "sourcesContent": ["import { isWeb } from './constants/platform'\n\nexport const IS_VARIABLE_SYMBOL = '__isVariable__'\n\nexport class Variable {\n // because we have a separate node runtime we can't do instanceof\n // ran into issues with this and it's potentially fixable but for now\n // lets just do this\n [IS_VARIABLE_SYMBOL] = true\n\n name: string\n val: string | number\n variable: string | number\n\n constructor({ val, name }: VariableIn) {\n // converting to px breaks rn\n this.val = isVariable(val) ? val.val : val\n this.name = name\n this.variable = isWeb ? createCSSVariable(name) : this.val\n }\n\n toString() {\n return `${isWeb ? this.variable : this.val}`\n }\n}\n\ntype VariableIn = { val: string | number | Variable; name: string }\n\nexport const createVariable = (props: VariableIn) => new Variable(props)\n\nexport function isVariable(v: Variable | any): v is Variable {\n return v instanceof Variable || (v && v[IS_VARIABLE_SYMBOL])\n}\n\nexport function getVariableValue(v: Variable | any) {\n if (isVariable(v)) {\n return v.val\n }\n return v\n}\n\n// bugfix { space: { 0.5: 10 } } was generating var(--space-0.5) (invalid CSS):\nexport const createCSSVariable = (val: string, includeVar = true) => {\n const name = val.replace(/[^a-z0-9\\_\\-]+/i, '_')\n return includeVar ? `var(--${name})` : name\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAsB;AAAtB;AAEO,MAAM,qBAAqB;AAE3B,MAAM,SAAS;AAAA,EAUpB,YAAY,EAAE,KAAK,QAAoB;AANtC,eAAsB;AAQrB,SAAK,MAAM,WAAW,GAAG,IAAI,IAAI,MAAM;AACvC,SAAK,OAAO;AACZ,SAAK,WAAW,wBAAQ,kBAAkB,IAAI,IAAI,KAAK;AAAA,EACzD;AAAA,EAEA,WAAW;AACT,WAAO,GAAG,wBAAQ,KAAK,WAAW,KAAK;AAAA,EACzC;AACF;AApBO;AAJP,AAQG;AAoBI,MAAM,iBAAiB,wBAAC,UAAsB,IAAI,SAAS,KAAK,GAAzC;AAEvB,oBAAoB,GAAkC;AAC3D,SAAO,aAAa,YAAa,KAAK,EAAE;AAC1C;AAFgB;AAIT,0BAA0B,GAAmB;AAClD,MAAI,WAAW,CAAC,GAAG;AACjB,WAAO,EAAE;AAAA,EACX;AACA,SAAO;AACT;AALgB;AAQT,MAAM,oBAAoB,wBAAC,KAAa,aAAa,SAAS;AACnE,QAAM,OAAO,IAAI,QAAQ,mBAAmB,GAAG;AAC/C,SAAO,aAAa,SAAS,UAAU;AACzC,GAHiC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,31 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var defaultComponentState_exports = {};
19
+ __export(defaultComponentState_exports, {
20
+ defaultComponentState: () => defaultComponentState
21
+ });
22
+ module.exports = __toCommonJS(defaultComponentState_exports);
23
+ const defaultComponentState = {
24
+ hover: false,
25
+ press: false,
26
+ pressIn: false,
27
+ focus: false,
28
+ mounted: false,
29
+ animation: null
30
+ };
31
+ //# sourceMappingURL=defaultComponentState.js.map