UNPKG

@vertisanpro/flowbite-react

Version:

Non-Official React components built for Flowbite and Tailwind CSS

17 lines (16 loc) 900 B
'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 }))); };