@tra-tech/react-native-kitra
Version:
UI kit for React Native
80 lines (79 loc) • 1.98 kB
JavaScript
;
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