UNPKG

@studiometa/js-toolkit

Version:

A set of useful little bits of JavaScript to boost your project! 🚀

30 lines (29 loc) • 915 B
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