Return

All tests / NavigationArrows index.tsx

85.71% Statements 6/7
80% Branches 4/5
100% Functions 1/1
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 28 29 30 31 32 33 34 351x 1x                                         1x 3x                   3x  
import { SlArrowLeft, SlArrowRight } from 'react-icons/sl';
import styles from './navigation.module.css';
 
type Props = {
    hidden?: boolean;
    disabledLeft?: boolean;
    disabledRight?: boolean;
    onClickRight?: () => void;
    onClickLeft?: () => void;
};
 
/**
 * @example
 *     <NavigationArrows />;
 *
 * @param {boolean} hidden - If true, the arrows will be hidden
 * @param {boolean} disabledLeft - If true, the left arrow will be disabled
 * @param {boolean} disabledRight - If true, the right arrow will be disabled
 * @param {Function} onClickLeft - Callback function when left arrow is clicked
 * @param {Function} onClickRight - Callback function when right arrow is clicked
 * @returns {JSX.Element}
 */
const NavigationArrows = ({ hidden, disabledLeft, onClickLeft, disabledRight, onClickRight }: Props) => {
    Iif (hidden) return null;
 
    return (
        <nav className={styles.nav}>
            <SlArrowLeft className={disabledLeft ? styles.disabled : ''} data-testid="left" onClick={onClickLeft} />
            <SlArrowRight className={disabledRight ? styles.disabled : ''} data-testid="right" onClick={onClickRight} />
        </nav>
    );
};
 
export default NavigationArrows;