st-common-ui-vue3
Version:
小尾巴通用 Vue3 UI 组件库
50 lines (49 loc) • 1.73 kB
JavaScript
import { defineComponent as r, unref as s, openBlock as l, createBlock as y, normalizeClass as o, normalizeStyle as a, createElementBlock as i, toDisplayString as c, createElementVNode as t, normalizeProps as m, guardReactiveProps as p, createCommentVNode as u } from "vue";
import { IconTypeEnum as n } from "./icon-type-enum.js";
import N from "../StIconIconify/StIconIconify.vue.js";
const f = ["src"], C = /* @__PURE__ */ r({
name: "StIcon",
__name: "StIcon",
props: {
icon: { default: "" },
iconType: { default: n.ICONIFY },
style: {},
className: { default: "" }
},
setup(d) {
return (e, I) => e.iconType === s(n).ICONIFY ? (l(), y(s(N), {
key: 0,
class: o(["st-icon", e.className]),
icon: e.icon,
style: a(e.style)
}, null, 8, ["class", "icon", "style"])) : e.iconType === s(n).TEXT ? (l(), i("span", {
key: 1,
class: o(["st-icon", e.className]),
style: a(e.style)
}, c(e.icon), 7)) : e.iconType === s(n).LINK ? (l(), i("img", {
key: 2,
class: o(["st-icon", e.className]),
src: e.icon,
style: a(e.style),
alt: ""
}, null, 14, f)) : e.iconType === s(n).UNICODE ? (l(), i("span", {
key: 3,
class: o(["st-icon", e.className]),
style: a(e.style)
}, c(e.icon), 7)) : e.iconType === s(n).FONT_CLASS ? (l(), i("span", {
key: 4,
class: o(["st-icon", e.className]),
style: a(e.style)
}, null, 6)) : e.iconType === s(n).SYMBOL ? (l(), i("svg", {
key: 5,
class: o(["st-icon", e.className]),
style: a(e.style),
"aria-hidden": "true"
}, [
t("use", m(p({ "xlink:href": e.icon })), null, 16)
], 6)) : u("", !0);
}
});
export {
C as default
};