@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
|
@@ -11520,8 +11520,8 @@ function applyWarpAwareSelectionBorders(selection) {
|
|
|
11520
11520
|
let targetAngle = null;
|
|
11521
11521
|
const isLogicalGroupSelection = !!selection.__pixldocsGroupSelection;
|
|
11522
11522
|
const frozenGroupAngle = selection.__pixldocsFrozenGroupAngle;
|
|
11523
|
-
if (isLogicalGroupSelection
|
|
11524
|
-
targetAngle = frozenGroupAngle;
|
|
11523
|
+
if (isLogicalGroupSelection) {
|
|
11524
|
+
targetAngle = typeof frozenGroupAngle === "number" ? frozenGroupAngle : 0;
|
|
11525
11525
|
}
|
|
11526
11526
|
if (targetAngle == null && dominant && Math.abs(dominant.angle) > 0.5 && // Canva-style: a *logical group* bbox is authoritative from the
|
|
11527
11527
|
// persisted group.angle only. Individual child rotations must not
|
|
@@ -13255,7 +13255,7 @@ const PageCanvas = react.forwardRef(
|
|
|
13255
13255
|
transformingIdsRef.current.clear();
|
|
13256
13256
|
};
|
|
13257
13257
|
const prepareGroupSelectionTransformStart = (target) => {
|
|
13258
|
-
var _a2, _b2;
|
|
13258
|
+
var _a2, _b2, _c2;
|
|
13259
13259
|
const active = target instanceof fabric__namespace.ActiveSelection ? target : fabricCanvas.getActiveObject();
|
|
13260
13260
|
if (!(active instanceof fabric__namespace.ActiveSelection)) return;
|
|
13261
13261
|
if (!activeSelectionMoveStartRef.current || activeSelectionMoveStartRef.current.selection !== active) {
|
|
@@ -13274,6 +13274,8 @@ const PageCanvas = react.forwardRef(
|
|
|
13274
13274
|
if (!groupNode) return;
|
|
13275
13275
|
const groupAbs = getAbsoluteBounds(groupNode, pageChildren2);
|
|
13276
13276
|
const rect = active.getBoundingRect();
|
|
13277
|
+
const currentTransform = fabricCanvas._currentTransform;
|
|
13278
|
+
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;
|
|
13277
13279
|
groupSelectionTransformStartRef.current = {
|
|
13278
13280
|
groupId,
|
|
13279
13281
|
selection: active,
|
|
@@ -13281,7 +13283,8 @@ const PageCanvas = react.forwardRef(
|
|
|
13281
13283
|
selectionTop: rect.top,
|
|
13282
13284
|
groupLeft: groupAbs.left,
|
|
13283
13285
|
groupTop: groupAbs.top,
|
|
13284
|
-
selectionAngle: (
|
|
13286
|
+
selectionAngle: (originalSelectionAngle % 360 + 360) % 360,
|
|
13287
|
+
groupAngle: isGroup(groupNode) ? groupNode.angle ?? 0 : 0
|
|
13285
13288
|
};
|
|
13286
13289
|
logRotDriftSelectionSnapshot("transform-start", active, {
|
|
13287
13290
|
time: Math.round(performance.now()),
|
|
@@ -13714,6 +13717,7 @@ const PageCanvas = react.forwardRef(
|
|
|
13714
13717
|
fabricCanvas.__isUserTransforming = true;
|
|
13715
13718
|
syncLockedRef.current = true;
|
|
13716
13719
|
lockEdits();
|
|
13720
|
+
prepareGroupSelectionTransformStart(opt.target ?? null);
|
|
13717
13721
|
}
|
|
13718
13722
|
let target = opt.target;
|
|
13719
13723
|
let targetId = target ? getObjectId(target) : null;
|
|
@@ -14827,6 +14831,7 @@ const PageCanvas = react.forwardRef(
|
|
|
14827
14831
|
markSimpleTransform(e);
|
|
14828
14832
|
didTransformRef.current = true;
|
|
14829
14833
|
const tr = e.target;
|
|
14834
|
+
prepareGroupSelectionTransformStart(tr);
|
|
14830
14835
|
if (shouldLogRotDriftLiveTick(tr, "rotating")) {
|
|
14831
14836
|
logRotDriftSelectionSnapshot("rotating", tr, {
|
|
14832
14837
|
time: Math.round(performance.now()),
|
|
@@ -14939,7 +14944,7 @@ const PageCanvas = react.forwardRef(
|
|
|
14939
14944
|
});
|
|
14940
14945
|
let cropGroupSaveTimer = null;
|
|
14941
14946
|
fabricCanvas.on("object:modified", (e) => {
|
|
14942
|
-
var _a2, _b2, _c2, _d, _e, _f, _g, _h, _i, _j;
|
|
14947
|
+
var _a2, _b2, _c2, _d, _e, _f, _g, _h, _i, _j, _k;
|
|
14943
14948
|
try {
|
|
14944
14949
|
if (suppressObjectModifiedDuringInternalReselectRef.current) return;
|
|
14945
14950
|
dragStarted = false;
|
|
@@ -14965,13 +14970,16 @@ const PageCanvas = react.forwardRef(
|
|
|
14965
14970
|
const t = e.target;
|
|
14966
14971
|
if (t instanceof fabric__namespace.ActiveSelection) {
|
|
14967
14972
|
const gid = t.__pixldocsGroupSelection;
|
|
14968
|
-
const
|
|
14973
|
+
const transformStart = gid && ((_a2 = groupSelectionTransformStartRef.current) == null ? void 0 : _a2.groupId) === gid && groupSelectionTransformStartRef.current.selection === t ? groupSelectionTransformStartRef.current : null;
|
|
14974
|
+
const current = ((t.angle ?? 0) % 360 + 360) % 360;
|
|
14975
|
+
const start = (((transformStart == null ? void 0 : transformStart.selectionAngle) ?? (transformStart == null ? void 0 : transformStart.groupAngle) ?? 0) % 360 + 360) % 360;
|
|
14976
|
+
const delta = ((current - start) % 360 + 360) % 360;
|
|
14969
14977
|
const deltaSigned = delta > 180 ? delta - 360 : delta;
|
|
14970
14978
|
if (gid && Math.abs(deltaSigned) > 0.01) {
|
|
14971
14979
|
const pageNow = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId);
|
|
14972
14980
|
const node = pageNow ? findNodeById(pageNow.children ?? [], gid) : null;
|
|
14973
14981
|
if (node && isGroup(node)) {
|
|
14974
|
-
const prev = node.angle ?? 0;
|
|
14982
|
+
const prev = (transformStart == null ? void 0 : transformStart.groupAngle) ?? (node.angle ?? 0);
|
|
14975
14983
|
const next = ((prev + deltaSigned) % 360 + 360) % 360;
|
|
14976
14984
|
const nextSigned = next > 180 ? next - 360 : next;
|
|
14977
14985
|
useEditorStore.getState().updateNode(
|
|
@@ -15010,7 +15018,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15010
15018
|
const active = fabricCanvas.getActiveObject();
|
|
15011
15019
|
const activeId = active ? getObjectId(active) : null;
|
|
15012
15020
|
if (active && activeId && activeId !== "__background__" && !(active instanceof fabric__namespace.Group)) {
|
|
15013
|
-
const pageChildrenForParent = ((
|
|
15021
|
+
const pageChildrenForParent = ((_b2 = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _b2.children) ?? [];
|
|
15014
15022
|
const parentGroup = findParentGroup(pageChildrenForParent, activeId);
|
|
15015
15023
|
if (parentGroup && isGroup(parentGroup) && parentGroup.backgroundColor) {
|
|
15016
15024
|
let fabricSectionGroup = active.group && active.group instanceof fabric__namespace.Group ? active.group : null;
|
|
@@ -15092,7 +15100,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15092
15100
|
useEditorStore.getState().reflowStackGroupInPage(pageId, groupId);
|
|
15093
15101
|
}
|
|
15094
15102
|
const stateAfter = useEditorStore.getState();
|
|
15095
|
-
const pageAfter = ((
|
|
15103
|
+
const pageAfter = ((_c2 = stateAfter.canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _c2.children) ?? [];
|
|
15096
15104
|
const groupNodeAfter = findNodeById(pageAfter, groupId);
|
|
15097
15105
|
if (groupNodeAfter) {
|
|
15098
15106
|
const abs = getAbsoluteBounds(groupNodeAfter, pageAfter);
|
|
@@ -15154,7 +15162,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15154
15162
|
}
|
|
15155
15163
|
if (active && active instanceof fabric__namespace.Group && active.__docuforgeSectionGroup && getObjectId(active)) {
|
|
15156
15164
|
const groupId = getObjectId(active);
|
|
15157
|
-
const pageChildrenSec = ((
|
|
15165
|
+
const pageChildrenSec = ((_d = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _d.children) ?? [];
|
|
15158
15166
|
const modifiedTarget2 = e == null ? void 0 : e.target;
|
|
15159
15167
|
const resizeScaleTarget = lastResizeScaleTargetRef.current;
|
|
15160
15168
|
lastResizeScaleTargetRef.current = null;
|
|
@@ -15185,7 +15193,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15185
15193
|
const node = findNodeById(pageChildrenSec, groupId);
|
|
15186
15194
|
if (isChildModified && node && !groupMoved) {
|
|
15187
15195
|
const stateAfter = useEditorStore.getState();
|
|
15188
|
-
const pageAfter = ((
|
|
15196
|
+
const pageAfter = ((_e = stateAfter.canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _e.children) ?? [];
|
|
15189
15197
|
const groupNodeAfter = findNodeById(pageAfter, groupId);
|
|
15190
15198
|
if (groupNodeAfter) {
|
|
15191
15199
|
const abs = getAbsoluteBounds(groupNodeAfter, pageAfter);
|
|
@@ -15201,7 +15209,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15201
15209
|
}
|
|
15202
15210
|
if (active && active instanceof fabric__namespace.Group && !(active instanceof fabric__namespace.ActiveSelection) && getObjectId(active)) {
|
|
15203
15211
|
const groupId = getObjectId(active);
|
|
15204
|
-
const pageChildren3 = ((
|
|
15212
|
+
const pageChildren3 = ((_f = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _f.children) ?? [];
|
|
15205
15213
|
const w = (active.width ?? 0) * (active.scaleX ?? 1);
|
|
15206
15214
|
const h = (active.height ?? 0) * (active.scaleY ?? 1);
|
|
15207
15215
|
const centerX = active.left ?? 0;
|
|
@@ -15223,7 +15231,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15223
15231
|
}
|
|
15224
15232
|
const activeObj = fabricCanvas.getActiveObject();
|
|
15225
15233
|
let activeObjects = fabricCanvas.getActiveObjects();
|
|
15226
|
-
const activeSelectionMoveStart = activeObj instanceof fabric__namespace.ActiveSelection && ((
|
|
15234
|
+
const activeSelectionMoveStart = activeObj instanceof fabric__namespace.ActiveSelection && ((_g = activeSelectionMoveStartRef.current) == null ? void 0 : _g.selection) === activeObj ? activeSelectionMoveStartRef.current : null;
|
|
15227
15235
|
const activeSelectionDelta = activeObj instanceof fabric__namespace.ActiveSelection && activeSelectionMoveStart ? (() => {
|
|
15228
15236
|
const rect = activeObj.getBoundingRect();
|
|
15229
15237
|
return {
|
|
@@ -15615,7 +15623,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15615
15623
|
const localScaleX = 1 / sx;
|
|
15616
15624
|
const localScaleY = 1 / sy;
|
|
15617
15625
|
obj.set({ scaleX: localScaleX, scaleY: localScaleY });
|
|
15618
|
-
const selectionMatrix = (
|
|
15626
|
+
const selectionMatrix = (_h = activeObj == null ? void 0 : activeObj.calcTransformMatrix) == null ? void 0 : _h.call(activeObj);
|
|
15619
15627
|
const localCenter = selectionMatrix ? fabric__namespace.util.transformPoint(preBakeCenter, fabric__namespace.util.invertTransform(selectionMatrix)) : preBakeCenter;
|
|
15620
15628
|
const localWidth = bakedW * localScaleX;
|
|
15621
15629
|
const localHeight = bakedH * localScaleY;
|
|
@@ -15740,7 +15748,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15740
15748
|
const localScaleX = 1 / sx;
|
|
15741
15749
|
const localScaleY = 1 / sy;
|
|
15742
15750
|
obj.set({ scaleX: localScaleX, scaleY: localScaleY });
|
|
15743
|
-
const selectionMatrix = (
|
|
15751
|
+
const selectionMatrix = (_i = activeObj == null ? void 0 : activeObj.calcTransformMatrix) == null ? void 0 : _i.call(activeObj);
|
|
15744
15752
|
const localCenter = selectionMatrix ? fabric__namespace.util.transformPoint(preBakeCenter, fabric__namespace.util.invertTransform(selectionMatrix)) : preBakeCenter;
|
|
15745
15753
|
const localWidth = bakedWidth * localScaleX;
|
|
15746
15754
|
const localHeight = (obj.height ?? intrinsicHeight) * localScaleY;
|
|
@@ -15948,7 +15956,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15948
15956
|
updateElement(objId, elementUpdate, { recordHistory: false, skipLayoutRecalc: true });
|
|
15949
15957
|
obj.setCoords();
|
|
15950
15958
|
}
|
|
15951
|
-
const pageChildrenForReflow = ((
|
|
15959
|
+
const pageChildrenForReflow = ((_j = useEditorStore.getState().canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _j.children) ?? [];
|
|
15952
15960
|
const stackGroupsToReflow = /* @__PURE__ */ new Set();
|
|
15953
15961
|
for (const id of modifiedIdsThisRound) {
|
|
15954
15962
|
const parent = findParentGroup(pageChildrenForReflow, id);
|
|
@@ -16027,7 +16035,7 @@ const PageCanvas = react.forwardRef(
|
|
|
16027
16035
|
}
|
|
16028
16036
|
fabricCanvas.setActiveObject(newSel);
|
|
16029
16037
|
try {
|
|
16030
|
-
(
|
|
16038
|
+
(_k = newSel.triggerLayout) == null ? void 0 : _k.call(newSel);
|
|
16031
16039
|
} catch {
|
|
16032
16040
|
}
|
|
16033
16041
|
try {
|
|
@@ -25137,9 +25145,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
25137
25145
|
}
|
|
25138
25146
|
return svgString;
|
|
25139
25147
|
}
|
|
25140
|
-
const resolvedPackageVersion = "0.5.
|
|
25148
|
+
const resolvedPackageVersion = "0.5.403";
|
|
25141
25149
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
25142
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
25150
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.403";
|
|
25143
25151
|
const roundParityValue = (value) => {
|
|
25144
25152
|
if (typeof value !== "number") return value;
|
|
25145
25153
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -25953,7 +25961,7 @@ class PixldocsRenderer {
|
|
|
25953
25961
|
await this.waitForCanvasScene(container, cloned, i);
|
|
25954
25962
|
}
|
|
25955
25963
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
25956
|
-
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
25964
|
+
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-BevFDNWQ.cjs"));
|
|
25957
25965
|
const prepared = preparePagesForExport(
|
|
25958
25966
|
cloned.pages,
|
|
25959
25967
|
canvasWidth,
|
|
@@ -28273,7 +28281,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
28273
28281
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
28274
28282
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
28275
28283
|
try {
|
|
28276
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
28284
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-BevFDNWQ.cjs"));
|
|
28277
28285
|
try {
|
|
28278
28286
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
28279
28287
|
} catch {
|
|
@@ -28670,4 +28678,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
|
|
|
28670
28678
|
exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
|
|
28671
28679
|
exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
|
|
28672
28680
|
exports.warmTemplateFromForm = warmTemplateFromForm;
|
|
28673
|
-
//# sourceMappingURL=index-
|
|
28681
|
+
//# sourceMappingURL=index-Bp9XxxF8.cjs.map
|