@nutui/icons-vue
Version:
京东风格的轻量级移动端 Vue 组件库 NutUI 图标包
47 lines (46 loc) • 1.4 kB
JavaScript
import { defineComponent as m, useSlots as f, h as d, openBlock as g, createBlock as p } from "vue";
const h = /* @__PURE__ */ m({
__name: "IconFont",
props: {
name: { type: String, default: "" },
size: { type: [String, Number], default: "" },
width: { type: [String, Number], default: "" },
height: { type: [String, Number], default: "" },
classPrefix: { type: String, default: "nut-icon" },
fontClassName: { type: String, default: "nutui-iconfont" },
color: { type: String, default: "" },
tag: { type: String, default: "i" }
},
setup(e) {
var c;
const t = e, a = "nut-icon", o = f(), s = () => t.name ? t.name.indexOf("/") !== -1 : !1, r = (n) => {
if (n)
return isNaN(Number(n)) ? String(n) : n + "px";
}, i = s();
let l = d(
i ? "img" : t.tag,
{
class: i ? `${a}__img` : `${t.fontClassName} ${a} ${t.classPrefix}-${t.name}`,
style: {
color: t.color,
fontSize: r(t.size),
width: r(t.width || t.size),
height: r(t.height || t.size)
},
src: i ? t.name : ""
},
(c = o.default) == null ? void 0 : c.call(o)
);
const u = () => l;
return (n, y) => (g(), p(u));
}
});
function S(e) {
return e.name = "IconFont", e.install = (t) => {
t.component("IconFont", e);
}, e;
}
const _ = S(h);
export {
_ as default
};