@crossed/ui
Version:
A universal & performant styling library for React Native, Next.js & React
24 lines (23 loc) • 807 B
JavaScript
import { jsx } from "react/jsx-runtime";
import { Portal } from "@gorhom/portal";
import {
FloatingConfigProvider,
FloatingProvider,
useFloatingConfig,
useFloatingContext
} from "./context";
import { Fragment, memo, useMemo } from "react";
const FloatingPortal = memo(({ children }) => {
const floatingContext = useFloatingContext();
const config = useFloatingConfig();
const PortalComponent = useMemo(
() => config.portal ? Portal : Fragment,
[config.portal]
);
return /* @__PURE__ */ jsx(PortalComponent, { children: /* @__PURE__ */ jsx(FloatingConfigProvider, { ...config, children: /* @__PURE__ */ jsx(FloatingProvider, { ...floatingContext, children }) }) });
});
FloatingPortal.displayName = "Floating.Portal";
export {
FloatingPortal
};
//# sourceMappingURL=Portal.js.map