@tamagui/core 1.0.1-beta.65 → 1.0.1-beta.68

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 (66) hide show
  1. package/dist/cjs/Tamagui.js +0 -3
  2. package/dist/cjs/Tamagui.js.map +2 -2
  3. package/dist/cjs/ThemeManager.js +1 -1
  4. package/dist/cjs/ThemeManager.js.map +2 -2
  5. package/dist/cjs/constants/constants.js +1 -1
  6. package/dist/cjs/constants/constants.js.map +1 -1
  7. package/dist/cjs/createComponent.js +55 -35
  8. package/dist/cjs/createComponent.js.map +2 -2
  9. package/dist/cjs/createTamagui.js +13 -9
  10. package/dist/cjs/createTamagui.js.map +2 -2
  11. package/dist/cjs/helpers/createTamaguiProvider.js +12 -12
  12. package/dist/cjs/helpers/createTamaguiProvider.js.map +2 -2
  13. package/dist/cjs/helpers/getSplitStyles.js +12 -7
  14. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  15. package/dist/cjs/helpers/getStylesAtomic.js +7 -7
  16. package/dist/cjs/helpers/getStylesAtomic.js.map +1 -1
  17. package/dist/cjs/types.js.map +1 -1
  18. package/dist/cjs/views/Theme.js +1 -4
  19. package/dist/cjs/views/Theme.js.map +2 -2
  20. package/dist/cjs/views/ThemeProvider.js +3 -2
  21. package/dist/cjs/views/ThemeProvider.js.map +2 -2
  22. package/dist/esm/Tamagui.js +0 -3
  23. package/dist/esm/Tamagui.js.map +2 -2
  24. package/dist/esm/ThemeManager.js +1 -1
  25. package/dist/esm/ThemeManager.js.map +2 -2
  26. package/dist/esm/constants/constants.js +1 -1
  27. package/dist/esm/constants/constants.js.map +1 -1
  28. package/dist/esm/createComponent.js +55 -35
  29. package/dist/esm/createComponent.js.map +2 -2
  30. package/dist/esm/createTamagui.js +14 -10
  31. package/dist/esm/createTamagui.js.map +2 -2
  32. package/dist/esm/helpers/createTamaguiProvider.js +7 -7
  33. package/dist/esm/helpers/createTamaguiProvider.js.map +2 -2
  34. package/dist/esm/helpers/getSplitStyles.js +13 -8
  35. package/dist/esm/helpers/getSplitStyles.js.map +2 -2
  36. package/dist/esm/helpers/getStylesAtomic.js +6 -6
  37. package/dist/esm/helpers/getStylesAtomic.js.map +1 -1
  38. package/dist/esm/views/Theme.js +1 -4
  39. package/dist/esm/views/Theme.js.map +2 -2
  40. package/dist/esm/views/ThemeProvider.js +3 -2
  41. package/dist/esm/views/ThemeProvider.js.map +2 -2
  42. package/dist/jsx/Tamagui.js +0 -3
  43. package/dist/jsx/ThemeManager.js +1 -1
  44. package/dist/jsx/constants/constants.js +1 -1
  45. package/dist/jsx/createComponent.js +53 -32
  46. package/dist/jsx/createTamagui.js +14 -10
  47. package/dist/jsx/helpers/createTamaguiProvider.js +4 -7
  48. package/dist/jsx/helpers/getSplitStyles.js +13 -8
  49. package/dist/jsx/helpers/getStylesAtomic.js +6 -6
  50. package/dist/jsx/views/Theme.js +1 -4
  51. package/dist/jsx/views/ThemeProvider.js +3 -2
  52. package/package.json +6 -5
  53. package/reset.css +12 -7
  54. package/types/constants/constants.d.ts +1 -1
  55. package/types/constants/constants.d.ts.map +1 -1
  56. package/types/createComponent.d.ts +3 -1
  57. package/types/createComponent.d.ts.map +1 -1
  58. package/types/createTamagui.d.ts.map +1 -1
  59. package/types/helpers/createTamaguiProvider.d.ts +2 -5
  60. package/types/helpers/createTamaguiProvider.d.ts.map +1 -1
  61. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  62. package/types/helpers/getStylesAtomic.d.ts +1 -1
  63. package/types/types.d.ts +3 -1
  64. package/types/types.d.ts.map +1 -1
  65. package/types/views/ThemeProvider.d.ts +1 -0
  66. package/types/views/ThemeProvider.d.ts.map +1 -1
@@ -36,14 +36,14 @@ import { Pressability } from "./Pressability";
36
36
  import { Slot, mergeEvent } from "./views/Slot";
37
37
  import { TextAncestorContext } from "./views/TextAncestorContext";
38
38
  React["keep"];
39
- const defaultComponentState = {
39
+ const defaultComponentState = Object.freeze({
40
40
  hover: false,
41
41
  press: false,
42
42
  pressIn: false,
43
43
  focus: false,
44
44
  mounted: false,
45
45
  animation: null
46
- };
46
+ });
47
47
  const mouseUps = /* @__PURE__ */ new Set();
48
48
  if (typeof document !== "undefined") {
49
49
  document.addEventListener("mouseup", () => {
@@ -84,18 +84,6 @@ function createComponent(configIn, ParentComponent) {
84
84
  let defaultNativeStyleSheet;
85
85
  let tamaguiDefaultProps;
86
86
  let initialSplitStyles;
87
- function addPseudoToStyles(styles, name, pseudos) {
88
- const pseudoStyle = pseudos[name];
89
- const shouldNestObject = isWeb && name !== "enterStyle" && name !== "exitStyle";
90
- const defaultPseudoStyle = initialSplitStyles.pseudos[name];
91
- if (defaultPseudoStyle) {
92
- styles.push(shouldNestObject ? { [name]: defaultPseudoStyle } : defaultPseudoStyle);
93
- }
94
- if (pseudoStyle) {
95
- styles.push(shouldNestObject ? { [name]: pseudoStyle } : pseudoStyle);
96
- }
97
- }
98
- __name(addPseudoToStyles, "addPseudoToStyles");
99
87
  const component = forwardRef((propsIn, forwardedRef) => {
100
88
  var _a, _b, _c, _d, _e;
101
89
  let props;
@@ -121,10 +109,18 @@ function createComponent(configIn, ParentComponent) {
121
109
  }
122
110
  const forceUpdate = useForceUpdate();
123
111
  const theme = useTheme(props.theme, componentName, props, forceUpdate);
124
- const [state, set_] = useState(defaultComponentState);
125
- const setStateShallow = createShallowUpdate(set_);
112
+ const statesUsed = useState(defaultComponentState);
113
+ const setStateShallow = createShallowUpdate(statesUsed[1]);
114
+ let state = statesUsed[0];
115
+ if (propsIn.forceStyle) {
116
+ state = {
117
+ ...state,
118
+ [propsIn.forceStyle]: true
119
+ };
120
+ }
126
121
  const shouldAvoidClasses = !!(props.animation && avoidClasses);
127
- const splitStyleState = !shouldAvoidClasses ? {
122
+ const shouldForcePseudo = !!propsIn.forceStyle;
123
+ const splitStyleState = !shouldAvoidClasses && !shouldForcePseudo ? {
128
124
  ...state,
129
125
  dynamicStylesInline: true
130
126
  } : {
@@ -170,6 +166,7 @@ function createComponent(configIn, ParentComponent) {
170
166
  onMouseLeave,
171
167
  hrefAttrs,
172
168
  separator,
169
+ forceStyle: _forceStyle,
173
170
  onClick,
174
171
  theme: _themeProp,
175
172
  defaultVariants,
@@ -355,7 +352,7 @@ function createComponent(configIn, ParentComponent) {
355
352
  }, [hasEnterStyle, props.animation]);
356
353
  let styles;
357
354
  const animationStyles = state.animation ? state.animation.style : null;
358
- if (isStringElement && shouldAvoidClasses) {
355
+ if (isStringElement && shouldAvoidClasses && !shouldForcePseudo) {
359
356
  styles = {
360
357
  ...defaultNativeStyle,
361
358
  ...animationStyles != null ? animationStyles : style,
@@ -368,10 +365,24 @@ function createComponent(configIn, ParentComponent) {
368
365
  medias
369
366
  ];
370
367
  if (!animationStyles) {
371
- !state.mounted && addPseudoToStyles(styles, "enterStyle", pseudos);
372
- state.hover && addPseudoToStyles(styles, "hoverStyle", pseudos);
373
- state.focus && addPseudoToStyles(styles, "focusStyle", pseudos);
374
- state.press && addPseudoToStyles(styles, "pressStyle", pseudos);
368
+ const initPseudos = initialSplitStyles.pseudos;
369
+ const force = shouldForcePseudo;
370
+ !state.mounted && addPseudoToStyles(styles, initPseudos, pseudos, "enterStyle");
371
+ state.hover && addPseudoToStyles(styles, initPseudos, pseudos, "hoverStyle", force);
372
+ state.focus && addPseudoToStyles(styles, initPseudos, pseudos, "focusStyle", force);
373
+ state.press && addPseudoToStyles(styles, initPseudos, pseudos, "pressStyle", force);
374
+ if (props["debug"]) {
375
+ console.log("wtf", state, styles);
376
+ }
377
+ }
378
+ if (shouldForcePseudo) {
379
+ const next = {};
380
+ for (const style2 of styles) {
381
+ if (style2) {
382
+ Object.assign(next, style2);
383
+ }
384
+ }
385
+ Object.assign(splitStyles.style, next);
375
386
  }
376
387
  }
377
388
  if (isWeb) {
@@ -577,7 +588,7 @@ function createComponent(configIn, ParentComponent) {
577
588
  const shouldWrapWithHover = events && attachHover;
578
589
  if (shouldWrapWithHover || shouldWrapWithComponentTheme) {
579
590
  const themeClassName = shouldWrapWithComponentTheme ? `${theme.className}` : "";
580
- const hoverClassName = shouldWrapWithHover ? "tui_Hoverable" : "";
591
+ const hoverClassName = shouldWrapWithHover ? "t_Hoverable" : "";
581
592
  content = <span className={`${hoverClassName} ${themeClassName}`} style={{
582
593
  display: "contents"
583
594
  }} {...shouldWrapWithHover && {
@@ -759,11 +770,11 @@ function spacedChildren({
759
770
  }) {
760
771
  const hasSpace = !!(space || spaceFlex);
761
772
  const hasSeparator = !(separator === void 0 || separator === null);
762
- if (!hasSpace && !hasSeparator) {
773
+ if (!hasSpace && !hasSeparator && !isZStack) {
763
774
  return children;
764
775
  }
765
776
  const childrenList = Children.toArray(children);
766
- if (childrenList.length <= 1) {
777
+ if (childrenList.length <= 1 && !isZStack) {
767
778
  return childrenList;
768
779
  }
769
780
  const final = [];
@@ -774,6 +785,12 @@ function spacedChildren({
774
785
  } else {
775
786
  final.push(<Fragment key={index}>{isZStack ? <AbsoluteFill>{child}</AbsoluteFill> : child}</Fragment>);
776
787
  }
788
+ if (isUnspaced(child) && index === 0) {
789
+ continue;
790
+ }
791
+ if (isZStack) {
792
+ continue;
793
+ }
777
794
  const next = childrenList[index + 1];
778
795
  if (next && !isUnspaced(next)) {
779
796
  if (separator) {
@@ -819,13 +836,7 @@ function isUnspaced(child) {
819
836
  }
820
837
  __name(isUnspaced, "isUnspaced");
821
838
  function AbsoluteFill(props) {
822
- return isWeb ? <div style={{
823
- position: "absolute",
824
- top: 0,
825
- left: 0,
826
- right: 0,
827
- bottom: 0
828
- }}>{props.children}</div> : <View style={StyleSheet.absoluteFill}>{props.child}</View>;
839
+ return <View pointerEvents="box-none" style={StyleSheet.absoluteFill}>{props.children}</View>;
829
840
  }
830
841
  __name(AbsoluteFill, "AbsoluteFill");
831
842
  function processIDRefList(idRefList) {
@@ -1006,6 +1017,16 @@ function assignNativePropsToWeb(elementType, viewProps, nativeProps) {
1006
1017
  }
1007
1018
  }
1008
1019
  __name(assignNativePropsToWeb, "assignNativePropsToWeb");
1020
+ function addPseudoToStyles(styles, initialPseudos, pseudos, name, force = false) {
1021
+ const pseudoStyle = pseudos[name];
1022
+ const shouldNestObject = isWeb && name !== "enterStyle" && name !== "exitStyle";
1023
+ const defaultPseudoStyle = initialPseudos[name];
1024
+ const style = defaultPseudoStyle ? { ...defaultPseudoStyle, ...pseudoStyle } : pseudoStyle;
1025
+ if (style) {
1026
+ styles.push(shouldNestObject && !force ? { [name]: style } : style);
1027
+ }
1028
+ }
1029
+ __name(addPseudoToStyles, "addPseudoToStyles");
1009
1030
  export {
1010
1031
  AbsoluteFill,
1011
1032
  Spacer,
@@ -14,6 +14,7 @@ import {
14
14
  } from "./helpers/registerCSSVariable";
15
15
  import { configureMedia } from "./hooks/useMedia";
16
16
  import { parseFont, registerFontVariables } from "./insertFont";
17
+ import { Tamagui } from "./Tamagui";
17
18
  const createdConfigs = /* @__PURE__ */ new WeakMap();
18
19
  function createTamagui(config) {
19
20
  if (createdConfigs.has(config)) {
@@ -46,7 +47,7 @@ function createTamagui(config) {
46
47
  return res;
47
48
  })();
48
49
  const themeConfig = (() => {
49
- var _a, _b;
50
+ var _a;
50
51
  const themes = { ...config.themes };
51
52
  let cssRules = [];
52
53
  if (isWeb) {
@@ -101,12 +102,12 @@ function createTamagui(config) {
101
102
  vars += `--${themeKey}:${value};`;
102
103
  }
103
104
  const isDarkOrLightBase = themeName === "dark" || themeName === "light";
104
- const isDark = themeName.startsWith("dark");
105
105
  const selectors = names.map((name) => {
106
106
  return `${CNP}${name}`;
107
107
  });
108
108
  if (hasDarkLight) {
109
109
  for (const subName of names) {
110
+ const isDark = subName.startsWith("dark");
110
111
  const childSelector = `${CNP}${subName.replace("dark_", "").replace("light_", "")}`;
111
112
  const order = isDark ? ["dark", "light"] : ["light", "dark"];
112
113
  if (isDarkOrLightBase) {
@@ -126,7 +127,8 @@ function createTamagui(config) {
126
127
  }
127
128
  const rootSep = config.themeClassNameOnRoot ? "" : " ";
128
129
  cssRules.push(`${selectors.map((x) => `:root${rootSep}${x}`).join(", ")} {${vars}}`);
129
- if ((_b = config.shouldAddPrefersColorThemes) != null ? _b : true) {
130
+ if (config.shouldAddPrefersColorThemes) {
131
+ const isDark = themeName.startsWith("dark");
130
132
  if (isDarkOrLightBase) {
131
133
  cssRules.push(`@media(prefers-color-scheme: ${isDark ? "dark" : "light"}) {
132
134
  body { background:${theme.background}; color: ${theme.color} }
@@ -181,30 +183,32 @@ ${getInsertedRules().join("\n")}`;
181
183
  }
182
184
  }
183
185
  const next = {
186
+ defaultTheme: "light",
184
187
  fonts: {},
185
188
  animations: {},
186
189
  shorthands: {},
187
190
  media: {},
188
191
  ...config,
189
192
  themes: themeConfig.themes,
190
- Provider: createTamaguiProvider({
191
- getCSS,
192
- defaultTheme: "light",
193
- ...config,
194
- themes: themeConfig.themes
195
- }),
196
193
  fontsParsed,
197
194
  themeConfig,
198
195
  tokensParsed,
199
196
  parsed: true,
200
- getCSS
197
+ getCSS,
198
+ Provider: null
201
199
  };
200
+ next.Provider = createTamaguiProvider(next);
202
201
  setConfig(next);
203
202
  if (configListeners.size) {
204
203
  configListeners.forEach((cb) => cb(next));
205
204
  configListeners.clear();
206
205
  }
207
206
  createdConfigs.set(next, true);
207
+ if (process.env.NODE_ENV === "development") {
208
+ if (!globalThis["Tamagui"]) {
209
+ globalThis["Tamagui"] = Tamagui;
210
+ }
211
+ }
208
212
  return next;
209
213
  }
210
214
  __name(createTamagui, "createTamagui");
@@ -4,10 +4,7 @@ import * as React from "react";
4
4
  import { ButtonInsideButtonContext } from "../contexts/ButtonInsideButtonContext";
5
5
  import { TextAncestorProvider } from "../views/TextAncestorContext";
6
6
  import { ThemeProvider } from "../views/ThemeProvider";
7
- function createTamaguiProvider({
8
- getCSS,
9
- ...themeProps
10
- }) {
7
+ function createTamaguiProvider(config) {
11
8
  return /* @__PURE__ */ __name(function TamaguiProvider({
12
9
  disableInjectCSS,
13
10
  children,
@@ -18,14 +15,14 @@ function createTamaguiProvider({
18
15
  if (disableInjectCSS)
19
16
  return;
20
17
  const style = document.createElement("style");
21
- style.appendChild(document.createTextNode(getCSS()));
18
+ style.appendChild(document.createTextNode(config.getCSS()));
22
19
  document.head.appendChild(style);
23
20
  return () => {
24
21
  document.head.removeChild(style);
25
22
  };
26
- }, []);
23
+ }, [disableInjectCSS]);
27
24
  }
28
- return <ButtonInsideButtonContext.Provider value={false}><TextAncestorProvider><ThemeProvider {...themeProps} {...themePropsProvider}>{children}</ThemeProvider></TextAncestorProvider></ButtonInsideButtonContext.Provider>;
25
+ return <ButtonInsideButtonContext.Provider value={false}><TextAncestorProvider><ThemeProvider themes={config.themes} defaultTheme={config.defaultTheme || "light"} themeClassNameOnRoot={config.themeClassNameOnRoot} disableRootThemeClass={config.disableRootThemeClass} {...themePropsProvider}>{children}</ThemeProvider></TextAncestorProvider></ButtonInsideButtonContext.Provider>;
29
26
  }, "TamaguiProvider");
30
27
  }
31
28
  __name(createTamaguiProvider, "createTamaguiProvider");
@@ -7,7 +7,7 @@ import { isClient, isWeb, useIsomorphicLayoutEffect } from "../constants/platfor
7
7
  import { mediaQueryConfig, mediaState } from "../hooks/useMedia";
8
8
  import { createMediaStyle } from "./createMediaStyle";
9
9
  import { fixNativeShadow } from "./fixNativeShadow";
10
- import { getStylesAtomic, psuedoCNInverse } from "./getStylesAtomic";
10
+ import { getStylesAtomic, pseudoCNInverse } from "./getStylesAtomic";
11
11
  import {
12
12
  insertStyleRule,
13
13
  insertedTransforms,
@@ -15,6 +15,7 @@ import {
15
15
  updateInsertedCache
16
16
  } from "./insertStyleRule";
17
17
  import { mergeTransform } from "./mergeTransform";
18
+ import { pseudos as pseudoAttrs } from "./pseudos";
18
19
  const skipProps = {
19
20
  animation: true,
20
21
  animateOnly: true,
@@ -36,7 +37,7 @@ const skipProps = {
36
37
  };
37
38
  let conf;
38
39
  const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state, defaultClassNames, debug) => {
39
- var _a;
40
+ var _a, _b;
40
41
  conf = conf || getConfig();
41
42
  const validStyleProps = staticConfig.isText ? stylePropsText : validStyles;
42
43
  const viewProps = {};
@@ -129,18 +130,18 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
129
130
  }
130
131
  for (const cn of valInit.split(" ")) {
131
132
  if (cn[0] === "_") {
132
- const [shorthand, mediaOrPsuedo] = cn.slice(1).split("-");
133
- const isMedia2 = mediaOrPsuedo[0] === "_";
134
- const isPseudo2 = mediaOrPsuedo[0] === "0";
133
+ const [shorthand, mediaOrPseudo] = cn.slice(1).split("-");
134
+ const isMedia2 = mediaOrPseudo[0] === "_";
135
+ const isPseudo2 = mediaOrPseudo[0] === "0";
135
136
  const isMediaOrPseudo2 = isMedia2 || isPseudo2;
136
137
  let fullKey = conf.shorthands[shorthand];
137
138
  if (isMedia2) {
138
- let mediaShortKey = mediaOrPsuedo.slice(1);
139
+ let mediaShortKey = mediaOrPseudo.slice(1);
139
140
  mediaShortKey = mediaShortKey.slice(0, mediaShortKey.indexOf("_"));
140
141
  fullKey += `-${mediaShortKey}`;
141
142
  } else if (isPseudo2) {
142
- const pseudoShortKey = mediaOrPsuedo.slice(1);
143
- fullKey += `-${psuedoCNInverse[pseudoShortKey]}`;
143
+ const pseudoShortKey = mediaOrPseudo.slice(1);
144
+ fullKey += `-${pseudoCNInverse[pseudoShortKey]}`;
144
145
  }
145
146
  usedKeys.add(fullKey);
146
147
  mergeClassName(fullKey, cn, isMediaOrPseudo2);
@@ -205,6 +206,10 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
205
206
  pseudos[key] = pseudos[key] || {};
206
207
  pseudos[key] = getSubStyle(val, staticConfig, theme, props, state, true);
207
208
  if (isWeb && !state.noClassNames) {
209
+ const shorthand = pseudoAttrs[key].name;
210
+ if ((_b = props.forceStyle) == null ? void 0 : _b[shorthand]) {
211
+ console.warn("force");
212
+ }
208
213
  const pseudoStyles = getStylesAtomic({ [key]: pseudos[key] });
209
214
  for (const style2 of pseudoStyles) {
210
215
  const fullKey = `${style2.property}-${key}`;
@@ -7,7 +7,7 @@ import { generateAtomicStyles } from "./generateAtomicStyles";
7
7
  import { invertMapTransformKeys, mergeTransform } from "./mergeTransform";
8
8
  import { pseudos } from "./pseudos";
9
9
  const pseudosOrdered = Object.values(pseudos);
10
- const psuedoCNInverse = {
10
+ const pseudoCNInverse = {
11
11
  hover: "hoverStyle",
12
12
  focus: "focusStyle",
13
13
  press: "pressStyle"
@@ -66,17 +66,17 @@ function getAtomicStyle(style, pseudo, options) {
66
66
  return Object.keys(atomicStyles).map((key) => {
67
67
  const val = atomicStyles[key];
68
68
  const hash = val.identifier;
69
- const psuedoPrefix = pseudo ? `0${pseudo.name}-` : "";
69
+ const pseudoPrefix = pseudo ? `0${pseudo.name}-` : "";
70
70
  if (!val.property) {
71
71
  throw new Error(`no prop`);
72
72
  }
73
73
  const shortProp = reversedShorthands[val.property] || val.property;
74
- const identifier = `_${shortProp}-${psuedoPrefix}${hash}`;
74
+ const identifier = `_${shortProp}-${pseudoPrefix}${hash}`;
75
75
  const className = `.${identifier}`;
76
76
  const rules = val.rules.map((rule) => {
77
77
  if (pseudo) {
78
- const psuedoPrefixSelect = [...Array(pseudo.priority)].map(() => ":root").join("") + " ";
79
- let res = rule.replace(`.${val.identifier}`, `${psuedoPrefixSelect} ${className}`).replace("{", `:${pseudo.name}{`).replace(";", " !important;");
78
+ const pseudoPrefixSelect = [...Array(pseudo.priority)].map(() => ":root").join("") + " ";
79
+ let res = rule.replace(`.${val.identifier}`, `${pseudoPrefixSelect} ${className}`).replace("{", `:${pseudo.name}{`).replace(";", " !important;");
80
80
  if (pseudo.name === "hover") {
81
81
  res = `@media not all and (hover: none) { ${res} }`;
82
82
  }
@@ -106,5 +106,5 @@ const borderDefaults = {
106
106
  };
107
107
  export {
108
108
  getStylesAtomic,
109
- psuedoCNInverse
109
+ pseudoCNInverse
110
110
  };
@@ -17,10 +17,7 @@ const Theme = memo(/* @__PURE__ */ __name(function Theme2(props) {
17
17
  return props.children;
18
18
  }
19
19
  if (isWeb) {
20
- return <span className={[
21
- `tui_Theme`,
22
- ...!props.disableThemeClass ? [props.className, className].filter(Boolean) : []
23
- ].join(" ")} style={{
20
+ return <span className={(!props.disableThemeClass ? [props.className, className].filter(Boolean) : []).join(" ")} style={{
24
21
  display: "contents",
25
22
  color: (_b = (_a = themes[name]) == null ? void 0 : _a.color) == null ? void 0 : _b.toString()
26
23
  }}>{contents}</span>;
@@ -16,9 +16,10 @@ const ThemeProvider = /* @__PURE__ */ __name((props) => {
16
16
  return;
17
17
  }
18
18
  const cn = `${THEME_CLASSNAME_PREFIX}${props.defaultTheme}`;
19
- document.body.classList.add(cn);
19
+ const target = props.themeClassNameOnRoot ? document.documentElement : document.body;
20
+ target.classList.add(cn);
20
21
  return () => {
21
- document.body.classList.remove(cn);
22
+ target.classList.remove(cn);
22
23
  };
23
24
  }, [props.defaultTheme, props.disableRootThemeClass]);
24
25
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/core",
3
- "version": "1.0.1-beta.65",
3
+ "version": "1.0.1-beta.68",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -21,10 +21,11 @@
21
21
  ],
22
22
  "dependencies": {
23
23
  "@expo/match-media": "^0.3.0",
24
- "@tamagui/helpers": "^1.0.1-beta.65",
24
+ "@tamagui/compose-refs": "^1.0.1-beta.68",
25
+ "@tamagui/helpers": "^1.0.1-beta.68",
25
26
  "@tamagui/ow": "^0.28.1",
26
- "@tamagui/use-debounce": "^1.0.1-beta.65",
27
- "@tamagui/use-force-update": "^1.0.1-beta.65",
27
+ "@tamagui/use-debounce": "^1.0.1-beta.68",
28
+ "@tamagui/use-force-update": "^1.0.1-beta.68",
28
29
  "expo-screen-orientation": "^4.2.0",
29
30
  "hyphenate-style-name": "^1.0.4",
30
31
  "normalize-css-color": "^1.0.2",
@@ -35,7 +36,7 @@
35
36
  "react-native-web": "*"
36
37
  },
37
38
  "devDependencies": {
38
- "@tamagui/build": "^1.0.1-beta.65",
39
+ "@tamagui/build": "^1.0.1-beta.68",
39
40
  "@types/react": "^17.0.35",
40
41
  "csstype": "^3.0.10",
41
42
  "esbuild": "^0.14.36",
package/reset.css CHANGED
@@ -14,6 +14,15 @@ a {
14
14
  color: inherit;
15
15
  }
16
16
 
17
+ h1, h2, h3, h4, h5, h6 {
18
+ margin: 0;
19
+ padding: 0;
20
+ }
21
+
22
+ li, select, input, button, [role="slider"] {
23
+ outline: none;
24
+ }
25
+
17
26
  p,
18
27
  input,
19
28
  textarea,
@@ -23,11 +32,7 @@ ul,
23
32
  ol,
24
33
  li,
25
34
  pre,
26
- h1, h2, h3, h4, h5, h6 {
27
- margin: 0;
28
- padding: 0;
29
- }
30
-
31
- li, select, input, button, [role="slider"] {
32
- outline: none;
35
+ dialog {
36
+ all: unset;
37
+ box-sizing: border-box;
33
38
  }
@@ -1,5 +1,5 @@
1
1
  export declare const THEME_NAME_SEPARATOR = "_";
2
- export declare const THEME_CLASSNAME_PREFIX = "tui_";
2
+ export declare const THEME_CLASSNAME_PREFIX = "t_";
3
3
  export declare const stackDefaultStyles: {
4
4
  display?: string | undefined;
5
5
  flexBasis?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,MAAM,CAAA;AACvC,eAAO,MAAM,sBAAsB,SAAS,CAAA;AAE5C,eAAO,MAAM,kBAAkB;;;;;;CAS9B,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,MAAM,CAAA;AACvC,eAAO,MAAM,sBAAsB,OAAO,CAAA;AAE1C,eAAO,MAAM,kBAAkB;;;;;;CAS9B,CAAA"}
@@ -24,7 +24,9 @@ export declare type SpacedChildrenProps = {
24
24
  separator?: React.ReactNode;
25
25
  };
26
26
  export declare function spacedChildren({ isZStack, children, space, direction, spaceFlex, separator, }: SpacedChildrenProps): any;
27
- export declare function AbsoluteFill(props: any): JSX.Element;
27
+ export declare function AbsoluteFill(props: {
28
+ children?: React.ReactNode;
29
+ }): JSX.Element;
28
30
  export declare function assignNativePropsToWeb(elementType: string, viewProps: any, nativeProps: any): void;
29
31
  export {};
30
32
  //# sourceMappingURL=createComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../src/createComponent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAWN,MAAM,OAAO,CAAA;AAqBd,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAGhB,cAAc,EAGf,MAAM,SAAS,CAAA;AAgBhB,eAAO,MAAM,QAAQ,eAAsB,CAAA;AA0B3C,wBAAgB,eAAe,CAC7B,kBAAkB,SAAS,MAAM,GAAG,EAAE,EACtC,GAAG,GAAG,cAAc,EACpB,SAAS,GAAG,KAAK,EACjB,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,kBAAkB,EAAE,eAAe,CAAC,EAAE,iBAAiB,4DA26B1F;AAKD,eAAO,MAAM,QAAQ;YAAW;QAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;KAAE;;CAEjD,CAAA;AAMD,aAAK,cAAc,GAAG,UAAU,GAAG,YAAY,CAAA;AAE/C,oBAAY,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG;IACjE,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;IAC3B,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,cAAc,CAAA;CAC3B,CAAA;AACD,eAAO,MAAM,MAAM,0DA2CjB,CAAA;AAEF,oBAAY,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC5B,SAAS,CAAC,EAAE,kBAAkB,CAAA;IAC9B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC5B,CAAA;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,SAAS,EACT,SAAS,EACT,SAAS,GACV,EAAE,mBAAmB,OAsErB;AA2BD,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,eAkBtC;AA6BD,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,QA6K3F"}
1
+ {"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../src/createComponent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAWN,MAAM,OAAO,CAAA;AAqBd,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAGhB,cAAc,EAGf,MAAM,SAAS,CAAA;AAgBhB,eAAO,MAAM,QAAQ,eAAsB,CAAA;AA0B3C,wBAAgB,eAAe,CAC7B,kBAAkB,SAAS,MAAM,GAAG,EAAE,EACtC,GAAG,GAAG,cAAc,EACpB,SAAS,GAAG,KAAK,EACjB,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,kBAAkB,EAAE,eAAe,CAAC,EAAE,iBAAiB,4DAy7B1F;AAKD,eAAO,MAAM,QAAQ;YAAW;QAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;KAAE;;CAEjD,CAAA;AAMD,aAAK,cAAc,GAAG,UAAU,GAAG,YAAY,CAAA;AAE/C,oBAAY,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG;IACjE,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;IAC3B,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,cAAc,CAAA;CAC3B,CAAA;AACD,eAAO,MAAM,MAAM,0DA2CjB,CAAA;AAEF,oBAAY,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC5B,SAAS,CAAC,EAAE,kBAAkB,CAAA;IAC9B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC5B,CAAA;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,SAAS,EACT,SAAS,EACT,SAAS,GACV,EAAE,mBAAmB,OAgFrB;AA2BD,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,eAMjE;AA6BD,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,QA6K3F"}
@@ -1 +1 @@
1
- {"version":3,"file":"createTamagui.d.ts","sourceRoot":"","sources":["../src/createTamagui.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAA8B,MAAM,kBAAkB,CAAA;AAWvE,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,qBAAqB,EACrB,SAAS,EAEV,MAAM,SAAS,CAAA;AAEhB,oBAAY,kBAAkB,GAE5B,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC,CAAC,GAAG;IACxE,UAAU,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,EAAE;QACN,CAAC,GAAG,EAAE,MAAM,GAAG;YACb,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAA;SAC1C,CAAA;KACF,CAAA;IAED,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;QACnC,KAAK,CAAC,EAAE,UAAU,CAAA;QAClB,IAAI,CAAC,EAAE,SAAS,CAAA;QAChB,MAAM,CAAC,EAAE,WAAW,CAAA;KACrB,CAAA;IAID,uBAAuB,CAAC,EAAE,aAAa,EAAE,CAAA;IAIzC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAQ1B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAG5B,2BAA2B,CAAC,EAAE,OAAO,CAAA;IAGrC,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,CAAA;AAKH,oBAAY,kBAAkB,CAAC,IAAI,SAAS,kBAAkB,IAAI,IAAI,SAAS,OAAO,CACpF,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAC1E,GACG,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACvC,OAAO,CAAA;AAEX,wBAAgB,aAAa,CAAC,IAAI,SAAS,kBAAkB,EAC3D,MAAM,EAAE,IAAI,GACX,kBAAkB,CAAC,IAAI,CAAC,CA4P1B;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,CAAA"}
1
+ {"version":3,"file":"createTamagui.d.ts","sourceRoot":"","sources":["../src/createTamagui.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAA8B,MAAM,kBAAkB,CAAA;AAYvE,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,qBAAqB,EACrB,SAAS,EAEV,MAAM,SAAS,CAAA;AAEhB,oBAAY,kBAAkB,GAE5B,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC,CAAC,GAAG;IACxE,UAAU,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,EAAE;QACN,CAAC,GAAG,EAAE,MAAM,GAAG;YACb,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAA;SAC1C,CAAA;KACF,CAAA;IAED,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;QACnC,KAAK,CAAC,EAAE,UAAU,CAAA;QAClB,IAAI,CAAC,EAAE,SAAS,CAAA;QAChB,MAAM,CAAC,EAAE,WAAW,CAAA;KACrB,CAAA;IAID,uBAAuB,CAAC,EAAE,aAAa,EAAE,CAAA;IAIzC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAQ1B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAG5B,2BAA2B,CAAC,EAAE,OAAO,CAAA;IAGrC,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,CAAA;AAKH,oBAAY,kBAAkB,CAAC,IAAI,SAAS,kBAAkB,IAAI,IAAI,SAAS,OAAO,CACpF,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAC1E,GACG,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACvC,OAAO,CAAA;AAEX,wBAAgB,aAAa,CAAC,IAAI,SAAS,kBAAkB,EAC3D,MAAM,EAAE,IAAI,GACX,kBAAkB,CAAC,IAAI,CAAC,CAiQ1B;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,CAAA"}
@@ -1,7 +1,4 @@
1
1
  /// <reference types="react" />
2
- import { TamaguiProviderProps } from '../types';
3
- import { ThemeProviderProps } from '../views/ThemeProvider';
4
- export declare function createTamaguiProvider({ getCSS, ...themeProps }: ThemeProviderProps & {
5
- getCSS: () => string;
6
- }): ({ disableInjectCSS, children, ...themePropsProvider }: TamaguiProviderProps) => JSX.Element;
2
+ import { TamaguiInternalConfig, TamaguiProviderProps } from '../types';
3
+ export declare function createTamaguiProvider(config: TamaguiInternalConfig): ({ disableInjectCSS, children, ...themePropsProvider }: TamaguiProviderProps) => JSX.Element;
7
4
  //# sourceMappingURL=createTamaguiProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createTamaguiProvider.d.ts","sourceRoot":"","sources":["../../src/helpers/createTamaguiProvider.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAE/C,OAAO,EAAiB,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE1E,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,GAAG,UAAU,EACd,EAAE,kBAAkB,GAAG;IACtB,MAAM,EAAE,MAAM,MAAM,CAAA;CACrB,2DAKI,oBAAoB,iBAwBxB"}
1
+ {"version":3,"file":"createTamaguiProvider.d.ts","sourceRoot":"","sources":["../../src/helpers/createTamaguiProvider.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAItE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,2DAK9D,oBAAoB,iBA8BxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAKxC,OAAO,EACL,SAAS,EACT,SAAS,EAET,YAAY,EAEZ,eAAe,EACf,UAAU,EACV,kBAAkB,EAElB,WAAW,EACZ,MAAM,UAAU,CAAA;AAYjB,oBAAY,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAC3D,oBAAY,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AACrD,oBAAY,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AA2BhE,aAAK,aAAa,GAAG,CACnB,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7B,YAAY,EAAE,kBAAkB,EAChC,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,eAAe,GAAG;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,EACD,iBAAiB,CAAC,EAAE,GAAG,EACvB,KAAK,CAAC,EAAE,SAAS,KACd;IACH,OAAO,EAAE,YAAY,CAAA;IACrB,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACpC,KAAK,EAAE,SAAS,CAAA;IAChB,UAAU,EAAE,gBAAgB,CAAA;IAC5B,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IACjC,SAAS,EAAE,UAAU,CAAA;CACtB,CAAA;AASD,eAAO,MAAM,cAAc,EAAE,aAgX5B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,aAM/B,CAAA;AAID,eAAO,MAAM,cAAc,EAAE,aAQ5B,CAAA;AAED,eAAO,MAAM,WAAW,YACb,MAAM,gBACD,kBAAkB,SACzB,WAAW,SACX,GAAG,SACH,eAAe,sBACF,OAAO,KAC1B,SAeF,CAAA;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,QAI9C"}
1
+ {"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAKxC,OAAO,EACL,SAAS,EACT,SAAS,EAGT,YAAY,EACZ,eAAe,EACf,UAAU,EACV,kBAAkB,EAElB,WAAW,EACZ,MAAM,UAAU,CAAA;AAajB,oBAAY,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAC3D,oBAAY,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AACrD,oBAAY,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AA2BhE,aAAK,aAAa,GAAG,CACnB,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7B,YAAY,EAAE,kBAAkB,EAChC,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,eAAe,GAAG;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,EACD,iBAAiB,CAAC,EAAE,GAAG,EACvB,KAAK,CAAC,EAAE,SAAS,KACd;IACH,OAAO,EAAE,YAAY,CAAA;IACrB,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACpC,KAAK,EAAE,SAAS,CAAA;IAChB,UAAU,EAAE,gBAAgB,CAAA;IAC5B,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IACjC,SAAS,EAAE,UAAU,CAAA;CACtB,CAAA;AASD,eAAO,MAAM,cAAc,EAAE,aAoX5B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,aAM/B,CAAA;AAID,eAAO,MAAM,cAAc,EAAE,aAQ5B,CAAA;AAED,eAAO,MAAM,WAAW,YACb,MAAM,gBACD,kBAAkB,SACzB,WAAW,SACX,GAAG,SACH,eAAe,sBACF,OAAO,KAC1B,SAeF,CAAA;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,QAI9C"}
@@ -8,7 +8,7 @@ export declare type ViewStyleWithPseudos = ViewStyle & {
8
8
  declare type AtomicStyleOptions = {
9
9
  splitTransforms?: boolean;
10
10
  };
11
- export declare const psuedoCNInverse: {
11
+ export declare const pseudoCNInverse: {
12
12
  hover: string;
13
13
  focus: string;
14
14
  press: string;
package/types/types.d.ts CHANGED
@@ -26,6 +26,7 @@ export declare type TamaguiComponentPropsBase = {
26
26
  tag?: string;
27
27
  theme?: ThemeName | null;
28
28
  componentName?: string;
29
+ forceStyle?: 'hover' | 'press' | 'focus';
29
30
  onHoverIn?: (e: MouseEvent) => any;
30
31
  onHoverOut?: (e: MouseEvent) => any;
31
32
  onPress?: (e: GestureResponderEvent) => any;
@@ -128,6 +129,7 @@ export declare type TamaguiInternalConfig<A extends GenericTokens = GenericToken
128
129
  fontsParsed: GenericFonts;
129
130
  getCSS: () => string;
130
131
  parsed: boolean;
132
+ themeClassNameOnRoot?: boolean;
131
133
  };
132
134
  export declare type GetAnimationKeys<A extends GenericTamaguiConfig> = keyof A['animations']['animations'];
133
135
  export declare type UnionableString = string & {};
@@ -246,7 +248,7 @@ export declare type PseudoProps<A> = {
246
248
  exitStyle?: A | null;
247
249
  enterStyle?: A | null;
248
250
  };
249
- export declare type PsuedoPropKeys = keyof PseudoProps<any>;
251
+ export declare type PseudoPropKeys = keyof PseudoProps<any>;
250
252
  export declare type PseudoStyles = {
251
253
  hoverStyle?: ViewStyle;
252
254
  pressStyle?: ViewStyle;