Lightweight DOM portal (teleport) utility with fully focus management. Designed for accessible dialogs, menus, overlays, popovers.
npm i @y14e/portal// npm
import { createPortal } from '@y14e/portal@1.2.15';
// CDNs
import { createPortal } from 'https://esm.sh/@y14e/portal@1.2.15';
// or
import { createPortal } from 'https://cdn.jsdelivr.net/npm/@y14e/portal@1.2.15/+esm';
// or
import { createPortal } from 'https://esm.unpkg.com/@y14e/portal@1.2.15';Creates a portal and preserves keyboard focus order between the original DOM and the portal.
const cleanup = createPortal(host, container);
// => () => void
//
// host: Element
// container (optional): Element (default: <body>)