@wfrog/vc
Version:
vue3 组件库 vc
42 lines (39 loc) • 1.26 kB
JavaScript
import { defineComponent, computed, onMounted, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref } from 'vue';
import { d as defaultWindow, i as index } from '../../chunk/BdDihk0t.mjs';
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "awesome-icon",
props: {
name: {},
mode: { default: "css" },
size: {},
color: {}
},
setup(__props) {
const props = __props;
const mySize = computed(() => {
if (props.size && Number.isNaN(+props.size)) {
return props.size;
}
return `${props.size}px`;
});
async function loaderSource() {
const cdn = props.mode === "svg" ? "fontawesomeJs" : "fontawesomeCss";
await index.loadCdnSingle(cdn);
}
onMounted(() => {
if (defaultWindow) {
if (!defaultWindow.VC?.isAwesomeIconLock) {
defaultWindow.VC = { ...defaultWindow.VC, isAwesomeIconLock: true };
loaderSource();
}
}
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("i", {
class: normalizeClass(["awesome-icon", props.name]),
style: normalizeStyle({ fontSize: unref(mySize), color: __props.color })
}, null, 6);
};
}
});
export { _sfc_main as _ };