UNPKG

@zohodesk/hooks

Version:

Unified Component Library - Hooks

24 lines 1.03 kB
import React, { useEffect } from 'react'; import modalImpl from "./modalfunctionlity"; export default function useModal(props) { const wrapperObjForFloatingUI = document.createElement('div'); wrapperObjForFloatingUI.className = `floatingcontainer_${new Date().getTime()}`; useEffect(() => { props.modalrootNode.appendChild(wrapperObjForFloatingUI); const modalObj = { ...props, wrapperObjForFloatingUI, UID: wrapperObjForFloatingUI.className }; modalImpl.init(modalObj); return function cleanUp() { const indexOfContainerElement = modalImpl.getIndexOfContainerElement(wrapperObjForFloatingUI.className); modalImpl.removeFloatingUIContainerElement(indexOfContainerElement, wrapperObjForFloatingUI.className); }; }, [props]); const skeletonOfModal = /*#__PURE__*/React.createElement(React.Fragment, null, props.freezeLayer ? props.freezeLayer(props) : props.children); return { skeleton: skeletonOfModal, floatingRoot: wrapperObjForFloatingUI, ...modalImpl }; }