@wfrog/vc
Version:
vue3 组件库 vc
49 lines (44 loc) • 1.34 kB
JavaScript
import { defineComponent, computed, createElementBlock, openBlock, mergeProps, unref, renderSlot } from 'vue';
import { c as buildProps, d as definePropType, u as useNamespace, g as isUndefined } from './E_WRn0OP.mjs';
import { _ as _export_sfc, w as withInstall } from './D389hx_T.mjs';
import { a as addUnit } from './CD1S5tP1.mjs';
const iconProps = buildProps({
size: {
type: definePropType([Number, String])
},
color: {
type: String
}
});
const __default__ = defineComponent({
name: "ElIcon",
inheritAttrs: false
});
const _sfc_main = /* @__PURE__ */ defineComponent({
...__default__,
props: iconProps,
setup(__props) {
const props = __props;
const ns = useNamespace("icon");
const style = computed(() => {
const { size, color } = props;
if (!size && !color)
return {};
return {
fontSize: isUndefined(size) ? void 0 : addUnit(size),
"--color": color
};
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("i", mergeProps({
class: unref(ns).b(),
style: unref(style)
}, _ctx.$attrs), [
renderSlot(_ctx.$slots, "default")
], 16);
};
}
});
var Icon = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "icon.vue"]]);
const ElIcon = withInstall(Icon);
export { ElIcon as E };