@pixldocs/canvas-renderer 0.5.402 → 0.5.403
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-CF2nx5LE.js → index-B8c2DkaJ.js} +30 -22
- package/dist/index-B8c2DkaJ.js.map +1 -0
- package/dist/{index-CkhKSrXp.cjs → index-Bp9XxxF8.cjs} +30 -22
- package/dist/index-Bp9XxxF8.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{vectorPdfExport-CuA61scC.cjs → vectorPdfExport-BevFDNWQ.cjs} +4 -4
- package/dist/{vectorPdfExport-CuA61scC.cjs.map → vectorPdfExport-BevFDNWQ.cjs.map} +1 -1
- package/dist/{vectorPdfExport-Bo_XOpSd.js → vectorPdfExport-V449U4Y7.js} +4 -4
- package/dist/{vectorPdfExport-Bo_XOpSd.js.map → vectorPdfExport-V449U4Y7.js.map} +1 -1
- package/package.json +1 -1
- package/dist/index-CF2nx5LE.js.map +0 -1
- package/dist/index-CkhKSrXp.cjs.map +0 -1
|
@@ -11502,8 +11502,8 @@ function applyWarpAwareSelectionBorders(selection) {
|
|
|
11502
11502
|
let targetAngle = null;
|
|
11503
11503
|
const isLogicalGroupSelection = !!selection.__pixldocsGroupSelection;
|
|
11504
11504
|
const frozenGroupAngle = selection.__pixldocsFrozenGroupAngle;
|
|
11505
|
-
if (isLogicalGroupSelection
|
|
11506
|
-
targetAngle = frozenGroupAngle;
|
|
11505
|
+
if (isLogicalGroupSelection) {
|
|
11506
|
+
targetAngle = typeof frozenGroupAngle === "number" ? frozenGroupAngle : 0;
|
|
11507
11507
|
}
|
|
11508
11508
|
if (targetAngle == null && dominant && Math.abs(dominant.angle) > 0.5 && // Canva-style: a *logical group* bbox is authoritative from the
|
|
11509
11509
|
// persisted group.angle only. Individual child rotations must not
|
|
@@ -13237,7 +13237,7 @@ const PageCanvas = forwardRef(
|
|
|
13237
13237
|
transformingIdsRef.current.clear();
|
|
13238
13238
|
};
|
|
13239
13239
|
const prepareGroupSelectionTransformStart = (target) => {
|
|
13240
|
-
var _a2, _b2;
|
|
13240
|
+
var _a2, _b2, _c2;
|
|
13241
13241
|
const active = target instanceof fabric.ActiveSelection ? target : fabricCanvas.getActiveObject();
|
|
13242
13242
|
if (!(active instanceof fabric.ActiveSelection)) return;
|
|
13243
13243
|
if (!activeSelectionMoveStartRef.current || activeSelectionMoveStartRef.current.selection !== active) {
|
|
@@ -13256,6 +13256,8 @@ const PageCanvas = forwardRef(
|
|
|
13256
13256
|
if (!groupNode) return;
|
|
13257
13257
|
const groupAbs = getAbsoluteBounds(groupNode, pageChildren2);
|
|
13258
13258
|
const rect = active.getBoundingRect();
|
|
13259
|
+
const currentTransform = fabricCanvas._currentTransform;
|
|
13260
|
+
const originalSelectionAngle = (currentTransform == null ? void 0 : currentTransform.target) === active && typeof ((_c2 = currentTransform == null ? void 0 : currentTransform.original) == null ? void 0 : _c2.angle) === "number" ? currentTransform.original.angle : active.angle ?? 0;
|
|
13259
13261
|
groupSelectionTransformStartRef.current = {
|
|
13260
13262
|
groupId,
|
|
13261
13263
|
selection: active,
|
|
@@ -13263,7 +13265,8 @@ const PageCanvas = forwardRef(
|
|
|
13263
13265
|
selectionTop: rect.top,
|
|
13264
13266
|
groupLeft: groupAbs.left,
|
|
13265
13267
|
groupTop: groupAbs.top,
|
|
13266
|
-
selectionAngle: (
|
|
13268
|
+
selectionAngle: (originalSelectionAngle % 360 + 360) % 360,
|
|
13269
|
+
groupAngle: isGroup(groupNode) ? groupNode.angle ?? 0 : 0
|
|
13267
13270
|
};
|
|
13268
13271
|
logRotDriftSelectionSnapshot("transform-start", active, {
|
|
13269
13272
|
time: Math.round(performance.now()),
|
|
@@ -13696,6 +13699,7 @@ const PageCanvas = forwardRef(
|
|
|
13696
13699
|
fabricCanvas.__isUserTransforming = true;
|
|
13697
13700
|
syncLockedRef.current = true;
|
|
13698
13701
|
lockEdits();
|
|
13702
|
+
prepareGroupSelectionTransformStart(opt.target ?? null);
|
|
13699
13703
|
}
|
|
13700
13704
|
let target = opt.target;
|
|
13701
13705
|
let targetId = target ? getObjectId(target) : null;
|
|
@@ -14809,6 +14813,7 @@ const PageCanvas = forwardRef(
|
|
|
14809
14813
|
markSimpleTransform(e);
|
|
14810
14814
|
didTransformRef.current = true;
|
|
14811
14815
|
const tr = e.target;
|
|
14816
|
+
prepareGroupSelectionTransformStart(tr);
|
|
14812
14817
|
if (shouldLogRotDriftLiveTick(tr, "rotating")) {
|
|
14813
14818
|
logRotDriftSelectionSnapshot("rotating", tr, {
|
|
14814
14819
|
time: Math.round(performance.now()),
|
|
@@ -14921,7 +14926,7 @@ const PageCanvas = forwardRef(
|
|
|
14921
14926
|
});
|
|
14922
14927
|
let cropGroupSaveTimer = null;
|
|
14923
14928
|
fabricCanvas.on("object:modified", (e) => {
|
|
14924
|
-
var _a2, _b2, _c2, _d, _e, _f, _g, _h, _i, _j;
|
|
14929
|
+
var _a2, _b2, _c2, _d, _e, _f, _g, _h, _i, _j, _k;
|
|
14925
14930
|
try {
|
|
14926
14931
|
if (suppressObjectModifiedDuringInternalReselectRef.current) return;
|
|
14927
14932
|
dragStarted = false;
|
|
@@ -14947,13 +14952,16 @@ const PageCanvas = forwardRef(
|
|
|
14947
14952
|
const t = e.target;
|
|
14948
14953
|
if (t instanceof fabric.ActiveSelection) {
|
|
14949
14954
|
const gid = t.__pixldocsGroupSelection;
|
|
14950
|
-
const
|
|
14955
|
+
const transformStart = gid && ((_a2 = groupSelectionTransformStartRef.current) == null ? void 0 : _a2.groupId) === gid && groupSelectionTransformStartRef.current.selection === t ? groupSelectionTransformStartRef.current : null;
|
|
14956
|
+
const current = ((t.angle ?? 0) % 360 + 360) % 360;
|
|
14957
|
+
const start = (((transformStart == null ? void 0 : transformStart.selectionAngle) ?? (transformStart == null ? void 0 : transformStart.groupAngle) ?? 0) % 360 + 360) % 360;
|
|
14958
|
+
const delta = ((current - start) % 360 + 360) % 360;
|
|
14951
14959
|
const deltaSigned = delta > 180 ? delta - 360 : delta;
|
|
14952
14960
|
if (gid && Math.abs(deltaSigned) > 0.01) {
|
|
14953
14961
|
const pageNow = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId);
|
|
14954
14962
|
const node = pageNow ? findNodeById(pageNow.children ?? [], gid) : null;
|
|
14955
14963
|
if (node && isGroup(node)) {
|
|
14956
|
-
const prev = node.angle ?? 0;
|
|
14964
|
+
const prev = (transformStart == null ? void 0 : transformStart.groupAngle) ?? (node.angle ?? 0);
|
|
14957
14965
|
const next = ((prev + deltaSigned) % 360 + 360) % 360;
|
|
14958
14966
|
const nextSigned = next > 180 ? next - 360 : next;
|
|
14959
14967
|
useEditorStore.getState().updateNode(
|
|
@@ -14992,7 +15000,7 @@ const PageCanvas = forwardRef(
|
|
|
14992
15000
|
const active = fabricCanvas.getActiveObject();
|
|
14993
15001
|
const activeId = active ? getObjectId(active) : null;
|
|
14994
15002
|
if (active && activeId && activeId !== "__background__" && !(active instanceof fabric.Group)) {
|
|
14995
|
-
const pageChildrenForParent = ((
|
|
15003
|
+
const pageChildrenForParent = ((_b2 = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _b2.children) ?? [];
|
|
14996
15004
|
const parentGroup = findParentGroup(pageChildrenForParent, activeId);
|
|
14997
15005
|
if (parentGroup && isGroup(parentGroup) && parentGroup.backgroundColor) {
|
|
14998
15006
|
let fabricSectionGroup = active.group && active.group instanceof fabric.Group ? active.group : null;
|
|
@@ -15074,7 +15082,7 @@ const PageCanvas = forwardRef(
|
|
|
15074
15082
|
useEditorStore.getState().reflowStackGroupInPage(pageId, groupId);
|
|
15075
15083
|
}
|
|
15076
15084
|
const stateAfter = useEditorStore.getState();
|
|
15077
|
-
const pageAfter = ((
|
|
15085
|
+
const pageAfter = ((_c2 = stateAfter.canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _c2.children) ?? [];
|
|
15078
15086
|
const groupNodeAfter = findNodeById(pageAfter, groupId);
|
|
15079
15087
|
if (groupNodeAfter) {
|
|
15080
15088
|
const abs = getAbsoluteBounds(groupNodeAfter, pageAfter);
|
|
@@ -15136,7 +15144,7 @@ const PageCanvas = forwardRef(
|
|
|
15136
15144
|
}
|
|
15137
15145
|
if (active && active instanceof fabric.Group && active.__docuforgeSectionGroup && getObjectId(active)) {
|
|
15138
15146
|
const groupId = getObjectId(active);
|
|
15139
|
-
const pageChildrenSec = ((
|
|
15147
|
+
const pageChildrenSec = ((_d = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _d.children) ?? [];
|
|
15140
15148
|
const modifiedTarget2 = e == null ? void 0 : e.target;
|
|
15141
15149
|
const resizeScaleTarget = lastResizeScaleTargetRef.current;
|
|
15142
15150
|
lastResizeScaleTargetRef.current = null;
|
|
@@ -15167,7 +15175,7 @@ const PageCanvas = forwardRef(
|
|
|
15167
15175
|
const node = findNodeById(pageChildrenSec, groupId);
|
|
15168
15176
|
if (isChildModified && node && !groupMoved) {
|
|
15169
15177
|
const stateAfter = useEditorStore.getState();
|
|
15170
|
-
const pageAfter = ((
|
|
15178
|
+
const pageAfter = ((_e = stateAfter.canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _e.children) ?? [];
|
|
15171
15179
|
const groupNodeAfter = findNodeById(pageAfter, groupId);
|
|
15172
15180
|
if (groupNodeAfter) {
|
|
15173
15181
|
const abs = getAbsoluteBounds(groupNodeAfter, pageAfter);
|
|
@@ -15183,7 +15191,7 @@ const PageCanvas = forwardRef(
|
|
|
15183
15191
|
}
|
|
15184
15192
|
if (active && active instanceof fabric.Group && !(active instanceof fabric.ActiveSelection) && getObjectId(active)) {
|
|
15185
15193
|
const groupId = getObjectId(active);
|
|
15186
|
-
const pageChildren3 = ((
|
|
15194
|
+
const pageChildren3 = ((_f = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _f.children) ?? [];
|
|
15187
15195
|
const w = (active.width ?? 0) * (active.scaleX ?? 1);
|
|
15188
15196
|
const h = (active.height ?? 0) * (active.scaleY ?? 1);
|
|
15189
15197
|
const centerX = active.left ?? 0;
|
|
@@ -15205,7 +15213,7 @@ const PageCanvas = forwardRef(
|
|
|
15205
15213
|
}
|
|
15206
15214
|
const activeObj = fabricCanvas.getActiveObject();
|
|
15207
15215
|
let activeObjects = fabricCanvas.getActiveObjects();
|
|
15208
|
-
const activeSelectionMoveStart = activeObj instanceof fabric.ActiveSelection && ((
|
|
15216
|
+
const activeSelectionMoveStart = activeObj instanceof fabric.ActiveSelection && ((_g = activeSelectionMoveStartRef.current) == null ? void 0 : _g.selection) === activeObj ? activeSelectionMoveStartRef.current : null;
|
|
15209
15217
|
const activeSelectionDelta = activeObj instanceof fabric.ActiveSelection && activeSelectionMoveStart ? (() => {
|
|
15210
15218
|
const rect = activeObj.getBoundingRect();
|
|
15211
15219
|
return {
|
|
@@ -15597,7 +15605,7 @@ const PageCanvas = forwardRef(
|
|
|
15597
15605
|
const localScaleX = 1 / sx;
|
|
15598
15606
|
const localScaleY = 1 / sy;
|
|
15599
15607
|
obj.set({ scaleX: localScaleX, scaleY: localScaleY });
|
|
15600
|
-
const selectionMatrix = (
|
|
15608
|
+
const selectionMatrix = (_h = activeObj == null ? void 0 : activeObj.calcTransformMatrix) == null ? void 0 : _h.call(activeObj);
|
|
15601
15609
|
const localCenter = selectionMatrix ? fabric.util.transformPoint(preBakeCenter, fabric.util.invertTransform(selectionMatrix)) : preBakeCenter;
|
|
15602
15610
|
const localWidth = bakedW * localScaleX;
|
|
15603
15611
|
const localHeight = bakedH * localScaleY;
|
|
@@ -15722,7 +15730,7 @@ const PageCanvas = forwardRef(
|
|
|
15722
15730
|
const localScaleX = 1 / sx;
|
|
15723
15731
|
const localScaleY = 1 / sy;
|
|
15724
15732
|
obj.set({ scaleX: localScaleX, scaleY: localScaleY });
|
|
15725
|
-
const selectionMatrix = (
|
|
15733
|
+
const selectionMatrix = (_i = activeObj == null ? void 0 : activeObj.calcTransformMatrix) == null ? void 0 : _i.call(activeObj);
|
|
15726
15734
|
const localCenter = selectionMatrix ? fabric.util.transformPoint(preBakeCenter, fabric.util.invertTransform(selectionMatrix)) : preBakeCenter;
|
|
15727
15735
|
const localWidth = bakedWidth * localScaleX;
|
|
15728
15736
|
const localHeight = (obj.height ?? intrinsicHeight) * localScaleY;
|
|
@@ -15930,7 +15938,7 @@ const PageCanvas = forwardRef(
|
|
|
15930
15938
|
updateElement(objId, elementUpdate, { recordHistory: false, skipLayoutRecalc: true });
|
|
15931
15939
|
obj.setCoords();
|
|
15932
15940
|
}
|
|
15933
|
-
const pageChildrenForReflow = ((
|
|
15941
|
+
const pageChildrenForReflow = ((_j = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _j.children) ?? [];
|
|
15934
15942
|
const stackGroupsToReflow = /* @__PURE__ */ new Set();
|
|
15935
15943
|
for (const id of modifiedIdsThisRound) {
|
|
15936
15944
|
const parent = findParentGroup(pageChildrenForReflow, id);
|
|
@@ -16009,7 +16017,7 @@ const PageCanvas = forwardRef(
|
|
|
16009
16017
|
}
|
|
16010
16018
|
fabricCanvas.setActiveObject(newSel);
|
|
16011
16019
|
try {
|
|
16012
|
-
(
|
|
16020
|
+
(_k = newSel.triggerLayout) == null ? void 0 : _k.call(newSel);
|
|
16013
16021
|
} catch {
|
|
16014
16022
|
}
|
|
16015
16023
|
try {
|
|
@@ -25119,9 +25127,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
25119
25127
|
}
|
|
25120
25128
|
return svgString;
|
|
25121
25129
|
}
|
|
25122
|
-
const resolvedPackageVersion = "0.5.
|
|
25130
|
+
const resolvedPackageVersion = "0.5.403";
|
|
25123
25131
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
25124
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
25132
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.403";
|
|
25125
25133
|
const roundParityValue = (value) => {
|
|
25126
25134
|
if (typeof value !== "number") return value;
|
|
25127
25135
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -25935,7 +25943,7 @@ class PixldocsRenderer {
|
|
|
25935
25943
|
await this.waitForCanvasScene(container, cloned, i);
|
|
25936
25944
|
}
|
|
25937
25945
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
25938
|
-
const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-
|
|
25946
|
+
const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-V449U4Y7.js");
|
|
25939
25947
|
const prepared = preparePagesForExport(
|
|
25940
25948
|
cloned.pages,
|
|
25941
25949
|
canvasWidth,
|
|
@@ -28255,7 +28263,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
28255
28263
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
28256
28264
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
28257
28265
|
try {
|
|
28258
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-
|
|
28266
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-V449U4Y7.js");
|
|
28259
28267
|
try {
|
|
28260
28268
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
28261
28269
|
} catch {
|
|
@@ -28655,4 +28663,4 @@ export {
|
|
|
28655
28663
|
buildTeaserBlurFlatKeys as y,
|
|
28656
28664
|
collectFontDescriptorsFromConfig as z
|
|
28657
28665
|
};
|
|
28658
|
-
//# sourceMappingURL=index-
|
|
28666
|
+
//# sourceMappingURL=index-B8c2DkaJ.js.map
|