import { cnb } from "cnbuilder";
import { cssUtils } from "../cssUtils.js";
import { bem } from "../utils/bem.js";
const styles = bem("rmd-icon");
const rotatorStyles = bem("rmd-icon-rotator");
/**
 *
 * @since 6.0.0
 */ export function icon(options) {
    const { className, type, theme, family = "", dense = false, inline = false, iconClassName } = options;
    const isFont = type === "font";
    const isSvg = type === "svg";
    const isSymbol = type === "symbol";
    const isMaterial = type === "material";
    const isCurrentColor = theme === "currentcolor";
    return cnb(styles({
        svg: isSvg,
        font: isFont || isMaterial,
        symbol: isSymbol,
        vam: inline,
        dense,
        cc: isCurrentColor
    }), isSymbol && `material-symbols-${family}`, isMaterial && `material-icons${family === "filled" ? "" : `-${family === "rounded" ? "round" : family}`}`, !isCurrentColor && cssUtils({
        textColor: theme
    }), iconClassName, className);
}
/**
 *
 * @since 6.0.0
 */ export function iconRotator(options) {
    const { className, rotated, disableTransition = false } = options;
    return cnb(rotatorStyles({
        animate: !disableTransition,
        rotated
    }), className);
}

//# sourceMappingURL=styles.js.map