@pixldocs/canvas-renderer 0.5.228 → 0.5.230

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.
@@ -9800,6 +9800,7 @@ const PageCanvas = forwardRef(
9800
9800
  });
9801
9801
  const isEditorMode = mode === "editor";
9802
9802
  const isPreviewMode = mode === "preview";
9803
+ const isExportMode = mode === "export";
9803
9804
  const allowEditing = isEditorMode;
9804
9805
  const allowSelection = isEditorMode;
9805
9806
  const allowDynamicFieldClick = isPreviewMode && dynamicFieldIds.length > 0;
@@ -13388,6 +13389,7 @@ const PageCanvas = forwardRef(
13388
13389
  onReady == null ? void 0 : onReady();
13389
13390
  };
13390
13391
  const runReflowAndPersist = () => {
13392
+ var _a2;
13391
13393
  const fc = fabricRef.current;
13392
13394
  if (!fc || cancelled) return;
13393
13395
  clearFontCacheAndRerender(fc, { clearGlobalCharCache: !preserveGlobalFontCache });
@@ -13419,6 +13421,32 @@ const PageCanvas = forwardRef(
13419
13421
  }
13420
13422
  });
13421
13423
  }
13424
+ try {
13425
+ if ((isPreviewMode || isExportMode) && doSyncRef.current) {
13426
+ doSyncRef.current();
13427
+ }
13428
+ const repositionTree = isPreviewMode && (pageChildren == null ? void 0 : pageChildren.length) ? pageChildren ?? [] : ((_a2 = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _a2.children) ?? [];
13429
+ if (repositionTree.length) {
13430
+ fc.getObjects().forEach((obj) => {
13431
+ const id = getObjectId(obj);
13432
+ if (!id) return;
13433
+ const node = findNodeById(repositionTree, id);
13434
+ if (!node) return;
13435
+ const abs = getAbsoluteBounds(node, repositionTree, pageBoundsOptions);
13436
+ const targetLeft = obj.originX === "center" ? abs.left + abs.width / 2 : obj.originX === "right" ? abs.left + abs.width : abs.left;
13437
+ const targetTop = obj.originY === "center" ? abs.top + abs.height / 2 : obj.originY === "bottom" ? abs.top + abs.height : abs.top;
13438
+ const curLeft = obj.left ?? 0;
13439
+ const curTop = obj.top ?? 0;
13440
+ if (Math.abs(curLeft - targetLeft) > 0.1 || Math.abs(curTop - targetTop) > 0.1) {
13441
+ obj.set({ left: targetLeft, top: targetTop });
13442
+ obj.setCoords();
13443
+ }
13444
+ });
13445
+ fc.requestRenderAll();
13446
+ }
13447
+ } catch (e) {
13448
+ console.warn("[PageCanvas] post-ready reposition failed:", e);
13449
+ }
13422
13450
  };
13423
13451
  const raf1 = requestAnimationFrame(() => {
13424
13452
  requestAnimationFrame(() => {
@@ -20976,9 +21004,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
20976
21004
  }
20977
21005
  return svgString;
20978
21006
  }
20979
- const resolvedPackageVersion = "0.5.228";
21007
+ const resolvedPackageVersion = "0.5.230";
20980
21008
  const PACKAGE_VERSION = resolvedPackageVersion;
20981
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.228";
21009
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.230";
20982
21010
  const roundParityValue = (value) => {
20983
21011
  if (typeof value !== "number") return value;
20984
21012
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -21722,7 +21750,7 @@ class PixldocsRenderer {
21722
21750
  await this.waitForCanvasScene(container, cloned, i);
21723
21751
  }
21724
21752
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
21725
- const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-ML6uMWI9.js");
21753
+ const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-Bmd1La7S.js");
21726
21754
  const prepared = preparePagesForExport(
21727
21755
  cloned.pages,
21728
21756
  canvasWidth,
@@ -24042,7 +24070,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
24042
24070
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
24043
24071
  sanitizeSvgTreeForPdf(svgToDraw);
24044
24072
  try {
24045
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-ML6uMWI9.js");
24073
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-Bmd1La7S.js");
24046
24074
  try {
24047
24075
  await logTextMeasurementDiagnostic(svgToDraw);
24048
24076
  } catch {
@@ -24441,4 +24469,4 @@ export {
24441
24469
  buildTeaserBlurFlatKeys as y,
24442
24470
  collectFontDescriptorsFromConfig as z
24443
24471
  };
24444
- //# sourceMappingURL=index-CWohigoG.js.map
24472
+ //# sourceMappingURL=index-BagYpNB5.js.map