UNPKG

@spaced-out/ui-design-system

Version:
31 lines (29 loc) 894 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useToastPortal = void 0; var _react = require("react"); var _elevation = require("../../styles/variables/_elevation"); var _space = require("../../styles/variables/_space"); const useToastPortal = _ref => { let { toastRef } = _ref; const [loaded, setLoaded] = (0, _react.useState)(false); (0, _react.useEffect)(() => { const div = document.createElement('div'); // $FlowFixMe[incompatible-type]; div.style = `position: fixed; bottom: ${_space.spaceMedium}; left: ${_space.spaceMedium}; z-index: ${_elevation.elevationToast};`; /* $FlowIgnore */ document.body.prepend(div); toastRef.current = div; setLoaded(true); /* $FlowIgnore */ return () => document.body.removeChild(div); }, []); return { loaded }; }; exports.useToastPortal = useToastPortal;