superdoc 2.27.0-next.2 → 2.27.0-next.4
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-DK14sCrT.cjs → create-super-doc-ui-BWoeA7So.cjs} +34 -2
- package/dist/chunks/{create-super-doc-ui-BCQ5RHxy.es.js → create-super-doc-ui-DqZk5WpX.es.js} +29 -3
- package/dist/collaboration-upgrade-engine.cjs +1 -1
- package/dist/collaboration-upgrade-engine.es.js +1 -1
- package/dist/document-api/src/history/history.types.d.ts +0 -6
- package/dist/document-api/src/index.d.ts +1 -1
- package/dist/document-api/src/lists/lists.types.d.ts +3 -0
- package/dist/layout-engine/contracts/src/direction-context.d.ts +1 -2
- package/dist/layout-engine/contracts/src/resolved-layout.d.ts +0 -34
- package/dist/layout-engine/layout-bridge/src/neutral-hit.d.ts +0 -7
- package/dist/layout-engine/layout-engine/src/index.d.ts +0 -1
- package/dist/layout-engine/painters/dom/src/features/inline-direction/run-direction.d.ts +0 -3
- 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/superdoc/src/core/v2-integration/v2-integration.d.ts +2 -5
- package/dist/superdoc/src/helpers/tracked-change-comment-lane.d.ts +1 -0
- package/dist/superdoc.cjs +7 -18
- package/dist/superdoc.es.js +3 -14
- package/dist-cdn/superdoc.min.js +38 -38
- package/package.json +2 -5
- package/dist/superdoc/src/components/CommentsLayer/comment-schemas.d.ts +0 -18
- package/dist/superdoc/src/components/CommentsLayer/types.d.ts +0 -3
- package/dist/superdoc/src/components/CommentsLayer/use-conversation.d.ts +0 -22
- package/dist/superdoc/src/components/CommentsLayer/use-floating-comment.d.ts +0 -11
- package/dist/superdoc/src/core/collaboration/room-overwrite.d.ts +0 -22
- package/dist/superdoc/src/core/index.d.ts +0 -1
- package/dist/superdoc/src/stores/hrbr-fields-store.d.ts +0 -43
|
@@ -1078,6 +1078,15 @@ var decodeLayoutStoryDataset = (raw) => {
|
|
|
1078
1078
|
`${DOM_CLASS_NAMES.BLOCK_SDT}${DATA_ATTRS.SDT_ID}`;
|
|
1079
1079
|
`${DATA_ATTRS.DRAGGABLE}`;
|
|
1080
1080
|
//#endregion
|
|
1081
|
+
//#region src/helpers/tracked-change-comment-lane.ts
|
|
1082
|
+
var TRACKED_CHANGE_COMMENT_LANE_ID_PREFIX = "tc-comment:";
|
|
1083
|
+
function isSyntheticTrackedChangeCommentLaneItem(item) {
|
|
1084
|
+
if (!item || typeof item !== "object") return false;
|
|
1085
|
+
const { id, commentId } = item;
|
|
1086
|
+
const itemId = id ?? commentId;
|
|
1087
|
+
return typeof itemId === "string" && itemId.startsWith(TRACKED_CHANGE_COMMENT_LANE_ID_PREFIX);
|
|
1088
|
+
}
|
|
1089
|
+
//#endregion
|
|
1081
1090
|
//#region src/public/ui/viewport-batch.ts
|
|
1082
1091
|
/** No rendering or scrolling: read only geometry already acknowledged by the host. */
|
|
1083
1092
|
async function readViewportBatch(input, read, generation, disposed) {
|
|
@@ -7607,9 +7616,26 @@ function createSuperDocUI(options) {
|
|
|
7607
7616
|
recompute();
|
|
7608
7617
|
return selection;
|
|
7609
7618
|
};
|
|
7619
|
+
const realComments = (items) => items.filter((item) => !isSyntheticTrackedChangeCommentLaneItem(item));
|
|
7620
|
+
let lastWindowComments = null;
|
|
7621
|
+
const realCommentsOfWindow = (window) => {
|
|
7622
|
+
const items = window?.commentItems;
|
|
7623
|
+
if (!Array.isArray(items)) return null;
|
|
7624
|
+
const last = lastWindowComments;
|
|
7625
|
+
if (last?.source === items && shallowEqual(last.rows, items)) return last.real;
|
|
7626
|
+
lastWindowComments = {
|
|
7627
|
+
source: items,
|
|
7628
|
+
rows: [...items],
|
|
7629
|
+
real: realComments(items)
|
|
7630
|
+
};
|
|
7631
|
+
return lastWindowComments.real;
|
|
7632
|
+
};
|
|
7610
7633
|
const readCommentsDirectory = () => {
|
|
7611
7634
|
const listComments = hostMethod(getDoc()?.comments, "list");
|
|
7612
|
-
return readAsync("comments", contentToken(), () => listComments ? listComments() : void 0, (raw) =>
|
|
7635
|
+
return readAsync("comments", contentToken(), () => listComments ? listComments() : void 0, (raw) => {
|
|
7636
|
+
const items = isPlainObject(raw) ? raw.items : void 0;
|
|
7637
|
+
return Array.isArray(items) ? realComments(items) : [];
|
|
7638
|
+
});
|
|
7613
7639
|
};
|
|
7614
7640
|
const readTrackChangesDirectory = (key = "trackChanges") => {
|
|
7615
7641
|
const token = contentToken();
|
|
@@ -7642,7 +7668,7 @@ function createSuperDocUI(options) {
|
|
|
7642
7668
|
const reviewWindow = getV2ReviewWindowSnapshot();
|
|
7643
7669
|
const hasWindowFeed = hasV2ReviewWindowFeed();
|
|
7644
7670
|
const catalog = !hasWindowFeed ? readCommentsDirectory() : null;
|
|
7645
|
-
const windowItems = hasWindowFeed
|
|
7671
|
+
const windowItems = hasWindowFeed ? realCommentsOfWindow(reviewWindow) : null;
|
|
7646
7672
|
const value = hasWindowFeed ? windowItems : catalog.value;
|
|
7647
7673
|
const listStatus = hasWindowFeed ? reviewWindowSliceStatus(reviewWindow) : catalog.status;
|
|
7648
7674
|
const items = value ?? [];
|
|
@@ -15124,6 +15150,12 @@ Object.defineProperty(exports, "isPlainObject", {
|
|
|
15124
15150
|
return isPlainObject;
|
|
15125
15151
|
}
|
|
15126
15152
|
});
|
|
15153
|
+
Object.defineProperty(exports, "isSyntheticTrackedChangeCommentLaneItem", {
|
|
15154
|
+
enumerable: true,
|
|
15155
|
+
get: function() {
|
|
15156
|
+
return isSyntheticTrackedChangeCommentLaneItem;
|
|
15157
|
+
}
|
|
15158
|
+
});
|
|
15127
15159
|
Object.defineProperty(exports, "isWorkflowRecordingEnabled", {
|
|
15128
15160
|
enumerable: true,
|
|
15129
15161
|
get: function() {
|
package/dist/chunks/{create-super-doc-ui-BCQ5RHxy.es.js → create-super-doc-ui-DqZk5WpX.es.js}
RENAMED
|
@@ -1078,6 +1078,15 @@ var decodeLayoutStoryDataset = (raw) => {
|
|
|
1078
1078
|
`${DOM_CLASS_NAMES.BLOCK_SDT}${DATA_ATTRS.SDT_ID}`;
|
|
1079
1079
|
`${DATA_ATTRS.DRAGGABLE}`;
|
|
1080
1080
|
//#endregion
|
|
1081
|
+
//#region src/helpers/tracked-change-comment-lane.ts
|
|
1082
|
+
var TRACKED_CHANGE_COMMENT_LANE_ID_PREFIX = "tc-comment:";
|
|
1083
|
+
function isSyntheticTrackedChangeCommentLaneItem(item) {
|
|
1084
|
+
if (!item || typeof item !== "object") return false;
|
|
1085
|
+
const { id, commentId } = item;
|
|
1086
|
+
const itemId = id ?? commentId;
|
|
1087
|
+
return typeof itemId === "string" && itemId.startsWith(TRACKED_CHANGE_COMMENT_LANE_ID_PREFIX);
|
|
1088
|
+
}
|
|
1089
|
+
//#endregion
|
|
1081
1090
|
//#region src/public/ui/viewport-batch.ts
|
|
1082
1091
|
/** No rendering or scrolling: read only geometry already acknowledged by the host. */
|
|
1083
1092
|
async function readViewportBatch(input, read, generation, disposed) {
|
|
@@ -7606,9 +7615,26 @@ function createSuperDocUI(options) {
|
|
|
7606
7615
|
recompute();
|
|
7607
7616
|
return selection;
|
|
7608
7617
|
};
|
|
7618
|
+
const realComments = (items) => items.filter((item) => !isSyntheticTrackedChangeCommentLaneItem(item));
|
|
7619
|
+
let lastWindowComments = null;
|
|
7620
|
+
const realCommentsOfWindow = (window) => {
|
|
7621
|
+
const items = window?.commentItems;
|
|
7622
|
+
if (!Array.isArray(items)) return null;
|
|
7623
|
+
const last = lastWindowComments;
|
|
7624
|
+
if (last?.source === items && shallowEqual(last.rows, items)) return last.real;
|
|
7625
|
+
lastWindowComments = {
|
|
7626
|
+
source: items,
|
|
7627
|
+
rows: [...items],
|
|
7628
|
+
real: realComments(items)
|
|
7629
|
+
};
|
|
7630
|
+
return lastWindowComments.real;
|
|
7631
|
+
};
|
|
7609
7632
|
const readCommentsDirectory = () => {
|
|
7610
7633
|
const listComments = hostMethod(getDoc()?.comments, "list");
|
|
7611
|
-
return readAsync("comments", contentToken(), () => listComments ? listComments() : void 0, (raw) =>
|
|
7634
|
+
return readAsync("comments", contentToken(), () => listComments ? listComments() : void 0, (raw) => {
|
|
7635
|
+
const items = isPlainObject(raw) ? raw.items : void 0;
|
|
7636
|
+
return Array.isArray(items) ? realComments(items) : [];
|
|
7637
|
+
});
|
|
7612
7638
|
};
|
|
7613
7639
|
const readTrackChangesDirectory = (key = "trackChanges") => {
|
|
7614
7640
|
const token = contentToken();
|
|
@@ -7641,7 +7667,7 @@ function createSuperDocUI(options) {
|
|
|
7641
7667
|
const reviewWindow = getV2ReviewWindowSnapshot();
|
|
7642
7668
|
const hasWindowFeed = hasV2ReviewWindowFeed();
|
|
7643
7669
|
const catalog = !hasWindowFeed ? readCommentsDirectory() : null;
|
|
7644
|
-
const windowItems = hasWindowFeed
|
|
7670
|
+
const windowItems = hasWindowFeed ? realCommentsOfWindow(reviewWindow) : null;
|
|
7645
7671
|
const value = hasWindowFeed ? windowItems : catalog.value;
|
|
7646
7672
|
const listStatus = hasWindowFeed ? reviewWindowSliceStatus(reviewWindow) : catalog.status;
|
|
7647
7673
|
const items = value ?? [];
|
|
@@ -15051,4 +15077,4 @@ function commandIsActive(descriptor, selection) {
|
|
|
15051
15077
|
return descriptor.activeMark ? selection.activeMarks.includes(descriptor.activeMark) : false;
|
|
15052
15078
|
}
|
|
15053
15079
|
//#endregion
|
|
15054
|
-
export {
|
|
15080
|
+
export { getWorkflowRecording as _, registerFirstPartyCommandMutation as a, getV2TrackedChangeMutationImpact as c, resolveImageSrc as d, shallowEqual as f, createInteractionHistory as g, closeInteractionHistory as h, readFirstPartyPageNumbers as i, isPlainObject as l, DOM_CLASS_NAMES as m, executeFirstPartyCommandAsync as n, BUILT_IN_COMMAND_IDS as o, isSyntheticTrackedChangeCommentLaneItem as p, executeFirstPartyShortcutAsync as r, applyV2CommentInvalidationFromMutation as s, createSuperDocUI as t, createImageFilePicker as u, isWorkflowRecordingEnabled as v, recordInteraction as y };
|
|
@@ -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.27.0-next.
|
|
22
|
+
superdocVersion: "2.27.0-next.4",
|
|
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.27.0-next.
|
|
21
|
+
superdocVersion: "2.27.0-next.4",
|
|
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
|
|
@@ -43,12 +43,6 @@ export interface SDHistoryCollaborationMeta {
|
|
|
43
43
|
* Result of a history.undo or history.redo action.
|
|
44
44
|
* Mirrors PlanReceipt's revision shape for consistency.
|
|
45
45
|
*
|
|
46
|
-
* AIDEV-NOTE: this shape carries optional ref-effect
|
|
47
|
-
* fields. v1 callers leave them undefined; v2 (`V2HistoryAdapter`) populates
|
|
48
|
-
* them from the stored semantic delta of the undone/redone transaction so
|
|
49
|
-
* callers' held refs stay accurate across history actions. Never make any
|
|
50
|
-
* of the new fields required — v1 adapters MUST keep compiling unchanged.
|
|
51
|
-
*
|
|
52
46
|
* The shape also carries three optional collaboration fields:
|
|
53
47
|
* `status`, `diagnosticCode`, and `collaboration`. v1 leaves them
|
|
54
48
|
* undefined; collaborative v2 sessions populate them so callers can react
|
|
@@ -169,7 +169,7 @@ export type { ParagraphsAdapter, ParagraphFormatApi, ParagraphStylesApi } from '
|
|
|
169
169
|
export type { ParagraphTarget, ParagraphBlockType, ParagraphMutationResult, ParagraphMutationSuccess, ParagraphMutationFailure, MutationResolution, ParagraphAlignment, TabStopAlignment, TabStopLeader, BorderSide, ClearBorderSide, LineRule, ParagraphsSetStyleInput, ParagraphSemanticStyleRole, ParagraphsSetStyleRefInput, ParagraphsClearStyleInput, ParagraphsResetDirectFormattingInput, ParagraphsSetAlignmentInput, ParagraphsClearAlignmentInput, ParagraphsSetIndentationInput, ParagraphsClearIndentationInput, ParagraphsSetSpacingInput, ParagraphsClearSpacingInput, ParagraphsSetKeepOptionsInput, ParagraphsSetOutlineLevelInput, ParagraphsSetFlowOptionsInput, ParagraphsSetTabStopInput, ParagraphsClearTabStopInput, ParagraphsClearAllTabStopsInput, ParagraphsSetBorderInput, ParagraphsClearBorderInput, ParagraphsSetShadingInput, ParagraphsClearShadingInput, ParagraphsSetMarkRunPropsInput, ParagraphsSetDirectionInput, ParagraphsClearDirectionInput, ParagraphsSetNumberingInput, ParagraphDirection, AlignmentPolicy, } from './paragraphs/paragraphs.js';
|
|
170
170
|
export { PARAGRAPH_ALIGNMENTS, TAB_STOP_ALIGNMENTS, TAB_STOP_LEADERS, BORDER_SIDES, CLEAR_BORDER_SIDES, LINE_RULES, PARAGRAPH_DIRECTIONS, ALIGNMENT_POLICIES, } from './paragraphs/paragraphs.js';
|
|
171
171
|
export type { BlockAddress, BlockRange, CanContinueReason, CanJoinReason, JoinDirection, ListInsertInput, ListItemAddress, ListItemInfo, ListKind, ListsAttachInput, ListsCanContinuePreviousInput, ListsCanContinuePreviousResult, ListsCanJoinInput, ListsCanJoinResult, ListsConvertToTextInput, ListsConvertToTextResult, ListsContinuePreviousInput, ListsCreateInput, ListsCreateResult, ListsDetachInput, ListsDetachResult, ListsDeleteInput, ListsDeleteResult, ListsFailureCode, ListsGetInput, ListsInsertResult, ListsJoinInput, ListsJoinResult, ListsListQuery, ListsListResult, ListsMutateItemResult, ListsSeparateInput, ListsSeparateResult, ListsMergeInput, ListsMergeResult, ListsSplitInput, ListsSplitResult, ListsSetLevelInput, ListsSetLevelRestartInput, ListsSetValueInput, ListTargetInput, MutationScope, LevelAlignment, TrailingCharacter, ListPresetId, ListPresetMarker, ListLevelTemplate, ListTemplate, ListsApplyTemplateInput, ListsApplyPresetInput, ListsCaptureTemplateInput, ListsCaptureTemplateResult, ListsCaptureTemplateSuccessResult, ListsSetLevelNumberingInput, ListsSetLevelBulletInput, ListsSetLevelPictureBulletInput, ListsSetLevelAlignmentInput, ListsSetLevelIndentsInput, ListsSetLevelTrailingCharacterInput, ListsSetLevelMarkerFontInput, ListsClearLevelOverridesInput, ListsSetTypeInput, ListStyle, ListLevelStyle, ListLevelLayout, ListsGetStyleInput, ListsGetStyleResult, ListsGetStyleSuccessResult, ListsApplyStyleInput, ListsRestartAtInput, ListsSetLevelNumberStyleInput, ListsSetLevelTextInput, ListsSetLevelStartInput, ListsSetLevelLayoutInput, ListsGetStateInput, ListsGetStateResult, ListsApplyInput, ListsContinueV2Input, ListsRestartV2Input, ListsRemoveV2Input, } from './lists/lists.types.js';
|
|
172
|
-
export { LIST_KINDS, LIST_INSERT_POSITIONS, JOIN_DIRECTIONS, MUTATION_SCOPES, LEVEL_ALIGNMENTS, TRAILING_CHARACTERS, LIST_PRESET_IDS, LIST_PRESET_MARKERS, } from './lists/lists.types.js';
|
|
172
|
+
export { LIST_KINDS, LIST_INSERT_POSITIONS, JOIN_DIRECTIONS, MUTATION_SCOPES, LEVEL_ALIGNMENTS, TRAILING_CHARACTERS, LIST_PRESET_IDS, LIST_PRESET_MARKERS, LIST_CUSTOM_NUMBERING_FORMATS, } from './lists/lists.types.js';
|
|
173
173
|
export type { CreateSectionBreakInput, CreateSectionBreakResult, DocumentMutationResult, SectionAddress, SectionBorderSpec, SectionBreakCreateLocation, SectionBreakRepresentation, SectionBreakType, SectionColumns, SectionDirection, SectionDomain, SectionHeaderFooterKind, SectionHeaderFooterMargins, SectionHeaderFooterRefs, SectionHeaderFooterVariant, SectionInfo, SectionLineNumbering, SectionLineNumberRestart, SectionMutationResult, SectionOrientation, SectionPageBorders, SectionPageMargins, SectionPageNumbering, SectionPageNumberingChapterSeparator, SectionPageNumberingFormat, SectionPageSetup, SectionRangeDomain, SectionTargetInput, SectionVerticalAlign, SectionsClearHeaderFooterRefInput, SectionsClearPageBordersInput, SectionsGetInput, SectionsListQuery, SectionsListResult, SectionsSetBreakTypeInput, SectionsSetColumnsInput, SectionsSetHeaderFooterMarginsInput, SectionsSetHeaderFooterRefInput, SectionsSetLineNumberingInput, SectionsSetLinkToPreviousInput, SectionsSetOddEvenHeadersFootersInput, SectionsSetPageBordersInput, SectionsSetPageMarginsInput, SectionsSetPageNumberingInput, SectionsSetPageSetupInput, SectionsSetSectionDirectionInput, SectionsSetTitlePageInput, SectionsSetVerticalAlignInput, } from './sections/sections.types.js';
|
|
174
174
|
export type { CommentsCreateReceipt, CommentsCreateInput, CommentCreateAttributionInput, CommentsPatchInput, CommentsDeleteInput, CommentsAdapter, CommentsApi, GetCommentInput, TrackedChangeCommentTarget, TrackedChangeCommentTargetSide, TextSearchCommentTarget, AddCommentInput, EditCommentInput, ReplyToCommentInput, MoveCommentInput, ResolveCommentInput, ReopenCommentInput, RemoveCommentInput, SetCommentInternalInput, GoToCommentInput, SetCommentActiveInput, } from './comments/comments.js';
|
|
175
175
|
export { executeCommentsCreate, executeCommentsPatch, executeCommentsDelete, executeGetComment, executeListComments, } from './comments/comments.js';
|
|
@@ -206,10 +206,12 @@ export interface ListsConvertToTextInput {
|
|
|
206
206
|
target: ListItemAddress;
|
|
207
207
|
includeMarker?: boolean;
|
|
208
208
|
}
|
|
209
|
+
export declare const LIST_CUSTOM_NUMBERING_FORMATS: readonly ["01, 02, 03, ...", "001, 002, 003, ...", "0001, 0002, 0003, ..."];
|
|
209
210
|
/** A captured snapshot of one level's formatting properties. */
|
|
210
211
|
export interface ListLevelTemplate {
|
|
211
212
|
level: number;
|
|
212
213
|
numFmt?: string;
|
|
214
|
+
customFormat?: string;
|
|
213
215
|
lvlText?: string;
|
|
214
216
|
start?: number;
|
|
215
217
|
alignment?: LevelAlignment;
|
|
@@ -274,6 +276,7 @@ export interface ListsSetLevelNumberingInput {
|
|
|
274
276
|
target: ListItemAddress;
|
|
275
277
|
level: number;
|
|
276
278
|
numFmt: string;
|
|
279
|
+
customFormat?: string;
|
|
277
280
|
lvlText: string;
|
|
278
281
|
start?: number;
|
|
279
282
|
/** Format numeric placeholders as decimal. False removes legal numbering; omit to preserve it. */
|
|
@@ -197,8 +197,7 @@ export declare function getParagraphInlineDirection(attrs: {
|
|
|
197
197
|
*
|
|
198
198
|
* Prefers the resolved {@link TableDirectionContext} when present, falls
|
|
199
199
|
* back to the legacy `tableProperties.rightToLeft` (or `bidiVisual` alias)
|
|
200
|
-
* for compatibility.
|
|
201
|
-
* retirement signal.
|
|
200
|
+
* for compatibility.
|
|
202
201
|
*
|
|
203
202
|
* Per ECMA-376 §17.4.1, `w:bidiVisual` affects only cell ordering and
|
|
204
203
|
* table-visual properties. Cell paragraph inline direction is independent;
|
|
@@ -111,8 +111,6 @@ export type ResolvedGroupItem = {
|
|
|
111
111
|
/**
|
|
112
112
|
* A resolved fragment wrapper item.
|
|
113
113
|
* Carries positioning and metadata needed to create the fragment's DOM wrapper.
|
|
114
|
-
* Inner content rendering is delegated to the Fragment-based render path via
|
|
115
|
-
* fragmentIndex; see the compat-fallback note on that field.
|
|
116
114
|
*/
|
|
117
115
|
export type ResolvedFragmentItem = {
|
|
118
116
|
kind: 'fragment';
|
|
@@ -138,14 +136,6 @@ export type ResolvedFragmentItem = {
|
|
|
138
136
|
fragment: Fragment;
|
|
139
137
|
/** Block ID. Written to data-block-id. */
|
|
140
138
|
blockId: string;
|
|
141
|
-
/**
|
|
142
|
-
* Index back into page.fragments.
|
|
143
|
-
*
|
|
144
|
-
* AIDEV-NOTE: compat-fallback. The painter currently reads inner content from
|
|
145
|
-
* Fragment via this index because ResolvedFragmentItem does not carry full
|
|
146
|
-
* content yet. Becomes unused once paint items are self-describing; do not
|
|
147
|
-
* promote this to a permanent API surface.
|
|
148
|
-
*/
|
|
149
139
|
fragmentIndex: number;
|
|
150
140
|
/** ProseMirror start position for click-to-position mapping. */
|
|
151
141
|
pmStart?: number;
|
|
@@ -280,14 +270,6 @@ export type ResolvedTableItem = {
|
|
|
280
270
|
zIndex?: number;
|
|
281
271
|
/** Block ID — written to data-block-id. */
|
|
282
272
|
blockId: string;
|
|
283
|
-
/**
|
|
284
|
-
* Index back into page.fragments.
|
|
285
|
-
*
|
|
286
|
-
* AIDEV-NOTE: compat-fallback. The painter currently reads inner content from
|
|
287
|
-
* Fragment via this index because ResolvedFragmentItem does not carry full
|
|
288
|
-
* content yet. Becomes unused once paint items are self-describing; do not
|
|
289
|
-
* promote this to a permanent API surface.
|
|
290
|
-
*/
|
|
291
273
|
fragmentIndex: number;
|
|
292
274
|
/** Source TableFragment back-pointer (see ResolvedFragmentItem.fragment). */
|
|
293
275
|
fragment: Fragment;
|
|
@@ -357,14 +339,6 @@ export type ResolvedImageItem = {
|
|
|
357
339
|
zIndex?: number;
|
|
358
340
|
/** Block ID — written to data-block-id. */
|
|
359
341
|
blockId: string;
|
|
360
|
-
/**
|
|
361
|
-
* Index back into page.fragments.
|
|
362
|
-
*
|
|
363
|
-
* AIDEV-NOTE: compat-fallback. The painter currently reads inner content from
|
|
364
|
-
* Fragment via this index because ResolvedFragmentItem does not carry full
|
|
365
|
-
* content yet. Becomes unused once paint items are self-describing; do not
|
|
366
|
-
* promote this to a permanent API surface.
|
|
367
|
-
*/
|
|
368
342
|
fragmentIndex: number;
|
|
369
343
|
/** Source ImageFragment back-pointer (see ResolvedFragmentItem.fragment). */
|
|
370
344
|
fragment: Fragment;
|
|
@@ -426,14 +400,6 @@ export type ResolvedDrawingItem = {
|
|
|
426
400
|
zIndex?: number;
|
|
427
401
|
/** Block ID — written to data-block-id. */
|
|
428
402
|
blockId: string;
|
|
429
|
-
/**
|
|
430
|
-
* Index back into page.fragments.
|
|
431
|
-
*
|
|
432
|
-
* AIDEV-NOTE: compat-fallback. The painter currently reads inner content from
|
|
433
|
-
* Fragment via this index because ResolvedFragmentItem does not carry full
|
|
434
|
-
* content yet. Becomes unused once paint items are self-describing; do not
|
|
435
|
-
* promote this to a permanent API surface.
|
|
436
|
-
*/
|
|
437
403
|
fragmentIndex: number;
|
|
438
404
|
/** Source DrawingFragment back-pointer (see ResolvedFragmentItem.fragment). */
|
|
439
405
|
fragment: Fragment;
|
|
@@ -35,13 +35,6 @@ export type LayoutHit = {
|
|
|
35
35
|
sourceAnchor?: SourceAnchor;
|
|
36
36
|
/** Diagnostics for partially supported or rejected hits. */
|
|
37
37
|
diagnostics?: LayoutHitDiagnostic[];
|
|
38
|
-
/**
|
|
39
|
-
* Legacy PM-shaped position hit.
|
|
40
|
-
*
|
|
41
|
-
* AIDEV-NOTE: compat-fallback - callers may still consume `pmPosition`.
|
|
42
|
-
* Retire once providers stop relying on PM positions to map this hit back to
|
|
43
|
-
* a document ref. Do not gate new editor-neutral behavior on this field.
|
|
44
|
-
*/
|
|
45
38
|
legacyPm?: PositionHit;
|
|
46
39
|
};
|
|
47
40
|
export type LayoutHitDiagnostic = {
|
|
@@ -302,7 +302,6 @@ export type LayoutDocumentContinuation = {
|
|
|
302
302
|
}): Promise<LayoutContinuationBatch>;
|
|
303
303
|
dispose(): void;
|
|
304
304
|
};
|
|
305
|
-
/** AIDEV-NOTE: The handle owns one live paginator; advancing never replays a stopped prefix. */
|
|
306
305
|
export declare function createLayoutDocumentContinuation(blocks: FlowBlock[], measures: Measure[], options?: LayoutOptions, execution?: LayoutExecutionControl): LayoutDocumentContinuation;
|
|
307
306
|
export type LayoutRangeBoundaryPolicy = 'conservative-context' | 'overscan' | 'degraded-on-incomplete-state';
|
|
308
307
|
export type LayoutRangeExactness = 'exact' | 'pending-layout' | 'degraded-unsupported' | 'stale';
|
|
@@ -26,9 +26,6 @@ export declare const RTL_DATE_LIKE_TOKEN_RE: RegExp;
|
|
|
26
26
|
* FE70-FEFF Arabic-B). The block range covers Hebrew, Arabic, Syriac, NKo,
|
|
27
27
|
* etc.; the Script properties add presentation forms without including
|
|
28
28
|
* noncharacters (FDD0-FDEF) or the BOM (FEFF).
|
|
29
|
-
*
|
|
30
|
-
* AIDEV-NOTE: also used by editing/runtime mixed-bidi handling. Consolidating
|
|
31
|
-
* crosses a layer boundary; tracked under SD-3169 follow-ups.
|
|
32
29
|
*/
|
|
33
30
|
export declare const STRONG_RTL_CHAR_RE: RegExp;
|
|
34
31
|
/**
|
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-BWoeA7So.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-DqZk5WpX.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-BWoeA7So.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-DqZk5WpX.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-BWoeA7So.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 { f as shallowEqual, o as BUILT_IN_COMMAND_IDS, t as createSuperDocUI } from "../chunks/create-super-doc-ui-
|
|
1
|
+
import { f as shallowEqual, o as BUILT_IN_COMMAND_IDS, t as createSuperDocUI } from "../chunks/create-super-doc-ui-DqZk5WpX.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) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isSyntheticTrackedChangeCommentLaneItem } from '../../helpers/tracked-change-comment-lane.js';
|
|
1
2
|
/**
|
|
2
3
|
* Replace the package loader before engine loading starts. The CDN entry uses
|
|
3
4
|
* this seam to fetch the exact engine version from its public package URL.
|
|
@@ -9,11 +10,6 @@ export function configureDefaultV2IntegrationLoader(loader: () => Promise<unknow
|
|
|
9
10
|
export function loadDefaultV2Integration(): Promise<void>;
|
|
10
11
|
/** Load the engine for editor startup, preserving the fail-closed stub on failure. */
|
|
11
12
|
export function loadDefaultV2IntegrationOrFallback(): Promise<void>;
|
|
12
|
-
/**
|
|
13
|
-
* @param {unknown} item
|
|
14
|
-
* @returns {boolean}
|
|
15
|
-
*/
|
|
16
|
-
export function isSyntheticTrackedChangeCommentLaneItem(item: unknown): boolean;
|
|
17
13
|
/**
|
|
18
14
|
* @param {{ trackedChange?: unknown, trackedChangeAnchorKey?: unknown } | null | undefined} row
|
|
19
15
|
* @returns {boolean}
|
|
@@ -61,6 +57,7 @@ export function hasRealV2Integration(integration: SuperDocV2Integration | null |
|
|
|
61
57
|
*/
|
|
62
58
|
/** Default version for the local stub integration (V1-compatible). */
|
|
63
59
|
export const SUPERDOC_V2_INTEGRATION_VERSION: 1;
|
|
60
|
+
export { isSyntheticTrackedChangeCommentLaneItem };
|
|
64
61
|
export type SuperDocV2Integration = {
|
|
65
62
|
/**
|
|
66
63
|
* Integration contract version.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isSyntheticTrackedChangeCommentLaneItem(item: unknown): boolean;
|
package/dist/superdoc.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_rolldown_runtime = require("./chunks/rolldown-runtime-74VwNCz7.cjs");
|
|
3
3
|
const require_blank_docx = require("./chunks/blank-docx-BuFAbRjs.cjs");
|
|
4
|
-
const require_create_super_doc_ui = require("./chunks/create-super-doc-ui-
|
|
4
|
+
const require_create_super_doc_ui = require("./chunks/create-super-doc-ui-BWoeA7So.cjs");
|
|
5
5
|
const require_eventemitter3 = require("./chunks/eventemitter3-C_TAnXOl.cjs");
|
|
6
6
|
const require_uuid = require("./chunks/uuid-BhG0ngwk.cjs");
|
|
7
7
|
const require__plugin_vue_export_helper = require("./chunks/_plugin-vue_export-helper-BUdjGKyl.cjs");
|
|
@@ -260,7 +260,7 @@ var v_click_outside_default = {
|
|
|
260
260
|
var DEFAULT_ENDPOINT = "https://ingest.superdoc.dev/v1/collect";
|
|
261
261
|
function getSuperdocVersion() {
|
|
262
262
|
try {
|
|
263
|
-
return "2.27.0-next.
|
|
263
|
+
return "2.27.0-next.4";
|
|
264
264
|
} catch {
|
|
265
265
|
return "unknown";
|
|
266
266
|
}
|
|
@@ -7087,19 +7087,8 @@ async function loadDefaultV2IntegrationOrFallback() {
|
|
|
7087
7087
|
console.error("[SuperDoc] DOCX Engine failed to load; using the stub.", error);
|
|
7088
7088
|
}
|
|
7089
7089
|
}
|
|
7090
|
-
var V2_SYNTHETIC_TRACKED_CHANGE_COMMENT_ID_PREFIX = "tc-comment:";
|
|
7091
7090
|
var V2_BODY_TRACKED_CHANGE_ANCHOR_PREFIX = "tc::body::";
|
|
7092
7091
|
/**
|
|
7093
|
-
* @param {unknown} item
|
|
7094
|
-
* @returns {boolean}
|
|
7095
|
-
*/
|
|
7096
|
-
function isSyntheticTrackedChangeCommentLaneItem(item) {
|
|
7097
|
-
if (!item || typeof item !== "object") return false;
|
|
7098
|
-
const id = item.id ?? item.commentId;
|
|
7099
|
-
if (typeof id !== "string") return false;
|
|
7100
|
-
return id.startsWith(V2_SYNTHETIC_TRACKED_CHANGE_COMMENT_ID_PREFIX);
|
|
7101
|
-
}
|
|
7102
|
-
/**
|
|
7103
7092
|
* @param {{ trackedChange?: unknown, trackedChangeAnchorKey?: unknown } | null | undefined} row
|
|
7104
7093
|
* @returns {boolean}
|
|
7105
7094
|
*/
|
|
@@ -7165,7 +7154,7 @@ function createStubV2Integration() {
|
|
|
7165
7154
|
RulerComponent: null,
|
|
7166
7155
|
createGeometryPublisher: createStubGeometryPublisher,
|
|
7167
7156
|
createReviewWindowController: createStubReviewWindowController,
|
|
7168
|
-
isSyntheticTrackedChangeCommentLaneItem,
|
|
7157
|
+
isSyntheticTrackedChangeCommentLaneItem: require_create_super_doc_ui.isSyntheticTrackedChangeCommentLaneItem,
|
|
7169
7158
|
isV2SyntheticTrackedChangeRow
|
|
7170
7159
|
};
|
|
7171
7160
|
}
|
|
@@ -9352,7 +9341,7 @@ var useCommentsStore = defineStore("comments", () => {
|
|
|
9352
9341
|
}
|
|
9353
9342
|
const documentId = superdoc?.activeEditor?.documentId ?? superdoc?.activeEditor?.options?.documentId ?? commentsAdapter.documentId ?? trackedChangesAdapter.documentId ?? null;
|
|
9354
9343
|
const document = documentId != null ? superdocStore.getDocument(String(documentId)) : null;
|
|
9355
|
-
const mappedCommentInputs = commentItems.filter((item) => !isSyntheticTrackedChangeCommentLaneItem(item)).map((item) => commentsAdapter.mapV2CommentToUseCommentInput(item, {
|
|
9344
|
+
const mappedCommentInputs = commentItems.filter((item) => !require_create_super_doc_ui.isSyntheticTrackedChangeCommentLaneItem(item)).map((item) => commentsAdapter.mapV2CommentToUseCommentInput(item, {
|
|
9356
9345
|
fileId: documentId,
|
|
9357
9346
|
fileType: document?.type ?? null
|
|
9358
9347
|
})).filter(Boolean);
|
|
@@ -9885,7 +9874,7 @@ var useCommentsStore = defineStore("comments", () => {
|
|
|
9885
9874
|
...input.selection,
|
|
9886
9875
|
documentId: normalizedDocumentId
|
|
9887
9876
|
}
|
|
9888
|
-
})) : effectiveCommentItems.filter((item) => !isSyntheticTrackedChangeCommentLaneItem(item)).map((item) => commentsAdapter.mapV2CommentToUseCommentInput(item, {
|
|
9877
|
+
})) : effectiveCommentItems.filter((item) => !require_create_super_doc_ui.isSyntheticTrackedChangeCommentLaneItem(item)).map((item) => commentsAdapter.mapV2CommentToUseCommentInput(item, {
|
|
9889
9878
|
fileId: normalizedDocumentId,
|
|
9890
9879
|
fileType
|
|
9891
9880
|
})).filter(Boolean);
|
|
@@ -9990,7 +9979,7 @@ var useCommentsStore = defineStore("comments", () => {
|
|
|
9990
9979
|
const incomingByCommentId = /* @__PURE__ */ new Map();
|
|
9991
9980
|
const trackedChangeSidecarParentByCommentId = /* @__PURE__ */ new Map();
|
|
9992
9981
|
const mappedInputs = [];
|
|
9993
|
-
const candidateInputs = Array.isArray(preparedInputs) ? preparedInputs : items.filter((item) => !isSyntheticTrackedChangeCommentLaneItem(item)).map((item) => adapter.mapV2CommentToUseCommentInput(item, {
|
|
9982
|
+
const candidateInputs = Array.isArray(preparedInputs) ? preparedInputs : items.filter((item) => !require_create_super_doc_ui.isSyntheticTrackedChangeCommentLaneItem(item)).map((item) => adapter.mapV2CommentToUseCommentInput(item, {
|
|
9994
9983
|
fileId: effectiveDocumentId,
|
|
9995
9984
|
fileType
|
|
9996
9985
|
})).filter(Boolean);
|
|
@@ -46242,7 +46231,7 @@ var SuperDoc = class extends require_eventemitter3.import_eventemitter3.default
|
|
|
46242
46231
|
}
|
|
46243
46232
|
this.userColorMap = /* @__PURE__ */ new Map();
|
|
46244
46233
|
this.colorIndex = 0;
|
|
46245
|
-
this.version = "2.27.0-next.
|
|
46234
|
+
this.version = "2.27.0-next.4";
|
|
46246
46235
|
this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
|
|
46247
46236
|
this.superdocId = config.superdocId || require_uuid.v4();
|
|
46248
46237
|
this.colors = this.config.colors ?? [];
|
package/dist/superdoc.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { i as __toESM$2 } from "./chunks/rolldown-runtime-0pSA04fp.es.js";
|
|
2
2
|
import { t as blank_default } from "./chunks/blank-docx-DzQccOlW.es.js";
|
|
3
|
-
import { _ as
|
|
3
|
+
import { _ as getWorkflowRecording, a as registerFirstPartyCommandMutation, c as getV2TrackedChangeMutationImpact, d as resolveImageSrc, g as createInteractionHistory, h as closeInteractionHistory, i as readFirstPartyPageNumbers, l as isPlainObject$1, m as DOM_CLASS_NAMES, n as executeFirstPartyCommandAsync, p as isSyntheticTrackedChangeCommentLaneItem, r as executeFirstPartyShortcutAsync, s as applyV2CommentInvalidationFromMutation, t as createSuperDocUI, u as createImageFilePicker, v as isWorkflowRecordingEnabled, y as recordInteraction } from "./chunks/create-super-doc-ui-DqZk5WpX.es.js";
|
|
4
4
|
import { t as import_eventemitter3 } from "./chunks/eventemitter3-DEIiXiH2.es.js";
|
|
5
5
|
import { t as v4 } from "./chunks/uuid-H0Xcmmhy.es.js";
|
|
6
6
|
import { $ as vModelText, A as onActivated, B as renderSlot, C as isRef$1, D as normalizeClass, E as nextTick, F as openBlock, G as toRaw$2, H as resolveDynamicComponent, I as provide$1, J as unref, K as toRef, L as reactive, M as onDeactivated, N as onMounted, O as normalizeProps, P as onScopeDispose$1, Q as vModelSelect, R as ref, S as isReactive$1, T as mergeProps, U as shallowRef$1, V as resolveDirective, W as toDisplayString, X as useSlots, Y as useAttrs, Z as vModelCheckbox, _ as getCurrentInstance, a as computed$1, b as hasInjectionContext, c as createCommentVNode, d as createStaticVNode, et as watch$1, f as createTextVNode, g as effectScope, h as defineComponent, i as Transition, it as withModifiers, j as onBeforeUnmount, k as normalizeStyle, l as createElementBlock, m as defineAsyncComponent, n as Fragment, nt as withDirectives, o as createApp, p as createVNode, q as toRefs, r as Teleport, rt as withKeys, s as createBlock, t as _plugin_vue_export_helper_default, tt as withCtx, u as createElementVNode, v as getCurrentScope, w as markRaw, x as inject$1, y as h, z as renderList } from "./chunks/_plugin-vue_export-helper-7ZiLY07t.es.js";
|
|
@@ -258,7 +258,7 @@ var v_click_outside_default = {
|
|
|
258
258
|
var DEFAULT_ENDPOINT = "https://ingest.superdoc.dev/v1/collect";
|
|
259
259
|
function getSuperdocVersion() {
|
|
260
260
|
try {
|
|
261
|
-
return "2.27.0-next.
|
|
261
|
+
return "2.27.0-next.4";
|
|
262
262
|
} catch {
|
|
263
263
|
return "unknown";
|
|
264
264
|
}
|
|
@@ -7085,19 +7085,8 @@ async function loadDefaultV2IntegrationOrFallback() {
|
|
|
7085
7085
|
console.error("[SuperDoc] DOCX Engine failed to load; using the stub.", error);
|
|
7086
7086
|
}
|
|
7087
7087
|
}
|
|
7088
|
-
var V2_SYNTHETIC_TRACKED_CHANGE_COMMENT_ID_PREFIX = "tc-comment:";
|
|
7089
7088
|
var V2_BODY_TRACKED_CHANGE_ANCHOR_PREFIX = "tc::body::";
|
|
7090
7089
|
/**
|
|
7091
|
-
* @param {unknown} item
|
|
7092
|
-
* @returns {boolean}
|
|
7093
|
-
*/
|
|
7094
|
-
function isSyntheticTrackedChangeCommentLaneItem(item) {
|
|
7095
|
-
if (!item || typeof item !== "object") return false;
|
|
7096
|
-
const id = item.id ?? item.commentId;
|
|
7097
|
-
if (typeof id !== "string") return false;
|
|
7098
|
-
return id.startsWith(V2_SYNTHETIC_TRACKED_CHANGE_COMMENT_ID_PREFIX);
|
|
7099
|
-
}
|
|
7100
|
-
/**
|
|
7101
7090
|
* @param {{ trackedChange?: unknown, trackedChangeAnchorKey?: unknown } | null | undefined} row
|
|
7102
7091
|
* @returns {boolean}
|
|
7103
7092
|
*/
|
|
@@ -46172,7 +46161,7 @@ var SuperDoc = class extends import_eventemitter3.default {
|
|
|
46172
46161
|
}
|
|
46173
46162
|
this.userColorMap = /* @__PURE__ */ new Map();
|
|
46174
46163
|
this.colorIndex = 0;
|
|
46175
|
-
this.version = "2.27.0-next.
|
|
46164
|
+
this.version = "2.27.0-next.4";
|
|
46176
46165
|
this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
|
|
46177
46166
|
this.superdocId = config.superdocId || v4();
|
|
46178
46167
|
this.colors = this.config.colors ?? [];
|