iep-ui
Version:
An enterprise-class UI design language and Vue-based implementation
39 lines (35 loc) • 1.32 kB
JavaScript
import _typeof from 'babel-runtime/helpers/typeof';
import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';
import _extends from 'babel-runtime/helpers/extends';
import PropTypes from '../_util/vue-types';
import warning from '../_util/warning';
import Base, { baseProps } from './Base';
import Omit from 'omit.js';
export var LinkProps = Omit(_extends({}, baseProps, {
ellipsis: PropTypes.bool
}), ['component']);
export default {
name: 'ATypographyLink',
functional: true,
props: LinkProps,
render: function render(h, context) {
var _context$props = context.props,
ellipsis = _context$props.ellipsis,
rel = _context$props.rel,
restProps = _objectWithoutProperties(_context$props, ['ellipsis', 'rel']);
warning((typeof ellipsis === 'undefined' ? 'undefined' : _typeof(ellipsis)) !== 'object', 'Typography.Link', '`ellipsis` only supports boolean value.');
var mergedProps = _extends({}, restProps, {
rel: rel === undefined && restProps.target === '_blank' ? 'noopener noreferrer' : rel,
ellipsis: !!ellipsis,
component: 'a'
});
delete mergedProps.navigate;
return h(
Base,
{
attrs: { props: mergedProps, attrs: context.data.attrs }
},
[context.slots()['default']]
);
}
};