UNPKG

@tra-tech/react-native-kitra

Version:
72 lines 1.74 kB
import { createContext, useMemo, useState } from 'react'; const ThemeContext = /*#__PURE__*/createContext({}); const ThemeProvider = _ref => { let { children } = _ref; const [colorScheme, setColorScheme] = useState('dark'); const [theme, setTheme] = useState(defaultTheme); function updateTheme(newTheme) { setTheme(prev => ({ ...prev, dark: { ...prev.dark, ...(newTheme === null || newTheme === void 0 ? void 0 : newTheme.dark) }, light: { ...prev.light, ...(newTheme === null || newTheme === void 0 ? void 0 : newTheme.light) } })); } const GetColors = () => theme[colorScheme]; const contextValue = useMemo(() => ({ theme: GetColors(), updateTheme, setColorScheme, colorScheme }), [theme, colorScheme]); return /*#__PURE__*/React.createElement(ThemeContext.Provider, { value: contextValue }, children); }; export { ThemeProvider, ThemeContext }; const text = { black: '#000000', lightBlack: '#404040', grey: '#9A9A9A', white: '#FFFFFF', darkWhite: '#FDFCFF', lightGrey: '#F5F4F6' }; const status = { focused: '#654FA6', error: '#FF3434', succes: '#09CE63', disabledLight: '#D7D1E9', disabledDark: '#BDBCBF', disabledLightDark: '#F6F6F6' }; export const defaultTheme = { dark: { primary: '#8973CD', primary5: '#F9F8FD', primary15: '#EDEAF8', primary30: '#DCD5F0', secondary: '#82B98E', tertiary: '#67A7C1', ...text, ...status }, light: { primary: '#8973CD', primary5: '#F9F8FD', primary15: '#F3F1FA', primary30: '#DCD5F0', secondary: '#82B98E', tertiary: '#67A7C1', ...text, ...status } }; //# sourceMappingURL=theme.js.map