"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const jsx_runtime_1 = require("react/jsx-runtime");
const material_1 = require("@mui/material");
const react_1 = require("react");
const react_2 = require("swiper/react");
function Arrow(props) {
    const { type, currentItem, setCurrentItem, className } = props;
    // STATE
    const [itemsLength, setItemsLength] = (0, react_1.useState)(0);
    // HOOKS
    const swiper = (0, react_2.useSwiper)();
    (0, react_1.useEffect)(() => {
        setItemsLength(swiper.slides.length);
    }, [currentItem]);
    const handleChange = (0, react_1.useCallback)((type) => {
        if (type === 'prev') {
            swiper.slidePrev();
        }
        else {
            swiper.slideNext();
        }
        setCurrentItem(swiper.snapIndex);
    }, [type]);
    if (type === 'prev') {
        return (currentItem > 0 && ((0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ variant: "contained", className: className, size: "medium", onClick: () => handleChange('prev') }, { children: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "chevron_left" }) }))));
    }
    return (itemsLength > 2 &&
        currentItem < itemsLength - 1 && ((0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ variant: "contained", className: className, size: "medium", onClick: () => handleChange('next') }, { children: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "chevron_right" }) }))));
}
exports.default = Arrow;
