@superdoc-dev/mcp 0.12.0-next.1 → 0.12.0-next.11
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 +1522 -291
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -52172,7 +52172,7 @@ var init_remark_gfm_BhnWr3yf_es = __esm(() => {
|
|
|
52172
52172
|
emptyOptions2 = {};
|
|
52173
52173
|
});
|
|
52174
52174
|
|
|
52175
|
-
// ../../packages/superdoc/dist/chunks/SuperConverter-
|
|
52175
|
+
// ../../packages/superdoc/dist/chunks/SuperConverter-DJyHekqW.es.js
|
|
52176
52176
|
function getExtensionConfigField(extension$1, field, context = { name: "" }) {
|
|
52177
52177
|
const fieldValue = extension$1.config[field];
|
|
52178
52178
|
if (typeof fieldValue === "function")
|
|
@@ -86315,42 +86315,80 @@ function isSettled(status) {
|
|
|
86315
86315
|
function normalizeFamilyName(name) {
|
|
86316
86316
|
return name.trim().replace(/^['"]+|['"]+$/g, "").trim().toLowerCase();
|
|
86317
86317
|
}
|
|
86318
|
-
function buildFallback(row, physicalFamily) {
|
|
86318
|
+
function buildFallback(row, physicalFamily, verdict, faceSlot, faceSource) {
|
|
86319
|
+
const glyphExceptions = faceSlot ? row.glyphExceptions?.filter((g) => g.slot === faceSlot) : row.glyphExceptions ? [...row.glyphExceptions] : undefined;
|
|
86319
86320
|
return {
|
|
86320
86321
|
substituteFamily: physicalFamily,
|
|
86321
86322
|
policyAction: row.policyAction,
|
|
86322
|
-
verdict
|
|
86323
|
-
lineBreakSafe: LINE_BREAK_SAFE_VERDICTS.has(
|
|
86324
|
-
|
|
86323
|
+
verdict,
|
|
86324
|
+
lineBreakSafe: LINE_BREAK_SAFE_VERDICTS.has(verdict),
|
|
86325
|
+
faces: row.faces,
|
|
86326
|
+
evidenceId: row.evidenceId,
|
|
86327
|
+
generic: row.generic,
|
|
86328
|
+
...faceSource ? { faceSource: { ...faceSource } } : {},
|
|
86329
|
+
...glyphExceptions && glyphExceptions.length > 0 ? { glyphExceptions } : {}
|
|
86325
86330
|
};
|
|
86326
86331
|
}
|
|
86327
86332
|
function decideRow(row, canRenderFamily$1) {
|
|
86328
|
-
const { policyAction, physicalFamily, verdict, evidenceId } = row;
|
|
86333
|
+
const { policyAction, physicalFamily, verdict, evidenceId, generic } = row;
|
|
86329
86334
|
if (policyAction === "preserve_only")
|
|
86330
86335
|
return {
|
|
86331
86336
|
kind: "preserve_only",
|
|
86332
|
-
evidenceId
|
|
86337
|
+
evidenceId,
|
|
86338
|
+
generic
|
|
86333
86339
|
};
|
|
86334
86340
|
if (policyAction === "customer_supplied")
|
|
86335
86341
|
return {
|
|
86336
86342
|
kind: "customer_supplied",
|
|
86337
|
-
evidenceId
|
|
86343
|
+
evidenceId,
|
|
86344
|
+
generic
|
|
86338
86345
|
};
|
|
86339
86346
|
if (physicalFamily === null)
|
|
86340
86347
|
return {
|
|
86341
86348
|
kind: "no_recommended_fallback",
|
|
86342
|
-
evidenceId
|
|
86349
|
+
evidenceId,
|
|
86350
|
+
generic
|
|
86343
86351
|
};
|
|
86344
86352
|
if (canRenderFamily$1 && !canRenderFamily$1(physicalFamily))
|
|
86345
86353
|
return {
|
|
86346
86354
|
kind: "asset_missing",
|
|
86347
86355
|
substituteFamily: physicalFamily,
|
|
86348
86356
|
verdict,
|
|
86349
|
-
evidenceId
|
|
86357
|
+
evidenceId,
|
|
86358
|
+
generic
|
|
86350
86359
|
};
|
|
86351
86360
|
return {
|
|
86352
86361
|
kind: "fallback",
|
|
86353
|
-
fallback: buildFallback(row, physicalFamily)
|
|
86362
|
+
fallback: buildFallback(row, physicalFamily, verdict)
|
|
86363
|
+
};
|
|
86364
|
+
}
|
|
86365
|
+
function isFaceScoped(row) {
|
|
86366
|
+
const f2 = row.faces;
|
|
86367
|
+
return f2.regular || f2.bold || f2.italic || f2.boldItalic;
|
|
86368
|
+
}
|
|
86369
|
+
function faceSourceFor(row, face) {
|
|
86370
|
+
const explicit = row.faceSources?.[face];
|
|
86371
|
+
if (explicit)
|
|
86372
|
+
return explicit;
|
|
86373
|
+
return isFaceScoped(row) && row.faces[face] ? { kind: "real" } : undefined;
|
|
86374
|
+
}
|
|
86375
|
+
function decideRowForFace(row, face, canRenderFamily$1) {
|
|
86376
|
+
const base$1 = decideRow(row, canRenderFamily$1);
|
|
86377
|
+
if (base$1.kind !== "fallback")
|
|
86378
|
+
return base$1;
|
|
86379
|
+
const faceSource = faceSourceFor(row, face);
|
|
86380
|
+
if (isFaceScoped(row) && !faceSource)
|
|
86381
|
+
return {
|
|
86382
|
+
kind: "face_missing",
|
|
86383
|
+
substituteFamily: base$1.fallback.substituteFamily,
|
|
86384
|
+
evidenceId: row.evidenceId,
|
|
86385
|
+
generic: row.generic
|
|
86386
|
+
};
|
|
86387
|
+
const faceVerdict = row.faceVerdicts?.[face] ?? row.verdict;
|
|
86388
|
+
const projectedFaceSource = faceSource?.kind === "synthetic" ? faceSource : undefined;
|
|
86389
|
+
return {
|
|
86390
|
+
kind: "fallback",
|
|
86391
|
+
fallback: buildFallback(row, base$1.fallback.substituteFamily, faceVerdict, face, projectedFaceSource)
|
|
86354
86392
|
};
|
|
86355
86393
|
}
|
|
86356
86394
|
function getFallbackDecision(family$1, options = {}) {
|
|
@@ -86361,6 +86399,14 @@ function getRenderableFallback(family$1, options) {
|
|
|
86361
86399
|
const decision = getFallbackDecision(family$1, options);
|
|
86362
86400
|
return decision.kind === "fallback" ? decision.fallback : null;
|
|
86363
86401
|
}
|
|
86402
|
+
function getFallbackDecisionForFace(family$1, face, options = {}) {
|
|
86403
|
+
const row = BY_LOGICAL.get(normalizeFamilyName(family$1));
|
|
86404
|
+
return row ? decideRowForFace(row, face, options.canRenderFamily) : { kind: "unknown" };
|
|
86405
|
+
}
|
|
86406
|
+
function getRenderableFallbackForFace(family$1, face, options) {
|
|
86407
|
+
const decision = getFallbackDecisionForFace(family$1, face, options);
|
|
86408
|
+
return decision.kind === "fallback" ? decision.fallback : null;
|
|
86409
|
+
}
|
|
86364
86410
|
function fourFaces(filePrefix) {
|
|
86365
86411
|
return [
|
|
86366
86412
|
{
|
|
@@ -86392,12 +86438,87 @@ function family(name, filePrefix, license) {
|
|
|
86392
86438
|
faces: fourFaces(filePrefix)
|
|
86393
86439
|
};
|
|
86394
86440
|
}
|
|
86441
|
+
function familyWithFaces(name, license, faces) {
|
|
86442
|
+
return {
|
|
86443
|
+
family: name,
|
|
86444
|
+
license,
|
|
86445
|
+
faces
|
|
86446
|
+
};
|
|
86447
|
+
}
|
|
86395
86448
|
function normalizeFamilyKey$1(family$1) {
|
|
86396
86449
|
return family$1.trim().replace(/^["']|["']$/g, "").toLowerCase();
|
|
86397
86450
|
}
|
|
86398
86451
|
function sortPairs(pairs) {
|
|
86399
86452
|
return pairs.sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0);
|
|
86400
86453
|
}
|
|
86454
|
+
function faceSlotFor$1({ weight, style }) {
|
|
86455
|
+
const bold = weight === "700";
|
|
86456
|
+
const italic = style === "italic";
|
|
86457
|
+
if (bold && italic)
|
|
86458
|
+
return "boldItalic";
|
|
86459
|
+
if (bold)
|
|
86460
|
+
return "bold";
|
|
86461
|
+
if (italic)
|
|
86462
|
+
return "italic";
|
|
86463
|
+
return "regular";
|
|
86464
|
+
}
|
|
86465
|
+
function faceKeyForSlot(slot) {
|
|
86466
|
+
switch (slot) {
|
|
86467
|
+
case "bold":
|
|
86468
|
+
return {
|
|
86469
|
+
weight: "700",
|
|
86470
|
+
style: "normal"
|
|
86471
|
+
};
|
|
86472
|
+
case "italic":
|
|
86473
|
+
return {
|
|
86474
|
+
weight: "400",
|
|
86475
|
+
style: "italic"
|
|
86476
|
+
};
|
|
86477
|
+
case "boldItalic":
|
|
86478
|
+
return {
|
|
86479
|
+
weight: "700",
|
|
86480
|
+
style: "italic"
|
|
86481
|
+
};
|
|
86482
|
+
case "regular":
|
|
86483
|
+
return {
|
|
86484
|
+
weight: "400",
|
|
86485
|
+
style: "normal"
|
|
86486
|
+
};
|
|
86487
|
+
}
|
|
86488
|
+
}
|
|
86489
|
+
function reasonForFallback(policyAction) {
|
|
86490
|
+
return policyAction === "category_fallback" ? "category_fallback" : "bundled_substitute";
|
|
86491
|
+
}
|
|
86492
|
+
function resolveDocfontsFace(primary, face, hasFace) {
|
|
86493
|
+
const decision = getFallbackDecisionForFace(primary, faceSlotFor$1(face), { canRenderFamily });
|
|
86494
|
+
if (decision.kind === "face_missing")
|
|
86495
|
+
return {
|
|
86496
|
+
physical: primary,
|
|
86497
|
+
reason: "fallback_face_absent"
|
|
86498
|
+
};
|
|
86499
|
+
if (decision.kind !== "fallback")
|
|
86500
|
+
return null;
|
|
86501
|
+
const fallback = decision.fallback;
|
|
86502
|
+
if (fallback.policyAction !== "substitute" && fallback.policyAction !== "category_fallback")
|
|
86503
|
+
return null;
|
|
86504
|
+
if (hasFace(fallback.substituteFamily, face.weight, face.style))
|
|
86505
|
+
return {
|
|
86506
|
+
physical: fallback.substituteFamily,
|
|
86507
|
+
reason: reasonForFallback(fallback.policyAction)
|
|
86508
|
+
};
|
|
86509
|
+
const sourceFace = fallback.faceSource?.kind === "synthetic" ? faceKeyForSlot(fallback.faceSource.from) : face;
|
|
86510
|
+
if (!hasFace(fallback.substituteFamily, sourceFace.weight, sourceFace.style))
|
|
86511
|
+
return fallback.policyAction === "substitute" ? {
|
|
86512
|
+
physical: primary,
|
|
86513
|
+
reason: "fallback_face_absent"
|
|
86514
|
+
} : null;
|
|
86515
|
+
const sourceDiffers = sourceFace.weight !== face.weight || sourceFace.style !== face.style;
|
|
86516
|
+
return {
|
|
86517
|
+
physical: fallback.substituteFamily,
|
|
86518
|
+
reason: reasonForFallback(fallback.policyAction),
|
|
86519
|
+
...sourceDiffers ? { sourceFace } : {}
|
|
86520
|
+
};
|
|
86521
|
+
}
|
|
86401
86522
|
function deriveBundledSubstitutes() {
|
|
86402
86523
|
const substitutes = {};
|
|
86403
86524
|
for (const row of SUBSTITUTION_EVIDENCE) {
|
|
@@ -86491,6 +86612,17 @@ function installBundledSubstitutes(registry2, options = {}) {
|
|
|
86491
86612
|
});
|
|
86492
86613
|
}
|
|
86493
86614
|
}
|
|
86615
|
+
function toEvidence(fallback) {
|
|
86616
|
+
if (!fallback)
|
|
86617
|
+
return;
|
|
86618
|
+
return {
|
|
86619
|
+
evidenceId: fallback.evidenceId,
|
|
86620
|
+
policyAction: fallback.policyAction,
|
|
86621
|
+
verdict: fallback.verdict,
|
|
86622
|
+
lineBreakSafe: fallback.lineBreakSafe,
|
|
86623
|
+
...fallback.glyphExceptions ? { glyphExceptions: fallback.glyphExceptions } : {}
|
|
86624
|
+
};
|
|
86625
|
+
}
|
|
86494
86626
|
function buildFontReport(logicalFamilies, registry2, resolver$1) {
|
|
86495
86627
|
const seen = /* @__PURE__ */ new Set;
|
|
86496
86628
|
const report = [];
|
|
@@ -86500,13 +86632,15 @@ function buildFontReport(logicalFamilies, registry2, resolver$1) {
|
|
|
86500
86632
|
seen.add(logical);
|
|
86501
86633
|
const { physicalFamily, reason } = resolver$1 ? resolver$1.resolveFontFamily(logical) : resolveFontFamily(logical);
|
|
86502
86634
|
const loadStatus = registry2.getStatus(physicalFamily);
|
|
86635
|
+
const evidence = isRenderedSubstitute(reason) ? toEvidence(getRenderableFallback(logical, RENDER_ALL)) : undefined;
|
|
86503
86636
|
report.push({
|
|
86504
86637
|
logicalFamily: logical,
|
|
86505
86638
|
physicalFamily,
|
|
86506
86639
|
reason,
|
|
86507
86640
|
loadStatus,
|
|
86508
86641
|
exportFamily: logical,
|
|
86509
|
-
missing: reason === "category_fallback" || isSettled(loadStatus) && loadStatus !== "loaded"
|
|
86642
|
+
missing: reason === "category_fallback" || isSettled(loadStatus) && loadStatus !== "loaded",
|
|
86643
|
+
...evidence ? { evidence } : {}
|
|
86510
86644
|
});
|
|
86511
86645
|
}
|
|
86512
86646
|
return report;
|
|
@@ -86526,13 +86660,16 @@ function buildFaceReport(usedFaces, registry2, resolver$1) {
|
|
|
86526
86660
|
weight,
|
|
86527
86661
|
style
|
|
86528
86662
|
};
|
|
86529
|
-
const
|
|
86663
|
+
const resolution = resolver$1 ? resolver$1.resolveFace(logicalFamily, face, hasFace) : resolveFace(logicalFamily, face, hasFace);
|
|
86664
|
+
const { physicalFamily, reason } = resolution;
|
|
86665
|
+
const statusFace = resolution.sourceFace ?? face;
|
|
86530
86666
|
const loadStatus = registry2.getFaceStatus({
|
|
86531
86667
|
family: physicalFamily,
|
|
86532
|
-
weight,
|
|
86533
|
-
style
|
|
86668
|
+
weight: statusFace.weight,
|
|
86669
|
+
style: statusFace.style
|
|
86534
86670
|
});
|
|
86535
86671
|
const missing = reason === "fallback_face_absent" || reason === "category_fallback" || isSettled(loadStatus) && loadStatus !== "loaded";
|
|
86672
|
+
const evidence = isRenderedSubstitute(reason) ? toEvidence(getRenderableFallbackForFace(logicalFamily, faceSlotFor(face), RENDER_ALL)) : undefined;
|
|
86536
86673
|
report.push({
|
|
86537
86674
|
logicalFamily,
|
|
86538
86675
|
physicalFamily: reason === "registered_face" ? logicalFamily : physicalFamily,
|
|
@@ -86540,7 +86677,8 @@ function buildFaceReport(usedFaces, registry2, resolver$1) {
|
|
|
86540
86677
|
loadStatus,
|
|
86541
86678
|
exportFamily: logicalFamily,
|
|
86542
86679
|
missing,
|
|
86543
|
-
face
|
|
86680
|
+
face,
|
|
86681
|
+
...evidence ? { evidence } : {}
|
|
86544
86682
|
});
|
|
86545
86683
|
}
|
|
86546
86684
|
return report;
|
|
@@ -86643,7 +86781,7 @@ function deriveOfferings() {
|
|
|
86643
86781
|
return {
|
|
86644
86782
|
logicalFamily: row.logicalFamily,
|
|
86645
86783
|
physicalFamily: row.physicalFamily,
|
|
86646
|
-
generic: row.
|
|
86784
|
+
generic: row.generic,
|
|
86647
86785
|
offering: classifyOffering(row.policyAction, row.verdict, row.physicalFamily, bundled),
|
|
86648
86786
|
bundled,
|
|
86649
86787
|
verdict: row.verdict,
|
|
@@ -86652,12 +86790,11 @@ function deriveOfferings() {
|
|
|
86652
86790
|
});
|
|
86653
86791
|
return Object.freeze(offerings);
|
|
86654
86792
|
}
|
|
86655
|
-
function
|
|
86656
|
-
|
|
86657
|
-
|
|
86658
|
-
|
|
86659
|
-
|
|
86660
|
-
return FONT_OFFERINGS.filter((o) => o.offering === "default").sort((a, b) => rank$1(a.logicalFamily) - rank$1(b.logicalFamily));
|
|
86793
|
+
function compareLogicalFamily(a, b) {
|
|
86794
|
+
return a.logicalFamily.localeCompare(b.logicalFamily, "en", { sensitivity: "base" });
|
|
86795
|
+
}
|
|
86796
|
+
function getBuiltInToolbarFontOfferings() {
|
|
86797
|
+
return FONT_OFFERINGS.filter((o) => o.offering === "default" || o.bundled && ADVERTISED_BUILT_IN_TOOLBAR_FAMILIES.has(o.logicalFamily) && (o.offering === "qualified" || o.offering === "category_fallback")).sort(compareLogicalFamily);
|
|
86661
86798
|
}
|
|
86662
86799
|
function fontOfferingStack(offering) {
|
|
86663
86800
|
return `${offering.logicalFamily}, ${offering.generic}`;
|
|
@@ -86666,11 +86803,38 @@ function fontOfferingRenderStack(offering) {
|
|
|
86666
86803
|
return offering.physicalFamily ? `${offering.physicalFamily}, ${offering.generic}` : fontOfferingStack(offering);
|
|
86667
86804
|
}
|
|
86668
86805
|
function getDefaultFontFamilyOptions() {
|
|
86669
|
-
return
|
|
86806
|
+
return getBuiltInToolbarFontOfferings().map((offering) => ({
|
|
86670
86807
|
label: offering.logicalFamily,
|
|
86671
86808
|
value: fontOfferingStack(offering)
|
|
86672
86809
|
}));
|
|
86673
86810
|
}
|
|
86811
|
+
function normalizeKey(family$1) {
|
|
86812
|
+
return family$1.trim().replace(/^["']|["']$/g, "").toLowerCase();
|
|
86813
|
+
}
|
|
86814
|
+
function isRegularFace(rec) {
|
|
86815
|
+
return rec.face?.weight === "400" && rec.face?.style === "normal";
|
|
86816
|
+
}
|
|
86817
|
+
function buildDocumentFontOptions(usedFaces, registry2, resolver$1) {
|
|
86818
|
+
const faceRecords = buildFaceReport(usedFaces, registry2, resolver$1);
|
|
86819
|
+
const agg = /* @__PURE__ */ new Map;
|
|
86820
|
+
for (const rec of faceRecords) {
|
|
86821
|
+
const key = normalizeKey(rec.logicalFamily);
|
|
86822
|
+
const existing = agg.get(key);
|
|
86823
|
+
if (!existing) {
|
|
86824
|
+
agg.set(key, rec);
|
|
86825
|
+
continue;
|
|
86826
|
+
}
|
|
86827
|
+
if (isRegularFace(rec) && !isRegularFace(existing))
|
|
86828
|
+
agg.set(key, rec);
|
|
86829
|
+
}
|
|
86830
|
+
const options = [];
|
|
86831
|
+
for (const rep of agg.values())
|
|
86832
|
+
options.push({
|
|
86833
|
+
logicalFamily: rep.logicalFamily,
|
|
86834
|
+
previewFamily: rep.physicalFamily
|
|
86835
|
+
});
|
|
86836
|
+
return options;
|
|
86837
|
+
}
|
|
86674
86838
|
function writeAppStatistics(convertedXml, stats) {
|
|
86675
86839
|
const elements = ensureElements$1(ensureAppPropertiesRoot(convertedXml));
|
|
86676
86840
|
upsertSimpleElement(elements, "Words", String(stats.words));
|
|
@@ -88660,12 +88824,14 @@ function applyTocMetadata(blocks, metadata) {
|
|
|
88660
88824
|
};
|
|
88661
88825
|
if (metadata.instruction)
|
|
88662
88826
|
block.attrs.tocInstruction = metadata.instruction;
|
|
88827
|
+
if (metadata.tocId)
|
|
88828
|
+
block.attrs.tocId = metadata.tocId;
|
|
88663
88829
|
}
|
|
88664
88830
|
});
|
|
88665
88831
|
}
|
|
88666
88832
|
function processTocChildren(children, metadata, context, outputArrays) {
|
|
88667
88833
|
const paragraphConverter = context.converters.paragraphToFlowBlocks;
|
|
88668
|
-
const { docPartGallery, docPartObjectId, tocInstruction } = metadata;
|
|
88834
|
+
const { docPartGallery, docPartObjectId, tocInstruction, tocId } = metadata;
|
|
88669
88835
|
const { blocks, recordBlockKind } = outputArrays;
|
|
88670
88836
|
children.forEach((child) => {
|
|
88671
88837
|
if (child.type === "paragraph") {
|
|
@@ -88690,7 +88856,8 @@ function processTocChildren(children, metadata, context, outputArrays) {
|
|
|
88690
88856
|
applyTocMetadata(paragraphBlocks, {
|
|
88691
88857
|
gallery: docPartGallery,
|
|
88692
88858
|
uniqueId: docPartObjectId,
|
|
88693
|
-
instruction: tocInstruction
|
|
88859
|
+
instruction: tocInstruction,
|
|
88860
|
+
tocId
|
|
88694
88861
|
});
|
|
88695
88862
|
applySdtMetadataToParagraphBlocks(paragraphBlocks.filter((b) => b.kind === "paragraph"), metadata.sdtMetadata);
|
|
88696
88863
|
paragraphBlocks.forEach((block) => {
|
|
@@ -88705,7 +88872,8 @@ function processTocChildren(children, metadata, context, outputArrays) {
|
|
|
88705
88872
|
docPartGallery,
|
|
88706
88873
|
docPartObjectId,
|
|
88707
88874
|
tocInstruction: finalInstruction,
|
|
88708
|
-
sdtMetadata: metadata.sdtMetadata
|
|
88875
|
+
sdtMetadata: metadata.sdtMetadata,
|
|
88876
|
+
tocId
|
|
88709
88877
|
}, context, outputArrays);
|
|
88710
88878
|
}
|
|
88711
88879
|
});
|
|
@@ -88713,7 +88881,11 @@ function processTocChildren(children, metadata, context, outputArrays) {
|
|
|
88713
88881
|
function handleTableOfContentsNode(node2, context) {
|
|
88714
88882
|
if (!Array.isArray(node2.content))
|
|
88715
88883
|
return;
|
|
88716
|
-
|
|
88884
|
+
const sdBlockId = node2.attrs?.sdBlockId;
|
|
88885
|
+
processTocChildren(node2.content, {
|
|
88886
|
+
tocInstruction: getNodeInstruction(node2),
|
|
88887
|
+
tocId: typeof sdBlockId === "string" ? sdBlockId : undefined
|
|
88888
|
+
}, {
|
|
88717
88889
|
nextBlockId: context.nextBlockId,
|
|
88718
88890
|
positions: context.positions,
|
|
88719
88891
|
bookmarks: context.bookmarks,
|
|
@@ -89042,7 +89214,8 @@ function processDocumentPartObject(child, sectionMetadata, context, output, conv
|
|
|
89042
89214
|
docPartGallery,
|
|
89043
89215
|
docPartObjectId,
|
|
89044
89216
|
tocInstruction,
|
|
89045
|
-
sdtMetadata: docPartSdtMetadata
|
|
89217
|
+
sdtMetadata: docPartSdtMetadata,
|
|
89218
|
+
tocId: docPartObjectId ?? undefined
|
|
89046
89219
|
}, {
|
|
89047
89220
|
nextBlockId: context.nextBlockId,
|
|
89048
89221
|
positions: context.positions,
|
|
@@ -89113,12 +89286,15 @@ function handleDocumentPartObjectNode(node2, context) {
|
|
|
89113
89286
|
const tocInstruction = getNodeInstruction(node2);
|
|
89114
89287
|
const docPartSdtMetadata = resolveNodeSdtMetadata(node2, "docPartObject");
|
|
89115
89288
|
const paragraphToFlowBlocks$1 = converters$1.paragraphToFlowBlocks;
|
|
89289
|
+
const sdBlockId = node2.attrs?.sdBlockId;
|
|
89290
|
+
const tocId = docPartObjectId && docPartObjectId.length > 0 ? docPartObjectId : typeof sdBlockId === "string" && sdBlockId.length > 0 ? sdBlockId : undefined;
|
|
89116
89291
|
if (docPartGallery === "Table of Contents")
|
|
89117
89292
|
processTocChildren(Array.from(node2.content), {
|
|
89118
89293
|
docPartGallery,
|
|
89119
89294
|
docPartObjectId,
|
|
89120
89295
|
tocInstruction,
|
|
89121
|
-
sdtMetadata: docPartSdtMetadata
|
|
89296
|
+
sdtMetadata: docPartSdtMetadata,
|
|
89297
|
+
tocId
|
|
89122
89298
|
}, {
|
|
89123
89299
|
nextBlockId,
|
|
89124
89300
|
positions,
|
|
@@ -89166,7 +89342,8 @@ function handleDocumentPartObjectNode(node2, context) {
|
|
|
89166
89342
|
docPartGallery: docPartGallery ?? "",
|
|
89167
89343
|
docPartObjectId,
|
|
89168
89344
|
tocInstruction: getNodeInstruction(child) ?? tocInstruction,
|
|
89169
|
-
sdtMetadata: docPartSdtMetadata
|
|
89345
|
+
sdtMetadata: docPartSdtMetadata,
|
|
89346
|
+
tocId
|
|
89170
89347
|
};
|
|
89171
89348
|
const tocContext = {
|
|
89172
89349
|
nextBlockId,
|
|
@@ -95369,6 +95546,7 @@ function groupTrackedChanges(editor) {
|
|
|
95369
95546
|
return cached2.grouped;
|
|
95370
95547
|
const marks = getRawTrackedMarks(editor);
|
|
95371
95548
|
const byRawId = /* @__PURE__ */ new Map;
|
|
95549
|
+
const segmentsByRawId = /* @__PURE__ */ new Map;
|
|
95372
95550
|
for (const item of marks) {
|
|
95373
95551
|
const attrs = item.mark?.attrs ?? {};
|
|
95374
95552
|
const id = toNonEmptyString(attrs.id);
|
|
@@ -95384,6 +95562,17 @@ function groupTrackedChanges(editor) {
|
|
|
95384
95562
|
const wordRevisionIdKey = getWordRevisionIdKey(markType);
|
|
95385
95563
|
const excerptText = !wordRevisionId || !hasChildTrackedMarkOnNode(item, id) ? getTrackedMarkText(editor, item) : "";
|
|
95386
95564
|
const range = [item.from, item.to];
|
|
95565
|
+
const priorSegments = segmentsByRawId.get(groupKey);
|
|
95566
|
+
if (priorSegments)
|
|
95567
|
+
priorSegments.push({
|
|
95568
|
+
from: item.from,
|
|
95569
|
+
to: item.to
|
|
95570
|
+
});
|
|
95571
|
+
else
|
|
95572
|
+
segmentsByRawId.set(groupKey, [{
|
|
95573
|
+
from: item.from,
|
|
95574
|
+
to: item.to
|
|
95575
|
+
}]);
|
|
95387
95576
|
if (!existing) {
|
|
95388
95577
|
byRawId.set(groupKey, {
|
|
95389
95578
|
rawId: groupKey,
|
|
@@ -95431,7 +95620,23 @@ function groupTrackedChanges(editor) {
|
|
|
95431
95620
|
return a.id.localeCompare(b.id);
|
|
95432
95621
|
});
|
|
95433
95622
|
attachOverlapMetadata(grouped);
|
|
95434
|
-
|
|
95623
|
+
const structuralChanges = enumerateStructuralRowChanges(editor.state);
|
|
95624
|
+
const wholeTableRanges = structuralChanges.filter((structural) => structural.decidable && structural.wholeTable).map((structural) => ({
|
|
95625
|
+
from: structural.tableFrom,
|
|
95626
|
+
to: structural.tableTo
|
|
95627
|
+
}));
|
|
95628
|
+
if (wholeTableRanges.length > 0) {
|
|
95629
|
+
const segmentInsideSomeTable = (segment) => wholeTableRanges.some((range) => segment.from >= range.from && segment.to <= range.to);
|
|
95630
|
+
for (let i$1 = grouped.length - 1;i$1 >= 0; i$1 -= 1) {
|
|
95631
|
+
const change = grouped[i$1];
|
|
95632
|
+
if ((segmentsByRawId.get(change.rawId) ?? [{
|
|
95633
|
+
from: change.from,
|
|
95634
|
+
to: change.to
|
|
95635
|
+
}]).every(segmentInsideSomeTable))
|
|
95636
|
+
grouped.splice(i$1, 1);
|
|
95637
|
+
}
|
|
95638
|
+
}
|
|
95639
|
+
for (const structural of structuralChanges) {
|
|
95435
95640
|
const excerpt = normalizeExcerpt(editor.state.doc.textBetween(structural.tableFrom, structural.tableTo, " ", ""));
|
|
95436
95641
|
const stableRawId = structural.sourceId ? `word:structural:${structural.sourceId}` : structural.id;
|
|
95437
95642
|
grouped.push({
|
|
@@ -113559,18 +113764,10 @@ var isRegExp = (value) => {
|
|
|
113559
113764
|
physical: primary,
|
|
113560
113765
|
reason: "registered_face"
|
|
113561
113766
|
};
|
|
113767
|
+
const docfonts = resolveDocfontsFace(primary, face, hasFace);
|
|
113768
|
+
if (docfonts)
|
|
113769
|
+
return docfonts;
|
|
113562
113770
|
const bundled = BUNDLED_SUBSTITUTES[key];
|
|
113563
|
-
if (bundled && hasFace(bundled, face.weight, face.style))
|
|
113564
|
-
return {
|
|
113565
|
-
physical: bundled,
|
|
113566
|
-
reason: "bundled_substitute"
|
|
113567
|
-
};
|
|
113568
|
-
const category = CATEGORY_FALLBACKS[key];
|
|
113569
|
-
if (category && hasFace(category, face.weight, face.style))
|
|
113570
|
-
return {
|
|
113571
|
-
physical: category,
|
|
113572
|
-
reason: "category_fallback"
|
|
113573
|
-
};
|
|
113574
113771
|
if (override || bundled)
|
|
113575
113772
|
return {
|
|
113576
113773
|
physical: primary,
|
|
@@ -113603,11 +113800,12 @@ var isRegExp = (value) => {
|
|
|
113603
113800
|
}
|
|
113604
113801
|
resolveFace(logicalFamily, face, hasFace) {
|
|
113605
113802
|
const primary = splitStack(logicalFamily)[0] ?? logicalFamily;
|
|
113606
|
-
const { physical, reason } = this.#resolveFaceLadder(primary, face, hasFace);
|
|
113803
|
+
const { physical, reason, sourceFace } = this.#resolveFaceLadder(primary, face, hasFace);
|
|
113607
113804
|
return {
|
|
113608
113805
|
logicalFamily,
|
|
113609
113806
|
physicalFamily: stripFamilyQuotes(physical),
|
|
113610
|
-
reason
|
|
113807
|
+
reason,
|
|
113808
|
+
...sourceFace ? { sourceFace } : {}
|
|
113611
113809
|
};
|
|
113612
113810
|
}
|
|
113613
113811
|
resolvePhysicalFamilyForFace(cssFontFamily, face, hasFace) {
|
|
@@ -113632,7 +113830,17 @@ var isRegExp = (value) => {
|
|
|
113632
113830
|
out.add(this.resolvePrimaryPhysicalFamily(family$1));
|
|
113633
113831
|
return [...out];
|
|
113634
113832
|
}
|
|
113635
|
-
}, defaultResolver, DEFAULT_FONT_MEASURE_CONTEXT, fontConfigVersion = 0, defaultAssetBase = "/fonts/", installedRegistries,
|
|
113833
|
+
}, defaultResolver, DEFAULT_FONT_MEASURE_CONTEXT, fontConfigVersion = 0, defaultAssetBase = "/fonts/", installedRegistries, faceSlotFor = ({ weight, style }) => {
|
|
113834
|
+
const bold = weight === "700";
|
|
113835
|
+
const italic = style === "italic";
|
|
113836
|
+
if (bold && italic)
|
|
113837
|
+
return "boldItalic";
|
|
113838
|
+
if (bold)
|
|
113839
|
+
return "bold";
|
|
113840
|
+
if (italic)
|
|
113841
|
+
return "italic";
|
|
113842
|
+
return "regular";
|
|
113843
|
+
}, isRenderedSubstitute = (reason) => reason === "bundled_substitute" || reason === "category_fallback", RENDER_ALL, FS_TYPE_RESTRICTED = 2, FS_SELECTION_ITALIC = 1, BOLD_WEIGHT_THRESHOLD = 600, SFNT_TABLE_DIR_OFFSET = 12, SFNT_TABLE_RECORD_SIZE = 16, OS2_USWEIGHTCLASS = 4, OS2_FSTYPE = 8, OS2_FSSELECTION = 62, OS2_MIN_LENGTH, DEFAULT_FONT_LOAD_TIMEOUT_MS = 3000, DEFAULT_PROBE_SIZE = "16px", FontRegistry = class {
|
|
113636
113844
|
#fontSet;
|
|
113637
113845
|
#FontFaceCtor;
|
|
113638
113846
|
#probeSize;
|
|
@@ -113973,7 +114181,7 @@ var isRegExp = (value) => {
|
|
|
113973
114181
|
const detail = sources && sources.length ? ` from ${sources.join(", ")}` : "";
|
|
113974
114182
|
console.warn(`[superdoc] font asset failed to load for "${family$1}"${detail}. Check fonts.assetBaseUrl / fonts.resolveAssetUrl so the bundled .woff2 are served.`);
|
|
113975
114183
|
}
|
|
113976
|
-
}, registriesByFontSet, domlessRegistry = null,
|
|
114184
|
+
}, registriesByFontSet, domlessRegistry = null, BUNDLED_FAMILIES, ADVERTISED_BUILT_IN_TOOLBAR_FAMILIES, FONT_OFFERINGS, prepareCommentParaIds = (comment) => {
|
|
113977
114185
|
return {
|
|
113978
114186
|
...comment,
|
|
113979
114187
|
commentParaId: generateDocxRandomId()
|
|
@@ -117949,7 +118157,7 @@ var isRegExp = (value) => {
|
|
|
117949
118157
|
state.kern = kernNode.attributes["w:val"];
|
|
117950
118158
|
}
|
|
117951
118159
|
}, SuperConverter;
|
|
117952
|
-
var
|
|
118160
|
+
var init_SuperConverter_DJyHekqW_es = __esm(() => {
|
|
117953
118161
|
init_rolldown_runtime_Bg48TavK_es();
|
|
117954
118162
|
init_jszip_C49i9kUs_es();
|
|
117955
118163
|
init_xml_js_CqGKpaft_es();
|
|
@@ -155269,6 +155477,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155269
155477
|
SUBSTITUTION_EVIDENCE$1 = [
|
|
155270
155478
|
{
|
|
155271
155479
|
evidenceId: "calibri",
|
|
155480
|
+
generic: "sans-serif",
|
|
155272
155481
|
logicalFamily: "Calibri",
|
|
155273
155482
|
physicalFamily: "Carlito",
|
|
155274
155483
|
verdict: "metric_safe",
|
|
@@ -155288,6 +155497,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155288
155497
|
measurementRefs: ["calibri__carlito#analytic_advance#2026-06-03", "calibri__carlito#face_aggregate#2026-06-03"],
|
|
155289
155498
|
exportRule: "preserve_original_name",
|
|
155290
155499
|
advance: {
|
|
155500
|
+
basis: "latin_full",
|
|
155291
155501
|
meanDelta: 0,
|
|
155292
155502
|
maxDelta: 0
|
|
155293
155503
|
},
|
|
@@ -155295,6 +155505,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155295
155505
|
},
|
|
155296
155506
|
{
|
|
155297
155507
|
evidenceId: "cambria",
|
|
155508
|
+
generic: "serif",
|
|
155298
155509
|
logicalFamily: "Cambria",
|
|
155299
155510
|
physicalFamily: "Caladea",
|
|
155300
155511
|
verdict: "visual_only",
|
|
@@ -155319,6 +155530,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155319
155530
|
],
|
|
155320
155531
|
exportRule: "preserve_original_name",
|
|
155321
155532
|
advance: {
|
|
155533
|
+
basis: "latin_full",
|
|
155322
155534
|
meanDelta: 0.0002378,
|
|
155323
155535
|
maxDelta: 0.2310758
|
|
155324
155536
|
},
|
|
@@ -155338,6 +155550,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155338
155550
|
},
|
|
155339
155551
|
{
|
|
155340
155552
|
evidenceId: "arial",
|
|
155553
|
+
generic: "sans-serif",
|
|
155341
155554
|
logicalFamily: "Arial",
|
|
155342
155555
|
physicalFamily: "Liberation Sans",
|
|
155343
155556
|
verdict: "metric_safe",
|
|
@@ -155357,6 +155570,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155357
155570
|
measurementRefs: ["arial__liberation-sans#analytic_advance#2026-06-03"],
|
|
155358
155571
|
exportRule: "preserve_original_name",
|
|
155359
155572
|
advance: {
|
|
155573
|
+
basis: "latin_full",
|
|
155360
155574
|
meanDelta: 0,
|
|
155361
155575
|
maxDelta: 0
|
|
155362
155576
|
},
|
|
@@ -155364,6 +155578,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155364
155578
|
},
|
|
155365
155579
|
{
|
|
155366
155580
|
evidenceId: "times-new-roman",
|
|
155581
|
+
generic: "serif",
|
|
155367
155582
|
logicalFamily: "Times New Roman",
|
|
155368
155583
|
physicalFamily: "Liberation Serif",
|
|
155369
155584
|
verdict: "metric_safe",
|
|
@@ -155383,6 +155598,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155383
155598
|
measurementRefs: ["times-new-roman__liberation-serif#analytic_advance#2026-06-03"],
|
|
155384
155599
|
exportRule: "preserve_original_name",
|
|
155385
155600
|
advance: {
|
|
155601
|
+
basis: "latin_full",
|
|
155386
155602
|
meanDelta: 0,
|
|
155387
155603
|
maxDelta: 0
|
|
155388
155604
|
},
|
|
@@ -155390,6 +155606,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155390
155606
|
},
|
|
155391
155607
|
{
|
|
155392
155608
|
evidenceId: "courier-new",
|
|
155609
|
+
generic: "monospace",
|
|
155393
155610
|
logicalFamily: "Courier New",
|
|
155394
155611
|
physicalFamily: "Liberation Mono",
|
|
155395
155612
|
verdict: "metric_safe",
|
|
@@ -155409,6 +155626,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155409
155626
|
measurementRefs: ["courier-new__liberation-mono#analytic_advance#2026-06-03"],
|
|
155410
155627
|
exportRule: "preserve_original_name",
|
|
155411
155628
|
advance: {
|
|
155629
|
+
basis: "latin_full",
|
|
155412
155630
|
meanDelta: 0,
|
|
155413
155631
|
maxDelta: 0
|
|
155414
155632
|
},
|
|
@@ -155416,6 +155634,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155416
155634
|
},
|
|
155417
155635
|
{
|
|
155418
155636
|
evidenceId: "georgia",
|
|
155637
|
+
generic: "serif",
|
|
155419
155638
|
logicalFamily: "Georgia",
|
|
155420
155639
|
physicalFamily: "Gelasio",
|
|
155421
155640
|
verdict: "near_metric",
|
|
@@ -155444,6 +155663,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155444
155663
|
],
|
|
155445
155664
|
exportRule: "preserve_original_name",
|
|
155446
155665
|
advance: {
|
|
155666
|
+
basis: "latin_full",
|
|
155447
155667
|
meanDelta: 0.0000197,
|
|
155448
155668
|
maxDelta: 0.0183727
|
|
155449
155669
|
},
|
|
@@ -155468,6 +155688,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155468
155688
|
},
|
|
155469
155689
|
{
|
|
155470
155690
|
evidenceId: "arial-narrow",
|
|
155691
|
+
generic: "sans-serif",
|
|
155471
155692
|
logicalFamily: "Arial Narrow",
|
|
155472
155693
|
physicalFamily: "Liberation Sans Narrow",
|
|
155473
155694
|
verdict: "visual_only",
|
|
@@ -155492,6 +155713,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155492
155713
|
],
|
|
155493
155714
|
exportRule: "preserve_original_name",
|
|
155494
155715
|
advance: {
|
|
155716
|
+
basis: "latin_full",
|
|
155495
155717
|
meanDelta: 0,
|
|
155496
155718
|
maxDelta: 0.5
|
|
155497
155719
|
},
|
|
@@ -155511,6 +155733,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155511
155733
|
},
|
|
155512
155734
|
{
|
|
155513
155735
|
evidenceId: "aptos",
|
|
155736
|
+
generic: "sans-serif",
|
|
155514
155737
|
logicalFamily: "Aptos",
|
|
155515
155738
|
physicalFamily: null,
|
|
155516
155739
|
verdict: "no_substitute",
|
|
@@ -155531,8 +155754,134 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155531
155754
|
exportRule: "preserve_original_name",
|
|
155532
155755
|
candidateLicense: null
|
|
155533
155756
|
},
|
|
155757
|
+
{
|
|
155758
|
+
evidenceId: "arial-black",
|
|
155759
|
+
generic: "sans-serif",
|
|
155760
|
+
logicalFamily: "Arial Black",
|
|
155761
|
+
physicalFamily: "Archivo Black",
|
|
155762
|
+
verdict: "visual_only",
|
|
155763
|
+
faces: {
|
|
155764
|
+
regular: true,
|
|
155765
|
+
bold: false,
|
|
155766
|
+
italic: false,
|
|
155767
|
+
boldItalic: false
|
|
155768
|
+
},
|
|
155769
|
+
faceSources: { italic: {
|
|
155770
|
+
kind: "synthetic",
|
|
155771
|
+
from: "regular"
|
|
155772
|
+
} },
|
|
155773
|
+
gates: {
|
|
155774
|
+
static: "pass",
|
|
155775
|
+
metric: "fail",
|
|
155776
|
+
layout: "not_run",
|
|
155777
|
+
ship: "fail"
|
|
155778
|
+
},
|
|
155779
|
+
policyAction: "substitute",
|
|
155780
|
+
measurementRefs: ["arial-black__archivo-black#visual_review#2026-06-09"],
|
|
155781
|
+
exportRule: "preserve_original_name",
|
|
155782
|
+
candidateLicense: "OFL-1.1",
|
|
155783
|
+
faceVerdicts: { italic: "visual_only" }
|
|
155784
|
+
},
|
|
155785
|
+
{
|
|
155786
|
+
evidenceId: "arial-rounded-mt-bold",
|
|
155787
|
+
generic: "sans-serif",
|
|
155788
|
+
logicalFamily: "Arial Rounded MT Bold",
|
|
155789
|
+
physicalFamily: "Ubuntu",
|
|
155790
|
+
verdict: "visual_only",
|
|
155791
|
+
faces: {
|
|
155792
|
+
regular: true,
|
|
155793
|
+
bold: true,
|
|
155794
|
+
italic: true,
|
|
155795
|
+
boldItalic: true
|
|
155796
|
+
},
|
|
155797
|
+
gates: {
|
|
155798
|
+
static: "pass",
|
|
155799
|
+
metric: "fail",
|
|
155800
|
+
layout: "not_run",
|
|
155801
|
+
ship: "fail"
|
|
155802
|
+
},
|
|
155803
|
+
policyAction: "category_fallback",
|
|
155804
|
+
measurementRefs: ["arial-rounded-mt-bold__ubuntu#visual_review#2026-06-09"],
|
|
155805
|
+
exportRule: "preserve_original_name",
|
|
155806
|
+
candidateLicense: "Ubuntu-font-1.0"
|
|
155807
|
+
},
|
|
155808
|
+
{
|
|
155809
|
+
evidenceId: "bookman-old-style",
|
|
155810
|
+
generic: "serif",
|
|
155811
|
+
logicalFamily: "Bookman Old Style",
|
|
155812
|
+
physicalFamily: "TeX Gyre Bonum",
|
|
155813
|
+
verdict: "visual_only",
|
|
155814
|
+
faces: {
|
|
155815
|
+
regular: true,
|
|
155816
|
+
bold: true,
|
|
155817
|
+
italic: true,
|
|
155818
|
+
boldItalic: true
|
|
155819
|
+
},
|
|
155820
|
+
gates: {
|
|
155821
|
+
static: "pass",
|
|
155822
|
+
metric: "fail",
|
|
155823
|
+
layout: "not_run",
|
|
155824
|
+
ship: "fail"
|
|
155825
|
+
},
|
|
155826
|
+
policyAction: "substitute",
|
|
155827
|
+
measurementRefs: ["bookman-old-style__tex-gyre-bonum#visual_review#2026-06-09"],
|
|
155828
|
+
exportRule: "preserve_original_name",
|
|
155829
|
+
candidateLicense: "GUST-Font-License-1.0"
|
|
155830
|
+
},
|
|
155831
|
+
{
|
|
155832
|
+
evidenceId: "century",
|
|
155833
|
+
generic: "serif",
|
|
155834
|
+
logicalFamily: "Century",
|
|
155835
|
+
physicalFamily: "C059",
|
|
155836
|
+
verdict: "visual_only",
|
|
155837
|
+
faces: {
|
|
155838
|
+
regular: true,
|
|
155839
|
+
bold: true,
|
|
155840
|
+
italic: true,
|
|
155841
|
+
boldItalic: true
|
|
155842
|
+
},
|
|
155843
|
+
gates: {
|
|
155844
|
+
static: "pass",
|
|
155845
|
+
metric: "fail",
|
|
155846
|
+
layout: "not_run",
|
|
155847
|
+
ship: "fail"
|
|
155848
|
+
},
|
|
155849
|
+
policyAction: "substitute",
|
|
155850
|
+
measurementRefs: ["century__c059#visual_review#2026-06-09"],
|
|
155851
|
+
exportRule: "preserve_original_name",
|
|
155852
|
+
candidateLicense: "AGPL-3.0-only WITH PS-or-PDF-font-exception-20170817"
|
|
155853
|
+
},
|
|
155854
|
+
{
|
|
155855
|
+
evidenceId: "garamond",
|
|
155856
|
+
generic: "serif",
|
|
155857
|
+
logicalFamily: "Garamond",
|
|
155858
|
+
physicalFamily: "Cardo",
|
|
155859
|
+
verdict: "visual_only",
|
|
155860
|
+
faces: {
|
|
155861
|
+
regular: true,
|
|
155862
|
+
bold: true,
|
|
155863
|
+
italic: true,
|
|
155864
|
+
boldItalic: false
|
|
155865
|
+
},
|
|
155866
|
+
faceSources: { boldItalic: {
|
|
155867
|
+
kind: "synthetic",
|
|
155868
|
+
from: "bold"
|
|
155869
|
+
} },
|
|
155870
|
+
gates: {
|
|
155871
|
+
static: "pass",
|
|
155872
|
+
metric: "fail",
|
|
155873
|
+
layout: "not_run",
|
|
155874
|
+
ship: "fail"
|
|
155875
|
+
},
|
|
155876
|
+
policyAction: "category_fallback",
|
|
155877
|
+
measurementRefs: ["garamond__cardo#visual_review#2026-06-09"],
|
|
155878
|
+
exportRule: "preserve_original_name",
|
|
155879
|
+
candidateLicense: "OFL-1.1",
|
|
155880
|
+
faceVerdicts: { boldItalic: "visual_only" }
|
|
155881
|
+
},
|
|
155534
155882
|
{
|
|
155535
155883
|
evidenceId: "consolas",
|
|
155884
|
+
generic: "monospace",
|
|
155536
155885
|
logicalFamily: "Consolas",
|
|
155537
155886
|
physicalFamily: "Inconsolata SemiExpanded",
|
|
155538
155887
|
verdict: "cell_width_only",
|
|
@@ -155552,6 +155901,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155552
155901
|
measurementRefs: ["consolas__inconsolata-semiexpanded#analytic_advance#2026-06-03"],
|
|
155553
155902
|
exportRule: "preserve_original_name",
|
|
155554
155903
|
advance: {
|
|
155904
|
+
basis: "monospace_cell",
|
|
155555
155905
|
meanDelta: 0.00035999999999999997,
|
|
155556
155906
|
maxDelta: 0.00035999999999999997
|
|
155557
155907
|
},
|
|
@@ -155559,6 +155909,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155559
155909
|
},
|
|
155560
155910
|
{
|
|
155561
155911
|
evidenceId: "verdana",
|
|
155912
|
+
generic: "sans-serif",
|
|
155562
155913
|
logicalFamily: "Verdana",
|
|
155563
155914
|
physicalFamily: null,
|
|
155564
155915
|
verdict: "visual_only",
|
|
@@ -155581,76 +155932,90 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155581
155932
|
},
|
|
155582
155933
|
{
|
|
155583
155934
|
evidenceId: "tahoma",
|
|
155935
|
+
generic: "sans-serif",
|
|
155584
155936
|
logicalFamily: "Tahoma",
|
|
155585
|
-
physicalFamily:
|
|
155937
|
+
physicalFamily: "Noto Sans",
|
|
155586
155938
|
verdict: "visual_only",
|
|
155587
155939
|
faces: {
|
|
155588
|
-
regular:
|
|
155589
|
-
bold:
|
|
155590
|
-
italic:
|
|
155591
|
-
boldItalic:
|
|
155940
|
+
regular: true,
|
|
155941
|
+
bold: true,
|
|
155942
|
+
italic: true,
|
|
155943
|
+
boldItalic: true
|
|
155592
155944
|
},
|
|
155593
155945
|
gates: {
|
|
155594
|
-
static: "
|
|
155946
|
+
static: "pass",
|
|
155595
155947
|
metric: "fail",
|
|
155596
155948
|
layout: "not_run",
|
|
155597
|
-
ship: "
|
|
155949
|
+
ship: "fail"
|
|
155598
155950
|
},
|
|
155599
155951
|
policyAction: "category_fallback",
|
|
155600
|
-
measurementRefs: ["
|
|
155952
|
+
measurementRefs: ["tahoma__noto-sans#visual_review#2026-06-09"],
|
|
155601
155953
|
exportRule: "preserve_original_name",
|
|
155602
|
-
candidateLicense:
|
|
155954
|
+
candidateLicense: "OFL-1.1"
|
|
155603
155955
|
},
|
|
155604
155956
|
{
|
|
155605
155957
|
evidenceId: "trebuchet-ms",
|
|
155958
|
+
generic: "sans-serif",
|
|
155606
155959
|
logicalFamily: "Trebuchet MS",
|
|
155607
|
-
physicalFamily:
|
|
155960
|
+
physicalFamily: "PT Sans",
|
|
155608
155961
|
verdict: "visual_only",
|
|
155609
155962
|
faces: {
|
|
155610
|
-
regular:
|
|
155611
|
-
bold:
|
|
155612
|
-
italic:
|
|
155613
|
-
boldItalic:
|
|
155963
|
+
regular: true,
|
|
155964
|
+
bold: true,
|
|
155965
|
+
italic: true,
|
|
155966
|
+
boldItalic: true
|
|
155614
155967
|
},
|
|
155615
155968
|
gates: {
|
|
155616
|
-
static: "
|
|
155969
|
+
static: "pass",
|
|
155617
155970
|
metric: "fail",
|
|
155618
155971
|
layout: "not_run",
|
|
155619
|
-
ship: "
|
|
155972
|
+
ship: "fail"
|
|
155620
155973
|
},
|
|
155621
155974
|
policyAction: "category_fallback",
|
|
155622
|
-
measurementRefs: ["trebuchet-
|
|
155975
|
+
measurementRefs: ["trebuchet-ms__pt-sans#visual_review#2026-06-09"],
|
|
155623
155976
|
exportRule: "preserve_original_name",
|
|
155624
|
-
candidateLicense:
|
|
155977
|
+
candidateLicense: "OFL-1.1"
|
|
155625
155978
|
},
|
|
155626
155979
|
{
|
|
155627
155980
|
evidenceId: "comic-sans-ms",
|
|
155981
|
+
generic: "sans-serif",
|
|
155628
155982
|
logicalFamily: "Comic Sans MS",
|
|
155629
|
-
physicalFamily: "Comic
|
|
155983
|
+
physicalFamily: "Comic Relief",
|
|
155630
155984
|
verdict: "visual_only",
|
|
155631
155985
|
faces: {
|
|
155632
|
-
regular:
|
|
155633
|
-
bold:
|
|
155986
|
+
regular: true,
|
|
155987
|
+
bold: true,
|
|
155634
155988
|
italic: false,
|
|
155635
155989
|
boldItalic: false
|
|
155636
155990
|
},
|
|
155991
|
+
faceSources: {
|
|
155992
|
+
italic: {
|
|
155993
|
+
kind: "synthetic",
|
|
155994
|
+
from: "regular"
|
|
155995
|
+
},
|
|
155996
|
+
boldItalic: {
|
|
155997
|
+
kind: "synthetic",
|
|
155998
|
+
from: "bold"
|
|
155999
|
+
}
|
|
156000
|
+
},
|
|
155637
156001
|
gates: {
|
|
155638
|
-
static: "
|
|
156002
|
+
static: "pass",
|
|
155639
156003
|
metric: "fail",
|
|
155640
156004
|
layout: "not_run",
|
|
155641
|
-
ship: "
|
|
156005
|
+
ship: "fail"
|
|
155642
156006
|
},
|
|
155643
156007
|
policyAction: "category_fallback",
|
|
155644
|
-
measurementRefs: ["comic-sans-ms__comic-
|
|
156008
|
+
measurementRefs: ["comic-sans-ms__comic-relief#visual_review#2026-06-09"],
|
|
155645
156009
|
exportRule: "preserve_original_name",
|
|
155646
|
-
|
|
155647
|
-
|
|
155648
|
-
|
|
155649
|
-
|
|
155650
|
-
|
|
156010
|
+
candidateLicense: "OFL-1.1",
|
|
156011
|
+
faceVerdicts: {
|
|
156012
|
+
italic: "visual_only",
|
|
156013
|
+
boldItalic: "visual_only"
|
|
156014
|
+
}
|
|
155651
156015
|
},
|
|
155652
156016
|
{
|
|
155653
156017
|
evidenceId: "candara",
|
|
156018
|
+
generic: "sans-serif",
|
|
155654
156019
|
logicalFamily: "Candara",
|
|
155655
156020
|
physicalFamily: null,
|
|
155656
156021
|
verdict: "visual_only",
|
|
@@ -155673,6 +156038,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155673
156038
|
},
|
|
155674
156039
|
{
|
|
155675
156040
|
evidenceId: "constantia",
|
|
156041
|
+
generic: "serif",
|
|
155676
156042
|
logicalFamily: "Constantia",
|
|
155677
156043
|
physicalFamily: null,
|
|
155678
156044
|
verdict: "visual_only",
|
|
@@ -155695,6 +156061,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155695
156061
|
},
|
|
155696
156062
|
{
|
|
155697
156063
|
evidenceId: "corbel",
|
|
156064
|
+
generic: "sans-serif",
|
|
155698
156065
|
logicalFamily: "Corbel",
|
|
155699
156066
|
physicalFamily: null,
|
|
155700
156067
|
verdict: "visual_only",
|
|
@@ -155717,6 +156084,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155717
156084
|
},
|
|
155718
156085
|
{
|
|
155719
156086
|
evidenceId: "lucida-console",
|
|
156087
|
+
generic: "monospace",
|
|
155720
156088
|
logicalFamily: "Lucida Console",
|
|
155721
156089
|
physicalFamily: "Cousine",
|
|
155722
156090
|
verdict: "cell_width_only",
|
|
@@ -155736,13 +156104,54 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155736
156104
|
measurementRefs: ["lucida-console__cousine#analytic_advance#2026-06-03"],
|
|
155737
156105
|
exportRule: "preserve_original_name",
|
|
155738
156106
|
advance: {
|
|
156107
|
+
basis: "monospace_cell",
|
|
155739
156108
|
meanDelta: 0.004050000000000001,
|
|
155740
156109
|
maxDelta: 0.004050000000000001
|
|
155741
156110
|
},
|
|
155742
156111
|
candidateLicense: "OFL-1.1"
|
|
155743
156112
|
},
|
|
156113
|
+
{
|
|
156114
|
+
evidenceId: "gill-sans-mt-condensed",
|
|
156115
|
+
generic: "sans-serif",
|
|
156116
|
+
logicalFamily: "Gill Sans MT Condensed",
|
|
156117
|
+
physicalFamily: "PT Sans Narrow",
|
|
156118
|
+
verdict: "visual_only",
|
|
156119
|
+
faces: {
|
|
156120
|
+
regular: true,
|
|
156121
|
+
bold: true,
|
|
156122
|
+
italic: false,
|
|
156123
|
+
boldItalic: false
|
|
156124
|
+
},
|
|
156125
|
+
faceSources: {
|
|
156126
|
+
italic: {
|
|
156127
|
+
kind: "synthetic",
|
|
156128
|
+
from: "regular"
|
|
156129
|
+
},
|
|
156130
|
+
boldItalic: {
|
|
156131
|
+
kind: "synthetic",
|
|
156132
|
+
from: "bold"
|
|
156133
|
+
}
|
|
156134
|
+
},
|
|
156135
|
+
gates: {
|
|
156136
|
+
static: "pass",
|
|
156137
|
+
metric: "fail",
|
|
156138
|
+
layout: "not_run",
|
|
156139
|
+
ship: "fail"
|
|
156140
|
+
},
|
|
156141
|
+
policyAction: "category_fallback",
|
|
156142
|
+
measurementRefs: ["gill-sans-mt-condensed__pt-sans-narrow#visual_review#2026-06-09"],
|
|
156143
|
+
exportRule: "preserve_original_name",
|
|
156144
|
+
candidateLicense: "OFL-1.1",
|
|
156145
|
+
faceVerdicts: {
|
|
156146
|
+
regular: "visual_only",
|
|
156147
|
+
bold: "visual_only",
|
|
156148
|
+
italic: "visual_only",
|
|
156149
|
+
boldItalic: "visual_only"
|
|
156150
|
+
}
|
|
156151
|
+
},
|
|
155744
156152
|
{
|
|
155745
156153
|
evidenceId: "aptos-display",
|
|
156154
|
+
generic: "sans-serif",
|
|
155746
156155
|
logicalFamily: "Aptos Display",
|
|
155747
156156
|
physicalFamily: null,
|
|
155748
156157
|
verdict: "customer_supplied",
|
|
@@ -155764,6 +156173,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155764
156173
|
},
|
|
155765
156174
|
{
|
|
155766
156175
|
evidenceId: "cambria-math",
|
|
156176
|
+
generic: "serif",
|
|
155767
156177
|
logicalFamily: "Cambria Math",
|
|
155768
156178
|
physicalFamily: null,
|
|
155769
156179
|
verdict: "preserve_only",
|
|
@@ -155785,6 +156195,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155785
156195
|
},
|
|
155786
156196
|
{
|
|
155787
156197
|
evidenceId: "helvetica",
|
|
156198
|
+
generic: "sans-serif",
|
|
155788
156199
|
logicalFamily: "Helvetica",
|
|
155789
156200
|
physicalFamily: "Liberation Sans",
|
|
155790
156201
|
verdict: "metric_safe",
|
|
@@ -155804,6 +156215,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155804
156215
|
measurementRefs: ["helvetica__liberation-sans#analytic_advance#2026-06-03"],
|
|
155805
156216
|
exportRule: "preserve_original_name",
|
|
155806
156217
|
advance: {
|
|
156218
|
+
basis: "latin_full",
|
|
155807
156219
|
meanDelta: 0,
|
|
155808
156220
|
maxDelta: 0
|
|
155809
156221
|
},
|
|
@@ -155811,6 +156223,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155811
156223
|
},
|
|
155812
156224
|
{
|
|
155813
156225
|
evidenceId: "calibri-light",
|
|
156226
|
+
generic: "sans-serif",
|
|
155814
156227
|
logicalFamily: "Calibri Light",
|
|
155815
156228
|
physicalFamily: "Carlito",
|
|
155816
156229
|
verdict: "visual_only",
|
|
@@ -155830,6 +156243,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155830
156243
|
measurementRefs: ["calibri-light__carlito#analytic_advance#2026-06-05"],
|
|
155831
156244
|
exportRule: "preserve_original_name",
|
|
155832
156245
|
advance: {
|
|
156246
|
+
basis: "latin_full",
|
|
155833
156247
|
meanDelta: 0.0148,
|
|
155834
156248
|
maxDelta: 0.066
|
|
155835
156249
|
},
|
|
@@ -155837,6 +156251,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155837
156251
|
},
|
|
155838
156252
|
{
|
|
155839
156253
|
evidenceId: "baskerville-old-face",
|
|
156254
|
+
generic: "serif",
|
|
155840
156255
|
logicalFamily: "Baskerville Old Face",
|
|
155841
156256
|
physicalFamily: "Bacasime Antique",
|
|
155842
156257
|
verdict: "visual_only",
|
|
@@ -155856,6 +156271,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155856
156271
|
measurementRefs: ["baskerville-old-face_regular__bacasime-antique#regular#w400#7dac1e5f#analytic_advance#2026-06-05"],
|
|
155857
156272
|
exportRule: "preserve_original_name",
|
|
155858
156273
|
advance: {
|
|
156274
|
+
basis: "latin_full",
|
|
155859
156275
|
meanDelta: 0,
|
|
155860
156276
|
maxDelta: 0.4915590863952334
|
|
155861
156277
|
},
|
|
@@ -155867,6 +156283,54 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155867
156283
|
advanceDelta: 0.4916,
|
|
155868
156284
|
note: "Bacasime Antique Regular's no-break space (U+00A0) advance diverges ~49% from Baskerville Old Face; lines containing NBSP reflow. Every other Latin-core glyph is advance-identical, which is why this is visual_only with a single named exception, not near_metric."
|
|
155869
156285
|
}]
|
|
156286
|
+
},
|
|
156287
|
+
{
|
|
156288
|
+
evidenceId: "cooper-black",
|
|
156289
|
+
generic: "serif",
|
|
156290
|
+
logicalFamily: "Cooper Black",
|
|
156291
|
+
physicalFamily: "Caprasimo",
|
|
156292
|
+
verdict: "visual_only",
|
|
156293
|
+
faces: {
|
|
156294
|
+
regular: true,
|
|
156295
|
+
bold: false,
|
|
156296
|
+
italic: false,
|
|
156297
|
+
boldItalic: false
|
|
156298
|
+
},
|
|
156299
|
+
faceSources: {
|
|
156300
|
+
bold: {
|
|
156301
|
+
kind: "synthetic",
|
|
156302
|
+
from: "regular"
|
|
156303
|
+
},
|
|
156304
|
+
italic: {
|
|
156305
|
+
kind: "synthetic",
|
|
156306
|
+
from: "regular"
|
|
156307
|
+
},
|
|
156308
|
+
boldItalic: {
|
|
156309
|
+
kind: "synthetic",
|
|
156310
|
+
from: "regular"
|
|
156311
|
+
}
|
|
156312
|
+
},
|
|
156313
|
+
gates: {
|
|
156314
|
+
static: "pass",
|
|
156315
|
+
metric: "pass",
|
|
156316
|
+
layout: "not_run",
|
|
156317
|
+
ship: "not_run"
|
|
156318
|
+
},
|
|
156319
|
+
policyAction: "substitute",
|
|
156320
|
+
measurementRefs: ["cooper-black_regular__caprasimo#regular#w400#786ab84e#analytic_advance#2026-06-05", "cooper-black__caprasimo#synthetic_faces#visual_review#2026-06-09"],
|
|
156321
|
+
exportRule: "preserve_original_name",
|
|
156322
|
+
advance: {
|
|
156323
|
+
basis: "latin_full",
|
|
156324
|
+
meanDelta: 0,
|
|
156325
|
+
maxDelta: 0
|
|
156326
|
+
},
|
|
156327
|
+
candidateLicense: "OFL-1.1",
|
|
156328
|
+
faceVerdicts: {
|
|
156329
|
+
regular: "metric_safe",
|
|
156330
|
+
bold: "visual_only",
|
|
156331
|
+
italic: "visual_only",
|
|
156332
|
+
boldItalic: "visual_only"
|
|
156333
|
+
}
|
|
155870
156334
|
}
|
|
155871
156335
|
];
|
|
155872
156336
|
LINE_BREAK_SAFE_VERDICTS = new Set([
|
|
@@ -155880,7 +156344,41 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155880
156344
|
family("Caladea", "Caladea", "Apache-2.0"),
|
|
155881
156345
|
family("Liberation Sans", "LiberationSans", "OFL-1.1"),
|
|
155882
156346
|
family("Liberation Serif", "LiberationSerif", "OFL-1.1"),
|
|
155883
|
-
family("Liberation Mono", "LiberationMono", "OFL-1.1")
|
|
156347
|
+
family("Liberation Mono", "LiberationMono", "OFL-1.1"),
|
|
156348
|
+
familyWithFaces("Caprasimo", "OFL-1.1", [{
|
|
156349
|
+
weight: "normal",
|
|
156350
|
+
style: "normal",
|
|
156351
|
+
file: "Caprasimo-Regular.woff2"
|
|
156352
|
+
}]),
|
|
156353
|
+
family("Gelasio", "Gelasio", "OFL-1.1"),
|
|
156354
|
+
familyWithFaces("Cardo", "OFL-1.1", [
|
|
156355
|
+
{
|
|
156356
|
+
weight: "normal",
|
|
156357
|
+
style: "normal",
|
|
156358
|
+
file: "Cardo-Regular.woff2"
|
|
156359
|
+
},
|
|
156360
|
+
{
|
|
156361
|
+
weight: "bold",
|
|
156362
|
+
style: "normal",
|
|
156363
|
+
file: "Cardo-Bold.woff2"
|
|
156364
|
+
},
|
|
156365
|
+
{
|
|
156366
|
+
weight: "normal",
|
|
156367
|
+
style: "italic",
|
|
156368
|
+
file: "Cardo-Italic.woff2"
|
|
156369
|
+
}
|
|
156370
|
+
]),
|
|
156371
|
+
familyWithFaces("Comic Relief", "OFL-1.1", [{
|
|
156372
|
+
weight: "normal",
|
|
156373
|
+
style: "normal",
|
|
156374
|
+
file: "ComicRelief-Regular.woff2"
|
|
156375
|
+
}, {
|
|
156376
|
+
weight: "bold",
|
|
156377
|
+
style: "normal",
|
|
156378
|
+
file: "ComicRelief-Bold.woff2"
|
|
156379
|
+
}]),
|
|
156380
|
+
family("Noto Sans", "NotoSans", "OFL-1.1"),
|
|
156381
|
+
family("PT Sans", "PTSans", "OFL-1.1")
|
|
155884
156382
|
]);
|
|
155885
156383
|
SUBSTITUTION_EVIDENCE = SUBSTITUTION_EVIDENCE$1;
|
|
155886
156384
|
bundledFamilies = new Set(BUNDLED_MANIFEST.map((f2) => f2.family));
|
|
@@ -155892,24 +156390,19 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155892
156390
|
fontSignature: ""
|
|
155893
156391
|
});
|
|
155894
156392
|
installedRegistries = /* @__PURE__ */ new WeakMap;
|
|
156393
|
+
RENDER_ALL = { canRenderFamily: () => true };
|
|
155895
156394
|
OS2_MIN_LENGTH = OS2_FSSELECTION + 2;
|
|
155896
156395
|
registriesByFontSet = /* @__PURE__ */ new WeakMap;
|
|
155897
|
-
PHYSICAL_GENERIC = Object.freeze({
|
|
155898
|
-
Carlito: "sans-serif",
|
|
155899
|
-
Caladea: "serif",
|
|
155900
|
-
"Liberation Sans": "sans-serif",
|
|
155901
|
-
"Liberation Serif": "serif",
|
|
155902
|
-
"Liberation Mono": "monospace"
|
|
155903
|
-
});
|
|
155904
156396
|
BUNDLED_FAMILIES = new Set(BUNDLED_MANIFEST.map((f2) => f2.family));
|
|
156397
|
+
ADVERTISED_BUILT_IN_TOOLBAR_FAMILIES = new Set([
|
|
156398
|
+
"Cooper Black",
|
|
156399
|
+
"Comic Sans MS",
|
|
156400
|
+
"Garamond",
|
|
156401
|
+
"Georgia",
|
|
156402
|
+
"Tahoma",
|
|
156403
|
+
"Trebuchet MS"
|
|
156404
|
+
]);
|
|
155905
156405
|
FONT_OFFERINGS = deriveOfferings();
|
|
155906
|
-
DEFAULT_FONT_ORDER = [
|
|
155907
|
-
"Calibri",
|
|
155908
|
-
"Arial",
|
|
155909
|
-
"Courier New",
|
|
155910
|
-
"Times New Roman",
|
|
155911
|
-
"Helvetica"
|
|
155912
|
-
];
|
|
155913
156406
|
ALL_COMMENT_TARGETS = COMMENT_FILE_BASENAMES;
|
|
155914
156407
|
REL_ID_NUMERIC_PATTERN = /rId|mi/g;
|
|
155915
156408
|
FOOTNOTES_CONFIG$1 = {
|
|
@@ -157696,7 +158189,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
157696
158189
|
};
|
|
157697
158190
|
});
|
|
157698
158191
|
|
|
157699
|
-
// ../../packages/superdoc/dist/chunks/create-headless-toolbar-
|
|
158192
|
+
// ../../packages/superdoc/dist/chunks/create-headless-toolbar-Jmx2i-9i.es.js
|
|
157700
158193
|
function parseSizeUnit(val = "0") {
|
|
157701
158194
|
const length = val.toString() || "0";
|
|
157702
158195
|
const value = Number.parseFloat(length);
|
|
@@ -168054,8 +168547,8 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, normalizeActorId = (value) => {
|
|
|
168054
168547
|
}
|
|
168055
168548
|
};
|
|
168056
168549
|
};
|
|
168057
|
-
var
|
|
168058
|
-
|
|
168550
|
+
var init_create_headless_toolbar_Jmx2i_9i_es = __esm(() => {
|
|
168551
|
+
init_SuperConverter_DJyHekqW_es();
|
|
168059
168552
|
init_uuid_B2wVPhPi_es();
|
|
168060
168553
|
init_constants_D9qj59G2_es();
|
|
168061
168554
|
init_dist_B8HfvhaK_es();
|
|
@@ -209096,7 +209589,7 @@ If you want to remount the same app, move your app creation logic into a factory
|
|
|
209096
209589
|
var createVNodeWithArgsTransform = (...args2) => {
|
|
209097
209590
|
return _createVNode(...vnodeArgsTransformer ? vnodeArgsTransformer(args2, currentRenderingInstance) : args2);
|
|
209098
209591
|
};
|
|
209099
|
-
var
|
|
209592
|
+
var normalizeKey2 = ({ key: key2 }) => key2 != null ? key2 : null;
|
|
209100
209593
|
var normalizeRef = ({
|
|
209101
209594
|
ref: ref2,
|
|
209102
209595
|
ref_key,
|
|
@@ -209113,7 +209606,7 @@ If you want to remount the same app, move your app creation logic into a factory
|
|
|
209113
209606
|
__v_skip: true,
|
|
209114
209607
|
type,
|
|
209115
209608
|
props,
|
|
209116
|
-
key: props &&
|
|
209609
|
+
key: props && normalizeKey2(props),
|
|
209117
209610
|
ref: props && normalizeRef(props),
|
|
209118
209611
|
scopeId: currentScopeId,
|
|
209119
209612
|
slotScopeIds: null,
|
|
@@ -209213,7 +209706,7 @@ Component that was made reactive: `, type);
|
|
|
209213
209706
|
__v_skip: true,
|
|
209214
209707
|
type: vnode.type,
|
|
209215
209708
|
props: mergedProps,
|
|
209216
|
-
key: mergedProps &&
|
|
209709
|
+
key: mergedProps && normalizeKey2(mergedProps),
|
|
209217
209710
|
ref: extraProps && extraProps.ref ? mergeRef && ref2 ? shared.isArray(ref2) ? ref2.concat(normalizeRef(extraProps)) : [ref2, normalizeRef(extraProps)] : normalizeRef(extraProps) : ref2,
|
|
209218
209711
|
scopeId: vnode.scopeId,
|
|
209219
209712
|
slotScopeIds: vnode.slotScopeIds,
|
|
@@ -222739,7 +223232,7 @@ var init_remark_gfm_eZN6yzWQ_es = __esm(() => {
|
|
|
222739
223232
|
init_remark_gfm_BhnWr3yf_es();
|
|
222740
223233
|
});
|
|
222741
223234
|
|
|
222742
|
-
// ../../packages/superdoc/dist/chunks/src-
|
|
223235
|
+
// ../../packages/superdoc/dist/chunks/src-BB_FFFud.es.js
|
|
222743
223236
|
function deleteProps(obj, propOrProps) {
|
|
222744
223237
|
const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
|
|
222745
223238
|
const removeNested = (target, pathParts, index2 = 0) => {
|
|
@@ -231833,9 +232326,6 @@ function replaceCommand(wrap4, moveForward) {
|
|
|
231833
232326
|
return true;
|
|
231834
232327
|
};
|
|
231835
232328
|
}
|
|
231836
|
-
function buildSdtBlockSelector(escapedSdtId) {
|
|
231837
|
-
return `.${DOM_CLASS_NAMES.BLOCK_SDT}[${DATA_ATTRS.SDT_ID}="${escapedSdtId}"]`;
|
|
231838
|
-
}
|
|
231839
232329
|
function buildAnnotationSelector() {
|
|
231840
232330
|
return `.${DOM_CLASS_NAMES.ANNOTATION}[${DATA_ATTRS.PM_START}]`;
|
|
231841
232331
|
}
|
|
@@ -235097,6 +235587,36 @@ function scrollToElement(targetElement, options = {
|
|
|
235097
235587
|
behavior: options.behavior
|
|
235098
235588
|
});
|
|
235099
235589
|
}
|
|
235590
|
+
function normalizeToolbarFamily(value) {
|
|
235591
|
+
return String(value ?? "").trim().toLowerCase();
|
|
235592
|
+
}
|
|
235593
|
+
function compareToolbarFontOptions(a2, b$1) {
|
|
235594
|
+
return String(a2.label ?? "").trim().localeCompare(String(b$1.label ?? "").trim(), "en", { sensitivity: "base" });
|
|
235595
|
+
}
|
|
235596
|
+
function composeToolbarFontOptions(documentOptions, configFonts) {
|
|
235597
|
+
if (configFonts)
|
|
235598
|
+
return configFonts;
|
|
235599
|
+
if (!documentOptions?.length)
|
|
235600
|
+
return;
|
|
235601
|
+
const seen = new Set(TOOLBAR_FONTS.map((option) => normalizeToolbarFamily(option.label)));
|
|
235602
|
+
const merged = [...TOOLBAR_FONTS];
|
|
235603
|
+
for (const option of documentOptions) {
|
|
235604
|
+
const dedupeKey = normalizeToolbarFamily(option.logicalFamily);
|
|
235605
|
+
if (seen.has(dedupeKey))
|
|
235606
|
+
continue;
|
|
235607
|
+
seen.add(dedupeKey);
|
|
235608
|
+
merged.push({
|
|
235609
|
+
label: option.logicalFamily,
|
|
235610
|
+
key: option.logicalFamily,
|
|
235611
|
+
fontWeight: 400,
|
|
235612
|
+
props: {
|
|
235613
|
+
style: { fontFamily: option.previewFamily || option.logicalFamily },
|
|
235614
|
+
"data-item": "btn-fontFamily-option"
|
|
235615
|
+
}
|
|
235616
|
+
});
|
|
235617
|
+
}
|
|
235618
|
+
return merged.length > TOOLBAR_FONTS.length ? merged.sort(compareToolbarFontOptions) : undefined;
|
|
235619
|
+
}
|
|
235100
235620
|
function isExtensionRulesEnabled(extension2, enabled) {
|
|
235101
235621
|
if (Array.isArray(enabled))
|
|
235102
235622
|
return enabled.some((enabledExtension) => {
|
|
@@ -263179,6 +263699,9 @@ function applySourceAnchorDataset(element3, sourceAnchor) {
|
|
|
263179
263699
|
else
|
|
263180
263700
|
delete element3.dataset.sourceOccurrenceId;
|
|
263181
263701
|
}
|
|
263702
|
+
function allowFontSynthesis(element3) {
|
|
263703
|
+
element3.style.setProperty("font-synthesis", "weight style");
|
|
263704
|
+
}
|
|
263182
263705
|
function getCellSegmentCount(cell2) {
|
|
263183
263706
|
if (cell2.blocks && cell2.blocks.length > 0) {
|
|
263184
263707
|
let total = 0;
|
|
@@ -267723,7 +268246,10 @@ function calculateBalancedColumnHeight(ctx$1, config3 = DEFAULT_BALANCING_CONFIG
|
|
|
267723
268246
|
iterations: 0
|
|
267724
268247
|
};
|
|
267725
268248
|
const totalHeight = ctx$1.contentBlocks.reduce((sum, b$1) => sum + b$1.measuredHeight, 0);
|
|
267726
|
-
const maxBlockHeight = ctx$1.contentBlocks.reduce((m$1, b$1) =>
|
|
268249
|
+
const maxBlockHeight = ctx$1.contentBlocks.reduce((m$1, b$1) => {
|
|
268250
|
+
const indivisible = b$1.canBreak && b$1.lineHeights && b$1.lineHeights.length > 1 ? Math.max(...b$1.lineHeights) : b$1.measuredHeight;
|
|
268251
|
+
return Math.max(m$1, indivisible);
|
|
268252
|
+
}, 0);
|
|
267727
268253
|
if (totalHeight < config3.minColumnHeight * ctx$1.columnCount)
|
|
267728
268254
|
return createSingleColumnResult(ctx$1);
|
|
267729
268255
|
let lo = Math.max(maxBlockHeight, config3.minColumnHeight);
|
|
@@ -267893,6 +268419,8 @@ function shouldSkipBalancing(ctx$1, config3 = DEFAULT_BALANCING_CONFIG) {
|
|
|
267893
268419
|
}
|
|
267894
268420
|
function getFragmentHeight(fragment, measureMap) {
|
|
267895
268421
|
if (fragment.kind === "para") {
|
|
268422
|
+
if (fragment.lines && fragment.lines.length > 0)
|
|
268423
|
+
return fragment.lines.reduce((sum$1, l) => sum$1 + (l.lineHeight ?? 0), 0);
|
|
267896
268424
|
const measure = measureMap.get(fragment.blockId);
|
|
267897
268425
|
if (!measure || measure.kind !== "paragraph" || !measure.lines)
|
|
267898
268426
|
return 0;
|
|
@@ -267973,13 +268501,38 @@ function balanceSectionOnPage(args$1) {
|
|
|
267973
268501
|
return a2.x - b$1.x;
|
|
267974
268502
|
return a2.y - b$1.y;
|
|
267975
268503
|
});
|
|
267976
|
-
const
|
|
267977
|
-
|
|
267978
|
-
|
|
267979
|
-
|
|
267980
|
-
|
|
267981
|
-
|
|
267982
|
-
|
|
268504
|
+
const lineHeightsFor = (f2) => {
|
|
268505
|
+
if (f2.kind !== "para")
|
|
268506
|
+
return;
|
|
268507
|
+
if (args$1.sectPrMarkerBlockIds?.has(f2.blockId))
|
|
268508
|
+
return;
|
|
268509
|
+
if (args$1.keepLinesBlockIds?.has(f2.blockId))
|
|
268510
|
+
return;
|
|
268511
|
+
if (f2.lines && f2.lines.length > 0) {
|
|
268512
|
+
if (f2.lines.length <= 1)
|
|
268513
|
+
return;
|
|
268514
|
+
return f2.lines.map((l) => l.lineHeight);
|
|
268515
|
+
}
|
|
268516
|
+
const measure = args$1.measureMap.get(f2.blockId);
|
|
268517
|
+
if (!measure || measure.kind !== "paragraph" || !Array.isArray(measure.lines))
|
|
268518
|
+
return;
|
|
268519
|
+
const fromLine = f2.fromLine ?? 0;
|
|
268520
|
+
const toLine = f2.toLine ?? measure.lines.length;
|
|
268521
|
+
if (toLine - fromLine <= 1)
|
|
268522
|
+
return;
|
|
268523
|
+
return measure.lines.slice(fromLine, toLine).map((l) => l.lineHeight);
|
|
268524
|
+
};
|
|
268525
|
+
const contentBlocks = ordered.map((f2, i4) => {
|
|
268526
|
+
const lineHeights = lineHeightsFor(f2);
|
|
268527
|
+
return {
|
|
268528
|
+
blockId: `${f2.blockId}#${i4}`,
|
|
268529
|
+
measuredHeight: getBalancingHeight(f2, args$1.measureMap, args$1.sectPrMarkerBlockIds),
|
|
268530
|
+
canBreak: lineHeights !== undefined,
|
|
268531
|
+
keepWithNext: false,
|
|
268532
|
+
keepTogether: lineHeights === undefined,
|
|
268533
|
+
lineHeights
|
|
268534
|
+
};
|
|
268535
|
+
});
|
|
267983
268536
|
if (shouldSkipBalancing({
|
|
267984
268537
|
columnCount,
|
|
267985
268538
|
columnWidth,
|
|
@@ -268014,6 +268567,39 @@ function balanceSectionOnPage(args$1) {
|
|
|
268014
268567
|
f2.x = columnX(col);
|
|
268015
268568
|
f2.y = colCursors[col];
|
|
268016
268569
|
f2.width = columnWidth;
|
|
268570
|
+
const bp = result.blockBreakPoints?.get(block.blockId);
|
|
268571
|
+
if (bp && bp.heightAfterBreak > 0 && col < columnCount - 1) {
|
|
268572
|
+
const splitLine = (f2.fromLine ?? 0) + bp.breakAfterLine + 1;
|
|
268573
|
+
const measureLineCount = args$1.measureMap.get(f2.blockId)?.lines?.length ?? splitLine;
|
|
268574
|
+
const originalToLine = f2.toLine ?? measureLineCount;
|
|
268575
|
+
const originalContinuesOnNext = f2.continuesOnNext ?? false;
|
|
268576
|
+
const secondHalf = {
|
|
268577
|
+
...f2,
|
|
268578
|
+
fromLine: splitLine,
|
|
268579
|
+
toLine: originalToLine,
|
|
268580
|
+
x: columnX(col + 1),
|
|
268581
|
+
y: colCursors[col + 1],
|
|
268582
|
+
width: columnWidth,
|
|
268583
|
+
continuesFromPrev: true,
|
|
268584
|
+
continuesOnNext: originalContinuesOnNext
|
|
268585
|
+
};
|
|
268586
|
+
if (f2.lines && f2.lines.length > 0) {
|
|
268587
|
+
secondHalf.lines = f2.lines.slice(bp.breakAfterLine + 1);
|
|
268588
|
+
f2.lines = f2.lines.slice(0, bp.breakAfterLine + 1);
|
|
268589
|
+
}
|
|
268590
|
+
f2.toLine = splitLine;
|
|
268591
|
+
f2.continuesOnNext = true;
|
|
268592
|
+
colCursors[col] += bp.heightBeforeBreak;
|
|
268593
|
+
colCursors[col + 1] += bp.heightAfterBreak;
|
|
268594
|
+
const fragIdx = fragments.indexOf(f2);
|
|
268595
|
+
if (fragIdx >= 0)
|
|
268596
|
+
fragments.splice(fragIdx + 1, 0, secondHalf);
|
|
268597
|
+
if (colCursors[col] > maxY)
|
|
268598
|
+
maxY = colCursors[col];
|
|
268599
|
+
if (colCursors[col + 1] > maxY)
|
|
268600
|
+
maxY = colCursors[col + 1];
|
|
268601
|
+
continue;
|
|
268602
|
+
}
|
|
268017
268603
|
colCursors[col] += block.measuredHeight;
|
|
268018
268604
|
if (colCursors[col] > maxY)
|
|
268019
268605
|
maxY = colCursors[col];
|
|
@@ -269165,6 +269751,7 @@ function layoutDocument(blocks2, measures, options = {}) {
|
|
|
269165
269751
|
const sectionTypeIsExplicit = /* @__PURE__ */ new Map;
|
|
269166
269752
|
let lastSectionIdx = null;
|
|
269167
269753
|
const sectPrMarkerBlockIds = /* @__PURE__ */ new Set;
|
|
269754
|
+
const keepLinesBlockIds = /* @__PURE__ */ new Set;
|
|
269168
269755
|
let documentHasExplicitColumnBreak = false;
|
|
269169
269756
|
let documentHasAnySectionBreak = false;
|
|
269170
269757
|
const alreadyBalancedSections = /* @__PURE__ */ new Set;
|
|
@@ -269198,6 +269785,8 @@ function layoutDocument(blocks2, measures, options = {}) {
|
|
|
269198
269785
|
documentHasExplicitColumnBreak = true;
|
|
269199
269786
|
if (block.kind === "paragraph" && blockWithAttrs.attrs?.sectPrMarker === true)
|
|
269200
269787
|
sectPrMarkerBlockIds.add(block.id);
|
|
269788
|
+
if (block.kind === "paragraph" && blockWithAttrs.attrs?.keepLines === true)
|
|
269789
|
+
keepLinesBlockIds.add(block.id);
|
|
269201
269790
|
});
|
|
269202
269791
|
const anchoredByParagraph = collectAnchoredDrawings(blocks2, measures);
|
|
269203
269792
|
const anchoredTables = collectAnchoredTables(blocks2, measures);
|
|
@@ -269416,7 +270005,8 @@ function layoutDocument(blocks2, measures, options = {}) {
|
|
|
269416
270005
|
columnWidth: normalized.width,
|
|
269417
270006
|
availableHeight,
|
|
269418
270007
|
measureMap: balancingMeasureMap,
|
|
269419
|
-
sectPrMarkerBlockIds
|
|
270008
|
+
sectPrMarkerBlockIds,
|
|
270009
|
+
keepLinesBlockIds
|
|
269420
270010
|
});
|
|
269421
270011
|
if (balanceResult) {
|
|
269422
270012
|
state.cursorY = balanceResult.maxY;
|
|
@@ -269815,7 +270405,9 @@ function layoutDocument(blocks2, measures, options = {}) {
|
|
|
269815
270405
|
const isMultiPage = sectionPagesCount > 1;
|
|
269816
270406
|
if (isMultiPage && !isLast)
|
|
269817
270407
|
continue;
|
|
269818
|
-
const
|
|
270408
|
+
const nextSectionBeginType = sectionEndBreakType.get(sectionIdx + 1);
|
|
270409
|
+
const nextIsBody = lastSectionIdx !== null && sectionIdx + 1 === lastSectionIdx;
|
|
270410
|
+
const allowedByMidDocContinuous = !isLast && !nextIsBody && nextSectionBeginType === "continuous";
|
|
269819
270411
|
const allowedByBodyExplicitContinuous = bodyExplicitContinuousIdx !== null && sectionIdx === bodyExplicitContinuousIdx - 1 && !isExplicitNonContinuous;
|
|
269820
270412
|
if (!allowedByMidDocContinuous && !allowedByBodyExplicitContinuous && !isMultiPage)
|
|
269821
270413
|
continue;
|
|
@@ -269846,7 +270438,8 @@ function layoutDocument(blocks2, measures, options = {}) {
|
|
|
269846
270438
|
columnWidth: normalized.width,
|
|
269847
270439
|
availableHeight: sectionAvailableHeight,
|
|
269848
270440
|
measureMap: balancingMeasureMap,
|
|
269849
|
-
sectPrMarkerBlockIds
|
|
270441
|
+
sectPrMarkerBlockIds,
|
|
270442
|
+
keepLinesBlockIds
|
|
269850
270443
|
});
|
|
269851
270444
|
}
|
|
269852
270445
|
for (const state of states) {
|
|
@@ -274683,9 +275276,28 @@ function computeDomCaretPageLocal(options, pos) {
|
|
|
274683
275276
|
const boundary = resolveTextBoundaryInElement(targetEl, pos, entry.pmStart, entry.pmEnd, "forward");
|
|
274684
275277
|
if (!boundary) {
|
|
274685
275278
|
const elRect = targetEl.getBoundingClientRect();
|
|
275279
|
+
if (targetEl.classList.contains("superdoc-line")) {
|
|
275280
|
+
const paddingLeft = parseFloat(targetEl.style.paddingLeft) || 0;
|
|
275281
|
+
const paddingRight = parseFloat(targetEl.style.paddingRight) || 0;
|
|
275282
|
+
const lineLeft = (elRect.left - pageRect.left) / zoom + paddingLeft;
|
|
275283
|
+
const lineRight = (elRect.right - pageRect.left) / zoom - paddingRight;
|
|
275284
|
+
const textAlign = targetEl.style.textAlign;
|
|
275285
|
+
let x;
|
|
275286
|
+
if (textAlign === "center")
|
|
275287
|
+
x = (lineLeft + lineRight) / 2;
|
|
275288
|
+
else if (textAlign === "right")
|
|
275289
|
+
x = lineRight;
|
|
275290
|
+
else
|
|
275291
|
+
x = lineLeft;
|
|
275292
|
+
return {
|
|
275293
|
+
pageIndex: Number(page.dataset.pageIndex ?? "0"),
|
|
275294
|
+
x,
|
|
275295
|
+
y: (elRect.top - pageRect.top) / zoom
|
|
275296
|
+
};
|
|
275297
|
+
}
|
|
274686
275298
|
const isEmptySdtPlaceholder = targetEl.classList.contains("superdoc-empty-sdt-placeholder") || targetEl.classList.contains("superdoc-empty-inline-sdt-placeholder") || targetEl.classList.contains("superdoc-empty-block-sdt-placeholder");
|
|
274687
275299
|
const atEnd = isEmptySdtPlaceholder ? pos > entry.pmEnd : pos >= entry.pmEnd;
|
|
274688
|
-
const yRect = (isEmptySdtPlaceholder ? targetEl.closest(".superdoc-line") : null)?.getBoundingClientRect() ?? elRect;
|
|
275300
|
+
const yRect = (isEmptySdtPlaceholder || targetEl.classList.contains("superdoc-tab") ? targetEl.closest(".superdoc-line") : null)?.getBoundingClientRect() ?? elRect;
|
|
274689
275301
|
return {
|
|
274690
275302
|
pageIndex: Number(page.dataset.pageIndex ?? "0"),
|
|
274691
275303
|
x: ((atEnd ? elRect.right : elRect.left) - pageRect.left) / zoom,
|
|
@@ -282108,7 +282720,8 @@ function makeResolveFace(resolver2, hasFace) {
|
|
|
282108
282720
|
const r$1 = resolver2.resolveFace(logical, face, hasFace);
|
|
282109
282721
|
return {
|
|
282110
282722
|
physicalFamily: r$1.physicalFamily,
|
|
282111
|
-
reason: r$1.reason
|
|
282723
|
+
reason: r$1.reason,
|
|
282724
|
+
sourceFace: r$1.sourceFace
|
|
282112
282725
|
};
|
|
282113
282726
|
};
|
|
282114
282727
|
if (resolver2)
|
|
@@ -282138,10 +282751,14 @@ function collect(acc, node2, resolveFace2) {
|
|
|
282138
282751
|
const usedKey = `${logicalPrimary.toLowerCase()}|${weight}|${style2}`;
|
|
282139
282752
|
if (acc.usedFaces.has(usedKey))
|
|
282140
282753
|
return;
|
|
282141
|
-
const { physicalFamily, reason } = resolveFace2(node2.fontFamily, {
|
|
282754
|
+
const { physicalFamily, reason, sourceFace } = resolveFace2(node2.fontFamily, {
|
|
282142
282755
|
weight,
|
|
282143
282756
|
style: style2
|
|
282144
282757
|
});
|
|
282758
|
+
const requiredFace = sourceFace ?? {
|
|
282759
|
+
weight,
|
|
282760
|
+
style: style2
|
|
282761
|
+
};
|
|
282145
282762
|
acc.usedFaces.set(usedKey, {
|
|
282146
282763
|
logicalFamily: logicalPrimary,
|
|
282147
282764
|
weight,
|
|
@@ -282152,15 +282769,17 @@ function collect(acc, node2, resolveFace2) {
|
|
|
282152
282769
|
weight,
|
|
282153
282770
|
style2,
|
|
282154
282771
|
(physicalFamily || "").toLowerCase(),
|
|
282772
|
+
requiredFace.weight,
|
|
282773
|
+
requiredFace.style,
|
|
282155
282774
|
reason
|
|
282156
282775
|
]);
|
|
282157
282776
|
if (physicalFamily) {
|
|
282158
|
-
const reqKey = `${physicalFamily.toLowerCase()}|${weight}|${
|
|
282777
|
+
const reqKey = `${physicalFamily.toLowerCase()}|${requiredFace.weight}|${requiredFace.style}`;
|
|
282159
282778
|
if (!acc.requiredFaces.has(reqKey))
|
|
282160
282779
|
acc.requiredFaces.set(reqKey, {
|
|
282161
282780
|
family: physicalFamily,
|
|
282162
|
-
weight,
|
|
282163
|
-
style:
|
|
282781
|
+
weight: requiredFace.weight,
|
|
282782
|
+
style: requiredFace.style
|
|
282164
282783
|
});
|
|
282165
282784
|
}
|
|
282166
282785
|
}
|
|
@@ -301788,6 +302407,7 @@ var Node$13 = class Node$14 {
|
|
|
301788
302407
|
this.syncInlineStyleLayers(options.editorState, options.domPositionIndex);
|
|
301789
302408
|
this.applyProofingAnnotations(options.proofingAnnotations, options.rebuildDomPositionIndex);
|
|
301790
302409
|
options.reapplyStructuredContentHover?.();
|
|
302410
|
+
options.reapplyTocGroupHover?.();
|
|
301791
302411
|
}
|
|
301792
302412
|
destroy() {
|
|
301793
302413
|
this.#proofingDecorator.clear();
|
|
@@ -301797,6 +302417,83 @@ var Node$13 = class Node$14 {
|
|
|
301797
302417
|
this.#commentHighlightDecorator.destroy();
|
|
301798
302418
|
this.#decorationBridge.destroy();
|
|
301799
302419
|
}
|
|
302420
|
+
}, HoverGroupCoordinator = class {
|
|
302421
|
+
#spec;
|
|
302422
|
+
#current = null;
|
|
302423
|
+
constructor(spec) {
|
|
302424
|
+
this.handleMouseEnter = (event) => {
|
|
302425
|
+
const entry = event.target?.closest?.(this.#spec.entrySelector);
|
|
302426
|
+
if (!entry)
|
|
302427
|
+
return;
|
|
302428
|
+
const id2 = this.#spec.getId(entry);
|
|
302429
|
+
if (!id2)
|
|
302430
|
+
return;
|
|
302431
|
+
this.#set(id2);
|
|
302432
|
+
};
|
|
302433
|
+
this.handleMouseLeave = (event) => {
|
|
302434
|
+
const entry = event.target?.closest?.(this.#spec.entrySelector);
|
|
302435
|
+
if (!entry)
|
|
302436
|
+
return;
|
|
302437
|
+
const id2 = this.#spec.getId(entry);
|
|
302438
|
+
if (!id2)
|
|
302439
|
+
return;
|
|
302440
|
+
const relatedTarget = event.relatedTarget;
|
|
302441
|
+
if (relatedTarget) {
|
|
302442
|
+
const nextEntry = relatedTarget.closest?.(this.#spec.entrySelector);
|
|
302443
|
+
if (nextEntry && this.#spec.getId(nextEntry) === id2)
|
|
302444
|
+
return;
|
|
302445
|
+
}
|
|
302446
|
+
this.clear();
|
|
302447
|
+
};
|
|
302448
|
+
this.#spec = spec;
|
|
302449
|
+
}
|
|
302450
|
+
reapply() {
|
|
302451
|
+
if (!this.#current)
|
|
302452
|
+
return;
|
|
302453
|
+
const { id: id2 } = this.#current;
|
|
302454
|
+
const elements = this.#spec.queryGroup(id2);
|
|
302455
|
+
if (elements.length === 0) {
|
|
302456
|
+
this.#current = null;
|
|
302457
|
+
return;
|
|
302458
|
+
}
|
|
302459
|
+
this.#applyClass(elements);
|
|
302460
|
+
this.#spec.onApply?.(elements);
|
|
302461
|
+
this.#current = {
|
|
302462
|
+
id: id2,
|
|
302463
|
+
elements
|
|
302464
|
+
};
|
|
302465
|
+
}
|
|
302466
|
+
clear() {
|
|
302467
|
+
if (!this.#current)
|
|
302468
|
+
return;
|
|
302469
|
+
for (const element3 of this.#current.elements) {
|
|
302470
|
+
element3.classList.remove(this.#spec.hoverClass);
|
|
302471
|
+
this.#spec.onClear?.(element3);
|
|
302472
|
+
}
|
|
302473
|
+
this.#current = null;
|
|
302474
|
+
}
|
|
302475
|
+
#set(id2) {
|
|
302476
|
+
if (this.#current?.id === id2)
|
|
302477
|
+
return;
|
|
302478
|
+
this.clear();
|
|
302479
|
+
const elements = this.#spec.queryGroup(id2);
|
|
302480
|
+
if (elements.length === 0)
|
|
302481
|
+
return;
|
|
302482
|
+
this.#applyClass(elements);
|
|
302483
|
+
this.#spec.onApply?.(elements);
|
|
302484
|
+
this.#current = {
|
|
302485
|
+
id: id2,
|
|
302486
|
+
elements
|
|
302487
|
+
};
|
|
302488
|
+
}
|
|
302489
|
+
#applyClass(elements) {
|
|
302490
|
+
const filter = this.#spec.shouldApplyTo;
|
|
302491
|
+
for (const element3 of elements) {
|
|
302492
|
+
if (filter && !filter(element3))
|
|
302493
|
+
continue;
|
|
302494
|
+
element3.classList.add(this.#spec.hoverClass);
|
|
302495
|
+
}
|
|
302496
|
+
}
|
|
301800
302497
|
}, ProofingStore = class {
|
|
301801
302498
|
#issuesBySegment = /* @__PURE__ */ new Map;
|
|
301802
302499
|
addIssue(issue2) {
|
|
@@ -302407,6 +303104,9 @@ var Node$13 = class Node$14 {
|
|
|
302407
303104
|
color: inherit !important;
|
|
302408
303105
|
text-decoration: none !important;
|
|
302409
303106
|
cursor: default;
|
|
303107
|
+
/* Disable native link drag so our pointer loop can run text-selection. */
|
|
303108
|
+
-webkit-user-drag: none;
|
|
303109
|
+
user-drag: none;
|
|
302410
303110
|
}
|
|
302411
303111
|
|
|
302412
303112
|
.superdoc-toc-entry .superdoc-link:hover {
|
|
@@ -302418,6 +303118,31 @@ var Node$13 = class Node$14 {
|
|
|
302418
303118
|
outline: none;
|
|
302419
303119
|
}
|
|
302420
303120
|
|
|
303121
|
+
/* TOC hover. .toc-group-hover is set by PresentationEditor on every entry
|
|
303122
|
+
sharing a data-toc-id so the whole TOC greys out together. The ::after
|
|
303123
|
+
stripe (height set via --toc-gap-below) fills the paragraph-spacing gap
|
|
303124
|
+
between adjacent entries so the hover reads as one continuous block. */
|
|
303125
|
+
.superdoc-toc-entry:hover,
|
|
303126
|
+
.superdoc-toc-entry.toc-group-hover {
|
|
303127
|
+
background-color: var(--sd-content-controls-block-hover-bg, #f2f2f2);
|
|
303128
|
+
}
|
|
303129
|
+
|
|
303130
|
+
/* Pointer-events stay on (default) so the stripe extends the parent entry's
|
|
303131
|
+
hit-test area through the paragraph-spacing gap. Without this, moving the
|
|
303132
|
+
cursor between two adjacent entries fires mouseout on the upper entry with
|
|
303133
|
+
relatedTarget = the page (not a TOC entry), the coordinator drops the
|
|
303134
|
+
group-hover class, and the grey disappears for a frame before the next
|
|
303135
|
+
entry's mouseover restores it — visible as a flicker. */
|
|
303136
|
+
.superdoc-toc-entry.toc-group-hover::after {
|
|
303137
|
+
content: '';
|
|
303138
|
+
position: absolute;
|
|
303139
|
+
left: 0;
|
|
303140
|
+
right: 0;
|
|
303141
|
+
top: 100%;
|
|
303142
|
+
height: var(--toc-gap-below, 0px);
|
|
303143
|
+
background-color: var(--sd-content-controls-block-hover-bg, #f2f2f2);
|
|
303144
|
+
}
|
|
303145
|
+
|
|
302421
303146
|
/* Remove focus outlines from layout engine elements */
|
|
302422
303147
|
.superdoc-layout,
|
|
302423
303148
|
.superdoc-page,
|
|
@@ -304472,6 +305197,7 @@ menclose::after {
|
|
|
304472
305197
|
});
|
|
304473
305198
|
if (run2.fontSize != null)
|
|
304474
305199
|
markerEl.style.fontSize = `${run2.fontSize}px`;
|
|
305200
|
+
allowFontSynthesis(markerEl);
|
|
304475
305201
|
markerEl.style.fontWeight = run2.bold ? "bold" : "";
|
|
304476
305202
|
markerEl.style.fontStyle = run2.italic ? "italic" : "";
|
|
304477
305203
|
if (run2.color)
|
|
@@ -306395,8 +307121,12 @@ menclose::after {
|
|
|
306395
307121
|
applyResolvedFragmentFrame(fragmentEl, resolvedItem, fragment);
|
|
306396
307122
|
else
|
|
306397
307123
|
applyFragmentFrame(fragmentEl, fragment);
|
|
306398
|
-
if (isTocEntry)
|
|
306399
|
-
fragmentEl.classList.add(
|
|
307124
|
+
if (isTocEntry) {
|
|
307125
|
+
fragmentEl.classList.add(DOM_CLASS_NAMES.TOC_ENTRY);
|
|
307126
|
+
const tocId = block.attrs?.tocId;
|
|
307127
|
+
if (typeof tocId === "string" && tocId.length > 0)
|
|
307128
|
+
fragmentEl.dataset.tocId = tocId;
|
|
307129
|
+
}
|
|
306400
307130
|
if (paraContinuesFromPrev)
|
|
306401
307131
|
fragmentEl.dataset.continuesFromPrev = "true";
|
|
306402
307132
|
if (paraContinuesOnNext)
|
|
@@ -306453,6 +307183,7 @@ menclose::after {
|
|
|
306453
307183
|
style: run2.italic ? "italic" : "normal"
|
|
306454
307184
|
});
|
|
306455
307185
|
dropCapEl.style.fontSize = `${run2.fontSize}px`;
|
|
307186
|
+
allowFontSynthesis(dropCapEl);
|
|
306456
307187
|
if (run2.bold)
|
|
306457
307188
|
dropCapEl.style.fontWeight = "bold";
|
|
306458
307189
|
if (run2.italic)
|
|
@@ -306572,6 +307303,7 @@ menclose::after {
|
|
|
306572
307303
|
style: run2.italic ? "italic" : "normal"
|
|
306573
307304
|
});
|
|
306574
307305
|
element3.style.fontSize = `${run2.fontSize}px`;
|
|
307306
|
+
allowFontSynthesis(element3);
|
|
306575
307307
|
if (run2.bold)
|
|
306576
307308
|
element3.style.fontWeight = "bold";
|
|
306577
307309
|
if (run2.italic)
|
|
@@ -306764,6 +307496,7 @@ menclose::after {
|
|
|
306764
307496
|
}
|
|
306765
307497
|
if (run2.textColor)
|
|
306766
307498
|
annotation.style.color = run2.textColor;
|
|
307499
|
+
allowFontSynthesis(annotation);
|
|
306767
307500
|
if (run2.bold)
|
|
306768
307501
|
annotation.style.fontWeight = "bold";
|
|
306769
307502
|
if (run2.italic)
|
|
@@ -314591,6 +315324,7 @@ menclose::after {
|
|
|
314591
315324
|
#cellAnchor = null;
|
|
314592
315325
|
#cellDragMode = "none";
|
|
314593
315326
|
#pendingMarginClick = null;
|
|
315327
|
+
#pendingTocLinkNav = null;
|
|
314594
315328
|
#lastSelectedImageBlockId = null;
|
|
314595
315329
|
#suppressFocusInFromDraggable = false;
|
|
314596
315330
|
#pendingStructuredContentLabelGesture = null;
|
|
@@ -315132,10 +315866,14 @@ menclose::after {
|
|
|
315132
315866
|
return;
|
|
315133
315867
|
}
|
|
315134
315868
|
const linkEl = target?.closest?.("a.superdoc-link");
|
|
315135
|
-
|
|
315136
|
-
|
|
315137
|
-
|
|
315138
|
-
|
|
315869
|
+
this.#pendingTocLinkNav = null;
|
|
315870
|
+
if (linkEl)
|
|
315871
|
+
if (linkEl.closest(`.${DOM_CLASS_NAMES.TOC_ENTRY}`))
|
|
315872
|
+
this.#pendingTocLinkNav = linkEl;
|
|
315873
|
+
else {
|
|
315874
|
+
this.#handleLinkClick(event, linkEl);
|
|
315875
|
+
return;
|
|
315876
|
+
}
|
|
315139
315877
|
const annotationEl = target?.closest?.(buildAnnotationSelector());
|
|
315140
315878
|
const isDraggableAnnotation = target?.closest?.(DRAGGABLE_SELECTOR) != null;
|
|
315141
315879
|
const isNativeDragSource = target?.closest?.(DRAG_SOURCE_SELECTOR) != null;
|
|
@@ -315474,6 +316212,10 @@ menclose::after {
|
|
|
315474
316212
|
event
|
|
315475
316213
|
});
|
|
315476
316214
|
this.#suppressFocusInFromDraggable = false;
|
|
316215
|
+
const pendingTocLink = this.#pendingTocLinkNav;
|
|
316216
|
+
this.#pendingTocLinkNav = null;
|
|
316217
|
+
if (pendingTocLink && !this.#dragThresholdExceeded)
|
|
316218
|
+
this.#handleLinkClick(event, pendingTocLink);
|
|
315477
316219
|
if (!this.#isDragging) {
|
|
315478
316220
|
this.#stopAutoScroll();
|
|
315479
316221
|
return;
|
|
@@ -319498,6 +320240,17 @@ menclose::after {
|
|
|
319498
320240
|
const declaredRows = buildFontReport(declared.filter((family2) => family2 && !usedFamilies.has(family2.toLowerCase())), registry3, resolver2);
|
|
319499
320241
|
return [...faceRows, ...declaredRows];
|
|
319500
320242
|
}
|
|
320243
|
+
getDocumentFontOptions() {
|
|
320244
|
+
try {
|
|
320245
|
+
const usedFaces = this.#getUsedFaces?.() ?? [];
|
|
320246
|
+
if (!usedFaces.length)
|
|
320247
|
+
return [];
|
|
320248
|
+
const { registry: registry3 } = this.#resolveContext();
|
|
320249
|
+
return buildDocumentFontOptions(usedFaces, registry3, this.#fontResolver ?? undefined);
|
|
320250
|
+
} catch {
|
|
320251
|
+
return [];
|
|
320252
|
+
}
|
|
320253
|
+
}
|
|
319501
320254
|
async ensureReadyForMeasure() {
|
|
319502
320255
|
if (this.#getRequiredFaces)
|
|
319503
320256
|
return this.#ensureFacesReady(this.#getRequiredFaces);
|
|
@@ -319937,13 +320690,13 @@ menclose::after {
|
|
|
319937
320690
|
return;
|
|
319938
320691
|
console.log(...args$1);
|
|
319939
320692
|
}, HEADER_FOOTER_INIT_BUDGET_MS = 200, MAX_ZOOM_WARNING_THRESHOLD = 10, MAX_SELECTION_RECTS_PER_USER = 100, SEMANTIC_RESIZE_DEBOUNCE_MS = 120, MIN_SEMANTIC_CONTENT_WIDTH_PX = 1, GLOBAL_PERFORMANCE, PresentationEditor, ICONS, TEXTS, tableActionsOptions, TRACKED_MARK_NAMES;
|
|
319940
|
-
var
|
|
320693
|
+
var init_src_BB_FFFud_es = __esm(() => {
|
|
319941
320694
|
init_rolldown_runtime_Bg48TavK_es();
|
|
319942
|
-
|
|
320695
|
+
init_SuperConverter_DJyHekqW_es();
|
|
319943
320696
|
init_jszip_C49i9kUs_es();
|
|
319944
320697
|
init_xml_js_CqGKpaft_es();
|
|
319945
320698
|
init_uuid_B2wVPhPi_es();
|
|
319946
|
-
|
|
320699
|
+
init_create_headless_toolbar_Jmx2i_9i_es();
|
|
319947
320700
|
init_constants_D9qj59G2_es();
|
|
319948
320701
|
init_dist_B8HfvhaK_es();
|
|
319949
320702
|
init_unified_Dsuw2be5_es();
|
|
@@ -338873,6 +339626,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
338873
339626
|
TABLE_FRAGMENT: "superdoc-table-fragment",
|
|
338874
339627
|
DOCUMENT_SECTION: "superdoc-document-section",
|
|
338875
339628
|
SDT_GROUP_HOVER: "sdt-group-hover",
|
|
339629
|
+
TOC_ENTRY: "superdoc-toc-entry",
|
|
339630
|
+
TOC_GROUP_HOVER: "toc-group-hover",
|
|
338876
339631
|
IMAGE_FRAGMENT: "superdoc-image-fragment",
|
|
338877
339632
|
INLINE_IMAGE: "superdoc-inline-image",
|
|
338878
339633
|
LIST_MARKER: "superdoc-list-marker",
|
|
@@ -340653,7 +341408,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
340653
341408
|
};
|
|
340654
341409
|
}
|
|
340655
341410
|
}, [["__scopeId", "data-v-d25821a5"]]);
|
|
340656
|
-
TOOLBAR_FONTS =
|
|
341411
|
+
TOOLBAR_FONTS = getBuiltInToolbarFontOfferings().map((offering) => ({
|
|
340657
341412
|
label: offering.logicalFamily,
|
|
340658
341413
|
key: fontOfferingStack(offering),
|
|
340659
341414
|
fontWeight: 400,
|
|
@@ -341186,7 +341941,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
341186
341941
|
const menuRef = exports_vue.ref(null);
|
|
341187
341942
|
const menuPosition = exports_vue.ref({
|
|
341188
341943
|
top: "0px",
|
|
341189
|
-
left: "0px"
|
|
341944
|
+
left: "0px",
|
|
341945
|
+
maxHeight: "none"
|
|
341190
341946
|
});
|
|
341191
341947
|
const optionRefs = exports_vue.ref([]);
|
|
341192
341948
|
const keyboardIndex = exports_vue.ref(-1);
|
|
@@ -341223,6 +341979,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
341223
341979
|
position: "fixed",
|
|
341224
341980
|
top: menuPosition.value.top,
|
|
341225
341981
|
left: menuPosition.value.left,
|
|
341982
|
+
maxHeight: menuPosition.value.maxHeight,
|
|
341226
341983
|
zIndex: 2000
|
|
341227
341984
|
};
|
|
341228
341985
|
});
|
|
@@ -341238,17 +341995,30 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
341238
341995
|
if (!triggerRef.value)
|
|
341239
341996
|
return;
|
|
341240
341997
|
const rect = triggerRef.value.getBoundingClientRect();
|
|
341241
|
-
const
|
|
341998
|
+
const menuEl = menuRef.value;
|
|
341999
|
+
const menuWidth = menuEl?.offsetWidth ?? 0;
|
|
342000
|
+
const menuHeight = menuEl?.scrollHeight ?? menuEl?.offsetHeight ?? 0;
|
|
341242
342001
|
const viewportWidth = window.innerWidth || document.documentElement.clientWidth || 0;
|
|
342002
|
+
const viewportHeight = window.innerHeight || document.documentElement.clientHeight || 0;
|
|
341243
342003
|
const gutter = 8;
|
|
342004
|
+
const gap = 4;
|
|
342005
|
+
const belowTop = rect.bottom + gap;
|
|
342006
|
+
const aboveBottom = rect.top - gap;
|
|
342007
|
+
const availableBelow = Math.max(0, viewportHeight - belowTop - gutter);
|
|
342008
|
+
const availableAbove = Math.max(0, aboveBottom - gutter);
|
|
342009
|
+
const openAbove = availableBelow < menuHeight && availableAbove > availableBelow;
|
|
342010
|
+
const maxHeight = openAbove ? availableAbove : availableBelow;
|
|
342011
|
+
const menuRenderHeight = menuHeight ? Math.min(menuHeight, maxHeight) : maxHeight;
|
|
342012
|
+
const top$1 = openAbove ? Math.max(gutter, aboveBottom - menuRenderHeight) : belowTop;
|
|
341244
342013
|
let left$1 = rect.left;
|
|
341245
342014
|
if (props.placement === "bottom-end")
|
|
341246
342015
|
left$1 = rect.right - menuWidth;
|
|
341247
342016
|
const maxLeft = Math.max(gutter, viewportWidth - menuWidth - gutter);
|
|
341248
342017
|
left$1 = Math.min(Math.max(gutter, left$1), maxLeft);
|
|
341249
342018
|
menuPosition.value = {
|
|
341250
|
-
top: `${
|
|
341251
|
-
left: `${left$1}px
|
|
342019
|
+
top: `${top$1}px`,
|
|
342020
|
+
left: `${left$1}px`,
|
|
342021
|
+
maxHeight: `${maxHeight}px`
|
|
341252
342022
|
};
|
|
341253
342023
|
};
|
|
341254
342024
|
const onTriggerClick = () => {
|
|
@@ -341314,8 +342084,13 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
341314
342084
|
el.setAttribute("tabindex", index2 === keyboardIndex.value ? "0" : "-1");
|
|
341315
342085
|
});
|
|
341316
342086
|
const target = optionRefs.value[keyboardIndex.value];
|
|
341317
|
-
if (target && typeof target.focus === "function")
|
|
342087
|
+
if (target && typeof target.focus === "function") {
|
|
341318
342088
|
target.focus();
|
|
342089
|
+
target.scrollIntoView?.({
|
|
342090
|
+
block: "nearest",
|
|
342091
|
+
inline: "nearest"
|
|
342092
|
+
});
|
|
342093
|
+
}
|
|
341319
342094
|
};
|
|
341320
342095
|
const moveKeyboardIndex = (direction) => {
|
|
341321
342096
|
const navigableIndexes = getNavigableIndexes();
|
|
@@ -341450,6 +342225,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
341450
342225
|
if (hasRenderOptions.value)
|
|
341451
342226
|
return;
|
|
341452
342227
|
keyboardIndex.value = getInitialKeyboardIndex();
|
|
342228
|
+
await exports_vue.nextTick();
|
|
341453
342229
|
focusKeyboardIndex();
|
|
341454
342230
|
}, { immediate: true });
|
|
341455
342231
|
exports_vue.watch(isOpen, (open) => {
|
|
@@ -341513,7 +342289,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
341513
342289
|
})]))]);
|
|
341514
342290
|
};
|
|
341515
342291
|
}
|
|
341516
|
-
}, [["__scopeId", "data-v-
|
|
342292
|
+
}, [["__scopeId", "data-v-69732782"]]);
|
|
341517
342293
|
SdTooltip_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
|
|
341518
342294
|
__name: "SdTooltip",
|
|
341519
342295
|
props: {
|
|
@@ -342163,16 +342939,21 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
342163
342939
|
toolbarKey.value += 1;
|
|
342164
342940
|
};
|
|
342165
342941
|
const onResizeThrottled = throttle(onWindowResized, 300);
|
|
342166
|
-
|
|
342942
|
+
const onToolbarItemsChanged = () => {
|
|
342943
|
+
toolbarKey.value += 1;
|
|
342944
|
+
};
|
|
342945
|
+
function teardownListeners() {
|
|
342167
342946
|
window.removeEventListener("resize", onResizeThrottled);
|
|
342168
342947
|
window.removeEventListener("keydown", onKeyDown);
|
|
342948
|
+
proxy.$toolbar.off?.("toolbar-items-changed", onToolbarItemsChanged);
|
|
342169
342949
|
containerResizeObserver?.disconnect();
|
|
342170
342950
|
containerResizeObserver = null;
|
|
342171
342951
|
}
|
|
342172
|
-
function
|
|
342173
|
-
|
|
342952
|
+
function setupListeners() {
|
|
342953
|
+
teardownListeners();
|
|
342174
342954
|
window.addEventListener("resize", onResizeThrottled);
|
|
342175
342955
|
window.addEventListener("keydown", onKeyDown);
|
|
342956
|
+
proxy.$toolbar.on?.("toolbar-items-changed", onToolbarItemsChanged);
|
|
342176
342957
|
if (typeof ResizeObserver !== "undefined" && proxy.$toolbar.config?.responsiveToContainer && proxy.$toolbar.toolbarContainer) {
|
|
342177
342958
|
containerResizeObserver = new ResizeObserver(() => {
|
|
342178
342959
|
onResizeThrottled();
|
|
@@ -342181,10 +342962,10 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
342181
342962
|
}
|
|
342182
342963
|
updateCompactSideGroups();
|
|
342183
342964
|
}
|
|
342184
|
-
exports_vue.onMounted(
|
|
342185
|
-
exports_vue.onActivated(
|
|
342186
|
-
exports_vue.onDeactivated(
|
|
342187
|
-
exports_vue.onBeforeUnmount(
|
|
342965
|
+
exports_vue.onMounted(setupListeners);
|
|
342966
|
+
exports_vue.onActivated(setupListeners);
|
|
342967
|
+
exports_vue.onDeactivated(teardownListeners);
|
|
342968
|
+
exports_vue.onBeforeUnmount(teardownListeners);
|
|
342188
342969
|
const handleCommand = ({ item, argument, option }) => {
|
|
342189
342970
|
proxy.$toolbar.emitCommand({
|
|
342190
342971
|
item,
|
|
@@ -342263,7 +343044,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
342263
343044
|
], 32);
|
|
342264
343045
|
};
|
|
342265
343046
|
}
|
|
342266
|
-
}, [["__scopeId", "data-v-
|
|
343047
|
+
}, [["__scopeId", "data-v-938eaa1b"]]);
|
|
342267
343048
|
toolbarTexts = {
|
|
342268
343049
|
bold: "Bold",
|
|
342269
343050
|
fontFamily: "Font",
|
|
@@ -342394,8 +343175,10 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
342394
343175
|
this._boundEditorHandlers = {
|
|
342395
343176
|
transaction: null,
|
|
342396
343177
|
selectionUpdate: null,
|
|
342397
|
-
focus: null
|
|
343178
|
+
focus: null,
|
|
343179
|
+
fontsChanged: null
|
|
342398
343180
|
};
|
|
343181
|
+
this._lastFontOptionsSignature = "";
|
|
342399
343182
|
this._restoreFocusTimeoutId = null;
|
|
342400
343183
|
if (!this.config.selector && this.config.element)
|
|
342401
343184
|
this.config.selector = this.config.element;
|
|
@@ -342454,24 +343237,40 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
342454
343237
|
if (this.config.groups && !Array.isArray(this.config.groups) && Object.keys(this.config.groups).length)
|
|
342455
343238
|
this.config.toolbarGroups = Object.keys(this.config.groups);
|
|
342456
343239
|
}
|
|
343240
|
+
#detachActiveEditorListeners() {
|
|
343241
|
+
if (!this.activeEditor || !this._boundEditorHandlers.transaction)
|
|
343242
|
+
return;
|
|
343243
|
+
this.activeEditor.off("transaction", this._boundEditorHandlers.transaction);
|
|
343244
|
+
this.activeEditor.off("selectionUpdate", this._boundEditorHandlers.selectionUpdate);
|
|
343245
|
+
this.activeEditor.off("focus", this._boundEditorHandlers.focus);
|
|
343246
|
+
this.activeEditor.off("fonts-changed", this._boundEditorHandlers.fontsChanged);
|
|
343247
|
+
this._boundEditorHandlers.transaction = null;
|
|
343248
|
+
this._boundEditorHandlers.selectionUpdate = null;
|
|
343249
|
+
this._boundEditorHandlers.focus = null;
|
|
343250
|
+
this._boundEditorHandlers.fontsChanged = null;
|
|
343251
|
+
}
|
|
342457
343252
|
setActiveEditor(editor) {
|
|
342458
|
-
|
|
342459
|
-
|
|
342460
|
-
|
|
342461
|
-
this.
|
|
342462
|
-
|
|
342463
|
-
this._boundEditorHandlers.selectionUpdate = null;
|
|
342464
|
-
this._boundEditorHandlers.focus = null;
|
|
343253
|
+
const sameEditor = editor === this.activeEditor;
|
|
343254
|
+
const alreadyListening = Boolean(this._boundEditorHandlers.transaction);
|
|
343255
|
+
if (sameEditor && (!editor || alreadyListening)) {
|
|
343256
|
+
this.updateToolbarState();
|
|
343257
|
+
return;
|
|
342465
343258
|
}
|
|
343259
|
+
this.#detachActiveEditorListeners();
|
|
342466
343260
|
this.activeEditor = editor;
|
|
342467
343261
|
if (editor) {
|
|
342468
343262
|
this._boundEditorHandlers.transaction = this.onEditorTransaction.bind(this);
|
|
342469
343263
|
this._boundEditorHandlers.selectionUpdate = this.onEditorSelectionUpdate.bind(this);
|
|
342470
343264
|
this._boundEditorHandlers.focus = this.onEditorFocus.bind(this);
|
|
343265
|
+
this._boundEditorHandlers.fontsChanged = this.onEditorFontsChanged.bind(this);
|
|
342471
343266
|
this.activeEditor.on("transaction", this._boundEditorHandlers.transaction);
|
|
342472
343267
|
this.activeEditor.on("selectionUpdate", this._boundEditorHandlers.selectionUpdate);
|
|
342473
343268
|
this.activeEditor.on("focus", this._boundEditorHandlers.focus);
|
|
343269
|
+
this.activeEditor.on("fonts-changed", this._boundEditorHandlers.fontsChanged);
|
|
342474
343270
|
}
|
|
343271
|
+
this.#rebuildToolbarItems();
|
|
343272
|
+
this._lastFontOptionsSignature = this.#fontOptionsSignature();
|
|
343273
|
+
this.updateToolbarState();
|
|
342475
343274
|
}
|
|
342476
343275
|
getToolbarItemByGroup(groupName) {
|
|
342477
343276
|
return this.toolbarItems.filter((item) => (item.group?.value || "center") === groupName);
|
|
@@ -342488,13 +343287,14 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
342488
343287
|
return this.config.responsiveToContainer ? containerWidth : documentWidth;
|
|
342489
343288
|
}
|
|
342490
343289
|
#makeToolbarItems({ superToolbar, icons: icons$1, texts, fonts, hideButtons, isDev = false } = {}) {
|
|
343290
|
+
const availableWidth = this.getAvailableWidth();
|
|
342491
343291
|
const { defaultItems, overflowItems } = makeDefaultItems({
|
|
342492
343292
|
superToolbar,
|
|
342493
343293
|
toolbarIcons: icons$1,
|
|
342494
343294
|
toolbarTexts: texts,
|
|
342495
|
-
toolbarFonts: fonts,
|
|
343295
|
+
toolbarFonts: this.#resolveToolbarFonts(fonts),
|
|
342496
343296
|
hideButtons,
|
|
342497
|
-
availableWidth
|
|
343297
|
+
availableWidth,
|
|
342498
343298
|
role: this.role,
|
|
342499
343299
|
isDev
|
|
342500
343300
|
});
|
|
@@ -342507,6 +343307,26 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
342507
343307
|
this.toolbarItems = defaultItems.filter((item) => allConfigItems.includes(item.name.value)).filter((item) => !this.config.excludeItems.includes(item.name.value));
|
|
342508
343308
|
this.overflowItems = overflowItems.filter((item) => allConfigItems.includes(item.name.value));
|
|
342509
343309
|
}
|
|
343310
|
+
#resolveToolbarFonts(configFonts) {
|
|
343311
|
+
return composeToolbarFontOptions(this.superdoc?.fonts?.getDocumentFontOptions?.() ?? [], configFonts);
|
|
343312
|
+
}
|
|
343313
|
+
#rebuildToolbarItems() {
|
|
343314
|
+
this.#makeToolbarItems({
|
|
343315
|
+
superToolbar: this,
|
|
343316
|
+
icons: this.config.icons,
|
|
343317
|
+
texts: this.config.texts,
|
|
343318
|
+
fonts: this.config.fonts,
|
|
343319
|
+
hideButtons: this.config.hideButtons,
|
|
343320
|
+
isDev: this.isDev
|
|
343321
|
+
});
|
|
343322
|
+
this.emit("toolbar-items-changed");
|
|
343323
|
+
}
|
|
343324
|
+
#fontOptionsSignature() {
|
|
343325
|
+
if (this.config.fonts)
|
|
343326
|
+
return "custom-fonts";
|
|
343327
|
+
const options = this.superdoc?.fonts?.getDocumentFontOptions?.() ?? [];
|
|
343328
|
+
return JSON.stringify(options.map((option) => [option.logicalFamily, option.previewFamily]));
|
|
343329
|
+
}
|
|
342510
343330
|
#initDefaultFonts() {
|
|
342511
343331
|
if (!this.activeEditor || !this.activeEditor.converter)
|
|
342512
343332
|
return;
|
|
@@ -342878,6 +343698,14 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
342878
343698
|
if (this.#restoreStickyMarksIfNeeded())
|
|
342879
343699
|
this.updateToolbarState();
|
|
342880
343700
|
}
|
|
343701
|
+
onEditorFontsChanged() {
|
|
343702
|
+
const signature = this.#fontOptionsSignature();
|
|
343703
|
+
if (signature !== this._lastFontOptionsSignature) {
|
|
343704
|
+
this._lastFontOptionsSignature = signature;
|
|
343705
|
+
this.#rebuildToolbarItems();
|
|
343706
|
+
}
|
|
343707
|
+
this.updateToolbarState();
|
|
343708
|
+
}
|
|
342881
343709
|
onEditorFocus() {
|
|
342882
343710
|
if (this.pendingMarkCommands.length) {
|
|
342883
343711
|
this.onEditorSelectionUpdate();
|
|
@@ -342944,6 +343772,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
342944
343772
|
clearTimeout(this._restoreFocusTimeoutId);
|
|
342945
343773
|
this._restoreFocusTimeoutId = null;
|
|
342946
343774
|
}
|
|
343775
|
+
this.#detachActiveEditorListeners();
|
|
342947
343776
|
this.destroyHeadlessToolbar();
|
|
342948
343777
|
this.app?.unmount();
|
|
342949
343778
|
}
|
|
@@ -346320,6 +347149,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
346320
347149
|
editor: this
|
|
346321
347150
|
});
|
|
346322
347151
|
console.error(err);
|
|
347152
|
+
throw err;
|
|
346323
347153
|
}
|
|
346324
347154
|
}
|
|
346325
347155
|
#endCollaboration() {
|
|
@@ -348323,7 +349153,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
348323
349153
|
#lastSelectedFieldAnnotation = null;
|
|
348324
349154
|
#lastSelectedStructuredContentBlock = null;
|
|
348325
349155
|
#lastSelectedStructuredContentInline = null;
|
|
348326
|
-
#
|
|
349156
|
+
#sdtHoverCoordinator = null;
|
|
349157
|
+
#tocHoverCoordinator = null;
|
|
348327
349158
|
#remoteCursorManager = null;
|
|
348328
349159
|
#cursorUpdateTimer = null;
|
|
348329
349160
|
#remoteCursorOverlay = null;
|
|
@@ -348394,8 +349225,11 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
348394
349225
|
ensureEditorNativeSelectionStyles(doc$12);
|
|
348395
349226
|
ensureEditorFieldAnnotationInteractionStyles(doc$12);
|
|
348396
349227
|
ensureEditorMovableObjectInteractionStyles(doc$12);
|
|
348397
|
-
this.#
|
|
348398
|
-
this.#painterHost.addEventListener("
|
|
349228
|
+
this.#initializeHoverCoordinators();
|
|
349229
|
+
this.#painterHost.addEventListener("mouseover", this.#sdtHoverCoordinator.handleMouseEnter);
|
|
349230
|
+
this.#painterHost.addEventListener("mouseout", this.#sdtHoverCoordinator.handleMouseLeave);
|
|
349231
|
+
this.#painterHost.addEventListener("mouseover", this.#tocHoverCoordinator.handleMouseEnter);
|
|
349232
|
+
this.#painterHost.addEventListener("mouseout", this.#tocHoverCoordinator.handleMouseLeave);
|
|
348399
349233
|
this.#domIndexObserverManager = new DomPositionIndexObserverManager({
|
|
348400
349234
|
windowRoot: this.#visibleHost?.ownerDocument?.defaultView ?? window,
|
|
348401
349235
|
getPainterHost: () => this.#painterHost,
|
|
@@ -349563,6 +350397,9 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
349563
350397
|
getFontReport() {
|
|
349564
350398
|
return this.#fontGate?.getReport() ?? [];
|
|
349565
350399
|
}
|
|
350400
|
+
getDocumentFontOptions() {
|
|
350401
|
+
return this.#fontGate?.getDocumentFontOptions() ?? [];
|
|
350402
|
+
}
|
|
349566
350403
|
getMissingFonts() {
|
|
349567
350404
|
return [...new Set(this.getFontReport().filter((record3) => record3.missing).map((record3) => record3.logicalFamily))];
|
|
349568
350405
|
}
|
|
@@ -352383,74 +353220,50 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
352383
353220
|
}
|
|
352384
353221
|
this.#setSelectedStructuredContentBlockClass(elements, id2);
|
|
352385
353222
|
}
|
|
352386
|
-
#
|
|
352387
|
-
|
|
352388
|
-
if (!block || !(block instanceof HTMLElement))
|
|
353223
|
+
#initializeHoverCoordinators() {
|
|
353224
|
+
if (this.#sdtHoverCoordinator || this.#tocHoverCoordinator)
|
|
352389
353225
|
return;
|
|
352390
|
-
|
|
353226
|
+
this.#sdtHoverCoordinator = new HoverGroupCoordinator({
|
|
353227
|
+
entrySelector: `.${DOM_CLASS_NAMES.BLOCK_SDT}`,
|
|
353228
|
+
getId: (entry) => entry.dataset.sdtId,
|
|
353229
|
+
queryGroup: (id2) => this.#painterAdapter.getStructuredContentBlockElementsById(id2),
|
|
353230
|
+
hoverClass: DOM_CLASS_NAMES.SDT_GROUP_HOVER,
|
|
353231
|
+
shouldApplyTo: (element3) => !element3.classList.contains("ProseMirror-selectednode")
|
|
353232
|
+
});
|
|
353233
|
+
this.#tocHoverCoordinator = new HoverGroupCoordinator({
|
|
353234
|
+
entrySelector: `.${DOM_CLASS_NAMES.TOC_ENTRY}`,
|
|
353235
|
+
getId: (entry) => entry.dataset.tocId,
|
|
353236
|
+
queryGroup: (id2) => this.#queryTocEntryElementsById(id2),
|
|
353237
|
+
hoverClass: DOM_CLASS_NAMES.TOC_GROUP_HOVER,
|
|
353238
|
+
onApply: (elements) => this.#applyTocGapFill(elements),
|
|
353239
|
+
onClear: (element3) => element3.style.removeProperty("--toc-gap-below")
|
|
353240
|
+
});
|
|
353241
|
+
}
|
|
353242
|
+
#applyTocGapFill(elements) {
|
|
353243
|
+
if (elements.length < 2)
|
|
352391
353244
|
return;
|
|
352392
|
-
const
|
|
352393
|
-
|
|
352394
|
-
|
|
352395
|
-
|
|
352396
|
-
|
|
352397
|
-
|
|
352398
|
-
|
|
352399
|
-
|
|
352400
|
-
|
|
352401
|
-
|
|
352402
|
-
|
|
352403
|
-
const
|
|
352404
|
-
|
|
352405
|
-
|
|
353245
|
+
const measured = elements.map((element3) => ({
|
|
353246
|
+
element: element3,
|
|
353247
|
+
rect: element3.getBoundingClientRect()
|
|
353248
|
+
})).sort((a2, b$1) => a2.rect.top - b$1.rect.top);
|
|
353249
|
+
for (let i4 = 0;i4 < measured.length - 1; i4++) {
|
|
353250
|
+
const current = measured[i4];
|
|
353251
|
+
const next2 = measured[i4 + 1];
|
|
353252
|
+
const currentPage = current.element.closest("[data-page-index]");
|
|
353253
|
+
if (!currentPage || currentPage !== next2.element.closest("[data-page-index]"))
|
|
353254
|
+
continue;
|
|
353255
|
+
const rawGap = next2.rect.top - current.rect.bottom;
|
|
353256
|
+
const scaleY = current.rect.height && current.element.offsetHeight ? current.rect.height / current.element.offsetHeight : 1;
|
|
353257
|
+
const gap = scaleY > 0 ? rawGap / scaleY : rawGap;
|
|
353258
|
+
if (gap > 0)
|
|
353259
|
+
current.element.style.setProperty("--toc-gap-below", `${gap + 1}px`);
|
|
352406
353260
|
}
|
|
352407
|
-
this.#clearHoveredStructuredContentBlockClass();
|
|
352408
|
-
};
|
|
352409
|
-
#clearHoveredStructuredContentBlockClass() {
|
|
352410
|
-
if (!this.#lastHoveredStructuredContentBlock)
|
|
352411
|
-
return;
|
|
352412
|
-
this.#lastHoveredStructuredContentBlock.elements.forEach((element3) => {
|
|
352413
|
-
element3.classList.remove(DOM_CLASS_NAMES.SDT_GROUP_HOVER);
|
|
352414
|
-
});
|
|
352415
|
-
this.#lastHoveredStructuredContentBlock = null;
|
|
352416
353261
|
}
|
|
352417
|
-
#
|
|
352418
|
-
if (this.#lastHoveredStructuredContentBlock?.id === id2)
|
|
352419
|
-
return;
|
|
352420
|
-
this.#clearHoveredStructuredContentBlockClass();
|
|
353262
|
+
#queryTocEntryElementsById(id2) {
|
|
352421
353263
|
if (!this.#painterHost)
|
|
352422
|
-
return;
|
|
352423
|
-
const
|
|
352424
|
-
|
|
352425
|
-
return;
|
|
352426
|
-
elements.forEach((element3) => {
|
|
352427
|
-
if (!element3.classList.contains("ProseMirror-selectednode"))
|
|
352428
|
-
element3.classList.add(DOM_CLASS_NAMES.SDT_GROUP_HOVER);
|
|
352429
|
-
});
|
|
352430
|
-
this.#lastHoveredStructuredContentBlock = {
|
|
352431
|
-
id: id2,
|
|
352432
|
-
elements
|
|
352433
|
-
};
|
|
352434
|
-
}
|
|
352435
|
-
#reapplySdtGroupHover() {
|
|
352436
|
-
if (!this.#lastHoveredStructuredContentBlock || !this.#painterHost)
|
|
352437
|
-
return;
|
|
352438
|
-
const { id: id2 } = this.#lastHoveredStructuredContentBlock;
|
|
352439
|
-
if (!id2)
|
|
352440
|
-
return;
|
|
352441
|
-
const elements = this.#painterAdapter.getStructuredContentBlockElementsById(id2);
|
|
352442
|
-
if (elements.length === 0) {
|
|
352443
|
-
this.#lastHoveredStructuredContentBlock = null;
|
|
352444
|
-
return;
|
|
352445
|
-
}
|
|
352446
|
-
elements.forEach((element3) => {
|
|
352447
|
-
if (!element3.classList.contains("ProseMirror-selectednode"))
|
|
352448
|
-
element3.classList.add(DOM_CLASS_NAMES.SDT_GROUP_HOVER);
|
|
352449
|
-
});
|
|
352450
|
-
this.#lastHoveredStructuredContentBlock = {
|
|
352451
|
-
id: id2,
|
|
352452
|
-
elements
|
|
352453
|
-
};
|
|
353264
|
+
return [];
|
|
353265
|
+
const escapedId = escapeAttrValue(id2);
|
|
353266
|
+
return Array.from(this.#painterHost.querySelectorAll(`.${DOM_CLASS_NAMES.TOC_ENTRY}[data-toc-id="${escapedId}"]`));
|
|
352454
353267
|
}
|
|
352455
353268
|
#refreshEditorDomAugmentations() {
|
|
352456
353269
|
this.#postPaintPipeline.refreshAfterPaint({
|
|
@@ -352459,7 +353272,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
352459
353272
|
domPositionIndex: this.#domPositionIndex,
|
|
352460
353273
|
proofingAnnotations: this.#buildProofingAnnotations(),
|
|
352461
353274
|
rebuildDomPositionIndex: () => this.#rebuildDomPositionIndex(),
|
|
352462
|
-
reapplyStructuredContentHover: () => this.#
|
|
353275
|
+
reapplyStructuredContentHover: () => this.#sdtHoverCoordinator?.reapply(),
|
|
353276
|
+
reapplyTocGroupHover: () => this.#tocHoverCoordinator?.reapply()
|
|
352463
353277
|
});
|
|
352464
353278
|
}
|
|
352465
353279
|
#clearSelectedStructuredContentInlineClass() {
|
|
@@ -354847,11 +355661,11 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
354847
355661
|
]);
|
|
354848
355662
|
});
|
|
354849
355663
|
|
|
354850
|
-
// ../../packages/superdoc/dist/chunks/create-super-doc-ui-
|
|
355664
|
+
// ../../packages/superdoc/dist/chunks/create-super-doc-ui-Cjo_Z85j.es.js
|
|
354851
355665
|
var headlessToolbarConstants, MOD_ALIASES, ALT_ALIASES, CTRL_ALIASES, SHIFT_ALIASES, BUILTIN_CONTEXT_MENU_GROUPS, BUILTIN_GROUP_ORDER, RESERVED_PROXY_PROPERTY_NAMES, ALL_TOOLBAR_COMMAND_IDS, EMPTY_ACTIVE_IDS;
|
|
354852
|
-
var
|
|
354853
|
-
|
|
354854
|
-
|
|
355666
|
+
var init_create_super_doc_ui_Cjo_Z85j_es = __esm(() => {
|
|
355667
|
+
init_SuperConverter_DJyHekqW_es();
|
|
355668
|
+
init_create_headless_toolbar_Jmx2i_9i_es();
|
|
354855
355669
|
headlessToolbarConstants = {
|
|
354856
355670
|
DEFAULT_TEXT_ALIGN_OPTIONS: [
|
|
354857
355671
|
{
|
|
@@ -355133,16 +355947,16 @@ var init_zipper_yaJVJ4z9_es = __esm(() => {
|
|
|
355133
355947
|
|
|
355134
355948
|
// ../../packages/superdoc/dist/super-editor.es.js
|
|
355135
355949
|
var init_super_editor_es = __esm(() => {
|
|
355136
|
-
|
|
355137
|
-
|
|
355950
|
+
init_src_BB_FFFud_es();
|
|
355951
|
+
init_SuperConverter_DJyHekqW_es();
|
|
355138
355952
|
init_jszip_C49i9kUs_es();
|
|
355139
355953
|
init_xml_js_CqGKpaft_es();
|
|
355140
|
-
|
|
355954
|
+
init_create_headless_toolbar_Jmx2i_9i_es();
|
|
355141
355955
|
init_constants_D9qj59G2_es();
|
|
355142
355956
|
init_dist_B8HfvhaK_es();
|
|
355143
355957
|
init_unified_Dsuw2be5_es();
|
|
355144
355958
|
init_DocxZipper_FUsfThjV_es();
|
|
355145
|
-
|
|
355959
|
+
init_create_super_doc_ui_Cjo_Z85j_es();
|
|
355146
355960
|
init_ui_C5PAS9hY_es();
|
|
355147
355961
|
init_eventemitter3_BnGqBE_Q_es();
|
|
355148
355962
|
init_errors_CNaD6vcg_es();
|
|
@@ -456352,12 +457166,13 @@ var init_exporter = __esm(() => {
|
|
|
456352
457166
|
// ../../shared/font-system/src/types.ts
|
|
456353
457167
|
var init_types8 = () => {};
|
|
456354
457168
|
|
|
456355
|
-
// ../../node_modules/.pnpm/@docfonts+fallbacks@0.
|
|
457169
|
+
// ../../node_modules/.pnpm/@docfonts+fallbacks@0.12.0/node_modules/@docfonts/fallbacks/dist/data.js
|
|
456356
457170
|
var SUBSTITUTION_EVIDENCE2;
|
|
456357
457171
|
var init_data = __esm(() => {
|
|
456358
457172
|
SUBSTITUTION_EVIDENCE2 = [
|
|
456359
457173
|
{
|
|
456360
457174
|
evidenceId: "calibri",
|
|
457175
|
+
generic: "sans-serif",
|
|
456361
457176
|
logicalFamily: "Calibri",
|
|
456362
457177
|
physicalFamily: "Carlito",
|
|
456363
457178
|
verdict: "metric_safe",
|
|
@@ -456380,6 +457195,7 @@ var init_data = __esm(() => {
|
|
|
456380
457195
|
],
|
|
456381
457196
|
exportRule: "preserve_original_name",
|
|
456382
457197
|
advance: {
|
|
457198
|
+
basis: "latin_full",
|
|
456383
457199
|
meanDelta: 0,
|
|
456384
457200
|
maxDelta: 0
|
|
456385
457201
|
},
|
|
@@ -456387,6 +457203,7 @@ var init_data = __esm(() => {
|
|
|
456387
457203
|
},
|
|
456388
457204
|
{
|
|
456389
457205
|
evidenceId: "cambria",
|
|
457206
|
+
generic: "serif",
|
|
456390
457207
|
logicalFamily: "Cambria",
|
|
456391
457208
|
physicalFamily: "Caladea",
|
|
456392
457209
|
verdict: "visual_only",
|
|
@@ -456411,6 +457228,7 @@ var init_data = __esm(() => {
|
|
|
456411
457228
|
],
|
|
456412
457229
|
exportRule: "preserve_original_name",
|
|
456413
457230
|
advance: {
|
|
457231
|
+
basis: "latin_full",
|
|
456414
457232
|
meanDelta: 0.0002378,
|
|
456415
457233
|
maxDelta: 0.2310758
|
|
456416
457234
|
},
|
|
@@ -456432,6 +457250,7 @@ var init_data = __esm(() => {
|
|
|
456432
457250
|
},
|
|
456433
457251
|
{
|
|
456434
457252
|
evidenceId: "arial",
|
|
457253
|
+
generic: "sans-serif",
|
|
456435
457254
|
logicalFamily: "Arial",
|
|
456436
457255
|
physicalFamily: "Liberation Sans",
|
|
456437
457256
|
verdict: "metric_safe",
|
|
@@ -456453,6 +457272,7 @@ var init_data = __esm(() => {
|
|
|
456453
457272
|
],
|
|
456454
457273
|
exportRule: "preserve_original_name",
|
|
456455
457274
|
advance: {
|
|
457275
|
+
basis: "latin_full",
|
|
456456
457276
|
meanDelta: 0,
|
|
456457
457277
|
maxDelta: 0
|
|
456458
457278
|
},
|
|
@@ -456460,6 +457280,7 @@ var init_data = __esm(() => {
|
|
|
456460
457280
|
},
|
|
456461
457281
|
{
|
|
456462
457282
|
evidenceId: "times-new-roman",
|
|
457283
|
+
generic: "serif",
|
|
456463
457284
|
logicalFamily: "Times New Roman",
|
|
456464
457285
|
physicalFamily: "Liberation Serif",
|
|
456465
457286
|
verdict: "metric_safe",
|
|
@@ -456481,6 +457302,7 @@ var init_data = __esm(() => {
|
|
|
456481
457302
|
],
|
|
456482
457303
|
exportRule: "preserve_original_name",
|
|
456483
457304
|
advance: {
|
|
457305
|
+
basis: "latin_full",
|
|
456484
457306
|
meanDelta: 0,
|
|
456485
457307
|
maxDelta: 0
|
|
456486
457308
|
},
|
|
@@ -456488,6 +457310,7 @@ var init_data = __esm(() => {
|
|
|
456488
457310
|
},
|
|
456489
457311
|
{
|
|
456490
457312
|
evidenceId: "courier-new",
|
|
457313
|
+
generic: "monospace",
|
|
456491
457314
|
logicalFamily: "Courier New",
|
|
456492
457315
|
physicalFamily: "Liberation Mono",
|
|
456493
457316
|
verdict: "metric_safe",
|
|
@@ -456509,6 +457332,7 @@ var init_data = __esm(() => {
|
|
|
456509
457332
|
],
|
|
456510
457333
|
exportRule: "preserve_original_name",
|
|
456511
457334
|
advance: {
|
|
457335
|
+
basis: "latin_full",
|
|
456512
457336
|
meanDelta: 0,
|
|
456513
457337
|
maxDelta: 0
|
|
456514
457338
|
},
|
|
@@ -456516,6 +457340,7 @@ var init_data = __esm(() => {
|
|
|
456516
457340
|
},
|
|
456517
457341
|
{
|
|
456518
457342
|
evidenceId: "georgia",
|
|
457343
|
+
generic: "serif",
|
|
456519
457344
|
logicalFamily: "Georgia",
|
|
456520
457345
|
physicalFamily: "Gelasio",
|
|
456521
457346
|
verdict: "near_metric",
|
|
@@ -456544,6 +457369,7 @@ var init_data = __esm(() => {
|
|
|
456544
457369
|
],
|
|
456545
457370
|
exportRule: "preserve_original_name",
|
|
456546
457371
|
advance: {
|
|
457372
|
+
basis: "latin_full",
|
|
456547
457373
|
meanDelta: 0.0000197,
|
|
456548
457374
|
maxDelta: 0.0183727
|
|
456549
457375
|
},
|
|
@@ -456571,6 +457397,7 @@ var init_data = __esm(() => {
|
|
|
456571
457397
|
},
|
|
456572
457398
|
{
|
|
456573
457399
|
evidenceId: "arial-narrow",
|
|
457400
|
+
generic: "sans-serif",
|
|
456574
457401
|
logicalFamily: "Arial Narrow",
|
|
456575
457402
|
physicalFamily: "Liberation Sans Narrow",
|
|
456576
457403
|
verdict: "visual_only",
|
|
@@ -456595,6 +457422,7 @@ var init_data = __esm(() => {
|
|
|
456595
457422
|
],
|
|
456596
457423
|
exportRule: "preserve_original_name",
|
|
456597
457424
|
advance: {
|
|
457425
|
+
basis: "latin_full",
|
|
456598
457426
|
meanDelta: 0,
|
|
456599
457427
|
maxDelta: 0.5
|
|
456600
457428
|
},
|
|
@@ -456616,6 +457444,7 @@ var init_data = __esm(() => {
|
|
|
456616
457444
|
},
|
|
456617
457445
|
{
|
|
456618
457446
|
evidenceId: "aptos",
|
|
457447
|
+
generic: "sans-serif",
|
|
456619
457448
|
logicalFamily: "Aptos",
|
|
456620
457449
|
physicalFamily: null,
|
|
456621
457450
|
verdict: "no_substitute",
|
|
@@ -456638,8 +457467,152 @@ var init_data = __esm(() => {
|
|
|
456638
457467
|
exportRule: "preserve_original_name",
|
|
456639
457468
|
candidateLicense: null
|
|
456640
457469
|
},
|
|
457470
|
+
{
|
|
457471
|
+
evidenceId: "arial-black",
|
|
457472
|
+
generic: "sans-serif",
|
|
457473
|
+
logicalFamily: "Arial Black",
|
|
457474
|
+
physicalFamily: "Archivo Black",
|
|
457475
|
+
verdict: "visual_only",
|
|
457476
|
+
faces: {
|
|
457477
|
+
regular: true,
|
|
457478
|
+
bold: false,
|
|
457479
|
+
italic: false,
|
|
457480
|
+
boldItalic: false
|
|
457481
|
+
},
|
|
457482
|
+
faceSources: {
|
|
457483
|
+
italic: {
|
|
457484
|
+
kind: "synthetic",
|
|
457485
|
+
from: "regular"
|
|
457486
|
+
}
|
|
457487
|
+
},
|
|
457488
|
+
gates: {
|
|
457489
|
+
static: "pass",
|
|
457490
|
+
metric: "fail",
|
|
457491
|
+
layout: "not_run",
|
|
457492
|
+
ship: "fail"
|
|
457493
|
+
},
|
|
457494
|
+
policyAction: "substitute",
|
|
457495
|
+
measurementRefs: [
|
|
457496
|
+
"arial-black__archivo-black#visual_review#2026-06-09"
|
|
457497
|
+
],
|
|
457498
|
+
exportRule: "preserve_original_name",
|
|
457499
|
+
candidateLicense: "OFL-1.1",
|
|
457500
|
+
faceVerdicts: {
|
|
457501
|
+
italic: "visual_only"
|
|
457502
|
+
}
|
|
457503
|
+
},
|
|
457504
|
+
{
|
|
457505
|
+
evidenceId: "arial-rounded-mt-bold",
|
|
457506
|
+
generic: "sans-serif",
|
|
457507
|
+
logicalFamily: "Arial Rounded MT Bold",
|
|
457508
|
+
physicalFamily: "Ubuntu",
|
|
457509
|
+
verdict: "visual_only",
|
|
457510
|
+
faces: {
|
|
457511
|
+
regular: true,
|
|
457512
|
+
bold: true,
|
|
457513
|
+
italic: true,
|
|
457514
|
+
boldItalic: true
|
|
457515
|
+
},
|
|
457516
|
+
gates: {
|
|
457517
|
+
static: "pass",
|
|
457518
|
+
metric: "fail",
|
|
457519
|
+
layout: "not_run",
|
|
457520
|
+
ship: "fail"
|
|
457521
|
+
},
|
|
457522
|
+
policyAction: "category_fallback",
|
|
457523
|
+
measurementRefs: [
|
|
457524
|
+
"arial-rounded-mt-bold__ubuntu#visual_review#2026-06-09"
|
|
457525
|
+
],
|
|
457526
|
+
exportRule: "preserve_original_name",
|
|
457527
|
+
candidateLicense: "Ubuntu-font-1.0"
|
|
457528
|
+
},
|
|
457529
|
+
{
|
|
457530
|
+
evidenceId: "bookman-old-style",
|
|
457531
|
+
generic: "serif",
|
|
457532
|
+
logicalFamily: "Bookman Old Style",
|
|
457533
|
+
physicalFamily: "TeX Gyre Bonum",
|
|
457534
|
+
verdict: "visual_only",
|
|
457535
|
+
faces: {
|
|
457536
|
+
regular: true,
|
|
457537
|
+
bold: true,
|
|
457538
|
+
italic: true,
|
|
457539
|
+
boldItalic: true
|
|
457540
|
+
},
|
|
457541
|
+
gates: {
|
|
457542
|
+
static: "pass",
|
|
457543
|
+
metric: "fail",
|
|
457544
|
+
layout: "not_run",
|
|
457545
|
+
ship: "fail"
|
|
457546
|
+
},
|
|
457547
|
+
policyAction: "substitute",
|
|
457548
|
+
measurementRefs: [
|
|
457549
|
+
"bookman-old-style__tex-gyre-bonum#visual_review#2026-06-09"
|
|
457550
|
+
],
|
|
457551
|
+
exportRule: "preserve_original_name",
|
|
457552
|
+
candidateLicense: "GUST-Font-License-1.0"
|
|
457553
|
+
},
|
|
457554
|
+
{
|
|
457555
|
+
evidenceId: "century",
|
|
457556
|
+
generic: "serif",
|
|
457557
|
+
logicalFamily: "Century",
|
|
457558
|
+
physicalFamily: "C059",
|
|
457559
|
+
verdict: "visual_only",
|
|
457560
|
+
faces: {
|
|
457561
|
+
regular: true,
|
|
457562
|
+
bold: true,
|
|
457563
|
+
italic: true,
|
|
457564
|
+
boldItalic: true
|
|
457565
|
+
},
|
|
457566
|
+
gates: {
|
|
457567
|
+
static: "pass",
|
|
457568
|
+
metric: "fail",
|
|
457569
|
+
layout: "not_run",
|
|
457570
|
+
ship: "fail"
|
|
457571
|
+
},
|
|
457572
|
+
policyAction: "substitute",
|
|
457573
|
+
measurementRefs: [
|
|
457574
|
+
"century__c059#visual_review#2026-06-09"
|
|
457575
|
+
],
|
|
457576
|
+
exportRule: "preserve_original_name",
|
|
457577
|
+
candidateLicense: "AGPL-3.0-only WITH PS-or-PDF-font-exception-20170817"
|
|
457578
|
+
},
|
|
457579
|
+
{
|
|
457580
|
+
evidenceId: "garamond",
|
|
457581
|
+
generic: "serif",
|
|
457582
|
+
logicalFamily: "Garamond",
|
|
457583
|
+
physicalFamily: "Cardo",
|
|
457584
|
+
verdict: "visual_only",
|
|
457585
|
+
faces: {
|
|
457586
|
+
regular: true,
|
|
457587
|
+
bold: true,
|
|
457588
|
+
italic: true,
|
|
457589
|
+
boldItalic: false
|
|
457590
|
+
},
|
|
457591
|
+
faceSources: {
|
|
457592
|
+
boldItalic: {
|
|
457593
|
+
kind: "synthetic",
|
|
457594
|
+
from: "bold"
|
|
457595
|
+
}
|
|
457596
|
+
},
|
|
457597
|
+
gates: {
|
|
457598
|
+
static: "pass",
|
|
457599
|
+
metric: "fail",
|
|
457600
|
+
layout: "not_run",
|
|
457601
|
+
ship: "fail"
|
|
457602
|
+
},
|
|
457603
|
+
policyAction: "category_fallback",
|
|
457604
|
+
measurementRefs: [
|
|
457605
|
+
"garamond__cardo#visual_review#2026-06-09"
|
|
457606
|
+
],
|
|
457607
|
+
exportRule: "preserve_original_name",
|
|
457608
|
+
candidateLicense: "OFL-1.1",
|
|
457609
|
+
faceVerdicts: {
|
|
457610
|
+
boldItalic: "visual_only"
|
|
457611
|
+
}
|
|
457612
|
+
},
|
|
456641
457613
|
{
|
|
456642
457614
|
evidenceId: "consolas",
|
|
457615
|
+
generic: "monospace",
|
|
456643
457616
|
logicalFamily: "Consolas",
|
|
456644
457617
|
physicalFamily: "Inconsolata SemiExpanded",
|
|
456645
457618
|
verdict: "cell_width_only",
|
|
@@ -456661,6 +457634,7 @@ var init_data = __esm(() => {
|
|
|
456661
457634
|
],
|
|
456662
457635
|
exportRule: "preserve_original_name",
|
|
456663
457636
|
advance: {
|
|
457637
|
+
basis: "monospace_cell",
|
|
456664
457638
|
meanDelta: 0.00035999999999999997,
|
|
456665
457639
|
maxDelta: 0.00035999999999999997
|
|
456666
457640
|
},
|
|
@@ -456668,6 +457642,7 @@ var init_data = __esm(() => {
|
|
|
456668
457642
|
},
|
|
456669
457643
|
{
|
|
456670
457644
|
evidenceId: "verdana",
|
|
457645
|
+
generic: "sans-serif",
|
|
456671
457646
|
logicalFamily: "Verdana",
|
|
456672
457647
|
physicalFamily: null,
|
|
456673
457648
|
verdict: "visual_only",
|
|
@@ -456692,82 +457667,96 @@ var init_data = __esm(() => {
|
|
|
456692
457667
|
},
|
|
456693
457668
|
{
|
|
456694
457669
|
evidenceId: "tahoma",
|
|
457670
|
+
generic: "sans-serif",
|
|
456695
457671
|
logicalFamily: "Tahoma",
|
|
456696
|
-
physicalFamily:
|
|
457672
|
+
physicalFamily: "Noto Sans",
|
|
456697
457673
|
verdict: "visual_only",
|
|
456698
457674
|
faces: {
|
|
456699
|
-
regular:
|
|
456700
|
-
bold:
|
|
456701
|
-
italic:
|
|
456702
|
-
boldItalic:
|
|
457675
|
+
regular: true,
|
|
457676
|
+
bold: true,
|
|
457677
|
+
italic: true,
|
|
457678
|
+
boldItalic: true
|
|
456703
457679
|
},
|
|
456704
457680
|
gates: {
|
|
456705
|
-
static: "
|
|
457681
|
+
static: "pass",
|
|
456706
457682
|
metric: "fail",
|
|
456707
457683
|
layout: "not_run",
|
|
456708
|
-
ship: "
|
|
457684
|
+
ship: "fail"
|
|
456709
457685
|
},
|
|
456710
457686
|
policyAction: "category_fallback",
|
|
456711
457687
|
measurementRefs: [
|
|
456712
|
-
"
|
|
457688
|
+
"tahoma__noto-sans#visual_review#2026-06-09"
|
|
456713
457689
|
],
|
|
456714
457690
|
exportRule: "preserve_original_name",
|
|
456715
|
-
candidateLicense:
|
|
457691
|
+
candidateLicense: "OFL-1.1"
|
|
456716
457692
|
},
|
|
456717
457693
|
{
|
|
456718
457694
|
evidenceId: "trebuchet-ms",
|
|
457695
|
+
generic: "sans-serif",
|
|
456719
457696
|
logicalFamily: "Trebuchet MS",
|
|
456720
|
-
physicalFamily:
|
|
457697
|
+
physicalFamily: "PT Sans",
|
|
456721
457698
|
verdict: "visual_only",
|
|
456722
457699
|
faces: {
|
|
456723
|
-
regular:
|
|
456724
|
-
bold:
|
|
456725
|
-
italic:
|
|
456726
|
-
boldItalic:
|
|
457700
|
+
regular: true,
|
|
457701
|
+
bold: true,
|
|
457702
|
+
italic: true,
|
|
457703
|
+
boldItalic: true
|
|
456727
457704
|
},
|
|
456728
457705
|
gates: {
|
|
456729
|
-
static: "
|
|
457706
|
+
static: "pass",
|
|
456730
457707
|
metric: "fail",
|
|
456731
457708
|
layout: "not_run",
|
|
456732
|
-
ship: "
|
|
457709
|
+
ship: "fail"
|
|
456733
457710
|
},
|
|
456734
457711
|
policyAction: "category_fallback",
|
|
456735
457712
|
measurementRefs: [
|
|
456736
|
-
"trebuchet-
|
|
457713
|
+
"trebuchet-ms__pt-sans#visual_review#2026-06-09"
|
|
456737
457714
|
],
|
|
456738
457715
|
exportRule: "preserve_original_name",
|
|
456739
|
-
candidateLicense:
|
|
457716
|
+
candidateLicense: "OFL-1.1"
|
|
456740
457717
|
},
|
|
456741
457718
|
{
|
|
456742
457719
|
evidenceId: "comic-sans-ms",
|
|
457720
|
+
generic: "sans-serif",
|
|
456743
457721
|
logicalFamily: "Comic Sans MS",
|
|
456744
|
-
physicalFamily: "Comic
|
|
457722
|
+
physicalFamily: "Comic Relief",
|
|
456745
457723
|
verdict: "visual_only",
|
|
456746
457724
|
faces: {
|
|
456747
|
-
regular:
|
|
456748
|
-
bold:
|
|
457725
|
+
regular: true,
|
|
457726
|
+
bold: true,
|
|
456749
457727
|
italic: false,
|
|
456750
457728
|
boldItalic: false
|
|
456751
457729
|
},
|
|
457730
|
+
faceSources: {
|
|
457731
|
+
italic: {
|
|
457732
|
+
kind: "synthetic",
|
|
457733
|
+
from: "regular"
|
|
457734
|
+
},
|
|
457735
|
+
boldItalic: {
|
|
457736
|
+
kind: "synthetic",
|
|
457737
|
+
from: "bold"
|
|
457738
|
+
}
|
|
457739
|
+
},
|
|
456752
457740
|
gates: {
|
|
456753
|
-
static: "
|
|
457741
|
+
static: "pass",
|
|
456754
457742
|
metric: "fail",
|
|
456755
457743
|
layout: "not_run",
|
|
456756
|
-
ship: "
|
|
457744
|
+
ship: "fail"
|
|
456757
457745
|
},
|
|
456758
457746
|
policyAction: "category_fallback",
|
|
456759
457747
|
measurementRefs: [
|
|
456760
|
-
"comic-sans-ms__comic-
|
|
457748
|
+
"comic-sans-ms__comic-relief#visual_review#2026-06-09"
|
|
456761
457749
|
],
|
|
456762
457750
|
exportRule: "preserve_original_name",
|
|
456763
|
-
|
|
456764
|
-
|
|
456765
|
-
|
|
456766
|
-
|
|
456767
|
-
|
|
457751
|
+
candidateLicense: "OFL-1.1",
|
|
457752
|
+
faceVerdicts: {
|
|
457753
|
+
italic: "visual_only",
|
|
457754
|
+
boldItalic: "visual_only"
|
|
457755
|
+
}
|
|
456768
457756
|
},
|
|
456769
457757
|
{
|
|
456770
457758
|
evidenceId: "candara",
|
|
457759
|
+
generic: "sans-serif",
|
|
456771
457760
|
logicalFamily: "Candara",
|
|
456772
457761
|
physicalFamily: null,
|
|
456773
457762
|
verdict: "visual_only",
|
|
@@ -456792,6 +457781,7 @@ var init_data = __esm(() => {
|
|
|
456792
457781
|
},
|
|
456793
457782
|
{
|
|
456794
457783
|
evidenceId: "constantia",
|
|
457784
|
+
generic: "serif",
|
|
456795
457785
|
logicalFamily: "Constantia",
|
|
456796
457786
|
physicalFamily: null,
|
|
456797
457787
|
verdict: "visual_only",
|
|
@@ -456816,6 +457806,7 @@ var init_data = __esm(() => {
|
|
|
456816
457806
|
},
|
|
456817
457807
|
{
|
|
456818
457808
|
evidenceId: "corbel",
|
|
457809
|
+
generic: "sans-serif",
|
|
456819
457810
|
logicalFamily: "Corbel",
|
|
456820
457811
|
physicalFamily: null,
|
|
456821
457812
|
verdict: "visual_only",
|
|
@@ -456840,6 +457831,7 @@ var init_data = __esm(() => {
|
|
|
456840
457831
|
},
|
|
456841
457832
|
{
|
|
456842
457833
|
evidenceId: "lucida-console",
|
|
457834
|
+
generic: "monospace",
|
|
456843
457835
|
logicalFamily: "Lucida Console",
|
|
456844
457836
|
physicalFamily: "Cousine",
|
|
456845
457837
|
verdict: "cell_width_only",
|
|
@@ -456861,13 +457853,56 @@ var init_data = __esm(() => {
|
|
|
456861
457853
|
],
|
|
456862
457854
|
exportRule: "preserve_original_name",
|
|
456863
457855
|
advance: {
|
|
457856
|
+
basis: "monospace_cell",
|
|
456864
457857
|
meanDelta: 0.004050000000000001,
|
|
456865
457858
|
maxDelta: 0.004050000000000001
|
|
456866
457859
|
},
|
|
456867
457860
|
candidateLicense: "OFL-1.1"
|
|
456868
457861
|
},
|
|
457862
|
+
{
|
|
457863
|
+
evidenceId: "gill-sans-mt-condensed",
|
|
457864
|
+
generic: "sans-serif",
|
|
457865
|
+
logicalFamily: "Gill Sans MT Condensed",
|
|
457866
|
+
physicalFamily: "PT Sans Narrow",
|
|
457867
|
+
verdict: "visual_only",
|
|
457868
|
+
faces: {
|
|
457869
|
+
regular: true,
|
|
457870
|
+
bold: true,
|
|
457871
|
+
italic: false,
|
|
457872
|
+
boldItalic: false
|
|
457873
|
+
},
|
|
457874
|
+
faceSources: {
|
|
457875
|
+
italic: {
|
|
457876
|
+
kind: "synthetic",
|
|
457877
|
+
from: "regular"
|
|
457878
|
+
},
|
|
457879
|
+
boldItalic: {
|
|
457880
|
+
kind: "synthetic",
|
|
457881
|
+
from: "bold"
|
|
457882
|
+
}
|
|
457883
|
+
},
|
|
457884
|
+
gates: {
|
|
457885
|
+
static: "pass",
|
|
457886
|
+
metric: "fail",
|
|
457887
|
+
layout: "not_run",
|
|
457888
|
+
ship: "fail"
|
|
457889
|
+
},
|
|
457890
|
+
policyAction: "category_fallback",
|
|
457891
|
+
measurementRefs: [
|
|
457892
|
+
"gill-sans-mt-condensed__pt-sans-narrow#visual_review#2026-06-09"
|
|
457893
|
+
],
|
|
457894
|
+
exportRule: "preserve_original_name",
|
|
457895
|
+
candidateLicense: "OFL-1.1",
|
|
457896
|
+
faceVerdicts: {
|
|
457897
|
+
regular: "visual_only",
|
|
457898
|
+
bold: "visual_only",
|
|
457899
|
+
italic: "visual_only",
|
|
457900
|
+
boldItalic: "visual_only"
|
|
457901
|
+
}
|
|
457902
|
+
},
|
|
456869
457903
|
{
|
|
456870
457904
|
evidenceId: "aptos-display",
|
|
457905
|
+
generic: "sans-serif",
|
|
456871
457906
|
logicalFamily: "Aptos Display",
|
|
456872
457907
|
physicalFamily: null,
|
|
456873
457908
|
verdict: "customer_supplied",
|
|
@@ -456889,6 +457924,7 @@ var init_data = __esm(() => {
|
|
|
456889
457924
|
},
|
|
456890
457925
|
{
|
|
456891
457926
|
evidenceId: "cambria-math",
|
|
457927
|
+
generic: "serif",
|
|
456892
457928
|
logicalFamily: "Cambria Math",
|
|
456893
457929
|
physicalFamily: null,
|
|
456894
457930
|
verdict: "preserve_only",
|
|
@@ -456910,6 +457946,7 @@ var init_data = __esm(() => {
|
|
|
456910
457946
|
},
|
|
456911
457947
|
{
|
|
456912
457948
|
evidenceId: "helvetica",
|
|
457949
|
+
generic: "sans-serif",
|
|
456913
457950
|
logicalFamily: "Helvetica",
|
|
456914
457951
|
physicalFamily: "Liberation Sans",
|
|
456915
457952
|
verdict: "metric_safe",
|
|
@@ -456931,6 +457968,7 @@ var init_data = __esm(() => {
|
|
|
456931
457968
|
],
|
|
456932
457969
|
exportRule: "preserve_original_name",
|
|
456933
457970
|
advance: {
|
|
457971
|
+
basis: "latin_full",
|
|
456934
457972
|
meanDelta: 0,
|
|
456935
457973
|
maxDelta: 0
|
|
456936
457974
|
},
|
|
@@ -456938,6 +457976,7 @@ var init_data = __esm(() => {
|
|
|
456938
457976
|
},
|
|
456939
457977
|
{
|
|
456940
457978
|
evidenceId: "calibri-light",
|
|
457979
|
+
generic: "sans-serif",
|
|
456941
457980
|
logicalFamily: "Calibri Light",
|
|
456942
457981
|
physicalFamily: "Carlito",
|
|
456943
457982
|
verdict: "visual_only",
|
|
@@ -456959,6 +457998,7 @@ var init_data = __esm(() => {
|
|
|
456959
457998
|
],
|
|
456960
457999
|
exportRule: "preserve_original_name",
|
|
456961
458000
|
advance: {
|
|
458001
|
+
basis: "latin_full",
|
|
456962
458002
|
meanDelta: 0.0148,
|
|
456963
458003
|
maxDelta: 0.066
|
|
456964
458004
|
},
|
|
@@ -456966,6 +458006,7 @@ var init_data = __esm(() => {
|
|
|
456966
458006
|
},
|
|
456967
458007
|
{
|
|
456968
458008
|
evidenceId: "baskerville-old-face",
|
|
458009
|
+
generic: "serif",
|
|
456969
458010
|
logicalFamily: "Baskerville Old Face",
|
|
456970
458011
|
physicalFamily: "Bacasime Antique",
|
|
456971
458012
|
verdict: "visual_only",
|
|
@@ -456987,6 +458028,7 @@ var init_data = __esm(() => {
|
|
|
456987
458028
|
],
|
|
456988
458029
|
exportRule: "preserve_original_name",
|
|
456989
458030
|
advance: {
|
|
458031
|
+
basis: "latin_full",
|
|
456990
458032
|
meanDelta: 0,
|
|
456991
458033
|
maxDelta: 0.4915590863952334
|
|
456992
458034
|
},
|
|
@@ -457002,39 +458044,128 @@ var init_data = __esm(() => {
|
|
|
457002
458044
|
note: "Bacasime Antique Regular's no-break space (U+00A0) advance diverges ~49% from Baskerville Old Face; lines containing NBSP reflow. Every other Latin-core glyph is advance-identical, which is why this is visual_only with a single named exception, not near_metric."
|
|
457003
458045
|
}
|
|
457004
458046
|
]
|
|
458047
|
+
},
|
|
458048
|
+
{
|
|
458049
|
+
evidenceId: "cooper-black",
|
|
458050
|
+
generic: "serif",
|
|
458051
|
+
logicalFamily: "Cooper Black",
|
|
458052
|
+
physicalFamily: "Caprasimo",
|
|
458053
|
+
verdict: "visual_only",
|
|
458054
|
+
faces: {
|
|
458055
|
+
regular: true,
|
|
458056
|
+
bold: false,
|
|
458057
|
+
italic: false,
|
|
458058
|
+
boldItalic: false
|
|
458059
|
+
},
|
|
458060
|
+
faceSources: {
|
|
458061
|
+
bold: {
|
|
458062
|
+
kind: "synthetic",
|
|
458063
|
+
from: "regular"
|
|
458064
|
+
},
|
|
458065
|
+
italic: {
|
|
458066
|
+
kind: "synthetic",
|
|
458067
|
+
from: "regular"
|
|
458068
|
+
},
|
|
458069
|
+
boldItalic: {
|
|
458070
|
+
kind: "synthetic",
|
|
458071
|
+
from: "regular"
|
|
458072
|
+
}
|
|
458073
|
+
},
|
|
458074
|
+
gates: {
|
|
458075
|
+
static: "pass",
|
|
458076
|
+
metric: "pass",
|
|
458077
|
+
layout: "not_run",
|
|
458078
|
+
ship: "not_run"
|
|
458079
|
+
},
|
|
458080
|
+
policyAction: "substitute",
|
|
458081
|
+
measurementRefs: [
|
|
458082
|
+
"cooper-black_regular__caprasimo#regular#w400#786ab84e#analytic_advance#2026-06-05",
|
|
458083
|
+
"cooper-black__caprasimo#synthetic_faces#visual_review#2026-06-09"
|
|
458084
|
+
],
|
|
458085
|
+
exportRule: "preserve_original_name",
|
|
458086
|
+
advance: {
|
|
458087
|
+
basis: "latin_full",
|
|
458088
|
+
meanDelta: 0,
|
|
458089
|
+
maxDelta: 0
|
|
458090
|
+
},
|
|
458091
|
+
candidateLicense: "OFL-1.1",
|
|
458092
|
+
faceVerdicts: {
|
|
458093
|
+
regular: "metric_safe",
|
|
458094
|
+
bold: "visual_only",
|
|
458095
|
+
italic: "visual_only",
|
|
458096
|
+
boldItalic: "visual_only"
|
|
458097
|
+
}
|
|
457005
458098
|
}
|
|
457006
458099
|
];
|
|
457007
458100
|
});
|
|
457008
458101
|
|
|
457009
|
-
// ../../node_modules/.pnpm/@docfonts+fallbacks@0.
|
|
458102
|
+
// ../../node_modules/.pnpm/@docfonts+fallbacks@0.12.0/node_modules/@docfonts/fallbacks/dist/fallbacks.js
|
|
457010
458103
|
function normalizeFamilyName2(name) {
|
|
457011
458104
|
return name.trim().replace(/^['"]+|['"]+$/g, "").trim().toLowerCase();
|
|
457012
458105
|
}
|
|
457013
|
-
function buildFallback2(row2, physicalFamily) {
|
|
458106
|
+
function buildFallback2(row2, physicalFamily, verdict, faceSlot, faceSource) {
|
|
458107
|
+
const glyphExceptions = faceSlot ? row2.glyphExceptions?.filter((g2) => g2.slot === faceSlot) : row2.glyphExceptions ? [...row2.glyphExceptions] : undefined;
|
|
457014
458108
|
return {
|
|
457015
458109
|
substituteFamily: physicalFamily,
|
|
457016
458110
|
policyAction: row2.policyAction,
|
|
457017
|
-
verdict
|
|
457018
|
-
lineBreakSafe: LINE_BREAK_SAFE_VERDICTS2.has(
|
|
457019
|
-
|
|
458111
|
+
verdict,
|
|
458112
|
+
lineBreakSafe: LINE_BREAK_SAFE_VERDICTS2.has(verdict),
|
|
458113
|
+
faces: row2.faces,
|
|
458114
|
+
evidenceId: row2.evidenceId,
|
|
458115
|
+
generic: row2.generic,
|
|
458116
|
+
...faceSource ? { faceSource: { ...faceSource } } : {},
|
|
458117
|
+
...glyphExceptions && glyphExceptions.length > 0 ? { glyphExceptions } : {}
|
|
457020
458118
|
};
|
|
457021
458119
|
}
|
|
457022
458120
|
function decideRow2(row2, canRenderFamily2) {
|
|
457023
|
-
const { policyAction, physicalFamily, verdict, evidenceId } = row2;
|
|
458121
|
+
const { policyAction, physicalFamily, verdict, evidenceId, generic } = row2;
|
|
457024
458122
|
if (policyAction === "preserve_only")
|
|
457025
|
-
return { kind: "preserve_only", evidenceId };
|
|
458123
|
+
return { kind: "preserve_only", evidenceId, generic };
|
|
457026
458124
|
if (policyAction === "customer_supplied")
|
|
457027
|
-
return { kind: "customer_supplied", evidenceId };
|
|
458125
|
+
return { kind: "customer_supplied", evidenceId, generic };
|
|
457028
458126
|
if (physicalFamily === null)
|
|
457029
|
-
return { kind: "no_recommended_fallback", evidenceId };
|
|
458127
|
+
return { kind: "no_recommended_fallback", evidenceId, generic };
|
|
457030
458128
|
if (canRenderFamily2 && !canRenderFamily2(physicalFamily))
|
|
457031
458129
|
return {
|
|
457032
458130
|
kind: "asset_missing",
|
|
457033
458131
|
substituteFamily: physicalFamily,
|
|
457034
458132
|
verdict,
|
|
457035
|
-
evidenceId
|
|
458133
|
+
evidenceId,
|
|
458134
|
+
generic
|
|
457036
458135
|
};
|
|
457037
|
-
return {
|
|
458136
|
+
return {
|
|
458137
|
+
kind: "fallback",
|
|
458138
|
+
fallback: buildFallback2(row2, physicalFamily, verdict)
|
|
458139
|
+
};
|
|
458140
|
+
}
|
|
458141
|
+
function isFaceScoped2(row2) {
|
|
458142
|
+
const f2 = row2.faces;
|
|
458143
|
+
return f2.regular || f2.bold || f2.italic || f2.boldItalic;
|
|
458144
|
+
}
|
|
458145
|
+
function faceSourceFor2(row2, face) {
|
|
458146
|
+
const explicit = row2.faceSources?.[face];
|
|
458147
|
+
if (explicit)
|
|
458148
|
+
return explicit;
|
|
458149
|
+
return isFaceScoped2(row2) && row2.faces[face] ? { kind: "real" } : undefined;
|
|
458150
|
+
}
|
|
458151
|
+
function decideRowForFace2(row2, face, canRenderFamily2) {
|
|
458152
|
+
const base6 = decideRow2(row2, canRenderFamily2);
|
|
458153
|
+
if (base6.kind !== "fallback")
|
|
458154
|
+
return base6;
|
|
458155
|
+
const faceSource = faceSourceFor2(row2, face);
|
|
458156
|
+
if (isFaceScoped2(row2) && !faceSource)
|
|
458157
|
+
return {
|
|
458158
|
+
kind: "face_missing",
|
|
458159
|
+
substituteFamily: base6.fallback.substituteFamily,
|
|
458160
|
+
evidenceId: row2.evidenceId,
|
|
458161
|
+
generic: row2.generic
|
|
458162
|
+
};
|
|
458163
|
+
const faceVerdict = row2.faceVerdicts?.[face] ?? row2.verdict;
|
|
458164
|
+
const projectedFaceSource = faceSource?.kind === "synthetic" ? faceSource : undefined;
|
|
458165
|
+
return {
|
|
458166
|
+
kind: "fallback",
|
|
458167
|
+
fallback: buildFallback2(row2, base6.fallback.substituteFamily, faceVerdict, face, projectedFaceSource)
|
|
458168
|
+
};
|
|
457038
458169
|
}
|
|
457039
458170
|
function getFallbackDecision2(family2, options = {}) {
|
|
457040
458171
|
const row2 = BY_LOGICAL2.get(normalizeFamilyName2(family2));
|
|
@@ -457044,6 +458175,10 @@ function getRenderableFallback2(family2, options) {
|
|
|
457044
458175
|
const decision = getFallbackDecision2(family2, options);
|
|
457045
458176
|
return decision.kind === "fallback" ? decision.fallback : null;
|
|
457046
458177
|
}
|
|
458178
|
+
function getFallbackDecisionForFace2(family2, face, options = {}) {
|
|
458179
|
+
const row2 = BY_LOGICAL2.get(normalizeFamilyName2(family2));
|
|
458180
|
+
return row2 ? decideRowForFace2(row2, face, options.canRenderFamily) : { kind: "unknown" };
|
|
458181
|
+
}
|
|
457047
458182
|
var LINE_BREAK_SAFE_VERDICTS2, BY_LOGICAL2;
|
|
457048
458183
|
var init_fallbacks = __esm(() => {
|
|
457049
458184
|
init_data();
|
|
@@ -457058,7 +458193,7 @@ var init_fallbacks = __esm(() => {
|
|
|
457058
458193
|
]));
|
|
457059
458194
|
});
|
|
457060
458195
|
|
|
457061
|
-
// ../../node_modules/.pnpm/@docfonts+fallbacks@0.
|
|
458196
|
+
// ../../node_modules/.pnpm/@docfonts+fallbacks@0.12.0/node_modules/@docfonts/fallbacks/dist/index.js
|
|
457062
458197
|
var init_dist11 = __esm(() => {
|
|
457063
458198
|
init_data();
|
|
457064
458199
|
init_fallbacks();
|
|
@@ -457076,6 +458211,9 @@ function fourFaces2(filePrefix) {
|
|
|
457076
458211
|
function family2(name, filePrefix, license) {
|
|
457077
458212
|
return { family: name, license, faces: fourFaces2(filePrefix) };
|
|
457078
458213
|
}
|
|
458214
|
+
function familyWithFaces2(name, license, faces) {
|
|
458215
|
+
return { family: name, license, faces };
|
|
458216
|
+
}
|
|
457079
458217
|
var BUNDLED_MANIFEST2;
|
|
457080
458218
|
var init_bundled_manifest = __esm(() => {
|
|
457081
458219
|
BUNDLED_MANIFEST2 = Object.freeze([
|
|
@@ -457083,7 +458221,20 @@ var init_bundled_manifest = __esm(() => {
|
|
|
457083
458221
|
family2("Caladea", "Caladea", "Apache-2.0"),
|
|
457084
458222
|
family2("Liberation Sans", "LiberationSans", "OFL-1.1"),
|
|
457085
458223
|
family2("Liberation Serif", "LiberationSerif", "OFL-1.1"),
|
|
457086
|
-
family2("Liberation Mono", "LiberationMono", "OFL-1.1")
|
|
458224
|
+
family2("Liberation Mono", "LiberationMono", "OFL-1.1"),
|
|
458225
|
+
familyWithFaces2("Caprasimo", "OFL-1.1", [{ weight: "normal", style: "normal", file: "Caprasimo-Regular.woff2" }]),
|
|
458226
|
+
family2("Gelasio", "Gelasio", "OFL-1.1"),
|
|
458227
|
+
familyWithFaces2("Cardo", "OFL-1.1", [
|
|
458228
|
+
{ weight: "normal", style: "normal", file: "Cardo-Regular.woff2" },
|
|
458229
|
+
{ weight: "bold", style: "normal", file: "Cardo-Bold.woff2" },
|
|
458230
|
+
{ weight: "normal", style: "italic", file: "Cardo-Italic.woff2" }
|
|
458231
|
+
]),
|
|
458232
|
+
familyWithFaces2("Comic Relief", "OFL-1.1", [
|
|
458233
|
+
{ weight: "normal", style: "normal", file: "ComicRelief-Regular.woff2" },
|
|
458234
|
+
{ weight: "bold", style: "normal", file: "ComicRelief-Bold.woff2" }
|
|
458235
|
+
]),
|
|
458236
|
+
family2("Noto Sans", "NotoSans", "OFL-1.1"),
|
|
458237
|
+
family2("PT Sans", "PTSans", "OFL-1.1")
|
|
457087
458238
|
]);
|
|
457088
458239
|
});
|
|
457089
458240
|
|
|
@@ -457101,6 +458252,59 @@ function normalizeFamilyKey3(family3) {
|
|
|
457101
458252
|
function sortPairs2(pairs) {
|
|
457102
458253
|
return pairs.sort(([a2], [b2]) => a2 < b2 ? -1 : a2 > b2 ? 1 : 0);
|
|
457103
458254
|
}
|
|
458255
|
+
function faceSlotFor2({ weight, style: style2 }) {
|
|
458256
|
+
const bold = weight === "700";
|
|
458257
|
+
const italic = style2 === "italic";
|
|
458258
|
+
if (bold && italic)
|
|
458259
|
+
return "boldItalic";
|
|
458260
|
+
if (bold)
|
|
458261
|
+
return "bold";
|
|
458262
|
+
if (italic)
|
|
458263
|
+
return "italic";
|
|
458264
|
+
return "regular";
|
|
458265
|
+
}
|
|
458266
|
+
function faceKeyForSlot2(slot) {
|
|
458267
|
+
switch (slot) {
|
|
458268
|
+
case "bold":
|
|
458269
|
+
return { weight: "700", style: "normal" };
|
|
458270
|
+
case "italic":
|
|
458271
|
+
return { weight: "400", style: "italic" };
|
|
458272
|
+
case "boldItalic":
|
|
458273
|
+
return { weight: "700", style: "italic" };
|
|
458274
|
+
case "regular":
|
|
458275
|
+
return { weight: "400", style: "normal" };
|
|
458276
|
+
}
|
|
458277
|
+
}
|
|
458278
|
+
function reasonForFallback2(policyAction) {
|
|
458279
|
+
return policyAction === "category_fallback" ? "category_fallback" : "bundled_substitute";
|
|
458280
|
+
}
|
|
458281
|
+
function resolveDocfontsFace2(primary, face, hasFace) {
|
|
458282
|
+
const decision = getFallbackDecisionForFace2(primary, faceSlotFor2(face), { canRenderFamily: canRenderFamily2 });
|
|
458283
|
+
if (decision.kind === "face_missing") {
|
|
458284
|
+
return { physical: primary, reason: "fallback_face_absent" };
|
|
458285
|
+
}
|
|
458286
|
+
if (decision.kind !== "fallback")
|
|
458287
|
+
return null;
|
|
458288
|
+
const fallback = decision.fallback;
|
|
458289
|
+
if (fallback.policyAction !== "substitute" && fallback.policyAction !== "category_fallback")
|
|
458290
|
+
return null;
|
|
458291
|
+
if (hasFace(fallback.substituteFamily, face.weight, face.style)) {
|
|
458292
|
+
return {
|
|
458293
|
+
physical: fallback.substituteFamily,
|
|
458294
|
+
reason: reasonForFallback2(fallback.policyAction)
|
|
458295
|
+
};
|
|
458296
|
+
}
|
|
458297
|
+
const sourceFace = fallback.faceSource?.kind === "synthetic" ? faceKeyForSlot2(fallback.faceSource.from) : face;
|
|
458298
|
+
if (!hasFace(fallback.substituteFamily, sourceFace.weight, sourceFace.style)) {
|
|
458299
|
+
return fallback.policyAction === "substitute" ? { physical: primary, reason: "fallback_face_absent" } : null;
|
|
458300
|
+
}
|
|
458301
|
+
const sourceDiffers = sourceFace.weight !== face.weight || sourceFace.style !== face.style;
|
|
458302
|
+
return {
|
|
458303
|
+
physical: fallback.substituteFamily,
|
|
458304
|
+
reason: reasonForFallback2(fallback.policyAction),
|
|
458305
|
+
...sourceDiffers ? { sourceFace } : {}
|
|
458306
|
+
};
|
|
458307
|
+
}
|
|
457104
458308
|
function deriveBundledSubstitutes2() {
|
|
457105
458309
|
const substitutes = {};
|
|
457106
458310
|
for (const row2 of SUBSTITUTION_EVIDENCE3) {
|
|
@@ -457223,14 +458427,10 @@ class FontResolver2 {
|
|
|
457223
458427
|
if (hasFace(primary, face.weight, face.style)) {
|
|
457224
458428
|
return { physical: primary, reason: "registered_face" };
|
|
457225
458429
|
}
|
|
458430
|
+
const docfonts = resolveDocfontsFace2(primary, face, hasFace);
|
|
458431
|
+
if (docfonts)
|
|
458432
|
+
return docfonts;
|
|
457226
458433
|
const bundled = BUNDLED_SUBSTITUTES2[key2];
|
|
457227
|
-
if (bundled && hasFace(bundled, face.weight, face.style)) {
|
|
457228
|
-
return { physical: bundled, reason: "bundled_substitute" };
|
|
457229
|
-
}
|
|
457230
|
-
const category = CATEGORY_FALLBACKS2[key2];
|
|
457231
|
-
if (category && hasFace(category, face.weight, face.style)) {
|
|
457232
|
-
return { physical: category, reason: "category_fallback" };
|
|
457233
|
-
}
|
|
457234
458434
|
if (override || bundled) {
|
|
457235
458435
|
return { physical: primary, reason: "fallback_face_absent" };
|
|
457236
458436
|
}
|
|
@@ -457256,8 +458456,13 @@ class FontResolver2 {
|
|
|
457256
458456
|
resolveFace(logicalFamily, face, hasFace) {
|
|
457257
458457
|
const parts = splitStack2(logicalFamily);
|
|
457258
458458
|
const primary = parts[0] ?? logicalFamily;
|
|
457259
|
-
const { physical, reason } = this.#resolveFaceLadder(primary, face, hasFace);
|
|
457260
|
-
return {
|
|
458459
|
+
const { physical, reason, sourceFace } = this.#resolveFaceLadder(primary, face, hasFace);
|
|
458460
|
+
return {
|
|
458461
|
+
logicalFamily,
|
|
458462
|
+
physicalFamily: stripFamilyQuotes2(physical),
|
|
458463
|
+
reason,
|
|
458464
|
+
...sourceFace ? { sourceFace } : {}
|
|
458465
|
+
};
|
|
457261
458466
|
}
|
|
457262
458467
|
resolvePhysicalFamilyForFace(cssFontFamily, face, hasFace) {
|
|
457263
458468
|
if (!cssFontFamily)
|
|
@@ -457707,7 +458912,7 @@ function deriveOfferings2() {
|
|
|
457707
458912
|
return {
|
|
457708
458913
|
logicalFamily: row2.logicalFamily,
|
|
457709
458914
|
physicalFamily: row2.physicalFamily,
|
|
457710
|
-
generic: row2.
|
|
458915
|
+
generic: row2.generic,
|
|
457711
458916
|
offering: classifyOffering2(row2.policyAction, row2.verdict, row2.physicalFamily, bundled),
|
|
457712
458917
|
bundled,
|
|
457713
458918
|
verdict: row2.verdict,
|
|
@@ -457716,21 +458921,28 @@ function deriveOfferings2() {
|
|
|
457716
458921
|
});
|
|
457717
458922
|
return Object.freeze(offerings);
|
|
457718
458923
|
}
|
|
457719
|
-
var
|
|
458924
|
+
var BUNDLED_FAMILIES2, ADVERTISED_BUILT_IN_TOOLBAR_FAMILIES2, FONT_OFFERINGS2;
|
|
457720
458925
|
var init_font_offerings = __esm(() => {
|
|
457721
|
-
init_substitution_evidence();
|
|
457722
458926
|
init_bundled_manifest();
|
|
457723
|
-
|
|
457724
|
-
Carlito: "sans-serif",
|
|
457725
|
-
Caladea: "serif",
|
|
457726
|
-
"Liberation Sans": "sans-serif",
|
|
457727
|
-
"Liberation Serif": "serif",
|
|
457728
|
-
"Liberation Mono": "monospace"
|
|
457729
|
-
});
|
|
458927
|
+
init_substitution_evidence();
|
|
457730
458928
|
BUNDLED_FAMILIES2 = new Set(BUNDLED_MANIFEST2.map((f2) => f2.family));
|
|
458929
|
+
ADVERTISED_BUILT_IN_TOOLBAR_FAMILIES2 = new Set([
|
|
458930
|
+
"Cooper Black",
|
|
458931
|
+
"Comic Sans MS",
|
|
458932
|
+
"Garamond",
|
|
458933
|
+
"Georgia",
|
|
458934
|
+
"Tahoma",
|
|
458935
|
+
"Trebuchet MS"
|
|
458936
|
+
]);
|
|
457731
458937
|
FONT_OFFERINGS2 = deriveOfferings2();
|
|
457732
458938
|
});
|
|
457733
458939
|
|
|
458940
|
+
// ../../shared/font-system/src/document-font-options.ts
|
|
458941
|
+
var init_document_font_options = __esm(() => {
|
|
458942
|
+
init_report();
|
|
458943
|
+
init_font_offerings();
|
|
458944
|
+
});
|
|
458945
|
+
|
|
457734
458946
|
// ../../shared/font-system/src/index.ts
|
|
457735
458947
|
var init_src5 = __esm(() => {
|
|
457736
458948
|
init_types8();
|
|
@@ -457741,6 +458953,7 @@ var init_src5 = __esm(() => {
|
|
|
457741
458953
|
init_os2();
|
|
457742
458954
|
init_registry2();
|
|
457743
458955
|
init_font_offerings();
|
|
458956
|
+
init_document_font_options();
|
|
457744
458957
|
});
|
|
457745
458958
|
|
|
457746
458959
|
// ../../packages/super-editor/src/editors/v1/core/super-converter/v2/exporter/commentsExporter.js
|
|
@@ -458775,6 +459988,7 @@ function groupTrackedChanges2(editor) {
|
|
|
458775
459988
|
return cached2.grouped;
|
|
458776
459989
|
const marks = getRawTrackedMarks2(editor);
|
|
458777
459990
|
const byRawId = new Map;
|
|
459991
|
+
const segmentsByRawId = new Map;
|
|
458778
459992
|
for (const item of marks) {
|
|
458779
459993
|
const attrs = item.mark?.attrs ?? {};
|
|
458780
459994
|
const id2 = toNonEmptyString2(attrs.id);
|
|
@@ -458791,6 +460005,11 @@ function groupTrackedChanges2(editor) {
|
|
|
458791
460005
|
const contributesToExcerpt = !wordRevisionId || !hasChildTrackedMarkOnNode2(item, id2);
|
|
458792
460006
|
const excerptText = contributesToExcerpt ? getTrackedMarkText2(editor, item) : "";
|
|
458793
460007
|
const range = [item.from, item.to];
|
|
460008
|
+
const priorSegments = segmentsByRawId.get(groupKey);
|
|
460009
|
+
if (priorSegments)
|
|
460010
|
+
priorSegments.push({ from: item.from, to: item.to });
|
|
460011
|
+
else
|
|
460012
|
+
segmentsByRawId.set(groupKey, [{ from: item.from, to: item.to }]);
|
|
458794
460013
|
if (!existing) {
|
|
458795
460014
|
byRawId.set(groupKey, {
|
|
458796
460015
|
rawId: groupKey,
|
|
@@ -458840,7 +460059,19 @@ function groupTrackedChanges2(editor) {
|
|
|
458840
460059
|
return a2.id.localeCompare(b2.id);
|
|
458841
460060
|
});
|
|
458842
460061
|
attachOverlapMetadata2(grouped);
|
|
458843
|
-
|
|
460062
|
+
const structuralChanges = enumerateStructuralRowChanges2(editor.state);
|
|
460063
|
+
const wholeTableRanges = structuralChanges.filter((structural) => structural.decidable && structural.wholeTable).map((structural) => ({ from: structural.tableFrom, to: structural.tableTo }));
|
|
460064
|
+
if (wholeTableRanges.length > 0) {
|
|
460065
|
+
const segmentInsideSomeTable = (segment) => wholeTableRanges.some((range) => segment.from >= range.from && segment.to <= range.to);
|
|
460066
|
+
for (let i5 = grouped.length - 1;i5 >= 0; i5 -= 1) {
|
|
460067
|
+
const change = grouped[i5];
|
|
460068
|
+
const segments = segmentsByRawId.get(change.rawId) ?? [{ from: change.from, to: change.to }];
|
|
460069
|
+
const ownedByTable = segments.every(segmentInsideSomeTable);
|
|
460070
|
+
if (ownedByTable)
|
|
460071
|
+
grouped.splice(i5, 1);
|
|
460072
|
+
}
|
|
460073
|
+
}
|
|
460074
|
+
for (const structural of structuralChanges) {
|
|
458844
460075
|
const excerpt = normalizeExcerpt2(editor.state.doc.textBetween(structural.tableFrom, structural.tableTo, " ", ""));
|
|
458845
460076
|
const stableRawId = structural.sourceId ? `word:structural:${structural.sourceId}` : structural.id;
|
|
458846
460077
|
grouped.push({
|