@harbour-enterprises/superdoc 0.29.0-next.8 → 0.29.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.
Files changed (31) hide show
  1. package/dist/chunks/{PdfViewer-DN5OVJ2m.cjs → PdfViewer-BVriqvm9.cjs} +1 -1
  2. package/dist/chunks/{PdfViewer-D52oZlMN.es.js → PdfViewer-DUMZ9x59.es.js} +1 -1
  3. package/dist/chunks/{index-D08c3nkG-DhTHMiRT.es.js → index-373DqHu6-BLRN3Gja.es.js} +1 -1
  4. package/dist/chunks/{index-D08c3nkG-CEL2t8xk.cjs → index-373DqHu6-CPe3gPzf.cjs} +1 -1
  5. package/dist/chunks/{index-l9QIxky6.cjs → index-DEOkqJcc.cjs} +3 -3
  6. package/dist/chunks/{index-Ckp6Xz_9.es.js → index-_cWKslAS.es.js} +3 -3
  7. package/dist/chunks/{super-editor.es-BMKdFBfO.es.js → super-editor.es-83k0FoXr.es.js} +22 -7
  8. package/dist/chunks/{super-editor.es-DfufVFpB.cjs → super-editor.es-BkBSpy8W.cjs} +22 -7
  9. package/dist/packages/superdoc/src/core/SuperDoc.d.ts.map +1 -1
  10. package/dist/packages/superdoc/src/core/types/index.d.ts.map +1 -1
  11. package/dist/super-editor/ai-writer.es.js +2 -2
  12. package/dist/super-editor/chunks/{converter-CqYeAv65.js → converter-B86bAVY0.js} +20 -5
  13. package/dist/super-editor/chunks/{docx-zipper-C97RawM-.js → docx-zipper-D1VjYtEw.js} +1 -1
  14. package/dist/super-editor/chunks/{editor-BrxCRICL.js → editor-a9U6w_LW.js} +4 -4
  15. package/dist/super-editor/chunks/{index-D08c3nkG.js → index-373DqHu6.js} +1 -1
  16. package/dist/super-editor/chunks/{toolbar-B33VzEsn.js → toolbar-D0NuB59d.js} +2 -2
  17. package/dist/super-editor/converter.es.js +1 -1
  18. package/dist/super-editor/docx-zipper.es.js +2 -2
  19. package/dist/super-editor/editor.es.js +3 -3
  20. package/dist/super-editor/file-zipper.es.js +1 -1
  21. package/dist/super-editor/super-editor/src/core/super-converter/relationship-helpers.d.ts.map +1 -1
  22. package/dist/super-editor/super-editor/src/extensions/track-changes/permission-helpers.d.ts.map +1 -1
  23. package/dist/super-editor/super-editor.es.js +6 -6
  24. package/dist/super-editor/toolbar.es.js +2 -2
  25. package/dist/super-editor.cjs +1 -1
  26. package/dist/super-editor.es.js +1 -1
  27. package/dist/superdoc.cjs +2 -2
  28. package/dist/superdoc.es.js +2 -2
  29. package/dist/superdoc.umd.js +24 -9
  30. package/dist/superdoc.umd.js.map +1 -1
  31. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const vue = require("./vue-BQxRC6G7.cjs");
4
- const superdoc = require("./index-l9QIxky6.cjs");
4
+ const superdoc = require("./index-DEOkqJcc.cjs");
5
5
  function self(vars) {
6
6
  const {
7
7
  opacityDisabled,
@@ -1,5 +1,5 @@
1
1
  import { m as defineComponent, y as h, O as Transition, $ as process$1, J as watchEffect, a as computed, r as ref, j as onMounted, W as onUnmounted, b as createElementBlock, o as openBlock, f as createBaseVNode, e as createCommentVNode, v as createVNode, x as unref } from "./vue-D1vcEBAQ.es.js";
2
- import { d as derived, c, a as cB, f as fadeInTransition, b as cM, N as NBaseLoading, w as warnOnce, u as useConfig, e as useTheme, p as pxfy, g as createKey, h as useThemeClass, i as useCompitable, _ as _export_sfc, j as useSuperdocStore, s as storeToRefs, k as useSelection } from "./index-Ckp6Xz_9.es.js";
2
+ import { d as derived, c, a as cB, f as fadeInTransition, b as cM, N as NBaseLoading, w as warnOnce, u as useConfig, e as useTheme, p as pxfy, g as createKey, h as useThemeClass, i as useCompitable, _ as _export_sfc, j as useSuperdocStore, s as storeToRefs, k as useSelection } from "./index-_cWKslAS.es.js";
3
3
  function self(vars) {
4
4
  const {
5
5
  opacityDisabled,
@@ -1,4 +1,4 @@
1
- import { s as getDefaultExportFromCjs$2 } from "./super-editor.es-BMKdFBfO.es.js";
1
+ import { s as getDefaultExportFromCjs$2 } from "./super-editor.es-83k0FoXr.es.js";
2
2
  import { V as VFile } from "./index-CvBqQJbG-CvBqQJbG.es.js";
3
3
  function bail(error) {
4
4
  if (error) {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const superEditor_es = require("./super-editor.es-DfufVFpB.cjs");
3
+ const superEditor_es = require("./super-editor.es-BkBSpy8W.cjs");
4
4
  const indexCvBqQJbG = require("./index-CvBqQJbG-Dwm0THD7.cjs");
5
5
  function bail(error) {
6
6
  if (error) {
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const superEditor_es = require("./super-editor.es-DfufVFpB.cjs");
2
+ const superEditor_es = require("./super-editor.es-BkBSpy8W.cjs");
3
3
  const blankDocx = require("./blank-docx-DfW3Eeh2.cjs");
4
4
  const eventemitter3 = require("./eventemitter3-BvTILlBo.cjs");
5
5
  const provider = require("@hocuspocus/provider");
@@ -17218,7 +17218,7 @@ const _sfc_main = {
17218
17218
  __name: "SuperDoc",
17219
17219
  emits: ["selection-update"],
17220
17220
  setup(__props, { emit: __emit }) {
17221
- const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-DN5OVJ2m.cjs")));
17221
+ const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-BVriqvm9.cjs")));
17222
17222
  const superdocStore = useSuperdocStore();
17223
17223
  const commentsStore = useCommentsStore();
17224
17224
  const {
@@ -17982,7 +17982,7 @@ class SuperDoc extends eventemitter3.EventEmitter {
17982
17982
  this.config.colors = shuffleArray(this.config.colors);
17983
17983
  this.userColorMap = /* @__PURE__ */ new Map();
17984
17984
  this.colorIndex = 0;
17985
- this.version = "0.29.0-next.8";
17985
+ this.version = "0.29.0";
17986
17986
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
17987
17987
  this.superdocId = config.superdocId || uuid.v4();
17988
17988
  this.colors = this.config.colors;
@@ -1,4 +1,4 @@
1
- import { q as index, C as CommentsPluginKey, h as TrackChangesBasePluginKey, E as Editor, n as getRichTextExtensions, f as SuperInput, e as SuperEditor, A as AIWriter, g as SuperToolbar, i as createZip } from "./super-editor.es-BMKdFBfO.es.js";
1
+ import { q as index, C as CommentsPluginKey, h as TrackChangesBasePluginKey, E as Editor, n as getRichTextExtensions, f as SuperInput, e as SuperEditor, A as AIWriter, g as SuperToolbar, i as createZip } from "./super-editor.es-83k0FoXr.es.js";
2
2
  import { B as BlankDOCX } from "./blank-docx-ABm6XYAA.es.js";
3
3
  import { E as EventEmitter } from "./eventemitter3-D4gv5QOO.es.js";
4
4
  import { HocuspocusProvider, HocuspocusProviderWebsocket } from "@hocuspocus/provider";
@@ -17201,7 +17201,7 @@ const _sfc_main = {
17201
17201
  __name: "SuperDoc",
17202
17202
  emits: ["selection-update"],
17203
17203
  setup(__props, { emit: __emit }) {
17204
- const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-D52oZlMN.es.js"));
17204
+ const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-DUMZ9x59.es.js"));
17205
17205
  const superdocStore = useSuperdocStore();
17206
17206
  const commentsStore = useCommentsStore();
17207
17207
  const {
@@ -17965,7 +17965,7 @@ class SuperDoc extends EventEmitter {
17965
17965
  this.config.colors = shuffleArray(this.config.colors);
17966
17966
  this.userColorMap = /* @__PURE__ */ new Map();
17967
17967
  this.colorIndex = 0;
17968
- this.version = "0.29.0-next.8";
17968
+ this.version = "0.29.0";
17969
17969
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
17970
17970
  this.superdocId = config.superdocId || v4();
17971
17971
  this.colors = this.config.colors;
@@ -35370,6 +35370,12 @@ const mergeRelationshipElements = (existingRelationships = [], newRelationships
35370
35370
  if (!newRelationships?.length) return existingRelationships;
35371
35371
  let largestId = getLargestRelationshipId(existingRelationships);
35372
35372
  const seenIds = new Set(existingRelationships.map((rel) => rel?.attributes?.Id).filter(Boolean));
35373
+ for (const rel of newRelationships) {
35374
+ const id = rel?.attributes?.Id;
35375
+ if (!id || seenIds.has(id)) continue;
35376
+ const numeric = Number(String(id).replace(REL_ID_NUMERIC_PATTERN, ""));
35377
+ if (Number.isFinite(numeric) && numeric > largestId) largestId = numeric;
35378
+ }
35373
35379
  const additions = [];
35374
35380
  newRelationships.forEach((rel) => {
35375
35381
  if (!rel?.attributes) return;
@@ -35377,13 +35383,22 @@ const mergeRelationshipElements = (existingRelationships = [], newRelationships
35377
35383
  const currentId = attributes.Id || "";
35378
35384
  attributes.Target = attributes?.Target?.replace(/&/g, "&");
35379
35385
  const existingTarget = existingRelationships.find((el) => el.attributes.Target === attributes.Target);
35380
- const isMedia = attributes.Target?.startsWith("media/");
35386
+ attributes.Target?.startsWith("media/");
35381
35387
  const isNewHyperlink = attributes.Type === HYPERLINK_RELATIONSHIP_TYPE && currentId.length > 6;
35382
35388
  const isNewHeadFoot = (attributes.Type === HEADER_RELATIONSHIP_TYPE || attributes.Type === FOOTER_RELATIONSHIP_TYPE) && currentId.length > 6;
35383
35389
  const hasSeenId = currentId && seenIds.has(currentId);
35384
- const shouldSkip = !isNewHyperlink && !isNewHeadFoot && (hasSeenId || existingTarget);
35385
- if (shouldSkip) return;
35386
- attributes.Id = currentId.length > 6 || isMedia ? currentId : `rId${++largestId}`;
35390
+ if (!isNewHyperlink && !isNewHeadFoot && existingTarget) return;
35391
+ if (!currentId || hasSeenId) {
35392
+ let candidate = Math.max(largestId, 1);
35393
+ while (seenIds.has(`rId${candidate}`)) {
35394
+ candidate += 1;
35395
+ }
35396
+ attributes.Id = `rId${candidate}`;
35397
+ largestId = candidate;
35398
+ } else {
35399
+ const numeric = Number(String(currentId).replace(REL_ID_NUMERIC_PATTERN, ""));
35400
+ if (Number.isFinite(numeric) && numeric > largestId) largestId = numeric;
35401
+ }
35387
35402
  seenIds.add(attributes.Id);
35388
35403
  additions.push(rel);
35389
35404
  });
@@ -35597,7 +35612,7 @@ const _SuperConverter = class _SuperConverter2 {
35597
35612
  static getStoredSuperdocVersion(docx) {
35598
35613
  return _SuperConverter2.getStoredCustomProperty(docx, "SuperdocVersion");
35599
35614
  }
35600
- static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.29.0-next.8") {
35615
+ static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.29.0") {
35601
35616
  return _SuperConverter2.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
35602
35617
  }
35603
35618
  /**
@@ -53786,7 +53801,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
53786
53801
  { default: remarkStringify },
53787
53802
  { default: remarkGfm }
53788
53803
  ] = await Promise.all([
53789
- import("./index-D08c3nkG-DhTHMiRT.es.js"),
53804
+ import("./index-373DqHu6-BLRN3Gja.es.js"),
53790
53805
  import("./index-DRCvimau-Cw339678.es.js"),
53791
53806
  import("./index-C_x_N6Uh-DJn8hIEt.es.js"),
53792
53807
  import("./index-D_sWOSiG-DE96TaT5.es.js"),
@@ -54004,7 +54019,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
54004
54019
  * @returns {Object | void} Migration results
54005
54020
  */
54006
54021
  processCollaborationMigrations() {
54007
- console.debug("[checkVersionMigrations] Current editor version", "0.29.0-next.8");
54022
+ console.debug("[checkVersionMigrations] Current editor version", "0.29.0");
54008
54023
  if (!this.options.ydoc) return;
54009
54024
  const metaMap = this.options.ydoc.getMap("meta");
54010
54025
  let docVersion = metaMap.get("version");
@@ -35387,6 +35387,12 @@ const mergeRelationshipElements = (existingRelationships = [], newRelationships
35387
35387
  if (!newRelationships?.length) return existingRelationships;
35388
35388
  let largestId = getLargestRelationshipId(existingRelationships);
35389
35389
  const seenIds = new Set(existingRelationships.map((rel) => rel?.attributes?.Id).filter(Boolean));
35390
+ for (const rel of newRelationships) {
35391
+ const id = rel?.attributes?.Id;
35392
+ if (!id || seenIds.has(id)) continue;
35393
+ const numeric = Number(String(id).replace(REL_ID_NUMERIC_PATTERN, ""));
35394
+ if (Number.isFinite(numeric) && numeric > largestId) largestId = numeric;
35395
+ }
35390
35396
  const additions = [];
35391
35397
  newRelationships.forEach((rel) => {
35392
35398
  if (!rel?.attributes) return;
@@ -35394,13 +35400,22 @@ const mergeRelationshipElements = (existingRelationships = [], newRelationships
35394
35400
  const currentId = attributes.Id || "";
35395
35401
  attributes.Target = attributes?.Target?.replace(/&/g, "&");
35396
35402
  const existingTarget = existingRelationships.find((el) => el.attributes.Target === attributes.Target);
35397
- const isMedia = attributes.Target?.startsWith("media/");
35403
+ attributes.Target?.startsWith("media/");
35398
35404
  const isNewHyperlink = attributes.Type === HYPERLINK_RELATIONSHIP_TYPE && currentId.length > 6;
35399
35405
  const isNewHeadFoot = (attributes.Type === HEADER_RELATIONSHIP_TYPE || attributes.Type === FOOTER_RELATIONSHIP_TYPE) && currentId.length > 6;
35400
35406
  const hasSeenId = currentId && seenIds.has(currentId);
35401
- const shouldSkip = !isNewHyperlink && !isNewHeadFoot && (hasSeenId || existingTarget);
35402
- if (shouldSkip) return;
35403
- attributes.Id = currentId.length > 6 || isMedia ? currentId : `rId${++largestId}`;
35407
+ if (!isNewHyperlink && !isNewHeadFoot && existingTarget) return;
35408
+ if (!currentId || hasSeenId) {
35409
+ let candidate = Math.max(largestId, 1);
35410
+ while (seenIds.has(`rId${candidate}`)) {
35411
+ candidate += 1;
35412
+ }
35413
+ attributes.Id = `rId${candidate}`;
35414
+ largestId = candidate;
35415
+ } else {
35416
+ const numeric = Number(String(currentId).replace(REL_ID_NUMERIC_PATTERN, ""));
35417
+ if (Number.isFinite(numeric) && numeric > largestId) largestId = numeric;
35418
+ }
35404
35419
  seenIds.add(attributes.Id);
35405
35420
  additions.push(rel);
35406
35421
  });
@@ -35614,7 +35629,7 @@ const _SuperConverter = class _SuperConverter2 {
35614
35629
  static getStoredSuperdocVersion(docx) {
35615
35630
  return _SuperConverter2.getStoredCustomProperty(docx, "SuperdocVersion");
35616
35631
  }
35617
- static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.29.0-next.8") {
35632
+ static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.29.0") {
35618
35633
  return _SuperConverter2.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
35619
35634
  }
35620
35635
  /**
@@ -53803,7 +53818,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
53803
53818
  { default: remarkStringify },
53804
53819
  { default: remarkGfm }
53805
53820
  ] = await Promise.all([
53806
- Promise.resolve().then(() => require("./index-D08c3nkG-CEL2t8xk.cjs")),
53821
+ Promise.resolve().then(() => require("./index-373DqHu6-CPe3gPzf.cjs")),
53807
53822
  Promise.resolve().then(() => require("./index-DRCvimau-H4Ck3S9a.cjs")),
53808
53823
  Promise.resolve().then(() => require("./index-C_x_N6Uh-Db3CUJMX.cjs")),
53809
53824
  Promise.resolve().then(() => require("./index-D_sWOSiG-BtDZzJ6I.cjs")),
@@ -54021,7 +54036,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
54021
54036
  * @returns {Object | void} Migration results
54022
54037
  */
54023
54038
  processCollaborationMigrations() {
54024
- console.debug("[checkVersionMigrations] Current editor version", "0.29.0-next.8");
54039
+ console.debug("[checkVersionMigrations] Current editor version", "0.29.0");
54025
54040
  if (!this.options.ydoc) return;
54026
54041
  const metaMap = this.options.ydoc.getMap("meta");
54027
54042
  let docVersion = metaMap.get("version");
@@ -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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/core/types/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/core/types/index.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-CqYeAv65.js";
3
- import { _ as _export_sfc } from "./chunks/editor-BrxCRICL.js";
2
+ import { T as TextSelection } from "./chunks/converter-B86bAVY0.js";
3
+ import { _ as _export_sfc } from "./chunks/editor-a9U6w_LW.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 = {}) {
@@ -35651,6 +35651,12 @@ const mergeRelationshipElements = (existingRelationships = [], newRelationships
35651
35651
  if (!newRelationships?.length) return existingRelationships;
35652
35652
  let largestId = getLargestRelationshipId(existingRelationships);
35653
35653
  const seenIds = new Set(existingRelationships.map((rel) => rel?.attributes?.Id).filter(Boolean));
35654
+ for (const rel of newRelationships) {
35655
+ const id = rel?.attributes?.Id;
35656
+ if (!id || seenIds.has(id)) continue;
35657
+ const numeric = Number(String(id).replace(REL_ID_NUMERIC_PATTERN, ""));
35658
+ if (Number.isFinite(numeric) && numeric > largestId) largestId = numeric;
35659
+ }
35654
35660
  const additions = [];
35655
35661
  newRelationships.forEach((rel) => {
35656
35662
  if (!rel?.attributes) return;
@@ -35658,13 +35664,22 @@ const mergeRelationshipElements = (existingRelationships = [], newRelationships
35658
35664
  const currentId = attributes.Id || "";
35659
35665
  attributes.Target = attributes?.Target?.replace(/&/g, "&");
35660
35666
  const existingTarget = existingRelationships.find((el) => el.attributes.Target === attributes.Target);
35661
- const isMedia = attributes.Target?.startsWith("media/");
35667
+ attributes.Target?.startsWith("media/");
35662
35668
  const isNewHyperlink = attributes.Type === HYPERLINK_RELATIONSHIP_TYPE && currentId.length > 6;
35663
35669
  const isNewHeadFoot = (attributes.Type === HEADER_RELATIONSHIP_TYPE || attributes.Type === FOOTER_RELATIONSHIP_TYPE) && currentId.length > 6;
35664
35670
  const hasSeenId = currentId && seenIds.has(currentId);
35665
- const shouldSkip = !isNewHyperlink && !isNewHeadFoot && (hasSeenId || existingTarget);
35666
- if (shouldSkip) return;
35667
- attributes.Id = currentId.length > 6 || isMedia ? currentId : `rId${++largestId}`;
35671
+ if (!isNewHyperlink && !isNewHeadFoot && existingTarget) return;
35672
+ if (!currentId || hasSeenId) {
35673
+ let candidate = Math.max(largestId, 1);
35674
+ while (seenIds.has(`rId${candidate}`)) {
35675
+ candidate += 1;
35676
+ }
35677
+ attributes.Id = `rId${candidate}`;
35678
+ largestId = candidate;
35679
+ } else {
35680
+ const numeric = Number(String(currentId).replace(REL_ID_NUMERIC_PATTERN, ""));
35681
+ if (Number.isFinite(numeric) && numeric > largestId) largestId = numeric;
35682
+ }
35668
35683
  seenIds.add(attributes.Id);
35669
35684
  additions.push(rel);
35670
35685
  });
@@ -35878,7 +35893,7 @@ const _SuperConverter = class _SuperConverter {
35878
35893
  static getStoredSuperdocVersion(docx) {
35879
35894
  return _SuperConverter.getStoredCustomProperty(docx, "SuperdocVersion");
35880
35895
  }
35881
- static setStoredSuperdocVersion(docx = this.convertedXml, version = "0.29.0-next.8") {
35896
+ static setStoredSuperdocVersion(docx = this.convertedXml, version = "0.29.0") {
35882
35897
  return _SuperConverter.setStoredCustomProperty(docx, "SuperdocVersion", version, false);
35883
35898
  }
35884
35899
  /**
@@ -1,4 +1,4 @@
1
- import { p as process$1, az as commonjsGlobal, B as Buffer, aA as getDefaultExportFromCjs, aB as getContentTypesFromXml, aC as xmljs } from "./converter-CqYeAv65.js";
1
+ import { p as process$1, az as commonjsGlobal, B as Buffer, aA as getDefaultExportFromCjs, aB as getContentTypesFromXml, aC as xmljs } from "./converter-B86bAVY0.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 _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, _commandService, _Editor_instances, initContainerElement_fn, init_fn, initRichText_fn, onFocus_fn, checkHeadless_fn, registerCopyHandler_fn, insertNewFileData_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, initPagination_fn, dispatchTransaction_fn, handleNodeSelection_fn, prepareDocumentForImport_fn, prepareDocumentForExport_fn, endCollaboration_fn, validateDocumentInit_fn, validateDocumentExport_fn, initDevTools_fn, _DocumentSectionView_instances, init_fn2, addToolTip_fn, _ListItemNodeView_instances, init_fn3, applyIndentStyling_fn, _FieldAnnotationView_instances, createAnnotation_fn, _AutoPageNumberNodeView_instances, renderDom_fn, scheduleUpdateNodeStyle_fn;
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$1, 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 ReplaceStep, E as NodeRange, G as findWrapping, L as ListHelpers, H as findParentNode, I as isMacOS, J as isIOS, K as getSchemaTypeByName, O as inputRulesPlugin, Q as TrackDeleteMarkName, U as TrackInsertMarkName, V as v4, W as TrackFormatMarkName, X as comments_module_events, Y as findMark, Z as objectIncludes, _ as AddMarkStep, $ as RemoveMarkStep, a0 as twipsToLines, a1 as pixelsToTwips, a2 as helpers, a3 as posToDOMRect, a4 as CommandService, a5 as SuperConverter, a6 as createDocument, a7 as createDocFromMarkdown, a8 as createDocFromHTML, a9 as EditorState, aa as hasSomeParentWithClass, ab as isActive, ac as unflattenListsInHtml, ad as parseSizeUnit, ae as minMax, af as getLineHeightValueString, ag as updateDOMAttributes, ah as findChildren$5, ai as htmlHandler, aj as generateRandomSigned32BitIntStrId, ak as InputRule, al as kebabCase, am as findParentNodeClosestToPos, an as getListItemStyleDefinitions, ao as docxNumberingHelpers, ap as parseIndentElement, aq as combineIndents, ar as twipsToPixels, as as PIXELS_PER_INCH, at as SelectionRange, au as Transform, av as isInTable$1, aw as generateDocxRandomId, ax as insertNewRelationship, ay as inchesToPixels } from "./converter-CqYeAv65.js";
16
- import { D as DocxZipper } from "./docx-zipper-C97RawM-.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$1, 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 ReplaceStep, E as NodeRange, G as findWrapping, L as ListHelpers, H as findParentNode, I as isMacOS, J as isIOS, K as getSchemaTypeByName, O as inputRulesPlugin, Q as TrackDeleteMarkName, U as TrackInsertMarkName, V as v4, W as TrackFormatMarkName, X as comments_module_events, Y as findMark, Z as objectIncludes, _ as AddMarkStep, $ as RemoveMarkStep, a0 as twipsToLines, a1 as pixelsToTwips, a2 as helpers, a3 as posToDOMRect, a4 as CommandService, a5 as SuperConverter, a6 as createDocument, a7 as createDocFromMarkdown, a8 as createDocFromHTML, a9 as EditorState, aa as hasSomeParentWithClass, ab as isActive, ac as unflattenListsInHtml, ad as parseSizeUnit, ae as minMax, af as getLineHeightValueString, ag as updateDOMAttributes, ah as findChildren$5, ai as htmlHandler, aj as generateRandomSigned32BitIntStrId, ak as InputRule, al as kebabCase, am as findParentNodeClosestToPos, an as getListItemStyleDefinitions, ao as docxNumberingHelpers, ap as parseIndentElement, aq as combineIndents, ar as twipsToPixels, as as PIXELS_PER_INCH, at as SelectionRange, au as Transform, av as isInTable$1, aw as generateDocxRandomId, ax as insertNewRelationship, ay as inchesToPixels } from "./converter-B86bAVY0.js";
16
+ import { D as DocxZipper } from "./docx-zipper-D1VjYtEw.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() {
@@ -15072,7 +15072,7 @@ const _Editor = class _Editor extends EventEmitter {
15072
15072
  { default: remarkStringify },
15073
15073
  { default: remarkGfm }
15074
15074
  ] = await Promise.all([
15075
- import("./index-D08c3nkG.js"),
15075
+ import("./index-373DqHu6.js"),
15076
15076
  import("./index-DRCvimau.js"),
15077
15077
  import("./index-C_x_N6Uh.js"),
15078
15078
  import("./index-D_sWOSiG.js"),
@@ -15290,7 +15290,7 @@ const _Editor = class _Editor extends EventEmitter {
15290
15290
  * @returns {Object | void} Migration results
15291
15291
  */
15292
15292
  processCollaborationMigrations() {
15293
- console.debug("[checkVersionMigrations] Current editor version", "0.29.0-next.8");
15293
+ console.debug("[checkVersionMigrations] Current editor version", "0.29.0");
15294
15294
  if (!this.options.ydoc) return;
15295
15295
  const metaMap = this.options.ydoc.getMap("meta");
15296
15296
  let docVersion = metaMap.get("version");
@@ -1,4 +1,4 @@
1
- import { aA as getDefaultExportFromCjs } from "./converter-CqYeAv65.js";
1
+ import { aA as getDefaultExportFromCjs } from "./converter-B86bAVY0.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 { computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, normalizeClass, normalizeStyle, ref, withKeys, unref, withModifiers, createBlock, toDisplayString, withDirectives, vModelText, nextTick, getCurrentInstance, createVNode, readonly, watch, onMounted, onBeforeUnmount, reactive, onBeforeMount, inject, onActivated, onDeactivated, createTextVNode, Fragment, Comment, defineComponent, provide, h, Teleport, toRef, renderSlot, isVNode, shallowRef, watchEffect, mergeProps, Transition, vShow, cloneVNode, Text, renderList, withCtx } from "vue";
2
- import { p as process$1 } from "./converter-CqYeAv65.js";
3
- import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-BrxCRICL.js";
2
+ import { p as process$1 } from "./converter-B86bAVY0.js";
3
+ import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-a9U6w_LW.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 { a5 } from "./chunks/converter-CqYeAv65.js";
1
+ import { a5 } from "./chunks/converter-B86bAVY0.js";
2
2
  export {
3
3
  a5 as SuperConverter
4
4
  };
@@ -1,5 +1,5 @@
1
- import "./chunks/converter-CqYeAv65.js";
2
- import { D } from "./chunks/docx-zipper-C97RawM-.js";
1
+ import "./chunks/converter-B86bAVY0.js";
2
+ import { D } from "./chunks/docx-zipper-D1VjYtEw.js";
3
3
  export {
4
4
  D as default
5
5
  };
@@ -1,6 +1,6 @@
1
- import { E } from "./chunks/editor-BrxCRICL.js";
2
- import "./chunks/converter-CqYeAv65.js";
3
- import "./chunks/docx-zipper-C97RawM-.js";
1
+ import { E } from "./chunks/editor-a9U6w_LW.js";
2
+ import "./chunks/converter-B86bAVY0.js";
3
+ import "./chunks/docx-zipper-D1VjYtEw.js";
4
4
  export {
5
5
  E as Editor
6
6
  };
@@ -1,4 +1,4 @@
1
- import { J as JSZip } from "./chunks/docx-zipper-C97RawM-.js";
1
+ import { J as JSZip } from "./chunks/docx-zipper-D1VjYtEw.js";
2
2
  async function createZip(blobs, fileNames) {
3
3
  const zip = new JSZip();
4
4
  blobs.forEach((blob, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"relationship-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/core/super-converter/relationship-helpers.js"],"names":[],"mappings":"AAUO,yDAHI,GAA4C,EAAE,GAC5C,MAAM,CAQlB;AAUM,kEAJI,GAA4C,EAAE,qBAC9C,GAA4C,EAAE,GAC5C,GAA4C,EAAE,CAoC1D"}
1
+ {"version":3,"file":"relationship-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/core/super-converter/relationship-helpers.js"],"names":[],"mappings":"AAUO,yDAHI,GAA4C,EAAE,GAC5C,MAAM,CAQlB;AAUM,kEAJI,GAA4C,EAAE,qBAC9C,GAA4C,EAAE,GAC5C,GAA4C,EAAE,CA2D1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"permission-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/track-changes/permission-helpers.js"],"names":[],"mappings":"AAgDO,2DALJ;IAAwD,KAAK,EAArD,OAAO,mBAAmB,EAAE,WAAW;IACxB,IAAI,EAAnB,MAAM;IACS,EAAE,EAAjB,MAAM;CACd,GAAU,KAAK,KAAQ,CAkBzB;AA+BM,iFALJ;IAAmE,MAAM,EAAjE;;;;;;;;;;;;0BAsDin9f,aAAa;;;;2BAAgoB,IAAI;;;;;;;6BAAwmI,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAA44a,aAAa;0BAA/vuB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAA4ulC,UAAU;kDAAuV,UAAU,aAA+E,UAAU;oCAAgZ,UAAU;;;;;;;;;KAtDtj6hB;IACxB,MAAM,EAAhC,QAAQ,GAAC,QAAQ;IACK,cAAc,EAApC,KAAK,KAAQ;CACrB,GAAU,OAAO,CAkCnB;AAWM,iFALJ;IAAwD,KAAK,EAArD,OAAO,mBAAmB,EAAE,WAAW;IACnB,GAAG,EAAvB,MAAM,GAAC,IAAI;IACS,eAAe,EAAnC,MAAM,GAAC,IAAI;CACnB,GAAU,KAAK,KAAQ,CAOzB"}
1
+ {"version":3,"file":"permission-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/track-changes/permission-helpers.js"],"names":[],"mappings":"AAgDO,2DALJ;IAAwD,KAAK,EAArD,OAAO,mBAAmB,EAAE,WAAW;IACxB,IAAI,EAAnB,MAAM;IACS,EAAE,EAAjB,MAAM;CACd,GAAU,KAAK,KAAQ,CAkBzB;AA+BM,iFALJ;IAAmE,MAAM,EAAjE;;;;;;;;;;;;0BAsDin9f,aAAa;;;;2BAAgoB,IAAI;;;;;;;6BAAwmI,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAA44a,aAAa;0BAA/vuB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAAqulC,UAAU;kDAAuV,UAAU,aAA+E,UAAU;oCAAgZ,UAAU;;;;;;;;;KAtD/i6hB;IACxB,MAAM,EAAhC,QAAQ,GAAC,QAAQ;IACK,cAAc,EAApC,KAAK,KAAQ;CACrB,GAAU,OAAO,CAkCnB;AAWM,iFALJ;IAAwD,KAAK,EAArD,OAAO,mBAAmB,EAAE,WAAW;IACnB,GAAG,EAAvB,MAAM,GAAC,IAAI;IACS,eAAe,EAAnC,MAAM,GAAC,IAAI;CACnB,GAAU,KAAK,KAAQ,CAOzB"}
@@ -9,14 +9,14 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
9
9
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
10
10
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
11
11
  var _SuperToolbar_instances, initToolbarGroups_fn, _interceptedCommands, makeToolbarItems_fn, initDefaultFonts_fn, updateHighlightColors_fn, deactivateAll_fn, updateToolbarHistory_fn, enrichTrackedChanges_fn, runCommandWithArgumentOnly_fn;
12
- import { aA as getDefaultExportFromCjs, V as v4, T as TextSelection$1, v as getMarkRange, aD as vClickOutside, aE as getActiveFormatting, av as isInTable, aF as readFromClipboard, aG as handleClipboardPaste, aH as getFileObject, aI as runPropertyTranslators, aJ as translator, aK as translator$1, aL as translator$2, aM as translator$3, aN as translator$4, aO as translator$5, aP as translator$6, aQ as translator$7, aR as translator$8, aS as translator$9, aT as translator$a, aU as translator$b, aV as translator$c, aW as translator$d, aX as translator$e, aY as commentRangeEndTranslator, aZ as commentRangeStartTranslator, a_ as translator$f, a$ as translator$g, b0 as translator$h, b1 as translator$i, b2 as translator$j, b3 as translator$k, b4 as translator$l, b5 as translator$m, b6 as translator$n, b7 as translator$o, b8 as translator$p, b9 as translator$q, ba as translator$r, bb as translator$s, bc as translator$t, bd as translator$u, be as translator$v, bf as translator$w, bg as translator$x, bh as translator$y, bi as translator$z, bj as translator$A, bk as translator$B, bl as translator$C, bm as translator$D, bn as translator$E, bo as translator$F, bp as translator$G, bq as translator$H, br as translator$I, bs as translator$J, bt as translator$K, bu as translator$L, bv as translator$M, bw as translator$N, bx as translator$O, by as translator$P, bz as translator$Q, bA as translator$R, bB as translator$S, bC as translator$T, bD as translator$U, bE as translator$V, bF as translator$W, bG as translator$X, bH as translator$Y, bI as translator$Z, bJ as translator$_, bK as translator$$, bL as translator$10, bM as translator$11, bN as translator$12, bO as translator$13, bP as translator$14, bQ as translator$15, bR as translator$16, bS as translator$17, bT as translator$18, bU as translator$19, bV as translator$1a, bW as translator$1b, bX as translator$1c, bY as translator$1d, bZ as translator$1e, b_ as translator$1f, b$ as translator$1g, c0 as translator$1h, P as PluginKey, a as Plugin } from "./chunks/converter-CqYeAv65.js";
13
- import { a5, i, a2 } from "./chunks/converter-CqYeAv65.js";
14
- import { _ as _export_sfc, u as useHighContrastMode, a as getQuickFormatList, b as generateLinkedStyleString, c as collectTargetListItemPositions, d as getFileOpener, e as checkAndProcessImage, r as replaceSelectionWithImagePlaceholder, f as uploadAndInsertImage, h as collectTrackedChanges, i as isTrackedChangeActionAllowed, y as yUndoPluginKey, j as undoDepth, k as redoDepth, l as collectTrackedChangesForContext, s as shouldBypassContextMenu, S as SlashMenuPluginKey, E as Editor, m as getStarterExtensions, P as Placeholder, n as getRichTextExtensions, D as DecorationSet, o as Decoration, M as Mark, p as Extension, A as Attribute, N as Node } from "./chunks/editor-BrxCRICL.js";
15
- import { v, C, w, T, q, x, t } from "./chunks/editor-BrxCRICL.js";
12
+ import { aA as getDefaultExportFromCjs, V as v4, T as TextSelection$1, v as getMarkRange, aD as vClickOutside, aE as getActiveFormatting, av as isInTable, aF as readFromClipboard, aG as handleClipboardPaste, aH as getFileObject, aI as runPropertyTranslators, aJ as translator, aK as translator$1, aL as translator$2, aM as translator$3, aN as translator$4, aO as translator$5, aP as translator$6, aQ as translator$7, aR as translator$8, aS as translator$9, aT as translator$a, aU as translator$b, aV as translator$c, aW as translator$d, aX as translator$e, aY as commentRangeEndTranslator, aZ as commentRangeStartTranslator, a_ as translator$f, a$ as translator$g, b0 as translator$h, b1 as translator$i, b2 as translator$j, b3 as translator$k, b4 as translator$l, b5 as translator$m, b6 as translator$n, b7 as translator$o, b8 as translator$p, b9 as translator$q, ba as translator$r, bb as translator$s, bc as translator$t, bd as translator$u, be as translator$v, bf as translator$w, bg as translator$x, bh as translator$y, bi as translator$z, bj as translator$A, bk as translator$B, bl as translator$C, bm as translator$D, bn as translator$E, bo as translator$F, bp as translator$G, bq as translator$H, br as translator$I, bs as translator$J, bt as translator$K, bu as translator$L, bv as translator$M, bw as translator$N, bx as translator$O, by as translator$P, bz as translator$Q, bA as translator$R, bB as translator$S, bC as translator$T, bD as translator$U, bE as translator$V, bF as translator$W, bG as translator$X, bH as translator$Y, bI as translator$Z, bJ as translator$_, bK as translator$$, bL as translator$10, bM as translator$11, bN as translator$12, bO as translator$13, bP as translator$14, bQ as translator$15, bR as translator$16, bS as translator$17, bT as translator$18, bU as translator$19, bV as translator$1a, bW as translator$1b, bX as translator$1c, bY as translator$1d, bZ as translator$1e, b_ as translator$1f, b$ as translator$1g, c0 as translator$1h, P as PluginKey, a as Plugin } from "./chunks/converter-B86bAVY0.js";
13
+ import { a5, i, a2 } from "./chunks/converter-B86bAVY0.js";
14
+ import { _ as _export_sfc, u as useHighContrastMode, a as getQuickFormatList, b as generateLinkedStyleString, c as collectTargetListItemPositions, d as getFileOpener, e as checkAndProcessImage, r as replaceSelectionWithImagePlaceholder, f as uploadAndInsertImage, h as collectTrackedChanges, i as isTrackedChangeActionAllowed, y as yUndoPluginKey, j as undoDepth, k as redoDepth, l as collectTrackedChangesForContext, s as shouldBypassContextMenu, S as SlashMenuPluginKey, E as Editor, m as getStarterExtensions, P as Placeholder, n as getRichTextExtensions, D as DecorationSet, o as Decoration, M as Mark, p as Extension, A as Attribute, N as Node } from "./chunks/editor-a9U6w_LW.js";
15
+ import { v, C, w, T, q, x, t } from "./chunks/editor-a9U6w_LW.js";
16
16
  import { ref, onMounted, createElementBlock, openBlock, normalizeClass, unref, Fragment, renderList, createElementVNode, withModifiers, toDisplayString, createCommentVNode, normalizeStyle, computed, watch, withDirectives, withKeys, vModelText, createTextVNode, createVNode, h, createApp, markRaw, nextTick, onBeforeUnmount, defineComponent, reactive, onUnmounted, renderSlot, shallowRef, createBlock, withCtx, resolveDynamicComponent, normalizeProps, guardReactiveProps } from "vue";
17
- import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, p as plusIconSvg, a as trashIconSvg, b as borderNoneIconSvg, c as arrowsToDotIconSvg, d as arrowsLeftRightIconSvg, w as wrenchIconSvg, m as magicWandIcon, e as checkIconSvg$1, x as xMarkIconSvg, l as linkIconSvg, f as tableIconSvg, g as scissorsIconSvg, h as copyIconSvg, i as pasteIconSvg, u as useMessage, N as NSkeleton } from "./chunks/toolbar-B33VzEsn.js";
17
+ import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, p as plusIconSvg, a as trashIconSvg, b as borderNoneIconSvg, c as arrowsToDotIconSvg, d as arrowsLeftRightIconSvg, w as wrenchIconSvg, m as magicWandIcon, e as checkIconSvg$1, x as xMarkIconSvg, l as linkIconSvg, f as tableIconSvg, g as scissorsIconSvg, h as copyIconSvg, i as pasteIconSvg, u as useMessage, N as NSkeleton } from "./chunks/toolbar-D0NuB59d.js";
18
18
  import AIWriter from "./ai-writer.es.js";
19
- import { D } from "./chunks/docx-zipper-C97RawM-.js";
19
+ import { D } from "./chunks/docx-zipper-D1VjYtEw.js";
20
20
  import { createZip } from "./file-zipper.es.js";
21
21
  var eventemitter3 = { exports: {} };
22
22
  var hasRequiredEventemitter3;
@@ -1,6 +1,6 @@
1
1
  import "vue";
2
- import { T } from "./chunks/toolbar-B33VzEsn.js";
3
- import "./chunks/editor-BrxCRICL.js";
2
+ import { T } from "./chunks/toolbar-D0NuB59d.js";
3
+ import "./chunks/editor-a9U6w_LW.js";
4
4
  export {
5
5
  T as default
6
6
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const superEditor_es = require("./chunks/super-editor.es-DfufVFpB.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-BkBSpy8W.cjs");
4
4
  require("./chunks/vue-BQxRC6G7.cjs");
5
5
  exports.AIWriter = superEditor_es.AIWriter;
6
6
  exports.AnnotatorHelpers = superEditor_es.AnnotatorHelpers;
@@ -1,4 +1,4 @@
1
- import { A, a, _, C, D, E, b, S, c, d, e, f, g, T, h, i, j, k, l, m, n, o, p, r, q } from "./chunks/super-editor.es-BMKdFBfO.es.js";
1
+ import { A, a, _, C, D, E, b, S, c, d, e, f, g, T, h, i, j, k, l, m, n, o, p, r, q } from "./chunks/super-editor.es-83k0FoXr.es.js";
2
2
  import "./chunks/vue-D1vcEBAQ.es.js";
3
3
  export {
4
4
  A as AIWriter,
package/dist/superdoc.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const superEditor_es = require("./chunks/super-editor.es-DfufVFpB.cjs");
4
- const superdoc = require("./chunks/index-l9QIxky6.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-BkBSpy8W.cjs");
4
+ const superdoc = require("./chunks/index-DEOkqJcc.cjs");
5
5
  const blankDocx = require("./chunks/blank-docx-DfW3Eeh2.cjs");
6
6
  exports.AnnotatorHelpers = superEditor_es.AnnotatorHelpers;
7
7
  exports.Editor = superEditor_es.Editor;
@@ -1,5 +1,5 @@
1
- import { a, E, b, S, d, i, j, n, r, p, q } from "./chunks/super-editor.es-BMKdFBfO.es.js";
2
- import { D, H, P, S as S2, m, l } from "./chunks/index-Ckp6Xz_9.es.js";
1
+ import { a, E, b, S, d, i, j, n, r, p, q } from "./chunks/super-editor.es-83k0FoXr.es.js";
2
+ import { D, H, P, S as S2, m, l } from "./chunks/index-_cWKslAS.es.js";
3
3
  import { B } from "./chunks/blank-docx-ABm6XYAA.es.js";
4
4
  export {
5
5
  a as AnnotatorHelpers,
@@ -35388,6 +35388,12 @@ Please report this to https://github.com/markedjs/marked.`, e) {
35388
35388
  if (!newRelationships?.length) return existingRelationships;
35389
35389
  let largestId = getLargestRelationshipId(existingRelationships);
35390
35390
  const seenIds = new Set(existingRelationships.map((rel) => rel?.attributes?.Id).filter(Boolean));
35391
+ for (const rel of newRelationships) {
35392
+ const id = rel?.attributes?.Id;
35393
+ if (!id || seenIds.has(id)) continue;
35394
+ const numeric = Number(String(id).replace(REL_ID_NUMERIC_PATTERN, ""));
35395
+ if (Number.isFinite(numeric) && numeric > largestId) largestId = numeric;
35396
+ }
35391
35397
  const additions = [];
35392
35398
  newRelationships.forEach((rel) => {
35393
35399
  if (!rel?.attributes) return;
@@ -35395,13 +35401,22 @@ Please report this to https://github.com/markedjs/marked.`, e) {
35395
35401
  const currentId = attributes.Id || "";
35396
35402
  attributes.Target = attributes?.Target?.replace(/&/g, "&");
35397
35403
  const existingTarget = existingRelationships.find((el) => el.attributes.Target === attributes.Target);
35398
- const isMedia = attributes.Target?.startsWith("media/");
35404
+ attributes.Target?.startsWith("media/");
35399
35405
  const isNewHyperlink = attributes.Type === HYPERLINK_RELATIONSHIP_TYPE && currentId.length > 6;
35400
35406
  const isNewHeadFoot = (attributes.Type === HEADER_RELATIONSHIP_TYPE || attributes.Type === FOOTER_RELATIONSHIP_TYPE) && currentId.length > 6;
35401
35407
  const hasSeenId = currentId && seenIds.has(currentId);
35402
- const shouldSkip2 = !isNewHyperlink && !isNewHeadFoot && (hasSeenId || existingTarget);
35403
- if (shouldSkip2) return;
35404
- attributes.Id = currentId.length > 6 || isMedia ? currentId : `rId${++largestId}`;
35408
+ if (!isNewHyperlink && !isNewHeadFoot && existingTarget) return;
35409
+ if (!currentId || hasSeenId) {
35410
+ let candidate = Math.max(largestId, 1);
35411
+ while (seenIds.has(`rId${candidate}`)) {
35412
+ candidate += 1;
35413
+ }
35414
+ attributes.Id = `rId${candidate}`;
35415
+ largestId = candidate;
35416
+ } else {
35417
+ const numeric = Number(String(currentId).replace(REL_ID_NUMERIC_PATTERN, ""));
35418
+ if (Number.isFinite(numeric) && numeric > largestId) largestId = numeric;
35419
+ }
35405
35420
  seenIds.add(attributes.Id);
35406
35421
  additions.push(rel);
35407
35422
  });
@@ -35615,7 +35630,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
35615
35630
  static getStoredSuperdocVersion(docx) {
35616
35631
  return _SuperConverter2.getStoredCustomProperty(docx, "SuperdocVersion");
35617
35632
  }
35618
- static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.29.0-next.8") {
35633
+ static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.29.0") {
35619
35634
  return _SuperConverter2.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
35620
35635
  }
35621
35636
  /**
@@ -61545,7 +61560,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
61545
61560
  { default: remarkStringify2 },
61546
61561
  { default: remarkGfm2 }
61547
61562
  ] = await Promise.all([
61548
- Promise.resolve().then(() => indexD08c3nkG),
61563
+ Promise.resolve().then(() => index373DqHu6),
61549
61564
  Promise.resolve().then(() => indexDRCvimau),
61550
61565
  Promise.resolve().then(() => indexC_x_N6Uh),
61551
61566
  Promise.resolve().then(() => indexD_sWOSiG),
@@ -61763,7 +61778,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
61763
61778
  * @returns {Object | void} Migration results
61764
61779
  */
61765
61780
  processCollaborationMigrations() {
61766
- console.debug("[checkVersionMigrations] Current editor version", "0.29.0-next.8");
61781
+ console.debug("[checkVersionMigrations] Current editor version", "0.29.0");
61767
61782
  if (!this.options.ydoc) return;
61768
61783
  const metaMap = this.options.ydoc.getMap("meta");
61769
61784
  let docVersion = metaMap.get("version");
@@ -117720,7 +117735,7 @@ ${style2}
117720
117735
  this.config.colors = shuffleArray(this.config.colors);
117721
117736
  this.userColorMap = /* @__PURE__ */ new Map();
117722
117737
  this.colorIndex = 0;
117723
- this.version = "0.29.0-next.8";
117738
+ this.version = "0.29.0";
117724
117739
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
117725
117740
  this.superdocId = config2.superdocId || v4();
117726
117741
  this.colors = this.config.colors;
@@ -120120,7 +120135,7 @@ ${style2}
120120
120135
  value && typeof value === "object" && "byteLength" in value && "byteOffset" in value
120121
120136
  );
120122
120137
  }
120123
- const indexD08c3nkG = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
120138
+ const index373DqHu6 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
120124
120139
  __proto__: null,
120125
120140
  unified
120126
120141
  }, Symbol.toStringTag, { value: "Module" }));