var __rest = (this && this.__rest) || function (s, e) {
    var t = {};
    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
        t[p] = s[p];
    if (s != null && typeof Object.getOwnPropertySymbols === "function")
        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
                t[p[i]] = s[p[i]];
        }
    return t;
};
import React, { forwardRef } from "react";
import classNames from "classnames";
import styles from "./public/css/style.module.css";
const symbolSizeMaps = {
    small: 2,
    medium: 2.4,
    large: 3.2,
};
const Symbol = forwardRef((_a, ref) => {
    var { icon, type = "default", size = 2.4, mirror, className, style, children } = _a, restProps = __rest(_a, ["icon", "type", "size", "mirror", "className", "style", "children"]);
    const joinedClassNames = classNames(styles.materialIcons, styles[type], { [styles[mirror + "Mirror"]]: mirror }, className);
    const sizeValue = (typeof size === "number" ? size : symbolSizeMaps[size]) + "rem";
    const joinedStyles = Object.assign(Object.assign({}, style), { width: sizeValue, height: sizeValue, fontSize: sizeValue, lineHeight: sizeValue });
    return (React.createElement("span", Object.assign({}, restProps, { className: joinedClassNames, style: joinedStyles }), icon));
});
export default Symbol;
//# sourceMappingURL=symbol.js.map