/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0
*/
import React, { ReactNode, useState, useEffect, useContext } from "react";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faChevronLeft, faChevronRight } from "@fortawesome/free-solid-svg-icons";
import { VisibilityContext } from "react-horizontal-scrolling-menu";
import { useTranslation } from "react-i18next";
function Arrow({
children,
disabled,
onClick,
className,
ariaLabel,
}: {
children: ReactNode;
disabled: boolean;
onClick: VoidFunction;
className: string;
ariaLabel?: string;
}) {
return (
);
}
export function LeftArrow() {
const { t } = useTranslation();
const { initComplete, isFirstItemVisible, scrollPrev } = useContext(VisibilityContext);
const [disabled, setDisabled] = useState(isFirstItemVisible);
useEffect(() => {
setDisabled(isFirstItemVisible);
}, [isFirstItemVisible]);
return (
!disabled && (
scrollPrev()}
className="margin-right-2"
ariaLabel={t("ARIA.PreviosItems")}
>
)
);
}
export function RightArrow() {
const { t } = useTranslation();
const { initComplete, isLastItemVisible, scrollNext } = useContext(VisibilityContext);
const [disabled, setDisabled] = useState(isLastItemVisible);
useEffect(() => {
setDisabled(isLastItemVisible);
}, [isLastItemVisible]);
return (
!disabled && (
scrollNext()}
className="margin-left-2"
ariaLabel={t("ARIA.NextItems")}
>
)
);
}