@tamagui/core 1.0.0-alpha.5 → 1.0.0-alpha.55

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 (497) hide show
  1. package/dist/cjs/conf.js +52 -0
  2. package/dist/cjs/conf.js.map +7 -0
  3. package/dist/cjs/constants/constants.js +55 -0
  4. package/dist/cjs/constants/constants.js.map +7 -0
  5. package/dist/cjs/constants/platform.js +44 -0
  6. package/dist/cjs/constants/platform.js.map +7 -0
  7. package/dist/cjs/constants/pseudos.js +42 -0
  8. package/dist/cjs/constants/pseudos.js.map +7 -0
  9. package/dist/cjs/constants/rnw.js +45 -0
  10. package/dist/cjs/constants/rnw.js.map +7 -0
  11. package/dist/cjs/createComponent.js +543 -0
  12. package/dist/cjs/createComponent.js.map +7 -0
  13. package/dist/cjs/createFont.js +51 -0
  14. package/dist/cjs/createFont.js.map +7 -0
  15. package/dist/cjs/createShorthands.js +33 -0
  16. package/dist/cjs/createShorthands.js.map +7 -0
  17. package/dist/cjs/createTamagui.js +205 -0
  18. package/dist/cjs/createTamagui.js.map +7 -0
  19. package/dist/cjs/createTheme.js +30 -0
  20. package/dist/cjs/createTheme.js.map +7 -0
  21. package/dist/cjs/createTokens.js +56 -0
  22. package/dist/cjs/createTokens.js.map +7 -0
  23. package/dist/cjs/createVariable.js +48 -0
  24. package/dist/cjs/createVariable.js.map +7 -0
  25. package/dist/cjs/getThemeParentClassName.js +34 -0
  26. package/dist/cjs/getThemeParentClassName.js.map +7 -0
  27. package/dist/cjs/helpers/addStylesUsingClassname.js +80 -0
  28. package/dist/cjs/helpers/addStylesUsingClassname.js.map +7 -0
  29. package/dist/cjs/helpers/createMediaStyle.js +57 -0
  30. package/dist/cjs/helpers/createMediaStyle.js.map +7 -0
  31. package/dist/cjs/helpers/createPropMapper.js +201 -0
  32. package/dist/cjs/helpers/createPropMapper.js.map +7 -0
  33. package/dist/cjs/helpers/createTamaguiProvider.js +80 -0
  34. package/dist/cjs/helpers/createTamaguiProvider.js.map +7 -0
  35. package/dist/cjs/helpers/extendStaticConfig.js +83 -0
  36. package/dist/cjs/helpers/extendStaticConfig.js.map +7 -0
  37. package/dist/cjs/helpers/fixNativeShadow.js +31 -0
  38. package/dist/cjs/helpers/fixNativeShadow.js.map +7 -0
  39. package/dist/cjs/helpers/fixNativeShadow.native.js +57 -0
  40. package/dist/cjs/helpers/fixNativeShadow.native.js.map +7 -0
  41. package/dist/cjs/helpers/getSplitStyles.js +181 -0
  42. package/dist/cjs/helpers/getSplitStyles.js.map +7 -0
  43. package/dist/cjs/helpers/getStylesAtomic.js +118 -0
  44. package/dist/cjs/helpers/getStylesAtomic.js.map +7 -0
  45. package/dist/cjs/helpers/getStylesAtomic.native.js +33 -0
  46. package/dist/cjs/helpers/getStylesAtomic.native.js.map +7 -0
  47. package/dist/cjs/helpers/getThemeParentClassName.js +34 -0
  48. package/dist/cjs/helpers/getThemeParentClassName.js.map +7 -0
  49. package/dist/cjs/helpers/insertStyleRule.js +47 -0
  50. package/dist/cjs/helpers/insertStyleRule.js.map +7 -0
  51. package/dist/cjs/helpers/isObj.js +30 -0
  52. package/dist/cjs/helpers/isObj.js.map +7 -0
  53. package/dist/cjs/helpers/isTamaguiElement.js +34 -0
  54. package/dist/cjs/helpers/isTamaguiElement.js.map +7 -0
  55. package/dist/cjs/helpers/matchMedia.js +41 -0
  56. package/dist/cjs/helpers/matchMedia.js.map +7 -0
  57. package/dist/cjs/helpers/matchMedia.native.js +37 -0
  58. package/dist/cjs/helpers/matchMedia.native.js.map +7 -0
  59. package/dist/cjs/helpers/themeable.js +84 -0
  60. package/dist/cjs/helpers/themeable.js.map +7 -0
  61. package/dist/cjs/helpers/validate.js +88 -0
  62. package/dist/cjs/helpers/validate.js.map +7 -0
  63. package/dist/cjs/hooks/useConstant.js +38 -0
  64. package/dist/cjs/hooks/useConstant.js.map +7 -0
  65. package/dist/cjs/hooks/useFeatures.js +106 -0
  66. package/dist/cjs/hooks/useFeatures.js.map +7 -0
  67. package/dist/cjs/hooks/useMedia.js +208 -0
  68. package/dist/cjs/hooks/useMedia.js.map +7 -0
  69. package/dist/cjs/hooks/usePressable.js +51 -0
  70. package/dist/cjs/hooks/usePressable.js.map +7 -0
  71. package/dist/cjs/hooks/useTheme.js +121 -0
  72. package/dist/cjs/hooks/useTheme.js.map +7 -0
  73. package/dist/cjs/index.js +63 -0
  74. package/dist/cjs/index.js.map +7 -0
  75. package/dist/cjs/static/postProcessStyles.js +41 -0
  76. package/dist/cjs/static/postProcessStyles.js.map +7 -0
  77. package/dist/cjs/static.js +35 -0
  78. package/dist/cjs/static.js.map +7 -0
  79. package/dist/cjs/styled.js +73 -0
  80. package/dist/cjs/styled.js.map +7 -0
  81. package/dist/cjs/types.js +21 -0
  82. package/dist/cjs/types.js.map +7 -0
  83. package/dist/cjs/views/Animated.js +135 -0
  84. package/dist/cjs/views/Animated.js.map +7 -0
  85. package/dist/cjs/views/Stack.js +52 -0
  86. package/dist/cjs/views/Stack.js.map +7 -0
  87. package/dist/cjs/views/Text.js +94 -0
  88. package/dist/cjs/views/Text.js.map +7 -0
  89. package/dist/cjs/views/TextAncestorContext.js +46 -0
  90. package/dist/cjs/views/TextAncestorContext.js.map +7 -0
  91. package/dist/cjs/views/Theme.js +97 -0
  92. package/dist/cjs/views/Theme.js.map +7 -0
  93. package/dist/cjs/views/ThemeContext.js +30 -0
  94. package/dist/cjs/views/ThemeContext.js.map +7 -0
  95. package/dist/cjs/views/ThemeInverse.js +54 -0
  96. package/dist/cjs/views/ThemeInverse.js.map +7 -0
  97. package/dist/cjs/views/ThemeManagerContext.js +85 -0
  98. package/dist/cjs/views/ThemeManagerContext.js.map +7 -0
  99. package/dist/cjs/views/ThemeProvider.js +73 -0
  100. package/dist/cjs/views/ThemeProvider.js.map +7 -0
  101. package/dist/esm/conf.js +29 -0
  102. package/dist/esm/conf.js.map +7 -0
  103. package/dist/{constants → esm/constants}/constants.js +4 -0
  104. package/dist/esm/constants/constants.js.map +7 -0
  105. package/dist/{constants → esm/constants}/platform.js +2 -1
  106. package/dist/{constants → esm/constants}/platform.js.map +2 -2
  107. package/dist/{constants → esm/constants}/pseudos.js +0 -0
  108. package/dist/{constants → esm/constants}/pseudos.js.map +1 -1
  109. package/dist/{constants → esm/constants}/rnw.js +0 -0
  110. package/dist/{constants → esm/constants}/rnw.js.map +1 -1
  111. package/dist/{createComponent.js → esm/createComponent.js} +99 -71
  112. package/dist/esm/createComponent.js.map +7 -0
  113. package/dist/{createFont.js → esm/createFont.js} +4 -0
  114. package/dist/esm/createFont.js.map +7 -0
  115. package/dist/{createShorthands.js → esm/createShorthands.js} +0 -0
  116. package/dist/{createShorthands.js.map → esm/createShorthands.js.map} +1 -1
  117. package/dist/esm/createTamagui.js +166 -0
  118. package/dist/esm/createTamagui.js.map +7 -0
  119. package/dist/esm/createTheme.js +7 -0
  120. package/dist/esm/createTheme.js.map +7 -0
  121. package/dist/{createTokens.js → esm/createTokens.js} +4 -0
  122. package/dist/esm/createTokens.js.map +7 -0
  123. package/dist/{createVariable.js → esm/createVariable.js} +3 -0
  124. package/dist/{createVariable.js.map → esm/createVariable.js.map} +3 -3
  125. package/dist/esm/getThemeParentClassName.js +11 -0
  126. package/dist/esm/getThemeParentClassName.js.map +7 -0
  127. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js +1 -1
  128. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js.map +3 -3
  129. package/dist/{helpers → esm/helpers}/createMediaStyle.js +0 -0
  130. package/dist/{helpers → esm/helpers}/createMediaStyle.js.map +1 -1
  131. package/dist/{helpers → esm/helpers}/createPropMapper.js +28 -16
  132. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  133. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js +0 -0
  134. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js.map +1 -1
  135. package/dist/{helpers → esm/helpers}/extendStaticConfig.js +4 -2
  136. package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
  137. package/dist/{helpers → esm/helpers}/fixNativeShadow.js +0 -0
  138. package/dist/{helpers → esm/helpers}/fixNativeShadow.js.map +1 -1
  139. package/dist/esm/helpers/fixNativeShadow.native.js +34 -0
  140. package/dist/esm/helpers/fixNativeShadow.native.js.map +7 -0
  141. package/dist/{helpers → esm/helpers}/getSplitStyles.js +13 -23
  142. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  143. package/dist/{helpers → esm/helpers}/getStylesAtomic.js +2 -1
  144. package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
  145. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js +0 -0
  146. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js.map +1 -1
  147. package/dist/esm/helpers/getThemeParentClassName.js +11 -0
  148. package/dist/esm/helpers/getThemeParentClassName.js.map +7 -0
  149. package/dist/{helpers → esm/helpers}/insertStyleRule.js +0 -0
  150. package/dist/{helpers → esm/helpers}/insertStyleRule.js.map +1 -1
  151. package/dist/{helpers → esm/helpers}/isObj.js +0 -0
  152. package/dist/{helpers → esm/helpers}/isObj.js.map +1 -1
  153. package/dist/esm/helpers/isTamaguiElement.js +11 -0
  154. package/dist/esm/helpers/isTamaguiElement.js.map +7 -0
  155. package/dist/{helpers → esm/helpers}/matchMedia.js +3 -0
  156. package/dist/esm/helpers/matchMedia.js.map +7 -0
  157. package/dist/{helpers → esm/helpers}/matchMedia.native.js +1 -0
  158. package/dist/{helpers → esm/helpers}/matchMedia.native.js.map +3 -3
  159. package/dist/{helpers → esm/helpers}/themeable.js +1 -1
  160. package/dist/{helpers → esm/helpers}/themeable.js.map +2 -2
  161. package/dist/esm/helpers/validate.js +60 -0
  162. package/dist/esm/helpers/validate.js.map +7 -0
  163. package/dist/{hooks → esm/hooks}/useConstant.js +0 -0
  164. package/dist/{hooks → esm/hooks}/useConstant.js.map +1 -1
  165. package/dist/{hooks → esm/hooks}/useFeatures.js +39 -51
  166. package/dist/esm/hooks/useFeatures.js.map +7 -0
  167. package/dist/{hooks → esm/hooks}/useMedia.js +10 -6
  168. package/dist/esm/hooks/useMedia.js.map +7 -0
  169. package/dist/{hooks → esm/hooks}/usePressable.js +2 -1
  170. package/dist/{hooks → esm/hooks}/usePressable.js.map +2 -2
  171. package/dist/{hooks → esm/hooks}/useTheme.js +21 -15
  172. package/dist/esm/hooks/useTheme.js.map +7 -0
  173. package/dist/{index.js → esm/index.js} +9 -2
  174. package/dist/esm/index.js.map +7 -0
  175. package/dist/{static → esm/static}/postProcessStyles.js +0 -0
  176. package/dist/{static → esm/static}/postProcessStyles.js.map +1 -1
  177. package/dist/{static.js → esm/static.js} +0 -0
  178. package/dist/{static.js.map → esm/static.js.map} +1 -1
  179. package/dist/{styled.js → esm/styled.js} +0 -0
  180. package/dist/esm/styled.js.map +7 -0
  181. package/dist/{types.js → esm/types.js} +0 -0
  182. package/dist/{types.js.map → esm/types.js.map} +0 -0
  183. package/dist/{views → esm/views}/Animated.js +0 -0
  184. package/dist/{views → esm/views}/Animated.js.map +1 -1
  185. package/dist/{views → esm/views}/Stack.js +0 -0
  186. package/dist/{views → esm/views}/Stack.js.map +1 -1
  187. package/dist/{views → esm/views}/Text.js +2 -2
  188. package/dist/esm/views/Text.js.map +7 -0
  189. package/dist/esm/views/TextAncestorContext.js +18 -0
  190. package/dist/esm/views/TextAncestorContext.js.map +7 -0
  191. package/dist/{views → esm/views}/Theme.js +27 -14
  192. package/dist/esm/views/Theme.js.map +7 -0
  193. package/dist/{views → esm/views}/ThemeContext.js +0 -0
  194. package/dist/{views → esm/views}/ThemeContext.js.map +1 -1
  195. package/dist/{views → esm/views}/ThemeInverse.js +0 -1
  196. package/dist/{views → esm/views}/ThemeInverse.js.map +3 -3
  197. package/dist/{views → esm/views}/ThemeManagerContext.js +15 -8
  198. package/dist/esm/views/ThemeManagerContext.js.map +7 -0
  199. package/dist/{views → esm/views}/ThemeProvider.js +3 -3
  200. package/dist/esm/views/ThemeProvider.js.map +7 -0
  201. package/dist/jsx/conf.js +28 -0
  202. package/dist/jsx/constants/constants.js +17 -0
  203. package/dist/jsx/constants/platform.js +19 -0
  204. package/dist/jsx/constants/pseudos.js +17 -0
  205. package/dist/jsx/constants/rnw.js +21 -0
  206. package/dist/jsx/createComponent.js +467 -0
  207. package/dist/jsx/createFont.js +27 -0
  208. package/dist/jsx/createShorthands.js +9 -0
  209. package/dist/jsx/createTamagui.js +165 -0
  210. package/dist/jsx/createTheme.js +6 -0
  211. package/dist/jsx/createTokens.js +32 -0
  212. package/dist/jsx/createVariable.js +24 -0
  213. package/dist/jsx/getThemeParentClassName.js +10 -0
  214. package/dist/jsx/helpers/addStylesUsingClassname.js +56 -0
  215. package/dist/jsx/helpers/createMediaStyle.js +33 -0
  216. package/dist/jsx/helpers/createPropMapper.js +164 -0
  217. package/dist/jsx/helpers/createTamaguiProvider.js +19 -0
  218. package/dist/jsx/helpers/extendStaticConfig.js +60 -0
  219. package/dist/jsx/helpers/fixNativeShadow.js +7 -0
  220. package/dist/jsx/helpers/fixNativeShadow.native.js +33 -0
  221. package/dist/jsx/helpers/getSplitStyles.js +149 -0
  222. package/dist/jsx/helpers/getStylesAtomic.js +83 -0
  223. package/dist/jsx/helpers/getStylesAtomic.native.js +9 -0
  224. package/dist/jsx/helpers/getThemeParentClassName.js +10 -0
  225. package/dist/jsx/helpers/insertStyleRule.js +23 -0
  226. package/dist/jsx/helpers/isObj.js +6 -0
  227. package/dist/jsx/helpers/isTamaguiElement.js +10 -0
  228. package/dist/jsx/helpers/matchMedia.js +17 -0
  229. package/dist/jsx/helpers/matchMedia.native.js +8 -0
  230. package/dist/jsx/helpers/themeable.js +23 -0
  231. package/dist/jsx/helpers/validate.js +59 -0
  232. package/dist/jsx/hooks/useConstant.js +14 -0
  233. package/dist/jsx/hooks/useFeatures.js +57 -0
  234. package/dist/jsx/hooks/useMedia.js +174 -0
  235. package/dist/jsx/hooks/usePressable.js +13 -0
  236. package/dist/jsx/hooks/useTheme.js +98 -0
  237. package/dist/jsx/index.js +38 -0
  238. package/dist/jsx/static/postProcessStyles.js +17 -0
  239. package/dist/jsx/static.js +14 -0
  240. package/dist/jsx/styled.js +20 -0
  241. package/dist/jsx/types.js +0 -0
  242. package/dist/jsx/views/Animated.js +74 -0
  243. package/dist/jsx/views/Stack.js +11 -0
  244. package/dist/jsx/views/Text.js +59 -0
  245. package/dist/jsx/views/TextAncestorContext.js +15 -0
  246. package/dist/jsx/views/Theme.js +63 -0
  247. package/dist/jsx/views/ThemeContext.js +5 -0
  248. package/dist/jsx/views/ThemeInverse.js +22 -0
  249. package/dist/jsx/views/ThemeManagerContext.js +61 -0
  250. package/dist/jsx/views/ThemeProvider.js +39 -0
  251. package/package.json +17 -19
  252. package/types/conf.d.ts +44 -0
  253. package/types/conf.d.ts.map +1 -0
  254. package/{dist/packages/core/src → types}/constants/constants.d.ts +2 -0
  255. package/types/constants/constants.d.ts.map +1 -0
  256. package/{dist/packages/core/src → types}/constants/platform.d.ts +0 -0
  257. package/types/constants/platform.d.ts.map +1 -0
  258. package/{dist/packages/core/src → types}/constants/pseudos.d.ts +0 -0
  259. package/types/constants/pseudos.d.ts.map +1 -0
  260. package/{dist/packages/core/src → types}/constants/rnw.d.ts +0 -0
  261. package/types/constants/rnw.d.ts.map +1 -0
  262. package/types/createComponent.d.ts +17 -0
  263. package/types/createComponent.d.ts.map +1 -0
  264. package/types/createFont.d.ts +3 -0
  265. package/types/createFont.d.ts.map +1 -0
  266. package/{dist/packages/core/src → types}/createShorthands.d.ts +0 -0
  267. package/types/createShorthands.d.ts.map +1 -0
  268. package/types/createTamagui.d.ts +13 -0
  269. package/types/createTamagui.d.ts.map +1 -0
  270. package/types/createTheme.d.ts +7 -0
  271. package/types/createTheme.d.ts.map +1 -0
  272. package/{dist/packages/core/src → types}/createTokens.d.ts +24 -14
  273. package/types/createTokens.d.ts.map +1 -0
  274. package/{dist/packages/core/src → types}/createVariable.d.ts +1 -0
  275. package/types/createVariable.d.ts.map +1 -0
  276. package/types/helpers/addStylesUsingClassname.d.ts +3 -0
  277. package/types/helpers/addStylesUsingClassname.d.ts.map +1 -0
  278. package/{dist/packages/core/src → types}/helpers/createMediaStyle.d.ts +0 -0
  279. package/types/helpers/createMediaStyle.d.ts.map +1 -0
  280. package/types/helpers/createPropMapper.d.ts +3 -0
  281. package/types/helpers/createPropMapper.d.ts.map +1 -0
  282. package/{dist/packages/core/src → types}/helpers/createTamaguiProvider.d.ts +0 -0
  283. package/types/helpers/createTamaguiProvider.d.ts.map +1 -0
  284. package/{dist/packages/core/src → types}/helpers/extendStaticConfig.d.ts +1 -1
  285. package/types/helpers/extendStaticConfig.d.ts.map +1 -0
  286. package/{dist/packages/core/src → types}/helpers/fixNativeShadow.d.ts +0 -0
  287. package/types/helpers/fixNativeShadow.d.ts.map +1 -0
  288. package/types/helpers/fixNativeShadow.native.d.ts +2 -0
  289. package/types/helpers/fixNativeShadow.native.d.ts.map +1 -0
  290. package/{dist/packages/core/src → types}/helpers/getSplitStyles.d.ts +0 -0
  291. package/types/helpers/getSplitStyles.d.ts.map +1 -0
  292. package/types/helpers/getStylesAtomic.d.ts +3 -0
  293. package/types/helpers/getStylesAtomic.d.ts.map +1 -0
  294. package/{dist/packages/core/src → types}/helpers/getStylesAtomic.native.d.ts +0 -0
  295. package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
  296. package/types/helpers/getThemeParentClassName.d.ts +2 -0
  297. package/types/helpers/getThemeParentClassName.d.ts.map +1 -0
  298. package/{dist/packages/core/src → types}/helpers/insertStyleRule.d.ts +0 -0
  299. package/types/helpers/insertStyleRule.d.ts.map +1 -0
  300. package/types/helpers/isObj.d.ts +2 -0
  301. package/types/helpers/isObj.d.ts.map +1 -0
  302. package/types/helpers/isTamaguiElement.d.ts +3 -0
  303. package/types/helpers/isTamaguiElement.d.ts.map +1 -0
  304. package/{dist/packages/core/src → types}/helpers/matchMedia.d.ts +0 -0
  305. package/types/helpers/matchMedia.d.ts.map +1 -0
  306. package/{dist/packages/core/src → types}/helpers/matchMedia.native.d.ts +0 -0
  307. package/types/helpers/matchMedia.native.d.ts.map +1 -0
  308. package/{dist/packages/core/src → types}/helpers/themeable.d.ts +0 -0
  309. package/types/helpers/themeable.d.ts.map +1 -0
  310. package/types/helpers/validate.d.ts +4 -0
  311. package/types/helpers/validate.d.ts.map +1 -0
  312. package/{dist/packages/core/src → types}/hooks/useConstant.d.ts +0 -0
  313. package/types/hooks/useConstant.d.ts.map +1 -0
  314. package/{dist/packages/core/src → types}/hooks/useFeatures.d.ts +0 -0
  315. package/types/hooks/useFeatures.d.ts.map +1 -0
  316. package/{dist/packages/core/src → types}/hooks/useMedia.d.ts +0 -0
  317. package/types/hooks/useMedia.d.ts.map +1 -0
  318. package/{dist/packages/core/src → types}/hooks/usePressable.d.ts +0 -0
  319. package/types/hooks/usePressable.d.ts.map +1 -0
  320. package/types/hooks/useTheme.d.ts +7 -0
  321. package/types/hooks/useTheme.d.ts.map +1 -0
  322. package/{dist/packages/core/src → types}/index.d.ts +5 -1
  323. package/types/index.d.ts.map +1 -0
  324. package/{dist/packages/core/src → types}/static/postProcessStyles.d.ts +0 -0
  325. package/types/static/postProcessStyles.d.ts.map +1 -0
  326. package/{dist/packages/core/src → types}/static.d.ts +3 -0
  327. package/types/static.d.ts.map +1 -0
  328. package/types/styled.d.ts +21 -0
  329. package/types/styled.d.ts.map +1 -0
  330. package/{dist/packages/core/src → types}/types.d.ts +88 -70
  331. package/types/types.d.ts.map +1 -0
  332. package/{dist/packages/core/src → types}/views/Animated.d.ts +0 -0
  333. package/types/views/Animated.d.ts.map +1 -0
  334. package/{dist/packages/core/src → types}/views/Stack.d.ts +0 -0
  335. package/types/views/Stack.d.ts.map +1 -0
  336. package/types/views/Text.d.ts +3 -0
  337. package/types/views/Text.d.ts.map +1 -0
  338. package/types/views/TextAncestorContext.d.ts +5 -0
  339. package/types/views/TextAncestorContext.d.ts.map +1 -0
  340. package/{dist/packages/core/src → types}/views/Theme.d.ts +1 -1
  341. package/types/views/Theme.d.ts.map +1 -0
  342. package/{dist/packages/core/src → types}/views/ThemeContext.d.ts +0 -0
  343. package/types/views/ThemeContext.d.ts.map +1 -0
  344. package/{dist/packages/core/src → types}/views/ThemeInverse.d.ts +0 -0
  345. package/types/views/ThemeInverse.d.ts.map +1 -0
  346. package/types/views/ThemeManagerContext.d.ts +22 -0
  347. package/types/views/ThemeManagerContext.d.ts.map +1 -0
  348. package/{dist/packages/core/src → types}/views/ThemeProvider.d.ts +0 -1
  349. package/types/views/ThemeProvider.d.ts.map +1 -0
  350. package/dist/constants/constants.js.map +0 -7
  351. package/dist/constants/styleConstants.js +0 -46
  352. package/dist/constants/styleConstants.js.map +0 -7
  353. package/dist/createComponent.js.map +0 -7
  354. package/dist/createFont.js.map +0 -7
  355. package/dist/createTamagui.js +0 -159
  356. package/dist/createTamagui.js.map +0 -7
  357. package/dist/createTheme.js +0 -20
  358. package/dist/createTheme.js.map +0 -7
  359. package/dist/createTokens.js.map +0 -7
  360. package/dist/helpers/createPropMapper.js.map +0 -7
  361. package/dist/helpers/extendStaticConfig.js.map +0 -7
  362. package/dist/helpers/fixNativeShadow.native.js +0 -30
  363. package/dist/helpers/fixNativeShadow.native.js.map +0 -7
  364. package/dist/helpers/getSplitStyles.js.map +0 -7
  365. package/dist/helpers/getStylesAtomic.js.map +0 -7
  366. package/dist/helpers/matchMedia.js.map +0 -7
  367. package/dist/helpers/pseudos.js +0 -1
  368. package/dist/helpers/pseudos.js.map +0 -7
  369. package/dist/hooks/useFeatures.js.map +0 -7
  370. package/dist/hooks/useForceUpdate.js +0 -28
  371. package/dist/hooks/useForceUpdate.js.map +0 -7
  372. package/dist/hooks/useMedia.js.map +0 -7
  373. package/dist/hooks/useTheme.js.map +0 -7
  374. package/dist/index.cjs +0 -2103
  375. package/dist/index.cjs.map +0 -7
  376. package/dist/index.js.map +0 -7
  377. package/dist/packages/core/src/constants/constants.d.ts.map +0 -1
  378. package/dist/packages/core/src/constants/platform.d.ts.map +0 -1
  379. package/dist/packages/core/src/constants/pseudos.d.ts.map +0 -1
  380. package/dist/packages/core/src/constants/rnw.d.ts.map +0 -1
  381. package/dist/packages/core/src/createComponent.d.ts +0 -16
  382. package/dist/packages/core/src/createComponent.d.ts.map +0 -1
  383. package/dist/packages/core/src/createShorthands.d.ts.map +0 -1
  384. package/dist/packages/core/src/createTamagui.d.ts +0 -37
  385. package/dist/packages/core/src/createTamagui.d.ts.map +0 -1
  386. package/dist/packages/core/src/createTheme.d.ts +0 -5
  387. package/dist/packages/core/src/createTheme.d.ts.map +0 -1
  388. package/dist/packages/core/src/createTokens.d.ts.map +0 -1
  389. package/dist/packages/core/src/createVariable.d.ts.map +0 -1
  390. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts +0 -2
  391. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts.map +0 -1
  392. package/dist/packages/core/src/helpers/createMediaStyle.d.ts.map +0 -1
  393. package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts.map +0 -1
  394. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts.map +0 -1
  395. package/dist/packages/core/src/helpers/fixNativeShadow.d.ts.map +0 -1
  396. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts +0 -2
  397. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts.map +0 -1
  398. package/dist/packages/core/src/helpers/getSplitStyles.d.ts.map +0 -1
  399. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts +0 -3
  400. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts.map +0 -1
  401. package/dist/packages/core/src/helpers/getStylesAtomic.native.d.ts.map +0 -1
  402. package/dist/packages/core/src/helpers/insertStyleRule.d.ts.map +0 -1
  403. package/dist/packages/core/src/helpers/matchMedia.d.ts.map +0 -1
  404. package/dist/packages/core/src/helpers/matchMedia.native.d.ts.map +0 -1
  405. package/dist/packages/core/src/helpers/themeable.d.ts.map +0 -1
  406. package/dist/packages/core/src/hooks/useConstant.d.ts.map +0 -1
  407. package/dist/packages/core/src/hooks/useFeatures.d.ts.map +0 -1
  408. package/dist/packages/core/src/hooks/useForceUpdate.d.ts +0 -2
  409. package/dist/packages/core/src/hooks/useForceUpdate.d.ts.map +0 -1
  410. package/dist/packages/core/src/hooks/useMedia.d.ts.map +0 -1
  411. package/dist/packages/core/src/hooks/usePressable.d.ts.map +0 -1
  412. package/dist/packages/core/src/hooks/useTheme.d.ts +0 -18
  413. package/dist/packages/core/src/hooks/useTheme.d.ts.map +0 -1
  414. package/dist/packages/core/src/index.d.ts.map +0 -1
  415. package/dist/packages/core/src/static/postProcessStyles.d.ts.map +0 -1
  416. package/dist/packages/core/src/static.d.ts.map +0 -1
  417. package/dist/packages/core/src/styled.d.ts +0 -16
  418. package/dist/packages/core/src/styled.d.ts.map +0 -1
  419. package/dist/packages/core/src/types.d.ts.map +0 -1
  420. package/dist/packages/core/src/views/Animated.d.ts.map +0 -1
  421. package/dist/packages/core/src/views/Stack.d.ts.map +0 -1
  422. package/dist/packages/core/src/views/Text.d.ts +0 -3
  423. package/dist/packages/core/src/views/Text.d.ts.map +0 -1
  424. package/dist/packages/core/src/views/TextAncestorContext.d.ts +0 -3
  425. package/dist/packages/core/src/views/TextAncestorContext.d.ts.map +0 -1
  426. package/dist/packages/core/src/views/Theme.d.ts.map +0 -1
  427. package/dist/packages/core/src/views/ThemeContext.d.ts.map +0 -1
  428. package/dist/packages/core/src/views/ThemeInverse.d.ts.map +0 -1
  429. package/dist/packages/core/src/views/ThemeManagerContext.d.ts +0 -15
  430. package/dist/packages/core/src/views/ThemeManagerContext.d.ts.map +0 -1
  431. package/dist/packages/core/src/views/ThemeProvider.d.ts.map +0 -1
  432. package/dist/packages/helpers/src/AllRules.d.ts +0 -3
  433. package/dist/packages/helpers/src/AllRules.d.ts.map +0 -1
  434. package/dist/packages/helpers/src/concatClassName.d.ts +0 -2
  435. package/dist/packages/helpers/src/concatClassName.d.ts.map +0 -1
  436. package/dist/packages/helpers/src/index.d.ts +0 -5
  437. package/dist/packages/helpers/src/index.d.ts.map +0 -1
  438. package/dist/packages/helpers/src/types.d.ts +0 -8
  439. package/dist/packages/helpers/src/types.d.ts.map +0 -1
  440. package/dist/packages/helpers/src/validStyleProps.d.ts +0 -475
  441. package/dist/packages/helpers/src/validStyleProps.d.ts.map +0 -1
  442. package/dist/styled.js.map +0 -7
  443. package/dist/views/SafeAreaProvider.js +0 -30
  444. package/dist/views/SafeAreaProvider.js.map +0 -7
  445. package/dist/views/Text.js.map +0 -7
  446. package/dist/views/TextAncestorContext.js +0 -18
  447. package/dist/views/TextAncestorContext.js.map +0 -7
  448. package/dist/views/Theme.js.map +0 -7
  449. package/dist/views/ThemeManagerContext.js.map +0 -7
  450. package/dist/views/ThemeProvider.js.map +0 -7
  451. package/src/constants/constants.ts +0 -12
  452. package/src/constants/platform.ts +0 -15
  453. package/src/constants/pseudos.ts +0 -14
  454. package/src/constants/rnw.tsx +0 -20
  455. package/src/createComponent.tsx +0 -597
  456. package/src/createFont.ts +0 -26
  457. package/src/createShorthands.ts +0 -5
  458. package/src/createTamagui.ts +0 -207
  459. package/src/createTheme.ts +0 -19
  460. package/src/createTokens.ts +0 -83
  461. package/src/createVariable.ts +0 -22
  462. package/src/helpers/addStylesUsingClassname.tsx +0 -60
  463. package/src/helpers/createMediaStyle.ts +0 -46
  464. package/src/helpers/createPropMapper.ts +0 -184
  465. package/src/helpers/createTamaguiProvider.tsx +0 -22
  466. package/src/helpers/extendStaticConfig.ts +0 -68
  467. package/src/helpers/fixNativeShadow.native.tsx +0 -27
  468. package/src/helpers/fixNativeShadow.tsx +0 -2
  469. package/src/helpers/getSplitStyles.tsx +0 -210
  470. package/src/helpers/getStylesAtomic.native.ts +0 -3
  471. package/src/helpers/getStylesAtomic.ts +0 -103
  472. package/src/helpers/insertStyleRule.tsx +0 -18
  473. package/src/helpers/isObj.ts +0 -1
  474. package/src/helpers/matchMedia.native.ts +0 -3
  475. package/src/helpers/matchMedia.ts +0 -9
  476. package/src/helpers/themeable.tsx +0 -42
  477. package/src/hooks/useConstant.tsx +0 -10
  478. package/src/hooks/useFeatures.tsx +0 -78
  479. package/src/hooks/useMedia.tsx +0 -194
  480. package/src/hooks/usePressable.tsx +0 -9
  481. package/src/hooks/useTheme.tsx +0 -107
  482. package/src/index.ts +0 -32
  483. package/src/static/postProcessStyles.tsx +0 -20
  484. package/src/static.ts +0 -22
  485. package/src/styled.ts +0 -82
  486. package/src/types.tsx +0 -561
  487. package/src/views/Animated.tsx +0 -121
  488. package/src/views/SafeAreaProvider.tsx +0 -33
  489. package/src/views/Stack.tsx +0 -21
  490. package/src/views/Text.tsx +0 -66
  491. package/src/views/TextAncestorContext.tsx +0 -12
  492. package/src/views/Theme.tsx +0 -73
  493. package/src/views/ThemeContext.tsx +0 -5
  494. package/src/views/ThemeInverse.tsx +0 -23
  495. package/src/views/ThemeManagerContext.tsx +0 -50
  496. package/src/views/ThemeProvider.tsx +0 -52
  497. package/types.d.ts +0 -557
@@ -1,159 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import { getStyleRules } from "@tamagui/helpers";
4
- import { Variable, createVariable, isVariable } from "./createVariable";
5
- import { createTamaguiProvider } from "./helpers/createTamaguiProvider";
6
- import { configureMedia } from "./hooks/useMedia";
7
- let conf;
8
- const getHasConfigured = /* @__PURE__ */ __name(() => !!conf, "getHasConfigured");
9
- const getTamaguiConfig = /* @__PURE__ */ __name(() => conf, "getTamaguiConfig");
10
- const configListeners = new Set();
11
- const onConfiguredOnce = /* @__PURE__ */ __name((cb) => {
12
- if (conf) {
13
- cb(conf);
14
- } else {
15
- configListeners.add(cb);
16
- }
17
- }, "onConfiguredOnce");
18
- const PREFIX = `theme--`;
19
- function createTamagui(config) {
20
- if (conf) {
21
- console.warn("Called createTamagui twice! Should never do so");
22
- }
23
- configureMedia({
24
- queries: config.media,
25
- defaultActive: config.mediaQueryDefaultActive
26
- });
27
- const themeConfig = (() => {
28
- let cssRules = [];
29
- let tokenRule = `:root {`;
30
- const varsByValue = new Map();
31
- const addVar = /* @__PURE__ */ __name((v) => {
32
- varsByValue[v.val] = v;
33
- const rule = `--${v.name}:${typeof v.val === "number" ? `${v.val}px` : v.val};`;
34
- tokenRule += rule;
35
- }, "addVar");
36
- for (const key in config.tokens) {
37
- for (const skey in config.tokens[key]) {
38
- const val = config.tokens[key][skey];
39
- if (key === "font") {
40
- for (const fkey in val) {
41
- if (fkey === "family") {
42
- addVar(val[fkey]);
43
- } else {
44
- for (const fskey in val[fkey]) {
45
- addVar(val[fkey][fskey]);
46
- }
47
- }
48
- }
49
- } else {
50
- addVar(val);
51
- }
52
- }
53
- }
54
- cssRules.push(`${tokenRule}
55
- }`);
56
- for (const themeName in config.themes) {
57
- config.themes[themeName] = { ...config.themes[themeName] };
58
- const theme = config.themes[themeName];
59
- let vars = "";
60
- for (const themeKey in theme) {
61
- const val = theme[themeKey];
62
- const getVariableCSS = /* @__PURE__ */ __name((inv) => {
63
- const v = varsByValue[inv] ?? inv;
64
- return isVariable(v) ? `--${themeKey}:var(--${v.name});` : `--${themeKey}:${v};`;
65
- }, "getVariableCSS");
66
- vars += getVariableCSS(val);
67
- if (!isVariable(val)) {
68
- theme[themeKey] = createVariable({
69
- name: themeKey,
70
- val
71
- });
72
- }
73
- }
74
- const [themeClassName, parentName] = themeName.includes("-") ? themeName.split("-") : [themeName, ""];
75
- const oppositeName = parentName === "dark" ? "light" : "dark";
76
- const cssParentSel = parentName ? `.${PREFIX}${parentName}` : "";
77
- const cssChildSel = `.${PREFIX}${themeClassName}`;
78
- const cssSel = `${cssParentSel} ${cssChildSel}`;
79
- const cssRule = `${cssSel}, .${PREFIX}${oppositeName} ${cssSel} {
80
- ${vars}
81
- }`;
82
- cssRules.push(cssRule);
83
- }
84
- Object.freeze(cssRules);
85
- return {
86
- cssRules,
87
- css: cssRules.join("\n")
88
- };
89
- })();
90
- const tokensParsed = parseTokens(config.tokens);
91
- const themeParsed = {};
92
- const firstKey = Object.keys(config.themes)[0];
93
- for (const key in config.themes[firstKey]) {
94
- const val = config.themes[firstKey][key].val;
95
- themeParsed[`$${key}`] = new Variable({ val, name: key });
96
- }
97
- const next = {
98
- shorthands: {},
99
- ...config,
100
- Provider: createTamaguiProvider({
101
- defaultTheme: "light",
102
- ...config
103
- }),
104
- themeConfig,
105
- themeParsed,
106
- tokensParsed,
107
- getCSS() {
108
- return `${themeConfig.css}
109
- ${[...getStyleRules()].join("\n")}`;
110
- }
111
- };
112
- conf = next;
113
- if (configListeners.size) {
114
- configListeners.forEach((cb) => cb(next));
115
- configListeners.clear();
116
- }
117
- return next;
118
- }
119
- __name(createTamagui, "createTamagui");
120
- function getThemeParentClassName(themeName) {
121
- return `theme-parent ${themeName ? `${PREFIX}${themeName}` : ""}`;
122
- }
123
- __name(getThemeParentClassName, "getThemeParentClassName");
124
- const parseTokens = /* @__PURE__ */ __name((tokens) => {
125
- const res = {};
126
- for (const key in tokens) {
127
- res[key] = {};
128
- if (key === "font") {
129
- for (const family in tokens.font) {
130
- const obj = {};
131
- res.font[`$${family}`] = obj;
132
- for (const attrKey in tokens.font[family]) {
133
- const attr = tokens.font[family][attrKey];
134
- if (attrKey === "family") {
135
- obj[attrKey] = attr;
136
- continue;
137
- }
138
- obj[attrKey] = Object.keys(attr).reduce((acc, cur) => {
139
- acc[`$${cur}`] = attr[cur];
140
- return acc;
141
- }, {});
142
- }
143
- }
144
- continue;
145
- }
146
- for (const skey in tokens[key]) {
147
- res[key][`$${skey}`] = tokens[key][skey];
148
- }
149
- }
150
- return res;
151
- }, "parseTokens");
152
- export {
153
- createTamagui,
154
- getHasConfigured,
155
- getTamaguiConfig,
156
- getThemeParentClassName,
157
- onConfiguredOnce
158
- };
159
- //# sourceMappingURL=createTamagui.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/createTamagui.ts"],
4
- "sourcesContent": ["import { getStyleRules } from '@tamagui/helpers'\n\nimport { Variable, createVariable, isVariable } from './createVariable'\nimport { createTamaguiProvider } from './helpers/createTamaguiProvider'\nimport { configureMedia } from './hooks/useMedia'\nimport {\n CreateTamaguiConfig,\n GenericTamaguiConfig,\n MediaQueryKey,\n TamaguiInternalConfig,\n TamaguiProviderProps,\n} from './types'\n\nexport type CreateTamaguiProps = TamaguiProviderProps &\n // we omit and re-declare it because we need to allow instantation types to be flexible\n // user then re-defines the types after createTamagui returns the typed object they want\n Omit<GenericTamaguiConfig, 'themes'> & {\n themes: {\n [key: string]: {\n [key: string]: string | number | Variable\n }\n }\n // for ssr/native, will default to active\n mediaQueryDefaultActive?: MediaQueryKey[]\n }\n\nlet conf: TamaguiInternalConfig | null\n\nexport const getHasConfigured = () => !!conf\nexport const getTamaguiConfig = () => conf!\n\ntype ConfigListener = (conf: TamaguiInternalConfig) => void\nconst configListeners = new Set<ConfigListener>()\nexport const onConfiguredOnce = (cb: ConfigListener) => {\n if (conf) {\n cb(conf)\n } else {\n configListeners.add(cb)\n }\n}\n\nconst PREFIX = `theme--`\n\nexport function createTamagui<Conf extends CreateTamaguiProps>(\n config: Conf\n): Conf extends CreateTamaguiConfig<infer A, infer B, infer C, infer D>\n ? TamaguiInternalConfig<A, B, C, D>\n : unknown {\n // test env loads a few times as it runs diff tests\n if (conf) {\n console.warn('Called createTamagui twice! Should never do so')\n // throw new Error(`#000 createTamagui called twice`)\n }\n\n configureMedia({\n queries: config.media as any,\n defaultActive: config.mediaQueryDefaultActive,\n })\n\n // TODO can avoid some of this CSS creation on native\n const themeConfig = (() => {\n let cssRules: string[] = []\n\n // tokens\n let tokenRule = `:root {`\n const varsByValue = new Map<string, Variable>()\n const addVar = (v: Variable) => {\n varsByValue[v.val] = v\n const rule = `--${v.name}:${typeof v.val === 'number' ? `${v.val}px` : v.val};`\n tokenRule += rule\n }\n\n for (const key in config.tokens) {\n for (const skey in config.tokens[key]) {\n const val = config.tokens[key][skey]\n if (key === 'font') {\n for (const fkey in val) {\n if (fkey === 'family') {\n addVar(val[fkey])\n } else {\n for (const fskey in val[fkey]) {\n addVar(val[fkey][fskey])\n }\n }\n }\n } else {\n addVar(val)\n }\n }\n }\n cssRules.push(`${tokenRule}\\n}`)\n\n // themes\n for (const themeName in config.themes) {\n // to allow using the same theme with diff names, be sure we don't mutate!\n config.themes[themeName] = { ...config.themes[themeName] }\n const theme = config.themes[themeName]\n let vars = ''\n for (const themeKey in theme) {\n const val = theme[themeKey]\n const getVariableCSS = (inv: any) => {\n const v = varsByValue[inv] ?? inv\n return isVariable(v) ? `--${themeKey}:var(--${v.name});` : `--${themeKey}:${v};`\n }\n vars += getVariableCSS(val)\n // TODO sanity check is necessary\n // make everything a variable that gets put into css\n if (!isVariable(val)) {\n theme[themeKey] = createVariable({\n name: themeKey,\n val,\n })\n }\n }\n\n const [themeClassName, parentName] = themeName.includes('-')\n ? themeName.split('-')\n : [themeName, '']\n // tiny hack for now assuming light/dark are typical parentName\n const oppositeName = parentName === 'dark' ? 'light' : 'dark'\n const cssParentSel = parentName ? `.${PREFIX}${parentName}` : ''\n const cssChildSel = `.${PREFIX}${themeClassName}`\n const cssSel = `${cssParentSel} ${cssChildSel}`\n // we need to force specificity\n const cssRule = `${cssSel}, .${PREFIX}${oppositeName} ${cssSel} {\\n${vars}\\n}`\n cssRules.push(cssRule)\n }\n\n Object.freeze(cssRules)\n\n return {\n cssRules,\n css: cssRules.join('\\n'),\n }\n })()\n\n // faster lookups token keys become $keys to match input\n const tokensParsed: any = parseTokens(config.tokens)\n // all themes should match key and we just need variable name\n // TODO once w react native we'd want to have a reverse lookup back to value\n const themeParsed: any = {}\n const firstKey = Object.keys(config.themes)[0]\n for (const key in config.themes[firstKey]) {\n // themeParsed[`$${key}`] = config.themes[firstKey][key]\n const val = config.themes[firstKey][key].val\n themeParsed[`$${key}`] = new Variable({ val, name: key })\n }\n\n const next: TamaguiInternalConfig = {\n // @ts-ignore\n shorthands: {},\n ...config,\n Provider: createTamaguiProvider({\n defaultTheme: 'light',\n ...config,\n }),\n themeConfig,\n themeParsed,\n tokensParsed,\n getCSS() {\n return `${themeConfig.css}\\n${[...getStyleRules()].join('\\n')}`\n },\n }\n conf = next\n\n if (configListeners.size) {\n configListeners.forEach((cb) => cb(next))\n configListeners.clear()\n }\n\n // @ts-expect-error\n return next\n}\n\nexport function getThemeParentClassName(themeName?: string | null) {\n return `theme-parent ${themeName ? `${PREFIX}${themeName}` : ''}`\n}\n\nconst parseTokens = (tokens: any) => {\n const res: any = {}\n for (const key in tokens) {\n res[key] = {}\n if (key === 'font') {\n for (const family in tokens.font) {\n const obj = {}\n res.font[`$${family}`] = obj\n for (const attrKey in tokens.font[family]) {\n const attr = tokens.font[family][attrKey]\n if (attrKey === 'family') {\n obj[attrKey] = attr\n continue\n }\n obj[attrKey] = Object.keys(attr).reduce((acc, cur) => {\n acc[`$${cur}`] = attr[cur]\n return acc\n }, {})\n }\n }\n continue\n }\n for (const skey in tokens[key]) {\n res[key][`$${skey}`] = tokens[key][skey]\n }\n }\n\n return res\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,20 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import { Variable, createVariable } from "./createVariable";
4
- const createTheme = /* @__PURE__ */ __name((theme) => {
5
- const res = {};
6
- for (const key in theme) {
7
- const val = theme[key];
8
- if (!(val instanceof Variable)) {
9
- res[key] = createVariable({
10
- name: key,
11
- val
12
- });
13
- }
14
- }
15
- return res;
16
- }, "createTheme");
17
- export {
18
- createTheme
19
- };
20
- //# sourceMappingURL=createTheme.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/createTheme.ts"],
4
- "sourcesContent": ["import { Variable, createVariable } from './createVariable'\n\nexport const createTheme = <Theme extends { [key: string]: string | Variable }>(\n theme: Theme\n): {\n [key in keyof Theme]: Variable\n} => {\n const res = {} as any\n for (const key in theme) {\n const val = theme[key]\n if (!(val instanceof Variable)) {\n res[key] = createVariable({\n name: key,\n val,\n })\n }\n }\n return res\n}\n"],
5
- "mappings": ";;AAAA;AAEO,MAAM,cAAc,wBACzB,UAGG;AACH,QAAM,MAAM;AACZ,aAAW,OAAO,OAAO;AACvB,UAAM,MAAM,MAAM;AAClB,QAAI,CAAE,gBAAe,WAAW;AAC9B,UAAI,OAAO,eAAe;AAAA,QACxB,MAAM;AAAA,QACN;AAAA;AAAA;AAAA;AAIN,SAAO;AAAA,GAfkB;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/createTokens.ts"],
4
- "sourcesContent": ["import { Variable, createVariable } from './createVariable'\nimport { CreateTokens } from './types'\n\n// tokens.color.dark.red ===>{ var: `color-dark-red`, val: '' }\n\nexport function createTokens<T extends CreateTokens>(tokens: T): MakeTokens<T> {\n return setupTokens(tokens) as any\n}\n\nfunction setupTokens(tokens: any) {\n return mapTokensToVariables(tokens)\n}\n\nexport const mapTokensToVariables = (\n tokens: CreateTokens,\n parentPath = ''\n): CreateTokens<Variable> => {\n const res = {}\n for (const key in tokens) {\n const val = tokens[key]\n const name = parentPath ? `${parentPath}-${key}` : key\n if (val && typeof val === 'object') {\n res[key] = mapTokensToVariables(tokens[key], name)\n } else {\n res[key] = createVariable({ val, name })\n }\n }\n // @ts-expect-error\n return res\n}\n\n// verbose but gives us nice types...\ntype MakeTokens<T> = T extends {\n font: {\n [key in infer A]: {\n size: infer B\n lineHeight: infer C\n letterSpacing: infer D\n weight: infer Z\n family: infer Y\n }\n }\n color: infer E\n space: infer F\n size: infer G\n radius: infer H\n zIndex: infer J\n}\n ? {\n font: {\n [key in A]: {\n size: {\n [key in keyof B]: Variable\n }\n lineHeight: {\n [key in keyof C]: Variable\n }\n letterSpacing: {\n [key in keyof D]: Variable\n }\n weight: {\n [key in keyof Z]: Variable\n }\n family: Y\n }\n }\n color: {\n [key in keyof E]: Variable\n }\n space: {\n [key in keyof F]: Variable\n }\n size: {\n [key in keyof G]: Variable\n }\n radius: {\n [key in keyof H]: Variable\n }\n zIndex: {\n [key in keyof J]: Variable\n }\n }\n : never\n"],
5
- "mappings": ";;AAAA;AAKO,sBAA8C,QAA0B;AAC7E,SAAO,YAAY;AAAA;AADL;AAIhB,qBAAqB,QAAa;AAChC,SAAO,qBAAqB;AAAA;AADrB;AAIF,MAAM,uBAAuB,wBAClC,QACA,aAAa,OACc;AAC3B,QAAM,MAAM;AACZ,aAAW,OAAO,QAAQ;AACxB,UAAM,MAAM,OAAO;AACnB,UAAM,OAAO,aAAa,GAAG,cAAc,QAAQ;AACnD,QAAI,OAAO,OAAO,QAAQ,UAAU;AAClC,UAAI,OAAO,qBAAqB,OAAO,MAAM;AAAA,WACxC;AACL,UAAI,OAAO,eAAe,EAAE,KAAK;AAAA;AAAA;AAIrC,SAAO;AAAA,GAf2B;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/createPropMapper.ts"],
4
- "sourcesContent": ["import { getTamaguiConfig } from '../createTamagui'\nimport { Variable } from '../createVariable'\nimport { StaticConfig, TamaguiInternalConfig } from '../types'\nimport { isObj } from './isObj'\n\nexport const createPropMapper = (c: StaticConfig) => {\n const variants = c.variants\n let variantsParsed\n const defaultProps = c.defaultProps || {}\n\n return (key: string, value: any, theme: any, props: any) => {\n const conf = getTamaguiConfig()\n if (!conf) {\n console.trace('no conf! err')\n return\n }\n if (variants && !variantsParsed) {\n variantsParsed = parseVariants(variants, conf)\n }\n\n // handled here because we need to resolve this off tokens, its the only one-off like this\n let fontFamily = props.fontFamily || defaultProps.fontFamily || '$body'\n\n // expand variants\n const variant = variantsParsed?.[key]\n if (variant && typeof value !== 'undefined') {\n const val =\n value === true\n ? variant['$true'] || variant['true']\n : variant[value] ?? variant['...'] ?? value\n\n const res =\n typeof val === 'function'\n ? val(value, { tokens: conf.tokensParsed, theme, props })\n : isObj(val)\n ? { ...val }\n : val\n\n if (isObj(res)) {\n resolveTokens(res, conf, fontFamily)\n }\n\n return res\n }\n\n let shouldReturn = false\n\n // handle shorthands\n if (conf.shorthands[key]) {\n shouldReturn = true\n key = conf.shorthands[key]\n }\n\n if (value && value[0] === '$') {\n shouldReturn = true\n value = getToken(key, value, conf, fontFamily)\n }\n\n if (value instanceof Variable) {\n shouldReturn = true\n value = value.variable\n }\n\n if (shouldReturn) {\n return {\n [key]: value,\n }\n }\n }\n}\n\nconst resolveTokens = (res: any, conf: TamaguiInternalConfig, fontFamily: any) => {\n for (const rKey in res) {\n const fKey = conf.shorthands[rKey] || rKey\n const val = res[rKey]\n if (val instanceof Variable) {\n res[fKey] = val.variable\n } else if (typeof val === 'string') {\n const fVal = val[0] === '$' ? getToken(fKey, val, conf, fontFamily) : val\n res[fKey] = fVal\n } else {\n if (isObj(val)) {\n // for things like shadowOffset which is a sub-object\n resolveTokens(val, conf, fontFamily)\n }\n // nullish values cant be tokens so need no exrta parsing\n }\n }\n}\n\nconst getToken = (\n key: string,\n value: string,\n { tokensParsed, themeParsed }: TamaguiInternalConfig,\n fontFamily: string | undefined = '$body'\n) => {\n if (themeParsed[value]) {\n return themeParsed[value].variable\n }\n let valOrVar: any\n if (key === 'fontFamily') {\n valOrVar = tokensParsed.font[value]?.family || value\n }\n if (key === 'fontSize') {\n valOrVar = tokensParsed.font[fontFamily]?.size[value] || value\n }\n if (key === 'lineHeight') {\n valOrVar = tokensParsed.font[fontFamily]?.lineHeight[value] || value\n }\n if (key === 'letterSpacing') {\n valOrVar = tokensParsed.font[fontFamily]?.letterSpacing[value] || value\n }\n if (key === 'fontWeight') {\n valOrVar = tokensParsed.font[fontFamily]?.weight[value] || value\n }\n if (typeof valOrVar !== 'undefined') {\n if (valOrVar instanceof Variable) {\n return valOrVar.variable\n } else {\n return valOrVar\n }\n }\n for (const cat in tokenCategories) {\n if (tokenCategories[cat][key]) {\n const res = tokensParsed[cat][value]\n if (res) {\n return res.variable\n } else {\n const themeVar = themeParsed[value]\n if (themeVar) {\n return themeVar.variable\n }\n }\n }\n }\n const spaceVar = tokensParsed.space[value]\n if (spaceVar) {\n return spaceVar.variable\n }\n return value\n}\n\n// just specificy the least costly, all else go to `space` (most keys - we can exclude)\nconst tokenCategories = {\n size: {\n width: true,\n height: true,\n minWidth: true,\n minHeight: true,\n maxWidth: true,\n maxHeight: true,\n },\n color: {\n color: true,\n backgroundColor: true,\n borderColor: true,\n borderBottomColor: true,\n borderTopColor: true,\n borderLeftColor: true,\n borderRightColor: true,\n },\n}\n\n// turns variant spreads into individual lookups\nfunction parseVariants(variants: any, conf: TamaguiInternalConfig) {\n return Object.keys(variants).reduce((acc, key) => {\n acc[key] = Object.keys(variants[key]).reduce((vacc, vkey) => {\n const variantVal = variants[key][vkey]\n if (vkey.startsWith('...')) {\n // set the default one at '...' for easy fallback on non-exact-variant-match\n vacc['...'] = variantVal\n const tokenKey = vkey.slice(3)\n const tokens = conf.tokens[tokenKey]\n for (const tkey in tokens) {\n vacc[`$${tkey}`] = variantVal\n }\n } else {\n vacc[vkey] = variantVal\n }\n return vacc\n }, {})\n return acc\n }, {})\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/extendStaticConfig.ts"],
4
- "sourcesContent": ["import React from 'react'\n\nimport { StaticComponent, StaticConfig, StaticConfigParsed } from '../types'\nimport { createPropMapper } from './createPropMapper'\n\nexport function extendStaticConfig(\n // can be undefined when loading with @tamagui/fake-react-native\n // could be fixed a bit cleaner\n Component?: StaticComponent | React.Component<any>,\n config: StaticConfig = {}\n): StaticConfigParsed | null {\n const parent = (Component || {}) as any\n if (!parent.staticConfig) {\n // if no static config, we are extending an external component\n parent.staticConfig = {\n Component,\n }\n }\n\n const variants = {\n ...parent.staticConfig.variants,\n }\n\n // merge variants without clobbering previous... can we tho (typed??\n if (config.variants) {\n for (const key in config.variants) {\n if (variants[key]) {\n variants[key] = {\n ...variants[key],\n ...config.variants[key],\n }\n } else {\n variants[key] = config.variants[key]\n }\n }\n }\n\n return parseStaticConfig({\n ...parent.staticConfig,\n isZStack: config.isZStack || parent.staticConfig.isZStack,\n variants,\n isText: config.isText || parent.staticConfig.isText || false,\n neverFlatten: config.neverFlatten ?? parent.staticConfig.neverFlatten,\n ensureOverriddenProp: config.ensureOverriddenProp ?? parent.staticConfig.ensureOverriddenProp,\n validStyles: config.validStyles\n ? {\n ...parent.staticConfig.validStyles,\n ...config.validStyles,\n }\n : parent.staticConfig.validStyles,\n validPropsExtra: {\n ...parent.staticConfig.validPropsExtra,\n ...config.validPropsExtra,\n },\n defaultProps: {\n ...parent.staticConfig.defaultProps,\n ...config.defaultProps,\n },\n })\n}\n\nexport const parseStaticConfig = (config: StaticConfig): StaticConfigParsed => {\n return {\n ...config,\n parsed: true,\n propMapper: createPropMapper(config),\n }\n}\n"],
5
- "mappings": ";;AAGA;AAEO,4BAGL,WACA,SAAuB,IACI;AAC3B,QAAM,SAAU,aAAa;AAC7B,MAAI,CAAC,OAAO,cAAc;AAExB,WAAO,eAAe;AAAA,MACpB;AAAA;AAAA;AAIJ,QAAM,WAAW;AAAA,OACZ,OAAO,aAAa;AAAA;AAIzB,MAAI,OAAO,UAAU;AACnB,eAAW,OAAO,OAAO,UAAU;AACjC,UAAI,SAAS,MAAM;AACjB,iBAAS,OAAO;AAAA,aACX,SAAS;AAAA,aACT,OAAO,SAAS;AAAA;AAAA,aAEhB;AACL,iBAAS,OAAO,OAAO,SAAS;AAAA;AAAA;AAAA;AAKtC,SAAO,kBAAkB;AAAA,OACpB,OAAO;AAAA,IACV,UAAU,OAAO,YAAY,OAAO,aAAa;AAAA,IACjD;AAAA,IACA,QAAQ,OAAO,UAAU,OAAO,aAAa,UAAU;AAAA,IACvD,cAAc,OAAO,gBAAgB,OAAO,aAAa;AAAA,IACzD,sBAAsB,OAAO,wBAAwB,OAAO,aAAa;AAAA,IACzE,aAAa,OAAO,cAChB;AAAA,SACK,OAAO,aAAa;AAAA,SACpB,OAAO;AAAA,QAEZ,OAAO,aAAa;AAAA,IACxB,iBAAiB;AAAA,SACZ,OAAO,aAAa;AAAA,SACpB,OAAO;AAAA;AAAA,IAEZ,cAAc;AAAA,SACT,OAAO,aAAa;AAAA,SACpB,OAAO;AAAA;AAAA;AAAA;AAnDA;AAwDT,MAAM,oBAAoB,wBAAC,WAA6C;AAC7E,SAAO;AAAA,OACF;AAAA,IACH,QAAQ;AAAA,IACR,YAAY,iBAAiB;AAAA;AAAA,GAJA;",
6
- "names": []
7
- }
@@ -1,30 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- const matchRgba = /rgba\(\s*([\d\.]{1,})\s*,\s*([\d\.]{1,})\s*,\s*([\d\.]{1,})\s*,\s*([\d\.]{1,})\s*\)$/;
4
- function fixNativeShadow(props) {
5
- if (props.shadowColor) {
6
- if (!!!("shadowOffset" in props)) {
7
- props.shadowOffset = {
8
- width: 0,
9
- height: 0
10
- };
11
- }
12
- if (!!!("shadowOpacity" in props)) {
13
- const c = `${props.shadowColor}`;
14
- if (c[0] === "r" && c[3] === "a") {
15
- const [_, r, g, b, a] = c.match(matchRgba) || [];
16
- if (typeof a !== "string") {
17
- console.warn("non valid rgba", c);
18
- return props;
19
- }
20
- props.shadowColor = `rgb(${r},${g},${b})`;
21
- props.shadowOpacity = +a;
22
- }
23
- }
24
- }
25
- }
26
- __name(fixNativeShadow, "fixNativeShadow");
27
- export {
28
- fixNativeShadow
29
- };
30
- //# sourceMappingURL=fixNativeShadow.native.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/fixNativeShadow.native.tsx"],
4
- "sourcesContent": ["const matchRgba =\n /rgba\\(\\s*([\\d\\.]{1,})\\s*,\\s*([\\d\\.]{1,})\\s*,\\s*([\\d\\.]{1,})\\s*,\\s*([\\d\\.]{1,})\\s*\\)$/\n\nexport function fixNativeShadow(props: any) {\n if (props.shadowColor) {\n if (!!!('shadowOffset' in props)) {\n // fixes some broken shadows\n props.shadowOffset = {\n width: 0,\n height: 0,\n }\n }\n if (!!!('shadowOpacity' in props)) {\n const c = `${props.shadowColor}`\n // react native has issues sometimes with rgba()\n if (c[0] === 'r' && c[3] === 'a') {\n const [_, r, g, b, a] = c.match(matchRgba) || []\n if (typeof a !== 'string') {\n console.warn('non valid rgba', c)\n return props\n }\n props.shadowColor = `rgb(${r},${g},${b})`\n props.shadowOpacity = +a\n }\n }\n }\n}\n"],
5
- "mappings": ";;AAAA,MAAM,YACJ;AAEK,yBAAyB,OAAY;AAC1C,MAAI,MAAM,aAAa;AACrB,QAAI,CAAC,CAAC,CAAE,mBAAkB,QAAQ;AAEhC,YAAM,eAAe;AAAA,QACnB,OAAO;AAAA,QACP,QAAQ;AAAA;AAAA;AAGZ,QAAI,CAAC,CAAC,CAAE,oBAAmB,QAAQ;AACjC,YAAM,IAAI,GAAG,MAAM;AAEnB,UAAI,EAAE,OAAO,OAAO,EAAE,OAAO,KAAK;AAChC,cAAM,CAAC,GAAG,GAAG,GAAG,GAAG,KAAK,EAAE,MAAM,cAAc;AAC9C,YAAI,OAAO,MAAM,UAAU;AACzB,kBAAQ,KAAK,kBAAkB;AAC/B,iBAAO;AAAA;AAET,cAAM,cAAc,OAAO,KAAK,KAAK;AACrC,cAAM,gBAAgB,CAAC;AAAA;AAAA;AAAA;AAAA;AAnBf;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/getSplitStyles.tsx"],
4
- "sourcesContent": ["import {\n AllRules,\n stylePropsText,\n stylePropsTransform,\n validStyles,\n validStylesPseudo,\n} from '@tamagui/helpers'\nimport { ViewStyle } from 'react-native'\n\nimport { isWeb } from '../constants/platform'\nimport { mediaQueryConfig } from '../hooks/useMedia'\nimport { StaticConfigParsed, ThemeObject } from '../types'\nimport { createMediaStyle } from './createMediaStyle'\nimport { fixNativeShadow } from './fixNativeShadow'\nimport { getStylesAtomic } from './getStylesAtomic'\nimport { insertStyleRule } from './insertStyleRule'\n\nexport type SplitStyles = ReturnType<typeof getSplitStyles>\n\n// TODO run over this, should be able to cut it down quite a bit\n\nexport const getSplitStyles = (\n props: { [key: string]: any },\n staticConfig: StaticConfigParsed,\n theme: ThemeObject,\n isSplittingDefaultProps?: boolean\n) => {\n const validStyleProps = staticConfig.isText ? stylePropsText : validStyles\n const viewProps: Record<string, any> = {}\n const style: any[] = []\n const blacklistProps = isSplittingDefaultProps ? blacklistDefaultProps : blacklistFinalProps\n\n let pseudos: { hoverStyle?: ViewStyle; pressStyle?: ViewStyle } | null = null\n let cur: ViewStyle | null = null\n let classNames: string[] | null = null\n\n for (const keyInit in props) {\n // be sure to sync next few lines below to getSubStyle (*1)\n const valInit = props[keyInit]\n\n // media\n if (keyInit[0] === '$') {\n const mediaKey = keyInit.slice(1)\n\n if (!mediaQueryConfig[mediaKey]) {\n // this isn't a media key, pass through\n viewProps[keyInit] = valInit\n continue\n }\n\n // dont check if media is active, we just apply *all* media styles\n // we combine the media props on top regular props, could proxy this\n // TODO test proxy here instead of merge\n const mediaProps = { ...props, ...valInit }\n // TODO media + hover\n const mediaStyle = getSubStyle(valInit, staticConfig, theme, props)\n const mediaStyles = getStylesAtomic(mediaStyle)\n if (process.env.NODE_ENV === 'development') {\n if (props['debug']) {\n console.log('mediaStyles', keyInit, { mediaProps, mediaStyle, mediaStyles })\n }\n }\n for (const style of mediaStyles) {\n if (isWeb) {\n const out = createMediaStyle(style, mediaKey, mediaQueryConfig)\n classNames = classNames || []\n classNames.push(out.identifier)\n AllRules.add(out.styleRule)\n insertStyleRule(out.styleRule)\n if (process.env.NODE_ENV === 'development' && props['debug']) {\n console.log('mediaProp', style.identifier, out, mediaProps, mediaStyle, mediaStyles)\n }\n } else {\n console.log('TODO native media style logic')\n }\n }\n continue\n }\n\n // pseudo\n if (validStylesPseudo[keyInit]) {\n if (!valInit) continue\n pseudos = pseudos || {}\n pseudos[keyInit] = getSubStyle(valInit, staticConfig, theme, props)\n continue\n }\n\n const out = staticConfig.propMapper(keyInit, valInit, theme, props)\n\n const expanded = out === true || !out ? [[keyInit, valInit]] : Object.entries(out)\n\n for (const [key, val] of expanded) {\n // const val = valueMap(valInit) ?? valInit\n const keyFirstChar = key[0]\n if (key === 'style' || (keyFirstChar === '_' && key.startsWith('_style'))) {\n if (cur) {\n // process last\n fixNativeShadow(cur)\n style.push(cur)\n cur = null\n }\n fixNativeShadow(val)\n style.push(val)\n continue\n }\n // expand flex so it merged with flexShrink etc properly\n // TODO this shouldn't be here...\n if (key === 'flex') {\n cur = cur || {}\n // see spec for flex shorthand https://developer.mozilla.org/en-US/docs/Web/CSS/flex\n // TODO this fixed a behavior but need to find / document / test\n Object.assign(cur, {\n flexGrow: val,\n flexShrink: 1,\n })\n continue\n }\n if (!isWeb && key === 'pointerEvents') {\n viewProps[key] = val\n continue\n }\n if (validStyleProps[key]) {\n // transforms\n if (key in stylePropsTransform) {\n cur = cur || {}\n mergeTransform(cur, key, val)\n continue\n }\n cur = cur || {}\n cur[key] = val\n continue\n }\n // TODO this blacklist should be configurable + better set up\n if (!blacklistProps[key]) {\n viewProps[key] = val\n }\n }\n }\n // push last style\n if (cur) {\n fixNativeShadow(cur)\n style.push(cur)\n }\n\n if (process.env.NODE_ENV === 'development') {\n if (props['debug']) {\n console.log(' \uD83E\uDD5A splitProps:', { props, viewProps, style })\n }\n }\n\n return {\n viewProps,\n style,\n pseudos,\n classNames,\n }\n}\n\nconst getSubStyle = (\n styleIn: Object,\n staticConfig: StaticConfigParsed,\n theme: ThemeObject,\n props: any\n): ViewStyle => {\n const styleOut: ViewStyle = {}\n for (const key in styleIn) {\n // be sure to sync next few lines below to loop above (*1)\n const val = styleIn[key]\n const out = staticConfig.propMapper(key, val, theme, props)\n const expanded = out === true || !out ? [[key, val]] : Object.entries(out)\n for (const [skey, sval] of expanded) {\n // const sval = valueMap(valInit)\n if (skey in stylePropsTransform) {\n mergeTransform(styleOut, skey, sval)\n } else {\n styleOut[skey] = sval\n }\n }\n }\n fixNativeShadow(styleOut)\n return styleOut\n}\n\nconst blacklistDefaultProps = {\n ...validStyles,\n ...stylePropsText,\n}\n\nconst blacklistFinalProps = {\n ...blacklistDefaultProps,\n tag: true,\n debug: true,\n space: true,\n hitSlop: true,\n}\n\nconst mapTransformKeys = {\n x: 'translateX',\n y: 'translateY',\n}\n\nconst mergeTransform = (obj: ViewStyle, key: string, val: any) => {\n const transform: any[] = obj.transform\n ? Array.isArray(obj.transform)\n ? obj.transform\n : [obj.transform]\n : []\n transform.push({ [mapTransformKeys[key] || key]: val })\n obj.transform = transform\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/getStylesAtomic.ts"],
4
- "sourcesContent": ["import { AllRules, StyleObject } from '@tamagui/helpers'\nimport { ViewStyle } from 'react-native'\n\nimport { pseudos } from '../constants/pseudos'\nimport { rnw } from '../constants/rnw'\n\nconst generateStyle = (style: any) => {\n const { atomic, createCompileableStyle, createReactDOMStyle, i18Style } = rnw\n return {\n ...atomic(createCompileableStyle(createReactDOMStyle(i18Style(style)))),\n }\n}\n\nconst borderDefaults = {\n borderWidth: 'borderStyle',\n borderBottomWidth: 'borderBottomStyle',\n borderTopWidth: 'borderTopStyle',\n borderLeftWidth: 'borderLeftStyle',\n borderRightWidth: 'borderRightStyle',\n}\n\nexport function getStylesAtomic(style: any, avoidCollection = false) {\n const styles: { [key: string]: ViewStyle } = {\n base: {},\n }\n // split pseudos\n for (const key in style) {\n if (!!pseudos[key]) {\n styles[key] = style[key]\n } else {\n styles.base[key] = style[key]\n }\n }\n return Object.keys(styles)\n .map((key) => {\n return getAtomicStyle(styles[key], pseudos[key], avoidCollection)\n })\n .flat()\n}\n\nconst importantRegex = /\\!important*/g\n\nfunction getAtomicStyle(\n style: ViewStyle,\n pseudo?: { name: string; priority: number },\n avoidCollection?: boolean\n): StyleObject[] {\n if (style == null || typeof style !== 'object') {\n throw new Error(`Wrong style type: \"${typeof style}\": ${style}`)\n }\n\n // why is this diff from react-native-web!? need to figure out\n for (const key in borderDefaults) {\n if (key in style) {\n style[borderDefaults[key]] = style[borderDefaults[key]] ?? 'solid'\n }\n }\n\n const all = generateStyle(style)\n return Object.keys(all).map((key) => {\n const val = all[key]\n const hash = val.identifier.slice(`${val.identifier}`.lastIndexOf('-') + 1)\n // pseudos have a `--` to be easier to find with concatClassNames\n const psuedoPrefix = pseudo ? `-${pseudo.name}-` : ''\n const identifier = `_${val.property}-${psuedoPrefix}${hash}`\n const className = `.${identifier}`\n const rules = val.rules.map((rule) => {\n if (pseudo) {\n const psuedoPrefixSelect = [...Array(pseudo.priority)].map(() => ':root').join('') + ' '\n let res = rule\n .replace(`.${val.identifier}`, `${psuedoPrefixSelect} ${className}`)\n .replace('{', `:${pseudo.name}{`)\n\n if (pseudo.name === 'hover') {\n // hover styles need to be conditional\n // perhaps this can be generalized but for now lets just shortcut\n // and hardcode for hover styles, if we need to later we can\n // WEIRD SYNTAX, SEE:\n // https://stackoverflow.com/questions/40532204/media-query-for-devices-supporting-hover\n res = `@media not all and (hover: none) { ${res} }`\n }\n return res\n }\n return rule.replace(`.${val.identifier}`, className).replace(importantRegex, '')\n })\n\n if (!avoidCollection) {\n if (rules.length > 1) {\n console.warn('have never seen more than one, verifying')\n }\n AllRules.add(rules[0])\n }\n\n const result: StyleObject = {\n property: val.property,\n value: val.value,\n identifier,\n className,\n rules,\n }\n return result\n })\n}\n"],
5
- "mappings": ";;AAAA;AAGA;AACA;AAEA,MAAM,gBAAgB,wBAAC,UAAe;AACpC,QAAM,EAAE,QAAQ,wBAAwB,qBAAqB,aAAa;AAC1E,SAAO;AAAA,OACF,OAAO,uBAAuB,oBAAoB,SAAS;AAAA;AAAA,GAH5C;AAOtB,MAAM,iBAAiB;AAAA,EACrB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA;AAGb,yBAAyB,OAAY,kBAAkB,OAAO;AACnE,QAAM,SAAuC;AAAA,IAC3C,MAAM;AAAA;AAGR,aAAW,OAAO,OAAO;AACvB,QAAI,CAAC,CAAC,QAAQ,MAAM;AAClB,aAAO,OAAO,MAAM;AAAA,WACf;AACL,aAAO,KAAK,OAAO,MAAM;AAAA;AAAA;AAG7B,SAAO,OAAO,KAAK,QAChB,IAAI,CAAC,QAAQ;AACZ,WAAO,eAAe,OAAO,MAAM,QAAQ,MAAM;AAAA,KAElD;AAAA;AAhBW;AAmBhB,MAAM,iBAAiB;AAEvB,wBACE,OACA,QACA,iBACe;AACf,MAAI,SAAS,QAAQ,OAAO,UAAU,UAAU;AAC9C,UAAM,IAAI,MAAM,sBAAsB,OAAO,WAAW;AAAA;AAI1D,aAAW,OAAO,gBAAgB;AAChC,QAAI,OAAO,OAAO;AAChB,YAAM,eAAe,QAAQ,MAAM,eAAe,SAAS;AAAA;AAAA;AAI/D,QAAM,MAAM,cAAc;AAC1B,SAAO,OAAO,KAAK,KAAK,IAAI,CAAC,QAAQ;AACnC,UAAM,MAAM,IAAI;AAChB,UAAM,OAAO,IAAI,WAAW,MAAM,GAAG,IAAI,aAAa,YAAY,OAAO;AAEzE,UAAM,eAAe,SAAS,IAAI,OAAO,UAAU;AACnD,UAAM,aAAa,IAAI,IAAI,YAAY,eAAe;AACtD,UAAM,YAAY,IAAI;AACtB,UAAM,QAAQ,IAAI,MAAM,IAAI,CAAC,SAAS;AACpC,UAAI,QAAQ;AACV,cAAM,qBAAqB,CAAC,GAAG,MAAM,OAAO,WAAW,IAAI,MAAM,SAAS,KAAK,MAAM;AACrF,YAAI,MAAM,KACP,QAAQ,IAAI,IAAI,cAAc,GAAG,sBAAsB,aACvD,QAAQ,KAAK,IAAI,OAAO;AAE3B,YAAI,OAAO,SAAS,SAAS;AAM3B,gBAAM,sCAAsC;AAAA;AAE9C,eAAO;AAAA;AAET,aAAO,KAAK,QAAQ,IAAI,IAAI,cAAc,WAAW,QAAQ,gBAAgB;AAAA;AAG/E,QAAI,CAAC,iBAAiB;AACpB,UAAI,MAAM,SAAS,GAAG;AACpB,gBAAQ,KAAK;AAAA;AAEf,eAAS,IAAI,MAAM;AAAA;AAGrB,UAAM,SAAsB;AAAA,MAC1B,UAAU,IAAI;AAAA,MACd,OAAO,IAAI;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA;AAEF,WAAO;AAAA;AAAA;AA1DF;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/matchMedia.ts"],
4
- "sourcesContent": ["export const matchMedia =\n (typeof window !== 'undefined' && window.matchMedia) ||\n (function matchMediaFallback(query: string) {\n return {\n addListener() {},\n removeListener() {},\n matches: false,\n }\n } as any)\n"],
5
- "mappings": ";;AAAO,MAAM,aACV,OAAO,WAAW,eAAe,OAAO,cACxC,mDAA4B,OAAe;AAC1C,SAAO;AAAA,IACL,cAAc;AAAA;AAAA,IACd,iBAAiB;AAAA;AAAA,IACjB,SAAS;AAAA;AAAA,GAJZ;",
6
- "names": []
7
- }
@@ -1 +0,0 @@
1
- //# sourceMappingURL=pseudos.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/hooks/useFeatures.tsx"],
4
- "sourcesContent": ["import React from 'react'\n\nimport { isWeb, useIsomorphicLayoutEffect } from '../constants/platform'\nimport { addMediaQueryListener, removeMediaQueryListener } from './useMedia'\n\n// only needed on native\n// dynamic loading of features to avoid heavy views\n\nconst createDefinition = ({ Component, propNames }: { Component; propNames: string[] }) => ({\n isEnabled: (props: any) => propNames.some((name) => !!props[name]),\n Component,\n})\n\nconst mediaQueryPropNames = [\n '$xs',\n '$sm',\n '$md',\n '$lg',\n '$xl',\n '$xxl',\n '$pointerCoarse',\n '$hoverNone',\n '$tall',\n '$short',\n '$gtSm',\n '$notXs',\n '$gtMd',\n '$gtLg',\n]\n\nconst featureDefinitions = {\n measureLayout: createDefinition({\n Component: (props) => {\n console.log('measure', props)\n return null\n },\n propNames: ['onLayout'],\n }),\n\n // will update the parent whenever media query changes\n mediaQuery: createDefinition({\n Component: (props) => {\n if (isWeb) {\n // no need for media queries are inserted and run in css\n return\n }\n\n const keys = mediaQueryPropNames.flatMap((x) => (x in props ? x.slice(1) : []))\n useIsomorphicLayoutEffect(() => {\n for (const key of keys) {\n addMediaQueryListener(key, props._utils.forceUpdate)\n }\n return () => {\n for (const key of keys) {\n removeMediaQueryListener(key, props._utils.forceUpdate)\n }\n }\n }, [keys.join(',')])\n return null\n },\n propNames: mediaQueryPropNames,\n }),\n}\n\nconst featureNames = Object.keys(featureDefinitions)\nconst numFeatures = featureNames.length\n\nexport const useFeatures = (props: any, utils?: { forceUpdate?: Function }) => {\n const features: JSX.Element[] = []\n for (let i = 0; i < numFeatures; i++) {\n const name = featureNames[i]\n const { isEnabled, Component } = featureDefinitions[name] as any //FeatureDefinition\n if (isEnabled(props) && Component) {\n features.push(<Component key={name} {...props} _utils={utils} />)\n }\n }\n return features\n}\n"],
5
- "mappings": ";;AAAA;AAEA;AACA;AAKA,MAAM,mBAAmB,wBAAC,EAAE,WAAW,gBAAqD;AAAA,EAC1F,WAAW,CAAC,UAAe,UAAU,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM;AAAA,EAC5D;AAAA,IAFuB;AAKzB,MAAM,sBAAsB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAGF,MAAM,qBAAqB;AAAA,EACzB,eAAe,iBAAiB;AAAA,IAC9B,WAAW,CAAC,UAAU;AACpB,cAAQ,IAAI,WAAW;AACvB,aAAO;AAAA;AAAA,IAET,WAAW,CAAC;AAAA;AAAA,EAId,YAAY,iBAAiB;AAAA,IAC3B,WAAW,CAAC,UAAU;AACpB,UAAI,OAAO;AAET;AAAA;AAGF,YAAM,OAAO,oBAAoB,QAAQ,CAAC,MAAO,KAAK,QAAQ,EAAE,MAAM,KAAK;AAC3E,gCAA0B,MAAM;AAC9B,mBAAW,OAAO,MAAM;AACtB,gCAAsB,KAAK,MAAM,OAAO;AAAA;AAE1C,eAAO,MAAM;AACX,qBAAW,OAAO,MAAM;AACtB,qCAAyB,KAAK,MAAM,OAAO;AAAA;AAAA;AAAA,SAG9C,CAAC,KAAK,KAAK;AACd,aAAO;AAAA;AAAA,IAET,WAAW;AAAA;AAAA;AAIf,MAAM,eAAe,OAAO,KAAK;AACjC,MAAM,cAAc,aAAa;AAE1B,MAAM,cAAc,wBAAC,OAAY,UAAuC;AAC7E,QAAM,WAA0B;AAChC,WAAS,IAAI,GAAG,IAAI,aAAa,KAAK;AACpC,UAAM,OAAO,aAAa;AAC1B,UAAM,EAAE,WAAW,cAAc,mBAAmB;AACpD,QAAI,UAAU,UAAU,WAAW;AACjC,eAAS,KAAK,oCAAC,WAAD;AAAA,QAAW,KAAK;AAAA,WAAU;AAAA,QAAO,QAAQ;AAAA;AAAA;AAAA;AAG3D,SAAO;AAAA,GATkB;",
6
- "names": []
7
- }
@@ -1,28 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import { useEffect, useRef, useState } from "react";
4
- function useForceUpdate() {
5
- const setState = useState(0)[1];
6
- const internal = useRef();
7
- if (!internal.current) {
8
- internal.current = {
9
- isMounted: true,
10
- update: () => {
11
- if (internal.current.isMounted) {
12
- setState(Math.random());
13
- }
14
- }
15
- };
16
- }
17
- useEffect(() => {
18
- return () => {
19
- internal.current.isMounted = false;
20
- };
21
- }, []);
22
- return internal.current.update;
23
- }
24
- __name(useForceUpdate, "useForceUpdate");
25
- export {
26
- useForceUpdate
27
- };
28
- //# sourceMappingURL=useForceUpdate.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/hooks/useForceUpdate.tsx"],
4
- "sourcesContent": ["import { useEffect, useRef, useState } from 'react'\n\n// ensures no updates after unmount\n\nexport function useForceUpdate() {\n const setState = useState(0)[1]\n const internal = useRef<{ update: Function; isMounted: boolean }>()\n if (!internal.current) {\n internal.current = {\n isMounted: true,\n update: () => {\n if (internal.current!.isMounted) {\n setState(Math.random())\n }\n },\n }\n }\n\n useEffect(() => {\n return () => {\n internal.current!.isMounted = false\n }\n }, [])\n\n return internal.current.update\n}\n"],
5
- "mappings": ";;AAAA;AAIO,0BAA0B;AAC/B,QAAM,WAAW,SAAS,GAAG;AAC7B,QAAM,WAAW;AACjB,MAAI,CAAC,SAAS,SAAS;AACrB,aAAS,UAAU;AAAA,MACjB,WAAW;AAAA,MACX,QAAQ,MAAM;AACZ,YAAI,SAAS,QAAS,WAAW;AAC/B,mBAAS,KAAK;AAAA;AAAA;AAAA;AAAA;AAMtB,YAAU,MAAM;AACd,WAAO,MAAM;AACX,eAAS,QAAS,YAAY;AAAA;AAAA,KAE/B;AAEH,SAAO,SAAS,QAAQ;AAAA;AApBV;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/hooks/useMedia.tsx"],
4
- "sourcesContent": ["import { useForceUpdate } from '@tamagui/use-force-update'\nimport { useRef } from 'react'\n\nimport { useIsomorphicLayoutEffect } from '../constants/platform'\nimport { matchMedia } from '../helpers/matchMedia'\nimport {\n ConfigureMediaQueryOptions,\n MediaQueries,\n MediaQueryObject,\n MediaQueryState,\n} from '../types'\nimport { useConstant } from './useConstant'\n\nexport const mediaState: { [key in keyof MediaQueryState]: boolean } = {} as any\nconst mediaQueryListeners: { [key: string]: Set<Function> } = {}\n\nexport const addMediaQueryListener = (key: string, cb: any) => {\n mediaQueryListeners[key] = mediaQueryListeners[key] || new Set()\n mediaQueryListeners[key].add(cb)\n}\n\nexport const removeMediaQueryListener = (key: string, cb: any) => {\n mediaQueryListeners[key].delete(cb)\n}\n\nlet conf: MediaQueries | null = null\n\nexport const mediaQueryConfig = new Proxy<MediaQueries>({} as any, {\n get(target, key) {\n if (!conf) {\n throw new Error(`Be sure to run configureMedia before accessing mediaQueryConfig`)\n }\n return Reflect.get(conf, key)\n },\n ownKeys() {\n if (!conf) {\n throw new Error(`Be sure to run configureMedia before accessing mediaQueryConfig`)\n }\n return Object.keys(conf)\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n }\n },\n})\n\nexport const getMedia = () => {\n if (!conf) {\n throw new Error(`not configured yet`)\n }\n return mediaState\n}\n\nexport const configureMedia = ({\n queries,\n defaultActive = ['sm', 'xs'],\n}: ConfigureMediaQueryOptions = {}) => {\n if (conf) {\n console.warn(\n `Already configured mediaQueries once (you may have called getMedia() before configureMedia())`\n )\n }\n\n if (queries) {\n conf = queries\n }\n\n // setup\n for (const key in queries) {\n const str = mediaObjectToString(queries[key])\n try {\n const getMatch = () => matchMedia(str)\n const match = getMatch()\n if (!match || typeof match.addListener !== 'function') {\n // caught below\n throw new Error('\u26A0\uFE0F No match (seeing this in RN sometimes)')\n }\n mediaState[key] = !!match.matches\n match.addListener(() => {\n const next = !!getMatch().matches\n if (next === mediaState[key]) return\n mediaState[key] = next\n const listeners = mediaQueryListeners[key]\n if (listeners?.size) {\n for (const cb of [...listeners]) {\n cb()\n }\n }\n })\n } catch (err: any) {\n console.error('Error running media query', str, err.message, err.stack)\n const isDefaultActive = defaultActive?.includes(key as any) ?? true\n mediaState[key] = isDefaultActive\n }\n }\n}\n\ntype UseMediaState = {\n selections: { [key: string]: boolean }\n nextSelections: { [key: string]: boolean }\n isRendering: boolean\n isUnmounted: boolean\n}\n\nexport const useMedia = () => {\n const forceUpdate = useForceUpdate()\n const state = useRef() as React.MutableRefObject<UseMediaState>\n if (!state.current) {\n state.current = {\n selections: {},\n nextSelections: {},\n isUnmounted: false,\n isRendering: true,\n }\n }\n state.current.isRendering = true\n\n // track usage\n useIsomorphicLayoutEffect(() => {\n const st = state.current\n st.isRendering = false\n // delete old\n for (const key in st.selections) {\n if (!(key in st.nextSelections)) {\n removeMediaQueryListener(key, forceUpdate)\n }\n }\n // add new\n for (const key in st.nextSelections) {\n if (!(key in st.selections)) {\n addMediaQueryListener(key, forceUpdate)\n }\n }\n })\n\n // unmount\n useIsomorphicLayoutEffect(() => {\n return () => {\n const st = state.current\n st.isUnmounted = true\n const allKeys = {\n ...st.selections,\n ...st.nextSelections,\n }\n for (const key in allKeys) {\n removeMediaQueryListener(key, forceUpdate)\n }\n }\n }, [])\n\n return useConstant(() => {\n const st = state.current\n return new Proxy(mediaState, {\n get(target, key: string) {\n if (!(key in mediaState)) {\n return Reflect.get(target, key)\n }\n if (!st.isUnmounted) {\n if (st.isRendering) {\n st.nextSelections[key] = true\n }\n }\n if (key in mediaState) {\n return mediaState[key]\n }\n return Reflect.get(mediaState, key)\n },\n })\n })\n}\n\nfunction camelToHyphen(str: string) {\n return str.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`).toLowerCase()\n}\n\nexport function mediaObjectToString(query: string | MediaQueryObject) {\n if (typeof query === 'string') {\n return query\n }\n return Object.entries(query)\n .map(([feature, value]) => {\n feature = camelToHyphen(feature)\n if (typeof value === 'string') {\n return `(${feature}: ${value})`\n }\n if (typeof value === 'number' && /[height|width]$/.test(feature)) {\n value = `${value}px`\n }\n return `(${feature}: ${value})`\n })\n .join(' and ')\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/hooks/useTheme.tsx"],
4
- "sourcesContent": ["import { useForceUpdate } from '@tamagui/use-force-update'\nimport React, { useContext, useEffect, useMemo, useRef, useState } from 'react'\n\nimport { useIsomorphicLayoutEffect } from '../constants/platform'\nimport { Variable } from '../createVariable'\nimport { ThemeName } from '../types'\nimport { ThemeContext } from '../views/ThemeContext'\nimport { ThemeManagerContext } from '../views/ThemeManagerContext'\nimport { GET_DEFAULT_THEME } from '../views/ThemeProvider'\n\ntype UseThemeState = {\n uuid: Object\n keys: Set<string>\n isRendering: boolean\n}\n\nconst areEqualSets = (a: Set<string>, b: Set<string>) => {\n if (a.size !== b.size) return false\n for (const val in a) {\n if (!b.has(val)) {\n return false\n }\n }\n return true\n}\n\nexport const useThemeName = () => {\n const parent = useContext(ThemeManagerContext)\n const [name, setName] = useState(parent.name)\n useEffect(() => {\n return parent.onChangeTheme((next) => {\n setName((prev) => {\n if (prev === next) return prev\n return next\n })\n })\n }, [parent])\n return name || 'light'\n}\n\nexport const useDefaultThemeName = () => {\n return useContext(ThemeContext)[GET_DEFAULT_THEME] as any as ThemeName\n}\n\nexport const useTheme = () => {\n const forceUpdate = useForceUpdate()\n const manager = useContext(ThemeManagerContext)\n const themes = useContext(ThemeContext)\n const state = useRef() as React.MutableRefObject<UseThemeState>\n if (!state.current) {\n state.current = {\n uuid: {},\n keys: new Set(),\n isRendering: true,\n }\n }\n state.current.isRendering = true\n\n // track usage\n useIsomorphicLayoutEffect(() => {\n const st = state.current\n st.isRendering = false\n const cur = manager.keys.get(st.uuid)\n if (!cur || !areEqualSets(st.keys, cur)) {\n manager.track(st.uuid, st.keys)\n }\n })\n\n useEffect(() => {\n return manager.onUpdate(state.current.uuid, forceUpdate)\n }, [])\n\n const theme = (manager.name ? themes[manager.name] : themes.light) ?? themes.light\n\n return useMemo(\n () => {\n return new Proxy(theme, {\n get(_, key: string) {\n const name = manager.name\n if (!name) {\n return Reflect.get(_, key)\n }\n let activeTheme = themes[name]\n if (!activeTheme) {\n console.error('No theme by name', name, 'only:', themes, 'keeping current theme')\n activeTheme = theme\n }\n const val = activeTheme[key]\n if (process.env.NODE_ENV === 'development') {\n if (typeof val === 'undefined') {\n throw new Error(`No theme value \"${String(key)}\" in: ${Object.keys(activeTheme)}`)\n }\n }\n if (state.current.isRendering) {\n state.current.keys.add(key)\n }\n // TODO costly, can make faster (we need name mapping to og name, but val pointing to new val)\n // console.log('returning new variable', val, key)\n return new Variable({ val: val.val, name: key })\n },\n })\n },\n [\n /* if concurrent mode wanted put manager.name here */\n ]\n )\n}\n"],
5
- "mappings": ";;AAAA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAQA,MAAM,eAAe,wBAAC,GAAgB,MAAmB;AACvD,MAAI,EAAE,SAAS,EAAE;AAAM,WAAO;AAC9B,aAAW,OAAO,GAAG;AACnB,QAAI,CAAC,EAAE,IAAI,MAAM;AACf,aAAO;AAAA;AAAA;AAGX,SAAO;AAAA,GAPY;AAUd,MAAM,eAAe,6BAAM;AAChC,QAAM,SAAS,WAAW;AAC1B,QAAM,CAAC,MAAM,WAAW,SAAS,OAAO;AACxC,YAAU,MAAM;AACd,WAAO,OAAO,cAAc,CAAC,SAAS;AACpC,cAAQ,CAAC,SAAS;AAChB,YAAI,SAAS;AAAM,iBAAO;AAC1B,eAAO;AAAA;AAAA;AAAA,KAGV,CAAC;AACJ,SAAO,QAAQ;AAAA,GAXW;AAcrB,MAAM,sBAAsB,6BAAM;AACvC,SAAO,WAAW,cAAc;AAAA,GADC;AAI5B,MAAM,WAAW,6BAAM;AAC5B,QAAM,cAAc;AACpB,QAAM,UAAU,WAAW;AAC3B,QAAM,SAAS,WAAW;AAC1B,QAAM,QAAQ;AACd,MAAI,CAAC,MAAM,SAAS;AAClB,UAAM,UAAU;AAAA,MACd,MAAM;AAAA,MACN,MAAM,IAAI;AAAA,MACV,aAAa;AAAA;AAAA;AAGjB,QAAM,QAAQ,cAAc;AAG5B,4BAA0B,MAAM;AAC9B,UAAM,KAAK,MAAM;AACjB,OAAG,cAAc;AACjB,UAAM,MAAM,QAAQ,KAAK,IAAI,GAAG;AAChC,QAAI,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,MAAM;AACvC,cAAQ,MAAM,GAAG,MAAM,GAAG;AAAA;AAAA;AAI9B,YAAU,MAAM;AACd,WAAO,QAAQ,SAAS,MAAM,QAAQ,MAAM;AAAA,KAC3C;AAEH,QAAM,QAAS,SAAQ,OAAO,OAAO,QAAQ,QAAQ,OAAO,UAAU,OAAO;AAE7E,SAAO,QACL,MAAM;AACJ,WAAO,IAAI,MAAM,OAAO;AAAA,MACtB,IAAI,GAAG,KAAa;AAClB,cAAM,OAAO,QAAQ;AACrB,YAAI,CAAC,MAAM;AACT,iBAAO,QAAQ,IAAI,GAAG;AAAA;AAExB,YAAI,cAAc,OAAO;AACzB,YAAI,CAAC,aAAa;AAChB,kBAAQ,MAAM,oBAAoB,MAAM,SAAS,QAAQ;AACzD,wBAAc;AAAA;AAEhB,cAAM,MAAM,YAAY;AACxB,YAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,cAAI,OAAO,QAAQ,aAAa;AAC9B,kBAAM,IAAI,MAAM,mBAAmB,OAAO,aAAa,OAAO,KAAK;AAAA;AAAA;AAGvE,YAAI,MAAM,QAAQ,aAAa;AAC7B,gBAAM,QAAQ,KAAK,IAAI;AAAA;AAIzB,eAAO,IAAI,SAAS,EAAE,KAAK,IAAI,KAAK,MAAM;AAAA;AAAA;AAAA,KAIhD;AAAA,GA1DoB;",
6
- "names": []
7
- }