@umituz/react-native-design-system 1.0.5 → 1.0.6
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@umituz/react-native-design-system",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "Universal design system for React Native apps - Domain-Driven Design architecture with Material Design 3 components",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"types": "src/index.ts",
|
|
@@ -30,6 +30,7 @@ import { View, ScrollView, StyleSheet, ViewStyle } from 'react-native';
|
|
|
30
30
|
import { SafeAreaView, Edge } from 'react-native-safe-area-context';
|
|
31
31
|
import { useAppDesignTokens } from '../hooks/useAppDesignTokens';
|
|
32
32
|
import { LoadingState } from '../loading/presentation/components/LoadingState';
|
|
33
|
+
import type { ThemeMode } from '../tokens/core/TokenFactory';
|
|
33
34
|
|
|
34
35
|
export interface ScreenLayoutProps {
|
|
35
36
|
/**
|
|
@@ -111,6 +112,12 @@ export interface ScreenLayoutProps {
|
|
|
111
112
|
* Useful for screens with inputs
|
|
112
113
|
*/
|
|
113
114
|
keyboardAvoiding?: boolean;
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Theme mode for design tokens (default: 'light')
|
|
118
|
+
* Pass 'dark' for dark mode styling
|
|
119
|
+
*/
|
|
120
|
+
themeMode?: ThemeMode;
|
|
114
121
|
}
|
|
115
122
|
|
|
116
123
|
export const ScreenLayout: React.FC<ScreenLayoutProps> = ({
|
|
@@ -128,8 +135,9 @@ export const ScreenLayout: React.FC<ScreenLayoutProps> = ({
|
|
|
128
135
|
testID,
|
|
129
136
|
hideScrollIndicator = false,
|
|
130
137
|
keyboardAvoiding = false,
|
|
138
|
+
themeMode = 'light',
|
|
131
139
|
}) => {
|
|
132
|
-
const tokens = useAppDesignTokens();
|
|
140
|
+
const tokens = useAppDesignTokens(themeMode);
|
|
133
141
|
const styles = useMemo(() => getStyles(tokens), [tokens]);
|
|
134
142
|
|
|
135
143
|
const bgColor = backgroundColor || tokens.colors.backgroundPrimary;
|