@harbour-enterprises/superdoc 0.12.31-next.1 → 0.12.31-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/chunks/{super-editor.es-Bt5pMkY-.es.js → super-editor.es-B4lJkgrf.es.js} +63 -37
  2. package/dist/chunks/{super-editor.es-CzfjXQ8V.cjs → super-editor.es-Du18AHQE.cjs} +50 -24
  3. package/dist/index.d.ts +2 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/super-editor/ai-writer.es.js +2 -2
  6. package/dist/super-editor/chunks/{converter-LyqpytFD.js → converter-CP_Na8aB.js} +2 -2
  7. package/dist/super-editor/chunks/{docx-zipper-CSx2w--M.js → docx-zipper-BqcYpY0b.js} +1 -1
  8. package/dist/super-editor/chunks/{editor-czvDp00c.js → editor-CFxAdvpz.js} +51 -25
  9. package/dist/super-editor/chunks/{toolbar-BnvzLMKn.js → toolbar-CNZaB4OD.js} +2 -2
  10. package/dist/super-editor/converter.es.js +1 -1
  11. package/dist/super-editor/core/Editor.d.ts +1 -1
  12. package/dist/super-editor/core/Editor.d.ts.map +1 -1
  13. package/dist/super-editor/core/helpers/annotator.d.ts +5 -3
  14. package/dist/super-editor/core/helpers/annotator.d.ts.map +1 -1
  15. package/dist/super-editor/docx-zipper.es.js +2 -2
  16. package/dist/super-editor/editor.es.js +3 -3
  17. package/dist/super-editor/extensions/field-annotation/fieldAnnotationHelpers/getHeaderFooterAnnotations.d.ts +2 -0
  18. package/dist/super-editor/extensions/field-annotation/fieldAnnotationHelpers/getHeaderFooterAnnotations.d.ts.map +1 -0
  19. package/dist/super-editor/extensions/field-annotation/fieldAnnotationHelpers/index.d.ts +1 -0
  20. package/dist/super-editor/file-zipper.es.js +1 -1
  21. package/dist/super-editor/index.d.ts +1 -1
  22. package/dist/super-editor/super-editor.es.js +8 -7
  23. package/dist/super-editor/toolbar.es.js +2 -2
  24. package/dist/super-editor.cjs +2 -1
  25. package/dist/super-editor.es.js +15 -14
  26. package/dist/superdoc.cjs +3 -2
  27. package/dist/superdoc.es.js +201 -200
  28. package/dist/superdoc.umd.js +51 -25
  29. package/dist/superdoc.umd.js.map +1 -1
  30. package/package.json +1 -1
@@ -23290,7 +23290,7 @@ const _SuperConverter = class _SuperConverter2 {
23290
23290
  return;
23291
23291
  }
23292
23292
  }
23293
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.12.31-next.1") {
23293
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.12.31-next.2") {
23294
23294
  const customLocation = "docProps/custom.xml";
23295
23295
  if (!docx[customLocation]) {
23296
23296
  docx[customLocation] = generateCustomXml();
@@ -23756,7 +23756,7 @@ function storeSuperdocVersion(docx) {
23756
23756
  function generateCustomXml() {
23757
23757
  return DEFAULT_CUSTOM_XML;
23758
23758
  }
23759
- function generateSuperdocVersion(pid = 2, version2 = "0.12.31-next.1") {
23759
+ function generateSuperdocVersion(pid = 2, version2 = "0.12.31-next.2") {
23760
23760
  return {
23761
23761
  type: "element",
23762
23762
  name: "property",
@@ -40053,11 +40053,12 @@ const generateTableIfNecessary = ({ tableNode, annotationValues, tr, state: stat
40053
40053
  const getAnnotationValue = (id, annotationValues) => {
40054
40054
  return annotationValues.find((value) => value.input_id === id)?.input_value || null;
40055
40055
  };
40056
- const annotateHeadersAndFooters = ({ editor, annotationValues = [], hiddenFieldIds = [] }) => {
40056
+ const getAllHeaderFooterEditors = (editor) => {
40057
40057
  const sections = {
40058
40058
  header: editor.converter.headers || {},
40059
40059
  footer: editor.converter.footers || {}
40060
40060
  };
40061
+ const allEditors = [];
40061
40062
  Object.entries(sections).forEach(([type2, items]) => {
40062
40063
  const editorsKey = `${type2}Editors`;
40063
40064
  Object.entries(items).forEach(([sectionId, data]) => {
@@ -40075,25 +40076,38 @@ const annotateHeadersAndFooters = ({ editor, annotationValues = [], hiddenFieldI
40075
40076
  })
40076
40077
  };
40077
40078
  editor.converter[editorsKey].push(sectionEditor);
40079
+ allEditors.push({
40080
+ ...sectionEditor,
40081
+ key: editorsKey,
40082
+ type: type2,
40083
+ sectionId
40084
+ });
40078
40085
  }
40079
- sectionEditor.editor.annotate(annotationValues, hiddenFieldIds);
40080
- onHeaderFooterDataUpdate(
40081
- { editor: sectionEditor.editor },
40082
- editor,
40083
- sectionId,
40084
- type2
40085
- );
40086
40086
  });
40087
40087
  });
40088
+ return allEditors;
40089
+ };
40090
+ const annotateHeadersAndFooters = ({ editor, annotationValues = [], hiddenFieldIds = [], removeEmptyFields = false }) => {
40091
+ const allEditors = getAllHeaderFooterEditors(editor);
40092
+ allEditors.forEach(({ sectionId, editor: sectionEditor, type: type2 }) => {
40093
+ sectionEditor.annotate(annotationValues, hiddenFieldIds, removeEmptyFields);
40094
+ onHeaderFooterDataUpdate(
40095
+ { editor: sectionEditor },
40096
+ editor,
40097
+ sectionId,
40098
+ type2
40099
+ );
40100
+ });
40088
40101
  };
40089
40102
  const annotateDocument = ({
40090
40103
  annotationValues = [],
40091
40104
  hiddenFieldIds = [],
40105
+ removeEmptyFields = false,
40092
40106
  schema,
40093
40107
  tr,
40094
40108
  editor
40095
40109
  }) => {
40096
- annotateHeadersAndFooters({ editor, annotationValues, hiddenFieldIds });
40110
+ annotateHeadersAndFooters({ editor, annotationValues, hiddenFieldIds, removeEmptyFields });
40097
40111
  const annotations = [];
40098
40112
  const FieldType = schema.nodes.fieldAnnotation;
40099
40113
  tr.doc.descendants((node2, pos) => {
@@ -40146,11 +40160,13 @@ const annotateDocument = ({
40146
40160
  });
40147
40161
  }
40148
40162
  }
40149
- Array.from(toDelete).sort((a, b) => b - a).forEach((pos) => {
40150
- const ann = annotations.find((a) => a.pos === pos);
40151
- if (!ann) return;
40152
- tr = tr.delete(pos, pos + ann.node.nodeSize);
40153
- });
40163
+ if (removeEmptyFields) {
40164
+ Array.from(toDelete).sort((a, b) => b - a).forEach((pos) => {
40165
+ const ann = annotations.find((a) => a.pos === pos);
40166
+ if (!ann) return;
40167
+ tr = tr.delete(pos, pos + ann.node.nodeSize);
40168
+ });
40169
+ }
40154
40170
  return tr;
40155
40171
  };
40156
40172
  const getFormattedDate = (input = null, format = "") => {
@@ -40168,7 +40184,7 @@ const getFormattedDate = (input = null, format = "") => {
40168
40184
  // e.g. “2025”
40169
40185
  });
40170
40186
  };
40171
- const AnnotatorServices = {
40187
+ const AnnotatorHelpers = {
40172
40188
  getFieldAttrs,
40173
40189
  processTables,
40174
40190
  annotateDocument,
@@ -40977,7 +40993,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
40977
40993
  * @returns {Object | void} Migration results
40978
40994
  */
40979
40995
  processCollaborationMigrations() {
40980
- console.debug("[checkVersionMigrations] Current editor version", "0.12.31-next.1");
40996
+ console.debug("[checkVersionMigrations] Current editor version", "0.12.31-next.2");
40981
40997
  if (!this.options.ydoc) return;
40982
40998
  const metaMap = this.options.ydoc.getMap("meta");
40983
40999
  let docVersion = metaMap.get("version");
@@ -41066,10 +41082,8 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
41066
41082
  */
41067
41083
  prepareForAnnotations(annotationValues = []) {
41068
41084
  const { tr } = this.state;
41069
- const { dispatch } = this.view;
41070
- const newTr = AnnotatorServices.processTables({ state: this.state, tr, annotationValues });
41085
+ const newTr = AnnotatorHelpers.processTables({ state: this.state, tr, annotationValues });
41071
41086
  this.view.dispatch(newTr);
41072
- AnnotatorServices.annotateHeadersAndFooters({ editor: this, annotationValues });
41073
41087
  }
41074
41088
  /**
41075
41089
  * Annotate the document with the given annotation values.
@@ -41078,15 +41092,16 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
41078
41092
  * @param {String[]} hiddenIds List of field ids to remove from the document.
41079
41093
  * @returns {void}
41080
41094
  */
41081
- annotate(annotationValues = [], hiddenIds = []) {
41095
+ annotate(annotationValues = [], hiddenIds = [], removeEmptyFields = false) {
41082
41096
  const { state: state2, view, schema } = this;
41083
41097
  let tr = state2.tr;
41084
- tr = AnnotatorServices.processTables({ state: this.state, tr, annotationValues });
41085
- tr = AnnotatorServices.annotateDocument({
41098
+ tr = AnnotatorHelpers.processTables({ state: this.state, tr, annotationValues });
41099
+ tr = AnnotatorHelpers.annotateDocument({
41086
41100
  tr,
41087
41101
  schema,
41088
41102
  annotationValues,
41089
41103
  hiddenFieldIds: hiddenIds,
41104
+ removeEmptyFields,
41090
41105
  editor: this
41091
41106
  });
41092
41107
  if (tr.docChanged) view.dispatch(tr.scrollIntoView());
@@ -47335,6 +47350,15 @@ function findFieldAnnotationsBetween(from2, to, doc2) {
47335
47350
  });
47336
47351
  return fieldAnnotations;
47337
47352
  }
47353
+ const getHeaderFooterAnnotations = (editor) => {
47354
+ const editors = getAllHeaderFooterEditors(editor);
47355
+ const allAnnotations = [];
47356
+ editors.forEach(({ id, editor: editor2 }) => {
47357
+ const annotations = getAllFieldAnnotations(editor2.state);
47358
+ allAnnotations.push(...annotations);
47359
+ });
47360
+ return allAnnotations;
47361
+ };
47338
47362
  const index$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
47339
47363
  __proto__: null,
47340
47364
  findFieldAnnotations,
@@ -47344,6 +47368,7 @@ const index$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
47344
47368
  findRemovedFieldAnnotations,
47345
47369
  getAllFieldAnnotations,
47346
47370
  getAllFieldAnnotationsWithRect,
47371
+ getHeaderFooterAnnotations,
47347
47372
  trackFieldAnnotationsDeletion
47348
47373
  }, Symbol.toStringTag, { value: "Module" }));
47349
47374
  function guard(low, high, value) {
@@ -67460,18 +67485,19 @@ export {
67460
67485
  SuperConverter as S,
67461
67486
  Toolbar as T,
67462
67487
  _sfc_main$1 as _,
67463
- Extensions as a,
67464
- SuperEditor as b,
67465
- SuperInput as c,
67466
- SuperToolbar as d,
67467
- TrackChangesBasePluginKey as e,
67468
- createZip as f,
67469
- getActiveFormatting as g,
67470
- getAllowedImageDimensions as h,
67488
+ AnnotatorHelpers as a,
67489
+ Extensions as b,
67490
+ SuperEditor as c,
67491
+ SuperInput as d,
67492
+ SuperToolbar as e,
67493
+ TrackChangesBasePluginKey as f,
67494
+ createZip as g,
67495
+ getActiveFormatting as h,
67471
67496
  index$1 as i,
67472
- getMarksFromSelection as j,
67473
- getRichTextExtensions as k,
67474
- getStarterExtensions as l,
67475
- helpers as m,
67476
- index as n
67497
+ getAllowedImageDimensions as j,
67498
+ getMarksFromSelection as k,
67499
+ getRichTextExtensions as l,
67500
+ getStarterExtensions as m,
67501
+ helpers as n,
67502
+ index as o
67477
67503
  };
@@ -23307,7 +23307,7 @@ const _SuperConverter = class _SuperConverter2 {
23307
23307
  return;
23308
23308
  }
23309
23309
  }
23310
- static updateDocumentVersion(docx = this.convertedXml, version2 = "0.12.31-next.1") {
23310
+ static updateDocumentVersion(docx = this.convertedXml, version2 = "0.12.31-next.2") {
23311
23311
  const customLocation = "docProps/custom.xml";
23312
23312
  if (!docx[customLocation]) {
23313
23313
  docx[customLocation] = generateCustomXml();
@@ -23773,7 +23773,7 @@ function storeSuperdocVersion(docx) {
23773
23773
  function generateCustomXml() {
23774
23774
  return DEFAULT_CUSTOM_XML;
23775
23775
  }
23776
- function generateSuperdocVersion(pid = 2, version2 = "0.12.31-next.1") {
23776
+ function generateSuperdocVersion(pid = 2, version2 = "0.12.31-next.2") {
23777
23777
  return {
23778
23778
  type: "element",
23779
23779
  name: "property",
@@ -40070,11 +40070,12 @@ const generateTableIfNecessary = ({ tableNode, annotationValues, tr, state: stat
40070
40070
  const getAnnotationValue = (id, annotationValues) => {
40071
40071
  return annotationValues.find((value) => value.input_id === id)?.input_value || null;
40072
40072
  };
40073
- const annotateHeadersAndFooters = ({ editor, annotationValues = [], hiddenFieldIds = [] }) => {
40073
+ const getAllHeaderFooterEditors = (editor) => {
40074
40074
  const sections = {
40075
40075
  header: editor.converter.headers || {},
40076
40076
  footer: editor.converter.footers || {}
40077
40077
  };
40078
+ const allEditors = [];
40078
40079
  Object.entries(sections).forEach(([type2, items]) => {
40079
40080
  const editorsKey = `${type2}Editors`;
40080
40081
  Object.entries(items).forEach(([sectionId, data]) => {
@@ -40092,25 +40093,38 @@ const annotateHeadersAndFooters = ({ editor, annotationValues = [], hiddenFieldI
40092
40093
  })
40093
40094
  };
40094
40095
  editor.converter[editorsKey].push(sectionEditor);
40096
+ allEditors.push({
40097
+ ...sectionEditor,
40098
+ key: editorsKey,
40099
+ type: type2,
40100
+ sectionId
40101
+ });
40095
40102
  }
40096
- sectionEditor.editor.annotate(annotationValues, hiddenFieldIds);
40097
- onHeaderFooterDataUpdate(
40098
- { editor: sectionEditor.editor },
40099
- editor,
40100
- sectionId,
40101
- type2
40102
- );
40103
40103
  });
40104
40104
  });
40105
+ return allEditors;
40106
+ };
40107
+ const annotateHeadersAndFooters = ({ editor, annotationValues = [], hiddenFieldIds = [], removeEmptyFields = false }) => {
40108
+ const allEditors = getAllHeaderFooterEditors(editor);
40109
+ allEditors.forEach(({ sectionId, editor: sectionEditor, type: type2 }) => {
40110
+ sectionEditor.annotate(annotationValues, hiddenFieldIds, removeEmptyFields);
40111
+ onHeaderFooterDataUpdate(
40112
+ { editor: sectionEditor },
40113
+ editor,
40114
+ sectionId,
40115
+ type2
40116
+ );
40117
+ });
40105
40118
  };
40106
40119
  const annotateDocument = ({
40107
40120
  annotationValues = [],
40108
40121
  hiddenFieldIds = [],
40122
+ removeEmptyFields = false,
40109
40123
  schema,
40110
40124
  tr,
40111
40125
  editor
40112
40126
  }) => {
40113
- annotateHeadersAndFooters({ editor, annotationValues, hiddenFieldIds });
40127
+ annotateHeadersAndFooters({ editor, annotationValues, hiddenFieldIds, removeEmptyFields });
40114
40128
  const annotations = [];
40115
40129
  const FieldType = schema.nodes.fieldAnnotation;
40116
40130
  tr.doc.descendants((node2, pos) => {
@@ -40163,11 +40177,13 @@ const annotateDocument = ({
40163
40177
  });
40164
40178
  }
40165
40179
  }
40166
- Array.from(toDelete).sort((a, b) => b - a).forEach((pos) => {
40167
- const ann = annotations.find((a) => a.pos === pos);
40168
- if (!ann) return;
40169
- tr = tr.delete(pos, pos + ann.node.nodeSize);
40170
- });
40180
+ if (removeEmptyFields) {
40181
+ Array.from(toDelete).sort((a, b) => b - a).forEach((pos) => {
40182
+ const ann = annotations.find((a) => a.pos === pos);
40183
+ if (!ann) return;
40184
+ tr = tr.delete(pos, pos + ann.node.nodeSize);
40185
+ });
40186
+ }
40171
40187
  return tr;
40172
40188
  };
40173
40189
  const getFormattedDate = (input = null, format = "") => {
@@ -40185,7 +40201,7 @@ const getFormattedDate = (input = null, format = "") => {
40185
40201
  // e.g. “2025”
40186
40202
  });
40187
40203
  };
40188
- const AnnotatorServices = {
40204
+ const AnnotatorHelpers = {
40189
40205
  getFieldAttrs,
40190
40206
  processTables,
40191
40207
  annotateDocument,
@@ -40994,7 +41010,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
40994
41010
  * @returns {Object | void} Migration results
40995
41011
  */
40996
41012
  processCollaborationMigrations() {
40997
- console.debug("[checkVersionMigrations] Current editor version", "0.12.31-next.1");
41013
+ console.debug("[checkVersionMigrations] Current editor version", "0.12.31-next.2");
40998
41014
  if (!this.options.ydoc) return;
40999
41015
  const metaMap = this.options.ydoc.getMap("meta");
41000
41016
  let docVersion = metaMap.get("version");
@@ -41083,10 +41099,8 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
41083
41099
  */
41084
41100
  prepareForAnnotations(annotationValues = []) {
41085
41101
  const { tr } = this.state;
41086
- const { dispatch } = this.view;
41087
- const newTr = AnnotatorServices.processTables({ state: this.state, tr, annotationValues });
41102
+ const newTr = AnnotatorHelpers.processTables({ state: this.state, tr, annotationValues });
41088
41103
  this.view.dispatch(newTr);
41089
- AnnotatorServices.annotateHeadersAndFooters({ editor: this, annotationValues });
41090
41104
  }
41091
41105
  /**
41092
41106
  * Annotate the document with the given annotation values.
@@ -41095,15 +41109,16 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
41095
41109
  * @param {String[]} hiddenIds List of field ids to remove from the document.
41096
41110
  * @returns {void}
41097
41111
  */
41098
- annotate(annotationValues = [], hiddenIds = []) {
41112
+ annotate(annotationValues = [], hiddenIds = [], removeEmptyFields = false) {
41099
41113
  const { state: state2, view, schema } = this;
41100
41114
  let tr = state2.tr;
41101
- tr = AnnotatorServices.processTables({ state: this.state, tr, annotationValues });
41102
- tr = AnnotatorServices.annotateDocument({
41115
+ tr = AnnotatorHelpers.processTables({ state: this.state, tr, annotationValues });
41116
+ tr = AnnotatorHelpers.annotateDocument({
41103
41117
  tr,
41104
41118
  schema,
41105
41119
  annotationValues,
41106
41120
  hiddenFieldIds: hiddenIds,
41121
+ removeEmptyFields,
41107
41122
  editor: this
41108
41123
  });
41109
41124
  if (tr.docChanged) view.dispatch(tr.scrollIntoView());
@@ -47352,6 +47367,15 @@ function findFieldAnnotationsBetween(from2, to, doc2) {
47352
47367
  });
47353
47368
  return fieldAnnotations;
47354
47369
  }
47370
+ const getHeaderFooterAnnotations = (editor) => {
47371
+ const editors = getAllHeaderFooterEditors(editor);
47372
+ const allAnnotations = [];
47373
+ editors.forEach(({ id, editor: editor2 }) => {
47374
+ const annotations = getAllFieldAnnotations(editor2.state);
47375
+ allAnnotations.push(...annotations);
47376
+ });
47377
+ return allAnnotations;
47378
+ };
47355
47379
  const index$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
47356
47380
  __proto__: null,
47357
47381
  findFieldAnnotations,
@@ -47361,6 +47385,7 @@ const index$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
47361
47385
  findRemovedFieldAnnotations,
47362
47386
  getAllFieldAnnotations,
47363
47387
  getAllFieldAnnotationsWithRect,
47388
+ getHeaderFooterAnnotations,
47364
47389
  trackFieldAnnotationsDeletion
47365
47390
  }, Symbol.toStringTag, { value: "Module" }));
47366
47391
  function guard(low, high, value) {
@@ -67470,6 +67495,7 @@ const Extensions = {
67470
67495
  Mark: Mark2
67471
67496
  };
67472
67497
  exports.AIWriter = AIWriter;
67498
+ exports.AnnotatorHelpers = AnnotatorHelpers;
67473
67499
  exports.CommentsPluginKey = CommentsPluginKey;
67474
67500
  exports.DocxZipper = DocxZipper;
67475
67501
  exports.Editor = Editor;
package/dist/index.d.ts CHANGED
@@ -9,7 +9,8 @@ import { HTML } from '@harbour-enterprises/common';
9
9
  import { helpers as superEditorHelpers } from '@harbour-enterprises/super-editor';
10
10
  import { fieldAnnotationHelpers } from '@harbour-enterprises/super-editor';
11
11
  import { trackChangesHelpers } from '@harbour-enterprises/super-editor';
12
+ import { AnnotatorHelpers } from '@harbour-enterprises/super-editor';
12
13
  import { SuperConverter } from '@harbour-enterprises/super-editor';
13
14
  import { createZip } from '@harbour-enterprises/super-editor';
14
- export { BlankDOCX, getFileObject, compareVersions, Editor, getRichTextExtensions, DOCX, PDF, HTML, superEditorHelpers, fieldAnnotationHelpers, trackChangesHelpers, SuperConverter, createZip };
15
+ export { BlankDOCX, getFileObject, compareVersions, Editor, getRichTextExtensions, DOCX, PDF, HTML, superEditorHelpers, fieldAnnotationHelpers, trackChangesHelpers, AnnotatorHelpers, SuperConverter, createZip };
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";8BAMgE,6BAA6B;gCAA7B,6BAA6B;uBANpB,mCAAmC;sCAAnC,mCAAmC;qBAM5C,6BAA6B;oBAA7B,6BAA6B;qBAA7B,6BAA6B;8CADtF,mCAAmC;uCAAnC,mCAAmC;oCAAnC,mCAAmC;+BAL+B,mCAAmC;0BAAnC,mCAAmC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";8BAOgE,6BAA6B;gCAA7B,6BAA6B;uBAPpB,mCAAmC;sCAAnC,mCAAmC;qBAO5C,6BAA6B;oBAA7B,6BAA6B;qBAA7B,6BAA6B;8CADtF,mCAAmC;uCAAnC,mCAAmC;oCAAnC,mCAAmC;iCAAnC,mCAAmC;+BAN+B,mCAAmC;0BAAnC,mCAAmC"}
@@ -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-LyqpytFD.js";
3
- import { _ as _export_sfc } from "./chunks/editor-czvDp00c.js";
2
+ import { T as TextSelection } from "./chunks/converter-CP_Na8aB.js";
3
+ import { _ as _export_sfc } from "./chunks/editor-CFxAdvpz.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 = {}) {
@@ -23309,7 +23309,7 @@ const _SuperConverter = class _SuperConverter {
23309
23309
  return;
23310
23310
  }
23311
23311
  }
23312
- static updateDocumentVersion(docx = this.convertedXml, version = "0.12.31-next.1") {
23312
+ static updateDocumentVersion(docx = this.convertedXml, version = "0.12.31-next.2") {
23313
23313
  const customLocation = "docProps/custom.xml";
23314
23314
  if (!docx[customLocation]) {
23315
23315
  docx[customLocation] = generateCustomXml();
@@ -23778,7 +23778,7 @@ function storeSuperdocVersion(docx) {
23778
23778
  function generateCustomXml() {
23779
23779
  return DEFAULT_CUSTOM_XML;
23780
23780
  }
23781
- function generateSuperdocVersion(pid = 2, version = "0.12.31-next.1") {
23781
+ function generateSuperdocVersion(pid = 2, version = "0.12.31-next.2") {
23782
23782
  return {
23783
23783
  type: "element",
23784
23784
  name: "property",
@@ -1,4 +1,4 @@
1
- import { x as process$1, a1 as commonjsGlobal, B as Buffer, a2 as getDefaultExportFromCjs, a3 as getContentTypesFromXml, a4 as xmljs } from "./converter-LyqpytFD.js";
1
+ import { x as process$1, a1 as commonjsGlobal, B as Buffer, a2 as getDefaultExportFromCjs, a3 as getContentTypesFromXml, a4 as xmljs } from "./converter-CP_Na8aB.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, initPagination_fn, dispatchTransaction_fn, prepareDocumentForImport_fn, prepareDocumentForExport_fn, endCollaboration_fn, _FieldAnnotationView_instances, createAnnotation_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, i as isEmptyObject, S as Schema$1, T as TextSelection, b as canSplit, l as liftTarget, A as AllSelection, d as canJoin, j as joinPoint, N as NodeSelection, r as replaceStep$1, e as Selection, F as Fragment, R as ReplaceAroundStep, f as Slice, o as objectIncludes, g as deleteProps, D as DOMParser$1, h as ReplaceStep, k as NodeRange, m as findWrapping, n as isMacOS, p as isIOS, q as generateDocxRandomId, s as minMax, t as generateRandom32BitHex, u as DOMSerializer, v as Mark$1, w as dropPoint, x as process$1, B as Buffer2, y as isRegExp, z as TrackDeleteMarkName, C as TrackInsertMarkName, E as v4, G as TrackFormatMarkName, H as comments_module_events, I as AddMarkStep, J as RemoveMarkStep, K as twipsToLines, L as pixelsToTwips, O as SuperConverter, Q as EditorState, U as hasSomeParentWithClass, V as parseSizeUnit, W as getLineHeightValueString, X as toKebabCase, Y as kebabCase, Z as getColStyleDeclaration, _ as SelectionRange, $ as Transform, a0 as createColGroup } from "./converter-LyqpytFD.js";
15
+ import { P as PluginKey, a as Plugin, M as Mapping, c as callOrGet, i as isEmptyObject, S as Schema$1, T as TextSelection, b as canSplit, l as liftTarget, A as AllSelection, d as canJoin, j as joinPoint, N as NodeSelection, r as replaceStep$1, e as Selection, F as Fragment, R as ReplaceAroundStep, f as Slice, o as objectIncludes, g as deleteProps, D as DOMParser$1, h as ReplaceStep, k as NodeRange, m as findWrapping, n as isMacOS, p as isIOS, q as generateDocxRandomId, s as minMax, t as generateRandom32BitHex, u as DOMSerializer, v as Mark$1, w as dropPoint, x as process$1, B as Buffer2, y as isRegExp, z as TrackDeleteMarkName, C as TrackInsertMarkName, E as v4, G as TrackFormatMarkName, H as comments_module_events, I as AddMarkStep, J as RemoveMarkStep, K as twipsToLines, L as pixelsToTwips, O as SuperConverter, Q as EditorState, U as hasSomeParentWithClass, V as parseSizeUnit, W as getLineHeightValueString, X as toKebabCase, Y as kebabCase, Z as getColStyleDeclaration, _ as SelectionRange, $ as Transform, a0 as createColGroup } from "./converter-CP_Na8aB.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-CSx2w--M.js";
17
+ import { D as DocxZipper } from "./docx-zipper-BqcYpY0b.js";
18
18
  function getMarksFromSelection(state) {
19
19
  const { from: from2, to, empty: empty2 } = state.selection;
20
20
  const marks = [];
@@ -13791,11 +13791,12 @@ const generateTableIfNecessary = ({ tableNode, annotationValues, tr, state }) =>
13791
13791
  const getAnnotationValue = (id, annotationValues) => {
13792
13792
  return annotationValues.find((value) => value.input_id === id)?.input_value || null;
13793
13793
  };
13794
- const annotateHeadersAndFooters = ({ editor, annotationValues = [], hiddenFieldIds = [] }) => {
13794
+ const getAllHeaderFooterEditors = (editor) => {
13795
13795
  const sections = {
13796
13796
  header: editor.converter.headers || {},
13797
13797
  footer: editor.converter.footers || {}
13798
13798
  };
13799
+ const allEditors = [];
13799
13800
  Object.entries(sections).forEach(([type, items]) => {
13800
13801
  const editorsKey = `${type}Editors`;
13801
13802
  Object.entries(items).forEach(([sectionId, data]) => {
@@ -13813,25 +13814,38 @@ const annotateHeadersAndFooters = ({ editor, annotationValues = [], hiddenFieldI
13813
13814
  })
13814
13815
  };
13815
13816
  editor.converter[editorsKey].push(sectionEditor);
13817
+ allEditors.push({
13818
+ ...sectionEditor,
13819
+ key: editorsKey,
13820
+ type,
13821
+ sectionId
13822
+ });
13816
13823
  }
13817
- sectionEditor.editor.annotate(annotationValues, hiddenFieldIds);
13818
- onHeaderFooterDataUpdate(
13819
- { editor: sectionEditor.editor },
13820
- editor,
13821
- sectionId,
13822
- type
13823
- );
13824
13824
  });
13825
13825
  });
13826
+ return allEditors;
13827
+ };
13828
+ const annotateHeadersAndFooters = ({ editor, annotationValues = [], hiddenFieldIds = [], removeEmptyFields = false }) => {
13829
+ const allEditors = getAllHeaderFooterEditors(editor);
13830
+ allEditors.forEach(({ sectionId, editor: sectionEditor, type }) => {
13831
+ sectionEditor.annotate(annotationValues, hiddenFieldIds, removeEmptyFields);
13832
+ onHeaderFooterDataUpdate(
13833
+ { editor: sectionEditor },
13834
+ editor,
13835
+ sectionId,
13836
+ type
13837
+ );
13838
+ });
13826
13839
  };
13827
13840
  const annotateDocument = ({
13828
13841
  annotationValues = [],
13829
13842
  hiddenFieldIds = [],
13843
+ removeEmptyFields = false,
13830
13844
  schema,
13831
13845
  tr,
13832
13846
  editor
13833
13847
  }) => {
13834
- annotateHeadersAndFooters({ editor, annotationValues, hiddenFieldIds });
13848
+ annotateHeadersAndFooters({ editor, annotationValues, hiddenFieldIds, removeEmptyFields });
13835
13849
  const annotations = [];
13836
13850
  const FieldType = schema.nodes.fieldAnnotation;
13837
13851
  tr.doc.descendants((node, pos) => {
@@ -13884,11 +13898,13 @@ const annotateDocument = ({
13884
13898
  });
13885
13899
  }
13886
13900
  }
13887
- Array.from(toDelete).sort((a, b) => b - a).forEach((pos) => {
13888
- const ann = annotations.find((a) => a.pos === pos);
13889
- if (!ann) return;
13890
- tr = tr.delete(pos, pos + ann.node.nodeSize);
13891
- });
13901
+ if (removeEmptyFields) {
13902
+ Array.from(toDelete).sort((a, b) => b - a).forEach((pos) => {
13903
+ const ann = annotations.find((a) => a.pos === pos);
13904
+ if (!ann) return;
13905
+ tr = tr.delete(pos, pos + ann.node.nodeSize);
13906
+ });
13907
+ }
13892
13908
  return tr;
13893
13909
  };
13894
13910
  const getFormattedDate = (input = null, format = "") => {
@@ -13906,7 +13922,7 @@ const getFormattedDate = (input = null, format = "") => {
13906
13922
  // e.g. “2025”
13907
13923
  });
13908
13924
  };
13909
- const AnnotatorServices = {
13925
+ const AnnotatorHelpers = {
13910
13926
  getFieldAttrs,
13911
13927
  processTables,
13912
13928
  annotateDocument,
@@ -14743,7 +14759,7 @@ const _Editor = class _Editor extends EventEmitter {
14743
14759
  * @returns {Object | void} Migration results
14744
14760
  */
14745
14761
  processCollaborationMigrations() {
14746
- console.debug("[checkVersionMigrations] Current editor version", "0.12.31-next.1");
14762
+ console.debug("[checkVersionMigrations] Current editor version", "0.12.31-next.2");
14747
14763
  if (!this.options.ydoc) return;
14748
14764
  const metaMap = this.options.ydoc.getMap("meta");
14749
14765
  let docVersion = metaMap.get("version");
@@ -14832,10 +14848,8 @@ const _Editor = class _Editor extends EventEmitter {
14832
14848
  */
14833
14849
  prepareForAnnotations(annotationValues = []) {
14834
14850
  const { tr } = this.state;
14835
- const { dispatch } = this.view;
14836
- const newTr = AnnotatorServices.processTables({ state: this.state, tr, annotationValues });
14851
+ const newTr = AnnotatorHelpers.processTables({ state: this.state, tr, annotationValues });
14837
14852
  this.view.dispatch(newTr);
14838
- AnnotatorServices.annotateHeadersAndFooters({ editor: this, annotationValues });
14839
14853
  }
14840
14854
  /**
14841
14855
  * Annotate the document with the given annotation values.
@@ -14844,15 +14858,16 @@ const _Editor = class _Editor extends EventEmitter {
14844
14858
  * @param {String[]} hiddenIds List of field ids to remove from the document.
14845
14859
  * @returns {void}
14846
14860
  */
14847
- annotate(annotationValues = [], hiddenIds = []) {
14861
+ annotate(annotationValues = [], hiddenIds = [], removeEmptyFields = false) {
14848
14862
  const { state, view, schema } = this;
14849
14863
  let tr = state.tr;
14850
- tr = AnnotatorServices.processTables({ state: this.state, tr, annotationValues });
14851
- tr = AnnotatorServices.annotateDocument({
14864
+ tr = AnnotatorHelpers.processTables({ state: this.state, tr, annotationValues });
14865
+ tr = AnnotatorHelpers.annotateDocument({
14852
14866
  tr,
14853
14867
  schema,
14854
14868
  annotationValues,
14855
14869
  hiddenFieldIds: hiddenIds,
14870
+ removeEmptyFields,
14856
14871
  editor: this
14857
14872
  });
14858
14873
  if (tr.docChanged) view.dispatch(tr.scrollIntoView());
@@ -21235,6 +21250,15 @@ function findFieldAnnotationsBetween(from2, to, doc2) {
21235
21250
  });
21236
21251
  return fieldAnnotations;
21237
21252
  }
21253
+ const getHeaderFooterAnnotations = (editor) => {
21254
+ const editors = getAllHeaderFooterEditors(editor);
21255
+ const allAnnotations = [];
21256
+ editors.forEach(({ id, editor: editor2 }) => {
21257
+ const annotations = getAllFieldAnnotations(editor2.state);
21258
+ allAnnotations.push(...annotations);
21259
+ });
21260
+ return allAnnotations;
21261
+ };
21238
21262
  const index$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21239
21263
  __proto__: null,
21240
21264
  findFieldAnnotations,
@@ -21244,6 +21268,7 @@ const index$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
21244
21268
  findRemovedFieldAnnotations,
21245
21269
  getAllFieldAnnotations,
21246
21270
  getAllFieldAnnotationsWithRect,
21271
+ getHeaderFooterAnnotations,
21247
21272
  trackFieldAnnotationsDeletion
21248
21273
  }, Symbol.toStringTag, { value: "Module" }));
21249
21274
  function guard(low, high, value) {
@@ -27382,7 +27407,8 @@ export {
27382
27407
  helpers as l,
27383
27408
  index$1 as m,
27384
27409
  index as n,
27385
- getMarksFromSelection as o,
27410
+ AnnotatorHelpers as o,
27411
+ getMarksFromSelection as p,
27386
27412
  redoDepth as r,
27387
27413
  useHighContrastMode as u
27388
27414
  };
@@ -1,6 +1,6 @@
1
1
  import { computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, normalizeClass, normalizeStyle, ref, unref, createBlock, toDisplayString, withDirectives, withKeys, withModifiers, vModelText, getCurrentInstance, createVNode, readonly, watch, onMounted, onBeforeUnmount, reactive, onBeforeMount, inject, onActivated, onDeactivated, createTextVNode, Fragment, Comment, defineComponent, provide, h, Teleport, toRef, nextTick, renderSlot, isVNode, shallowRef, watchEffect, mergeProps, Transition, vShow, cloneVNode, Text, renderList, withCtx } from "vue";
2
- import { x as process$1 } from "./converter-LyqpytFD.js";
3
- import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-czvDp00c.js";
2
+ import { x as process$1 } from "./converter-CP_Na8aB.js";
3
+ import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-CFxAdvpz.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 { O } from "./chunks/converter-LyqpytFD.js";
1
+ import { O } from "./chunks/converter-CP_Na8aB.js";
2
2
  export {
3
3
  O as SuperConverter
4
4
  };
@@ -462,7 +462,7 @@ export class Editor extends EventEmitter {
462
462
  * @param {String[]} hiddenIds List of field ids to remove from the document.
463
463
  * @returns {void}
464
464
  */
465
- annotate(annotationValues?: FieldValue[], hiddenIds?: string[]): void;
465
+ annotate(annotationValues?: FieldValue[], hiddenIds?: string[], removeEmptyFields?: boolean): void;
466
466
  /**
467
467
  * Preview annotations in the editor. It stores a copy of the original state.
468
468
  * This can be reverted via closePreview()
@@ -1 +1 @@
1
- {"version":3,"file":"Editor.d.ts","sourceRoot":"","sources":["../../src/core/Editor.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Editor.d.ts","sourceRoot":"","sources":["../../src/core/Editor.js"],"names":[],"mappings":"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"}