@tamagui/core 1.14.4 → 1.14.6

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 (493) hide show
  1. package/package.json +6 -6
  2. package/dist/cjs/Tamagui.js +0 -77
  3. package/dist/cjs/Tamagui.js.map +0 -7
  4. package/dist/cjs/addTheme.js +0 -78
  5. package/dist/cjs/addTheme.js.map +0 -7
  6. package/dist/cjs/config.js +0 -91
  7. package/dist/cjs/config.js.map +0 -7
  8. package/dist/cjs/constants/constants.js +0 -49
  9. package/dist/cjs/constants/constants.js.map +0 -7
  10. package/dist/cjs/constants/isDevTools.js +0 -37
  11. package/dist/cjs/constants/isDevTools.js.map +0 -7
  12. package/dist/cjs/contexts/ButtonNestingContext.js +0 -30
  13. package/dist/cjs/contexts/ButtonNestingContext.js.map +0 -7
  14. package/dist/cjs/contexts/FontLanguageContext.js +0 -30
  15. package/dist/cjs/contexts/FontLanguageContext.js.map +0 -7
  16. package/dist/cjs/contexts/TextAncestorContext.js +0 -30
  17. package/dist/cjs/contexts/TextAncestorContext.js.map +0 -7
  18. package/dist/cjs/createComponent.js +0 -991
  19. package/dist/cjs/createComponent.js.map +0 -7
  20. package/dist/cjs/createFont.js +0 -69
  21. package/dist/cjs/createFont.js.map +0 -7
  22. package/dist/cjs/createFont.web.test.js +0 -125
  23. package/dist/cjs/createFont.web.test.js.map +0 -7
  24. package/dist/cjs/createShorthands.js +0 -31
  25. package/dist/cjs/createShorthands.js.map +0 -7
  26. package/dist/cjs/createTamagui.js +0 -202
  27. package/dist/cjs/createTamagui.js.map +0 -7
  28. package/dist/cjs/createTheme.js +0 -31
  29. package/dist/cjs/createTheme.js.map +0 -7
  30. package/dist/cjs/createTokens.js +0 -39
  31. package/dist/cjs/createTokens.js.map +0 -7
  32. package/dist/cjs/createTokens.web.test.js +0 -28
  33. package/dist/cjs/createTokens.web.test.js.map +0 -7
  34. package/dist/cjs/createVariable.js +0 -111
  35. package/dist/cjs/createVariable.js.map +0 -7
  36. package/dist/cjs/createVariable.web.test.js +0 -7
  37. package/dist/cjs/createVariable.web.test.js.map +0 -7
  38. package/dist/cjs/createVariables.js +0 -60
  39. package/dist/cjs/createVariables.js.map +0 -7
  40. package/dist/cjs/helpers/RNComponents.js +0 -40
  41. package/dist/cjs/helpers/RNComponents.js.map +0 -7
  42. package/dist/cjs/helpers/ThemeManager.js +0 -234
  43. package/dist/cjs/helpers/ThemeManager.js.map +0 -7
  44. package/dist/cjs/helpers/ThemeManager.test.js +0 -465
  45. package/dist/cjs/helpers/ThemeManager.test.js.map +0 -7
  46. package/dist/cjs/helpers/ThemeManagerContext.js +0 -30
  47. package/dist/cjs/helpers/ThemeManagerContext.js.map +0 -7
  48. package/dist/cjs/helpers/createMediaStyle.js +0 -67
  49. package/dist/cjs/helpers/createMediaStyle.js.map +0 -7
  50. package/dist/cjs/helpers/createPropMapper.js +0 -411
  51. package/dist/cjs/helpers/createPropMapper.js.map +0 -7
  52. package/dist/cjs/helpers/createProxy.js +0 -43
  53. package/dist/cjs/helpers/createProxy.js.map +0 -7
  54. package/dist/cjs/helpers/expandStyle.js +0 -95
  55. package/dist/cjs/helpers/expandStyle.js.map +0 -7
  56. package/dist/cjs/helpers/expandStyles.js +0 -126
  57. package/dist/cjs/helpers/expandStyles.js.map +0 -7
  58. package/dist/cjs/helpers/extendStaticConfig.js +0 -91
  59. package/dist/cjs/helpers/extendStaticConfig.js.map +0 -7
  60. package/dist/cjs/helpers/fixNativeShadow.js +0 -30
  61. package/dist/cjs/helpers/fixNativeShadow.js.map +0 -7
  62. package/dist/cjs/helpers/getAnimationDriver.js +0 -32
  63. package/dist/cjs/helpers/getAnimationDriver.js.map +0 -7
  64. package/dist/cjs/helpers/getExpandedShorthands.js +0 -40
  65. package/dist/cjs/helpers/getExpandedShorthands.js.map +0 -7
  66. package/dist/cjs/helpers/getFontLanguage.js +0 -29
  67. package/dist/cjs/helpers/getFontLanguage.js.map +0 -7
  68. package/dist/cjs/helpers/getSplitStyles.js +0 -840
  69. package/dist/cjs/helpers/getSplitStyles.js.map +0 -7
  70. package/dist/cjs/helpers/getStylesAtomic.js +0 -226
  71. package/dist/cjs/helpers/getStylesAtomic.js.map +0 -7
  72. package/dist/cjs/helpers/getStylesAtomic.native.js +0 -35
  73. package/dist/cjs/helpers/getStylesAtomic.native.js.map +0 -7
  74. package/dist/cjs/helpers/getThemeCSSRules.js +0 -110
  75. package/dist/cjs/helpers/getThemeCSSRules.js.map +0 -7
  76. package/dist/cjs/helpers/getThemeCSSRules.native.js +0 -31
  77. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +0 -7
  78. package/dist/cjs/helpers/getVariantExtras.js +0 -92
  79. package/dist/cjs/helpers/getVariantExtras.js.map +0 -7
  80. package/dist/cjs/helpers/insertStyleRule.js +0 -218
  81. package/dist/cjs/helpers/insertStyleRule.js.map +0 -7
  82. package/dist/cjs/helpers/isObj.js +0 -29
  83. package/dist/cjs/helpers/isObj.js.map +0 -7
  84. package/dist/cjs/helpers/isTamaguiComponent.js +0 -32
  85. package/dist/cjs/helpers/isTamaguiComponent.js.map +0 -7
  86. package/dist/cjs/helpers/isTamaguiElement.js +0 -33
  87. package/dist/cjs/helpers/isTamaguiElement.js.map +0 -7
  88. package/dist/cjs/helpers/matchMedia.js +0 -42
  89. package/dist/cjs/helpers/matchMedia.js.map +0 -7
  90. package/dist/cjs/helpers/matchMedia.native.js +0 -48
  91. package/dist/cjs/helpers/matchMedia.native.js.map +0 -7
  92. package/dist/cjs/helpers/mergeProps.js +0 -54
  93. package/dist/cjs/helpers/mergeProps.js.map +0 -7
  94. package/dist/cjs/helpers/mergeTransform.js +0 -47
  95. package/dist/cjs/helpers/mergeTransform.js.map +0 -7
  96. package/dist/cjs/helpers/normalizeColor.js +0 -71
  97. package/dist/cjs/helpers/normalizeColor.js.map +0 -7
  98. package/dist/cjs/helpers/normalizeValueWithProperty.js +0 -138
  99. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +0 -7
  100. package/dist/cjs/helpers/proxyThemeVariables.js +0 -40
  101. package/dist/cjs/helpers/proxyThemeVariables.js.map +0 -7
  102. package/dist/cjs/helpers/pseudoDescriptors.js +0 -53
  103. package/dist/cjs/helpers/pseudoDescriptors.js.map +0 -7
  104. package/dist/cjs/helpers/registerCSSVariable.js +0 -40
  105. package/dist/cjs/helpers/registerCSSVariable.js.map +0 -7
  106. package/dist/cjs/helpers/themeable.js +0 -62
  107. package/dist/cjs/helpers/themeable.js.map +0 -7
  108. package/dist/cjs/helpers/themes.js +0 -78
  109. package/dist/cjs/helpers/themes.js.map +0 -7
  110. package/dist/cjs/helpers/timer.js +0 -35
  111. package/dist/cjs/helpers/timer.js.map +0 -7
  112. package/dist/cjs/helpers/useShallowSetState.js +0 -58
  113. package/dist/cjs/helpers/useShallowSetState.js.map +0 -7
  114. package/dist/cjs/helpers/withStaticProperties.js +0 -32
  115. package/dist/cjs/helpers/withStaticProperties.js.map +0 -7
  116. package/dist/cjs/hooks/getThemeUnwrapped.js +0 -34
  117. package/dist/cjs/hooks/getThemeUnwrapped.js.map +0 -7
  118. package/dist/cjs/hooks/useId.js +0 -29
  119. package/dist/cjs/hooks/useId.js.map +0 -7
  120. package/dist/cjs/hooks/useIsTouchDevice.js +0 -33
  121. package/dist/cjs/hooks/useIsTouchDevice.js.map +0 -7
  122. package/dist/cjs/hooks/useMedia.js +0 -262
  123. package/dist/cjs/hooks/useMedia.js.map +0 -7
  124. package/dist/cjs/hooks/useSafeRef.js +0 -59
  125. package/dist/cjs/hooks/useSafeRef.js.map +0 -7
  126. package/dist/cjs/hooks/useServerHooks.js +0 -36
  127. package/dist/cjs/hooks/useServerHooks.js.map +0 -7
  128. package/dist/cjs/hooks/useTheme.js +0 -234
  129. package/dist/cjs/hooks/useTheme.js.map +0 -7
  130. package/dist/cjs/hooks/useThemeName.js +0 -52
  131. package/dist/cjs/hooks/useThemeName.js.map +0 -7
  132. package/dist/cjs/insertFont.js +0 -93
  133. package/dist/cjs/insertFont.js.map +0 -7
  134. package/dist/cjs/setupReactNative.js +0 -50
  135. package/dist/cjs/setupReactNative.js.map +0 -7
  136. package/dist/cjs/static.js +0 -20
  137. package/dist/cjs/static.js.map +0 -7
  138. package/dist/cjs/styled.js +0 -95
  139. package/dist/cjs/styled.js.map +0 -7
  140. package/dist/cjs/types-rnw.js +0 -17
  141. package/dist/cjs/types-rnw.js.map +0 -7
  142. package/dist/cjs/types.js +0 -17
  143. package/dist/cjs/types.js.map +0 -7
  144. package/dist/cjs/updateTheme.js +0 -47
  145. package/dist/cjs/updateTheme.js.map +0 -7
  146. package/dist/cjs/views/FontLanguage.js +0 -41
  147. package/dist/cjs/views/FontLanguage.js.map +0 -7
  148. package/dist/cjs/views/FontLanguage.native.js +0 -35
  149. package/dist/cjs/views/FontLanguage.native.js.map +0 -7
  150. package/dist/cjs/views/FontLanguage.types.js +0 -17
  151. package/dist/cjs/views/FontLanguage.types.js.map +0 -7
  152. package/dist/cjs/views/Slot.js +0 -92
  153. package/dist/cjs/views/Slot.js.map +0 -7
  154. package/dist/cjs/views/Stack.js +0 -38
  155. package/dist/cjs/views/Stack.js.map +0 -7
  156. package/dist/cjs/views/Stack.web.test.js +0 -22
  157. package/dist/cjs/views/Stack.web.test.js.map +0 -7
  158. package/dist/cjs/views/TamaguiProvider.js +0 -90
  159. package/dist/cjs/views/TamaguiProvider.js.map +0 -7
  160. package/dist/cjs/views/Text.js +0 -94
  161. package/dist/cjs/views/Text.js.map +0 -7
  162. package/dist/cjs/views/Theme.js +0 -88
  163. package/dist/cjs/views/Theme.js.map +0 -7
  164. package/dist/cjs/views/ThemeProvider.js +0 -70
  165. package/dist/cjs/views/ThemeProvider.js.map +0 -7
  166. package/dist/esm/Tamagui.js +0 -41
  167. package/dist/esm/Tamagui.js.map +0 -7
  168. package/dist/esm/Tamagui.mjs +0 -41
  169. package/dist/esm/Tamagui.mjs.map +0 -7
  170. package/dist/esm/addTheme.js +0 -54
  171. package/dist/esm/addTheme.js.map +0 -7
  172. package/dist/esm/addTheme.mjs +0 -54
  173. package/dist/esm/addTheme.mjs.map +0 -7
  174. package/dist/esm/config.js +0 -58
  175. package/dist/esm/config.js.map +0 -7
  176. package/dist/esm/config.mjs +0 -58
  177. package/dist/esm/config.mjs.map +0 -7
  178. package/dist/esm/constants/constants.js +0 -22
  179. package/dist/esm/constants/constants.js.map +0 -7
  180. package/dist/esm/constants/constants.mjs +0 -22
  181. package/dist/esm/constants/constants.mjs.map +0 -7
  182. package/dist/esm/constants/isDevTools.js +0 -13
  183. package/dist/esm/constants/isDevTools.js.map +0 -7
  184. package/dist/esm/constants/isDevTools.mjs +0 -13
  185. package/dist/esm/constants/isDevTools.mjs.map +0 -7
  186. package/dist/esm/contexts/ButtonNestingContext.js +0 -6
  187. package/dist/esm/contexts/ButtonNestingContext.js.map +0 -7
  188. package/dist/esm/contexts/ButtonNestingContext.mjs +0 -6
  189. package/dist/esm/contexts/ButtonNestingContext.mjs.map +0 -7
  190. package/dist/esm/contexts/FontLanguageContext.js +0 -6
  191. package/dist/esm/contexts/FontLanguageContext.js.map +0 -7
  192. package/dist/esm/contexts/FontLanguageContext.mjs +0 -6
  193. package/dist/esm/contexts/FontLanguageContext.mjs.map +0 -7
  194. package/dist/esm/contexts/TextAncestorContext.js +0 -6
  195. package/dist/esm/contexts/TextAncestorContext.js.map +0 -7
  196. package/dist/esm/contexts/TextAncestorContext.mjs +0 -6
  197. package/dist/esm/contexts/TextAncestorContext.mjs.map +0 -7
  198. package/dist/esm/createComponent.js +0 -973
  199. package/dist/esm/createComponent.js.map +0 -7
  200. package/dist/esm/createComponent.mjs +0 -973
  201. package/dist/esm/createComponent.mjs.map +0 -7
  202. package/dist/esm/createFont.js +0 -45
  203. package/dist/esm/createFont.js.map +0 -7
  204. package/dist/esm/createFont.mjs +0 -45
  205. package/dist/esm/createFont.mjs.map +0 -7
  206. package/dist/esm/createFont.web.test.js +0 -124
  207. package/dist/esm/createFont.web.test.js.map +0 -7
  208. package/dist/esm/createFont.web.test.mjs +0 -124
  209. package/dist/esm/createFont.web.test.mjs.map +0 -7
  210. package/dist/esm/createShorthands.js +0 -7
  211. package/dist/esm/createShorthands.js.map +0 -7
  212. package/dist/esm/createShorthands.mjs +0 -7
  213. package/dist/esm/createShorthands.mjs.map +0 -7
  214. package/dist/esm/createTamagui.js +0 -186
  215. package/dist/esm/createTamagui.js.map +0 -7
  216. package/dist/esm/createTamagui.mjs +0 -186
  217. package/dist/esm/createTamagui.mjs.map +0 -7
  218. package/dist/esm/createTheme.js +0 -7
  219. package/dist/esm/createTheme.js.map +0 -7
  220. package/dist/esm/createTheme.mjs +0 -7
  221. package/dist/esm/createTheme.mjs.map +0 -7
  222. package/dist/esm/createTokens.js +0 -15
  223. package/dist/esm/createTokens.js.map +0 -7
  224. package/dist/esm/createTokens.mjs +0 -15
  225. package/dist/esm/createTokens.mjs.map +0 -7
  226. package/dist/esm/createTokens.web.test.js +0 -27
  227. package/dist/esm/createTokens.web.test.js.map +0 -7
  228. package/dist/esm/createTokens.web.test.mjs +0 -27
  229. package/dist/esm/createTokens.web.test.mjs.map +0 -7
  230. package/dist/esm/createVariable.js +0 -78
  231. package/dist/esm/createVariable.js.map +0 -7
  232. package/dist/esm/createVariable.mjs +0 -78
  233. package/dist/esm/createVariable.mjs.map +0 -7
  234. package/dist/esm/createVariable.web.test.js +0 -6
  235. package/dist/esm/createVariable.web.test.js.map +0 -7
  236. package/dist/esm/createVariable.web.test.mjs +0 -6
  237. package/dist/esm/createVariable.web.test.mjs.map +0 -7
  238. package/dist/esm/createVariables.js +0 -35
  239. package/dist/esm/createVariables.js.map +0 -7
  240. package/dist/esm/createVariables.mjs +0 -35
  241. package/dist/esm/createVariables.mjs.map +0 -7
  242. package/dist/esm/helpers/RNComponents.js +0 -16
  243. package/dist/esm/helpers/RNComponents.js.map +0 -7
  244. package/dist/esm/helpers/RNComponents.mjs +0 -16
  245. package/dist/esm/helpers/RNComponents.mjs.map +0 -7
  246. package/dist/esm/helpers/ThemeManager.js +0 -209
  247. package/dist/esm/helpers/ThemeManager.js.map +0 -7
  248. package/dist/esm/helpers/ThemeManager.mjs +0 -209
  249. package/dist/esm/helpers/ThemeManager.mjs.map +0 -7
  250. package/dist/esm/helpers/ThemeManager.test.js +0 -464
  251. package/dist/esm/helpers/ThemeManager.test.js.map +0 -7
  252. package/dist/esm/helpers/ThemeManager.test.mjs +0 -464
  253. package/dist/esm/helpers/ThemeManager.test.mjs.map +0 -7
  254. package/dist/esm/helpers/ThemeManagerContext.js +0 -6
  255. package/dist/esm/helpers/ThemeManagerContext.js.map +0 -7
  256. package/dist/esm/helpers/ThemeManagerContext.mjs +0 -6
  257. package/dist/esm/helpers/ThemeManagerContext.mjs.map +0 -7
  258. package/dist/esm/helpers/createMediaStyle.js +0 -42
  259. package/dist/esm/helpers/createMediaStyle.js.map +0 -7
  260. package/dist/esm/helpers/createMediaStyle.mjs +0 -42
  261. package/dist/esm/helpers/createMediaStyle.mjs.map +0 -7
  262. package/dist/esm/helpers/createPropMapper.js +0 -384
  263. package/dist/esm/helpers/createPropMapper.js.map +0 -7
  264. package/dist/esm/helpers/createPropMapper.mjs +0 -384
  265. package/dist/esm/helpers/createPropMapper.mjs.map +0 -7
  266. package/dist/esm/helpers/createProxy.js +0 -19
  267. package/dist/esm/helpers/createProxy.js.map +0 -7
  268. package/dist/esm/helpers/createProxy.mjs +0 -19
  269. package/dist/esm/helpers/createProxy.mjs.map +0 -7
  270. package/dist/esm/helpers/expandStyle.js +0 -71
  271. package/dist/esm/helpers/expandStyle.js.map +0 -7
  272. package/dist/esm/helpers/expandStyle.mjs +0 -71
  273. package/dist/esm/helpers/expandStyle.mjs.map +0 -7
  274. package/dist/esm/helpers/expandStyles.js +0 -90
  275. package/dist/esm/helpers/expandStyles.js.map +0 -7
  276. package/dist/esm/helpers/expandStyles.mjs +0 -90
  277. package/dist/esm/helpers/expandStyles.mjs.map +0 -7
  278. package/dist/esm/helpers/extendStaticConfig.js +0 -66
  279. package/dist/esm/helpers/extendStaticConfig.js.map +0 -7
  280. package/dist/esm/helpers/extendStaticConfig.mjs +0 -66
  281. package/dist/esm/helpers/extendStaticConfig.mjs.map +0 -7
  282. package/dist/esm/helpers/fixNativeShadow.js +0 -6
  283. package/dist/esm/helpers/fixNativeShadow.js.map +0 -7
  284. package/dist/esm/helpers/fixNativeShadow.mjs +0 -6
  285. package/dist/esm/helpers/fixNativeShadow.mjs.map +0 -7
  286. package/dist/esm/helpers/getAnimationDriver.js +0 -8
  287. package/dist/esm/helpers/getAnimationDriver.js.map +0 -7
  288. package/dist/esm/helpers/getAnimationDriver.mjs +0 -8
  289. package/dist/esm/helpers/getAnimationDriver.mjs.map +0 -7
  290. package/dist/esm/helpers/getExpandedShorthands.js +0 -16
  291. package/dist/esm/helpers/getExpandedShorthands.js.map +0 -7
  292. package/dist/esm/helpers/getExpandedShorthands.mjs +0 -16
  293. package/dist/esm/helpers/getExpandedShorthands.mjs.map +0 -7
  294. package/dist/esm/helpers/getFontLanguage.js +0 -5
  295. package/dist/esm/helpers/getFontLanguage.js.map +0 -7
  296. package/dist/esm/helpers/getFontLanguage.mjs +0 -5
  297. package/dist/esm/helpers/getFontLanguage.mjs.map +0 -7
  298. package/dist/esm/helpers/getSplitStyles.js +0 -839
  299. package/dist/esm/helpers/getSplitStyles.js.map +0 -7
  300. package/dist/esm/helpers/getSplitStyles.mjs +0 -839
  301. package/dist/esm/helpers/getSplitStyles.mjs.map +0 -7
  302. package/dist/esm/helpers/getStylesAtomic.js +0 -200
  303. package/dist/esm/helpers/getStylesAtomic.js.map +0 -7
  304. package/dist/esm/helpers/getStylesAtomic.mjs +0 -200
  305. package/dist/esm/helpers/getStylesAtomic.mjs.map +0 -7
  306. package/dist/esm/helpers/getStylesAtomic.native.js +0 -10
  307. package/dist/esm/helpers/getStylesAtomic.native.js.map +0 -7
  308. package/dist/esm/helpers/getStylesAtomic.native.mjs +0 -10
  309. package/dist/esm/helpers/getStylesAtomic.native.mjs.map +0 -7
  310. package/dist/esm/helpers/getThemeCSSRules.js +0 -86
  311. package/dist/esm/helpers/getThemeCSSRules.js.map +0 -7
  312. package/dist/esm/helpers/getThemeCSSRules.mjs +0 -86
  313. package/dist/esm/helpers/getThemeCSSRules.mjs.map +0 -7
  314. package/dist/esm/helpers/getThemeCSSRules.native.js +0 -7
  315. package/dist/esm/helpers/getThemeCSSRules.native.js.map +0 -7
  316. package/dist/esm/helpers/getThemeCSSRules.native.mjs +0 -7
  317. package/dist/esm/helpers/getThemeCSSRules.native.mjs.map +0 -7
  318. package/dist/esm/helpers/getVariantExtras.js +0 -67
  319. package/dist/esm/helpers/getVariantExtras.js.map +0 -7
  320. package/dist/esm/helpers/getVariantExtras.mjs +0 -67
  321. package/dist/esm/helpers/getVariantExtras.mjs.map +0 -7
  322. package/dist/esm/helpers/insertStyleRule.js +0 -186
  323. package/dist/esm/helpers/insertStyleRule.js.map +0 -7
  324. package/dist/esm/helpers/insertStyleRule.mjs +0 -186
  325. package/dist/esm/helpers/insertStyleRule.mjs.map +0 -7
  326. package/dist/esm/helpers/isObj.js +0 -5
  327. package/dist/esm/helpers/isObj.js.map +0 -7
  328. package/dist/esm/helpers/isObj.mjs +0 -5
  329. package/dist/esm/helpers/isObj.mjs.map +0 -7
  330. package/dist/esm/helpers/isTamaguiComponent.js +0 -8
  331. package/dist/esm/helpers/isTamaguiComponent.js.map +0 -7
  332. package/dist/esm/helpers/isTamaguiComponent.mjs +0 -8
  333. package/dist/esm/helpers/isTamaguiComponent.mjs.map +0 -7
  334. package/dist/esm/helpers/isTamaguiElement.js +0 -9
  335. package/dist/esm/helpers/isTamaguiElement.js.map +0 -7
  336. package/dist/esm/helpers/isTamaguiElement.mjs +0 -9
  337. package/dist/esm/helpers/isTamaguiElement.mjs.map +0 -7
  338. package/dist/esm/helpers/matchMedia.js +0 -17
  339. package/dist/esm/helpers/matchMedia.js.map +0 -7
  340. package/dist/esm/helpers/matchMedia.mjs +0 -17
  341. package/dist/esm/helpers/matchMedia.mjs.map +0 -7
  342. package/dist/esm/helpers/matchMedia.native.js +0 -23
  343. package/dist/esm/helpers/matchMedia.native.js.map +0 -7
  344. package/dist/esm/helpers/matchMedia.native.mjs +0 -23
  345. package/dist/esm/helpers/matchMedia.native.mjs.map +0 -7
  346. package/dist/esm/helpers/mergeProps.js +0 -30
  347. package/dist/esm/helpers/mergeProps.js.map +0 -7
  348. package/dist/esm/helpers/mergeProps.mjs +0 -30
  349. package/dist/esm/helpers/mergeProps.mjs.map +0 -7
  350. package/dist/esm/helpers/mergeTransform.js +0 -21
  351. package/dist/esm/helpers/mergeTransform.js.map +0 -7
  352. package/dist/esm/helpers/mergeTransform.mjs +0 -21
  353. package/dist/esm/helpers/mergeTransform.mjs.map +0 -7
  354. package/dist/esm/helpers/normalizeColor.js +0 -36
  355. package/dist/esm/helpers/normalizeColor.js.map +0 -7
  356. package/dist/esm/helpers/normalizeColor.mjs +0 -36
  357. package/dist/esm/helpers/normalizeColor.mjs.map +0 -7
  358. package/dist/esm/helpers/normalizeValueWithProperty.js +0 -113
  359. package/dist/esm/helpers/normalizeValueWithProperty.js.map +0 -7
  360. package/dist/esm/helpers/normalizeValueWithProperty.mjs +0 -113
  361. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +0 -7
  362. package/dist/esm/helpers/proxyThemeVariables.js +0 -16
  363. package/dist/esm/helpers/proxyThemeVariables.js.map +0 -7
  364. package/dist/esm/helpers/proxyThemeVariables.mjs +0 -16
  365. package/dist/esm/helpers/proxyThemeVariables.mjs.map +0 -7
  366. package/dist/esm/helpers/pseudoDescriptors.js +0 -29
  367. package/dist/esm/helpers/pseudoDescriptors.js.map +0 -7
  368. package/dist/esm/helpers/pseudoDescriptors.mjs +0 -29
  369. package/dist/esm/helpers/pseudoDescriptors.mjs.map +0 -7
  370. package/dist/esm/helpers/registerCSSVariable.js +0 -14
  371. package/dist/esm/helpers/registerCSSVariable.js.map +0 -7
  372. package/dist/esm/helpers/registerCSSVariable.mjs +0 -14
  373. package/dist/esm/helpers/registerCSSVariable.mjs.map +0 -7
  374. package/dist/esm/helpers/themeable.js +0 -28
  375. package/dist/esm/helpers/themeable.js.map +0 -7
  376. package/dist/esm/helpers/themeable.mjs +0 -28
  377. package/dist/esm/helpers/themeable.mjs.map +0 -7
  378. package/dist/esm/helpers/themes.js +0 -53
  379. package/dist/esm/helpers/themes.js.map +0 -7
  380. package/dist/esm/helpers/themes.mjs +0 -53
  381. package/dist/esm/helpers/themes.mjs.map +0 -7
  382. package/dist/esm/helpers/timer.js +0 -11
  383. package/dist/esm/helpers/timer.js.map +0 -7
  384. package/dist/esm/helpers/timer.mjs +0 -11
  385. package/dist/esm/helpers/timer.mjs.map +0 -7
  386. package/dist/esm/helpers/useShallowSetState.js +0 -34
  387. package/dist/esm/helpers/useShallowSetState.js.map +0 -7
  388. package/dist/esm/helpers/useShallowSetState.mjs +0 -34
  389. package/dist/esm/helpers/useShallowSetState.mjs.map +0 -7
  390. package/dist/esm/helpers/withStaticProperties.js +0 -8
  391. package/dist/esm/helpers/withStaticProperties.js.map +0 -7
  392. package/dist/esm/helpers/withStaticProperties.mjs +0 -8
  393. package/dist/esm/helpers/withStaticProperties.mjs.map +0 -7
  394. package/dist/esm/hooks/getThemeUnwrapped.js +0 -9
  395. package/dist/esm/hooks/getThemeUnwrapped.js.map +0 -7
  396. package/dist/esm/hooks/getThemeUnwrapped.mjs +0 -9
  397. package/dist/esm/hooks/getThemeUnwrapped.mjs.map +0 -7
  398. package/dist/esm/hooks/useId.js +0 -5
  399. package/dist/esm/hooks/useId.js.map +0 -7
  400. package/dist/esm/hooks/useId.mjs +0 -5
  401. package/dist/esm/hooks/useId.mjs.map +0 -7
  402. package/dist/esm/hooks/useIsTouchDevice.js +0 -9
  403. package/dist/esm/hooks/useIsTouchDevice.js.map +0 -7
  404. package/dist/esm/hooks/useIsTouchDevice.mjs +0 -9
  405. package/dist/esm/hooks/useIsTouchDevice.mjs.map +0 -7
  406. package/dist/esm/hooks/useMedia.js +0 -224
  407. package/dist/esm/hooks/useMedia.js.map +0 -7
  408. package/dist/esm/hooks/useMedia.mjs +0 -224
  409. package/dist/esm/hooks/useMedia.mjs.map +0 -7
  410. package/dist/esm/hooks/useSafeRef.js +0 -35
  411. package/dist/esm/hooks/useSafeRef.js.map +0 -7
  412. package/dist/esm/hooks/useSafeRef.mjs +0 -35
  413. package/dist/esm/hooks/useSafeRef.mjs.map +0 -7
  414. package/dist/esm/hooks/useServerHooks.js +0 -11
  415. package/dist/esm/hooks/useServerHooks.js.map +0 -7
  416. package/dist/esm/hooks/useServerHooks.mjs +0 -11
  417. package/dist/esm/hooks/useServerHooks.mjs.map +0 -7
  418. package/dist/esm/hooks/useTheme.js +0 -209
  419. package/dist/esm/hooks/useTheme.js.map +0 -7
  420. package/dist/esm/hooks/useTheme.mjs +0 -209
  421. package/dist/esm/hooks/useTheme.mjs.map +0 -7
  422. package/dist/esm/hooks/useThemeName.js +0 -28
  423. package/dist/esm/hooks/useThemeName.js.map +0 -7
  424. package/dist/esm/hooks/useThemeName.mjs +0 -28
  425. package/dist/esm/hooks/useThemeName.mjs.map +0 -7
  426. package/dist/esm/insertFont.js +0 -67
  427. package/dist/esm/insertFont.js.map +0 -7
  428. package/dist/esm/insertFont.mjs +0 -67
  429. package/dist/esm/insertFont.mjs.map +0 -7
  430. package/dist/esm/setupReactNative.js +0 -24
  431. package/dist/esm/setupReactNative.js.map +0 -7
  432. package/dist/esm/setupReactNative.mjs +0 -24
  433. package/dist/esm/setupReactNative.mjs.map +0 -7
  434. package/dist/esm/static.js +0 -3
  435. package/dist/esm/static.js.map +0 -7
  436. package/dist/esm/static.mjs +0 -3
  437. package/dist/esm/static.mjs.map +0 -7
  438. package/dist/esm/styled.js +0 -71
  439. package/dist/esm/styled.js.map +0 -7
  440. package/dist/esm/styled.mjs +0 -71
  441. package/dist/esm/styled.mjs.map +0 -7
  442. package/dist/esm/types-rnw.js +0 -1
  443. package/dist/esm/types-rnw.js.map +0 -7
  444. package/dist/esm/types-rnw.mjs +0 -1
  445. package/dist/esm/types-rnw.mjs.map +0 -7
  446. package/dist/esm/types.js +0 -1
  447. package/dist/esm/types.js.map +0 -7
  448. package/dist/esm/types.mjs +0 -1
  449. package/dist/esm/types.mjs.map +0 -7
  450. package/dist/esm/updateTheme.js +0 -23
  451. package/dist/esm/updateTheme.js.map +0 -7
  452. package/dist/esm/updateTheme.mjs +0 -23
  453. package/dist/esm/updateTheme.mjs.map +0 -7
  454. package/dist/esm/views/FontLanguage.js +0 -17
  455. package/dist/esm/views/FontLanguage.js.map +0 -7
  456. package/dist/esm/views/FontLanguage.mjs +0 -17
  457. package/dist/esm/views/FontLanguage.mjs.map +0 -7
  458. package/dist/esm/views/FontLanguage.native.js +0 -11
  459. package/dist/esm/views/FontLanguage.native.js.map +0 -7
  460. package/dist/esm/views/FontLanguage.native.mjs +0 -11
  461. package/dist/esm/views/FontLanguage.native.mjs.map +0 -7
  462. package/dist/esm/views/FontLanguage.types.js +0 -1
  463. package/dist/esm/views/FontLanguage.types.js.map +0 -7
  464. package/dist/esm/views/FontLanguage.types.mjs +0 -1
  465. package/dist/esm/views/FontLanguage.types.mjs.map +0 -7
  466. package/dist/esm/views/Slot.js +0 -71
  467. package/dist/esm/views/Slot.js.map +0 -7
  468. package/dist/esm/views/Slot.mjs +0 -71
  469. package/dist/esm/views/Slot.mjs.map +0 -7
  470. package/dist/esm/views/Stack.js +0 -14
  471. package/dist/esm/views/Stack.js.map +0 -7
  472. package/dist/esm/views/Stack.mjs +0 -14
  473. package/dist/esm/views/Stack.mjs.map +0 -7
  474. package/dist/esm/views/Stack.web.test.js +0 -21
  475. package/dist/esm/views/Stack.web.test.js.map +0 -7
  476. package/dist/esm/views/Stack.web.test.mjs +0 -21
  477. package/dist/esm/views/Stack.web.test.mjs.map +0 -7
  478. package/dist/esm/views/TamaguiProvider.js +0 -56
  479. package/dist/esm/views/TamaguiProvider.js.map +0 -7
  480. package/dist/esm/views/TamaguiProvider.mjs +0 -56
  481. package/dist/esm/views/TamaguiProvider.mjs.map +0 -7
  482. package/dist/esm/views/Text.js +0 -70
  483. package/dist/esm/views/Text.js.map +0 -7
  484. package/dist/esm/views/Text.mjs +0 -70
  485. package/dist/esm/views/Text.mjs.map +0 -7
  486. package/dist/esm/views/Theme.js +0 -63
  487. package/dist/esm/views/Theme.js.map +0 -7
  488. package/dist/esm/views/Theme.mjs +0 -63
  489. package/dist/esm/views/Theme.mjs.map +0 -7
  490. package/dist/esm/views/ThemeProvider.js +0 -45
  491. package/dist/esm/views/ThemeProvider.js.map +0 -7
  492. package/dist/esm/views/ThemeProvider.mjs +0 -45
  493. 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