@vertisanpro/flowbite-react
Version:
Non-Official React components built for Flowbite and Tailwind CSS
17 lines (16 loc) • 900 B
JavaScript
'use client';
import { FaBars } from '@vertisanpro/react-icons/fa';
import { twMerge } from '@vertisanpro/tailwind-merge';
import React from 'react';
import { mergeDeep } from '../../helpers/merge-deep';
import { useNavbarContext } from './NavbarContext';
export const NavbarToggle = ({ barIcon: BarIcon = FaBars, className, theme: customTheme = {}, ...props }) => {
const { theme: rootTheme, isOpen, setIsOpen } = useNavbarContext();
const theme = mergeDeep(rootTheme.toggle, customTheme);
const handleClick = () => {
setIsOpen(!isOpen);
};
return (React.createElement("button", { "data-testid": "flowbite-navbar-toggle", onClick: handleClick, className: twMerge(theme.base, className), ...props },
React.createElement("span", { className: "sr-only" }, "Open main menu"),
React.createElement(BarIcon, { "aria-hidden": true, className: theme.icon })));
};