@superdoc-dev/cli 0.2.0-next.22 → 0.2.0-next.23
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/index.js +285 -25
- package/package.json +8 -8
package/dist/index.js
CHANGED
|
@@ -26618,7 +26618,7 @@ var init_remark_gfm_z_sDF4ss_es = __esm(() => {
|
|
|
26618
26618
|
emptyOptions2 = {};
|
|
26619
26619
|
});
|
|
26620
26620
|
|
|
26621
|
-
// ../../packages/superdoc/dist/chunks/SuperConverter-
|
|
26621
|
+
// ../../packages/superdoc/dist/chunks/SuperConverter-Di-Lg_7T.es.js
|
|
26622
26622
|
function getExtensionConfigField(extension$1, field, context = { name: "" }) {
|
|
26623
26623
|
const fieldValue = extension$1.config[field];
|
|
26624
26624
|
if (typeof fieldValue === "function")
|
|
@@ -39090,6 +39090,58 @@ function importFootnoteData({ docx, editor, converter, nodeListHandler, numberin
|
|
|
39090
39090
|
});
|
|
39091
39091
|
return results;
|
|
39092
39092
|
}
|
|
39093
|
+
function toIdentityValue(value) {
|
|
39094
|
+
if (typeof value === "string" && value.length > 0)
|
|
39095
|
+
return value;
|
|
39096
|
+
if (typeof value === "number" && Number.isFinite(value))
|
|
39097
|
+
return String(value);
|
|
39098
|
+
}
|
|
39099
|
+
function resolvePrimaryBlockIdentity(node3) {
|
|
39100
|
+
if (!node3 || typeof node3 !== "object")
|
|
39101
|
+
return;
|
|
39102
|
+
const attrPriority = BLOCK_IDENTITY_ATTRS[node3.type];
|
|
39103
|
+
if (!attrPriority)
|
|
39104
|
+
return;
|
|
39105
|
+
const attrs = typeof node3.attrs === "object" && node3.attrs ? node3.attrs : {};
|
|
39106
|
+
for (const attr of attrPriority) {
|
|
39107
|
+
const value = toIdentityValue(attrs[attr]);
|
|
39108
|
+
if (value)
|
|
39109
|
+
return {
|
|
39110
|
+
id: value,
|
|
39111
|
+
source: attr
|
|
39112
|
+
};
|
|
39113
|
+
}
|
|
39114
|
+
}
|
|
39115
|
+
function nextUniqueDocxId(usedIds) {
|
|
39116
|
+
let id = generateDocxRandomId();
|
|
39117
|
+
while (usedIds.has(id))
|
|
39118
|
+
id = generateDocxRandomId();
|
|
39119
|
+
return id;
|
|
39120
|
+
}
|
|
39121
|
+
function dedupeBlockIdentitiesInNode(node3, usedIds) {
|
|
39122
|
+
if (!node3 || typeof node3 !== "object")
|
|
39123
|
+
return;
|
|
39124
|
+
const identity = resolvePrimaryBlockIdentity(node3);
|
|
39125
|
+
if (identity)
|
|
39126
|
+
if (usedIds.has(identity.id)) {
|
|
39127
|
+
const replacementId = nextUniqueDocxId(usedIds);
|
|
39128
|
+
node3.attrs = {
|
|
39129
|
+
...node3.attrs,
|
|
39130
|
+
[identity.source]: replacementId
|
|
39131
|
+
};
|
|
39132
|
+
usedIds.add(replacementId);
|
|
39133
|
+
} else
|
|
39134
|
+
usedIds.add(identity.id);
|
|
39135
|
+
if (Array.isArray(node3.content))
|
|
39136
|
+
node3.content.forEach((child) => dedupeBlockIdentitiesInNode(child, usedIds));
|
|
39137
|
+
}
|
|
39138
|
+
function normalizeDuplicateBlockIdentitiesInContent(content$2 = []) {
|
|
39139
|
+
if (!Array.isArray(content$2) || content$2.length === 0)
|
|
39140
|
+
return content$2;
|
|
39141
|
+
const usedIds = /* @__PURE__ */ new Set;
|
|
39142
|
+
content$2.forEach((node3) => dedupeBlockIdentitiesInNode(node3, usedIds));
|
|
39143
|
+
return content$2;
|
|
39144
|
+
}
|
|
39093
39145
|
function patchNumberingDefinitions(docx) {
|
|
39094
39146
|
const numberingXml = docx?.["word/numbering.xml"];
|
|
39095
39147
|
if (!numberingXml)
|
|
@@ -52818,7 +52870,7 @@ var isRegExp = (value) => {
|
|
|
52818
52870
|
nodes: [translator$3.encode(params)],
|
|
52819
52871
|
consumed: 1
|
|
52820
52872
|
};
|
|
52821
|
-
}, tabNodeEntityHandler, footnoteReferenceHandlerEntity, tableNodeHandlerEntity, tableOfContentsHandlerEntity, indexHandlerEntity, indexEntryHandlerEntity, commentRangeStartHandlerEntity, commentRangeEndHandlerEntity, permStartHandlerEntity, permEndHandlerEntity, WORD_2012_NAMESPACE = "http://schemas.microsoft.com/office/word/2012/wordml", deepClone = (value) => JSON.parse(JSON.stringify(value)), getNumberingRoot = (numberingXml) => {
|
|
52873
|
+
}, tabNodeEntityHandler, footnoteReferenceHandlerEntity, tableNodeHandlerEntity, tableOfContentsHandlerEntity, indexHandlerEntity, indexEntryHandlerEntity, commentRangeStartHandlerEntity, commentRangeEndHandlerEntity, permStartHandlerEntity, permEndHandlerEntity, PARAGRAPH_IDENTITY_ATTRS, TABLE_IDENTITY_ATTRS, DEFAULT_BLOCK_IDENTITY_ATTRS, BLOCK_IDENTITY_ATTRS, WORD_2012_NAMESPACE = "http://schemas.microsoft.com/office/word/2012/wordml", deepClone = (value) => JSON.parse(JSON.stringify(value)), getNumberingRoot = (numberingXml) => {
|
|
52822
52874
|
if (!numberingXml?.elements?.length)
|
|
52823
52875
|
return null;
|
|
52824
52876
|
return numberingXml.elements.find((el) => el?.name === "w:numbering") || numberingXml.elements[0] || null;
|
|
@@ -52912,6 +52964,7 @@ var isRegExp = (value) => {
|
|
|
52912
52964
|
parsedContent = filterOutRootInlineNodes(parsedContent);
|
|
52913
52965
|
parsedContent = normalizeTableBookmarksInContent(parsedContent, editor);
|
|
52914
52966
|
collapseWhitespaceNextToInlinePassthrough(parsedContent);
|
|
52967
|
+
parsedContent = normalizeDuplicateBlockIdentitiesInContent(parsedContent);
|
|
52915
52968
|
return {
|
|
52916
52969
|
pmDoc: {
|
|
52917
52970
|
type: "doc",
|
|
@@ -53093,6 +53146,7 @@ var isRegExp = (value) => {
|
|
|
53093
53146
|
path: []
|
|
53094
53147
|
});
|
|
53095
53148
|
schema = filterOutRootInlineNodes(schema);
|
|
53149
|
+
schema = normalizeDuplicateBlockIdentitiesInContent(schema);
|
|
53096
53150
|
if (!converter.headerIds.ids)
|
|
53097
53151
|
converter.headerIds.ids = [];
|
|
53098
53152
|
converter.headerIds.ids.push(rId);
|
|
@@ -53121,6 +53175,7 @@ var isRegExp = (value) => {
|
|
|
53121
53175
|
path: []
|
|
53122
53176
|
});
|
|
53123
53177
|
schema = filterOutRootInlineNodes(schema);
|
|
53178
|
+
schema = normalizeDuplicateBlockIdentitiesInContent(schema);
|
|
53124
53179
|
if (!converter.footerIds.ids)
|
|
53125
53180
|
converter.footerIds.ids = [];
|
|
53126
53181
|
converter.footerIds.ids.push(rId);
|
|
@@ -53800,7 +53855,7 @@ var isRegExp = (value) => {
|
|
|
53800
53855
|
state.kern = kernNode.attributes["w:val"];
|
|
53801
53856
|
}
|
|
53802
53857
|
}, SuperConverter;
|
|
53803
|
-
var
|
|
53858
|
+
var init_SuperConverter_Di_Lg_7T_es = __esm(() => {
|
|
53804
53859
|
init_rolldown_runtime_B2q5OVn9_es();
|
|
53805
53860
|
init_jszip_ChlR43oI_es();
|
|
53806
53861
|
init_xml_js_DLE8mr0n_es();
|
|
@@ -65764,6 +65819,28 @@ var init_SuperConverter_BJBbuXuZ_es = __esm(() => {
|
|
|
65764
65819
|
commentRangeEndHandlerEntity = generateV2HandlerEntity("commentRangeEndHandler", commentRangeEndTranslator);
|
|
65765
65820
|
permStartHandlerEntity = generateV2HandlerEntity("permStartHandler", translator$13);
|
|
65766
65821
|
permEndHandlerEntity = generateV2HandlerEntity("permEndHandler", translator$14);
|
|
65822
|
+
PARAGRAPH_IDENTITY_ATTRS = ["sdBlockId", "paraId"];
|
|
65823
|
+
TABLE_IDENTITY_ATTRS = [
|
|
65824
|
+
"sdBlockId",
|
|
65825
|
+
"paraId",
|
|
65826
|
+
"blockId"
|
|
65827
|
+
];
|
|
65828
|
+
DEFAULT_BLOCK_IDENTITY_ATTRS = [
|
|
65829
|
+
"sdBlockId",
|
|
65830
|
+
"blockId",
|
|
65831
|
+
"paraId"
|
|
65832
|
+
];
|
|
65833
|
+
BLOCK_IDENTITY_ATTRS = {
|
|
65834
|
+
paragraph: PARAGRAPH_IDENTITY_ATTRS,
|
|
65835
|
+
heading: DEFAULT_BLOCK_IDENTITY_ATTRS,
|
|
65836
|
+
listItem: DEFAULT_BLOCK_IDENTITY_ATTRS,
|
|
65837
|
+
table: TABLE_IDENTITY_ATTRS,
|
|
65838
|
+
tableRow: TABLE_IDENTITY_ATTRS,
|
|
65839
|
+
tableCell: TABLE_IDENTITY_ATTRS,
|
|
65840
|
+
tableHeader: TABLE_IDENTITY_ATTRS,
|
|
65841
|
+
sdt: DEFAULT_BLOCK_IDENTITY_ATTRS,
|
|
65842
|
+
structuredContentBlock: DEFAULT_BLOCK_IDENTITY_ATTRS
|
|
65843
|
+
};
|
|
65767
65844
|
DEFAULT_SECTION_PROPS = Object.freeze({
|
|
65768
65845
|
pageSize: Object.freeze({
|
|
65769
65846
|
width: "12240",
|
|
@@ -93077,9 +93154,9 @@ var init_remark_gfm_CQ3Jg4PR_es = __esm(() => {
|
|
|
93077
93154
|
init_remark_gfm_z_sDF4ss_es();
|
|
93078
93155
|
});
|
|
93079
93156
|
|
|
93080
|
-
// ../../packages/superdoc/dist/chunks/src-
|
|
93081
|
-
var
|
|
93082
|
-
__export(
|
|
93157
|
+
// ../../packages/superdoc/dist/chunks/src-C0U0FLIH.es.js
|
|
93158
|
+
var exports_src_C0U0FLIH_es = {};
|
|
93159
|
+
__export(exports_src_C0U0FLIH_es, {
|
|
93083
93160
|
zt: () => defineMark,
|
|
93084
93161
|
z: () => cM,
|
|
93085
93162
|
yt: () => removeAwarenessStates,
|
|
@@ -140201,7 +140278,8 @@ var Node$13 = class Node$14 {
|
|
|
140201
140278
|
}, selectAll$1 = () => ({ state, dispatch }) => selectAll(state, dispatch), deleteSelection$1 = () => ({ state, tr, dispatch }) => {
|
|
140202
140279
|
const { from: from$12, to, empty: empty$2 } = state.selection;
|
|
140203
140280
|
if (typeof document !== "undefined" && document.getSelection) {
|
|
140204
|
-
|
|
140281
|
+
const currentDomSelection = document.getSelection();
|
|
140282
|
+
if (empty$2 && currentDomSelection?.baseNode?.data?.length === 1)
|
|
140205
140283
|
return false;
|
|
140206
140284
|
}
|
|
140207
140285
|
if (empty$2)
|
|
@@ -140880,6 +140958,17 @@ var Node$13 = class Node$14 {
|
|
|
140880
140958
|
if (dispatch)
|
|
140881
140959
|
dispatch(state.tr.delete(pos - 1, pos).scrollIntoView());
|
|
140882
140960
|
return true;
|
|
140961
|
+
}, findPreviousTextDeleteRange = (doc$2, cursorPos, minPos) => {
|
|
140962
|
+
for (let pos = cursorPos - 1;pos >= minPos; pos -= 1) {
|
|
140963
|
+
const nodeBefore = doc$2.resolve(pos).nodeBefore;
|
|
140964
|
+
if (!nodeBefore?.isText || !nodeBefore.text?.length)
|
|
140965
|
+
continue;
|
|
140966
|
+
return {
|
|
140967
|
+
from: pos - 1,
|
|
140968
|
+
to: pos
|
|
140969
|
+
};
|
|
140970
|
+
}
|
|
140971
|
+
return null;
|
|
140883
140972
|
}, backspaceNextToRun = () => ({ state, tr, dispatch }) => {
|
|
140884
140973
|
const sel = state.selection;
|
|
140885
140974
|
if (!sel.empty)
|
|
@@ -140891,17 +140980,24 @@ var Node$13 = class Node$14 {
|
|
|
140891
140980
|
if ($pos.nodeBefore) {
|
|
140892
140981
|
if ($pos.nodeBefore.content.size === 0)
|
|
140893
140982
|
return false;
|
|
140894
|
-
tr.delete($pos.pos - 2, $pos.pos - 1).setSelection(Selection.near(tr.doc.resolve($pos.pos - 2)));
|
|
140895
|
-
if (dispatch)
|
|
140896
|
-
dispatch(tr.scrollIntoView());
|
|
140897
140983
|
} else {
|
|
140898
140984
|
const prevNode = state.doc.resolve($pos.start() - 1).nodeBefore;
|
|
140899
140985
|
if (prevNode?.type !== runType || prevNode.content.size === 0)
|
|
140900
140986
|
return false;
|
|
140901
|
-
tr.delete($pos.pos - 3, $pos.pos - 2).setSelection(Selection.near(tr.doc.resolve($pos.pos - 3)));
|
|
140902
|
-
if (dispatch)
|
|
140903
|
-
dispatch(tr.scrollIntoView());
|
|
140904
140987
|
}
|
|
140988
|
+
let runContentStart;
|
|
140989
|
+
if ($pos.nodeBefore)
|
|
140990
|
+
runContentStart = $pos.pos - $pos.nodeBefore.nodeSize + 1;
|
|
140991
|
+
else {
|
|
140992
|
+
const prevNode = state.doc.resolve($pos.start() - 1).nodeBefore;
|
|
140993
|
+
runContentStart = $pos.start() - 1 - prevNode.nodeSize + 1;
|
|
140994
|
+
}
|
|
140995
|
+
const deleteRange2 = findPreviousTextDeleteRange(state.doc, $pos.pos, runContentStart);
|
|
140996
|
+
if (!deleteRange2)
|
|
140997
|
+
return false;
|
|
140998
|
+
tr.delete(deleteRange2.from, deleteRange2.to).setSelection(Selection.near(tr.doc.resolve(deleteRange2.from)));
|
|
140999
|
+
if (dispatch)
|
|
141000
|
+
dispatch(tr.scrollIntoView());
|
|
140905
141001
|
return true;
|
|
140906
141002
|
}, deleteSkipEmptyRun = () => ({ state, dispatch }) => {
|
|
140907
141003
|
const sel = state.selection;
|
|
@@ -142736,7 +142832,84 @@ var Node$13 = class Node$14 {
|
|
|
142736
142832
|
else if (event === "update")
|
|
142737
142833
|
params$1.event = comments_module_events.UPDATE;
|
|
142738
142834
|
return params$1;
|
|
142835
|
+
}, findDocPosByTextOffset = ({ doc: doc$2, from: from$12, to, textOffset }) => {
|
|
142836
|
+
let remaining = textOffset;
|
|
142837
|
+
let foundPos = null;
|
|
142838
|
+
doc$2.nodesBetween(from$12, to, (node3, pos) => {
|
|
142839
|
+
if (foundPos !== null)
|
|
142840
|
+
return false;
|
|
142841
|
+
if (!node3.isText || !node3.text)
|
|
142842
|
+
return;
|
|
142843
|
+
const nodeStart = Math.max(from$12, pos);
|
|
142844
|
+
const nodeEnd = Math.min(to, pos + node3.text.length);
|
|
142845
|
+
if (nodeStart >= nodeEnd)
|
|
142846
|
+
return;
|
|
142847
|
+
const nodeLen$1 = nodeEnd - nodeStart;
|
|
142848
|
+
if (remaining < nodeLen$1) {
|
|
142849
|
+
foundPos = nodeStart + remaining;
|
|
142850
|
+
return false;
|
|
142851
|
+
}
|
|
142852
|
+
remaining -= nodeLen$1;
|
|
142853
|
+
});
|
|
142854
|
+
return foundPos;
|
|
142855
|
+
}, normalizeReplaceStepSingleCharDelete = ({ step, doc: doc$2 }) => {
|
|
142856
|
+
if (!(step instanceof ReplaceStep) || step.from === step.to || step.to - step.from <= 1 || step.slice.content.size === 0)
|
|
142857
|
+
return step;
|
|
142858
|
+
const findSingleDeletedCharPos = ({ oldText, newText, from: from$12, to }) => {
|
|
142859
|
+
if (oldText.length - newText.length !== 1)
|
|
142860
|
+
return null;
|
|
142861
|
+
let prefix$2 = 0;
|
|
142862
|
+
while (prefix$2 < newText.length && oldText.charCodeAt(prefix$2) === newText.charCodeAt(prefix$2))
|
|
142863
|
+
prefix$2 += 1;
|
|
142864
|
+
let suffix$1 = 0;
|
|
142865
|
+
while (suffix$1 < newText.length - prefix$2 && oldText.charCodeAt(oldText.length - 1 - suffix$1) === newText.charCodeAt(newText.length - 1 - suffix$1))
|
|
142866
|
+
suffix$1 += 1;
|
|
142867
|
+
if (prefix$2 + suffix$1 !== newText.length)
|
|
142868
|
+
return null;
|
|
142869
|
+
return findDocPosByTextOffset({
|
|
142870
|
+
doc: doc$2,
|
|
142871
|
+
from: from$12,
|
|
142872
|
+
to,
|
|
142873
|
+
textOffset: prefix$2
|
|
142874
|
+
});
|
|
142875
|
+
};
|
|
142876
|
+
let deleteFrom = findSingleDeletedCharPos({
|
|
142877
|
+
oldText: doc$2.textBetween(step.from, step.to),
|
|
142878
|
+
newText: step.slice.content.textBetween(0, step.slice.content.size),
|
|
142879
|
+
from: step.from,
|
|
142880
|
+
to: step.to
|
|
142881
|
+
});
|
|
142882
|
+
if (deleteFrom === null) {
|
|
142883
|
+
const applied = step.apply(doc$2);
|
|
142884
|
+
if (applied.failed || !applied.doc)
|
|
142885
|
+
return step;
|
|
142886
|
+
deleteFrom = findSingleDeletedCharPos({
|
|
142887
|
+
oldText: doc$2.textBetween(0, doc$2.content.size),
|
|
142888
|
+
newText: applied.doc.textBetween(0, applied.doc.content.size),
|
|
142889
|
+
from: 0,
|
|
142890
|
+
to: doc$2.content.size
|
|
142891
|
+
});
|
|
142892
|
+
if (deleteFrom === null || deleteFrom < step.from || deleteFrom >= step.to)
|
|
142893
|
+
return step;
|
|
142894
|
+
}
|
|
142895
|
+
try {
|
|
142896
|
+
const deleteTo = deleteFrom + 1;
|
|
142897
|
+
const candidate = new ReplaceStep(deleteFrom, deleteTo, Slice.empty, step.structure);
|
|
142898
|
+
return candidate.apply(doc$2).failed ? step : candidate;
|
|
142899
|
+
} catch {
|
|
142900
|
+
return step;
|
|
142901
|
+
}
|
|
142739
142902
|
}, replaceStep2 = ({ state, tr, step, newTr, map: map$22, user, date, originalStep, originalStepIndex }) => {
|
|
142903
|
+
const originalRange = {
|
|
142904
|
+
from: step.from,
|
|
142905
|
+
to: step.to,
|
|
142906
|
+
sliceSize: step.slice.content.size
|
|
142907
|
+
};
|
|
142908
|
+
step = normalizeReplaceStepSingleCharDelete({
|
|
142909
|
+
step,
|
|
142910
|
+
doc: newTr.doc
|
|
142911
|
+
});
|
|
142912
|
+
const stepWasNormalized = step.from !== originalRange.from || step.to !== originalRange.to || step.slice.content.size !== originalRange.sliceSize;
|
|
142740
142913
|
if (step.from !== step.to && step.slice.content.size === 0) {
|
|
142741
142914
|
let hasInlineContent = false;
|
|
142742
142915
|
newTr.doc.nodesBetween(step.from, step.to, (node3) => {
|
|
@@ -142809,13 +142982,16 @@ var Node$13 = class Node$14 {
|
|
|
142809
142982
|
});
|
|
142810
142983
|
trackedInsertedSlice = tempTr.doc.slice(insertedFrom, insertedTo);
|
|
142811
142984
|
}
|
|
142985
|
+
const docBeforeCondensedStep = newTr.doc;
|
|
142812
142986
|
const condensedStep = new ReplaceStep(positionTo, positionTo, trackedInsertedSlice, false);
|
|
142813
142987
|
if (newTr.maybeStep(condensedStep).failed) {
|
|
142814
142988
|
if (!newTr.maybeStep(step).failed)
|
|
142815
142989
|
map$22.appendMap(step.getMap());
|
|
142816
142990
|
return;
|
|
142817
142991
|
}
|
|
142818
|
-
const
|
|
142992
|
+
const invertSourceStep = stepWasNormalized ? step : originalStep;
|
|
142993
|
+
const invertSourceDoc = stepWasNormalized ? docBeforeCondensedStep : tr.docs[originalStepIndex];
|
|
142994
|
+
const invertStep = stepWasNormalized ? invertSourceStep.invert(invertSourceDoc) : invertSourceStep.invert(invertSourceDoc).map(map$22);
|
|
142819
142995
|
map$22.appendMap(invertStep.getMap());
|
|
142820
142996
|
const mirrorIndex = map$22.maps.length - 1;
|
|
142821
142997
|
map$22.appendMap(condensedStep.getMap(), mirrorIndex);
|
|
@@ -142842,6 +143018,8 @@ var Node$13 = class Node$14 {
|
|
|
142842
143018
|
meta2.deletionMark = deletionMark;
|
|
142843
143019
|
if (meta2.insertedTo !== undefined)
|
|
142844
143020
|
meta2.insertedTo = deletionMap.map(meta2.insertedTo, 1);
|
|
143021
|
+
if (stepWasNormalized && !meta2.insertedMark)
|
|
143022
|
+
meta2.selectionPos = deletionMap.map(step.from, -1);
|
|
142845
143023
|
map$22.appendMapping(deletionMap);
|
|
142846
143024
|
}
|
|
142847
143025
|
newTr.setMeta(TrackChangesBasePluginKey, meta2);
|
|
@@ -143130,7 +143308,14 @@ var Node$13 = class Node$14 {
|
|
|
143130
143308
|
newTr.setMeta("addToHistory", tr.getMeta("addToHistory"));
|
|
143131
143309
|
const trackMeta = newTr.getMeta(TrackChangesBasePluginKey);
|
|
143132
143310
|
if (tr.selectionSet)
|
|
143133
|
-
if (
|
|
143311
|
+
if (trackMeta?.selectionPos !== undefined && trackMeta?.selectionPos !== null) {
|
|
143312
|
+
const boundedPos = Math.max(0, Math.min(trackMeta.selectionPos, newTr.doc.content.size));
|
|
143313
|
+
const $pos = newTr.doc.resolve(boundedPos);
|
|
143314
|
+
if ($pos.parent.inlineContent)
|
|
143315
|
+
newTr.setSelection(TextSelection2.create(newTr.doc, boundedPos));
|
|
143316
|
+
else
|
|
143317
|
+
newTr.setSelection(TextSelection2.near($pos, -1));
|
|
143318
|
+
} else if (tr.selection instanceof TextSelection2 && (tr.selection.from < state.selection.from || tr.getMeta("inputType") === "deleteContentBackward")) {
|
|
143134
143319
|
const caretPos = map$22.map(tr.selection.from, -1);
|
|
143135
143320
|
newTr.setSelection(new TextSelection2(newTr.doc.resolve(caretPos)));
|
|
143136
143321
|
} else if (trackMeta?.insertedTo !== undefined) {
|
|
@@ -162541,9 +162726,9 @@ var Node$13 = class Node$14 {
|
|
|
162541
162726
|
trackedChanges: context.trackedChanges ?? []
|
|
162542
162727
|
});
|
|
162543
162728
|
}, _hoisted_1$6, _hoisted_2$1, _hoisted_3, _hoisted_4, ContextMenu_default, _hoisted_1$5, BasicUpload_default, _hoisted_1$4, MIN_WIDTH = 200, PPI = 96, alignment = "flex-end", Ruler_default, GenericPopover_default, _hoisted_1$3, RESIZE_HANDLE_WIDTH_PX = 9, RESIZE_HANDLE_OFFSET_PX = 4, DRAG_OVERLAY_EXTENSION_PX = 1000, MIN_DRAG_OVERLAY_WIDTH_PX = 2000, THROTTLE_INTERVAL_MS = 16, MIN_RESIZE_DELTA_PX = 1, TableResizeOverlay_default, _hoisted_1$2, OVERLAY_EXPANSION_PX = 2000, RESIZE_HANDLE_SIZE_PX = 12, MOUSE_MOVE_THROTTLE_MS = 16, DIMENSION_CHANGE_THRESHOLD_PX = 1, Z_INDEX_OVERLAY = 10, Z_INDEX_HANDLE = 15, Z_INDEX_GUIDELINE = 20, ImageResizeOverlay_default, LINK_CLICK_DEBOUNCE_MS = 300, CURSOR_UPDATE_TIMEOUT_MS = 10, LinkClickHandler_default, _hoisted_1$1, _hoisted_2, DOCX2 = "application/vnd.openxmlformats-officedocument.wordprocessingml.document", TABLE_RESIZE_HOVER_THRESHOLD = 8, TABLE_RESIZE_THROTTLE_MS = 16, SuperEditor_default, _hoisted_1, SuperInput_default, SlashMenu, Extensions;
|
|
162544
|
-
var
|
|
162729
|
+
var init_src_C0U0FLIH_es = __esm(() => {
|
|
162545
162730
|
init_rolldown_runtime_B2q5OVn9_es();
|
|
162546
|
-
|
|
162731
|
+
init_SuperConverter_Di_Lg_7T_es();
|
|
162547
162732
|
init_jszip_ChlR43oI_es();
|
|
162548
162733
|
init_uuid_2IzDu5nl_es();
|
|
162549
162734
|
init_constants_Dw0kAsLd_es();
|
|
@@ -196080,8 +196265,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
196080
196265
|
return isObjectLike_default(value) && hasOwnProperty$8.call(value, "callee") && !propertyIsEnumerable$1.call(value, "callee");
|
|
196081
196266
|
};
|
|
196082
196267
|
stubFalse_default = stubFalse;
|
|
196083
|
-
freeExports$2 = typeof
|
|
196084
|
-
freeModule$2 = freeExports$2 && typeof
|
|
196268
|
+
freeExports$2 = typeof exports_src_C0U0FLIH_es == "object" && exports_src_C0U0FLIH_es && !exports_src_C0U0FLIH_es.nodeType && exports_src_C0U0FLIH_es;
|
|
196269
|
+
freeModule$2 = freeExports$2 && typeof module_src_C0U0FLIH_es == "object" && module_src_C0U0FLIH_es && !module_src_C0U0FLIH_es.nodeType && module_src_C0U0FLIH_es;
|
|
196085
196270
|
Buffer$1 = freeModule$2 && freeModule$2.exports === freeExports$2 ? _root_default.Buffer : undefined;
|
|
196086
196271
|
isBuffer_default = (Buffer$1 ? Buffer$1.isBuffer : undefined) || stubFalse_default;
|
|
196087
196272
|
typedArrayTags = {};
|
|
@@ -196089,8 +196274,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
196089
196274
|
typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag$1] = typedArrayTags[boolTag$1] = typedArrayTags[dataViewTag$2] = typedArrayTags[dateTag$1] = typedArrayTags[errorTag$1] = typedArrayTags[funcTag] = typedArrayTags[mapTag$2] = typedArrayTags[numberTag$1] = typedArrayTags[objectTag$3] = typedArrayTags[regexpTag$1] = typedArrayTags[setTag$2] = typedArrayTags[stringTag$1] = typedArrayTags[weakMapTag$1] = false;
|
|
196090
196275
|
_baseIsTypedArray_default = baseIsTypedArray;
|
|
196091
196276
|
_baseUnary_default = baseUnary;
|
|
196092
|
-
freeExports$1 = typeof
|
|
196093
|
-
freeModule$1 = freeExports$1 && typeof
|
|
196277
|
+
freeExports$1 = typeof exports_src_C0U0FLIH_es == "object" && exports_src_C0U0FLIH_es && !exports_src_C0U0FLIH_es.nodeType && exports_src_C0U0FLIH_es;
|
|
196278
|
+
freeModule$1 = freeExports$1 && typeof module_src_C0U0FLIH_es == "object" && module_src_C0U0FLIH_es && !module_src_C0U0FLIH_es.nodeType && module_src_C0U0FLIH_es;
|
|
196094
196279
|
freeProcess = freeModule$1 && freeModule$1.exports === freeExports$1 && _freeGlobal_default.process;
|
|
196095
196280
|
_nodeUtil_default = function() {
|
|
196096
196281
|
try {
|
|
@@ -196195,8 +196380,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
196195
196380
|
Stack.prototype.has = _stackHas_default;
|
|
196196
196381
|
Stack.prototype.set = _stackSet_default;
|
|
196197
196382
|
_Stack_default = Stack;
|
|
196198
|
-
freeExports = typeof
|
|
196199
|
-
freeModule = freeExports && typeof
|
|
196383
|
+
freeExports = typeof exports_src_C0U0FLIH_es == "object" && exports_src_C0U0FLIH_es && !exports_src_C0U0FLIH_es.nodeType && exports_src_C0U0FLIH_es;
|
|
196384
|
+
freeModule = freeExports && typeof module_src_C0U0FLIH_es == "object" && module_src_C0U0FLIH_es && !module_src_C0U0FLIH_es.nodeType && module_src_C0U0FLIH_es;
|
|
196200
196385
|
Buffer4 = freeModule && freeModule.exports === freeExports ? _root_default.Buffer : undefined;
|
|
196201
196386
|
allocUnsafe = Buffer4 ? Buffer4.allocUnsafe : undefined;
|
|
196202
196387
|
_cloneBuffer_default = cloneBuffer;
|
|
@@ -203848,8 +204033,8 @@ var init_zipper_Cnk_HjM2_es = __esm(() => {
|
|
|
203848
204033
|
|
|
203849
204034
|
// ../../packages/superdoc/dist/super-editor.es.js
|
|
203850
204035
|
var init_super_editor_es = __esm(() => {
|
|
203851
|
-
|
|
203852
|
-
|
|
204036
|
+
init_src_C0U0FLIH_es();
|
|
204037
|
+
init_SuperConverter_Di_Lg_7T_es();
|
|
203853
204038
|
init_jszip_ChlR43oI_es();
|
|
203854
204039
|
init_xml_js_DLE8mr0n_es();
|
|
203855
204040
|
init_constants_Dw0kAsLd_es();
|
|
@@ -251751,6 +251936,77 @@ var init_permEndImporter = __esm(() => {
|
|
|
251751
251936
|
permEndHandlerEntity2 = generateV2HandlerEntity2("permEndHandler", translator151);
|
|
251752
251937
|
});
|
|
251753
251938
|
|
|
251939
|
+
// ../../packages/super-editor/src/core/super-converter/v2/importer/normalizeDuplicateBlockIdentitiesInContent.js
|
|
251940
|
+
function toIdentityValue2(value) {
|
|
251941
|
+
if (typeof value === "string" && value.length > 0)
|
|
251942
|
+
return value;
|
|
251943
|
+
if (typeof value === "number" && Number.isFinite(value))
|
|
251944
|
+
return String(value);
|
|
251945
|
+
return;
|
|
251946
|
+
}
|
|
251947
|
+
function resolvePrimaryBlockIdentity2(node4) {
|
|
251948
|
+
if (!node4 || typeof node4 !== "object")
|
|
251949
|
+
return;
|
|
251950
|
+
const attrPriority = BLOCK_IDENTITY_ATTRS2[node4.type];
|
|
251951
|
+
if (!attrPriority)
|
|
251952
|
+
return;
|
|
251953
|
+
const attrs = typeof node4.attrs === "object" && node4.attrs ? node4.attrs : {};
|
|
251954
|
+
for (const attr of attrPriority) {
|
|
251955
|
+
const value = toIdentityValue2(attrs[attr]);
|
|
251956
|
+
if (value)
|
|
251957
|
+
return { id: value, source: attr };
|
|
251958
|
+
}
|
|
251959
|
+
return;
|
|
251960
|
+
}
|
|
251961
|
+
function nextUniqueDocxId2(usedIds) {
|
|
251962
|
+
let id2 = generateDocxRandomId2();
|
|
251963
|
+
while (usedIds.has(id2)) {
|
|
251964
|
+
id2 = generateDocxRandomId2();
|
|
251965
|
+
}
|
|
251966
|
+
return id2;
|
|
251967
|
+
}
|
|
251968
|
+
function dedupeBlockIdentitiesInNode2(node4, usedIds) {
|
|
251969
|
+
if (!node4 || typeof node4 !== "object")
|
|
251970
|
+
return;
|
|
251971
|
+
const identity2 = resolvePrimaryBlockIdentity2(node4);
|
|
251972
|
+
if (identity2) {
|
|
251973
|
+
if (usedIds.has(identity2.id)) {
|
|
251974
|
+
const replacementId = nextUniqueDocxId2(usedIds);
|
|
251975
|
+
node4.attrs = { ...node4.attrs, [identity2.source]: replacementId };
|
|
251976
|
+
usedIds.add(replacementId);
|
|
251977
|
+
} else {
|
|
251978
|
+
usedIds.add(identity2.id);
|
|
251979
|
+
}
|
|
251980
|
+
}
|
|
251981
|
+
if (Array.isArray(node4.content)) {
|
|
251982
|
+
node4.content.forEach((child) => dedupeBlockIdentitiesInNode2(child, usedIds));
|
|
251983
|
+
}
|
|
251984
|
+
}
|
|
251985
|
+
function normalizeDuplicateBlockIdentitiesInContent2(content5 = []) {
|
|
251986
|
+
if (!Array.isArray(content5) || content5.length === 0)
|
|
251987
|
+
return content5;
|
|
251988
|
+
const usedIds = new Set;
|
|
251989
|
+
content5.forEach((node4) => dedupeBlockIdentitiesInNode2(node4, usedIds));
|
|
251990
|
+
return content5;
|
|
251991
|
+
}
|
|
251992
|
+
var PARAGRAPH_IDENTITY_ATTRS2, TABLE_IDENTITY_ATTRS2, DEFAULT_BLOCK_IDENTITY_ATTRS2, BLOCK_IDENTITY_ATTRS2;
|
|
251993
|
+
var init_normalizeDuplicateBlockIdentitiesInContent = __esm(() => {
|
|
251994
|
+
PARAGRAPH_IDENTITY_ATTRS2 = ["sdBlockId", "paraId"];
|
|
251995
|
+
TABLE_IDENTITY_ATTRS2 = ["sdBlockId", "paraId", "blockId"];
|
|
251996
|
+
DEFAULT_BLOCK_IDENTITY_ATTRS2 = ["sdBlockId", "blockId", "paraId"];
|
|
251997
|
+
BLOCK_IDENTITY_ATTRS2 = {
|
|
251998
|
+
paragraph: PARAGRAPH_IDENTITY_ATTRS2,
|
|
251999
|
+
heading: DEFAULT_BLOCK_IDENTITY_ATTRS2,
|
|
252000
|
+
listItem: DEFAULT_BLOCK_IDENTITY_ATTRS2,
|
|
252001
|
+
table: TABLE_IDENTITY_ATTRS2,
|
|
252002
|
+
tableRow: TABLE_IDENTITY_ATTRS2,
|
|
252003
|
+
tableCell: TABLE_IDENTITY_ATTRS2,
|
|
252004
|
+
tableHeader: TABLE_IDENTITY_ATTRS2,
|
|
252005
|
+
sdt: DEFAULT_BLOCK_IDENTITY_ATTRS2,
|
|
252006
|
+
structuredContentBlock: DEFAULT_BLOCK_IDENTITY_ATTRS2
|
|
252007
|
+
};
|
|
252008
|
+
});
|
|
252009
|
+
|
|
251754
252010
|
// ../../packages/super-editor/src/core/super-converter/v3/handlers/w/styles/index.js
|
|
251755
252011
|
var init_styles2 = __esm(() => {
|
|
251756
252012
|
init_styles_translator();
|
|
@@ -252440,6 +252696,7 @@ var detectDocumentOrigin2 = (docx) => {
|
|
|
252440
252696
|
parsedContent = filterOutRootInlineNodes2(parsedContent);
|
|
252441
252697
|
parsedContent = normalizeTableBookmarksInContent2(parsedContent, editor);
|
|
252442
252698
|
collapseWhitespaceNextToInlinePassthrough2(parsedContent);
|
|
252699
|
+
parsedContent = normalizeDuplicateBlockIdentitiesInContent2(parsedContent);
|
|
252443
252700
|
const result = {
|
|
252444
252701
|
type: "doc",
|
|
252445
252702
|
content: parsedContent,
|
|
@@ -252639,6 +252896,7 @@ var detectDocumentOrigin2 = (docx) => {
|
|
|
252639
252896
|
path: []
|
|
252640
252897
|
});
|
|
252641
252898
|
schema = filterOutRootInlineNodes2(schema);
|
|
252899
|
+
schema = normalizeDuplicateBlockIdentitiesInContent2(schema);
|
|
252642
252900
|
if (!converter.headerIds.ids)
|
|
252643
252901
|
converter.headerIds.ids = [];
|
|
252644
252902
|
converter.headerIds.ids.push(rId);
|
|
@@ -252668,6 +252926,7 @@ var detectDocumentOrigin2 = (docx) => {
|
|
|
252668
252926
|
path: []
|
|
252669
252927
|
});
|
|
252670
252928
|
schema = filterOutRootInlineNodes2(schema);
|
|
252929
|
+
schema = normalizeDuplicateBlockIdentitiesInContent2(schema);
|
|
252671
252930
|
if (!converter.footerIds.ids)
|
|
252672
252931
|
converter.footerIds.ids = [];
|
|
252673
252932
|
converter.footerIds.ids.push(rId);
|
|
@@ -252756,6 +253015,7 @@ var init_docxImporter = __esm(() => {
|
|
|
252756
253015
|
init_commentRangeImporter();
|
|
252757
253016
|
init_permStartImporter();
|
|
252758
253017
|
init_permEndImporter();
|
|
253018
|
+
init_normalizeDuplicateBlockIdentitiesInContent();
|
|
252759
253019
|
init_attributes7();
|
|
252760
253020
|
init_attributes8();
|
|
252761
253021
|
init_styles2();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superdoc-dev/cli",
|
|
3
|
-
"version": "0.2.0-next.
|
|
3
|
+
"version": "0.2.0-next.23",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"superdoc": "./dist/index.js"
|
|
@@ -20,19 +20,19 @@
|
|
|
20
20
|
"@types/node": "22.19.2",
|
|
21
21
|
"typescript": "^5.9.2",
|
|
22
22
|
"@superdoc/document-api": "0.0.1",
|
|
23
|
-
"superdoc": "
|
|
24
|
-
"
|
|
23
|
+
"@superdoc/super-editor": "0.0.1",
|
|
24
|
+
"superdoc": "1.16.0"
|
|
25
25
|
},
|
|
26
26
|
"module": "src/index.ts",
|
|
27
27
|
"publishConfig": {
|
|
28
28
|
"access": "public"
|
|
29
29
|
},
|
|
30
30
|
"optionalDependencies": {
|
|
31
|
-
"@superdoc-dev/cli-darwin-
|
|
32
|
-
"@superdoc-dev/cli-darwin-
|
|
33
|
-
"@superdoc-dev/cli-linux-x64": "0.2.0-next.
|
|
34
|
-
"@superdoc-dev/cli-linux-arm64": "0.2.0-next.
|
|
35
|
-
"@superdoc-dev/cli-windows-x64": "0.2.0-next.
|
|
31
|
+
"@superdoc-dev/cli-darwin-arm64": "0.2.0-next.23",
|
|
32
|
+
"@superdoc-dev/cli-darwin-x64": "0.2.0-next.23",
|
|
33
|
+
"@superdoc-dev/cli-linux-x64": "0.2.0-next.23",
|
|
34
|
+
"@superdoc-dev/cli-linux-arm64": "0.2.0-next.23",
|
|
35
|
+
"@superdoc-dev/cli-windows-x64": "0.2.0-next.23"
|
|
36
36
|
},
|
|
37
37
|
"scripts": {
|
|
38
38
|
"dev": "bun run src/index.ts",
|