UNPKG

@ant-design/happy-work-theme

Version:
46 lines (45 loc) 1.18 kB
import { ConfigProvider } from 'antd'; import useEvent from "@rc-component/util/es/hooks/useEvent"; import * as React from 'react'; import DotEffect from "./DotEffect"; import { render, unmount } from "@rc-component/util/es/React/render"; const HappyProvider = props => { const { children, disabled } = props; const showEffect = useEvent((target, info) => { const { token, hashId } = info; // Create holder const holder = document.createElement('div'); holder.style.position = 'absolute'; holder.style.left = `0px`; holder.style.top = `0px`; document.body.appendChild(holder); render( /*#__PURE__*/React.createElement(DotEffect, { target: target, token: token, hashId: hashId, onFinish: () => { unmount(holder).then(() => { holder.remove(); }); } }), holder); }); const memoizedWaveConfig = React.useMemo(() => { if (disabled) { return {}; } return { showEffect }; }, [disabled]); return /*#__PURE__*/React.createElement(ConfigProvider, { wave: memoizedWaveConfig }, children); }; export default HappyProvider;