UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

45 lines (43 loc) 2.09 kB
"use strict"; 'use client'; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.ChartsSlotsContext = void 0; exports.ChartsSlotsProvider = ChartsSlotsProvider; exports.useChartsSlots = useChartsSlots; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _formatErrorMessage2 = _interopRequireDefault(require("@mui/x-internals/formatErrorMessage")); var React = _interopRequireWildcard(require("react")); var _jsxRuntime = require("react/jsx-runtime"); const ChartsSlotsContext = exports.ChartsSlotsContext = /*#__PURE__*/React.createContext(null); /** * Get the slots and slotProps from the nearest `ChartsDataProvider` or `ChartsDataProviderPro`. * @returns {ChartsSlotsContextValue} The slots and slotProps from the context. */ if (process.env.NODE_ENV !== "production") ChartsSlotsContext.displayName = "ChartsSlotsContext"; function useChartsSlots() { const context = React.useContext(ChartsSlotsContext); if (context == null) { throw new Error(process.env.NODE_ENV !== "production" ? 'MUI X Charts: Could not find the Charts Slots context. ' + 'This happens when the component is rendered outside of a ChartsDataProvider or ChartsContainer parent component, ' + 'which means the required context is not available. ' + 'Wrap your component in a ChartsDataProvider or ChartsContainer. ' + 'This can also happen if you are bundling multiple versions of the library.' : (0, _formatErrorMessage2.default)(11)); } return context; } function ChartsSlotsProvider(props) { const { slots, slotProps = {}, defaultSlots, children } = props; const value = React.useMemo(() => ({ slots: (0, _extends2.default)({}, defaultSlots, slots), slotProps }), [defaultSlots, slots, slotProps]); return /*#__PURE__*/(0, _jsxRuntime.jsx)(ChartsSlotsContext.Provider, { value: value, children: children }); }