docgen-utils 1.0.23 → 1.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { default as exportDocx } from "./packages/docs/export";
2
2
  export { default as importDocx } from "./packages/docs/import-docx";
3
3
  export { addSlideFromHtml, createPresentation, } from "./packages/slides/createPresentation";
4
+ export { parseSlideHtml } from "./packages/slides/parse";
4
5
  export { exportPptx } from "./packages/slides/export";
5
6
  export { transformHtmlForPptx } from "./packages/slides/transform";
6
7
  export { default as importPptx } from "./packages/slides/import-pptx";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,OAAO,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export { default as exportDocx } from "./packages/docs/export";
2
2
  export { default as importDocx } from "./packages/docs/import-docx";
3
3
  export { addSlideFromHtml, createPresentation, } from "./packages/slides/createPresentation";
4
+ export { parseSlideHtml } from "./packages/slides/parse";
4
5
  export { exportPptx } from "./packages/slides/export";
5
6
  export { transformHtmlForPptx } from "./packages/slides/transform";
6
7
  export { default as importPptx } from "./packages/slides/import-pptx";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../packages/slides/convert.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,KAAK,EAKN,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EAEb,MAAM,UAAU,CAAC;AA0FlB;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,UAAU,SAAI,EACd,cAAc,SAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CA2CjB;AAMD;;GAEG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,eAAe,EAC3B,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,IAAI,CAAC,CAkBf;AAgFD;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,YAAY,EAAE,EACxB,KAAK,EAAE,KAAK,EAEZ,IAAI,EAAE,GAAG,GACR,OAAO,CAAC,IAAI,CAAC,CA8bf"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../packages/slides/convert.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,KAAK,EAKN,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EAEb,MAAM,UAAU,CAAC;AA0FlB;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,UAAU,SAAI,EACd,cAAc,SAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CA2CjB;AAMD;;GAEG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,eAAe,EAC3B,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,IAAI,CAAC,CAkBf;AAoFD;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,YAAY,EAAE,EACxB,KAAK,EAAE,KAAK,EAEZ,IAAI,EAAE,GAAG,GACR,OAAO,CAAC,IAAI,CAAC,CA8bf"}
@@ -161,9 +161,13 @@ export async function applyBackground(background, slide) {
161
161
  // ---------------------------------------------------------------------------
162
162
  // Slide boundary clipping
163
163
  // ---------------------------------------------------------------------------
164
- /** Slide dimensions in inches (1280×720px at 96 DPI). */
165
- const SLIDE_W = 10; // 1280 / 96 13.333… but PptxGenJS uses 10" (default)
166
- const SLIDE_H = 5.625; // 720 / (1280/10) = 5.625"
164
+ /**
165
+ * Slide dimensions in inches for clipping (matches LAYOUT_16x9 = 10" x 5.625").
166
+ * After transformHtmlForPptx scales from 1280px 720pt, the rendered HTML
167
+ * in the 960px × 540px iframe maps to exactly 10" × 5.625" at 96 DPI.
168
+ */
169
+ const SLIDE_W = 10; // 960 / 96 = 10 inches
170
+ const SLIDE_H = 5.625; // 540 / 96 = 5.625 inches
167
171
  /** Element types that carry text — must NOT be clipped (clipping re-wraps/truncates text). */
168
172
  const TEXT_ELEMENT_TYPES = new Set(['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'list']);
169
173
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../packages/slides/convert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../packages/slides/convert.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../packages/slides/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,KAAK,EACV,WAAW,EAgBZ,MAAM,UAAU,CAAC;AA45DlB;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CA+zEzD"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../packages/slides/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,KAAK,EACV,WAAW,EAgBZ,MAAM,UAAU,CAAC;AAu9DlB;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAk8EzD"}
@@ -110,6 +110,40 @@ function extractRotationAngle(computed) {
110
110
  }
111
111
  return null;
112
112
  }
113
+ /**
114
+ * Extract translation (translateX, translateY) from a CSS transform matrix.
115
+ * CSS transforms like `translate(-50%, 20px)` are resolved to a matrix by the browser.
116
+ * The matrix format is: matrix(a, b, c, d, tx, ty) where tx/ty are the translations.
117
+ * Returns {x: number, y: number} in pixels, or null if no translation.
118
+ */
119
+ function extractTranslation(computed) {
120
+ const transform = computed.transform;
121
+ if (!transform || transform === 'none')
122
+ return null;
123
+ // matrix(a, b, c, d, tx, ty) - 2D transform
124
+ const matrix2dMatch = transform.match(/matrix\(([-\d.e]+),\s*([-\d.e]+),\s*([-\d.e]+),\s*([-\d.e]+),\s*([-\d.e]+),\s*([-\d.e]+)\)/);
125
+ if (matrix2dMatch) {
126
+ const tx = parseFloat(matrix2dMatch[5]);
127
+ const ty = parseFloat(matrix2dMatch[6]);
128
+ if (tx !== 0 || ty !== 0) {
129
+ return { x: tx, y: ty };
130
+ }
131
+ }
132
+ // matrix3d(m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44)
133
+ // tx = m41, ty = m42
134
+ const matrix3dMatch = transform.match(/matrix3d\(([^)]+)\)/);
135
+ if (matrix3dMatch) {
136
+ const values = matrix3dMatch[1].split(',').map(v => parseFloat(v.trim()));
137
+ if (values.length >= 14) {
138
+ const tx = values[12]; // m41
139
+ const ty = values[13]; // m42
140
+ if (tx !== 0 || ty !== 0) {
141
+ return { x: tx, y: ty };
142
+ }
143
+ }
144
+ }
145
+ return null;
146
+ }
113
147
  // ---------------------------------------------------------------------------
114
148
  // Effective opacity (accumulated from ancestor chain)
115
149
  // ---------------------------------------------------------------------------
@@ -1426,8 +1460,9 @@ function extractPseudoElements(el, win) {
1426
1460
  pHeight = parentRect.height;
1427
1461
  }
1428
1462
  }
1429
- // Skip tiny elements that won't be visible
1430
- if (pWidth < 1 || pHeight < 1)
1463
+ // Skip elements that are effectively invisible (less than 0.5px in either dimension).
1464
+ // The threshold is low to handle scaled HTML (1280px 960px means 1px 0.75px).
1465
+ if (pWidth < 0.5 || pHeight < 0.5)
1431
1466
  continue;
1432
1467
  // Determine position (relative to parent)
1433
1468
  let pLeft = parseFloat(pComputed.left);
@@ -1605,8 +1640,13 @@ function extractPseudoElements(el, win) {
1605
1640
  borderOffsetLeft = parseFloat(parentComputedForBorder.borderLeftWidth) || 0;
1606
1641
  borderOffsetTop = parseFloat(parentComputedForBorder.borderTopWidth) || 0;
1607
1642
  }
1608
- const absLeft = parentRect.left + pLeft + borderOffsetLeft;
1609
- const absTop = parentRect.top + pTop + borderOffsetTop;
1643
+ // Apply CSS transform translation if present
1644
+ // Transforms like translateX/translateY/translate are resolved to a matrix by the browser
1645
+ const translation = extractTranslation(pComputed);
1646
+ const transformOffsetX = translation?.x ?? 0;
1647
+ const transformOffsetY = translation?.y ?? 0;
1648
+ const absLeft = parentRect.left + pLeft + borderOffsetLeft + transformOffsetX;
1649
+ const absTop = parentRect.top + pTop + borderOffsetTop + transformOffsetY;
1610
1650
  // Check for visual content: background color, gradient, or border
1611
1651
  const hasBg = pComputed.backgroundColor && pComputed.backgroundColor !== 'rgba(0, 0, 0, 0)';
1612
1652
  const bgImage = pComputed.backgroundImage;
@@ -1822,7 +1862,22 @@ function parseInlineFormatting(element, baseOptions, runs, baseTextTransform, wi
1822
1862
  const transformStr = computed.textTransform;
1823
1863
  textTransform = (text) => applyTextTransform(text, transformStr);
1824
1864
  }
1865
+ // If a <br> preceded this element, apply softBreakBefore to the first run
1866
+ // generated by the recursive call. We do this by noting the current runs
1867
+ // count, recursing, then marking the first new run (if any) with softBreakBefore.
1868
+ const runsBeforeRecurse = runs.length;
1869
+ const hadPendingSoftBreak = pendingSoftBreak;
1870
+ if (pendingSoftBreak) {
1871
+ pendingSoftBreak = false; // Clear before recursion
1872
+ }
1825
1873
  parseInlineFormatting(el, options, runs, textTransform, win);
1874
+ // Apply softBreakBefore to the first run added by the recursive call
1875
+ if (hadPendingSoftBreak && runs.length > runsBeforeRecurse) {
1876
+ runs[runsBeforeRecurse].options = {
1877
+ ...runs[runsBeforeRecurse].options,
1878
+ softBreakBefore: true,
1879
+ };
1880
+ }
1826
1881
  }
1827
1882
  prevNodeIsText = false;
1828
1883
  }
@@ -2803,8 +2858,34 @@ export function parseSlideHtml(doc) {
2803
2858
  const allChildren = Array.from(el.children);
2804
2859
  // Collect text-bearing children: standard text tags AND leaf DIVs (no child elements, only text nodes)
2805
2860
  const textChildren = allChildren.filter((child) => {
2806
- if (textTagSet.has(child.tagName))
2861
+ if (textTagSet.has(child.tagName)) {
2862
+ // SPANs with background or border styling should NOT be merged as text children.
2863
+ // They need to be processed independently as shape elements to preserve their styling.
2864
+ if (child.tagName === 'SPAN') {
2865
+ const spanComputed = win.getComputedStyle(child);
2866
+ const spanHasBg = spanComputed.backgroundColor && spanComputed.backgroundColor !== 'rgba(0, 0, 0, 0)';
2867
+ const spanHasBorder = (parseFloat(spanComputed.borderTopWidth) || 0) > 0 ||
2868
+ (parseFloat(spanComputed.borderRightWidth) || 0) > 0 ||
2869
+ (parseFloat(spanComputed.borderBottomWidth) || 0) > 0 ||
2870
+ (parseFloat(spanComputed.borderLeftWidth) || 0) > 0;
2871
+ const spanHasGradient = spanComputed.backgroundImage &&
2872
+ spanComputed.backgroundImage !== 'none' &&
2873
+ (spanComputed.backgroundImage.includes('linear-gradient') ||
2874
+ spanComputed.backgroundImage.includes('radial-gradient'));
2875
+ // Check if this is gradient text (background-clip: text) - those SHOULD be text children
2876
+ const spanBgClip = spanComputed.webkitBackgroundClip || spanComputed.backgroundClip;
2877
+ const spanTextFillColor = spanComputed.webkitTextFillColor;
2878
+ const isGradientText = spanBgClip === 'text' &&
2879
+ (spanTextFillColor === 'transparent' ||
2880
+ spanTextFillColor === 'rgba(0, 0, 0, 0)' ||
2881
+ (spanTextFillColor && spanTextFillColor.includes('rgba') && spanTextFillColor.endsWith(', 0)')));
2882
+ // Exclude styled SPANs (but not gradient text SPANs)
2883
+ if ((spanHasBg || spanHasBorder || spanHasGradient) && !isGradientText) {
2884
+ return false;
2885
+ }
2886
+ }
2807
2887
  return true;
2888
+ }
2808
2889
  // Include text-only DIVs: DIVs that contain only inline/text content
2809
2890
  // The transformer wraps bare text in <p> tags, so a DIV with a single <p> child
2810
2891
  // is still effectively a text-only DIV. Examples after transformation:
@@ -2957,8 +3038,17 @@ export function parseSlideHtml(doc) {
2957
3038
  // - It's a single text child (isSingleTextChild), OR
2958
3039
  // - There are ONLY text children (no non-text siblings to compete with for space), OR
2959
3040
  // - There's direct text content (text nodes, not child elements)
2960
- const shouldMergeText = hasTextChildren && (isSingleTextChild ||
2961
- nonTextChildren.length === 0) || hasDirectText;
3041
+ //
3042
+ // CRITICAL: If the parent styled DIV is a flex-row container with multiple
3043
+ // children, the children are laid out horizontally and must be extracted
3044
+ // separately with their own positions. Merging them into a single text box
3045
+ // would stack them vertically, breaking the layout.
3046
+ const isParentFlexRow = isFlexContainer &&
3047
+ (computed.flexDirection === 'row' || computed.flexDirection === 'row-reverse' || !computed.flexDirection) &&
3048
+ allChildren.length > 1;
3049
+ const isParentGrid = display === 'grid' || display === 'inline-grid';
3050
+ const shouldMergeText = !isParentFlexRow && !isParentGrid && (hasTextChildren && (isSingleTextChild ||
3051
+ nonTextChildren.length === 0) || hasDirectText);
2962
3052
  if (shouldMergeText) {
2963
3053
  if (isSingleTextChild) {
2964
3054
  const textEl = textChildren[0];
@@ -3440,16 +3530,55 @@ export function parseSlideHtml(doc) {
3440
3530
  (plainDivFlexDir === 'row' || plainDivFlexDir === 'row-reverse') &&
3441
3531
  plainDivChildCount > 1;
3442
3532
  const isPlainDivGrid = plainDivDisplay === 'grid' || plainDivDisplay === 'inline-grid';
3533
+ // Helper to check if a child element is inline text (not a styled SPAN/A that needs shape treatment)
3534
+ const isInlineTextChild = (ce) => {
3535
+ const tagName = ce.tagName.toUpperCase();
3536
+ if (!inlineTextTagsSet.has(tagName))
3537
+ return false;
3538
+ // SPANs and A elements with background/border styling need to be processed as shapes
3539
+ // They should NOT be treated as inline text children
3540
+ if (tagName === 'SPAN' || tagName === 'A') {
3541
+ const ceComputed = win.getComputedStyle(ce);
3542
+ const ceHasBg = ceComputed.backgroundColor && ceComputed.backgroundColor !== 'rgba(0, 0, 0, 0)';
3543
+ const ceHasBorder = (parseFloat(ceComputed.borderTopWidth) || 0) > 0 ||
3544
+ (parseFloat(ceComputed.borderRightWidth) || 0) > 0 ||
3545
+ (parseFloat(ceComputed.borderBottomWidth) || 0) > 0 ||
3546
+ (parseFloat(ceComputed.borderLeftWidth) || 0) > 0;
3547
+ const ceHasGradient = ceComputed.backgroundImage &&
3548
+ ceComputed.backgroundImage !== 'none' &&
3549
+ (ceComputed.backgroundImage.includes('linear-gradient') ||
3550
+ ceComputed.backgroundImage.includes('radial-gradient'));
3551
+ // Check if this is gradient text (background-clip: text) - those ARE inline text
3552
+ const ceBgClip = ceComputed.webkitBackgroundClip || ceComputed.backgroundClip;
3553
+ const ceTextFillColor = ceComputed.webkitTextFillColor;
3554
+ const isGradientText = ceBgClip === 'text' &&
3555
+ (ceTextFillColor === 'transparent' ||
3556
+ ceTextFillColor === 'rgba(0, 0, 0, 0)' ||
3557
+ (ceTextFillColor && ceTextFillColor.includes('rgba') && ceTextFillColor.endsWith(', 0)')));
3558
+ // Styled elements (except gradient text) should NOT be treated as inline text
3559
+ if ((ceHasBg || ceHasBorder || ceHasGradient) && !isGradientText) {
3560
+ return false;
3561
+ }
3562
+ }
3563
+ return true;
3564
+ };
3443
3565
  const allChildrenAreInlineText = !isPlainDivFlexRow && !isPlainDivGrid && (childElements.length === 0 ||
3444
- childElements.every(ce => inlineTextTagsSet.has(ce.tagName.toUpperCase())));
3566
+ childElements.every(ce => isInlineTextChild(ce)));
3445
3567
  // Only proceed if this DIV has meaningful text content
3446
3568
  // AND has no structural child elements that would be extracted separately
3447
3569
  // SVG children are decorative (already extracted as images) and shouldn't block text extraction
3570
+ // Styled SPANs/A elements (with bg/border) ARE structural - they become shapes
3448
3571
  const structuralChildElements = childElements.filter(ce => {
3449
3572
  const tagName = ce.tagName.toUpperCase();
3450
- return tagName !== 'BR' &&
3451
- tagName !== 'SVG' &&
3452
- !inlineTextTagsSet.has(tagName);
3573
+ if (tagName === 'BR' || tagName === 'SVG')
3574
+ return false;
3575
+ // If it's not an inline text element, it's structural
3576
+ if (!inlineTextTagsSet.has(tagName))
3577
+ return true;
3578
+ // For SPAN/A, check if it's styled (then it's structural)
3579
+ if (!isInlineTextChild(ce))
3580
+ return true;
3581
+ return false;
3453
3582
  });
3454
3583
  const hasStructuralChildren = structuralChildElements.length > 0;
3455
3584
  // If all children are inline text elements (or no children), use the full textContent
@@ -3506,6 +3635,11 @@ export function parseSlideHtml(doc) {
3506
3635
  // use parseInlineFormatting to preserve per-run styling (color, bold, etc.).
3507
3636
  // Otherwise, create a single text run.
3508
3637
  let textRuns;
3638
+ // Check if this is a flex-column container - children are stacked vertically
3639
+ // and should be separated by line breaks in the PPTX output
3640
+ const isFlexColumn = (plainDivDisplay === 'flex' || plainDivDisplay === 'inline-flex') &&
3641
+ (plainDivFlexDir === 'column' || plainDivFlexDir === 'column-reverse') &&
3642
+ childElements.length > 1;
3509
3643
  if (allChildrenAreInlineText && childElements.length > 0) {
3510
3644
  const baseRunOptions = {
3511
3645
  fontSize: pxToPoints(computed2.fontSize),
@@ -3521,7 +3655,57 @@ export function parseSlideHtml(doc) {
3521
3655
  if (computed2.textTransform && computed2.textTransform !== 'none') {
3522
3656
  textTransformFn = (text) => applyTextTransform(text, computed2.textTransform);
3523
3657
  }
3524
- textRuns = parseInlineFormatting(el, baseRunOptions, [], textTransformFn, win);
3658
+ // For flex-column containers, process each child separately and add
3659
+ // line breaks between them to preserve the vertical stacking
3660
+ if (isFlexColumn) {
3661
+ textRuns = [];
3662
+ for (let ci = 0; ci < childElements.length; ci++) {
3663
+ const childEl = childElements[ci];
3664
+ const childComputed = win.getComputedStyle(childEl);
3665
+ const childText = getTransformedText(childEl, childComputed);
3666
+ if (!childText)
3667
+ continue;
3668
+ // Apply text-transform
3669
+ const transformedChildText = textTransformFn(childText);
3670
+ // Build run options for this child, inheriting from parent but overriding
3671
+ // with child-specific styles
3672
+ const childRunOptions = { ...baseRunOptions };
3673
+ const childFontSize = pxToPoints(childComputed.fontSize);
3674
+ if (childFontSize)
3675
+ childRunOptions.fontSize = childFontSize;
3676
+ const childFontFace = extractFontFace(childComputed.fontFamily);
3677
+ if (childFontFace)
3678
+ childRunOptions.fontFace = childFontFace;
3679
+ const childColor = rgbToHex(childComputed.color);
3680
+ if (childColor)
3681
+ childRunOptions.color = childColor;
3682
+ if (parseInt(childComputed.fontWeight) >= 600) {
3683
+ childRunOptions.bold = true;
3684
+ }
3685
+ else if (parseInt(childComputed.fontWeight) < 600) {
3686
+ childRunOptions.bold = false;
3687
+ }
3688
+ if (childComputed.fontStyle === 'italic') {
3689
+ childRunOptions.italic = true;
3690
+ }
3691
+ else if (childComputed.fontStyle !== 'italic') {
3692
+ childRunOptions.italic = false;
3693
+ }
3694
+ // Check for letter-spacing
3695
+ const childLs = extractLetterSpacing(childComputed);
3696
+ if (childLs !== null)
3697
+ childRunOptions.charSpacing = childLs;
3698
+ // For all children except the last, add a newline at the end of the text
3699
+ // to create vertical stacking in the PPTX output
3700
+ const textWithBreak = ci < childElements.length - 1
3701
+ ? transformedChildText + '\n'
3702
+ : transformedChildText;
3703
+ textRuns.push({ text: textWithBreak, options: childRunOptions });
3704
+ }
3705
+ }
3706
+ else {
3707
+ textRuns = parseInlineFormatting(el, baseRunOptions, [], textTransformFn, win);
3708
+ }
3525
3709
  // Fallback to single run if parseInlineFormatting produced nothing
3526
3710
  if (textRuns.length === 0) {
3527
3711
  textRuns = [{ text: extractedText, options: {} }];
@@ -3955,9 +4139,9 @@ export function parseSlideHtml(doc) {
3955
4139
  // Some DIVs (e.g., .image-side with overflow:hidden) have no bg/border/gradient
3956
4140
  // themselves but have ::before/::after pseudo-elements with gradient overlays.
3957
4141
  doc.querySelectorAll('div').forEach((divEl) => {
4142
+ const htmlDiv = divEl;
3958
4143
  if (processed.has(divEl))
3959
4144
  return; // Already handled in second pass
3960
- const htmlDiv = divEl;
3961
4145
  if (htmlDiv === body)
3962
4146
  return; // Body already handled
3963
4147
  const rect = htmlDiv.getBoundingClientRect();