@wfrog/vc
Version:
`自用` 的基于 `element-plus` 二次封装的 `vue3` 组件库。追求在业务场景中,尽可能使用更少的代码量来实现需求。 因此在组件封装上,以 `方便` 为主,打包仅 `esm` 模式。
147 lines (133 loc) • 5.61 kB
JavaScript
import './index.css'
// vue-script:D:\project\_my\vc\src\components\icon\index.vue?type=script
import { defineComponent as defineComponent2 } from "vue";
// vue-script:D:\project\_my\vc\src\components\el-icon\index.vue?type=script
import { defineComponent } from "vue";
import { ElIcon } from "element-plus";
import * as Icons from "@element-plus/icons-vue";
var el_icon_default = defineComponent({
components: { ...Icons, ElIcon },
props: {
name: { type: String, required: true },
color: { type: String, default: "" },
size: { type: [Number, String], default: "" }
}
});
// vue-template:D:\project\_my\vc\src\components\el-icon\index.vue?type=template
import { resolveDynamicComponent as _resolveDynamicComponent, openBlock as _openBlock, createBlock as _createBlock, resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, withCtx as _withCtx } from "vue";
function render(_ctx, _cache) {
const _component_ElIcon = _resolveComponent("ElIcon");
return _openBlock(), _createBlock(_component_ElIcon, {
size: _ctx.size,
color: _ctx.color,
class: _normalizeClass(_ctx.$style.icon)
}, {
default: _withCtx(() => [
(_openBlock(), _createBlock(_resolveDynamicComponent(_ctx.name)))
]),
_: 1
}, 8, ["size", "color", "class"]);
}
// vue-style:D:\project\_my\vc\src\components\el-icon\index.vue?type=style&index=0&isModule=true&isNameImport=true
var el_icon_default2 = { icon: "_icon_1iurh_1" };
// src/components/el-icon/index.vue
el_icon_default.render = render;
var cssModules = {};
el_icon_default.__cssModules = cssModules = {};
cssModules["$style"] = el_icon_default2;
var el_icon_default3 = el_icon_default;
// vue-script:D:\project\_my\vc\src\components\svg-icon\index.vue?type=script
import { defineComponent as _defineComponent } from "vue";
import { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass2, openBlock as _openBlock2, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from "vue";
var _hoisted_1 = ["xlink:href"];
var svg_icon_default = /* @__PURE__ */ _defineComponent({
__name: "index",
props: {
name: { type: String, required: true }
},
setup(__props) {
const props = __props;
return (_ctx, _cache) => {
return _openBlock2(), _createElementBlock("svg", {
class: _normalizeClass2(["svg-icon", [_ctx.$style.icon]]),
"aria-hidden": "true"
}, [
_createElementVNode("use", {
"xlink:href": `#icon-${props.name}`
}, null, 8, _hoisted_1)
], 2);
};
}
});
// vue-style:D:\project\_my\vc\src\components\svg-icon\index.vue?type=style&index=0&isModule=true&isNameImport=true
var svg_icon_default2 = { icon: "_icon_15t6e_1" };
// src/components/svg-icon/index.vue
var cssModules2 = {};
svg_icon_default.__cssModules = cssModules2 = {};
cssModules2["$style"] = svg_icon_default2;
var svg_icon_default3 = svg_icon_default;
// vue-script:D:\project\_my\vc\src\components\awesome-icon\index.vue?type=script
import { defineComponent as _defineComponent2 } from "vue";
import { normalizeClass as _normalizeClass3, openBlock as _openBlock3, createElementBlock as _createElementBlock2 } from "vue";
import { onMounted } from "vue";
import { defaultWindow, loader } from "@wfrog/utils";
var awesome_icon_default = /* @__PURE__ */ _defineComponent2({
__name: "index",
props: {
name: { type: String, default: "" },
mode: { type: String, default: "css" }
},
setup(__props) {
const props = __props;
const loaderSource = async () => {
const cdn = props.mode === "svg" ? "fontawesomeJs" : "fontawesomeCss";
await loader.loadCdnSingle(cdn);
};
onMounted(() => {
if (defaultWindow) {
if (!defaultWindow.ElementPlusComponents?.isAwesomeIconLock) {
defaultWindow.ElementPlusComponents = { ...defaultWindow.ElementPlusComponents, isAwesomeIconLock: true };
loaderSource();
}
}
});
return (_ctx, _cache) => {
return _openBlock3(), _createElementBlock2("i", {
class: _normalizeClass3(["awesome-icon", props.name])
}, null, 2);
};
}
});
// src/components/awesome-icon/index.vue
var awesome_icon_default2 = awesome_icon_default;
// vue-script:D:\project\_my\vc\src\components\icon\index.vue?type=script
var icon_default = defineComponent2({
components: { HEl: el_icon_default3, HSvg: svg_icon_default3, HAwesome: awesome_icon_default2 },
props: {
name: { type: String, required: true },
type: { type: String, required: true }
}
});
// vue-template:D:\project\_my\vc\src\components\icon\index.vue?type=template
import { resolveDynamicComponent as _resolveDynamicComponent2, openBlock as _openBlock4, createBlock as _createBlock2, normalizeClass as _normalizeClass4, createElementBlock as _createElementBlock3 } from "vue";
function render2(_ctx, _cache) {
return _openBlock4(), _createElementBlock3("i", {
class: _normalizeClass4(["svg-icon-box", [_ctx.$style.box]])
}, [
(_openBlock4(), _createBlock2(_resolveDynamicComponent2(`h-${_ctx.type}`), {
name: _ctx.name,
class: "site-icon"
}, null, 8, ["name"]))
], 2);
}
// vue-style:D:\project\_my\vc\src\components\icon\index.vue?type=style&index=0&isModule=true&isNameImport=true
var icon_default2 = { box: "_box_1wvpk_1" };
// src/components/icon/index.vue
icon_default.render = render2;
var cssModules3 = {};
icon_default.__cssModules = cssModules3 = {};
cssModules3["$style"] = icon_default2;
var icon_default3 = icon_default;
export {
icon_default3 as default
};