@cerberus-design/react
Version:
The Cerberus Design React component library.
26 lines (23 loc) • 738 B
JavaScript
'use client';
import { jsx } from 'react/jsx-runtime';
import { createContext, useContext } from 'react';
import { useTheme } from '../hooks/useTheme.js';
const ThemeContext = createContext(
null
);
function ThemeProvider(props) {
const state = useTheme(props.defaultTheme, props.defaultColorMode, {
cache: props.cache,
updateMode: props.updateMode,
updateTheme: props.updateTheme
});
return /* @__PURE__ */ jsx(ThemeContext.Provider, { value: state, children: props.children });
}
function useThemeContext() {
const context = useContext(ThemeContext);
if (!context) {
throw new Error("useThemeContext must be used within a ThemeProvider");
}
return context;
}
export { ThemeProvider, useThemeContext };