@tamagui/core 1.0.0-beta.225 → 1.0.0-beta.4

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 (253) hide show
  1. package/dist/cjs/Tamagui.js +13 -1
  2. package/dist/cjs/Tamagui.js.map +2 -2
  3. package/dist/cjs/ThemeContext.js +4 -0
  4. package/dist/cjs/ThemeManager.js +30 -14
  5. package/dist/cjs/ThemeManager.js.map +2 -2
  6. package/dist/cjs/conf.js +10 -1
  7. package/dist/cjs/conf.js.map +2 -2
  8. package/dist/cjs/constants/constants.js +6 -0
  9. package/dist/cjs/constants/platform.js +15 -0
  10. package/dist/cjs/constants/platform.js.map +2 -2
  11. package/dist/cjs/constants/rnw.js +4 -0
  12. package/dist/cjs/contexts/ButtonInsideButtonContext.js +4 -0
  13. package/dist/cjs/createComponent.js +112 -64
  14. package/dist/cjs/createComponent.js.map +2 -2
  15. package/dist/cjs/createFont.js +4 -0
  16. package/dist/cjs/createShorthands.js +4 -0
  17. package/dist/cjs/createTamagui.js +56 -27
  18. package/dist/cjs/createTamagui.js.map +2 -2
  19. package/dist/cjs/createTheme.js +4 -0
  20. package/dist/cjs/createTokens.js +7 -6
  21. package/dist/cjs/createTokens.js.map +2 -2
  22. package/dist/cjs/createVariable.js +18 -2
  23. package/dist/cjs/createVariable.js.map +2 -2
  24. package/dist/cjs/helpers/RNComponents.js +4 -0
  25. package/dist/cjs/helpers/addStylesUsingClassname.js +19 -16
  26. package/dist/cjs/helpers/addStylesUsingClassname.js.map +2 -2
  27. package/dist/cjs/helpers/areEqualSets.js +4 -0
  28. package/dist/cjs/helpers/createMediaStyle.js +5 -2
  29. package/dist/cjs/helpers/createMediaStyle.js.map +2 -2
  30. package/dist/cjs/helpers/createPropMapper.js +44 -41
  31. package/dist/cjs/helpers/createPropMapper.js.map +2 -2
  32. package/dist/cjs/helpers/createShallowUpdate.js +4 -0
  33. package/dist/cjs/helpers/createTamaguiProvider.js +4 -0
  34. package/dist/cjs/helpers/extendStaticConfig.js +9 -6
  35. package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
  36. package/dist/cjs/helpers/fixNativeShadow.js +4 -0
  37. package/dist/cjs/helpers/fixNativeShadow.native.js +6 -2
  38. package/dist/cjs/helpers/fixNativeShadow.native.js.map +2 -2
  39. package/dist/cjs/helpers/getExpandedShorthands.js +4 -0
  40. package/dist/cjs/{constants/pseudos.js → helpers/getSize.js} +17 -19
  41. package/dist/cjs/helpers/getSize.js.map +7 -0
  42. package/dist/cjs/helpers/getSplitStyles.js +165 -62
  43. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  44. package/dist/cjs/helpers/getStylesAtomic.js +20 -3
  45. package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
  46. package/dist/cjs/helpers/getStylesAtomic.native.js +4 -0
  47. package/dist/cjs/helpers/insertStyleRule.js +41 -26
  48. package/dist/cjs/helpers/insertStyleRule.js.map +2 -2
  49. package/dist/cjs/helpers/isObj.js +4 -0
  50. package/dist/cjs/helpers/isTamaguiElement.js +4 -0
  51. package/dist/cjs/helpers/matchMedia.js +4 -0
  52. package/dist/cjs/helpers/matchMedia.native.js +4 -0
  53. package/dist/cjs/helpers/proxyThemeVariables.js +40 -0
  54. package/dist/cjs/helpers/proxyThemeVariables.js.map +7 -0
  55. package/dist/cjs/helpers/themeable.js +7 -2
  56. package/dist/cjs/helpers/themeable.js.map +2 -2
  57. package/dist/cjs/helpers/validate.js +53 -11
  58. package/dist/cjs/helpers/validate.js.map +2 -2
  59. package/dist/cjs/helpers/withStaticProperties.js +4 -0
  60. package/dist/cjs/helpers/wrapThemeManagerContext.js +4 -0
  61. package/dist/cjs/hooks/useConstant.js +4 -0
  62. package/dist/cjs/hooks/useFeatures.js +8 -5
  63. package/dist/cjs/hooks/useFeatures.js.map +2 -2
  64. package/dist/cjs/hooks/useIsMounted.js +4 -0
  65. package/dist/cjs/hooks/useIsTouchDevice.js +8 -4
  66. package/dist/cjs/hooks/useIsTouchDevice.js.map +2 -2
  67. package/dist/cjs/hooks/useMedia.js +30 -12
  68. package/dist/cjs/hooks/useMedia.js.map +2 -2
  69. package/dist/cjs/hooks/usePressable.js +4 -0
  70. package/dist/cjs/hooks/useTheme.js +30 -16
  71. package/dist/cjs/hooks/useTheme.js.map +2 -2
  72. package/dist/cjs/hooks/useUnmountEffect.js +4 -0
  73. package/dist/cjs/index.js +15 -0
  74. package/dist/cjs/index.js.map +2 -2
  75. package/dist/cjs/static.js +3 -0
  76. package/dist/cjs/static.js.map +2 -2
  77. package/dist/cjs/styled.js +7 -4
  78. package/dist/cjs/styled.js.map +2 -2
  79. package/dist/cjs/types.js.map +1 -1
  80. package/dist/cjs/views/Stack.js +4 -0
  81. package/dist/cjs/views/Text.js +4 -0
  82. package/dist/cjs/views/TextAncestorContext.js +6 -0
  83. package/dist/cjs/views/Theme.js +7 -3
  84. package/dist/cjs/views/Theme.js.map +2 -2
  85. package/dist/cjs/views/ThemeInverse.js +5 -0
  86. package/dist/cjs/views/ThemeProvider.js +6 -1
  87. package/dist/cjs/views/ThemeProvider.js.map +2 -2
  88. package/dist/cjs/views/ThemeReset.js +4 -0
  89. package/dist/esm/Tamagui.js +8 -2
  90. package/dist/esm/Tamagui.js.map +2 -2
  91. package/dist/esm/ThemeManager.js +21 -11
  92. package/dist/esm/ThemeManager.js.map +2 -2
  93. package/dist/esm/conf.js +0 -1
  94. package/dist/esm/conf.js.map +2 -2
  95. package/dist/esm/constants/platform.js +2 -0
  96. package/dist/esm/constants/platform.js.map +2 -2
  97. package/dist/esm/createComponent.js +104 -66
  98. package/dist/esm/createComponent.js.map +2 -2
  99. package/dist/esm/createTamagui.js +53 -28
  100. package/dist/esm/createTamagui.js.map +2 -2
  101. package/dist/esm/createTokens.js +2 -6
  102. package/dist/esm/createTokens.js.map +2 -2
  103. package/dist/esm/createVariable.js +8 -2
  104. package/dist/esm/createVariable.js.map +2 -2
  105. package/dist/esm/helpers/addStylesUsingClassname.js +16 -18
  106. package/dist/esm/helpers/addStylesUsingClassname.js.map +2 -2
  107. package/dist/esm/helpers/createMediaStyle.js +0 -2
  108. package/dist/esm/helpers/createMediaStyle.js.map +2 -2
  109. package/dist/esm/helpers/createPropMapper.js +40 -41
  110. package/dist/esm/helpers/createPropMapper.js.map +2 -2
  111. package/dist/esm/helpers/extendStaticConfig.js +9 -6
  112. package/dist/esm/helpers/extendStaticConfig.js.map +2 -2
  113. package/dist/esm/helpers/fixNativeShadow.native.js +2 -2
  114. package/dist/esm/helpers/fixNativeShadow.native.js.map +2 -2
  115. package/dist/esm/helpers/getSize.js +13 -0
  116. package/dist/esm/helpers/getSize.js.map +7 -0
  117. package/dist/esm/helpers/getSplitStyles.js +165 -65
  118. package/dist/esm/helpers/getSplitStyles.js.map +2 -2
  119. package/dist/esm/helpers/getStylesAtomic.js +15 -3
  120. package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
  121. package/dist/esm/helpers/insertStyleRule.js +31 -26
  122. package/dist/esm/helpers/insertStyleRule.js.map +2 -2
  123. package/dist/esm/helpers/proxyThemeVariables.js +18 -0
  124. package/dist/esm/helpers/proxyThemeVariables.js.map +7 -0
  125. package/dist/esm/helpers/themeable.js +3 -2
  126. package/dist/esm/helpers/themeable.js.map +2 -2
  127. package/dist/esm/helpers/validate.js +24 -11
  128. package/dist/esm/helpers/validate.js.map +2 -2
  129. package/dist/esm/hooks/useFeatures.js +3 -5
  130. package/dist/esm/hooks/useFeatures.js.map +2 -2
  131. package/dist/esm/hooks/useIsTouchDevice.js +6 -6
  132. package/dist/esm/hooks/useIsTouchDevice.js.map +2 -2
  133. package/dist/esm/hooks/useMedia.js +19 -12
  134. package/dist/esm/hooks/useMedia.js.map +2 -2
  135. package/dist/esm/hooks/useTheme.js +22 -16
  136. package/dist/esm/hooks/useTheme.js.map +2 -2
  137. package/dist/esm/index.js +4 -0
  138. package/dist/esm/index.js.map +2 -2
  139. package/dist/esm/static.js +3 -0
  140. package/dist/esm/static.js.map +2 -2
  141. package/dist/esm/styled.js +3 -4
  142. package/dist/esm/styled.js.map +2 -2
  143. package/dist/esm/views/Theme.js +3 -3
  144. package/dist/esm/views/Theme.js.map +2 -2
  145. package/dist/esm/views/ThemeProvider.js +2 -1
  146. package/dist/esm/views/ThemeProvider.js.map +2 -2
  147. package/dist/jsx/Tamagui.js +8 -2
  148. package/dist/jsx/ThemeManager.js +21 -11
  149. package/dist/jsx/conf.js +0 -1
  150. package/dist/jsx/constants/platform.js +2 -0
  151. package/dist/jsx/createComponent.js +100 -62
  152. package/dist/jsx/createTamagui.js +53 -28
  153. package/dist/jsx/createTokens.js +2 -6
  154. package/dist/jsx/createVariable.js +8 -2
  155. package/dist/jsx/helpers/addStylesUsingClassname.js +16 -18
  156. package/dist/jsx/helpers/createMediaStyle.js +0 -2
  157. package/dist/jsx/helpers/createPropMapper.js +40 -41
  158. package/dist/jsx/helpers/extendStaticConfig.js +9 -6
  159. package/dist/jsx/helpers/fixNativeShadow.native.js +2 -2
  160. package/dist/jsx/helpers/getSize.js +12 -0
  161. package/dist/jsx/helpers/getSplitStyles.js +165 -65
  162. package/dist/jsx/helpers/getStylesAtomic.js +15 -3
  163. package/dist/jsx/helpers/insertStyleRule.js +31 -26
  164. package/dist/jsx/helpers/proxyThemeVariables.js +17 -0
  165. package/dist/jsx/helpers/themeable.js +3 -3
  166. package/dist/jsx/helpers/validate.js +24 -11
  167. package/dist/jsx/hooks/useFeatures.js +3 -5
  168. package/dist/jsx/hooks/useIsTouchDevice.js +6 -6
  169. package/dist/jsx/hooks/useMedia.js +19 -12
  170. package/dist/jsx/hooks/useTheme.js +22 -16
  171. package/dist/jsx/index.js +4 -0
  172. package/dist/jsx/static.js +3 -0
  173. package/dist/jsx/styled.js +3 -4
  174. package/dist/jsx/views/Theme.js +4 -4
  175. package/dist/jsx/views/ThemeProvider.js +2 -2
  176. package/package.json +6 -6
  177. package/types/Tamagui.d.ts +16 -1
  178. package/types/Tamagui.d.ts.map +1 -1
  179. package/types/ThemeManager.d.ts +3 -3
  180. package/types/ThemeManager.d.ts.map +1 -1
  181. package/types/conf.d.ts +2 -0
  182. package/types/conf.d.ts.map +1 -1
  183. package/types/constants/platform.d.ts +1 -0
  184. package/types/constants/platform.d.ts.map +1 -1
  185. package/types/createComponent.d.ts +3 -4
  186. package/types/createComponent.d.ts.map +1 -1
  187. package/types/createTamagui.d.ts +3 -1
  188. package/types/createTamagui.d.ts.map +1 -1
  189. package/types/createTokens.d.ts +0 -26
  190. package/types/createTokens.d.ts.map +1 -1
  191. package/types/createVariable.d.ts +1 -0
  192. package/types/createVariable.d.ts.map +1 -1
  193. package/types/helpers/addStylesUsingClassname.d.ts.map +1 -1
  194. package/types/helpers/createMediaStyle.d.ts.map +1 -1
  195. package/types/helpers/createPropMapper.d.ts +1 -1
  196. package/types/helpers/createPropMapper.d.ts.map +1 -1
  197. package/types/helpers/extendStaticConfig.d.ts +2 -2
  198. package/types/helpers/extendStaticConfig.d.ts.map +1 -1
  199. package/types/helpers/getSize.d.ts +3 -0
  200. package/types/helpers/getSize.d.ts.map +1 -0
  201. package/types/helpers/getSplitStyles.d.ts +14 -6
  202. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  203. package/types/helpers/getStylesAtomic.d.ts.map +1 -1
  204. package/types/helpers/insertStyleRule.d.ts +2 -1
  205. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  206. package/types/helpers/proxyThemeVariables.d.ts +2 -0
  207. package/types/helpers/proxyThemeVariables.d.ts.map +1 -0
  208. package/types/helpers/themeable.d.ts +3 -1
  209. package/types/helpers/themeable.d.ts.map +1 -1
  210. package/types/helpers/validate.d.ts.map +1 -1
  211. package/types/hooks/useMedia.d.ts +2 -6
  212. package/types/hooks/useMedia.d.ts.map +1 -1
  213. package/types/hooks/useTheme.d.ts +1 -1
  214. package/types/hooks/useTheme.d.ts.map +1 -1
  215. package/types/index.d.ts +2 -0
  216. package/types/index.d.ts.map +1 -1
  217. package/types/static.d.ts +3 -0
  218. package/types/static.d.ts.map +1 -1
  219. package/types/styled.d.ts +12 -3
  220. package/types/styled.d.ts.map +1 -1
  221. package/types/types.d.ts +67 -42
  222. package/types/types.d.ts.map +1 -1
  223. package/types/views/Theme.d.ts +1 -0
  224. package/types/views/Theme.d.ts.map +1 -1
  225. package/types/views/ThemeProvider.d.ts +1 -0
  226. package/types/views/ThemeProvider.d.ts.map +1 -1
  227. package/LICENSE +0 -21
  228. package/dist/cjs/constants/pseudos.js.map +0 -7
  229. package/dist/cjs/createShallowUpdate.js +0 -1
  230. package/dist/cjs/createShallowUpdate.js.map +0 -7
  231. package/dist/cjs/devtools.js +0 -32
  232. package/dist/cjs/devtools.js.map +0 -7
  233. package/dist/cjs/spacedChildren.js +0 -86
  234. package/dist/cjs/spacedChildren.js.map +0 -7
  235. package/dist/cjs/tamagui-base.css +0 -8
  236. package/dist/cjs/tamagui-base.css.map +0 -7
  237. package/dist/esm/constants/pseudos.js +0 -18
  238. package/dist/esm/constants/pseudos.js.map +0 -7
  239. package/dist/esm/createShallowUpdate.js +0 -1
  240. package/dist/esm/createShallowUpdate.js.map +0 -7
  241. package/dist/esm/devtools.js +0 -14
  242. package/dist/esm/devtools.js.map +0 -7
  243. package/dist/esm/spacedChildren.js +0 -52
  244. package/dist/esm/spacedChildren.js.map +0 -7
  245. package/dist/esm/tamagui-base.css +0 -8
  246. package/dist/esm/tamagui-base.css.map +0 -7
  247. package/dist/jsx/constants/pseudos.js +0 -17
  248. package/dist/jsx/createShallowUpdate.js +0 -0
  249. package/dist/jsx/devtools.js +0 -13
  250. package/dist/jsx/spacedChildren.js +0 -44
  251. package/dist/jsx/tamagui-base.css +0 -7
  252. package/types/spacedChildren.d.ts +0 -9
  253. package/types/spacedChildren.d.ts.map +0 -1
@@ -6,24 +6,30 @@ const insertedTransforms = {};
6
6
  const getAllSelectors = /* @__PURE__ */ __name(() => allSelectors, "getAllSelectors");
7
7
  const getInsertedRules = /* @__PURE__ */ __name(() => Object.values(insertedSelectors), "getInsertedRules");
8
8
  const getAllTransforms = /* @__PURE__ */ __name(() => insertedTransforms, "getAllTransforms");
9
- function addTransform(identifier, rule) {
10
- const s = rule.indexOf("transform:");
9
+ function addTransform(identifier, css, rule) {
10
+ const s = css.indexOf("transform:");
11
11
  if (s === -1) {
12
- console.error(`not a transform ${identifier} ${rule}`);
12
+ if (process.env.NODE_ENV === "development") {
13
+ console.groupCollapsed(`\u274C Invalid transform, likely used deg/% improperly ${identifier}`);
14
+ console.log("rule:", rule);
15
+ console.trace();
16
+ console.groupEnd();
17
+ } else {
18
+ console.error(`Missing transform`, identifier, css, rule);
19
+ }
13
20
  return;
14
21
  }
15
22
  const startI = s + "transform:".length;
16
- const endI = rule.indexOf(";");
17
- const value = rule.slice(startI, endI);
23
+ const endI = css.indexOf(";");
24
+ const value = css.slice(startI, endI);
18
25
  insertedTransforms[identifier] = value;
19
26
  }
20
27
  __name(addTransform, "addTransform");
21
- let hasInsertedSinceUpdate = true;
22
28
  const isClient = typeof document !== "undefined";
29
+ let hasInsertedSinceUpdate = true;
23
30
  function updateInserted() {
24
- if (!isClient) {
31
+ if (!isClient)
25
32
  return;
26
- }
27
33
  if (!hasInsertedSinceUpdate) {
28
34
  console.warn("hasnt inserted since");
29
35
  return;
@@ -45,9 +51,11 @@ function updateInserted() {
45
51
  if (!(rule instanceof CSSStyleRule))
46
52
  continue;
47
53
  const identifier = rule.selectorText.slice(1);
48
- allSelectors[identifier] = process.env.NODE_ENV === "development" ? rule.cssText : true;
49
- if (identifier.startsWith("_transform")) {
50
- addTransform(identifier, rule.cssText);
54
+ if (!allSelectors[identifier]) {
55
+ allSelectors[identifier] = process.env.NODE_ENV === "development" ? rule.cssText : true;
56
+ if (identifier.startsWith("_transform")) {
57
+ addTransform(identifier, rule.cssText, rule);
58
+ }
51
59
  }
52
60
  }
53
61
  }
@@ -56,26 +64,22 @@ function updateInserted() {
56
64
  }
57
65
  __name(updateInserted, "updateInserted");
58
66
  updateInserted();
59
- const newRulesStyleTag = typeof document !== "undefined" ? document.head.appendChild(document.createElement("style")) : null;
60
- function insertStyleRule(identifier, rule) {
61
- if (allSelectors[identifier]) {
67
+ const sheet = isClient ? document.head.appendChild(document.createElement("style")).sheet : null;
68
+ function updateInsertedCache(identifier, rule) {
69
+ if (insertedSelectors[identifier])
62
70
  return;
63
- }
64
- hasInsertedSinceUpdate = true;
65
- if (identifier === "_transform-1abwpjw") {
66
- console.trace("inserting", identifier, rule);
67
- }
68
71
  insertedSelectors[identifier] = rule;
69
- allSelectors[identifier] = process.env.NODE_ENV === "development" ? rule : true;
70
72
  if (identifier.startsWith("_transform")) {
71
73
  addTransform(identifier, rule);
72
74
  }
73
- if (!newRulesStyleTag) {
75
+ }
76
+ __name(updateInsertedCache, "updateInsertedCache");
77
+ function insertStyleRule(identifier, rule) {
78
+ if (allSelectors[identifier])
74
79
  return;
75
- }
76
- const sheet = newRulesStyleTag.sheet;
77
- sheet.insertRule(rule, sheet.cssRules.length);
78
- return identifier;
80
+ hasInsertedSinceUpdate = true;
81
+ updateInsertedCache(identifier, rule);
82
+ sheet == null ? void 0 : sheet.insertRule(rule, sheet.cssRules.length);
79
83
  }
80
84
  __name(insertStyleRule, "insertStyleRule");
81
85
  export {
@@ -84,5 +88,6 @@ export {
84
88
  getInsertedRules,
85
89
  insertStyleRule,
86
90
  insertedTransforms,
87
- updateInserted
91
+ updateInserted,
92
+ updateInsertedCache
88
93
  };
@@ -0,0 +1,17 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ function proxyThemeVariables(obj) {
4
+ return new Proxy(obj, {
5
+ has(target, key) {
6
+ return Reflect.has(target, removeStarting$(key));
7
+ },
8
+ get(target, key) {
9
+ return Reflect.get(target, removeStarting$(key));
10
+ }
11
+ });
12
+ }
13
+ __name(proxyThemeVariables, "proxyThemeVariables");
14
+ const removeStarting$ = /* @__PURE__ */ __name((str) => typeof str === "string" && str[0] === "$" ? str.slice(1) : str, "removeStarting$");
15
+ export {
16
+ proxyThemeVariables
17
+ };
@@ -3,14 +3,14 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
3
3
  import React, { forwardRef } from "react";
4
4
  import { Theme } from "../views/Theme";
5
5
  import { ThemeInverse } from "../views/ThemeInverse";
6
- function themeable(component) {
6
+ function themeable(component, opts) {
7
7
  const withThemeComponent = forwardRef(/* @__PURE__ */ __name(function WithTheme({ themeInverse, theme, ...rest }, ref) {
8
8
  const element = React.createElement(component, { ...rest, ref });
9
9
  if (themeInverse) {
10
10
  return <ThemeInverse>{element}</ThemeInverse>;
11
11
  }
12
- if (theme) {
13
- return <Theme name={theme || null}>{element}</Theme>;
12
+ if (theme || opts) {
13
+ return <Theme componentName={opts == null ? void 0 : opts.componentName} name={theme || null}>{element}</Theme>;
14
14
  }
15
15
  return element;
16
16
  }, "WithTheme"));
@@ -3,7 +3,8 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
3
3
  const { default: ow } = require("@tamagui/ow/dev-only");
4
4
  let Config;
5
5
  let Tokens;
6
- let Font;
6
+ let FontRequired;
7
+ let FontOptional;
7
8
  const validateConfig = /* @__PURE__ */ __name((conf) => {
8
9
  if (!conf) {
9
10
  console.warn("no conf?");
@@ -24,12 +25,26 @@ const validateTokens = /* @__PURE__ */ __name((tokens) => {
24
25
  }, "validateTokens");
25
26
  const validateFont = /* @__PURE__ */ __name((font) => {
26
27
  try {
27
- ow(font, Font);
28
+ const { style, transform, color, ...required } = font;
29
+ ow(required, FontRequired);
30
+ ow({ style, transform, color }, FontOptional);
28
31
  } catch (err) {
29
32
  console.warn("Given font:\n", JSON.stringify(font, null, 2), err);
30
33
  }
31
34
  }, "validateFont");
32
35
  if (process.env.NODE_ENV === "development") {
36
+ const fontReq = {
37
+ family: ow.string,
38
+ size: ow.object.nonEmpty.valuesOfType(ow.number),
39
+ lineHeight: ow.object.nonEmpty.valuesOfType(ow.number),
40
+ weight: ow.object.nonEmpty.valuesOfType(ow.string),
41
+ letterSpacing: ow.object.nonEmpty.valuesOfType(ow.number)
42
+ };
43
+ const fontOpt = {
44
+ style: ow.optional.object.valuesOfType(ow.string),
45
+ transform: ow.optional.object.valuesOfType(ow.string),
46
+ color: ow.optional.object.valuesOfType(ow.string)
47
+ };
33
48
  Config = ow.object.exactShape({
34
49
  defaultTheme: ow.optional.string,
35
50
  disableRootThemeClass: ow.optional.boolean,
@@ -37,17 +52,15 @@ if (process.env.NODE_ENV === "development") {
37
52
  themes: ow.object.valuesOfType(ow.object),
38
53
  tokens: ow.object.valuesOfType(ow.object),
39
54
  media: ow.object.valuesOfType(ow.object),
40
- animations: ow.object.valuesOfType(ow.object)
41
- });
42
- Font = ow.object.exactShape({
43
- family: ow.string,
44
- size: ow.object.nonEmpty.valuesOfType(ow.number),
45
- lineHeight: ow.object.nonEmpty.valuesOfType(ow.number),
46
- weight: ow.object.nonEmpty.valuesOfType(ow.string),
47
- letterSpacing: ow.object.nonEmpty.valuesOfType(ow.number)
55
+ animations: ow.object.valuesOfType(ow.object),
56
+ fonts: ow.object.valuesOfType(ow.object.partialShape({
57
+ ...fontReq,
58
+ ...fontOpt
59
+ }))
48
60
  });
61
+ FontRequired = ow.object.exactShape(fontReq);
62
+ FontOptional = ow.object.partialShape(fontOpt);
49
63
  Tokens = ow.object.exactShape({
50
- font: ow.object.valuesOfType(Font),
51
64
  size: ow.object.nonEmpty.valuesOfType(ow.number),
52
65
  space: ow.object.nonEmpty.valuesOfType(ow.number),
53
66
  zIndex: ow.object.nonEmpty.valuesOfType(ow.number),
@@ -1,6 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import { isWeb, useIsomorphicLayoutEffect } from "../constants/platform";
3
+ import { useIsomorphicLayoutEffect } from "../constants/platform";
4
4
  import { getSubStyle } from "../helpers/getSplitStyles";
5
5
  import { addMediaQueryListener, mediaState, removeMediaQueryListener } from "./useMedia";
6
6
  const createDefinition = /* @__PURE__ */ __name(({
@@ -27,9 +27,7 @@ const useFeatures = /* @__PURE__ */ __name((props, utils) => {
27
27
  function loadFeatures() {
28
28
  return {
29
29
  animation: loadAnimationFeature(),
30
- ...!isWeb && {
31
- mediaQuery: loadMediaQueryFeature()
32
- }
30
+ mediaQuery: loadMediaQueryFeature()
33
31
  };
34
32
  }
35
33
  __name(loadFeatures, "loadFeatures");
@@ -147,7 +145,7 @@ function loadMediaQueryFeature() {
147
145
  const mediaPropNames = Object.keys(mediaState);
148
146
  return createDefinition({
149
147
  Component: (props) => {
150
- const keys = mediaPropNames.flatMap((x) => x in props ? x.slice(1) : []);
148
+ const keys = mediaPropNames.filter((x) => x in props);
151
149
  useIsomorphicLayoutEffect(() => {
152
150
  for (const key of keys) {
153
151
  addMediaQueryListener(key, props._utils.forceUpdate);
@@ -1,14 +1,14 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import { useEffect, useState } from "react";
4
- import { isTouchDevice } from "../constants/platform";
3
+ import { useState } from "react";
4
+ import { isTouchDevice, useIsomorphicLayoutEffect } from "../constants/platform";
5
5
  const useIsTouchDevice = /* @__PURE__ */ __name(() => {
6
6
  const [touchOnly, setTouchOnly] = useState(false);
7
- if (isTouchDevice) {
8
- useEffect(() => {
7
+ useIsomorphicLayoutEffect(() => {
8
+ if (isTouchDevice) {
9
9
  setTouchOnly(true);
10
- }, []);
11
- }
10
+ }
11
+ }, []);
12
12
  return touchOnly;
13
13
  }, "useIsTouchDevice");
14
14
  export {
@@ -34,29 +34,33 @@ const configureMedia = /* @__PURE__ */ __name(({
34
34
  }
35
35
  for (const key in queries) {
36
36
  const str = mediaObjectToString(queries[key]);
37
+ const propKey = `$${key}`;
37
38
  try {
38
- const getMatch = /* @__PURE__ */ __name(() => matchMedia(str), "getMatch");
39
- const match = getMatch();
40
- if (!match || typeof match.addListener !== "function") {
41
- throw new Error("\u26A0\uFE0F No match (seeing this in RN sometimes)");
42
- }
43
- mediaState[key] = !!match.matches;
44
- match.addListener(() => {
39
+ let update = function() {
45
40
  const next = !!getMatch().matches;
46
- if (next === mediaState[key])
41
+ if (next === mediaState[propKey])
47
42
  return;
48
- mediaState[key] = next;
49
- const listeners = mediaQueryListeners[key];
43
+ mediaState[propKey] = next;
44
+ const listeners = mediaQueryListeners[propKey];
50
45
  if (listeners == null ? void 0 : listeners.size) {
51
46
  for (const cb of [...listeners]) {
52
47
  cb();
53
48
  }
54
49
  }
55
- });
50
+ };
51
+ __name(update, "update");
52
+ const getMatch = /* @__PURE__ */ __name(() => matchMedia(str), "getMatch");
53
+ const match = getMatch();
54
+ if (!match || typeof match.addListener !== "function") {
55
+ throw new Error("\u26A0\uFE0F No match (seeing this in RN sometimes)");
56
+ }
57
+ mediaState[propKey] = !!match.matches;
58
+ match.addListener(update);
59
+ update();
56
60
  } catch (err) {
57
61
  console.error("Error running media query", str, err.message, err.stack);
58
62
  const isDefaultActive = (_a = defaultActive == null ? void 0 : defaultActive.includes(key)) != null ? _a : true;
59
- mediaState[key] = isDefaultActive;
63
+ mediaState[propKey] = isDefaultActive;
60
64
  }
61
65
  }
62
66
  }, "configureMedia");
@@ -103,6 +107,9 @@ const useMedia = /* @__PURE__ */ __name(() => {
103
107
  const st = state.current;
104
108
  return new Proxy(mediaState, {
105
109
  get(target, key) {
110
+ if (key[0] !== "$") {
111
+ key = `$${key}`;
112
+ }
106
113
  if (!(key in mediaState)) {
107
114
  return Reflect.get(target, key);
108
115
  }
@@ -51,6 +51,11 @@ const useTheme = /* @__PURE__ */ __name((themeName, componentName, props, forceU
51
51
  get(_, key) {
52
52
  if (!name || key === "__proto__" || typeof key === "symbol") {
53
53
  if (key === GetThemeManager) {
54
+ if (process.env.NODE_ENV === "development") {
55
+ if (props["debug"]) {
56
+ console.log("did change", { themeName, didChangeTheme, name, componentName }, themeManager == null ? void 0 : themeManager.parentName);
57
+ }
58
+ }
54
59
  if (!didChangeTheme) {
55
60
  return null;
56
61
  }
@@ -58,6 +63,9 @@ const useTheme = /* @__PURE__ */ __name((themeName, componentName, props, forceU
58
63
  }
59
64
  return Reflect.get(_, key);
60
65
  }
66
+ if (typeof key !== "string" || key === "$typeof") {
67
+ return Reflect.get(_, key);
68
+ }
61
69
  if (process.env.NODE_ENV === "development") {
62
70
  if (key === "__state") {
63
71
  return state.current;
@@ -73,25 +81,23 @@ const useTheme = /* @__PURE__ */ __name((themeName, componentName, props, forceU
73
81
  console.error("No themeManager");
74
82
  return;
75
83
  }
76
- if (typeof key === "string") {
77
- if (key[0] === "$") {
78
- key = key.slice(1);
79
- }
80
- const val = themeManager.getValue(key);
81
- if (val) {
82
- if (state.current.isRendering) {
83
- state.current.keys.add(key);
84
- if (process.env.NODE_ENV === "development") {
85
- if ((props == null ? void 0 : props["debug"]) === "verbose") {
86
- console.log(" \xBB tracking theme key", key);
87
- }
84
+ if (key[0] === "$") {
85
+ key = key.slice(1);
86
+ }
87
+ const val = themeManager.getValue(key);
88
+ if (val) {
89
+ if (state.current.isRendering) {
90
+ state.current.keys.add(key);
91
+ if (process.env.NODE_ENV === "development") {
92
+ if ((props == null ? void 0 : props["debug"]) === "verbose") {
93
+ console.log(" \xBB tracking theme key", key);
88
94
  }
89
95
  }
90
- return val;
91
- }
92
- if (process.env.NODE_ENV === "development") {
93
- console.log(`No theme value "${String(key)}" in ${name}`);
94
96
  }
97
+ return val;
98
+ }
99
+ if (process.env.NODE_ENV === "development") {
100
+ console.log(`No theme value "${String(key)}" in ${name}`);
95
101
  }
96
102
  return Reflect.get(_, key);
97
103
  }
package/dist/jsx/index.js CHANGED
@@ -8,11 +8,13 @@ import { createTokens } from "./createTokens";
8
8
  export * from "./createVariable";
9
9
  export * from "./styled";
10
10
  export * from "./types";
11
+ import { RNWTextProps, RNWViewProps } from "./types-rnw";
11
12
  import { getHasConfigured, getConfig, getThemes, getTokens, onConfiguredOnce } from "./conf";
12
13
  export * from "./constants/constants";
13
14
  export * from "./constants/platform";
14
15
  export * from "./constants/rnw";
15
16
  export * from "./helpers/getExpandedShorthands";
17
+ export * from "./helpers/getSize";
16
18
  export * from "./helpers/getSplitStyles";
17
19
  export * from "./helpers/getStylesAtomic";
18
20
  export * from "./helpers/isObj";
@@ -38,6 +40,8 @@ export * from "./views/ThemeProvider";
38
40
  export * from "./views/TextAncestorContext";
39
41
  export * from "@tamagui/helpers";
40
42
  export {
43
+ RNWTextProps,
44
+ RNWViewProps,
41
45
  createTokens,
42
46
  getConfig,
43
47
  getHasConfigured,
@@ -3,11 +3,14 @@ export * from "./createComponent";
3
3
  export * from "./createFont";
4
4
  export * from "./createTokens";
5
5
  export * from "./createTamagui";
6
+ export * from "./createVariable";
6
7
  export * from "./constants/constants";
7
8
  export * from "./hooks/useMedia";
8
9
  export * from "./hooks/useTheme";
9
10
  export * from "./helpers/isObj";
10
11
  export * from "./helpers/getStylesAtomic";
12
+ export * from "./helpers/proxyThemeVariables";
11
13
  export * from "./helpers/getSplitStyles";
12
14
  export * from "@tamagui/helpers";
13
15
  export * from "./constants/rnw";
16
+ export * from "./types";
@@ -2,7 +2,6 @@ var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
  import { Image, Text, TextInput } from "react-native";
4
4
  import { createComponent } from "./createComponent";
5
- import { extendStaticConfig } from "./helpers/extendStaticConfig";
6
5
  import { RNComponents } from "./helpers/RNComponents";
7
6
  function styled(Component, options, staticExtractionOptions) {
8
7
  const staticConfigProps = (() => {
@@ -11,7 +10,7 @@ function styled(Component, options, staticExtractionOptions) {
11
10
  if (defaultVariants) {
12
11
  Object.assign(defaultProps, defaultVariants);
13
12
  }
14
- const isReactNativeWeb = RNComponents.has(Component);
13
+ const isReactNativeWeb = "staticConfig" in Component ? Component.staticConfig.isReactNativeWeb : RNComponents.has(Component);
15
14
  const isTamagui = !isReactNativeWeb && "staticConfig" in Component;
16
15
  const Comp = Component;
17
16
  const isImage = !!(defaultProps.isImage || (!isTamagui ? Comp === Image : false));
@@ -25,6 +24,7 @@ function styled(Component, options, staticExtractionOptions) {
25
24
  isTamagui,
26
25
  variants,
27
26
  defaultProps,
27
+ defaultVariants,
28
28
  componentName: name,
29
29
  isReactNativeWeb,
30
30
  isInput,
@@ -35,8 +35,7 @@ function styled(Component, options, staticExtractionOptions) {
35
35
  }
36
36
  return {};
37
37
  })();
38
- const config = extendStaticConfig(Component, staticConfigProps);
39
- const component = createComponent(config);
38
+ const component = createComponent(staticConfigProps, Component);
40
39
  return component;
41
40
  }
42
41
  __name(styled, "styled");
@@ -3,11 +3,11 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
3
3
  import React, { memo, useMemo } from "react";
4
4
  import { isWeb } from "../constants/platform";
5
5
  import { wrapThemeManagerContext } from "../helpers/wrapThemeManagerContext";
6
- import { useChangeThemeEffect } from "../static";
6
+ import { useChangeThemeEffect } from "../hooks/useTheme";
7
7
  React["createElement"];
8
8
  const Theme = memo(/* @__PURE__ */ __name(function Theme2(props) {
9
9
  var _a, _b;
10
- const { name, theme, themeManager, themes, className } = useChangeThemeEffect(props.name, void 0, props);
10
+ const { name, theme, themeManager, themes, className } = useChangeThemeEffect(props.name, props.componentName, props);
11
11
  if (!themes || !name || !theme) {
12
12
  if (name && !theme && process.env.NODE_ENV === "development") {
13
13
  console.warn(`No theme found by name ${name}`);
@@ -16,13 +16,13 @@ const Theme = memo(/* @__PURE__ */ __name(function Theme2(props) {
16
16
  }
17
17
  const contents = useMemo(() => wrapThemeManagerContext(props.children, themeManager), [props.children, themeManager]);
18
18
  if (isWeb) {
19
- return <div className={[
19
+ return <span className={[
20
20
  `tui_Theme`,
21
21
  ...!props.disableThemeClass ? [props.className, className].filter(Boolean) : []
22
22
  ].join(" ")} style={{
23
23
  display: "contents",
24
24
  color: (_b = (_a = themes[name]) == null ? void 0 : _a.color) == null ? void 0 : _b.toString()
25
- }}>{contents}</div>;
25
+ }}>{contents}</span>;
26
26
  }
27
27
  return contents;
28
28
  }, "Theme"));
@@ -20,7 +20,7 @@ const ThemeProvider = /* @__PURE__ */ __name((props) => {
20
20
  return () => {
21
21
  document.body.classList.remove(cn);
22
22
  };
23
- }, []);
23
+ }, [props.disableRootThemeClass]);
24
24
  }
25
25
  const themeContext = useMemo(() => {
26
26
  return {
@@ -28,7 +28,7 @@ const ThemeProvider = /* @__PURE__ */ __name((props) => {
28
28
  defaultTheme: props.defaultTheme
29
29
  };
30
30
  }, [props.themes]);
31
- return <ThemeContext.Provider value={themeContext}><Theme name={props.defaultTheme} disableThemeClass={props.disableRootThemeClass}>{props.children}</Theme></ThemeContext.Provider>;
31
+ return <ThemeContext.Provider value={themeContext}><Theme className={props.className} name={props.defaultTheme} disableThemeClass={props.disableRootThemeClass}>{props.children}</Theme></ThemeContext.Provider>;
32
32
  }, "ThemeProvider");
33
33
  export {
34
34
  ThemeProvider
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/core",
3
- "version": "1.0.0-beta.225+79278a33",
3
+ "version": "1.0.0-beta.4",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -19,10 +19,10 @@
19
19
  "dist"
20
20
  ],
21
21
  "dependencies": {
22
- "@tamagui/helpers": "^1.0.0-beta.225+79278a33",
22
+ "@tamagui/helpers": "^1.0.0-beta.4",
23
23
  "@tamagui/ow": "^0.28.1",
24
- "@tamagui/use-debounce": "^1.0.0-beta.225+79278a33",
25
- "@tamagui/use-force-update": "^1.0.0-beta.225+79278a33",
24
+ "@tamagui/use-debounce": "^1.0.0-beta.4",
25
+ "@tamagui/use-force-update": "^1.0.0-beta.4",
26
26
  "react": "*",
27
27
  "react-dom": "*"
28
28
  },
@@ -30,7 +30,7 @@
30
30
  "react-native-web": "*"
31
31
  },
32
32
  "devDependencies": {
33
- "@tamagui/build": "^1.0.0-beta.225+79278a33",
33
+ "@tamagui/build": "^1.0.0-beta.4",
34
34
  "@types/react": "^17.0.35",
35
35
  "csstype": "^3.0.10",
36
36
  "esbuild": "^0.14.36",
@@ -40,5 +40,5 @@
40
40
  "publishConfig": {
41
41
  "access": "public"
42
42
  },
43
- "gitHead": "79278a336a83bc37b2fd40038ccbbfdfb4a565cd"
43
+ "gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14"
44
44
  }
@@ -1,9 +1,24 @@
1
1
  import * as Helpers from '@tamagui/helpers';
2
2
  import { TamaguiInternalConfig } from './types';
3
3
  declare class TamaguiManager {
4
- config: TamaguiInternalConfig | null;
5
4
  rnw: Record<string, any>;
6
5
  Helpers: typeof Helpers;
6
+ get config(): TamaguiInternalConfig<import("./types").CreateTokens<import("./types").VariableVal>, {
7
+ [key: string]: Partial<import("./types").TamaguiBaseTheme> & {
8
+ [key: string]: import("./types").VariableVal;
9
+ };
10
+ }, {}, {
11
+ [x: string]: {
12
+ [key: string]: string | number;
13
+ };
14
+ }, {
15
+ [key: string]: string | {
16
+ [key: string]: any;
17
+ };
18
+ }, {
19
+ [key: string]: import("./types").GenericFont<string | number>;
20
+ }>;
21
+ get insertedRules(): unknown[];
7
22
  get allSelectors(): {};
8
23
  get allTransforms(): {};
9
24
  get identifierToValue(): Map<string, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"Tamagui.d.ts","sourceRoot":"","sources":["../src/Tamagui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAI3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAI/C,cAAM,cAAc;IAClB,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAO;IAC3C,GAAG,sBAAM;IACT,OAAO,iBAAU;IAEjB,IAAI,YAAY,OAEf;IAED,IAAI,aAAa,OAEhB;IAED,IAAI,iBAAiB,qBAEpB;CACF;AAED,eAAO,MAAM,OAAO,gBAAuB,CAAA;AAI3C,eAAO,MAAM,sBAAsB,eAAgB,MAAM,QAExD,CAAA;AAED,eAAO,MAAM,kBAAkB,eAAgB,MAAM,SAAS,GAAG,SAEhE,CAAA"}
1
+ {"version":3,"file":"Tamagui.d.ts","sourceRoot":"","sources":["../src/Tamagui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAK3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAI/C,cAAM,cAAc;IAClB,GAAG,sBAAM;IACT,OAAO,iBAAU;IAEjB,IAAI,MAAM;;;;;;;;;;;;;;OAET;IAED,IAAI,aAAa,cAEhB;IAED,IAAI,YAAY,OAEf;IAED,IAAI,aAAa,OAEhB;IAED,IAAI,iBAAiB,qBAEpB;CACF;AAED,eAAO,MAAM,OAAO,gBAAuB,CAAA;AAI3C,eAAO,MAAM,sBAAsB,eAAgB,MAAM,QAExD,CAAA;AAED,eAAO,MAAM,kBAAkB,eAAgB,MAAM,SAAS,GAAG,SAEhE,CAAA"}
@@ -9,14 +9,14 @@ export declare type SetActiveThemeProps = {
9
9
  };
10
10
  export declare class ThemeManager {
11
11
  #private;
12
- name: string | null;
12
+ name: string;
13
13
  theme: ThemeObject | null;
14
14
  parentManager: ThemeManager | null;
15
15
  keys: Map<any, Set<string>>;
16
16
  listeners: Map<any, Function>;
17
17
  themeListeners: Set<ThemeListener>;
18
18
  className: string | null;
19
- constructor(name?: string | null, theme?: ThemeObject | null, parentManager?: ThemeManager | null);
19
+ constructor(name?: string, theme?: ThemeObject | null, parentManager?: ThemeManager | null);
20
20
  get parentName(): string | null;
21
21
  get fullName(): string;
22
22
  getValue(key: string): import("./types").VariableVal | undefined;
@@ -32,7 +32,7 @@ export declare class ThemeManager {
32
32
  };
33
33
  className: string;
34
34
  } | {
35
- name: string | null;
35
+ name: string;
36
36
  theme: (Partial<import("./types").TamaguiBaseTheme> & {
37
37
  [key: string]: import("./types").VariableVal;
38
38
  }) | null;
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeManager.d.ts","sourceRoot":"","sources":["../src/ThemeManager.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAE7C,aAAK,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,EAAE,YAAY,KAAK,IAAI,CAAA;AAE9E,oBAAY,mBAAmB,GAAG;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,CAAC,EAAE,GAAG,CAAA;CACZ,CAAA;AAED,qBAAa,YAAY;;IAOd,IAAI,EAAE,MAAM,GAAG,IAAI;IACnB,KAAK,EAAE,WAAW,GAAG,IAAI;IACzB,aAAa,EAAE,YAAY,GAAG,IAAI;IAR3C,IAAI,wBAA8B;IAClC,SAAS,qBAA2B;IACpC,cAAc,qBAA2B;IACzC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAO;gBAGtB,IAAI,GAAE,MAAM,GAAG,IAAW,EAC1B,KAAK,GAAE,WAAW,GAAG,IAAW,EAChC,aAAa,GAAE,YAAY,GAAG,IAAW;IAqBlD,IAAI,UAAU,kBAEb;IAED,IAAI,QAAQ,IAAI,MAAM,CAMrB;IAGD,QAAQ,CAAC,GAAG,EAAE,MAAM;IAmBpB,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAE,mBAAwB;IAgB3D,YAAY,CACV,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAO,EACnF,KAAK,CAAC,EAAE,GAAG;;;;;;;;;;;;;IAiEb,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;IAKlC,eAAe;IAYf,aAAa,CAAC,EAAE,EAAE,aAAa;IAO/B,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ;CAOjC;AAED,eAAO,MAAM,mBAAmB,8CAA2C,CAAA;AAC3E,eAAO,MAAM,YAAY,cAAqB,CAAA"}
1
+ {"version":3,"file":"ThemeManager.d.ts","sourceRoot":"","sources":["../src/ThemeManager.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAE7C,aAAK,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,EAAE,YAAY,KAAK,IAAI,CAAA;AAE9E,oBAAY,mBAAmB,GAAG;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,CAAC,EAAE,GAAG,CAAA;CACZ,CAAA;AAED,qBAAa,YAAY;;IAOd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,WAAW,GAAG,IAAI;IACzB,aAAa,EAAE,YAAY,GAAG,IAAI;IAR3C,IAAI,wBAA8B;IAClC,SAAS,qBAA2B;IACpC,cAAc,qBAA2B;IACzC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAO;gBAGtB,IAAI,GAAE,MAAW,EACjB,KAAK,GAAE,WAAW,GAAG,IAAW,EAChC,aAAa,GAAE,YAAY,GAAG,IAAW;IAqBlD,IAAI,UAAU,kBAEb;IAED,IAAI,QAAQ,IAAI,MAAM,CAMrB;IAGD,QAAQ,CAAC,GAAG,EAAE,MAAM;IAmBpB,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAE,mBAAwB;IAgB3D,YAAY,CACV,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAO,EACnF,KAAK,CAAC,EAAE,GAAG;;;;;;;;;;;;;IA4Eb,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;IAKlC,eAAe;IAYf,aAAa,CAAC,EAAE,EAAE,aAAa;IAO/B,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ;CAOjC;AAED,eAAO,MAAM,mBAAmB,8CAA2C,CAAA;AAC3E,eAAO,MAAM,YAAY,cAAqB,CAAA"}
package/types/conf.d.ts CHANGED
@@ -13,6 +13,8 @@ export declare const getConfig: () => TamaguiInternalConfig<import("./types").Cr
13
13
  [key: string]: string | {
14
14
  [key: string]: any;
15
15
  };
16
+ }, {
17
+ [key: string]: import("./types").GenericFont<string | number>;
16
18
  }>;
17
19
  export declare const getTokens: () => import("./types").CreateTokens<import("./createVariable").Variable>;
18
20
  export declare const getThemes: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"conf.d.ts","sourceRoot":"","sources":["../src/conf.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAI/D,eAAO,MAAM,SAAS,SAAU,qBAAqB,SAMpD,CAAA;AAED,eAAO,MAAM,gBAAgB,eAAe,CAAA;AAC5C,eAAO,MAAM,SAAS;;;;;;;;;;;;EAAc,CAAA;AACpC,eAAO,MAAM,SAAS,2EAA2B,CAAA;AACjD,eAAO,MAAM,SAAS;;;;CAAqB,CAAA;AAE3C,eAAO,MAAM,eAAe,qBAA4B,CAAA;AAExD,eAAO,MAAM,gBAAgB,OAAQ,cAAc,SAWlD,CAAA"}
1
+ {"version":3,"file":"conf.d.ts","sourceRoot":"","sources":["../src/conf.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAI/D,eAAO,MAAM,SAAS,SAAU,qBAAqB,SAMpD,CAAA;AAED,eAAO,MAAM,gBAAgB,eAAe,CAAA;AAC5C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;EAAc,CAAA;AACpC,eAAO,MAAM,SAAS,2EAA2B,CAAA;AACjD,eAAO,MAAM,SAAS;;;;CAAqB,CAAA;AAE3C,eAAO,MAAM,eAAe,qBAA4B,CAAA;AAExD,eAAO,MAAM,gBAAgB,OAAQ,cAAc,SAUlD,CAAA"}
@@ -3,6 +3,7 @@ export declare const isAndroid: boolean;
3
3
  export declare const isIOS: boolean;
4
4
  export declare const isWeb: boolean;
5
5
  export declare const isSSR: boolean;
6
+ export declare const isClient: boolean;
6
7
  export declare const useIsomorphicLayoutEffect: typeof useEffect;
7
8
  export declare const isChrome: boolean;
8
9
  export declare const supportsTouchWeb: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/constants/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,OAAO,CAAA;AAGlD,eAAO,MAAM,SAAS,SAA6B,CAAA;AACnD,eAAO,MAAM,KAAK,SAAyB,CAAA;AAE3C,eAAO,MAAM,KAAK,SAEgD,CAAA;AAElE,eAAO,MAAM,KAAK,SAAyC,CAAA;AAC3D,eAAO,MAAM,yBAAyB,kBAAsC,CAAA;AAC5E,eAAO,MAAM,QAAQ,SAA+E,CAAA;AACpG,eAAO,MAAM,gBAAgB,SAA4D,CAAA;AACzF,eAAO,MAAM,aAAa,SAA6B,CAAA;AACvD,eAAO,MAAM,QAAQ,SAKA,CAAA"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/constants/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,OAAO,CAAA;AAGlD,eAAO,MAAM,SAAS,SAA6B,CAAA;AACnD,eAAO,MAAM,KAAK,SAAyB,CAAA;AAE3C,eAAO,MAAM,KAAK,SAEgD,CAAA;AAElE,eAAO,MAAM,KAAK,SAAyC,CAAA;AAC3D,eAAO,MAAM,QAAQ,SAAyC,CAAA;AAC9D,eAAO,MAAM,yBAAyB,kBAAsC,CAAA;AAC5E,eAAO,MAAM,QAAQ,SAA+E,CAAA;AACpG,eAAO,MAAM,gBAAgB,SAA4D,CAAA;AACzF,eAAO,MAAM,aAAa,SAA6B,CAAA;AACvD,eAAO,MAAM,QAAQ,SAKA,CAAA"}
@@ -1,9 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { View, ViewStyle } from 'react-native';
3
- import { SpaceTokens, StackProps, StaticConfig, StaticConfigParsed, TamaguiComponent, TamaguiComponentState } from './types';
4
- export declare const defaultComponentState: TamaguiComponentState;
3
+ import { SpaceTokens, StackProps, StaticConfig, StaticConfigParsed, StylableComponent, TamaguiComponent } from './types';
5
4
  export declare const mouseUps: Set<Function>;
6
- export declare function createComponent<ComponentPropTypes extends Object = {}, Ref = View, BaseProps = never>(configIn: Partial<StaticConfig> | StaticConfigParsed): TamaguiComponent<ComponentPropTypes, Ref, BaseProps, {}>;
5
+ export declare function createComponent<ComponentPropTypes extends Object = {}, Ref = View, BaseProps = never>(configIn: Partial<StaticConfig> | StaticConfigParsed, ParentComponent?: StylableComponent): TamaguiComponent<ComponentPropTypes, Ref, BaseProps, {}>;
7
6
  export declare const Spacer: TamaguiComponent<Omit<StackProps, "flex" | "direction"> & {
8
7
  size?: SpaceTokens | undefined;
9
8
  flex?: number | boolean | undefined;
@@ -16,5 +15,5 @@ export declare function spacedChildren({ isZStack, children, space, flexDirectio
16
15
  spaceFlex?: boolean | number;
17
16
  flexDirection?: ViewStyle['flexDirection'];
18
17
  }): any[];
19
- export declare const AbsoluteFill: (props: any) => JSX.Element;
18
+ export declare function AbsoluteFill(props: any): JSX.Element;
20
19
  //# sourceMappingURL=createComponent.d.ts.map