@ant-design/happy-work-theme
Version:
Ant Design happy work theme
50 lines (48 loc) • 1.76 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 = HappyProvider;
var _antd = require("antd");
var _useEvent = _interopRequireDefault(require("rc-util/lib/hooks/useEvent"));
var React = _interopRequireWildcard(require("react"));
var _DotEffect = _interopRequireDefault(require("./DotEffect"));
var _unstableRender = require("./_utils/unstable-render");
function HappyProvider(props) {
var children = props.children,
disabled = props.disabled;
var showEffect = (0, _useEvent.default)(function (target, info) {
var token = info.token,
hashId = info.hashId;
// Create holder
var holder = document.createElement('div');
holder.style.position = 'absolute';
holder.style.left = "0px";
holder.style.top = "0px";
document.body.appendChild(holder);
var unmount = (0, _unstableRender.unstableRender)( /*#__PURE__*/React.createElement(_DotEffect.default, {
target: target,
token: token,
hashId: hashId,
onFinish: function onFinish() {
unmount().then(function () {
var _holder$parentElement;
(_holder$parentElement = holder.parentElement) === null || _holder$parentElement === void 0 || _holder$parentElement.removeChild(holder);
});
}
}), holder);
});
var waveConfig = React.useMemo(function () {
if (disabled) {
return {};
}
return {
showEffect: showEffect
};
}, [disabled]);
return /*#__PURE__*/React.createElement(_antd.ConfigProvider, {
wave: waveConfig
}, children);
}