UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

33 lines (32 loc) 1.54 kB
"use client"; require("../../../_virtual/_rolldown/runtime.cjs"); const require_default_theme = require("../default-theme.cjs"); const require_merge_mantine_theme = require("../merge-mantine-theme/merge-mantine-theme.cjs"); let react = require("react"); let react_jsx_runtime = require("react/jsx-runtime"); //#region packages/@mantine/core/src/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.tsx const MantineThemeContext = (0, react.createContext)(null); const useSafeMantineTheme = () => (0, react.use)(MantineThemeContext) || require_default_theme.DEFAULT_THEME; function useMantineTheme() { const ctx = (0, react.use)(MantineThemeContext); if (!ctx) throw new Error("@mantine/core: MantineProvider was not found in component tree, make sure you have it in your app"); return ctx; } function MantineThemeProvider({ theme, children, inherit = true }) { const parentTheme = useSafeMantineTheme(); return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MantineThemeContext, { value: (0, react.useMemo)(() => require_merge_mantine_theme.mergeMantineTheme(inherit ? parentTheme : require_default_theme.DEFAULT_THEME, theme), [ theme, parentTheme, inherit ]), children }); } MantineThemeProvider.displayName = "@mantine/core/MantineThemeProvider"; //#endregion exports.MantineThemeContext = MantineThemeContext; exports.MantineThemeProvider = MantineThemeProvider; exports.useMantineTheme = useMantineTheme; exports.useSafeMantineTheme = useSafeMantineTheme; //# sourceMappingURL=MantineThemeProvider.cjs.map