@pixldocs/canvas-renderer 0.5.394 → 0.5.395
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-CgnT1WJ6.js → index-Bl3vMS3U.js} +148 -33
- package/dist/index-Bl3vMS3U.js.map +1 -0
- package/dist/{index-mH5LwfhM.cjs → index-apZqfLuE.cjs} +148 -33
- package/dist/index-apZqfLuE.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{vectorPdfExport-RJHpxl55.cjs → vectorPdfExport-BFZzT33a.cjs} +4 -4
- package/dist/{vectorPdfExport-RJHpxl55.cjs.map → vectorPdfExport-BFZzT33a.cjs.map} +1 -1
- package/dist/{vectorPdfExport-BUj20FDX.js → vectorPdfExport-DXadS763.js} +4 -4
- package/dist/{vectorPdfExport-BUj20FDX.js.map → vectorPdfExport-DXadS763.js.map} +1 -1
- package/package.json +1 -1
- package/dist/index-CgnT1WJ6.js.map +0 -1
- package/dist/index-mH5LwfhM.cjs.map +0 -1
|
@@ -11454,7 +11454,7 @@ const bakeTextboxScaleIntoTypography = (obj, sourceElement) => {
|
|
|
11454
11454
|
};
|
|
11455
11455
|
return updates;
|
|
11456
11456
|
};
|
|
11457
|
-
function applyWarpAwareSelectionBorders(selection, preferredGroupAngle) {
|
|
11457
|
+
function applyWarpAwareSelectionBorders(selection, preferredGroupAngle, preferredGroupFrame) {
|
|
11458
11458
|
var _a2;
|
|
11459
11459
|
if (selection.__pixldocsOrigASHasBorders !== void 0) {
|
|
11460
11460
|
selection.hasBorders = selection.__pixldocsOrigASHasBorders;
|
|
@@ -11517,7 +11517,8 @@ function applyWarpAwareSelectionBorders(selection, preferredGroupAngle) {
|
|
|
11517
11517
|
for (const b of buckets) b.area = orientedAreaForAngle(b.angle);
|
|
11518
11518
|
buckets.sort((a, b) => b.count - a.count || a.area - b.area || Math.abs(b.angle) - Math.abs(a.angle));
|
|
11519
11519
|
const dominant = buckets[0];
|
|
11520
|
-
const
|
|
11520
|
+
const rawPreferredGroupAngle = typeof preferredGroupAngle === "number" && Number.isFinite(preferredGroupAngle) ? preferredGroupAngle : typeof selection.__pixldocsGroupAngle === "number" && Number.isFinite(selection.__pixldocsGroupAngle) ? selection.__pixldocsGroupAngle : null;
|
|
11521
|
+
const preferredAngle = rawPreferredGroupAngle != null ? normalizeAngle180(rawPreferredGroupAngle) : null;
|
|
11521
11522
|
let targetAngle = preferredAngle;
|
|
11522
11523
|
const isLogicalGroupSelection = !!selection.__pixldocsGroupSelection;
|
|
11523
11524
|
if (targetAngle == null && dominant && Math.abs(dominant.angle) > 0.5 && (isLogicalGroupSelection || kids.length === 1 || dominant.count >= 2 || dominant.count === kids.length)) {
|
|
@@ -11561,11 +11562,30 @@ function applyWarpAwareSelectionBorders(selection, preferredGroupAngle) {
|
|
|
11561
11562
|
targetAngle,
|
|
11562
11563
|
worldAngles
|
|
11563
11564
|
});
|
|
11565
|
+
const fixedFrame = preferredGroupFrame && Number.isFinite(preferredGroupFrame.left) && Number.isFinite(preferredGroupFrame.top) && Number.isFinite(preferredGroupFrame.width) && preferredGroupFrame.width > 0 && Number.isFinite(preferredGroupFrame.height) && preferredGroupFrame.height > 0 ? preferredGroupFrame : null;
|
|
11564
11566
|
selection.set({ angle: targetAngle, scaleX: 1, scaleY: 1, skewX: 0, skewY: 0 });
|
|
11567
|
+
if (fixedFrame) {
|
|
11568
|
+
selection.set({ width: fixedFrame.width, height: fixedFrame.height, originX: "center", originY: "center" });
|
|
11569
|
+
selection.setPositionByOrigin(
|
|
11570
|
+
new fabric__namespace.Point(fixedFrame.left + fixedFrame.width / 2, fixedFrame.top + fixedFrame.height / 2),
|
|
11571
|
+
"center",
|
|
11572
|
+
"center"
|
|
11573
|
+
);
|
|
11574
|
+
}
|
|
11565
11575
|
restoreKidsFromWorld();
|
|
11566
|
-
|
|
11567
|
-
|
|
11568
|
-
|
|
11576
|
+
if (!fixedFrame) {
|
|
11577
|
+
try {
|
|
11578
|
+
(_a2 = selection.triggerLayout) == null ? void 0 : _a2.call(selection);
|
|
11579
|
+
} catch {
|
|
11580
|
+
}
|
|
11581
|
+
}
|
|
11582
|
+
if (fixedFrame) {
|
|
11583
|
+
selection.set({ width: fixedFrame.width, height: fixedFrame.height, originX: "center", originY: "center" });
|
|
11584
|
+
selection.setPositionByOrigin(
|
|
11585
|
+
new fabric__namespace.Point(fixedFrame.left + fixedFrame.width / 2, fixedFrame.top + fixedFrame.height / 2),
|
|
11586
|
+
"center",
|
|
11587
|
+
"center"
|
|
11588
|
+
);
|
|
11569
11589
|
}
|
|
11570
11590
|
restoreKidsFromWorld();
|
|
11571
11591
|
selection.setCoords();
|
|
@@ -11654,14 +11674,50 @@ const PageCanvas = react.forwardRef(
|
|
|
11654
11674
|
const [ready, setReady] = react.useState(false);
|
|
11655
11675
|
const [unlockRequestId, setUnlockRequestId] = react.useState(0);
|
|
11656
11676
|
const applyLogicalGroupSelectionVisualState = react.useCallback((selection, groupId) => {
|
|
11657
|
-
var _a2;
|
|
11677
|
+
var _a2, _b2;
|
|
11658
11678
|
selection.__pixldocsGroupSelection = groupId;
|
|
11659
11679
|
delete selection.__pixldocsLogicalGroupIds;
|
|
11660
11680
|
const pageNow = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId);
|
|
11661
11681
|
const groupNode = pageNow ? findNodeById(pageNow.children ?? [], groupId) : null;
|
|
11662
|
-
|
|
11663
|
-
if (groupAngle
|
|
11664
|
-
|
|
11682
|
+
let groupAngle = groupNode && isGroup(groupNode) && typeof groupNode.angle === "number" ? groupNode.angle : void 0;
|
|
11683
|
+
if (groupAngle === void 0 && groupNode && isGroup(groupNode)) {
|
|
11684
|
+
try {
|
|
11685
|
+
const kids = selection.getObjects();
|
|
11686
|
+
const selectionMatrix = selection.calcTransformMatrix();
|
|
11687
|
+
const worldAngles = kids.map((kid) => normalizeAngle180(fabric__namespace.util.qrDecompose(
|
|
11688
|
+
fabric__namespace.util.multiplyTransformMatrices(
|
|
11689
|
+
selectionMatrix,
|
|
11690
|
+
kid.calcOwnMatrix()
|
|
11691
|
+
)
|
|
11692
|
+
).angle ?? 0));
|
|
11693
|
+
const buckets = [];
|
|
11694
|
+
for (const angle of worldAngles) {
|
|
11695
|
+
const bucket = buckets.find((candidate) => Math.abs(normalizeAngle180(candidate.angle - angle)) <= 2);
|
|
11696
|
+
if (bucket) bucket.count += 1;
|
|
11697
|
+
else buckets.push({ angle, count: 1 });
|
|
11698
|
+
}
|
|
11699
|
+
buckets.sort((a, b) => b.count - a.count || Math.abs(b.angle) - Math.abs(a.angle));
|
|
11700
|
+
const inferredAngle = (_a2 = buckets[0]) == null ? void 0 : _a2.angle;
|
|
11701
|
+
if (typeof inferredAngle === "number" && Number.isFinite(inferredAngle) && Math.abs(inferredAngle) > 0.01) {
|
|
11702
|
+
groupAngle = inferredAngle;
|
|
11703
|
+
useEditorStore.getState().updateNode(
|
|
11704
|
+
groupId,
|
|
11705
|
+
{ angle: inferredAngle },
|
|
11706
|
+
{ recordHistory: false, skipLayoutRecalc: true }
|
|
11707
|
+
);
|
|
11708
|
+
}
|
|
11709
|
+
} catch {
|
|
11710
|
+
}
|
|
11711
|
+
}
|
|
11712
|
+
if (groupAngle !== void 0) {
|
|
11713
|
+
selection.__pixldocsGroupAngle = groupAngle;
|
|
11714
|
+
const aligned = selection.__pixldocsAlignedAngle;
|
|
11715
|
+
if (typeof aligned === "number" && Math.abs(normalizeAngle180(aligned - groupAngle)) > 0.01) {
|
|
11716
|
+
delete selection.__pixldocsAlignedAngle;
|
|
11717
|
+
}
|
|
11718
|
+
} else {
|
|
11719
|
+
delete selection.__pixldocsGroupAngle;
|
|
11720
|
+
}
|
|
11665
11721
|
selection.hasBorders = true;
|
|
11666
11722
|
const members = selection.getObjects();
|
|
11667
11723
|
for (const prev of suppressGroupMemberBordersRef.current) {
|
|
@@ -11686,7 +11742,7 @@ const PageCanvas = react.forwardRef(
|
|
|
11686
11742
|
if (m.__pixldocsOrigHasControls === void 0) m.__pixldocsOrigHasControls = m.hasControls;
|
|
11687
11743
|
m.hasBorders = false;
|
|
11688
11744
|
m.hasControls = false;
|
|
11689
|
-
if (m.__cropGroup || ((
|
|
11745
|
+
if (m.__cropGroup || ((_b2 = m._ct) == null ? void 0 : _b2.isCropGroup)) {
|
|
11690
11746
|
if (m.__pixldocsOrigLockScalingX === void 0) {
|
|
11691
11747
|
m.__pixldocsOrigLockScalingX = m.lockScalingX;
|
|
11692
11748
|
m.__pixldocsOrigLockScalingY = m.lockScalingY;
|
|
@@ -11695,7 +11751,22 @@ const PageCanvas = react.forwardRef(
|
|
|
11695
11751
|
m.lockScalingY = false;
|
|
11696
11752
|
}
|
|
11697
11753
|
}
|
|
11698
|
-
|
|
11754
|
+
const groupFrame = groupNode && isGroup(groupNode) ? (() => {
|
|
11755
|
+
try {
|
|
11756
|
+
const abs = getAbsoluteBounds(groupNode, (pageNow == null ? void 0 : pageNow.children) ?? []);
|
|
11757
|
+
const storedW = Number(groupNode.width);
|
|
11758
|
+
const storedH = Number(groupNode.height);
|
|
11759
|
+
return {
|
|
11760
|
+
left: abs.left,
|
|
11761
|
+
top: abs.top,
|
|
11762
|
+
width: Number.isFinite(storedW) && storedW > 0 ? storedW : abs.width,
|
|
11763
|
+
height: Number.isFinite(storedH) && storedH > 0 ? storedH : abs.height
|
|
11764
|
+
};
|
|
11765
|
+
} catch {
|
|
11766
|
+
return null;
|
|
11767
|
+
}
|
|
11768
|
+
})() : null;
|
|
11769
|
+
applyWarpAwareSelectionBorders(selection, groupAngle, groupFrame);
|
|
11699
11770
|
}, [pageId]);
|
|
11700
11771
|
const pageBoundsOptions = react.useMemo(
|
|
11701
11772
|
() => ({ pageContentWidth: canvasWidth, pageContentHeight: canvasHeight }),
|
|
@@ -11798,7 +11869,11 @@ const PageCanvas = react.forwardRef(
|
|
|
11798
11869
|
const activeMembers = activeBeforeRestore.getObjects();
|
|
11799
11870
|
const sameMembers = activeMembers.length === members.length && members.every((member) => activeMembers.includes(member));
|
|
11800
11871
|
const sameGroup = activeBeforeRestore.__pixldocsGroupSelection === groupId;
|
|
11801
|
-
const
|
|
11872
|
+
const pageNow = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId);
|
|
11873
|
+
const groupNode = pageNow ? findNodeById(pageNow.children ?? [], groupId) : null;
|
|
11874
|
+
const savedAngle = groupNode && isGroup(groupNode) && typeof groupNode.angle === "number" ? groupNode.angle : null;
|
|
11875
|
+
const alignedAngle = activeBeforeRestore.__pixldocsAlignedAngle;
|
|
11876
|
+
const alreadyAligned = typeof alignedAngle === "number" && (savedAngle == null || Math.abs(normalizeAngle180(alignedAngle - savedAngle)) <= 0.01);
|
|
11802
11877
|
if (sameMembers && sameGroup && alreadyAligned) {
|
|
11803
11878
|
ensureCanvaControlRenders(activeBeforeRestore);
|
|
11804
11879
|
return;
|
|
@@ -11815,9 +11890,11 @@ const PageCanvas = react.forwardRef(
|
|
|
11815
11890
|
members.forEach((m) => m.setCoords());
|
|
11816
11891
|
} catch {
|
|
11817
11892
|
}
|
|
11818
|
-
|
|
11819
|
-
|
|
11820
|
-
|
|
11893
|
+
if (!selection.__pixldocsGroupSelection) {
|
|
11894
|
+
try {
|
|
11895
|
+
(_a2 = selection.triggerLayout) == null ? void 0 : _a2.call(selection);
|
|
11896
|
+
} catch {
|
|
11897
|
+
}
|
|
11821
11898
|
}
|
|
11822
11899
|
selection.setCoords();
|
|
11823
11900
|
fc.requestRenderAll();
|
|
@@ -13265,6 +13342,8 @@ const PageCanvas = react.forwardRef(
|
|
|
13265
13342
|
selectionTop: rect.top,
|
|
13266
13343
|
groupLeft: groupAbs.left,
|
|
13267
13344
|
groupTop: groupAbs.top,
|
|
13345
|
+
groupWidth: groupAbs.width,
|
|
13346
|
+
groupHeight: groupAbs.height,
|
|
13268
13347
|
selectionAngle: ((active.angle ?? 0) % 360 + 360) % 360
|
|
13269
13348
|
};
|
|
13270
13349
|
logRotDriftSelectionSnapshot("transform-start", active, {
|
|
@@ -13432,7 +13511,11 @@ const PageCanvas = react.forwardRef(
|
|
|
13432
13511
|
const activeIds = active.getObjects().map((obj) => getObjectId(obj)).filter((id) => !!id && id !== "__background__");
|
|
13433
13512
|
const sameMembers = activeIds.length === snapshot.memberIds.length && snapshot.memberIds.every((id) => activeIds.includes(id));
|
|
13434
13513
|
const sameGroup = active.__pixldocsGroupSelection === snapshot.groupSelectionId;
|
|
13435
|
-
const
|
|
13514
|
+
const pageNow = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId);
|
|
13515
|
+
const groupNode = pageNow ? findNodeById(pageNow.children ?? [], snapshot.groupSelectionId) : null;
|
|
13516
|
+
const savedAngle = groupNode && isGroup(groupNode) && typeof groupNode.angle === "number" ? groupNode.angle : null;
|
|
13517
|
+
const alignedAngle = active.__pixldocsAlignedAngle;
|
|
13518
|
+
const alreadyAligned = typeof alignedAngle === "number" && (savedAngle == null || Math.abs(normalizeAngle180(alignedAngle - savedAngle)) <= 0.01);
|
|
13436
13519
|
if (sameMembers && sameGroup && alreadyAligned) {
|
|
13437
13520
|
ensureCanvaControlRenders(active);
|
|
13438
13521
|
return;
|
|
@@ -13589,6 +13672,31 @@ const PageCanvas = react.forwardRef(
|
|
|
13589
13672
|
}
|
|
13590
13673
|
if (members.length === 0) return null;
|
|
13591
13674
|
const savedGroupAngle = typeof g.angle === "number" && Number.isFinite(g.angle) ? normalizeAngle180(g.angle) : null;
|
|
13675
|
+
const savedGroupWidth = Number(g.width);
|
|
13676
|
+
const savedGroupHeight = Number(g.height);
|
|
13677
|
+
if (savedGroupAngle != null && savedGroupWidth > 0 && savedGroupHeight > 0) {
|
|
13678
|
+
const pageNow = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId);
|
|
13679
|
+
const pageChildrenNow = (pageNow == null ? void 0 : pageNow.children) ?? [];
|
|
13680
|
+
const abs = getAbsoluteBounds(g, pageChildrenNow);
|
|
13681
|
+
const cx = abs.left + savedGroupWidth / 2;
|
|
13682
|
+
const cy = abs.top + savedGroupHeight / 2;
|
|
13683
|
+
const rad2 = savedGroupAngle * Math.PI / 180;
|
|
13684
|
+
const c = Math.cos(rad2), s = Math.sin(rad2);
|
|
13685
|
+
const rotate = (x, y) => {
|
|
13686
|
+
const dx = x - cx;
|
|
13687
|
+
const dy = y - cy;
|
|
13688
|
+
return { x: cx + dx * c - dy * s, y: cy + dx * s + dy * c };
|
|
13689
|
+
};
|
|
13690
|
+
return {
|
|
13691
|
+
corners: [
|
|
13692
|
+
rotate(abs.left, abs.top),
|
|
13693
|
+
rotate(abs.left + savedGroupWidth, abs.top),
|
|
13694
|
+
rotate(abs.left + savedGroupWidth, abs.top + savedGroupHeight),
|
|
13695
|
+
rotate(abs.left, abs.top + savedGroupHeight)
|
|
13696
|
+
],
|
|
13697
|
+
angle: savedGroupAngle
|
|
13698
|
+
};
|
|
13699
|
+
}
|
|
13592
13700
|
const worldPoints = [];
|
|
13593
13701
|
for (const m of members) {
|
|
13594
13702
|
(_a2 = m.setCoords) == null ? void 0 : _a2.call(m);
|
|
@@ -14828,6 +14936,7 @@ const PageCanvas = react.forwardRef(
|
|
|
14828
14936
|
fabricCanvas.on("object:rotating", (e) => {
|
|
14829
14937
|
var _a2, _b2;
|
|
14830
14938
|
markSimpleTransform(e);
|
|
14939
|
+
prepareGroupSelectionTransformStart(e.target);
|
|
14831
14940
|
didTransformRef.current = true;
|
|
14832
14941
|
const tr = e.target;
|
|
14833
14942
|
if (shouldLogRotDriftLiveTick(tr, "rotating")) {
|
|
@@ -15017,7 +15126,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15017
15126
|
const groupLeft = fabricCenterX - w / 2;
|
|
15018
15127
|
const groupTop = fabricCenterY - h / 2;
|
|
15019
15128
|
const storePosGroup = absoluteToStorePosition(groupLeft, groupTop, movedGroupId, pageChildrenSec);
|
|
15020
|
-
useEditorStore.getState().updateNode(movedGroupId, { left: storePosGroup.left, top: storePosGroup.top }, { recordHistory: false, skipLayoutRecalc: true });
|
|
15129
|
+
useEditorStore.getState().updateNode(movedGroupId, { left: storePosGroup.left, top: storePosGroup.top, angle: fabricSectionGroup.angle ?? 0 }, { recordHistory: false, skipLayoutRecalc: true });
|
|
15021
15130
|
}
|
|
15022
15131
|
commitHistory();
|
|
15023
15132
|
unlockEditsSoon();
|
|
@@ -15160,7 +15269,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15160
15269
|
const groupLeft = centerX - w / 2;
|
|
15161
15270
|
const groupTop = centerY - h / 2;
|
|
15162
15271
|
const storePosGroup = absoluteToStorePosition(groupLeft, groupTop, groupId, pageChildrenSec);
|
|
15163
|
-
useEditorStore.getState().updateNode(groupId, { left: storePosGroup.left, top: storePosGroup.top }, { recordHistory: false, skipLayoutRecalc: true });
|
|
15272
|
+
useEditorStore.getState().updateNode(groupId, { left: storePosGroup.left, top: storePosGroup.top, angle: active.angle ?? 0 }, { recordHistory: false, skipLayoutRecalc: true });
|
|
15164
15273
|
}
|
|
15165
15274
|
const node = findNodeById(pageChildrenSec, groupId);
|
|
15166
15275
|
if (isChildModified && node && !groupMoved) {
|
|
@@ -15189,7 +15298,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15189
15298
|
const groupLeft = active.originX === "center" ? centerX - w / 2 : centerX;
|
|
15190
15299
|
const groupTop = active.originY === "center" ? centerY - h / 2 : centerY;
|
|
15191
15300
|
const storePos = absoluteToStorePosition(groupLeft, groupTop, groupId, pageChildren3);
|
|
15192
|
-
useEditorStore.getState().updateNode(groupId, { left: storePos.left, top: storePos.top }, { recordHistory: false, skipLayoutRecalc: true });
|
|
15301
|
+
useEditorStore.getState().updateNode(groupId, { left: storePos.left, top: storePos.top, angle: active.angle ?? 0 }, { recordHistory: false, skipLayoutRecalc: true });
|
|
15193
15302
|
commitHistory();
|
|
15194
15303
|
unlockEditsSoon();
|
|
15195
15304
|
return;
|
|
@@ -16014,9 +16123,11 @@ const PageCanvas = react.forwardRef(
|
|
|
16014
16123
|
} catch {
|
|
16015
16124
|
}
|
|
16016
16125
|
fabricCanvas.setActiveObject(newSel);
|
|
16017
|
-
|
|
16018
|
-
|
|
16019
|
-
|
|
16126
|
+
if (!wasGroupSel) {
|
|
16127
|
+
try {
|
|
16128
|
+
(_j = newSel.triggerLayout) == null ? void 0 : _j.call(newSel);
|
|
16129
|
+
} catch {
|
|
16130
|
+
}
|
|
16020
16131
|
}
|
|
16021
16132
|
try {
|
|
16022
16133
|
for (const member of membersToReselect) member.setCoords();
|
|
@@ -16393,7 +16504,12 @@ const PageCanvas = react.forwardRef(
|
|
|
16393
16504
|
const prevAS = activeBeforeSync instanceof fabric__namespace.ActiveSelection ? activeBeforeSync : null;
|
|
16394
16505
|
const prevMembers = prevAS ? prevAS.getObjects() : [];
|
|
16395
16506
|
const sameMembers = !!prevAS && prevMembers.length === freshMembers.length && prevMembers.every((m) => freshMembers.includes(m));
|
|
16396
|
-
const
|
|
16507
|
+
const savedSnapshotAngle = activeSelectionSnapshot.groupSelectionId ? (() => {
|
|
16508
|
+
const groupNode = findNodeById(pageTree, activeSelectionSnapshot.groupSelectionId);
|
|
16509
|
+
return groupNode && isGroup(groupNode) && typeof groupNode.angle === "number" ? groupNode.angle : null;
|
|
16510
|
+
})() : null;
|
|
16511
|
+
const prevAlignedAngle = sameMembers ? prevAS.__pixldocsAlignedAngle : null;
|
|
16512
|
+
const alreadyAligned = sameMembers && typeof prevAlignedAngle === "number" && (savedSnapshotAngle == null || Math.abs(normalizeAngle180(prevAlignedAngle - savedSnapshotAngle)) <= 0.01);
|
|
16397
16513
|
if (sameMembers && alreadyAligned) {
|
|
16398
16514
|
try {
|
|
16399
16515
|
ensureCanvaControlRenders(prevAS);
|
|
@@ -17435,11 +17551,10 @@ const PageCanvas = react.forwardRef(
|
|
|
17435
17551
|
if (sameSelection && (isFlatGroupSelection || isPureSingleGroupSelection)) {
|
|
17436
17552
|
if (selectedGroupSelectionId && active instanceof fabric__namespace.ActiveSelection) {
|
|
17437
17553
|
if (isPureSingleGroupSelection) {
|
|
17438
|
-
active
|
|
17439
|
-
delete active.__pixldocsLogicalGroupIds;
|
|
17440
|
-
suppressGroupMemberBordersRef.current = active.getObjects();
|
|
17554
|
+
applyLogicalGroupSelectionVisualState(active, selectedGroupSelectionId);
|
|
17441
17555
|
} else {
|
|
17442
17556
|
delete active.__pixldocsGroupSelection;
|
|
17557
|
+
delete active.__pixldocsGroupAngle;
|
|
17443
17558
|
active.__pixldocsLogicalGroupIds = selectedGroupIds;
|
|
17444
17559
|
active.hasBorders = true;
|
|
17445
17560
|
suppressGroupMemberBordersRef.current = active.getObjects().filter((m) => {
|
|
@@ -17479,10 +17594,10 @@ const PageCanvas = react.forwardRef(
|
|
|
17479
17594
|
const selection = new fabric__namespace.ActiveSelection(toSelect, { canvas: fc });
|
|
17480
17595
|
if (selectedGroupSelectionId) {
|
|
17481
17596
|
if (isPureSingleGroupSelection) {
|
|
17482
|
-
selection
|
|
17483
|
-
suppressGroupMemberBordersRef.current = toSelect;
|
|
17597
|
+
applyLogicalGroupSelectionVisualState(selection, selectedGroupSelectionId);
|
|
17484
17598
|
} else {
|
|
17485
17599
|
selection.__pixldocsLogicalGroupIds = selectedGroupIds;
|
|
17600
|
+
delete selection.__pixldocsGroupAngle;
|
|
17486
17601
|
selection.hasBorders = true;
|
|
17487
17602
|
suppressGroupMemberBordersRef.current = toSelect.filter((m) => {
|
|
17488
17603
|
const id = getObjectId(m);
|
|
@@ -25125,9 +25240,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
25125
25240
|
}
|
|
25126
25241
|
return svgString;
|
|
25127
25242
|
}
|
|
25128
|
-
const resolvedPackageVersion = "0.5.
|
|
25243
|
+
const resolvedPackageVersion = "0.5.395";
|
|
25129
25244
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
25130
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
25245
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.395";
|
|
25131
25246
|
const roundParityValue = (value) => {
|
|
25132
25247
|
if (typeof value !== "number") return value;
|
|
25133
25248
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -25941,7 +26056,7 @@ class PixldocsRenderer {
|
|
|
25941
26056
|
await this.waitForCanvasScene(container, cloned, i);
|
|
25942
26057
|
}
|
|
25943
26058
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
25944
|
-
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
26059
|
+
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-BFZzT33a.cjs"));
|
|
25945
26060
|
const prepared = preparePagesForExport(
|
|
25946
26061
|
cloned.pages,
|
|
25947
26062
|
canvasWidth,
|
|
@@ -28261,7 +28376,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
28261
28376
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
28262
28377
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
28263
28378
|
try {
|
|
28264
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
28379
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-BFZzT33a.cjs"));
|
|
28265
28380
|
try {
|
|
28266
28381
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
28267
28382
|
} catch {
|
|
@@ -28658,4 +28773,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
|
|
|
28658
28773
|
exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
|
|
28659
28774
|
exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
|
|
28660
28775
|
exports.warmTemplateFromForm = warmTemplateFromForm;
|
|
28661
|
-
//# sourceMappingURL=index-
|
|
28776
|
+
//# sourceMappingURL=index-apZqfLuE.cjs.map
|