@pixldocs/canvas-renderer 0.5.337 → 0.5.339
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-Ze4pswgN.cjs → index-BLwO7N0h.cjs} +58 -15
- package/dist/index-BLwO7N0h.cjs.map +1 -0
- package/dist/{index-B5OFG6Dl.js → index-DFhDFJ4X.js} +58 -15
- package/dist/index-DFhDFJ4X.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{vectorPdfExport-11EJIk-M.cjs → vectorPdfExport-Dh2REogs.cjs} +4 -4
- package/dist/{vectorPdfExport-11EJIk-M.cjs.map → vectorPdfExport-Dh2REogs.cjs.map} +1 -1
- package/dist/{vectorPdfExport-CpYoH5k1.js → vectorPdfExport-GeBepP7g.js} +4 -4
- package/dist/{vectorPdfExport-CpYoH5k1.js.map → vectorPdfExport-GeBepP7g.js.map} +1 -1
- package/package.json +1 -1
- package/dist/index-B5OFG6Dl.js.map +0 -1
- package/dist/index-Ze4pswgN.cjs.map +0 -1
|
@@ -11360,10 +11360,20 @@ const PageCanvas = react.forwardRef(
|
|
|
11360
11360
|
const [ready, setReady] = react.useState(false);
|
|
11361
11361
|
const [unlockRequestId, setUnlockRequestId] = react.useState(0);
|
|
11362
11362
|
const applyLogicalGroupSelectionVisualState = react.useCallback((selection, groupId) => {
|
|
11363
|
-
var _a2;
|
|
11363
|
+
var _a2, _b2;
|
|
11364
11364
|
selection.__pixldocsGroupSelection = groupId;
|
|
11365
11365
|
delete selection.__pixldocsLogicalGroupIds;
|
|
11366
11366
|
selection.hasBorders = true;
|
|
11367
|
+
try {
|
|
11368
|
+
const pageChildren2 = ((_a2 = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _a2.children) ?? [];
|
|
11369
|
+
const groupNode = findNodeById(pageChildren2, groupId);
|
|
11370
|
+
const groupAngle = groupNode && isGroup(groupNode) ? Number(groupNode.angle ?? 0) : 0;
|
|
11371
|
+
if (Number.isFinite(groupAngle) && Math.abs(groupAngle) > 0.01) {
|
|
11372
|
+
selection.set({ angle: groupAngle, scaleX: 1, scaleY: 1, skewX: 0, skewY: 0 });
|
|
11373
|
+
selection.setCoords();
|
|
11374
|
+
}
|
|
11375
|
+
} catch {
|
|
11376
|
+
}
|
|
11367
11377
|
const members = selection.getObjects();
|
|
11368
11378
|
for (const prev of suppressGroupMemberBordersRef.current) {
|
|
11369
11379
|
if (members.includes(prev)) continue;
|
|
@@ -11387,7 +11397,7 @@ const PageCanvas = react.forwardRef(
|
|
|
11387
11397
|
if (m.__pixldocsOrigHasControls === void 0) m.__pixldocsOrigHasControls = m.hasControls;
|
|
11388
11398
|
m.hasBorders = false;
|
|
11389
11399
|
m.hasControls = false;
|
|
11390
|
-
if (m.__cropGroup || ((
|
|
11400
|
+
if (m.__cropGroup || ((_b2 = m._ct) == null ? void 0 : _b2.isCropGroup)) {
|
|
11391
11401
|
if (m.__pixldocsOrigLockScalingX === void 0) {
|
|
11392
11402
|
m.__pixldocsOrigLockScalingX = m.lockScalingX;
|
|
11393
11403
|
m.__pixldocsOrigLockScalingY = m.lockScalingY;
|
|
@@ -11397,7 +11407,7 @@ const PageCanvas = react.forwardRef(
|
|
|
11397
11407
|
}
|
|
11398
11408
|
}
|
|
11399
11409
|
applyWarpAwareSelectionBorders(selection);
|
|
11400
|
-
}, []);
|
|
11410
|
+
}, [pageId]);
|
|
11401
11411
|
const pageBoundsOptions = react.useMemo(
|
|
11402
11412
|
() => ({ pageContentWidth: canvasWidth, pageContentHeight: canvasHeight }),
|
|
11403
11413
|
[canvasWidth, canvasHeight]
|
|
@@ -13583,6 +13593,7 @@ const PageCanvas = react.forwardRef(
|
|
|
13583
13593
|
});
|
|
13584
13594
|
const markSimpleTransform = (e) => {
|
|
13585
13595
|
if (!isActiveRef.current) return;
|
|
13596
|
+
prepareGroupSelectionTransformStart(e.target);
|
|
13586
13597
|
markTransforming(e.target);
|
|
13587
13598
|
};
|
|
13588
13599
|
const getObjectFrameBoundsInSelection = (selection, obj, frameWidth, frameHeight) => {
|
|
@@ -14840,6 +14851,11 @@ const PageCanvas = react.forwardRef(
|
|
|
14840
14851
|
}
|
|
14841
14852
|
}
|
|
14842
14853
|
const isActiveSelectionSideResize = isActiveSelection && (activeSelectionResizeHandle === "ml" || activeSelectionResizeHandle === "mr" || activeSelectionResizeHandle === "mt" || activeSelectionResizeHandle === "mb");
|
|
14854
|
+
const normalizeAngle = (angle) => (angle % 360 + 360) % 360;
|
|
14855
|
+
const shortestAngleDelta = (a, b) => {
|
|
14856
|
+
const diff = Math.abs(normalizeAngle(a) - normalizeAngle(b));
|
|
14857
|
+
return Math.min(diff, 360 - diff);
|
|
14858
|
+
};
|
|
14843
14859
|
if (selectedElementIds.length > 0) {
|
|
14844
14860
|
const firstObj = activeObjects[0];
|
|
14845
14861
|
const firstId = getObjectId(firstObj);
|
|
@@ -14903,12 +14919,9 @@ const PageCanvas = react.forwardRef(
|
|
|
14903
14919
|
const deltaY = movedGroupTop - groupAbs.top;
|
|
14904
14920
|
const hadResizeHandle = isActiveSelection && !!activeSelectionResizeHandle;
|
|
14905
14921
|
const hadScale = isActiveSelection && activeObj && (hadResizeHandle || Math.abs((activeObj.scaleX ?? 1) - 1) > 0.01 || Math.abs((activeObj.scaleY ?? 1) - 1) > 0.01);
|
|
14906
|
-
const startSelAngle = ((
|
|
14907
|
-
const currentSelAngle = isActiveSelection && activeObj ? (
|
|
14908
|
-
const angleDelta =
|
|
14909
|
-
Math.abs(currentSelAngle - startSelAngle),
|
|
14910
|
-
360 - Math.abs(currentSelAngle - startSelAngle)
|
|
14911
|
-
);
|
|
14922
|
+
const startSelAngle = normalizeAngle((transformStart == null ? void 0 : transformStart.selectionAngle) ?? 0);
|
|
14923
|
+
const currentSelAngle = isActiveSelection && activeObj ? normalizeAngle(activeObj.angle ?? 0) : 0;
|
|
14924
|
+
const angleDelta = shortestAngleDelta(currentSelAngle, startSelAngle);
|
|
14912
14925
|
const hadRotation = isActiveSelection && activeObj && angleDelta > 0.01;
|
|
14913
14926
|
if (!isActiveSelectionSideResize && !hadScale && !hadRotation && (Math.abs(deltaX) > 0.1 || Math.abs(deltaY) > 0.1)) {
|
|
14914
14927
|
const { updateNode: updateNodeStore, commitHistory: commitHistoryStore, getCurrentElements } = useEditorStore.getState();
|
|
@@ -14951,6 +14964,35 @@ const PageCanvas = react.forwardRef(
|
|
|
14951
14964
|
unlockEditsSoon();
|
|
14952
14965
|
return;
|
|
14953
14966
|
}
|
|
14967
|
+
if (activeGroupSelectionId === groupToMove.id && hadRotation && !hadScale && !activeSelectionResizeHandle && activeObj instanceof fabric__namespace.ActiveSelection) {
|
|
14968
|
+
const { updateNode: updateNodeStore, commitHistory: commitHistoryStore, getCurrentElements } = useEditorStore.getState();
|
|
14969
|
+
const nextAngle = currentSelAngle;
|
|
14970
|
+
updateNodeStore(groupToMove.id, { angle: nextAngle }, { recordHistory: false, skipLayoutRecalc: true });
|
|
14971
|
+
commitHistoryStore();
|
|
14972
|
+
const groupSelectionId = activeGroupSelectionId;
|
|
14973
|
+
elementsRef.current = getCurrentElements();
|
|
14974
|
+
for (const obj of activeObjects) {
|
|
14975
|
+
const objId = getObjectId(obj);
|
|
14976
|
+
if (objId && objId !== "__background__") {
|
|
14977
|
+
justModifiedIdsRef.current.add(objId);
|
|
14978
|
+
modifiedIdsThisRound.add(objId);
|
|
14979
|
+
}
|
|
14980
|
+
}
|
|
14981
|
+
setTimeout(() => modifiedIdsThisRound.forEach((id) => justModifiedIdsRef.current.delete(id)), 150);
|
|
14982
|
+
groupSelectionTransformStartRef.current = null;
|
|
14983
|
+
activeSelectionMoveStartRef.current = null;
|
|
14984
|
+
activeSelectionResizeHandleRef.current = null;
|
|
14985
|
+
const rotateRestoreSnapshot = {
|
|
14986
|
+
memberIds: activeObjects.map((obj) => getObjectId(obj)).filter((id) => !!id && id !== "__background__"),
|
|
14987
|
+
groupSelectionId,
|
|
14988
|
+
expiresAt: Date.now() + 1200
|
|
14989
|
+
};
|
|
14990
|
+
recentGroupSelectionRestoreRef.current = rotateRestoreSnapshot;
|
|
14991
|
+
preserveActiveSelectionAfterTransformRef.current = rotateRestoreSnapshot;
|
|
14992
|
+
fabricCanvas.requestRenderAll();
|
|
14993
|
+
unlockEditsSoon();
|
|
14994
|
+
return;
|
|
14995
|
+
}
|
|
14954
14996
|
}
|
|
14955
14997
|
}
|
|
14956
14998
|
const pendingCropGroupFrameBakes = [];
|
|
@@ -15466,7 +15508,8 @@ const PageCanvas = react.forwardRef(
|
|
|
15466
15508
|
for (const gid of stackGroupsToReflow) {
|
|
15467
15509
|
useEditorStore.getState().reflowStackGroupInPage(pageId, gid);
|
|
15468
15510
|
}
|
|
15469
|
-
|
|
15511
|
+
const shouldRebuildActiveSelectionAfterPersist = activeObj instanceof fabric__namespace.ActiveSelection && (!!activeSelectionResizeHandle || pendingCropGroupFrameBakes.length > 0 || Math.abs((activeObj.scaleX ?? 1) - 1) > 1e-3 || Math.abs((activeObj.scaleY ?? 1) - 1) > 1e-3);
|
|
15512
|
+
if (activeObj instanceof fabric__namespace.ActiveSelection && activeObjects.length > 0 && shouldRebuildActiveSelectionAfterPersist) {
|
|
15470
15513
|
const wasGroupSel = activeObj.__pixldocsGroupSelection;
|
|
15471
15514
|
const membersToReselect = activeObjects.filter((o) => {
|
|
15472
15515
|
const oid = getObjectId(o);
|
|
@@ -24595,9 +24638,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
24595
24638
|
}
|
|
24596
24639
|
return svgString;
|
|
24597
24640
|
}
|
|
24598
|
-
const resolvedPackageVersion = "0.5.
|
|
24641
|
+
const resolvedPackageVersion = "0.5.339";
|
|
24599
24642
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
24600
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
24643
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.339";
|
|
24601
24644
|
const roundParityValue = (value) => {
|
|
24602
24645
|
if (typeof value !== "number") return value;
|
|
24603
24646
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -25411,7 +25454,7 @@ class PixldocsRenderer {
|
|
|
25411
25454
|
await this.waitForCanvasScene(container, cloned, i);
|
|
25412
25455
|
}
|
|
25413
25456
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
25414
|
-
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
25457
|
+
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-Dh2REogs.cjs"));
|
|
25415
25458
|
const prepared = preparePagesForExport(
|
|
25416
25459
|
cloned.pages,
|
|
25417
25460
|
canvasWidth,
|
|
@@ -27731,7 +27774,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
27731
27774
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
27732
27775
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
27733
27776
|
try {
|
|
27734
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
27777
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-Dh2REogs.cjs"));
|
|
27735
27778
|
try {
|
|
27736
27779
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
27737
27780
|
} catch {
|
|
@@ -28128,4 +28171,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
|
|
|
28128
28171
|
exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
|
|
28129
28172
|
exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
|
|
28130
28173
|
exports.warmTemplateFromForm = warmTemplateFromForm;
|
|
28131
|
-
//# sourceMappingURL=index-
|
|
28174
|
+
//# sourceMappingURL=index-BLwO7N0h.cjs.map
|