import React, { useState, useEffect } from 'react'; import PropTypes from 'prop-types'; import classNames from 'classnames'; function CheckedIcon() { return <>🌜>; } function UncheckedIcon() { return <>🌞>; } function ToggleButton(props) { const [toggle, setToggle] = useState(false); const { defaultChecked, onChange, disabled, className } = props; useEffect(() => { if (defaultChecked) { setToggle(defaultChecked); } }, [defaultChecked]); const triggerToggle = () => { if (disabled) { return; } setToggle(!toggle); if (typeof onChange === 'function') { onChange(!toggle); } }; const getIcon = (type) => { const { icons } = props; if (!icons) { return null; } return icons[type] === undefined ? ToggleButton.defaultProps.icons[type] : icons[type]; }; const toggleClasses = classNames( 'wrg-toggle', { 'wrg-toggle--checked': toggle, 'wrg-toggle--disabled': disabled, }, className, ); return (