} from '../../helpers/tracker';
import { useTracker } from '../../hooks/tracker';
-const ToggleIcon = ({ controller, className, icons }) => {
+const ToggleIcon = ({ controller, className, icons, svg }) => {
const { setManualState, state } = useTracker();
const activeController = controller || ToggleIcon.nullController;
const active = activeController.getActive(state, icons);
if (className) {
classNames.push(className);
}
+ if (svg) {
+ return <g
+ className={classNames.join(' ')}
+ onClick={(e) => {
+ activeController.handlePrimary(state, setManualState, icons);
+ e.preventDefault();
+ e.stopPropagation();
+ }}
+ onContextMenu={(e) => {
+ activeController.handleSecondary(state, setManualState, icons);
+ e.preventDefault();
+ e.stopPropagation();
+ }}
+ >
+ <ZeldaIcon name={active || defaultIcon || icons[0]} svg />
+ </g>;
+ }
return <span
className={classNames.join(' ')}
onClick={(e) => {
handleSecondary: PropTypes.func,
}),
icons: PropTypes.arrayOf(PropTypes.string),
+ svg: PropTypes.bool,
};
export default ToggleIcon;