@harbour-enterprises/superdoc 0.22.3 → 0.22.4

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-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-DGn4kyLG.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-BBtyMwTy.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-QO_BuqN-.cjs");
4
+ const superdoc = require("./index-BThNlUGw.cjs");
5
5
  function self(vars) {
6
6
  const {
7
7
  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-YBQ4PDxD.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-OTD84UIr.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";
@@ -17397,7 +17397,7 @@ const _sfc_main = {
17397
17397
  __name: "SuperDoc",
17398
17398
  emits: ["selection-update"],
17399
17399
  setup(__props, { emit: __emit }) {
17400
- const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-BLHsHKWf.es.js"));
17400
+ const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-Bp9874ce.es.js"));
17401
17401
  const superdocStore = useSuperdocStore();
17402
17402
  const commentsStore = useCommentsStore();
17403
17403
  const {
@@ -18044,7 +18044,7 @@ class SuperDoc extends EventEmitter {
18044
18044
  this.config.colors = shuffleArray(this.config.colors);
18045
18045
  this.userColorMap = /* @__PURE__ */ new Map();
18046
18046
  this.colorIndex = 0;
18047
- this.version = "0.22.2";
18047
+ this.version = "0.22.3";
18048
18048
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
18049
18049
  this.superdocId = config.superdocId || v4();
18050
18050
  this.colors = this.config.colors;
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const superEditor_es = require("./super-editor.es-CX7qZELP.cjs");
2
+ const superEditor_es = require("./super-editor.es-LHfG1Rg2.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");
@@ -17414,7 +17414,7 @@ const _sfc_main = {
17414
17414
  __name: "SuperDoc",
17415
17415
  emits: ["selection-update"],
17416
17416
  setup(__props, { emit: __emit }) {
17417
- const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-C9bdbIaV.cjs")));
17417
+ const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-Ouak6KpH.cjs")));
17418
17418
  const superdocStore = useSuperdocStore();
17419
17419
  const commentsStore = useCommentsStore();
17420
17420
  const {
@@ -18061,7 +18061,7 @@ class SuperDoc extends eventemitter3.EventEmitter {
18061
18061
  this.config.colors = shuffleArray(this.config.colors);
18062
18062
  this.userColorMap = /* @__PURE__ */ new Map();
18063
18063
  this.colorIndex = 0;
18064
- this.version = "0.22.2";
18064
+ this.version = "0.22.3";
18065
18065
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
18066
18066
  this.superdocId = config.superdocId || uuid.v4();
18067
18067
  this.colors = this.config.colors;
@@ -21412,11 +21412,11 @@ function stripHtmlStyles(html) {
21412
21412
  ];
21413
21413
  const cleanNode = (node) => {
21414
21414
  if (node.nodeType !== window.Node.ELEMENT_NODE) return;
21415
+ if (node.nodeName.toLowerCase() === "span" && !node.children.length) {
21416
+ node.innerHTML = preserveSpaces(node.innerHTML);
21417
+ }
21415
21418
  [...node.attributes].forEach((attr) => {
21416
21419
  const name = attr.name.toLowerCase();
21417
- if (node.nodeName.toLowerCase() === "span") {
21418
- node.innerHTML = node.innerHTML.replace(/(\S) (<\/span>)/g, "$1&nbsp;$2");
21419
- }
21420
21420
  if (name === "style") {
21421
21421
  const cleanedStyle = cleanStyle(attr.value);
21422
21422
  if (!cleanedStyle) {
@@ -21440,6 +21440,9 @@ function cleanStyle(style2) {
21440
21440
  const textAlign = declarations.find((d2) => d2.startsWith("text-align"));
21441
21441
  return textAlign ? `${textAlign};` : "";
21442
21442
  }
21443
+ function preserveSpaces(innerHtml) {
21444
+ return innerHtml.replace(/^\s+/, "&nbsp;").replace(/\s+$/, "&nbsp;");
21445
+ }
21443
21446
  function createDocFromHTML(content, schema, options = {}) {
21444
21447
  const { isImport = false } = options;
21445
21448
  let parsedContent;
@@ -33524,7 +33527,7 @@ const _SuperConverter = class _SuperConverter2 {
33524
33527
  return;
33525
33528
  }
33526
33529
  }
33527
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.22.2") {
33530
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.22.3") {
33528
33531
  const customLocation = "docProps/custom.xml";
33529
33532
  if (!docx[customLocation]) {
33530
33533
  docx[customLocation] = generateCustomXml();
@@ -34013,7 +34016,7 @@ function storeSuperdocVersion(docx) {
34013
34016
  function generateCustomXml() {
34014
34017
  return DEFAULT_CUSTOM_XML;
34015
34018
  }
34016
- function generateSuperdocVersion(pid = 2, version2 = "0.22.2") {
34019
+ function generateSuperdocVersion(pid = 2, version2 = "0.22.3") {
34017
34020
  return {
34018
34021
  type: "element",
34019
34022
  name: "property",
@@ -51456,7 +51459,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
51456
51459
  * @returns {Object | void} Migration results
51457
51460
  */
51458
51461
  processCollaborationMigrations() {
51459
- console.debug("[checkVersionMigrations] Current editor version", "0.22.2");
51462
+ console.debug("[checkVersionMigrations] Current editor version", "0.22.3");
51460
51463
  if (!this.options.ydoc) return;
51461
51464
  const metaMap = this.options.ydoc.getMap("meta");
51462
51465
  let docVersion = metaMap.get("version");
@@ -21395,11 +21395,11 @@ function stripHtmlStyles(html) {
21395
21395
  ];
21396
21396
  const cleanNode = (node) => {
21397
21397
  if (node.nodeType !== window.Node.ELEMENT_NODE) return;
21398
+ if (node.nodeName.toLowerCase() === "span" && !node.children.length) {
21399
+ node.innerHTML = preserveSpaces(node.innerHTML);
21400
+ }
21398
21401
  [...node.attributes].forEach((attr) => {
21399
21402
  const name = attr.name.toLowerCase();
21400
- if (node.nodeName.toLowerCase() === "span") {
21401
- node.innerHTML = node.innerHTML.replace(/(\S) (<\/span>)/g, "$1&nbsp;$2");
21402
- }
21403
21403
  if (name === "style") {
21404
21404
  const cleanedStyle = cleanStyle(attr.value);
21405
21405
  if (!cleanedStyle) {
@@ -21423,6 +21423,9 @@ function cleanStyle(style2) {
21423
21423
  const textAlign = declarations.find((d2) => d2.startsWith("text-align"));
21424
21424
  return textAlign ? `${textAlign};` : "";
21425
21425
  }
21426
+ function preserveSpaces(innerHtml) {
21427
+ return innerHtml.replace(/^\s+/, "&nbsp;").replace(/\s+$/, "&nbsp;");
21428
+ }
21426
21429
  function createDocFromHTML(content, schema, options = {}) {
21427
21430
  const { isImport = false } = options;
21428
21431
  let parsedContent;
@@ -33507,7 +33510,7 @@ const _SuperConverter = class _SuperConverter2 {
33507
33510
  return;
33508
33511
  }
33509
33512
  }
33510
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.22.2") {
33513
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.22.3") {
33511
33514
  const customLocation = "docProps/custom.xml";
33512
33515
  if (!docx[customLocation]) {
33513
33516
  docx[customLocation] = generateCustomXml();
@@ -33996,7 +33999,7 @@ function storeSuperdocVersion(docx) {
33996
33999
  function generateCustomXml() {
33997
34000
  return DEFAULT_CUSTOM_XML;
33998
34001
  }
33999
- function generateSuperdocVersion(pid = 2, version2 = "0.22.2") {
34002
+ function generateSuperdocVersion(pid = 2, version2 = "0.22.3") {
34000
34003
  return {
34001
34004
  type: "element",
34002
34005
  name: "property",
@@ -51439,7 +51442,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
51439
51442
  * @returns {Object | void} Migration results
51440
51443
  */
51441
51444
  processCollaborationMigrations() {
51442
- console.debug("[checkVersionMigrations] Current editor version", "0.22.2");
51445
+ console.debug("[checkVersionMigrations] Current editor version", "0.22.3");
51443
51446
  if (!this.options.ydoc) return;
51444
51447
  const metaMap = this.options.ydoc.getMap("meta");
51445
51448
  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-DIyhRrPw.js";
3
- import { _ as _export_sfc } from "./chunks/editor-DsJzlCE-.js";
2
+ import { T as TextSelection } from "./chunks/converter-BXpLuiGp.js";
3
+ import { _ as _export_sfc } from "./chunks/editor-D5lcho1I.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 = {}) {
@@ -21393,11 +21393,11 @@ function stripHtmlStyles(html) {
21393
21393
  ];
21394
21394
  const cleanNode = (node) => {
21395
21395
  if (node.nodeType !== window.Node.ELEMENT_NODE) return;
21396
+ if (node.nodeName.toLowerCase() === "span" && !node.children.length) {
21397
+ node.innerHTML = preserveSpaces(node.innerHTML);
21398
+ }
21396
21399
  [...node.attributes].forEach((attr) => {
21397
21400
  const name = attr.name.toLowerCase();
21398
- if (node.nodeName.toLowerCase() === "span") {
21399
- node.innerHTML = node.innerHTML.replace(/(\S) (<\/span>)/g, "$1&nbsp;$2");
21400
- }
21401
21401
  if (name === "style") {
21402
21402
  const cleanedStyle = cleanStyle(attr.value);
21403
21403
  if (!cleanedStyle) {
@@ -21421,6 +21421,9 @@ function cleanStyle(style) {
21421
21421
  const textAlign = declarations.find((d2) => d2.startsWith("text-align"));
21422
21422
  return textAlign ? `${textAlign};` : "";
21423
21423
  }
21424
+ function preserveSpaces(innerHtml) {
21425
+ return innerHtml.replace(/^\s+/, "&nbsp;").replace(/\s+$/, "&nbsp;");
21426
+ }
21424
21427
  function createDocFromHTML(content, schema, options = {}) {
21425
21428
  const { isImport = false } = options;
21426
21429
  let parsedContent;
@@ -33514,7 +33517,7 @@ const _SuperConverter = class _SuperConverter {
33514
33517
  return;
33515
33518
  }
33516
33519
  }
33517
- static updateDocumentVersion(docx = this.convertedXml, version = "0.22.2") {
33520
+ static updateDocumentVersion(docx = this.convertedXml, version = "0.22.3") {
33518
33521
  const customLocation = "docProps/custom.xml";
33519
33522
  if (!docx[customLocation]) {
33520
33523
  docx[customLocation] = generateCustomXml();
@@ -34006,7 +34009,7 @@ function storeSuperdocVersion(docx) {
34006
34009
  function generateCustomXml() {
34007
34010
  return DEFAULT_CUSTOM_XML;
34008
34011
  }
34009
- function generateSuperdocVersion(pid = 2, version = "0.22.2") {
34012
+ function generateSuperdocVersion(pid = 2, version = "0.22.3") {
34010
34013
  return {
34011
34014
  type: "element",
34012
34015
  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-DIyhRrPw.js";
1
+ import { p as process$1, aw as commonjsGlobal, B as Buffer, ax as getDefaultExportFromCjs, ay as getContentTypesFromXml, az as xmljs } from "./converter-BXpLuiGp.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, 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, _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 docxNumberigHelpers, ap as parseIndentElement, aq as combineIndents, ar as SelectionRange, as as Transform, at as isInTable$1, au as generateDocxRandomId, av as insertNewRelationship } from "./converter-DIyhRrPw.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 docxNumberigHelpers, ap as parseIndentElement, aq as combineIndents, ar as SelectionRange, as as Transform, at as isInTable$1, au as generateDocxRandomId, av as insertNewRelationship } from "./converter-BXpLuiGp.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-BHvvfWr8.js";
17
+ import { D as DocxZipper } from "./docx-zipper-BFSSteoO.js";
18
18
  var GOOD_LEAF_SIZE = 200;
19
19
  var RopeSequence = function RopeSequence2() {
20
20
  };
@@ -14876,7 +14876,7 @@ const _Editor = class _Editor extends EventEmitter {
14876
14876
  * @returns {Object | void} Migration results
14877
14877
  */
14878
14878
  processCollaborationMigrations() {
14879
- console.debug("[checkVersionMigrations] Current editor version", "0.22.2");
14879
+ console.debug("[checkVersionMigrations] Current editor version", "0.22.3");
14880
14880
  if (!this.options.ydoc) return;
14881
14881
  const metaMap = this.options.ydoc.getMap("meta");
14882
14882
  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-DIyhRrPw.js";
3
- import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-DsJzlCE-.js";
2
+ import { p as process$1 } from "./converter-BXpLuiGp.js";
3
+ import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-D5lcho1I.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-DIyhRrPw.js";
1
+ import { a5 } from "./chunks/converter-BXpLuiGp.js";
2
2
  import "vue";
3
3
  export {
4
4
  a5 as SuperConverter
@@ -1,5 +1,5 @@
1
- import "./chunks/converter-DIyhRrPw.js";
2
- import { D } from "./chunks/docx-zipper-BHvvfWr8.js";
1
+ import "./chunks/converter-BXpLuiGp.js";
2
+ import { D } from "./chunks/docx-zipper-BFSSteoO.js";
3
3
  export {
4
4
  D as default
5
5
  };
@@ -1,6 +1,6 @@
1
- import { E } from "./chunks/editor-DsJzlCE-.js";
2
- import "./chunks/converter-DIyhRrPw.js";
3
- import "./chunks/docx-zipper-BHvvfWr8.js";
1
+ import { E } from "./chunks/editor-D5lcho1I.js";
2
+ import "./chunks/converter-BXpLuiGp.js";
3
+ import "./chunks/docx-zipper-BFSSteoO.js";
4
4
  export {
5
5
  E as Editor
6
6
  };
@@ -1,4 +1,4 @@
1
- import { J as JSZip } from "./chunks/docx-zipper-BHvvfWr8.js";
1
+ import { J as JSZip } from "./chunks/docx-zipper-BFSSteoO.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, 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, at as isInTable, aC as readFromClipboard, aD as handleClipboardPaste, aE as getFileObject, aF as runPropertyTranslators, aG as translator, aH as translator$1, aI as translator$2, aJ as translator$3, aK as translator$4, aL as translator$5, aM as translator$6, aN as translator$7, aO as translator$8, aP as translator$9, aQ as translator$a, aR as translator$b, aS as translator$c, aT as translator$d, aU as translator$e, aV as translator$f, aW as translator$g, aX as translator$h, aY as translator$i, aZ as translator$j, a_ as translator$k, a$ as translator$l, b0 as translator$m, b1 as translator$n, b2 as translator$o, b3 as translator$p, b4 as translator$q, b5 as translator$r, b6 as translator$s, b7 as translator$t, b8 as translator$u, b9 as translator$v, ba as translator$w, bb as translator$x, bc as translator$y, bd as translator$z, be as translator$A, bf as translator$B, bg as translator$C, bh as translator$D, bi as translator$E, bj as translator$F, bk as translator$G, bl as translator$H, bm as translator$I, bn as translator$J, bo as translator$K, bp as translator$L, bq as translator$M, br as translator$N, bs as translator$O, bt as translator$P, bu as translator$Q, bv as translator$R, bw as translator$S, bx as translator$T, by as translator$U, bz as translator$V, bA as translator$W, bB as translator$X, bC as translator$Y, bD as translator$Z, bE as translator$_, bF as translator$$, bG as translator$10, a as Plugin } from "./chunks/converter-DIyhRrPw.js";
13
- import { bH, a5, i, a2 } from "./chunks/converter-DIyhRrPw.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, y as yUndoPluginKey, f as undoDepth, h as redoDepth, s as shouldBypassContextMenu, S as SlashMenuPluginKey, E as Editor, i as getStarterExtensions, P as Placeholder, j as getRichTextExtensions, M as Mark, k as Extension, A as Attribute, N as Node } from "./chunks/editor-DsJzlCE-.js";
15
- import { n, C, o, T, l, p, m } from "./chunks/editor-DsJzlCE-.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, at as isInTable, aC as readFromClipboard, aD as handleClipboardPaste, aE as getFileObject, aF as runPropertyTranslators, aG as translator, aH as translator$1, aI as translator$2, aJ as translator$3, aK as translator$4, aL as translator$5, aM as translator$6, aN as translator$7, aO as translator$8, aP as translator$9, aQ as translator$a, aR as translator$b, aS as translator$c, aT as translator$d, aU as translator$e, aV as translator$f, aW as translator$g, aX as translator$h, aY as translator$i, aZ as translator$j, a_ as translator$k, a$ as translator$l, b0 as translator$m, b1 as translator$n, b2 as translator$o, b3 as translator$p, b4 as translator$q, b5 as translator$r, b6 as translator$s, b7 as translator$t, b8 as translator$u, b9 as translator$v, ba as translator$w, bb as translator$x, bc as translator$y, bd as translator$z, be as translator$A, bf as translator$B, bg as translator$C, bh as translator$D, bi as translator$E, bj as translator$F, bk as translator$G, bl as translator$H, bm as translator$I, bn as translator$J, bo as translator$K, bp as translator$L, bq as translator$M, br as translator$N, bs as translator$O, bt as translator$P, bu as translator$Q, bv as translator$R, bw as translator$S, bx as translator$T, by as translator$U, bz as translator$V, bA as translator$W, bB as translator$X, bC as translator$Y, bD as translator$Z, bE as translator$_, bF as translator$$, bG as translator$10, a as Plugin } from "./chunks/converter-BXpLuiGp.js";
13
+ import { bH, a5, i, a2 } from "./chunks/converter-BXpLuiGp.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, y as yUndoPluginKey, f as undoDepth, h as redoDepth, s as shouldBypassContextMenu, S as SlashMenuPluginKey, E as Editor, i as getStarterExtensions, P as Placeholder, j as getRichTextExtensions, M as Mark, k as Extension, A as Attribute, N as Node } from "./chunks/editor-D5lcho1I.js";
15
+ import { n, C, o, T, l, p, m } from "./chunks/editor-D5lcho1I.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-BOfUqY_R.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-Ce9rvTCs.js";
18
18
  import AIWriter from "./ai-writer.es.js";
19
- import { D } from "./chunks/docx-zipper-BHvvfWr8.js";
19
+ import { D } from "./chunks/docx-zipper-BFSSteoO.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-BOfUqY_R.js";
3
- import "./chunks/editor-DsJzlCE-.js";
2
+ import { T } from "./chunks/toolbar-Ce9rvTCs.js";
3
+ import "./chunks/editor-D5lcho1I.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-CX7qZELP.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-LHfG1Rg2.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-YBQ4PDxD.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-OTD84UIr.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-CX7qZELP.cjs");
4
- const superdoc = require("./chunks/index-QO_BuqN-.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-LHfG1Rg2.cjs");
4
+ const superdoc = require("./chunks/index-BThNlUGw.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-YBQ4PDxD.es.js";
2
- import { D, H, P, S as S2, m, l } from "./chunks/index-DGn4kyLG.es.js";
1
+ import { a, E, b, S, d, i, j, n, r, p, q } from "./chunks/super-editor.es-OTD84UIr.es.js";
2
+ import { D, H, P, S as S2, m, l } from "./chunks/index-BBtyMwTy.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";
@@ -29137,11 +29137,11 @@
29137
29137
  ];
29138
29138
  const cleanNode = (node) => {
29139
29139
  if (node.nodeType !== window.Node.ELEMENT_NODE) return;
29140
+ if (node.nodeName.toLowerCase() === "span" && !node.children.length) {
29141
+ node.innerHTML = preserveSpaces(node.innerHTML);
29142
+ }
29140
29143
  [...node.attributes].forEach((attr) => {
29141
29144
  const name = attr.name.toLowerCase();
29142
- if (node.nodeName.toLowerCase() === "span") {
29143
- node.innerHTML = node.innerHTML.replace(/(\S) (<\/span>)/g, "$1&nbsp;$2");
29144
- }
29145
29145
  if (name === "style") {
29146
29146
  const cleanedStyle = cleanStyle(attr.value);
29147
29147
  if (!cleanedStyle) {
@@ -29165,6 +29165,9 @@
29165
29165
  const textAlign = declarations.find((d2) => d2.startsWith("text-align"));
29166
29166
  return textAlign ? `${textAlign};` : "";
29167
29167
  }
29168
+ function preserveSpaces(innerHtml) {
29169
+ return innerHtml.replace(/^\s+/, "&nbsp;").replace(/\s+$/, "&nbsp;");
29170
+ }
29168
29171
  function createDocFromHTML(content, schema, options = {}) {
29169
29172
  const { isImport = false } = options;
29170
29173
  let parsedContent;
@@ -41222,7 +41225,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
41222
41225
  return;
41223
41226
  }
41224
41227
  }
41225
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.22.2") {
41228
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.22.3") {
41226
41229
  const customLocation = "docProps/custom.xml";
41227
41230
  if (!docx[customLocation]) {
41228
41231
  docx[customLocation] = generateCustomXml();
@@ -41711,7 +41714,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
41711
41714
  function generateCustomXml() {
41712
41715
  return DEFAULT_CUSTOM_XML;
41713
41716
  }
41714
- function generateSuperdocVersion(pid = 2, version2 = "0.22.2") {
41717
+ function generateSuperdocVersion(pid = 2, version2 = "0.22.3") {
41715
41718
  return {
41716
41719
  type: "element",
41717
41720
  name: "property",
@@ -59154,7 +59157,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
59154
59157
  * @returns {Object | void} Migration results
59155
59158
  */
59156
59159
  processCollaborationMigrations() {
59157
- console.debug("[checkVersionMigrations] Current editor version", "0.22.2");
59160
+ console.debug("[checkVersionMigrations] Current editor version", "0.22.3");
59158
59161
  if (!this.options.ydoc) return;
59159
59162
  const metaMap = this.options.ydoc.getMap("meta");
59160
59163
  let docVersion = metaMap.get("version");
@@ -111101,7 +111104,7 @@ ${style2}
111101
111104
  this.config.colors = shuffleArray(this.config.colors);
111102
111105
  this.userColorMap = /* @__PURE__ */ new Map();
111103
111106
  this.colorIndex = 0;
111104
- this.version = "0.22.2";
111107
+ this.version = "0.22.3";
111105
111108
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
111106
111109
  this.superdocId = config2.superdocId || v4();
111107
111110
  this.colors = this.config.colors;