Text.js 1.1 KB

123456789101112131415161718192021222324252627282930
  1. import _extends from "@babel/runtime/helpers/esm/extends";
  2. import { createVNode as _createVNode, resolveDirective as _resolveDirective } from "vue";
  3. import omit from '../_util/omit';
  4. import warning from '../_util/warning';
  5. import Base, { baseProps } from './Base';
  6. export const textProps = () => _extends(_extends({}, omit(baseProps(), ['component'])), {
  7. ellipsis: {
  8. type: [Boolean, Object],
  9. default: undefined
  10. }
  11. });
  12. const Text = (props, _ref) => {
  13. let {
  14. slots,
  15. attrs
  16. } = _ref;
  17. const {
  18. ellipsis
  19. } = props;
  20. warning(typeof ellipsis !== 'object' || !ellipsis || !('expandable' in ellipsis) && !('rows' in ellipsis), 'Typography.Text', '`ellipsis` do not support `expandable` or `rows` props.');
  21. const textProps = _extends(_extends(_extends({}, props), {
  22. ellipsis: ellipsis && typeof ellipsis === 'object' ? omit(ellipsis, ['expandable', 'rows']) : ellipsis,
  23. component: 'span'
  24. }), attrs);
  25. return _createVNode(Base, textProps, slots);
  26. };
  27. Text.displayName = 'ATypographyText';
  28. Text.inheritAttrs = false;
  29. Text.props = textProps();
  30. export default Text;