iep-ui
Version:
An enterprise-class UI design language and Vue-based implementation
48 lines (43 loc) • 1.74 kB
JavaScript
import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';
import _extends from 'babel-runtime/helpers/extends';
import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';
import PropTypes from '../_util/vue-types';
import classNames from 'classnames';
import { ConfigConsumerProps } from '../config-provider/configConsumerProps';
import { filterEmpty, getOptionProps } from '../_util/props-util';
export default {
name: 'ATypography',
inheritAttrs: false,
props: {
prefixCls: PropTypes.string,
component: PropTypes.string
},
inject: {
configProvider: { 'default': function _default() {
return ConfigConsumerProps;
} }
},
render: function render() {
var h = arguments[0];
var _getOptionProps = getOptionProps(this),
customizePrefixCls = _getOptionProps.prefixCls,
reverse = _getOptionProps.reverse,
mode = _getOptionProps.mode,
restProps = _objectWithoutProperties(_getOptionProps, ['prefixCls', 'reverse', 'mode']);
var getPrefixCls = this.configProvider.getPrefixCls;
var prefixCls = getPrefixCls('typography', customizePrefixCls);
var $props = this.$props,
$attrs = this.$attrs,
$slots = this.$slots;
var _$props$$attrs = _extends({}, $props, $attrs),
_prefixCls = _$props$$attrs.prefixCls,
_className = _$props$$attrs['class'],
_$props$$attrs$compon = _$props$$attrs.component,
Component = _$props$$attrs$compon === undefined ? 'span' : _$props$$attrs$compon;
return h(
Component,
_mergeJSXProps([{ 'class': classNames(prefixCls, $attrs['class']) }, restProps]),
[$slots['default'] ? $slots['default'] : $slots['default']()]
);
}
};