@mdgate/pptx 0.1.0 → 0.4.1

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
@@ -3,7 +3,7 @@
3
3
  Convert PowerPoint presentations to Markdown. Outputs GitHub-Flavored Markdown. Works in Node, Edge, and
4
4
  browsers. No native addons.
5
5
 
6
- Handles: `.pptx`, `.pptm`, `.ppsx`, `.ppsm`
6
+ Handles: `.pptx`, `.pptm`, `.ppsx`, `.ppsm`, `.potx`, `.potm`
7
7
 
8
8
  ## Usage
9
9
 
package/dist/index.js CHANGED
@@ -6,4 +6,4 @@ var T=9;function K8(q,Z,J){switch(q){case"period":return;case"parenR":return`${h
6
6
  //! with the full text cascade - slide -> layout -> master placeholder /
7
7
  //! `txStyles` -> presentation defaults. Speaker notes are included (fixed
8
8
  //! policy), rendered as a quote after each slide's content.
9
- var b8="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout",x8="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster",d8="http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide",h8="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide",i8=[Q.P,Q.A,Q.R,Q.MC];function z8(q){let Z;try{Z=B8.open(q)}catch(z){throw I8(q)??z}let K=u(Z,"_rels/.rels").firstOfType(w8.OFFICE_DOCUMENT),H="ppt/presentation.xml";if(K!==void 0){let z=v("",K.target);if(z!==void 0)H=z}let $=Z.requiredXmlPart(H),X=u(Z,m(H)),j=B($.firstDescendant(Q.P,"defaultTextStyle")),N=$.firstDescendant(Q.P,"sldIdLst"),W=[];if(N!==void 0)for(let z of N.findAll(Q.P,"sldId")){let M=z.attrQualified(Q.R,"id");if(M===void 0)continue;let w=X.internalTarget(M);if(w===void 0)continue;let E=v(H,w);if(E!==void 0)W.push(E)}if(W.length===0)throw k.malformedPart(H,"presentation has no slide list");let G=new T8,U=new Map,Y=new Map,V=[],A=0,I={n:0},_=new Map;for(let z=0;z<W.length;z+=1)_.set(W[z],`slide-${z+1}`);let D=[];for(let z of W)D.push(u(Z,m(z)));let O=new Set;for(let z=0;z<W.length;z+=1){let M=W[z],w=D[z];for(let[,E]of w.entries()){if(E.relType!==h8||E.mode!=="internal")continue;let L=v(M,E.target);if(L!==void 0&&_.has(L))O.add(L)}}for(let z=0;z<W.length;z+=1){let M=W[z],w=Z.optionalXmlPart(M);if(w===void 0){y(`skipping unusable slide ${M}`),A+=1;continue}let E=w.find(Q.P,"sld")?.find(Q.P,"cSld")?.find(Q.P,"spTree");if(E===void 0){y(`skipping slide ${M}: no shape tree`),A+=1;continue}let L=D[z],S=r(L,M,b8);if(S!==void 0&&!U.has(S)){let F=o8(Z,S);if(F.masterPath!==void 0&&!Y.has(F.masterPath))Y.set(F.masterPath,c8(Z,F.masterPath));U.set(S,F)}let b=S!==void 0?U.get(S):void 0,V8=b?.masterPath!==void 0?Y.get(b.masterPath):void 0,e={pkg:Z,rels:L,basePart:M,assets:G,defaultText:j,layout:b,master:V8,instanceCounter:I,slideAnchors:_};if(O.has(M)){let F=_.get(M);if(F!==void 0)V.push({type:"paragraph",inlines:[{type:"anchor",id:F}]})}t(E,e,V);let x=r(L,M,d8),Z8=x!==void 0?(()=>{let F=Z.optionalXmlPart(x);return F!==void 0?[x,F]:void 0})():void 0;if(Z8!==void 0){let[F,_8]=Z8,C8=u(Z,m(F)),F8={...e,rels:C8,basePart:F,layout:void 0,master:void 0},d=[];for(let q8 of _8.descendants(Q.P,"sp")){let g=p8(q8);if(g==="sldImg"||g==="sldNum"||g==="hdr"||g==="ftr"||g==="dt")continue;let H8=q8.find(Q.P,"txBody");if(H8!==void 0)l(H8,F8,void 0,d)}if(d.length>0)V.push({type:"blockQuote",blocks:d})}}if(A===W.length)throw k.malformed("no slide in the presentation could be read");return{blocks:V,notes:[],assets:G.assets}}function r(q,Z,J){let K=q.firstOfType(J);if(K===void 0)return;return v(Z,K.target)}function o8(q,Z){let J=q.optionalXmlPart(Z),K=J!==void 0?(()=>{let X=J.firstDescendant(Q.P,"spTree");return X!==void 0?o(X):[]})():[],H=u(q,m(Z)),$=r(H,Z,x8);return{placeholders:K,masterPath:$}}function c8(q,Z){let J={title:B(void 0),body:B(void 0),other:B(void 0),placeholders:[]},K=q.optionalXmlPart(Z);if(K!==void 0){let H=K.firstDescendant(Q.P,"txStyles");if(H!==void 0)J.title=B(H.find(Q.P,"titleStyle")),J.body=B(H.find(Q.P,"bodyStyle")),J.other=B(H.find(Q.P,"otherStyle"));let $=K.firstDescendant(Q.P,"spTree");if($!==void 0)J.placeholders=o($)}return J}function n8(q,Z){if(Z.mode==="internal")try{let J=X8(q.basePart,Z.target),K=q.slideAnchors.get(J.path);if(K!==void 0)return{type:"anchor",id:K}}catch{}return m8(Z.mode==="external",Z.target)}function G8(q,Z,J,K){let H=q.defaultText.level(K);if(q.master!==void 0){let $=Z===void 0?q.master.other:R(Z.phType)==="title"?q.master.title:q.master.body;if(H=f(H,$.level(K)),Z!==void 0){let X=c(q.master.placeholders,Z.phType,Z.idx);if(X!==void 0)H=f(H,X.styles.level(K))}}if(q.layout!==void 0&&Z!==void 0){let $=c(q.layout.placeholders,Z.phType,Z.idx);if($!==void 0)H=f(H,$.styles.level(K))}return f(H,J.level(K))}function p(q,Z){return E8(q.pkg,q.rels,q.basePart,Z)}function p8(q){let Z=q.firstDescendant(Q.P,"ph");return Z!==void 0?Z.attr(Q.P,"type")??"body":void 0}function t(q,Z,J){for(let K of q.childElems()){if(K.is(Q.MC,"AlternateContent")){let H=g8(K,i8);if(H!==void 0)t(H,Z,J);continue}if(K.ns!==Q.P)continue;switch(K.local){case"sp":case"cxnSp":a8(K,Z,J);break;case"grpSp":t(K,Z,J);break;case"graphicFrame":t8(K,Z,J);break;case"pic":{let $=K.firstDescendant(Q.P,"cNvPr")?.attr(Q.P,"descr"),X=$!==void 0?j8($):"",j=K.firstDescendant(Q.A,"blip"),N=j!==void 0?j.attrQualified(Q.R,"embed")??j.attrQualified(Q.R,"link"):void 0,W=N!==void 0?y8(Z.pkg,Z.rels,Z.basePart,Z.assets,N):void 0;if(W!==void 0||X.trim().length>0)J.push({type:"paragraph",inlines:[{type:"image",alt:X,source:W??{type:"unavailable"}}]});break}default:break}}}function a8(q,Z,J){let K=q.firstDescendant(Q.P,"ph"),H=K!==void 0?{phType:K.attr(Q.P,"type")??"body",idx:K.attr(Q.P,"idx")}:void 0;if(H!==void 0&&(H.phType==="sldNum"||H.phType==="dt"||H.phType==="ftr"))return;let $=q.find(Q.P,"txBody");if($===void 0)return;if(H!==void 0&&R(H.phType)==="title")r8($,Z,H,J);else l($,Z,H,J)}function r8(q,Z,J,K){let H=B(q.find(Q.A,"lstStyle")),$=[];for(let X of q.findAll(Q.A,"p")){let j=X.find(Q.A,"pPr"),N=j?.attr(Q.A,"lvl"),W=N!==void 0?U8(N)??0:0,G=G8(Z,J,H,W);if(j!==void 0)G=f(G,P(j));let U=Y8(G.delta),Y=N8(X,Z,U);if(a(Y))continue;if(k8(Y,U),$.length>0)$.push({type:"lineBreak"});$.push(...Y)}if(!a($))K.push({type:"heading",level:2,anchor:S8($),content:$})}function l(q,Z,J,K){let H=B(q.find(Q.A,"lstStyle"));Z.instanceCounter.n+=1;let $=Z.instanceCounter.n,X=Array(T).fill(0),j=Array(T).fill(!1),N=[];for(let W of q.findAll(Q.A,"p")){let G=W.find(Q.A,"pPr"),U=G?.attr(Q.A,"lvl"),Y=U!==void 0?U8(U)??0:0,V=G8(Z,J,H,Y);if(G!==void 0)V=f(V,P(G));let A=Y8(V.delta),I=N8(W,Z,A);if(a(I)){n(K,N);continue}let _=V.bullet;if(_.kind==="autoNum"){let D=Math.min(Y,T-1),O;if(j[D])O=s8(X[D],1);else j[D]=!0,O=_.start;X[D]=O;for(let z=D+1;z<j.length;z+=1)j[z]=!1;N.push({level:Y,key:{instance:$,marker:_.marker},number:O,label:K8(_.wrap,_.marker,O),blocks:[{type:"paragraph",inlines:I}]})}else if(_.kind==="char")N.push({level:Y,key:{instance:$,marker:"bullet"},number:0,label:void 0,blocks:[{type:"paragraph",inlines:I}]});else n(K,N),K.push({type:"paragraph",inlines:I})}n(K,N)}function N8(q,Z,J){let K=[];for(let H of q.childElems()){if(H.ns!==Q.A)continue;switch(H.local){case"r":case"fld":{let $=H.find(Q.A,"rPr"),X=H.find(Q.A,"t"),j=j8(X!==void 0?X.text():"");if(j.length===0)continue;let N=$!==void 0?u8(i($),J):J,W={type:"text",text:j,style:N},G=$?.find(Q.A,"hlinkClick")?.attrQualified(Q.R,"id"),U=G!==void 0?Z.rels.get(G):void 0,Y=U!==void 0?n8(Z,U):void 0;if(Y!==void 0)K.push({type:"link",content:[W],target:Y});else K.push(W);break}case"br":K.push({type:"lineBreak"});break;default:break}}return K}function t8(q,Z,J){let K=q.firstDescendant(Q.A,"tbl");if(K!==void 0){l8(K,Z,J);return}let H=q.firstDescendant(Q.P,"oleObj");if(H!==void 0){let W=H.attr(Q.P,"progId")??"object",G=(H.attr(Q.P,"name")??"").trim(),U=G.length===0?`Embedded object: ${W}`:G,Y=H.attrQualified(Q.R,"id"),V;if(Y!==void 0){let A=p(Z,Y);if(A!==void 0){let[I,_]=A;V={type:"asset",id:Z.assets.add("application/vnd.ms-ole-object",I,_)}}}J.push({type:"paragraph",inlines:[{type:"image",alt:U,source:V??{type:"unavailable"}}]});return}let X=q.firstDescendant(Q.CHART,"chart")?.attrQualified(Q.R,"id");if(X!==void 0){let W=p(Z,X);if(W!==void 0){let[G,U]=W;try{J.push(...P8($8(U)))}catch(Y){if(Y instanceof k&&Y.isFatal())throw Y;y(`skipping corrupt chart part ${G}: ${Y instanceof Error?Y.message:String(Y)}`)}return}}let N=q.firstDescendant(Q.DGM,"relIds")?.attrQualified(Q.R,"dm");if(N!==void 0){let W=p(Z,N);if(W!==void 0){let[G,U]=W;try{J.push(...v8($8(U)))}catch(Y){if(Y instanceof k&&Y.isFatal())throw Y;y(`skipping corrupt diagram part ${G}: ${Y instanceof Error?Y.message:String(Y)}`)}}}}function l8(q,Z,J){let H=q.find(Q.A,"tblPr")?.attr(Q.A,"firstRow"),$=H==="1"||H==="true"?1:0,X=new f8;for(let N of q.findAll(Q.A,"tr")){X.nextRow();for(let W of N.findAll(Q.A,"tc")){let G=W.attr(Q.A,"hMerge"),U=W.attr(Q.A,"vMerge");if(G==="1"||G==="true"||U==="1"||U==="true"){X.covered();continue}let V=W.attr(Q.A,"gridSpan"),A=W.attr(Q.A,"rowSpan"),I=Math.max(V!==void 0?W8(V)??1:1,1),_=Math.max(A!==void 0?W8(A)??1:1,1),D=[],O=W.find(Q.A,"txBody");if(O!==void 0)l(O,Z,void 0,D);X.place(L8(D,I,_))}}let j=X.finish("data");if(j.grid.length===0)return;j.headerRows=R8(j,$),J.push({type:"table",table:j})}function v(q,Z){try{return X8(q,Z).path}catch{return}}function U8(q){if(!/^\d+$/.test(q))return;let Z=Number(q);if(!Number.isSafeInteger(Z))return;return Z}function W8(q){if(!/^\d+$/.test(q))return;let Z=Number(q);if(!Number.isInteger(Z)||Z<0||Z>4294967295)return;return Z}function s8(q,Z){let J=q+Z;return J>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:J}var HZ=new Set(["pptx","pptm","ppsx","ppsm"]);function s(){return{id:"pptx",sniff(q,Z){if(e8(q)==="pptx")return 2;if(Z?.path!==void 0&&HZ.has(qZ(Z.path)??""))return 1;return 0},convert(q){return{markdown:ZZ(z8(q))}}}}import{create as JZ}from"@mdgate/core";var KZ=JZ([s()]);function QZ(q,Z){return KZ(q,Z)}export{QZ as toMarkdown,s as pptx};
9
+ var b8="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout",x8="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster",d8="http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide",h8="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide",i8=[Q.P,Q.A,Q.R,Q.MC];function z8(q){let Z;try{Z=B8.open(q)}catch(z){throw I8(q)??z}let K=u(Z,"_rels/.rels").firstOfType(w8.OFFICE_DOCUMENT),H="ppt/presentation.xml";if(K!==void 0){let z=v("",K.target);if(z!==void 0)H=z}let $=Z.requiredXmlPart(H),X=u(Z,m(H)),j=B($.firstDescendant(Q.P,"defaultTextStyle")),N=$.firstDescendant(Q.P,"sldIdLst"),W=[];if(N!==void 0)for(let z of N.findAll(Q.P,"sldId")){let M=z.attrQualified(Q.R,"id");if(M===void 0)continue;let w=X.internalTarget(M);if(w===void 0)continue;let E=v(H,w);if(E!==void 0)W.push(E)}if(W.length===0)throw k.malformedPart(H,"presentation has no slide list");let G=new T8,U=new Map,Y=new Map,V=[],A=0,I={n:0},_=new Map;for(let z=0;z<W.length;z+=1)_.set(W[z],`slide-${z+1}`);let D=[];for(let z of W)D.push(u(Z,m(z)));let O=new Set;for(let z=0;z<W.length;z+=1){let M=W[z],w=D[z];for(let[,E]of w.entries()){if(E.relType!==h8||E.mode!=="internal")continue;let L=v(M,E.target);if(L!==void 0&&_.has(L))O.add(L)}}for(let z=0;z<W.length;z+=1){let M=W[z],w=Z.optionalXmlPart(M);if(w===void 0){y(`skipping unusable slide ${M}`),A+=1;continue}let E=w.find(Q.P,"sld")?.find(Q.P,"cSld")?.find(Q.P,"spTree");if(E===void 0){y(`skipping slide ${M}: no shape tree`),A+=1;continue}let L=D[z],S=r(L,M,b8);if(S!==void 0&&!U.has(S)){let F=o8(Z,S);if(F.masterPath!==void 0&&!Y.has(F.masterPath))Y.set(F.masterPath,c8(Z,F.masterPath));U.set(S,F)}let b=S!==void 0?U.get(S):void 0,V8=b?.masterPath!==void 0?Y.get(b.masterPath):void 0,e={pkg:Z,rels:L,basePart:M,assets:G,defaultText:j,layout:b,master:V8,instanceCounter:I,slideAnchors:_};if(O.has(M)){let F=_.get(M);if(F!==void 0)V.push({type:"paragraph",inlines:[{type:"anchor",id:F}]})}t(E,e,V);let x=r(L,M,d8),Z8=x!==void 0?(()=>{let F=Z.optionalXmlPart(x);return F!==void 0?[x,F]:void 0})():void 0;if(Z8!==void 0){let[F,_8]=Z8,C8=u(Z,m(F)),F8={...e,rels:C8,basePart:F,layout:void 0,master:void 0},d=[];for(let q8 of _8.descendants(Q.P,"sp")){let g=p8(q8);if(g==="sldImg"||g==="sldNum"||g==="hdr"||g==="ftr"||g==="dt")continue;let H8=q8.find(Q.P,"txBody");if(H8!==void 0)l(H8,F8,void 0,d)}if(d.length>0)V.push({type:"blockQuote",blocks:d})}}if(A===W.length)throw k.malformed("no slide in the presentation could be read");return{blocks:V,notes:[],assets:G.assets}}function r(q,Z,J){let K=q.firstOfType(J);if(K===void 0)return;return v(Z,K.target)}function o8(q,Z){let J=q.optionalXmlPart(Z),K=J!==void 0?(()=>{let X=J.firstDescendant(Q.P,"spTree");return X!==void 0?o(X):[]})():[],H=u(q,m(Z)),$=r(H,Z,x8);return{placeholders:K,masterPath:$}}function c8(q,Z){let J={title:B(void 0),body:B(void 0),other:B(void 0),placeholders:[]},K=q.optionalXmlPart(Z);if(K!==void 0){let H=K.firstDescendant(Q.P,"txStyles");if(H!==void 0)J.title=B(H.find(Q.P,"titleStyle")),J.body=B(H.find(Q.P,"bodyStyle")),J.other=B(H.find(Q.P,"otherStyle"));let $=K.firstDescendant(Q.P,"spTree");if($!==void 0)J.placeholders=o($)}return J}function n8(q,Z){if(Z.mode==="internal")try{let J=X8(q.basePart,Z.target),K=q.slideAnchors.get(J.path);if(K!==void 0)return{type:"anchor",id:K}}catch{}return m8(Z.mode==="external",Z.target)}function G8(q,Z,J,K){let H=q.defaultText.level(K);if(q.master!==void 0){let $=Z===void 0?q.master.other:R(Z.phType)==="title"?q.master.title:q.master.body;if(H=f(H,$.level(K)),Z!==void 0){let X=c(q.master.placeholders,Z.phType,Z.idx);if(X!==void 0)H=f(H,X.styles.level(K))}}if(q.layout!==void 0&&Z!==void 0){let $=c(q.layout.placeholders,Z.phType,Z.idx);if($!==void 0)H=f(H,$.styles.level(K))}return f(H,J.level(K))}function p(q,Z){return E8(q.pkg,q.rels,q.basePart,Z)}function p8(q){let Z=q.firstDescendant(Q.P,"ph");return Z!==void 0?Z.attr(Q.P,"type")??"body":void 0}function t(q,Z,J){for(let K of q.childElems()){if(K.is(Q.MC,"AlternateContent")){let H=g8(K,i8);if(H!==void 0)t(H,Z,J);continue}if(K.ns!==Q.P)continue;switch(K.local){case"sp":case"cxnSp":a8(K,Z,J);break;case"grpSp":t(K,Z,J);break;case"graphicFrame":t8(K,Z,J);break;case"pic":{let $=K.firstDescendant(Q.P,"cNvPr")?.attr(Q.P,"descr"),X=$!==void 0?j8($):"",j=K.firstDescendant(Q.A,"blip"),N=j!==void 0?j.attrQualified(Q.R,"embed")??j.attrQualified(Q.R,"link"):void 0,W=N!==void 0?y8(Z.pkg,Z.rels,Z.basePart,Z.assets,N):void 0;if(W!==void 0||X.trim().length>0)J.push({type:"paragraph",inlines:[{type:"image",alt:X,source:W??{type:"unavailable"}}]});break}default:break}}}function a8(q,Z,J){let K=q.firstDescendant(Q.P,"ph"),H=K!==void 0?{phType:K.attr(Q.P,"type")??"body",idx:K.attr(Q.P,"idx")}:void 0;if(H!==void 0&&(H.phType==="sldNum"||H.phType==="dt"||H.phType==="ftr"))return;let $=q.find(Q.P,"txBody");if($===void 0)return;if(H!==void 0&&R(H.phType)==="title")r8($,Z,H,J);else l($,Z,H,J)}function r8(q,Z,J,K){let H=B(q.find(Q.A,"lstStyle")),$=[];for(let X of q.findAll(Q.A,"p")){let j=X.find(Q.A,"pPr"),N=j?.attr(Q.A,"lvl"),W=N!==void 0?U8(N)??0:0,G=G8(Z,J,H,W);if(j!==void 0)G=f(G,P(j));let U=Y8(G.delta),Y=N8(X,Z,U);if(a(Y))continue;if(k8(Y,U),$.length>0)$.push({type:"lineBreak"});$.push(...Y)}if(!a($))K.push({type:"heading",level:2,anchor:S8($),content:$})}function l(q,Z,J,K){let H=B(q.find(Q.A,"lstStyle"));Z.instanceCounter.n+=1;let $=Z.instanceCounter.n,X=Array(T).fill(0),j=Array(T).fill(!1),N=[];for(let W of q.findAll(Q.A,"p")){let G=W.find(Q.A,"pPr"),U=G?.attr(Q.A,"lvl"),Y=U!==void 0?U8(U)??0:0,V=G8(Z,J,H,Y);if(G!==void 0)V=f(V,P(G));let A=Y8(V.delta),I=N8(W,Z,A);if(a(I)){n(K,N);continue}let _=V.bullet;if(_.kind==="autoNum"){let D=Math.min(Y,T-1),O;if(j[D])O=s8(X[D],1);else j[D]=!0,O=_.start;X[D]=O;for(let z=D+1;z<j.length;z+=1)j[z]=!1;N.push({level:Y,key:{instance:$,marker:_.marker},number:O,label:K8(_.wrap,_.marker,O),blocks:[{type:"paragraph",inlines:I}]})}else if(_.kind==="char")N.push({level:Y,key:{instance:$,marker:"bullet"},number:0,label:void 0,blocks:[{type:"paragraph",inlines:I}]});else n(K,N),K.push({type:"paragraph",inlines:I})}n(K,N)}function N8(q,Z,J){let K=[];for(let H of q.childElems()){if(H.ns!==Q.A)continue;switch(H.local){case"r":case"fld":{let $=H.find(Q.A,"rPr"),X=H.find(Q.A,"t"),j=j8(X!==void 0?X.text():"");if(j.length===0)continue;let N=$!==void 0?u8(i($),J):J,W={type:"text",text:j,style:N},G=$?.find(Q.A,"hlinkClick")?.attrQualified(Q.R,"id"),U=G!==void 0?Z.rels.get(G):void 0,Y=U!==void 0?n8(Z,U):void 0;if(Y!==void 0)K.push({type:"link",content:[W],target:Y});else K.push(W);break}case"br":K.push({type:"lineBreak"});break;default:break}}return K}function t8(q,Z,J){let K=q.firstDescendant(Q.A,"tbl");if(K!==void 0){l8(K,Z,J);return}let H=q.firstDescendant(Q.P,"oleObj");if(H!==void 0){let W=H.attr(Q.P,"progId")??"object",G=(H.attr(Q.P,"name")??"").trim(),U=G.length===0?`Embedded object: ${W}`:G,Y=H.attrQualified(Q.R,"id"),V;if(Y!==void 0){let A=p(Z,Y);if(A!==void 0){let[I,_]=A;V={type:"asset",id:Z.assets.add("application/vnd.ms-ole-object",I,_)}}}J.push({type:"paragraph",inlines:[{type:"image",alt:U,source:V??{type:"unavailable"}}]});return}let X=q.firstDescendant(Q.CHART,"chart")?.attrQualified(Q.R,"id");if(X!==void 0){let W=p(Z,X);if(W!==void 0){let[G,U]=W;try{J.push(...P8($8(U)))}catch(Y){if(Y instanceof k&&Y.isFatal())throw Y;y(`skipping corrupt chart part ${G}: ${Y instanceof Error?Y.message:String(Y)}`)}return}}let N=q.firstDescendant(Q.DGM,"relIds")?.attrQualified(Q.R,"dm");if(N!==void 0){let W=p(Z,N);if(W!==void 0){let[G,U]=W;try{J.push(...v8($8(U)))}catch(Y){if(Y instanceof k&&Y.isFatal())throw Y;y(`skipping corrupt diagram part ${G}: ${Y instanceof Error?Y.message:String(Y)}`)}}}}function l8(q,Z,J){let H=q.find(Q.A,"tblPr")?.attr(Q.A,"firstRow"),$=H==="1"||H==="true"?1:0,X=new f8;for(let N of q.findAll(Q.A,"tr")){X.nextRow();for(let W of N.findAll(Q.A,"tc")){let G=W.attr(Q.A,"hMerge"),U=W.attr(Q.A,"vMerge");if(G==="1"||G==="true"||U==="1"||U==="true"){X.covered();continue}let V=W.attr(Q.A,"gridSpan"),A=W.attr(Q.A,"rowSpan"),I=Math.max(V!==void 0?W8(V)??1:1,1),_=Math.max(A!==void 0?W8(A)??1:1,1),D=[],O=W.find(Q.A,"txBody");if(O!==void 0)l(O,Z,void 0,D);X.place(L8(D,I,_))}}let j=X.finish("data");if(j.grid.length===0)return;j.headerRows=R8(j,$),J.push({type:"table",table:j})}function v(q,Z){try{return X8(q,Z).path}catch{return}}function U8(q){if(!/^\d+$/.test(q))return;let Z=Number(q);if(!Number.isSafeInteger(Z))return;return Z}function W8(q){if(!/^\d+$/.test(q))return;let Z=Number(q);if(!Number.isInteger(Z)||Z<0||Z>4294967295)return;return Z}function s8(q,Z){let J=q+Z;return J>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:J}var HZ=new Set(["pptx","pptm","ppsx","ppsm","potx","potm"]);function s(){return{id:"pptx",sniff(q,Z){if(e8(q)==="pptx")return 2;if(Z?.path!==void 0&&HZ.has(qZ(Z.path)??""))return 1;return 0},convert(q){return{markdown:ZZ(z8(q))}}}}import{create as JZ}from"@mdgate/core";var KZ=JZ([s()]);function QZ(q,Z){return KZ(q,Z)}export{QZ as toMarkdown,s as pptx};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mdgate/pptx",
3
- "version": "0.1.0",
3
+ "version": "0.4.1",
4
4
  "description": "mdgate PowerPoint converter (pptx/pptm/ppsx/ppsm)",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -22,11 +22,11 @@
22
22
  "prepublishOnly": "bun run build"
23
23
  },
24
24
  "dependencies": {
25
- "@mdgate/containers": "0.1.0",
26
- "@mdgate/core": "0.1.3",
27
- "@mdgate/document": "0.1.0",
28
- "@mdgate/office-common": "0.1.0",
29
- "@mdgate/utils": "0.1.2"
25
+ "@mdgate/containers": "0.4.1",
26
+ "@mdgate/core": "0.4.1",
27
+ "@mdgate/document": "0.4.1",
28
+ "@mdgate/office-common": "0.4.1",
29
+ "@mdgate/utils": "0.4.1"
30
30
  },
31
31
  "publishConfig": {
32
32
  "access": "public"