UNPKG

@eviljs/reactx

Version:
18 lines (17 loc) 681 B
import { classes } from '@eviljs/react/classes'; import { HtmlSandbox as HtmlSandboxElement } from '@eviljs/webx/html-sandbox'; import { createElement } from 'react'; export const HtmlSandboxTag = 'html-sandbox'; export function HtmlSandbox(props) { const { children, className, tag, ...otherProps } = props; return (createElement(tag ?? HtmlSandboxTag, { ...otherProps, class: classes('HtmlSandbox-d25f', className), }, children)); } export function defineHtmlSandbox(tagOptional) { const tag = tagOptional ?? HtmlSandboxTag; if (!customElements.get(tag)) { // HMR Compatibility. customElements.define(tag, HtmlSandboxElement); } }