Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@mdast2docx/html

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@mdast2docx/html - npm Package Compare versions

Comparing version
1.1.2
to
1.1.3
+2
-2
dist/index.js

@@ -1,3 +0,3 @@

"use strict";var y=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var R=Object.prototype.hasOwnProperty;var H=(e,r)=>{for(var t in r)y(e,t,{get:r[t],enumerable:!0})},O=(e,r,t,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of C(r))!R.call(e,n)&&n!==t&&y(e,n,{get:()=>r[n],enumerable:!(s=A(r,n))||s.enumerable});return e};var D=e=>O(y({},"__esModule",{value:!0}),e);var _={};H(_,{htmlPlugin:()=>G});module.exports=D(_);var E=e=>{let r=document.createElement("canvas").getContext("2d");return r?(r.fillStyle=e,r.fillStyle.slice(1)):e.startsWith("#")?e.slice(1):"auto"};var c=require("docx"),k=["A","ABBR","ACRONYM","B","BDI","BDO","BIG","BR","BUTTON","CITE","CODE","DATA","DATALIST","DEL","DFN","EM","I","IMG","INPUT","INS","KBD","LABEL","MARK","METER","NOSCRIPT","OBJECT","OUTPUT","Q","RUBY","RP","RT","S","SAMP","SCRIPT","SELECT","SLOT","SMALL","SPAN","STRONG","SUB","SUP","svg","TEMPLATE","TEXTAREA","TIME","U","TT","VAR","WBR"],P={A:"link",B:"strong",BR:"break",EM:"emphasis",STRONG:"strong",I:"emphasis",IMG:"image",DEL:"delete",S:"delete"},b=["solid","dashed","dotted","double","none","ridge","groove","inset","outset"],v=e=>{var s;if(!e)return{};let r={},t=e.match(/border(-\w+)?:\s*[^;]+/gi);if(!t)return{};for(let n of t){let[i,l]=n.split(":").map(m=>m.trim()),o=l.split(/\s+/),p=(s=o.find(m=>m.endsWith("px")))==null?void 0:s.replace("px",""),d=o.find(m=>b.includes(m.toLowerCase())),a=o.find(m=>!m.endsWith("px")&&!b.includes(m.toLowerCase())),u=i==="border"?"border":i.replace("border-","");r[u]={...p?{width:parseInt(p,1)}:{},...d?{style:d}:{},...a?{color:a}:{}}}return r},w={solid:c.BorderStyle.SINGLE,dashed:c.BorderStyle.DASHED,dotted:c.BorderStyle.DOTTED,double:c.BorderStyle.DOUBLE,none:c.BorderStyle.NONE,ridge:c.BorderStyle.THREE_D_EMBOSS,groove:c.BorderStyle.THREE_D_ENGRAVE,inset:c.BorderStyle.INSET,outset:c.BorderStyle.OUTSET},g=e=>{if(!e||!Object.keys(e).length)return;let{width:r,color:t,style:s}=e,n={style:s?w[s]:c.BorderStyle.SINGLE};return r&&(n.size=r),t&&(n.color=E(t)),n},N=(e,r=!0)=>{let t={};if(!(e instanceof HTMLElement||e instanceof SVGElement))return t;let{textAlign:s,fontWeight:n,fontStyle:i,textDecoration:l,textTransform:o,color:p}=e.style,d=e.getAttribute("style"),a=v(d);if(t.style=d,r&&a.border)t.border=g(a.border);else if(Object.keys(a).length){let u={...a.border,...a.left},m={...a.border,...a.right},I={...a.border,...a.top},B={...a.border,...a.bottom};t.border={left:g(u),right:g(m),top:g(I),bottom:g(B)}}switch(s&&(Object.keys(c.AlignmentType).includes(s)?t.alignment=s:s==="justify"&&(t.alignment=c.AlignmentType.JUSTIFIED)),(/bold/.test(n)||parseInt(n)>=500)&&(t.bold=!0),/(italic|oblique)/.test(i)&&(t.italics=!0),l){case"underline":t.underline={};break;case"overline":t.emphasisMark={};break;case"line-through":t.strike=!0;break}return o==="uppercase"&&(t.allCaps=!0),o==="lowercase"&&(t.smallCaps=!0),p&&(t.color=E(p)),e.tagName==="SUP"?t.superScript=!0:e.tagName==="SUB"?t.subScript=!0:["STRONG","B"].includes(e.tagName)?t.bold=!0:["EM","I"].includes(e.tagName)?t.italics=!0:["DEL","S"].includes(e.tagName)?t.strike=!0:["U","INS"].includes(e.tagName)?t.underline={}:e.tagName==="MARK"?(t.highlight="yellow",t.emphasisMark={}):e.tagName==="PRE"&&(t.pre=!0),t},h=(e,r=!1)=>{var i,l,o,p,d;if(!(e instanceof HTMLElement||e instanceof SVGElement))return{type:"text",value:(l=r?e.textContent:(i=e.textContent)==null?void 0:i.replace(/^\s+|\s+$/g," "))!=null?l:""};let t=Array.from(e.childNodes).map(a=>h(a,r)),s=N(e),n=e.getAttributeNames().reduce((a,u)=>({...a,[u]:e.getAttribute(u)}),{});switch(e.tagName){case"BR":return{type:"break"};case"IMG":return{type:"image",url:(o=n.src)!=null?o:"",alt:(p=n.alt)!=null?p:"",data:{...s,...n}};case"svg":return{type:"svg",value:e.outerHTML,data:s};case"EM":case"I":case"STRONG":case"B":case"DEL":case"S":return{type:P[e.tagName],children:t,data:{...s,tag:e.tagName.toLowerCase()}};case"A":return{type:"link",url:(d=n.href)!=null?d:"",children:t,data:s};case"INPUT":return/(radio|checkbox)/.test(e.type)?{type:"checkbox"}:{type:"text",value:`_${e.value||"_".repeat(20)}_`,data:{...s,border:{style:c.BorderStyle.OUTSET},type:e.type}}}return{type:"fragment",children:t,data:s}},f=(e,r)=>{let t=Array.from(e.childNodes),s=[],n=[];for(let i of t)(i instanceof HTMLElement||i instanceof SVGElement)&&!k.includes(i.tagName)?(n.length&&(s.push({type:"paragraph",children:n.map(l=>h(l,r==null?void 0:r.pre))}),n.length=0),s.push(U(i))):n.push(i);return n.length&&s.push({type:"paragraph",children:n.map(i=>h(i,r==null?void 0:r.pre))}),s.length===1?{...s[0],data:{...r,...s[0].data}}:{type:"fragment",children:s,data:r}},L=(e,r)=>Array.from(e.children).map(t=>{let s={...r,...N(t)};return t instanceof HTMLTableRowElement?{type:"tableRow",children:Array.from(t.children).map(n=>({type:"tableCell",children:[f(n,s)]})),data:s}:L(t,s)}).flat(),T={style:"single"},x={left:T,right:T,top:T,bottom:T},U=e=>{let r=N(e);switch(e.tagName){case"H1":case"H2":case"H3":case"H4":case"H5":case"H6":return{type:"heading",depth:parseInt(e.tagName[1]),children:Array.from(e.childNodes).map(t=>h(t)),data:{...r,tag:e.tagName.toLowerCase()}};case"PRE":case"P":case"DIV":case"DETAILS":case"SUMMARY":case"FORM":case"LI":return f(e,{...r,tag:e.tagName.toLowerCase()});case"UL":case"OL":return{type:"list",ordered:e.tagName==="OL",children:Array.from(e.childNodes).map(t=>({type:"listItem",children:[f(t)],data:{...r,tag:e.tagName.toLowerCase()}}))};case"HR":return{type:"thematicBreak",data:r};case"BLOCKQUOTE":return{type:"blockquote",children:Array.from(e.childNodes).map(t=>f(t)),data:r};case"TABLE":return{type:"table",children:L(e),data:r};case"STYLE":return{type:"paragraph",children:[{type:"text",value:`Not supported yet!
"use strict";var E=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var O=Object.prototype.hasOwnProperty;var D=(e,r)=>{for(var t in r)E(e,t,{get:r[t],enumerable:!0})},k=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of H(r))!O.call(e,s)&&s!==t&&E(e,s,{get:()=>r[s],enumerable:!(n=R(r,s))||n.enumerable});return e};var P=e=>k(E({},"__esModule",{value:!0}),e);var V={};D(V,{htmlPlugin:()=>$});module.exports=P(V);var y=e=>{let r=document.createElement("canvas").getContext("2d");return r?(r.fillStyle=e,r.fillStyle.slice(1)):e.startsWith("#")?e.slice(1):"auto"};var d=require("docx"),v=["A","ABBR","ACRONYM","B","BDI","BDO","BIG","BR","BUTTON","CITE","CODE","DATA","DATALIST","DEL","DFN","EM","I","IMG","INPUT","INS","KBD","LABEL","MARK","METER","NOSCRIPT","OBJECT","OUTPUT","Q","RUBY","RP","RT","S","SAMP","SCRIPT","SELECT","SLOT","SMALL","SPAN","STRONG","SUB","SUP","svg","TEMPLATE","TEXTAREA","TIME","U","TT","VAR","WBR"],w={A:"link",B:"strong",BR:"break",EM:"emphasis",STRONG:"strong",I:"emphasis",IMG:"image",DEL:"delete",S:"delete"},S=["solid","dashed","dotted","double","none","ridge","groove","inset","outset"],x=e=>{var n;if(!e)return{};let r={},t=e.match(/border(-\w+)?:\s*[^;]+/gi);if(!t)return{};for(let s of t){let[a,p]=s.split(":").map(u=>u.trim()),o=p.split(/\s+/),h=(n=o.find(u=>u.endsWith("px")))==null?void 0:n.replace("px",""),i=o.find(u=>S.includes(u.toLowerCase())),c=o.find(u=>!u.endsWith("px")&&!S.includes(u.toLowerCase())),l=a==="border"?"border":a.replace("border-","");r[l]={...h?{width:parseInt(h,1)}:{},...i?{style:i}:{},...c?{color:c}:{}}}return r},U={solid:d.BorderStyle.SINGLE,dashed:d.BorderStyle.DASHED,dotted:d.BorderStyle.DOTTED,double:d.BorderStyle.DOUBLE,none:d.BorderStyle.NONE,ridge:d.BorderStyle.THREE_D_EMBOSS,groove:d.BorderStyle.THREE_D_ENGRAVE,inset:d.BorderStyle.INSET,outset:d.BorderStyle.OUTSET},f=e=>{if(!e||!Object.keys(e).length)return;let{width:r,color:t,style:n}=e,s={style:n?U[n]:d.BorderStyle.SINGLE};return r&&(s.size=r),t&&(s.color=y(t)),s},b=(e,r=!0)=>{var u;let t={};if(!(e instanceof HTMLElement||e instanceof SVGElement))return t;let{textAlign:n,fontWeight:s,fontStyle:a,textDecoration:p,textTransform:o,color:h}=e.style,i=e.getAttribute("style"),c=x(i);if(t.style=i!=null?i:void 0,r&&c.border)t.border=f(c.border);else if(Object.keys(c).length){let N={...c.border,...c.left},B={...c.border,...c.right},A={...c.border,...c.top},C={...c.border,...c.bottom};t.border={left:f(N),right:f(B),top:f(A),bottom:f(C)}}switch(n&&(Object.keys(d.AlignmentType).includes(n)?t.alignment=n:n==="justify"&&(t.alignment=d.AlignmentType.JUSTIFIED)),(/bold/.test(s)||parseInt(s)>=500)&&(t.bold=!0),/(italic|oblique)/.test(a)&&(t.italics=!0),p){case"underline":t.underline={};break;case"overline":t.emphasisMark={};break;case"line-through":t.strike=!0;break}o==="uppercase"&&(t.allCaps=!0),o==="lowercase"&&(t.smallCaps=!0),h&&(t.color=y(h));let l=e.tagName;return l==="SUP"?t.superScript=!0:l==="SUB"?t.subScript=!0:["STRONG","B"].includes(l)?t.bold=!0:["EM","I"].includes(l)?t.italics=!0:["DEL","S"].includes(l)?t.strike=!0:["U","INS"].includes(l)?t.underline={}:l==="MARK"?(t.highlight="yellow",t.emphasisMark={}):l==="PRE"?t.pre=!0:/(radio|checkbox)/.test(l)&&(t.type=e.type,t.name=e.name,t.value=e.value,t.checked=(u=e.checked)!=null?u:e.defaultChecked),t.tag=l.toLowerCase(),t},m=(e,r=!1)=>{var p,o,h,i,c;if(!(e instanceof HTMLElement||e instanceof SVGElement))return{type:"text",value:(o=r?e.textContent:(p=e.textContent)==null?void 0:p.replace(/^\s+|\s+$/g," "))!=null?o:""};let t=Array.from(e.childNodes).map(l=>m(l,r)),n=b(e),s=e.getAttributeNames().reduce((l,u)=>({...l,[u]:e.getAttribute(u)}),{}),a=e.tagName;switch(a){case"BR":return{type:"break"};case"IMG":return{type:"image",url:(h=s.src)!=null?h:"",alt:(i=s.alt)!=null?i:"",data:{...n,...s}};case"svg":return{type:"svg",value:e.outerHTML,data:n};case"EM":case"I":case"STRONG":case"B":case"DEL":case"S":return{type:w[a],children:t,data:n};case"A":return{type:"link",url:(c=s.href)!=null?c:"",children:t,data:n};case"INPUT":return/(radio|checkbox)/.test(e.type)?{type:"checkbox",data:n}:{type:"text",value:`_${e.value||"_".repeat(20)}_`,data:{...n,border:{style:d.BorderStyle.OUTSET}}}}return{type:"fragment",children:t,data:n}},g=(e,r)=>{let t=Array.from(e.childNodes),n=[],s=[];for(let a of t)(a instanceof HTMLElement||a instanceof SVGElement)&&!v.includes(a.tagName)?(s.length&&(n.push({type:"paragraph",children:s.map(p=>m(p,r==null?void 0:r.pre))}),s.length=0),n.push(_(a))):s.push(a);return s.length&&n.push({type:"paragraph",children:s.map(a=>m(a,r==null?void 0:r.pre))}),n.length===1?{...n[0],data:{...r,...n[0].data}}:{type:"fragment",children:n,data:r}},L=(e,r)=>Array.from(e.children).map(t=>{let n={...r,...b(t)};return t instanceof HTMLTableRowElement?{type:"tableRow",children:Array.from(t.children).map(s=>({type:"tableCell",children:[g(s,n)]})),data:n}:L(t,n)}).flat(),T={style:"single"},G={left:T,right:T,top:T,bottom:T},_=e=>{let r=b(e),t=e.tagName;switch(t){case"H1":case"H2":case"H3":case"H4":case"H5":case"H6":return{type:"heading",depth:parseInt(t[1]),children:Array.from(e.childNodes).map(n=>m(n)),data:r};case"PRE":case"P":case"DIV":case"DETAILS":case"SUMMARY":case"FORM":case"LI":return g(e,r);case"UL":case"OL":return{type:"list",ordered:t==="OL",children:Array.from(e.childNodes).map(n=>({type:"listItem",children:[g(n)],data:r}))};case"HR":return{type:"thematicBreak",data:r};case"BLOCKQUOTE":return{type:"blockquote",children:Array.from(e.childNodes).map(n=>g(n)),data:r};case"TABLE":return{type:"table",children:L(e),data:r};case"STYLE":return{type:"paragraph",children:[{type:"text",value:`Not supported yet!
${e.textContent}`}],data:{...r,pre:!0,border:x}}}return{type:"paragraph",children:[h(e)],data:r}},S=e=>{var n,i,l;let r=(i=(n=e.value)==null?void 0:n.trim())!=null?i:"",t=r.split(" ")[0].slice(1),s=document.createElement("div");s.innerHTML=r.endsWith("/>")?r:`${r}</${t}>`,Object.assign(e,{...h(s.children[0]),children:(l=e.children)!=null?l:[]})},M=(e,r=!0)=>{var n,i,l;let t=[],s=[];for(let o of e.children){if((n=o.children)!=null&&n.length&&M(o,!1),o.type==="html"&&/^<[^>]*[^/]>$/.test(o.value)){let d=o.value.split(" ")[0].replace(/^<|>$/g,"");if(d[0]==="/"){let a=s.shift();if(!a)throw new Error(`Invalid HTML: ${o.value}`);S(a),((l=(i=s[0])==null?void 0:i.children)!=null?l:t).push(a)}else s.unshift({...o,children:[],tag:d})}else s.length?s[0].children.push(o):t.push(o);let p=o.type==="html"&&/^<[^>]*\/>$/.test(o.value);if(p&&!r)S(o);else if(p&&r||o.type==="html"&&!/^<[^>]*>$/.test(o.value)){let d=document.createElement("div");d.innerHTML=o.value,Object.assign(o,f(d))}}e.children=t},G=()=>({preprocess:M});0&&(module.exports={htmlPlugin});
${e.textContent}`}],data:{...r,pre:!0,border:G}}}return{type:"paragraph",children:[m(e)],data:r}},M=e=>{var s,a,p;let r=(a=(s=e.value)==null?void 0:s.trim())!=null?a:"",t=r.split(" ")[0].slice(1),n=document.createElement("div");n.innerHTML=r.endsWith("/>")?r:`${r}</${t}>`,Object.assign(e,{...m(n.children[0]),children:(p=e.children)!=null?p:[]})},I=(e,r=!0)=>{var s,a,p;let t=[],n=[];for(let o of e.children){if((s=o.children)!=null&&s.length&&I(o,!1),o.type==="html"&&/^<[^>]*[^/]>$/.test(o.value)){let i=o.value.split(" ")[0].replace(/^<|>$/g,"");if(i[0]==="/"){let c=n.shift();if(!c)throw new Error(`Invalid HTML: ${o.value}`);M(c),((p=(a=n[0])==null?void 0:a.children)!=null?p:t).push(c)}else n.unshift({...o,children:[],tag:i})}else n.length?n[0].children.push(o):t.push(o);let h=o.type==="html"&&/^<[^>]*\/>$/.test(o.value);if(h&&!r)M(o);else if(h&&r||o.type==="html"&&!/^<[^>]*>$/.test(o.value)){let i=document.createElement("div");i.innerHTML=o.value,Object.assign(o,g(i))}}e.children=t},$=()=>({preprocess:I});0&&(module.exports={htmlPlugin});

@@ -1,3 +0,3 @@

import{a as y}from"./chunk-CYY6OEIU.mjs";import{AlignmentType as N,BorderStyle as p}from"docx";var A=["A","ABBR","ACRONYM","B","BDI","BDO","BIG","BR","BUTTON","CITE","CODE","DATA","DATALIST","DEL","DFN","EM","I","IMG","INPUT","INS","KBD","LABEL","MARK","METER","NOSCRIPT","OBJECT","OUTPUT","Q","RUBY","RP","RT","S","SAMP","SCRIPT","SELECT","SLOT","SMALL","SPAN","STRONG","SUB","SUP","svg","TEMPLATE","TEXTAREA","TIME","U","TT","VAR","WBR"],C={A:"link",B:"strong",BR:"break",EM:"emphasis",STRONG:"strong",I:"emphasis",IMG:"image",DEL:"delete",S:"delete"},b=["solid","dashed","dotted","double","none","ridge","groove","inset","outset"],R=e=>{var s;if(!e)return{};let r={},t=e.match(/border(-\w+)?:\s*[^;]+/gi);if(!t)return{};for(let n of t){let[i,c]=n.split(":").map(m=>m.trim()),o=c.split(/\s+/),d=(s=o.find(m=>m.endsWith("px")))==null?void 0:s.replace("px",""),l=o.find(m=>b.includes(m.toLowerCase())),a=o.find(m=>!m.endsWith("px")&&!b.includes(m.toLowerCase())),u=i==="border"?"border":i.replace("border-","");r[u]={...d?{width:parseInt(d,1)}:{},...l?{style:l}:{},...a?{color:a}:{}}}return r},H={solid:p.SINGLE,dashed:p.DASHED,dotted:p.DOTTED,double:p.DOUBLE,none:p.NONE,ridge:p.THREE_D_EMBOSS,groove:p.THREE_D_ENGRAVE,inset:p.INSET,outset:p.OUTSET},g=e=>{if(!e||!Object.keys(e).length)return;let{width:r,color:t,style:s}=e,n={style:s?H[s]:p.SINGLE};return r&&(n.size=r),t&&(n.color=y(t)),n},E=(e,r=!0)=>{let t={};if(!(e instanceof HTMLElement||e instanceof SVGElement))return t;let{textAlign:s,fontWeight:n,fontStyle:i,textDecoration:c,textTransform:o,color:d}=e.style,l=e.getAttribute("style"),a=R(l);if(t.style=l,r&&a.border)t.border=g(a.border);else if(Object.keys(a).length){let u={...a.border,...a.left},m={...a.border,...a.right},I={...a.border,...a.top},B={...a.border,...a.bottom};t.border={left:g(u),right:g(m),top:g(I),bottom:g(B)}}switch(s&&(Object.keys(N).includes(s)?t.alignment=s:s==="justify"&&(t.alignment=N.JUSTIFIED)),(/bold/.test(n)||parseInt(n)>=500)&&(t.bold=!0),/(italic|oblique)/.test(i)&&(t.italics=!0),c){case"underline":t.underline={};break;case"overline":t.emphasisMark={};break;case"line-through":t.strike=!0;break}return o==="uppercase"&&(t.allCaps=!0),o==="lowercase"&&(t.smallCaps=!0),d&&(t.color=y(d)),e.tagName==="SUP"?t.superScript=!0:e.tagName==="SUB"?t.subScript=!0:["STRONG","B"].includes(e.tagName)?t.bold=!0:["EM","I"].includes(e.tagName)?t.italics=!0:["DEL","S"].includes(e.tagName)?t.strike=!0:["U","INS"].includes(e.tagName)?t.underline={}:e.tagName==="MARK"?(t.highlight="yellow",t.emphasisMark={}):e.tagName==="PRE"&&(t.pre=!0),t},h=(e,r=!1)=>{var i,c,o,d,l;if(!(e instanceof HTMLElement||e instanceof SVGElement))return{type:"text",value:(c=r?e.textContent:(i=e.textContent)==null?void 0:i.replace(/^\s+|\s+$/g," "))!=null?c:""};let t=Array.from(e.childNodes).map(a=>h(a,r)),s=E(e),n=e.getAttributeNames().reduce((a,u)=>({...a,[u]:e.getAttribute(u)}),{});switch(e.tagName){case"BR":return{type:"break"};case"IMG":return{type:"image",url:(o=n.src)!=null?o:"",alt:(d=n.alt)!=null?d:"",data:{...s,...n}};case"svg":return{type:"svg",value:e.outerHTML,data:s};case"EM":case"I":case"STRONG":case"B":case"DEL":case"S":return{type:C[e.tagName],children:t,data:{...s,tag:e.tagName.toLowerCase()}};case"A":return{type:"link",url:(l=n.href)!=null?l:"",children:t,data:s};case"INPUT":return/(radio|checkbox)/.test(e.type)?{type:"checkbox"}:{type:"text",value:`_${e.value||"_".repeat(20)}_`,data:{...s,border:{style:p.OUTSET},type:e.type}}}return{type:"fragment",children:t,data:s}},f=(e,r)=>{let t=Array.from(e.childNodes),s=[],n=[];for(let i of t)(i instanceof HTMLElement||i instanceof SVGElement)&&!A.includes(i.tagName)?(n.length&&(s.push({type:"paragraph",children:n.map(c=>h(c,r==null?void 0:r.pre))}),n.length=0),s.push(D(i))):n.push(i);return n.length&&s.push({type:"paragraph",children:n.map(i=>h(i,r==null?void 0:r.pre))}),s.length===1?{...s[0],data:{...r,...s[0].data}}:{type:"fragment",children:s,data:r}},M=(e,r)=>Array.from(e.children).map(t=>{let s={...r,...E(t)};return t instanceof HTMLTableRowElement?{type:"tableRow",children:Array.from(t.children).map(n=>({type:"tableCell",children:[f(n,s)]})),data:s}:M(t,s)}).flat(),T={style:"single"},O={left:T,right:T,top:T,bottom:T},D=e=>{let r=E(e);switch(e.tagName){case"H1":case"H2":case"H3":case"H4":case"H5":case"H6":return{type:"heading",depth:parseInt(e.tagName[1]),children:Array.from(e.childNodes).map(t=>h(t)),data:{...r,tag:e.tagName.toLowerCase()}};case"PRE":case"P":case"DIV":case"DETAILS":case"SUMMARY":case"FORM":case"LI":return f(e,{...r,tag:e.tagName.toLowerCase()});case"UL":case"OL":return{type:"list",ordered:e.tagName==="OL",children:Array.from(e.childNodes).map(t=>({type:"listItem",children:[f(t)],data:{...r,tag:e.tagName.toLowerCase()}}))};case"HR":return{type:"thematicBreak",data:r};case"BLOCKQUOTE":return{type:"blockquote",children:Array.from(e.childNodes).map(t=>f(t)),data:r};case"TABLE":return{type:"table",children:M(e),data:r};case"STYLE":return{type:"paragraph",children:[{type:"text",value:`Not supported yet!
import{a as E}from"./chunk-CYY6OEIU.mjs";import{AlignmentType as b,BorderStyle as h}from"docx";var C=["A","ABBR","ACRONYM","B","BDI","BDO","BIG","BR","BUTTON","CITE","CODE","DATA","DATALIST","DEL","DFN","EM","I","IMG","INPUT","INS","KBD","LABEL","MARK","METER","NOSCRIPT","OBJECT","OUTPUT","Q","RUBY","RP","RT","S","SAMP","SCRIPT","SELECT","SLOT","SMALL","SPAN","STRONG","SUB","SUP","svg","TEMPLATE","TEXTAREA","TIME","U","TT","VAR","WBR"],H={A:"link",B:"strong",BR:"break",EM:"emphasis",STRONG:"strong",I:"emphasis",IMG:"image",DEL:"delete",S:"delete"},M=["solid","dashed","dotted","double","none","ridge","groove","inset","outset"],O=t=>{var r;if(!t)return{};let n={},e=t.match(/border(-\w+)?:\s*[^;]+/gi);if(!e)return{};for(let s of e){let[a,d]=s.split(":").map(p=>p.trim()),o=d.split(/\s+/),u=(r=o.find(p=>p.endsWith("px")))==null?void 0:r.replace("px",""),i=o.find(p=>M.includes(p.toLowerCase())),c=o.find(p=>!p.endsWith("px")&&!M.includes(p.toLowerCase())),l=a==="border"?"border":a.replace("border-","");n[l]={...u?{width:parseInt(u,1)}:{},...i?{style:i}:{},...c?{color:c}:{}}}return n},D={solid:h.SINGLE,dashed:h.DASHED,dotted:h.DOTTED,double:h.DOUBLE,none:h.NONE,ridge:h.THREE_D_EMBOSS,groove:h.THREE_D_ENGRAVE,inset:h.INSET,outset:h.OUTSET},f=t=>{if(!t||!Object.keys(t).length)return;let{width:n,color:e,style:r}=t,s={style:r?D[r]:h.SINGLE};return n&&(s.size=n),e&&(s.color=E(e)),s},y=(t,n=!0)=>{var p;let e={};if(!(t instanceof HTMLElement||t instanceof SVGElement))return e;let{textAlign:r,fontWeight:s,fontStyle:a,textDecoration:d,textTransform:o,color:u}=t.style,i=t.getAttribute("style"),c=O(i);if(e.style=i!=null?i:void 0,n&&c.border)e.border=f(c.border);else if(Object.keys(c).length){let N={...c.border,...c.left},B={...c.border,...c.right},A={...c.border,...c.top},R={...c.border,...c.bottom};e.border={left:f(N),right:f(B),top:f(A),bottom:f(R)}}switch(r&&(Object.keys(b).includes(r)?e.alignment=r:r==="justify"&&(e.alignment=b.JUSTIFIED)),(/bold/.test(s)||parseInt(s)>=500)&&(e.bold=!0),/(italic|oblique)/.test(a)&&(e.italics=!0),d){case"underline":e.underline={};break;case"overline":e.emphasisMark={};break;case"line-through":e.strike=!0;break}o==="uppercase"&&(e.allCaps=!0),o==="lowercase"&&(e.smallCaps=!0),u&&(e.color=E(u));let l=t.tagName;return l==="SUP"?e.superScript=!0:l==="SUB"?e.subScript=!0:["STRONG","B"].includes(l)?e.bold=!0:["EM","I"].includes(l)?e.italics=!0:["DEL","S"].includes(l)?e.strike=!0:["U","INS"].includes(l)?e.underline={}:l==="MARK"?(e.highlight="yellow",e.emphasisMark={}):l==="PRE"?e.pre=!0:/(radio|checkbox)/.test(l)&&(e.type=t.type,e.name=t.name,e.value=t.value,e.checked=(p=t.checked)!=null?p:t.defaultChecked),e.tag=l.toLowerCase(),e},m=(t,n=!1)=>{var d,o,u,i,c;if(!(t instanceof HTMLElement||t instanceof SVGElement))return{type:"text",value:(o=n?t.textContent:(d=t.textContent)==null?void 0:d.replace(/^\s+|\s+$/g," "))!=null?o:""};let e=Array.from(t.childNodes).map(l=>m(l,n)),r=y(t),s=t.getAttributeNames().reduce((l,p)=>({...l,[p]:t.getAttribute(p)}),{}),a=t.tagName;switch(a){case"BR":return{type:"break"};case"IMG":return{type:"image",url:(u=s.src)!=null?u:"",alt:(i=s.alt)!=null?i:"",data:{...r,...s}};case"svg":return{type:"svg",value:t.outerHTML,data:r};case"EM":case"I":case"STRONG":case"B":case"DEL":case"S":return{type:H[a],children:e,data:r};case"A":return{type:"link",url:(c=s.href)!=null?c:"",children:e,data:r};case"INPUT":return/(radio|checkbox)/.test(t.type)?{type:"checkbox",data:r}:{type:"text",value:`_${t.value||"_".repeat(20)}_`,data:{...r,border:{style:h.OUTSET}}}}return{type:"fragment",children:e,data:r}},g=(t,n)=>{let e=Array.from(t.childNodes),r=[],s=[];for(let a of e)(a instanceof HTMLElement||a instanceof SVGElement)&&!C.includes(a.tagName)?(s.length&&(r.push({type:"paragraph",children:s.map(d=>m(d,n==null?void 0:n.pre))}),s.length=0),r.push(P(a))):s.push(a);return s.length&&r.push({type:"paragraph",children:s.map(a=>m(a,n==null?void 0:n.pre))}),r.length===1?{...r[0],data:{...n,...r[0].data}}:{type:"fragment",children:r,data:n}},L=(t,n)=>Array.from(t.children).map(e=>{let r={...n,...y(e)};return e instanceof HTMLTableRowElement?{type:"tableRow",children:Array.from(e.children).map(s=>({type:"tableCell",children:[g(s,r)]})),data:r}:L(e,r)}).flat(),T={style:"single"},k={left:T,right:T,top:T,bottom:T},P=t=>{let n=y(t),e=t.tagName;switch(e){case"H1":case"H2":case"H3":case"H4":case"H5":case"H6":return{type:"heading",depth:parseInt(e[1]),children:Array.from(t.childNodes).map(r=>m(r)),data:n};case"PRE":case"P":case"DIV":case"DETAILS":case"SUMMARY":case"FORM":case"LI":return g(t,n);case"UL":case"OL":return{type:"list",ordered:e==="OL",children:Array.from(t.childNodes).map(r=>({type:"listItem",children:[g(r)],data:n}))};case"HR":return{type:"thematicBreak",data:n};case"BLOCKQUOTE":return{type:"blockquote",children:Array.from(t.childNodes).map(r=>g(r)),data:n};case"TABLE":return{type:"table",children:L(t),data:n};case"STYLE":return{type:"paragraph",children:[{type:"text",value:`Not supported yet!
${e.textContent}`}],data:{...r,pre:!0,border:O}}}return{type:"paragraph",children:[h(e)],data:r}},L=e=>{var n,i,c;let r=(i=(n=e.value)==null?void 0:n.trim())!=null?i:"",t=r.split(" ")[0].slice(1),s=document.createElement("div");s.innerHTML=r.endsWith("/>")?r:`${r}</${t}>`,Object.assign(e,{...h(s.children[0]),children:(c=e.children)!=null?c:[]})},S=(e,r=!0)=>{var n,i,c;let t=[],s=[];for(let o of e.children){if((n=o.children)!=null&&n.length&&S(o,!1),o.type==="html"&&/^<[^>]*[^/]>$/.test(o.value)){let l=o.value.split(" ")[0].replace(/^<|>$/g,"");if(l[0]==="/"){let a=s.shift();if(!a)throw new Error(`Invalid HTML: ${o.value}`);L(a),((c=(i=s[0])==null?void 0:i.children)!=null?c:t).push(a)}else s.unshift({...o,children:[],tag:l})}else s.length?s[0].children.push(o):t.push(o);let d=o.type==="html"&&/^<[^>]*\/>$/.test(o.value);if(d&&!r)L(o);else if(d&&r||o.type==="html"&&!/^<[^>]*>$/.test(o.value)){let l=document.createElement("div");l.innerHTML=o.value,Object.assign(o,f(l))}}e.children=t},v=()=>({preprocess:S});export{v as htmlPlugin};
${t.textContent}`}],data:{...n,pre:!0,border:k}}}return{type:"paragraph",children:[m(t)],data:n}},S=t=>{var s,a,d;let n=(a=(s=t.value)==null?void 0:s.trim())!=null?a:"",e=n.split(" ")[0].slice(1),r=document.createElement("div");r.innerHTML=n.endsWith("/>")?n:`${n}</${e}>`,Object.assign(t,{...m(r.children[0]),children:(d=t.children)!=null?d:[]})},I=(t,n=!0)=>{var s,a,d;let e=[],r=[];for(let o of t.children){if((s=o.children)!=null&&s.length&&I(o,!1),o.type==="html"&&/^<[^>]*[^/]>$/.test(o.value)){let i=o.value.split(" ")[0].replace(/^<|>$/g,"");if(i[0]==="/"){let c=r.shift();if(!c)throw new Error(`Invalid HTML: ${o.value}`);S(c),((d=(a=r[0])==null?void 0:a.children)!=null?d:e).push(c)}else r.unshift({...o,children:[],tag:i})}else r.length?r[0].children.push(o):e.push(o);let u=o.type==="html"&&/^<[^>]*\/>$/.test(o.value);if(u&&!n)S(o);else if(u&&n||o.type==="html"&&!/^<[^>]*>$/.test(o.value)){let i=document.createElement("div");i.innerHTML=o.value,Object.assign(o,g(i))}}t.children=e},x=()=>({preprocess:I});export{x as htmlPlugin};

@@ -5,3 +5,3 @@ {

"private": false,
"version": "1.1.2",
"version": "1.1.3",
"description": "Extend MDAST by parsing embedded HTML in Markdown. Converts HTML into structured MDAST nodes compatible with @m2d/core for DOCX generation.",

@@ -39,7 +39,7 @@ "license": "MPL-2.0",

"@testing-library/react": "^16.3.0",
"@types/node": "^22.15.30",
"@types/react": "^19.1.6",
"@types/node": "^24.0.3",
"@types/react": "^19.1.8",
"@types/react-dom": "^19.1.6",
"@vitejs/plugin-react": "^4.5.1",
"@vitest/coverage-v8": "^3.2.2",
"@vitejs/plugin-react": "^4.5.2",
"@vitest/coverage-v8": "^3.2.3",
"docx": "^9.5.0",

@@ -54,6 +54,6 @@ "esbuild-plugin-rdi": "^0.0.0",

"vite-tsconfig-paths": "^5.1.4",
"vitest": "^3.2.2"
"vitest": "^3.2.3"
},
"dependencies": {
"@m2d/core": "^1.3.1"
"@m2d/core": "^1.4.2"
},

@@ -60,0 +60,0 @@ "peerDependencies": {