styledwind-native 1.0.0 → 1.1.0
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/index.d.ts +42 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +55 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,35 +1,53 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import RN from 'react-native';
|
|
3
|
-
import {
|
|
3
|
+
import { type TailwindFn, type Style } from 'twrnc';
|
|
4
|
+
type ColorSchemeType = 'light' | 'dark' | 'device';
|
|
5
|
+
interface ColorSchemeContextValue {
|
|
6
|
+
colorScheme: ColorSchemeType;
|
|
7
|
+
toggleColorScheme: () => void;
|
|
8
|
+
setColorScheme: (scheme: ColorSchemeType) => void;
|
|
9
|
+
}
|
|
10
|
+
interface AsyncStorage {
|
|
11
|
+
clear(): Promise<void>;
|
|
12
|
+
getItem(key: string): Promise<string | null>;
|
|
13
|
+
removeItem(key: string): Promise<void>;
|
|
14
|
+
setItem(key: string, value: string): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
interface ProviderProps {
|
|
17
|
+
children: React.ReactNode;
|
|
18
|
+
initialColorScheme?: 'light' | 'dark' | 'device';
|
|
19
|
+
storage?: AsyncStorage;
|
|
20
|
+
}
|
|
4
21
|
interface ImageProps extends RN.ImageProps {
|
|
5
22
|
tintColor?: string;
|
|
6
23
|
}
|
|
7
24
|
type TailwindComponents = TailwindFn & {
|
|
8
|
-
ActivityIndicator: <T =
|
|
9
|
-
AnimatedFlatList: <T =
|
|
10
|
-
AnimatedImage: <T =
|
|
11
|
-
AnimatedScrollView: <T =
|
|
12
|
-
AnimatedSectionList: <T =
|
|
13
|
-
AnimatedText: <T =
|
|
14
|
-
AnimatedView: <T =
|
|
15
|
-
Button: <T =
|
|
16
|
-
FlatList: <T =
|
|
17
|
-
Image: <T =
|
|
18
|
-
Modal: <T =
|
|
19
|
-
SafeAreaView: <T =
|
|
20
|
-
ScrollView: <T =
|
|
21
|
-
SectionList: <T =
|
|
22
|
-
StatusBar: <T =
|
|
23
|
-
Switch: <T =
|
|
24
|
-
Text: <T =
|
|
25
|
-
TextInput: <T =
|
|
26
|
-
TouchableHighlight: <T =
|
|
27
|
-
TouchableNativeFeedback: <T =
|
|
28
|
-
TouchableOpacity: <T =
|
|
29
|
-
View: <T =
|
|
25
|
+
ActivityIndicator: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.ActivityIndicatorProps & T>;
|
|
26
|
+
AnimatedFlatList: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.Animated.AnimatedProps<RN.FlatListProps<any>> & T>;
|
|
27
|
+
AnimatedImage: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.Animated.AnimatedProps<ImageProps> & T>;
|
|
28
|
+
AnimatedScrollView: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.Animated.AnimatedProps<RN.ScrollViewProps> & T>;
|
|
29
|
+
AnimatedSectionList: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.Animated.AnimatedProps<RN.SectionListProps<any>> & T>;
|
|
30
|
+
AnimatedText: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.Animated.AnimatedProps<RN.TextProps> & T>;
|
|
31
|
+
AnimatedView: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.Animated.AnimatedProps<RN.ViewProps> & T>;
|
|
32
|
+
Button: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.ButtonProps & T>;
|
|
33
|
+
FlatList: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.FlatListProps<any> & T>;
|
|
34
|
+
Image: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<ImageProps & T>;
|
|
35
|
+
Modal: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.ModalProps & T>;
|
|
36
|
+
SafeAreaView: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.ViewProps & T>;
|
|
37
|
+
ScrollView: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.ScrollViewProps & T>;
|
|
38
|
+
SectionList: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.SectionListProps<any> & T>;
|
|
39
|
+
StatusBar: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.StatusBarProps & T>;
|
|
40
|
+
Switch: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.SwitchProps & T>;
|
|
41
|
+
Text: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.TextProps & T>;
|
|
42
|
+
TextInput: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.TextInputProps & T>;
|
|
43
|
+
TouchableHighlight: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.TouchableHighlightProps & T>;
|
|
44
|
+
TouchableNativeFeedback: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.TouchableNativeFeedbackProps & T>;
|
|
45
|
+
TouchableOpacity: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.TouchableOpacityProps & T>;
|
|
46
|
+
View: <T = object>(styles: TemplateStringsArray, ...interpolations: ((props: T) => false | Style | undefined)[]) => React.FC<RN.ViewProps & T>;
|
|
30
47
|
};
|
|
48
|
+
export declare function Provider({ children, initialColorScheme, storage, }: ProviderProps): React.JSX.Element;
|
|
31
49
|
declare const tw: TailwindComponents;
|
|
50
|
+
export declare function useColorScheme(): ColorSchemeContextValue;
|
|
32
51
|
export * from 'twrnc';
|
|
33
|
-
export { create, useDeviceContext };
|
|
34
52
|
export default tw;
|
|
35
53
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC9B,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,KAAK,EACX,MAAM,OAAO,CAAC;AAWf,KAAK,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEnD,UAAU,uBAAuB;IAC/B,WAAW,EAAE,eAAe,CAAC;IAC7B,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,cAAc,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;CACnD;AA6BD,UAAU,YAAY;IACpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD;AAED,UAAU,aAAa;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjD,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,UAAU,UAAW,SAAQ,EAAE,CAAC,UAAU;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,KAAK,kBAAkB,GAAG,UAAU,GAAG;IACrC,iBAAiB,EAAE,CAAC,CAAC,GAAG,MAAM,EAC5B,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC;IAC7C,gBAAgB,EAAE,CAAC,CAAC,GAAG,MAAM,EAC3B,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,aAAa,EAAE,CAAC,CAAC,GAAG,MAAM,EACxB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,kBAAkB,EAAE,CAAC,CAAC,GAAG,MAAM,EAC7B,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,mBAAmB,EAAE,CAAC,CAAC,GAAG,MAAM,EAC9B,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,YAAY,EAAE,CAAC,CAAC,GAAG,MAAM,EACvB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,YAAY,EAAE,CAAC,CAAC,GAAG,MAAM,EACvB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,MAAM,EAAE,CAAC,CAAC,GAAG,MAAM,EACjB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IAClC,QAAQ,EAAE,CAAC,CAAC,GAAG,MAAM,EACnB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,GAAG,MAAM,EAChB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,GAAG,MAAM,EAChB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IACjC,YAAY,EAAE,CAAC,CAAC,GAAG,MAAM,EACvB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IAChC,UAAU,EAAE,CAAC,CAAC,GAAG,MAAM,EACrB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;IACtC,WAAW,EAAE,CAAC,CAAC,GAAG,MAAM,EACtB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,GAAG,MAAM,EACpB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,GAAG,MAAM,EACjB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,GAAG,MAAM,EACf,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,GAAG,MAAM,EACpB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IACrC,kBAAkB,EAAE,CAAC,CAAC,GAAG,MAAM,EAC7B,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC;IAC9C,uBAAuB,EAAE,CAAC,CAAC,GAAG,MAAM,EAClC,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,4BAA4B,GAAG,CAAC,CAAC,CAAC;IACnD,gBAAgB,EAAE,CAAC,CAAC,GAAG,MAAM,EAC3B,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,GAAG,MAAM,EACf,MAAM,EAAE,oBAAoB,EAC5B,GAAG,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,KAC3D,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;CACjC,CAAC;AA2FF,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,kBAA6B,EAC7B,OAAO,GACR,EAAE,aAAa,qBAuCf;AAED,QAAA,MAAM,EAAE,oBAAqC,CAAC;AAE9C,wBAAgB,cAAc,4BAY7B;AAED,cAAc,OAAO,CAAC;AACtB,eAAe,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useEffect, createContext, useContext } from 'react';
|
|
2
2
|
import RN from 'react-native';
|
|
3
|
-
import { useDeviceContext,
|
|
3
|
+
import { create, useAppColorScheme, useDeviceContext, } from 'twrnc';
|
|
4
4
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
5
5
|
let tailwindConfig;
|
|
6
6
|
try {
|
|
7
|
-
tailwindConfig = require('
|
|
7
|
+
tailwindConfig = require('../tailwind.config.js'); // eslint-disable-line @typescript-eslint/no-require-imports
|
|
8
8
|
}
|
|
9
|
-
catch (error) { }
|
|
9
|
+
catch (error) { } // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
10
10
|
const twrnc = create(tailwindConfig);
|
|
11
|
+
const ColorSchemeContext = createContext(null);
|
|
11
12
|
const allowedComponents = [
|
|
12
13
|
'ActivityIndicator',
|
|
13
14
|
'AnimatedFlatList',
|
|
@@ -33,10 +34,14 @@ const allowedComponents = [
|
|
|
33
34
|
'View',
|
|
34
35
|
];
|
|
35
36
|
function createTailwindComponent(Component, styles, ...interpolations) {
|
|
36
|
-
const classNames = styles
|
|
37
|
+
const classNames = styles
|
|
38
|
+
.filter(style => !['', ','].includes(style.trim()))
|
|
39
|
+
.join();
|
|
37
40
|
return React.forwardRef(function TailwindComponent({ children, component, ...props }, ref) {
|
|
38
41
|
var _a;
|
|
39
|
-
|
|
42
|
+
// Subscribe to twrnc color scheme changes so all styled components re-render when toggled
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
44
|
+
const [__colorScheme] = useAppColorScheme(twrnc);
|
|
40
45
|
let BaseComponent = Component;
|
|
41
46
|
let baseStyle = null;
|
|
42
47
|
if (typeof component === 'function') {
|
|
@@ -85,8 +90,8 @@ function createTailwindComponent(Component, styles, ...interpolations) {
|
|
|
85
90
|
if (classNames.includes('safe:w-right'))
|
|
86
91
|
style.width = insets.right;
|
|
87
92
|
return (<BaseComponent {...props} ref={ref} style={[baseStyle, style, props.style]}>
|
|
88
|
-
|
|
89
|
-
|
|
93
|
+
{children}
|
|
94
|
+
</BaseComponent>);
|
|
90
95
|
});
|
|
91
96
|
}
|
|
92
97
|
function generateTailwindStyledComponents() {
|
|
@@ -101,8 +106,49 @@ function generateTailwindStyledComponents() {
|
|
|
101
106
|
return acc;
|
|
102
107
|
}, twrnc);
|
|
103
108
|
}
|
|
109
|
+
export function Provider({ children, initialColorScheme = 'device', storage, }) {
|
|
110
|
+
const [colorScheme, toggleColorScheme, setColorScheme] = useAppColorScheme(twrnc);
|
|
111
|
+
useDeviceContext(twrnc, {
|
|
112
|
+
observeDeviceColorSchemeChanges: false,
|
|
113
|
+
initialColorScheme,
|
|
114
|
+
});
|
|
115
|
+
// Load persisted color scheme once on mount
|
|
116
|
+
useEffect(() => {
|
|
117
|
+
if (storage) {
|
|
118
|
+
storage.getItem('tw:color-scheme').then(value => {
|
|
119
|
+
if (value) {
|
|
120
|
+
setColorScheme(value);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
125
|
+
}, []);
|
|
126
|
+
// Persist color scheme on changes
|
|
127
|
+
useEffect(() => {
|
|
128
|
+
if (storage && (colorScheme === 'light' || colorScheme === 'dark')) {
|
|
129
|
+
storage.setItem('tw:color-scheme', colorScheme);
|
|
130
|
+
}
|
|
131
|
+
}, [colorScheme, storage]);
|
|
132
|
+
return (<ColorSchemeContext.Provider value={{
|
|
133
|
+
colorScheme: colorScheme || 'device',
|
|
134
|
+
toggleColorScheme,
|
|
135
|
+
setColorScheme: setColorScheme,
|
|
136
|
+
}}>
|
|
137
|
+
{children}
|
|
138
|
+
</ColorSchemeContext.Provider>);
|
|
139
|
+
}
|
|
104
140
|
const tw = generateTailwindStyledComponents();
|
|
141
|
+
export function useColorScheme() {
|
|
142
|
+
const ctx = useContext(ColorSchemeContext);
|
|
143
|
+
const [colorScheme, toggleColorScheme, setColorScheme] = useAppColorScheme(twrnc);
|
|
144
|
+
if (ctx)
|
|
145
|
+
return ctx;
|
|
146
|
+
return {
|
|
147
|
+
colorScheme: colorScheme || 'device',
|
|
148
|
+
toggleColorScheme,
|
|
149
|
+
setColorScheme: setColorScheme,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
105
152
|
export * from 'twrnc';
|
|
106
|
-
export { create, useDeviceContext };
|
|
107
153
|
export default tw;
|
|
108
154
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|