UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

44 lines (35 loc) 1.52 kB
import _extends from "@babel/runtime/helpers/extends"; import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; import React, { Children, cloneElement, isValidElement, memo, useContext } from 'react'; import RippleChild from './RippleChild'; import createChains from '../_util/createChains'; import ConfigContext from '../config-provider/ConfigContext'; var Ripple = function Ripple(props) { var customizePrefixCls = props.prefixCls, disabled = props.disabled, children = props.children, rest = _objectWithoutProperties(props, ["prefixCls", "disabled", "children"]); var _useContext = useContext(ConfigContext), getPrefixCls = _useContext.getPrefixCls, getConfig = _useContext.getConfig; var prefixCls = getPrefixCls('ripple', customizePrefixCls); var rippleChild = function rippleChild(child) { return React.createElement(RippleChild, _extends({ prefixCls: prefixCls }, rest), child); }; if (disabled || !children || !getConfig('ripple')) { if (children) { return React.createElement(React.Fragment, null, Children.map(children, function (child) { return isValidElement(child) ? cloneElement(child, createChains(rest, child.props)) : child; })); } return null; } return React.createElement(React.Fragment, null, Children.map(children, function (child) { return rippleChild(child); })); }; Ripple.displayName = 'Ripple'; export default memo(Ripple); //# sourceMappingURL=index.js.map