@antv/s2-react
Version:
use S2 with react
26 lines • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReactElement = void 0;
const tslib_1 = require("tslib");
const s2_1 = require("@antv/s2");
const classnames_1 = tslib_1.__importDefault(require("classnames"));
const react_1 = tslib_1.__importDefault(require("react"));
const ReactElement = (props) => {
const { style = {}, className, content } = props;
const commonProps = {
style,
className: (0, classnames_1.default)(`${s2_1.S2_PREFIX_CLS}-react-element`, className),
};
// React 组件
if (react_1.default.isValidElement(content)) {
return (react_1.default.createElement("span", Object.assign({}, commonProps),
react_1.default.createElement(react_1.default.Fragment, null, content)));
}
// DOM/字符串
const htmlNode = typeof content !== 'string'
? content === null || content === void 0 ? void 0 : content.innerHTML
: content;
return (react_1.default.createElement("span", Object.assign({}, commonProps, { dangerouslySetInnerHTML: { __html: htmlNode } })));
};
exports.ReactElement = ReactElement;
//# sourceMappingURL=react-element.js.map