superdoc 2.28.0-next.17 → 2.28.0-next.19
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/{create-super-doc-ui-CAfcpwSS.es.js → create-super-doc-ui-BEB7RtD6.es.js} +63 -3
- package/dist/chunks/{create-super-doc-ui-CXdsObDZ.cjs → create-super-doc-ui-DNe9BmHD.cjs} +68 -2
- package/dist/collaboration-upgrade-engine.cjs +1 -1
- package/dist/collaboration-upgrade-engine.es.js +1 -1
- package/dist/document-api/src/contract/operation-definitions.d.ts +1 -1
- package/dist/document-api/src/lists/lists.types.d.ts +1 -0
- package/dist/document-api/src/sections/sections.types.d.ts +5 -1
- package/dist/document-api/src/types/receipt.d.ts +1 -0
- package/dist/layout-engine/contracts/src/index.d.ts +2 -0
- package/dist/layout-engine/layout-bridge/src/index.d.ts +1 -0
- package/dist/layout-engine/layout-bridge/src/place-inline-drawings.d.ts +9 -0
- package/dist/layout-engine/layout-engine/src/layout-drawing.d.ts +2 -1
- package/dist/public/ui-react.cjs +1 -1
- package/dist/public/ui-react.es.js +1 -1
- package/dist/public/ui-vue.cjs +1 -1
- package/dist/public/ui-vue.es.js +1 -1
- package/dist/public/ui.cjs +1 -1
- package/dist/public/ui.es.js +1 -1
- package/dist/style.css +1 -1
- package/dist/style.layered.css +1 -1
- package/dist/superdoc/src/components/CommentsLayer/FloatingComments.vue.d.ts +11 -0
- package/dist/superdoc/src/components/CommentsLayer/PdfCommentsLayer.vue.d.ts +4 -0
- package/dist/superdoc/src/composables/use-superdoc-instance.d.ts +7 -0
- package/dist/superdoc/src/internal/toolbar/built-in/constants.d.ts +0 -48
- package/dist/superdoc/src/internal/toolbar/built-in-toolbar.d.ts +1 -0
- package/dist/superdoc/src/internal/toolbar/compatibility-catalog.d.ts +16 -0
- package/dist/superdoc/src/public/ui/types.d.ts +20 -0
- package/dist/superdoc/src/public/ui.d.cts +8 -0
- package/dist/superdoc/src/public/ui.d.ts +1 -1
- package/dist/superdoc/src/stores/comments-store.d.ts +4 -37
- package/dist/superdoc/src/stores/superdoc-store.d.ts +12 -111
- package/dist/superdoc.cjs +110 -206
- package/dist/superdoc.es.js +277 -11468
- package/dist-cdn/style.layered.css +1 -1
- package/dist-cdn/superdoc.min.css +1 -1
- package/dist-cdn/superdoc.min.js +40 -40
- package/package.json +4 -3
package/dist/chunks/{create-super-doc-ui-CAfcpwSS.es.js → create-super-doc-ui-BEB7RtD6.es.js}
RENAMED
|
@@ -6716,9 +6716,19 @@ function createSuperDocUI(options) {
|
|
|
6716
6716
|
if (seeded > 0) dirtyHosts.add(host);
|
|
6717
6717
|
else if (revision === 0) dirtyHosts.delete(host);
|
|
6718
6718
|
};
|
|
6719
|
-
const
|
|
6719
|
+
const savedPoint = () => {
|
|
6720
6720
|
const host = getHost();
|
|
6721
|
+
return {
|
|
6722
|
+
host,
|
|
6723
|
+
isDirty: hostMethod(host, "isDirty"),
|
|
6724
|
+
getDocumentVersion: hostMethod(host, "getDocumentVersion"),
|
|
6725
|
+
markSaved: hostMethod(host, "markSaved")
|
|
6726
|
+
};
|
|
6727
|
+
};
|
|
6728
|
+
const hasLocalDocumentMutation = () => {
|
|
6729
|
+
const { host, isDirty } = savedPoint();
|
|
6721
6730
|
if (!host) return false;
|
|
6731
|
+
if (isDirty) return Boolean(safeCall(() => isDirty(), false));
|
|
6722
6732
|
seedLocalDocumentMutation(host);
|
|
6723
6733
|
return dirtyHosts.has(host);
|
|
6724
6734
|
};
|
|
@@ -8129,6 +8139,33 @@ function createSuperDocUI(options) {
|
|
|
8129
8139
|
sizeOptions: DEFAULT_FONT_SIZE_OPTIONS
|
|
8130
8140
|
};
|
|
8131
8141
|
};
|
|
8142
|
+
const EMPTY_HISTORY = {
|
|
8143
|
+
canUndo: false,
|
|
8144
|
+
canRedo: false,
|
|
8145
|
+
undoDepth: 0,
|
|
8146
|
+
redoDepth: 0
|
|
8147
|
+
};
|
|
8148
|
+
let historySlice = EMPTY_HISTORY;
|
|
8149
|
+
let historySource = null;
|
|
8150
|
+
const computeHistory = () => {
|
|
8151
|
+
const source = getEditCommands();
|
|
8152
|
+
if (source !== historySource) {
|
|
8153
|
+
historySource = source;
|
|
8154
|
+
historySlice = EMPTY_HISTORY;
|
|
8155
|
+
}
|
|
8156
|
+
const getSnapshot = hostMethod(source, "getSnapshot");
|
|
8157
|
+
const snapshot = getSnapshot ? safeCall(() => getSnapshot(), null) : null;
|
|
8158
|
+
const { undoDepth, redoDepth } = (isPlainObject(snapshot) && isPlainObject(snapshot.history) ? snapshot.history : null) ?? {};
|
|
8159
|
+
if (typeof undoDepth !== "number" || typeof redoDepth !== "number") return historySlice;
|
|
8160
|
+
const next = {
|
|
8161
|
+
canUndo: undoDepth > 0,
|
|
8162
|
+
canRedo: redoDepth > 0,
|
|
8163
|
+
undoDepth,
|
|
8164
|
+
redoDepth
|
|
8165
|
+
};
|
|
8166
|
+
if (!shallowEqual(next, historySlice)) historySlice = next;
|
|
8167
|
+
return historySlice;
|
|
8168
|
+
};
|
|
8132
8169
|
let zoomFitWidth;
|
|
8133
8170
|
const computeZoom = () => {
|
|
8134
8171
|
const getZoomState = hostMethod(superdoc, "getZoomState");
|
|
@@ -9941,6 +9978,7 @@ function createSuperDocUI(options) {
|
|
|
9941
9978
|
trackChanges: measure("trackChanges", () => computeTrackChanges(selection)),
|
|
9942
9979
|
contentControls: measure("contentControls", () => computeContentControls(selection)),
|
|
9943
9980
|
zoom: measure("zoom", computeZoom),
|
|
9981
|
+
history: measure("history", computeHistory),
|
|
9944
9982
|
fonts: measure("fonts", computeFonts),
|
|
9945
9983
|
styles: measure("styles", () => computeStyles(selection))
|
|
9946
9984
|
};
|
|
@@ -10289,10 +10327,13 @@ function createSuperDocUI(options) {
|
|
|
10289
10327
|
for (const [commandId, optimistic] of optimisticInlineToggles) if (optimistic.settled || type === "collaboration:document-replaced") optimisticInlineToggles.delete(commandId);
|
|
10290
10328
|
}
|
|
10291
10329
|
if (isStandaloneDocumentMutation || type === "mutation:committed" && mutationCommittedEventChangedVisibleContent(event) || type === "collaboration:remote-changed" && Array.isArray(event.changedStoryIds) && event.changedStoryIds.length > 0) scheduleActiveSearchRefresh();
|
|
10292
|
-
|
|
10330
|
+
const documentEdited = type === "document:mutated" || type === "mutation:committed" && mutationCommittedEventChangedDocument(event);
|
|
10331
|
+
if (documentEdited && host && hostMethod(host, "isDirty")) recompute("document-dirty");
|
|
10332
|
+
else if (documentEdited && host && !dirtyHosts.has(host)) {
|
|
10293
10333
|
dirtyHosts.add(host);
|
|
10294
10334
|
recompute("document-dirty");
|
|
10295
10335
|
}
|
|
10336
|
+
if (type === "document:saved-point-changed") recompute("document-dirty");
|
|
10296
10337
|
if (type === "collaboration:document-replaced" && host) {
|
|
10297
10338
|
dirtyHosts.delete(host);
|
|
10298
10339
|
hostSeededMutationRevision.delete(host);
|
|
@@ -13779,6 +13820,7 @@ function createSuperDocUI(options) {
|
|
|
13779
13820
|
getFamilyOptions: () => state.fonts.options,
|
|
13780
13821
|
getSizeOptions: () => state.fonts.sizeOptions
|
|
13781
13822
|
};
|
|
13823
|
+
const history = snapshotHandle(sliceHandle((s) => s.history));
|
|
13782
13824
|
const zoomSnap = snapshotHandle(sliceHandle((s) => s.zoom));
|
|
13783
13825
|
const zoom = {
|
|
13784
13826
|
get: zoomSnap.get,
|
|
@@ -13844,6 +13886,23 @@ function createSuperDocUI(options) {
|
|
|
13844
13886
|
if (disposed) return () => {};
|
|
13845
13887
|
documentChangeListeners.add(listener);
|
|
13846
13888
|
return () => documentChangeListeners.delete(listener);
|
|
13889
|
+
},
|
|
13890
|
+
getVersion: () => {
|
|
13891
|
+
const { getDocumentVersion } = savedPoint();
|
|
13892
|
+
const version = getDocumentVersion ? safeCall(() => getDocumentVersion(), null) : null;
|
|
13893
|
+
return typeof version === "string" ? version : null;
|
|
13894
|
+
},
|
|
13895
|
+
markClean: (version) => {
|
|
13896
|
+
const { markSaved } = savedPoint();
|
|
13897
|
+
if (!markSaved) return {
|
|
13898
|
+
ok: false,
|
|
13899
|
+
reason: "unavailable"
|
|
13900
|
+
};
|
|
13901
|
+
const result = safeCall(() => markSaved(version), null);
|
|
13902
|
+
return isPlainObject(result) && result.ok === true ? { ok: true } : {
|
|
13903
|
+
ok: false,
|
|
13904
|
+
reason: isPlainObject(result) && result.reason === "document-changed" ? "document-changed" : "unavailable"
|
|
13905
|
+
};
|
|
13847
13906
|
}
|
|
13848
13907
|
};
|
|
13849
13908
|
const resolveVisibleHost = () => {
|
|
@@ -15435,6 +15494,7 @@ function createSuperDocUI(options) {
|
|
|
15435
15494
|
bookmarks,
|
|
15436
15495
|
fonts,
|
|
15437
15496
|
zoom,
|
|
15497
|
+
history,
|
|
15438
15498
|
document: documentHandle,
|
|
15439
15499
|
viewport,
|
|
15440
15500
|
decorations,
|
|
@@ -15656,4 +15716,4 @@ function commandIsActive(descriptor, selection) {
|
|
|
15656
15716
|
return descriptor.activeMark ? selection.activeMarks.includes(descriptor.activeMark) : false;
|
|
15657
15717
|
}
|
|
15658
15718
|
//#endregion
|
|
15659
|
-
export {
|
|
15719
|
+
export { recordInteraction as S, DOM_CLASS_NAMES as _, registerFirstPartyCommandMutation as a, getWorkflowRecording as b, getCommandDescriptor as c, mutationCommittedEventChangedDocument as d, isPlainObject as f, isSyntheticTrackedChangeCommentLaneItem as g, shallowEqual as h, readFirstPartyPageNumbers as i, applyV2CommentInvalidationFromMutation as l, resolveImageSrc as m, executeFirstPartyCommandAsync as n, isRecord as o, createImageFilePicker as p, executeFirstPartyShortcutAsync as r, BUILT_IN_COMMAND_IDS as s, createSuperDocUI as t, getV2TrackedChangeMutationImpact as u, closeInteractionHistory as v, isWorkflowRecordingEnabled as x, createInteractionHistory as y };
|
|
@@ -6717,9 +6717,19 @@ function createSuperDocUI(options) {
|
|
|
6717
6717
|
if (seeded > 0) dirtyHosts.add(host);
|
|
6718
6718
|
else if (revision === 0) dirtyHosts.delete(host);
|
|
6719
6719
|
};
|
|
6720
|
-
const
|
|
6720
|
+
const savedPoint = () => {
|
|
6721
6721
|
const host = getHost();
|
|
6722
|
+
return {
|
|
6723
|
+
host,
|
|
6724
|
+
isDirty: hostMethod(host, "isDirty"),
|
|
6725
|
+
getDocumentVersion: hostMethod(host, "getDocumentVersion"),
|
|
6726
|
+
markSaved: hostMethod(host, "markSaved")
|
|
6727
|
+
};
|
|
6728
|
+
};
|
|
6729
|
+
const hasLocalDocumentMutation = () => {
|
|
6730
|
+
const { host, isDirty } = savedPoint();
|
|
6722
6731
|
if (!host) return false;
|
|
6732
|
+
if (isDirty) return Boolean(safeCall(() => isDirty(), false));
|
|
6723
6733
|
seedLocalDocumentMutation(host);
|
|
6724
6734
|
return dirtyHosts.has(host);
|
|
6725
6735
|
};
|
|
@@ -8130,6 +8140,33 @@ function createSuperDocUI(options) {
|
|
|
8130
8140
|
sizeOptions: DEFAULT_FONT_SIZE_OPTIONS
|
|
8131
8141
|
};
|
|
8132
8142
|
};
|
|
8143
|
+
const EMPTY_HISTORY = {
|
|
8144
|
+
canUndo: false,
|
|
8145
|
+
canRedo: false,
|
|
8146
|
+
undoDepth: 0,
|
|
8147
|
+
redoDepth: 0
|
|
8148
|
+
};
|
|
8149
|
+
let historySlice = EMPTY_HISTORY;
|
|
8150
|
+
let historySource = null;
|
|
8151
|
+
const computeHistory = () => {
|
|
8152
|
+
const source = getEditCommands();
|
|
8153
|
+
if (source !== historySource) {
|
|
8154
|
+
historySource = source;
|
|
8155
|
+
historySlice = EMPTY_HISTORY;
|
|
8156
|
+
}
|
|
8157
|
+
const getSnapshot = hostMethod(source, "getSnapshot");
|
|
8158
|
+
const snapshot = getSnapshot ? safeCall(() => getSnapshot(), null) : null;
|
|
8159
|
+
const { undoDepth, redoDepth } = (isPlainObject(snapshot) && isPlainObject(snapshot.history) ? snapshot.history : null) ?? {};
|
|
8160
|
+
if (typeof undoDepth !== "number" || typeof redoDepth !== "number") return historySlice;
|
|
8161
|
+
const next = {
|
|
8162
|
+
canUndo: undoDepth > 0,
|
|
8163
|
+
canRedo: redoDepth > 0,
|
|
8164
|
+
undoDepth,
|
|
8165
|
+
redoDepth
|
|
8166
|
+
};
|
|
8167
|
+
if (!shallowEqual(next, historySlice)) historySlice = next;
|
|
8168
|
+
return historySlice;
|
|
8169
|
+
};
|
|
8133
8170
|
let zoomFitWidth;
|
|
8134
8171
|
const computeZoom = () => {
|
|
8135
8172
|
const getZoomState = hostMethod(superdoc, "getZoomState");
|
|
@@ -9942,6 +9979,7 @@ function createSuperDocUI(options) {
|
|
|
9942
9979
|
trackChanges: measure("trackChanges", () => computeTrackChanges(selection)),
|
|
9943
9980
|
contentControls: measure("contentControls", () => computeContentControls(selection)),
|
|
9944
9981
|
zoom: measure("zoom", computeZoom),
|
|
9982
|
+
history: measure("history", computeHistory),
|
|
9945
9983
|
fonts: measure("fonts", computeFonts),
|
|
9946
9984
|
styles: measure("styles", () => computeStyles(selection))
|
|
9947
9985
|
};
|
|
@@ -10290,10 +10328,13 @@ function createSuperDocUI(options) {
|
|
|
10290
10328
|
for (const [commandId, optimistic] of optimisticInlineToggles) if (optimistic.settled || type === "collaboration:document-replaced") optimisticInlineToggles.delete(commandId);
|
|
10291
10329
|
}
|
|
10292
10330
|
if (isStandaloneDocumentMutation || type === "mutation:committed" && mutationCommittedEventChangedVisibleContent(event) || type === "collaboration:remote-changed" && Array.isArray(event.changedStoryIds) && event.changedStoryIds.length > 0) scheduleActiveSearchRefresh();
|
|
10293
|
-
|
|
10331
|
+
const documentEdited = type === "document:mutated" || type === "mutation:committed" && mutationCommittedEventChangedDocument(event);
|
|
10332
|
+
if (documentEdited && host && hostMethod(host, "isDirty")) recompute("document-dirty");
|
|
10333
|
+
else if (documentEdited && host && !dirtyHosts.has(host)) {
|
|
10294
10334
|
dirtyHosts.add(host);
|
|
10295
10335
|
recompute("document-dirty");
|
|
10296
10336
|
}
|
|
10337
|
+
if (type === "document:saved-point-changed") recompute("document-dirty");
|
|
10297
10338
|
if (type === "collaboration:document-replaced" && host) {
|
|
10298
10339
|
dirtyHosts.delete(host);
|
|
10299
10340
|
hostSeededMutationRevision.delete(host);
|
|
@@ -13780,6 +13821,7 @@ function createSuperDocUI(options) {
|
|
|
13780
13821
|
getFamilyOptions: () => state.fonts.options,
|
|
13781
13822
|
getSizeOptions: () => state.fonts.sizeOptions
|
|
13782
13823
|
};
|
|
13824
|
+
const history = snapshotHandle(sliceHandle((s) => s.history));
|
|
13783
13825
|
const zoomSnap = snapshotHandle(sliceHandle((s) => s.zoom));
|
|
13784
13826
|
const zoom = {
|
|
13785
13827
|
get: zoomSnap.get,
|
|
@@ -13845,6 +13887,23 @@ function createSuperDocUI(options) {
|
|
|
13845
13887
|
if (disposed) return () => {};
|
|
13846
13888
|
documentChangeListeners.add(listener);
|
|
13847
13889
|
return () => documentChangeListeners.delete(listener);
|
|
13890
|
+
},
|
|
13891
|
+
getVersion: () => {
|
|
13892
|
+
const { getDocumentVersion } = savedPoint();
|
|
13893
|
+
const version = getDocumentVersion ? safeCall(() => getDocumentVersion(), null) : null;
|
|
13894
|
+
return typeof version === "string" ? version : null;
|
|
13895
|
+
},
|
|
13896
|
+
markClean: (version) => {
|
|
13897
|
+
const { markSaved } = savedPoint();
|
|
13898
|
+
if (!markSaved) return {
|
|
13899
|
+
ok: false,
|
|
13900
|
+
reason: "unavailable"
|
|
13901
|
+
};
|
|
13902
|
+
const result = safeCall(() => markSaved(version), null);
|
|
13903
|
+
return isPlainObject(result) && result.ok === true ? { ok: true } : {
|
|
13904
|
+
ok: false,
|
|
13905
|
+
reason: isPlainObject(result) && result.reason === "document-changed" ? "document-changed" : "unavailable"
|
|
13906
|
+
};
|
|
13848
13907
|
}
|
|
13849
13908
|
};
|
|
13850
13909
|
const resolveVisibleHost = () => {
|
|
@@ -15436,6 +15495,7 @@ function createSuperDocUI(options) {
|
|
|
15436
15495
|
bookmarks,
|
|
15437
15496
|
fonts,
|
|
15438
15497
|
zoom,
|
|
15498
|
+
history,
|
|
15439
15499
|
document: documentHandle,
|
|
15440
15500
|
viewport,
|
|
15441
15501
|
decorations,
|
|
@@ -15711,6 +15771,12 @@ Object.defineProperty(exports, "executeFirstPartyShortcutAsync", {
|
|
|
15711
15771
|
return executeFirstPartyShortcutAsync;
|
|
15712
15772
|
}
|
|
15713
15773
|
});
|
|
15774
|
+
Object.defineProperty(exports, "getCommandDescriptor", {
|
|
15775
|
+
enumerable: true,
|
|
15776
|
+
get: function() {
|
|
15777
|
+
return getCommandDescriptor;
|
|
15778
|
+
}
|
|
15779
|
+
});
|
|
15714
15780
|
Object.defineProperty(exports, "getV2TrackedChangeMutationImpact", {
|
|
15715
15781
|
enumerable: true,
|
|
15716
15782
|
get: function() {
|
|
@@ -19,7 +19,7 @@ var COLLABORATION_UPGRADE_ENGINE_MINIMUM_NODE_MAJOR = 20;
|
|
|
19
19
|
var PRIVATE_ENGINE_INFO = (0, _superdoc_docx_engine_collaboration_upgrade_engine.getCollaborationUpgradeEngineInfo)();
|
|
20
20
|
var ENGINE_INFO = Object.freeze({
|
|
21
21
|
...PRIVATE_ENGINE_INFO,
|
|
22
|
-
superdocVersion: "2.28.0-next.
|
|
22
|
+
superdocVersion: "2.28.0-next.19",
|
|
23
23
|
roomSchemaVersion: Object.freeze({ ...PRIVATE_ENGINE_INFO.roomSchemaVersion }),
|
|
24
24
|
supportedBundleVersions: SUPPORTED_COLLABORATION_UPGRADE_BUNDLE_VERSIONS,
|
|
25
25
|
supportedV1ReaderContractVersions: SUPPORTED_V1_READER_CONTRACT_VERSIONS
|
|
@@ -18,7 +18,7 @@ var COLLABORATION_UPGRADE_ENGINE_MINIMUM_NODE_MAJOR = 20;
|
|
|
18
18
|
var PRIVATE_ENGINE_INFO = getCollaborationUpgradeEngineInfo$1();
|
|
19
19
|
var ENGINE_INFO = Object.freeze({
|
|
20
20
|
...PRIVATE_ENGINE_INFO,
|
|
21
|
-
superdocVersion: "2.28.0-next.
|
|
21
|
+
superdocVersion: "2.28.0-next.19",
|
|
22
22
|
roomSchemaVersion: Object.freeze({ ...PRIVATE_ENGINE_INFO.roomSchemaVersion }),
|
|
23
23
|
supportedBundleVersions: SUPPORTED_COLLABORATION_UPGRADE_BUNDLE_VERSIONS,
|
|
24
24
|
supportedV1ReaderContractVersions: SUPPORTED_V1_READER_CONTRACT_VERSIONS
|
|
@@ -2829,7 +2829,7 @@ export declare const OPERATION_DEFINITIONS: {
|
|
|
2829
2829
|
readonly 'footnotes.insert': {
|
|
2830
2830
|
readonly memberPath: "footnotes.insert";
|
|
2831
2831
|
readonly description: "Insert a new footnote or endnote at a target location or the current selection.";
|
|
2832
|
-
readonly expectedResult:
|
|
2832
|
+
readonly expectedResult: string;
|
|
2833
2833
|
readonly requiresDocumentContext: true;
|
|
2834
2834
|
readonly metadata: CommandStaticMetadata;
|
|
2835
2835
|
readonly referenceDocPath: "footnotes/insert.mdx";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BlockNodeAddress, ChangeMode, ReceiptFailure } from '../types/index.js';
|
|
1
|
+
import { BlockNodeAddress, ChangeMode, ReceiptFailure, TrackedChangeAddress } from '../types/index.js';
|
|
2
2
|
import { DiscoveryOutput } from '../types/discovery.js';
|
|
3
3
|
export type SectionAddress = {
|
|
4
4
|
kind: 'section';
|
|
@@ -111,6 +111,7 @@ export interface SectionsGetInput {
|
|
|
111
111
|
export type SectionsListResult = DiscoveryOutput<SectionDomain>;
|
|
112
112
|
export interface SectionMutationSuccessResult {
|
|
113
113
|
success: true;
|
|
114
|
+
dryRun?: boolean;
|
|
114
115
|
section: SectionAddress;
|
|
115
116
|
/** Committed review-aware content mode; omitted for dry runs, no-ops and non-reviewable settings. */
|
|
116
117
|
appliedChangeMode?: ChangeMode;
|
|
@@ -126,11 +127,14 @@ export type SectionMutationResult = SectionMutationSuccessResult | SectionMutati
|
|
|
126
127
|
*/
|
|
127
128
|
export interface DocumentMutationSuccessResult {
|
|
128
129
|
success: true;
|
|
130
|
+
dryRun?: boolean;
|
|
131
|
+
changed?: boolean;
|
|
129
132
|
}
|
|
130
133
|
export type DocumentMutationResult = DocumentMutationSuccessResult | SectionMutationFailureResult;
|
|
131
134
|
export interface CreateSectionBreakSuccessResult {
|
|
132
135
|
success: true;
|
|
133
136
|
appliedChangeMode?: 'direct' | 'tracked';
|
|
137
|
+
trackedChangeRefs?: TrackedChangeAddress[];
|
|
134
138
|
section: SectionAddress;
|
|
135
139
|
/**
|
|
136
140
|
* Present only when the break is represented as a dedicated paragraph.
|
|
@@ -145,6 +145,7 @@ export type ReceiptSuccess = {
|
|
|
145
145
|
/** Temporary-preview lifecycle and caller tag, also delivered through mutation events. */
|
|
146
146
|
temporary?: import('./temporary-mutation.js').TemporaryMutationMetadata;
|
|
147
147
|
success: true;
|
|
148
|
+
status?: 'NO_OP';
|
|
148
149
|
/** Whether a successful request changed the document; false represents a no-op commit. */
|
|
149
150
|
changed?: boolean;
|
|
150
151
|
/** Tracked changes authored by this mutation. */
|
|
@@ -564,6 +564,7 @@ export type RenderPlaceholder = {
|
|
|
564
564
|
*/
|
|
565
565
|
export type ImageRun = {
|
|
566
566
|
kind: 'image';
|
|
567
|
+
inlineDrawingId?: string;
|
|
567
568
|
/** Image source URL (data URI or external URL). */
|
|
568
569
|
src: string;
|
|
569
570
|
/** Image width in pixels. */
|
|
@@ -2406,6 +2407,7 @@ export type ImageMeasure = {
|
|
|
2406
2407
|
};
|
|
2407
2408
|
export type DrawingMeasure = {
|
|
2408
2409
|
kind: 'drawing';
|
|
2410
|
+
inlineDrawing?: boolean;
|
|
2409
2411
|
drawingKind: DrawingKind;
|
|
2410
2412
|
width: number;
|
|
2411
2413
|
height: number;
|
|
@@ -213,3 +213,4 @@ export declare function pmPosToCharOffset(block: FlowBlock, line: Line, pmPos: n
|
|
|
213
213
|
export declare function pmPosToVisualCharOffset(block: FlowBlock, line: Line, pmPos: number): number;
|
|
214
214
|
export { measureVisualBidiFragment, type MeasuredVisualBidiFragment } from './neutral-segment-geometry.js';
|
|
215
215
|
export { measuredVisualBidiCaretX, measuredVisualBidiOffsetAtX, measuredVisualBidiRangeBands, isMeasuredVisualBidiLineCurrent, type MeasuredVisualBidiLine, } from './visual-bidi-geometry.js';
|
|
216
|
+
export { placeInlineDrawings } from './place-inline-drawings.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FlowBlock, Layout, Measure } from '../../contracts/src/index.js';
|
|
2
|
+
export declare function placeInlineDrawings(layout: Layout, blocks: FlowBlock[], measures: Measure[], blockIndexById?: ReadonlyMap<string, number>, retainedPages?: {
|
|
3
|
+
prefixEndPageIndex?: number;
|
|
4
|
+
tail?: {
|
|
5
|
+
startPageIndex: number;
|
|
6
|
+
endPageIndexExclusive: number;
|
|
7
|
+
blockIdRewrites?: ReadonlyMap<string, string> | null;
|
|
8
|
+
};
|
|
9
|
+
}): Layout;
|
|
@@ -9,6 +9,7 @@ import { PageState } from './paginator.js';
|
|
|
9
9
|
* callbacks for positioning the drawing fragment on the current page/column.
|
|
10
10
|
*/
|
|
11
11
|
export type DrawingLayoutContext = {
|
|
12
|
+
inlineParagraphBound?: boolean;
|
|
12
13
|
/** The drawing block to layout */
|
|
13
14
|
block: DrawingBlock;
|
|
14
15
|
/** Measured dimensions and geometry data for the drawing */
|
|
@@ -57,4 +58,4 @@ export type DrawingLayoutContext = {
|
|
|
57
58
|
* - Anchored drawings (`block.anchor?.isAnchored === true`) are skipped
|
|
58
59
|
* - They are positioned via the paragraph anchoring pre-pass
|
|
59
60
|
*/
|
|
60
|
-
export declare function layoutDrawingBlock({ block, measure, columns, ensurePage, advanceColumn, columnX, textboxContentMeasures, }: DrawingLayoutContext): void;
|
|
61
|
+
export declare function layoutDrawingBlock({ block, measure, columns, ensurePage, advanceColumn, columnX, textboxContentMeasures, inlineParagraphBound, }: DrawingLayoutContext): void;
|
package/dist/public/ui-react.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-
|
|
2
|
+
const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-DNe9BmHD.cjs");
|
|
3
3
|
const require_slice_source = require("../chunks/slice-source-CFaqq0Vo.cjs");
|
|
4
4
|
let react = require("react");
|
|
5
5
|
let use_sync_external_store_shim = require("use-sync-external-store/shim");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-
|
|
1
|
+
import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-BEB7RtD6.es.js";
|
|
2
2
|
import { t as toSliceSource } from "../chunks/slice-source-gfOhG2MW.es.js";
|
|
3
3
|
import { createContext, createElement, useCallback, useContext, useEffect, useRef, useState } from "react";
|
|
4
4
|
import { useSyncExternalStore } from "use-sync-external-store/shim";
|
package/dist/public/ui-vue.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-
|
|
2
|
+
const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-DNe9BmHD.cjs");
|
|
3
3
|
const require_slice_source = require("../chunks/slice-source-CFaqq0Vo.cjs");
|
|
4
4
|
let superdoc_entry_vue = require("vue");
|
|
5
5
|
//#region src/public/ui/vue.ts
|
package/dist/public/ui-vue.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-
|
|
1
|
+
import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-BEB7RtD6.es.js";
|
|
2
2
|
import { t as toSliceSource } from "../chunks/slice-source-gfOhG2MW.es.js";
|
|
3
3
|
import { computed, inject, onScopeDispose, provide, shallowRef, toRaw, toValue, watch } from "vue";
|
|
4
4
|
//#region src/public/ui/vue.ts
|
package/dist/public/ui.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-
|
|
2
|
+
const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-DNe9BmHD.cjs");
|
|
3
3
|
//#region ../document-api/src/types/receipt.ts
|
|
4
4
|
/** Read a known failure.details.reason without assuming every failure has one. */
|
|
5
5
|
function getDocumentApiRejectionReason(details) {
|
package/dist/public/ui.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { h as shallowEqual, s as BUILT_IN_COMMAND_IDS, t as createSuperDocUI } from "../chunks/create-super-doc-ui-BEB7RtD6.es.js";
|
|
2
2
|
//#region ../document-api/src/types/receipt.ts
|
|
3
3
|
/** Read a known failure.details.reason without assuming every failure has one. */
|
|
4
4
|
function getDocumentApiRejectionReason(details) {
|