{"version":3,"sources":["Markdown.tsx"],"sourcesContent":["import { Component } from \"uix/components/Component.ts\";\nimport * as marked from '../lib/marked-js.ts';\nimport { Datex } from \"unyt_core/datex.ts\";\nimport { unsafeHTML } from \"uix/html/unsafe-html.ts\";\nimport { baseUrl, toBaseURL } from \"../lib/marked-base-url.ts\";\n\n@blankTemplate(({value, children, imageBase, base}) => {\n\tconst options = baseUrl(base?.toString() ?? \"\");\n\tconst updatePath = (element: Node) => {\n\t\tif (element instanceof HTMLImageElement || element?.nodeName?.toLowerCase() === 'img')\n\t\t\telement.setAttribute?.(\"src\", toBaseURL(element.getAttribute(\"src\"), imageBase as URL));\n\t}\n\tconst resolvePaths = (elements: HTMLElement[]) => {\n\t\tif (!base || !imageBase)\n\t\t\treturn elements;\n\t\tfor (const element of elements) {\n\t\t\tupdatePath(element);\n\t\t\telement.querySelectorAll(\"img\").forEach(e => updatePath(e));\n\t\t}\n\t\treturn elements;\n\t}\n\treturn <>\n\t\t{\n\t\t\tvalue ?\n\t\t\t\tresolvePaths([...unsafeHTML(`<div>${marked.parse(val(value), options)}</div>`).children])\n\t\t\t\t: [\n\t\t\t\t\t...(children || []).map(child => \n\t\t\t\t\t\tchild instanceof HTMLElement ? \n\t\t\t\t\t\t\tchild : \n\t\t\t\t\t\t\tresolvePaths([...unsafeHTML(`<div>${marked.parse(val(child)?.replaceAll(\"\\\\n\", \"\\n\"), options)}</div>`).children])\n\t\t\t\t\t)\n\t\t\t\t].flat()\n\t\t}\n\t</>\n})\nexport class Markdown extends Component<{value?: Datex.RefOrValue<string>, base?: URL | string, imageBase?: URL | string}, Datex.RefOrValue<string>> {\n\t\n}\n\nexport default Markdown;"],"names":["Component","marked","unsafeHTML","baseUrl","toBaseURL","blankTemplate","value","children","imageBase","base","options","toString","updatePath","element","HTMLImageElement","nodeName","toLowerCase","setAttribute","getAttribute","resolvePaths","elements","querySelectorAll","forEach","e","parse","val","map","child","HTMLElement","replaceAll","flat","Markdown"],"mappings":"sBAmC8BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAnC9B,SAASA,SAAS,QAAQ,8BAA8B;AACxD,YAAYC,YAAY,sBAAsB;AAE9C,SAASC,UAAU,QAAQ,0BAA0B;AACrD,SAASC,OAAO,EAAEC,SAAS,QAAQ,4BAA4B;OAE9DC,cAAc,CAAC,EAACC,KAAK,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,IAAI,EAAC;IACjD,IAAMC,UAAUP,QAAQM,MAAME,cAAc,KACtCC,aAAa,CAACC;QACfA,CAAAA,mBAAmBC,oBAAoBD,SAASE,UAAUC,kBAAkB,KAAI,KACnFH,QAAQI,YAAY,GAAG,OAAOb,UAAUS,QAAQK,YAAY,CAAC,QAAQV;IACvE,GACMW,eAAe,CAACC;QACrB,IAAI,CAACX,QAAQ,CAACD,WACb,OAAOY;QACR,KAAK,IAAMP,WAAWO,SACrBR,WAAWC,UACXA,QAAQQ,gBAAgB,CAAC,OAAOC,OAAO,CAACC,CAAAA,IAAKX,WAAWW;QAEzD,OAAOH;IACR;IACA,qBAAO;kBAELd,QACCa,aAAa;eAAIjB,WAAW,CAAC,KAAK,EAAED,OAAOuB,KAAK,CAACC,IAAInB,QAAQI,SAAS,MAAM,CAAC,EAAEH,QAAQ;SAAC,IACtF;eACE,AAACA,CAAAA,YAAY,EAAE,AAAD,EAAGmB,GAAG,CAACC,CAAAA,QACvBA,iBAAiBC,cAChBD,QACAR,aAAa;uBAAIjB,WAAW,CAAC,KAAK,EAAED,OAAOuB,KAAK,CAACC,IAAIE,QAAQE,WAAW,OAAO,OAAOnB,SAAS,MAAM,CAAC,EAAEH,QAAQ;iBAAC;SAEnH,CAACuB,IAAI;;AAGV;AACO,IAAA,AAAMC,WAAN,MAAMA,kBAAiB/B,aAAAA;;;;WAAAA;;;;;AAE9B;AAEA,eAAe+B,UAAS;SAJxB,AAAaA,aAAAA,QAEZ","sourceRoot":"/lib/uix-components-new-0.1.15/Defaults/","file":"Markdown.tsx"}