'use client' import { forwardRef } from 'react' import * as React from 'react' import { ChevronSmallDownIcon, ChevronSmallRightIcon, } from '@channel.io/bezier-icons' import classNames from 'classnames' import { isNil } from '~/src/utils/type' import { BaseButton } from '~/src/components/BaseButton' import { Icon } from '~/src/components/Icon' import { Text } from '~/src/components/Text' // eslint-disable-next-line no-restricted-imports import commonStyles from '../NavItem/NavItem.module.scss' import type { NavGroupProps } from './NavGroup.types' import styles from './NavGroup.module.scss' /** * @deprecated */ const NAV_GROUP_TEST_ID = 'bezier-nav-group' /** * @deprecated */ const NAV_GROUP_LEFT_ICON_TEST_ID = 'bezier-nav-group-left-icon' export const NavGroup = forwardRef( function NavGroup( { name, className, children, content, rightContent, leftContent, open, active, onClick, ...rest }, forwardedRef ) { const handleClickItem = (e?: React.MouseEvent) => { onClick?.(e, name) } const hasChildren = !isNil(children) const chevronIconSource = open ? ChevronSmallDownIcon : ChevronSmallRightIcon const ariaName = `${name}Menu` return (
  • {content} {hasChildren && (
    )} {rightContent && (
    {rightContent}
    )}
    {open && ( )}
  • ) } )