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';
// CDNs
import { createPortal } from 'https://esm.sh/@y14e/portal@1.3.0';
// or
import { createPortal } from 'https://cdn.jsdelivr.net/npm/@y14e/portal@1.3.0/+esm';
// or
import { createPortal } from 'https://esm.unpkg.com/@y14e/portal@1.3.0';Creates a portal and preserves keyboard focus order between the original DOM and the portal.
const cleanup = createPortal(host, container, options);
// => () => void
//
// host: Element
// container (optional): Element (default: <body>)
// options (optional): PortalOptionsinterface PortalOptions {
noInlineStyle: boolean; // default: false
}