jspdf-md-renderer 1.5.0 → 1.6.0

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/README.md CHANGED
@@ -69,6 +69,14 @@ This section showcases how to create simple and nested lists.
69
69
  1. Nested Subtopic 2.2.1
70
70
  2. Nested Subtopic 2.2.2
71
71
 
72
+ ### Emphasis and Strong Emphasis
73
+ - *Italic* text using asterisks.
74
+ - _Italic_ text using underscores.
75
+ - **Bold** text using double asterisks.
76
+ - __Bold__ text using double underscores.
77
+ - ***Bold and Italic*** text using triple asterisks.
78
+ - ___Bold and Italic___ text using triple underscores.
79
+
72
80
  `;
73
81
 
74
82
  const generatePDF = async () => {
@@ -146,17 +154,19 @@ The following Markdown elements are currently supported by `jspdf-md-renderer`:
146
154
  - **Lists**:
147
155
  - Unordered lists: `-`, `*`, `+`
148
156
  - Ordered lists: `1.`, `2.`, `3.`, etc.
157
+ - **Horizontal Rules**: `---`, `***`, `___`
158
+ - **Text Styles**:
159
+ - Bold: `**bold**` or `__bold__`
160
+ - Italic: `*italic*` or `_italic_`
161
+ - Bold Italic: `***bold italic***` or `___bold italic___`
149
162
  - **Code Blocks** (fenced and indented):
150
163
  ````markdown
151
164
  ```js
152
165
  console.log('Hello, world!');
153
166
  ```
154
167
  ````
168
+
155
169
  ### Proposed for Future Implementation:
156
- - **Emphasis**:
157
- - **Bold**: `**bold text**` or `__bold text__`
158
- - _Italic_: `*italic text*` or `_italic text_`
159
- - **_Bold Italic_**: `***bold italic***`
160
170
  - **Blockquotes**:
161
171
  ```markdown
162
172
  > This is a blockquote.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const W=require("marked");var r=(t=>(t.Heading="heading",t.Paragraph="paragraph",t.List="list",t.ListItem="list_item",t.Blockquote="blockquote",t.Code="code",t.CodeSpan="codespan",t.Table="table",t.Html="html",t.Hr="hr",t.Image="image",t.Link="link",t.Strong="strong",t.Em="em",t.TableHeader="table_header",t.TableCell="table_cell",t.Raw="raw",t.Text="text",t))(r||{});const S=async t=>{const a=await W.marked.lexer(t,{async:!0});return p(a)},p=t=>{const a=[];return t.forEach(e=>{try{const g=m[e.type];g?a.push(g(e)):a.push({type:r.Raw,content:e.raw})}catch(g){console.error("Failed to handle token ==>",e,g)}}),a},m={[r.Heading]:t=>({type:r.Heading,depth:t.depth,content:t.text,items:t.tokens?p(t.tokens):[]}),[r.Paragraph]:t=>({type:r.Paragraph,content:t.text,items:t.tokens?p(t.tokens):[]}),[r.List]:t=>({type:r.List,ordered:t.ordered,start:t.start,items:t.items?p(t.items):[]}),[r.ListItem]:t=>({type:r.ListItem,content:t.text,items:t.tokens?p(t.tokens):[]}),[r.Code]:t=>({type:r.Code,lang:t.lang,code:t.text}),[r.Table]:t=>({type:r.Table,header:t.header.map(a=>({type:r.TableHeader,content:a})),rows:t.rows.map(a=>a.map(e=>({type:r.TableCell,content:e})))}),[r.Image]:t=>({type:r.Image,src:t.href,alt:t.text}),[r.Link]:t=>({type:r.Link,href:t.href,text:t.text,items:t.tokens?p(t.tokens):[]}),[r.Strong]:t=>({type:r.Strong,content:t.text,items:t.tokens?p(t.tokens):[]}),[r.Em]:t=>({type:r.Em,content:t.text,items:t.tokens?p(t.tokens):[]}),[r.Text]:t=>({type:r.Text,content:t.text,items:t.tokens?p(t.tokens):[]}),[r.Hr]:t=>({type:r.Hr,content:t.raw,items:t.tokens?p(t.tokens):[]}),[r.CodeSpan]:t=>({type:r.CodeSpan,content:t.text,items:t.tokens?p(t.tokens):[]})},c=(t,a)=>{var e,g;typeof a.pageBreakHandler=="function"?a.pageBreakHandler():t.addPage((e=a.page)==null?void 0:e.format,(g=a.page)==null?void 0:g.orientation)},d=(t,a)=>t.getTextDimensions("H").h*a.page.defaultLineHeightFactor,w=(t,a,e,g,i,n)=>{const s=6-((a==null?void 0:a.depth)??0)>0?6-((a==null?void 0:a.depth)??0):0;if(t.setFontSize(i.page.defaultFontSize+s),a!=null&&a.items&&(a==null?void 0:a.items.length)>0)for(const x of(a==null?void 0:a.items)??[])e=n(x,g,!1);else t.text((a==null?void 0:a.content)??"",e.x+g,e.y,{align:"left",maxWidth:i.page.maxContentWidth-g}),e.y+=1.5*d(t,i);return t.setFontSize(i.page.defaultFontSize),e},L=(t,a,e,g,i,n,s,x,y)=>{const l=(x-e)/(a.length-1);let h=i;const f=n+g*s;for(const b of a)t.text(b.text,h,f,{align:"justify",lineHeightFactor:y,maxWidth:x}),h+=b.wordLength+l},z=(t,a,e,g,i,n,s,x)=>{const y=t.map(l=>l.text).join(" ");a.text(y,e,g+i*n,{align:"justify",lineHeightFactor:x,maxWidth:s})},H=(t,a,e,g,i,n)=>{const s={x:e,y:g},x=t.getTextDimensions("A").h*n,y=a.split(" ");let l=0,h=[],f=0;for(const b of y){const C=t.getTextWidth(b+"a");C+f>=i&&(L(t,h,f,l++,e,g,x,i,n),h=[],f=0),h.push({text:b,wordLength:C}),f+=C}return h.length>0&&z(h,t,e,g,l,x,i,n),s.y=g+l*x,s.x=t.getTextWidth(a)+e,s},E=(t,a,e,g,i,n)=>{t.setFontSize(i.page.defaultFontSize);let s=a.content;const x=t.getTextDimensions("A").h*i.page.defaultLineHeightFactor;if(a!=null&&a.items&&(a==null?void 0:a.items.length)>0)for(const y of(a==null?void 0:a.items)??[])e=n(y,g,!1);else{if(e.y+t.splitTextToSize(s??"",i.page.maxContentWidth-g).length*x-3*x>=i.page.maxContentHeight){const y=t.splitTextToSize(s??"",i.page.maxContentWidth-g),l=[],h=e.y;for(let f=0;f<y.length;f++)if(e.y-2*x<i.page.maxContentHeight)l.push(y[f]),e.y+=i.page.lineSpace;else{f<=y.length-1&&(s=y.slice(f).join(""));break}l.length>0&&(e=H(t,l.join(" "),e.x+g,h,i.page.maxContentWidth-g,i.page.defaultLineHeightFactor)),c(t,i),e.y=i.page.topmargin}e.y=H(t,s??"",e.x+g,e.y,i.page.maxContentWidth-g,i.page.defaultLineHeightFactor).y+d(t,i),e.x=i.page.xpading}return e},I=(t,a,e,g,i,n)=>{var s;t.setFontSize(i.page.defaultFontSize);for(const[x,y]of((s=a==null?void 0:a.items)==null?void 0:s.entries())??[]){const l=a.ordered?(a.start??0)+x:a.start;e=n(y,g+1,!0,l,a.ordered),e.y+=d(t,i)*.2}return e},F=(t,a,e,g,i)=>{const n=t.getFont().fontName,s=t.getFont().fontStyle,x=t.getFontSize(),y=h=>{switch(h){case"normal":return 0;case"bold":return 1;case"italic":return 1.5;case"bolditalic":return 2.5;default:return 0}},l=(h,f)=>{f==="bold"?t.setFont(i.font.bold.name&&i.font.bold.name!==""?i.font.bold.name:n,i.font.bold.style||"bold"):f==="italic"?t.setFont(i.font.regular.name,"italic"):f==="bolditalic"?t.setFont(i.font.bold.name&&i.font.bold.name!==""?i.font.bold.name:n,"bolditalic"):t.setFont(i.font.regular.name,s);const b=t.getTextWidth(h);e.x+b>i.page.xpading+i.page.maxContentWidth&&(e.x=i.page.xpading,e.y+=d(t,i));const C=t.getTextWidth(" ");t.text(h,e.x+g,e.y,{baseline:"top"}),e.x+=b+C*y(f)+(f==="normal"?g*.7:0)};if(a.type==="text"&&a.items&&a.items.length>0)for(const h of a.items)if(h.type==="em"||h.type==="strong"){const f=h.type==="em"?"italic":"bold";if(h.items&&h.items.length>0)for(const b of h.items)b.type==="strong"&&f==="italic"||b.type==="em"&&f==="bold"?l(b.content||"","bolditalic"):l(b.content||"",f);else l(h.content||"",f)}else l(h.content||"","normal");else a.type==="em"?l(a.content||"","italic"):a.type==="strong"?l(a.content||"","bold"):l(a.content||"","normal");return t.setFont(n,s),t.setFontSize(x),e},u=(t,a,e,g,i,n,s,x)=>{const y=g*i.page.indent,l=x?`${s}. `:"• ";if(e.y+d(t,i)>=i.page.maxContentHeight&&(c(t,i),e.y=i.page.topmargin),t.setFont(i.font.regular.name,i.font.regular.style),t.text(l,e.x+y,e.y,{baseline:"top"}),e.x+=t.getTextWidth(l),a.items&&a.items.length>0)for(const h of a.items)e=F(t,h,e,y,i);else a.content&&(t.text(a.content,e.x,e.y,{baseline:"top"}),e.x+=t.getTextWidth(a.content));return e.y+=d(t,i),e.x=i.page.xpading,e},P=(t,a,e,g,i,n,s,x,y,l=!0)=>{if(a!=null&&a.items&&(a==null?void 0:a.items.length)>0)for(const h of(a==null?void 0:a.items)??[])e=s(h,g,i,x,y,l);else{const h=g*n.page.indent,f=i?y?`${x}. `:"• ":"",b=t.splitTextToSize(f+a.content,n.page.maxContentWidth-h);e.y+b.length*d(t,n)>=n.page.maxContentHeight&&(c(t,n),e.y=n.page.topmargin),l?(e.y=H(t,f+a.content,e.x+h,e.y,n.page.maxContentWidth-h,n.page.defaultLineHeightFactor).y+d(t,n),e.x=n.page.xpading):(t.text(f+a.content,e.x+h,e.y,{baseline:"top"}),e.x+=t.getTextWidth(f+a.content),e.x>=n.page.xpading+n.page.maxContentWidth&&(c(t,n),e.x=n.page.xpading,e.y+=d(t,n)))}return e},T=(t,a,e)=>{const g=t.internal.pageSize.getWidth();return t.setLineDashPattern([1,1],0),t.setLineWidth(.1),t.line(e.page.xpading,a.y,g-e.page.xpading,a.y),t.setLineWidth(.1),t.setLineDashPattern([],0),a.y+=d(t,e),a},j=(t,a,e,g,i,n)=>{const s=g*n.page.indent;e.y+t.splitTextToSize(a.code??"",n.page.maxContentWidth-s).length*d(t,n)-2*d(t,n)>=n.page.maxContentHeight&&(c(t,n),e.y=n.page.topmargin);const x=t.splitTextToSize(a.code??"",n.page.maxContentWidth-s).length*d(t,n);return e.y+=n.page.lineSpace,t.setFillColor("#EEEEEE"),t.setDrawColor("#eee"),t.roundedRect(e.x,e.y-n.page.lineSpace,n.page.maxContentWidth,x,2,2,"FD"),t.setFontSize(10),t.text(a.lang??"",e.x+n.page.maxContentWidth-t.getTextWidth(a.lang??"")-n.page.lineSpace/2,e.y),t.setFontSize(n.page.defaultFontSize),t.text(a.code??"",e.x+4,e.y),e.y+=x,e},R=async(t,a,e)=>{const g=await S(a);console.log(g);let i={x:e.cursor.x,y:e.cursor.y};const n=(s,x=0,y=!1,l=0,h=!1,f=!0)=>{const b=x*e.page.indent;switch(i.y+t.splitTextToSize(s.content??"",e.page.maxContentWidth-b).length*d(t,e)>=e.page.maxContentHeight&&(c(t,e),i.y=e.page.topmargin),s.type){case r.Heading:i=w(t,s,i,b,e,n);break;case r.Paragraph:i=E(t,s,i,b,e,n);break;case r.List:i=I(t,s,i,x,e,n);break;case r.ListItem:i=u(t,s,i,x,e,n,l,h);break;case r.Hr:i=T(t,i,e);break;case r.Code:i=j(t,s,i,x,y,e);break;case r.Strong:case r.Em:i=F(t,s,i,b,e);break;case r.Raw:case r.Text:i=P(t,s,i,x,y,e,n,l,h,f);break;default:console.warn(`Warning: Unsupported element type encountered: ${s.type}.
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const W=require("marked");var s=(t=>(t.Heading="heading",t.Paragraph="paragraph",t.List="list",t.ListItem="list_item",t.Blockquote="blockquote",t.Code="code",t.CodeSpan="codespan",t.Table="table",t.Html="html",t.Hr="hr",t.Image="image",t.Link="link",t.Strong="strong",t.Em="em",t.TableHeader="table_header",t.TableCell="table_cell",t.Raw="raw",t.Text="text",t))(s||{});const S=async t=>{const a=await W.marked.lexer(t,{async:!0});return d(a)},d=t=>{const a=[];return t.forEach(e=>{try{const g=m[e.type];g?a.push(g(e)):a.push({type:s.Raw,content:e.raw})}catch(g){console.error("Failed to handle token ==>",e,g)}}),a},m={[s.Heading]:t=>({type:s.Heading,depth:t.depth,content:t.text,items:t.tokens?d(t.tokens):[]}),[s.Paragraph]:t=>({type:s.Paragraph,content:t.text,items:t.tokens?d(t.tokens):[]}),[s.List]:t=>({type:s.List,ordered:t.ordered,start:t.start,items:t.items?d(t.items):[]}),[s.ListItem]:t=>({type:s.ListItem,content:t.text,items:t.tokens?d(t.tokens):[]}),[s.Code]:t=>({type:s.Code,lang:t.lang,code:t.text}),[s.Table]:t=>({type:s.Table,header:t.header.map(a=>({type:s.TableHeader,content:a})),rows:t.rows.map(a=>a.map(e=>({type:s.TableCell,content:e})))}),[s.Image]:t=>({type:s.Image,src:t.href,alt:t.text}),[s.Link]:t=>({type:s.Link,href:t.href,text:t.text,items:t.tokens?d(t.tokens):[]}),[s.Strong]:t=>({type:s.Strong,content:t.text,items:t.tokens?d(t.tokens):[]}),[s.Em]:t=>({type:s.Em,content:t.text,items:t.tokens?d(t.tokens):[]}),[s.Text]:t=>({type:s.Text,content:t.text,items:t.tokens?d(t.tokens):[]}),[s.Hr]:t=>({type:s.Hr,content:t.raw,items:t.tokens?d(t.tokens):[]}),[s.CodeSpan]:t=>({type:s.CodeSpan,content:t.text,items:t.tokens?d(t.tokens):[]})},c=(t,a)=>{var e,g;typeof a.pageBreakHandler=="function"?a.pageBreakHandler():t.addPage((e=a.page)==null?void 0:e.format,(g=a.page)==null?void 0:g.orientation)},p=(t,a)=>t.getTextDimensions("H").h*a.page.defaultLineHeightFactor,w=(t,a,e,g,i,n)=>{const h=6-((a==null?void 0:a.depth)??0)>0?6-((a==null?void 0:a.depth)??0):0;if(t.setFontSize(i.page.defaultFontSize+h),a!=null&&a.items&&(a==null?void 0:a.items.length)>0)for(const f of(a==null?void 0:a.items)??[])e=n(f,g,!1);else t.text((a==null?void 0:a.content)??"",e.x+g,e.y,{align:"left",maxWidth:i.page.maxContentWidth-g}),e.y+=1.5*p(t,i);return t.setFontSize(i.page.defaultFontSize),e},L=(t,a,e,g,i,n,h,f,y)=>{const l=(f-e)/(a.length-1);let r=i;const x=n+g*h;for(const b of a)t.text(b.text,r,x,{align:"justify",lineHeightFactor:y,maxWidth:f}),r+=b.wordLength+l},z=(t,a,e,g,i,n,h,f)=>{const y=t.map(l=>l.text).join(" ");a.text(y,e,g+i*n,{align:"justify",lineHeightFactor:f,maxWidth:h})},H=(t,a,e,g,i,n)=>{const h={x:e,y:g},f=t.getTextDimensions("A").h*n,y=a.split(" ");let l=0,r=[],x=0;for(const b of y){const C=t.getTextWidth(b+"a");C+x>=i&&(L(t,r,x,l++,e,g,f,i,n),r=[],x=0),r.push({text:b,wordLength:C}),x+=C}return r.length>0&&z(r,t,e,g,l,f,i,n),h.y=g+l*f,h.x=t.getTextWidth(a)+e,h},I=(t,a,e,g,i,n)=>{t.setFontSize(i.page.defaultFontSize);let h=a.content;const f=t.getTextDimensions("A").h*i.page.defaultLineHeightFactor;if(a!=null&&a.items&&(a==null?void 0:a.items.length)>0)for(const y of(a==null?void 0:a.items)??[])e=n(y,g,!1);else{if(e.y+t.splitTextToSize(h??"",i.page.maxContentWidth-g).length*f-3*f>=i.page.maxContentHeight){const y=t.splitTextToSize(h??"",i.page.maxContentWidth-g),l=[],r=e.y;for(let x=0;x<y.length;x++)if(e.y-2*f<i.page.maxContentHeight)l.push(y[x]),e.y+=i.page.lineSpace;else{x<=y.length-1&&(h=y.slice(x).join(""));break}l.length>0&&(e=H(t,l.join(" "),e.x+g,r,i.page.maxContentWidth-g,i.page.defaultLineHeightFactor)),c(t,i),e.y=i.page.topmargin}e.y=H(t,h??"",e.x+g,e.y,i.page.maxContentWidth-g,i.page.defaultLineHeightFactor).y+p(t,i),e.x=i.page.xpading}return e},u=(t,a,e,g,i,n)=>{var h;t.setFontSize(i.page.defaultFontSize);for(const[f,y]of((h=a==null?void 0:a.items)==null?void 0:h.entries())??[]){const l=a.ordered?(a.start??0)+f:a.start;e=n(y,g+1,!0,l,a.ordered),e.y+=p(t,i)*.2}return e},F=(t,a,e,g,i)=>{const n=t.getFont().fontName,h=t.getFont().fontStyle,f=t.getFontSize(),y=r=>{switch(r){case"normal":return 0;case"bold":return 1;case"italic":return 1.5;case"bolditalic":return 2.5;default:return 0}},l=(r,x)=>{x==="bold"?t.setFont(i.font.bold.name&&i.font.bold.name!==""?i.font.bold.name:n,i.font.bold.style||"bold"):x==="italic"?t.setFont(i.font.regular.name,"italic"):x==="bolditalic"?t.setFont(i.font.bold.name&&i.font.bold.name!==""?i.font.bold.name:n,"bolditalic"):t.setFont(i.font.regular.name,h);const b=t.getTextWidth(r);e.x+b>i.page.xpading+i.page.maxContentWidth&&(e.x=i.page.xpading,e.y+=p(t,i));const C=t.getTextWidth(" ");t.text(r,e.x+g,e.y,{baseline:"top"}),e.x+=b+C*y(x)+(x==="normal"?g*.7:0)};if(a.type==="text"&&a.items&&a.items.length>0)for(const r of a.items)if(r.type==="em"||r.type==="strong"){const x=r.type==="em"?"italic":"bold";if(r.items&&r.items.length>0)for(const b of r.items)b.type==="strong"&&x==="italic"||b.type==="em"&&x==="bold"?l(b.content||"","bolditalic"):l(b.content||"",x);else l(r.content||"",x)}else l(r.content||"","normal");else a.type==="em"?l(a.content||"","italic"):a.type==="strong"?l(a.content||"","bold"):l(a.content||"","normal");return t.setFont(n,h),t.setFontSize(f),e},E=(t,a,e,g,i,n,h,f)=>{const y=g*i.page.indent,l=f?`${h}. `:"• ";e.y+p(t,i)>=i.page.maxContentHeight&&(c(t,i),e.y=i.page.topmargin),t.setFont(i.font.regular.name,i.font.regular.style),t.text(l,e.x+y,e.y,{baseline:"top"});const r=t.getTextWidth(l);if(e.x+=r,a.items&&a.items.length>0)for(const x of a.items){if(e.y+p(t,i)>=i.page.maxContentHeight&&(c(t,i),e.y=i.page.topmargin),x.type===s.List)n(x,g+1,!0,h,x.ordered??!1);else if(x.type===s.ListItem){const b=a.type===s.List?g:g+1;n(x,b,!0,h,f)}else e=F(t,x,e,y,i);e.x=i.page.xpading,e.y+=p(t,i)}else if(a.content){t.text(a.content,e.x+y,e.y,{baseline:"top"});const x=t.getTextWidth(a.content);e.x+=x}return e},P=(t,a,e,g,i,n,h,f,y,l=!0)=>{if(a!=null&&a.items&&(a==null?void 0:a.items.length)>0)for(const r of(a==null?void 0:a.items)??[])e=h(r,g,i,f,y,l);else{const r=g*n.page.indent,x=i?y?`${f}. `:"• ":"",b=t.splitTextToSize(x+a.content,n.page.maxContentWidth-r);e.y+b.length*p(t,n)>=n.page.maxContentHeight&&(c(t,n),e.y=n.page.topmargin),l?(e.y=H(t,x+a.content,e.x+r,e.y,n.page.maxContentWidth-r,n.page.defaultLineHeightFactor).y+p(t,n),e.x=n.page.xpading):(t.text(x+a.content,e.x+r,e.y,{baseline:"top"}),e.x+=t.getTextWidth(x+a.content),e.x>=n.page.xpading+n.page.maxContentWidth&&(c(t,n),e.x=n.page.xpading,e.y+=p(t,n)))}return e},T=(t,a,e)=>{const g=t.internal.pageSize.getWidth();return t.setLineDashPattern([1,1],0),t.setLineWidth(.1),t.line(e.page.xpading,a.y,g-e.page.xpading,a.y),t.setLineWidth(.1),t.setLineDashPattern([],0),a.y+=p(t,e),a},j=(t,a,e,g,i,n)=>{const h=g*n.page.indent;e.y+t.splitTextToSize(a.code??"",n.page.maxContentWidth-h).length*p(t,n)-2*p(t,n)>=n.page.maxContentHeight&&(c(t,n),e.y=n.page.topmargin);const f=t.splitTextToSize(a.code??"",n.page.maxContentWidth-h).length*p(t,n);return e.y+=n.page.lineSpace,t.setFillColor("#EEEEEE"),t.setDrawColor("#eee"),t.roundedRect(e.x,e.y-n.page.lineSpace,n.page.maxContentWidth,f,2,2,"FD"),t.setFontSize(10),t.text(a.lang??"",e.x+n.page.maxContentWidth-t.getTextWidth(a.lang??"")-n.page.lineSpace/2,e.y),t.setFontSize(n.page.defaultFontSize),t.text(a.code??"",e.x+4,e.y),e.y+=f,e},D=async(t,a,e)=>{const g=await S(a);console.log(g);let i={x:e.cursor.x,y:e.cursor.y};const n=(h,f=0,y=!1,l=0,r=!1,x=!0)=>{const b=f*e.page.indent;switch(i.y+t.splitTextToSize(h.content??"",e.page.maxContentWidth-b).length*p(t,e)>=e.page.maxContentHeight&&(c(t,e),i.y=e.page.topmargin),h.type){case s.Heading:i=w(t,h,i,b,e,n);break;case s.Paragraph:i=I(t,h,i,b,e,n);break;case s.List:i=u(t,h,i,f,e,n);break;case s.ListItem:i=E(t,h,i,f,e,n,l,r);break;case s.Hr:i=T(t,i,e);break;case s.Code:i=j(t,h,i,f,y,e);break;case s.Strong:case s.Em:i=F(t,h,i,b,e);break;case s.Raw:case s.Text:i=P(t,h,i,f,y,e,n,l,r,x);break;default:console.warn(`Warning: Unsupported element type encountered: ${h.type}.
2
2
  If you believe this element type should be supported, please create an issue at:
3
3
  https://github.com/JeelGajera/jspdf-md-renderer/issues
4
- with details of the element and expected behavior. Thank you for helping improve this library!`);break}return i};for(const s of g)n(s);e.endCursorYHandler(i.y)};exports.MdTextParser=S;exports.MdTextRender=R;
4
+ with details of the element and expected behavior. Thank you for helping improve this library!`);break}return i};for(const h of g)n(h);e.endCursorYHandler(i.y)};exports.MdTextParser=S;exports.MdTextRender=D;
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
- import { marked as S } from "marked";
2
- var h = /* @__PURE__ */ ((t) => (t.Heading = "heading", t.Paragraph = "paragraph", t.List = "list", t.ListItem = "list_item", t.Blockquote = "blockquote", t.Code = "code", t.CodeSpan = "codespan", t.Table = "table", t.Html = "html", t.Hr = "hr", t.Image = "image", t.Link = "link", t.Strong = "strong", t.Em = "em", t.TableHeader = "table_header", t.TableCell = "table_cell", t.Raw = "raw", t.Text = "text", t))(h || {});
3
- const W = async (t) => {
4
- const a = await S.lexer(t, { async: !0 });
1
+ import { marked as W } from "marked";
2
+ var s = /* @__PURE__ */ ((t) => (t.Heading = "heading", t.Paragraph = "paragraph", t.List = "list", t.ListItem = "list_item", t.Blockquote = "blockquote", t.Code = "code", t.CodeSpan = "codespan", t.Table = "table", t.Html = "html", t.Hr = "hr", t.Image = "image", t.Link = "link", t.Strong = "strong", t.Em = "em", t.TableHeader = "table_header", t.TableCell = "table_cell", t.Raw = "raw", t.Text = "text", t))(s || {});
3
+ const S = async (t) => {
4
+ const a = await W.lexer(t, { async: !0 });
5
5
  return d(a);
6
6
  }, d = (t) => {
7
7
  const a = [];
@@ -9,7 +9,7 @@ const W = async (t) => {
9
9
  try {
10
10
  const g = m[e.type];
11
11
  g ? a.push(g(e)) : a.push({
12
- type: h.Raw,
12
+ type: s.Raw,
13
13
  content: e.raw
14
14
  });
15
15
  } catch (g) {
@@ -17,79 +17,79 @@ const W = async (t) => {
17
17
  }
18
18
  }), a;
19
19
  }, m = {
20
- [h.Heading]: (t) => ({
21
- type: h.Heading,
20
+ [s.Heading]: (t) => ({
21
+ type: s.Heading,
22
22
  depth: t.depth,
23
23
  content: t.text,
24
24
  items: t.tokens ? d(t.tokens) : []
25
25
  }),
26
- [h.Paragraph]: (t) => ({
27
- type: h.Paragraph,
26
+ [s.Paragraph]: (t) => ({
27
+ type: s.Paragraph,
28
28
  content: t.text,
29
29
  items: t.tokens ? d(t.tokens) : []
30
30
  }),
31
- [h.List]: (t) => ({
32
- type: h.List,
31
+ [s.List]: (t) => ({
32
+ type: s.List,
33
33
  ordered: t.ordered,
34
34
  start: t.start,
35
35
  items: t.items ? d(t.items) : []
36
36
  }),
37
- [h.ListItem]: (t) => ({
38
- type: h.ListItem,
37
+ [s.ListItem]: (t) => ({
38
+ type: s.ListItem,
39
39
  content: t.text,
40
40
  items: t.tokens ? d(t.tokens) : []
41
41
  }),
42
- [h.Code]: (t) => ({
43
- type: h.Code,
42
+ [s.Code]: (t) => ({
43
+ type: s.Code,
44
44
  lang: t.lang,
45
45
  code: t.text
46
46
  }),
47
- [h.Table]: (t) => ({
48
- type: h.Table,
47
+ [s.Table]: (t) => ({
48
+ type: s.Table,
49
49
  header: t.header.map((a) => ({
50
- type: h.TableHeader,
50
+ type: s.TableHeader,
51
51
  content: a
52
52
  })),
53
53
  rows: t.rows.map(
54
54
  (a) => a.map((e) => ({
55
- type: h.TableCell,
55
+ type: s.TableCell,
56
56
  content: e
57
57
  }))
58
58
  )
59
59
  }),
60
- [h.Image]: (t) => ({
61
- type: h.Image,
60
+ [s.Image]: (t) => ({
61
+ type: s.Image,
62
62
  src: t.href,
63
63
  alt: t.text
64
64
  }),
65
- [h.Link]: (t) => ({
66
- type: h.Link,
65
+ [s.Link]: (t) => ({
66
+ type: s.Link,
67
67
  href: t.href,
68
68
  text: t.text,
69
69
  items: t.tokens ? d(t.tokens) : []
70
70
  }),
71
- [h.Strong]: (t) => ({
72
- type: h.Strong,
71
+ [s.Strong]: (t) => ({
72
+ type: s.Strong,
73
73
  content: t.text,
74
74
  items: t.tokens ? d(t.tokens) : []
75
75
  }),
76
- [h.Em]: (t) => ({
77
- type: h.Em,
76
+ [s.Em]: (t) => ({
77
+ type: s.Em,
78
78
  content: t.text,
79
79
  items: t.tokens ? d(t.tokens) : []
80
80
  }),
81
- [h.Text]: (t) => ({
82
- type: h.Text,
81
+ [s.Text]: (t) => ({
82
+ type: s.Text,
83
83
  content: t.text,
84
84
  items: t.tokens ? d(t.tokens) : []
85
85
  }),
86
- [h.Hr]: (t) => ({
87
- type: h.Hr,
86
+ [s.Hr]: (t) => ({
87
+ type: s.Hr,
88
88
  content: t.raw,
89
89
  items: t.tokens ? d(t.tokens) : []
90
90
  }),
91
- [h.CodeSpan]: (t) => ({
92
- type: h.CodeSpan,
91
+ [s.CodeSpan]: (t) => ({
92
+ type: s.CodeSpan,
93
93
  content: t.text,
94
94
  items: t.tokens ? d(t.tokens) : []
95
95
  })
@@ -97,8 +97,8 @@ const W = async (t) => {
97
97
  var e, g;
98
98
  typeof a.pageBreakHandler == "function" ? a.pageBreakHandler() : t.addPage((e = a.page) == null ? void 0 : e.format, (g = a.page) == null ? void 0 : g.orientation);
99
99
  }, p = (t, a) => t.getTextDimensions("H").h * a.page.defaultLineHeightFactor, w = (t, a, e, g, i, n) => {
100
- const s = 6 - ((a == null ? void 0 : a.depth) ?? 0) > 0 ? 6 - ((a == null ? void 0 : a.depth) ?? 0) : 0;
101
- if (t.setFontSize(i.page.defaultFontSize + s), a != null && a.items && (a == null ? void 0 : a.items.length) > 0)
100
+ const h = 6 - ((a == null ? void 0 : a.depth) ?? 0) > 0 ? 6 - ((a == null ? void 0 : a.depth) ?? 0) : 0;
101
+ if (t.setFontSize(i.page.defaultFontSize + h), a != null && a.items && (a == null ? void 0 : a.items.length) > 0)
102
102
  for (const r of (a == null ? void 0 : a.items) ?? [])
103
103
  e = n(r, g, !1);
104
104
  else
@@ -107,88 +107,88 @@ const W = async (t) => {
107
107
  maxWidth: i.page.maxContentWidth - g
108
108
  }), e.y += 1.5 * p(t, i);
109
109
  return t.setFontSize(i.page.defaultFontSize), e;
110
- }, L = (t, a, e, g, i, n, s, r, y) => {
111
- const f = (r - e) / (a.length - 1);
112
- let x = i;
113
- const l = n + g * s;
110
+ }, L = (t, a, e, g, i, n, h, r, y) => {
111
+ const l = (r - e) / (a.length - 1);
112
+ let f = i;
113
+ const x = n + g * h;
114
114
  for (const b of a)
115
- t.text(b.text, x, l, {
115
+ t.text(b.text, f, x, {
116
116
  align: "justify",
117
117
  lineHeightFactor: y,
118
118
  maxWidth: r
119
- }), x += b.wordLength + f;
120
- }, z = (t, a, e, g, i, n, s, r) => {
121
- const y = t.map((f) => f.text).join(" ");
119
+ }), f += b.wordLength + l;
120
+ }, z = (t, a, e, g, i, n, h, r) => {
121
+ const y = t.map((l) => l.text).join(" ");
122
122
  a.text(y, e, g + i * n, {
123
123
  align: "justify",
124
124
  lineHeightFactor: r,
125
- maxWidth: s
125
+ maxWidth: h
126
126
  });
127
127
  }, H = (t, a, e, g, i, n) => {
128
- const s = {
128
+ const h = {
129
129
  x: e,
130
130
  y: g
131
131
  }, r = t.getTextDimensions("A").h * n, y = a.split(" ");
132
- let f = 0, x = [], l = 0;
132
+ let l = 0, f = [], x = 0;
133
133
  for (const b of y) {
134
134
  const C = t.getTextWidth(b + "a");
135
- C + l >= i && (L(
135
+ C + x >= i && (L(
136
136
  t,
137
+ f,
137
138
  x,
138
- l,
139
- f++,
139
+ l++,
140
140
  e,
141
141
  g,
142
142
  r,
143
143
  i,
144
144
  n
145
- ), x = [], l = 0), x.push({ text: b, wordLength: C }), l += C;
145
+ ), f = [], x = 0), f.push({ text: b, wordLength: C }), x += C;
146
146
  }
147
- return x.length > 0 && z(
148
- x,
147
+ return f.length > 0 && z(
148
+ f,
149
149
  t,
150
150
  e,
151
151
  g,
152
- f,
152
+ l,
153
153
  r,
154
154
  i,
155
155
  n
156
- ), s.y = g + f * r, s.x = t.getTextWidth(a) + e, s;
157
- }, E = (t, a, e, g, i, n) => {
156
+ ), h.y = g + l * r, h.x = t.getTextWidth(a) + e, h;
157
+ }, I = (t, a, e, g, i, n) => {
158
158
  t.setFontSize(i.page.defaultFontSize);
159
- let s = a.content;
159
+ let h = a.content;
160
160
  const r = t.getTextDimensions("A").h * i.page.defaultLineHeightFactor;
161
161
  if (a != null && a.items && (a == null ? void 0 : a.items.length) > 0)
162
162
  for (const y of (a == null ? void 0 : a.items) ?? [])
163
163
  e = n(y, g, !1);
164
164
  else {
165
165
  if (e.y + t.splitTextToSize(
166
- s ?? "",
166
+ h ?? "",
167
167
  i.page.maxContentWidth - g
168
168
  ).length * r - 3 * r >= i.page.maxContentHeight) {
169
169
  const y = t.splitTextToSize(
170
- s ?? "",
170
+ h ?? "",
171
171
  i.page.maxContentWidth - g
172
- ), f = [], x = e.y;
173
- for (let l = 0; l < y.length; l++)
172
+ ), l = [], f = e.y;
173
+ for (let x = 0; x < y.length; x++)
174
174
  if (e.y - 2 * r < i.page.maxContentHeight)
175
- f.push(y[l]), e.y += i.page.lineSpace;
175
+ l.push(y[x]), e.y += i.page.lineSpace;
176
176
  else {
177
- l <= y.length - 1 && (s = y.slice(l).join(""));
177
+ x <= y.length - 1 && (h = y.slice(x).join(""));
178
178
  break;
179
179
  }
180
- f.length > 0 && (e = H(
180
+ l.length > 0 && (e = H(
181
181
  t,
182
- f.join(" "),
182
+ l.join(" "),
183
183
  e.x + g,
184
- x,
184
+ f,
185
185
  i.page.maxContentWidth - g,
186
186
  i.page.defaultLineHeightFactor
187
187
  )), c(t, i), e.y = i.page.topmargin;
188
188
  }
189
189
  e.y = H(
190
190
  t,
191
- s ?? "",
191
+ h ?? "",
192
192
  e.x + g,
193
193
  e.y,
194
194
  i.page.maxContentWidth - g,
@@ -196,23 +196,23 @@ const W = async (t) => {
196
196
  ).y + p(t, i), e.x = i.page.xpading;
197
197
  }
198
198
  return e;
199
- }, I = (t, a, e, g, i, n) => {
200
- var s;
199
+ }, E = (t, a, e, g, i, n) => {
200
+ var h;
201
201
  t.setFontSize(i.page.defaultFontSize);
202
- for (const [r, y] of ((s = a == null ? void 0 : a.items) == null ? void 0 : s.entries()) ?? []) {
203
- const f = a.ordered ? (a.start ?? 0) + r : a.start;
202
+ for (const [r, y] of ((h = a == null ? void 0 : a.items) == null ? void 0 : h.entries()) ?? []) {
203
+ const l = a.ordered ? (a.start ?? 0) + r : a.start;
204
204
  e = n(
205
205
  y,
206
206
  g + 1,
207
207
  !0,
208
- f,
208
+ l,
209
209
  a.ordered
210
210
  ), e.y += p(t, i) * 0.2;
211
211
  }
212
212
  return e;
213
213
  }, F = (t, a, e, g, i) => {
214
- const n = t.getFont().fontName, s = t.getFont().fontStyle, r = t.getFontSize(), y = (x) => {
215
- switch (x) {
214
+ const n = t.getFont().fontName, h = t.getFont().fontStyle, r = t.getFontSize(), y = (f) => {
215
+ switch (f) {
216
216
  case "normal":
217
217
  return 0;
218
218
  case "bold":
@@ -224,80 +224,99 @@ const W = async (t) => {
224
224
  default:
225
225
  return 0;
226
226
  }
227
- }, f = (x, l) => {
228
- l === "bold" ? t.setFont(
227
+ }, l = (f, x) => {
228
+ x === "bold" ? t.setFont(
229
229
  i.font.bold.name && i.font.bold.name !== "" ? i.font.bold.name : n,
230
230
  i.font.bold.style || "bold"
231
- ) : l === "italic" ? t.setFont(i.font.regular.name, "italic") : l === "bolditalic" ? t.setFont(
231
+ ) : x === "italic" ? t.setFont(i.font.regular.name, "italic") : x === "bolditalic" ? t.setFont(
232
232
  i.font.bold.name && i.font.bold.name !== "" ? i.font.bold.name : n,
233
233
  "bolditalic"
234
- ) : t.setFont(i.font.regular.name, s);
235
- const b = t.getTextWidth(x);
234
+ ) : t.setFont(i.font.regular.name, h);
235
+ const b = t.getTextWidth(f);
236
236
  e.x + b > i.page.xpading + i.page.maxContentWidth && (e.x = i.page.xpading, e.y += p(t, i));
237
237
  const C = t.getTextWidth(" ");
238
- t.text(x, e.x + g, e.y, { baseline: "top" }), e.x += b + C * y(l) + (l === "normal" ? g * 0.7 : 0);
238
+ t.text(f, e.x + g, e.y, { baseline: "top" }), e.x += b + C * y(x) + (x === "normal" ? g * 0.7 : 0);
239
239
  };
240
240
  if (a.type === "text" && a.items && a.items.length > 0)
241
- for (const x of a.items)
242
- if (x.type === "em" || x.type === "strong") {
243
- const l = x.type === "em" ? "italic" : "bold";
244
- if (x.items && x.items.length > 0)
245
- for (const b of x.items)
246
- b.type === "strong" && l === "italic" || b.type === "em" && l === "bold" ? f(
241
+ for (const f of a.items)
242
+ if (f.type === "em" || f.type === "strong") {
243
+ const x = f.type === "em" ? "italic" : "bold";
244
+ if (f.items && f.items.length > 0)
245
+ for (const b of f.items)
246
+ b.type === "strong" && x === "italic" || b.type === "em" && x === "bold" ? l(
247
247
  b.content || "",
248
248
  "bolditalic"
249
- ) : f(
249
+ ) : l(
250
250
  b.content || "",
251
- l
251
+ x
252
252
  );
253
253
  else
254
- f(x.content || "", l);
254
+ l(f.content || "", x);
255
255
  } else
256
- f(x.content || "", "normal");
257
- else a.type === "em" ? f(a.content || "", "italic") : a.type === "strong" ? f(a.content || "", "bold") : f(a.content || "", "normal");
258
- return t.setFont(n, s), t.setFontSize(r), e;
259
- }, P = (t, a, e, g, i, n, s, r) => {
260
- const y = g * i.page.indent, f = r ? `${s}. ` : "• ";
261
- if (e.y + p(t, i) >= i.page.maxContentHeight && (c(t, i), e.y = i.page.topmargin), t.setFont(i.font.regular.name, i.font.regular.style), t.text(f, e.x + y, e.y, { baseline: "top" }), e.x += t.getTextWidth(f), a.items && a.items.length > 0)
262
- for (const x of a.items)
263
- e = F(
264
- t,
265
- x,
266
- e,
267
- y,
268
- i
269
- );
270
- else a.content && (t.text(a.content, e.x, e.y, { baseline: "top" }), e.x += t.getTextWidth(a.content));
271
- return e.y += p(t, i), e.x = i.page.xpading, e;
272
- }, u = (t, a, e, g, i, n, s, r, y, f = !0) => {
256
+ l(f.content || "", "normal");
257
+ else a.type === "em" ? l(a.content || "", "italic") : a.type === "strong" ? l(a.content || "", "bold") : l(a.content || "", "normal");
258
+ return t.setFont(n, h), t.setFontSize(r), e;
259
+ }, u = (t, a, e, g, i, n, h, r) => {
260
+ const y = g * i.page.indent, l = r ? `${h}. ` : "• ";
261
+ e.y + p(t, i) >= i.page.maxContentHeight && (c(t, i), e.y = i.page.topmargin), t.setFont(i.font.regular.name, i.font.regular.style), t.text(l, e.x + y, e.y, { baseline: "top" });
262
+ const f = t.getTextWidth(l);
263
+ if (e.x += f, a.items && a.items.length > 0)
264
+ for (const x of a.items) {
265
+ if (e.y + p(t, i) >= i.page.maxContentHeight && (c(t, i), e.y = i.page.topmargin), x.type === s.List)
266
+ n(x, g + 1, !0, h, x.ordered ?? !1);
267
+ else if (x.type === s.ListItem) {
268
+ const b = a.type === s.List ? g : g + 1;
269
+ n(x, b, !0, h, r);
270
+ } else
271
+ e = F(
272
+ t,
273
+ x,
274
+ e,
275
+ y,
276
+ i
277
+ );
278
+ e.x = i.page.xpading, e.y += p(t, i);
279
+ }
280
+ else if (a.content) {
281
+ t.text(
282
+ a.content,
283
+ e.x + y,
284
+ e.y,
285
+ { baseline: "top" }
286
+ );
287
+ const x = t.getTextWidth(a.content);
288
+ e.x += x;
289
+ }
290
+ return e;
291
+ }, P = (t, a, e, g, i, n, h, r, y, l = !0) => {
273
292
  if (a != null && a.items && (a == null ? void 0 : a.items.length) > 0)
274
- for (const x of (a == null ? void 0 : a.items) ?? [])
275
- e = s(
276
- x,
293
+ for (const f of (a == null ? void 0 : a.items) ?? [])
294
+ e = h(
295
+ f,
277
296
  g,
278
297
  i,
279
298
  r,
280
299
  y,
281
- f
300
+ l
282
301
  );
283
302
  else {
284
- const x = g * n.page.indent, l = i ? y ? `${r}. ` : "• " : "", b = t.splitTextToSize(
285
- l + a.content,
286
- n.page.maxContentWidth - x
303
+ const f = g * n.page.indent, x = i ? y ? `${r}. ` : "• " : "", b = t.splitTextToSize(
304
+ x + a.content,
305
+ n.page.maxContentWidth - f
287
306
  );
288
- e.y + b.length * p(t, n) >= n.page.maxContentHeight && (c(t, n), e.y = n.page.topmargin), f ? (e.y = H(
307
+ e.y + b.length * p(t, n) >= n.page.maxContentHeight && (c(t, n), e.y = n.page.topmargin), l ? (e.y = H(
289
308
  t,
290
- l + a.content,
291
- e.x + x,
309
+ x + a.content,
310
+ e.x + f,
292
311
  e.y,
293
- n.page.maxContentWidth - x,
312
+ n.page.maxContentWidth - f,
294
313
  n.page.defaultLineHeightFactor
295
314
  ).y + p(t, n), e.x = n.page.xpading) : (t.text(
296
- l + a.content,
297
- e.x + x,
315
+ x + a.content,
316
+ e.x + f,
298
317
  e.y,
299
318
  { baseline: "top" }
300
- ), e.x += t.getTextWidth(l + a.content), e.x >= n.page.xpading + n.page.maxContentWidth && (c(t, n), e.x = n.page.xpading, e.y += p(t, n)));
319
+ ), e.x += t.getTextWidth(x + a.content), e.x >= n.page.xpading + n.page.maxContentWidth && (c(t, n), e.x = n.page.xpading, e.y += p(t, n)));
301
320
  }
302
321
  return e;
303
322
  }, j = (t, a, e) => {
@@ -309,14 +328,14 @@ const W = async (t) => {
309
328
  a.y
310
329
  ), t.setLineWidth(0.1), t.setLineDashPattern([], 0), a.y += p(t, e), a;
311
330
  }, D = (t, a, e, g, i, n) => {
312
- const s = g * n.page.indent;
331
+ const h = g * n.page.indent;
313
332
  e.y + t.splitTextToSize(
314
333
  a.code ?? "",
315
- n.page.maxContentWidth - s
334
+ n.page.maxContentWidth - h
316
335
  ).length * p(t, n) - 2 * p(t, n) >= n.page.maxContentHeight && (c(t, n), e.y = n.page.topmargin);
317
336
  const r = t.splitTextToSize(
318
337
  a.code ?? "",
319
- n.page.maxContentWidth - s
338
+ n.page.maxContentWidth - h
320
339
  ).length * p(t, n);
321
340
  return e.y += n.page.lineSpace, t.setFillColor("#EEEEEE"), t.setDrawColor("#eee"), t.roundedRect(
322
341
  e.x,
@@ -331,102 +350,102 @@ const W = async (t) => {
331
350
  e.x + n.page.maxContentWidth - t.getTextWidth(a.lang ?? "") - n.page.lineSpace / 2,
332
351
  e.y
333
352
  ), t.setFontSize(n.page.defaultFontSize), t.text(a.code ?? "", e.x + 4, e.y), e.y += r, e;
334
- }, T = async (t, a, e) => {
335
- const g = await W(a);
353
+ }, R = async (t, a, e) => {
354
+ const g = await S(a);
336
355
  console.log(g);
337
356
  let i = {
338
357
  x: e.cursor.x,
339
358
  y: e.cursor.y
340
359
  };
341
- const n = (s, r = 0, y = !1, f = 0, x = !1, l = !0) => {
360
+ const n = (h, r = 0, y = !1, l = 0, f = !1, x = !0) => {
342
361
  const b = r * e.page.indent;
343
362
  switch (i.y + t.splitTextToSize(
344
- s.content ?? "",
363
+ h.content ?? "",
345
364
  e.page.maxContentWidth - b
346
- ).length * p(t, e) >= e.page.maxContentHeight && (c(t, e), i.y = e.page.topmargin), s.type) {
347
- case h.Heading:
365
+ ).length * p(t, e) >= e.page.maxContentHeight && (c(t, e), i.y = e.page.topmargin), h.type) {
366
+ case s.Heading:
348
367
  i = w(
349
368
  t,
350
- s,
369
+ h,
351
370
  i,
352
371
  b,
353
372
  e,
354
373
  n
355
374
  );
356
375
  break;
357
- case h.Paragraph:
358
- i = E(
376
+ case s.Paragraph:
377
+ i = I(
359
378
  t,
360
- s,
379
+ h,
361
380
  i,
362
381
  b,
363
382
  e,
364
383
  n
365
384
  );
366
385
  break;
367
- case h.List:
368
- i = I(
386
+ case s.List:
387
+ i = E(
369
388
  t,
370
- s,
389
+ h,
371
390
  i,
372
391
  r,
373
392
  e,
374
393
  n
375
394
  );
376
395
  break;
377
- case h.ListItem:
378
- i = P(
396
+ case s.ListItem:
397
+ i = u(
379
398
  t,
380
- s,
399
+ h,
381
400
  i,
382
401
  r,
383
402
  e,
384
403
  n,
385
- f,
386
- x
404
+ l,
405
+ f
387
406
  );
388
407
  break;
389
- case h.Hr:
408
+ case s.Hr:
390
409
  i = j(t, i, e);
391
410
  break;
392
- case h.Code:
411
+ case s.Code:
393
412
  i = D(
394
413
  t,
395
- s,
414
+ h,
396
415
  i,
397
416
  r,
398
417
  y,
399
418
  e
400
419
  );
401
420
  break;
402
- case h.Strong:
403
- case h.Em:
421
+ case s.Strong:
422
+ case s.Em:
404
423
  i = F(
405
424
  t,
406
- s,
425
+ h,
407
426
  i,
408
427
  b,
409
428
  e
410
429
  );
411
430
  break;
412
- case h.Raw:
413
- case h.Text:
414
- i = u(
431
+ case s.Raw:
432
+ case s.Text:
433
+ i = P(
415
434
  t,
416
- s,
435
+ h,
417
436
  i,
418
437
  r,
419
438
  y,
420
439
  e,
421
440
  n,
441
+ l,
422
442
  f,
423
- x,
424
- l
443
+ x
425
444
  );
426
445
  break;
427
446
  default:
428
447
  console.warn(
429
- `Warning: Unsupported element type encountered: ${s.type}.
448
+ `Warning: Unsupported element type encountered: ${h.type}.
430
449
  If you believe this element type should be supported, please create an issue at:
431
450
  https://github.com/JeelGajera/jspdf-md-renderer/issues
432
451
  with details of the element and expected behavior. Thank you for helping improve this library!`
@@ -435,11 +454,11 @@ const W = async (t) => {
435
454
  }
436
455
  return i;
437
456
  };
438
- for (const s of g)
439
- n(s);
457
+ for (const h of g)
458
+ n(h);
440
459
  e.endCursorYHandler(i.y);
441
460
  };
442
461
  export {
443
- W as MdTextParser,
444
- T as MdTextRender
462
+ S as MdTextParser,
463
+ R as MdTextRender
445
464
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jspdf-md-renderer",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "description": "A jsPDF utility to render Markdown directly into formatted PDFs with custom designs.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",