choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
63 lines (43 loc) • 2.15 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireWildcard(require("react"));
var _RippleChild = _interopRequireDefault(require("./RippleChild"));
var _createChains = _interopRequireDefault(require("../_util/createChains"));
var _ConfigContext = _interopRequireDefault(require("../config-provider/ConfigContext"));
var Ripple = function Ripple(props) {
var customizePrefixCls = props.prefixCls,
disabled = props.disabled,
children = props.children,
rest = (0, _objectWithoutProperties2["default"])(props, ["prefixCls", "disabled", "children"]);
var _useContext = (0, _react.useContext)(_ConfigContext["default"]),
getPrefixCls = _useContext.getPrefixCls,
getConfig = _useContext.getConfig;
var prefixCls = getPrefixCls('ripple', customizePrefixCls);
var rippleChild = function rippleChild(child) {
return _react["default"].createElement(_RippleChild["default"], (0, _extends2["default"])({
prefixCls: prefixCls
}, rest), child);
};
if (disabled || !children || !getConfig('ripple')) {
if (children) {
return _react["default"].createElement(_react["default"].Fragment, null, _react.Children.map(children, function (child) {
return (0, _react.isValidElement)(child) ? (0, _react.cloneElement)(child, (0, _createChains["default"])(rest, child.props)) : child;
}));
}
return null;
}
return _react["default"].createElement(_react["default"].Fragment, null, _react.Children.map(children, function (child) {
return rippleChild(child);
}));
};
Ripple.displayName = 'Ripple';
var _default = (0, _react.memo)(Ripple);
exports["default"] = _default;
//# sourceMappingURL=index.js.map