wetrade-design
Version:
一款多语言支持Vue3的UI框架
72 lines (71 loc) • 2.08 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.iconProps = exports.default = void 0;
var _vue = require("vue");
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _type = require("../_util/type");
var _useConfigInject2 = _interopRequireDefault(require("../_util/hooks/useConfigInject"));
var iconProps = function iconProps() {
return {
iconClass: {
type: String,
default: ''
},
color: {
type: String,
default: ''
},
class: {
type: String,
default: ''
},
onClick: {
type: Function
},
onMousedown: {
type: Function
}
};
};
exports.iconProps = iconProps;
var Icon = (0, _vue.defineComponent)({
compatConfig: {
MODE: 3
},
name: 'WdIcon',
props: iconProps(),
setup: function setup(props) {
var _useConfigInject = (0, _useConfigInject2.default)('icon', props),
prefixClsRef = _useConfigInject.prefixCls;
var iconName = (0, _vue.computed)(function () {
return "#".concat(props.iconClass);
});
var color = (0, _vue.computed)(function () {
return props.color;
});
var classString = (0, _vue.computed)(function () {
var _ref;
// const prefixCls = prefixClsRef.value;
return _ref = {}, (0, _defineProperty2.default)(_ref, props.class, true), (0, _defineProperty2.default)(_ref, "wdicon", true), _ref;
});
return function () {
return (0, _vue.createVNode)("span", {
"onClick": props.onClick,
"onMousedown": props.onMousedown,
"class": classString.value
}, [(0, _vue.createVNode)("svg", {
"class": prefixClsRef.value,
"aria-hidden": "true"
}, [(0, _vue.createVNode)("use", {
"href": iconName.value,
"xlink:href": iconName.value,
"fill": color.value
}, null)])]);
};
}
});
var _default = (0, _type.withInstall)(Icon);
exports.default = _default;