| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | "use strict";Object.defineProperty(exports, "__esModule", {    value: true});exports.default = SideEffect;var _interop_require_wildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;var _react = _interop_require_wildcard(require("react"));function SideEffect(props) {    const { headManager , reduceComponentsToState  } = props;    function emitChange() {        if (headManager && headManager.mountedInstances) {            const headElements = _react.Children.toArray(Array.from(headManager.mountedInstances).filter(Boolean));            headManager.updateHead(reduceComponentsToState(headElements, props));        }    }    if (isServer) {        var ref;        headManager == null ? void 0 : (ref = headManager.mountedInstances) == null ? void 0 : ref.add(props.children);        emitChange();    }    useClientOnlyLayoutEffect(()=>{        var ref1;        headManager == null ? void 0 : (ref1 = headManager.mountedInstances) == null ? void 0 : ref1.add(props.children);        return ()=>{            var ref;            headManager == null ? void 0 : (ref = headManager.mountedInstances) == null ? void 0 : ref.delete(props.children);        };    });    // We need to call `updateHead` method whenever the `SideEffect` is trigger in all    // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s    // being rendered, we only trigger the method from the last one.    // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`    // singleton in the layout effect pass, and actually trigger it in the effect pass.    useClientOnlyLayoutEffect(()=>{        if (headManager) {            headManager._pendingUpdate = emitChange;        }        return ()=>{            if (headManager) {                headManager._pendingUpdate = emitChange;            }        };    });    useClientOnlyEffect(()=>{        if (headManager && headManager._pendingUpdate) {            headManager._pendingUpdate();            headManager._pendingUpdate = null;        }        return ()=>{            if (headManager && headManager._pendingUpdate) {                headManager._pendingUpdate();                headManager._pendingUpdate = null;            }        };    });    return null;}const isServer = typeof window === 'undefined';const useClientOnlyLayoutEffect = isServer ? ()=>{} : _react.useLayoutEffect;const useClientOnlyEffect = isServer ? ()=>{} : _react.useEffect;//# sourceMappingURL=side-effect.js.map
 |