@wener/console
Version:
Base console UI toolkit
33 lines (32 loc) • 978 B
JavaScript
import { flexRender } from "@wener/reaction";
import { isDefined, parseBoolean } from "@wener/utils";
import { cn } from "../../tw/cn.js";
export const ActiveToggleIcon = ({ icon, pass, activeClassName, inactiveClassName, iconActive = icon, className, active, ...props }) => {
if (!isDefined(active)) {
active = parseBoolean(props["data-active"]) ?? className?.includes("active");
}
if (active) {
className = cn(className, activeClassName ?? "active");
}
else {
className = cn(className, inactiveClassName ?? "inactive");
}
let p = pass ? {
activeClassName,
inactiveClassName,
active
} : {};
if (pass) {
for (let [k] of Object.entries(p)) {
if (!pass[k]) {
delete p[k];
}
}
}
return flexRender(active ? iconActive : icon, {
...props,
...p,
className
});
};
//# sourceMappingURL=ActiveToggleIcon.js.map