@pixldocs/canvas-renderer 0.5.256 → 0.5.257
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.
- package/dist/{index-DdXbqycP.js → index-bZ7LCfUb.js} +58 -7
- package/dist/index-bZ7LCfUb.js.map +1 -0
- package/dist/{index-C1nsxh7P.cjs → index-oOI_SYzS.cjs} +58 -7
- package/dist/index-oOI_SYzS.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{vectorPdfExport-BNa-hQ-e.cjs → vectorPdfExport-EysRHv2h.cjs} +4 -4
- package/dist/{vectorPdfExport-BNa-hQ-e.cjs.map → vectorPdfExport-EysRHv2h.cjs.map} +1 -1
- package/dist/{vectorPdfExport-CZHhQLm0.js → vectorPdfExport-tca2qSZa.js} +4 -4
- package/dist/{vectorPdfExport-CZHhQLm0.js.map → vectorPdfExport-tca2qSZa.js.map} +1 -1
- package/package.json +1 -1
- package/dist/index-C1nsxh7P.cjs.map +0 -1
- package/dist/index-DdXbqycP.js.map +0 -1
|
@@ -11180,6 +11180,50 @@ const PageCanvas = forwardRef(
|
|
|
11180
11180
|
}
|
|
11181
11181
|
}
|
|
11182
11182
|
applyWarpAwareSelectionBorders(selection);
|
|
11183
|
+
try {
|
|
11184
|
+
if (members.length >= 2 && Math.abs((selection.angle ?? 0) % 360) < 0.01 && !selection.__pixldocsGroupAngleApplied) {
|
|
11185
|
+
const someBusy = members.some((m) => m.__pdCircleRadiusDrag || m.__pixldocsSectionGroup);
|
|
11186
|
+
if (!someBusy) {
|
|
11187
|
+
const first = ((members[0].angle ?? 0) % 360 + 360) % 360;
|
|
11188
|
+
const EPS = 0.5;
|
|
11189
|
+
const allSame = members.every((m) => {
|
|
11190
|
+
const a = ((m.angle ?? 0) % 360 + 360) % 360;
|
|
11191
|
+
const d = Math.min(Math.abs(a - first), 360 - Math.abs(a - first));
|
|
11192
|
+
return d <= EPS;
|
|
11193
|
+
});
|
|
11194
|
+
if (allSame && first > EPS && first < 360 - EPS) {
|
|
11195
|
+
const worldMatrices = members.map((c) => c.calcTransformMatrix());
|
|
11196
|
+
selection.set({ angle: first });
|
|
11197
|
+
selection.setCoords();
|
|
11198
|
+
const selMatrix = selection.calcTransformMatrix();
|
|
11199
|
+
const invSel = fabric.util.invertTransform(selMatrix);
|
|
11200
|
+
for (let i = 0; i < members.length; i++) {
|
|
11201
|
+
const child = members[i];
|
|
11202
|
+
const rel = fabric.util.multiplyTransformMatrices(invSel, worldMatrices[i]);
|
|
11203
|
+
const d = fabric.util.qrDecompose(rel);
|
|
11204
|
+
child.flipX = false;
|
|
11205
|
+
child.flipY = false;
|
|
11206
|
+
child.set({
|
|
11207
|
+
scaleX: d.scaleX,
|
|
11208
|
+
scaleY: d.scaleY,
|
|
11209
|
+
skewX: d.skewX,
|
|
11210
|
+
skewY: d.skewY,
|
|
11211
|
+
angle: d.angle
|
|
11212
|
+
});
|
|
11213
|
+
child.setPositionByOrigin(
|
|
11214
|
+
new fabric.Point(d.translateX, d.translateY),
|
|
11215
|
+
"center",
|
|
11216
|
+
"center"
|
|
11217
|
+
);
|
|
11218
|
+
child.setCoords();
|
|
11219
|
+
}
|
|
11220
|
+
selection.__pixldocsGroupAngleApplied = first;
|
|
11221
|
+
}
|
|
11222
|
+
}
|
|
11223
|
+
}
|
|
11224
|
+
} catch (err) {
|
|
11225
|
+
console.warn("[group-rotation-align] skipped", err);
|
|
11226
|
+
}
|
|
11183
11227
|
}, []);
|
|
11184
11228
|
const pageBoundsOptions = useMemo(
|
|
11185
11229
|
() => ({ pageContentWidth: canvasWidth, pageContentHeight: canvasHeight }),
|
|
@@ -12529,7 +12573,8 @@ const PageCanvas = forwardRef(
|
|
|
12529
12573
|
selectionLeft: rect.left,
|
|
12530
12574
|
selectionTop: rect.top,
|
|
12531
12575
|
groupLeft: groupAbs.left,
|
|
12532
|
-
groupTop: groupAbs.top
|
|
12576
|
+
groupTop: groupAbs.top,
|
|
12577
|
+
selectionAngle: ((active.angle ?? 0) % 360 + 360) % 360
|
|
12533
12578
|
};
|
|
12534
12579
|
};
|
|
12535
12580
|
const restoreGroupSelectionVisualState = (selection, groupId) => {
|
|
@@ -14170,7 +14215,13 @@ const PageCanvas = forwardRef(
|
|
|
14170
14215
|
const deltaX = movedGroupLeft - groupAbs.left;
|
|
14171
14216
|
const deltaY = movedGroupTop - groupAbs.top;
|
|
14172
14217
|
const hadScale = isActiveSelection && activeObj && (Math.abs((activeObj.scaleX ?? 1) - 1) > 0.01 || Math.abs((activeObj.scaleY ?? 1) - 1) > 0.01);
|
|
14173
|
-
const
|
|
14218
|
+
const startSelAngle = (((transformStart == null ? void 0 : transformStart.selectionAngle) ?? 0) % 360 + 360) % 360;
|
|
14219
|
+
const currentSelAngle = isActiveSelection && activeObj ? ((activeObj.angle ?? 0) % 360 + 360) % 360 : 0;
|
|
14220
|
+
const angleDelta = Math.min(
|
|
14221
|
+
Math.abs(currentSelAngle - startSelAngle),
|
|
14222
|
+
360 - Math.abs(currentSelAngle - startSelAngle)
|
|
14223
|
+
);
|
|
14224
|
+
const hadRotation = isActiveSelection && activeObj && angleDelta > 0.01;
|
|
14174
14225
|
if (!hadScale && !hadRotation && (Math.abs(deltaX) > 0.1 || Math.abs(deltaY) > 0.1)) {
|
|
14175
14226
|
const { updateNode: updateNodeStore, commitHistory: commitHistoryStore, getCurrentElements } = useEditorStore.getState();
|
|
14176
14227
|
const newLeft = (groupToMove.left ?? 0) + deltaX;
|
|
@@ -23521,9 +23572,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
23521
23572
|
}
|
|
23522
23573
|
return svgString;
|
|
23523
23574
|
}
|
|
23524
|
-
const resolvedPackageVersion = "0.5.
|
|
23575
|
+
const resolvedPackageVersion = "0.5.257";
|
|
23525
23576
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
23526
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
23577
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.257";
|
|
23527
23578
|
const roundParityValue = (value) => {
|
|
23528
23579
|
if (typeof value !== "number") return value;
|
|
23529
23580
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -24337,7 +24388,7 @@ class PixldocsRenderer {
|
|
|
24337
24388
|
await this.waitForCanvasScene(container, cloned, i);
|
|
24338
24389
|
}
|
|
24339
24390
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
24340
|
-
const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-
|
|
24391
|
+
const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-tca2qSZa.js");
|
|
24341
24392
|
const prepared = preparePagesForExport(
|
|
24342
24393
|
cloned.pages,
|
|
24343
24394
|
canvasWidth,
|
|
@@ -26657,7 +26708,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
26657
26708
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
26658
26709
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
26659
26710
|
try {
|
|
26660
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-
|
|
26711
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-tca2qSZa.js");
|
|
26661
26712
|
try {
|
|
26662
26713
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
26663
26714
|
} catch {
|
|
@@ -27057,4 +27108,4 @@ export {
|
|
|
27057
27108
|
buildTeaserBlurFlatKeys as y,
|
|
27058
27109
|
collectFontDescriptorsFromConfig as z
|
|
27059
27110
|
};
|
|
27060
|
-
//# sourceMappingURL=index-
|
|
27111
|
+
//# sourceMappingURL=index-bZ7LCfUb.js.map
|