@harbour-enterprises/superdoc 1.5.0-next.3 → 1.5.0-next.5

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,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-BmEbRo6D.cjs");
5
- const index = require("./index-BxgDTX0H.cjs");
4
+ const superdoc = require("./index-H9yQJDe_.cjs");
5
+ const index = require("./index-hAbdauPd.cjs");
6
6
  function self(vars) {
7
7
  const {
8
8
  opacityDisabled,
@@ -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-CebB-tdL.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-CuBynP0z.es.js";
2
+ import { N as NBaseLoading, u as useSuperdocStore, s as storeToRefs, a as useSelection } from "./index-ARobn9PY.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-u4_Ee95y.es.js";
4
4
  function self(vars) {
5
5
  const {
6
6
  opacityDisabled,
@@ -29679,10 +29679,10 @@ function ensureSectionProperties(bodyNode) {
29679
29679
  function getStyleDefinitions(docx) {
29680
29680
  const styles = docx["word/styles.xml"];
29681
29681
  if (!styles) return [];
29682
- const { elements } = styles.elements[0];
29682
+ const elements = styles.elements?.[0]?.elements ?? [];
29683
29683
  const styleDefinitions = elements.filter((el) => el.name === "w:style");
29684
29684
  const latentStyles = elements.find((el) => el.name === "w:latentStyles");
29685
- latentStyles?.elements.forEach((el) => {
29685
+ (latentStyles?.elements ?? []).forEach((el) => {
29686
29686
  const { attributes } = el;
29687
29687
  styleDefinitions.find((style) => style.attributes["w:styleId"] === attributes["w:name"]);
29688
29688
  });
@@ -31565,7 +31565,7 @@ class SuperConverter {
31565
31565
  static getStoredSuperdocVersion(docx) {
31566
31566
  return SuperConverter.getStoredCustomProperty(docx, "SuperdocVersion");
31567
31567
  }
31568
- static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.5.0-next.3") {
31568
+ static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.5.0-next.5") {
31569
31569
  return SuperConverter.setStoredCustomProperty(docx, "SuperdocVersion", version, false);
31570
31570
  }
31571
31571
  /**
@@ -29678,10 +29678,10 @@ function ensureSectionProperties(bodyNode) {
29678
29678
  function getStyleDefinitions(docx) {
29679
29679
  const styles = docx["word/styles.xml"];
29680
29680
  if (!styles) return [];
29681
- const { elements } = styles.elements[0];
29681
+ const elements = styles.elements?.[0]?.elements ?? [];
29682
29682
  const styleDefinitions = elements.filter((el) => el.name === "w:style");
29683
29683
  const latentStyles = elements.find((el) => el.name === "w:latentStyles");
29684
- latentStyles?.elements.forEach((el) => {
29684
+ (latentStyles?.elements ?? []).forEach((el) => {
29685
29685
  const { attributes } = el;
29686
29686
  styleDefinitions.find((style) => style.attributes["w:styleId"] === attributes["w:name"]);
29687
29687
  });
@@ -31564,7 +31564,7 @@ class SuperConverter {
31564
31564
  static getStoredSuperdocVersion(docx) {
31565
31565
  return SuperConverter.getStoredCustomProperty(docx, "SuperdocVersion");
31566
31566
  }
31567
- static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.5.0-next.3") {
31567
+ static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.5.0-next.5") {
31568
31568
  return SuperConverter.setStoredCustomProperty(docx, "SuperdocVersion", version, false);
31569
31569
  }
31570
31570
  /**
@@ -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-CuBynP0z.es.js";
2
- import "./SuperConverter-9G1UwVBf.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-u4_Ee95y.es.js";
2
+ import "./SuperConverter-BYBgTS6T.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-BWqysjFE.es.js"));
7516
+ const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-s90Ubj4h.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.5.0-next.3";
8470
+ this.version = "1.5.0-next.5";
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-BxgDTX0H.cjs");
3
- require("./SuperConverter-B35ywdgG.cjs");
2
+ const index = require("./index-hAbdauPd.cjs");
3
+ require("./SuperConverter--XoKPr84.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-CkolHMrf.cjs")));
7533
+ const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-BsNt5K_V.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.5.0-next.3";
8487
+ this.version = "1.5.0-next.5";
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,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-B35ywdgG.cjs");
4
+ const superEditor_converter = require("./SuperConverter--XoKPr84.cjs");
5
5
  const vue = require("./vue-De9wkgLl.cjs");
6
6
  require("./jszip.min-BPh2MMAa.cjs");
7
7
  const eventemitter3 = require("./eventemitter3-BQuRcMPI.cjs");
@@ -12334,6 +12334,13 @@ const markInsertion = ({ tr, from: from3, to, user, date }) => {
12334
12334
  return insertionMark;
12335
12335
  };
12336
12336
  const markDeletion = ({ tr, from: from3, to, user, date, id: providedId }) => {
12337
+ const normalizeEmail2 = (value) => typeof value === "string" ? value.trim().toLowerCase() : "";
12338
+ const userEmail = normalizeEmail2(user?.email);
12339
+ const isOwnInsertion = (mark) => {
12340
+ const authorEmail = normalizeEmail2(mark?.attrs?.authorEmail);
12341
+ if (!authorEmail || !userEmail) return true;
12342
+ return authorEmail === userEmail;
12343
+ };
12337
12344
  let trackedMark = findTrackedMarkBetween({
12338
12345
  tr,
12339
12346
  from: from3,
@@ -12362,7 +12369,8 @@ const markDeletion = ({ tr, from: from3, to, user, date, id: providedId }) => {
12362
12369
  if (node.type.name.includes("table")) {
12363
12370
  return;
12364
12371
  }
12365
- if (node.isInline && node.marks.find((mark) => mark.type.name === superEditor_converter.TrackInsertMarkName && mark.attrs.authorEmail === user.email)) {
12372
+ const insertMark = node.marks.find((mark) => mark.type.name === superEditor_converter.TrackInsertMarkName);
12373
+ if (node.isInline && insertMark && isOwnInsertion(insertMark)) {
12366
12374
  const removeStep = new superEditor_converter.ReplaceStep(
12367
12375
  deletionMap.map(Math.max(from3, pos)),
12368
12376
  deletionMap.map(Math.min(to, pos + node.nodeSize)),
@@ -15516,7 +15524,7 @@ const canUseDOM = () => {
15516
15524
  return false;
15517
15525
  }
15518
15526
  };
15519
- const summaryVersion = "1.5.0-next.3";
15527
+ const summaryVersion = "1.5.0-next.5";
15520
15528
  const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
15521
15529
  const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
15522
15530
  function mapAttributes(attrs) {
@@ -18173,7 +18181,7 @@ class Editor extends EventEmitter {
18173
18181
  * Process collaboration migrations
18174
18182
  */
18175
18183
  processCollaborationMigrations() {
18176
- console.debug("[checkVersionMigrations] Current editor version", "1.5.0-next.3");
18184
+ console.debug("[checkVersionMigrations] Current editor version", "1.5.0-next.5");
18177
18185
  if (!this.options.ydoc) return;
18178
18186
  const metaMap = this.options.ydoc.getMap("meta");
18179
18187
  let docVersion = metaMap.get("version");
@@ -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-9G1UwVBf.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-BYBgTS6T.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 h$1, $ 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";
@@ -12317,6 +12317,13 @@ const markInsertion = ({ tr, from: from3, to, user, date }) => {
12317
12317
  return insertionMark;
12318
12318
  };
12319
12319
  const markDeletion = ({ tr, from: from3, to, user, date, id: providedId }) => {
12320
+ const normalizeEmail2 = (value) => typeof value === "string" ? value.trim().toLowerCase() : "";
12321
+ const userEmail = normalizeEmail2(user?.email);
12322
+ const isOwnInsertion = (mark) => {
12323
+ const authorEmail = normalizeEmail2(mark?.attrs?.authorEmail);
12324
+ if (!authorEmail || !userEmail) return true;
12325
+ return authorEmail === userEmail;
12326
+ };
12320
12327
  let trackedMark = findTrackedMarkBetween({
12321
12328
  tr,
12322
12329
  from: from3,
@@ -12345,7 +12352,8 @@ const markDeletion = ({ tr, from: from3, to, user, date, id: providedId }) => {
12345
12352
  if (node.type.name.includes("table")) {
12346
12353
  return;
12347
12354
  }
12348
- if (node.isInline && node.marks.find((mark) => mark.type.name === TrackInsertMarkName$1 && mark.attrs.authorEmail === user.email)) {
12355
+ const insertMark = node.marks.find((mark) => mark.type.name === TrackInsertMarkName$1);
12356
+ if (node.isInline && insertMark && isOwnInsertion(insertMark)) {
12349
12357
  const removeStep = new ReplaceStep(
12350
12358
  deletionMap.map(Math.max(from3, pos)),
12351
12359
  deletionMap.map(Math.min(to, pos + node.nodeSize)),
@@ -15499,7 +15507,7 @@ const canUseDOM = () => {
15499
15507
  return false;
15500
15508
  }
15501
15509
  };
15502
- const summaryVersion = "1.5.0-next.3";
15510
+ const summaryVersion = "1.5.0-next.5";
15503
15511
  const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
15504
15512
  const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
15505
15513
  function mapAttributes(attrs) {
@@ -18156,7 +18164,7 @@ class Editor extends EventEmitter {
18156
18164
  * Process collaboration migrations
18157
18165
  */
18158
18166
  processCollaborationMigrations() {
18159
- console.debug("[checkVersionMigrations] Current editor version", "1.5.0-next.3");
18167
+ console.debug("[checkVersionMigrations] Current editor version", "1.5.0-next.5");
18160
18168
  if (!this.options.ydoc) return;
18161
18169
  const metaMap = this.options.ydoc.getMap("meta");
18162
18170
  let docVersion = metaMap.get("version");
@@ -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-B35ywdgG.cjs");
5
+ const superEditor_converter = require("../chunks/SuperConverter--XoKPr84.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-9G1UwVBf.es.js";
3
+ import { S } from "../chunks/SuperConverter-BYBgTS6T.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-BxgDTX0H.cjs");
3
+ const index = require("./chunks/index-hAbdauPd.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-B35ywdgG.cjs");
7
+ const superEditor_converter = require("./chunks/SuperConverter--XoKPr84.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-CuBynP0z.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-CuBynP0z.es.js";
1
+ import { ax as Node, ay as Mark } from "./chunks/index-u4_Ee95y.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-u4_Ee95y.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-9G1UwVBf.es.js";
6
+ import { S, r } from "./chunks/SuperConverter-BYBgTS6T.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-BxgDTX0H.cjs");
4
- const superdoc = require("./chunks/index-BmEbRo6D.cjs");
5
- const superEditor_converter = require("./chunks/SuperConverter-B35ywdgG.cjs");
3
+ const index = require("./chunks/index-hAbdauPd.cjs");
4
+ const superdoc = require("./chunks/index-H9yQJDe_.cjs");
5
+ const superEditor_converter = require("./chunks/SuperConverter--XoKPr84.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-CuBynP0z.es.js";
2
- import { D, H, P, S, c } from "./chunks/index-CebB-tdL.es.js";
3
- import { S as S2, r } from "./chunks/SuperConverter-9G1UwVBf.es.js";
1
+ import { au, ab, aw, av, as, a7, ac, ar, at } from "./chunks/index-u4_Ee95y.es.js";
2
+ import { D, H, P, S, c } from "./chunks/index-ARobn9PY.es.js";
3
+ import { S as S2, r } from "./chunks/SuperConverter-BYBgTS6T.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";
@@ -35106,10 +35106,10 @@ Please report this to https://github.com/markedjs/marked.`, e) {
35106
35106
  function getStyleDefinitions(docx) {
35107
35107
  const styles = docx["word/styles.xml"];
35108
35108
  if (!styles) return [];
35109
- const { elements } = styles.elements[0];
35109
+ const elements = styles.elements?.[0]?.elements ?? [];
35110
35110
  const styleDefinitions = elements.filter((el) => el.name === "w:style");
35111
35111
  const latentStyles = elements.find((el) => el.name === "w:latentStyles");
35112
- latentStyles?.elements.forEach((el) => {
35112
+ (latentStyles?.elements ?? []).forEach((el) => {
35113
35113
  const { attributes } = el;
35114
35114
  styleDefinitions.find((style2) => style2.attributes["w:styleId"] === attributes["w:name"]);
35115
35115
  });
@@ -36992,7 +36992,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
36992
36992
  static getStoredSuperdocVersion(docx) {
36993
36993
  return SuperConverter.getStoredCustomProperty(docx, "SuperdocVersion");
36994
36994
  }
36995
- static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "1.5.0-next.3") {
36995
+ static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "1.5.0-next.5") {
36996
36996
  return SuperConverter.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
36997
36997
  }
36998
36998
  /**
@@ -49220,6 +49220,13 @@ Please report this to https://github.com/markedjs/marked.`, e) {
49220
49220
  return insertionMark;
49221
49221
  };
49222
49222
  const markDeletion = ({ tr, from: from2, to, user, date, id: providedId }) => {
49223
+ const normalizeEmail2 = (value) => typeof value === "string" ? value.trim().toLowerCase() : "";
49224
+ const userEmail = normalizeEmail2(user?.email);
49225
+ const isOwnInsertion = (mark2) => {
49226
+ const authorEmail = normalizeEmail2(mark2?.attrs?.authorEmail);
49227
+ if (!authorEmail || !userEmail) return true;
49228
+ return authorEmail === userEmail;
49229
+ };
49223
49230
  let trackedMark = findTrackedMarkBetween({
49224
49231
  tr,
49225
49232
  from: from2,
@@ -49248,7 +49255,8 @@ Please report this to https://github.com/markedjs/marked.`, e) {
49248
49255
  if (node2.type.name.includes("table")) {
49249
49256
  return;
49250
49257
  }
49251
- if (node2.isInline && node2.marks.find((mark2) => mark2.type.name === TrackInsertMarkName$1 && mark2.attrs.authorEmail === user.email)) {
49258
+ const insertMark = node2.marks.find((mark2) => mark2.type.name === TrackInsertMarkName$1);
49259
+ if (node2.isInline && insertMark && isOwnInsertion(insertMark)) {
49252
49260
  const removeStep = new ReplaceStep(
49253
49261
  deletionMap.map(Math.max(from2, pos)),
49254
49262
  deletionMap.map(Math.min(to, pos + node2.nodeSize)),
@@ -62867,7 +62875,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
62867
62875
  return false;
62868
62876
  }
62869
62877
  };
62870
- const summaryVersion = "1.5.0-next.3";
62878
+ const summaryVersion = "1.5.0-next.5";
62871
62879
  const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
62872
62880
  const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
62873
62881
  function mapAttributes(attrs) {
@@ -65525,7 +65533,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
65525
65533
  * Process collaboration migrations
65526
65534
  */
65527
65535
  processCollaborationMigrations() {
65528
- console.debug("[checkVersionMigrations] Current editor version", "1.5.0-next.3");
65536
+ console.debug("[checkVersionMigrations] Current editor version", "1.5.0-next.5");
65529
65537
  if (!this.options.ydoc) return;
65530
65538
  const metaMap = this.options.ydoc.getMap("meta");
65531
65539
  let docVersion = metaMap.get("version");
@@ -146929,7 +146937,7 @@ ${reason}`);
146929
146937
  this.config.colors = shuffleArray(this.config.colors);
146930
146938
  this.userColorMap = /* @__PURE__ */ new Map();
146931
146939
  this.colorIndex = 0;
146932
- this.version = "1.5.0-next.3";
146940
+ this.version = "1.5.0-next.5";
146933
146941
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
146934
146942
  this.superdocId = config2.superdocId || v4();
146935
146943
  this.colors = this.config.colors;