@pixldocs/canvas-renderer 0.5.353 → 0.5.354

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.
@@ -13294,6 +13294,30 @@ const PageCanvas = forwardRef(
13294
13294
  });
13295
13295
  };
13296
13296
  fabricCanvas.__updateDrilledGroupOutline = updateDrilledGroupOutline;
13297
+ const isPointerOnSelectionControl = (selection, event) => {
13298
+ var _a2;
13299
+ try {
13300
+ selection.setCoords();
13301
+ const controls = selection.oCoords ?? ((_a2 = selection.calcOCoords) == null ? void 0 : _a2.call(selection));
13302
+ const el = fabricCanvas.upperCanvasEl ?? fabricCanvas.lowerCanvasEl;
13303
+ const rect = el == null ? void 0 : el.getBoundingClientRect();
13304
+ if (!controls || !rect || !event) return false;
13305
+ const x = Number(event.clientX) - rect.left;
13306
+ const y = Number(event.clientY) - rect.top;
13307
+ return Object.values(controls).some((control) => {
13308
+ const pts = (control == null ? void 0 : control.touchCorner) ?? (control == null ? void 0 : control.corner);
13309
+ const corners = pts ? Object.values(pts) : [];
13310
+ if (!corners.length) return false;
13311
+ const minX = Math.min(...corners.map((p) => p.x)) - 2;
13312
+ const maxX = Math.max(...corners.map((p) => p.x)) + 2;
13313
+ const minY = Math.min(...corners.map((p) => p.y)) - 2;
13314
+ const maxY = Math.max(...corners.map((p) => p.y)) + 2;
13315
+ return x >= minX && x <= maxX && y >= minY && y <= maxY;
13316
+ });
13317
+ } catch {
13318
+ return false;
13319
+ }
13320
+ };
13297
13321
  fabricCanvas.on("mouse:down:before", (opt) => {
13298
13322
  var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
13299
13323
  const activeBeforeMouseDown = fabricCanvas.getActiveObject();
@@ -13317,7 +13341,8 @@ const PageCanvas = forwardRef(
13317
13341
  }
13318
13342
  let target = opt.target;
13319
13343
  let targetId = target ? getObjectId(target) : null;
13320
- if (target instanceof fabric.ActiveSelection && target.__pixldocsGroupSelection && target === fabricCanvas.getActiveObject()) {
13344
+ const pointerOnActiveSelectionControl = activeBeforeMouseDown instanceof fabric.ActiveSelection ? isPointerOnSelectionControl(activeBeforeMouseDown, opt.e) : false;
13345
+ if (target instanceof fabric.ActiveSelection && target.__pixldocsGroupSelection && target === fabricCanvas.getActiveObject() && !target.__corner && !pointerOnActiveSelectionControl) {
13321
13346
  const child = pickChildInActiveSelectionAtPointer(target, opt.e);
13322
13347
  const childId = child ? getObjectId(child) : null;
13323
13348
  if (child && childId) {
@@ -13366,7 +13391,7 @@ const PageCanvas = forwardRef(
13366
13391
  let effectiveTargetId = targetId;
13367
13392
  const activeNowEarly = fabricCanvas.getActiveObject();
13368
13393
  const asGroupId = target instanceof fabric.ActiveSelection ? target.__pixldocsGroupSelection : void 0;
13369
- if (target instanceof fabric.ActiveSelection && asGroupId && target === activeNowEarly) {
13394
+ if (target instanceof fabric.ActiveSelection && asGroupId && target === activeNowEarly && !target.__corner && !pointerOnActiveSelectionControl) {
13370
13395
  const child = pickChildInActiveSelectionAtPointer(target, opt.e);
13371
13396
  const childId = child ? getObjectId(child) : null;
13372
13397
  if (child && childId) {
@@ -17285,6 +17310,7 @@ const PageCanvas = forwardRef(
17285
17310
  const node = findNodeById(currentPageTree, element.id);
17286
17311
  return node && isElement(node) ? getElementFabricPlacement(node, currentPageTree) : { left: element.left ?? 0, top: element.top ?? 0, angle: element.angle ?? 0 };
17287
17312
  })() : { left: element.left ?? 0, top: element.top ?? 0, angle: element.angle ?? 0 };
17313
+ const fabricAngle = fabricPos.angle ?? element.angle ?? 0;
17288
17314
  const resolvedSize = currentPageTree.length > 0 ? getNodeBounds(element, currentPageTree) : { width: typeof element.width === "number" ? element.width : 200, height: typeof element.height === "number" ? element.height : 50 };
17289
17315
  const shouldPreserveSmallSize = typeof element.width === "number" && Number.isFinite(element.width) && element.width > 0 && typeof element.height === "number" && Number.isFinite(element.height) && element.height > 0;
17290
17316
  const minVisible = shouldPreserveSmallSize ? 1 : 20;
@@ -17541,7 +17567,7 @@ const PageCanvas = forwardRef(
17541
17567
  y1: 0,
17542
17568
  x2: lineLen,
17543
17569
  y2: 0,
17544
- angle: element.angle ?? 0,
17570
+ angle: fabricAngle,
17545
17571
  scaleX: 1,
17546
17572
  scaleY: 1,
17547
17573
  skewX: 0,
@@ -17571,7 +17597,7 @@ const PageCanvas = forwardRef(
17571
17597
  width: rW,
17572
17598
  scaleX: effectiveScaleX,
17573
17599
  scaleY: effectiveScaleY,
17574
- angle: element.angle ?? 0,
17600
+ angle: fabricAngle,
17575
17601
  skewX: element.skewX ?? 0,
17576
17602
  skewY: appliedSkewY
17577
17603
  });
@@ -17580,7 +17606,7 @@ const PageCanvas = forwardRef(
17580
17606
  ...posIfNotSkipped,
17581
17607
  scaleX: effectiveScaleX,
17582
17608
  scaleY: effectiveScaleY,
17583
- angle: element.angle ?? 0,
17609
+ angle: fabricAngle,
17584
17610
  skewX: element.skewX ?? 0,
17585
17611
  skewY: element.skewY ?? 0
17586
17612
  });
@@ -17591,7 +17617,7 @@ const PageCanvas = forwardRef(
17591
17617
  obj.set({
17592
17618
  ...posIfNotSkipped,
17593
17619
  width: rW,
17594
- angle: element.angle ?? 0,
17620
+ angle: fabricAngle,
17595
17621
  skewX: element.skewX ?? 0,
17596
17622
  skewY: appliedSkewY,
17597
17623
  scaleX: effectiveScaleX * baseScaleX,
@@ -17600,7 +17626,7 @@ const PageCanvas = forwardRef(
17600
17626
  } else {
17601
17627
  obj.set({
17602
17628
  ...posIfNotSkipped,
17603
- angle: element.angle ?? 0,
17629
+ angle: fabricAngle,
17604
17630
  skewX: element.skewX ?? 0,
17605
17631
  skewY: element.skewY ?? 0,
17606
17632
  scaleX: effectiveScaleX * baseScaleX,
@@ -24861,9 +24887,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
24861
24887
  }
24862
24888
  return svgString;
24863
24889
  }
24864
- const resolvedPackageVersion = "0.5.353";
24890
+ const resolvedPackageVersion = "0.5.354";
24865
24891
  const PACKAGE_VERSION = resolvedPackageVersion;
24866
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.353";
24892
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.354";
24867
24893
  const roundParityValue = (value) => {
24868
24894
  if (typeof value !== "number") return value;
24869
24895
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -25677,7 +25703,7 @@ class PixldocsRenderer {
25677
25703
  await this.waitForCanvasScene(container, cloned, i);
25678
25704
  }
25679
25705
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
25680
- const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-BvY4a5sT.js");
25706
+ const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-B54V1hcn.js");
25681
25707
  const prepared = preparePagesForExport(
25682
25708
  cloned.pages,
25683
25709
  canvasWidth,
@@ -27997,7 +28023,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
27997
28023
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
27998
28024
  sanitizeSvgTreeForPdf(svgToDraw);
27999
28025
  try {
28000
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-BvY4a5sT.js");
28026
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-B54V1hcn.js");
28001
28027
  try {
28002
28028
  await logTextMeasurementDiagnostic(svgToDraw);
28003
28029
  } catch {
@@ -28397,4 +28423,4 @@ export {
28397
28423
  buildTeaserBlurFlatKeys as y,
28398
28424
  collectFontDescriptorsFromConfig as z
28399
28425
  };
28400
- //# sourceMappingURL=index-C32C3XZP.js.map
28426
+ //# sourceMappingURL=index-yEgXeiie.js.map