import { cloneElement, isValidElement } from "react"; import type * as React from "react"; /** * Type-safe clone element * * @param element * @param props * @param children */ export function cloneValidElement( element: React.ReactElement | React.ReactNode, props?: Partial & React.Attributes, ...children: React.ReactNode[] ): React.ReactElement | React.ReactNode { return isValidElement(element) ? cloneElement(element, props, ...children) : element; }