@harbour-enterprises/superdoc 0.20.0 → 0.20.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 (25) hide show
  1. package/dist/chunks/{PdfViewer-SpPk10jl.es.js → PdfViewer-BceCsygM.es.js} +1 -1
  2. package/dist/chunks/{PdfViewer--8KwZWwP.cjs → PdfViewer-BhwyCIho.cjs} +1 -1
  3. package/dist/chunks/{index-yRUOdLmp.cjs → index-B6tAKGVb.cjs} +3 -3
  4. package/dist/chunks/{index-BjLjS5O9.es.js → index-C0kV6dM8.es.js} +3 -3
  5. package/dist/chunks/{super-editor.es-D24_Ox1u.es.js → super-editor.es-BollA_Sr.es.js} +50 -16
  6. package/dist/chunks/{super-editor.es-CuNhawtn.cjs → super-editor.es-Dzt_HBkR.cjs} +50 -16
  7. package/dist/super-editor/ai-writer.es.js +2 -2
  8. package/dist/super-editor/chunks/{converter-Cg4SgA5y.js → converter-DyzbfydS.js} +45 -13
  9. package/dist/super-editor/chunks/{docx-zipper-CDX2fnxb.js → docx-zipper-Bk9SAmal.js} +2 -2
  10. package/dist/super-editor/chunks/{editor-MKuu81v8.js → editor-BWE7oMgS.js} +6 -4
  11. package/dist/super-editor/chunks/{toolbar-CpQ7L2K-.js → toolbar-BmHEsvA1.js} +2 -2
  12. package/dist/super-editor/converter.es.js +1 -1
  13. package/dist/super-editor/docx-zipper.es.js +2 -2
  14. package/dist/super-editor/editor.es.js +3 -3
  15. package/dist/super-editor/file-zipper.es.js +1 -1
  16. package/dist/super-editor/src/core/super-converter/helpers/mediaHelpers.d.ts +2 -0
  17. package/dist/super-editor/super-editor.es.js +6 -6
  18. package/dist/super-editor/toolbar.es.js +2 -2
  19. package/dist/super-editor.cjs +1 -1
  20. package/dist/super-editor.es.js +1 -1
  21. package/dist/superdoc.cjs +2 -2
  22. package/dist/superdoc.es.js +2 -2
  23. package/dist/superdoc.umd.js +51 -17
  24. package/dist/superdoc.umd.js.map +1 -1
  25. package/package.json +1 -1
@@ -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-CXxsqYcP.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-BjLjS5O9.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-C0kV6dM8.es.js";
3
3
  function self(vars) {
4
4
  const {
5
5
  opacityDisabled,
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const vue = require("./vue-DWle4Cai.cjs");
4
- const superdoc = require("./index-yRUOdLmp.cjs");
4
+ const superdoc = require("./index-B6tAKGVb.cjs");
5
5
  function self(vars) {
6
6
  const {
7
7
  opacityDisabled,
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const superEditor_es = require("./super-editor.es-CuNhawtn.cjs");
2
+ const superEditor_es = require("./super-editor.es-Dzt_HBkR.cjs");
3
3
  const vue = require("./vue-DWle4Cai.cjs");
4
4
  const jszip = require("./jszip-b7l8QkfH.cjs");
5
5
  const blankDocx = require("./blank-docx-CPqX9RF5.cjs");
@@ -17386,7 +17386,7 @@ const _sfc_main = {
17386
17386
  __name: "SuperDoc",
17387
17387
  emits: ["selection-update"],
17388
17388
  setup(__props, { emit: __emit }) {
17389
- const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer--8KwZWwP.cjs")));
17389
+ const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-BhwyCIho.cjs")));
17390
17390
  const superdocStore = useSuperdocStore();
17391
17391
  const commentsStore = useCommentsStore();
17392
17392
  const {
@@ -18030,7 +18030,7 @@ class SuperDoc extends eventemitter3.EventEmitter {
18030
18030
  this.config.colors = shuffleArray(this.config.colors);
18031
18031
  this.userColorMap = /* @__PURE__ */ new Map();
18032
18032
  this.colorIndex = 0;
18033
- this.version = "0.19.0";
18033
+ this.version = "0.20.1";
18034
18034
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
18035
18035
  this.superdocId = config.superdocId || uuid.v4();
18036
18036
  this.colors = this.config.colors;
@@ -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-D24_Ox1u.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-BollA_Sr.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-CXxsqYcP.es.js";
3
3
  import { B as Buffer$2 } from "./jszip-B8KIZSNe.es.js";
4
4
  import { B as BlankDOCX } from "./blank-docx-iwdyG9RH.es.js";
@@ -17369,7 +17369,7 @@ const _sfc_main = {
17369
17369
  __name: "SuperDoc",
17370
17370
  emits: ["selection-update"],
17371
17371
  setup(__props, { emit: __emit }) {
17372
- const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-SpPk10jl.es.js"));
17372
+ const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-BceCsygM.es.js"));
17373
17373
  const superdocStore = useSuperdocStore();
17374
17374
  const commentsStore = useCommentsStore();
17375
17375
  const {
@@ -18013,7 +18013,7 @@ class SuperDoc extends EventEmitter {
18013
18013
  this.config.colors = shuffleArray(this.config.colors);
18014
18014
  this.userColorMap = /* @__PURE__ */ new Map();
18015
18015
  this.colorIndex = 0;
18016
- this.version = "0.19.0";
18016
+ this.version = "0.20.1";
18017
18017
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
18018
18018
  this.superdocId = config.superdocId || v4();
18019
18019
  this.colors = this.config.colors;
@@ -21394,7 +21394,9 @@ function stripHtmlStyles(html) {
21394
21394
  const cleanNode = (node) => {
21395
21395
  if (node.nodeType !== Node.ELEMENT_NODE) return;
21396
21396
  [...node.attributes].forEach((attr) => {
21397
- if (!SUPPORTED_ATTRS.includes(attr.name.toLowerCase())) {
21397
+ const name = attr.name.toLowerCase();
21398
+ const shouldKeep = SUPPORTED_ATTRS.includes(name) || name.startsWith("data-");
21399
+ if (!shouldKeep) {
21398
21400
  node.removeAttribute(attr.name);
21399
21401
  }
21400
21402
  });
@@ -22773,13 +22775,18 @@ const createSchemaOrderedListNode = ({ level, numId, listType, editor, listLevel
22773
22775
  numId = Number(numId);
22774
22776
  const { lvlText, numFmt } = ListHelpers.getListDefinitionDetails({ numId, level, listType, editor });
22775
22777
  const listNodeJSON = createListItemNodeJSON({ level, lvlText, numFmt, numId, listLevel, contentNode });
22778
+ const nodeTypeName = typeof listType === "string" ? listType : listType?.name;
22779
+ const type2 = nodeTypeName || "orderedList";
22780
+ const attrs = {
22781
+ "list-style-type": numFmt,
22782
+ listId: numId
22783
+ };
22784
+ if (type2 === "orderedList") {
22785
+ attrs.order = level;
22786
+ }
22776
22787
  const node = {
22777
- type: "orderedList",
22778
- attrs: {
22779
- "list-style-type": numFmt,
22780
- listId: numId,
22781
- order: level
22782
- },
22788
+ type: type2,
22789
+ attrs,
22783
22790
  content: [listNodeJSON]
22784
22791
  };
22785
22792
  return editor.schema.nodeFromJSON(node);
@@ -24169,6 +24176,18 @@ const baseNumbering = {
24169
24176
  }
24170
24177
  ]
24171
24178
  };
24179
+ const sanitizeDocxMediaName = (value, fallback = "image") => {
24180
+ if (!value) return fallback;
24181
+ const sanitized = value.replace(/[^a-zA-Z0-9_-]/g, "_");
24182
+ return sanitized || fallback;
24183
+ };
24184
+ const getFallbackImageNameFromDataUri = (src = "", fallback = "image") => {
24185
+ if (!src || typeof src !== "string") return fallback;
24186
+ const [prefix2] = src.split(";");
24187
+ const [, maybeType] = prefix2.split("/");
24188
+ const extension = maybeType?.toLowerCase();
24189
+ return extension ? `${fallback}.${extension}` : fallback;
24190
+ };
24172
24191
  const TranslatorTypes = Object.freeze({
24173
24192
  NODE: "node",
24174
24193
  ATTRIBUTE: "attribute"
@@ -28829,7 +28848,17 @@ function translateImageNode(params2, imageSize) {
28829
28848
  let imageId = attrs.rId;
28830
28849
  const src = attrs.src || attrs.imageSrc;
28831
28850
  const { originalWidth, originalHeight } = getPngDimensions(src);
28832
- const imageName = params2.node.type === "image" ? src.split("/").pop() : attrs.fieldId?.replace("-", "_");
28851
+ let imageName;
28852
+ if (params2.node.type === "image") {
28853
+ if (src?.startsWith("data:")) {
28854
+ imageName = getFallbackImageNameFromDataUri(src);
28855
+ } else {
28856
+ imageName = src?.split("/").pop();
28857
+ }
28858
+ } else {
28859
+ imageName = attrs.fieldId;
28860
+ }
28861
+ imageName = sanitizeDocxMediaName(imageName);
28833
28862
  let size2 = attrs.size ? {
28834
28863
  w: pixelsToEmu(attrs.size.width),
28835
28864
  h: pixelsToEmu(attrs.size.height)
@@ -28859,9 +28888,12 @@ function translateImageNode(params2, imageSize) {
28859
28888
  if (!type2) {
28860
28889
  return prepareTextAnnotation(params2);
28861
28890
  }
28862
- const imageUrl = `media/${imageName}_${attrs.hash}.${type2}`;
28863
- imageId = addNewImageRelationship(params2, imageUrl);
28864
- params2.media[`${imageName}_${attrs.hash}.${type2}`] = src;
28891
+ const sanitizedHash = sanitizeDocxMediaName(attrs.hash, generateDocxRandomId(4));
28892
+ const fileName = `${imageName}_${sanitizedHash}.${type2}`;
28893
+ const relationshipTarget = `media/${fileName}`;
28894
+ const packagePath = `word/${relationshipTarget}`;
28895
+ imageId = addNewImageRelationship(params2, relationshipTarget);
28896
+ params2.media[packagePath] = src;
28865
28897
  }
28866
28898
  let inlineAttrs = attrs.originalPadding || {
28867
28899
  distT: 0,
@@ -31098,7 +31130,7 @@ const _SuperConverter = class _SuperConverter2 {
31098
31130
  return;
31099
31131
  }
31100
31132
  }
31101
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.19.0") {
31133
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.20.1") {
31102
31134
  const customLocation = "docProps/custom.xml";
31103
31135
  if (!docx[customLocation]) {
31104
31136
  docx[customLocation] = generateCustomXml();
@@ -31585,7 +31617,7 @@ function storeSuperdocVersion(docx) {
31585
31617
  function generateCustomXml() {
31586
31618
  return DEFAULT_CUSTOM_XML;
31587
31619
  }
31588
- function generateSuperdocVersion(pid = 2, version2 = "0.19.0") {
31620
+ function generateSuperdocVersion(pid = 2, version2 = "0.20.1") {
31589
31621
  return {
31590
31622
  type: "element",
31591
31623
  name: "property",
@@ -33994,7 +34026,7 @@ class DocxZipper {
33994
34026
  const u8 = await zipEntry.async("uint8array");
33995
34027
  const content = ensureXmlString(u8);
33996
34028
  this.files.push({ name, content });
33997
- } else if (name.startsWith("word/media") && name !== "word/media/" || name.startsWith("media") && name !== "media/") {
34029
+ } else if (name.startsWith("word/media") && name !== "word/media/" || zipEntry.name.startsWith("media") && zipEntry.name !== "media/" || name.startsWith("media") && name !== "media/") {
33998
34030
  if (isNode2) {
33999
34031
  const buffer2 = await zipEntry.async("nodebuffer");
34000
34032
  const fileBase64 = buffer2.toString("base64");
@@ -48837,7 +48869,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
48837
48869
  * @returns {Object | void} Migration results
48838
48870
  */
48839
48871
  processCollaborationMigrations() {
48840
- console.debug("[checkVersionMigrations] Current editor version", "0.19.0");
48872
+ console.debug("[checkVersionMigrations] Current editor version", "0.20.1");
48841
48873
  if (!this.options.ydoc) return;
48842
48874
  const metaMap = this.options.ydoc.getMap("meta");
48843
48875
  let docVersion = metaMap.get("version");
@@ -49064,7 +49096,9 @@ init_fn = function() {
49064
49096
  this.initializeCollaborationData();
49065
49097
  this.initDefaultStyles();
49066
49098
  }
49067
- if (!this.options.ydoc) this.migrateListsToV2();
49099
+ if (!this.options.ydoc || this.options.markdown || this.options.html) {
49100
+ this.migrateListsToV2();
49101
+ }
49068
49102
  this.setDocumentMode(this.options.documentMode);
49069
49103
  if (!this.options.ydoc) {
49070
49104
  if (!this.options.isChildEditor) {
@@ -21411,7 +21411,9 @@ function stripHtmlStyles(html) {
21411
21411
  const cleanNode = (node) => {
21412
21412
  if (node.nodeType !== Node.ELEMENT_NODE) return;
21413
21413
  [...node.attributes].forEach((attr) => {
21414
- if (!SUPPORTED_ATTRS.includes(attr.name.toLowerCase())) {
21414
+ const name = attr.name.toLowerCase();
21415
+ const shouldKeep = SUPPORTED_ATTRS.includes(name) || name.startsWith("data-");
21416
+ if (!shouldKeep) {
21415
21417
  node.removeAttribute(attr.name);
21416
21418
  }
21417
21419
  });
@@ -22790,13 +22792,18 @@ const createSchemaOrderedListNode = ({ level, numId, listType, editor, listLevel
22790
22792
  numId = Number(numId);
22791
22793
  const { lvlText, numFmt } = ListHelpers.getListDefinitionDetails({ numId, level, listType, editor });
22792
22794
  const listNodeJSON = createListItemNodeJSON({ level, lvlText, numFmt, numId, listLevel, contentNode });
22795
+ const nodeTypeName = typeof listType === "string" ? listType : listType?.name;
22796
+ const type2 = nodeTypeName || "orderedList";
22797
+ const attrs = {
22798
+ "list-style-type": numFmt,
22799
+ listId: numId
22800
+ };
22801
+ if (type2 === "orderedList") {
22802
+ attrs.order = level;
22803
+ }
22793
22804
  const node = {
22794
- type: "orderedList",
22795
- attrs: {
22796
- "list-style-type": numFmt,
22797
- listId: numId,
22798
- order: level
22799
- },
22805
+ type: type2,
22806
+ attrs,
22800
22807
  content: [listNodeJSON]
22801
22808
  };
22802
22809
  return editor.schema.nodeFromJSON(node);
@@ -24186,6 +24193,18 @@ const baseNumbering = {
24186
24193
  }
24187
24194
  ]
24188
24195
  };
24196
+ const sanitizeDocxMediaName = (value, fallback = "image") => {
24197
+ if (!value) return fallback;
24198
+ const sanitized = value.replace(/[^a-zA-Z0-9_-]/g, "_");
24199
+ return sanitized || fallback;
24200
+ };
24201
+ const getFallbackImageNameFromDataUri = (src = "", fallback = "image") => {
24202
+ if (!src || typeof src !== "string") return fallback;
24203
+ const [prefix2] = src.split(";");
24204
+ const [, maybeType] = prefix2.split("/");
24205
+ const extension = maybeType?.toLowerCase();
24206
+ return extension ? `${fallback}.${extension}` : fallback;
24207
+ };
24189
24208
  const TranslatorTypes = Object.freeze({
24190
24209
  NODE: "node",
24191
24210
  ATTRIBUTE: "attribute"
@@ -28846,7 +28865,17 @@ function translateImageNode(params2, imageSize) {
28846
28865
  let imageId = attrs.rId;
28847
28866
  const src = attrs.src || attrs.imageSrc;
28848
28867
  const { originalWidth, originalHeight } = getPngDimensions(src);
28849
- const imageName = params2.node.type === "image" ? src.split("/").pop() : attrs.fieldId?.replace("-", "_");
28868
+ let imageName;
28869
+ if (params2.node.type === "image") {
28870
+ if (src?.startsWith("data:")) {
28871
+ imageName = getFallbackImageNameFromDataUri(src);
28872
+ } else {
28873
+ imageName = src?.split("/").pop();
28874
+ }
28875
+ } else {
28876
+ imageName = attrs.fieldId;
28877
+ }
28878
+ imageName = sanitizeDocxMediaName(imageName);
28850
28879
  let size2 = attrs.size ? {
28851
28880
  w: pixelsToEmu(attrs.size.width),
28852
28881
  h: pixelsToEmu(attrs.size.height)
@@ -28876,9 +28905,12 @@ function translateImageNode(params2, imageSize) {
28876
28905
  if (!type2) {
28877
28906
  return prepareTextAnnotation(params2);
28878
28907
  }
28879
- const imageUrl = `media/${imageName}_${attrs.hash}.${type2}`;
28880
- imageId = addNewImageRelationship(params2, imageUrl);
28881
- params2.media[`${imageName}_${attrs.hash}.${type2}`] = src;
28908
+ const sanitizedHash = sanitizeDocxMediaName(attrs.hash, generateDocxRandomId(4));
28909
+ const fileName = `${imageName}_${sanitizedHash}.${type2}`;
28910
+ const relationshipTarget = `media/${fileName}`;
28911
+ const packagePath = `word/${relationshipTarget}`;
28912
+ imageId = addNewImageRelationship(params2, relationshipTarget);
28913
+ params2.media[packagePath] = src;
28882
28914
  }
28883
28915
  let inlineAttrs = attrs.originalPadding || {
28884
28916
  distT: 0,
@@ -31115,7 +31147,7 @@ const _SuperConverter = class _SuperConverter2 {
31115
31147
  return;
31116
31148
  }
31117
31149
  }
31118
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.19.0") {
31150
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.20.1") {
31119
31151
  const customLocation = "docProps/custom.xml";
31120
31152
  if (!docx[customLocation]) {
31121
31153
  docx[customLocation] = generateCustomXml();
@@ -31602,7 +31634,7 @@ function storeSuperdocVersion(docx) {
31602
31634
  function generateCustomXml() {
31603
31635
  return DEFAULT_CUSTOM_XML;
31604
31636
  }
31605
- function generateSuperdocVersion(pid = 2, version2 = "0.19.0") {
31637
+ function generateSuperdocVersion(pid = 2, version2 = "0.20.1") {
31606
31638
  return {
31607
31639
  type: "element",
31608
31640
  name: "property",
@@ -34011,7 +34043,7 @@ class DocxZipper {
34011
34043
  const u8 = await zipEntry.async("uint8array");
34012
34044
  const content = ensureXmlString(u8);
34013
34045
  this.files.push({ name, content });
34014
- } else if (name.startsWith("word/media") && name !== "word/media/" || name.startsWith("media") && name !== "media/") {
34046
+ } else if (name.startsWith("word/media") && name !== "word/media/" || zipEntry.name.startsWith("media") && zipEntry.name !== "media/" || name.startsWith("media") && name !== "media/") {
34015
34047
  if (isNode2) {
34016
34048
  const buffer2 = await zipEntry.async("nodebuffer");
34017
34049
  const fileBase64 = buffer2.toString("base64");
@@ -48854,7 +48886,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
48854
48886
  * @returns {Object | void} Migration results
48855
48887
  */
48856
48888
  processCollaborationMigrations() {
48857
- console.debug("[checkVersionMigrations] Current editor version", "0.19.0");
48889
+ console.debug("[checkVersionMigrations] Current editor version", "0.20.1");
48858
48890
  if (!this.options.ydoc) return;
48859
48891
  const metaMap = this.options.ydoc.getMap("meta");
48860
48892
  let docVersion = metaMap.get("version");
@@ -49081,7 +49113,9 @@ init_fn = function() {
49081
49113
  this.initializeCollaborationData();
49082
49114
  this.initDefaultStyles();
49083
49115
  }
49084
- if (!this.options.ydoc) this.migrateListsToV2();
49116
+ if (!this.options.ydoc || this.options.markdown || this.options.html) {
49117
+ this.migrateListsToV2();
49118
+ }
49085
49119
  this.setDocumentMode(this.options.documentMode);
49086
49120
  if (!this.options.ydoc) {
49087
49121
  if (!this.options.isChildEditor) {
@@ -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-Cg4SgA5y.js";
3
- import { _ as _export_sfc } from "./chunks/editor-MKuu81v8.js";
2
+ import { T as TextSelection } from "./chunks/converter-DyzbfydS.js";
3
+ import { _ as _export_sfc } from "./chunks/editor-BWE7oMgS.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 = {}) {
@@ -21392,7 +21392,9 @@ function stripHtmlStyles(html) {
21392
21392
  const cleanNode = (node) => {
21393
21393
  if (node.nodeType !== Node.ELEMENT_NODE) return;
21394
21394
  [...node.attributes].forEach((attr) => {
21395
- if (!SUPPORTED_ATTRS.includes(attr.name.toLowerCase())) {
21395
+ const name = attr.name.toLowerCase();
21396
+ const shouldKeep = SUPPORTED_ATTRS.includes(name) || name.startsWith("data-");
21397
+ if (!shouldKeep) {
21396
21398
  node.removeAttribute(attr.name);
21397
21399
  }
21398
21400
  });
@@ -22771,13 +22773,18 @@ const createSchemaOrderedListNode = ({ level, numId, listType, editor, listLevel
22771
22773
  numId = Number(numId);
22772
22774
  const { lvlText, numFmt } = ListHelpers.getListDefinitionDetails({ numId, level, listType, editor });
22773
22775
  const listNodeJSON = createListItemNodeJSON({ level, lvlText, numFmt, numId, listLevel, contentNode });
22776
+ const nodeTypeName = typeof listType === "string" ? listType : listType?.name;
22777
+ const type2 = nodeTypeName || "orderedList";
22778
+ const attrs = {
22779
+ "list-style-type": numFmt,
22780
+ listId: numId
22781
+ };
22782
+ if (type2 === "orderedList") {
22783
+ attrs.order = level;
22784
+ }
22774
22785
  const node = {
22775
- type: "orderedList",
22776
- attrs: {
22777
- "list-style-type": numFmt,
22778
- listId: numId,
22779
- order: level
22780
- },
22786
+ type: type2,
22787
+ attrs,
22781
22788
  content: [listNodeJSON]
22782
22789
  };
22783
22790
  return editor.schema.nodeFromJSON(node);
@@ -24167,6 +24174,18 @@ const baseNumbering = {
24167
24174
  }
24168
24175
  ]
24169
24176
  };
24177
+ const sanitizeDocxMediaName = (value, fallback = "image") => {
24178
+ if (!value) return fallback;
24179
+ const sanitized = value.replace(/[^a-zA-Z0-9_-]/g, "_");
24180
+ return sanitized || fallback;
24181
+ };
24182
+ const getFallbackImageNameFromDataUri = (src = "", fallback = "image") => {
24183
+ if (!src || typeof src !== "string") return fallback;
24184
+ const [prefix] = src.split(";");
24185
+ const [, maybeType] = prefix.split("/");
24186
+ const extension = maybeType?.toLowerCase();
24187
+ return extension ? `${fallback}.${extension}` : fallback;
24188
+ };
24170
24189
  const TranslatorTypes = Object.freeze({
24171
24190
  NODE: "node",
24172
24191
  ATTRIBUTE: "attribute"
@@ -28836,7 +28855,17 @@ function translateImageNode(params, imageSize) {
28836
28855
  let imageId = attrs.rId;
28837
28856
  const src = attrs.src || attrs.imageSrc;
28838
28857
  const { originalWidth, originalHeight } = getPngDimensions(src);
28839
- const imageName = params.node.type === "image" ? src.split("/").pop() : attrs.fieldId?.replace("-", "_");
28858
+ let imageName;
28859
+ if (params.node.type === "image") {
28860
+ if (src?.startsWith("data:")) {
28861
+ imageName = getFallbackImageNameFromDataUri(src);
28862
+ } else {
28863
+ imageName = src?.split("/").pop();
28864
+ }
28865
+ } else {
28866
+ imageName = attrs.fieldId;
28867
+ }
28868
+ imageName = sanitizeDocxMediaName(imageName);
28840
28869
  let size = attrs.size ? {
28841
28870
  w: pixelsToEmu(attrs.size.width),
28842
28871
  h: pixelsToEmu(attrs.size.height)
@@ -28866,9 +28895,12 @@ function translateImageNode(params, imageSize) {
28866
28895
  if (!type2) {
28867
28896
  return prepareTextAnnotation(params);
28868
28897
  }
28869
- const imageUrl = `media/${imageName}_${attrs.hash}.${type2}`;
28870
- imageId = addNewImageRelationship(params, imageUrl);
28871
- params.media[`${imageName}_${attrs.hash}.${type2}`] = src;
28898
+ const sanitizedHash = sanitizeDocxMediaName(attrs.hash, generateDocxRandomId(4));
28899
+ const fileName = `${imageName}_${sanitizedHash}.${type2}`;
28900
+ const relationshipTarget = `media/${fileName}`;
28901
+ const packagePath = `word/${relationshipTarget}`;
28902
+ imageId = addNewImageRelationship(params, relationshipTarget);
28903
+ params.media[packagePath] = src;
28872
28904
  }
28873
28905
  let inlineAttrs = attrs.originalPadding || {
28874
28906
  distT: 0,
@@ -31105,7 +31137,7 @@ const _SuperConverter = class _SuperConverter {
31105
31137
  return;
31106
31138
  }
31107
31139
  }
31108
- static updateDocumentVersion(docx = this.convertedXml, version = "0.19.0") {
31140
+ static updateDocumentVersion(docx = this.convertedXml, version = "0.20.1") {
31109
31141
  const customLocation = "docProps/custom.xml";
31110
31142
  if (!docx[customLocation]) {
31111
31143
  docx[customLocation] = generateCustomXml();
@@ -31595,7 +31627,7 @@ function storeSuperdocVersion(docx) {
31595
31627
  function generateCustomXml() {
31596
31628
  return DEFAULT_CUSTOM_XML;
31597
31629
  }
31598
- function generateSuperdocVersion(pid = 2, version = "0.19.0") {
31630
+ function generateSuperdocVersion(pid = 2, version = "0.20.1") {
31599
31631
  return {
31600
31632
  type: "element",
31601
31633
  name: "property",
@@ -1,4 +1,4 @@
1
- import { p as process$1, aw as commonjsGlobal, B as Buffer, ax as getDefaultExportFromCjs, ay as getContentTypesFromXml, az as xmljs } from "./converter-Cg4SgA5y.js";
1
+ import { p as process$1, aw as commonjsGlobal, B as Buffer, ax as getDefaultExportFromCjs, ay as getContentTypesFromXml, az as xmljs } from "./converter-DyzbfydS.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
  }
@@ -2385,7 +2385,7 @@ class DocxZipper {
2385
2385
  const u8 = await zipEntry.async("uint8array");
2386
2386
  const content = ensureXmlString(u8);
2387
2387
  this.files.push({ name, content });
2388
- } else if (name.startsWith("word/media") && name !== "word/media/" || name.startsWith("media") && name !== "media/") {
2388
+ } else if (name.startsWith("word/media") && name !== "word/media/" || zipEntry.name.startsWith("media") && zipEntry.name !== "media/" || name.startsWith("media") && name !== "media/") {
2389
2389
  if (isNode) {
2390
2390
  const buffer = await zipEntry.async("nodebuffer");
2391
2391
  const fileBase64 = buffer.toString("base64");
@@ -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, registerCopyHandler_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, initDevTools_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, 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 InputRule, ah as kebabCase, ai as findParentNodeClosestToPos, aj as getListItemStyleDefinitions, ak as docxNumberigHelpers, al as parseIndentElement, am as combineIndents, an as StepMap, ao as getColStyleDeclaration, ap as SelectionRange, aq as Transform, ar as isInTable$1, as as createColGroup, at as generateDocxRandomId, au as insertNewRelationship, av as htmlHandler } from "./converter-Cg4SgA5y.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 InputRule, ah as kebabCase, ai as findParentNodeClosestToPos, aj as getListItemStyleDefinitions, ak as docxNumberigHelpers, al as parseIndentElement, am as combineIndents, an as StepMap, ao as getColStyleDeclaration, ap as SelectionRange, aq as Transform, ar as isInTable$1, as as createColGroup, at as generateDocxRandomId, au as insertNewRelationship, av as htmlHandler } from "./converter-DyzbfydS.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-CDX2fnxb.js";
17
+ import { D as DocxZipper } from "./docx-zipper-Bk9SAmal.js";
18
18
  var GOOD_LEAF_SIZE = 200;
19
19
  var RopeSequence = function RopeSequence2() {
20
20
  };
@@ -14746,7 +14746,7 @@ const _Editor = class _Editor extends EventEmitter {
14746
14746
  * @returns {Object | void} Migration results
14747
14747
  */
14748
14748
  processCollaborationMigrations() {
14749
- console.debug("[checkVersionMigrations] Current editor version", "0.19.0");
14749
+ console.debug("[checkVersionMigrations] Current editor version", "0.20.1");
14750
14750
  if (!this.options.ydoc) return;
14751
14751
  const metaMap = this.options.ydoc.getMap("meta");
14752
14752
  let docVersion = metaMap.get("version");
@@ -14982,7 +14982,9 @@ init_fn = function() {
14982
14982
  this.initializeCollaborationData();
14983
14983
  this.initDefaultStyles();
14984
14984
  }
14985
- if (!this.options.ydoc) this.migrateListsToV2();
14985
+ if (!this.options.ydoc || this.options.markdown || this.options.html) {
14986
+ this.migrateListsToV2();
14987
+ }
14986
14988
  this.setDocumentMode(this.options.documentMode);
14987
14989
  if (!this.options.ydoc) {
14988
14990
  if (!this.options.isChildEditor) {
@@ -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-Cg4SgA5y.js";
3
- import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-MKuu81v8.js";
2
+ import { p as process$1 } from "./converter-DyzbfydS.js";
3
+ import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-BWE7oMgS.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-Cg4SgA5y.js";
1
+ import { a5 } from "./chunks/converter-DyzbfydS.js";
2
2
  import "vue";
3
3
  export {
4
4
  a5 as SuperConverter
@@ -1,5 +1,5 @@
1
- import "./chunks/converter-Cg4SgA5y.js";
2
- import { D } from "./chunks/docx-zipper-CDX2fnxb.js";
1
+ import "./chunks/converter-DyzbfydS.js";
2
+ import { D } from "./chunks/docx-zipper-Bk9SAmal.js";
3
3
  export {
4
4
  D as default
5
5
  };
@@ -1,6 +1,6 @@
1
- import { E } from "./chunks/editor-MKuu81v8.js";
2
- import "./chunks/converter-Cg4SgA5y.js";
3
- import "./chunks/docx-zipper-CDX2fnxb.js";
1
+ import { E } from "./chunks/editor-BWE7oMgS.js";
2
+ import "./chunks/converter-DyzbfydS.js";
3
+ import "./chunks/docx-zipper-Bk9SAmal.js";
4
4
  export {
5
5
  E as Editor
6
6
  };
@@ -1,4 +1,4 @@
1
- import { J as JSZip } from "./chunks/docx-zipper-CDX2fnxb.js";
1
+ import { J as JSZip } from "./chunks/docx-zipper-Bk9SAmal.js";
2
2
  async function createZip(blobs, fileNames) {
3
3
  const zip = new JSZip();
4
4
  blobs.forEach((blob, index) => {
@@ -0,0 +1,2 @@
1
+ export function sanitizeDocxMediaName(value: any, fallback?: string): any;
2
+ export function getFallbackImageNameFromDataUri(src?: string, fallback?: string): string;
@@ -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, runCommandWithArgumentOnly_fn;
12
- import { ax as getDefaultExportFromCjs, V as v4, T as TextSelection$1, v as getMarkRange, aA as vClickOutside, H as findParentNode, aB as getActiveFormatting, ar as isInTable, aC as readFromClipboard, aD as handleClipboardPaste, aE as getFileObject, aF as translator, aG as translator$1, aH as translator$2, a as Plugin } from "./chunks/converter-Cg4SgA5y.js";
13
- import { aI, a5, i, a2 } from "./chunks/converter-Cg4SgA5y.js";
14
- import { _ as _export_sfc, u as useHighContrastMode, a as getQuickFormatList, b as generateLinkedStyleString, c as getFileOpener, s as startImageUpload, y as yUndoPluginKey, d as undoDepth, r as redoDepth, S as SlashMenuPluginKey, E as Editor, e as getStarterExtensions, P as Placeholder, f as getRichTextExtensions, M as Mark, h as Extension, A as Attribute, N as Node } from "./chunks/editor-MKuu81v8.js";
15
- import { k, C, l, T, i as i2, m, j } from "./chunks/editor-MKuu81v8.js";
12
+ import { ax as getDefaultExportFromCjs, V as v4, T as TextSelection$1, v as getMarkRange, aA as vClickOutside, H as findParentNode, aB as getActiveFormatting, ar as isInTable, aC as readFromClipboard, aD as handleClipboardPaste, aE as getFileObject, aF as translator, aG as translator$1, aH as translator$2, a as Plugin } from "./chunks/converter-DyzbfydS.js";
13
+ import { aI, a5, i, a2 } from "./chunks/converter-DyzbfydS.js";
14
+ import { _ as _export_sfc, u as useHighContrastMode, a as getQuickFormatList, b as generateLinkedStyleString, c as getFileOpener, s as startImageUpload, y as yUndoPluginKey, d as undoDepth, r as redoDepth, S as SlashMenuPluginKey, E as Editor, e as getStarterExtensions, P as Placeholder, f as getRichTextExtensions, M as Mark, h as Extension, A as Attribute, N as Node } from "./chunks/editor-BWE7oMgS.js";
15
+ import { k, C, l, T, i as i2, m, j } from "./chunks/editor-BWE7oMgS.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, reactive, onUnmounted, renderSlot, shallowRef, createBlock, withCtx, resolveDynamicComponent, normalizeProps, guardReactiveProps } from "vue";
17
- import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, m as magicWandIcon, p as plusIconSvg, a as trashIconSvg, l as linkIconSvg, b as tableIconSvg, c as scissorsIconSvg, d as copyIconSvg, e as pasteIconSvg, f as borderNoneIconSvg, g as arrowsToDotIconSvg, h as arrowsLeftRightIconSvg, w as wrenchIconSvg, u as useMessage, N as NSkeleton } from "./chunks/toolbar-CpQ7L2K-.js";
17
+ import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, m as magicWandIcon, p as plusIconSvg, a as trashIconSvg, l as linkIconSvg, b as tableIconSvg, c as scissorsIconSvg, d as copyIconSvg, e as pasteIconSvg, f as borderNoneIconSvg, g as arrowsToDotIconSvg, h as arrowsLeftRightIconSvg, w as wrenchIconSvg, u as useMessage, N as NSkeleton } from "./chunks/toolbar-BmHEsvA1.js";
18
18
  import AIWriter from "./ai-writer.es.js";
19
- import { D } from "./chunks/docx-zipper-CDX2fnxb.js";
19
+ import { D } from "./chunks/docx-zipper-Bk9SAmal.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-CpQ7L2K-.js";
3
- import "./chunks/editor-MKuu81v8.js";
2
+ import { T } from "./chunks/toolbar-BmHEsvA1.js";
3
+ import "./chunks/editor-BWE7oMgS.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-CuNhawtn.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-Dzt_HBkR.cjs");
4
4
  require("./chunks/vue-DWle4Cai.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-D24_Ox1u.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-BollA_Sr.es.js";
2
2
  import "./chunks/vue-CXxsqYcP.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-CuNhawtn.cjs");
4
- const superdoc = require("./chunks/index-yRUOdLmp.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-Dzt_HBkR.cjs");
4
+ const superdoc = require("./chunks/index-B6tAKGVb.cjs");
5
5
  require("./chunks/vue-DWle4Cai.cjs");
6
6
  require("./chunks/jszip-b7l8QkfH.cjs");
7
7
  const blankDocx = require("./chunks/blank-docx-CPqX9RF5.cjs");
@@ -1,5 +1,5 @@
1
- import { a, E, b, S, d, i, j, n, r, p, q } from "./chunks/super-editor.es-D24_Ox1u.es.js";
2
- import { D, H, P, S as S2, m, l } from "./chunks/index-BjLjS5O9.es.js";
1
+ import { a, E, b, S, d, i, j, n, r, p, q } from "./chunks/super-editor.es-BollA_Sr.es.js";
2
+ import { D, H, P, S as S2, m, l } from "./chunks/index-C0kV6dM8.es.js";
3
3
  import "./chunks/vue-CXxsqYcP.es.js";
4
4
  import "./chunks/jszip-B8KIZSNe.es.js";
5
5
  import { B } from "./chunks/blank-docx-iwdyG9RH.es.js";