From 53677c794aafd55fc649cf7663f47cbeaeddc5d0 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Thu, 31 Mar 2022 22:53:16 +0200 Subject: chore: add an Arrow icon component --- src/components/atoms/icons/arrow.tsx | 97 ++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 src/components/atoms/icons/arrow.tsx (limited to 'src/components/atoms/icons/arrow.tsx') diff --git a/src/components/atoms/icons/arrow.tsx b/src/components/atoms/icons/arrow.tsx new file mode 100644 index 0000000..f50d117 --- /dev/null +++ b/src/components/atoms/icons/arrow.tsx @@ -0,0 +1,97 @@ +import { FC } from 'react'; +import styles from './arrow.module.scss'; + +type ArrowDirection = 'top' | 'right' | 'bottom' | 'left'; + +type ArrowProps = { + /** + * The arrow direction. Default: right. + */ + direction?: ArrowDirection; +}; + +/** + * Arrow component + * + * Render a svg arrow icon. + */ +const Arrow: FC = ({ direction = 'right' }) => { + const directionClass = styles[`icon--${direction}`]; + const classes = `${styles.icon} ${directionClass}`; + + if (direction === 'top') { + return ( + + + + + ); + } + + if (direction === 'bottom') { + return ( + + + + + ); + } + + if (direction === 'left') { + return ( + + + + + ); + } + + return ( + + + + + ); +}; + +export default Arrow; -- cgit v1.2.3