import xml from "react-syntax-highlighter/dist/esm/languages/hljs/xml"; import { dracula } from "react-syntax-highlighter/dist/esm/styles/hljs"; import xmlFormat from "xml-formatter"; import { Light as SyntaxHighlighter } from "react-syntax-highlighter"; import { AsyncWidget } from "./AsyncWidget"; import React from "react"; SyntaxHighlighter.registerLanguage("xml", xml); export function XMLWidget(p: { src: string }): React.ReactElement { const xml = xmlFormat(p.src); return ( {xml} ); } export function XMLAsyncWidget(p: { identifier: string; load: () => Promise; errMsg: string; }): React.ReactElement { const [src, setSrc] = React.useState(); const load = async () => { setSrc(await p.load()); }; return ( } /> ); }