@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.
@@ -9818,6 +9818,7 @@ const PageCanvas = react.forwardRef(
9818
9818
  });
9819
9819
  const isEditorMode = mode === "editor";
9820
9820
  const isPreviewMode = mode === "preview";
9821
+ const isExportMode = mode === "export";
9821
9822
  const allowEditing = isEditorMode;
9822
9823
  const allowSelection = isEditorMode;
9823
9824
  const allowDynamicFieldClick = isPreviewMode && dynamicFieldIds.length > 0;
@@ -13406,6 +13407,7 @@ const PageCanvas = react.forwardRef(
13406
13407
  onReady == null ? void 0 : onReady();
13407
13408
  };
13408
13409
  const runReflowAndPersist = () => {
13410
+ var _a2;
13409
13411
  const fc = fabricRef.current;
13410
13412
  if (!fc || cancelled) return;
13411
13413
  clearFontCacheAndRerender(fc, { clearGlobalCharCache: !preserveGlobalFontCache });
@@ -13437,6 +13439,32 @@ const PageCanvas = react.forwardRef(
13437
13439
  }
13438
13440
  });
13439
13441
  }
13442
+ try {
13443
+ if ((isPreviewMode || isExportMode) && doSyncRef.current) {
13444
+ doSyncRef.current();
13445
+ }
13446
+ 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) ?? [];
13447
+ if (repositionTree.length) {
13448
+ fc.getObjects().forEach((obj) => {
13449
+ const id = getObjectId(obj);
13450
+ if (!id) return;
13451
+ const node = findNodeById(repositionTree, id);
13452
+ if (!node) return;
13453
+ const abs = getAbsoluteBounds(node, repositionTree, pageBoundsOptions);
13454
+ const targetLeft = obj.originX === "center" ? abs.left + abs.width / 2 : obj.originX === "right" ? abs.left + abs.width : abs.left;
13455
+ const targetTop = obj.originY === "center" ? abs.top + abs.height / 2 : obj.originY === "bottom" ? abs.top + abs.height : abs.top;
13456
+ const curLeft = obj.left ?? 0;
13457
+ const curTop = obj.top ?? 0;
13458
+ if (Math.abs(curLeft - targetLeft) > 0.1 || Math.abs(curTop - targetTop) > 0.1) {
13459
+ obj.set({ left: targetLeft, top: targetTop });
13460
+ obj.setCoords();
13461
+ }
13462
+ });
13463
+ fc.requestRenderAll();
13464
+ }
13465
+ } catch (e) {
13466
+ console.warn("[PageCanvas] post-ready reposition failed:", e);
13467
+ }
13440
13468
  };
13441
13469
  const raf1 = requestAnimationFrame(() => {
13442
13470
  requestAnimationFrame(() => {
@@ -20994,9 +21022,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
20994
21022
  }
20995
21023
  return svgString;
20996
21024
  }
20997
- const resolvedPackageVersion = "0.5.228";
21025
+ const resolvedPackageVersion = "0.5.230";
20998
21026
  const PACKAGE_VERSION = resolvedPackageVersion;
20999
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.228";
21027
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.230";
21000
21028
  const roundParityValue = (value) => {
21001
21029
  if (typeof value !== "number") return value;
21002
21030
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -21740,7 +21768,7 @@ class PixldocsRenderer {
21740
21768
  await this.waitForCanvasScene(container, cloned, i);
21741
21769
  }
21742
21770
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
21743
- const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-BbhHOBYl.cjs"));
21771
+ const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-DKKc9K-b.cjs"));
21744
21772
  const prepared = preparePagesForExport(
21745
21773
  cloned.pages,
21746
21774
  canvasWidth,
@@ -24060,7 +24088,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
24060
24088
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
24061
24089
  sanitizeSvgTreeForPdf(svgToDraw);
24062
24090
  try {
24063
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-BbhHOBYl.cjs"));
24091
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-DKKc9K-b.cjs"));
24064
24092
  try {
24065
24093
  await logTextMeasurementDiagnostic(svgToDraw);
24066
24094
  } catch {
@@ -24456,4 +24484,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
24456
24484
  exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
24457
24485
  exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
24458
24486
  exports.warmTemplateFromForm = warmTemplateFromForm;
24459
- //# sourceMappingURL=index-BweNRyRP.cjs.map
24487
+ //# sourceMappingURL=index-D_6iVwwl.cjs.map