import React, { useEffect, useState } from "react"; import "./toggle-styles.scss"; import { ToggleProps } from "@app/models/components"; import { Oval } from "react-loader-spinner"; const Toggle: React.FC = ({ options, defaultValue, onChange, disabled, isLoading, label, icon, }) => { const [selected, setSelected] = useState(defaultValue); const handleToggle = (value: string) => { setSelected(value); onChange(value); }; useEffect(() => { setSelected(defaultValue); }, [defaultValue]); return (
{label && ( )}
{options?.map((option, index) => (
handleToggle(option.value)} >
{isLoading && selected === option.value ? ( ) : ( option?.icon )} {option.label}
))}
); }; export default Toggle;