@pixldocs/canvas-renderer 0.5.343 → 0.5.345
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-BVDxgitP.cjs → index-D4xGj5W4.cjs} +47 -10
- package/dist/index-D4xGj5W4.cjs.map +1 -0
- package/dist/{index-JXiTI3jA.js → index-wiw1EUl-.js} +47 -10
- package/dist/index-wiw1EUl-.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{vectorPdfExport-CdDnoHs2.cjs → vectorPdfExport-Mhjrus5I.cjs} +4 -4
- package/dist/{vectorPdfExport-CdDnoHs2.cjs.map → vectorPdfExport-Mhjrus5I.cjs.map} +1 -1
- package/dist/{vectorPdfExport-DWz1fLQ7.js → vectorPdfExport-rFbeCudV.js} +4 -4
- package/dist/{vectorPdfExport-DWz1fLQ7.js.map → vectorPdfExport-rFbeCudV.js.map} +1 -1
- package/package.json +1 -1
- package/dist/index-BVDxgitP.cjs.map +0 -1
- package/dist/index-JXiTI3jA.js.map +0 -1
|
@@ -14462,7 +14462,7 @@ const PageCanvas = forwardRef(
|
|
|
14462
14462
|
});
|
|
14463
14463
|
let cropGroupSaveTimer = null;
|
|
14464
14464
|
fabricCanvas.on("object:modified", (e) => {
|
|
14465
|
-
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
14465
|
+
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
|
|
14466
14466
|
try {
|
|
14467
14467
|
dragStarted = false;
|
|
14468
14468
|
setGuides([]);
|
|
@@ -14924,13 +14924,15 @@ const PageCanvas = forwardRef(
|
|
|
14924
14924
|
const hadScale = isActiveSelection && activeObj && (hadResizeHandle || Math.abs((activeObj.scaleX ?? 1) - 1) > 0.01 || Math.abs((activeObj.scaleY ?? 1) - 1) > 0.01);
|
|
14925
14925
|
const startSelAngle = normalizeAngle((transformStart == null ? void 0 : transformStart.selectionAngle) ?? 0);
|
|
14926
14926
|
const currentSelAngle = isActiveSelection && activeObj ? normalizeAngle(activeObj.angle ?? 0) : 0;
|
|
14927
|
-
const
|
|
14927
|
+
const storedGroupAngle = normalizeAngle(Number(groupToMove.angle ?? 0));
|
|
14928
|
+
const effectiveStartAngle = transformStart ? startSelAngle : storedGroupAngle;
|
|
14929
|
+
const angleDelta = shortestAngleDelta(currentSelAngle, effectiveStartAngle);
|
|
14928
14930
|
const hadRotation = isActiveSelection && activeObj && angleDelta > 0.01;
|
|
14929
14931
|
if (activeGroupSelectionId === groupToMove.id && hadRotation && !hadScale && !activeSelectionResizeHandle && activeObj instanceof fabric.ActiveSelection) {
|
|
14930
14932
|
const { updateNode: updateNodeStore, commitHistory: commitHistoryStore, getCurrentElements } = useEditorStore.getState();
|
|
14931
14933
|
const center = activeObj.getCenterPoint();
|
|
14932
|
-
const baseCenterX = (transformStart == null ? void 0 : transformStart.selectionCenterX) ??
|
|
14933
|
-
const baseCenterY = (transformStart == null ? void 0 : transformStart.selectionCenterY) ??
|
|
14934
|
+
const baseCenterX = (transformStart == null ? void 0 : transformStart.selectionCenterX) ?? groupAbs.left + groupAbs.width / 2;
|
|
14935
|
+
const baseCenterY = (transformStart == null ? void 0 : transformStart.selectionCenterY) ?? groupAbs.top + groupAbs.height / 2;
|
|
14934
14936
|
const nextAbsLeft = groupAbs.left + (center.x - baseCenterX);
|
|
14935
14937
|
const nextAbsTop = groupAbs.top + (center.y - baseCenterY);
|
|
14936
14938
|
const storePos = absoluteToStorePosition(nextAbsLeft, nextAbsTop, groupToMove.id, pageChildren2);
|
|
@@ -15010,6 +15012,9 @@ const PageCanvas = forwardRef(
|
|
|
15010
15012
|
}
|
|
15011
15013
|
}
|
|
15012
15014
|
const pendingCropGroupFrameBakes = [];
|
|
15015
|
+
const logicalGroupSelectionId = activeObj instanceof fabric.ActiveSelection ? activeObj.__pixldocsGroupSelection : void 0;
|
|
15016
|
+
const isLogicalGroupAS = !!logicalGroupSelectionId && !(activeObj == null ? void 0 : activeObj.__cropGroup) && !(activeObj == null ? void 0 : activeObj.__docuforgeSectionGroup);
|
|
15017
|
+
const asAngleForBake = isLogicalGroupAS && activeObj ? normalizeAngle(activeObj.angle ?? 0) : 0;
|
|
15013
15018
|
for (const obj of activeObjects) {
|
|
15014
15019
|
const objId = getObjectId(obj);
|
|
15015
15020
|
if (!objId || objId === "__background__") continue;
|
|
@@ -15100,6 +15105,7 @@ const PageCanvas = forwardRef(
|
|
|
15100
15105
|
let finalAngle = decomposed.angle;
|
|
15101
15106
|
let finalSkewX = decomposed.skewX;
|
|
15102
15107
|
let finalSkewY = decomposed.skewY;
|
|
15108
|
+
let finalAngleFromDecomposed = true;
|
|
15103
15109
|
if (obj instanceof fabric.Group && obj.__cropGroup) {
|
|
15104
15110
|
const ct = obj.__cropData;
|
|
15105
15111
|
if (ct) {
|
|
@@ -15162,6 +15168,7 @@ const PageCanvas = forwardRef(
|
|
|
15162
15168
|
finalAngle = (sourceElement == null ? void 0 : sourceElement.angle) ?? obj.angle ?? decomposed.angle;
|
|
15163
15169
|
finalSkewX = (sourceElement == null ? void 0 : sourceElement.skewX) ?? obj.skewX ?? 0;
|
|
15164
15170
|
finalSkewY = (sourceElement == null ? void 0 : sourceElement.skewY) ?? obj.skewY ?? 0;
|
|
15171
|
+
if ((sourceElement == null ? void 0 : sourceElement.angle) !== void 0 || obj.angle !== void 0) finalAngleFromDecomposed = false;
|
|
15165
15172
|
}
|
|
15166
15173
|
obj.set({ scaleX: 1, scaleY: 1 });
|
|
15167
15174
|
const newSrc = renderSmartElementToDataUri(sourceElement.smartElementType, sourceElement.smartProps, bakedW, bakedH);
|
|
@@ -15229,6 +15236,7 @@ const PageCanvas = forwardRef(
|
|
|
15229
15236
|
finalAngle = (sourceElement == null ? void 0 : sourceElement.angle) ?? obj.angle ?? decomposed.angle;
|
|
15230
15237
|
finalSkewX = (sourceElement == null ? void 0 : sourceElement.skewX) ?? obj.skewX ?? 0;
|
|
15231
15238
|
finalSkewY = (sourceElement == null ? void 0 : sourceElement.skewY) ?? obj.skewY ?? 0;
|
|
15239
|
+
if ((sourceElement == null ? void 0 : sourceElement.angle) !== void 0 || obj.angle !== void 0) finalAngleFromDecomposed = false;
|
|
15232
15240
|
}
|
|
15233
15241
|
try {
|
|
15234
15242
|
const angleRad = (finalAngle ?? 0) * Math.PI / 180;
|
|
@@ -15294,6 +15302,7 @@ const PageCanvas = forwardRef(
|
|
|
15294
15302
|
finalAngle = (sourceElement == null ? void 0 : sourceElement.angle) ?? obj.angle ?? decomposed.angle;
|
|
15295
15303
|
finalSkewX = (sourceElement == null ? void 0 : sourceElement.skewX) ?? obj.skewX ?? 0;
|
|
15296
15304
|
finalSkewY = (sourceElement == null ? void 0 : sourceElement.skewY) ?? obj.skewY ?? 0;
|
|
15305
|
+
if ((sourceElement == null ? void 0 : sourceElement.angle) !== void 0 || obj.angle !== void 0) finalAngleFromDecomposed = false;
|
|
15297
15306
|
}
|
|
15298
15307
|
} else if (obj instanceof fabric.Textbox && isActiveSelection && (Math.abs((decomposed.scaleX ?? 1) - 1) > 1e-3 || Math.abs((decomposed.scaleY ?? 1) - 1) > 1e-3)) {
|
|
15299
15308
|
const sx = Math.abs(decomposed.scaleX || 1);
|
|
@@ -15450,6 +15459,9 @@ const PageCanvas = forwardRef(
|
|
|
15450
15459
|
const page = state.canvas.pages.find((p) => p.id === pageId);
|
|
15451
15460
|
const pageChildrenForSave = (page == null ? void 0 : page.children) ?? [];
|
|
15452
15461
|
const storePos = absoluteToStorePosition(absoluteLeft, absoluteTop, objId, pageChildrenForSave);
|
|
15462
|
+
if (isLogicalGroupAS && finalAngleFromDecomposed && typeof finalAngle === "number") {
|
|
15463
|
+
finalAngle = ((finalAngle - asAngleForBake) % 360 + 540) % 360 - 180;
|
|
15464
|
+
}
|
|
15453
15465
|
const isLineObj = obj instanceof fabric.Line;
|
|
15454
15466
|
const isAutoShrinkText = (sourceElement == null ? void 0 : sourceElement.type) === "text" && sourceElement.overflowPolicy === "auto-shrink";
|
|
15455
15467
|
const autoShrinkStoredHeight = isAutoShrinkText ? sourceElement.height : void 0;
|
|
@@ -15511,7 +15523,32 @@ const PageCanvas = forwardRef(
|
|
|
15511
15523
|
updateElement(objId, elementUpdate, { recordHistory: false, skipLayoutRecalc: true });
|
|
15512
15524
|
obj.setCoords();
|
|
15513
15525
|
}
|
|
15514
|
-
|
|
15526
|
+
if (isLogicalGroupAS && logicalGroupSelectionId && activeObj instanceof fabric.ActiveSelection) {
|
|
15527
|
+
try {
|
|
15528
|
+
const pageChildrenForGroup = ((_j = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _j.children) ?? [];
|
|
15529
|
+
const groupNode = findNodeById(pageChildrenForGroup, logicalGroupSelectionId);
|
|
15530
|
+
if (groupNode) {
|
|
15531
|
+
const baseline = ((_k = groupSelectionTransformStartRef.current) == null ? void 0 : _k.groupId) === logicalGroupSelectionId ? groupSelectionTransformStartRef.current : null;
|
|
15532
|
+
const center = activeObj.getCenterPoint();
|
|
15533
|
+
const prevAbs = getAbsoluteBounds(groupNode, pageChildrenForGroup, pageBoundsOptions);
|
|
15534
|
+
const baseCenterX = (baseline == null ? void 0 : baseline.selectionCenterX) ?? prevAbs.left + prevAbs.width / 2;
|
|
15535
|
+
const baseCenterY = (baseline == null ? void 0 : baseline.selectionCenterY) ?? prevAbs.top + prevAbs.height / 2;
|
|
15536
|
+
const baseLeft = (baseline == null ? void 0 : baseline.groupLeft) ?? prevAbs.left;
|
|
15537
|
+
const baseTop = (baseline == null ? void 0 : baseline.groupTop) ?? prevAbs.top;
|
|
15538
|
+
const newAbsLeft = baseLeft + (center.x - baseCenterX);
|
|
15539
|
+
const newAbsTop = baseTop + (center.y - baseCenterY);
|
|
15540
|
+
const storePosGroup = absoluteToStorePosition(newAbsLeft, newAbsTop, logicalGroupSelectionId, pageChildrenForGroup);
|
|
15541
|
+
useEditorStore.getState().updateNode(logicalGroupSelectionId, {
|
|
15542
|
+
left: storePosGroup.left,
|
|
15543
|
+
top: storePosGroup.top,
|
|
15544
|
+
angle: asAngleForBake
|
|
15545
|
+
}, { recordHistory: false, skipLayoutRecalc: true });
|
|
15546
|
+
}
|
|
15547
|
+
} catch (err) {
|
|
15548
|
+
console.warn("[Pixldocs] logical-group envelope persist failed", err);
|
|
15549
|
+
}
|
|
15550
|
+
}
|
|
15551
|
+
const pageChildrenForReflow = ((_l = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _l.children) ?? [];
|
|
15515
15552
|
const stackGroupsToReflow = /* @__PURE__ */ new Set();
|
|
15516
15553
|
for (const id of modifiedIdsThisRound) {
|
|
15517
15554
|
const parent = findParentGroup(pageChildrenForReflow, id);
|
|
@@ -24652,9 +24689,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
24652
24689
|
}
|
|
24653
24690
|
return svgString;
|
|
24654
24691
|
}
|
|
24655
|
-
const resolvedPackageVersion = "0.5.
|
|
24692
|
+
const resolvedPackageVersion = "0.5.345";
|
|
24656
24693
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
24657
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
24694
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.345";
|
|
24658
24695
|
const roundParityValue = (value) => {
|
|
24659
24696
|
if (typeof value !== "number") return value;
|
|
24660
24697
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -25468,7 +25505,7 @@ class PixldocsRenderer {
|
|
|
25468
25505
|
await this.waitForCanvasScene(container, cloned, i);
|
|
25469
25506
|
}
|
|
25470
25507
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
25471
|
-
const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-
|
|
25508
|
+
const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-rFbeCudV.js");
|
|
25472
25509
|
const prepared = preparePagesForExport(
|
|
25473
25510
|
cloned.pages,
|
|
25474
25511
|
canvasWidth,
|
|
@@ -27788,7 +27825,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
27788
27825
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
27789
27826
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
27790
27827
|
try {
|
|
27791
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-
|
|
27828
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-rFbeCudV.js");
|
|
27792
27829
|
try {
|
|
27793
27830
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
27794
27831
|
} catch {
|
|
@@ -28188,4 +28225,4 @@ export {
|
|
|
28188
28225
|
buildTeaserBlurFlatKeys as y,
|
|
28189
28226
|
collectFontDescriptorsFromConfig as z
|
|
28190
28227
|
};
|
|
28191
|
-
//# sourceMappingURL=index-
|
|
28228
|
+
//# sourceMappingURL=index-wiw1EUl-.js.map
|