@nlabs/gothamjs
Version:
Platform
42 lines (41 loc) • 4.68 kB
JavaScript
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=