antd
Version:
An enterprise-class UI design language and React components implementation
35 lines (34 loc) • 830 B
JavaScript
"use client";
import * as React from 'react';
import { clsx } from 'clsx';
const Element = props => {
const {
prefixCls,
className,
style,
size,
shape
} = props;
const sizeCls = clsx({
[`${prefixCls}-lg`]: size === 'large',
[`${prefixCls}-sm`]: size === 'small'
});
const shapeCls = clsx({
[`${prefixCls}-circle`]: shape === 'circle',
[`${prefixCls}-square`]: shape === 'square',
[`${prefixCls}-round`]: shape === 'round'
});
const sizeStyle = React.useMemo(() => typeof size === 'number' ? {
width: size,
height: size,
lineHeight: `${size}px`
} : {}, [size]);
return /*#__PURE__*/React.createElement("span", {
className: clsx(prefixCls, sizeCls, shapeCls, className),
style: {
...sizeStyle,
...style
}
});
};
export default Element;