@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.
- package/dist/cjs/createComponent.js +5 -14
- package/dist/cjs/createComponent.js.map +2 -2
- package/dist/cjs/helpers/ThemeManager.js +18 -11
- package/dist/cjs/helpers/ThemeManager.js.map +3 -3
- package/dist/cjs/helpers/getSplitStyles.js +61 -43
- package/dist/cjs/helpers/getSplitStyles.js.map +3 -3
- package/dist/cjs/helpers/normalizeColor.js +2 -2
- package/dist/cjs/helpers/normalizeColor.js.map +2 -2
- package/dist/cjs/hooks/useTheme.js +24 -20
- package/dist/cjs/hooks/useTheme.js.map +3 -3
- package/dist/cjs/styled.js +0 -10
- package/dist/cjs/styled.js.map +2 -2
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/views/Theme.js +5 -9
- package/dist/cjs/views/Theme.js.map +2 -2
- package/dist/esm/createComponent.js +5 -14
- package/dist/esm/createComponent.js.map +2 -2
- package/dist/esm/helpers/ThemeManager.js +13 -6
- package/dist/esm/helpers/ThemeManager.js.map +2 -2
- package/dist/esm/helpers/getSplitStyles.js +61 -43
- package/dist/esm/helpers/getSplitStyles.js.map +3 -3
- package/dist/esm/helpers/normalizeColor.js +1 -1
- package/dist/esm/helpers/normalizeColor.js.map +1 -1
- package/dist/esm/hooks/useTheme.js +24 -20
- package/dist/esm/hooks/useTheme.js.map +3 -3
- package/dist/esm/styled.js +0 -10
- package/dist/esm/styled.js.map +2 -2
- package/dist/esm/views/Theme.js +5 -9
- package/dist/esm/views/Theme.js.map +2 -2
- package/package.json +13 -13
- package/src/createComponent.tsx +7 -46
- package/src/helpers/ThemeManager.tsx +25 -11
- package/src/helpers/getSplitStyles.tsx +104 -62
- package/src/helpers/normalizeColor.ts +1 -1
- package/src/hooks/useTheme.tsx +29 -22
- package/src/styled.tsx +0 -12
- package/src/types.tsx +5 -8
- package/src/views/Theme.tsx +5 -9
- package/types/helpers/ThemeManager.d.ts +2 -2
- package/types/helpers/getSplitStyles.d.ts +22 -6
- package/types/hooks/useTheme.d.ts +0 -1
- 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
|
-
|
|
6
|
-
|
|
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?:
|
|
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,
|
|
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 {
|
|
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 |
|
|
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
|
|
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>;
|