@harbour-enterprises/superdoc 0.15.2-next.2 → 0.15.2-next.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/{super-editor.es-BlSK1zQU.es.js → super-editor.es-CuVy6ByB.es.js} +50 -7
  2. package/dist/chunks/{super-editor.es-ChEpdXab.cjs → super-editor.es-DwT8MS99.cjs} +50 -7
  3. package/dist/super-editor/ai-writer.es.js +2 -2
  4. package/dist/super-editor/chunks/{converter-DEzeQyFB.js → converter-CoKb5h0j.js} +49 -6
  5. package/dist/super-editor/chunks/{docx-zipper-r--J6tY3.js → docx-zipper-CidEchkw.js} +1 -1
  6. package/dist/super-editor/chunks/{editor-DNJxPkJY.js → editor-Bby3BVH9.js} +3 -3
  7. package/dist/super-editor/chunks/{toolbar-Qax0Z1kx.js → toolbar-CMUe2lho.js} +2 -2
  8. package/dist/super-editor/converter.es.js +1 -1
  9. package/dist/super-editor/core/super-converter/exporter.d.ts.map +1 -1
  10. package/dist/super-editor/docx-zipper.es.js +2 -2
  11. package/dist/super-editor/editor.es.js +3 -3
  12. package/dist/super-editor/file-zipper.es.js +1 -1
  13. package/dist/super-editor/super-editor.es.js +6 -6
  14. package/dist/super-editor/toolbar.es.js +2 -2
  15. package/dist/super-editor.cjs +1 -1
  16. package/dist/super-editor.es.js +1 -1
  17. package/dist/superdoc.cjs +2 -2
  18. package/dist/superdoc.es.js +3 -3
  19. package/dist/superdoc.umd.js +51 -8
  20. package/dist/superdoc.umd.js.map +1 -1
  21. package/package.json +1 -1
  22. package/dist/super-editor/tests/e2e/pagination.spec.d.ts +0 -2
  23. package/dist/super-editor/tests/e2e/pagination.spec.d.ts.map +0 -1
  24. package/dist/super-editor/tests/e2e/test-app/src/main.d.ts +0 -2
  25. package/dist/super-editor/tests/e2e/test-app/src/main.d.ts.map +0 -1
  26. package/dist/super-editor/tests/e2e/test-app/vite.config.d.ts +0 -3
  27. package/dist/super-editor/tests/e2e/test-app/vite.config.d.ts.map +0 -1
@@ -25640,9 +25640,50 @@ function translateList(params2) {
25640
25640
  numPrTag = generateNumPrTag(numId, level);
25641
25641
  }
25642
25642
  const collapsedParagraphNode = convertMultipleListItemsIntoSingleNode(listItem);
25643
- const outputNode = exportSchemaToJson({ ...params2, node: collapsedParagraphNode });
25643
+ let outputNode = exportSchemaToJson({ ...params2, node: collapsedParagraphNode });
25644
+ let nodesToFlatten = [];
25645
+ if (Array.isArray(outputNode) && params2.isFinalDoc) {
25646
+ const parsedElements = [];
25647
+ outputNode?.forEach((node3, index2) => {
25648
+ if (node3?.elements) {
25649
+ const runs = node3.elements?.filter((n) => n.name === "w:r");
25650
+ parsedElements.push(...runs);
25651
+ if (node3.name === "w:p" && index2 < outputNode.length - 1) {
25652
+ parsedElements.push({
25653
+ name: "w:br"
25654
+ });
25655
+ }
25656
+ }
25657
+ });
25658
+ outputNode = {
25659
+ name: "w:p",
25660
+ elements: [{ name: "w:pPr", elements: [] }, ...parsedElements]
25661
+ };
25662
+ }
25663
+ const sdtNodes = outputNode.elements?.filter((n) => n.name === "w:sdt");
25664
+ if (sdtNodes && sdtNodes.length > 0) {
25665
+ nodesToFlatten = sdtNodes;
25666
+ nodesToFlatten?.forEach((sdtNode) => {
25667
+ const sdtContent = sdtNode.elements.find((n) => n.name === "w:sdtContent");
25668
+ if (sdtContent && sdtContent.elements) {
25669
+ const parsedElements = [];
25670
+ sdtContent.elements.forEach((element, index2) => {
25671
+ const runs = element.elements?.filter((n) => n.name === "w:r");
25672
+ parsedElements.push(...runs);
25673
+ if (element.name === "w:p" && index2 < sdtContent.elements.length - 1) {
25674
+ parsedElements.push({
25675
+ name: "w:br"
25676
+ });
25677
+ }
25678
+ });
25679
+ sdtContent.elements = parsedElements;
25680
+ }
25681
+ });
25682
+ }
25644
25683
  const pPr = outputNode.elements?.find((n) => n.name === "w:pPr");
25645
- if (pPr && pPr.elements && numPrTag) pPr.elements.unshift(numPrTag);
25684
+ if (pPr && pPr.elements && numPrTag) {
25685
+ pPr.elements.unshift(numPrTag);
25686
+ }
25646
25687
  const indentTag = restoreIndent(listItem.attrs.indent);
25647
25688
  indentTag && pPr?.elements?.push(indentTag);
25648
25689
  const runNode = outputNode.elements?.find((n) => n.name === "w:r");
@@ -26436,7 +26477,8 @@ function prepareHtmlAnnotation(params2) {
26436
26477
  node: { attrs = {}, marks = [] },
26437
26478
  editorSchema
26438
26479
  } = params2;
26439
- const paragraphHtmlContainer = sanitizeHtml(attrs.rawHtml);
26480
+ let html = attrs.rawHtml || attrs.displayLabel;
26481
+ const paragraphHtmlContainer = sanitizeHtml(html);
26440
26482
  const marksFromAttrs = translateFieldAttrsToMarks(attrs);
26441
26483
  const allMarks = [...marks, ...marksFromAttrs];
26442
26484
  let state2 = EditorState.create({
@@ -26555,7 +26597,7 @@ function translateFieldAnnotation(params2) {
26555
26597
  fieldTextHighlight: attrs.textHighlight
26556
26598
  };
26557
26599
  const annotationAttrsJson = JSON.stringify(annotationAttrs);
26558
- return {
26600
+ const result = {
26559
26601
  name: "w:sdt",
26560
26602
  elements: [
26561
26603
  {
@@ -26571,6 +26613,7 @@ function translateFieldAnnotation(params2) {
26571
26613
  }
26572
26614
  ]
26573
26615
  };
26616
+ return result;
26574
26617
  }
26575
26618
  function translateHardBreak(params2) {
26576
26619
  const { node: node2 = {} } = params2;
@@ -28664,7 +28707,7 @@ const _SuperConverter = class _SuperConverter2 {
28664
28707
  return;
28665
28708
  }
28666
28709
  }
28667
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.15.2-next.2") {
28710
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.15.2-next.4") {
28668
28711
  const customLocation = "docProps/custom.xml";
28669
28712
  if (!docx[customLocation]) {
28670
28713
  docx[customLocation] = generateCustomXml();
@@ -29142,7 +29185,7 @@ function storeSuperdocVersion(docx) {
29142
29185
  function generateCustomXml() {
29143
29186
  return DEFAULT_CUSTOM_XML;
29144
29187
  }
29145
- function generateSuperdocVersion(pid = 2, version2 = "0.15.2-next.2") {
29188
+ function generateSuperdocVersion(pid = 2, version2 = "0.15.2-next.4") {
29146
29189
  return {
29147
29190
  type: "element",
29148
29191
  name: "property",
@@ -45266,7 +45309,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
45266
45309
  * @returns {Object | void} Migration results
45267
45310
  */
45268
45311
  processCollaborationMigrations() {
45269
- console.debug("[checkVersionMigrations] Current editor version", "0.15.2-next.2");
45312
+ console.debug("[checkVersionMigrations] Current editor version", "0.15.2-next.4");
45270
45313
  if (!this.options.ydoc) return;
45271
45314
  const metaMap = this.options.ydoc.getMap("meta");
45272
45315
  let docVersion = metaMap.get("version");
@@ -25657,9 +25657,50 @@ function translateList(params2) {
25657
25657
  numPrTag = generateNumPrTag(numId, level);
25658
25658
  }
25659
25659
  const collapsedParagraphNode = convertMultipleListItemsIntoSingleNode(listItem);
25660
- const outputNode = exportSchemaToJson({ ...params2, node: collapsedParagraphNode });
25660
+ let outputNode = exportSchemaToJson({ ...params2, node: collapsedParagraphNode });
25661
+ let nodesToFlatten = [];
25662
+ if (Array.isArray(outputNode) && params2.isFinalDoc) {
25663
+ const parsedElements = [];
25664
+ outputNode?.forEach((node3, index2) => {
25665
+ if (node3?.elements) {
25666
+ const runs = node3.elements?.filter((n) => n.name === "w:r");
25667
+ parsedElements.push(...runs);
25668
+ if (node3.name === "w:p" && index2 < outputNode.length - 1) {
25669
+ parsedElements.push({
25670
+ name: "w:br"
25671
+ });
25672
+ }
25673
+ }
25674
+ });
25675
+ outputNode = {
25676
+ name: "w:p",
25677
+ elements: [{ name: "w:pPr", elements: [] }, ...parsedElements]
25678
+ };
25679
+ }
25680
+ const sdtNodes = outputNode.elements?.filter((n) => n.name === "w:sdt");
25681
+ if (sdtNodes && sdtNodes.length > 0) {
25682
+ nodesToFlatten = sdtNodes;
25683
+ nodesToFlatten?.forEach((sdtNode) => {
25684
+ const sdtContent = sdtNode.elements.find((n) => n.name === "w:sdtContent");
25685
+ if (sdtContent && sdtContent.elements) {
25686
+ const parsedElements = [];
25687
+ sdtContent.elements.forEach((element, index2) => {
25688
+ const runs = element.elements?.filter((n) => n.name === "w:r");
25689
+ parsedElements.push(...runs);
25690
+ if (element.name === "w:p" && index2 < sdtContent.elements.length - 1) {
25691
+ parsedElements.push({
25692
+ name: "w:br"
25693
+ });
25694
+ }
25695
+ });
25696
+ sdtContent.elements = parsedElements;
25697
+ }
25698
+ });
25699
+ }
25661
25700
  const pPr = outputNode.elements?.find((n) => n.name === "w:pPr");
25662
- if (pPr && pPr.elements && numPrTag) pPr.elements.unshift(numPrTag);
25701
+ if (pPr && pPr.elements && numPrTag) {
25702
+ pPr.elements.unshift(numPrTag);
25703
+ }
25663
25704
  const indentTag = restoreIndent(listItem.attrs.indent);
25664
25705
  indentTag && pPr?.elements?.push(indentTag);
25665
25706
  const runNode = outputNode.elements?.find((n) => n.name === "w:r");
@@ -26453,7 +26494,8 @@ function prepareHtmlAnnotation(params2) {
26453
26494
  node: { attrs = {}, marks = [] },
26454
26495
  editorSchema
26455
26496
  } = params2;
26456
- const paragraphHtmlContainer = sanitizeHtml(attrs.rawHtml);
26497
+ let html = attrs.rawHtml || attrs.displayLabel;
26498
+ const paragraphHtmlContainer = sanitizeHtml(html);
26457
26499
  const marksFromAttrs = translateFieldAttrsToMarks(attrs);
26458
26500
  const allMarks = [...marks, ...marksFromAttrs];
26459
26501
  let state2 = EditorState.create({
@@ -26572,7 +26614,7 @@ function translateFieldAnnotation(params2) {
26572
26614
  fieldTextHighlight: attrs.textHighlight
26573
26615
  };
26574
26616
  const annotationAttrsJson = JSON.stringify(annotationAttrs);
26575
- return {
26617
+ const result = {
26576
26618
  name: "w:sdt",
26577
26619
  elements: [
26578
26620
  {
@@ -26588,6 +26630,7 @@ function translateFieldAnnotation(params2) {
26588
26630
  }
26589
26631
  ]
26590
26632
  };
26633
+ return result;
26591
26634
  }
26592
26635
  function translateHardBreak(params2) {
26593
26636
  const { node: node2 = {} } = params2;
@@ -28681,7 +28724,7 @@ const _SuperConverter = class _SuperConverter2 {
28681
28724
  return;
28682
28725
  }
28683
28726
  }
28684
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.15.2-next.2") {
28727
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.15.2-next.4") {
28685
28728
  const customLocation = "docProps/custom.xml";
28686
28729
  if (!docx[customLocation]) {
28687
28730
  docx[customLocation] = generateCustomXml();
@@ -29159,7 +29202,7 @@ function storeSuperdocVersion(docx) {
29159
29202
  function generateCustomXml() {
29160
29203
  return DEFAULT_CUSTOM_XML;
29161
29204
  }
29162
- function generateSuperdocVersion(pid = 2, version2 = "0.15.2-next.2") {
29205
+ function generateSuperdocVersion(pid = 2, version2 = "0.15.2-next.4") {
29163
29206
  return {
29164
29207
  type: "element",
29165
29208
  name: "property",
@@ -45283,7 +45326,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
45283
45326
  * @returns {Object | void} Migration results
45284
45327
  */
45285
45328
  processCollaborationMigrations() {
45286
- console.debug("[checkVersionMigrations] Current editor version", "0.15.2-next.2");
45329
+ console.debug("[checkVersionMigrations] Current editor version", "0.15.2-next.4");
45287
45330
  if (!this.options.ydoc) return;
45288
45331
  const metaMap = this.options.ydoc.getMap("meta");
45289
45332
  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-DEzeQyFB.js";
3
- import { _ as _export_sfc } from "./chunks/editor-DNJxPkJY.js";
2
+ import { T as TextSelection } from "./chunks/converter-CoKb5h0j.js";
3
+ import { _ as _export_sfc } from "./chunks/editor-Bby3BVH9.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 = {}) {
@@ -25638,9 +25638,50 @@ function translateList(params) {
25638
25638
  numPrTag = generateNumPrTag(numId, level);
25639
25639
  }
25640
25640
  const collapsedParagraphNode = convertMultipleListItemsIntoSingleNode(listItem);
25641
- const outputNode = exportSchemaToJson({ ...params, node: collapsedParagraphNode });
25641
+ let outputNode = exportSchemaToJson({ ...params, node: collapsedParagraphNode });
25642
+ let nodesToFlatten = [];
25643
+ if (Array.isArray(outputNode) && params.isFinalDoc) {
25644
+ const parsedElements = [];
25645
+ outputNode?.forEach((node3, index) => {
25646
+ if (node3?.elements) {
25647
+ const runs = node3.elements?.filter((n) => n.name === "w:r");
25648
+ parsedElements.push(...runs);
25649
+ if (node3.name === "w:p" && index < outputNode.length - 1) {
25650
+ parsedElements.push({
25651
+ name: "w:br"
25652
+ });
25653
+ }
25654
+ }
25655
+ });
25656
+ outputNode = {
25657
+ name: "w:p",
25658
+ elements: [{ name: "w:pPr", elements: [] }, ...parsedElements]
25659
+ };
25660
+ }
25661
+ const sdtNodes = outputNode.elements?.filter((n) => n.name === "w:sdt");
25662
+ if (sdtNodes && sdtNodes.length > 0) {
25663
+ nodesToFlatten = sdtNodes;
25664
+ nodesToFlatten?.forEach((sdtNode) => {
25665
+ const sdtContent = sdtNode.elements.find((n) => n.name === "w:sdtContent");
25666
+ if (sdtContent && sdtContent.elements) {
25667
+ const parsedElements = [];
25668
+ sdtContent.elements.forEach((element, index) => {
25669
+ const runs = element.elements?.filter((n) => n.name === "w:r");
25670
+ parsedElements.push(...runs);
25671
+ if (element.name === "w:p" && index < sdtContent.elements.length - 1) {
25672
+ parsedElements.push({
25673
+ name: "w:br"
25674
+ });
25675
+ }
25676
+ });
25677
+ sdtContent.elements = parsedElements;
25678
+ }
25679
+ });
25680
+ }
25642
25681
  const pPr = outputNode.elements?.find((n) => n.name === "w:pPr");
25643
- if (pPr && pPr.elements && numPrTag) pPr.elements.unshift(numPrTag);
25682
+ if (pPr && pPr.elements && numPrTag) {
25683
+ pPr.elements.unshift(numPrTag);
25684
+ }
25644
25685
  const indentTag = restoreIndent(listItem.attrs.indent);
25645
25686
  indentTag && pPr?.elements?.push(indentTag);
25646
25687
  const runNode = outputNode.elements?.find((n) => n.name === "w:r");
@@ -26434,7 +26475,8 @@ function prepareHtmlAnnotation(params) {
26434
26475
  node: { attrs = {}, marks = [] },
26435
26476
  editorSchema
26436
26477
  } = params;
26437
- const paragraphHtmlContainer = sanitizeHtml(attrs.rawHtml);
26478
+ let html = attrs.rawHtml || attrs.displayLabel;
26479
+ const paragraphHtmlContainer = sanitizeHtml(html);
26438
26480
  const marksFromAttrs = translateFieldAttrsToMarks(attrs);
26439
26481
  const allMarks = [...marks, ...marksFromAttrs];
26440
26482
  let state2 = EditorState.create({
@@ -26553,7 +26595,7 @@ function translateFieldAnnotation(params) {
26553
26595
  fieldTextHighlight: attrs.textHighlight
26554
26596
  };
26555
26597
  const annotationAttrsJson = JSON.stringify(annotationAttrs);
26556
- return {
26598
+ const result = {
26557
26599
  name: "w:sdt",
26558
26600
  elements: [
26559
26601
  {
@@ -26569,6 +26611,7 @@ function translateFieldAnnotation(params) {
26569
26611
  }
26570
26612
  ]
26571
26613
  };
26614
+ return result;
26572
26615
  }
26573
26616
  function translateHardBreak(params) {
26574
26617
  const { node: node2 = {} } = params;
@@ -28662,7 +28705,7 @@ const _SuperConverter = class _SuperConverter {
28662
28705
  return;
28663
28706
  }
28664
28707
  }
28665
- static updateDocumentVersion(docx = this.convertedXml, version = "0.15.2-next.2") {
28708
+ static updateDocumentVersion(docx = this.convertedXml, version = "0.15.2-next.4") {
28666
28709
  const customLocation = "docProps/custom.xml";
28667
28710
  if (!docx[customLocation]) {
28668
28711
  docx[customLocation] = generateCustomXml();
@@ -29143,7 +29186,7 @@ function storeSuperdocVersion(docx) {
29143
29186
  function generateCustomXml() {
29144
29187
  return DEFAULT_CUSTOM_XML;
29145
29188
  }
29146
- function generateSuperdocVersion(pid = 2, version = "0.15.2-next.2") {
29189
+ function generateSuperdocVersion(pid = 2, version = "0.15.2-next.4") {
29147
29190
  return {
29148
29191
  type: "element",
29149
29192
  name: "property",
@@ -1,4 +1,4 @@
1
- import { H as process$1, at as commonjsGlobal, I as Buffer, au as getDefaultExportFromCjs, av as getContentTypesFromXml, aw as xmljs } from "./converter-DEzeQyFB.js";
1
+ import { H as process$1, at as commonjsGlobal, I as Buffer, au as getDefaultExportFromCjs, av as getContentTypesFromXml, aw as xmljs } from "./converter-CoKb5h0j.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, _commandService, _css, _Editor_instances, initContainerElement_fn, init_fn, initRichText_fn, onFocus_fn, checkHeadless_fn, insertNewFileData_fn, registerPluginByNameIfNotExists_fn, createExtensionService_fn, createCommandService_fn, createConverter_fn, initMedia_fn, initFonts_fn, createSchema_fn, generatePmData_fn, createDocFromHTML_fn, createView_fn, onCollaborationReady_fn, initComments_fn, dispatchTransaction_fn, handleNodeSelection_fn, prepareDocumentForImport_fn, prepareDocumentForExport_fn, endCollaboration_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, c as callOrGet, g as getExtensionConfigField, b as getMarkType, d as getMarksFromSelection, e as getNodeType, f as getSchemaTypeNameByName, S as Schema$1, h as cleanSchemaItem, T as TextSelection, i as canSplit, l as liftTarget, A as AllSelection, j as canJoin, k as joinPoint, N as NodeSelection, m as Selection, r as replaceStep$1, F as Fragment, R as ReplaceAroundStep$1, n as Slice, o as defaultBlockAt$1, p as isTextSelection, q as getMarkRange, s as isMarkActive, t as isNodeActive, u as deleteProps, D as DOMParser$1, v as ReplaceStep, w as NodeRange, x as findWrapping, y as findParentNode, L as ListHelpers, z as isMacOS, B as isIOS, C as DOMSerializer, E as Mark$1, G as dropPoint, H as process$1, I as Buffer2, J as getSchemaTypeByName, K as inputRulesPlugin, O as TrackDeleteMarkName, Q as TrackInsertMarkName, U as v4, V as TrackFormatMarkName, W as comments_module_events, X as findMark, Y as objectIncludes, Z as AddMarkStep, _ as RemoveMarkStep, $ as twipsToLines, a0 as pixelsToTwips, a1 as findParentNodeClosestToPos, a2 as helpers, a3 as posToDOMRect, a4 as CommandService, a5 as SuperConverter, a6 as createDocument, a7 as EditorState, a8 as hasSomeParentWithClass, a9 as isActive, aa as unflattenListsInHtml, ab as parseSizeUnit, ac as minMax, ad as getLineHeightValueString, ae as InputRule, af as kebabCase, ag as generateOrderedListIndex, ah as getListItemStyleDefinitions, ai as docxNumberigHelpers, aj as parseIndentElement, ak as combineIndents, al as getColStyleDeclaration, am as SelectionRange, an as Transform, ao as isInTable$1, ap as createColGroup, aq as generateDocxRandomId, ar as SectionHelpers, as as htmlHandler } from "./converter-DEzeQyFB.js";
15
+ import { P as PluginKey, a as Plugin, M as Mapping, c as callOrGet, g as getExtensionConfigField, b as getMarkType, d as getMarksFromSelection, e as getNodeType, f as getSchemaTypeNameByName, S as Schema$1, h as cleanSchemaItem, T as TextSelection, i as canSplit, l as liftTarget, A as AllSelection, j as canJoin, k as joinPoint, N as NodeSelection, m as Selection, r as replaceStep$1, F as Fragment, R as ReplaceAroundStep$1, n as Slice, o as defaultBlockAt$1, p as isTextSelection, q as getMarkRange, s as isMarkActive, t as isNodeActive, u as deleteProps, D as DOMParser$1, v as ReplaceStep, w as NodeRange, x as findWrapping, y as findParentNode, L as ListHelpers, z as isMacOS, B as isIOS, C as DOMSerializer, E as Mark$1, G as dropPoint, H as process$1, I as Buffer2, J as getSchemaTypeByName, K as inputRulesPlugin, O as TrackDeleteMarkName, Q as TrackInsertMarkName, U as v4, V as TrackFormatMarkName, W as comments_module_events, X as findMark, Y as objectIncludes, Z as AddMarkStep, _ as RemoveMarkStep, $ as twipsToLines, a0 as pixelsToTwips, a1 as findParentNodeClosestToPos, a2 as helpers, a3 as posToDOMRect, a4 as CommandService, a5 as SuperConverter, a6 as createDocument, a7 as EditorState, a8 as hasSomeParentWithClass, a9 as isActive, aa as unflattenListsInHtml, ab as parseSizeUnit, ac as minMax, ad as getLineHeightValueString, ae as InputRule, af as kebabCase, ag as generateOrderedListIndex, ah as getListItemStyleDefinitions, ai as docxNumberigHelpers, aj as parseIndentElement, ak as combineIndents, al as getColStyleDeclaration, am as SelectionRange, an as Transform, ao as isInTable$1, ap as createColGroup, aq as generateDocxRandomId, ar as SectionHelpers, as as htmlHandler } from "./converter-CoKb5h0j.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-r--J6tY3.js";
17
+ import { D as DocxZipper } from "./docx-zipper-CidEchkw.js";
18
18
  var GOOD_LEAF_SIZE = 200;
19
19
  var RopeSequence = function RopeSequence2() {
20
20
  };
@@ -13626,7 +13626,7 @@ const _Editor = class _Editor extends EventEmitter {
13626
13626
  * @returns {Object | void} Migration results
13627
13627
  */
13628
13628
  processCollaborationMigrations() {
13629
- console.debug("[checkVersionMigrations] Current editor version", "0.15.2-next.2");
13629
+ console.debug("[checkVersionMigrations] Current editor version", "0.15.2-next.4");
13630
13630
  if (!this.options.ydoc) return;
13631
13631
  const metaMap = this.options.ydoc.getMap("meta");
13632
13632
  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 { H as process$1 } from "./converter-DEzeQyFB.js";
3
- import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-DNJxPkJY.js";
2
+ import { H as process$1 } from "./converter-CoKb5h0j.js";
3
+ import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-Bby3BVH9.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-DEzeQyFB.js";
1
+ import { a5 } from "./chunks/converter-CoKb5h0j.js";
2
2
  export {
3
3
  a5 as SuperConverter
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../../../src/core/super-converter/exporter.js"],"names":[],"mappings":"AA0BA;;;;;GAKG;AAEH;;;;;;;;;;;;GAYG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AACH,2CAHW,YAAY,GACV,YAAY,CAyCxB;AA+DD;;;;;GAKG;AACH,qDAFa,YAAY,CA2BxB;AAy/DD;;;;;;;;;EAgBC;AAyFD;IACE,4BAEC;IADC,eAA0B;IAG5B,gDAGC;;CAsEF;;;;;;;;;;;;;mBA51Ea,KAAQ;;;;;;UAKR,MAAM;;;;aACN,KAAK,CAAC,UAAU,CAAC;;;;;;;;;;;;;UAMjB,MAAM;;;;cACN,KAAK,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;UAgBnB,MAAM"}
1
+ {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../../../src/core/super-converter/exporter.js"],"names":[],"mappings":"AA0BA;;;;;GAKG;AAEH;;;;;;;;;;;;GAYG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AACH,2CAHW,YAAY,GACV,YAAY,CAyCxB;AA+DD;;;;;GAKG;AACH,qDAFa,YAAY,CA2BxB;AAojED;;;;;;;;;EAgBC;AAyFD;IACE,4BAEC;IADC,eAA0B;IAG5B,gDAGC;;CAsEF;;;;;;;;;;;;;mBAv5Ea,KAAQ;;;;;;UAKR,MAAM;;;;aACN,KAAK,CAAC,UAAU,CAAC;;;;;;;;;;;;;UAMjB,MAAM;;;;cACN,KAAK,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;UAgBnB,MAAM"}
@@ -1,5 +1,5 @@
1
- import "./chunks/converter-DEzeQyFB.js";
2
- import { D } from "./chunks/docx-zipper-r--J6tY3.js";
1
+ import "./chunks/converter-CoKb5h0j.js";
2
+ import { D } from "./chunks/docx-zipper-CidEchkw.js";
3
3
  export {
4
4
  D as default
5
5
  };
@@ -1,6 +1,6 @@
1
- import { E } from "./chunks/editor-DNJxPkJY.js";
2
- import "./chunks/converter-DEzeQyFB.js";
3
- import "./chunks/docx-zipper-r--J6tY3.js";
1
+ import { E } from "./chunks/editor-Bby3BVH9.js";
2
+ import "./chunks/converter-CoKb5h0j.js";
3
+ import "./chunks/docx-zipper-CidEchkw.js";
4
4
  export {
5
5
  E as Editor
6
6
  };
@@ -1,4 +1,4 @@
1
- import { J as JSZip } from "./chunks/docx-zipper-r--J6tY3.js";
1
+ import { J as JSZip } from "./chunks/docx-zipper-CidEchkw.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 { au as getDefaultExportFromCjs, U as v4, T as TextSelection$1, q as getMarkRange, ax as vClickOutside, y as findParentNode, ay as getActiveFormatting, ao as isInTable, az as readFromClipboard, aA as handleClipboardPaste, a as Plugin } from "./chunks/converter-DEzeQyFB.js";
13
- import { ar, a5, d, a2 } from "./chunks/converter-DEzeQyFB.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-DNJxPkJY.js";
15
- import { k, C, T, i, l, j } from "./chunks/editor-DNJxPkJY.js";
12
+ import { au as getDefaultExportFromCjs, U as v4, T as TextSelection$1, q as getMarkRange, ax as vClickOutside, y as findParentNode, ay as getActiveFormatting, ao as isInTable, az as readFromClipboard, aA as handleClipboardPaste, a as Plugin } from "./chunks/converter-CoKb5h0j.js";
13
+ import { ar, a5, d, a2 } from "./chunks/converter-CoKb5h0j.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-Bby3BVH9.js";
15
+ import { k, C, T, i, l, j } from "./chunks/editor-Bby3BVH9.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, N as NSkeleton } from "./chunks/toolbar-Qax0Z1kx.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, N as NSkeleton } from "./chunks/toolbar-CMUe2lho.js";
18
18
  import AIWriter from "./ai-writer.es.js";
19
- import { D } from "./chunks/docx-zipper-r--J6tY3.js";
19
+ import { D } from "./chunks/docx-zipper-CidEchkw.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-Qax0Z1kx.js";
3
- import "./chunks/editor-DNJxPkJY.js";
2
+ import { T } from "./chunks/toolbar-CMUe2lho.js";
3
+ import "./chunks/editor-Bby3BVH9.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-ChEpdXab.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-DwT8MS99.cjs");
4
4
  require("./chunks/vue-CfKg12kH.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, q } from "./chunks/super-editor.es-BlSK1zQU.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, q } from "./chunks/super-editor.es-CuVy6ByB.es.js";
2
2
  import "./chunks/vue-B_OPNNfX.es.js";
3
3
  export {
4
4
  A as AIWriter,
package/dist/superdoc.cjs CHANGED
@@ -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-ChEpdXab.cjs");
3
+ const superEditor_es = require("./chunks/super-editor.es-DwT8MS99.cjs");
4
4
  const vue = require("./chunks/vue-CfKg12kH.cjs");
5
5
  const jszip = require("./chunks/jszip-DWfnW2xV.cjs");
6
6
  const blankDocx = require("./chunks/blank-docx-CPqX9RF5.cjs");
@@ -47818,7 +47818,7 @@ class SuperDoc extends eventemitter3.EventEmitter {
47818
47818
  this.config.colors = shuffleArray(this.config.colors);
47819
47819
  this.userColorMap = /* @__PURE__ */ new Map();
47820
47820
  this.colorIndex = 0;
47821
- this.version = "0.15.2-next.2";
47821
+ this.version = "0.15.2-next.4";
47822
47822
  console.debug("🦋 [superdoc] Using SuperDoc version:", this.version);
47823
47823
  this.superdocId = config.superdocId || uuid.v4();
47824
47824
  this.colors = this.config.colors;
@@ -1,5 +1,5 @@
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 "./chunks/super-editor.es-BlSK1zQU.es.js";
2
- import { a, S, d, j, p } from "./chunks/super-editor.es-BlSK1zQU.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 "./chunks/super-editor.es-CuVy6ByB.es.js";
2
+ import { a, S, d, j, p } from "./chunks/super-editor.es-CuVy6ByB.es.js";
3
3
  import { a0 as effectScope, r as ref, $ as markRaw, p as process$1, a1 as toRaw, a as computed, a2 as isRef, a3 as isReactive, D as toRef, i as inject, q as getCurrentInstance, l as watch, y as unref, a4 as hasInjectionContext, N as reactive, u as nextTick, a5 as getCurrentScope, a6 as onScopeDispose, a7 as toRefs, g as global$1, K as shallowRef, O as readonly, j as onMounted, k as onBeforeUnmount, h as onBeforeMount, U as onActivated, s as onDeactivated, A as createTextVNode, F as Fragment, R as Comment, m as defineComponent, E as provide, I as withDirectives, C as h, V as Teleport, S as renderSlot, W as isVNode, J as watchEffect, P as Transition, G as mergeProps, Q as vShow, H as cloneVNode, T as Text, b as createElementBlock, o as openBlock, t as toDisplayString, x as createVNode, z as withCtx, f as createBaseVNode, B as normalizeStyle, e as createCommentVNode, v as createBlock, w as withModifiers, n as normalizeClass, a8 as resolveDirective, d as renderList, c as createApp, X as onUnmounted, Y as resolveDynamicComponent } from "./chunks/vue-B_OPNNfX.es.js";
4
4
  import { B as Buffer$2 } from "./chunks/jszip-BwJb6_S5.es.js";
5
5
  import { B as BlankDOCX } from "./chunks/blank-docx-iwdyG9RH.es.js";
@@ -47801,7 +47801,7 @@ class SuperDoc extends EventEmitter {
47801
47801
  this.config.colors = shuffleArray(this.config.colors);
47802
47802
  this.userColorMap = /* @__PURE__ */ new Map();
47803
47803
  this.colorIndex = 0;
47804
- this.version = "0.15.2-next.2";
47804
+ this.version = "0.15.2-next.4";
47805
47805
  console.debug("🦋 [superdoc] Using SuperDoc version:", this.version);
47806
47806
  this.superdocId = config.superdocId || v4();
47807
47807
  this.colors = this.config.colors;
@@ -33035,9 +33035,50 @@
33035
33035
  numPrTag = generateNumPrTag(numId, level);
33036
33036
  }
33037
33037
  const collapsedParagraphNode = convertMultipleListItemsIntoSingleNode(listItem);
33038
- const outputNode = exportSchemaToJson({ ...params2, node: collapsedParagraphNode });
33038
+ let outputNode = exportSchemaToJson({ ...params2, node: collapsedParagraphNode });
33039
+ let nodesToFlatten = [];
33040
+ if (Array.isArray(outputNode) && params2.isFinalDoc) {
33041
+ const parsedElements = [];
33042
+ outputNode?.forEach((node3, index2) => {
33043
+ if (node3?.elements) {
33044
+ const runs = node3.elements?.filter((n) => n.name === "w:r");
33045
+ parsedElements.push(...runs);
33046
+ if (node3.name === "w:p" && index2 < outputNode.length - 1) {
33047
+ parsedElements.push({
33048
+ name: "w:br"
33049
+ });
33050
+ }
33051
+ }
33052
+ });
33053
+ outputNode = {
33054
+ name: "w:p",
33055
+ elements: [{ name: "w:pPr", elements: [] }, ...parsedElements]
33056
+ };
33057
+ }
33058
+ const sdtNodes = outputNode.elements?.filter((n) => n.name === "w:sdt");
33059
+ if (sdtNodes && sdtNodes.length > 0) {
33060
+ nodesToFlatten = sdtNodes;
33061
+ nodesToFlatten?.forEach((sdtNode) => {
33062
+ const sdtContent = sdtNode.elements.find((n) => n.name === "w:sdtContent");
33063
+ if (sdtContent && sdtContent.elements) {
33064
+ const parsedElements = [];
33065
+ sdtContent.elements.forEach((element, index2) => {
33066
+ const runs = element.elements?.filter((n) => n.name === "w:r");
33067
+ parsedElements.push(...runs);
33068
+ if (element.name === "w:p" && index2 < sdtContent.elements.length - 1) {
33069
+ parsedElements.push({
33070
+ name: "w:br"
33071
+ });
33072
+ }
33073
+ });
33074
+ sdtContent.elements = parsedElements;
33075
+ }
33076
+ });
33077
+ }
33039
33078
  const pPr = outputNode.elements?.find((n) => n.name === "w:pPr");
33040
- if (pPr && pPr.elements && numPrTag) pPr.elements.unshift(numPrTag);
33079
+ if (pPr && pPr.elements && numPrTag) {
33080
+ pPr.elements.unshift(numPrTag);
33081
+ }
33041
33082
  const indentTag = restoreIndent(listItem.attrs.indent);
33042
33083
  indentTag && pPr?.elements?.push(indentTag);
33043
33084
  const runNode = outputNode.elements?.find((n) => n.name === "w:r");
@@ -33831,7 +33872,8 @@
33831
33872
  node: { attrs = {}, marks = [] },
33832
33873
  editorSchema
33833
33874
  } = params2;
33834
- const paragraphHtmlContainer = sanitizeHtml(attrs.rawHtml);
33875
+ let html = attrs.rawHtml || attrs.displayLabel;
33876
+ const paragraphHtmlContainer = sanitizeHtml(html);
33835
33877
  const marksFromAttrs = translateFieldAttrsToMarks(attrs);
33836
33878
  const allMarks = [...marks, ...marksFromAttrs];
33837
33879
  let state2 = EditorState.create({
@@ -33950,7 +33992,7 @@
33950
33992
  fieldTextHighlight: attrs.textHighlight
33951
33993
  };
33952
33994
  const annotationAttrsJson = JSON.stringify(annotationAttrs);
33953
- return {
33995
+ const result = {
33954
33996
  name: "w:sdt",
33955
33997
  elements: [
33956
33998
  {
@@ -33966,6 +34008,7 @@
33966
34008
  }
33967
34009
  ]
33968
34010
  };
34011
+ return result;
33969
34012
  }
33970
34013
  function translateHardBreak(params2) {
33971
34014
  const { node: node2 = {} } = params2;
@@ -36059,7 +36102,7 @@
36059
36102
  return;
36060
36103
  }
36061
36104
  }
36062
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.15.2-next.2") {
36105
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.15.2-next.4") {
36063
36106
  const customLocation = "docProps/custom.xml";
36064
36107
  if (!docx[customLocation]) {
36065
36108
  docx[customLocation] = generateCustomXml();
@@ -36537,7 +36580,7 @@
36537
36580
  function generateCustomXml() {
36538
36581
  return DEFAULT_CUSTOM_XML;
36539
36582
  }
36540
- function generateSuperdocVersion(pid = 2, version2 = "0.15.2-next.2") {
36583
+ function generateSuperdocVersion(pid = 2, version2 = "0.15.2-next.4") {
36541
36584
  return {
36542
36585
  type: "element",
36543
36586
  name: "property",
@@ -52661,7 +52704,7 @@
52661
52704
  * @returns {Object | void} Migration results
52662
52705
  */
52663
52706
  processCollaborationMigrations() {
52664
- console.debug("[checkVersionMigrations] Current editor version", "0.15.2-next.2");
52707
+ console.debug("[checkVersionMigrations] Current editor version", "0.15.2-next.4");
52665
52708
  if (!this.options.ydoc) return;
52666
52709
  const metaMap = this.options.ydoc.getMap("meta");
52667
52710
  let docVersion = metaMap.get("version");
@@ -99069,7 +99112,7 @@ ${style2}
99069
99112
  this.config.colors = shuffleArray(this.config.colors);
99070
99113
  this.userColorMap = /* @__PURE__ */ new Map();
99071
99114
  this.colorIndex = 0;
99072
- this.version = "0.15.2-next.2";
99115
+ this.version = "0.15.2-next.4";
99073
99116
  console.debug("🦋 [superdoc] Using SuperDoc version:", this.version);
99074
99117
  this.superdocId = config.superdocId || v4();
99075
99118
  this.colors = this.config.colors;