{"version":3,"sources":["markdown.ts"],"sourcesContent":["import \"../lib/marked.js\"; // required for Markdown highlighting\ndeclare const marked:Function;\n\n\n/** <text/markdown> */\nexport class Markdown {\n    content:string\n    constructor(content:string|ArrayBuffer|Uint8Array = \"\") {\n        if (content instanceof ArrayBuffer || content instanceof Uint8Array) this.content = new TextDecoder().decode(content);\n        else this.content = content;\n    }\n    toString(){\n        return this.content;\n    }\n\n    private static code_colorizer:globalThis.Function\n    static setCodeColorizer(code_colorizer:globalThis.Function){\n        this.code_colorizer = code_colorizer;\n    }\n\n    // return formatted HTML for markdown\n    getHTML(container=true){\n\n        // @ts-ignore for browser contexts\n        if (!globalThis.document) return \"[Cannot generate HTML]\";\n        // @ts-ignore for browser contexts\n        \n        const code = container ? document.createElement(\"code\") : document.createElement(\"div\");\n        code.style.paddingLeft = \"10px\";\n        code.style.paddingRight = \"10px\";\n        code.style.marginTop = \"10px\";\n        code.style.marginBottom = \"10px\";\n        code.innerHTML = marked(this.content);\n        \n        // higlight code\n        if (Markdown.code_colorizer) {\n            code.querySelectorAll(\"code\").forEach(async (c:any)=>{\n                const lang = c.getAttribute(\"class\")?.replace(\"language-\", \"\") || \"datex\";\n                if (lang) {\n                    c.innerHTML = await Markdown.code_colorizer(c.innerText, lang)\n                }\n            })\n        }\n\n        return code;\n    }\n}\n"],"names":["Markdown","content","constructor","ArrayBuffer","Uint8Array","TextDecoder","decode","toString","code_colorizer","setCodeColorizer","getHTML","container","globalThis","document","code","createElement","style","paddingLeft","paddingRight","marginTop","marginBottom","innerHTML","marked","querySelectorAll","forEach","c","lang","getAttribute","replace","innerText"],"mappings":"AAAA,OAAO,mBAAmB;AAK1B,OAAO,MAAMA;IACTC,QAAc;IACdC,YAAYD,UAAwC,EAAE,CAAE;QAChDA,mBAAmBE,eAAeF,mBAAmBG,aAAY,IAAI,CAACH,OAAO,GAAG,IAAII,cAAcC,MAAM,CAACL,WACxG,IAAI,CAACA,OAAO,GAAGA;IACxB;IACAM,WAAU;QACN,OAAO,IAAI,CAACN,OAAO;IACvB;IAEA,OAAeO,eAAkC;IACjD,OAAOC,iBAAiBD,cAAkC,EAAC;QACvD,IAAI,CAACA,cAAc,GAAGA;IAC1B;IAGAE,QAAQC,YAAU,CAAA,CAAI,EAAC;QAGnB,IAAI,CAACC,WAAWC,QAAQ,EAAE,OAAO;QAGjC,IAAMC,OAAOH,YAAYE,SAASE,aAAa,CAAC,UAAUF,SAASE,aAAa,CAAC;QAiBjF,OAhBAD,KAAKE,KAAK,CAACC,WAAW,GAAG,QACzBH,KAAKE,KAAK,CAACE,YAAY,GAAG,QAC1BJ,KAAKE,KAAK,CAACG,SAAS,GAAG,QACvBL,KAAKE,KAAK,CAACI,YAAY,GAAG,QAC1BN,KAAKO,SAAS,GAAGC,OAAO,IAAI,CAACrB,OAAO,GAGhCD,SAASQ,cAAc,IACvBM,KAAKS,gBAAgB,CAAC,QAAQC,OAAO,CAAC,OAAOC;YACzC,IAAMC,OAAOD,EAAEE,YAAY,CAAC,UAAUC,QAAQ,aAAa,OAAO;YAC9DF,QACAD,CAAAA,EAAEJ,SAAS,GAAG,MAAMrB,SAASQ,cAAc,CAACiB,EAAEI,SAAS,EAAEH,KAAI;QAErE,IAGGZ;IACX;AACJ","sourceRoot":"/lib/datex-core-js-legacy-0.3.15/types/","file":"markdown.ts"}