UNPKG

@mui/x-tree-view

Version:

The community edition of the MUI X Tree View components.

54 lines (53 loc) 1.75 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.TreeViewProvider = TreeViewProvider; var React = _interopRequireWildcard(require("react")); var _empty = require("@base-ui/utils/empty"); var _TreeViewContext = require("./TreeViewContext"); var _TreeViewStyleContext = require("./TreeViewStyleContext"); var _useTreeViewBuildContext = require("./useTreeViewBuildContext"); var _jsxRuntime = require("react/jsx-runtime"); /** * Sets up the contexts for the underlying Tree Item components. * * @ignore - do not document. */ function TreeViewProvider(props) { const { store, apiRef, rootRef, classes = _empty.EMPTY_OBJECT, slots = _empty.EMPTY_OBJECT, slotProps = _empty.EMPTY_OBJECT, children } = props; const contextValue = (0, _useTreeViewBuildContext.useTreeViewBuildContext)({ store, apiRef, rootRef }); const styleContextValue = React.useMemo(() => ({ classes, slots: { collapseIcon: slots.collapseIcon, expandIcon: slots.expandIcon, endIcon: slots.endIcon }, slotProps: { collapseIcon: slotProps.collapseIcon, expandIcon: slotProps.expandIcon, endIcon: slotProps.endIcon } }), [classes, slots.collapseIcon, slots.expandIcon, slots.endIcon, slotProps.collapseIcon, slotProps.expandIcon, slotProps.endIcon]); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewContext.TreeViewContext.Provider, { value: contextValue, children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewStyleContext.TreeViewStyleContext.Provider, { value: styleContextValue, children: children }) }); }