import { cloneElement, Ref, useContext } from 'react'; import { CompositeItem } from 'reakit/Composite'; import { Disclosure } from 'reakit/Disclosure'; import classNames from 'classnames'; import { forwardRefWithAs, PropsWithAs } from '../utils'; import { SidenavCompositeContext, SidenavSubDisclosureContext, } from './context'; import { SidenavItemProps } from './item'; import { ReactElement } from 'react'; function SidenavSubTogglerComponent( { children, className, icon, active, ...props }: PropsWithAs, ref: Ref ) { const disclosure = useContext(SidenavSubDisclosureContext); let iconEl = null; const composite = useContext(SidenavCompositeContext); if (icon) { iconEl = cloneElement(icon as ReactElement, { className: 'w-5 h-5 mr-5', }); } return ( {iconEl} {children} ); } export const SidenavSubToggler = forwardRefWithAs( SidenavSubTogglerComponent );