@ant-design/happy-work-theme
Version:
Ant Design happy work theme
54 lines (52 loc) • 1.61 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _antd = require("antd");
var _useEvent = _interopRequireDefault(require("@rc-component/util/lib/hooks/useEvent"));
var React = _interopRequireWildcard(require("react"));
var _DotEffect = _interopRequireDefault(require("./DotEffect"));
var _render = require("@rc-component/util/lib/React/render");
const HappyProvider = props => {
const {
children,
disabled
} = props;
const showEffect = (0, _useEvent.default)((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);
(0, _render.render)( /*#__PURE__*/React.createElement(_DotEffect.default, {
target: target,
token: token,
hashId: hashId,
onFinish: () => {
(0, _render.unmount)(holder).then(() => {
holder.remove();
});
}
}), holder);
});
const memoizedWaveConfig = React.useMemo(() => {
if (disabled) {
return {};
}
return {
showEffect
};
}, [disabled]);
return /*#__PURE__*/React.createElement(_antd.ConfigProvider, {
wave: memoizedWaveConfig
}, children);
};
var _default = exports.default = HappyProvider;