docxodus 3.8.4 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -163,12 +163,23 @@ export class PaginationEngine {
163
163
  }
164
164
  /**
165
165
  * Parses the header/footer registry from the staging element.
166
+ * Also measures heights during parsing for lazy-loading compatibility.
166
167
  */
167
168
  parseHeaderFooterRegistry() {
168
169
  const registry = new Map();
169
170
  const registryEl = this.stagingElement.querySelector("#pagination-hf-registry");
170
171
  if (!registryEl)
171
172
  return registry;
173
+ // Build a map of section index -> content width for measurement
174
+ const sectionWidths = new Map();
175
+ const sections = Array.from(this.stagingElement.querySelectorAll("[data-section-index]"));
176
+ for (const section of sections) {
177
+ const idx = parseInt(section.dataset.sectionIndex || "0", 10);
178
+ const contentWidth = parseFloat(section.dataset.contentWidth || "") || DEFAULT_PAGE_WIDTH - 2 * DEFAULT_MARGIN;
179
+ sectionWidths.set(idx, contentWidth);
180
+ }
181
+ // Fallback content width if no sections found
182
+ const defaultContentWidth = sectionWidths.get(0) || DEFAULT_PAGE_WIDTH - 2 * DEFAULT_MARGIN;
172
183
  const entries = Array.from(registryEl.querySelectorAll("[data-section][data-hf-type]"));
173
184
  for (const entry of entries) {
174
185
  const sectionIndex = parseInt(entry.dataset.section || "0", 10);
@@ -179,24 +190,34 @@ export class PaginationEngine {
179
190
  const section = registry.get(sectionIndex);
180
191
  // Clone the first child element (the actual header/footer content)
181
192
  const content = entry.cloneNode(true);
193
+ // Get content width for this section (for accurate measurement)
194
+ const contentWidth = sectionWidths.get(sectionIndex) || defaultContentWidth;
195
+ // Measure height during parsing (one-time cost, enables lazy loading)
196
+ const measuredHeight = this.measureHeaderFooterHeight(content, contentWidth);
182
197
  switch (hfType) {
183
198
  case "header-default":
184
199
  section.headerDefault = content;
200
+ section.headerDefaultHeight = measuredHeight;
185
201
  break;
186
202
  case "header-first":
187
203
  section.headerFirst = content;
204
+ section.headerFirstHeight = measuredHeight;
188
205
  break;
189
206
  case "header-even":
190
207
  section.headerEven = content;
208
+ section.headerEvenHeight = measuredHeight;
191
209
  break;
192
210
  case "footer-default":
193
211
  section.footerDefault = content;
212
+ section.footerDefaultHeight = measuredHeight;
194
213
  break;
195
214
  case "footer-first":
196
215
  section.footerFirst = content;
216
+ section.footerFirstHeight = measuredHeight;
197
217
  break;
198
218
  case "footer-even":
199
219
  section.footerEven = content;
220
+ section.footerEvenHeight = measuredHeight;
200
221
  break;
201
222
  }
202
223
  }
@@ -492,6 +513,87 @@ export class PaginationEngine {
492
513
  // Default (odd) pages
493
514
  return sectionHf.footerDefault;
494
515
  }
516
+ /**
517
+ * Computes effective header, footer, and content heights for a specific page position.
518
+ * Uses pre-measured header/footer heights from the registry.
519
+ * This method is deterministic - same inputs always produce same outputs.
520
+ * This enables lazy loading compatibility since available height can be computed
521
+ * for any page position without knowing the page's content.
522
+ */
523
+ getEffectiveHeights(dims, sectionIndex, pageInSection, globalPageNumber) {
524
+ const sectionHf = this.hfRegistry.get(sectionIndex);
525
+ // Determine effective header height
526
+ let headerHeight = dims.marginTop;
527
+ if (sectionHf) {
528
+ let measuredHeaderHeight;
529
+ // Select the appropriate header height based on page position
530
+ if (pageInSection === 1 && sectionHf.headerFirstHeight != null) {
531
+ measuredHeaderHeight = sectionHf.headerFirstHeight;
532
+ }
533
+ else if (globalPageNumber % 2 === 0 && sectionHf.headerEvenHeight != null) {
534
+ measuredHeaderHeight = sectionHf.headerEvenHeight;
535
+ }
536
+ else if (sectionHf.headerDefaultHeight != null) {
537
+ measuredHeaderHeight = sectionHf.headerDefaultHeight;
538
+ }
539
+ if (measuredHeaderHeight != null) {
540
+ // Use the larger of margin height or measured content height
541
+ headerHeight = Math.max(dims.marginTop, measuredHeaderHeight);
542
+ }
543
+ }
544
+ // Determine effective footer height
545
+ let footerHeight = dims.marginBottom;
546
+ if (sectionHf) {
547
+ let measuredFooterHeight;
548
+ // Select the appropriate footer height based on page position
549
+ if (pageInSection === 1 && sectionHf.footerFirstHeight != null) {
550
+ measuredFooterHeight = sectionHf.footerFirstHeight;
551
+ }
552
+ else if (globalPageNumber % 2 === 0 && sectionHf.footerEvenHeight != null) {
553
+ measuredFooterHeight = sectionHf.footerEvenHeight;
554
+ }
555
+ else if (sectionHf.footerDefaultHeight != null) {
556
+ measuredFooterHeight = sectionHf.footerDefaultHeight;
557
+ }
558
+ if (measuredFooterHeight != null) {
559
+ // Use the larger of margin height or measured content height
560
+ footerHeight = Math.max(dims.marginBottom, measuredFooterHeight);
561
+ }
562
+ }
563
+ // Calculate effective content height
564
+ // contentHeight from dims is: pageHeight - marginTop - marginBottom
565
+ // We need to adjust for any header/footer expansion beyond margins
566
+ const headerExpansion = headerHeight - dims.marginTop;
567
+ const footerExpansion = footerHeight - dims.marginBottom;
568
+ const contentHeight = dims.contentHeight - headerExpansion - footerExpansion;
569
+ return { headerHeight, footerHeight, contentHeight };
570
+ }
571
+ /**
572
+ * Measures the content height of a header or footer element.
573
+ * This is needed because headers/footers can contain more content than fits in the margin area.
574
+ */
575
+ measureHeaderFooterHeight(source, contentWidth) {
576
+ // Create a temporary measurement container
577
+ const measureContainer = document.createElement("div");
578
+ measureContainer.style.position = "absolute";
579
+ measureContainer.style.visibility = "hidden";
580
+ measureContainer.style.width = `${contentWidth}pt`;
581
+ measureContainer.style.left = "-9999px";
582
+ // Add padding to match the actual rendering
583
+ measureContainer.style.paddingBottom = "4pt";
584
+ // Clone and add the header/footer content
585
+ for (const child of Array.from(source.childNodes)) {
586
+ measureContainer.appendChild(child.cloneNode(true));
587
+ }
588
+ // Append to staging for measurement
589
+ this.stagingElement.appendChild(measureContainer);
590
+ // Measure
591
+ const rect = measureContainer.getBoundingClientRect();
592
+ const heightPt = pxToPt(rect.height);
593
+ // Clean up
594
+ this.stagingElement.removeChild(measureContainer);
595
+ return heightPt;
596
+ }
495
597
  /**
496
598
  * Flows measured blocks into page containers.
497
599
  * Implements a single-pass, forward-only algorithm that is compatible with future lazy loading.
@@ -500,10 +602,12 @@ export class PaginationEngine {
500
602
  flowToPages(blocks, dims, startPageNumber, sectionIndex) {
501
603
  const pages = [];
502
604
  let currentContent = [];
503
- let remainingHeight = dims.contentHeight;
504
605
  let pageNumber = startPageNumber;
505
606
  // Track page number within this section for first-page header/footer selection
506
607
  let pageInSection = 1;
608
+ // Get effective content height for first page (accounts for header/footer sizes)
609
+ let { contentHeight: effectiveContentHeight } = this.getEffectiveHeights(dims, sectionIndex, pageInSection, pageNumber);
610
+ let remainingHeight = effectiveContentHeight;
507
611
  // Track the previous block's bottom margin for margin collapsing
508
612
  let prevMarginBottomPt = 0;
509
613
  // Track footnote IDs for the current page
@@ -528,7 +632,10 @@ export class PaginationEngine {
528
632
  pageNumber++;
529
633
  pageInSection++;
530
634
  currentContent = [];
531
- remainingHeight = dims.contentHeight;
635
+ // Get effective content height for new page position
636
+ const newHeights = this.getEffectiveHeights(dims, sectionIndex, pageInSection, pageNumber);
637
+ effectiveContentHeight = newHeights.contentHeight;
638
+ remainingHeight = effectiveContentHeight;
532
639
  prevMarginBottomPt = 0; // Reset margin tracking for new page
533
640
  currentFootnoteIds = []; // Reset footnotes for new page
534
641
  currentPartialFootnotes = []; // Reset partial footnotes for new page
@@ -589,8 +696,8 @@ export class PaginationEngine {
589
696
  // Effective remaining height (content area minus footnotes already on page)
590
697
  const effectiveRemainingHeight = remainingHeight - currentFootnoteHeight;
591
698
  // Calculate maximum footnote area for this page (can expand into body content space)
592
- const bodyContentUsed = dims.contentHeight - remainingHeight;
593
- const maxFootnoteArea = dims.contentHeight * MAX_FOOTNOTE_AREA_RATIO;
699
+ const bodyContentUsed = effectiveContentHeight - remainingHeight;
700
+ const maxFootnoteArea = effectiveContentHeight * MAX_FOOTNOTE_AREA_RATIO;
594
701
  const maxFootnoteExpansion = Math.max(0, maxFootnoteArea - currentFootnoteHeight);
595
702
  // Check if block fits on current page (including its footnotes)
596
703
  if (blockSpace <= effectiveRemainingHeight) {
@@ -604,13 +711,13 @@ export class PaginationEngine {
604
711
  currentFootnoteHeight += additionalFootnoteHeight;
605
712
  }
606
713
  }
607
- else if (block.heightPt + block.marginTopPt + block.marginBottomPt <= dims.contentHeight) {
714
+ else if (block.heightPt + block.marginTopPt + block.marginBottomPt <= effectiveContentHeight) {
608
715
  // Block doesn't fit with current allocation - try expanding footnote area
609
716
  const blockSpaceWithoutFootnotes = effectiveMarginTop + block.heightPt + block.marginBottomPt;
610
717
  // Check if block fits if we expand footnote area
611
718
  // We can expand footnotes up to maxFootnoteArea, leaving room for body content
612
719
  const minBodySpaceNeeded = bodyContentUsed + blockSpaceWithoutFootnotes + MIN_BODY_CONTENT_HEIGHT;
613
- const canExpandFootnotes = minBodySpaceNeeded <= dims.contentHeight;
720
+ const canExpandFootnotes = minBodySpaceNeeded <= effectiveContentHeight;
614
721
  if (newFootnoteIds.length > 0 && blockSpaceWithoutFootnotes <= effectiveRemainingHeight) {
615
722
  // Block itself fits, but footnotes don't - expand footnote area
616
723
  currentContent.push(block.element.cloneNode(true));
@@ -618,7 +725,7 @@ export class PaginationEngine {
618
725
  prevMarginBottomPt = block.marginBottomPt;
619
726
  // Calculate EXPANDED space available for footnotes
620
727
  // Footnotes can take up to maxFootnoteArea or all remaining space, whichever is less
621
- const availableForFootnotes = Math.min(maxFootnoteArea, dims.contentHeight - bodyContentUsed - blockSpaceWithoutFootnotes);
728
+ const availableForFootnotes = Math.min(maxFootnoteArea, effectiveContentHeight - bodyContentUsed - blockSpaceWithoutFootnotes);
622
729
  // Try to fit as much of each new footnote as possible in expanded area
623
730
  for (const footnoteId of newFootnoteIds) {
624
731
  const footnote = this.footnoteRegistry.get(footnoteId);
@@ -680,7 +787,7 @@ export class PaginationEngine {
680
787
  // First, try to fit more of current footnotes by expanding the area
681
788
  // Then check if the block fits in reduced body space
682
789
  const expandedFootnoteSpace = Math.min(maxFootnoteArea, additionalFootnoteHeight + currentFootnoteHeight);
683
- const bodySpaceAfterExpansion = dims.contentHeight - expandedFootnoteSpace;
790
+ const bodySpaceAfterExpansion = effectiveContentHeight - expandedFootnoteSpace;
684
791
  if (blockSpaceWithoutFootnotes <= bodySpaceAfterExpansion - bodyContentUsed) {
685
792
  // Block fits after expanding footnote area
686
793
  currentContent.push(block.element.cloneNode(true));
@@ -697,7 +804,7 @@ export class PaginationEngine {
697
804
  : (currentContinuation ? this.measureContinuationHeight(currentContinuation, dims.contentWidth) : 0);
698
805
  const newPageSpace = block.marginTopPt + block.heightPt + block.marginBottomPt;
699
806
  currentContent.push(block.element.cloneNode(true));
700
- remainingHeight = dims.contentHeight - newPageSpace;
807
+ remainingHeight = effectiveContentHeight - newPageSpace;
701
808
  prevMarginBottomPt = block.marginBottomPt;
702
809
  currentFootnoteIds = [...blockFootnoteIds];
703
810
  currentFootnoteHeight = newPageFootnoteHeight;
@@ -714,7 +821,7 @@ export class PaginationEngine {
714
821
  // Include full top margin
715
822
  const newPageSpace = block.marginTopPt + block.heightPt + block.marginBottomPt;
716
823
  currentContent.push(block.element.cloneNode(true));
717
- remainingHeight = dims.contentHeight - newPageSpace;
824
+ remainingHeight = effectiveContentHeight - newPageSpace;
718
825
  prevMarginBottomPt = block.marginBottomPt;
719
826
  currentFootnoteIds = [...blockFootnoteIds];
720
827
  currentFootnoteHeight = newPageFootnoteHeight;
@@ -773,6 +880,8 @@ export class PaginationEngine {
773
880
  pageBox.style.contain = "layout paint";
774
881
  pageBox.dataset.pageNumber = String(pageNumber);
775
882
  pageBox.dataset.sectionIndex = String(sectionIndex);
883
+ // Get pre-computed effective heights for this page position (no re-measurement needed)
884
+ const effectiveHeights = this.getEffectiveHeights(dims, sectionIndex, pageInSection, pageNumber);
776
885
  // Add header if available for this section/page
777
886
  const headerSource = this.selectHeader(sectionIndex, pageInSection, pageNumber);
778
887
  if (headerSource) {
@@ -782,7 +891,7 @@ export class PaginationEngine {
782
891
  headerDiv.style.top = "0"; // Start at page top
783
892
  headerDiv.style.left = `${dims.marginLeft}pt`;
784
893
  headerDiv.style.width = `${dims.contentWidth}pt`;
785
- headerDiv.style.height = `${dims.marginTop}pt`; // Constrain to top margin area
894
+ headerDiv.style.height = `${effectiveHeights.headerHeight}pt`; // Use pre-computed effective height
786
895
  headerDiv.style.overflow = "hidden";
787
896
  headerDiv.style.boxSizing = "border-box";
788
897
  headerDiv.style.display = "flex";
@@ -795,14 +904,16 @@ export class PaginationEngine {
795
904
  }
796
905
  pageBox.appendChild(headerDiv);
797
906
  }
798
- // Create content area at full page margins and dimensions
907
+ // Create content area using pre-computed effective heights
908
+ const contentAreaTop = effectiveHeights.headerHeight;
909
+ const contentAreaHeight = effectiveHeights.contentHeight;
799
910
  const contentArea = document.createElement("div");
800
911
  contentArea.className = `${this.cssPrefix}content`;
801
912
  contentArea.style.position = "absolute";
802
- contentArea.style.top = `${dims.marginTop}pt`;
913
+ contentArea.style.top = `${contentAreaTop}pt`;
803
914
  contentArea.style.left = `${dims.marginLeft}pt`;
804
915
  contentArea.style.width = `${dims.contentWidth}pt`;
805
- contentArea.style.height = `${dims.contentHeight}pt`;
916
+ contentArea.style.height = `${contentAreaHeight}pt`;
806
917
  contentArea.style.overflow = "hidden";
807
918
  // Add content
808
919
  for (const el of content) {
@@ -823,7 +934,7 @@ export class PaginationEngine {
823
934
  footerDiv.style.bottom = "0"; // Start at page bottom
824
935
  footerDiv.style.left = `${dims.marginLeft}pt`;
825
936
  footerDiv.style.width = `${dims.contentWidth}pt`;
826
- footerDiv.style.height = `${dims.marginBottom}pt`; // Constrain to bottom margin area
937
+ footerDiv.style.height = `${effectiveHeights.footerHeight}pt`; // Use pre-computed effective height
827
938
  footerDiv.style.overflow = "hidden";
828
939
  footerDiv.style.boxSizing = "border-box";
829
940
  footerDiv.style.display = "flex";
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"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"}