UNPKG

@jbrowse/core

Version:

JBrowse 2 core libraries used by plugins

17 lines (16 loc) 665 B
import { jsx as _jsx } from "react/jsx-runtime"; import { useLayoutEffect, useRef } from 'react'; import dompurify from 'dompurify'; export default function DOMPurifySanitizedHTML({ value, className, }) { const spanRef = useRef(null); useLayoutEffect(() => { const el = spanRef.current; if (el) { for (const a of el.querySelectorAll('a')) { a.setAttribute('rel', 'noopener noreferrer'); a.setAttribute('target', '_blank'); } } }, [value]); return (_jsx("span", { ref: spanRef, className: className, dangerouslySetInnerHTML: { __html: dompurify.sanitize(value) } })); }