@harbour-enterprises/superdoc 0.16.0 → 0.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/chunks/{PdfViewer-BmqyoC--.cjs → PdfViewer-BBIYn1YM.cjs} +1 -1
  2. package/dist/chunks/{PdfViewer-DBFz-QG3.es.js → PdfViewer-ee7q_t8z.es.js} +1 -1
  3. package/dist/chunks/{index-hUWkmmRr.es.js → index-D5yqCRxp.es.js} +3 -4
  4. package/dist/chunks/{index-D4GRSFSL.cjs → index-_XS50pXm.cjs} +3 -4
  5. package/dist/chunks/{super-editor.es-D9AbKjxn.cjs → super-editor.es-D00y_cgR.cjs} +57 -25
  6. package/dist/chunks/{super-editor.es-Cr04uNpJ.es.js → super-editor.es-ICO-Dcg6.es.js} +57 -25
  7. package/dist/core/SuperDoc.d.ts.map +1 -1
  8. package/dist/super-editor/ai-writer.es.js +2 -2
  9. package/dist/super-editor/chunks/{converter-BNYWJQ3Z.js → converter-BPlR2rf0.js} +2 -2
  10. package/dist/super-editor/chunks/{docx-zipper-cuAAfaAG.js → docx-zipper-DpSB-3Mq.js} +50 -19
  11. package/dist/super-editor/chunks/{editor-BgjW_9Xc.js → editor-BPPR4jya.js} +8 -7
  12. package/dist/super-editor/chunks/{toolbar-Cs4FPr9j.js → toolbar-B6F9-coR.js} +2 -2
  13. package/dist/super-editor/converter.es.js +1 -1
  14. package/dist/super-editor/docx-zipper.es.js +2 -2
  15. package/dist/super-editor/editor.es.js +3 -3
  16. package/dist/super-editor/file-zipper.es.js +1 -1
  17. package/dist/super-editor/src/core/encoding-helpers.d.ts +27 -0
  18. package/dist/super-editor/src/extensions/block-node/block-node.d.ts +2 -1
  19. package/dist/super-editor/super-editor.es.js +6 -6
  20. package/dist/super-editor/toolbar.es.js +2 -2
  21. package/dist/super-editor.cjs +1 -1
  22. package/dist/super-editor.es.js +1 -1
  23. package/dist/superdoc.cjs +2 -2
  24. package/dist/superdoc.es.js +2 -2
  25. package/dist/superdoc.umd.js +58 -27
  26. package/dist/superdoc.umd.js.map +1 -1
  27. 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-B6WOnFdF.cjs");
4
- const superdoc = require("./index-D4GRSFSL.cjs");
4
+ const superdoc = require("./index-_XS50pXm.cjs");
5
5
  function self(vars) {
6
6
  const {
7
7
  opacityDisabled,
@@ -1,5 +1,5 @@
1
1
  import { m as defineComponent, B as h, O as Transition, $ as process$1, I as watchEffect, d as computed, r as ref, j as onMounted, W as onUnmounted, c as createElementBlock, o as openBlock, a as createBaseVNode, f as createCommentVNode, v as createVNode, x as unref } from "./vue-xvq3uP6K.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-hUWkmmRr.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-D5yqCRxp.es.js";
3
3
  function self(vars) {
4
4
  const {
5
5
  opacityDisabled,
@@ -1,4 +1,4 @@
1
- import { q as index$1, 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-Cr04uNpJ.es.js";
1
+ import { q as index$1, 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-ICO-Dcg6.es.js";
2
2
  import { a0 as effectScope, r as ref, _ as markRaw, $ as process$1, a1 as toRaw, d as computed, a2 as isRef, a3 as isReactive, C as toRef, i as inject, p as getCurrentInstance, l as watch, x as unref, a4 as hasInjectionContext, M as reactive, s as nextTick, a5 as getCurrentScope, a6 as onScopeDispose, a7 as toRefs, g as global$1, J as shallowRef, N as readonly, j as onMounted, k as onBeforeUnmount, h as onBeforeMount, S as onActivated, q as onDeactivated, z as createTextVNode, F as Fragment, Q as Comment, m as defineComponent, D as provide, H as withDirectives, B as h, U as Teleport, R as renderSlot, V as isVNode, I as watchEffect, O as Transition, a8 as TransitionGroup, E as mergeProps, P as vShow, G as cloneVNode, T as Text, c as createElementBlock, o as openBlock, t as toDisplayString, v as createVNode, y as withCtx, a as createBaseVNode, A as normalizeStyle, f as createCommentVNode, u as createBlock, w as withModifiers, n as normalizeClass, a9 as resolveDirective, e as renderList, b as createApp, X as resolveDynamicComponent, aa as defineAsyncComponent } from "./vue-xvq3uP6K.es.js";
3
3
  import { B as Buffer$2 } from "./jszip-DXHu60h9.es.js";
4
4
  import { B as BlankDOCX } from "./blank-docx-iwdyG9RH.es.js";
@@ -17249,7 +17249,7 @@ const _sfc_main = {
17249
17249
  __name: "SuperDoc",
17250
17250
  emits: ["selection-update"],
17251
17251
  setup(__props, { emit: __emit }) {
17252
- const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-DBFz-QG3.es.js"));
17252
+ const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-ee7q_t8z.es.js"));
17253
17253
  const superdocStore = useSuperdocStore();
17254
17254
  const commentsStore = useCommentsStore();
17255
17255
  const {
@@ -17852,7 +17852,6 @@ class SuperDoc extends EventEmitter {
17852
17852
  toolbarIcons: {},
17853
17853
  toolbarTexts: {},
17854
17854
  isDev: false,
17855
- // telemetry config
17856
17855
  telemetry: null,
17857
17856
  // Events
17858
17857
  onEditorBeforeCreate: () => null,
@@ -17892,7 +17891,7 @@ class SuperDoc extends EventEmitter {
17892
17891
  this.config.colors = shuffleArray(this.config.colors);
17893
17892
  this.userColorMap = /* @__PURE__ */ new Map();
17894
17893
  this.colorIndex = 0;
17895
- this.version = "0.16.0-next.6";
17894
+ this.version = "0.16.1";
17896
17895
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
17897
17896
  this.superdocId = config.superdocId || v4();
17898
17897
  this.colors = this.config.colors;
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const superEditor_es = require("./super-editor.es-D9AbKjxn.cjs");
2
+ const superEditor_es = require("./super-editor.es-D00y_cgR.cjs");
3
3
  const vue = require("./vue-B6WOnFdF.cjs");
4
4
  const jszip = require("./jszip-DmmUnPkH.cjs");
5
5
  const blankDocx = require("./blank-docx-CPqX9RF5.cjs");
@@ -17266,7 +17266,7 @@ const _sfc_main = {
17266
17266
  __name: "SuperDoc",
17267
17267
  emits: ["selection-update"],
17268
17268
  setup(__props, { emit: __emit }) {
17269
- const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-BmqyoC--.cjs")));
17269
+ const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-BBIYn1YM.cjs")));
17270
17270
  const superdocStore = useSuperdocStore();
17271
17271
  const commentsStore = useCommentsStore();
17272
17272
  const {
@@ -17869,7 +17869,6 @@ class SuperDoc extends eventemitter3.EventEmitter {
17869
17869
  toolbarIcons: {},
17870
17870
  toolbarTexts: {},
17871
17871
  isDev: false,
17872
- // telemetry config
17873
17872
  telemetry: null,
17874
17873
  // Events
17875
17874
  onEditorBeforeCreate: () => null,
@@ -17909,7 +17908,7 @@ class SuperDoc extends eventemitter3.EventEmitter {
17909
17908
  this.config.colors = shuffleArray(this.config.colors);
17910
17909
  this.userColorMap = /* @__PURE__ */ new Map();
17911
17910
  this.colorIndex = 0;
17912
- this.version = "0.16.0-next.6";
17911
+ this.version = "0.16.1";
17913
17912
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
17914
17913
  this.superdocId = config.superdocId || uuid.v4();
17915
17914
  this.colors = this.config.colors;
@@ -30055,7 +30055,7 @@ const _SuperConverter = class _SuperConverter2 {
30055
30055
  return;
30056
30056
  }
30057
30057
  }
30058
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.16.0-next.6") {
30058
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.16.1") {
30059
30059
  const customLocation = "docProps/custom.xml";
30060
30060
  if (!docx[customLocation]) {
30061
30061
  docx[customLocation] = generateCustomXml();
@@ -30537,7 +30537,7 @@ function storeSuperdocVersion(docx) {
30537
30537
  function generateCustomXml() {
30538
30538
  return DEFAULT_CUSTOM_XML;
30539
30539
  }
30540
- function generateSuperdocVersion(pid = 2, version2 = "0.16.0-next.6") {
30540
+ function generateSuperdocVersion(pid = 2, version2 = "0.16.1") {
30541
30541
  return {
30542
30542
  type: "element",
30543
30543
  name: "property",
@@ -32876,6 +32876,40 @@ function requireJszip_min() {
32876
32876
  }
32877
32877
  var jszip_minExports = requireJszip_min();
32878
32878
  const JSZip = /* @__PURE__ */ getDefaultExportFromCjs$1(jszip_minExports);
32879
+ const isXmlLike = (name) => /\.xml$|\.rels$/i.test(name);
32880
+ function sniffEncoding(u8) {
32881
+ if (u8.length >= 2) {
32882
+ const b0 = u8[0], b1 = u8[1];
32883
+ if (b0 === 255 && b1 === 254) return "utf-16le";
32884
+ if (b0 === 254 && b1 === 255) return "utf-16be";
32885
+ }
32886
+ let nul = 0;
32887
+ for (let i = 0; i < Math.min(64, u8.length); i++) if (u8[i] === 0) nul++;
32888
+ if (nul > 16) return "utf-16le";
32889
+ return "utf-8";
32890
+ }
32891
+ function stripBOM(str) {
32892
+ return str && str.charCodeAt(0) === 65279 ? str.slice(1) : str;
32893
+ }
32894
+ function ensureXmlString(content) {
32895
+ if (typeof content === "string") return stripBOM(content);
32896
+ let u8 = null;
32897
+ if (content && typeof content === "object") {
32898
+ if (content instanceof Uint8Array) {
32899
+ u8 = content;
32900
+ } else if (typeof Buffer2 !== "undefined" && Buffer2.isBuffer && Buffer2.isBuffer(content)) {
32901
+ u8 = new Uint8Array(content.buffer, content.byteOffset, content.byteLength);
32902
+ } else if (ArrayBuffer.isView && ArrayBuffer.isView(content)) {
32903
+ u8 = new Uint8Array(content.buffer, content.byteOffset, content.byteLength);
32904
+ } else if (content.constructor && (content instanceof ArrayBuffer || content.constructor.name === "ArrayBuffer")) {
32905
+ u8 = new Uint8Array(content);
32906
+ }
32907
+ }
32908
+ if (!u8) throw new Error("Unsupported content type for XML");
32909
+ const enc = sniffEncoding(u8);
32910
+ let xml = new TextDecoder(enc).decode(u8);
32911
+ return stripBOM(xml);
32912
+ }
32879
32913
  class DocxZipper {
32880
32914
  constructor(params2 = {}) {
32881
32915
  this.debug = params2.debug || false;
@@ -32906,32 +32940,29 @@ class DocxZipper {
32906
32940
  async getDocxData(file, isNode2 = false) {
32907
32941
  const extractedFiles = await this.unzip(file);
32908
32942
  const files = Object.entries(extractedFiles.files);
32909
- const validTypes = ["xml", "rels"];
32910
- for (const file2 of files) {
32911
- const [, zipEntry] = file2;
32912
- if (validTypes.some((validType) => zipEntry.name.endsWith(validType))) {
32913
- const content = await zipEntry.async("string");
32914
- this.files.push({
32915
- name: zipEntry.name,
32916
- content
32917
- });
32918
- } else if (zipEntry.name.startsWith("word/media") && zipEntry.name !== "word/media/" || zipEntry.name.startsWith("media") && zipEntry.name !== "media/") {
32943
+ for (const [, zipEntry] of files) {
32944
+ const name = zipEntry.name;
32945
+ if (isXmlLike(name)) {
32946
+ const u8 = await zipEntry.async("uint8array");
32947
+ const content = ensureXmlString(u8);
32948
+ this.files.push({ name, content });
32949
+ } else if (name.startsWith("word/media") && name !== "word/media/" || name.startsWith("media") && name !== "media/") {
32919
32950
  if (isNode2) {
32920
32951
  const buffer2 = await zipEntry.async("nodebuffer");
32921
32952
  const fileBase64 = buffer2.toString("base64");
32922
- this.mediaFiles[zipEntry.name] = fileBase64;
32953
+ this.mediaFiles[name] = fileBase64;
32923
32954
  } else {
32924
32955
  const blob = await zipEntry.async("blob");
32925
- const extension = this.getFileExtension(zipEntry.name);
32956
+ const extension = this.getFileExtension(name);
32926
32957
  const fileBase64 = await zipEntry.async("base64");
32927
- this.mediaFiles[zipEntry.name] = `data:image/${extension};base64,${fileBase64}`;
32928
- const file3 = new File([blob], zipEntry.name, { type: blob.type });
32929
- const imageUrl = URL.createObjectURL(file3);
32930
- this.media[zipEntry.name] = imageUrl;
32958
+ this.mediaFiles[name] = `data:image/${extension};base64,${fileBase64}`;
32959
+ const fileObj = new File([blob], name, { type: blob.type });
32960
+ const imageUrl = URL.createObjectURL(fileObj);
32961
+ this.media[name] = imageUrl;
32931
32962
  }
32932
- } else if (zipEntry.name.startsWith("word/fonts") && zipEntry.name !== "word/fonts/") {
32963
+ } else if (name.startsWith("word/fonts") && name !== "word/fonts/") {
32933
32964
  const uint8array = await zipEntry.async("uint8array");
32934
- this.fonts[zipEntry.name] = uint8array;
32965
+ this.fonts[name] = uint8array;
32935
32966
  }
32936
32967
  }
32937
32968
  return this.files;
@@ -46595,7 +46626,6 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
46595
46626
  onListDefinitionsChange: () => null,
46596
46627
  // async (file) => url;
46597
46628
  handleImageUpload: null,
46598
- // telemetry
46599
46629
  telemetry: null,
46600
46630
  // Docx xml updated by User
46601
46631
  customUpdatedFiles: {},
@@ -47276,7 +47306,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
47276
47306
  * @returns {Object | void} Migration results
47277
47307
  */
47278
47308
  processCollaborationMigrations() {
47279
- console.debug("[checkVersionMigrations] Current editor version", "0.16.0-next.6");
47309
+ console.debug("[checkVersionMigrations] Current editor version", "0.16.1");
47280
47310
  if (!this.options.ydoc) return;
47281
47311
  const metaMap = this.options.ydoc.getMap("meta");
47282
47312
  let docVersion = metaMap.get("version");
@@ -57953,11 +57983,10 @@ const BlockNode = Extension.create({
57953
57983
  appendTransaction: (transactions, _oldState, newState) => {
57954
57984
  if (hasInitialized && !transactions.some((tr2) => tr2.docChanged)) return null;
57955
57985
  if (hasInitialized && !checkForNewBlockNodesInTrs(transactions)) return null;
57956
- let tr = null;
57986
+ const { tr } = newState;
57957
57987
  let changed = false;
57958
57988
  newState.doc.descendants((node2, pos) => {
57959
57989
  if (!nodeAllowsSdBlockIdAttr(node2) || !nodeNeedsSdBlockId(node2)) return null;
57960
- tr = tr ?? newState.tr;
57961
57990
  tr.setNodeMarkup(
57962
57991
  pos,
57963
57992
  void 0,
@@ -57969,7 +57998,10 @@ const BlockNode = Extension.create({
57969
57998
  );
57970
57999
  changed = true;
57971
58000
  });
57972
- if (changed && !hasInitialized) hasInitialized = true;
58001
+ if (changed && !hasInitialized) {
58002
+ hasInitialized = true;
58003
+ }
58004
+ tr.setStoredMarks(newState.tr.storedMarks);
57973
58005
  return changed ? tr : null;
57974
58006
  }
57975
58007
  })
@@ -30038,7 +30038,7 @@ const _SuperConverter = class _SuperConverter2 {
30038
30038
  return;
30039
30039
  }
30040
30040
  }
30041
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.16.0-next.6") {
30041
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.16.1") {
30042
30042
  const customLocation = "docProps/custom.xml";
30043
30043
  if (!docx[customLocation]) {
30044
30044
  docx[customLocation] = generateCustomXml();
@@ -30520,7 +30520,7 @@ function storeSuperdocVersion(docx) {
30520
30520
  function generateCustomXml() {
30521
30521
  return DEFAULT_CUSTOM_XML;
30522
30522
  }
30523
- function generateSuperdocVersion(pid = 2, version2 = "0.16.0-next.6") {
30523
+ function generateSuperdocVersion(pid = 2, version2 = "0.16.1") {
30524
30524
  return {
30525
30525
  type: "element",
30526
30526
  name: "property",
@@ -32859,6 +32859,40 @@ function requireJszip_min() {
32859
32859
  }
32860
32860
  var jszip_minExports = requireJszip_min();
32861
32861
  const JSZip = /* @__PURE__ */ getDefaultExportFromCjs$1(jszip_minExports);
32862
+ const isXmlLike = (name) => /\.xml$|\.rels$/i.test(name);
32863
+ function sniffEncoding(u8) {
32864
+ if (u8.length >= 2) {
32865
+ const b0 = u8[0], b1 = u8[1];
32866
+ if (b0 === 255 && b1 === 254) return "utf-16le";
32867
+ if (b0 === 254 && b1 === 255) return "utf-16be";
32868
+ }
32869
+ let nul = 0;
32870
+ for (let i = 0; i < Math.min(64, u8.length); i++) if (u8[i] === 0) nul++;
32871
+ if (nul > 16) return "utf-16le";
32872
+ return "utf-8";
32873
+ }
32874
+ function stripBOM(str) {
32875
+ return str && str.charCodeAt(0) === 65279 ? str.slice(1) : str;
32876
+ }
32877
+ function ensureXmlString(content) {
32878
+ if (typeof content === "string") return stripBOM(content);
32879
+ let u8 = null;
32880
+ if (content && typeof content === "object") {
32881
+ if (content instanceof Uint8Array) {
32882
+ u8 = content;
32883
+ } else if (typeof Buffer2 !== "undefined" && Buffer2.isBuffer && Buffer2.isBuffer(content)) {
32884
+ u8 = new Uint8Array(content.buffer, content.byteOffset, content.byteLength);
32885
+ } else if (ArrayBuffer.isView && ArrayBuffer.isView(content)) {
32886
+ u8 = new Uint8Array(content.buffer, content.byteOffset, content.byteLength);
32887
+ } else if (content.constructor && (content instanceof ArrayBuffer || content.constructor.name === "ArrayBuffer")) {
32888
+ u8 = new Uint8Array(content);
32889
+ }
32890
+ }
32891
+ if (!u8) throw new Error("Unsupported content type for XML");
32892
+ const enc = sniffEncoding(u8);
32893
+ let xml = new TextDecoder(enc).decode(u8);
32894
+ return stripBOM(xml);
32895
+ }
32862
32896
  class DocxZipper {
32863
32897
  constructor(params2 = {}) {
32864
32898
  this.debug = params2.debug || false;
@@ -32889,32 +32923,29 @@ class DocxZipper {
32889
32923
  async getDocxData(file, isNode2 = false) {
32890
32924
  const extractedFiles = await this.unzip(file);
32891
32925
  const files = Object.entries(extractedFiles.files);
32892
- const validTypes = ["xml", "rels"];
32893
- for (const file2 of files) {
32894
- const [, zipEntry] = file2;
32895
- if (validTypes.some((validType) => zipEntry.name.endsWith(validType))) {
32896
- const content = await zipEntry.async("string");
32897
- this.files.push({
32898
- name: zipEntry.name,
32899
- content
32900
- });
32901
- } else if (zipEntry.name.startsWith("word/media") && zipEntry.name !== "word/media/" || zipEntry.name.startsWith("media") && zipEntry.name !== "media/") {
32926
+ for (const [, zipEntry] of files) {
32927
+ const name = zipEntry.name;
32928
+ if (isXmlLike(name)) {
32929
+ const u8 = await zipEntry.async("uint8array");
32930
+ const content = ensureXmlString(u8);
32931
+ this.files.push({ name, content });
32932
+ } else if (name.startsWith("word/media") && name !== "word/media/" || name.startsWith("media") && name !== "media/") {
32902
32933
  if (isNode2) {
32903
32934
  const buffer2 = await zipEntry.async("nodebuffer");
32904
32935
  const fileBase64 = buffer2.toString("base64");
32905
- this.mediaFiles[zipEntry.name] = fileBase64;
32936
+ this.mediaFiles[name] = fileBase64;
32906
32937
  } else {
32907
32938
  const blob = await zipEntry.async("blob");
32908
- const extension = this.getFileExtension(zipEntry.name);
32939
+ const extension = this.getFileExtension(name);
32909
32940
  const fileBase64 = await zipEntry.async("base64");
32910
- this.mediaFiles[zipEntry.name] = `data:image/${extension};base64,${fileBase64}`;
32911
- const file3 = new File([blob], zipEntry.name, { type: blob.type });
32912
- const imageUrl = URL.createObjectURL(file3);
32913
- this.media[zipEntry.name] = imageUrl;
32941
+ this.mediaFiles[name] = `data:image/${extension};base64,${fileBase64}`;
32942
+ const fileObj = new File([blob], name, { type: blob.type });
32943
+ const imageUrl = URL.createObjectURL(fileObj);
32944
+ this.media[name] = imageUrl;
32914
32945
  }
32915
- } else if (zipEntry.name.startsWith("word/fonts") && zipEntry.name !== "word/fonts/") {
32946
+ } else if (name.startsWith("word/fonts") && name !== "word/fonts/") {
32916
32947
  const uint8array = await zipEntry.async("uint8array");
32917
- this.fonts[zipEntry.name] = uint8array;
32948
+ this.fonts[name] = uint8array;
32918
32949
  }
32919
32950
  }
32920
32951
  return this.files;
@@ -46578,7 +46609,6 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
46578
46609
  onListDefinitionsChange: () => null,
46579
46610
  // async (file) => url;
46580
46611
  handleImageUpload: null,
46581
- // telemetry
46582
46612
  telemetry: null,
46583
46613
  // Docx xml updated by User
46584
46614
  customUpdatedFiles: {},
@@ -47259,7 +47289,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
47259
47289
  * @returns {Object | void} Migration results
47260
47290
  */
47261
47291
  processCollaborationMigrations() {
47262
- console.debug("[checkVersionMigrations] Current editor version", "0.16.0-next.6");
47292
+ console.debug("[checkVersionMigrations] Current editor version", "0.16.1");
47263
47293
  if (!this.options.ydoc) return;
47264
47294
  const metaMap = this.options.ydoc.getMap("meta");
47265
47295
  let docVersion = metaMap.get("version");
@@ -57936,11 +57966,10 @@ const BlockNode = Extension.create({
57936
57966
  appendTransaction: (transactions, _oldState, newState) => {
57937
57967
  if (hasInitialized && !transactions.some((tr2) => tr2.docChanged)) return null;
57938
57968
  if (hasInitialized && !checkForNewBlockNodesInTrs(transactions)) return null;
57939
- let tr = null;
57969
+ const { tr } = newState;
57940
57970
  let changed = false;
57941
57971
  newState.doc.descendants((node2, pos) => {
57942
57972
  if (!nodeAllowsSdBlockIdAttr(node2) || !nodeNeedsSdBlockId(node2)) return null;
57943
- tr = tr ?? newState.tr;
57944
57973
  tr.setNodeMarkup(
57945
57974
  pos,
57946
57975
  void 0,
@@ -57952,7 +57981,10 @@ const BlockNode = Extension.create({
57952
57981
  );
57953
57982
  changed = true;
57954
57983
  });
57955
- if (changed && !hasInitialized) hasInitialized = true;
57984
+ if (changed && !hasInitialized) {
57985
+ hasInitialized = true;
57986
+ }
57987
+ tr.setStoredMarks(newState.tr.storedMarks);
57956
57988
  return changed ? tr : null;
57957
57989
  }
57958
57990
  })
@@ -1 +1 @@
1
- {"version":3,"file":"SuperDoc.d.ts","sourceRoot":"","sources":["../../src/core/SuperDoc.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SuperDoc.d.ts","sourceRoot":"","sources":["../../src/core/SuperDoc.js"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { ref, onMounted, onUnmounted, computed, createElementBlock, openBlock, withModifiers, createElementVNode, withDirectives, unref, vModelText, createCommentVNode, nextTick } from "vue";
2
- import { T as TextSelection } from "./chunks/converter-BNYWJQ3Z.js";
3
- import { _ as _export_sfc } from "./chunks/editor-BgjW_9Xc.js";
2
+ import { T as TextSelection } from "./chunks/converter-BPlR2rf0.js";
3
+ import { _ as _export_sfc } from "./chunks/editor-BPPR4jya.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 = {}) {
@@ -30036,7 +30036,7 @@ const _SuperConverter = class _SuperConverter {
30036
30036
  return;
30037
30037
  }
30038
30038
  }
30039
- static updateDocumentVersion(docx = this.convertedXml, version = "0.16.0-next.6") {
30039
+ static updateDocumentVersion(docx = this.convertedXml, version = "0.16.1") {
30040
30040
  const customLocation = "docProps/custom.xml";
30041
30041
  if (!docx[customLocation]) {
30042
30042
  docx[customLocation] = generateCustomXml();
@@ -30521,7 +30521,7 @@ function storeSuperdocVersion(docx) {
30521
30521
  function generateCustomXml() {
30522
30522
  return DEFAULT_CUSTOM_XML;
30523
30523
  }
30524
- function generateSuperdocVersion(pid = 2, version = "0.16.0-next.6") {
30524
+ function generateSuperdocVersion(pid = 2, version = "0.16.1") {
30525
30525
  return {
30526
30526
  type: "element",
30527
30527
  name: "property",
@@ -1,4 +1,4 @@
1
- import { H as process$1, av as commonjsGlobal, I as Buffer, aw as getDefaultExportFromCjs, ax as getContentTypesFromXml, ay as xmljs } from "./converter-BNYWJQ3Z.js";
1
+ import { H as process$1, av as commonjsGlobal, I as Buffer, aw as getDefaultExportFromCjs, ax as getContentTypesFromXml, ay as xmljs } from "./converter-BPlR2rf0.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
  }
@@ -2315,6 +2315,40 @@ function requireJszip_min() {
2315
2315
  }
2316
2316
  var jszip_minExports = requireJszip_min();
2317
2317
  const JSZip = /* @__PURE__ */ getDefaultExportFromCjs(jszip_minExports);
2318
+ const isXmlLike = (name) => /\.xml$|\.rels$/i.test(name);
2319
+ function sniffEncoding(u8) {
2320
+ if (u8.length >= 2) {
2321
+ const b0 = u8[0], b1 = u8[1];
2322
+ if (b0 === 255 && b1 === 254) return "utf-16le";
2323
+ if (b0 === 254 && b1 === 255) return "utf-16be";
2324
+ }
2325
+ let nul = 0;
2326
+ for (let i = 0; i < Math.min(64, u8.length); i++) if (u8[i] === 0) nul++;
2327
+ if (nul > 16) return "utf-16le";
2328
+ return "utf-8";
2329
+ }
2330
+ function stripBOM(str) {
2331
+ return str && str.charCodeAt(0) === 65279 ? str.slice(1) : str;
2332
+ }
2333
+ function ensureXmlString(content) {
2334
+ if (typeof content === "string") return stripBOM(content);
2335
+ let u8 = null;
2336
+ if (content && typeof content === "object") {
2337
+ if (content instanceof Uint8Array) {
2338
+ u8 = content;
2339
+ } else if (typeof Buffer !== "undefined" && Buffer.isBuffer && Buffer.isBuffer(content)) {
2340
+ u8 = new Uint8Array(content.buffer, content.byteOffset, content.byteLength);
2341
+ } else if (ArrayBuffer.isView && ArrayBuffer.isView(content)) {
2342
+ u8 = new Uint8Array(content.buffer, content.byteOffset, content.byteLength);
2343
+ } else if (content.constructor && (content instanceof ArrayBuffer || content.constructor.name === "ArrayBuffer")) {
2344
+ u8 = new Uint8Array(content);
2345
+ }
2346
+ }
2347
+ if (!u8) throw new Error("Unsupported content type for XML");
2348
+ const enc = sniffEncoding(u8);
2349
+ let xml = new TextDecoder(enc).decode(u8);
2350
+ return stripBOM(xml);
2351
+ }
2318
2352
  class DocxZipper {
2319
2353
  constructor(params = {}) {
2320
2354
  this.debug = params.debug || false;
@@ -2345,32 +2379,29 @@ class DocxZipper {
2345
2379
  async getDocxData(file, isNode = false) {
2346
2380
  const extractedFiles = await this.unzip(file);
2347
2381
  const files = Object.entries(extractedFiles.files);
2348
- const validTypes = ["xml", "rels"];
2349
- for (const file2 of files) {
2350
- const [, zipEntry] = file2;
2351
- if (validTypes.some((validType) => zipEntry.name.endsWith(validType))) {
2352
- const content = await zipEntry.async("string");
2353
- this.files.push({
2354
- name: zipEntry.name,
2355
- content
2356
- });
2357
- } else if (zipEntry.name.startsWith("word/media") && zipEntry.name !== "word/media/" || zipEntry.name.startsWith("media") && zipEntry.name !== "media/") {
2382
+ for (const [, zipEntry] of files) {
2383
+ const name = zipEntry.name;
2384
+ if (isXmlLike(name)) {
2385
+ const u8 = await zipEntry.async("uint8array");
2386
+ const content = ensureXmlString(u8);
2387
+ this.files.push({ name, content });
2388
+ } else if (name.startsWith("word/media") && name !== "word/media/" || name.startsWith("media") && name !== "media/") {
2358
2389
  if (isNode) {
2359
2390
  const buffer = await zipEntry.async("nodebuffer");
2360
2391
  const fileBase64 = buffer.toString("base64");
2361
- this.mediaFiles[zipEntry.name] = fileBase64;
2392
+ this.mediaFiles[name] = fileBase64;
2362
2393
  } else {
2363
2394
  const blob = await zipEntry.async("blob");
2364
- const extension = this.getFileExtension(zipEntry.name);
2395
+ const extension = this.getFileExtension(name);
2365
2396
  const fileBase64 = await zipEntry.async("base64");
2366
- this.mediaFiles[zipEntry.name] = `data:image/${extension};base64,${fileBase64}`;
2367
- const file3 = new File([blob], zipEntry.name, { type: blob.type });
2368
- const imageUrl = URL.createObjectURL(file3);
2369
- this.media[zipEntry.name] = imageUrl;
2397
+ this.mediaFiles[name] = `data:image/${extension};base64,${fileBase64}`;
2398
+ const fileObj = new File([blob], name, { type: blob.type });
2399
+ const imageUrl = URL.createObjectURL(fileObj);
2400
+ this.media[name] = imageUrl;
2370
2401
  }
2371
- } else if (zipEntry.name.startsWith("word/fonts") && zipEntry.name !== "word/fonts/") {
2402
+ } else if (name.startsWith("word/fonts") && name !== "word/fonts/") {
2372
2403
  const uint8array = await zipEntry.async("uint8array");
2373
- this.fonts[zipEntry.name] = uint8array;
2404
+ this.fonts[name] = uint8array;
2374
2405
  }
2375
2406
  }
2376
2407
  return this.files;
@@ -12,9 +12,9 @@ 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, insertNewFileData_fn, registerPluginByNameIfNotExists_fn, createExtensionService_fn, createCommandService_fn, createConverter_fn, initMedia_fn, initFonts_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, _ListItemNodeView_instances, init_fn2, _FieldAnnotationView_instances, createAnnotation_fn, _AutoPageNumberNodeView_instances, renderDom_fn, scheduleUpdateNodeStyle_fn, _DocumentSectionView_instances, init_fn3, addToolTip_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, c as callOrGet, g as getExtensionConfigField, b as getMarkType, d as getMarksFromSelection, e as getNodeType, f as getSchemaTypeNameByName, S as Schema$1, h as cleanSchemaItem, T as TextSelection, N as NodeSelection, i as canSplit, j as defaultBlockAt$1, l as liftTarget, A as AllSelection, k as canJoin, m as joinPoint, n as Selection, r as replaceStep$1, F as Fragment, R as ReplaceAroundStep$1, o as Slice, p as isTextSelection, q as getMarkRange, s as isMarkActive, t as isNodeActive, u as deleteProps, D as DOMParser$1, v as ReplaceStep, w as NodeRange, x as findWrapping, L as ListHelpers, y as findParentNode, z as isMacOS, B as isIOS, C as DOMSerializer, E as Mark$1, G as dropPoint, H as process$1, I as Buffer2, J as getSchemaTypeByName, K as inputRulesPlugin, O as TrackDeleteMarkName, Q as TrackInsertMarkName, U as v4, V as TrackFormatMarkName, W as comments_module_events, X as findMark, Y as objectIncludes, Z as AddMarkStep, _ as RemoveMarkStep, $ as twipsToLines, a0 as pixelsToTwips, a1 as helpers, a2 as posToDOMRect, a3 as CommandService, a4 as SuperConverter, a5 as createDocument, a6 as createDocFromMarkdown, a7 as createDocFromHTML, a8 as EditorState, a9 as hasSomeParentWithClass, aa as isActive, ab as unflattenListsInHtml, ac as parseSizeUnit, ad as minMax, ae as getLineHeightValueString, af as InputRule, ag as kebabCase, ah as getListItemStyleDefinitions, ai as docxNumberigHelpers, aj as parseIndentElement, ak as combineIndents, al as StepMap, am as getColStyleDeclaration, an as SelectionRange, ao as Transform, ap as findParentNodeClosestToPos, aq as isInTable$1, ar as createColGroup, as as generateDocxRandomId, at as insertNewRelationship, au as htmlHandler } from "./converter-BNYWJQ3Z.js";
15
+ import { P as PluginKey, a as Plugin, M as Mapping, c as callOrGet, g as getExtensionConfigField, b as getMarkType, d as getMarksFromSelection, e as getNodeType, f as getSchemaTypeNameByName, S as Schema$1, h as cleanSchemaItem, T as TextSelection, N as NodeSelection, i as canSplit, j as defaultBlockAt$1, l as liftTarget, A as AllSelection, k as canJoin, m as joinPoint, n as Selection, r as replaceStep$1, F as Fragment, R as ReplaceAroundStep$1, o as Slice, p as isTextSelection, q as getMarkRange, s as isMarkActive, t as isNodeActive, u as deleteProps, D as DOMParser$1, v as ReplaceStep, w as NodeRange, x as findWrapping, L as ListHelpers, y as findParentNode, z as isMacOS, B as isIOS, C as DOMSerializer, E as Mark$1, G as dropPoint, H as process$1, I as Buffer2, J as getSchemaTypeByName, K as inputRulesPlugin, O as TrackDeleteMarkName, Q as TrackInsertMarkName, U as v4, V as TrackFormatMarkName, W as comments_module_events, X as findMark, Y as objectIncludes, Z as AddMarkStep, _ as RemoveMarkStep, $ as twipsToLines, a0 as pixelsToTwips, a1 as helpers, a2 as posToDOMRect, a3 as CommandService, a4 as SuperConverter, a5 as createDocument, a6 as createDocFromMarkdown, a7 as createDocFromHTML, a8 as EditorState, a9 as hasSomeParentWithClass, aa as isActive, ab as unflattenListsInHtml, ac as parseSizeUnit, ad as minMax, ae as getLineHeightValueString, af as InputRule, ag as kebabCase, ah as getListItemStyleDefinitions, ai as docxNumberigHelpers, aj as parseIndentElement, ak as combineIndents, al as StepMap, am as getColStyleDeclaration, an as SelectionRange, ao as Transform, ap as findParentNodeClosestToPos, aq as isInTable$1, ar as createColGroup, as as generateDocxRandomId, at as insertNewRelationship, au as htmlHandler } from "./converter-BPlR2rf0.js";
16
16
  import { ref, computed, createElementBlock, openBlock, withModifiers, Fragment as Fragment$1, renderList, normalizeClass, createCommentVNode, toDisplayString, createElementVNode, createApp } from "vue";
17
- import { D as DocxZipper } from "./docx-zipper-cuAAfaAG.js";
17
+ import { D as DocxZipper } from "./docx-zipper-DpSB-3Mq.js";
18
18
  var GOOD_LEAF_SIZE = 200;
19
19
  var RopeSequence = function RopeSequence2() {
20
20
  };
@@ -13574,7 +13574,6 @@ const _Editor = class _Editor extends EventEmitter {
13574
13574
  onListDefinitionsChange: () => null,
13575
13575
  // async (file) => url;
13576
13576
  handleImageUpload: null,
13577
- // telemetry
13578
13577
  telemetry: null,
13579
13578
  // Docx xml updated by User
13580
13579
  customUpdatedFiles: {},
@@ -14255,7 +14254,7 @@ const _Editor = class _Editor extends EventEmitter {
14255
14254
  * @returns {Object | void} Migration results
14256
14255
  */
14257
14256
  processCollaborationMigrations() {
14258
- console.debug("[checkVersionMigrations] Current editor version", "0.16.0-next.6");
14257
+ console.debug("[checkVersionMigrations] Current editor version", "0.16.1");
14259
14258
  if (!this.options.ydoc) return;
14260
14259
  const metaMap = this.options.ydoc.getMap("meta");
14261
14260
  let docVersion = metaMap.get("version");
@@ -25049,11 +25048,10 @@ const BlockNode = Extension.create({
25049
25048
  appendTransaction: (transactions, _oldState, newState) => {
25050
25049
  if (hasInitialized && !transactions.some((tr2) => tr2.docChanged)) return null;
25051
25050
  if (hasInitialized && !checkForNewBlockNodesInTrs(transactions)) return null;
25052
- let tr = null;
25051
+ const { tr } = newState;
25053
25052
  let changed = false;
25054
25053
  newState.doc.descendants((node, pos) => {
25055
25054
  if (!nodeAllowsSdBlockIdAttr(node) || !nodeNeedsSdBlockId(node)) return null;
25056
- tr = tr ?? newState.tr;
25057
25055
  tr.setNodeMarkup(
25058
25056
  pos,
25059
25057
  void 0,
@@ -25065,7 +25063,10 @@ const BlockNode = Extension.create({
25065
25063
  );
25066
25064
  changed = true;
25067
25065
  });
25068
- if (changed && !hasInitialized) hasInitialized = true;
25066
+ if (changed && !hasInitialized) {
25067
+ hasInitialized = true;
25068
+ }
25069
+ tr.setStoredMarks(newState.tr.storedMarks);
25069
25070
  return changed ? tr : null;
25070
25071
  }
25071
25072
  })
@@ -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 { H as process$1 } from "./converter-BNYWJQ3Z.js";
3
- import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-BgjW_9Xc.js";
2
+ import { H as process$1 } from "./converter-BPlR2rf0.js";
3
+ import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-BPPR4jya.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 { a4 } from "./chunks/converter-BNYWJQ3Z.js";
1
+ import { a4 } from "./chunks/converter-BPlR2rf0.js";
2
2
  export {
3
3
  a4 as SuperConverter
4
4
  };
@@ -1,5 +1,5 @@
1
- import "./chunks/converter-BNYWJQ3Z.js";
2
- import { D } from "./chunks/docx-zipper-cuAAfaAG.js";
1
+ import "./chunks/converter-BPlR2rf0.js";
2
+ import { D } from "./chunks/docx-zipper-DpSB-3Mq.js";
3
3
  export {
4
4
  D as default
5
5
  };
@@ -1,6 +1,6 @@
1
- import { E } from "./chunks/editor-BgjW_9Xc.js";
2
- import "./chunks/converter-BNYWJQ3Z.js";
3
- import "./chunks/docx-zipper-cuAAfaAG.js";
1
+ import { E } from "./chunks/editor-BPPR4jya.js";
2
+ import "./chunks/converter-BPlR2rf0.js";
3
+ import "./chunks/docx-zipper-DpSB-3Mq.js";
4
4
  export {
5
5
  E as Editor
6
6
  };
@@ -1,4 +1,4 @@
1
- import { J as JSZip } from "./chunks/docx-zipper-cuAAfaAG.js";
1
+ import { J as JSZip } from "./chunks/docx-zipper-DpSB-3Mq.js";
2
2
  async function createZip(blobs, fileNames) {
3
3
  const zip = new JSZip();
4
4
  blobs.forEach((blob, index) => {