styledwind-native 0.1.3 → 0.1.5
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 +21 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -29
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -7,10 +7,28 @@ type StyledwindDeviceOptions = {
|
|
|
7
7
|
};
|
|
8
8
|
declare function useColorScheme(options?: StyledwindDeviceOptions): [colorScheme: import("twrnc").RnColorScheme, toggleColorScheme: () => void, setColorScheme: (colorScheme: import("twrnc").RnColorScheme) => void];
|
|
9
9
|
declare function useColorSchemeValue<T>(lightValue: T, darkValue: T): T;
|
|
10
|
-
type
|
|
10
|
+
type StorageAPI = {
|
|
11
|
+
getItem(key: string): Promise<string | null>;
|
|
12
|
+
setItem(key: string, value: string): Promise<void>;
|
|
13
|
+
removeItem?(key: string): Promise<void>;
|
|
14
|
+
};
|
|
15
|
+
type ColorSchemeMode = 'device' | 'light' | 'dark';
|
|
16
|
+
type ColorSchemeContextValue = {
|
|
17
|
+
scheme: ReturnType<typeof useAppColorScheme>[0];
|
|
18
|
+
mode: ColorSchemeMode;
|
|
19
|
+
toggle: () => void;
|
|
20
|
+
setMode: (mode: ColorSchemeMode) => void;
|
|
21
|
+
setScheme: ReturnType<typeof useAppColorScheme>[2];
|
|
22
|
+
};
|
|
23
|
+
declare const ColorSchemeContext: React.Context<ColorSchemeContextValue | null>;
|
|
24
|
+
type ProviderProps = {
|
|
25
|
+
children?: React.ReactNode;
|
|
26
|
+
initialColorScheme?: ColorSchemeMode;
|
|
27
|
+
observeDeviceColorSchemeChanges?: boolean;
|
|
28
|
+
storage?: StorageAPI;
|
|
11
29
|
storageKey?: string;
|
|
12
30
|
};
|
|
13
|
-
declare function
|
|
31
|
+
declare function Provider({ children, initialColorScheme, observeDeviceColorSchemeChanges, storage, storageKey, }: ProviderProps): React.JSX.Element;
|
|
14
32
|
interface ImageProps extends RN.ImageProps {
|
|
15
33
|
tintColor?: string;
|
|
16
34
|
}
|
|
@@ -40,6 +58,6 @@ type TailwindComponents = TailwindFn & {
|
|
|
40
58
|
};
|
|
41
59
|
declare const tw: TailwindComponents;
|
|
42
60
|
export * from 'twrnc';
|
|
43
|
-
export { create, useDeviceContext, useColorSchemeValue, useColorScheme,
|
|
61
|
+
export { create, useDeviceContext, useColorSchemeValue, useColorScheme, Provider, ColorSchemeContext, };
|
|
44
62
|
export default tw;
|
|
45
63
|
//# 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,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import RN from 'react-native';
|
|
3
|
-
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
4
3
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
5
4
|
import { useDeviceContext, useAppColorScheme, create, } from 'twrnc';
|
|
6
5
|
let tailwindConfig;
|
|
@@ -11,6 +10,10 @@ catch (error) { }
|
|
|
11
10
|
const twrnc = create(tailwindConfig);
|
|
12
11
|
function useColorScheme(options) {
|
|
13
12
|
var _a, _b;
|
|
13
|
+
const ctx = React.useContext(ColorSchemeContext);
|
|
14
|
+
if (ctx) {
|
|
15
|
+
return [ctx.scheme, ctx.toggle, ctx.setScheme];
|
|
16
|
+
}
|
|
14
17
|
useDeviceContext(twrnc, {
|
|
15
18
|
initialColorScheme: ((_a = options === null || options === void 0 ? void 0 : options.initialColorScheme) !== null && _a !== void 0 ? _a : 'device'),
|
|
16
19
|
observeDeviceColorSchemeChanges: (_b = options === null || options === void 0 ? void 0 : options.observeDeviceColorSchemeChanges) !== null && _b !== void 0 ? _b : false,
|
|
@@ -18,47 +21,62 @@ function useColorScheme(options) {
|
|
|
18
21
|
return useAppColorScheme(twrnc);
|
|
19
22
|
}
|
|
20
23
|
function useColorSchemeValue(lightValue, darkValue) {
|
|
21
|
-
const
|
|
24
|
+
const ctx = React.useContext(ColorSchemeContext);
|
|
25
|
+
const scheme = ctx ? ctx.scheme : useAppColorScheme(twrnc)[0];
|
|
22
26
|
return scheme === 'dark' ? darkValue : lightValue;
|
|
23
27
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
const ColorSchemeContext = React.createContext(null);
|
|
29
|
+
function Provider({ children, initialColorScheme = 'device', observeDeviceColorSchemeChanges = false, storage, storageKey = 'styledwind:color-scheme', }) {
|
|
30
|
+
// Initialize device context once per tree using the chosen initial mode
|
|
31
|
+
useDeviceContext(twrnc, {
|
|
32
|
+
initialColorScheme,
|
|
33
|
+
observeDeviceColorSchemeChanges,
|
|
34
|
+
});
|
|
35
|
+
const [scheme, _toggle, _setScheme] = useAppColorScheme(twrnc);
|
|
36
|
+
const [mode, setMode] = React.useState(initialColorScheme);
|
|
37
|
+
// Load persisted mode
|
|
29
38
|
React.useEffect(() => {
|
|
39
|
+
if (!storage)
|
|
40
|
+
return;
|
|
30
41
|
let mounted = true;
|
|
31
42
|
(async () => {
|
|
32
43
|
try {
|
|
33
|
-
const saved = await
|
|
34
|
-
if (mounted && (saved === 'light' || saved === 'dark')) {
|
|
35
|
-
|
|
44
|
+
const saved = await storage.getItem(storageKey);
|
|
45
|
+
if (mounted && (saved === 'light' || saved === 'dark' || saved === 'device')) {
|
|
46
|
+
setMode(saved);
|
|
47
|
+
_setScheme(saved === 'device' ? undefined : saved);
|
|
36
48
|
}
|
|
37
49
|
}
|
|
38
50
|
catch (_a) { }
|
|
39
|
-
if (mounted)
|
|
40
|
-
didLoadRef.current = true;
|
|
41
51
|
})();
|
|
42
52
|
return () => {
|
|
43
53
|
mounted = false;
|
|
44
54
|
};
|
|
45
|
-
}, [
|
|
55
|
+
}, [storage, storageKey, _setScheme]);
|
|
56
|
+
// Persist mode
|
|
46
57
|
React.useEffect(() => {
|
|
47
|
-
if (!
|
|
58
|
+
if (!storage)
|
|
48
59
|
return;
|
|
49
60
|
(async () => {
|
|
50
61
|
try {
|
|
51
|
-
|
|
52
|
-
await AsyncStorage.setItem(storageKey, scheme);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
await AsyncStorage.setItem(storageKey, 'system');
|
|
56
|
-
}
|
|
62
|
+
await storage.setItem(storageKey, mode);
|
|
57
63
|
}
|
|
58
64
|
catch (_a) { }
|
|
59
65
|
})();
|
|
60
|
-
}, [
|
|
61
|
-
|
|
66
|
+
}, [mode, storage, storageKey]);
|
|
67
|
+
const toggle = React.useCallback(() => {
|
|
68
|
+
setMode(prev => {
|
|
69
|
+
const next = prev === 'dark' ? 'light' : 'dark';
|
|
70
|
+
_setScheme(next);
|
|
71
|
+
return next;
|
|
72
|
+
});
|
|
73
|
+
}, [_setScheme]);
|
|
74
|
+
const setModeAndScheme = React.useCallback((nextMode) => {
|
|
75
|
+
setMode(nextMode);
|
|
76
|
+
_setScheme(nextMode === 'device' ? undefined : nextMode);
|
|
77
|
+
}, [_setScheme]);
|
|
78
|
+
const value = React.useMemo(() => ({ scheme, mode, toggle, setMode: setModeAndScheme, setScheme: _setScheme }), [scheme, mode, toggle, setModeAndScheme, _setScheme]);
|
|
79
|
+
return <ColorSchemeContext.Provider value={value}>{children}</ColorSchemeContext.Provider>;
|
|
62
80
|
}
|
|
63
81
|
const allowedComponents = [
|
|
64
82
|
'ActivityIndicator',
|
|
@@ -87,13 +105,8 @@ const allowedComponents = [
|
|
|
87
105
|
function createTailwindComponent(Component, styles, ...interpolations) {
|
|
88
106
|
const classNames = styles.filter(style => !['', ','].includes(style.trim())).join();
|
|
89
107
|
return React.forwardRef(function TailwindComponent({ children, component, ...props }, ref) {
|
|
108
|
+
// Device context is managed by the Provider or the consuming hook; avoid per-component init
|
|
90
109
|
var _a;
|
|
91
|
-
// Keep hook order stable and preserve current scheme
|
|
92
|
-
const [scheme] = useAppColorScheme(twrnc);
|
|
93
|
-
useDeviceContext(twrnc, {
|
|
94
|
-
initialColorScheme: (scheme !== null && scheme !== void 0 ? scheme : 'device'),
|
|
95
|
-
observeDeviceColorSchemeChanges: false,
|
|
96
|
-
});
|
|
97
110
|
let BaseComponent = Component;
|
|
98
111
|
let baseStyle = null;
|
|
99
112
|
if (typeof component === 'function') {
|
|
@@ -160,6 +173,6 @@ function generateTailwindStyledComponents() {
|
|
|
160
173
|
}
|
|
161
174
|
const tw = generateTailwindStyledComponents();
|
|
162
175
|
export * from 'twrnc';
|
|
163
|
-
export { create, useDeviceContext, useColorSchemeValue, useColorScheme,
|
|
176
|
+
export { create, useDeviceContext, useColorSchemeValue, useColorScheme, Provider, ColorSchemeContext, };
|
|
164
177
|
export default tw;
|
|
165
178
|
//# 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;AAC1B,OAAO,EAAE,MAAM,cAAc,CAAC;AAC9B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|