UNPKG

vue-ant-patterns

Version:

vue-ant-patterns

95 lines (73 loc) 2.68 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties'); var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _antDesignVue = require('ant-design-vue'); var _buttonTypes = require('ant-design-vue/lib/button/buttonTypes'); var _buttonTypes2 = _interopRequireDefault(_buttonTypes); var _propsUtil = require('ant-design-vue/lib/_util/props-util'); var _vueTypes = require('ant-design-vue/lib/_util/vue-types'); var _vueTypes2 = _interopRequireDefault(_vueTypes); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _dIcon = require('../d-icon'); var _dIcon2 = _interopRequireDefault(_dIcon); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } /* * @Description: * @Autor: w.pengfei * @Date: 2019-12-13 12:30:12 * @LastEditors: w.pengfei * @LastEditTime: 2020-10-09 18:41:11 */ var buttonProps = (0, _buttonTypes2['default'])(); var DIconButton = { // functional: true, name: 'DIconButton', props: (0, _extends3['default'])({}, (0, _buttonTypes2['default'])(), { active: _vueTypes2['default'].bool.def(false), size: _vueTypes2['default'].oneOf(['xs', 'small', 'large', 'default']).def('default'), icon: _vueTypes2['default'].string }), render: function render() { var h = arguments[0]; var $slots = this.$slots, $listeners = this.$listeners, $attrs = this.$attrs, $props = this.$props, active = this.active; var cls = (0, _classnames2['default'])({ 'icon-button': 1, active: active, 'icon-button-xs': $props.size === 'xs' }); var icon = $props.icon, rest = (0, _objectWithoutProperties3['default'])($props, ['icon']); var cloneProps = (0, _extends3['default'])({}, rest); var iconNode = icon ? h(_dIcon2['default'], { attrs: { type: icon } }) : null; if (cloneProps.size === 'xs') { delete cloneProps.size; delete cloneProps.active; } var ButtonProps = (0, _extends3['default'])({}, $attrs, { props: (0, _extends3['default'])({}, cloneProps), on: (0, _extends3['default'])({}, $listeners), 'class': cls }); return h( _antDesignVue.Button, ButtonProps, [iconNode || $slots['default']] ); } }; DIconButton.install = function (Vue) { Vue.component(DIconButton.name, DIconButton); }; exports['default'] = DIconButton;