UNPKG

react-native-chart-kit

Version:

Beautiful React Native charts for dashboards, reports, and data-rich mobile apps.

28 lines (27 loc) 1.03 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { createContext, useContext, useMemo } from "react"; import { useColorScheme } from "react-native"; const defaultChartKitThemeContext = { mode: "light", preset: "default", presets: {}, theme: undefined }; const ChartKitThemeContext = createContext(defaultChartKitThemeContext); export const ChartKitProvider = ({ children, mode = "light", preset = "default", presets = {}, renderer, theme }) => { const systemColorScheme = useColorScheme(); const resolvedMode = mode === "system" ? systemColorScheme === "dark" ? "dark" : "light" : mode; const value = useMemo(() => ({ mode: resolvedMode, preset, presets, ...(renderer ? { renderer } : {}), theme }), [preset, presets, renderer, resolvedMode, theme]); return (_jsx(ChartKitThemeContext.Provider, { value: value, children: children })); }; export const useChartKitTheme = () => useContext(ChartKitThemeContext);