@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.
@@ -13312,6 +13312,30 @@ const PageCanvas = react.forwardRef(
13312
13312
  });
13313
13313
  };
13314
13314
  fabricCanvas.__updateDrilledGroupOutline = updateDrilledGroupOutline;
13315
+ const isPointerOnSelectionControl = (selection, event) => {
13316
+ var _a2;
13317
+ try {
13318
+ selection.setCoords();
13319
+ const controls = selection.oCoords ?? ((_a2 = selection.calcOCoords) == null ? void 0 : _a2.call(selection));
13320
+ const el = fabricCanvas.upperCanvasEl ?? fabricCanvas.lowerCanvasEl;
13321
+ const rect = el == null ? void 0 : el.getBoundingClientRect();
13322
+ if (!controls || !rect || !event) return false;
13323
+ const x = Number(event.clientX) - rect.left;
13324
+ const y = Number(event.clientY) - rect.top;
13325
+ return Object.values(controls).some((control) => {
13326
+ const pts = (control == null ? void 0 : control.touchCorner) ?? (control == null ? void 0 : control.corner);
13327
+ const corners = pts ? Object.values(pts) : [];
13328
+ if (!corners.length) return false;
13329
+ const minX = Math.min(...corners.map((p) => p.x)) - 2;
13330
+ const maxX = Math.max(...corners.map((p) => p.x)) + 2;
13331
+ const minY = Math.min(...corners.map((p) => p.y)) - 2;
13332
+ const maxY = Math.max(...corners.map((p) => p.y)) + 2;
13333
+ return x >= minX && x <= maxX && y >= minY && y <= maxY;
13334
+ });
13335
+ } catch {
13336
+ return false;
13337
+ }
13338
+ };
13315
13339
  fabricCanvas.on("mouse:down:before", (opt) => {
13316
13340
  var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
13317
13341
  const activeBeforeMouseDown = fabricCanvas.getActiveObject();
@@ -13335,7 +13359,8 @@ const PageCanvas = react.forwardRef(
13335
13359
  }
13336
13360
  let target = opt.target;
13337
13361
  let targetId = target ? getObjectId(target) : null;
13338
- if (target instanceof fabric__namespace.ActiveSelection && target.__pixldocsGroupSelection && target === fabricCanvas.getActiveObject()) {
13362
+ const pointerOnActiveSelectionControl = activeBeforeMouseDown instanceof fabric__namespace.ActiveSelection ? isPointerOnSelectionControl(activeBeforeMouseDown, opt.e) : false;
13363
+ if (target instanceof fabric__namespace.ActiveSelection && target.__pixldocsGroupSelection && target === fabricCanvas.getActiveObject() && !target.__corner && !pointerOnActiveSelectionControl) {
13339
13364
  const child = pickChildInActiveSelectionAtPointer(target, opt.e);
13340
13365
  const childId = child ? getObjectId(child) : null;
13341
13366
  if (child && childId) {
@@ -13384,7 +13409,7 @@ const PageCanvas = react.forwardRef(
13384
13409
  let effectiveTargetId = targetId;
13385
13410
  const activeNowEarly = fabricCanvas.getActiveObject();
13386
13411
  const asGroupId = target instanceof fabric__namespace.ActiveSelection ? target.__pixldocsGroupSelection : void 0;
13387
- if (target instanceof fabric__namespace.ActiveSelection && asGroupId && target === activeNowEarly) {
13412
+ if (target instanceof fabric__namespace.ActiveSelection && asGroupId && target === activeNowEarly && !target.__corner && !pointerOnActiveSelectionControl) {
13388
13413
  const child = pickChildInActiveSelectionAtPointer(target, opt.e);
13389
13414
  const childId = child ? getObjectId(child) : null;
13390
13415
  if (child && childId) {
@@ -17303,6 +17328,7 @@ const PageCanvas = react.forwardRef(
17303
17328
  const node = findNodeById(currentPageTree, element.id);
17304
17329
  return node && isElement(node) ? getElementFabricPlacement(node, currentPageTree) : { left: element.left ?? 0, top: element.top ?? 0, angle: element.angle ?? 0 };
17305
17330
  })() : { left: element.left ?? 0, top: element.top ?? 0, angle: element.angle ?? 0 };
17331
+ const fabricAngle = fabricPos.angle ?? element.angle ?? 0;
17306
17332
  const resolvedSize = currentPageTree.length > 0 ? getNodeBounds(element, currentPageTree) : { width: typeof element.width === "number" ? element.width : 200, height: typeof element.height === "number" ? element.height : 50 };
17307
17333
  const shouldPreserveSmallSize = typeof element.width === "number" && Number.isFinite(element.width) && element.width > 0 && typeof element.height === "number" && Number.isFinite(element.height) && element.height > 0;
17308
17334
  const minVisible = shouldPreserveSmallSize ? 1 : 20;
@@ -17559,7 +17585,7 @@ const PageCanvas = react.forwardRef(
17559
17585
  y1: 0,
17560
17586
  x2: lineLen,
17561
17587
  y2: 0,
17562
- angle: element.angle ?? 0,
17588
+ angle: fabricAngle,
17563
17589
  scaleX: 1,
17564
17590
  scaleY: 1,
17565
17591
  skewX: 0,
@@ -17589,7 +17615,7 @@ const PageCanvas = react.forwardRef(
17589
17615
  width: rW,
17590
17616
  scaleX: effectiveScaleX,
17591
17617
  scaleY: effectiveScaleY,
17592
- angle: element.angle ?? 0,
17618
+ angle: fabricAngle,
17593
17619
  skewX: element.skewX ?? 0,
17594
17620
  skewY: appliedSkewY
17595
17621
  });
@@ -17598,7 +17624,7 @@ const PageCanvas = react.forwardRef(
17598
17624
  ...posIfNotSkipped,
17599
17625
  scaleX: effectiveScaleX,
17600
17626
  scaleY: effectiveScaleY,
17601
- angle: element.angle ?? 0,
17627
+ angle: fabricAngle,
17602
17628
  skewX: element.skewX ?? 0,
17603
17629
  skewY: element.skewY ?? 0
17604
17630
  });
@@ -17609,7 +17635,7 @@ const PageCanvas = react.forwardRef(
17609
17635
  obj.set({
17610
17636
  ...posIfNotSkipped,
17611
17637
  width: rW,
17612
- angle: element.angle ?? 0,
17638
+ angle: fabricAngle,
17613
17639
  skewX: element.skewX ?? 0,
17614
17640
  skewY: appliedSkewY,
17615
17641
  scaleX: effectiveScaleX * baseScaleX,
@@ -17618,7 +17644,7 @@ const PageCanvas = react.forwardRef(
17618
17644
  } else {
17619
17645
  obj.set({
17620
17646
  ...posIfNotSkipped,
17621
- angle: element.angle ?? 0,
17647
+ angle: fabricAngle,
17622
17648
  skewX: element.skewX ?? 0,
17623
17649
  skewY: element.skewY ?? 0,
17624
17650
  scaleX: effectiveScaleX * baseScaleX,
@@ -24879,9 +24905,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
24879
24905
  }
24880
24906
  return svgString;
24881
24907
  }
24882
- const resolvedPackageVersion = "0.5.353";
24908
+ const resolvedPackageVersion = "0.5.354";
24883
24909
  const PACKAGE_VERSION = resolvedPackageVersion;
24884
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.353";
24910
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.354";
24885
24911
  const roundParityValue = (value) => {
24886
24912
  if (typeof value !== "number") return value;
24887
24913
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -25695,7 +25721,7 @@ class PixldocsRenderer {
25695
25721
  await this.waitForCanvasScene(container, cloned, i);
25696
25722
  }
25697
25723
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
25698
- const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-DihZwtD7.cjs"));
25724
+ const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-DnoKFr-R.cjs"));
25699
25725
  const prepared = preparePagesForExport(
25700
25726
  cloned.pages,
25701
25727
  canvasWidth,
@@ -28015,7 +28041,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
28015
28041
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
28016
28042
  sanitizeSvgTreeForPdf(svgToDraw);
28017
28043
  try {
28018
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-DihZwtD7.cjs"));
28044
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-DnoKFr-R.cjs"));
28019
28045
  try {
28020
28046
  await logTextMeasurementDiagnostic(svgToDraw);
28021
28047
  } catch {
@@ -28412,4 +28438,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
28412
28438
  exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
28413
28439
  exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
28414
28440
  exports.warmTemplateFromForm = warmTemplateFromForm;
28415
- //# sourceMappingURL=index-UiuMKvLc.cjs.map
28441
+ //# sourceMappingURL=index-BUYWcO1C.cjs.map