summaryrefslogtreecommitdiffstats
path: root/src/components/atoms/icons/hamburger.tsx
blob: 6716b268ec1fbf4dda318f87420bafeb9eec8bb9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { FC } from 'react';
import styles from './hamburger.module.scss';

type HamburgerProps = {
  /**
   * Set additional classnames to the icon.
   */
  className?: string;
  /**
   * Transform hamburger to a close icon when active.
   */
  isActive: boolean;
};

/**
 * Hamburger component
 *
 * Render a Hamburger icon.
 */
const Hamburger: FC<HamburgerProps> = ({ className = '', isActive }) => {
  const stateClass = isActive ? `${styles['icon--active']}` : '';
  const iconClasses = `${styles.icon} ${stateClass} ${className}`;

  return <span className={iconClasses}></span>;
};

export default Hamburger;