UNPKG

@zohodesk/components

Version:

In this Package, we Provide Some Basic Components to Build Web App

30 lines 1.19 kB
import React from 'react'; import { defaultProps } from "./props/defaultProps"; import { propTypes } from "./props/propTypes"; import CssProvider from "../Provider/CssProvider"; import style from "./RippleEffect.module.css"; export default function RippleEffect(props) { let { children, isActive, isDisabled, palette, hoverType, isNeedEffect, needBorder, isCopyTextEnabled, cssClassPropOfChild } = props; let className = isNeedEffect ? `${style.effect} ${style[palette]} ${needBorder ? style.border : ''} ${style[`${hoverType}Hover`] ? style[`${hoverType}Hover`] : ''} ${isActive && !isDisabled ? style.active : ''} ${isDisabled ? '' : style.hoverEffect} ${isCopyTextEnabled ? style.notAllowed : isDisabled ? CssProvider('isDisabled') : ''}` : ''; let child = React.Children.only(children); return /*#__PURE__*/React.cloneElement(child, { [cssClassPropOfChild]: `${child.props[cssClassPropOfChild] || ''} ${className}` }); } RippleEffect.defaultProps = defaultProps; RippleEffect.propTypes = propTypes; // if (__DOCS__) { // RippleEffect.docs = { // componentGroup: 'RippleEffect', // folderName: 'Style Guide' // }; // }