UNPKG

@ozen-ui/kit

Version:

React component library

26 lines (25 loc) 863 B
import { __assign } from "tslib"; import React, { isValidElement, cloneElement } from 'react'; import { isElement, isValidElementType } from 'react-is'; import { mergeDeep } from '../object/mergeDeep'; export function renderContent(_a) { var content = _a.content, props = _a.props; // primitives: string or number if (typeof content === 'string' || typeof content === 'number') { return content; } // react-element if (isElement(content)) { return cloneElement(content, mergeDeep(props, content.props)); } // render-function if (typeof content === 'function' && !isValidElement(content)) { return content(props); } // react-component if (isValidElementType(content)) { var Content = content; return React.createElement(Content, __assign({}, props)); } return null; }