@beyondwork/docx-react-component 1.0.121 → 1.0.123
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/api/public-types.cjs +318 -32
- package/dist/api/public-types.d.cts +2 -2
- package/dist/api/public-types.d.ts +2 -2
- package/dist/api/public-types.js +3 -3
- package/dist/api/v3.cjs +349 -62
- package/dist/api/v3.d.cts +3 -3
- package/dist/api/v3.d.ts +3 -3
- package/dist/api/v3.js +10 -10
- package/dist/{canonical-document-ByIqTd4s.d.cts → canonical-document-CG2TgAzj.d.cts} +1 -1
- package/dist/{canonical-document-ByIqTd4s.d.ts → canonical-document-CG2TgAzj.d.ts} +1 -1
- package/dist/{chunk-B4YHWFE3.js → chunk-32ZAOQ54.js} +1 -1
- package/dist/{chunk-QNGJRZ2D.js → chunk-4IPEZYQX.js} +1 -1
- package/dist/{chunk-3OFSP2IX.js → chunk-BOHHIVQ2.js} +3 -3
- package/dist/{chunk-EMDH4IQN.js → chunk-E5IBDE5E.js} +4 -3
- package/dist/{chunk-TFSXOIAI.js → chunk-FNWKE74J.js} +43 -3
- package/dist/{chunk-IT2DK3A7.js → chunk-H2YQKA55.js} +9 -7
- package/dist/{chunk-3TUQCHYT.js → chunk-H6IL5ABU.js} +47 -7
- package/dist/{chunk-GON2DNTE.js → chunk-HXHQA4BU.js} +1 -1
- package/dist/{chunk-3OHVK2D6.js → chunk-IR7QV2BX.js} +17 -1
- package/dist/{chunk-ZKSDVHGH.js → chunk-KOHQFZMM.js} +1 -1
- package/dist/{chunk-XVFENXLK.js → chunk-LGWNN3L2.js} +2 -2
- package/dist/{chunk-TMU7JMXX.js → chunk-MB7RJBSN.js} +9 -21
- package/dist/{chunk-UWDWGQH5.js → chunk-ML4A4WUN.js} +1 -1
- package/dist/{chunk-GZW2ERUO.js → chunk-N4VIXI2Z.js} +3 -3
- package/dist/{chunk-S4ANOS2M.js → chunk-NNPVA5VL.js} +2 -2
- package/dist/{chunk-QFU7ZOAD.js → chunk-PFYUJU3Q.js} +176 -36
- package/dist/{chunk-37SEJQ3G.js → chunk-RSYN6FTS.js} +2 -2
- package/dist/{chunk-OBCP6VTG.js → chunk-RWERZWHR.js} +1 -1
- package/dist/{chunk-UHQOUTAX.js → chunk-SGSJ4DQA.js} +377 -50
- package/dist/{chunk-PCXTMEGY.js → chunk-UHJLCPLU.js} +24 -14
- package/dist/{chunk-G3B2OBCZ.js → chunk-ZRHLLPSJ.js} +271 -26
- package/dist/compare.d.cts +1 -1
- package/dist/compare.d.ts +1 -1
- package/dist/core/commands/formatting-commands.d.cts +2 -2
- package/dist/core/commands/formatting-commands.d.ts +2 -2
- package/dist/core/commands/image-commands.cjs +50 -9
- package/dist/core/commands/image-commands.d.cts +2 -2
- package/dist/core/commands/image-commands.d.ts +2 -2
- package/dist/core/commands/image-commands.js +5 -5
- package/dist/core/commands/section-layout-commands.d.cts +2 -2
- package/dist/core/commands/section-layout-commands.d.ts +2 -2
- package/dist/core/commands/style-commands.d.cts +2 -2
- package/dist/core/commands/style-commands.d.ts +2 -2
- package/dist/core/commands/table-structure-commands.cjs +50 -9
- package/dist/core/commands/table-structure-commands.d.cts +2 -2
- package/dist/core/commands/table-structure-commands.d.ts +2 -2
- package/dist/core/commands/table-structure-commands.js +4 -4
- package/dist/core/commands/text-commands.cjs +66 -9
- package/dist/core/commands/text-commands.d.cts +3 -2
- package/dist/core/commands/text-commands.d.ts +3 -2
- package/dist/core/commands/text-commands.js +5 -5
- package/dist/core/selection/mapping.d.cts +2 -2
- package/dist/core/selection/mapping.d.ts +2 -2
- package/dist/core/state/editor-state.d.cts +2 -2
- package/dist/core/state/editor-state.d.ts +2 -2
- package/dist/index.cjs +1196 -197
- package/dist/index.d.cts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +278 -85
- package/dist/io/docx-session.cjs +10 -21
- package/dist/io/docx-session.d.cts +4 -4
- package/dist/io/docx-session.d.ts +4 -4
- package/dist/io/docx-session.js +4 -4
- package/dist/legal.cjs +8 -20
- package/dist/legal.d.cts +1 -1
- package/dist/legal.d.ts +1 -1
- package/dist/legal.js +3 -3
- package/dist/{loader-BF8ju_LK.d.ts → loader-D9KCtj4m.d.cts} +4 -22
- package/dist/{loader-g54WRvj1.d.cts → loader-D9y4ZRjj.d.ts} +4 -22
- package/dist/{public-types-Dl1jiWjk.d.ts → public-types-CNnMHZM9.d.ts} +263 -213
- package/dist/{public-types-D_y4Ptcj.d.cts → public-types-DajNGKV4.d.cts} +263 -213
- package/dist/public-types.cjs +318 -32
- package/dist/public-types.d.cts +2 -2
- package/dist/public-types.d.ts +2 -2
- package/dist/public-types.js +3 -3
- package/dist/runtime/collab.d.cts +3 -3
- package/dist/runtime/collab.d.ts +3 -3
- package/dist/runtime/document-runtime.cjs +752 -77
- package/dist/runtime/document-runtime.d.cts +2 -2
- package/dist/runtime/document-runtime.d.ts +2 -2
- package/dist/runtime/document-runtime.js +14 -14
- package/dist/{session-C1EPAkcI.d.ts → session-DEmaOEjA.d.ts} +3 -3
- package/dist/{session-D15QOO0Q.d.cts → session-DyQGlryH.d.cts} +3 -3
- package/dist/session.cjs +12 -618
- package/dist/session.d.cts +5 -5
- package/dist/session.d.ts +5 -5
- package/dist/session.js +7 -9
- package/dist/tailwind.cjs +489 -63
- package/dist/tailwind.d.cts +2 -2
- package/dist/tailwind.d.ts +2 -2
- package/dist/tailwind.js +7 -7
- package/dist/{types-BoSRp2Vg.d.cts → types-CxE1aZiv.d.cts} +2 -2
- package/dist/{types-DEvRwq9C.d.ts → types-DjJNaE9c.d.ts} +2 -2
- package/dist/ui-tailwind/editor-surface/search-plugin.d.cts +3 -3
- package/dist/ui-tailwind/editor-surface/search-plugin.d.ts +3 -3
- package/dist/ui-tailwind/editor-surface/search-plugin.js +4 -4
- package/dist/ui-tailwind/theme/tokens.css +387 -0
- package/dist/ui-tailwind.cjs +489 -63
- package/dist/ui-tailwind.d.cts +3 -3
- package/dist/ui-tailwind.d.ts +3 -3
- package/dist/ui-tailwind.js +7 -7
- package/package.json +7 -3
|
@@ -898,12 +898,13 @@ function buildBlockCacheSignature(context, blockIndex) {
|
|
|
898
898
|
owner?.targetKey ?? ""
|
|
899
899
|
].join("|");
|
|
900
900
|
}
|
|
901
|
-
function collectEditableTargetsInBlocks(blocks, context, targets, cache) {
|
|
901
|
+
function collectEditableTargetsInBlocks(blocks, context, targets, cache, blockIndexOffset = 0) {
|
|
902
902
|
for (let blockIndex = 0; blockIndex < blocks.length; blockIndex += 1) {
|
|
903
903
|
const block = blocks[blockIndex];
|
|
904
904
|
if (!block) continue;
|
|
905
|
-
const
|
|
906
|
-
const
|
|
905
|
+
const absoluteBlockIndex = blockIndex + blockIndexOffset;
|
|
906
|
+
const blockPath = `${context.basePath}/block[${absoluteBlockIndex}]`;
|
|
907
|
+
const signature = cache !== void 0 ? buildBlockCacheSignature(context, absoluteBlockIndex) : "";
|
|
907
908
|
if (cache !== void 0) {
|
|
908
909
|
const cached = cache.get(block);
|
|
909
910
|
if (cached !== void 0 && cached.blockPath === blockPath && cached.signature === signature) {
|
|
@@ -5569,6 +5570,8 @@ function createSurfaceBlock(block, document, cursor, counters, formattingContext
|
|
|
5569
5570
|
formattingContext,
|
|
5570
5571
|
promoteSecondaryStoryTextBoxes,
|
|
5571
5572
|
cullBuild,
|
|
5573
|
+
editableTargetsByBlockPath,
|
|
5574
|
+
blockPath,
|
|
5572
5575
|
blockPath !== void 0 ? editableTargetsByBlockPath.get(blockPath) : void 0
|
|
5573
5576
|
);
|
|
5574
5577
|
}
|
|
@@ -5975,7 +5978,7 @@ function getRecursableSdtBlockedReasonCode(block) {
|
|
|
5975
5978
|
].filter(Boolean).join(" ").toLowerCase();
|
|
5976
5979
|
return searchText.includes("table of contents") || /\btoc\b/u.test(searchText) ? "workflow_preserve_only" : null;
|
|
5977
5980
|
}
|
|
5978
|
-
function createParagraphBlock(paragraphIndex, paragraph, document, start, formattingContext, promoteSecondaryStoryTextBoxes, cullBuild = false, editableTarget) {
|
|
5981
|
+
function createParagraphBlock(paragraphIndex, paragraph, document, start, formattingContext, promoteSecondaryStoryTextBoxes, cullBuild = false, editableTargetsByBlockPath = EMPTY_EDITABLE_TARGETS_BY_BLOCK_PATH, blockPath, editableTarget) {
|
|
5979
5982
|
const themeResolver = formattingContext.theme;
|
|
5980
5983
|
const effectiveNumbering = formattingContext.resolveEffectiveParagraphNumbering(paragraph);
|
|
5981
5984
|
let resolvedNumbering = null;
|
|
@@ -6040,6 +6043,8 @@ function createParagraphBlock(paragraphIndex, paragraph, document, start, format
|
|
|
6040
6043
|
document,
|
|
6041
6044
|
cursor,
|
|
6042
6045
|
promoteSecondaryStoryTextBoxes,
|
|
6046
|
+
blockPath !== void 0 ? `${blockPath}/inline[${childIndex}]` : void 0,
|
|
6047
|
+
editableTargetsByBlockPath,
|
|
6043
6048
|
void 0,
|
|
6044
6049
|
cullBuild,
|
|
6045
6050
|
themeResolver,
|
|
@@ -6096,7 +6101,7 @@ function isVisibleTocResultInline(node) {
|
|
|
6096
6101
|
return false;
|
|
6097
6102
|
}
|
|
6098
6103
|
}
|
|
6099
|
-
function appendInlineSegments(paragraph, node, document, start, promoteSecondaryStoryTextBoxes, hyperlinkHref, cullBuild = false, themeResolver, formattingContext) {
|
|
6104
|
+
function appendInlineSegments(paragraph, node, document, start, promoteSecondaryStoryTextBoxes, inlinePath, editableTargetsByBlockPath = EMPTY_EDITABLE_TARGETS_BY_BLOCK_PATH, hyperlinkHref, cullBuild = false, themeResolver, formattingContext) {
|
|
6100
6105
|
switch (node.type) {
|
|
6101
6106
|
case "text": {
|
|
6102
6107
|
const cloned = node.marks ? cloneMarks2(node.marks) : { marks: [] };
|
|
@@ -6149,13 +6154,16 @@ function appendInlineSegments(paragraph, node, document, start, promoteSecondary
|
|
|
6149
6154
|
return { nextCursor: start + 1, lockedFragmentIds: [] };
|
|
6150
6155
|
case "hyperlink": {
|
|
6151
6156
|
let cursor = start;
|
|
6152
|
-
for (
|
|
6157
|
+
for (let childIndex = 0; childIndex < node.children.length; childIndex += 1) {
|
|
6158
|
+
const child = node.children[childIndex];
|
|
6153
6159
|
const result = appendInlineSegments(
|
|
6154
6160
|
paragraph,
|
|
6155
6161
|
child,
|
|
6156
6162
|
document,
|
|
6157
6163
|
cursor,
|
|
6158
6164
|
promoteSecondaryStoryTextBoxes,
|
|
6165
|
+
inlinePath !== void 0 ? `${inlinePath}/child[${childIndex}]` : void 0,
|
|
6166
|
+
editableTargetsByBlockPath,
|
|
6159
6167
|
node.href,
|
|
6160
6168
|
cullBuild,
|
|
6161
6169
|
themeResolver,
|
|
@@ -6214,6 +6222,33 @@ function appendInlineSegments(paragraph, node, document, start, promoteSecondary
|
|
|
6214
6222
|
if (isMicrosoftSensitivityLabelShape(node)) {
|
|
6215
6223
|
return { nextCursor: start + 1, lockedFragmentIds: [] };
|
|
6216
6224
|
}
|
|
6225
|
+
if (node.isTextBox && node.txbxBlocks !== void 0) {
|
|
6226
|
+
const txbxTextSegment = extractTxbxFirstTextSegment(node.txbxBlocks);
|
|
6227
|
+
const txbxText = txbxTextSegment?.text ?? node.text;
|
|
6228
|
+
const txbxBody = surfaceTextBoxBodyFromShape(
|
|
6229
|
+
node,
|
|
6230
|
+
void 0,
|
|
6231
|
+
inlinePath,
|
|
6232
|
+
editableTargetsByBlockPath
|
|
6233
|
+
);
|
|
6234
|
+
paragraph.segments.push({
|
|
6235
|
+
segmentId: `${paragraph.blockId}-segment-${paragraph.segments.length}`,
|
|
6236
|
+
kind: "shape",
|
|
6237
|
+
from: start,
|
|
6238
|
+
to: start + 1,
|
|
6239
|
+
label: "Text box",
|
|
6240
|
+
detail: createShapeDetail(node),
|
|
6241
|
+
...node.geometry !== void 0 ? { geometry: node.geometry } : {},
|
|
6242
|
+
isTextBox: true,
|
|
6243
|
+
...node.textBoxBody ? { textBoxBody: node.textBoxBody } : {},
|
|
6244
|
+
...node.preserveOnlyObject ? { preserveOnlyObject: surfacePreserveOnlyObject(node.preserveOnlyObject) } : {},
|
|
6245
|
+
...txbxText ? { txbxText } : {},
|
|
6246
|
+
...txbxBody ? { txbxBody } : {},
|
|
6247
|
+
...txbxTextSegment?.marks && txbxTextSegment.marks.length > 0 ? { txbxMarks: txbxTextSegment.marks } : {},
|
|
6248
|
+
...txbxTextSegment?.markAttrs ? { txbxMarkAttrs: txbxTextSegment.markAttrs } : {}
|
|
6249
|
+
});
|
|
6250
|
+
return { nextCursor: start + 1, lockedFragmentIds: [] };
|
|
6251
|
+
}
|
|
6217
6252
|
if (promoteSecondaryStoryTextBoxes && node.isTextBox && node.text) {
|
|
6218
6253
|
return appendTextBoxSegment(
|
|
6219
6254
|
paragraph,
|
|
@@ -6273,7 +6308,7 @@ function appendInlineSegments(paragraph, node, document, start, promoteSecondary
|
|
|
6273
6308
|
const anchor = surfaceAnchorFromGeometry(node.anchor);
|
|
6274
6309
|
const txbxTextSegment = c.isTextBox ? extractTxbxFirstTextSegment(c.txbxBlocks) : void 0;
|
|
6275
6310
|
const txbxText = txbxTextSegment?.text ?? (c.isTextBox ? c.text : void 0);
|
|
6276
|
-
const txbxBody = c.isTextBox ? surfaceTextBoxBodyFromShape(c, node.sourceRef) : void 0;
|
|
6311
|
+
const txbxBody = c.isTextBox ? surfaceTextBoxBodyFromShape(c, node.sourceRef, inlinePath, editableTargetsByBlockPath) : void 0;
|
|
6277
6312
|
const surfaceFill = c.fill;
|
|
6278
6313
|
paragraph.segments.push({
|
|
6279
6314
|
segmentId: `${paragraph.blockId}-segment-${paragraph.segments.length}`,
|
|
@@ -6450,13 +6485,16 @@ function appendInlineSegments(paragraph, node, document, start, promoteSecondary
|
|
|
6450
6485
|
const refHyperlinkHref = (node.fieldFamily === "REF" || node.fieldFamily === "PAGEREF" || node.fieldFamily === "NOTEREF") && node.switches?.hyperlink === true && node.fieldTarget ? `#${node.fieldTarget}` : void 0;
|
|
6451
6486
|
let cursor = start;
|
|
6452
6487
|
const lockedIds = [];
|
|
6453
|
-
for (
|
|
6488
|
+
for (let childIndex = 0; childIndex < node.children.length; childIndex += 1) {
|
|
6489
|
+
const child = node.children[childIndex];
|
|
6454
6490
|
const result = appendInlineSegments(
|
|
6455
6491
|
paragraph,
|
|
6456
6492
|
child,
|
|
6457
6493
|
document,
|
|
6458
6494
|
cursor,
|
|
6459
6495
|
promoteSecondaryStoryTextBoxes,
|
|
6496
|
+
inlinePath !== void 0 ? `${inlinePath}/child[${childIndex}]` : void 0,
|
|
6497
|
+
editableTargetsByBlockPath,
|
|
6460
6498
|
refHyperlinkHref ?? hyperlinkHref,
|
|
6461
6499
|
cullBuild,
|
|
6462
6500
|
themeResolver,
|
|
@@ -6703,7 +6741,7 @@ function extractTxbxFirstTextSegment(blocks) {
|
|
|
6703
6741
|
}
|
|
6704
6742
|
return void 0;
|
|
6705
6743
|
}
|
|
6706
|
-
function surfaceTextBoxBodyFromShape(shape, sourceRef) {
|
|
6744
|
+
function surfaceTextBoxBodyFromShape(shape, sourceRef, inlinePath, editableTargetsByBlockPath = EMPTY_EDITABLE_TARGETS_BY_BLOCK_PATH) {
|
|
6707
6745
|
if (!shape.isTextBox && shape.txbxContentXml === void 0 && shape.txbxBlocks === void 0) {
|
|
6708
6746
|
return void 0;
|
|
6709
6747
|
}
|
|
@@ -6729,9 +6767,12 @@ function surfaceTextBoxBodyFromShape(shape, sourceRef) {
|
|
|
6729
6767
|
(run, inlineIndex) => surfaceTextBoxRunFromLegacyRun(run, inlineIndex)
|
|
6730
6768
|
) ?? [];
|
|
6731
6769
|
const text = runs.map((run) => run.text ?? "").join("");
|
|
6770
|
+
const blockPath = inlinePath !== void 0 ? `${inlinePath}/txbx/block[${blockIndex}]` : void 0;
|
|
6771
|
+
const editableTarget = blockPath !== void 0 ? editableTargetsByBlockPath.get(blockPath) : void 0;
|
|
6732
6772
|
return [{
|
|
6733
6773
|
...block.sourceRef !== void 0 ? { sourceRef: block.sourceRef } : {},
|
|
6734
6774
|
blockIndex,
|
|
6775
|
+
...editableTarget !== void 0 ? { editableTarget } : {},
|
|
6735
6776
|
text,
|
|
6736
6777
|
textLength: Array.from(text).length,
|
|
6737
6778
|
...block.borders !== void 0 ? { borders: block.borders } : {},
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { C as CanonicalDocumentEnvelope, S as SelectionSnapshot, g as TransactionMapping } from '../../public-types-
|
|
1
|
+
import { C as CanonicalDocumentEnvelope, S as SelectionSnapshot, g as TransactionMapping } from '../../public-types-DajNGKV4.cjs';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'yjs';
|
|
4
4
|
import 'y-protocols/awareness';
|
|
5
|
-
import '../../canonical-document-
|
|
5
|
+
import '../../canonical-document-CG2TgAzj.cjs';
|
|
6
6
|
import 'prosemirror-state';
|
|
7
7
|
import 'prosemirror-model';
|
|
8
8
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { C as CanonicalDocumentEnvelope, S as SelectionSnapshot, g as TransactionMapping } from '../../public-types-
|
|
1
|
+
import { C as CanonicalDocumentEnvelope, S as SelectionSnapshot, g as TransactionMapping } from '../../public-types-CNnMHZM9.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'yjs';
|
|
4
4
|
import 'y-protocols/awareness';
|
|
5
|
-
import '../../canonical-document-
|
|
5
|
+
import '../../canonical-document-CG2TgAzj.js';
|
|
6
6
|
import 'prosemirror-state';
|
|
7
7
|
import 'prosemirror-model';
|
|
8
8
|
|
|
@@ -2,13 +2,13 @@ import {
|
|
|
2
2
|
insertImage,
|
|
3
3
|
repositionFloatingImage,
|
|
4
4
|
resizeImage
|
|
5
|
-
} from "../../chunk-
|
|
6
|
-
import "../../chunk-
|
|
7
|
-
import "../../chunk-
|
|
5
|
+
} from "../../chunk-RSYN6FTS.js";
|
|
6
|
+
import "../../chunk-IR7QV2BX.js";
|
|
7
|
+
import "../../chunk-KOHQFZMM.js";
|
|
8
8
|
import "../../chunk-QIO6V46H.js";
|
|
9
|
-
import "../../chunk-
|
|
9
|
+
import "../../chunk-H6IL5ABU.js";
|
|
10
10
|
import "../../chunk-OYGMRRR7.js";
|
|
11
|
-
import "../../chunk-
|
|
11
|
+
import "../../chunk-FNWKE74J.js";
|
|
12
12
|
import "../../chunk-UFVDIR2C.js";
|
|
13
13
|
import "../../chunk-PGGPPZ65.js";
|
|
14
14
|
import "../../chunk-DNXYUIIS.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { h as SelectionSnapshot, M as MarginPresetDefinition, i as PageFormatDefinition, R as RuntimeRenderSnapshot } from '../../public-types-
|
|
2
|
-
import { C as CanonicalDocument, P as PageSize, a as PageMargins, b as ColumnProperties, c as PageNumbering } from '../../canonical-document-
|
|
1
|
+
import { h as SelectionSnapshot, M as MarginPresetDefinition, i as PageFormatDefinition, R as RuntimeRenderSnapshot } from '../../public-types-DajNGKV4.cjs';
|
|
2
|
+
import { C as CanonicalDocument, P as PageSize, a as PageMargins, b as ColumnProperties, c as PageNumbering } from '../../canonical-document-CG2TgAzj.cjs';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'yjs';
|
|
5
5
|
import 'y-protocols/awareness';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { h as SelectionSnapshot, M as MarginPresetDefinition, i as PageFormatDefinition, R as RuntimeRenderSnapshot } from '../../public-types-
|
|
2
|
-
import { C as CanonicalDocument, P as PageSize, a as PageMargins, b as ColumnProperties, c as PageNumbering } from '../../canonical-document-
|
|
1
|
+
import { h as SelectionSnapshot, M as MarginPresetDefinition, i as PageFormatDefinition, R as RuntimeRenderSnapshot } from '../../public-types-CNnMHZM9.js';
|
|
2
|
+
import { C as CanonicalDocument, P as PageSize, a as PageMargins, b as ColumnProperties, c as PageNumbering } from '../../canonical-document-CG2TgAzj.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'yjs';
|
|
5
5
|
import 'y-protocols/awareness';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { P as PersistedEditorSnapshot, R as RuntimeRenderSnapshot } from '../../public-types-
|
|
1
|
+
import { P as PersistedEditorSnapshot, R as RuntimeRenderSnapshot } from '../../public-types-DajNGKV4.cjs';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'yjs';
|
|
4
4
|
import 'y-protocols/awareness';
|
|
5
|
-
import '../../canonical-document-
|
|
5
|
+
import '../../canonical-document-CG2TgAzj.cjs';
|
|
6
6
|
import 'prosemirror-state';
|
|
7
7
|
import 'prosemirror-model';
|
|
8
8
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { P as PersistedEditorSnapshot, R as RuntimeRenderSnapshot } from '../../public-types-
|
|
1
|
+
import { P as PersistedEditorSnapshot, R as RuntimeRenderSnapshot } from '../../public-types-CNnMHZM9.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'yjs';
|
|
4
4
|
import 'y-protocols/awareness';
|
|
5
|
-
import '../../canonical-document-
|
|
5
|
+
import '../../canonical-document-CG2TgAzj.js';
|
|
6
6
|
import 'prosemirror-state';
|
|
7
7
|
import 'prosemirror-model';
|
|
8
8
|
|
|
@@ -303,12 +303,13 @@ function buildBlockCacheSignature(context, blockIndex) {
|
|
|
303
303
|
owner?.targetKey ?? ""
|
|
304
304
|
].join("|");
|
|
305
305
|
}
|
|
306
|
-
function collectEditableTargetsInBlocks(blocks, context, targets, cache) {
|
|
306
|
+
function collectEditableTargetsInBlocks(blocks, context, targets, cache, blockIndexOffset = 0) {
|
|
307
307
|
for (let blockIndex = 0; blockIndex < blocks.length; blockIndex += 1) {
|
|
308
308
|
const block = blocks[blockIndex];
|
|
309
309
|
if (!block) continue;
|
|
310
|
-
const
|
|
311
|
-
const
|
|
310
|
+
const absoluteBlockIndex = blockIndex + blockIndexOffset;
|
|
311
|
+
const blockPath = `${context.basePath}/block[${absoluteBlockIndex}]`;
|
|
312
|
+
const signature = cache !== void 0 ? buildBlockCacheSignature(context, absoluteBlockIndex) : "";
|
|
312
313
|
if (cache !== void 0) {
|
|
313
314
|
const cached = cache.get(block);
|
|
314
315
|
if (cached !== void 0 && cached.blockPath === blockPath && cached.signature === signature) {
|
|
@@ -5133,6 +5134,8 @@ function createSurfaceBlock(block, document, cursor, counters, formattingContext
|
|
|
5133
5134
|
formattingContext,
|
|
5134
5135
|
promoteSecondaryStoryTextBoxes,
|
|
5135
5136
|
cullBuild,
|
|
5137
|
+
editableTargetsByBlockPath,
|
|
5138
|
+
blockPath,
|
|
5136
5139
|
blockPath !== void 0 ? editableTargetsByBlockPath.get(blockPath) : void 0
|
|
5137
5140
|
);
|
|
5138
5141
|
}
|
|
@@ -5539,7 +5542,7 @@ function getRecursableSdtBlockedReasonCode(block) {
|
|
|
5539
5542
|
].filter(Boolean).join(" ").toLowerCase();
|
|
5540
5543
|
return searchText.includes("table of contents") || /\btoc\b/u.test(searchText) ? "workflow_preserve_only" : null;
|
|
5541
5544
|
}
|
|
5542
|
-
function createParagraphBlock(paragraphIndex, paragraph, document, start, formattingContext, promoteSecondaryStoryTextBoxes, cullBuild = false, editableTarget) {
|
|
5545
|
+
function createParagraphBlock(paragraphIndex, paragraph, document, start, formattingContext, promoteSecondaryStoryTextBoxes, cullBuild = false, editableTargetsByBlockPath = EMPTY_EDITABLE_TARGETS_BY_BLOCK_PATH, blockPath, editableTarget) {
|
|
5543
5546
|
const themeResolver = formattingContext.theme;
|
|
5544
5547
|
const effectiveNumbering = formattingContext.resolveEffectiveParagraphNumbering(paragraph);
|
|
5545
5548
|
let resolvedNumbering = null;
|
|
@@ -5604,6 +5607,8 @@ function createParagraphBlock(paragraphIndex, paragraph, document, start, format
|
|
|
5604
5607
|
document,
|
|
5605
5608
|
cursor,
|
|
5606
5609
|
promoteSecondaryStoryTextBoxes,
|
|
5610
|
+
blockPath !== void 0 ? `${blockPath}/inline[${childIndex}]` : void 0,
|
|
5611
|
+
editableTargetsByBlockPath,
|
|
5607
5612
|
void 0,
|
|
5608
5613
|
cullBuild,
|
|
5609
5614
|
themeResolver,
|
|
@@ -5660,7 +5665,7 @@ function isVisibleTocResultInline(node) {
|
|
|
5660
5665
|
return false;
|
|
5661
5666
|
}
|
|
5662
5667
|
}
|
|
5663
|
-
function appendInlineSegments(paragraph, node, document, start, promoteSecondaryStoryTextBoxes, hyperlinkHref, cullBuild = false, themeResolver, formattingContext) {
|
|
5668
|
+
function appendInlineSegments(paragraph, node, document, start, promoteSecondaryStoryTextBoxes, inlinePath, editableTargetsByBlockPath = EMPTY_EDITABLE_TARGETS_BY_BLOCK_PATH, hyperlinkHref, cullBuild = false, themeResolver, formattingContext) {
|
|
5664
5669
|
switch (node.type) {
|
|
5665
5670
|
case "text": {
|
|
5666
5671
|
const cloned = node.marks ? cloneMarks(node.marks) : { marks: [] };
|
|
@@ -5713,13 +5718,16 @@ function appendInlineSegments(paragraph, node, document, start, promoteSecondary
|
|
|
5713
5718
|
return { nextCursor: start + 1, lockedFragmentIds: [] };
|
|
5714
5719
|
case "hyperlink": {
|
|
5715
5720
|
let cursor = start;
|
|
5716
|
-
for (
|
|
5721
|
+
for (let childIndex = 0; childIndex < node.children.length; childIndex += 1) {
|
|
5722
|
+
const child = node.children[childIndex];
|
|
5717
5723
|
const result = appendInlineSegments(
|
|
5718
5724
|
paragraph,
|
|
5719
5725
|
child,
|
|
5720
5726
|
document,
|
|
5721
5727
|
cursor,
|
|
5722
5728
|
promoteSecondaryStoryTextBoxes,
|
|
5729
|
+
inlinePath !== void 0 ? `${inlinePath}/child[${childIndex}]` : void 0,
|
|
5730
|
+
editableTargetsByBlockPath,
|
|
5723
5731
|
node.href,
|
|
5724
5732
|
cullBuild,
|
|
5725
5733
|
themeResolver,
|
|
@@ -5778,6 +5786,33 @@ function appendInlineSegments(paragraph, node, document, start, promoteSecondary
|
|
|
5778
5786
|
if (isMicrosoftSensitivityLabelShape(node)) {
|
|
5779
5787
|
return { nextCursor: start + 1, lockedFragmentIds: [] };
|
|
5780
5788
|
}
|
|
5789
|
+
if (node.isTextBox && node.txbxBlocks !== void 0) {
|
|
5790
|
+
const txbxTextSegment = extractTxbxFirstTextSegment(node.txbxBlocks);
|
|
5791
|
+
const txbxText = txbxTextSegment?.text ?? node.text;
|
|
5792
|
+
const txbxBody = surfaceTextBoxBodyFromShape(
|
|
5793
|
+
node,
|
|
5794
|
+
void 0,
|
|
5795
|
+
inlinePath,
|
|
5796
|
+
editableTargetsByBlockPath
|
|
5797
|
+
);
|
|
5798
|
+
paragraph.segments.push({
|
|
5799
|
+
segmentId: `${paragraph.blockId}-segment-${paragraph.segments.length}`,
|
|
5800
|
+
kind: "shape",
|
|
5801
|
+
from: start,
|
|
5802
|
+
to: start + 1,
|
|
5803
|
+
label: "Text box",
|
|
5804
|
+
detail: createShapeDetail(node),
|
|
5805
|
+
...node.geometry !== void 0 ? { geometry: node.geometry } : {},
|
|
5806
|
+
isTextBox: true,
|
|
5807
|
+
...node.textBoxBody ? { textBoxBody: node.textBoxBody } : {},
|
|
5808
|
+
...node.preserveOnlyObject ? { preserveOnlyObject: surfacePreserveOnlyObject(node.preserveOnlyObject) } : {},
|
|
5809
|
+
...txbxText ? { txbxText } : {},
|
|
5810
|
+
...txbxBody ? { txbxBody } : {},
|
|
5811
|
+
...txbxTextSegment?.marks && txbxTextSegment.marks.length > 0 ? { txbxMarks: txbxTextSegment.marks } : {},
|
|
5812
|
+
...txbxTextSegment?.markAttrs ? { txbxMarkAttrs: txbxTextSegment.markAttrs } : {}
|
|
5813
|
+
});
|
|
5814
|
+
return { nextCursor: start + 1, lockedFragmentIds: [] };
|
|
5815
|
+
}
|
|
5781
5816
|
if (promoteSecondaryStoryTextBoxes && node.isTextBox && node.text) {
|
|
5782
5817
|
return appendTextBoxSegment(
|
|
5783
5818
|
paragraph,
|
|
@@ -5837,7 +5872,7 @@ function appendInlineSegments(paragraph, node, document, start, promoteSecondary
|
|
|
5837
5872
|
const anchor = surfaceAnchorFromGeometry(node.anchor);
|
|
5838
5873
|
const txbxTextSegment = c.isTextBox ? extractTxbxFirstTextSegment(c.txbxBlocks) : void 0;
|
|
5839
5874
|
const txbxText = txbxTextSegment?.text ?? (c.isTextBox ? c.text : void 0);
|
|
5840
|
-
const txbxBody = c.isTextBox ? surfaceTextBoxBodyFromShape(c, node.sourceRef) : void 0;
|
|
5875
|
+
const txbxBody = c.isTextBox ? surfaceTextBoxBodyFromShape(c, node.sourceRef, inlinePath, editableTargetsByBlockPath) : void 0;
|
|
5841
5876
|
const surfaceFill = c.fill;
|
|
5842
5877
|
paragraph.segments.push({
|
|
5843
5878
|
segmentId: `${paragraph.blockId}-segment-${paragraph.segments.length}`,
|
|
@@ -6014,13 +6049,16 @@ function appendInlineSegments(paragraph, node, document, start, promoteSecondary
|
|
|
6014
6049
|
const refHyperlinkHref = (node.fieldFamily === "REF" || node.fieldFamily === "PAGEREF" || node.fieldFamily === "NOTEREF") && node.switches?.hyperlink === true && node.fieldTarget ? `#${node.fieldTarget}` : void 0;
|
|
6015
6050
|
let cursor = start;
|
|
6016
6051
|
const lockedIds = [];
|
|
6017
|
-
for (
|
|
6052
|
+
for (let childIndex = 0; childIndex < node.children.length; childIndex += 1) {
|
|
6053
|
+
const child = node.children[childIndex];
|
|
6018
6054
|
const result = appendInlineSegments(
|
|
6019
6055
|
paragraph,
|
|
6020
6056
|
child,
|
|
6021
6057
|
document,
|
|
6022
6058
|
cursor,
|
|
6023
6059
|
promoteSecondaryStoryTextBoxes,
|
|
6060
|
+
inlinePath !== void 0 ? `${inlinePath}/child[${childIndex}]` : void 0,
|
|
6061
|
+
editableTargetsByBlockPath,
|
|
6024
6062
|
refHyperlinkHref ?? hyperlinkHref,
|
|
6025
6063
|
cullBuild,
|
|
6026
6064
|
themeResolver,
|
|
@@ -6267,7 +6305,7 @@ function extractTxbxFirstTextSegment(blocks) {
|
|
|
6267
6305
|
}
|
|
6268
6306
|
return void 0;
|
|
6269
6307
|
}
|
|
6270
|
-
function surfaceTextBoxBodyFromShape(shape, sourceRef) {
|
|
6308
|
+
function surfaceTextBoxBodyFromShape(shape, sourceRef, inlinePath, editableTargetsByBlockPath = EMPTY_EDITABLE_TARGETS_BY_BLOCK_PATH) {
|
|
6271
6309
|
if (!shape.isTextBox && shape.txbxContentXml === void 0 && shape.txbxBlocks === void 0) {
|
|
6272
6310
|
return void 0;
|
|
6273
6311
|
}
|
|
@@ -6293,9 +6331,12 @@ function surfaceTextBoxBodyFromShape(shape, sourceRef) {
|
|
|
6293
6331
|
(run, inlineIndex) => surfaceTextBoxRunFromLegacyRun(run, inlineIndex)
|
|
6294
6332
|
) ?? [];
|
|
6295
6333
|
const text = runs.map((run) => run.text ?? "").join("");
|
|
6334
|
+
const blockPath = inlinePath !== void 0 ? `${inlinePath}/txbx/block[${blockIndex}]` : void 0;
|
|
6335
|
+
const editableTarget = blockPath !== void 0 ? editableTargetsByBlockPath.get(blockPath) : void 0;
|
|
6296
6336
|
return [{
|
|
6297
6337
|
...block.sourceRef !== void 0 ? { sourceRef: block.sourceRef } : {},
|
|
6298
6338
|
blockIndex,
|
|
6339
|
+
...editableTarget !== void 0 ? { editableTarget } : {},
|
|
6299
6340
|
text,
|
|
6300
6341
|
textLength: Array.from(text).length,
|
|
6301
6342
|
...block.borders !== void 0 ? { borders: block.borders } : {},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { gr as CellLocator, gs as TableStructureOperation, gt as applyTableStructureOperation, gu as applyTableStructureOperationForEditableTarget, gv as getTableStructureContext, gw as removeCellFromRow, gx as removeTableRowPure, gy as tableStructureActionHandleForTarget } from '../../public-types-
|
|
2
|
-
import '../../canonical-document-
|
|
1
|
+
export { gr as CellLocator, gs as TableStructureOperation, gt as applyTableStructureOperation, gu as applyTableStructureOperationForEditableTarget, gv as getTableStructureContext, gw as removeCellFromRow, gx as removeTableRowPure, gy as tableStructureActionHandleForTarget } from '../../public-types-DajNGKV4.cjs';
|
|
2
|
+
import '../../canonical-document-CG2TgAzj.cjs';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'yjs';
|
|
5
5
|
import 'y-protocols/awareness';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { gr as CellLocator, gs as TableStructureOperation, gt as applyTableStructureOperation, gu as applyTableStructureOperationForEditableTarget, gv as getTableStructureContext, gw as removeCellFromRow, gx as removeTableRowPure, gy as tableStructureActionHandleForTarget } from '../../public-types-
|
|
2
|
-
import '../../canonical-document-
|
|
1
|
+
export { gr as CellLocator, gs as TableStructureOperation, gt as applyTableStructureOperation, gu as applyTableStructureOperationForEditableTarget, gv as getTableStructureContext, gw as removeCellFromRow, gx as removeTableRowPure, gy as tableStructureActionHandleForTarget } from '../../public-types-CNnMHZM9.js';
|
|
2
|
+
import '../../canonical-document-CG2TgAzj.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'yjs';
|
|
5
5
|
import 'y-protocols/awareness';
|
|
@@ -5,11 +5,11 @@ import {
|
|
|
5
5
|
removeCellFromRow,
|
|
6
6
|
removeTableRowPure,
|
|
7
7
|
tableStructureActionHandleForTarget
|
|
8
|
-
} from "../../chunk-
|
|
9
|
-
import "../../chunk-
|
|
10
|
-
import "../../chunk-
|
|
8
|
+
} from "../../chunk-LGWNN3L2.js";
|
|
9
|
+
import "../../chunk-KOHQFZMM.js";
|
|
10
|
+
import "../../chunk-H6IL5ABU.js";
|
|
11
11
|
import "../../chunk-OYGMRRR7.js";
|
|
12
|
-
import "../../chunk-
|
|
12
|
+
import "../../chunk-FNWKE74J.js";
|
|
13
13
|
import "../../chunk-UFVDIR2C.js";
|
|
14
14
|
import "../../chunk-PGGPPZ65.js";
|
|
15
15
|
import "../../chunk-DNXYUIIS.js";
|
|
@@ -973,12 +973,13 @@ function buildBlockCacheSignature(context, blockIndex) {
|
|
|
973
973
|
owner?.targetKey ?? ""
|
|
974
974
|
].join("|");
|
|
975
975
|
}
|
|
976
|
-
function collectEditableTargetsInBlocks(blocks, context, targets, cache) {
|
|
976
|
+
function collectEditableTargetsInBlocks(blocks, context, targets, cache, blockIndexOffset = 0) {
|
|
977
977
|
for (let blockIndex = 0; blockIndex < blocks.length; blockIndex += 1) {
|
|
978
978
|
const block = blocks[blockIndex];
|
|
979
979
|
if (!block) continue;
|
|
980
|
-
const
|
|
981
|
-
const
|
|
980
|
+
const absoluteBlockIndex = blockIndex + blockIndexOffset;
|
|
981
|
+
const blockPath = `${context.basePath}/block[${absoluteBlockIndex}]`;
|
|
982
|
+
const signature = cache !== void 0 ? buildBlockCacheSignature(context, absoluteBlockIndex) : "";
|
|
982
983
|
if (cache !== void 0) {
|
|
983
984
|
const cached = cache.get(block);
|
|
984
985
|
if (cached !== void 0 && cached.blockPath === blockPath && cached.signature === signature) {
|
|
@@ -5644,6 +5645,8 @@ function createSurfaceBlock(block, document, cursor, counters, formattingContext
|
|
|
5644
5645
|
formattingContext,
|
|
5645
5646
|
promoteSecondaryStoryTextBoxes,
|
|
5646
5647
|
cullBuild,
|
|
5648
|
+
editableTargetsByBlockPath,
|
|
5649
|
+
blockPath,
|
|
5647
5650
|
blockPath !== void 0 ? editableTargetsByBlockPath.get(blockPath) : void 0
|
|
5648
5651
|
);
|
|
5649
5652
|
}
|
|
@@ -6050,7 +6053,7 @@ function getRecursableSdtBlockedReasonCode(block) {
|
|
|
6050
6053
|
].filter(Boolean).join(" ").toLowerCase();
|
|
6051
6054
|
return searchText.includes("table of contents") || /\btoc\b/u.test(searchText) ? "workflow_preserve_only" : null;
|
|
6052
6055
|
}
|
|
6053
|
-
function createParagraphBlock(paragraphIndex, paragraph, document, start, formattingContext, promoteSecondaryStoryTextBoxes, cullBuild = false, editableTarget) {
|
|
6056
|
+
function createParagraphBlock(paragraphIndex, paragraph, document, start, formattingContext, promoteSecondaryStoryTextBoxes, cullBuild = false, editableTargetsByBlockPath = EMPTY_EDITABLE_TARGETS_BY_BLOCK_PATH, blockPath, editableTarget) {
|
|
6054
6057
|
const themeResolver = formattingContext.theme;
|
|
6055
6058
|
const effectiveNumbering = formattingContext.resolveEffectiveParagraphNumbering(paragraph);
|
|
6056
6059
|
let resolvedNumbering = null;
|
|
@@ -6115,6 +6118,8 @@ function createParagraphBlock(paragraphIndex, paragraph, document, start, format
|
|
|
6115
6118
|
document,
|
|
6116
6119
|
cursor,
|
|
6117
6120
|
promoteSecondaryStoryTextBoxes,
|
|
6121
|
+
blockPath !== void 0 ? `${blockPath}/inline[${childIndex}]` : void 0,
|
|
6122
|
+
editableTargetsByBlockPath,
|
|
6118
6123
|
void 0,
|
|
6119
6124
|
cullBuild,
|
|
6120
6125
|
themeResolver,
|
|
@@ -6171,7 +6176,7 @@ function isVisibleTocResultInline(node) {
|
|
|
6171
6176
|
return false;
|
|
6172
6177
|
}
|
|
6173
6178
|
}
|
|
6174
|
-
function appendInlineSegments(paragraph, node, document, start, promoteSecondaryStoryTextBoxes, hyperlinkHref, cullBuild = false, themeResolver, formattingContext) {
|
|
6179
|
+
function appendInlineSegments(paragraph, node, document, start, promoteSecondaryStoryTextBoxes, inlinePath, editableTargetsByBlockPath = EMPTY_EDITABLE_TARGETS_BY_BLOCK_PATH, hyperlinkHref, cullBuild = false, themeResolver, formattingContext) {
|
|
6175
6180
|
switch (node.type) {
|
|
6176
6181
|
case "text": {
|
|
6177
6182
|
const cloned = node.marks ? cloneMarks2(node.marks) : { marks: [] };
|
|
@@ -6224,13 +6229,16 @@ function appendInlineSegments(paragraph, node, document, start, promoteSecondary
|
|
|
6224
6229
|
return { nextCursor: start + 1, lockedFragmentIds: [] };
|
|
6225
6230
|
case "hyperlink": {
|
|
6226
6231
|
let cursor = start;
|
|
6227
|
-
for (
|
|
6232
|
+
for (let childIndex = 0; childIndex < node.children.length; childIndex += 1) {
|
|
6233
|
+
const child = node.children[childIndex];
|
|
6228
6234
|
const result = appendInlineSegments(
|
|
6229
6235
|
paragraph,
|
|
6230
6236
|
child,
|
|
6231
6237
|
document,
|
|
6232
6238
|
cursor,
|
|
6233
6239
|
promoteSecondaryStoryTextBoxes,
|
|
6240
|
+
inlinePath !== void 0 ? `${inlinePath}/child[${childIndex}]` : void 0,
|
|
6241
|
+
editableTargetsByBlockPath,
|
|
6234
6242
|
node.href,
|
|
6235
6243
|
cullBuild,
|
|
6236
6244
|
themeResolver,
|
|
@@ -6289,6 +6297,33 @@ function appendInlineSegments(paragraph, node, document, start, promoteSecondary
|
|
|
6289
6297
|
if (isMicrosoftSensitivityLabelShape(node)) {
|
|
6290
6298
|
return { nextCursor: start + 1, lockedFragmentIds: [] };
|
|
6291
6299
|
}
|
|
6300
|
+
if (node.isTextBox && node.txbxBlocks !== void 0) {
|
|
6301
|
+
const txbxTextSegment = extractTxbxFirstTextSegment(node.txbxBlocks);
|
|
6302
|
+
const txbxText = txbxTextSegment?.text ?? node.text;
|
|
6303
|
+
const txbxBody = surfaceTextBoxBodyFromShape(
|
|
6304
|
+
node,
|
|
6305
|
+
void 0,
|
|
6306
|
+
inlinePath,
|
|
6307
|
+
editableTargetsByBlockPath
|
|
6308
|
+
);
|
|
6309
|
+
paragraph.segments.push({
|
|
6310
|
+
segmentId: `${paragraph.blockId}-segment-${paragraph.segments.length}`,
|
|
6311
|
+
kind: "shape",
|
|
6312
|
+
from: start,
|
|
6313
|
+
to: start + 1,
|
|
6314
|
+
label: "Text box",
|
|
6315
|
+
detail: createShapeDetail(node),
|
|
6316
|
+
...node.geometry !== void 0 ? { geometry: node.geometry } : {},
|
|
6317
|
+
isTextBox: true,
|
|
6318
|
+
...node.textBoxBody ? { textBoxBody: node.textBoxBody } : {},
|
|
6319
|
+
...node.preserveOnlyObject ? { preserveOnlyObject: surfacePreserveOnlyObject(node.preserveOnlyObject) } : {},
|
|
6320
|
+
...txbxText ? { txbxText } : {},
|
|
6321
|
+
...txbxBody ? { txbxBody } : {},
|
|
6322
|
+
...txbxTextSegment?.marks && txbxTextSegment.marks.length > 0 ? { txbxMarks: txbxTextSegment.marks } : {},
|
|
6323
|
+
...txbxTextSegment?.markAttrs ? { txbxMarkAttrs: txbxTextSegment.markAttrs } : {}
|
|
6324
|
+
});
|
|
6325
|
+
return { nextCursor: start + 1, lockedFragmentIds: [] };
|
|
6326
|
+
}
|
|
6292
6327
|
if (promoteSecondaryStoryTextBoxes && node.isTextBox && node.text) {
|
|
6293
6328
|
return appendTextBoxSegment(
|
|
6294
6329
|
paragraph,
|
|
@@ -6348,7 +6383,7 @@ function appendInlineSegments(paragraph, node, document, start, promoteSecondary
|
|
|
6348
6383
|
const anchor = surfaceAnchorFromGeometry(node.anchor);
|
|
6349
6384
|
const txbxTextSegment = c.isTextBox ? extractTxbxFirstTextSegment(c.txbxBlocks) : void 0;
|
|
6350
6385
|
const txbxText = txbxTextSegment?.text ?? (c.isTextBox ? c.text : void 0);
|
|
6351
|
-
const txbxBody = c.isTextBox ? surfaceTextBoxBodyFromShape(c, node.sourceRef) : void 0;
|
|
6386
|
+
const txbxBody = c.isTextBox ? surfaceTextBoxBodyFromShape(c, node.sourceRef, inlinePath, editableTargetsByBlockPath) : void 0;
|
|
6352
6387
|
const surfaceFill = c.fill;
|
|
6353
6388
|
paragraph.segments.push({
|
|
6354
6389
|
segmentId: `${paragraph.blockId}-segment-${paragraph.segments.length}`,
|
|
@@ -6525,13 +6560,16 @@ function appendInlineSegments(paragraph, node, document, start, promoteSecondary
|
|
|
6525
6560
|
const refHyperlinkHref = (node.fieldFamily === "REF" || node.fieldFamily === "PAGEREF" || node.fieldFamily === "NOTEREF") && node.switches?.hyperlink === true && node.fieldTarget ? `#${node.fieldTarget}` : void 0;
|
|
6526
6561
|
let cursor = start;
|
|
6527
6562
|
const lockedIds = [];
|
|
6528
|
-
for (
|
|
6563
|
+
for (let childIndex = 0; childIndex < node.children.length; childIndex += 1) {
|
|
6564
|
+
const child = node.children[childIndex];
|
|
6529
6565
|
const result = appendInlineSegments(
|
|
6530
6566
|
paragraph,
|
|
6531
6567
|
child,
|
|
6532
6568
|
document,
|
|
6533
6569
|
cursor,
|
|
6534
6570
|
promoteSecondaryStoryTextBoxes,
|
|
6571
|
+
inlinePath !== void 0 ? `${inlinePath}/child[${childIndex}]` : void 0,
|
|
6572
|
+
editableTargetsByBlockPath,
|
|
6535
6573
|
refHyperlinkHref ?? hyperlinkHref,
|
|
6536
6574
|
cullBuild,
|
|
6537
6575
|
themeResolver,
|
|
@@ -6778,7 +6816,7 @@ function extractTxbxFirstTextSegment(blocks) {
|
|
|
6778
6816
|
}
|
|
6779
6817
|
return void 0;
|
|
6780
6818
|
}
|
|
6781
|
-
function surfaceTextBoxBodyFromShape(shape, sourceRef) {
|
|
6819
|
+
function surfaceTextBoxBodyFromShape(shape, sourceRef, inlinePath, editableTargetsByBlockPath = EMPTY_EDITABLE_TARGETS_BY_BLOCK_PATH) {
|
|
6782
6820
|
if (!shape.isTextBox && shape.txbxContentXml === void 0 && shape.txbxBlocks === void 0) {
|
|
6783
6821
|
return void 0;
|
|
6784
6822
|
}
|
|
@@ -6804,9 +6842,12 @@ function surfaceTextBoxBodyFromShape(shape, sourceRef) {
|
|
|
6804
6842
|
(run, inlineIndex) => surfaceTextBoxRunFromLegacyRun(run, inlineIndex)
|
|
6805
6843
|
) ?? [];
|
|
6806
6844
|
const text = runs.map((run) => run.text ?? "").join("");
|
|
6845
|
+
const blockPath = inlinePath !== void 0 ? `${inlinePath}/txbx/block[${blockIndex}]` : void 0;
|
|
6846
|
+
const editableTarget = blockPath !== void 0 ? editableTargetsByBlockPath.get(blockPath) : void 0;
|
|
6807
6847
|
return [{
|
|
6808
6848
|
...block.sourceRef !== void 0 ? { sourceRef: block.sourceRef } : {},
|
|
6809
6849
|
blockIndex,
|
|
6850
|
+
...editableTarget !== void 0 ? { editableTarget } : {},
|
|
6810
6851
|
text,
|
|
6811
6852
|
textLength: Array.from(text).length,
|
|
6812
6853
|
...block.borders !== void 0 ? { borders: block.borders } : {},
|
|
@@ -7502,6 +7543,7 @@ function applyLinearTextTransaction(document, selection, intent, options) {
|
|
|
7502
7543
|
metadata: {
|
|
7503
7544
|
affectsComments: true,
|
|
7504
7545
|
affectsRevisions: true,
|
|
7546
|
+
...createLocalTextPatchMetadata(story.units, unitFrom, unitTo, insertionUnits),
|
|
7505
7547
|
...containsParagraphBoundaryChange(story, normalizedRange, insertionUnits) ? { invalidatesStructures: true } : {}
|
|
7506
7548
|
}
|
|
7507
7549
|
},
|
|
@@ -7569,6 +7611,21 @@ function tryApplyTableParagraphTransaction(document, selection, intent, options)
|
|
|
7569
7611
|
storyText: localResult.storyText
|
|
7570
7612
|
};
|
|
7571
7613
|
}
|
|
7614
|
+
function createLocalTextPatchMetadata(units, unitFrom, unitTo, insertionUnits) {
|
|
7615
|
+
if (!insertionUnits.every((unit) => unit.kind === "text")) {
|
|
7616
|
+
return {};
|
|
7617
|
+
}
|
|
7618
|
+
for (let index = unitFrom; index < unitTo; index += 1) {
|
|
7619
|
+
if (units[index]?.kind !== "text") {
|
|
7620
|
+
return {};
|
|
7621
|
+
}
|
|
7622
|
+
}
|
|
7623
|
+
return {
|
|
7624
|
+
localTextPatch: {
|
|
7625
|
+
insertedText: insertionUnits.map((unit) => unit.kind === "text" ? unit.value : "").join("")
|
|
7626
|
+
}
|
|
7627
|
+
};
|
|
7628
|
+
}
|
|
7572
7629
|
function tryApplyTargetedTextLeafTransaction(document, selection, intent, options) {
|
|
7573
7630
|
const scope = resolveTargetedTextLeafScope(document, selection, options.textTarget);
|
|
7574
7631
|
if (!scope) {
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { T as TextTransactionTextTarget, C as CanonicalDocumentEnvelope, S as SelectionSnapshot, d as TextTransactionResult, e as StructuralMutationResult, I as InsertTableOptions, f as TextFormattingDirective, g as TransactionMapping } from '../../public-types-
|
|
1
|
+
import { T as TextTransactionTextTarget, C as CanonicalDocumentEnvelope, S as SelectionSnapshot, d as TextTransactionResult, e as StructuralMutationResult, I as InsertTableOptions, f as TextFormattingDirective, g as TransactionMapping } from '../../public-types-DajNGKV4.cjs';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'yjs';
|
|
4
4
|
import 'y-protocols/awareness';
|
|
5
|
-
import '../../canonical-document-
|
|
5
|
+
import '../../canonical-document-CG2TgAzj.cjs';
|
|
6
6
|
import 'prosemirror-state';
|
|
7
7
|
import 'prosemirror-model';
|
|
8
8
|
|
|
9
9
|
interface TextCommandContext {
|
|
10
10
|
timestamp: string;
|
|
11
|
+
activeStorySize?: number;
|
|
11
12
|
textTarget?: TextTransactionTextTarget;
|
|
12
13
|
rejectTargetlessTableStructureInsert?: boolean;
|
|
13
14
|
}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { T as TextTransactionTextTarget, C as CanonicalDocumentEnvelope, S as SelectionSnapshot, d as TextTransactionResult, e as StructuralMutationResult, I as InsertTableOptions, f as TextFormattingDirective, g as TransactionMapping } from '../../public-types-
|
|
1
|
+
import { T as TextTransactionTextTarget, C as CanonicalDocumentEnvelope, S as SelectionSnapshot, d as TextTransactionResult, e as StructuralMutationResult, I as InsertTableOptions, f as TextFormattingDirective, g as TransactionMapping } from '../../public-types-CNnMHZM9.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'yjs';
|
|
4
4
|
import 'y-protocols/awareness';
|
|
5
|
-
import '../../canonical-document-
|
|
5
|
+
import '../../canonical-document-CG2TgAzj.js';
|
|
6
6
|
import 'prosemirror-state';
|
|
7
7
|
import 'prosemirror-model';
|
|
8
8
|
|
|
9
9
|
interface TextCommandContext {
|
|
10
10
|
timestamp: string;
|
|
11
|
+
activeStorySize?: number;
|
|
11
12
|
textTarget?: TextTransactionTextTarget;
|
|
12
13
|
rejectTargetlessTableStructureInsert?: boolean;
|
|
13
14
|
}
|