2 * Created by onvelocity on 1/28/16.
4 * This function expects a React SyntheticEvent e.g. onClick and toggles the data-toggle element and adds the class '-is-toggled'.
6 * <h1 data-toggle="false" onClick={toggle}>Basic</h1>
7 + <div className="toggleable">more info here</div>
12 import getEventPath
from './getEventPath'
14 import '../styles/ToggleElement.scss'
17 export default function toggle(event
) {
18 if (event
.defaultPrevented
) return;
19 const target
= getEventPath(event
).reduce((r
, node
) => {
23 if (node
&& node
.dataset
&& node
.dataset
.hasOwnProperty('toggle')) {
28 const value
= String(target
.dataset
.toggle
) !== 'true';
29 target
.dataset
.toggle
= value
;
30 target
.classList
.toggle('-is-toggled', value
);