@harbour-enterprises/superdoc 0.27.1 → 0.27.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.
@@ -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-ZWZLQtoU.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-DrgW_dET.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-DQgfNO5M.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-DKMj1I9B.cjs");
4
- const superdoc = require("./index-YgCUdGXT.cjs");
4
+ const superdoc = require("./index-BQNAyXsJ.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-7l6hCwPa.cjs");
2
+ const superEditor_es = require("./super-editor.es-CXMLGicY.cjs");
3
3
  const vue = require("./vue-DKMj1I9B.cjs");
4
4
  const blankDocx = require("./blank-docx-DfW3Eeh2.cjs");
5
5
  const eventemitter3 = require("./eventemitter3-DkXkH2rT.cjs");
@@ -17167,7 +17167,7 @@ const _sfc_main = {
17167
17167
  __name: "SuperDoc",
17168
17168
  emits: ["selection-update"],
17169
17169
  setup(__props, { emit: __emit }) {
17170
- const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-C6UkvNl2.cjs")));
17170
+ const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-SvYnYFN5.cjs")));
17171
17171
  const superdocStore = useSuperdocStore();
17172
17172
  const commentsStore = useCommentsStore();
17173
17173
  const {
@@ -17931,7 +17931,7 @@ class SuperDoc extends eventemitter3.EventEmitter {
17931
17931
  this.config.colors = shuffleArray(this.config.colors);
17932
17932
  this.userColorMap = /* @__PURE__ */ new Map();
17933
17933
  this.colorIndex = 0;
17934
- this.version = "0.27.0";
17934
+ this.version = "0.27.1";
17935
17935
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
17936
17936
  this.superdocId = config.superdocId || uuid.v4();
17937
17937
  this.colors = this.config.colors;
@@ -1,4 +1,4 @@
1
- import { q as index, C as CommentsPluginKey, h as TrackChangesBasePluginKey, E as Editor, n as getRichTextExtensions, f as SuperInput, e as SuperEditor, A as AIWriter, g as SuperToolbar, i as createZip } from "./super-editor.es-BoTcjiEW.es.js";
1
+ import { q as index, C as CommentsPluginKey, h as TrackChangesBasePluginKey, E as Editor, n as getRichTextExtensions, f as SuperInput, e as SuperEditor, A as AIWriter, g as SuperToolbar, i as createZip } from "./super-editor.es-DZZtcuNp.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-ZWZLQtoU.es.js";
3
3
  import { B as BlankDOCX } from "./blank-docx-ABm6XYAA.es.js";
4
4
  import { E as EventEmitter } from "./eventemitter3-BWEnUdTY.es.js";
@@ -17150,7 +17150,7 @@ const _sfc_main = {
17150
17150
  __name: "SuperDoc",
17151
17151
  emits: ["selection-update"],
17152
17152
  setup(__props, { emit: __emit }) {
17153
- const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-DsDu4SQG.es.js"));
17153
+ const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-QTf-ibIZ.es.js"));
17154
17154
  const superdocStore = useSuperdocStore();
17155
17155
  const commentsStore = useCommentsStore();
17156
17156
  const {
@@ -17914,7 +17914,7 @@ class SuperDoc extends EventEmitter {
17914
17914
  this.config.colors = shuffleArray(this.config.colors);
17915
17915
  this.userColorMap = /* @__PURE__ */ new Map();
17916
17916
  this.colorIndex = 0;
17917
- this.version = "0.27.0";
17917
+ this.version = "0.27.1";
17918
17918
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
17919
17919
  this.superdocId = config.superdocId || v4();
17920
17920
  this.colors = this.config.colors;
@@ -15260,6 +15260,9 @@ const getArrayBufferFromUrl = async (input) => {
15260
15260
  const view = input;
15261
15261
  return view.buffer.slice(view.byteOffset, view.byteOffset + view.byteLength);
15262
15262
  }
15263
+ if (typeof Blob !== "undefined" && input instanceof Blob) {
15264
+ return await input.arrayBuffer();
15265
+ }
15263
15266
  if (typeof input !== "string") {
15264
15267
  throw new TypeError("Unsupported media input type");
15265
15268
  }
@@ -15390,13 +15393,9 @@ const hasSomeParentWithClass = (element, classname) => {
15390
15393
  return element.parentNode && hasSomeParentWithClass(element.parentNode, classname);
15391
15394
  };
15392
15395
  function generateDocxRandomId(length2 = 8) {
15393
- const characters = "0123456789abcdef";
15394
- let id = [];
15395
- for (let i = 0; i < length2; i++) {
15396
- const randomIndex = Math.floor(Math.random() * characters.length);
15397
- id.push(characters[randomIndex]);
15398
- }
15399
- return id.join("");
15396
+ const max2 = 2147483647;
15397
+ const value = Math.floor(Math.random() * (max2 + 1));
15398
+ return value.toString(16).padStart(length2, "0").slice(0, length2);
15400
15399
  }
15401
15400
  function generateRandomSigned32BitIntStrId() {
15402
15401
  const val = Math.floor(Math.random() * 2147483647);
@@ -35499,7 +35498,7 @@ const _SuperConverter = class _SuperConverter2 {
35499
35498
  static getStoredSuperdocVersion(docx) {
35500
35499
  return _SuperConverter2.getStoredCustomProperty(docx, "SuperdocVersion");
35501
35500
  }
35502
- static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.27.0") {
35501
+ static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.27.1") {
35503
35502
  return _SuperConverter2.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
35504
35503
  }
35505
35504
  /**
@@ -36023,18 +36022,19 @@ exportProcessNewRelationships_fn = function(rels = []) {
36023
36022
  });
36024
36023
  relationships.elements = [...relationships.elements, ...newRels];
36025
36024
  };
36026
- exportProcessMediaFiles_fn = async function(media, editor) {
36027
- const processedData = {};
36028
- for (const filePath in media) {
36029
- if (typeof media[filePath] !== "string") continue;
36030
- processedData[filePath] = await getArrayBufferFromUrl(media[filePath], editor.options.isHeadless);
36025
+ exportProcessMediaFiles_fn = async function(media = {}, editor) {
36026
+ const processedData = {
36027
+ ...this.convertedXml.media || {}
36028
+ };
36029
+ for (const [filePath, value] of Object.entries(media)) {
36030
+ if (value == null) continue;
36031
+ processedData[filePath] = await getArrayBufferFromUrl(value);
36031
36032
  }
36032
- this.convertedXml.media = {
36033
- ...this.convertedXml.media,
36033
+ this.convertedXml.media = processedData;
36034
+ this.media = this.convertedXml.media;
36035
+ this.addedMedia = {
36034
36036
  ...processedData
36035
36037
  };
36036
- this.media = this.convertedXml.media;
36037
- this.addedMedia = processedData;
36038
36038
  };
36039
36039
  __publicField$2(_SuperConverter, "allowedElements", Object.freeze({
36040
36040
  "w:document": "doc",
@@ -53690,7 +53690,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
53690
53690
  * @returns {Object | void} Migration results
53691
53691
  */
53692
53692
  processCollaborationMigrations() {
53693
- console.debug("[checkVersionMigrations] Current editor version", "0.27.0");
53693
+ console.debug("[checkVersionMigrations] Current editor version", "0.27.1");
53694
53694
  if (!this.options.ydoc) return;
53695
53695
  const metaMap = this.options.ydoc.getMap("meta");
53696
53696
  let docVersion = metaMap.get("version");
@@ -15243,6 +15243,9 @@ const getArrayBufferFromUrl = async (input) => {
15243
15243
  const view = input;
15244
15244
  return view.buffer.slice(view.byteOffset, view.byteOffset + view.byteLength);
15245
15245
  }
15246
+ if (typeof Blob !== "undefined" && input instanceof Blob) {
15247
+ return await input.arrayBuffer();
15248
+ }
15246
15249
  if (typeof input !== "string") {
15247
15250
  throw new TypeError("Unsupported media input type");
15248
15251
  }
@@ -15373,13 +15376,9 @@ const hasSomeParentWithClass = (element, classname) => {
15373
15376
  return element.parentNode && hasSomeParentWithClass(element.parentNode, classname);
15374
15377
  };
15375
15378
  function generateDocxRandomId(length2 = 8) {
15376
- const characters = "0123456789abcdef";
15377
- let id = [];
15378
- for (let i = 0; i < length2; i++) {
15379
- const randomIndex = Math.floor(Math.random() * characters.length);
15380
- id.push(characters[randomIndex]);
15381
- }
15382
- return id.join("");
15379
+ const max2 = 2147483647;
15380
+ const value = Math.floor(Math.random() * (max2 + 1));
15381
+ return value.toString(16).padStart(length2, "0").slice(0, length2);
15383
15382
  }
15384
15383
  function generateRandomSigned32BitIntStrId() {
15385
15384
  const val = Math.floor(Math.random() * 2147483647);
@@ -35482,7 +35481,7 @@ const _SuperConverter = class _SuperConverter2 {
35482
35481
  static getStoredSuperdocVersion(docx) {
35483
35482
  return _SuperConverter2.getStoredCustomProperty(docx, "SuperdocVersion");
35484
35483
  }
35485
- static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.27.0") {
35484
+ static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.27.1") {
35486
35485
  return _SuperConverter2.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
35487
35486
  }
35488
35487
  /**
@@ -36006,18 +36005,19 @@ exportProcessNewRelationships_fn = function(rels = []) {
36006
36005
  });
36007
36006
  relationships.elements = [...relationships.elements, ...newRels];
36008
36007
  };
36009
- exportProcessMediaFiles_fn = async function(media, editor) {
36010
- const processedData = {};
36011
- for (const filePath in media) {
36012
- if (typeof media[filePath] !== "string") continue;
36013
- processedData[filePath] = await getArrayBufferFromUrl(media[filePath], editor.options.isHeadless);
36008
+ exportProcessMediaFiles_fn = async function(media = {}, editor) {
36009
+ const processedData = {
36010
+ ...this.convertedXml.media || {}
36011
+ };
36012
+ for (const [filePath, value] of Object.entries(media)) {
36013
+ if (value == null) continue;
36014
+ processedData[filePath] = await getArrayBufferFromUrl(value);
36014
36015
  }
36015
- this.convertedXml.media = {
36016
- ...this.convertedXml.media,
36016
+ this.convertedXml.media = processedData;
36017
+ this.media = this.convertedXml.media;
36018
+ this.addedMedia = {
36017
36019
  ...processedData
36018
36020
  };
36019
- this.media = this.convertedXml.media;
36020
- this.addedMedia = processedData;
36021
36021
  };
36022
36022
  __publicField$2(_SuperConverter, "allowedElements", Object.freeze({
36023
36023
  "w:document": "doc",
@@ -53673,7 +53673,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
53673
53673
  * @returns {Object | void} Migration results
53674
53674
  */
53675
53675
  processCollaborationMigrations() {
53676
- console.debug("[checkVersionMigrations] Current editor version", "0.27.0");
53676
+ console.debug("[checkVersionMigrations] Current editor version", "0.27.1");
53677
53677
  if (!this.options.ydoc) return;
53678
53678
  const metaMap = this.options.ydoc.getMap("meta");
53679
53679
  let docVersion = metaMap.get("version");
@@ -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-BJ1bPuXb.js";
3
- import { _ as _export_sfc } from "./chunks/editor-CzBg0BQ9.js";
2
+ import { T as TextSelection } from "./chunks/converter-1yyeF8ps.js";
3
+ import { _ as _export_sfc } from "./chunks/editor-CPZ0xRsM.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 = {}) {
@@ -15241,6 +15241,9 @@ const getArrayBufferFromUrl = async (input) => {
15241
15241
  const view = input;
15242
15242
  return view.buffer.slice(view.byteOffset, view.byteOffset + view.byteLength);
15243
15243
  }
15244
+ if (typeof Blob !== "undefined" && input instanceof Blob) {
15245
+ return await input.arrayBuffer();
15246
+ }
15244
15247
  if (typeof input !== "string") {
15245
15248
  throw new TypeError("Unsupported media input type");
15246
15249
  }
@@ -15371,13 +15374,9 @@ const hasSomeParentWithClass = (element, classname) => {
15371
15374
  return element.parentNode && hasSomeParentWithClass(element.parentNode, classname);
15372
15375
  };
15373
15376
  function generateDocxRandomId(length = 8) {
15374
- const characters = "0123456789abcdef";
15375
- let id = [];
15376
- for (let i = 0; i < length; i++) {
15377
- const randomIndex = Math.floor(Math.random() * characters.length);
15378
- id.push(characters[randomIndex]);
15379
- }
15380
- return id.join("");
15377
+ const max2 = 2147483647;
15378
+ const value = Math.floor(Math.random() * (max2 + 1));
15379
+ return value.toString(16).padStart(length, "0").slice(0, length);
15381
15380
  }
15382
15381
  function generateRandomSigned32BitIntStrId() {
15383
15382
  const val = Math.floor(Math.random() * 2147483647);
@@ -35489,7 +35488,7 @@ const _SuperConverter = class _SuperConverter {
35489
35488
  static getStoredSuperdocVersion(docx) {
35490
35489
  return _SuperConverter.getStoredCustomProperty(docx, "SuperdocVersion");
35491
35490
  }
35492
- static setStoredSuperdocVersion(docx = this.convertedXml, version = "0.27.0") {
35491
+ static setStoredSuperdocVersion(docx = this.convertedXml, version = "0.27.1") {
35493
35492
  return _SuperConverter.setStoredCustomProperty(docx, "SuperdocVersion", version, false);
35494
35493
  }
35495
35494
  /**
@@ -36016,18 +36015,19 @@ exportProcessNewRelationships_fn = function(rels = []) {
36016
36015
  });
36017
36016
  relationships.elements = [...relationships.elements, ...newRels];
36018
36017
  };
36019
- exportProcessMediaFiles_fn = async function(media, editor) {
36020
- const processedData = {};
36021
- for (const filePath in media) {
36022
- if (typeof media[filePath] !== "string") continue;
36023
- processedData[filePath] = await getArrayBufferFromUrl(media[filePath], editor.options.isHeadless);
36018
+ exportProcessMediaFiles_fn = async function(media = {}, editor) {
36019
+ const processedData = {
36020
+ ...this.convertedXml.media || {}
36021
+ };
36022
+ for (const [filePath, value] of Object.entries(media)) {
36023
+ if (value == null) continue;
36024
+ processedData[filePath] = await getArrayBufferFromUrl(value);
36024
36025
  }
36025
- this.convertedXml.media = {
36026
- ...this.convertedXml.media,
36026
+ this.convertedXml.media = processedData;
36027
+ this.media = this.convertedXml.media;
36028
+ this.addedMedia = {
36027
36029
  ...processedData
36028
36030
  };
36029
- this.media = this.convertedXml.media;
36030
- this.addedMedia = processedData;
36031
36031
  };
36032
36032
  __publicField(_SuperConverter, "allowedElements", Object.freeze({
36033
36033
  "w:document": "doc",
@@ -1,4 +1,4 @@
1
- import { p as process$1, az as commonjsGlobal, B as Buffer, aA as getDefaultExportFromCjs, aB as getContentTypesFromXml, aC as xmljs } from "./converter-BJ1bPuXb.js";
1
+ import { p as process$1, az as commonjsGlobal, B as Buffer, aA as getDefaultExportFromCjs, aB as getContentTypesFromXml, aC as xmljs } from "./converter-1yyeF8ps.js";
2
2
  function commonjsRequire(path) {
3
3
  throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
4
4
  }
@@ -12,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, checkFonts_fn, determineUnsupportedFonts_fn, createSchema_fn, generatePmData_fn, createView_fn, onCollaborationReady_fn, initComments_fn, initPagination_fn, dispatchTransaction_fn, handleNodeSelection_fn, prepareDocumentForImport_fn, prepareDocumentForExport_fn, endCollaboration_fn, validateDocumentInit_fn, validateDocumentExport_fn, initDevTools_fn, _DocumentSectionView_instances, init_fn2, addToolTip_fn, _ListItemNodeView_instances, init_fn3, applyIndentStyling_fn, _FieldAnnotationView_instances, createAnnotation_fn, _AutoPageNumberNodeView_instances, renderDom_fn, scheduleUpdateNodeStyle_fn;
13
13
  import * as Y from "yjs";
14
14
  import { UndoManager, Item as Item$1, ContentType, Text as Text$1, XmlElement, encodeStateAsUpdate } from "yjs";
15
- import { P as PluginKey, a as Plugin, M as Mapping, N as NodeSelection, S as Selection, T as TextSelection, b as Slice, D as DOMSerializer, F as Fragment, c as DOMParser$1, d as Mark$1, e as dropPoint, A as AllSelection, p as process$1, B as Buffer2, f as callOrGet, g as getExtensionConfigField, h as getMarkType, i as getMarksFromSelection, j as getNodeType, k as getSchemaTypeNameByName, l as Schema$1, m as cleanSchemaItem, n as canSplit, o as defaultBlockAt$1, q as liftTarget, r as canJoin, s as joinPoint, t as replaceStep$1, R as ReplaceAroundStep$1, u as isTextSelection, v as getMarkRange, w as isMarkActive, x as isNodeActive, y as deleteProps, z as processContent, C as ReplaceStep, E as NodeRange, G as findWrapping, L as ListHelpers, H as findParentNode, I as isMacOS, J as isIOS, K as getSchemaTypeByName, O as inputRulesPlugin, Q as TrackDeleteMarkName, U as TrackInsertMarkName, V as v4, W as TrackFormatMarkName, X as comments_module_events, Y as findMark, Z as objectIncludes, _ as AddMarkStep, $ as RemoveMarkStep, a0 as twipsToLines, a1 as pixelsToTwips, a2 as helpers, a3 as posToDOMRect, a4 as CommandService, a5 as SuperConverter, a6 as createDocument, a7 as createDocFromMarkdown, a8 as createDocFromHTML, a9 as EditorState, aa as hasSomeParentWithClass, ab as isActive, ac as unflattenListsInHtml, ad as parseSizeUnit, ae as minMax, af as getLineHeightValueString, ag as updateDOMAttributes, ah as findChildren$5, ai as htmlHandler, aj as generateRandomSigned32BitIntStrId, ak as InputRule, al as kebabCase, am as findParentNodeClosestToPos, an as getListItemStyleDefinitions, ao as docxNumberingHelpers, ap as parseIndentElement, aq as combineIndents, ar as twipsToPixels, as as PIXELS_PER_INCH, at as SelectionRange, au as Transform, av as isInTable$1, aw as generateDocxRandomId, ax as insertNewRelationship, ay as inchesToPixels } from "./converter-BJ1bPuXb.js";
15
+ import { P as PluginKey, a as Plugin, M as Mapping, N as NodeSelection, S as Selection, T as TextSelection, b as Slice, D as DOMSerializer, F as Fragment, c as DOMParser$1, d as Mark$1, e as dropPoint, A as AllSelection, p as process$1, B as Buffer2, f as callOrGet, g as getExtensionConfigField, h as getMarkType, i as getMarksFromSelection, j as getNodeType, k as getSchemaTypeNameByName, l as Schema$1, m as cleanSchemaItem, n as canSplit, o as defaultBlockAt$1, q as liftTarget, r as canJoin, s as joinPoint, t as replaceStep$1, R as ReplaceAroundStep$1, u as isTextSelection, v as getMarkRange, w as isMarkActive, x as isNodeActive, y as deleteProps, z as processContent, C as ReplaceStep, E as NodeRange, G as findWrapping, L as ListHelpers, H as findParentNode, I as isMacOS, J as isIOS, K as getSchemaTypeByName, O as inputRulesPlugin, Q as TrackDeleteMarkName, U as TrackInsertMarkName, V as v4, W as TrackFormatMarkName, X as comments_module_events, Y as findMark, Z as objectIncludes, _ as AddMarkStep, $ as RemoveMarkStep, a0 as twipsToLines, a1 as pixelsToTwips, a2 as helpers, a3 as posToDOMRect, a4 as CommandService, a5 as SuperConverter, a6 as createDocument, a7 as createDocFromMarkdown, a8 as createDocFromHTML, a9 as EditorState, aa as hasSomeParentWithClass, ab as isActive, ac as unflattenListsInHtml, ad as parseSizeUnit, ae as minMax, af as getLineHeightValueString, ag as updateDOMAttributes, ah as findChildren$5, ai as htmlHandler, aj as generateRandomSigned32BitIntStrId, ak as InputRule, al as kebabCase, am as findParentNodeClosestToPos, an as getListItemStyleDefinitions, ao as docxNumberingHelpers, ap as parseIndentElement, aq as combineIndents, ar as twipsToPixels, as as PIXELS_PER_INCH, at as SelectionRange, au as Transform, av as isInTable$1, aw as generateDocxRandomId, ax as insertNewRelationship, ay as inchesToPixels } from "./converter-1yyeF8ps.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-G4RVehZb.js";
17
+ import { D as DocxZipper } from "./docx-zipper-BEjtusvb.js";
18
18
  var GOOD_LEAF_SIZE = 200;
19
19
  var RopeSequence = function RopeSequence2() {
20
20
  };
@@ -15059,7 +15059,7 @@ const _Editor = class _Editor extends EventEmitter {
15059
15059
  * @returns {Object | void} Migration results
15060
15060
  */
15061
15061
  processCollaborationMigrations() {
15062
- console.debug("[checkVersionMigrations] Current editor version", "0.27.0");
15062
+ console.debug("[checkVersionMigrations] Current editor version", "0.27.1");
15063
15063
  if (!this.options.ydoc) return;
15064
15064
  const metaMap = this.options.ydoc.getMap("meta");
15065
15065
  let docVersion = metaMap.get("version");
@@ -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-BJ1bPuXb.js";
3
- import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-CzBg0BQ9.js";
2
+ import { p as process$1 } from "./converter-1yyeF8ps.js";
3
+ import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-CPZ0xRsM.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-BJ1bPuXb.js";
1
+ import { a5 } from "./chunks/converter-1yyeF8ps.js";
2
2
  import "vue";
3
3
  export {
4
4
  a5 as SuperConverter
@@ -1,5 +1,5 @@
1
- import "./chunks/converter-BJ1bPuXb.js";
2
- import { D } from "./chunks/docx-zipper-G4RVehZb.js";
1
+ import "./chunks/converter-1yyeF8ps.js";
2
+ import { D } from "./chunks/docx-zipper-BEjtusvb.js";
3
3
  export {
4
4
  D as default
5
5
  };
@@ -1,6 +1,6 @@
1
- import { E } from "./chunks/editor-CzBg0BQ9.js";
2
- import "./chunks/converter-BJ1bPuXb.js";
3
- import "./chunks/docx-zipper-G4RVehZb.js";
1
+ import { E } from "./chunks/editor-CPZ0xRsM.js";
2
+ import "./chunks/converter-1yyeF8ps.js";
3
+ import "./chunks/docx-zipper-BEjtusvb.js";
4
4
  export {
5
5
  E as Editor
6
6
  };
@@ -1,4 +1,4 @@
1
- import { J as JSZip } from "./chunks/docx-zipper-G4RVehZb.js";
1
+ import { J as JSZip } from "./chunks/docx-zipper-BEjtusvb.js";
2
2
  async function createZip(blobs, fileNames) {
3
3
  const zip = new JSZip();
4
4
  blobs.forEach((blob, index) => {
@@ -9,14 +9,14 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
9
9
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
10
10
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
11
11
  var _SuperToolbar_instances, initToolbarGroups_fn, _interceptedCommands, makeToolbarItems_fn, initDefaultFonts_fn, updateHighlightColors_fn, deactivateAll_fn, updateToolbarHistory_fn, enrichTrackedChanges_fn, runCommandWithArgumentOnly_fn;
12
- import { aA as getDefaultExportFromCjs, V as v4, T as TextSelection$1, v as getMarkRange, aD as vClickOutside, H as findParentNode, aE as getActiveFormatting, av as isInTable, aF as readFromClipboard, aG as handleClipboardPaste, aH as getFileObject, aI as runPropertyTranslators, aJ as translator, aK as translator$1, aL as translator$2, aM as translator$3, aN as translator$4, aO as translator$5, aP as translator$6, aQ as translator$7, aR as translator$8, aS as translator$9, aT as translator$a, aU as translator$b, aV as translator$c, aW as translator$d, aX as translator$e, aY as commentRangeEndTranslator, aZ as commentRangeStartTranslator, a_ as translator$f, a$ as translator$g, b0 as translator$h, b1 as translator$i, b2 as translator$j, b3 as translator$k, b4 as translator$l, b5 as translator$m, b6 as translator$n, b7 as translator$o, b8 as translator$p, b9 as translator$q, ba as translator$r, bb as translator$s, bc as translator$t, bd as translator$u, be as translator$v, bf as translator$w, bg as translator$x, bh as translator$y, bi as translator$z, bj as translator$A, bk as translator$B, bl as translator$C, bm as translator$D, bn as translator$E, bo as translator$F, bp as translator$G, bq as translator$H, br as translator$I, bs as translator$J, bt as translator$K, bu as translator$L, bv as translator$M, bw as translator$N, bx as translator$O, by as translator$P, bz as translator$Q, bA as translator$R, bB as translator$S, bC as translator$T, bD as translator$U, bE as translator$V, bF as translator$W, bG as translator$X, bH as translator$Y, bI as translator$Z, bJ as translator$_, bK as translator$$, bL as translator$10, bM as translator$11, bN as translator$12, bO as translator$13, bP as translator$14, bQ as translator$15, bR as translator$16, bS as translator$17, bT as translator$18, bU as translator$19, bV as translator$1a, bW as translator$1b, bX as translator$1c, bY as translator$1d, bZ as translator$1e, b_ as translator$1f, b$ as translator$1g, c0 as translator$1h, P as PluginKey, a as Plugin } from "./chunks/converter-BJ1bPuXb.js";
13
- import { c1, a5, i, a2 } from "./chunks/converter-BJ1bPuXb.js";
14
- import { _ as _export_sfc, u as useHighContrastMode, a as getQuickFormatList, b as generateLinkedStyleString, c as getFileOpener, d as checkAndProcessImage, r as replaceSelectionWithImagePlaceholder, e as uploadAndInsertImage, f as collectTrackedChanges, i as isTrackedChangeActionAllowed, y as yUndoPluginKey, h as undoDepth, j as redoDepth, k as collectTrackedChangesForContext, s as shouldBypassContextMenu, S as SlashMenuPluginKey, E as Editor, l as getStarterExtensions, P as Placeholder, m as getRichTextExtensions, D as DecorationSet, n as Decoration, M as Mark, o as Extension, A as Attribute, N as Node } from "./chunks/editor-CzBg0BQ9.js";
15
- import { t, C, v, T, p, w, q } from "./chunks/editor-CzBg0BQ9.js";
12
+ import { aA as getDefaultExportFromCjs, V as v4, T as TextSelection$1, v as getMarkRange, aD as vClickOutside, H as findParentNode, aE as getActiveFormatting, av as isInTable, aF as readFromClipboard, aG as handleClipboardPaste, aH as getFileObject, aI as runPropertyTranslators, aJ as translator, aK as translator$1, aL as translator$2, aM as translator$3, aN as translator$4, aO as translator$5, aP as translator$6, aQ as translator$7, aR as translator$8, aS as translator$9, aT as translator$a, aU as translator$b, aV as translator$c, aW as translator$d, aX as translator$e, aY as commentRangeEndTranslator, aZ as commentRangeStartTranslator, a_ as translator$f, a$ as translator$g, b0 as translator$h, b1 as translator$i, b2 as translator$j, b3 as translator$k, b4 as translator$l, b5 as translator$m, b6 as translator$n, b7 as translator$o, b8 as translator$p, b9 as translator$q, ba as translator$r, bb as translator$s, bc as translator$t, bd as translator$u, be as translator$v, bf as translator$w, bg as translator$x, bh as translator$y, bi as translator$z, bj as translator$A, bk as translator$B, bl as translator$C, bm as translator$D, bn as translator$E, bo as translator$F, bp as translator$G, bq as translator$H, br as translator$I, bs as translator$J, bt as translator$K, bu as translator$L, bv as translator$M, bw as translator$N, bx as translator$O, by as translator$P, bz as translator$Q, bA as translator$R, bB as translator$S, bC as translator$T, bD as translator$U, bE as translator$V, bF as translator$W, bG as translator$X, bH as translator$Y, bI as translator$Z, bJ as translator$_, bK as translator$$, bL as translator$10, bM as translator$11, bN as translator$12, bO as translator$13, bP as translator$14, bQ as translator$15, bR as translator$16, bS as translator$17, bT as translator$18, bU as translator$19, bV as translator$1a, bW as translator$1b, bX as translator$1c, bY as translator$1d, bZ as translator$1e, b_ as translator$1f, b$ as translator$1g, c0 as translator$1h, P as PluginKey, a as Plugin } from "./chunks/converter-1yyeF8ps.js";
13
+ import { c1, a5, i, a2 } from "./chunks/converter-1yyeF8ps.js";
14
+ import { _ as _export_sfc, u as useHighContrastMode, a as getQuickFormatList, b as generateLinkedStyleString, c as getFileOpener, d as checkAndProcessImage, r as replaceSelectionWithImagePlaceholder, e as uploadAndInsertImage, f as collectTrackedChanges, i as isTrackedChangeActionAllowed, y as yUndoPluginKey, h as undoDepth, j as redoDepth, k as collectTrackedChangesForContext, s as shouldBypassContextMenu, S as SlashMenuPluginKey, E as Editor, l as getStarterExtensions, P as Placeholder, m as getRichTextExtensions, D as DecorationSet, n as Decoration, M as Mark, o as Extension, A as Attribute, N as Node } from "./chunks/editor-CPZ0xRsM.js";
15
+ import { t, C, v, T, p, w, q } from "./chunks/editor-CPZ0xRsM.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, p as plusIconSvg, a as trashIconSvg, b as borderNoneIconSvg, c as arrowsToDotIconSvg, d as arrowsLeftRightIconSvg, w as wrenchIconSvg, m as magicWandIcon, e as checkIconSvg$1, x as xMarkIconSvg, l as linkIconSvg, f as tableIconSvg, g as scissorsIconSvg, h as copyIconSvg, i as pasteIconSvg, u as useMessage, N as NSkeleton } from "./chunks/toolbar-BitBFq94.js";
17
+ import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, p as plusIconSvg, a as trashIconSvg, b as borderNoneIconSvg, c as arrowsToDotIconSvg, d as arrowsLeftRightIconSvg, w as wrenchIconSvg, m as magicWandIcon, e as checkIconSvg$1, x as xMarkIconSvg, l as linkIconSvg, f as tableIconSvg, g as scissorsIconSvg, h as copyIconSvg, i as pasteIconSvg, u as useMessage, N as NSkeleton } from "./chunks/toolbar-7TxVWbRl.js";
18
18
  import AIWriter from "./ai-writer.es.js";
19
- import { D } from "./chunks/docx-zipper-G4RVehZb.js";
19
+ import { D } from "./chunks/docx-zipper-BEjtusvb.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-BitBFq94.js";
3
- import "./chunks/editor-CzBg0BQ9.js";
2
+ import { T } from "./chunks/toolbar-7TxVWbRl.js";
3
+ import "./chunks/editor-CPZ0xRsM.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-7l6hCwPa.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-CXMLGicY.cjs");
4
4
  require("./chunks/vue-DKMj1I9B.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-BoTcjiEW.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-DZZtcuNp.es.js";
2
2
  import "./chunks/vue-ZWZLQtoU.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-7l6hCwPa.cjs");
4
- const superdoc = require("./chunks/index-YgCUdGXT.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-CXMLGicY.cjs");
4
+ const superdoc = require("./chunks/index-BQNAyXsJ.cjs");
5
5
  require("./chunks/vue-DKMj1I9B.cjs");
6
6
  const blankDocx = require("./chunks/blank-docx-DfW3Eeh2.cjs");
7
7
  exports.AnnotatorHelpers = superEditor_es.AnnotatorHelpers;
@@ -1,5 +1,5 @@
1
- import { a, E, b, S, d, i, j, n, r, p, q } from "./chunks/super-editor.es-BoTcjiEW.es.js";
2
- import { D, H, P, S as S2, m, l } from "./chunks/index-DrgW_dET.es.js";
1
+ import { a, E, b, S, d, i, j, n, r, p, q } from "./chunks/super-editor.es-DZZtcuNp.es.js";
2
+ import { D, H, P, S as S2, m, l } from "./chunks/index-DQgfNO5M.es.js";
3
3
  import "./chunks/vue-ZWZLQtoU.es.js";
4
4
  import { B } from "./chunks/blank-docx-ABm6XYAA.es.js";
5
5
  export {
@@ -22985,6 +22985,9 @@
22985
22985
  const view = input;
22986
22986
  return view.buffer.slice(view.byteOffset, view.byteOffset + view.byteLength);
22987
22987
  }
22988
+ if (typeof Blob !== "undefined" && input instanceof Blob) {
22989
+ return await input.arrayBuffer();
22990
+ }
22988
22991
  if (typeof input !== "string") {
22989
22992
  throw new TypeError("Unsupported media input type");
22990
22993
  }
@@ -23115,13 +23118,9 @@
23115
23118
  return element.parentNode && hasSomeParentWithClass(element.parentNode, classname);
23116
23119
  };
23117
23120
  function generateDocxRandomId(length2 = 8) {
23118
- const characters = "0123456789abcdef";
23119
- let id = [];
23120
- for (let i2 = 0; i2 < length2; i2++) {
23121
- const randomIndex = Math.floor(Math.random() * characters.length);
23122
- id.push(characters[randomIndex]);
23123
- }
23124
- return id.join("");
23121
+ const max2 = 2147483647;
23122
+ const value = Math.floor(Math.random() * (max2 + 1));
23123
+ return value.toString(16).padStart(length2, "0").slice(0, length2);
23125
23124
  }
23126
23125
  function generateRandomSigned32BitIntStrId() {
23127
23126
  const val = Math.floor(Math.random() * 2147483647);
@@ -43197,7 +43196,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
43197
43196
  static getStoredSuperdocVersion(docx) {
43198
43197
  return _SuperConverter2.getStoredCustomProperty(docx, "SuperdocVersion");
43199
43198
  }
43200
- static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.27.0") {
43199
+ static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.27.1") {
43201
43200
  return _SuperConverter2.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
43202
43201
  }
43203
43202
  /**
@@ -43721,18 +43720,19 @@ Please report this to https://github.com/markedjs/marked.`, e) {
43721
43720
  });
43722
43721
  relationships.elements = [...relationships.elements, ...newRels];
43723
43722
  };
43724
- exportProcessMediaFiles_fn = async function(media, editor) {
43725
- const processedData = {};
43726
- for (const filePath in media) {
43727
- if (typeof media[filePath] !== "string") continue;
43728
- processedData[filePath] = await getArrayBufferFromUrl(media[filePath], editor.options.isHeadless);
43723
+ exportProcessMediaFiles_fn = async function(media = {}, editor) {
43724
+ const processedData = {
43725
+ ...this.convertedXml.media || {}
43726
+ };
43727
+ for (const [filePath, value] of Object.entries(media)) {
43728
+ if (value == null) continue;
43729
+ processedData[filePath] = await getArrayBufferFromUrl(value);
43729
43730
  }
43730
- this.convertedXml.media = {
43731
- ...this.convertedXml.media,
43731
+ this.convertedXml.media = processedData;
43732
+ this.media = this.convertedXml.media;
43733
+ this.addedMedia = {
43732
43734
  ...processedData
43733
43735
  };
43734
- this.media = this.convertedXml.media;
43735
- this.addedMedia = processedData;
43736
43736
  };
43737
43737
  __publicField$2(_SuperConverter, "allowedElements", Object.freeze({
43738
43738
  "w:document": "doc",
@@ -61388,7 +61388,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
61388
61388
  * @returns {Object | void} Migration results
61389
61389
  */
61390
61390
  processCollaborationMigrations() {
61391
- console.debug("[checkVersionMigrations] Current editor version", "0.27.0");
61391
+ console.debug("[checkVersionMigrations] Current editor version", "0.27.1");
61392
61392
  if (!this.options.ydoc) return;
61393
61393
  const metaMap = this.options.ydoc.getMap("meta");
61394
61394
  let docVersion = metaMap.get("version");
@@ -116821,7 +116821,7 @@ ${style2}
116821
116821
  this.config.colors = shuffleArray(this.config.colors);
116822
116822
  this.userColorMap = /* @__PURE__ */ new Map();
116823
116823
  this.colorIndex = 0;
116824
- this.version = "0.27.0";
116824
+ this.version = "0.27.1";
116825
116825
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
116826
116826
  this.superdocId = config2.superdocId || v4();
116827
116827
  this.colors = this.config.colors;