@studiometa/js-toolkit
Version:
A set of useful little bits of JavaScript to boost your project! 🚀
30 lines (29 loc) • 915 B
JavaScript
import { isArray } from "../is.js";
import { eachElements } from "./utils.js";
function setClasses(element, classNames, method, forceToggle) {
if (!element || !classNames) {
return;
}
const normalizedClassNames = isArray(classNames) ? classNames : classNames.split(" ").filter((className) => className);
if (method !== "toggle") {
eachElements(element, (el) => el.classList[method](...normalizedClassNames));
} else {
for (const className of normalizedClassNames)
eachElements(element, (el) => el.classList[method](className, forceToggle));
}
}
function add(element, classNames) {
setClasses(element, classNames, "add");
}
function remove(element, classNames) {
setClasses(element, classNames, "remove");
}
function toggle(element, classNames, force) {
setClasses(element, classNames, "toggle", force);
}
export {
add,
remove,
toggle
};
//# sourceMappingURL=classes.js.map