Element.js 864 B

1234567891011121314151617181920212223242526272829303132
  1. "use client";
  2. import * as React from 'react';
  3. import classNames from 'classnames';
  4. const Element = props => {
  5. const {
  6. prefixCls,
  7. className,
  8. style,
  9. size,
  10. shape
  11. } = props;
  12. const sizeCls = classNames({
  13. [`${prefixCls}-lg`]: size === 'large',
  14. [`${prefixCls}-sm`]: size === 'small'
  15. });
  16. const shapeCls = classNames({
  17. [`${prefixCls}-circle`]: shape === 'circle',
  18. [`${prefixCls}-square`]: shape === 'square',
  19. [`${prefixCls}-round`]: shape === 'round'
  20. });
  21. const sizeStyle = React.useMemo(() => typeof size === 'number' ? {
  22. width: size,
  23. height: size,
  24. lineHeight: `${size}px`
  25. } : {}, [size]);
  26. return /*#__PURE__*/React.createElement("span", {
  27. className: classNames(prefixCls, sizeCls, shapeCls, className),
  28. style: Object.assign(Object.assign({}, sizeStyle), style)
  29. });
  30. };
  31. export default Element;