aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/atoms/images/icons/hamburger-icon/hamburger-icon.tsx
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2023-09-28 18:03:43 +0200
committerArmand Philippot <git@armandphilippot.com>2023-10-24 12:25:00 +0200
commit837e0e904c40f7b87561c34ca3f49edd5d8d1c52 (patch)
tree37835dd2c84ed770b5719152aab0b74d93c0878c /src/components/atoms/images/icons/hamburger-icon/hamburger-icon.tsx
parentd17d894f398650209c0ddd29502308de8c07bd93 (diff)
feat(components): replace icons with a generic Icon component
Sizes are also predefined and can be set using the `size` prop, so the consumers should no longer adjust the size in CSS.
Diffstat (limited to 'src/components/atoms/images/icons/hamburger-icon/hamburger-icon.tsx')
-rw-r--r--src/components/atoms/images/icons/hamburger-icon/hamburger-icon.tsx25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/components/atoms/images/icons/hamburger-icon/hamburger-icon.tsx b/src/components/atoms/images/icons/hamburger-icon/hamburger-icon.tsx
new file mode 100644
index 0000000..edd25ba
--- /dev/null
+++ b/src/components/atoms/images/icons/hamburger-icon/hamburger-icon.tsx
@@ -0,0 +1,25 @@
+import type { FC, HTMLAttributes } from 'react';
+import styles from './hamburger-icon.module.scss';
+
+export type HamburgerIconProps = Omit<
+ HTMLAttributes<HTMLSpanElement>,
+ 'children'
+>;
+
+/**
+ * HamburgerIcon component
+ *
+ * Render a Hamburger icon.
+ */
+export const HamburgerIcon: FC<HamburgerIconProps> = ({
+ className = '',
+ ...props
+}) => {
+ const wrapperClass = `${styles.wrapper} ${className}`;
+
+ return (
+ <span {...props} className={wrapperClass}>
+ <span className={styles.icon} />
+ </span>
+ );
+};