import React, { useEffect } from 'react'; class Switch extends React.Component { render() { const { on, onClick, onChange, disabledState, color } = this.props; return ( ); } } export const ToggleSwitch = ({ height, properties, styles, fireEvent, setExposedVariable, darkMode, dataCy }) => { // definition props const defaultValue = properties.defaultValue ?? false; const [on, setOn] = React.useState(defaultValue); const label = properties.label; const { visibility, disabledState, toggleSwitchColor, boxShadow } = styles; const textColor = darkMode && styles.textColor === '#000' ? '#fff' : styles.textColor; function toggleValue(e) { const toggled = e.target.checked; setExposedVariable('value', toggled); fireEvent('onChange'); } // Exposing the initially set false value once on load useEffect(() => { setExposedVariable('value', defaultValue); // eslint-disable-next-line react-hooks/exhaustive-deps setOn(defaultValue); // eslint-disable-next-line react-hooks/exhaustive-deps }, [defaultValue]); const toggle = () => setOn(!on); return (
{label}
); };