/** * Context set by `` so children know a portal is mounted (and * whether it's `keepMounted`). Mirrors React. * * `createContext(null)` + `== null` sentinel. */ import { type Accessor, createContext, useContext } from "solid-js"; export const MenuPortalContext = createContext | null>(null); /** * Optional read — returns false when not inside a Portal. */ export function useMenuPortalContext(): Accessor { const keepMounted = useContext(MenuPortalContext); return () => keepMounted?.() ?? false; }