@tamagui/core 1.0.1-beta.136 → 1.0.1-beta.139

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 (152) hide show
  1. package/dist/cjs/addTheme.js +74 -0
  2. package/dist/cjs/addTheme.js.map +7 -0
  3. package/dist/cjs/contexts/TextAncestorContext.js +44 -0
  4. package/dist/cjs/contexts/TextAncestorContext.js.map +7 -0
  5. package/dist/cjs/contexts/ThemeContext.js +30 -0
  6. package/dist/cjs/contexts/ThemeContext.js.map +7 -0
  7. package/dist/cjs/createComponent.js +10 -17
  8. package/dist/cjs/createComponent.js.map +2 -2
  9. package/dist/cjs/createTamagui.js +18 -118
  10. package/dist/cjs/createTamagui.js.map +2 -2
  11. package/dist/cjs/createTheme.js +2 -5
  12. package/dist/cjs/createTheme.js.map +2 -2
  13. package/dist/cjs/ensureThemeVariable.js +152 -0
  14. package/dist/cjs/ensureThemeVariable.js.map +7 -0
  15. package/dist/cjs/helpers/ThemeManager.js +209 -0
  16. package/dist/cjs/helpers/ThemeManager.js.map +7 -0
  17. package/dist/cjs/helpers/assignNativePropsToWeb.js +1 -0
  18. package/dist/cjs/helpers/assignNativePropsToWeb.js.map +2 -2
  19. package/dist/cjs/helpers/createPropMapper.js +2 -3
  20. package/dist/cjs/helpers/createPropMapper.js.map +2 -2
  21. package/dist/cjs/helpers/createTamaguiProvider.js +3 -1
  22. package/dist/cjs/helpers/createTamaguiProvider.js.map +2 -2
  23. package/dist/cjs/helpers/ensureThemeVariable.js +152 -0
  24. package/dist/cjs/helpers/ensureThemeVariable.js.map +7 -0
  25. package/dist/cjs/helpers/getSplitStyles.js +11 -2
  26. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  27. package/dist/cjs/helpers/getThemeCSSRules.js +98 -0
  28. package/dist/cjs/helpers/getThemeCSSRules.js.map +7 -0
  29. package/dist/cjs/helpers/getThemeCSSRules.native.js +31 -0
  30. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +7 -0
  31. package/dist/cjs/helpers/getVariantExtras.js +6 -6
  32. package/dist/cjs/helpers/getVariantExtras.js.map +2 -2
  33. package/dist/cjs/helpers/insertStyleRule.js +6 -1
  34. package/dist/cjs/helpers/insertStyleRule.js.map +2 -2
  35. package/dist/cjs/helpers/mergeProps.js +18 -14
  36. package/dist/cjs/helpers/mergeProps.js.map +2 -2
  37. package/dist/cjs/helpers/themes.js +79 -0
  38. package/dist/cjs/helpers/themes.js.map +7 -0
  39. package/dist/cjs/hooks/useId.js +2 -32
  40. package/dist/cjs/hooks/useId.js.map +2 -2
  41. package/dist/cjs/hooks/useMedia.js +75 -92
  42. package/dist/cjs/hooks/useMedia.js.map +2 -2
  43. package/dist/cjs/hooks/useSafeRef.js +60 -0
  44. package/dist/cjs/hooks/useSafeRef.js.map +7 -0
  45. package/dist/cjs/hooks/useTheme.js +20 -11
  46. package/dist/cjs/hooks/useTheme.js.map +2 -2
  47. package/dist/cjs/index.js +23 -4
  48. package/dist/cjs/index.js.map +2 -2
  49. package/dist/cjs/loadTheme.js +64 -0
  50. package/dist/cjs/loadTheme.js.map +7 -0
  51. package/dist/cjs/types.js.map +1 -1
  52. package/dist/cjs/updateTheme.js +44 -0
  53. package/dist/cjs/updateTheme.js.map +7 -0
  54. package/dist/cjs/vendor/Pressability.js +32 -0
  55. package/dist/cjs/vendor/Pressability.js.map +7 -0
  56. package/dist/cjs/vendor/Pressability.native.js +32 -0
  57. package/dist/cjs/vendor/Pressability.native.js.map +7 -0
  58. package/dist/cjs/views/Slot.js +2 -2
  59. package/dist/cjs/views/Slot.js.map +2 -2
  60. package/dist/cjs/views/Theme.js +1 -1
  61. package/dist/cjs/views/Theme.js.map +2 -2
  62. package/dist/cjs/views/ThemeProvider.js +1 -1
  63. package/dist/cjs/views/ThemeProvider.js.map +1 -1
  64. package/dist/cjs/views/ThemeReset.js +1 -1
  65. package/dist/cjs/views/ThemeReset.js.map +1 -1
  66. package/dist/esm/addTheme.js +50 -0
  67. package/dist/esm/addTheme.js.map +7 -0
  68. package/dist/esm/contexts/TextAncestorContext.js +15 -0
  69. package/dist/esm/contexts/TextAncestorContext.js.map +7 -0
  70. package/dist/esm/contexts/ThemeContext.js +6 -0
  71. package/dist/esm/contexts/ThemeContext.js.map +7 -0
  72. package/dist/esm/createComponent.js +10 -17
  73. package/dist/esm/createComponent.js.map +2 -2
  74. package/dist/esm/createTamagui.js +17 -117
  75. package/dist/esm/createTamagui.js.map +2 -2
  76. package/dist/esm/createTheme.js +1 -3
  77. package/dist/esm/createTheme.js.map +2 -2
  78. package/dist/esm/ensureThemeVariable.js +125 -0
  79. package/dist/esm/ensureThemeVariable.js.map +7 -0
  80. package/dist/esm/helpers/ThemeManager.js +183 -0
  81. package/dist/esm/helpers/ThemeManager.js.map +7 -0
  82. package/dist/esm/helpers/assignNativePropsToWeb.js +1 -0
  83. package/dist/esm/helpers/assignNativePropsToWeb.js.map +2 -2
  84. package/dist/esm/helpers/createPropMapper.js +2 -3
  85. package/dist/esm/helpers/createPropMapper.js.map +2 -2
  86. package/dist/esm/helpers/createTamaguiProvider.js +3 -1
  87. package/dist/esm/helpers/createTamaguiProvider.js.map +2 -2
  88. package/dist/esm/helpers/ensureThemeVariable.js +125 -0
  89. package/dist/esm/helpers/ensureThemeVariable.js.map +7 -0
  90. package/dist/esm/helpers/getSplitStyles.js +11 -2
  91. package/dist/esm/helpers/getSplitStyles.js.map +2 -2
  92. package/dist/esm/helpers/getThemeCSSRules.js +74 -0
  93. package/dist/esm/helpers/getThemeCSSRules.js.map +7 -0
  94. package/dist/esm/helpers/getThemeCSSRules.native.js +7 -0
  95. package/dist/esm/helpers/getThemeCSSRules.native.js.map +7 -0
  96. package/dist/esm/helpers/getVariantExtras.js +6 -6
  97. package/dist/esm/helpers/getVariantExtras.js.map +2 -2
  98. package/dist/esm/helpers/insertStyleRule.js +6 -1
  99. package/dist/esm/helpers/insertStyleRule.js.map +2 -2
  100. package/dist/esm/helpers/mergeProps.js +18 -14
  101. package/dist/esm/helpers/mergeProps.js.map +2 -2
  102. package/dist/esm/helpers/themes.js +54 -0
  103. package/dist/esm/helpers/themes.js.map +7 -0
  104. package/dist/esm/hooks/useId.js +1 -28
  105. package/dist/esm/hooks/useId.js.map +2 -2
  106. package/dist/esm/hooks/useMedia.js +74 -92
  107. package/dist/esm/hooks/useMedia.js.map +2 -2
  108. package/dist/esm/hooks/useSafeRef.js +36 -0
  109. package/dist/esm/hooks/useSafeRef.js.map +7 -0
  110. package/dist/esm/hooks/useTheme.js +23 -11
  111. package/dist/esm/hooks/useTheme.js.map +2 -2
  112. package/dist/esm/index.js +23 -3
  113. package/dist/esm/index.js.map +2 -2
  114. package/dist/esm/loadTheme.js +40 -0
  115. package/dist/esm/loadTheme.js.map +7 -0
  116. package/dist/esm/updateTheme.js +20 -0
  117. package/dist/esm/updateTheme.js.map +7 -0
  118. package/dist/esm/vendor/Pressability.js +7 -0
  119. package/dist/esm/vendor/Pressability.js.map +7 -0
  120. package/dist/esm/vendor/Pressability.native.js +7 -0
  121. package/dist/esm/vendor/Pressability.native.js.map +7 -0
  122. package/dist/esm/views/Slot.js +2 -2
  123. package/dist/esm/views/Slot.js.map +2 -2
  124. package/dist/esm/views/Theme.js +1 -1
  125. package/dist/esm/views/Theme.js.map +1 -1
  126. package/dist/esm/views/ThemeProvider.js +1 -1
  127. package/dist/esm/views/ThemeProvider.js.map +1 -1
  128. package/dist/esm/views/ThemeReset.js +1 -1
  129. package/dist/esm/views/ThemeReset.js.map +1 -1
  130. package/package.json +8 -8
  131. package/types/addTheme.d.ts +11 -0
  132. package/types/{views → contexts}/TextAncestorContext.d.ts +0 -0
  133. package/types/{ThemeContext.d.ts → contexts/ThemeContext.d.ts} +1 -1
  134. package/types/createTheme.d.ts +0 -1
  135. package/types/{ThemeManager.d.ts → helpers/ThemeManager.d.ts} +5 -5
  136. package/types/helpers/getSplitStyles.d.ts +1 -0
  137. package/types/helpers/getThemeCSSRules.d.ts +8 -0
  138. package/types/helpers/getThemeCSSRules.native.d.ts +2 -0
  139. package/types/helpers/mergeProps.d.ts +3 -1
  140. package/types/helpers/themes.d.ts +4 -0
  141. package/types/hooks/useId.d.ts +1 -8
  142. package/types/hooks/useMedia.d.ts +2 -1
  143. package/types/hooks/useSafeRef.d.ts +4 -0
  144. package/types/hooks/useTheme.d.ts +2 -1
  145. package/types/index.d.ts +5 -2
  146. package/types/types.d.ts +2 -2
  147. package/types/updateTheme.d.ts +9 -0
  148. package/types/{Pressability.d.ts → vendor/Pressability.d.ts} +0 -0
  149. package/types/{Pressability.native.d.ts → vendor/Pressability.native.d.ts} +0 -0
  150. package/types/views/Theme.d.ts +1 -1
  151. package/types/defaultComponentState.d.ts +0 -1
  152. package/types/helpers/nativeGestureHandler.native.d.ts +0 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/core",
3
- "version": "1.0.1-beta.136",
3
+ "version": "1.0.1-beta.139",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -22,12 +22,12 @@
22
22
  ],
23
23
  "dependencies": {
24
24
  "@expo/match-media": "^0.3.0",
25
- "@tamagui/compose-refs": "^1.0.1-beta.136",
26
- "@tamagui/helpers": "^1.0.1-beta.136",
27
- "@tamagui/rnw": "^1.0.1-beta.136",
28
- "@tamagui/use-debounce": "^1.0.1-beta.136",
29
- "@tamagui/use-event": "^1.0.1-beta.136",
30
- "@tamagui/use-force-update": "^1.0.1-beta.136",
25
+ "@tamagui/compose-refs": "^1.0.1-beta.139",
26
+ "@tamagui/helpers": "^1.0.1-beta.139",
27
+ "@tamagui/rnw": "^1.0.1-beta.139",
28
+ "@tamagui/use-debounce": "^1.0.1-beta.139",
29
+ "@tamagui/use-event": "^1.0.1-beta.139",
30
+ "@tamagui/use-force-update": "^1.0.1-beta.139",
31
31
  "expo-screen-orientation": "^4.3.0",
32
32
  "hyphenate-style-name": "^1.0.4",
33
33
  "normalize-css-color": "^1.0.2",
@@ -38,7 +38,7 @@
38
38
  "react-native-web": "*"
39
39
  },
40
40
  "devDependencies": {
41
- "@tamagui/build": "^1.0.1-beta.136",
41
+ "@tamagui/build": "^1.0.1-beta.139",
42
42
  "@types/react": "^18.0.15",
43
43
  "csstype": "^3.0.10",
44
44
  "esbuild": "^0.14.49",
@@ -0,0 +1,11 @@
1
+ import { ThemeObject } from './types';
2
+ export declare function addTheme({ name: themeName, theme: themeIn, insertCSS, update, }: {
3
+ name: string;
4
+ theme: ThemeObject;
5
+ insertCSS?: boolean;
6
+ update?: boolean;
7
+ }): {
8
+ theme: any;
9
+ cssRules: string[];
10
+ };
11
+ //# sourceMappingURL=addTheme.d.ts.map
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { ThemeName, Themes } from './types';
2
+ import { ThemeName, Themes } from '../types';
3
3
  export declare const ThemeContext: import("react").Context<{
4
4
  themes: Themes;
5
5
  defaultTheme: ThemeName;
@@ -2,7 +2,6 @@ import { Variable } from './createVariable';
2
2
  declare type GenericTheme = {
3
3
  [key: string]: string | Variable;
4
4
  };
5
- export declare const themeToVariableToValueMap: WeakMap<any, Record<string, string>>;
6
5
  export declare const createTheme: <Theme extends GenericTheme>(theme: Theme) => { [K in keyof Theme]: string | Variable<any> | Theme[K]; };
7
6
  export {};
8
7
  //# sourceMappingURL=createTheme.d.ts.map
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { ThemeObject, Themes } from './types';
2
+ import { ThemeObject, Themes } from '../types';
3
3
  declare type ThemeListener = (name: string | null, themeManager: ThemeManager) => void;
4
4
  export declare type SetActiveThemeProps = {
5
5
  className?: string;
@@ -26,12 +26,12 @@ export declare class ThemeManager {
26
26
  get didChangeTheme(): boolean | null;
27
27
  get parentName(): string | null;
28
28
  get fullName(): string;
29
- getValue(key: string): import("./types").VariableVal | undefined;
30
- update({ name, theme, className }?: SetActiveThemeProps): boolean;
29
+ getValue(key: string): import("../types").VariableVal | undefined;
30
+ update({ name, theme, className }?: SetActiveThemeProps, force?: boolean): boolean;
31
31
  getNextTheme(props?: GetNextThemeProps, debug?: any): {
32
32
  name: string;
33
- theme: (Partial<import("./types").TamaguiBaseTheme> & {
34
- [key: string]: import("./types").VariableVal;
33
+ theme: (Partial<import("../types").TamaguiBaseTheme> & {
34
+ [key: string]: import("../types").VariableVal;
35
35
  }) | null;
36
36
  className?: undefined;
37
37
  } | {
@@ -14,6 +14,7 @@ declare type StyleSplitter = (props: {
14
14
  classNames: ClassNamesObject;
15
15
  rulesToInsert: RulesToInsert;
16
16
  viewProps: StackProps;
17
+ fontFamily: string | undefined;
17
18
  };
18
19
  export declare const PROP_SPLIT = "-";
19
20
  export declare const pseudoCNInverse: {
@@ -0,0 +1,8 @@
1
+ import { CreateTamaguiProps, ThemeObject } from '../types';
2
+ export declare function getThemeCSSRules({ config, themeName, theme, names, }: {
3
+ config: CreateTamaguiProps;
4
+ themeName: string;
5
+ theme: ThemeObject;
6
+ names: string[];
7
+ }): string[];
8
+ //# sourceMappingURL=getThemeCSSRules.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare function getThemeCSSRules(): never[];
2
+ //# sourceMappingURL=getThemeCSSRules.native.d.ts.map
@@ -1,2 +1,4 @@
1
- export declare const mergeProps: (a: Object, b: Object, leaveOutClassNames?: boolean) => readonly [Record<string, string>, Record<string, string>];
1
+ declare type StringRecord = Record<string, string>;
2
+ export declare const mergeProps: (a: Object, b: Object, leaveOutClassNames?: boolean, inverseShorthands?: StringRecord) => readonly [StringRecord, StringRecord];
3
+ export {};
2
4
  //# sourceMappingURL=mergeProps.d.ts.map
@@ -0,0 +1,4 @@
1
+ import { CreateTamaguiProps } from '../types';
2
+ export declare function ensureThemeVariable(theme: any, key: string): void;
3
+ export declare function proxyThemeToParents(themeName: string, theme: any, themes: CreateTamaguiProps['themes']): any;
4
+ //# sourceMappingURL=themes.d.ts.map
@@ -1,9 +1,2 @@
1
- declare function useId(idFromProps: string): string;
2
- declare function useId(idFromProps: number): number;
3
- declare function useId(idFromProps: string | number): string | number;
4
- declare function useId(idFromProps: string | undefined | null): string | undefined;
5
- declare function useId(idFromProps: number | undefined | null): number | undefined;
6
- declare function useId(idFromProps: string | number | undefined | null): string | number | undefined;
7
- declare function useId(): string | undefined;
8
- export { useId };
1
+ export { useId } from 'react';
9
2
  //# sourceMappingURL=useId.d.ts.map
@@ -1,10 +1,11 @@
1
1
  import { ConfigureMediaQueryOptions, MediaQueries, MediaQueryKey, MediaQueryObject, MediaQueryState } from '../types';
2
2
  export declare const mediaState: MediaQueryState;
3
- export declare function addMediaQueryListener(key: MediaQueryKey, cb: any): void;
3
+ export declare function addMediaQueryListener(key: MediaQueryKey, cb: any): () => void;
4
4
  export declare function removeMediaQueryListener(key: MediaQueryKey, cb: any): void;
5
5
  export declare const mediaQueryConfig: MediaQueries;
6
6
  export declare const getMedia: () => MediaQueryState;
7
7
  export declare const configureMedia: ({ queries, defaultActive, }?: ConfigureMediaQueryOptions) => void;
8
+ export declare function useMediaQueryListeners(): void;
8
9
  export declare function useMedia(): {
9
10
  [key in MediaQueryKey]: boolean;
10
11
  };
@@ -0,0 +1,4 @@
1
+ export declare const useSafeRef: <T>(initialValue: T) => {
2
+ current: T;
3
+ };
4
+ //# sourceMappingURL=useSafeRef.d.ts.map
@@ -1,4 +1,4 @@
1
- import { ThemeManager } from '../ThemeManager';
1
+ import { ThemeManager } from '../helpers/ThemeManager';
2
2
  import { ThemeName, ThemeObject } from '../types';
3
3
  export declare type ThemeProps = {
4
4
  className?: string;
@@ -15,6 +15,7 @@ export declare const useThemeName: (opts?: {
15
15
  parent?: true;
16
16
  }) => string;
17
17
  export declare const useDefaultThemeName: () => ThemeName | undefined;
18
+ export declare const activeThemeManagers: Set<ThemeManager>;
18
19
  export declare const useChangeThemeEffect: (name?: string | null, componentName?: string, props?: ThemeProps, forceUpdateProp?: any) => {
19
20
  themes: {
20
21
  [key: string]: Partial<import("../types").TamaguiBaseTheme> & {
package/types/index.d.ts CHANGED
@@ -8,6 +8,8 @@ export * from './createTokens';
8
8
  export * from './createVariable';
9
9
  export * from './createVariables';
10
10
  export * from './insertFont';
11
+ export * from './addTheme';
12
+ export * from './updateTheme';
11
13
  export * from './styled';
12
14
  export * from './types';
13
15
  export type { RNWTextProps, RNWViewProps } from './types-rnw';
@@ -39,15 +41,16 @@ export * from './hooks/useConstant';
39
41
  export * from './hooks/useId';
40
42
  export * from './hooks/useIsMounted';
41
43
  export * from './hooks/useIsTouchDevice';
42
- export * from './hooks/useMedia';
44
+ export { configureMedia, getMedia, mediaState, useMedia, mediaObjectToString, addMediaQueryListener, removeMediaQueryListener, mediaQueryConfig, } from './hooks/useMedia';
43
45
  export * from './hooks/usePressable';
44
46
  export * from './hooks/useTheme';
45
47
  export * from './hooks/useIsSSR';
46
48
  export * from './hooks/useUnmountEffect';
49
+ export * from './hooks/useSafeRef';
47
50
  export * from './views/Slot';
48
51
  export * from './views/Stack';
49
52
  export * from './views/Text';
50
- export { TextAncestorProvider, TextAncestorContext } from './views/TextAncestorContext';
53
+ export { TextAncestorProvider, TextAncestorContext } from './contexts/TextAncestorContext';
51
54
  export * from './views/Theme';
52
55
  export * from './views/ThemeInverse';
53
56
  export * from './views/ThemeProvider';
package/types/types.d.ts CHANGED
@@ -163,7 +163,7 @@ export declare type CreateTamaguiProps = {
163
163
  Text?: TextProps;
164
164
  Spacer?: SpacerProps;
165
165
  };
166
- mediaQueryDefaultActive?: MediaQueryKey[];
166
+ mediaQueryDefaultActive?: Record<MediaQueryKey, boolean>;
167
167
  cssStyleSeparator?: string;
168
168
  maxDarkLightNesting?: number;
169
169
  shouldAddPrefersColorThemes?: boolean;
@@ -223,7 +223,7 @@ export declare type MediaQueries = {
223
223
  };
224
224
  export declare type ConfigureMediaQueryOptions = {
225
225
  queries?: MediaQueries;
226
- defaultActive?: MediaQueryKey[];
226
+ defaultActive?: Record<MediaQueryKey, boolean>;
227
227
  };
228
228
  export declare type TransformStyleProps = {
229
229
  x?: number;
@@ -0,0 +1,9 @@
1
+ import { ThemeObject } from './types';
2
+ export declare function updateTheme({ name, theme }: {
3
+ name: string;
4
+ theme: ThemeObject;
5
+ }): {
6
+ theme: any;
7
+ cssRules: string[];
8
+ };
9
+ //# sourceMappingURL=updateTheme.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
+ import { ThemeManager } from '../helpers/ThemeManager';
2
3
  import { ThemeProps } from '../hooks/useTheme';
3
- import { ThemeManager } from '../ThemeManager';
4
4
  export declare const Theme: React.NamedExoticComponent<ThemeProps>;
5
5
  export declare function wrapThemeManagerContext(children: any, themeManager?: ThemeManager | null, shouldSetChildrenThemeToParent?: boolean): any;
6
6
  //# sourceMappingURL=Theme.d.ts.map
@@ -1 +0,0 @@
1
- //# sourceMappingURL=defaultComponentState.d.ts.map
@@ -1,2 +0,0 @@
1
- export * from 'react-native-gesture-handler';
2
- //# sourceMappingURL=nativeGestureHandler.native.d.ts.map