@tamagui/core 1.14.3 → 1.14.5

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 (495) hide show
  1. package/package.json +6 -6
  2. package/types/index.d.ts +2 -2
  3. package/types/index.d.ts.map +1 -1
  4. package/dist/cjs/Tamagui.js +0 -77
  5. package/dist/cjs/Tamagui.js.map +0 -7
  6. package/dist/cjs/addTheme.js +0 -78
  7. package/dist/cjs/addTheme.js.map +0 -7
  8. package/dist/cjs/config.js +0 -91
  9. package/dist/cjs/config.js.map +0 -7
  10. package/dist/cjs/constants/constants.js +0 -49
  11. package/dist/cjs/constants/constants.js.map +0 -7
  12. package/dist/cjs/constants/isDevTools.js +0 -37
  13. package/dist/cjs/constants/isDevTools.js.map +0 -7
  14. package/dist/cjs/contexts/ButtonNestingContext.js +0 -30
  15. package/dist/cjs/contexts/ButtonNestingContext.js.map +0 -7
  16. package/dist/cjs/contexts/FontLanguageContext.js +0 -30
  17. package/dist/cjs/contexts/FontLanguageContext.js.map +0 -7
  18. package/dist/cjs/contexts/TextAncestorContext.js +0 -30
  19. package/dist/cjs/contexts/TextAncestorContext.js.map +0 -7
  20. package/dist/cjs/createComponent.js +0 -991
  21. package/dist/cjs/createComponent.js.map +0 -7
  22. package/dist/cjs/createFont.js +0 -69
  23. package/dist/cjs/createFont.js.map +0 -7
  24. package/dist/cjs/createFont.web.test.js +0 -125
  25. package/dist/cjs/createFont.web.test.js.map +0 -7
  26. package/dist/cjs/createShorthands.js +0 -31
  27. package/dist/cjs/createShorthands.js.map +0 -7
  28. package/dist/cjs/createTamagui.js +0 -202
  29. package/dist/cjs/createTamagui.js.map +0 -7
  30. package/dist/cjs/createTheme.js +0 -31
  31. package/dist/cjs/createTheme.js.map +0 -7
  32. package/dist/cjs/createTokens.js +0 -39
  33. package/dist/cjs/createTokens.js.map +0 -7
  34. package/dist/cjs/createTokens.web.test.js +0 -28
  35. package/dist/cjs/createTokens.web.test.js.map +0 -7
  36. package/dist/cjs/createVariable.js +0 -111
  37. package/dist/cjs/createVariable.js.map +0 -7
  38. package/dist/cjs/createVariable.web.test.js +0 -7
  39. package/dist/cjs/createVariable.web.test.js.map +0 -7
  40. package/dist/cjs/createVariables.js +0 -60
  41. package/dist/cjs/createVariables.js.map +0 -7
  42. package/dist/cjs/helpers/RNComponents.js +0 -40
  43. package/dist/cjs/helpers/RNComponents.js.map +0 -7
  44. package/dist/cjs/helpers/ThemeManager.js +0 -234
  45. package/dist/cjs/helpers/ThemeManager.js.map +0 -7
  46. package/dist/cjs/helpers/ThemeManager.test.js +0 -465
  47. package/dist/cjs/helpers/ThemeManager.test.js.map +0 -7
  48. package/dist/cjs/helpers/ThemeManagerContext.js +0 -30
  49. package/dist/cjs/helpers/ThemeManagerContext.js.map +0 -7
  50. package/dist/cjs/helpers/createMediaStyle.js +0 -67
  51. package/dist/cjs/helpers/createMediaStyle.js.map +0 -7
  52. package/dist/cjs/helpers/createPropMapper.js +0 -411
  53. package/dist/cjs/helpers/createPropMapper.js.map +0 -7
  54. package/dist/cjs/helpers/createProxy.js +0 -43
  55. package/dist/cjs/helpers/createProxy.js.map +0 -7
  56. package/dist/cjs/helpers/expandStyle.js +0 -95
  57. package/dist/cjs/helpers/expandStyle.js.map +0 -7
  58. package/dist/cjs/helpers/expandStyles.js +0 -126
  59. package/dist/cjs/helpers/expandStyles.js.map +0 -7
  60. package/dist/cjs/helpers/extendStaticConfig.js +0 -91
  61. package/dist/cjs/helpers/extendStaticConfig.js.map +0 -7
  62. package/dist/cjs/helpers/fixNativeShadow.js +0 -30
  63. package/dist/cjs/helpers/fixNativeShadow.js.map +0 -7
  64. package/dist/cjs/helpers/getAnimationDriver.js +0 -32
  65. package/dist/cjs/helpers/getAnimationDriver.js.map +0 -7
  66. package/dist/cjs/helpers/getExpandedShorthands.js +0 -40
  67. package/dist/cjs/helpers/getExpandedShorthands.js.map +0 -7
  68. package/dist/cjs/helpers/getFontLanguage.js +0 -29
  69. package/dist/cjs/helpers/getFontLanguage.js.map +0 -7
  70. package/dist/cjs/helpers/getSplitStyles.js +0 -840
  71. package/dist/cjs/helpers/getSplitStyles.js.map +0 -7
  72. package/dist/cjs/helpers/getStylesAtomic.js +0 -226
  73. package/dist/cjs/helpers/getStylesAtomic.js.map +0 -7
  74. package/dist/cjs/helpers/getStylesAtomic.native.js +0 -35
  75. package/dist/cjs/helpers/getStylesAtomic.native.js.map +0 -7
  76. package/dist/cjs/helpers/getThemeCSSRules.js +0 -110
  77. package/dist/cjs/helpers/getThemeCSSRules.js.map +0 -7
  78. package/dist/cjs/helpers/getThemeCSSRules.native.js +0 -31
  79. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +0 -7
  80. package/dist/cjs/helpers/getVariantExtras.js +0 -92
  81. package/dist/cjs/helpers/getVariantExtras.js.map +0 -7
  82. package/dist/cjs/helpers/insertStyleRule.js +0 -218
  83. package/dist/cjs/helpers/insertStyleRule.js.map +0 -7
  84. package/dist/cjs/helpers/isObj.js +0 -29
  85. package/dist/cjs/helpers/isObj.js.map +0 -7
  86. package/dist/cjs/helpers/isTamaguiComponent.js +0 -32
  87. package/dist/cjs/helpers/isTamaguiComponent.js.map +0 -7
  88. package/dist/cjs/helpers/isTamaguiElement.js +0 -33
  89. package/dist/cjs/helpers/isTamaguiElement.js.map +0 -7
  90. package/dist/cjs/helpers/matchMedia.js +0 -42
  91. package/dist/cjs/helpers/matchMedia.js.map +0 -7
  92. package/dist/cjs/helpers/matchMedia.native.js +0 -48
  93. package/dist/cjs/helpers/matchMedia.native.js.map +0 -7
  94. package/dist/cjs/helpers/mergeProps.js +0 -54
  95. package/dist/cjs/helpers/mergeProps.js.map +0 -7
  96. package/dist/cjs/helpers/mergeTransform.js +0 -47
  97. package/dist/cjs/helpers/mergeTransform.js.map +0 -7
  98. package/dist/cjs/helpers/normalizeColor.js +0 -71
  99. package/dist/cjs/helpers/normalizeColor.js.map +0 -7
  100. package/dist/cjs/helpers/normalizeValueWithProperty.js +0 -138
  101. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +0 -7
  102. package/dist/cjs/helpers/proxyThemeVariables.js +0 -40
  103. package/dist/cjs/helpers/proxyThemeVariables.js.map +0 -7
  104. package/dist/cjs/helpers/pseudoDescriptors.js +0 -53
  105. package/dist/cjs/helpers/pseudoDescriptors.js.map +0 -7
  106. package/dist/cjs/helpers/registerCSSVariable.js +0 -40
  107. package/dist/cjs/helpers/registerCSSVariable.js.map +0 -7
  108. package/dist/cjs/helpers/themeable.js +0 -62
  109. package/dist/cjs/helpers/themeable.js.map +0 -7
  110. package/dist/cjs/helpers/themes.js +0 -78
  111. package/dist/cjs/helpers/themes.js.map +0 -7
  112. package/dist/cjs/helpers/timer.js +0 -35
  113. package/dist/cjs/helpers/timer.js.map +0 -7
  114. package/dist/cjs/helpers/useShallowSetState.js +0 -58
  115. package/dist/cjs/helpers/useShallowSetState.js.map +0 -7
  116. package/dist/cjs/helpers/withStaticProperties.js +0 -32
  117. package/dist/cjs/helpers/withStaticProperties.js.map +0 -7
  118. package/dist/cjs/hooks/getThemeUnwrapped.js +0 -34
  119. package/dist/cjs/hooks/getThemeUnwrapped.js.map +0 -7
  120. package/dist/cjs/hooks/useId.js +0 -29
  121. package/dist/cjs/hooks/useId.js.map +0 -7
  122. package/dist/cjs/hooks/useIsTouchDevice.js +0 -33
  123. package/dist/cjs/hooks/useIsTouchDevice.js.map +0 -7
  124. package/dist/cjs/hooks/useMedia.js +0 -262
  125. package/dist/cjs/hooks/useMedia.js.map +0 -7
  126. package/dist/cjs/hooks/useSafeRef.js +0 -59
  127. package/dist/cjs/hooks/useSafeRef.js.map +0 -7
  128. package/dist/cjs/hooks/useServerHooks.js +0 -36
  129. package/dist/cjs/hooks/useServerHooks.js.map +0 -7
  130. package/dist/cjs/hooks/useTheme.js +0 -234
  131. package/dist/cjs/hooks/useTheme.js.map +0 -7
  132. package/dist/cjs/hooks/useThemeName.js +0 -52
  133. package/dist/cjs/hooks/useThemeName.js.map +0 -7
  134. package/dist/cjs/insertFont.js +0 -93
  135. package/dist/cjs/insertFont.js.map +0 -7
  136. package/dist/cjs/setupReactNative.js +0 -50
  137. package/dist/cjs/setupReactNative.js.map +0 -7
  138. package/dist/cjs/static.js +0 -20
  139. package/dist/cjs/static.js.map +0 -7
  140. package/dist/cjs/styled.js +0 -95
  141. package/dist/cjs/styled.js.map +0 -7
  142. package/dist/cjs/types-rnw.js +0 -17
  143. package/dist/cjs/types-rnw.js.map +0 -7
  144. package/dist/cjs/types.js +0 -17
  145. package/dist/cjs/types.js.map +0 -7
  146. package/dist/cjs/updateTheme.js +0 -47
  147. package/dist/cjs/updateTheme.js.map +0 -7
  148. package/dist/cjs/views/FontLanguage.js +0 -41
  149. package/dist/cjs/views/FontLanguage.js.map +0 -7
  150. package/dist/cjs/views/FontLanguage.native.js +0 -35
  151. package/dist/cjs/views/FontLanguage.native.js.map +0 -7
  152. package/dist/cjs/views/FontLanguage.types.js +0 -17
  153. package/dist/cjs/views/FontLanguage.types.js.map +0 -7
  154. package/dist/cjs/views/Slot.js +0 -92
  155. package/dist/cjs/views/Slot.js.map +0 -7
  156. package/dist/cjs/views/Stack.js +0 -38
  157. package/dist/cjs/views/Stack.js.map +0 -7
  158. package/dist/cjs/views/Stack.web.test.js +0 -22
  159. package/dist/cjs/views/Stack.web.test.js.map +0 -7
  160. package/dist/cjs/views/TamaguiProvider.js +0 -90
  161. package/dist/cjs/views/TamaguiProvider.js.map +0 -7
  162. package/dist/cjs/views/Text.js +0 -94
  163. package/dist/cjs/views/Text.js.map +0 -7
  164. package/dist/cjs/views/Theme.js +0 -88
  165. package/dist/cjs/views/Theme.js.map +0 -7
  166. package/dist/cjs/views/ThemeProvider.js +0 -70
  167. package/dist/cjs/views/ThemeProvider.js.map +0 -7
  168. package/dist/esm/Tamagui.js +0 -41
  169. package/dist/esm/Tamagui.js.map +0 -7
  170. package/dist/esm/Tamagui.mjs +0 -41
  171. package/dist/esm/Tamagui.mjs.map +0 -7
  172. package/dist/esm/addTheme.js +0 -54
  173. package/dist/esm/addTheme.js.map +0 -7
  174. package/dist/esm/addTheme.mjs +0 -54
  175. package/dist/esm/addTheme.mjs.map +0 -7
  176. package/dist/esm/config.js +0 -58
  177. package/dist/esm/config.js.map +0 -7
  178. package/dist/esm/config.mjs +0 -58
  179. package/dist/esm/config.mjs.map +0 -7
  180. package/dist/esm/constants/constants.js +0 -22
  181. package/dist/esm/constants/constants.js.map +0 -7
  182. package/dist/esm/constants/constants.mjs +0 -22
  183. package/dist/esm/constants/constants.mjs.map +0 -7
  184. package/dist/esm/constants/isDevTools.js +0 -13
  185. package/dist/esm/constants/isDevTools.js.map +0 -7
  186. package/dist/esm/constants/isDevTools.mjs +0 -13
  187. package/dist/esm/constants/isDevTools.mjs.map +0 -7
  188. package/dist/esm/contexts/ButtonNestingContext.js +0 -6
  189. package/dist/esm/contexts/ButtonNestingContext.js.map +0 -7
  190. package/dist/esm/contexts/ButtonNestingContext.mjs +0 -6
  191. package/dist/esm/contexts/ButtonNestingContext.mjs.map +0 -7
  192. package/dist/esm/contexts/FontLanguageContext.js +0 -6
  193. package/dist/esm/contexts/FontLanguageContext.js.map +0 -7
  194. package/dist/esm/contexts/FontLanguageContext.mjs +0 -6
  195. package/dist/esm/contexts/FontLanguageContext.mjs.map +0 -7
  196. package/dist/esm/contexts/TextAncestorContext.js +0 -6
  197. package/dist/esm/contexts/TextAncestorContext.js.map +0 -7
  198. package/dist/esm/contexts/TextAncestorContext.mjs +0 -6
  199. package/dist/esm/contexts/TextAncestorContext.mjs.map +0 -7
  200. package/dist/esm/createComponent.js +0 -973
  201. package/dist/esm/createComponent.js.map +0 -7
  202. package/dist/esm/createComponent.mjs +0 -973
  203. package/dist/esm/createComponent.mjs.map +0 -7
  204. package/dist/esm/createFont.js +0 -45
  205. package/dist/esm/createFont.js.map +0 -7
  206. package/dist/esm/createFont.mjs +0 -45
  207. package/dist/esm/createFont.mjs.map +0 -7
  208. package/dist/esm/createFont.web.test.js +0 -124
  209. package/dist/esm/createFont.web.test.js.map +0 -7
  210. package/dist/esm/createFont.web.test.mjs +0 -124
  211. package/dist/esm/createFont.web.test.mjs.map +0 -7
  212. package/dist/esm/createShorthands.js +0 -7
  213. package/dist/esm/createShorthands.js.map +0 -7
  214. package/dist/esm/createShorthands.mjs +0 -7
  215. package/dist/esm/createShorthands.mjs.map +0 -7
  216. package/dist/esm/createTamagui.js +0 -186
  217. package/dist/esm/createTamagui.js.map +0 -7
  218. package/dist/esm/createTamagui.mjs +0 -186
  219. package/dist/esm/createTamagui.mjs.map +0 -7
  220. package/dist/esm/createTheme.js +0 -7
  221. package/dist/esm/createTheme.js.map +0 -7
  222. package/dist/esm/createTheme.mjs +0 -7
  223. package/dist/esm/createTheme.mjs.map +0 -7
  224. package/dist/esm/createTokens.js +0 -15
  225. package/dist/esm/createTokens.js.map +0 -7
  226. package/dist/esm/createTokens.mjs +0 -15
  227. package/dist/esm/createTokens.mjs.map +0 -7
  228. package/dist/esm/createTokens.web.test.js +0 -27
  229. package/dist/esm/createTokens.web.test.js.map +0 -7
  230. package/dist/esm/createTokens.web.test.mjs +0 -27
  231. package/dist/esm/createTokens.web.test.mjs.map +0 -7
  232. package/dist/esm/createVariable.js +0 -78
  233. package/dist/esm/createVariable.js.map +0 -7
  234. package/dist/esm/createVariable.mjs +0 -78
  235. package/dist/esm/createVariable.mjs.map +0 -7
  236. package/dist/esm/createVariable.web.test.js +0 -6
  237. package/dist/esm/createVariable.web.test.js.map +0 -7
  238. package/dist/esm/createVariable.web.test.mjs +0 -6
  239. package/dist/esm/createVariable.web.test.mjs.map +0 -7
  240. package/dist/esm/createVariables.js +0 -35
  241. package/dist/esm/createVariables.js.map +0 -7
  242. package/dist/esm/createVariables.mjs +0 -35
  243. package/dist/esm/createVariables.mjs.map +0 -7
  244. package/dist/esm/helpers/RNComponents.js +0 -16
  245. package/dist/esm/helpers/RNComponents.js.map +0 -7
  246. package/dist/esm/helpers/RNComponents.mjs +0 -16
  247. package/dist/esm/helpers/RNComponents.mjs.map +0 -7
  248. package/dist/esm/helpers/ThemeManager.js +0 -209
  249. package/dist/esm/helpers/ThemeManager.js.map +0 -7
  250. package/dist/esm/helpers/ThemeManager.mjs +0 -209
  251. package/dist/esm/helpers/ThemeManager.mjs.map +0 -7
  252. package/dist/esm/helpers/ThemeManager.test.js +0 -464
  253. package/dist/esm/helpers/ThemeManager.test.js.map +0 -7
  254. package/dist/esm/helpers/ThemeManager.test.mjs +0 -464
  255. package/dist/esm/helpers/ThemeManager.test.mjs.map +0 -7
  256. package/dist/esm/helpers/ThemeManagerContext.js +0 -6
  257. package/dist/esm/helpers/ThemeManagerContext.js.map +0 -7
  258. package/dist/esm/helpers/ThemeManagerContext.mjs +0 -6
  259. package/dist/esm/helpers/ThemeManagerContext.mjs.map +0 -7
  260. package/dist/esm/helpers/createMediaStyle.js +0 -42
  261. package/dist/esm/helpers/createMediaStyle.js.map +0 -7
  262. package/dist/esm/helpers/createMediaStyle.mjs +0 -42
  263. package/dist/esm/helpers/createMediaStyle.mjs.map +0 -7
  264. package/dist/esm/helpers/createPropMapper.js +0 -384
  265. package/dist/esm/helpers/createPropMapper.js.map +0 -7
  266. package/dist/esm/helpers/createPropMapper.mjs +0 -384
  267. package/dist/esm/helpers/createPropMapper.mjs.map +0 -7
  268. package/dist/esm/helpers/createProxy.js +0 -19
  269. package/dist/esm/helpers/createProxy.js.map +0 -7
  270. package/dist/esm/helpers/createProxy.mjs +0 -19
  271. package/dist/esm/helpers/createProxy.mjs.map +0 -7
  272. package/dist/esm/helpers/expandStyle.js +0 -71
  273. package/dist/esm/helpers/expandStyle.js.map +0 -7
  274. package/dist/esm/helpers/expandStyle.mjs +0 -71
  275. package/dist/esm/helpers/expandStyle.mjs.map +0 -7
  276. package/dist/esm/helpers/expandStyles.js +0 -90
  277. package/dist/esm/helpers/expandStyles.js.map +0 -7
  278. package/dist/esm/helpers/expandStyles.mjs +0 -90
  279. package/dist/esm/helpers/expandStyles.mjs.map +0 -7
  280. package/dist/esm/helpers/extendStaticConfig.js +0 -66
  281. package/dist/esm/helpers/extendStaticConfig.js.map +0 -7
  282. package/dist/esm/helpers/extendStaticConfig.mjs +0 -66
  283. package/dist/esm/helpers/extendStaticConfig.mjs.map +0 -7
  284. package/dist/esm/helpers/fixNativeShadow.js +0 -6
  285. package/dist/esm/helpers/fixNativeShadow.js.map +0 -7
  286. package/dist/esm/helpers/fixNativeShadow.mjs +0 -6
  287. package/dist/esm/helpers/fixNativeShadow.mjs.map +0 -7
  288. package/dist/esm/helpers/getAnimationDriver.js +0 -8
  289. package/dist/esm/helpers/getAnimationDriver.js.map +0 -7
  290. package/dist/esm/helpers/getAnimationDriver.mjs +0 -8
  291. package/dist/esm/helpers/getAnimationDriver.mjs.map +0 -7
  292. package/dist/esm/helpers/getExpandedShorthands.js +0 -16
  293. package/dist/esm/helpers/getExpandedShorthands.js.map +0 -7
  294. package/dist/esm/helpers/getExpandedShorthands.mjs +0 -16
  295. package/dist/esm/helpers/getExpandedShorthands.mjs.map +0 -7
  296. package/dist/esm/helpers/getFontLanguage.js +0 -5
  297. package/dist/esm/helpers/getFontLanguage.js.map +0 -7
  298. package/dist/esm/helpers/getFontLanguage.mjs +0 -5
  299. package/dist/esm/helpers/getFontLanguage.mjs.map +0 -7
  300. package/dist/esm/helpers/getSplitStyles.js +0 -839
  301. package/dist/esm/helpers/getSplitStyles.js.map +0 -7
  302. package/dist/esm/helpers/getSplitStyles.mjs +0 -839
  303. package/dist/esm/helpers/getSplitStyles.mjs.map +0 -7
  304. package/dist/esm/helpers/getStylesAtomic.js +0 -200
  305. package/dist/esm/helpers/getStylesAtomic.js.map +0 -7
  306. package/dist/esm/helpers/getStylesAtomic.mjs +0 -200
  307. package/dist/esm/helpers/getStylesAtomic.mjs.map +0 -7
  308. package/dist/esm/helpers/getStylesAtomic.native.js +0 -10
  309. package/dist/esm/helpers/getStylesAtomic.native.js.map +0 -7
  310. package/dist/esm/helpers/getStylesAtomic.native.mjs +0 -10
  311. package/dist/esm/helpers/getStylesAtomic.native.mjs.map +0 -7
  312. package/dist/esm/helpers/getThemeCSSRules.js +0 -86
  313. package/dist/esm/helpers/getThemeCSSRules.js.map +0 -7
  314. package/dist/esm/helpers/getThemeCSSRules.mjs +0 -86
  315. package/dist/esm/helpers/getThemeCSSRules.mjs.map +0 -7
  316. package/dist/esm/helpers/getThemeCSSRules.native.js +0 -7
  317. package/dist/esm/helpers/getThemeCSSRules.native.js.map +0 -7
  318. package/dist/esm/helpers/getThemeCSSRules.native.mjs +0 -7
  319. package/dist/esm/helpers/getThemeCSSRules.native.mjs.map +0 -7
  320. package/dist/esm/helpers/getVariantExtras.js +0 -67
  321. package/dist/esm/helpers/getVariantExtras.js.map +0 -7
  322. package/dist/esm/helpers/getVariantExtras.mjs +0 -67
  323. package/dist/esm/helpers/getVariantExtras.mjs.map +0 -7
  324. package/dist/esm/helpers/insertStyleRule.js +0 -186
  325. package/dist/esm/helpers/insertStyleRule.js.map +0 -7
  326. package/dist/esm/helpers/insertStyleRule.mjs +0 -186
  327. package/dist/esm/helpers/insertStyleRule.mjs.map +0 -7
  328. package/dist/esm/helpers/isObj.js +0 -5
  329. package/dist/esm/helpers/isObj.js.map +0 -7
  330. package/dist/esm/helpers/isObj.mjs +0 -5
  331. package/dist/esm/helpers/isObj.mjs.map +0 -7
  332. package/dist/esm/helpers/isTamaguiComponent.js +0 -8
  333. package/dist/esm/helpers/isTamaguiComponent.js.map +0 -7
  334. package/dist/esm/helpers/isTamaguiComponent.mjs +0 -8
  335. package/dist/esm/helpers/isTamaguiComponent.mjs.map +0 -7
  336. package/dist/esm/helpers/isTamaguiElement.js +0 -9
  337. package/dist/esm/helpers/isTamaguiElement.js.map +0 -7
  338. package/dist/esm/helpers/isTamaguiElement.mjs +0 -9
  339. package/dist/esm/helpers/isTamaguiElement.mjs.map +0 -7
  340. package/dist/esm/helpers/matchMedia.js +0 -17
  341. package/dist/esm/helpers/matchMedia.js.map +0 -7
  342. package/dist/esm/helpers/matchMedia.mjs +0 -17
  343. package/dist/esm/helpers/matchMedia.mjs.map +0 -7
  344. package/dist/esm/helpers/matchMedia.native.js +0 -23
  345. package/dist/esm/helpers/matchMedia.native.js.map +0 -7
  346. package/dist/esm/helpers/matchMedia.native.mjs +0 -23
  347. package/dist/esm/helpers/matchMedia.native.mjs.map +0 -7
  348. package/dist/esm/helpers/mergeProps.js +0 -30
  349. package/dist/esm/helpers/mergeProps.js.map +0 -7
  350. package/dist/esm/helpers/mergeProps.mjs +0 -30
  351. package/dist/esm/helpers/mergeProps.mjs.map +0 -7
  352. package/dist/esm/helpers/mergeTransform.js +0 -21
  353. package/dist/esm/helpers/mergeTransform.js.map +0 -7
  354. package/dist/esm/helpers/mergeTransform.mjs +0 -21
  355. package/dist/esm/helpers/mergeTransform.mjs.map +0 -7
  356. package/dist/esm/helpers/normalizeColor.js +0 -36
  357. package/dist/esm/helpers/normalizeColor.js.map +0 -7
  358. package/dist/esm/helpers/normalizeColor.mjs +0 -36
  359. package/dist/esm/helpers/normalizeColor.mjs.map +0 -7
  360. package/dist/esm/helpers/normalizeValueWithProperty.js +0 -113
  361. package/dist/esm/helpers/normalizeValueWithProperty.js.map +0 -7
  362. package/dist/esm/helpers/normalizeValueWithProperty.mjs +0 -113
  363. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +0 -7
  364. package/dist/esm/helpers/proxyThemeVariables.js +0 -16
  365. package/dist/esm/helpers/proxyThemeVariables.js.map +0 -7
  366. package/dist/esm/helpers/proxyThemeVariables.mjs +0 -16
  367. package/dist/esm/helpers/proxyThemeVariables.mjs.map +0 -7
  368. package/dist/esm/helpers/pseudoDescriptors.js +0 -29
  369. package/dist/esm/helpers/pseudoDescriptors.js.map +0 -7
  370. package/dist/esm/helpers/pseudoDescriptors.mjs +0 -29
  371. package/dist/esm/helpers/pseudoDescriptors.mjs.map +0 -7
  372. package/dist/esm/helpers/registerCSSVariable.js +0 -14
  373. package/dist/esm/helpers/registerCSSVariable.js.map +0 -7
  374. package/dist/esm/helpers/registerCSSVariable.mjs +0 -14
  375. package/dist/esm/helpers/registerCSSVariable.mjs.map +0 -7
  376. package/dist/esm/helpers/themeable.js +0 -28
  377. package/dist/esm/helpers/themeable.js.map +0 -7
  378. package/dist/esm/helpers/themeable.mjs +0 -28
  379. package/dist/esm/helpers/themeable.mjs.map +0 -7
  380. package/dist/esm/helpers/themes.js +0 -53
  381. package/dist/esm/helpers/themes.js.map +0 -7
  382. package/dist/esm/helpers/themes.mjs +0 -53
  383. package/dist/esm/helpers/themes.mjs.map +0 -7
  384. package/dist/esm/helpers/timer.js +0 -11
  385. package/dist/esm/helpers/timer.js.map +0 -7
  386. package/dist/esm/helpers/timer.mjs +0 -11
  387. package/dist/esm/helpers/timer.mjs.map +0 -7
  388. package/dist/esm/helpers/useShallowSetState.js +0 -34
  389. package/dist/esm/helpers/useShallowSetState.js.map +0 -7
  390. package/dist/esm/helpers/useShallowSetState.mjs +0 -34
  391. package/dist/esm/helpers/useShallowSetState.mjs.map +0 -7
  392. package/dist/esm/helpers/withStaticProperties.js +0 -8
  393. package/dist/esm/helpers/withStaticProperties.js.map +0 -7
  394. package/dist/esm/helpers/withStaticProperties.mjs +0 -8
  395. package/dist/esm/helpers/withStaticProperties.mjs.map +0 -7
  396. package/dist/esm/hooks/getThemeUnwrapped.js +0 -9
  397. package/dist/esm/hooks/getThemeUnwrapped.js.map +0 -7
  398. package/dist/esm/hooks/getThemeUnwrapped.mjs +0 -9
  399. package/dist/esm/hooks/getThemeUnwrapped.mjs.map +0 -7
  400. package/dist/esm/hooks/useId.js +0 -5
  401. package/dist/esm/hooks/useId.js.map +0 -7
  402. package/dist/esm/hooks/useId.mjs +0 -5
  403. package/dist/esm/hooks/useId.mjs.map +0 -7
  404. package/dist/esm/hooks/useIsTouchDevice.js +0 -9
  405. package/dist/esm/hooks/useIsTouchDevice.js.map +0 -7
  406. package/dist/esm/hooks/useIsTouchDevice.mjs +0 -9
  407. package/dist/esm/hooks/useIsTouchDevice.mjs.map +0 -7
  408. package/dist/esm/hooks/useMedia.js +0 -224
  409. package/dist/esm/hooks/useMedia.js.map +0 -7
  410. package/dist/esm/hooks/useMedia.mjs +0 -224
  411. package/dist/esm/hooks/useMedia.mjs.map +0 -7
  412. package/dist/esm/hooks/useSafeRef.js +0 -35
  413. package/dist/esm/hooks/useSafeRef.js.map +0 -7
  414. package/dist/esm/hooks/useSafeRef.mjs +0 -35
  415. package/dist/esm/hooks/useSafeRef.mjs.map +0 -7
  416. package/dist/esm/hooks/useServerHooks.js +0 -11
  417. package/dist/esm/hooks/useServerHooks.js.map +0 -7
  418. package/dist/esm/hooks/useServerHooks.mjs +0 -11
  419. package/dist/esm/hooks/useServerHooks.mjs.map +0 -7
  420. package/dist/esm/hooks/useTheme.js +0 -209
  421. package/dist/esm/hooks/useTheme.js.map +0 -7
  422. package/dist/esm/hooks/useTheme.mjs +0 -209
  423. package/dist/esm/hooks/useTheme.mjs.map +0 -7
  424. package/dist/esm/hooks/useThemeName.js +0 -28
  425. package/dist/esm/hooks/useThemeName.js.map +0 -7
  426. package/dist/esm/hooks/useThemeName.mjs +0 -28
  427. package/dist/esm/hooks/useThemeName.mjs.map +0 -7
  428. package/dist/esm/insertFont.js +0 -67
  429. package/dist/esm/insertFont.js.map +0 -7
  430. package/dist/esm/insertFont.mjs +0 -67
  431. package/dist/esm/insertFont.mjs.map +0 -7
  432. package/dist/esm/setupReactNative.js +0 -24
  433. package/dist/esm/setupReactNative.js.map +0 -7
  434. package/dist/esm/setupReactNative.mjs +0 -24
  435. package/dist/esm/setupReactNative.mjs.map +0 -7
  436. package/dist/esm/static.js +0 -3
  437. package/dist/esm/static.js.map +0 -7
  438. package/dist/esm/static.mjs +0 -3
  439. package/dist/esm/static.mjs.map +0 -7
  440. package/dist/esm/styled.js +0 -71
  441. package/dist/esm/styled.js.map +0 -7
  442. package/dist/esm/styled.mjs +0 -71
  443. package/dist/esm/styled.mjs.map +0 -7
  444. package/dist/esm/types-rnw.js +0 -1
  445. package/dist/esm/types-rnw.js.map +0 -7
  446. package/dist/esm/types-rnw.mjs +0 -1
  447. package/dist/esm/types-rnw.mjs.map +0 -7
  448. package/dist/esm/types.js +0 -1
  449. package/dist/esm/types.js.map +0 -7
  450. package/dist/esm/types.mjs +0 -1
  451. package/dist/esm/types.mjs.map +0 -7
  452. package/dist/esm/updateTheme.js +0 -23
  453. package/dist/esm/updateTheme.js.map +0 -7
  454. package/dist/esm/updateTheme.mjs +0 -23
  455. package/dist/esm/updateTheme.mjs.map +0 -7
  456. package/dist/esm/views/FontLanguage.js +0 -17
  457. package/dist/esm/views/FontLanguage.js.map +0 -7
  458. package/dist/esm/views/FontLanguage.mjs +0 -17
  459. package/dist/esm/views/FontLanguage.mjs.map +0 -7
  460. package/dist/esm/views/FontLanguage.native.js +0 -11
  461. package/dist/esm/views/FontLanguage.native.js.map +0 -7
  462. package/dist/esm/views/FontLanguage.native.mjs +0 -11
  463. package/dist/esm/views/FontLanguage.native.mjs.map +0 -7
  464. package/dist/esm/views/FontLanguage.types.js +0 -1
  465. package/dist/esm/views/FontLanguage.types.js.map +0 -7
  466. package/dist/esm/views/FontLanguage.types.mjs +0 -1
  467. package/dist/esm/views/FontLanguage.types.mjs.map +0 -7
  468. package/dist/esm/views/Slot.js +0 -71
  469. package/dist/esm/views/Slot.js.map +0 -7
  470. package/dist/esm/views/Slot.mjs +0 -71
  471. package/dist/esm/views/Slot.mjs.map +0 -7
  472. package/dist/esm/views/Stack.js +0 -14
  473. package/dist/esm/views/Stack.js.map +0 -7
  474. package/dist/esm/views/Stack.mjs +0 -14
  475. package/dist/esm/views/Stack.mjs.map +0 -7
  476. package/dist/esm/views/Stack.web.test.js +0 -21
  477. package/dist/esm/views/Stack.web.test.js.map +0 -7
  478. package/dist/esm/views/Stack.web.test.mjs +0 -21
  479. package/dist/esm/views/Stack.web.test.mjs.map +0 -7
  480. package/dist/esm/views/TamaguiProvider.js +0 -56
  481. package/dist/esm/views/TamaguiProvider.js.map +0 -7
  482. package/dist/esm/views/TamaguiProvider.mjs +0 -56
  483. package/dist/esm/views/TamaguiProvider.mjs.map +0 -7
  484. package/dist/esm/views/Text.js +0 -70
  485. package/dist/esm/views/Text.js.map +0 -7
  486. package/dist/esm/views/Text.mjs +0 -70
  487. package/dist/esm/views/Text.mjs.map +0 -7
  488. package/dist/esm/views/Theme.js +0 -63
  489. package/dist/esm/views/Theme.js.map +0 -7
  490. package/dist/esm/views/Theme.mjs +0 -63
  491. package/dist/esm/views/Theme.mjs.map +0 -7
  492. package/dist/esm/views/ThemeProvider.js +0 -45
  493. package/dist/esm/views/ThemeProvider.js.map +0 -7
  494. package/dist/esm/views/ThemeProvider.mjs +0 -45
  495. package/dist/esm/views/ThemeProvider.mjs.map +0 -7
@@ -1,209 +0,0 @@
1
- import { getThemes, getTokens } from "../config";
2
- import { THEME_CLASSNAME_PREFIX, THEME_NAME_SEPARATOR } from "../constants/constants";
3
- import { getThemeUnwrapped } from "../hooks/getThemeUnwrapped";
4
- const emptyState = { name: "" };
5
- function hasNoThemeUpdatingProps(props) {
6
- return !(props.name || props.componentName || props.inverse || props.reset);
7
- }
8
- class ThemeManager {
9
- constructor(props = {}, parentManager) {
10
- this.props = props;
11
- this.themeListeners = /* @__PURE__ */ new Set();
12
- this.parentManager = null;
13
- this.state = emptyState;
14
- this._allKeys = null;
15
- if (parentManager === "root") {
16
- this.updateState(props, false);
17
- return;
18
- }
19
- if (!parentManager) {
20
- if (process.env.NODE_ENV !== "production") {
21
- console.trace();
22
- throw new Error(`No parent manager given`);
23
- }
24
- throw `\u274C`;
25
- }
26
- this.themeListeners = parentManager.themeListeners;
27
- if (hasNoThemeUpdatingProps(props)) {
28
- return parentManager;
29
- }
30
- if (parentManager) {
31
- this.parentManager = parentManager;
32
- }
33
- const updatedState = this.getStateIfChanged(props);
34
- if (updatedState) {
35
- this.state = updatedState;
36
- return;
37
- }
38
- return parentManager || this;
39
- }
40
- updateState(props = this.props || {}, notify = true) {
41
- const shouldFlush = (() => {
42
- if (props.forceTheme) {
43
- this.state.theme = props.forceTheme;
44
- this.state.name = props.name || "";
45
- return true;
46
- }
47
- const nextState = this.getStateIfChanged(props);
48
- if (nextState) {
49
- this.state = nextState;
50
- return true;
51
- }
52
- })();
53
- if (shouldFlush) {
54
- this._allKeys = null;
55
- notify && this.notify();
56
- return this.state;
57
- }
58
- }
59
- getStateIfChanged(props = this.props, state = this.state, parentManager = this.parentManager) {
60
- const _ = this.getState(props, parentManager);
61
- if (state && state !== emptyState && !_) {
62
- return parentManager == null ? void 0 : parentManager.state;
63
- }
64
- if (this.getStateShouldChange(_, state)) {
65
- return _;
66
- }
67
- }
68
- getStateShouldChange(nextState, state = this.state) {
69
- if (!(nextState == null ? void 0 : nextState.theme) || nextState.theme === (state == null ? void 0 : state.theme)) {
70
- return false;
71
- }
72
- return true;
73
- }
74
- getState(props = this.props, parentManager = this.parentManager) {
75
- return getState(props, parentManager) || (process.env.TAMAGUI_TARGET === "native" ? (parentManager == null ? void 0 : parentManager.state) || null : null);
76
- }
77
- get allKeys() {
78
- var _a;
79
- this._allKeys ||= /* @__PURE__ */ new Set([
80
- ...((_a = this.parentManager) == null ? void 0 : _a.allKeys) || [],
81
- ...Object.keys(this.state.theme || {})
82
- ]);
83
- return this._allKeys;
84
- }
85
- // gets value going up to parents
86
- getValue(key, state) {
87
- if (!key)
88
- return;
89
- let theme = (state || this.state).theme;
90
- let manager = this;
91
- while (theme && manager) {
92
- if (key in theme) {
93
- return theme[key];
94
- }
95
- manager = manager.parentManager;
96
- theme = manager == null ? void 0 : manager.state.theme;
97
- }
98
- const tokens = getTokens();
99
- if (key in tokens.color) {
100
- return tokens.color[key];
101
- }
102
- }
103
- notify() {
104
- this.themeListeners.forEach((cb) => cb(this.state.name, this));
105
- }
106
- onChangeTheme(cb) {
107
- this.themeListeners.add(cb);
108
- return () => {
109
- this.themeListeners.delete(cb);
110
- };
111
- }
112
- }
113
- function getNextThemeClassName(name, isInverting = false) {
114
- const next = `${THEME_CLASSNAME_PREFIX}${name}`;
115
- if (isInverting) {
116
- return next;
117
- }
118
- return next.replace("light_", "").replace("dark_", "");
119
- }
120
- const cache = /* @__PURE__ */ new WeakMap();
121
- function getState(props, parentManager) {
122
- var _a, _b, _c;
123
- const cached = cache.get(props);
124
- if (cached && cached[0] === parentManager) {
125
- return cached[1];
126
- }
127
- const themes = getThemes();
128
- if (props.name && props.reset) {
129
- throw new Error("Cannot reset + set new name");
130
- }
131
- if (props.reset && !(parentManager == null ? void 0 : parentManager.parentManager)) {
132
- throw new Error("Cannot reset no grandparent exists");
133
- }
134
- let result = null;
135
- const nextName = props.reset ? ((_b = (_a = parentManager == null ? void 0 : parentManager.parentManager) == null ? void 0 : _a.state) == null ? void 0 : _b.name) || "" : props.name || "";
136
- const { componentName } = props;
137
- const parentName = ((_c = parentManager == null ? void 0 : parentManager.state) == null ? void 0 : _c.name) || "";
138
- const base = parentName.split(THEME_NAME_SEPARATOR);
139
- const lastSegment = base[base.length - 1];
140
- const isParentAComponentTheme = parentName && lastSegment[0].toUpperCase() === lastSegment[0];
141
- if (isParentAComponentTheme) {
142
- base.pop();
143
- }
144
- const parentBaseTheme = isParentAComponentTheme ? base.slice(0, base.length).join(THEME_NAME_SEPARATOR) : parentName;
145
- const max = base.length;
146
- const min = componentName && !nextName ? max : 0;
147
- if (process.env.NODE_ENV === "development" && props.debug === "verbose")
148
- [console.groupCollapsed("ThemeManager.getState()", props, { parentName, parentBaseTheme, base, min, max, isParentAComponentTheme }), console.trace(), console.groupEnd()];
149
- for (let i = max; i >= min; i--) {
150
- let prefix = base.slice(0, i).join(THEME_NAME_SEPARATOR);
151
- if (props.inverse) {
152
- prefix = inverseThemeName(prefix);
153
- }
154
- const potentials = [];
155
- if (prefix && prefix !== parentBaseTheme) {
156
- potentials.push(prefix);
157
- }
158
- if (nextName) {
159
- potentials.unshift(prefix ? `${prefix}_${nextName}` : nextName);
160
- }
161
- if (i === 1) {
162
- const lastSegment2 = potentials.findIndex((x) => !x.includes("_"));
163
- if (lastSegment2 > 0) {
164
- potentials.splice(lastSegment2, 0, nextName);
165
- }
166
- }
167
- if (componentName) {
168
- if (nextName) {
169
- potentials.push(
170
- `${prefix.slice(
171
- 0,
172
- prefix.indexOf(THEME_NAME_SEPARATOR)
173
- )}_${nextName}_${componentName}`
174
- );
175
- }
176
- potentials.push(`${prefix}_${componentName}`);
177
- if (nextName) {
178
- potentials.unshift(`${prefix}_${nextName}_${componentName}`);
179
- }
180
- }
181
- const found = potentials.find((t) => t in themes);
182
- if (process.env.NODE_ENV === "development" && props.debug === "verbose")
183
- console.log("getState found", found, "from", potentials, "parentName", parentName);
184
- if (found) {
185
- if (found === parentName) {
186
- break;
187
- }
188
- result = {
189
- name: found,
190
- theme: getThemeUnwrapped(themes[found]),
191
- className: getNextThemeClassName(found, props.inverse),
192
- parentName
193
- };
194
- break;
195
- }
196
- }
197
- if (parentManager) {
198
- cache.set(props, [parentManager, result]);
199
- }
200
- return result;
201
- }
202
- const inverseThemeName = (themeName) => {
203
- return themeName.startsWith("light") ? themeName.replace(/^light/, "dark") : themeName.replace(/^dark/, "light");
204
- };
205
- export {
206
- ThemeManager,
207
- hasNoThemeUpdatingProps
208
- };
209
- //# sourceMappingURL=ThemeManager.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/helpers/ThemeManager.tsx"],
4
- "sourcesContent": ["import { getThemes, getTokens } from '../config'\nimport { THEME_CLASSNAME_PREFIX, THEME_NAME_SEPARATOR } from '../constants/constants'\nimport { getThemeUnwrapped } from '../hooks/getThemeUnwrapped'\nimport { ThemeParsed, ThemeProps } from '../types'\n\ntype ThemeListener = (name: string | null, themeManager: ThemeManager) => void\n\nexport type SetActiveThemeProps = {\n className?: string\n parentManager?: ThemeManager | null\n name?: string | null\n theme?: any\n reset?: boolean\n}\n\nexport type ThemeManagerState = {\n name: string\n theme?: ThemeParsed | null\n className?: string\n parentName?: string\n}\n\nconst emptyState: ThemeManagerState = { name: '' }\n\nexport function hasNoThemeUpdatingProps(props: ThemeProps) {\n return !(props.name || props.componentName || props.inverse || props.reset)\n}\n\nexport class ThemeManager {\n themeListeners = new Set<ThemeListener>()\n parentManager: ThemeManager | null = null\n state: ThemeManagerState = emptyState\n\n constructor(\n public props: ThemeProps = {},\n parentManager?: ThemeManager | 'root' | null | undefined\n ) {\n if (parentManager === 'root') {\n this.updateState(props, false)\n return\n }\n if (!parentManager) {\n if (process.env.NODE_ENV !== 'production') {\n console.trace()\n throw new Error(`No parent manager given`)\n }\n throw `\u274C`\n }\n // copy over listeners\n this.themeListeners = parentManager.themeListeners\n\n // no change no props\n if (hasNoThemeUpdatingProps(props)) {\n return parentManager\n }\n if (parentManager) {\n this.parentManager = parentManager\n }\n const updatedState = this.getStateIfChanged(props)\n if (updatedState) {\n this.state = updatedState\n return\n }\n return parentManager || this\n }\n\n updateState(\n props: ThemeProps & { forceTheme?: ThemeParsed } = this.props || {},\n notify = true\n ) {\n const shouldFlush = (() => {\n if (props.forceTheme) {\n this.state.theme = props.forceTheme\n this.state.name = props.name || ''\n return true\n }\n const nextState = this.getStateIfChanged(props)\n if (nextState) {\n this.state = nextState\n return true\n }\n })()\n if (shouldFlush) {\n // reset any derived state\n this._allKeys = null\n notify && this.notify()\n return this.state\n }\n }\n\n getStateIfChanged(\n props = this.props,\n state: ThemeManagerState | null = this.state,\n parentManager = this.parentManager\n ) {\n const _ = this.getState(props, parentManager)\n // is removing\n if (state && state !== emptyState && !_) {\n return parentManager?.state\n }\n if (this.getStateShouldChange(_, state)) {\n return _\n }\n }\n\n getStateShouldChange(\n nextState: ThemeManagerState | null,\n state: ThemeManagerState | null = this.state\n ) {\n if (!nextState?.theme || nextState.theme === state?.theme) {\n return false\n }\n return true\n }\n\n getState(props = this.props, parentManager = this.parentManager) {\n return (\n getState(props, parentManager) ||\n (process.env.TAMAGUI_TARGET === 'native' ? parentManager?.state || null : null)\n )\n }\n\n _allKeys: Set<string> | null = null\n get allKeys() {\n this._allKeys ||= new Set([\n ...(this.parentManager?.allKeys || []),\n ...Object.keys(this.state.theme || {}),\n ])\n return this._allKeys\n }\n\n // gets value going up to parents\n getValue(key: string, state?: ThemeManagerState) {\n if (!key) return\n let theme = (state || this.state).theme\n let manager = this as ThemeManager | null\n while (theme && manager) {\n if (key in theme) {\n return theme[key]\n }\n manager = manager.parentManager\n theme = manager?.state.theme\n }\n const tokens = getTokens()\n if (key in tokens.color) {\n return tokens.color[key]\n }\n }\n\n notify() {\n this.themeListeners.forEach((cb) => cb(this.state.name, this))\n }\n\n onChangeTheme(cb: ThemeListener) {\n this.themeListeners.add(cb)\n return () => {\n this.themeListeners.delete(cb)\n }\n }\n}\n\nfunction getNextThemeClassName(name: string, isInverting = false) {\n const next = `${THEME_CLASSNAME_PREFIX}${name}`\n if (isInverting) {\n return next\n }\n return next.replace('light_', '').replace('dark_', '')\n}\n\nconst cache = new WeakMap<ThemeProps, [ThemeManager, ThemeManagerState | null]>()\n\nfunction getState(\n props: ThemeProps,\n parentManager?: ThemeManager | null\n): ThemeManagerState | null {\n const cached = cache.get(props)\n if (cached && cached[0] === parentManager) {\n return cached[1]\n }\n\n const themes = getThemes()\n\n if (props.name && props.reset) {\n throw new Error('Cannot reset + set new name')\n }\n if (props.reset && !parentManager?.parentManager) {\n throw new Error('Cannot reset no grandparent exists')\n }\n\n let result: ThemeManagerState | null = null\n\n const nextName = props.reset\n ? parentManager?.parentManager?.state?.name || ''\n : props.name || ''\n const { componentName } = props\n const parentName = parentManager?.state?.name || ''\n\n // components look for most specific, fallback upwards\n const base = parentName.split(THEME_NAME_SEPARATOR)\n const lastSegment = base[base.length - 1]\n const isParentAComponentTheme =\n parentName && lastSegment[0].toUpperCase() === lastSegment[0]\n if (isParentAComponentTheme) {\n base.pop() // always remove componentName they can't nest\n }\n const parentBaseTheme = isParentAComponentTheme\n ? base.slice(0, base.length).join(THEME_NAME_SEPARATOR)\n : parentName\n const max = base.length\n const min =\n componentName && !nextName\n ? max // component name only don't search upwards\n : 0\n\n // prettier-ignore\n // eslint-disable-next-line no-console\n if (process.env.NODE_ENV === 'development' && props.debug === 'verbose') [ console.groupCollapsed('ThemeManager.getState()', props, { parentName, parentBaseTheme, base, min, max, isParentAComponentTheme }), console.trace(), console.groupEnd() ]\n\n for (let i = max; i >= min; i--) {\n let prefix = base.slice(0, i).join(THEME_NAME_SEPARATOR)\n if (props.inverse) {\n prefix = inverseThemeName(prefix)\n }\n const potentials: string[] = []\n if (prefix && prefix !== parentBaseTheme) {\n potentials.push(prefix)\n }\n if (nextName) {\n potentials.unshift(prefix ? `${prefix}_${nextName}` : nextName)\n }\n if (i === 1) {\n const lastSegment = potentials.findIndex((x) => !x.includes('_'))\n if (lastSegment > 0) {\n potentials.splice(lastSegment, 0, nextName) // last try prefer our new name to parent\n }\n }\n if (componentName) {\n // components only look for component themes\n if (nextName) {\n potentials.push(\n `${prefix.slice(\n 0,\n prefix.indexOf(THEME_NAME_SEPARATOR)\n )}_${nextName}_${componentName}`\n )\n }\n potentials.push(`${prefix}_${componentName}`)\n if (nextName) {\n potentials.unshift(`${prefix}_${nextName}_${componentName}`)\n }\n }\n\n const found = potentials.find((t) => t in themes)\n\n // eslint-disable-next-line no-console\n if (process.env.NODE_ENV === 'development' && props.debug === 'verbose')\n console.log('getState found', found, 'from', potentials, 'parentName', parentName)\n\n if (found) {\n // optimization return null if not changed\n if (found === parentName) {\n break\n }\n result = {\n name: found,\n theme: getThemeUnwrapped(themes[found]),\n className: getNextThemeClassName(found, props.inverse),\n parentName,\n }\n break\n }\n }\n\n if (parentManager) {\n cache.set(props, [parentManager, result])\n }\n\n return result\n}\n\nconst inverseThemeName = (themeName: string) => {\n return themeName.startsWith('light')\n ? themeName.replace(/^light/, 'dark')\n : themeName.replace(/^dark/, 'light')\n}\n"],
5
- "mappings": "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",
6
- "names": ["lastSegment"]
7
- }
@@ -1,464 +0,0 @@
1
- import { getDefaultTamaguiConfig } from "@tamagui/config-default-node";
2
- import { beforeAll, describe, expect, test } from "vitest";
3
- import { createTamagui } from "../createTamagui";
4
- import { ThemeManager } from "./ThemeManager";
5
- const conf = getDefaultTamaguiConfig();
6
- describe("ThemeManager", () => {
7
- beforeAll(() => {
8
- createTamagui(conf);
9
- });
10
- test("Changes theme to dark", () => {
11
- const manager = new ThemeManager(
12
- {
13
- name: "dark"
14
- },
15
- "root"
16
- );
17
- expect(manager.state.name).toBe("dark");
18
- });
19
- test('Given parent theme "dark" and child theme "red" to return theme "dark_red"', () => {
20
- const parent = new ThemeManager(
21
- {
22
- name: "dark"
23
- },
24
- "root"
25
- );
26
- const child = new ThemeManager(
27
- {
28
- name: "red"
29
- },
30
- parent
31
- );
32
- expect(parent.state.name).toBe("dark");
33
- expect(child.state.name).toBe("dark_red");
34
- });
35
- test('Given parent theme "dark", child theme "red_alt2" and component "Button" returns "dark_red_alt2_Button"', () => {
36
- const parent = new ThemeManager(
37
- {
38
- name: "dark"
39
- },
40
- "root"
41
- );
42
- const child1 = new ThemeManager(
43
- {
44
- name: "red"
45
- },
46
- parent
47
- );
48
- expect(child1.state.name).toBe("dark_red");
49
- const child2 = new ThemeManager(
50
- {
51
- name: "alt2",
52
- componentName: "Button"
53
- },
54
- child1
55
- );
56
- expect(child2.state.name).toBe("dark_red_alt2_Button");
57
- });
58
- test('Given parent theme "dark", child theme "red" and component "Button" returns "dark_red_Button"', () => {
59
- const parent = new ThemeManager(
60
- {
61
- name: "dark"
62
- },
63
- "root"
64
- );
65
- const child1 = new ThemeManager(
66
- {
67
- name: "red"
68
- },
69
- parent
70
- );
71
- expect(child1.state.name).toBe("dark_red");
72
- const child2 = new ThemeManager(
73
- {
74
- componentName: "Button"
75
- },
76
- child1
77
- );
78
- expect(child2.state.name).toBe("dark_red_Button");
79
- });
80
- test('Given parent theme "dark", child theme "red" and missing component "Card" returns "dark_red"', () => {
81
- const parent = new ThemeManager(
82
- {
83
- name: "dark"
84
- },
85
- "root"
86
- );
87
- const child1 = new ThemeManager(
88
- {
89
- name: "red"
90
- },
91
- parent
92
- );
93
- expect(child1.state.name).toBe("dark_red");
94
- const child2 = new ThemeManager(
95
- {
96
- componentName: "Card"
97
- },
98
- child1
99
- );
100
- expect(child2.state.name).toBe("dark_red");
101
- });
102
- test('Changes "light" to "dark"', () => {
103
- const parent = new ThemeManager(
104
- {
105
- name: "light"
106
- },
107
- "root"
108
- );
109
- const child = new ThemeManager(
110
- {
111
- name: "dark"
112
- },
113
- parent
114
- );
115
- expect(parent.state.name).toBe("light");
116
- expect(child.state.name).toBe("dark");
117
- });
118
- test('Inverts "light" to "dark"', () => {
119
- const parent = new ThemeManager(
120
- {
121
- name: "light"
122
- },
123
- "root"
124
- );
125
- const child1 = new ThemeManager(
126
- {
127
- inverse: true
128
- },
129
- parent
130
- );
131
- expect(child1.state.name).toBe("dark");
132
- });
133
- test('Inverts "light_red" to "dark_red"', () => {
134
- const parent = new ThemeManager(
135
- {
136
- name: "light"
137
- },
138
- "root"
139
- );
140
- const child1 = new ThemeManager(
141
- {
142
- name: "red",
143
- inverse: true
144
- },
145
- parent
146
- );
147
- expect(child1.state.name).toBe("dark_red");
148
- });
149
- test("Updates state", () => {
150
- const parent = new ThemeManager(
151
- {
152
- name: "light"
153
- },
154
- "root"
155
- );
156
- const newState = parent.updateState({
157
- name: "dark"
158
- });
159
- expect(newState).toMatchInlineSnapshot(`
160
- {
161
- "className": "t_dark",
162
- "name": "dark",
163
- "parentName": "",
164
- "theme": {
165
- "background": {
166
- "isVar": true,
167
- "key": "color-2",
168
- "name": "background",
169
- "val": "#000",
170
- "variable": "",
171
- },
172
- "color": {
173
- "isVar": true,
174
- "key": "color-1",
175
- "name": "color",
176
- "val": "#fff",
177
- "variable": "",
178
- },
179
- },
180
- }
181
- `);
182
- expect(parent.state.name).toBe("dark");
183
- });
184
- test("Returns parent on empty", () => {
185
- const parent = new ThemeManager(
186
- {
187
- name: "light"
188
- },
189
- "root"
190
- );
191
- const child = new ThemeManager(
192
- {
193
- name: null
194
- },
195
- parent
196
- );
197
- expect(child).toBe(parent);
198
- });
199
- test("Resets theme", () => {
200
- const parent = new ThemeManager(
201
- {
202
- name: "light"
203
- },
204
- "root"
205
- );
206
- const child = new ThemeManager(
207
- {
208
- name: "dark"
209
- },
210
- parent
211
- );
212
- expect(child.state.name).toBe("dark");
213
- expect(child.parentManager).toBe(parent);
214
- const child2 = new ThemeManager(
215
- {
216
- reset: true
217
- },
218
- child
219
- );
220
- expect(child2.parentManager).toBe(child);
221
- expect(child2.state.name).toBe("light");
222
- });
223
- test("Nested invert and reset", () => {
224
- const parent = new ThemeManager(
225
- {
226
- name: "light"
227
- },
228
- "root"
229
- );
230
- const child = new ThemeManager(
231
- {
232
- name: "dark"
233
- },
234
- parent
235
- );
236
- const child2 = new ThemeManager(
237
- {
238
- reset: true
239
- },
240
- child
241
- );
242
- const child3 = new ThemeManager(
243
- {
244
- inverse: true
245
- },
246
- child2
247
- );
248
- expect(child3.state.name).toBe("dark");
249
- });
250
- test("Updates from null the new theme nested 3 themes", () => {
251
- const a = new ThemeManager(
252
- {
253
- name: "dark"
254
- },
255
- "root"
256
- );
257
- const b = new ThemeManager(
258
- {
259
- name: "red"
260
- },
261
- a
262
- );
263
- expect(b.state.name).toBe("dark_red");
264
- const c = new ThemeManager(
265
- {
266
- name: "alt2"
267
- },
268
- b
269
- );
270
- expect(c.state.name).toBe("dark_red_alt2");
271
- });
272
- test("Ignored dup themes", () => {
273
- const a = new ThemeManager(
274
- {
275
- name: "dark"
276
- },
277
- "root"
278
- );
279
- const b = new ThemeManager(
280
- {
281
- name: "dark"
282
- },
283
- a
284
- );
285
- expect(b === a).toBe(true);
286
- });
287
- test("Nested component themes fallback to grandparents", () => {
288
- const parent = new ThemeManager(
289
- {
290
- name: "dark"
291
- },
292
- "root"
293
- );
294
- const child = new ThemeManager(
295
- {
296
- name: "red",
297
- componentName: "Button"
298
- },
299
- parent
300
- );
301
- const child2 = new ThemeManager(
302
- {
303
- name: "blue"
304
- },
305
- child
306
- );
307
- expect(child2.state.name).toBe("dark_blue");
308
- const child3 = new ThemeManager(
309
- {
310
- componentName: "Button"
311
- },
312
- child2
313
- );
314
- expect(child3.state.name).toBe("dark_blue_Button");
315
- });
316
- test(`Component theme with sub component that doesn't exist keeps same theme`, () => {
317
- const parent = new ThemeManager(
318
- {
319
- name: "dark"
320
- },
321
- "root"
322
- );
323
- const child = new ThemeManager(
324
- {
325
- name: "red",
326
- componentName: "Button"
327
- },
328
- parent
329
- );
330
- const child2 = new ThemeManager(
331
- {
332
- componentName: "Spacer"
333
- },
334
- child
335
- );
336
- expect(child2).toBe(child);
337
- });
338
- test(`Doesn't find invalid parent when only passing component`, () => {
339
- expect(!!conf.themes["dark_Card"]).toBeTruthy();
340
- const parent = new ThemeManager(
341
- {
342
- name: "dark_red"
343
- },
344
- "root"
345
- );
346
- const child = new ThemeManager(
347
- {
348
- componentName: "Card"
349
- },
350
- parent
351
- );
352
- expect(child.state.name).toBe(parent.state.name);
353
- });
354
- test(`Finds sub-theme when componentName and name are passed but componentName doesn't exist`, () => {
355
- const parent = new ThemeManager(
356
- {
357
- name: "dark"
358
- },
359
- "root"
360
- );
361
- const child = new ThemeManager(
362
- {
363
- name: "red",
364
- componentName: "Missing"
365
- },
366
- parent
367
- );
368
- expect(child.state.name).toBe("dark_red");
369
- });
370
- test("Uses the full className without the light/dark prefix", () => {
371
- const parent = new ThemeManager(
372
- {
373
- name: "dark"
374
- },
375
- "root"
376
- );
377
- const child = new ThemeManager(
378
- {
379
- name: "red_alt2"
380
- },
381
- parent
382
- );
383
- expect(child.state.className).toBe("t_red_alt2");
384
- const child2 = new ThemeManager(
385
- {
386
- name: "red"
387
- },
388
- parent
389
- );
390
- const child3 = new ThemeManager(
391
- {
392
- name: "alt2"
393
- },
394
- child2
395
- );
396
- expect(child3.state.className).toBe("t_red_alt2");
397
- });
398
- test("Finds component dark_red + Button", () => {
399
- const parent = new ThemeManager(
400
- {
401
- name: "dark_red"
402
- },
403
- "root"
404
- );
405
- const child = new ThemeManager(
406
- {
407
- name: "dark_red",
408
- componentName: "Button"
409
- },
410
- parent
411
- );
412
- expect(child.state.className).toBe("t_red_Button");
413
- expect(child.state.name).toBe("dark_red_Button");
414
- });
415
- test("Drops componentName if only regular name found at stronger level", () => {
416
- const parent = new ThemeManager(
417
- {
418
- name: "dark_red"
419
- },
420
- "root"
421
- );
422
- const child = new ThemeManager(
423
- {
424
- name: "alt1",
425
- componentName: "Button"
426
- },
427
- parent
428
- );
429
- expect(child.state.name).toBe("dark_red_alt1");
430
- });
431
- test("Component name + theme change when nested already", () => {
432
- const parent = new ThemeManager(
433
- {
434
- name: "dark_red"
435
- },
436
- "root"
437
- );
438
- const child = new ThemeManager(
439
- {
440
- name: "yellow",
441
- componentName: "Button"
442
- },
443
- parent
444
- );
445
- expect(child.state.name).toBe("dark_yellow_Button");
446
- });
447
- test("Component name + name finds one up when component name missing", () => {
448
- const parent = new ThemeManager(
449
- {
450
- name: "dark_red_alt1"
451
- },
452
- "root"
453
- );
454
- const child = new ThemeManager(
455
- {
456
- name: "alt2",
457
- componentName: "Missing"
458
- },
459
- parent
460
- );
461
- expect(child.state.name).toBe("dark_red_alt2");
462
- });
463
- });
464
- //# sourceMappingURL=ThemeManager.test.js.map