UNPKG

@tra-tech/react-native-kitra

Version:
80 lines (79 loc) 1.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultTheme = exports.ThemeProvider = exports.ThemeContext = void 0; var _react = require("react"); const ThemeContext = /*#__PURE__*/(0, _react.createContext)({}); exports.ThemeContext = ThemeContext; const ThemeProvider = _ref => { let { children } = _ref; const [colorScheme, setColorScheme] = (0, _react.useState)('dark'); const [theme, setTheme] = (0, _react.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 = (0, _react.useMemo)(() => ({ theme: GetColors(), updateTheme, setColorScheme, colorScheme }), [theme, colorScheme]); return /*#__PURE__*/React.createElement(ThemeContext.Provider, { value: contextValue }, children); }; exports.ThemeProvider = ThemeProvider; 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' }; 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 } }; exports.defaultTheme = defaultTheme; //# sourceMappingURL=theme.js.map