All files / libs/ext/react/components/src/lib/portal Portal.tsx

100% Statements 13/13
100% Branches 3/3
100% Functions 0/0
100% Lines 13/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 141x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x 1x  
import { Fragment, memo, type ReactNode } from 'react';
import { createPortal } from 'react-dom';
 
export type PortalProps = {
  /** Element where to mount the portal. */
  readonly element?: HTMLElement | null;
  /** Content to render in the portal. */
  readonly children?: ReactNode;
};
 
export const Portal = memo(function Portal({ element = null, children = null }: PortalProps) {
  return <Fragment>{element ? createPortal(children, element) : null}</Fragment>;
});