@tamagui/core 1.0.1-beta.19 → 1.0.1-beta.190

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 (772) hide show
  1. package/dist/cjs/Tamagui.js +14 -12
  2. package/dist/cjs/Tamagui.js.map +2 -2
  3. package/dist/cjs/addTheme.js +80 -0
  4. package/dist/cjs/addTheme.js.map +7 -0
  5. package/dist/cjs/{conf.js → config.js} +33 -19
  6. package/dist/cjs/config.js.map +7 -0
  7. package/dist/cjs/constants/constants.js +11 -23
  8. package/dist/cjs/constants/constants.js.map +2 -2
  9. package/dist/cjs/{helpers/nativeGestureHandler.js → constants/isDevTools.js} +8 -8
  10. package/dist/cjs/constants/isDevTools.js.map +7 -0
  11. package/dist/cjs/constants/platform.js +32 -16
  12. package/dist/cjs/constants/platform.js.map +2 -2
  13. package/dist/cjs/constants/platform.native.js +62 -0
  14. package/dist/cjs/constants/platform.native.js.map +7 -0
  15. package/dist/cjs/contexts/ButtonInsideButtonContext.js +1 -0
  16. package/dist/cjs/contexts/ButtonInsideButtonContext.js.map +1 -1
  17. package/dist/cjs/contexts/FontLanguageContext.js +30 -0
  18. package/dist/cjs/contexts/FontLanguageContext.js.map +7 -0
  19. package/dist/cjs/{views → contexts}/TextAncestorContext.js +11 -13
  20. package/dist/cjs/contexts/TextAncestorContext.js.map +7 -0
  21. package/dist/cjs/{ThemeContext.js → contexts/ThemeContext.js} +1 -0
  22. package/dist/cjs/contexts/ThemeContext.js.map +7 -0
  23. package/dist/cjs/createComponent.js +925 -484
  24. package/dist/cjs/createComponent.js.map +3 -3
  25. package/dist/cjs/createFont.js +5 -8
  26. package/dist/cjs/createFont.js.map +2 -2
  27. package/dist/cjs/createShorthands.js +1 -2
  28. package/dist/cjs/createShorthands.js.map +1 -1
  29. package/dist/cjs/createTamagui.js +129 -177
  30. package/dist/cjs/createTamagui.js.map +3 -3
  31. package/dist/cjs/createTheme.js +4 -2
  32. package/dist/cjs/createTheme.js.map +2 -2
  33. package/dist/cjs/createTokens.js +5 -25
  34. package/dist/cjs/createTokens.js.map +2 -2
  35. package/dist/cjs/createVariable.js +52 -28
  36. package/dist/cjs/createVariable.js.map +2 -2
  37. package/dist/cjs/createVariables.js +52 -0
  38. package/dist/cjs/createVariables.js.map +7 -0
  39. package/dist/cjs/helpers/RNComponents.js +12 -11
  40. package/dist/cjs/helpers/RNComponents.js.map +2 -2
  41. package/dist/cjs/{ThemeManager.js → helpers/ThemeManager.js} +54 -52
  42. package/dist/cjs/helpers/ThemeManager.js.map +7 -0
  43. package/dist/cjs/helpers/areEqualSets.js +3 -3
  44. package/dist/cjs/helpers/areEqualSets.js.map +1 -1
  45. package/dist/cjs/helpers/assignNativePropsToWeb.js +188 -0
  46. package/dist/cjs/helpers/assignNativePropsToWeb.js.map +7 -0
  47. package/dist/cjs/helpers/assignNativePropsToWeb.native.js +30 -0
  48. package/dist/cjs/helpers/assignNativePropsToWeb.native.js.map +7 -0
  49. package/dist/cjs/helpers/calc.js +71 -0
  50. package/dist/cjs/helpers/calc.js.map +7 -0
  51. package/dist/cjs/helpers/createMediaStyle.js +17 -9
  52. package/dist/cjs/helpers/createMediaStyle.js.map +2 -2
  53. package/dist/cjs/helpers/createPropMapper.js +268 -120
  54. package/dist/cjs/helpers/createPropMapper.js.map +2 -2
  55. package/dist/cjs/helpers/createShallowUpdate.js +14 -25
  56. package/dist/cjs/helpers/createShallowUpdate.js.map +2 -2
  57. package/dist/cjs/helpers/expandStyle.js +90 -0
  58. package/dist/cjs/helpers/expandStyle.js.map +7 -0
  59. package/dist/cjs/helpers/expandStyles.js +115 -0
  60. package/dist/cjs/helpers/expandStyles.js.map +7 -0
  61. package/dist/cjs/helpers/extendStaticConfig.js +49 -37
  62. package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
  63. package/dist/cjs/helpers/fixNativeShadow.js +3 -3
  64. package/dist/cjs/helpers/fixNativeShadow.js.map +1 -1
  65. package/dist/cjs/helpers/getAnimationDriver.js +32 -0
  66. package/dist/cjs/helpers/getAnimationDriver.js.map +7 -0
  67. package/dist/cjs/helpers/getExpandedShorthands.js +4 -5
  68. package/dist/cjs/helpers/getExpandedShorthands.js.map +2 -2
  69. package/dist/cjs/helpers/{getTextSize.js → getFont.js} +22 -12
  70. package/dist/cjs/helpers/getFont.js.map +7 -0
  71. package/dist/cjs/helpers/getFontLanguage.js +29 -0
  72. package/dist/cjs/helpers/getFontLanguage.js.map +7 -0
  73. package/dist/cjs/helpers/getSize.js +19 -10
  74. package/dist/cjs/helpers/getSize.js.map +2 -2
  75. package/dist/cjs/helpers/getSplitStyles.js +381 -208
  76. package/dist/cjs/helpers/getSplitStyles.js.map +3 -3
  77. package/dist/cjs/helpers/getStackSize.js +46 -0
  78. package/dist/cjs/helpers/getStackSize.js.map +7 -0
  79. package/dist/cjs/helpers/getStylesAtomic.js +199 -133
  80. package/dist/cjs/helpers/getStylesAtomic.js.map +3 -3
  81. package/dist/cjs/helpers/getStylesAtomic.native.js +1 -2
  82. package/dist/cjs/helpers/getStylesAtomic.native.js.map +1 -1
  83. package/dist/cjs/helpers/getThemeCSSRules.js +103 -0
  84. package/dist/cjs/helpers/getThemeCSSRules.js.map +7 -0
  85. package/dist/cjs/{nativeGestureHandler.native.js → helpers/getThemeCSSRules.native.js} +18 -5
  86. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +7 -0
  87. package/dist/cjs/helpers/getVariantExtras.js +88 -0
  88. package/dist/cjs/helpers/getVariantExtras.js.map +7 -0
  89. package/dist/cjs/helpers/insertStyleRule.js +87 -52
  90. package/dist/cjs/helpers/insertStyleRule.js.map +3 -3
  91. package/dist/cjs/helpers/isObj.js +2 -2
  92. package/dist/cjs/helpers/isObj.js.map +1 -1
  93. package/dist/cjs/helpers/isTamaguiComponent.js +37 -0
  94. package/dist/cjs/helpers/isTamaguiComponent.js.map +7 -0
  95. package/dist/cjs/helpers/isTamaguiElement.js +5 -5
  96. package/dist/cjs/helpers/isTamaguiElement.js.map +2 -2
  97. package/dist/cjs/helpers/matchMedia.js +7 -6
  98. package/dist/cjs/helpers/matchMedia.js.map +2 -2
  99. package/dist/cjs/helpers/matchMedia.native.js +6 -3
  100. package/dist/cjs/helpers/matchMedia.native.js.map +2 -2
  101. package/dist/cjs/helpers/mergeProps.js +54 -0
  102. package/dist/cjs/helpers/mergeProps.js.map +7 -0
  103. package/dist/cjs/helpers/mergeTransform.js +42 -0
  104. package/dist/cjs/helpers/mergeTransform.js.map +7 -0
  105. package/dist/cjs/helpers/normalizeColor.js +80 -0
  106. package/dist/cjs/helpers/normalizeColor.js.map +7 -0
  107. package/dist/cjs/helpers/normalizeValueWithProperty.js +93 -0
  108. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +7 -0
  109. package/dist/cjs/helpers/proxyThemeVariables.js +7 -4
  110. package/dist/cjs/helpers/proxyThemeVariables.js.map +2 -2
  111. package/dist/cjs/helpers/pseudoDescriptors.js +42 -0
  112. package/dist/cjs/helpers/pseudoDescriptors.js.map +7 -0
  113. package/dist/cjs/helpers/registerCSSVariable.js +40 -0
  114. package/dist/cjs/helpers/registerCSSVariable.js.map +7 -0
  115. package/dist/cjs/helpers/{wrapThemeManagerContext.js → startTransition.js} +12 -15
  116. package/dist/cjs/helpers/startTransition.js.map +7 -0
  117. package/dist/cjs/helpers/themeable.js +17 -40
  118. package/dist/cjs/helpers/themeable.js.map +3 -3
  119. package/dist/cjs/helpers/themes.js +79 -0
  120. package/dist/cjs/helpers/themes.js.map +7 -0
  121. package/dist/cjs/helpers/useShallowSetState.js +44 -0
  122. package/dist/cjs/helpers/useShallowSetState.js.map +7 -0
  123. package/dist/cjs/helpers/validate.js +1 -122
  124. package/dist/cjs/helpers/validate.js.map +3 -3
  125. package/dist/cjs/helpers/withStaticProperties.js +3 -3
  126. package/dist/cjs/helpers/withStaticProperties.js.map +1 -1
  127. package/dist/cjs/hooks/getThemeUnwrapped.js +39 -0
  128. package/dist/cjs/hooks/getThemeUnwrapped.js.map +7 -0
  129. package/dist/cjs/hooks/useConstant.js +4 -2
  130. package/dist/cjs/hooks/useConstant.js.map +2 -2
  131. package/dist/cjs/hooks/useDidFinishSSR.js +60 -0
  132. package/dist/cjs/hooks/useDidFinishSSR.js.map +7 -0
  133. package/dist/cjs/hooks/useId.js +3 -33
  134. package/dist/cjs/hooks/useId.js.map +2 -2
  135. package/dist/cjs/hooks/useIsMounted.js +3 -4
  136. package/dist/cjs/hooks/useIsMounted.js.map +2 -2
  137. package/dist/cjs/hooks/useIsSSR.js +46 -0
  138. package/dist/cjs/hooks/useIsSSR.js.map +7 -0
  139. package/dist/cjs/hooks/useIsTouchDevice.js +11 -9
  140. package/dist/cjs/hooks/useIsTouchDevice.js.map +2 -2
  141. package/dist/cjs/hooks/useMedia.js +162 -113
  142. package/dist/cjs/hooks/useMedia.js.map +3 -3
  143. package/dist/cjs/hooks/usePressable.js +4 -18
  144. package/dist/cjs/hooks/usePressable.js.map +1 -1
  145. package/dist/cjs/hooks/useSafeRef.js +60 -0
  146. package/dist/cjs/hooks/useSafeRef.js.map +7 -0
  147. package/dist/cjs/hooks/useServerHooks.js +36 -0
  148. package/dist/cjs/hooks/useServerHooks.js.map +7 -0
  149. package/dist/cjs/hooks/useTheme.js +166 -132
  150. package/dist/cjs/hooks/useTheme.js.map +3 -3
  151. package/dist/cjs/hooks/useUnmountEffect.js +1 -2
  152. package/dist/cjs/hooks/useUnmountEffect.js.map +1 -1
  153. package/dist/cjs/index.js +59 -21
  154. package/dist/cjs/index.js.map +2 -2
  155. package/dist/cjs/injectStyles.js +40 -0
  156. package/dist/cjs/injectStyles.js.map +7 -0
  157. package/dist/cjs/insertFont.js +93 -0
  158. package/dist/cjs/insertFont.js.map +7 -0
  159. package/dist/cjs/static.js +22 -15
  160. package/dist/cjs/static.js.map +2 -2
  161. package/dist/cjs/styled.js +47 -44
  162. package/dist/cjs/styled.js.map +2 -2
  163. package/dist/cjs/types-rnw.js +1 -0
  164. package/dist/cjs/types-rnw.js.map +2 -2
  165. package/dist/cjs/types.js +1 -0
  166. package/dist/cjs/types.js.map +2 -2
  167. package/dist/cjs/updateTheme.js +47 -0
  168. package/dist/cjs/updateTheme.js.map +7 -0
  169. package/dist/cjs/vendor/Pressability.js +32 -0
  170. package/dist/cjs/vendor/Pressability.js.map +7 -0
  171. package/dist/cjs/vendor/Pressability.native.js +32 -0
  172. package/dist/cjs/vendor/Pressability.native.js.map +7 -0
  173. package/dist/cjs/views/FontLanguage.js +38 -0
  174. package/dist/cjs/views/FontLanguage.js.map +7 -0
  175. package/dist/cjs/views/FontLanguage.native.js +38 -0
  176. package/dist/cjs/views/FontLanguage.native.js.map +7 -0
  177. package/dist/cjs/{helpers/nativeGestureHandler.native.js → views/FontLanguage.types.js} +4 -5
  178. package/dist/cjs/views/FontLanguage.types.js.map +7 -0
  179. package/dist/cjs/views/Slot.js +63 -65
  180. package/dist/cjs/views/Slot.js.map +2 -2
  181. package/dist/cjs/views/Stack.js +4 -19
  182. package/dist/cjs/views/Stack.js.map +1 -1
  183. package/dist/cjs/views/TamaguiProvider.js +82 -0
  184. package/dist/cjs/views/TamaguiProvider.js.map +7 -0
  185. package/dist/cjs/views/Text.js +28 -29
  186. package/dist/cjs/views/Text.js.map +2 -2
  187. package/dist/cjs/views/Theme.js +43 -21
  188. package/dist/cjs/views/Theme.js.map +3 -3
  189. package/dist/cjs/views/ThemeInverse.js +25 -25
  190. package/dist/cjs/views/ThemeInverse.js.map +2 -2
  191. package/dist/cjs/views/ThemeProvider.js +35 -23
  192. package/dist/cjs/views/ThemeProvider.js.map +3 -3
  193. package/dist/cjs/views/ThemeReset.js +18 -12
  194. package/dist/cjs/views/ThemeReset.js.map +3 -3
  195. package/dist/esm/Tamagui.js +8 -11
  196. package/dist/esm/Tamagui.js.map +2 -2
  197. package/dist/esm/addTheme.js +56 -0
  198. package/dist/esm/addTheme.js.map +7 -0
  199. package/dist/esm/config.js +45 -0
  200. package/dist/esm/config.js.map +7 -0
  201. package/dist/esm/constants/constants.js +2 -2
  202. package/dist/esm/constants/constants.js.map +2 -2
  203. package/dist/esm/constants/isDevTools.js +5 -0
  204. package/dist/esm/constants/isDevTools.js.map +7 -0
  205. package/dist/esm/constants/platform.js +25 -12
  206. package/dist/esm/constants/platform.js.map +2 -2
  207. package/dist/esm/constants/platform.native.js +28 -0
  208. package/dist/esm/constants/platform.native.js.map +7 -0
  209. package/dist/esm/contexts/ButtonInsideButtonContext.js +0 -0
  210. package/dist/esm/contexts/ButtonInsideButtonContext.js.map +1 -1
  211. package/dist/esm/contexts/FontLanguageContext.js +6 -0
  212. package/dist/esm/contexts/FontLanguageContext.js.map +7 -0
  213. package/dist/esm/contexts/TextAncestorContext.js +17 -0
  214. package/dist/esm/contexts/TextAncestorContext.js.map +7 -0
  215. package/dist/esm/{ThemeContext.js → contexts/ThemeContext.js} +0 -0
  216. package/dist/esm/contexts/ThemeContext.js.map +7 -0
  217. package/dist/esm/createComponent.js +891 -389
  218. package/dist/esm/createComponent.js.map +3 -3
  219. package/dist/esm/createFont.js +4 -9
  220. package/dist/esm/createFont.js.map +2 -2
  221. package/dist/esm/createShorthands.js +0 -3
  222. package/dist/esm/createShorthands.js.map +1 -1
  223. package/dist/esm/createTamagui.js +128 -158
  224. package/dist/esm/createTamagui.js.map +3 -3
  225. package/dist/esm/createTheme.js +3 -3
  226. package/dist/esm/createTheme.js.map +2 -2
  227. package/dist/esm/createTokens.js +3 -24
  228. package/dist/esm/createTokens.js.map +2 -2
  229. package/dist/esm/createVariable.js +47 -26
  230. package/dist/esm/createVariable.js.map +2 -2
  231. package/dist/esm/createVariables.js +28 -0
  232. package/dist/esm/createVariables.js.map +7 -0
  233. package/dist/esm/helpers/RNComponents.js +11 -8
  234. package/dist/esm/helpers/RNComponents.js.map +2 -2
  235. package/dist/esm/{ThemeManager.js → helpers/ThemeManager.js} +53 -53
  236. package/dist/esm/helpers/ThemeManager.js.map +7 -0
  237. package/dist/esm/helpers/areEqualSets.js +2 -4
  238. package/dist/esm/helpers/areEqualSets.js.map +1 -1
  239. package/dist/esm/helpers/assignNativePropsToWeb.js +164 -0
  240. package/dist/esm/helpers/assignNativePropsToWeb.js.map +7 -0
  241. package/dist/esm/helpers/assignNativePropsToWeb.native.js +6 -0
  242. package/dist/esm/helpers/assignNativePropsToWeb.native.js.map +7 -0
  243. package/dist/esm/helpers/calc.js +47 -0
  244. package/dist/esm/helpers/calc.js.map +7 -0
  245. package/dist/esm/helpers/createMediaStyle.js +16 -10
  246. package/dist/esm/helpers/createMediaStyle.js.map +2 -2
  247. package/dist/esm/helpers/createPropMapper.js +263 -121
  248. package/dist/esm/helpers/createPropMapper.js.map +2 -2
  249. package/dist/esm/helpers/createShallowUpdate.js +13 -12
  250. package/dist/esm/helpers/createShallowUpdate.js.map +2 -2
  251. package/dist/esm/helpers/expandStyle.js +66 -0
  252. package/dist/esm/helpers/expandStyle.js.map +7 -0
  253. package/dist/esm/helpers/expandStyles.js +89 -0
  254. package/dist/esm/helpers/expandStyles.js.map +7 -0
  255. package/dist/esm/helpers/extendStaticConfig.js +35 -28
  256. package/dist/esm/helpers/extendStaticConfig.js.map +2 -2
  257. package/dist/esm/helpers/fixNativeShadow.js +2 -4
  258. package/dist/esm/helpers/fixNativeShadow.js.map +1 -1
  259. package/dist/esm/helpers/getAnimationDriver.js +8 -0
  260. package/dist/esm/helpers/getAnimationDriver.js.map +7 -0
  261. package/dist/esm/helpers/getExpandedShorthands.js +2 -5
  262. package/dist/esm/helpers/getExpandedShorthands.js.map +2 -2
  263. package/dist/esm/helpers/{getTextSize.js → getFont.js} +17 -9
  264. package/dist/esm/helpers/getFont.js.map +7 -0
  265. package/dist/esm/helpers/getFontLanguage.js +5 -0
  266. package/dist/esm/helpers/getFontLanguage.js.map +7 -0
  267. package/dist/esm/helpers/getSize.js +16 -10
  268. package/dist/esm/helpers/getSize.js.map +2 -2
  269. package/dist/esm/helpers/getSplitStyles.js +364 -188
  270. package/dist/esm/helpers/getSplitStyles.js.map +3 -3
  271. package/dist/esm/helpers/getStackSize.js +22 -0
  272. package/dist/esm/helpers/getStackSize.js.map +7 -0
  273. package/dist/esm/helpers/getStylesAtomic.js +187 -108
  274. package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
  275. package/dist/esm/helpers/getStylesAtomic.native.js +0 -3
  276. package/dist/esm/helpers/getStylesAtomic.native.js.map +1 -1
  277. package/dist/esm/helpers/getThemeCSSRules.js +79 -0
  278. package/dist/esm/helpers/getThemeCSSRules.js.map +7 -0
  279. package/dist/esm/helpers/getThemeCSSRules.native.js +7 -0
  280. package/dist/esm/helpers/getThemeCSSRules.native.js.map +7 -0
  281. package/dist/esm/helpers/getVariantExtras.js +63 -0
  282. package/dist/esm/helpers/getVariantExtras.js.map +7 -0
  283. package/dist/esm/helpers/insertStyleRule.js +82 -50
  284. package/dist/esm/helpers/insertStyleRule.js.map +3 -3
  285. package/dist/esm/helpers/isObj.js +1 -3
  286. package/dist/esm/helpers/isObj.js.map +1 -1
  287. package/dist/esm/helpers/isTamaguiComponent.js +13 -0
  288. package/dist/esm/helpers/isTamaguiComponent.js.map +7 -0
  289. package/dist/esm/helpers/isTamaguiElement.js +4 -6
  290. package/dist/esm/helpers/isTamaguiElement.js.map +2 -2
  291. package/dist/esm/helpers/matchMedia.js +6 -7
  292. package/dist/esm/helpers/matchMedia.js.map +2 -2
  293. package/dist/esm/helpers/matchMedia.native.js +1 -3
  294. package/dist/esm/helpers/matchMedia.native.js.map +1 -1
  295. package/dist/esm/helpers/mergeProps.js +30 -0
  296. package/dist/esm/helpers/mergeProps.js.map +7 -0
  297. package/dist/esm/helpers/mergeTransform.js +17 -0
  298. package/dist/esm/helpers/mergeTransform.js.map +7 -0
  299. package/dist/esm/helpers/normalizeColor.js +49 -0
  300. package/dist/esm/helpers/normalizeColor.js.map +7 -0
  301. package/dist/esm/helpers/normalizeValueWithProperty.js +69 -0
  302. package/dist/esm/helpers/normalizeValueWithProperty.js.map +7 -0
  303. package/dist/esm/helpers/proxyThemeVariables.js +6 -5
  304. package/dist/esm/helpers/proxyThemeVariables.js.map +2 -2
  305. package/dist/esm/helpers/pseudoDescriptors.js +18 -0
  306. package/dist/esm/helpers/pseudoDescriptors.js.map +7 -0
  307. package/dist/esm/helpers/registerCSSVariable.js +14 -0
  308. package/dist/esm/helpers/registerCSSVariable.js.map +7 -0
  309. package/dist/esm/helpers/startTransition.js +6 -0
  310. package/dist/esm/helpers/startTransition.js.map +7 -0
  311. package/dist/esm/helpers/themeable.js +11 -9
  312. package/dist/esm/helpers/themeable.js.map +2 -2
  313. package/dist/esm/helpers/themes.js +54 -0
  314. package/dist/esm/helpers/themes.js.map +7 -0
  315. package/dist/esm/helpers/useShallowSetState.js +20 -0
  316. package/dist/esm/helpers/useShallowSetState.js.map +7 -0
  317. package/dist/esm/helpers/validate.js +0 -75
  318. package/dist/esm/helpers/validate.js.map +3 -3
  319. package/dist/esm/helpers/withStaticProperties.js +2 -4
  320. package/dist/esm/helpers/withStaticProperties.js.map +1 -1
  321. package/dist/esm/hooks/getThemeUnwrapped.js +14 -0
  322. package/dist/esm/hooks/getThemeUnwrapped.js.map +7 -0
  323. package/dist/esm/hooks/useConstant.js +4 -4
  324. package/dist/esm/hooks/useConstant.js.map +2 -2
  325. package/dist/esm/hooks/useDidFinishSSR.js +35 -0
  326. package/dist/esm/hooks/useDidFinishSSR.js.map +7 -0
  327. package/dist/esm/hooks/useId.js +1 -31
  328. package/dist/esm/hooks/useId.js.map +2 -2
  329. package/dist/esm/hooks/useIsMounted.js +1 -4
  330. package/dist/esm/hooks/useIsMounted.js.map +2 -2
  331. package/dist/esm/hooks/useIsSSR.js +22 -0
  332. package/dist/esm/hooks/useIsSSR.js.map +7 -0
  333. package/dist/esm/hooks/useIsTouchDevice.js +10 -10
  334. package/dist/esm/hooks/useIsTouchDevice.js.map +2 -2
  335. package/dist/esm/hooks/useMedia.js +157 -103
  336. package/dist/esm/hooks/useMedia.js.map +3 -3
  337. package/dist/esm/hooks/usePressable.js +2 -4
  338. package/dist/esm/hooks/usePressable.js.map +1 -1
  339. package/dist/esm/hooks/useSafeRef.js +36 -0
  340. package/dist/esm/hooks/useSafeRef.js.map +7 -0
  341. package/dist/esm/hooks/useServerHooks.js +11 -0
  342. package/dist/esm/hooks/useServerHooks.js.map +7 -0
  343. package/dist/esm/hooks/useTheme.js +159 -109
  344. package/dist/esm/hooks/useTheme.js.map +3 -3
  345. package/dist/esm/hooks/useUnmountEffect.js +0 -3
  346. package/dist/esm/hooks/useUnmountEffect.js.map +1 -1
  347. package/dist/esm/index.js +51 -13
  348. package/dist/esm/index.js.map +2 -2
  349. package/dist/esm/injectStyles.js +16 -0
  350. package/dist/esm/injectStyles.js.map +7 -0
  351. package/dist/esm/insertFont.js +67 -0
  352. package/dist/esm/insertFont.js.map +7 -0
  353. package/dist/esm/static.js +15 -15
  354. package/dist/esm/static.js.map +2 -2
  355. package/dist/esm/styled.js +40 -12
  356. package/dist/esm/styled.js.map +2 -2
  357. package/dist/esm/types-rnw.js +0 -0
  358. package/dist/esm/types-rnw.js.map +0 -0
  359. package/dist/esm/types.js +0 -0
  360. package/dist/esm/types.js.map +0 -0
  361. package/dist/esm/updateTheme.js +23 -0
  362. package/dist/esm/updateTheme.js.map +7 -0
  363. package/dist/esm/vendor/Pressability.js +7 -0
  364. package/dist/esm/vendor/Pressability.js.map +7 -0
  365. package/dist/esm/vendor/Pressability.native.js +7 -0
  366. package/dist/esm/vendor/Pressability.native.js.map +7 -0
  367. package/dist/esm/views/FontLanguage.js +14 -0
  368. package/dist/esm/views/FontLanguage.js.map +7 -0
  369. package/dist/esm/views/FontLanguage.native.js +14 -0
  370. package/dist/esm/views/FontLanguage.native.js.map +7 -0
  371. package/dist/esm/views/FontLanguage.types.js +1 -0
  372. package/dist/{cjs/defaultComponentState.js.map → esm/views/FontLanguage.types.js.map} +0 -0
  373. package/dist/esm/views/Slot.js +50 -32
  374. package/dist/esm/views/Slot.js.map +2 -2
  375. package/dist/esm/views/Stack.js +0 -0
  376. package/dist/esm/views/Stack.js.map +1 -1
  377. package/dist/esm/views/TamaguiProvider.js +52 -0
  378. package/dist/esm/views/TamaguiProvider.js.map +7 -0
  379. package/dist/esm/views/Text.js +13 -5
  380. package/dist/esm/views/Text.js.map +2 -2
  381. package/dist/esm/views/Theme.js +35 -19
  382. package/dist/esm/views/Theme.js.map +3 -3
  383. package/dist/esm/views/ThemeInverse.js +22 -20
  384. package/dist/esm/views/ThemeInverse.js.map +2 -2
  385. package/dist/esm/views/ThemeProvider.js +28 -21
  386. package/dist/esm/views/ThemeProvider.js.map +2 -2
  387. package/dist/esm/views/ThemeReset.js +13 -12
  388. package/dist/esm/views/ThemeReset.js.map +2 -2
  389. package/package.json +48 -16
  390. package/reset.css +25 -4
  391. package/src/Tamagui.ts +44 -0
  392. package/src/addTheme.ts +67 -0
  393. package/src/config.ts +45 -0
  394. package/src/constants/constants.ts +15 -0
  395. package/src/constants/isDevTools.ts +6 -0
  396. package/src/constants/platform.native.ts +14 -0
  397. package/src/constants/platform.ts +41 -0
  398. package/src/contexts/ButtonInsideButtonContext.tsx +3 -0
  399. package/src/contexts/FontLanguageContext.tsx +5 -0
  400. package/src/contexts/TextAncestorContext.tsx +10 -0
  401. package/src/contexts/ThemeContext.tsx +5 -0
  402. package/src/createComponent.tsx +1599 -0
  403. package/src/createFont.ts +29 -0
  404. package/src/createShorthands.ts +5 -0
  405. package/src/createTamagui.ts +229 -0
  406. package/src/createTheme.ts +13 -0
  407. package/src/createTokens.ts +35 -0
  408. package/src/createVariable.ts +85 -0
  409. package/src/createVariables.ts +42 -0
  410. package/src/helpers/RNComponents.tsx +14 -0
  411. package/src/helpers/ThemeManager.tsx +235 -0
  412. package/src/helpers/areEqualSets.tsx +9 -0
  413. package/src/helpers/assignNativePropsToWeb.native.tsx +1 -0
  414. package/src/helpers/assignNativePropsToWeb.tsx +178 -0
  415. package/src/helpers/calc.ts +68 -0
  416. package/src/helpers/createMediaStyle.ts +48 -0
  417. package/src/helpers/createPropMapper.ts +523 -0
  418. package/src/helpers/expandStyle.ts +81 -0
  419. package/src/helpers/expandStyles.ts +106 -0
  420. package/src/helpers/extendStaticConfig.ts +76 -0
  421. package/src/helpers/fixNativeShadow.tsx +2 -0
  422. package/src/helpers/getAnimationDriver.tsx +5 -0
  423. package/src/helpers/getExpandedShorthands.ts +15 -0
  424. package/src/helpers/getFont.tsx +43 -0
  425. package/src/helpers/getFontLanguage.ts +2 -0
  426. package/src/helpers/getSize.ts +22 -0
  427. package/src/helpers/getSplitStyles.tsx +738 -0
  428. package/src/helpers/getStackSize.ts +22 -0
  429. package/src/helpers/getStylesAtomic.native.ts +3 -0
  430. package/src/helpers/getStylesAtomic.ts +292 -0
  431. package/src/helpers/getThemeCSSRules.native.ts +3 -0
  432. package/src/helpers/getThemeCSSRules.ts +105 -0
  433. package/src/helpers/getVariantExtras.tsx +84 -0
  434. package/src/helpers/insertStyleRule.tsx +150 -0
  435. package/src/helpers/isObj.ts +1 -0
  436. package/src/helpers/isTamaguiComponent.tsx +15 -0
  437. package/src/helpers/isTamaguiElement.tsx +12 -0
  438. package/src/helpers/matchMedia.native.ts +6 -0
  439. package/src/helpers/matchMedia.ts +16 -0
  440. package/src/helpers/mergeProps.ts +56 -0
  441. package/src/helpers/mergeTransform.ts +16 -0
  442. package/src/helpers/normalizeColor.ts +53 -0
  443. package/src/helpers/normalizeValueWithProperty.ts +80 -0
  444. package/src/helpers/proxyThemeVariables.tsx +18 -0
  445. package/src/helpers/pseudoDescriptors.ts +18 -0
  446. package/src/helpers/registerCSSVariable.ts +11 -0
  447. package/src/helpers/startTransition.ts +4 -0
  448. package/src/helpers/themeable.tsx +45 -0
  449. package/src/helpers/themes.ts +69 -0
  450. package/src/helpers/useShallowSetState.tsx +20 -0
  451. package/src/helpers/validate.ts +80 -0
  452. package/src/helpers/withStaticProperties.tsx +7 -0
  453. package/src/hooks/getThemeUnwrapped.tsx +8 -0
  454. package/src/hooks/useConstant.tsx +19 -0
  455. package/src/hooks/useId.tsx +1 -0
  456. package/src/hooks/useIsMounted.ts +16 -0
  457. package/src/hooks/useIsTouchDevice.tsx +20 -0
  458. package/src/hooks/useMedia.tsx +266 -0
  459. package/src/hooks/usePressable.tsx +9 -0
  460. package/src/hooks/useSafeRef.ts +49 -0
  461. package/src/hooks/useServerHooks.tsx +12 -0
  462. package/src/hooks/useTheme.tsx +299 -0
  463. package/src/hooks/useUnmountEffect.ts +5 -0
  464. package/src/index.ts +83 -0
  465. package/src/injectStyles.ts +20 -0
  466. package/src/insertFont.ts +70 -0
  467. package/src/static.ts +15 -0
  468. package/src/styled.tsx +198 -0
  469. package/src/types-rnw.tsx +162 -0
  470. package/src/types.tsx +1307 -0
  471. package/src/updateTheme.ts +23 -0
  472. package/src/vendor/Pressability.native.tsx +3 -0
  473. package/src/vendor/Pressability.tsx +2 -0
  474. package/src/views/FontLanguage.native.tsx +9 -0
  475. package/src/views/FontLanguage.tsx +18 -0
  476. package/src/views/FontLanguage.types.ts +13 -0
  477. package/src/views/Slot.tsx +151 -0
  478. package/src/views/Stack.tsx +24 -0
  479. package/src/views/TamaguiProvider.tsx +56 -0
  480. package/src/views/Text.tsx +79 -0
  481. package/src/views/Theme.tsx +72 -0
  482. package/src/views/ThemeInverse.tsx +33 -0
  483. package/src/views/ThemeProvider.tsx +63 -0
  484. package/src/views/ThemeReset.tsx +43 -0
  485. package/types/Tamagui.d.ts +6 -8
  486. package/types/addTheme.d.ts +11 -0
  487. package/types/conf.d.ts +4 -5
  488. package/types/config.d.ts +47 -0
  489. package/types/constants/constants.d.ts +1 -1
  490. package/types/constants/isDevTools.d.ts +2 -0
  491. package/types/constants/platform.d.ts +7 -6
  492. package/types/constants/platform.native.d.ts +13 -0
  493. package/types/contexts/FontLanguageContext.d.ts +5 -0
  494. package/types/{views → contexts}/TextAncestorContext.d.ts +0 -0
  495. package/types/{ThemeContext.d.ts → contexts/ThemeContext.d.ts} +1 -1
  496. package/types/createComponent.d.ts +32 -15
  497. package/types/createComponent.server.d.ts +36 -0
  498. package/types/createTamagui.d.ts +2 -17
  499. package/types/createTheme.d.ts +1 -1
  500. package/types/createTokens.d.ts +5 -6
  501. package/types/createVariable.d.ts +24 -12
  502. package/types/createVariables.d.ts +10 -0
  503. package/types/helpers/RNComponents.d.ts +1 -1
  504. package/types/helpers/ThemeManager.d.ts +46 -0
  505. package/types/helpers/assignNativePropsToWeb.d.ts +2 -0
  506. package/types/helpers/assignNativePropsToWeb.native.d.ts +2 -0
  507. package/types/helpers/calc.d.ts +17 -0
  508. package/types/helpers/createMediaStyle.d.ts +2 -4
  509. package/types/helpers/createPropMapper.d.ts +6 -3
  510. package/types/helpers/createShallowUpdate.d.ts +1 -2
  511. package/types/helpers/cssHash.d.ts +2 -0
  512. package/types/helpers/expandStyle.d.ts +6 -0
  513. package/types/helpers/expandStyles.d.ts +26 -0
  514. package/types/helpers/getAnimationDriver.d.ts +6 -0
  515. package/types/helpers/getFont.d.ts +3 -0
  516. package/types/helpers/getFontLanguage.d.ts +2 -0
  517. package/types/helpers/getSize.d.ts +3 -2
  518. package/types/helpers/getSplitStyles.d.ts +16 -9
  519. package/types/helpers/getStackSize.d.ts +8 -0
  520. package/types/helpers/getStylesAtomic.d.ts +17 -22
  521. package/types/helpers/getThemeCSSRules.d.ts +8 -0
  522. package/types/helpers/getThemeCSSRules.native.d.ts +2 -0
  523. package/types/helpers/getVariantExtras.d.ts +5 -0
  524. package/types/helpers/insertStyleRule.d.ts +7 -3
  525. package/types/helpers/isTamaguiComponent.d.ts +5 -0
  526. package/types/helpers/isTamaguiElement.d.ts +5 -1
  527. package/types/helpers/matchMedia.d.ts +1 -1
  528. package/types/helpers/mergeProps.d.ts +17 -0
  529. package/types/helpers/mergeTransform.d.ts +7 -0
  530. package/types/helpers/normalizeColor.d.ts +3 -0
  531. package/types/helpers/normalizeValueWithProperty.d.ts +6 -0
  532. package/types/helpers/pseudoDescriptors.d.ts +16 -0
  533. package/types/helpers/registerCSSVariable.d.ts +5 -0
  534. package/types/helpers/startTransition.d.ts +3 -0
  535. package/types/helpers/themes.d.ts +4 -0
  536. package/types/helpers/useAnimationDriver.d.ts +1 -0
  537. package/types/helpers/useShallowSetState.d.ts +3 -0
  538. package/types/helpers/validate.d.ts +0 -3
  539. package/types/hooks/getThemeUnwrapped.d.ts +3 -0
  540. package/types/hooks/useAnimationDriver.d.ts +1 -0
  541. package/types/hooks/useDidFinishSSR.d.ts +3 -0
  542. package/types/hooks/useFeatures.d.ts +10 -5
  543. package/types/hooks/useId.d.ts +1 -8
  544. package/types/hooks/useIsSSR.d.ts +4 -0
  545. package/types/hooks/useMedia.d.ts +20 -6
  546. package/types/hooks/useSafeRef.d.ts +4 -0
  547. package/types/hooks/useServerContext.d.ts +2 -0
  548. package/types/hooks/useServerHooks.d.ts +4 -0
  549. package/types/hooks/useTheme.d.ts +21 -31
  550. package/types/index.d.ts +29 -9
  551. package/types/injectStyles.d.ts +7 -0
  552. package/types/insertFont.d.ts +9 -0
  553. package/types/static.d.ts +2 -15
  554. package/types/styled.d.ts +7 -3
  555. package/types/types.d.ts +277 -77
  556. package/types/updateTheme.d.ts +9 -0
  557. package/types/vendor/Pressability.d.ts +3 -0
  558. package/types/vendor/Pressability.native.d.ts +3 -0
  559. package/types/views/FontLanguage.d.ts +4 -0
  560. package/types/views/FontLanguage.native.d.ts +4 -0
  561. package/types/views/FontLanguage.types.d.ts +11 -0
  562. package/types/views/Slot.d.ts +1 -0
  563. package/types/views/TamaguiProvider.d.ts +4 -0
  564. package/types/views/Theme.d.ts +3 -9
  565. package/types/views/ThemeInverse.d.ts +4 -8
  566. package/types/views/ThemeProvider.d.ts +2 -1
  567. package/dist/cjs/ThemeContext.js.map +0 -7
  568. package/dist/cjs/ThemeManager.js.map +0 -7
  569. package/dist/cjs/conf.js.map +0 -7
  570. package/dist/cjs/constants/rnw.js +0 -46
  571. package/dist/cjs/constants/rnw.js.map +0 -7
  572. package/dist/cjs/defaultComponentState.js +0 -1
  573. package/dist/cjs/helpers/addStylesUsingClassname.js +0 -87
  574. package/dist/cjs/helpers/addStylesUsingClassname.js.map +0 -7
  575. package/dist/cjs/helpers/createTamaguiProvider.js +0 -93
  576. package/dist/cjs/helpers/createTamaguiProvider.js.map +0 -7
  577. package/dist/cjs/helpers/fixNativeShadow.native.js +0 -53
  578. package/dist/cjs/helpers/fixNativeShadow.native.js.map +0 -7
  579. package/dist/cjs/helpers/getButtonSize.js +0 -45
  580. package/dist/cjs/helpers/getButtonSize.js.map +0 -7
  581. package/dist/cjs/helpers/getTextSize.js.map +0 -7
  582. package/dist/cjs/helpers/nativeGestureHandler.js.map +0 -7
  583. package/dist/cjs/helpers/nativeGestureHandler.native.js.map +0 -7
  584. package/dist/cjs/helpers/wrapThemeManagerContext.js.map +0 -7
  585. package/dist/cjs/hooks/useFeatures.js +0 -228
  586. package/dist/cjs/hooks/useFeatures.js.map +0 -7
  587. package/dist/cjs/hooks/usePrevious.js +0 -1
  588. package/dist/cjs/hooks/usePrevious.js.map +0 -7
  589. package/dist/cjs/nativeGestureHandler.native.js.map +0 -7
  590. package/dist/cjs/views/TextAncestorContext.js.map +0 -7
  591. package/dist/esm/ThemeContext.js.map +0 -7
  592. package/dist/esm/ThemeManager.js.map +0 -7
  593. package/dist/esm/conf.js +0 -36
  594. package/dist/esm/conf.js.map +0 -7
  595. package/dist/esm/constants/rnw.js +0 -24
  596. package/dist/esm/constants/rnw.js.map +0 -7
  597. package/dist/esm/defaultComponentState.js +0 -1
  598. package/dist/esm/defaultComponentState.js.map +0 -7
  599. package/dist/esm/helpers/addStylesUsingClassname.js +0 -64
  600. package/dist/esm/helpers/addStylesUsingClassname.js.map +0 -7
  601. package/dist/esm/helpers/createTamaguiProvider.js +0 -40
  602. package/dist/esm/helpers/createTamaguiProvider.js.map +0 -7
  603. package/dist/esm/helpers/fixNativeShadow.native.js +0 -32
  604. package/dist/esm/helpers/fixNativeShadow.native.js.map +0 -7
  605. package/dist/esm/helpers/getButtonSize.js +0 -24
  606. package/dist/esm/helpers/getButtonSize.js.map +0 -7
  607. package/dist/esm/helpers/getTextSize.js.map +0 -7
  608. package/dist/esm/helpers/nativeGestureHandler.js +0 -7
  609. package/dist/esm/helpers/nativeGestureHandler.js.map +0 -7
  610. package/dist/esm/helpers/nativeGestureHandler.native.js +0 -2
  611. package/dist/esm/helpers/nativeGestureHandler.native.js.map +0 -7
  612. package/dist/esm/helpers/wrapThemeManagerContext.js +0 -14
  613. package/dist/esm/helpers/wrapThemeManagerContext.js.map +0 -7
  614. package/dist/esm/hooks/useFeatures.js +0 -173
  615. package/dist/esm/hooks/useFeatures.js.map +0 -7
  616. package/dist/esm/hooks/usePrevious.js +0 -1
  617. package/dist/esm/hooks/usePrevious.js.map +0 -7
  618. package/dist/esm/nativeGestureHandler.native.js +0 -2
  619. package/dist/esm/nativeGestureHandler.native.js.map +0 -7
  620. package/dist/esm/views/TextAncestorContext.js +0 -18
  621. package/dist/esm/views/TextAncestorContext.js.map +0 -7
  622. package/dist/jsx/Tamagui.js +0 -41
  623. package/dist/jsx/ThemeContext.js +0 -5
  624. package/dist/jsx/ThemeManager.js +0 -186
  625. package/dist/jsx/conf.js +0 -35
  626. package/dist/jsx/constants/constants.js +0 -17
  627. package/dist/jsx/constants/platform.js +0 -25
  628. package/dist/jsx/constants/rnw.js +0 -23
  629. package/dist/jsx/contexts/ButtonInsideButtonContext.js +0 -5
  630. package/dist/jsx/createComponent.js +0 -636
  631. package/dist/jsx/createFont.js +0 -27
  632. package/dist/jsx/createShorthands.js +0 -9
  633. package/dist/jsx/createTamagui.js +0 -201
  634. package/dist/jsx/createTheme.js +0 -6
  635. package/dist/jsx/createTokens.js +0 -28
  636. package/dist/jsx/createVariable.js +0 -48
  637. package/dist/jsx/defaultComponentState.js +0 -0
  638. package/dist/jsx/helpers/RNComponents.js +0 -11
  639. package/dist/jsx/helpers/addStylesUsingClassname.js +0 -63
  640. package/dist/jsx/helpers/areEqualSets.js +0 -15
  641. package/dist/jsx/helpers/createMediaStyle.js +0 -30
  642. package/dist/jsx/helpers/createPropMapper.js +0 -237
  643. package/dist/jsx/helpers/createShallowUpdate.js +0 -18
  644. package/dist/jsx/helpers/createTamaguiProvider.js +0 -34
  645. package/dist/jsx/helpers/extendStaticConfig.js +0 -61
  646. package/dist/jsx/helpers/fixNativeShadow.js +0 -7
  647. package/dist/jsx/helpers/fixNativeShadow.native.js +0 -31
  648. package/dist/jsx/helpers/getButtonSize.js +0 -23
  649. package/dist/jsx/helpers/getExpandedShorthands.js +0 -18
  650. package/dist/jsx/helpers/getSize.js +0 -12
  651. package/dist/jsx/helpers/getSplitStyles.js +0 -322
  652. package/dist/jsx/helpers/getStylesAtomic.js +0 -130
  653. package/dist/jsx/helpers/getStylesAtomic.native.js +0 -9
  654. package/dist/jsx/helpers/getTextSize.js +0 -33
  655. package/dist/jsx/helpers/insertStyleRule.js +0 -94
  656. package/dist/jsx/helpers/isObj.js +0 -6
  657. package/dist/jsx/helpers/isTamaguiElement.js +0 -10
  658. package/dist/jsx/helpers/matchMedia.js +0 -17
  659. package/dist/jsx/helpers/matchMedia.native.js +0 -8
  660. package/dist/jsx/helpers/nativeGestureHandler.js +0 -6
  661. package/dist/jsx/helpers/nativeGestureHandler.native.js +0 -1
  662. package/dist/jsx/helpers/proxyThemeVariables.js +0 -17
  663. package/dist/jsx/helpers/themeable.js +0 -24
  664. package/dist/jsx/helpers/validate.js +0 -75
  665. package/dist/jsx/helpers/withStaticProperties.js +0 -9
  666. package/dist/jsx/helpers/wrapThemeManagerContext.js +0 -10
  667. package/dist/jsx/hooks/useConstant.js +0 -14
  668. package/dist/jsx/hooks/useFeatures.js +0 -167
  669. package/dist/jsx/hooks/useId.js +0 -34
  670. package/dist/jsx/hooks/useIsMounted.js +0 -18
  671. package/dist/jsx/hooks/useIsTouchDevice.js +0 -16
  672. package/dist/jsx/hooks/useMedia.js +0 -158
  673. package/dist/jsx/hooks/usePressable.js +0 -13
  674. package/dist/jsx/hooks/usePrevious.js +0 -0
  675. package/dist/jsx/hooks/useTheme.js +0 -177
  676. package/dist/jsx/hooks/useUnmountEffect.js +0 -10
  677. package/dist/jsx/index.js +0 -54
  678. package/dist/jsx/nativeGestureHandler.native.js +0 -1
  679. package/dist/jsx/static.js +0 -16
  680. package/dist/jsx/styled.js +0 -47
  681. package/dist/jsx/types-rnw.js +0 -0
  682. package/dist/jsx/types.js +0 -0
  683. package/dist/jsx/views/Slot.js +0 -75
  684. package/dist/jsx/views/Stack.js +0 -12
  685. package/dist/jsx/views/Text.js +0 -56
  686. package/dist/jsx/views/TextAncestorContext.js +0 -15
  687. package/dist/jsx/views/Theme.js +0 -31
  688. package/dist/jsx/views/ThemeInverse.js +0 -27
  689. package/dist/jsx/views/ThemeProvider.js +0 -35
  690. package/dist/jsx/views/ThemeReset.js +0 -34
  691. package/types/Tamagui.d.ts.map +0 -1
  692. package/types/ThemeContext.d.ts.map +0 -1
  693. package/types/ThemeManager.d.ts +0 -49
  694. package/types/ThemeManager.d.ts.map +0 -1
  695. package/types/conf.d.ts.map +0 -1
  696. package/types/constants/constants.d.ts.map +0 -1
  697. package/types/constants/platform.d.ts.map +0 -1
  698. package/types/constants/rnw.d.ts +0 -2
  699. package/types/constants/rnw.d.ts.map +0 -1
  700. package/types/contexts/ButtonInsideButtonContext.d.ts.map +0 -1
  701. package/types/createComponent.d.ts.map +0 -1
  702. package/types/createFont.d.ts.map +0 -1
  703. package/types/createShorthands.d.ts.map +0 -1
  704. package/types/createTamagui.d.ts.map +0 -1
  705. package/types/createTheme.d.ts.map +0 -1
  706. package/types/createTokens.d.ts.map +0 -1
  707. package/types/createVariable.d.ts.map +0 -1
  708. package/types/defaultComponentState.d.ts +0 -1
  709. package/types/defaultComponentState.d.ts.map +0 -1
  710. package/types/helpers/RNComponents.d.ts.map +0 -1
  711. package/types/helpers/addStylesUsingClassname.d.ts +0 -3
  712. package/types/helpers/addStylesUsingClassname.d.ts.map +0 -1
  713. package/types/helpers/areEqualSets.d.ts.map +0 -1
  714. package/types/helpers/createMediaStyle.d.ts.map +0 -1
  715. package/types/helpers/createPropMapper.d.ts.map +0 -1
  716. package/types/helpers/createShallowUpdate.d.ts.map +0 -1
  717. package/types/helpers/createTamaguiProvider.d.ts +0 -7
  718. package/types/helpers/createTamaguiProvider.d.ts.map +0 -1
  719. package/types/helpers/extendStaticConfig.d.ts.map +0 -1
  720. package/types/helpers/fixNativeShadow.d.ts.map +0 -1
  721. package/types/helpers/fixNativeShadow.native.d.ts +0 -3
  722. package/types/helpers/fixNativeShadow.native.d.ts.map +0 -1
  723. package/types/helpers/getButtonSize.d.ts +0 -8
  724. package/types/helpers/getButtonSize.d.ts.map +0 -1
  725. package/types/helpers/getExpandedShorthands.d.ts.map +0 -1
  726. package/types/helpers/getSize.d.ts.map +0 -1
  727. package/types/helpers/getSplitStyles.d.ts.map +0 -1
  728. package/types/helpers/getStylesAtomic.d.ts.map +0 -1
  729. package/types/helpers/getStylesAtomic.native.d.ts.map +0 -1
  730. package/types/helpers/getTextSize.d.ts +0 -3
  731. package/types/helpers/getTextSize.d.ts.map +0 -1
  732. package/types/helpers/insertStyleRule.d.ts.map +0 -1
  733. package/types/helpers/isObj.d.ts.map +0 -1
  734. package/types/helpers/isTamaguiElement.d.ts.map +0 -1
  735. package/types/helpers/matchMedia.d.ts.map +0 -1
  736. package/types/helpers/matchMedia.native.d.ts.map +0 -1
  737. package/types/helpers/nativeGestureHandler.d.ts +0 -2
  738. package/types/helpers/nativeGestureHandler.d.ts.map +0 -1
  739. package/types/helpers/nativeGestureHandler.native.d.ts +0 -2
  740. package/types/helpers/nativeGestureHandler.native.d.ts.map +0 -1
  741. package/types/helpers/proxyThemeVariables.d.ts.map +0 -1
  742. package/types/helpers/themeable.d.ts.map +0 -1
  743. package/types/helpers/validate.d.ts.map +0 -1
  744. package/types/helpers/withStaticProperties.d.ts.map +0 -1
  745. package/types/helpers/wrapThemeManagerContext.d.ts +0 -3
  746. package/types/helpers/wrapThemeManagerContext.d.ts.map +0 -1
  747. package/types/hooks/useConstant.d.ts.map +0 -1
  748. package/types/hooks/useFeatures.d.ts.map +0 -1
  749. package/types/hooks/useId.d.ts.map +0 -1
  750. package/types/hooks/useIsMounted.d.ts.map +0 -1
  751. package/types/hooks/useIsTouchDevice.d.ts.map +0 -1
  752. package/types/hooks/useMedia.d.ts.map +0 -1
  753. package/types/hooks/usePressable.d.ts.map +0 -1
  754. package/types/hooks/usePrevious.d.ts +0 -1
  755. package/types/hooks/usePrevious.d.ts.map +0 -1
  756. package/types/hooks/useTheme.d.ts.map +0 -1
  757. package/types/hooks/useUnmountEffect.d.ts.map +0 -1
  758. package/types/index.d.ts.map +0 -1
  759. package/types/nativeGestureHandler.native.d.ts +0 -2
  760. package/types/nativeGestureHandler.native.d.ts.map +0 -1
  761. package/types/static.d.ts.map +0 -1
  762. package/types/styled.d.ts.map +0 -1
  763. package/types/types-rnw.d.ts.map +0 -1
  764. package/types/types.d.ts.map +0 -1
  765. package/types/views/Slot.d.ts.map +0 -1
  766. package/types/views/Stack.d.ts.map +0 -1
  767. package/types/views/Text.d.ts.map +0 -1
  768. package/types/views/TextAncestorContext.d.ts.map +0 -1
  769. package/types/views/Theme.d.ts.map +0 -1
  770. package/types/views/ThemeInverse.d.ts.map +0 -1
  771. package/types/views/ThemeProvider.d.ts.map +0 -1
  772. package/types/views/ThemeReset.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/getStylesAtomic.ts"],
4
- "sourcesContent": ["import {\n StyleObject,\n invertMapTransformKeys,\n mergeTransform,\n stylePropsTransform,\n} from '@tamagui/helpers'\nimport { ViewStyle } from 'react-native'\n\nimport { getConfig } from '../conf'\nimport { rnw } from '../constants/rnw'\nimport { isVariable } from '../createVariable'\n\n// NOTE: going to refactor and merge getSplitStyles + getAtomicStyles into one\n// before i can do that need to not rely on rnw for generateAtomicStyles\n// will change that to not be external at all and just logically do it in the\n// merged getSplitStyles/getAtomicStyles file in one loop.\n\nexport type ViewStyleWithPseudos = ViewStyle & {\n hoverStyle?: ViewStyle\n pressStyle?: ViewStyle\n focusStyle?: ViewStyle\n}\n\ntype AtomicStyleOptions = {\n splitTransforms?: boolean\n}\n\nexport function getStylesAtomic(stylesIn: ViewStyleWithPseudos, options: AtomicStyleOptions = {}) {\n const { hoverStyle, pressStyle, focusStyle, ...base } = stylesIn\n let res: StyleObject[] = []\n\n // *1 order matched to *0\n for (const [index, style] of [hoverStyle, pressStyle, focusStyle, base].entries()) {\n if (!style || !Object.keys(style).length) {\n continue\n }\n const pseudo = pseudosOrdered[index]\n for (const skey in style) {\n const val = style[skey]\n if (isVariable(val)) {\n style[skey] = val.toString()\n }\n if (stylePropsTransform[skey]) {\n delete style[skey]\n mergeTransform(style, skey, val)\n }\n }\n res = [...res, ...getAtomicStyle(style, pseudo, options)]\n }\n\n return res\n}\n\nconst generateAtomicStyles = (style: ViewStyle) => {\n return rnw.atomic(rnw.createCompileableStyle(rnw.createReactDOMStyle(style))) as {\n [key: string]: StyleObject\n }\n}\n\nlet reversedShorthands: Record<string, string> | null = null\n\nfunction getAtomicStyle(\n style: ViewStyle,\n pseudo: { name: string; priority: number } | undefined,\n options: AtomicStyleOptions\n): StyleObject[] {\n if (style == null || typeof style !== 'object') {\n throw new Error(`Wrong style type: \"${typeof style}\": ${style}`)\n }\n\n // why is this diff from react-native-web!? need to figure out\n for (const key in borderDefaults) {\n if (key in style) {\n style[borderDefaults[key]] = style[borderDefaults[key]] ?? 'solid'\n }\n }\n\n let atomicStyles: { [key: string]: StyleObject & { transformProperty?: string } } = {}\n\n if (options.splitTransforms && style.transform) {\n let { transform, ...rest } = style\n Object.assign(atomicStyles, generateAtomicStyles(rest))\n for (const t of transform) {\n const tKey = Object.keys(t)[0]\n const transformProperty = invertMapTransformKeys[tKey] || tKey\n const out = generateAtomicStyles({ transform: [t] })\n const key = Object.keys(out)[0]\n atomicStyles[key] = {\n ...out[key],\n transformProperty,\n }\n }\n } else {\n // TODO we can do this all in one loop likely inside getSplitStyles in existing loop and avoid O(n^3)...\n atomicStyles = generateAtomicStyles(style)\n }\n\n if (!reversedShorthands) {\n reversedShorthands = {}\n const conf = getConfig()\n if (conf.shorthands) {\n for (const key in conf.shorthands) {\n reversedShorthands[conf.shorthands[key]] = key\n }\n }\n }\n\n // TODO ... and then also avoid this loop! n^4\n return Object.keys(atomicStyles).map((key) => {\n const val = atomicStyles[key]\n // r-transform-1ns13n\n const [_, a, b] = val.identifier.split('-')\n // dev mode its \"r-transform-1ns13n\", prod its \"r-1ns13n\", normalize them\n const hash = b || a\n // pseudos have a `--` to be easier to find with concatClassNames\n const psuedoPrefix = pseudo ? `0${pseudo.name}-` : ''\n const shortProp = reversedShorthands![val.property] || val.property\n const identifier = `_${shortProp}-${psuedoPrefix}${hash}`\n const className = `.${identifier}`\n const rules = val.rules.map((rule) => {\n if (pseudo) {\n const psuedoPrefixSelect = [...Array(pseudo.priority)].map(() => ':root').join('') + ' '\n let res = rule\n .replace(`.${val.identifier}`, `${psuedoPrefixSelect} ${className}`)\n .replace('{', `:${pseudo.name}{`)\n\n if (pseudo.name === 'hover') {\n // hover styles need to be conditional\n // perhaps this can be generalized but for now lets just shortcut\n // and hardcode for hover styles, if we need to later we can\n // WEIRD SYNTAX, SEE:\n // https://stackoverflow.com/questions/40532204/media-query-for-devices-supporting-hover\n res = `@media not all and (hover: none) { ${res} }`\n }\n return res\n }\n return rule.replace(`.${val.identifier}`, className).replace(importantRegex, '')\n })\n\n const result: StyleObject = {\n property: val.transformProperty || val.property,\n value: val.value,\n identifier,\n className,\n rules,\n }\n\n return result\n })\n}\n\nconst importantRegex = /\\!important*/g\n\nconst borderDefaults = {\n borderWidth: 'borderStyle',\n borderBottomWidth: 'borderBottomStyle',\n borderTopWidth: 'borderTopStyle',\n borderLeftWidth: 'borderLeftStyle',\n borderRightWidth: 'borderRightStyle',\n}\n\n// *0 order matches to *1\nexport const pseudos = {\n hoverStyle: {\n name: 'hover',\n priority: 1,\n },\n pressStyle: {\n name: 'active',\n priority: 2,\n },\n focusStyle: {\n name: 'focus',\n priority: 3,\n },\n}\n\nconst pseudosOrdered = Object.values(pseudos)\n"],
5
- "mappings": "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",
6
- "names": []
4
+ "sourcesContent": ["/**\n * Some parts adapted from react-native-web\n * Copyright (c) Nicolas Gallagher licensed under the MIT license.\n */\n\nimport { StyleObject, simpleHash } from '@tamagui/helpers'\nimport hyphenateStyleName from 'hyphenate-style-name'\nimport type { TextStyle, ViewStyle } from 'react-native'\n\nimport { getConfig } from '../config'\nimport { TamaguiInternalConfig } from '../types'\nimport { defaultOffset } from './expandStyles'\nimport { normalizeValueWithProperty } from './normalizeValueWithProperty.js'\nimport { PseudoDescriptor, pseudoDescriptors } from './pseudoDescriptors'\n\n// refactor this file away next...\n\ntype ViewOrTextStyle = ViewStyle | TextStyle\n\nexport type ViewStyleWithPseudos = ViewOrTextStyle & {\n hoverStyle?: ViewOrTextStyle\n pressStyle?: ViewOrTextStyle\n focusStyle?: ViewOrTextStyle\n}\n\nconst pseudosOrdered = Object.values(pseudoDescriptors)\n\nexport function getStylesAtomic(stylesIn: ViewStyleWithPseudos) {\n // performance optimization\n if (!stylesIn.hoverStyle && !stylesIn.pressStyle && !stylesIn.focusStyle) {\n return getAtomicStyle(stylesIn)\n }\n\n // only for pseudos\n const { hoverStyle, pressStyle, focusStyle, ...base } = stylesIn\n let res: StyleObject[] = []\n // *1 order matched to *0\n for (const [index, style] of [hoverStyle, pressStyle, focusStyle, base].entries()) {\n if (!style) continue\n const pseudo = pseudosOrdered[index]\n res = [...res, ...getAtomicStyle(style, pseudo)]\n }\n return res\n}\n\nexport function getAtomicStyle(style: ViewOrTextStyle, pseudo?: PseudoDescriptor): StyleObject[] {\n if (process.env.NODE_ENV === 'development') {\n if (!style || typeof style !== 'object') {\n throw new Error(`Wrong style type: \"${typeof style}\": ${style}`)\n }\n } else {\n if (!style) {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn(`Invalid style`)\n }\n return []\n }\n }\n\n return generateAtomicStyles(style, pseudo)\n}\n\nlet conf: TamaguiInternalConfig\n\nconst generateAtomicStyles = (\n styleIn: ViewStyle & TextStyle,\n pseudo?: PseudoDescriptor\n): StyleObject[] => {\n conf = conf || getConfig()\n\n // were converting to css styles\n const style = styleIn as Record<string, string | null | undefined>\n\n // transform\n if (style.transform) {\n if (Array.isArray(style.transform)) {\n style.transform = style.transform.map(mapTransform).join(' ')\n }\n }\n\n styleToCSS(style)\n\n const out: StyleObject[] = []\n for (const key in style) {\n const value = style[key]\n if (value != null && value != undefined) {\n const uid = key + (pseudo?.name || '')\n const cachedResult = cache.get(uid, value)\n if (cachedResult != undefined) {\n out.push(cachedResult)\n } else {\n const hash = presetHashes[value]\n ? value\n : typeof value === 'string'\n ? simpleHash(value)\n : `${value}`.replace('.', 'dot')\n\n const pseudoPrefix = pseudo ? `0${pseudo.name}-` : ''\n const shortProp = conf.inverseShorthands[key] || key\n const identifier = `_${shortProp}-${pseudoPrefix}${hash}`\n const rules = createAtomicRules(identifier, key, value, pseudo)\n const styleObject: StyleObject = {\n property: key,\n pseudo: pseudo?.name,\n value,\n identifier,\n rules,\n }\n\n cache.set(uid, value, styleObject)\n out.push(styleObject)\n }\n }\n }\n return out\n}\n\nconst presetHashes = {\n none: true,\n}\n\nconst n = (val: any) => normalizeValueWithProperty(val)\n\nexport function styleToCSS(style: Record<string, any>) {\n // box-shadow\n const { shadowOffset, shadowRadius, shadowColor } = style\n if (style.shadowRadius !== undefined) {\n const offset = shadowOffset || defaultOffset\n const shadow = `${n(offset.width)} ${n(offset.height)} ${n(shadowRadius)} ${shadowColor}`\n style.boxShadow = style.boxShadow ? `${style.boxShadow}, ${shadow}` : shadow\n delete style.shadowOffset\n delete style.shadowRadius\n delete style.shadowColor\n }\n\n // text-shadow\n const { textShadowColor, textShadowOffset, textShadowRadius } = style\n if (textShadowColor || textShadowOffset || textShadowRadius) {\n const { height, width } = textShadowOffset || defaultOffset\n const radius = textShadowRadius || 0\n const color = normalizeValueWithProperty(textShadowColor, 'textShadowColor')\n if (color && (height !== 0 || width !== 0 || radius !== 0)) {\n const blurRadius = normalizeValueWithProperty(radius)\n const offsetX = normalizeValueWithProperty(width)\n const offsetY = normalizeValueWithProperty(height)\n style.textShadow = `${offsetX} ${offsetY} ${blurRadius} ${color}`\n }\n delete style.textShadowColor\n delete style.textShadowOffset\n delete style.textShadowRadius\n }\n}\n\n// { scale: 2 } => 'scale(2)'\n// { translateX: 20 } => 'translateX(20px)'\n// { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'\nconst mapTransform = (transform) => {\n const type = Object.keys(transform)[0]\n const value = transform[type]\n if (type === 'matrix' || type === 'matrix3d') {\n return `${type}(${value.join(',')})`\n } else {\n const normalizedValue = normalizeValueWithProperty(value, type)\n return `${type}(${normalizedValue})`\n }\n}\n\n// cache\ntype Value = Object | Array<any> | string | number\nexport type Style = { [key: string]: Value }\nclass Cache {\n values: Record<string, any> = {}\n\n get(key: string, valStr: string) {\n return this.values[key]?.[valStr]\n }\n\n set(key: string, valStr: string, object: any) {\n this.values[key] ??= {}\n this.values[key][valStr] = object\n }\n}\nconst cache = new Cache()\n\nfunction createDeclarationBlock(style: Style, important = false) {\n let declarations = ''\n for (const key in style) {\n const prop = hyphenateStyleName(key)\n const value = style[key]\n declarations += `${prop}:${value}${important ? ` !important` : ''};`\n }\n return `{${declarations}}`\n}\n\nconst pseudoSelectorPrefixes = (() => {\n const res: Record<string, string> = {}\n for (const key in pseudoDescriptors) {\n const pseudo = pseudoDescriptors[key]\n res[pseudo.name] = [...Array(pseudo.priority)].map(() => ':root').join('') + ' '\n }\n return res\n})()\n\nfunction createAtomicRules(\n identifier: string,\n property: string,\n value: any,\n pseudo?: PseudoDescriptor\n): string[] {\n const selector = pseudo\n ? `${pseudoSelectorPrefixes[pseudo.name]} .${identifier}:${pseudo.name}`\n : `.${identifier}`\n const important = !!pseudo\n\n let rules: string[] = []\n\n // Handle non-standard properties and object values that require multiple\n // CSS rules to be created.\n switch (property) {\n // Equivalent to using '::placeholder'\n case 'placeholderTextColor': {\n const block = createDeclarationBlock({ color: value, opacity: 1 }, important)\n rules.push(`${selector}::placeholder${block}`)\n break\n }\n\n // all webkit prefixed rules\n case 'backgroundClip':\n case 'userSelect': {\n const propertyCapitalized = `${property[0].toUpperCase()}${property.slice(1)}`\n const webkitProperty = `Webkit${propertyCapitalized}`\n const block = createDeclarationBlock(\n { [property]: value, [webkitProperty]: value },\n important\n )\n rules.push(`${selector}${block}`)\n break\n }\n\n // Polyfill for additional 'pointer-events' values\n // See d13f78622b233a0afc0c7a200c0a0792c8ca9e58\n case 'pointerEvents': {\n let finalValue = value\n if (value === 'auto' || value === 'box-only') {\n finalValue = 'auto'\n if (value === 'box-only') {\n rules.push(`${selector}>*${boxOnly}`)\n }\n } else if (value === 'none' || value === 'box-none') {\n finalValue = 'none'\n if (value === 'box-none') {\n rules.push(`${selector}>*${boxNone}`)\n }\n }\n const block = createDeclarationBlock({ pointerEvents: finalValue }, true)\n rules.push(`${selector}${block}`)\n break\n }\n\n // Polyfill for draft spec\n // https://drafts.csswg.org/css-scrollbars-1/\n case 'scrollbarWidth': {\n if (value === 'none') {\n rules.push(`${selector}::-webkit-scrollbar{display:none}`)\n }\n const block = createDeclarationBlock({ scrollbarWidth: value }, important)\n rules.push(`${selector}${block}`)\n break\n }\n\n default: {\n const block = createDeclarationBlock({ [property]: value }, important)\n rules.push(`${selector}${block}`)\n break\n }\n }\n\n // hover styles need to be conditional\n // perhaps this can be generalized but for now lets just shortcut\n // and hardcode for hover styles, if we need to later we can\n // WEIRD SYNTAX, SEE:\n // https://stackoverflow.com/questions/40532204/media-query-for-devices-supporting-hover\n if (pseudo && pseudo.name === 'hover') {\n rules = rules.map((r) => `@media not all and (hover: none) { ${r} }`)\n }\n\n return rules\n}\n\nconst boxNone = createDeclarationBlock({ pointerEvents: 'auto' }, true)\nconst boxOnly = createDeclarationBlock({ pointerEvents: 'none' }, true)\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,qBAAwC;AACxC,kCAA+B;AAG/B,oBAA0B;AAE1B,0BAA8B;AAC9B,wCAA2C;AAC3C,+BAAoD;AAYpD,MAAM,iBAAiB,OAAO,OAAO,0CAAiB;AAE/C,SAAS,gBAAgB,UAAgC;AAE9D,MAAI,CAAC,SAAS,cAAc,CAAC,SAAS,cAAc,CAAC,SAAS,YAAY;AACxE,WAAO,eAAe,QAAQ;AAAA,EAChC;AAGA,QAAM,EAAE,YAAY,YAAY,eAAe,KAAK,IAAI;AACxD,MAAI,MAAqB,CAAC;AAE1B,aAAW,CAAC,OAAO,KAAK,KAAK,CAAC,YAAY,YAAY,YAAY,IAAI,EAAE,QAAQ,GAAG;AACjF,QAAI,CAAC;AAAO;AACZ,UAAM,SAAS,eAAe;AAC9B,UAAM,CAAC,GAAG,KAAK,GAAG,eAAe,OAAO,MAAM,CAAC;AAAA,EACjD;AACA,SAAO;AACT;AAEO,SAAS,eAAe,OAAwB,QAA0C;AAC/F,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,CAAC,SAAS,OAAO,UAAU,UAAU;AACvC,YAAM,IAAI,MAAM,sBAAsB,OAAO,WAAW,OAAO;AAAA,IACjE;AAAA,EACF,OAAO;AACL,QAAI,CAAC,OAAO;AACV,UAAI,QAAQ,IAAI,aAAa,eAAe;AAE1C,gBAAQ,KAAK,eAAe;AAAA,MAC9B;AACA,aAAO,CAAC;AAAA,IACV;AAAA,EACF;AAEA,SAAO,qBAAqB,OAAO,MAAM;AAC3C;AAEA,IAAI;AAEJ,MAAM,uBAAuB,CAC3B,SACA,WACkB;AAClB,SAAO,YAAQ,yBAAU;AAGzB,QAAM,QAAQ;AAGd,MAAI,MAAM,WAAW;AACnB,QAAI,MAAM,QAAQ,MAAM,SAAS,GAAG;AAClC,YAAM,YAAY,MAAM,UAAU,IAAI,YAAY,EAAE,KAAK,GAAG;AAAA,IAC9D;AAAA,EACF;AAEA,aAAW,KAAK;AAEhB,QAAM,MAAqB,CAAC;AAC5B,aAAW,OAAO,OAAO;AACvB,UAAM,QAAQ,MAAM;AACpB,QAAI,SAAS,QAAQ,SAAS,QAAW;AACvC,YAAM,MAAM,QAAO,iCAAQ,SAAQ;AACnC,YAAM,eAAe,MAAM,IAAI,KAAK,KAAK;AACzC,UAAI,gBAAgB,QAAW;AAC7B,YAAI,KAAK,YAAY;AAAA,MACvB,OAAO;AACL,cAAM,OAAO,aAAa,SACtB,QACA,OAAO,UAAU,eACjB,2BAAW,KAAK,IAChB,GAAG,QAAQ,QAAQ,KAAK,KAAK;AAEjC,cAAM,eAAe,SAAS,IAAI,OAAO,UAAU;AACnD,cAAM,YAAY,KAAK,kBAAkB,QAAQ;AACjD,cAAM,aAAa,IAAI,aAAa,eAAe;AACnD,cAAM,QAAQ,kBAAkB,YAAY,KAAK,OAAO,MAAM;AAC9D,cAAM,cAA2B;AAAA,UAC/B,UAAU;AAAA,UACV,QAAQ,iCAAQ;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAEA,cAAM,IAAI,KAAK,OAAO,WAAW;AACjC,YAAI,KAAK,WAAW;AAAA,MACtB;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEA,MAAM,eAAe;AAAA,EACnB,MAAM;AACR;AAEA,MAAM,IAAI,CAAC,YAAa,8DAA2B,GAAG;AAE/C,SAAS,WAAW,OAA4B;AAErD,QAAM,EAAE,cAAc,cAAc,YAAY,IAAI;AACpD,MAAI,MAAM,iBAAiB,QAAW;AACpC,UAAM,SAAS,gBAAgB;AAC/B,UAAM,SAAS,GAAG,EAAE,OAAO,KAAK,KAAK,EAAE,OAAO,MAAM,KAAK,EAAE,YAAY,KAAK;AAC5E,UAAM,YAAY,MAAM,YAAY,GAAG,MAAM,cAAc,WAAW;AACtE,WAAO,MAAM;AACb,WAAO,MAAM;AACb,WAAO,MAAM;AAAA,EACf;AAGA,QAAM,EAAE,iBAAiB,kBAAkB,iBAAiB,IAAI;AAChE,MAAI,mBAAmB,oBAAoB,kBAAkB;AAC3D,UAAM,EAAE,QAAQ,MAAM,IAAI,oBAAoB;AAC9C,UAAM,SAAS,oBAAoB;AACnC,UAAM,YAAQ,8DAA2B,iBAAiB,iBAAiB;AAC3E,QAAI,UAAU,WAAW,KAAK,UAAU,KAAK,WAAW,IAAI;AAC1D,YAAM,iBAAa,8DAA2B,MAAM;AACpD,YAAM,cAAU,8DAA2B,KAAK;AAChD,YAAM,cAAU,8DAA2B,MAAM;AACjD,YAAM,aAAa,GAAG,WAAW,WAAW,cAAc;AAAA,IAC5D;AACA,WAAO,MAAM;AACb,WAAO,MAAM;AACb,WAAO,MAAM;AAAA,EACf;AACF;AAKA,MAAM,eAAe,CAAC,cAAc;AAClC,QAAM,OAAO,OAAO,KAAK,SAAS,EAAE;AACpC,QAAM,QAAQ,UAAU;AACxB,MAAI,SAAS,YAAY,SAAS,YAAY;AAC5C,WAAO,GAAG,QAAQ,MAAM,KAAK,GAAG;AAAA,EAClC,OAAO;AACL,UAAM,sBAAkB,8DAA2B,OAAO,IAAI;AAC9D,WAAO,GAAG,QAAQ;AAAA,EACpB;AACF;AAKA,MAAM,MAAM;AAAA,EAAZ;AACE,kBAA8B,CAAC;AAAA;AAAA,EAE/B,IAAI,KAAa,QAAgB;AA9KnC;AA+KI,YAAO,UAAK,OAAO,SAAZ,mBAAmB;AAAA,EAC5B;AAAA,EAEA,IAAI,KAAa,QAAgB,QAAa;AAlLhD;AAmLI,eAAK,QAAL,mBAAqB,CAAC;AACtB,SAAK,OAAO,KAAK,UAAU;AAAA,EAC7B;AACF;AACA,MAAM,QAAQ,IAAI,MAAM;AAExB,SAAS,uBAAuB,OAAc,YAAY,OAAO;AAC/D,MAAI,eAAe;AACnB,aAAW,OAAO,OAAO;AACvB,UAAM,WAAO,4BAAAA,SAAmB,GAAG;AACnC,UAAM,QAAQ,MAAM;AACpB,oBAAgB,GAAG,QAAQ,QAAQ,YAAY,gBAAgB;AAAA,EACjE;AACA,SAAO,IAAI;AACb;AAEA,MAAM,0BAA0B,MAAM;AACpC,QAAM,MAA8B,CAAC;AACrC,aAAW,OAAO,4CAAmB;AACnC,UAAM,SAAS,2CAAkB;AACjC,QAAI,OAAO,QAAQ,CAAC,GAAG,MAAM,OAAO,QAAQ,CAAC,EAAE,IAAI,MAAM,OAAO,EAAE,KAAK,EAAE,IAAI;AAAA,EAC/E;AACA,SAAO;AACT,GAAG;AAEH,SAAS,kBACP,YACA,UACA,OACA,QACU;AACV,QAAM,WAAW,SACb,GAAG,uBAAuB,OAAO,UAAU,cAAc,OAAO,SAChE,IAAI;AACR,QAAM,YAAY,CAAC,CAAC;AAEpB,MAAI,QAAkB,CAAC;AAIvB,UAAQ;AAAA,SAED,wBAAwB;AAC3B,YAAM,QAAQ,uBAAuB,EAAE,OAAO,OAAO,SAAS,EAAE,GAAG,SAAS;AAC5E,YAAM,KAAK,GAAG,wBAAwB,OAAO;AAC7C;AAAA,IACF;AAAA,SAGK;AAAA,SACA,cAAc;AACjB,YAAM,sBAAsB,GAAG,SAAS,GAAG,YAAY,IAAI,SAAS,MAAM,CAAC;AAC3E,YAAM,iBAAiB,SAAS;AAChC,YAAM,QAAQ;AAAA,QACZ,EAAE,CAAC,WAAW,OAAO,CAAC,iBAAiB,MAAM;AAAA,QAC7C;AAAA,MACF;AACA,YAAM,KAAK,GAAG,WAAW,OAAO;AAChC;AAAA,IACF;AAAA,SAIK,iBAAiB;AACpB,UAAI,aAAa;AACjB,UAAI,UAAU,UAAU,UAAU,YAAY;AAC5C,qBAAa;AACb,YAAI,UAAU,YAAY;AACxB,gBAAM,KAAK,GAAG,aAAa,SAAS;AAAA,QACtC;AAAA,MACF,WAAW,UAAU,UAAU,UAAU,YAAY;AACnD,qBAAa;AACb,YAAI,UAAU,YAAY;AACxB,gBAAM,KAAK,GAAG,aAAa,SAAS;AAAA,QACtC;AAAA,MACF;AACA,YAAM,QAAQ,uBAAuB,EAAE,eAAe,WAAW,GAAG,IAAI;AACxE,YAAM,KAAK,GAAG,WAAW,OAAO;AAChC;AAAA,IACF;AAAA,SAIK,kBAAkB;AACrB,UAAI,UAAU,QAAQ;AACpB,cAAM,KAAK,GAAG,2CAA2C;AAAA,MAC3D;AACA,YAAM,QAAQ,uBAAuB,EAAE,gBAAgB,MAAM,GAAG,SAAS;AACzE,YAAM,KAAK,GAAG,WAAW,OAAO;AAChC;AAAA,IACF;AAAA,aAES;AACP,YAAM,QAAQ,uBAAuB,EAAE,CAAC,WAAW,MAAM,GAAG,SAAS;AACrE,YAAM,KAAK,GAAG,WAAW,OAAO;AAChC;AAAA,IACF;AAAA;AAQF,MAAI,UAAU,OAAO,SAAS,SAAS;AACrC,YAAQ,MAAM,IAAI,CAAC,MAAM,sCAAsC,KAAK;AAAA,EACtE;AAEA,SAAO;AACT;AAEA,MAAM,UAAU,uBAAuB,EAAE,eAAe,OAAO,GAAG,IAAI;AACtE,MAAM,UAAU,uBAAuB,EAAE,eAAe,OAAO,GAAG,IAAI;",
6
+ "names": ["hyphenateStyleName"]
7
7
  }
@@ -1,8 +1,8 @@
1
+ "use strict";
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
6
  var __export = (target, all) => {
7
7
  for (var name in all)
8
8
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -24,7 +24,6 @@ module.exports = __toCommonJS(getStylesAtomic_native_exports);
24
24
  function getStylesAtomic() {
25
25
  console.warn("no-op native");
26
26
  }
27
- __name(getStylesAtomic, "getStylesAtomic");
28
27
  // Annotate the CommonJS export names for ESM import in node:
29
28
  0 && (module.exports = {
30
29
  getStylesAtomic
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/getStylesAtomic.native.ts"],
4
4
  "sourcesContent": ["export function getStylesAtomic() {\n console.warn('no-op native')\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,2BAA2B;AAChC,UAAQ,KAAK,cAAc;AAC7B;AAFgB;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,kBAAkB;AAChC,UAAQ,KAAK,cAAc;AAC7B;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
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 getThemeCSSRules_exports = {};
20
+ __export(getThemeCSSRules_exports, {
21
+ getThemeCSSRules: () => getThemeCSSRules
22
+ });
23
+ module.exports = __toCommonJS(getThemeCSSRules_exports);
24
+ var import_constants = require("../constants/constants");
25
+ var import_createVariable = require("../createVariable");
26
+ var import_registerCSSVariable = require("./registerCSSVariable");
27
+ function getThemeCSSRules({
28
+ config,
29
+ themeName,
30
+ theme,
31
+ names
32
+ }) {
33
+ const cssRuleSets = [];
34
+ const hasDarkLight = "light" in config.themes && "dark" in config.themes;
35
+ const CNP = `.${import_constants.THEME_CLASSNAME_PREFIX}`;
36
+ let vars = "";
37
+ for (const themeKey in theme) {
38
+ const variable = theme[themeKey];
39
+ let value = null;
40
+ if (variable.isFloating || !import_registerCSSVariable.tokensValueToVariable.has(variable.val)) {
41
+ value = variable.val;
42
+ } else {
43
+ value = import_registerCSSVariable.tokensValueToVariable.get(variable.val).variable;
44
+ }
45
+ vars += `--${themeKey}:${value};`;
46
+ }
47
+ const isDarkOrLightBase = themeName === "dark" || themeName === "light";
48
+ const selectors = names.map((name) => {
49
+ return `${CNP}${name}`;
50
+ });
51
+ if (hasDarkLight) {
52
+ for (const subName of names) {
53
+ const isDark = isDarkOrLightBase || subName.startsWith("dark_");
54
+ const max = config.maxDarkLightNesting ?? 3;
55
+ if (!isDark && !subName.startsWith("light_")) {
56
+ selectors.push(`:root:root ${CNP}${subName}`);
57
+ continue;
58
+ }
59
+ const childSelector = `${CNP}${subName.replace(isDark ? "dark_" : "light_", "")}`;
60
+ const order = isDark ? ["dark", "light"] : ["light", "dark"];
61
+ if (isDarkOrLightBase) {
62
+ order.reverse();
63
+ }
64
+ const [stronger, weaker] = order;
65
+ const numSelectors = Math.round(max * 1.5);
66
+ for (let pi = 0; pi < numSelectors; pi++) {
67
+ const isOdd = pi % 2 === 1;
68
+ if (isOdd && pi < 3)
69
+ continue;
70
+ const parents = new Array(pi + 1).fill(void 0).map((_, psi) => {
71
+ return `${CNP}${psi % 2 === 0 ? stronger : weaker}`;
72
+ });
73
+ let parentSelectors = parents.length > 1 ? parents.slice(1) : parents;
74
+ if (isOdd) {
75
+ const [_first, second, ...rest] = parentSelectors;
76
+ parentSelectors = [second, ...rest, second];
77
+ }
78
+ const lastParentSelector = parentSelectors[parentSelectors.length - 1];
79
+ selectors.push(
80
+ `${parentSelectors.join(" ")} ${childSelector === lastParentSelector ? "" : childSelector}`
81
+ );
82
+ }
83
+ }
84
+ }
85
+ const rootSep = config.themeClassNameOnRoot ? "" : " ";
86
+ const css = `${selectors.map((x) => `:root${rootSep}${x}`).join(", ")} {${vars}}`;
87
+ cssRuleSets.push(css);
88
+ if (config.shouldAddPrefersColorThemes && isDarkOrLightBase) {
89
+ const isDark = themeName.startsWith("dark");
90
+ cssRuleSets.push(
91
+ `@media(prefers-color-scheme: ${isDark ? "dark" : "light"}) {
92
+ body { background:${(0, import_createVariable.variableToString)(theme.background)}; color: ${(0, import_createVariable.variableToString)(theme.color)} }
93
+ :root {${vars} }
94
+ }`
95
+ );
96
+ }
97
+ return cssRuleSets;
98
+ }
99
+ // Annotate the CommonJS export names for ESM import in node:
100
+ 0 && (module.exports = {
101
+ getThemeCSSRules
102
+ });
103
+ //# sourceMappingURL=getThemeCSSRules.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/getThemeCSSRules.ts"],
4
+ "sourcesContent": ["import { THEME_CLASSNAME_PREFIX } from '../constants/constants'\nimport { Variable, variableToString } from '../createVariable'\nimport { CreateTamaguiProps, ThemeParsed } from '../types'\nimport { tokensValueToVariable } from './registerCSSVariable'\n\nexport function getThemeCSSRules({\n config,\n themeName,\n theme,\n names,\n}: {\n config: CreateTamaguiProps\n themeName: string\n theme: ThemeParsed\n names: string[]\n}) {\n const cssRuleSets: string[] = []\n\n // special case for SSR\n const hasDarkLight = 'light' in config.themes && 'dark' in config.themes\n const CNP = `.${THEME_CLASSNAME_PREFIX}`\n let vars = ''\n\n // themeToVariableToValueMap.set(theme, {})\n // const varToValMap = themeToVariableToValueMap.get(theme)\n for (const themeKey in theme) {\n const variable = theme[themeKey] as Variable\n let value: any = null\n // if (varToValMap) {\n // varToValMap[variable.variable] = variable.val\n // }\n if (variable.isFloating || !tokensValueToVariable.has(variable.val)) {\n value = variable.val\n } else {\n value = tokensValueToVariable.get(variable.val)!.variable\n }\n vars += `--${themeKey}:${value};`\n }\n\n const isDarkOrLightBase = themeName === 'dark' || themeName === 'light'\n const selectors = names.map((name) => {\n return `${CNP}${name}`\n })\n\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 (hasDarkLight) {\n for (const subName of names) {\n const isDark = isDarkOrLightBase || subName.startsWith('dark_')\n const max = config.maxDarkLightNesting ?? 3\n\n if (!isDark && !subName.startsWith('light_')) {\n // neither light nor dark subtheme, just generate one selector with :root:root which\n // will override all :root light/dark selectors generated below\n selectors.push(`:root:root ${CNP}${subName}`)\n continue\n }\n\n const childSelector = `${CNP}${subName.replace(isDark ? 'dark_' : 'light_', '')}`\n const order = isDark ? ['dark', 'light'] : ['light', 'dark']\n if (isDarkOrLightBase) {\n order.reverse()\n }\n const [stronger, weaker] = order\n const numSelectors = Math.round(max * 1.5)\n\n for (let pi = 0; pi < numSelectors; pi++) {\n const isOdd = pi % 2 === 1\n if (isOdd && pi < 3) continue\n const parents = new Array(pi + 1).fill(undefined).map((_, psi) => {\n return `${CNP}${psi % 2 === 0 ? stronger : weaker}`\n })\n let parentSelectors = parents.length > 1 ? parents.slice(1) : parents\n if (isOdd) {\n const [_first, second, ...rest] = parentSelectors\n parentSelectors = [second, ...rest, second]\n }\n // avoid .t_light .t_light at the end (make sure child is unique from last parent)\n const lastParentSelector = parentSelectors[parentSelectors.length - 1]\n selectors.push(\n `${parentSelectors.join(' ')} ${\n childSelector === lastParentSelector ? '' : childSelector\n }`\n )\n }\n }\n }\n\n const rootSep = config.themeClassNameOnRoot ? '' : ' '\n const css = `${selectors.map((x) => `:root${rootSep}${x}`).join(', ')} {${vars}}`\n cssRuleSets.push(css)\n\n if (config.shouldAddPrefersColorThemes && isDarkOrLightBase) {\n // add media prefers for dark/light base\n const isDark = themeName.startsWith('dark')\n cssRuleSets.push(\n `@media(prefers-color-scheme: ${isDark ? 'dark' : 'light'}) {\nbody { background:${variableToString(theme.background)}; color: ${variableToString(theme.color)} }\n:root {${vars} } \n}`\n )\n }\n\n return cssRuleSets\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAuC;AACvC,4BAA2C;AAE3C,iCAAsC;AAE/B,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AACD,QAAM,cAAwB,CAAC;AAG/B,QAAM,eAAe,WAAW,OAAO,UAAU,UAAU,OAAO;AAClE,QAAM,MAAM,IAAI;AAChB,MAAI,OAAO;AAIX,aAAW,YAAY,OAAO;AAC5B,UAAM,WAAW,MAAM;AACvB,QAAI,QAAa;AAIjB,QAAI,SAAS,cAAc,CAAC,iDAAsB,IAAI,SAAS,GAAG,GAAG;AACnE,cAAQ,SAAS;AAAA,IACnB,OAAO;AACL,cAAQ,iDAAsB,IAAI,SAAS,GAAG,EAAG;AAAA,IACnD;AACA,YAAQ,KAAK,YAAY;AAAA,EAC3B;AAEA,QAAM,oBAAoB,cAAc,UAAU,cAAc;AAChE,QAAM,YAAY,MAAM,IAAI,CAAC,SAAS;AACpC,WAAO,GAAG,MAAM;AAAA,EAClB,CAAC;AAID,MAAI,cAAc;AAChB,eAAW,WAAW,OAAO;AAC3B,YAAM,SAAS,qBAAqB,QAAQ,WAAW,OAAO;AAC9D,YAAM,MAAM,OAAO,uBAAuB;AAE1C,UAAI,CAAC,UAAU,CAAC,QAAQ,WAAW,QAAQ,GAAG;AAG5C,kBAAU,KAAK,cAAc,MAAM,SAAS;AAC5C;AAAA,MACF;AAEA,YAAM,gBAAgB,GAAG,MAAM,QAAQ,QAAQ,SAAS,UAAU,UAAU,EAAE;AAC9E,YAAM,QAAQ,SAAS,CAAC,QAAQ,OAAO,IAAI,CAAC,SAAS,MAAM;AAC3D,UAAI,mBAAmB;AACrB,cAAM,QAAQ;AAAA,MAChB;AACA,YAAM,CAAC,UAAU,MAAM,IAAI;AAC3B,YAAM,eAAe,KAAK,MAAM,MAAM,GAAG;AAEzC,eAAS,KAAK,GAAG,KAAK,cAAc,MAAM;AACxC,cAAM,QAAQ,KAAK,MAAM;AACzB,YAAI,SAAS,KAAK;AAAG;AACrB,cAAM,UAAU,IAAI,MAAM,KAAK,CAAC,EAAE,KAAK,MAAS,EAAE,IAAI,CAAC,GAAG,QAAQ;AAChE,iBAAO,GAAG,MAAM,MAAM,MAAM,IAAI,WAAW;AAAA,QAC7C,CAAC;AACD,YAAI,kBAAkB,QAAQ,SAAS,IAAI,QAAQ,MAAM,CAAC,IAAI;AAC9D,YAAI,OAAO;AACT,gBAAM,CAAC,QAAQ,WAAW,IAAI,IAAI;AAClC,4BAAkB,CAAC,QAAQ,GAAG,MAAM,MAAM;AAAA,QAC5C;AAEA,cAAM,qBAAqB,gBAAgB,gBAAgB,SAAS;AACpE,kBAAU;AAAA,UACR,GAAG,gBAAgB,KAAK,GAAG,KACzB,kBAAkB,qBAAqB,KAAK;AAAA,QAEhD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,UAAU,OAAO,uBAAuB,KAAK;AACnD,QAAM,MAAM,GAAG,UAAU,IAAI,CAAC,MAAM,QAAQ,UAAU,GAAG,EAAE,KAAK,IAAI,MAAM;AAC1E,cAAY,KAAK,GAAG;AAEpB,MAAI,OAAO,+BAA+B,mBAAmB;AAE3D,UAAM,SAAS,UAAU,WAAW,MAAM;AAC1C,gBAAY;AAAA,MACV,gCAAgC,SAAS,SAAS;AAAA,wBACpC,wCAAiB,MAAM,UAAU,iBAAa,wCAAiB,MAAM,KAAK;AAAA,SACrF;AAAA;AAAA,IAEL;AAAA,EACF;AAEA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -1,7 +1,12 @@
1
+ "use strict";
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
5
10
  var __copyProps = (to, from, except, desc) => {
6
11
  if (from && typeof from === "object" || typeof from === "function") {
7
12
  for (let key of __getOwnPropNames(from))
@@ -10,9 +15,17 @@ var __copyProps = (to, from, except, desc) => {
10
15
  }
11
16
  return to;
12
17
  };
13
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
- var nativeGestureHandler_native_exports = {};
16
- module.exports = __toCommonJS(nativeGestureHandler_native_exports);
17
- __reExport(nativeGestureHandler_native_exports, require("react-native-gesture-handler"), module.exports);
18
- //# sourceMappingURL=nativeGestureHandler.native.js.map
19
+ var getThemeCSSRules_native_exports = {};
20
+ __export(getThemeCSSRules_native_exports, {
21
+ getThemeCSSRules: () => getThemeCSSRules
22
+ });
23
+ module.exports = __toCommonJS(getThemeCSSRules_native_exports);
24
+ function getThemeCSSRules() {
25
+ return [];
26
+ }
27
+ // Annotate the CommonJS export names for ESM import in node:
28
+ 0 && (module.exports = {
29
+ getThemeCSSRules
30
+ });
31
+ //# sourceMappingURL=getThemeCSSRules.native.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/getThemeCSSRules.native.ts"],
4
+ "sourcesContent": ["export function getThemeCSSRules() {\n return []\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,mBAAmB;AACjC,SAAO,CAAC;AACV;",
6
+ "names": []
7
+ }
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
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 getVariantExtras_exports = {};
20
+ __export(getVariantExtras_exports, {
21
+ getFontsForLanguage: () => getFontsForLanguage,
22
+ getVariantExtras: () => getVariantExtras
23
+ });
24
+ module.exports = __toCommonJS(getVariantExtras_exports);
25
+ var import_config = require("../config");
26
+ const extrasCache = /* @__PURE__ */ new WeakMap();
27
+ function getVariantExtras(props, languageContext, theme, defaultProps, avoidDefaultProps = false) {
28
+ const conf = (0, import_config.getConfig)();
29
+ if (extrasCache.has(props)) {
30
+ return extrasCache.get(props);
31
+ }
32
+ let fonts = conf.fontsParsed;
33
+ if (languageContext) {
34
+ fonts = getFontsForLanguage(conf.fontsParsed, languageContext);
35
+ }
36
+ const next = {
37
+ fonts,
38
+ tokens: conf.tokensParsed,
39
+ theme,
40
+ props: avoidDefaultProps ? props : new Proxy(props, {
41
+ get(target, key) {
42
+ const shorthand = conf.inverseShorthands[key];
43
+ if (shorthand && Reflect.has(target, shorthand)) {
44
+ return Reflect.get(target, shorthand);
45
+ }
46
+ if (Reflect.has(target, key)) {
47
+ return Reflect.get(target, key);
48
+ }
49
+ if (defaultProps) {
50
+ if (shorthand && Reflect.has(defaultProps, shorthand)) {
51
+ return Reflect.get(defaultProps, shorthand);
52
+ }
53
+ if (Reflect.has(defaultProps, key)) {
54
+ return Reflect.get(defaultProps, key);
55
+ }
56
+ }
57
+ }
58
+ })
59
+ };
60
+ extrasCache.set(props, next);
61
+ return next;
62
+ }
63
+ const fontLanguageCache = /* @__PURE__ */ new WeakMap();
64
+ function getFontsForLanguage(fonts, language) {
65
+ if (fontLanguageCache.has(language)) {
66
+ return fontLanguageCache.get(language);
67
+ }
68
+ const next = {
69
+ ...fonts,
70
+ ...Object.fromEntries(
71
+ Object.entries(language).map(([name, lang]) => {
72
+ if (lang === "default") {
73
+ return [];
74
+ }
75
+ const langKey = `$${name}_${lang}`;
76
+ return [`$${name}`, fonts[langKey]];
77
+ })
78
+ )
79
+ };
80
+ fontLanguageCache.set(language, next);
81
+ return next;
82
+ }
83
+ // Annotate the CommonJS export names for ESM import in node:
84
+ 0 && (module.exports = {
85
+ getFontsForLanguage,
86
+ getVariantExtras
87
+ });
88
+ //# sourceMappingURL=getVariantExtras.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/getVariantExtras.tsx"],
4
+ "sourcesContent": ["import { getConfig } from '../config'\nimport { GenericFonts } from '../types'\nimport { LanguageContextType } from '../views/FontLanguage.types'\n\nconst extrasCache = new WeakMap()\n\nexport function getVariantExtras(\n props: any,\n languageContext?: LanguageContextType,\n theme?: any,\n defaultProps?: any,\n avoidDefaultProps = false\n) {\n const conf = getConfig()\n\n if (extrasCache.has(props)) {\n return extrasCache.get(props)\n }\n\n let fonts = conf.fontsParsed\n if (languageContext) {\n fonts = getFontsForLanguage(conf.fontsParsed, languageContext)\n }\n\n const next = {\n fonts,\n tokens: conf.tokensParsed,\n theme,\n // TODO do this in splitstlye\n // we avoid passing in default props for media queries because that would confuse things like SizableText.size:\n props: avoidDefaultProps\n ? props\n : new Proxy(props, {\n // handles shorthands\n get(target, key) {\n const shorthand = conf.inverseShorthands[key as any]\n // shorthands before longhand because a styled() with longhand combined with inline shorthand\n // shorthand will always be the overriding key\n if (shorthand && Reflect.has(target, shorthand)) {\n return Reflect.get(target, shorthand)\n }\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key)\n }\n // these props may be extracted into classNames, but we still want to access them\n // at runtime, so we proxy back to defaultProps but don't pass them\n if (defaultProps) {\n if (shorthand && Reflect.has(defaultProps, shorthand)) {\n return Reflect.get(defaultProps, shorthand)\n }\n if (Reflect.has(defaultProps, key)) {\n return Reflect.get(defaultProps, key)\n }\n }\n },\n }),\n }\n\n extrasCache.set(props, next)\n\n return next\n}\n\nconst fontLanguageCache = new WeakMap()\n\nexport function getFontsForLanguage(fonts: GenericFonts, language: LanguageContextType) {\n if (fontLanguageCache.has(language)) {\n return fontLanguageCache.get(language)\n }\n const next = {\n ...fonts,\n ...Object.fromEntries(\n Object.entries(language).map(([name, lang]) => {\n if (lang === 'default') {\n return []\n }\n const langKey = `$${name}_${lang}`\n return [`$${name}`, fonts[langKey]]\n })\n ),\n }\n fontLanguageCache.set(language, next)\n return next\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA0B;AAI1B,MAAM,cAAc,oBAAI,QAAQ;AAEzB,SAAS,iBACd,OACA,iBACA,OACA,cACA,oBAAoB,OACpB;AACA,QAAM,WAAO,yBAAU;AAEvB,MAAI,YAAY,IAAI,KAAK,GAAG;AAC1B,WAAO,YAAY,IAAI,KAAK;AAAA,EAC9B;AAEA,MAAI,QAAQ,KAAK;AACjB,MAAI,iBAAiB;AACnB,YAAQ,oBAAoB,KAAK,aAAa,eAAe;AAAA,EAC/D;AAEA,QAAM,OAAO;AAAA,IACX;AAAA,IACA,QAAQ,KAAK;AAAA,IACb;AAAA,IAGA,OAAO,oBACH,QACA,IAAI,MAAM,OAAO;AAAA,MAEf,IAAI,QAAQ,KAAK;AACf,cAAM,YAAY,KAAK,kBAAkB;AAGzC,YAAI,aAAa,QAAQ,IAAI,QAAQ,SAAS,GAAG;AAC/C,iBAAO,QAAQ,IAAI,QAAQ,SAAS;AAAA,QACtC;AACA,YAAI,QAAQ,IAAI,QAAQ,GAAG,GAAG;AAC5B,iBAAO,QAAQ,IAAI,QAAQ,GAAG;AAAA,QAChC;AAGA,YAAI,cAAc;AAChB,cAAI,aAAa,QAAQ,IAAI,cAAc,SAAS,GAAG;AACrD,mBAAO,QAAQ,IAAI,cAAc,SAAS;AAAA,UAC5C;AACA,cAAI,QAAQ,IAAI,cAAc,GAAG,GAAG;AAClC,mBAAO,QAAQ,IAAI,cAAc,GAAG;AAAA,UACtC;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACP;AAEA,cAAY,IAAI,OAAO,IAAI;AAE3B,SAAO;AACT;AAEA,MAAM,oBAAoB,oBAAI,QAAQ;AAE/B,SAAS,oBAAoB,OAAqB,UAA+B;AACtF,MAAI,kBAAkB,IAAI,QAAQ,GAAG;AACnC,WAAO,kBAAkB,IAAI,QAAQ;AAAA,EACvC;AACA,QAAM,OAAO;AAAA,IACX,GAAG;AAAA,IACH,GAAG,OAAO;AAAA,MACR,OAAO,QAAQ,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM;AAC7C,YAAI,SAAS,WAAW;AACtB,iBAAO,CAAC;AAAA,QACV;AACA,cAAM,UAAU,IAAI,QAAQ;AAC5B,eAAO,CAAC,IAAI,QAAQ,MAAM,QAAQ;AAAA,MACpC,CAAC;AAAA,IACH;AAAA,EACF;AACA,oBAAkB,IAAI,UAAU,IAAI;AACpC,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -1,8 +1,8 @@
1
+ "use strict";
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
6
  var __export = (target, all) => {
7
7
  for (var name in all)
8
8
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -18,106 +18,141 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var insertStyleRule_exports = {};
20
20
  __export(insertStyleRule_exports, {
21
+ getAllRules: () => getAllRules,
21
22
  getAllSelectors: () => getAllSelectors,
22
23
  getAllTransforms: () => getAllTransforms,
23
- getInsertedRules: () => getInsertedRules,
24
- insertStyleRule: () => insertStyleRule,
24
+ insertStyleRules: () => insertStyleRules,
25
25
  insertedTransforms: () => insertedTransforms,
26
+ shouldInsertStyleRules: () => shouldInsertStyleRules,
26
27
  updateInserted: () => updateInserted,
27
- updateInsertedCache: () => updateInsertedCache
28
+ updateRules: () => updateRules
28
29
  });
29
30
  module.exports = __toCommonJS(insertStyleRule_exports);
30
31
  const allSelectors = {};
31
- const insertedSelectors = {};
32
+ const allRules = {};
32
33
  const insertedTransforms = {};
33
- const getAllSelectors = /* @__PURE__ */ __name(() => allSelectors, "getAllSelectors");
34
- const getInsertedRules = /* @__PURE__ */ __name(() => Object.values(insertedSelectors), "getInsertedRules");
35
- const getAllTransforms = /* @__PURE__ */ __name(() => insertedTransforms, "getAllTransforms");
34
+ const getAllSelectors = () => allSelectors;
35
+ const getAllRules = () => Object.values(allRules);
36
+ const getAllTransforms = () => insertedTransforms;
36
37
  function addTransform(identifier, css, rule) {
37
38
  const s = css.indexOf("transform:");
38
39
  if (s === -1) {
39
40
  if (process.env.NODE_ENV === "development") {
41
+ if (css.indexOf("{ }")) {
42
+ console.log("wah wah");
43
+ return false;
44
+ }
40
45
  console.groupCollapsed(`\u274C Invalid transform, likely used deg/% improperly ${identifier}`);
41
46
  console.log("rule:", rule);
42
47
  console.trace();
43
48
  console.groupEnd();
44
49
  } else {
45
- console.error(`Missing transform`, identifier, css, rule);
50
+ console.warn(`Missing transform`, identifier, css, rule);
46
51
  }
47
- return;
52
+ return false;
48
53
  }
49
54
  const startI = s + "transform:".length;
50
55
  const endI = css.indexOf(";");
51
56
  const value = css.slice(startI, endI);
52
- insertedTransforms[identifier] = value;
57
+ if (!insertedTransforms[identifier]) {
58
+ insertedTransforms[identifier] = value;
59
+ return true;
60
+ }
61
+ return false;
53
62
  }
54
- __name(addTransform, "addTransform");
55
63
  const isClient = typeof document !== "undefined";
56
- let hasInsertedSinceUpdate = true;
64
+ const scannedNum = /* @__PURE__ */ new WeakMap();
57
65
  function updateInserted() {
58
- if (!isClient)
66
+ if (process.env.NODE_ENV === "test")
59
67
  return;
60
- if (!hasInsertedSinceUpdate) {
61
- console.warn("hasnt inserted since");
68
+ if (!isClient)
62
69
  return;
63
- }
64
70
  const sheets = document.styleSheets;
65
71
  if (!sheets)
66
72
  return;
67
73
  for (let i = 0; i < sheets.length; i++) {
68
- const rules = sheets[i].cssRules;
69
- const firstRule = rules[0];
70
- if (!(firstRule instanceof CSSStyleRule))
74
+ const sheet2 = sheets[i];
75
+ if (!sheet2)
76
+ continue;
77
+ let rules;
78
+ try {
79
+ rules = sheet2.cssRules;
80
+ } catch {
71
81
  continue;
72
- const firstSelector = firstRule.selectorText;
73
- if (!firstSelector)
82
+ }
83
+ const len = rules.length;
84
+ const lastScanned = scannedNum.get(sheet2) ?? 0;
85
+ if (lastScanned === len) {
74
86
  continue;
75
- if (firstSelector === ":root" || firstSelector.startsWith("._")) {
76
- for (let i2 = 0; i2 < rules.length; i2++) {
77
- const rule = rules.item(i2);
78
- if (!(rule instanceof CSSStyleRule))
79
- continue;
80
- const identifier = rule.selectorText.slice(1);
81
- if (!allSelectors[identifier]) {
82
- allSelectors[identifier] = process.env.NODE_ENV === "development" ? rule.cssText : true;
83
- if (identifier.startsWith("_transform")) {
84
- addTransform(identifier, rule.cssText, rule);
85
- }
87
+ }
88
+ for (let i2 = lastScanned; i2 < len; i2++) {
89
+ const rule = rules[i2];
90
+ const response = getTamaguiSelector(rule);
91
+ if (!response) {
92
+ continue;
93
+ }
94
+ const [identifier, cssRule] = response;
95
+ if (!allSelectors[identifier]) {
96
+ const isTransform = identifier.startsWith("_transform");
97
+ const shouldInsert = isTransform ? addTransform(identifier, cssRule.cssText, cssRule) : true;
98
+ if (shouldInsert) {
99
+ allSelectors[identifier] = process.env.NODE_ENV === "development" ? cssRule.cssText : true;
86
100
  }
87
101
  }
88
102
  }
103
+ scannedNum.set(sheet2, i);
89
104
  }
90
- hasInsertedSinceUpdate = false;
91
105
  }
92
- __name(updateInserted, "updateInserted");
106
+ function getTamaguiSelector(rule) {
107
+ if (rule instanceof CSSStyleRule) {
108
+ if (rule.selectorText.startsWith("._")) {
109
+ return [rule.selectorText.slice(1), rule];
110
+ }
111
+ if (rule.selectorText.startsWith(":root") && rule.selectorText.includes("._")) {
112
+ return [getIdentifierFromTamaguiSelector(rule.selectorText), rule];
113
+ }
114
+ } else if (rule instanceof CSSMediaRule) {
115
+ if (rule.cssRules.length > 1)
116
+ return null;
117
+ return getTamaguiSelector(rule.cssRules[0]);
118
+ }
119
+ return null;
120
+ }
121
+ const getIdentifierFromTamaguiSelector = (selector) => selector.replace(/(:root)+\s+/, "").replace(/:[a-z]+$/, "").slice(1);
93
122
  updateInserted();
94
123
  const sheet = isClient ? document.head.appendChild(document.createElement("style")).sheet : null;
95
- function updateInsertedCache(identifier, rule) {
96
- if (insertedSelectors[identifier])
97
- return;
98
- insertedSelectors[identifier] = rule;
124
+ function updateRules(identifier, rules) {
125
+ if (allRules[identifier])
126
+ return false;
127
+ allRules[identifier] = rules;
99
128
  if (identifier.startsWith("_transform")) {
100
- addTransform(identifier, rule);
129
+ return addTransform(identifier, rules[0]);
101
130
  }
131
+ return true;
102
132
  }
103
- __name(updateInsertedCache, "updateInsertedCache");
104
- function insertStyleRule(identifier, rule) {
105
- if (allSelectors[identifier])
106
- return;
107
- hasInsertedSinceUpdate = true;
108
- updateInsertedCache(identifier, rule);
109
- allSelectors[identifier] = process.env.NODE_ENV === "development" ? rule : true;
110
- sheet == null ? void 0 : sheet.insertRule(rule, sheet.cssRules.length);
133
+ function insertStyleRules(rulesToInsert) {
134
+ for (const { identifier, rules } of rulesToInsert) {
135
+ if (allSelectors[identifier] || !sheet)
136
+ return;
137
+ allSelectors[identifier] = process.env.NODE_ENV === "development" ? rules : true;
138
+ updateRules(identifier, rules);
139
+ for (const rule of rules) {
140
+ sheet.insertRule(rule, sheet.cssRules.length);
141
+ }
142
+ }
143
+ }
144
+ function shouldInsertStyleRules(styleObject) {
145
+ return !allSelectors[styleObject.identifier];
111
146
  }
112
- __name(insertStyleRule, "insertStyleRule");
113
147
  // Annotate the CommonJS export names for ESM import in node:
114
148
  0 && (module.exports = {
149
+ getAllRules,
115
150
  getAllSelectors,
116
151
  getAllTransforms,
117
- getInsertedRules,
118
- insertStyleRule,
152
+ insertStyleRules,
119
153
  insertedTransforms,
154
+ shouldInsertStyleRules,
120
155
  updateInserted,
121
- updateInsertedCache
156
+ updateRules
122
157
  });
123
158
  //# sourceMappingURL=insertStyleRule.js.map