@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.
@@ -11348,11 +11348,17 @@ const PageCanvas = forwardRef(
11348
11348
  delete selection.__pixldocsLogicalGroupIds;
11349
11349
  selection.hasBorders = true;
11350
11350
  try {
11351
+ const membersBeforeFrame = selection.getObjects();
11352
+ const selectionMatrixBefore = selection.calcTransformMatrix();
11353
+ const memberWorldMatrices = membersBeforeFrame.map((member) => fabric.util.multiplyTransformMatrices(
11354
+ selectionMatrixBefore,
11355
+ member.calcOwnMatrix()
11356
+ ));
11351
11357
  const pageChildren2 = ((_a2 = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _a2.children) ?? [];
11352
11358
  const groupNode = findNodeById(pageChildren2, groupId);
11353
11359
  const groupAngle = groupNode && isGroup(groupNode) ? Number(groupNode.angle ?? 0) : 0;
11354
11360
  const groupAbs = groupNode && isGroup(groupNode) ? getAbsoluteBounds(groupNode, pageChildren2) : null;
11355
- if (Number.isFinite(groupAngle) && Math.abs(groupAngle) > 0.01) {
11361
+ if (Number.isFinite(groupAngle)) {
11356
11362
  selection.set({ angle: groupAngle, scaleX: 1, scaleY: 1, skewX: 0, skewY: 0 });
11357
11363
  if (groupAbs) {
11358
11364
  selection.setPositionByOrigin(
@@ -11361,6 +11367,18 @@ const PageCanvas = forwardRef(
11361
11367
  "center"
11362
11368
  );
11363
11369
  }
11370
+ const invSelectionAfter = fabric.util.invertTransform(
11371
+ selection.calcTransformMatrix()
11372
+ );
11373
+ membersBeforeFrame.forEach((member, index) => {
11374
+ const localMatrix = fabric.util.multiplyTransformMatrices(
11375
+ invSelectionAfter,
11376
+ memberWorldMatrices[index]
11377
+ );
11378
+ fabric.util.applyTransformToObject(member, localMatrix);
11379
+ member.setCoords();
11380
+ member.dirty = true;
11381
+ });
11364
11382
  selection.setCoords();
11365
11383
  }
11366
11384
  } catch {
@@ -15517,9 +15535,13 @@ const PageCanvas = forwardRef(
15517
15535
  skewX: isLineObj ? 0 : finalSkewX,
15518
15536
  skewY: isLineObj ? 0 : finalSkewY,
15519
15537
  scaleX: finalScaleX,
15520
- scaleY: finalScaleY,
15521
- transformMatrix: finalAbsoluteMatrix
15538
+ scaleY: finalScaleY
15522
15539
  };
15540
+ if (!isLogicalGroupAS) {
15541
+ elementUpdate.transformMatrix = finalAbsoluteMatrix;
15542
+ } else {
15543
+ elementUpdate.transformMatrix = void 0;
15544
+ }
15523
15545
  if (obj instanceof fabric.Textbox) {
15524
15546
  const bakedTextScaleUpdates = obj.__pixldocsBakedTextScaleUpdates;
15525
15547
  if (bakedTextScaleUpdates && typeof bakedTextScaleUpdates === "object") {
@@ -24719,9 +24741,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
24719
24741
  }
24720
24742
  return svgString;
24721
24743
  }
24722
- const resolvedPackageVersion = "0.5.347";
24744
+ const resolvedPackageVersion = "0.5.348";
24723
24745
  const PACKAGE_VERSION = resolvedPackageVersion;
24724
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.347";
24746
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.348";
24725
24747
  const roundParityValue = (value) => {
24726
24748
  if (typeof value !== "number") return value;
24727
24749
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -25535,7 +25557,7 @@ class PixldocsRenderer {
25535
25557
  await this.waitForCanvasScene(container, cloned, i);
25536
25558
  }
25537
25559
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
25538
- const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-DVIaYc4_.js");
25560
+ const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-CXxYlE0-.js");
25539
25561
  const prepared = preparePagesForExport(
25540
25562
  cloned.pages,
25541
25563
  canvasWidth,
@@ -27855,7 +27877,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
27855
27877
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
27856
27878
  sanitizeSvgTreeForPdf(svgToDraw);
27857
27879
  try {
27858
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-DVIaYc4_.js");
27880
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-CXxYlE0-.js");
27859
27881
  try {
27860
27882
  await logTextMeasurementDiagnostic(svgToDraw);
27861
27883
  } catch {
@@ -28255,4 +28277,4 @@ export {
28255
28277
  buildTeaserBlurFlatKeys as y,
28256
28278
  collectFontDescriptorsFromConfig as z
28257
28279
  };
28258
- //# sourceMappingURL=index-BV35-LzJ.js.map
28280
+ //# sourceMappingURL=index-BbbkWYa_.js.map