@tamagui/core 1.0.1-beta.225 → 1.0.1-beta.227

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 (42) hide show
  1. package/dist/cjs/createComponent.js +5 -14
  2. package/dist/cjs/createComponent.js.map +2 -2
  3. package/dist/cjs/helpers/ThemeManager.js +18 -11
  4. package/dist/cjs/helpers/ThemeManager.js.map +3 -3
  5. package/dist/cjs/helpers/getSplitStyles.js +61 -43
  6. package/dist/cjs/helpers/getSplitStyles.js.map +3 -3
  7. package/dist/cjs/helpers/normalizeColor.js +2 -2
  8. package/dist/cjs/helpers/normalizeColor.js.map +2 -2
  9. package/dist/cjs/hooks/useTheme.js +24 -20
  10. package/dist/cjs/hooks/useTheme.js.map +3 -3
  11. package/dist/cjs/styled.js +0 -10
  12. package/dist/cjs/styled.js.map +2 -2
  13. package/dist/cjs/types.js.map +1 -1
  14. package/dist/cjs/views/Theme.js +5 -9
  15. package/dist/cjs/views/Theme.js.map +2 -2
  16. package/dist/esm/createComponent.js +5 -14
  17. package/dist/esm/createComponent.js.map +2 -2
  18. package/dist/esm/helpers/ThemeManager.js +13 -6
  19. package/dist/esm/helpers/ThemeManager.js.map +2 -2
  20. package/dist/esm/helpers/getSplitStyles.js +61 -43
  21. package/dist/esm/helpers/getSplitStyles.js.map +3 -3
  22. package/dist/esm/helpers/normalizeColor.js +1 -1
  23. package/dist/esm/helpers/normalizeColor.js.map +1 -1
  24. package/dist/esm/hooks/useTheme.js +24 -20
  25. package/dist/esm/hooks/useTheme.js.map +3 -3
  26. package/dist/esm/styled.js +0 -10
  27. package/dist/esm/styled.js.map +2 -2
  28. package/dist/esm/views/Theme.js +5 -9
  29. package/dist/esm/views/Theme.js.map +2 -2
  30. package/package.json +13 -13
  31. package/src/createComponent.tsx +7 -46
  32. package/src/helpers/ThemeManager.tsx +25 -11
  33. package/src/helpers/getSplitStyles.tsx +104 -62
  34. package/src/helpers/normalizeColor.ts +1 -1
  35. package/src/hooks/useTheme.tsx +29 -22
  36. package/src/styled.tsx +0 -12
  37. package/src/types.tsx +5 -8
  38. package/src/views/Theme.tsx +5 -9
  39. package/types/helpers/ThemeManager.d.ts +2 -2
  40. package/types/helpers/getSplitStyles.d.ts +22 -6
  41. package/types/hooks/useTheme.d.ts +0 -1
  42. package/types/types.d.ts +4 -8
@@ -2,10 +2,8 @@ import type { ViewStyle } from '@tamagui/types-react-native';
2
2
  import type { DebugProp, MediaQueryKey, PseudoStyles, SplitStyleState, StackProps, StaticConfigParsed, TamaguiInternalConfig, ThemeParsed } from '../types';
3
3
  import { FontLanguageProps, LanguageContextType } from '../views/FontLanguage.types';
4
4
  import { RulesToInsert } from './insertStyleRule';
5
- export declare type SplitStyles = ReturnType<typeof getSplitStyles>;
6
- export declare type ClassNamesObject = Record<string, string>;
7
- export declare type SplitStyleResult = ReturnType<typeof getSplitStyles>;
8
- declare type SplitStylesAndProps = {
5
+ import { FlatTransforms } from './mergeTransform';
6
+ declare type GetStyleResult = {
9
7
  pseudos: PseudoStyles;
10
8
  medias: Record<MediaQueryKey, ViewStyle>;
11
9
  style: ViewStyle;
@@ -15,12 +13,30 @@ declare type SplitStylesAndProps = {
15
13
  fontFamily: string | undefined;
16
14
  mediaKeys: string[];
17
15
  };
16
+ declare type GetStyleState = {
17
+ style: ViewStyle;
18
+ usedKeys: Record<string, number>;
19
+ classNames: ClassNamesObject;
20
+ flatTransforms: FlatTransforms;
21
+ staticConfig: StaticConfigParsed;
22
+ theme: ThemeParsed;
23
+ props: Record<string, any>;
24
+ viewProps: Record<string, any>;
25
+ state: SplitStyleState;
26
+ conf: TamaguiInternalConfig;
27
+ languageContext?: FontLanguageProps;
28
+ avoidDefaultProps?: boolean;
29
+ avoidMergeTransform?: boolean;
30
+ };
31
+ export declare type SplitStyles = ReturnType<typeof getSplitStyles>;
32
+ export declare type ClassNamesObject = Record<string, string>;
33
+ export declare type SplitStyleResult = ReturnType<typeof getSplitStyles>;
18
34
  declare type StyleSplitter = (props: {
19
35
  [key: string]: any;
20
- }, staticConfig: StaticConfigParsed, theme: ThemeParsed, state: SplitStyleState, parentSplitStyles?: SplitStylesAndProps | null, languageContext?: LanguageContextType, elementType?: string, debug?: DebugProp) => SplitStylesAndProps;
36
+ }, staticConfig: StaticConfigParsed, theme: ThemeParsed, state: SplitStyleState, parentSplitStyles?: GetStyleResult | null, languageContext?: LanguageContextType, elementType?: string, debug?: DebugProp) => GetStyleResult;
21
37
  export declare const PROP_SPLIT = "-";
22
38
  export declare const getSplitStyles: StyleSplitter;
23
- export declare const getSubStyle: (subKey: string, styleIn: Object, staticConfig: StaticConfigParsed, theme: ThemeParsed, props: any, state: SplitStyleState, conf: TamaguiInternalConfig, languageContext?: FontLanguageProps, avoidDefaultProps?: boolean, avoidMergeTransform?: boolean) => ViewStyle;
39
+ export declare const getSubStyle: (styleState: GetStyleState, subKey: string, styleIn: Object, avoidDefaultProps?: boolean, avoidMergeTransform?: boolean) => ViewStyle;
24
40
  export declare const insertSplitStyles: StyleSplitter;
25
41
  export declare const useSplitStyles: StyleSplitter;
26
42
  export {};
@@ -1,7 +1,6 @@
1
1
  import { ThemeManager } from '../helpers/ThemeManager';
2
2
  import { ThemeParsed, ThemeProps } from '../types';
3
3
  export declare type ChangedThemeResponse = {
4
- themes: Record<string, ThemeParsed>;
5
4
  themeManager: ThemeManager | null;
6
5
  name: string;
7
6
  isNewTheme?: boolean;
package/types/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Image, PressableProps, TextProps as ReactTextProps, Text, TextInput, TextStyle, View, ViewProps, ViewStyle } from '@tamagui/types-react-native';
2
2
  import type { Properties } from 'csstype';
3
- import type { Component, ForwardRefExoticComponent, FunctionComponent, HTMLAttributes, ReactNode, RefAttributes, RefObject } from 'react';
3
+ import type { ComponentType, ForwardRefExoticComponent, FunctionComponent, HTMLAttributes, ReactNode, RefAttributes, RefObject } from 'react';
4
4
  import type { Variable } from './createVariable';
5
5
  import type { ResolveVariableTypes } from './helpers/createPropMapper';
6
6
  import type { TamaguiReactElement } from './static';
@@ -323,7 +323,7 @@ declare type FontWeightKeys = 'fontWeight';
323
323
  declare type FontLetterSpacingKeys = 'letterSpacing';
324
324
  declare type LineHeightKeys = 'lineHeight';
325
325
  declare type ZIndexKeys = 'zIndex';
326
- export declare type ThemeValueGet<K extends string | number | symbol> = K extends 'theme' ? ThemeTokens : K extends SizeKeys ? SizeTokens : K extends FontKeys ? FontTokens : K extends FontSizeKeys ? FontSizeTokens : K extends SpaceKeys ? K extends 'shadowOffset' ? {
326
+ export declare type ThemeValueGet<K extends string | number | symbol> = K extends 'theme' ? ThemeTokens : K extends SizeKeys ? SizeTokens : K extends FontKeys ? FontTokens : K extends FontSizeKeys ? FontSizeTokens : K extends `${`border${string | ''}Radius`}` ? RadiusTokens : K extends SpaceKeys ? K extends 'shadowOffset' ? {
327
327
  width: SpaceTokens;
328
328
  height: SpaceTokens;
329
329
  } : SpaceTokens : K extends ColorKeys ? ColorTokens : K extends ZIndexKeys ? ZIndexTokens : K extends LineHeightKeys ? FontLineHeightTokens : K extends FontWeightKeys ? FontWeightTokens : K extends FontLetterSpacingKeys ? FontLetterSpacingTokens : never;
@@ -482,10 +482,6 @@ export declare type StaticConfig = StaticConfigPublic & {
482
482
  * Memoize the component
483
483
  */
484
484
  memo?: boolean;
485
- /**
486
- * Used internally to handle extractable HoC separate
487
- */
488
- isHOC?: boolean;
489
485
  /**
490
486
  * Used insternally to attach default props to names
491
487
  */
@@ -506,10 +502,10 @@ export declare type StaticConfig = StaticConfigPublic & {
506
502
  * variants
507
503
  * --------------------------------------------
508
504
  */
509
- export declare type StylableComponent = TamaguiComponent | Component | ForwardRefExoticComponent<any> | ReactComponentWithRef<any, any> | (new (props: any) => any) | typeof View | typeof Text | typeof TextInput | typeof Image;
505
+ export declare type StylableComponent = TamaguiComponent | ComponentType<any> | ForwardRefExoticComponent<any> | ReactComponentWithRef<any, any> | (new (props: any) => any) | typeof View | typeof Text | typeof TextInput | typeof Image;
510
506
  export declare type GetStyledVariants<A extends TamaguiComponent> = A extends TamaguiComponent<any, any, any, infer Variants> ? Variants : never;
511
507
  export declare type GetBaseProps<A extends StylableComponent> = A extends TamaguiComponent<any, any, infer BaseProps> ? BaseProps : never;
512
- export declare type GetProps<A extends StylableComponent> = A extends TamaguiComponent<infer Props> ? Props : A extends TamaguiReactElement<infer Props> ? Props : A extends Component<infer Props> ? GetGenericComponentTamaguiProps<Props> : A extends new (props: infer Props) => any ? GetGenericComponentTamaguiProps<Props> : {};
508
+ export declare type GetProps<A extends StylableComponent> = A extends TamaguiComponent<infer Props> ? Props : A extends TamaguiReactElement<infer Props> ? Props : A extends ComponentType<infer Props> ? GetGenericComponentTamaguiProps<Props> : A extends new (props: infer Props) => any ? GetGenericComponentTamaguiProps<Props> : {};
513
509
  declare type GetGenericComponentTamaguiProps<P> = P & Omit<'textAlign' extends keyof P ? TextProps : StackProps, keyof P>;
514
510
  export declare type SpreadKeys = '...fontSize' | '...fontStyle' | '...fontTransform' | '...lineHeight' | '...letterSpacing' | '...size' | '...space' | '...color' | '...zIndex' | '...theme' | '...radius';
515
511
  export declare type VariantDefinitions<Parent extends StylableComponent = TamaguiComponent, MyProps extends Object = GetProps<Parent>, Val = any> = VariantDefinitionFromProps<MyProps, Val>;