Files
descrybe/apps/web/src/lib/actions/portal.ts
T

12 lines
297 B
TypeScript
Raw Normal View History

/** Move a node under `document.body` so it escapes overflow/transform ancestors. */
export function portal(node: HTMLElement, target: HTMLElement = document.body) {
target.appendChild(node);
return {
destroy() {
if (node.parentNode) {
node.parentNode.removeChild(node);
}
}
};
}