@harbour-enterprises/superdoc 1.1.0 → 1.1.2

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.
Files changed (28) hide show
  1. package/dist/chunks/{PdfViewer-ClRuoPWm.cjs → PdfViewer-Ba04yS5H.cjs} +1 -1
  2. package/dist/chunks/{PdfViewer-BgOzYGGE.es.js → PdfViewer-Cdnpadpf.es.js} +1 -1
  3. package/dist/chunks/{index-LKlY0uOW-D_ZqJ-GU.es.js → index-BBA3d9LK-CHGIE1LG.es.js} +1 -1
  4. package/dist/chunks/{index-LKlY0uOW-B70pXIte.cjs → index-BBA3d9LK-DdrFtQwl.cjs} +1 -1
  5. package/dist/chunks/{index-BKEi2CRJ.es.js → index-DSXEhZoY.es.js} +25 -13
  6. package/dist/chunks/{index-35PXpdi_.cjs → index-vuWEvtXh.cjs} +25 -13
  7. package/dist/chunks/{super-editor.es-Dt3pSUMk.es.js → super-editor.es-B1nGbDJe.es.js} +105 -48
  8. package/dist/chunks/{super-editor.es-COhOfA81.cjs → super-editor.es-DGCgR7rL.cjs} +105 -48
  9. package/dist/packages/superdoc/src/core/SuperDoc.d.ts.map +1 -1
  10. package/dist/super-editor/ai-writer.es.js +2 -2
  11. package/dist/super-editor/chunks/{converter-CB_4LqhI.js → converter-BSBbIF0S.js} +1 -1
  12. package/dist/super-editor/chunks/{docx-zipper-0-ibLeHA.js → docx-zipper-Bh6HZNKL.js} +1 -1
  13. package/dist/super-editor/chunks/{editor-BKIkgBE0.js → editor-DWTzwjRX.js} +106 -49
  14. package/dist/super-editor/chunks/{index-LKlY0uOW.js → index-BBA3d9LK.js} +1 -1
  15. package/dist/super-editor/chunks/{toolbar-CfarRdhy.js → toolbar-Dpya3xe7.js} +2 -2
  16. package/dist/super-editor/converter.es.js +1 -1
  17. package/dist/super-editor/docx-zipper.es.js +2 -2
  18. package/dist/super-editor/editor.es.js +3 -3
  19. package/dist/super-editor/file-zipper.es.js +1 -1
  20. package/dist/super-editor/super-editor.es.js +6 -6
  21. package/dist/super-editor/toolbar.es.js +2 -2
  22. package/dist/super-editor.cjs +1 -1
  23. package/dist/super-editor.es.js +1 -1
  24. package/dist/superdoc.cjs +2 -2
  25. package/dist/superdoc.es.js +2 -2
  26. package/dist/superdoc.umd.js +129 -60
  27. package/dist/superdoc.umd.js.map +1 -1
  28. package/package.json +1 -1
@@ -42427,7 +42427,7 @@ const _SuperConverter = class _SuperConverter2 {
42427
42427
  static getStoredSuperdocVersion(docx) {
42428
42428
  return _SuperConverter2.getStoredCustomProperty(docx, "SuperdocVersion");
42429
42429
  }
42430
- static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "1.1.0") {
42430
+ static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "1.1.2") {
42431
42431
  return _SuperConverter2.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
42432
42432
  }
42433
42433
  /**
@@ -60508,7 +60508,7 @@ const isHeadless = (editor) => {
60508
60508
  const shouldSkipNodeView = (editor) => {
60509
60509
  return isHeadless(editor);
60510
60510
  };
60511
- const summaryVersion = "1.1.0";
60511
+ const summaryVersion = "1.1.2";
60512
60512
  const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
60513
60513
  const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
60514
60514
  function mapAttributes(attrs) {
@@ -61297,7 +61297,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
61297
61297
  { default: remarkStringify },
61298
61298
  { default: remarkGfm }
61299
61299
  ] = await Promise.all([
61300
- Promise.resolve().then(() => require("./index-LKlY0uOW-B70pXIte.cjs")),
61300
+ Promise.resolve().then(() => require("./index-BBA3d9LK-DdrFtQwl.cjs")),
61301
61301
  Promise.resolve().then(() => require("./index-DRCvimau-H4Ck3S9a.cjs")),
61302
61302
  Promise.resolve().then(() => require("./index-C_x_N6Uh-Db3CUJMX.cjs")),
61303
61303
  Promise.resolve().then(() => require("./index-D_sWOSiG-BtDZzJ6I.cjs")),
@@ -61502,7 +61502,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
61502
61502
  * Process collaboration migrations
61503
61503
  */
61504
61504
  processCollaborationMigrations() {
61505
- console.debug("[checkVersionMigrations] Current editor version", "1.1.0");
61505
+ console.debug("[checkVersionMigrations] Current editor version", "1.1.2");
61506
61506
  if (!this.options.ydoc) return;
61507
61507
  const metaMap = this.options.ydoc.getMap("meta");
61508
61508
  let docVersion = metaMap.get("version");
@@ -75058,13 +75058,13 @@ function scheduleSectionBreak(block, state2, baseMargins, maxHeaderContentHeight
75058
75058
  if (maxHeaderContentHeight > 0) {
75059
75059
  return Math.max(baseTop, headerDistance + maxHeaderContentHeight);
75060
75060
  }
75061
- return Math.max(baseTop, headerDistance);
75061
+ return baseTop;
75062
75062
  };
75063
75063
  const calcRequiredBottomMargin = (footerDistance, baseBottom) => {
75064
75064
  if (maxFooterContentHeight > 0) {
75065
75065
  return Math.max(baseBottom, footerDistance + maxFooterContentHeight);
75066
75066
  }
75067
- return Math.max(baseBottom, footerDistance);
75067
+ return baseBottom;
75068
75068
  };
75069
75069
  if (block.attrs?.isFirstSection && !next.hasAnyPages) {
75070
75070
  if (block.pageSize) {
@@ -75565,6 +75565,11 @@ function layoutParagraphBlock(ctx2, anchors) {
75565
75565
  const prevTrailing = state2.trailingSpacing ?? 0;
75566
75566
  const neededSpacingBefore = Math.max(spacingBefore - prevTrailing, 0);
75567
75567
  if (state2.cursorY + neededSpacingBefore > state2.contentBottom) {
75568
+ if (state2.cursorY <= state2.topMargin) {
75569
+ state2.trailingSpacing = 0;
75570
+ appliedSpacingBefore = true;
75571
+ break;
75572
+ }
75568
75573
  state2 = advanceColumn(state2);
75569
75574
  if (state2.trailingSpacing == null) state2.trailingSpacing = 0;
75570
75575
  continue;
@@ -76880,12 +76885,12 @@ function layoutDocument(blocks, measures, options = {}) {
76880
76885
  next.pendingFooterDistance = footerDistance2;
76881
76886
  }
76882
76887
  if (block.margins?.top !== void 0 || block.margins?.header !== void 0) {
76883
- const requiredTop = maxHeaderContentHeight > 0 ? headerDistance2 + maxHeaderContentHeight : headerDistance2;
76888
+ const requiredTop = maxHeaderContentHeight > 0 ? headerDistance2 + maxHeaderContentHeight : 0;
76884
76889
  next.activeTopMargin = Math.max(sectionTop, requiredTop);
76885
76890
  next.pendingTopMargin = next.activeTopMargin;
76886
76891
  }
76887
76892
  if (block.margins?.bottom !== void 0 || block.margins?.footer !== void 0) {
76888
- const requiredBottom = maxFooterContentHeight > 0 ? footerDistance2 + maxFooterContentHeight : footerDistance2;
76893
+ const requiredBottom = maxFooterContentHeight > 0 ? footerDistance2 + maxFooterContentHeight : 0;
76889
76894
  next.activeBottomMargin = Math.max(sectionBottom, requiredBottom);
76890
76895
  next.pendingBottomMargin = next.activeBottomMargin;
76891
76896
  }
@@ -77635,7 +77640,7 @@ function layoutHeaderFooter(blocks, measures, constraints) {
77635
77640
  throw new Error("layoutHeaderFooter: width must be positive");
77636
77641
  }
77637
77642
  if (!Number.isFinite(height) || height <= 0) {
77638
- throw new Error("layoutHeaderFooter: height must be positive");
77643
+ return { pages: [], height: 0 };
77639
77644
  }
77640
77645
  const maxBehindDocOverflow = Math.max(192, height * 4);
77641
77646
  const minBehindDocY = -maxBehindDocOverflow;
@@ -79480,7 +79485,9 @@ async function incrementalLayout(previousBlocks, _previousLayout, nextBlocks, op
79480
79485
  `[Perf] 4.1 Measure all blocks: ${(measureEnd - measureStart).toFixed(2)}ms (${cacheMisses} measured, ${cacheHits} cached)`
79481
79486
  );
79482
79487
  let headerContentHeights;
79483
- if (headerFooter?.constraints && headerFooter.headerBlocks) {
79488
+ const hasHeaderBlocks = headerFooter?.headerBlocks && Object.keys(headerFooter.headerBlocks).length > 0;
79489
+ const hasHeaderBlocksByRId = headerFooter?.headerBlocksByRId && headerFooter.headerBlocksByRId.size > 0;
79490
+ if (headerFooter?.constraints && (hasHeaderBlocks || hasHeaderBlocksByRId)) {
79484
79491
  const hfPreStart = performance.now();
79485
79492
  const measureFn = headerFooter.measure ?? measureBlock2;
79486
79493
  invalidateHeaderFooterCache(
@@ -79492,25 +79499,45 @@ async function incrementalLayout(previousBlocks, _previousLayout, nextBlocks, op
79492
79499
  options.sectionMetadata
79493
79500
  );
79494
79501
  const HEADER_PRELAYOUT_PLACEHOLDER_PAGE_COUNT = 1;
79495
- const preHeaderLayouts = await layoutHeaderFooterWithCache(
79496
- headerFooter.headerBlocks,
79497
- headerFooter.constraints,
79498
- measureFn,
79499
- headerMeasureCache,
79500
- HEADER_PRELAYOUT_PLACEHOLDER_PAGE_COUNT,
79501
- void 0
79502
- // No page resolver needed for height calculation
79503
- );
79504
79502
  const isValidHeaderType = (key2) => {
79505
79503
  return ["default", "first", "even", "odd"].includes(key2);
79506
79504
  };
79507
79505
  headerContentHeights = {};
79508
- for (const [type2, value] of Object.entries(preHeaderLayouts)) {
79509
- if (!isValidHeaderType(type2)) continue;
79510
- if (value?.layout && typeof value.layout.height === "number") {
79511
- const height = value.layout.height;
79512
- if (Number.isFinite(height) && height >= 0) {
79513
- headerContentHeights[type2] = height;
79506
+ if (hasHeaderBlocks && headerFooter.headerBlocks) {
79507
+ const preHeaderLayouts = await layoutHeaderFooterWithCache(
79508
+ headerFooter.headerBlocks,
79509
+ headerFooter.constraints,
79510
+ measureFn,
79511
+ headerMeasureCache,
79512
+ HEADER_PRELAYOUT_PLACEHOLDER_PAGE_COUNT,
79513
+ void 0
79514
+ // No page resolver needed for height calculation
79515
+ );
79516
+ for (const [type2, value] of Object.entries(preHeaderLayouts)) {
79517
+ if (!isValidHeaderType(type2)) continue;
79518
+ if (value?.layout && typeof value.layout.height === "number") {
79519
+ const height = value.layout.height;
79520
+ if (Number.isFinite(height) && height >= 0) {
79521
+ headerContentHeights[type2] = height;
79522
+ }
79523
+ }
79524
+ }
79525
+ }
79526
+ if (hasHeaderBlocksByRId && headerFooter.headerBlocksByRId) {
79527
+ for (const [_rId, blocks] of headerFooter.headerBlocksByRId) {
79528
+ if (!blocks || blocks.length === 0) continue;
79529
+ const measureConstraints = {
79530
+ maxWidth: headerFooter.constraints.width,
79531
+ maxHeight: headerFooter.constraints.height
79532
+ };
79533
+ const measures2 = await Promise.all(blocks.map((block) => measureFn(block, measureConstraints)));
79534
+ const layout2 = layoutHeaderFooter(blocks, measures2, {
79535
+ width: headerFooter.constraints.width,
79536
+ height: headerFooter.constraints.height
79537
+ });
79538
+ if (layout2.height > 0) {
79539
+ const currentDefault = headerContentHeights.default ?? 0;
79540
+ headerContentHeights.default = Math.max(currentDefault, layout2.height);
79514
79541
  }
79515
79542
  }
79516
79543
  }
@@ -79518,10 +79545,12 @@ async function incrementalLayout(previousBlocks, _previousLayout, nextBlocks, op
79518
79545
  perfLog(`[Perf] 4.1.5 Pre-layout headers for height: ${(hfPreEnd - hfPreStart).toFixed(2)}ms`);
79519
79546
  }
79520
79547
  let footerContentHeights;
79521
- if (headerFooter?.constraints && headerFooter.footerBlocks) {
79548
+ const hasFooterBlocks = headerFooter?.footerBlocks && Object.keys(headerFooter.footerBlocks).length > 0;
79549
+ const hasFooterBlocksByRId = headerFooter?.footerBlocksByRId && headerFooter.footerBlocksByRId.size > 0;
79550
+ if (headerFooter?.constraints && (hasFooterBlocks || hasFooterBlocksByRId)) {
79522
79551
  const footerPreStart = performance.now();
79523
79552
  const measureFn = headerFooter.measure ?? measureBlock2;
79524
- if (!headerFooter.headerBlocks) {
79553
+ if (!hasHeaderBlocks && !hasHeaderBlocksByRId) {
79525
79554
  invalidateHeaderFooterCache(
79526
79555
  headerMeasureCache,
79527
79556
  headerFooterCacheState,
@@ -79532,26 +79561,46 @@ async function incrementalLayout(previousBlocks, _previousLayout, nextBlocks, op
79532
79561
  );
79533
79562
  }
79534
79563
  const FOOTER_PRELAYOUT_PLACEHOLDER_PAGE_COUNT = 1;
79564
+ const isValidFooterType = (key2) => {
79565
+ return ["default", "first", "even", "odd"].includes(key2);
79566
+ };
79567
+ footerContentHeights = {};
79535
79568
  try {
79536
- const preFooterLayouts = await layoutHeaderFooterWithCache(
79537
- headerFooter.footerBlocks,
79538
- headerFooter.constraints,
79539
- measureFn,
79540
- headerMeasureCache,
79541
- FOOTER_PRELAYOUT_PLACEHOLDER_PAGE_COUNT,
79542
- void 0
79543
- // No page resolver needed for height calculation
79544
- );
79545
- const isValidFooterType = (key2) => {
79546
- return ["default", "first", "even", "odd"].includes(key2);
79547
- };
79548
- footerContentHeights = {};
79549
- for (const [type2, value] of Object.entries(preFooterLayouts)) {
79550
- if (!isValidFooterType(type2)) continue;
79551
- if (value?.layout && typeof value.layout.height === "number") {
79552
- const height = value.layout.height;
79553
- if (Number.isFinite(height) && height >= 0) {
79554
- footerContentHeights[type2] = height;
79569
+ if (hasFooterBlocks && headerFooter.footerBlocks) {
79570
+ const preFooterLayouts = await layoutHeaderFooterWithCache(
79571
+ headerFooter.footerBlocks,
79572
+ headerFooter.constraints,
79573
+ measureFn,
79574
+ headerMeasureCache,
79575
+ FOOTER_PRELAYOUT_PLACEHOLDER_PAGE_COUNT,
79576
+ void 0
79577
+ // No page resolver needed for height calculation
79578
+ );
79579
+ for (const [type2, value] of Object.entries(preFooterLayouts)) {
79580
+ if (!isValidFooterType(type2)) continue;
79581
+ if (value?.layout && typeof value.layout.height === "number") {
79582
+ const height = value.layout.height;
79583
+ if (Number.isFinite(height) && height >= 0) {
79584
+ footerContentHeights[type2] = height;
79585
+ }
79586
+ }
79587
+ }
79588
+ }
79589
+ if (hasFooterBlocksByRId && headerFooter.footerBlocksByRId) {
79590
+ for (const [_rId, blocks] of headerFooter.footerBlocksByRId) {
79591
+ if (!blocks || blocks.length === 0) continue;
79592
+ const measureConstraints = {
79593
+ maxWidth: headerFooter.constraints.width,
79594
+ maxHeight: headerFooter.constraints.height
79595
+ };
79596
+ const measures2 = await Promise.all(blocks.map((block) => measureFn(block, measureConstraints)));
79597
+ const layout2 = layoutHeaderFooter(blocks, measures2, {
79598
+ width: headerFooter.constraints.width,
79599
+ height: headerFooter.constraints.height
79600
+ });
79601
+ if (layout2.height > 0) {
79602
+ const currentDefault = footerContentHeights.default ?? 0;
79603
+ footerContentHeights.default = Math.max(currentDefault, layout2.height);
79555
79604
  }
79556
79605
  }
79557
79606
  }
@@ -96496,7 +96545,14 @@ computeHeaderFooterConstraints_fn = function() {
96496
96545
  const footerMargin = margins.footer ?? 0;
96497
96546
  const headerContentSpace = Math.max(marginTop - headerMargin, 0);
96498
96547
  const footerContentSpace = Math.max(marginBottom - footerMargin, 0);
96499
- const height = Math.max(headerContentSpace, footerContentSpace, 1);
96548
+ const height = Math.max(
96549
+ headerContentSpace,
96550
+ footerContentSpace,
96551
+ headerMargin,
96552
+ footerMargin,
96553
+ marginTop,
96554
+ marginBottom
96555
+ );
96500
96556
  return {
96501
96557
  width: measurementWidth,
96502
96558
  height,
@@ -96646,7 +96702,8 @@ computeDecorationBox_fn = function(kind, pageMargins, pageHeight) {
96646
96702
  const headerMargin = margins.header ?? 0;
96647
96703
  const topMargin = margins.top ?? DEFAULT_MARGINS.top ?? 0;
96648
96704
  const height = Math.max(topMargin - headerMargin, 1);
96649
- return { x: left2, width, height, offset: headerMargin };
96705
+ const offset2 = headerMargin;
96706
+ return { x: left2, width, height, offset: offset2 };
96650
96707
  } else {
96651
96708
  const footerMargin = margins.footer ?? 0;
96652
96709
  const bottomMargin = margins.bottom ?? DEFAULT_MARGINS.bottom ?? 0;
@@ -1 +1 @@
1
- {"version":3,"file":"SuperDoc.d.ts","sourceRoot":"","sources":["../../../../../src/core/SuperDoc.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SuperDoc.d.ts","sourceRoot":"","sources":["../../../../../src/core/SuperDoc.js"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { ref, onMounted, onUnmounted, computed, createElementBlock, openBlock, withModifiers, createElementVNode, withDirectives, unref, vModelText, createCommentVNode, nextTick } from "vue";
2
- import { T as TextSelection } from "./chunks/converter-CB_4LqhI.js";
3
- import { _ as _export_sfc } from "./chunks/editor-BKIkgBE0.js";
2
+ import { T as TextSelection } from "./chunks/converter-BSBbIF0S.js";
3
+ import { _ as _export_sfc } from "./chunks/editor-DWTzwjRX.js";
4
4
  const DEFAULT_API_ENDPOINT = "https://sd-dev-express-gateway-i6xtm.ondigitalocean.app/insights";
5
5
  const SYSTEM_PROMPT = "You are an expert copywriter and you are immersed in a document editor. You are to provide document related text responses based on the user prompts. Only write what is asked for. Do not provide explanations. Try to keep placeholders as short as possible. Do not output your prompt. Your instructions are: ";
6
6
  async function baseInsightsFetch(payload, options = {}) {
@@ -42727,7 +42727,7 @@ const _SuperConverter = class _SuperConverter {
42727
42727
  static getStoredSuperdocVersion(docx) {
42728
42728
  return _SuperConverter.getStoredCustomProperty(docx, "SuperdocVersion");
42729
42729
  }
42730
- static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.1.0") {
42730
+ static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.1.2") {
42731
42731
  return _SuperConverter.setStoredCustomProperty(docx, "SuperdocVersion", version, false);
42732
42732
  }
42733
42733
  /**
@@ -1,4 +1,4 @@
1
- import { p as process$1, aJ as commonjsGlobal, B as Buffer, aK as getDefaultExportFromCjs, aL as getContentTypesFromXml, aM as xmljs } from "./converter-CB_4LqhI.js";
1
+ import { p as process$1, aJ as commonjsGlobal, B as Buffer, aK as getDefaultExportFromCjs, aL as getContentTypesFromXml, aM as xmljs } from "./converter-BSBbIF0S.js";
2
2
  function commonjsRequire(path) {
3
3
  throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
4
4
  }
@@ -12,8 +12,8 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
12
12
  var _a, _Attribute_static, getGlobalAttributes_fn, getNodeAndMarksAttributes_fn, _Schema_static, createNodesSchema_fn, createMarksSchema_fn, _events, _ExtensionService_instances, setupExtensions_fn, attachEditorEvents_fn, _editor, _stateValidators, _xmlValidators, _requiredNodeTypes, _requiredMarkTypes, _SuperValidator_instances, initializeValidators_fn, collectValidatorRequirements_fn, analyzeDocument_fn, dispatchWithFallback_fn, _commandService, _Editor_instances, initContainerElement_fn, init_fn, initRichText_fn, onFocus_fn, checkHeadless_fn, registerCopyHandler_fn, insertNewFileData_fn, getPluginKeyName_fn, createExtensionService_fn, createCommandService_fn, createConverter_fn, initMedia_fn, initFonts_fn, checkFonts_fn, determineUnsupportedFonts_fn, createSchema_fn, generatePmData_fn, createView_fn, onCollaborationReady_fn, initComments_fn, dispatchTransaction_fn, handleNodeSelection_fn, prepareDocumentForImport_fn, prepareDocumentForExport_fn, endCollaboration_fn, validateDocumentInit_fn, validateDocumentExport_fn, initDevTools_fn, _currentEpoch, _mapsByFromEpoch, _maxEpochsToKeep, _EpochPositionMapper_instances, pruneByCurrentEpoch_fn, _entries, _windowRoot, _getPainterHost, _onRebuild, _observer, _rebuildScheduled, _rebuildRafId, _docEpoch, _layoutEpoch, _layoutUpdating, _pending, _scheduled, _rafHandle, _scheduler, _SelectionSyncCoordinator_instances, isSafeToRender_fn, maybeSchedule_fn, cancelScheduledRender_fn, _windowRoot2, _layoutSurfaces, _getTargetDom, _isEditable, _onTargetChanged, _listeners, _currentTarget, _destroyed, _useWindowFallback, _PresentationInputBridge_instances, addListener_fn, dispatchToTarget_fn, forwardKeyboardEvent_fn, forwardTextEvent_fn, forwardCompositionEvent_fn, forwardContextMenu_fn, isEventOnActiveTarget_fn, shouldSkipSurface_fn, isInLayoutSurface_fn, getListenerTargets_fn, isPlainCharacterKey_fn, _map, _editor2, _descriptors, _collections, _editorEntries, _maxCachedEditors, _editorAccessOrder, _pendingCreations, _cacheHits, _cacheMisses, _evictions, _HeaderFooterEditorManager_instances, hasConverter_fn, extractCollections_fn, collectDescriptors_fn, teardownMissingEditors_fn, teardownEditors_fn, createEditor_fn, createEditorContainer_fn, registerConverterEditor_fn, unregisterConverterEditor_fn, updateAccessOrder_fn, enforceCacheSizeLimit_fn, _manager, _mediaFiles, _blockCache, _HeaderFooterLayoutAdapter_instances, getBlocks_fn, getConverterContext_fn, _selectionOverlay, _activeEditorHost, _activeDecorationContainer, _activeRegion, _borderLine, _dimmingOverlay, _EditorOverlayManager_instances, findDecorationContainer_fn, ensureEditorHost_fn, positionEditorHost_fn, hideDimmingOverlay_fn, showHeaderFooterBorder_fn, hideHeaderFooterBorder_fn, _instances, _options, _editor3, _visibleHost, _viewportHost, _painterHost, _selectionOverlay2, _hiddenHost, _layoutOptions, _layoutState, _domPainter, _pageGeometryHelper, _dragHandlerCleanup, _layoutError, _layoutErrorState, _errorBanner, _errorBannerMessage, _telemetryEmitter, _renderScheduled, _pendingDocChange, _isRerendering, _selectionSync, _remoteCursorUpdateScheduled, _epochMapper, _layoutEpoch2, _domPositionIndex, _domIndexObserverManager, _debugLastPointer, _debugLastHit, _pendingMarginClick, _rafHandle2, _editorListeners, _sectionMetadata, _documentMode, _inputBridge, _trackedChangesMode, _trackedChangesEnabled, _trackedChangesOverrides, _headerFooterManager, _headerFooterAdapter, _headerFooterIdentifier, _multiSectionIdentifier, _headerLayoutResults, _footerLayoutResults, _headerLayoutsByRId, _footerLayoutsByRId, _headerDecorationProvider, _footerDecorationProvider, _headerFooterManagerCleanups, _headerRegions, _footerRegions, _session, _activeHeaderFooterEditor, _overlayManager, _hoverOverlay, _hoverTooltip, _modeBanner, _ariaLiveRegion, _a11ySelectionAnnounceTimeout, _a11yLastAnnouncedSelectionKey, _hoverRegion, _clickCount, _lastClickTime, _lastClickPosition, _lastSelectedImageBlockId, _dragAnchor, _dragAnchorPageIndex, _isDragging, _dragExtensionMode, _dragLastPointer, _dragLastRawHit, _dragUsedPageNotMountedFallback, _cellAnchor, _cellDragMode, _remoteCursorState, _remoteCursorElements, _remoteCursorDirty, _remoteCursorOverlay, _localSelectionLayer, _awarenessCleanup, _scrollCleanup, _scrollTimeout, _lastRemoteCursorRenderTime, _remoteCursorThrottleTimeout, _PresentationEditor_instances, wrapHiddenEditorFocus_fn, syncDocumentModeClass_fn, collectCommentPositions_fn, updateSelectionDebugHud_fn, computePendingMarginClick_fn, aggregateLayoutBounds_fn, rebuildDomPositionIndex_fn, setupEditorListeners_fn, setupCollaborationCursors_fn, updateLocalAwarenessCursor_fn, scheduleRemoteCursorUpdate_fn, scheduleRemoteCursorReRender_fn, updateRemoteCursors_fn, renderRemoteCursors_fn, setupPointerHandlers_fn, setupDragHandlers_fn, focusEditorAfterImageSelection_fn, setupInputBridge_fn, initHeaderFooterRegistry_fn, _handlePointerDown, getFirstTextPosition_fn, registerPointerClick_fn, getCellPosFromTableHit_fn, getTablePosFromHit_fn, shouldUseCellSelection_fn, setCellAnchor_fn, clearCellAnchor_fn, hitTestTable_fn, selectWordAt_fn, selectParagraphAt_fn, calculateExtendedSelection_fn, _handlePointerMove, _handlePointerLeave, _handleVisibleHostFocusIn, _handlePointerUp, _handleDragOver, _handleDrop, _handleDoubleClick, _handleKeyDown, focusHeaderFooterShortcut_fn, scheduleRerender_fn, flushRerenderQueue_fn, rerender_fn, ensurePainter_fn, scheduleSelectionUpdate_fn, updateSelection_fn, resolveLayoutOptions_fn, buildHeaderFooterInput_fn, computeHeaderFooterConstraints_fn, layoutPerRIdHeaderFooters_fn, updateDecorationProviders_fn, createDecorationProvider_fn, findHeaderFooterPageForPageNumber_fn, computeDecorationBox_fn, computeExpectedSectionType_fn, rebuildHeaderFooterRegions_fn, hitTestHeaderFooterRegion_fn, pointInRegion_fn, activateHeaderFooterRegion_fn, enterHeaderFooterMode_fn, exitHeaderFooterMode_fn, getActiveDomTarget_fn, emitHeaderFooterModeChanged_fn, emitHeaderFooterEditingContext_fn, updateAwarenessSession_fn, updateModeBanner_fn, announce_fn, syncHiddenEditorA11yAttributes_fn, scheduleA11ySelectionAnnouncement_fn, announceSelectionNow_fn, validateHeaderFooterEditPermission_fn, emitHeaderFooterEditBlocked_fn, resolveDescriptorForRegion_fn, createDefaultHeaderFooter_fn, getPageElement_fn, isSelectionAwareVirtualizationEnabled_fn, updateSelectionVirtualizationPins_fn, finalizeDragSelectionWithDom_fn, scrollPageIntoView_fn, waitForPageMount_fn, getEffectivePageGap_fn, getBodyPageHeight_fn, getHeaderFooterPageHeight_fn, renderCellSelectionOverlay_fn, renderHoverRegion_fn, clearHoverRegion_fn, getHeaderFooterContext_fn, computeHeaderFooterSelectionRects_fn, syncTrackedChangesPreferences_fn, deriveTrackedChangesMode_fn, deriveTrackedChangesEnabled_fn, getTrackChangesPluginState_fn, computeDefaultLayoutDefaults_fn, applyZoom_fn, getPageOffsetX_fn, convertPageLocalToOverlayCoords_fn, computeSelectionRectsFromDom_fn, computeDomCaretPageLocal_fn, normalizeClientPoint_fn, computeCaretLayoutRectGeometry_fn, computeCaretLayoutRect_fn, getCurrentPageIndex_fn, findRegionForPage_fn, handleLayoutError_fn, decorateError_fn, showLayoutErrorBanner_fn, dismissErrorBanner_fn, _DocumentSectionView_instances, init_fn2, addToolTip_fn, _ParagraphNodeView_instances, checkShouldUpdate_fn, updateHTMLAttributes_fn, updateDOMStyles_fn, resolveNeighborParagraphProperties_fn, updateListStyles_fn, initList_fn, checkIsList_fn, createMarker_fn, createSeparator_fn, calculateTabSeparatorStyle_fn, calculateMarkerStyle_fn, removeList_fn, getParagraphContext_fn, scheduleAnimation_fn, cancelScheduledAnimation_fn, _FieldAnnotationView_instances, createAnnotation_fn, _AutoPageNumberNodeView_instances, renderDom_fn, scheduleUpdateNodeStyle_fn, _VectorShapeView_instances, ensureParentPositioned_fn, _ShapeGroupView_instances, ensureParentPositioned_fn2;
13
13
  import * as Y from "yjs";
14
14
  import { UndoManager, Item as Item$1, ContentType, Text as Text$1, XmlElement, encodeStateAsUpdate } from "yjs";
15
- import { P as PluginKey, a as Plugin, M as Mapping, N as NodeSelection, S as Selection, T as TextSelection, b as Slice, D as DOMSerializer, F as Fragment, c as DOMParser$1, d as Mark$1, e as dropPoint, A as AllSelection, p as process$1, B as Buffer2, f as callOrGet, g as getExtensionConfigField, h as getMarkType, i as getMarksFromSelection, j as getNodeType, k as getSchemaTypeNameByName, l as Schema$2, m as cleanSchemaItem, n as canSplit, o as defaultBlockAt$1, q as liftTarget, r as canJoin, s as joinPoint, t as replaceStep$1, R as ReplaceAroundStep$1, u as isTextSelection, v as getMarkRange, w as isMarkActive, x as isNodeActive, y as deleteProps, z as processContent, C as htmlHandler, E as ReplaceStep, G as twipsToInches, H as inchesToTwips, I as ptToTwips, J as getResolvedParagraphProperties, K as linesToTwips, L as changeListLevel, O as findParentNode, Q as isList, U as updateNumberingProperties, V as ListHelpers, W as isMacOS, X as isIOS, Y as getSchemaTypeByName, Z as inputRulesPlugin, _ as TrackDeleteMarkName$1, $ as TrackInsertMarkName$1, a0 as v4, a1 as TrackFormatMarkName$1, a2 as comments_module_events, a3 as findMark, a4 as objectIncludes, a5 as AddMarkStep, a6 as RemoveMarkStep, a7 as twipsToLines, a8 as pixelsToTwips, a9 as helpers, aa as posToDOMRect, ab as CommandService, ac as SuperConverter, ad as createDocument, ae as createDocFromMarkdown, af as createDocFromHTML, ag as EditorState, ah as isActive, ai as unflattenListsInHtml, aj as SelectionRange, ak as Transform, al as resolveParagraphProperties, am as _getReferencedTableStyles, an as parseSizeUnit, ao as minMax, ap as updateDOMAttributes, aq as findChildren$5, ar as generateRandomSigned32BitIntStrId, as as decodeRPrFromMarks, at as calculateResolvedParagraphProperties, au as resolveRunProperties, av as encodeCSSFromPPr, aw as twipsToPixels$2, ax as encodeCSSFromRPr, ay as generateOrderedListIndex, az as docxNumberingHelpers, aA as InputRule, aB as convertSizeToCSS, aC as findParentNodeClosestToPos, aD as isInTable$1, aE as generateDocxRandomId, aF as insertNewRelationship, aG as inchesToPixels, aH as kebabCase, aI as getUnderlineCssString } from "./converter-CB_4LqhI.js";
16
- import { D as DocxZipper } from "./docx-zipper-0-ibLeHA.js";
15
+ import { P as PluginKey, a as Plugin, M as Mapping, N as NodeSelection, S as Selection, T as TextSelection, b as Slice, D as DOMSerializer, F as Fragment, c as DOMParser$1, d as Mark$1, e as dropPoint, A as AllSelection, p as process$1, B as Buffer2, f as callOrGet, g as getExtensionConfigField, h as getMarkType, i as getMarksFromSelection, j as getNodeType, k as getSchemaTypeNameByName, l as Schema$2, m as cleanSchemaItem, n as canSplit, o as defaultBlockAt$1, q as liftTarget, r as canJoin, s as joinPoint, t as replaceStep$1, R as ReplaceAroundStep$1, u as isTextSelection, v as getMarkRange, w as isMarkActive, x as isNodeActive, y as deleteProps, z as processContent, C as htmlHandler, E as ReplaceStep, G as twipsToInches, H as inchesToTwips, I as ptToTwips, J as getResolvedParagraphProperties, K as linesToTwips, L as changeListLevel, O as findParentNode, Q as isList, U as updateNumberingProperties, V as ListHelpers, W as isMacOS, X as isIOS, Y as getSchemaTypeByName, Z as inputRulesPlugin, _ as TrackDeleteMarkName$1, $ as TrackInsertMarkName$1, a0 as v4, a1 as TrackFormatMarkName$1, a2 as comments_module_events, a3 as findMark, a4 as objectIncludes, a5 as AddMarkStep, a6 as RemoveMarkStep, a7 as twipsToLines, a8 as pixelsToTwips, a9 as helpers, aa as posToDOMRect, ab as CommandService, ac as SuperConverter, ad as createDocument, ae as createDocFromMarkdown, af as createDocFromHTML, ag as EditorState, ah as isActive, ai as unflattenListsInHtml, aj as SelectionRange, ak as Transform, al as resolveParagraphProperties, am as _getReferencedTableStyles, an as parseSizeUnit, ao as minMax, ap as updateDOMAttributes, aq as findChildren$5, ar as generateRandomSigned32BitIntStrId, as as decodeRPrFromMarks, at as calculateResolvedParagraphProperties, au as resolveRunProperties, av as encodeCSSFromPPr, aw as twipsToPixels$2, ax as encodeCSSFromRPr, ay as generateOrderedListIndex, az as docxNumberingHelpers, aA as InputRule, aB as convertSizeToCSS, aC as findParentNodeClosestToPos, aD as isInTable$1, aE as generateDocxRandomId, aF as insertNewRelationship, aG as inchesToPixels, aH as kebabCase, aI as getUnderlineCssString } from "./converter-BSBbIF0S.js";
16
+ import { D as DocxZipper } from "./docx-zipper-Bh6HZNKL.js";
17
17
  import { ref, computed, createElementBlock, openBlock, withModifiers, Fragment as Fragment$1, renderList, normalizeClass, createCommentVNode, toDisplayString, createElementVNode, createApp } from "vue";
18
18
  var GOOD_LEAF_SIZE = 200;
19
19
  var RopeSequence = function RopeSequence2() {
@@ -14815,7 +14815,7 @@ const isHeadless = (editor) => {
14815
14815
  const shouldSkipNodeView = (editor) => {
14816
14816
  return isHeadless(editor);
14817
14817
  };
14818
- const summaryVersion = "1.1.0";
14818
+ const summaryVersion = "1.1.2";
14819
14819
  const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
14820
14820
  const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
14821
14821
  function mapAttributes(attrs) {
@@ -15607,7 +15607,7 @@ const _Editor = class _Editor extends EventEmitter {
15607
15607
  { default: remarkStringify },
15608
15608
  { default: remarkGfm }
15609
15609
  ] = await Promise.all([
15610
- import("./index-LKlY0uOW.js"),
15610
+ import("./index-BBA3d9LK.js"),
15611
15611
  import("./index-DRCvimau.js"),
15612
15612
  import("./index-C_x_N6Uh.js"),
15613
15613
  import("./index-D_sWOSiG.js"),
@@ -15812,7 +15812,7 @@ const _Editor = class _Editor extends EventEmitter {
15812
15812
  * Process collaboration migrations
15813
15813
  */
15814
15814
  processCollaborationMigrations() {
15815
- console.debug("[checkVersionMigrations] Current editor version", "1.1.0");
15815
+ console.debug("[checkVersionMigrations] Current editor version", "1.1.2");
15816
15816
  if (!this.options.ydoc) return;
15817
15817
  const metaMap = this.options.ydoc.getMap("meta");
15818
15818
  let docVersion = metaMap.get("version");
@@ -29456,13 +29456,13 @@ function scheduleSectionBreak(block, state, baseMargins, maxHeaderContentHeight
29456
29456
  if (maxHeaderContentHeight > 0) {
29457
29457
  return Math.max(baseTop, headerDistance + maxHeaderContentHeight);
29458
29458
  }
29459
- return Math.max(baseTop, headerDistance);
29459
+ return baseTop;
29460
29460
  };
29461
29461
  const calcRequiredBottomMargin = (footerDistance, baseBottom) => {
29462
29462
  if (maxFooterContentHeight > 0) {
29463
29463
  return Math.max(baseBottom, footerDistance + maxFooterContentHeight);
29464
29464
  }
29465
- return Math.max(baseBottom, footerDistance);
29465
+ return baseBottom;
29466
29466
  };
29467
29467
  if (block.attrs?.isFirstSection && !next.hasAnyPages) {
29468
29468
  if (block.pageSize) {
@@ -29963,6 +29963,11 @@ function layoutParagraphBlock(ctx2, anchors) {
29963
29963
  const prevTrailing = state.trailingSpacing ?? 0;
29964
29964
  const neededSpacingBefore = Math.max(spacingBefore - prevTrailing, 0);
29965
29965
  if (state.cursorY + neededSpacingBefore > state.contentBottom) {
29966
+ if (state.cursorY <= state.topMargin) {
29967
+ state.trailingSpacing = 0;
29968
+ appliedSpacingBefore = true;
29969
+ break;
29970
+ }
29966
29971
  state = advanceColumn(state);
29967
29972
  if (state.trailingSpacing == null) state.trailingSpacing = 0;
29968
29973
  continue;
@@ -31278,12 +31283,12 @@ function layoutDocument(blocks, measures, options = {}) {
31278
31283
  next.pendingFooterDistance = footerDistance2;
31279
31284
  }
31280
31285
  if (block.margins?.top !== void 0 || block.margins?.header !== void 0) {
31281
- const requiredTop = maxHeaderContentHeight > 0 ? headerDistance2 + maxHeaderContentHeight : headerDistance2;
31286
+ const requiredTop = maxHeaderContentHeight > 0 ? headerDistance2 + maxHeaderContentHeight : 0;
31282
31287
  next.activeTopMargin = Math.max(sectionTop, requiredTop);
31283
31288
  next.pendingTopMargin = next.activeTopMargin;
31284
31289
  }
31285
31290
  if (block.margins?.bottom !== void 0 || block.margins?.footer !== void 0) {
31286
- const requiredBottom = maxFooterContentHeight > 0 ? footerDistance2 + maxFooterContentHeight : footerDistance2;
31291
+ const requiredBottom = maxFooterContentHeight > 0 ? footerDistance2 + maxFooterContentHeight : 0;
31287
31292
  next.activeBottomMargin = Math.max(sectionBottom, requiredBottom);
31288
31293
  next.pendingBottomMargin = next.activeBottomMargin;
31289
31294
  }
@@ -32033,7 +32038,7 @@ function layoutHeaderFooter(blocks, measures, constraints) {
32033
32038
  throw new Error("layoutHeaderFooter: width must be positive");
32034
32039
  }
32035
32040
  if (!Number.isFinite(height) || height <= 0) {
32036
- throw new Error("layoutHeaderFooter: height must be positive");
32041
+ return { pages: [], height: 0 };
32037
32042
  }
32038
32043
  const maxBehindDocOverflow = Math.max(192, height * 4);
32039
32044
  const minBehindDocY = -maxBehindDocOverflow;
@@ -33878,7 +33883,9 @@ async function incrementalLayout(previousBlocks, _previousLayout, nextBlocks, op
33878
33883
  `[Perf] 4.1 Measure all blocks: ${(measureEnd - measureStart).toFixed(2)}ms (${cacheMisses} measured, ${cacheHits} cached)`
33879
33884
  );
33880
33885
  let headerContentHeights;
33881
- if (headerFooter?.constraints && headerFooter.headerBlocks) {
33886
+ const hasHeaderBlocks = headerFooter?.headerBlocks && Object.keys(headerFooter.headerBlocks).length > 0;
33887
+ const hasHeaderBlocksByRId = headerFooter?.headerBlocksByRId && headerFooter.headerBlocksByRId.size > 0;
33888
+ if (headerFooter?.constraints && (hasHeaderBlocks || hasHeaderBlocksByRId)) {
33882
33889
  const hfPreStart = performance.now();
33883
33890
  const measureFn = headerFooter.measure ?? measureBlock2;
33884
33891
  invalidateHeaderFooterCache(
@@ -33890,25 +33897,45 @@ async function incrementalLayout(previousBlocks, _previousLayout, nextBlocks, op
33890
33897
  options.sectionMetadata
33891
33898
  );
33892
33899
  const HEADER_PRELAYOUT_PLACEHOLDER_PAGE_COUNT = 1;
33893
- const preHeaderLayouts = await layoutHeaderFooterWithCache(
33894
- headerFooter.headerBlocks,
33895
- headerFooter.constraints,
33896
- measureFn,
33897
- headerMeasureCache,
33898
- HEADER_PRELAYOUT_PLACEHOLDER_PAGE_COUNT,
33899
- void 0
33900
- // No page resolver needed for height calculation
33901
- );
33902
33900
  const isValidHeaderType = (key2) => {
33903
33901
  return ["default", "first", "even", "odd"].includes(key2);
33904
33902
  };
33905
33903
  headerContentHeights = {};
33906
- for (const [type, value] of Object.entries(preHeaderLayouts)) {
33907
- if (!isValidHeaderType(type)) continue;
33908
- if (value?.layout && typeof value.layout.height === "number") {
33909
- const height = value.layout.height;
33910
- if (Number.isFinite(height) && height >= 0) {
33911
- headerContentHeights[type] = height;
33904
+ if (hasHeaderBlocks && headerFooter.headerBlocks) {
33905
+ const preHeaderLayouts = await layoutHeaderFooterWithCache(
33906
+ headerFooter.headerBlocks,
33907
+ headerFooter.constraints,
33908
+ measureFn,
33909
+ headerMeasureCache,
33910
+ HEADER_PRELAYOUT_PLACEHOLDER_PAGE_COUNT,
33911
+ void 0
33912
+ // No page resolver needed for height calculation
33913
+ );
33914
+ for (const [type, value] of Object.entries(preHeaderLayouts)) {
33915
+ if (!isValidHeaderType(type)) continue;
33916
+ if (value?.layout && typeof value.layout.height === "number") {
33917
+ const height = value.layout.height;
33918
+ if (Number.isFinite(height) && height >= 0) {
33919
+ headerContentHeights[type] = height;
33920
+ }
33921
+ }
33922
+ }
33923
+ }
33924
+ if (hasHeaderBlocksByRId && headerFooter.headerBlocksByRId) {
33925
+ for (const [_rId, blocks] of headerFooter.headerBlocksByRId) {
33926
+ if (!blocks || blocks.length === 0) continue;
33927
+ const measureConstraints = {
33928
+ maxWidth: headerFooter.constraints.width,
33929
+ maxHeight: headerFooter.constraints.height
33930
+ };
33931
+ const measures2 = await Promise.all(blocks.map((block) => measureFn(block, measureConstraints)));
33932
+ const layout2 = layoutHeaderFooter(blocks, measures2, {
33933
+ width: headerFooter.constraints.width,
33934
+ height: headerFooter.constraints.height
33935
+ });
33936
+ if (layout2.height > 0) {
33937
+ const currentDefault = headerContentHeights.default ?? 0;
33938
+ headerContentHeights.default = Math.max(currentDefault, layout2.height);
33912
33939
  }
33913
33940
  }
33914
33941
  }
@@ -33916,10 +33943,12 @@ async function incrementalLayout(previousBlocks, _previousLayout, nextBlocks, op
33916
33943
  perfLog(`[Perf] 4.1.5 Pre-layout headers for height: ${(hfPreEnd - hfPreStart).toFixed(2)}ms`);
33917
33944
  }
33918
33945
  let footerContentHeights;
33919
- if (headerFooter?.constraints && headerFooter.footerBlocks) {
33946
+ const hasFooterBlocks = headerFooter?.footerBlocks && Object.keys(headerFooter.footerBlocks).length > 0;
33947
+ const hasFooterBlocksByRId = headerFooter?.footerBlocksByRId && headerFooter.footerBlocksByRId.size > 0;
33948
+ if (headerFooter?.constraints && (hasFooterBlocks || hasFooterBlocksByRId)) {
33920
33949
  const footerPreStart = performance.now();
33921
33950
  const measureFn = headerFooter.measure ?? measureBlock2;
33922
- if (!headerFooter.headerBlocks) {
33951
+ if (!hasHeaderBlocks && !hasHeaderBlocksByRId) {
33923
33952
  invalidateHeaderFooterCache(
33924
33953
  headerMeasureCache,
33925
33954
  headerFooterCacheState,
@@ -33930,26 +33959,46 @@ async function incrementalLayout(previousBlocks, _previousLayout, nextBlocks, op
33930
33959
  );
33931
33960
  }
33932
33961
  const FOOTER_PRELAYOUT_PLACEHOLDER_PAGE_COUNT = 1;
33962
+ const isValidFooterType = (key2) => {
33963
+ return ["default", "first", "even", "odd"].includes(key2);
33964
+ };
33965
+ footerContentHeights = {};
33933
33966
  try {
33934
- const preFooterLayouts = await layoutHeaderFooterWithCache(
33935
- headerFooter.footerBlocks,
33936
- headerFooter.constraints,
33937
- measureFn,
33938
- headerMeasureCache,
33939
- FOOTER_PRELAYOUT_PLACEHOLDER_PAGE_COUNT,
33940
- void 0
33941
- // No page resolver needed for height calculation
33942
- );
33943
- const isValidFooterType = (key2) => {
33944
- return ["default", "first", "even", "odd"].includes(key2);
33945
- };
33946
- footerContentHeights = {};
33947
- for (const [type, value] of Object.entries(preFooterLayouts)) {
33948
- if (!isValidFooterType(type)) continue;
33949
- if (value?.layout && typeof value.layout.height === "number") {
33950
- const height = value.layout.height;
33951
- if (Number.isFinite(height) && height >= 0) {
33952
- footerContentHeights[type] = height;
33967
+ if (hasFooterBlocks && headerFooter.footerBlocks) {
33968
+ const preFooterLayouts = await layoutHeaderFooterWithCache(
33969
+ headerFooter.footerBlocks,
33970
+ headerFooter.constraints,
33971
+ measureFn,
33972
+ headerMeasureCache,
33973
+ FOOTER_PRELAYOUT_PLACEHOLDER_PAGE_COUNT,
33974
+ void 0
33975
+ // No page resolver needed for height calculation
33976
+ );
33977
+ for (const [type, value] of Object.entries(preFooterLayouts)) {
33978
+ if (!isValidFooterType(type)) continue;
33979
+ if (value?.layout && typeof value.layout.height === "number") {
33980
+ const height = value.layout.height;
33981
+ if (Number.isFinite(height) && height >= 0) {
33982
+ footerContentHeights[type] = height;
33983
+ }
33984
+ }
33985
+ }
33986
+ }
33987
+ if (hasFooterBlocksByRId && headerFooter.footerBlocksByRId) {
33988
+ for (const [_rId, blocks] of headerFooter.footerBlocksByRId) {
33989
+ if (!blocks || blocks.length === 0) continue;
33990
+ const measureConstraints = {
33991
+ maxWidth: headerFooter.constraints.width,
33992
+ maxHeight: headerFooter.constraints.height
33993
+ };
33994
+ const measures2 = await Promise.all(blocks.map((block) => measureFn(block, measureConstraints)));
33995
+ const layout2 = layoutHeaderFooter(blocks, measures2, {
33996
+ width: headerFooter.constraints.width,
33997
+ height: headerFooter.constraints.height
33998
+ });
33999
+ if (layout2.height > 0) {
34000
+ const currentDefault = footerContentHeights.default ?? 0;
34001
+ footerContentHeights.default = Math.max(currentDefault, layout2.height);
33953
34002
  }
33954
34003
  }
33955
34004
  }
@@ -51429,7 +51478,14 @@ computeHeaderFooterConstraints_fn = function() {
51429
51478
  const footerMargin = margins.footer ?? 0;
51430
51479
  const headerContentSpace = Math.max(marginTop - headerMargin, 0);
51431
51480
  const footerContentSpace = Math.max(marginBottom - footerMargin, 0);
51432
- const height = Math.max(headerContentSpace, footerContentSpace, 1);
51481
+ const height = Math.max(
51482
+ headerContentSpace,
51483
+ footerContentSpace,
51484
+ headerMargin,
51485
+ footerMargin,
51486
+ marginTop,
51487
+ marginBottom
51488
+ );
51433
51489
  return {
51434
51490
  width: measurementWidth,
51435
51491
  height,
@@ -51597,7 +51653,8 @@ computeDecorationBox_fn = function(kind, pageMargins, pageHeight) {
51597
51653
  const headerMargin = margins.header ?? 0;
51598
51654
  const topMargin = margins.top ?? DEFAULT_MARGINS.top ?? 0;
51599
51655
  const height = Math.max(topMargin - headerMargin, 1);
51600
- return { x: left2, width, height, offset: headerMargin };
51656
+ const offset2 = headerMargin;
51657
+ return { x: left2, width, height, offset: offset2 };
51601
51658
  } else {
51602
51659
  const footerMargin = margins.footer ?? 0;
51603
51660
  const bottomMargin = margins.bottom ?? DEFAULT_MARGINS.bottom ?? 0;
@@ -1,4 +1,4 @@
1
- import { aK as getDefaultExportFromCjs } from "./converter-CB_4LqhI.js";
1
+ import { aK as getDefaultExportFromCjs } from "./converter-BSBbIF0S.js";
2
2
  import { V as VFile } from "./index-CvBqQJbG.js";
3
3
  function bail(error) {
4
4
  if (error) {
@@ -1,6 +1,6 @@
1
1
  import { ref, readonly, watch, computed, getCurrentInstance, onMounted, onBeforeUnmount, reactive, onBeforeMount, inject, onActivated, onDeactivated, createTextVNode, Fragment, Comment, defineComponent, provide, withDirectives, h, Teleport, toRef, nextTick, renderSlot, isVNode, shallowRef, watchEffect, mergeProps, Transition, vShow, cloneVNode, Text, markRaw, createElementBlock, openBlock, createElementVNode, createCommentVNode, normalizeClass, normalizeStyle, withKeys, unref, withModifiers, createBlock, toDisplayString, vModelText, createVNode, renderList, withCtx } from "vue";
2
- import { p as process$1 } from "./converter-CB_4LqhI.js";
3
- import { g as global$1, _ as _export_sfc, u as useHighContrastMode } from "./editor-BKIkgBE0.js";
2
+ import { p as process$1 } from "./converter-BSBbIF0S.js";
3
+ import { g as global$1, _ as _export_sfc, u as useHighContrastMode } from "./editor-DWTzwjRX.js";
4
4
  const sanitizeNumber = (value, defaultNumber) => {
5
5
  let sanitized = value.replace(/[^0-9.]/g, "");
6
6
  sanitized = parseFloat(sanitized);
@@ -1,4 +1,4 @@
1
- import { ac } from "./chunks/converter-CB_4LqhI.js";
1
+ import { ac } from "./chunks/converter-BSBbIF0S.js";
2
2
  export {
3
3
  ac as SuperConverter
4
4
  };
@@ -1,5 +1,5 @@
1
- import "./chunks/converter-CB_4LqhI.js";
2
- import { D } from "./chunks/docx-zipper-0-ibLeHA.js";
1
+ import "./chunks/converter-BSBbIF0S.js";
2
+ import { D } from "./chunks/docx-zipper-Bh6HZNKL.js";
3
3
  export {
4
4
  D as default
5
5
  };