vue-ant-patterns
Version:
vue-ant-patterns
77 lines (58 loc) • 2.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
var _extends3 = require('babel-runtime/helpers/extends');
var _extends4 = _interopRequireDefault(_extends3);
var _antDesignVue = require('ant-design-vue');
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _vueTypes = require('ant-design-vue/lib/_util/vue-types');
var _vueTypes2 = _interopRequireDefault(_vueTypes);
var _propsUtil = require('ant-design-vue/lib/_util/props-util');
require('./style/index.less');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var DIcon = {
functional: true,
name: 'DIcon',
props: {
type: _vueTypes2['default'].string,
component: _vueTypes2['default'].any,
viewBox: _vueTypes2['default'].any,
spin: _vueTypes2['default'].bool.def(false),
theme: _vueTypes2['default'].oneOf(['filled', 'outlined', 'twoTone']),
twoToneColor: _vueTypes2['default'].string
},
render: function render(h, context) {
var props = context.props,
slots = context.slots,
listeners = context.listeners,
data = context.data;
var type = props.type;
var reg = /^\$-/;
if (!type) return null;
var classString = (0, _classnames2['default'])((0, _extends4['default'])({}, (0, _propsUtil.getClass)(context)));
var customProps = (0, _extends4['default'])({}, context, {
'class': classString,
on: (0, _extends4['default'])({}, listeners)
});
var iconNode = null;
if (/^\$-/.test(type)) {
var _extends2;
var _classString = (0, _classnames2['default'])((0, _extends4['default'])({}, (0, _propsUtil.getClass)(context), (_extends2 = {}, (0, _defineProperty3['default'])(_extends2, 'acme-icon', reg.test(type)), (0, _defineProperty3['default'])(_extends2, 'acme-icon-' + type.replace(reg, ''), reg.test(type)), _extends2)));
var customIProps = {
'class': _classString
};
iconNode = h('i', customIProps);
} else {
iconNode = h(_antDesignVue.Icon, customProps);
}
return iconNode;
}
};
DIcon.install = function (Vue) {
Vue.component('DIcon', DIcon);
};
exports['default'] = DIcon;