@superdoc-dev/cli 0.16.0 → 0.17.0-next.1

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.
Files changed (2) hide show
  1. package/dist/index.js +874 -295
  2. package/package.json +8 -8
package/dist/index.js CHANGED
@@ -59533,90 +59533,70 @@ Actual: ` + parser.attribValue);
59533
59533
  });
59534
59534
  });
59535
59535
 
59536
- // ../../packages/superdoc/dist/chunks/uuid-qzgm05fK.es.js
59537
- function rng() {
59538
- if (!getRandomValues3) {
59539
- getRandomValues3 = typeof crypto !== "undefined" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
59540
- if (!getRandomValues3)
59541
- throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
59542
- }
59543
- return getRandomValues3(rnds8);
59544
- }
59536
+ // ../../packages/superdoc/dist/chunks/uuid-B2wVPhPi.es.js
59545
59537
  function validate(uuid) {
59546
59538
  return typeof uuid === "string" && regex_default.test(uuid);
59547
59539
  }
59548
- function unsafeStringify(arr, offset = 0) {
59549
- return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
59550
- }
59551
59540
  function parse(uuid) {
59552
59541
  if (!validate_default(uuid))
59553
59542
  throw TypeError("Invalid UUID");
59554
59543
  let v;
59555
- const arr = new Uint8Array(16);
59556
- arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;
59557
- arr[1] = v >>> 16 & 255;
59558
- arr[2] = v >>> 8 & 255;
59559
- arr[3] = v & 255;
59560
- arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;
59561
- arr[5] = v & 255;
59562
- arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;
59563
- arr[7] = v & 255;
59564
- arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;
59565
- arr[9] = v & 255;
59566
- arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776 & 255;
59567
- arr[11] = v / 4294967296 & 255;
59568
- arr[12] = v >>> 24 & 255;
59569
- arr[13] = v >>> 16 & 255;
59570
- arr[14] = v >>> 8 & 255;
59571
- arr[15] = v & 255;
59572
- return arr;
59544
+ return Uint8Array.of((v = parseInt(uuid.slice(0, 8), 16)) >>> 24, v >>> 16 & 255, v >>> 8 & 255, v & 255, (v = parseInt(uuid.slice(9, 13), 16)) >>> 8, v & 255, (v = parseInt(uuid.slice(14, 18), 16)) >>> 8, v & 255, (v = parseInt(uuid.slice(19, 23), 16)) >>> 8, v & 255, (v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776 & 255, v / 4294967296 & 255, v >>> 24 & 255, v >>> 16 & 255, v >>> 8 & 255, v & 255);
59545
+ }
59546
+ function unsafeStringify(arr, offset = 0) {
59547
+ return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
59548
+ }
59549
+ function rng() {
59550
+ if (!getRandomValues3) {
59551
+ if (typeof crypto === "undefined" || !crypto.getRandomValues)
59552
+ throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
59553
+ getRandomValues3 = crypto.getRandomValues.bind(crypto);
59554
+ }
59555
+ return getRandomValues3(rnds8);
59573
59556
  }
59574
59557
  function stringToBytes(str) {
59575
59558
  str = unescape(encodeURIComponent(str));
59576
- const bytes = [];
59559
+ const bytes = new Uint8Array(str.length);
59577
59560
  for (let i2 = 0;i2 < str.length; ++i2)
59578
- bytes.push(str.charCodeAt(i2));
59561
+ bytes[i2] = str.charCodeAt(i2);
59579
59562
  return bytes;
59580
59563
  }
59581
- function v35(name, version3, hashfunc) {
59582
- function generateUUID(value, namespace, buf, offset) {
59583
- var _namespace;
59584
- if (typeof value === "string")
59585
- value = stringToBytes(value);
59586
- if (typeof namespace === "string")
59587
- namespace = parse_default(namespace);
59588
- if (((_namespace = namespace) === null || _namespace === undefined ? undefined : _namespace.length) !== 16)
59589
- throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");
59590
- let bytes = new Uint8Array(16 + value.length);
59591
- bytes.set(namespace);
59592
- bytes.set(value, namespace.length);
59593
- bytes = hashfunc(bytes);
59594
- bytes[6] = bytes[6] & 15 | version3;
59595
- bytes[8] = bytes[8] & 63 | 128;
59596
- if (buf) {
59597
- offset = offset || 0;
59598
- for (let i2 = 0;i2 < 16; ++i2)
59599
- buf[offset + i2] = bytes[i2];
59600
- return buf;
59601
- }
59602
- return unsafeStringify(bytes);
59564
+ function v35(version3, hash, value, namespace, buf, offset) {
59565
+ const valueBytes = typeof value === "string" ? stringToBytes(value) : value;
59566
+ const namespaceBytes = typeof namespace === "string" ? parse_default(namespace) : namespace;
59567
+ if (typeof namespace === "string")
59568
+ namespace = parse_default(namespace);
59569
+ if (namespace?.length !== 16)
59570
+ throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");
59571
+ let bytes = new Uint8Array(16 + valueBytes.length);
59572
+ bytes.set(namespaceBytes);
59573
+ bytes.set(valueBytes, namespaceBytes.length);
59574
+ bytes = hash(bytes);
59575
+ bytes[6] = bytes[6] & 15 | version3;
59576
+ bytes[8] = bytes[8] & 63 | 128;
59577
+ if (buf) {
59578
+ offset = offset || 0;
59579
+ if (offset < 0 || offset + 16 > buf.length)
59580
+ throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);
59581
+ for (let i2 = 0;i2 < 16; ++i2)
59582
+ buf[offset + i2] = bytes[i2];
59583
+ return buf;
59603
59584
  }
59604
- try {
59605
- generateUUID.name = name;
59606
- } catch (err) {}
59607
- generateUUID.DNS = DNS;
59608
- generateUUID.URL = URL2;
59609
- return generateUUID;
59585
+ return unsafeStringify(bytes);
59610
59586
  }
59611
59587
  function v4(options, buf, offset) {
59612
59588
  if (native_default.randomUUID && !buf && !options)
59613
59589
  return native_default.randomUUID();
59614
59590
  options = options || {};
59615
- const rnds = options.random || (options.rng || rng)();
59591
+ const rnds = options.random ?? options.rng?.() ?? rng();
59592
+ if (rnds.length < 16)
59593
+ throw new Error("Random bytes length must be >= 16");
59616
59594
  rnds[6] = rnds[6] & 15 | 64;
59617
59595
  rnds[8] = rnds[8] & 63 | 128;
59618
59596
  if (buf) {
59619
59597
  offset = offset || 0;
59598
+ if (offset < 0 || offset + 16 > buf.length)
59599
+ throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);
59620
59600
  for (let i2 = 0;i2 < 16; ++i2)
59621
59601
  buf[offset + i2] = rnds[i2];
59622
59602
  return buf;
@@ -59652,14 +59632,10 @@ function sha1(bytes) {
59652
59632
  271733878,
59653
59633
  3285377520
59654
59634
  ];
59655
- if (typeof bytes === "string") {
59656
- const msg = unescape(encodeURIComponent(bytes));
59657
- bytes = [];
59658
- for (let i2 = 0;i2 < msg.length; ++i2)
59659
- bytes.push(msg.charCodeAt(i2));
59660
- } else if (!Array.isArray(bytes))
59661
- bytes = Array.prototype.slice.call(bytes);
59662
- bytes.push(128);
59635
+ const newBytes = new Uint8Array(bytes.length + 1);
59636
+ newBytes.set(bytes);
59637
+ newBytes[bytes.length] = 128;
59638
+ bytes = newBytes;
59663
59639
  const l = bytes.length / 4 + 2;
59664
59640
  const N = Math.ceil(l / 16);
59665
59641
  const M = new Array(N);
@@ -59698,41 +59674,26 @@ function sha1(bytes) {
59698
59674
  H[3] = H[3] + d >>> 0;
59699
59675
  H[4] = H[4] + e >>> 0;
59700
59676
  }
59701
- return [
59702
- H[0] >> 24 & 255,
59703
- H[0] >> 16 & 255,
59704
- H[0] >> 8 & 255,
59705
- H[0] & 255,
59706
- H[1] >> 24 & 255,
59707
- H[1] >> 16 & 255,
59708
- H[1] >> 8 & 255,
59709
- H[1] & 255,
59710
- H[2] >> 24 & 255,
59711
- H[2] >> 16 & 255,
59712
- H[2] >> 8 & 255,
59713
- H[2] & 255,
59714
- H[3] >> 24 & 255,
59715
- H[3] >> 16 & 255,
59716
- H[3] >> 8 & 255,
59717
- H[3] & 255,
59718
- H[4] >> 24 & 255,
59719
- H[4] >> 16 & 255,
59720
- H[4] >> 8 & 255,
59721
- H[4] & 255
59722
- ];
59677
+ return Uint8Array.of(H[0] >> 24, H[0] >> 16, H[0] >> 8, H[0], H[1] >> 24, H[1] >> 16, H[1] >> 8, H[1], H[2] >> 24, H[2] >> 16, H[2] >> 8, H[2], H[3] >> 24, H[3] >> 16, H[3] >> 8, H[3], H[4] >> 24, H[4] >> 16, H[4] >> 8, H[4]);
59723
59678
  }
59724
- var getRandomValues3, rnds8, regex_default, validate_default, byteToHex, parse_default, DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8", URL2 = "6ba7b811-9dad-11d1-80b4-00c04fd430c8", native_default, v4_default, v5_default;
59725
- var init_uuid_qzgm05fK_es = __esm(() => {
59726
- rnds8 = new Uint8Array(16);
59727
- regex_default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
59679
+ function v5(value, namespace, buf, offset) {
59680
+ return v35(80, sha1_default, value, namespace, buf, offset);
59681
+ }
59682
+ var regex_default, validate_default, parse_default, byteToHex, getRandomValues3, rnds8, DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8", URL2 = "6ba7b811-9dad-11d1-80b4-00c04fd430c8", native_default, v4_default, sha1_default, v5_default;
59683
+ var init_uuid_B2wVPhPi_es = __esm(() => {
59684
+ regex_default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;
59728
59685
  validate_default = validate;
59686
+ parse_default = parse;
59729
59687
  byteToHex = [];
59730
59688
  for (let i2 = 0;i2 < 256; ++i2)
59731
59689
  byteToHex.push((i2 + 256).toString(16).slice(1));
59732
- parse_default = parse;
59690
+ rnds8 = new Uint8Array(16);
59733
59691
  native_default = { randomUUID: typeof crypto !== "undefined" && crypto.randomUUID && crypto.randomUUID.bind(crypto) };
59734
59692
  v4_default = v4;
59735
- v5_default = v35("v5", 80, sha1);
59693
+ sha1_default = sha1;
59694
+ v5.DNS = DNS;
59695
+ v5.URL = URL2;
59696
+ v5_default = v5;
59736
59697
  });
59737
59698
 
59738
59699
  // ../../packages/superdoc/dist/chunks/constants-D9qj59G2.es.js
@@ -68366,7 +68327,7 @@ var init_remark_gfm_BhnWr3yf_es = __esm(() => {
68366
68327
  emptyOptions2 = {};
68367
68328
  });
68368
68329
 
68369
- // ../../packages/superdoc/dist/chunks/SuperConverter-DOoAJ6Zk.es.js
68330
+ // ../../packages/superdoc/dist/chunks/SuperConverter-C6RGktKO.es.js
68370
68331
  function getExtensionConfigField(extension$1, field, context = { name: "" }) {
68371
68332
  const fieldValue = extension$1.config[field];
68372
68333
  if (typeof fieldValue === "function")
@@ -77490,9 +77451,9 @@ function decode$66(params3) {
77490
77451
  });
77491
77452
  if (params3.isFinalDoc)
77492
77453
  return null;
77493
- const textNode = translatedTextNode.elements.find((n) => n.name === "w:t");
77494
- if (textNode)
77495
- textNode.name = "w:delText";
77454
+ (translatedTextNode.elements || []).filter((n) => n.name === "w:t").forEach((n) => {
77455
+ n.name = "w:delText";
77456
+ });
77496
77457
  return {
77497
77458
  name: "w:del",
77498
77459
  attributes: {
@@ -98593,14 +98554,37 @@ function getTextNodeForExport(text$2, marks, params3) {
98593
98554
  wordIdAllocator: params3?.converter?.wordIdAllocator || null,
98594
98555
  partPath: resolveExportPartPath(params3)
98595
98556
  });
98596
- textNodes.push({
98597
- name: "w:t",
98598
- elements: [{
98599
- text: text$2,
98600
- type: "text"
98601
- }],
98602
- attributes: nodeAttrs
98603
- });
98557
+ const textValue = typeof text$2 === "string" ? text$2 : "";
98558
+ const normalizedText = textValue.includes("\r") ? textValue.replace(/\r\n?/g, `
98559
+ `) : textValue;
98560
+ if (normalizedText.includes(`
98561
+ `)) {
98562
+ const segments = normalizedText.split(`
98563
+ `);
98564
+ segments.forEach((segment, index2) => {
98565
+ if (segment.length > 0) {
98566
+ const segmentNeedsSpace = /^\s|\s$/.test(segment);
98567
+ textNodes.push({
98568
+ name: "w:t",
98569
+ elements: [{
98570
+ text: segment,
98571
+ type: "text"
98572
+ }],
98573
+ attributes: segmentNeedsSpace ? { "xml:space": "preserve" } : null
98574
+ });
98575
+ }
98576
+ if (index2 < segments.length - 1)
98577
+ textNodes.push({ name: "w:br" });
98578
+ });
98579
+ } else
98580
+ textNodes.push({
98581
+ name: "w:t",
98582
+ elements: [{
98583
+ text: normalizedText,
98584
+ type: "text"
98585
+ }],
98586
+ attributes: nodeAttrs
98587
+ });
98604
98588
  if (params3?.editor?.extensionService?.extensions) {
98605
98589
  const customMarks = params3.editor.extensionService.extensions.filter((extension$1) => extension$1.isExternal === true);
98606
98590
  normalizedMarks.forEach((mark) => {
@@ -102483,6 +102467,86 @@ function translateMark(mark) {
102483
102467
  function isSettled(status) {
102484
102468
  return SETTLED_STATUSES.includes(status);
102485
102469
  }
102470
+ function normalizeFamilyName(name) {
102471
+ return name.trim().replace(/^['"]+|['"]+$/g, "").trim().toLowerCase();
102472
+ }
102473
+ function buildFallback(row, physicalFamily) {
102474
+ return {
102475
+ substituteFamily: physicalFamily,
102476
+ policyAction: row.policyAction,
102477
+ verdict: row.verdict,
102478
+ lineBreakSafe: LINE_BREAK_SAFE_VERDICTS.has(row.verdict),
102479
+ evidenceId: row.evidenceId
102480
+ };
102481
+ }
102482
+ function decideRow(row, canRenderFamily$1) {
102483
+ const { policyAction, physicalFamily, verdict, evidenceId } = row;
102484
+ if (policyAction === "preserve_only")
102485
+ return {
102486
+ kind: "preserve_only",
102487
+ evidenceId
102488
+ };
102489
+ if (policyAction === "customer_supplied")
102490
+ return {
102491
+ kind: "customer_supplied",
102492
+ evidenceId
102493
+ };
102494
+ if (physicalFamily === null)
102495
+ return {
102496
+ kind: "no_recommended_fallback",
102497
+ evidenceId
102498
+ };
102499
+ if (canRenderFamily$1 && !canRenderFamily$1(physicalFamily))
102500
+ return {
102501
+ kind: "asset_missing",
102502
+ substituteFamily: physicalFamily,
102503
+ verdict,
102504
+ evidenceId
102505
+ };
102506
+ return {
102507
+ kind: "fallback",
102508
+ fallback: buildFallback(row, physicalFamily)
102509
+ };
102510
+ }
102511
+ function getFallbackDecision(family$1, options = {}) {
102512
+ const row = BY_LOGICAL.get(normalizeFamilyName(family$1));
102513
+ return row ? decideRow(row, options.canRenderFamily) : { kind: "unknown" };
102514
+ }
102515
+ function getRenderableFallback(family$1, options) {
102516
+ const decision = getFallbackDecision(family$1, options);
102517
+ return decision.kind === "fallback" ? decision.fallback : null;
102518
+ }
102519
+ function fourFaces(filePrefix) {
102520
+ return [
102521
+ {
102522
+ weight: "normal",
102523
+ style: "normal",
102524
+ file: `${filePrefix}-Regular.woff2`
102525
+ },
102526
+ {
102527
+ weight: "bold",
102528
+ style: "normal",
102529
+ file: `${filePrefix}-Bold.woff2`
102530
+ },
102531
+ {
102532
+ weight: "normal",
102533
+ style: "italic",
102534
+ file: `${filePrefix}-Italic.woff2`
102535
+ },
102536
+ {
102537
+ weight: "bold",
102538
+ style: "italic",
102539
+ file: `${filePrefix}-BoldItalic.woff2`
102540
+ }
102541
+ ];
102542
+ }
102543
+ function family(name, filePrefix, license) {
102544
+ return {
102545
+ family: name,
102546
+ license,
102547
+ faces: fourFaces(filePrefix)
102548
+ };
102549
+ }
102486
102550
  function normalizeFamilyKey$1(family$1) {
102487
102551
  return family$1.trim().replace(/^["']|["']$/g, "").toLowerCase();
102488
102552
  }
@@ -102491,16 +102555,20 @@ function sortPairs(pairs) {
102491
102555
  }
102492
102556
  function deriveBundledSubstitutes() {
102493
102557
  const substitutes = {};
102494
- for (const row of SUBSTITUTION_EVIDENCE)
102495
- if (row.policyAction === "substitute" && row.physicalFamily)
102496
- substitutes[normalizeFamilyKey$1(row.logicalFamily)] = row.physicalFamily;
102558
+ for (const row of SUBSTITUTION_EVIDENCE) {
102559
+ const fallback = getRenderableFallback(row.logicalFamily, { canRenderFamily });
102560
+ if (fallback?.policyAction === "substitute")
102561
+ substitutes[normalizeFamilyKey$1(row.logicalFamily)] = fallback.substituteFamily;
102562
+ }
102497
102563
  return Object.freeze(substitutes);
102498
102564
  }
102499
102565
  function deriveCategoryFallbacks() {
102500
102566
  const fallbacks = {};
102501
- for (const row of SUBSTITUTION_EVIDENCE)
102502
- if (row.policyAction === "category_fallback" && row.physicalFamily)
102503
- fallbacks[normalizeFamilyKey$1(row.logicalFamily)] = row.physicalFamily;
102567
+ for (const row of SUBSTITUTION_EVIDENCE) {
102568
+ const fallback = getRenderableFallback(row.logicalFamily, { canRenderFamily });
102569
+ if (fallback?.policyAction === "category_fallback")
102570
+ fallbacks[normalizeFamilyKey$1(row.logicalFamily)] = fallback.substituteFamily;
102571
+ }
102504
102572
  return Object.freeze(fallbacks);
102505
102573
  }
102506
102574
  function stripFamilyQuotes(family$1) {
@@ -102527,37 +102595,6 @@ function getFontConfigVersion() {
102527
102595
  function bumpFontConfigVersion() {
102528
102596
  return fontConfigVersion += 1;
102529
102597
  }
102530
- function fourFaces(filePrefix) {
102531
- return [
102532
- {
102533
- weight: "normal",
102534
- style: "normal",
102535
- file: `${filePrefix}-Regular.woff2`
102536
- },
102537
- {
102538
- weight: "bold",
102539
- style: "normal",
102540
- file: `${filePrefix}-Bold.woff2`
102541
- },
102542
- {
102543
- weight: "normal",
102544
- style: "italic",
102545
- file: `${filePrefix}-Italic.woff2`
102546
- },
102547
- {
102548
- weight: "bold",
102549
- style: "italic",
102550
- file: `${filePrefix}-BoldItalic.woff2`
102551
- }
102552
- ];
102553
- }
102554
- function family(name, filePrefix, license) {
102555
- return {
102556
- family: name,
102557
- license,
102558
- faces: fourFaces(filePrefix)
102559
- };
102560
- }
102561
102598
  function withTrailingSlash(base$1) {
102562
102599
  return base$1.endsWith("/") ? base$1 : `${base$1}/`;
102563
102600
  }
@@ -107788,6 +107825,9 @@ function hasTrackDeleteMark(node3) {
107788
107825
  function shouldSkipTextNode(node3, options) {
107789
107826
  return isVisibleTextModel(options) && hasTrackDeleteMark(node3);
107790
107827
  }
107828
+ function shouldSkipLeafNode(node3, options) {
107829
+ return isVisibleTextModel(options) && hasTrackDeleteMark(node3);
107830
+ }
107791
107831
  function resolveSegmentPosition(targetOffset, segmentStart, segmentLength, docFrom, docTo) {
107792
107832
  if (segmentLength <= 1)
107793
107833
  return targetOffset <= segmentStart ? docFrom : docTo;
@@ -107819,7 +107859,13 @@ function pmPositionToTextOffset(blockNode, blockPos, pmPos, options) {
107819
107859
  return;
107820
107860
  }
107821
107861
  if (node3.isLeaf) {
107822
- if (pmPos >= docPos + node3.nodeSize)
107862
+ const endPos = docPos + node3.nodeSize;
107863
+ if (shouldSkipLeafNode(node3, options)) {
107864
+ if (pmPos < endPos)
107865
+ done = true;
107866
+ return;
107867
+ }
107868
+ if (pmPos >= endPos)
107823
107869
  offset += 1;
107824
107870
  else
107825
107871
  done = true;
@@ -107860,6 +107906,8 @@ function computeTextContentLength(blockNode, options) {
107860
107906
  return;
107861
107907
  }
107862
107908
  if (node3.isLeaf) {
107909
+ if (shouldSkipLeafNode(node3, options))
107910
+ return;
107863
107911
  length3 += 1;
107864
107912
  return;
107865
107913
  }
@@ -107919,6 +107967,8 @@ function resolveTextRangeInBlock(blockNode, blockPos, range, options) {
107919
107967
  return;
107920
107968
  }
107921
107969
  if (node3.isLeaf) {
107970
+ if (shouldSkipLeafNode(node3, options))
107971
+ return;
107922
107972
  advanceSegment(1, docPos, docPos + node3.nodeSize);
107923
107973
  return;
107924
107974
  }
@@ -107950,7 +108000,10 @@ function textContentInBlock(blockNode, options) {
107950
108000
  return;
107951
108001
  }
107952
108002
  if (node3.isLeaf) {
107953
- text$2 += "";
108003
+ if (shouldSkipLeafNode(node3, options))
108004
+ return;
108005
+ const leafText = node3.type?.spec?.leafText;
108006
+ text$2 += typeof leafText === "function" ? leafText(node3) : "";
107954
108007
  return;
107955
108008
  }
107956
108009
  let isFirstChild$1 = true;
@@ -107975,19 +108028,31 @@ function textContentInBlock(blockNode, options) {
107975
108028
  return text$2;
107976
108029
  }
107977
108030
  function buildTextWithTabs(schema, text$2, marks, opts = {}) {
107978
- if (!text$2.includes("\t"))
107979
- return schema.text(text$2, marks);
107980
- const tabNodeType = schema.nodes?.tab;
107981
- if (!tabNodeType || opts.parentAllowsTab === false)
107982
- return schema.text(text$2, marks);
107983
- const tabMarks = marks ?? null;
107984
- const parts = text$2.split("\t");
108031
+ const normalized = text$2.includes("\r") ? text$2.replace(/\r\n?/g, `
108032
+ `) : text$2;
108033
+ const hasTab = normalized.includes("\t");
108034
+ const hasNewline = normalized.includes(`
108035
+ `);
108036
+ if (!hasTab && !hasNewline)
108037
+ return schema.text(normalized, marks);
108038
+ const tabNodeType = hasTab && opts.parentAllowsTab !== false ? schema.nodes?.tab : undefined;
108039
+ const lineBreakNodeType = hasNewline && opts.parentAllowsLineBreak !== false ? schema.nodes?.lineBreak : undefined;
108040
+ if (!tabNodeType && !lineBreakNodeType)
108041
+ return schema.text(normalized, marks);
108042
+ const tabMarks = marks ?? undefined;
108043
+ const splitPattern = [tabNodeType ? "\\t" : null, lineBreakNodeType ? "\\n" : null].filter(Boolean).join("|");
108044
+ const parts = normalized.split(/* @__PURE__ */ new RegExp(`(${splitPattern})`));
107985
108045
  const nodes = [];
107986
- for (let i$1 = 0;i$1 < parts.length; i$1++) {
107987
- if (parts[i$1])
107988
- nodes.push(schema.text(parts[i$1], marks));
107989
- if (i$1 < parts.length - 1)
108046
+ for (const part of parts) {
108047
+ if (part === "")
108048
+ continue;
108049
+ if (part === "\t" && tabNodeType)
107990
108050
  nodes.push(tabNodeType.create(null, null, tabMarks));
108051
+ else if (part === `
108052
+ ` && lineBreakNodeType)
108053
+ nodes.push(lineBreakNodeType.create());
108054
+ else
108055
+ nodes.push(schema.text(part, marks));
107991
108056
  }
107992
108057
  return Fragment.from(nodes);
107993
108058
  }
@@ -108029,6 +108094,8 @@ function textBetweenWithTabs(doc$2, from5, to, blockSeparator, leafFallback, opt
108029
108094
  }
108030
108095
  if (node3.isLeaf) {
108031
108096
  if (node3.isInline) {
108097
+ if (options.textModel === "visible" && node3.marks?.some((mark) => mark.type.name === "trackDelete"))
108098
+ return false;
108032
108099
  const leafTextFn = node3.type?.spec?.leafText;
108033
108100
  if (typeof leafTextFn === "function")
108034
108101
  out += leafTextFn(node3);
@@ -129531,7 +129598,7 @@ var isRegExp = (value) => {
129531
129598
  tags.push(`</${name}>`);
129532
129599
  return tags;
129533
129600
  }
129534
- }, SETTLED_STATUSES, SUBSTITUTION_EVIDENCE, BUNDLED_SUBSTITUTES, CATEGORY_FALLBACKS, FontResolver = class {
129601
+ }, SETTLED_STATUSES, SUBSTITUTION_EVIDENCE$1, LINE_BREAK_SAFE_VERDICTS, BY_LOGICAL, BUNDLED_MANIFEST, SUBSTITUTION_EVIDENCE, bundledFamilies, canRenderFamily = (family$1) => bundledFamilies.has(family$1), BUNDLED_SUBSTITUTES, CATEGORY_FALLBACKS, FontResolver = class {
129535
129602
  #overrides = /* @__PURE__ */ new Map;
129536
129603
  #embedded = /* @__PURE__ */ new Map;
129537
129604
  #version = 0;
@@ -129720,7 +129787,7 @@ var isRegExp = (value) => {
129720
129787
  out.add(this.resolvePrimaryPhysicalFamily(family$1));
129721
129788
  return [...out];
129722
129789
  }
129723
- }, defaultResolver, DEFAULT_FONT_MEASURE_CONTEXT, fontConfigVersion = 0, BUNDLED_MANIFEST, defaultAssetBase = "/fonts/", installedRegistries, 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 {
129790
+ }, defaultResolver, DEFAULT_FONT_MEASURE_CONTEXT, fontConfigVersion = 0, defaultAssetBase = "/fonts/", installedRegistries, 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 {
129724
129791
  #fontSet;
129725
129792
  #FontFaceCtor;
129726
129793
  #probeSize;
@@ -134003,7 +134070,7 @@ var isRegExp = (value) => {
134003
134070
  sourceId: stringOf(primary.sourceId),
134004
134071
  revisionGroupId: stringOf(primary.revisionGroupId) || representativeRevisionId
134005
134072
  });
134006
- }, stringOf = (value) => typeof value === "string" ? value : value == null ? "" : String(value), groupedCache, SDT_NODE_NAMES, SDT_BLOCK_NAME = "structuredContentBlock", SDT_INLINE_NAME = "structuredContent", SDT_NODE_TYPES, VALID_CONTROL_TYPES, VALID_LOCK_MODES2, VALID_APPEARANCES, FIELD_LIKE_SDT_TYPES, liveDocumentCountsCache, BIBLIOGRAPHY_NAMESPACE_URI = "http://schemas.openxmlformats.org/officeDocument/2006/bibliography", CUSTOM_XML_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml", CUSTOM_XML_PROPS_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps", DEFAULT_SELECTED_STYLE = "/APA.XSL", DEFAULT_STYLE_NAME = "APA", DEFAULT_VERSION = "6", API_TO_OOXML_SOURCE_TYPE, OOXML_TO_API_SOURCE_TYPE, SIMPLE_FIELD_TO_XML_TAG, XML_TAG_TO_SIMPLE_FIELD, import_lib2, FONT_FAMILY_FALLBACKS, DEFAULT_GENERIC_FALLBACK = "sans-serif", DEFAULT_FONT_SIZE_PT = 10, CURRENT_APP_VERSION = "1.38.0", SUPERDOC_DOCUMENT_ORIGIN_PROPERTY = "SuperdocDocumentOrigin", STORED_DOCUMENT_ORIGINS, collectRunDefaultProperties = (runProps, { allowOverrideTypeface = true, allowOverrideSize = true, themeResolver, state }) => {
134073
+ }, stringOf = (value) => typeof value === "string" ? value : value == null ? "" : String(value), groupedCache, SDT_NODE_NAMES, SDT_BLOCK_NAME = "structuredContentBlock", SDT_INLINE_NAME = "structuredContent", SDT_NODE_TYPES, VALID_CONTROL_TYPES, VALID_LOCK_MODES2, VALID_APPEARANCES, FIELD_LIKE_SDT_TYPES, liveDocumentCountsCache, BIBLIOGRAPHY_NAMESPACE_URI = "http://schemas.openxmlformats.org/officeDocument/2006/bibliography", CUSTOM_XML_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml", CUSTOM_XML_PROPS_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps", DEFAULT_SELECTED_STYLE = "/APA.XSL", DEFAULT_STYLE_NAME = "APA", DEFAULT_VERSION = "6", API_TO_OOXML_SOURCE_TYPE, OOXML_TO_API_SOURCE_TYPE, SIMPLE_FIELD_TO_XML_TAG, XML_TAG_TO_SIMPLE_FIELD, import_lib2, FONT_FAMILY_FALLBACKS, DEFAULT_GENERIC_FALLBACK = "sans-serif", DEFAULT_FONT_SIZE_PT = 10, CURRENT_APP_VERSION = "1.39.0", SUPERDOC_DOCUMENT_ORIGIN_PROPERTY = "SuperdocDocumentOrigin", STORED_DOCUMENT_ORIGINS, collectRunDefaultProperties = (runProps, { allowOverrideTypeface = true, allowOverrideSize = true, themeResolver, state }) => {
134007
134074
  if (!runProps?.elements?.length || !state)
134008
134075
  return;
134009
134076
  const fontsNode = runProps.elements.find((el) => el.name === "w:rFonts");
@@ -134037,11 +134104,11 @@ var isRegExp = (value) => {
134037
134104
  state.kern = kernNode.attributes["w:val"];
134038
134105
  }
134039
134106
  }, SuperConverter;
134040
- var init_SuperConverter_DOoAJ6Zk_es = __esm(() => {
134107
+ var init_SuperConverter_C6RGktKO_es = __esm(() => {
134041
134108
  init_rolldown_runtime_Bg48TavK_es();
134042
134109
  init_jszip_C49i9kUs_es();
134043
134110
  init_xml_js_CqGKpaft_es();
134044
- init_uuid_qzgm05fK_es();
134111
+ init_uuid_B2wVPhPi_es();
134045
134112
  init_constants_D9qj59G2_es();
134046
134113
  init_dist_B8HfvhaK_es();
134047
134114
  init_unified_Dsuw2be5_es();
@@ -171354,7 +171421,7 @@ var init_SuperConverter_DOoAJ6Zk_es = __esm(() => {
171354
171421
  "timed_out",
171355
171422
  "fallback_used"
171356
171423
  ];
171357
- SUBSTITUTION_EVIDENCE = Object.freeze([
171424
+ SUBSTITUTION_EVIDENCE$1 = [
171358
171425
  {
171359
171426
  evidenceId: "calibri",
171360
171427
  logicalFamily: "Calibri",
@@ -171366,10 +171433,6 @@ var init_SuperConverter_DOoAJ6Zk_es = __esm(() => {
171366
171433
  italic: true,
171367
171434
  boldItalic: true
171368
171435
  },
171369
- advance: {
171370
- meanDelta: 0,
171371
- maxDelta: 0
171372
- },
171373
171436
  gates: {
171374
171437
  static: "pass",
171375
171438
  metric: "pass",
@@ -171378,36 +171441,24 @@ var init_SuperConverter_DOoAJ6Zk_es = __esm(() => {
171378
171441
  },
171379
171442
  policyAction: "substitute",
171380
171443
  measurementRefs: ["calibri__carlito#analytic_advance#2026-06-03", "calibri__carlito#face_aggregate#2026-06-03"],
171381
- candidateLicense: "OFL-1.1",
171382
- exportRule: "preserve_original_name"
171444
+ exportRule: "preserve_original_name",
171445
+ advance: {
171446
+ meanDelta: 0,
171447
+ maxDelta: 0
171448
+ },
171449
+ candidateLicense: "OFL-1.1"
171383
171450
  },
171384
171451
  {
171385
171452
  evidenceId: "cambria",
171386
171453
  logicalFamily: "Cambria",
171387
171454
  physicalFamily: "Caladea",
171388
171455
  verdict: "visual_only",
171389
- faceVerdicts: {
171390
- regular: "metric_safe",
171391
- bold: "metric_safe",
171392
- italic: "metric_safe",
171393
- boldItalic: "visual_only"
171394
- },
171395
- glyphExceptions: [{
171396
- slot: "boldItalic",
171397
- codepoint: 96,
171398
- advanceDelta: 0.231,
171399
- note: "Caladea Bold Italic grave accent (U+0060) advance diverges ~23% from Cambria; lines containing it reflow."
171400
- }],
171401
171456
  faces: {
171402
171457
  regular: true,
171403
171458
  bold: true,
171404
171459
  italic: true,
171405
171460
  boldItalic: true
171406
171461
  },
171407
- advance: {
171408
- meanDelta: 0.0002378,
171409
- maxDelta: 0.2310758
171410
- },
171411
171462
  gates: {
171412
171463
  static: "pass",
171413
171464
  metric: "pass",
@@ -171421,8 +171472,24 @@ var init_SuperConverter_DOoAJ6Zk_es = __esm(() => {
171421
171472
  "cambria_italic__caladea#italic#w400#9c968bf6#analytic_advance#2026-06-04",
171422
171473
  "cambria_boldItalic__caladea#boldItalic#w700#f47a35ad#analytic_advance#2026-06-04"
171423
171474
  ],
171475
+ exportRule: "preserve_original_name",
171476
+ advance: {
171477
+ meanDelta: 0.0002378,
171478
+ maxDelta: 0.2310758
171479
+ },
171424
171480
  candidateLicense: "Apache-2.0",
171425
- exportRule: "preserve_original_name"
171481
+ faceVerdicts: {
171482
+ regular: "metric_safe",
171483
+ bold: "metric_safe",
171484
+ italic: "metric_safe",
171485
+ boldItalic: "visual_only"
171486
+ },
171487
+ glyphExceptions: [{
171488
+ slot: "boldItalic",
171489
+ codepoint: 96,
171490
+ advanceDelta: 0.231,
171491
+ note: "Caladea Bold Italic grave accent (U+0060) advance diverges ~23% from Cambria; lines containing it reflow. All other glyphs, and the regular/bold/italic faces, are within the direct metric threshold."
171492
+ }]
171426
171493
  },
171427
171494
  {
171428
171495
  evidenceId: "arial",
@@ -171435,10 +171502,6 @@ var init_SuperConverter_DOoAJ6Zk_es = __esm(() => {
171435
171502
  italic: true,
171436
171503
  boldItalic: true
171437
171504
  },
171438
- advance: {
171439
- meanDelta: 0,
171440
- maxDelta: 0
171441
- },
171442
171505
  gates: {
171443
171506
  static: "pass",
171444
171507
  metric: "pass",
@@ -171447,8 +171510,12 @@ var init_SuperConverter_DOoAJ6Zk_es = __esm(() => {
171447
171510
  },
171448
171511
  policyAction: "substitute",
171449
171512
  measurementRefs: ["arial__liberation-sans#analytic_advance#2026-06-03"],
171450
- candidateLicense: "OFL-1.1",
171451
- exportRule: "preserve_original_name"
171513
+ exportRule: "preserve_original_name",
171514
+ advance: {
171515
+ meanDelta: 0,
171516
+ maxDelta: 0
171517
+ },
171518
+ candidateLicense: "OFL-1.1"
171452
171519
  },
171453
171520
  {
171454
171521
  evidenceId: "times-new-roman",
@@ -171461,10 +171528,6 @@ var init_SuperConverter_DOoAJ6Zk_es = __esm(() => {
171461
171528
  italic: true,
171462
171529
  boldItalic: true
171463
171530
  },
171464
- advance: {
171465
- meanDelta: 0,
171466
- maxDelta: 0
171467
- },
171468
171531
  gates: {
171469
171532
  static: "pass",
171470
171533
  metric: "pass",
@@ -171473,8 +171536,12 @@ var init_SuperConverter_DOoAJ6Zk_es = __esm(() => {
171473
171536
  },
171474
171537
  policyAction: "substitute",
171475
171538
  measurementRefs: ["times-new-roman__liberation-serif#analytic_advance#2026-06-03"],
171476
- candidateLicense: "OFL-1.1",
171477
- exportRule: "preserve_original_name"
171539
+ exportRule: "preserve_original_name",
171540
+ advance: {
171541
+ meanDelta: 0,
171542
+ maxDelta: 0
171543
+ },
171544
+ candidateLicense: "OFL-1.1"
171478
171545
  },
171479
171546
  {
171480
171547
  evidenceId: "courier-new",
@@ -171487,19 +171554,388 @@ var init_SuperConverter_DOoAJ6Zk_es = __esm(() => {
171487
171554
  italic: true,
171488
171555
  boldItalic: true
171489
171556
  },
171557
+ gates: {
171558
+ static: "pass",
171559
+ metric: "pass",
171560
+ layout: "not_run",
171561
+ ship: "pass"
171562
+ },
171563
+ policyAction: "substitute",
171564
+ measurementRefs: ["courier-new__liberation-mono#analytic_advance#2026-06-03"],
171565
+ exportRule: "preserve_original_name",
171490
171566
  advance: {
171491
171567
  meanDelta: 0,
171492
171568
  maxDelta: 0
171493
171569
  },
171570
+ candidateLicense: "OFL-1.1"
171571
+ },
171572
+ {
171573
+ evidenceId: "georgia",
171574
+ logicalFamily: "Georgia",
171575
+ physicalFamily: "Gelasio",
171576
+ verdict: "near_metric",
171577
+ faces: {
171578
+ regular: true,
171579
+ bold: true,
171580
+ italic: true,
171581
+ boldItalic: true
171582
+ },
171494
171583
  gates: {
171495
171584
  static: "pass",
171496
171585
  metric: "pass",
171497
- layout: "not_run",
171498
- ship: "pass"
171586
+ layout: "pass",
171587
+ ship: "fail"
171499
171588
  },
171500
171589
  policyAction: "substitute",
171501
- measurementRefs: ["courier-new__liberation-mono#analytic_advance#2026-06-03"],
171590
+ measurementRefs: [
171591
+ "georgia_regular__gelasio#regular#w400#1543f04d#analytic_advance#2026-06-04",
171592
+ "georgia_bold__gelasio#bold#w700#5a1b9bd7#analytic_advance#2026-06-04",
171593
+ "georgia_italic__gelasio#italic#w400#be1243a9#analytic_advance#2026-06-04",
171594
+ "georgia_boldItalic__gelasio#boldItalic#w700#6f3b3f7a#analytic_advance#2026-06-04",
171595
+ "georgia_regular__gelasio#regular#w400#1543f04d#live_layout#2026-06-03",
171596
+ "georgia_bold__gelasio#bold#w700#5a1b9bd7#live_layout#2026-06-03",
171597
+ "georgia_italic__gelasio#italic#w400#be1243a9#live_layout#2026-06-03",
171598
+ "georgia_boldItalic__gelasio#boldItalic#w700#6f3b3f7a#live_layout#2026-06-03"
171599
+ ],
171600
+ exportRule: "preserve_original_name",
171601
+ advance: {
171602
+ meanDelta: 0.0000197,
171603
+ maxDelta: 0.0183727
171604
+ },
171502
171605
  candidateLicense: "OFL-1.1",
171606
+ faceVerdicts: {
171607
+ regular: "metric_safe",
171608
+ bold: "metric_safe",
171609
+ italic: "near_metric",
171610
+ boldItalic: "near_metric"
171611
+ },
171612
+ glyphExceptions: [{
171613
+ slot: "italic",
171614
+ codepoint: 210,
171615
+ advanceDelta: 0.0184,
171616
+ note: "Georgia Italic vs Gelasio Italic: accented capital O (U+00D2-D8: O-grave/acute/circumflex/diaeresis/stroke) advance differs ~1.84%. 5 rare glyphs; all other glyphs exact, mean 0%."
171617
+ }, {
171618
+ slot: "boldItalic",
171619
+ codepoint: 204,
171620
+ advanceDelta: 0.011,
171621
+ note: "Georgia Bold Italic vs Gelasio Bold Italic: accented capital I (U+00CC-CE: I-grave/acute/circumflex) advance differs ~1.10%. 3 rare glyphs; all other glyphs exact, mean ~0%."
171622
+ }]
171623
+ },
171624
+ {
171625
+ evidenceId: "arial-narrow",
171626
+ logicalFamily: "Arial Narrow",
171627
+ physicalFamily: "Liberation Sans Narrow",
171628
+ verdict: "visual_only",
171629
+ faces: {
171630
+ regular: true,
171631
+ bold: true,
171632
+ italic: true,
171633
+ boldItalic: true
171634
+ },
171635
+ gates: {
171636
+ static: "pass",
171637
+ metric: "pass",
171638
+ layout: "not_run",
171639
+ ship: "fail"
171640
+ },
171641
+ policyAction: "substitute",
171642
+ measurementRefs: [
171643
+ "arial-narrow_regular__liberation-sans-narrow#regular#w400#546e8957#analytic_advance#2026-06-04",
171644
+ "arial-narrow_bold__liberation-sans-narrow#bold#w700#8e5eb509#analytic_advance#2026-06-04",
171645
+ "arial-narrow_italic__liberation-sans-narrow#italic#w400#c5de4127#analytic_advance#2026-06-04",
171646
+ "arial-narrow_boldItalic__liberation-sans-narrow#boldItalic#w700#57fe1513#analytic_advance#2026-06-04"
171647
+ ],
171648
+ exportRule: "preserve_original_name",
171649
+ advance: {
171650
+ meanDelta: 0,
171651
+ maxDelta: 0.5
171652
+ },
171653
+ candidateLicense: "GPLv2-with-font-exception",
171654
+ faceVerdicts: {
171655
+ regular: "metric_safe",
171656
+ bold: "visual_only",
171657
+ italic: "metric_safe",
171658
+ boldItalic: "metric_safe"
171659
+ },
171660
+ glyphExceptions: [{
171661
+ slot: "bold",
171662
+ codepoint: 160,
171663
+ advanceDelta: 0.5,
171664
+ note: "Arial Narrow Bold no-break space (U+00A0) is double-width (2x the regular space); Liberation Sans Narrow Bold matches the regular space, so lines containing a non-breaking space reflow. All other glyphs, and the regular/italic/boldItalic faces, match within the direct metric threshold."
171665
+ }]
171666
+ },
171667
+ {
171668
+ evidenceId: "aptos",
171669
+ logicalFamily: "Aptos",
171670
+ physicalFamily: null,
171671
+ verdict: "no_substitute",
171672
+ faces: {
171673
+ regular: false,
171674
+ bold: false,
171675
+ italic: false,
171676
+ boldItalic: false
171677
+ },
171678
+ gates: {
171679
+ static: "not_run",
171680
+ metric: "fail",
171681
+ layout: "not_run",
171682
+ ship: "not_run"
171683
+ },
171684
+ policyAction: "customer_supplied",
171685
+ measurementRefs: ["aptos#top_candidates#2026-06-03"],
171686
+ exportRule: "preserve_original_name",
171687
+ candidateLicense: null
171688
+ },
171689
+ {
171690
+ evidenceId: "consolas",
171691
+ logicalFamily: "Consolas",
171692
+ physicalFamily: "Inconsolata SemiExpanded",
171693
+ verdict: "cell_width_only",
171694
+ faces: {
171695
+ regular: false,
171696
+ bold: false,
171697
+ italic: false,
171698
+ boldItalic: false
171699
+ },
171700
+ gates: {
171701
+ static: "not_run",
171702
+ metric: "not_run",
171703
+ layout: "not_run",
171704
+ ship: "not_run"
171705
+ },
171706
+ policyAction: "category_fallback",
171707
+ measurementRefs: ["consolas__inconsolata-semiexpanded#analytic_advance#2026-06-03"],
171708
+ exportRule: "preserve_original_name",
171709
+ advance: {
171710
+ meanDelta: 0.00035999999999999997,
171711
+ maxDelta: 0.00035999999999999997
171712
+ },
171713
+ candidateLicense: "OFL-1.1"
171714
+ },
171715
+ {
171716
+ evidenceId: "verdana",
171717
+ logicalFamily: "Verdana",
171718
+ physicalFamily: null,
171719
+ verdict: "visual_only",
171720
+ faces: {
171721
+ regular: false,
171722
+ bold: false,
171723
+ italic: false,
171724
+ boldItalic: false
171725
+ },
171726
+ gates: {
171727
+ static: "not_run",
171728
+ metric: "fail",
171729
+ layout: "not_run",
171730
+ ship: "not_run"
171731
+ },
171732
+ policyAction: "category_fallback",
171733
+ measurementRefs: ["verdana#top_candidates#2026-06-03"],
171734
+ exportRule: "preserve_original_name",
171735
+ candidateLicense: null
171736
+ },
171737
+ {
171738
+ evidenceId: "tahoma",
171739
+ logicalFamily: "Tahoma",
171740
+ physicalFamily: null,
171741
+ verdict: "visual_only",
171742
+ faces: {
171743
+ regular: false,
171744
+ bold: false,
171745
+ italic: false,
171746
+ boldItalic: false
171747
+ },
171748
+ gates: {
171749
+ static: "not_run",
171750
+ metric: "fail",
171751
+ layout: "not_run",
171752
+ ship: "not_run"
171753
+ },
171754
+ policyAction: "category_fallback",
171755
+ measurementRefs: ["tahoma#top_candidates#2026-06-03"],
171756
+ exportRule: "preserve_original_name",
171757
+ candidateLicense: null
171758
+ },
171759
+ {
171760
+ evidenceId: "trebuchet-ms",
171761
+ logicalFamily: "Trebuchet MS",
171762
+ physicalFamily: null,
171763
+ verdict: "visual_only",
171764
+ faces: {
171765
+ regular: false,
171766
+ bold: false,
171767
+ italic: false,
171768
+ boldItalic: false
171769
+ },
171770
+ gates: {
171771
+ static: "not_run",
171772
+ metric: "fail",
171773
+ layout: "not_run",
171774
+ ship: "not_run"
171775
+ },
171776
+ policyAction: "category_fallback",
171777
+ measurementRefs: ["trebuchet-ms#top_candidates#2026-06-03"],
171778
+ exportRule: "preserve_original_name",
171779
+ candidateLicense: null
171780
+ },
171781
+ {
171782
+ evidenceId: "comic-sans-ms",
171783
+ logicalFamily: "Comic Sans MS",
171784
+ physicalFamily: "Comic Neue",
171785
+ verdict: "visual_only",
171786
+ faces: {
171787
+ regular: false,
171788
+ bold: false,
171789
+ italic: false,
171790
+ boldItalic: false
171791
+ },
171792
+ gates: {
171793
+ static: "not_run",
171794
+ metric: "fail",
171795
+ layout: "not_run",
171796
+ ship: "not_run"
171797
+ },
171798
+ policyAction: "category_fallback",
171799
+ measurementRefs: ["comic-sans-ms__comic-neue#analytic_advance#2026-06-03"],
171800
+ exportRule: "preserve_original_name",
171801
+ advance: {
171802
+ meanDelta: 0.1005,
171803
+ maxDelta: 0.1419
171804
+ },
171805
+ candidateLicense: "OFL-1.1"
171806
+ },
171807
+ {
171808
+ evidenceId: "candara",
171809
+ logicalFamily: "Candara",
171810
+ physicalFamily: null,
171811
+ verdict: "visual_only",
171812
+ faces: {
171813
+ regular: false,
171814
+ bold: false,
171815
+ italic: false,
171816
+ boldItalic: false
171817
+ },
171818
+ gates: {
171819
+ static: "not_run",
171820
+ metric: "fail",
171821
+ layout: "not_run",
171822
+ ship: "not_run"
171823
+ },
171824
+ policyAction: "category_fallback",
171825
+ measurementRefs: ["candara#top_candidates#2026-06-03"],
171826
+ exportRule: "preserve_original_name",
171827
+ candidateLicense: null
171828
+ },
171829
+ {
171830
+ evidenceId: "constantia",
171831
+ logicalFamily: "Constantia",
171832
+ physicalFamily: null,
171833
+ verdict: "visual_only",
171834
+ faces: {
171835
+ regular: false,
171836
+ bold: false,
171837
+ italic: false,
171838
+ boldItalic: false
171839
+ },
171840
+ gates: {
171841
+ static: "not_run",
171842
+ metric: "fail",
171843
+ layout: "not_run",
171844
+ ship: "not_run"
171845
+ },
171846
+ policyAction: "category_fallback",
171847
+ measurementRefs: ["constantia#top_candidates#2026-06-03"],
171848
+ exportRule: "preserve_original_name",
171849
+ candidateLicense: null
171850
+ },
171851
+ {
171852
+ evidenceId: "corbel",
171853
+ logicalFamily: "Corbel",
171854
+ physicalFamily: null,
171855
+ verdict: "visual_only",
171856
+ faces: {
171857
+ regular: false,
171858
+ bold: false,
171859
+ italic: false,
171860
+ boldItalic: false
171861
+ },
171862
+ gates: {
171863
+ static: "not_run",
171864
+ metric: "fail",
171865
+ layout: "not_run",
171866
+ ship: "not_run"
171867
+ },
171868
+ policyAction: "category_fallback",
171869
+ measurementRefs: ["corbel#top_candidates#2026-06-03"],
171870
+ exportRule: "preserve_original_name",
171871
+ candidateLicense: null
171872
+ },
171873
+ {
171874
+ evidenceId: "lucida-console",
171875
+ logicalFamily: "Lucida Console",
171876
+ physicalFamily: "Cousine",
171877
+ verdict: "cell_width_only",
171878
+ faces: {
171879
+ regular: false,
171880
+ bold: false,
171881
+ italic: false,
171882
+ boldItalic: false
171883
+ },
171884
+ gates: {
171885
+ static: "not_run",
171886
+ metric: "not_run",
171887
+ layout: "not_run",
171888
+ ship: "not_run"
171889
+ },
171890
+ policyAction: "category_fallback",
171891
+ measurementRefs: ["lucida-console__cousine#analytic_advance#2026-06-03"],
171892
+ exportRule: "preserve_original_name",
171893
+ advance: {
171894
+ meanDelta: 0.004050000000000001,
171895
+ maxDelta: 0.004050000000000001
171896
+ },
171897
+ candidateLicense: "OFL-1.1"
171898
+ },
171899
+ {
171900
+ evidenceId: "aptos-display",
171901
+ logicalFamily: "Aptos Display",
171902
+ physicalFamily: null,
171903
+ verdict: "customer_supplied",
171904
+ faces: {
171905
+ regular: false,
171906
+ bold: false,
171907
+ italic: false,
171908
+ boldItalic: false
171909
+ },
171910
+ gates: {
171911
+ static: "not_run",
171912
+ metric: "not_run",
171913
+ layout: "not_run",
171914
+ ship: "fail"
171915
+ },
171916
+ policyAction: "customer_supplied",
171917
+ measurementRefs: [],
171918
+ exportRule: "preserve_original_name"
171919
+ },
171920
+ {
171921
+ evidenceId: "cambria-math",
171922
+ logicalFamily: "Cambria Math",
171923
+ physicalFamily: null,
171924
+ verdict: "preserve_only",
171925
+ faces: {
171926
+ regular: false,
171927
+ bold: false,
171928
+ italic: false,
171929
+ boldItalic: false
171930
+ },
171931
+ gates: {
171932
+ static: "not_run",
171933
+ metric: "not_run",
171934
+ layout: "not_run",
171935
+ ship: "not_run"
171936
+ },
171937
+ policyAction: "preserve_only",
171938
+ measurementRefs: [],
171503
171939
  exportRule: "preserve_original_name"
171504
171940
  },
171505
171941
  {
@@ -171513,20 +171949,20 @@ var init_SuperConverter_DOoAJ6Zk_es = __esm(() => {
171513
171949
  italic: true,
171514
171950
  boldItalic: true
171515
171951
  },
171516
- advance: {
171517
- meanDelta: 0,
171518
- maxDelta: 0
171519
- },
171520
171952
  gates: {
171521
171953
  static: "not_run",
171522
171954
  metric: "pass",
171523
171955
  layout: "not_run",
171524
- ship: "fail"
171956
+ ship: "pass"
171525
171957
  },
171526
171958
  policyAction: "substitute",
171527
171959
  measurementRefs: ["helvetica__liberation-sans#analytic_advance#2026-06-03"],
171528
- candidateLicense: "OFL-1.1",
171529
- exportRule: "preserve_original_name"
171960
+ exportRule: "preserve_original_name",
171961
+ advance: {
171962
+ meanDelta: 0,
171963
+ maxDelta: 0
171964
+ },
171965
+ candidateLicense: "OFL-1.1"
171530
171966
  },
171531
171967
  {
171532
171968
  evidenceId: "calibri-light",
@@ -171539,10 +171975,6 @@ var init_SuperConverter_DOoAJ6Zk_es = __esm(() => {
171539
171975
  italic: false,
171540
171976
  boldItalic: false
171541
171977
  },
171542
- advance: {
171543
- meanDelta: 0.0148,
171544
- maxDelta: 0.066
171545
- },
171546
171978
  gates: {
171547
171979
  static: "not_run",
171548
171980
  metric: "fail",
@@ -171551,17 +171983,53 @@ var init_SuperConverter_DOoAJ6Zk_es = __esm(() => {
171551
171983
  },
171552
171984
  policyAction: "category_fallback",
171553
171985
  measurementRefs: ["calibri-light__carlito#analytic_advance#2026-06-05"],
171986
+ exportRule: "preserve_original_name",
171987
+ advance: {
171988
+ meanDelta: 0.0148,
171989
+ maxDelta: 0.066
171990
+ },
171991
+ candidateLicense: "OFL-1.1"
171992
+ },
171993
+ {
171994
+ evidenceId: "baskerville-old-face",
171995
+ logicalFamily: "Baskerville Old Face",
171996
+ physicalFamily: "Bacasime Antique",
171997
+ verdict: "visual_only",
171998
+ faces: {
171999
+ regular: true,
172000
+ bold: false,
172001
+ italic: false,
172002
+ boldItalic: false
172003
+ },
172004
+ gates: {
172005
+ static: "pass",
172006
+ metric: "fail",
172007
+ layout: "not_run",
172008
+ ship: "not_run"
172009
+ },
172010
+ policyAction: "substitute",
172011
+ measurementRefs: ["baskerville-old-face_regular__bacasime-antique#regular#w400#7dac1e5f#analytic_advance#2026-06-05"],
172012
+ exportRule: "preserve_original_name",
172013
+ advance: {
172014
+ meanDelta: 0,
172015
+ maxDelta: 0.4915590863952334
172016
+ },
171554
172017
  candidateLicense: "OFL-1.1",
171555
- exportRule: "preserve_original_name"
172018
+ faceVerdicts: { regular: "visual_only" },
172019
+ glyphExceptions: [{
172020
+ slot: "regular",
172021
+ codepoint: 160,
172022
+ advanceDelta: 0.4916,
172023
+ 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."
172024
+ }]
171556
172025
  }
172026
+ ];
172027
+ LINE_BREAK_SAFE_VERDICTS = new Set([
172028
+ "metric_safe",
172029
+ "near_metric",
172030
+ "cell_width_only"
171557
172031
  ]);
171558
- BUNDLED_SUBSTITUTES = deriveBundledSubstitutes();
171559
- CATEGORY_FALLBACKS = deriveCategoryFallbacks();
171560
- defaultResolver = new FontResolver;
171561
- DEFAULT_FONT_MEASURE_CONTEXT = Object.freeze({
171562
- resolvePhysical: (cssFontFamily, _face) => resolvePhysicalFamily(cssFontFamily),
171563
- fontSignature: ""
171564
- });
172032
+ BY_LOGICAL = new Map(SUBSTITUTION_EVIDENCE$1.map((row) => [normalizeFamilyName(row.logicalFamily), row]));
171565
172033
  BUNDLED_MANIFEST = Object.freeze([
171566
172034
  family("Carlito", "Carlito", "OFL-1.1"),
171567
172035
  family("Caladea", "Caladea", "Apache-2.0"),
@@ -171569,6 +172037,15 @@ var init_SuperConverter_DOoAJ6Zk_es = __esm(() => {
171569
172037
  family("Liberation Serif", "LiberationSerif", "OFL-1.1"),
171570
172038
  family("Liberation Mono", "LiberationMono", "OFL-1.1")
171571
172039
  ]);
172040
+ SUBSTITUTION_EVIDENCE = SUBSTITUTION_EVIDENCE$1;
172041
+ bundledFamilies = new Set(BUNDLED_MANIFEST.map((f2) => f2.family));
172042
+ BUNDLED_SUBSTITUTES = deriveBundledSubstitutes();
172043
+ CATEGORY_FALLBACKS = deriveCategoryFallbacks();
172044
+ defaultResolver = new FontResolver;
172045
+ DEFAULT_FONT_MEASURE_CONTEXT = Object.freeze({
172046
+ resolvePhysical: (cssFontFamily, _face) => resolvePhysicalFamily(cssFontFamily),
172047
+ fontSignature: ""
172048
+ });
171572
172049
  installedRegistries = /* @__PURE__ */ new WeakMap;
171573
172050
  OS2_MIN_LENGTH = OS2_FSSELECTION + 2;
171574
172051
  registriesByFontSet = /* @__PURE__ */ new WeakMap;
@@ -173374,7 +173851,7 @@ var init_SuperConverter_DOoAJ6Zk_es = __esm(() => {
173374
173851
  };
173375
173852
  });
173376
173853
 
173377
- // ../../packages/superdoc/dist/chunks/create-headless-toolbar-DUhzXJ4D.es.js
173854
+ // ../../packages/superdoc/dist/chunks/create-headless-toolbar-D7rUpTS1.es.js
173378
173855
  function parseSizeUnit(val = "0") {
173379
173856
  const length3 = val.toString() || "0";
173380
173857
  const value = Number.parseFloat(length3);
@@ -177222,6 +177699,8 @@ function executeTextRewrite(editor, tr, target, step3, mapping) {
177222
177699
  const absTo = mapping.map(target.absTo);
177223
177700
  const replacementText = getReplacementText(step3.args.replacement);
177224
177701
  const marks = resolveMarksForRange(editor, target, step3);
177702
+ const lineBreakNodeType = editor.state.schema.nodes?.lineBreak;
177703
+ const parentAllowsLineBreakAt = (pos) => lineBreakNodeType ? parentAllowsNodeAt(tr, pos, lineBreakNodeType) : false;
177225
177704
  const structuralRewrite = resolveStructuralRangeRewrite(tr.doc, absFrom, absTo, step3);
177226
177705
  if (structuralRewrite) {
177227
177706
  const slice2 = buildReplacementParagraphSlice(editor, structuralRewrite.replacementBlocks, marks, structuralRewrite.paragraphAttrs, step3.id, structuralRewrite.leadingWrappers, structuralRewrite.trailingWrappers, structuralRewrite.openStart, structuralRewrite.openEnd);
@@ -177249,7 +177728,7 @@ function executeTextRewrite(editor, tr, target, step3, mapping) {
177249
177728
  tr.delete(absFrom, absTo);
177250
177729
  return { changed: target.text.length > 0 };
177251
177730
  }
177252
- const content2 = buildTextWithTabs(editor.state.schema, replacementText, asProseMirrorMarks(marks));
177731
+ const content2 = buildTextWithTabs(editor.state.schema, replacementText, asProseMirrorMarks(marks), { parentAllowsLineBreak: parentAllowsLineBreakAt(absFrom) });
177253
177732
  tr.replaceWith(absFrom, absTo, content2);
177254
177733
  return { changed: replacementText !== target.text };
177255
177734
  }
@@ -177291,17 +177770,17 @@ function executeTextRewrite(editor, tr, target, step3, mapping) {
177291
177770
  if (change.type === "delete")
177292
177771
  tr.delete(remap(change.docFrom), remap(change.docTo));
177293
177772
  else if (change.type === "insert") {
177294
- const content2 = buildTextWithTabs(editor.state.schema, change.newText, asProseMirrorMarks(marks));
177773
+ const content2 = buildTextWithTabs(editor.state.schema, change.newText, asProseMirrorMarks(marks), { parentAllowsLineBreak: parentAllowsLineBreakAt(remap(change.docPos)) });
177295
177774
  tr.insert(remap(change.docPos), content2);
177296
177775
  } else {
177297
- const content2 = buildTextWithTabs(editor.state.schema, change.newText, asProseMirrorMarks(marks));
177776
+ const content2 = buildTextWithTabs(editor.state.schema, change.newText, asProseMirrorMarks(marks), { parentAllowsLineBreak: parentAllowsLineBreakAt(remap(change.docFrom)) });
177298
177777
  tr.replaceWith(remap(change.docFrom), remap(change.docTo), content2);
177299
177778
  }
177300
177779
  }
177301
177780
  } else if (trimmedNew.length === 0)
177302
177781
  tr.delete(trimmedFrom, trimmedTo);
177303
177782
  else {
177304
- const content2 = buildTextWithTabs(editor.state.schema, trimmedNew, asProseMirrorMarks(marks));
177783
+ const content2 = buildTextWithTabs(editor.state.schema, trimmedNew, asProseMirrorMarks(marks), { parentAllowsLineBreak: parentAllowsLineBreakAt(trimmedFrom) });
177305
177784
  tr.replaceWith(trimmedFrom, trimmedTo, content2);
177306
177785
  }
177307
177786
  return { changed: replacementText !== target.text };
@@ -177372,7 +177851,12 @@ function executeTextInsert(editor, tr, target, step3, mapping) {
177372
177851
  }
177373
177852
  const tabNodeType = editor.state.schema.nodes?.tab;
177374
177853
  const parentAllowsTab = tabNodeType && text4.includes("\t") ? parentAllowsNodeAt(tr, absPos, tabNodeType) : false;
177375
- tr.insert(absPos, buildTextWithTabs(editor.state.schema, text4, marks, { parentAllowsTab }));
177854
+ const lineBreakNodeType = editor.state.schema.nodes?.lineBreak;
177855
+ const parentAllowsLineBreak = lineBreakNodeType && /[\r\n]/.test(text4) ? parentAllowsNodeAt(tr, absPos, lineBreakNodeType) : false;
177856
+ tr.insert(absPos, buildTextWithTabs(editor.state.schema, text4, marks, {
177857
+ parentAllowsTab,
177858
+ parentAllowsLineBreak
177859
+ }));
177376
177860
  return { changed: true };
177377
177861
  }
177378
177862
  function executeTextDelete(_editor, tr, target, _step, mapping) {
@@ -177466,7 +177950,9 @@ function executeSpanTextRewrite(editor, tr, target, step3, mapping) {
177466
177950
  const absTo = mapping.map(lastSeg.absTo, -1);
177467
177951
  if (replacementBlocks.length === 1) {
177468
177952
  const marks = resolveSpanMarks(editor, target, policy, step3.id);
177469
- const content2 = buildTextWithTabs(editor.state.schema, replacementBlocks[0], asProseMirrorMarks(marks));
177953
+ const lineBreakNodeType = editor.state.schema.nodes?.lineBreak;
177954
+ const parentAllowsLineBreak = lineBreakNodeType ? parentAllowsNodeAt(tr, absFrom, lineBreakNodeType) : false;
177955
+ const content2 = buildTextWithTabs(editor.state.schema, replacementBlocks[0], asProseMirrorMarks(marks), { parentAllowsLineBreak });
177470
177956
  tr.replaceWith(absFrom, absTo, content2);
177471
177957
  return { changed: true };
177472
177958
  }
@@ -178693,7 +179179,7 @@ function materializeTab(schema) {
178693
179179
  return nodeType.create();
178694
179180
  }
178695
179181
  function materializeLineBreak(schema) {
178696
- const nodeType = schema.nodes.hardBreak ?? schema.nodes.lineBreak;
179182
+ const nodeType = schema.nodes.lineBreak ?? schema.nodes.hardBreak;
178697
179183
  if (!nodeType)
178698
179184
  return schema.text(`
178699
179185
  `);
@@ -182818,6 +183304,11 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, normalizeActorId = (value) => {
182818
183304
  disabled: !context,
182819
183305
  value: typeof superdoc?.getZoom === "function" ? superdoc.getZoom() : 100
182820
183306
  };
183307
+ }, createZoomFitWidthStateDeriver = () => ({ context, superdoc }) => {
183308
+ return {
183309
+ active: (typeof superdoc?.getZoomState === "function" ? superdoc.getZoomState()?.mode : undefined) === "fit-width",
183310
+ disabled: !context || typeof superdoc?.setZoomMode !== "function"
183311
+ };
182821
183312
  }, createDocumentModeStateDeriver = () => ({ context, superdoc }) => {
182822
183313
  return {
182823
183314
  active: false,
@@ -182838,6 +183329,12 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, normalizeActorId = (value) => {
182838
183329
  return false;
182839
183330
  superdoc.setZoom?.(normalizedPayload);
182840
183331
  return true;
183332
+ }, createZoomFitWidthExecute = () => ({ superdoc }) => {
183333
+ if (typeof superdoc?.setZoomMode !== "function")
183334
+ return false;
183335
+ const mode = typeof superdoc.getZoomState === "function" ? superdoc.getZoomState()?.mode : undefined;
183336
+ superdoc.setZoomMode(mode === "fit-width" ? "manual" : "fit-width");
183337
+ return true;
182841
183338
  }, createDocumentModeExecute = () => ({ superdoc, payload }) => {
182842
183339
  const validModes = [
182843
183340
  "editing",
@@ -183511,6 +184008,11 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, normalizeActorId = (value) => {
183511
184008
  state: createZoomStateDeriver(),
183512
184009
  execute: createZoomExecute()
183513
184010
  },
184011
+ "zoom-fit-width": {
184012
+ id: "zoom-fit-width",
184013
+ state: createZoomFitWidthStateDeriver(),
184014
+ execute: createZoomFitWidthExecute()
184015
+ },
183514
184016
  "document-mode": {
183515
184017
  id: "document-mode",
183516
184018
  state: createDocumentModeStateDeriver(),
@@ -183707,9 +184209,9 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, normalizeActorId = (value) => {
183707
184209
  }
183708
184210
  };
183709
184211
  };
183710
- var init_create_headless_toolbar_DUhzXJ4D_es = __esm(() => {
183711
- init_SuperConverter_DOoAJ6Zk_es();
183712
- init_uuid_qzgm05fK_es();
184212
+ var init_create_headless_toolbar_D7rUpTS1_es = __esm(() => {
184213
+ init_SuperConverter_C6RGktKO_es();
184214
+ init_uuid_B2wVPhPi_es();
183713
184215
  init_constants_D9qj59G2_es();
183714
184216
  init_dist_B8HfvhaK_es();
183715
184217
  CSS_DIMENSION_REGEX = /[\d-.]+(\w+)$/;
@@ -184896,7 +185398,7 @@ var init_remark_stringify_6MMJfY0k_es = __esm(() => {
184896
185398
  eol = /\r?\n|\r/g;
184897
185399
  });
184898
185400
 
184899
- // ../../packages/superdoc/dist/chunks/detect-container-B6sqy7HZ.es.js
185401
+ // ../../packages/superdoc/dist/chunks/detect-container-sTWXwOzh.es.js
184900
185402
  function matchesMagic(bytes, magic) {
184901
185403
  if (bytes.length < magic.length)
184902
185404
  return false;
@@ -184914,7 +185416,7 @@ function detectContainerType(data) {
184914
185416
  return "unknown";
184915
185417
  }
184916
185418
  var ZIP_MAGIC, CFB_MAGIC;
184917
- var init_detect_container_B6sqy7HZ_es = __esm(() => {
185419
+ var init_detect_container_sTWXwOzh_es = __esm(() => {
184918
185420
  ZIP_MAGIC = [
184919
185421
  80,
184920
185422
  75,
@@ -184933,13 +185435,13 @@ var init_detect_container_B6sqy7HZ_es = __esm(() => {
184933
185435
  ];
184934
185436
  });
184935
185437
 
184936
- // ../../packages/superdoc/dist/chunks/detect-container-Cs3KoJVc.es.js
184937
- var exports_detect_container_Cs3KoJVc_es = {};
184938
- __export(exports_detect_container_Cs3KoJVc_es, {
185438
+ // ../../packages/superdoc/dist/chunks/detect-container-0tUwtCR4.es.js
185439
+ var exports_detect_container_0tUwtCR4_es = {};
185440
+ __export(exports_detect_container_0tUwtCR4_es, {
184939
185441
  detectContainerType: () => detectContainerType
184940
185442
  });
184941
- var init_detect_container_Cs3KoJVc_es = __esm(() => {
184942
- init_detect_container_B6sqy7HZ_es();
185443
+ var init_detect_container_0tUwtCR4_es = __esm(() => {
185444
+ init_detect_container_sTWXwOzh_es();
184943
185445
  });
184944
185446
 
184945
185447
  // ../../packages/superdoc/dist/chunks/errors-CNaD6vcg.es.js
@@ -184992,9 +185494,9 @@ var init_errors_CNaD6vcg_es = __esm(() => {
184992
185494
  };
184993
185495
  });
184994
185496
 
184995
- // ../../packages/superdoc/dist/chunks/decrypt-docx-G2a7hkiV.es.js
184996
- var exports_decrypt_docx_G2a7hkiV_es = {};
184997
- __export(exports_decrypt_docx_G2a7hkiV_es, {
185497
+ // ../../packages/superdoc/dist/chunks/decrypt-docx-CPcaRl5W.es.js
185498
+ var exports_decrypt_docx_CPcaRl5W_es = {};
185499
+ __export(exports_decrypt_docx_CPcaRl5W_es, {
184998
185500
  decryptDocxIfNeeded: () => decryptDocxIfNeeded
184999
185501
  });
185000
185502
  function concatUint8Arrays(chunks) {
@@ -185535,10 +186037,10 @@ async function decryptDocxIfNeeded(data, options) {
185535
186037
  };
185536
186038
  }
185537
186039
  var CFB_SIGNATURE, CFB_END_OF_CHAIN = 4294967294, CFB_OBJECT_TYPE, utf16LeDecoder, AGILE_VERSION = 4, AGILE_RESERVED = 4, STANDARD_VERSION_3 = 3, STANDARD_VERSION_4 = 4, STANDARD_RESERVED = 3, MIN_HEADER_SIZE = 8, BLOCK_KEY_VERIFIER_INPUT, BLOCK_KEY_VERIFIER_VALUE, BLOCK_KEY_ENCRYPTED_KEY, BLOCK_KEY_HMAC_KEY, BLOCK_KEY_HMAC_VALUE, SEGMENT_SIZE = 4096, PACKAGE_HEADER_SIZE = 8;
185538
- var init_decrypt_docx_G2a7hkiV_es = __esm(() => {
186040
+ var init_decrypt_docx_CPcaRl5W_es = __esm(() => {
185539
186041
  init_dist_B8HfvhaK_es();
185540
186042
  init_errors_CNaD6vcg_es();
185541
- init_detect_container_B6sqy7HZ_es();
186043
+ init_detect_container_sTWXwOzh_es();
185542
186044
  CFB_SIGNATURE = new Uint8Array([
185543
186045
  208,
185544
186046
  207,
@@ -185607,7 +186109,7 @@ var init_decrypt_docx_G2a7hkiV_es = __esm(() => {
185607
186109
  ]);
185608
186110
  });
185609
186111
 
185610
- // ../../packages/superdoc/dist/chunks/DocxZipper-Bu2Fhqkw.es.js
186112
+ // ../../packages/superdoc/dist/chunks/DocxZipper-FUsfThjV.es.js
185611
186113
  function sniffEncoding(u8) {
185612
186114
  if (u8.length >= 2) {
185613
186115
  const b0 = u8[0], b1 = u8[1];
@@ -185923,11 +186425,11 @@ var DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.docum
185923
186425
  return new Uint8Array(0);
185924
186426
  }
185925
186427
  async getDocxData(file, isNode3 = false, options = {}) {
185926
- const { detectContainerType: detectContainerType2 } = await Promise.resolve().then(() => (init_detect_container_Cs3KoJVc_es(), exports_detect_container_Cs3KoJVc_es));
186428
+ const { detectContainerType: detectContainerType2 } = await Promise.resolve().then(() => (init_detect_container_0tUwtCR4_es(), exports_detect_container_0tUwtCR4_es));
185927
186429
  const containerType = detectContainerType2(await this.#peekBytes(file, 8));
185928
186430
  let fileData = file;
185929
186431
  if (containerType === "cfb") {
185930
- const { decryptDocxIfNeeded: decryptDocxIfNeeded2 } = await Promise.resolve().then(() => (init_decrypt_docx_G2a7hkiV_es(), exports_decrypt_docx_G2a7hkiV_es));
186432
+ const { decryptDocxIfNeeded: decryptDocxIfNeeded2 } = await Promise.resolve().then(() => (init_decrypt_docx_CPcaRl5W_es(), exports_decrypt_docx_CPcaRl5W_es));
185931
186433
  const result = await decryptDocxIfNeeded2(file instanceof Uint8Array ? file : file instanceof ArrayBuffer ? new Uint8Array(file) : new Uint8Array(await file.arrayBuffer()), { password: options.password });
185932
186434
  fileData = result.data;
185933
186435
  this.decryptedFileData = result.data;
@@ -186280,7 +186782,7 @@ var DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.docum
186280
186782
  return `image/${MIME_TYPE_FOR_EXT[detectedType] || detectedType}`;
186281
186783
  }
186282
186784
  }, DocxZipper_default;
186283
- var init_DocxZipper_Bu2Fhqkw_es = __esm(() => {
186785
+ var init_DocxZipper_FUsfThjV_es = __esm(() => {
186284
186786
  init_rolldown_runtime_Bg48TavK_es();
186285
186787
  init_jszip_C49i9kUs_es();
186286
186788
  init_xml_js_CqGKpaft_es();
@@ -222159,9 +222661,9 @@ var init_unified_vFnLRfAM_es = __esm(() => {
222159
222661
  init_unified_Dsuw2be5_es();
222160
222662
  });
222161
222663
 
222162
- // ../../packages/superdoc/dist/chunks/rehype-parse-q8NfsLv7.es.js
222163
- var exports_rehype_parse_q8NfsLv7_es = {};
222164
- __export(exports_rehype_parse_q8NfsLv7_es, {
222664
+ // ../../packages/superdoc/dist/chunks/rehype-parse-DTSDs3kr.es.js
222665
+ var exports_rehype_parse_DTSDs3kr_es = {};
222666
+ __export(exports_rehype_parse_DTSDs3kr_es, {
222165
222667
  default: () => rehypeParse
222166
222668
  });
222167
222669
  function merge2(definitions, space) {
@@ -228110,7 +228612,7 @@ var Schema2 = class {
228110
228612
  }
228111
228613
  }
228112
228614
  }, TABLE_VOID_ELEMENTS, errors, base3 = "https://html.spec.whatwg.org/multipage/parsing.html#parse-error-", dashToCamelRe, formatCRe, formatXRe, fatalities, emptyOptions3;
228113
- var init_rehype_parse_q8NfsLv7_es = __esm(() => {
228615
+ var init_rehype_parse_DTSDs3kr_es = __esm(() => {
228114
228616
  init_rolldown_runtime_Bg48TavK_es();
228115
228617
  init_default_BqgWzMfR_es();
228116
228618
  init_lib_CYqLdG4z_es();
@@ -230855,9 +231357,9 @@ var init_rehype_parse_q8NfsLv7_es = __esm(() => {
230855
231357
  emptyOptions3 = {};
230856
231358
  });
230857
231359
 
230858
- // ../../packages/superdoc/dist/chunks/rehype-remark-CKg94dxK.es.js
230859
- var exports_rehype_remark_CKg94dxK_es = {};
230860
- __export(exports_rehype_remark_CKg94dxK_es, {
231360
+ // ../../packages/superdoc/dist/chunks/rehype-remark-Bt5njn02.es.js
231361
+ var exports_rehype_remark_Bt5njn02_es = {};
231362
+ __export(exports_rehype_remark_Bt5njn02_es, {
230861
231363
  default: () => rehypeRemark
230862
231364
  });
230863
231365
  function anyFactory2(tests) {
@@ -232477,7 +232979,7 @@ var env, deserializer = ($2, _2) => {
232477
232979
  if (is(parent.children[index2], index2, parent))
232478
232980
  return parent.children[index2];
232479
232981
  }, searchLineFeeds, searchTabOrSpaces, br$1, cell, p$1, row, notRendered, blockOrCaption, prefix = "language-", defaultChecked = "[x]", defaultUnchecked = "[ ]", own$12, list$1, basic, meta, defaultQuotes, nodeHandlers2, handlers2, own6, emptyOptions4, defaults;
232480
- var init_rehype_remark_CKg94dxK_es = __esm(() => {
232982
+ var init_rehype_remark_Bt5njn02_es = __esm(() => {
232481
232983
  init_lib_DEff_P2k_es();
232482
232984
  env = typeof self === "object" ? self : globalThis;
232483
232985
  ({ toString: toString$1 } = {});
@@ -232871,7 +233373,7 @@ var init_remark_gfm_eZN6yzWQ_es = __esm(() => {
232871
233373
  init_remark_gfm_BhnWr3yf_es();
232872
233374
  });
232873
233375
 
232874
- // ../../packages/superdoc/dist/chunks/src-DEnygTyz.es.js
233376
+ // ../../packages/superdoc/dist/chunks/src-D29bOSuq.es.js
232875
233377
  function deleteProps(obj, propOrProps) {
232876
233378
  const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
232877
233379
  const removeNested = (target, pathParts, index2 = 0) => {
@@ -232945,7 +233447,7 @@ function prosemirrorToYXmlFragment(doc$12, xmlFragment) {
232945
233447
  }
232946
233448
  function getSuperdocVersion() {
232947
233449
  try {
232948
- return "1.38.0";
233450
+ return "1.39.0";
232949
233451
  } catch {
232950
233452
  return "unknown";
232951
233453
  }
@@ -264462,7 +264964,12 @@ function insertTextAroundSdt(editor, target, content3, resolvePos) {
264462
264964
  const { tr } = editor.state;
264463
264965
  const tabType = editor.schema.nodes?.tab;
264464
264966
  const parentAllowsTab = tabType && content3.includes("\t") ? parentAllowsNodeAt(tr, pos, tabType) : false;
264465
- tr.insert(pos, buildTextWithTabs(editor.schema, content3, undefined, { parentAllowsTab }));
264967
+ const lineBreakType = editor.schema.nodes?.lineBreak;
264968
+ const parentAllowsLineBreak = lineBreakType && /[\r\n]/.test(content3) ? parentAllowsNodeAt(tr, pos, lineBreakType) : false;
264969
+ tr.insert(pos, buildTextWithTabs(editor.schema, content3, undefined, {
264970
+ parentAllowsTab,
264971
+ parentAllowsLineBreak
264972
+ }));
264466
264973
  dispatchTransaction$1(editor, tr);
264467
264974
  return true;
264468
264975
  }
@@ -306595,17 +307102,25 @@ var Node$13 = class Node$14 {
306595
307102
  this.deco = deco;
306596
307103
  }
306597
307104
  }, searchKey, BLOCK_SEPARATOR = `
306598
- `, ATOM_PLACEHOLDER = "", DELETION_BARRIER = "\x00", DEFAULT_SEARCH_MODEL$1 = "raw", hasTrackDeleteMark$2 = (node3) => node3?.marks?.some((mark2) => mark2?.type?.name === "trackDelete") ?? false, SearchIndex, customSearchHighlightsKey, isRegExp2 = (value) => Object.prototype.toString.call(value) === "[object RegExp]", SEARCH_POSITION_TRACKER_TYPE = "search-match", DEFAULT_SEARCH_MODEL = "raw", normalizeSearchModel = (value) => value === "visible" ? "visible" : DEFAULT_SEARCH_MODEL, mapIndexMatchesToDocMatches = ({ searchIndex, indexMatches, doc: doc$12, positionTracker }) => {
307105
+ `, ATOM_PLACEHOLDER = "", DELETION_BARRIER = "\x00", DEFAULT_SEARCH_MODEL$1 = "raw", hasTrackDeleteMark$2 = (node3) => node3?.marks?.some((mark2) => mark2?.type?.name === "trackDelete") ?? false, readLeafText = (node3) => {
307106
+ const leafText = node3?.type?.spec?.leafText;
307107
+ if (typeof leafText === "function")
307108
+ return leafText(node3);
307109
+ if (typeof leafText === "string")
307110
+ return leafText;
307111
+ return ATOM_PLACEHOLDER;
307112
+ }, SearchIndex, customSearchHighlightsKey, isRegExp2 = (value) => Object.prototype.toString.call(value) === "[object RegExp]", SEARCH_POSITION_TRACKER_TYPE = "search-match", DEFAULT_SEARCH_MODEL = "raw", normalizeSearchModel = (value) => value === "visible" ? "visible" : DEFAULT_SEARCH_MODEL, mapIndexMatchesToDocMatches = ({ searchIndex, indexMatches, doc: doc$12, positionTracker }) => {
306599
307113
  const matches2 = [];
306600
307114
  for (const indexMatch of indexMatches) {
306601
307115
  const ranges = searchIndex.offsetRangeToDocRanges(indexMatch.start, indexMatch.end);
306602
307116
  if (ranges.length === 0)
306603
307117
  continue;
306604
307118
  const matchTexts = ranges.map((r$1) => doc$12.textBetween(r$1.from, r$1.to));
307119
+ const matchText = typeof indexMatch.text === "string" ? indexMatch.text : matchTexts.join("");
306605
307120
  const match$1 = {
306606
307121
  from: ranges[0].from,
306607
307122
  to: ranges[ranges.length - 1].to,
306608
- text: matchTexts.join(""),
307123
+ text: matchText,
306609
307124
  id: v4_default(),
306610
307125
  ranges,
306611
307126
  trackerIds: []
@@ -309825,7 +310340,7 @@ var Node$13 = class Node$14 {
309825
310340
  domAvailabilityCache = false;
309826
310341
  return false;
309827
310342
  }
309828
- }, summaryVersion = "1.38.0", nodeKeys, markKeys, transformListsInCopiedContent = (html3) => {
310343
+ }, summaryVersion = "1.39.0", nodeKeys, markKeys, transformListsInCopiedContent = (html3) => {
309829
310344
  const container = document.createElement("div");
309830
310345
  container.innerHTML = html3;
309831
310346
  const result = [];
@@ -311011,7 +311526,7 @@ var Node$13 = class Node$14 {
311011
311526
  return () => {};
311012
311527
  const handle3 = setInterval(callback, intervalMs);
311013
311528
  return () => clearInterval(handle3);
311014
- }, HISTORY_UNSAFE_OPS, CANONICAL_COMMENT_IGNORED_KEYS, INITIAL_HASH, ROUND_CONSTANTS, V1_COVERAGE, V2_COVERAGE, SNAPSHOT_VERSION_V2 = "sd-diff-snapshot/v2", PAYLOAD_VERSION_V1 = "sd-diff-payload/v1", PAYLOAD_VERSION_V2 = "sd-diff-payload/v2", ENGINE_ID = "super-editor", STAGED_CONVERTER_KEYS, DiffServiceError, TC_LEVEL_MIN = 1, TC_LEVEL_MAX = 9, ALLOWED_WRAP_ATTRS, WRAP_TYPES_SUPPORTING_SIDE, WRAP_TYPES_SUPPORTING_DISTANCES, RELATIVE_HEIGHT_MIN = 0, RELATIVE_HEIGHT_MAX = 4294967295, FORBIDDEN_RAW_PATCH_NAMES, CONTROL_TYPE_SDT_PR_ELEMENTS, DEFAULT_CHECKBOX_SYMBOL_FONT2 = "MS Gothic", DEFAULT_CHECKBOX_CHECKED_HEX2 = "2612", DEFAULT_CHECKBOX_UNCHECKED_HEX2 = "2610", VARIANT_ORDER, KIND_ORDER, HEADER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", DOCUMENT_RELS_PATH2 = "word/_rels/document.xml.rels", HEADER_FILE_PATTERN2, FOOTER_FILE_PATTERN2, SPECIAL_NOTE_TYPES, BOOKMARK_SCAN_REVISION_PREFIX = "bookmark-scan:", import_lib4, CUSTOM_XML_DATA_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml", CUSTOM_XML_PROPS_RELATIONSHIP_TYPE2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps", CUSTOM_XML_DATASTORE_NAMESPACE = "http://schemas.openxmlformats.org/officeDocument/2006/customXml", SETTINGS_PART, RESTART_POLICY_TO_OOXML, VALID_DISPLAYS, REFERENCE_BLOCK_PREFIX, CAPTION_STYLE_NAMES, CAPTION_PARAGRAPH_STYLE_ID = "Caption", CAPTION_FORMAT_TO_OOXML, DOCUMENT_STAT_FIELD_TYPES, TOA_LEADER_REVERSE_MAP, EDGE_NODE_TYPES, CONTENT_TYPES_PART_ID = "[Content_Types].xml", CONTENT_TYPES_NS = "http://schemas.openxmlformats.org/package/2006/content-types", contentTypesPartDescriptor, empty_exports, init_empty, CURRENT_APP_VERSION2 = "1.38.0", PIXELS_PER_INCH2 = 96, MAX_HEIGHT_BUFFER_PX = 50, MAX_WIDTH_BUFFER_PX = 20, TRACKED_REVIEW_MARK_NAMES2, isTrackedReviewMark = (mark2) => Boolean(mark2?.type?.name && TRACKED_REVIEW_MARK_NAMES2.has(mark2.type.name)), trackedReviewMarkKey = (mark2) => {
311529
+ }, HISTORY_UNSAFE_OPS, CANONICAL_COMMENT_IGNORED_KEYS, INITIAL_HASH, ROUND_CONSTANTS, V1_COVERAGE, V2_COVERAGE, SNAPSHOT_VERSION_V2 = "sd-diff-snapshot/v2", PAYLOAD_VERSION_V1 = "sd-diff-payload/v1", PAYLOAD_VERSION_V2 = "sd-diff-payload/v2", ENGINE_ID = "super-editor", STAGED_CONVERTER_KEYS, DiffServiceError, TC_LEVEL_MIN = 1, TC_LEVEL_MAX = 9, ALLOWED_WRAP_ATTRS, WRAP_TYPES_SUPPORTING_SIDE, WRAP_TYPES_SUPPORTING_DISTANCES, RELATIVE_HEIGHT_MIN = 0, RELATIVE_HEIGHT_MAX = 4294967295, FORBIDDEN_RAW_PATCH_NAMES, CONTROL_TYPE_SDT_PR_ELEMENTS, DEFAULT_CHECKBOX_SYMBOL_FONT2 = "MS Gothic", DEFAULT_CHECKBOX_CHECKED_HEX2 = "2612", DEFAULT_CHECKBOX_UNCHECKED_HEX2 = "2610", VARIANT_ORDER, KIND_ORDER, HEADER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", DOCUMENT_RELS_PATH2 = "word/_rels/document.xml.rels", HEADER_FILE_PATTERN2, FOOTER_FILE_PATTERN2, SPECIAL_NOTE_TYPES, BOOKMARK_SCAN_REVISION_PREFIX = "bookmark-scan:", import_lib4, CUSTOM_XML_DATA_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml", CUSTOM_XML_PROPS_RELATIONSHIP_TYPE2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps", CUSTOM_XML_DATASTORE_NAMESPACE = "http://schemas.openxmlformats.org/officeDocument/2006/customXml", SETTINGS_PART, RESTART_POLICY_TO_OOXML, VALID_DISPLAYS, REFERENCE_BLOCK_PREFIX, CAPTION_STYLE_NAMES, CAPTION_PARAGRAPH_STYLE_ID = "Caption", CAPTION_FORMAT_TO_OOXML, DOCUMENT_STAT_FIELD_TYPES, TOA_LEADER_REVERSE_MAP, EDGE_NODE_TYPES, CONTENT_TYPES_PART_ID = "[Content_Types].xml", CONTENT_TYPES_NS = "http://schemas.openxmlformats.org/package/2006/content-types", contentTypesPartDescriptor, empty_exports, init_empty, CURRENT_APP_VERSION2 = "1.39.0", PIXELS_PER_INCH2 = 96, MAX_HEIGHT_BUFFER_PX = 50, MAX_WIDTH_BUFFER_PX = 20, TRACKED_REVIEW_MARK_NAMES2, isTrackedReviewMark = (mark2) => Boolean(mark2?.type?.name && TRACKED_REVIEW_MARK_NAMES2.has(mark2.type.name)), trackedReviewMarkKey = (mark2) => {
311015
311530
  if (!isTrackedReviewMark(mark2))
311016
311531
  return null;
311017
311532
  const id2 = typeof mark2.attrs?.id === "string" ? mark2.attrs.id : "";
@@ -330189,19 +330704,19 @@ menclose::after {
330189
330704
  return;
330190
330705
  console.log(...args$1);
330191
330706
  }, 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;
330192
- var init_src_DEnygTyz_es = __esm(() => {
330707
+ var init_src_D29bOSuq_es = __esm(() => {
330193
330708
  init_rolldown_runtime_Bg48TavK_es();
330194
- init_SuperConverter_DOoAJ6Zk_es();
330709
+ init_SuperConverter_C6RGktKO_es();
330195
330710
  init_jszip_C49i9kUs_es();
330196
330711
  init_xml_js_CqGKpaft_es();
330197
- init_uuid_qzgm05fK_es();
330198
- init_create_headless_toolbar_DUhzXJ4D_es();
330712
+ init_uuid_B2wVPhPi_es();
330713
+ init_create_headless_toolbar_D7rUpTS1_es();
330199
330714
  init_constants_D9qj59G2_es();
330200
330715
  init_dist_B8HfvhaK_es();
330201
330716
  init_unified_Dsuw2be5_es();
330202
330717
  init_remark_gfm_BhnWr3yf_es();
330203
330718
  init_remark_stringify_6MMJfY0k_es();
330204
- init_DocxZipper_Bu2Fhqkw_es();
330719
+ init_DocxZipper_FUsfThjV_es();
330205
330720
  init__plugin_vue_export_helper_5t5P5NuM_es();
330206
330721
  init_eventemitter3_BnGqBE_Q_es();
330207
330722
  init_errors_CNaD6vcg_es();
@@ -334093,10 +334608,12 @@ ${err.toString()}`);
334093
334608
  return false;
334094
334609
  const { $from } = selection;
334095
334610
  let paragraph2 = null;
334611
+ let paragraphDepth = null;
334096
334612
  for (let d = $from.depth;d >= 0; d--) {
334097
334613
  const node3 = $from.node(d);
334098
334614
  if (node3.type.name === "paragraph") {
334099
334615
  paragraph2 = node3;
334616
+ paragraphDepth = d;
334100
334617
  break;
334101
334618
  }
334102
334619
  }
@@ -334106,7 +334623,14 @@ ${err.toString()}`);
334106
334623
  return false;
334107
334624
  if (!isVisuallyEmptyParagraph(paragraph2) && !hasOnlyBreakContent(paragraph2))
334108
334625
  return false;
334109
- const tr = state.tr.insertText(event.data);
334626
+ let tr = state.tr;
334627
+ if (hasOnlyBreakContent(paragraph2) && paragraphDepth != null) {
334628
+ const contentStart = $from.start(paragraphDepth);
334629
+ const contentEnd = $from.end(paragraphDepth);
334630
+ tr = tr.delete(contentStart, contentEnd).insertText(event.data, contentStart);
334631
+ tr = tr.setSelection(TextSelection.create(tr.doc, contentStart + event.data.length));
334632
+ } else
334633
+ tr = tr.insertText(event.data);
334110
334634
  view.dispatch(tr);
334111
334635
  event.preventDefault();
334112
334636
  return true;
@@ -334426,6 +334950,8 @@ ${err.toString()}`);
334426
334950
  selectable: false,
334427
334951
  content: "",
334428
334952
  atom: true,
334953
+ leafText: () => `
334954
+ `,
334429
334955
  addOptions() {
334430
334956
  return {};
334431
334957
  },
@@ -348257,7 +348783,7 @@ function print() { __p += __j.call(arguments, '') }
348257
348783
  if (searchModel === "visible")
348258
348784
  this.#buildVisible(doc$12);
348259
348785
  else
348260
- this.text = doc$12.textBetween(0, doc$12.content.size, BLOCK_SEPARATOR, ATOM_PLACEHOLDER);
348786
+ this.text = doc$12.textBetween(0, doc$12.content.size, BLOCK_SEPARATOR, readLeafText);
348261
348787
  this.segments = [];
348262
348788
  this.docSize = doc$12.content.size;
348263
348789
  this.doc = doc$12;
@@ -348304,7 +348830,11 @@ function print() { __p += __j.call(arguments, '') }
348304
348830
  return;
348305
348831
  }
348306
348832
  if (node3.isLeaf) {
348307
- parts.push(ATOM_PLACEHOLDER);
348833
+ if (hasTrackDeleteMark$2(node3)) {
348834
+ appendDeletionBarrier();
348835
+ return;
348836
+ }
348837
+ parts.push(readLeafText(node3));
348308
348838
  emittedDeletionBarrier = false;
348309
348839
  return;
348310
348840
  }
@@ -348367,26 +348897,43 @@ function print() { __p += __j.call(arguments, '') }
348367
348897
  return offset$1;
348368
348898
  }
348369
348899
  if (node3.isLeaf) {
348900
+ if (searchModel === "visible" && hasTrackDeleteMark$2(node3)) {
348901
+ if (context?.deletionBarrierActive)
348902
+ return offset$1;
348903
+ addSegment({
348904
+ offsetStart: offset$1,
348905
+ offsetEnd: offset$1 + 1,
348906
+ docFrom: docPos,
348907
+ docTo: docPos + node3.nodeSize,
348908
+ kind: "atom"
348909
+ });
348910
+ if (context)
348911
+ context.deletionBarrierActive = true;
348912
+ return offset$1 + 1;
348913
+ }
348370
348914
  if (context && searchModel === "visible")
348371
348915
  context.deletionBarrierActive = false;
348916
+ const leafText = readLeafText(node3);
348917
+ if (leafText.length === 0)
348918
+ return offset$1;
348372
348919
  if (node3.type.name === "hard_break") {
348373
348920
  addSegment({
348374
348921
  offsetStart: offset$1,
348375
- offsetEnd: offset$1 + 1,
348922
+ offsetEnd: offset$1 + leafText.length,
348376
348923
  docFrom: docPos,
348377
348924
  docTo: docPos + node3.nodeSize,
348378
348925
  kind: "hardBreak"
348379
348926
  });
348380
- return offset$1 + 1;
348927
+ return offset$1 + leafText.length;
348381
348928
  }
348382
348929
  addSegment({
348383
348930
  offsetStart: offset$1,
348384
- offsetEnd: offset$1 + 1,
348931
+ offsetEnd: offset$1 + leafText.length,
348385
348932
  docFrom: docPos,
348386
348933
  docTo: docPos + node3.nodeSize,
348387
348934
  kind: "atom"
348388
348935
  });
348389
- return offset$1 + 1;
348936
+ return offset$1 + leafText.length;
348390
348937
  }
348391
348938
  return this.#walkNodeContent(node3, docPos + 1, offset$1, addSegment, searchModel, context);
348392
348939
  }
@@ -348403,24 +348950,56 @@ function print() { __p += __j.call(arguments, '') }
348403
348950
  }
348404
348951
  offsetRangeToDocRanges(start$1, end$1) {
348405
348952
  const ranges = [];
348953
+ let current = null;
348406
348954
  for (const segment of this.segments) {
348407
348955
  if (segment.offsetEnd <= start$1)
348408
348956
  continue;
348409
348957
  if (segment.offsetStart >= end$1)
348410
348958
  break;
348411
- if (segment.kind !== "text")
348959
+ if (segment.kind === "blockSep") {
348960
+ if (current) {
348961
+ ranges.push({
348962
+ from: current.from,
348963
+ to: current.to
348964
+ });
348965
+ current = null;
348966
+ }
348412
348967
  continue;
348968
+ }
348413
348969
  const overlapStart = Math.max(start$1, segment.offsetStart);
348414
348970
  const overlapEnd = Math.min(end$1, segment.offsetEnd);
348415
- if (overlapStart < overlapEnd) {
348416
- const startInSegment = overlapStart - segment.offsetStart;
348417
- const endInSegment = overlapEnd - segment.offsetStart;
348418
- ranges.push({
348419
- from: segment.docFrom + startInSegment,
348420
- to: segment.docFrom + endInSegment
348421
- });
348971
+ if (overlapStart >= overlapEnd)
348972
+ continue;
348973
+ let from$1;
348974
+ let to;
348975
+ if (segment.kind === "text") {
348976
+ from$1 = segment.docFrom + (overlapStart - segment.offsetStart);
348977
+ to = segment.docFrom + (overlapEnd - segment.offsetStart);
348978
+ } else {
348979
+ from$1 = segment.docFrom;
348980
+ to = segment.docTo;
348981
+ }
348982
+ if (current && segment.offsetStart === current.offsetEnd && from$1 === current.to) {
348983
+ current.to = to;
348984
+ current.offsetEnd = overlapEnd;
348985
+ } else {
348986
+ if (current)
348987
+ ranges.push({
348988
+ from: current.from,
348989
+ to: current.to
348990
+ });
348991
+ current = {
348992
+ from: from$1,
348993
+ to,
348994
+ offsetEnd: overlapEnd
348995
+ };
348422
348996
  }
348423
348997
  }
348998
+ if (current)
348999
+ ranges.push({
349000
+ from: current.from,
349001
+ to: current.to
349002
+ });
348424
349003
  return ranges;
348425
349004
  }
348426
349005
  offsetToDocPos(offset$1) {
@@ -356184,8 +356763,8 @@ function print() { __p += __j.call(arguments, '') }
356184
356763
  try {
356185
356764
  const [{ unified: unified$1 }, { default: rehypeParse2 }, { default: rehypeRemark2 }, { default: remarkStringify$1 }, { default: remarkGfm$1 }] = await Promise.all([
356186
356765
  Promise.resolve().then(() => (init_unified_vFnLRfAM_es(), exports_unified_vFnLRfAM_es)),
356187
- Promise.resolve().then(() => (init_rehype_parse_q8NfsLv7_es(), exports_rehype_parse_q8NfsLv7_es)),
356188
- Promise.resolve().then(() => (init_rehype_remark_CKg94dxK_es(), exports_rehype_remark_CKg94dxK_es)),
356766
+ Promise.resolve().then(() => (init_rehype_parse_DTSDs3kr_es(), exports_rehype_parse_DTSDs3kr_es)),
356767
+ Promise.resolve().then(() => (init_rehype_remark_Bt5njn02_es(), exports_rehype_remark_Bt5njn02_es)),
356189
356768
  Promise.resolve().then(() => (init_remark_stringify_B_orWEvD_es(), exports_remark_stringify_B_orWEvD_es)),
356190
356769
  Promise.resolve().then(() => (init_remark_gfm_eZN6yzWQ_es(), exports_remark_gfm_eZN6yzWQ_es))
356191
356770
  ]);
@@ -365035,11 +365614,11 @@ function print() { __p += __j.call(arguments, '') }
365035
365614
  ]);
365036
365615
  });
365037
365616
 
365038
- // ../../packages/superdoc/dist/chunks/create-super-doc-ui-CmcU7hTR.es.js
365617
+ // ../../packages/superdoc/dist/chunks/create-super-doc-ui-BT9gcxxx.es.js
365039
365618
  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;
365040
- var init_create_super_doc_ui_CmcU7hTR_es = __esm(() => {
365041
- init_SuperConverter_DOoAJ6Zk_es();
365042
- init_create_headless_toolbar_DUhzXJ4D_es();
365619
+ var init_create_super_doc_ui_BT9gcxxx_es = __esm(() => {
365620
+ init_SuperConverter_C6RGktKO_es();
365621
+ init_create_headless_toolbar_D7rUpTS1_es();
365043
365622
  headlessToolbarConstants = {
365044
365623
  DEFAULT_TEXT_ALIGN_OPTIONS: [
365045
365624
  {
@@ -365321,16 +365900,16 @@ var init_zipper_yaJVJ4z9_es = __esm(() => {
365321
365900
 
365322
365901
  // ../../packages/superdoc/dist/super-editor.es.js
365323
365902
  var init_super_editor_es = __esm(() => {
365324
- init_src_DEnygTyz_es();
365325
- init_SuperConverter_DOoAJ6Zk_es();
365903
+ init_src_D29bOSuq_es();
365904
+ init_SuperConverter_C6RGktKO_es();
365326
365905
  init_jszip_C49i9kUs_es();
365327
365906
  init_xml_js_CqGKpaft_es();
365328
- init_create_headless_toolbar_DUhzXJ4D_es();
365907
+ init_create_headless_toolbar_D7rUpTS1_es();
365329
365908
  init_constants_D9qj59G2_es();
365330
365909
  init_dist_B8HfvhaK_es();
365331
365910
  init_unified_Dsuw2be5_es();
365332
- init_DocxZipper_Bu2Fhqkw_es();
365333
- init_create_super_doc_ui_CmcU7hTR_es();
365911
+ init_DocxZipper_FUsfThjV_es();
365912
+ init_create_super_doc_ui_BT9gcxxx_es();
365334
365913
  init_ui_C5PAS9hY_es();
365335
365914
  init_eventemitter3_BnGqBE_Q_es();
365336
365915
  init_errors_CNaD6vcg_es();