@superdoc-dev/cli 0.5.0-next.27 → 0.5.0-next.28

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 +261 -61
  2. package/package.json +8 -8
package/dist/index.js CHANGED
@@ -172583,7 +172583,7 @@ var init_remark_gfm_CjV8kaUy_es = __esm(() => {
172583
172583
  init_remark_gfm_z_sDF4ss_es();
172584
172584
  });
172585
172585
 
172586
- // ../../packages/superdoc/dist/chunks/src-9QyvRUxO.es.js
172586
+ // ../../packages/superdoc/dist/chunks/src-CqUAwJtN.es.js
172587
172587
  function deleteProps(obj, propOrProps) {
172588
172588
  const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
172589
172589
  const removeNested = (target, pathParts, index2 = 0) => {
@@ -186330,7 +186330,7 @@ function sumRowHeights(rows, fromRow, toRow) {
186330
186330
  total += rows[i4].height;
186331
186331
  return total;
186332
186332
  }
186333
- function computeFragmentHeight(measure, fromRow, toRow, repeatHeaderCount, borderCollapse, partialRow) {
186333
+ function computeFragmentHeight$1(measure, fromRow, toRow, repeatHeaderCount, borderCollapse, partialRow) {
186334
186334
  let height = 0;
186335
186335
  let rowCount = 0;
186336
186336
  if (repeatHeaderCount > 0) {
@@ -186591,12 +186591,12 @@ function findSplitPoint(block, measure, startRow, availableHeight, fullPageHeigh
186591
186591
  if (rs > 1)
186592
186592
  maxRowspanEnd = Math.max(maxRowspanEnd, i4 + rs);
186593
186593
  }
186594
- if (computeFragmentHeight(measure, startRow, i4 + 1, 0, borderCollapse) <= availableHeight) {
186594
+ if (computeFragmentHeight$1(measure, startRow, i4 + 1, 0, borderCollapse) <= availableHeight) {
186595
186595
  lastFitRow = i4 + 1;
186596
186596
  if (maxRowspanEnd <= i4 + 1)
186597
186597
  lastCleanFitRow = i4 + 1;
186598
186598
  } else {
186599
- let remainingHeight = availableHeight - computeFragmentHeight(measure, startRow, lastFitRow, 0, borderCollapse);
186599
+ let remainingHeight = availableHeight - computeFragmentHeight$1(measure, startRow, lastFitRow, 0, borderCollapse);
186600
186600
  if (lastFitRow === startRow) {
186601
186601
  const cellSpacingPx = measure.cellSpacingPx ?? 0;
186602
186602
  const topBorderPx = borderCollapse === "separate" && measure.tableBorderWidths ? measure.tableBorderWidths.top : 0;
@@ -186808,7 +186808,7 @@ function layoutTableBlock({ block, measure, columnWidth, ensurePage, advanceColu
186808
186808
  const hadRemainingLinesBefore = fromLineByCell.some((fromLine, idx) => {
186809
186809
  return fromLine < getCellTotalLines(measure.rows[rowIndex].cells[idx]);
186810
186810
  });
186811
- const fragmentHeight$1 = computeFragmentHeight(measure, rowIndex, rowIndex + 1, repeatHeaderCount, borderCollapse, continuationPartialRow);
186811
+ const fragmentHeight$1 = computeFragmentHeight$1(measure, rowIndex, rowIndex + 1, repeatHeaderCount, borderCollapse, continuationPartialRow);
186812
186812
  if (fragmentHeight$1 > 0 && madeProgress) {
186813
186813
  const { x: x$1, width: width$1 } = resolveTableFrame(columnX(state.columnIndex), columnWidth, Math.min(columnWidth, measure.totalWidth || columnWidth), block.attrs);
186814
186814
  const scaledWidths$1 = rescaleColumnWidths(measure.columnWidths, measure.totalWidth, width$1);
@@ -186863,7 +186863,7 @@ function layoutTableBlock({ block, measure, columnWidth, ensurePage, advanceColu
186863
186863
  continue;
186864
186864
  }
186865
186865
  const forcedEndRow = bodyStartRow + 1;
186866
- const fragmentHeight$1 = computeFragmentHeight(measure, bodyStartRow, forcedEndRow, repeatHeaderCount, borderCollapse, forcedPartialRow);
186866
+ const fragmentHeight$1 = computeFragmentHeight$1(measure, bodyStartRow, forcedEndRow, repeatHeaderCount, borderCollapse, forcedPartialRow);
186867
186867
  const { x: x$1, width: width$1 } = resolveTableFrame(columnX(state.columnIndex), columnWidth, Math.min(columnWidth, measure.totalWidth || columnWidth), block.attrs);
186868
186868
  const scaledWidths$1 = rescaleColumnWidths(measure.columnWidths, measure.totalWidth, width$1);
186869
186869
  const fragment$1 = {
@@ -186890,7 +186890,7 @@ function layoutTableBlock({ block, measure, columnWidth, ensurePage, advanceColu
186890
186890
  isTableContinuation = true;
186891
186891
  continue;
186892
186892
  }
186893
- const fragmentHeight = computeFragmentHeight(measure, bodyStartRow, endRow, repeatHeaderCount, borderCollapse, partialRow);
186893
+ const fragmentHeight = computeFragmentHeight$1(measure, bodyStartRow, endRow, repeatHeaderCount, borderCollapse, partialRow);
186894
186894
  const { x, width } = resolveTableFrame(columnX(state.columnIndex), columnWidth, Math.min(columnWidth, measure.totalWidth || columnWidth), block.attrs);
186895
186895
  const scaledWidths = rescaleColumnWidths(measure.columnWidths, measure.totalWidth, width);
186896
186896
  const fragment2 = {
@@ -219614,15 +219614,94 @@ function findSliceAtPosition(slices, pmPos) {
219614
219614
  }
219615
219615
  return null;
219616
219616
  }
219617
+ function buildBlockMap(blocks2, measures) {
219618
+ const map$12 = /* @__PURE__ */ new Map;
219619
+ for (let i4 = 0;i4 < blocks2.length; i4++)
219620
+ map$12.set(blocks2[i4].id, {
219621
+ block: blocks2[i4],
219622
+ measure: measures[i4]
219623
+ });
219624
+ return map$12;
219625
+ }
219626
+ function sumLineHeights$2(lines, from$1, to) {
219627
+ let total = 0;
219628
+ for (let i4 = from$1;i4 < to && i4 < lines.length; i4++)
219629
+ total += lines[i4].lineHeight;
219630
+ return total;
219631
+ }
219632
+ function computeFragmentHeight(fragment2, blockMap) {
219633
+ if (fragment2.kind === "image" || fragment2.kind === "drawing" || fragment2.kind === "table")
219634
+ return fragment2.height;
219635
+ const entry = blockMap.get(fragment2.blockId);
219636
+ if (!entry)
219637
+ return 0;
219638
+ if (fragment2.kind === "para") {
219639
+ if (fragment2.lines)
219640
+ return fragment2.lines.reduce((sum, line) => sum + line.lineHeight, 0);
219641
+ if (entry.measure.kind === "paragraph")
219642
+ return sumLineHeights$2(entry.measure.lines, fragment2.fromLine, fragment2.toLine);
219643
+ return 0;
219644
+ }
219645
+ if (fragment2.kind === "list-item") {
219646
+ const listMeasure = entry.measure;
219647
+ if (listMeasure.kind !== "list")
219648
+ return 0;
219649
+ const item = listMeasure.items.find((it) => it.itemId === fragment2.itemId);
219650
+ if (!item)
219651
+ return 0;
219652
+ return sumLineHeights$2(item.paragraph.lines, fragment2.fromLine, fragment2.toLine);
219653
+ }
219654
+ return 0;
219655
+ }
219656
+ function isAnchoredMediaFragment(fragment2) {
219657
+ return (fragment2.kind === "image" || fragment2.kind === "drawing") && fragment2.isAnchored === true;
219658
+ }
219659
+ function resolveFragmentZIndex(fragment2) {
219660
+ if (!isAnchoredMediaFragment(fragment2))
219661
+ return;
219662
+ return fragment2.zIndex;
219663
+ }
219664
+ function resolveFragmentId(fragment2) {
219665
+ switch (fragment2.kind) {
219666
+ case "para":
219667
+ return `para:${fragment2.blockId}:${fragment2.fromLine}:${fragment2.toLine}`;
219668
+ case "list-item":
219669
+ return `list-item:${fragment2.blockId}:${fragment2.itemId}:${fragment2.fromLine}:${fragment2.toLine}`;
219670
+ case "image":
219671
+ return `image:${fragment2.blockId}:${fragment2.x}:${fragment2.y}`;
219672
+ case "drawing":
219673
+ return `drawing:${fragment2.blockId}:${fragment2.x}:${fragment2.y}`;
219674
+ case "table": {
219675
+ const partialKey = fragment2.partialRow ? `:${fragment2.partialRow.fromLineByCell.join(",")}-${fragment2.partialRow.toLineByCell.join(",")}` : "";
219676
+ return `table:${fragment2.blockId}:${fragment2.fromRow}:${fragment2.toRow}${partialKey}`;
219677
+ }
219678
+ }
219679
+ }
219680
+ function resolveFragmentItem(fragment2, fragmentIndex, pageIndex, blockMap) {
219681
+ return {
219682
+ kind: "fragment",
219683
+ id: resolveFragmentId(fragment2),
219684
+ pageIndex,
219685
+ x: fragment2.x,
219686
+ y: fragment2.y,
219687
+ width: fragment2.width,
219688
+ height: computeFragmentHeight(fragment2, blockMap),
219689
+ zIndex: resolveFragmentZIndex(fragment2),
219690
+ fragmentKind: fragment2.kind,
219691
+ blockId: fragment2.blockId,
219692
+ fragmentIndex
219693
+ };
219694
+ }
219617
219695
  function resolveLayout(input2) {
219618
- const { layout, flowMode } = input2;
219619
- const pages = layout.pages.map((page, index2) => ({
219620
- id: `page-${index2}`,
219621
- index: index2,
219696
+ const { layout, flowMode, blocks: blocks2, measures } = input2;
219697
+ const blockMap = buildBlockMap(blocks2, measures);
219698
+ const pages = layout.pages.map((page, pageIndex) => ({
219699
+ id: `page-${pageIndex}`,
219700
+ index: pageIndex,
219622
219701
  number: page.number,
219623
219702
  width: page.size?.w ?? layout.pageSize.w,
219624
219703
  height: page.size?.h ?? layout.pageSize.h,
219625
- items: []
219704
+ items: page.fragments.map((fragment2, fragmentIndex) => resolveFragmentItem(fragment2, fragmentIndex, pageIndex, blockMap))
219626
219705
  }));
219627
219706
  return {
219628
219707
  version: 1,
@@ -254892,7 +254971,7 @@ var Node$13 = class Node$14 {
254892
254971
  return;
254893
254972
  console.log(...args$1);
254894
254973
  }, 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;
254895
- var init_src_9QyvRUxO_es = __esm(() => {
254974
+ var init_src_CqUAwJtN_es = __esm(() => {
254896
254975
  init_rolldown_runtime_B2q5OVn9_es();
254897
254976
  init_SuperConverter_B9oNf3OB_es();
254898
254977
  init_jszip_ChlR43oI_es();
@@ -273553,6 +273632,16 @@ function print() { __p += __j.call(arguments, '') }
273553
273632
  setResolvedLayout(resolvedLayout) {
273554
273633
  this.resolvedLayout = resolvedLayout;
273555
273634
  }
273635
+ getResolvedPage(pageIndex) {
273636
+ return this.resolvedLayout?.pages[pageIndex] ?? null;
273637
+ }
273638
+ getResolvedFragmentItem(pageIndex, fragmentIndex) {
273639
+ const page = this.getResolvedPage(pageIndex);
273640
+ if (!page)
273641
+ return;
273642
+ const item = page.items[fragmentIndex];
273643
+ return item?.kind === "fragment" ? item : undefined;
273644
+ }
273556
273645
  getPaintSnapshot() {
273557
273646
  return this.lastPaintSnapshot;
273558
273647
  }
@@ -273865,7 +273954,9 @@ function print() { __p += __j.call(arguments, '') }
273865
273954
  if (!this.currentLayout)
273866
273955
  return;
273867
273956
  if (this.currentLayout.pages.length !== this.virtualHeights.length)
273868
- this.virtualHeights = this.currentLayout.pages.map((p$12) => p$12.size?.h ?? this.currentLayout.pageSize.h);
273957
+ this.virtualHeights = this.currentLayout.pages.map((p$12, i4) => {
273958
+ return this.getResolvedPage(i4)?.height ?? p$12.size?.h ?? this.currentLayout.pageSize.h;
273959
+ });
273869
273960
  const offsets = new Array(this.virtualHeights.length + 1);
273870
273961
  offsets[0] = 0;
273871
273962
  for (let i4 = 0;i4 < this.virtualHeights.length; i4 += 1)
@@ -273975,7 +274066,11 @@ function print() { __p += __j.call(arguments, '') }
273975
274066
  }
273976
274067
  for (const i4 of mounted) {
273977
274068
  const page = layout.pages[i4];
273978
- const pageSize = page.size ?? layout.pageSize;
274069
+ const resolved = this.getResolvedPage(i4);
274070
+ const pageSize = resolved ? {
274071
+ w: resolved.width,
274072
+ h: resolved.height
274073
+ } : page.size ?? layout.pageSize;
273979
274074
  const existing = this.pageIndexToState.get(i4);
273980
274075
  if (!existing) {
273981
274076
  const newState = this.createPageState(page, pageSize, i4);
@@ -274052,7 +274147,11 @@ function print() { __p += __j.call(arguments, '') }
274052
274147
  return;
274053
274148
  mount.innerHTML = "";
274054
274149
  layout.pages.forEach((page, pageIndex) => {
274055
- const pageSize = page.size ?? layout.pageSize;
274150
+ const resolved = this.getResolvedPage(pageIndex);
274151
+ const pageSize = resolved ? {
274152
+ w: resolved.width,
274153
+ h: resolved.height
274154
+ } : page.size ?? layout.pageSize;
274056
274155
  const pageEl = this.renderPage(pageSize.w, pageSize.h, page, pageIndex);
274057
274156
  mount.appendChild(pageEl);
274058
274157
  });
@@ -274064,7 +274163,11 @@ function print() { __p += __j.call(arguments, '') }
274064
274163
  const pages = layout.pages;
274065
274164
  if (pages.length === 0)
274066
274165
  return;
274067
- const firstPageSize = pages[0].size ?? layout.pageSize;
274166
+ const firstResolved = this.getResolvedPage(0);
274167
+ const firstPageSize = firstResolved ? {
274168
+ w: firstResolved.width,
274169
+ h: firstResolved.height
274170
+ } : pages[0].size ?? layout.pageSize;
274068
274171
  const firstPageEl = this.renderPage(firstPageSize.w, firstPageSize.h, pages[0], 0);
274069
274172
  mount.appendChild(firstPageEl);
274070
274173
  for (let i4 = 1;i4 < pages.length; i4 += 2) {
@@ -274072,12 +274175,20 @@ function print() { __p += __j.call(arguments, '') }
274072
274175
  spreadEl.classList.add(CLASS_NAMES$1.spread);
274073
274176
  applyStyles(spreadEl, spreadStyles);
274074
274177
  const leftPage = pages[i4];
274075
- const leftPageSize = leftPage.size ?? layout.pageSize;
274178
+ const leftResolved = this.getResolvedPage(i4);
274179
+ const leftPageSize = leftResolved ? {
274180
+ w: leftResolved.width,
274181
+ h: leftResolved.height
274182
+ } : leftPage.size ?? layout.pageSize;
274076
274183
  const leftPageEl = this.renderPage(leftPageSize.w, leftPageSize.h, leftPage, i4);
274077
274184
  spreadEl.appendChild(leftPageEl);
274078
274185
  if (i4 + 1 < pages.length) {
274079
274186
  const rightPage = pages[i4 + 1];
274080
- const rightPageSize = rightPage.size ?? layout.pageSize;
274187
+ const rightResolved = this.getResolvedPage(i4 + 1);
274188
+ const rightPageSize = rightResolved ? {
274189
+ w: rightResolved.width,
274190
+ h: rightResolved.height
274191
+ } : rightPage.size ?? layout.pageSize;
274081
274192
  const rightPageEl = this.renderPage(rightPageSize.w, rightPageSize.h, rightPage, i4 + 1);
274082
274193
  spreadEl.appendChild(rightPageEl);
274083
274194
  }
@@ -274110,7 +274221,8 @@ function print() { __p += __j.call(arguments, '') }
274110
274221
  const betweenBorderFlags = computeBetweenBorderFlags(page.fragments, this.blockLookup);
274111
274222
  page.fragments.forEach((fragment2, index2) => {
274112
274223
  const sdtBoundary = sdtBoundaries.get(index2);
274113
- el.appendChild(this.renderFragment(fragment2, contextBase, sdtBoundary, betweenBorderFlags.get(index2)));
274224
+ const resolvedItem = this.getResolvedFragmentItem(pageIndex, index2);
274225
+ el.appendChild(this.renderFragment(fragment2, contextBase, sdtBoundary, betweenBorderFlags.get(index2), resolvedItem));
274114
274226
  });
274115
274227
  this.renderDecorationsForPage(el, page, pageIndex);
274116
274228
  return el;
@@ -274331,7 +274443,11 @@ function print() { __p += __j.call(arguments, '') }
274331
274443
  this.mount.innerHTML = "";
274332
274444
  this.pageStates = [];
274333
274445
  layout.pages.forEach((page, pageIndex) => {
274334
- const pageSize = page.size ?? layout.pageSize;
274446
+ const resolved = this.getResolvedPage(pageIndex);
274447
+ const pageSize = resolved ? {
274448
+ w: resolved.width,
274449
+ h: resolved.height
274450
+ } : page.size ?? layout.pageSize;
274335
274451
  const pageState = this.createPageState(page, pageSize, pageIndex);
274336
274452
  pageState.element.dataset.pageNumber = String(page.number);
274337
274453
  pageState.element.dataset.pageIndex = String(pageIndex);
@@ -274344,7 +274460,11 @@ function print() { __p += __j.call(arguments, '') }
274344
274460
  return;
274345
274461
  const nextStates = [];
274346
274462
  layout.pages.forEach((page, index2) => {
274347
- const pageSize = page.size ?? layout.pageSize;
274463
+ const resolved = this.getResolvedPage(index2);
274464
+ const pageSize = resolved ? {
274465
+ w: resolved.width,
274466
+ h: resolved.height
274467
+ } : page.size ?? layout.pageSize;
274348
274468
  const prevState = this.pageStates[index2];
274349
274469
  if (!prevState) {
274350
274470
  const newState = this.createPageState(page, pageSize, index2);
@@ -274384,6 +274504,7 @@ function print() { __p += __j.call(arguments, '') }
274384
274504
  const current = existing.get(key$1);
274385
274505
  const sdtBoundary = sdtBoundaries.get(index2);
274386
274506
  const betweenInfo = betweenBorderFlags.get(index2);
274507
+ const resolvedItem = this.getResolvedFragmentItem(pageIndex, index2);
274387
274508
  if (current) {
274388
274509
  existing.delete(key$1);
274389
274510
  const sdtBoundaryMismatch = shouldRebuildForSdtBoundary(current.element, sdtBoundary);
@@ -274391,13 +274512,13 @@ function print() { __p += __j.call(arguments, '') }
274391
274512
  const newPmStart = fragment2.pmStart;
274392
274513
  const mappingUnreliable = this.currentMapping != null && newPmStart != null && current.element.dataset.pmStart != null && this.currentMapping.map(Number(current.element.dataset.pmStart)) !== newPmStart;
274393
274514
  if (this.changedBlocks.has(fragment2.blockId) || current.signature !== fragmentSignature(fragment2, this.blockLookup) || sdtBoundaryMismatch || betweenBorderMismatch || mappingUnreliable) {
274394
- const replacement = this.renderFragment(fragment2, contextBase, sdtBoundary, betweenInfo);
274515
+ const replacement = this.renderFragment(fragment2, contextBase, sdtBoundary, betweenInfo, resolvedItem);
274395
274516
  pageEl.replaceChild(replacement, current.element);
274396
274517
  current.element = replacement;
274397
274518
  current.signature = fragmentSignature(fragment2, this.blockLookup);
274398
274519
  } else if (this.currentMapping)
274399
274520
  this.updatePositionAttributes(current.element, this.currentMapping);
274400
- this.updateFragmentElement(current.element, fragment2, contextBase.section);
274521
+ this.updateFragmentElement(current.element, fragment2, contextBase.section, resolvedItem);
274401
274522
  if (sdtBoundary?.widthOverride != null)
274402
274523
  current.element.style.width = `${sdtBoundary.widthOverride}px`;
274403
274524
  current.fragment = fragment2;
@@ -274406,7 +274527,7 @@ function print() { __p += __j.call(arguments, '') }
274406
274527
  nextFragments.push(current);
274407
274528
  return;
274408
274529
  }
274409
- const fresh = this.renderFragment(fragment2, contextBase, sdtBoundary, betweenInfo);
274530
+ const fresh = this.renderFragment(fragment2, contextBase, sdtBoundary, betweenInfo, resolvedItem);
274410
274531
  pageEl.insertBefore(fresh, pageEl.children[index2] ?? null);
274411
274532
  nextFragments.push({
274412
274533
  key: key$1,
@@ -274473,7 +274594,8 @@ function print() { __p += __j.call(arguments, '') }
274473
274594
  const betweenBorderFlags = computeBetweenBorderFlags(page.fragments, this.blockLookup);
274474
274595
  const fragmentStates = page.fragments.map((fragment2, index2) => {
274475
274596
  const sdtBoundary = sdtBoundaries.get(index2);
274476
- const fragmentEl = this.renderFragment(fragment2, contextBase, sdtBoundary, betweenBorderFlags.get(index2));
274597
+ const resolvedItem = this.getResolvedFragmentItem(pageIndex, index2);
274598
+ const fragmentEl = this.renderFragment(fragment2, contextBase, sdtBoundary, betweenBorderFlags.get(index2), resolvedItem);
274477
274599
  el.appendChild(fragmentEl);
274478
274600
  return {
274479
274601
  key: fragmentKey(fragment2),
@@ -274514,20 +274636,20 @@ function print() { __p += __j.call(arguments, '') }
274514
274636
  };
274515
274637
  return this.options.pageStyles;
274516
274638
  }
274517
- renderFragment(fragment2, context, sdtBoundary, betweenInfo) {
274639
+ renderFragment(fragment2, context, sdtBoundary, betweenInfo, resolvedItem) {
274518
274640
  if (fragment2.kind === "para")
274519
- return this.renderParagraphFragment(fragment2, context, sdtBoundary, betweenInfo);
274641
+ return this.renderParagraphFragment(fragment2, context, sdtBoundary, betweenInfo, resolvedItem);
274520
274642
  if (fragment2.kind === "list-item")
274521
- return this.renderListItemFragment(fragment2, context, sdtBoundary, betweenInfo);
274643
+ return this.renderListItemFragment(fragment2, context, sdtBoundary, betweenInfo, resolvedItem);
274522
274644
  if (fragment2.kind === "image")
274523
- return this.renderImageFragment(fragment2, context);
274645
+ return this.renderImageFragment(fragment2, context, resolvedItem);
274524
274646
  if (fragment2.kind === "drawing")
274525
- return this.renderDrawingFragment(fragment2, context);
274647
+ return this.renderDrawingFragment(fragment2, context, resolvedItem);
274526
274648
  if (fragment2.kind === "table")
274527
- return this.renderTableFragment(fragment2, context, sdtBoundary);
274649
+ return this.renderTableFragment(fragment2, context, sdtBoundary, resolvedItem);
274528
274650
  throw new Error(`DomPainter: unsupported fragment kind ${fragment2.kind}`);
274529
274651
  }
274530
- renderParagraphFragment(fragment2, context, sdtBoundary, betweenInfo) {
274652
+ renderParagraphFragment(fragment2, context, sdtBoundary, betweenInfo, resolvedItem) {
274531
274653
  try {
274532
274654
  const lookup3 = this.blockLookup.get(fragment2.blockId);
274533
274655
  if (!lookup3 || lookup3.block.kind !== "paragraph" || lookup3.measure.kind !== "paragraph")
@@ -274551,7 +274673,10 @@ function print() { __p += __j.call(arguments, '') }
274551
274673
  ...fragmentStyles,
274552
274674
  overflow: "visible"
274553
274675
  } : fragmentStyles);
274554
- this.applyFragmentFrame(fragmentEl, fragment2, context.section);
274676
+ if (resolvedItem)
274677
+ this.applyResolvedFragmentFrame(fragmentEl, resolvedItem, fragment2, context.section);
274678
+ else
274679
+ this.applyFragmentFrame(fragmentEl, fragment2, context.section);
274555
274680
  if (isTocEntry)
274556
274681
  fragmentEl.classList.add("superdoc-toc-entry");
274557
274682
  if (fragment2.continuesFromPrev)
@@ -274780,7 +274905,7 @@ function print() { __p += __j.call(arguments, '') }
274780
274905
  }
274781
274906
  return dropCapEl;
274782
274907
  }
274783
- renderListItemFragment(fragment2, context, sdtBoundary, betweenInfo) {
274908
+ renderListItemFragment(fragment2, context, sdtBoundary, betweenInfo, resolvedItem) {
274784
274909
  try {
274785
274910
  const lookup3 = this.blockLookup.get(fragment2.blockId);
274786
274911
  if (!lookup3 || lookup3.block.kind !== "list" || lookup3.measure.kind !== "list")
@@ -274796,10 +274921,14 @@ function print() { __p += __j.call(arguments, '') }
274796
274921
  const fragmentEl = this.doc.createElement("div");
274797
274922
  fragmentEl.classList.add(CLASS_NAMES$1.fragment, `${CLASS_NAMES$1.fragment}-list-item`);
274798
274923
  applyStyles(fragmentEl, fragmentStyles);
274799
- fragmentEl.style.left = `${fragment2.x - fragment2.markerWidth}px`;
274800
- fragmentEl.style.top = `${fragment2.y}px`;
274801
- fragmentEl.style.width = `${fragment2.markerWidth + fragment2.width}px`;
274802
- fragmentEl.dataset.blockId = fragment2.blockId;
274924
+ if (resolvedItem)
274925
+ this.applyResolvedListItemWrapperFrame(fragmentEl, fragment2, resolvedItem, context.section);
274926
+ else {
274927
+ fragmentEl.style.left = `${fragment2.x - fragment2.markerWidth}px`;
274928
+ fragmentEl.style.top = `${fragment2.y}px`;
274929
+ fragmentEl.style.width = `${fragment2.markerWidth + fragment2.width}px`;
274930
+ fragmentEl.dataset.blockId = fragment2.blockId;
274931
+ }
274803
274932
  fragmentEl.dataset.itemId = fragment2.itemId;
274804
274933
  const paragraphMetadata = item.paragraph.attrs?.sdt;
274805
274934
  this.applySdtDataset(fragmentEl, paragraphMetadata);
@@ -274878,7 +275007,7 @@ function print() { __p += __j.call(arguments, '') }
274878
275007
  return this.createErrorPlaceholder(fragment2.blockId, error3);
274879
275008
  }
274880
275009
  }
274881
- renderImageFragment(fragment2, context) {
275010
+ renderImageFragment(fragment2, context, resolvedItem) {
274882
275011
  try {
274883
275012
  const lookup3 = this.blockLookup.get(fragment2.blockId);
274884
275013
  if (!lookup3 || lookup3.block.kind !== "image" || lookup3.measure.kind !== "image")
@@ -274889,12 +275018,15 @@ function print() { __p += __j.call(arguments, '') }
274889
275018
  const fragmentEl = this.doc.createElement("div");
274890
275019
  fragmentEl.classList.add(CLASS_NAMES$1.fragment, DOM_CLASS_NAMES.IMAGE_FRAGMENT);
274891
275020
  applyStyles(fragmentEl, fragmentStyles);
274892
- this.applyFragmentFrame(fragmentEl, fragment2, context.section);
274893
- fragmentEl.style.height = `${fragment2.height}px`;
275021
+ if (resolvedItem)
275022
+ this.applyResolvedFragmentFrame(fragmentEl, resolvedItem, fragment2, context.section);
275023
+ else {
275024
+ this.applyFragmentFrame(fragmentEl, fragment2, context.section);
275025
+ fragmentEl.style.height = `${fragment2.height}px`;
275026
+ this.applyFragmentWrapperZIndex(fragmentEl, fragment2);
275027
+ }
274894
275028
  this.applySdtDataset(fragmentEl, block.attrs?.sdt);
274895
275029
  this.applyContainerSdtDataset(fragmentEl, block.attrs?.containerSdt);
274896
- if (fragment2.isAnchored && fragment2.zIndex != null)
274897
- fragmentEl.style.zIndex = String(fragment2.zIndex);
274898
275030
  if (block.id)
274899
275031
  fragmentEl.setAttribute("data-sd-block-id", block.id);
274900
275032
  if (fragment2.pmStart != null)
@@ -274947,7 +275079,7 @@ function print() { __p += __j.call(arguments, '') }
274947
275079
  return this.createErrorPlaceholder(fragment2.blockId, error3);
274948
275080
  }
274949
275081
  }
274950
- renderDrawingFragment(fragment2, context) {
275082
+ renderDrawingFragment(fragment2, context, resolvedItem) {
274951
275083
  try {
274952
275084
  const lookup3 = this.blockLookup.get(fragment2.blockId);
274953
275085
  if (!lookup3 || lookup3.block.kind !== "drawing" || lookup3.measure.kind !== "drawing")
@@ -274959,12 +275091,15 @@ function print() { __p += __j.call(arguments, '') }
274959
275091
  const fragmentEl = this.doc.createElement("div");
274960
275092
  fragmentEl.classList.add(CLASS_NAMES$1.fragment, "superdoc-drawing-fragment");
274961
275093
  applyStyles(fragmentEl, fragmentStyles);
274962
- this.applyFragmentFrame(fragmentEl, fragment2, context.section);
274963
- fragmentEl.style.height = `${fragment2.height}px`;
275094
+ if (resolvedItem)
275095
+ this.applyResolvedFragmentFrame(fragmentEl, resolvedItem, fragment2, context.section);
275096
+ else {
275097
+ this.applyFragmentFrame(fragmentEl, fragment2, context.section);
275098
+ fragmentEl.style.height = `${fragment2.height}px`;
275099
+ this.applyFragmentWrapperZIndex(fragmentEl, fragment2);
275100
+ }
274964
275101
  fragmentEl.style.position = "absolute";
274965
275102
  fragmentEl.style.overflow = "hidden";
274966
- if (fragment2.isAnchored && fragment2.zIndex != null)
274967
- fragmentEl.style.zIndex = String(fragment2.zIndex);
274968
275103
  const innerWrapper = this.doc.createElement("div");
274969
275104
  innerWrapper.classList.add("superdoc-drawing-inner");
274970
275105
  innerWrapper.style.position = "absolute";
@@ -275504,11 +275639,11 @@ function print() { __p += __j.call(arguments, '') }
275504
275639
  createChartElement(block) {
275505
275640
  return createChartElement(this.doc, block.chartData, block.geometry);
275506
275641
  }
275507
- renderTableFragment(fragment2, context, sdtBoundary) {
275642
+ renderTableFragment(fragment2, context, sdtBoundary, resolvedItem) {
275508
275643
  if (!this.doc)
275509
275644
  throw new Error("DomPainter: document is not available");
275510
- const applyFragmentFrameWithSection = (el, frag) => {
275511
- this.applyFragmentFrame(el, frag, context.section);
275645
+ const applyFragmentFrameWithSection = (el$1, frag) => {
275646
+ this.applyFragmentFrame(el$1, frag, context.section);
275512
275647
  };
275513
275648
  const renderLineForTableCell = (block, line, ctx$1, lineIndex, isLastLine, resolvedListTextStartPx) => {
275514
275649
  const paragraphEndsWithLineBreak = (block.runs.length > 0 ? block.runs[block.runs.length - 1] : null)?.kind === "lineBreak";
@@ -275526,7 +275661,7 @@ function print() { __p += __j.call(arguments, '') }
275526
275661
  return this.createChartElement(block);
275527
275662
  return this.createDrawingPlaceholder();
275528
275663
  };
275529
- return renderTableFragment({
275664
+ const el = renderTableFragment({
275530
275665
  doc: this.doc,
275531
275666
  fragment: fragment2,
275532
275667
  context,
@@ -275546,6 +275681,9 @@ function print() { __p += __j.call(arguments, '') }
275546
275681
  applyContainerSdtDataset: this.applyContainerSdtDataset.bind(this),
275547
275682
  applyStyles
275548
275683
  });
275684
+ if (resolvedItem)
275685
+ this.applyResolvedFragmentFrame(el, resolvedItem, fragment2, context.section);
275686
+ return el;
275549
275687
  }
275550
275688
  extractLinkData(run2) {
275551
275689
  if (run2.kind === "tab" || run2.kind === "image" || run2.kind === "lineBreak" || run2.kind === "math")
@@ -276633,12 +276771,20 @@ function print() { __p += __j.call(arguments, '') }
276633
276771
  if (this.activeCommentId && meta2.id === this.activeCommentId)
276634
276772
  elem.classList.add(TRACK_CHANGE_FOCUSED_CLASS);
276635
276773
  }
276636
- updateFragmentElement(el, fragment2, section) {
276637
- this.applyFragmentFrame(el, fragment2, section);
276638
- if (fragment2.kind === "image")
276639
- el.style.height = `${fragment2.height}px`;
276640
- if (fragment2.kind === "drawing")
276641
- el.style.height = `${fragment2.height}px`;
276774
+ updateFragmentElement(el, fragment2, section, resolvedItem) {
276775
+ if (fragment2.kind === "list-item" && resolvedItem) {
276776
+ this.applyResolvedListItemWrapperFrame(el, fragment2, resolvedItem, section);
276777
+ return;
276778
+ }
276779
+ if (resolvedItem)
276780
+ this.applyResolvedFragmentFrame(el, resolvedItem, fragment2, section);
276781
+ else {
276782
+ this.applyFragmentFrame(el, fragment2, section);
276783
+ if (fragment2.kind === "image" || fragment2.kind === "drawing") {
276784
+ el.style.height = `${fragment2.height}px`;
276785
+ this.applyFragmentWrapperZIndex(el, fragment2);
276786
+ }
276787
+ }
276642
276788
  }
276643
276789
  applyFragmentFrame(el, fragment2, section) {
276644
276790
  el.style.left = `${fragment2.x}px`;
@@ -276669,6 +276815,58 @@ function print() { __p += __j.call(arguments, '') }
276669
276815
  delete el.dataset.continuesOnNext;
276670
276816
  }
276671
276817
  }
276818
+ applyFragmentPmAttributes(el, fragment2, section) {
276819
+ if (typeof fragment2.blockId === "string" && fragment2.blockId.startsWith("footnote-"))
276820
+ el.setAttribute("contenteditable", "false");
276821
+ if (fragment2.kind === "para") {
276822
+ if (section === "body" || section === undefined)
276823
+ assertFragmentPmPositions(fragment2, "paragraph fragment");
276824
+ if (fragment2.pmStart != null)
276825
+ el.dataset.pmStart = String(fragment2.pmStart);
276826
+ else
276827
+ delete el.dataset.pmStart;
276828
+ if (fragment2.pmEnd != null)
276829
+ el.dataset.pmEnd = String(fragment2.pmEnd);
276830
+ else
276831
+ delete el.dataset.pmEnd;
276832
+ if (fragment2.continuesFromPrev)
276833
+ el.dataset.continuesFromPrev = "true";
276834
+ else
276835
+ delete el.dataset.continuesFromPrev;
276836
+ if (fragment2.continuesOnNext)
276837
+ el.dataset.continuesOnNext = "true";
276838
+ else
276839
+ delete el.dataset.continuesOnNext;
276840
+ }
276841
+ }
276842
+ isAnchoredMediaFragment(fragment2) {
276843
+ return (fragment2.kind === "image" || fragment2.kind === "drawing") && fragment2.isAnchored === true;
276844
+ }
276845
+ resolveFragmentWrapperZIndex(fragment2, resolvedZIndex) {
276846
+ if (!this.isAnchoredMediaFragment(fragment2))
276847
+ return "";
276848
+ const zIndex = resolvedZIndex ?? fragment2.zIndex;
276849
+ return zIndex != null ? String(zIndex) : "";
276850
+ }
276851
+ applyFragmentWrapperZIndex(el, fragment2, resolvedZIndex) {
276852
+ el.style.zIndex = this.resolveFragmentWrapperZIndex(fragment2, resolvedZIndex);
276853
+ }
276854
+ applyResolvedFragmentFrame(el, item, fragment2, section) {
276855
+ el.style.left = `${item.x}px`;
276856
+ el.style.top = `${item.y}px`;
276857
+ el.style.width = `${item.width}px`;
276858
+ el.dataset.blockId = item.blockId;
276859
+ el.dataset.layoutEpoch = String(this.layoutEpoch);
276860
+ this.applyFragmentWrapperZIndex(el, fragment2, item.zIndex);
276861
+ if (item.fragmentKind === "image" || item.fragmentKind === "drawing" || item.fragmentKind === "table")
276862
+ el.style.height = `${item.height}px`;
276863
+ this.applyFragmentPmAttributes(el, fragment2, section);
276864
+ }
276865
+ applyResolvedListItemWrapperFrame(el, fragment2, item, section) {
276866
+ this.applyResolvedFragmentFrame(el, item, fragment2, section);
276867
+ el.style.left = `${item.x - fragment2.markerWidth}px`;
276868
+ el.style.width = `${item.width + fragment2.markerWidth}px`;
276869
+ }
276672
276870
  estimateFragmentHeight(fragment2) {
276673
276871
  const measure = this.blockLookup.get(fragment2.blockId)?.measure;
276674
276872
  if (fragment2.kind === "para" && measure?.kind === "paragraph")
@@ -287449,7 +287647,9 @@ function print() { __p += __j.call(arguments, '') }
287449
287647
  layout.layoutEpoch = layoutEpoch;
287450
287648
  resolvedLayout = resolveLayout({
287451
287649
  layout,
287452
- flowMode: this.#layoutOptions.flowMode ?? "paginated"
287650
+ flowMode: this.#layoutOptions.flowMode ?? "paginated",
287651
+ blocks: blocksForLayout,
287652
+ measures
287453
287653
  });
287454
287654
  headerLayouts = result.headers;
287455
287655
  footerLayouts = result.footers;
@@ -289116,7 +289316,7 @@ var init_zipper_YmNpPIyc_es = __esm(() => {
289116
289316
 
289117
289317
  // ../../packages/superdoc/dist/super-editor.es.js
289118
289318
  var init_super_editor_es = __esm(() => {
289119
- init_src_9QyvRUxO_es();
289319
+ init_src_CqUAwJtN_es();
289120
289320
  init_SuperConverter_B9oNf3OB_es();
289121
289321
  init_jszip_ChlR43oI_es();
289122
289322
  init_xml_js_40FWvL78_es();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superdoc-dev/cli",
3
- "version": "0.5.0-next.27",
3
+ "version": "0.5.0-next.28",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "superdoc": "./dist/index.js"
@@ -26,19 +26,19 @@
26
26
  "typescript": "^5.9.2",
27
27
  "@superdoc/document-api": "0.0.1",
28
28
  "@superdoc/pm-adapter": "0.0.0",
29
- "@superdoc/super-editor": "0.0.1",
30
- "superdoc": "1.23.0"
29
+ "superdoc": "1.23.0",
30
+ "@superdoc/super-editor": "0.0.1"
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.5.0-next.27",
38
- "@superdoc-dev/cli-darwin-x64": "0.5.0-next.27",
39
- "@superdoc-dev/cli-linux-x64": "0.5.0-next.27",
40
- "@superdoc-dev/cli-windows-x64": "0.5.0-next.27",
41
- "@superdoc-dev/cli-linux-arm64": "0.5.0-next.27"
37
+ "@superdoc-dev/cli-darwin-arm64": "0.5.0-next.28",
38
+ "@superdoc-dev/cli-darwin-x64": "0.5.0-next.28",
39
+ "@superdoc-dev/cli-linux-x64": "0.5.0-next.28",
40
+ "@superdoc-dev/cli-linux-arm64": "0.5.0-next.28",
41
+ "@superdoc-dev/cli-windows-x64": "0.5.0-next.28"
42
42
  },
43
43
  "scripts": {
44
44
  "predev": "node scripts/ensure-superdoc-build.js",