UNPKG

@crossed/ui

Version:

A universal & performant styling library for React Native, Next.js & React

24 lines (23 loc) 807 B
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