@pixldocs/canvas-renderer 0.5.347 → 0.5.348

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.
@@ -11366,11 +11366,17 @@ const PageCanvas = react.forwardRef(
11366
11366
  delete selection.__pixldocsLogicalGroupIds;
11367
11367
  selection.hasBorders = true;
11368
11368
  try {
11369
+ const membersBeforeFrame = selection.getObjects();
11370
+ const selectionMatrixBefore = selection.calcTransformMatrix();
11371
+ const memberWorldMatrices = membersBeforeFrame.map((member) => fabric__namespace.util.multiplyTransformMatrices(
11372
+ selectionMatrixBefore,
11373
+ member.calcOwnMatrix()
11374
+ ));
11369
11375
  const pageChildren2 = ((_a2 = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _a2.children) ?? [];
11370
11376
  const groupNode = findNodeById(pageChildren2, groupId);
11371
11377
  const groupAngle = groupNode && isGroup(groupNode) ? Number(groupNode.angle ?? 0) : 0;
11372
11378
  const groupAbs = groupNode && isGroup(groupNode) ? getAbsoluteBounds(groupNode, pageChildren2) : null;
11373
- if (Number.isFinite(groupAngle) && Math.abs(groupAngle) > 0.01) {
11379
+ if (Number.isFinite(groupAngle)) {
11374
11380
  selection.set({ angle: groupAngle, scaleX: 1, scaleY: 1, skewX: 0, skewY: 0 });
11375
11381
  if (groupAbs) {
11376
11382
  selection.setPositionByOrigin(
@@ -11379,6 +11385,18 @@ const PageCanvas = react.forwardRef(
11379
11385
  "center"
11380
11386
  );
11381
11387
  }
11388
+ const invSelectionAfter = fabric__namespace.util.invertTransform(
11389
+ selection.calcTransformMatrix()
11390
+ );
11391
+ membersBeforeFrame.forEach((member, index) => {
11392
+ const localMatrix = fabric__namespace.util.multiplyTransformMatrices(
11393
+ invSelectionAfter,
11394
+ memberWorldMatrices[index]
11395
+ );
11396
+ fabric__namespace.util.applyTransformToObject(member, localMatrix);
11397
+ member.setCoords();
11398
+ member.dirty = true;
11399
+ });
11382
11400
  selection.setCoords();
11383
11401
  }
11384
11402
  } catch {
@@ -15535,9 +15553,13 @@ const PageCanvas = react.forwardRef(
15535
15553
  skewX: isLineObj ? 0 : finalSkewX,
15536
15554
  skewY: isLineObj ? 0 : finalSkewY,
15537
15555
  scaleX: finalScaleX,
15538
- scaleY: finalScaleY,
15539
- transformMatrix: finalAbsoluteMatrix
15556
+ scaleY: finalScaleY
15540
15557
  };
15558
+ if (!isLogicalGroupAS) {
15559
+ elementUpdate.transformMatrix = finalAbsoluteMatrix;
15560
+ } else {
15561
+ elementUpdate.transformMatrix = void 0;
15562
+ }
15541
15563
  if (obj instanceof fabric__namespace.Textbox) {
15542
15564
  const bakedTextScaleUpdates = obj.__pixldocsBakedTextScaleUpdates;
15543
15565
  if (bakedTextScaleUpdates && typeof bakedTextScaleUpdates === "object") {
@@ -24737,9 +24759,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
24737
24759
  }
24738
24760
  return svgString;
24739
24761
  }
24740
- const resolvedPackageVersion = "0.5.347";
24762
+ const resolvedPackageVersion = "0.5.348";
24741
24763
  const PACKAGE_VERSION = resolvedPackageVersion;
24742
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.347";
24764
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.348";
24743
24765
  const roundParityValue = (value) => {
24744
24766
  if (typeof value !== "number") return value;
24745
24767
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -25553,7 +25575,7 @@ class PixldocsRenderer {
25553
25575
  await this.waitForCanvasScene(container, cloned, i);
25554
25576
  }
25555
25577
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
25556
- const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-dKHuR_jl.cjs"));
25578
+ const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-IeTP9Bi1.cjs"));
25557
25579
  const prepared = preparePagesForExport(
25558
25580
  cloned.pages,
25559
25581
  canvasWidth,
@@ -27873,7 +27895,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
27873
27895
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
27874
27896
  sanitizeSvgTreeForPdf(svgToDraw);
27875
27897
  try {
27876
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-dKHuR_jl.cjs"));
27898
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-IeTP9Bi1.cjs"));
27877
27899
  try {
27878
27900
  await logTextMeasurementDiagnostic(svgToDraw);
27879
27901
  } catch {
@@ -28270,4 +28292,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
28270
28292
  exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
28271
28293
  exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
28272
28294
  exports.warmTemplateFromForm = warmTemplateFromForm;
28273
- //# sourceMappingURL=index-ap13xnH3.cjs.map
28295
+ //# sourceMappingURL=index-CaQvuDpL.cjs.map