@ryusei/code
Version:
<div align="center"> <a href="https://code.ryuseijs.com"> <img alt="RyuseiCode" src="https://code.ryuseijs.com/images/svg/logo.svg" width="70"> </a>
20 lines (17 loc) • 532 B
text/typescript
import { toArray } from '../../array';
/**
* Toggles the provided class or classes by following the `add` boolean.
*
* @param elm - An element whose classes are toggled.
* @param classes - A class or class names.
* @param add - Whether to add or remove a class.
*/
export function toggleClass( elm: Element, classes: string | string[], add: boolean ): void {
if ( elm ) {
toArray( classes ).forEach( name => {
if ( name ) {
elm.classList[ add ? 'add' : 'remove' ]( name );
}
} );
}
}