@nlabs/gothamjs
Version:
Platform
1 lines • 2.86 kB
JavaScript
;(self.webpackChunk_nlabs_gothamjs=self.webpackChunk_nlabs_gothamjs||[]).push([[901],{"./src/views/MarkdownView/MarkdownView.stories.tsx":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Primary:function(){return Primary},__namedExportsOrder:function(){return __namedExportsOrder}});const meta={component:__webpack_require__("./src/views/MarkdownView/MarkdownView.tsx").p};__webpack_exports__.default=meta;const Primary={args:{className:"test",content:"# Hello\n**Bold text**\n*Italic text*\n- List item"}},__namedExportsOrder=["Primary"];Primary.parameters={...Primary.parameters,docs:{...Primary.parameters?.docs,source:{originalSource:"{\n args: {\n className: 'test',\n content: '# Hello\\n**Bold text**\\n*Italic text*\\n- List item'\n }\n}",...Primary.parameters?.docs?.source}}}},"./src/views/MarkdownView/MarkdownView.tsx":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{p:function(){return MarkdownView}});var react=__webpack_require__("../lex/node_modules/react/index.js"),lib=__webpack_require__("./node_modules/react-markdown/lib/index.js"),rip_hunter_lib=__webpack_require__("./node_modules/@nlabs/rip-hunter/lib/index.js");const parseTemplate=(markdown="",values={})=>markdown.replace(/\{\{(\w+)\}\}/g,(match,key)=>{const value=values[key];return void 0!==value?String(value):match});var jsx_runtime=__webpack_require__("../lex/node_modules/react/jsx-runtime.js");const MarkdownView=({className:className="",content:content,url:url,values:values={}})=>{const[markdown,setMarkdown]=(0,react.useState)("");return(0,react.useEffect)(()=>{(async()=>{try{if(url){const data=await(async url=>{try{return(await(0,rip_hunter_lib.Jt)(url)).data}catch(error){throw new Error(`Failed to fetch JSON from ${url}: ${error.message}`)}})(url);setMarkdown(parseTemplate(data,values))}else content&&setMarkdown(parseTemplate(content,values))}catch(error){console.error("Failed to load markdown content:",error),setMarkdown("Error loading content")}})()},[url,content,values]),(0,jsx_runtime.jsx)("div",{className:`markdown-container ${className}`,style:{backgroundColor:"transparent",height:"100%",overflow:"auto",width:"100%"},children:(0,jsx_runtime.jsx)(lib.oz,{children:markdown})})};MarkdownView.__docgenInfo={description:"",methods:[],displayName:"MarkdownView",props:{className:{required:!1,tsType:{name:"string"},description:"",defaultValue:{value:"''",computed:!1}},content:{required:!1,tsType:{name:"string"},description:""},url:{required:!1,tsType:{name:"string"},description:""},values:{required:!1,tsType:{name:"Record",elements:[{name:"string"},{name:"unknown"}],raw:"Record<string, unknown>"},description:"",defaultValue:{value:"{}",computed:!1}}}}}}]);