@superdoc-dev/cli 0.3.0-next.14 → 0.3.0-next.16
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 +441 -163
- package/package.json +6 -6
package/dist/index.js
CHANGED
|
@@ -1372,8 +1372,8 @@ var init_operation_definitions = __esm(() => {
|
|
|
1372
1372
|
},
|
|
1373
1373
|
info: {
|
|
1374
1374
|
memberPath: "info",
|
|
1375
|
-
description: "Return document summary info including word, character, paragraph, heading, table, image, comment, tracked-change, SDT-field, and
|
|
1376
|
-
expectedResult: "Returns a DocumentInfo object with counts (words, characters, paragraphs, headings, tables, images, comments, trackedChanges, sdtFields, lists), document outline, capability flags, and revision.",
|
|
1375
|
+
description: "Return document summary info including word, character, paragraph, heading, table, image, comment, tracked-change, SDT-field, list, and page counts, plus outline and capabilities.",
|
|
1376
|
+
expectedResult: "Returns a DocumentInfo object with counts (words, characters, paragraphs, headings, tables, images, comments, trackedChanges, sdtFields, lists, and optionally pages when pagination is active), document outline, capability flags, and revision.",
|
|
1377
1377
|
requiresDocumentContext: true,
|
|
1378
1378
|
metadata: readOperation(),
|
|
1379
1379
|
referenceDocPath: "info.mdx",
|
|
@@ -8026,7 +8026,8 @@ var init_schemas = __esm(() => {
|
|
|
8026
8026
|
comments: { type: "integer" },
|
|
8027
8027
|
trackedChanges: { type: "integer" },
|
|
8028
8028
|
sdtFields: { type: "integer" },
|
|
8029
|
-
lists: { type: "integer" }
|
|
8029
|
+
lists: { type: "integer" },
|
|
8030
|
+
pages: { type: "integer" }
|
|
8030
8031
|
}, [
|
|
8031
8032
|
"words",
|
|
8032
8033
|
"characters",
|
|
@@ -39075,7 +39076,7 @@ var init_remark_gfm_z_sDF4ss_es = __esm(() => {
|
|
|
39075
39076
|
emptyOptions2 = {};
|
|
39076
39077
|
});
|
|
39077
39078
|
|
|
39078
|
-
// ../../packages/superdoc/dist/chunks/SuperConverter-
|
|
39079
|
+
// ../../packages/superdoc/dist/chunks/SuperConverter-hvBoS9gB.es.js
|
|
39079
39080
|
function getExtensionConfigField(extension$1, field, context = { name: "" }) {
|
|
39080
39081
|
const fieldValue = extension$1.config[field];
|
|
39081
39082
|
if (typeof fieldValue === "function")
|
|
@@ -45659,6 +45660,14 @@ function createStrictTogglePropertyHandler(xmlName, sdName = null) {
|
|
|
45659
45660
|
}
|
|
45660
45661
|
};
|
|
45661
45662
|
}
|
|
45663
|
+
function stripUnsupportedTableIdentityAttributes(attrs) {
|
|
45664
|
+
if (!attrs || typeof attrs !== "object")
|
|
45665
|
+
return {};
|
|
45666
|
+
const filteredAttrs = { ...attrs };
|
|
45667
|
+
for (const attrName of UNSUPPORTED_TABLE_IDENTITY_ATTRS)
|
|
45668
|
+
delete filteredAttrs[attrName];
|
|
45669
|
+
return filteredAttrs;
|
|
45670
|
+
}
|
|
45662
45671
|
function createMeasurementPropertyHandler(xmlName, sdName = null) {
|
|
45663
45672
|
if (!sdName)
|
|
45664
45673
|
sdName = xmlName.split(":")[1];
|
|
@@ -47061,14 +47070,27 @@ function getFontFamilyValue$1(attributes, docx) {
|
|
|
47061
47070
|
return SuperConverter.toCssFontFamily(resolved, docx);
|
|
47062
47071
|
}
|
|
47063
47072
|
function getHighLightValue$1(attributes) {
|
|
47064
|
-
const fill = attributes["w:fill"];
|
|
47065
|
-
if (fill
|
|
47073
|
+
const fill = normalizeHighlightHex(attributes?.["w:fill"]);
|
|
47074
|
+
if (fill)
|
|
47066
47075
|
return `#${fill}`;
|
|
47067
|
-
|
|
47076
|
+
const value = attributes?.["w:val"];
|
|
47077
|
+
if (value === "none")
|
|
47068
47078
|
return "transparent";
|
|
47069
|
-
|
|
47070
|
-
|
|
47071
|
-
|
|
47079
|
+
const normalizedValue = normalizeHighlightHex(value);
|
|
47080
|
+
if (normalizedValue)
|
|
47081
|
+
return `#${normalizedValue}`;
|
|
47082
|
+
return getHexColorFromDocxSystem(value) || null;
|
|
47083
|
+
}
|
|
47084
|
+
function normalizeHighlightHex(rawValue) {
|
|
47085
|
+
if (typeof rawValue !== "string")
|
|
47086
|
+
return null;
|
|
47087
|
+
const trimmedValue = rawValue.trim();
|
|
47088
|
+
if (!trimmedValue || trimmedValue.toLowerCase() === "auto")
|
|
47089
|
+
return null;
|
|
47090
|
+
const normalizedValue = normalizeHexColor(trimmedValue);
|
|
47091
|
+
if (!normalizedValue || !isValidHexColor(normalizedValue))
|
|
47092
|
+
return null;
|
|
47093
|
+
return normalizedValue;
|
|
47072
47094
|
}
|
|
47073
47095
|
function normalizeToggleValue(value) {
|
|
47074
47096
|
if (value == null)
|
|
@@ -47878,10 +47900,11 @@ function encode$48(params, encodedAttrs) {
|
|
|
47878
47900
|
}
|
|
47879
47901
|
function decode$50(params, decodedAttrs) {
|
|
47880
47902
|
const translated = translateTableCell(params);
|
|
47881
|
-
|
|
47903
|
+
const filteredDecodedAttrs = stripUnsupportedTableIdentityAttributes(decodedAttrs);
|
|
47904
|
+
if (Object.keys(filteredDecodedAttrs).length)
|
|
47882
47905
|
translated.attributes = {
|
|
47883
47906
|
...translated.attributes || {},
|
|
47884
|
-
...
|
|
47907
|
+
...filteredDecodedAttrs
|
|
47885
47908
|
};
|
|
47886
47909
|
return translated;
|
|
47887
47910
|
}
|
|
@@ -55505,7 +55528,7 @@ function getFormattingStateAtPos(state, pos, editor, options = {}) {
|
|
|
55505
55528
|
const resolvedRunProperties = resolvedFromSelection?.resolvedRunProperties ?? inlineRunProperties;
|
|
55506
55529
|
const styleRunProperties = resolvedFromSelection?.styleRunProperties ?? null;
|
|
55507
55530
|
const resolvedMarksFromProperties = createMarksFromRunProperties(state, resolvedRunProperties, editor);
|
|
55508
|
-
resolvedMarks.push(...resolvedMarksFromProperties
|
|
55531
|
+
resolvedMarks.push(...mergeResolvedMarksWithInlineFallback(resolvedMarksFromProperties, inlineMarks));
|
|
55509
55532
|
if (storedMarks && includeCursorMarksWithStoredMarks)
|
|
55510
55533
|
resolvedMarks.push(...cursorMarks);
|
|
55511
55534
|
return {
|
|
@@ -55536,14 +55559,25 @@ function aggregateFormattingSegments(state, editor, segments) {
|
|
|
55536
55559
|
const resolvedRunProperties = intersectRunProperties(segments.map((segment) => segment.resolvedRunProperties));
|
|
55537
55560
|
const inlineRunProperties = intersectRunProperties(segments.map((segment) => segment.inlineRunProperties));
|
|
55538
55561
|
const styleRunProperties = intersectRunProperties(segments.map((segment) => segment.styleRunProperties));
|
|
55562
|
+
const resolvedMarks = createMarksFromRunProperties(state, resolvedRunProperties, editor);
|
|
55563
|
+
const inlineMarks = createMarksFromRunProperties(state, inlineRunProperties, editor);
|
|
55539
55564
|
return {
|
|
55540
|
-
resolvedMarks:
|
|
55541
|
-
inlineMarks
|
|
55565
|
+
resolvedMarks: mergeResolvedMarksWithInlineFallback(resolvedMarks, inlineMarks),
|
|
55566
|
+
inlineMarks,
|
|
55542
55567
|
resolvedRunProperties,
|
|
55543
55568
|
inlineRunProperties,
|
|
55544
55569
|
styleRunProperties
|
|
55545
55570
|
};
|
|
55546
55571
|
}
|
|
55572
|
+
function mergeResolvedMarksWithInlineFallback(resolvedMarks, inlineMarks) {
|
|
55573
|
+
if (!resolvedMarks.length)
|
|
55574
|
+
return inlineMarks;
|
|
55575
|
+
if (!inlineMarks.length)
|
|
55576
|
+
return resolvedMarks;
|
|
55577
|
+
const resolvedMarkNames = new Set(resolvedMarks.map((mark) => mark.type.name));
|
|
55578
|
+
const missingInlineMarks = inlineMarks.filter((mark) => !resolvedMarkNames.has(mark.type.name));
|
|
55579
|
+
return [...resolvedMarks, ...missingInlineMarks];
|
|
55580
|
+
}
|
|
55547
55581
|
function intersectRunProperties(runPropertiesList) {
|
|
55548
55582
|
const filtered = runPropertiesList.filter((props) => props && typeof props === "object");
|
|
55549
55583
|
if (filtered.length === 0)
|
|
@@ -64329,50 +64363,103 @@ function toIdentityValue(value) {
|
|
|
64329
64363
|
if (typeof value === "number" && Number.isFinite(value))
|
|
64330
64364
|
return String(value);
|
|
64331
64365
|
}
|
|
64332
|
-
function
|
|
64366
|
+
function getBlockIdentityAttrs(node3) {
|
|
64333
64367
|
if (!node3 || typeof node3 !== "object")
|
|
64334
|
-
return;
|
|
64335
|
-
|
|
64336
|
-
|
|
64337
|
-
|
|
64368
|
+
return [];
|
|
64369
|
+
return BLOCK_IDENTITY_ATTRS[node3.type] ?? [];
|
|
64370
|
+
}
|
|
64371
|
+
function getExplicitIdentityEntries(node3) {
|
|
64372
|
+
const attrPriority = getBlockIdentityAttrs(node3);
|
|
64373
|
+
if (attrPriority.length === 0)
|
|
64374
|
+
return [];
|
|
64338
64375
|
const attrs = typeof node3.attrs === "object" && node3.attrs ? node3.attrs : {};
|
|
64376
|
+
const identityEntries = [];
|
|
64339
64377
|
for (const attr of attrPriority) {
|
|
64340
64378
|
const value = toIdentityValue(attrs[attr]);
|
|
64341
64379
|
if (value)
|
|
64342
|
-
|
|
64343
|
-
|
|
64344
|
-
|
|
64345
|
-
};
|
|
64380
|
+
identityEntries.push({
|
|
64381
|
+
attr,
|
|
64382
|
+
value
|
|
64383
|
+
});
|
|
64346
64384
|
}
|
|
64385
|
+
return identityEntries;
|
|
64347
64386
|
}
|
|
64348
|
-
function
|
|
64349
|
-
|
|
64350
|
-
|
|
64351
|
-
|
|
64352
|
-
|
|
64387
|
+
function groupIdentityEntriesByValue(identityEntries) {
|
|
64388
|
+
const groupsByValue = /* @__PURE__ */ new Map;
|
|
64389
|
+
for (const entry of identityEntries) {
|
|
64390
|
+
const existingGroup = groupsByValue.get(entry.value);
|
|
64391
|
+
if (existingGroup) {
|
|
64392
|
+
existingGroup.attrs.push(entry.attr);
|
|
64393
|
+
continue;
|
|
64394
|
+
}
|
|
64395
|
+
groupsByValue.set(entry.value, {
|
|
64396
|
+
value: entry.value,
|
|
64397
|
+
attrs: [entry.attr]
|
|
64398
|
+
});
|
|
64399
|
+
}
|
|
64400
|
+
return [...groupsByValue.values()];
|
|
64401
|
+
}
|
|
64402
|
+
function shouldSynthesizeParaId(node3) {
|
|
64403
|
+
return Boolean(node3 && typeof node3 === "object" && SYNTHETIC_PARA_ID_TYPES.has(node3.type));
|
|
64353
64404
|
}
|
|
64354
|
-
function
|
|
64405
|
+
function collectExplicitBlockIdentities(node3, reservedIds) {
|
|
64355
64406
|
if (!node3 || typeof node3 !== "object")
|
|
64356
64407
|
return;
|
|
64357
|
-
const
|
|
64358
|
-
|
|
64359
|
-
|
|
64360
|
-
|
|
64361
|
-
|
|
64362
|
-
|
|
64363
|
-
|
|
64364
|
-
|
|
64365
|
-
|
|
64366
|
-
|
|
64367
|
-
|
|
64408
|
+
const identityEntries = getExplicitIdentityEntries(node3);
|
|
64409
|
+
for (const { value } of groupIdentityEntriesByValue(identityEntries))
|
|
64410
|
+
reservedIds.add(value);
|
|
64411
|
+
if (Array.isArray(node3.content))
|
|
64412
|
+
node3.content.forEach((child) => collectExplicitBlockIdentities(child, reservedIds));
|
|
64413
|
+
}
|
|
64414
|
+
function createDeterministicDocxIdAllocator(reservedIds) {
|
|
64415
|
+
let nextValue = 1;
|
|
64416
|
+
return () => {
|
|
64417
|
+
while (nextValue <= MAX_DOCX_ID) {
|
|
64418
|
+
const id = nextValue.toString(16).toUpperCase().padStart(DOCX_ID_LENGTH, "0");
|
|
64419
|
+
nextValue += 1;
|
|
64420
|
+
if (reservedIds.has(id))
|
|
64421
|
+
continue;
|
|
64422
|
+
reservedIds.add(id);
|
|
64423
|
+
return id;
|
|
64424
|
+
}
|
|
64425
|
+
throw new Error("Unable to allocate a unique synthetic DOCX block id.");
|
|
64426
|
+
};
|
|
64427
|
+
}
|
|
64428
|
+
function setBlockIdentity(node3, attrName, value) {
|
|
64429
|
+
node3.attrs = {
|
|
64430
|
+
...node3.attrs ?? {},
|
|
64431
|
+
[attrName]: value
|
|
64432
|
+
};
|
|
64433
|
+
}
|
|
64434
|
+
function normalizeBlockIdentitiesInNode(node3, seenIds, allocateDocxId) {
|
|
64435
|
+
if (!node3 || typeof node3 !== "object")
|
|
64436
|
+
return;
|
|
64437
|
+
const groupedIdentities = groupIdentityEntriesByValue(getExplicitIdentityEntries(node3));
|
|
64438
|
+
if (groupedIdentities.length > 0)
|
|
64439
|
+
for (const identityGroup of groupedIdentities)
|
|
64440
|
+
if (seenIds.has(identityGroup.value)) {
|
|
64441
|
+
const replacementId = allocateDocxId();
|
|
64442
|
+
for (const attr of identityGroup.attrs)
|
|
64443
|
+
setBlockIdentity(node3, attr, replacementId);
|
|
64444
|
+
seenIds.add(replacementId);
|
|
64445
|
+
} else
|
|
64446
|
+
seenIds.add(identityGroup.value);
|
|
64447
|
+
else if (shouldSynthesizeParaId(node3)) {
|
|
64448
|
+
const syntheticParaId = allocateDocxId();
|
|
64449
|
+
setBlockIdentity(node3, "paraId", syntheticParaId);
|
|
64450
|
+
seenIds.add(syntheticParaId);
|
|
64451
|
+
}
|
|
64368
64452
|
if (Array.isArray(node3.content))
|
|
64369
|
-
node3.content.forEach((child) =>
|
|
64453
|
+
node3.content.forEach((child) => normalizeBlockIdentitiesInNode(child, seenIds, allocateDocxId));
|
|
64370
64454
|
}
|
|
64371
64455
|
function normalizeDuplicateBlockIdentitiesInContent(content$2 = []) {
|
|
64372
64456
|
if (!Array.isArray(content$2) || content$2.length === 0)
|
|
64373
64457
|
return content$2;
|
|
64374
|
-
const
|
|
64375
|
-
content$2.forEach((node3) =>
|
|
64458
|
+
const reservedIds = /* @__PURE__ */ new Set;
|
|
64459
|
+
content$2.forEach((node3) => collectExplicitBlockIdentities(node3, reservedIds));
|
|
64460
|
+
const allocateDocxId = createDeterministicDocxIdAllocator(reservedIds);
|
|
64461
|
+
const seenIds = /* @__PURE__ */ new Set;
|
|
64462
|
+
content$2.forEach((node3) => normalizeBlockIdentitiesInNode(node3, seenIds, allocateDocxId));
|
|
64376
64463
|
return content$2;
|
|
64377
64464
|
}
|
|
64378
64465
|
function patchNumberingDefinitions(docx) {
|
|
@@ -68539,7 +68626,7 @@ var isRegExp = (value) => {
|
|
|
68539
68626
|
consumed: 1
|
|
68540
68627
|
};
|
|
68541
68628
|
}
|
|
68542
|
-
}), createSingleIntegerPropertyHandler = (xmlName, sdName = null) => createSingleAttrPropertyHandler(xmlName, sdName, "w:val", parseInteger, integerToString), parseMeasurementValue = (value, type) => {
|
|
68629
|
+
}), createSingleIntegerPropertyHandler = (xmlName, sdName = null) => createSingleAttrPropertyHandler(xmlName, sdName, "w:val", parseInteger, integerToString), UNSUPPORTED_TABLE_IDENTITY_ATTRS, parseMeasurementValue = (value, type) => {
|
|
68543
68630
|
if (value == null)
|
|
68544
68631
|
return;
|
|
68545
68632
|
const strValue = String(value);
|
|
@@ -79202,7 +79289,7 @@ var isRegExp = (value) => {
|
|
|
79202
79289
|
}
|
|
79203
79290
|
return {
|
|
79204
79291
|
name: "w:tbl",
|
|
79205
|
-
attributes: decodedAttrs
|
|
79292
|
+
attributes: stripUnsupportedTableIdentityAttributes(decodedAttrs),
|
|
79206
79293
|
elements
|
|
79207
79294
|
};
|
|
79208
79295
|
}, config$23, translator$8, encode$40 = (attributes) => {
|
|
@@ -81408,7 +81495,7 @@ var isRegExp = (value) => {
|
|
|
81408
81495
|
nodes: [translator$3.encode(params)],
|
|
81409
81496
|
consumed: 1
|
|
81410
81497
|
};
|
|
81411
|
-
}, 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) => {
|
|
81498
|
+
}, tabNodeEntityHandler, footnoteReferenceHandlerEntity, tableNodeHandlerEntity, tableOfContentsHandlerEntity, indexHandlerEntity, indexEntryHandlerEntity, commentRangeStartHandlerEntity, commentRangeEndHandlerEntity, permStartHandlerEntity, permEndHandlerEntity, PARAGRAPH_IDENTITY_ATTRS, TABLE_IDENTITY_ATTRS, DEFAULT_BLOCK_IDENTITY_ATTRS, SYNTHETIC_PARA_ID_TYPES, DOCX_ID_LENGTH = 8, MAX_DOCX_ID = 4294967295, BLOCK_IDENTITY_ATTRS, WORD_2012_NAMESPACE = "http://schemas.microsoft.com/office/word/2012/wordml", deepClone = (value) => JSON.parse(JSON.stringify(value)), getNumberingRoot = (numberingXml) => {
|
|
81412
81499
|
if (!numberingXml?.elements?.length)
|
|
81413
81500
|
return null;
|
|
81414
81501
|
return numberingXml.elements.find((el) => el?.name === "w:numbering") || numberingXml.elements[0] || null;
|
|
@@ -82435,7 +82522,7 @@ var isRegExp = (value) => {
|
|
|
82435
82522
|
state.kern = kernNode.attributes["w:val"];
|
|
82436
82523
|
}
|
|
82437
82524
|
}, SuperConverter;
|
|
82438
|
-
var
|
|
82525
|
+
var init_SuperConverter_hvBoS9gB_es = __esm(() => {
|
|
82439
82526
|
init_rolldown_runtime_B2q5OVn9_es();
|
|
82440
82527
|
init_jszip_ChlR43oI_es();
|
|
82441
82528
|
init_xml_js_BtmJ6bNs_es();
|
|
@@ -85529,8 +85616,8 @@ var init_SuperConverter_B6j_v0cn_es = __esm(() => {
|
|
|
85529
85616
|
},
|
|
85530
85617
|
info: {
|
|
85531
85618
|
memberPath: "info",
|
|
85532
|
-
description: "Return document summary info including word, character, paragraph, heading, table, image, comment, tracked-change, SDT-field, and
|
|
85533
|
-
expectedResult: "Returns a DocumentInfo object with counts (words, characters, paragraphs, headings, tables, images, comments, trackedChanges, sdtFields, lists), document outline, capability flags, and revision.",
|
|
85619
|
+
description: "Return document summary info including word, character, paragraph, heading, table, image, comment, tracked-change, SDT-field, list, and page counts, plus outline and capabilities.",
|
|
85620
|
+
expectedResult: "Returns a DocumentInfo object with counts (words, characters, paragraphs, headings, tables, images, comments, trackedChanges, sdtFields, lists, and optionally pages when pagination is active), document outline, capability flags, and revision.",
|
|
85534
85621
|
requiresDocumentContext: true,
|
|
85535
85622
|
metadata: readOperation2(),
|
|
85536
85623
|
referenceDocPath: "info.mdx",
|
|
@@ -91613,7 +91700,8 @@ var init_SuperConverter_B6j_v0cn_es = __esm(() => {
|
|
|
91613
91700
|
comments: { type: "integer" },
|
|
91614
91701
|
trackedChanges: { type: "integer" },
|
|
91615
91702
|
sdtFields: { type: "integer" },
|
|
91616
|
-
lists: { type: "integer" }
|
|
91703
|
+
lists: { type: "integer" },
|
|
91704
|
+
pages: { type: "integer" }
|
|
91617
91705
|
}, [
|
|
91618
91706
|
"words",
|
|
91619
91707
|
"characters",
|
|
@@ -95755,6 +95843,7 @@ var init_SuperConverter_B6j_v0cn_es = __esm(() => {
|
|
|
95755
95843
|
"authorities"
|
|
95756
95844
|
];
|
|
95757
95845
|
_buffers = /* @__PURE__ */ new Map;
|
|
95846
|
+
UNSUPPORTED_TABLE_IDENTITY_ATTRS = ["w14:paraId", "w14:textId"];
|
|
95758
95847
|
translator$41 = NodeTranslator.from(createStrictTogglePropertyHandler("w:b", "bold"));
|
|
95759
95848
|
translator$45 = NodeTranslator.from(createSingleBooleanPropertyHandler("w:bCs", "boldCs"));
|
|
95760
95849
|
translator$43 = NodeTranslator.from(createBorderPropertyHandler("w:bdr", "borders"));
|
|
@@ -116723,6 +116812,7 @@ var init_SuperConverter_B6j_v0cn_es = __esm(() => {
|
|
|
116723
116812
|
"blockId",
|
|
116724
116813
|
"paraId"
|
|
116725
116814
|
];
|
|
116815
|
+
SYNTHETIC_PARA_ID_TYPES = new Set(["paragraph", "tableRow"]);
|
|
116726
116816
|
BLOCK_IDENTITY_ATTRS = {
|
|
116727
116817
|
paragraph: PARAGRAPH_IDENTITY_ATTRS,
|
|
116728
116818
|
heading: DEFAULT_BLOCK_IDENTITY_ATTRS,
|
|
@@ -144232,7 +144322,7 @@ var init_remark_gfm_CjV8kaUy_es = __esm(() => {
|
|
|
144232
144322
|
init_remark_gfm_z_sDF4ss_es();
|
|
144233
144323
|
});
|
|
144234
144324
|
|
|
144235
|
-
// ../../packages/superdoc/dist/chunks/src-
|
|
144325
|
+
// ../../packages/superdoc/dist/chunks/src-Bdp40qhn.es.js
|
|
144236
144326
|
function deleteProps(obj, propOrProps) {
|
|
144237
144327
|
const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
|
|
144238
144328
|
const removeNested = (target, pathParts, index2 = 0) => {
|
|
@@ -147141,7 +147231,7 @@ function normalizeExcerpt(text5) {
|
|
|
147141
147231
|
const trimmed = text5.replace(/\s+/g, " ").trim();
|
|
147142
147232
|
return trimmed.length ? trimmed : undefined;
|
|
147143
147233
|
}
|
|
147144
|
-
function stableHash$
|
|
147234
|
+
function stableHash$2(input2) {
|
|
147145
147235
|
let hash$3 = 2166136261;
|
|
147146
147236
|
for (let index2 = 0;index2 < input2.length; index2 += 1) {
|
|
147147
147237
|
hash$3 ^= input2.charCodeAt(index2);
|
|
@@ -147150,11 +147240,39 @@ function stableHash$1(input2) {
|
|
|
147150
147240
|
return (hash$3 >>> 0).toString(16).padStart(8, "0");
|
|
147151
147241
|
}
|
|
147152
147242
|
function buildFallbackTocNodeId(node3, pos) {
|
|
147153
|
-
return `toc-auto-${stableHash$
|
|
147243
|
+
return `toc-auto-${stableHash$2(`${pos}:${typeof node3.attrs?.instruction === "string" ? node3.attrs.instruction : ""}`)}`;
|
|
147154
147244
|
}
|
|
147155
147245
|
function resolvePublicTocNodeId(node3, pos) {
|
|
147156
147246
|
return buildFallbackTocNodeId(node3, pos);
|
|
147157
147247
|
}
|
|
147248
|
+
function stableHash$1(input2) {
|
|
147249
|
+
let hash$3 = 2166136261;
|
|
147250
|
+
for (let index2 = 0;index2 < input2.length; index2 += 1) {
|
|
147251
|
+
hash$3 ^= input2.charCodeAt(index2);
|
|
147252
|
+
hash$3 = Math.imul(hash$3, 16777619);
|
|
147253
|
+
}
|
|
147254
|
+
return (hash$3 >>> 0).toString(16).padStart(8, "0");
|
|
147255
|
+
}
|
|
147256
|
+
function toTableLikeBlockNodeType(nodeType) {
|
|
147257
|
+
if (nodeType === "table")
|
|
147258
|
+
return "table";
|
|
147259
|
+
if (nodeType === "tableCell")
|
|
147260
|
+
return "tableCell";
|
|
147261
|
+
}
|
|
147262
|
+
function serializeTraversalPath(path2, pos) {
|
|
147263
|
+
if (Array.isArray(path2) && path2.length > 0)
|
|
147264
|
+
return `path:${path2.join(".")}`;
|
|
147265
|
+
return `pos:${pos}`;
|
|
147266
|
+
}
|
|
147267
|
+
function isVolatileRuntimeBlockId(id2) {
|
|
147268
|
+
return typeof id2 === "string" && UUID_LIKE_PATTERN.test(id2);
|
|
147269
|
+
}
|
|
147270
|
+
function buildFallbackTableNodeId(nodeType, pos, path2) {
|
|
147271
|
+
const tableLikeType = toTableLikeBlockNodeType(nodeType);
|
|
147272
|
+
if (!tableLikeType)
|
|
147273
|
+
return;
|
|
147274
|
+
return `${TABLE_LIKE_PREFIX[tableLikeType]}-${stableHash$1(`${tableLikeType}:${serializeTraversalPath(path2, pos)}`)}`;
|
|
147275
|
+
}
|
|
147158
147276
|
function isListItem$1(attrs) {
|
|
147159
147277
|
const numbering = attrs?.paragraphProperties?.numberingProperties;
|
|
147160
147278
|
if (numbering && (numbering.numId != null || numbering.ilvl != null))
|
|
@@ -147204,7 +147322,16 @@ function mapBlockNodeType(node3) {
|
|
|
147204
147322
|
return;
|
|
147205
147323
|
}
|
|
147206
147324
|
}
|
|
147207
|
-
function
|
|
147325
|
+
function resolveLegacyTableIdentity(attrs) {
|
|
147326
|
+
return toId(attrs.paraId) ?? toId(attrs.blockId) ?? toId(attrs.id) ?? toId(attrs.uuid);
|
|
147327
|
+
}
|
|
147328
|
+
function resolveRuntimeTableIdentity(nodeType, attrs, pos, path2) {
|
|
147329
|
+
const sdBlockId = toId(attrs.sdBlockId);
|
|
147330
|
+
if (sdBlockId && !isVolatileRuntimeBlockId(sdBlockId))
|
|
147331
|
+
return sdBlockId;
|
|
147332
|
+
return buildFallbackTableNodeId(nodeType, pos, path2);
|
|
147333
|
+
}
|
|
147334
|
+
function resolveBlockNodeId(node3, pos, nodeType, path2) {
|
|
147208
147335
|
if (node3.type.name === "paragraph") {
|
|
147209
147336
|
const attrs$1 = node3.attrs;
|
|
147210
147337
|
return toId(attrs$1?.paraId) ?? toId(attrs$1?.sdBlockId);
|
|
@@ -147213,8 +147340,10 @@ function resolveBlockNodeId(node3, pos, nodeType) {
|
|
|
147213
147340
|
return resolvePublicTocNodeId(node3, pos);
|
|
147214
147341
|
const attrs = node3.attrs ?? {};
|
|
147215
147342
|
const typeName = node3.type.name;
|
|
147216
|
-
if (typeName === "
|
|
147343
|
+
if (typeName === "tableRow")
|
|
147217
147344
|
return toId(attrs.paraId) ?? toId(attrs.sdBlockId) ?? toId(attrs.blockId) ?? toId(attrs.id) ?? toId(attrs.uuid);
|
|
147345
|
+
if (typeName === "table" || typeName === "tableCell" || typeName === "tableHeader")
|
|
147346
|
+
return resolveLegacyTableIdentity(attrs) ?? resolveRuntimeTableIdentity(nodeType, attrs, pos, path2);
|
|
147218
147347
|
return toId(attrs.blockId) ?? toId(attrs.id) ?? toId(attrs.paraId) ?? toId(attrs.uuid) ?? toId(attrs.sdBlockId);
|
|
147219
147348
|
}
|
|
147220
147349
|
function toBlockAddress(candidate) {
|
|
@@ -147235,6 +147364,8 @@ function buildBlockIndex(editor) {
|
|
|
147235
147364
|
const candidates = [];
|
|
147236
147365
|
const byId = /* @__PURE__ */ new Map;
|
|
147237
147366
|
const ambiguous = /* @__PURE__ */ new Set;
|
|
147367
|
+
const pathByNode = /* @__PURE__ */ new WeakMap;
|
|
147368
|
+
pathByNode.set(editor.state.doc, []);
|
|
147238
147369
|
function registerKey(key$1, candidate) {
|
|
147239
147370
|
if (byId.has(key$1)) {
|
|
147240
147371
|
ambiguous.add(key$1);
|
|
@@ -147242,11 +147373,15 @@ function buildBlockIndex(editor) {
|
|
|
147242
147373
|
} else if (!ambiguous.has(key$1))
|
|
147243
147374
|
byId.set(key$1, candidate);
|
|
147244
147375
|
}
|
|
147245
|
-
editor.state.doc.descendants((node3, pos) => {
|
|
147376
|
+
editor.state.doc.descendants((node3, pos, parent, index2) => {
|
|
147377
|
+
const parentPath = parent ? pathByNode.get(parent) ?? [] : [];
|
|
147378
|
+
const path2 = typeof index2 === "number" && Number.isInteger(index2) && index2 >= 0 ? [...parentPath, index2] : undefined;
|
|
147379
|
+
if (path2)
|
|
147380
|
+
pathByNode.set(node3, path2);
|
|
147246
147381
|
const nodeType = mapBlockNodeType(node3);
|
|
147247
147382
|
if (!nodeType)
|
|
147248
147383
|
return;
|
|
147249
|
-
const nodeId = resolveBlockNodeId(node3, pos, nodeType);
|
|
147384
|
+
const nodeId = resolveBlockNodeId(node3, pos, nodeType, path2);
|
|
147250
147385
|
if (!nodeId)
|
|
147251
147386
|
return;
|
|
147252
147387
|
const candidate = {
|
|
@@ -153909,14 +154044,15 @@ function resolveListItem(editor, address2) {
|
|
|
153909
154044
|
function getLiveDocumentCounts(editor) {
|
|
153910
154045
|
const currentDoc = editor.state.doc;
|
|
153911
154046
|
const cached = liveDocumentCountsCache.get(editor);
|
|
154047
|
+
const pages = countPages(editor);
|
|
153912
154048
|
if (cached && cached.doc === currentDoc)
|
|
153913
|
-
return cloneLiveDocumentCounts(cached.counts);
|
|
154049
|
+
return cloneLiveDocumentCounts(cached.counts, pages);
|
|
153914
154050
|
const counts = computeLiveDocumentCounts(editor);
|
|
153915
154051
|
liveDocumentCountsCache.set(editor, {
|
|
153916
154052
|
doc: currentDoc,
|
|
153917
154053
|
counts
|
|
153918
154054
|
});
|
|
153919
|
-
return cloneLiveDocumentCounts(counts);
|
|
154055
|
+
return cloneLiveDocumentCounts(counts, pages);
|
|
153920
154056
|
}
|
|
153921
154057
|
function computeLiveDocumentCounts(editor) {
|
|
153922
154058
|
const text5 = getTextAdapter(editor, {});
|
|
@@ -153937,8 +154073,11 @@ function computeLiveDocumentCounts(editor) {
|
|
|
153937
154073
|
lists: countLists(editor, blockIndex)
|
|
153938
154074
|
};
|
|
153939
154075
|
}
|
|
153940
|
-
function cloneLiveDocumentCounts(counts) {
|
|
153941
|
-
return
|
|
154076
|
+
function cloneLiveDocumentCounts(counts, pages) {
|
|
154077
|
+
return pages != null ? {
|
|
154078
|
+
...counts,
|
|
154079
|
+
pages
|
|
154080
|
+
} : { ...counts };
|
|
153942
154081
|
}
|
|
153943
154082
|
function countWordsFromText(text5) {
|
|
153944
154083
|
const matches2 = text5.trim().match(/\S+/g);
|
|
@@ -154039,6 +154178,9 @@ function resolveVisibleListLevel(item) {
|
|
|
154039
154178
|
return item.level;
|
|
154040
154179
|
return item.path && item.path.length > 0 ? item.path.length - 1 : undefined;
|
|
154041
154180
|
}
|
|
154181
|
+
function countPages(editor) {
|
|
154182
|
+
return editor.currentTotalPages;
|
|
154183
|
+
}
|
|
154042
154184
|
function clampHeadingLevel(value) {
|
|
154043
154185
|
if (typeof value !== "number" || !Number.isFinite(value))
|
|
154044
154186
|
return 1;
|
|
@@ -159916,7 +160058,7 @@ function collectTopLevelBlocks(editor) {
|
|
|
159916
160058
|
const nodeType = mapBlockNodeType(child);
|
|
159917
160059
|
const pos = offset$1;
|
|
159918
160060
|
if (nodeType) {
|
|
159919
|
-
const nodeId = resolveBlockNodeId(child, pos, nodeType);
|
|
160061
|
+
const nodeId = resolveBlockNodeId(child, pos, nodeType, [i4]);
|
|
159920
160062
|
if (nodeId)
|
|
159921
160063
|
results.push({
|
|
159922
160064
|
node: child,
|
|
@@ -162054,6 +162196,9 @@ function toTableFailure(code7, message, details) {
|
|
|
162054
162196
|
}
|
|
162055
162197
|
};
|
|
162056
162198
|
}
|
|
162199
|
+
function generateDocxHexId() {
|
|
162200
|
+
return Array.from({ length: DOCX_HEX_ID_LENGTH }, () => Math.floor(Math.random() * 16).toString(16)).join("").toUpperCase();
|
|
162201
|
+
}
|
|
162057
162202
|
function findSettingsRoot(part) {
|
|
162058
162203
|
if (part.name === "w:settings")
|
|
162059
162204
|
return part;
|
|
@@ -162127,16 +162272,13 @@ function setOddEvenHeadersFooters(settingsRoot, enabled) {
|
|
|
162127
162272
|
settingsRoot.elements = elements.filter((entry) => entry.name !== "w:evenAndOddHeaders");
|
|
162128
162273
|
return hadFlag !== hasOddEvenHeadersFooters(settingsRoot);
|
|
162129
162274
|
}
|
|
162130
|
-
function generateParaId() {
|
|
162131
|
-
return Array.from({ length: 8 }, () => Math.floor(Math.random() * 16).toString(16)).join("").toUpperCase();
|
|
162132
|
-
}
|
|
162133
162275
|
function createSeparatorParagraph(schema) {
|
|
162134
162276
|
const paragraphType = schema.nodes.paragraph;
|
|
162135
162277
|
if (!paragraphType)
|
|
162136
162278
|
return null;
|
|
162137
162279
|
const separatorAttrs = {
|
|
162138
162280
|
sdBlockId: v4_default(),
|
|
162139
|
-
paraId:
|
|
162281
|
+
paraId: generateDocxHexId()
|
|
162140
162282
|
};
|
|
162141
162283
|
return paragraphType.createAndFill(separatorAttrs) ?? paragraphType.createAndFill();
|
|
162142
162284
|
}
|
|
@@ -163289,22 +163431,15 @@ function tablesConvertFromTextAdapter(editor, input2, options) {
|
|
|
163289
163431
|
const text5 = cells[c] ?? "";
|
|
163290
163432
|
const content3 = text5 ? schema.text(text5) : undefined;
|
|
163291
163433
|
const para = schema.nodes.paragraph.createAndFill(null, content3);
|
|
163292
|
-
tableCells.push(schema.nodes.tableCell.createAndFill({
|
|
163293
|
-
sdBlockId: v4_default(),
|
|
163294
|
-
paraId: generateParaId()
|
|
163295
|
-
}, para));
|
|
163434
|
+
tableCells.push(schema.nodes.tableCell.createAndFill({ sdBlockId: v4_default() }, para));
|
|
163296
163435
|
}
|
|
163297
163436
|
tableRows.push(schema.nodes.tableRow.createAndFill({
|
|
163298
163437
|
sdBlockId: v4_default(),
|
|
163299
|
-
paraId:
|
|
163438
|
+
paraId: generateDocxHexId()
|
|
163300
163439
|
}, tableCells));
|
|
163301
163440
|
}
|
|
163302
163441
|
const tableId = v4_default();
|
|
163303
|
-
const
|
|
163304
|
-
const tableNode = schema.nodes.table.create({
|
|
163305
|
-
sdBlockId: tableId,
|
|
163306
|
-
paraId: tableParaId
|
|
163307
|
-
}, tableRows);
|
|
163442
|
+
const tableNode = schema.nodes.table.create({ sdBlockId: tableId }, tableRows);
|
|
163308
163443
|
const startPos = paragraphs[0].pos;
|
|
163309
163444
|
const lastP = paragraphs[paragraphs.length - 1];
|
|
163310
163445
|
const endPos = lastP.pos + lastP.node.nodeSize;
|
|
@@ -163432,10 +163567,7 @@ function tablesInsertCellAdapter(editor, input2, options) {
|
|
|
163432
163567
|
return toTableFailure("INVALID_TARGET", "Cell insertion with shiftRight is not supported for merged cells in this version.");
|
|
163433
163568
|
const makeEmptyCell = (preferHeader = false) => {
|
|
163434
163569
|
const candidateType = preferHeader ? schema.nodes.tableHeader ?? schema.nodes.tableCell : schema.nodes.tableCell;
|
|
163435
|
-
return candidateType.createAndFill({
|
|
163436
|
-
sdBlockId: v4_default(),
|
|
163437
|
-
paraId: generateParaId()
|
|
163438
|
-
}) ?? candidateType.createAndFill();
|
|
163570
|
+
return candidateType.createAndFill({ sdBlockId: v4_default() }) ?? candidateType.createAndFill();
|
|
163439
163571
|
};
|
|
163440
163572
|
const overflowRowCells = [];
|
|
163441
163573
|
for (let col = 0;col < map$12.width; col++) {
|
|
@@ -163446,7 +163578,7 @@ function tablesInsertCellAdapter(editor, input2, options) {
|
|
|
163446
163578
|
const overflowRowAttrs = {
|
|
163447
163579
|
...tableNode.child(Math.max(0, map$12.height - 1)).attrs ?? {},
|
|
163448
163580
|
sdBlockId: v4_default(),
|
|
163449
|
-
paraId:
|
|
163581
|
+
paraId: generateDocxHexId()
|
|
163450
163582
|
};
|
|
163451
163583
|
const overflowRow = schema.nodes.tableRow.createAndFill(overflowRowAttrs, overflowRowCells) ?? schema.nodes.tableRow.create(overflowRowAttrs, overflowRowCells);
|
|
163452
163584
|
if (!overflowRow)
|
|
@@ -164415,13 +164547,11 @@ function createTableAdapter(editor, input2, options) {
|
|
|
164415
164547
|
};
|
|
164416
164548
|
}
|
|
164417
164549
|
const tableId = v4_default();
|
|
164418
|
-
const paraId = generateParaId();
|
|
164419
164550
|
if (!insertTableAt$1({
|
|
164420
164551
|
pos: insertAt,
|
|
164421
164552
|
rows: input2.rows,
|
|
164422
164553
|
columns: input2.columns,
|
|
164423
164554
|
sdBlockId: tableId,
|
|
164424
|
-
paraId,
|
|
164425
164555
|
tracked: mode === "tracked"
|
|
164426
164556
|
}))
|
|
164427
164557
|
return {
|
|
@@ -205608,7 +205738,7 @@ var Node$13 = class Node$14 {
|
|
|
205608
205738
|
console.warn("Failed to initialize developer tools:", error);
|
|
205609
205739
|
}
|
|
205610
205740
|
}
|
|
205611
|
-
}, BLANK_DOCX_DATA_URI = `data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,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`, DocumentApiAdapterError, ALIAS_ELIGIBLE_TYPES, TAB_LEADER_TO_SEPARATOR, SEPARATOR_TO_TAB_LEADER, DEFAULT_TOC_CONFIG, SWITCH_PATTERN$1, SectionType, DEFAULT_PARAGRAPH_SECTION_TYPE, DEFAULT_BODY_SECTION_TYPE, TWIPS_PER_INCH$2 = 1440, PX_PER_INCH$2 = 96, DEFAULT_COLUMN_GAP_INCHES = 0.5, OOXML_PCT_DIVISOR = 5000, SPACE_CHARS, isAtomicRunKind = (kind) => kind === "image" || kind === "lineBreak" || kind === "break" || kind === "tab" || kind === "fieldAnnotation", isImageLikeRun = (run2) => {
|
|
205741
|
+
}, BLANK_DOCX_DATA_URI = `data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,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`, TABLE_LIKE_PREFIX, UUID_LIKE_PATTERN, DocumentApiAdapterError, ALIAS_ELIGIBLE_TYPES, TAB_LEADER_TO_SEPARATOR, SEPARATOR_TO_TAB_LEADER, DEFAULT_TOC_CONFIG, SWITCH_PATTERN$1, SectionType, DEFAULT_PARAGRAPH_SECTION_TYPE, DEFAULT_BODY_SECTION_TYPE, TWIPS_PER_INCH$2 = 1440, PX_PER_INCH$2 = 96, DEFAULT_COLUMN_GAP_INCHES = 0.5, OOXML_PCT_DIVISOR = 5000, SPACE_CHARS, isAtomicRunKind = (kind) => kind === "image" || kind === "lineBreak" || kind === "break" || kind === "tab" || kind === "fieldAnnotation", isImageLikeRun = (run2) => {
|
|
205612
205742
|
if (!run2 || typeof run2 !== "object")
|
|
205613
205743
|
return false;
|
|
205614
205744
|
return typeof run2.src === "string";
|
|
@@ -205627,7 +205757,7 @@ var Node$13 = class Node$14 {
|
|
|
205627
205757
|
return;
|
|
205628
205758
|
const candidate = run2.pmEnd;
|
|
205629
205759
|
return typeof candidate === "number" ? candidate : undefined;
|
|
205630
|
-
}, engines_exports, DEFAULT_HEADER_FOOTER_MARGIN_PX = 0, LINK_MARK_NAME = "link", COMMENT_MARK_NAME, SUPPORTED_INLINE_TYPES, cacheByEditor, OBJECT_REPLACEMENT_CHAR = "", LINE_NUMBER_RESTART_VALUES, PAGE_NUMBER_FORMAT_VALUES, SECTION_ORIENTATION_VALUES, SECTION_VERTICAL_ALIGN_VALUES, readSectPrHeaderFooterRefs, PIXELS_PER_INCH$2 = 96, BULLET_FORMATS$1, LOCK_MODE_TO_SDT_LOCK, SDT_NODE_NAMES, SDT_BLOCK_NAME = "structuredContentBlock", VALID_CONTROL_TYPES, VALID_LOCK_MODES, VALID_APPEARANCES, SNIPPET_PADDING = 30, DUAL_KIND_TYPES, KNOWN_BLOCK_PM_NODE_TYPES, KNOWN_INLINE_PM_NODE_TYPES, MAX_PATTERN_LENGTH = 1024, TOGGLE_MARK_SPECS, CORE_MARK_NAMES, METADATA_MARK_NAMES, CSS_NAMED_COLORS, HEADING_STYLE_DEPTH, BULLET_FORMATS, MARK_PRIORITY, remarkProcessor, DEFAULT_UNFLATTEN_LISTS = true, DERIVED_ID_LENGTH = 24, groupedCache, FIELD_LIKE_SDT_TYPES, liveDocumentCountsCache, REQUIRED_COMMANDS, VALID_CAPABILITY_REASON_CODES, REQUIRED_HELPERS, SCHEMA_NODE_GATES, schemaGatedIds, SUPPORTED_NON_UNIFORM_STRATEGIES, SUPPORTED_SET_MARKS, REGEX_MAX_PATTERN_LENGTH = 1024, registry, VALID_CREATE_POSITIONS, REF_HANDLERS, STEP_INTERACTION_MATRIX, MATRIX_EXEMPT_OPS, DEFAULT_INLINE_POLICY, CORE_SET_MARK_KEYS, BOOLEAN_INLINE_MARK_KEYS, TEXT_STYLE_KEYS, PRESERVE_RUN_PROPERTIES_META_KEY = "sdPreserveRunPropertiesKeys", CONTENT_CAPABILITIES, INLINE_CAPABILITIES, SDT_LOCK_TO_LOCK_MODE, STUB_WHERE, EMPTY_RESOLUTION, CONTAINER_NODE_TYPES, VALID_EDGE_NODE_TYPES3, FALLBACK_STORE_KEY = "__documentApiComments", STYLES_PART = "word/styles.xml", PROPERTIES_KEY_BY_CHANNEL, XML_PATH_BY_CHANNEL2, UNDERLINE_API_TO_STORAGE, UNDERLINE_STORAGE_TO_API, HEX_SUBKEYS_BY_PROPERTY, PARAGRAPH_NODE_TYPES, ALIGNMENT_TO_JUSTIFICATION, SUPPORTED_DELETE_NODE_TYPES3, REJECTED_DELETE_NODE_TYPES3, TEXT_PREVIEW_MAX_LENGTH = 80, RANGE_DELETE_SAFE_NODE_TYPES, INDENT_PER_LEVEL_TWIPS = 720, HANGING_INDENT_TWIPS = 360, ORDERED_PRESET_CONFIG, BULLET_PRESET_CONFIG, PRESET_TEMPLATES, LevelFormattingHelpers, NUMBERING_PART = "word/numbering.xml", DEFAULT_PRESET_FOR_KIND, PREVIEW_TEXT_MAX_LENGTH = 2000, BLOCK_PREVIEW_MAX_LENGTH = 200, EDGE_NODE_TYPES, SETTINGS_PART_PATH = "word/settings.xml", POINTS_TO_PIXELS, POINTS_TO_TWIPS = 20, PIXELS_TO_TWIPS, DEFAULT_TABLE_GRID_WIDTH_TWIPS = 1500, SETTINGS_PART = "word/settings.xml", TABLE_ADAPTER_DISPATCH, ROW_OPS, TABLE_SCOPED_OPS, registered = false, STYLES_PART_ID = "word/styles.xml", stylesPartDescriptor, settingsPartDescriptor, RELS_PART_ID2 = "word/_rels/document.xml.rels", RELS_XMLNS$1 = "http://schemas.openxmlformats.org/package/2006/relationships", HEADER_RELATIONSHIP_TYPE$2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE$2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", relsPartDescriptor, DOCUMENT_RELS_PATH$1 = "word/_rels/document.xml.rels", RELS_XMLNS2 = "http://schemas.openxmlformats.org/package/2006/relationships", HEADER_RELATIONSHIP_TYPE$1 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE$1 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", WORDPROCESSINGML_XMLNS = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", OFFICE_DOCUMENT_RELS_XMLNS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships", RELATIONSHIP_ID_PATTERN, HEADER_FILE_PATTERN$1, FOOTER_FILE_PATTERN$1, HISTORY_UNSAFE_OPS, IGNORED_ATTRIBUTE_KEYS, TRACK_CHANGE_MARK_NAMES, TRACK_CHANGE_IGNORED_ATTRIBUTE_KEYS, VOLATILE_PARAGRAPH_ATTRS, VOLATILE_IMAGE_ORIGINAL_ATTR_KEYS, SIMILARITY_THRESHOLD = 0.65, MIN_LENGTH_FOR_SIMILARITY = 4, COMMENT_ATTRS_DIFF_IGNORED_KEYS, setNestedValue = (target, path2, value) => {
|
|
205760
|
+
}, engines_exports, DEFAULT_HEADER_FOOTER_MARGIN_PX = 0, LINK_MARK_NAME = "link", COMMENT_MARK_NAME, SUPPORTED_INLINE_TYPES, cacheByEditor, OBJECT_REPLACEMENT_CHAR = "", LINE_NUMBER_RESTART_VALUES, PAGE_NUMBER_FORMAT_VALUES, SECTION_ORIENTATION_VALUES, SECTION_VERTICAL_ALIGN_VALUES, readSectPrHeaderFooterRefs, PIXELS_PER_INCH$2 = 96, BULLET_FORMATS$1, LOCK_MODE_TO_SDT_LOCK, SDT_NODE_NAMES, SDT_BLOCK_NAME = "structuredContentBlock", VALID_CONTROL_TYPES, VALID_LOCK_MODES, VALID_APPEARANCES, SNIPPET_PADDING = 30, DUAL_KIND_TYPES, KNOWN_BLOCK_PM_NODE_TYPES, KNOWN_INLINE_PM_NODE_TYPES, MAX_PATTERN_LENGTH = 1024, TOGGLE_MARK_SPECS, CORE_MARK_NAMES, METADATA_MARK_NAMES, CSS_NAMED_COLORS, HEADING_STYLE_DEPTH, BULLET_FORMATS, MARK_PRIORITY, remarkProcessor, DEFAULT_UNFLATTEN_LISTS = true, DERIVED_ID_LENGTH = 24, groupedCache, FIELD_LIKE_SDT_TYPES, liveDocumentCountsCache, REQUIRED_COMMANDS, VALID_CAPABILITY_REASON_CODES, REQUIRED_HELPERS, SCHEMA_NODE_GATES, schemaGatedIds, SUPPORTED_NON_UNIFORM_STRATEGIES, SUPPORTED_SET_MARKS, REGEX_MAX_PATTERN_LENGTH = 1024, registry, VALID_CREATE_POSITIONS, REF_HANDLERS, STEP_INTERACTION_MATRIX, MATRIX_EXEMPT_OPS, DEFAULT_INLINE_POLICY, CORE_SET_MARK_KEYS, BOOLEAN_INLINE_MARK_KEYS, TEXT_STYLE_KEYS, PRESERVE_RUN_PROPERTIES_META_KEY = "sdPreserveRunPropertiesKeys", CONTENT_CAPABILITIES, INLINE_CAPABILITIES, SDT_LOCK_TO_LOCK_MODE, STUB_WHERE, EMPTY_RESOLUTION, CONTAINER_NODE_TYPES, VALID_EDGE_NODE_TYPES3, FALLBACK_STORE_KEY = "__documentApiComments", STYLES_PART = "word/styles.xml", PROPERTIES_KEY_BY_CHANNEL, XML_PATH_BY_CHANNEL2, UNDERLINE_API_TO_STORAGE, UNDERLINE_STORAGE_TO_API, HEX_SUBKEYS_BY_PROPERTY, PARAGRAPH_NODE_TYPES, ALIGNMENT_TO_JUSTIFICATION, SUPPORTED_DELETE_NODE_TYPES3, REJECTED_DELETE_NODE_TYPES3, TEXT_PREVIEW_MAX_LENGTH = 80, RANGE_DELETE_SAFE_NODE_TYPES, INDENT_PER_LEVEL_TWIPS = 720, HANGING_INDENT_TWIPS = 360, ORDERED_PRESET_CONFIG, BULLET_PRESET_CONFIG, PRESET_TEMPLATES, LevelFormattingHelpers, NUMBERING_PART = "word/numbering.xml", DEFAULT_PRESET_FOR_KIND, PREVIEW_TEXT_MAX_LENGTH = 2000, BLOCK_PREVIEW_MAX_LENGTH = 200, EDGE_NODE_TYPES, DOCX_HEX_ID_LENGTH = 8, SETTINGS_PART_PATH = "word/settings.xml", POINTS_TO_PIXELS, POINTS_TO_TWIPS = 20, PIXELS_TO_TWIPS, DEFAULT_TABLE_GRID_WIDTH_TWIPS = 1500, SETTINGS_PART = "word/settings.xml", TABLE_ADAPTER_DISPATCH, ROW_OPS, TABLE_SCOPED_OPS, registered = false, STYLES_PART_ID = "word/styles.xml", stylesPartDescriptor, settingsPartDescriptor, RELS_PART_ID2 = "word/_rels/document.xml.rels", RELS_XMLNS$1 = "http://schemas.openxmlformats.org/package/2006/relationships", HEADER_RELATIONSHIP_TYPE$2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE$2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", relsPartDescriptor, DOCUMENT_RELS_PATH$1 = "word/_rels/document.xml.rels", RELS_XMLNS2 = "http://schemas.openxmlformats.org/package/2006/relationships", HEADER_RELATIONSHIP_TYPE$1 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE$1 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", WORDPROCESSINGML_XMLNS = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", OFFICE_DOCUMENT_RELS_XMLNS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships", RELATIONSHIP_ID_PATTERN, HEADER_FILE_PATTERN$1, FOOTER_FILE_PATTERN$1, HISTORY_UNSAFE_OPS, IGNORED_ATTRIBUTE_KEYS, TRACK_CHANGE_MARK_NAMES, TRACK_CHANGE_IGNORED_ATTRIBUTE_KEYS, VOLATILE_PARAGRAPH_ATTRS, VOLATILE_IMAGE_ORIGINAL_ATTR_KEYS, SIMILARITY_THRESHOLD = 0.65, MIN_LENGTH_FOR_SIMILARITY = 4, COMMENT_ATTRS_DIFF_IGNORED_KEYS, setNestedValue = (target, path2, value) => {
|
|
205631
205761
|
if (!path2.includes(".")) {
|
|
205632
205762
|
target[path2] = value;
|
|
205633
205763
|
return;
|
|
@@ -220803,7 +220933,10 @@ var Node$13 = class Node$14 {
|
|
|
220803
220933
|
for (let index2 = 0;index2 < rowsCount; index2++) {
|
|
220804
220934
|
const isHeader = withHeaderRow && index2 === 0;
|
|
220805
220935
|
const cellsToInsert = isHeader ? headerCells : cells;
|
|
220806
|
-
const rowAttrs =
|
|
220936
|
+
const rowAttrs = {
|
|
220937
|
+
...isHeader ? { tableRowProperties: { repeatHeader: true } } : {},
|
|
220938
|
+
paraId: generateDocxHexId()
|
|
220939
|
+
};
|
|
220807
220940
|
rows.push(types3.tableRow.createChecked(rowAttrs, cellsToInsert));
|
|
220808
220941
|
}
|
|
220809
220942
|
return types3.table.createChecked(tableAttrsOverride, rows);
|
|
@@ -224649,9 +224782,9 @@ var Node$13 = class Node$14 {
|
|
|
224649
224782
|
return false;
|
|
224650
224783
|
return Boolean(checker(attrs));
|
|
224651
224784
|
}, SuperToolbar, ICONS, TEXTS, tableActionsOptions;
|
|
224652
|
-
var
|
|
224785
|
+
var init_src_Bdp40qhn_es = __esm(() => {
|
|
224653
224786
|
init_rolldown_runtime_B2q5OVn9_es();
|
|
224654
|
-
|
|
224787
|
+
init_SuperConverter_hvBoS9gB_es();
|
|
224655
224788
|
init_jszip_ChlR43oI_es();
|
|
224656
224789
|
init_uuid_qzgm05fK_es();
|
|
224657
224790
|
init_constants_ep1_Gwqi_es();
|
|
@@ -231577,6 +231710,11 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
231577
231710
|
"spanning",
|
|
231578
231711
|
"code"
|
|
231579
231712
|
];
|
|
231713
|
+
TABLE_LIKE_PREFIX = {
|
|
231714
|
+
table: "table-auto",
|
|
231715
|
+
tableCell: "cell-auto"
|
|
231716
|
+
};
|
|
231717
|
+
UUID_LIKE_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
231580
231718
|
DocumentApiAdapterError = class DocumentApiAdapterError2 extends Error {
|
|
231581
231719
|
constructor(code7, message, details) {
|
|
231582
231720
|
super(message);
|
|
@@ -248373,7 +248511,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
248373
248511
|
}
|
|
248374
248512
|
return true;
|
|
248375
248513
|
},
|
|
248376
|
-
insertTableAt: ({ pos, rows, columns, sdBlockId,
|
|
248514
|
+
insertTableAt: ({ pos, rows, columns, sdBlockId, tracked } = {}) => ({ tr, state, dispatch, editor }) => {
|
|
248377
248515
|
const tableType = state.schema.nodes.table;
|
|
248378
248516
|
const tableRowType = state.schema.nodes.tableRow;
|
|
248379
248517
|
const tableCellType = state.schema.nodes.tableCell;
|
|
@@ -248386,22 +248524,18 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
248386
248524
|
if (!Number.isInteger(columns) || columns < 1)
|
|
248387
248525
|
return false;
|
|
248388
248526
|
try {
|
|
248389
|
-
const genParaId = () => Array.from({ length: 8 }, () => Math.floor(Math.random() * 16).toString(16)).join("").toUpperCase();
|
|
248390
248527
|
const widths = computeColumnWidths(editor, columns);
|
|
248391
248528
|
const rowNodes = [];
|
|
248392
248529
|
for (let r$1 = 0;r$1 < rows; r$1++) {
|
|
248393
248530
|
const cellNodes = [];
|
|
248394
248531
|
for (let c = 0;c < columns; c++) {
|
|
248395
|
-
const cellAttrs = {
|
|
248396
|
-
paraId: genParaId(),
|
|
248397
|
-
...widths ? { colwidth: [widths[c]] } : {}
|
|
248398
|
-
};
|
|
248532
|
+
const cellAttrs = widths ? { colwidth: [widths[c]] } : {};
|
|
248399
248533
|
const cell2 = tableCellType.createAndFill(cellAttrs);
|
|
248400
248534
|
if (!cell2)
|
|
248401
248535
|
return false;
|
|
248402
248536
|
cellNodes.push(cell2);
|
|
248403
248537
|
}
|
|
248404
|
-
const row2 = tableRowType.createChecked(
|
|
248538
|
+
const row2 = tableRowType.createChecked({ paraId: generateDocxHexId() }, cellNodes);
|
|
248405
248539
|
rowNodes.push(row2);
|
|
248406
248540
|
}
|
|
248407
248541
|
const resolved = normalizeNewTableAttrs(editor);
|
|
@@ -248409,8 +248543,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
248409
248543
|
...resolved.tableStyleId ? { tableStyleId: resolved.tableStyleId } : {},
|
|
248410
248544
|
...resolved.borders ? { borders: resolved.borders } : {},
|
|
248411
248545
|
...resolved.tableProperties ? { tableProperties: resolved.tableProperties } : {},
|
|
248412
|
-
...sdBlockId ? { sdBlockId } : {}
|
|
248413
|
-
...paraId ? { paraId } : {}
|
|
248546
|
+
...sdBlockId ? { sdBlockId } : {}
|
|
248414
248547
|
};
|
|
248415
248548
|
const tableNode = tableType.createChecked(tableAttrs, rowNodes);
|
|
248416
248549
|
if (dispatch) {
|
|
@@ -248418,7 +248551,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
248418
248551
|
const makeSep = () => {
|
|
248419
248552
|
const attrs = {
|
|
248420
248553
|
sdBlockId: v4_default(),
|
|
248421
|
-
paraId:
|
|
248554
|
+
paraId: generateDocxHexId()
|
|
248422
248555
|
};
|
|
248423
248556
|
return state.schema.nodes.paragraph.createAndFill(attrs);
|
|
248424
248557
|
};
|
|
@@ -257737,8 +257870,8 @@ var init_zipper_DqXT7uTa_es = __esm(() => {
|
|
|
257737
257870
|
|
|
257738
257871
|
// ../../packages/superdoc/dist/super-editor.es.js
|
|
257739
257872
|
var init_super_editor_es = __esm(() => {
|
|
257740
|
-
|
|
257741
|
-
|
|
257873
|
+
init_src_Bdp40qhn_es();
|
|
257874
|
+
init_SuperConverter_hvBoS9gB_es();
|
|
257742
257875
|
init_jszip_ChlR43oI_es();
|
|
257743
257876
|
init_xml_js_BtmJ6bNs_es();
|
|
257744
257877
|
init_constants_ep1_Gwqi_es();
|
|
@@ -257801,6 +257934,48 @@ function resolvePublicTocNodeId2(node3, pos) {
|
|
|
257801
257934
|
return buildFallbackTocNodeId2(node3, pos);
|
|
257802
257935
|
}
|
|
257803
257936
|
|
|
257937
|
+
// ../../packages/super-editor/src/document-api-adapters/helpers/table-node-id.ts
|
|
257938
|
+
function stableHash3(input2) {
|
|
257939
|
+
let hash2 = 2166136261;
|
|
257940
|
+
for (let index2 = 0;index2 < input2.length; index2 += 1) {
|
|
257941
|
+
hash2 ^= input2.charCodeAt(index2);
|
|
257942
|
+
hash2 = Math.imul(hash2, 16777619);
|
|
257943
|
+
}
|
|
257944
|
+
return (hash2 >>> 0).toString(16).padStart(8, "0");
|
|
257945
|
+
}
|
|
257946
|
+
function toTableLikeBlockNodeType2(nodeType) {
|
|
257947
|
+
if (nodeType === "table")
|
|
257948
|
+
return "table";
|
|
257949
|
+
if (nodeType === "tableCell")
|
|
257950
|
+
return "tableCell";
|
|
257951
|
+
return;
|
|
257952
|
+
}
|
|
257953
|
+
function serializeTraversalPath2(path2, pos) {
|
|
257954
|
+
if (Array.isArray(path2) && path2.length > 0) {
|
|
257955
|
+
return `path:${path2.join(".")}`;
|
|
257956
|
+
}
|
|
257957
|
+
return `pos:${pos}`;
|
|
257958
|
+
}
|
|
257959
|
+
function isVolatileRuntimeBlockId2(id2) {
|
|
257960
|
+
return typeof id2 === "string" && UUID_LIKE_PATTERN2.test(id2);
|
|
257961
|
+
}
|
|
257962
|
+
function buildFallbackTableNodeId2(nodeType, pos, path2) {
|
|
257963
|
+
const tableLikeType = toTableLikeBlockNodeType2(nodeType);
|
|
257964
|
+
if (!tableLikeType)
|
|
257965
|
+
return;
|
|
257966
|
+
const prefix2 = TABLE_LIKE_PREFIX2[tableLikeType];
|
|
257967
|
+
const source = serializeTraversalPath2(path2, pos);
|
|
257968
|
+
return `${prefix2}-${stableHash3(`${tableLikeType}:${source}`)}`;
|
|
257969
|
+
}
|
|
257970
|
+
var TABLE_LIKE_PREFIX2, UUID_LIKE_PATTERN2;
|
|
257971
|
+
var init_table_node_id = __esm(() => {
|
|
257972
|
+
TABLE_LIKE_PREFIX2 = {
|
|
257973
|
+
table: "table-auto",
|
|
257974
|
+
tableCell: "cell-auto"
|
|
257975
|
+
};
|
|
257976
|
+
UUID_LIKE_PATTERN2 = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
257977
|
+
});
|
|
257978
|
+
|
|
257804
257979
|
// ../../packages/super-editor/src/document-api-adapters/errors.ts
|
|
257805
257980
|
var DocumentApiAdapterError3;
|
|
257806
257981
|
var init_errors3 = __esm(() => {
|
|
@@ -257868,7 +258043,17 @@ function mapBlockNodeType2(node3) {
|
|
|
257868
258043
|
return;
|
|
257869
258044
|
}
|
|
257870
258045
|
}
|
|
257871
|
-
function
|
|
258046
|
+
function resolveLegacyTableIdentity2(attrs) {
|
|
258047
|
+
return toId2(attrs.paraId) ?? toId2(attrs.blockId) ?? toId2(attrs.id) ?? toId2(attrs.uuid);
|
|
258048
|
+
}
|
|
258049
|
+
function resolveRuntimeTableIdentity2(nodeType, attrs, pos, path2) {
|
|
258050
|
+
const sdBlockId = toId2(attrs.sdBlockId);
|
|
258051
|
+
if (sdBlockId && !isVolatileRuntimeBlockId2(sdBlockId)) {
|
|
258052
|
+
return sdBlockId;
|
|
258053
|
+
}
|
|
258054
|
+
return buildFallbackTableNodeId2(nodeType, pos, path2);
|
|
258055
|
+
}
|
|
258056
|
+
function resolveBlockNodeId2(node3, pos, nodeType, path2) {
|
|
257872
258057
|
if (node3.type.name === "paragraph") {
|
|
257873
258058
|
const attrs2 = node3.attrs;
|
|
257874
258059
|
return toId2(attrs2?.paraId) ?? toId2(attrs2?.sdBlockId);
|
|
@@ -257878,9 +258063,12 @@ function resolveBlockNodeId2(node3, pos, nodeType) {
|
|
|
257878
258063
|
}
|
|
257879
258064
|
const attrs = node3.attrs ?? {};
|
|
257880
258065
|
const typeName = node3.type.name;
|
|
257881
|
-
if (typeName === "
|
|
258066
|
+
if (typeName === "tableRow") {
|
|
257882
258067
|
return toId2(attrs.paraId) ?? toId2(attrs.sdBlockId) ?? toId2(attrs.blockId) ?? toId2(attrs.id) ?? toId2(attrs.uuid);
|
|
257883
258068
|
}
|
|
258069
|
+
if (typeName === "table" || typeName === "tableCell" || typeName === "tableHeader") {
|
|
258070
|
+
return resolveLegacyTableIdentity2(attrs) ?? resolveRuntimeTableIdentity2(nodeType, attrs, pos, path2);
|
|
258071
|
+
}
|
|
257884
258072
|
return toId2(attrs.blockId) ?? toId2(attrs.id) ?? toId2(attrs.paraId) ?? toId2(attrs.uuid) ?? toId2(attrs.sdBlockId);
|
|
257885
258073
|
}
|
|
257886
258074
|
function toBlockAddress2(candidate) {
|
|
@@ -257903,6 +258091,8 @@ function buildBlockIndex2(editor) {
|
|
|
257903
258091
|
const candidates = [];
|
|
257904
258092
|
const byId = new Map;
|
|
257905
258093
|
const ambiguous = new Set;
|
|
258094
|
+
const pathByNode = new WeakMap;
|
|
258095
|
+
pathByNode.set(editor.state.doc, []);
|
|
257906
258096
|
function registerKey(key2, candidate) {
|
|
257907
258097
|
if (byId.has(key2)) {
|
|
257908
258098
|
ambiguous.add(key2);
|
|
@@ -257911,11 +258101,16 @@ function buildBlockIndex2(editor) {
|
|
|
257911
258101
|
byId.set(key2, candidate);
|
|
257912
258102
|
}
|
|
257913
258103
|
}
|
|
257914
|
-
editor.state.doc.descendants((node3, pos) => {
|
|
258104
|
+
editor.state.doc.descendants((node3, pos, parent, index2) => {
|
|
258105
|
+
const parentPath = parent ? pathByNode.get(parent) ?? [] : [];
|
|
258106
|
+
const path2 = typeof index2 === "number" && Number.isInteger(index2) && index2 >= 0 ? [...parentPath, index2] : undefined;
|
|
258107
|
+
if (path2) {
|
|
258108
|
+
pathByNode.set(node3, path2);
|
|
258109
|
+
}
|
|
257915
258110
|
const nodeType = mapBlockNodeType2(node3);
|
|
257916
258111
|
if (!nodeType)
|
|
257917
258112
|
return;
|
|
257918
|
-
const nodeId = resolveBlockNodeId2(node3, pos, nodeType);
|
|
258113
|
+
const nodeId = resolveBlockNodeId2(node3, pos, nodeType, path2);
|
|
257919
258114
|
if (!nodeId)
|
|
257920
258115
|
return;
|
|
257921
258116
|
const candidate = {
|
|
@@ -258010,6 +258205,7 @@ function findBlockByPos2(index2, pos) {
|
|
|
258010
258205
|
}
|
|
258011
258206
|
var SUPPORTED_BLOCK_NODE_TYPES, ALIAS_ELIGIBLE_TYPES2;
|
|
258012
258207
|
var init_node_address_resolver = __esm(() => {
|
|
258208
|
+
init_table_node_id();
|
|
258013
258209
|
init_errors3();
|
|
258014
258210
|
SUPPORTED_BLOCK_NODE_TYPES = new Set([
|
|
258015
258211
|
"paragraph",
|
|
@@ -280818,6 +281014,15 @@ function createStrictTogglePropertyHandler2(xmlName, sdName = null) {
|
|
|
280818
281014
|
}
|
|
280819
281015
|
};
|
|
280820
281016
|
}
|
|
281017
|
+
function stripUnsupportedTableIdentityAttributes2(attrs) {
|
|
281018
|
+
if (!attrs || typeof attrs !== "object")
|
|
281019
|
+
return {};
|
|
281020
|
+
const filteredAttrs = { ...attrs };
|
|
281021
|
+
for (const attrName of UNSUPPORTED_TABLE_IDENTITY_ATTRS2) {
|
|
281022
|
+
delete filteredAttrs[attrName];
|
|
281023
|
+
}
|
|
281024
|
+
return filteredAttrs;
|
|
281025
|
+
}
|
|
280821
281026
|
function createMeasurementPropertyHandler2(xmlName, sdName = null) {
|
|
280822
281027
|
if (!sdName)
|
|
280823
281028
|
sdName = xmlName.split(":")[1];
|
|
@@ -281064,7 +281269,7 @@ var generateV2HandlerEntity2 = (handlerName, translator2) => ({
|
|
|
281064
281269
|
consumed: 1
|
|
281065
281270
|
};
|
|
281066
281271
|
}
|
|
281067
|
-
}), createSingleIntegerPropertyHandler2 = (xmlName, sdName = null) => createSingleAttrPropertyHandler2(xmlName, sdName, "w:val", parseInteger2, integerToString2), parseMeasurementValue2 = (value, type) => {
|
|
281272
|
+
}), createSingleIntegerPropertyHandler2 = (xmlName, sdName = null) => createSingleAttrPropertyHandler2(xmlName, sdName, "w:val", parseInteger2, integerToString2), UNSUPPORTED_TABLE_IDENTITY_ATTRS2, parseMeasurementValue2 = (value, type) => {
|
|
281068
281273
|
if (value == null)
|
|
281069
281274
|
return;
|
|
281070
281275
|
const strValue = String(value);
|
|
@@ -281102,6 +281307,7 @@ var init_utils = __esm(() => {
|
|
|
281102
281307
|
init_node_translator2();
|
|
281103
281308
|
init_src();
|
|
281104
281309
|
init_import_diagnostics();
|
|
281310
|
+
UNSUPPORTED_TABLE_IDENTITY_ATTRS2 = ["w14:paraId", "w14:textId"];
|
|
281105
281311
|
});
|
|
281106
281312
|
|
|
281107
281313
|
// ../../packages/super-editor/src/core/super-converter/v3/handlers/w/nsid/nsid-translator.js
|
|
@@ -291653,8 +291859,9 @@ function encode32(params3, encodedAttrs) {
|
|
|
291653
291859
|
}
|
|
291654
291860
|
function decode33(params3, decodedAttrs) {
|
|
291655
291861
|
const translated = translateTableCell2(params3);
|
|
291656
|
-
|
|
291657
|
-
|
|
291862
|
+
const filteredDecodedAttrs = stripUnsupportedTableIdentityAttributes2(decodedAttrs);
|
|
291863
|
+
if (Object.keys(filteredDecodedAttrs).length) {
|
|
291864
|
+
translated.attributes = { ...translated.attributes || {}, ...filteredDecodedAttrs };
|
|
291658
291865
|
}
|
|
291659
291866
|
return translated;
|
|
291660
291867
|
}
|
|
@@ -313394,7 +313601,7 @@ var validXmlAttributes10, XML_NODE_NAME17 = "w:tbl", SD_NODE_NAME13 = "table", I
|
|
|
313394
313601
|
}
|
|
313395
313602
|
return {
|
|
313396
313603
|
name: "w:tbl",
|
|
313397
|
-
attributes: decodedAttrs
|
|
313604
|
+
attributes: stripUnsupportedTableIdentityAttributes2(decodedAttrs),
|
|
313398
313605
|
elements
|
|
313399
313606
|
};
|
|
313400
313607
|
}, config17, translator172;
|
|
@@ -318133,56 +318340,113 @@ function toIdentityValue2(value) {
|
|
|
318133
318340
|
return String(value);
|
|
318134
318341
|
return;
|
|
318135
318342
|
}
|
|
318136
|
-
function
|
|
318343
|
+
function getBlockIdentityAttrs2(node4) {
|
|
318137
318344
|
if (!node4 || typeof node4 !== "object")
|
|
318138
|
-
return;
|
|
318139
|
-
|
|
318140
|
-
|
|
318141
|
-
|
|
318345
|
+
return [];
|
|
318346
|
+
return BLOCK_IDENTITY_ATTRS2[node4.type] ?? [];
|
|
318347
|
+
}
|
|
318348
|
+
function getExplicitIdentityEntries2(node4) {
|
|
318349
|
+
const attrPriority = getBlockIdentityAttrs2(node4);
|
|
318350
|
+
if (attrPriority.length === 0)
|
|
318351
|
+
return [];
|
|
318142
318352
|
const attrs = typeof node4.attrs === "object" && node4.attrs ? node4.attrs : {};
|
|
318353
|
+
const identityEntries = [];
|
|
318143
318354
|
for (const attr of attrPriority) {
|
|
318144
318355
|
const value = toIdentityValue2(attrs[attr]);
|
|
318145
|
-
if (value)
|
|
318146
|
-
|
|
318356
|
+
if (value) {
|
|
318357
|
+
identityEntries.push({ attr, value });
|
|
318358
|
+
}
|
|
318147
318359
|
}
|
|
318148
|
-
return;
|
|
318360
|
+
return identityEntries;
|
|
318149
318361
|
}
|
|
318150
|
-
function
|
|
318151
|
-
|
|
318152
|
-
|
|
318153
|
-
|
|
318362
|
+
function groupIdentityEntriesByValue2(identityEntries) {
|
|
318363
|
+
const groupsByValue = new Map;
|
|
318364
|
+
for (const entry of identityEntries) {
|
|
318365
|
+
const existingGroup = groupsByValue.get(entry.value);
|
|
318366
|
+
if (existingGroup) {
|
|
318367
|
+
existingGroup.attrs.push(entry.attr);
|
|
318368
|
+
continue;
|
|
318369
|
+
}
|
|
318370
|
+
groupsByValue.set(entry.value, {
|
|
318371
|
+
value: entry.value,
|
|
318372
|
+
attrs: [entry.attr]
|
|
318373
|
+
});
|
|
318154
318374
|
}
|
|
318155
|
-
return
|
|
318375
|
+
return [...groupsByValue.values()];
|
|
318376
|
+
}
|
|
318377
|
+
function shouldSynthesizeParaId2(node4) {
|
|
318378
|
+
return Boolean(node4 && typeof node4 === "object" && SYNTHETIC_PARA_ID_TYPES2.has(node4.type));
|
|
318156
318379
|
}
|
|
318157
|
-
function
|
|
318380
|
+
function collectExplicitBlockIdentities2(node4, reservedIds) {
|
|
318158
318381
|
if (!node4 || typeof node4 !== "object")
|
|
318159
318382
|
return;
|
|
318160
|
-
const
|
|
318161
|
-
|
|
318162
|
-
|
|
318163
|
-
|
|
318164
|
-
|
|
318165
|
-
|
|
318166
|
-
|
|
318167
|
-
|
|
318383
|
+
const identityEntries = getExplicitIdentityEntries2(node4);
|
|
318384
|
+
for (const { value } of groupIdentityEntriesByValue2(identityEntries)) {
|
|
318385
|
+
reservedIds.add(value);
|
|
318386
|
+
}
|
|
318387
|
+
if (Array.isArray(node4.content)) {
|
|
318388
|
+
node4.content.forEach((child) => collectExplicitBlockIdentities2(child, reservedIds));
|
|
318389
|
+
}
|
|
318390
|
+
}
|
|
318391
|
+
function createDeterministicDocxIdAllocator2(reservedIds) {
|
|
318392
|
+
let nextValue = 1;
|
|
318393
|
+
return () => {
|
|
318394
|
+
while (nextValue <= MAX_DOCX_ID2) {
|
|
318395
|
+
const id2 = nextValue.toString(16).toUpperCase().padStart(DOCX_ID_LENGTH2, "0");
|
|
318396
|
+
nextValue += 1;
|
|
318397
|
+
if (reservedIds.has(id2))
|
|
318398
|
+
continue;
|
|
318399
|
+
reservedIds.add(id2);
|
|
318400
|
+
return id2;
|
|
318168
318401
|
}
|
|
318402
|
+
throw new Error("Unable to allocate a unique synthetic DOCX block id.");
|
|
318403
|
+
};
|
|
318404
|
+
}
|
|
318405
|
+
function setBlockIdentity2(node4, attrName, value) {
|
|
318406
|
+
node4.attrs = { ...node4.attrs ?? {}, [attrName]: value };
|
|
318407
|
+
}
|
|
318408
|
+
function normalizeBlockIdentitiesInNode2(node4, seenIds, allocateDocxId) {
|
|
318409
|
+
if (!node4 || typeof node4 !== "object")
|
|
318410
|
+
return;
|
|
318411
|
+
const identityEntries = getExplicitIdentityEntries2(node4);
|
|
318412
|
+
const groupedIdentities = groupIdentityEntriesByValue2(identityEntries);
|
|
318413
|
+
if (groupedIdentities.length > 0) {
|
|
318414
|
+
for (const identityGroup of groupedIdentities) {
|
|
318415
|
+
if (seenIds.has(identityGroup.value)) {
|
|
318416
|
+
const replacementId = allocateDocxId();
|
|
318417
|
+
for (const attr of identityGroup.attrs) {
|
|
318418
|
+
setBlockIdentity2(node4, attr, replacementId);
|
|
318419
|
+
}
|
|
318420
|
+
seenIds.add(replacementId);
|
|
318421
|
+
} else {
|
|
318422
|
+
seenIds.add(identityGroup.value);
|
|
318423
|
+
}
|
|
318424
|
+
}
|
|
318425
|
+
} else if (shouldSynthesizeParaId2(node4)) {
|
|
318426
|
+
const syntheticParaId = allocateDocxId();
|
|
318427
|
+
setBlockIdentity2(node4, "paraId", syntheticParaId);
|
|
318428
|
+
seenIds.add(syntheticParaId);
|
|
318169
318429
|
}
|
|
318170
318430
|
if (Array.isArray(node4.content)) {
|
|
318171
|
-
node4.content.forEach((child) =>
|
|
318431
|
+
node4.content.forEach((child) => normalizeBlockIdentitiesInNode2(child, seenIds, allocateDocxId));
|
|
318172
318432
|
}
|
|
318173
318433
|
}
|
|
318174
318434
|
function normalizeDuplicateBlockIdentitiesInContent2(content4 = []) {
|
|
318175
318435
|
if (!Array.isArray(content4) || content4.length === 0)
|
|
318176
318436
|
return content4;
|
|
318177
|
-
const
|
|
318178
|
-
content4.forEach((node4) =>
|
|
318437
|
+
const reservedIds = new Set;
|
|
318438
|
+
content4.forEach((node4) => collectExplicitBlockIdentities2(node4, reservedIds));
|
|
318439
|
+
const allocateDocxId = createDeterministicDocxIdAllocator2(reservedIds);
|
|
318440
|
+
const seenIds = new Set;
|
|
318441
|
+
content4.forEach((node4) => normalizeBlockIdentitiesInNode2(node4, seenIds, allocateDocxId));
|
|
318179
318442
|
return content4;
|
|
318180
318443
|
}
|
|
318181
|
-
var PARAGRAPH_IDENTITY_ATTRS2, TABLE_IDENTITY_ATTRS2, DEFAULT_BLOCK_IDENTITY_ATTRS2, BLOCK_IDENTITY_ATTRS2;
|
|
318444
|
+
var PARAGRAPH_IDENTITY_ATTRS2, TABLE_IDENTITY_ATTRS2, DEFAULT_BLOCK_IDENTITY_ATTRS2, SYNTHETIC_PARA_ID_TYPES2, DOCX_ID_LENGTH2 = 8, MAX_DOCX_ID2 = 4294967295, BLOCK_IDENTITY_ATTRS2;
|
|
318182
318445
|
var init_normalizeDuplicateBlockIdentitiesInContent = __esm(() => {
|
|
318183
318446
|
PARAGRAPH_IDENTITY_ATTRS2 = ["sdBlockId", "paraId"];
|
|
318184
318447
|
TABLE_IDENTITY_ATTRS2 = ["sdBlockId", "paraId", "blockId"];
|
|
318185
318448
|
DEFAULT_BLOCK_IDENTITY_ATTRS2 = ["sdBlockId", "blockId", "paraId"];
|
|
318449
|
+
SYNTHETIC_PARA_ID_TYPES2 = new Set(["paragraph", "tableRow"]);
|
|
318186
318450
|
BLOCK_IDENTITY_ATTRS2 = {
|
|
318187
318451
|
paragraph: PARAGRAPH_IDENTITY_ATTRS2,
|
|
318188
318452
|
heading: DEFAULT_BLOCK_IDENTITY_ATTRS2,
|
|
@@ -323304,20 +323568,32 @@ function getFontFamilyValue3(attributes, docx) {
|
|
|
323304
323568
|
return SuperConverter3.toCssFontFamily(resolved, docx);
|
|
323305
323569
|
}
|
|
323306
323570
|
function getHighLightValue3(attributes) {
|
|
323307
|
-
const fill = attributes["w:fill"];
|
|
323308
|
-
if (fill
|
|
323571
|
+
const fill = normalizeHighlightHex2(attributes?.["w:fill"]);
|
|
323572
|
+
if (fill)
|
|
323309
323573
|
return `#${fill}`;
|
|
323310
|
-
|
|
323574
|
+
const value = attributes?.["w:val"];
|
|
323575
|
+
if (value === "none")
|
|
323311
323576
|
return "transparent";
|
|
323312
|
-
|
|
323313
|
-
|
|
323314
|
-
|
|
323577
|
+
const normalizedValue = normalizeHighlightHex2(value);
|
|
323578
|
+
if (normalizedValue)
|
|
323579
|
+
return `#${normalizedValue}`;
|
|
323580
|
+
return getHexColorFromDocxSystem2(value) || null;
|
|
323581
|
+
}
|
|
323582
|
+
function normalizeHighlightHex2(rawValue) {
|
|
323583
|
+
if (typeof rawValue !== "string")
|
|
323584
|
+
return null;
|
|
323585
|
+
const trimmedValue = rawValue.trim();
|
|
323586
|
+
if (!trimmedValue || trimmedValue.toLowerCase() === "auto")
|
|
323587
|
+
return null;
|
|
323588
|
+
const normalizedValue = normalizeHexColor3(trimmedValue);
|
|
323589
|
+
if (!normalizedValue || !isValidHexColor3(normalizedValue))
|
|
323590
|
+
return null;
|
|
323591
|
+
return normalizedValue;
|
|
323315
323592
|
}
|
|
323316
323593
|
var getToCssFontFamily2 = () => {
|
|
323317
323594
|
return SuperConverter3.toCssFontFamily;
|
|
323318
323595
|
};
|
|
323319
323596
|
var init_styles3 = __esm(() => {
|
|
323320
|
-
init_helpers();
|
|
323321
323597
|
init_helpers();
|
|
323322
323598
|
init_SuperConverter();
|
|
323323
323599
|
init_ooxml();
|
|
@@ -328138,12 +328414,13 @@ var init_list_item_resolver = __esm(() => {
|
|
|
328138
328414
|
function getLiveDocumentCounts2(editor) {
|
|
328139
328415
|
const currentDoc = editor.state.doc;
|
|
328140
328416
|
const cached = liveDocumentCountsCache2.get(editor);
|
|
328417
|
+
const pages = countPages2(editor);
|
|
328141
328418
|
if (cached && cached.doc === currentDoc) {
|
|
328142
|
-
return cloneLiveDocumentCounts2(cached.counts);
|
|
328419
|
+
return cloneLiveDocumentCounts2(cached.counts, pages);
|
|
328143
328420
|
}
|
|
328144
328421
|
const counts = computeLiveDocumentCounts2(editor);
|
|
328145
328422
|
liveDocumentCountsCache2.set(editor, { doc: currentDoc, counts });
|
|
328146
|
-
return cloneLiveDocumentCounts2(counts);
|
|
328423
|
+
return cloneLiveDocumentCounts2(counts, pages);
|
|
328147
328424
|
}
|
|
328148
328425
|
function computeLiveDocumentCounts2(editor) {
|
|
328149
328426
|
const text9 = getTextAdapter2(editor, {});
|
|
@@ -328164,8 +328441,8 @@ function computeLiveDocumentCounts2(editor) {
|
|
|
328164
328441
|
lists: countLists2(editor, blockIndex)
|
|
328165
328442
|
};
|
|
328166
328443
|
}
|
|
328167
|
-
function cloneLiveDocumentCounts2(counts) {
|
|
328168
|
-
return { ...counts };
|
|
328444
|
+
function cloneLiveDocumentCounts2(counts, pages) {
|
|
328445
|
+
return pages != null ? { ...counts, pages } : { ...counts };
|
|
328169
328446
|
}
|
|
328170
328447
|
function countWordsFromText2(text9) {
|
|
328171
328448
|
const matches3 = text9.trim().match(/\S+/g);
|
|
@@ -328270,6 +328547,9 @@ function resolveVisibleListLevel2(item) {
|
|
|
328270
328547
|
}
|
|
328271
328548
|
return item.path && item.path.length > 0 ? item.path.length - 1 : undefined;
|
|
328272
328549
|
}
|
|
328550
|
+
function countPages2(editor) {
|
|
328551
|
+
return editor.currentTotalPages;
|
|
328552
|
+
}
|
|
328273
328553
|
var FIELD_LIKE_SDT_TYPES2, liveDocumentCountsCache2;
|
|
328274
328554
|
var init_live_document_counts = __esm(() => {
|
|
328275
328555
|
init_index_cache();
|
|
@@ -334718,7 +334998,7 @@ function collectTopLevelBlocks2(editor) {
|
|
|
334718
334998
|
const nodeType = mapBlockNodeType2(child);
|
|
334719
334999
|
const pos = offset2;
|
|
334720
335000
|
if (nodeType) {
|
|
334721
|
-
const nodeId = resolveBlockNodeId2(child, pos, nodeType);
|
|
335001
|
+
const nodeId = resolveBlockNodeId2(child, pos, nodeType, [i5]);
|
|
334722
335002
|
if (nodeId) {
|
|
334723
335003
|
results.push({ node: child, pos, end: pos + child.nodeSize, nodeType, nodeId });
|
|
334724
335004
|
}
|
|
@@ -336836,6 +337116,12 @@ var init_table_target_resolver = __esm(() => {
|
|
|
336836
337116
|
init_errors3();
|
|
336837
337117
|
});
|
|
336838
337118
|
|
|
337119
|
+
// ../../packages/super-editor/src/utils/generateDocxHexId.js
|
|
337120
|
+
function generateDocxHexId2() {
|
|
337121
|
+
return Array.from({ length: DOCX_HEX_ID_LENGTH2 }, () => Math.floor(Math.random() * 16).toString(16)).join("").toUpperCase();
|
|
337122
|
+
}
|
|
337123
|
+
var DOCX_HEX_ID_LENGTH2 = 8;
|
|
337124
|
+
|
|
336839
337125
|
// ../../packages/super-editor/src/document-api-adapters/document-settings.ts
|
|
336840
337126
|
function findSettingsRoot2(part) {
|
|
336841
337127
|
if (part.name === "w:settings")
|
|
@@ -336914,16 +337200,13 @@ function setOddEvenHeadersFooters2(settingsRoot, enabled) {
|
|
|
336914
337200
|
var SETTINGS_PART_PATH2 = "word/settings.xml";
|
|
336915
337201
|
|
|
336916
337202
|
// ../../packages/super-editor/src/document-api-adapters/tables-adapter.ts
|
|
336917
|
-
function generateParaId2() {
|
|
336918
|
-
return Array.from({ length: 8 }, () => Math.floor(Math.random() * 16).toString(16)).join("").toUpperCase();
|
|
336919
|
-
}
|
|
336920
337203
|
function createSeparatorParagraph2(schema) {
|
|
336921
337204
|
const paragraphType = schema.nodes.paragraph;
|
|
336922
337205
|
if (!paragraphType)
|
|
336923
337206
|
return null;
|
|
336924
337207
|
const separatorAttrs = {
|
|
336925
337208
|
sdBlockId: v42(),
|
|
336926
|
-
paraId:
|
|
337209
|
+
paraId: generateDocxHexId2()
|
|
336927
337210
|
};
|
|
336928
337211
|
return paragraphType.createAndFill(separatorAttrs) ?? paragraphType.createAndFill();
|
|
336929
337212
|
}
|
|
@@ -338078,18 +338361,16 @@ function tablesConvertFromTextAdapter2(editor, input2, options) {
|
|
|
338078
338361
|
const content5 = text9 ? schema.text(text9) : undefined;
|
|
338079
338362
|
const para = schema.nodes.paragraph.createAndFill(null, content5);
|
|
338080
338363
|
tableCells.push(schema.nodes.tableCell.createAndFill({
|
|
338081
|
-
sdBlockId: v42()
|
|
338082
|
-
paraId: generateParaId2()
|
|
338364
|
+
sdBlockId: v42()
|
|
338083
338365
|
}, para));
|
|
338084
338366
|
}
|
|
338085
338367
|
tableRows.push(schema.nodes.tableRow.createAndFill({
|
|
338086
338368
|
sdBlockId: v42(),
|
|
338087
|
-
paraId:
|
|
338369
|
+
paraId: generateDocxHexId2()
|
|
338088
338370
|
}, tableCells));
|
|
338089
338371
|
}
|
|
338090
338372
|
const tableId = v42();
|
|
338091
|
-
const
|
|
338092
|
-
const tableNode = schema.nodes.table.create({ sdBlockId: tableId, paraId: tableParaId }, tableRows);
|
|
338373
|
+
const tableNode = schema.nodes.table.create({ sdBlockId: tableId }, tableRows);
|
|
338093
338374
|
const startPos = paragraphs[0].pos;
|
|
338094
338375
|
const lastP = paragraphs[paragraphs.length - 1];
|
|
338095
338376
|
const endPos = lastP.pos + lastP.node.nodeSize;
|
|
@@ -338230,8 +338511,7 @@ function tablesInsertCellAdapter2(editor, input2, options) {
|
|
|
338230
338511
|
const makeEmptyCell = (preferHeader = false) => {
|
|
338231
338512
|
const candidateType = preferHeader ? schema.nodes.tableHeader ?? schema.nodes.tableCell : schema.nodes.tableCell;
|
|
338232
338513
|
return candidateType.createAndFill({
|
|
338233
|
-
sdBlockId: v42()
|
|
338234
|
-
paraId: generateParaId2()
|
|
338514
|
+
sdBlockId: v42()
|
|
338235
338515
|
}) ?? candidateType.createAndFill();
|
|
338236
338516
|
};
|
|
338237
338517
|
const overflowRowCells = [];
|
|
@@ -338244,7 +338524,7 @@ function tablesInsertCellAdapter2(editor, input2, options) {
|
|
|
338244
338524
|
const overflowRowAttrs = {
|
|
338245
338525
|
...templateRowAttrs,
|
|
338246
338526
|
sdBlockId: v42(),
|
|
338247
|
-
paraId:
|
|
338527
|
+
paraId: generateDocxHexId2()
|
|
338248
338528
|
};
|
|
338249
338529
|
const overflowRow = schema.nodes.tableRow.createAndFill(overflowRowAttrs, overflowRowCells) ?? schema.nodes.tableRow.create(overflowRowAttrs, overflowRowCells);
|
|
338250
338530
|
if (!overflowRow) {
|
|
@@ -339196,13 +339476,11 @@ function createTableAdapter2(editor, input2, options) {
|
|
|
339196
339476
|
};
|
|
339197
339477
|
}
|
|
339198
339478
|
const tableId = v42();
|
|
339199
|
-
const paraId = generateParaId2();
|
|
339200
339479
|
const didApply = insertTableAt2({
|
|
339201
339480
|
pos: insertAt,
|
|
339202
339481
|
rows: input2.rows,
|
|
339203
339482
|
columns: input2.columns,
|
|
339204
339483
|
sdBlockId: tableId,
|
|
339205
|
-
paraId,
|
|
339206
339484
|
tracked: mode === "tracked"
|
|
339207
339485
|
});
|
|
339208
339486
|
if (!didApply) {
|
|
@@ -344864,7 +345142,7 @@ var init_toc_wrappers = __esm(() => {
|
|
|
344864
345142
|
});
|
|
344865
345143
|
|
|
344866
345144
|
// ../../packages/super-editor/src/document-api-adapters/helpers/toc-entry-node-id.ts
|
|
344867
|
-
function
|
|
345145
|
+
function stableHash4(input2) {
|
|
344868
345146
|
let hash2 = 2166136261;
|
|
344869
345147
|
for (let index3 = 0;index3 < input2.length; index3 += 1) {
|
|
344870
345148
|
hash2 ^= input2.charCodeAt(index3);
|
|
@@ -344874,7 +345152,7 @@ function stableHash3(input2) {
|
|
|
344874
345152
|
}
|
|
344875
345153
|
function resolvePublicTcEntryNodeId2(node4, pos) {
|
|
344876
345154
|
const instruction = typeof node4.attrs?.instruction === "string" ? node4.attrs.instruction : "";
|
|
344877
|
-
return `tc-entry-${
|
|
345155
|
+
return `tc-entry-${stableHash4(`${pos}:${instruction}`)}`;
|
|
344878
345156
|
}
|
|
344879
345157
|
|
|
344880
345158
|
// ../../packages/super-editor/src/document-api-adapters/helpers/toc-entry-resolver.ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superdoc-dev/cli",
|
|
3
|
-
"version": "0.3.0-next.
|
|
3
|
+
"version": "0.3.0-next.16",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"superdoc": "./dist/index.js"
|
|
@@ -30,11 +30,11 @@
|
|
|
30
30
|
"access": "public"
|
|
31
31
|
},
|
|
32
32
|
"optionalDependencies": {
|
|
33
|
-
"@superdoc-dev/cli-darwin-arm64": "0.3.0-next.
|
|
34
|
-
"@superdoc-dev/cli-linux-x64": "0.3.0-next.
|
|
35
|
-
"@superdoc-dev/cli-
|
|
36
|
-
"@superdoc-dev/cli-
|
|
37
|
-
"@superdoc-dev/cli-
|
|
33
|
+
"@superdoc-dev/cli-darwin-arm64": "0.3.0-next.16",
|
|
34
|
+
"@superdoc-dev/cli-linux-x64": "0.3.0-next.16",
|
|
35
|
+
"@superdoc-dev/cli-linux-arm64": "0.3.0-next.16",
|
|
36
|
+
"@superdoc-dev/cli-windows-x64": "0.3.0-next.16",
|
|
37
|
+
"@superdoc-dev/cli-darwin-x64": "0.3.0-next.16"
|
|
38
38
|
},
|
|
39
39
|
"scripts": {
|
|
40
40
|
"dev": "bun run src/index.ts",
|