@tamagui/web 1.88.13 → 1.88.15

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 (311) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/createComponent.js +2 -2
  3. package/dist/cjs/createComponent.js.map +1 -1
  4. package/dist/cjs/createComponent.native.js +1 -1
  5. package/dist/cjs/createComponent.native.js.map +1 -1
  6. package/dist/cjs/createTamagui.js.map +1 -1
  7. package/dist/cjs/createTamagui.native.js.map +1 -1
  8. package/dist/cjs/createVariables.js.map +1 -1
  9. package/dist/cjs/createVariables.native.js.map +1 -1
  10. package/dist/cjs/helpers/getSplitStyles.js +15 -19
  11. package/dist/cjs/helpers/getSplitStyles.js.map +1 -1
  12. package/dist/cjs/helpers/getSplitStyles.native.js +12 -18
  13. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  14. package/dist/cjs/helpers/getStylesAtomic.js.map +1 -1
  15. package/dist/cjs/helpers/getThemeCSSRules.js.map +1 -1
  16. package/dist/cjs/helpers/insertStyleRule.js +3 -3
  17. package/dist/cjs/helpers/insertStyleRule.js.map +1 -1
  18. package/dist/cjs/helpers/insertStyleRule.native.js +3 -3
  19. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  20. package/dist/cjs/helpers/propMapper.js.map +1 -1
  21. package/dist/cjs/helpers/propMapper.native.js.map +1 -1
  22. package/dist/cjs/helpers/registerCSSVariable.js.map +1 -1
  23. package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -1
  24. package/dist/cjs/hooks/getThemeProxied.js +66 -0
  25. package/dist/cjs/hooks/getThemeProxied.js.map +6 -0
  26. package/dist/cjs/hooks/getThemeProxied.native.js +100 -0
  27. package/dist/cjs/hooks/getThemeProxied.native.js.map +6 -0
  28. package/dist/cjs/hooks/useTheme.js.map +1 -1
  29. package/dist/cjs/hooks/useTheme.native.js.map +1 -1
  30. package/dist/cjs/insertFont.js.map +1 -1
  31. package/dist/cjs/insertFont.native.js.map +1 -1
  32. package/dist/cjs/setupHooks.js.map +1 -1
  33. package/dist/cjs/setupHooks.native.js.map +1 -1
  34. package/dist/cjs/views/FontLanguage.native.js.map +1 -1
  35. package/dist/cjs/views/Slot.js.map +1 -1
  36. package/dist/cjs/views/Slot.native.js.map +1 -1
  37. package/dist/cjs/views/TamaguiProvider.js +5 -5
  38. package/dist/cjs/views/TamaguiProvider.js.map +1 -1
  39. package/dist/cjs/views/TamaguiProvider.native.js +5 -5
  40. package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
  41. package/dist/cjs/views/Theme.js.map +1 -1
  42. package/dist/cjs/views/Theme.native.js.map +1 -1
  43. package/dist/esm/Tamagui.mjs +43 -0
  44. package/dist/esm/config.mjs +51 -0
  45. package/dist/esm/constants/accessibilityDirectMap.mjs +50 -0
  46. package/dist/esm/constants/constants.mjs +16 -0
  47. package/dist/esm/constants/isDevTools.mjs +7 -0
  48. package/dist/esm/contexts/ComponentContext.mjs +13 -0
  49. package/dist/esm/createComponent.js +2 -2
  50. package/dist/esm/createComponent.js.map +1 -1
  51. package/dist/esm/createComponent.mjs +771 -0
  52. package/dist/esm/createComponent.native.js +1 -1
  53. package/dist/esm/createComponent.native.js.map +1 -1
  54. package/dist/esm/createFont.mjs +18 -0
  55. package/dist/esm/createShorthands.mjs +4 -0
  56. package/dist/esm/createTamagui.js.map +1 -1
  57. package/dist/esm/createTamagui.mjs +206 -0
  58. package/dist/esm/createTamagui.native.js.map +1 -1
  59. package/dist/esm/createTheme.mjs +2 -0
  60. package/dist/esm/createTokens.mjs +5 -0
  61. package/dist/esm/createVariable.mjs +48 -0
  62. package/dist/esm/createVariables.js.map +1 -1
  63. package/dist/esm/createVariables.mjs +35 -0
  64. package/dist/esm/createVariables.native.js.map +1 -1
  65. package/dist/esm/defaultComponentState.mjs +16 -0
  66. package/dist/esm/helpers/ThemeManager.mjs +156 -0
  67. package/dist/esm/helpers/ThemeManagerContext.mjs +3 -0
  68. package/dist/esm/helpers/createMediaStyle.mjs +71 -0
  69. package/dist/esm/helpers/createShallowSetState.mjs +17 -0
  70. package/dist/esm/helpers/createStyledContext.mjs +35 -0
  71. package/dist/esm/helpers/defaultOffset.mjs +5 -0
  72. package/dist/esm/helpers/expandStyle.mjs +38 -0
  73. package/dist/esm/helpers/expandStyles.mjs +15 -0
  74. package/dist/esm/helpers/getExpandedShorthands.mjs +9 -0
  75. package/dist/esm/helpers/getFontLanguage.mjs +2 -0
  76. package/dist/esm/helpers/getGroupPropParts.mjs +13 -0
  77. package/dist/esm/helpers/getSplitStyles.js +15 -18
  78. package/dist/esm/helpers/getSplitStyles.js.map +1 -1
  79. package/dist/esm/helpers/getSplitStyles.mjs +638 -0
  80. package/dist/esm/helpers/getSplitStyles.native.js +12 -18
  81. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  82. package/dist/esm/helpers/getStylesAtomic.js +1 -4
  83. package/dist/esm/helpers/getStylesAtomic.js.map +1 -1
  84. package/dist/esm/helpers/getStylesAtomic.mjs +150 -0
  85. package/dist/esm/helpers/getThemeCSSRules.js.map +1 -1
  86. package/dist/esm/helpers/getThemeCSSRules.mjs +87 -0
  87. package/dist/esm/helpers/getVariantExtras.mjs +43 -0
  88. package/dist/esm/helpers/insertStyleRule.js +3 -3
  89. package/dist/esm/helpers/insertStyleRule.js.map +1 -1
  90. package/dist/esm/helpers/insertStyleRule.mjs +177 -0
  91. package/dist/esm/helpers/insertStyleRule.native.js +3 -3
  92. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  93. package/dist/esm/helpers/isObj.mjs +2 -0
  94. package/dist/esm/helpers/isTamaguiComponent.mjs +5 -0
  95. package/dist/esm/helpers/isTamaguiElement.mjs +4 -0
  96. package/dist/esm/helpers/log.mjs +4 -0
  97. package/dist/esm/helpers/matchMedia.mjs +11 -0
  98. package/dist/esm/helpers/mergeProps.mjs +21 -0
  99. package/dist/esm/helpers/mergeVariants.mjs +16 -0
  100. package/dist/esm/helpers/normalizeColor.mjs +17 -0
  101. package/dist/esm/helpers/normalizeShadow.mjs +23 -0
  102. package/dist/esm/helpers/normalizeStyle.mjs +23 -0
  103. package/dist/esm/helpers/normalizeStylePropKeys.mjs +2 -0
  104. package/dist/esm/helpers/normalizeValueWithProperty.mjs +32 -0
  105. package/dist/esm/helpers/objectIdentityKey.mjs +15 -0
  106. package/dist/esm/helpers/propMapper.js.map +1 -1
  107. package/dist/esm/helpers/propMapper.mjs +239 -0
  108. package/dist/esm/helpers/propMapper.native.js.map +1 -1
  109. package/dist/esm/helpers/proxyThemeToParents.mjs +36 -0
  110. package/dist/esm/helpers/proxyThemeVariables.mjs +12 -0
  111. package/dist/esm/helpers/pseudoDescriptors.mjs +34 -0
  112. package/dist/esm/helpers/registerCSSVariable.js.map +1 -1
  113. package/dist/esm/helpers/registerCSSVariable.mjs +7 -0
  114. package/dist/esm/helpers/registerCSSVariable.native.js.map +1 -1
  115. package/dist/esm/helpers/themeable.mjs +33 -0
  116. package/dist/esm/helpers/themes.mjs +14 -0
  117. package/dist/esm/helpers/timer.mjs +8 -0
  118. package/dist/esm/hooks/getThemeProxied.js +52 -0
  119. package/dist/esm/hooks/getThemeProxied.js.map +6 -0
  120. package/dist/esm/hooks/getThemeProxied.mjs +41 -0
  121. package/dist/esm/hooks/getThemeProxied.native.js +100 -0
  122. package/dist/esm/hooks/getThemeProxied.native.js.map +6 -0
  123. package/dist/esm/hooks/useConfiguration.mjs +20 -0
  124. package/dist/esm/hooks/useDisableSSR.mjs +5 -0
  125. package/dist/esm/hooks/useIsTouchDevice.mjs +4 -0
  126. package/dist/esm/hooks/useMedia.mjs +146 -0
  127. package/dist/esm/hooks/useProps.mjs +40 -0
  128. package/dist/esm/hooks/useTheme.js +1 -4
  129. package/dist/esm/hooks/useTheme.js.map +1 -1
  130. package/dist/esm/hooks/useTheme.mjs +222 -0
  131. package/dist/esm/hooks/useTheme.native.js.map +1 -1
  132. package/dist/esm/hooks/useThemeName.mjs +15 -0
  133. package/dist/esm/index.mjs +61 -0
  134. package/dist/esm/inject-styles.mjs +13 -0
  135. package/dist/esm/insertFont.js.map +1 -1
  136. package/dist/esm/insertFont.mjs +44 -0
  137. package/dist/esm/insertFont.native.js.map +1 -1
  138. package/dist/esm/interfaces/CSSColorNames.mjs +0 -0
  139. package/dist/esm/interfaces/GetRef.mjs +0 -0
  140. package/dist/esm/interfaces/KeyTypes.mjs +0 -0
  141. package/dist/esm/interfaces/RNExclusiveTypes.mjs +0 -0
  142. package/dist/esm/interfaces/Role.mjs +0 -0
  143. package/dist/esm/interfaces/TamaguiComponentEvents.mjs +0 -0
  144. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.mjs +0 -0
  145. package/dist/esm/interfaces/TamaguiComponentState.mjs +0 -0
  146. package/dist/esm/interfaces/WebOnlyPressEvents.mjs +0 -0
  147. package/dist/esm/internalWithTheme.mjs +14 -0
  148. package/dist/esm/setupHooks.js.map +1 -1
  149. package/dist/esm/setupHooks.mjs +5 -0
  150. package/dist/esm/setupHooks.native.js.map +1 -1
  151. package/dist/esm/setupReactNative.mjs +24 -0
  152. package/dist/esm/styled.mjs +56 -0
  153. package/dist/esm/type-utils.mjs +0 -0
  154. package/dist/esm/types.mjs +2 -0
  155. package/dist/esm/views/Configuration.mjs +12 -0
  156. package/dist/esm/views/FontLanguage.mjs +13 -0
  157. package/dist/esm/views/FontLanguage.native.js.map +1 -1
  158. package/dist/esm/views/FontLanguage.types.mjs +0 -0
  159. package/dist/esm/views/Slot.js.map +1 -1
  160. package/dist/esm/views/Slot.mjs +53 -0
  161. package/dist/esm/views/Slot.native.js.map +1 -1
  162. package/dist/esm/views/Stack.mjs +10 -0
  163. package/dist/esm/views/TamaguiProvider.js +5 -5
  164. package/dist/esm/views/TamaguiProvider.js.map +1 -1
  165. package/dist/esm/views/TamaguiProvider.mjs +32 -0
  166. package/dist/esm/views/TamaguiProvider.native.js +5 -5
  167. package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
  168. package/dist/esm/views/Text.mjs +64 -0
  169. package/dist/esm/views/Theme.js.map +1 -1
  170. package/dist/esm/views/Theme.mjs +104 -0
  171. package/dist/esm/views/Theme.native.js.map +1 -1
  172. package/dist/esm/views/ThemeDebug.mjs +57 -0
  173. package/dist/esm/views/ThemeProvider.mjs +20 -0
  174. package/dist/esm/views/View.mjs +9 -0
  175. package/package.json +11 -11
  176. package/src/config.ts +1 -1
  177. package/src/contexts/ComponentContext.tsx +1 -1
  178. package/src/createComponent.tsx +7 -5
  179. package/src/createFont.ts +1 -1
  180. package/src/createShorthands.ts +1 -1
  181. package/src/createTamagui.ts +4 -3
  182. package/src/createTokens.ts +2 -2
  183. package/src/createVariables.ts +2 -1
  184. package/src/defaultComponentState.tsx +1 -1
  185. package/src/helpers/ThemeManager.tsx +1 -1
  186. package/src/helpers/createShallowSetState.tsx +2 -2
  187. package/src/helpers/expandStyle.ts +1 -1
  188. package/src/helpers/getExpandedShorthands.ts +1 -1
  189. package/src/helpers/getSplitStyles.tsx +33 -26
  190. package/src/helpers/getStylesAtomic.ts +4 -6
  191. package/src/helpers/getThemeCSSRules.ts +2 -1
  192. package/src/helpers/getVariantExtras.tsx +2 -2
  193. package/src/helpers/insertStyleRule.tsx +8 -3
  194. package/src/helpers/isTamaguiComponent.tsx +1 -1
  195. package/src/helpers/isTamaguiElement.tsx +1 -1
  196. package/src/helpers/matchMedia.native.ts +1 -1
  197. package/src/helpers/matchMedia.ts +1 -1
  198. package/src/helpers/propMapper.ts +2 -1
  199. package/src/helpers/proxyThemeToParents.ts +1 -1
  200. package/src/helpers/registerCSSVariable.ts +3 -2
  201. package/src/helpers/themeable.tsx +1 -1
  202. package/src/hooks/useDisableSSR.tsx +1 -1
  203. package/src/hooks/useProps.tsx +1 -1
  204. package/src/hooks/useTheme.tsx +4 -6
  205. package/src/hooks/useThemeName.tsx +1 -1
  206. package/src/insertFont.ts +4 -3
  207. package/src/interfaces/GetRef.tsx +2 -2
  208. package/src/interfaces/TamaguiComponentPropsBaseBase.tsx +2 -2
  209. package/src/interfaces/TamaguiComponentState.tsx +1 -1
  210. package/src/interfaces/WebOnlyPressEvents.tsx +1 -1
  211. package/src/setupHooks.ts +4 -8
  212. package/src/setupReactNative.ts +1 -1
  213. package/src/styled.tsx +1 -1
  214. package/src/types.tsx +9 -9
  215. package/src/views/FontLanguage.native.tsx +0 -1
  216. package/src/views/FontLanguage.types.ts +2 -2
  217. package/src/views/Slot.tsx +2 -1
  218. package/src/views/TamaguiProvider.tsx +8 -5
  219. package/src/views/Text.tsx +1 -1
  220. package/src/views/Theme.tsx +2 -1
  221. package/src/views/ThemeDebug.native.tsx +2 -2
  222. package/src/views/ThemeDebug.tsx +2 -2
  223. package/types/config.d.ts +1 -1
  224. package/types/config.d.ts.map +1 -1
  225. package/types/contexts/ComponentContext.d.ts +1 -1
  226. package/types/contexts/ComponentContext.d.ts.map +1 -1
  227. package/types/createComponent.d.ts +1 -1
  228. package/types/createComponent.d.ts.map +1 -1
  229. package/types/createFont.d.ts +1 -1
  230. package/types/createFont.d.ts.map +1 -1
  231. package/types/createShorthands.d.ts +1 -1
  232. package/types/createShorthands.d.ts.map +1 -1
  233. package/types/createTamagui.d.ts +1 -1
  234. package/types/createTamagui.d.ts.map +1 -1
  235. package/types/createTokens.d.ts +2 -2
  236. package/types/createTokens.d.ts.map +1 -1
  237. package/types/createVariables.d.ts +1 -1
  238. package/types/createVariables.d.ts.map +1 -1
  239. package/types/defaultComponentState.d.ts +1 -1
  240. package/types/defaultComponentState.d.ts.map +1 -1
  241. package/types/helpers/ThemeManager.d.ts +1 -1
  242. package/types/helpers/ThemeManager.d.ts.map +1 -1
  243. package/types/helpers/createShallowSetState.d.ts +2 -2
  244. package/types/helpers/createShallowSetState.d.ts.map +1 -1
  245. package/types/helpers/expandStyle.d.ts +1 -1
  246. package/types/helpers/expandStyle.d.ts.map +1 -1
  247. package/types/helpers/getExpandedShorthands.d.ts +1 -1
  248. package/types/helpers/getExpandedShorthands.d.ts.map +1 -1
  249. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  250. package/types/helpers/getStylesAtomic.d.ts +2 -2
  251. package/types/helpers/getStylesAtomic.d.ts.map +1 -1
  252. package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
  253. package/types/helpers/getVariantExtras.d.ts +2 -2
  254. package/types/helpers/getVariantExtras.d.ts.map +1 -1
  255. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  256. package/types/helpers/isTamaguiComponent.d.ts +1 -1
  257. package/types/helpers/isTamaguiComponent.d.ts.map +1 -1
  258. package/types/helpers/isTamaguiElement.d.ts +1 -1
  259. package/types/helpers/isTamaguiElement.d.ts.map +1 -1
  260. package/types/helpers/matchMedia.d.ts +1 -1
  261. package/types/helpers/matchMedia.d.ts.map +1 -1
  262. package/types/helpers/matchMedia.native.d.ts +1 -1
  263. package/types/helpers/matchMedia.native.d.ts.map +1 -1
  264. package/types/helpers/propMapper.d.ts.map +1 -1
  265. package/types/helpers/proxyThemeToParents.d.ts +1 -1
  266. package/types/helpers/proxyThemeToParents.d.ts.map +1 -1
  267. package/types/helpers/registerCSSVariable.d.ts +2 -2
  268. package/types/helpers/registerCSSVariable.d.ts.map +1 -1
  269. package/types/helpers/themeable.d.ts +1 -1
  270. package/types/helpers/themeable.d.ts.map +1 -1
  271. package/types/hooks/getThemeProxied.d.ts.map +1 -0
  272. package/types/hooks/useDisableSSR.d.ts +1 -1
  273. package/types/hooks/useDisableSSR.d.ts.map +1 -1
  274. package/types/hooks/useProps.d.ts +1 -1
  275. package/types/hooks/useProps.d.ts.map +1 -1
  276. package/types/hooks/useTheme.d.ts +3 -2
  277. package/types/hooks/useTheme.d.ts.map +1 -1
  278. package/types/hooks/useThemeName.d.ts +1 -1
  279. package/types/hooks/useThemeName.d.ts.map +1 -1
  280. package/types/insertFont.d.ts +2 -2
  281. package/types/insertFont.d.ts.map +1 -1
  282. package/types/interfaces/GetRef.d.ts +2 -2
  283. package/types/interfaces/GetRef.d.ts.map +1 -1
  284. package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts +2 -2
  285. package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts.map +1 -1
  286. package/types/interfaces/TamaguiComponentState.d.ts +1 -1
  287. package/types/interfaces/TamaguiComponentState.d.ts.map +1 -1
  288. package/types/interfaces/WebOnlyPressEvents.d.ts +1 -1
  289. package/types/interfaces/WebOnlyPressEvents.d.ts.map +1 -1
  290. package/types/setupHooks.d.ts +3 -3
  291. package/types/setupHooks.d.ts.map +1 -1
  292. package/types/setupReactNative.d.ts +1 -1
  293. package/types/setupReactNative.d.ts.map +1 -1
  294. package/types/styled.d.ts +1 -1
  295. package/types/styled.d.ts.map +1 -1
  296. package/types/types.d.ts +9 -9
  297. package/types/types.d.ts.map +1 -1
  298. package/types/views/FontLanguage.native.d.ts.map +1 -1
  299. package/types/views/FontLanguage.types.d.ts +2 -2
  300. package/types/views/FontLanguage.types.d.ts.map +1 -1
  301. package/types/views/Slot.d.ts +1 -1
  302. package/types/views/Slot.d.ts.map +1 -1
  303. package/types/views/TamaguiProvider.d.ts.map +1 -1
  304. package/types/views/Text.d.ts +1 -1
  305. package/types/views/Text.d.ts.map +1 -1
  306. package/types/views/Theme.d.ts +1 -1
  307. package/types/views/Theme.d.ts.map +1 -1
  308. package/types/views/ThemeDebug.d.ts +2 -2
  309. package/types/views/ThemeDebug.d.ts.map +1 -1
  310. package/types/views/ThemeDebug.native.d.ts +2 -2
  311. package/types/views/ThemeDebug.native.d.ts.map +1 -1
@@ -0,0 +1,44 @@
1
+ import { setConfigFont } from "./config.mjs";
2
+ import { createFont } from "./createFont.mjs";
3
+ import { createVariables } from "./createVariables.mjs";
4
+ import { registerCSSVariable, variableToCSS } from "./helpers/registerCSSVariable.mjs";
5
+ function insertFont(name, fontIn) {
6
+ const font = createFont(fontIn),
7
+ tokened = createVariables(font, name),
8
+ parsed = parseFont(tokened);
9
+ if (typeof document < "u") {
10
+ const fontVars = registerFontVariables(parsed),
11
+ style = document.createElement("style");
12
+ style.innerText = `:root .font_${name} {${fontVars.join(";")}}`, style.setAttribute("data-tamagui-font", name), document.head.appendChild(style);
13
+ }
14
+ return setConfigFont(name, tokened, parsed), parsed;
15
+ }
16
+ const updateFont = insertFont;
17
+ function parseFont(definition) {
18
+ const parsed = {};
19
+ for (const attrKey in definition) {
20
+ const attr = definition[attrKey];
21
+ if (attrKey === "family" || attrKey === "face") parsed[attrKey] = attr;else {
22
+ parsed[attrKey] = {};
23
+ for (const key in attr) {
24
+ let val = attr[key];
25
+ val.val?.[0] === "$" && (val = val.val), parsed[attrKey][`$${key}`] = val;
26
+ }
27
+ }
28
+ }
29
+ return parsed;
30
+ }
31
+ function registerFontVariables(parsedFont) {
32
+ const response = [];
33
+ for (const fkey in parsedFont) if (fkey !== "face") {
34
+ if (fkey === "family") {
35
+ const val = parsedFont[fkey];
36
+ registerCSSVariable(val), response.push(variableToCSS(val));
37
+ } else for (const fskey in parsedFont[fkey]) if (typeof parsedFont[fkey][fskey] != "string") {
38
+ const val = parsedFont[fkey][fskey];
39
+ registerCSSVariable(val), response.push(variableToCSS(val));
40
+ }
41
+ }
42
+ return response;
43
+ }
44
+ export { insertFont, parseFont, registerFontVariables, updateFont };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/insertFont.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA8B,qBAC9B,oBAA2B,yBAE3B,yBAAoD,8BACpD,6BAAmD;AAM5C,SAAS,WACd,MACA,QACuB;AACvB,QAAM,WAAO,8BAAW,MAAM,GACxB,cAAU,wCAAgB,MAAM,IAAI,GACpC,SAAS,UAAU,OAAO;AAQhC,0CAAc,MAAM,SAAS,MAAM,GAC5B;AACT;AAEO,MAAM,aAAa;AAEnB,SAAS,UAAiC,YAAsC;AA9BvF;AA+BE,QAAM,SAAc,CAAC;AACrB,aAAW,WAAW,YAAY;AAChC,UAAM,OAAO,WAAW,OAAO;AAC/B,QAAI,YAAY,YAAY,YAAY;AACtC,aAAO,OAAO,IAAI;AAAA,SACb;AACL,aAAO,OAAO,IAAI,CAAC;AACnB,iBAAW,OAAO,MAAM;AACtB,YAAI,MAAM,KAAK,GAAG;AAElB,UAAI,SAAI,QAAJ,mBAAU,QAAO,QACnB,MAAM,IAAI,MAEZ,OAAO,OAAO,EAAE,IAAI,GAAG,EAAE,IAAI;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,sBAAsB,YAAiB;AACrD,QAAM,WAAqB,CAAC;AAE5B,aAAW,QAAQ;AACjB,QAAI,SAAS;AACb,UAAI,SAAS,UAAU;AACrB,cAAM,MAAM,WAAW,IAAI;AAC3B,4DAAoB,GAAG,GACvB,SAAS,SAAK,0CAAc,GAAG,CAAC;AAAA,MAClC;AACE,mBAAW,SAAS,WAAW,IAAI;AAEjC,cAAI,OADS,WAAW,IAAI,EAAE,KAAK,KACf,UAEb;AACL,kBAAM,MAAM,WAAW,IAAI,EAAE,KAAK;AAClC,gEAAoB,GAAG,GACvB,SAAS,SAAK,0CAAc,GAAG,CAAC;AAAA,UAClC;AAAA;AAIN,SAAO;AACT;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA8B,qBAC9B,oBAA2B,yBAG3B,yBAAgC,8BAChC,6BAAmD;AAM5C,SAAS,WACd,MACA,QACuB;AACvB,QAAM,WAAO,8BAAW,MAAM,GACxB,cAAU,wCAAgB,MAAM,IAAI,GACpC,SAAS,UAAU,OAAO;AAQhC,0CAAc,MAAM,SAAS,MAAM,GAC5B;AACT;AAEO,MAAM,aAAa;AAEnB,SAAS,UAAiC,YAAsC;AA/BvF;AAgCE,QAAM,SAAc,CAAC;AACrB,aAAW,WAAW,YAAY;AAChC,UAAM,OAAO,WAAW,OAAO;AAC/B,QAAI,YAAY,YAAY,YAAY;AACtC,aAAO,OAAO,IAAI;AAAA,SACb;AACL,aAAO,OAAO,IAAI,CAAC;AACnB,iBAAW,OAAO,MAAM;AACtB,YAAI,MAAM,KAAK,GAAG;AAElB,UAAI,SAAI,QAAJ,mBAAU,QAAO,QACnB,MAAM,IAAI,MAEZ,OAAO,OAAO,EAAE,IAAI,GAAG,EAAE,IAAI;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,sBAAsB,YAAiB;AACrD,QAAM,WAAqB,CAAC;AAE5B,aAAW,QAAQ;AACjB,QAAI,SAAS;AACb,UAAI,SAAS,UAAU;AACrB,cAAM,MAAM,WAAW,IAAI;AAC3B,4DAAoB,GAAG,GACvB,SAAS,SAAK,0CAAc,GAAG,CAAC;AAAA,MAClC;AACE,mBAAW,SAAS,WAAW,IAAI;AAEjC,cAAI,OADS,WAAW,IAAI,EAAE,KAAK,KACf,UAEb;AACL,kBAAM,MAAM,WAAW,IAAI,EAAE,KAAK;AAClC,gEAAoB,GAAG,GACvB,SAAS,SAAK,0CAAc,GAAG,CAAC;AAAA,UAClC;AAAA;AAIN,SAAO;AACT;",
5
5
  "names": []
6
6
  }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,14 @@
1
+ import { useTheme } from "./hooks/useTheme.mjs";
2
+ import { jsx } from "react/jsx-runtime";
3
+ const internalWithTheme = (Component, styleProvider) => props => {
4
+ const {
5
+ expressions,
6
+ ...rest
7
+ } = props,
8
+ theme = useTheme();
9
+ return /* @__PURE__ */jsx(Component, {
10
+ style: styleProvider(theme, expressions),
11
+ ...rest
12
+ });
13
+ };
14
+ export { internalWithTheme };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/setupHooks.ts"],
4
- "mappings": "AAWO,MAAM,QAAuB,CAAC;AAG9B,SAAS,WAAW,MAAqB;AAC9C,SAAO,OAAO,OAAO,IAAI;AAC3B;",
4
+ "mappings": "AAOO,MAAM,QAAuB,CAAC;AAG9B,SAAS,WAAW,MAAqB;AAC9C,SAAO,OAAO,OAAO,IAAI;AAC3B;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,5 @@
1
+ const hooks = {};
2
+ function setupHooks(next) {
3
+ Object.assign(hooks, next);
4
+ }
5
+ export { hooks, setupHooks };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/setupHooks.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,QAAuB,CAAC;AAG9B,SAAS,WAAW,MAAqB;AAC9C,SAAO,OAAO,OAAO,IAAI;AAC3B;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOO,MAAM,QAAuB,CAAC;AAG9B,SAAS,WAAW,MAAqB;AAC9C,SAAO,OAAO,OAAO,IAAI;AAC3B;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,24 @@
1
+ const ReactNativeStaticConfigs = /* @__PURE__ */new WeakMap();
2
+ function getReactNativeConfig(Component) {
3
+ if (Component) return Component.getSize && Component.prefetch ? RNConfigs.Image : Component.displayName === "Text" && Component.render ? RNConfigs.Text : Component.render && (Component.displayName === "ScrollView" || Component.displayName === "View") ? RNConfigs.default : Component.State?.blurTextInput ? RNConfigs.TextInput : ReactNativeStaticConfigs.get(Component);
4
+ }
5
+ const RNConfigs = {
6
+ Image: {
7
+ isReactNative: !0,
8
+ inlineProps: /* @__PURE__ */new Set(["src", "width", "height"])
9
+ },
10
+ Text: {
11
+ isReactNative: !0,
12
+ isText: !0
13
+ },
14
+ TextInput: {
15
+ isReactNative: !0,
16
+ isInput: !0,
17
+ isText: !0
18
+ },
19
+ default: {
20
+ isReactNative: !0
21
+ }
22
+ };
23
+ function setupReactNative(rnExports) {}
24
+ export { getReactNativeConfig, setupReactNative };
@@ -0,0 +1,56 @@
1
+ import { createComponent } from "./createComponent.mjs";
2
+ import { mergeVariants } from "./helpers/mergeVariants.mjs";
3
+ import { getReactNativeConfig } from "./setupReactNative.mjs";
4
+ function styled(ComponentIn, options, staticExtractionOptions) {
5
+ if (process.env.NODE_ENV !== "production" && !ComponentIn) throw new Error("No component given to styled()");
6
+ const parentStaticConfig = ComponentIn.staticConfig,
7
+ isPlainStyledComponent = !!parentStaticConfig && !(parentStaticConfig.isReactNative || parentStaticConfig.isHOC);
8
+ let Component = parentStaticConfig?.isHOC && !parentStaticConfig?.isStyledHOC || isPlainStyledComponent ? ComponentIn : parentStaticConfig?.Component || ComponentIn;
9
+ const reactNativeConfig = parentStaticConfig ? void 0 : getReactNativeConfig(Component),
10
+ isReactNative = !!(reactNativeConfig || staticExtractionOptions?.isReactNative || parentStaticConfig?.isReactNative),
11
+ staticConfigProps = (() => {
12
+ if (options) {
13
+ let {
14
+ variants,
15
+ name,
16
+ defaultVariants,
17
+ acceptsClassName: acceptsClassNameProp,
18
+ context,
19
+ ...defaultProps
20
+ } = options;
21
+ defaultVariants && (defaultProps = {
22
+ ...defaultVariants,
23
+ ...defaultProps
24
+ }), parentStaticConfig && (parentStaticConfig.isHOC && !parentStaticConfig.isStyledHOC || (defaultProps = {
25
+ ...parentStaticConfig.defaultProps,
26
+ ...defaultProps
27
+ }, parentStaticConfig.variants && (variants = mergeVariants(parentStaticConfig.variants, variants)))), parentStaticConfig?.isHOC && name && (defaultProps.componentName = name);
28
+ const isText = !!(staticExtractionOptions?.isText || parentStaticConfig?.isText),
29
+ acceptsClassName = acceptsClassNameProp ?? (isPlainStyledComponent || isReactNative || parentStaticConfig?.isHOC && parentStaticConfig?.acceptsClassName),
30
+ conf = {
31
+ ...parentStaticConfig,
32
+ ...staticExtractionOptions,
33
+ ...(!isPlainStyledComponent && {
34
+ Component
35
+ }),
36
+ // @ts-expect-error
37
+ variants,
38
+ defaultProps,
39
+ defaultVariants,
40
+ componentName: name || parentStaticConfig?.componentName,
41
+ isReactNative,
42
+ isText,
43
+ acceptsClassName,
44
+ context,
45
+ ...reactNativeConfig,
46
+ isStyledHOC: !!parentStaticConfig?.isHOC,
47
+ parentStaticConfig
48
+ };
49
+ return (defaultProps.children || !acceptsClassName || context) && (conf.neverFlatten = !0), conf;
50
+ }
51
+ })(),
52
+ component = createComponent(staticConfigProps || {});
53
+ for (const key in ComponentIn) key in component || (component[key] = ComponentIn[key]);
54
+ return component;
55
+ }
56
+ export { styled };
File without changes
@@ -0,0 +1,2 @@
1
+ export * from "./interfaces/KeyTypes.mjs";
2
+ export * from "./interfaces/TamaguiComponentState.mjs";
@@ -0,0 +1,12 @@
1
+ import { useContext } from "react";
2
+ import { ComponentContext } from "../contexts/ComponentContext.mjs";
3
+ import { jsx } from "react/jsx-runtime";
4
+ const Configuration = props => {
5
+ const current = useContext(ComponentContext);
6
+ return /* @__PURE__ */jsx(ComponentContext.Provider, {
7
+ ...current,
8
+ ...props
9
+ });
10
+ };
11
+ Configuration.displayName = "Configuration";
12
+ export { Configuration };
@@ -0,0 +1,13 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ const FontLanguage = ({
3
+ children,
4
+ ...props
5
+ }) => /* @__PURE__ */jsx("div", {
6
+ style: {
7
+ display: "contents"
8
+ },
9
+ className: Object.entries(props).map(([name, language]) => `t_lang-${name}-${language}`).join(" "),
10
+ children
11
+ });
12
+ FontLanguage.displayName = "FontLanguage";
13
+ export { FontLanguage };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/FontLanguage.native.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwB,kBAExB,0BAAiC,yCAO7B;AAJG,MAAM,eAAe,CAAC,EAAE,UAAU,GAAG,MAAM,MAAyB;AAEzE,QAAM,eAAW,sBAAQ,MAAM,OAAO,CAAC,KAAK,UAAU,KAAK,CAAC,CAAC;AAC7D,SACE,4CAAC,yCAAiB,UAAjB,EAA0B,UAAqB,UAAS;AAE7D;AAEA,aAAa,cAAiB;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwB,kBAExB,0BAAiC,yCAM7B;AAHG,MAAM,eAAe,CAAC,EAAE,UAAU,GAAG,MAAM,MAAyB;AACzE,QAAM,eAAW,sBAAQ,MAAM,OAAO,CAAC,KAAK,UAAU,KAAK,CAAC,CAAC;AAC7D,SACE,4CAAC,yCAAiB,UAAjB,EAA0B,UAAqB,UAAS;AAE7D;AAEA,aAAa,cAAiB;",
5
5
  "names": []
6
6
  }
File without changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/Slot.tsx"],
4
- "mappings": "AAEA,SAAS,mBAAmB;AAC5B,SAAS,aAAa;AACtB,SAAS,4BAA4B;AACrC,SAAS,UAAqB,cAAc,YAAY,sBAAsB;AAoCrE;AA1BF,MAAM,OAAO,WAA2B,SAAc,OAAO,cAAc;AAChF,QAAM,EAAE,UAAU,GAAG,UAAU,IAAI;AAEnC,MAAI,eAAe,QAAQ,GAAG;AAC5B,UAAM,cAAc,eAAe,UAAU,SAAS;AACtD,WAAO;AAAA,MACL;AAAA,MACA,SAAS,KAAK,kBACV,cACA;AAAA,QACE,GAAG;AAAA,QACH,KAAK,YAAY,cAAe,SAAiB,GAAG;AAAA,MACtD;AAAA,IACN;AAAA,EACF;AAEA,SAAO,SAAS,MAAM,QAAQ,IAAI,IAAI,SAAS,KAAK,IAAI,IAAI;AAC9D,CAAC;AAED,KAAK,cAAiB;AAMf,MAAM,YAAY,CAAC,EAAE,SAAS,MAC5B,gCAAG,UAAS;AAGrB,UAAU,cAAiB;AAI3B,MAAM,WAAW,QACb;AAAA,EACE,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,WAAW;AACb,IACA,CAAC;AAEL,SAAS,eAAe,OAAY,WAAgC;AAClE,QAAM,aAAa,MAAM,OAGnB,gBAAgB,EAAE,GAAG,WAAW,GAChC,cAAc,OAAO,MAAM,QAAS;AAE1C,MAAI;AACF,eAAW,OAAO;AAChB,MAAI,OAAO,cACT,UAAU,SAAS,GAAG,CAAC,IAAI,UAAU,GAAG,GACxC,OAAO,UAAU,GAAG;AAK1B,WAAS,YAAY,YAAY;AAC/B,UAAM,gBAAgB,UAAU,QAAQ,GAClC,iBAAiB,WAAW,QAAQ;AAE1C,IAAI,eAAe,YAAY,aAC7B,WAAW,SAAS,QAAQ,GAC5B,OAAO,cAAc,QAAQ,IAGb,YAAY,KAAK,QAAQ,IAGzC,cAAc,QAAQ,IAAI,qBAAqB,gBAAgB,aAAa,IAGrE,aAAa,UACpB,cAAc,QAAQ,IAAI,EAAE,GAAG,eAAe,GAAG,eAAe,IACvD,aAAa,gBACtB,cAAc,QAAQ,IAAI,CAAC,eAAe,cAAc,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,EAEtF;AAEA,SAAO,EAAE,GAAG,WAAW,GAAG,cAAc;AAC1C;AAEA,MAAM,cAAc;",
4
+ "mappings": "AAEA,SAAS,mBAAmB;AAC5B,SAAS,aAAa;AACtB,SAAS,4BAA4B;AAErC,SAAS,UAAU,cAAc,YAAY,sBAAsB;AAoC1D;AA1BF,MAAM,OAAO,WAA2B,SAAc,OAAO,cAAc;AAChF,QAAM,EAAE,UAAU,GAAG,UAAU,IAAI;AAEnC,MAAI,eAAe,QAAQ,GAAG;AAC5B,UAAM,cAAc,eAAe,UAAU,SAAS;AACtD,WAAO;AAAA,MACL;AAAA,MACA,SAAS,KAAK,kBACV,cACA;AAAA,QACE,GAAG;AAAA,QACH,KAAK,YAAY,cAAe,SAAiB,GAAG;AAAA,MACtD;AAAA,IACN;AAAA,EACF;AAEA,SAAO,SAAS,MAAM,QAAQ,IAAI,IAAI,SAAS,KAAK,IAAI,IAAI;AAC9D,CAAC;AAED,KAAK,cAAiB;AAMf,MAAM,YAAY,CAAC,EAAE,SAAS,MAC5B,gCAAG,UAAS;AAGrB,UAAU,cAAiB;AAI3B,MAAM,WAAW,QACb;AAAA,EACE,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,WAAW;AACb,IACA,CAAC;AAEL,SAAS,eAAe,OAAY,WAAgC;AAClE,QAAM,aAAa,MAAM,OAGnB,gBAAgB,EAAE,GAAG,WAAW,GAChC,cAAc,OAAO,MAAM,QAAS;AAE1C,MAAI;AACF,eAAW,OAAO;AAChB,MAAI,OAAO,cACT,UAAU,SAAS,GAAG,CAAC,IAAI,UAAU,GAAG,GACxC,OAAO,UAAU,GAAG;AAK1B,WAAS,YAAY,YAAY;AAC/B,UAAM,gBAAgB,UAAU,QAAQ,GAClC,iBAAiB,WAAW,QAAQ;AAE1C,IAAI,eAAe,YAAY,aAC7B,WAAW,SAAS,QAAQ,GAC5B,OAAO,cAAc,QAAQ,IAGb,YAAY,KAAK,QAAQ,IAGzC,cAAc,QAAQ,IAAI,qBAAqB,gBAAgB,aAAa,IAGrE,aAAa,UACpB,cAAc,QAAQ,IAAI,EAAE,GAAG,eAAe,GAAG,eAAe,IACvD,aAAa,gBACtB,cAAc,QAAQ,IAAI,CAAC,eAAe,cAAc,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,EAEtF;AAEA,SAAO,EAAE,GAAG,WAAW,GAAG,cAAc;AAC1C;AAEA,MAAM,cAAc;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,53 @@
1
+ import { composeRefs } from "@tamagui/compose-refs";
2
+ import { isWeb } from "@tamagui/constants";
3
+ import { composeEventHandlers } from "@tamagui/helpers";
4
+ import { Children, cloneElement, forwardRef, isValidElement } from "react";
5
+ import { Fragment, jsx } from "react/jsx-runtime";
6
+ const Slot = forwardRef(function (props, forwardedRef) {
7
+ const {
8
+ children,
9
+ ...slotProps
10
+ } = props;
11
+ if (isValidElement(children)) {
12
+ const mergedProps = mergeSlotProps(children, slotProps);
13
+ return cloneElement(children, children.type.avoidForwardRef ? mergedProps : {
14
+ ...mergedProps,
15
+ ref: composeRefs(forwardedRef, children.ref)
16
+ });
17
+ }
18
+ return Children.count(children) > 1 ? Children.only(null) : null;
19
+ });
20
+ Slot.displayName = "Slot";
21
+ const Slottable = ({
22
+ children
23
+ }) => /* @__PURE__ */jsx(Fragment, {
24
+ children
25
+ });
26
+ Slottable.displayName = "Slottable";
27
+ const pressMap = isWeb ? {
28
+ onPress: "onClick",
29
+ onPressOut: "onMouseUp",
30
+ onPressIn: "onMouseDown"
31
+ } : {};
32
+ function mergeSlotProps(child, slotProps) {
33
+ const childProps = child.props,
34
+ overrideProps = {
35
+ ...childProps
36
+ },
37
+ isHTMLChild = typeof child.type == "string";
38
+ if (isHTMLChild) for (const key in pressMap) key in slotProps && (slotProps[pressMap[key]] = slotProps[key], delete slotProps[key]);
39
+ for (let propName in childProps) {
40
+ const slotPropValue = slotProps[propName],
41
+ childPropValue = childProps[propName];
42
+ isHTMLChild && propName in pressMap && (propName = pressMap[propName], delete overrideProps[propName]), handleRegex.test(propName) ? overrideProps[propName] = composeEventHandlers(childPropValue, slotPropValue) : propName === "style" ? overrideProps[propName] = {
43
+ ...slotPropValue,
44
+ ...childPropValue
45
+ } : propName === "className" && (overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" "));
46
+ }
47
+ return {
48
+ ...slotProps,
49
+ ...overrideProps
50
+ };
51
+ }
52
+ const handleRegex = /^on[A-Z]/;
53
+ export { Slot, Slottable };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/Slot.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,0BAA4B,kCAC5B,mBAAsB,+BACtB,iBAAqC,6BACrC,eAA8E,kBAoCrE;AA1BF,MAAM,WAAO,yBAA2B,SAAc,OAAO,cAAc;AAChF,QAAM,EAAE,UAAU,GAAG,UAAU,IAAI;AAEnC,UAAI,6BAAe,QAAQ,GAAG;AAC5B,UAAM,cAAc,eAAe,UAAU,SAAS;AACtD,eAAO;AAAA,MACL;AAAA,MACA,SAAS,KAAK,kBACV,cACA;AAAA,QACE,GAAG;AAAA,QACH,SAAK,iCAAY,cAAe,SAAiB,GAAG;AAAA,MACtD;AAAA,IACN;AAAA,EACF;AAEA,SAAO,sBAAS,MAAM,QAAQ,IAAI,IAAI,sBAAS,KAAK,IAAI,IAAI;AAC9D,CAAC;AAED,KAAK,cAAiB;AAMf,MAAM,YAAY,CAAC,EAAE,SAAS,MAC5B,2EAAG,UAAS;AAGrB,UAAU,cAAiB;AAI3B,MAAM,WAAW,yBACb;AAAA,EACE,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,WAAW;AACb,IACA,CAAC;AAEL,SAAS,eAAe,OAAY,WAAgC;AAClE,QAAM,aAAa,MAAM,OAGnB,gBAAgB,EAAE,GAAG,WAAW,GAChC,cAAc,OAAO,MAAM,QAAS;AAE1C,MAAI;AACF,eAAW,OAAO;AAChB,MAAI,OAAO,cACT,UAAU,SAAS,GAAG,CAAC,IAAI,UAAU,GAAG,GACxC,OAAO,UAAU,GAAG;AAK1B,WAAS,YAAY,YAAY;AAC/B,UAAM,gBAAgB,UAAU,QAAQ,GAClC,iBAAiB,WAAW,QAAQ;AAE1C,IAAI,eAAe,YAAY,aAC7B,WAAW,SAAS,QAAQ,GAC5B,OAAO,cAAc,QAAQ,IAGb,YAAY,KAAK,QAAQ,IAGzC,cAAc,QAAQ,QAAI,qCAAqB,gBAAgB,aAAa,IAGrE,aAAa,UACpB,cAAc,QAAQ,IAAI,EAAE,GAAG,eAAe,GAAG,eAAe,IACvD,aAAa,gBACtB,cAAc,QAAQ,IAAI,CAAC,eAAe,cAAc,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,EAEtF;AAEA,SAAO,EAAE,GAAG,WAAW,GAAG,cAAc;AAC1C;AAEA,MAAM,cAAc;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,0BAA4B,kCAC5B,mBAAsB,+BACtB,iBAAqC,6BAErC,eAAmE,kBAoC1D;AA1BF,MAAM,WAAO,yBAA2B,SAAc,OAAO,cAAc;AAChF,QAAM,EAAE,UAAU,GAAG,UAAU,IAAI;AAEnC,UAAI,6BAAe,QAAQ,GAAG;AAC5B,UAAM,cAAc,eAAe,UAAU,SAAS;AACtD,eAAO;AAAA,MACL;AAAA,MACA,SAAS,KAAK,kBACV,cACA;AAAA,QACE,GAAG;AAAA,QACH,SAAK,iCAAY,cAAe,SAAiB,GAAG;AAAA,MACtD;AAAA,IACN;AAAA,EACF;AAEA,SAAO,sBAAS,MAAM,QAAQ,IAAI,IAAI,sBAAS,KAAK,IAAI,IAAI;AAC9D,CAAC;AAED,KAAK,cAAiB;AAMf,MAAM,YAAY,CAAC,EAAE,SAAS,MAC5B,2EAAG,UAAS;AAGrB,UAAU,cAAiB;AAI3B,MAAM,WAAW,yBACb;AAAA,EACE,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,WAAW;AACb,IACA,CAAC;AAEL,SAAS,eAAe,OAAY,WAAgC;AAClE,QAAM,aAAa,MAAM,OAGnB,gBAAgB,EAAE,GAAG,WAAW,GAChC,cAAc,OAAO,MAAM,QAAS;AAE1C,MAAI;AACF,eAAW,OAAO;AAChB,MAAI,OAAO,cACT,UAAU,SAAS,GAAG,CAAC,IAAI,UAAU,GAAG,GACxC,OAAO,UAAU,GAAG;AAK1B,WAAS,YAAY,YAAY;AAC/B,UAAM,gBAAgB,UAAU,QAAQ,GAClC,iBAAiB,WAAW,QAAQ;AAE1C,IAAI,eAAe,YAAY,aAC7B,WAAW,SAAS,QAAQ,GAC5B,OAAO,cAAc,QAAQ,IAGb,YAAY,KAAK,QAAQ,IAGzC,cAAc,QAAQ,QAAI,qCAAqB,gBAAgB,aAAa,IAGrE,aAAa,UACpB,cAAc,QAAQ,IAAI,EAAE,GAAG,eAAe,GAAG,eAAe,IACvD,aAAa,gBACtB,cAAc,QAAQ,IAAI,CAAC,eAAe,cAAc,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,EAEtF;AAEA,SAAO,EAAE,GAAG,WAAW,GAAG,cAAc;AAC1C;AAEA,MAAM,cAAc;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,10 @@
1
+ import { validStyles } from "@tamagui/helpers";
2
+ import { stackDefaultStyles } from "../constants/constants.mjs";
3
+ import { createComponent } from "../createComponent.mjs";
4
+ const Stack = createComponent({
5
+ acceptsClassName: !0,
6
+ defaultProps: stackDefaultStyles,
7
+ validStyles
8
+ });
9
+ Stack.displayName = "Stack";
10
+ export { Stack };
@@ -11,19 +11,19 @@ function TamaguiProvider({
11
11
  ...themePropsProvider
12
12
  }) {
13
13
  return setupMediaListeners(), isClient && React.useLayoutEffect(() => {
14
- if (config.disableSSR || document.documentElement.classList.contains("t_unmounted") && document.documentElement.classList.remove("t_unmounted"), !disableInjectCSS) {
14
+ if (config && (config.disableSSR || document.documentElement.classList.contains("t_unmounted") && document.documentElement.classList.remove("t_unmounted"), !disableInjectCSS)) {
15
15
  const style = document.createElement("style");
16
16
  return style.appendChild(document.createTextNode(config.getCSS())), document.head.appendChild(style), () => {
17
17
  document.head.removeChild(style);
18
18
  };
19
19
  }
20
- }, [config, disableInjectCSS]), /* @__PURE__ */ jsx(ComponentContext.Provider, { animationDriver: config.animations, children: /* @__PURE__ */ jsx(
20
+ }, [config, disableInjectCSS]), /* @__PURE__ */ jsx(ComponentContext.Provider, { animationDriver: config?.animations, children: /* @__PURE__ */ jsx(
21
21
  ThemeProvider,
22
22
  {
23
- themeClassNameOnRoot: config.themeClassNameOnRoot,
24
- disableRootThemeClass: config.disableRootThemeClass,
23
+ themeClassNameOnRoot: config?.themeClassNameOnRoot,
24
+ disableRootThemeClass: config?.disableRootThemeClass,
25
25
  ...themePropsProvider,
26
- defaultTheme: themePropsProvider.defaultTheme ?? Object.keys(config.themes)[0],
26
+ defaultTheme: themePropsProvider.defaultTheme ?? (config ? Object.keys(config.themes)[0] : ""),
27
27
  children
28
28
  }
29
29
  ) });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/TamaguiProvider.tsx"],
4
- "mappings": "AAAA,SAAS,gBAAgB;AACzB,YAAY,WAAW;AAEvB,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AAEpC,SAAS,qBAAqB;AAmCxB;AAjCC,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAyB;AACvB,6BAAoB,GAEhB,YAGF,MAAM,gBAAgB,MAAM;AAS1B,QARK,OAAO,cAGN,SAAS,gBAAgB,UAAU,SAAS,aAAa,KAC3D,SAAS,gBAAgB,UAAU,OAAO,aAAa,GAIvD,CAAC,kBAAkB;AACrB,YAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,mBAAM,YAAY,SAAS,eAAe,OAAO,OAAO,CAAC,CAAC,GAC1D,SAAS,KAAK,YAAY,KAAK,GACxB,MAAM;AACX,iBAAS,KAAK,YAAY,KAAK;AAAA,MACjC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,gBAAgB,CAAC,GAI7B,oBAAC,iBAAiB,UAAjB,EAA0B,iBAAiB,OAAO,YACjD;AAAA,IAAC;AAAA;AAAA,MACC,sBAAsB,OAAO;AAAA,MAC7B,uBAAuB,OAAO;AAAA,MAC7B,GAAG;AAAA,MACJ,cAAc,mBAAmB,gBAAgB,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC;AAAA,MAE5E;AAAA;AAAA,EACH,GACF;AAEJ;AAEA,gBAAgB,cAAiB;",
4
+ "mappings": "AAAA,SAAS,gBAAgB;AACzB,YAAY,WAAW;AAEvB,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AAEpC,SAAS,qBAAqB;AAoCxB;AAlCC,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAyB;AACvB,6BAAoB,GAEhB,YAGF,MAAM,gBAAgB,MAAM;AAC1B,QAAK,WACA,OAAO,cAGN,SAAS,gBAAgB,UAAU,SAAS,aAAa,KAC3D,SAAS,gBAAgB,UAAU,OAAO,aAAa,GAIvD,CAAC,mBAAkB;AACrB,YAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,mBAAM,YAAY,SAAS,eAAe,OAAO,OAAO,CAAC,CAAC,GAC1D,SAAS,KAAK,YAAY,KAAK,GACxB,MAAM;AACX,iBAAS,KAAK,YAAY,KAAK;AAAA,MACjC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,gBAAgB,CAAC,GAI7B,oBAAC,iBAAiB,UAAjB,EAA0B,iBAAiB,QAAQ,YAClD;AAAA,IAAC;AAAA;AAAA,MACC,sBAAsB,QAAQ;AAAA,MAC9B,uBAAuB,QAAQ;AAAA,MAC9B,GAAG;AAAA,MACJ,cACE,mBAAmB,iBAAiB,SAAS,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC,IAAI;AAAA,MAG9E;AAAA;AAAA,EACH,GACF;AAEJ;AAEA,gBAAgB,cAAiB;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,32 @@
1
+ import { isClient } from "@tamagui/constants";
2
+ import * as React from "react";
3
+ import { ComponentContext } from "../contexts/ComponentContext.mjs";
4
+ import { setupMediaListeners } from "../hooks/useMedia.mjs";
5
+ import { ThemeProvider } from "./ThemeProvider.mjs";
6
+ import { jsx } from "react/jsx-runtime";
7
+ function TamaguiProvider({
8
+ children,
9
+ disableInjectCSS,
10
+ config,
11
+ ...themePropsProvider
12
+ }) {
13
+ return setupMediaListeners(), isClient && React.useLayoutEffect(() => {
14
+ if (config && (config.disableSSR || document.documentElement.classList.contains("t_unmounted") && document.documentElement.classList.remove("t_unmounted"), !disableInjectCSS)) {
15
+ const style = document.createElement("style");
16
+ return style.appendChild(document.createTextNode(config.getCSS())), document.head.appendChild(style), () => {
17
+ document.head.removeChild(style);
18
+ };
19
+ }
20
+ }, [config, disableInjectCSS]), /* @__PURE__ */jsx(ComponentContext.Provider, {
21
+ animationDriver: config?.animations,
22
+ children: /* @__PURE__ */jsx(ThemeProvider, {
23
+ themeClassNameOnRoot: config?.themeClassNameOnRoot,
24
+ disableRootThemeClass: config?.disableRootThemeClass,
25
+ ...themePropsProvider,
26
+ defaultTheme: themePropsProvider.defaultTheme ?? (config ? Object.keys(config.themes)[0] : ""),
27
+ children
28
+ })
29
+ });
30
+ }
31
+ TamaguiProvider.displayName = "TamaguiProvider";
32
+ export { TamaguiProvider };
@@ -34,19 +34,19 @@ function TamaguiProvider({
34
34
  ...themePropsProvider
35
35
  }) {
36
36
  return (0, import_useMedia.setupMediaListeners)(), import_constants.isClient && React.useLayoutEffect(() => {
37
- if (config.disableSSR || document.documentElement.classList.contains("t_unmounted") && document.documentElement.classList.remove("t_unmounted"), !disableInjectCSS) {
37
+ if (config && (config.disableSSR || document.documentElement.classList.contains("t_unmounted") && document.documentElement.classList.remove("t_unmounted"), !disableInjectCSS)) {
38
38
  const style = document.createElement("style");
39
39
  return style.appendChild(document.createTextNode(config.getCSS())), document.head.appendChild(style), () => {
40
40
  document.head.removeChild(style);
41
41
  };
42
42
  }
43
- }, [config, disableInjectCSS]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, { animationDriver: config.animations, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
43
+ }, [config, disableInjectCSS]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, { animationDriver: config == null ? void 0 : config.animations, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
44
44
  import_ThemeProvider.ThemeProvider,
45
45
  {
46
- themeClassNameOnRoot: config.themeClassNameOnRoot,
47
- disableRootThemeClass: config.disableRootThemeClass,
46
+ themeClassNameOnRoot: config == null ? void 0 : config.themeClassNameOnRoot,
47
+ disableRootThemeClass: config == null ? void 0 : config.disableRootThemeClass,
48
48
  ...themePropsProvider,
49
- defaultTheme: themePropsProvider.defaultTheme ?? Object.keys(config.themes)[0],
49
+ defaultTheme: themePropsProvider.defaultTheme ?? (config ? Object.keys(config.themes)[0] : ""),
50
50
  children
51
51
  }
52
52
  ) });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/TamaguiProvider.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAyB,+BACzB,QAAuB,2BAEvB,0BAAiC,yCACjC,kBAAoC,8BAEpC,uBAA8B,4BAmCxB;AAjCC,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAyB;AACvB,kDAAoB,GAEhB,6BAGF,MAAM,gBAAgB,MAAM;AAS1B,QARK,OAAO,cAGN,SAAS,gBAAgB,UAAU,SAAS,aAAa,KAC3D,SAAS,gBAAgB,UAAU,OAAO,aAAa,GAIvD,CAAC,kBAAkB;AACrB,YAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,mBAAM,YAAY,SAAS,eAAe,OAAO,OAAO,CAAC,CAAC,GAC1D,SAAS,KAAK,YAAY,KAAK,GACxB,MAAM;AACX,iBAAS,KAAK,YAAY,KAAK;AAAA,MACjC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,gBAAgB,CAAC,GAI7B,4CAAC,yCAAiB,UAAjB,EAA0B,iBAAiB,OAAO,YACjD;AAAA,IAAC;AAAA;AAAA,MACC,sBAAsB,OAAO;AAAA,MAC7B,uBAAuB,OAAO;AAAA,MAC7B,GAAG;AAAA,MACJ,cAAc,mBAAmB,gBAAgB,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC;AAAA,MAE5E;AAAA;AAAA,EACH,GACF;AAEJ;AAEA,gBAAgB,cAAiB;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAyB,+BACzB,QAAuB,2BAEvB,0BAAiC,yCACjC,kBAAoC,8BAEpC,uBAA8B,4BAoCxB;AAlCC,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAyB;AACvB,kDAAoB,GAEhB,6BAGF,MAAM,gBAAgB,MAAM;AAC1B,QAAK,WACA,OAAO,cAGN,SAAS,gBAAgB,UAAU,SAAS,aAAa,KAC3D,SAAS,gBAAgB,UAAU,OAAO,aAAa,GAIvD,CAAC,mBAAkB;AACrB,YAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,mBAAM,YAAY,SAAS,eAAe,OAAO,OAAO,CAAC,CAAC,GAC1D,SAAS,KAAK,YAAY,KAAK,GACxB,MAAM;AACX,iBAAS,KAAK,YAAY,KAAK;AAAA,MACjC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,gBAAgB,CAAC,GAI7B,4CAAC,yCAAiB,UAAjB,EAA0B,iBAAiB,iCAAQ,YAClD;AAAA,IAAC;AAAA;AAAA,MACC,sBAAsB,iCAAQ;AAAA,MAC9B,uBAAuB,iCAAQ;AAAA,MAC9B,GAAG;AAAA,MACJ,cACE,mBAAmB,iBAAiB,SAAS,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC,IAAI;AAAA,MAG9E;AAAA;AAAA,EACH,GACF;AAEJ;AAEA,gBAAgB,cAAiB;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,64 @@
1
+ import { stylePropsTextOnly, validStyles } from "@tamagui/helpers";
2
+ import { createComponent } from "../createComponent.mjs";
3
+ const ellipseStyle = {
4
+ maxWidth: "100%",
5
+ overflow: "hidden",
6
+ textOverflow: "ellipsis",
7
+ whiteSpace: "nowrap"
8
+ },
9
+ defaultWebStyle = {
10
+ display: "inline",
11
+ boxSizing: "border-box",
12
+ wordWrap: "break-word",
13
+ margin: 0
14
+ },
15
+ ellipsisStyle = ellipseStyle,
16
+ Text = createComponent({
17
+ acceptsClassName: !0,
18
+ isText: !0,
19
+ defaultProps: {
20
+ fontFamily: "unset",
21
+ ...defaultWebStyle
22
+ },
23
+ inlineWhenUnflattened: /* @__PURE__ */new Set(["fontFamily"]),
24
+ variants: {
25
+ numberOfLines: {
26
+ 1: ellipseStyle,
27
+ ":number": numberOfLines => numberOfLines >= 1 ? {
28
+ WebkitLineClamp: numberOfLines,
29
+ WebkitBoxOrient: "vertical",
30
+ display: "-webkit-box",
31
+ overflow: "hidden"
32
+ } : null
33
+ },
34
+ // ??
35
+ ellipsizeMode: {
36
+ "...": () => null
37
+ },
38
+ selectable: {
39
+ true: {
40
+ userSelect: "text",
41
+ cursor: "text"
42
+ },
43
+ false: {
44
+ userSelect: "none",
45
+ cursor: "default"
46
+ }
47
+ },
48
+ /**
49
+ * @deprecated Use ellipsis instead
50
+ */
51
+ ellipse: {
52
+ true: ellipsisStyle
53
+ },
54
+ ellipsis: {
55
+ true: ellipsisStyle
56
+ }
57
+ },
58
+ validStyles: {
59
+ ...validStyles,
60
+ ...stylePropsTextOnly
61
+ }
62
+ });
63
+ Text.displayName = "Text";
64
+ export { Text };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/Theme.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,104 @@
1
+ import { isWeb } from "@tamagui/constants";
2
+ import React, { Children, cloneElement, forwardRef, isValidElement, useRef } from "react";
3
+ import { variableToString } from "../createVariable.mjs";
4
+ import { ThemeManagerIDContext } from "../helpers/ThemeManagerContext.mjs";
5
+ import { useChangeThemeEffect } from "../hooks/useTheme.mjs";
6
+ import { ThemeDebug } from "./ThemeDebug.mjs";
7
+ import { jsx } from "react/jsx-runtime";
8
+ const Theme = forwardRef(function ({
9
+ children,
10
+ ...props
11
+ }, ref) {
12
+ if (props.disable) return children;
13
+ const isRoot = !!props._isRoot,
14
+ themeState = useChangeThemeEffect(props, isRoot);
15
+ let finalChildren = props["disable-child-theme"] ? Children.map(children, child => cloneElement(child, {
16
+ "data-disable-theme": !0
17
+ })) : children;
18
+ if (ref) try {
19
+ React.Children.only(finalChildren), finalChildren = cloneElement(finalChildren, {
20
+ ref
21
+ });
22
+ } catch {}
23
+ return process.env.NODE_ENV === "development" && props.debug === "visualize" && (finalChildren = /* @__PURE__ */jsx(ThemeDebug, {
24
+ themeState,
25
+ themeProps: props,
26
+ children: finalChildren
27
+ })), getThemedChildren(themeState, finalChildren, props, isRoot);
28
+ });
29
+ Theme.displayName = "Theme";
30
+ Theme.avoidForwardRef = !0;
31
+ function getThemedChildren(themeState, children, props, isRoot = !1) {
32
+ const {
33
+ themeManager,
34
+ isNewTheme
35
+ } = themeState;
36
+ if (!themeManager) throw new Error(process.env.NODE_ENV === "development" ? "\u274C No theme found, either incorrect name, potential duplicate tamagui deps, or TamaguiProvider not providing themes." : "\u274C 005");
37
+ const {
38
+ shallow,
39
+ forceClassName
40
+ } = props,
41
+ hasEverThemed = useRef(!1),
42
+ shouldRenderChildrenWithTheme = isNewTheme || props.inverse || hasEverThemed.current || forceClassName || isRoot;
43
+ if (shouldRenderChildrenWithTheme && (hasEverThemed.current = !0), !shouldRenderChildrenWithTheme) return children;
44
+ let next = children;
45
+ shallow && (next = Children.toArray(children).map(child => isValidElement(child) ? cloneElement(child, void 0, /* @__PURE__ */jsx(Theme, {
46
+ name: themeManager.state.parentName,
47
+ children: child.props.children
48
+ })) : child));
49
+ const elementsWithContext = /* @__PURE__ */jsx(ThemeManagerIDContext.Provider, {
50
+ value: themeManager.id,
51
+ children: next
52
+ });
53
+ return forceClassName === !1 ? elementsWithContext : isWeb ? wrapThemeElements({
54
+ children: elementsWithContext,
55
+ themeState,
56
+ forceClassName,
57
+ isRoot
58
+ }) : elementsWithContext;
59
+ }
60
+ function wrapThemeElements({
61
+ children,
62
+ themeState,
63
+ forceClassName,
64
+ isRoot
65
+ }) {
66
+ if (isRoot && forceClassName === !1) return children;
67
+ const inverse = themeState.inversed,
68
+ requiresExtraWrapper = inverse != null || forceClassName,
69
+ {
70
+ className,
71
+ style
72
+ } = getThemeClassNameAndStyle(themeState, isRoot);
73
+ let themedChildren = /* @__PURE__ */jsx("span", {
74
+ className: `${className} _dsp_contents is_Theme`,
75
+ style,
76
+ children
77
+ });
78
+ if (requiresExtraWrapper) {
79
+ const name = themeState.state?.name || "",
80
+ inverseClassName = name.startsWith("light") ? "t_light is_inversed" : name.startsWith("dark") ? "t_dark is_inversed" : "";
81
+ themedChildren = /* @__PURE__ */jsx("span", {
82
+ className: `${inverse ? inverseClassName : ""} _dsp_contents`,
83
+ children: themedChildren
84
+ });
85
+ }
86
+ return themedChildren;
87
+ }
88
+ const emptyObj = {};
89
+ function getThemeClassNameAndStyle(themeState, isRoot = !1) {
90
+ if (!themeState.isNewTheme) return {
91
+ className: "",
92
+ style: emptyObj
93
+ };
94
+ const themeColor = themeState.state?.theme && themeState.isNewTheme ? variableToString(themeState.state.theme.color) : "",
95
+ style = themeColor ? {
96
+ color: themeColor
97
+ } : void 0;
98
+ let className = themeState.state?.className || "";
99
+ return isRoot && (className = className.replace("t_sub_theme", "")), {
100
+ style,
101
+ className
102
+ };
103
+ }
104
+ export { Theme, getThemedChildren };