@harbour-enterprises/superdoc 0.21.0-next.8 → 0.21.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{PdfViewer-BR9iwva-.cjs → PdfViewer-B507M2sz.cjs} +1 -1
- package/dist/chunks/{PdfViewer-CwVW7MVJ.es.js → PdfViewer-DCKxnML6.es.js} +1 -1
- package/dist/chunks/{index-CjQDYBP2.es.js → index-DWR8syta.es.js} +40 -20
- package/dist/chunks/{index-BNA5J__D.cjs → index-djqw1MEc.cjs} +40 -20
- package/dist/chunks/{super-editor.es-C5dhT0uU.es.js → super-editor.es-D__G4K0i.es.js} +429 -115
- package/dist/chunks/{super-editor.es-Ct59l8tt.cjs → super-editor.es-HekVJogH.cjs} +429 -115
- package/dist/core/SuperDoc.d.ts +5 -0
- package/dist/core/SuperDoc.d.ts.map +1 -1
- package/dist/core/types/index.d.ts +4 -4
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/super-editor/ai-writer.es.js +2 -2
- package/dist/super-editor/chunks/{converter-DYAHhSrg.js → converter-B_pO-5Ls.js} +291 -67
- package/dist/super-editor/chunks/{docx-zipper-BDbCmfbE.js → docx-zipper-WaO3WaIz.js} +73 -12
- package/dist/super-editor/chunks/{editor-B1W7AdgQ.js → editor-DInvq7gF.js} +68 -30
- package/dist/super-editor/chunks/{toolbar-CCvglB_X.js → toolbar-C15EomPB.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/DocxZipper.d.ts +1 -1
- package/dist/super-editor/src/core/super-converter/SuperConverter.d.ts +1 -13
- package/dist/super-editor/src/core/super-converter/exporter.d.ts +1 -0
- package/dist/super-editor/src/core/super-converter/helpers/tableFallbackHelpers.d.ts +24 -0
- package/dist/super-editor/src/extensions/custom-selection/custom-selection.d.ts +5 -1
- package/dist/super-editor/src/utils/contextmenu-helpers.d.ts +24 -0
- package/dist/super-editor/super-editor.es.js +7 -15
- 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 +467 -133
- package/dist/superdoc.umd.js.map +1 -1
- package/package.json +2 -5
- package/dist/super-editor/src/components/slash-menu/contextmenu-helpers.d.ts +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { p as process$1, au as commonjsGlobal, B as Buffer, av as getDefaultExportFromCjs, aw as getContentTypesFromXml, ax as xmljs } from "./converter-
|
|
1
|
+
import { p as process$1, au as commonjsGlobal, B as Buffer, av as getDefaultExportFromCjs, aw as getContentTypesFromXml, ax as xmljs } from "./converter-B_pO-5Ls.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
|
}
|
|
@@ -2414,14 +2414,19 @@ class DocxZipper {
|
|
|
2414
2414
|
/**
|
|
2415
2415
|
* Update [Content_Types].xml with extensions of new Image annotations
|
|
2416
2416
|
*/
|
|
2417
|
-
async updateContentTypes(docx, media, fromJson) {
|
|
2417
|
+
async updateContentTypes(docx, media, fromJson, updatedDocs = {}) {
|
|
2418
|
+
const additionalPartNames = Object.keys(updatedDocs || {});
|
|
2418
2419
|
const newMediaTypes = Object.keys(media).map((name) => {
|
|
2419
2420
|
return this.getFileExtension(name);
|
|
2420
2421
|
}).filter(Boolean);
|
|
2421
2422
|
const contentTypesPath = "[Content_Types].xml";
|
|
2422
2423
|
let contentTypesXml;
|
|
2423
2424
|
if (fromJson) {
|
|
2424
|
-
|
|
2425
|
+
if (Array.isArray(docx.files)) {
|
|
2426
|
+
contentTypesXml = docx.files.find((file) => file.name === contentTypesPath)?.content || "";
|
|
2427
|
+
} else {
|
|
2428
|
+
contentTypesXml = docx.files?.[contentTypesPath] || "";
|
|
2429
|
+
}
|
|
2425
2430
|
} else contentTypesXml = await docx.file(contentTypesPath).async("string");
|
|
2426
2431
|
let typesString = "";
|
|
2427
2432
|
const defaultMediaTypes = getContentTypesFromXml(contentTypesXml);
|
|
@@ -2447,24 +2452,39 @@ class DocxZipper {
|
|
|
2447
2452
|
const hasCommentsExtensible = types.elements?.some(
|
|
2448
2453
|
(el) => el.name === "Override" && el.attributes.PartName === "/word/commentsExtensible.xml"
|
|
2449
2454
|
);
|
|
2450
|
-
|
|
2455
|
+
const hasFile = (filename) => {
|
|
2456
|
+
if (!docx?.files) return false;
|
|
2457
|
+
if (!fromJson) return Boolean(docx.files[filename]);
|
|
2458
|
+
if (Array.isArray(docx.files)) return docx.files.some((file) => file.name === filename);
|
|
2459
|
+
return Boolean(docx.files[filename]);
|
|
2460
|
+
};
|
|
2461
|
+
if (hasFile("word/comments.xml")) {
|
|
2451
2462
|
const commentsDef = `<Override PartName="/word/comments.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml" />`;
|
|
2452
2463
|
if (!hasComments) typesString += commentsDef;
|
|
2453
2464
|
}
|
|
2454
|
-
if (
|
|
2465
|
+
if (hasFile("word/commentsExtended.xml")) {
|
|
2455
2466
|
const commentsExtendedDef = `<Override PartName="/word/commentsExtended.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.commentsExtended+xml" />`;
|
|
2456
2467
|
if (!hasCommentsExtended) typesString += commentsExtendedDef;
|
|
2457
2468
|
}
|
|
2458
|
-
if (
|
|
2469
|
+
if (hasFile("word/commentsIds.xml")) {
|
|
2459
2470
|
const commentsIdsDef = `<Override PartName="/word/commentsIds.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.commentsIds+xml" />`;
|
|
2460
2471
|
if (!hasCommentsIds) typesString += commentsIdsDef;
|
|
2461
2472
|
}
|
|
2462
|
-
if (
|
|
2473
|
+
if (hasFile("word/commentsExtensible.xml")) {
|
|
2463
2474
|
const commentsExtendedDef = `<Override PartName="/word/commentsExtensible.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.commentsExtensible+xml" />`;
|
|
2464
2475
|
if (!hasCommentsExtensible) typesString += commentsExtendedDef;
|
|
2465
2476
|
}
|
|
2466
|
-
|
|
2467
|
-
|
|
2477
|
+
const partNames = new Set(additionalPartNames);
|
|
2478
|
+
if (docx?.files) {
|
|
2479
|
+
if (fromJson && Array.isArray(docx.files)) {
|
|
2480
|
+
docx.files.forEach((file) => partNames.add(file.name));
|
|
2481
|
+
} else {
|
|
2482
|
+
Object.keys(docx.files).forEach((key) => partNames.add(key));
|
|
2483
|
+
}
|
|
2484
|
+
}
|
|
2485
|
+
partNames.forEach((name) => {
|
|
2486
|
+
if (name.includes(".rels")) return;
|
|
2487
|
+
if (!name.includes("header") && !name.includes("footer")) return;
|
|
2468
2488
|
const hasExtensible = types.elements?.some(
|
|
2469
2489
|
(el) => el.name === "Override" && el.attributes.PartName === `/${name}`
|
|
2470
2490
|
);
|
|
@@ -2475,7 +2495,48 @@ class DocxZipper {
|
|
|
2475
2495
|
}
|
|
2476
2496
|
});
|
|
2477
2497
|
const beginningString = '<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">';
|
|
2478
|
-
|
|
2498
|
+
let updatedContentTypesXml = contentTypesXml.replace(beginningString, `${beginningString}${typesString}`);
|
|
2499
|
+
let relationshipsXml = updatedDocs["word/_rels/document.xml.rels"];
|
|
2500
|
+
if (!relationshipsXml) {
|
|
2501
|
+
if (fromJson) {
|
|
2502
|
+
if (Array.isArray(docx.files)) {
|
|
2503
|
+
relationshipsXml = docx.files.find((file) => file.name === "word/_rels/document.xml.rels")?.content;
|
|
2504
|
+
} else {
|
|
2505
|
+
relationshipsXml = docx.files?.["word/_rels/document.xml.rels"];
|
|
2506
|
+
}
|
|
2507
|
+
} else {
|
|
2508
|
+
relationshipsXml = await docx.file("word/_rels/document.xml.rels")?.async("string");
|
|
2509
|
+
}
|
|
2510
|
+
}
|
|
2511
|
+
if (relationshipsXml) {
|
|
2512
|
+
try {
|
|
2513
|
+
const relJson = xmljs.xml2js(relationshipsXml, { compact: false });
|
|
2514
|
+
const relationships = relJson.elements?.find((el) => el.name === "Relationships");
|
|
2515
|
+
relationships?.elements?.forEach((rel) => {
|
|
2516
|
+
const type = rel.attributes?.Type;
|
|
2517
|
+
const target = rel.attributes?.Target;
|
|
2518
|
+
if (!type || !target) return;
|
|
2519
|
+
const isHeader = type.includes("/header");
|
|
2520
|
+
const isFooter = type.includes("/footer");
|
|
2521
|
+
if (!isHeader && !isFooter) return;
|
|
2522
|
+
let sanitizedTarget = target.replace(/^\.\//, "");
|
|
2523
|
+
if (sanitizedTarget.startsWith("../")) sanitizedTarget = sanitizedTarget.slice(3);
|
|
2524
|
+
if (sanitizedTarget.startsWith("/")) sanitizedTarget = sanitizedTarget.slice(1);
|
|
2525
|
+
const partName = sanitizedTarget.startsWith("word/") ? sanitizedTarget : `word/${sanitizedTarget}`;
|
|
2526
|
+
partNames.add(partName);
|
|
2527
|
+
});
|
|
2528
|
+
} catch (error) {
|
|
2529
|
+
console.warn("Failed to parse document relationships while updating content types", error);
|
|
2530
|
+
}
|
|
2531
|
+
}
|
|
2532
|
+
partNames.forEach((name) => {
|
|
2533
|
+
if (name.includes(".rels")) return;
|
|
2534
|
+
if (!name.includes("header") && !name.includes("footer")) return;
|
|
2535
|
+
if (updatedContentTypesXml.includes(`PartName="/${name}"`)) return;
|
|
2536
|
+
const type = name.includes("header") ? "header" : "footer";
|
|
2537
|
+
const extendedDef = `<Override PartName="/${name}" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.${type}+xml"/>`;
|
|
2538
|
+
updatedContentTypesXml = updatedContentTypesXml.replace("</Types>", `${extendedDef}</Types>`);
|
|
2539
|
+
});
|
|
2479
2540
|
if (fromJson) return updatedContentTypesXml;
|
|
2480
2541
|
docx.file(contentTypesPath, updatedContentTypesXml);
|
|
2481
2542
|
}
|
|
@@ -2516,7 +2577,7 @@ class DocxZipper {
|
|
|
2516
2577
|
for (const [fontName, fontUintArray] of Object.entries(fonts)) {
|
|
2517
2578
|
zip.file(fontName, fontUintArray);
|
|
2518
2579
|
}
|
|
2519
|
-
await this.updateContentTypes(zip, media);
|
|
2580
|
+
await this.updateContentTypes(zip, media, false, updatedDocs);
|
|
2520
2581
|
return zip;
|
|
2521
2582
|
}
|
|
2522
2583
|
/**
|
|
@@ -2542,7 +2603,7 @@ class DocxZipper {
|
|
|
2542
2603
|
Object.keys(media).forEach((path) => {
|
|
2543
2604
|
unzippedOriginalDocx.file(path, media[path]);
|
|
2544
2605
|
});
|
|
2545
|
-
await this.updateContentTypes(unzippedOriginalDocx, media);
|
|
2606
|
+
await this.updateContentTypes(unzippedOriginalDocx, media, false, updatedDocs);
|
|
2546
2607
|
return unzippedOriginalDocx;
|
|
2547
2608
|
}
|
|
2548
2609
|
}
|
|
@@ -12,9 +12,9 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
12
12
|
var _Attribute_static, getGlobalAttributes_fn, getNodeAndMarksAttributes_fn, _Schema_static, createNodesSchema_fn, createMarksSchema_fn, _events, _ExtensionService_instances, setupExtensions_fn, attachEditorEvents_fn, _editor, _stateValidators, _xmlValidators, _requiredNodeTypes, _requiredMarkTypes, _SuperValidator_instances, initializeValidators_fn, collectValidatorRequirements_fn, analyzeDocument_fn, _commandService, _Editor_instances, initContainerElement_fn, init_fn, initRichText_fn, onFocus_fn, checkHeadless_fn, registerCopyHandler_fn, insertNewFileData_fn, registerPluginByNameIfNotExists_fn, createExtensionService_fn, createCommandService_fn, createConverter_fn, initMedia_fn, initFonts_fn, createSchema_fn, generatePmData_fn, createView_fn, onCollaborationReady_fn, initComments_fn, initPagination_fn, dispatchTransaction_fn, handleNodeSelection_fn, prepareDocumentForImport_fn, prepareDocumentForExport_fn, endCollaboration_fn, validateDocumentInit_fn, validateDocumentExport_fn, initDevTools_fn, _ListItemNodeView_instances, init_fn2, _FieldAnnotationView_instances, createAnnotation_fn, _AutoPageNumberNodeView_instances, renderDom_fn, scheduleUpdateNodeStyle_fn, _DocumentSectionView_instances, init_fn3, addToolTip_fn;
|
|
13
13
|
import * as Y from "yjs";
|
|
14
14
|
import { UndoManager, Item as Item$1, ContentType, Text as Text$1, XmlElement, encodeStateAsUpdate } from "yjs";
|
|
15
|
-
import { P as PluginKey, a as Plugin, M as Mapping, N as NodeSelection, S as Selection, T as TextSelection, b as Slice, D as DOMSerializer, F as Fragment, c as DOMParser$1, d as Mark$1, e as dropPoint, A as AllSelection, p as process$1, B as Buffer2, f as callOrGet, g as getExtensionConfigField, h as getMarkType, i as getMarksFromSelection, j as getNodeType, k as getSchemaTypeNameByName, l as Schema$1, m as cleanSchemaItem, n as canSplit, o as defaultBlockAt$1, q as liftTarget, r as canJoin, s as joinPoint, t as replaceStep$1, R as ReplaceAroundStep$1, u as isTextSelection, v as getMarkRange, w as isMarkActive, x as isNodeActive, y as deleteProps, z as processContent, C as ReplaceStep, E as NodeRange, G as findWrapping, L as ListHelpers, H as findParentNode, I as isMacOS, J as isIOS, K as getSchemaTypeByName, O as inputRulesPlugin, Q as TrackDeleteMarkName, U as TrackInsertMarkName, V as v4, W as TrackFormatMarkName, X as comments_module_events, Y as findMark, Z as objectIncludes, _ as AddMarkStep, $ as RemoveMarkStep, a0 as twipsToLines, a1 as pixelsToTwips, a2 as helpers, a3 as posToDOMRect, a4 as CommandService, a5 as SuperConverter, a6 as createDocument, a7 as createDocFromMarkdown, a8 as createDocFromHTML, a9 as EditorState, aa as hasSomeParentWithClass, ab as isActive, ac as unflattenListsInHtml, ad as parseSizeUnit, ae as minMax, af as getLineHeightValueString, ag as InputRule, ah as kebabCase, ai as findParentNodeClosestToPos, aj as getListItemStyleDefinitions, ak as docxNumberigHelpers, al as parseIndentElement, am as combineIndents, an as SelectionRange, ao as Transform, ap as isInTable$1, aq as generateDocxRandomId, ar as insertNewRelationship, as as updateDOMAttributes, at as htmlHandler } from "./converter-
|
|
15
|
+
import { P as PluginKey, a as Plugin, M as Mapping, N as NodeSelection, S as Selection, T as TextSelection, b as Slice, D as DOMSerializer, F as Fragment, c as DOMParser$1, d as Mark$1, e as dropPoint, A as AllSelection, p as process$1, B as Buffer2, f as callOrGet, g as getExtensionConfigField, h as getMarkType, i as getMarksFromSelection, j as getNodeType, k as getSchemaTypeNameByName, l as Schema$1, m as cleanSchemaItem, n as canSplit, o as defaultBlockAt$1, q as liftTarget, r as canJoin, s as joinPoint, t as replaceStep$1, R as ReplaceAroundStep$1, u as isTextSelection, v as getMarkRange, w as isMarkActive, x as isNodeActive, y as deleteProps, z as processContent, C as ReplaceStep, E as NodeRange, G as findWrapping, L as ListHelpers, H as findParentNode, I as isMacOS, J as isIOS, K as getSchemaTypeByName, O as inputRulesPlugin, Q as TrackDeleteMarkName, U as TrackInsertMarkName, V as v4, W as TrackFormatMarkName, X as comments_module_events, Y as findMark, Z as objectIncludes, _ as AddMarkStep, $ as RemoveMarkStep, a0 as twipsToLines, a1 as pixelsToTwips, a2 as helpers, a3 as posToDOMRect, a4 as CommandService, a5 as SuperConverter, a6 as createDocument, a7 as createDocFromMarkdown, a8 as createDocFromHTML, a9 as EditorState, aa as hasSomeParentWithClass, ab as isActive, ac as unflattenListsInHtml, ad as parseSizeUnit, ae as minMax, af as getLineHeightValueString, ag as InputRule, ah as kebabCase, ai as findParentNodeClosestToPos, aj as getListItemStyleDefinitions, ak as docxNumberigHelpers, al as parseIndentElement, am as combineIndents, an as SelectionRange, ao as Transform, ap as isInTable$1, aq as generateDocxRandomId, ar as insertNewRelationship, as as updateDOMAttributes, at as htmlHandler } from "./converter-B_pO-5Ls.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-WaO3WaIz.js";
|
|
18
18
|
var GOOD_LEAF_SIZE = 200;
|
|
19
19
|
var RopeSequence = function RopeSequence2() {
|
|
20
20
|
};
|
|
@@ -11675,9 +11675,11 @@ const toggleHeaderFooterEditMode = ({ editor, focusedSectionEditor, isEditMode,
|
|
|
11675
11675
|
item.editor.view.dom.setAttribute("documentmode", documentMode);
|
|
11676
11676
|
});
|
|
11677
11677
|
if (isEditMode) {
|
|
11678
|
-
const pm =
|
|
11679
|
-
pm
|
|
11680
|
-
|
|
11678
|
+
const pm = editor.view?.dom || editor.options.element?.querySelector?.(".ProseMirror");
|
|
11679
|
+
if (pm) {
|
|
11680
|
+
pm.classList.add("header-footer-edit");
|
|
11681
|
+
pm.setAttribute("aria-readonly", true);
|
|
11682
|
+
}
|
|
11681
11683
|
}
|
|
11682
11684
|
if (focusedSectionEditor) {
|
|
11683
11685
|
focusedSectionEditor.view.focus();
|
|
@@ -12707,6 +12709,7 @@ const generateTableIfNecessary = ({ tableNode, annotationValues, tr, state }) =>
|
|
|
12707
12709
|
const mappedRowStart = tr.mapping.map(absoluteRowStart);
|
|
12708
12710
|
const rowEnd = mappedRowStart + rowNode.nodeSize;
|
|
12709
12711
|
tr.replaceWith(mappedRowStart, rowEnd, Fragment.from(newRows));
|
|
12712
|
+
tr.setMeta("tableGeneration", true);
|
|
12710
12713
|
} catch (error) {
|
|
12711
12714
|
console.error("Error during row generation:", error);
|
|
12712
12715
|
throw error;
|
|
@@ -13111,7 +13114,7 @@ function findFieldAnnotationsBetween(from2, to, doc2) {
|
|
|
13111
13114
|
}
|
|
13112
13115
|
function findRemovedFieldAnnotations(tr) {
|
|
13113
13116
|
let removedNodes = [];
|
|
13114
|
-
if (!tr.steps.length || tr.meta && !Object.keys(tr.meta).every((meta) => ["inputType", "uiEvent", "paste"].includes(meta)) || ["historyUndo", "historyRedo"].includes(tr.getMeta("inputType")) || ["drop"].includes(tr.getMeta("uiEvent")) || tr.getMeta("fieldAnnotationUpdate") === true) {
|
|
13117
|
+
if (!tr.steps.length || tr.meta && !Object.keys(tr.meta).every((meta) => ["inputType", "uiEvent", "paste"].includes(meta)) || ["historyUndo", "historyRedo"].includes(tr.getMeta("inputType")) || ["drop"].includes(tr.getMeta("uiEvent")) || tr.getMeta("fieldAnnotationUpdate") === true || tr.getMeta("tableGeneration") === true) {
|
|
13115
13118
|
return removedNodes;
|
|
13116
13119
|
}
|
|
13117
13120
|
const hasDeletion = transactionDeletedAnything(tr);
|
|
@@ -14332,7 +14335,7 @@ const _Editor = class _Editor extends EventEmitter {
|
|
|
14332
14335
|
setDocumentMode(documentMode) {
|
|
14333
14336
|
let cleanedMode = documentMode?.toLowerCase() || "editing";
|
|
14334
14337
|
if (!this.extensionService || !this.state) return;
|
|
14335
|
-
const pm =
|
|
14338
|
+
const pm = this.view?.dom || this.options.element?.querySelector?.(".ProseMirror");
|
|
14336
14339
|
if (this.options.role === "viewer") cleanedMode = "viewing";
|
|
14337
14340
|
if (this.options.role === "suggester" && cleanedMode === "editing") cleanedMode = "suggesting";
|
|
14338
14341
|
if (cleanedMode === "viewing") {
|
|
@@ -14820,7 +14823,8 @@ const _Editor = class _Editor extends EventEmitter {
|
|
|
14820
14823
|
files: this.options.content
|
|
14821
14824
|
},
|
|
14822
14825
|
media,
|
|
14823
|
-
true
|
|
14826
|
+
true,
|
|
14827
|
+
updatedDocs
|
|
14824
14828
|
);
|
|
14825
14829
|
return updatedDocs;
|
|
14826
14830
|
}
|
|
@@ -14886,7 +14890,7 @@ const _Editor = class _Editor extends EventEmitter {
|
|
|
14886
14890
|
* @returns {Object | void} Migration results
|
|
14887
14891
|
*/
|
|
14888
14892
|
processCollaborationMigrations() {
|
|
14889
|
-
console.debug("[checkVersionMigrations] Current editor version", "0.
|
|
14893
|
+
console.debug("[checkVersionMigrations] Current editor version", "0.21.1");
|
|
14890
14894
|
if (!this.options.ydoc) return;
|
|
14891
14895
|
const metaMap = this.options.ydoc.getMap("meta");
|
|
14892
14896
|
let docVersion = metaMap.get("version");
|
|
@@ -15380,9 +15384,11 @@ createView_fn = function(element) {
|
|
|
15380
15384
|
isEditMode: false,
|
|
15381
15385
|
documentMode: this.options.documentMode
|
|
15382
15386
|
});
|
|
15383
|
-
const pm =
|
|
15384
|
-
pm
|
|
15385
|
-
|
|
15387
|
+
const pm = this.view?.dom || this.options.element?.querySelector?.(".ProseMirror");
|
|
15388
|
+
if (pm) {
|
|
15389
|
+
pm.classList.remove("header-footer-edit");
|
|
15390
|
+
pm.setAttribute("aria-readonly", false);
|
|
15391
|
+
}
|
|
15386
15392
|
}
|
|
15387
15393
|
setWordSelection(view, pos);
|
|
15388
15394
|
}
|
|
@@ -17480,15 +17486,31 @@ const intToJapaneseCounting = (num) => {
|
|
|
17480
17486
|
}
|
|
17481
17487
|
return result;
|
|
17482
17488
|
};
|
|
17483
|
-
const
|
|
17484
|
-
|
|
17489
|
+
const isKeyboardInvocation = (event) => {
|
|
17490
|
+
return event.type === "contextmenu" && typeof event.detail === "number" && event.detail === 0 && (event.button === 0 || event.button === void 0) && event.clientX === 0 && event.clientY === 0;
|
|
17491
|
+
};
|
|
17492
|
+
const prefersNativeMenu = (event) => {
|
|
17485
17493
|
if (!event) return false;
|
|
17486
17494
|
if (event.ctrlKey || event.metaKey) {
|
|
17487
17495
|
return true;
|
|
17488
17496
|
}
|
|
17489
|
-
|
|
17490
|
-
return Boolean(isKeyboardInvocation);
|
|
17497
|
+
return isKeyboardInvocation(event);
|
|
17491
17498
|
};
|
|
17499
|
+
const shouldAllowNativeContextMenu = (event) => {
|
|
17500
|
+
return prefersNativeMenu(event);
|
|
17501
|
+
};
|
|
17502
|
+
const shouldBypassContextMenu = shouldAllowNativeContextMenu;
|
|
17503
|
+
const DEFAULT_SELECTION_STATE = Object.freeze({
|
|
17504
|
+
focused: false,
|
|
17505
|
+
preservedSelection: null,
|
|
17506
|
+
showVisualSelection: false,
|
|
17507
|
+
skipFocusReset: false
|
|
17508
|
+
});
|
|
17509
|
+
const normalizeSelectionState = (state = {}) => ({
|
|
17510
|
+
...DEFAULT_SELECTION_STATE,
|
|
17511
|
+
...state
|
|
17512
|
+
});
|
|
17513
|
+
const CustomSelectionPluginKey = new PluginKey("CustomSelection");
|
|
17492
17514
|
const handleClickOutside = (event, editor) => {
|
|
17493
17515
|
const editorElem = editor?.options?.element;
|
|
17494
17516
|
if (!editorElem) return;
|
|
@@ -17525,11 +17547,7 @@ const CustomSelection = Extension.create({
|
|
|
17525
17547
|
const customSelectionPlugin = new Plugin({
|
|
17526
17548
|
key: CustomSelectionPluginKey,
|
|
17527
17549
|
state: {
|
|
17528
|
-
init: () => ({
|
|
17529
|
-
focused: false,
|
|
17530
|
-
preservedSelection: null,
|
|
17531
|
-
showVisualSelection: false
|
|
17532
|
-
}),
|
|
17550
|
+
init: () => ({ ...DEFAULT_SELECTION_STATE }),
|
|
17533
17551
|
apply: (tr, value) => {
|
|
17534
17552
|
const meta = getFocusMeta(tr);
|
|
17535
17553
|
if (meta !== void 0) {
|
|
@@ -17560,7 +17578,8 @@ const CustomSelection = Extension.create({
|
|
|
17560
17578
|
setFocusMeta(view.state.tr, {
|
|
17561
17579
|
focused: true,
|
|
17562
17580
|
preservedSelection: selection,
|
|
17563
|
-
showVisualSelection: true
|
|
17581
|
+
showVisualSelection: true,
|
|
17582
|
+
skipFocusReset: true
|
|
17564
17583
|
})
|
|
17565
17584
|
);
|
|
17566
17585
|
}
|
|
@@ -17581,7 +17600,8 @@ const CustomSelection = Extension.create({
|
|
|
17581
17600
|
setFocusMeta(view.state.tr, {
|
|
17582
17601
|
focused: true,
|
|
17583
17602
|
preservedSelection: selection2,
|
|
17584
|
-
showVisualSelection: true
|
|
17603
|
+
showVisualSelection: true,
|
|
17604
|
+
skipFocusReset: true
|
|
17585
17605
|
})
|
|
17586
17606
|
);
|
|
17587
17607
|
this.editor.setOptions({
|
|
@@ -17604,7 +17624,8 @@ const CustomSelection = Extension.create({
|
|
|
17604
17624
|
setFocusMeta(view.state.tr, {
|
|
17605
17625
|
focused: true,
|
|
17606
17626
|
preservedSelection: selection,
|
|
17607
|
-
showVisualSelection: true
|
|
17627
|
+
showVisualSelection: true,
|
|
17628
|
+
skipFocusReset: false
|
|
17608
17629
|
})
|
|
17609
17630
|
);
|
|
17610
17631
|
this.editor.setOptions({
|
|
@@ -17622,7 +17643,8 @@ const CustomSelection = Extension.create({
|
|
|
17622
17643
|
setFocusMeta(view.state.tr, {
|
|
17623
17644
|
focused: true,
|
|
17624
17645
|
preservedSelection: selection,
|
|
17625
|
-
showVisualSelection: true
|
|
17646
|
+
showVisualSelection: true,
|
|
17647
|
+
skipFocusReset: false
|
|
17626
17648
|
})
|
|
17627
17649
|
);
|
|
17628
17650
|
}
|
|
@@ -17633,7 +17655,8 @@ const CustomSelection = Extension.create({
|
|
|
17633
17655
|
setFocusMeta(view.state.tr, {
|
|
17634
17656
|
focused: false,
|
|
17635
17657
|
preservedSelection: null,
|
|
17636
|
-
showVisualSelection: false
|
|
17658
|
+
showVisualSelection: false,
|
|
17659
|
+
skipFocusReset: false
|
|
17637
17660
|
})
|
|
17638
17661
|
);
|
|
17639
17662
|
if (!selection.empty && !this.editor.options.element?.contains(target)) {
|
|
@@ -17650,12 +17673,20 @@ const CustomSelection = Extension.create({
|
|
|
17650
17673
|
const isElement2 = target instanceof Element;
|
|
17651
17674
|
const isToolbarBtn = isElement2 && isToolbarButton(target);
|
|
17652
17675
|
const isToolbarInp = isElement2 && isToolbarInput(target);
|
|
17676
|
+
const focusState = getFocusState(view.state);
|
|
17677
|
+
if (focusState?.skipFocusReset) {
|
|
17678
|
+
view.dispatch(
|
|
17679
|
+
setFocusMeta(view.state.tr, normalizeSelectionState({ ...focusState, skipFocusReset: false }))
|
|
17680
|
+
);
|
|
17681
|
+
return false;
|
|
17682
|
+
}
|
|
17653
17683
|
if (!isToolbarBtn && !isToolbarInp) {
|
|
17654
17684
|
view.dispatch(
|
|
17655
17685
|
setFocusMeta(view.state.tr, {
|
|
17656
17686
|
focused: false,
|
|
17657
17687
|
preservedSelection: null,
|
|
17658
|
-
showVisualSelection: false
|
|
17688
|
+
showVisualSelection: false,
|
|
17689
|
+
skipFocusReset: false
|
|
17659
17690
|
})
|
|
17660
17691
|
);
|
|
17661
17692
|
}
|
|
@@ -17666,12 +17697,16 @@ const CustomSelection = Extension.create({
|
|
|
17666
17697
|
const isToolbarBtn = isElement2 && isToolbarButton(target);
|
|
17667
17698
|
const isToolbarInp = isElement2 && isToolbarInput(target);
|
|
17668
17699
|
const state = getFocusState(view.state);
|
|
17700
|
+
if (state?.skipFocusReset) {
|
|
17701
|
+
return false;
|
|
17702
|
+
}
|
|
17669
17703
|
if (isToolbarBtn || isToolbarInp) {
|
|
17670
17704
|
view.dispatch(
|
|
17671
17705
|
setFocusMeta(view.state.tr, {
|
|
17672
17706
|
focused: true,
|
|
17673
17707
|
preservedSelection: state.preservedSelection || view.state.selection,
|
|
17674
|
-
showVisualSelection: true
|
|
17708
|
+
showVisualSelection: true,
|
|
17709
|
+
skipFocusReset: false
|
|
17675
17710
|
})
|
|
17676
17711
|
);
|
|
17677
17712
|
} else {
|
|
@@ -17679,7 +17714,8 @@ const CustomSelection = Extension.create({
|
|
|
17679
17714
|
setFocusMeta(view.state.tr, {
|
|
17680
17715
|
focused: false,
|
|
17681
17716
|
preservedSelection: null,
|
|
17682
|
-
showVisualSelection: false
|
|
17717
|
+
showVisualSelection: false,
|
|
17718
|
+
skipFocusReset: false
|
|
17683
17719
|
})
|
|
17684
17720
|
);
|
|
17685
17721
|
}
|
|
@@ -33454,7 +33490,8 @@ const nodeResizer = (nodeNames = ["image"], editor) => {
|
|
|
33454
33490
|
const prevSelection = prevState.selection;
|
|
33455
33491
|
if (selection.from !== prevSelection.from || selection.to !== prevSelection.to) {
|
|
33456
33492
|
setTimeout(() => {
|
|
33457
|
-
const
|
|
33493
|
+
const searchRoot = editorView?.dom;
|
|
33494
|
+
const selectedResizableWrapper = searchRoot?.querySelector(".sd-editor-resizable-wrapper");
|
|
33458
33495
|
if (selectedResizableWrapper) {
|
|
33459
33496
|
showResizeHandles(view2, selectedResizableWrapper);
|
|
33460
33497
|
} else {
|
|
@@ -33768,6 +33805,7 @@ export {
|
|
|
33768
33805
|
SectionHelpers as o,
|
|
33769
33806
|
getAllowedImageDimensions as p,
|
|
33770
33807
|
replaceSelectionWithImagePlaceholder as r,
|
|
33808
|
+
shouldBypassContextMenu as s,
|
|
33771
33809
|
useHighContrastMode as u,
|
|
33772
33810
|
yUndoPluginKey as y
|
|
33773
33811
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, normalizeClass, normalizeStyle, ref, withKeys, unref, withModifiers, createBlock, toDisplayString, withDirectives, vModelText, nextTick, getCurrentInstance, createVNode, readonly, watch, onMounted, onBeforeUnmount, reactive, onBeforeMount, inject, onActivated, onDeactivated, createTextVNode, Fragment, Comment, defineComponent, provide, h, Teleport, toRef, renderSlot, isVNode, shallowRef, watchEffect, mergeProps, Transition, vShow, cloneVNode, Text, renderList, withCtx } from "vue";
|
|
2
|
-
import { p as process$1 } from "./converter-
|
|
3
|
-
import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-
|
|
2
|
+
import { p as process$1 } from "./converter-B_pO-5Ls.js";
|
|
3
|
+
import { _ as _export_sfc, u as useHighContrastMode, g as global$1 } from "./editor-DInvq7gF.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-DInvq7gF.js";
|
|
2
|
+
import "./chunks/converter-B_pO-5Ls.js";
|
|
3
|
+
import "./chunks/docx-zipper-WaO3WaIz.js";
|
|
4
4
|
export {
|
|
5
5
|
E as Editor
|
|
6
6
|
};
|
|
@@ -33,7 +33,7 @@ declare class DocxZipper {
|
|
|
33
33
|
/**
|
|
34
34
|
* Update [Content_Types].xml with extensions of new Image annotations
|
|
35
35
|
*/
|
|
36
|
-
updateContentTypes(docx: any, media: any, fromJson: any): Promise<any>;
|
|
36
|
+
updateContentTypes(docx: any, media: any, fromJson: any, updatedDocs?: {}): Promise<any>;
|
|
37
37
|
unzip(file: any): Promise<any>;
|
|
38
38
|
updateZip({ docx, updatedDocs, originalDocxFile, media, fonts, isHeadless }: {
|
|
39
39
|
docx: any;
|
|
@@ -98,19 +98,7 @@ export class SuperConverter {
|
|
|
98
98
|
get docxHelpers(): any;
|
|
99
99
|
parseFromXml(): void;
|
|
100
100
|
parseXmlToJson(xml: any): any;
|
|
101
|
-
getDocumentDefaultStyles(): {
|
|
102
|
-
fontSizePt?: undefined;
|
|
103
|
-
kern?: undefined;
|
|
104
|
-
typeface?: undefined;
|
|
105
|
-
panose?: undefined;
|
|
106
|
-
fontFamilyCss?: undefined;
|
|
107
|
-
} | {
|
|
108
|
-
fontSizePt: number;
|
|
109
|
-
kern: any;
|
|
110
|
-
typeface: any;
|
|
111
|
-
panose: any;
|
|
112
|
-
fontFamilyCss: any;
|
|
113
|
-
};
|
|
101
|
+
getDocumentDefaultStyles(): {};
|
|
114
102
|
getDocumentFonts(): string;
|
|
115
103
|
getDocumentInternalId(): void;
|
|
116
104
|
createDocumentIdElement(): {
|
|
@@ -103,6 +103,7 @@ export function translateHardBreak(params: any): {
|
|
|
103
103
|
};
|
|
104
104
|
}[];
|
|
105
105
|
};
|
|
106
|
+
export function ensureSectionLayoutDefaults(sectPr: any, converter: any): any;
|
|
106
107
|
export function isLineBreakOnlyRun(node: any): any;
|
|
107
108
|
export class DocxExporter {
|
|
108
109
|
constructor(converter: any);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export const DEFAULT_PAGE_WIDTH_TWIPS: 12240;
|
|
2
|
+
export const DEFAULT_PAGE_MARGIN_TWIPS: 1440;
|
|
3
|
+
export const DEFAULT_CONTENT_WIDTH_TWIPS: number;
|
|
4
|
+
export const MIN_COLUMN_WIDTH_TWIPS: number;
|
|
5
|
+
export function pctToPercent(value: any): number;
|
|
6
|
+
export function resolveContentWidthTwips(): number;
|
|
7
|
+
export function resolveMeasurementWidthPx(measurement: any): number;
|
|
8
|
+
export function countColumnsInRow(row: any): any;
|
|
9
|
+
export function buildFallbackGridForTable({ params, rows, tableWidth, tableWidthMeasurement }: {
|
|
10
|
+
params: Partial<import("@translator").SCDecoderConfig>;
|
|
11
|
+
rows: any[];
|
|
12
|
+
tableWidth?: {
|
|
13
|
+
width?: number | null;
|
|
14
|
+
};
|
|
15
|
+
tableWidthMeasurement?: {
|
|
16
|
+
value?: number;
|
|
17
|
+
type?: string;
|
|
18
|
+
};
|
|
19
|
+
}): {
|
|
20
|
+
grid: Array<{
|
|
21
|
+
col: number;
|
|
22
|
+
}>;
|
|
23
|
+
columnWidths: number[];
|
|
24
|
+
} | null;
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* @property {boolean} focused - Whether editor is focused
|
|
5
5
|
* @property {Object|null} preservedSelection - Stored selection
|
|
6
6
|
* @property {boolean} showVisualSelection - Whether to show selection decoration
|
|
7
|
+
* @property {boolean} skipFocusReset - Whether to skip clearing selection on next focus
|
|
7
8
|
*/
|
|
8
9
|
/**
|
|
9
10
|
* Configuration options for CustomSelection
|
|
@@ -22,7 +23,6 @@
|
|
|
22
23
|
* @private
|
|
23
24
|
*/
|
|
24
25
|
export const CustomSelectionPluginKey: PluginKey<any>;
|
|
25
|
-
export function shouldAllowNativeContextMenu(event: MouseEvent): boolean;
|
|
26
26
|
/**
|
|
27
27
|
* @module CustomSelection
|
|
28
28
|
* @sidebarTitle Custom Selection
|
|
@@ -45,6 +45,10 @@ export type SelectionState = {
|
|
|
45
45
|
* - Whether to show selection decoration
|
|
46
46
|
*/
|
|
47
47
|
showVisualSelection: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* - Whether to skip clearing selection on next focus
|
|
50
|
+
*/
|
|
51
|
+
skipFocusReset: boolean;
|
|
48
52
|
};
|
|
49
53
|
/**
|
|
50
54
|
* Configuration options for CustomSelection
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determine if the native context menu should be allowed to appear.
|
|
3
|
+
* We bypass the custom menu when the user explicitly requests the system menu
|
|
4
|
+
* via modifier keys or when the event originated from a keyboard invocation.
|
|
5
|
+
* @param {MouseEvent} event
|
|
6
|
+
* @returns {boolean}
|
|
7
|
+
*/
|
|
8
|
+
export function shouldBypassContextMenu(event: MouseEvent): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Determine if the native context menu should be allowed to appear.
|
|
11
|
+
* We bypass the custom menu when the user explicitly requests the system menu
|
|
12
|
+
* via modifier keys or when the event originated from a keyboard invocation.
|
|
13
|
+
* @param {MouseEvent} event
|
|
14
|
+
* @returns {boolean}
|
|
15
|
+
*/
|
|
16
|
+
export function shouldUseNativeContextMenu(event: MouseEvent): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Determine if the native context menu should be allowed to appear.
|
|
19
|
+
* We bypass the custom menu when the user explicitly requests the system menu
|
|
20
|
+
* via modifier keys or when the event originated from a keyboard invocation.
|
|
21
|
+
* @param {MouseEvent} event
|
|
22
|
+
* @returns {boolean}
|
|
23
|
+
*/
|
|
24
|
+
export function shouldAllowNativeContextMenu(event: MouseEvent): boolean;
|
|
@@ -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 { av as getDefaultExportFromCjs, V as v4, T as TextSelection$1, v as getMarkRange, ay as vClickOutside, H as findParentNode, az as getActiveFormatting, ap as isInTable, aA as readFromClipboard, aB as handleClipboardPaste, aC as getFileObject, aD as runPropertyTranslators, aE as translator, aF as translator$1, aG as translator$2, aH as translator$3, aI as translator$4, aJ as translator$5, aK as translator$6, aL as translator$7, aM as translator$8, aN as translator$9, aO as translator$a, aP as translator$b, aQ as translator$c, aR as translator$d, aS as translator$e, aT as translator$f, aU as translator$g, aV as translator$h, aW as translator$i, aX as translator$j, aY as translator$k, aZ as translator$l, a_ as translator$m, a$ as translator$n, b0 as translator$o, b1 as translator$p, b2 as translator$q, b3 as translator$r, b4 as translator$s, b5 as translator$t, b6 as translator$u, b7 as translator$v, b8 as translator$w, b9 as translator$x, ba as translator$y, bb as translator$z, bc as translator$A, bd as translator$B, be as translator$C, bf as translator$D, bg as translator$E, bh as translator$F, bi as translator$G, bj as translator$H, bk as translator$I, bl as translator$J, bm as translator$K, bn as translator$L, bo as translator$M, bp as translator$N, bq as translator$O, br as translator$P, bs as translator$Q, bt as translator$R, bu as translator$S, bv as translator$T, bw as translator$U, bx as translator$V, by as translator$W, bz as translator$X, bA as translator$Y, bB as translator$Z, bC as translator$_, bD as translator$$, bE as translator$10, a as Plugin } from "./chunks/converter-
|
|
13
|
-
import { bF, a5, i, a2 } from "./chunks/converter-
|
|
14
|
-
import { _ as _export_sfc, u as useHighContrastMode, a as getQuickFormatList, b as generateLinkedStyleString, c as getFileOpener, d as checkAndProcessImage, r as replaceSelectionWithImagePlaceholder, e as uploadAndInsertImage, y as yUndoPluginKey, f as undoDepth, h as redoDepth, S as SlashMenuPluginKey, E as Editor, i as getStarterExtensions, P as Placeholder, j as getRichTextExtensions, M as Mark, k as Extension, A as Attribute, N as Node } from "./chunks/editor-
|
|
15
|
-
import { n, C, o, T, l, p, m } from "./chunks/editor-
|
|
12
|
+
import { av as getDefaultExportFromCjs, V as v4, T as TextSelection$1, v as getMarkRange, ay as vClickOutside, H as findParentNode, az as getActiveFormatting, ap as isInTable, aA as readFromClipboard, aB as handleClipboardPaste, aC as getFileObject, aD as runPropertyTranslators, aE as translator, aF as translator$1, aG as translator$2, aH as translator$3, aI as translator$4, aJ as translator$5, aK as translator$6, aL as translator$7, aM as translator$8, aN as translator$9, aO as translator$a, aP as translator$b, aQ as translator$c, aR as translator$d, aS as translator$e, aT as translator$f, aU as translator$g, aV as translator$h, aW as translator$i, aX as translator$j, aY as translator$k, aZ as translator$l, a_ as translator$m, a$ as translator$n, b0 as translator$o, b1 as translator$p, b2 as translator$q, b3 as translator$r, b4 as translator$s, b5 as translator$t, b6 as translator$u, b7 as translator$v, b8 as translator$w, b9 as translator$x, ba as translator$y, bb as translator$z, bc as translator$A, bd as translator$B, be as translator$C, bf as translator$D, bg as translator$E, bh as translator$F, bi as translator$G, bj as translator$H, bk as translator$I, bl as translator$J, bm as translator$K, bn as translator$L, bo as translator$M, bp as translator$N, bq as translator$O, br as translator$P, bs as translator$Q, bt as translator$R, bu as translator$S, bv as translator$T, bw as translator$U, bx as translator$V, by as translator$W, bz as translator$X, bA as translator$Y, bB as translator$Z, bC as translator$_, bD as translator$$, bE as translator$10, a as Plugin } from "./chunks/converter-B_pO-5Ls.js";
|
|
13
|
+
import { bF, a5, i, a2 } from "./chunks/converter-B_pO-5Ls.js";
|
|
14
|
+
import { _ as _export_sfc, u as useHighContrastMode, a as getQuickFormatList, b as generateLinkedStyleString, c as getFileOpener, d as checkAndProcessImage, r as replaceSelectionWithImagePlaceholder, e as uploadAndInsertImage, y as yUndoPluginKey, f as undoDepth, h as redoDepth, s as shouldBypassContextMenu, S as SlashMenuPluginKey, E as Editor, i as getStarterExtensions, P as Placeholder, j as getRichTextExtensions, M as Mark, k as Extension, A as Attribute, N as Node } from "./chunks/editor-DInvq7gF.js";
|
|
15
|
+
import { n, C, o, T, l, p, m } from "./chunks/editor-DInvq7gF.js";
|
|
16
16
|
import { ref, onMounted, createElementBlock, openBlock, normalizeClass, unref, Fragment, renderList, createElementVNode, withModifiers, toDisplayString, createCommentVNode, normalizeStyle, computed, watch, withDirectives, withKeys, vModelText, createTextVNode, createVNode, h, createApp, markRaw, nextTick, onBeforeUnmount, reactive, onUnmounted, renderSlot, shallowRef, createBlock, withCtx, resolveDynamicComponent, normalizeProps, guardReactiveProps } from "vue";
|
|
17
|
-
import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, m as magicWandIcon, p as plusIconSvg, a as trashIconSvg, l as linkIconSvg, b as tableIconSvg, c as scissorsIconSvg, d as copyIconSvg, e as pasteIconSvg, f as borderNoneIconSvg, g as arrowsToDotIconSvg, h as arrowsLeftRightIconSvg, w as wrenchIconSvg, u as useMessage, N as NSkeleton } from "./chunks/toolbar-
|
|
17
|
+
import { t as toolbarIcons, s as sanitizeNumber, T as Toolbar, m as magicWandIcon, p as plusIconSvg, a as trashIconSvg, l as linkIconSvg, b as tableIconSvg, c as scissorsIconSvg, d as copyIconSvg, e as pasteIconSvg, f as borderNoneIconSvg, g as arrowsToDotIconSvg, h as arrowsLeftRightIconSvg, w as wrenchIconSvg, u as useMessage, N as NSkeleton } from "./chunks/toolbar-C15EomPB.js";
|
|
18
18
|
import AIWriter from "./ai-writer.es.js";
|
|
19
|
-
import { D } from "./chunks/docx-zipper-
|
|
19
|
+
import { D } from "./chunks/docx-zipper-WaO3WaIz.js";
|
|
20
20
|
import { createZip } from "./file-zipper.es.js";
|
|
21
21
|
var eventemitter3 = { exports: {} };
|
|
22
22
|
var hasRequiredEventemitter3;
|
|
@@ -2584,7 +2584,7 @@ class SuperToolbar extends EventEmitter {
|
|
|
2584
2584
|
if (!argument) return;
|
|
2585
2585
|
item.onActivate({ zoom: argument });
|
|
2586
2586
|
this.emit("superdoc-command", { item, argument });
|
|
2587
|
-
const layers =
|
|
2587
|
+
const layers = this.superdoc.element?.querySelector(".layers");
|
|
2588
2588
|
if (!layers) return;
|
|
2589
2589
|
const isMobileDevice = typeof screen.orientation !== "undefined";
|
|
2590
2590
|
const isSmallScreen = window.matchMedia("(max-width: 834px)").matches;
|
|
@@ -3695,14 +3695,6 @@ function getStructureFromResolvedPos(state, pos) {
|
|
|
3695
3695
|
return null;
|
|
3696
3696
|
}
|
|
3697
3697
|
}
|
|
3698
|
-
const shouldBypassContextMenu = (event) => {
|
|
3699
|
-
if (!event) return false;
|
|
3700
|
-
if (event.ctrlKey || event.metaKey) {
|
|
3701
|
-
return true;
|
|
3702
|
-
}
|
|
3703
|
-
const isKeyboardInvocation = event.type === "contextmenu" && typeof event.detail === "number" && event.detail === 0 && (event.button === 0 || event.button === void 0) && event.clientX === 0 && event.clientY === 0;
|
|
3704
|
-
return Boolean(isKeyboardInvocation);
|
|
3705
|
-
};
|
|
3706
3698
|
const isModuleEnabled = (editorOptions, moduleName) => {
|
|
3707
3699
|
switch (moduleName) {
|
|
3708
3700
|
case "ai":
|
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-HekVJogH.cjs");
|
|
4
4
|
require("./chunks/vue-DWle4Cai.cjs");
|
|
5
5
|
exports.AIWriter = superEditor_es.AIWriter;
|
|
6
6
|
exports.AnnotatorHelpers = superEditor_es.AnnotatorHelpers;
|
package/dist/super-editor.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A, a, _, C, D, E, b, S, c, d, e, f, g, T, h, i, j, k, l, m, n, o, p, r, q } from "./chunks/super-editor.es-
|
|
1
|
+
import { A, a, _, C, D, E, b, S, c, d, e, f, g, T, h, i, j, k, l, m, n, o, p, r, q } from "./chunks/super-editor.es-D__G4K0i.es.js";
|
|
2
2
|
import "./chunks/vue-CXxsqYcP.es.js";
|
|
3
3
|
export {
|
|
4
4
|
A as AIWriter,
|