@leadertechie/md2html 0.1.0-alpha.6 → 0.1.0-alpha.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/parser.ts","../src/renderer.ts","../node_modules/@lit/reactive-element/css-tag.js","../node_modules/@lit/reactive-element/reactive-element.js","../node_modules/lit-html/lit-html.js","../node_modules/lit-element/lit-element.js","../node_modules/lit-html/directive.js","../node_modules/lit-html/directives/unsafe-html.js","../src/lit-renderer.ts","../src/pipeline.ts"],"sourcesContent":["import { marked } from 'marked';\nimport { ContentNode, MarkdownContent, ParseOptions } from './types';\n\nexport class MarkdownParser {\n private imagePathPrefix: string;\n private imageBaseUrl: string;\n\n constructor(options?: { imagePathPrefix?: string; imageBaseUrl?: string }) {\n this.imagePathPrefix = options?.imagePathPrefix || '';\n this.imageBaseUrl = options?.imageBaseUrl || '';\n }\n\n private processImagePath(src: string): string {\n if (src.startsWith('http') || src.startsWith('/')) {\n return src;\n }\n let path = this.imagePathPrefix ? `${this.imagePathPrefix}${src}` : src;\n if (this.imageBaseUrl && !path.startsWith('http')) {\n path = `${this.imageBaseUrl}${path}`;\n }\n return path;\n }\n\n private processInlineFormatting(text: string): string {\n return text\n .replace(/\\*\\*(.+?)\\*\\*/g, '<strong>$1</strong>')\n .replace(/\\*(.+?)\\*/g, '<em>$1</em>');\n }\n\n private parseTokens(tokens: unknown[]): ContentNode[] {\n const nodes: ContentNode[] = [];\n \n for (const token of tokens) {\n const node = this.parseToken(token as Record<string, unknown>);\n if (node) {\n nodes.push(node);\n }\n }\n \n return nodes;\n }\n\n private parseToken(token: Record<string, unknown>): ContentNode | null {\n switch (token.type) {\n case 'heading':\n return {\n type: 'heading',\n content: token.text as string,\n attributes: { level: String(token.depth) }\n };\n \n case 'paragraph':\n const tokens = (token.tokens as Array<Record<string, unknown>>) || [];\n const hasInlineImage = tokens.some(t => t.type === 'image');\n \n if (hasInlineImage) {\n const children = tokens.map(t => {\n if (t.type === 'image') {\n return {\n type: 'image' as const,\n src: this.processImagePath(t.href as string),\n alt: t.text as string || ''\n };\n }\n return {\n type: 'text' as const,\n content: this.processInlineFormatting(t.text as string || '')\n };\n });\n return {\n type: 'paragraph',\n children\n };\n }\n \n return {\n type: 'paragraph',\n content: this.processInlineFormatting(token.text as string)\n };\n \n case 'list':\n return {\n type: 'list',\n ordered: token.ordered as boolean,\n children: (token.items as Array<Record<string, unknown>>).map((item) => ({\n type: 'list-item',\n content: this.processInlineFormatting(item.text as string)\n }))\n };\n \n case 'image':\n return {\n type: 'image',\n src: this.processImagePath(token.href as string),\n alt: token.title as string || ''\n };\n\n case 'code':\n return {\n type: 'code',\n content: token.text as string,\n attributes: { lang: token.lang as string || '' }\n };\n \n case 'hr':\n return { type: 'container', attributes: { tag: 'hr' } };\n \n case 'blockquote':\n return {\n type: 'container',\n attributes: { tag: 'blockquote' },\n children: this.parseTokens((token as Record<string, unknown>).tokens as unknown[] || [])\n };\n \n case 'html':\n return { type: 'container', content: token.raw as string };\n \n default:\n return null;\n }\n }\n\n parse(markdown: string, options?: ParseOptions): MarkdownContent {\n const parseOptions = {\n gfm: options?.gfm ?? true,\n breaks: options?.breaks ?? false,\n pedantic: options?.pedantic ?? false\n };\n \n const tokens = marked.lexer(markdown, parseOptions as Parameters<typeof marked.lexer>[1]);\n const content = this.parseTokens(tokens);\n \n return {\n title: '',\n content\n };\n }\n\n parseToNodes(markdown: string, options?: ParseOptions): ContentNode[] {\n return this.parse(markdown, options).content;\n }\n}\n","import { ContentNode, StyleConfig } from './types.js';\n\nexport class HTMLRenderer {\n private config: Required<StyleConfig>;\n\n constructor(config: StyleConfig = {}) {\n this.config = {\n classPrefix: config.classPrefix || '',\n customCSS: config.customCSS || '',\n addHeadingIds: config.addHeadingIds ?? false\n };\n }\n\n private hasClassConfig(): boolean {\n return this.config.classPrefix !== '' || this.config.addHeadingIds;\n }\n\n private getClass(baseClass: string, nodeClass?: string): string {\n if (!this.hasClassConfig()) {\n return nodeClass || '';\n }\n const prefix = this.config.classPrefix;\n const classes = [prefix ? `${prefix}${baseClass}` : baseClass];\n if (nodeClass) classes.push(nodeClass);\n return classes.join(' ');\n }\n\n private generateHeadingId(content?: string): string {\n if (!content) return '';\n return content\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/(^-|-$)/g, '');\n }\n\n private renderWithClass(tag: string, content: string, baseClass?: string, nodeClass?: string, extraAttrs?: string): string {\n const classAttr = this.hasClassConfig() && baseClass \n ? ` class=\"${this.getClass(baseClass, nodeClass)}\"` \n : '';\n return `<${tag}${classAttr}${extraAttrs || ''}>${content}</${tag}>`;\n }\n\n renderNode(node: ContentNode): string {\n switch (node.type) {\n case 'heading':\n const level = node.attributes?.level || '2';\n const headingId = this.config.addHeadingIds \n ? ` id=\"${this.generateHeadingId(node.content)}\"` \n : '';\n if (!this.hasClassConfig()) {\n return `<h${level}${headingId}>${node.content || ''}</h${level}>`;\n }\n return `<h${level}${headingId} class=\"${this.getClass('heading')}\">${node.content || ''}</h${level}>`;\n \n case 'paragraph':\n if (node.children) {\n const childrenHtml = node.children.map(child => this.renderNode(child)).join('');\n return this.renderWithClass('p', childrenHtml, 'paragraph');\n }\n return this.renderWithClass('p', node.content || '', 'paragraph');\n \n case 'list':\n const tag = node.ordered ? 'ol' : 'ul';\n const items = node.children?.map(child => this.renderNode(child)).join('') || '';\n return this.renderWithClass(tag, items, 'list');\n \n case 'list-item':\n return this.renderWithClass('li', node.content || '', 'list-item');\n \n case 'image':\n const src = node.src || node.attributes?.src || '';\n const alt = node.alt || node.attributes?.alt || '';\n const classStr = this.getClass('image', node.className || undefined);\n return `<img src=\"${src}\" alt=\"${alt}\"${classStr ? ` class=\"${classStr}\"` : ''}>`;\n \n case 'code':\n const codeClass = this.hasClassConfig() \n ? ` class=\"${this.getClass('code')} language-${node.attributes?.lang || ''}\"` \n : ` class=\"language-${node.attributes?.lang || ''}\"`;\n return `<pre><code${codeClass}>${node.content || ''}</code></pre>`;\n \n case 'container':\n if (node.attributes?.tag === 'hr') return '<hr>';\n if (node.attributes?.tag === 'blockquote') {\n const children = node.children?.map(child => this.renderNode(child)).join('') || '';\n return this.renderWithClass('blockquote', children, 'blockquote');\n }\n const containerChildren = node.children?.map(child => this.renderNode(child)).join('') || '';\n return this.renderWithClass('div', containerChildren, 'container', node.className || undefined);\n \n case 'strong':\n return `<strong>${node.content || ''}</strong>`;\n \n case 'emphasis':\n return `<em>${node.content || ''}</em>`;\n \n case 'text':\n default:\n return node.content || '';\n }\n }\n\n renderNodes(nodes: ContentNode[]): string {\n if (!nodes || nodes.length === 0) {\n return '';\n }\n return nodes.map(node => this.renderNode(node)).join('\\n');\n }\n\n renderToHTMLString(nodes: ContentNode[]): string {\n return this.renderNodes(nodes);\n }\n\n render(markdown: string): string {\n return markdown;\n }\n\n getCustomCSS(): string {\n return this.config.customCSS;\n }\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1],t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i,e=!1,h){if(void 0!==t){const r=this.constructor;if(!1===e&&(h=this[t]),i??=r.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(r._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.2\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t=>t,s=t.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,h=\"$lit$\",o=`lit$${Math.random().toFixed(9).slice(2)}$`,n=\"?\"+o,r=`<${n}>`,l=document,c=()=>l.createComment(\"\"),a=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,u=Array.isArray,d=t=>u(t)||\"function\"==typeof t?.[Symbol.iterator],f=\"[ \\t\\n\\f\\r]\",v=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${f}(?:([^\\\\s\"'>=/]+)(${f}*=${f}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,x=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),b=x(1),w=x(2),T=x(3),E=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),C=new WeakMap,P=l.createTreeWalker(l,129);function V(t,i){if(!u(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const N=(t,i)=>{const s=t.length-1,e=[];let n,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=v;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,f=0;for(;f<s.length&&(c.lastIndex=f,u=c.exec(s),null!==u);)f=c.lastIndex,c===v?\"!--\"===u[1]?c=_:void 0!==u[1]?c=m:void 0!==u[2]?(y.test(u[2])&&(n=RegExp(\"</\"+u[2],\"g\")),c=p):void 0!==u[3]&&(c=p):c===p?\">\"===u[0]?(c=n??v,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?p:'\"'===u[3]?$:g):c===$||c===g?c=p:c===_||c===m?c=v:(c=p,n=void 0);const x=c===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===v?s+r:d>=0?(e.push(a),s.slice(0,d)+h+s.slice(d)+o+x):s+o+(-2===d?i:x)}return[V(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),e]};class S{constructor({strings:t,_$litType$:i},e){let r;this.parts=[];let l=0,a=0;const u=t.length-1,d=this.parts,[f,v]=N(t,i);if(this.el=S.createElement(f,e),P.currentNode=this.el.content,2===i||3===i){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=P.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(h)){const i=v[a++],s=r.getAttribute(t).split(o),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:l,name:e[2],strings:s,ctor:\".\"===e[1]?I:\"?\"===e[1]?L:\"@\"===e[1]?z:H}),r.removeAttribute(t)}else t.startsWith(o)&&(d.push({type:6,index:l}),r.removeAttribute(t));if(y.test(r.tagName)){const t=r.textContent.split(o),i=t.length-1;if(i>0){r.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)r.append(t[s],c()),P.nextNode(),d.push({type:2,index:++l});r.append(t[i],c())}}}else if(8===r.nodeType)if(r.data===n)d.push({type:2,index:l});else{let t=-1;for(;-1!==(t=r.data.indexOf(o,t+1));)d.push({type:7,index:l}),t+=o.length-1}l++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function M(t,i,s=t,e){if(i===E)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=a(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=M(t,h._$AS(t,i.values),h,e)),i}class R{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??l).importNode(i,!0);P.currentNode=e;let h=P.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new k(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new Z(h,this,t)),this._$AV.push(i),r=s[++n]}o!==r?.index&&(h=P.nextNode(),o++)}return P.currentNode=l,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=M(this,t,i),a(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):d(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==A&&a(this._$AH)?this._$AA.nextSibling.data=t:this.T(l.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(V(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new R(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=C.get(t.strings);return void 0===i&&C.set(t.strings,i=new S(t)),i}k(t){u(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new k(this.O(c()),this.O(c()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);t!==this._$AB;){const s=i(t).nextSibling;i(t).remove(),t=s}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=M(this,t,i,0),o=!a(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=M(this,e[s+n],i,n),r===E&&(r=this._$AH[n]),o||=!a(r)||r!==this._$AH[n],r===A?t=A:t!==A&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==A)}}class z extends H{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=M(this,t,i,0)??A)===E)return;const s=this._$AH,e=t===A&&s!==A||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==A&&(s===A||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){M(this,t)}}const j={M:h,P:o,A:n,C:1,L:N,R,D:d,V:M,I:k,H,N:L,U:z,B:I,F:Z},B=t.litHtmlPolyfillSupport;B?.(S,k),(t.litHtmlVersions??=[]).push(\"3.3.2\");const D=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new k(i.insertBefore(c(),t),t,void 0,s??{})}return h._$AI(t),h};export{j as _$LH,b as html,T as mathml,E as noChange,A as nothing,D as render,w as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.2\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{nothing as t,noChange as i}from\"../lit-html.js\";import{directive as r,Directive as s,PartType as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends s{constructor(i){if(super(i),this.it=t,i.type!==n.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this._t=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=r(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","import { TemplateResult, html } from 'lit';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { ContentNode } from './types';\n\nexport class LitRenderer {\n private renderTextNode(node: ContentNode): TemplateResult {\n if (node.type === 'image') {\n return html`<img src=\"${node.src}\" alt=\"${node.alt || ''}\" class=\"inline-image\" style=\"max-width:100%;height:auto;\">`;\n }\n return html`${unsafeHTML(node.content || '')}`;\n }\n\n renderNode(node: ContentNode): TemplateResult {\n switch (node.type) {\n case 'heading': {\n const level = node.attributes?.level || '2';\n if (level === '1') return html`<h1>${unsafeHTML(node.content)}</h1>`;\n if (level === '2') return html`<h2>${unsafeHTML(node.content)}</h2>`;\n if (level === '3') return html`<h3>${unsafeHTML(node.content)}</h3>`;\n return html`<h2>${unsafeHTML(node.content)}</h2>`;\n }\n \n case 'paragraph':\n if (node.children) {\n return html`<p>${node.children.map(child => this.renderTextNode(child))}</p>`;\n }\n return html`<p>${unsafeHTML(node.content)}</p>`;\n \n case 'list':\n return html`<ul>${node.children?.map(child => this.renderNode(child))}</ul>`;\n \n case 'list-item':\n return html`<li>${unsafeHTML(node.content)}</li>`;\n \n case 'image':\n return html`<img src=\"${node.src || node.attributes?.src}\" alt=\"${node.alt || node.attributes?.alt || ''}\" class=\"${node.className || ''}\" style=\"max-width:100%;height:auto;\">`;\n \n case 'container':\n return html`<div class=\"${node.className || ''}\" style=\"${node.attributes?.style || ''}\">\n ${node.children?.map(child => this.renderNode(child))}\n </div>`;\n \n case 'code':\n return html`<pre><code class=\"language-${node.attributes?.lang || ''}\">${node.content || ''}</code></pre>`;\n \n case 'text':\n return html`${node.content}`;\n \n default:\n return html``;\n }\n }\n\n renderNodes(nodes: ContentNode[]): TemplateResult {\n if (!nodes || nodes.length === 0) {\n return html``;\n }\n return html`${nodes.map(node => this.renderNode(node))}`;\n }\n\n renderToHTMLString(nodes: ContentNode[]): string {\n if (!nodes || nodes.length === 0) {\n return '';\n }\n return nodes.map(node => this.nodeToHTMLString(node)).join('\\n');\n }\n\n private nodeToHTMLString(node: ContentNode): string {\n switch (node.type) {\n case 'heading':\n const level = node.attributes?.level || '2';\n return `<h${level}>${node.content}</h${level}>`;\n case 'paragraph':\n return `<p>${node.content}</p>`;\n case 'list':\n const items = node.children?.map(child => this.nodeToHTMLString(child)).join('') || '';\n return `<ul>${items}</ul>`;\n case 'list-item':\n return `<li>${node.content}</li>`;\n case 'image':\n return `<img src=\"${node.attributes?.src}\" alt=\"${node.attributes?.alt}\" class=\"${node.className || ''}\">`;\n case 'container':\n const childrenHTML = node.children?.map(child => this.nodeToHTMLString(child)).join('') || '';\n return `<div class=\"${node.className || ''}\">${childrenHTML}</div>`;\n case 'text':\n return node.content || '';\n default:\n return '';\n }\n }\n}\n","import { MarkdownParser } from './parser.js';\nimport { HTMLRenderer } from './renderer.js';\nimport { ContentNode, MarkdownContent, PipelineConfig, StyleConfig } from './types.js';\n\nexport class MarkdownPipeline {\n private parser: MarkdownParser;\n private renderer: HTMLRenderer;\n private config: Required<PipelineConfig>;\n\n constructor(config: PipelineConfig = {}) {\n this.config = {\n imagePathPrefix: config.imagePathPrefix || '',\n imageBaseUrl: config.imageBaseUrl || '',\n parseOptions: {\n gfm: config.parseOptions?.gfm ?? true,\n breaks: config.parseOptions?.breaks ?? false,\n pedantic: config.parseOptions?.pedantic ?? false\n },\n styleOptions: {\n classPrefix: config.styleOptions?.classPrefix || '',\n customCSS: config.styleOptions?.customCSS || '',\n addHeadingIds: config.styleOptions?.addHeadingIds ?? false\n }\n };\n\n this.parser = new MarkdownParser({\n imagePathPrefix: this.config.imagePathPrefix,\n imageBaseUrl: this.config.imageBaseUrl\n });\n this.renderer = new HTMLRenderer(this.config.styleOptions);\n }\n\n parse(markdown: string): ContentNode[] {\n return this.parser.parseToNodes(markdown, this.config.parseOptions);\n }\n\n parseWithMetadata(markdown: string): MarkdownContent {\n return this.parser.parse(markdown, this.config.parseOptions);\n }\n\n render(nodes: ContentNode[]): string {\n return this.renderer.renderNodes(nodes);\n }\n\n renderMarkdown(markdown: string): string {\n const nodes = this.parse(markdown);\n return this.render(nodes);\n }\n\n renderPage(title: string, nodes: ContentNode[], options?: {\n lang?: string;\n charset?: string;\n }): string {\n const html = this.render(nodes);\n return `<!DOCTYPE html>\n<html lang=\"${options?.lang || 'en'}\">\n<head>\n <meta charset=\"${options?.charset || 'UTF-8'}\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>${title}</title>\n</head>\n<body>\n ${html}\n</body>\n</html>`;\n }\n\n getConfig(): Readonly<Required<PipelineConfig>> {\n return { ...this.config };\n }\n\n getCustomCSS(): string {\n return this.renderer.getCustomCSS();\n }\n}\n"],"names":["t","e","s","o","r","n","S","c","i","h","a","l","p","d","u","f","b","y","x","v","html","unsafeHTML"],"mappings":"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","x_google_ignoreList":[2,3,4,5,6,7]}
1
+ {"version":3,"file":"index.js","sources":["../src/parser.ts","../src/renderer.ts","../src/pipeline.ts"],"sourcesContent":["import { marked } from 'marked';\nimport { ContentNode, MarkdownContent, ParseOptions } from './types';\n\nexport class MarkdownParser {\n private imagePathPrefix: string;\n private imageBaseUrl: string;\n\n constructor(options?: { imagePathPrefix?: string; imageBaseUrl?: string }) {\n this.imagePathPrefix = options?.imagePathPrefix || '';\n this.imageBaseUrl = options?.imageBaseUrl || '';\n }\n\n private processImagePath(src: string): string {\n if (src.startsWith('http') || src.startsWith('/')) {\n return src;\n }\n let path = this.imagePathPrefix ? `${this.imagePathPrefix}${src}` : src;\n if (this.imageBaseUrl && !path.startsWith('http')) {\n path = `${this.imageBaseUrl}${path}`;\n }\n return path;\n }\n\n private processInlineFormatting(text: string): string {\n return text\n .replace(/\\*\\*(.+?)\\*\\*/g, '<strong>$1</strong>')\n .replace(/\\*(.+?)\\*/g, '<em>$1</em>');\n }\n\n private parseTokens(tokens: unknown[]): ContentNode[] {\n const nodes: ContentNode[] = [];\n \n for (const token of tokens) {\n const node = this.parseToken(token as Record<string, unknown>);\n if (node) {\n nodes.push(node);\n }\n }\n \n return nodes;\n }\n\n private parseToken(token: Record<string, unknown>): ContentNode | null {\n switch (token.type) {\n case 'heading':\n return {\n type: 'heading',\n content: token.text as string,\n attributes: { level: String(token.depth) }\n };\n \n case 'paragraph':\n const tokens = (token.tokens as Array<Record<string, unknown>>) || [];\n const hasInlineImage = tokens.some(t => t.type === 'image');\n \n if (hasInlineImage) {\n const children = tokens.map(t => {\n if (t.type === 'image') {\n return {\n type: 'image' as const,\n src: this.processImagePath(t.href as string),\n alt: t.text as string || ''\n };\n }\n return {\n type: 'text' as const,\n content: this.processInlineFormatting(t.text as string || '')\n };\n });\n return {\n type: 'paragraph',\n children\n };\n }\n \n return {\n type: 'paragraph',\n content: this.processInlineFormatting(token.text as string)\n };\n \n case 'list':\n return {\n type: 'list',\n ordered: token.ordered as boolean,\n children: (token.items as Array<Record<string, unknown>>).map((item) => ({\n type: 'list-item',\n content: this.processInlineFormatting(item.text as string)\n }))\n };\n \n case 'image':\n return {\n type: 'image',\n src: this.processImagePath(token.href as string),\n alt: token.title as string || ''\n };\n\n case 'code':\n return {\n type: 'code',\n content: token.text as string,\n attributes: { lang: token.lang as string || '' }\n };\n \n case 'hr':\n return { type: 'container', attributes: { tag: 'hr' } };\n \n case 'blockquote':\n return {\n type: 'container',\n attributes: { tag: 'blockquote' },\n children: this.parseTokens((token as Record<string, unknown>).tokens as unknown[] || [])\n };\n \n case 'html':\n return { type: 'container', content: token.raw as string };\n \n default:\n return null;\n }\n }\n\n parse(markdown: string, options?: ParseOptions): MarkdownContent {\n const parseOptions = {\n gfm: options?.gfm ?? true,\n breaks: options?.breaks ?? false,\n pedantic: options?.pedantic ?? false\n };\n \n const tokens = marked.lexer(markdown, parseOptions as Parameters<typeof marked.lexer>[1]);\n const content = this.parseTokens(tokens);\n \n return {\n title: '',\n content\n };\n }\n\n parseToNodes(markdown: string, options?: ParseOptions): ContentNode[] {\n return this.parse(markdown, options).content;\n }\n}\n","import { ContentNode, StyleConfig } from './types.js';\n\nexport class HTMLRenderer {\n private config: Required<StyleConfig>;\n\n constructor(config: StyleConfig = {}) {\n this.config = {\n classPrefix: config.classPrefix || '',\n customCSS: config.customCSS || '',\n addHeadingIds: config.addHeadingIds ?? false\n };\n }\n\n private hasClassConfig(): boolean {\n return this.config.classPrefix !== '' || this.config.addHeadingIds;\n }\n\n private getClass(baseClass: string, nodeClass?: string): string {\n if (!this.hasClassConfig()) {\n return nodeClass || '';\n }\n const prefix = this.config.classPrefix;\n const classes = [prefix ? `${prefix}${baseClass}` : baseClass];\n if (nodeClass) classes.push(nodeClass);\n return classes.join(' ');\n }\n\n private generateHeadingId(content?: string): string {\n if (!content) return '';\n return content\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/(^-|-$)/g, '');\n }\n\n private renderWithClass(tag: string, content: string, baseClass?: string, nodeClass?: string, extraAttrs?: string): string {\n const classAttr = this.hasClassConfig() && baseClass \n ? ` class=\"${this.getClass(baseClass, nodeClass)}\"` \n : '';\n return `<${tag}${classAttr}${extraAttrs || ''}>${content}</${tag}>`;\n }\n\n renderNode(node: ContentNode): string {\n switch (node.type) {\n case 'heading':\n const level = node.attributes?.level || '2';\n const headingId = this.config.addHeadingIds \n ? ` id=\"${this.generateHeadingId(node.content)}\"` \n : '';\n if (!this.hasClassConfig()) {\n return `<h${level}${headingId}>${node.content || ''}</h${level}>`;\n }\n return `<h${level}${headingId} class=\"${this.getClass('heading')}\">${node.content || ''}</h${level}>`;\n \n case 'paragraph':\n if (node.children) {\n const childrenHtml = node.children.map(child => this.renderNode(child)).join('');\n return this.renderWithClass('p', childrenHtml, 'paragraph');\n }\n return this.renderWithClass('p', node.content || '', 'paragraph');\n \n case 'list':\n const tag = node.ordered ? 'ol' : 'ul';\n const items = node.children?.map(child => this.renderNode(child)).join('') || '';\n return this.renderWithClass(tag, items, 'list');\n \n case 'list-item':\n return this.renderWithClass('li', node.content || '', 'list-item');\n \n case 'image':\n const src = node.src || node.attributes?.src || '';\n const alt = node.alt || node.attributes?.alt || '';\n const classStr = this.getClass('image', node.className || undefined);\n return `<img src=\"${src}\" alt=\"${alt}\"${classStr ? ` class=\"${classStr}\"` : ''}>`;\n \n case 'code':\n const codeClass = this.hasClassConfig() \n ? ` class=\"${this.getClass('code')} language-${node.attributes?.lang || ''}\"` \n : ` class=\"language-${node.attributes?.lang || ''}\"`;\n return `<pre><code${codeClass}>${node.content || ''}</code></pre>`;\n \n case 'container':\n if (node.attributes?.tag === 'hr') return '<hr>';\n if (node.attributes?.tag === 'blockquote') {\n const children = node.children?.map(child => this.renderNode(child)).join('') || '';\n return this.renderWithClass('blockquote', children, 'blockquote');\n }\n const containerChildren = node.children?.map(child => this.renderNode(child)).join('') || '';\n return this.renderWithClass('div', containerChildren, 'container', node.className || undefined);\n \n case 'strong':\n return `<strong>${node.content || ''}</strong>`;\n \n case 'emphasis':\n return `<em>${node.content || ''}</em>`;\n \n case 'text':\n default:\n return node.content || '';\n }\n }\n\n renderNodes(nodes: ContentNode[]): string {\n if (!nodes || nodes.length === 0) {\n return '';\n }\n return nodes.map(node => this.renderNode(node)).join('\\n');\n }\n\n renderToHTMLString(nodes: ContentNode[]): string {\n return this.renderNodes(nodes);\n }\n\n render(markdown: string): string {\n return markdown;\n }\n\n getCustomCSS(): string {\n return this.config.customCSS;\n }\n}\n","import { MarkdownParser } from './parser.js';\nimport { HTMLRenderer } from './renderer.js';\nimport { ContentNode, MarkdownContent, PipelineConfig, StyleConfig } from './types.js';\n\nexport class MarkdownPipeline {\n private parser: MarkdownParser;\n private renderer: HTMLRenderer;\n private config: Required<PipelineConfig>;\n\n constructor(config: PipelineConfig = {}) {\n this.config = {\n imagePathPrefix: config.imagePathPrefix || '',\n imageBaseUrl: config.imageBaseUrl || '',\n parseOptions: {\n gfm: config.parseOptions?.gfm ?? true,\n breaks: config.parseOptions?.breaks ?? false,\n pedantic: config.parseOptions?.pedantic ?? false\n },\n styleOptions: {\n classPrefix: config.styleOptions?.classPrefix || '',\n customCSS: config.styleOptions?.customCSS || '',\n addHeadingIds: config.styleOptions?.addHeadingIds ?? false\n }\n };\n\n this.parser = new MarkdownParser({\n imagePathPrefix: this.config.imagePathPrefix,\n imageBaseUrl: this.config.imageBaseUrl\n });\n this.renderer = new HTMLRenderer(this.config.styleOptions);\n }\n\n parse(markdown: string): ContentNode[] {\n return this.parser.parseToNodes(markdown, this.config.parseOptions);\n }\n\n parseWithMetadata(markdown: string): MarkdownContent {\n return this.parser.parse(markdown, this.config.parseOptions);\n }\n\n render(nodes: ContentNode[]): string {\n return this.renderer.renderNodes(nodes);\n }\n\n renderMarkdown(markdown: string): string {\n const nodes = this.parse(markdown);\n return this.render(nodes);\n }\n\n renderPage(title: string, nodes: ContentNode[], options?: {\n lang?: string;\n charset?: string;\n }): string {\n const html = this.render(nodes);\n return `<!DOCTYPE html>\n<html lang=\"${options?.lang || 'en'}\">\n<head>\n <meta charset=\"${options?.charset || 'UTF-8'}\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>${title}</title>\n</head>\n<body>\n ${html}\n</body>\n</html>`;\n }\n\n getConfig(): Readonly<Required<PipelineConfig>> {\n return { ...this.config };\n }\n\n getCustomCSS(): string {\n return this.renderer.getCustomCSS();\n }\n}\n"],"names":[],"mappings":";AAGO,MAAM,eAAe;AAAA,EAI1B,YAAY,SAA+D;AACzE,SAAK,kBAAkB,SAAS,mBAAmB;AACnD,SAAK,eAAe,SAAS,gBAAgB;AAAA,EAC/C;AAAA,EAEQ,iBAAiB,KAAqB;AAC5C,QAAI,IAAI,WAAW,MAAM,KAAK,IAAI,WAAW,GAAG,GAAG;AACjD,aAAO;AAAA,IACT;AACA,QAAI,OAAO,KAAK,kBAAkB,GAAG,KAAK,eAAe,GAAG,GAAG,KAAK;AACpE,QAAI,KAAK,gBAAgB,CAAC,KAAK,WAAW,MAAM,GAAG;AACjD,aAAO,GAAG,KAAK,YAAY,GAAG,IAAI;AAAA,IACpC;AACA,WAAO;AAAA,EACT;AAAA,EAEQ,wBAAwB,MAAsB;AACpD,WAAO,KACJ,QAAQ,kBAAkB,qBAAqB,EAC/C,QAAQ,cAAc,aAAa;AAAA,EACxC;AAAA,EAEQ,YAAY,QAAkC;AACpD,UAAM,QAAuB,CAAA;AAE7B,eAAW,SAAS,QAAQ;AAC1B,YAAM,OAAO,KAAK,WAAW,KAAgC;AAC7D,UAAI,MAAM;AACR,cAAM,KAAK,IAAI;AAAA,MACjB;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA,EAEQ,WAAW,OAAoD;AACrE,YAAQ,MAAM,MAAA;AAAA,MACZ,KAAK;AACH,eAAO;AAAA,UACL,MAAM;AAAA,UACN,SAAS,MAAM;AAAA,UACf,YAAY,EAAE,OAAO,OAAO,MAAM,KAAK,EAAA;AAAA,QAAE;AAAA,MAG7C,KAAK;AACH,cAAM,SAAU,MAAM,UAA6C,CAAA;AACnE,cAAM,iBAAiB,OAAO,KAAK,CAAA,MAAK,EAAE,SAAS,OAAO;AAE1D,YAAI,gBAAgB;AAClB,gBAAM,WAAW,OAAO,IAAI,CAAA,MAAK;AAC/B,gBAAI,EAAE,SAAS,SAAS;AACtB,qBAAO;AAAA,gBACL,MAAM;AAAA,gBACN,KAAK,KAAK,iBAAiB,EAAE,IAAc;AAAA,gBAC3C,KAAK,EAAE,QAAkB;AAAA,cAAA;AAAA,YAE7B;AACA,mBAAO;AAAA,cACL,MAAM;AAAA,cACN,SAAS,KAAK,wBAAwB,EAAE,QAAkB,EAAE;AAAA,YAAA;AAAA,UAEhE,CAAC;AACD,iBAAO;AAAA,YACL,MAAM;AAAA,YACN;AAAA,UAAA;AAAA,QAEJ;AAEA,eAAO;AAAA,UACL,MAAM;AAAA,UACN,SAAS,KAAK,wBAAwB,MAAM,IAAc;AAAA,QAAA;AAAA,MAG9D,KAAK;AACH,eAAO;AAAA,UACL,MAAM;AAAA,UACN,SAAS,MAAM;AAAA,UACf,UAAW,MAAM,MAAyC,IAAI,CAAC,UAAU;AAAA,YACvE,MAAM;AAAA,YACN,SAAS,KAAK,wBAAwB,KAAK,IAAc;AAAA,UAAA,EACzD;AAAA,QAAA;AAAA,MAGN,KAAK;AACH,eAAO;AAAA,UACL,MAAM;AAAA,UACN,KAAK,KAAK,iBAAiB,MAAM,IAAc;AAAA,UAC/C,KAAK,MAAM,SAAmB;AAAA,QAAA;AAAA,MAGlC,KAAK;AACH,eAAO;AAAA,UACL,MAAM;AAAA,UACN,SAAS,MAAM;AAAA,UACf,YAAY,EAAE,MAAM,MAAM,QAAkB,GAAA;AAAA,QAAG;AAAA,MAGnD,KAAK;AACH,eAAO,EAAE,MAAM,aAAa,YAAY,EAAE,KAAK,OAAK;AAAA,MAEtD,KAAK;AACH,eAAO;AAAA,UACL,MAAM;AAAA,UACN,YAAY,EAAE,KAAK,aAAA;AAAA,UACnB,UAAU,KAAK,YAAa,MAAkC,UAAuB,CAAA,CAAE;AAAA,QAAA;AAAA,MAG3F,KAAK;AACH,eAAO,EAAE,MAAM,aAAa,SAAS,MAAM,IAAA;AAAA,MAE7C;AACE,eAAO;AAAA,IAAA;AAAA,EAEb;AAAA,EAEA,MAAM,UAAkB,SAAyC;AAC/D,UAAM,eAAe;AAAA,MACnB,KAAK,SAAS,OAAO;AAAA,MACrB,QAAQ,SAAS,UAAU;AAAA,MAC3B,UAAU,SAAS,YAAY;AAAA,IAAA;AAGjC,UAAM,SAAS,OAAO,MAAM,UAAU,YAAkD;AACxF,UAAM,UAAU,KAAK,YAAY,MAAM;AAEvC,WAAO;AAAA,MACL,OAAO;AAAA,MACP;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,aAAa,UAAkB,SAAuC;AACpE,WAAO,KAAK,MAAM,UAAU,OAAO,EAAE;AAAA,EACvC;AACF;AC3IO,MAAM,aAAa;AAAA,EAGxB,YAAY,SAAsB,IAAI;AACpC,SAAK,SAAS;AAAA,MACZ,aAAa,OAAO,eAAe;AAAA,MACnC,WAAW,OAAO,aAAa;AAAA,MAC/B,eAAe,OAAO,iBAAiB;AAAA,IAAA;AAAA,EAE3C;AAAA,EAEQ,iBAA0B;AAChC,WAAO,KAAK,OAAO,gBAAgB,MAAM,KAAK,OAAO;AAAA,EACvD;AAAA,EAEQ,SAAS,WAAmB,WAA4B;AAC9D,QAAI,CAAC,KAAK,kBAAkB;AAC1B,aAAO,aAAa;AAAA,IACtB;AACA,UAAM,SAAS,KAAK,OAAO;AAC3B,UAAM,UAAU,CAAC,SAAS,GAAG,MAAM,GAAG,SAAS,KAAK,SAAS;AAC7D,QAAI,UAAW,SAAQ,KAAK,SAAS;AACrC,WAAO,QAAQ,KAAK,GAAG;AAAA,EACzB;AAAA,EAEQ,kBAAkB,SAA0B;AAClD,QAAI,CAAC,QAAS,QAAO;AACrB,WAAO,QACJ,cACA,QAAQ,eAAe,GAAG,EAC1B,QAAQ,YAAY,EAAE;AAAA,EAC3B;AAAA,EAEQ,gBAAgB,KAAa,SAAiB,WAAoB,WAAoB,YAA6B;AACzH,UAAM,YAAY,KAAK,eAAA,KAAoB,YACvC,WAAW,KAAK,SAAS,WAAW,SAAS,CAAC,MAC9C;AACJ,WAAO,IAAI,GAAG,GAAG,SAAS,GAAG,cAAc,EAAE,IAAI,OAAO,KAAK,GAAG;AAAA,EAClE;AAAA,EAEA,WAAW,MAA2B;AACpC,YAAQ,KAAK,MAAA;AAAA,MACX,KAAK;AACH,cAAM,QAAQ,KAAK,YAAY,SAAS;AACxC,cAAM,YAAY,KAAK,OAAO,gBAC1B,QAAQ,KAAK,kBAAkB,KAAK,OAAO,CAAC,MAC5C;AACJ,YAAI,CAAC,KAAK,kBAAkB;AAC1B,iBAAO,KAAK,KAAK,GAAG,SAAS,IAAI,KAAK,WAAW,EAAE,MAAM,KAAK;AAAA,QAChE;AACA,eAAO,KAAK,KAAK,GAAG,SAAS,WAAW,KAAK,SAAS,SAAS,CAAC,KAAK,KAAK,WAAW,EAAE,MAAM,KAAK;AAAA,MAEpG,KAAK;AACH,YAAI,KAAK,UAAU;AACjB,gBAAM,eAAe,KAAK,SAAS,IAAI,CAAA,UAAS,KAAK,WAAW,KAAK,CAAC,EAAE,KAAK,EAAE;AAC/E,iBAAO,KAAK,gBAAgB,KAAK,cAAc,WAAW;AAAA,QAC5D;AACA,eAAO,KAAK,gBAAgB,KAAK,KAAK,WAAW,IAAI,WAAW;AAAA,MAElE,KAAK;AACH,cAAM,MAAM,KAAK,UAAU,OAAO;AAClC,cAAM,QAAQ,KAAK,UAAU,IAAI,CAAA,UAAS,KAAK,WAAW,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK;AAC9E,eAAO,KAAK,gBAAgB,KAAK,OAAO,MAAM;AAAA,MAEhD,KAAK;AACH,eAAO,KAAK,gBAAgB,MAAM,KAAK,WAAW,IAAI,WAAW;AAAA,MAEnE,KAAK;AACH,cAAM,MAAM,KAAK,OAAO,KAAK,YAAY,OAAO;AAChD,cAAM,MAAM,KAAK,OAAO,KAAK,YAAY,OAAO;AAChD,cAAM,WAAW,KAAK,SAAS,SAAS,KAAK,aAAa,MAAS;AACnE,eAAO,aAAa,GAAG,UAAU,GAAG,IAAI,WAAW,WAAW,QAAQ,MAAM,EAAE;AAAA,MAEhF,KAAK;AACH,cAAM,YAAY,KAAK,mBACnB,WAAW,KAAK,SAAS,MAAM,CAAC,aAAa,KAAK,YAAY,QAAQ,EAAE,MACxE,oBAAoB,KAAK,YAAY,QAAQ,EAAE;AACnD,eAAO,aAAa,SAAS,IAAI,KAAK,WAAW,EAAE;AAAA,MAErD,KAAK;AACH,YAAI,KAAK,YAAY,QAAQ,KAAM,QAAO;AAC1C,YAAI,KAAK,YAAY,QAAQ,cAAc;AACzC,gBAAM,WAAW,KAAK,UAAU,IAAI,CAAA,UAAS,KAAK,WAAW,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK;AACjF,iBAAO,KAAK,gBAAgB,cAAc,UAAU,YAAY;AAAA,QAClE;AACA,cAAM,oBAAoB,KAAK,UAAU,IAAI,CAAA,UAAS,KAAK,WAAW,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK;AAC1F,eAAO,KAAK,gBAAgB,OAAO,mBAAmB,aAAa,KAAK,aAAa,MAAS;AAAA,MAEhG,KAAK;AACH,eAAO,WAAW,KAAK,WAAW,EAAE;AAAA,MAEtC,KAAK;AACH,eAAO,OAAO,KAAK,WAAW,EAAE;AAAA,MAElC,KAAK;AAAA,MACL;AACE,eAAO,KAAK,WAAW;AAAA,IAAA;AAAA,EAE7B;AAAA,EAEA,YAAY,OAA8B;AACxC,QAAI,CAAC,SAAS,MAAM,WAAW,GAAG;AAChC,aAAO;AAAA,IACT;AACA,WAAO,MAAM,IAAI,CAAA,SAAQ,KAAK,WAAW,IAAI,CAAC,EAAE,KAAK,IAAI;AAAA,EAC3D;AAAA,EAEA,mBAAmB,OAA8B;AAC/C,WAAO,KAAK,YAAY,KAAK;AAAA,EAC/B;AAAA,EAEA,OAAO,UAA0B;AAC/B,WAAO;AAAA,EACT;AAAA,EAEA,eAAuB;AACrB,WAAO,KAAK,OAAO;AAAA,EACrB;AACF;ACpHO,MAAM,iBAAiB;AAAA,EAK5B,YAAY,SAAyB,IAAI;AACvC,SAAK,SAAS;AAAA,MACZ,iBAAiB,OAAO,mBAAmB;AAAA,MAC3C,cAAc,OAAO,gBAAgB;AAAA,MACrC,cAAc;AAAA,QACZ,KAAK,OAAO,cAAc,OAAO;AAAA,QACjC,QAAQ,OAAO,cAAc,UAAU;AAAA,QACvC,UAAU,OAAO,cAAc,YAAY;AAAA,MAAA;AAAA,MAE7C,cAAc;AAAA,QACZ,aAAa,OAAO,cAAc,eAAe;AAAA,QACjD,WAAW,OAAO,cAAc,aAAa;AAAA,QAC7C,eAAe,OAAO,cAAc,iBAAiB;AAAA,MAAA;AAAA,IACvD;AAGF,SAAK,SAAS,IAAI,eAAe;AAAA,MAC/B,iBAAiB,KAAK,OAAO;AAAA,MAC7B,cAAc,KAAK,OAAO;AAAA,IAAA,CAC3B;AACD,SAAK,WAAW,IAAI,aAAa,KAAK,OAAO,YAAY;AAAA,EAC3D;AAAA,EAEA,MAAM,UAAiC;AACrC,WAAO,KAAK,OAAO,aAAa,UAAU,KAAK,OAAO,YAAY;AAAA,EACpE;AAAA,EAEA,kBAAkB,UAAmC;AACnD,WAAO,KAAK,OAAO,MAAM,UAAU,KAAK,OAAO,YAAY;AAAA,EAC7D;AAAA,EAEA,OAAO,OAA8B;AACnC,WAAO,KAAK,SAAS,YAAY,KAAK;AAAA,EACxC;AAAA,EAEA,eAAe,UAA0B;AACvC,UAAM,QAAQ,KAAK,MAAM,QAAQ;AACjC,WAAO,KAAK,OAAO,KAAK;AAAA,EAC1B;AAAA,EAEA,WAAW,OAAe,OAAsB,SAGrC;AACT,UAAM,OAAO,KAAK,OAAO,KAAK;AAC9B,WAAO;AAAA,cACG,SAAS,QAAQ,IAAI;AAAA;AAAA,mBAEhB,SAAS,WAAW,OAAO;AAAA;AAAA,WAEnC,KAAK;AAAA;AAAA;AAAA,IAGZ,IAAI;AAAA;AAAA;AAAA,EAGN;AAAA,EAEA,YAAgD;AAC9C,WAAO,EAAE,GAAG,KAAK,OAAA;AAAA,EACnB;AAAA,EAEA,eAAuB;AACrB,WAAO,KAAK,SAAS,aAAA;AAAA,EACvB;AACF;"}
package/dist/index2.js ADDED
@@ -0,0 +1,328 @@
1
+ import { html } from "lit";
2
+ const t$1 = globalThis, i$1 = (t2) => t2, s = t$1.trustedTypes, e$2 = s ? s.createPolicy("lit-html", { createHTML: (t2) => t2 }) : void 0, h = "$lit$", o$1 = `lit$${Math.random().toFixed(9).slice(2)}$`, n = "?" + o$1, r = `<${n}>`, l = document, c = () => l.createComment(""), a = (t2) => null === t2 || "object" != typeof t2 && "function" != typeof t2, u = Array.isArray, d = (t2) => u(t2) || "function" == typeof t2?.[Symbol.iterator], f = "[ \n\f\r]", v = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, _ = /-->/g, m = />/g, p = RegExp(`>|${f}(?:([^\\s"'>=/]+)(${f}*=${f}*(?:[^
3
+ \f\r"'\`<>=]|("|')|))|$)`, "g"), g = /'/g, $ = /"/g, y = /^(?:script|style|textarea|title)$/i, E = /* @__PURE__ */ Symbol.for("lit-noChange"), A = /* @__PURE__ */ Symbol.for("lit-nothing"), C = /* @__PURE__ */ new WeakMap(), P = l.createTreeWalker(l, 129);
4
+ function V(t2, i2) {
5
+ if (!u(t2) || !t2.hasOwnProperty("raw")) throw Error("invalid template strings array");
6
+ return void 0 !== e$2 ? e$2.createHTML(i2) : i2;
7
+ }
8
+ const N = (t2, i2) => {
9
+ const s2 = t2.length - 1, e2 = [];
10
+ let n2, l2 = 2 === i2 ? "<svg>" : 3 === i2 ? "<math>" : "", c2 = v;
11
+ for (let i3 = 0; i3 < s2; i3++) {
12
+ const s3 = t2[i3];
13
+ let a2, u2, d2 = -1, f2 = 0;
14
+ for (; f2 < s3.length && (c2.lastIndex = f2, u2 = c2.exec(s3), null !== u2); ) f2 = c2.lastIndex, c2 === v ? "!--" === u2[1] ? c2 = _ : void 0 !== u2[1] ? c2 = m : void 0 !== u2[2] ? (y.test(u2[2]) && (n2 = RegExp("</" + u2[2], "g")), c2 = p) : void 0 !== u2[3] && (c2 = p) : c2 === p ? ">" === u2[0] ? (c2 = n2 ?? v, d2 = -1) : void 0 === u2[1] ? d2 = -2 : (d2 = c2.lastIndex - u2[2].length, a2 = u2[1], c2 = void 0 === u2[3] ? p : '"' === u2[3] ? $ : g) : c2 === $ || c2 === g ? c2 = p : c2 === _ || c2 === m ? c2 = v : (c2 = p, n2 = void 0);
15
+ const x = c2 === p && t2[i3 + 1].startsWith("/>") ? " " : "";
16
+ l2 += c2 === v ? s3 + r : d2 >= 0 ? (e2.push(a2), s3.slice(0, d2) + h + s3.slice(d2) + o$1 + x) : s3 + o$1 + (-2 === d2 ? i3 : x);
17
+ }
18
+ return [V(t2, l2 + (t2[s2] || "<?>") + (2 === i2 ? "</svg>" : 3 === i2 ? "</math>" : "")), e2];
19
+ };
20
+ class S {
21
+ constructor({ strings: t2, _$litType$: i2 }, e2) {
22
+ let r2;
23
+ this.parts = [];
24
+ let l2 = 0, a2 = 0;
25
+ const u2 = t2.length - 1, d2 = this.parts, [f2, v2] = N(t2, i2);
26
+ if (this.el = S.createElement(f2, e2), P.currentNode = this.el.content, 2 === i2 || 3 === i2) {
27
+ const t3 = this.el.content.firstChild;
28
+ t3.replaceWith(...t3.childNodes);
29
+ }
30
+ for (; null !== (r2 = P.nextNode()) && d2.length < u2; ) {
31
+ if (1 === r2.nodeType) {
32
+ if (r2.hasAttributes()) for (const t3 of r2.getAttributeNames()) if (t3.endsWith(h)) {
33
+ const i3 = v2[a2++], s2 = r2.getAttribute(t3).split(o$1), e3 = /([.?@])?(.*)/.exec(i3);
34
+ d2.push({ type: 1, index: l2, name: e3[2], strings: s2, ctor: "." === e3[1] ? I : "?" === e3[1] ? L : "@" === e3[1] ? z : H }), r2.removeAttribute(t3);
35
+ } else t3.startsWith(o$1) && (d2.push({ type: 6, index: l2 }), r2.removeAttribute(t3));
36
+ if (y.test(r2.tagName)) {
37
+ const t3 = r2.textContent.split(o$1), i3 = t3.length - 1;
38
+ if (i3 > 0) {
39
+ r2.textContent = s ? s.emptyScript : "";
40
+ for (let s2 = 0; s2 < i3; s2++) r2.append(t3[s2], c()), P.nextNode(), d2.push({ type: 2, index: ++l2 });
41
+ r2.append(t3[i3], c());
42
+ }
43
+ }
44
+ } else if (8 === r2.nodeType) if (r2.data === n) d2.push({ type: 2, index: l2 });
45
+ else {
46
+ let t3 = -1;
47
+ for (; -1 !== (t3 = r2.data.indexOf(o$1, t3 + 1)); ) d2.push({ type: 7, index: l2 }), t3 += o$1.length - 1;
48
+ }
49
+ l2++;
50
+ }
51
+ }
52
+ static createElement(t2, i2) {
53
+ const s2 = l.createElement("template");
54
+ return s2.innerHTML = t2, s2;
55
+ }
56
+ }
57
+ function M(t2, i2, s2 = t2, e2) {
58
+ if (i2 === E) return i2;
59
+ let h2 = void 0 !== e2 ? s2._$Co?.[e2] : s2._$Cl;
60
+ const o2 = a(i2) ? void 0 : i2._$litDirective$;
61
+ return h2?.constructor !== o2 && (h2?._$AO?.(false), void 0 === o2 ? h2 = void 0 : (h2 = new o2(t2), h2._$AT(t2, s2, e2)), void 0 !== e2 ? (s2._$Co ??= [])[e2] = h2 : s2._$Cl = h2), void 0 !== h2 && (i2 = M(t2, h2._$AS(t2, i2.values), h2, e2)), i2;
62
+ }
63
+ class R {
64
+ constructor(t2, i2) {
65
+ this._$AV = [], this._$AN = void 0, this._$AD = t2, this._$AM = i2;
66
+ }
67
+ get parentNode() {
68
+ return this._$AM.parentNode;
69
+ }
70
+ get _$AU() {
71
+ return this._$AM._$AU;
72
+ }
73
+ u(t2) {
74
+ const { el: { content: i2 }, parts: s2 } = this._$AD, e2 = (t2?.creationScope ?? l).importNode(i2, true);
75
+ P.currentNode = e2;
76
+ let h2 = P.nextNode(), o2 = 0, n2 = 0, r2 = s2[0];
77
+ for (; void 0 !== r2; ) {
78
+ if (o2 === r2.index) {
79
+ let i3;
80
+ 2 === r2.type ? i3 = new k(h2, h2.nextSibling, this, t2) : 1 === r2.type ? i3 = new r2.ctor(h2, r2.name, r2.strings, this, t2) : 6 === r2.type && (i3 = new Z(h2, this, t2)), this._$AV.push(i3), r2 = s2[++n2];
81
+ }
82
+ o2 !== r2?.index && (h2 = P.nextNode(), o2++);
83
+ }
84
+ return P.currentNode = l, e2;
85
+ }
86
+ p(t2) {
87
+ let i2 = 0;
88
+ for (const s2 of this._$AV) void 0 !== s2 && (void 0 !== s2.strings ? (s2._$AI(t2, s2, i2), i2 += s2.strings.length - 2) : s2._$AI(t2[i2])), i2++;
89
+ }
90
+ }
91
+ class k {
92
+ get _$AU() {
93
+ return this._$AM?._$AU ?? this._$Cv;
94
+ }
95
+ constructor(t2, i2, s2, e2) {
96
+ this.type = 2, this._$AH = A, this._$AN = void 0, this._$AA = t2, this._$AB = i2, this._$AM = s2, this.options = e2, this._$Cv = e2?.isConnected ?? true;
97
+ }
98
+ get parentNode() {
99
+ let t2 = this._$AA.parentNode;
100
+ const i2 = this._$AM;
101
+ return void 0 !== i2 && 11 === t2?.nodeType && (t2 = i2.parentNode), t2;
102
+ }
103
+ get startNode() {
104
+ return this._$AA;
105
+ }
106
+ get endNode() {
107
+ return this._$AB;
108
+ }
109
+ _$AI(t2, i2 = this) {
110
+ t2 = M(this, t2, i2), a(t2) ? t2 === A || null == t2 || "" === t2 ? (this._$AH !== A && this._$AR(), this._$AH = A) : t2 !== this._$AH && t2 !== E && this._(t2) : void 0 !== t2._$litType$ ? this.$(t2) : void 0 !== t2.nodeType ? this.T(t2) : d(t2) ? this.k(t2) : this._(t2);
111
+ }
112
+ O(t2) {
113
+ return this._$AA.parentNode.insertBefore(t2, this._$AB);
114
+ }
115
+ T(t2) {
116
+ this._$AH !== t2 && (this._$AR(), this._$AH = this.O(t2));
117
+ }
118
+ _(t2) {
119
+ this._$AH !== A && a(this._$AH) ? this._$AA.nextSibling.data = t2 : this.T(l.createTextNode(t2)), this._$AH = t2;
120
+ }
121
+ $(t2) {
122
+ const { values: i2, _$litType$: s2 } = t2, e2 = "number" == typeof s2 ? this._$AC(t2) : (void 0 === s2.el && (s2.el = S.createElement(V(s2.h, s2.h[0]), this.options)), s2);
123
+ if (this._$AH?._$AD === e2) this._$AH.p(i2);
124
+ else {
125
+ const t3 = new R(e2, this), s3 = t3.u(this.options);
126
+ t3.p(i2), this.T(s3), this._$AH = t3;
127
+ }
128
+ }
129
+ _$AC(t2) {
130
+ let i2 = C.get(t2.strings);
131
+ return void 0 === i2 && C.set(t2.strings, i2 = new S(t2)), i2;
132
+ }
133
+ k(t2) {
134
+ u(this._$AH) || (this._$AH = [], this._$AR());
135
+ const i2 = this._$AH;
136
+ let s2, e2 = 0;
137
+ for (const h2 of t2) e2 === i2.length ? i2.push(s2 = new k(this.O(c()), this.O(c()), this, this.options)) : s2 = i2[e2], s2._$AI(h2), e2++;
138
+ e2 < i2.length && (this._$AR(s2 && s2._$AB.nextSibling, e2), i2.length = e2);
139
+ }
140
+ _$AR(t2 = this._$AA.nextSibling, s2) {
141
+ for (this._$AP?.(false, true, s2); t2 !== this._$AB; ) {
142
+ const s3 = i$1(t2).nextSibling;
143
+ i$1(t2).remove(), t2 = s3;
144
+ }
145
+ }
146
+ setConnected(t2) {
147
+ void 0 === this._$AM && (this._$Cv = t2, this._$AP?.(t2));
148
+ }
149
+ }
150
+ class H {
151
+ get tagName() {
152
+ return this.element.tagName;
153
+ }
154
+ get _$AU() {
155
+ return this._$AM._$AU;
156
+ }
157
+ constructor(t2, i2, s2, e2, h2) {
158
+ this.type = 1, this._$AH = A, this._$AN = void 0, this.element = t2, this.name = i2, this._$AM = e2, this.options = h2, s2.length > 2 || "" !== s2[0] || "" !== s2[1] ? (this._$AH = Array(s2.length - 1).fill(new String()), this.strings = s2) : this._$AH = A;
159
+ }
160
+ _$AI(t2, i2 = this, s2, e2) {
161
+ const h2 = this.strings;
162
+ let o2 = false;
163
+ if (void 0 === h2) t2 = M(this, t2, i2, 0), o2 = !a(t2) || t2 !== this._$AH && t2 !== E, o2 && (this._$AH = t2);
164
+ else {
165
+ const e3 = t2;
166
+ let n2, r2;
167
+ for (t2 = h2[0], n2 = 0; n2 < h2.length - 1; n2++) r2 = M(this, e3[s2 + n2], i2, n2), r2 === E && (r2 = this._$AH[n2]), o2 ||= !a(r2) || r2 !== this._$AH[n2], r2 === A ? t2 = A : t2 !== A && (t2 += (r2 ?? "") + h2[n2 + 1]), this._$AH[n2] = r2;
168
+ }
169
+ o2 && !e2 && this.j(t2);
170
+ }
171
+ j(t2) {
172
+ t2 === A ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t2 ?? "");
173
+ }
174
+ }
175
+ class I extends H {
176
+ constructor() {
177
+ super(...arguments), this.type = 3;
178
+ }
179
+ j(t2) {
180
+ this.element[this.name] = t2 === A ? void 0 : t2;
181
+ }
182
+ }
183
+ class L extends H {
184
+ constructor() {
185
+ super(...arguments), this.type = 4;
186
+ }
187
+ j(t2) {
188
+ this.element.toggleAttribute(this.name, !!t2 && t2 !== A);
189
+ }
190
+ }
191
+ class z extends H {
192
+ constructor(t2, i2, s2, e2, h2) {
193
+ super(t2, i2, s2, e2, h2), this.type = 5;
194
+ }
195
+ _$AI(t2, i2 = this) {
196
+ if ((t2 = M(this, t2, i2, 0) ?? A) === E) return;
197
+ const s2 = this._$AH, e2 = t2 === A && s2 !== A || t2.capture !== s2.capture || t2.once !== s2.once || t2.passive !== s2.passive, h2 = t2 !== A && (s2 === A || e2);
198
+ e2 && this.element.removeEventListener(this.name, this, s2), h2 && this.element.addEventListener(this.name, this, t2), this._$AH = t2;
199
+ }
200
+ handleEvent(t2) {
201
+ "function" == typeof this._$AH ? this._$AH.call(this.options?.host ?? this.element, t2) : this._$AH.handleEvent(t2);
202
+ }
203
+ }
204
+ class Z {
205
+ constructor(t2, i2, s2) {
206
+ this.element = t2, this.type = 6, this._$AN = void 0, this._$AM = i2, this.options = s2;
207
+ }
208
+ get _$AU() {
209
+ return this._$AM._$AU;
210
+ }
211
+ _$AI(t2) {
212
+ M(this, t2);
213
+ }
214
+ }
215
+ const B = t$1.litHtmlPolyfillSupport;
216
+ B?.(S, k), (t$1.litHtmlVersions ??= []).push("3.3.2");
217
+ const t = { CHILD: 2 }, e$1 = (t2) => (...e2) => ({ _$litDirective$: t2, values: e2 });
218
+ class i {
219
+ constructor(t2) {
220
+ }
221
+ get _$AU() {
222
+ return this._$AM._$AU;
223
+ }
224
+ _$AT(t2, e2, i2) {
225
+ this._$Ct = t2, this._$AM = e2, this._$Ci = i2;
226
+ }
227
+ _$AS(t2, e2) {
228
+ return this.update(t2, e2);
229
+ }
230
+ update(t2, e2) {
231
+ return this.render(...e2);
232
+ }
233
+ }
234
+ class e extends i {
235
+ constructor(i2) {
236
+ if (super(i2), this.it = A, i2.type !== t.CHILD) throw Error(this.constructor.directiveName + "() can only be used in child bindings");
237
+ }
238
+ render(r2) {
239
+ if (r2 === A || null == r2) return this._t = void 0, this.it = r2;
240
+ if (r2 === E) return r2;
241
+ if ("string" != typeof r2) throw Error(this.constructor.directiveName + "() called with a non-string value");
242
+ if (r2 === this.it) return this._t;
243
+ this.it = r2;
244
+ const s2 = [r2];
245
+ return s2.raw = s2, this._t = { _$litType$: this.constructor.resultType, strings: s2, values: [] };
246
+ }
247
+ }
248
+ e.directiveName = "unsafeHTML", e.resultType = 1;
249
+ const o = e$1(e);
250
+ class LitRenderer {
251
+ renderTextNode(node) {
252
+ if (node.type === "image") {
253
+ return html`<img src="${node.src}" alt="${node.alt || ""}" class="inline-image" style="max-width:100%;height:auto;">`;
254
+ }
255
+ return html`${o(node.content || "")}`;
256
+ }
257
+ renderNode(node) {
258
+ switch (node.type) {
259
+ case "heading": {
260
+ const level = node.attributes?.level || "2";
261
+ if (level === "1") return html`<h1>${o(node.content)}</h1>`;
262
+ if (level === "2") return html`<h2>${o(node.content)}</h2>`;
263
+ if (level === "3") return html`<h3>${o(node.content)}</h3>`;
264
+ return html`<h2>${o(node.content)}</h2>`;
265
+ }
266
+ case "paragraph":
267
+ if (node.children) {
268
+ return html`<p>${node.children.map((child) => this.renderTextNode(child))}</p>`;
269
+ }
270
+ return html`<p>${o(node.content)}</p>`;
271
+ case "list":
272
+ return html`<ul>${node.children?.map((child) => this.renderNode(child))}</ul>`;
273
+ case "list-item":
274
+ return html`<li>${o(node.content)}</li>`;
275
+ case "image":
276
+ return html`<img src="${node.src || node.attributes?.src}" alt="${node.alt || node.attributes?.alt || ""}" class="${node.className || ""}" style="max-width:100%;height:auto;">`;
277
+ case "container":
278
+ return html`<div class="${node.className || ""}" style="${node.attributes?.style || ""}">
279
+ ${node.children?.map((child) => this.renderNode(child))}
280
+ </div>`;
281
+ case "code":
282
+ return html`<pre><code class="language-${node.attributes?.lang || ""}">${node.content || ""}</code></pre>`;
283
+ case "text":
284
+ return html`${node.content}`;
285
+ default:
286
+ return html``;
287
+ }
288
+ }
289
+ renderNodes(nodes) {
290
+ if (!nodes || nodes.length === 0) {
291
+ return html``;
292
+ }
293
+ return html`${nodes.map((node) => this.renderNode(node))}`;
294
+ }
295
+ renderToHTMLString(nodes) {
296
+ if (!nodes || nodes.length === 0) {
297
+ return "";
298
+ }
299
+ return nodes.map((node) => this.nodeToHTMLString(node)).join("\n");
300
+ }
301
+ nodeToHTMLString(node) {
302
+ switch (node.type) {
303
+ case "heading":
304
+ const level = node.attributes?.level || "2";
305
+ return `<h${level}>${node.content}</h${level}>`;
306
+ case "paragraph":
307
+ return `<p>${node.content}</p>`;
308
+ case "list":
309
+ const items = node.children?.map((child) => this.nodeToHTMLString(child)).join("") || "";
310
+ return `<ul>${items}</ul>`;
311
+ case "list-item":
312
+ return `<li>${node.content}</li>`;
313
+ case "image":
314
+ return `<img src="${node.attributes?.src}" alt="${node.attributes?.alt}" class="${node.className || ""}">`;
315
+ case "container":
316
+ const childrenHTML = node.children?.map((child) => this.nodeToHTMLString(child)).join("") || "";
317
+ return `<div class="${node.className || ""}">${childrenHTML}</div>`;
318
+ case "text":
319
+ return node.content || "";
320
+ default:
321
+ return "";
322
+ }
323
+ }
324
+ }
325
+ export {
326
+ LitRenderer
327
+ };
328
+ //# sourceMappingURL=index2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index2.js","sources":["../node_modules/lit-html/lit-html.js","../node_modules/lit-html/directive.js","../node_modules/lit-html/directives/unsafe-html.js","../src/lit-renderer.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t=>t,s=t.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,h=\"$lit$\",o=`lit$${Math.random().toFixed(9).slice(2)}$`,n=\"?\"+o,r=`<${n}>`,l=document,c=()=>l.createComment(\"\"),a=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,u=Array.isArray,d=t=>u(t)||\"function\"==typeof t?.[Symbol.iterator],f=\"[ \\t\\n\\f\\r]\",v=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${f}(?:([^\\\\s\"'>=/]+)(${f}*=${f}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,x=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),b=x(1),w=x(2),T=x(3),E=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),C=new WeakMap,P=l.createTreeWalker(l,129);function V(t,i){if(!u(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const N=(t,i)=>{const s=t.length-1,e=[];let n,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=v;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,f=0;for(;f<s.length&&(c.lastIndex=f,u=c.exec(s),null!==u);)f=c.lastIndex,c===v?\"!--\"===u[1]?c=_:void 0!==u[1]?c=m:void 0!==u[2]?(y.test(u[2])&&(n=RegExp(\"</\"+u[2],\"g\")),c=p):void 0!==u[3]&&(c=p):c===p?\">\"===u[0]?(c=n??v,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?p:'\"'===u[3]?$:g):c===$||c===g?c=p:c===_||c===m?c=v:(c=p,n=void 0);const x=c===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===v?s+r:d>=0?(e.push(a),s.slice(0,d)+h+s.slice(d)+o+x):s+o+(-2===d?i:x)}return[V(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),e]};class S{constructor({strings:t,_$litType$:i},e){let r;this.parts=[];let l=0,a=0;const u=t.length-1,d=this.parts,[f,v]=N(t,i);if(this.el=S.createElement(f,e),P.currentNode=this.el.content,2===i||3===i){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=P.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(h)){const i=v[a++],s=r.getAttribute(t).split(o),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:l,name:e[2],strings:s,ctor:\".\"===e[1]?I:\"?\"===e[1]?L:\"@\"===e[1]?z:H}),r.removeAttribute(t)}else t.startsWith(o)&&(d.push({type:6,index:l}),r.removeAttribute(t));if(y.test(r.tagName)){const t=r.textContent.split(o),i=t.length-1;if(i>0){r.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)r.append(t[s],c()),P.nextNode(),d.push({type:2,index:++l});r.append(t[i],c())}}}else if(8===r.nodeType)if(r.data===n)d.push({type:2,index:l});else{let t=-1;for(;-1!==(t=r.data.indexOf(o,t+1));)d.push({type:7,index:l}),t+=o.length-1}l++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function M(t,i,s=t,e){if(i===E)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=a(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=M(t,h._$AS(t,i.values),h,e)),i}class R{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??l).importNode(i,!0);P.currentNode=e;let h=P.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new k(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new Z(h,this,t)),this._$AV.push(i),r=s[++n]}o!==r?.index&&(h=P.nextNode(),o++)}return P.currentNode=l,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=M(this,t,i),a(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):d(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==A&&a(this._$AH)?this._$AA.nextSibling.data=t:this.T(l.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(V(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new R(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=C.get(t.strings);return void 0===i&&C.set(t.strings,i=new S(t)),i}k(t){u(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new k(this.O(c()),this.O(c()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);t!==this._$AB;){const s=i(t).nextSibling;i(t).remove(),t=s}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=M(this,t,i,0),o=!a(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=M(this,e[s+n],i,n),r===E&&(r=this._$AH[n]),o||=!a(r)||r!==this._$AH[n],r===A?t=A:t!==A&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==A)}}class z extends H{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=M(this,t,i,0)??A)===E)return;const s=this._$AH,e=t===A&&s!==A||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==A&&(s===A||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){M(this,t)}}const j={M:h,P:o,A:n,C:1,L:N,R,D:d,V:M,I:k,H,N:L,U:z,B:I,F:Z},B=t.litHtmlPolyfillSupport;B?.(S,k),(t.litHtmlVersions??=[]).push(\"3.3.2\");const D=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new k(i.insertBefore(c(),t),t,void 0,s??{})}return h._$AI(t),h};export{j as _$LH,b as html,T as mathml,E as noChange,A as nothing,D as render,w as svg};\n//# sourceMappingURL=lit-html.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{nothing as t,noChange as i}from\"../lit-html.js\";import{directive as r,Directive as s,PartType as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends s{constructor(i){if(super(i),this.it=t,i.type!==n.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this._t=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=r(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","import { TemplateResult, html } from 'lit';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { ContentNode } from './types';\n\nexport class LitRenderer {\n private renderTextNode(node: ContentNode): TemplateResult {\n if (node.type === 'image') {\n return html`<img src=\"${node.src}\" alt=\"${node.alt || ''}\" class=\"inline-image\" style=\"max-width:100%;height:auto;\">`;\n }\n return html`${unsafeHTML(node.content || '')}`;\n }\n\n renderNode(node: ContentNode): TemplateResult {\n switch (node.type) {\n case 'heading': {\n const level = node.attributes?.level || '2';\n if (level === '1') return html`<h1>${unsafeHTML(node.content)}</h1>`;\n if (level === '2') return html`<h2>${unsafeHTML(node.content)}</h2>`;\n if (level === '3') return html`<h3>${unsafeHTML(node.content)}</h3>`;\n return html`<h2>${unsafeHTML(node.content)}</h2>`;\n }\n \n case 'paragraph':\n if (node.children) {\n return html`<p>${node.children.map(child => this.renderTextNode(child))}</p>`;\n }\n return html`<p>${unsafeHTML(node.content)}</p>`;\n \n case 'list':\n return html`<ul>${node.children?.map(child => this.renderNode(child))}</ul>`;\n \n case 'list-item':\n return html`<li>${unsafeHTML(node.content)}</li>`;\n \n case 'image':\n return html`<img src=\"${node.src || node.attributes?.src}\" alt=\"${node.alt || node.attributes?.alt || ''}\" class=\"${node.className || ''}\" style=\"max-width:100%;height:auto;\">`;\n \n case 'container':\n return html`<div class=\"${node.className || ''}\" style=\"${node.attributes?.style || ''}\">\n ${node.children?.map(child => this.renderNode(child))}\n </div>`;\n \n case 'code':\n return html`<pre><code class=\"language-${node.attributes?.lang || ''}\">${node.content || ''}</code></pre>`;\n \n case 'text':\n return html`${node.content}`;\n \n default:\n return html``;\n }\n }\n\n renderNodes(nodes: ContentNode[]): TemplateResult {\n if (!nodes || nodes.length === 0) {\n return html``;\n }\n return html`${nodes.map(node => this.renderNode(node))}`;\n }\n\n renderToHTMLString(nodes: ContentNode[]): string {\n if (!nodes || nodes.length === 0) {\n return '';\n }\n return nodes.map(node => this.nodeToHTMLString(node)).join('\\n');\n }\n\n private nodeToHTMLString(node: ContentNode): string {\n switch (node.type) {\n case 'heading':\n const level = node.attributes?.level || '2';\n return `<h${level}>${node.content}</h${level}>`;\n case 'paragraph':\n return `<p>${node.content}</p>`;\n case 'list':\n const items = node.children?.map(child => this.nodeToHTMLString(child)).join('') || '';\n return `<ul>${items}</ul>`;\n case 'list-item':\n return `<li>${node.content}</li>`;\n case 'image':\n return `<img src=\"${node.attributes?.src}\" alt=\"${node.attributes?.alt}\" class=\"${node.className || ''}\">`;\n case 'container':\n const childrenHTML = node.children?.map(child => this.nodeToHTMLString(child)).join('') || '';\n return `<div class=\"${node.className || ''}\">${childrenHTML}</div>`;\n case 'text':\n return node.content || '';\n default:\n return '';\n }\n }\n}\n"],"names":["t","i","e","o","s","n","l","c","a","u","d","f","r","v","h","unsafeHTML"],"mappings":";AAKK,MAACA,MAAE,YAAWC,MAAE,CAAAD,OAAGA,IAAE,IAAEA,IAAE,cAAaE,MAAE,IAAE,EAAE,aAAa,YAAW,EAAC,YAAW,CAAAF,OAAGA,GAAC,CAAC,IAAE,QAAO,IAAE,SAAQG,MAAE,OAAO,KAAK,OAAM,EAAG,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,KAAI,IAAE,MAAIA,KAAE,IAAE,IAAI,CAAC,KAAI,IAAE,UAAS,IAAE,MAAI,EAAE,cAAc,EAAE,GAAE,IAAE,CAAAH,OAAG,SAAOA,MAAG,YAAU,OAAOA,MAAG,cAAY,OAAOA,IAAE,IAAE,MAAM,SAAQ,IAAE,CAAAA,OAAG,EAAEA,EAAC,KAAG,cAAY,OAAOA,KAAI,OAAO,QAAQ,GAAE,IAAE,cAAc,IAAE,uDAAsD,IAAE,QAAO,IAAE,MAAK,IAAE,OAAO,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC;AAAA,2BAAsC,GAAG,GAAE,IAAE,MAAK,IAAE,MAAK,IAAE,sCAA6G,IAAE,uBAAO,IAAI,cAAc,GAAE,IAAE,uBAAO,IAAI,aAAa,GAAE,IAAE,oBAAI,WAAQ,IAAE,EAAE,iBAAiB,GAAE,GAAG;AAAE,SAAS,EAAEA,IAAEC,IAAE;AAAC,MAAG,CAAC,EAAED,EAAC,KAAG,CAACA,GAAE,eAAe,KAAK,EAAE,OAAM,MAAM,gCAAgC;AAAE,SAAO,WAASE,MAAEA,IAAE,WAAWD,EAAC,IAAEA;AAAC;AAAC,MAAM,IAAE,CAACD,IAAEC,OAAI;AAAC,QAAMG,KAAEJ,GAAE,SAAO,GAAEE,KAAE,CAAA;AAAG,MAAIG,IAAEC,KAAE,MAAIL,KAAE,UAAQ,MAAIA,KAAE,WAAS,IAAGM,KAAE;AAAE,WAAQN,KAAE,GAAEA,KAAEG,IAAEH,MAAI;AAAC,UAAMG,KAAEJ,GAAEC,EAAC;AAAE,QAAIO,IAAEC,IAAEC,KAAE,IAAGC,KAAE;AAAE,WAAKA,KAAEP,GAAE,WAASG,GAAE,YAAUI,IAAEF,KAAEF,GAAE,KAAKH,EAAC,GAAE,SAAOK,MAAI,CAAAE,KAAEJ,GAAE,WAAUA,OAAI,IAAE,UAAQE,GAAE,CAAC,IAAEF,KAAE,IAAE,WAASE,GAAE,CAAC,IAAEF,KAAE,IAAE,WAASE,GAAE,CAAC,KAAG,EAAE,KAAKA,GAAE,CAAC,CAAC,MAAIJ,KAAE,OAAO,OAAKI,GAAE,CAAC,GAAE,GAAG,IAAGF,KAAE,KAAG,WAASE,GAAE,CAAC,MAAIF,KAAE,KAAGA,OAAI,IAAE,QAAME,GAAE,CAAC,KAAGF,KAAEF,MAAG,GAAEK,KAAE,MAAI,WAASD,GAAE,CAAC,IAAEC,KAAE,MAAIA,KAAEH,GAAE,YAAUE,GAAE,CAAC,EAAE,QAAOD,KAAEC,GAAE,CAAC,GAAEF,KAAE,WAASE,GAAE,CAAC,IAAE,IAAE,QAAMA,GAAE,CAAC,IAAE,IAAE,KAAGF,OAAI,KAAGA,OAAI,IAAEA,KAAE,IAAEA,OAAI,KAAGA,OAAI,IAAEA,KAAE,KAAGA,KAAE,GAAEF,KAAE;AAAQ,UAAM,IAAEE,OAAI,KAAGP,GAAEC,KAAE,CAAC,EAAE,WAAW,IAAI,IAAE,MAAI;AAAG,IAAAK,MAAGC,OAAI,IAAEH,KAAE,IAAEM,MAAG,KAAGR,GAAE,KAAKM,EAAC,GAAEJ,GAAE,MAAM,GAAEM,EAAC,IAAE,IAAEN,GAAE,MAAMM,EAAC,IAAEP,MAAE,KAAGC,KAAED,OAAG,OAAKO,KAAET,KAAE;AAAA,EAAE;AAAC,SAAM,CAAC,EAAED,IAAEM,MAAGN,GAAEI,EAAC,KAAG,UAAQ,MAAIH,KAAE,WAAS,MAAIA,KAAE,YAAU,GAAG,GAAEC,EAAC;AAAC;AAAE,MAAM,EAAC;AAAA,EAAC,YAAY,EAAC,SAAQF,IAAE,YAAWC,GAAC,GAAEC,IAAE;AAAC,QAAIU;AAAE,SAAK,QAAM;AAAG,QAAIN,KAAE,GAAEE,KAAE;AAAE,UAAMC,KAAET,GAAE,SAAO,GAAEU,KAAE,KAAK,OAAM,CAACC,IAAEE,EAAC,IAAE,EAAEb,IAAEC,EAAC;AAAE,QAAG,KAAK,KAAG,EAAE,cAAcU,IAAET,EAAC,GAAE,EAAE,cAAY,KAAK,GAAG,SAAQ,MAAID,MAAG,MAAIA,IAAE;AAAC,YAAMD,KAAE,KAAK,GAAG,QAAQ;AAAW,MAAAA,GAAE,YAAY,GAAGA,GAAE,UAAU;AAAA,IAAC;AAAC,WAAK,UAAQY,KAAE,EAAE,SAAQ,MAAKF,GAAE,SAAOD,MAAG;AAAC,UAAG,MAAIG,GAAE,UAAS;AAAC,YAAGA,GAAE,gBAAgB,YAAUZ,MAAKY,GAAE,kBAAiB,EAAG,KAAGZ,GAAE,SAAS,CAAC,GAAE;AAAC,gBAAMC,KAAEY,GAAEL,IAAG,GAAEJ,KAAEQ,GAAE,aAAaZ,EAAC,EAAE,MAAMG,GAAC,GAAED,KAAE,eAAe,KAAKD,EAAC;AAAE,UAAAS,GAAE,KAAK,EAAC,MAAK,GAAE,OAAMJ,IAAE,MAAKJ,GAAE,CAAC,GAAE,SAAQE,IAAE,MAAK,QAAMF,GAAE,CAAC,IAAE,IAAE,QAAMA,GAAE,CAAC,IAAE,IAAE,QAAMA,GAAE,CAAC,IAAE,IAAE,EAAC,CAAC,GAAEU,GAAE,gBAAgBZ,EAAC;AAAA,QAAC,MAAM,CAAAA,GAAE,WAAWG,GAAC,MAAIO,GAAE,KAAK,EAAC,MAAK,GAAE,OAAMJ,GAAC,CAAC,GAAEM,GAAE,gBAAgBZ,EAAC;AAAG,YAAG,EAAE,KAAKY,GAAE,OAAO,GAAE;AAAC,gBAAMZ,KAAEY,GAAE,YAAY,MAAMT,GAAC,GAAEF,KAAED,GAAE,SAAO;AAAE,cAAGC,KAAE,GAAE;AAAC,YAAAW,GAAE,cAAY,IAAE,EAAE,cAAY;AAAG,qBAAQR,KAAE,GAAEA,KAAEH,IAAEG,KAAI,CAAAQ,GAAE,OAAOZ,GAAEI,EAAC,GAAE,EAAC,CAAE,GAAE,EAAE,SAAQ,GAAGM,GAAE,KAAK,EAAC,MAAK,GAAE,OAAM,EAAEJ,GAAC,CAAC;AAAE,YAAAM,GAAE,OAAOZ,GAAEC,EAAC,GAAE,EAAC,CAAE;AAAA,UAAC;AAAA,QAAC;AAAA,MAAC,WAAS,MAAIW,GAAE,SAAS,KAAGA,GAAE,SAAO,EAAE,CAAAF,GAAE,KAAK,EAAC,MAAK,GAAE,OAAMJ,GAAC,CAAC;AAAA,WAAM;AAAC,YAAIN,KAAE;AAAG,eAAK,QAAMA,KAAEY,GAAE,KAAK,QAAQT,KAAEH,KAAE,CAAC,KAAI,CAAAU,GAAE,KAAK,EAAC,MAAK,GAAE,OAAMJ,GAAC,CAAC,GAAEN,MAAGG,IAAE,SAAO;AAAA,MAAC;AAAC,MAAAG;AAAA,IAAG;AAAA,EAAC;AAAA,EAAC,OAAO,cAAcN,IAAEC,IAAE;AAAC,UAAMG,KAAE,EAAE,cAAc,UAAU;AAAE,WAAOA,GAAE,YAAUJ,IAAEI;AAAA,EAAC;AAAC;AAAC,SAAS,EAAEJ,IAAEC,IAAEG,KAAEJ,IAAEE,IAAE;AAAC,MAAGD,OAAI,EAAE,QAAOA;AAAE,MAAIa,KAAE,WAASZ,KAAEE,GAAE,OAAOF,EAAC,IAAEE,GAAE;AAAK,QAAMD,KAAE,EAAEF,EAAC,IAAE,SAAOA,GAAE;AAAgB,SAAOa,IAAG,gBAAcX,OAAIW,IAAG,OAAO,KAAE,GAAE,WAASX,KAAEW,KAAE,UAAQA,KAAE,IAAIX,GAAEH,EAAC,GAAEc,GAAE,KAAKd,IAAEI,IAAEF,EAAC,IAAG,WAASA,MAAGE,GAAE,SAAO,CAAA,GAAIF,EAAC,IAAEY,KAAEV,GAAE,OAAKU,KAAG,WAASA,OAAIb,KAAE,EAAED,IAAEc,GAAE,KAAKd,IAAEC,GAAE,MAAM,GAAEa,IAAEZ,EAAC,IAAGD;AAAC;AAAC,MAAM,EAAC;AAAA,EAAC,YAAYD,IAAEC,IAAE;AAAC,SAAK,OAAK,CAAA,GAAG,KAAK,OAAK,QAAO,KAAK,OAAKD,IAAE,KAAK,OAAKC;AAAA,EAAC;AAAA,EAAC,IAAI,aAAY;AAAC,WAAO,KAAK,KAAK;AAAA,EAAU;AAAA,EAAC,IAAI,OAAM;AAAC,WAAO,KAAK,KAAK;AAAA,EAAI;AAAA,EAAC,EAAED,IAAE;AAAC,UAAK,EAAC,IAAG,EAAC,SAAQC,GAAC,GAAE,OAAMG,GAAC,IAAE,KAAK,MAAKF,MAAGF,IAAG,iBAAe,GAAG,WAAWC,IAAE,IAAE;AAAE,MAAE,cAAYC;AAAE,QAAIY,KAAE,EAAE,YAAWX,KAAE,GAAEE,KAAE,GAAEO,KAAER,GAAE,CAAC;AAAE,WAAK,WAASQ,MAAG;AAAC,UAAGT,OAAIS,GAAE,OAAM;AAAC,YAAIX;AAAE,cAAIW,GAAE,OAAKX,KAAE,IAAI,EAAEa,IAAEA,GAAE,aAAY,MAAKd,EAAC,IAAE,MAAIY,GAAE,OAAKX,KAAE,IAAIW,GAAE,KAAKE,IAAEF,GAAE,MAAKA,GAAE,SAAQ,MAAKZ,EAAC,IAAE,MAAIY,GAAE,SAAOX,KAAE,IAAI,EAAEa,IAAE,MAAKd,EAAC,IAAG,KAAK,KAAK,KAAKC,EAAC,GAAEW,KAAER,GAAE,EAAEC,EAAC;AAAA,MAAC;AAAC,MAAAF,OAAIS,IAAG,UAAQE,KAAE,EAAE,SAAQ,GAAGX;AAAA,IAAI;AAAC,WAAO,EAAE,cAAY,GAAED;AAAA,EAAC;AAAA,EAAC,EAAEF,IAAE;AAAC,QAAIC,KAAE;AAAE,eAAUG,MAAK,KAAK,KAAK,YAASA,OAAI,WAASA,GAAE,WAASA,GAAE,KAAKJ,IAAEI,IAAEH,EAAC,GAAEA,MAAGG,GAAE,QAAQ,SAAO,KAAGA,GAAE,KAAKJ,GAAEC,EAAC,CAAC,IAAGA;AAAA,EAAG;AAAC;AAAC,MAAM,EAAC;AAAA,EAAC,IAAI,OAAM;AAAC,WAAO,KAAK,MAAM,QAAM,KAAK;AAAA,EAAI;AAAA,EAAC,YAAYD,IAAEC,IAAEG,IAAEF,IAAE;AAAC,SAAK,OAAK,GAAE,KAAK,OAAK,GAAE,KAAK,OAAK,QAAO,KAAK,OAAKF,IAAE,KAAK,OAAKC,IAAE,KAAK,OAAKG,IAAE,KAAK,UAAQF,IAAE,KAAK,OAAKA,IAAG,eAAa;AAAA,EAAE;AAAA,EAAC,IAAI,aAAY;AAAC,QAAIF,KAAE,KAAK,KAAK;AAAW,UAAMC,KAAE,KAAK;AAAK,WAAO,WAASA,MAAG,OAAKD,IAAG,aAAWA,KAAEC,GAAE,aAAYD;AAAA,EAAC;AAAA,EAAC,IAAI,YAAW;AAAC,WAAO,KAAK;AAAA,EAAI;AAAA,EAAC,IAAI,UAAS;AAAC,WAAO,KAAK;AAAA,EAAI;AAAA,EAAC,KAAKA,IAAEC,KAAE,MAAK;AAAC,IAAAD,KAAE,EAAE,MAAKA,IAAEC,EAAC,GAAE,EAAED,EAAC,IAAEA,OAAI,KAAG,QAAMA,MAAG,OAAKA,MAAG,KAAK,SAAO,KAAG,KAAK,KAAI,GAAG,KAAK,OAAK,KAAGA,OAAI,KAAK,QAAMA,OAAI,KAAG,KAAK,EAAEA,EAAC,IAAE,WAASA,GAAE,aAAW,KAAK,EAAEA,EAAC,IAAE,WAASA,GAAE,WAAS,KAAK,EAAEA,EAAC,IAAE,EAAEA,EAAC,IAAE,KAAK,EAAEA,EAAC,IAAE,KAAK,EAAEA,EAAC;AAAA,EAAC;AAAA,EAAC,EAAEA,IAAE;AAAC,WAAO,KAAK,KAAK,WAAW,aAAaA,IAAE,KAAK,IAAI;AAAA,EAAC;AAAA,EAAC,EAAEA,IAAE;AAAC,SAAK,SAAOA,OAAI,KAAK,QAAO,KAAK,OAAK,KAAK,EAAEA,EAAC;AAAA,EAAE;AAAA,EAAC,EAAEA,IAAE;AAAC,SAAK,SAAO,KAAG,EAAE,KAAK,IAAI,IAAE,KAAK,KAAK,YAAY,OAAKA,KAAE,KAAK,EAAE,EAAE,eAAeA,EAAC,CAAC,GAAE,KAAK,OAAKA;AAAA,EAAC;AAAA,EAAC,EAAEA,IAAE;AAAC,UAAK,EAAC,QAAOC,IAAE,YAAWG,GAAC,IAAEJ,IAAEE,KAAE,YAAU,OAAOE,KAAE,KAAK,KAAKJ,EAAC,KAAG,WAASI,GAAE,OAAKA,GAAE,KAAG,EAAE,cAAc,EAAEA,GAAE,GAAEA,GAAE,EAAE,CAAC,CAAC,GAAE,KAAK,OAAO,IAAGA;AAAG,QAAG,KAAK,MAAM,SAAOF,GAAE,MAAK,KAAK,EAAED,EAAC;AAAA,SAAM;AAAC,YAAMD,KAAE,IAAI,EAAEE,IAAE,IAAI,GAAEE,KAAEJ,GAAE,EAAE,KAAK,OAAO;AAAE,MAAAA,GAAE,EAAEC,EAAC,GAAE,KAAK,EAAEG,EAAC,GAAE,KAAK,OAAKJ;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,KAAKA,IAAE;AAAC,QAAIC,KAAE,EAAE,IAAID,GAAE,OAAO;AAAE,WAAO,WAASC,MAAG,EAAE,IAAID,GAAE,SAAQC,KAAE,IAAI,EAAED,EAAC,CAAC,GAAEC;AAAA,EAAC;AAAA,EAAC,EAAED,IAAE;AAAC,MAAE,KAAK,IAAI,MAAI,KAAK,OAAK,CAAA,GAAG,KAAK,KAAI;AAAI,UAAMC,KAAE,KAAK;AAAK,QAAIG,IAAEF,KAAE;AAAE,eAAUY,MAAKd,GAAE,CAAAE,OAAID,GAAE,SAAOA,GAAE,KAAKG,KAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAE,KAAK,EAAE,EAAC,CAAE,GAAE,MAAK,KAAK,OAAO,CAAC,IAAEA,KAAEH,GAAEC,EAAC,GAAEE,GAAE,KAAKU,EAAC,GAAEZ;AAAI,IAAAA,KAAED,GAAE,WAAS,KAAK,KAAKG,MAAGA,GAAE,KAAK,aAAYF,EAAC,GAAED,GAAE,SAAOC;AAAA,EAAE;AAAA,EAAC,KAAKF,KAAE,KAAK,KAAK,aAAYI,IAAE;AAAC,SAAI,KAAK,OAAO,OAAG,MAAGA,EAAC,GAAEJ,OAAI,KAAK,QAAM;AAAC,YAAMI,KAAEH,IAAED,EAAC,EAAE;AAAYC,UAAED,EAAC,EAAE,UAASA,KAAEI;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,aAAaJ,IAAE;eAAU,KAAK,SAAO,KAAK,OAAKA,IAAE,KAAK,OAAOA,EAAC;AAAA,EAAE;AAAC;AAAC,MAAM,EAAC;AAAA,EAAC,IAAI,UAAS;AAAC,WAAO,KAAK,QAAQ;AAAA,EAAO;AAAA,EAAC,IAAI,OAAM;AAAC,WAAO,KAAK,KAAK;AAAA,EAAI;AAAA,EAAC,YAAYA,IAAEC,IAAEG,IAAEF,IAAEY,IAAE;AAAC,SAAK,OAAK,GAAE,KAAK,OAAK,GAAE,KAAK,OAAK,QAAO,KAAK,UAAQd,IAAE,KAAK,OAAKC,IAAE,KAAK,OAAKC,IAAE,KAAK,UAAQY,IAAEV,GAAE,SAAO,KAAG,OAAKA,GAAE,CAAC,KAAG,OAAKA,GAAE,CAAC,KAAG,KAAK,OAAK,MAAMA,GAAE,SAAO,CAAC,EAAE,KAAK,IAAI,QAAM,GAAE,KAAK,UAAQA,MAAG,KAAK,OAAK;AAAA,EAAC;AAAA,EAAC,KAAKJ,IAAEC,KAAE,MAAKG,IAAEF,IAAE;AAAC,UAAMY,KAAE,KAAK;AAAQ,QAAIX,KAAE;AAAG,QAAG,WAASW,GAAE,CAAAd,KAAE,EAAE,MAAKA,IAAEC,IAAE,CAAC,GAAEE,KAAE,CAAC,EAAEH,EAAC,KAAGA,OAAI,KAAK,QAAMA,OAAI,GAAEG,OAAI,KAAK,OAAKH;AAAA,SAAO;AAAC,YAAME,KAAEF;AAAE,UAAIK,IAAEO;AAAE,WAAIZ,KAAEc,GAAE,CAAC,GAAET,KAAE,GAAEA,KAAES,GAAE,SAAO,GAAET,KAAI,CAAAO,KAAE,EAAE,MAAKV,GAAEE,KAAEC,EAAC,GAAEJ,IAAEI,EAAC,GAAEO,OAAI,MAAIA,KAAE,KAAK,KAAKP,EAAC,IAAGF,OAAI,CAAC,EAAES,EAAC,KAAGA,OAAI,KAAK,KAAKP,EAAC,GAAEO,OAAI,IAAEZ,KAAE,IAAEA,OAAI,MAAIA,OAAIY,MAAG,MAAIE,GAAET,KAAE,CAAC,IAAG,KAAK,KAAKA,EAAC,IAAEO;AAAA,IAAC;AAAC,IAAAT,MAAG,CAACD,MAAG,KAAK,EAAEF,EAAC;AAAA,EAAC;AAAA,EAAC,EAAEA,IAAE;AAAC,IAAAA,OAAI,IAAE,KAAK,QAAQ,gBAAgB,KAAK,IAAI,IAAE,KAAK,QAAQ,aAAa,KAAK,MAAKA,MAAG,EAAE;AAAA,EAAC;AAAC;AAAC,MAAM,UAAU,EAAC;AAAA,EAAC,cAAa;AAAC,UAAM,GAAG,SAAS,GAAE,KAAK,OAAK;AAAA,EAAC;AAAA,EAAC,EAAEA,IAAE;AAAC,SAAK,QAAQ,KAAK,IAAI,IAAEA,OAAI,IAAE,SAAOA;AAAA,EAAC;AAAC;AAAC,MAAM,UAAU,EAAC;AAAA,EAAC,cAAa;AAAC,UAAM,GAAG,SAAS,GAAE,KAAK,OAAK;AAAA,EAAC;AAAA,EAAC,EAAEA,IAAE;AAAC,SAAK,QAAQ,gBAAgB,KAAK,MAAK,CAAC,CAACA,MAAGA,OAAI,CAAC;AAAA,EAAC;AAAC;AAAC,MAAM,UAAU,EAAC;AAAA,EAAC,YAAYA,IAAEC,IAAEG,IAAEF,IAAEY,IAAE;AAAC,UAAMd,IAAEC,IAAEG,IAAEF,IAAEY,EAAC,GAAE,KAAK,OAAK;AAAA,EAAC;AAAA,EAAC,KAAKd,IAAEC,KAAE,MAAK;AAAC,SAAID,KAAE,EAAE,MAAKA,IAAEC,IAAE,CAAC,KAAG,OAAK,EAAE;AAAO,UAAMG,KAAE,KAAK,MAAKF,KAAEF,OAAI,KAAGI,OAAI,KAAGJ,GAAE,YAAUI,GAAE,WAASJ,GAAE,SAAOI,GAAE,QAAMJ,GAAE,YAAUI,GAAE,SAAQU,KAAEd,OAAI,MAAII,OAAI,KAAGF;AAAG,IAAAA,MAAG,KAAK,QAAQ,oBAAoB,KAAK,MAAK,MAAKE,EAAC,GAAEU,MAAG,KAAK,QAAQ,iBAAiB,KAAK,MAAK,MAAKd,EAAC,GAAE,KAAK,OAAKA;AAAA,EAAC;AAAA,EAAC,YAAYA,IAAE;AAAC,kBAAY,OAAO,KAAK,OAAK,KAAK,KAAK,KAAK,KAAK,SAAS,QAAM,KAAK,SAAQA,EAAC,IAAE,KAAK,KAAK,YAAYA,EAAC;AAAA,EAAC;AAAC;AAAC,MAAM,EAAC;AAAA,EAAC,YAAYA,IAAEC,IAAEG,IAAE;AAAC,SAAK,UAAQJ,IAAE,KAAK,OAAK,GAAE,KAAK,OAAK,QAAO,KAAK,OAAKC,IAAE,KAAK,UAAQG;AAAA,EAAC;AAAA,EAAC,IAAI,OAAM;AAAC,WAAO,KAAK,KAAK;AAAA,EAAI;AAAA,EAAC,KAAKJ,IAAE;AAAC,MAAE,MAAKA,EAAC;AAAA,EAAC;AAAC;AAAM,MAAyD,IAAEA,IAAE;AAAuB,IAAI,GAAE,CAAC,IAAGA,IAAE,oBAAkB,IAAI,KAAK,OAAO;ACAvvN,MAAM,IAAE,EAAa,OAAM,EAAkD,GAAEE,MAAE,CAAAF,OAAG,IAAIE,QAAK,EAAC,iBAAgBF,IAAE,QAAOE,GAAC;AAAG,MAAM,EAAC;AAAA,EAAC,YAAYF,IAAE;AAAA,EAAC;AAAA,EAAC,IAAI,OAAM;AAAC,WAAO,KAAK,KAAK;AAAA,EAAI;AAAA,EAAC,KAAKA,IAAEE,IAAED,IAAE;AAAC,SAAK,OAAKD,IAAE,KAAK,OAAKE,IAAE,KAAK,OAAKD;AAAA,EAAC;AAAA,EAAC,KAAKD,IAAEE,IAAE;AAAC,WAAO,KAAK,OAAOF,IAAEE,EAAC;AAAA,EAAC;AAAA,EAAC,OAAOF,IAAEE,IAAE;AAAC,WAAO,KAAK,OAAO,GAAGA,EAAC;AAAA,EAAC;AAAC;ACAxS,MAAM,UAAUE,EAAC;AAAA,EAAC,YAAYH,IAAE;AAAC,QAAG,MAAMA,EAAC,GAAE,KAAK,KAAGD,GAAEC,GAAE,SAAOI,EAAE,MAAM,OAAM,MAAM,KAAK,YAAY,gBAAc,uCAAuC;AAAA,EAAC;AAAA,EAAC,OAAOO,IAAE;AAAC,QAAGA,OAAIZ,KAAG,QAAMY,GAAE,QAAO,KAAK,KAAG,QAAO,KAAK,KAAGA;AAAE,QAAGA,OAAIX,EAAE,QAAOW;AAAE,QAAG,YAAU,OAAOA,GAAE,OAAM,MAAM,KAAK,YAAY,gBAAc,mCAAmC;AAAE,QAAGA,OAAI,KAAK,GAAG,QAAO,KAAK;AAAG,SAAK,KAAGA;AAAE,UAAMR,KAAE,CAACQ,EAAC;AAAE,WAAOR,GAAE,MAAIA,IAAE,KAAK,KAAG,EAAC,YAAW,KAAK,YAAY,YAAW,SAAQA,IAAE,QAAO,CAAA,EAAE;AAAA,EAAC;AAAC;AAAC,EAAE,gBAAc,cAAa,EAAE,aAAW;AAAE,MAAM,IAAEQ,IAAE,CAAC;ACD5gB,MAAM,YAAY;AAAA,EACf,eAAe,MAAmC;AACxD,QAAI,KAAK,SAAS,SAAS;AACzB,aAAO,iBAAiB,KAAK,GAAG,UAAU,KAAK,OAAO,EAAE;AAAA,IAC1D;AACA,WAAO,OAAOG,EAAW,KAAK,WAAW,EAAE,CAAC;AAAA,EAC9C;AAAA,EAEA,WAAW,MAAmC;AAC5C,YAAQ,KAAK,MAAA;AAAA,MACX,KAAK,WAAW;AACd,cAAM,QAAQ,KAAK,YAAY,SAAS;AACxC,YAAI,UAAU,IAAK,QAAO,WAAWA,EAAW,KAAK,OAAO,CAAC;AAC7D,YAAI,UAAU,IAAK,QAAO,WAAWA,EAAW,KAAK,OAAO,CAAC;AAC7D,YAAI,UAAU,IAAK,QAAO,WAAWA,EAAW,KAAK,OAAO,CAAC;AAC7D,eAAO,WAAWA,EAAW,KAAK,OAAO,CAAC;AAAA,MAC5C;AAAA,MAEA,KAAK;AACH,YAAI,KAAK,UAAU;AACjB,iBAAO,UAAU,KAAK,SAAS,IAAI,WAAS,KAAK,eAAe,KAAK,CAAC,CAAC;AAAA,QACzE;AACA,eAAO,UAAUA,EAAW,KAAK,OAAO,CAAC;AAAA,MAE3C,KAAK;AACH,eAAO,WAAW,KAAK,UAAU,IAAI,WAAS,KAAK,WAAW,KAAK,CAAC,CAAC;AAAA,MAEvE,KAAK;AACH,eAAO,WAAWA,EAAW,KAAK,OAAO,CAAC;AAAA,MAE5C,KAAK;AACH,eAAO,iBAAiB,KAAK,OAAO,KAAK,YAAY,GAAG,UAAU,KAAK,OAAO,KAAK,YAAY,OAAO,EAAE,YAAY,KAAK,aAAa,EAAE;AAAA,MAE1I,KAAK;AACH,eAAO,mBAAmB,KAAK,aAAa,EAAE,YAAY,KAAK,YAAY,SAAS,EAAE;AAAA,YAClF,KAAK,UAAU,IAAI,CAAA,UAAS,KAAK,WAAW,KAAK,CAAC,CAAC;AAAA;AAAA,MAGzD,KAAK;AACH,eAAO,kCAAkC,KAAK,YAAY,QAAQ,EAAE,KAAK,KAAK,WAAW,EAAE;AAAA,MAE7F,KAAK;AACH,eAAO,OAAO,KAAK,OAAO;AAAA,MAE5B;AACE,eAAO;AAAA,IAAA;AAAA,EAEb;AAAA,EAEA,YAAY,OAAsC;AAChD,QAAI,CAAC,SAAS,MAAM,WAAW,GAAG;AAChC,aAAO;AAAA,IACT;AACA,WAAO,OAAO,MAAM,IAAI,CAAA,SAAQ,KAAK,WAAW,IAAI,CAAC,CAAC;AAAA,EACxD;AAAA,EAEA,mBAAmB,OAA8B;AAC/C,QAAI,CAAC,SAAS,MAAM,WAAW,GAAG;AAChC,aAAO;AAAA,IACT;AACA,WAAO,MAAM,IAAI,CAAA,SAAQ,KAAK,iBAAiB,IAAI,CAAC,EAAE,KAAK,IAAI;AAAA,EACjE;AAAA,EAEQ,iBAAiB,MAA2B;AAClD,YAAQ,KAAK,MAAA;AAAA,MACX,KAAK;AACH,cAAM,QAAQ,KAAK,YAAY,SAAS;AACxC,eAAO,KAAK,KAAK,IAAI,KAAK,OAAO,MAAM,KAAK;AAAA,MAC9C,KAAK;AACH,eAAO,MAAM,KAAK,OAAO;AAAA,MAC3B,KAAK;AACH,cAAM,QAAQ,KAAK,UAAU,IAAI,CAAA,UAAS,KAAK,iBAAiB,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK;AACpF,eAAO,OAAO,KAAK;AAAA,MACrB,KAAK;AACH,eAAO,OAAO,KAAK,OAAO;AAAA,MAC5B,KAAK;AACH,eAAO,aAAa,KAAK,YAAY,GAAG,UAAU,KAAK,YAAY,GAAG,YAAY,KAAK,aAAa,EAAE;AAAA,MACxG,KAAK;AACH,cAAM,eAAe,KAAK,UAAU,IAAI,CAAA,UAAS,KAAK,iBAAiB,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK;AAC3F,eAAO,eAAe,KAAK,aAAa,EAAE,KAAK,YAAY;AAAA,MAC7D,KAAK;AACH,eAAO,KAAK,WAAW;AAAA,MACzB;AACE,eAAO;AAAA,IAAA;AAAA,EAEb;AACF;","x_google_ignoreList":[0,1,2]}
@@ -0,0 +1,24 @@
1
+ import { TemplateResult } from 'lit';
2
+
3
+ declare interface ContentNode {
4
+ type: ContentNodeType;
5
+ content?: string;
6
+ children?: ContentNode[];
7
+ attributes?: Record<string, unknown>;
8
+ className?: string;
9
+ src?: string;
10
+ alt?: string;
11
+ ordered?: boolean;
12
+ }
13
+
14
+ declare type ContentNodeType = 'text' | 'heading' | 'paragraph' | 'list' | 'list-item' | 'image' | 'code' | 'container' | 'strong' | 'emphasis';
15
+
16
+ export declare class LitRenderer {
17
+ private renderTextNode;
18
+ renderNode(node: ContentNode): TemplateResult;
19
+ renderNodes(nodes: ContentNode[]): TemplateResult;
20
+ renderToHTMLString(nodes: ContentNode[]): string;
21
+ private nodeToHTMLString;
22
+ }
23
+
24
+ export { }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leadertechie/md2html",
3
- "version": "0.1.0-alpha.6",
3
+ "version": "0.1.0-alpha.8",
4
4
  "description": "Markdown to HTML pipeline - parse markdown to AST, render to HTML or Lit templates",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -10,6 +10,11 @@
10
10
  "types": "./dist/index.d.ts",
11
11
  "import": "./dist/index.js",
12
12
  "default": "./dist/index.js"
13
+ },
14
+ "./lit-renderer": {
15
+ "types": "./dist/lit-renderer.d.ts",
16
+ "import": "./dist/index2.js",
17
+ "default": "./dist/index2.js"
13
18
  }
14
19
  },
15
20
  "scripts": {