Element.js 1.4 KB

123456789101112131415161718192021222324252627282930313233
  1. import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
  2. import { createVNode as _createVNode } from "vue";
  3. import classNames from '../_util/classNames';
  4. export var skeletonElementProps = function skeletonElementProps() {
  5. return {
  6. prefixCls: String,
  7. size: [String, Number],
  8. shape: String,
  9. active: {
  10. type: Boolean,
  11. default: undefined
  12. }
  13. };
  14. };
  15. var Element = function Element(props) {
  16. var _classNames, _classNames2;
  17. var prefixCls = props.prefixCls,
  18. size = props.size,
  19. shape = props.shape;
  20. var sizeCls = classNames((_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-lg"), size === 'large'), _defineProperty(_classNames, "".concat(prefixCls, "-sm"), size === 'small'), _classNames));
  21. var shapeCls = classNames((_classNames2 = {}, _defineProperty(_classNames2, "".concat(prefixCls, "-circle"), shape === 'circle'), _defineProperty(_classNames2, "".concat(prefixCls, "-square"), shape === 'square'), _defineProperty(_classNames2, "".concat(prefixCls, "-round"), shape === 'round'), _classNames2));
  22. var sizeStyle = typeof size === 'number' ? {
  23. width: "".concat(size, "px"),
  24. height: "".concat(size, "px"),
  25. lineHeight: "".concat(size, "px")
  26. } : {};
  27. return _createVNode("span", {
  28. "class": classNames(prefixCls, sizeCls, shapeCls),
  29. "style": sizeStyle
  30. }, null);
  31. };
  32. Element.displayName = 'SkeletonElement';
  33. export default Element;