@harbour-enterprises/superdoc 0.19.0-next.9 → 0.20.0-next.1

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,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-DroNZHhs.cjs");
4
+ const superdoc = require("./index-CBTSdULo.cjs");
5
5
  function self(vars) {
6
6
  const {
7
7
  opacityDisabled,
@@ -1,5 +1,5 @@
1
1
  import { m as defineComponent, B as h, O as Transition, $ as process$1, I as watchEffect, d as computed, r as ref, j as onMounted, W as onUnmounted, c as createElementBlock, o as openBlock, a as createBaseVNode, f as createCommentVNode, v as createVNode, x as unref } from "./vue-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-BijsfKdg.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-Vp2WxlNm.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-D7MlgnUc.cjs");
2
+ const superEditor_es = require("./super-editor.es-Cten5oWF.cjs");
3
3
  const vue = require("./vue-DWle4Cai.cjs");
4
4
  const jszip = require("./jszip-b7l8QkfH.cjs");
5
5
  const blankDocx = require("./blank-docx-CPqX9RF5.cjs");
@@ -17386,7 +17386,7 @@ const _sfc_main = {
17386
17386
  __name: "SuperDoc",
17387
17387
  emits: ["selection-update"],
17388
17388
  setup(__props, { emit: __emit }) {
17389
- const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-Br7tqQjO.cjs")));
17389
+ const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-BLwxuMWh.cjs")));
17390
17390
  const superdocStore = useSuperdocStore();
17391
17391
  const commentsStore = useCommentsStore();
17392
17392
  const {
@@ -18030,7 +18030,7 @@ class SuperDoc extends eventemitter3.EventEmitter {
18030
18030
  this.config.colors = shuffleArray(this.config.colors);
18031
18031
  this.userColorMap = /* @__PURE__ */ new Map();
18032
18032
  this.colorIndex = 0;
18033
- this.version = "0.18.1";
18033
+ this.version = "0.20.0";
18034
18034
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
18035
18035
  this.superdocId = config.superdocId || uuid.v4();
18036
18036
  this.colors = this.config.colors;
@@ -1,4 +1,4 @@
1
- import { q as index$1, C as CommentsPluginKey, h as TrackChangesBasePluginKey, E as Editor, n as getRichTextExtensions, f as SuperInput, e as SuperEditor, A as AIWriter, g as SuperToolbar, i as createZip } from "./super-editor.es-DT9O7SCK.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-DGV2_J23.es.js";
2
2
  import { a0 as effectScope, r as ref, _ as markRaw, $ as process$1, a1 as toRaw, d as computed, a2 as isRef, a3 as isReactive, C as toRef, i as inject, p as getCurrentInstance, l as watch, x as unref, a4 as hasInjectionContext, M as reactive, s as nextTick, a5 as getCurrentScope, a6 as onScopeDispose, a7 as toRefs, g as global$1, J as shallowRef, N as readonly, j as onMounted, k as onBeforeUnmount, h as onBeforeMount, S as onActivated, q as onDeactivated, z as createTextVNode, F as Fragment, Q as Comment, m as defineComponent, D as provide, H as withDirectives, B as h, U as Teleport, R as renderSlot, V as isVNode, I as watchEffect, O as Transition, a8 as TransitionGroup, E as mergeProps, P as vShow, G as cloneVNode, T as Text, c as createElementBlock, o as openBlock, t as toDisplayString, v as createVNode, y as withCtx, a as createBaseVNode, A as normalizeStyle, f as createCommentVNode, u as createBlock, w as withModifiers, n as normalizeClass, a9 as resolveDirective, e as renderList, b as createApp, X as resolveDynamicComponent, aa as defineAsyncComponent } from "./vue-CXxsqYcP.es.js";
3
3
  import { B as Buffer$2 } from "./jszip-B8KIZSNe.es.js";
4
4
  import { B as BlankDOCX } from "./blank-docx-iwdyG9RH.es.js";
@@ -17369,7 +17369,7 @@ const _sfc_main = {
17369
17369
  __name: "SuperDoc",
17370
17370
  emits: ["selection-update"],
17371
17371
  setup(__props, { emit: __emit }) {
17372
- const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-Dt_ISEZh.es.js"));
17372
+ const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-t_JS3Mbo.es.js"));
17373
17373
  const superdocStore = useSuperdocStore();
17374
17374
  const commentsStore = useCommentsStore();
17375
17375
  const {
@@ -18013,7 +18013,7 @@ class SuperDoc extends EventEmitter {
18013
18013
  this.config.colors = shuffleArray(this.config.colors);
18014
18014
  this.userColorMap = /* @__PURE__ */ new Map();
18015
18015
  this.colorIndex = 0;
18016
- this.version = "0.18.1";
18016
+ this.version = "0.20.0";
18017
18017
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
18018
18018
  this.superdocId = config.superdocId || v4();
18019
18019
  this.colors = this.config.colors;
@@ -21411,7 +21411,9 @@ function stripHtmlStyles(html) {
21411
21411
  const cleanNode = (node) => {
21412
21412
  if (node.nodeType !== Node.ELEMENT_NODE) return;
21413
21413
  [...node.attributes].forEach((attr) => {
21414
- if (!SUPPORTED_ATTRS.includes(attr.name.toLowerCase())) {
21414
+ const name = attr.name.toLowerCase();
21415
+ const shouldKeep = SUPPORTED_ATTRS.includes(name) || name.startsWith("data-");
21416
+ if (!shouldKeep) {
21415
21417
  node.removeAttribute(attr.name);
21416
21418
  }
21417
21419
  });
@@ -22790,13 +22792,18 @@ const createSchemaOrderedListNode = ({ level, numId, listType, editor, listLevel
22790
22792
  numId = Number(numId);
22791
22793
  const { lvlText, numFmt } = ListHelpers.getListDefinitionDetails({ numId, level, listType, editor });
22792
22794
  const listNodeJSON = createListItemNodeJSON({ level, lvlText, numFmt, numId, listLevel, contentNode });
22795
+ const nodeTypeName = typeof listType === "string" ? listType : listType?.name;
22796
+ const type2 = nodeTypeName || "orderedList";
22797
+ const attrs = {
22798
+ "list-style-type": numFmt,
22799
+ listId: numId
22800
+ };
22801
+ if (type2 === "orderedList") {
22802
+ attrs.order = level;
22803
+ }
22793
22804
  const node = {
22794
- type: "orderedList",
22795
- attrs: {
22796
- "list-style-type": numFmt,
22797
- listId: numId,
22798
- order: level
22799
- },
22805
+ type: type2,
22806
+ attrs,
22800
22807
  content: [listNodeJSON]
22801
22808
  };
22802
22809
  return editor.schema.nodeFromJSON(node);
@@ -31115,7 +31122,7 @@ const _SuperConverter = class _SuperConverter2 {
31115
31122
  return;
31116
31123
  }
31117
31124
  }
31118
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.18.1") {
31125
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.20.0") {
31119
31126
  const customLocation = "docProps/custom.xml";
31120
31127
  if (!docx[customLocation]) {
31121
31128
  docx[customLocation] = generateCustomXml();
@@ -31602,7 +31609,7 @@ function storeSuperdocVersion(docx) {
31602
31609
  function generateCustomXml() {
31603
31610
  return DEFAULT_CUSTOM_XML;
31604
31611
  }
31605
- function generateSuperdocVersion(pid = 2, version2 = "0.18.1") {
31612
+ function generateSuperdocVersion(pid = 2, version2 = "0.20.0") {
31606
31613
  return {
31607
31614
  type: "element",
31608
31615
  name: "property",
@@ -48854,7 +48861,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
48854
48861
  * @returns {Object | void} Migration results
48855
48862
  */
48856
48863
  processCollaborationMigrations() {
48857
- console.debug("[checkVersionMigrations] Current editor version", "0.18.1");
48864
+ console.debug("[checkVersionMigrations] Current editor version", "0.20.0");
48858
48865
  if (!this.options.ydoc) return;
48859
48866
  const metaMap = this.options.ydoc.getMap("meta");
48860
48867
  let docVersion = metaMap.get("version");
@@ -49081,7 +49088,9 @@ init_fn = function() {
49081
49088
  this.initializeCollaborationData();
49082
49089
  this.initDefaultStyles();
49083
49090
  }
49084
- if (!this.options.ydoc) this.migrateListsToV2();
49091
+ if (!this.options.ydoc || this.options.markdown || this.options.html) {
49092
+ this.migrateListsToV2();
49093
+ }
49085
49094
  this.setDocumentMode(this.options.documentMode);
49086
49095
  if (!this.options.ydoc) {
49087
49096
  if (!this.options.isChildEditor) {
@@ -21394,7 +21394,9 @@ function stripHtmlStyles(html) {
21394
21394
  const cleanNode = (node) => {
21395
21395
  if (node.nodeType !== Node.ELEMENT_NODE) return;
21396
21396
  [...node.attributes].forEach((attr) => {
21397
- if (!SUPPORTED_ATTRS.includes(attr.name.toLowerCase())) {
21397
+ const name = attr.name.toLowerCase();
21398
+ const shouldKeep = SUPPORTED_ATTRS.includes(name) || name.startsWith("data-");
21399
+ if (!shouldKeep) {
21398
21400
  node.removeAttribute(attr.name);
21399
21401
  }
21400
21402
  });
@@ -22773,13 +22775,18 @@ const createSchemaOrderedListNode = ({ level, numId, listType, editor, listLevel
22773
22775
  numId = Number(numId);
22774
22776
  const { lvlText, numFmt } = ListHelpers.getListDefinitionDetails({ numId, level, listType, editor });
22775
22777
  const listNodeJSON = createListItemNodeJSON({ level, lvlText, numFmt, numId, listLevel, contentNode });
22778
+ const nodeTypeName = typeof listType === "string" ? listType : listType?.name;
22779
+ const type2 = nodeTypeName || "orderedList";
22780
+ const attrs = {
22781
+ "list-style-type": numFmt,
22782
+ listId: numId
22783
+ };
22784
+ if (type2 === "orderedList") {
22785
+ attrs.order = level;
22786
+ }
22776
22787
  const node = {
22777
- type: "orderedList",
22778
- attrs: {
22779
- "list-style-type": numFmt,
22780
- listId: numId,
22781
- order: level
22782
- },
22788
+ type: type2,
22789
+ attrs,
22783
22790
  content: [listNodeJSON]
22784
22791
  };
22785
22792
  return editor.schema.nodeFromJSON(node);
@@ -31098,7 +31105,7 @@ const _SuperConverter = class _SuperConverter2 {
31098
31105
  return;
31099
31106
  }
31100
31107
  }
31101
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.18.1") {
31108
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.20.0") {
31102
31109
  const customLocation = "docProps/custom.xml";
31103
31110
  if (!docx[customLocation]) {
31104
31111
  docx[customLocation] = generateCustomXml();
@@ -31585,7 +31592,7 @@ function storeSuperdocVersion(docx) {
31585
31592
  function generateCustomXml() {
31586
31593
  return DEFAULT_CUSTOM_XML;
31587
31594
  }
31588
- function generateSuperdocVersion(pid = 2, version2 = "0.18.1") {
31595
+ function generateSuperdocVersion(pid = 2, version2 = "0.20.0") {
31589
31596
  return {
31590
31597
  type: "element",
31591
31598
  name: "property",
@@ -48837,7 +48844,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
48837
48844
  * @returns {Object | void} Migration results
48838
48845
  */
48839
48846
  processCollaborationMigrations() {
48840
- console.debug("[checkVersionMigrations] Current editor version", "0.18.1");
48847
+ console.debug("[checkVersionMigrations] Current editor version", "0.20.0");
48841
48848
  if (!this.options.ydoc) return;
48842
48849
  const metaMap = this.options.ydoc.getMap("meta");
48843
48850
  let docVersion = metaMap.get("version");
@@ -49064,7 +49071,9 @@ init_fn = function() {
49064
49071
  this.initializeCollaborationData();
49065
49072
  this.initDefaultStyles();
49066
49073
  }
49067
- if (!this.options.ydoc) this.migrateListsToV2();
49074
+ if (!this.options.ydoc || this.options.markdown || this.options.html) {
49075
+ this.migrateListsToV2();
49076
+ }
49068
49077
  this.setDocumentMode(this.options.documentMode);
49069
49078
  if (!this.options.ydoc) {
49070
49079
  if (!this.options.isChildEditor) {
@@ -1,6 +1,6 @@
1
1
  import { ref, onMounted, onUnmounted, computed, createElementBlock, openBlock, withModifiers, createElementVNode, withDirectives, unref, vModelText, createCommentVNode, nextTick } from "vue";
2
- import { T as TextSelection } from "./chunks/converter-DPiYwzDY.js";
3
- import { _ as _export_sfc } from "./chunks/editor-BqdYfCl0.js";
2
+ import { T as TextSelection } from "./chunks/converter-Dq0PLazx.js";
3
+ import { _ as _export_sfc } from "./chunks/editor-BEtv1kuN.js";
4
4
  const DEFAULT_API_ENDPOINT = "https://sd-dev-express-gateway-i6xtm.ondigitalocean.app/insights";
5
5
  const SYSTEM_PROMPT = "You are an expert copywriter and you are immersed in a document editor. You are to provide document related text responses based on the user prompts. Only write what is asked for. Do not provide explanations. Try to keep placeholders as short as possible. Do not output your prompt. Your instructions are: ";
6
6
  async function baseInsightsFetch(payload, options = {}) {
@@ -21392,7 +21392,9 @@ function stripHtmlStyles(html) {
21392
21392
  const cleanNode = (node) => {
21393
21393
  if (node.nodeType !== Node.ELEMENT_NODE) return;
21394
21394
  [...node.attributes].forEach((attr) => {
21395
- if (!SUPPORTED_ATTRS.includes(attr.name.toLowerCase())) {
21395
+ const name = attr.name.toLowerCase();
21396
+ const shouldKeep = SUPPORTED_ATTRS.includes(name) || name.startsWith("data-");
21397
+ if (!shouldKeep) {
21396
21398
  node.removeAttribute(attr.name);
21397
21399
  }
21398
21400
  });
@@ -22771,13 +22773,18 @@ const createSchemaOrderedListNode = ({ level, numId, listType, editor, listLevel
22771
22773
  numId = Number(numId);
22772
22774
  const { lvlText, numFmt } = ListHelpers.getListDefinitionDetails({ numId, level, listType, editor });
22773
22775
  const listNodeJSON = createListItemNodeJSON({ level, lvlText, numFmt, numId, listLevel, contentNode });
22776
+ const nodeTypeName = typeof listType === "string" ? listType : listType?.name;
22777
+ const type2 = nodeTypeName || "orderedList";
22778
+ const attrs = {
22779
+ "list-style-type": numFmt,
22780
+ listId: numId
22781
+ };
22782
+ if (type2 === "orderedList") {
22783
+ attrs.order = level;
22784
+ }
22774
22785
  const node = {
22775
- type: "orderedList",
22776
- attrs: {
22777
- "list-style-type": numFmt,
22778
- listId: numId,
22779
- order: level
22780
- },
22786
+ type: type2,
22787
+ attrs,
22781
22788
  content: [listNodeJSON]
22782
22789
  };
22783
22790
  return editor.schema.nodeFromJSON(node);
@@ -31105,7 +31112,7 @@ const _SuperConverter = class _SuperConverter {
31105
31112
  return;
31106
31113
  }
31107
31114
  }
31108
- static updateDocumentVersion(docx = this.convertedXml, version = "0.18.1") {
31115
+ static updateDocumentVersion(docx = this.convertedXml, version = "0.20.0") {
31109
31116
  const customLocation = "docProps/custom.xml";
31110
31117
  if (!docx[customLocation]) {
31111
31118
  docx[customLocation] = generateCustomXml();
@@ -31595,7 +31602,7 @@ function storeSuperdocVersion(docx) {
31595
31602
  function generateCustomXml() {
31596
31603
  return DEFAULT_CUSTOM_XML;
31597
31604
  }
31598
- function generateSuperdocVersion(pid = 2, version = "0.18.1") {
31605
+ function generateSuperdocVersion(pid = 2, version = "0.20.0") {
31599
31606
  return {
31600
31607
  type: "element",
31601
31608
  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-DPiYwzDY.js";
1
+ import { p as process$1, aw as commonjsGlobal, B as Buffer, ax as getDefaultExportFromCjs, ay as getContentTypesFromXml, az as xmljs } from "./converter-Dq0PLazx.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, _ListItemNodeView_instances, init_fn2, _FieldAnnotationView_instances, createAnnotation_fn, _AutoPageNumberNodeView_instances, renderDom_fn, scheduleUpdateNodeStyle_fn, _DocumentSectionView_instances, init_fn3, addToolTip_fn;
13
13
  import * as Y from "yjs";
14
14
  import { UndoManager, Item as Item$1, ContentType, Text as Text$1, XmlElement, encodeStateAsUpdate } from "yjs";
15
- import { P as PluginKey, a as Plugin, M as Mapping, N as NodeSelection, S as Selection, T as TextSelection, b as Slice, D as DOMSerializer, F as Fragment, c as DOMParser$1, d as Mark$1, e as dropPoint, A as AllSelection, p as process$1, B as Buffer2, f as callOrGet, g as getExtensionConfigField, h as getMarkType, i as getMarksFromSelection, j as getNodeType, k as getSchemaTypeNameByName, l as Schema$1, m as cleanSchemaItem, n as canSplit, o as defaultBlockAt$1, q as liftTarget, r as canJoin, s as joinPoint, t as replaceStep$1, R as ReplaceAroundStep$1, u as isTextSelection, v as getMarkRange, w as isMarkActive, x as isNodeActive, y as deleteProps, z as processContent, C as ReplaceStep, E as NodeRange, G as findWrapping, L as ListHelpers, H as findParentNode, I as isMacOS, J as isIOS, K as getSchemaTypeByName, O as inputRulesPlugin, Q as TrackDeleteMarkName, U as TrackInsertMarkName, V as v4, W as TrackFormatMarkName, X as comments_module_events, Y as findMark, Z as objectIncludes, _ as AddMarkStep, $ as RemoveMarkStep, a0 as twipsToLines, a1 as pixelsToTwips, a2 as helpers, a3 as posToDOMRect, a4 as CommandService, a5 as SuperConverter, a6 as createDocument, a7 as createDocFromMarkdown, a8 as createDocFromHTML, a9 as EditorState, aa as hasSomeParentWithClass, ab as isActive, ac as unflattenListsInHtml, ad as parseSizeUnit, ae as minMax, af as getLineHeightValueString, ag as InputRule, ah as kebabCase, ai as findParentNodeClosestToPos, aj as getListItemStyleDefinitions, ak as docxNumberigHelpers, al as parseIndentElement, am as combineIndents, an as StepMap, ao as getColStyleDeclaration, ap as SelectionRange, aq as Transform, ar as isInTable$1, as as createColGroup, at as generateDocxRandomId, au as insertNewRelationship, av as htmlHandler } from "./converter-DPiYwzDY.js";
15
+ import { P as PluginKey, a as Plugin, M as Mapping, N as NodeSelection, S as Selection, T as TextSelection, b as Slice, D as DOMSerializer, F as Fragment, c as DOMParser$1, d as Mark$1, e as dropPoint, A as AllSelection, p as process$1, B as Buffer2, f as callOrGet, g as getExtensionConfigField, h as getMarkType, i as getMarksFromSelection, j as getNodeType, k as getSchemaTypeNameByName, l as Schema$1, m as cleanSchemaItem, n as canSplit, o as defaultBlockAt$1, q as liftTarget, r as canJoin, s as joinPoint, t as replaceStep$1, R as ReplaceAroundStep$1, u as isTextSelection, v as getMarkRange, w as isMarkActive, x as isNodeActive, y as deleteProps, z as processContent, C as ReplaceStep, E as NodeRange, G as findWrapping, L as ListHelpers, H as findParentNode, I as isMacOS, J as isIOS, K as getSchemaTypeByName, O as inputRulesPlugin, Q as TrackDeleteMarkName, U as TrackInsertMarkName, V as v4, W as TrackFormatMarkName, X as comments_module_events, Y as findMark, Z as objectIncludes, _ as AddMarkStep, $ as RemoveMarkStep, a0 as twipsToLines, a1 as pixelsToTwips, a2 as helpers, a3 as posToDOMRect, a4 as CommandService, a5 as SuperConverter, a6 as createDocument, a7 as createDocFromMarkdown, a8 as createDocFromHTML, a9 as EditorState, aa as hasSomeParentWithClass, ab as isActive, ac as unflattenListsInHtml, ad as parseSizeUnit, ae as minMax, af as getLineHeightValueString, ag as InputRule, ah as kebabCase, ai as findParentNodeClosestToPos, aj as getListItemStyleDefinitions, ak as docxNumberigHelpers, al as parseIndentElement, am as combineIndents, an as StepMap, ao as getColStyleDeclaration, ap as SelectionRange, aq as Transform, ar as isInTable$1, as as createColGroup, at as generateDocxRandomId, au as insertNewRelationship, av as htmlHandler } from "./converter-Dq0PLazx.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-CS-lB2JG.js";
17
+ import { D as DocxZipper } from "./docx-zipper-jT0gaoep.js";
18
18
  var GOOD_LEAF_SIZE = 200;
19
19
  var RopeSequence = function RopeSequence2() {
20
20
  };
@@ -14746,7 +14746,7 @@ const _Editor = class _Editor extends EventEmitter {
14746
14746
  * @returns {Object | void} Migration results
14747
14747
  */
14748
14748
  processCollaborationMigrations() {
14749
- console.debug("[checkVersionMigrations] Current editor version", "0.18.1");
14749
+ console.debug("[checkVersionMigrations] Current editor version", "0.20.0");
14750
14750
  if (!this.options.ydoc) return;
14751
14751
  const metaMap = this.options.ydoc.getMap("meta");
14752
14752
  let docVersion = metaMap.get("version");
@@ -14982,7 +14982,9 @@ init_fn = function() {
14982
14982
  this.initializeCollaborationData();
14983
14983
  this.initDefaultStyles();
14984
14984
  }
14985
- if (!this.options.ydoc) this.migrateListsToV2();
14985
+ if (!this.options.ydoc || this.options.markdown || this.options.html) {
14986
+ this.migrateListsToV2();
14987
+ }
14986
14988
  this.setDocumentMode(this.options.documentMode);
14987
14989
  if (!this.options.ydoc) {
14988
14990
  if (!this.options.isChildEditor) {
@@ -1,6 +1,6 @@
1
1
  import { computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, normalizeClass, normalizeStyle, ref, withKeys, unref, withModifiers, createBlock, toDisplayString, withDirectives, vModelText, nextTick, getCurrentInstance, createVNode, readonly, watch, onMounted, onBeforeUnmount, reactive, onBeforeMount, inject, onActivated, onDeactivated, createTextVNode, Fragment, Comment, defineComponent, provide, h, Teleport, toRef, renderSlot, isVNode, shallowRef, watchEffect, mergeProps, Transition, vShow, cloneVNode, Text, renderList, withCtx } from "vue";
2
- import { p as process$1 } from "./converter-DPiYwzDY.js";
3
- import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-BqdYfCl0.js";
2
+ import { p as process$1 } from "./converter-Dq0PLazx.js";
3
+ import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-BEtv1kuN.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-DPiYwzDY.js";
1
+ import { a5 } from "./chunks/converter-Dq0PLazx.js";
2
2
  import "vue";
3
3
  export {
4
4
  a5 as SuperConverter
@@ -1,5 +1,5 @@
1
- import "./chunks/converter-DPiYwzDY.js";
2
- import { D } from "./chunks/docx-zipper-CS-lB2JG.js";
1
+ import "./chunks/converter-Dq0PLazx.js";
2
+ import { D } from "./chunks/docx-zipper-jT0gaoep.js";
3
3
  export {
4
4
  D as default
5
5
  };
@@ -1,6 +1,6 @@
1
- import { E } from "./chunks/editor-BqdYfCl0.js";
2
- import "./chunks/converter-DPiYwzDY.js";
3
- import "./chunks/docx-zipper-CS-lB2JG.js";
1
+ import { E } from "./chunks/editor-BEtv1kuN.js";
2
+ import "./chunks/converter-Dq0PLazx.js";
3
+ import "./chunks/docx-zipper-jT0gaoep.js";
4
4
  export {
5
5
  E as Editor
6
6
  };
@@ -1,4 +1,4 @@
1
- import { J as JSZip } from "./chunks/docx-zipper-CS-lB2JG.js";
1
+ import { J as JSZip } from "./chunks/docx-zipper-jT0gaoep.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, ar as isInTable, aC as readFromClipboard, aD as handleClipboardPaste, aE as getFileObject, aF as translator, aG as translator$1, aH as translator$2, a as Plugin } from "./chunks/converter-DPiYwzDY.js";
13
- import { aI, a5, i, a2 } from "./chunks/converter-DPiYwzDY.js";
14
- import { _ as _export_sfc, u as useHighContrastMode, a as getQuickFormatList, b as generateLinkedStyleString, c as getFileOpener, s as startImageUpload, y as yUndoPluginKey, d as undoDepth, r as redoDepth, S as SlashMenuPluginKey, E as Editor, e as getStarterExtensions, P as Placeholder, f as getRichTextExtensions, M as Mark, h as Extension, A as Attribute, N as Node } from "./chunks/editor-BqdYfCl0.js";
15
- import { k, C, l, T, i as i2, m, j } from "./chunks/editor-BqdYfCl0.js";
12
+ import { ax as getDefaultExportFromCjs, V as v4, T as TextSelection$1, v as getMarkRange, aA as vClickOutside, H as findParentNode, aB as getActiveFormatting, ar as isInTable, aC as readFromClipboard, aD as handleClipboardPaste, aE as getFileObject, aF as translator, aG as translator$1, aH as translator$2, a as Plugin } from "./chunks/converter-Dq0PLazx.js";
13
+ import { aI, a5, i, a2 } from "./chunks/converter-Dq0PLazx.js";
14
+ import { _ as _export_sfc, u as useHighContrastMode, a as getQuickFormatList, b as generateLinkedStyleString, c as getFileOpener, s as startImageUpload, y as yUndoPluginKey, d as undoDepth, r as redoDepth, S as SlashMenuPluginKey, E as Editor, e as getStarterExtensions, P as Placeholder, f as getRichTextExtensions, M as Mark, h as Extension, A as Attribute, N as Node } from "./chunks/editor-BEtv1kuN.js";
15
+ import { k, C, l, T, i as i2, m, j } from "./chunks/editor-BEtv1kuN.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-Dr4JWMZ7.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-CJfSHfLU.js";
18
18
  import AIWriter from "./ai-writer.es.js";
19
- import { D } from "./chunks/docx-zipper-CS-lB2JG.js";
19
+ import { D } from "./chunks/docx-zipper-jT0gaoep.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-Dr4JWMZ7.js";
3
- import "./chunks/editor-BqdYfCl0.js";
2
+ import { T } from "./chunks/toolbar-CJfSHfLU.js";
3
+ import "./chunks/editor-BEtv1kuN.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-D7MlgnUc.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-Cten5oWF.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-DT9O7SCK.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-DGV2_J23.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-D7MlgnUc.cjs");
4
- const superdoc = require("./chunks/index-DroNZHhs.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-Cten5oWF.cjs");
4
+ const superdoc = require("./chunks/index-CBTSdULo.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-DT9O7SCK.es.js";
2
- import { D, H, P, S as S2, m, l } from "./chunks/index-BijsfKdg.es.js";
1
+ import { a, E, b, S, d, i, j, n, r, p, q } from "./chunks/super-editor.es-DGV2_J23.es.js";
2
+ import { D, H, P, S as S2, m, l } from "./chunks/index-Vp2WxlNm.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";
@@ -29136,7 +29136,9 @@
29136
29136
  const cleanNode = (node) => {
29137
29137
  if (node.nodeType !== Node.ELEMENT_NODE) return;
29138
29138
  [...node.attributes].forEach((attr) => {
29139
- if (!SUPPORTED_ATTRS.includes(attr.name.toLowerCase())) {
29139
+ const name = attr.name.toLowerCase();
29140
+ const shouldKeep = SUPPORTED_ATTRS.includes(name) || name.startsWith("data-");
29141
+ if (!shouldKeep) {
29140
29142
  node.removeAttribute(attr.name);
29141
29143
  }
29142
29144
  });
@@ -30515,13 +30517,18 @@ Please report this to https://github.com/markedjs/marked.`, e) {
30515
30517
  numId = Number(numId);
30516
30518
  const { lvlText, numFmt } = ListHelpers.getListDefinitionDetails({ numId, level, listType, editor });
30517
30519
  const listNodeJSON = createListItemNodeJSON({ level, lvlText, numFmt, numId, listLevel, contentNode });
30520
+ const nodeTypeName = typeof listType === "string" ? listType : listType?.name;
30521
+ const type2 = nodeTypeName || "orderedList";
30522
+ const attrs = {
30523
+ "list-style-type": numFmt,
30524
+ listId: numId
30525
+ };
30526
+ if (type2 === "orderedList") {
30527
+ attrs.order = level;
30528
+ }
30518
30529
  const node = {
30519
- type: "orderedList",
30520
- attrs: {
30521
- "list-style-type": numFmt,
30522
- listId: numId,
30523
- order: level
30524
- },
30530
+ type: type2,
30531
+ attrs,
30525
30532
  content: [listNodeJSON]
30526
30533
  };
30527
30534
  return editor.schema.nodeFromJSON(node);
@@ -38813,7 +38820,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
38813
38820
  return;
38814
38821
  }
38815
38822
  }
38816
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.18.1") {
38823
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.20.0") {
38817
38824
  const customLocation = "docProps/custom.xml";
38818
38825
  if (!docx[customLocation]) {
38819
38826
  docx[customLocation] = generateCustomXml();
@@ -39300,7 +39307,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
39300
39307
  function generateCustomXml() {
39301
39308
  return DEFAULT_CUSTOM_XML;
39302
39309
  }
39303
- function generateSuperdocVersion(pid = 2, version2 = "0.18.1") {
39310
+ function generateSuperdocVersion(pid = 2, version2 = "0.20.0") {
39304
39311
  return {
39305
39312
  type: "element",
39306
39313
  name: "property",
@@ -56552,7 +56559,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
56552
56559
  * @returns {Object | void} Migration results
56553
56560
  */
56554
56561
  processCollaborationMigrations() {
56555
- console.debug("[checkVersionMigrations] Current editor version", "0.18.1");
56562
+ console.debug("[checkVersionMigrations] Current editor version", "0.20.0");
56556
56563
  if (!this.options.ydoc) return;
56557
56564
  const metaMap = this.options.ydoc.getMap("meta");
56558
56565
  let docVersion = metaMap.get("version");
@@ -56779,7 +56786,9 @@ Please report this to https://github.com/markedjs/marked.`, e) {
56779
56786
  this.initializeCollaborationData();
56780
56787
  this.initDefaultStyles();
56781
56788
  }
56782
- if (!this.options.ydoc) this.migrateListsToV2();
56789
+ if (!this.options.ydoc || this.options.markdown || this.options.html) {
56790
+ this.migrateListsToV2();
56791
+ }
56783
56792
  this.setDocumentMode(this.options.documentMode);
56784
56793
  if (!this.options.ydoc) {
56785
56794
  if (!this.options.isChildEditor) {
@@ -106871,7 +106880,7 @@ ${style2}
106871
106880
  this.config.colors = shuffleArray(this.config.colors);
106872
106881
  this.userColorMap = /* @__PURE__ */ new Map();
106873
106882
  this.colorIndex = 0;
106874
- this.version = "0.18.1";
106883
+ this.version = "0.20.0";
106875
106884
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
106876
106885
  this.superdocId = config2.superdocId || v4();
106877
106886
  this.colors = this.config.colors;