UNPKG

@tapie-kr/inspire-react

Version:

React Component Collection for INSPIRE

22 lines (19 loc) 1.07 kB
'use client'; /* eslint-disable */ /* * INSPIRE : Creative Kit * React Component Collection for INSPIRE * * This file is generated automatically. Do not modify it manually * Generated at : 2025. 3. 4. 오후 6:18:13 * @tapie-kr/inspire-react version: 0.2.15 * * (c) 2025 TAPIE. All rights reserved. * MIT License */ import { useAtomValue, useSetAtom } from 'jotai'; import { useMemo, useEffect } from 'react'; import { createPortal } from 'react-dom'; import { overlayAtom } from '../../../../lib/atoms.js'; function Overlay(props){const id=useMemo(()=>Math.random().toString(36).slice(2),[]);const overlayMeta=useAtomValue(overlayAtom);const setOverlayMeta=useSetAtom(overlayAtom);useEffect(()=>{setOverlayMeta(prev=>({...prev,activeChildren:[...prev.activeChildren,id],wrapperClassName:props.className}));return ()=>{setOverlayMeta(prev=>({...prev,activeChildren:prev.activeChildren.filter(child=>child!==id),wrapperClassName:null}));}},[props.className]);return overlayMeta.dom?createPortal(props.children,overlayMeta.dom,props.key):null} export { Overlay };