"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const style = require("../../../utils/dom/style.js");
const index = require("../../../hooks/use-namespace/index.js");
const icon = require("./icon.js");
const vue = require("vue");
var icon_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ vue.defineComponent({
  name: "ElIcon",
  inheritAttrs: false,
  __name: "icon",
  props: icon.iconProps,
  setup(__props) {
    const props = __props;
    const ns = index.useNamespace("icon");
    const style$1 = vue.computed(() => {
      const { size, color } = props;
      const fontSize = style.addUnit(size);
      if (!fontSize && !color) return {};
      return {
        fontSize,
        "--color": color
      };
    });
    return (_ctx, _cache) => {
      return vue.openBlock(), vue.createElementBlock("i", vue.mergeProps({
        class: vue.unref(ns).b(),
        style: style$1.value
      }, _ctx.$attrs), [vue.renderSlot(_ctx.$slots, "default")], 16);
    };
  }
});
exports.default = icon_vue_vue_type_script_setup_true_lang_default;
