UNPKG

@cerberus-design/react

Version:

The Cerberus Design React component library.

26 lines (23 loc) 738 B
'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 };