@superdoc-dev/cli 0.7.0-next.31 → 0.7.0-next.33

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 +410 -91
  2. package/package.json +8 -8
package/dist/index.js CHANGED
@@ -65501,7 +65501,7 @@ var init_remark_gfm_BhnWr3yf_es = __esm(() => {
65501
65501
  emptyOptions2 = {};
65502
65502
  });
65503
65503
 
65504
- // ../../packages/superdoc/dist/chunks/SuperConverter-CpoUNyba.es.js
65504
+ // ../../packages/superdoc/dist/chunks/SuperConverter-D8HLuwGQ.es.js
65505
65505
  function getExtensionConfigField(extension$1, field, context = { name: "" }) {
65506
65506
  const fieldValue = extension$1.config[field];
65507
65507
  if (typeof fieldValue === "function")
@@ -93344,7 +93344,7 @@ function assignInternalId(element, idMap, context, insideTrackedChange) {
93344
93344
  author: element.attributes?.["w:author"] ?? "",
93345
93345
  date: element.attributes?.["w:date"] ?? ""
93346
93346
  };
93347
- if (context.lastTrackedChange && isReplacementPair(context.lastTrackedChange, current)) {
93347
+ if (context.replacements === "paired" && context.lastTrackedChange && isReplacementPair(context.lastTrackedChange, current)) {
93348
93348
  if (!idMap.has(wordId))
93349
93349
  idMap.set(wordId, context.lastTrackedChange.internalId);
93350
93350
  context.lastTrackedChange = null;
@@ -93364,7 +93364,10 @@ function walkElements(elements, idMap, context, insideTrackedChange = false) {
93364
93364
  if (TRACKED_CHANGE_NAMES.has(element.name)) {
93365
93365
  assignInternalId(element, idMap, context, insideTrackedChange);
93366
93366
  if (element.elements)
93367
- walkElements(element.elements, idMap, { lastTrackedChange: null }, true);
93367
+ walkElements(element.elements, idMap, {
93368
+ lastTrackedChange: null,
93369
+ replacements: context.replacements
93370
+ }, true);
93368
93371
  } else {
93369
93372
  if (!PAIRING_TRANSPARENT_NAMES.has(element.name))
93370
93373
  context.lastTrackedChange = null;
@@ -93372,12 +93375,16 @@ function walkElements(elements, idMap, context, insideTrackedChange = false) {
93372
93375
  walkElements(element.elements, idMap, context, insideTrackedChange);
93373
93376
  }
93374
93377
  }
93375
- function buildTrackedChangeIdMap(docx) {
93378
+ function buildTrackedChangeIdMap(docx, options = {}) {
93376
93379
  const body = docx?.["word/document.xml"]?.elements?.[0];
93377
93380
  if (!body?.elements)
93378
93381
  return /* @__PURE__ */ new Map;
93382
+ const replacements = options.replacements === "independent" ? "independent" : "paired";
93379
93383
  const idMap = /* @__PURE__ */ new Map;
93380
- walkElements(body.elements, idMap, { lastTrackedChange: null });
93384
+ walkElements(body.elements, idMap, {
93385
+ lastTrackedChange: null,
93386
+ replacements
93387
+ });
93381
93388
  return idMap;
93382
93389
  }
93383
93390
  function importNoteEntries({ partXml, childElementName, filename, docx, editor, converter, nodeListHandler, numbering }) {
@@ -114445,21 +114452,28 @@ var isRegExp = (value) => {
114445
114452
  }, config$13, translator$21, XML_NODE_NAME$12 = "sd:tableOfContents", SD_NODE_NAME$10 = "tableOfContents", encode$16 = (params3) => {
114446
114453
  const { nodes = [], nodeListHandler } = params3 || {};
114447
114454
  const node3 = nodes[0];
114448
- let processedContent = nodeListHandler.handler({
114455
+ const normalizedContent = (nodeListHandler.handler({
114449
114456
  ...params3,
114450
114457
  nodes: node3.elements || []
114451
- });
114452
- if (!(processedContent || []).some((child) => child?.type === "paragraph"))
114453
- processedContent = [{
114454
- type: "paragraph",
114455
- content: processedContent.filter((child) => Boolean(child && child.type))
114456
- }];
114457
- const attrs = { instruction: node3.attributes?.instruction || "" };
114458
- attrs.rightAlignPageNumbers = deriveRightAlignPageNumbers(processedContent);
114458
+ }) || []).reduce((acc, child) => {
114459
+ if (!child || !child.type)
114460
+ return acc;
114461
+ if (child.type === "paragraph")
114462
+ acc.push(child);
114463
+ else
114464
+ acc.push({
114465
+ type: "paragraph",
114466
+ content: [child]
114467
+ });
114468
+ return acc;
114469
+ }, []);
114459
114470
  return {
114460
114471
  type: "tableOfContents",
114461
- attrs,
114462
- content: processedContent
114472
+ attrs: {
114473
+ instruction: node3.attributes?.instruction || "",
114474
+ rightAlignPageNumbers: deriveRightAlignPageNumbers(normalizedContent)
114475
+ },
114476
+ content: normalizedContent
114463
114477
  };
114464
114478
  }, decode$16 = (params3) => {
114465
114479
  const { node: node3 } = params3;
@@ -116086,7 +116100,7 @@ var isRegExp = (value) => {
116086
116100
  const inlineDocumentFonts = [];
116087
116101
  patchNumberingDefinitions(docx);
116088
116102
  const numbering = getNumberingDefinitions(docx);
116089
- converter.trackedChangeIdMap = buildTrackedChangeIdMap(docx);
116103
+ converter.trackedChangeIdMap = buildTrackedChangeIdMap(docx, { replacements: converter.trackedChangesOptions?.replacements ?? "paired" });
116090
116104
  const comments = importCommentData({
116091
116105
  docx,
116092
116106
  nodeListHandler,
@@ -117255,7 +117269,7 @@ var isRegExp = (value) => {
117255
117269
  state.kern = kernNode.attributes["w:val"];
117256
117270
  }
117257
117271
  }, SuperConverter;
117258
- var init_SuperConverter_CpoUNyba_es = __esm(() => {
117272
+ var init_SuperConverter_D8HLuwGQ_es = __esm(() => {
117259
117273
  init_rolldown_runtime_Bg48TavK_es();
117260
117274
  init_jszip_C49i9kUs_es();
117261
117275
  init_xml_js_CqGKpaft_es();
@@ -153650,6 +153664,7 @@ var init_SuperConverter_CpoUNyba_es = __esm(() => {
153650
153664
  this.docx = params3?.docx || [];
153651
153665
  this.media = params3?.media || {};
153652
153666
  this.fonts = params3?.fonts || {};
153667
+ this.trackedChangesOptions = params3?.trackedChangesOptions || null;
153653
153668
  this.addedMedia = {};
153654
153669
  this.comments = [];
153655
153670
  this.footnotes = [];
@@ -154535,7 +154550,7 @@ var init_SuperConverter_CpoUNyba_es = __esm(() => {
154535
154550
  };
154536
154551
  });
154537
154552
 
154538
- // ../../packages/superdoc/dist/chunks/create-headless-toolbar-Dp1bWeQT.es.js
154553
+ // ../../packages/superdoc/dist/chunks/create-headless-toolbar-CbE9_87q.es.js
154539
154554
  function parseSizeUnit(val = "0") {
154540
154555
  const length3 = val.toString() || "0";
154541
154556
  const value = Number.parseFloat(length3);
@@ -157127,8 +157142,8 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, Extension = class Extension2 {
157127
157142
  }
157128
157143
  };
157129
157144
  };
157130
- var init_create_headless_toolbar_Dp1bWeQT_es = __esm(() => {
157131
- init_SuperConverter_CpoUNyba_es();
157145
+ var init_create_headless_toolbar_CbE9_87q_es = __esm(() => {
157146
+ init_SuperConverter_D8HLuwGQ_es();
157132
157147
  init_constants_CGhJRd87_es();
157133
157148
  init_dist_B8HfvhaK_es();
157134
157149
  CSS_DIMENSION_REGEX = /[\d-.]+(\w+)$/;
@@ -205815,7 +205830,7 @@ var init_remark_gfm_eZN6yzWQ_es = __esm(() => {
205815
205830
  init_remark_gfm_BhnWr3yf_es();
205816
205831
  });
205817
205832
 
205818
- // ../../packages/superdoc/dist/chunks/src-CqF8CKiT.es.js
205833
+ // ../../packages/superdoc/dist/chunks/src-Bn2I5jpR.es.js
205819
205834
  function deleteProps(obj, propOrProps) {
205820
205835
  const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
205821
205836
  const removeNested = (target, pathParts, index2 = 0) => {
@@ -205879,11 +205894,10 @@ function computeTabStops$1(context) {
205879
205894
  const clearPositions = explicitStops.filter((stop) => stop.val === "clear").map((stop) => stop.pos);
205880
205895
  const filteredExplicitStops = explicitStops.filter((stop) => stop.val !== "clear").filter((stop) => stop.pos >= effectiveMinIndent);
205881
205896
  const maxExplicit = filteredExplicitStops.reduce((max$2, stop) => Math.max(max$2, stop.pos), 0);
205882
- const hasExplicit = filteredExplicitStops.length > 0;
205883
205897
  const stops = [...filteredExplicitStops];
205884
- const defaultStart = hasExplicit ? Math.max(maxExplicit, leftIndent) : 0;
205898
+ const defaultStart = !filteredExplicitStops.some((stop) => stop.val === "start") ? 0 : Math.max(maxExplicit, leftIndent);
205885
205899
  let pos = defaultStart;
205886
- const targetLimit = Math.max(defaultStart, leftIndent) + 14400;
205900
+ const targetLimit = Math.max(defaultStart, leftIndent, maxExplicit) + 14400;
205887
205901
  while (pos < targetLimit) {
205888
205902
  pos += defaultTabInterval;
205889
205903
  const hasExplicitStop = filteredExplicitStops.some((s2) => Math.abs(s2.pos - pos) < 20);
@@ -247343,12 +247357,60 @@ function applyParagraphBordersAndShading(paraWrapper, block) {
247343
247357
  if (shadingFill)
247344
247358
  paraWrapper.style.backgroundColor = shadingFill;
247345
247359
  }
247346
- function classifyMathText(text5) {
247347
- if (/^\d*\.?\d+$/.test(text5))
247348
- return "mn";
247349
- if (text5.length === 1 && OPERATOR_CHARS.has(text5))
247350
- return "mo";
247351
- return "mi";
247360
+ function isDigit(ch) {
247361
+ return ch >= "0" && ch <= "9";
247362
+ }
247363
+ function codePointUnitLength(text5, i4) {
247364
+ const hi = text5.charCodeAt(i4);
247365
+ if (hi >= 55296 && hi <= 56319 && i4 + 1 < text5.length) {
247366
+ const lo = text5.charCodeAt(i4 + 1);
247367
+ if (lo >= 56320 && lo <= 57343)
247368
+ return 2;
247369
+ }
247370
+ return 1;
247371
+ }
247372
+ function tokenizeMathText(text5) {
247373
+ const atoms = [];
247374
+ let i4 = 0;
247375
+ while (i4 < text5.length) {
247376
+ const step3 = codePointUnitLength(text5, i4);
247377
+ const ch = text5.slice(i4, i4 + step3);
247378
+ if (step3 === 1 && isDigit(ch)) {
247379
+ let end$1 = i4 + 1;
247380
+ let sawDot = false;
247381
+ while (end$1 < text5.length) {
247382
+ const c = text5[end$1];
247383
+ if (isDigit(c)) {
247384
+ end$1++;
247385
+ continue;
247386
+ }
247387
+ if (c === "." && !sawDot && end$1 + 1 < text5.length && isDigit(text5[end$1 + 1])) {
247388
+ sawDot = true;
247389
+ end$1++;
247390
+ continue;
247391
+ }
247392
+ break;
247393
+ }
247394
+ atoms.push({
247395
+ tag: "mn",
247396
+ content: text5.slice(i4, end$1)
247397
+ });
247398
+ i4 = end$1;
247399
+ } else if (step3 === 1 && OPERATOR_CHARS.has(ch)) {
247400
+ atoms.push({
247401
+ tag: "mo",
247402
+ content: ch
247403
+ });
247404
+ i4++;
247405
+ } else {
247406
+ atoms.push({
247407
+ tag: "mi",
247408
+ content: ch
247409
+ });
247410
+ i4 += step3;
247411
+ }
247412
+ }
247413
+ return atoms;
247352
247414
  }
247353
247415
  function resolveMathVariant(rPr) {
247354
247416
  const elements = rPr?.elements ?? [];
@@ -247362,6 +247424,87 @@ function resolveMathVariant(rPr) {
247362
247424
  return "normal";
247363
247425
  return null;
247364
247426
  }
247427
+ function extractText(node3) {
247428
+ let text5 = "";
247429
+ for (const child of node3.elements ?? [])
247430
+ if (child.name === "m:t") {
247431
+ for (const tc of child.elements ?? [])
247432
+ if (tc.type === "text" && typeof tc.text === "string")
247433
+ text5 += tc.text;
247434
+ }
247435
+ return text5;
247436
+ }
247437
+ function tokenizeFunctionNameText(text5) {
247438
+ const atoms = [];
247439
+ let i4 = 0;
247440
+ while (i4 < text5.length) {
247441
+ const step3 = codePointUnitLength(text5, i4);
247442
+ const ch = text5.slice(i4, i4 + step3);
247443
+ if (step3 === 1 && isDigit(ch)) {
247444
+ let end$1 = i4 + 1;
247445
+ let sawDot = false;
247446
+ while (end$1 < text5.length) {
247447
+ const c = text5[end$1];
247448
+ if (isDigit(c)) {
247449
+ end$1++;
247450
+ continue;
247451
+ }
247452
+ if (c === "." && !sawDot && end$1 + 1 < text5.length && isDigit(text5[end$1 + 1])) {
247453
+ sawDot = true;
247454
+ end$1++;
247455
+ continue;
247456
+ }
247457
+ break;
247458
+ }
247459
+ atoms.push({
247460
+ tag: "mn",
247461
+ content: text5.slice(i4, end$1)
247462
+ });
247463
+ i4 = end$1;
247464
+ } else if (step3 === 1 && OPERATOR_CHARS.has(ch)) {
247465
+ atoms.push({
247466
+ tag: "mo",
247467
+ content: ch
247468
+ });
247469
+ i4++;
247470
+ } else {
247471
+ let end$1 = i4 + step3;
247472
+ while (end$1 < text5.length) {
247473
+ const s2 = codePointUnitLength(text5, end$1);
247474
+ const c = text5.slice(end$1, end$1 + s2);
247475
+ if (s2 === 1 && (isDigit(c) || OPERATOR_CHARS.has(c)))
247476
+ break;
247477
+ end$1 += s2;
247478
+ }
247479
+ atoms.push({
247480
+ tag: "mi",
247481
+ content: text5.slice(i4, end$1)
247482
+ });
247483
+ i4 = end$1;
247484
+ }
247485
+ }
247486
+ return atoms;
247487
+ }
247488
+ function convertMathRunAsFunctionName(node3, doc$12) {
247489
+ const text5 = extractText(node3);
247490
+ if (!text5)
247491
+ return null;
247492
+ const variant = resolveMathVariant((node3.elements ?? []).find((el) => el.name === "m:rPr"));
247493
+ const atoms = tokenizeFunctionNameText(text5);
247494
+ const createAtom = (atom) => {
247495
+ const el = doc$12.createElementNS(MATHML_NS$19, atom.tag);
247496
+ el.textContent = atom.content;
247497
+ if (variant)
247498
+ el.setAttribute("mathvariant", variant);
247499
+ return el;
247500
+ };
247501
+ if (atoms.length === 1)
247502
+ return createAtom(atoms[0]);
247503
+ const fragment2 = doc$12.createDocumentFragment();
247504
+ for (const atom of atoms)
247505
+ fragment2.appendChild(createAtom(atom));
247506
+ return fragment2;
247507
+ }
247365
247508
  function forceNormalMathVariant(root3) {
247366
247509
  for (const child of Array.from(root3.children)) {
247367
247510
  if (MATH_VARIANT_BOUNDARY_ELEMENTS.has(child.localName))
@@ -247371,6 +247514,34 @@ function forceNormalMathVariant(root3) {
247371
247514
  forceNormalMathVariant(child);
247372
247515
  }
247373
247516
  }
247517
+ function collapseFunctionNameBases(root3) {
247518
+ for (const child of Array.from(root3.children))
247519
+ if (BASE_BEARING_ELEMENTS.has(child.localName)) {
247520
+ const base5 = child.children[0];
247521
+ if (base5) {
247522
+ collapseMrowToSingleMi(base5);
247523
+ collapseFunctionNameBases(base5);
247524
+ }
247525
+ } else
247526
+ collapseFunctionNameBases(child);
247527
+ }
247528
+ function collapseMrowToSingleMi(container) {
247529
+ const children = Array.from(container.children);
247530
+ if (children.length < 2)
247531
+ return;
247532
+ if (!children.every((c) => c.localName === "mi"))
247533
+ return;
247534
+ const variant = children[0].getAttribute("mathvariant");
247535
+ if (!children.every((c) => c.getAttribute("mathvariant") === variant))
247536
+ return;
247537
+ const merged = container.ownerDocument.createElementNS(MATHML_NS$16, "mi");
247538
+ merged.textContent = children.map((c) => c.textContent ?? "").join("");
247539
+ if (variant)
247540
+ merged.setAttribute("mathvariant", variant);
247541
+ container.insertBefore(merged, children[0]);
247542
+ for (const c of children)
247543
+ c.remove();
247544
+ }
247374
247545
  function getDelimiterValue(properties, name, fallback) {
247375
247546
  const property = properties?.elements?.find((element3) => element3.name === name);
247376
247547
  if (!property)
@@ -250858,11 +251029,11 @@ function layoutDocument(blocks2, measures, options = {}) {
250858
251029
  const footerContentHeights = options.footerContentHeights;
250859
251030
  const headerContentHeightsByRId = options.headerContentHeightsByRId;
250860
251031
  const footerContentHeightsByRId = options.footerContentHeightsByRId;
250861
- const getVariantTypeForPage = (sectionPageNumber, titlePgEnabled, alternateHeaders) => {
250862
- if (sectionPageNumber === 1 && titlePgEnabled)
251032
+ const getVariantTypeForPage = (args$1) => {
251033
+ if (args$1.sectionPageNumber === 1 && args$1.titlePgEnabled)
250863
251034
  return "first";
250864
- if (alternateHeaders)
250865
- return sectionPageNumber % 2 === 0 ? "even" : "odd";
251035
+ if (args$1.alternateHeaders)
251036
+ return args$1.documentPageNumber % 2 === 0 ? "even" : "odd";
250866
251037
  return "default";
250867
251038
  };
250868
251039
  const getHeaderHeightForPage = (variantType, headerRef) => {
@@ -251296,7 +251467,12 @@ function layoutDocument(blocks2, measures, options = {}) {
251296
251467
  const newPageNumber = pageCount;
251297
251468
  if (isEnteringNewSection || !sectionFirstPageNumbers.has(activeSectionIndex))
251298
251469
  sectionFirstPageNumbers.set(activeSectionIndex, newPageNumber);
251299
- const variantType = getVariantTypeForPage(newPageNumber - (sectionFirstPageNumbers.get(activeSectionIndex) ?? newPageNumber) + 1, sectionMetadataList[activeSectionIndex]?.titlePg ?? false, false);
251470
+ const variantType = getVariantTypeForPage({
251471
+ sectionPageNumber: newPageNumber - (sectionFirstPageNumbers.get(activeSectionIndex) ?? newPageNumber) + 1,
251472
+ documentPageNumber: newPageNumber,
251473
+ titlePgEnabled: sectionMetadataList[activeSectionIndex]?.titlePg ?? false,
251474
+ alternateHeaders: options.alternateHeaders ?? false
251475
+ });
251300
251476
  let headerRef = activeSectionRefs?.headerRefs?.[variantType];
251301
251477
  let footerRef = activeSectionRefs?.footerRefs?.[variantType];
251302
251478
  let effectiveVariantType = variantType;
@@ -257199,16 +257375,16 @@ function pageReferenceNodeToBlock(params$1) {
257199
257375
  if (bookmarkId) {
257200
257376
  let fallbackText = "??";
257201
257377
  if (Array.isArray(node3.content) && node3.content.length > 0) {
257202
- const extractText = (n) => {
257378
+ const extractText$1 = (n) => {
257203
257379
  if (n.type === "run")
257204
257380
  runProperties = n.attrs?.runProperties ?? {};
257205
257381
  if (n.type === "text" && n.text)
257206
257382
  return n.text;
257207
257383
  if (Array.isArray(n.content))
257208
- return n.content.map(extractText).join("");
257384
+ return n.content.map(extractText$1).join("");
257209
257385
  return "";
257210
257386
  };
257211
- fallbackText = node3.content.map(extractText).join("").trim() || "??";
257387
+ fallbackText = node3.content.map(extractText$1).join("").trim() || "??";
257212
257388
  }
257213
257389
  const pageRefPos = positions.get(node3);
257214
257390
  const resolvedRunProperties = resolveRunProperties(converterContext, runProperties, paragraphProperties, null, false, false);
@@ -257240,14 +257416,14 @@ function fieldAnnotationNodeToRun({ node: node3, positions }) {
257240
257416
  const fieldMetadata = resolveNodeSdtMetadata(node3, "fieldAnnotation");
257241
257417
  let contentText;
257242
257418
  if (Array.isArray(node3.content) && node3.content.length > 0) {
257243
- const extractText = (n) => {
257419
+ const extractText$1 = (n) => {
257244
257420
  if (n.type === "text" && typeof n.text === "string")
257245
257421
  return n.text;
257246
257422
  if (Array.isArray(n.content))
257247
- return n.content.map(extractText).join("");
257423
+ return n.content.map(extractText$1).join("");
257248
257424
  return "";
257249
257425
  };
257250
- contentText = node3.content.map(extractText).join("");
257426
+ contentText = node3.content.map(extractText$1).join("");
257251
257427
  }
257252
257428
  const attrs = (contentText && contentText.length > 0 ? {
257253
257429
  ...node3,
@@ -260954,6 +261130,10 @@ async function measureParagraphBlock(block, maxWidth) {
260954
261130
  else
260955
261131
  initialAvailableWidth = Math.max(1, contentWidth - firstLineOffset);
260956
261132
  const tabStops = buildTabStopsPx(indent2, block.attrs?.tabs, block.attrs?.tabIntervalTwips);
261133
+ const alignmentTabStopsPx = tabStops.map((stop, index2) => ({
261134
+ stop,
261135
+ index: index2
261136
+ })).filter(({ stop }) => stop.val === "end" || stop.val === "center" || stop.val === "decimal");
260957
261137
  const decimalSeparator = sanitizeDecimalSeparator(block.attrs?.decimalSeparator);
260958
261138
  const barTabStops = tabStops.filter((stop) => stop.val === "bar");
260959
261139
  const addBarTabsToLine = (line) => {
@@ -261084,7 +261264,7 @@ async function measureParagraphBlock(block, maxWidth) {
261084
261264
  segmentWidth = segmentText.length > 0 ? measureRunWidth(segmentText, font, ctx$1, runContext, segmentStartChar) : 0;
261085
261265
  return alignPendingTabForWidth(segmentWidth, beforeDecimalWidth);
261086
261266
  };
261087
- const runsToProcess = [];
261267
+ let runsToProcess = [];
261088
261268
  for (const run2 of normalizedRuns)
261089
261269
  if (run2.text && typeof run2.text === "string" && run2.text.includes(`
261090
261270
  `)) {
@@ -261113,6 +261293,57 @@ async function measureParagraphBlock(block, maxWidth) {
261113
261293
  });
261114
261294
  } else
261115
261295
  runsToProcess.push(run2);
261296
+ if (runsToProcess.some((run2) => isTextRun$1(run2) && typeof run2.text === "string" && run2.text.includes("\t"))) {
261297
+ const expandedRuns = [];
261298
+ for (const run2 of runsToProcess) {
261299
+ if (!isTextRun$1(run2) || typeof run2.text !== "string" || !run2.text.includes("\t")) {
261300
+ expandedRuns.push(run2);
261301
+ continue;
261302
+ }
261303
+ const textRun = run2;
261304
+ let buffer3 = "";
261305
+ let cursor = textRun.pmStart ?? 0;
261306
+ const text5 = textRun.text;
261307
+ for (let i4 = 0;i4 < text5.length; i4 += 1) {
261308
+ const char = text5[i4];
261309
+ if (char === "\t") {
261310
+ if (buffer3.length > 0) {
261311
+ expandedRuns.push({
261312
+ ...textRun,
261313
+ text: buffer3,
261314
+ pmStart: cursor - buffer3.length,
261315
+ pmEnd: cursor
261316
+ });
261317
+ buffer3 = "";
261318
+ }
261319
+ const tabRun = {
261320
+ kind: "tab",
261321
+ text: "\t",
261322
+ pmStart: cursor,
261323
+ pmEnd: cursor + 1,
261324
+ tabStops: block.attrs?.tabs,
261325
+ indent: indent2,
261326
+ leader: textRun?.leader ?? null,
261327
+ sdt: textRun.sdt
261328
+ };
261329
+ expandedRuns.push(tabRun);
261330
+ cursor += 1;
261331
+ continue;
261332
+ }
261333
+ buffer3 += char;
261334
+ cursor += 1;
261335
+ }
261336
+ if (buffer3.length > 0)
261337
+ expandedRuns.push({
261338
+ ...textRun,
261339
+ text: buffer3,
261340
+ pmStart: cursor - buffer3.length,
261341
+ pmEnd: cursor
261342
+ });
261343
+ }
261344
+ runsToProcess = expandedRuns;
261345
+ }
261346
+ const totalTabRuns = runsToProcess.reduce((count2, run2) => isTabRun(run2) ? count2 + 1 : count2, 0);
261116
261347
  const trimTrailingWrapSpaces = (lineToTrim) => {
261117
261348
  const lastRun = runsToProcess[lineToTrim.toRun];
261118
261349
  if (!lastRun || !("text" in lastRun) || typeof lastRun.text !== "string")
@@ -261139,6 +261370,18 @@ async function measureParagraphBlock(block, maxWidth) {
261139
261370
  if (lineToTrim.naturalWidth != null && typeof lineToTrim.naturalWidth === "number")
261140
261371
  lineToTrim.naturalWidth = roundValue(Math.max(0, lineToTrim.naturalWidth - delta));
261141
261372
  };
261373
+ const getAlignmentStopForOrdinal = (ordinal) => {
261374
+ if (alignmentTabStopsPx.length === 0 || totalTabRuns === 0 || !Number.isFinite(ordinal))
261375
+ return null;
261376
+ if (ordinal < 0 || ordinal >= totalTabRuns)
261377
+ return null;
261378
+ const remainingTabs = totalTabRuns - ordinal - 1;
261379
+ const targetIndex = alignmentTabStopsPx.length - 1 - remainingTabs;
261380
+ if (targetIndex < 0 || targetIndex >= alignmentTabStopsPx.length)
261381
+ return null;
261382
+ return alignmentTabStopsPx[targetIndex];
261383
+ };
261384
+ let sequentialTabIndex = 0;
261142
261385
  for (let runIndex = 0;runIndex < runsToProcess.length; runIndex++) {
261143
261386
  const run2 = runsToProcess[runIndex];
261144
261387
  if (run2.kind === "break") {
@@ -261236,8 +261479,21 @@ async function measureParagraphBlock(block, maxWidth) {
261236
261479
  const originX = currentLine.width;
261237
261480
  const effectiveIndent = lines.length === 0 ? indentLeft + rawFirstLineOffset : indentLeft;
261238
261481
  const absCurrentX = currentLine.width + effectiveIndent;
261239
- const { target, nextIndex, stop } = getNextTabStopPx(absCurrentX, tabStops, tabStopCursor);
261240
- tabStopCursor = nextIndex;
261482
+ let stop;
261483
+ let target;
261484
+ const resolvedTabIndex = typeof run2.tabIndex === "number" && Number.isFinite(run2.tabIndex) ? run2.tabIndex : sequentialTabIndex;
261485
+ sequentialTabIndex = Math.max(sequentialTabIndex, resolvedTabIndex + 1);
261486
+ const forcedAlignment = getAlignmentStopForOrdinal(resolvedTabIndex);
261487
+ if (forcedAlignment && forcedAlignment.stop.pos > absCurrentX + TAB_EPSILON) {
261488
+ stop = forcedAlignment.stop;
261489
+ target = forcedAlignment.stop.pos;
261490
+ tabStopCursor = forcedAlignment.index + 1;
261491
+ } else {
261492
+ const nextStop = getNextTabStopPx(absCurrentX, tabStops, tabStopCursor);
261493
+ target = nextStop.target;
261494
+ tabStopCursor = nextStop.nextIndex;
261495
+ stop = nextStop.stop;
261496
+ }
261241
261497
  const maxAbsWidth = currentLine.maxWidth + effectiveIndent;
261242
261498
  const clampedTarget = Math.min(target, maxAbsWidth);
261243
261499
  const tabAdvance = Math.max(0, clampedTarget - absCurrentX);
@@ -271185,7 +271441,7 @@ var Node$13 = class Node$14 {
271185
271441
  } catch {
271186
271442
  return step3;
271187
271443
  }
271188
- }, replaceStep2 = ({ state, tr, step: step3, newTr, map: map$12, user, date, originalStep, originalStepIndex }) => {
271444
+ }, replaceStep2 = ({ state, tr, step: step3, newTr, map: map$12, user, date, originalStep, originalStepIndex, replacements = "paired" }) => {
271189
271445
  const originalRange = {
271190
271446
  from: step3.from,
271191
271447
  to: step3.to,
@@ -271301,7 +271557,7 @@ var Node$13 = class Node$14 {
271301
271557
  to: step3.to,
271302
271558
  user,
271303
271559
  date,
271304
- id: meta2.insertedMark?.attrs?.id
271560
+ id: replacements === "paired" ? meta2.insertedMark?.attrs?.id : undefined
271305
271561
  });
271306
271562
  meta2.deletionNodes = deletionNodes;
271307
271563
  meta2.deletionMark = deletionMark;
@@ -271917,7 +272173,7 @@ var Node$13 = class Node$14 {
271917
272173
  placeholderChar: insertedText,
271918
272174
  authorEmail: user.email
271919
272175
  };
271920
- }, trackedTransaction = ({ tr, state, user }) => {
272176
+ }, trackedTransaction = ({ tr, state, user, replacements = "paired" }) => {
271921
272177
  const onlyInputTypeMeta = [
271922
272178
  "inputType",
271923
272179
  "uiEvent",
@@ -271971,7 +272227,8 @@ var Node$13 = class Node$14 {
271971
272227
  user,
271972
272228
  date,
271973
272229
  originalStep,
271974
- originalStepIndex
272230
+ originalStepIndex,
272231
+ replacements
271975
272232
  });
271976
272233
  else if (step3 instanceof AddMarkStep)
271977
272234
  addMarkStep({
@@ -272072,7 +272329,7 @@ var Node$13 = class Node$14 {
272072
272329
  return formatList.filter((format) => Object.hasOwn(format, "type") && Object.hasOwn(format, "attrs"));
272073
272330
  }, trackFormatClass = "track-format", TrackFormat, hasExpandedSelection = (selection) => {
272074
272331
  return Number.isFinite(selection?.from) && Number.isFinite(selection?.to) && selection.from !== selection.to;
272075
- }, TrackChanges, TRACKED_CHANGE_MARKS, getTrackedMark = (node3) => node3?.marks?.find((mark2) => TRACKED_CHANGE_MARKS.includes(mark2.type.name)) ?? null, getTrackedChangeActionSelection = ({ state, editor }) => {
272332
+ }, readReplacementsMode = (editor) => editor?.options?.trackedChanges?.replacements === "independent" ? "independent" : "paired", TrackChanges, TRACKED_CHANGE_MARKS, getTrackedMark = (node3) => node3?.marks?.find((mark2) => TRACKED_CHANGE_MARKS.includes(mark2.type.name)) ?? null, getTrackedChangeActionSelection = ({ state, editor }) => {
272076
272333
  const currentSelection = state?.selection;
272077
272334
  if (hasExpandedSelection(currentSelection))
272078
272335
  return currentSelection;
@@ -279305,24 +279562,24 @@ menclose::after {
279305
279562
  element3.style.textAlign = resolveTextAlign(attrs?.alignment, rtl);
279306
279563
  return rtl;
279307
279564
  }, shouldUseSegmentPositioning = (hasExplicitPositioning, hasSegments, isRtl) => hasExplicitPositioning && hasSegments && !isRtl, MATHML_NS$19 = "http://www.w3.org/1998/Math/MathML", OPERATOR_CHARS, STY_TO_VARIANT, SCR_TO_VARIANT, convertMathRun = (node3, doc$12) => {
279308
- const elements = node3.elements ?? [];
279309
- let text5 = "";
279310
- for (const child of elements)
279311
- if (child.name === "m:t") {
279312
- const textChildren = child.elements ?? [];
279313
- for (const tc of textChildren)
279314
- if (tc.type === "text" && typeof tc.text === "string")
279315
- text5 += tc.text;
279316
- }
279565
+ const text5 = extractText(node3);
279317
279566
  if (!text5)
279318
279567
  return null;
279319
- const variant = resolveMathVariant(elements.find((el$1) => el$1.name === "m:rPr"));
279320
- const tag = classifyMathText(text5);
279321
- const el = doc$12.createElementNS(MATHML_NS$19, tag);
279322
- el.textContent = text5;
279323
- if (variant)
279324
- el.setAttribute("mathvariant", variant);
279325
- return el;
279568
+ const variant = resolveMathVariant((node3.elements ?? []).find((el) => el.name === "m:rPr"));
279569
+ const atoms = tokenizeMathText(text5);
279570
+ const createAtom = (atom) => {
279571
+ const el = doc$12.createElementNS(MATHML_NS$19, atom.tag);
279572
+ el.textContent = atom.content;
279573
+ if (variant)
279574
+ el.setAttribute("mathvariant", variant);
279575
+ return el;
279576
+ };
279577
+ if (atoms.length === 1)
279578
+ return createAtom(atoms[0]);
279579
+ const fragment2 = doc$12.createDocumentFragment();
279580
+ for (const atom of atoms)
279581
+ fragment2.appendChild(createAtom(atom));
279582
+ return fragment2;
279326
279583
  }, MATHML_NS$18 = "http://www.w3.org/1998/Math/MathML", convertFraction = (node3, doc$12, convertChildren) => {
279327
279584
  const elements = node3.elements ?? [];
279328
279585
  const num = elements.find((e) => e.name === "m:num");
@@ -279349,13 +279606,23 @@ menclose::after {
279349
279606
  accent.textContent = "‾";
279350
279607
  wrapper.appendChild(accent);
279351
279608
  return wrapper;
279352
- }, MATHML_NS$16 = "http://www.w3.org/1998/Math/MathML", FUNCTION_APPLY_OPERATOR = "⁡", MATH_VARIANT_BOUNDARY_ELEMENTS, convertFunction = (node3, doc$12, convertChildren) => {
279609
+ }, MATHML_NS$16 = "http://www.w3.org/1998/Math/MathML", FUNCTION_APPLY_OPERATOR = "⁡", MATH_VARIANT_BOUNDARY_ELEMENTS, BASE_BEARING_ELEMENTS, convertFunction = (node3, doc$12, convertChildren) => {
279353
279610
  const elements = node3.elements ?? [];
279354
279611
  const functionName = elements.find((element3) => element3.name === "m:fName");
279355
279612
  const argument = elements.find((element3) => element3.name === "m:e");
279356
279613
  const wrapper = doc$12.createElementNS(MATHML_NS$16, "mrow");
279357
279614
  const functionNameRow = doc$12.createElementNS(MATHML_NS$16, "mrow");
279358
- functionNameRow.appendChild(convertChildren(functionName?.elements ?? []));
279615
+ for (const child of functionName?.elements ?? [])
279616
+ if (child.name === "m:r") {
279617
+ const atom = convertMathRunAsFunctionName(child, doc$12);
279618
+ if (atom)
279619
+ functionNameRow.appendChild(atom);
279620
+ } else {
279621
+ const converted = convertChildren([child]);
279622
+ if (converted.childNodes.length > 0)
279623
+ functionNameRow.appendChild(converted);
279624
+ }
279625
+ collapseFunctionNameBases(functionNameRow);
279359
279626
  forceNormalMathVariant(functionNameRow);
279360
279627
  if (functionNameRow.childNodes.length > 0)
279361
279628
  wrapper.appendChild(functionNameRow);
@@ -281824,6 +282091,32 @@ menclose::after {
281824
282091
  beforeDecimalWidth
281825
282092
  };
281826
282093
  }, applyTabLayoutToLines = (lines, runs2, tabStops, decimalSeparator, indentLeft, rawFirstLineOffset) => {
282094
+ const totalTabRuns = runs2.reduce((count2, run2) => run2.kind === "tab" ? count2 + 1 : count2, 0);
282095
+ const alignmentTabStopsPx = tabStops.map((stop, index2) => ({
282096
+ stop,
282097
+ index: index2
282098
+ })).filter(({ stop }) => stop.val === "end" || stop.val === "center" || stop.val === "decimal");
282099
+ const getAlignmentStopForOrdinal = (ordinal) => {
282100
+ if (alignmentTabStopsPx.length === 0 || totalTabRuns === 0 || !Number.isFinite(ordinal))
282101
+ return null;
282102
+ if (ordinal < 0 || ordinal >= totalTabRuns)
282103
+ return null;
282104
+ const remainingTabs = totalTabRuns - ordinal - 1;
282105
+ const targetIndex = alignmentTabStopsPx.length - 1 - remainingTabs;
282106
+ if (targetIndex < 0 || targetIndex >= alignmentTabStopsPx.length)
282107
+ return null;
282108
+ return alignmentTabStopsPx[targetIndex];
282109
+ };
282110
+ let sequentialTabIndex = 0;
282111
+ const consumeTabOrdinal = (explicitIndex) => {
282112
+ if (typeof explicitIndex === "number" && Number.isFinite(explicitIndex)) {
282113
+ sequentialTabIndex = Math.max(sequentialTabIndex, explicitIndex + 1);
282114
+ return explicitIndex;
282115
+ }
282116
+ const ordinal = sequentialTabIndex;
282117
+ sequentialTabIndex += 1;
282118
+ return ordinal;
282119
+ };
281827
282120
  lines.forEach((line, lineIndex) => {
281828
282121
  let cursorX = 0;
281829
282122
  let lineWidth = 0;
@@ -281833,10 +282126,22 @@ menclose::after {
281833
282126
  const leaders = [];
281834
282127
  const effectiveIndent = lineIndex === 0 ? indentLeft + rawFirstLineOffset : indentLeft;
281835
282128
  const maxAbsWidth = typeof line.maxWidth === "number" && Number.isFinite(line.maxWidth) ? line.maxWidth + effectiveIndent : Number.POSITIVE_INFINITY;
281836
- const applyTab = (startRunIndex, startChar, run2) => {
282129
+ const applyTab = (startRunIndex, startChar, run2, tabOrdinal) => {
281837
282130
  const originX = cursorX;
281838
- const { target, nextIndex, stop } = getNextTabStopPx$1(cursorX + effectiveIndent, tabStops, tabStopCursor);
281839
- tabStopCursor = nextIndex;
282131
+ const absCurrentX = cursorX + effectiveIndent;
282132
+ let stop;
282133
+ let target;
282134
+ const forcedAlignment = typeof tabOrdinal === "number" && Number.isFinite(tabOrdinal) ? getAlignmentStopForOrdinal(tabOrdinal) : null;
282135
+ if (forcedAlignment && forcedAlignment.stop.pos > absCurrentX + TAB_EPSILON$1) {
282136
+ stop = forcedAlignment.stop;
282137
+ target = forcedAlignment.stop.pos;
282138
+ tabStopCursor = forcedAlignment.index + 1;
282139
+ } else {
282140
+ const next2 = getNextTabStopPx$1(absCurrentX, tabStops, tabStopCursor);
282141
+ stop = next2.stop;
282142
+ target = next2.target;
282143
+ tabStopCursor = next2.nextIndex;
282144
+ }
281840
282145
  const clampedTarget = Number.isFinite(maxAbsWidth) ? Math.min(target, maxAbsWidth) : target;
281841
282146
  const relativeTarget = clampedTarget - effectiveIndent;
281842
282147
  lineWidth = Math.max(lineWidth, relativeTarget);
@@ -281877,7 +282182,8 @@ menclose::after {
281877
282182
  if (!run2)
281878
282183
  continue;
281879
282184
  if (run2.kind === "tab") {
281880
- applyTab(runIndex + 1, 0, run2);
282185
+ const ordinal = consumeTabOrdinal(run2.tabIndex);
282186
+ applyTab(runIndex + 1, 0, run2, ordinal);
281881
282187
  continue;
281882
282188
  }
281883
282189
  const text5 = runText(run2);
@@ -281911,7 +282217,8 @@ menclose::after {
281911
282217
  lineWidth = Math.max(lineWidth, cursorX);
281912
282218
  segments.push(segment);
281913
282219
  }
281914
- applyTab(runIndex, i4 + 1);
282220
+ const ordinal = consumeTabOrdinal();
282221
+ applyTab(runIndex, i4 + 1, undefined, ordinal);
281915
282222
  segmentStart = i4 + 1;
281916
282223
  }
281917
282224
  if (segmentStart < sliceEnd) {
@@ -289996,12 +290303,12 @@ menclose::after {
289996
290303
  return;
289997
290304
  console.log(...args$1);
289998
290305
  }, 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;
289999
- var init_src_CqF8CKiT_es = __esm(() => {
290306
+ var init_src_Bn2I5jpR_es = __esm(() => {
290000
290307
  init_rolldown_runtime_Bg48TavK_es();
290001
- init_SuperConverter_CpoUNyba_es();
290308
+ init_SuperConverter_D8HLuwGQ_es();
290002
290309
  init_jszip_C49i9kUs_es();
290003
290310
  init_uuid_qzgm05fK_es();
290004
- init_create_headless_toolbar_Dp1bWeQT_es();
290311
+ init_create_headless_toolbar_CbE9_87q_es();
290005
290312
  init_constants_CGhJRd87_es();
290006
290313
  init_dist_B8HfvhaK_es();
290007
290314
  init_unified_Dsuw2be5_es();
@@ -306802,8 +307109,12 @@ function print() { __p += __j.call(arguments, '') }
306802
307109
  const date = (/* @__PURE__ */ new Date()).toISOString();
306803
307110
  const tr = state.tr;
306804
307111
  const marks = state.doc.resolve(from$1).marks();
306805
- const sharedId = id2 ?? (from$1 !== to && text5 ? v4_default() : null);
306806
- let changeId = sharedId;
307112
+ const pairedReplacements = readReplacementsMode(editor) === "paired";
307113
+ const isReplacement = from$1 !== to && text5;
307114
+ const primaryId = id2 ?? v4_default();
307115
+ const insertionId = primaryId;
307116
+ const deletionId = pairedReplacements || !isReplacement ? primaryId : null;
307117
+ const changeId = primaryId;
306807
307118
  let insertPos = to;
306808
307119
  let deletionMark = null;
306809
307120
  let deletionNodes = [];
@@ -306814,12 +307125,10 @@ function print() { __p += __j.call(arguments, '') }
306814
307125
  to,
306815
307126
  user: resolvedUser,
306816
307127
  date,
306817
- id: sharedId
307128
+ id: deletionId
306818
307129
  });
306819
307130
  deletionMark = result.deletionMark;
306820
307131
  deletionNodes = result.nodes || [];
306821
- if (!changeId)
306822
- changeId = deletionMark.attrs.id;
306823
307132
  insertPos = result.deletionMap.map(to);
306824
307133
  }
306825
307134
  let insertedMark = null;
@@ -306833,10 +307142,8 @@ function print() { __p += __j.call(arguments, '') }
306833
307142
  to: insertPos + insertedNode.nodeSize,
306834
307143
  user: resolvedUser,
306835
307144
  date,
306836
- id: sharedId
307145
+ id: insertionId
306837
307146
  });
306838
- if (!changeId)
306839
- changeId = insertedMark.attrs.id;
306840
307147
  }
306841
307148
  const mockStep = insertedNode ? { slice: { content: { content: [insertedNode] } } } : null;
306842
307149
  tr.setMeta(TrackChangesBasePluginKey, {
@@ -314266,7 +314573,8 @@ function print() { __p += __j.call(arguments, '') }
314266
314573
  documentId: this.options.documentId,
314267
314574
  mockWindow: this.options.mockWindow ?? null,
314268
314575
  mockDocument: this.options.mockDocument ?? null,
314269
- isNewFile: this.options.isNewFile ?? false
314576
+ isNewFile: this.options.isNewFile ?? false,
314577
+ trackedChangesOptions: this.options.trackedChanges ?? null
314270
314578
  });
314271
314579
  }
314272
314580
  async#loadBlankDocxTemplate() {
@@ -314619,7 +314927,8 @@ function print() { __p += __j.call(arguments, '') }
314619
314927
  transactionToApply = shouldTrack ? trackedTransaction({
314620
314928
  tr: transactionToApply,
314621
314929
  state: prevState,
314622
- user: this.options.user
314930
+ user: this.options.user,
314931
+ replacements: this.options.trackedChanges?.replacements === "independent" ? "independent" : "paired"
314623
314932
  }) : transactionToApply;
314624
314933
  const { state: appliedState } = prevState.applyTransaction(transactionToApply);
314625
314934
  nextState = appliedState;
@@ -315607,7 +315916,6 @@ function print() { __p += __j.call(arguments, '') }
315607
315916
  "∑",
315608
315917
  "∏",
315609
315918
  "√",
315610
- "∞",
315611
315919
  "∧",
315612
315920
  "∨",
315613
315921
  "∩",
@@ -315653,6 +315961,15 @@ function print() { __p += __j.call(arguments, '') }
315653
315961
  "mtr",
315654
315962
  "mtd"
315655
315963
  ]);
315964
+ BASE_BEARING_ELEMENTS = new Set([
315965
+ "munder",
315966
+ "mover",
315967
+ "munderover",
315968
+ "msub",
315969
+ "msup",
315970
+ "msubsup",
315971
+ "mmultiscripts"
315972
+ ]);
315656
315973
  COMBINING_TO_SPACING = {
315657
315974
  "̀": "`",
315658
315975
  "́": "´",
@@ -323780,12 +324097,14 @@ function print() { __p += __j.call(arguments, '') }
323780
324097
  };
323781
324098
  }
323782
324099
  this.#hiddenHost.style.width = `${pageSize.w}px`;
324100
+ const alternateHeaders = Boolean(this.#editor?.converter?.pageStyles?.alternateHeaders);
323783
324101
  return {
323784
324102
  flowMode: "paginated",
323785
324103
  pageSize,
323786
324104
  margins: resolvedMargins,
323787
324105
  ...columns ? { columns } : {},
323788
- sectionMetadata
324106
+ sectionMetadata,
324107
+ alternateHeaders
323789
324108
  };
323790
324109
  }
323791
324110
  #buildHeaderFooterInput() {
@@ -324839,11 +325158,11 @@ var init_zipper_DbkgrypV_es = __esm(() => {
324839
325158
 
324840
325159
  // ../../packages/superdoc/dist/super-editor.es.js
324841
325160
  var init_super_editor_es = __esm(() => {
324842
- init_src_CqF8CKiT_es();
324843
- init_SuperConverter_CpoUNyba_es();
325161
+ init_src_Bn2I5jpR_es();
325162
+ init_SuperConverter_D8HLuwGQ_es();
324844
325163
  init_jszip_C49i9kUs_es();
324845
325164
  init_xml_js_CqGKpaft_es();
324846
- init_create_headless_toolbar_Dp1bWeQT_es();
325165
+ init_create_headless_toolbar_CbE9_87q_es();
324847
325166
  init_constants_CGhJRd87_es();
324848
325167
  init_dist_B8HfvhaK_es();
324849
325168
  init_unified_Dsuw2be5_es();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superdoc-dev/cli",
3
- "version": "0.7.0-next.31",
3
+ "version": "0.7.0-next.33",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "superdoc": "./dist/index.js"
@@ -24,21 +24,21 @@
24
24
  "@types/node": "22.19.2",
25
25
  "@types/ws": "^8.5.13",
26
26
  "typescript": "^5.9.2",
27
+ "@superdoc/document-api": "0.0.1",
27
28
  "@superdoc/pm-adapter": "0.0.0",
28
29
  "@superdoc/super-editor": "0.0.1",
29
- "superdoc": "1.26.0",
30
- "@superdoc/document-api": "0.0.1"
30
+ "superdoc": "1.26.0"
31
31
  },
32
32
  "module": "src/index.ts",
33
33
  "publishConfig": {
34
34
  "access": "public"
35
35
  },
36
36
  "optionalDependencies": {
37
- "@superdoc-dev/cli-darwin-arm64": "0.7.0-next.31",
38
- "@superdoc-dev/cli-darwin-x64": "0.7.0-next.31",
39
- "@superdoc-dev/cli-linux-x64": "0.7.0-next.31",
40
- "@superdoc-dev/cli-windows-x64": "0.7.0-next.31",
41
- "@superdoc-dev/cli-linux-arm64": "0.7.0-next.31"
37
+ "@superdoc-dev/cli-darwin-arm64": "0.7.0-next.33",
38
+ "@superdoc-dev/cli-linux-x64": "0.7.0-next.33",
39
+ "@superdoc-dev/cli-darwin-x64": "0.7.0-next.33",
40
+ "@superdoc-dev/cli-linux-arm64": "0.7.0-next.33",
41
+ "@superdoc-dev/cli-windows-x64": "0.7.0-next.33"
42
42
  },
43
43
  "scripts": {
44
44
  "predev": "node scripts/ensure-superdoc-build.js",