@tamagui/web 1.5.7 → 1.5.9

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 (469) hide show
  1. package/dist/cjs/Tamagui.js +3 -3
  2. package/dist/cjs/Tamagui.js.map +2 -2
  3. package/dist/cjs/addTheme.js +3 -3
  4. package/dist/cjs/addTheme.js.map +1 -1
  5. package/dist/cjs/config.js.map +1 -1
  6. package/dist/cjs/contexts/FontLanguageContext.js.map +1 -1
  7. package/dist/cjs/contexts/TextAncestorContext.js.map +2 -2
  8. package/dist/cjs/createComponent.js +17 -17
  9. package/dist/cjs/createComponent.js.map +1 -1
  10. package/dist/cjs/createFont.js.map +1 -1
  11. package/dist/cjs/createShorthands.js.map +1 -1
  12. package/dist/cjs/createTamagui.js +9 -9
  13. package/dist/cjs/createTamagui.js.map +1 -1
  14. package/dist/cjs/createTheme.js.map +1 -1
  15. package/dist/cjs/createTokens.js +1 -1
  16. package/dist/cjs/createTokens.js.map +1 -1
  17. package/dist/cjs/createVariable.js +1 -1
  18. package/dist/cjs/createVariable.js.map +1 -1
  19. package/dist/cjs/createVariables.js +1 -1
  20. package/dist/cjs/createVariables.js.map +1 -1
  21. package/dist/cjs/helpers/ThemeManager.js +6 -4
  22. package/dist/cjs/helpers/ThemeManager.js.map +2 -2
  23. package/dist/cjs/helpers/ThemeManagerContext.js.map +1 -1
  24. package/dist/cjs/helpers/createMediaStyle.js +1 -1
  25. package/dist/cjs/helpers/createMediaStyle.js.map +1 -1
  26. package/dist/cjs/helpers/createPropMapper.js +8 -8
  27. package/dist/cjs/helpers/createPropMapper.js.map +2 -2
  28. package/dist/cjs/helpers/expandStyles.js +4 -4
  29. package/dist/cjs/helpers/expandStyles.js.map +1 -1
  30. package/dist/cjs/helpers/extendStaticConfig.js +2 -2
  31. package/dist/cjs/helpers/extendStaticConfig.js.map +1 -1
  32. package/dist/cjs/helpers/getAnimationDriver.js +1 -1
  33. package/dist/cjs/helpers/getAnimationDriver.js.map +1 -1
  34. package/dist/cjs/helpers/getExpandedShorthands.js +2 -3
  35. package/dist/cjs/helpers/getExpandedShorthands.js.map +2 -2
  36. package/dist/cjs/helpers/getSplitStyles.js +9 -9
  37. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  38. package/dist/cjs/helpers/getStylesAtomic.js +3 -3
  39. package/dist/cjs/helpers/getStylesAtomic.js.map +1 -1
  40. package/dist/cjs/helpers/getThemeCSSRules.js +3 -3
  41. package/dist/cjs/helpers/getThemeCSSRules.js.map +1 -1
  42. package/dist/cjs/helpers/getVariantExtras.js +2 -2
  43. package/dist/cjs/helpers/getVariantExtras.js.map +1 -1
  44. package/dist/cjs/helpers/insertStyleRule.js.map +1 -1
  45. package/dist/cjs/helpers/isTamaguiComponent.js.map +1 -1
  46. package/dist/cjs/helpers/isTamaguiElement.js +1 -1
  47. package/dist/cjs/helpers/isTamaguiElement.js.map +1 -1
  48. package/dist/cjs/helpers/matchMedia.js.map +1 -1
  49. package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
  50. package/dist/cjs/helpers/normalizeShadow.js +1 -1
  51. package/dist/cjs/helpers/normalizeShadow.js.map +1 -1
  52. package/dist/cjs/helpers/normalizeShadow.native.js +2 -2
  53. package/dist/cjs/helpers/normalizeShadow.native.js.map +1 -1
  54. package/dist/cjs/helpers/normalizeValueWithProperty.js +3 -3
  55. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +1 -1
  56. package/dist/cjs/helpers/proxyThemeVariables.js +1 -1
  57. package/dist/cjs/helpers/proxyThemeVariables.js.map +1 -1
  58. package/dist/cjs/helpers/registerCSSVariable.js +1 -1
  59. package/dist/cjs/helpers/registerCSSVariable.js.map +1 -1
  60. package/dist/cjs/helpers/themeable.js +1 -1
  61. package/dist/cjs/helpers/themeable.js.map +1 -1
  62. package/dist/cjs/helpers/themes.js +2 -2
  63. package/dist/cjs/helpers/themes.js.map +1 -1
  64. package/dist/cjs/helpers/useShallowSetState.js.map +2 -2
  65. package/dist/cjs/hooks/useMedia.js +4 -4
  66. package/dist/cjs/hooks/useMedia.js.map +1 -1
  67. package/dist/cjs/hooks/useStyle.js +5 -5
  68. package/dist/cjs/hooks/useStyle.js.map +1 -1
  69. package/dist/cjs/hooks/useTheme.js +7 -7
  70. package/dist/cjs/hooks/useTheme.js.map +1 -1
  71. package/dist/cjs/hooks/useThemeName.js +2 -2
  72. package/dist/cjs/hooks/useThemeName.js.map +1 -1
  73. package/dist/cjs/index.js +49 -49
  74. package/dist/cjs/index.js.map +2 -2
  75. package/dist/cjs/insertFont.js +4 -4
  76. package/dist/cjs/insertFont.js.map +1 -1
  77. package/dist/cjs/setupReactNative.js.map +1 -1
  78. package/dist/cjs/styled.js +2 -2
  79. package/dist/cjs/styled.js.map +1 -1
  80. package/dist/cjs/types.js.map +1 -1
  81. package/dist/cjs/updateTheme.js +2 -2
  82. package/dist/cjs/updateTheme.js.map +1 -1
  83. package/dist/cjs/views/FontLanguage.js.map +1 -1
  84. package/dist/cjs/views/FontLanguage.native.js +1 -1
  85. package/dist/cjs/views/FontLanguage.native.js.map +2 -2
  86. package/dist/cjs/views/Stack.js +2 -2
  87. package/dist/cjs/views/Stack.js.map +1 -1
  88. package/dist/cjs/views/TamaguiProvider.js +4 -4
  89. package/dist/cjs/views/TamaguiProvider.js.map +1 -1
  90. package/dist/cjs/views/Text.js +1 -1
  91. package/dist/cjs/views/Text.js.map +1 -1
  92. package/dist/cjs/views/Theme.js +4 -4
  93. package/dist/cjs/views/Theme.js.map +1 -1
  94. package/dist/cjs/views/ThemeProvider.js +2 -2
  95. package/dist/cjs/views/ThemeProvider.js.map +1 -1
  96. package/dist/esm/Tamagui.js +7 -3
  97. package/dist/esm/Tamagui.js.map +2 -2
  98. package/dist/esm/Tamagui.mjs +7 -3
  99. package/dist/esm/Tamagui.mjs.map +2 -2
  100. package/dist/esm/addTheme.js +3 -3
  101. package/dist/esm/addTheme.js.map +1 -1
  102. package/dist/esm/addTheme.mjs +3 -3
  103. package/dist/esm/addTheme.mjs.map +1 -1
  104. package/dist/esm/config.js.map +1 -1
  105. package/dist/esm/config.mjs.map +1 -1
  106. package/dist/esm/contexts/FontLanguageContext.js.map +1 -1
  107. package/dist/esm/contexts/FontLanguageContext.mjs.map +1 -1
  108. package/dist/esm/contexts/TextAncestorContext.js.map +2 -2
  109. package/dist/esm/contexts/TextAncestorContext.mjs.map +2 -2
  110. package/dist/esm/createComponent.js +17 -17
  111. package/dist/esm/createComponent.js.map +1 -1
  112. package/dist/esm/createComponent.mjs +17 -17
  113. package/dist/esm/createComponent.mjs.map +1 -1
  114. package/dist/esm/createFont.js.map +1 -1
  115. package/dist/esm/createFont.mjs.map +1 -1
  116. package/dist/esm/createShorthands.js.map +1 -1
  117. package/dist/esm/createShorthands.mjs.map +1 -1
  118. package/dist/esm/createTamagui.js +9 -9
  119. package/dist/esm/createTamagui.js.map +1 -1
  120. package/dist/esm/createTamagui.mjs +9 -9
  121. package/dist/esm/createTamagui.mjs.map +1 -1
  122. package/dist/esm/createTheme.js.map +1 -1
  123. package/dist/esm/createTheme.mjs.map +1 -1
  124. package/dist/esm/createTokens.js +1 -1
  125. package/dist/esm/createTokens.js.map +1 -1
  126. package/dist/esm/createTokens.mjs +1 -1
  127. package/dist/esm/createTokens.mjs.map +1 -1
  128. package/dist/esm/createVariable.js +1 -1
  129. package/dist/esm/createVariable.js.map +1 -1
  130. package/dist/esm/createVariable.mjs +1 -1
  131. package/dist/esm/createVariable.mjs.map +1 -1
  132. package/dist/esm/createVariables.js +1 -1
  133. package/dist/esm/createVariables.js.map +1 -1
  134. package/dist/esm/createVariables.mjs +1 -1
  135. package/dist/esm/createVariables.mjs.map +1 -1
  136. package/dist/esm/helpers/ThemeManager.js +6 -4
  137. package/dist/esm/helpers/ThemeManager.js.map +2 -2
  138. package/dist/esm/helpers/ThemeManager.mjs +6 -4
  139. package/dist/esm/helpers/ThemeManager.mjs.map +2 -2
  140. package/dist/esm/helpers/ThemeManagerContext.js.map +1 -1
  141. package/dist/esm/helpers/ThemeManagerContext.mjs.map +1 -1
  142. package/dist/esm/helpers/createMediaStyle.js +1 -1
  143. package/dist/esm/helpers/createMediaStyle.js.map +1 -1
  144. package/dist/esm/helpers/createMediaStyle.mjs +1 -1
  145. package/dist/esm/helpers/createMediaStyle.mjs.map +1 -1
  146. package/dist/esm/helpers/createPropMapper.js +8 -8
  147. package/dist/esm/helpers/createPropMapper.js.map +2 -2
  148. package/dist/esm/helpers/createPropMapper.mjs +8 -8
  149. package/dist/esm/helpers/createPropMapper.mjs.map +2 -2
  150. package/dist/esm/helpers/expandStyles.js +4 -4
  151. package/dist/esm/helpers/expandStyles.js.map +1 -1
  152. package/dist/esm/helpers/expandStyles.mjs +4 -4
  153. package/dist/esm/helpers/expandStyles.mjs.map +1 -1
  154. package/dist/esm/helpers/extendStaticConfig.js +2 -2
  155. package/dist/esm/helpers/extendStaticConfig.js.map +1 -1
  156. package/dist/esm/helpers/extendStaticConfig.mjs +2 -2
  157. package/dist/esm/helpers/extendStaticConfig.mjs.map +1 -1
  158. package/dist/esm/helpers/getAnimationDriver.js +1 -1
  159. package/dist/esm/helpers/getAnimationDriver.js.map +1 -1
  160. package/dist/esm/helpers/getAnimationDriver.mjs +1 -1
  161. package/dist/esm/helpers/getAnimationDriver.mjs.map +1 -1
  162. package/dist/esm/helpers/getExpandedShorthands.js +2 -3
  163. package/dist/esm/helpers/getExpandedShorthands.js.map +2 -2
  164. package/dist/esm/helpers/getExpandedShorthands.mjs +2 -3
  165. package/dist/esm/helpers/getExpandedShorthands.mjs.map +2 -2
  166. package/dist/esm/helpers/getSplitStyles.js +9 -9
  167. package/dist/esm/helpers/getSplitStyles.js.map +2 -2
  168. package/dist/esm/helpers/getSplitStyles.mjs +9 -9
  169. package/dist/esm/helpers/getSplitStyles.mjs.map +2 -2
  170. package/dist/esm/helpers/getStylesAtomic.js +3 -3
  171. package/dist/esm/helpers/getStylesAtomic.js.map +1 -1
  172. package/dist/esm/helpers/getStylesAtomic.mjs +3 -3
  173. package/dist/esm/helpers/getStylesAtomic.mjs.map +1 -1
  174. package/dist/esm/helpers/getThemeCSSRules.js +3 -3
  175. package/dist/esm/helpers/getThemeCSSRules.js.map +1 -1
  176. package/dist/esm/helpers/getThemeCSSRules.mjs +3 -3
  177. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
  178. package/dist/esm/helpers/getVariantExtras.js +2 -2
  179. package/dist/esm/helpers/getVariantExtras.js.map +1 -1
  180. package/dist/esm/helpers/getVariantExtras.mjs +2 -2
  181. package/dist/esm/helpers/getVariantExtras.mjs.map +1 -1
  182. package/dist/esm/helpers/insertStyleRule.js.map +1 -1
  183. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  184. package/dist/esm/helpers/isTamaguiComponent.js.map +1 -1
  185. package/dist/esm/helpers/isTamaguiComponent.mjs.map +1 -1
  186. package/dist/esm/helpers/isTamaguiElement.js +1 -1
  187. package/dist/esm/helpers/isTamaguiElement.js.map +1 -1
  188. package/dist/esm/helpers/isTamaguiElement.mjs +1 -1
  189. package/dist/esm/helpers/isTamaguiElement.mjs.map +1 -1
  190. package/dist/esm/helpers/matchMedia.js.map +1 -1
  191. package/dist/esm/helpers/matchMedia.mjs.map +1 -1
  192. package/dist/esm/helpers/matchMedia.native.js.map +1 -1
  193. package/dist/esm/helpers/matchMedia.native.mjs.map +1 -1
  194. package/dist/esm/helpers/normalizeShadow.js +1 -1
  195. package/dist/esm/helpers/normalizeShadow.js.map +1 -1
  196. package/dist/esm/helpers/normalizeShadow.mjs +1 -1
  197. package/dist/esm/helpers/normalizeShadow.mjs.map +1 -1
  198. package/dist/esm/helpers/normalizeShadow.native.js +2 -2
  199. package/dist/esm/helpers/normalizeShadow.native.js.map +1 -1
  200. package/dist/esm/helpers/normalizeShadow.native.mjs +2 -2
  201. package/dist/esm/helpers/normalizeShadow.native.mjs.map +1 -1
  202. package/dist/esm/helpers/normalizeValueWithProperty.js +3 -3
  203. package/dist/esm/helpers/normalizeValueWithProperty.js.map +1 -1
  204. package/dist/esm/helpers/normalizeValueWithProperty.mjs +3 -3
  205. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
  206. package/dist/esm/helpers/proxyThemeVariables.js +1 -1
  207. package/dist/esm/helpers/proxyThemeVariables.js.map +1 -1
  208. package/dist/esm/helpers/proxyThemeVariables.mjs +1 -1
  209. package/dist/esm/helpers/proxyThemeVariables.mjs.map +1 -1
  210. package/dist/esm/helpers/registerCSSVariable.js +1 -1
  211. package/dist/esm/helpers/registerCSSVariable.js.map +1 -1
  212. package/dist/esm/helpers/registerCSSVariable.mjs +1 -1
  213. package/dist/esm/helpers/registerCSSVariable.mjs.map +1 -1
  214. package/dist/esm/helpers/themeable.js +1 -1
  215. package/dist/esm/helpers/themeable.js.map +1 -1
  216. package/dist/esm/helpers/themeable.mjs +1 -1
  217. package/dist/esm/helpers/themeable.mjs.map +1 -1
  218. package/dist/esm/helpers/themes.js +2 -2
  219. package/dist/esm/helpers/themes.js.map +1 -1
  220. package/dist/esm/helpers/themes.mjs +2 -2
  221. package/dist/esm/helpers/themes.mjs.map +1 -1
  222. package/dist/esm/helpers/useShallowSetState.js.map +2 -2
  223. package/dist/esm/helpers/useShallowSetState.mjs.map +2 -2
  224. package/dist/esm/hooks/useMedia.js +4 -4
  225. package/dist/esm/hooks/useMedia.js.map +1 -1
  226. package/dist/esm/hooks/useMedia.mjs +4 -4
  227. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  228. package/dist/esm/hooks/useStyle.js +5 -5
  229. package/dist/esm/hooks/useStyle.js.map +1 -1
  230. package/dist/esm/hooks/useStyle.mjs +5 -5
  231. package/dist/esm/hooks/useStyle.mjs.map +1 -1
  232. package/dist/esm/hooks/useTheme.js +7 -7
  233. package/dist/esm/hooks/useTheme.js.map +1 -1
  234. package/dist/esm/hooks/useTheme.mjs +7 -7
  235. package/dist/esm/hooks/useTheme.mjs.map +1 -1
  236. package/dist/esm/hooks/useThemeName.js +2 -2
  237. package/dist/esm/hooks/useThemeName.js.map +1 -1
  238. package/dist/esm/hooks/useThemeName.mjs +2 -2
  239. package/dist/esm/hooks/useThemeName.mjs.map +1 -1
  240. package/dist/esm/index.js +49 -49
  241. package/dist/esm/index.js.map +1 -1
  242. package/dist/esm/index.mjs +49 -49
  243. package/dist/esm/index.mjs.map +1 -1
  244. package/dist/esm/insertFont.js +4 -4
  245. package/dist/esm/insertFont.js.map +1 -1
  246. package/dist/esm/insertFont.mjs +4 -4
  247. package/dist/esm/insertFont.mjs.map +1 -1
  248. package/dist/esm/setupReactNative.js.map +1 -1
  249. package/dist/esm/setupReactNative.mjs.map +1 -1
  250. package/dist/esm/styled.js +2 -2
  251. package/dist/esm/styled.js.map +1 -1
  252. package/dist/esm/styled.mjs +2 -2
  253. package/dist/esm/styled.mjs.map +1 -1
  254. package/dist/esm/updateTheme.js +2 -2
  255. package/dist/esm/updateTheme.js.map +1 -1
  256. package/dist/esm/updateTheme.mjs +2 -2
  257. package/dist/esm/updateTheme.mjs.map +1 -1
  258. package/dist/esm/views/FontLanguage.js.map +1 -1
  259. package/dist/esm/views/FontLanguage.mjs.map +1 -1
  260. package/dist/esm/views/FontLanguage.native.js +1 -1
  261. package/dist/esm/views/FontLanguage.native.js.map +2 -2
  262. package/dist/esm/views/FontLanguage.native.mjs +1 -1
  263. package/dist/esm/views/FontLanguage.native.mjs.map +2 -2
  264. package/dist/esm/views/Stack.js +2 -2
  265. package/dist/esm/views/Stack.js.map +1 -1
  266. package/dist/esm/views/Stack.mjs +2 -2
  267. package/dist/esm/views/Stack.mjs.map +1 -1
  268. package/dist/esm/views/TamaguiProvider.js +4 -4
  269. package/dist/esm/views/TamaguiProvider.js.map +1 -1
  270. package/dist/esm/views/TamaguiProvider.mjs +4 -4
  271. package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
  272. package/dist/esm/views/Text.js +1 -1
  273. package/dist/esm/views/Text.js.map +1 -1
  274. package/dist/esm/views/Text.mjs +1 -1
  275. package/dist/esm/views/Text.mjs.map +1 -1
  276. package/dist/esm/views/Theme.js +4 -4
  277. package/dist/esm/views/Theme.js.map +1 -1
  278. package/dist/esm/views/Theme.mjs +4 -4
  279. package/dist/esm/views/Theme.mjs.map +1 -1
  280. package/dist/esm/views/ThemeProvider.js +2 -2
  281. package/dist/esm/views/ThemeProvider.js.map +1 -1
  282. package/dist/esm/views/ThemeProvider.mjs +2 -2
  283. package/dist/esm/views/ThemeProvider.mjs.map +1 -1
  284. package/package.json +9 -9
  285. package/src/Tamagui.ts +7 -3
  286. package/src/addTheme.ts +4 -4
  287. package/src/config.ts +1 -1
  288. package/src/contexts/FontLanguageContext.tsx +1 -1
  289. package/src/contexts/TextAncestorContext.tsx +1 -1
  290. package/src/createComponent.tsx +17 -17
  291. package/src/createFont.ts +1 -1
  292. package/src/createShorthands.ts +1 -1
  293. package/src/createTamagui.ts +10 -10
  294. package/src/createTheme.ts +1 -1
  295. package/src/createTokens.ts +3 -3
  296. package/src/createVariable.ts +1 -1
  297. package/src/createVariables.ts +1 -1
  298. package/src/helpers/ThemeManager.tsx +11 -5
  299. package/src/helpers/ThemeManagerContext.tsx +1 -1
  300. package/src/helpers/createMediaStyle.ts +2 -2
  301. package/src/helpers/createPropMapper.ts +13 -11
  302. package/src/helpers/expandStyles.ts +4 -4
  303. package/src/helpers/extendStaticConfig.ts +3 -3
  304. package/src/helpers/getAnimationDriver.tsx +1 -1
  305. package/src/helpers/getExpandedShorthands.ts +4 -6
  306. package/src/helpers/getSplitStyles.tsx +14 -11
  307. package/src/helpers/getStylesAtomic.ts +4 -4
  308. package/src/helpers/getThemeCSSRules.ts +4 -4
  309. package/src/helpers/getVariantExtras.tsx +4 -4
  310. package/src/helpers/insertStyleRule.tsx +1 -1
  311. package/src/helpers/isTamaguiComponent.tsx +1 -1
  312. package/src/helpers/isTamaguiElement.tsx +2 -2
  313. package/src/helpers/matchMedia.native.ts +1 -1
  314. package/src/helpers/matchMedia.ts +1 -1
  315. package/src/helpers/normalizeShadow.native.ts +2 -2
  316. package/src/helpers/normalizeShadow.ts +1 -1
  317. package/src/helpers/normalizeValueWithProperty.ts +3 -3
  318. package/src/helpers/proxyThemeVariables.tsx +1 -1
  319. package/src/helpers/registerCSSVariable.ts +1 -1
  320. package/src/helpers/themeable.tsx +2 -2
  321. package/src/helpers/themes.ts +3 -3
  322. package/src/helpers/useShallowSetState.tsx +1 -2
  323. package/src/hooks/useMedia.tsx +5 -5
  324. package/src/hooks/useStyle.tsx +5 -5
  325. package/src/hooks/useTheme.tsx +8 -8
  326. package/src/hooks/useThemeName.tsx +3 -3
  327. package/src/index.ts +49 -49
  328. package/src/insertFont.ts +6 -6
  329. package/src/setupReactNative.ts +1 -1
  330. package/src/styled.tsx +4 -4
  331. package/src/types.tsx +4 -4
  332. package/src/updateTheme.ts +3 -3
  333. package/src/views/FontLanguage.native.tsx +3 -3
  334. package/src/views/FontLanguage.tsx +1 -1
  335. package/src/views/Stack.tsx +3 -3
  336. package/src/views/TamaguiProvider.tsx +5 -5
  337. package/src/views/Text.tsx +2 -2
  338. package/src/views/Theme.tsx +5 -5
  339. package/src/views/ThemeProvider.tsx +2 -2
  340. package/types/Tamagui.d.ts +5 -5
  341. package/types/addTheme.d.ts +18 -18
  342. package/types/config.d.ts +24 -24
  343. package/types/contexts/FontLanguageContext.d.ts +1 -1
  344. package/types/contexts/TextAncestorContext.d.ts +2 -2
  345. package/types/createFont.d.ts +1 -1
  346. package/types/createShorthands.d.ts +1 -1
  347. package/types/createTamagui.d.ts +1 -1
  348. package/types/createTheme.d.ts +1 -1
  349. package/types/createTokens.d.ts +2 -2
  350. package/types/createVariables.d.ts +1 -1
  351. package/types/helpers/ThemeManager.d.ts +2 -2
  352. package/types/helpers/ThemeManagerContext.d.ts +1 -1
  353. package/types/helpers/createMediaStyle.d.ts +1 -1
  354. package/types/helpers/createPropMapper.d.ts +1 -1
  355. package/types/helpers/expandStyles.d.ts +5 -5
  356. package/types/helpers/extendStaticConfig.d.ts +1 -1
  357. package/types/helpers/getAnimationDriver.d.ts +1 -1
  358. package/types/helpers/getExpandedShorthands.d.ts +1 -1
  359. package/types/helpers/getSplitStyles.d.ts +2 -2
  360. package/types/helpers/getStylesAtomic.d.ts +1 -1
  361. package/types/helpers/getThemeCSSRules.d.ts +1 -1
  362. package/types/helpers/getVariantExtras.d.ts +2 -2
  363. package/types/helpers/insertStyleRule.d.ts +1 -1
  364. package/types/helpers/isTamaguiComponent.d.ts +1 -1
  365. package/types/helpers/isTamaguiElement.d.ts +1 -1
  366. package/types/helpers/matchMedia.d.ts +1 -1
  367. package/types/helpers/matchMedia.native.d.ts +1 -1
  368. package/types/helpers/registerCSSVariable.d.ts +1 -1
  369. package/types/helpers/themeable.d.ts +1 -1
  370. package/types/helpers/themes.d.ts +1 -1
  371. package/types/helpers/useShallowSetState.d.ts +1 -2
  372. package/types/hooks/useMedia.d.ts +1 -1
  373. package/types/hooks/useTheme.d.ts +2 -2
  374. package/types/hooks/useThemeName.d.ts +1 -1
  375. package/types/index.d.ts +49 -49
  376. package/types/insertFont.d.ts +2 -2
  377. package/types/setupReactNative.d.ts +1 -1
  378. package/types/styled.d.ts +1 -1
  379. package/types/types.d.ts +4 -4
  380. package/types/updateTheme.d.ts +18 -18
  381. package/types/views/FontLanguage.d.ts +1 -1
  382. package/types/views/FontLanguage.native.d.ts +1 -1
  383. package/types/views/Stack.d.ts +2 -2
  384. package/types/views/TamaguiProvider.d.ts +1 -1
  385. package/types/views/Text.d.ts +2 -2
  386. package/types/views/Theme.d.ts +2 -2
  387. package/types/Tamagui.d.ts.map +0 -1
  388. package/types/addTheme.d.ts.map +0 -1
  389. package/types/config.d.ts.map +0 -1
  390. package/types/constants/constants.d.ts.map +0 -1
  391. package/types/constants/isDevTools.d.ts.map +0 -1
  392. package/types/contexts/ButtonNestingContext.d.ts.map +0 -1
  393. package/types/contexts/FontLanguageContext.d.ts.map +0 -1
  394. package/types/contexts/TextAncestorContext.d.ts.map +0 -1
  395. package/types/createComponent.d.ts.map +0 -1
  396. package/types/createFont.d.ts.map +0 -1
  397. package/types/createShorthands.d.ts.map +0 -1
  398. package/types/createTamagui.d.ts.map +0 -1
  399. package/types/createTheme.d.ts.map +0 -1
  400. package/types/createTokens.d.ts.map +0 -1
  401. package/types/createVariable.d.ts.map +0 -1
  402. package/types/createVariables.d.ts.map +0 -1
  403. package/types/helpers/RNComponents.d.ts.map +0 -1
  404. package/types/helpers/ThemeManager.d.ts.map +0 -1
  405. package/types/helpers/ThemeManagerContext.d.ts.map +0 -1
  406. package/types/helpers/createMediaStyle.d.ts.map +0 -1
  407. package/types/helpers/createPropMapper.d.ts.map +0 -1
  408. package/types/helpers/createProxy.d.ts.map +0 -1
  409. package/types/helpers/expandStyle.d.ts.map +0 -1
  410. package/types/helpers/expandStyles.d.ts.map +0 -1
  411. package/types/helpers/extendStaticConfig.d.ts.map +0 -1
  412. package/types/helpers/getAnimationDriver.d.ts.map +0 -1
  413. package/types/helpers/getExpandedShorthands.d.ts.map +0 -1
  414. package/types/helpers/getFontLanguage.d.ts.map +0 -1
  415. package/types/helpers/getSplitStyles.d.ts.map +0 -1
  416. package/types/helpers/getStylesAtomic.d.ts.map +0 -1
  417. package/types/helpers/getStylesAtomic.native.d.ts.map +0 -1
  418. package/types/helpers/getThemeCSSRules.d.ts.map +0 -1
  419. package/types/helpers/getThemeCSSRules.native.d.ts.map +0 -1
  420. package/types/helpers/getVariantExtras.d.ts.map +0 -1
  421. package/types/helpers/insertStyleRule.d.ts.map +0 -1
  422. package/types/helpers/isObj.d.ts.map +0 -1
  423. package/types/helpers/isTamaguiComponent.d.ts.map +0 -1
  424. package/types/helpers/isTamaguiElement.d.ts.map +0 -1
  425. package/types/helpers/matchMedia.d.ts.map +0 -1
  426. package/types/helpers/matchMedia.native.d.ts.map +0 -1
  427. package/types/helpers/mergeProps.d.ts.map +0 -1
  428. package/types/helpers/mergeTransform.d.ts.map +0 -1
  429. package/types/helpers/normalizeColor.d.ts.map +0 -1
  430. package/types/helpers/normalizeShadow.d.ts.map +0 -1
  431. package/types/helpers/normalizeShadow.native.d.ts.map +0 -1
  432. package/types/helpers/normalizeStylePropKeys.d.ts.map +0 -1
  433. package/types/helpers/normalizeStylePropKeys.native.d.ts.map +0 -1
  434. package/types/helpers/normalizeValueWithProperty.d.ts.map +0 -1
  435. package/types/helpers/proxyThemeVariables.d.ts.map +0 -1
  436. package/types/helpers/pseudoDescriptors.d.ts.map +0 -1
  437. package/types/helpers/registerCSSVariable.d.ts.map +0 -1
  438. package/types/helpers/themeable.d.ts.map +0 -1
  439. package/types/helpers/themes.d.ts.map +0 -1
  440. package/types/helpers/timer.d.ts.map +0 -1
  441. package/types/helpers/useShallowSetState.d.ts.map +0 -1
  442. package/types/helpers/warnOnce.d.ts.map +0 -1
  443. package/types/helpers/withStaticProperties.d.ts.map +0 -1
  444. package/types/hooks/getThemeUnwrapped.d.ts.map +0 -1
  445. package/types/hooks/useId.d.ts.map +0 -1
  446. package/types/hooks/useIsTouchDevice.d.ts.map +0 -1
  447. package/types/hooks/useMedia.d.ts.map +0 -1
  448. package/types/hooks/useSafeRef.d.ts.map +0 -1
  449. package/types/hooks/useServerHooks.d.ts.map +0 -1
  450. package/types/hooks/useStyle.d.ts.map +0 -1
  451. package/types/hooks/useTheme.d.ts.map +0 -1
  452. package/types/hooks/useThemeName.d.ts.map +0 -1
  453. package/types/index.d.ts.map +0 -1
  454. package/types/inject-styles.d.ts.map +0 -1
  455. package/types/insertFont.d.ts.map +0 -1
  456. package/types/setupHooks.d.ts.map +0 -1
  457. package/types/setupReactNative.d.ts.map +0 -1
  458. package/types/styled.d.ts.map +0 -1
  459. package/types/types.d.ts.map +0 -1
  460. package/types/updateTheme.d.ts.map +0 -1
  461. package/types/views/FontLanguage.d.ts.map +0 -1
  462. package/types/views/FontLanguage.native.d.ts.map +0 -1
  463. package/types/views/FontLanguage.types.d.ts.map +0 -1
  464. package/types/views/Slot.d.ts.map +0 -1
  465. package/types/views/Stack.d.ts.map +0 -1
  466. package/types/views/TamaguiProvider.d.ts.map +0 -1
  467. package/types/views/Text.d.ts.map +0 -1
  468. package/types/views/Theme.d.ts.map +0 -1
  469. package/types/views/ThemeProvider.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/normalizeValueWithProperty.ts"],
4
- "sourcesContent": ["/**\n * Some parts adapted from react-native-web\n * Copyright (c) Nicolas Gallagher licensed under the MIT license.\n */\n\nimport { isWeb } from '@tamagui/constants'\n\nimport { getAllSelectors } from './insertStyleRule'\nimport { names, normalizeColor } from './normalizeColor'\nimport { normalizeStylePropKeys } from './normalizeStylePropKeys'\n\nconst colorCache = {}\n\nexport function normalizeValueWithProperty(value: any, property?: string): any {\n if (value in colorCache) {\n return colorCache[value]\n }\n if (property && property in unitlessNumbers) {\n return value\n }\n let res = value\n if (property && (property in normalizeStylePropKeys || value in names)) {\n res = normalizeColor(value)\n colorCache[value] = res\n } else if (\n process.env.TAMAGUI_TARGET === 'web' &&\n typeof value === 'number' &&\n (property === undefined ||\n !(property in unitlessNumbers || property in stringNumbers))\n ) {\n res = `${value}px`\n } else if (isWeb && property !== undefined && property in stringNumbers) {\n res = `${res}`\n }\n return res\n}\n\nconst stringNumbers = {\n zIndex: true,\n}\n\nconst unitlessNumbers = {\n WebkitLineClamp: true,\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexBasis: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zoom: true,\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n shadowOpacity: true,\n}\n\n// getting real values for colors for animations (reverse mapped from CSS)\n// this isn't beautiful, but will do relatively fine performance for now\nconst rcache = {}\nexport function reverseMapClassNameToValue(key: string, className: string) {\n const selectors = getAllSelectors()\n const cssRule = selectors[className]\n if (rcache[cssRule]) return rcache[cssRule]\n if (!cssRule) {\n return\n }\n const cssVal = cssRule.replace(/.*:/, '').replace(/;.*/, '').trim()\n let res: any\n if (cssVal.startsWith('var(')) {\n res = cssVal\n } else if (unitlessNumbers[key]) {\n res = +cssVal\n } else if (cssVal.endsWith('px')) {\n res = +cssVal.replace('px', '')\n } else {\n res = cssVal\n }\n rcache[cssRule] = res\n if (process.env.NODE_ENV === 'development') {\n // ensure we are parsing properly\n if (typeof res === 'number' && isNaN(res)) {\n // eslint-disable-next-line no-console\n console.log('Tamagui invalid parsed value, NaN:', {\n res,\n cssVal,\n cssRule,\n key,\n className,\n })\n }\n }\n return res\n}\n"],
4
+ "sourcesContent": ["/**\n * Some parts adapted from react-native-web\n * Copyright (c) Nicolas Gallagher licensed under the MIT license.\n */\n\nimport { isWeb } from '@tamagui/constants'\n\nimport { getAllSelectors } from './insertStyleRule.js'\nimport { names, normalizeColor } from './normalizeColor.js'\nimport { normalizeStylePropKeys } from './normalizeStylePropKeys.js'\n\nconst colorCache = {}\n\nexport function normalizeValueWithProperty(value: any, property?: string): any {\n if (value in colorCache) {\n return colorCache[value]\n }\n if (property && property in unitlessNumbers) {\n return value\n }\n let res = value\n if (property && (property in normalizeStylePropKeys || value in names)) {\n res = normalizeColor(value)\n colorCache[value] = res\n } else if (\n process.env.TAMAGUI_TARGET === 'web' &&\n typeof value === 'number' &&\n (property === undefined ||\n !(property in unitlessNumbers || property in stringNumbers))\n ) {\n res = `${value}px`\n } else if (isWeb && property !== undefined && property in stringNumbers) {\n res = `${res}`\n }\n return res\n}\n\nconst stringNumbers = {\n zIndex: true,\n}\n\nconst unitlessNumbers = {\n WebkitLineClamp: true,\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexBasis: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zoom: true,\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n shadowOpacity: true,\n}\n\n// getting real values for colors for animations (reverse mapped from CSS)\n// this isn't beautiful, but will do relatively fine performance for now\nconst rcache = {}\nexport function reverseMapClassNameToValue(key: string, className: string) {\n const selectors = getAllSelectors()\n const cssRule = selectors[className]\n if (rcache[cssRule]) return rcache[cssRule]\n if (!cssRule) {\n return\n }\n const cssVal = cssRule.replace(/.*:/, '').replace(/;.*/, '').trim()\n let res: any\n if (cssVal.startsWith('var(')) {\n res = cssVal\n } else if (unitlessNumbers[key]) {\n res = +cssVal\n } else if (cssVal.endsWith('px')) {\n res = +cssVal.replace('px', '')\n } else {\n res = cssVal\n }\n rcache[cssRule] = res\n if (process.env.NODE_ENV === 'development') {\n // ensure we are parsing properly\n if (typeof res === 'number' && isNaN(res)) {\n // eslint-disable-next-line no-console\n console.log('Tamagui invalid parsed value, NaN:', {\n res,\n cssVal,\n cssRule,\n key,\n className,\n })\n }\n }\n return res\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,uBAAsB;AAEtB,6BAAgC;AAChC,4BAAsC;AACtC,oCAAuC;AAEvC,MAAM,aAAa,CAAC;AAEb,SAAS,2BAA2B,OAAY,UAAwB;AAC7E,MAAI,SAAS,YAAY;AACvB,WAAO,WAAW,KAAK;AAAA,EACzB;AACA,MAAI,YAAY,YAAY,iBAAiB;AAC3C,WAAO;AAAA,EACT;AACA,MAAI,MAAM;AACV,MAAI,aAAa,YAAY,wDAA0B,SAAS,8BAAQ;AACtE,cAAM,sCAAe,KAAK;AAC1B,eAAW,KAAK,IAAI;AAAA,EACtB,WACE,QAAQ,IAAI,mBAAmB,SAC/B,OAAO,UAAU,aAChB,aAAa,UACZ,EAAE,YAAY,mBAAmB,YAAY,iBAC/C;AACA,UAAM,GAAG;AAAA,EACX,WAAW,0BAAS,aAAa,UAAa,YAAY,eAAe;AACvE,UAAM,GAAG;AAAA,EACX;AACA,SAAO;AACT;AAEA,MAAM,gBAAgB;AAAA,EACpB,QAAQ;AACV;AAEA,MAAM,kBAAkB;AAAA,EACtB,iBAAiB;AAAA,EACjB,yBAAyB;AAAA,EACzB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,aAAa;AAAA,EACb,MAAM;AAAA,EACN,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EACX,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,eAAe;AACjB;AAIA,MAAM,SAAS,CAAC;AACT,SAAS,2BAA2B,KAAa,WAAmB;AACzE,QAAM,gBAAY,wCAAgB;AAClC,QAAM,UAAU,UAAU,SAAS;AACnC,MAAI,OAAO,OAAO;AAAG,WAAO,OAAO,OAAO;AAC1C,MAAI,CAAC,SAAS;AACZ;AAAA,EACF;AACA,QAAM,SAAS,QAAQ,QAAQ,OAAO,EAAE,EAAE,QAAQ,OAAO,EAAE,EAAE,KAAK;AAClE,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM,GAAG;AAC7B,UAAM;AAAA,EACR,WAAW,gBAAgB,GAAG,GAAG;AAC/B,UAAM,CAAC;AAAA,EACT,WAAW,OAAO,SAAS,IAAI,GAAG;AAChC,UAAM,CAAC,OAAO,QAAQ,MAAM,EAAE;AAAA,EAChC,OAAO;AACL,UAAM;AAAA,EACR;AACA,SAAO,OAAO,IAAI;AAClB,MAAI,QAAQ,IAAI,aAAa,eAAe;AAE1C,QAAI,OAAO,QAAQ,YAAY,MAAM,GAAG,GAAG;AAEzC,cAAQ,IAAI,sCAAsC;AAAA,QAChD;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -21,7 +21,7 @@ __export(proxyThemeVariables_exports, {
21
21
  proxyThemeVariables: () => proxyThemeVariables
22
22
  });
23
23
  module.exports = __toCommonJS(proxyThemeVariables_exports);
24
- var import_createProxy = require("./createProxy");
24
+ var import_createProxy = require("./createProxy.js");
25
25
  function proxyThemeVariables(obj) {
26
26
  return (0, import_createProxy.createProxy)(obj || {}, {
27
27
  has(target, key) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/proxyThemeVariables.tsx"],
4
- "sourcesContent": ["import { createProxy } from './createProxy'\n\nexport function proxyThemeVariables<A extends Object>(obj: A): A {\n return createProxy<A>(obj || {}, {\n has(target, key) {\n return Reflect.has(target, removeStarting$(key))\n },\n get(target, key) {\n return Reflect.get(target, removeStarting$(key))\n },\n })\n}\n\nconst removeStarting$ = (str: string | symbol) =>\n typeof str === 'string' && str[0] === '$' ? str.slice(1) : str\n"],
4
+ "sourcesContent": ["import { createProxy } from './createProxy.js'\n\nexport function proxyThemeVariables<A extends Object>(obj: A): A {\n return createProxy<A>(obj || {}, {\n has(target, key) {\n return Reflect.has(target, removeStarting$(key))\n },\n get(target, key) {\n return Reflect.get(target, removeStarting$(key))\n },\n })\n}\n\nconst removeStarting$ = (str: string | symbol) =>\n typeof str === 'string' && str[0] === '$' ? str.slice(1) : str\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAA4B;AAErB,SAAS,oBAAsC,KAAW;AAC/D,aAAO,gCAAe,OAAO,CAAC,GAAG;AAAA,IAC/B,IAAI,QAAQ,KAAK;AACf,aAAO,QAAQ,IAAI,QAAQ,gBAAgB,GAAG,CAAC;AAAA,IACjD;AAAA,IACA,IAAI,QAAQ,KAAK;AACf,aAAO,QAAQ,IAAI,QAAQ,gBAAgB,GAAG,CAAC;AAAA,IACjD;AAAA,EACF,CAAC;AACH;AAEA,MAAM,kBAAkB,CAAC,QACvB,OAAO,QAAQ,YAAY,IAAI,CAAC,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI;",
6
6
  "names": []
7
7
  }
@@ -23,7 +23,7 @@ __export(registerCSSVariable_exports, {
23
23
  variableToCSS: () => variableToCSS
24
24
  });
25
25
  module.exports = __toCommonJS(registerCSSVariable_exports);
26
- var import_createVariable = require("../createVariable");
26
+ var import_createVariable = require("../createVariable.js");
27
27
  const registerCSSVariable = (v) => {
28
28
  tokensValueToVariable.set(v.val, v);
29
29
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/registerCSSVariable.ts"],
4
- "sourcesContent": ["import { Variable, createCSSVariable } from '../createVariable'\n\nexport const registerCSSVariable = (v: Variable) => {\n tokensValueToVariable.set(v.val, v)\n}\n\nexport const variableToCSS = (v: Variable) => {\n return `--${createCSSVariable(v.name, false)}:${\n typeof v.val === 'number' ? `${v.val}px` : v.val\n }`\n}\n\nexport const tokensValueToVariable = new Map<any, any>()\n"],
4
+ "sourcesContent": ["import { Variable, createCSSVariable } from '../createVariable.js'\n\nexport const registerCSSVariable = (v: Variable) => {\n tokensValueToVariable.set(v.val, v)\n}\n\nexport const variableToCSS = (v: Variable) => {\n return `--${createCSSVariable(v.name, false)}:${\n typeof v.val === 'number' ? `${v.val}px` : v.val\n }`\n}\n\nexport const tokensValueToVariable = new Map<any, any>()\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAA4C;AAErC,MAAM,sBAAsB,CAAC,MAAgB;AAClD,wBAAsB,IAAI,EAAE,KAAK,CAAC;AACpC;AAEO,MAAM,gBAAgB,CAAC,MAAgB;AAC5C,SAAO,SAAK,yCAAkB,EAAE,MAAM,KAAK,KACzC,OAAO,EAAE,QAAQ,WAAW,GAAG,EAAE,UAAU,EAAE;AAEjD;AAEO,MAAM,wBAAwB,oBAAI,IAAc;",
6
6
  "names": []
7
7
  }
@@ -33,7 +33,7 @@ __export(themeable_exports, {
33
33
  module.exports = __toCommonJS(themeable_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
35
  var import_react = __toESM(require("react"));
36
- var import_Theme = require("../views/Theme");
36
+ var import_Theme = require("../views/Theme.js");
37
37
  function themeable(component, opts) {
38
38
  const withThemeComponent = (0, import_react.forwardRef)(function WithTheme(props, ref) {
39
39
  const { themeInverse, theme, componentName, themeReset, ...rest } = props;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/themeable.tsx"],
4
- "sourcesContent": ["import React, { forwardRef, useId } from 'react'\n\nimport { DebugProp, ThemeName } from '../types'\nimport { Theme } from '../views/Theme'\n\nexport interface ThemeableProps {\n theme?: ThemeName | null\n themeInverse?: boolean\n themeReset?: boolean\n componentName?: string\n debug?: DebugProp\n}\n\nexport function themeable<Component extends (props: any) => any>(\n component: Component,\n opts?: { componentName?: string }\n) {\n const withThemeComponent = forwardRef(function WithTheme(props: ThemeableProps, ref) {\n const { themeInverse, theme, componentName, themeReset, ...rest } = props\n const element = React.createElement(component, { ...rest, ref } as any)\n\n return (\n <Theme\n inverse={themeInverse}\n componentName={componentName || opts?.componentName}\n name={(theme as any) || null}\n data-themeable\n debug={props.debug}\n reset={props.themeReset}\n >\n {element}\n </Theme>\n )\n })\n\n const withTheme: any = withThemeComponent\n withTheme.displayName = `Themed(${\n (component as any)?.displayName || (component as any)?.name || 'Anonymous'\n })`\n\n return withTheme as Component extends (props: infer P) => infer R\n ? (props: Omit<P, 'theme' | 'themeInverse'> & ThemeableProps) => R\n : unknown\n}\n"],
4
+ "sourcesContent": ["import React, { forwardRef, useId } from 'react'\n\nimport { DebugProp, ThemeName } from '../types.js'\nimport { Theme } from '../views/Theme.js'\n\nexport interface ThemeableProps {\n theme?: ThemeName | null\n themeInverse?: boolean\n themeReset?: boolean\n componentName?: string\n debug?: DebugProp\n}\n\nexport function themeable<Component extends (props: any) => any>(\n component: Component,\n opts?: { componentName?: string }\n) {\n const withThemeComponent = forwardRef(function WithTheme(props: ThemeableProps, ref) {\n const { themeInverse, theme, componentName, themeReset, ...rest } = props\n const element = React.createElement(component, { ...rest, ref } as any)\n\n return (\n <Theme\n inverse={themeInverse}\n componentName={componentName || opts?.componentName}\n name={(theme as any) || null}\n data-themeable\n debug={props.debug}\n reset={props.themeReset}\n >\n {element}\n </Theme>\n )\n })\n\n const withTheme: any = withThemeComponent\n withTheme.displayName = `Themed(${\n (component as any)?.displayName || (component as any)?.name || 'Anonymous'\n })`\n\n return withTheme as Component extends (props: infer P) => infer R\n ? (props: Omit<P, 'theme' | 'themeInverse'> & ThemeableProps) => R\n : unknown\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBM;AAtBN,mBAAyC;AAGzC,mBAAsB;AAUf,SAAS,UACd,WACA,MACA;AACA,QAAM,yBAAqB,yBAAW,SAAS,UAAU,OAAuB,KAAK;AACnF,UAAM,EAAE,cAAc,OAAO,eAAe,YAAY,GAAG,KAAK,IAAI;AACpE,UAAM,UAAU,aAAAA,QAAM,cAAc,WAAW,EAAE,GAAG,MAAM,IAAI,CAAQ;AAEtE,WACE;AAAA,MAAC;AAAA;AAAA,QACC,SAAS;AAAA,QACT,eAAe,kBAAiB,6BAAM;AAAA,QACtC,MAAO,SAAiB;AAAA,QACxB,kBAAc;AAAA,QACd,OAAO,MAAM;AAAA,QACb,OAAO,MAAM;AAAA,QAEZ;AAAA;AAAA,IACH;AAAA,EAEJ,CAAC;AAED,QAAM,YAAiB;AACvB,YAAU,cAAc,WACrB,uCAAmB,iBAAgB,uCAAmB,SAAQ;AAGjE,SAAO;AAGT;",
6
6
  "names": ["React"]
7
7
  }
@@ -22,8 +22,8 @@ __export(themes_exports, {
22
22
  proxyThemeToParents: () => proxyThemeToParents
23
23
  });
24
24
  module.exports = __toCommonJS(themes_exports);
25
- var import_createVariable = require("../createVariable");
26
- var import_getThemeUnwrapped = require("../hooks/getThemeUnwrapped");
25
+ var import_createVariable = require("../createVariable.js");
26
+ var import_getThemeUnwrapped = require("../hooks/getThemeUnwrapped.js");
27
27
  function ensureThemeVariable(theme, key) {
28
28
  const val = theme[key];
29
29
  const themeKey = key;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/themes.ts"],
4
- "sourcesContent": ["import { createVariable, isVariable } from '../createVariable'\nimport { GetThemeUnwrapped } from '../hooks/getThemeUnwrapped'\nimport { CreateTamaguiProps } from '../types'\n\n// mutates, freeze after\n// shared by createTamagui so extracted here\nexport function ensureThemeVariable(theme: any, key: string) {\n const val = theme[key]\n const themeKey = key\n if (!isVariable(val)) {\n theme[key] = createVariable({\n key: themeKey,\n name: themeKey,\n val,\n })\n } else {\n if (val.name !== themeKey) {\n // rename to theme name\n theme[key] = createVariable({\n key: val.name,\n name: themeKey,\n val: val.val,\n })\n }\n }\n}\n\nexport function proxyThemeToParents(\n themeName: string,\n theme: any,\n themes: CreateTamaguiProps['themes']\n) {\n // we could test if this is better as just a straight object spread or fancier proxy\n const cur: string[] = []\n // if theme is dark_blue_alt1_Button\n // this will be the parent names in order: ['dark', 'dark_blue', 'dark_blue_alt1\"]\n const parents = themeName\n .split('_')\n .slice(0, -1)\n .map((part) => {\n cur.push(part)\n return cur.join('_')\n })\n\n const len = parents.length\n\n // proxy fallback values to parent theme values\n return new Proxy(theme, {\n get(target, key) {\n if (key === GetThemeUnwrapped) {\n return theme\n }\n if (!len || Reflect.has(target, key)) {\n return Reflect.get(target, key)\n }\n // check parents\n for (let i = len - 1; i >= 0; i--) {\n const parent = themes[parents[i]]\n if (!parent) continue\n if (Reflect.has(parent, key)) {\n return Reflect.get(parent, key)\n }\n }\n return Reflect.get(target, key)\n },\n })\n}\n"],
4
+ "sourcesContent": ["import { createVariable, isVariable } from '../createVariable.js'\nimport { GetThemeUnwrapped } from '../hooks/getThemeUnwrapped.js'\nimport { CreateTamaguiProps } from '../types.js'\n\n// mutates, freeze after\n// shared by createTamagui so extracted here\nexport function ensureThemeVariable(theme: any, key: string) {\n const val = theme[key]\n const themeKey = key\n if (!isVariable(val)) {\n theme[key] = createVariable({\n key: themeKey,\n name: themeKey,\n val,\n })\n } else {\n if (val.name !== themeKey) {\n // rename to theme name\n theme[key] = createVariable({\n key: val.name,\n name: themeKey,\n val: val.val,\n })\n }\n }\n}\n\nexport function proxyThemeToParents(\n themeName: string,\n theme: any,\n themes: CreateTamaguiProps['themes']\n) {\n // we could test if this is better as just a straight object spread or fancier proxy\n const cur: string[] = []\n // if theme is dark_blue_alt1_Button\n // this will be the parent names in order: ['dark', 'dark_blue', 'dark_blue_alt1\"]\n const parents = themeName\n .split('_')\n .slice(0, -1)\n .map((part) => {\n cur.push(part)\n return cur.join('_')\n })\n\n const len = parents.length\n\n // proxy fallback values to parent theme values\n return new Proxy(theme, {\n get(target, key) {\n if (key === GetThemeUnwrapped) {\n return theme\n }\n if (!len || Reflect.has(target, key)) {\n return Reflect.get(target, key)\n }\n // check parents\n for (let i = len - 1; i >= 0; i--) {\n const parent = themes[parents[i]]\n if (!parent) continue\n if (Reflect.has(parent, key)) {\n return Reflect.get(parent, key)\n }\n }\n return Reflect.get(target, key)\n },\n })\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAA2C;AAC3C,+BAAkC;AAK3B,SAAS,oBAAoB,OAAY,KAAa;AAC3D,QAAM,MAAM,MAAM,GAAG;AACrB,QAAM,WAAW;AACjB,MAAI,KAAC,kCAAW,GAAG,GAAG;AACpB,UAAM,GAAG,QAAI,sCAAe;AAAA,MAC1B,KAAK;AAAA,MACL,MAAM;AAAA,MACN;AAAA,IACF,CAAC;AAAA,EACH,OAAO;AACL,QAAI,IAAI,SAAS,UAAU;AAEzB,YAAM,GAAG,QAAI,sCAAe;AAAA,QAC1B,KAAK,IAAI;AAAA,QACT,MAAM;AAAA,QACN,KAAK,IAAI;AAAA,MACX,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEO,SAAS,oBACd,WACA,OACA,QACA;AAEA,QAAM,MAAgB,CAAC;AAGvB,QAAM,UAAU,UACb,MAAM,GAAG,EACT,MAAM,GAAG,EAAE,EACX,IAAI,CAAC,SAAS;AACb,QAAI,KAAK,IAAI;AACb,WAAO,IAAI,KAAK,GAAG;AAAA,EACrB,CAAC;AAEH,QAAM,MAAM,QAAQ;AAGpB,SAAO,IAAI,MAAM,OAAO;AAAA,IACtB,IAAI,QAAQ,KAAK;AACf,UAAI,QAAQ,4CAAmB;AAC7B,eAAO;AAAA,MACT;AACA,UAAI,CAAC,OAAO,QAAQ,IAAI,QAAQ,GAAG,GAAG;AACpC,eAAO,QAAQ,IAAI,QAAQ,GAAG;AAAA,MAChC;AAEA,eAAS,IAAI,MAAM,GAAG,KAAK,GAAG,KAAK;AACjC,cAAM,SAAS,OAAO,QAAQ,CAAC,CAAC;AAChC,YAAI,CAAC;AAAQ;AACb,YAAI,QAAQ,IAAI,QAAQ,GAAG,GAAG;AAC5B,iBAAO,QAAQ,IAAI,QAAQ,GAAG;AAAA,QAChC;AAAA,MACF;AACA,aAAO,QAAQ,IAAI,QAAQ,GAAG;AAAA,IAChC;AAAA,EACF,CAAC;AACH;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/useShallowSetState.tsx"],
4
- "sourcesContent": ["import React, { startTransition, useCallback } from 'react'\n\nimport { DebugProp } from '../types'\nimport { TamaguiComponentState } from '..'\n\nexport function useShallowSetState<State extends TamaguiComponentState>(\n setter: React.Dispatch<React.SetStateAction<State>>,\n debug?: DebugProp,\n debugName?: string\n) {\n return useCallback(\n (next: Partial<State>) => {\n const shouldTransition = Object.keys(next).every((k) =>\n transitionKeys.has(k as any)\n )\n const run = shouldTransition ? startTransition : (_) => _()\n run(() => {\n setter((prev) => {\n for (const key in next) {\n if (prev[key] !== next[key]) {\n if (process.env.NODE_ENV === 'development' && debug === 'verbose') {\n // eslint-disable-next-line no-console\n console.log(` \u25B2 setState ${debugName}`, next)\n }\n return { ...prev, ...next }\n }\n }\n return prev\n })\n })\n },\n [setter]\n )\n}\n\nconst transitionKeys = new Set<keyof TamaguiComponentState>([\n 'press',\n 'pressIn',\n 'focus',\n 'unmounted',\n])\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAoD;AAK7C,SAAS,mBACd,QACA,OACA,WACA;AACA,aAAO;AAAA,IACL,CAAC,SAAyB;AACxB,YAAM,mBAAmB,OAAO,KAAK,IAAI,EAAE;AAAA,QAAM,CAAC,MAChD,eAAe,IAAI,CAAQ;AAAA,MAC7B;AACA,YAAM,MAAM,mBAAmB,+BAAkB,CAAC,MAAM,EAAE;AAC1D,UAAI,MAAM;AACR,eAAO,CAAC,SAAS;AACf,qBAAW,OAAO,MAAM;AACtB,gBAAI,KAAK,GAAG,MAAM,KAAK,GAAG,GAAG;AAC3B,kBAAI,QAAQ,IAAI,aAAa,iBAAiB,UAAU,WAAW;AAEjE,wBAAQ,IAAI,oBAAe,aAAa,IAAI;AAAA,cAC9C;AACA,qBAAO,EAAE,GAAG,MAAM,GAAG,KAAK;AAAA,YAC5B;AAAA,UACF;AACA,iBAAO;AAAA,QACT,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,IACA,CAAC,MAAM;AAAA,EACT;AACF;AAEA,MAAM,iBAAiB,oBAAI,IAAiC;AAAA,EAC1D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;",
4
+ "sourcesContent": ["import React, { startTransition, useCallback } from 'react'\n\nimport { DebugProp, TamaguiComponentState } from '../types.js'\n\nexport function useShallowSetState<State extends TamaguiComponentState>(\n setter: React.Dispatch<React.SetStateAction<State>>,\n debug?: DebugProp,\n debugName?: string\n) {\n return useCallback(\n (next: Partial<State>) => {\n const shouldTransition = Object.keys(next).every((k) =>\n transitionKeys.has(k as any)\n )\n const run = shouldTransition ? startTransition : (_) => _()\n run(() => {\n setter((prev) => {\n for (const key in next) {\n if (prev[key] !== next[key]) {\n if (process.env.NODE_ENV === 'development' && debug === 'verbose') {\n // eslint-disable-next-line no-console\n console.log(` \u25B2 setState ${debugName}`, next)\n }\n return { ...prev, ...next }\n }\n }\n return prev\n })\n })\n },\n [setter]\n )\n}\n\nconst transitionKeys = new Set<keyof TamaguiComponentState>([\n 'press',\n 'pressIn',\n 'focus',\n 'unmounted',\n])\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAoD;AAI7C,SAAS,mBACd,QACA,OACA,WACA;AACA,aAAO;AAAA,IACL,CAAC,SAAyB;AACxB,YAAM,mBAAmB,OAAO,KAAK,IAAI,EAAE;AAAA,QAAM,CAAC,MAChD,eAAe,IAAI,CAAQ;AAAA,MAC7B;AACA,YAAM,MAAM,mBAAmB,+BAAkB,CAAC,MAAM,EAAE;AAC1D,UAAI,MAAM;AACR,eAAO,CAAC,SAAS;AACf,qBAAW,OAAO,MAAM;AACtB,gBAAI,KAAK,GAAG,MAAM,KAAK,GAAG,GAAG;AAC3B,kBAAI,QAAQ,IAAI,aAAa,iBAAiB,UAAU,WAAW;AAEjE,wBAAQ,IAAI,oBAAe,aAAa,IAAI;AAAA,cAC9C;AACA,qBAAO,EAAE,GAAG,MAAM,GAAG,KAAK;AAAA,YAC5B;AAAA,UACF;AACA,iBAAO;AAAA,QACT,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,IACA,CAAC,MAAM;AAAA,EACT;AACF;AAEA,MAAM,iBAAiB,oBAAI,IAAiC;AAAA,EAC1D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;",
6
6
  "names": []
7
7
  }
@@ -35,10 +35,10 @@ __export(useMedia_exports, {
35
35
  });
36
36
  module.exports = __toCommonJS(useMedia_exports);
37
37
  var import_react = require("react");
38
- var import_config = require("../config");
39
- var import_createProxy = require("../helpers/createProxy");
40
- var import_matchMedia = require("../helpers/matchMedia");
41
- var import_useSafeRef = require("./useSafeRef");
38
+ var import_config = require("../config.js");
39
+ var import_createProxy = require("../helpers/createProxy.js");
40
+ var import_matchMedia = require("../helpers/matchMedia.js");
41
+ var import_useSafeRef = require("./useSafeRef.js");
42
42
  let mediaState = (
43
43
  // development only safeguard
44
44
  process.env.NODE_ENV === "development" ? (0, import_createProxy.createProxy)(
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/useMedia.tsx"],
4
- "sourcesContent": ["import { startTransition, useEffect, useMemo, useSyncExternalStore } from 'react'\n\nimport { getConfig } from '../config'\nimport { createProxy } from '../helpers/createProxy'\nimport { matchMedia } from '../helpers/matchMedia'\nimport {\n MediaQueries,\n MediaQueryKey,\n MediaQueryObject,\n MediaQueryState,\n TamaguiInternalConfig,\n} from '../types'\nimport { useSafeRef } from './useSafeRef'\n\nexport let mediaState: MediaQueryState =\n // development only safeguard\n process.env.NODE_ENV === 'development'\n ? createProxy(\n {},\n {\n get(target, key) {\n if (\n typeof key === 'string' &&\n key[0] === '$' &&\n // dont error on $$typeof\n key[1] !== '$'\n ) {\n throw new Error(`Access mediaState should not use \"$\": ${key}`)\n }\n return Reflect.get(target, key)\n },\n }\n )\n : ({} as any)\n\nexport const mediaQueryConfig: MediaQueries = {}\nexport const getMedia = () => mediaState\nexport const mediaKeysWithAndWithout$ = new Set<string>()\n\n// for SSR capture it at time of startup\nlet initState: MediaQueryState\nexport const getInitialMediaState = () => {\n return (getConfig().disableSSR ? mediaState : initState) || {}\n}\n\nlet mediaKeysOrdered: string[]\nexport const getMediaKeyImportance = (key: string) => {\n if (process.env.NODE_ENV === 'development' && key[0] === '$') {\n throw new Error('use short key')\n }\n // + 2 because we set base usedKeys=1 in getSplitStyles and all media go above 1\n return mediaKeysOrdered.indexOf(key) + 2\n}\n\nconst dispose = new Set<Function>()\n\nexport const configureMedia = (config: TamaguiInternalConfig) => {\n const { media, mediaQueryDefaultActive } = config\n if (!media) return\n for (const key in media) {\n mediaState[key] = mediaQueryDefaultActive?.[key] || false\n mediaKeysWithAndWithout$.add(key)\n mediaKeysWithAndWithout$.add(`$${key}`)\n }\n Object.assign(mediaQueryConfig, media)\n initState = { ...mediaState }\n updateCurrentState()\n mediaKeysOrdered = Object.keys(media)\n if (config.disableSSR) {\n setupMediaListeners()\n }\n}\n\nfunction unlisten() {\n dispose.forEach((cb) => cb())\n dispose.clear()\n}\n\n/**\n * Note: This should *not* set the state on the first render!\n * Because to avoid hydration issues SSR must match the server\n * *and then* re-render with the actual media query state.\n */\nlet configuredKey = ''\nfunction setupMediaListeners() {\n // avoid setting up more than once per config\n const nextKey = JSON.stringify(mediaQueryConfig)\n if (nextKey === configuredKey) return\n configuredKey = nextKey\n\n // hmr, undo existing before re-binding\n unlisten()\n\n for (const key in mediaQueryConfig) {\n const str = mediaObjectToString(mediaQueryConfig[key])\n const getMatch = () => matchMedia(str)\n const match = getMatch()\n if (!match) {\n throw new Error('\u26A0\uFE0F No match')\n }\n // react native needs these deprecated apis for now\n match.addListener(update)\n dispose.add(() => {\n match.removeListener(update)\n })\n\n update()\n\n function update() {\n const next = !!getMatch().matches\n if (next === mediaState[key]) return\n mediaState = { ...mediaState, [key]: next }\n updateCurrentState()\n }\n }\n}\n\nexport function useMediaListeners(config: TamaguiInternalConfig) {\n if (config.disableSSR) return\n useEffect(() => {\n setupMediaListeners()\n }, [])\n}\n\nconst listeners = new Set<any>()\nlet flushing = false\nfunction updateCurrentState() {\n if (flushing) return\n flushing = true\n Promise.resolve().then(() => {\n flushing = false\n startTransition(() => {\n listeners.forEach((cb) => cb(mediaState))\n })\n })\n}\n\ntype MediaKeysState = {\n [key: string]: any\n}\n\ntype UseMediaState = {\n [key in MediaQueryKey]: boolean\n}\n\ntype UpdateState = {\n enabled: boolean\n keys: MediaQueryKey[]\n}\n\nconst shouldUpdate = new WeakMap<any, UpdateState>()\n\nexport function setMediaShouldUpdate(ref: any, props: UpdateState) {\n return shouldUpdate.set(ref, props)\n}\n\ntype UseMediaInternalState = {\n prev: MediaKeysState\n touched?: Set<string>\n}\n\nfunction subscribe(subscriber: any) {\n listeners.add(subscriber)\n return () => listeners.delete(subscriber)\n}\n\nexport function useMedia(uid?: any, debug?: any): UseMediaState {\n const internal = useSafeRef<UseMediaInternalState>(undefined as any)\n if (!internal.current) {\n internal.current = {\n prev: initState,\n }\n }\n const state = useSyncExternalStore<MediaQueryState>(\n subscribe,\n () => {\n const { touched, prev } = internal.current\n const componentState = uid ? shouldUpdate.get(uid) : undefined\n if (componentState?.enabled === false) {\n return prev\n }\n\n const testKeys =\n componentState?.keys ??\n ((!componentState || componentState.enabled) && touched ? [...touched] : null)\n\n const hasntUpdated = testKeys?.every((key) => mediaState[key] === prev[key])\n if (hasntUpdated) {\n return prev\n }\n\n internal.current.prev = mediaState\n return mediaState\n },\n () => initState\n )\n\n return useMemo(() => {\n return new Proxy(state, {\n get(_, key) {\n if (typeof key === 'string') {\n internal.current.touched ||= new Set()\n internal.current.touched.add(key)\n }\n return Reflect.get(state, key)\n },\n })\n }, [state])\n}\n\n/**\n * Useful for more complex components that need access to the currently active props,\n * accounting for the currently active media queries.\n *\n * Use sparingly, it will loop props and trigger re-render on all media queries.\n *\n * */\nexport function useMediaPropsActive<A extends Object>(\n props: A\n): {\n // remove all media\n [Key in keyof A extends `$${string}` ? never : keyof A]?: A[Key]\n} {\n const media = useMedia()\n\n return useMemo(() => {\n const next = {} as A\n const importancesUsed = {}\n const propNames = Object.keys(props)\n\n for (let i = propNames.length - 1; i >= 0; i--) {\n const key = propNames[i]\n const val = props[key]\n if (key[0] === '$') {\n const mediaKey = key.slice(1)\n if (!media[mediaKey]) continue\n if (val && typeof val === 'object') {\n const subKeys = Object.keys(val)\n for (let j = subKeys.length; j--; j >= 0) {\n const subKey = subKeys[j]\n mergeMediaByImportance(next, mediaKey, subKey, val[subKey], importancesUsed)\n }\n }\n } else {\n mergeMediaByImportance(next, '', key, val, importancesUsed)\n }\n }\n\n return next\n }, [media, props])\n}\n\nexport const getMediaImportanceIfMoreImportant = (\n mediaKey: string,\n key: string,\n importancesUsed: Record<string, number>\n) => {\n const importance = getMediaKeyImportance(mediaKey)\n return !importancesUsed[key] || importance > importancesUsed[key] ? importance : null\n}\n\nexport function mergeMediaByImportance(\n onto: Record<string, any>,\n mediaKey: string,\n key: string,\n value: any,\n importancesUsed: Record<string, number>\n) {\n const importance = getMediaImportanceIfMoreImportant(mediaKey, key, importancesUsed)\n if (importance === null) {\n return false\n }\n importancesUsed[key] = importance\n onto[key] = value\n return true\n}\n\nfunction camelToHyphen(str: string) {\n return str.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`).toLowerCase()\n}\n\nexport function mediaObjectToString(query: string | MediaQueryObject) {\n if (typeof query === 'string') {\n return query\n }\n return Object.entries(query)\n .map(([feature, value]) => {\n feature = camelToHyphen(feature)\n if (typeof value === 'string') {\n return `(${feature}: ${value})`\n }\n if (typeof value === 'number' && /[height|width]$/.test(feature)) {\n value = `${value}px`\n }\n return `(${feature}: ${value})`\n })\n .join(' and ')\n}\n"],
4
+ "sourcesContent": ["import { startTransition, useEffect, useMemo, useSyncExternalStore } from 'react'\n\nimport { getConfig } from '../config.js'\nimport { createProxy } from '../helpers/createProxy.js'\nimport { matchMedia } from '../helpers/matchMedia.js'\nimport {\n MediaQueries,\n MediaQueryKey,\n MediaQueryObject,\n MediaQueryState,\n TamaguiInternalConfig,\n} from '../types.js'\nimport { useSafeRef } from './useSafeRef.js'\n\nexport let mediaState: MediaQueryState =\n // development only safeguard\n process.env.NODE_ENV === 'development'\n ? createProxy(\n {},\n {\n get(target, key) {\n if (\n typeof key === 'string' &&\n key[0] === '$' &&\n // dont error on $$typeof\n key[1] !== '$'\n ) {\n throw new Error(`Access mediaState should not use \"$\": ${key}`)\n }\n return Reflect.get(target, key)\n },\n }\n )\n : ({} as any)\n\nexport const mediaQueryConfig: MediaQueries = {}\nexport const getMedia = () => mediaState\nexport const mediaKeysWithAndWithout$ = new Set<string>()\n\n// for SSR capture it at time of startup\nlet initState: MediaQueryState\nexport const getInitialMediaState = () => {\n return (getConfig().disableSSR ? mediaState : initState) || {}\n}\n\nlet mediaKeysOrdered: string[]\nexport const getMediaKeyImportance = (key: string) => {\n if (process.env.NODE_ENV === 'development' && key[0] === '$') {\n throw new Error('use short key')\n }\n // + 2 because we set base usedKeys=1 in getSplitStyles and all media go above 1\n return mediaKeysOrdered.indexOf(key) + 2\n}\n\nconst dispose = new Set<Function>()\n\nexport const configureMedia = (config: TamaguiInternalConfig) => {\n const { media, mediaQueryDefaultActive } = config\n if (!media) return\n for (const key in media) {\n mediaState[key] = mediaQueryDefaultActive?.[key] || false\n mediaKeysWithAndWithout$.add(key)\n mediaKeysWithAndWithout$.add(`$${key}`)\n }\n Object.assign(mediaQueryConfig, media)\n initState = { ...mediaState }\n updateCurrentState()\n mediaKeysOrdered = Object.keys(media)\n if (config.disableSSR) {\n setupMediaListeners()\n }\n}\n\nfunction unlisten() {\n dispose.forEach((cb) => cb())\n dispose.clear()\n}\n\n/**\n * Note: This should *not* set the state on the first render!\n * Because to avoid hydration issues SSR must match the server\n * *and then* re-render with the actual media query state.\n */\nlet configuredKey = ''\nfunction setupMediaListeners() {\n // avoid setting up more than once per config\n const nextKey = JSON.stringify(mediaQueryConfig)\n if (nextKey === configuredKey) return\n configuredKey = nextKey\n\n // hmr, undo existing before re-binding\n unlisten()\n\n for (const key in mediaQueryConfig) {\n const str = mediaObjectToString(mediaQueryConfig[key])\n const getMatch = () => matchMedia(str)\n const match = getMatch()\n if (!match) {\n throw new Error('\u26A0\uFE0F No match')\n }\n // react native needs these deprecated apis for now\n match.addListener(update)\n dispose.add(() => {\n match.removeListener(update)\n })\n\n update()\n\n function update() {\n const next = !!getMatch().matches\n if (next === mediaState[key]) return\n mediaState = { ...mediaState, [key]: next }\n updateCurrentState()\n }\n }\n}\n\nexport function useMediaListeners(config: TamaguiInternalConfig) {\n if (config.disableSSR) return\n useEffect(() => {\n setupMediaListeners()\n }, [])\n}\n\nconst listeners = new Set<any>()\nlet flushing = false\nfunction updateCurrentState() {\n if (flushing) return\n flushing = true\n Promise.resolve().then(() => {\n flushing = false\n startTransition(() => {\n listeners.forEach((cb) => cb(mediaState))\n })\n })\n}\n\ntype MediaKeysState = {\n [key: string]: any\n}\n\ntype UseMediaState = {\n [key in MediaQueryKey]: boolean\n}\n\ntype UpdateState = {\n enabled: boolean\n keys: MediaQueryKey[]\n}\n\nconst shouldUpdate = new WeakMap<any, UpdateState>()\n\nexport function setMediaShouldUpdate(ref: any, props: UpdateState) {\n return shouldUpdate.set(ref, props)\n}\n\ntype UseMediaInternalState = {\n prev: MediaKeysState\n touched?: Set<string>\n}\n\nfunction subscribe(subscriber: any) {\n listeners.add(subscriber)\n return () => listeners.delete(subscriber)\n}\n\nexport function useMedia(uid?: any, debug?: any): UseMediaState {\n const internal = useSafeRef<UseMediaInternalState>(undefined as any)\n if (!internal.current) {\n internal.current = {\n prev: initState,\n }\n }\n const state = useSyncExternalStore<MediaQueryState>(\n subscribe,\n () => {\n const { touched, prev } = internal.current\n const componentState = uid ? shouldUpdate.get(uid) : undefined\n if (componentState?.enabled === false) {\n return prev\n }\n\n const testKeys =\n componentState?.keys ??\n ((!componentState || componentState.enabled) && touched ? [...touched] : null)\n\n const hasntUpdated = testKeys?.every((key) => mediaState[key] === prev[key])\n if (hasntUpdated) {\n return prev\n }\n\n internal.current.prev = mediaState\n return mediaState\n },\n () => initState\n )\n\n return useMemo(() => {\n return new Proxy(state, {\n get(_, key) {\n if (typeof key === 'string') {\n internal.current.touched ||= new Set()\n internal.current.touched.add(key)\n }\n return Reflect.get(state, key)\n },\n })\n }, [state])\n}\n\n/**\n * Useful for more complex components that need access to the currently active props,\n * accounting for the currently active media queries.\n *\n * Use sparingly, it will loop props and trigger re-render on all media queries.\n *\n * */\nexport function useMediaPropsActive<A extends Object>(\n props: A\n): {\n // remove all media\n [Key in keyof A extends `$${string}` ? never : keyof A]?: A[Key]\n} {\n const media = useMedia()\n\n return useMemo(() => {\n const next = {} as A\n const importancesUsed = {}\n const propNames = Object.keys(props)\n\n for (let i = propNames.length - 1; i >= 0; i--) {\n const key = propNames[i]\n const val = props[key]\n if (key[0] === '$') {\n const mediaKey = key.slice(1)\n if (!media[mediaKey]) continue\n if (val && typeof val === 'object') {\n const subKeys = Object.keys(val)\n for (let j = subKeys.length; j--; j >= 0) {\n const subKey = subKeys[j]\n mergeMediaByImportance(next, mediaKey, subKey, val[subKey], importancesUsed)\n }\n }\n } else {\n mergeMediaByImportance(next, '', key, val, importancesUsed)\n }\n }\n\n return next\n }, [media, props])\n}\n\nexport const getMediaImportanceIfMoreImportant = (\n mediaKey: string,\n key: string,\n importancesUsed: Record<string, number>\n) => {\n const importance = getMediaKeyImportance(mediaKey)\n return !importancesUsed[key] || importance > importancesUsed[key] ? importance : null\n}\n\nexport function mergeMediaByImportance(\n onto: Record<string, any>,\n mediaKey: string,\n key: string,\n value: any,\n importancesUsed: Record<string, number>\n) {\n const importance = getMediaImportanceIfMoreImportant(mediaKey, key, importancesUsed)\n if (importance === null) {\n return false\n }\n importancesUsed[key] = importance\n onto[key] = value\n return true\n}\n\nfunction camelToHyphen(str: string) {\n return str.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`).toLowerCase()\n}\n\nexport function mediaObjectToString(query: string | MediaQueryObject) {\n if (typeof query === 'string') {\n return query\n }\n return Object.entries(query)\n .map(([feature, value]) => {\n feature = camelToHyphen(feature)\n if (typeof value === 'string') {\n return `(${feature}: ${value})`\n }\n if (typeof value === 'number' && /[height|width]$/.test(feature)) {\n value = `${value}px`\n }\n return `(${feature}: ${value})`\n })\n .join(' and ')\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0E;AAE1E,oBAA0B;AAC1B,yBAA4B;AAC5B,wBAA2B;AAQ3B,wBAA2B;AAEpB,IAAI;AAAA;AAAA,EAET,QAAQ,IAAI,aAAa,oBACrB;AAAA,IACE,CAAC;AAAA,IACD;AAAA,MACE,IAAI,QAAQ,KAAK;AACf,YACE,OAAO,QAAQ,YACf,IAAI,CAAC,MAAM;AAAA,QAEX,IAAI,CAAC,MAAM,KACX;AACA,gBAAM,IAAI,MAAM,yCAAyC,KAAK;AAAA,QAChE;AACA,eAAO,QAAQ,IAAI,QAAQ,GAAG;AAAA,MAChC;AAAA,IACF;AAAA,EACF,IACC,CAAC;AAAA;AAED,MAAM,mBAAiC,CAAC;AACxC,MAAM,WAAW,MAAM;AACvB,MAAM,2BAA2B,oBAAI,IAAY;AAGxD,IAAI;AACG,MAAM,uBAAuB,MAAM;AACxC,cAAQ,yBAAU,EAAE,aAAa,aAAa,cAAc,CAAC;AAC/D;AAEA,IAAI;AACG,MAAM,wBAAwB,CAAC,QAAgB;AACpD,MAAI,QAAQ,IAAI,aAAa,iBAAiB,IAAI,CAAC,MAAM,KAAK;AAC5D,UAAM,IAAI,MAAM,eAAe;AAAA,EACjC;AAEA,SAAO,iBAAiB,QAAQ,GAAG,IAAI;AACzC;AAEA,MAAM,UAAU,oBAAI,IAAc;AAE3B,MAAM,iBAAiB,CAAC,WAAkC;AAC/D,QAAM,EAAE,OAAO,wBAAwB,IAAI;AAC3C,MAAI,CAAC;AAAO;AACZ,aAAW,OAAO,OAAO;AACvB,eAAW,GAAG,KAAI,mEAA0B,SAAQ;AACpD,6BAAyB,IAAI,GAAG;AAChC,6BAAyB,IAAI,IAAI,KAAK;AAAA,EACxC;AACA,SAAO,OAAO,kBAAkB,KAAK;AACrC,cAAY,EAAE,GAAG,WAAW;AAC5B,qBAAmB;AACnB,qBAAmB,OAAO,KAAK,KAAK;AACpC,MAAI,OAAO,YAAY;AACrB,wBAAoB;AAAA,EACtB;AACF;AAEA,SAAS,WAAW;AAClB,UAAQ,QAAQ,CAAC,OAAO,GAAG,CAAC;AAC5B,UAAQ,MAAM;AAChB;AAOA,IAAI,gBAAgB;AACpB,SAAS,sBAAsB;AAE7B,QAAM,UAAU,KAAK,UAAU,gBAAgB;AAC/C,MAAI,YAAY;AAAe;AAC/B,kBAAgB;AAGhB,WAAS;AAET,aAAW,OAAO,kBAAkB;AAelC,QAASA,UAAT,WAAkB;AAChB,YAAM,OAAO,CAAC,CAAC,SAAS,EAAE;AAC1B,UAAI,SAAS,WAAW,GAAG;AAAG;AAC9B,mBAAa,EAAE,GAAG,YAAY,CAAC,GAAG,GAAG,KAAK;AAC1C,yBAAmB;AAAA,IACrB;AALS,iBAAAA;AAdT,UAAM,MAAM,oBAAoB,iBAAiB,GAAG,CAAC;AACrD,UAAM,WAAW,UAAM,8BAAW,GAAG;AACrC,UAAM,QAAQ,SAAS;AACvB,QAAI,CAAC,OAAO;AACV,YAAM,IAAI,MAAM,uBAAa;AAAA,IAC/B;AAEA,UAAM,YAAYA,OAAM;AACxB,YAAQ,IAAI,MAAM;AAChB,YAAM,eAAeA,OAAM;AAAA,IAC7B,CAAC;AAED,IAAAA,QAAO;AAAA,EAQT;AACF;AAEO,SAAS,kBAAkB,QAA+B;AAC/D,MAAI,OAAO;AAAY;AACvB,8BAAU,MAAM;AACd,wBAAoB;AAAA,EACtB,GAAG,CAAC,CAAC;AACP;AAEA,MAAM,YAAY,oBAAI,IAAS;AAC/B,IAAI,WAAW;AACf,SAAS,qBAAqB;AAC5B,MAAI;AAAU;AACd,aAAW;AACX,UAAQ,QAAQ,EAAE,KAAK,MAAM;AAC3B,eAAW;AACX,sCAAgB,MAAM;AACpB,gBAAU,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC;AAAA,IAC1C,CAAC;AAAA,EACH,CAAC;AACH;AAeA,MAAM,eAAe,oBAAI,QAA0B;AAE5C,SAAS,qBAAqB,KAAU,OAAoB;AACjE,SAAO,aAAa,IAAI,KAAK,KAAK;AACpC;AAOA,SAAS,UAAU,YAAiB;AAClC,YAAU,IAAI,UAAU;AACxB,SAAO,MAAM,UAAU,OAAO,UAAU;AAC1C;AAEO,SAAS,SAAS,KAAW,OAA4B;AAC9D,QAAM,eAAW,8BAAkC,MAAgB;AACnE,MAAI,CAAC,SAAS,SAAS;AACrB,aAAS,UAAU;AAAA,MACjB,MAAM;AAAA,IACR;AAAA,EACF;AACA,QAAM,YAAQ;AAAA,IACZ;AAAA,IACA,MAAM;AACJ,YAAM,EAAE,SAAS,KAAK,IAAI,SAAS;AACnC,YAAM,iBAAiB,MAAM,aAAa,IAAI,GAAG,IAAI;AACrD,WAAI,iDAAgB,aAAY,OAAO;AACrC,eAAO;AAAA,MACT;AAEA,YAAM,YACJ,iDAAgB,WACd,CAAC,kBAAkB,eAAe,YAAY,UAAU,CAAC,GAAG,OAAO,IAAI;AAE3E,YAAM,eAAe,qCAAU,MAAM,CAAC,QAAQ,WAAW,GAAG,MAAM,KAAK,GAAG;AAC1E,UAAI,cAAc;AAChB,eAAO;AAAA,MACT;AAEA,eAAS,QAAQ,OAAO;AACxB,aAAO;AAAA,IACT;AAAA,IACA,MAAM;AAAA,EACR;AAEA,aAAO,sBAAQ,MAAM;AACnB,WAAO,IAAI,MAAM,OAAO;AAAA,MACtB,IAAI,GAAG,KAAK;AAvMlB;AAwMQ,YAAI,OAAO,QAAQ,UAAU;AAC3B,yBAAS,SAAQ,YAAjB,GAAiB,UAAY,oBAAI,IAAI;AACrC,mBAAS,QAAQ,QAAQ,IAAI,GAAG;AAAA,QAClC;AACA,eAAO,QAAQ,IAAI,OAAO,GAAG;AAAA,MAC/B;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,KAAK,CAAC;AACZ;AASO,SAAS,oBACd,OAIA;AACA,QAAM,QAAQ,SAAS;AAEvB,aAAO,sBAAQ,MAAM;AACnB,UAAM,OAAO,CAAC;AACd,UAAM,kBAAkB,CAAC;AACzB,UAAM,YAAY,OAAO,KAAK,KAAK;AAEnC,aAAS,IAAI,UAAU,SAAS,GAAG,KAAK,GAAG,KAAK;AAC9C,YAAM,MAAM,UAAU,CAAC;AACvB,YAAM,MAAM,MAAM,GAAG;AACrB,UAAI,IAAI,CAAC,MAAM,KAAK;AAClB,cAAM,WAAW,IAAI,MAAM,CAAC;AAC5B,YAAI,CAAC,MAAM,QAAQ;AAAG;AACtB,YAAI,OAAO,OAAO,QAAQ,UAAU;AAClC,gBAAM,UAAU,OAAO,KAAK,GAAG;AAC/B,mBAAS,IAAI,QAAQ,QAAQ,KAAK,KAAK,GAAG;AACxC,kBAAM,SAAS,QAAQ,CAAC;AACxB,mCAAuB,MAAM,UAAU,QAAQ,IAAI,MAAM,GAAG,eAAe;AAAA,UAC7E;AAAA,QACF;AAAA,MACF,OAAO;AACL,+BAAuB,MAAM,IAAI,KAAK,KAAK,eAAe;AAAA,MAC5D;AAAA,IACF;AAEA,WAAO;AAAA,EACT,GAAG,CAAC,OAAO,KAAK,CAAC;AACnB;AAEO,MAAM,oCAAoC,CAC/C,UACA,KACA,oBACG;AACH,QAAM,aAAa,sBAAsB,QAAQ;AACjD,SAAO,CAAC,gBAAgB,GAAG,KAAK,aAAa,gBAAgB,GAAG,IAAI,aAAa;AACnF;AAEO,SAAS,uBACd,MACA,UACA,KACA,OACA,iBACA;AACA,QAAM,aAAa,kCAAkC,UAAU,KAAK,eAAe;AACnF,MAAI,eAAe,MAAM;AACvB,WAAO;AAAA,EACT;AACA,kBAAgB,GAAG,IAAI;AACvB,OAAK,GAAG,IAAI;AACZ,SAAO;AACT;AAEA,SAAS,cAAc,KAAa;AAClC,SAAO,IAAI,QAAQ,UAAU,CAAC,MAAM,IAAI,EAAE,YAAY,GAAG,EAAE,YAAY;AACzE;AAEO,SAAS,oBAAoB,OAAkC;AACpE,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO;AAAA,EACT;AACA,SAAO,OAAO,QAAQ,KAAK,EACxB,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM;AACzB,cAAU,cAAc,OAAO;AAC/B,QAAI,OAAO,UAAU,UAAU;AAC7B,aAAO,IAAI,YAAY;AAAA,IACzB;AACA,QAAI,OAAO,UAAU,YAAY,kBAAkB,KAAK,OAAO,GAAG;AAChE,cAAQ,GAAG;AAAA,IACb;AACA,WAAO,IAAI,YAAY;AAAA,EACzB,CAAC,EACA,KAAK,OAAO;AACjB;",
6
6
  "names": ["update"]
7
7
  }
@@ -23,11 +23,11 @@ __export(useStyle_exports, {
23
23
  module.exports = __toCommonJS(useStyle_exports);
24
24
  var import_constants = require("@tamagui/constants");
25
25
  var import_react = require("react");
26
- var import_FontLanguageContext = require("../contexts/FontLanguageContext");
27
- var import_TextAncestorContext = require("../contexts/TextAncestorContext");
28
- var import_getSplitStyles = require("../helpers/getSplitStyles");
29
- var import_useMedia = require("./useMedia");
30
- var import_useTheme = require("./useTheme");
26
+ var import_FontLanguageContext = require("../contexts/FontLanguageContext.js");
27
+ var import_TextAncestorContext = require("../contexts/TextAncestorContext.js");
28
+ var import_getSplitStyles = require("../helpers/getSplitStyles.js");
29
+ var import_useMedia = require("./useMedia.js");
30
+ var import_useTheme = require("./useTheme.js");
31
31
  function useStyle(base, style, options) {
32
32
  const isText = base.staticConfig.isText;
33
33
  const hasTextAncestor = !!(import_constants.isWeb && isText ? (0, import_react.useContext)(import_TextAncestorContext.TextAncestorContext) : false);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/useStyle.tsx"],
4
- "sourcesContent": ["import { isRSC, isWeb } from '@tamagui/constants'\nimport { useContext } from 'react'\n\nimport { FontLanguageContext } from '../contexts/FontLanguageContext'\nimport { TextAncestorContext } from '../contexts/TextAncestorContext'\nimport { useSplitStyles } from '../helpers/getSplitStyles'\nimport {\n DebugProp,\n GetProps,\n SplitStyleState,\n TamaguiComponent,\n TextNonStyleProps,\n} from '../types'\nimport { useMedia } from './useMedia'\nimport { useTheme } from './useTheme'\n\nexport function useStyle<\n Component extends TamaguiComponent,\n StyleProps = Omit<GetProps<Component>, keyof TextNonStyleProps>\n>(\n base: Component,\n style: StyleProps,\n options?: Partial<SplitStyleState> & { debug?: DebugProp }\n) {\n const isText = base.staticConfig.isText\n const hasTextAncestor = !!(isWeb && isText ? useContext(TextAncestorContext) : false)\n const languageContext = isRSC ? null : useContext(FontLanguageContext)\n const theme = useTheme()\n const media = useMedia()\n const out = useSplitStyles(\n style as any,\n base.staticConfig,\n theme,\n {\n ...(options as any),\n mediaState: media,\n hasTextAncestor,\n resolveVariablesAs: 'auto',\n },\n null,\n languageContext || undefined,\n isText ? 'span' : 'div',\n options?.debug\n )\n return {\n style: Object.keys(out.style).length ? out.style : null,\n classNames: out.classNames,\n }\n}\n"],
4
+ "sourcesContent": ["import { isRSC, isWeb } from '@tamagui/constants'\nimport { useContext } from 'react'\n\nimport { FontLanguageContext } from '../contexts/FontLanguageContext.js'\nimport { TextAncestorContext } from '../contexts/TextAncestorContext.js'\nimport { useSplitStyles } from '../helpers/getSplitStyles.js'\nimport {\n DebugProp,\n GetProps,\n SplitStyleState,\n TamaguiComponent,\n TextNonStyleProps,\n} from '../types'\nimport { useMedia } from './useMedia.js'\nimport { useTheme } from './useTheme.js'\n\nexport function useStyle<\n Component extends TamaguiComponent,\n StyleProps = Omit<GetProps<Component>, keyof TextNonStyleProps>\n>(\n base: Component,\n style: StyleProps,\n options?: Partial<SplitStyleState> & { debug?: DebugProp }\n) {\n const isText = base.staticConfig.isText\n const hasTextAncestor = !!(isWeb && isText ? useContext(TextAncestorContext) : false)\n const languageContext = isRSC ? null : useContext(FontLanguageContext)\n const theme = useTheme()\n const media = useMedia()\n const out = useSplitStyles(\n style as any,\n base.staticConfig,\n theme,\n {\n ...(options as any),\n mediaState: media,\n hasTextAncestor,\n resolveVariablesAs: 'auto',\n },\n null,\n languageContext || undefined,\n isText ? 'span' : 'div',\n options?.debug\n )\n return {\n style: Object.keys(out.style).length ? out.style : null,\n classNames: out.classNames,\n }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA6B;AAC7B,mBAA2B;AAE3B,iCAAoC;AACpC,iCAAoC;AACpC,4BAA+B;AAQ/B,sBAAyB;AACzB,sBAAyB;AAElB,SAAS,SAId,MACA,OACA,SACA;AACA,QAAM,SAAS,KAAK,aAAa;AACjC,QAAM,kBAAkB,CAAC,EAAE,0BAAS,aAAS,yBAAW,8CAAmB,IAAI;AAC/E,QAAM,kBAAkB,yBAAQ,WAAO,yBAAW,8CAAmB;AACrE,QAAM,YAAQ,0BAAS;AACvB,QAAM,YAAQ,0BAAS;AACvB,QAAM,UAAM;AAAA,IACV;AAAA,IACA,KAAK;AAAA,IACL;AAAA,IACA;AAAA,MACE,GAAI;AAAA,MACJ,YAAY;AAAA,MACZ;AAAA,MACA,oBAAoB;AAAA,IACtB;AAAA,IACA;AAAA,IACA,mBAAmB;AAAA,IACnB,SAAS,SAAS;AAAA,IAClB,mCAAS;AAAA,EACX;AACA,SAAO;AAAA,IACL,OAAO,OAAO,KAAK,IAAI,KAAK,EAAE,SAAS,IAAI,QAAQ;AAAA,IACnD,YAAY,IAAI;AAAA,EAClB;AACF;",
6
6
  "names": []
7
7
  }
@@ -27,13 +27,13 @@ __export(useTheme_exports, {
27
27
  module.exports = __toCommonJS(useTheme_exports);
28
28
  var import_constants = require("@tamagui/constants");
29
29
  var import_react = require("react");
30
- var import_config = require("../config");
31
- var import_isDevTools = require("../constants/isDevTools");
32
- var import_createProxy = require("../helpers/createProxy");
33
- var import_ThemeManager = require("../helpers/ThemeManager");
34
- var import_ThemeManagerContext = require("../helpers/ThemeManagerContext");
35
- var import_getThemeUnwrapped = require("./getThemeUnwrapped");
36
- var import_useServerHooks = require("./useServerHooks");
30
+ var import_config = require("../config.js");
31
+ var import_isDevTools = require("../constants/isDevTools.js");
32
+ var import_createProxy = require("../helpers/createProxy.js");
33
+ var import_ThemeManager = require("../helpers/ThemeManager.js");
34
+ var import_ThemeManagerContext = require("../helpers/ThemeManagerContext.js");
35
+ var import_getThemeUnwrapped = require("./getThemeUnwrapped.js");
36
+ var import_useServerHooks = require("./useServerHooks.js");
37
37
  const emptyProps = { name: null };
38
38
  function getDefaultThemeProxied() {
39
39
  const config = (0, import_config.getConfig)();
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/useTheme.tsx"],
4
- "sourcesContent": ["/* eslint-disable no-console */\nimport { isClient, isRSC, isServer, isWeb } from '@tamagui/constants'\nimport { useContext, useEffect, useMemo, useState } from 'react'\n\nimport { getConfig } from '../config'\nimport { isDevTools } from '../constants/isDevTools'\nimport { createProxy } from '../helpers/createProxy'\nimport {\n ThemeManager,\n ThemeManagerState,\n hasNoThemeUpdatingProps,\n} from '../helpers/ThemeManager'\nimport { ThemeManagerContext } from '../helpers/ThemeManagerContext'\nimport { ThemeParsed, ThemeProps } from '../types'\nimport { GetThemeUnwrapped } from './getThemeUnwrapped'\nimport { useServerRef } from './useServerHooks'\n\nexport type ChangedThemeResponse = {\n themeManager: ThemeManager | null\n name: string\n isNewTheme?: boolean\n theme?: ThemeParsed | null\n className?: string\n}\n\nconst emptyProps = { name: null }\n\nfunction getDefaultThemeProxied() {\n const config = getConfig()\n const name = Object.keys(config.themes)[0]\n return getThemeProxied({\n theme: config.themes[name],\n name,\n })\n}\n\nexport const useTheme = (props: ThemeProps = emptyProps): ThemeParsed => {\n return (isRSC ? null : useThemeWithState(props)?.theme) || getDefaultThemeProxied()\n}\n\nexport const useThemeWithState = (props: ThemeProps) => {\n const keys = useServerRef([])\n\n const changedTheme = useChangeThemeEffect(\n props,\n false,\n isClient\n ? () => {\n return props.shouldUpdate?.() ?? keys.current.length === 0\n }\n : undefined\n )\n\n const { themeManager, isNewTheme, theme, name, className } = changedTheme\n\n if (process.env.NODE_ENV === 'development') {\n // ensure we aren't creating too many ThemeManagers\n // prettier-ignore\n if (isWeb && isNewTheme && className === themeManager?.parentManager?.state.className) {\n console.error('Should always change, duplicating ThemeMananger bug', themeManager)\n }\n if (props.debug === 'verbose') {\n console.groupCollapsed(' \uD83D\uDD39 useTheme =>', name)\n const logs = { ...props, name, className, ...(isDevTools && { theme }) }\n for (const key in logs) {\n console.log(' ', key, logs[key])\n }\n console.groupEnd()\n }\n }\n\n if (!changedTheme.theme) {\n if (process.env.NODE_ENV === 'development') {\n console.warn('No theme found', name, props, themeManager)\n }\n return null\n }\n\n const proxiedTheme = useMemo(() => {\n return getThemeProxied(changedTheme as any)\n }, [theme, isNewTheme, name, className, themeManager])\n\n return {\n ...changedTheme,\n theme: proxiedTheme,\n }\n}\n\nexport function getThemeProxied({\n theme,\n themeManager,\n keys,\n}: Partial<ChangedThemeResponse> & {\n theme: ThemeParsed\n keys?: React.RefObject<string[]>\n}) {\n return createProxy(theme, {\n has(_, key) {\n if (typeof key === 'string') {\n if (key[0] === '$') key = key.slice(1)\n return themeManager?.allKeys.has(key)\n }\n return Reflect.has(theme, key)\n },\n get(_, key) {\n if (key === GetThemeUnwrapped) {\n return theme\n }\n if (\n key === 'undefined' ||\n key === '__proto__' ||\n key === '$typeof' ||\n typeof key !== 'string' ||\n !themeManager\n ) {\n return Reflect.get(_, key)\n }\n const keyString = key\n // auto convert variables to plain\n if (key[0] === '$') {\n key = key.slice(1)\n }\n const val = themeManager.getValue(key)\n const currentKeys = keys?.current\n if (val && currentKeys) {\n return new Proxy(val as any, {\n // when they touch the actual value we only track it\n // if its a variable (web), its ignored!\n get(_, subkey) {\n if (subkey === 'val' && !currentKeys.includes(keyString)) {\n currentKeys.push(keyString)\n }\n return Reflect.get(val as any, subkey)\n },\n })\n }\n return val\n },\n })\n}\n\nexport const activeThemeManagers = new Set<ThemeManager>()\n\nexport const useChangeThemeEffect = (\n props: ThemeProps,\n root = false,\n disableUpdate?: () => boolean\n): ChangedThemeResponse => {\n if (isRSC) {\n // we need context working for this to work well\n return {\n ...createState().state,\n themeManager: null,\n }\n }\n const parentManager = useContext(ThemeManagerContext)\n\n const {\n debug,\n // @ts-expect-error internal use only\n disable,\n } = props\n\n if (disable) {\n if (!parentManager) throw `\u274C`\n return {\n ...parentManager.state,\n isNewTheme: false,\n themeManager: parentManager,\n }\n }\n\n type State = {\n isNewTheme: boolean\n state: ThemeManagerState\n themeManager: ThemeManager\n mounted?: boolean\n }\n\n const [themeState, setThemeState] = useState<State>(createState)\n const { isNewTheme, state, themeManager, mounted } = themeState\n\n if (!isServer) {\n useEffect(() => {\n if (disable) return\n // SSR safe inverse (because server can't know prefers scheme)\n // could be done through fancy selectors like how we do prefers-media\n // but may be a bit of explosion of selectors\n if (props.inverse && !mounted) {\n setThemeState({ ...themeState, mounted: true })\n return\n }\n activeThemeManagers.add(themeManager)\n // const disposeChangeListener = parentManager?.onChangeTheme((name, manager) => {\n // // console.log('hi', props, state, name, manager)\n // if (state.theme !== manager.state.theme) {\n // console.warn('now update to', manager.state.name)\n // updateState(manager)\n // }\n // })\n return () => {\n activeThemeManagers.delete(themeManager)\n // disposeChangeListener?.()\n }\n }, [disable, state, isNewTheme, debug])\n }\n\n const isInversingOnMount = Boolean(!themeState.mounted && props.inverse)\n const shouldReturnParentState = hasNoThemeUpdatingProps(props) || isInversingOnMount\n\n if (shouldReturnParentState) {\n if (!parentManager) throw 'impossible'\n // prettier-ignore\n if (process.env.NODE_ENV === 'development' && props.debug === 'verbose') console.log('useTheme hasNoThemeUpdatingProps', parentManager.state.name, 'isInversingOnMount', isInversingOnMount)\n return {\n ...parentManager.state,\n className: isInversingOnMount ? '' : parentManager.state.className,\n themeManager: parentManager,\n isNewTheme: false,\n }\n }\n\n // run inline in render\n updateState()\n\n return {\n ...state,\n isNewTheme,\n themeManager,\n }\n\n function createState(prev?: State) {\n if (prev && disableUpdate?.()) {\n return prev\n }\n // returns previous theme manager if no change\n const _ = new ThemeManager(props, root ? 'root' : parentManager)\n const isNewTheme = _ !== parentManager\n // prettier-ignore\n\n // if (prev?.isNewTheme && _.state.theme !== parentManager?.state.theme) {\n // console.warn('notify')\n // _.notify()\n // }\n\n // only inverse relies on this for ssr\n const mounted = !props.inverse ? true : root || prev?.mounted\n return {\n // ThemeManager returns parentManager if no change\n isNewTheme,\n state: { ..._.state },\n themeManager: _,\n mounted,\n }\n }\n\n function updateState(updatingManager?: ThemeManager) {\n if (disableUpdate?.()) {\n return\n }\n const manager = updatingManager ?? themeManager\n const next = manager.getState(props, parentManager)\n const shouldChange = manager.getStateShouldChange(next, isNewTheme ? state : null)\n // console.log(`got it`, next, isNewTheme, shouldChange, { ...updatingManager?.state })\n if (shouldChange) {\n setThemeState(createState)\n } else {\n if (!next && parentManager?.state.name !== state.name) {\n // were changing back to parent state\n setThemeState(createState)\n }\n }\n }\n}\n"],
4
+ "sourcesContent": ["/* eslint-disable no-console */\nimport { isClient, isRSC, isServer, isWeb } from '@tamagui/constants'\nimport { useContext, useEffect, useMemo, useState } from 'react'\n\nimport { getConfig } from '../config.js'\nimport { isDevTools } from '../constants/isDevTools.js'\nimport { createProxy } from '../helpers/createProxy.js'\nimport {\n ThemeManager,\n ThemeManagerState,\n hasNoThemeUpdatingProps,\n} from '../helpers/ThemeManager.js'\nimport { ThemeManagerContext } from '../helpers/ThemeManagerContext.js'\nimport type { ThemeParsed, ThemeProps } from '../types.js'\nimport { GetThemeUnwrapped } from './getThemeUnwrapped.js'\nimport { useServerRef } from './useServerHooks.js'\n\nexport type ChangedThemeResponse = {\n themeManager: ThemeManager | null\n name: string\n isNewTheme?: boolean\n theme?: ThemeParsed | null\n className?: string\n}\n\nconst emptyProps = { name: null }\n\nfunction getDefaultThemeProxied() {\n const config = getConfig()\n const name = Object.keys(config.themes)[0]\n return getThemeProxied({\n theme: config.themes[name],\n name,\n })\n}\n\nexport const useTheme = (props: ThemeProps = emptyProps): ThemeParsed => {\n return (isRSC ? null : useThemeWithState(props)?.theme) || getDefaultThemeProxied()\n}\n\nexport const useThemeWithState = (props: ThemeProps) => {\n const keys = useServerRef([])\n\n const changedTheme = useChangeThemeEffect(\n props,\n false,\n isClient\n ? () => {\n return props.shouldUpdate?.() ?? keys.current.length === 0\n }\n : undefined\n )\n\n const { themeManager, isNewTheme, theme, name, className } = changedTheme\n\n if (process.env.NODE_ENV === 'development') {\n // ensure we aren't creating too many ThemeManagers\n // prettier-ignore\n if (isWeb && isNewTheme && className === themeManager?.parentManager?.state.className) {\n console.error('Should always change, duplicating ThemeMananger bug', themeManager)\n }\n if (props.debug === 'verbose') {\n console.groupCollapsed(' \uD83D\uDD39 useTheme =>', name)\n const logs = { ...props, name, className, ...(isDevTools && { theme }) }\n for (const key in logs) {\n console.log(' ', key, logs[key])\n }\n console.groupEnd()\n }\n }\n\n if (!changedTheme.theme) {\n if (process.env.NODE_ENV === 'development') {\n console.warn('No theme found', name, props, themeManager)\n }\n return null\n }\n\n const proxiedTheme = useMemo(() => {\n return getThemeProxied(changedTheme as any)\n }, [theme, isNewTheme, name, className, themeManager])\n\n return {\n ...changedTheme,\n theme: proxiedTheme,\n }\n}\n\nexport function getThemeProxied({\n theme,\n themeManager,\n keys,\n}: Partial<ChangedThemeResponse> & {\n theme: ThemeParsed\n keys?: React.RefObject<string[]>\n}) {\n return createProxy(theme, {\n has(_, key) {\n if (typeof key === 'string') {\n if (key[0] === '$') key = key.slice(1)\n return themeManager?.allKeys.has(key)\n }\n return Reflect.has(theme, key)\n },\n get(_, key) {\n if (key === GetThemeUnwrapped) {\n return theme\n }\n if (\n key === 'undefined' ||\n key === '__proto__' ||\n key === '$typeof' ||\n typeof key !== 'string' ||\n !themeManager\n ) {\n return Reflect.get(_, key)\n }\n const keyString = key\n // auto convert variables to plain\n if (key[0] === '$') {\n key = key.slice(1)\n }\n const val = themeManager.getValue(key)\n const currentKeys = keys?.current\n if (val && currentKeys) {\n return new Proxy(val as any, {\n // when they touch the actual value we only track it\n // if its a variable (web), its ignored!\n get(_, subkey) {\n if (subkey === 'val' && !currentKeys.includes(keyString)) {\n currentKeys.push(keyString)\n }\n return Reflect.get(val as any, subkey)\n },\n })\n }\n return val\n },\n })\n}\n\nexport const activeThemeManagers = new Set<ThemeManager>()\n\nexport const useChangeThemeEffect = (\n props: ThemeProps,\n root = false,\n disableUpdate?: () => boolean\n): ChangedThemeResponse => {\n if (isRSC) {\n // we need context working for this to work well\n return {\n ...createState().state,\n themeManager: null,\n }\n }\n const parentManager = useContext(ThemeManagerContext)\n\n const {\n debug,\n // @ts-expect-error internal use only\n disable,\n } = props\n\n if (disable) {\n if (!parentManager) throw `\u274C`\n return {\n ...parentManager.state,\n isNewTheme: false,\n themeManager: parentManager,\n }\n }\n\n type State = {\n isNewTheme: boolean\n state: ThemeManagerState\n themeManager: ThemeManager\n mounted?: boolean\n }\n\n const [themeState, setThemeState] = useState<State>(createState)\n const { isNewTheme, state, themeManager, mounted } = themeState\n\n if (!isServer) {\n useEffect(() => {\n if (disable) return\n // SSR safe inverse (because server can't know prefers scheme)\n // could be done through fancy selectors like how we do prefers-media\n // but may be a bit of explosion of selectors\n if (props.inverse && !mounted) {\n setThemeState({ ...themeState, mounted: true })\n return\n }\n activeThemeManagers.add(themeManager)\n // const disposeChangeListener = parentManager?.onChangeTheme((name, manager) => {\n // // console.log('hi', props, state, name, manager)\n // if (state.theme !== manager.state.theme) {\n // console.warn('now update to', manager.state.name)\n // updateState(manager)\n // }\n // })\n return () => {\n activeThemeManagers.delete(themeManager)\n // disposeChangeListener?.()\n }\n }, [disable, state, isNewTheme, debug])\n }\n\n const isInversingOnMount = Boolean(!themeState.mounted && props.inverse)\n const shouldReturnParentState = hasNoThemeUpdatingProps(props) || isInversingOnMount\n\n if (shouldReturnParentState) {\n if (!parentManager) throw 'impossible'\n // prettier-ignore\n if (process.env.NODE_ENV === 'development' && props.debug === 'verbose') console.log('useTheme hasNoThemeUpdatingProps', parentManager.state.name, 'isInversingOnMount', isInversingOnMount)\n return {\n ...parentManager.state,\n className: isInversingOnMount ? '' : parentManager.state.className,\n themeManager: parentManager,\n isNewTheme: false,\n }\n }\n\n // run inline in render\n updateState()\n\n return {\n ...state,\n isNewTheme,\n themeManager,\n }\n\n function createState(prev?: State) {\n if (prev && disableUpdate?.()) {\n return prev\n }\n // returns previous theme manager if no change\n const _ = new ThemeManager(props, root ? 'root' : parentManager)\n const isNewTheme = _ !== parentManager\n // prettier-ignore\n\n // if (prev?.isNewTheme && _.state.theme !== parentManager?.state.theme) {\n // console.warn('notify')\n // _.notify()\n // }\n\n // only inverse relies on this for ssr\n const mounted = !props.inverse ? true : root || prev?.mounted\n return {\n // ThemeManager returns parentManager if no change\n isNewTheme,\n state: { ..._.state },\n themeManager: _,\n mounted,\n }\n }\n\n function updateState(updatingManager?: ThemeManager) {\n if (disableUpdate?.()) {\n return\n }\n const manager = updatingManager ?? themeManager\n const next = manager.getState(props, parentManager)\n const shouldChange = manager.getStateShouldChange(next, isNewTheme ? state : null)\n // console.log(`got it`, next, isNewTheme, shouldChange, { ...updatingManager?.state })\n if (shouldChange) {\n setThemeState(createState)\n } else {\n if (!next && parentManager?.state.name !== state.name) {\n // were changing back to parent state\n setThemeState(createState)\n }\n }\n }\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": ["_a", "_", "isNewTheme", "mounted"]
7
7
  }
@@ -23,8 +23,8 @@ __export(useThemeName_exports, {
23
23
  module.exports = __toCommonJS(useThemeName_exports);
24
24
  var import_constants = require("@tamagui/constants");
25
25
  var import_react = require("react");
26
- var import_config = require("../config");
27
- var import_ThemeManagerContext = require("../helpers/ThemeManagerContext");
26
+ var import_config = require("../config.js");
27
+ var import_ThemeManagerContext = require("../helpers/ThemeManagerContext.js");
28
28
  function useThemeName(opts) {
29
29
  if (import_constants.isRSC) {
30
30
  const config = (0, import_config.getConfig)();
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/useThemeName.tsx"],
4
- "sourcesContent": ["import { isRSC, useIsomorphicLayoutEffect } from '@tamagui/constants'\nimport { useContext, useState } from 'react'\n\nimport { getConfig } from '../config'\nimport { ThemeManagerContext } from '../helpers/ThemeManagerContext'\nimport { ThemeName } from '../types'\n\nexport function useThemeName(opts?: { parent?: true }): ThemeName {\n if (isRSC) {\n const config = getConfig()\n return config.themes[Object.keys(config.themes)[0]] as any\n }\n const manager = useContext(ThemeManagerContext)\n const [name, setName] = useState(manager?.state.name || '')\n\n useIsomorphicLayoutEffect(() => {\n if (!manager) return\n setName(manager.state.name)\n return manager.onChangeTheme((next, manager) => {\n const name = opts?.parent ? manager.state.parentName || next : next\n if (!name) return\n setName(name)\n })\n }, [manager?.state.name])\n\n return name\n}\n"],
4
+ "sourcesContent": ["import { isRSC, useIsomorphicLayoutEffect } from '@tamagui/constants'\nimport { useContext, useState } from 'react'\n\nimport { getConfig } from '../config.js'\nimport { ThemeManagerContext } from '../helpers/ThemeManagerContext.js'\nimport { ThemeName } from '../types.js'\n\nexport function useThemeName(opts?: { parent?: true }): ThemeName {\n if (isRSC) {\n const config = getConfig()\n return config.themes[Object.keys(config.themes)[0]] as any\n }\n const manager = useContext(ThemeManagerContext)\n const [name, setName] = useState(manager?.state.name || '')\n\n useIsomorphicLayoutEffect(() => {\n if (!manager) return\n setName(manager.state.name)\n return manager.onChangeTheme((next, manager) => {\n const name = opts?.parent ? manager.state.parentName || next : next\n if (!name) return\n setName(name)\n })\n }, [manager?.state.name])\n\n return name\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAiD;AACjD,mBAAqC;AAErC,oBAA0B;AAC1B,iCAAoC;AAG7B,SAAS,aAAa,MAAqC;AAChE,MAAI,wBAAO;AACT,UAAM,aAAS,yBAAU;AACzB,WAAO,OAAO,OAAO,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC,CAAC;AAAA,EACpD;AACA,QAAM,cAAU,yBAAW,8CAAmB;AAC9C,QAAM,CAAC,MAAM,OAAO,QAAI,wBAAS,mCAAS,MAAM,SAAQ,EAAE;AAE1D,kDAA0B,MAAM;AAC9B,QAAI,CAAC;AAAS;AACd,YAAQ,QAAQ,MAAM,IAAI;AAC1B,WAAO,QAAQ,cAAc,CAAC,MAAMA,aAAY;AAC9C,YAAMC,SAAO,6BAAM,UAASD,SAAQ,MAAM,cAAc,OAAO;AAC/D,UAAI,CAACC;AAAM;AACX,cAAQA,KAAI;AAAA,IACd,CAAC;AAAA,EACH,GAAG,CAAC,mCAAS,MAAM,IAAI,CAAC;AAExB,SAAO;AACT;",
6
6
  "names": ["manager", "name"]
7
7
  }
package/dist/cjs/index.js CHANGED
@@ -32,61 +32,61 @@ __export(src_exports, {
32
32
  useMediaPropsActive: () => import_useMedia.useMediaPropsActive
33
33
  });
34
34
  module.exports = __toCommonJS(src_exports);
35
- __reExport(src_exports, require("./Tamagui"), module.exports);
36
- __reExport(src_exports, require("./createComponent"), module.exports);
37
- __reExport(src_exports, require("./createShorthands"), module.exports);
38
- __reExport(src_exports, require("./createTheme"), module.exports);
39
- __reExport(src_exports, require("./createTamagui"), module.exports);
40
- __reExport(src_exports, require("./createFont"), module.exports);
41
- __reExport(src_exports, require("./createTokens"), module.exports);
42
- __reExport(src_exports, require("./createVariable"), module.exports);
43
- __reExport(src_exports, require("./createVariables"), module.exports);
44
- __reExport(src_exports, require("./insertFont"), module.exports);
45
- __reExport(src_exports, require("./addTheme"), module.exports);
46
- __reExport(src_exports, require("./updateTheme"), module.exports);
47
- __reExport(src_exports, require("./styled"), module.exports);
48
- __reExport(src_exports, require("./types"), module.exports);
49
- __reExport(src_exports, require("./setupReactNative"), module.exports);
50
- var import_config = require("./config");
51
- __reExport(src_exports, require("./constants/constants"), module.exports);
52
- __reExport(src_exports, require("./helpers/useShallowSetState"), module.exports);
53
- __reExport(src_exports, require("./helpers/getVariantExtras"), module.exports);
54
- __reExport(src_exports, require("./helpers/getAnimationDriver"), module.exports);
55
- __reExport(src_exports, require("./helpers/getExpandedShorthands"), module.exports);
56
- __reExport(src_exports, require("./helpers/getSplitStyles"), module.exports);
57
- __reExport(src_exports, require("./helpers/getStylesAtomic"), module.exports);
58
- __reExport(src_exports, require("./helpers/pseudoDescriptors"), module.exports);
59
- __reExport(src_exports, require("./helpers/mergeProps"), module.exports);
60
- __reExport(src_exports, require("./helpers/expandStyles"), module.exports);
61
- __reExport(src_exports, require("./helpers/isTamaguiElement"), module.exports);
62
- __reExport(src_exports, require("./helpers/isTamaguiComponent"), module.exports);
63
- __reExport(src_exports, require("./helpers/matchMedia"), module.exports);
64
- __reExport(src_exports, require("./helpers/proxyThemeVariables"), module.exports);
65
- __reExport(src_exports, require("./helpers/themeable"), module.exports);
66
- __reExport(src_exports, require("./helpers/withStaticProperties"), module.exports);
67
- __reExport(src_exports, require("./contexts/ButtonNestingContext"), module.exports);
68
- __reExport(src_exports, require("./hooks/useId"), module.exports);
69
- __reExport(src_exports, require("./hooks/useIsTouchDevice"), module.exports);
70
- var import_useMedia = require("./hooks/useMedia");
71
- __reExport(src_exports, require("./hooks/useTheme"), module.exports);
72
- __reExport(src_exports, require("./hooks/useThemeName"), module.exports);
73
- __reExport(src_exports, require("./hooks/useSafeRef"), module.exports);
74
- __reExport(src_exports, require("./hooks/useStyle"), module.exports);
75
- __reExport(src_exports, require("./views/Slot"), module.exports);
76
- __reExport(src_exports, require("./views/Stack"), module.exports);
77
- __reExport(src_exports, require("./views/Text"), module.exports);
78
- __reExport(src_exports, require("./contexts/TextAncestorContext"), module.exports);
79
- __reExport(src_exports, require("./views/Theme"), module.exports);
80
- __reExport(src_exports, require("./views/ThemeProvider"), module.exports);
81
- __reExport(src_exports, require("./views/FontLanguage"), module.exports);
82
- __reExport(src_exports, require("./views/TamaguiProvider"), module.exports);
35
+ __reExport(src_exports, require("./Tamagui.js"), module.exports);
36
+ __reExport(src_exports, require("./createComponent.js"), module.exports);
37
+ __reExport(src_exports, require("./createShorthands.js"), module.exports);
38
+ __reExport(src_exports, require("./createTheme.js"), module.exports);
39
+ __reExport(src_exports, require("./createTamagui.js"), module.exports);
40
+ __reExport(src_exports, require("./createFont.js"), module.exports);
41
+ __reExport(src_exports, require("./createTokens.js"), module.exports);
42
+ __reExport(src_exports, require("./createVariable.js"), module.exports);
43
+ __reExport(src_exports, require("./createVariables.js"), module.exports);
44
+ __reExport(src_exports, require("./insertFont.js"), module.exports);
45
+ __reExport(src_exports, require("./addTheme.js"), module.exports);
46
+ __reExport(src_exports, require("./updateTheme.js"), module.exports);
47
+ __reExport(src_exports, require("./styled.js"), module.exports);
48
+ __reExport(src_exports, require("./types.js"), module.exports);
49
+ __reExport(src_exports, require("./setupReactNative.js"), module.exports);
50
+ var import_config = require("./config.js");
51
+ __reExport(src_exports, require("./constants/constants.js"), module.exports);
52
+ __reExport(src_exports, require("./helpers/useShallowSetState.js"), module.exports);
53
+ __reExport(src_exports, require("./helpers/getVariantExtras.js"), module.exports);
54
+ __reExport(src_exports, require("./helpers/getAnimationDriver.js"), module.exports);
55
+ __reExport(src_exports, require("./helpers/getExpandedShorthands.js"), module.exports);
56
+ __reExport(src_exports, require("./helpers/getSplitStyles.js"), module.exports);
57
+ __reExport(src_exports, require("./helpers/getStylesAtomic.js"), module.exports);
58
+ __reExport(src_exports, require("./helpers/pseudoDescriptors.js"), module.exports);
59
+ __reExport(src_exports, require("./helpers/mergeProps.js"), module.exports);
60
+ __reExport(src_exports, require("./helpers/expandStyles.js"), module.exports);
61
+ __reExport(src_exports, require("./helpers/isTamaguiElement.js"), module.exports);
62
+ __reExport(src_exports, require("./helpers/isTamaguiComponent.js"), module.exports);
63
+ __reExport(src_exports, require("./helpers/matchMedia.js"), module.exports);
64
+ __reExport(src_exports, require("./helpers/proxyThemeVariables.js"), module.exports);
65
+ __reExport(src_exports, require("./helpers/themeable.js"), module.exports);
66
+ __reExport(src_exports, require("./helpers/withStaticProperties.js"), module.exports);
67
+ __reExport(src_exports, require("./contexts/ButtonNestingContext.js"), module.exports);
68
+ __reExport(src_exports, require("./hooks/useId.js"), module.exports);
69
+ __reExport(src_exports, require("./hooks/useIsTouchDevice.js"), module.exports);
70
+ var import_useMedia = require("./hooks/useMedia.js");
71
+ __reExport(src_exports, require("./hooks/useTheme.js"), module.exports);
72
+ __reExport(src_exports, require("./hooks/useThemeName.js"), module.exports);
73
+ __reExport(src_exports, require("./hooks/useSafeRef.js"), module.exports);
74
+ __reExport(src_exports, require("./hooks/useStyle.js"), module.exports);
75
+ __reExport(src_exports, require("./views/Slot.js"), module.exports);
76
+ __reExport(src_exports, require("./views/Stack.js"), module.exports);
77
+ __reExport(src_exports, require("./views/Text.js"), module.exports);
78
+ __reExport(src_exports, require("./contexts/TextAncestorContext.js"), module.exports);
79
+ __reExport(src_exports, require("./views/Theme.js"), module.exports);
80
+ __reExport(src_exports, require("./views/ThemeProvider.js"), module.exports);
81
+ __reExport(src_exports, require("./views/FontLanguage.js"), module.exports);
82
+ __reExport(src_exports, require("./views/TamaguiProvider.js"), module.exports);
83
83
  __reExport(src_exports, require("@tamagui/use-force-update"), module.exports);
84
84
  __reExport(src_exports, require("@tamagui/use-did-finish-ssr"), module.exports);
85
85
  __reExport(src_exports, require("@tamagui/use-event"), module.exports);
86
86
  __reExport(src_exports, require("@tamagui/compose-refs"), module.exports);
87
87
  __reExport(src_exports, require("@tamagui/helpers"), module.exports);
88
88
  __reExport(src_exports, require("@tamagui/constants"), module.exports);
89
- __reExport(src_exports, require("./setupHooks"), module.exports);
89
+ __reExport(src_exports, require("./setupHooks.js"), module.exports);
90
90
  // Annotate the CommonJS export names for ESM import in node:
91
91
  0 && (module.exports = {
92
92
  configureMedia,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "sourcesContent": ["export * from './Tamagui'\nexport * from './createComponent'\nexport * from './createShorthands'\nexport * from './createTheme'\nexport * from './createTamagui'\nexport * from './createFont'\nexport * from './createTokens'\nexport * from './createVariable'\nexport * from './createVariables'\nexport * from './insertFont'\nexport * from './addTheme'\nexport * from './updateTheme'\nexport * from './styled'\nexport * from './types'\nexport * from './setupReactNative'\n\nexport { getConfig, getThemes, getTokens, onConfiguredOnce } from './config'\n\nexport * from './constants/constants'\n\nexport * from './helpers/useShallowSetState'\nexport * from './helpers/getVariantExtras'\nexport * from './helpers/getAnimationDriver'\nexport * from './helpers/getExpandedShorthands'\nexport * from './helpers/getSplitStyles'\nexport * from './helpers/getStylesAtomic'\nexport * from './helpers/pseudoDescriptors'\nexport * from './helpers/mergeProps'\nexport * from './helpers/expandStyles'\nexport * from './helpers/isTamaguiElement'\nexport * from './helpers/isTamaguiComponent'\nexport * from './helpers/matchMedia'\nexport * from './helpers/proxyThemeVariables'\nexport * from './helpers/themeable'\nexport * from './helpers/withStaticProperties'\n\nexport * from './contexts/ButtonNestingContext'\n\nexport * from './hooks/useId'\nexport * from './hooks/useIsTouchDevice'\n\nexport {\n configureMedia,\n getMedia,\n mediaState,\n useMedia,\n useMediaPropsActive,\n mediaObjectToString,\n mediaQueryConfig,\n} from './hooks/useMedia'\nexport * from './hooks/useTheme'\nexport * from './hooks/useThemeName'\nexport * from './hooks/useSafeRef'\nexport * from './hooks/useStyle'\n\nexport * from './views/Slot'\nexport * from './views/Stack'\nexport * from './views/Text'\nexport * from './contexts/TextAncestorContext'\nexport * from './views/Theme'\nexport * from './views/ThemeProvider'\nexport * from './views/FontLanguage'\nexport * from './views/TamaguiProvider'\n\nexport * from '@tamagui/use-force-update'\nexport * from '@tamagui/use-did-finish-ssr'\nexport * from '@tamagui/use-event'\nexport * from '@tamagui/compose-refs'\nexport * from '@tamagui/helpers'\nexport * from '@tamagui/constants'\n\nexport * from './setupHooks'\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAc,sBAAd;AACA,wBAAc,8BADd;AAEA,wBAAc,+BAFd;AAGA,wBAAc,0BAHd;AAIA,wBAAc,4BAJd;AAKA,wBAAc,yBALd;AAMA,wBAAc,2BANd;AAOA,wBAAc,6BAPd;AAQA,wBAAc,8BARd;AASA,wBAAc,yBATd;AAUA,wBAAc,uBAVd;AAWA,wBAAc,0BAXd;AAYA,wBAAc,qBAZd;AAaA,wBAAc,oBAbd;AAcA,wBAAc,+BAdd;AAgBA,oBAAkE;AAElE,wBAAc,kCAlBd;AAoBA,wBAAc,yCApBd;AAqBA,wBAAc,uCArBd;AAsBA,wBAAc,yCAtBd;AAuBA,wBAAc,4CAvBd;AAwBA,wBAAc,qCAxBd;AAyBA,wBAAc,sCAzBd;AA0BA,wBAAc,wCA1Bd;AA2BA,wBAAc,iCA3Bd;AA4BA,wBAAc,mCA5Bd;AA6BA,wBAAc,uCA7Bd;AA8BA,wBAAc,yCA9Bd;AA+BA,wBAAc,iCA/Bd;AAgCA,wBAAc,0CAhCd;AAiCA,wBAAc,gCAjCd;AAkCA,wBAAc,2CAlCd;AAoCA,wBAAc,4CApCd;AAsCA,wBAAc,0BAtCd;AAuCA,wBAAc,qCAvCd;AAyCA,sBAQO;AACP,wBAAc,6BAlDd;AAmDA,wBAAc,iCAnDd;AAoDA,wBAAc,+BApDd;AAqDA,wBAAc,6BArDd;AAuDA,wBAAc,yBAvDd;AAwDA,wBAAc,0BAxDd;AAyDA,wBAAc,yBAzDd;AA0DA,wBAAc,2CA1Dd;AA2DA,wBAAc,0BA3Dd;AA4DA,wBAAc,kCA5Dd;AA6DA,wBAAc,iCA7Dd;AA8DA,wBAAc,oCA9Dd;AAgEA,wBAAc,sCAhEd;AAiEA,wBAAc,wCAjEd;AAkEA,wBAAc,+BAlEd;AAmEA,wBAAc,kCAnEd;AAoEA,wBAAc,6BApEd;AAqEA,wBAAc,+BArEd;AAuEA,wBAAc,yBAvEd;",
4
+ "sourcesContent": ["export * from './Tamagui.js'\nexport * from './createComponent.js'\nexport * from './createShorthands.js'\nexport * from './createTheme.js'\nexport * from './createTamagui.js'\nexport * from './createFont.js'\nexport * from './createTokens.js'\nexport * from './createVariable.js'\nexport * from './createVariables.js'\nexport * from './insertFont.js'\nexport * from './addTheme.js'\nexport * from './updateTheme.js'\nexport * from './styled.js'\nexport * from './types.js'\nexport * from './setupReactNative.js'\n\nexport { getConfig, getThemes, getTokens, onConfiguredOnce } from './config.js'\n\nexport * from './constants/constants.js'\n\nexport * from './helpers/useShallowSetState.js'\nexport * from './helpers/getVariantExtras.js'\nexport * from './helpers/getAnimationDriver.js'\nexport * from './helpers/getExpandedShorthands.js'\nexport * from './helpers/getSplitStyles.js'\nexport * from './helpers/getStylesAtomic.js'\nexport * from './helpers/pseudoDescriptors.js'\nexport * from './helpers/mergeProps.js'\nexport * from './helpers/expandStyles.js'\nexport * from './helpers/isTamaguiElement.js'\nexport * from './helpers/isTamaguiComponent.js'\nexport * from './helpers/matchMedia.js'\nexport * from './helpers/proxyThemeVariables.js'\nexport * from './helpers/themeable.js'\nexport * from './helpers/withStaticProperties.js'\n\nexport * from './contexts/ButtonNestingContext.js'\n\nexport * from './hooks/useId.js'\nexport * from './hooks/useIsTouchDevice.js'\n\nexport {\n configureMedia,\n getMedia,\n mediaState,\n useMedia,\n useMediaPropsActive,\n mediaObjectToString,\n mediaQueryConfig,\n} from './hooks/useMedia.js'\nexport * from './hooks/useTheme.js'\nexport * from './hooks/useThemeName.js'\nexport * from './hooks/useSafeRef.js'\nexport * from './hooks/useStyle.js'\n\nexport * from './views/Slot.js'\nexport * from './views/Stack.js'\nexport * from './views/Text.js'\nexport * from './contexts/TextAncestorContext.js'\nexport * from './views/Theme.js'\nexport * from './views/ThemeProvider.js'\nexport * from './views/FontLanguage.js'\nexport * from './views/TamaguiProvider.js'\n\nexport * from '@tamagui/use-force-update'\nexport * from '@tamagui/use-did-finish-ssr'\nexport * from '@tamagui/use-event'\nexport * from '@tamagui/compose-refs'\nexport * from '@tamagui/helpers'\nexport * from '@tamagui/constants'\n\nexport * from './setupHooks.js'\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAc,yBAAd;AACA,wBAAc,iCADd;AAEA,wBAAc,kCAFd;AAGA,wBAAc,6BAHd;AAIA,wBAAc,+BAJd;AAKA,wBAAc,4BALd;AAMA,wBAAc,8BANd;AAOA,wBAAc,gCAPd;AAQA,wBAAc,iCARd;AASA,wBAAc,4BATd;AAUA,wBAAc,0BAVd;AAWA,wBAAc,6BAXd;AAYA,wBAAc,wBAZd;AAaA,wBAAc,uBAbd;AAcA,wBAAc,kCAdd;AAgBA,oBAAkE;AAElE,wBAAc,qCAlBd;AAoBA,wBAAc,4CApBd;AAqBA,wBAAc,0CArBd;AAsBA,wBAAc,4CAtBd;AAuBA,wBAAc,+CAvBd;AAwBA,wBAAc,wCAxBd;AAyBA,wBAAc,yCAzBd;AA0BA,wBAAc,2CA1Bd;AA2BA,wBAAc,oCA3Bd;AA4BA,wBAAc,sCA5Bd;AA6BA,wBAAc,0CA7Bd;AA8BA,wBAAc,4CA9Bd;AA+BA,wBAAc,oCA/Bd;AAgCA,wBAAc,6CAhCd;AAiCA,wBAAc,mCAjCd;AAkCA,wBAAc,8CAlCd;AAoCA,wBAAc,+CApCd;AAsCA,wBAAc,6BAtCd;AAuCA,wBAAc,wCAvCd;AAyCA,sBAQO;AACP,wBAAc,gCAlDd;AAmDA,wBAAc,oCAnDd;AAoDA,wBAAc,kCApDd;AAqDA,wBAAc,gCArDd;AAuDA,wBAAc,4BAvDd;AAwDA,wBAAc,6BAxDd;AAyDA,wBAAc,4BAzDd;AA0DA,wBAAc,8CA1Dd;AA2DA,wBAAc,6BA3Dd;AA4DA,wBAAc,qCA5Dd;AA6DA,wBAAc,oCA7Dd;AA8DA,wBAAc,uCA9Dd;AAgEA,wBAAc,sCAhEd;AAiEA,wBAAc,wCAjEd;AAkEA,wBAAc,+BAlEd;AAmEA,wBAAc,kCAnEd;AAoEA,wBAAc,6BApEd;AAqEA,wBAAc,+BArEd;AAuEA,wBAAc,4BAvEd;",
6
6
  "names": []
7
7
  }
@@ -23,10 +23,10 @@ __export(insertFont_exports, {
23
23
  registerFontVariables: () => registerFontVariables
24
24
  });
25
25
  module.exports = __toCommonJS(insertFont_exports);
26
- var import_config = require("./config");
27
- var import_createFont = require("./createFont");
28
- var import_createVariables = require("./createVariables");
29
- var import_registerCSSVariable = require("./helpers/registerCSSVariable");
26
+ var import_config = require("./config.js");
27
+ var import_createFont = require("./createFont.js");
28
+ var import_createVariables = require("./createVariables.js");
29
+ var import_registerCSSVariable = require("./helpers/registerCSSVariable.js");
30
30
  function insertFont(name, fontIn) {
31
31
  const font = (0, import_createFont.createFont)(fontIn);
32
32
  const tokened = (0, import_createVariables.createVariables)(font, name);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/insertFont.ts"],
4
- "sourcesContent": ["import { setConfigFont } from './config'\nimport { createFont } from './createFont'\nimport { Variable } from './createVariable'\nimport { DeepVariableObject, createVariables } from './createVariables'\nimport { registerCSSVariable, variableToCSS } from './helpers/registerCSSVariable'\nimport { GenericFont } from './types'\n\n/**\n * Runtime dynamic insert font\n */\nexport function insertFont<A extends GenericFont>(\n name: string,\n fontIn: A\n): DeepVariableObject<A> {\n const font = createFont(fontIn)\n const tokened = createVariables(font, name) as GenericFont\n const parsed = parseFont(tokened) as DeepVariableObject<A>\n if (process.env.TAMAGUI_TARGET === 'web' && typeof document !== 'undefined') {\n const fontVars = registerFontVariables(parsed)\n const style = document.createElement('style')\n style.innerText = `:root .font_${name} {${fontVars.join(';')}}`\n style.setAttribute('data-tamagui-font', name)\n document.head.appendChild(style)\n }\n setConfigFont(name, tokened, parsed)\n return parsed\n}\n\nexport function parseFont<A extends GenericFont>(definition: A): DeepVariableObject<A> {\n const parsed: any = {}\n for (const attrKey in definition) {\n const attr = definition[attrKey]\n if (attrKey === 'family' || attrKey === 'face') {\n parsed[attrKey] = attr\n continue\n }\n parsed[attrKey] = {}\n for (const key in attr) {\n let val = attr[key] as any\n // is a theme reference\n if (val.val?.[0] === '$') {\n val = val.val\n }\n parsed[attrKey][`$${key}`] = val\n }\n }\n return parsed\n}\n\nexport function registerFontVariables(parsedFont: any) {\n const response: string[] = []\n\n for (const fkey in parsedFont) {\n if (fkey === 'face') continue\n if (fkey === 'family') {\n const val = parsedFont[fkey] as Variable\n registerCSSVariable(val)\n response.push(variableToCSS(val))\n } else {\n for (const fskey in parsedFont[fkey]) {\n const fval = parsedFont[fkey][fskey]\n if (typeof fval === 'string') {\n // no need to add its a theme reference like \"$borderColor\"\n } else {\n const val = parsedFont[fkey][fskey] as Variable\n registerCSSVariable(val)\n response.push(variableToCSS(val))\n }\n }\n }\n }\n return response\n}\n"],
4
+ "sourcesContent": ["import { setConfigFont } from './config.js'\nimport { createFont } from './createFont.js'\nimport { Variable } from './createVariable.js'\nimport { DeepVariableObject, createVariables } from './createVariables.js'\nimport { registerCSSVariable, variableToCSS } from './helpers/registerCSSVariable.js'\nimport { GenericFont } from './types.js'\n\n/**\n * Runtime dynamic insert font\n */\nexport function insertFont<A extends GenericFont>(\n name: string,\n fontIn: A\n): DeepVariableObject<A> {\n const font = createFont(fontIn)\n const tokened = createVariables(font, name) as GenericFont\n const parsed = parseFont(tokened) as DeepVariableObject<A>\n if (process.env.TAMAGUI_TARGET === 'web' && typeof document !== 'undefined') {\n const fontVars = registerFontVariables(parsed)\n const style = document.createElement('style')\n style.innerText = `:root .font_${name} {${fontVars.join(';')}}`\n style.setAttribute('data-tamagui-font', name)\n document.head.appendChild(style)\n }\n setConfigFont(name, tokened, parsed)\n return parsed\n}\n\nexport function parseFont<A extends GenericFont>(definition: A): DeepVariableObject<A> {\n const parsed: any = {}\n for (const attrKey in definition) {\n const attr = definition[attrKey]\n if (attrKey === 'family' || attrKey === 'face') {\n parsed[attrKey] = attr\n continue\n }\n parsed[attrKey] = {}\n for (const key in attr) {\n let val = attr[key] as any\n // is a theme reference\n if (val.val?.[0] === '$') {\n val = val.val\n }\n parsed[attrKey][`$${key}`] = val\n }\n }\n return parsed\n}\n\nexport function registerFontVariables(parsedFont: any) {\n const response: string[] = []\n\n for (const fkey in parsedFont) {\n if (fkey === 'face') continue\n if (fkey === 'family') {\n const val = parsedFont[fkey] as Variable\n registerCSSVariable(val)\n response.push(variableToCSS(val))\n } else {\n for (const fskey in parsedFont[fkey]) {\n const fval = parsedFont[fkey][fskey]\n if (typeof fval === 'string') {\n // no need to add its a theme reference like \"$borderColor\"\n } else {\n const val = parsedFont[fkey][fskey] as Variable\n registerCSSVariable(val)\n response.push(variableToCSS(val))\n }\n }\n }\n }\n return response\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA8B;AAC9B,wBAA2B;AAE3B,6BAAoD;AACpD,iCAAmD;AAM5C,SAAS,WACd,MACA,QACuB;AACvB,QAAM,WAAO,8BAAW,MAAM;AAC9B,QAAM,cAAU,wCAAgB,MAAM,IAAI;AAC1C,QAAM,SAAS,UAAU,OAAO;AAChC,MAAI,QAAQ,IAAI,mBAAmB,SAAS,OAAO,aAAa,aAAa;AAC3E,UAAM,WAAW,sBAAsB,MAAM;AAC7C,UAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,UAAM,YAAY,eAAe,SAAS,SAAS,KAAK,GAAG;AAC3D,UAAM,aAAa,qBAAqB,IAAI;AAC5C,aAAS,KAAK,YAAY,KAAK;AAAA,EACjC;AACA,mCAAc,MAAM,SAAS,MAAM;AACnC,SAAO;AACT;AAEO,SAAS,UAAiC,YAAsC;AA5BvF;AA6BE,QAAM,SAAc,CAAC;AACrB,aAAW,WAAW,YAAY;AAChC,UAAM,OAAO,WAAW,OAAO;AAC/B,QAAI,YAAY,YAAY,YAAY,QAAQ;AAC9C,aAAO,OAAO,IAAI;AAClB;AAAA,IACF;AACA,WAAO,OAAO,IAAI,CAAC;AACnB,eAAW,OAAO,MAAM;AACtB,UAAI,MAAM,KAAK,GAAG;AAElB,YAAI,SAAI,QAAJ,mBAAU,QAAO,KAAK;AACxB,cAAM,IAAI;AAAA,MACZ;AACA,aAAO,OAAO,EAAE,IAAI,KAAK,IAAI;AAAA,IAC/B;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,sBAAsB,YAAiB;AACrD,QAAM,WAAqB,CAAC;AAE5B,aAAW,QAAQ,YAAY;AAC7B,QAAI,SAAS;AAAQ;AACrB,QAAI,SAAS,UAAU;AACrB,YAAM,MAAM,WAAW,IAAI;AAC3B,0DAAoB,GAAG;AACvB,eAAS,SAAK,0CAAc,GAAG,CAAC;AAAA,IAClC,OAAO;AACL,iBAAW,SAAS,WAAW,IAAI,GAAG;AACpC,cAAM,OAAO,WAAW,IAAI,EAAE,KAAK;AACnC,YAAI,OAAO,SAAS,UAAU;AAAA,QAE9B,OAAO;AACL,gBAAM,MAAM,WAAW,IAAI,EAAE,KAAK;AAClC,8DAAoB,GAAG;AACvB,mBAAS,SAAK,0CAAc,GAAG,CAAC;AAAA,QAClC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/setupReactNative.ts"],
4
- "sourcesContent": ["import { StaticConfig } from './types'\n\nexport const ReactNativeStaticConfigs = new WeakMap<any, Partial<StaticConfig> | null>()\n\nexport function getReactNativeConfig(Component: any) {\n return ReactNativeStaticConfigs.get(Component)\n}\n\nexport function setupReactNative(rnExports: Record<string, any>) {\n for (const key in rnExports) {\n if (key[0].toLowerCase() === key[0]) continue\n const val = rnExports[key]\n if (val && typeof val === 'object') {\n ReactNativeStaticConfigs.set(val, {\n isReactNative: true,\n isText: key === 'Text' || key === 'TextInput',\n isInput: key === 'TextInput',\n inlineProps: key === 'Image' ? new Set(['src', 'width', 'height']) : undefined,\n })\n }\n }\n}\n"],
4
+ "sourcesContent": ["import { StaticConfig } from './types.js'\n\nexport const ReactNativeStaticConfigs = new WeakMap<any, Partial<StaticConfig> | null>()\n\nexport function getReactNativeConfig(Component: any) {\n return ReactNativeStaticConfigs.get(Component)\n}\n\nexport function setupReactNative(rnExports: Record<string, any>) {\n for (const key in rnExports) {\n if (key[0].toLowerCase() === key[0]) continue\n const val = rnExports[key]\n if (val && typeof val === 'object') {\n ReactNativeStaticConfigs.set(val, {\n isReactNative: true,\n isText: key === 'Text' || key === 'TextInput',\n isInput: key === 'TextInput',\n inlineProps: key === 'Image' ? new Set(['src', 'width', 'height']) : undefined,\n })\n }\n }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,2BAA2B,oBAAI,QAA2C;AAEhF,SAAS,qBAAqB,WAAgB;AACnD,SAAO,yBAAyB,IAAI,SAAS;AAC/C;AAEO,SAAS,iBAAiB,WAAgC;AAC/D,aAAW,OAAO,WAAW;AAC3B,QAAI,IAAI,CAAC,EAAE,YAAY,MAAM,IAAI,CAAC;AAAG;AACrC,UAAM,MAAM,UAAU,GAAG;AACzB,QAAI,OAAO,OAAO,QAAQ,UAAU;AAClC,+BAAyB,IAAI,KAAK;AAAA,QAChC,eAAe;AAAA,QACf,QAAQ,QAAQ,UAAU,QAAQ;AAAA,QAClC,SAAS,QAAQ;AAAA,QACjB,aAAa,QAAQ,UAAU,oBAAI,IAAI,CAAC,OAAO,SAAS,QAAQ,CAAC,IAAI;AAAA,MACvE,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -22,8 +22,8 @@ __export(styled_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(styled_exports);
24
24
  var import_helpers = require("@tamagui/helpers");
25
- var import_createComponent = require("./createComponent");
26
- var import_setupReactNative = require("./setupReactNative");
25
+ var import_createComponent = require("./createComponent.js");
26
+ var import_setupReactNative = require("./setupReactNative.js");
27
27
  function styled(Component, options, staticExtractionOptions) {
28
28
  if (process.env.NODE_ENV !== "production") {
29
29
  if (!Component) {