mt-flowbite-react
Version:
Official React components built for Flowbite and Tailwind CSS
31 lines (30 loc) • 1.89 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Sidebar = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const tailwind_merge_1 = require("tailwind-merge");
const __1 = require("../../");
const merge_deep_1 = require("../../helpers/merge-deep");
const SidebarCTA_1 = require("./SidebarCTA");
const SidebarCollapse_1 = require("./SidebarCollapse");
const SidebarContext_1 = require("./SidebarContext");
const SidebarItem_1 = require("./SidebarItem");
const SidebarItemGroup_1 = require("./SidebarItemGroup");
const SidebarItems_1 = require("./SidebarItems");
const SidebarLogo_1 = __importDefault(require("./SidebarLogo"));
const SidebarComponent = ({ children, as: Component = 'nav', collapseBehavior = 'collapse', collapsed: isCollapsed = false, theme: customTheme = {}, className, ...props }) => {
const theme = (0, merge_deep_1.mergeDeep)((0, __1.useTheme)().theme.sidebar, customTheme);
return ((0, jsx_runtime_1.jsx)(SidebarContext_1.SidebarContext.Provider, { value: { isCollapsed }, children: (0, jsx_runtime_1.jsx)(Component, { "aria-label": "Sidebar", hidden: isCollapsed && collapseBehavior === 'hide', className: (0, tailwind_merge_1.twMerge)(theme.root.base, theme.root.collapsed[isCollapsed ? 'on' : 'off'], className), ...props, children: (0, jsx_runtime_1.jsx)("div", { className: theme.root.inner, children: children }) }) }));
};
SidebarComponent.displayName = 'Sidebar';
exports.Sidebar = Object.assign(SidebarComponent, {
Collapse: SidebarCollapse_1.SidebarCollapse,
CTA: SidebarCTA_1.SidebarCTA,
Item: SidebarItem_1.SidebarItem,
Items: SidebarItems_1.SidebarItems,
ItemGroup: SidebarItemGroup_1.SidebarItemGroup,
Logo: SidebarLogo_1.default,
});
;