Element.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.skeletonElementProps = exports.default = void 0;
  7. var _vue = require("vue");
  8. var _classNames = _interopRequireDefault(require("../_util/classNames"));
  9. const skeletonElementProps = () => ({
  10. prefixCls: String,
  11. size: [String, Number],
  12. shape: String,
  13. active: {
  14. type: Boolean,
  15. default: undefined
  16. }
  17. });
  18. exports.skeletonElementProps = skeletonElementProps;
  19. const Element = props => {
  20. const {
  21. prefixCls,
  22. size,
  23. shape
  24. } = props;
  25. const sizeCls = (0, _classNames.default)({
  26. [`${prefixCls}-lg`]: size === 'large',
  27. [`${prefixCls}-sm`]: size === 'small'
  28. });
  29. const shapeCls = (0, _classNames.default)({
  30. [`${prefixCls}-circle`]: shape === 'circle',
  31. [`${prefixCls}-square`]: shape === 'square',
  32. [`${prefixCls}-round`]: shape === 'round'
  33. });
  34. const sizeStyle = typeof size === 'number' ? {
  35. width: `${size}px`,
  36. height: `${size}px`,
  37. lineHeight: `${size}px`
  38. } : {};
  39. return (0, _vue.createVNode)("span", {
  40. "class": (0, _classNames.default)(prefixCls, sizeCls, shapeCls),
  41. "style": sizeStyle
  42. }, null);
  43. };
  44. Element.displayName = 'SkeletonElement';
  45. var _default = exports.default = Element;