import type { CSSProperties, RefObject } from "preact/compat"; type HTMLElementLike = string | HTMLElement | JQuery; interface RawHtmlProps { className?: string; html?: HTMLElementLike; style?: CSSProperties; onClick?: (e: MouseEvent) => void; } export default function RawHtml({containerRef, ...props}: RawHtmlProps & { containerRef?: RefObject}) { return ; } export function RawHtmlBlock({containerRef, ...props}: RawHtmlProps & { containerRef?: RefObject}) { return
} function getProps({ className, html, style, onClick }: RawHtmlProps) { return { className: className, dangerouslySetInnerHTML: getHtml(html ?? ""), style, onClick } } export function getHtml(html: string | HTMLElement | JQuery) { if (typeof html === "object" && "length" in html) { html = html[0]; } if (typeof html === "object" && "outerHTML" in html) { html = html.outerHTML; } return { __html: html as string }; }