@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
24 lines (21 loc) • 732 B
JavaScript
'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