UNPKG

@nlabs/gothamjs

Version:
42 lines (41 loc) 4.68 kB
import { jsx as _jsx } from "react/jsx-runtime"; import React, { useEffect, useState } from 'react'; import ReactMarkdown from 'react-markdown'; import { fetchJsonFromUrl, parseTemplate } from '../../utils/contentUtils.js'; const defaultStyles = { backgroundColor: 'transparent', height: '100%', overflow: 'auto', width: '100%' }; export const MarkdownView = ({ className = '', content, url, values = {} })=>{ const [markdown, setMarkdown] = useState(''); useEffect(()=>{ const loadContent = async ()=>{ try { if (url) { const data = await fetchJsonFromUrl(url); setMarkdown(parseTemplate(data, values)); } else if (content) { setMarkdown(parseTemplate(content, values)); } } catch (error) { console.error('Failed to load markdown content:', error); setMarkdown('Error loading content'); } }; loadContent(); }, [ url, content, values ]); return /*#__PURE__*/ _jsx("div", { className: `markdown-container ${className}`.trim(), style: defaultStyles, children: /*#__PURE__*/ _jsx(ReactMarkdown, { children: markdown }) }); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy92aWV3cy9NYXJrZG93blZpZXcvTWFya2Rvd25WaWV3LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3QsIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5cbmltcG9ydCB7ZmV0Y2hKc29uRnJvbVVybCwgcGFyc2VUZW1wbGF0ZX0gZnJvbSAnLi4vLi4vdXRpbHMvY29udGVudFV0aWxzLmpzJztcblxuXG5pbnRlcmZhY2UgTWFya2Rvd25WaWV3UHJvcHMge1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGNvbnRlbnQ/OiBzdHJpbmc7XG4gIHVybD86IHN0cmluZztcbiAgdmFsdWVzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbmNvbnN0IGRlZmF1bHRTdHlsZXM6IFJlYWN0LkNTU1Byb3BlcnRpZXMgPSB7XG4gIGJhY2tncm91bmRDb2xvcjogJ3RyYW5zcGFyZW50JyxcbiAgaGVpZ2h0OiAnMTAwJScsXG4gIG92ZXJmbG93OiAnYXV0bycsXG4gIHdpZHRoOiAnMTAwJSdcbn07XG5cbmV4cG9ydCBjb25zdCBNYXJrZG93blZpZXc6IFJlYWN0LkZDPE1hcmtkb3duVmlld1Byb3BzPiA9ICh7XG4gIGNsYXNzTmFtZSA9ICcnLFxuICBjb250ZW50LFxuICB1cmwsXG4gIHZhbHVlcyA9IHt9XG59KSA9PiB7XG4gIGNvbnN0IFttYXJrZG93biwgc2V0TWFya2Rvd25dID0gdXNlU3RhdGU8c3RyaW5nPignJyk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBsb2FkQ29udGVudCA9IGFzeW5jICgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgZmV0Y2hKc29uRnJvbVVybCh1cmwpO1xuICAgICAgICAgIHNldE1hcmtkb3duKHBhcnNlVGVtcGxhdGUoZGF0YSBhcyBzdHJpbmcsIHZhbHVlcykpO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbnRlbnQpIHtcbiAgICAgICAgICBzZXRNYXJrZG93bihwYXJzZVRlbXBsYXRlKGNvbnRlbnQsIHZhbHVlcykpO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCBtYXJrZG93biBjb250ZW50OicsIGVycm9yKTtcbiAgICAgICAgc2V0TWFya2Rvd24oJ0Vycm9yIGxvYWRpbmcgY29udGVudCcpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBsb2FkQ29udGVudCgpO1xuICB9LCBbdXJsLCBjb250ZW50LCB2YWx1ZXNdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtgbWFya2Rvd24tY29udGFpbmVyICR7Y2xhc3NOYW1lfWAudHJpbSgpfSBzdHlsZT17ZGVmYXVsdFN0eWxlc30+XG4gICAgICA8UmVhY3RNYXJrZG93bj57bWFya2Rvd259PC9SZWFjdE1hcmtkb3duPlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiUmVhY3RNYXJrZG93biIsImZldGNoSnNvbkZyb21VcmwiLCJwYXJzZVRlbXBsYXRlIiwiZGVmYXVsdFN0eWxlcyIsImJhY2tncm91bmRDb2xvciIsImhlaWdodCIsIm92ZXJmbG93Iiwid2lkdGgiLCJNYXJrZG93blZpZXciLCJjbGFzc05hbWUiLCJjb250ZW50IiwidXJsIiwidmFsdWVzIiwibWFya2Rvd24iLCJzZXRNYXJrZG93biIsImxvYWRDb250ZW50IiwiZGF0YSIsImVycm9yIiwiY29uc29sZSIsImRpdiIsInRyaW0iLCJzdHlsZSJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLFNBQVFDLFNBQVMsRUFBRUMsUUFBUSxRQUFPLFFBQVE7QUFDakQsT0FBT0MsbUJBQW1CLGlCQUFpQjtBQUUzQyxTQUFRQyxnQkFBZ0IsRUFBRUMsYUFBYSxRQUFPLDhCQUE4QjtBQVU1RSxNQUFNQyxnQkFBcUM7SUFDekNDLGlCQUFpQjtJQUNqQkMsUUFBUTtJQUNSQyxVQUFVO0lBQ1ZDLE9BQU87QUFDVDtBQUVBLE9BQU8sTUFBTUMsZUFBNEMsQ0FBQyxFQUN4REMsWUFBWSxFQUFFLEVBQ2RDLE9BQU8sRUFDUEMsR0FBRyxFQUNIQyxTQUFTLENBQUMsQ0FBQyxFQUNaO0lBQ0MsTUFBTSxDQUFDQyxVQUFVQyxZQUFZLEdBQUdmLFNBQWlCO0lBRWpERCxVQUFVO1FBQ1IsTUFBTWlCLGNBQWM7WUFDbEIsSUFBSTtnQkFDRixJQUFJSixLQUFLO29CQUNQLE1BQU1LLE9BQU8sTUFBTWYsaUJBQWlCVTtvQkFDcENHLFlBQVlaLGNBQWNjLE1BQWdCSjtnQkFDNUMsT0FBTyxJQUFJRixTQUFTO29CQUNsQkksWUFBWVosY0FBY1EsU0FBU0U7Z0JBQ3JDO1lBQ0YsRUFBRSxPQUFPSyxPQUFPO2dCQUNkQyxRQUFRRCxLQUFLLENBQUMsb0NBQW9DQTtnQkFDbERILFlBQVk7WUFDZDtRQUNGO1FBRUFDO0lBQ0YsR0FBRztRQUFDSjtRQUFLRDtRQUFTRTtLQUFPO0lBRXpCLHFCQUNFLEtBQUNPO1FBQUlWLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRUEsV0FBVyxDQUFDVyxJQUFJO1FBQUlDLE9BQU9sQjtrQkFDL0QsY0FBQSxLQUFDSDtzQkFBZWE7OztBQUd0QixFQUFFIn0=