docgen-utils 1.0.7 → 1.0.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/bundle.js CHANGED
@@ -30889,9 +30889,9 @@ ${generateStylesCss(styleMap, themeFonts)}
30889
30889
  validationErrors.push(...slideData.errors);
30890
30890
  }
30891
30891
  if (validationErrors.length > 0) {
30892
- const errorMessage = validationErrors.length === 1 ? validationErrors[0] : `Multiple validation errors found:
30892
+ const warningMessage = validationErrors.length === 1 ? validationErrors[0] : `Multiple validation warnings:
30893
30893
  ${validationErrors.map((e, i) => ` ${i + 1}. ${e}`).join("\n")}`;
30894
- throw new Error(errorMessage);
30894
+ console.warn(`[docgen] ${warningMessage}`);
30895
30895
  }
30896
30896
  const targetSlide = slide || pres.addSlide();
30897
30897
  let bgColor;
@@ -31030,6 +31030,25 @@ ${validationErrors.map((e, i) => ` ${i + 1}. ${e}`).join("\n")}`;
31030
31030
  html = html.replace(/opacity:\s*0;/g, "opacity: 1;");
31031
31031
  html = html.replace(/transition:\s*[^;]+;/g, "");
31032
31032
  html = html.replace(/pointer-events:\s*[^;]+;/g, "");
31033
+ const bodyBlockMatch = html.match(/body\s*\{([^}]*)\}/s);
31034
+ if (bodyBlockMatch) {
31035
+ let bodyStyle = bodyBlockMatch[1];
31036
+ if (!/overflow\s*:/.test(bodyStyle)) {
31037
+ bodyStyle += " overflow: hidden;";
31038
+ }
31039
+ if (!/width\s*:\s*[\d.]+pt/.test(bodyStyle)) {
31040
+ bodyStyle = bodyStyle.replace(/width\s*:[^;]+;/g, "");
31041
+ bodyStyle += ` width: ${targetWidth}pt;`;
31042
+ }
31043
+ if (!/height\s*:\s*[\d.]+pt/.test(bodyStyle)) {
31044
+ bodyStyle = bodyStyle.replace(/height\s*:[^;]+;/g, "");
31045
+ bodyStyle += ` height: ${targetHeight}pt;`;
31046
+ }
31047
+ html = html.replace(/body\s*\{[^}]*\}/s, `body {${bodyStyle}}`);
31048
+ } else {
31049
+ html = html.replace(/<\/style>/i, `body { width: ${targetWidth}pt; height: ${targetHeight}pt; overflow: hidden; margin: 0; }
31050
+ </style>`);
31051
+ }
31033
31052
  return html;
31034
31053
  }
31035
31054
 
@@ -56,9 +56,10 @@ ${u0(u,l)}
56
56
  </body>
57
57
  </html>`,H}function f0(t,e,r,i,n,s={}){let l="",o=null,u=a=>{if(a.props.numId!==void 0&&a.props.numId>0)return{numId:a.props.numId,ilvl:a.props.ilvl??0};if(a.props.styleId){let c=e.get(a.props.styleId);if(c?.pPr?.numId!==void 0&&c.pPr.numId>0)return{numId:c.pPr.numId,ilvl:c.pPr.ilvl??0}}return{numId:void 0,ilvl:0}};for(let a=0;a<t.length;a++){let c=t[a];if(c.kind==="paragraph"){let f=c.data,d=u(f);if(d.numId!==void 0&&d.numId>0){let w=r.get(d.numId)?.get(d.ilvl)?.numFmt==="bullet",m=d.ilvl;if(!o||o.numId!==d.numId||o.ilvl!==m){o&&(l+=o.isBullet?"</ul>":"</ol>"),o={numId:d.numId,ilvl:m,isBullet:w??!1};let C=m>0?` style="margin-left:${m*24}px"`:"";l+=w?`<ul${C}>`:`<ol${C}>`}l+=h0(f,e,n,s)}else o&&(l+=o.isBullet?"</ul>":"</ol>",o=null),l+=Iu(f,e,r,n,s)}else c.kind==="table"?(o&&(l+=o.isBullet?"</ul>":"</ol>",o=null),l+=bp(c.data,e,r,i,n,s)):c.kind==="drawing"&&(o&&(l+=o.isBullet?"</ul>":"</ol>",o=null),c.data.type==="image"&&(l+=xp(c.data.data,n)))}return o&&(l+=o.isBullet?"</ul>":"</ol>"),l}function h0(t,e,r=new Map,i={}){let{runs:n,props:s}=t,l=[],o=i.rPr?{...i.rPr}:{};if(s.styleId){let c=e.get(s.styleId);c?.rPr&&(o={...o,...c.rPr})}o.fontSize&&l.push(`font-size:${o.fontSize}pt`),o.fontFamily&&l.push(`font-family:'${o.fontFamily}',sans-serif`),o.color&&l.push(`color:${o.color}`),o.bold&&l.push("font-weight:bold"),o.italic&&l.push("font-style:italic");let u=n.map(c=>vp(c,r)).join("");return`<li${l.length>0?` style="${l.join(";")}"`:""}>${u||"&nbsp;"}</li>`}var d0=["impact"];function yt(t){return t/96}function Qt(t){return parseFloat(t)*.75}function re(t){if(t==="rgba(0, 0, 0, 0)"||t==="transparent")return"FFFFFF";let e=t.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);return e?e.slice(1).map(r=>parseInt(r).toString(16).padStart(2,"0")).join(""):"FFFFFF"}function Fi(t){if(t==="transparent"||t==="rgba(0, 0, 0, 0)")return!0;let e=t.match(/rgba\(\d+,\s*\d+,\s*\d+,\s*([\d.]+)\)/);return e?parseFloat(e[1])<=0:!1}function xe(t){let e=t.match(/rgba\((\d+),\s*(\d+),\s*(\d+),\s*([\d.]+)\)/);if(!e||!e[4])return null;let r=parseFloat(e[4]);return Math.round((1-r)*100)}function _r(t){let e=o=>{if(o=o.trim().toLowerCase(),o==="transparent")return"000000";if(o.startsWith("#")){let a=o.slice(1);return a.length===3&&(a=a.split("").map(c=>c+c).join("")),a.toUpperCase()}let u=o.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);return u?u.slice(1).map(a=>parseInt(a).toString(16).padStart(2,"0")).join("").toUpperCase():"FFFFFF"},r=o=>{if(o=o.trim().toLowerCase(),o==="transparent")return 100;let u=o.match(/rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*([\d.]+)\s*\)/);if(u){let a=parseFloat(u[1]);if(a<1)return Math.round((1-a)*100)}return null},i=o=>{let u=[],a="",c=0;for(let f of o)f==="("?c++:f===")"&&c--,f===","&&c===0?(u.push(a.trim()),a=""):a+=f;return a.trim()&&u.push(a.trim()),u},n=(o,u)=>{let a=o.indexOf(u);if(a===-1)return null;let c=0,f=a+u.length;for(let d=f;d<o.length;d++)if(o[d]==="(")c++;else if(o[d]===")"){if(c===0)return o.substring(f,d);c--}return null},s=n(t,"linear-gradient(");if(s){let o=i(s),u=180,a=o,c=o[0].match(/^([\d.]+)deg$/);if(c)u=parseFloat(c[1]),a=o.slice(1);else if(o[0].startsWith("to ")){let d=o[0].replace("to ","");u={top:0,right:90,bottom:180,left:270,"top right":45,"right top":45,"bottom right":135,"right bottom":135,"bottom left":225,"left bottom":225,"top left":315,"left top":315}[d]??180,a=o.slice(1)}let f=a.map((d,h)=>{let p=d.match(/([\d.]+)%\s*$/),A=p?parseFloat(p[1]):h/(a.length-1)*100,w=p?d.replace(/([\d.]+)%\s*$/,"").trim():d.trim(),m={color:e(w),position:A},C=r(w);return C!==null&&(m.transparency=C),m});return{type:"linear",angle:u,stops:f}}let l=n(t,"radial-gradient(");if(l){let o=i(l),u=50,a=50,c=o,f=o[0].match(/at\s+([\d.]+)%?\s+([\d.]+)%?/);f?(u=parseFloat(f[1]),a=parseFloat(f[2]),c=o.slice(1)):(o[0].includes("circle")||o[0].includes("ellipse"))&&(c=o.slice(1));let d=c.map((h,p)=>{let A=h.match(/([\d.]+)%\s*$/),w=A?parseFloat(A[1]):p/(c.length-1)*100,m=A?h.replace(/([\d.]+)%\s*$/,"").trim():h.trim(),C={color:e(m),position:w},v=r(m);return v!==null&&(C.transparency=v),C});return{type:"radial",centerX:u,centerY:a,stops:d}}return null}function Cp(t){if(!t)return!1;let e=t.toLowerCase().replace(/['"]/g,"").split(",")[0].trim();return d0.includes(e)}function Jr(t){let e=t.letterSpacing;if(!e||e==="normal"||e==="0px")return null;let r=parseFloat(e);return isNaN(r)||r===0?null:r*.75}function Du(t){if(!t||t==="none")return{glow:null,shadow:null};let e=[],r="",i=0;for(let u of t)u==="("?i++:u===")"&&i--,u===","&&i===0?(e.push(r.trim()),r=""):r+=u;r.trim()&&e.push(r.trim());let n=null,s=null,l=0,o=0;for(let u of e){let a=u.match(/rgba?\([^)]+\)/),c=u.match(/([-\d.]+)px/g);if(!c||c.length<2)continue;let f=parseFloat(c[0]),d=parseFloat(c[1]),h=c.length>2?parseFloat(c[2]):0;if(h<=0)continue;let p=1;if(a){let m=a[0].match(/rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*([\d.]+)\s*\)/);m&&(p=parseFloat(m[1]))}let A=a?re(a[0]):"000000";if(Math.abs(f)<1&&Math.abs(d)<1)h>l&&(l=h,n={size:h*.75*2.5,color:A,opacity:Math.min(p*.3,1)});else{let m=Math.sqrt(f*f+d*d);if(m>o){o=m;let C=Math.atan2(d,f)*(180/Math.PI);C<0&&(C+=360),s={type:"outer",angle:Math.round(C),blur:h*.75,color:A,offset:m*.75,opacity:p}}}}return{glow:n,shadow:s}}function Mu(t,e){return e==="uppercase"?t.toUpperCase():e==="lowercase"?t.toLowerCase():e==="capitalize"?t.replace(/\b\w/g,r=>r.toUpperCase()):t}function p0(t,e){let r=0;if(e==="vertical-rl"?r=90:e==="vertical-lr"&&(r=270),t&&t!=="none"){let i=t.match(/rotate\((-?\d+(?:\.\d+)?)deg\)/);if(i)r+=parseFloat(i[1]);else{let n=t.match(/matrix\(([^)]+)\)/);if(n){let s=n[1].split(",").map(parseFloat),l=Math.atan2(s[1],s[0])*(180/Math.PI);r+=Math.round(l)}}}return r=r%360,r<0&&(r+=360),r===0?null:r}function A0(t,e,r){if(r===null)return{x:e.left,y:e.top,w:e.width,h:e.height};if(r===90||r===270){let l=e.left+e.width/2,o=e.top+e.height/2;return{x:l-e.height/2,y:o-e.width/2,w:e.height,h:e.width}}let n=e.left+e.width/2,s=e.top+e.height/2;return{x:n-t.offsetWidth/2,y:s-t.offsetHeight/2,w:t.offsetWidth,h:t.offsetHeight}}function m0(t,e){try{if(!t.naturalWidth||!t.naturalHeight||!e||e==="none")return t.src;let r=document.createElement("canvas");r.width=t.naturalWidth,r.height=t.naturalHeight;let i=r.getContext("2d");return i?(i.filter=e,i.drawImage(t,0,0),r.toDataURL("image/jpeg",.9)):t.src}catch{return t.src}}function g0(t,e,r,i,n){try{if(!t.naturalWidth||!t.naturalHeight||!t.complete)return null;let s=document.createElement("canvas");s.width=Math.round(r),s.height=Math.round(i);let l=s.getContext("2d");if(!l)return null;n!==void 0&&n<1&&(l.globalAlpha=n),l.drawImage(t,0,0,s.width,s.height),l.globalAlpha=1;try{l.getImageData(0,0,1,1)}catch{return null}return y0(l,s.width,s.height,e),s.toDataURL("image/png")}catch{return null}}function y0(t,e,r,i){t.globalCompositeOperation="destination-in";let n;if(i.type==="radial"){let s=(i.centerX??50)/100*e,l=(i.centerY??50)/100*r,o=Math.max(e,r);n=t.createRadialGradient(s,l,0,s,l,o)}else{let s=i.angle??180,l=(s-90)*Math.PI/180,o,u,a,c;if(s===0)o=e/2,u=r,a=e/2,c=0;else if(s===90)o=0,u=r/2,a=e,c=r/2;else if(s===180)o=e/2,u=0,a=e/2,c=r;else if(s===270)o=e,u=r/2,a=0,c=r/2;else{let f=Math.sqrt(e*e+r*r)/2,d=e/2,h=r/2;o=d-Math.cos(l)*f,u=h-Math.sin(l)*f,a=d+Math.cos(l)*f,c=h+Math.sin(l)*f}n=t.createLinearGradient(o,u,a,c)}for(let s of i.stops){let l=s.transparency!==void 0?(100-s.transparency)/100:1;n.addColorStop(s.position/100,`rgba(255,255,255,${l})`)}t.fillStyle=n,t.fillRect(0,0,e,r)}function w0(t){if(!t||t==="none")return null;let e={},r=!1,i=t.match(/brightness\(([\d.]+)\)/);if(i){let l=parseFloat(i[1]);l!==1&&(e.brightness=Math.round((l-1)*100),r=!0)}let n=t.match(/contrast\(([\d.]+)\)/);if(n){let l=parseFloat(n[1]);l!==1&&(e.contrast=Math.round((l-1)*100),r=!0)}let s=t.match(/saturate\(([\d.]+)\)/);if(s){let l=parseFloat(s[1]);l!==1&&(e.saturation=Math.round(l*100),r=!0)}return r?e:null}function Ou(t){if(!t||t==="none"||t.match(/inset/))return null;let r=t.match(/rgba?\([^)]+\)/),i=t.match(/([-\d.]+)(px|pt)/g);if(!i||i.length<2)return null;let n=parseFloat(i[0]),s=parseFloat(i[1]),l=i.length>2?parseFloat(i[2]):0,o=0;(n!==0||s!==0)&&(o=Math.atan2(s,n)*(180/Math.PI),o<0&&(o+=360));let u=Math.sqrt(n*n+s*s)*.75,a=.5;if(r){let c=r[0].match(/[\d.]+\)$/);c&&(a=parseFloat(c[0].replace(")","")))}return{type:"outer",angle:Math.round(o),blur:l*.75,color:r?re(r[0]):"000000",offset:u,opacity:a}}function Pu(t,e){let r=[],i=t.getBoundingClientRect();if(i.width<=0||i.height<=0)return r;for(let n of["::before","::after"]){let s=e.getComputedStyle(t,n),l=s.content;if(!l||l==="none"||l==="normal"||s.display==="none")continue;let o=parseFloat(s.width),u=parseFloat(s.height);if(isNaN(o)||o<=0){let k=parseFloat(s.left),D=parseFloat(s.right);!isNaN(k)&&!isNaN(D)?o=i.width-k-D:o=i.width}if(isNaN(u)||u<=0){let k=parseFloat(s.top),D=parseFloat(s.bottom);!isNaN(k)&&!isNaN(D)?u=i.height-k-D:u=i.height}if(o<1||u<1)continue;let a=parseFloat(s.left),c=parseFloat(s.top);isNaN(a)&&(a=0),isNaN(c)&&(c=0);let f=i.left+a,d=i.top+c,h=s.backgroundColor&&s.backgroundColor!=="rgba(0, 0, 0, 0)",p=s.backgroundImage,A=p&&p!=="none"&&(p.includes("linear-gradient")||p.includes("radial-gradient")),w=p&&p!=="none"&&p.includes("url(");if(!h&&!A&&!w)continue;let m=null;A&&(m=_r(p));let C=parseFloat(s.opacity),v=!isNaN(C)&&C<1,y=0,E=s.borderRadius,L=parseFloat(E);if(L>0)if(E.includes("%"))if(L>=50)y=1;else{let k=Math.min(o,u);y=L/100*yt(k)}else y=yt(L);let R=Ou(s.boxShadow),U={type:"shape",text:"",textRuns:null,style:null,position:{x:yt(f),y:yt(d),w:yt(o),h:yt(u)},shape:{fill:h?re(s.backgroundColor):null,gradient:m,transparency:h?xe(s.backgroundColor):null,line:null,rectRadius:y,shadow:R,opacity:v?C:null,isEllipse:!1,softEdge:null}};r.push(U)}return r}function zu(t,e,r,i,n){let s=!1,l=!1;return t.childNodes.forEach(o=>{let u=i;if(o.tagName==="BR")l=!0,s=!1;else if(o.nodeType===Node.TEXT_NODE){let a=u(o.textContent.replace(/\s+/g," ")),c=r[r.length-1];if(s&&c&&!l)c.text+=a;else{let f={...e};l&&(f.softBreakBefore=!0,l=!1),r.push({text:a,options:f})}s=!0}else if(o.nodeType===Node.ELEMENT_NODE&&o.textContent.trim()){let a=o,c={...e},f=n.getComputedStyle(a);if(new Set(["SPAN","B","STRONG","I","EM","U","CODE","A","MARK","SUB","SUP","SMALL","S","DEL","INS","ABBR","TIME","CITE","Q","DFN","KBD","SAMP","VAR"]).has(a.tagName)){if((f.fontWeight==="bold"||parseInt(f.fontWeight)>=600)&&!Cp(f.fontFamily)&&(c.bold=!0),f.fontStyle==="italic"&&(c.italic=!0),f.textDecoration&&f.textDecoration.includes("underline")&&(c.underline=!0),f.color&&f.color!=="rgb(0, 0, 0)"){c.color=re(f.color);let A=xe(f.color);A!==null&&(c.transparency=A)}f.fontSize&&(c.fontSize=Qt(f.fontSize)),f.fontFamily&&(c.fontFace=f.fontFamily.split(",")[0].replace(/['"]/g,"").trim());let p=Jr(f);if(p!==null&&(c.charSpacing=p),f.textTransform&&f.textTransform!=="none"){let A=f.textTransform;u=w=>Mu(w,A)}zu(a,c,r,u,n)}s=!1}}),r.length>0&&(r[0].text=r[0].text.replace(/^\s+/,""),r[r.length-1].text=r[r.length-1].text.replace(/\s+$/,"")),r.filter(o=>o.text.length>0)}function Ep(t){let e=t.defaultView||window,r=[],i=t.body,n=e.getComputedStyle(i),s=n.backgroundImage,l=n.backgroundColor,o;if(s&&s!=="none")if(s.includes("linear-gradient")||s.includes("radial-gradient")){let h=_r(s);h?o={type:"gradient",gradient:h}:o={type:"color",value:re(l)}}else{let h=s.match(/url\(["']?([^"')]+)["']?\)/);h?o={type:"image",path:h[1]}:o={type:"color",value:re(l)}}else o={type:"color",value:re(l)};let u=[],a=[],c=["P","H1","H2","H3","H4","H5","H6","UL","OL","LI","SPAN"],f=new Set,d=Pu(i,e);return u.push(...d),t.querySelectorAll("*").forEach(h=>{if(f.has(h))return;let p=h;if(c.includes(h.tagName)&&h.tagName!=="SPAN"){let j=e.getComputedStyle(h),Y=j.backgroundColor&&j.backgroundColor!=="rgba(0, 0, 0, 0)",I=j.borderWidth&&parseFloat(j.borderWidth)>0||j.borderTopWidth&&parseFloat(j.borderTopWidth)>0||j.borderRightWidth&&parseFloat(j.borderRightWidth)>0||j.borderBottomWidth&&parseFloat(j.borderBottomWidth)>0||j.borderLeftWidth&&parseFloat(j.borderLeftWidth)>0,B=j.boxShadow&&j.boxShadow!=="none";if(Y||I||B){r.push(`Text element <${h.tagName.toLowerCase()}> has ${Y?"background":I?"border":"shadow"}. Backgrounds, borders, and shadows are only supported on <div> elements, not text elements.`);return}}if(h.tagName==="SPAN"){let j=e.getComputedStyle(h),Y=j.backgroundColor&&j.backgroundColor!=="rgba(0, 0, 0, 0)",I=j.borderWidth&&parseFloat(j.borderWidth)>0||j.borderTopWidth&&parseFloat(j.borderTopWidth)>0||j.borderRightWidth&&parseFloat(j.borderRightWidth)>0||j.borderBottomWidth&&parseFloat(j.borderBottomWidth)>0||j.borderLeftWidth&&parseFloat(j.borderLeftWidth)>0,B=j.backgroundImage,nt=B&&B!=="none"&&(B.includes("linear-gradient")||B.includes("radial-gradient"));if(Y||I||nt){let X=p.getBoundingClientRect();if(X.width>0&&X.height>0){let _=h.textContent.trim(),Z=_r(j.backgroundImage),T=j.borderRadius,M=parseFloat(T),S=0,g=T.includes("%")?M>=50:M>0&&M>=Math.min(X.width,X.height)/2-1,b=X.width/X.height,F=g&&b>.5&&b<2;if(M>0&&!F)if(T.includes("%")){let Ft=Math.min(X.width,X.height);S=M/100*yt(Ft)}else S=yt(M);let P=j.borderTopWidth,K=j.borderRightWidth,q=j.borderBottomWidth,at=j.borderLeftWidth,ot=I&&P===K&&K===q&&q===at,st=parseFloat(j.opacity),lt=!isNaN(st)&&st<1,pt=Ou(j.boxShadow),mt={type:"shape",position:{x:yt(X.left),y:yt(X.top),w:yt(X.width),h:yt(X.height)},text:_,textRuns:null,style:_?{fontSize:Qt(j.fontSize),fontFace:j.fontFamily.split(",")[0].replace(/['"]/g,"").trim(),color:re(j.color),bold:parseInt(j.fontWeight)>=600,align:"center",valign:"middle"}:null,shape:{fill:Y?re(j.backgroundColor):null,gradient:Z,transparency:Y?xe(j.backgroundColor):null,line:ot?{color:re(j.borderColor),width:Qt(P),transparency:xe(j.borderColor)}:null,rectRadius:F?0:S,shadow:pt,opacity:lt?st:null,isEllipse:F,softEdge:null}};u.push(mt),f.add(h);return}}let Q=h.parentElement;if(Q&&Q.tagName==="DIV"){let X=p.getBoundingClientRect(),_=h.textContent.trim();if(X.width>0&&X.height>0&&_){let Z=e.getComputedStyle(h),T=parseFloat(Z.fontSize),M=parseFloat(Z.lineHeight),S=T>0&&!isNaN(M)?M/T:1,g={type:"p",text:[{text:_,options:{}}],position:{x:yt(X.left),y:yt(X.top),w:yt(X.width),h:yt(X.height)},style:{fontSize:Qt(Z.fontSize),fontFace:Z.fontFamily.split(",")[0].replace(/['"]/g,"").trim(),color:re(Z.color),bold:parseInt(Z.fontWeight)>=600,italic:Z.fontStyle==="italic",align:Z.textAlign==="center"?"center":Z.textAlign==="right"?"right":"left",valign:"middle",lineSpacing:S*Qt(Z.fontSize)}};u.push(g),f.add(h);return}}}if(h.className&&typeof h.className=="string"&&h.className.includes("placeholder")){let j=p.getBoundingClientRect();j.width===0||j.height===0?r.push(`Placeholder "${h.id||"unnamed"}" has ${j.width===0?"width: 0":"height: 0"}. Check the layout CSS.`):a.push({id:h.id||`placeholder-${a.length}`,x:yt(j.left),y:yt(j.top),w:yt(j.width),h:yt(j.height)}),f.add(h);return}if(h.tagName==="IMG"){let j=p.getBoundingClientRect();if(j.width>0&&j.height>0){let Y=e.getComputedStyle(h),I=t.body.getBoundingClientRect(),B=j.width>=I.width*.95,nt=j.height>=I.height*.95,Q=j.left<=10&&j.top<=10,X=B&&nt&&Q,_=Y.objectFit,Z=null,T=j.left,M=j.top,S=j.right,g=j.bottom,b=h.parentElement;for(;b&&b!==t.body;){let wt=e.getComputedStyle(b),Zt=wt.overflow;if(Zt==="hidden"||Zt==="clip"){let Yt=b.getBoundingClientRect();T=Math.max(T,Yt.left),M=Math.max(M,Yt.top),S=Math.min(S,Yt.right),g=Math.min(g,Yt.bottom);let Wt=wt.borderRadius;if(Wt&&Z===null){let Me=parseFloat(Wt);if(Me>0)if(Wt.includes("%")){let Lr=Math.min(Yt.width,Yt.height);Z=Me/100*yt(Lr)}else Wt.includes("pt")?Z=Me/72:Z=yt(Me)}}b=b.parentElement}let F=Math.max(0,S-T),P=Math.max(0,g-M),K=F<j.width-1||P<j.height-1,q=Y.filter,at=h.src,ot=!1;if(q&&q!=="none"){let wt=m0(h,q);wt!==at&&(at=wt,ot=!0)}let st=Y.maskImage||Y.webkitMaskImage||Y.getPropertyValue("mask-image")||Y.getPropertyValue("-webkit-mask-image"),lt=parseFloat(Y.opacity),pt=!isNaN(lt)&&lt<1&&lt>=0,mt=!1;if(st&&st!=="none"&&(st.includes("linear-gradient")||st.includes("radial-gradient"))){let wt=_r(st);if(wt){let Zt=K?F:j.width,Yt=K?P:j.height,Wt=g0(h,wt,Zt,Yt,pt?lt:void 0);Wt&&(at=Wt,mt=!0)}}let Ft=h,Xt=Ft.naturalWidth,_t=Ft.naturalHeight,Gt={type:X?"slideBackgroundImage":"image",src:at,position:{x:yt(K?T:j.left),y:yt(K?M:j.top),w:yt(K?F:j.width),h:yt(K?P:j.height)},sizing:_==="cover"?{type:"cover"}:null};if(_==="cover"&&Xt>0&&_t>0&&!X&&(Gt.naturalWidth=Xt,Gt.naturalHeight=_t),Z!==null&&(Gt.rectRadius=Z),!ot&&q&&q!=="none"){let wt=w0(q);wt&&(wt.brightness!==void 0&&(Gt.brightness=wt.brightness),wt.contrast!==void 0&&(Gt.contrast=wt.contrast),wt.saturation!==void 0&&(Gt.saturation=wt.saturation))}pt&&!mt&&(Gt.transparency=Math.round((1-lt)*100)),u.push(Gt),f.add(h);return}}if(h.tagName==="svg"){let j=p.getBoundingClientRect();if(j.width>0&&j.height>0){let Y=e.getComputedStyle(p);if(parseFloat(Y.opacity||"1")<.1){f.add(h),h.querySelectorAll("*").forEach(st=>f.add(st));return}let B=h,nt=B.querySelector("filter, pattern"),Q=B.querySelector("path, circle, ellipse, line, polyline, polygon, text, image"),X=B.querySelectorAll("rect"),_=Array.from(X).some(st=>!st.getAttribute("filter")?.startsWith("url("));if(nt&&!Q&&!_){f.add(h),h.querySelectorAll("*").forEach(st=>f.add(st));return}let T=B.querySelector('[filter^="url("]');if(nt&&T&&!Q){f.add(h),h.querySelectorAll("*").forEach(st=>f.add(st));return}let M=h.cloneNode(!0);M.hasAttribute("xmlns")||M.setAttribute("xmlns","http://www.w3.org/2000/svg"),M.setAttribute("width",String(j.width)),M.setAttribute("height",String(j.height));let S=e.getComputedStyle(p).color,g=e.getComputedStyle(t.documentElement),b=st=>{if(!st)return null;if(st==="currentColor")return S||null;let lt=st.match(/^var\(\s*(--[\w-]+)(?:\s*,\s*(.+))?\s*\)$/);if(lt){let pt=lt[1],mt=lt[2];return g.getPropertyValue(pt).trim()||mt||null}return null},F=st=>{let lt=st.getAttribute("fill"),pt=b(lt);pt&&st.setAttribute("fill",pt);let mt=st.getAttribute("stroke"),Ft=b(mt);Ft&&st.setAttribute("stroke",Ft),st.querySelectorAll("*").forEach(F)};F(M);let K=new XMLSerializer().serializeToString(M),ot={type:"image",src:`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(K)))}`,position:{x:yt(j.left),y:yt(j.top),w:yt(j.width),h:yt(j.height)},sizing:null};u.push(ot),f.add(h),h.querySelectorAll("*").forEach(st=>f.add(st));return}}if(h.tagName==="I"){f.add(h);return}let A=h.tagName==="DIV"&&!c.includes(h.tagName);if(A){let j=e.getComputedStyle(h),Y=j.backgroundColor&&j.backgroundColor!=="rgba(0, 0, 0, 0)",I=j.backgroundImage,B=null,nt=null,Q=null,X=null;if(I&&I!=="none")if(I.includes("linear-gradient")||I.includes("radial-gradient"))X=_r(I);else{let P=I.match(/url\(["']?([^"')]+)["']?\)/);P&&(B=P[1],nt=j.backgroundSize||"auto",Q=j.backgroundPosition||"0% 0%")}let _=j.borderTopWidth,Z=j.borderRightWidth,T=j.borderBottomWidth,M=j.borderLeftWidth,S=[_,Z,T,M].map(P=>parseFloat(P)||0),g=S.some(P=>P>0),b=g&&S.every(P=>P===S[0]),F=[];if(g&&!b){let P=p.getBoundingClientRect(),K=yt(P.left),q=yt(P.top),at=yt(P.width),ot=yt(P.height);if(parseFloat(_)>0&&!Fi(j.borderTopColor)){let st=Qt(_),lt=st/72/2;F.push({type:"line",x1:K,y1:q+lt,x2:K+at,y2:q+lt,width:st,color:re(j.borderTopColor),transparency:xe(j.borderTopColor)})}if(parseFloat(Z)>0&&!Fi(j.borderRightColor)){let st=Qt(Z),lt=st/72/2;F.push({type:"line",x1:K+at-lt,y1:q,x2:K+at-lt,y2:q+ot,width:st,color:re(j.borderRightColor),transparency:xe(j.borderRightColor)})}if(parseFloat(T)>0&&!Fi(j.borderBottomColor)){let st=Qt(T),lt=st/72/2;F.push({type:"line",x1:K,y1:q+ot-lt,x2:K+at,y2:q+ot-lt,width:st,color:re(j.borderBottomColor),transparency:xe(j.borderBottomColor)})}if(parseFloat(M)>0&&!Fi(j.borderLeftColor)){let st=Qt(M),lt=st/72/2;F.push({type:"line",x1:K+lt,y1:q,x2:K+lt,y2:q+ot,width:st,color:re(j.borderLeftColor),transparency:xe(j.borderLeftColor)})}}if(Y||g||B||X){let P=p.getBoundingClientRect();if(P.width>0&&P.height>0){let K=Ou(j.boxShadow);if(B){let Rt={type:"backgroundImage",src:B,position:{x:yt(P.left),y:yt(P.top),w:yt(P.width),h:yt(P.height)},sizing:{type:nt==="cover"?"cover":nt==="contain"?"contain":"cover",position:Q}};u.push(Rt)}let q=new Set(["P","H1","H2","H3","H4","H5","H6","SPAN"]),at=Array.from(h.children),ot=at.filter(Rt=>{if(q.has(Rt.tagName))return!0;if(Rt.tagName==="DIV"){let St=Array.from(Rt.children);if(!(St.length===0||St.every(Ne=>Ne.tagName==="BR")||St.length===1&&St[0].tagName==="P"&&St[0].children.length===0)||!Rt.textContent?.trim())return!1;let Kt=e.getComputedStyle(Rt),Oe=Kt.backgroundColor&&Kt.backgroundColor!=="rgba(0, 0, 0, 0)",ar=Kt.backgroundImage&&Kt.backgroundImage!=="none",pe=[Kt.borderTopWidth,Kt.borderRightWidth,Kt.borderBottomWidth,Kt.borderLeftWidth].map(Ne=>parseFloat(Ne)||0).some(Ne=>Ne>0);return!Oe&&!ar&&!pe}return!1}),st=new Set(["I","SVG","CANVAS","VIDEO","AUDIO","IFRAME"]),lt=at.filter(Rt=>!q.has(Rt.tagName)&&!st.has(Rt.tagName)&&!(Rt.tagName==="DIV"&&ot.includes(Rt))),pt=ot.length===1&&(()=>{let Rt=ot[0],St=Array.from(Rt.children);return St.length===0||St.every(qt=>qt.tagName==="BR")||St.length===1&&St[0].tagName==="P"&&St[0].children.length===0})()&&lt.length===0,mt=j.display,Ft=mt==="flex"||mt==="inline-flex",Xt=j.alignItems,_t=j.justifyContent,Gt="top",wt="left";if(Ft){let Rt=j.flexDirection||"row";Rt==="row"||Rt==="row-reverse"?(Xt==="center"?Gt="middle":Xt==="flex-end"||Xt==="end"?Gt="bottom":Gt="top",_t==="center"?wt="center":_t==="flex-end"||_t==="end"?wt="right":wt="left"):(Xt==="center"?wt="center":Xt==="flex-end"||Xt==="end"?wt="right":wt="left",_t==="center"?Gt="middle":_t==="flex-end"||_t==="end"?Gt="bottom":Gt="top")}else{let Rt=j.textAlign;if(Rt==="center")wt="center";else if(Rt==="right"||Rt==="end")wt="right";else{let St=parseFloat(j.paddingLeft)||0,qt=parseFloat(j.paddingRight)||0,$t=Math.abs(St-qt);St>0&&$t<2?wt="center":wt="left"}}let Zt="",Yt=null,Wt=null;if(ot.length>0&&(pt||lt.length===0))if(pt){let Rt=ot[0],St=e.getComputedStyle(Rt);Zt=Rt.textContent.trim();let qt=null,$t=St.webkitBackgroundClip||St.backgroundClip,Kt=St.webkitTextFillColor,Oe=$t==="text",ar=Kt==="transparent"||Kt==="rgba(0, 0, 0, 0)"||Kt&&Kt.includes("rgba")&&Kt.endsWith(", 0)"),fr=j.webkitBackgroundClip||j.backgroundClip,pe=j.webkitTextFillColor,Ne=fr==="text",le=pe==="transparent"||pe==="rgba(0, 0, 0, 0)"||pe&&pe.includes("rgba")&&pe.endsWith(", 0)");if(Oe&&ar||Ne&&le){let dr=Oe&&ar?St.backgroundImage:j.backgroundImage;dr&&dr!=="none"&&(dr.includes("linear-gradient")||dr.includes("radial-gradient"))&&(qt={type:"gradient",gradient:_r(dr)||void 0},X=null)}let _e=St.color!=="rgb(0, 0, 0)"?St.color:j.color,Fe=St.fontWeight==="bold"||parseInt(St.fontWeight)>=600||j.fontWeight==="bold"||parseInt(j.fontWeight)>=600,hr=wt,ze=St.textAlign;(ze==="center"||ze==="right"||ze==="end")&&(hr=ze==="end"?"right":ze);let Le=j.whiteSpace||St.whiteSpace,we=Le==="nowrap"||Le==="pre"||P.width<100||P.height<50;Wt={fontSize:Qt(St.fontSize||j.fontSize),fontFace:(St.fontFamily||j.fontFamily).split(",")[0].replace(/['"]/g,"").trim(),color:qt?null:re(_e),fontFill:qt,bold:Fe,align:hr,valign:Gt,inset:0,wrap:!we};let zn=Jr(St);zn!==null&&(Wt.charSpacing=zn);let Un=Du(St.textShadow);Un.glow&&(Wt.glow=Un.glow),Un.shadow&&(Wt.textShadow=Un.shadow),f.add(Rt),Rt.querySelectorAll("*").forEach(dr=>f.add(dr))}else Yt=[],ot.forEach((Rt,St)=>{let qt=Rt,$t=e.getComputedStyle(qt),Kt=qt.textContent.trim();if(!Kt)return;let Oe=$t.fontWeight==="bold"||parseInt($t.fontWeight)>=600,ar=$t.fontStyle==="italic",fr=$t.textDecoration&&$t.textDecoration.includes("underline"),pe={fontSize:Qt($t.fontSize),fontFace:$t.fontFamily.split(",")[0].replace(/['"]/g,"").trim(),color:re($t.color),bold:Oe,italic:ar,underline:fr||!1,...Jr($t)!==null?{charSpacing:Jr($t)}:{},...(()=>{let le=Du($t.textShadow);return le.glow?{glow:le.glow}:{}})()};if(qt.querySelector("br")!==null){let le=[],_e="";for(let Fe of Array.from(qt.childNodes))Fe.tagName==="BR"?(le.push(_e.trim()),_e=""):_e+=Fe.textContent||"";_e.trim()&&le.push(_e.trim()),le=le.filter(Fe=>Fe.length>0),le.forEach((Fe,hr)=>{let Le=(hr===0&&St>0&&Yt.length>0?`
58
58
  `:"")+Fe,we={...pe};hr>0&&(we.softBreakBefore=!0),Yt.push({text:Le,options:we})})}else{let le=St>0&&Yt.length>0?`
59
- `+Kt:Kt,_e=St>0&&Yt.length>0?{...pe,breakLine:!0}:pe;Yt.push({text:le,options:_e})}f.add(qt),qt.querySelectorAll("*").forEach(le=>f.add(le))}),Wt={align:wt,valign:Gt,inset:0};if(Y||b||X){let Rt=parseFloat(j.opacity),St=!isNaN(Rt)&&Rt<1,qt=null,$t=j.filter;if($t&&$t!=="none"){let Le=$t.match(/blur\(([\d.]+)px\)/);if(Le){let we=parseFloat(Le[1]);we>0&&(qt=we*.75)}}let Kt=j.borderRadius,Oe=parseFloat(Kt),ar=Kt.includes("%")?Oe>=50:Oe>0&&Oe>=Math.min(P.width,P.height)/2-1,fr=P.width/P.height,pe=ar&&fr>.5&&fr<2,Ne=parseFloat(j.paddingTop)||0,le=parseFloat(j.paddingRight)||0,_e=parseFloat(j.paddingBottom)||0,Fe=parseFloat(j.paddingLeft)||0,hr=Ne>2||le>2||_e>2||Fe>2,ze={type:"shape",text:Zt,textRuns:Yt,style:Wt,position:{x:yt(P.left),y:yt(P.top),w:yt(P.width),h:yt(P.height)},shape:{fill:Y?re(j.backgroundColor):null,gradient:X,transparency:Y?xe(j.backgroundColor):null,line:b?{color:re(j.borderColor),width:Qt(j.borderWidth),transparency:xe(j.borderColor)}:null,rectRadius:(()=>{if(pe)return 0;let Le=j.borderRadius,we=parseFloat(Le);if(we===0)return 0;if(Le.includes("%")){if(we>=50)return 1;let zn=Math.min(P.width,P.height);return we/100*yt(zn)}return Le.includes("pt")?we/72:we/96})(),shadow:K,opacity:St?Rt:null,isEllipse:pe,softEdge:qt}};hr&&ze.style&&(Zt||Yt&&Yt.length>0)&&(ze.style.margin=[Fe*.75,le*.75,_e*.75,Ne*.75]),u.push(ze)}else if(Wt&&Wt.fontFill){let Rt={type:"p",text:Zt,position:{x:yt(P.left),y:yt(P.top),w:yt(P.width),h:yt(P.height)},style:Wt};u.push(Rt)}else pt&&f.delete(ot[0]);u.push(...F),f.add(h);return}}if(A){let P=p.getBoundingClientRect();if(P.width>0&&P.height>0){let K="";for(let ot of Array.from(h.childNodes))ot.nodeType===Node.TEXT_NODE&&(K+=ot.textContent||"");K=K.trim();let q=Array.from(h.children);!K&&q.length===1&&q[0].tagName==="P"&&q[0].children.length===0&&(K=q[0].textContent?.trim()||"");let at=q.length>0&&!q.every(ot=>ot.tagName==="BR")&&!(q.length===1&&q[0].tagName==="P"&&q[0].children.length===0);if(K&&!at){let ot=e.getComputedStyle(h),st=parseFloat(ot.fontSize),lt=parseFloat(ot.lineHeight),pt=st>0&&!isNaN(lt)?lt/st:1,mt={type:"p",text:[{text:K,options:{}}],position:{x:yt(P.left),y:yt(P.top),w:yt(P.width),h:yt(P.height)},style:{fontSize:Qt(ot.fontSize),fontFace:ot.fontFamily.split(",")[0].replace(/['"]/g,"").trim(),color:re(ot.color),bold:parseInt(ot.fontWeight)>=600,italic:ot.fontStyle==="italic",align:ot.textAlign==="center"?"center":ot.textAlign==="right"||ot.textAlign==="end"?"right":"left",valign:"middle",lineSpacing:pt*Qt(ot.fontSize)}},Ft=xe(ot.color);Ft!==null&&(mt.style.transparency=Ft);let Xt=Jr(ot);Xt!==null&&(mt.style.charSpacing=Xt),u.push(mt),f.add(h),h.querySelectorAll("*").forEach(_t=>f.add(_t));return}}}}if(h.tagName==="UL"||h.tagName==="OL"){let j=p.getBoundingClientRect();if(j.width===0||j.height===0)return;let Y=Array.from(h.querySelectorAll("li")),I=[],B=e.getComputedStyle(h),nt=Qt(B.paddingLeft),Q=nt*.5,X=nt*.5,Z=B.listStyleType!=="none";if(Y.some(P=>{let K=e.getComputedStyle(P);return K.display==="flex"||K.display==="inline-flex"})&&!Z)return;Y.forEach((P,K)=>{let q=K===Y.length-1,at=zu(P,{breakLine:!1},[],ot=>ot,e);at.length>0&&(at[0].text=at[0].text.replace(/^[•\-\*\u25AA\u25B8]\s*/,""),Z&&(at[0].options.bullet={indent:X})),at.length>0&&!q&&(at[at.length-1].options.breakLine=!0),I.push(...at)});let M=e.getComputedStyle(Y[0]||h),S=parseFloat(M.fontSize),g=parseFloat(M.lineHeight),b=S>0&&!isNaN(g)?g/S:1,F={type:"list",items:I,position:{x:yt(j.left),y:yt(j.top),w:yt(j.width),h:yt(j.height)},style:{fontSize:Qt(M.fontSize),fontFace:M.fontFamily.split(",")[0].replace(/['"]/g,"").trim(),color:re(M.color),transparency:xe(M.color),align:M.textAlign==="start"?"left":M.textAlign,lineSpacing:Qt(M.fontSize)*b,paraSpaceBefore:0,paraSpaceAfter:Qt(M.marginBottom),margin:[Q,0,0,0]}};u.push(F),Y.forEach(P=>f.add(P)),f.add(h);return}if(!c.includes(h.tagName)||h.tagName==="SPAN")return;let w=p.getBoundingClientRect(),m=h.textContent.trim();if(w.width===0||w.height===0||!m)return;let C=e.getComputedStyle(h);if((C.display==="flex"||C.display==="inline-flex")&&h.children.length>0){let j=[];if(h.childNodes.forEach(Y=>{Y.nodeType===Node.TEXT_NODE&&Y.textContent.trim()&&j.push(Y)}),j.length>0){let Y=t.createRange();Y.setStartBefore(j[0]),Y.setEndAfter(j[j.length-1]);let I=Y.getBoundingClientRect();I.width>0&&I.height>0&&(w=I,m=j.map(B=>B.textContent.trim()).join(" ").trim())}}if(h.tagName!=="LI"&&/^[•\-\*\u25AA\u25B8\u25CB\u25CF\u25C6\u25C7\u25A0\u25A1]\s/.test(m.trimStart())){r.push(`Text element <${h.tagName.toLowerCase()}> starts with bullet symbol "${m.substring(0,20)}...". Use <ul> or <ol> lists instead of manual bullet symbols.`);return}let y=p0(C.transform,C.writingMode),{x:E,y:L,w:R,h:U}=A0(p,w,y),k=parseFloat(C.fontSize),D=parseFloat(C.lineHeight),V=k>0&&!isNaN(D)?D/k:1,x=C.textAlign==="start"?"left":C.textAlign,O=null,N=j=>{if(!j)return null;let Y=e.getComputedStyle(j),I=Y.display;if(I==="flex"||I==="inline-flex"){let B=Y.flexDirection||"row",nt=Y.alignItems;if((B==="row"||B==="row-reverse")&&j.children.length>1)return{alignItems:nt,flexDirection:B}}return null},G=h.parentElement,rt=N(G);!rt&&G&&(rt=N(G.parentElement)),rt&&rt.alignItems==="center"&&(O="middle");let W={fontSize:Qt(C.fontSize),fontFace:C.fontFamily.split(",")[0].replace(/['"]/g,"").trim(),color:re(C.color),align:x,valign:O,lineSpacing:Qt(C.fontSize)*V,paraSpaceBefore:Qt(C.marginTop),paraSpaceAfter:Qt(C.marginBottom),margin:[Qt(C.paddingLeft),Qt(C.paddingRight),Qt(C.paddingBottom),Qt(C.paddingTop)]},J=xe(C.color);J!==null&&(W.transparency=J);let H=Jr(C);H!==null&&(W.charSpacing=H);let tt=Du(C.textShadow);tt.glow&&(W.glow=tt.glow),tt.shadow&&(W.textShadow=tt.shadow),y!==null&&(W.rotate=y);let et=C.webkitBackgroundClip||C.backgroundClip,z=C.webkitTextFillColor,$=z==="transparent"||z==="rgba(0, 0, 0, 0)"||z&&z.includes("rgba")&&z.endsWith(", 0)");if(et==="text"&&$){let j=C.backgroundImage;if(j&&j!=="none"&&(j.includes("linear-gradient")||j.includes("radial-gradient"))){let Y=_r(j);Y&&(W.fontFill={type:"gradient",gradient:Y},delete W.color)}}if(h.querySelector("b, i, u, strong, em, span, br, code, a, mark, sub, sup, small, s, del, ins, abbr, time, cite, q, dfn, kbd, samp, var")){let j=C.textTransform,Y=zu(h,{},[],B=>Mu(B,j),e),I={type:h.tagName.toLowerCase(),text:Y,position:{x:yt(E),y:yt(L),w:yt(R),h:yt(U)},style:W};u.push(I)}else{let j=C.textTransform,Y=Mu(m,j),I=C.fontWeight==="bold"||parseInt(C.fontWeight)>=600,B={type:h.tagName.toLowerCase(),text:Y,position:{x:yt(E),y:yt(L),w:yt(R),h:yt(U)},style:{...W,bold:I&&!Cp(C.fontFamily),italic:C.fontStyle==="italic",underline:C.textDecoration.includes("underline")}};u.push(B)}f.add(h)}),f.forEach(h=>{let p=h;if(p.tagName==="BODY")return;let A=Pu(p,e);u.push(...A)}),t.querySelectorAll("div").forEach(h=>{if(f.has(h))return;let p=h;if(p===i)return;let A=p.getBoundingClientRect();if(A.width<=0||A.height<=0)return;let w=Pu(p,e);u.push(...w)}),{background:o,elements:u,placeholders:a,errors:r}}function _p(t){let e=t.replace("#","");return{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16)}}function v0(t,e,r){let i=n=>Math.round(Math.max(0,Math.min(255,n))).toString(16).padStart(2,"0");return`${i(t)}${i(e)}${i(r)}`.toUpperCase()}function b0(t,e,r){let i=_p(t),n=_p(e),s=i.r*r+n.r*(1-r),l=i.g*r+n.g*(1-r),o=i.b*r+n.b*(1-r);return v0(s,l,o)}function x0(t,e,r){return{...t,stops:t.stops.map(i=>{let n=i.transparency!==void 0?(100-i.transparency)/100:1,s=e*n;return{...i,color:b0(i.color,r,s),transparency:void 0}})}}async function Sp(t){try{let e=await fetch(t,{mode:"cors"});if(!e.ok)throw new Error(`Failed to fetch image: ${e.status}`);let r=await e.blob();return new Promise((i,n)=>{let s=new FileReader;s.onloadend=()=>i(s.result),s.onerror=n,s.readAsDataURL(r)})}catch(e){let r=e instanceof Error?e.message:String(e);throw new Error(`Failed to fetch image ${t}: ${r}`)}}async function Tp(t,e){if(t.type==="image"&&t.path)try{let r=await Sp(t.path);e.background={data:r}}catch(r){let i=r instanceof Error?r.message:String(r);console.warn("Could not load background image:",i)}else t.type==="gradient"&&t.gradient?e.background={type:"gradient",gradient:t.gradient}:t.type==="color"&&t.value&&(e.background={color:t.value})}async function Uu(t){if(t.startsWith("data:"))return{data:t};try{return{data:await Sp(t)}}catch(e){let r=e instanceof Error?e.message:String(e);return console.warn(`Could not fetch image ${t}: ${r}`),null}}async function Np(t,e,r,i){for(let n of t)if(n.type==="slideBackgroundImage"){let s=await Uu(n.src);if(!s){console.warn(`Skipping slide background image (CORS failure): ${n.src}`);continue}let l={...s,x:n.position.x,y:n.position.y,w:n.position.w,h:n.position.h};n.sizing&&n.sizing.type&&(l.sizing={type:n.sizing.type,w:n.position.w,h:n.position.h}),n.brightness!==void 0&&(l.brightness=n.brightness),n.contrast!==void 0&&(l.contrast=n.contrast),n.saturation!==void 0&&(l.saturation=n.saturation),n.transparency!==void 0&&(l.transparency=n.transparency),e.addImage(l)}for(let n of t)if(n.type!=="slideBackgroundImage")if(n.type==="image"){let s=await Uu(n.src);if(!s){console.warn(`Skipping image (CORS failure): ${n.src}`);continue}let l={...s,x:n.position.x,y:n.position.y,w:n.position.w,h:n.position.h};if(n.sizing&&n.sizing.type==="cover"&&n.naturalWidth&&n.naturalHeight){let o=n.naturalHeight/n.naturalWidth,a=n.position.h/n.position.w>o,c=a?n.position.h/o:n.position.w,f=a?n.position.h:n.position.w*o,d=(c-n.position.w)/2,h=(f-n.position.h)/2;l.w=c,l.h=f,l.sizing={type:"crop",x:d,y:h,w:n.position.w,h:n.position.h}}else n.sizing&&n.sizing.type&&(l.sizing={type:n.sizing.type,w:n.position.w,h:n.position.h});n.rectRadius&&(l.rectRadius=n.rectRadius),n.brightness!==void 0&&(l.brightness=n.brightness),n.contrast!==void 0&&(l.contrast=n.contrast),n.saturation!==void 0&&(l.saturation=n.saturation),n.transparency!==void 0&&(l.transparency=n.transparency),e.addImage(l)}else if(n.type==="backgroundImage"){let s=await Uu(n.src);if(!s){console.warn(`Skipping background image (CORS failure): ${n.src}`);continue}let l={...s,x:n.position.x,y:n.position.y,w:n.position.w,h:n.position.h};n.sizing&&n.sizing.type&&(l.sizing={type:n.sizing.type,w:n.position.w,h:n.position.h}),e.addImage(l)}else if(n.type==="line"){let s={color:n.color,width:n.width};n.transparency!=null&&(s.transparency=n.transparency),e.addShape(r.ShapeType.line,{x:n.x1,y:n.y1,w:n.x2-n.x1,h:n.y2-n.y1,line:s})}else if(n.type==="shape"){let s=r.ShapeType.rect;n.shape.isEllipse?s=r.ShapeType.ellipse:n.shape.rectRadius>0&&(s=r.ShapeType.roundRect);let l=n.style?.lineSpacing||(n.style?.fontSize??12)*1.2,o=n.style?.margin?(n.style.margin[2]||0)+(n.style.margin[3]||0):0,a=n.position.h*72-o<=l*1.5,c=n.text||n.textRuns&&n.textRuns.length>0,f=n.position.x,d=n.position.w;if(a&&c){let w=n.position.w*.02,m=n.style?.align;m==="center"?(f=n.position.x-w/2,d=n.position.w+w):(m==="right"&&(f=n.position.x-w),d=n.position.w+w)}let h={x:f,y:n.position.y,w:d,h:n.position.h,shape:s,wrap:!a},p=n.shape.transparency,A=n.shape.opacity!==null&&n.shape.opacity<1?n.shape.opacity:1;if(A<1){let w=Math.round((1-A)*100);if(p!==null){let m=(100-p)/100;p=Math.round((1-m*A)*100)}else p=w}if(n.shape.gradient)if(A<1&&i){let w=x0(n.shape.gradient,A,i);h.fill={type:"gradient",gradient:w}}else h.fill={type:"gradient",gradient:n.shape.gradient};else n.shape.fill&&(h.fill={color:n.shape.fill},p!=null&&(h.fill.transparency=p));if(n.shape.line){let w={color:n.shape.line.color,width:n.shape.line.width};n.shape.line.transparency!=null&&(w.transparency=n.shape.line.transparency),h.line=w}n.shape.rectRadius>0&&(h.rectRadius=n.shape.rectRadius),n.shape.shadow&&(h.shadow=n.shape.shadow),n.shape.softEdge&&(h.softEdgeRad=n.shape.softEdge),n.style&&(n.style.fontSize&&(h.fontSize=n.style.fontSize),n.style.fontFace&&(h.fontFace=n.style.fontFace),n.style.color&&(h.color=n.style.color),n.style.bold&&(h.bold=n.style.bold),n.style.align&&(h.align=n.style.align),n.style.valign&&(h.valign=n.style.valign),n.style.fontFill&&(h.fontFill=n.style.fontFill),n.style.margin&&(h.margin=n.style.margin),n.style.inset!==void 0&&(h.inset=n.style.inset),n.style.charSpacing&&(h.charSpacing=n.style.charSpacing),n.style.glow&&(h.glow={size:n.style.glow.size,color:n.style.glow.color,opacity:n.style.glow.opacity}),n.style.textShadow&&!n.shape.shadow&&(h.shadow=n.style.textShadow)),n.textRuns&&n.textRuns.length>0?e.addText(n.textRuns,h):e.addText(n.text||"",h)}else if(n.type==="list"){let s={x:n.position.x,y:n.position.y,w:n.position.w,h:n.position.h,fontSize:n.style.fontSize,fontFace:n.style.fontFace,color:n.style.color??void 0,align:n.style.align,valign:"top",lineSpacing:n.style.lineSpacing,paraSpaceBefore:n.style.paraSpaceBefore,paraSpaceAfter:n.style.paraSpaceAfter,margin:n.style.margin};n.style.margin&&(s.margin=n.style.margin),e.addText(n.items,s)}else{let s=n.style.lineSpacing||(n.style.fontSize??0)*1.2,o=n.position.h*72<=s*1.5,u=n.position.x,a=n.position.w;if(o){let f=n.position.w*.02,d=n.style.align;d==="center"?(u=n.position.x-f/2,a=n.position.w+f):(d==="right"&&(u=n.position.x-f),a=n.position.w+f)}let c={x:u,y:n.position.y,w:a,h:n.position.h,fontSize:n.style.fontSize,fontFace:n.style.fontFace,color:n.style.color??void 0,bold:n.style.bold,italic:n.style.italic,underline:n.style.underline,valign:n.style.valign||"top",lineSpacing:n.style.lineSpacing,paraSpaceBefore:n.style.paraSpaceBefore,paraSpaceAfter:n.style.paraSpaceAfter,inset:0,wrap:!o};n.style.align&&(c.align=n.style.align),n.style.margin&&(c.margin=n.style.margin),n.style.rotate!==void 0&&(c.rotate=n.style.rotate),n.style.transparency!==null&&n.style.transparency!==void 0&&(c.transparency=n.style.transparency),n.style.charSpacing&&(c.charSpacing=n.style.charSpacing),n.style.fontFill&&(c.fontFill=n.style.fontFill,delete c.color),n.style.glow&&(c.glow={size:n.style.glow.size,color:n.style.glow.color,opacity:n.style.glow.opacity}),n.style.textShadow&&(c.shadow=n.style.textShadow),e.addText(n.text,c)}}var Fp=.75,Wu=96,Lp=914400;function C0(t){let e=t.body,r=t.defaultView.getComputedStyle(e),i=parseFloat(r.width),n=parseFloat(r.height),s=e.scrollWidth,l=e.scrollHeight,o=[],u=r.overflow,a=r.overflowX,c=r.overflowY;if(!(u==="hidden"||a==="hidden"&&c==="hidden")){let d=Math.max(0,s-i-1),h=Math.max(0,l-n-1),p=d*Fp,A=h*Fp,w=5;if(p>w||A>w){let m=[];p>w&&m.push(`${p.toFixed(1)}pt horizontally`),A>w&&m.push(`${A.toFixed(1)}pt vertically`);let C=A>w?' (Remember: leave 0.5" margin at bottom of slide)':"";o.push(`HTML content overflows body by ${m.join(" and ")}${C}`)}}return{width:i,height:n,scrollWidth:s,scrollHeight:l,errors:o}}function E0(t,e){let r=[],i=t.width/Wu,n=t.height/Wu;if(e.presLayout){let s=e.presLayout.width/Lp,l=e.presLayout.height/Lp;(Math.abs(s-i)>.1||Math.abs(l-n)>.1)&&r.push(`HTML dimensions (${i.toFixed(1)}" \xD7 ${n.toFixed(1)}") don't match presentation layout (${s.toFixed(1)}" \xD7 ${l.toFixed(1)}")`)}return r}function _0(t,e){let r=[],i=e.height/Wu,n=.5,s=.01,l=new Set(["p","h1","h2","h3","h4","h5","h6","list"]);for(let o of t.elements){if(!l.has(o.type))continue;let u=o,a=u.style?.fontSize||0,c=u.position.y+u.position.h,f=i-c;if(a>12&&f<n-s){let h=(()=>{if("text"in u){if(typeof u.text=="string")return u.text;if(Array.isArray(u.text))return u.text.find(A=>A.text)?.text||""}return"items"in u&&Array.isArray(u.items)&&u.items.find(A=>A.text)?.text||""})(),p=h.substring(0,50)+(h.length>50?"...":"");r.push(`Text box "${p}" ends too close to bottom edge (${f.toFixed(2)}" from bottom, minimum ${n}" required)`)}}return r}async function S0(t){let e=document.createElement("iframe");e.style.cssText="position:absolute;left:-9999px;width:960px;height:540px;border:none;";let r=new Blob([t],{type:"text/html"}),i=URL.createObjectURL(r);e.src=i,document.body.appendChild(e),await new Promise(s=>{let l=!1,o=()=>{l||(l=!0,URL.revokeObjectURL(i),s())};e.onload=o,setTimeout(o,500)});let n=e.contentDocument||e.contentWindow.document;return{iframe:e,doc:n}}async function kn(t,e,r={}){let{slide:i=null}=r,n,s=null;try{if(t instanceof Document)n=t;else if(t instanceof HTMLIFrameElement)n=t.contentDocument||t.contentWindow.document;else if(typeof t=="string"){let h=await S0(t);n=h.doc,s=h.iframe}else throw new Error("Source must be a Document, HTMLIFrameElement, or HTML string");let l=[],o=C0(n),u=Ep(n);o.errors.length>0&&l.push(...o.errors);let a=E0(o,e);a.length>0&&l.push(...a);let c=_0(u,o);if(c.length>0&&l.push(...c),u.errors.length>0&&l.push(...u.errors),l.length>0){let h=l.length===1?l[0]:`Multiple validation errors found:
59
+ `+Kt:Kt,_e=St>0&&Yt.length>0?{...pe,breakLine:!0}:pe;Yt.push({text:le,options:_e})}f.add(qt),qt.querySelectorAll("*").forEach(le=>f.add(le))}),Wt={align:wt,valign:Gt,inset:0};if(Y||b||X){let Rt=parseFloat(j.opacity),St=!isNaN(Rt)&&Rt<1,qt=null,$t=j.filter;if($t&&$t!=="none"){let Le=$t.match(/blur\(([\d.]+)px\)/);if(Le){let we=parseFloat(Le[1]);we>0&&(qt=we*.75)}}let Kt=j.borderRadius,Oe=parseFloat(Kt),ar=Kt.includes("%")?Oe>=50:Oe>0&&Oe>=Math.min(P.width,P.height)/2-1,fr=P.width/P.height,pe=ar&&fr>.5&&fr<2,Ne=parseFloat(j.paddingTop)||0,le=parseFloat(j.paddingRight)||0,_e=parseFloat(j.paddingBottom)||0,Fe=parseFloat(j.paddingLeft)||0,hr=Ne>2||le>2||_e>2||Fe>2,ze={type:"shape",text:Zt,textRuns:Yt,style:Wt,position:{x:yt(P.left),y:yt(P.top),w:yt(P.width),h:yt(P.height)},shape:{fill:Y?re(j.backgroundColor):null,gradient:X,transparency:Y?xe(j.backgroundColor):null,line:b?{color:re(j.borderColor),width:Qt(j.borderWidth),transparency:xe(j.borderColor)}:null,rectRadius:(()=>{if(pe)return 0;let Le=j.borderRadius,we=parseFloat(Le);if(we===0)return 0;if(Le.includes("%")){if(we>=50)return 1;let zn=Math.min(P.width,P.height);return we/100*yt(zn)}return Le.includes("pt")?we/72:we/96})(),shadow:K,opacity:St?Rt:null,isEllipse:pe,softEdge:qt}};hr&&ze.style&&(Zt||Yt&&Yt.length>0)&&(ze.style.margin=[Fe*.75,le*.75,_e*.75,Ne*.75]),u.push(ze)}else if(Wt&&Wt.fontFill){let Rt={type:"p",text:Zt,position:{x:yt(P.left),y:yt(P.top),w:yt(P.width),h:yt(P.height)},style:Wt};u.push(Rt)}else pt&&f.delete(ot[0]);u.push(...F),f.add(h);return}}if(A){let P=p.getBoundingClientRect();if(P.width>0&&P.height>0){let K="";for(let ot of Array.from(h.childNodes))ot.nodeType===Node.TEXT_NODE&&(K+=ot.textContent||"");K=K.trim();let q=Array.from(h.children);!K&&q.length===1&&q[0].tagName==="P"&&q[0].children.length===0&&(K=q[0].textContent?.trim()||"");let at=q.length>0&&!q.every(ot=>ot.tagName==="BR")&&!(q.length===1&&q[0].tagName==="P"&&q[0].children.length===0);if(K&&!at){let ot=e.getComputedStyle(h),st=parseFloat(ot.fontSize),lt=parseFloat(ot.lineHeight),pt=st>0&&!isNaN(lt)?lt/st:1,mt={type:"p",text:[{text:K,options:{}}],position:{x:yt(P.left),y:yt(P.top),w:yt(P.width),h:yt(P.height)},style:{fontSize:Qt(ot.fontSize),fontFace:ot.fontFamily.split(",")[0].replace(/['"]/g,"").trim(),color:re(ot.color),bold:parseInt(ot.fontWeight)>=600,italic:ot.fontStyle==="italic",align:ot.textAlign==="center"?"center":ot.textAlign==="right"||ot.textAlign==="end"?"right":"left",valign:"middle",lineSpacing:pt*Qt(ot.fontSize)}},Ft=xe(ot.color);Ft!==null&&(mt.style.transparency=Ft);let Xt=Jr(ot);Xt!==null&&(mt.style.charSpacing=Xt),u.push(mt),f.add(h),h.querySelectorAll("*").forEach(_t=>f.add(_t));return}}}}if(h.tagName==="UL"||h.tagName==="OL"){let j=p.getBoundingClientRect();if(j.width===0||j.height===0)return;let Y=Array.from(h.querySelectorAll("li")),I=[],B=e.getComputedStyle(h),nt=Qt(B.paddingLeft),Q=nt*.5,X=nt*.5,Z=B.listStyleType!=="none";if(Y.some(P=>{let K=e.getComputedStyle(P);return K.display==="flex"||K.display==="inline-flex"})&&!Z)return;Y.forEach((P,K)=>{let q=K===Y.length-1,at=zu(P,{breakLine:!1},[],ot=>ot,e);at.length>0&&(at[0].text=at[0].text.replace(/^[•\-\*\u25AA\u25B8]\s*/,""),Z&&(at[0].options.bullet={indent:X})),at.length>0&&!q&&(at[at.length-1].options.breakLine=!0),I.push(...at)});let M=e.getComputedStyle(Y[0]||h),S=parseFloat(M.fontSize),g=parseFloat(M.lineHeight),b=S>0&&!isNaN(g)?g/S:1,F={type:"list",items:I,position:{x:yt(j.left),y:yt(j.top),w:yt(j.width),h:yt(j.height)},style:{fontSize:Qt(M.fontSize),fontFace:M.fontFamily.split(",")[0].replace(/['"]/g,"").trim(),color:re(M.color),transparency:xe(M.color),align:M.textAlign==="start"?"left":M.textAlign,lineSpacing:Qt(M.fontSize)*b,paraSpaceBefore:0,paraSpaceAfter:Qt(M.marginBottom),margin:[Q,0,0,0]}};u.push(F),Y.forEach(P=>f.add(P)),f.add(h);return}if(!c.includes(h.tagName)||h.tagName==="SPAN")return;let w=p.getBoundingClientRect(),m=h.textContent.trim();if(w.width===0||w.height===0||!m)return;let C=e.getComputedStyle(h);if((C.display==="flex"||C.display==="inline-flex")&&h.children.length>0){let j=[];if(h.childNodes.forEach(Y=>{Y.nodeType===Node.TEXT_NODE&&Y.textContent.trim()&&j.push(Y)}),j.length>0){let Y=t.createRange();Y.setStartBefore(j[0]),Y.setEndAfter(j[j.length-1]);let I=Y.getBoundingClientRect();I.width>0&&I.height>0&&(w=I,m=j.map(B=>B.textContent.trim()).join(" ").trim())}}if(h.tagName!=="LI"&&/^[•\-\*\u25AA\u25B8\u25CB\u25CF\u25C6\u25C7\u25A0\u25A1]\s/.test(m.trimStart())){r.push(`Text element <${h.tagName.toLowerCase()}> starts with bullet symbol "${m.substring(0,20)}...". Use <ul> or <ol> lists instead of manual bullet symbols.`);return}let y=p0(C.transform,C.writingMode),{x:E,y:L,w:R,h:U}=A0(p,w,y),k=parseFloat(C.fontSize),D=parseFloat(C.lineHeight),V=k>0&&!isNaN(D)?D/k:1,x=C.textAlign==="start"?"left":C.textAlign,O=null,N=j=>{if(!j)return null;let Y=e.getComputedStyle(j),I=Y.display;if(I==="flex"||I==="inline-flex"){let B=Y.flexDirection||"row",nt=Y.alignItems;if((B==="row"||B==="row-reverse")&&j.children.length>1)return{alignItems:nt,flexDirection:B}}return null},G=h.parentElement,rt=N(G);!rt&&G&&(rt=N(G.parentElement)),rt&&rt.alignItems==="center"&&(O="middle");let W={fontSize:Qt(C.fontSize),fontFace:C.fontFamily.split(",")[0].replace(/['"]/g,"").trim(),color:re(C.color),align:x,valign:O,lineSpacing:Qt(C.fontSize)*V,paraSpaceBefore:Qt(C.marginTop),paraSpaceAfter:Qt(C.marginBottom),margin:[Qt(C.paddingLeft),Qt(C.paddingRight),Qt(C.paddingBottom),Qt(C.paddingTop)]},J=xe(C.color);J!==null&&(W.transparency=J);let H=Jr(C);H!==null&&(W.charSpacing=H);let tt=Du(C.textShadow);tt.glow&&(W.glow=tt.glow),tt.shadow&&(W.textShadow=tt.shadow),y!==null&&(W.rotate=y);let et=C.webkitBackgroundClip||C.backgroundClip,z=C.webkitTextFillColor,$=z==="transparent"||z==="rgba(0, 0, 0, 0)"||z&&z.includes("rgba")&&z.endsWith(", 0)");if(et==="text"&&$){let j=C.backgroundImage;if(j&&j!=="none"&&(j.includes("linear-gradient")||j.includes("radial-gradient"))){let Y=_r(j);Y&&(W.fontFill={type:"gradient",gradient:Y},delete W.color)}}if(h.querySelector("b, i, u, strong, em, span, br, code, a, mark, sub, sup, small, s, del, ins, abbr, time, cite, q, dfn, kbd, samp, var")){let j=C.textTransform,Y=zu(h,{},[],B=>Mu(B,j),e),I={type:h.tagName.toLowerCase(),text:Y,position:{x:yt(E),y:yt(L),w:yt(R),h:yt(U)},style:W};u.push(I)}else{let j=C.textTransform,Y=Mu(m,j),I=C.fontWeight==="bold"||parseInt(C.fontWeight)>=600,B={type:h.tagName.toLowerCase(),text:Y,position:{x:yt(E),y:yt(L),w:yt(R),h:yt(U)},style:{...W,bold:I&&!Cp(C.fontFamily),italic:C.fontStyle==="italic",underline:C.textDecoration.includes("underline")}};u.push(B)}f.add(h)}),f.forEach(h=>{let p=h;if(p.tagName==="BODY")return;let A=Pu(p,e);u.push(...A)}),t.querySelectorAll("div").forEach(h=>{if(f.has(h))return;let p=h;if(p===i)return;let A=p.getBoundingClientRect();if(A.width<=0||A.height<=0)return;let w=Pu(p,e);u.push(...w)}),{background:o,elements:u,placeholders:a,errors:r}}function _p(t){let e=t.replace("#","");return{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16)}}function v0(t,e,r){let i=n=>Math.round(Math.max(0,Math.min(255,n))).toString(16).padStart(2,"0");return`${i(t)}${i(e)}${i(r)}`.toUpperCase()}function b0(t,e,r){let i=_p(t),n=_p(e),s=i.r*r+n.r*(1-r),l=i.g*r+n.g*(1-r),o=i.b*r+n.b*(1-r);return v0(s,l,o)}function x0(t,e,r){return{...t,stops:t.stops.map(i=>{let n=i.transparency!==void 0?(100-i.transparency)/100:1,s=e*n;return{...i,color:b0(i.color,r,s),transparency:void 0}})}}async function Sp(t){try{let e=await fetch(t,{mode:"cors"});if(!e.ok)throw new Error(`Failed to fetch image: ${e.status}`);let r=await e.blob();return new Promise((i,n)=>{let s=new FileReader;s.onloadend=()=>i(s.result),s.onerror=n,s.readAsDataURL(r)})}catch(e){let r=e instanceof Error?e.message:String(e);throw new Error(`Failed to fetch image ${t}: ${r}`)}}async function Tp(t,e){if(t.type==="image"&&t.path)try{let r=await Sp(t.path);e.background={data:r}}catch(r){let i=r instanceof Error?r.message:String(r);console.warn("Could not load background image:",i)}else t.type==="gradient"&&t.gradient?e.background={type:"gradient",gradient:t.gradient}:t.type==="color"&&t.value&&(e.background={color:t.value})}async function Uu(t){if(t.startsWith("data:"))return{data:t};try{return{data:await Sp(t)}}catch(e){let r=e instanceof Error?e.message:String(e);return console.warn(`Could not fetch image ${t}: ${r}`),null}}async function Np(t,e,r,i){for(let n of t)if(n.type==="slideBackgroundImage"){let s=await Uu(n.src);if(!s){console.warn(`Skipping slide background image (CORS failure): ${n.src}`);continue}let l={...s,x:n.position.x,y:n.position.y,w:n.position.w,h:n.position.h};n.sizing&&n.sizing.type&&(l.sizing={type:n.sizing.type,w:n.position.w,h:n.position.h}),n.brightness!==void 0&&(l.brightness=n.brightness),n.contrast!==void 0&&(l.contrast=n.contrast),n.saturation!==void 0&&(l.saturation=n.saturation),n.transparency!==void 0&&(l.transparency=n.transparency),e.addImage(l)}for(let n of t)if(n.type!=="slideBackgroundImage")if(n.type==="image"){let s=await Uu(n.src);if(!s){console.warn(`Skipping image (CORS failure): ${n.src}`);continue}let l={...s,x:n.position.x,y:n.position.y,w:n.position.w,h:n.position.h};if(n.sizing&&n.sizing.type==="cover"&&n.naturalWidth&&n.naturalHeight){let o=n.naturalHeight/n.naturalWidth,a=n.position.h/n.position.w>o,c=a?n.position.h/o:n.position.w,f=a?n.position.h:n.position.w*o,d=(c-n.position.w)/2,h=(f-n.position.h)/2;l.w=c,l.h=f,l.sizing={type:"crop",x:d,y:h,w:n.position.w,h:n.position.h}}else n.sizing&&n.sizing.type&&(l.sizing={type:n.sizing.type,w:n.position.w,h:n.position.h});n.rectRadius&&(l.rectRadius=n.rectRadius),n.brightness!==void 0&&(l.brightness=n.brightness),n.contrast!==void 0&&(l.contrast=n.contrast),n.saturation!==void 0&&(l.saturation=n.saturation),n.transparency!==void 0&&(l.transparency=n.transparency),e.addImage(l)}else if(n.type==="backgroundImage"){let s=await Uu(n.src);if(!s){console.warn(`Skipping background image (CORS failure): ${n.src}`);continue}let l={...s,x:n.position.x,y:n.position.y,w:n.position.w,h:n.position.h};n.sizing&&n.sizing.type&&(l.sizing={type:n.sizing.type,w:n.position.w,h:n.position.h}),e.addImage(l)}else if(n.type==="line"){let s={color:n.color,width:n.width};n.transparency!=null&&(s.transparency=n.transparency),e.addShape(r.ShapeType.line,{x:n.x1,y:n.y1,w:n.x2-n.x1,h:n.y2-n.y1,line:s})}else if(n.type==="shape"){let s=r.ShapeType.rect;n.shape.isEllipse?s=r.ShapeType.ellipse:n.shape.rectRadius>0&&(s=r.ShapeType.roundRect);let l=n.style?.lineSpacing||(n.style?.fontSize??12)*1.2,o=n.style?.margin?(n.style.margin[2]||0)+(n.style.margin[3]||0):0,a=n.position.h*72-o<=l*1.5,c=n.text||n.textRuns&&n.textRuns.length>0,f=n.position.x,d=n.position.w;if(a&&c){let w=n.position.w*.02,m=n.style?.align;m==="center"?(f=n.position.x-w/2,d=n.position.w+w):(m==="right"&&(f=n.position.x-w),d=n.position.w+w)}let h={x:f,y:n.position.y,w:d,h:n.position.h,shape:s,wrap:!a},p=n.shape.transparency,A=n.shape.opacity!==null&&n.shape.opacity<1?n.shape.opacity:1;if(A<1){let w=Math.round((1-A)*100);if(p!==null){let m=(100-p)/100;p=Math.round((1-m*A)*100)}else p=w}if(n.shape.gradient)if(A<1&&i){let w=x0(n.shape.gradient,A,i);h.fill={type:"gradient",gradient:w}}else h.fill={type:"gradient",gradient:n.shape.gradient};else n.shape.fill&&(h.fill={color:n.shape.fill},p!=null&&(h.fill.transparency=p));if(n.shape.line){let w={color:n.shape.line.color,width:n.shape.line.width};n.shape.line.transparency!=null&&(w.transparency=n.shape.line.transparency),h.line=w}n.shape.rectRadius>0&&(h.rectRadius=n.shape.rectRadius),n.shape.shadow&&(h.shadow=n.shape.shadow),n.shape.softEdge&&(h.softEdgeRad=n.shape.softEdge),n.style&&(n.style.fontSize&&(h.fontSize=n.style.fontSize),n.style.fontFace&&(h.fontFace=n.style.fontFace),n.style.color&&(h.color=n.style.color),n.style.bold&&(h.bold=n.style.bold),n.style.align&&(h.align=n.style.align),n.style.valign&&(h.valign=n.style.valign),n.style.fontFill&&(h.fontFill=n.style.fontFill),n.style.margin&&(h.margin=n.style.margin),n.style.inset!==void 0&&(h.inset=n.style.inset),n.style.charSpacing&&(h.charSpacing=n.style.charSpacing),n.style.glow&&(h.glow={size:n.style.glow.size,color:n.style.glow.color,opacity:n.style.glow.opacity}),n.style.textShadow&&!n.shape.shadow&&(h.shadow=n.style.textShadow)),n.textRuns&&n.textRuns.length>0?e.addText(n.textRuns,h):e.addText(n.text||"",h)}else if(n.type==="list"){let s={x:n.position.x,y:n.position.y,w:n.position.w,h:n.position.h,fontSize:n.style.fontSize,fontFace:n.style.fontFace,color:n.style.color??void 0,align:n.style.align,valign:"top",lineSpacing:n.style.lineSpacing,paraSpaceBefore:n.style.paraSpaceBefore,paraSpaceAfter:n.style.paraSpaceAfter,margin:n.style.margin};n.style.margin&&(s.margin=n.style.margin),e.addText(n.items,s)}else{let s=n.style.lineSpacing||(n.style.fontSize??0)*1.2,o=n.position.h*72<=s*1.5,u=n.position.x,a=n.position.w;if(o){let f=n.position.w*.02,d=n.style.align;d==="center"?(u=n.position.x-f/2,a=n.position.w+f):(d==="right"&&(u=n.position.x-f),a=n.position.w+f)}let c={x:u,y:n.position.y,w:a,h:n.position.h,fontSize:n.style.fontSize,fontFace:n.style.fontFace,color:n.style.color??void 0,bold:n.style.bold,italic:n.style.italic,underline:n.style.underline,valign:n.style.valign||"top",lineSpacing:n.style.lineSpacing,paraSpaceBefore:n.style.paraSpaceBefore,paraSpaceAfter:n.style.paraSpaceAfter,inset:0,wrap:!o};n.style.align&&(c.align=n.style.align),n.style.margin&&(c.margin=n.style.margin),n.style.rotate!==void 0&&(c.rotate=n.style.rotate),n.style.transparency!==null&&n.style.transparency!==void 0&&(c.transparency=n.style.transparency),n.style.charSpacing&&(c.charSpacing=n.style.charSpacing),n.style.fontFill&&(c.fontFill=n.style.fontFill,delete c.color),n.style.glow&&(c.glow={size:n.style.glow.size,color:n.style.glow.color,opacity:n.style.glow.opacity}),n.style.textShadow&&(c.shadow=n.style.textShadow),e.addText(n.text,c)}}var Fp=.75,Wu=96,Lp=914400;function C0(t){let e=t.body,r=t.defaultView.getComputedStyle(e),i=parseFloat(r.width),n=parseFloat(r.height),s=e.scrollWidth,l=e.scrollHeight,o=[],u=r.overflow,a=r.overflowX,c=r.overflowY;if(!(u==="hidden"||a==="hidden"&&c==="hidden")){let d=Math.max(0,s-i-1),h=Math.max(0,l-n-1),p=d*Fp,A=h*Fp,w=5;if(p>w||A>w){let m=[];p>w&&m.push(`${p.toFixed(1)}pt horizontally`),A>w&&m.push(`${A.toFixed(1)}pt vertically`);let C=A>w?' (Remember: leave 0.5" margin at bottom of slide)':"";o.push(`HTML content overflows body by ${m.join(" and ")}${C}`)}}return{width:i,height:n,scrollWidth:s,scrollHeight:l,errors:o}}function E0(t,e){let r=[],i=t.width/Wu,n=t.height/Wu;if(e.presLayout){let s=e.presLayout.width/Lp,l=e.presLayout.height/Lp;(Math.abs(s-i)>.1||Math.abs(l-n)>.1)&&r.push(`HTML dimensions (${i.toFixed(1)}" \xD7 ${n.toFixed(1)}") don't match presentation layout (${s.toFixed(1)}" \xD7 ${l.toFixed(1)}")`)}return r}function _0(t,e){let r=[],i=e.height/Wu,n=.5,s=.01,l=new Set(["p","h1","h2","h3","h4","h5","h6","list"]);for(let o of t.elements){if(!l.has(o.type))continue;let u=o,a=u.style?.fontSize||0,c=u.position.y+u.position.h,f=i-c;if(a>12&&f<n-s){let h=(()=>{if("text"in u){if(typeof u.text=="string")return u.text;if(Array.isArray(u.text))return u.text.find(A=>A.text)?.text||""}return"items"in u&&Array.isArray(u.items)&&u.items.find(A=>A.text)?.text||""})(),p=h.substring(0,50)+(h.length>50?"...":"");r.push(`Text box "${p}" ends too close to bottom edge (${f.toFixed(2)}" from bottom, minimum ${n}" required)`)}}return r}async function S0(t){let e=document.createElement("iframe");e.style.cssText="position:absolute;left:-9999px;width:960px;height:540px;border:none;";let r=new Blob([t],{type:"text/html"}),i=URL.createObjectURL(r);e.src=i,document.body.appendChild(e),await new Promise(s=>{let l=!1,o=()=>{l||(l=!0,URL.revokeObjectURL(i),s())};e.onload=o,setTimeout(o,500)});let n=e.contentDocument||e.contentWindow.document;return{iframe:e,doc:n}}async function kn(t,e,r={}){let{slide:i=null}=r,n,s=null;try{if(t instanceof Document)n=t;else if(t instanceof HTMLIFrameElement)n=t.contentDocument||t.contentWindow.document;else if(typeof t=="string"){let h=await S0(t);n=h.doc,s=h.iframe}else throw new Error("Source must be a Document, HTMLIFrameElement, or HTML string");let l=[],o=C0(n),u=Ep(n);o.errors.length>0&&l.push(...o.errors);let a=E0(o,e);a.length>0&&l.push(...a);let c=_0(u,o);if(c.length>0&&l.push(...c),u.errors.length>0&&l.push(...u.errors),l.length>0){let h=l.length===1?l[0]:`Multiple validation warnings:
60
60
  ${l.map((p,A)=>` ${A+1}. ${p}`).join(`
61
- `)}`;throw new Error(h)}let f=i||e.addSlide(),d;return u.background.type==="color"?d=u.background.value:u.background.type==="gradient"&&u.background.gradient.stops.length>0&&(d=u.background.gradient.stops[0].color),await Tp(u.background,f),await Np(u.elements,f,e,d),{slide:f,placeholders:u.placeholders}}finally{s?.parentNode&&s.parentNode.removeChild(s)}}async function Rp(t,e,r={}){let{title:i,author:n,company:s,subject:l,layout:o="LAYOUT_16x9"}=r,u=new e;u.layout=o,i&&(u.title=i),n&&(u.author=n),s&&(u.company=s),l&&(u.subject=l);for(let a of t)await kn(a,u);return u}var T0={"Playfair Display":"Georgia, serif",Merriweather:"Georgia, serif","Libre Baskerville":"Georgia, serif","PT Serif":"Georgia, serif","Noto Serif":"Georgia, serif",Lora:"Georgia, serif",Inter:"Calibri, sans-serif",Roboto:"Calibri, sans-serif","Open Sans":"Calibri, sans-serif",Lato:"Calibri, sans-serif",Montserrat:"Calibri, sans-serif",Poppins:"Calibri, sans-serif","Source Sans Pro":"Calibri, sans-serif",Nunito:"Calibri, sans-serif",Raleway:"Calibri, sans-serif",Ubuntu:"Calibri, sans-serif","PT Sans":"Calibri, sans-serif","Noto Sans":"Calibri, sans-serif","Fira Sans":"Calibri, sans-serif","Work Sans":"Calibri, sans-serif","Fira Code":"Courier New, monospace","Source Code Pro":"Courier New, monospace","JetBrains Mono":"Courier New, monospace"};function Li(t,e={}){let r=e.targetWidth||720,i=e.targetHeight||405,n=t.match(/body\s*\{([^}]*)\}/s),s=1280,l=720;if(n){let c=n[1],f=c.match(/width:\s*(\d+)px/),d=c.match(/height:\s*(\d+)px/);f&&(s=parseInt(f[1],10)),d&&(l=parseInt(d[1],10))}let o=r/s;t=t.replace(/(body\s*\{[^}]*?)width:\s*\d+px/s,`$1width: ${r}pt`),t=t.replace(/(body\s*\{[^}]*?)height:\s*\d+px/s,`$1height: ${i}pt`);for(let[c,f]of Object.entries(T0)){let d=new RegExp(`font-family:\\s*["']?${c}["']?,?\\s*(sans-serif|serif|monospace)?`,"gi");t=t.replace(d,`font-family: ${f}`)}t=t.replace(/<link[^>]*fonts\.googleapis\.com[^>]*>/g,"");let u=[];t=t.replace(/data:[^"'\s)]+/g,c=>{let f=u.length;return u.push(c),`__DATA_URI_PLACEHOLDER_${f}__`}),t=t.replace(/(\d+(?:\.\d+)?)px(?!-)/g,(c,f)=>`${Math.round(parseFloat(f)*o*10)/10}pt`),t=t.replace(/__DATA_URI_PLACEHOLDER_(\d+)__/g,(c,f)=>u[parseInt(f,10)]),t=t.replace(/(<svg[^>]*\s)width="(\d+(?:\.\d+)?)"([^>]*\s)height="(\d+(?:\.\d+)?)"/g,(c,f,d,h,p)=>{let A=Math.round(parseFloat(d)*o*10)/10,w=Math.round(parseFloat(p)*o*10)/10;return`${f}width="${A}"${h}height="${w}"`}),t=t.replace(/(<svg[^>]*\s)height="(\d+(?:\.\d+)?)"([^>]*\s)width="(\d+(?:\.\d+)?)"/g,(c,f,d,h,p)=>{let A=Math.round(parseFloat(p)*o*10)/10,w=Math.round(parseFloat(d)*o*10)/10;return`${f}height="${w}"${h}width="${A}"`}),t=t.replace(/<div(\s+[^>]*)?>([^<]+)<\/div>/g,(c,f,d)=>d.trim()?`<div${f||""}><p>${d}</p></div>`:c),t=t.replace(/<div(\s+[^>]*)?>([^<]+)(<span[^>]*>[^<]*<\/span>)<\/div>/g,(c,f,d,h)=>`<div${f||""}><p>${d}${h}</p></div>`),t=t.replace(/-webkit-backdrop-filter:\s*[^;]+;/g,""),t=t.replace(/backdrop-filter:\s*[^;]+;/g,""),t=t.replace(/animation[\w-]*:\s*[^;]+;/g,"");let a;for(;a=t.match(/@keyframes\s+[\w-]+\s*\{/);){let c=a.index,f=1,d=c+a[0].length;for(;d<t.length&&f>0;)t[d]==="{"?f++:t[d]==="}"&&f--,d++;t=t.slice(0,c)+t.slice(d)}return t=t.replace(/opacity:\s*0;/g,"opacity: 1;"),t=t.replace(/transition:\s*[^;]+;/g,""),t=t.replace(/pointer-events:\s*[^;]+;/g,""),t}async function kp(t,e,r){let{fileName:i,title:n,author:s}=r,l=new e;l.layout="LAYOUT_16x9",n&&(l.title=n),s&&(l.author=s);for(let c of t){let f=Li(c);await kn(f,l)}let o=await l.write({outputType:"blob"}),u=URL.createObjectURL(o),a=document.createElement("a");a.href=u,a.download=i.endsWith(".pptx")?i:`${i}.pptx`,a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(u)}var Pp=pr(Rn(),1),Mp=1280,Op=720,N0=914400/96;function oe(t){return t/N0}function F0(t){return t/100*(96/72)}function Tt(t,e){for(let r=0;r<t.children.length;r++)if(t.children[r].localName===e)return t.children[r];return null}function Ri(t,e){let r=[];for(let i=0;i<t.children.length;i++)t.children[i].localName===e&&r.push(t.children[i]);return r}function Ip(t,e){if(e===void 0||e>=1e5)return t;let r=parseInt(t.slice(1,3),16),i=parseInt(t.slice(3,5),16),n=parseInt(t.slice(5,7),16),s=Math.round(e/1e5*100)/100;return`rgba(${r},${i},${n},${s})`}function ki(t,e){let r=Tt(t,"srgbClr");if(r){let n="#"+(r.getAttribute("val")??"000000"),s=Tt(r,"alpha");if(s){let l=parseInt(s.getAttribute("val")??"100000",10);return Ip(n,l)}return n}let i=Tt(t,"schemeClr");if(i){let n=i.getAttribute("val");if(n&&e.has(n)){let s=e.get(n),l=Tt(i,"alpha");if(l){let o=parseInt(l.getAttribute("val")??"100000",10);return Ip(s,o)}return s}}}function L0(t){return(t/6e4+90)%360}function R0(t,e){let r=Tt(t,"gradFill");if(!r)return;let i=Tt(r,"gsLst");if(!i)return;let n=[],s=Ri(i,"gs");for(let c of s){let f=parseInt(c.getAttribute("pos")??"0",10)/1e3,d=ki(c,e);d&&n.push({pos:f,color:d})}if(n.length===0)return;let o=Tt(r,"lin")?.getAttribute("ang"),u=o?L0(parseInt(o,10)):180,a=n.map(c=>`${c.color} ${c.pos}%`).join(",");return`linear-gradient(${u}deg,${a})`}function zp(t,e){let r=Tt(t,"solidFill");return r?ki(r,e):R0(t,e)}function Bp(t,e,r){if(!t)return{};let i={},n=t.getAttribute("sz");n&&(i.fontSize=Math.round(F0(parseInt(n,10))*e));let s=t.getAttribute("b");(s==="1"||s==="true")&&(i.bold=!0);let l=t.getAttribute("i");(l==="1"||l==="true")&&(i.italic=!0);let o=Tt(t,"solidFill");if(o){let a=ki(o,r);a&&(i.color=a)}let u=Tt(t,"latin");if(u){let a=u.getAttribute("typeface");a&&(i.fontFamily=a)}return i}function k0(t,e,r){let i=Tt(t,"spPr");if(!i)return null;let n=Tt(i,"xfrm");if(!n)return null;let s=Tt(n,"off"),l=Tt(n,"ext");if(!s||!l)return null;let o=parseInt(l.getAttribute("cx")??"0",10),u=parseInt(l.getAttribute("cy")??"0",10),a={x:Math.round(oe(parseInt(s.getAttribute("x")??"0",10))*e),y:Math.round(oe(parseInt(s.getAttribute("y")??"0",10))*e),w:Math.round(oe(o)*e),h:Math.round(oe(u)*e),fill:zp(i,r),paragraphs:[]},c=Tt(i,"prstGeom");if(c?.getAttribute("prst")==="roundRect"){let h=Tt(c,"avLst"),p=h?Tt(h,"gd"):null,A=p?parseInt(p.getAttribute("fmla")?.replace("val ","")??"16667",10):16667,m=Math.min(o,u)*Math.min(A,5e4)/1e5;a.borderRadius=Math.round(oe(m)*e)}let f=Tt(i,"ln");if(f){let h=f.getAttribute("w");if(h){a.borderWidth=Math.max(1,Math.round(oe(parseInt(h,10))*e));let p=Tt(f,"solidFill");p&&(a.borderColor=ki(p,r))}}let d=Tt(t,"txBody");if(d){let h=Tt(d,"bodyPr");if(h){let A=h.getAttribute("anchor");A==="ctr"?a.verticalAlign="center":A==="b"&&(a.verticalAlign="bottom");let w=h.getAttribute("lIns"),m=h.getAttribute("tIns"),C=h.getAttribute("rIns"),v=h.getAttribute("bIns");(w!==null||m!==null||C!==null||v!==null)&&(a.padding={left:Math.round(oe(parseInt(w??"91440",10))*e),top:Math.round(oe(parseInt(m??"45720",10))*e),right:Math.round(oe(parseInt(C??"91440",10))*e),bottom:Math.round(oe(parseInt(v??"45720",10))*e)})}let p=Ri(d,"p");for(let A of p){let w={runs:[]},m=Tt(A,"pPr"),C;if(m){let y=m.getAttribute("algn");y&&(w.align=y==="ctr"?"center":y==="r"?"right":y==="just"?"justify":"left");let E=m.getAttribute("marL");E&&(w.marginLeftPx=Math.round(oe(parseInt(E,10))*e));let L=m.getAttribute("indent");L&&(w.indentPx=Math.round(oe(parseInt(L,10))*e));let R=Tt(m,"defRPr");R&&(C=Bp(R,e,r));let U=Tt(m,"lnSpc");if(U){let x=Tt(U,"spcPts");x&&(w.lineSpacingPt=parseInt(x.getAttribute("val")??"0",10)/100)}let k=Tt(m,"spcAft");if(k){let x=Tt(k,"spcPts");x&&(w.spacingAfterPt=parseInt(x.getAttribute("val")??"0",10)/100)}let D=Tt(m,"spcBef");if(D){let x=Tt(D,"spcPts");x&&(w.spacingBeforePt=parseInt(x.getAttribute("val")??"0",10)/100)}let V=Tt(m,"buChar");V&&(w.bulletChar=V.getAttribute("char")??void 0)}let v=Ri(A,"r");for(let y of v){let E=Tt(y,"rPr"),L=Bp(E,e,r),U=Ri(y,"t").map(k=>k.textContent??"").join("");U&&w.runs.push({text:U,bold:L.bold??C?.bold,italic:L.italic??C?.italic,fontSize:L.fontSize??C?.fontSize,color:L.color??C?.color,fontFamily:L.fontFamily??C?.fontFamily})}w.runs.length>0&&a.paragraphs.push(w)}}return a}function I0(t,e,r){let i=Tt(t,"spPr");if(!i)return null;let n=Tt(i,"xfrm");if(!n)return null;let s=Tt(n,"off"),l=Tt(n,"ext");if(!s||!l)return null;let o=Tt(t,"blipFill");if(!o)return null;let u=Tt(o,"blip");if(!u)return null;let a=u.getAttribute("r:embed")??u.getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships","embed");if(!a)return null;let c=r.get(a);if(!c)return null;let f=Tt(t,"nvPicPr"),h=(f?Tt(f,"cNvPr"):null)?.getAttribute("descr")??void 0;return{x:Math.round(oe(parseInt(s.getAttribute("x")??"0",10))*e),y:Math.round(oe(parseInt(s.getAttribute("y")??"0",10))*e),w:Math.round(oe(parseInt(l.getAttribute("cx")??"0",10))*e),h:Math.round(oe(parseInt(l.getAttribute("cy")??"0",10))*e),dataUri:c,alt:h}}function Dp(t,e){let r="",i=0;for(let s of t){let l=`el-${i++}`;if(s.kind==="image"){let d=s.data,h=["position:absolute",`left:${d.x}px`,`top:${d.y}px`,`width:${d.w}px`,`height:${d.h}px`,"object-fit:contain"].join(";"),p=d.alt?` alt="${d.alt.replace(/"/g,"&quot;")}"`:"";r+=`<img id="${l}" data-elementType="image" src="${d.dataUri}"${p} style="${h}" />
61
+ `)}`;console.warn(`[docgen] ${h}`)}let f=i||e.addSlide(),d;return u.background.type==="color"?d=u.background.value:u.background.type==="gradient"&&u.background.gradient.stops.length>0&&(d=u.background.gradient.stops[0].color),await Tp(u.background,f),await Np(u.elements,f,e,d),{slide:f,placeholders:u.placeholders}}finally{s?.parentNode&&s.parentNode.removeChild(s)}}async function Rp(t,e,r={}){let{title:i,author:n,company:s,subject:l,layout:o="LAYOUT_16x9"}=r,u=new e;u.layout=o,i&&(u.title=i),n&&(u.author=n),s&&(u.company=s),l&&(u.subject=l);for(let a of t)await kn(a,u);return u}var T0={"Playfair Display":"Georgia, serif",Merriweather:"Georgia, serif","Libre Baskerville":"Georgia, serif","PT Serif":"Georgia, serif","Noto Serif":"Georgia, serif",Lora:"Georgia, serif",Inter:"Calibri, sans-serif",Roboto:"Calibri, sans-serif","Open Sans":"Calibri, sans-serif",Lato:"Calibri, sans-serif",Montserrat:"Calibri, sans-serif",Poppins:"Calibri, sans-serif","Source Sans Pro":"Calibri, sans-serif",Nunito:"Calibri, sans-serif",Raleway:"Calibri, sans-serif",Ubuntu:"Calibri, sans-serif","PT Sans":"Calibri, sans-serif","Noto Sans":"Calibri, sans-serif","Fira Sans":"Calibri, sans-serif","Work Sans":"Calibri, sans-serif","Fira Code":"Courier New, monospace","Source Code Pro":"Courier New, monospace","JetBrains Mono":"Courier New, monospace"};function Li(t,e={}){let r=e.targetWidth||720,i=e.targetHeight||405,n=t.match(/body\s*\{([^}]*)\}/s),s=1280,l=720;if(n){let f=n[1],d=f.match(/width:\s*(\d+)px/),h=f.match(/height:\s*(\d+)px/);d&&(s=parseInt(d[1],10)),h&&(l=parseInt(h[1],10))}let o=r/s;t=t.replace(/(body\s*\{[^}]*?)width:\s*\d+px/s,`$1width: ${r}pt`),t=t.replace(/(body\s*\{[^}]*?)height:\s*\d+px/s,`$1height: ${i}pt`);for(let[f,d]of Object.entries(T0)){let h=new RegExp(`font-family:\\s*["']?${f}["']?,?\\s*(sans-serif|serif|monospace)?`,"gi");t=t.replace(h,`font-family: ${d}`)}t=t.replace(/<link[^>]*fonts\.googleapis\.com[^>]*>/g,"");let u=[];t=t.replace(/data:[^"'\s)]+/g,f=>{let d=u.length;return u.push(f),`__DATA_URI_PLACEHOLDER_${d}__`}),t=t.replace(/(\d+(?:\.\d+)?)px(?!-)/g,(f,d)=>`${Math.round(parseFloat(d)*o*10)/10}pt`),t=t.replace(/__DATA_URI_PLACEHOLDER_(\d+)__/g,(f,d)=>u[parseInt(d,10)]),t=t.replace(/(<svg[^>]*\s)width="(\d+(?:\.\d+)?)"([^>]*\s)height="(\d+(?:\.\d+)?)"/g,(f,d,h,p,A)=>{let w=Math.round(parseFloat(h)*o*10)/10,m=Math.round(parseFloat(A)*o*10)/10;return`${d}width="${w}"${p}height="${m}"`}),t=t.replace(/(<svg[^>]*\s)height="(\d+(?:\.\d+)?)"([^>]*\s)width="(\d+(?:\.\d+)?)"/g,(f,d,h,p,A)=>{let w=Math.round(parseFloat(A)*o*10)/10,m=Math.round(parseFloat(h)*o*10)/10;return`${d}height="${m}"${p}width="${w}"`}),t=t.replace(/<div(\s+[^>]*)?>([^<]+)<\/div>/g,(f,d,h)=>h.trim()?`<div${d||""}><p>${h}</p></div>`:f),t=t.replace(/<div(\s+[^>]*)?>([^<]+)(<span[^>]*>[^<]*<\/span>)<\/div>/g,(f,d,h,p)=>`<div${d||""}><p>${h}${p}</p></div>`),t=t.replace(/-webkit-backdrop-filter:\s*[^;]+;/g,""),t=t.replace(/backdrop-filter:\s*[^;]+;/g,""),t=t.replace(/animation[\w-]*:\s*[^;]+;/g,"");let a;for(;a=t.match(/@keyframes\s+[\w-]+\s*\{/);){let f=a.index,d=1,h=f+a[0].length;for(;h<t.length&&d>0;)t[h]==="{"?d++:t[h]==="}"&&d--,h++;t=t.slice(0,f)+t.slice(h)}t=t.replace(/opacity:\s*0;/g,"opacity: 1;"),t=t.replace(/transition:\s*[^;]+;/g,""),t=t.replace(/pointer-events:\s*[^;]+;/g,"");let c=t.match(/body\s*\{([^}]*)\}/s);if(c){let f=c[1];/overflow\s*:/.test(f)||(f+=" overflow: hidden;"),/width\s*:\s*[\d.]+pt/.test(f)||(f=f.replace(/width\s*:[^;]+;/g,""),f+=` width: ${r}pt;`),/height\s*:\s*[\d.]+pt/.test(f)||(f=f.replace(/height\s*:[^;]+;/g,""),f+=` height: ${i}pt;`),t=t.replace(/body\s*\{[^}]*\}/s,`body {${f}}`)}else t=t.replace(/<\/style>/i,`body { width: ${r}pt; height: ${i}pt; overflow: hidden; margin: 0; }
62
+ </style>`);return t}async function kp(t,e,r){let{fileName:i,title:n,author:s}=r,l=new e;l.layout="LAYOUT_16x9",n&&(l.title=n),s&&(l.author=s);for(let c of t){let f=Li(c);await kn(f,l)}let o=await l.write({outputType:"blob"}),u=URL.createObjectURL(o),a=document.createElement("a");a.href=u,a.download=i.endsWith(".pptx")?i:`${i}.pptx`,a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(u)}var Pp=pr(Rn(),1),Mp=1280,Op=720,N0=914400/96;function oe(t){return t/N0}function F0(t){return t/100*(96/72)}function Tt(t,e){for(let r=0;r<t.children.length;r++)if(t.children[r].localName===e)return t.children[r];return null}function Ri(t,e){let r=[];for(let i=0;i<t.children.length;i++)t.children[i].localName===e&&r.push(t.children[i]);return r}function Ip(t,e){if(e===void 0||e>=1e5)return t;let r=parseInt(t.slice(1,3),16),i=parseInt(t.slice(3,5),16),n=parseInt(t.slice(5,7),16),s=Math.round(e/1e5*100)/100;return`rgba(${r},${i},${n},${s})`}function ki(t,e){let r=Tt(t,"srgbClr");if(r){let n="#"+(r.getAttribute("val")??"000000"),s=Tt(r,"alpha");if(s){let l=parseInt(s.getAttribute("val")??"100000",10);return Ip(n,l)}return n}let i=Tt(t,"schemeClr");if(i){let n=i.getAttribute("val");if(n&&e.has(n)){let s=e.get(n),l=Tt(i,"alpha");if(l){let o=parseInt(l.getAttribute("val")??"100000",10);return Ip(s,o)}return s}}}function L0(t){return(t/6e4+90)%360}function R0(t,e){let r=Tt(t,"gradFill");if(!r)return;let i=Tt(r,"gsLst");if(!i)return;let n=[],s=Ri(i,"gs");for(let c of s){let f=parseInt(c.getAttribute("pos")??"0",10)/1e3,d=ki(c,e);d&&n.push({pos:f,color:d})}if(n.length===0)return;let o=Tt(r,"lin")?.getAttribute("ang"),u=o?L0(parseInt(o,10)):180,a=n.map(c=>`${c.color} ${c.pos}%`).join(",");return`linear-gradient(${u}deg,${a})`}function zp(t,e){let r=Tt(t,"solidFill");return r?ki(r,e):R0(t,e)}function Bp(t,e,r){if(!t)return{};let i={},n=t.getAttribute("sz");n&&(i.fontSize=Math.round(F0(parseInt(n,10))*e));let s=t.getAttribute("b");(s==="1"||s==="true")&&(i.bold=!0);let l=t.getAttribute("i");(l==="1"||l==="true")&&(i.italic=!0);let o=Tt(t,"solidFill");if(o){let a=ki(o,r);a&&(i.color=a)}let u=Tt(t,"latin");if(u){let a=u.getAttribute("typeface");a&&(i.fontFamily=a)}return i}function k0(t,e,r){let i=Tt(t,"spPr");if(!i)return null;let n=Tt(i,"xfrm");if(!n)return null;let s=Tt(n,"off"),l=Tt(n,"ext");if(!s||!l)return null;let o=parseInt(l.getAttribute("cx")??"0",10),u=parseInt(l.getAttribute("cy")??"0",10),a={x:Math.round(oe(parseInt(s.getAttribute("x")??"0",10))*e),y:Math.round(oe(parseInt(s.getAttribute("y")??"0",10))*e),w:Math.round(oe(o)*e),h:Math.round(oe(u)*e),fill:zp(i,r),paragraphs:[]},c=Tt(i,"prstGeom");if(c?.getAttribute("prst")==="roundRect"){let h=Tt(c,"avLst"),p=h?Tt(h,"gd"):null,A=p?parseInt(p.getAttribute("fmla")?.replace("val ","")??"16667",10):16667,m=Math.min(o,u)*Math.min(A,5e4)/1e5;a.borderRadius=Math.round(oe(m)*e)}let f=Tt(i,"ln");if(f){let h=f.getAttribute("w");if(h){a.borderWidth=Math.max(1,Math.round(oe(parseInt(h,10))*e));let p=Tt(f,"solidFill");p&&(a.borderColor=ki(p,r))}}let d=Tt(t,"txBody");if(d){let h=Tt(d,"bodyPr");if(h){let A=h.getAttribute("anchor");A==="ctr"?a.verticalAlign="center":A==="b"&&(a.verticalAlign="bottom");let w=h.getAttribute("lIns"),m=h.getAttribute("tIns"),C=h.getAttribute("rIns"),v=h.getAttribute("bIns");(w!==null||m!==null||C!==null||v!==null)&&(a.padding={left:Math.round(oe(parseInt(w??"91440",10))*e),top:Math.round(oe(parseInt(m??"45720",10))*e),right:Math.round(oe(parseInt(C??"91440",10))*e),bottom:Math.round(oe(parseInt(v??"45720",10))*e)})}let p=Ri(d,"p");for(let A of p){let w={runs:[]},m=Tt(A,"pPr"),C;if(m){let y=m.getAttribute("algn");y&&(w.align=y==="ctr"?"center":y==="r"?"right":y==="just"?"justify":"left");let E=m.getAttribute("marL");E&&(w.marginLeftPx=Math.round(oe(parseInt(E,10))*e));let L=m.getAttribute("indent");L&&(w.indentPx=Math.round(oe(parseInt(L,10))*e));let R=Tt(m,"defRPr");R&&(C=Bp(R,e,r));let U=Tt(m,"lnSpc");if(U){let x=Tt(U,"spcPts");x&&(w.lineSpacingPt=parseInt(x.getAttribute("val")??"0",10)/100)}let k=Tt(m,"spcAft");if(k){let x=Tt(k,"spcPts");x&&(w.spacingAfterPt=parseInt(x.getAttribute("val")??"0",10)/100)}let D=Tt(m,"spcBef");if(D){let x=Tt(D,"spcPts");x&&(w.spacingBeforePt=parseInt(x.getAttribute("val")??"0",10)/100)}let V=Tt(m,"buChar");V&&(w.bulletChar=V.getAttribute("char")??void 0)}let v=Ri(A,"r");for(let y of v){let E=Tt(y,"rPr"),L=Bp(E,e,r),U=Ri(y,"t").map(k=>k.textContent??"").join("");U&&w.runs.push({text:U,bold:L.bold??C?.bold,italic:L.italic??C?.italic,fontSize:L.fontSize??C?.fontSize,color:L.color??C?.color,fontFamily:L.fontFamily??C?.fontFamily})}w.runs.length>0&&a.paragraphs.push(w)}}return a}function I0(t,e,r){let i=Tt(t,"spPr");if(!i)return null;let n=Tt(i,"xfrm");if(!n)return null;let s=Tt(n,"off"),l=Tt(n,"ext");if(!s||!l)return null;let o=Tt(t,"blipFill");if(!o)return null;let u=Tt(o,"blip");if(!u)return null;let a=u.getAttribute("r:embed")??u.getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships","embed");if(!a)return null;let c=r.get(a);if(!c)return null;let f=Tt(t,"nvPicPr"),h=(f?Tt(f,"cNvPr"):null)?.getAttribute("descr")??void 0;return{x:Math.round(oe(parseInt(s.getAttribute("x")??"0",10))*e),y:Math.round(oe(parseInt(s.getAttribute("y")??"0",10))*e),w:Math.round(oe(parseInt(l.getAttribute("cx")??"0",10))*e),h:Math.round(oe(parseInt(l.getAttribute("cy")??"0",10))*e),dataUri:c,alt:h}}function Dp(t,e){let r="",i=0;for(let s of t){let l=`el-${i++}`;if(s.kind==="image"){let d=s.data,h=["position:absolute",`left:${d.x}px`,`top:${d.y}px`,`width:${d.w}px`,`height:${d.h}px`,"object-fit:contain"].join(";"),p=d.alt?` alt="${d.alt.replace(/"/g,"&quot;")}"`:"";r+=`<img id="${l}" data-elementType="image" src="${d.dataUri}"${p} style="${h}" />
62
63
  `;continue}let o=s.data,u=["position:absolute",`left:${o.x}px`,`top:${o.y}px`,`width:${o.w}px`,`height:${o.h}px`,"overflow:hidden"];if(o.fill&&u.push(`background:${o.fill}`),o.borderRadius&&u.push(`border-radius:${o.borderRadius}px`),o.borderWidth&&o.borderColor&&(u.push(`border:${o.borderWidth}px solid ${o.borderColor}`),u.push("box-sizing:border-box")),o.padding&&u.push(`padding:${o.padding.top}px ${o.padding.right}px ${o.padding.bottom}px ${o.padding.left}px`),o.verticalAlign&&o.paragraphs.length>0&&(u.push("display:flex","flex-direction:column"),o.verticalAlign==="center"?u.push("justify-content:center"):o.verticalAlign==="bottom"&&u.push("justify-content:flex-end")),o.paragraphs.length===0&&!o.fill)continue;let c=o.paragraphs.length>0?` id="${l}" data-elementType="text"`:"",f="";for(let d of o.paragraphs){let h=["margin:0"];d.align&&h.push(`text-align:${d.align}`),d.spacingAfterPt&&h.push(`margin-bottom:${d.spacingAfterPt}pt`),d.spacingBeforePt&&h.push(`margin-top:${d.spacingBeforePt}pt`),d.lineSpacingPt&&h.push(`line-height:${d.lineSpacingPt}pt`),d.marginLeftPx&&h.push(`padding-left:${d.marginLeftPx}px`),d.indentPx&&h.push(`text-indent:${d.indentPx}px`);let p="";d.bulletChar&&(p+=`<span style="margin-right:4px">${d.bulletChar}</span>`);for(let A of d.runs){let w=[];A.fontSize&&w.push(`font-size:${A.fontSize}px`),A.color&&w.push(`color:${A.color}`),A.bold&&w.push("font-weight:bold"),A.italic&&w.push("font-style:italic"),A.fontFamily&&w.push(`font-family:'${A.fontFamily}',sans-serif`);let m=A.text.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");w.length>0?p+=`<span style="${w.join(";")}">${m}</span>`:p+=m}f+=`<p style="${h.join(";")}">${p}</p>`}r+=`<div${c} style="${u.join(";")}">${f}</div>
63
64
  `}return`<div style="position:relative;width:${Mp}px;height:${Op}px;overflow:hidden;font-family:'Segoe UI',Arial,sans-serif;background:${e??"#fff"}">
64
65
  ${r}</div>`}async function Gu(t){let e=await Pp.default.loadAsync(t),r=await e.file("ppt/presentation.xml")?.async("text");if(!r)throw new Error("Invalid PPTX: no presentation.xml");let i=new DOMParser,n=i.parseFromString(r,"application/xml"),s=n.getElementsByTagName("p:sldSz")[0],l=parseInt(s?.getAttribute("cx")??"12192000",10),o=parseInt(s?.getAttribute("cy")??"6858000",10),u=oe(l),a=oe(o),c=Math.min(Mp/u,Op/a),f=n.getElementsByTagName("p:sldIdLst")[0],d=[];if(f){let v=f.getElementsByTagName("p:sldId");for(let y=0;y<v.length;y++){let E=v[y].getAttribute("r:id")??v[y].getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships","id");E&&d.push(E)}}let h=await e.file("ppt/_rels/presentation.xml.rels")?.async("text"),p=new Map;if(h){let y=i.parseFromString(h,"application/xml").getElementsByTagName("Relationship");for(let E=0;E<y.length;E++){let L=y[E];if(!(L.getAttribute("Type")??"").includes("/slide"))continue;let U=L.getAttribute("Id"),k=L.getAttribute("Target");U&&k&&p.set(U,"ppt/"+k)}}let A=[];if(d.length>0)for(let v of d){let y=p.get(v);y&&A.push(y)}else e.folder("ppt/slides")?.forEach(v=>{/^slide\d+\.xml$/.test(v)&&A.push("ppt/slides/"+v)}),A.sort((v,y)=>{let E=parseInt(v.match(/slide(\d+)/)?.[1]??"0",10),L=parseInt(y.match(/slide(\d+)/)?.[1]??"0",10);return E-L});let w=new Map,m=await e.file("ppt/theme/theme1.xml")?.async("text");if(m){let y=i.parseFromString(m,"application/xml").getElementsByTagName("a:clrScheme")[0];if(y){let E={dk1:"dk1",dk2:"dk2",lt1:"lt1",lt2:"lt2",accent1:"accent1",accent2:"accent2",accent3:"accent3",accent4:"accent4",accent5:"accent5",accent6:"accent6",hlink:"hlink",folHlink:"folHlink"};for(let[L,R]of Object.entries(E)){let U=Tt(y,L);if(!U)continue;let k=Tt(U,"srgbClr");if(k){w.set(R,"#"+(k.getAttribute("val")??"000000"));continue}let D=Tt(U,"sysClr");D&&w.set(R,"#"+(D.getAttribute("lastClr")??"000000"))}}}let C=[];for(let v of A){let y=await e.file(v)?.async("text");if(!y)continue;let E=i.parseFromString(y,"application/xml"),L=E.getElementsByTagName("p:spTree")[0],R,U=E.getElementsByTagName("p:bg")[0];if(U){let N=Tt(U,"bgPr");N&&(R=zp(N,w))}if(!L){C.push(Dp([],R));continue}let k=new Map,D=v.split("/").pop(),V=v.replace(D,`_rels/${D}.rels`),x=await e.file(V)?.async("text");if(x){let G=i.parseFromString(x,"application/xml").getElementsByTagName("Relationship");for(let rt=0;rt<G.length;rt++){let W=G[rt];if(!(W.getAttribute("Type")??"").includes("/image"))continue;let H=W.getAttribute("Id"),tt=W.getAttribute("Target");if(!H||!tt)continue;let et=tt.startsWith("../")?"ppt/"+tt.slice(3):tt,z=e.file(et);if(!z)continue;let $=await z.async("base64"),it=et.split(".").pop()?.toLowerCase()??"png",j=it==="jpg"||it==="jpeg"?"image/jpeg":it==="svg"?"image/svg+xml":`image/${it}`;k.set(H,`data:${j};base64,${$}`)}}let O=[];for(let N=0;N<L.children.length;N++){let G=L.children[N];if(G.localName==="sp"){let rt=k0(G,c,w);rt&&O.push({kind:"shape",data:rt})}else if(G.localName==="pic"){let rt=I0(G,c,k);rt&&O.push({kind:"image",data:rt})}}C.push(Dp(O,R))}return C}var af=pr(Rn(),1);function Ee(t,e,r,i){function n(s){return s instanceof r?s:new r(function(l){l(s)})}return new(r||(r=Promise))(function(s,l){function o(c){try{a(i.next(c))}catch(f){l(f)}}function u(c){try{a(i.throw(c))}catch(f){l(f)}}function a(c){c.done?s(c.value):n(c.value).then(o,u)}a((i=i.apply(t,e||[])).next())})}var Ct=914400,On=12700,se=`\r
@@ -1 +1 @@
1
- {"version":3,"file":"createPresentation.d.ts","sourceRoot":"","sources":["../../../packages/slides/createPresentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,WAAW,EAKZ,MAAM,UAAU,CAAC;AAgBlB,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAElC,KAAK,EAAE,GAAG,CAAC;IACX,mDAAmD;IACnD,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AA6LD;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,QAAQ,GAAG,iBAAiB,GAAG,MAAM,EAE7C,IAAI,EAAE,GAAG,EAAE,qBAAqB;AAChC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,GAAG,CAAA;CAAO,GAC5B,OAAO,CAAC,WAAW,CAAC,CAuFtB;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAAE,EAEpB,SAAS,EAAE,GAAG,EAAE,4BAA4B;AAC5C,OAAO,GAAE,yBAA8B,GAEtC,OAAO,CAAC,GAAG,CAAC,CAuBd"}
1
+ {"version":3,"file":"createPresentation.d.ts","sourceRoot":"","sources":["../../../packages/slides/createPresentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,WAAW,EAKZ,MAAM,UAAU,CAAC;AAgBlB,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAElC,KAAK,EAAE,GAAG,CAAC;IACX,mDAAmD;IACnD,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AA6LD;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,QAAQ,GAAG,iBAAiB,GAAG,MAAM,EAE7C,IAAI,EAAE,GAAG,EAAE,qBAAqB;AAChC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,GAAG,CAAA;CAAO,GAC5B,OAAO,CAAC,WAAW,CAAC,CAwFtB;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAAE,EAEpB,SAAS,EAAE,GAAG,EAAE,4BAA4B;AAC5C,OAAO,GAAE,yBAA8B,GAEtC,OAAO,CAAC,GAAG,CAAC,CAuBd"}
@@ -205,14 +205,15 @@ options = {}) {
205
205
  if (slideData.errors.length > 0) {
206
206
  validationErrors.push(...slideData.errors);
207
207
  }
208
- // Throw all errors at once if any exist
208
+ // Log validation issues as warnings but never block export.
209
+ // Best-effort output is always better than no output.
209
210
  if (validationErrors.length > 0) {
210
- const errorMessage = validationErrors.length === 1
211
+ const warningMessage = validationErrors.length === 1
211
212
  ? validationErrors[0]
212
- : `Multiple validation errors found:\n${validationErrors
213
+ : `Multiple validation warnings:\n${validationErrors
213
214
  .map((e, i) => ` ${i + 1}. ${e}`)
214
215
  .join('\n')}`;
215
- throw new Error(errorMessage);
216
+ console.warn(`[docgen] ${warningMessage}`);
216
217
  }
217
218
  // ---- Build PptxGenJS slide ----
218
219
  const targetSlide = slide || pres.addSlide();
@@ -1 +1 @@
1
- {"version":3,"file":"createPresentation.js","sourceRoot":"","sources":["../../../packages/slides/createPresentation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createPresentation.js","sourceRoot":"","sources":["../../../packages/slides/createPresentation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../packages/slides/transform.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAsCD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAmKzF;AAED,iDAAiD;AACjD,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../packages/slides/transform.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAsCD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAsMzF;AAED,iDAAiD;AACjD,eAAe,oBAAoB,CAAC"}
@@ -181,6 +181,35 @@ export function transformHtmlForPptx(html, options = {}) {
181
181
  // Remove pointer-events
182
182
  html = html.replace(/pointer-events:\s*[^;]+;/g, '');
183
183
  // Note: overflow:hidden is kept because it's used to detect border-radius clipping for images
184
+ // 7. Ensure body has overflow:hidden and correct dimensions.
185
+ // AI-generated HTML may overflow or have dimensions that don't exactly match the
186
+ // slide layout. Injecting overflow:hidden clips overflowing content (better than
187
+ // failing), and forcing dimensions ensures the slide fills the expected area.
188
+ const bodyBlockMatch = html.match(/body\s*\{([^}]*)\}/s);
189
+ if (bodyBlockMatch) {
190
+ let bodyStyle = bodyBlockMatch[1];
191
+ // Inject overflow:hidden if not already present
192
+ if (!/overflow\s*:/.test(bodyStyle)) {
193
+ bodyStyle += ' overflow: hidden;';
194
+ }
195
+ // Force width/height if the earlier regex replacements didn't match
196
+ // (e.g., AI used %, rem, vh, or the value wasn't in the expected format)
197
+ if (!/width\s*:\s*[\d.]+pt/.test(bodyStyle)) {
198
+ // Remove any existing width declaration first
199
+ bodyStyle = bodyStyle.replace(/width\s*:[^;]+;/g, '');
200
+ bodyStyle += ` width: ${targetWidth}pt;`;
201
+ }
202
+ if (!/height\s*:\s*[\d.]+pt/.test(bodyStyle)) {
203
+ // Remove any existing height declaration first
204
+ bodyStyle = bodyStyle.replace(/height\s*:[^;]+;/g, '');
205
+ bodyStyle += ` height: ${targetHeight}pt;`;
206
+ }
207
+ html = html.replace(/body\s*\{[^}]*\}/s, `body {${bodyStyle}}`);
208
+ }
209
+ else {
210
+ // No body style block at all — inject one
211
+ html = html.replace(/<\/style>/i, `body { width: ${targetWidth}pt; height: ${targetHeight}pt; overflow: hidden; margin: 0; }\n</style>`);
212
+ }
184
213
  return html;
185
214
  }
186
215
  /** Default export for backward compatibility. */
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../packages/slides/transform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../packages/slides/transform.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "docgen-utils",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "Utilities for converting HTML into DOCX and PPTX.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -39,7 +39,7 @@
39
39
  "docx": "^9.5.1",
40
40
  "jszip": "^3.10.1",
41
41
  "linkedom": "^0.16.8",
42
- "playwright": "^1.41.0"
42
+ "playwright": "^1.52.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@anthropic-ai/sdk": "^0.74.0",