@pixldocs/canvas-renderer 0.5.402 → 0.5.404
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-CkhKSrXp.cjs → index-BsKKxOH4.cjs} +38 -22
- package/dist/index-BsKKxOH4.cjs.map +1 -0
- package/dist/{index-CF2nx5LE.js → index-FljS6ssY.js} +38 -22
- package/dist/index-FljS6ssY.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{vectorPdfExport-CuA61scC.cjs → vectorPdfExport-CMUgVgvn.cjs} +4 -4
- package/dist/{vectorPdfExport-CuA61scC.cjs.map → vectorPdfExport-CMUgVgvn.cjs.map} +1 -1
- package/dist/{vectorPdfExport-Bo_XOpSd.js → vectorPdfExport-CWHd6dnp.js} +4 -4
- package/dist/{vectorPdfExport-Bo_XOpSd.js.map → vectorPdfExport-CWHd6dnp.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;
|
|
@@ -14387,6 +14391,14 @@ const PageCanvas = forwardRef(
|
|
|
14387
14391
|
const asRect0 = obj.getBoundingRect();
|
|
14388
14392
|
let didReflowTextChild = false;
|
|
14389
14393
|
for (const child of obj.getObjects()) {
|
|
14394
|
+
const childLocalAngle = child.__asLiveOrigAngle != null ? child.__asLiveOrigAngle : child.angle ?? 0;
|
|
14395
|
+
const isRotatedChild = Math.abs((childLocalAngle % 360 + 360) % 360) > 0.5 && Math.abs((childLocalAngle % 360 + 360) % 360 - 360) > 0.5;
|
|
14396
|
+
if (isRotatedChild) {
|
|
14397
|
+
if (child.__asLiveOrigAngle == null) {
|
|
14398
|
+
child.__asLiveOrigAngle = child.angle ?? 0;
|
|
14399
|
+
}
|
|
14400
|
+
continue;
|
|
14401
|
+
}
|
|
14390
14402
|
if (child instanceof fabric.Group && (child.__cropGroup || ((_f = child._ct) == null ? void 0 : _f.isCropGroup))) {
|
|
14391
14403
|
const ct = child.__cropData;
|
|
14392
14404
|
if (!ct) continue;
|
|
@@ -14809,6 +14821,7 @@ const PageCanvas = forwardRef(
|
|
|
14809
14821
|
markSimpleTransform(e);
|
|
14810
14822
|
didTransformRef.current = true;
|
|
14811
14823
|
const tr = e.target;
|
|
14824
|
+
prepareGroupSelectionTransformStart(tr);
|
|
14812
14825
|
if (shouldLogRotDriftLiveTick(tr, "rotating")) {
|
|
14813
14826
|
logRotDriftSelectionSnapshot("rotating", tr, {
|
|
14814
14827
|
time: Math.round(performance.now()),
|
|
@@ -14921,7 +14934,7 @@ const PageCanvas = forwardRef(
|
|
|
14921
14934
|
});
|
|
14922
14935
|
let cropGroupSaveTimer = null;
|
|
14923
14936
|
fabricCanvas.on("object:modified", (e) => {
|
|
14924
|
-
var _a2, _b2, _c2, _d, _e, _f, _g, _h, _i, _j;
|
|
14937
|
+
var _a2, _b2, _c2, _d, _e, _f, _g, _h, _i, _j, _k;
|
|
14925
14938
|
try {
|
|
14926
14939
|
if (suppressObjectModifiedDuringInternalReselectRef.current) return;
|
|
14927
14940
|
dragStarted = false;
|
|
@@ -14947,13 +14960,16 @@ const PageCanvas = forwardRef(
|
|
|
14947
14960
|
const t = e.target;
|
|
14948
14961
|
if (t instanceof fabric.ActiveSelection) {
|
|
14949
14962
|
const gid = t.__pixldocsGroupSelection;
|
|
14950
|
-
const
|
|
14963
|
+
const transformStart = gid && ((_a2 = groupSelectionTransformStartRef.current) == null ? void 0 : _a2.groupId) === gid && groupSelectionTransformStartRef.current.selection === t ? groupSelectionTransformStartRef.current : null;
|
|
14964
|
+
const current = ((t.angle ?? 0) % 360 + 360) % 360;
|
|
14965
|
+
const start = (((transformStart == null ? void 0 : transformStart.selectionAngle) ?? (transformStart == null ? void 0 : transformStart.groupAngle) ?? 0) % 360 + 360) % 360;
|
|
14966
|
+
const delta = ((current - start) % 360 + 360) % 360;
|
|
14951
14967
|
const deltaSigned = delta > 180 ? delta - 360 : delta;
|
|
14952
14968
|
if (gid && Math.abs(deltaSigned) > 0.01) {
|
|
14953
14969
|
const pageNow = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId);
|
|
14954
14970
|
const node = pageNow ? findNodeById(pageNow.children ?? [], gid) : null;
|
|
14955
14971
|
if (node && isGroup(node)) {
|
|
14956
|
-
const prev = node.angle ?? 0;
|
|
14972
|
+
const prev = (transformStart == null ? void 0 : transformStart.groupAngle) ?? (node.angle ?? 0);
|
|
14957
14973
|
const next = ((prev + deltaSigned) % 360 + 360) % 360;
|
|
14958
14974
|
const nextSigned = next > 180 ? next - 360 : next;
|
|
14959
14975
|
useEditorStore.getState().updateNode(
|
|
@@ -14992,7 +15008,7 @@ const PageCanvas = forwardRef(
|
|
|
14992
15008
|
const active = fabricCanvas.getActiveObject();
|
|
14993
15009
|
const activeId = active ? getObjectId(active) : null;
|
|
14994
15010
|
if (active && activeId && activeId !== "__background__" && !(active instanceof fabric.Group)) {
|
|
14995
|
-
const pageChildrenForParent = ((
|
|
15011
|
+
const pageChildrenForParent = ((_b2 = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _b2.children) ?? [];
|
|
14996
15012
|
const parentGroup = findParentGroup(pageChildrenForParent, activeId);
|
|
14997
15013
|
if (parentGroup && isGroup(parentGroup) && parentGroup.backgroundColor) {
|
|
14998
15014
|
let fabricSectionGroup = active.group && active.group instanceof fabric.Group ? active.group : null;
|
|
@@ -15074,7 +15090,7 @@ const PageCanvas = forwardRef(
|
|
|
15074
15090
|
useEditorStore.getState().reflowStackGroupInPage(pageId, groupId);
|
|
15075
15091
|
}
|
|
15076
15092
|
const stateAfter = useEditorStore.getState();
|
|
15077
|
-
const pageAfter = ((
|
|
15093
|
+
const pageAfter = ((_c2 = stateAfter.canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _c2.children) ?? [];
|
|
15078
15094
|
const groupNodeAfter = findNodeById(pageAfter, groupId);
|
|
15079
15095
|
if (groupNodeAfter) {
|
|
15080
15096
|
const abs = getAbsoluteBounds(groupNodeAfter, pageAfter);
|
|
@@ -15136,7 +15152,7 @@ const PageCanvas = forwardRef(
|
|
|
15136
15152
|
}
|
|
15137
15153
|
if (active && active instanceof fabric.Group && active.__docuforgeSectionGroup && getObjectId(active)) {
|
|
15138
15154
|
const groupId = getObjectId(active);
|
|
15139
|
-
const pageChildrenSec = ((
|
|
15155
|
+
const pageChildrenSec = ((_d = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _d.children) ?? [];
|
|
15140
15156
|
const modifiedTarget2 = e == null ? void 0 : e.target;
|
|
15141
15157
|
const resizeScaleTarget = lastResizeScaleTargetRef.current;
|
|
15142
15158
|
lastResizeScaleTargetRef.current = null;
|
|
@@ -15167,7 +15183,7 @@ const PageCanvas = forwardRef(
|
|
|
15167
15183
|
const node = findNodeById(pageChildrenSec, groupId);
|
|
15168
15184
|
if (isChildModified && node && !groupMoved) {
|
|
15169
15185
|
const stateAfter = useEditorStore.getState();
|
|
15170
|
-
const pageAfter = ((
|
|
15186
|
+
const pageAfter = ((_e = stateAfter.canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _e.children) ?? [];
|
|
15171
15187
|
const groupNodeAfter = findNodeById(pageAfter, groupId);
|
|
15172
15188
|
if (groupNodeAfter) {
|
|
15173
15189
|
const abs = getAbsoluteBounds(groupNodeAfter, pageAfter);
|
|
@@ -15183,7 +15199,7 @@ const PageCanvas = forwardRef(
|
|
|
15183
15199
|
}
|
|
15184
15200
|
if (active && active instanceof fabric.Group && !(active instanceof fabric.ActiveSelection) && getObjectId(active)) {
|
|
15185
15201
|
const groupId = getObjectId(active);
|
|
15186
|
-
const pageChildren3 = ((
|
|
15202
|
+
const pageChildren3 = ((_f = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _f.children) ?? [];
|
|
15187
15203
|
const w = (active.width ?? 0) * (active.scaleX ?? 1);
|
|
15188
15204
|
const h = (active.height ?? 0) * (active.scaleY ?? 1);
|
|
15189
15205
|
const centerX = active.left ?? 0;
|
|
@@ -15205,7 +15221,7 @@ const PageCanvas = forwardRef(
|
|
|
15205
15221
|
}
|
|
15206
15222
|
const activeObj = fabricCanvas.getActiveObject();
|
|
15207
15223
|
let activeObjects = fabricCanvas.getActiveObjects();
|
|
15208
|
-
const activeSelectionMoveStart = activeObj instanceof fabric.ActiveSelection && ((
|
|
15224
|
+
const activeSelectionMoveStart = activeObj instanceof fabric.ActiveSelection && ((_g = activeSelectionMoveStartRef.current) == null ? void 0 : _g.selection) === activeObj ? activeSelectionMoveStartRef.current : null;
|
|
15209
15225
|
const activeSelectionDelta = activeObj instanceof fabric.ActiveSelection && activeSelectionMoveStart ? (() => {
|
|
15210
15226
|
const rect = activeObj.getBoundingRect();
|
|
15211
15227
|
return {
|
|
@@ -15597,7 +15613,7 @@ const PageCanvas = forwardRef(
|
|
|
15597
15613
|
const localScaleX = 1 / sx;
|
|
15598
15614
|
const localScaleY = 1 / sy;
|
|
15599
15615
|
obj.set({ scaleX: localScaleX, scaleY: localScaleY });
|
|
15600
|
-
const selectionMatrix = (
|
|
15616
|
+
const selectionMatrix = (_h = activeObj == null ? void 0 : activeObj.calcTransformMatrix) == null ? void 0 : _h.call(activeObj);
|
|
15601
15617
|
const localCenter = selectionMatrix ? fabric.util.transformPoint(preBakeCenter, fabric.util.invertTransform(selectionMatrix)) : preBakeCenter;
|
|
15602
15618
|
const localWidth = bakedW * localScaleX;
|
|
15603
15619
|
const localHeight = bakedH * localScaleY;
|
|
@@ -15722,7 +15738,7 @@ const PageCanvas = forwardRef(
|
|
|
15722
15738
|
const localScaleX = 1 / sx;
|
|
15723
15739
|
const localScaleY = 1 / sy;
|
|
15724
15740
|
obj.set({ scaleX: localScaleX, scaleY: localScaleY });
|
|
15725
|
-
const selectionMatrix = (
|
|
15741
|
+
const selectionMatrix = (_i = activeObj == null ? void 0 : activeObj.calcTransformMatrix) == null ? void 0 : _i.call(activeObj);
|
|
15726
15742
|
const localCenter = selectionMatrix ? fabric.util.transformPoint(preBakeCenter, fabric.util.invertTransform(selectionMatrix)) : preBakeCenter;
|
|
15727
15743
|
const localWidth = bakedWidth * localScaleX;
|
|
15728
15744
|
const localHeight = (obj.height ?? intrinsicHeight) * localScaleY;
|
|
@@ -15930,7 +15946,7 @@ const PageCanvas = forwardRef(
|
|
|
15930
15946
|
updateElement(objId, elementUpdate, { recordHistory: false, skipLayoutRecalc: true });
|
|
15931
15947
|
obj.setCoords();
|
|
15932
15948
|
}
|
|
15933
|
-
const pageChildrenForReflow = ((
|
|
15949
|
+
const pageChildrenForReflow = ((_j = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _j.children) ?? [];
|
|
15934
15950
|
const stackGroupsToReflow = /* @__PURE__ */ new Set();
|
|
15935
15951
|
for (const id of modifiedIdsThisRound) {
|
|
15936
15952
|
const parent = findParentGroup(pageChildrenForReflow, id);
|
|
@@ -16009,7 +16025,7 @@ const PageCanvas = forwardRef(
|
|
|
16009
16025
|
}
|
|
16010
16026
|
fabricCanvas.setActiveObject(newSel);
|
|
16011
16027
|
try {
|
|
16012
|
-
(
|
|
16028
|
+
(_k = newSel.triggerLayout) == null ? void 0 : _k.call(newSel);
|
|
16013
16029
|
} catch {
|
|
16014
16030
|
}
|
|
16015
16031
|
try {
|
|
@@ -25119,9 +25135,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
25119
25135
|
}
|
|
25120
25136
|
return svgString;
|
|
25121
25137
|
}
|
|
25122
|
-
const resolvedPackageVersion = "0.5.
|
|
25138
|
+
const resolvedPackageVersion = "0.5.404";
|
|
25123
25139
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
25124
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
25140
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.404";
|
|
25125
25141
|
const roundParityValue = (value) => {
|
|
25126
25142
|
if (typeof value !== "number") return value;
|
|
25127
25143
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -25935,7 +25951,7 @@ class PixldocsRenderer {
|
|
|
25935
25951
|
await this.waitForCanvasScene(container, cloned, i);
|
|
25936
25952
|
}
|
|
25937
25953
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
25938
|
-
const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-
|
|
25954
|
+
const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-CWHd6dnp.js");
|
|
25939
25955
|
const prepared = preparePagesForExport(
|
|
25940
25956
|
cloned.pages,
|
|
25941
25957
|
canvasWidth,
|
|
@@ -28255,7 +28271,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
28255
28271
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
28256
28272
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
28257
28273
|
try {
|
|
28258
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-
|
|
28274
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-CWHd6dnp.js");
|
|
28259
28275
|
try {
|
|
28260
28276
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
28261
28277
|
} catch {
|
|
@@ -28655,4 +28671,4 @@ export {
|
|
|
28655
28671
|
buildTeaserBlurFlatKeys as y,
|
|
28656
28672
|
collectFontDescriptorsFromConfig as z
|
|
28657
28673
|
};
|
|
28658
|
-
//# sourceMappingURL=index-
|
|
28674
|
+
//# sourceMappingURL=index-FljS6ssY.js.map
|