UNPKG

@instructure/ui-react-utils

Version:

A React utility library made by Instructure Inc.

23 lines 888 B
import { Attributes, FunctionComponentElement, ComponentElement, ReactElement, ReactNode, DOMElement } from 'react'; type GetProps<E extends ReactElement = ReactElement> = E extends FunctionComponentElement<infer P> | ComponentElement<infer P, any> | DOMElement<infer P, any> ? P & { ref?: any; } : Record<string, any> & { ref?: any; }; /** * --- * category: utilities/react * --- * Clones a React element without overwriting refs. * @param element The element to clone * @param props Props of the element * @param children */ declare function safeCloneElement<E extends ReactElement = ReactElement, P extends GetProps<E> = GetProps<E>>(element: { ref?: any; } & E, props: { style?: any; } & Partial<Attributes> & Partial<P>, ...children: ReactNode[]): E; export default safeCloneElement; export { safeCloneElement }; //# sourceMappingURL=safeCloneElement.d.ts.map