@harbour-enterprises/superdoc 1.3.0-next.7 → 1.3.0-next.8
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-CnKGOFjP.es.js → PdfViewer-CjwO2nPe.es.js} +2 -2
- package/dist/chunks/{PdfViewer-BolWPjJ9.cjs → PdfViewer-fF1B6H-9.cjs} +2 -2
- package/dist/chunks/{SuperConverter-Bc9dM-qO.es.js → SuperConverter-DwLhA2mM.es.js} +193 -124
- package/dist/chunks/{SuperConverter-BIrkxV37.cjs → SuperConverter-d7nvQrVD.cjs} +193 -124
- package/dist/chunks/{index-CKi-JNoY.cjs → index-B2Aynj2f.cjs} +4 -4
- package/dist/chunks/{index-BuT4cwmK.es.js → index-DoZiv8EQ.es.js} +52 -22
- package/dist/chunks/{index-CmmcvSxn.cjs → index-DzCJy9Bf.cjs} +52 -22
- package/dist/chunks/{index-C0irsRkX.es.js → index-U7zpbaq1.es.js} +4 -4
- package/dist/style.css +1 -1
- 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 +245 -146
- package/dist/superdoc.umd.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const index = require("./index-
|
|
3
|
-
require("./SuperConverter-
|
|
2
|
+
const index = require("./index-DzCJy9Bf.cjs");
|
|
3
|
+
require("./SuperConverter-d7nvQrVD.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");
|
|
@@ -7461,7 +7461,7 @@ const _sfc_main = {
|
|
|
7461
7461
|
__name: "SuperDoc",
|
|
7462
7462
|
emits: ["selection-update"],
|
|
7463
7463
|
setup(__props, { emit: __emit }) {
|
|
7464
|
-
const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-
|
|
7464
|
+
const PdfViewer = vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./PdfViewer-fF1B6H-9.cjs")));
|
|
7465
7465
|
const superdocStore = useSuperdocStore();
|
|
7466
7466
|
const commentsStore = useCommentsStore();
|
|
7467
7467
|
const {
|
|
@@ -8367,7 +8367,7 @@ class SuperDoc extends eventemitter3.EventEmitter {
|
|
|
8367
8367
|
this.config.colors = shuffleArray(this.config.colors);
|
|
8368
8368
|
this.userColorMap = /* @__PURE__ */ new Map();
|
|
8369
8369
|
this.colorIndex = 0;
|
|
8370
|
-
this.version = "1.3.0-next.
|
|
8370
|
+
this.version = "1.3.0-next.8";
|
|
8371
8371
|
this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
|
|
8372
8372
|
this.superdocId = config.superdocId || uuid.v4();
|
|
8373
8373
|
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 _getReferencedTableStyles, a4 as decodeRPrFromMarks, a5 as calculateResolvedParagraphProperties, a6 as encodeCSSFromPPr, a7 as encodeCSSFromRPr, a8 as generateOrderedListIndex, a9 as docxNumberingHelpers, aa as InputRule, ab as insertNewRelationship, ac as kebabCase$1, ad as getUnderlineCssString } from "./SuperConverter-
|
|
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 _getReferencedTableStyles, a4 as decodeRPrFromMarks, a5 as calculateResolvedParagraphProperties, a6 as encodeCSSFromPPr, a7 as encodeCSSFromRPr, a8 as generateOrderedListIndex, a9 as docxNumberingHelpers, aa as InputRule, ab as insertNewRelationship, ac as kebabCase$1, ad as getUnderlineCssString } from "./SuperConverter-DwLhA2mM.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";
|
|
@@ -15334,7 +15334,7 @@ const canUseDOM = () => {
|
|
|
15334
15334
|
return false;
|
|
15335
15335
|
}
|
|
15336
15336
|
};
|
|
15337
|
-
const summaryVersion = "1.3.0-next.
|
|
15337
|
+
const summaryVersion = "1.3.0-next.8";
|
|
15338
15338
|
const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
|
|
15339
15339
|
const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
|
|
15340
15340
|
function mapAttributes(attrs) {
|
|
@@ -17967,7 +17967,7 @@ class Editor extends EventEmitter {
|
|
|
17967
17967
|
* Process collaboration migrations
|
|
17968
17968
|
*/
|
|
17969
17969
|
processCollaborationMigrations() {
|
|
17970
|
-
console.debug("[checkVersionMigrations] Current editor version", "1.3.0-next.
|
|
17970
|
+
console.debug("[checkVersionMigrations] Current editor version", "1.3.0-next.8");
|
|
17971
17971
|
if (!this.options.ydoc) return;
|
|
17972
17972
|
const metaMap = this.options.ydoc.getMap("meta");
|
|
17973
17973
|
let docVersion = metaMap.get("version");
|
|
@@ -44853,6 +44853,12 @@ const applyBaseRunDefaults = (run, defaults, uiDisplayFallbackFont, fallbackSize
|
|
|
44853
44853
|
run.letterSpacing = defaults.letterSpacing;
|
|
44854
44854
|
}
|
|
44855
44855
|
};
|
|
44856
|
+
const applyInlineRunProperties = (run, runProperties) => {
|
|
44857
|
+
if (!runProperties) return;
|
|
44858
|
+
if (runProperties?.letterSpacing != null) {
|
|
44859
|
+
run.letterSpacing = twipsToPx$1(runProperties.letterSpacing);
|
|
44860
|
+
}
|
|
44861
|
+
};
|
|
44856
44862
|
function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defaultSize, styleContext, listCounterContext, trackedChanges, bookmarks, hyperlinkConfig = DEFAULT_HYPERLINK_CONFIG$1, themeColors, converters, converterContext) {
|
|
44857
44863
|
const baseBlockId = nextBlockId("paragraph");
|
|
44858
44864
|
const paragraphProps = typeof para.attrs?.paragraphProperties === "object" && para.attrs.paragraphProperties !== null ? para.attrs.paragraphProperties : {};
|
|
@@ -45005,7 +45011,7 @@ function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defa
|
|
|
45005
45011
|
runStyleId
|
|
45006
45012
|
});
|
|
45007
45013
|
};
|
|
45008
|
-
const visitNode = (node, inheritedMarks = [], activeSdt, activeRunStyleId = null) => {
|
|
45014
|
+
const visitNode = (node, inheritedMarks = [], activeSdt, activeRunStyleId = null, activeRunProperties) => {
|
|
45009
45015
|
if (node.type === "text" && node.text) {
|
|
45010
45016
|
const run = textNodeToRun(
|
|
45011
45017
|
node,
|
|
@@ -45021,6 +45027,7 @@ function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defa
|
|
|
45021
45027
|
const inlineStyleId = getInlineStyleId(inheritedMarks);
|
|
45022
45028
|
applyRunStyles2(run, inlineStyleId, activeRunStyleId);
|
|
45023
45029
|
applyBaseRunDefaults(run, baseRunDefaults, defaultFont, defaultSize);
|
|
45030
|
+
applyInlineRunProperties(run, activeRunProperties);
|
|
45024
45031
|
applyMarksToRun(
|
|
45025
45032
|
run,
|
|
45026
45033
|
[...node.marks ?? [], ...inheritedMarks ?? []],
|
|
@@ -45033,14 +45040,16 @@ function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defa
|
|
|
45033
45040
|
}
|
|
45034
45041
|
if (node.type === "run" && Array.isArray(node.content)) {
|
|
45035
45042
|
const mergedMarks = [...node.marks ?? [], ...inheritedMarks ?? []];
|
|
45036
|
-
const
|
|
45037
|
-
|
|
45043
|
+
const runProperties = typeof node.attrs?.runProperties === "object" && node.attrs.runProperties !== null ? node.attrs.runProperties : null;
|
|
45044
|
+
const nextRunStyleId = extractRunStyleId(runProperties) ?? activeRunStyleId;
|
|
45045
|
+
const nextRunProperties = runProperties ?? activeRunProperties;
|
|
45046
|
+
node.content.forEach((child) => visitNode(child, mergedMarks, activeSdt, nextRunStyleId, nextRunProperties));
|
|
45038
45047
|
return;
|
|
45039
45048
|
}
|
|
45040
45049
|
if (node.type === "structuredContent" && Array.isArray(node.content)) {
|
|
45041
45050
|
const inlineMetadata = resolveNodeSdtMetadata(node, "structuredContent");
|
|
45042
45051
|
const nextSdt = inlineMetadata ?? activeSdt;
|
|
45043
|
-
node.content.forEach((child) => visitNode(child, inheritedMarks, nextSdt, activeRunStyleId));
|
|
45052
|
+
node.content.forEach((child) => visitNode(child, inheritedMarks, nextSdt, activeRunStyleId, activeRunProperties));
|
|
45044
45053
|
return;
|
|
45045
45054
|
}
|
|
45046
45055
|
if (node.type === "fieldAnnotation") {
|
|
@@ -45094,6 +45103,7 @@ function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defa
|
|
|
45094
45103
|
const inlineStyleId = getInlineStyleId(mergedMarks);
|
|
45095
45104
|
applyRunStyles2(tokenRun, inlineStyleId, activeRunStyleId);
|
|
45096
45105
|
applyBaseRunDefaults(tokenRun, baseRunDefaults, defaultFont, defaultSize);
|
|
45106
|
+
applyInlineRunProperties(tokenRun, activeRunProperties);
|
|
45097
45107
|
if (pageRefPos) {
|
|
45098
45108
|
tokenRun.pmStart = pageRefPos.start;
|
|
45099
45109
|
tokenRun.pmEnd = pageRefPos.end;
|
|
@@ -45108,7 +45118,9 @@ function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defa
|
|
|
45108
45118
|
}
|
|
45109
45119
|
currentRuns.push(tokenRun);
|
|
45110
45120
|
} else if (Array.isArray(node.content)) {
|
|
45111
|
-
node.content.forEach(
|
|
45121
|
+
node.content.forEach(
|
|
45122
|
+
(child) => visitNode(child, mergedMarks, activeSdt, activeRunStyleId, activeRunProperties)
|
|
45123
|
+
);
|
|
45112
45124
|
}
|
|
45113
45125
|
return;
|
|
45114
45126
|
}
|
|
@@ -45122,7 +45134,9 @@ function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defa
|
|
|
45122
45134
|
}
|
|
45123
45135
|
}
|
|
45124
45136
|
if (Array.isArray(node.content)) {
|
|
45125
|
-
node.content.forEach(
|
|
45137
|
+
node.content.forEach(
|
|
45138
|
+
(child) => visitNode(child, inheritedMarks, activeSdt, activeRunStyleId, activeRunProperties)
|
|
45139
|
+
);
|
|
45126
45140
|
}
|
|
45127
45141
|
return;
|
|
45128
45142
|
}
|
|
@@ -45174,6 +45188,7 @@ function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defa
|
|
|
45174
45188
|
runStyleId: activeRunStyleId,
|
|
45175
45189
|
mergedMarksCount: mergedMarks.length
|
|
45176
45190
|
});
|
|
45191
|
+
applyInlineRunProperties(tokenRun, activeRunProperties);
|
|
45177
45192
|
currentRuns.push(tokenRun);
|
|
45178
45193
|
}
|
|
45179
45194
|
return;
|
|
@@ -48350,6 +48365,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48350
48365
|
let lastFontSize = 12;
|
|
48351
48366
|
let tabStopCursor = 0;
|
|
48352
48367
|
let pendingTabAlignment = null;
|
|
48368
|
+
let pendingRunSpacing = 0;
|
|
48353
48369
|
let lastAppliedTabAlign = null;
|
|
48354
48370
|
const warnedTabVals = /* @__PURE__ */ new Set();
|
|
48355
48371
|
let activeTabGroup = null;
|
|
@@ -48360,6 +48376,10 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48360
48376
|
}
|
|
48361
48377
|
return true;
|
|
48362
48378
|
};
|
|
48379
|
+
const resolveBoundarySpacing = (lineWidth, isRunStart, run) => {
|
|
48380
|
+
if (lineWidth <= 0) return 0;
|
|
48381
|
+
return isRunStart ? pendingRunSpacing : run.letterSpacing ?? 0;
|
|
48382
|
+
};
|
|
48363
48383
|
const alignPendingTabForWidth = (segmentWidth, beforeDecimalWidth) => {
|
|
48364
48384
|
if (!pendingTabAlignment || !currentLine) return void 0;
|
|
48365
48385
|
if (segmentWidth < 0) {
|
|
@@ -48487,6 +48507,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48487
48507
|
tabStopCursor = 0;
|
|
48488
48508
|
pendingTabAlignment = null;
|
|
48489
48509
|
lastAppliedTabAlign = null;
|
|
48510
|
+
pendingRunSpacing = 0;
|
|
48490
48511
|
continue;
|
|
48491
48512
|
}
|
|
48492
48513
|
if (isLineBreakRun(run)) {
|
|
@@ -48529,6 +48550,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48529
48550
|
tabStopCursor = 0;
|
|
48530
48551
|
pendingTabAlignment = null;
|
|
48531
48552
|
lastAppliedTabAlign = null;
|
|
48553
|
+
pendingRunSpacing = 0;
|
|
48532
48554
|
continue;
|
|
48533
48555
|
}
|
|
48534
48556
|
if (isTabRun(run)) {
|
|
@@ -48594,6 +48616,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48594
48616
|
} else {
|
|
48595
48617
|
pendingTabAlignment = null;
|
|
48596
48618
|
}
|
|
48619
|
+
pendingRunSpacing = 0;
|
|
48597
48620
|
continue;
|
|
48598
48621
|
}
|
|
48599
48622
|
if (isImageRun(run)) {
|
|
@@ -48632,6 +48655,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48632
48655
|
}
|
|
48633
48656
|
]
|
|
48634
48657
|
};
|
|
48658
|
+
pendingRunSpacing = 0;
|
|
48635
48659
|
if (activeTabGroup && runIndex + 1 >= activeTabGroup.measure.endRunIndex) {
|
|
48636
48660
|
activeTabGroup = null;
|
|
48637
48661
|
}
|
|
@@ -48693,6 +48717,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48693
48717
|
currentLine.width = roundValue(tabAlign.target);
|
|
48694
48718
|
}
|
|
48695
48719
|
lastAppliedTabAlign = null;
|
|
48720
|
+
pendingRunSpacing = 0;
|
|
48696
48721
|
continue;
|
|
48697
48722
|
}
|
|
48698
48723
|
if (isFieldAnnotationRun(run)) {
|
|
@@ -48732,6 +48757,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48732
48757
|
}
|
|
48733
48758
|
]
|
|
48734
48759
|
};
|
|
48760
|
+
pendingRunSpacing = 0;
|
|
48735
48761
|
continue;
|
|
48736
48762
|
}
|
|
48737
48763
|
if (currentLine.width + annotationWidth > currentLine.maxWidth && currentLine.width > 0) {
|
|
@@ -48784,9 +48810,11 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48784
48810
|
currentLine.width = roundValue(tabAlign.target);
|
|
48785
48811
|
}
|
|
48786
48812
|
lastAppliedTabAlign = null;
|
|
48813
|
+
pendingRunSpacing = 0;
|
|
48787
48814
|
continue;
|
|
48788
48815
|
}
|
|
48789
48816
|
if (!("text" in run) || !("fontSize" in run)) {
|
|
48817
|
+
pendingRunSpacing = 0;
|
|
48790
48818
|
continue;
|
|
48791
48819
|
}
|
|
48792
48820
|
lastFontSize = run.fontSize;
|
|
@@ -48797,6 +48825,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48797
48825
|
const segment = tabSegments[segmentIndex];
|
|
48798
48826
|
const isLastSegment = segmentIndex === tabSegments.length - 1;
|
|
48799
48827
|
if (/^[ ]+$/.test(segment)) {
|
|
48828
|
+
const isRunStart = charPosInRun === 0 && segmentIndex === 0;
|
|
48800
48829
|
const spacesLength = segment.length;
|
|
48801
48830
|
const spacesStartChar = charPosInRun;
|
|
48802
48831
|
const spacesEndChar = charPosInRun + spacesLength;
|
|
@@ -48815,7 +48844,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48815
48844
|
spaceCount: spacesLength
|
|
48816
48845
|
};
|
|
48817
48846
|
} else {
|
|
48818
|
-
const boundarySpacing = currentLine.width
|
|
48847
|
+
const boundarySpacing = resolveBoundarySpacing(currentLine.width, isRunStart, run);
|
|
48819
48848
|
if (currentLine.width + boundarySpacing + spacesWidth > currentLine.maxWidth - WIDTH_FUDGE_PX2 && currentLine.width > 0) {
|
|
48820
48849
|
trimTrailingWrapSpaces(currentLine);
|
|
48821
48850
|
const metrics = calculateTypographyMetrics(currentLine.maxFontSize, spacing, currentLine.maxFontInfo);
|
|
@@ -48879,6 +48908,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48879
48908
|
const spaceStartChar = charPosInRun;
|
|
48880
48909
|
const spaceEndChar = charPosInRun + 1;
|
|
48881
48910
|
const singleSpaceWidth = measureRunWidth(" ", font, ctx2, run, spaceStartChar);
|
|
48911
|
+
const isRunStart2 = charPosInRun === 0 && segmentIndex === 0 && wordIndex === 0;
|
|
48882
48912
|
if (!currentLine) {
|
|
48883
48913
|
currentLine = {
|
|
48884
48914
|
fromRun: runIndex,
|
|
@@ -48893,7 +48923,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48893
48923
|
spaceCount: 1
|
|
48894
48924
|
};
|
|
48895
48925
|
} else {
|
|
48896
|
-
const boundarySpacing2 = currentLine.width
|
|
48926
|
+
const boundarySpacing2 = resolveBoundarySpacing(currentLine.width, isRunStart2, run);
|
|
48897
48927
|
if (currentLine.width + boundarySpacing2 + singleSpaceWidth > currentLine.maxWidth - WIDTH_FUDGE_PX2 && currentLine.width > 0) {
|
|
48898
48928
|
trimTrailingWrapSpaces(currentLine);
|
|
48899
48929
|
const metrics = calculateTypographyMetrics(currentLine.maxFontSize, spacing, currentLine.maxFontInfo);
|
|
@@ -49078,7 +49108,8 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
49078
49108
|
continue;
|
|
49079
49109
|
}
|
|
49080
49110
|
const isTocEntry = block.attrs?.isTocEntry;
|
|
49081
|
-
const
|
|
49111
|
+
const isRunStart = charPosInRun === 0 && segmentIndex === 0 && wordIndex === 0;
|
|
49112
|
+
const boundarySpacing = resolveBoundarySpacing(currentLine.width, isRunStart, run);
|
|
49082
49113
|
const justifyAlignment = block.attrs?.alignment === "justify";
|
|
49083
49114
|
const totalWidthWithWord = currentLine.width + boundarySpacing + wordCommitWidth + // Safe cast: only TextRuns produce word segments from split(), other run types are handled earlier
|
|
49084
49115
|
(shouldIncludeDelimiterSpace ? run.letterSpacing ?? 0 : 0);
|
|
@@ -49246,6 +49277,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
49246
49277
|
}
|
|
49247
49278
|
}
|
|
49248
49279
|
}
|
|
49280
|
+
pendingRunSpacing = run.letterSpacing ?? 0;
|
|
49249
49281
|
}
|
|
49250
49282
|
if (!currentLine && lines.length === 0) {
|
|
49251
49283
|
const uiDisplayFallbackFontSize = (block.runs[0]?.kind === "text" ? block.runs[0].fontSize : void 0) ?? 12;
|
|
@@ -50049,6 +50081,7 @@ class PresentationEditor extends EventEmitter {
|
|
|
50049
50081
|
#dragLastPointer = null;
|
|
50050
50082
|
#dragLastRawHit = null;
|
|
50051
50083
|
#dragUsedPageNotMountedFallback = false;
|
|
50084
|
+
#suppressFocusInFromDraggable = false;
|
|
50052
50085
|
// Cell selection drag state
|
|
50053
50086
|
// Tracks cell-specific context when drag starts in a table for multi-cell selection
|
|
50054
50087
|
#cellAnchor = null;
|
|
@@ -52032,6 +52065,7 @@ class PresentationEditor extends EventEmitter {
|
|
|
52032
52065
|
return;
|
|
52033
52066
|
}
|
|
52034
52067
|
const isDraggableAnnotation = target?.closest?.('[data-draggable="true"]') != null;
|
|
52068
|
+
this.#suppressFocusInFromDraggable = isDraggableAnnotation;
|
|
52035
52069
|
if (!this.#layoutState.layout) {
|
|
52036
52070
|
if (!isDraggableAnnotation) {
|
|
52037
52071
|
event.preventDefault();
|
|
@@ -52788,6 +52822,10 @@ class PresentationEditor extends EventEmitter {
|
|
|
52788
52822
|
if (isInRegisteredSurface(event)) {
|
|
52789
52823
|
return;
|
|
52790
52824
|
}
|
|
52825
|
+
if (this.#suppressFocusInFromDraggable) {
|
|
52826
|
+
this.#suppressFocusInFromDraggable = false;
|
|
52827
|
+
return;
|
|
52828
|
+
}
|
|
52791
52829
|
const target = event.target;
|
|
52792
52830
|
const activeTarget = this.#getActiveDomTarget();
|
|
52793
52831
|
if (!activeTarget) {
|
|
@@ -52814,6 +52852,7 @@ class PresentationEditor extends EventEmitter {
|
|
|
52814
52852
|
}
|
|
52815
52853
|
};
|
|
52816
52854
|
#handlePointerUp = (event) => {
|
|
52855
|
+
this.#suppressFocusInFromDraggable = false;
|
|
52817
52856
|
if (!this.#isDragging) return;
|
|
52818
52857
|
if (typeof this.#viewportHost.hasPointerCapture === "function" && typeof this.#viewportHost.releasePointerCapture === "function" && this.#viewportHost.hasPointerCapture(event.pointerId)) {
|
|
52819
52858
|
this.#viewportHost.releasePointerCapture(event.pointerId);
|
|
@@ -60561,16 +60600,7 @@ const Table = Node$1.create({
|
|
|
60561
60600
|
* @param {import("./tableHelpers/createTableBorders.js").TableBorders} [borders] - Border styling for this table
|
|
60562
60601
|
*/
|
|
60563
60602
|
borders: {
|
|
60564
|
-
default: {}
|
|
60565
|
-
renderDOM({ borders }) {
|
|
60566
|
-
if (!borders) return {};
|
|
60567
|
-
const style2 = Object.entries(borders).reduce((acc, [key2, { size: size2, color }]) => {
|
|
60568
|
-
return `${acc}border-${key2}: ${Math.ceil(size2)}px solid ${color || "black"};`;
|
|
60569
|
-
}, "");
|
|
60570
|
-
return {
|
|
60571
|
-
style: style2
|
|
60572
|
-
};
|
|
60573
|
-
}
|
|
60603
|
+
default: {}
|
|
60574
60604
|
},
|
|
60575
60605
|
/**
|
|
60576
60606
|
* @category Attribute
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const jszip = require("./jszip-C8_CqJxM.cjs");
|
|
3
3
|
const helpers$1 = require("./helpers-nOdwpmwb.cjs");
|
|
4
|
-
const superEditor_converter = require("./SuperConverter-
|
|
4
|
+
const superEditor_converter = require("./SuperConverter-d7nvQrVD.cjs");
|
|
5
5
|
const vue = require("./vue-De9wkgLl.cjs");
|
|
6
6
|
require("./jszip.min-BPh2MMAa.cjs");
|
|
7
7
|
const eventemitter3 = require("./eventemitter3-BQuRcMPI.cjs");
|
|
@@ -15351,7 +15351,7 @@ const canUseDOM = () => {
|
|
|
15351
15351
|
return false;
|
|
15352
15352
|
}
|
|
15353
15353
|
};
|
|
15354
|
-
const summaryVersion = "1.3.0-next.
|
|
15354
|
+
const summaryVersion = "1.3.0-next.8";
|
|
15355
15355
|
const nodeKeys = ["group", "content", "marks", "inline", "atom", "defining", "code", "tableRole", "summary"];
|
|
15356
15356
|
const markKeys = ["group", "inclusive", "excludes", "spanning", "code"];
|
|
15357
15357
|
function mapAttributes(attrs) {
|
|
@@ -17984,7 +17984,7 @@ class Editor extends EventEmitter {
|
|
|
17984
17984
|
* Process collaboration migrations
|
|
17985
17985
|
*/
|
|
17986
17986
|
processCollaborationMigrations() {
|
|
17987
|
-
console.debug("[checkVersionMigrations] Current editor version", "1.3.0-next.
|
|
17987
|
+
console.debug("[checkVersionMigrations] Current editor version", "1.3.0-next.8");
|
|
17988
17988
|
if (!this.options.ydoc) return;
|
|
17989
17989
|
const metaMap = this.options.ydoc.getMap("meta");
|
|
17990
17990
|
let docVersion = metaMap.get("version");
|
|
@@ -44870,6 +44870,12 @@ const applyBaseRunDefaults = (run, defaults, uiDisplayFallbackFont, fallbackSize
|
|
|
44870
44870
|
run.letterSpacing = defaults.letterSpacing;
|
|
44871
44871
|
}
|
|
44872
44872
|
};
|
|
44873
|
+
const applyInlineRunProperties = (run, runProperties) => {
|
|
44874
|
+
if (!runProperties) return;
|
|
44875
|
+
if (runProperties?.letterSpacing != null) {
|
|
44876
|
+
run.letterSpacing = twipsToPx$1(runProperties.letterSpacing);
|
|
44877
|
+
}
|
|
44878
|
+
};
|
|
44873
44879
|
function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defaultSize, styleContext, listCounterContext, trackedChanges, bookmarks, hyperlinkConfig = DEFAULT_HYPERLINK_CONFIG$1, themeColors, converters, converterContext) {
|
|
44874
44880
|
const baseBlockId = nextBlockId("paragraph");
|
|
44875
44881
|
const paragraphProps = typeof para.attrs?.paragraphProperties === "object" && para.attrs.paragraphProperties !== null ? para.attrs.paragraphProperties : {};
|
|
@@ -45022,7 +45028,7 @@ function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defa
|
|
|
45022
45028
|
runStyleId
|
|
45023
45029
|
});
|
|
45024
45030
|
};
|
|
45025
|
-
const visitNode = (node, inheritedMarks = [], activeSdt, activeRunStyleId = null) => {
|
|
45031
|
+
const visitNode = (node, inheritedMarks = [], activeSdt, activeRunStyleId = null, activeRunProperties) => {
|
|
45026
45032
|
if (node.type === "text" && node.text) {
|
|
45027
45033
|
const run = textNodeToRun(
|
|
45028
45034
|
node,
|
|
@@ -45038,6 +45044,7 @@ function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defa
|
|
|
45038
45044
|
const inlineStyleId = getInlineStyleId(inheritedMarks);
|
|
45039
45045
|
applyRunStyles2(run, inlineStyleId, activeRunStyleId);
|
|
45040
45046
|
applyBaseRunDefaults(run, baseRunDefaults, defaultFont, defaultSize);
|
|
45047
|
+
applyInlineRunProperties(run, activeRunProperties);
|
|
45041
45048
|
applyMarksToRun(
|
|
45042
45049
|
run,
|
|
45043
45050
|
[...node.marks ?? [], ...inheritedMarks ?? []],
|
|
@@ -45050,14 +45057,16 @@ function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defa
|
|
|
45050
45057
|
}
|
|
45051
45058
|
if (node.type === "run" && Array.isArray(node.content)) {
|
|
45052
45059
|
const mergedMarks = [...node.marks ?? [], ...inheritedMarks ?? []];
|
|
45053
|
-
const
|
|
45054
|
-
|
|
45060
|
+
const runProperties = typeof node.attrs?.runProperties === "object" && node.attrs.runProperties !== null ? node.attrs.runProperties : null;
|
|
45061
|
+
const nextRunStyleId = extractRunStyleId(runProperties) ?? activeRunStyleId;
|
|
45062
|
+
const nextRunProperties = runProperties ?? activeRunProperties;
|
|
45063
|
+
node.content.forEach((child) => visitNode(child, mergedMarks, activeSdt, nextRunStyleId, nextRunProperties));
|
|
45055
45064
|
return;
|
|
45056
45065
|
}
|
|
45057
45066
|
if (node.type === "structuredContent" && Array.isArray(node.content)) {
|
|
45058
45067
|
const inlineMetadata = resolveNodeSdtMetadata(node, "structuredContent");
|
|
45059
45068
|
const nextSdt = inlineMetadata ?? activeSdt;
|
|
45060
|
-
node.content.forEach((child) => visitNode(child, inheritedMarks, nextSdt, activeRunStyleId));
|
|
45069
|
+
node.content.forEach((child) => visitNode(child, inheritedMarks, nextSdt, activeRunStyleId, activeRunProperties));
|
|
45061
45070
|
return;
|
|
45062
45071
|
}
|
|
45063
45072
|
if (node.type === "fieldAnnotation") {
|
|
@@ -45111,6 +45120,7 @@ function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defa
|
|
|
45111
45120
|
const inlineStyleId = getInlineStyleId(mergedMarks);
|
|
45112
45121
|
applyRunStyles2(tokenRun, inlineStyleId, activeRunStyleId);
|
|
45113
45122
|
applyBaseRunDefaults(tokenRun, baseRunDefaults, defaultFont, defaultSize);
|
|
45123
|
+
applyInlineRunProperties(tokenRun, activeRunProperties);
|
|
45114
45124
|
if (pageRefPos) {
|
|
45115
45125
|
tokenRun.pmStart = pageRefPos.start;
|
|
45116
45126
|
tokenRun.pmEnd = pageRefPos.end;
|
|
@@ -45125,7 +45135,9 @@ function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defa
|
|
|
45125
45135
|
}
|
|
45126
45136
|
currentRuns.push(tokenRun);
|
|
45127
45137
|
} else if (Array.isArray(node.content)) {
|
|
45128
|
-
node.content.forEach(
|
|
45138
|
+
node.content.forEach(
|
|
45139
|
+
(child) => visitNode(child, mergedMarks, activeSdt, activeRunStyleId, activeRunProperties)
|
|
45140
|
+
);
|
|
45129
45141
|
}
|
|
45130
45142
|
return;
|
|
45131
45143
|
}
|
|
@@ -45139,7 +45151,9 @@ function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defa
|
|
|
45139
45151
|
}
|
|
45140
45152
|
}
|
|
45141
45153
|
if (Array.isArray(node.content)) {
|
|
45142
|
-
node.content.forEach(
|
|
45154
|
+
node.content.forEach(
|
|
45155
|
+
(child) => visitNode(child, inheritedMarks, activeSdt, activeRunStyleId, activeRunProperties)
|
|
45156
|
+
);
|
|
45143
45157
|
}
|
|
45144
45158
|
return;
|
|
45145
45159
|
}
|
|
@@ -45191,6 +45205,7 @@ function paragraphToFlowBlocks$1(para, nextBlockId, positions, defaultFont, defa
|
|
|
45191
45205
|
runStyleId: activeRunStyleId,
|
|
45192
45206
|
mergedMarksCount: mergedMarks.length
|
|
45193
45207
|
});
|
|
45208
|
+
applyInlineRunProperties(tokenRun, activeRunProperties);
|
|
45194
45209
|
currentRuns.push(tokenRun);
|
|
45195
45210
|
}
|
|
45196
45211
|
return;
|
|
@@ -48367,6 +48382,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48367
48382
|
let lastFontSize = 12;
|
|
48368
48383
|
let tabStopCursor = 0;
|
|
48369
48384
|
let pendingTabAlignment = null;
|
|
48385
|
+
let pendingRunSpacing = 0;
|
|
48370
48386
|
let lastAppliedTabAlign = null;
|
|
48371
48387
|
const warnedTabVals = /* @__PURE__ */ new Set();
|
|
48372
48388
|
let activeTabGroup = null;
|
|
@@ -48377,6 +48393,10 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48377
48393
|
}
|
|
48378
48394
|
return true;
|
|
48379
48395
|
};
|
|
48396
|
+
const resolveBoundarySpacing = (lineWidth, isRunStart, run) => {
|
|
48397
|
+
if (lineWidth <= 0) return 0;
|
|
48398
|
+
return isRunStart ? pendingRunSpacing : run.letterSpacing ?? 0;
|
|
48399
|
+
};
|
|
48380
48400
|
const alignPendingTabForWidth = (segmentWidth, beforeDecimalWidth) => {
|
|
48381
48401
|
if (!pendingTabAlignment || !currentLine) return void 0;
|
|
48382
48402
|
if (segmentWidth < 0) {
|
|
@@ -48504,6 +48524,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48504
48524
|
tabStopCursor = 0;
|
|
48505
48525
|
pendingTabAlignment = null;
|
|
48506
48526
|
lastAppliedTabAlign = null;
|
|
48527
|
+
pendingRunSpacing = 0;
|
|
48507
48528
|
continue;
|
|
48508
48529
|
}
|
|
48509
48530
|
if (isLineBreakRun(run)) {
|
|
@@ -48546,6 +48567,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48546
48567
|
tabStopCursor = 0;
|
|
48547
48568
|
pendingTabAlignment = null;
|
|
48548
48569
|
lastAppliedTabAlign = null;
|
|
48570
|
+
pendingRunSpacing = 0;
|
|
48549
48571
|
continue;
|
|
48550
48572
|
}
|
|
48551
48573
|
if (isTabRun(run)) {
|
|
@@ -48611,6 +48633,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48611
48633
|
} else {
|
|
48612
48634
|
pendingTabAlignment = null;
|
|
48613
48635
|
}
|
|
48636
|
+
pendingRunSpacing = 0;
|
|
48614
48637
|
continue;
|
|
48615
48638
|
}
|
|
48616
48639
|
if (isImageRun(run)) {
|
|
@@ -48649,6 +48672,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48649
48672
|
}
|
|
48650
48673
|
]
|
|
48651
48674
|
};
|
|
48675
|
+
pendingRunSpacing = 0;
|
|
48652
48676
|
if (activeTabGroup && runIndex + 1 >= activeTabGroup.measure.endRunIndex) {
|
|
48653
48677
|
activeTabGroup = null;
|
|
48654
48678
|
}
|
|
@@ -48710,6 +48734,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48710
48734
|
currentLine.width = roundValue(tabAlign.target);
|
|
48711
48735
|
}
|
|
48712
48736
|
lastAppliedTabAlign = null;
|
|
48737
|
+
pendingRunSpacing = 0;
|
|
48713
48738
|
continue;
|
|
48714
48739
|
}
|
|
48715
48740
|
if (isFieldAnnotationRun(run)) {
|
|
@@ -48749,6 +48774,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48749
48774
|
}
|
|
48750
48775
|
]
|
|
48751
48776
|
};
|
|
48777
|
+
pendingRunSpacing = 0;
|
|
48752
48778
|
continue;
|
|
48753
48779
|
}
|
|
48754
48780
|
if (currentLine.width + annotationWidth > currentLine.maxWidth && currentLine.width > 0) {
|
|
@@ -48801,9 +48827,11 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48801
48827
|
currentLine.width = roundValue(tabAlign.target);
|
|
48802
48828
|
}
|
|
48803
48829
|
lastAppliedTabAlign = null;
|
|
48830
|
+
pendingRunSpacing = 0;
|
|
48804
48831
|
continue;
|
|
48805
48832
|
}
|
|
48806
48833
|
if (!("text" in run) || !("fontSize" in run)) {
|
|
48834
|
+
pendingRunSpacing = 0;
|
|
48807
48835
|
continue;
|
|
48808
48836
|
}
|
|
48809
48837
|
lastFontSize = run.fontSize;
|
|
@@ -48814,6 +48842,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48814
48842
|
const segment = tabSegments[segmentIndex];
|
|
48815
48843
|
const isLastSegment = segmentIndex === tabSegments.length - 1;
|
|
48816
48844
|
if (/^[ ]+$/.test(segment)) {
|
|
48845
|
+
const isRunStart = charPosInRun === 0 && segmentIndex === 0;
|
|
48817
48846
|
const spacesLength = segment.length;
|
|
48818
48847
|
const spacesStartChar = charPosInRun;
|
|
48819
48848
|
const spacesEndChar = charPosInRun + spacesLength;
|
|
@@ -48832,7 +48861,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48832
48861
|
spaceCount: spacesLength
|
|
48833
48862
|
};
|
|
48834
48863
|
} else {
|
|
48835
|
-
const boundarySpacing = currentLine.width
|
|
48864
|
+
const boundarySpacing = resolveBoundarySpacing(currentLine.width, isRunStart, run);
|
|
48836
48865
|
if (currentLine.width + boundarySpacing + spacesWidth > currentLine.maxWidth - WIDTH_FUDGE_PX2 && currentLine.width > 0) {
|
|
48837
48866
|
trimTrailingWrapSpaces(currentLine);
|
|
48838
48867
|
const metrics = calculateTypographyMetrics(currentLine.maxFontSize, spacing, currentLine.maxFontInfo);
|
|
@@ -48896,6 +48925,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48896
48925
|
const spaceStartChar = charPosInRun;
|
|
48897
48926
|
const spaceEndChar = charPosInRun + 1;
|
|
48898
48927
|
const singleSpaceWidth = measureRunWidth(" ", font, ctx2, run, spaceStartChar);
|
|
48928
|
+
const isRunStart2 = charPosInRun === 0 && segmentIndex === 0 && wordIndex === 0;
|
|
48899
48929
|
if (!currentLine) {
|
|
48900
48930
|
currentLine = {
|
|
48901
48931
|
fromRun: runIndex,
|
|
@@ -48910,7 +48940,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
48910
48940
|
spaceCount: 1
|
|
48911
48941
|
};
|
|
48912
48942
|
} else {
|
|
48913
|
-
const boundarySpacing2 = currentLine.width
|
|
48943
|
+
const boundarySpacing2 = resolveBoundarySpacing(currentLine.width, isRunStart2, run);
|
|
48914
48944
|
if (currentLine.width + boundarySpacing2 + singleSpaceWidth > currentLine.maxWidth - WIDTH_FUDGE_PX2 && currentLine.width > 0) {
|
|
48915
48945
|
trimTrailingWrapSpaces(currentLine);
|
|
48916
48946
|
const metrics = calculateTypographyMetrics(currentLine.maxFontSize, spacing, currentLine.maxFontInfo);
|
|
@@ -49095,7 +49125,8 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
49095
49125
|
continue;
|
|
49096
49126
|
}
|
|
49097
49127
|
const isTocEntry = block.attrs?.isTocEntry;
|
|
49098
|
-
const
|
|
49128
|
+
const isRunStart = charPosInRun === 0 && segmentIndex === 0 && wordIndex === 0;
|
|
49129
|
+
const boundarySpacing = resolveBoundarySpacing(currentLine.width, isRunStart, run);
|
|
49099
49130
|
const justifyAlignment = block.attrs?.alignment === "justify";
|
|
49100
49131
|
const totalWidthWithWord = currentLine.width + boundarySpacing + wordCommitWidth + // Safe cast: only TextRuns produce word segments from split(), other run types are handled earlier
|
|
49101
49132
|
(shouldIncludeDelimiterSpace ? run.letterSpacing ?? 0 : 0);
|
|
@@ -49263,6 +49294,7 @@ async function measureParagraphBlock(block, maxWidth) {
|
|
|
49263
49294
|
}
|
|
49264
49295
|
}
|
|
49265
49296
|
}
|
|
49297
|
+
pendingRunSpacing = run.letterSpacing ?? 0;
|
|
49266
49298
|
}
|
|
49267
49299
|
if (!currentLine && lines.length === 0) {
|
|
49268
49300
|
const uiDisplayFallbackFontSize = (block.runs[0]?.kind === "text" ? block.runs[0].fontSize : void 0) ?? 12;
|
|
@@ -50066,6 +50098,7 @@ class PresentationEditor extends EventEmitter {
|
|
|
50066
50098
|
#dragLastPointer = null;
|
|
50067
50099
|
#dragLastRawHit = null;
|
|
50068
50100
|
#dragUsedPageNotMountedFallback = false;
|
|
50101
|
+
#suppressFocusInFromDraggable = false;
|
|
50069
50102
|
// Cell selection drag state
|
|
50070
50103
|
// Tracks cell-specific context when drag starts in a table for multi-cell selection
|
|
50071
50104
|
#cellAnchor = null;
|
|
@@ -52049,6 +52082,7 @@ class PresentationEditor extends EventEmitter {
|
|
|
52049
52082
|
return;
|
|
52050
52083
|
}
|
|
52051
52084
|
const isDraggableAnnotation = target?.closest?.('[data-draggable="true"]') != null;
|
|
52085
|
+
this.#suppressFocusInFromDraggable = isDraggableAnnotation;
|
|
52052
52086
|
if (!this.#layoutState.layout) {
|
|
52053
52087
|
if (!isDraggableAnnotation) {
|
|
52054
52088
|
event.preventDefault();
|
|
@@ -52805,6 +52839,10 @@ class PresentationEditor extends EventEmitter {
|
|
|
52805
52839
|
if (isInRegisteredSurface(event)) {
|
|
52806
52840
|
return;
|
|
52807
52841
|
}
|
|
52842
|
+
if (this.#suppressFocusInFromDraggable) {
|
|
52843
|
+
this.#suppressFocusInFromDraggable = false;
|
|
52844
|
+
return;
|
|
52845
|
+
}
|
|
52808
52846
|
const target = event.target;
|
|
52809
52847
|
const activeTarget = this.#getActiveDomTarget();
|
|
52810
52848
|
if (!activeTarget) {
|
|
@@ -52831,6 +52869,7 @@ class PresentationEditor extends EventEmitter {
|
|
|
52831
52869
|
}
|
|
52832
52870
|
};
|
|
52833
52871
|
#handlePointerUp = (event) => {
|
|
52872
|
+
this.#suppressFocusInFromDraggable = false;
|
|
52834
52873
|
if (!this.#isDragging) return;
|
|
52835
52874
|
if (typeof this.#viewportHost.hasPointerCapture === "function" && typeof this.#viewportHost.releasePointerCapture === "function" && this.#viewportHost.hasPointerCapture(event.pointerId)) {
|
|
52836
52875
|
this.#viewportHost.releasePointerCapture(event.pointerId);
|
|
@@ -60578,16 +60617,7 @@ const Table = Node$1.create({
|
|
|
60578
60617
|
* @param {import("./tableHelpers/createTableBorders.js").TableBorders} [borders] - Border styling for this table
|
|
60579
60618
|
*/
|
|
60580
60619
|
borders: {
|
|
60581
|
-
default: {}
|
|
60582
|
-
renderDOM({ borders }) {
|
|
60583
|
-
if (!borders) return {};
|
|
60584
|
-
const style2 = Object.entries(borders).reduce((acc, [key2, { size: size2, color }]) => {
|
|
60585
|
-
return `${acc}border-${key2}: ${Math.ceil(size2)}px solid ${color || "black"};`;
|
|
60586
|
-
}, "");
|
|
60587
|
-
return {
|
|
60588
|
-
style: style2
|
|
60589
|
-
};
|
|
60590
|
-
}
|
|
60620
|
+
default: {}
|
|
60591
60621
|
},
|
|
60592
60622
|
/**
|
|
60593
60623
|
* @category Attribute
|
|
@@ -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-DoZiv8EQ.es.js";
|
|
2
|
+
import "./SuperConverter-DwLhA2mM.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";
|
|
@@ -7444,7 +7444,7 @@ const _sfc_main = {
|
|
|
7444
7444
|
__name: "SuperDoc",
|
|
7445
7445
|
emits: ["selection-update"],
|
|
7446
7446
|
setup(__props, { emit: __emit }) {
|
|
7447
|
-
const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-
|
|
7447
|
+
const PdfViewer = defineAsyncComponent(() => import("./PdfViewer-CjwO2nPe.es.js"));
|
|
7448
7448
|
const superdocStore = useSuperdocStore();
|
|
7449
7449
|
const commentsStore = useCommentsStore();
|
|
7450
7450
|
const {
|
|
@@ -8350,7 +8350,7 @@ class SuperDoc extends EventEmitter {
|
|
|
8350
8350
|
this.config.colors = shuffleArray(this.config.colors);
|
|
8351
8351
|
this.userColorMap = /* @__PURE__ */ new Map();
|
|
8352
8352
|
this.colorIndex = 0;
|
|
8353
|
-
this.version = "1.3.0-next.
|
|
8353
|
+
this.version = "1.3.0-next.8";
|
|
8354
8354
|
this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
|
|
8355
8355
|
this.superdocId = config.superdocId || v4();
|
|
8356
8356
|
this.colors = this.config.colors;
|
package/dist/style.css
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* SVG has its own rendering model and doesn't need CSS isolation the same way text content does.
|
|
8
8
|
*/
|
|
9
9
|
.sd-editor-scoped,
|
|
10
|
-
.sd-editor-scoped :where(*:not(svg):not(svg *)),
|
|
10
|
+
.sd-editor-scoped :where(*:not(svg):not(svg *):not(.annotation):not([data-drag-handle])),
|
|
11
11
|
.sd-editor-scoped :where(*:not(svg):not(svg *)::before),
|
|
12
12
|
.sd-editor-scoped :where(*:not(svg):not(svg *)::after) {
|
|
13
13
|
all: revert;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
require("../chunks/jszip-C8_CqJxM.cjs");
|
|
4
4
|
require("../chunks/helpers-nOdwpmwb.cjs");
|
|
5
|
-
const superEditor_converter = require("../chunks/SuperConverter-
|
|
5
|
+
const superEditor_converter = require("../chunks/SuperConverter-d7nvQrVD.cjs");
|
|
6
6
|
require("../chunks/uuid-R7L08bOx.cjs");
|
|
7
7
|
exports.SuperConverter = superEditor_converter.SuperConverter;
|