@harbour-enterprises/superdoc 0.12.20 → 0.12.22
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.
- package/dist/chunks/{super-editor.es-Y854o0UB.cjs → super-editor.es-Be83Ie7h.cjs} +52 -24
- package/dist/chunks/{super-editor.es-Bwk4Mypj.es.js → super-editor.es-wgjIS4ll.es.js} +52 -24
- package/dist/super-editor/ai-writer.es.js +2 -2
- package/dist/super-editor/chunks/{converter-B8bdBUgY.js → converter-Bt3XbR0F.js} +2 -2
- package/dist/super-editor/chunks/{docx-zipper-CQsKTRQj.js → docx-zipper-D5nwZQE_.js} +1 -1
- package/dist/super-editor/chunks/{editor-NAeVYoNG.js → editor-ChqwyaCH.js} +52 -24
- package/dist/super-editor/chunks/{toolbar-CMBy65X5.js → toolbar-BbfJcSs_.js} +2 -2
- package/dist/super-editor/converter.es.js +1 -1
- package/dist/super-editor/docx-zipper.es.js +2 -2
- package/dist/super-editor/editor.es.js +3 -3
- package/dist/super-editor/extensions/collaboration/collaboration-helpers.d.ts +2 -0
- package/dist/super-editor/extensions/collaboration/collaboration-helpers.d.ts.map +1 -0
- package/dist/super-editor/extensions/collaboration/collaboration.d.ts.map +1 -1
- package/dist/super-editor/file-zipper.es.js +1 -1
- package/dist/super-editor/super-editor.es.js +6 -6
- package/dist/super-editor/toolbar.es.js +2 -2
- package/dist/super-editor.cjs +1 -1
- package/dist/super-editor.es.js +1 -1
- package/dist/superdoc.cjs +2 -2
- package/dist/superdoc.es.js +3 -3
- package/dist/superdoc.umd.js +53 -25
- package/dist/superdoc.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -23304,7 +23304,7 @@ const _SuperConverter = class _SuperConverter2 {
|
|
|
23304
23304
|
return;
|
|
23305
23305
|
}
|
|
23306
23306
|
}
|
|
23307
|
-
static updateDocumentVersion(docx = this.convertedXml, version2 = "0.12.
|
|
23307
|
+
static updateDocumentVersion(docx = this.convertedXml, version2 = "0.12.22") {
|
|
23308
23308
|
const customLocation = "docProps/custom.xml";
|
|
23309
23309
|
if (!docx[customLocation]) {
|
|
23310
23310
|
docx[customLocation] = generateCustomXml();
|
|
@@ -23770,7 +23770,7 @@ function storeSuperdocVersion(docx) {
|
|
|
23770
23770
|
function generateCustomXml() {
|
|
23771
23771
|
return DEFAULT_CUSTOM_XML;
|
|
23772
23772
|
}
|
|
23773
|
-
function generateSuperdocVersion(pid = 2, version2 = "0.12.
|
|
23773
|
+
function generateSuperdocVersion(pid = 2, version2 = "0.12.22") {
|
|
23774
23774
|
return {
|
|
23775
23775
|
type: "element",
|
|
23776
23776
|
name: "property",
|
|
@@ -38974,6 +38974,27 @@ const getHighlightColor = ({ activeThreadId, threadId, isInternal, editor }) =>
|
|
|
38974
38974
|
const alpha = activeThreadId == threadId ? "44" : "22";
|
|
38975
38975
|
return `${color}${alpha}`;
|
|
38976
38976
|
};
|
|
38977
|
+
const updateYdocDocxData = async (editor) => {
|
|
38978
|
+
if (!editor.options.ydoc) return;
|
|
38979
|
+
const metaMap = editor.options.ydoc.getMap("meta");
|
|
38980
|
+
const docx = [...metaMap.get("docx")];
|
|
38981
|
+
const newXml = await editor.exportDocx({ getUpdatedDocs: true });
|
|
38982
|
+
Object.keys(newXml).forEach((key) => {
|
|
38983
|
+
if (key.includes("header") || key.includes("footer")) {
|
|
38984
|
+
const fileIndex = docx.findIndex((item) => item.name === key);
|
|
38985
|
+
if (fileIndex > -1) {
|
|
38986
|
+
docx.splice(fileIndex, 1);
|
|
38987
|
+
}
|
|
38988
|
+
docx.push({
|
|
38989
|
+
name: key,
|
|
38990
|
+
content: newXml[key]
|
|
38991
|
+
});
|
|
38992
|
+
}
|
|
38993
|
+
});
|
|
38994
|
+
editor.options.ydoc.transact(() => {
|
|
38995
|
+
metaMap.set("docx", docx);
|
|
38996
|
+
}, { event: "docx-update", user: editor.options.user });
|
|
38997
|
+
};
|
|
38977
38998
|
const PaginationPluginKey = new PluginKey("paginationPlugin");
|
|
38978
38999
|
const initPaginationData = async (editor) => {
|
|
38979
39000
|
if (!editor.converter) return;
|
|
@@ -39132,27 +39153,6 @@ const onHeaderFooterDataUpdate = async ({ editor, transaction }, mainEditor, sec
|
|
|
39132
39153
|
const setEditorToolbar = ({ editor }, mainEditor) => {
|
|
39133
39154
|
editor.setToolbar(mainEditor.toolbar);
|
|
39134
39155
|
};
|
|
39135
|
-
const updateYdocDocxData = async (editor) => {
|
|
39136
|
-
if (!editor.options.ydoc) return;
|
|
39137
|
-
const metaMap = editor.options.ydoc.getMap("meta");
|
|
39138
|
-
const docx = [...metaMap.get("docx")];
|
|
39139
|
-
const newXml = await editor.exportDocx({ getUpdatedDocs: true });
|
|
39140
|
-
Object.keys(newXml).forEach((key) => {
|
|
39141
|
-
if (key.includes("header") || key.includes("footer")) {
|
|
39142
|
-
const fileIndex = docx.findIndex((item) => item.name === key);
|
|
39143
|
-
if (fileIndex > -1) {
|
|
39144
|
-
docx.splice(fileIndex, 1);
|
|
39145
|
-
}
|
|
39146
|
-
docx.push({
|
|
39147
|
-
name: key,
|
|
39148
|
-
content: newXml[key]
|
|
39149
|
-
});
|
|
39150
|
-
}
|
|
39151
|
-
});
|
|
39152
|
-
editor.options.ydoc.transact(() => {
|
|
39153
|
-
metaMap.set("docx", docx);
|
|
39154
|
-
});
|
|
39155
|
-
};
|
|
39156
39156
|
const TRACK_CHANGE_MARKS = [TrackInsertMarkName, TrackDeleteMarkName, TrackFormatMarkName];
|
|
39157
39157
|
const CommentsPluginKey = new PluginKey("comments");
|
|
39158
39158
|
const CommentsPlugin = Extension.create({
|
|
@@ -40184,6 +40184,7 @@ const Collaboration = Extension.create({
|
|
|
40184
40184
|
const undoPlugin = createUndoPlugin();
|
|
40185
40185
|
initDocumentLockHandler(this.options.ydoc, this.editor);
|
|
40186
40186
|
initSyncListener(this.options.ydoc, this.editor, this);
|
|
40187
|
+
initDocumentListener({ ydoc: this.options.ydoc, editor: this.editor });
|
|
40187
40188
|
const [syncPlugin, fragment] = createSyncPlugin(this.options.ydoc, this.editor);
|
|
40188
40189
|
this.options.fragment = fragment;
|
|
40189
40190
|
const metaMap = this.options.ydoc.getMap("media");
|
|
@@ -40265,6 +40266,33 @@ const initDocumentLockHandler = (ydoc, editor) => {
|
|
|
40265
40266
|
editor.emit("locked", { editor, isLocked, lockedBy });
|
|
40266
40267
|
});
|
|
40267
40268
|
};
|
|
40269
|
+
const checkDocxChanged = (transaction) => {
|
|
40270
|
+
for (const [key, value] of transaction.changed?.entries()) {
|
|
40271
|
+
if (value instanceof Set && value.has("docx")) {
|
|
40272
|
+
return true;
|
|
40273
|
+
}
|
|
40274
|
+
}
|
|
40275
|
+
return false;
|
|
40276
|
+
};
|
|
40277
|
+
const initDocumentListener = ({ ydoc, editor }) => {
|
|
40278
|
+
const debouncedUpdate = debounce$2((editor2) => {
|
|
40279
|
+
updateYdocDocxData(editor2);
|
|
40280
|
+
}, 1e3);
|
|
40281
|
+
ydoc.on("afterTransaction", (transaction) => {
|
|
40282
|
+
const { local } = transaction;
|
|
40283
|
+
const hasChangedDocx = checkDocxChanged(transaction);
|
|
40284
|
+
if (!hasChangedDocx && transaction.changed?.size && local) {
|
|
40285
|
+
debouncedUpdate(editor);
|
|
40286
|
+
}
|
|
40287
|
+
});
|
|
40288
|
+
};
|
|
40289
|
+
const debounce$2 = (fn2, wait) => {
|
|
40290
|
+
let timeout2 = null;
|
|
40291
|
+
return (...args) => {
|
|
40292
|
+
clearTimeout(timeout2);
|
|
40293
|
+
timeout2 = setTimeout(() => fn2.apply(void 0, args), wait);
|
|
40294
|
+
};
|
|
40295
|
+
};
|
|
40268
40296
|
const initSyncListener = (ydoc, editor, extension) => {
|
|
40269
40297
|
const provider = editor.options.collaborationProvider;
|
|
40270
40298
|
if (!provider) return;
|
|
@@ -40925,7 +40953,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
|
|
|
40925
40953
|
* @returns {Object | void} Migration results
|
|
40926
40954
|
*/
|
|
40927
40955
|
processCollaborationMigrations() {
|
|
40928
|
-
console.debug("[checkVersionMigrations] Current editor version", "0.12.
|
|
40956
|
+
console.debug("[checkVersionMigrations] Current editor version", "0.12.22");
|
|
40929
40957
|
if (!this.options.ydoc) return;
|
|
40930
40958
|
const metaMap = this.options.ydoc.getMap("meta");
|
|
40931
40959
|
let docVersion = metaMap.get("version");
|
|
@@ -23287,7 +23287,7 @@ const _SuperConverter = class _SuperConverter2 {
|
|
|
23287
23287
|
return;
|
|
23288
23288
|
}
|
|
23289
23289
|
}
|
|
23290
|
-
static updateDocumentVersion(docx = this.convertedXml, version2 = "0.12.
|
|
23290
|
+
static updateDocumentVersion(docx = this.convertedXml, version2 = "0.12.22") {
|
|
23291
23291
|
const customLocation = "docProps/custom.xml";
|
|
23292
23292
|
if (!docx[customLocation]) {
|
|
23293
23293
|
docx[customLocation] = generateCustomXml();
|
|
@@ -23753,7 +23753,7 @@ function storeSuperdocVersion(docx) {
|
|
|
23753
23753
|
function generateCustomXml() {
|
|
23754
23754
|
return DEFAULT_CUSTOM_XML;
|
|
23755
23755
|
}
|
|
23756
|
-
function generateSuperdocVersion(pid = 2, version2 = "0.12.
|
|
23756
|
+
function generateSuperdocVersion(pid = 2, version2 = "0.12.22") {
|
|
23757
23757
|
return {
|
|
23758
23758
|
type: "element",
|
|
23759
23759
|
name: "property",
|
|
@@ -38957,6 +38957,27 @@ const getHighlightColor = ({ activeThreadId, threadId, isInternal, editor }) =>
|
|
|
38957
38957
|
const alpha = activeThreadId == threadId ? "44" : "22";
|
|
38958
38958
|
return `${color}${alpha}`;
|
|
38959
38959
|
};
|
|
38960
|
+
const updateYdocDocxData = async (editor) => {
|
|
38961
|
+
if (!editor.options.ydoc) return;
|
|
38962
|
+
const metaMap = editor.options.ydoc.getMap("meta");
|
|
38963
|
+
const docx = [...metaMap.get("docx")];
|
|
38964
|
+
const newXml = await editor.exportDocx({ getUpdatedDocs: true });
|
|
38965
|
+
Object.keys(newXml).forEach((key) => {
|
|
38966
|
+
if (key.includes("header") || key.includes("footer")) {
|
|
38967
|
+
const fileIndex = docx.findIndex((item) => item.name === key);
|
|
38968
|
+
if (fileIndex > -1) {
|
|
38969
|
+
docx.splice(fileIndex, 1);
|
|
38970
|
+
}
|
|
38971
|
+
docx.push({
|
|
38972
|
+
name: key,
|
|
38973
|
+
content: newXml[key]
|
|
38974
|
+
});
|
|
38975
|
+
}
|
|
38976
|
+
});
|
|
38977
|
+
editor.options.ydoc.transact(() => {
|
|
38978
|
+
metaMap.set("docx", docx);
|
|
38979
|
+
}, { event: "docx-update", user: editor.options.user });
|
|
38980
|
+
};
|
|
38960
38981
|
const PaginationPluginKey = new PluginKey("paginationPlugin");
|
|
38961
38982
|
const initPaginationData = async (editor) => {
|
|
38962
38983
|
if (!editor.converter) return;
|
|
@@ -39115,27 +39136,6 @@ const onHeaderFooterDataUpdate = async ({ editor, transaction }, mainEditor, sec
|
|
|
39115
39136
|
const setEditorToolbar = ({ editor }, mainEditor) => {
|
|
39116
39137
|
editor.setToolbar(mainEditor.toolbar);
|
|
39117
39138
|
};
|
|
39118
|
-
const updateYdocDocxData = async (editor) => {
|
|
39119
|
-
if (!editor.options.ydoc) return;
|
|
39120
|
-
const metaMap = editor.options.ydoc.getMap("meta");
|
|
39121
|
-
const docx = [...metaMap.get("docx")];
|
|
39122
|
-
const newXml = await editor.exportDocx({ getUpdatedDocs: true });
|
|
39123
|
-
Object.keys(newXml).forEach((key) => {
|
|
39124
|
-
if (key.includes("header") || key.includes("footer")) {
|
|
39125
|
-
const fileIndex = docx.findIndex((item) => item.name === key);
|
|
39126
|
-
if (fileIndex > -1) {
|
|
39127
|
-
docx.splice(fileIndex, 1);
|
|
39128
|
-
}
|
|
39129
|
-
docx.push({
|
|
39130
|
-
name: key,
|
|
39131
|
-
content: newXml[key]
|
|
39132
|
-
});
|
|
39133
|
-
}
|
|
39134
|
-
});
|
|
39135
|
-
editor.options.ydoc.transact(() => {
|
|
39136
|
-
metaMap.set("docx", docx);
|
|
39137
|
-
});
|
|
39138
|
-
};
|
|
39139
39139
|
const TRACK_CHANGE_MARKS = [TrackInsertMarkName, TrackDeleteMarkName, TrackFormatMarkName];
|
|
39140
39140
|
const CommentsPluginKey = new PluginKey("comments");
|
|
39141
39141
|
const CommentsPlugin = Extension.create({
|
|
@@ -40167,6 +40167,7 @@ const Collaboration = Extension.create({
|
|
|
40167
40167
|
const undoPlugin = createUndoPlugin();
|
|
40168
40168
|
initDocumentLockHandler(this.options.ydoc, this.editor);
|
|
40169
40169
|
initSyncListener(this.options.ydoc, this.editor, this);
|
|
40170
|
+
initDocumentListener({ ydoc: this.options.ydoc, editor: this.editor });
|
|
40170
40171
|
const [syncPlugin, fragment] = createSyncPlugin(this.options.ydoc, this.editor);
|
|
40171
40172
|
this.options.fragment = fragment;
|
|
40172
40173
|
const metaMap = this.options.ydoc.getMap("media");
|
|
@@ -40248,6 +40249,33 @@ const initDocumentLockHandler = (ydoc, editor) => {
|
|
|
40248
40249
|
editor.emit("locked", { editor, isLocked, lockedBy });
|
|
40249
40250
|
});
|
|
40250
40251
|
};
|
|
40252
|
+
const checkDocxChanged = (transaction) => {
|
|
40253
|
+
for (const [key, value] of transaction.changed?.entries()) {
|
|
40254
|
+
if (value instanceof Set && value.has("docx")) {
|
|
40255
|
+
return true;
|
|
40256
|
+
}
|
|
40257
|
+
}
|
|
40258
|
+
return false;
|
|
40259
|
+
};
|
|
40260
|
+
const initDocumentListener = ({ ydoc, editor }) => {
|
|
40261
|
+
const debouncedUpdate = debounce$2((editor2) => {
|
|
40262
|
+
updateYdocDocxData(editor2);
|
|
40263
|
+
}, 1e3);
|
|
40264
|
+
ydoc.on("afterTransaction", (transaction) => {
|
|
40265
|
+
const { local } = transaction;
|
|
40266
|
+
const hasChangedDocx = checkDocxChanged(transaction);
|
|
40267
|
+
if (!hasChangedDocx && transaction.changed?.size && local) {
|
|
40268
|
+
debouncedUpdate(editor);
|
|
40269
|
+
}
|
|
40270
|
+
});
|
|
40271
|
+
};
|
|
40272
|
+
const debounce$2 = (fn2, wait) => {
|
|
40273
|
+
let timeout2 = null;
|
|
40274
|
+
return (...args) => {
|
|
40275
|
+
clearTimeout(timeout2);
|
|
40276
|
+
timeout2 = setTimeout(() => fn2.apply(void 0, args), wait);
|
|
40277
|
+
};
|
|
40278
|
+
};
|
|
40251
40279
|
const initSyncListener = (ydoc, editor, extension) => {
|
|
40252
40280
|
const provider = editor.options.collaborationProvider;
|
|
40253
40281
|
if (!provider) return;
|
|
@@ -40908,7 +40936,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
|
|
|
40908
40936
|
* @returns {Object | void} Migration results
|
|
40909
40937
|
*/
|
|
40910
40938
|
processCollaborationMigrations() {
|
|
40911
|
-
console.debug("[checkVersionMigrations] Current editor version", "0.12.
|
|
40939
|
+
console.debug("[checkVersionMigrations] Current editor version", "0.12.22");
|
|
40912
40940
|
if (!this.options.ydoc) return;
|
|
40913
40941
|
const metaMap = this.options.ydoc.getMap("meta");
|
|
40914
40942
|
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-
|
|
3
|
-
import { _ as _export_sfc } from "./chunks/editor-
|
|
2
|
+
import { T as TextSelection } from "./chunks/converter-Bt3XbR0F.js";
|
|
3
|
+
import { _ as _export_sfc } from "./chunks/editor-ChqwyaCH.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 = {}) {
|
|
@@ -23306,7 +23306,7 @@ const _SuperConverter = class _SuperConverter {
|
|
|
23306
23306
|
return;
|
|
23307
23307
|
}
|
|
23308
23308
|
}
|
|
23309
|
-
static updateDocumentVersion(docx = this.convertedXml, version = "0.12.
|
|
23309
|
+
static updateDocumentVersion(docx = this.convertedXml, version = "0.12.22") {
|
|
23310
23310
|
const customLocation = "docProps/custom.xml";
|
|
23311
23311
|
if (!docx[customLocation]) {
|
|
23312
23312
|
docx[customLocation] = generateCustomXml();
|
|
@@ -23775,7 +23775,7 @@ function storeSuperdocVersion(docx) {
|
|
|
23775
23775
|
function generateCustomXml() {
|
|
23776
23776
|
return DEFAULT_CUSTOM_XML;
|
|
23777
23777
|
}
|
|
23778
|
-
function generateSuperdocVersion(pid = 2, version = "0.12.
|
|
23778
|
+
function generateSuperdocVersion(pid = 2, version = "0.12.22") {
|
|
23779
23779
|
return {
|
|
23780
23780
|
type: "element",
|
|
23781
23781
|
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-
|
|
1
|
+
import { x as process$1, a1 as commonjsGlobal, B as Buffer, a2 as getDefaultExportFromCjs, a3 as getContentTypesFromXml, a4 as xmljs } from "./converter-Bt3XbR0F.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-
|
|
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-Bt3XbR0F.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-
|
|
17
|
+
import { D as DocxZipper } from "./docx-zipper-D5nwZQE_.js";
|
|
18
18
|
function getMarksFromSelection(state) {
|
|
19
19
|
const { from: from2, to, empty: empty2 } = state.selection;
|
|
20
20
|
const marks = [];
|
|
@@ -12698,6 +12698,27 @@ const getHighlightColor = ({ activeThreadId, threadId, isInternal, editor }) =>
|
|
|
12698
12698
|
const alpha = activeThreadId == threadId ? "44" : "22";
|
|
12699
12699
|
return `${color}${alpha}`;
|
|
12700
12700
|
};
|
|
12701
|
+
const updateYdocDocxData = async (editor) => {
|
|
12702
|
+
if (!editor.options.ydoc) return;
|
|
12703
|
+
const metaMap = editor.options.ydoc.getMap("meta");
|
|
12704
|
+
const docx = [...metaMap.get("docx")];
|
|
12705
|
+
const newXml = await editor.exportDocx({ getUpdatedDocs: true });
|
|
12706
|
+
Object.keys(newXml).forEach((key) => {
|
|
12707
|
+
if (key.includes("header") || key.includes("footer")) {
|
|
12708
|
+
const fileIndex = docx.findIndex((item) => item.name === key);
|
|
12709
|
+
if (fileIndex > -1) {
|
|
12710
|
+
docx.splice(fileIndex, 1);
|
|
12711
|
+
}
|
|
12712
|
+
docx.push({
|
|
12713
|
+
name: key,
|
|
12714
|
+
content: newXml[key]
|
|
12715
|
+
});
|
|
12716
|
+
}
|
|
12717
|
+
});
|
|
12718
|
+
editor.options.ydoc.transact(() => {
|
|
12719
|
+
metaMap.set("docx", docx);
|
|
12720
|
+
}, { event: "docx-update", user: editor.options.user });
|
|
12721
|
+
};
|
|
12701
12722
|
const PaginationPluginKey = new PluginKey("paginationPlugin");
|
|
12702
12723
|
const initPaginationData = async (editor) => {
|
|
12703
12724
|
if (!editor.converter) return;
|
|
@@ -12856,27 +12877,6 @@ const onHeaderFooterDataUpdate = async ({ editor, transaction }, mainEditor, sec
|
|
|
12856
12877
|
const setEditorToolbar = ({ editor }, mainEditor) => {
|
|
12857
12878
|
editor.setToolbar(mainEditor.toolbar);
|
|
12858
12879
|
};
|
|
12859
|
-
const updateYdocDocxData = async (editor) => {
|
|
12860
|
-
if (!editor.options.ydoc) return;
|
|
12861
|
-
const metaMap = editor.options.ydoc.getMap("meta");
|
|
12862
|
-
const docx = [...metaMap.get("docx")];
|
|
12863
|
-
const newXml = await editor.exportDocx({ getUpdatedDocs: true });
|
|
12864
|
-
Object.keys(newXml).forEach((key) => {
|
|
12865
|
-
if (key.includes("header") || key.includes("footer")) {
|
|
12866
|
-
const fileIndex = docx.findIndex((item) => item.name === key);
|
|
12867
|
-
if (fileIndex > -1) {
|
|
12868
|
-
docx.splice(fileIndex, 1);
|
|
12869
|
-
}
|
|
12870
|
-
docx.push({
|
|
12871
|
-
name: key,
|
|
12872
|
-
content: newXml[key]
|
|
12873
|
-
});
|
|
12874
|
-
}
|
|
12875
|
-
});
|
|
12876
|
-
editor.options.ydoc.transact(() => {
|
|
12877
|
-
metaMap.set("docx", docx);
|
|
12878
|
-
});
|
|
12879
|
-
};
|
|
12880
12880
|
const TRACK_CHANGE_MARKS = [TrackInsertMarkName, TrackDeleteMarkName, TrackFormatMarkName];
|
|
12881
12881
|
const CommentsPluginKey = new PluginKey("comments");
|
|
12882
12882
|
const CommentsPlugin = Extension.create({
|
|
@@ -13908,6 +13908,7 @@ const Collaboration = Extension.create({
|
|
|
13908
13908
|
const undoPlugin = createUndoPlugin();
|
|
13909
13909
|
initDocumentLockHandler(this.options.ydoc, this.editor);
|
|
13910
13910
|
initSyncListener(this.options.ydoc, this.editor, this);
|
|
13911
|
+
initDocumentListener({ ydoc: this.options.ydoc, editor: this.editor });
|
|
13911
13912
|
const [syncPlugin, fragment] = createSyncPlugin(this.options.ydoc, this.editor);
|
|
13912
13913
|
this.options.fragment = fragment;
|
|
13913
13914
|
const metaMap = this.options.ydoc.getMap("media");
|
|
@@ -13989,6 +13990,33 @@ const initDocumentLockHandler = (ydoc, editor) => {
|
|
|
13989
13990
|
editor.emit("locked", { editor, isLocked, lockedBy });
|
|
13990
13991
|
});
|
|
13991
13992
|
};
|
|
13993
|
+
const checkDocxChanged = (transaction) => {
|
|
13994
|
+
for (const [key, value] of transaction.changed?.entries()) {
|
|
13995
|
+
if (value instanceof Set && value.has("docx")) {
|
|
13996
|
+
return true;
|
|
13997
|
+
}
|
|
13998
|
+
}
|
|
13999
|
+
return false;
|
|
14000
|
+
};
|
|
14001
|
+
const initDocumentListener = ({ ydoc, editor }) => {
|
|
14002
|
+
const debouncedUpdate = debounce$2((editor2) => {
|
|
14003
|
+
updateYdocDocxData(editor2);
|
|
14004
|
+
}, 1e3);
|
|
14005
|
+
ydoc.on("afterTransaction", (transaction) => {
|
|
14006
|
+
const { local } = transaction;
|
|
14007
|
+
const hasChangedDocx = checkDocxChanged(transaction);
|
|
14008
|
+
if (!hasChangedDocx && transaction.changed?.size && local) {
|
|
14009
|
+
debouncedUpdate(editor);
|
|
14010
|
+
}
|
|
14011
|
+
});
|
|
14012
|
+
};
|
|
14013
|
+
const debounce$2 = (fn2, wait) => {
|
|
14014
|
+
let timeout2 = null;
|
|
14015
|
+
return (...args) => {
|
|
14016
|
+
clearTimeout(timeout2);
|
|
14017
|
+
timeout2 = setTimeout(() => fn2.apply(void 0, args), wait);
|
|
14018
|
+
};
|
|
14019
|
+
};
|
|
13992
14020
|
const initSyncListener = (ydoc, editor, extension) => {
|
|
13993
14021
|
const provider = editor.options.collaborationProvider;
|
|
13994
14022
|
if (!provider) return;
|
|
@@ -14677,7 +14705,7 @@ const _Editor = class _Editor extends EventEmitter {
|
|
|
14677
14705
|
* @returns {Object | void} Migration results
|
|
14678
14706
|
*/
|
|
14679
14707
|
processCollaborationMigrations() {
|
|
14680
|
-
console.debug("[checkVersionMigrations] Current editor version", "0.12.
|
|
14708
|
+
console.debug("[checkVersionMigrations] Current editor version", "0.12.22");
|
|
14681
14709
|
if (!this.options.ydoc) return;
|
|
14682
14710
|
const metaMap = this.options.ydoc.getMap("meta");
|
|
14683
14711
|
let docVersion = metaMap.get("version");
|
|
@@ -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-
|
|
3
|
-
import { _ as _export_sfc, g as global$1 } from "./editor-
|
|
2
|
+
import { x as process$1 } from "./converter-Bt3XbR0F.js";
|
|
3
|
+
import { _ as _export_sfc, g as global$1 } from "./editor-ChqwyaCH.js";
|
|
4
4
|
const sanitizeNumber = (value, defaultNumber) => {
|
|
5
5
|
let sanitized = value.replace(/[^0-9.]/g, "");
|
|
6
6
|
sanitized = parseFloat(sanitized);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { E } from "./chunks/editor-
|
|
2
|
-
import "./chunks/converter-
|
|
3
|
-
import "./chunks/docx-zipper-
|
|
1
|
+
import { E } from "./chunks/editor-ChqwyaCH.js";
|
|
2
|
+
import "./chunks/converter-Bt3XbR0F.js";
|
|
3
|
+
import "./chunks/docx-zipper-D5nwZQE_.js";
|
|
4
4
|
export {
|
|
5
5
|
E as Editor
|
|
6
6
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collaboration-helpers.d.ts","sourceRoot":"","sources":["../../../src/extensions/collaboration/collaboration-helpers.js"],"names":[],"mappings":"AAMO,2CAHI,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAyBzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collaboration.d.ts","sourceRoot":"","sources":["../../../src/extensions/collaboration/collaboration.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"collaboration.d.ts","sourceRoot":"","sources":["../../../src/extensions/collaboration/collaboration.js"],"names":[],"mappings":"AAMA,oDAAqE;AAErE,gCA+EG;AAEI,gEAQN;AAEM,gEAIN;AAkFM,oFAIN;0BA5LyB,mBAAmB"}
|
|
@@ -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 { _ as _export_sfc, a as getQuickFormatList, b as generateLinkedStyleString, I as ImagePlaceholderPluginKey, f as findPlaceholder, c as findParentNode, d as getActiveFormatting, i as isInTable, u as undoDepth, r as redoDepth, E as Editor, e as getStarterExtensions, P as Placeholder, h as getRichTextExtensions, M as Mark, j as Extension, A as Attribute, N as Node } from "./chunks/editor-
|
|
13
|
-
import { C, T, l, n, k, m } from "./chunks/editor-
|
|
14
|
-
import { a2 as getDefaultExportFromCjs, E as v4, a5 as vClickOutside, T as TextSelection, a as Plugin } from "./chunks/converter-
|
|
15
|
-
import { O } from "./chunks/converter-
|
|
12
|
+
import { _ as _export_sfc, a as getQuickFormatList, b as generateLinkedStyleString, I as ImagePlaceholderPluginKey, f as findPlaceholder, c as findParentNode, d as getActiveFormatting, i as isInTable, u as undoDepth, r as redoDepth, E as Editor, e as getStarterExtensions, P as Placeholder, h as getRichTextExtensions, M as Mark, j as Extension, A as Attribute, N as Node } from "./chunks/editor-ChqwyaCH.js";
|
|
13
|
+
import { C, T, l, n, k, m } from "./chunks/editor-ChqwyaCH.js";
|
|
14
|
+
import { a2 as getDefaultExportFromCjs, E as v4, a5 as vClickOutside, T as TextSelection, a as Plugin } from "./chunks/converter-Bt3XbR0F.js";
|
|
15
|
+
import { O } from "./chunks/converter-Bt3XbR0F.js";
|
|
16
16
|
import { ref, createElementBlock, openBlock, createElementVNode, unref, getCurrentInstance, computed, watch, onMounted, createCommentVNode, withDirectives, withKeys, normalizeClass, withModifiers, vModelText, createTextVNode, toDisplayString, Fragment, renderList, normalizeStyle, createVNode, h, createApp, reactive, onUnmounted, shallowRef, onBeforeUnmount, createBlock } from "vue";
|
|
17
|
-
import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, N as NSkeleton } from "./chunks/toolbar-
|
|
17
|
+
import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, N as NSkeleton } from "./chunks/toolbar-BbfJcSs_.js";
|
|
18
18
|
import AIWriter from "./ai-writer.es.js";
|
|
19
|
-
import { D } from "./chunks/docx-zipper-
|
|
19
|
+
import { D } from "./chunks/docx-zipper-D5nwZQE_.js";
|
|
20
20
|
import { createZip } from "./file-zipper.es.js";
|
|
21
21
|
var eventemitter3 = { exports: {} };
|
|
22
22
|
(function(module) {
|
package/dist/super-editor.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-
|
|
3
|
+
const superEditor_es = require("./chunks/super-editor.es-Be83Ie7h.cjs");
|
|
4
4
|
require("./chunks/vue-DPZkajuO.cjs");
|
|
5
5
|
exports.AIWriter = superEditor_es.AIWriter;
|
|
6
6
|
exports.BasicUpload = superEditor_es._sfc_main$1;
|
package/dist/super-editor.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A, _, C, D, E, a, S, b, c, d, T, e, f, i, g, h, j, k, l, m, n } from "./chunks/super-editor.es-
|
|
1
|
+
import { A, _, C, D, E, a, S, b, c, d, T, e, f, i, g, h, j, k, l, m, n } from "./chunks/super-editor.es-wgjIS4ll.es.js";
|
|
2
2
|
import "./chunks/vue-IIIZMHTg.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-
|
|
3
|
+
const superEditor_es = require("./chunks/super-editor.es-Be83Ie7h.cjs");
|
|
4
4
|
const vue = require("./chunks/vue-DPZkajuO.cjs");
|
|
5
5
|
const jszip = require("./chunks/jszip-Bwu_om3F.cjs");
|
|
6
6
|
const blankDocx = require("./chunks/blank-docx-CPqX9RF5.cjs");
|
|
@@ -46560,7 +46560,7 @@ class SuperDoc extends eventemitter3.EventEmitter {
|
|
|
46560
46560
|
this.config.colors = shuffleArray(this.config.colors);
|
|
46561
46561
|
this.userColorMap = /* @__PURE__ */ new Map();
|
|
46562
46562
|
this.colorIndex = 0;
|
|
46563
|
-
this.version = "0.12.
|
|
46563
|
+
this.version = "0.12.22";
|
|
46564
46564
|
console.debug("🦋 [superdoc] Using SuperDoc version:", this.version);
|
|
46565
46565
|
this.superdocId = config.superdocId || uuid.v4();
|
|
46566
46566
|
this.colors = this.config.colors;
|
package/dist/superdoc.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as index$1, C as CommentsPluginKey, e as TrackChangesBasePluginKey, E as Editor, k as getRichTextExtensions, c as SuperInput, A as AIWriter, b as SuperEditor, d as SuperToolbar, f as createZip } from "./chunks/super-editor.es-
|
|
2
|
-
import { S, i, m } from "./chunks/super-editor.es-
|
|
1
|
+
import { n as index$1, C as CommentsPluginKey, e as TrackChangesBasePluginKey, E as Editor, k as getRichTextExtensions, c as SuperInput, A as AIWriter, b as SuperEditor, d as SuperToolbar, f as createZip } from "./chunks/super-editor.es-wgjIS4ll.es.js";
|
|
2
|
+
import { S, i, m } from "./chunks/super-editor.es-wgjIS4ll.es.js";
|
|
3
3
|
import { Y as effectScope, r as ref, Z as markRaw, p as process$1, _ as toRaw, a as computed, $ as isRef, a0 as isReactive, D as toRef, i as inject, q as getCurrentInstance, l as watch, y as unref, a1 as hasInjectionContext, N as reactive, u as nextTick, a2 as getCurrentScope, a3 as onScopeDispose, a4 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, a5 as resolveDirective, d as renderList, c as createApp, X as onUnmounted, a6 as resolveDynamicComponent } from "./chunks/vue-IIIZMHTg.es.js";
|
|
4
4
|
import { B as Buffer$2 } from "./chunks/jszip-BmWWPxfF.es.js";
|
|
5
5
|
import { B as BlankDOCX } from "./chunks/blank-docx-iwdyG9RH.es.js";
|
|
@@ -46559,7 +46559,7 @@ class SuperDoc extends EventEmitter {
|
|
|
46559
46559
|
this.config.colors = shuffleArray(this.config.colors);
|
|
46560
46560
|
this.userColorMap = /* @__PURE__ */ new Map();
|
|
46561
46561
|
this.colorIndex = 0;
|
|
46562
|
-
this.version = "0.12.
|
|
46562
|
+
this.version = "0.12.22";
|
|
46563
46563
|
console.debug("🦋 [superdoc] Using SuperDoc version:", this.version);
|
|
46564
46564
|
this.superdocId = config.superdocId || v4();
|
|
46565
46565
|
this.colors = this.config.colors;
|