@harbour-enterprises/superdoc 0.16.0 → 0.16.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.
- package/dist/chunks/{PdfViewer-BmqyoC--.cjs → PdfViewer-BBIYn1YM.cjs} +1 -1
- package/dist/chunks/{PdfViewer-DBFz-QG3.es.js → PdfViewer-ee7q_t8z.es.js} +1 -1
- package/dist/chunks/{index-hUWkmmRr.es.js → index-D5yqCRxp.es.js} +3 -4
- package/dist/chunks/{index-D4GRSFSL.cjs → index-_XS50pXm.cjs} +3 -4
- package/dist/chunks/{super-editor.es-D9AbKjxn.cjs → super-editor.es-D00y_cgR.cjs} +57 -25
- package/dist/chunks/{super-editor.es-Cr04uNpJ.es.js → super-editor.es-ICO-Dcg6.es.js} +57 -25
- package/dist/core/SuperDoc.d.ts.map +1 -1
- package/dist/super-editor/ai-writer.es.js +2 -2
- package/dist/super-editor/chunks/{converter-BNYWJQ3Z.js → converter-BPlR2rf0.js} +2 -2
- package/dist/super-editor/chunks/{docx-zipper-cuAAfaAG.js → docx-zipper-DpSB-3Mq.js} +50 -19
- package/dist/super-editor/chunks/{editor-BgjW_9Xc.js → editor-BPPR4jya.js} +8 -7
- package/dist/super-editor/chunks/{toolbar-Cs4FPr9j.js → toolbar-B6F9-coR.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/file-zipper.es.js +1 -1
- package/dist/super-editor/src/core/encoding-helpers.d.ts +27 -0
- package/dist/super-editor/src/extensions/block-node/block-node.d.ts +2 -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 +2 -2
- package/dist/superdoc.umd.js +58 -27
- package/dist/superdoc.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const vue = require("./vue-B6WOnFdF.cjs");
|
|
4
|
-
const superdoc = require("./index-
|
|
4
|
+
const superdoc = require("./index-_XS50pXm.cjs");
|
|
5
5
|
function self(vars) {
|
|
6
6
|
const {
|
|
7
7
|
opacityDisabled,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { m as defineComponent, B as h, O as Transition, $ as process$1, I as watchEffect, d as computed, r as ref, j as onMounted, W as onUnmounted, c as createElementBlock, o as openBlock, a as createBaseVNode, f as createCommentVNode, v as createVNode, x as unref } from "./vue-xvq3uP6K.es.js";
|
|
2
|
-
import { d as derived, c, a as cB, f as fadeInTransition, b as cM, N as NBaseLoading, w as warnOnce, u as useConfig, e as useTheme, p as pxfy, g as createKey, h as useThemeClass, i as useCompitable, _ as _export_sfc, j as useSuperdocStore, s as storeToRefs, k as useSelection } from "./index-
|
|
2
|
+
import { d as derived, c, a as cB, f as fadeInTransition, b as cM, N as NBaseLoading, w as warnOnce, u as useConfig, e as useTheme, p as pxfy, g as createKey, h as useThemeClass, i as useCompitable, _ as _export_sfc, j as useSuperdocStore, s as storeToRefs, k as useSelection } from "./index-D5yqCRxp.es.js";
|
|
3
3
|
function self(vars) {
|
|
4
4
|
const {
|
|
5
5
|
opacityDisabled,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { q as index$1, C as CommentsPluginKey, h as TrackChangesBasePluginKey, E as Editor, n as getRichTextExtensions, f as SuperInput, e as SuperEditor, A as AIWriter, g as SuperToolbar, i as createZip } from "./super-editor.es-
|
|
1
|
+
import { q as index$1, C as CommentsPluginKey, h as TrackChangesBasePluginKey, E as Editor, n as getRichTextExtensions, f as SuperInput, e as SuperEditor, A as AIWriter, g as SuperToolbar, i as createZip } from "./super-editor.es-ICO-Dcg6.es.js";
|
|
2
2
|
import { a0 as effectScope, r as ref, _ as markRaw, $ as process$1, a1 as toRaw, d as computed, a2 as isRef, a3 as isReactive, C as toRef, i as inject, p as getCurrentInstance, l as watch, x as unref, a4 as hasInjectionContext, M as reactive, s as nextTick, a5 as getCurrentScope, a6 as onScopeDispose, a7 as toRefs, g as global$1, J as shallowRef, N as readonly, j as onMounted, k as onBeforeUnmount, h as onBeforeMount, S as onActivated, q as onDeactivated, z as createTextVNode, F as Fragment, Q as Comment, m as defineComponent, D as provide, H as withDirectives, B as h, U as Teleport, R as renderSlot, V as isVNode, I as watchEffect, O as Transition, a8 as TransitionGroup, E as mergeProps, P as vShow, G as cloneVNode, T as Text, c as createElementBlock, o as openBlock, t as toDisplayString, v as createVNode, y as withCtx, a as createBaseVNode, A as normalizeStyle, f as createCommentVNode, u as createBlock, w as withModifiers, n as normalizeClass, a9 as resolveDirective, e as renderList, b as createApp, X as resolveDynamicComponent, aa as defineAsyncComponent } from "./vue-xvq3uP6K.es.js";
|
|
3
3
|
import { B as Buffer$2 } from "./jszip-DXHu60h9.es.js";
|
|
4
4
|
import { B as BlankDOCX } from "./blank-docx-iwdyG9RH.es.js";
|
|
@@ -17249,7 +17249,7 @@ const _sfc_main = {
|
|
|
17249
17249
|
__name: "SuperDoc",
|
|
17250
17250
|
emits: ["selection-update"],
|
|
17251
17251
|
setup(__props, { emit: __emit }) {
|
|
17252
|
-
const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-
|
|
17252
|
+
const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-ee7q_t8z.es.js"));
|
|
17253
17253
|
const superdocStore = useSuperdocStore();
|
|
17254
17254
|
const commentsStore = useCommentsStore();
|
|
17255
17255
|
const {
|
|
@@ -17852,7 +17852,6 @@ class SuperDoc extends EventEmitter {
|
|
|
17852
17852
|
toolbarIcons: {},
|
|
17853
17853
|
toolbarTexts: {},
|
|
17854
17854
|
isDev: false,
|
|
17855
|
-
// telemetry config
|
|
17856
17855
|
telemetry: null,
|
|
17857
17856
|
// Events
|
|
17858
17857
|
onEditorBeforeCreate: () => null,
|
|
@@ -17892,7 +17891,7 @@ class SuperDoc extends EventEmitter {
|
|
|
17892
17891
|
this.config.colors = shuffleArray(this.config.colors);
|
|
17893
17892
|
this.userColorMap = /* @__PURE__ */ new Map();
|
|
17894
17893
|
this.colorIndex = 0;
|
|
17895
|
-
this.version = "0.16.
|
|
17894
|
+
this.version = "0.16.1";
|
|
17896
17895
|
this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
|
|
17897
17896
|
this.superdocId = config.superdocId || v4();
|
|
17898
17897
|
this.colors = this.config.colors;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const superEditor_es = require("./super-editor.es-
|
|
2
|
+
const superEditor_es = require("./super-editor.es-D00y_cgR.cjs");
|
|
3
3
|
const vue = require("./vue-B6WOnFdF.cjs");
|
|
4
4
|
const jszip = require("./jszip-DmmUnPkH.cjs");
|
|
5
5
|
const blankDocx = require("./blank-docx-CPqX9RF5.cjs");
|
|
@@ -17266,7 +17266,7 @@ const _sfc_main = {
|
|
|
17266
17266
|
__name: "SuperDoc",
|
|
17267
17267
|
emits: ["selection-update"],
|
|
17268
17268
|
setup(__props, { emit: __emit }) {
|
|
17269
|
-
const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-
|
|
17269
|
+
const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-BBIYn1YM.cjs")));
|
|
17270
17270
|
const superdocStore = useSuperdocStore();
|
|
17271
17271
|
const commentsStore = useCommentsStore();
|
|
17272
17272
|
const {
|
|
@@ -17869,7 +17869,6 @@ class SuperDoc extends eventemitter3.EventEmitter {
|
|
|
17869
17869
|
toolbarIcons: {},
|
|
17870
17870
|
toolbarTexts: {},
|
|
17871
17871
|
isDev: false,
|
|
17872
|
-
// telemetry config
|
|
17873
17872
|
telemetry: null,
|
|
17874
17873
|
// Events
|
|
17875
17874
|
onEditorBeforeCreate: () => null,
|
|
@@ -17909,7 +17908,7 @@ class SuperDoc extends eventemitter3.EventEmitter {
|
|
|
17909
17908
|
this.config.colors = shuffleArray(this.config.colors);
|
|
17910
17909
|
this.userColorMap = /* @__PURE__ */ new Map();
|
|
17911
17910
|
this.colorIndex = 0;
|
|
17912
|
-
this.version = "0.16.
|
|
17911
|
+
this.version = "0.16.1";
|
|
17913
17912
|
this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
|
|
17914
17913
|
this.superdocId = config.superdocId || uuid.v4();
|
|
17915
17914
|
this.colors = this.config.colors;
|
|
@@ -30055,7 +30055,7 @@ const _SuperConverter = class _SuperConverter2 {
|
|
|
30055
30055
|
return;
|
|
30056
30056
|
}
|
|
30057
30057
|
}
|
|
30058
|
-
static updateDocumentVersion(docx = this.convertedXml, version2 = "0.16.
|
|
30058
|
+
static updateDocumentVersion(docx = this.convertedXml, version2 = "0.16.1") {
|
|
30059
30059
|
const customLocation = "docProps/custom.xml";
|
|
30060
30060
|
if (!docx[customLocation]) {
|
|
30061
30061
|
docx[customLocation] = generateCustomXml();
|
|
@@ -30537,7 +30537,7 @@ function storeSuperdocVersion(docx) {
|
|
|
30537
30537
|
function generateCustomXml() {
|
|
30538
30538
|
return DEFAULT_CUSTOM_XML;
|
|
30539
30539
|
}
|
|
30540
|
-
function generateSuperdocVersion(pid = 2, version2 = "0.16.
|
|
30540
|
+
function generateSuperdocVersion(pid = 2, version2 = "0.16.1") {
|
|
30541
30541
|
return {
|
|
30542
30542
|
type: "element",
|
|
30543
30543
|
name: "property",
|
|
@@ -32876,6 +32876,40 @@ function requireJszip_min() {
|
|
|
32876
32876
|
}
|
|
32877
32877
|
var jszip_minExports = requireJszip_min();
|
|
32878
32878
|
const JSZip = /* @__PURE__ */ getDefaultExportFromCjs$1(jszip_minExports);
|
|
32879
|
+
const isXmlLike = (name) => /\.xml$|\.rels$/i.test(name);
|
|
32880
|
+
function sniffEncoding(u8) {
|
|
32881
|
+
if (u8.length >= 2) {
|
|
32882
|
+
const b0 = u8[0], b1 = u8[1];
|
|
32883
|
+
if (b0 === 255 && b1 === 254) return "utf-16le";
|
|
32884
|
+
if (b0 === 254 && b1 === 255) return "utf-16be";
|
|
32885
|
+
}
|
|
32886
|
+
let nul = 0;
|
|
32887
|
+
for (let i = 0; i < Math.min(64, u8.length); i++) if (u8[i] === 0) nul++;
|
|
32888
|
+
if (nul > 16) return "utf-16le";
|
|
32889
|
+
return "utf-8";
|
|
32890
|
+
}
|
|
32891
|
+
function stripBOM(str) {
|
|
32892
|
+
return str && str.charCodeAt(0) === 65279 ? str.slice(1) : str;
|
|
32893
|
+
}
|
|
32894
|
+
function ensureXmlString(content) {
|
|
32895
|
+
if (typeof content === "string") return stripBOM(content);
|
|
32896
|
+
let u8 = null;
|
|
32897
|
+
if (content && typeof content === "object") {
|
|
32898
|
+
if (content instanceof Uint8Array) {
|
|
32899
|
+
u8 = content;
|
|
32900
|
+
} else if (typeof Buffer2 !== "undefined" && Buffer2.isBuffer && Buffer2.isBuffer(content)) {
|
|
32901
|
+
u8 = new Uint8Array(content.buffer, content.byteOffset, content.byteLength);
|
|
32902
|
+
} else if (ArrayBuffer.isView && ArrayBuffer.isView(content)) {
|
|
32903
|
+
u8 = new Uint8Array(content.buffer, content.byteOffset, content.byteLength);
|
|
32904
|
+
} else if (content.constructor && (content instanceof ArrayBuffer || content.constructor.name === "ArrayBuffer")) {
|
|
32905
|
+
u8 = new Uint8Array(content);
|
|
32906
|
+
}
|
|
32907
|
+
}
|
|
32908
|
+
if (!u8) throw new Error("Unsupported content type for XML");
|
|
32909
|
+
const enc = sniffEncoding(u8);
|
|
32910
|
+
let xml = new TextDecoder(enc).decode(u8);
|
|
32911
|
+
return stripBOM(xml);
|
|
32912
|
+
}
|
|
32879
32913
|
class DocxZipper {
|
|
32880
32914
|
constructor(params2 = {}) {
|
|
32881
32915
|
this.debug = params2.debug || false;
|
|
@@ -32906,32 +32940,29 @@ class DocxZipper {
|
|
|
32906
32940
|
async getDocxData(file, isNode2 = false) {
|
|
32907
32941
|
const extractedFiles = await this.unzip(file);
|
|
32908
32942
|
const files = Object.entries(extractedFiles.files);
|
|
32909
|
-
const
|
|
32910
|
-
|
|
32911
|
-
|
|
32912
|
-
|
|
32913
|
-
const content =
|
|
32914
|
-
this.files.push({
|
|
32915
|
-
|
|
32916
|
-
content
|
|
32917
|
-
});
|
|
32918
|
-
} else if (zipEntry.name.startsWith("word/media") && zipEntry.name !== "word/media/" || zipEntry.name.startsWith("media") && zipEntry.name !== "media/") {
|
|
32943
|
+
for (const [, zipEntry] of files) {
|
|
32944
|
+
const name = zipEntry.name;
|
|
32945
|
+
if (isXmlLike(name)) {
|
|
32946
|
+
const u8 = await zipEntry.async("uint8array");
|
|
32947
|
+
const content = ensureXmlString(u8);
|
|
32948
|
+
this.files.push({ name, content });
|
|
32949
|
+
} else if (name.startsWith("word/media") && name !== "word/media/" || name.startsWith("media") && name !== "media/") {
|
|
32919
32950
|
if (isNode2) {
|
|
32920
32951
|
const buffer2 = await zipEntry.async("nodebuffer");
|
|
32921
32952
|
const fileBase64 = buffer2.toString("base64");
|
|
32922
|
-
this.mediaFiles[
|
|
32953
|
+
this.mediaFiles[name] = fileBase64;
|
|
32923
32954
|
} else {
|
|
32924
32955
|
const blob = await zipEntry.async("blob");
|
|
32925
|
-
const extension = this.getFileExtension(
|
|
32956
|
+
const extension = this.getFileExtension(name);
|
|
32926
32957
|
const fileBase64 = await zipEntry.async("base64");
|
|
32927
|
-
this.mediaFiles[
|
|
32928
|
-
const
|
|
32929
|
-
const imageUrl = URL.createObjectURL(
|
|
32930
|
-
this.media[
|
|
32958
|
+
this.mediaFiles[name] = `data:image/${extension};base64,${fileBase64}`;
|
|
32959
|
+
const fileObj = new File([blob], name, { type: blob.type });
|
|
32960
|
+
const imageUrl = URL.createObjectURL(fileObj);
|
|
32961
|
+
this.media[name] = imageUrl;
|
|
32931
32962
|
}
|
|
32932
|
-
} else if (
|
|
32963
|
+
} else if (name.startsWith("word/fonts") && name !== "word/fonts/") {
|
|
32933
32964
|
const uint8array = await zipEntry.async("uint8array");
|
|
32934
|
-
this.fonts[
|
|
32965
|
+
this.fonts[name] = uint8array;
|
|
32935
32966
|
}
|
|
32936
32967
|
}
|
|
32937
32968
|
return this.files;
|
|
@@ -46595,7 +46626,6 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
|
|
|
46595
46626
|
onListDefinitionsChange: () => null,
|
|
46596
46627
|
// async (file) => url;
|
|
46597
46628
|
handleImageUpload: null,
|
|
46598
|
-
// telemetry
|
|
46599
46629
|
telemetry: null,
|
|
46600
46630
|
// Docx xml updated by User
|
|
46601
46631
|
customUpdatedFiles: {},
|
|
@@ -47276,7 +47306,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
|
|
|
47276
47306
|
* @returns {Object | void} Migration results
|
|
47277
47307
|
*/
|
|
47278
47308
|
processCollaborationMigrations() {
|
|
47279
|
-
console.debug("[checkVersionMigrations] Current editor version", "0.16.
|
|
47309
|
+
console.debug("[checkVersionMigrations] Current editor version", "0.16.1");
|
|
47280
47310
|
if (!this.options.ydoc) return;
|
|
47281
47311
|
const metaMap = this.options.ydoc.getMap("meta");
|
|
47282
47312
|
let docVersion = metaMap.get("version");
|
|
@@ -57953,11 +57983,10 @@ const BlockNode = Extension.create({
|
|
|
57953
57983
|
appendTransaction: (transactions, _oldState, newState) => {
|
|
57954
57984
|
if (hasInitialized && !transactions.some((tr2) => tr2.docChanged)) return null;
|
|
57955
57985
|
if (hasInitialized && !checkForNewBlockNodesInTrs(transactions)) return null;
|
|
57956
|
-
|
|
57986
|
+
const { tr } = newState;
|
|
57957
57987
|
let changed = false;
|
|
57958
57988
|
newState.doc.descendants((node2, pos) => {
|
|
57959
57989
|
if (!nodeAllowsSdBlockIdAttr(node2) || !nodeNeedsSdBlockId(node2)) return null;
|
|
57960
|
-
tr = tr ?? newState.tr;
|
|
57961
57990
|
tr.setNodeMarkup(
|
|
57962
57991
|
pos,
|
|
57963
57992
|
void 0,
|
|
@@ -57969,7 +57998,10 @@ const BlockNode = Extension.create({
|
|
|
57969
57998
|
);
|
|
57970
57999
|
changed = true;
|
|
57971
58000
|
});
|
|
57972
|
-
if (changed && !hasInitialized)
|
|
58001
|
+
if (changed && !hasInitialized) {
|
|
58002
|
+
hasInitialized = true;
|
|
58003
|
+
}
|
|
58004
|
+
tr.setStoredMarks(newState.tr.storedMarks);
|
|
57973
58005
|
return changed ? tr : null;
|
|
57974
58006
|
}
|
|
57975
58007
|
})
|
|
@@ -30038,7 +30038,7 @@ const _SuperConverter = class _SuperConverter2 {
|
|
|
30038
30038
|
return;
|
|
30039
30039
|
}
|
|
30040
30040
|
}
|
|
30041
|
-
static updateDocumentVersion(docx = this.convertedXml, version2 = "0.16.
|
|
30041
|
+
static updateDocumentVersion(docx = this.convertedXml, version2 = "0.16.1") {
|
|
30042
30042
|
const customLocation = "docProps/custom.xml";
|
|
30043
30043
|
if (!docx[customLocation]) {
|
|
30044
30044
|
docx[customLocation] = generateCustomXml();
|
|
@@ -30520,7 +30520,7 @@ function storeSuperdocVersion(docx) {
|
|
|
30520
30520
|
function generateCustomXml() {
|
|
30521
30521
|
return DEFAULT_CUSTOM_XML;
|
|
30522
30522
|
}
|
|
30523
|
-
function generateSuperdocVersion(pid = 2, version2 = "0.16.
|
|
30523
|
+
function generateSuperdocVersion(pid = 2, version2 = "0.16.1") {
|
|
30524
30524
|
return {
|
|
30525
30525
|
type: "element",
|
|
30526
30526
|
name: "property",
|
|
@@ -32859,6 +32859,40 @@ function requireJszip_min() {
|
|
|
32859
32859
|
}
|
|
32860
32860
|
var jszip_minExports = requireJszip_min();
|
|
32861
32861
|
const JSZip = /* @__PURE__ */ getDefaultExportFromCjs$1(jszip_minExports);
|
|
32862
|
+
const isXmlLike = (name) => /\.xml$|\.rels$/i.test(name);
|
|
32863
|
+
function sniffEncoding(u8) {
|
|
32864
|
+
if (u8.length >= 2) {
|
|
32865
|
+
const b0 = u8[0], b1 = u8[1];
|
|
32866
|
+
if (b0 === 255 && b1 === 254) return "utf-16le";
|
|
32867
|
+
if (b0 === 254 && b1 === 255) return "utf-16be";
|
|
32868
|
+
}
|
|
32869
|
+
let nul = 0;
|
|
32870
|
+
for (let i = 0; i < Math.min(64, u8.length); i++) if (u8[i] === 0) nul++;
|
|
32871
|
+
if (nul > 16) return "utf-16le";
|
|
32872
|
+
return "utf-8";
|
|
32873
|
+
}
|
|
32874
|
+
function stripBOM(str) {
|
|
32875
|
+
return str && str.charCodeAt(0) === 65279 ? str.slice(1) : str;
|
|
32876
|
+
}
|
|
32877
|
+
function ensureXmlString(content) {
|
|
32878
|
+
if (typeof content === "string") return stripBOM(content);
|
|
32879
|
+
let u8 = null;
|
|
32880
|
+
if (content && typeof content === "object") {
|
|
32881
|
+
if (content instanceof Uint8Array) {
|
|
32882
|
+
u8 = content;
|
|
32883
|
+
} else if (typeof Buffer2 !== "undefined" && Buffer2.isBuffer && Buffer2.isBuffer(content)) {
|
|
32884
|
+
u8 = new Uint8Array(content.buffer, content.byteOffset, content.byteLength);
|
|
32885
|
+
} else if (ArrayBuffer.isView && ArrayBuffer.isView(content)) {
|
|
32886
|
+
u8 = new Uint8Array(content.buffer, content.byteOffset, content.byteLength);
|
|
32887
|
+
} else if (content.constructor && (content instanceof ArrayBuffer || content.constructor.name === "ArrayBuffer")) {
|
|
32888
|
+
u8 = new Uint8Array(content);
|
|
32889
|
+
}
|
|
32890
|
+
}
|
|
32891
|
+
if (!u8) throw new Error("Unsupported content type for XML");
|
|
32892
|
+
const enc = sniffEncoding(u8);
|
|
32893
|
+
let xml = new TextDecoder(enc).decode(u8);
|
|
32894
|
+
return stripBOM(xml);
|
|
32895
|
+
}
|
|
32862
32896
|
class DocxZipper {
|
|
32863
32897
|
constructor(params2 = {}) {
|
|
32864
32898
|
this.debug = params2.debug || false;
|
|
@@ -32889,32 +32923,29 @@ class DocxZipper {
|
|
|
32889
32923
|
async getDocxData(file, isNode2 = false) {
|
|
32890
32924
|
const extractedFiles = await this.unzip(file);
|
|
32891
32925
|
const files = Object.entries(extractedFiles.files);
|
|
32892
|
-
const
|
|
32893
|
-
|
|
32894
|
-
|
|
32895
|
-
|
|
32896
|
-
const content =
|
|
32897
|
-
this.files.push({
|
|
32898
|
-
|
|
32899
|
-
content
|
|
32900
|
-
});
|
|
32901
|
-
} else if (zipEntry.name.startsWith("word/media") && zipEntry.name !== "word/media/" || zipEntry.name.startsWith("media") && zipEntry.name !== "media/") {
|
|
32926
|
+
for (const [, zipEntry] of files) {
|
|
32927
|
+
const name = zipEntry.name;
|
|
32928
|
+
if (isXmlLike(name)) {
|
|
32929
|
+
const u8 = await zipEntry.async("uint8array");
|
|
32930
|
+
const content = ensureXmlString(u8);
|
|
32931
|
+
this.files.push({ name, content });
|
|
32932
|
+
} else if (name.startsWith("word/media") && name !== "word/media/" || name.startsWith("media") && name !== "media/") {
|
|
32902
32933
|
if (isNode2) {
|
|
32903
32934
|
const buffer2 = await zipEntry.async("nodebuffer");
|
|
32904
32935
|
const fileBase64 = buffer2.toString("base64");
|
|
32905
|
-
this.mediaFiles[
|
|
32936
|
+
this.mediaFiles[name] = fileBase64;
|
|
32906
32937
|
} else {
|
|
32907
32938
|
const blob = await zipEntry.async("blob");
|
|
32908
|
-
const extension = this.getFileExtension(
|
|
32939
|
+
const extension = this.getFileExtension(name);
|
|
32909
32940
|
const fileBase64 = await zipEntry.async("base64");
|
|
32910
|
-
this.mediaFiles[
|
|
32911
|
-
const
|
|
32912
|
-
const imageUrl = URL.createObjectURL(
|
|
32913
|
-
this.media[
|
|
32941
|
+
this.mediaFiles[name] = `data:image/${extension};base64,${fileBase64}`;
|
|
32942
|
+
const fileObj = new File([blob], name, { type: blob.type });
|
|
32943
|
+
const imageUrl = URL.createObjectURL(fileObj);
|
|
32944
|
+
this.media[name] = imageUrl;
|
|
32914
32945
|
}
|
|
32915
|
-
} else if (
|
|
32946
|
+
} else if (name.startsWith("word/fonts") && name !== "word/fonts/") {
|
|
32916
32947
|
const uint8array = await zipEntry.async("uint8array");
|
|
32917
|
-
this.fonts[
|
|
32948
|
+
this.fonts[name] = uint8array;
|
|
32918
32949
|
}
|
|
32919
32950
|
}
|
|
32920
32951
|
return this.files;
|
|
@@ -46578,7 +46609,6 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
|
|
|
46578
46609
|
onListDefinitionsChange: () => null,
|
|
46579
46610
|
// async (file) => url;
|
|
46580
46611
|
handleImageUpload: null,
|
|
46581
|
-
// telemetry
|
|
46582
46612
|
telemetry: null,
|
|
46583
46613
|
// Docx xml updated by User
|
|
46584
46614
|
customUpdatedFiles: {},
|
|
@@ -47259,7 +47289,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
|
|
|
47259
47289
|
* @returns {Object | void} Migration results
|
|
47260
47290
|
*/
|
|
47261
47291
|
processCollaborationMigrations() {
|
|
47262
|
-
console.debug("[checkVersionMigrations] Current editor version", "0.16.
|
|
47292
|
+
console.debug("[checkVersionMigrations] Current editor version", "0.16.1");
|
|
47263
47293
|
if (!this.options.ydoc) return;
|
|
47264
47294
|
const metaMap = this.options.ydoc.getMap("meta");
|
|
47265
47295
|
let docVersion = metaMap.get("version");
|
|
@@ -57936,11 +57966,10 @@ const BlockNode = Extension.create({
|
|
|
57936
57966
|
appendTransaction: (transactions, _oldState, newState) => {
|
|
57937
57967
|
if (hasInitialized && !transactions.some((tr2) => tr2.docChanged)) return null;
|
|
57938
57968
|
if (hasInitialized && !checkForNewBlockNodesInTrs(transactions)) return null;
|
|
57939
|
-
|
|
57969
|
+
const { tr } = newState;
|
|
57940
57970
|
let changed = false;
|
|
57941
57971
|
newState.doc.descendants((node2, pos) => {
|
|
57942
57972
|
if (!nodeAllowsSdBlockIdAttr(node2) || !nodeNeedsSdBlockId(node2)) return null;
|
|
57943
|
-
tr = tr ?? newState.tr;
|
|
57944
57973
|
tr.setNodeMarkup(
|
|
57945
57974
|
pos,
|
|
57946
57975
|
void 0,
|
|
@@ -57952,7 +57981,10 @@ const BlockNode = Extension.create({
|
|
|
57952
57981
|
);
|
|
57953
57982
|
changed = true;
|
|
57954
57983
|
});
|
|
57955
|
-
if (changed && !hasInitialized)
|
|
57984
|
+
if (changed && !hasInitialized) {
|
|
57985
|
+
hasInitialized = true;
|
|
57986
|
+
}
|
|
57987
|
+
tr.setStoredMarks(newState.tr.storedMarks);
|
|
57956
57988
|
return changed ? tr : null;
|
|
57957
57989
|
}
|
|
57958
57990
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuperDoc.d.ts","sourceRoot":"","sources":["../../src/core/SuperDoc.js"],"names":[],"mappings":"AAeA;;;;;GAKG;AAEH;;;;;;GAMG;AAEH;;;;;;;;;;GAUG;AAEH;;;;;;;;GAQG;AAEH,2EAA2E;AAE3E;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH;;;;;;GAMG;AACH;IACE,4BAA4B;IAC5B,qBADW,KAAK,CAAC,MAAM,CAAC,CACgB;
|
|
1
|
+
{"version":3,"file":"SuperDoc.d.ts","sourceRoot":"","sources":["../../src/core/SuperDoc.js"],"names":[],"mappings":"AAeA;;;;;GAKG;AAEH;;;;;;GAMG;AAEH;;;;;;;;;;GAUG;AAEH;;;;;;;;GAQG;AAEH,2EAA2E;AAE3E;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH;;;;;;GAMG;AACH;IACE,4BAA4B;IAC5B,qBADW,KAAK,CAAC,MAAM,CAAC,CACgB;IAuExC;;OAEG;IACH,oBAFW,MAAM,EAKhB;IA3ED,qBAAqB;IACrB,SADW,MAAM,CACT;IAER,qBAAqB;IACrB,OADW,IAAI,EAAE,CACX;IAEN,4CAA4C;IAC5C,MADW,OAAO,KAAK,EAAE,GAAG,GAAG,SAAS,CACnC;IAEL,4EAA4E;IAC5E,UADW,OAAO,sBAAsB,EAAE,kBAAkB,GAAG,SAAS,CAC/D;IAET,qBAAqB;IACrB,QADW,MAAM,CAuDf;IAiBA,4BAA6B;IAC7B,mBAAmB;IAMnB,gBAA+C;IAC/C,iBAAgC;IAehC,WAA4B;IAE5B,YAAkB;IAElB,eAAuC;IAEvC;;;;;;;;;;;;0BAoqBuijc,aAAa;;;;;;;;;;;6BAAqvJ,aAAa;;;;;;;;;;;;;;;;mCAAq5U,aAAa;0BAAv+nB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;iDAA+r9B,UAAU;kDAAuV,UAAU,aAA+E,UAAU;oCAAgZ,UAAU;;;;;;;;;MApqBnw4d;IACxB,gBAAkB;IAKlB,qBAAqB;IAErB,kBAA6C;IAC7C,eAA4C;IAM9C;;;OAGG;IACH,+BAFa,MAAM,CAIlB;IAED;;;MAKC;IAkDC,SAAc;IACd,WAAkB;IAKlB,mBAAkC;IAClC,mBAAkC;IAClC,2BAAkD;IA+BlD,yBAA2B;IA4B7B;;;;OAIG;IACH,0BAFa,IAAI,CAKhB;IAED;;;;OAIG;IACH,iCAFa,IAAI,CAIhB;IAMC,qBAME;IAGJ;;;;;OAKG;IACH,kCAHG;QAAsB,KAAK,EAAnB,KAAK;QACU,MAAM,EAArB,MAAM;KAChB,QAKA;IAED;;;OAGG;IACH,6BAFa,IAAI,CAIhB;IAED;;;OAGG;IACH,kBAFa,IAAI,CAMhB;IAED;;;;OAIG;IACH,oCAHW,MAAM,GACJ,IAAI,CAIhB;IAED;;;;OAIG;IACH,8BAHW,MAAM,GACJ,IAAI,CAMhB;IAED;;;OAGG;IACH,0BAFa,IAAI,CAIhB;IAED;;;OAGG;IACH,iCAFW,OAAO,QAIjB;IAMD;;;;OAIG;IACH,wBAHW,MAAM,GACJ,IAAI,CAQhB;IAED;;;;OAIG;IACH,eAFa,IAAI,CAOhB;IAED;;;OAGG;IACH,oBAFa,IAAI,CAUhB;IAIC,oBAAmF;IACnF,sBAAmB;IA0BrB;;;;;OAKG;IACH,yBAHW,OAAO,GACL,IAAI,CAQhB;IAFC,4BAA0E;IAI5E;;;OAGG;IACH,sBAFa,IAAI,CAQhB;IAED;;;;;OAKG;IACH,qCAHG;QAAuB,IAAI;QACJ,QAAQ,EAAvB,MAAM;KAChB,QAOA;IAED;;;;OAIG;IACH,sBAHW,YAAY,GACV,IAAI,CAehB;IAsDD;;;;OAIG;IACH,aAHW,MAAM,GAAG,MAAM,GACb,KAAQ,CAIpB;IAED;;;;OAIG;IACH,8BAFa,IAAI,CAIhB;IAED;;;OAGG;IACH,iBAFW,OAAO,QAUjB;IAED;;;OAGG;IACH,uBAFa,KAAK,CAAC,MAAM,CAAC,CAYzB;IAED;;;;OAIG;IACH,0CAFW,IAAI,QAOd;IAED;;;;;;;;;;;OAWG;IACH,8IATG;QAA0B,UAAU,GAA5B,MAAM,EAAE;QACQ,YAAY,GAA5B,MAAM;QACU,YAAY,GAA5B,MAAM;QACS,eAAe;QACf,mBAAmB;QACjB,UAAU,GAA3B,OAAO;QACU,eAAe,GAAhC,OAAO;KACf,GAAU,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CA0ChC;IAED;;;;OAIG;IACH,yEAHW;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAkBhC;IAWK,kCAAkC;IAsBxC;;;OAGG;IACH,QAFa,OAAO,CAAC,IAAI,EAAE,CAAC,CAY3B;IAED;;;OAGG;IACH,WAFa,IAAI,CAiChB;IAED;;;OAGG;IACH,SAFa,IAAI,CAahB;IAED;;;;OAIG;IACH,oCAHW,OAAO,GACL,IAAI,CAMhB;;CACF;;;;;;;;UA93Ba,MAAM;;;;WACN,MAAM;;;;YACN,MAAM,GAAG,IAAI;;;;;;;;;cAKb,OAAO;;;;iBACP,MAAM;;;;eACN,MAAM;;;;sBACN,MAAM;;;;;;SAKN,MAAM;;;;UACN,MAAM;;;;WACN,IAAI,GAAG,IAAI;;;;WACX,MAAM;;;;UACN,MAAM;;;;gBACN,OAAO;;;;WACP,OAAO,KAAK,EAAE,GAAG;;;;eACjB,OAAO,sBAAsB,EAAE,kBAAkB;;;;;;;;;;SAO5D;QAAuB,MAAM,GAAlB,MAAM;QACM,QAAQ,GAApB,MAAM;KACjB;;;;;;;;;;;;;;;;;;;;;;sBAg2Bwijc,aAAa;;;;;;;;;;;yBAAqvJ,aAAa;;;;;;;;;;;;;;;;+BAAq5U,aAAa;sBAAv+nB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;6CAA+r9B,UAAU;8CAAuV,UAAU,aAA+E,UAAU;gCAAgZ,UAAU;;;;;;;;;;2BAz1Blx4d,MAAM;;;;;iBAQL,MAAM;;;;cACN,MAAM;;;;kBACN,YAAY;;;;WACZ,QAAQ,GAAG,QAAQ,GAAG,WAAW;;;;eACjC,MAAS,MAAM;;;;eACf,KAAK,CAAC,QAAQ,CAAC;;;;WACf,IAAI;;;;YACJ,KAAK,CAAC,IAAI,CAAC;;;;aACX,KAAK,CAAC,MAAM,CAAC;;;;cACb,OAAO;;;;iBACP,OAAO;;;;cACP,MAAM;;;;oBACN,KAAK,CAAC,MAAM,CAAC;;;;;;;;;;;;YAGb,OAAO;;;;gBACP,eAAe;;;;2BACf,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI;;;;qBACxB,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI;;;;oBACxB,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI;;;;sBACxE,MAAM,IAAI;;;;qBACV,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI;;;;cACnF,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAA;KAAE,KAAK,IAAI;;;;uBACxC,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,KAAK,IAAI;;;;wBAC/C,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,QAAQ,CAAC;QAAC,MAAM,QAAO;KAAE,KAAK,IAAI;;;;eACtD,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI;;;;yBACvD,MAAM,IAAI;;;;sBACV,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI;;;;2BAC3B,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI;;;;qBACpC,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI;;;;kBACpC,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,KAAK,IAAI;;;;2BAClC,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI;;;;8BACzC,CAAC,MAAM,EAAE,EAAE,KAAC,GAAA;;;;aACZ,MAAM;;;;uBACN,KAAQ;;;;iBACR,OAAO;;;;YACP,MAAM;;;;oBACN,KAAQ;;;;eACR,OAAO;;;;wBACP,CAAS,IAAI,EAAJ,IAAI,KAAG,OAAO,CAAC,MAAM,CAAC;;;;eAC/B,IAAI;;;;aACJ,OAAO;;;;gCACP,OAAO;;;;;;;;yBAEP,OAAO;;;;WACP,MAAM;;;;eACN,MAAM;;6BA3GS,eAAe;0BASlB,0CAA0C;6BAJ5B,mCAAmC;8BAC7C,iEAAiE"}
|
|
@@ -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-BPlR2rf0.js";
|
|
3
|
+
import { _ as _export_sfc } from "./chunks/editor-BPPR4jya.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 = {}) {
|
|
@@ -30036,7 +30036,7 @@ const _SuperConverter = class _SuperConverter {
|
|
|
30036
30036
|
return;
|
|
30037
30037
|
}
|
|
30038
30038
|
}
|
|
30039
|
-
static updateDocumentVersion(docx = this.convertedXml, version = "0.16.
|
|
30039
|
+
static updateDocumentVersion(docx = this.convertedXml, version = "0.16.1") {
|
|
30040
30040
|
const customLocation = "docProps/custom.xml";
|
|
30041
30041
|
if (!docx[customLocation]) {
|
|
30042
30042
|
docx[customLocation] = generateCustomXml();
|
|
@@ -30521,7 +30521,7 @@ function storeSuperdocVersion(docx) {
|
|
|
30521
30521
|
function generateCustomXml() {
|
|
30522
30522
|
return DEFAULT_CUSTOM_XML;
|
|
30523
30523
|
}
|
|
30524
|
-
function generateSuperdocVersion(pid = 2, version = "0.16.
|
|
30524
|
+
function generateSuperdocVersion(pid = 2, version = "0.16.1") {
|
|
30525
30525
|
return {
|
|
30526
30526
|
type: "element",
|
|
30527
30527
|
name: "property",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { H as process$1, av as commonjsGlobal, I as Buffer, aw as getDefaultExportFromCjs, ax as getContentTypesFromXml, ay as xmljs } from "./converter-
|
|
1
|
+
import { H as process$1, av as commonjsGlobal, I as Buffer, aw as getDefaultExportFromCjs, ax as getContentTypesFromXml, ay as xmljs } from "./converter-BPlR2rf0.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
|
}
|
|
@@ -2315,6 +2315,40 @@ function requireJszip_min() {
|
|
|
2315
2315
|
}
|
|
2316
2316
|
var jszip_minExports = requireJszip_min();
|
|
2317
2317
|
const JSZip = /* @__PURE__ */ getDefaultExportFromCjs(jszip_minExports);
|
|
2318
|
+
const isXmlLike = (name) => /\.xml$|\.rels$/i.test(name);
|
|
2319
|
+
function sniffEncoding(u8) {
|
|
2320
|
+
if (u8.length >= 2) {
|
|
2321
|
+
const b0 = u8[0], b1 = u8[1];
|
|
2322
|
+
if (b0 === 255 && b1 === 254) return "utf-16le";
|
|
2323
|
+
if (b0 === 254 && b1 === 255) return "utf-16be";
|
|
2324
|
+
}
|
|
2325
|
+
let nul = 0;
|
|
2326
|
+
for (let i = 0; i < Math.min(64, u8.length); i++) if (u8[i] === 0) nul++;
|
|
2327
|
+
if (nul > 16) return "utf-16le";
|
|
2328
|
+
return "utf-8";
|
|
2329
|
+
}
|
|
2330
|
+
function stripBOM(str) {
|
|
2331
|
+
return str && str.charCodeAt(0) === 65279 ? str.slice(1) : str;
|
|
2332
|
+
}
|
|
2333
|
+
function ensureXmlString(content) {
|
|
2334
|
+
if (typeof content === "string") return stripBOM(content);
|
|
2335
|
+
let u8 = null;
|
|
2336
|
+
if (content && typeof content === "object") {
|
|
2337
|
+
if (content instanceof Uint8Array) {
|
|
2338
|
+
u8 = content;
|
|
2339
|
+
} else if (typeof Buffer !== "undefined" && Buffer.isBuffer && Buffer.isBuffer(content)) {
|
|
2340
|
+
u8 = new Uint8Array(content.buffer, content.byteOffset, content.byteLength);
|
|
2341
|
+
} else if (ArrayBuffer.isView && ArrayBuffer.isView(content)) {
|
|
2342
|
+
u8 = new Uint8Array(content.buffer, content.byteOffset, content.byteLength);
|
|
2343
|
+
} else if (content.constructor && (content instanceof ArrayBuffer || content.constructor.name === "ArrayBuffer")) {
|
|
2344
|
+
u8 = new Uint8Array(content);
|
|
2345
|
+
}
|
|
2346
|
+
}
|
|
2347
|
+
if (!u8) throw new Error("Unsupported content type for XML");
|
|
2348
|
+
const enc = sniffEncoding(u8);
|
|
2349
|
+
let xml = new TextDecoder(enc).decode(u8);
|
|
2350
|
+
return stripBOM(xml);
|
|
2351
|
+
}
|
|
2318
2352
|
class DocxZipper {
|
|
2319
2353
|
constructor(params = {}) {
|
|
2320
2354
|
this.debug = params.debug || false;
|
|
@@ -2345,32 +2379,29 @@ class DocxZipper {
|
|
|
2345
2379
|
async getDocxData(file, isNode = false) {
|
|
2346
2380
|
const extractedFiles = await this.unzip(file);
|
|
2347
2381
|
const files = Object.entries(extractedFiles.files);
|
|
2348
|
-
const
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
const content =
|
|
2353
|
-
this.files.push({
|
|
2354
|
-
|
|
2355
|
-
content
|
|
2356
|
-
});
|
|
2357
|
-
} else if (zipEntry.name.startsWith("word/media") && zipEntry.name !== "word/media/" || zipEntry.name.startsWith("media") && zipEntry.name !== "media/") {
|
|
2382
|
+
for (const [, zipEntry] of files) {
|
|
2383
|
+
const name = zipEntry.name;
|
|
2384
|
+
if (isXmlLike(name)) {
|
|
2385
|
+
const u8 = await zipEntry.async("uint8array");
|
|
2386
|
+
const content = ensureXmlString(u8);
|
|
2387
|
+
this.files.push({ name, content });
|
|
2388
|
+
} else if (name.startsWith("word/media") && name !== "word/media/" || name.startsWith("media") && name !== "media/") {
|
|
2358
2389
|
if (isNode) {
|
|
2359
2390
|
const buffer = await zipEntry.async("nodebuffer");
|
|
2360
2391
|
const fileBase64 = buffer.toString("base64");
|
|
2361
|
-
this.mediaFiles[
|
|
2392
|
+
this.mediaFiles[name] = fileBase64;
|
|
2362
2393
|
} else {
|
|
2363
2394
|
const blob = await zipEntry.async("blob");
|
|
2364
|
-
const extension = this.getFileExtension(
|
|
2395
|
+
const extension = this.getFileExtension(name);
|
|
2365
2396
|
const fileBase64 = await zipEntry.async("base64");
|
|
2366
|
-
this.mediaFiles[
|
|
2367
|
-
const
|
|
2368
|
-
const imageUrl = URL.createObjectURL(
|
|
2369
|
-
this.media[
|
|
2397
|
+
this.mediaFiles[name] = `data:image/${extension};base64,${fileBase64}`;
|
|
2398
|
+
const fileObj = new File([blob], name, { type: blob.type });
|
|
2399
|
+
const imageUrl = URL.createObjectURL(fileObj);
|
|
2400
|
+
this.media[name] = imageUrl;
|
|
2370
2401
|
}
|
|
2371
|
-
} else if (
|
|
2402
|
+
} else if (name.startsWith("word/fonts") && name !== "word/fonts/") {
|
|
2372
2403
|
const uint8array = await zipEntry.async("uint8array");
|
|
2373
|
-
this.fonts[
|
|
2404
|
+
this.fonts[name] = uint8array;
|
|
2374
2405
|
}
|
|
2375
2406
|
}
|
|
2376
2407
|
return this.files;
|
|
@@ -12,9 +12,9 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
12
12
|
var _Attribute_static, getGlobalAttributes_fn, getNodeAndMarksAttributes_fn, _Schema_static, createNodesSchema_fn, createMarksSchema_fn, _events, _ExtensionService_instances, setupExtensions_fn, attachEditorEvents_fn, _editor, _stateValidators, _xmlValidators, _requiredNodeTypes, _requiredMarkTypes, _SuperValidator_instances, initializeValidators_fn, collectValidatorRequirements_fn, analyzeDocument_fn, _commandService, _Editor_instances, initContainerElement_fn, init_fn, initRichText_fn, onFocus_fn, checkHeadless_fn, insertNewFileData_fn, registerPluginByNameIfNotExists_fn, createExtensionService_fn, createCommandService_fn, createConverter_fn, initMedia_fn, initFonts_fn, createSchema_fn, generatePmData_fn, createView_fn, onCollaborationReady_fn, initComments_fn, initPagination_fn, dispatchTransaction_fn, handleNodeSelection_fn, prepareDocumentForImport_fn, prepareDocumentForExport_fn, endCollaboration_fn, validateDocumentInit_fn, validateDocumentExport_fn, _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, N as NodeSelection, i as canSplit, j as defaultBlockAt$1, l as liftTarget, A as AllSelection, k as canJoin, m as joinPoint, n as Selection, r as replaceStep$1, F as Fragment, R as ReplaceAroundStep$1, o as Slice, 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, L as ListHelpers, y as findParentNode, 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 helpers, a2 as posToDOMRect, a3 as CommandService, a4 as SuperConverter, a5 as createDocument, a6 as createDocFromMarkdown, a7 as createDocFromHTML, a8 as EditorState, a9 as hasSomeParentWithClass, aa as isActive, ab as unflattenListsInHtml, ac as parseSizeUnit, ad as minMax, ae as getLineHeightValueString, af as InputRule, ag as kebabCase, ah as getListItemStyleDefinitions, ai as docxNumberigHelpers, aj as parseIndentElement, ak as combineIndents, al as StepMap, am as getColStyleDeclaration, an as SelectionRange, ao as Transform, ap as findParentNodeClosestToPos, aq as isInTable$1, ar as createColGroup, as as generateDocxRandomId, at as insertNewRelationship, au as htmlHandler } from "./converter-
|
|
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, N as NodeSelection, i as canSplit, j as defaultBlockAt$1, l as liftTarget, A as AllSelection, k as canJoin, m as joinPoint, n as Selection, r as replaceStep$1, F as Fragment, R as ReplaceAroundStep$1, o as Slice, 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, L as ListHelpers, y as findParentNode, 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 helpers, a2 as posToDOMRect, a3 as CommandService, a4 as SuperConverter, a5 as createDocument, a6 as createDocFromMarkdown, a7 as createDocFromHTML, a8 as EditorState, a9 as hasSomeParentWithClass, aa as isActive, ab as unflattenListsInHtml, ac as parseSizeUnit, ad as minMax, ae as getLineHeightValueString, af as InputRule, ag as kebabCase, ah as getListItemStyleDefinitions, ai as docxNumberigHelpers, aj as parseIndentElement, ak as combineIndents, al as StepMap, am as getColStyleDeclaration, an as SelectionRange, ao as Transform, ap as findParentNodeClosestToPos, aq as isInTable$1, ar as createColGroup, as as generateDocxRandomId, at as insertNewRelationship, au as htmlHandler } from "./converter-BPlR2rf0.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-DpSB-3Mq.js";
|
|
18
18
|
var GOOD_LEAF_SIZE = 200;
|
|
19
19
|
var RopeSequence = function RopeSequence2() {
|
|
20
20
|
};
|
|
@@ -13574,7 +13574,6 @@ const _Editor = class _Editor extends EventEmitter {
|
|
|
13574
13574
|
onListDefinitionsChange: () => null,
|
|
13575
13575
|
// async (file) => url;
|
|
13576
13576
|
handleImageUpload: null,
|
|
13577
|
-
// telemetry
|
|
13578
13577
|
telemetry: null,
|
|
13579
13578
|
// Docx xml updated by User
|
|
13580
13579
|
customUpdatedFiles: {},
|
|
@@ -14255,7 +14254,7 @@ const _Editor = class _Editor extends EventEmitter {
|
|
|
14255
14254
|
* @returns {Object | void} Migration results
|
|
14256
14255
|
*/
|
|
14257
14256
|
processCollaborationMigrations() {
|
|
14258
|
-
console.debug("[checkVersionMigrations] Current editor version", "0.16.
|
|
14257
|
+
console.debug("[checkVersionMigrations] Current editor version", "0.16.1");
|
|
14259
14258
|
if (!this.options.ydoc) return;
|
|
14260
14259
|
const metaMap = this.options.ydoc.getMap("meta");
|
|
14261
14260
|
let docVersion = metaMap.get("version");
|
|
@@ -25049,11 +25048,10 @@ const BlockNode = Extension.create({
|
|
|
25049
25048
|
appendTransaction: (transactions, _oldState, newState) => {
|
|
25050
25049
|
if (hasInitialized && !transactions.some((tr2) => tr2.docChanged)) return null;
|
|
25051
25050
|
if (hasInitialized && !checkForNewBlockNodesInTrs(transactions)) return null;
|
|
25052
|
-
|
|
25051
|
+
const { tr } = newState;
|
|
25053
25052
|
let changed = false;
|
|
25054
25053
|
newState.doc.descendants((node, pos) => {
|
|
25055
25054
|
if (!nodeAllowsSdBlockIdAttr(node) || !nodeNeedsSdBlockId(node)) return null;
|
|
25056
|
-
tr = tr ?? newState.tr;
|
|
25057
25055
|
tr.setNodeMarkup(
|
|
25058
25056
|
pos,
|
|
25059
25057
|
void 0,
|
|
@@ -25065,7 +25063,10 @@ const BlockNode = Extension.create({
|
|
|
25065
25063
|
);
|
|
25066
25064
|
changed = true;
|
|
25067
25065
|
});
|
|
25068
|
-
if (changed && !hasInitialized)
|
|
25066
|
+
if (changed && !hasInitialized) {
|
|
25067
|
+
hasInitialized = true;
|
|
25068
|
+
}
|
|
25069
|
+
tr.setStoredMarks(newState.tr.storedMarks);
|
|
25069
25070
|
return changed ? tr : null;
|
|
25070
25071
|
}
|
|
25071
25072
|
})
|
|
@@ -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-
|
|
3
|
-
import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-
|
|
2
|
+
import { H as process$1 } from "./converter-BPlR2rf0.js";
|
|
3
|
+
import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-BPPR4jya.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-BPPR4jya.js";
|
|
2
|
+
import "./chunks/converter-BPlR2rf0.js";
|
|
3
|
+
import "./chunks/docx-zipper-DpSB-3Mq.js";
|
|
4
4
|
export {
|
|
5
5
|
E as Editor
|
|
6
6
|
};
|