@tamagui/web 1.14.1 → 1.14.2

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 (509) hide show
  1. package/dist/cjs/Tamagui.js +76 -1
  2. package/dist/cjs/Tamagui.js.map +2 -2
  3. package/dist/cjs/addTheme.js +77 -2
  4. package/dist/cjs/addTheme.js.map +2 -2
  5. package/dist/cjs/config.js +122 -1
  6. package/dist/cjs/config.js.map +2 -2
  7. package/dist/cjs/constants/constants.js +48 -1
  8. package/dist/cjs/constants/constants.js.map +2 -2
  9. package/dist/cjs/constants/isDevTools.js +36 -1
  10. package/dist/cjs/constants/isDevTools.js.map +2 -2
  11. package/dist/cjs/contexts/AnimationDriverContext.js +29 -1
  12. package/dist/cjs/contexts/AnimationDriverContext.js.map +2 -2
  13. package/dist/cjs/contexts/ButtonNestingContext.js +29 -1
  14. package/dist/cjs/contexts/ButtonNestingContext.js.map +2 -2
  15. package/dist/cjs/contexts/FontLanguageContext.js +29 -1
  16. package/dist/cjs/contexts/FontLanguageContext.js.map +2 -2
  17. package/dist/cjs/contexts/TextAncestorContext.js +29 -1
  18. package/dist/cjs/contexts/TextAncestorContext.js.map +2 -2
  19. package/dist/cjs/createComponent.js +896 -2
  20. package/dist/cjs/createComponent.js.map +2 -2
  21. package/dist/cjs/createFont.js +68 -1
  22. package/dist/cjs/createFont.js.map +2 -2
  23. package/dist/cjs/createShorthands.js +30 -1
  24. package/dist/cjs/createShorthands.js.map +2 -2
  25. package/dist/cjs/createTamagui.js +202 -5
  26. package/dist/cjs/createTamagui.js.map +2 -2
  27. package/dist/cjs/createTheme.js +30 -1
  28. package/dist/cjs/createTheme.js.map +2 -2
  29. package/dist/cjs/createTokens.js +38 -1
  30. package/dist/cjs/createTokens.js.map +2 -2
  31. package/dist/cjs/createVariable.js +110 -1
  32. package/dist/cjs/createVariable.js.map +2 -2
  33. package/dist/cjs/createVariables.js +59 -1
  34. package/dist/cjs/createVariables.js.map +2 -2
  35. package/dist/cjs/helpers/ThemeManager.js +243 -1
  36. package/dist/cjs/helpers/ThemeManager.js.map +2 -2
  37. package/dist/cjs/helpers/ThemeManagerContext.js +29 -1
  38. package/dist/cjs/helpers/ThemeManagerContext.js.map +2 -2
  39. package/dist/cjs/helpers/createMediaStyle.js +66 -1
  40. package/dist/cjs/helpers/createMediaStyle.js.map +2 -2
  41. package/dist/cjs/helpers/createPropMapper.js +431 -2
  42. package/dist/cjs/helpers/createPropMapper.js.map +2 -2
  43. package/dist/cjs/helpers/createProxy.js +41 -2
  44. package/dist/cjs/helpers/createProxy.js.map +2 -2
  45. package/dist/cjs/helpers/defaultOffset.js +28 -1
  46. package/dist/cjs/helpers/defaultOffset.js.map +2 -2
  47. package/dist/cjs/helpers/expandStyle.js +85 -1
  48. package/dist/cjs/helpers/expandStyle.js.map +2 -2
  49. package/dist/cjs/helpers/expandStyles.js +76 -1
  50. package/dist/cjs/helpers/expandStyles.js.map +2 -2
  51. package/dist/cjs/helpers/extendStaticConfig.js +91 -1
  52. package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
  53. package/dist/cjs/helpers/getAnimationDriver.js +31 -1
  54. package/dist/cjs/helpers/getAnimationDriver.js.map +2 -2
  55. package/dist/cjs/helpers/getExpandedShorthands.js +38 -1
  56. package/dist/cjs/helpers/getExpandedShorthands.js.map +2 -2
  57. package/dist/cjs/helpers/getFontLanguage.js +28 -1
  58. package/dist/cjs/helpers/getFontLanguage.js.map +2 -2
  59. package/dist/cjs/helpers/getSplitStyles.js +858 -3
  60. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  61. package/dist/cjs/helpers/getStylesAtomic.js +226 -1
  62. package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
  63. package/dist/cjs/helpers/getStylesAtomic.native.js +37 -1
  64. package/dist/cjs/helpers/getStylesAtomic.native.js.map +2 -2
  65. package/dist/cjs/helpers/getThemeCSSRules.js +126 -4
  66. package/dist/cjs/helpers/getThemeCSSRules.js.map +2 -2
  67. package/dist/cjs/helpers/getThemeCSSRules.native.js +30 -1
  68. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +2 -2
  69. package/dist/cjs/helpers/getVariantExtras.js +91 -1
  70. package/dist/cjs/helpers/getVariantExtras.js.map +2 -2
  71. package/dist/cjs/helpers/insertStyleRule.js +222 -2
  72. package/dist/cjs/helpers/insertStyleRule.js.map +2 -2
  73. package/dist/cjs/helpers/isObj.js +28 -1
  74. package/dist/cjs/helpers/isObj.js.map +2 -2
  75. package/dist/cjs/helpers/isTamaguiComponent.js +31 -1
  76. package/dist/cjs/helpers/isTamaguiComponent.js.map +2 -2
  77. package/dist/cjs/helpers/isTamaguiElement.js +32 -1
  78. package/dist/cjs/helpers/isTamaguiElement.js.map +2 -2
  79. package/dist/cjs/helpers/matchMedia.js +41 -1
  80. package/dist/cjs/helpers/matchMedia.js.map +2 -2
  81. package/dist/cjs/helpers/matchMedia.native.js +47 -1
  82. package/dist/cjs/helpers/matchMedia.native.js.map +2 -2
  83. package/dist/cjs/helpers/mergeProps.js +53 -1
  84. package/dist/cjs/helpers/mergeProps.js.map +2 -2
  85. package/dist/cjs/helpers/normalizeColor.js +66 -1
  86. package/dist/cjs/helpers/normalizeColor.js.map +2 -2
  87. package/dist/cjs/helpers/normalizeShadow.js +46 -1
  88. package/dist/cjs/helpers/normalizeShadow.js.map +2 -2
  89. package/dist/cjs/helpers/normalizeShadow.native.js +54 -1
  90. package/dist/cjs/helpers/normalizeShadow.native.js.map +2 -2
  91. package/dist/cjs/helpers/normalizeStylePropKeys.js +28 -1
  92. package/dist/cjs/helpers/normalizeStylePropKeys.js.map +2 -2
  93. package/dist/cjs/helpers/normalizeStylePropKeys.native.js +39 -1
  94. package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +2 -2
  95. package/dist/cjs/helpers/normalizeValueWithProperty.js +125 -1
  96. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +2 -2
  97. package/dist/cjs/helpers/proxyThemeVariables.js +39 -1
  98. package/dist/cjs/helpers/proxyThemeVariables.js.map +2 -2
  99. package/dist/cjs/helpers/pseudoDescriptors.js +52 -1
  100. package/dist/cjs/helpers/pseudoDescriptors.js.map +2 -2
  101. package/dist/cjs/helpers/registerCSSVariable.js +39 -1
  102. package/dist/cjs/helpers/registerCSSVariable.js.map +2 -2
  103. package/dist/cjs/helpers/themeable.js +61 -1
  104. package/dist/cjs/helpers/themeable.js.map +2 -2
  105. package/dist/cjs/helpers/themes.js +75 -1
  106. package/dist/cjs/helpers/themes.js.map +2 -2
  107. package/dist/cjs/helpers/timer.js +34 -1
  108. package/dist/cjs/helpers/timer.js.map +2 -2
  109. package/dist/cjs/helpers/useShallowSetState.js +58 -1
  110. package/dist/cjs/helpers/useShallowSetState.js.map +2 -2
  111. package/dist/cjs/helpers/warnOnce.js +37 -1
  112. package/dist/cjs/helpers/warnOnce.js.map +2 -2
  113. package/dist/cjs/helpers/withStaticProperties.js +32 -1
  114. package/dist/cjs/helpers/withStaticProperties.js.map +2 -2
  115. package/dist/cjs/hooks/getThemeUnwrapped.js +33 -1
  116. package/dist/cjs/hooks/getThemeUnwrapped.js.map +2 -2
  117. package/dist/cjs/hooks/useAnimationDriver.js +33 -1
  118. package/dist/cjs/hooks/useAnimationDriver.js.map +2 -2
  119. package/dist/cjs/hooks/useId.js +28 -1
  120. package/dist/cjs/hooks/useId.js.map +2 -2
  121. package/dist/cjs/hooks/useIsTouchDevice.js +32 -1
  122. package/dist/cjs/hooks/useIsTouchDevice.js.map +2 -2
  123. package/dist/cjs/hooks/useMedia.js +264 -1
  124. package/dist/cjs/hooks/useMedia.js.map +2 -2
  125. package/dist/cjs/hooks/useSafeRef.js +58 -1
  126. package/dist/cjs/hooks/useSafeRef.js.map +2 -2
  127. package/dist/cjs/hooks/useServerHooks.js +35 -1
  128. package/dist/cjs/hooks/useServerHooks.js.map +2 -2
  129. package/dist/cjs/hooks/useStyle.js +60 -1
  130. package/dist/cjs/hooks/useStyle.js.map +2 -2
  131. package/dist/cjs/hooks/useTheme.js +276 -1
  132. package/dist/cjs/hooks/useTheme.js.map +2 -2
  133. package/dist/cjs/hooks/useThemeName.js +51 -1
  134. package/dist/cjs/hooks/useThemeName.js.map +2 -2
  135. package/dist/cjs/index.js +110 -1
  136. package/dist/cjs/index.js.map +2 -2
  137. package/dist/cjs/inject-styles.js +39 -1
  138. package/dist/cjs/inject-styles.js.map +2 -2
  139. package/dist/cjs/insertFont.js +92 -1
  140. package/dist/cjs/insertFont.js.map +2 -2
  141. package/dist/cjs/setupHooks.js +33 -1
  142. package/dist/cjs/setupHooks.js.map +2 -2
  143. package/dist/cjs/setupReactNative.js +50 -1
  144. package/dist/cjs/setupReactNative.js.map +2 -2
  145. package/dist/cjs/styled.js +93 -1
  146. package/dist/cjs/styled.js.map +2 -2
  147. package/dist/cjs/types.js +16 -1
  148. package/dist/cjs/types.js.map +2 -2
  149. package/dist/cjs/updateTheme.js +46 -1
  150. package/dist/cjs/updateTheme.js.map +2 -2
  151. package/dist/cjs/views/AnimationDriverProvider.js +32 -1
  152. package/dist/cjs/views/AnimationDriverProvider.js.map +2 -2
  153. package/dist/cjs/views/FontLanguage.js +40 -1
  154. package/dist/cjs/views/FontLanguage.js.map +2 -2
  155. package/dist/cjs/views/FontLanguage.native.js +34 -1
  156. package/dist/cjs/views/FontLanguage.native.js.map +2 -2
  157. package/dist/cjs/views/FontLanguage.types.js +16 -1
  158. package/dist/cjs/views/FontLanguage.types.js.map +2 -2
  159. package/dist/cjs/views/Slot.js +91 -1
  160. package/dist/cjs/views/Slot.js.map +2 -2
  161. package/dist/cjs/views/Stack.js +37 -1
  162. package/dist/cjs/views/Stack.js.map +2 -2
  163. package/dist/cjs/views/TamaguiProvider.js +90 -1
  164. package/dist/cjs/views/TamaguiProvider.js.map +2 -2
  165. package/dist/cjs/views/Text.js +95 -1
  166. package/dist/cjs/views/Text.js.map +2 -2
  167. package/dist/cjs/views/Theme.js +99 -1
  168. package/dist/cjs/views/Theme.js.map +2 -2
  169. package/dist/cjs/views/ThemeDebug.js +72 -1
  170. package/dist/cjs/views/ThemeDebug.js.map +2 -2
  171. package/dist/cjs/views/ThemeProvider.js +69 -1
  172. package/dist/cjs/views/ThemeProvider.js.map +2 -2
  173. package/dist/esm/Tamagui.js +44 -1
  174. package/dist/esm/Tamagui.js.map +2 -2
  175. package/dist/esm/Tamagui.mjs +44 -1
  176. package/dist/esm/Tamagui.mjs.map +2 -2
  177. package/dist/esm/addTheme.js +53 -2
  178. package/dist/esm/addTheme.js.map +2 -2
  179. package/dist/esm/addTheme.mjs +53 -2
  180. package/dist/esm/addTheme.mjs.map +2 -2
  181. package/dist/esm/config.js +89 -1
  182. package/dist/esm/config.js.map +2 -2
  183. package/dist/esm/config.mjs +89 -1
  184. package/dist/esm/config.mjs.map +2 -2
  185. package/dist/esm/constants/constants.js +21 -1
  186. package/dist/esm/constants/constants.js.map +2 -2
  187. package/dist/esm/constants/constants.mjs +21 -1
  188. package/dist/esm/constants/constants.mjs.map +2 -2
  189. package/dist/esm/constants/isDevTools.js +12 -1
  190. package/dist/esm/constants/isDevTools.js.map +2 -2
  191. package/dist/esm/constants/isDevTools.mjs +12 -1
  192. package/dist/esm/constants/isDevTools.mjs.map +2 -2
  193. package/dist/esm/contexts/AnimationDriverContext.js +5 -1
  194. package/dist/esm/contexts/AnimationDriverContext.js.map +2 -2
  195. package/dist/esm/contexts/AnimationDriverContext.mjs +5 -1
  196. package/dist/esm/contexts/AnimationDriverContext.mjs.map +2 -2
  197. package/dist/esm/contexts/ButtonNestingContext.js +5 -1
  198. package/dist/esm/contexts/ButtonNestingContext.js.map +2 -2
  199. package/dist/esm/contexts/ButtonNestingContext.mjs +5 -1
  200. package/dist/esm/contexts/ButtonNestingContext.mjs.map +2 -2
  201. package/dist/esm/contexts/FontLanguageContext.js +5 -1
  202. package/dist/esm/contexts/FontLanguageContext.js.map +2 -2
  203. package/dist/esm/contexts/FontLanguageContext.mjs +5 -1
  204. package/dist/esm/contexts/FontLanguageContext.mjs.map +2 -2
  205. package/dist/esm/contexts/TextAncestorContext.js +5 -1
  206. package/dist/esm/contexts/TextAncestorContext.js.map +2 -2
  207. package/dist/esm/contexts/TextAncestorContext.mjs +5 -1
  208. package/dist/esm/contexts/TextAncestorContext.mjs.map +2 -2
  209. package/dist/esm/createComponent.js +869 -2
  210. package/dist/esm/createComponent.js.map +2 -2
  211. package/dist/esm/createComponent.mjs +869 -2
  212. package/dist/esm/createComponent.mjs.map +2 -2
  213. package/dist/esm/createFont.js +44 -1
  214. package/dist/esm/createFont.js.map +2 -2
  215. package/dist/esm/createFont.mjs +44 -1
  216. package/dist/esm/createFont.mjs.map +2 -2
  217. package/dist/esm/createShorthands.js +6 -1
  218. package/dist/esm/createShorthands.js.map +2 -2
  219. package/dist/esm/createShorthands.mjs +6 -1
  220. package/dist/esm/createShorthands.mjs.map +2 -2
  221. package/dist/esm/createTamagui.js +186 -5
  222. package/dist/esm/createTamagui.js.map +2 -2
  223. package/dist/esm/createTamagui.mjs +186 -5
  224. package/dist/esm/createTamagui.mjs.map +2 -2
  225. package/dist/esm/createTheme.js +6 -1
  226. package/dist/esm/createTheme.js.map +2 -2
  227. package/dist/esm/createTheme.mjs +6 -1
  228. package/dist/esm/createTheme.mjs.map +2 -2
  229. package/dist/esm/createTokens.js +14 -1
  230. package/dist/esm/createTokens.js.map +2 -2
  231. package/dist/esm/createTokens.mjs +14 -1
  232. package/dist/esm/createTokens.mjs.map +2 -2
  233. package/dist/esm/createVariable.js +77 -1
  234. package/dist/esm/createVariable.js.map +2 -2
  235. package/dist/esm/createVariable.mjs +77 -1
  236. package/dist/esm/createVariable.mjs.map +2 -2
  237. package/dist/esm/createVariables.js +34 -1
  238. package/dist/esm/createVariables.js.map +2 -2
  239. package/dist/esm/createVariables.mjs +34 -1
  240. package/dist/esm/createVariables.mjs.map +2 -2
  241. package/dist/esm/helpers/ThemeManager.js +218 -1
  242. package/dist/esm/helpers/ThemeManager.js.map +2 -2
  243. package/dist/esm/helpers/ThemeManager.mjs +218 -1
  244. package/dist/esm/helpers/ThemeManager.mjs.map +2 -2
  245. package/dist/esm/helpers/ThemeManagerContext.js +5 -1
  246. package/dist/esm/helpers/ThemeManagerContext.js.map +2 -2
  247. package/dist/esm/helpers/ThemeManagerContext.mjs +5 -1
  248. package/dist/esm/helpers/ThemeManagerContext.mjs.map +2 -2
  249. package/dist/esm/helpers/createMediaStyle.js +41 -1
  250. package/dist/esm/helpers/createMediaStyle.js.map +2 -2
  251. package/dist/esm/helpers/createMediaStyle.mjs +41 -1
  252. package/dist/esm/helpers/createMediaStyle.mjs.map +2 -2
  253. package/dist/esm/helpers/createPropMapper.js +404 -2
  254. package/dist/esm/helpers/createPropMapper.js.map +2 -2
  255. package/dist/esm/helpers/createPropMapper.mjs +404 -2
  256. package/dist/esm/helpers/createPropMapper.mjs.map +2 -2
  257. package/dist/esm/helpers/createProxy.js +17 -2
  258. package/dist/esm/helpers/createProxy.js.map +2 -2
  259. package/dist/esm/helpers/createProxy.mjs +17 -2
  260. package/dist/esm/helpers/createProxy.mjs.map +2 -2
  261. package/dist/esm/helpers/defaultOffset.js +4 -1
  262. package/dist/esm/helpers/defaultOffset.js.map +2 -2
  263. package/dist/esm/helpers/defaultOffset.mjs +4 -1
  264. package/dist/esm/helpers/defaultOffset.mjs.map +2 -2
  265. package/dist/esm/helpers/expandStyle.js +61 -1
  266. package/dist/esm/helpers/expandStyle.js.map +2 -2
  267. package/dist/esm/helpers/expandStyle.mjs +61 -1
  268. package/dist/esm/helpers/expandStyle.mjs.map +2 -2
  269. package/dist/esm/helpers/expandStyles.js +51 -1
  270. package/dist/esm/helpers/expandStyles.js.map +2 -2
  271. package/dist/esm/helpers/expandStyles.mjs +51 -1
  272. package/dist/esm/helpers/expandStyles.mjs.map +2 -2
  273. package/dist/esm/helpers/extendStaticConfig.js +66 -1
  274. package/dist/esm/helpers/extendStaticConfig.js.map +2 -2
  275. package/dist/esm/helpers/extendStaticConfig.mjs +66 -1
  276. package/dist/esm/helpers/extendStaticConfig.mjs.map +2 -2
  277. package/dist/esm/helpers/getAnimationDriver.js +7 -1
  278. package/dist/esm/helpers/getAnimationDriver.js.map +2 -2
  279. package/dist/esm/helpers/getAnimationDriver.mjs +7 -1
  280. package/dist/esm/helpers/getAnimationDriver.mjs.map +2 -2
  281. package/dist/esm/helpers/getExpandedShorthands.js +14 -1
  282. package/dist/esm/helpers/getExpandedShorthands.js.map +2 -2
  283. package/dist/esm/helpers/getExpandedShorthands.mjs +14 -1
  284. package/dist/esm/helpers/getExpandedShorthands.mjs.map +2 -2
  285. package/dist/esm/helpers/getFontLanguage.js +4 -1
  286. package/dist/esm/helpers/getFontLanguage.js.map +2 -2
  287. package/dist/esm/helpers/getFontLanguage.mjs +4 -1
  288. package/dist/esm/helpers/getFontLanguage.mjs.map +2 -2
  289. package/dist/esm/helpers/getSplitStyles.js +859 -3
  290. package/dist/esm/helpers/getSplitStyles.js.map +2 -2
  291. package/dist/esm/helpers/getSplitStyles.mjs +859 -3
  292. package/dist/esm/helpers/getSplitStyles.mjs.map +2 -2
  293. package/dist/esm/helpers/getStylesAtomic.js +200 -1
  294. package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
  295. package/dist/esm/helpers/getStylesAtomic.mjs +200 -1
  296. package/dist/esm/helpers/getStylesAtomic.mjs.map +2 -2
  297. package/dist/esm/helpers/getStylesAtomic.native.js +11 -1
  298. package/dist/esm/helpers/getStylesAtomic.native.js.map +2 -2
  299. package/dist/esm/helpers/getStylesAtomic.native.mjs +11 -1
  300. package/dist/esm/helpers/getStylesAtomic.native.mjs.map +2 -2
  301. package/dist/esm/helpers/getThemeCSSRules.js +102 -4
  302. package/dist/esm/helpers/getThemeCSSRules.js.map +2 -2
  303. package/dist/esm/helpers/getThemeCSSRules.mjs +102 -4
  304. package/dist/esm/helpers/getThemeCSSRules.mjs.map +2 -2
  305. package/dist/esm/helpers/getThemeCSSRules.native.js +6 -1
  306. package/dist/esm/helpers/getThemeCSSRules.native.js.map +2 -2
  307. package/dist/esm/helpers/getThemeCSSRules.native.mjs +6 -1
  308. package/dist/esm/helpers/getThemeCSSRules.native.mjs.map +2 -2
  309. package/dist/esm/helpers/getVariantExtras.js +66 -1
  310. package/dist/esm/helpers/getVariantExtras.js.map +2 -2
  311. package/dist/esm/helpers/getVariantExtras.mjs +66 -1
  312. package/dist/esm/helpers/getVariantExtras.mjs.map +2 -2
  313. package/dist/esm/helpers/insertStyleRule.js +190 -2
  314. package/dist/esm/helpers/insertStyleRule.js.map +2 -2
  315. package/dist/esm/helpers/insertStyleRule.mjs +190 -2
  316. package/dist/esm/helpers/insertStyleRule.mjs.map +2 -2
  317. package/dist/esm/helpers/isObj.js +4 -1
  318. package/dist/esm/helpers/isObj.js.map +2 -2
  319. package/dist/esm/helpers/isObj.mjs +4 -1
  320. package/dist/esm/helpers/isObj.mjs.map +2 -2
  321. package/dist/esm/helpers/isTamaguiComponent.js +7 -1
  322. package/dist/esm/helpers/isTamaguiComponent.js.map +2 -2
  323. package/dist/esm/helpers/isTamaguiComponent.mjs +7 -1
  324. package/dist/esm/helpers/isTamaguiComponent.mjs.map +2 -2
  325. package/dist/esm/helpers/isTamaguiElement.js +8 -1
  326. package/dist/esm/helpers/isTamaguiElement.js.map +2 -2
  327. package/dist/esm/helpers/isTamaguiElement.mjs +8 -1
  328. package/dist/esm/helpers/isTamaguiElement.mjs.map +2 -2
  329. package/dist/esm/helpers/matchMedia.js +16 -1
  330. package/dist/esm/helpers/matchMedia.js.map +2 -2
  331. package/dist/esm/helpers/matchMedia.mjs +16 -1
  332. package/dist/esm/helpers/matchMedia.mjs.map +2 -2
  333. package/dist/esm/helpers/matchMedia.native.js +22 -1
  334. package/dist/esm/helpers/matchMedia.native.js.map +2 -2
  335. package/dist/esm/helpers/matchMedia.native.mjs +22 -1
  336. package/dist/esm/helpers/matchMedia.native.mjs.map +2 -2
  337. package/dist/esm/helpers/mergeProps.js +29 -1
  338. package/dist/esm/helpers/mergeProps.js.map +2 -2
  339. package/dist/esm/helpers/mergeProps.mjs +29 -1
  340. package/dist/esm/helpers/mergeProps.mjs.map +2 -2
  341. package/dist/esm/helpers/normalizeColor.js +30 -1
  342. package/dist/esm/helpers/normalizeColor.js.map +2 -2
  343. package/dist/esm/helpers/normalizeColor.mjs +30 -1
  344. package/dist/esm/helpers/normalizeColor.mjs.map +2 -2
  345. package/dist/esm/helpers/normalizeShadow.js +22 -1
  346. package/dist/esm/helpers/normalizeShadow.js.map +2 -2
  347. package/dist/esm/helpers/normalizeShadow.mjs +22 -1
  348. package/dist/esm/helpers/normalizeShadow.mjs.map +2 -2
  349. package/dist/esm/helpers/normalizeShadow.native.js +30 -1
  350. package/dist/esm/helpers/normalizeShadow.native.js.map +2 -2
  351. package/dist/esm/helpers/normalizeShadow.native.mjs +30 -1
  352. package/dist/esm/helpers/normalizeShadow.native.mjs.map +2 -2
  353. package/dist/esm/helpers/normalizeStylePropKeys.js +4 -1
  354. package/dist/esm/helpers/normalizeStylePropKeys.js.map +2 -2
  355. package/dist/esm/helpers/normalizeStylePropKeys.mjs +4 -1
  356. package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +2 -2
  357. package/dist/esm/helpers/normalizeStylePropKeys.native.js +15 -1
  358. package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +2 -2
  359. package/dist/esm/helpers/normalizeStylePropKeys.native.mjs +15 -1
  360. package/dist/esm/helpers/normalizeStylePropKeys.native.mjs.map +2 -2
  361. package/dist/esm/helpers/normalizeValueWithProperty.js +100 -1
  362. package/dist/esm/helpers/normalizeValueWithProperty.js.map +2 -2
  363. package/dist/esm/helpers/normalizeValueWithProperty.mjs +100 -1
  364. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +2 -2
  365. package/dist/esm/helpers/proxyThemeVariables.js +15 -1
  366. package/dist/esm/helpers/proxyThemeVariables.js.map +2 -2
  367. package/dist/esm/helpers/proxyThemeVariables.mjs +15 -1
  368. package/dist/esm/helpers/proxyThemeVariables.mjs.map +2 -2
  369. package/dist/esm/helpers/pseudoDescriptors.js +28 -1
  370. package/dist/esm/helpers/pseudoDescriptors.js.map +2 -2
  371. package/dist/esm/helpers/pseudoDescriptors.mjs +28 -1
  372. package/dist/esm/helpers/pseudoDescriptors.mjs.map +2 -2
  373. package/dist/esm/helpers/registerCSSVariable.js +13 -1
  374. package/dist/esm/helpers/registerCSSVariable.js.map +2 -2
  375. package/dist/esm/helpers/registerCSSVariable.mjs +13 -1
  376. package/dist/esm/helpers/registerCSSVariable.mjs.map +2 -2
  377. package/dist/esm/helpers/themeable.js +27 -1
  378. package/dist/esm/helpers/themeable.js.map +2 -2
  379. package/dist/esm/helpers/themeable.mjs +27 -1
  380. package/dist/esm/helpers/themeable.mjs.map +2 -2
  381. package/dist/esm/helpers/themes.js +50 -1
  382. package/dist/esm/helpers/themes.js.map +2 -2
  383. package/dist/esm/helpers/themes.mjs +50 -1
  384. package/dist/esm/helpers/themes.mjs.map +2 -2
  385. package/dist/esm/helpers/timer.js +10 -1
  386. package/dist/esm/helpers/timer.js.map +2 -2
  387. package/dist/esm/helpers/timer.mjs +10 -1
  388. package/dist/esm/helpers/timer.mjs.map +2 -2
  389. package/dist/esm/helpers/useShallowSetState.js +34 -1
  390. package/dist/esm/helpers/useShallowSetState.js.map +2 -2
  391. package/dist/esm/helpers/useShallowSetState.mjs +34 -1
  392. package/dist/esm/helpers/useShallowSetState.mjs.map +2 -2
  393. package/dist/esm/helpers/warnOnce.js +13 -1
  394. package/dist/esm/helpers/warnOnce.js.map +2 -2
  395. package/dist/esm/helpers/warnOnce.mjs +13 -1
  396. package/dist/esm/helpers/warnOnce.mjs.map +2 -2
  397. package/dist/esm/helpers/withStaticProperties.js +8 -1
  398. package/dist/esm/helpers/withStaticProperties.js.map +2 -2
  399. package/dist/esm/helpers/withStaticProperties.mjs +8 -1
  400. package/dist/esm/helpers/withStaticProperties.mjs.map +2 -2
  401. package/dist/esm/hooks/getThemeUnwrapped.js +8 -1
  402. package/dist/esm/hooks/getThemeUnwrapped.js.map +2 -2
  403. package/dist/esm/hooks/getThemeUnwrapped.mjs +8 -1
  404. package/dist/esm/hooks/getThemeUnwrapped.mjs.map +2 -2
  405. package/dist/esm/hooks/useAnimationDriver.js +9 -1
  406. package/dist/esm/hooks/useAnimationDriver.js.map +2 -2
  407. package/dist/esm/hooks/useAnimationDriver.mjs +9 -1
  408. package/dist/esm/hooks/useAnimationDriver.mjs.map +2 -2
  409. package/dist/esm/hooks/useId.js +4 -1
  410. package/dist/esm/hooks/useId.js.map +2 -2
  411. package/dist/esm/hooks/useId.mjs +4 -1
  412. package/dist/esm/hooks/useId.mjs.map +2 -2
  413. package/dist/esm/hooks/useIsTouchDevice.js +8 -1
  414. package/dist/esm/hooks/useIsTouchDevice.js.map +2 -2
  415. package/dist/esm/hooks/useIsTouchDevice.mjs +8 -1
  416. package/dist/esm/hooks/useIsTouchDevice.mjs.map +2 -2
  417. package/dist/esm/hooks/useMedia.js +225 -1
  418. package/dist/esm/hooks/useMedia.js.map +2 -2
  419. package/dist/esm/hooks/useMedia.mjs +225 -1
  420. package/dist/esm/hooks/useMedia.mjs.map +2 -2
  421. package/dist/esm/hooks/useSafeRef.js +34 -1
  422. package/dist/esm/hooks/useSafeRef.js.map +2 -2
  423. package/dist/esm/hooks/useSafeRef.mjs +34 -1
  424. package/dist/esm/hooks/useSafeRef.mjs.map +2 -2
  425. package/dist/esm/hooks/useServerHooks.js +10 -1
  426. package/dist/esm/hooks/useServerHooks.js.map +2 -2
  427. package/dist/esm/hooks/useServerHooks.mjs +10 -1
  428. package/dist/esm/hooks/useServerHooks.mjs.map +2 -2
  429. package/dist/esm/hooks/useStyle.js +36 -1
  430. package/dist/esm/hooks/useStyle.js.map +2 -2
  431. package/dist/esm/hooks/useStyle.mjs +36 -1
  432. package/dist/esm/hooks/useStyle.mjs.map +2 -2
  433. package/dist/esm/hooks/useTheme.js +250 -1
  434. package/dist/esm/hooks/useTheme.js.map +2 -2
  435. package/dist/esm/hooks/useTheme.mjs +250 -1
  436. package/dist/esm/hooks/useTheme.mjs.map +2 -2
  437. package/dist/esm/hooks/useThemeName.js +27 -1
  438. package/dist/esm/hooks/useThemeName.js.map +2 -2
  439. package/dist/esm/hooks/useThemeName.mjs +27 -1
  440. package/dist/esm/hooks/useThemeName.mjs.map +2 -2
  441. package/dist/esm/index.js +88 -1
  442. package/dist/esm/index.js.map +2 -2
  443. package/dist/esm/index.mjs +88 -1
  444. package/dist/esm/index.mjs.map +2 -2
  445. package/dist/esm/inject-styles.js +15 -1
  446. package/dist/esm/inject-styles.js.map +2 -2
  447. package/dist/esm/inject-styles.mjs +15 -1
  448. package/dist/esm/inject-styles.mjs.map +2 -2
  449. package/dist/esm/insertFont.js +66 -1
  450. package/dist/esm/insertFont.js.map +2 -2
  451. package/dist/esm/insertFont.mjs +66 -1
  452. package/dist/esm/insertFont.mjs.map +2 -2
  453. package/dist/esm/setupHooks.js +8 -1
  454. package/dist/esm/setupHooks.js.map +2 -2
  455. package/dist/esm/setupHooks.mjs +8 -1
  456. package/dist/esm/setupHooks.mjs.map +2 -2
  457. package/dist/esm/setupReactNative.js +24 -1
  458. package/dist/esm/setupReactNative.js.map +2 -2
  459. package/dist/esm/setupReactNative.mjs +24 -1
  460. package/dist/esm/setupReactNative.mjs.map +2 -2
  461. package/dist/esm/styled.js +69 -1
  462. package/dist/esm/styled.js.map +2 -2
  463. package/dist/esm/styled.mjs +69 -1
  464. package/dist/esm/styled.mjs.map +2 -2
  465. package/dist/esm/updateTheme.js +22 -1
  466. package/dist/esm/updateTheme.js.map +2 -2
  467. package/dist/esm/updateTheme.mjs +22 -1
  468. package/dist/esm/updateTheme.mjs.map +2 -2
  469. package/dist/esm/views/AnimationDriverProvider.js +8 -1
  470. package/dist/esm/views/AnimationDriverProvider.js.map +2 -2
  471. package/dist/esm/views/AnimationDriverProvider.mjs +8 -1
  472. package/dist/esm/views/AnimationDriverProvider.mjs.map +2 -2
  473. package/dist/esm/views/FontLanguage.js +16 -1
  474. package/dist/esm/views/FontLanguage.js.map +2 -2
  475. package/dist/esm/views/FontLanguage.mjs +16 -1
  476. package/dist/esm/views/FontLanguage.mjs.map +2 -2
  477. package/dist/esm/views/FontLanguage.native.js +10 -1
  478. package/dist/esm/views/FontLanguage.native.js.map +2 -2
  479. package/dist/esm/views/FontLanguage.native.mjs +10 -1
  480. package/dist/esm/views/FontLanguage.native.mjs.map +2 -2
  481. package/dist/esm/views/Slot.js +65 -1
  482. package/dist/esm/views/Slot.js.map +2 -2
  483. package/dist/esm/views/Slot.mjs +65 -1
  484. package/dist/esm/views/Slot.mjs.map +2 -2
  485. package/dist/esm/views/Stack.js +13 -1
  486. package/dist/esm/views/Stack.js.map +2 -2
  487. package/dist/esm/views/Stack.mjs +13 -1
  488. package/dist/esm/views/Stack.mjs.map +2 -2
  489. package/dist/esm/views/TamaguiProvider.js +56 -1
  490. package/dist/esm/views/TamaguiProvider.js.map +2 -2
  491. package/dist/esm/views/TamaguiProvider.mjs +56 -1
  492. package/dist/esm/views/TamaguiProvider.mjs.map +2 -2
  493. package/dist/esm/views/Text.js +71 -1
  494. package/dist/esm/views/Text.js.map +2 -2
  495. package/dist/esm/views/Text.mjs +71 -1
  496. package/dist/esm/views/Text.mjs.map +2 -2
  497. package/dist/esm/views/Theme.js +74 -1
  498. package/dist/esm/views/Theme.js.map +2 -2
  499. package/dist/esm/views/Theme.mjs +74 -1
  500. package/dist/esm/views/Theme.mjs.map +2 -2
  501. package/dist/esm/views/ThemeDebug.js +48 -1
  502. package/dist/esm/views/ThemeDebug.js.map +2 -2
  503. package/dist/esm/views/ThemeDebug.mjs +48 -1
  504. package/dist/esm/views/ThemeDebug.mjs.map +2 -2
  505. package/dist/esm/views/ThemeProvider.js +44 -1
  506. package/dist/esm/views/ThemeProvider.js.map +2 -2
  507. package/dist/esm/views/ThemeProvider.mjs +44 -1
  508. package/dist/esm/views/ThemeProvider.mjs.map +2 -2
  509. package/package.json +9 -9
@@ -1,5 +1,127 @@
1
- "use strict";var b=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var F=(t,e)=>{for(var o in e)b(t,o,{get:e[o],enumerable:!0})},I=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of O(e))!H.call(t,a)&&a!==o&&b(t,a,{get:()=>e[a],enumerable:!(n=B(e,a))||n.enumerable});return t};var K=t=>I(b({},"__esModule",{value:!0}),t);var z={};F(z,{getThemeCSSRules:()=>X});module.exports=K(z);var R=require("@tamagui/helpers"),L=require("../constants/constants.js"),_=require("../createVariable.js"),T=require("./registerCSSVariable.js");function X({config:t,themeName:e,theme:o,names:n}){const a=[],W="light"in t.themes&&"dark"in t.themes,d=`.${L.THEME_CLASSNAME_PREFIX}`;let p="";for(const r in o){const s=o[r];let i=null;T.tokensValueToVariable.has(s.val)?i=T.tokensValueToVariable.get(s.val).variable:i=s.val,p+=`--${(0,R.simpleHash)(r,40)}:${i};`}const j=e==="dark"||e==="light",u=new Set(n.map(r=>`${d}${r}`));if(W)for(const r of n){const s=e==="dark"||r.startsWith("dark_"),i=t.maxDarkLightNesting??3;if(!(s||r.startsWith("light_"))){u.add(`:root:root ${d}${r}`);continue}const S=`${d}${r.replace(s?"dark_":"light_","")}`,[f,C]=[s?["dark","light"]:["light","dark"],s?["dark","sub_theme"]:["light","sub_theme"]];for(const g of[f,C]){j&&g.reverse();const[k,l]=g,E=Math.round(i*1.5);for(let c=0;c<E;c++){const D=c%2===1;if(D&&c<3)continue;const $=new Array(c+1).fill(0).map((V,m)=>`${d}${m%2===0?k:l}`);let h=$.length>1?$.slice(1):$;if(D){const[V,m,...w]=h;h=[m,...w,m]}const M=h[h.length-1],N=S===M?"":S;u.add(`${h.join(" ")} ${N}`.trim())}}}const v=[...u],A=`${v.map(r=>`:root${q(r)&&t.themeClassNameOnRoot?"":" "}${r}`).join(", ")} {${p}}`;if(a.push(A),t.shouldAddPrefersColorThemes){const r=(0,_.variableToString)(o.background),s=(0,_.variableToString)(o.color),i=`body{background:${r};color:${s};}`,f=e.startsWith("dark")?"dark":"light",g=`${v.map(l=>l==P||l===y?":root":l.replace(/^\.t_(dark|light) /,"").trim()).filter(Boolean).join(", ")} {${p}}`,k=`@media(prefers-color-scheme:${f}){
2
- ${i}
3
- ${g}
4
- }`;a.push(k)}return a}const P=".t_dark",y=".t_light",q=t=>t===P||t===y||t.startsWith(".t_dark ")||t.startsWith(".t_light ");0&&(module.exports={getThemeCSSRules});
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var getThemeCSSRules_exports = {};
20
+ __export(getThemeCSSRules_exports, {
21
+ getThemeCSSRules: () => getThemeCSSRules
22
+ });
23
+ module.exports = __toCommonJS(getThemeCSSRules_exports);
24
+ var import_helpers = require("@tamagui/helpers");
25
+ var import_constants = require("../constants/constants.js");
26
+ var import_createVariable = require("../createVariable.js");
27
+ var import_registerCSSVariable = require("./registerCSSVariable.js");
28
+ function getThemeCSSRules({
29
+ config,
30
+ themeName,
31
+ theme,
32
+ names
33
+ }) {
34
+ const cssRuleSets = [];
35
+ const hasDarkLight = "light" in config.themes && "dark" in config.themes;
36
+ const CNP = `.${import_constants.THEME_CLASSNAME_PREFIX}`;
37
+ let vars = "";
38
+ for (const themeKey in theme) {
39
+ const variable = theme[themeKey];
40
+ let value = null;
41
+ if (!import_registerCSSVariable.tokensValueToVariable.has(variable.val)) {
42
+ value = variable.val;
43
+ } else {
44
+ value = import_registerCSSVariable.tokensValueToVariable.get(variable.val).variable;
45
+ }
46
+ vars += `--${(0, import_helpers.simpleHash)(themeKey, 40)}:${value};`;
47
+ }
48
+ const isDarkOrLightBase = themeName === "dark" || themeName === "light";
49
+ const selectorsSet = new Set(
50
+ names.map((name) => {
51
+ return `${CNP}${name}`;
52
+ })
53
+ );
54
+ if (hasDarkLight) {
55
+ for (const subName of names) {
56
+ const isDark = themeName === "dark" || subName.startsWith("dark_");
57
+ const maxDepth = config.maxDarkLightNesting ?? 3;
58
+ if (!(isDark || subName.startsWith("light_"))) {
59
+ selectorsSet.add(`:root:root ${CNP}${subName}`);
60
+ continue;
61
+ }
62
+ const childSelector = `${CNP}${subName.replace(isDark ? "dark_" : "light_", "")}`;
63
+ const [altLightDark, altSubTheme] = [
64
+ isDark ? ["dark", "light"] : ["light", "dark"],
65
+ isDark ? ["dark", "sub_theme"] : ["light", "sub_theme"]
66
+ ];
67
+ for (const order of [altLightDark, altSubTheme]) {
68
+ if (isDarkOrLightBase) {
69
+ order.reverse();
70
+ }
71
+ const [stronger, weaker] = order;
72
+ const numSelectors = Math.round(maxDepth * 1.5);
73
+ for (let depth = 0; depth < numSelectors; depth++) {
74
+ const isOdd = depth % 2 === 1;
75
+ if (isOdd && depth < 3) {
76
+ continue;
77
+ }
78
+ const parents = new Array(depth + 1).fill(0).map((_, psi) => {
79
+ return `${CNP}${psi % 2 === 0 ? stronger : weaker}`;
80
+ });
81
+ let parentSelectors = parents.length > 1 ? parents.slice(1) : parents;
82
+ if (isOdd) {
83
+ const [_first, second, ...rest] = parentSelectors;
84
+ parentSelectors = [second, ...rest, second];
85
+ }
86
+ const lastParentSelector = parentSelectors[parentSelectors.length - 1];
87
+ const nextChildSelector = childSelector === lastParentSelector ? "" : childSelector;
88
+ selectorsSet.add(`${parentSelectors.join(" ")} ${nextChildSelector}`.trim());
89
+ }
90
+ }
91
+ }
92
+ }
93
+ const selectors = [...selectorsSet];
94
+ const selectorsString = selectors.map((x) => {
95
+ const rootSep = isBaseTheme(x) && config.themeClassNameOnRoot ? "" : " ";
96
+ return `:root${rootSep}${x}`;
97
+ }).join(", ");
98
+ const css = `${selectorsString} {${vars}}`;
99
+ cssRuleSets.push(css);
100
+ if (config.shouldAddPrefersColorThemes) {
101
+ const bgString = (0, import_createVariable.variableToString)(theme.background);
102
+ const fgString = (0, import_createVariable.variableToString)(theme.color);
103
+ const bodyRules = `body{background:${bgString};color:${fgString};}`;
104
+ const isDark = themeName.startsWith("dark");
105
+ const baseName = isDark ? "dark" : "light";
106
+ const lessSpecificSelectors = selectors.map((x) => {
107
+ if (x == darkSelector || x === lightSelector)
108
+ return `:root`;
109
+ return x.replace(/^\.t_(dark|light) /, "").trim();
110
+ }).filter(Boolean).join(", ");
111
+ const themeRules = `${lessSpecificSelectors} {${vars}}`;
112
+ const prefersMediaSelectors = `@media(prefers-color-scheme:${baseName}){
113
+ ${bodyRules}
114
+ ${themeRules}
115
+ }`;
116
+ cssRuleSets.push(prefersMediaSelectors);
117
+ }
118
+ return cssRuleSets;
119
+ }
120
+ const darkSelector = ".t_dark";
121
+ const lightSelector = ".t_light";
122
+ const isBaseTheme = (x) => x === darkSelector || x === lightSelector || x.startsWith(".t_dark ") || x.startsWith(".t_light ");
123
+ // Annotate the CommonJS export names for ESM import in node:
124
+ 0 && (module.exports = {
125
+ getThemeCSSRules
126
+ });
5
127
  //# sourceMappingURL=getThemeCSSRules.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/getThemeCSSRules.ts"],
4
4
  "sourcesContent": ["import { simpleHash } from '@tamagui/helpers'\n\nimport { THEME_CLASSNAME_PREFIX } from '../constants/constants.js'\nimport { Variable, variableToString } from '../createVariable.js'\nimport type { CreateTamaguiProps, ThemeParsed } from '../types.js'\nimport { tokensValueToVariable } from './registerCSSVariable.js'\n\nexport function getThemeCSSRules({\n config,\n themeName,\n theme,\n names,\n}: {\n config: CreateTamaguiProps\n themeName: string\n theme: ThemeParsed\n names: string[]\n}) {\n const cssRuleSets: string[] = []\n\n // special case for SSR\n const hasDarkLight = 'light' in config.themes && 'dark' in config.themes\n const CNP = `.${THEME_CLASSNAME_PREFIX}`\n let vars = ''\n\n // themeToVariableToValueMap.set(theme, {})\n // const varToValMap = themeToVariableToValueMap.get(theme)\n for (const themeKey in theme) {\n const variable = theme[themeKey] as Variable\n let value: any = null\n // if (varToValMap) {\n // varToValMap[variable.variable] = variable.val\n // }\n if (!tokensValueToVariable.has(variable.val)) {\n value = variable.val\n } else {\n value = tokensValueToVariable.get(variable.val)!.variable\n }\n // Hash themeKey in case it has invalid chars too\n vars += `--${simpleHash(themeKey, 40)}:${value};`\n }\n\n const isDarkOrLightBase = themeName === 'dark' || themeName === 'light'\n const selectorsSet = new Set(\n names.map((name) => {\n return `${CNP}${name}`\n })\n )\n\n // since we dont specify dark/light in classnames we have to do an awkward specificity war\n // use config.maxDarkLightNesting to determine how deep you can nest until it breaks\n if (hasDarkLight) {\n for (const subName of names) {\n const isDark = themeName === 'dark' || subName.startsWith('dark_')\n const maxDepth = config.maxDarkLightNesting ?? 3\n\n if (!(isDark || subName.startsWith('light_'))) {\n // neither light nor dark subtheme, just generate one selector with :root:root which\n // will override all :root light/dark selectors generated below\n selectorsSet.add(`:root:root ${CNP}${subName}`)\n continue\n }\n\n const childSelector = `${CNP}${subName.replace(isDark ? 'dark_' : 'light_', '')}`\n\n const [altLightDark, altSubTheme] = [\n isDark ? ['dark', 'light'] : ['light', 'dark'],\n isDark ? ['dark', 'sub_theme'] : ['light', 'sub_theme'],\n ]\n\n for (const order of [altLightDark, altSubTheme]) {\n if (isDarkOrLightBase) {\n order.reverse()\n }\n const [stronger, weaker] = order\n const numSelectors = Math.round(maxDepth * 1.5)\n\n for (let depth = 0; depth < numSelectors; depth++) {\n const isOdd = depth % 2 === 1\n\n // wtf is this continue:\n if (isOdd && depth < 3) {\n continue\n }\n\n const parents = new Array(depth + 1).fill(0).map((_, psi) => {\n return `${CNP}${psi % 2 === 0 ? stronger : weaker}`\n })\n\n let parentSelectors = parents.length > 1 ? parents.slice(1) : parents\n\n if (isOdd) {\n const [_first, second, ...rest] = parentSelectors\n parentSelectors = [second, ...rest, second]\n }\n\n const lastParentSelector = parentSelectors[parentSelectors.length - 1]\n const nextChildSelector =\n childSelector === lastParentSelector ? '' : childSelector\n\n // for light/dark/light:\n selectorsSet.add(`${parentSelectors.join(' ')} ${nextChildSelector}`.trim())\n }\n }\n }\n }\n\n const selectors = [...selectorsSet]\n\n // only do our :root attach if it's not light/dark - not support sub themes on root saves a lot of effort/size\n // this isBaseTheme logic could probably be done more efficiently above\n const selectorsString = selectors\n .map((x) => {\n const rootSep = isBaseTheme(x) && config.themeClassNameOnRoot ? '' : ' '\n return `:root${rootSep}${x}`\n })\n .join(', ')\n\n const css = `${selectorsString} {${vars}}`\n cssRuleSets.push(css)\n\n if (config.shouldAddPrefersColorThemes) {\n const bgString = variableToString(theme.background)\n const fgString = variableToString(theme.color)\n const bodyRules = `body{background:${bgString};color:${fgString};}`\n const isDark = themeName.startsWith('dark')\n const baseName = isDark ? 'dark' : 'light'\n const lessSpecificSelectors = selectors\n .map((x) => {\n if (x == darkSelector || x === lightSelector) return `:root`\n return x.replace(/^\\.t_(dark|light) /, '').trim()\n })\n .filter(Boolean)\n .join(', ')\n const themeRules = `${lessSpecificSelectors} {${vars}}`\n const prefersMediaSelectors = `@media(prefers-color-scheme:${baseName}){\n ${bodyRules}\n ${themeRules}\n}`\n cssRuleSets.push(prefersMediaSelectors)\n }\n\n return cssRuleSets\n}\n\nconst darkSelector = '.t_dark'\nconst lightSelector = '.t_light'\nconst isBaseTheme = (x: string) =>\n x === darkSelector ||\n x === lightSelector ||\n x.startsWith('.t_dark ') ||\n x.startsWith('.t_light ')\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAA2B,4BAE3BC,EAAuC,qCACvCC,EAA2C,gCAE3CC,EAAsC,oCAE/B,SAASL,EAAiB,CAC/B,OAAAM,EACA,UAAAC,EACA,MAAAC,EACA,MAAAC,CACF,EAKG,CACD,MAAMC,EAAwB,CAAC,EAGzBC,EAAe,UAAWL,EAAO,QAAU,SAAUA,EAAO,OAC5DM,EAAM,IAAI,2BAChB,IAAIC,EAAO,GAIX,UAAWC,KAAYN,EAAO,CAC5B,MAAMO,EAAWP,EAAMM,CAAQ,EAC/B,IAAIE,EAAa,KAIZ,wBAAsB,IAAID,EAAS,GAAG,EAGzCC,EAAQ,wBAAsB,IAAID,EAAS,GAAG,EAAG,SAFjDC,EAAQD,EAAS,IAKnBF,GAAQ,QAAK,cAAWC,EAAU,EAAE,KAAKE,IAC3C,CAEA,MAAMC,EAAoBV,IAAc,QAAUA,IAAc,QAC1DW,EAAe,IAAI,IACvBT,EAAM,IAAKU,GACF,GAAGP,IAAMO,GACjB,CACH,EAIA,GAAIR,EACF,UAAWS,KAAWX,EAAO,CAC3B,MAAMY,EAASd,IAAc,QAAUa,EAAQ,WAAW,OAAO,EAC3DE,EAAWhB,EAAO,qBAAuB,EAE/C,GAAI,EAAEe,GAAUD,EAAQ,WAAW,QAAQ,GAAI,CAG7CF,EAAa,IAAI,cAAcN,IAAMQ,GAAS,EAC9C,QACF,CAEA,MAAMG,EAAgB,GAAGX,IAAMQ,EAAQ,QAAQC,EAAS,QAAU,SAAU,EAAE,IAExE,CAACG,EAAcC,CAAW,EAAI,CAClCJ,EAAS,CAAC,OAAQ,OAAO,EAAI,CAAC,QAAS,MAAM,EAC7CA,EAAS,CAAC,OAAQ,WAAW,EAAI,CAAC,QAAS,WAAW,CACxD,EAEA,UAAWK,IAAS,CAACF,EAAcC,CAAW,EAAG,CAC3CR,GACFS,EAAM,QAAQ,EAEhB,KAAM,CAACC,EAAUC,CAAM,EAAIF,EACrBG,EAAe,KAAK,MAAMP,EAAW,GAAG,EAE9C,QAASQ,EAAQ,EAAGA,EAAQD,EAAcC,IAAS,CACjD,MAAMC,EAAQD,EAAQ,IAAM,EAG5B,GAAIC,GAASD,EAAQ,EACnB,SAGF,MAAME,EAAU,IAAI,MAAMF,EAAQ,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAACG,EAAGC,IAC5C,GAAGtB,IAAMsB,EAAM,IAAM,EAAIP,EAAWC,GAC5C,EAED,IAAIO,EAAkBH,EAAQ,OAAS,EAAIA,EAAQ,MAAM,CAAC,EAAIA,EAE9D,GAAID,EAAO,CACT,KAAM,CAACK,EAAQC,EAAQ,GAAGC,CAAI,EAAIH,EAClCA,EAAkB,CAACE,EAAQ,GAAGC,EAAMD,CAAM,CAC5C,CAEA,MAAME,EAAqBJ,EAAgBA,EAAgB,OAAS,CAAC,EAC/DK,EACJjB,IAAkBgB,EAAqB,GAAKhB,EAG9CL,EAAa,IAAI,GAAGiB,EAAgB,KAAK,GAAG,KAAKK,IAAoB,KAAK,CAAC,CAC7E,CACF,CACF,CAGF,MAAMC,EAAY,CAAC,GAAGvB,CAAY,EAW5BwB,EAAM,GAPYD,EACrB,IAAKE,GAEG,QADSC,EAAYD,CAAC,GAAKrC,EAAO,qBAAuB,GAAK,MAC5CqC,GAC1B,EACA,KAAK,IAAI,MAEuB9B,KAGnC,GAFAH,EAAY,KAAKgC,CAAG,EAEhBpC,EAAO,4BAA6B,CACtC,MAAMuC,KAAW,oBAAiBrC,EAAM,UAAU,EAC5CsC,KAAW,oBAAiBtC,EAAM,KAAK,EACvCuC,EAAY,mBAAmBF,WAAkBC,MAEjDE,EADSzC,EAAU,WAAW,MAAM,EAChB,OAAS,QAQ7B0C,EAAa,GAPWR,EAC3B,IAAKE,GACAA,GAAKO,GAAgBP,IAAMQ,EAAsB,QAC9CR,EAAE,QAAQ,qBAAsB,EAAE,EAAE,KAAK,CACjD,EACA,OAAO,OAAO,EACd,KAAK,IAAI,MACoC9B,KAC1CuC,EAAwB,+BAA+BJ;AAAA,IAC7DD;AAAA,IACAE;AAAA,GAEAvC,EAAY,KAAK0C,CAAqB,CACxC,CAEA,OAAO1C,CACT,CAEA,MAAMwC,EAAe,UACfC,EAAgB,WAChBP,EAAeD,GACnBA,IAAMO,GACNP,IAAMQ,GACNR,EAAE,WAAW,UAAU,GACvBA,EAAE,WAAW,WAAW",
6
- "names": ["getThemeCSSRules_exports", "__export", "getThemeCSSRules", "__toCommonJS", "import_helpers", "import_constants", "import_createVariable", "import_registerCSSVariable", "config", "themeName", "theme", "names", "cssRuleSets", "hasDarkLight", "CNP", "vars", "themeKey", "variable", "value", "isDarkOrLightBase", "selectorsSet", "name", "subName", "isDark", "maxDepth", "childSelector", "altLightDark", "altSubTheme", "order", "stronger", "weaker", "numSelectors", "depth", "isOdd", "parents", "_", "psi", "parentSelectors", "_first", "second", "rest", "lastParentSelector", "nextChildSelector", "selectors", "css", "x", "isBaseTheme", "bgString", "fgString", "bodyRules", "baseName", "themeRules", "darkSelector", "lightSelector", "prefersMediaSelectors"]
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA2B;AAE3B,uBAAuC;AACvC,4BAA2C;AAE3C,iCAAsC;AAE/B,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AACD,QAAM,cAAwB,CAAC;AAG/B,QAAM,eAAe,WAAW,OAAO,UAAU,UAAU,OAAO;AAClE,QAAM,MAAM,IAAI;AAChB,MAAI,OAAO;AAIX,aAAW,YAAY,OAAO;AAC5B,UAAM,WAAW,MAAM,QAAQ;AAC/B,QAAI,QAAa;AAIjB,QAAI,CAAC,iDAAsB,IAAI,SAAS,GAAG,GAAG;AAC5C,cAAQ,SAAS;AAAA,IACnB,OAAO;AACL,cAAQ,iDAAsB,IAAI,SAAS,GAAG,EAAG;AAAA,IACnD;AAEA,YAAQ,SAAK,2BAAW,UAAU,EAAE,KAAK;AAAA,EAC3C;AAEA,QAAM,oBAAoB,cAAc,UAAU,cAAc;AAChE,QAAM,eAAe,IAAI;AAAA,IACvB,MAAM,IAAI,CAAC,SAAS;AAClB,aAAO,GAAG,MAAM;AAAA,IAClB,CAAC;AAAA,EACH;AAIA,MAAI,cAAc;AAChB,eAAW,WAAW,OAAO;AAC3B,YAAM,SAAS,cAAc,UAAU,QAAQ,WAAW,OAAO;AACjE,YAAM,WAAW,OAAO,uBAAuB;AAE/C,UAAI,EAAE,UAAU,QAAQ,WAAW,QAAQ,IAAI;AAG7C,qBAAa,IAAI,cAAc,MAAM,SAAS;AAC9C;AAAA,MACF;AAEA,YAAM,gBAAgB,GAAG,MAAM,QAAQ,QAAQ,SAAS,UAAU,UAAU,EAAE;AAE9E,YAAM,CAAC,cAAc,WAAW,IAAI;AAAA,QAClC,SAAS,CAAC,QAAQ,OAAO,IAAI,CAAC,SAAS,MAAM;AAAA,QAC7C,SAAS,CAAC,QAAQ,WAAW,IAAI,CAAC,SAAS,WAAW;AAAA,MACxD;AAEA,iBAAW,SAAS,CAAC,cAAc,WAAW,GAAG;AAC/C,YAAI,mBAAmB;AACrB,gBAAM,QAAQ;AAAA,QAChB;AACA,cAAM,CAAC,UAAU,MAAM,IAAI;AAC3B,cAAM,eAAe,KAAK,MAAM,WAAW,GAAG;AAE9C,iBAAS,QAAQ,GAAG,QAAQ,cAAc,SAAS;AACjD,gBAAM,QAAQ,QAAQ,MAAM;AAG5B,cAAI,SAAS,QAAQ,GAAG;AACtB;AAAA,UACF;AAEA,gBAAM,UAAU,IAAI,MAAM,QAAQ,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,QAAQ;AAC3D,mBAAO,GAAG,MAAM,MAAM,MAAM,IAAI,WAAW;AAAA,UAC7C,CAAC;AAED,cAAI,kBAAkB,QAAQ,SAAS,IAAI,QAAQ,MAAM,CAAC,IAAI;AAE9D,cAAI,OAAO;AACT,kBAAM,CAAC,QAAQ,QAAQ,GAAG,IAAI,IAAI;AAClC,8BAAkB,CAAC,QAAQ,GAAG,MAAM,MAAM;AAAA,UAC5C;AAEA,gBAAM,qBAAqB,gBAAgB,gBAAgB,SAAS,CAAC;AACrE,gBAAM,oBACJ,kBAAkB,qBAAqB,KAAK;AAG9C,uBAAa,IAAI,GAAG,gBAAgB,KAAK,GAAG,KAAK,oBAAoB,KAAK,CAAC;AAAA,QAC7E;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,YAAY,CAAC,GAAG,YAAY;AAIlC,QAAM,kBAAkB,UACrB,IAAI,CAAC,MAAM;AACV,UAAM,UAAU,YAAY,CAAC,KAAK,OAAO,uBAAuB,KAAK;AACrE,WAAO,QAAQ,UAAU;AAAA,EAC3B,CAAC,EACA,KAAK,IAAI;AAEZ,QAAM,MAAM,GAAG,oBAAoB;AACnC,cAAY,KAAK,GAAG;AAEpB,MAAI,OAAO,6BAA6B;AACtC,UAAM,eAAW,wCAAiB,MAAM,UAAU;AAClD,UAAM,eAAW,wCAAiB,MAAM,KAAK;AAC7C,UAAM,YAAY,mBAAmB,kBAAkB;AACvD,UAAM,SAAS,UAAU,WAAW,MAAM;AAC1C,UAAM,WAAW,SAAS,SAAS;AACnC,UAAM,wBAAwB,UAC3B,IAAI,CAAC,MAAM;AACV,UAAI,KAAK,gBAAgB,MAAM;AAAe,eAAO;AACrD,aAAO,EAAE,QAAQ,sBAAsB,EAAE,EAAE,KAAK;AAAA,IAClD,CAAC,EACA,OAAO,OAAO,EACd,KAAK,IAAI;AACZ,UAAM,aAAa,GAAG,0BAA0B;AAChD,UAAM,wBAAwB,+BAA+B;AAAA,IAC7D;AAAA,IACA;AAAA;AAEA,gBAAY,KAAK,qBAAqB;AAAA,EACxC;AAEA,SAAO;AACT;AAEA,MAAM,eAAe;AACrB,MAAM,gBAAgB;AACtB,MAAM,cAAc,CAAC,MACnB,MAAM,gBACN,MAAM,iBACN,EAAE,WAAW,UAAU,KACvB,EAAE,WAAW,WAAW;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,31 @@
1
- "use strict";var u=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var g=(t,e)=>{for(var r in e)u(t,r,{get:e[r],enumerable:!0})},h=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of c(e))!f.call(t,n)&&n!==r&&u(t,n,{get:()=>e[n],enumerable:!(o=S(e,n))||o.enumerable});return t};var i=t=>h(u({},"__esModule",{value:!0}),t);var m={};g(m,{getThemeCSSRules:()=>l});module.exports=i(m);function l(){return[]}0&&(module.exports={getThemeCSSRules});
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var getThemeCSSRules_native_exports = {};
20
+ __export(getThemeCSSRules_native_exports, {
21
+ getThemeCSSRules: () => getThemeCSSRules
22
+ });
23
+ module.exports = __toCommonJS(getThemeCSSRules_native_exports);
24
+ function getThemeCSSRules() {
25
+ return [];
26
+ }
27
+ // Annotate the CommonJS export names for ESM import in node:
28
+ 0 && (module.exports = {
29
+ getThemeCSSRules
30
+ });
2
31
  //# sourceMappingURL=getThemeCSSRules.native.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/getThemeCSSRules.native.ts"],
4
4
  "sourcesContent": ["export function getThemeCSSRules() {\n return []\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,IAAA,eAAAC,EAAAH,GAAO,SAASE,GAAmB,CACjC,MAAO,CAAC,CACV",
6
- "names": ["getThemeCSSRules_native_exports", "__export", "getThemeCSSRules", "__toCommonJS"]
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,mBAAmB;AACjC,SAAO,CAAC;AACV;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,92 @@
1
- "use strict";var i=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var $=Object.prototype.hasOwnProperty;var F=(t,e)=>{for(var o in e)i(t,o,{get:e[o],enumerable:!0})},l=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of L(e))!$.call(t,r)&&r!==o&&i(t,r,{get:()=>e[r],enumerable:!(n=C(e,r))||n.enumerable});return t};var T=t=>l(i({},"__esModule",{value:!0}),t);var d={};F(d,{getFontsForLanguage:()=>y,getVariantExtras:()=>b});module.exports=T(d);var x=require("../config.js"),R=require("./createProxy.js");const h=new WeakMap;function b(t,e,o,n,r=!1){const f=(0,x.getConfig)();if(h.has(t))return h.get(t);let u=f.fontsParsed;e&&(u=y(f.fontsParsed,e));const m={fonts:u,tokens:f.tokensParsed,theme:o,props:r?t:(0,R.createProxy)(t,{get(a,c){const s=f.inverseShorthands[c];if(s&&Reflect.has(a,s))return Reflect.get(a,s);if(Reflect.has(a,c))return Reflect.get(a,c);if(n){if(s&&Reflect.has(n,s))return Reflect.get(n,s);if(Reflect.has(n,c))return Reflect.get(n,c)}}})};return h.set(t,m),m}const g=new WeakMap;function y(t,e){if(g.has(e))return g.get(e);const o={...t,...Object.fromEntries(Object.entries(e).map(([n,r])=>{if(r==="default")return[];const f=`$${n}_${r}`;return[`$${n}`,t[f]]}))};return g.set(e,o),o}0&&(module.exports={getFontsForLanguage,getVariantExtras});
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var getVariantExtras_exports = {};
20
+ __export(getVariantExtras_exports, {
21
+ getFontsForLanguage: () => getFontsForLanguage,
22
+ getVariantExtras: () => getVariantExtras
23
+ });
24
+ module.exports = __toCommonJS(getVariantExtras_exports);
25
+ var import_config = require("../config.js");
26
+ var import_createProxy = require("./createProxy.js");
27
+ const extrasCache = /* @__PURE__ */ new WeakMap();
28
+ function getVariantExtras(props, languageContext, theme, defaultProps, avoidDefaultProps = false) {
29
+ const conf = (0, import_config.getConfig)();
30
+ if (extrasCache.has(props)) {
31
+ return extrasCache.get(props);
32
+ }
33
+ let fonts = conf.fontsParsed;
34
+ if (languageContext) {
35
+ fonts = getFontsForLanguage(conf.fontsParsed, languageContext);
36
+ }
37
+ const next = {
38
+ fonts,
39
+ tokens: conf.tokensParsed,
40
+ theme,
41
+ // TODO do this in splitstlye
42
+ // we avoid passing in default props for media queries because that would confuse things like SizableText.size:
43
+ props: avoidDefaultProps ? props : (0, import_createProxy.createProxy)(props, {
44
+ // handles shorthands
45
+ get(target, key) {
46
+ const shorthand = conf.inverseShorthands[key];
47
+ if (shorthand && Reflect.has(target, shorthand)) {
48
+ return Reflect.get(target, shorthand);
49
+ }
50
+ if (Reflect.has(target, key)) {
51
+ return Reflect.get(target, key);
52
+ }
53
+ if (defaultProps) {
54
+ if (shorthand && Reflect.has(defaultProps, shorthand)) {
55
+ return Reflect.get(defaultProps, shorthand);
56
+ }
57
+ if (Reflect.has(defaultProps, key)) {
58
+ return Reflect.get(defaultProps, key);
59
+ }
60
+ }
61
+ }
62
+ })
63
+ };
64
+ extrasCache.set(props, next);
65
+ return next;
66
+ }
67
+ const fontLanguageCache = /* @__PURE__ */ new WeakMap();
68
+ function getFontsForLanguage(fonts, language) {
69
+ if (fontLanguageCache.has(language)) {
70
+ return fontLanguageCache.get(language);
71
+ }
72
+ const next = {
73
+ ...fonts,
74
+ ...Object.fromEntries(
75
+ Object.entries(language).map(([name, lang]) => {
76
+ if (lang === "default") {
77
+ return [];
78
+ }
79
+ const langKey = `$${name}_${lang}`;
80
+ return [`$${name}`, fonts[langKey]];
81
+ })
82
+ )
83
+ };
84
+ fontLanguageCache.set(language, next);
85
+ return next;
86
+ }
87
+ // Annotate the CommonJS export names for ESM import in node:
88
+ 0 && (module.exports = {
89
+ getFontsForLanguage,
90
+ getVariantExtras
91
+ });
2
92
  //# sourceMappingURL=getVariantExtras.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/getVariantExtras.tsx"],
4
4
  "sourcesContent": ["import { getConfig } from '../config.js'\nimport { GenericFonts } from '../types.js'\nimport { LanguageContextType } from '../views/FontLanguage.types.js'\nimport { createProxy } from './createProxy.js'\n\nconst extrasCache = new WeakMap()\n\nexport function getVariantExtras(\n props: any,\n languageContext?: LanguageContextType,\n theme?: any,\n defaultProps?: any,\n avoidDefaultProps = false\n) {\n const conf = getConfig()\n\n if (extrasCache.has(props)) {\n return extrasCache.get(props)\n }\n\n let fonts = conf.fontsParsed\n if (languageContext) {\n fonts = getFontsForLanguage(conf.fontsParsed, languageContext)\n }\n\n const next = {\n fonts,\n tokens: conf.tokensParsed,\n theme,\n // TODO do this in splitstlye\n // we avoid passing in default props for media queries because that would confuse things like SizableText.size:\n props: avoidDefaultProps\n ? props\n : createProxy(props, {\n // handles shorthands\n get(target, key) {\n const shorthand = conf.inverseShorthands[key as any]\n // shorthands before longhand because a styled() with longhand combined with inline shorthand\n // shorthand will always be the overriding key\n if (shorthand && Reflect.has(target, shorthand)) {\n return Reflect.get(target, shorthand)\n }\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key)\n }\n // these props may be extracted into classNames, but we still want to access them\n // at runtime, so we proxy back to defaultProps but don't pass them\n if (defaultProps) {\n if (shorthand && Reflect.has(defaultProps, shorthand)) {\n return Reflect.get(defaultProps, shorthand)\n }\n if (Reflect.has(defaultProps, key)) {\n return Reflect.get(defaultProps, key)\n }\n }\n },\n }),\n }\n\n extrasCache.set(props, next)\n\n return next\n}\n\nconst fontLanguageCache = new WeakMap()\n\nexport function getFontsForLanguage(fonts: GenericFonts, language: LanguageContextType) {\n if (fontLanguageCache.has(language)) {\n return fontLanguageCache.get(language)\n }\n const next = {\n ...fonts,\n ...Object.fromEntries(\n Object.entries(language).map(([name, lang]) => {\n if (lang === 'default') {\n return []\n }\n const langKey = `$${name}_${lang}`\n return [`$${name}`, fonts[langKey]]\n })\n ),\n }\n fontLanguageCache.set(language, next)\n return next\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,EAAA,qBAAAC,IAAA,eAAAC,EAAAJ,GAAA,IAAAK,EAA0B,wBAG1BC,EAA4B,4BAE5B,MAAMC,EAAc,IAAI,QAEjB,SAASJ,EACdK,EACAC,EACAC,EACAC,EACAC,EAAoB,GACpB,CACA,MAAMC,KAAO,aAAU,EAEvB,GAAIN,EAAY,IAAIC,CAAK,EACvB,OAAOD,EAAY,IAAIC,CAAK,EAG9B,IAAIM,EAAQD,EAAK,YACbJ,IACFK,EAAQZ,EAAoBW,EAAK,YAAaJ,CAAe,GAG/D,MAAMM,EAAO,CACX,MAAAD,EACA,OAAQD,EAAK,aACb,MAAAH,EAGA,MAAOE,EACHJ,KACA,eAAYA,EAAO,CAEjB,IAAIQ,EAAQC,EAAK,CACf,MAAMC,EAAYL,EAAK,kBAAkBI,CAAU,EAGnD,GAAIC,GAAa,QAAQ,IAAIF,EAAQE,CAAS,EAC5C,OAAO,QAAQ,IAAIF,EAAQE,CAAS,EAEtC,GAAI,QAAQ,IAAIF,EAAQC,CAAG,EACzB,OAAO,QAAQ,IAAID,EAAQC,CAAG,EAIhC,GAAIN,EAAc,CAChB,GAAIO,GAAa,QAAQ,IAAIP,EAAcO,CAAS,EAClD,OAAO,QAAQ,IAAIP,EAAcO,CAAS,EAE5C,GAAI,QAAQ,IAAIP,EAAcM,CAAG,EAC/B,OAAO,QAAQ,IAAIN,EAAcM,CAAG,CAExC,CACF,CACF,CAAC,CACP,EAEA,OAAAV,EAAY,IAAIC,EAAOO,CAAI,EAEpBA,CACT,CAEA,MAAMI,EAAoB,IAAI,QAEvB,SAASjB,EAAoBY,EAAqBM,EAA+B,CACtF,GAAID,EAAkB,IAAIC,CAAQ,EAChC,OAAOD,EAAkB,IAAIC,CAAQ,EAEvC,MAAML,EAAO,CACX,GAAGD,EACH,GAAG,OAAO,YACR,OAAO,QAAQM,CAAQ,EAAE,IAAI,CAAC,CAACC,EAAMC,CAAI,IAAM,CAC7C,GAAIA,IAAS,UACX,MAAO,CAAC,EAEV,MAAMC,EAAU,IAAIF,KAAQC,IAC5B,MAAO,CAAC,IAAID,IAAQP,EAAMS,CAAO,CAAC,CACpC,CAAC,CACH,CACF,EACA,OAAAJ,EAAkB,IAAIC,EAAUL,CAAI,EAC7BA,CACT",
6
- "names": ["getVariantExtras_exports", "__export", "getFontsForLanguage", "getVariantExtras", "__toCommonJS", "import_config", "import_createProxy", "extrasCache", "props", "languageContext", "theme", "defaultProps", "avoidDefaultProps", "conf", "fonts", "next", "target", "key", "shorthand", "fontLanguageCache", "language", "name", "lang", "langKey"]
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA0B;AAG1B,yBAA4B;AAE5B,MAAM,cAAc,oBAAI,QAAQ;AAEzB,SAAS,iBACd,OACA,iBACA,OACA,cACA,oBAAoB,OACpB;AACA,QAAM,WAAO,yBAAU;AAEvB,MAAI,YAAY,IAAI,KAAK,GAAG;AAC1B,WAAO,YAAY,IAAI,KAAK;AAAA,EAC9B;AAEA,MAAI,QAAQ,KAAK;AACjB,MAAI,iBAAiB;AACnB,YAAQ,oBAAoB,KAAK,aAAa,eAAe;AAAA,EAC/D;AAEA,QAAM,OAAO;AAAA,IACX;AAAA,IACA,QAAQ,KAAK;AAAA,IACb;AAAA;AAAA;AAAA,IAGA,OAAO,oBACH,YACA,gCAAY,OAAO;AAAA;AAAA,MAEjB,IAAI,QAAQ,KAAK;AACf,cAAM,YAAY,KAAK,kBAAkB,GAAU;AAGnD,YAAI,aAAa,QAAQ,IAAI,QAAQ,SAAS,GAAG;AAC/C,iBAAO,QAAQ,IAAI,QAAQ,SAAS;AAAA,QACtC;AACA,YAAI,QAAQ,IAAI,QAAQ,GAAG,GAAG;AAC5B,iBAAO,QAAQ,IAAI,QAAQ,GAAG;AAAA,QAChC;AAGA,YAAI,cAAc;AAChB,cAAI,aAAa,QAAQ,IAAI,cAAc,SAAS,GAAG;AACrD,mBAAO,QAAQ,IAAI,cAAc,SAAS;AAAA,UAC5C;AACA,cAAI,QAAQ,IAAI,cAAc,GAAG,GAAG;AAClC,mBAAO,QAAQ,IAAI,cAAc,GAAG;AAAA,UACtC;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACP;AAEA,cAAY,IAAI,OAAO,IAAI;AAE3B,SAAO;AACT;AAEA,MAAM,oBAAoB,oBAAI,QAAQ;AAE/B,SAAS,oBAAoB,OAAqB,UAA+B;AACtF,MAAI,kBAAkB,IAAI,QAAQ,GAAG;AACnC,WAAO,kBAAkB,IAAI,QAAQ;AAAA,EACvC;AACA,QAAM,OAAO;AAAA,IACX,GAAG;AAAA,IACH,GAAG,OAAO;AAAA,MACR,OAAO,QAAQ,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM;AAC7C,YAAI,SAAS,WAAW;AACtB,iBAAO,CAAC;AAAA,QACV;AACA,cAAM,UAAU,IAAI,QAAQ;AAC5B,eAAO,CAAC,IAAI,QAAQ,MAAM,OAAO,CAAC;AAAA,MACpC,CAAC;AAAA,IACH;AAAA,EACF;AACA,oBAAkB,IAAI,UAAU,IAAI;AACpC,SAAO;AACT;",
6
+ "names": []
7
7
  }
@@ -1,3 +1,223 @@
1
- "use strict";var d=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var L=Object.prototype.hasOwnProperty;var W=(e,t)=>{for(var n in t)d(e,n,{get:t[n],enumerable:!0})},w=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of A(t))!L.call(e,r)&&r!==n&&d(e,r,{get:()=>t[r],enumerable:!(s=k(t,r))||s.enumerable});return e};var D=e=>w(d({},"__esModule",{value:!0}),e);var B={};W(B,{getAllRules:()=>F,getAllSelectors:()=>V,getAllTransforms:()=>H,insertStyleRules:()=>q,insertedTransforms:()=>a,listenForSheetChanges:()=>z,scanAllSheets:()=>b,shouldInsertStyleRules:()=>N,updateRules:()=>M});module.exports=D(B);var f=require("@tamagui/constants");const l={},p={},a={},V=()=>l,F=()=>Object.values(p),H=()=>a;function E(e,t,n){const s=t.indexOf("transform:");if(s===-1){process.env.NODE_ENV==="development"&&console.error(`\u274C Invalid transform, likely used deg/% improperly ${e}`);return}const r=s+10,i=t.indexOf(";"),S=t.slice(r,i);if(!a[e])return a[e]=S,!0}const I=new WeakMap,m=new Map;function z(){if(!f.isClient)return;new MutationObserver(t=>{for(const n of t)if(n instanceof HTMLStyleElement&&n.sheet||n instanceof HTMLLinkElement&&n.href.endsWith(".css")){b();break}}).observe(document.head,{childList:!0})}let v=null;function b(){if(process.env.NODE_ENV==="test"||!f.isClient)return;const e=document.styleSheets||[],t=v,n=new Set(e);if(document.styleSheets){for(const s of n)s&&O(s);v=n}if(t)for(const s of t)s&&!n.has(s)&&O(s,!0)}function _(e,t=!1){const n=(m.get(e)||0)+(t?-1:1);return m.set(e,n),n}function O(e,t=!1){var R,C;let n;try{n=e.cssRules}catch{return}const s=(R=u(n[0]))==null?void 0:R[0],r=(C=u(n[n.length-1]))==null?void 0:C[0],i=`${n.length}${s}${r}`,S=I.get(e);if(!t&&S===i)return;const $=n.length;let y=0;for(let h=0;h<$;h++){const x=n[h];if(!(x instanceof CSSStyleRule))continue;const T=u(x);if(!T){if(y++,y>5)return;continue}const[o,g]=T,j=_(o,t);t?j===0&&delete l[o]:o in l||(!o.startsWith("_transform")||E(o,g.cssText,g))&&(l[o]=g.cssText)}I.set(e,i)}function u(e){if(e instanceof CSSStyleRule){const t=e.selectorText;if(t[0]==="."&&t[1]==="_")return[t.slice(1),e];if(t.startsWith(":root")&&t.includes("._"))return[K(t),e]}else if(e instanceof CSSMediaRule)return e.cssRules.length>1?null:u(e.cssRules[0]);return null}const K=e=>e.replace(/(:root)+\s+/,"").replace(/:[a-z]+$/,"").slice(1),c=f.isClient?document.head.appendChild(document.createElement("style")).sheet:null;function M(e,t){return e in p?!1:(p[e]=t.join(" "),e.startsWith("_transform")?E(e,t[0]):!0)}function q(e){if(!(!e.length||!c)){for(const{identifier:t,rules:n}of e)if(N(t)){l[t]=n.join(`
2
- `),_(t),M(t,n);for(const s of n)if(process.env.NODE_ENV==="production")c.insertRule(s,c.cssRules.length);else try{c.insertRule(s,c.cssRules.length)}catch(r){console.groupCollapsed(`Error inserting rule into CSSStyleSheet: ${String(r)}`),console.log({rule:s,rulesToInsert:e}),console.trace(),console.groupEnd()}}}}function N(e){if(process.env.IS_STATIC==="is_static")return!0;const t=m.get(e);return t===void 0||t<2}0&&(module.exports={getAllRules,getAllSelectors,getAllTransforms,insertStyleRules,insertedTransforms,listenForSheetChanges,scanAllSheets,shouldInsertStyleRules,updateRules});
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var insertStyleRule_exports = {};
20
+ __export(insertStyleRule_exports, {
21
+ getAllRules: () => getAllRules,
22
+ getAllSelectors: () => getAllSelectors,
23
+ getAllTransforms: () => getAllTransforms,
24
+ insertStyleRules: () => insertStyleRules,
25
+ insertedTransforms: () => insertedTransforms,
26
+ listenForSheetChanges: () => listenForSheetChanges,
27
+ scanAllSheets: () => scanAllSheets,
28
+ shouldInsertStyleRules: () => shouldInsertStyleRules,
29
+ updateRules: () => updateRules
30
+ });
31
+ module.exports = __toCommonJS(insertStyleRule_exports);
32
+ var import_constants = require("@tamagui/constants");
33
+ const allSelectors = {};
34
+ const allRules = {};
35
+ const insertedTransforms = {};
36
+ const getAllSelectors = () => allSelectors;
37
+ const getAllRules = () => Object.values(allRules);
38
+ const getAllTransforms = () => insertedTransforms;
39
+ function addTransform(identifier, css, rule) {
40
+ const s = css.indexOf("transform:");
41
+ if (s === -1) {
42
+ if (process.env.NODE_ENV === "development") {
43
+ console.error(`\u274C Invalid transform, likely used deg/% improperly ${identifier}`);
44
+ }
45
+ return;
46
+ }
47
+ const startI = s + "transform:".length;
48
+ const endI = css.indexOf(";");
49
+ const value = css.slice(startI, endI);
50
+ if (!insertedTransforms[identifier]) {
51
+ insertedTransforms[identifier] = value;
52
+ return true;
53
+ }
54
+ }
55
+ const scannedCache = /* @__PURE__ */ new WeakMap();
56
+ const totalSelectorsInserted = /* @__PURE__ */ new Map();
57
+ function listenForSheetChanges() {
58
+ if (!import_constants.isClient)
59
+ return;
60
+ const mo = new MutationObserver((entries) => {
61
+ for (const entry of entries) {
62
+ if (entry instanceof HTMLStyleElement && entry.sheet || entry instanceof HTMLLinkElement && entry.href.endsWith(".css")) {
63
+ scanAllSheets();
64
+ break;
65
+ }
66
+ }
67
+ });
68
+ mo.observe(document.head, {
69
+ childList: true
70
+ });
71
+ }
72
+ let lastScannedSheets = null;
73
+ function scanAllSheets() {
74
+ if (process.env.NODE_ENV === "test")
75
+ return;
76
+ if (!import_constants.isClient)
77
+ return;
78
+ const sheets = document.styleSheets || [];
79
+ const prev = lastScannedSheets;
80
+ const current = new Set(sheets);
81
+ if (document.styleSheets) {
82
+ for (const sheet2 of current) {
83
+ sheet2 && updateSheetStyles(sheet2);
84
+ }
85
+ lastScannedSheets = current;
86
+ }
87
+ if (prev) {
88
+ for (const sheet2 of prev) {
89
+ if (sheet2 && !current.has(sheet2)) {
90
+ updateSheetStyles(sheet2, true);
91
+ }
92
+ }
93
+ }
94
+ }
95
+ function track(id, remove = false) {
96
+ const next = (totalSelectorsInserted.get(id) || 0) + (remove ? -1 : 1);
97
+ totalSelectorsInserted.set(id, next);
98
+ return next;
99
+ }
100
+ function updateSheetStyles(sheet2, remove = false) {
101
+ var _a, _b;
102
+ let rules;
103
+ try {
104
+ rules = sheet2.cssRules;
105
+ } catch {
106
+ return;
107
+ }
108
+ const firstSelector = (_a = getTamaguiSelector(rules[0])) == null ? void 0 : _a[0];
109
+ const lastSelector = (_b = getTamaguiSelector(rules[rules.length - 1])) == null ? void 0 : _b[0];
110
+ const cacheKey = `${rules.length}${firstSelector}${lastSelector}`;
111
+ const lastScanned = scannedCache.get(sheet2);
112
+ if (!remove) {
113
+ if (lastScanned === cacheKey) {
114
+ return;
115
+ }
116
+ }
117
+ const len = rules.length;
118
+ let fails = 0;
119
+ for (let i = 0; i < len; i++) {
120
+ const rule = rules[i];
121
+ if (!(rule instanceof CSSStyleRule))
122
+ continue;
123
+ const response = getTamaguiSelector(rule);
124
+ if (!response) {
125
+ fails++;
126
+ if (fails > 5) {
127
+ return;
128
+ }
129
+ continue;
130
+ }
131
+ const [identifier, cssRule] = response;
132
+ const total = track(identifier, remove);
133
+ if (remove) {
134
+ if (total === 0) {
135
+ delete allSelectors[identifier];
136
+ }
137
+ } else if (!(identifier in allSelectors)) {
138
+ const isTransform = identifier.startsWith("_transform");
139
+ const shouldInsert = isTransform ? addTransform(identifier, cssRule.cssText, cssRule) : true;
140
+ if (shouldInsert) {
141
+ allSelectors[identifier] = cssRule.cssText;
142
+ }
143
+ }
144
+ }
145
+ scannedCache.set(sheet2, cacheKey);
146
+ }
147
+ function getTamaguiSelector(rule) {
148
+ if (rule instanceof CSSStyleRule) {
149
+ const text = rule.selectorText;
150
+ if (text[0] === "." && text[1] === "_") {
151
+ return [text.slice(1), rule];
152
+ }
153
+ if (text.startsWith(":root") && text.includes("._")) {
154
+ return [getIdentifierFromTamaguiSelector(text), rule];
155
+ }
156
+ } else if (rule instanceof CSSMediaRule) {
157
+ if (rule.cssRules.length > 1)
158
+ return null;
159
+ return getTamaguiSelector(rule.cssRules[0]);
160
+ }
161
+ return null;
162
+ }
163
+ const getIdentifierFromTamaguiSelector = (selector) => selector.replace(/(:root)+\s+/, "").replace(/:[a-z]+$/, "").slice(1);
164
+ const sheet = import_constants.isClient ? document.head.appendChild(document.createElement("style")).sheet : null;
165
+ function updateRules(identifier, rules) {
166
+ if (identifier in allRules) {
167
+ return false;
168
+ }
169
+ allRules[identifier] = rules.join(" ");
170
+ if (identifier.startsWith("_transform")) {
171
+ return addTransform(identifier, rules[0]);
172
+ }
173
+ return true;
174
+ }
175
+ function insertStyleRules(rulesToInsert) {
176
+ if (!rulesToInsert.length || !sheet) {
177
+ return;
178
+ }
179
+ for (const { identifier, rules } of rulesToInsert) {
180
+ if (!shouldInsertStyleRules(identifier)) {
181
+ continue;
182
+ }
183
+ allSelectors[identifier] = rules.join("\n");
184
+ track(identifier);
185
+ updateRules(identifier, rules);
186
+ for (const rule of rules) {
187
+ if (process.env.NODE_ENV === "production") {
188
+ sheet.insertRule(rule, sheet.cssRules.length);
189
+ } else {
190
+ try {
191
+ sheet.insertRule(rule, sheet.cssRules.length);
192
+ } catch (err) {
193
+ console.groupCollapsed(
194
+ `Error inserting rule into CSSStyleSheet: ${String(err)}`
195
+ );
196
+ console.log({ rule, rulesToInsert });
197
+ console.trace();
198
+ console.groupEnd();
199
+ }
200
+ }
201
+ }
202
+ }
203
+ }
204
+ function shouldInsertStyleRules(identifier) {
205
+ if (process.env.IS_STATIC === "is_static") {
206
+ return true;
207
+ }
208
+ const total = totalSelectorsInserted.get(identifier);
209
+ return total === void 0 || total < 2;
210
+ }
211
+ // Annotate the CommonJS export names for ESM import in node:
212
+ 0 && (module.exports = {
213
+ getAllRules,
214
+ getAllSelectors,
215
+ getAllTransforms,
216
+ insertStyleRules,
217
+ insertedTransforms,
218
+ listenForSheetChanges,
219
+ scanAllSheets,
220
+ shouldInsertStyleRules,
221
+ updateRules
222
+ });
3
223
  //# sourceMappingURL=insertStyleRule.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/insertStyleRule.tsx"],
4
4
  "sourcesContent": ["import { isClient } from '@tamagui/constants'\n\nimport type { RulesToInsert, StyleObject } from '../types.js'\n\nconst allSelectors: Record<string, string> = {}\nconst allRules: Record<string, string> = {}\nexport const insertedTransforms = {}\n\nexport const getAllSelectors = () => allSelectors\nexport const getAllRules = () => Object.values(allRules)\nexport const getAllTransforms = () => insertedTransforms\n\n// keep transforms in map for merging later\nfunction addTransform(identifier: string, css: string, rule?: CSSRule) {\n const s = css.indexOf('transform:')\n if (s === -1) {\n if (process.env.NODE_ENV === 'development') {\n console.error(`\u274C Invalid transform, likely used deg/% improperly ${identifier}`)\n }\n return\n }\n const startI = s + 'transform:'.length\n const endI = css.indexOf(';')\n const value = css.slice(startI, endI)\n if (!insertedTransforms[identifier]) {\n insertedTransforms[identifier] = value\n return true\n }\n}\n\n// gets existing ones (client side)\n// takes ~0.1ms for a fairly large page\n// used now for three things:\n// 1. debugging at dev time\n// 2. avoid duplicate insert styles at runtime\n// 3. used now for merging transforms atomically\n\n// multiple sheets could have the same ids so we have to count\n\n// only cache tamagui styles\nconst scannedCache = new WeakMap<CSSStyleSheet, string>()\nconst totalSelectorsInserted = new Map<string, number>()\n\nexport function listenForSheetChanges() {\n if (!isClient) return\n\n const mo = new MutationObserver((entries) => {\n for (const entry of entries) {\n if (\n (entry instanceof HTMLStyleElement && entry.sheet) ||\n (entry instanceof HTMLLinkElement && entry.href.endsWith('.css'))\n ) {\n scanAllSheets()\n break\n }\n }\n })\n\n mo.observe(document.head, {\n childList: true,\n })\n}\n\nlet lastScannedSheets: Set<CSSStyleSheet> | null = null\n\nexport function scanAllSheets() {\n if (process.env.NODE_ENV === 'test') return\n if (!isClient) return\n\n const sheets = document.styleSheets || []\n const prev = lastScannedSheets\n const current = new Set(sheets as any as CSSStyleSheet[])\n if (document.styleSheets) {\n for (const sheet of current) {\n sheet && updateSheetStyles(sheet)\n }\n lastScannedSheets = current\n }\n\n if (prev) {\n for (const sheet of prev) {\n if (sheet && !current.has(sheet)) {\n updateSheetStyles(sheet, true)\n }\n }\n }\n}\n\nfunction track(id: string, remove = false) {\n const next = (totalSelectorsInserted.get(id) || 0) + (remove ? -1 : 1)\n totalSelectorsInserted.set(id, next)\n return next\n}\n\nfunction updateSheetStyles(sheet: CSSStyleSheet, remove = false) {\n // avoid errors on cross origin sheets\n // https://stackoverflow.com/questions/49993633/uncaught-domexception-failed-to-read-the-cssrules-property\n let rules: CSSRuleList\n try {\n rules = sheet.cssRules\n } catch {\n return\n }\n\n const firstSelector = getTamaguiSelector(rules[0])?.[0]\n const lastSelector = getTamaguiSelector(rules[rules.length - 1])?.[0]\n const cacheKey = `${rules.length}${firstSelector}${lastSelector}`\n const lastScanned = scannedCache.get(sheet)\n\n if (!remove) {\n // avoid re-scanning\n if (lastScanned === cacheKey) {\n return\n }\n }\n\n const len = rules.length\n let fails = 0\n\n for (let i = 0; i < len; i++) {\n const rule = rules[i]\n if (!(rule instanceof CSSStyleRule)) continue\n\n const response = getTamaguiSelector(rule)\n\n if (!response) {\n fails++\n if (fails > 5) {\n // conservatively bail out of non-tamagui sheets\n return\n }\n continue\n }\n\n const [identifier, cssRule] = response\n\n // track references\n const total = track(identifier, remove)\n\n if (remove) {\n if (total === 0) {\n delete allSelectors[identifier]\n }\n } else if (!(identifier in allSelectors)) {\n const isTransform = identifier.startsWith('_transform')\n const shouldInsert = isTransform\n ? addTransform(identifier, cssRule.cssText, cssRule)\n : true\n if (shouldInsert) {\n allSelectors[identifier] = cssRule.cssText\n }\n }\n }\n\n scannedCache.set(sheet, cacheKey)\n}\n\nfunction getTamaguiSelector(\n rule: CSSRule | null\n): readonly [string, CSSStyleRule] | null {\n if (rule instanceof CSSStyleRule) {\n const text = rule.selectorText\n if (text[0] === '.' && text[1] === '_') {\n return [text.slice(1), rule]\n }\n if (text.startsWith(':root') && text.includes('._')) {\n return [getIdentifierFromTamaguiSelector(text), rule]\n }\n } else if (rule instanceof CSSMediaRule) {\n // tamagui only ever inserts 1 rule per media\n if (rule.cssRules.length > 1) return null\n return getTamaguiSelector(rule.cssRules[0])\n }\n return null\n}\n\nconst getIdentifierFromTamaguiSelector = (selector: string) =>\n selector\n .replace(/(:root)+\\s+/, '')\n .replace(/:[a-z]+$/, '')\n .slice(1)\n\nconst sheet = isClient\n ? document.head.appendChild(document.createElement('style')).sheet\n : null\n\nexport function updateRules(identifier: string, rules: string[]) {\n if (identifier in allRules) {\n return false\n }\n allRules[identifier] = rules.join(' ')\n if (identifier.startsWith('_transform')) {\n return addTransform(identifier, rules[0])\n }\n return true\n}\n\nexport function insertStyleRules(rulesToInsert: RulesToInsert) {\n if (!rulesToInsert.length || !sheet) {\n return\n }\n\n for (const { identifier, rules } of rulesToInsert) {\n if (!shouldInsertStyleRules(identifier)) {\n continue\n }\n\n allSelectors[identifier] = rules.join('\\n')\n track(identifier)\n updateRules(identifier, rules)\n\n for (const rule of rules) {\n if (process.env.NODE_ENV === 'production') {\n sheet.insertRule(rule, sheet.cssRules.length)\n } else {\n try {\n sheet.insertRule(rule, sheet.cssRules.length)\n } catch (err) {\n console.groupCollapsed(\n `Error inserting rule into CSSStyleSheet: ${String(err)}`\n )\n console.log({ rule, rulesToInsert })\n console.trace()\n console.groupEnd()\n }\n }\n }\n }\n}\n\nexport function shouldInsertStyleRules(identifier: string) {\n if (process.env.IS_STATIC === 'is_static') {\n return true\n }\n const total = totalSelectorsInserted.get(identifier)\n // note, -1, we are being conservative and leaving some in\n return total === undefined || total < 2\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iBAAAE,EAAA,oBAAAC,EAAA,qBAAAC,EAAA,qBAAAC,EAAA,uBAAAC,EAAA,0BAAAC,EAAA,kBAAAC,EAAA,2BAAAC,EAAA,gBAAAC,IAAA,eAAAC,EAAAX,GAAA,IAAAY,EAAyB,8BAIzB,MAAMC,EAAuC,CAAC,EACxCC,EAAmC,CAAC,EAC7BR,EAAqB,CAAC,EAEtBH,EAAkB,IAAMU,EACxBX,EAAc,IAAM,OAAO,OAAOY,CAAQ,EAC1CV,EAAmB,IAAME,EAGtC,SAASS,EAAaC,EAAoBC,EAAaC,EAAgB,CACrE,MAAM,EAAID,EAAI,QAAQ,YAAY,EAClC,GAAI,IAAM,GAAI,CACR,QAAQ,IAAI,WAAa,eAC3B,QAAQ,MAAM,0DAAqDD,GAAY,EAEjF,MACF,CACA,MAAMG,EAAS,EAAI,GACbC,EAAOH,EAAI,QAAQ,GAAG,EACtBI,EAAQJ,EAAI,MAAME,EAAQC,CAAI,EACpC,GAAI,CAACd,EAAmBU,CAAU,EAChC,OAAAV,EAAmBU,CAAU,EAAIK,EAC1B,EAEX,CAYA,MAAMC,EAAe,IAAI,QACnBC,EAAyB,IAAI,IAE5B,SAAShB,GAAwB,CACtC,GAAI,CAAC,WAAU,OAEJ,IAAI,iBAAkBiB,GAAY,CAC3C,UAAWC,KAASD,EAClB,GACGC,aAAiB,kBAAoBA,EAAM,OAC3CA,aAAiB,iBAAmBA,EAAM,KAAK,SAAS,MAAM,EAC/D,CACAjB,EAAc,EACd,KACF,CAEJ,CAAC,EAEE,QAAQ,SAAS,KAAM,CACxB,UAAW,EACb,CAAC,CACH,CAEA,IAAIkB,EAA+C,KAE5C,SAASlB,GAAgB,CAE9B,GADI,QAAQ,IAAI,WAAa,QACzB,CAAC,WAAU,OAEf,MAAMmB,EAAS,SAAS,aAAe,CAAC,EAClCC,EAAOF,EACPG,EAAU,IAAI,IAAIF,CAAgC,EACxD,GAAI,SAAS,YAAa,CACxB,UAAWG,KAASD,EAClBC,GAASC,EAAkBD,CAAK,EAElCJ,EAAoBG,CACtB,CAEA,GAAID,EACF,UAAWE,KAASF,EACdE,GAAS,CAACD,EAAQ,IAAIC,CAAK,GAC7BC,EAAkBD,EAAO,EAAI,CAIrC,CAEA,SAASE,EAAMC,EAAYC,EAAS,GAAO,CACzC,MAAMC,GAAQZ,EAAuB,IAAIU,CAAE,GAAK,IAAMC,EAAS,GAAK,GACpE,OAAAX,EAAuB,IAAIU,EAAIE,CAAI,EAC5BA,CACT,CAEA,SAASJ,EAAkBD,EAAsBI,EAAS,GAAO,CA9FjE,IAAAE,EAAAC,EAiGE,IAAIC,EACJ,GAAI,CACFA,EAAQR,EAAM,QAChB,MAAE,CACA,MACF,CAEA,MAAMS,GAAgBH,EAAAI,EAAmBF,EAAM,CAAC,CAAC,IAA3B,YAAAF,EAA+B,GAC/CK,GAAeJ,EAAAG,EAAmBF,EAAMA,EAAM,OAAS,CAAC,CAAC,IAA1C,YAAAD,EAA8C,GAC7DK,EAAW,GAAGJ,EAAM,SAASC,IAAgBE,IAC7CE,EAAcrB,EAAa,IAAIQ,CAAK,EAE1C,GAAI,CAACI,GAECS,IAAgBD,EAClB,OAIJ,MAAME,EAAMN,EAAM,OAClB,IAAIO,EAAQ,EAEZ,QAASC,EAAI,EAAGA,EAAIF,EAAKE,IAAK,CAC5B,MAAM5B,EAAOoB,EAAMQ,CAAC,EACpB,GAAI,EAAE5B,aAAgB,cAAe,SAErC,MAAM6B,EAAWP,EAAmBtB,CAAI,EAExC,GAAI,CAAC6B,EAAU,CAEb,GADAF,IACIA,EAAQ,EAEV,OAEF,QACF,CAEA,KAAM,CAAC7B,EAAYgC,CAAO,EAAID,EAGxBE,EAAQjB,EAAMhB,EAAYkB,CAAM,EAElCA,EACEe,IAAU,GACZ,OAAOpC,EAAaG,CAAU,EAErBA,KAAcH,IACL,CAAAG,EAAW,WAAW,YAAY,GAElDD,EAAaC,EAAYgC,EAAQ,QAASA,CAAO,KAGnDnC,EAAaG,CAAU,EAAIgC,EAAQ,QAGzC,CAEA1B,EAAa,IAAIQ,EAAOY,CAAQ,CAClC,CAEA,SAASF,EACPtB,EACwC,CACxC,GAAIA,aAAgB,aAAc,CAChC,MAAMgC,EAAOhC,EAAK,aAClB,GAAIgC,EAAK,CAAC,IAAM,KAAOA,EAAK,CAAC,IAAM,IACjC,MAAO,CAACA,EAAK,MAAM,CAAC,EAAGhC,CAAI,EAE7B,GAAIgC,EAAK,WAAW,OAAO,GAAKA,EAAK,SAAS,IAAI,EAChD,MAAO,CAACC,EAAiCD,CAAI,EAAGhC,CAAI,CAExD,SAAWA,aAAgB,aAEzB,OAAIA,EAAK,SAAS,OAAS,EAAU,KAC9BsB,EAAmBtB,EAAK,SAAS,CAAC,CAAC,EAE5C,OAAO,IACT,CAEA,MAAMiC,EAAoCC,GACxCA,EACG,QAAQ,cAAe,EAAE,EACzB,QAAQ,WAAY,EAAE,EACtB,MAAM,CAAC,EAENtB,EAAQ,WACV,SAAS,KAAK,YAAY,SAAS,cAAc,OAAO,CAAC,EAAE,MAC3D,KAEG,SAASpB,EAAYM,EAAoBsB,EAAiB,CAC/D,OAAItB,KAAcF,EACT,IAETA,EAASE,CAAU,EAAIsB,EAAM,KAAK,GAAG,EACjCtB,EAAW,WAAW,YAAY,EAC7BD,EAAaC,EAAYsB,EAAM,CAAC,CAAC,EAEnC,GACT,CAEO,SAASjC,EAAiBgD,EAA8B,CAC7D,GAAI,GAACA,EAAc,QAAU,CAACvB,IAI9B,SAAW,CAAE,WAAAd,EAAY,MAAAsB,CAAM,IAAKe,EAClC,GAAK5C,EAAuBO,CAAU,EAItC,CAAAH,EAAaG,CAAU,EAAIsB,EAAM,KAAK;AAAA,CAAI,EAC1CN,EAAMhB,CAAU,EAChBN,EAAYM,EAAYsB,CAAK,EAE7B,UAAWpB,KAAQoB,EACjB,GAAI,QAAQ,IAAI,WAAa,aAC3BR,EAAM,WAAWZ,EAAMY,EAAM,SAAS,MAAM,MAE5C,IAAI,CACFA,EAAM,WAAWZ,EAAMY,EAAM,SAAS,MAAM,CAC9C,OAASwB,EAAP,CACA,QAAQ,eACN,4CAA4C,OAAOA,CAAG,GACxD,EACA,QAAQ,IAAI,CAAE,KAAApC,EAAM,cAAAmC,CAAc,CAAC,EACnC,QAAQ,MAAM,EACd,QAAQ,SAAS,CACnB,GAIR,CAEO,SAAS5C,EAAuBO,EAAoB,CACzD,GAAI,QAAQ,IAAI,YAAc,YAC5B,MAAO,GAET,MAAMiC,EAAQ1B,EAAuB,IAAIP,CAAU,EAEnD,OAAOiC,IAAU,QAAaA,EAAQ,CACxC",
6
- "names": ["insertStyleRule_exports", "__export", "getAllRules", "getAllSelectors", "getAllTransforms", "insertStyleRules", "insertedTransforms", "listenForSheetChanges", "scanAllSheets", "shouldInsertStyleRules", "updateRules", "__toCommonJS", "import_constants", "allSelectors", "allRules", "addTransform", "identifier", "css", "rule", "startI", "endI", "value", "scannedCache", "totalSelectorsInserted", "entries", "entry", "lastScannedSheets", "sheets", "prev", "current", "sheet", "updateSheetStyles", "track", "id", "remove", "next", "_a", "_b", "rules", "firstSelector", "getTamaguiSelector", "lastSelector", "cacheKey", "lastScanned", "len", "fails", "i", "response", "cssRule", "total", "text", "getIdentifierFromTamaguiSelector", "selector", "rulesToInsert", "err"]
5
+ "mappings": "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",
6
+ "names": ["sheet"]
7
7
  }