vue-ant-patterns
Version:
vue-ant-patterns
107 lines (89 loc) • 2.86 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends3 = require('babel-runtime/helpers/extends');
var _extends4 = _interopRequireDefault(_extends3);
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _antDesignVue = require('ant-design-vue');
var _vueTypes = require('ant-design-vue/lib/_util/vue-types');
var _vueTypes2 = _interopRequireDefault(_vueTypes);
var _propsUtil = require('ant-design-vue/lib/_util/props-util');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var preClass = 'depot-avatar';
exports['default'] = {
name: 'DAvatar',
props: {
prefixCls: _vueTypes2['default'].string.def('depot-avatar'),
size: {
validator: function validator(val) {
return typeof val === 'number' || ['xl', 'xxl', 'large', 'small', 'default'].includes(val);
},
'default': 'default'
},
shape: {
validator: function validator(val) {
return ['circle', 'square'].includes(val);
},
'default': 'circle'
},
src: String,
/** Srcset of image avatar */
srcSet: String,
icon: String,
alt: String,
loadError: Function
},
data: function data() {
var src = this.$props.src;
return {
imgSrc: src
};
},
watch: {
src: function src(newVal) {
this.imgSrc = newVal;
}
},
methods: {},
render: function render() {
var _sizeCls;
var h = arguments[0];
var $slots = this.$slots,
$listeners = this.$listeners,
$props = this.$props,
imgSrc = this.imgSrc;
var icon = $props.icon,
alt = $props.alt,
srcSet = $props.srcSet,
size = $props.size,
shape = $props.shape,
prefixCls = $props.prefixCls;
var children = (0, _propsUtil.filterEmpty)($slots['default']);
children = children.length === 0 ? undefined : children;
var sizeCls = (_sizeCls = {}, (0, _defineProperty3['default'])(_sizeCls, prefixCls + '-xxl', size === 'xxl'), (0, _defineProperty3['default'])(_sizeCls, prefixCls + '-xl', size === 'xl'), _sizeCls);
var AvatarProps = {
'class': (0, _classnames2['default'])((0, _extends4['default'])((0, _defineProperty3['default'])({}, 'depot-avatar', 1), sizeCls)),
// attrs: {
// ...$attrs,
// },
props: {
src: imgSrc,
icon: icon,
alt: alt,
srcSet: srcSet,
size: size === 'xl' ? 80 : size === 'xxl' ? 120 : size,
shape: shape
},
on: (0, _extends4['default'])({}, $listeners)
};
return h(
_antDesignVue.Avatar,
AvatarProps,
[children]
);
}
};