Button.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. "use client";
  2. import * as React from 'react';
  3. import classNames from 'classnames';
  4. import omit from "rc-util/es/omit";
  5. import { ConfigContext } from '../config-provider';
  6. import Element from './Element';
  7. import useStyle from './style';
  8. const SkeletonButton = props => {
  9. const {
  10. prefixCls: customizePrefixCls,
  11. className,
  12. rootClassName,
  13. active,
  14. block = false,
  15. size = 'default'
  16. } = props;
  17. const {
  18. getPrefixCls
  19. } = React.useContext(ConfigContext);
  20. const prefixCls = getPrefixCls('skeleton', customizePrefixCls);
  21. const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);
  22. const otherProps = omit(props, ['prefixCls']);
  23. const cls = classNames(prefixCls, `${prefixCls}-element`, {
  24. [`${prefixCls}-active`]: active,
  25. [`${prefixCls}-block`]: block
  26. }, className, rootClassName, hashId, cssVarCls);
  27. return wrapCSSVar(/*#__PURE__*/React.createElement("div", {
  28. className: cls
  29. }, /*#__PURE__*/React.createElement(Element, Object.assign({
  30. prefixCls: `${prefixCls}-button`,
  31. size: size
  32. }, otherProps))));
  33. };
  34. export default SkeletonButton;