UNPKG

cyber-web-ui

Version:
72 lines (71 loc) 1.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _vue = require("vue"); var Icon = (0, _vue.defineComponent)({ name: "CIcon", props: { // 图标标识 icon: { type: String, default: "" }, // 图标大小 size: { type: String, default: '12px' }, // 自定义颜色 color: { type: String, default: '' }, // 是否为svg isSvg: { type: Boolean, default: false } }, setup: function setup(props, _ref) { var attrs = _ref.attrs, slots = _ref.slots, emit = _ref.emit, expose = _ref.expose; var size = (0, _vue.computed)(function () { if (typeof props.size == 'number') { return props.size + 'px'; } else if (typeof props.size == 'string') { return props.size.replace('px', '') + 'px'; } else { return; } }); return function () { var _slots$default; return props.isSvg // svg图标 ? (0, _vue.createVNode)("svg", { "class": "cyber-iconfont icon cyber-svg-icon", "style": { fontSize: size.value, minWidth: size.value } }, [(0, _vue.createVNode)("use", { "xlink:href": "#".concat(props.icon) }, null)]) // 字体图标 : (0, _vue.createVNode)("span", { "class": ['cyber-iconfont', /^cyber\-/.test(props.icon) ? 'cyber-icon' : 'iconfont', props.icon], "style": { fontSize: size.value, color: props.color || undefined } }, [(_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)]); }; } }); Icon.install = function (app) { app.component(Icon.name, Icon); }; var _default = exports.default = Icon;