UNPKG

cc-element-components

Version:

该项目是基于`element-plus`二次封装组件,使用的技术栈为`vue3` + `typescript` + `element-plus`。在此项目当中,我们会基于`element-plus`的组件库已有组件封装如下组件: - 图标选择器 - 时间选择器 - 城市选择器 - 省市区选择器 - 通知菜单 - 趋势标记 - 评论 - 数据列表 - 数值统计 - 倒计时 - 分割面板 - 时间轴 - 弹框拓展 - 进度条拓展 - 导航菜单拓展 - 可配置项表格 - 可配置项表单 - 日历

88 lines (87 loc) 2.71 kB
import { defineComponent, useSlots, computed, openBlock, createElementBlock, createElementVNode, normalizeStyle, unref, renderSlot, toDisplayString, createBlock, resolveDynamicComponent } from "vue"; const toLine = (value) => { return value.replace(/(A-Z)g/, "-$1").toLocaleLowerCase(); }; var index_vue_vue_type_style_index_0_scoped_true_lang = ""; var _export_sfc = (sfc, props) => { for (const [key, val] of props) { sfc[key] = val; } return sfc; }; const _hoisted_1 = { class: "trend" }; const _hoisted_2 = { key: 1 }; const _hoisted_3 = { class: "icon" }; const _sfc_main = /* @__PURE__ */ defineComponent({ props: { type: { type: String, default: "up" }, upIcon: { type: String, default: "ArrowUp" }, downIcon: { type: String, default: "ArrowDown" }, text: { type: String, default: "\u6587\u5B57" }, reverseColor: { type: Boolean, default: false }, upIconColor: { type: String, default: "#f5222d" }, downIconColor: { type: String, default: "#52c41a" }, upTextColor: { type: String, default: "rgb(0,0,0)" }, downTextColor: { type: String, default: "rgb(0,0,0)" } }, setup(__props) { const props = __props; let slots = useSlots(); let textColor = computed(() => { return props.type === "up" ? props.upTextColor : props.downTextColor; }); return (_ctx, _cache) => { return openBlock(), createElementBlock("div", _hoisted_1, [ createElementVNode("div", { class: "text", style: normalizeStyle({ color: unref(textColor) }) }, [ unref(slots).default ? renderSlot(_ctx.$slots, "default", { key: 0 }, void 0, true) : (openBlock(), createElementBlock("div", _hoisted_2, toDisplayString(__props.text), 1)) ], 4), createElementVNode("div", _hoisted_3, [ __props.type === "up" ? (openBlock(), createBlock(resolveDynamicComponent(`el-icon-${unref(toLine)(__props.upIcon)}`), { key: 0, style: normalizeStyle({ color: !__props.reverseColor ? __props.upIconColor : "#52c41a" }) }, null, 8, ["style"])) : (openBlock(), createBlock(resolveDynamicComponent(`el-icon-${unref(toLine)(__props.downIcon)}`), { key: 1, style: normalizeStyle({ color: !__props.reverseColor ? __props.downIconColor : "#f5222d" }) }, null, 8, ["style"])) ]) ]); }; } }); var trend = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0fff033c"]]); var index = { install(app) { app.component("cc-trend", trend); } }; export { index as default };