lulouis-vant
Version:
Lightweight Mobile UI Components built on Vue
55 lines (46 loc) • 1.27 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _utils = require("../utils");
var _info = _interopRequireDefault(require("../info"));
var _src = _interopRequireDefault(require("../utils/validate/src"));
var _use = (0, _utils.use)('icon'),
sfc = _use[0];
var _default = sfc({
props: {
name: String,
size: String,
color: String,
info: [String, Number],
classPrefix: {
type: String,
default: 'van-icon'
}
},
computed: {
isSrc: function isSrc() {
return (0, _src.default)(this.name);
}
},
render: function render(h) {
return h("i", {
"class": [this.classPrefix, this.isSrc ? 'van-icon--image' : this.classPrefix + "-" + this.name],
"style": {
color: this.color,
fontSize: this.size
},
"on": (0, _extends2.default)({}, this.$listeners)
}, [this.$slots.default, this.isSrc && h("img", {
"attrs": {
"src": this.name
}
}), h(_info.default, {
"attrs": {
"info": this.info
}
})]);
}
});
exports.default = _default;