@harbour-enterprises/superdoc 1.3.0-next.10 → 1.3.0-next.12
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-BBQ-ukct.cjs → PdfViewer-B4cw8sRa.cjs} +2 -2
- package/dist/chunks/{PdfViewer-CgwCQZZ6.es.js → PdfViewer-D4-tXW9I.es.js} +2 -2
- package/dist/chunks/{SuperConverter-BO5wIcsr.es.js → SuperConverter-BQHQ2WON.es.js} +13 -12
- package/dist/chunks/{SuperConverter-BIATaPlu.cjs → SuperConverter-BauKfBRr.cjs} +2 -1
- package/dist/chunks/{index-D9yb-45i.cjs → index-BC056HXc.cjs} +4 -4
- package/dist/chunks/{index-yNMvRgm_.es.js → index-BPi2Cjky.es.js} +4 -4
- package/dist/chunks/{index-Bv9MbOsf.es.js → index-BRomAwaA.es.js} +156 -18
- package/dist/chunks/{index-B045iT2T.cjs → index-CCWqRqAf.cjs} +156 -18
- package/dist/style.css +6 -6
- package/dist/super-editor/converter.cjs +1 -1
- package/dist/super-editor/converter.es.js +1 -1
- package/dist/super-editor.cjs +2 -2
- package/dist/super-editor.es.js +3 -3
- package/dist/superdoc.cjs +3 -3
- package/dist/superdoc.es.js +3 -3
- package/dist/superdoc.umd.js +157 -19
- package/dist/superdoc.umd.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const vue = require("./vue-De9wkgLl.cjs");
|
|
4
|
-
const superdoc = require("./index-
|
|
5
|
-
const index = require("./index-
|
|
4
|
+
const superdoc = require("./index-BC056HXc.cjs");
|
|
5
|
+
const index = require("./index-CCWqRqAf.cjs");
|
|
6
6
|
function self(vars) {
|
|
7
7
|
const {
|
|
8
8
|
opacityDisabled,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { d as defineComponent, h, T as Transition, p as process$1, w as watchEffect, c as computed, r as ref, f as onMounted, X as onUnmounted, E as createElementBlock, G as openBlock, K as createBaseVNode, M as createCommentVNode, I as createVNode, v as unref } from "./vue-BnBKJwCW.es.js";
|
|
2
|
-
import { N as NBaseLoading, u as useSuperdocStore, s as storeToRefs, a as useSelection } from "./index-
|
|
3
|
-
import { C as derived, r as c, q as cB, aF as fadeInTransition, y as cM, I as warnOnce, J as useConfig, N as useTheme, aG as pxfy, P as createKey, Q as useThemeClass, aH as useCompitable, ai as _export_sfc } from "./index-
|
|
2
|
+
import { N as NBaseLoading, u as useSuperdocStore, s as storeToRefs, a as useSelection } from "./index-BPi2Cjky.es.js";
|
|
3
|
+
import { C as derived, r as c, q as cB, aF as fadeInTransition, y as cM, I as warnOnce, J as useConfig, N as useTheme, aG as pxfy, P as createKey, Q as useThemeClass, aH as useCompitable, ai as _export_sfc } from "./index-BRomAwaA.es.js";
|
|
4
4
|
function self(vars) {
|
|
5
5
|
const {
|
|
6
6
|
opacityDisabled,
|
|
@@ -31007,7 +31007,7 @@ class SuperConverter {
|
|
|
31007
31007
|
static getStoredSuperdocVersion(docx) {
|
|
31008
31008
|
return SuperConverter.getStoredCustomProperty(docx, "SuperdocVersion");
|
|
31009
31009
|
}
|
|
31010
|
-
static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.3.0-next.
|
|
31010
|
+
static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.3.0-next.12") {
|
|
31011
31011
|
return SuperConverter.setStoredCustomProperty(docx, "SuperdocVersion", version, false);
|
|
31012
31012
|
}
|
|
31013
31013
|
/**
|
|
@@ -31685,17 +31685,18 @@ export {
|
|
|
31685
31685
|
translator$14 as a0,
|
|
31686
31686
|
translator$1O as a1,
|
|
31687
31687
|
resolveDocxFontFamily as a2,
|
|
31688
|
-
|
|
31689
|
-
|
|
31690
|
-
|
|
31691
|
-
|
|
31692
|
-
|
|
31693
|
-
|
|
31694
|
-
|
|
31695
|
-
|
|
31696
|
-
|
|
31697
|
-
|
|
31698
|
-
|
|
31688
|
+
combineIndentProperties as a3,
|
|
31689
|
+
_getReferencedTableStyles as a4,
|
|
31690
|
+
decodeRPrFromMarks as a5,
|
|
31691
|
+
calculateResolvedParagraphProperties as a6,
|
|
31692
|
+
encodeCSSFromPPr as a7,
|
|
31693
|
+
encodeCSSFromRPr as a8,
|
|
31694
|
+
generateOrderedListIndex as a9,
|
|
31695
|
+
docxNumberingHelpers as aa,
|
|
31696
|
+
InputRule as ab,
|
|
31697
|
+
insertNewRelationship as ac,
|
|
31698
|
+
kebabCase as ad,
|
|
31699
|
+
getUnderlineCssString as ae,
|
|
31699
31700
|
chainableEditorState as b,
|
|
31700
31701
|
createDocFromMarkdown as c,
|
|
31701
31702
|
convertMarkdownToHTML as d,
|
|
@@ -31008,7 +31008,7 @@ class SuperConverter {
|
|
|
31008
31008
|
static getStoredSuperdocVersion(docx) {
|
|
31009
31009
|
return SuperConverter.getStoredCustomProperty(docx, "SuperdocVersion");
|
|
31010
31010
|
}
|
|
31011
|
-
static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.3.0-next.
|
|
31011
|
+
static setStoredSuperdocVersion(docx = this.convertedXml, version = "1.3.0-next.12") {
|
|
31012
31012
|
return SuperConverter.setStoredCustomProperty(docx, "SuperdocVersion", version, false);
|
|
31013
31013
|
}
|
|
31014
31014
|
/**
|
|
@@ -31686,6 +31686,7 @@ exports.canJoin = canJoin;
|
|
|
31686
31686
|
exports.canSplit = canSplit;
|
|
31687
31687
|
exports.chainableEditorState = chainableEditorState;
|
|
31688
31688
|
exports.changeListLevel = changeListLevel;
|
|
31689
|
+
exports.combineIndentProperties = combineIndentProperties;
|
|
31689
31690
|
exports.convertMarkdownToHTML = convertMarkdownToHTML;
|
|
31690
31691
|
exports.createDocFromHTML = createDocFromHTML;
|
|
31691
31692
|
exports.createDocFromMarkdown = createDocFromMarkdown;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const index = require("./index-
|
|
3
|
-
require("./SuperConverter-
|
|
2
|
+
const index = require("./index-CCWqRqAf.cjs");
|
|
3
|
+
require("./SuperConverter-BauKfBRr.cjs");
|
|
4
4
|
const blankDocx = require("./blank-docx-DfW3Eeh2.cjs");
|
|
5
5
|
const eventemitter3 = require("./eventemitter3-BQuRcMPI.cjs");
|
|
6
6
|
const provider = require("@hocuspocus/provider");
|
|
@@ -7465,7 +7465,7 @@ const _sfc_main = {
|
|
|
7465
7465
|
__name: "SuperDoc",
|
|
7466
7466
|
emits: ["selection-update"],
|
|
7467
7467
|
setup(__props, { emit: __emit }) {
|
|
7468
|
-
const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-
|
|
7468
|
+
const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-B4cw8sRa.cjs")));
|
|
7469
7469
|
const superdocStore = useSuperdocStore();
|
|
7470
7470
|
const commentsStore = useCommentsStore();
|
|
7471
7471
|
const {
|
|
@@ -8371,7 +8371,7 @@ class SuperDoc extends eventemitter3.EventEmitter {
|
|
|
8371
8371
|
this.config.colors = shuffleArray(this.config.colors);
|
|
8372
8372
|
this.userColorMap = /* @__PURE__ */ new Map();
|
|
8373
8373
|
this.colorIndex = 0;
|
|
8374
|
-
this.version = "1.3.0-next.
|
|
8374
|
+
this.version = "1.3.0-next.12";
|
|
8375
8375
|
this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
|
|
8376
8376
|
this.superdocId = config.superdocId || uuid.v4();
|
|
8377
8377
|
this.colors = this.config.colors;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { B as BIT8, M as MAX_SAFE_INTEGER, c as create, a as BITS7, u as utf8TextDecoder, b as create$1, s as setIfUndefined, d as create$2, f as from, e as floor$1, g as equalityDeep, w as writeVarUint, h as writeVarString, t as toUint8Array, i as createEncoder, j as createInjectionKey, k as toString, l as throwError, m as useSsrAdapter, n as configProviderInjectionKey, o as cssrAnchorMetaName, p as globalStyle, q as cB, r as c, v as isMounted, x as commonVariables$2, y as cM, z as cNotM, A as cE, C as derived, D as changeColor, E as insideModal, F as insidePopover, G as resolveWrappedSlot, H as on, I as warnOnce, J as useConfig, K as useMergedState, L as useMemo, N as useTheme, O as useRtl, P as createKey, Q as useThemeClass, R as createId, S as call, T as render, U as messageProviderInjectionKey, V as messageApiInjectionKey, W as fromBase64, X as onChange, Y as varStorage, Z as toBase64, _ as createUint8ArrayFromArrayBuffer, $ as offChange, a0 as writeVarUint8Array, a1 as map, a2 as length, a3 as isNode, a4 as min, a5 as pow, a6 as comments_module_events, a7 as getFileObject, a8 as getTrackChanges, a9 as CommentsPluginKey, aa as TrackChangesBasePluginKey, ab as Editor, ac as getRichTextExtensions, ad as ellipsisVerticalSvg, ae as xmarkIconSvg, af as checkIconSvg, ag as caretDownIconSvg, ah as commentIconSvg, ai as _export_sfc, aj as NDropdown, ak as SuperInput, al as vClickOutside, am as PresentationEditor, an as SuperEditor, ao as AIWriter, ap as NConfigProvider, aq as SuperToolbar } from "./index-
|
|
2
|
-
import "./SuperConverter-
|
|
1
|
+
import { B as BIT8, M as MAX_SAFE_INTEGER, c as create, a as BITS7, u as utf8TextDecoder, b as create$1, s as setIfUndefined, d as create$2, f as from, e as floor$1, g as equalityDeep, w as writeVarUint, h as writeVarString, t as toUint8Array, i as createEncoder, j as createInjectionKey, k as toString, l as throwError, m as useSsrAdapter, n as configProviderInjectionKey, o as cssrAnchorMetaName, p as globalStyle, q as cB, r as c, v as isMounted, x as commonVariables$2, y as cM, z as cNotM, A as cE, C as derived, D as changeColor, E as insideModal, F as insidePopover, G as resolveWrappedSlot, H as on, I as warnOnce, J as useConfig, K as useMergedState, L as useMemo, N as useTheme, O as useRtl, P as createKey, Q as useThemeClass, R as createId, S as call, T as render, U as messageProviderInjectionKey, V as messageApiInjectionKey, W as fromBase64, X as onChange, Y as varStorage, Z as toBase64, _ as createUint8ArrayFromArrayBuffer, $ as offChange, a0 as writeVarUint8Array, a1 as map, a2 as length, a3 as isNode, a4 as min, a5 as pow, a6 as comments_module_events, a7 as getFileObject, a8 as getTrackChanges, a9 as CommentsPluginKey, aa as TrackChangesBasePluginKey, ab as Editor, ac as getRichTextExtensions, ad as ellipsisVerticalSvg, ae as xmarkIconSvg, af as checkIconSvg, ag as caretDownIconSvg, ah as commentIconSvg, ai as _export_sfc, aj as NDropdown, ak as SuperInput, al as vClickOutside, am as PresentationEditor, an as SuperEditor, ao as AIWriter, ap as NConfigProvider, aq as SuperToolbar } from "./index-BRomAwaA.es.js";
|
|
2
|
+
import "./SuperConverter-BQHQ2WON.es.js";
|
|
3
3
|
import { B as BlankDOCX } from "./blank-docx-ABm6XYAA.es.js";
|
|
4
4
|
import { E as EventEmitter } from "./eventemitter3-CwrdEv8r.es.js";
|
|
5
5
|
import { HocuspocusProvider, HocuspocusProviderWebsocket } from "@hocuspocus/provider";
|
|
@@ -7448,7 +7448,7 @@ const _sfc_main = {
|
|
|
7448
7448
|
__name: "SuperDoc",
|
|
7449
7449
|
emits: ["selection-update"],
|
|
7450
7450
|
setup(__props, { emit: __emit }) {
|
|
7451
|
-
const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-
|
|
7451
|
+
const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-D4-tXW9I.es.js"));
|
|
7452
7452
|
const superdocStore = useSuperdocStore();
|
|
7453
7453
|
const commentsStore = useCommentsStore();
|
|
7454
7454
|
const {
|
|
@@ -8354,7 +8354,7 @@ class SuperDoc extends EventEmitter {
|
|
|
8354
8354
|
this.config.colors = shuffleArray(this.config.colors);
|
|
8355
8355
|
this.userColorMap = /* @__PURE__ */ new Map();
|
|
8356
8356
|
this.colorIndex = 0;
|
|
8357
|
-
this.version = "1.3.0-next.
|
|
8357
|
+
this.version = "1.3.0-next.12";
|
|
8358
8358
|
this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
|
|
8359
8359
|
this.superdocId = config.superdocId || v4();
|
|
8360
8360
|
this.colors = this.config.colors;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { B as Buffer$2 } from "./jszip-B1fkPkPJ.es.js";
|
|
2
2
|
import { t as twipsToInches, i as inchesToTwips, p as ptToTwips, l as linesToTwips, a as twipsToLines, b as pixelsToTwips, h as halfPointToPoints, c as twipsToPixels$2, d as convertSizeToCSS, e as inchesToPixels } from "./helpers-C8e9wR5l.es.js";
|
|
3
|
-
import { g as generateDocxRandomId, T as TextSelection$1, o as objectIncludes, w as wrapTextsInRuns, D as DOMParser$1, c as createDocFromMarkdown, a as createDocFromHTML, b as chainableEditorState, d as convertMarkdownToHTML, f as findParentNode, e as findParentNodeClosestToPos, h as generateRandom32BitHex, i as generateRandomSigned32BitIntStrId, P as PluginKey, j as Plugin, M as Mapping, N as NodeSelection, k as Selection, l as Slice, m as DOMSerializer, F as Fragment, n as Mark$1, p as dropPoint, A as AllSelection, q as Schema$1, s as canSplit, t as resolveRunProperties, u as encodeMarksFromRPr, v as liftTarget, x as canJoin, y as joinPoint, z as replaceStep$1, R as ReplaceAroundStep$1, B as htmlHandler, C as ReplaceStep, E as getResolvedParagraphProperties, G as changeListLevel, H as isList$1, I as updateNumberingProperties, L as ListHelpers, J as inputRulesPlugin, K as TrackDeleteMarkName$1, O as TrackInsertMarkName$1, Q as TrackFormatMarkName$1, U as AddMarkStep, V as RemoveMarkStep, W as CommandService, S as SuperConverter, X as EditorState, Y as unflattenListsInHtml, Z as SelectionRange, _ as Transform, $ as createOoxmlResolver, a0 as translator, a1 as translator$1, a2 as resolveDocxFontFamily, a3 as
|
|
3
|
+
import { g as generateDocxRandomId, T as TextSelection$1, o as objectIncludes, w as wrapTextsInRuns, D as DOMParser$1, c as createDocFromMarkdown, a as createDocFromHTML, b as chainableEditorState, d as convertMarkdownToHTML, f as findParentNode, e as findParentNodeClosestToPos, h as generateRandom32BitHex, i as generateRandomSigned32BitIntStrId, P as PluginKey, j as Plugin, M as Mapping, N as NodeSelection, k as Selection, l as Slice, m as DOMSerializer, F as Fragment, n as Mark$1, p as dropPoint, A as AllSelection, q as Schema$1, s as canSplit, t as resolveRunProperties, u as encodeMarksFromRPr, v as liftTarget, x as canJoin, y as joinPoint, z as replaceStep$1, R as ReplaceAroundStep$1, B as htmlHandler, C as ReplaceStep, E as getResolvedParagraphProperties, G as changeListLevel, H as isList$1, I as updateNumberingProperties, L as ListHelpers, J as inputRulesPlugin, K as TrackDeleteMarkName$1, O as TrackInsertMarkName$1, Q as TrackFormatMarkName$1, U as AddMarkStep, V as RemoveMarkStep, W as CommandService, S as SuperConverter, X as EditorState, Y as unflattenListsInHtml, Z as SelectionRange, _ as Transform, $ as createOoxmlResolver, a0 as translator, a1 as translator$1, a2 as resolveDocxFontFamily, a3 as combineIndentProperties, a4 as _getReferencedTableStyles, a5 as decodeRPrFromMarks, a6 as calculateResolvedParagraphProperties, a7 as encodeCSSFromPPr, a8 as encodeCSSFromRPr, a9 as generateOrderedListIndex, aa as docxNumberingHelpers, ab as InputRule, ac as insertNewRelationship, ad as kebabCase$1, ae as getUnderlineCssString } from "./SuperConverter-BQHQ2WON.es.js";
|
|
4
4
|
import { p as process$1, r as ref, C as global$1, c as computed, E as createElementBlock, F as Fragment$1, S as renderList, O as withModifiers, G as openBlock, P as normalizeClass, M as createCommentVNode, H as toDisplayString, K as createBaseVNode, U as createApp, f as onMounted, X as onUnmounted, R as withDirectives, v as unref, Y as vModelText, y as nextTick, L as normalizeStyle, u as watch, Z as withKeys, _ as createTextVNode, I as createVNode, h, $ as readonly, s as getCurrentInstance, o as onBeforeUnmount, j as reactive, b as onBeforeMount, i as inject, a0 as onActivated, a1 as onDeactivated, a2 as Comment, d as defineComponent, a as provide, g as Teleport, t as toRef, a3 as renderSlot, a4 as isVNode, D as shallowRef, w as watchEffect, T as Transition, a5 as mergeProps, a6 as vShow, a7 as cloneVNode, a8 as Text$2, m as markRaw, N as createBlock, J as withCtx, a9 as useCssVars, V as resolveDynamicComponent, aa as normalizeProps, ab as guardReactiveProps } from "./vue-BnBKJwCW.es.js";
|
|
5
5
|
import "./jszip.min-DCl8qkFO.es.js";
|
|
6
6
|
import { E as EventEmitter$1 } from "./eventemitter3-CwrdEv8r.es.js";
|
|
@@ -10936,6 +10936,105 @@ const setSectionHeaderFooterAtSelection = ({ headerInches, footerInches } = {})
|
|
|
10936
10936
|
tr.setNodeMarkup(pos, void 0, nextAttrs, node.marks);
|
|
10937
10937
|
return true;
|
|
10938
10938
|
};
|
|
10939
|
+
function findGoverningSectPrParagraph(doc2, selectionPos) {
|
|
10940
|
+
const candidates = [];
|
|
10941
|
+
doc2.descendants((node, nodePos) => {
|
|
10942
|
+
if (node.type?.name === "paragraph" && node.attrs?.paragraphProperties?.sectPr) {
|
|
10943
|
+
candidates.push({ node, pos: nodePos });
|
|
10944
|
+
}
|
|
10945
|
+
});
|
|
10946
|
+
if (!candidates.length) return null;
|
|
10947
|
+
const inside = candidates.find((c2) => selectionPos >= c2.pos && selectionPos < c2.pos + c2.node.nodeSize);
|
|
10948
|
+
if (inside) return inside;
|
|
10949
|
+
const atOrAfter = candidates.find((c2) => c2.pos >= selectionPos);
|
|
10950
|
+
return atOrAfter ?? candidates[candidates.length - 1];
|
|
10951
|
+
}
|
|
10952
|
+
const setSectionPageMarginsAtSelection = ({ topInches, rightInches, bottomInches, leftInches } = {}) => ({ tr, state, editor }) => {
|
|
10953
|
+
if (!state || !editor) {
|
|
10954
|
+
console.warn("[setSectionPageMarginsAtSelection] Missing state or editor");
|
|
10955
|
+
return false;
|
|
10956
|
+
}
|
|
10957
|
+
const hasTop = typeof topInches === "number";
|
|
10958
|
+
const hasRight = typeof rightInches === "number";
|
|
10959
|
+
const hasBottom = typeof bottomInches === "number";
|
|
10960
|
+
const hasLeft = typeof leftInches === "number";
|
|
10961
|
+
if (!hasTop && !hasRight && !hasBottom && !hasLeft) {
|
|
10962
|
+
console.warn("[setSectionPageMarginsAtSelection] No margin values provided");
|
|
10963
|
+
return false;
|
|
10964
|
+
}
|
|
10965
|
+
if (hasTop && topInches < 0 || hasRight && rightInches < 0 || hasBottom && bottomInches < 0 || hasLeft && leftInches < 0) {
|
|
10966
|
+
console.warn("[setSectionPageMarginsAtSelection] Margin values must be >= 0");
|
|
10967
|
+
return false;
|
|
10968
|
+
}
|
|
10969
|
+
const updates = {};
|
|
10970
|
+
if (hasTop) updates.topInches = topInches;
|
|
10971
|
+
if (hasRight) updates.rightInches = rightInches;
|
|
10972
|
+
if (hasBottom) updates.bottomInches = bottomInches;
|
|
10973
|
+
if (hasLeft) updates.leftInches = leftInches;
|
|
10974
|
+
const { from: from3 } = state.selection;
|
|
10975
|
+
const governing = findGoverningSectPrParagraph(state.doc, from3);
|
|
10976
|
+
if (governing) {
|
|
10977
|
+
const { node, pos } = governing;
|
|
10978
|
+
const paraProps = node.attrs?.paragraphProperties || null;
|
|
10979
|
+
const existingSectPr = paraProps?.sectPr || null;
|
|
10980
|
+
if (!existingSectPr) {
|
|
10981
|
+
console.warn("[setSectionPageMarginsAtSelection] Paragraph found but has no sectPr");
|
|
10982
|
+
return false;
|
|
10983
|
+
}
|
|
10984
|
+
const sectPr2 = JSON.parse(JSON.stringify(existingSectPr));
|
|
10985
|
+
try {
|
|
10986
|
+
updateSectionMargins({ type: "sectPr", sectPr: sectPr2 }, updates);
|
|
10987
|
+
} catch (err) {
|
|
10988
|
+
console.error("[setSectionPageMarginsAtSelection] Failed to update sectPr:", err);
|
|
10989
|
+
return false;
|
|
10990
|
+
}
|
|
10991
|
+
const resolved = getSectPrMargins(sectPr2);
|
|
10992
|
+
const normalizedSectionMargins = {
|
|
10993
|
+
top: resolved.top ?? null,
|
|
10994
|
+
right: resolved.right ?? null,
|
|
10995
|
+
bottom: resolved.bottom ?? null,
|
|
10996
|
+
left: resolved.left ?? null,
|
|
10997
|
+
header: resolved.header ?? null,
|
|
10998
|
+
footer: resolved.footer ?? null
|
|
10999
|
+
};
|
|
11000
|
+
const newParagraphProperties = { ...paraProps || {}, sectPr: sectPr2 };
|
|
11001
|
+
const nextAttrs = {
|
|
11002
|
+
...node.attrs,
|
|
11003
|
+
paragraphProperties: newParagraphProperties,
|
|
11004
|
+
sectionMargins: normalizedSectionMargins
|
|
11005
|
+
};
|
|
11006
|
+
tr.setNodeMarkup(pos, void 0, nextAttrs, node.marks);
|
|
11007
|
+
tr.setMeta("forceUpdatePagination", true);
|
|
11008
|
+
return true;
|
|
11009
|
+
}
|
|
11010
|
+
const docAttrs = state.doc.attrs ?? {};
|
|
11011
|
+
const converter = editor.converter ?? null;
|
|
11012
|
+
const baseBodySectPr = docAttrs.bodySectPr || converter?.bodySectPr || null;
|
|
11013
|
+
const sectPr = baseBodySectPr != null ? JSON.parse(JSON.stringify(baseBodySectPr)) : { type: "element", name: "w:sectPr", elements: [] };
|
|
11014
|
+
try {
|
|
11015
|
+
updateSectionMargins({ type: "sectPr", sectPr }, updates);
|
|
11016
|
+
} catch (err) {
|
|
11017
|
+
console.error("[setSectionPageMarginsAtSelection] Failed to update sectPr:", err);
|
|
11018
|
+
return false;
|
|
11019
|
+
}
|
|
11020
|
+
if (converter) {
|
|
11021
|
+
converter.bodySectPr = sectPr;
|
|
11022
|
+
if (!converter.pageStyles) converter.pageStyles = {};
|
|
11023
|
+
if (!converter.pageStyles.pageMargins) converter.pageStyles.pageMargins = {};
|
|
11024
|
+
const pageMargins = converter.pageStyles.pageMargins;
|
|
11025
|
+
const resolved = getSectPrMargins(sectPr);
|
|
11026
|
+
if (resolved.top != null) pageMargins.top = resolved.top;
|
|
11027
|
+
if (resolved.right != null) pageMargins.right = resolved.right;
|
|
11028
|
+
if (resolved.bottom != null) pageMargins.bottom = resolved.bottom;
|
|
11029
|
+
if (resolved.left != null) pageMargins.left = resolved.left;
|
|
11030
|
+
if (resolved.header != null) pageMargins.header = resolved.header;
|
|
11031
|
+
if (resolved.footer != null) pageMargins.footer = resolved.footer;
|
|
11032
|
+
}
|
|
11033
|
+
const nextDocAttrs = { ...docAttrs, bodySectPr: sectPr };
|
|
11034
|
+
tr.setNodeMarkup(0, void 0, nextDocAttrs);
|
|
11035
|
+
tr.setMeta("forceUpdatePagination", true);
|
|
11036
|
+
return true;
|
|
11037
|
+
};
|
|
10939
11038
|
const insertSectionBreakAtSelection = ({ headerInches, footerInches } = {}) => ({ tr, state, editor }) => {
|
|
10940
11039
|
if (!state || !editor) {
|
|
10941
11040
|
console.warn("[insertSectionBreakAtSelection] Missing state or editor");
|
|
@@ -11467,6 +11566,7 @@ const commands$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
|
|
|
11467
11566
|
setMeta,
|
|
11468
11567
|
setNode,
|
|
11469
11568
|
setSectionHeaderFooterAtSelection,
|
|
11569
|
+
setSectionPageMarginsAtSelection,
|
|
11470
11570
|
setTextIndentation,
|
|
11471
11571
|
setTextSelection,
|
|
11472
11572
|
skipTab,
|
|
@@ -15334,7 +15434,7 @@ const canUseDOM = () => {
|
|
|
15334
15434
|
return false;
|
|
15335
15435
|
}
|
|
15336
15436
|
};
|
|
15337
|
-
const summaryVersion = "1.3.0-next.
|
|
15437
|
+
const summaryVersion = "1.3.0-next.12";
|
|
15338
15438
|
const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
|
|
15339
15439
|
const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
|
|
15340
15440
|
function mapAttributes(attrs) {
|
|
@@ -17336,9 +17436,8 @@ class Editor extends EventEmitter {
|
|
|
17336
17436
|
try {
|
|
17337
17437
|
const jsonObj = json;
|
|
17338
17438
|
const attrs = jsonObj.attrs;
|
|
17339
|
-
const hasBody = attrs && "bodySectPr" in attrs;
|
|
17340
17439
|
const converter = this.converter;
|
|
17341
|
-
if (
|
|
17440
|
+
if (converter && converter.bodySectPr) {
|
|
17342
17441
|
jsonObj.attrs = attrs || {};
|
|
17343
17442
|
jsonObj.attrs.bodySectPr = converter.bodySectPr;
|
|
17344
17443
|
}
|
|
@@ -17967,7 +18066,7 @@ class Editor extends EventEmitter {
|
|
|
17967
18066
|
* Process collaboration migrations
|
|
17968
18067
|
*/
|
|
17969
18068
|
processCollaborationMigrations() {
|
|
17970
|
-
console.debug("[checkVersionMigrations] Current editor version", "1.3.0-next.
|
|
18069
|
+
console.debug("[checkVersionMigrations] Current editor version", "1.3.0-next.12");
|
|
17971
18070
|
if (!this.options.ydoc) return;
|
|
17972
18071
|
const metaMap = this.options.ydoc.getMap("meta");
|
|
17973
18072
|
let docVersion = metaMap.get("version");
|
|
@@ -40266,6 +40365,13 @@ const applyTrackedChangesModeToRuns = (runs, config, hyperlinkConfig, applyMarks
|
|
|
40266
40365
|
);
|
|
40267
40366
|
}
|
|
40268
40367
|
});
|
|
40368
|
+
if ((config.mode === "original" || config.mode === "final") && config.enabled) {
|
|
40369
|
+
filtered.forEach((run) => {
|
|
40370
|
+
if (isTextRun$1(run) && run.trackedChange && (run.trackedChange.kind === "insert" || run.trackedChange.kind === "delete")) {
|
|
40371
|
+
delete run.trackedChange;
|
|
40372
|
+
}
|
|
40373
|
+
});
|
|
40374
|
+
}
|
|
40269
40375
|
}
|
|
40270
40376
|
return filtered;
|
|
40271
40377
|
};
|
|
@@ -43331,7 +43437,16 @@ const computeParagraphAttrs = (para, styleContext, listCounterContext, converter
|
|
|
43331
43437
|
if (!value || typeof value !== "object") return;
|
|
43332
43438
|
return normalizePxIndent(value) ?? convertIndentTwipsToPx(value);
|
|
43333
43439
|
};
|
|
43334
|
-
const
|
|
43440
|
+
const hydratedIndentPx = convertIndentTwipsToPx(hydrated?.indent);
|
|
43441
|
+
const paragraphIndentPx = convertIndentTwipsToPx(paragraphProps.indent);
|
|
43442
|
+
const textIndentPx = normalizeParagraphIndent(attrs.textIndent);
|
|
43443
|
+
const attrsIndentPx = normalizeIndentObject(attrs.indent);
|
|
43444
|
+
const indentChain = [];
|
|
43445
|
+
if (hydratedIndentPx) indentChain.push({ indent: hydratedIndentPx });
|
|
43446
|
+
if (paragraphIndentPx) indentChain.push({ indent: paragraphIndentPx });
|
|
43447
|
+
if (textIndentPx) indentChain.push({ indent: textIndentPx });
|
|
43448
|
+
if (attrsIndentPx) indentChain.push({ indent: attrsIndentPx });
|
|
43449
|
+
const normalizedIndent = indentChain.length ? combineIndentProperties(indentChain).indent : void 0;
|
|
43335
43450
|
const unwrapTabStops = (tabStops) => {
|
|
43336
43451
|
if (!Array.isArray(tabStops)) {
|
|
43337
43452
|
return void 0;
|
|
@@ -49587,7 +49702,11 @@ async function measureTableBlock(block, constraints) {
|
|
|
49587
49702
|
}
|
|
49588
49703
|
async function measureImageBlock(block, constraints) {
|
|
49589
49704
|
const intrinsic = getIntrinsicImageSize(block, constraints.maxWidth);
|
|
49590
|
-
const
|
|
49705
|
+
const isBlockBehindDoc = block.anchor?.behindDoc;
|
|
49706
|
+
const isBlockWrapBehindDoc = block.wrap?.type === "None" && block.wrap?.behindDoc;
|
|
49707
|
+
const bypassWidthConstraint = isBlockBehindDoc || isBlockWrapBehindDoc;
|
|
49708
|
+
const isWidthConstraintBypassed = bypassWidthConstraint || constraints.maxWidth <= 0;
|
|
49709
|
+
const maxWidth = isWidthConstraintBypassed ? intrinsic.width : constraints.maxWidth;
|
|
49591
49710
|
const hasNegativeVerticalPosition = block.anchor?.isAnchored && (typeof block.anchor?.offsetV === "number" && block.anchor.offsetV < 0 || typeof block.margin?.top === "number" && block.margin.top < 0);
|
|
49592
49711
|
const maxHeight = hasNegativeVerticalPosition || !constraints.maxHeight || constraints.maxHeight <= 0 ? Infinity : constraints.maxHeight;
|
|
49593
49712
|
const widthScale = maxWidth / intrinsic.width;
|
|
@@ -50754,9 +50873,10 @@ class PresentationEditor extends EventEmitter {
|
|
|
50754
50873
|
throw new TypeError("[PresentationEditor] setTrackedChangesOverrides expects an object or undefined");
|
|
50755
50874
|
}
|
|
50756
50875
|
if (overrides !== void 0) {
|
|
50757
|
-
|
|
50876
|
+
const validModes = ["review", "original", "final", "off"];
|
|
50877
|
+
if (overrides.mode !== void 0 && !validModes.includes(overrides.mode)) {
|
|
50758
50878
|
throw new TypeError(
|
|
50759
|
-
`[PresentationEditor] Invalid tracked changes mode "${overrides.mode}". Must be one of:
|
|
50879
|
+
`[PresentationEditor] Invalid tracked changes mode "${overrides.mode}". Must be one of: ${validModes.join(", ")}`
|
|
50760
50880
|
);
|
|
50761
50881
|
}
|
|
50762
50882
|
if (overrides.enabled !== void 0 && typeof overrides.enabled !== "boolean") {
|
|
@@ -57818,7 +57938,11 @@ const Document = Node$1.create({
|
|
|
57818
57938
|
*/
|
|
57819
57939
|
clearDocument: () => ({ commands: commands2 }) => {
|
|
57820
57940
|
return commands2.setContent("<p></p>");
|
|
57821
|
-
}
|
|
57941
|
+
},
|
|
57942
|
+
/**
|
|
57943
|
+
* Set section page margins (top/right/bottom/left) for the section at the current selection.
|
|
57944
|
+
*/
|
|
57945
|
+
setSectionPageMarginsAtSelection
|
|
57822
57946
|
};
|
|
57823
57947
|
}
|
|
57824
57948
|
});
|
|
@@ -64327,6 +64451,10 @@ const Image = Node$1.create({
|
|
|
64327
64451
|
}
|
|
64328
64452
|
const hasAnchorData = Boolean(anchorData);
|
|
64329
64453
|
const hasMarginOffsets = marginOffset?.horizontal != null || marginOffset?.top != null;
|
|
64454
|
+
const isWrapBehindDoc = wrap?.attrs?.behindDoc;
|
|
64455
|
+
const isAnchorBehindDoc = anchorData?.behindDoc;
|
|
64456
|
+
const isBehindDocAnchor = wrap?.type === "None" && (isWrapBehindDoc || isAnchorBehindDoc);
|
|
64457
|
+
const isAbsolutelyPositioned = style2.includes("position: absolute;");
|
|
64330
64458
|
if (hasAnchorData) {
|
|
64331
64459
|
switch (anchorData.hRelativeFrom) {
|
|
64332
64460
|
case "page":
|
|
@@ -64354,7 +64482,6 @@ const Image = Node$1.create({
|
|
|
64354
64482
|
style2 += "float: left;";
|
|
64355
64483
|
}
|
|
64356
64484
|
} else if (!anchorData.alignH && marginOffset?.horizontal != null) {
|
|
64357
|
-
const isAbsolutelyPositioned = style2.includes("position: absolute;");
|
|
64358
64485
|
if (isAbsolutelyPositioned) {
|
|
64359
64486
|
style2 += `left: ${baseHorizontal}px;`;
|
|
64360
64487
|
style2 += "max-width: none;";
|
|
@@ -64368,7 +64495,8 @@ const Image = Node$1.create({
|
|
|
64368
64495
|
const relativeFromPageV = anchorData?.vRelativeFrom === "page";
|
|
64369
64496
|
const relativeFromMarginV = anchorData?.vRelativeFrom === "margin";
|
|
64370
64497
|
const maxMarginV = 500;
|
|
64371
|
-
const
|
|
64498
|
+
const allowNegativeTopOffset = isBehindDocAnchor;
|
|
64499
|
+
const baseTop = allowNegativeTopOffset ? marginOffset?.top ?? 0 : Math.max(0, marginOffset?.top ?? 0);
|
|
64372
64500
|
let rotationHorizontal = 0;
|
|
64373
64501
|
let rotationTop = 0;
|
|
64374
64502
|
const { rotation: rotation2 } = transformData ?? {};
|
|
@@ -64387,7 +64515,10 @@ const Image = Node$1.create({
|
|
|
64387
64515
|
margin.left += horizontal;
|
|
64388
64516
|
}
|
|
64389
64517
|
}
|
|
64390
|
-
|
|
64518
|
+
const appliedTopViaStyle = isAbsolutelyPositioned && allowNegativeTopOffset && !relativeFromMarginV;
|
|
64519
|
+
if (appliedTopViaStyle) {
|
|
64520
|
+
style2 += `top: ${top2}px;`;
|
|
64521
|
+
} else if (top2 && !relativeFromMarginV) {
|
|
64391
64522
|
if (relativeFromPageV && top2 >= maxMarginV) margin.top += maxMarginV;
|
|
64392
64523
|
else margin.top += top2;
|
|
64393
64524
|
}
|
|
@@ -64400,6 +64531,9 @@ const Image = Node$1.create({
|
|
|
64400
64531
|
}
|
|
64401
64532
|
if (margin.top) style2 += `margin-top: ${margin.top}px;`;
|
|
64402
64533
|
if (margin.bottom) style2 += `margin-bottom: ${margin.bottom}px;`;
|
|
64534
|
+
if (isBehindDocAnchor) {
|
|
64535
|
+
style2 += "max-width: none;";
|
|
64536
|
+
}
|
|
64403
64537
|
const finalAttributes = { ...htmlAttributes };
|
|
64404
64538
|
if (style2) {
|
|
64405
64539
|
const existingStyle = finalAttributes.style || "";
|
|
@@ -90209,10 +90343,14 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
90209
90343
|
const handleMarginChange = ({ side, value }) => {
|
|
90210
90344
|
const base2 = activeEditor.value;
|
|
90211
90345
|
if (!base2) return;
|
|
90212
|
-
const
|
|
90213
|
-
const
|
|
90214
|
-
|
|
90215
|
-
|
|
90346
|
+
const payload = side === "left" ? { leftInches: value } : side === "right" ? { rightInches: value } : side === "top" ? { topInches: value } : side === "bottom" ? { bottomInches: value } : {};
|
|
90347
|
+
const didUpdateSection = typeof base2.commands?.setSectionPageMarginsAtSelection === "function" ? base2.commands.setSectionPageMarginsAtSelection(payload) : false;
|
|
90348
|
+
if (!didUpdateSection) {
|
|
90349
|
+
const pageStyles2 = base2.getPageStyles();
|
|
90350
|
+
const { pageMargins } = pageStyles2;
|
|
90351
|
+
const update = { ...pageMargins, [side]: value };
|
|
90352
|
+
base2?.updatePageStyle({ pageMargins: update });
|
|
90353
|
+
}
|
|
90216
90354
|
};
|
|
90217
90355
|
onBeforeUnmount(() => {
|
|
90218
90356
|
stopPolling();
|
|
@@ -90348,7 +90486,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
90348
90486
|
};
|
|
90349
90487
|
}
|
|
90350
90488
|
});
|
|
90351
|
-
const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-
|
|
90489
|
+
const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-3e9da07c"]]);
|
|
90352
90490
|
const _hoisted_1 = ["innerHTML"];
|
|
90353
90491
|
const _sfc_main = {
|
|
90354
90492
|
__name: "SuperInput",
|