"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;
