@harbour-enterprises/superdoc 1.4.1-next.2 → 1.4.1-next.3

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.
@@ -1,6 +1,6 @@
1
1
  import { d as defineComponent, h, T as Transition, p as process$1, w as watchEffect, c as computed, r as ref, f as onMounted, X as onUnmounted, E as createElementBlock, G as openBlock, K as createBaseVNode, M as createCommentVNode, I as createVNode, v as unref } from "./vue-BnBKJwCW.es.js";
2
- import { N as NBaseLoading, u as useSuperdocStore, s as storeToRefs, a as useSelection } from "./index-QUPzhiU8.es.js";
3
- import { C as derived, r as c, q as cB, aF as fadeInTransition, y as cM, I as warnOnce, J as useConfig, N as useTheme, aG as pxfy, P as createKey, Q as useThemeClass, aH as useCompitable, ai as _export_sfc } from "./index-BQPLVzyQ.es.js";
2
+ import { N as NBaseLoading, u as useSuperdocStore, s as storeToRefs, a as useSelection } from "./index-krXG8rm6.es.js";
3
+ import { C as derived, r as c, q as cB, aF as fadeInTransition, y as cM, I as warnOnce, J as useConfig, N as useTheme, aG as pxfy, P as createKey, Q as useThemeClass, aH as useCompitable, ai as _export_sfc } from "./index-pQPsdBlj.es.js";
4
4
  function self(vars) {
5
5
  const {
6
6
  opacityDisabled,
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const vue = require("./vue-De9wkgLl.cjs");
4
- const superdoc = require("./index-CZMyxx0v.cjs");
5
- const index = require("./index-DS7Ttafb.cjs");
4
+ const superdoc = require("./index-myKwrK5s.cjs");
5
+ const index = require("./index-CyuAmipW.cjs");
6
6
  function self(vars) {
7
7
  const {
8
8
  opacityDisabled,
@@ -31533,7 +31533,7 @@ class SuperConverter {
31533
31533
  static getStoredSuperdocVersion(docx) {
31534
31534
  return SuperConverter.getStoredCustomProperty(docx, "SuperdocVersion");
31535
31535
  }
31536
- static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.4.1-next.2") {
31536
+ static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.4.1-next.3") {
31537
31537
  return SuperConverter.setStoredCustomProperty(docx, "SuperdocVersion", version, false);
31538
31538
  }
31539
31539
  /**
@@ -31534,7 +31534,7 @@ class SuperConverter {
31534
31534
  static getStoredSuperdocVersion(docx) {
31535
31535
  return SuperConverter.getStoredCustomProperty(docx, "SuperdocVersion");
31536
31536
  }
31537
- static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.4.1-next.2") {
31537
+ static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.4.1-next.3") {
31538
31538
  return SuperConverter.setStoredCustomProperty(docx, "SuperdocVersion", version, false);
31539
31539
  }
31540
31540
  /**
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  const jszip = require("./jszip-C8_CqJxM.cjs");
3
3
  const helpers$1 = require("./helpers-nOdwpmwb.cjs");
4
- const superEditor_converter = require("./SuperConverter-Bukam51x.cjs");
4
+ const superEditor_converter = require("./SuperConverter-D8OyLf2e.cjs");
5
5
  const vue = require("./vue-De9wkgLl.cjs");
6
6
  require("./jszip.min-BPh2MMAa.cjs");
7
7
  const eventemitter3 = require("./eventemitter3-BQuRcMPI.cjs");
@@ -15516,7 +15516,7 @@ const canUseDOM = () => {
15516
15516
  return false;
15517
15517
  }
15518
15518
  };
15519
- const summaryVersion = "1.4.1-next.2";
15519
+ const summaryVersion = "1.4.1-next.3";
15520
15520
  const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
15521
15521
  const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
15522
15522
  function mapAttributes(attrs) {
@@ -18148,7 +18148,7 @@ class Editor extends EventEmitter {
18148
18148
  * Process collaboration migrations
18149
18149
  */
18150
18150
  processCollaborationMigrations() {
18151
- console.debug("[checkVersionMigrations] Current editor version", "1.4.1-next.2");
18151
+ console.debug("[checkVersionMigrations] Current editor version", "1.4.1-next.3");
18152
18152
  if (!this.options.ydoc) return;
18153
18153
  const metaMap = this.options.ydoc.getMap("meta");
18154
18154
  let docVersion = metaMap.get("version");
@@ -33991,8 +33991,15 @@ function layoutDocument(blocks, measures, options = {}) {
33991
33991
  const paraBlock = block;
33992
33992
  const isEmpty2 = !paraBlock.runs || paraBlock.runs.length === 0 || paraBlock.runs.length === 1 && (!paraBlock.runs[0].kind || paraBlock.runs[0].kind === "text") && (!paraBlock.runs[0].text || paraBlock.runs[0].text === "");
33993
33993
  if (isEmpty2) {
33994
+ const isSectPrMarker = paraBlock.attrs?.sectPrMarker === true;
33994
33995
  const prevBlock = index2 > 0 ? blocks[index2 - 1] : null;
33995
33996
  const nextBlock = index2 < blocks.length - 1 ? blocks[index2 + 1] : null;
33997
+ const nextSectionBreak = nextBlock?.kind === "sectionBreak" ? nextBlock : null;
33998
+ const nextBreakType = nextSectionBreak?.type ?? (nextSectionBreak?.attrs?.source === "sectPr" ? "nextPage" : void 0);
33999
+ const nextBreakForcesPage = nextSectionBreak && (nextBreakType === "nextPage" || nextBreakType === "evenPage" || nextBreakType === "oddPage" || nextSectionBreak.attrs?.requirePageBoundary === true);
34000
+ if (isSectPrMarker && nextBreakForcesPage) {
34001
+ continue;
34002
+ }
33996
34003
  if (prevBlock?.kind === "pageBreak" && nextBlock?.kind === "sectionBreak") {
33997
34004
  continue;
33998
34005
  }
@@ -45354,6 +45361,10 @@ function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defa
45354
45361
  }
45355
45362
  const linkedStyleResolver = createLinkedStyleResolver(converterContext?.linkedStyles);
45356
45363
  const blocks = [];
45364
+ const paraAttrs = para.attrs ?? {};
45365
+ const rawParagraphProps = typeof paraAttrs.paragraphProperties === "object" && paraAttrs.paragraphProperties !== null ? paraAttrs.paragraphProperties : void 0;
45366
+ const hasSectPr2 = Boolean(rawParagraphProps?.sectPr);
45367
+ const isSectPrMarker = hasSectPr2 || paraAttrs.pageBreakSource === "sectPr";
45357
45368
  if (hasPageBreakBefore(para)) {
45358
45369
  blocks.push({
45359
45370
  kind: "pageBreak",
@@ -45375,11 +45386,19 @@ function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defa
45375
45386
  emptyRun.pmStart = paraPos.start + 1;
45376
45387
  emptyRun.pmEnd = paraPos.start + 1;
45377
45388
  }
45389
+ let emptyParagraphAttrs = cloneParagraphAttrs(paragraphAttrs);
45390
+ if (isSectPrMarker) {
45391
+ if (emptyParagraphAttrs) {
45392
+ emptyParagraphAttrs.sectPrMarker = true;
45393
+ } else {
45394
+ emptyParagraphAttrs = { sectPrMarker: true };
45395
+ }
45396
+ }
45378
45397
  blocks.push({
45379
45398
  kind: "paragraph",
45380
45399
  id: baseBlockId,
45381
45400
  runs: [emptyRun],
45382
- attrs: cloneParagraphAttrs(paragraphAttrs)
45401
+ attrs: emptyParagraphAttrs
45383
45402
  });
45384
45403
  return blocks;
45385
45404
  }
@@ -1,5 +1,5 @@
1
- import { B as BIT8, M as MAX_SAFE_INTEGER, c as create, a as BITS7, u as utf8TextDecoder, b as create$1, s as setIfUndefined, d as create$2, f as from, e as floor$1, g as equalityDeep, w as writeVarUint, h as writeVarString, t as toUint8Array, i as createEncoder, j as createInjectionKey, k as toString, l as throwError, m as useSsrAdapter, n as configProviderInjectionKey, o as cssrAnchorMetaName, p as globalStyle, q as cB, r as c, v as isMounted, x as commonVariables$2, y as cM, z as cNotM, A as cE, C as derived, D as changeColor, E as insideModal, F as insidePopover, G as resolveWrappedSlot, H as on, I as warnOnce, J as useConfig, K as useMergedState, L as useMemo, N as useTheme, O as useRtl, P as createKey, Q as useThemeClass, R as createId, S as call, T as render, U as messageProviderInjectionKey, V as messageApiInjectionKey, W as fromBase64, X as onChange, Y as varStorage, Z as toBase64, _ as createUint8ArrayFromArrayBuffer, $ as offChange, a0 as writeVarUint8Array, a1 as map, a2 as length, a3 as isNode, a4 as min, a5 as pow, a6 as comments_module_events, a7 as getFileObject, a8 as getTrackChanges, a9 as CommentsPluginKey, aa as TrackChangesBasePluginKey, ab as Editor, ac as getRichTextExtensions, ad as ellipsisVerticalSvg, ae as xmarkIconSvg, af as checkIconSvg, ag as caretDownIconSvg, ah as commentIconSvg, ai as _export_sfc, aj as NDropdown, ak as SuperInput, al as vClickOutside, am as PresentationEditor, an as SuperEditor, ao as AIWriter, ap as NConfigProvider, aq as SuperToolbar } from "./index-BQPLVzyQ.es.js";
2
- import "./SuperConverter-BJi_tRyc.es.js";
1
+ import { B as BIT8, M as MAX_SAFE_INTEGER, c as create, a as BITS7, u as utf8TextDecoder, b as create$1, s as setIfUndefined, d as create$2, f as from, e as floor$1, g as equalityDeep, w as writeVarUint, h as writeVarString, t as toUint8Array, i as createEncoder, j as createInjectionKey, k as toString, l as throwError, m as useSsrAdapter, n as configProviderInjectionKey, o as cssrAnchorMetaName, p as globalStyle, q as cB, r as c, v as isMounted, x as commonVariables$2, y as cM, z as cNotM, A as cE, C as derived, D as changeColor, E as insideModal, F as insidePopover, G as resolveWrappedSlot, H as on, I as warnOnce, J as useConfig, K as useMergedState, L as useMemo, N as useTheme, O as useRtl, P as createKey, Q as useThemeClass, R as createId, S as call, T as render, U as messageProviderInjectionKey, V as messageApiInjectionKey, W as fromBase64, X as onChange, Y as varStorage, Z as toBase64, _ as createUint8ArrayFromArrayBuffer, $ as offChange, a0 as writeVarUint8Array, a1 as map, a2 as length, a3 as isNode, a4 as min, a5 as pow, a6 as comments_module_events, a7 as getFileObject, a8 as getTrackChanges, a9 as CommentsPluginKey, aa as TrackChangesBasePluginKey, ab as Editor, ac as getRichTextExtensions, ad as ellipsisVerticalSvg, ae as xmarkIconSvg, af as checkIconSvg, ag as caretDownIconSvg, ah as commentIconSvg, ai as _export_sfc, aj as NDropdown, ak as SuperInput, al as vClickOutside, am as PresentationEditor, an as SuperEditor, ao as AIWriter, ap as NConfigProvider, aq as SuperToolbar } from "./index-pQPsdBlj.es.js";
2
+ import "./SuperConverter-Cc0b8QgF.es.js";
3
3
  import { B as BlankDOCX } from "./blank-docx-ABm6XYAA.es.js";
4
4
  import { E as EventEmitter } from "./eventemitter3-CwrdEv8r.es.js";
5
5
  import { HocuspocusProvider, HocuspocusProviderWebsocket } from "@hocuspocus/provider";
@@ -7513,7 +7513,7 @@ const _sfc_main = {
7513
7513
  __name: "SuperDoc",
7514
7514
  emits: ["selection-update"],
7515
7515
  setup(__props, { emit: __emit }) {
7516
- const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-JG6s_6rr.es.js"));
7516
+ const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-B8mbSF_z.es.js"));
7517
7517
  const superdocStore = useSuperdocStore();
7518
7518
  const commentsStore = useCommentsStore();
7519
7519
  const {
@@ -8467,7 +8467,7 @@ class SuperDoc extends EventEmitter {
8467
8467
  this.config.colors = shuffleArray(this.config.colors);
8468
8468
  this.userColorMap = /* @__PURE__ */ new Map();
8469
8469
  this.colorIndex = 0;
8470
- this.version = "1.4.1-next.2";
8470
+ this.version = "1.4.1-next.3";
8471
8471
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
8472
8472
  this.superdocId = config.superdocId || v4();
8473
8473
  this.colors = this.config.colors;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
- const index = require("./index-DS7Ttafb.cjs");
3
- require("./SuperConverter-Bukam51x.cjs");
2
+ const index = require("./index-CyuAmipW.cjs");
3
+ require("./SuperConverter-D8OyLf2e.cjs");
4
4
  const blankDocx = require("./blank-docx-DfW3Eeh2.cjs");
5
5
  const eventemitter3 = require("./eventemitter3-BQuRcMPI.cjs");
6
6
  const provider = require("@hocuspocus/provider");
@@ -7530,7 +7530,7 @@ const _sfc_main = {
7530
7530
  __name: "SuperDoc",
7531
7531
  emits: ["selection-update"],
7532
7532
  setup(__props, { emit: __emit }) {
7533
- const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-BynotIK6.cjs")));
7533
+ const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-CCmdZiiL.cjs")));
7534
7534
  const superdocStore = useSuperdocStore();
7535
7535
  const commentsStore = useCommentsStore();
7536
7536
  const {
@@ -8484,7 +8484,7 @@ class SuperDoc extends eventemitter3.EventEmitter {
8484
8484
  this.config.colors = shuffleArray(this.config.colors);
8485
8485
  this.userColorMap = /* @__PURE__ */ new Map();
8486
8486
  this.colorIndex = 0;
8487
- this.version = "1.4.1-next.2";
8487
+ this.version = "1.4.1-next.3";
8488
8488
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
8489
8489
  this.superdocId = config.superdocId || uuid.v4();
8490
8490
  this.colors = this.config.colors;
@@ -1,6 +1,6 @@
1
1
  import { B as Buffer$2 } from "./jszip-B1fkPkPJ.es.js";
2
2
  import { t as twipsToInches, i as inchesToTwips, p as ptToTwips, l as linesToTwips, a as twipsToLines, b as pixelsToTwips, h as halfPointToPoints, c as twipsToPixels$2, d as convertSizeToCSS, e as inchesToPixels } from "./helpers-C8e9wR5l.es.js";
3
- import { g as generateDocxRandomId, T as TextSelection$1, o as objectIncludes, w as wrapTextsInRuns, D as DOMParser$1, c as createDocFromMarkdown, a as createDocFromHTML, b as chainableEditorState, d as convertMarkdownToHTML, f as findParentNode, e as findParentNodeClosestToPos, h as generateRandom32BitHex, i as generateRandomSigned32BitIntStrId, P as PluginKey, j as Plugin, M as Mapping, N as NodeSelection, k as Selection, l as Slice, m as DOMSerializer, F as Fragment, n as Mark$1, p as dropPoint, A as AllSelection, q as Schema$1, s as canSplit, t as resolveRunProperties, u as encodeMarksFromRPr, v as liftTarget, x as canJoin, y as joinPoint, z as replaceStep$1, R as ReplaceAroundStep$1, B as htmlHandler, C as ReplaceStep, E as getResolvedParagraphProperties, G as changeListLevel, H as isList$1, I as updateNumberingProperties, L as ListHelpers, J as inputRulesPlugin, K as TrackDeleteMarkName$1, O as TrackInsertMarkName$1, Q as TrackFormatMarkName$1, U as AddMarkStep, V as RemoveMarkStep, W as CommandService, S as SuperConverter, X as EditorState, Y as unflattenListsInHtml, Z as SelectionRange, _ as Transform, $ as createOoxmlResolver, a0 as translator, a1 as translator$1, a2 as resolveDocxFontFamily, a3 as combineIndentProperties, a4 as _getReferencedTableStyles, a5 as decodeRPrFromMarks, a6 as calculateResolvedParagraphProperties, a7 as encodeCSSFromPPr, a8 as encodeCSSFromRPr, a9 as generateOrderedListIndex, aa as docxNumberingHelpers, ab as InputRule, ac as insertNewRelationship, ad as kebabCase$1, ae as getUnderlineCssString } from "./SuperConverter-BJi_tRyc.es.js";
3
+ import { g as generateDocxRandomId, T as TextSelection$1, o as objectIncludes, w as wrapTextsInRuns, D as DOMParser$1, c as createDocFromMarkdown, a as createDocFromHTML, b as chainableEditorState, d as convertMarkdownToHTML, f as findParentNode, e as findParentNodeClosestToPos, h as generateRandom32BitHex, i as generateRandomSigned32BitIntStrId, P as PluginKey, j as Plugin, M as Mapping, N as NodeSelection, k as Selection, l as Slice, m as DOMSerializer, F as Fragment, n as Mark$1, p as dropPoint, A as AllSelection, q as Schema$1, s as canSplit, t as resolveRunProperties, u as encodeMarksFromRPr, v as liftTarget, x as canJoin, y as joinPoint, z as replaceStep$1, R as ReplaceAroundStep$1, B as htmlHandler, C as ReplaceStep, E as getResolvedParagraphProperties, G as changeListLevel, H as isList$1, I as updateNumberingProperties, L as ListHelpers, J as inputRulesPlugin, K as TrackDeleteMarkName$1, O as TrackInsertMarkName$1, Q as TrackFormatMarkName$1, U as AddMarkStep, V as RemoveMarkStep, W as CommandService, S as SuperConverter, X as EditorState, Y as unflattenListsInHtml, Z as SelectionRange, _ as Transform, $ as createOoxmlResolver, a0 as translator, a1 as translator$1, a2 as resolveDocxFontFamily, a3 as combineIndentProperties, a4 as _getReferencedTableStyles, a5 as decodeRPrFromMarks, a6 as calculateResolvedParagraphProperties, a7 as encodeCSSFromPPr, a8 as encodeCSSFromRPr, a9 as generateOrderedListIndex, aa as docxNumberingHelpers, ab as InputRule, ac as insertNewRelationship, ad as kebabCase$1, ae as getUnderlineCssString } from "./SuperConverter-Cc0b8QgF.es.js";
4
4
  import { p as process$1, r as ref, C as global$1, c as computed, E as createElementBlock, F as Fragment$1, S as renderList, O as withModifiers, G as openBlock, P as normalizeClass, M as createCommentVNode, H as toDisplayString, K as createBaseVNode, U as createApp, f as onMounted, X as onUnmounted, R as withDirectives, v as unref, Y as vModelText, y as nextTick, L as normalizeStyle, u as watch, Z as withKeys, _ as createTextVNode, I as createVNode, h, $ as readonly, s as getCurrentInstance, o as onBeforeUnmount, j as reactive, b as onBeforeMount, i as inject, a0 as onActivated, a1 as onDeactivated, a2 as Comment, d as defineComponent, a as provide, g as Teleport, t as toRef, a3 as renderSlot, a4 as isVNode, D as shallowRef, w as watchEffect, T as Transition, a5 as mergeProps, a6 as vShow, a7 as cloneVNode, a8 as Text$2, m as markRaw, N as createBlock, J as withCtx, a9 as useCssVars, V as resolveDynamicComponent, aa as normalizeProps, ab as guardReactiveProps } from "./vue-BnBKJwCW.es.js";
5
5
  import "./jszip.min-DCl8qkFO.es.js";
6
6
  import { E as EventEmitter$1 } from "./eventemitter3-CwrdEv8r.es.js";
@@ -15499,7 +15499,7 @@ const canUseDOM = () => {
15499
15499
  return false;
15500
15500
  }
15501
15501
  };
15502
- const summaryVersion = "1.4.1-next.2";
15502
+ const summaryVersion = "1.4.1-next.3";
15503
15503
  const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
15504
15504
  const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
15505
15505
  function mapAttributes(attrs) {
@@ -18131,7 +18131,7 @@ class Editor extends EventEmitter {
18131
18131
  * Process collaboration migrations
18132
18132
  */
18133
18133
  processCollaborationMigrations() {
18134
- console.debug("[checkVersionMigrations] Current editor version", "1.4.1-next.2");
18134
+ console.debug("[checkVersionMigrations] Current editor version", "1.4.1-next.3");
18135
18135
  if (!this.options.ydoc) return;
18136
18136
  const metaMap = this.options.ydoc.getMap("meta");
18137
18137
  let docVersion = metaMap.get("version");
@@ -33974,8 +33974,15 @@ function layoutDocument(blocks, measures, options = {}) {
33974
33974
  const paraBlock = block;
33975
33975
  const isEmpty2 = !paraBlock.runs || paraBlock.runs.length === 0 || paraBlock.runs.length === 1 && (!paraBlock.runs[0].kind || paraBlock.runs[0].kind === "text") && (!paraBlock.runs[0].text || paraBlock.runs[0].text === "");
33976
33976
  if (isEmpty2) {
33977
+ const isSectPrMarker = paraBlock.attrs?.sectPrMarker === true;
33977
33978
  const prevBlock = index2 > 0 ? blocks[index2 - 1] : null;
33978
33979
  const nextBlock = index2 < blocks.length - 1 ? blocks[index2 + 1] : null;
33980
+ const nextSectionBreak = nextBlock?.kind === "sectionBreak" ? nextBlock : null;
33981
+ const nextBreakType = nextSectionBreak?.type ?? (nextSectionBreak?.attrs?.source === "sectPr" ? "nextPage" : void 0);
33982
+ const nextBreakForcesPage = nextSectionBreak && (nextBreakType === "nextPage" || nextBreakType === "evenPage" || nextBreakType === "oddPage" || nextSectionBreak.attrs?.requirePageBoundary === true);
33983
+ if (isSectPrMarker && nextBreakForcesPage) {
33984
+ continue;
33985
+ }
33979
33986
  if (prevBlock?.kind === "pageBreak" && nextBlock?.kind === "sectionBreak") {
33980
33987
  continue;
33981
33988
  }
@@ -45337,6 +45344,10 @@ function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defa
45337
45344
  }
45338
45345
  const linkedStyleResolver = createLinkedStyleResolver(converterContext?.linkedStyles);
45339
45346
  const blocks = [];
45347
+ const paraAttrs = para.attrs ?? {};
45348
+ const rawParagraphProps = typeof paraAttrs.paragraphProperties === "object" && paraAttrs.paragraphProperties !== null ? paraAttrs.paragraphProperties : void 0;
45349
+ const hasSectPr2 = Boolean(rawParagraphProps?.sectPr);
45350
+ const isSectPrMarker = hasSectPr2 || paraAttrs.pageBreakSource === "sectPr";
45340
45351
  if (hasPageBreakBefore(para)) {
45341
45352
  blocks.push({
45342
45353
  kind: "pageBreak",
@@ -45358,11 +45369,19 @@ function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defa
45358
45369
  emptyRun.pmStart = paraPos.start + 1;
45359
45370
  emptyRun.pmEnd = paraPos.start + 1;
45360
45371
  }
45372
+ let emptyParagraphAttrs = cloneParagraphAttrs(paragraphAttrs);
45373
+ if (isSectPrMarker) {
45374
+ if (emptyParagraphAttrs) {
45375
+ emptyParagraphAttrs.sectPrMarker = true;
45376
+ } else {
45377
+ emptyParagraphAttrs = { sectPrMarker: true };
45378
+ }
45379
+ }
45361
45380
  blocks.push({
45362
45381
  kind: "paragraph",
45363
45382
  id: baseBlockId,
45364
45383
  runs: [emptyRun],
45365
- attrs: cloneParagraphAttrs(paragraphAttrs)
45384
+ attrs: emptyParagraphAttrs
45366
45385
  });
45367
45386
  return blocks;
45368
45387
  }
@@ -2,6 +2,6 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  require("../chunks/jszip-C8_CqJxM.cjs");
4
4
  require("../chunks/helpers-nOdwpmwb.cjs");
5
- const superEditor_converter = require("../chunks/SuperConverter-Bukam51x.cjs");
5
+ const superEditor_converter = require("../chunks/SuperConverter-D8OyLf2e.cjs");
6
6
  require("../chunks/uuid-R7L08bOx.cjs");
7
7
  exports.SuperConverter = superEditor_converter.SuperConverter;
@@ -1,6 +1,6 @@
1
1
  import "../chunks/jszip-B1fkPkPJ.es.js";
2
2
  import "../chunks/helpers-C8e9wR5l.es.js";
3
- import { S } from "../chunks/SuperConverter-BJi_tRyc.es.js";
3
+ import { S } from "../chunks/SuperConverter-Cc0b8QgF.es.js";
4
4
  import "../chunks/uuid-CjlX8hrF.es.js";
5
5
  export {
6
6
  S as SuperConverter
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./chunks/index-DS7Ttafb.cjs");
3
+ const index = require("./chunks/index-CyuAmipW.cjs");
4
4
  const superEditor_docxZipper = require("./super-editor/docx-zipper.cjs");
5
5
  const superEditor_fileZipper = require("./super-editor/file-zipper.cjs");
6
6
  const vue = require("./chunks/vue-De9wkgLl.cjs");
7
- const superEditor_converter = require("./chunks/SuperConverter-Bukam51x.cjs");
7
+ const superEditor_converter = require("./chunks/SuperConverter-D8OyLf2e.cjs");
8
8
  function isNodeType(node, name) {
9
9
  return node.type.name === name;
10
10
  }
@@ -1,9 +1,9 @@
1
- import { ax as Node, ay as Mark } from "./chunks/index-BQPLVzyQ.es.js";
2
- import { ao, au, a9, ab, aw, am, av, aA, an, ak, aq, az, aa, as, aC, aE, aB, ac, aD, ar, at } from "./chunks/index-BQPLVzyQ.es.js";
1
+ import { ax as Node, ay as Mark } from "./chunks/index-pQPsdBlj.es.js";
2
+ import { ao, au, a9, ab, aw, am, av, aA, an, ak, aq, az, aa, as, aC, aE, aB, ac, aD, ar, at } from "./chunks/index-pQPsdBlj.es.js";
3
3
  import { default as default2 } from "./super-editor/docx-zipper.es.js";
4
4
  import { createZip } from "./super-editor/file-zipper.es.js";
5
5
  import { d as defineComponent, E as createElementBlock, G as openBlock, K as createBaseVNode } from "./chunks/vue-BnBKJwCW.es.js";
6
- import { S, r } from "./chunks/SuperConverter-BJi_tRyc.es.js";
6
+ import { S, r } from "./chunks/SuperConverter-Cc0b8QgF.es.js";
7
7
  function isNodeType(node, name) {
8
8
  return node.type.name === name;
9
9
  }
package/dist/superdoc.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./chunks/index-DS7Ttafb.cjs");
4
- const superdoc = require("./chunks/index-CZMyxx0v.cjs");
5
- const superEditor_converter = require("./chunks/SuperConverter-Bukam51x.cjs");
3
+ const index = require("./chunks/index-CyuAmipW.cjs");
4
+ const superdoc = require("./chunks/index-myKwrK5s.cjs");
5
+ const superEditor_converter = require("./chunks/SuperConverter-D8OyLf2e.cjs");
6
6
  const blankDocx = require("./chunks/blank-docx-DfW3Eeh2.cjs");
7
7
  require("./chunks/jszip-C8_CqJxM.cjs");
8
8
  require("./chunks/helpers-nOdwpmwb.cjs");
@@ -1,6 +1,6 @@
1
- import { au, ab, aw, av, as, a7, ac, ar, at } from "./chunks/index-BQPLVzyQ.es.js";
2
- import { D, H, P, S, c } from "./chunks/index-QUPzhiU8.es.js";
3
- import { S as S2, r } from "./chunks/SuperConverter-BJi_tRyc.es.js";
1
+ import { au, ab, aw, av, as, a7, ac, ar, at } from "./chunks/index-pQPsdBlj.es.js";
2
+ import { D, H, P, S, c } from "./chunks/index-krXG8rm6.es.js";
3
+ import { S as S2, r } from "./chunks/SuperConverter-Cc0b8QgF.es.js";
4
4
  import { B } from "./chunks/blank-docx-ABm6XYAA.es.js";
5
5
  import "./chunks/jszip-B1fkPkPJ.es.js";
6
6
  import "./chunks/helpers-C8e9wR5l.es.js";
@@ -36961,7 +36961,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
36961
36961
  static getStoredSuperdocVersion(docx) {
36962
36962
  return SuperConverter.getStoredCustomProperty(docx, "SuperdocVersion");
36963
36963
  }
36964
- static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "1.4.1-next.2") {
36964
+ static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "1.4.1-next.3") {
36965
36965
  return SuperConverter.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
36966
36966
  }
36967
36967
  /**
@@ -62836,7 +62836,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
62836
62836
  return false;
62837
62837
  }
62838
62838
  };
62839
- const summaryVersion = "1.4.1-next.2";
62839
+ const summaryVersion = "1.4.1-next.3";
62840
62840
  const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
62841
62841
  const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
62842
62842
  function mapAttributes(attrs) {
@@ -65469,7 +65469,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
65469
65469
  * Process collaboration migrations
65470
65470
  */
65471
65471
  processCollaborationMigrations() {
65472
- console.debug("[checkVersionMigrations] Current editor version", "1.4.1-next.2");
65472
+ console.debug("[checkVersionMigrations] Current editor version", "1.4.1-next.3");
65473
65473
  if (!this.options.ydoc) return;
65474
65474
  const metaMap = this.options.ydoc.getMap("meta");
65475
65475
  let docVersion = metaMap.get("version");
@@ -81313,8 +81313,15 @@ ${l}
81313
81313
  const paraBlock = block;
81314
81314
  const isEmpty2 = !paraBlock.runs || paraBlock.runs.length === 0 || paraBlock.runs.length === 1 && (!paraBlock.runs[0].kind || paraBlock.runs[0].kind === "text") && (!paraBlock.runs[0].text || paraBlock.runs[0].text === "");
81315
81315
  if (isEmpty2) {
81316
+ const isSectPrMarker = paraBlock.attrs?.sectPrMarker === true;
81316
81317
  const prevBlock = index2 > 0 ? blocks2[index2 - 1] : null;
81317
81318
  const nextBlock = index2 < blocks2.length - 1 ? blocks2[index2 + 1] : null;
81319
+ const nextSectionBreak = nextBlock?.kind === "sectionBreak" ? nextBlock : null;
81320
+ const nextBreakType = nextSectionBreak?.type ?? (nextSectionBreak?.attrs?.source === "sectPr" ? "nextPage" : void 0);
81321
+ const nextBreakForcesPage = nextSectionBreak && (nextBreakType === "nextPage" || nextBreakType === "evenPage" || nextBreakType === "oddPage" || nextSectionBreak.attrs?.requirePageBoundary === true);
81322
+ if (isSectPrMarker && nextBreakForcesPage) {
81323
+ continue;
81324
+ }
81318
81325
  if (prevBlock?.kind === "pageBreak" && nextBlock?.kind === "sectionBreak") {
81319
81326
  continue;
81320
81327
  }
@@ -92623,6 +92630,10 @@ ${l}
92623
92630
  }
92624
92631
  const linkedStyleResolver = createLinkedStyleResolver(converterContext?.linkedStyles);
92625
92632
  const blocks2 = [];
92633
+ const paraAttrs = para.attrs ?? {};
92634
+ const rawParagraphProps = typeof paraAttrs.paragraphProperties === "object" && paraAttrs.paragraphProperties !== null ? paraAttrs.paragraphProperties : void 0;
92635
+ const hasSectPr2 = Boolean(rawParagraphProps?.sectPr);
92636
+ const isSectPrMarker = hasSectPr2 || paraAttrs.pageBreakSource === "sectPr";
92626
92637
  if (hasPageBreakBefore(para)) {
92627
92638
  blocks2.push({
92628
92639
  kind: "pageBreak",
@@ -92644,11 +92655,19 @@ ${l}
92644
92655
  emptyRun.pmStart = paraPos.start + 1;
92645
92656
  emptyRun.pmEnd = paraPos.start + 1;
92646
92657
  }
92658
+ let emptyParagraphAttrs = cloneParagraphAttrs(paragraphAttrs);
92659
+ if (isSectPrMarker) {
92660
+ if (emptyParagraphAttrs) {
92661
+ emptyParagraphAttrs.sectPrMarker = true;
92662
+ } else {
92663
+ emptyParagraphAttrs = { sectPrMarker: true };
92664
+ }
92665
+ }
92647
92666
  blocks2.push({
92648
92667
  kind: "paragraph",
92649
92668
  id: baseBlockId,
92650
92669
  runs: [emptyRun],
92651
- attrs: cloneParagraphAttrs(paragraphAttrs)
92670
+ attrs: emptyParagraphAttrs
92652
92671
  });
92653
92672
  return blocks2;
92654
92673
  }
@@ -145585,7 +145604,7 @@ ${reason}`);
145585
145604
  this.config.colors = shuffleArray(this.config.colors);
145586
145605
  this.userColorMap = /* @__PURE__ */ new Map();
145587
145606
  this.colorIndex = 0;
145588
- this.version = "1.4.1-next.2";
145607
+ this.version = "1.4.1-next.3";
145589
145608
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
145590
145609
  this.superdocId = config2.superdocId || v4();
145591
145610
  this.colors = this.config.colors;