@ant-design/happy-work-theme
Version:
Ant Design happy work theme
46 lines (45 loc) • 1.18 kB
JavaScript
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;