UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

24 lines (21 loc) 732 B
'use client'; import { useIsClient } from "./useIsClient.mjs"; import { LOBE_THEME_APP_ID } from "../ThemeProvider/constants.mjs"; import { useMemo } from "react"; //#region src/hooks/usePortalContainer.ts const usePortalContainer = (containerAttr) => { const isClient = useIsClient(); return useMemo(() => { if (!isClient) return null; const themeApp = document.querySelector(`#${LOBE_THEME_APP_ID}`); if (themeApp) return themeApp; if (containerAttr) { const container = document.querySelector(`[${containerAttr}="true"]`); if (container) return container; } return document.body; }, [isClient, containerAttr]); }; //#endregion export { usePortalContainer }; //# sourceMappingURL=usePortalContainer.mjs.map