@coreui/react-pro
Version:
UI Components Library for React.js
29 lines (26 loc) • 1.31 kB
JavaScript
import { __rest } from '../../node_modules/tslib/tslib.es6.js';
import React, { forwardRef, useState, useCallback, useMemo } from 'react';
import PropTypes from 'prop-types';
import classNames from '../../_virtual/index.js';
import { CNavGroupContext } from '../nav/CNavGroupContext.js';
const CSidebarNav = forwardRef((_a, ref) => {
var { children, as: Component = 'ul', className, compact, variant } = _a, rest = __rest(_a, ["children", "as", "className", "compact", "variant"]);
const [activeId, setActiveId] = useState();
const openBranch = useCallback(() => { }, []);
const contextValue = useMemo(() => ({ activeId, setActiveId, openBranch }), [activeId, openBranch]);
return (React.createElement(CNavGroupContext.Provider, { value: contextValue },
React.createElement(Component, Object.assign({ className: classNames('sidebar-nav', {
compact,
'sidebar-nav-tree': variant === 'tree',
}, className), ref: ref }, rest), children)));
});
CSidebarNav.propTypes = {
as: PropTypes.elementType,
children: PropTypes.node,
className: PropTypes.string,
compact: PropTypes.bool,
variant: PropTypes.oneOf(['tree']),
};
CSidebarNav.displayName = 'CSidebarNav';
export { CSidebarNav };
//# sourceMappingURL=CSidebarNav.js.map