@harbour-enterprises/superdoc 1.0.3 → 1.0.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.
Files changed (27) hide show
  1. package/dist/chunks/{PdfViewer-2wYU1nQs.cjs → PdfViewer-CEsyOAkj.cjs} +1 -1
  2. package/dist/chunks/{PdfViewer-Brf64q-p.es.js → PdfViewer-HJvoIAmw.es.js} +1 -1
  3. package/dist/chunks/{index-DeETxTrW.cjs → index-BnbidVv1.cjs} +3 -3
  4. package/dist/chunks/{index-BFesQTtm-DF8MwT73.cjs → index-Bv0DGtbh-K1rWUuu7.cjs} +1 -1
  5. package/dist/chunks/{index-BFesQTtm-DNeH374x.es.js → index-Bv0DGtbh-urKMoo8D.es.js} +1 -1
  6. package/dist/chunks/{index-KBIvw6xZ.es.js → index-Bz20imLv.es.js} +3 -3
  7. package/dist/chunks/{super-editor.es-C_LoTWvJ.cjs → super-editor.es-DJA6a1gh.cjs} +28 -9
  8. package/dist/chunks/{super-editor.es-DWpzsMUa.es.js → super-editor.es-KVC6ktpa.es.js} +28 -9
  9. package/dist/super-editor/ai-writer.es.js +2 -2
  10. package/dist/super-editor/chunks/{converter-BhELnOP5.js → converter-gJwtBYAj.js} +1 -1
  11. package/dist/super-editor/chunks/{docx-zipper-Bwi8bTEB.js → docx-zipper-W2QGfyJo.js} +1 -1
  12. package/dist/super-editor/chunks/{editor-Dyj08tpz.js → editor-R8q_NUAb.js} +29 -10
  13. package/dist/super-editor/chunks/{index-BFesQTtm.js → index-Bv0DGtbh.js} +1 -1
  14. package/dist/super-editor/chunks/{toolbar-DRFf1nRv.js → toolbar-Bh9zkddg.js} +2 -2
  15. package/dist/super-editor/converter.es.js +1 -1
  16. package/dist/super-editor/docx-zipper.es.js +2 -2
  17. package/dist/super-editor/editor.es.js +3 -3
  18. package/dist/super-editor/file-zipper.es.js +1 -1
  19. package/dist/super-editor/super-editor.es.js +6 -6
  20. package/dist/super-editor/toolbar.es.js +2 -2
  21. package/dist/super-editor.cjs +1 -1
  22. package/dist/super-editor.es.js +1 -1
  23. package/dist/superdoc.cjs +2 -2
  24. package/dist/superdoc.es.js +2 -2
  25. package/dist/superdoc.umd.js +30 -11
  26. package/dist/superdoc.umd.js.map +1 -1
  27. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const vue = require("./vue-gvuFr0vx.cjs");
4
- const superdoc = require("./index-DeETxTrW.cjs");
4
+ const superdoc = require("./index-BnbidVv1.cjs");
5
5
  function self(vars) {
6
6
  const {
7
7
  opacityDisabled,
@@ -1,5 +1,5 @@
1
1
  import { y as defineComponent, A as h, P as Transition, a0 as process$1, K as watchEffect, a as computed, r as ref, j as onMounted, X as onUnmounted, b as createElementBlock, o as openBlock, f as createBaseVNode, e as createCommentVNode, s as createVNode, x as unref } from "./vue-CLFbn_1r.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-KBIvw6xZ.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-Bz20imLv.es.js";
3
3
  function self(vars) {
4
4
  const {
5
5
  opacityDisabled,
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const superEditor_es = require("./super-editor.es-C_LoTWvJ.cjs");
2
+ const superEditor_es = require("./super-editor.es-DJA6a1gh.cjs");
3
3
  const blankDocx = require("./blank-docx-DfW3Eeh2.cjs");
4
4
  const eventemitter3 = require("./eventemitter3-DIclNhoR.cjs");
5
5
  const provider = require("@hocuspocus/provider");
@@ -17487,7 +17487,7 @@ const _sfc_main = {
17487
17487
  __name: "SuperDoc",
17488
17488
  emits: ["selection-update"],
17489
17489
  setup(__props, { emit: __emit }) {
17490
- const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-2wYU1nQs.cjs")));
17490
+ const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-CEsyOAkj.cjs")));
17491
17491
  const superdocStore = useSuperdocStore();
17492
17492
  const commentsStore = useCommentsStore();
17493
17493
  const {
@@ -18391,7 +18391,7 @@ class SuperDoc extends eventemitter3.EventEmitter {
18391
18391
  this.config.colors = shuffleArray(this.config.colors);
18392
18392
  this.userColorMap = /* @__PURE__ */ new Map();
18393
18393
  this.colorIndex = 0;
18394
- this.version = "1.0.3";
18394
+ this.version = "1.0.4";
18395
18395
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
18396
18396
  this.superdocId = config.superdocId || uuid.v4();
18397
18397
  this.colors = this.config.colors;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const superEditor_es = require("./super-editor.es-C_LoTWvJ.cjs");
3
+ const superEditor_es = require("./super-editor.es-DJA6a1gh.cjs");
4
4
  const indexCvBqQJbG = require("./index-CvBqQJbG-Dwm0THD7.cjs");
5
5
  function bail(error) {
6
6
  if (error) {
@@ -1,4 +1,4 @@
1
- import { s as getDefaultExportFromCjs$2 } from "./super-editor.es-DWpzsMUa.es.js";
1
+ import { s as getDefaultExportFromCjs$2 } from "./super-editor.es-KVC6ktpa.es.js";
2
2
  import { V as VFile } from "./index-CvBqQJbG-CvBqQJbG.es.js";
3
3
  function bail(error) {
4
4
  if (error) {
@@ -1,4 +1,4 @@
1
- import { q as index, C as CommentsPluginKey, h as TrackChangesBasePluginKey, E as Editor, n as getRichTextExtensions, f as SuperInput, P as PresentationEditor, e as SuperEditor, A as AIWriter, g as SuperToolbar, i as createZip } from "./super-editor.es-DWpzsMUa.es.js";
1
+ import { q as index, C as CommentsPluginKey, h as TrackChangesBasePluginKey, E as Editor, n as getRichTextExtensions, f as SuperInput, P as PresentationEditor, e as SuperEditor, A as AIWriter, g as SuperToolbar, i as createZip } from "./super-editor.es-KVC6ktpa.es.js";
2
2
  import { B as BlankDOCX } from "./blank-docx-ABm6XYAA.es.js";
3
3
  import { E as EventEmitter } from "./eventemitter3-D_2kqkfV.es.js";
4
4
  import { HocuspocusProvider, HocuspocusProviderWebsocket } from "@hocuspocus/provider";
@@ -17470,7 +17470,7 @@ const _sfc_main = {
17470
17470
  __name: "SuperDoc",
17471
17471
  emits: ["selection-update"],
17472
17472
  setup(__props, { emit: __emit }) {
17473
- const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-Brf64q-p.es.js"));
17473
+ const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-HJvoIAmw.es.js"));
17474
17474
  const superdocStore = useSuperdocStore();
17475
17475
  const commentsStore = useCommentsStore();
17476
17476
  const {
@@ -18374,7 +18374,7 @@ class SuperDoc extends EventEmitter {
18374
18374
  this.config.colors = shuffleArray(this.config.colors);
18375
18375
  this.userColorMap = /* @__PURE__ */ new Map();
18376
18376
  this.colorIndex = 0;
18377
- this.version = "1.0.3";
18377
+ this.version = "1.0.4";
18378
18378
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
18379
18379
  this.superdocId = config.superdocId || v4();
18380
18380
  this.colors = this.config.colors;
@@ -42427,7 +42427,7 @@ const _SuperConverter = class _SuperConverter2 {
42427
42427
  static getStoredSuperdocVersion(docx) {
42428
42428
  return _SuperConverter2.getStoredCustomProperty(docx, "SuperdocVersion");
42429
42429
  }
42430
- static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "1.0.3") {
42430
+ static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "1.0.4") {
42431
42431
  return _SuperConverter2.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
42432
42432
  }
42433
42433
  /**
@@ -60508,7 +60508,7 @@ const isHeadless = (editor) => {
60508
60508
  const shouldSkipNodeView = (editor) => {
60509
60509
  return isHeadless(editor);
60510
60510
  };
60511
- const summaryVersion = "1.0.3";
60511
+ const summaryVersion = "1.0.4";
60512
60512
  const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
60513
60513
  const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
60514
60514
  function mapAttributes(attrs) {
@@ -61297,7 +61297,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
61297
61297
  { default: remarkStringify },
61298
61298
  { default: remarkGfm }
61299
61299
  ] = await Promise.all([
61300
- Promise.resolve().then(() => require("./index-BFesQTtm-DF8MwT73.cjs")),
61300
+ Promise.resolve().then(() => require("./index-Bv0DGtbh-K1rWUuu7.cjs")),
61301
61301
  Promise.resolve().then(() => require("./index-DRCvimau-H4Ck3S9a.cjs")),
61302
61302
  Promise.resolve().then(() => require("./index-C_x_N6Uh-Db3CUJMX.cjs")),
61303
61303
  Promise.resolve().then(() => require("./index-D_sWOSiG-BtDZzJ6I.cjs")),
@@ -61502,7 +61502,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
61502
61502
  * Process collaboration migrations
61503
61503
  */
61504
61504
  processCollaborationMigrations() {
61505
- console.debug("[checkVersionMigrations] Current editor version", "1.0.3");
61505
+ console.debug("[checkVersionMigrations] Current editor version", "1.0.4");
61506
61506
  if (!this.options.ydoc) return;
61507
61507
  const metaMap = this.options.ydoc.getMap("meta");
61508
61508
  let docVersion = metaMap.get("version");
@@ -84623,11 +84623,27 @@ const collectTrackedChangeFromMarks = (marks) => {
84623
84623
  }, void 0);
84624
84624
  };
84625
84625
  const normalizeUnderlineStyle = (value) => {
84626
- if (value === "none") {
84627
- return void 0;
84626
+ if (value === void 0 || value === null) {
84627
+ return "single";
84628
84628
  }
84629
- if (value === "double" || value === "dotted" || value === "dashed" || value === "wavy") {
84630
- return value;
84629
+ if (typeof value === "boolean") {
84630
+ return value ? "single" : void 0;
84631
+ }
84632
+ if (typeof value === "number") {
84633
+ return value === 0 ? void 0 : "single";
84634
+ }
84635
+ if (typeof value === "string") {
84636
+ const normalized = value.trim().toLowerCase();
84637
+ if (!normalized) {
84638
+ return "single";
84639
+ }
84640
+ if (normalized === "none" || normalized === "0" || normalized === "false" || normalized === "off") {
84641
+ return void 0;
84642
+ }
84643
+ if (normalized === "double" || normalized === "dotted" || normalized === "dashed" || normalized === "wavy") {
84644
+ return normalized;
84645
+ }
84646
+ return "single";
84631
84647
  }
84632
84648
  return "single";
84633
84649
  };
@@ -84779,13 +84795,16 @@ const applyMarksToRun = (run2, marks, hyperlinkConfig = DEFAULT_HYPERLINK_CONFIG
84779
84795
  break;
84780
84796
  }
84781
84797
  case "underline": {
84782
- const style2 = normalizeUnderlineStyle(mark.attrs?.underlineType);
84798
+ const underlineValue = mark.attrs?.underlineType ?? mark.attrs?.value ?? mark.attrs?.underline ?? mark.attrs?.style;
84799
+ const style2 = normalizeUnderlineStyle(underlineValue);
84783
84800
  if (style2) {
84784
84801
  const underlineColor = resolveColorFromAttributes(mark.attrs ?? {}, themeColors);
84785
84802
  run2.underline = {
84786
84803
  style: style2,
84787
84804
  color: underlineColor ?? run2.underline?.color
84788
84805
  };
84806
+ } else if (underlineValue !== void 0 && underlineValue !== null) {
84807
+ delete run2.underline;
84789
84808
  }
84790
84809
  break;
84791
84810
  }
@@ -42410,7 +42410,7 @@ const _SuperConverter = class _SuperConverter2 {
42410
42410
  static getStoredSuperdocVersion(docx) {
42411
42411
  return _SuperConverter2.getStoredCustomProperty(docx, "SuperdocVersion");
42412
42412
  }
42413
- static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "1.0.3") {
42413
+ static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "1.0.4") {
42414
42414
  return _SuperConverter2.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
42415
42415
  }
42416
42416
  /**
@@ -60491,7 +60491,7 @@ const isHeadless = (editor) => {
60491
60491
  const shouldSkipNodeView = (editor) => {
60492
60492
  return isHeadless(editor);
60493
60493
  };
60494
- const summaryVersion = "1.0.3";
60494
+ const summaryVersion = "1.0.4";
60495
60495
  const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
60496
60496
  const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
60497
60497
  function mapAttributes(attrs) {
@@ -61280,7 +61280,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
61280
61280
  { default: remarkStringify },
61281
61281
  { default: remarkGfm }
61282
61282
  ] = await Promise.all([
61283
- import("./index-BFesQTtm-DNeH374x.es.js"),
61283
+ import("./index-Bv0DGtbh-urKMoo8D.es.js"),
61284
61284
  import("./index-DRCvimau-Cw339678.es.js"),
61285
61285
  import("./index-C_x_N6Uh-DJn8hIEt.es.js"),
61286
61286
  import("./index-D_sWOSiG-DE96TaT5.es.js"),
@@ -61485,7 +61485,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
61485
61485
  * Process collaboration migrations
61486
61486
  */
61487
61487
  processCollaborationMigrations() {
61488
- console.debug("[checkVersionMigrations] Current editor version", "1.0.3");
61488
+ console.debug("[checkVersionMigrations] Current editor version", "1.0.4");
61489
61489
  if (!this.options.ydoc) return;
61490
61490
  const metaMap = this.options.ydoc.getMap("meta");
61491
61491
  let docVersion = metaMap.get("version");
@@ -84606,11 +84606,27 @@ const collectTrackedChangeFromMarks = (marks) => {
84606
84606
  }, void 0);
84607
84607
  };
84608
84608
  const normalizeUnderlineStyle = (value) => {
84609
- if (value === "none") {
84610
- return void 0;
84609
+ if (value === void 0 || value === null) {
84610
+ return "single";
84611
84611
  }
84612
- if (value === "double" || value === "dotted" || value === "dashed" || value === "wavy") {
84613
- return value;
84612
+ if (typeof value === "boolean") {
84613
+ return value ? "single" : void 0;
84614
+ }
84615
+ if (typeof value === "number") {
84616
+ return value === 0 ? void 0 : "single";
84617
+ }
84618
+ if (typeof value === "string") {
84619
+ const normalized = value.trim().toLowerCase();
84620
+ if (!normalized) {
84621
+ return "single";
84622
+ }
84623
+ if (normalized === "none" || normalized === "0" || normalized === "false" || normalized === "off") {
84624
+ return void 0;
84625
+ }
84626
+ if (normalized === "double" || normalized === "dotted" || normalized === "dashed" || normalized === "wavy") {
84627
+ return normalized;
84628
+ }
84629
+ return "single";
84614
84630
  }
84615
84631
  return "single";
84616
84632
  };
@@ -84762,13 +84778,16 @@ const applyMarksToRun = (run2, marks, hyperlinkConfig = DEFAULT_HYPERLINK_CONFIG
84762
84778
  break;
84763
84779
  }
84764
84780
  case "underline": {
84765
- const style2 = normalizeUnderlineStyle(mark.attrs?.underlineType);
84781
+ const underlineValue = mark.attrs?.underlineType ?? mark.attrs?.value ?? mark.attrs?.underline ?? mark.attrs?.style;
84782
+ const style2 = normalizeUnderlineStyle(underlineValue);
84766
84783
  if (style2) {
84767
84784
  const underlineColor = resolveColorFromAttributes(mark.attrs ?? {}, themeColors);
84768
84785
  run2.underline = {
84769
84786
  style: style2,
84770
84787
  color: underlineColor ?? run2.underline?.color
84771
84788
  };
84789
+ } else if (underlineValue !== void 0 && underlineValue !== null) {
84790
+ delete run2.underline;
84772
84791
  }
84773
84792
  break;
84774
84793
  }
@@ -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-BhELnOP5.js";
3
- import { _ as _export_sfc } from "./chunks/editor-Dyj08tpz.js";
2
+ import { T as TextSelection } from "./chunks/converter-gJwtBYAj.js";
3
+ import { _ as _export_sfc } from "./chunks/editor-R8q_NUAb.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 = {}) {
@@ -42727,7 +42727,7 @@ const _SuperConverter = class _SuperConverter {
42727
42727
  static getStoredSuperdocVersion(docx) {
42728
42728
  return _SuperConverter.getStoredCustomProperty(docx, "SuperdocVersion");
42729
42729
  }
42730
- static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.0.3") {
42730
+ static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.0.4") {
42731
42731
  return _SuperConverter.setStoredCustomProperty(docx, "SuperdocVersion", version, false);
42732
42732
  }
42733
42733
  /**
@@ -1,4 +1,4 @@
1
- import { p as process$1, aJ as commonjsGlobal, B as Buffer, aK as getDefaultExportFromCjs, aL as getContentTypesFromXml, aM as xmljs } from "./converter-BhELnOP5.js";
1
+ import { p as process$1, aJ as commonjsGlobal, B as Buffer, aK as getDefaultExportFromCjs, aL as getContentTypesFromXml, aM as xmljs } from "./converter-gJwtBYAj.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,8 +12,8 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
12
12
  var _a, _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, dispatchWithFallback_fn, _commandService, _Editor_instances, initContainerElement_fn, init_fn, initRichText_fn, onFocus_fn, checkHeadless_fn, registerCopyHandler_fn, insertNewFileData_fn, getPluginKeyName_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, dispatchTransaction_fn, handleNodeSelection_fn, prepareDocumentForImport_fn, prepareDocumentForExport_fn, endCollaboration_fn, validateDocumentInit_fn, validateDocumentExport_fn, initDevTools_fn, _currentEpoch, _mapsByFromEpoch, _maxEpochsToKeep, _EpochPositionMapper_instances, pruneByCurrentEpoch_fn, _entries, _windowRoot, _getPainterHost, _onRebuild, _observer, _rebuildScheduled, _rebuildRafId, _docEpoch, _layoutEpoch, _layoutUpdating, _pending, _scheduled, _rafHandle, _scheduler, _SelectionSyncCoordinator_instances, isSafeToRender_fn, maybeSchedule_fn, cancelScheduledRender_fn, _windowRoot2, _layoutSurfaces, _getTargetDom, _isEditable, _onTargetChanged, _listeners, _currentTarget, _destroyed, _useWindowFallback, _PresentationInputBridge_instances, addListener_fn, dispatchToTarget_fn, forwardKeyboardEvent_fn, forwardTextEvent_fn, forwardCompositionEvent_fn, forwardContextMenu_fn, isEventOnActiveTarget_fn, shouldSkipSurface_fn, isInLayoutSurface_fn, getListenerTargets_fn, isPlainCharacterKey_fn, _map, _editor2, _descriptors, _collections, _editorEntries, _maxCachedEditors, _editorAccessOrder, _pendingCreations, _cacheHits, _cacheMisses, _evictions, _HeaderFooterEditorManager_instances, hasConverter_fn, extractCollections_fn, collectDescriptors_fn, teardownMissingEditors_fn, teardownEditors_fn, createEditor_fn, createEditorContainer_fn, registerConverterEditor_fn, unregisterConverterEditor_fn, updateAccessOrder_fn, enforceCacheSizeLimit_fn, _manager, _mediaFiles, _blockCache, _HeaderFooterLayoutAdapter_instances, getBlocks_fn, getConverterContext_fn, _selectionOverlay, _activeEditorHost, _activeDecorationContainer, _activeRegion, _borderLine, _dimmingOverlay, _EditorOverlayManager_instances, findDecorationContainer_fn, ensureEditorHost_fn, positionEditorHost_fn, hideDimmingOverlay_fn, showHeaderFooterBorder_fn, hideHeaderFooterBorder_fn, _instances, _options, _editor3, _visibleHost, _viewportHost, _painterHost, _selectionOverlay2, _hiddenHost, _layoutOptions, _layoutState, _domPainter, _pageGeometryHelper, _dragHandlerCleanup, _layoutError, _layoutErrorState, _errorBanner, _errorBannerMessage, _telemetryEmitter, _renderScheduled, _pendingDocChange, _isRerendering, _selectionSync, _remoteCursorUpdateScheduled, _epochMapper, _layoutEpoch2, _domPositionIndex, _domIndexObserverManager, _debugLastPointer, _debugLastHit, _pendingMarginClick, _rafHandle2, _editorListeners, _sectionMetadata, _documentMode, _inputBridge, _trackedChangesMode, _trackedChangesEnabled, _trackedChangesOverrides, _headerFooterManager, _headerFooterAdapter, _headerFooterIdentifier, _multiSectionIdentifier, _headerLayoutResults, _footerLayoutResults, _headerLayoutsByRId, _footerLayoutsByRId, _headerDecorationProvider, _footerDecorationProvider, _headerFooterManagerCleanups, _headerRegions, _footerRegions, _session, _activeHeaderFooterEditor, _overlayManager, _hoverOverlay, _hoverTooltip, _modeBanner, _ariaLiveRegion, _a11ySelectionAnnounceTimeout, _a11yLastAnnouncedSelectionKey, _hoverRegion, _clickCount, _lastClickTime, _lastClickPosition, _lastSelectedImageBlockId, _dragAnchor, _dragAnchorPageIndex, _isDragging, _dragExtensionMode, _dragLastPointer, _dragLastRawHit, _dragUsedPageNotMountedFallback, _cellAnchor, _cellDragMode, _remoteCursorState, _remoteCursorElements, _remoteCursorDirty, _remoteCursorOverlay, _localSelectionLayer, _awarenessCleanup, _scrollCleanup, _scrollTimeout, _lastRemoteCursorRenderTime, _remoteCursorThrottleTimeout, _PresentationEditor_instances, wrapHiddenEditorFocus_fn, collectCommentPositions_fn, updateSelectionDebugHud_fn, computePendingMarginClick_fn, aggregateLayoutBounds_fn, rebuildDomPositionIndex_fn, setupEditorListeners_fn, setupCollaborationCursors_fn, updateLocalAwarenessCursor_fn, scheduleRemoteCursorUpdate_fn, scheduleRemoteCursorReRender_fn, updateRemoteCursors_fn, renderRemoteCursors_fn, setupPointerHandlers_fn, setupDragHandlers_fn, focusEditorAfterImageSelection_fn, setupInputBridge_fn, initHeaderFooterRegistry_fn, _handlePointerDown, getFirstTextPosition_fn, registerPointerClick_fn, getCellPosFromTableHit_fn, getTablePosFromHit_fn, shouldUseCellSelection_fn, setCellAnchor_fn, clearCellAnchor_fn, hitTestTable_fn, selectWordAt_fn, selectParagraphAt_fn, calculateExtendedSelection_fn, _handlePointerMove, _handlePointerLeave, _handleVisibleHostFocusIn, _handlePointerUp, _handleDragOver, _handleDrop, _handleDoubleClick, _handleKeyDown, focusHeaderFooterShortcut_fn, scheduleRerender_fn, flushRerenderQueue_fn, rerender_fn, ensurePainter_fn, scheduleSelectionUpdate_fn, updateSelection_fn, resolveLayoutOptions_fn, buildHeaderFooterInput_fn, computeHeaderFooterConstraints_fn, layoutPerRIdHeaderFooters_fn, updateDecorationProviders_fn, createDecorationProvider_fn, findHeaderFooterPageForPageNumber_fn, computeDecorationBox_fn, computeExpectedSectionType_fn, rebuildHeaderFooterRegions_fn, hitTestHeaderFooterRegion_fn, pointInRegion_fn, activateHeaderFooterRegion_fn, enterHeaderFooterMode_fn, exitHeaderFooterMode_fn, getActiveDomTarget_fn, emitHeaderFooterModeChanged_fn, emitHeaderFooterEditingContext_fn, updateAwarenessSession_fn, updateModeBanner_fn, announce_fn, syncHiddenEditorA11yAttributes_fn, scheduleA11ySelectionAnnouncement_fn, announceSelectionNow_fn, validateHeaderFooterEditPermission_fn, emitHeaderFooterEditBlocked_fn, resolveDescriptorForRegion_fn, createDefaultHeaderFooter_fn, getPageElement_fn, isSelectionAwareVirtualizationEnabled_fn, updateSelectionVirtualizationPins_fn, finalizeDragSelectionWithDom_fn, scrollPageIntoView_fn, waitForPageMount_fn, getEffectivePageGap_fn, getBodyPageHeight_fn, getHeaderFooterPageHeight_fn, renderCellSelectionOverlay_fn, renderHoverRegion_fn, clearHoverRegion_fn, getHeaderFooterContext_fn, computeHeaderFooterSelectionRects_fn, syncTrackedChangesPreferences_fn, deriveTrackedChangesMode_fn, deriveTrackedChangesEnabled_fn, getTrackChangesPluginState_fn, computeDefaultLayoutDefaults_fn, applyZoom_fn, getPageOffsetX_fn, convertPageLocalToOverlayCoords_fn, computeSelectionRectsFromDom_fn, computeDomCaretPageLocal_fn, normalizeClientPoint_fn, computeCaretLayoutRectGeometry_fn, computeCaretLayoutRect_fn, getCurrentPageIndex_fn, findRegionForPage_fn, handleLayoutError_fn, decorateError_fn, showLayoutErrorBanner_fn, dismissErrorBanner_fn, _DocumentSectionView_instances, init_fn2, addToolTip_fn, _ParagraphNodeView_instances, checkShouldUpdate_fn, updateHTMLAttributes_fn, updateDOMStyles_fn, resolveNeighborParagraphProperties_fn, updateListStyles_fn, initList_fn, checkIsList_fn, createMarker_fn, createSeparator_fn, calculateTabSeparatorStyle_fn, calculateMarkerStyle_fn, removeList_fn, getParagraphContext_fn, scheduleAnimation_fn, cancelScheduledAnimation_fn, _FieldAnnotationView_instances, createAnnotation_fn, _AutoPageNumberNodeView_instances, renderDom_fn, scheduleUpdateNodeStyle_fn, _VectorShapeView_instances, ensureParentPositioned_fn, _ShapeGroupView_instances, ensureParentPositioned_fn2;
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$2, 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 htmlHandler, E as ReplaceStep, G as twipsToInches, H as inchesToTwips, I as ptToTwips, J as getResolvedParagraphProperties, K as linesToTwips, L as changeListLevel, O as findParentNode, Q as isList, U as updateNumberingProperties, V as ListHelpers, W as isMacOS, X as isIOS, Y as getSchemaTypeByName, Z as inputRulesPlugin, _ as TrackDeleteMarkName$1, $ as TrackInsertMarkName$1, a0 as v4, a1 as TrackFormatMarkName$1, a2 as comments_module_events, a3 as findMark, a4 as objectIncludes, a5 as AddMarkStep, a6 as RemoveMarkStep, a7 as twipsToLines, a8 as pixelsToTwips, a9 as helpers, aa as posToDOMRect, ab as CommandService, ac as SuperConverter, ad as createDocument, ae as createDocFromMarkdown, af as createDocFromHTML, ag as EditorState, ah as isActive, ai as unflattenListsInHtml, aj as SelectionRange, ak as Transform, al as resolveParagraphProperties, am as _getReferencedTableStyles, an as parseSizeUnit, ao as minMax, ap as updateDOMAttributes, aq as findChildren$5, ar as generateRandomSigned32BitIntStrId, as as decodeRPrFromMarks, at as calculateResolvedParagraphProperties, au as resolveRunProperties, av as encodeCSSFromPPr, aw as twipsToPixels$2, ax as encodeCSSFromRPr, ay as generateOrderedListIndex, az as docxNumberingHelpers, aA as InputRule, aB as convertSizeToCSS, aC as findParentNodeClosestToPos, aD as isInTable$1, aE as generateDocxRandomId, aF as insertNewRelationship, aG as inchesToPixels, aH as kebabCase, aI as getUnderlineCssString } from "./converter-BhELnOP5.js";
16
- import { D as DocxZipper } from "./docx-zipper-Bwi8bTEB.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$2, 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 htmlHandler, E as ReplaceStep, G as twipsToInches, H as inchesToTwips, I as ptToTwips, J as getResolvedParagraphProperties, K as linesToTwips, L as changeListLevel, O as findParentNode, Q as isList, U as updateNumberingProperties, V as ListHelpers, W as isMacOS, X as isIOS, Y as getSchemaTypeByName, Z as inputRulesPlugin, _ as TrackDeleteMarkName$1, $ as TrackInsertMarkName$1, a0 as v4, a1 as TrackFormatMarkName$1, a2 as comments_module_events, a3 as findMark, a4 as objectIncludes, a5 as AddMarkStep, a6 as RemoveMarkStep, a7 as twipsToLines, a8 as pixelsToTwips, a9 as helpers, aa as posToDOMRect, ab as CommandService, ac as SuperConverter, ad as createDocument, ae as createDocFromMarkdown, af as createDocFromHTML, ag as EditorState, ah as isActive, ai as unflattenListsInHtml, aj as SelectionRange, ak as Transform, al as resolveParagraphProperties, am as _getReferencedTableStyles, an as parseSizeUnit, ao as minMax, ap as updateDOMAttributes, aq as findChildren$5, ar as generateRandomSigned32BitIntStrId, as as decodeRPrFromMarks, at as calculateResolvedParagraphProperties, au as resolveRunProperties, av as encodeCSSFromPPr, aw as twipsToPixels$2, ax as encodeCSSFromRPr, ay as generateOrderedListIndex, az as docxNumberingHelpers, aA as InputRule, aB as convertSizeToCSS, aC as findParentNodeClosestToPos, aD as isInTable$1, aE as generateDocxRandomId, aF as insertNewRelationship, aG as inchesToPixels, aH as kebabCase, aI as getUnderlineCssString } from "./converter-gJwtBYAj.js";
16
+ import { D as DocxZipper } from "./docx-zipper-W2QGfyJo.js";
17
17
  import { ref, computed, createElementBlock, openBlock, withModifiers, Fragment as Fragment$1, renderList, normalizeClass, createCommentVNode, toDisplayString, createElementVNode, createApp } from "vue";
18
18
  var GOOD_LEAF_SIZE = 200;
19
19
  var RopeSequence = function RopeSequence2() {
@@ -14815,7 +14815,7 @@ const isHeadless = (editor) => {
14815
14815
  const shouldSkipNodeView = (editor) => {
14816
14816
  return isHeadless(editor);
14817
14817
  };
14818
- const summaryVersion = "1.0.3";
14818
+ const summaryVersion = "1.0.4";
14819
14819
  const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
14820
14820
  const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
14821
14821
  function mapAttributes(attrs) {
@@ -15607,7 +15607,7 @@ const _Editor = class _Editor extends EventEmitter {
15607
15607
  { default: remarkStringify },
15608
15608
  { default: remarkGfm }
15609
15609
  ] = await Promise.all([
15610
- import("./index-BFesQTtm.js"),
15610
+ import("./index-Bv0DGtbh.js"),
15611
15611
  import("./index-DRCvimau.js"),
15612
15612
  import("./index-C_x_N6Uh.js"),
15613
15613
  import("./index-D_sWOSiG.js"),
@@ -15812,7 +15812,7 @@ const _Editor = class _Editor extends EventEmitter {
15812
15812
  * Process collaboration migrations
15813
15813
  */
15814
15814
  processCollaborationMigrations() {
15815
- console.debug("[checkVersionMigrations] Current editor version", "1.0.3");
15815
+ console.debug("[checkVersionMigrations] Current editor version", "1.0.4");
15816
15816
  if (!this.options.ydoc) return;
15817
15817
  const metaMap = this.options.ydoc.getMap("meta");
15818
15818
  let docVersion = metaMap.get("version");
@@ -39090,11 +39090,27 @@ const collectTrackedChangeFromMarks = (marks) => {
39090
39090
  }, void 0);
39091
39091
  };
39092
39092
  const normalizeUnderlineStyle = (value) => {
39093
- if (value === "none") {
39094
- return void 0;
39093
+ if (value === void 0 || value === null) {
39094
+ return "single";
39095
39095
  }
39096
- if (value === "double" || value === "dotted" || value === "dashed" || value === "wavy") {
39097
- return value;
39096
+ if (typeof value === "boolean") {
39097
+ return value ? "single" : void 0;
39098
+ }
39099
+ if (typeof value === "number") {
39100
+ return value === 0 ? void 0 : "single";
39101
+ }
39102
+ if (typeof value === "string") {
39103
+ const normalized = value.trim().toLowerCase();
39104
+ if (!normalized) {
39105
+ return "single";
39106
+ }
39107
+ if (normalized === "none" || normalized === "0" || normalized === "false" || normalized === "off") {
39108
+ return void 0;
39109
+ }
39110
+ if (normalized === "double" || normalized === "dotted" || normalized === "dashed" || normalized === "wavy") {
39111
+ return normalized;
39112
+ }
39113
+ return "single";
39098
39114
  }
39099
39115
  return "single";
39100
39116
  };
@@ -39246,13 +39262,16 @@ const applyMarksToRun = (run, marks, hyperlinkConfig = DEFAULT_HYPERLINK_CONFIG,
39246
39262
  break;
39247
39263
  }
39248
39264
  case "underline": {
39249
- const style = normalizeUnderlineStyle(mark.attrs?.underlineType);
39265
+ const underlineValue = mark.attrs?.underlineType ?? mark.attrs?.value ?? mark.attrs?.underline ?? mark.attrs?.style;
39266
+ const style = normalizeUnderlineStyle(underlineValue);
39250
39267
  if (style) {
39251
39268
  const underlineColor = resolveColorFromAttributes(mark.attrs ?? {}, themeColors);
39252
39269
  run.underline = {
39253
39270
  style,
39254
39271
  color: underlineColor ?? run.underline?.color
39255
39272
  };
39273
+ } else if (underlineValue !== void 0 && underlineValue !== null) {
39274
+ delete run.underline;
39256
39275
  }
39257
39276
  break;
39258
39277
  }
@@ -1,4 +1,4 @@
1
- import { aK as getDefaultExportFromCjs } from "./converter-BhELnOP5.js";
1
+ import { aK as getDefaultExportFromCjs } from "./converter-gJwtBYAj.js";
2
2
  import { V as VFile } from "./index-CvBqQJbG.js";
3
3
  function bail(error) {
4
4
  if (error) {
@@ -1,6 +1,6 @@
1
1
  import { ref, readonly, watch, computed, getCurrentInstance, onMounted, onBeforeUnmount, reactive, onBeforeMount, inject, onActivated, onDeactivated, createTextVNode, Fragment, Comment, defineComponent, provide, withDirectives, h, Teleport, toRef, nextTick, renderSlot, isVNode, shallowRef, watchEffect, mergeProps, Transition, vShow, cloneVNode, Text, markRaw, createElementBlock, openBlock, createElementVNode, createCommentVNode, normalizeClass, normalizeStyle, withKeys, unref, withModifiers, createBlock, toDisplayString, vModelText, createVNode, renderList, withCtx } from "vue";
2
- import { p as process$1 } from "./converter-BhELnOP5.js";
3
- import { g as global$1, _ as _export_sfc, u as useHighContrastMode } from "./editor-Dyj08tpz.js";
2
+ import { p as process$1 } from "./converter-gJwtBYAj.js";
3
+ import { g as global$1, _ as _export_sfc, u as useHighContrastMode } from "./editor-R8q_NUAb.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 { ac } from "./chunks/converter-BhELnOP5.js";
1
+ import { ac } from "./chunks/converter-gJwtBYAj.js";
2
2
  export {
3
3
  ac as SuperConverter
4
4
  };
@@ -1,5 +1,5 @@
1
- import "./chunks/converter-BhELnOP5.js";
2
- import { D } from "./chunks/docx-zipper-Bwi8bTEB.js";
1
+ import "./chunks/converter-gJwtBYAj.js";
2
+ import { D } from "./chunks/docx-zipper-W2QGfyJo.js";
3
3
  export {
4
4
  D as default
5
5
  };
@@ -1,6 +1,6 @@
1
- import { E } from "./chunks/editor-Dyj08tpz.js";
2
- import "./chunks/converter-BhELnOP5.js";
3
- import "./chunks/docx-zipper-Bwi8bTEB.js";
1
+ import { E } from "./chunks/editor-R8q_NUAb.js";
2
+ import "./chunks/converter-gJwtBYAj.js";
3
+ import "./chunks/docx-zipper-W2QGfyJo.js";
4
4
  export {
5
5
  E as Editor
6
6
  };
@@ -1,4 +1,4 @@
1
- import { J as JSZip } from "./chunks/docx-zipper-Bwi8bTEB.js";
1
+ import { J as JSZip } from "./chunks/docx-zipper-W2QGfyJo.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 _MARK_TOGGLE_NAMES, _SuperToolbar_instances, initToolbarGroups_fn, _interceptedCommands, makeToolbarItems_fn, initDefaultFonts_fn, updateHighlightColors_fn, deactivateAll_fn, updateToolbarHistory_fn, enrichTrackedChanges_fn, runCommandWithArgumentOnly_fn, syncStickyMarksFromState_fn, restoreStickyMarksIfNeeded_fn, ensureStoredMarksForMarkToggle_fn;
12
- import { aK as getDefaultExportFromCjs, a0 as v4, T as TextSelection$1, v as getMarkRange, aN as vClickOutside, aO as getActiveFormatting, aD as isInTable, O as findParentNode, at as calculateResolvedParagraphProperties, a7 as twipsToLines, Q as isList, an as parseSizeUnit, W as isMacOS, a8 as pixelsToTwips, aP as getFileObject, P as PluginKey, a as Plugin } from "./chunks/converter-BhELnOP5.js";
13
- import { ac, i, a9, aQ } from "./chunks/converter-BhELnOP5.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 getEditorSurfaceElement, l as collectTrackedChangesForContext, S as SLASH_MENU_HANDLED_FLAG, m as SlashMenuPluginKey, s as shouldBypassContextMenu, n as generateRulerDefinition, o as clampHandlePosition, p as calculateMarginFromHandle, q as measureCache, t as isHeadless, E as Editor, v as getStarterExtensions, P as PresentationEditor, w as Placeholder, x as getRichTextExtensions, D as DecorationSet, z as Decoration, M as Mark, A as Extension, B as Attribute, N as Node } from "./chunks/editor-Dyj08tpz.js";
15
- import { G, J, H, T, C, I, F } from "./chunks/editor-Dyj08tpz.js";
12
+ import { aK as getDefaultExportFromCjs, a0 as v4, T as TextSelection$1, v as getMarkRange, aN as vClickOutside, aO as getActiveFormatting, aD as isInTable, O as findParentNode, at as calculateResolvedParagraphProperties, a7 as twipsToLines, Q as isList, an as parseSizeUnit, W as isMacOS, a8 as pixelsToTwips, aP as getFileObject, P as PluginKey, a as Plugin } from "./chunks/converter-gJwtBYAj.js";
13
+ import { ac, i, a9, aQ } from "./chunks/converter-gJwtBYAj.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 getEditorSurfaceElement, l as collectTrackedChangesForContext, S as SLASH_MENU_HANDLED_FLAG, m as SlashMenuPluginKey, s as shouldBypassContextMenu, n as generateRulerDefinition, o as clampHandlePosition, p as calculateMarginFromHandle, q as measureCache, t as isHeadless, E as Editor, v as getStarterExtensions, P as PresentationEditor, w as Placeholder, x as getRichTextExtensions, D as DecorationSet, z as Decoration, M as Mark, A as Extension, B as Attribute, N as Node } from "./chunks/editor-R8q_NUAb.js";
15
+ import { G, J, H, T, C, I, F } from "./chunks/editor-R8q_NUAb.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, defineComponent, reactive, onUnmounted, renderSlot, useCssVars, shallowRef, createBlock, Teleport, 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-DRFf1nRv.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-Bh9zkddg.js";
18
18
  import AIWriter from "./ai-writer.es.js";
19
- import { D } from "./chunks/docx-zipper-Bwi8bTEB.js";
19
+ import { D } from "./chunks/docx-zipper-W2QGfyJo.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-DRFf1nRv.js";
3
- import "./chunks/editor-Dyj08tpz.js";
2
+ import { T } from "./chunks/toolbar-Bh9zkddg.js";
3
+ import "./chunks/editor-R8q_NUAb.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-C_LoTWvJ.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-DJA6a1gh.cjs");
4
4
  require("./chunks/vue-gvuFr0vx.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, P, S, c, d, e, f, g, T, h, i, j, k, l, m, n, o, p, r, q } from "./chunks/super-editor.es-DWpzsMUa.es.js";
1
+ import { A, a, _, C, D, E, b, P, S, c, d, e, f, g, T, h, i, j, k, l, m, n, o, p, r, q } from "./chunks/super-editor.es-KVC6ktpa.es.js";
2
2
  import "./chunks/vue-CLFbn_1r.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-C_LoTWvJ.cjs");
4
- const superdoc = require("./chunks/index-DeETxTrW.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-DJA6a1gh.cjs");
4
+ const superdoc = require("./chunks/index-BnbidVv1.cjs");
5
5
  const blankDocx = require("./chunks/blank-docx-DfW3Eeh2.cjs");
6
6
  exports.AnnotatorHelpers = superEditor_es.AnnotatorHelpers;
7
7
  exports.Editor = superEditor_es.Editor;
@@ -1,5 +1,5 @@
1
- import { a, E, b, S, d, i, j, n, r, p, q } from "./chunks/super-editor.es-DWpzsMUa.es.js";
2
- import { D, H, P, S as S2, m, l } from "./chunks/index-KBIvw6xZ.es.js";
1
+ import { a, E, b, S, d, i, j, n, r, p, q } from "./chunks/super-editor.es-KVC6ktpa.es.js";
2
+ import { D, H, P, S as S2, m, l } from "./chunks/index-Bz20imLv.es.js";
3
3
  import { B } from "./chunks/blank-docx-ABm6XYAA.es.js";
4
4
  export {
5
5
  a as AnnotatorHelpers,
@@ -42428,7 +42428,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
42428
42428
  static getStoredSuperdocVersion(docx) {
42429
42429
  return _SuperConverter2.getStoredCustomProperty(docx, "SuperdocVersion");
42430
42430
  }
42431
- static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "1.0.3") {
42431
+ static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "1.0.4") {
42432
42432
  return _SuperConverter2.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
42433
42433
  }
42434
42434
  /**
@@ -68384,7 +68384,7 @@ ${err.toString()}`);
68384
68384
  const shouldSkipNodeView = (editor) => {
68385
68385
  return isHeadless(editor);
68386
68386
  };
68387
- const summaryVersion = "1.0.3";
68387
+ const summaryVersion = "1.0.4";
68388
68388
  const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
68389
68389
  const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
68390
68390
  function mapAttributes(attrs) {
@@ -69173,7 +69173,7 @@ ${err.toString()}`);
69173
69173
  { default: remarkStringify2 },
69174
69174
  { default: remarkGfm2 }
69175
69175
  ] = await Promise.all([
69176
- Promise.resolve().then(() => indexBFesQTtm),
69176
+ Promise.resolve().then(() => indexBv0DGtbh),
69177
69177
  Promise.resolve().then(() => indexDRCvimau),
69178
69178
  Promise.resolve().then(() => indexC_x_N6Uh),
69179
69179
  Promise.resolve().then(() => indexD_sWOSiG),
@@ -69378,7 +69378,7 @@ ${err.toString()}`);
69378
69378
  * Process collaboration migrations
69379
69379
  */
69380
69380
  processCollaborationMigrations() {
69381
- console.debug("[checkVersionMigrations] Current editor version", "1.0.3");
69381
+ console.debug("[checkVersionMigrations] Current editor version", "1.0.4");
69382
69382
  if (!this.options.ydoc) return;
69383
69383
  const metaMap = this.options.ydoc.getMap("meta");
69384
69384
  let docVersion = metaMap.get("version");
@@ -92499,11 +92499,27 @@ ${l}
92499
92499
  }, void 0);
92500
92500
  };
92501
92501
  const normalizeUnderlineStyle = (value) => {
92502
- if (value === "none") {
92503
- return void 0;
92502
+ if (value === void 0 || value === null) {
92503
+ return "single";
92504
92504
  }
92505
- if (value === "double" || value === "dotted" || value === "dashed" || value === "wavy") {
92506
- return value;
92505
+ if (typeof value === "boolean") {
92506
+ return value ? "single" : void 0;
92507
+ }
92508
+ if (typeof value === "number") {
92509
+ return value === 0 ? void 0 : "single";
92510
+ }
92511
+ if (typeof value === "string") {
92512
+ const normalized = value.trim().toLowerCase();
92513
+ if (!normalized) {
92514
+ return "single";
92515
+ }
92516
+ if (normalized === "none" || normalized === "0" || normalized === "false" || normalized === "off") {
92517
+ return void 0;
92518
+ }
92519
+ if (normalized === "double" || normalized === "dotted" || normalized === "dashed" || normalized === "wavy") {
92520
+ return normalized;
92521
+ }
92522
+ return "single";
92507
92523
  }
92508
92524
  return "single";
92509
92525
  };
@@ -92655,13 +92671,16 @@ ${l}
92655
92671
  break;
92656
92672
  }
92657
92673
  case "underline": {
92658
- const style2 = normalizeUnderlineStyle(mark2.attrs?.underlineType);
92674
+ const underlineValue = mark2.attrs?.underlineType ?? mark2.attrs?.value ?? mark2.attrs?.underline ?? mark2.attrs?.style;
92675
+ const style2 = normalizeUnderlineStyle(underlineValue);
92659
92676
  if (style2) {
92660
92677
  const underlineColor = resolveColorFromAttributes(mark2.attrs ?? {}, themeColors);
92661
92678
  run2.underline = {
92662
92679
  style: style2,
92663
92680
  color: underlineColor ?? run2.underline?.color
92664
92681
  };
92682
+ } else if (underlineValue !== void 0 && underlineValue !== null) {
92683
+ delete run2.underline;
92665
92684
  }
92666
92685
  break;
92667
92686
  }
@@ -157790,7 +157809,7 @@ ${style2}
157790
157809
  this.config.colors = shuffleArray(this.config.colors);
157791
157810
  this.userColorMap = /* @__PURE__ */ new Map();
157792
157811
  this.colorIndex = 0;
157793
- this.version = "1.0.3";
157812
+ this.version = "1.0.4";
157794
157813
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
157795
157814
  this.superdocId = config2.superdocId || v4();
157796
157815
  this.colors = this.config.colors;
@@ -160263,7 +160282,7 @@ ${style2}
160263
160282
  value && typeof value === "object" && "byteLength" in value && "byteOffset" in value
160264
160283
  );
160265
160284
  }
160266
- const indexBFesQTtm = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
160285
+ const indexBv0DGtbh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
160267
160286
  __proto__: null,
160268
160287
  unified
160269
160288
  }, Symbol.toStringTag, { value: "Module" }));