@blueprintjs/core
Version:
Core styles & components
32 lines (31 loc) • 1.22 kB
TypeScript
import type * as React from "react";
/**
* Generic options interface for Blueprint APIs which imperatively mount a React component to the
* DOM using `"react-dom"`: `OverlayToaster.create`, `showContextMenu`, etc.
*
* The `domRenderer` currently defaults to React 16's `ReactDOM.render()`; a future version of Blueprint
* will default to using React 18's `createRoot()` instead, but it's possible to configure this
* function to use the newer API by overriding the default.
*
* @deprecated Use more API specific options instead.
*/
export interface DOMMountOptions<P> {
/**
* A new DOM element will be created and appended to this container.
*
* @default document.body
*/
container?: HTMLElement;
/**
* A function to render the React component onto a newly created DOM element.
*
* @default ReactDOM.render
*/
domRenderer?: (element: React.ReactElement<P>, container: Element | DocumentFragment) => React.Component<P, any> | Element | void;
/**
* A function to unmount the React component from its DOM element.
*
* @default ReactDOM.unmountComponentAtNode
*/
domUnmounter?: (container: Element | DocumentFragment) => void;
}