npm.io
1.2.27 • Published 4h ago

@y14e/portal

Licence
MIT
Version
1.2.27
Deps
2
Size
54 kB
Vulns
0
Weekly
0

Portal

Lightweight DOM portal (teleport) utility with fully focus management. Designed for accessible dialogs, menus, overlays, popovers.

Install

npm i @y14e/portal
// npm
import { createPortal } from '@y14e/portal';

// CDNs
import { createPortal } from 'https://esm.sh/@y14e/portal@1.2.27';
// or
import { createPortal } from 'https://cdn.jsdelivr.net/npm/@y14e/portal@1.2.27/+esm';
// or
import { createPortal } from 'https://esm.unpkg.com/@y14e/portal@1.2.27';

APIs

createPortal

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>)

Demo

https://y14e.github.io/portal/

Keywords